@pepperi-addons/ngx-lib 0.4.2-beta.137 → 0.4.2-beta.139

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 (577) hide show
  1. package/address/address.component.d.ts +30 -0
  2. package/address/address.module.d.ts +15 -0
  3. package/address/index.d.ts +5 -0
  4. package/address/public-api.d.ts +2 -0
  5. package/attachment/attachment.component.d.ts +94 -0
  6. package/attachment/attachment.module.d.ts +14 -0
  7. package/attachment/index.d.ts +5 -0
  8. package/attachment/public-api.d.ts +2 -0
  9. package/bread-crumbs/bread-crumbs.component.d.ts +27 -0
  10. package/bread-crumbs/bread-crumbs.model.d.ts +11 -0
  11. package/bread-crumbs/bread-crumbs.module.d.ts +15 -0
  12. package/bread-crumbs/index.d.ts +5 -0
  13. package/bread-crumbs/public-api.d.ts +3 -0
  14. package/carousel/carousel-item.directive.d.ts +12 -0
  15. package/carousel/carousel.component.d.ts +148 -0
  16. package/carousel/carousel.module.d.ts +8 -0
  17. package/carousel/index.d.ts +5 -0
  18. package/carousel/public-api.d.ts +3 -0
  19. package/checkbox/checkbox.component.d.ts +50 -0
  20. package/checkbox/checkbox.module.d.ts +19 -0
  21. package/checkbox/index.d.ts +5 -0
  22. package/checkbox/public-api.d.ts +2 -0
  23. package/color/color-picker.component.d.ts +57 -0
  24. package/color/color.component.d.ts +30 -0
  25. package/color/color.model.d.ts +1 -0
  26. package/color/color.module.d.ts +26 -0
  27. package/color/index.d.ts +5 -0
  28. package/color/public-api.d.ts +3 -0
  29. package/date/date.component.d.ts +70 -0
  30. package/date/date.model.d.ts +31 -0
  31. package/date/date.module.d.ts +23 -0
  32. package/date/index.d.ts +5 -0
  33. package/date/public-api.d.ts +2 -0
  34. package/draggable-items/draggable-item/draggable-item.component.d.ts +11 -0
  35. package/draggable-items/draggable-items.component.d.ts +36 -0
  36. package/draggable-items/draggable-items.model.d.ts +11 -0
  37. package/draggable-items/draggable-items.module.d.ts +18 -0
  38. package/draggable-items/index.d.ts +5 -0
  39. package/draggable-items/public-api.d.ts +4 -0
  40. package/esm2020/address/address.component.mjs +109 -0
  41. package/esm2020/address/address.module.mjs +54 -0
  42. package/esm2020/address/pepperi-addons-ngx-lib-address.mjs +5 -0
  43. package/esm2020/address/public-api.mjs +6 -0
  44. package/esm2020/attachment/attachment.component.mjs +240 -0
  45. package/esm2020/attachment/attachment.module.mjs +50 -0
  46. package/esm2020/attachment/pepperi-addons-ngx-lib-attachment.mjs +5 -0
  47. package/esm2020/attachment/public-api.mjs +6 -0
  48. package/esm2020/bread-crumbs/bread-crumbs.component.mjs +85 -0
  49. package/esm2020/bread-crumbs/bread-crumbs.model.mjs +7 -0
  50. package/esm2020/bread-crumbs/bread-crumbs.module.mjs +50 -0
  51. package/esm2020/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.mjs +5 -0
  52. package/esm2020/bread-crumbs/public-api.mjs +7 -0
  53. package/esm2020/carousel/carousel-item.directive.mjs +33 -0
  54. package/esm2020/carousel/carousel.component.mjs +745 -0
  55. package/esm2020/carousel/carousel.module.mjs +17 -0
  56. package/esm2020/carousel/pepperi-addons-ngx-lib-carousel.mjs +5 -0
  57. package/esm2020/carousel/public-api.mjs +8 -0
  58. package/esm2020/checkbox/checkbox.component.mjs +168 -0
  59. package/esm2020/checkbox/checkbox.module.mjs +63 -0
  60. package/esm2020/checkbox/pepperi-addons-ngx-lib-checkbox.mjs +5 -0
  61. package/esm2020/checkbox/public-api.mjs +6 -0
  62. package/esm2020/color/color-picker.component.mjs +224 -0
  63. package/esm2020/color/color.component.mjs +90 -0
  64. package/esm2020/color/color.model.mjs +2 -0
  65. package/esm2020/color/color.module.mjs +93 -0
  66. package/esm2020/color/pepperi-addons-ngx-lib-color.mjs +5 -0
  67. package/esm2020/color/public-api.mjs +7 -0
  68. package/esm2020/date/date.component.mjs +312 -0
  69. package/esm2020/date/date.model.mjs +54 -0
  70. package/esm2020/date/date.module.mjs +88 -0
  71. package/esm2020/date/pepperi-addons-ngx-lib-date.mjs +5 -0
  72. package/esm2020/date/public-api.mjs +6 -0
  73. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +27 -0
  74. package/esm2020/draggable-items/draggable-items.component.mjs +102 -0
  75. package/esm2020/draggable-items/draggable-items.model.mjs +2 -0
  76. package/esm2020/draggable-items/draggable-items.module.mjs +60 -0
  77. package/esm2020/draggable-items/pepperi-addons-ngx-lib-draggable-items.mjs +5 -0
  78. package/esm2020/draggable-items/public-api.mjs +8 -0
  79. package/esm2020/files-uploader/files-uploader.component.mjs +246 -0
  80. package/esm2020/files-uploader/files-uploader.module.mjs +79 -0
  81. package/esm2020/files-uploader/pepperi-addons-ngx-lib-files-uploader.mjs +5 -0
  82. package/esm2020/files-uploader/public-api.mjs +6 -0
  83. package/esm2020/form/field-generator.component.mjs +152 -0
  84. package/esm2020/form/form.component.mjs +1238 -0
  85. package/esm2020/form/form.model.mjs +2 -0
  86. package/esm2020/form/form.module.mjs +179 -0
  87. package/esm2020/form/indicators.component.mjs +23 -0
  88. package/esm2020/form/internal-button.component.mjs +184 -0
  89. package/esm2020/form/internal-carusel.component.mjs +117 -0
  90. package/esm2020/form/internal-carusel.service.mjs +32 -0
  91. package/esm2020/form/internal-field-generator.component.mjs +146 -0
  92. package/esm2020/form/internal-form.component.mjs +1216 -0
  93. package/esm2020/form/internal-list.component.mjs +513 -0
  94. package/esm2020/form/internal-menu.component.mjs +66 -0
  95. package/esm2020/form/internal-page.component.mjs +361 -0
  96. package/esm2020/form/internal-page.service.mjs +120 -0
  97. package/esm2020/form/pepperi-addons-ngx-lib-form.mjs +5 -0
  98. package/esm2020/form/public-api.mjs +7 -0
  99. package/esm2020/group-buttons/group-buttons.component.mjs +71 -0
  100. package/esm2020/group-buttons/group-buttons.module.mjs +59 -0
  101. package/esm2020/group-buttons/pepperi-addons-ngx-lib-group-buttons.mjs +5 -0
  102. package/esm2020/group-buttons/public-api.mjs +6 -0
  103. package/esm2020/image/image.component.mjs +263 -0
  104. package/esm2020/image/image.module.mjs +74 -0
  105. package/esm2020/image/image.service.mjs +50 -0
  106. package/esm2020/image/pepperi-addons-ngx-lib-image.mjs +5 -0
  107. package/esm2020/image/public-api.mjs +7 -0
  108. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +337 -0
  109. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +83 -0
  110. package/esm2020/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.mjs +5 -0
  111. package/esm2020/images-filmstrip/public-api.mjs +6 -0
  112. package/esm2020/link/link.component.mjs +300 -0
  113. package/esm2020/link/link.module.mjs +80 -0
  114. package/esm2020/link/link.pipes.mjs +18 -0
  115. package/esm2020/link/pepperi-addons-ngx-lib-link.mjs +5 -0
  116. package/esm2020/link/public-api.mjs +7 -0
  117. package/esm2020/list/list-actions.component.mjs +44 -0
  118. package/esm2020/list/list-carousel.component.mjs +107 -0
  119. package/esm2020/list/list-chooser.component.mjs +64 -0
  120. package/esm2020/list/list-pager.component.mjs +120 -0
  121. package/esm2020/list/list-sorting.component.mjs +61 -0
  122. package/esm2020/list/list-total.component.mjs +30 -0
  123. package/esm2020/list/list-views.component.mjs +85 -0
  124. package/esm2020/list/list.component.mjs +1303 -0
  125. package/esm2020/list/list.model.mjs +4 -0
  126. package/esm2020/list/list.module.mjs +144 -0
  127. package/esm2020/list/list.pipes.mjs +47 -0
  128. package/esm2020/list/pepperi-addons-ngx-lib-list.mjs +5 -0
  129. package/esm2020/list/public-api.mjs +15 -0
  130. package/esm2020/list/virtual-scroller.mjs +1080 -0
  131. package/esm2020/menu/menu-item.component.mjs +115 -0
  132. package/esm2020/menu/menu.component.mjs +213 -0
  133. package/esm2020/menu/menu.model.mjs +19 -0
  134. package/esm2020/menu/menu.module.mjs +59 -0
  135. package/esm2020/menu/pepperi-addons-ngx-lib-menu.mjs +5 -0
  136. package/esm2020/menu/public-api.mjs +7 -0
  137. package/esm2020/page-layout/page-layout.component.mjs +35 -0
  138. package/esm2020/page-layout/page-layout.module.mjs +34 -0
  139. package/esm2020/page-layout/pepperi-addons-ngx-lib-page-layout.mjs +5 -0
  140. package/esm2020/page-layout/public-api.mjs +6 -0
  141. package/esm2020/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.mjs +5 -0
  142. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +45 -0
  143. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +81 -0
  144. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +127 -0
  145. package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +2 -0
  146. package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +88 -0
  147. package/esm2020/profile-data-views-list/public-api.mjs +9 -0
  148. package/esm2020/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.mjs +5 -0
  149. package/esm2020/quantity-selector/public-api.mjs +6 -0
  150. package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +49 -0
  151. package/esm2020/quantity-selector/quantity-selector.component.mjs +574 -0
  152. package/esm2020/quantity-selector/quantity-selector.module.mjs +82 -0
  153. package/esm2020/quantity-selector/quantity-selector.pipes.mjs +23 -0
  154. package/esm2020/query-builder/common/model/field.mjs +2 -0
  155. package/esm2020/query-builder/common/model/filter.mjs +2 -0
  156. package/esm2020/query-builder/common/model/legacy.mjs +2 -0
  157. package/esm2020/query-builder/common/model/operator-unit.mjs +42 -0
  158. package/esm2020/query-builder/common/model/operator.mjs +276 -0
  159. package/esm2020/query-builder/common/model/structure.mjs +2 -0
  160. package/esm2020/query-builder/common/model/type-map.mjs +27 -0
  161. package/esm2020/query-builder/common/model/type.mjs +6 -0
  162. package/esm2020/query-builder/common/services/output-query.service.mjs +116 -0
  163. package/esm2020/query-builder/common/services/query-structure.service.mjs +249 -0
  164. package/esm2020/query-builder/common/services/type-convertor.service.mjs +42 -0
  165. package/esm2020/query-builder/pepperi-addons-ngx-lib-query-builder.mjs +5 -0
  166. package/esm2020/query-builder/public-api.mjs +9 -0
  167. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +125 -0
  168. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +71 -0
  169. package/esm2020/query-builder/query-builder.component.mjs +110 -0
  170. package/esm2020/query-builder/query-builder.module.mjs +70 -0
  171. package/esm2020/query-builder/query-builder.service.mjs +102 -0
  172. package/esm2020/remote-loader/addon-block-loader.component.mjs +102 -0
  173. package/esm2020/remote-loader/addon-block-loader.service.mjs +62 -0
  174. package/esm2020/remote-loader/pepperi-addons-ngx-lib-remote-loader.mjs +5 -0
  175. package/esm2020/remote-loader/public-api.mjs +11 -0
  176. package/esm2020/remote-loader/remote-loader-element.component.mjs +116 -0
  177. package/esm2020/remote-loader/remote-loader.component.mjs +115 -0
  178. package/esm2020/remote-loader/remote-loader.model.mjs +2 -0
  179. package/esm2020/remote-loader/remote-loader.module.mjs +69 -0
  180. package/esm2020/remote-loader/remote-loader.service.mjs +81 -0
  181. package/esm2020/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.mjs +5 -0
  182. package/esm2020/rich-html-textarea/public-api.mjs +6 -0
  183. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +250 -0
  184. package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +95 -0
  185. package/esm2020/search/pepperi-addons-ngx-lib-search.mjs +5 -0
  186. package/esm2020/search/public-api.mjs +7 -0
  187. package/esm2020/search/search.component.mjs +317 -0
  188. package/esm2020/search/search.model.mjs +2 -0
  189. package/esm2020/search/search.module.mjs +70 -0
  190. package/esm2020/select/pepperi-addons-ngx-lib-select.mjs +5 -0
  191. package/esm2020/select/public-api.mjs +6 -0
  192. package/esm2020/select/select.component.mjs +290 -0
  193. package/esm2020/select/select.module.mjs +70 -0
  194. package/esm2020/select-panel/pepperi-addons-ngx-lib-select-panel.mjs +5 -0
  195. package/esm2020/select-panel/public-api.mjs +7 -0
  196. package/esm2020/select-panel/select-panel.component.mjs +159 -0
  197. package/esm2020/select-panel/select-panel.model.mjs +2 -0
  198. package/esm2020/select-panel/select-panel.module.mjs +70 -0
  199. package/esm2020/separator/pepperi-addons-ngx-lib-separator.mjs +5 -0
  200. package/esm2020/separator/public-api.mjs +6 -0
  201. package/esm2020/separator/separator.component.mjs +63 -0
  202. package/esm2020/separator/separator.module.mjs +18 -0
  203. package/esm2020/side-bar/pepperi-addons-ngx-lib-side-bar.mjs +5 -0
  204. package/esm2020/side-bar/public-api.mjs +7 -0
  205. package/esm2020/side-bar/side-bar.component.mjs +122 -0
  206. package/esm2020/side-bar/side-bar.model.mjs +2 -0
  207. package/esm2020/side-bar/side-bar.module.mjs +55 -0
  208. package/esm2020/signature/pepperi-addons-ngx-lib-signature.mjs +5 -0
  209. package/esm2020/signature/public-api.mjs +7 -0
  210. package/esm2020/signature/signature-dialog.component.mjs +79 -0
  211. package/esm2020/signature/signature.component.mjs +282 -0
  212. package/esm2020/signature/signature.module.mjs +91 -0
  213. package/esm2020/size-detector/pepperi-addons-ngx-lib-size-detector.mjs +5 -0
  214. package/esm2020/size-detector/public-api.mjs +6 -0
  215. package/esm2020/size-detector/size-detector.component.mjs +92 -0
  216. package/esm2020/size-detector/size-detector.module.mjs +35 -0
  217. package/esm2020/skeleton-loader/pepperi-addons-ngx-lib-skeleton-loader.mjs +5 -0
  218. package/esm2020/skeleton-loader/public-api.mjs +6 -0
  219. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +44 -0
  220. package/esm2020/skeleton-loader/skeleton-loader.module.mjs +24 -0
  221. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +75 -0
  222. package/esm2020/smart-filters/common/filter-actions.component.mjs +29 -0
  223. package/esm2020/smart-filters/common/model/base-filter-component.mjs +296 -0
  224. package/esm2020/smart-filters/common/model/creator.mjs +76 -0
  225. package/esm2020/smart-filters/common/model/field.mjs +117 -0
  226. package/esm2020/smart-filters/common/model/filter.mjs +2 -0
  227. package/esm2020/smart-filters/common/model/operator.mjs +278 -0
  228. package/esm2020/smart-filters/common/model/type.mjs +2 -0
  229. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +182 -0
  230. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +200 -0
  231. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +136 -0
  232. package/esm2020/smart-filters/pepperi-addons-ngx-lib-smart-filters.mjs +5 -0
  233. package/esm2020/smart-filters/public-api.mjs +19 -0
  234. package/esm2020/smart-filters/smart-filters.component.mjs +141 -0
  235. package/esm2020/smart-filters/smart-filters.module.mjs +158 -0
  236. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +93 -0
  237. package/esm2020/snack-bar/default-snack-bar.component.mjs +29 -0
  238. package/esm2020/snack-bar/pepperi-addons-ngx-lib-snack-bar.mjs +5 -0
  239. package/esm2020/snack-bar/public-api.mjs +8 -0
  240. package/esm2020/snack-bar/snack-bar.component.mjs +26 -0
  241. package/esm2020/snack-bar/snack-bar.model.mjs +7 -0
  242. package/esm2020/snack-bar/snack-bar.module.mjs +63 -0
  243. package/esm2020/snack-bar/snack-bar.service.mjs +60 -0
  244. package/esm2020/textarea/pepperi-addons-ngx-lib-textarea.mjs +5 -0
  245. package/esm2020/textarea/public-api.mjs +6 -0
  246. package/esm2020/textarea/textarea.component.mjs +188 -0
  247. package/esm2020/textarea/textarea.module.mjs +82 -0
  248. package/esm2020/textbox/pepperi-addons-ngx-lib-textbox.mjs +5 -0
  249. package/esm2020/textbox/public-api.mjs +6 -0
  250. package/esm2020/textbox/textbox-validation.directive.mjs +93 -0
  251. package/esm2020/textbox/textbox.component.mjs +582 -0
  252. package/esm2020/textbox/textbox.module.mjs +72 -0
  253. package/esm2020/top-bar/pepperi-addons-ngx-lib-top-bar.mjs +5 -0
  254. package/esm2020/top-bar/public-api.mjs +7 -0
  255. package/esm2020/top-bar/top-bar.component.mjs +112 -0
  256. package/esm2020/top-bar/top-bar.model.mjs +2 -0
  257. package/esm2020/top-bar/top-bar.module.mjs +62 -0
  258. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +170 -0
  259. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -0
  260. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +297 -0
  261. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -0
  262. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +147 -0
  263. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -0
  264. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +804 -0
  265. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -0
  266. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +237 -0
  267. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -0
  268. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +404 -0
  269. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -0
  270. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +458 -0
  271. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -0
  272. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +192 -0
  273. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -0
  274. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +331 -0
  275. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
  276. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +4226 -0
  277. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -0
  278. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +136 -0
  279. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -0
  280. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +388 -0
  281. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -0
  282. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +425 -0
  283. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
  284. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +399 -0
  285. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -0
  286. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +3047 -0
  287. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -0
  288. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +399 -0
  289. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -0
  290. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +77 -0
  291. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -0
  292. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +337 -0
  293. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -0
  294. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +728 -0
  295. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -0
  296. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +1216 -0
  297. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -0
  298. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +555 -0
  299. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -0
  300. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +349 -0
  301. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -0
  302. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +393 -0
  303. package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -0
  304. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +237 -0
  305. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -0
  306. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +366 -0
  307. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -0
  308. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +89 -0
  309. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs.map +1 -0
  310. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +182 -0
  311. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -0
  312. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +455 -0
  313. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
  314. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +134 -0
  315. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -0
  316. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +78 -0
  317. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
  318. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +1715 -0
  319. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -0
  320. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +183 -0
  321. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -0
  322. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +277 -0
  323. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -0
  324. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +748 -0
  325. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -0
  326. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +180 -0
  327. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -0
  328. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +170 -0
  329. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -0
  330. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +297 -0
  331. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -0
  332. package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs +147 -0
  333. package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -0
  334. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +800 -0
  335. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -0
  336. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +237 -0
  337. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -0
  338. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +401 -0
  339. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -0
  340. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +454 -0
  341. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -0
  342. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +191 -0
  343. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -0
  344. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +328 -0
  345. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
  346. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +4225 -0
  347. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -0
  348. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +136 -0
  349. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -0
  350. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +386 -0
  351. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -0
  352. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +422 -0
  353. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
  354. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +399 -0
  355. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -0
  356. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +3035 -0
  357. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -0
  358. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +399 -0
  359. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -0
  360. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +77 -0
  361. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -0
  362. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +336 -0
  363. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -0
  364. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +726 -0
  365. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -0
  366. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +1202 -0
  367. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -0
  368. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +532 -0
  369. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -0
  370. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +349 -0
  371. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -0
  372. package/fesm2020/pepperi-addons-ngx-lib-search.mjs +392 -0
  373. package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -0
  374. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +236 -0
  375. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -0
  376. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +366 -0
  377. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -0
  378. package/fesm2020/pepperi-addons-ngx-lib-separator.mjs +89 -0
  379. package/fesm2020/pepperi-addons-ngx-lib-separator.mjs.map +1 -0
  380. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +182 -0
  381. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -0
  382. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +450 -0
  383. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
  384. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +134 -0
  385. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -0
  386. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +76 -0
  387. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
  388. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +1708 -0
  389. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -0
  390. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +180 -0
  391. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -0
  392. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +276 -0
  393. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -0
  394. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +748 -0
  395. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -0
  396. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +179 -0
  397. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -0
  398. package/files-uploader/files-uploader.component.d.ts +60 -0
  399. package/files-uploader/files-uploader.module.d.ts +21 -0
  400. package/files-uploader/index.d.ts +5 -0
  401. package/files-uploader/public-api.d.ts +2 -0
  402. package/form/field-generator.component.d.ts +37 -0
  403. package/form/form.component.d.ts +93 -0
  404. package/form/form.model.d.ts +20 -0
  405. package/form/form.module.d.ts +50 -0
  406. package/form/index.d.ts +5 -0
  407. package/form/indicators.component.d.ts +10 -0
  408. package/form/internal-button.component.d.ts +42 -0
  409. package/form/internal-carusel.component.d.ts +39 -0
  410. package/form/internal-carusel.service.d.ts +10 -0
  411. package/form/internal-field-generator.component.d.ts +33 -0
  412. package/form/internal-form.component.d.ts +89 -0
  413. package/form/internal-list.component.d.ts +95 -0
  414. package/form/internal-menu.component.d.ts +19 -0
  415. package/form/internal-page.component.d.ts +73 -0
  416. package/form/internal-page.service.d.ts +22 -0
  417. package/form/public-api.d.ts +3 -0
  418. package/group-buttons/group-buttons.component.d.ts +24 -0
  419. package/group-buttons/group-buttons.module.d.ts +18 -0
  420. package/group-buttons/index.d.ts +5 -0
  421. package/group-buttons/public-api.d.ts +2 -0
  422. package/image/image.component.d.ts +74 -0
  423. package/image/image.module.d.ts +20 -0
  424. package/image/image.service.d.ts +14 -0
  425. package/image/index.d.ts +5 -0
  426. package/image/public-api.d.ts +3 -0
  427. package/images-filmstrip/images-filmstrip.component.d.ts +87 -0
  428. package/images-filmstrip/images-filmstrip.module.d.ts +22 -0
  429. package/images-filmstrip/index.d.ts +5 -0
  430. package/images-filmstrip/public-api.d.ts +2 -0
  431. package/link/index.d.ts +5 -0
  432. package/link/link.component.d.ts +121 -0
  433. package/link/link.module.d.ts +22 -0
  434. package/link/link.pipes.d.ts +7 -0
  435. package/link/public-api.d.ts +3 -0
  436. package/list/index.d.ts +5 -0
  437. package/list/list-actions.component.d.ts +18 -0
  438. package/list/list-carousel.component.d.ts +40 -0
  439. package/list/list-chooser.component.d.ts +29 -0
  440. package/list/list-pager.component.d.ts +39 -0
  441. package/list/list-sorting.component.d.ts +30 -0
  442. package/list/list-total.component.d.ts +11 -0
  443. package/list/list-views.component.d.ts +35 -0
  444. package/list/list.component.d.ts +177 -0
  445. package/list/list.model.d.ts +32 -0
  446. package/list/list.module.d.ts +34 -0
  447. package/list/list.pipes.d.ts +16 -0
  448. package/list/public-api.d.ts +10 -0
  449. package/list/virtual-scroller.d.ts +183 -0
  450. package/menu/index.d.ts +5 -0
  451. package/menu/menu-item.component.d.ts +28 -0
  452. package/menu/menu.component.d.ts +48 -0
  453. package/menu/menu.model.d.ts +25 -0
  454. package/menu/menu.module.d.ts +18 -0
  455. package/menu/public-api.d.ts +3 -0
  456. package/package.json +1 -1
  457. package/page-layout/index.d.ts +5 -0
  458. package/page-layout/page-layout.component.d.ts +19 -0
  459. package/page-layout/page-layout.module.d.ts +10 -0
  460. package/page-layout/public-api.d.ts +2 -0
  461. package/profile-data-views-list/index.d.ts +5 -0
  462. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +18 -0
  463. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +25 -0
  464. package/profile-data-views-list/profile-data-views-list.component.d.ts +38 -0
  465. package/profile-data-views-list/profile-data-views-list.model.d.ts +26 -0
  466. package/profile-data-views-list/profile-data-views-list.module.d.ts +23 -0
  467. package/profile-data-views-list/public-api.d.ts +5 -0
  468. package/quantity-selector/index.d.ts +5 -0
  469. package/quantity-selector/public-api.d.ts +2 -0
  470. package/quantity-selector/quantity-selector-validation.directive.d.ts +17 -0
  471. package/quantity-selector/quantity-selector.component.d.ts +110 -0
  472. package/quantity-selector/quantity-selector.module.d.ts +23 -0
  473. package/quantity-selector/quantity-selector.pipes.d.ts +7 -0
  474. package/query-builder/common/model/field.d.ts +8 -0
  475. package/query-builder/common/model/filter.d.ts +6 -0
  476. package/query-builder/common/model/legacy.d.ts +31 -0
  477. package/query-builder/common/model/operator-unit.d.ts +13 -0
  478. package/query-builder/common/model/operator.d.ts +31 -0
  479. package/query-builder/common/model/structure.d.ts +4 -0
  480. package/query-builder/common/model/type-map.d.ts +12 -0
  481. package/query-builder/common/model/type.d.ts +4 -0
  482. package/query-builder/common/services/output-query.service.d.ts +47 -0
  483. package/query-builder/common/services/query-structure.service.d.ts +83 -0
  484. package/query-builder/common/services/type-convertor.service.d.ts +13 -0
  485. package/query-builder/index.d.ts +5 -0
  486. package/query-builder/public-api.d.ts +5 -0
  487. package/query-builder/query-builder-item/query-builder-item.component.d.ts +41 -0
  488. package/query-builder/query-builder-section/query-builder-section.component.d.ts +30 -0
  489. package/query-builder/query-builder.component.d.ts +39 -0
  490. package/query-builder/query-builder.module.d.ts +20 -0
  491. package/query-builder/query-builder.service.d.ts +30 -0
  492. package/remote-loader/addon-block-loader.component.d.ts +36 -0
  493. package/remote-loader/addon-block-loader.service.d.ts +15 -0
  494. package/remote-loader/index.d.ts +5 -0
  495. package/remote-loader/public-api.d.ts +7 -0
  496. package/remote-loader/remote-loader-element.component.d.ts +32 -0
  497. package/remote-loader/remote-loader.component.d.ts +25 -0
  498. package/remote-loader/remote-loader.model.d.ts +41 -0
  499. package/remote-loader/remote-loader.module.d.ts +15 -0
  500. package/remote-loader/remote-loader.service.d.ts +15 -0
  501. package/rich-html-textarea/index.d.ts +5 -0
  502. package/rich-html-textarea/public-api.d.ts +2 -0
  503. package/rich-html-textarea/rich-html-textarea.component.d.ts +80 -0
  504. package/rich-html-textarea/rich-html-textarea.module.d.ts +25 -0
  505. package/search/index.d.ts +5 -0
  506. package/search/public-api.d.ts +3 -0
  507. package/search/search.component.d.ts +65 -0
  508. package/search/search.model.d.ts +14 -0
  509. package/search/search.module.d.ts +20 -0
  510. package/select/index.d.ts +5 -0
  511. package/select/public-api.d.ts +2 -0
  512. package/select/select.component.d.ts +67 -0
  513. package/select/select.module.d.ts +20 -0
  514. package/select-panel/index.d.ts +5 -0
  515. package/select-panel/public-api.d.ts +3 -0
  516. package/select-panel/select-panel.component.d.ts +51 -0
  517. package/select-panel/select-panel.model.d.ts +5 -0
  518. package/select-panel/select-panel.module.d.ts +19 -0
  519. package/separator/index.d.ts +5 -0
  520. package/separator/public-api.d.ts +2 -0
  521. package/separator/separator.component.d.ts +22 -0
  522. package/separator/separator.module.d.ts +8 -0
  523. package/side-bar/index.d.ts +5 -0
  524. package/side-bar/public-api.d.ts +3 -0
  525. package/side-bar/side-bar.component.d.ts +42 -0
  526. package/side-bar/side-bar.model.d.ts +4 -0
  527. package/side-bar/side-bar.module.d.ts +16 -0
  528. package/signature/index.d.ts +5 -0
  529. package/signature/public-api.d.ts +3 -0
  530. package/signature/signature-dialog.component.d.ts +29 -0
  531. package/signature/signature.component.d.ts +59 -0
  532. package/signature/signature.module.d.ts +25 -0
  533. package/size-detector/index.d.ts +5 -0
  534. package/size-detector/public-api.d.ts +2 -0
  535. package/size-detector/size-detector.component.d.ts +29 -0
  536. package/size-detector/size-detector.module.d.ts +11 -0
  537. package/skeleton-loader/index.d.ts +5 -0
  538. package/skeleton-loader/public-api.d.ts +2 -0
  539. package/skeleton-loader/skeleton-loader.component.d.ts +20 -0
  540. package/skeleton-loader/skeleton-loader.module.d.ts +9 -0
  541. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +29 -0
  542. package/smart-filters/common/filter-actions.component.d.ts +12 -0
  543. package/smart-filters/common/model/base-filter-component.d.ts +74 -0
  544. package/smart-filters/common/model/creator.d.ts +6 -0
  545. package/smart-filters/common/model/field.d.ts +69 -0
  546. package/smart-filters/common/model/filter.d.ts +11 -0
  547. package/smart-filters/common/model/operator.d.ts +52 -0
  548. package/smart-filters/common/model/type.d.ts +4 -0
  549. package/smart-filters/date-filter/date-filter.component.d.ts +61 -0
  550. package/smart-filters/index.d.ts +5 -0
  551. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +57 -0
  552. package/smart-filters/number-filter/number-filter.component.d.ts +53 -0
  553. package/smart-filters/public-api.d.ts +14 -0
  554. package/smart-filters/smart-filters.component.d.ts +35 -0
  555. package/smart-filters/smart-filters.module.d.ts +37 -0
  556. package/smart-filters/text-filter/text-filter.component.d.ts +29 -0
  557. package/snack-bar/default-snack-bar.component.d.ts +13 -0
  558. package/snack-bar/index.d.ts +5 -0
  559. package/snack-bar/public-api.d.ts +4 -0
  560. package/snack-bar/snack-bar.component.d.ts +12 -0
  561. package/snack-bar/snack-bar.model.d.ts +8 -0
  562. package/snack-bar/snack-bar.module.d.ts +19 -0
  563. package/snack-bar/snack-bar.service.d.ts +24 -0
  564. package/textarea/index.d.ts +5 -0
  565. package/textarea/public-api.d.ts +2 -0
  566. package/textarea/textarea.component.d.ts +56 -0
  567. package/textarea/textarea.module.d.ts +23 -0
  568. package/textbox/index.d.ts +5 -0
  569. package/textbox/public-api.d.ts +2 -0
  570. package/textbox/textbox-validation.directive.d.ts +22 -0
  571. package/textbox/textbox.component.d.ts +157 -0
  572. package/textbox/textbox.module.d.ts +22 -0
  573. package/top-bar/index.d.ts +5 -0
  574. package/top-bar/public-api.d.ts +3 -0
  575. package/top-bar/top-bar.component.d.ts +39 -0
  576. package/top-bar/top-bar.model.d.ts +4 -0
  577. package/top-bar/top-bar.module.d.ts +18 -0
@@ -0,0 +1,246 @@
1
+ import { Component, Injectable, Input, Output, EventEmitter, ViewChild, ChangeDetectionStrategy, } from '@angular/core';
2
+ import { FileUploader } from 'ng2-file-upload';
3
+ import { DEFAULT_HORIZONTAL_ALIGNMENT, PepFieldBase, } from '@pepperi-addons/ngx-lib';
4
+ import { PepDialogData, } from '@pepperi-addons/ngx-lib/dialog';
5
+ import { pepIconNoImage2 } from '@pepperi-addons/ngx-lib/icon';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@pepperi-addons/ngx-lib/dialog";
8
+ import * as i2 from "@pepperi-addons/ngx-lib";
9
+ import * as i3 from "@ngx-translate/core";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@angular/forms";
12
+ import * as i6 from "@angular/material/button";
13
+ import * as i7 from "@angular/material/form-field";
14
+ import * as i8 from "@angular/material/input";
15
+ import * as i9 from "@angular/material/icon";
16
+ import * as i10 from "ng2-file-upload";
17
+ import * as i11 from "@pepperi-addons/ngx-lib/icon";
18
+ export class PepFilesUploaderComponent {
19
+ constructor(dialogService, customizationService, fileService, translate) {
20
+ this.dialogService = dialogService;
21
+ this.customizationService = customizationService;
22
+ this.fileService = fileService;
23
+ this.translate = translate;
24
+ this.key = '';
25
+ this.src = '';
26
+ this.label = '';
27
+ this.mandatory = false;
28
+ this.disabled = false;
29
+ this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
30
+ this._rowSpan = 1;
31
+ this.controlType = '';
32
+ this.sizeLimitMB = 5;
33
+ this.acceptedExtensions = 'bmp,jpg,jpeg,png,gif,ico,svg,html,css';
34
+ this.layoutType = 'form';
35
+ this.fieldHeight = '';
36
+ // To know if handle actions or just raise them as output
37
+ this.handleActions = true;
38
+ this.hint = '';
39
+ this.chooseFile = new EventEmitter(); // This event will fired only when handleActions Input is false
40
+ this.fileChange = new EventEmitter();
41
+ this.elementClick = new EventEmitter();
42
+ this.progress = 0;
43
+ // response: string;
44
+ this.intervalID = null;
45
+ this.uploader = new FileUploader({ removeAfterUpload: true });
46
+ this.uploader.onAfterAddingFile = (item) => {
47
+ if (this.fileInput?.nativeElement) {
48
+ this.fileInput.nativeElement.value = '';
49
+ }
50
+ const reader = new FileReader();
51
+ reader.onload = (event) => {
52
+ // fix for DI-19376 - when there is a dot on the file name (not include the extantion one)
53
+ //const fileNameArray = item._file.name.split('.');
54
+ const fileName = this.getFileName(item._file.name); //fileNameArray[0];
55
+ const fileExt = this.getFileExtension(item._file.name); //fileNameArray[1]; // item._file.name.split('.').pop();
56
+ const fileSize = item._file.size;
57
+ const target = event.target || event.srcElement;
58
+ const fileStr = target.result;
59
+ const errorMsg = this.isValidFile(fileStr, fileExt, this.acceptedExtensions, this.sizeLimitMB);
60
+ if (errorMsg === '') {
61
+ this.src = fileStr;
62
+ // this.setIntervalX(25, 75);
63
+ // this.setProgress(5);
64
+ this.fileChange.emit({
65
+ acceptedExtensions: this.acceptedExtensions,
66
+ fileStr,
67
+ fileName,
68
+ fileExt,
69
+ fileSize,
70
+ });
71
+ }
72
+ else {
73
+ const title = this.translate.instant('MESSAGES.TITLE_NOTICE');
74
+ const data = new PepDialogData({
75
+ title,
76
+ content: errorMsg,
77
+ });
78
+ this.dialogService.openDefaultDialog(data);
79
+ }
80
+ };
81
+ reader.readAsDataURL(item._file);
82
+ };
83
+ }
84
+ set rowSpan(value) {
85
+ this._rowSpan = value;
86
+ }
87
+ get rowSpan() {
88
+ return this._rowSpan;
89
+ }
90
+ getFileName(filename) {
91
+ // get file name
92
+ const fileName = filename.substring(0, filename.lastIndexOf('.'));
93
+ return fileName;
94
+ }
95
+ getFileExtension(filename) {
96
+ // get file extension
97
+ const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);
98
+ return extension;
99
+ }
100
+ setDefaultForm() {
101
+ const pepField = new PepFieldBase({
102
+ key: this.key,
103
+ value: this.src,
104
+ mandatory: this.mandatory,
105
+ disabled: this.disabled,
106
+ });
107
+ this.form = this.customizationService.getDefaultFromGroup(pepField);
108
+ }
109
+ ngOnInit() {
110
+ if (this.form === null) {
111
+ this.setDefaultForm();
112
+ }
113
+ /*this.uploader.onCompleteAll = () => {
114
+ this.fileInput.nativeElement.value = '';
115
+ }*/
116
+ }
117
+ isValidFile(fileStr, fileExtension, acceptedExtensions, sizeLimitMB = 5) {
118
+ let content = '';
119
+ // check the size and the extension
120
+ const sizeOK = this.fileService.isValidFileSize(fileStr, sizeLimitMB);
121
+ const extensionOK = this.fileService.isValidFileExtension(fileExtension, acceptedExtensions);
122
+ if (!extensionOK) {
123
+ content = this.translate.instant('MESSAGES.ERROR_FAILD_TO_LOAD_EXTENSION', {
124
+ fileExtension: "<label class='uppercase bold'>" +
125
+ fileExtension +
126
+ '</label>',
127
+ });
128
+ }
129
+ else if (!sizeOK) {
130
+ content = this.translate.instant('MESSAGES.ERROR_FAILD_TO_LOAD_SIZE', {
131
+ fileSize: "<label class='uppercase bold'>" +
132
+ sizeLimitMB.toString() +
133
+ '</label>',
134
+ });
135
+ }
136
+ return content;
137
+ }
138
+ // setIntervalX(delay, repetitions): void {
139
+ // let x = 0;
140
+ // this.intervalID = window.setInterval(() => {
141
+ // // this.setProgress(this.progress + 5);
142
+ // if (++x === repetitions || this.uploader.progress >= 100) {
143
+ // window.clearInterval(this.intervalID);
144
+ // }
145
+ // }, delay);
146
+ // }
147
+ errorHandler(event) {
148
+ event.target.src = this.fileService.getSvgAsImageSrc(pepIconNoImage2.data);
149
+ event.target.title = this.translate.instant('IMAGE.NO_IMAGE');
150
+ }
151
+ setProgress(progress) {
152
+ this.progress = progress;
153
+ this.uploader.progress = progress;
154
+ }
155
+ deleteFile() {
156
+ this.uploader.clearQueue();
157
+ window.clearInterval(this.intervalID);
158
+ this.setProgress(0);
159
+ const empltValue = '';
160
+ this.src = empltValue;
161
+ this.fileChange.emit(null);
162
+ }
163
+ onElementClicked(event) {
164
+ this.elementClick.emit({
165
+ key: this.key,
166
+ controlType: this.controlType,
167
+ eventWhich: event.which,
168
+ });
169
+ }
170
+ onClick_ChooseFile(event) {
171
+ if (this.handleActions) {
172
+ if (this.fileInput?.nativeElement) {
173
+ this.fileInput.nativeElement.click();
174
+ }
175
+ }
176
+ else {
177
+ this.chooseFile.emit();
178
+ }
179
+ }
180
+ onKeyPress_ChooseFile(event) {
181
+ if (this.handleActions) {
182
+ const e = event;
183
+ if ([13, 32].indexOf(e.which) !== -1) {
184
+ if (this.fileInput?.nativeElement) {
185
+ this.fileInput.nativeElement.click();
186
+ }
187
+ }
188
+ e.preventDefault();
189
+ }
190
+ else {
191
+ this.chooseFile.emit();
192
+ }
193
+ }
194
+ }
195
+ PepFilesUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFilesUploaderComponent, deps: [{ token: i1.PepDialogService }, { token: i2.PepCustomizationService }, { token: i2.PepFileService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
196
+ PepFilesUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepFilesUploaderComponent, selector: "pep-files-uploader", inputs: { key: "key", src: "src", label: "label", mandatory: "mandatory", disabled: "disabled", xAlignment: "xAlignment", rowSpan: "rowSpan", controlType: "controlType", sizeLimitMB: "sizeLimitMB", form: "form", acceptedExtensions: "acceptedExtensions", layoutType: "layoutType", fieldHeight: "fieldHeight", handleActions: "handleActions", hint: "hint" }, outputs: { chooseFile: "chooseFile", fileChange: "fileChange", elementClick: "elementClick" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "imagePreview", first: true, predicate: ["imagePreview"], descendants: true }], ngImport: i0, template: "<ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{\n 'one-row': rowSpan == 1,\n disable: disabled\n }\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteFile()\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"onElementClicked($event)\">\n <img *ngIf=\"controlType === 'image'\" #imagePreview [src]=\"src\" class=\"pep-file-preview-img\"\n [style.max-height]=\"fieldHeight\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <div *ngIf=\"controlType === 'attachment'\" class=\"ellipsis pep-file-message\">\n <a *ngIf=\"src != ''\" href=\"javascript:void(0)\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">{{ 'FILE.SEE_ORIGINAL' | translate }}</span>\n </a>\n </div>\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon *ngIf=\"controlType === 'attachment'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"controlType === 'image'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_file_upload_cloud\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\" *ngIf=\"progress == 0\">\n {{ hint.length > 0 ? hint : ((disabled ? (controlType === 'image' ? 'MESSAGES.INFO_MISSING_IMAGE' :\n 'MESSAGES.INFO_MISSING_FILE') : 'FILE.HINT') | translate) }}\n </span>\n <!-- <p *ngIf=\"progress != 0\" class=\"pull-left flip\"\n [ngClass]=\"{ 'pull-left flip': rowSpan == 1, image: controlType == 'image', attachment: controlType == 'attachment' }\">\n {{ 'FILE.UPLOADING_FILE' | translate }}\n </p> -->\n </div>\n <ng-container *ngIf=\"!disabled\">\n <input *ngIf=\"handleActions\" #fileInput id=\"pep-file-{{ key }}\" tabindex=\"-1\" type=\"file\" accept=\"acceptedExtensions\"\n ng2FileSelect [uploader]=\"uploader\" autocomplete=\"off\" />\n \n <button *ngIf=\"progress != 0\" mat-button class=\"pep-button icon-button weak md delete\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_processing\" [spin]=\"true\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [name]=\"key\" [formControlName]=\"key\" class=\"hidden-input\" type=\"text\"\n [value]=\"src\" (click)=\"onClick_ChooseFile($event)\" (keypress)=\"onKeyPress_ChooseFile($event)\"\n autocomplete=\"off\" />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>", styles: [".pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper{position:relative;border-radius:var(--pep-border-radius-md, .25rem);cursor:pointer;padding:1px .25rem}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file{border-radius:var(--pep-border-radius-md, .25rem);display:grid;justify-content:center;align-items:center;width:100%;max-width:100%;height:inherit;text-align:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message{display:grid;align-items:center;justify-items:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a{display:grid;align-items:center;justify-items:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span{width:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview{display:grid;align-items:center;justify-items:center;z-index:2}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img{object-fit:contain;max-height:100%!important;max-width:100%!important;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{height:calc(2.5rem + 2px);max-height:calc(2.5rem + 2px);width:2.5rem;max-width:2.5rem;position:absolute;z-index:9;top:0;right:0;border-radius:0 var(--pep-border-radius-md, .25rem) 0 var(--pep-border-radius-md, .25rem);padding:0;justify-content:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon{vertical-align:middle}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment{right:unset;left:0;border-radius:var(--pep-border-radius-md, .25rem) 0 var(--pep-border-radius-md, .25rem) 0}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input{position:absolute;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input{position:absolute;top:0;opacity:0;cursor:pointer;z-index:1;width:100%;height:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature{z-index:6}.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input{cursor:auto!important}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message{display:flex}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a{display:flex}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{border-radius:0 var(--pep-border-radius-md, .25rem) var(--pep-border-radius-md, .25rem) 0}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment{right:unset;left:.0625rem;border-radius:var(--pep-border-radius-md, .25rem) 0 0 var(--pep-border-radius-md, .25rem)}.pepperi-report-file,.pep-report-file{cursor:pointer;border-radius:var(--pep-border-radius-md, .25rem)}.pepperi-file-container,.pep-file-container{display:grid}.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex,.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex{padding:0!important}.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix,.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix{display:block!important;width:100%}:host{display:grid;height:inherit}\n", ".pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper{position:relative;border-radius:var(--pep-border-radius-md, .25rem);cursor:pointer;padding:1px .25rem}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file{border-radius:var(--pep-border-radius-md, .25rem);display:grid;justify-content:center;align-items:center;width:100%;max-width:100%;height:inherit;text-align:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message{display:grid;align-items:center;justify-items:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a{display:grid;align-items:center;justify-items:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span{width:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview{display:grid;align-items:center;justify-items:center;z-index:2}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img{object-fit:contain;max-height:100%!important;max-width:100%!important;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{height:calc(2.5rem + 2px);max-height:calc(2.5rem + 2px);width:2.5rem;max-width:2.5rem;position:absolute;z-index:9;top:0;right:0;border-radius:0 var(--pep-border-radius-md, .25rem) 0 var(--pep-border-radius-md, .25rem);padding:0;justify-content:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon{vertical-align:middle}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment{right:unset;left:0;border-radius:var(--pep-border-radius-md, .25rem) 0 var(--pep-border-radius-md, .25rem) 0}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input{position:absolute;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input{position:absolute;top:0;opacity:0;cursor:pointer;z-index:1;width:100%;height:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature{z-index:6}.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input{cursor:auto!important}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message{display:flex}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a{display:flex}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{border-radius:0 var(--pep-border-radius-md, .25rem) var(--pep-border-radius-md, .25rem) 0}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment{right:unset;left:.0625rem;border-radius:var(--pep-border-radius-md, .25rem) 0 0 var(--pep-border-radius-md, .25rem)}.pepperi-report-file,.pep-report-file{cursor:pointer;border-radius:var(--pep-border-radius-md, .25rem)}.pepperi-file-container,.pep-file-container{display:grid}.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex,.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex{padding:0!important}.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix,.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix{display:block!important;width:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7);position:relative}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;inset:0;border-radius:inherit;border:1px dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),calc(var(--pep-color-system-primary-l, 10%) + 30%))}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete{background-color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.5)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete:hover{background:hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%));box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a{color:hsl(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%))}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a .svg-icon{fill:hsl(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%))}.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pepperi-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pep-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pepperi-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pep-file-wrapper:after{border:unset}.pepperi-file-container .modal-dialog .modal-content,.pep-file-container .modal-dialog .modal-content{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i7.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.FileSelectDirective, selector: "[ng2FileSelect]", inputs: ["uploader"], outputs: ["onFileSelected"] }, { kind: "component", type: i11.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
197
+ PepFilesUploaderComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFilesUploaderComponent });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFilesUploaderComponent, decorators: [{
199
+ type: Component,
200
+ args: [{ selector: 'pep-files-uploader', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #pepTemplate>\n <mat-form-field [formGroup]=\"form\" appearance=\"outline\">\n <div class=\"pep-file-wrapper\">\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{\n 'one-row': rowSpan == 1,\n disable: disabled\n }\">\n <ng-container *ngIf=\"src != ''; then withImg; else noImg\"></ng-container>\n <ng-template #withImg>\n <button *ngIf=\"!disabled\" mat-button (click)=\"deleteFile()\"\n class=\"pep-button icon-button weak md delete\" tabindex=\"-1\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_bin\"></pep-icon>\n </mat-icon>\n </button>\n <div class=\"pep-file-preview\" (click)=\"onElementClicked($event)\">\n <img *ngIf=\"controlType === 'image'\" #imagePreview [src]=\"src\" class=\"pep-file-preview-img\"\n [style.max-height]=\"fieldHeight\" (error)=\"errorHandler($event)\" [alt]=\"label\"\n [ngClass]=\"['text-align-' + xAlignment]\" />\n <div *ngIf=\"controlType === 'attachment'\" class=\"ellipsis pep-file-message\">\n <a *ngIf=\"src != ''\" href=\"javascript:void(0)\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">{{ 'FILE.SEE_ORIGINAL' | translate }}</span>\n </a>\n </div>\n </div>\n </ng-template>\n <ng-template #noImg>\n <div class=\"ellipsis pep-file-message\">\n <mat-icon *ngIf=\"controlType === 'attachment'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_attach\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"controlType === 'image'\" class=\"pep-spacing-element\">\n <pep-icon name=\"system_file_upload_cloud\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\" *ngIf=\"progress == 0\">\n {{ hint.length > 0 ? hint : ((disabled ? (controlType === 'image' ? 'MESSAGES.INFO_MISSING_IMAGE' :\n 'MESSAGES.INFO_MISSING_FILE') : 'FILE.HINT') | translate) }}\n </span>\n <!-- <p *ngIf=\"progress != 0\" class=\"pull-left flip\"\n [ngClass]=\"{ 'pull-left flip': rowSpan == 1, image: controlType == 'image', attachment: controlType == 'attachment' }\">\n {{ 'FILE.UPLOADING_FILE' | translate }}\n </p> -->\n </div>\n <ng-container *ngIf=\"!disabled\">\n <input *ngIf=\"handleActions\" #fileInput id=\"pep-file-{{ key }}\" tabindex=\"-1\" type=\"file\" accept=\"acceptedExtensions\"\n ng2FileSelect [uploader]=\"uploader\" autocomplete=\"off\" />\n \n <button *ngIf=\"progress != 0\" mat-button class=\"pep-button icon-button weak md delete\"\n [ngClass]=\"{ 'right-alignment': xAlignment == 'right' }\">\n <mat-icon>\n <pep-icon name=\"system_processing\" [spin]=\"true\">\n </pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n </ng-template>\n </div>\n <input [id]=\"key\" matInput [name]=\"key\" [formControlName]=\"key\" class=\"hidden-input\" type=\"text\"\n [value]=\"src\" (click)=\"onClick_ChooseFile($event)\" (keypress)=\"onKeyPress_ChooseFile($event)\"\n autocomplete=\"off\" />\n </div>\n\n <mat-error><span class=\"body-xs\"\n [title]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && src.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n</ng-template>\n\n<ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'card'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>\n\n<ng-container *ngIf=\"layoutType === 'table'\">\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container> -->\n</ng-container>", styles: [".pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper{position:relative;border-radius:var(--pep-border-radius-md, .25rem);cursor:pointer;padding:1px .25rem}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file{border-radius:var(--pep-border-radius-md, .25rem);display:grid;justify-content:center;align-items:center;width:100%;max-width:100%;height:inherit;text-align:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message{display:grid;align-items:center;justify-items:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a{display:grid;align-items:center;justify-items:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span{width:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview{display:grid;align-items:center;justify-items:center;z-index:2}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img{object-fit:contain;max-height:100%!important;max-width:100%!important;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{height:calc(2.5rem + 2px);max-height:calc(2.5rem + 2px);width:2.5rem;max-width:2.5rem;position:absolute;z-index:9;top:0;right:0;border-radius:0 var(--pep-border-radius-md, .25rem) 0 var(--pep-border-radius-md, .25rem);padding:0;justify-content:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon{vertical-align:middle}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment{right:unset;left:0;border-radius:var(--pep-border-radius-md, .25rem) 0 var(--pep-border-radius-md, .25rem) 0}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input{position:absolute;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input{position:absolute;top:0;opacity:0;cursor:pointer;z-index:1;width:100%;height:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature{z-index:6}.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input{cursor:auto!important}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message{display:flex}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a{display:flex}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{border-radius:0 var(--pep-border-radius-md, .25rem) var(--pep-border-radius-md, .25rem) 0}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment{right:unset;left:.0625rem;border-radius:var(--pep-border-radius-md, .25rem) 0 0 var(--pep-border-radius-md, .25rem)}.pepperi-report-file,.pep-report-file{cursor:pointer;border-radius:var(--pep-border-radius-md, .25rem)}.pepperi-file-container,.pep-file-container{display:grid}.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex,.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex{padding:0!important}.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix,.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix{display:block!important;width:100%}:host{display:grid;height:inherit}\n", ".pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper{position:relative;border-radius:var(--pep-border-radius-md, .25rem);cursor:pointer;padding:1px .25rem}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file{border-radius:var(--pep-border-radius-md, .25rem);display:grid;justify-content:center;align-items:center;width:100%;max-width:100%;height:inherit;text-align:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message{display:grid;align-items:center;justify-items:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a{display:grid;align-items:center;justify-items:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message span,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message span{width:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview{display:grid;align-items:center;justify-items:center;z-index:2}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview img,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview img{object-fit:contain;max-height:100%!important;max-width:100%!important;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{height:calc(2.5rem + 2px);max-height:calc(2.5rem + 2px);width:2.5rem;max-width:2.5rem;position:absolute;z-index:9;top:0;right:0;border-radius:0 var(--pep-border-radius-md, .25rem) 0 var(--pep-border-radius-md, .25rem);padding:0;justify-content:center}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button mat-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button mat-icon{vertical-align:middle}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment{right:unset;left:0;border-radius:var(--pep-border-radius-md, .25rem) 0 var(--pep-border-radius-md, .25rem) 0}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file input{position:absolute;height:100%;width:100%;opacity:0;cursor:pointer;z-index:5}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input{position:absolute;top:0;opacity:0;cursor:pointer;z-index:1;width:100%;height:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .hidden-input.signature,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .hidden-input.signature{z-index:6}.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .hidden-input{cursor:auto!important}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message{display:flex}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-message a,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-message a{display:flex}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{border-radius:0 var(--pep-border-radius-md, .25rem) var(--pep-border-radius-md, .25rem) 0}.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pepperi-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.right-alignment,.pep-file-container.one-row ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.right-alignment{right:unset;left:.0625rem;border-radius:var(--pep-border-radius-md, .25rem) 0 0 var(--pep-border-radius-md, .25rem)}.pepperi-report-file,.pep-report-file{cursor:pointer;border-radius:var(--pep-border-radius-md, .25rem)}.pepperi-file-container,.pep-file-container{display:grid}.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex,.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex{padding:0!important}.pepperi-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix,.pep-file-container ::ng-deep .mat-form-field .mat-form-field-flex .mat-form-field-infix{display:block!important;width:100%}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7);position:relative}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;inset:0;border-radius:inherit;border:1px dashed hsl(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),calc(var(--pep-color-system-primary-l, 10%) + 30%))}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button{color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete{background-color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.5)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete .svg-icon{fill:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete:hover,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-button.delete:hover,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-button.delete:hover{background:hsl(var(--pep-color-system-caution-h, 360),var(--pep-color-system-caution-s, 100%),var(--pep-color-system-caution-l, 45%));box-shadow:var(--pep-shadow-xs-offset, 0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.16)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a{color:hsl(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%))}.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pepperi-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pepperi-file-wrapper .pep-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pepperi-file .pep-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pepperi-file-preview a .svg-icon,.pep-file-container ::ng-deep .mat-form-field .pep-file-wrapper .pep-file .pep-file-preview a .svg-icon{fill:hsl(var(--pep-color-text-link-h, 207),var(--pep-color-text-link-s, 76%),var(--pep-color-text-link-l, 37%))}.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pepperi-file-wrapper:after,.pepperi-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pep-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pepperi-file-wrapper:after,.pep-file-container ::ng-deep .mat-form-field.mat-form-field-disabled .pep-file-wrapper:after{border:unset}.pepperi-file-container .modal-dialog .modal-content,.pep-file-container .modal-dialog .modal-content{color:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.7)}\n"] }]
201
+ }, {
202
+ type: Injectable
203
+ }], ctorParameters: function () { return [{ type: i1.PepDialogService }, { type: i2.PepCustomizationService }, { type: i2.PepFileService }, { type: i3.TranslateService }]; }, propDecorators: { key: [{
204
+ type: Input
205
+ }], src: [{
206
+ type: Input
207
+ }], label: [{
208
+ type: Input
209
+ }], mandatory: [{
210
+ type: Input
211
+ }], disabled: [{
212
+ type: Input
213
+ }], xAlignment: [{
214
+ type: Input
215
+ }], rowSpan: [{
216
+ type: Input
217
+ }], controlType: [{
218
+ type: Input
219
+ }], sizeLimitMB: [{
220
+ type: Input
221
+ }], form: [{
222
+ type: Input
223
+ }], acceptedExtensions: [{
224
+ type: Input
225
+ }], layoutType: [{
226
+ type: Input
227
+ }], fieldHeight: [{
228
+ type: Input
229
+ }], handleActions: [{
230
+ type: Input
231
+ }], hint: [{
232
+ type: Input
233
+ }], chooseFile: [{
234
+ type: Output
235
+ }], fileChange: [{
236
+ type: Output
237
+ }], elementClick: [{
238
+ type: Output
239
+ }], fileInput: [{
240
+ type: ViewChild,
241
+ args: ['fileInput']
242
+ }], imagePreview: [{
243
+ type: ViewChild,
244
+ args: ['imagePreview']
245
+ }] } });
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9maWxlcy11cGxvYWRlci9maWxlcy11cGxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ZpbGVzLXVwbG9hZGVyL2ZpbGVzLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFFVCx1QkFBdUIsR0FFMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFLSCw0QkFBNEIsRUFFNUIsWUFBWSxHQUNmLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUVILGFBQWEsR0FDaEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFpQi9ELE1BQU0sT0FBTyx5QkFBeUI7SUFnRGxDLFlBQ1ksYUFBK0IsRUFDL0Isb0JBQTZDLEVBQzdDLFdBQTJCLEVBQzNCLFNBQTJCO1FBSDNCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzdDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQW5EOUIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBMkIsNEJBQTRCLENBQUM7UUFFbkUsYUFBUSxHQUFHLENBQUMsQ0FBQztRQVNaLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBR2hCLHVCQUFrQixHQUFHLHVDQUF1QyxDQUFDO1FBQzdELGVBQVUsR0FBa0IsTUFBTSxDQUFDO1FBRW5DLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRTFCLHlEQUF5RDtRQUNoRCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBR25CLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQyxDQUFDLCtEQUErRDtRQUcxSCxlQUFVLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRXhGLGlCQUFZLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFDO1FBTzFGLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixvQkFBb0I7UUFDcEIsZUFBVSxHQUFRLElBQUksQ0FBQztRQVFuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBWSxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzthQUMzQztZQUNELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFFaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUMzQiwwRkFBMEY7Z0JBQzFGLG1EQUFtRDtnQkFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CO2dCQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHdEQUF3RDtnQkFDaEgsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQztnQkFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFFOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FDN0IsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQ25CLENBQUM7Z0JBQ0YsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFO29CQUNqQixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztvQkFDbkIsNkJBQTZCO29CQUM3Qix1QkFBdUI7b0JBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO3dCQUNqQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO3dCQUMzQyxPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxRQUFRO3FCQUNYLENBQUMsQ0FBQztpQkFDTjtxQkFBTTtvQkFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDaEMsdUJBQXVCLENBQzFCLENBQUM7b0JBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxhQUFhLENBQUM7d0JBQzNCLEtBQUs7d0JBQ0wsT0FBTyxFQUFFLFFBQVE7cUJBQ3BCLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM5QztZQUNMLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3JDLENBQUMsQ0FBQztJQUNOLENBQUM7SUE5RkQsSUFDSSxPQUFPLENBQUMsS0FBSztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQTBGRCxXQUFXLENBQUMsUUFBUTtRQUNoQixnQkFBZ0I7UUFDaEIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFRO1FBQ3JCLHFCQUFxQjtRQUNyQixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRU8sY0FBYztRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQztZQUM5QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDZixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzFCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7UUFDRDs7V0FFRztJQUNQLENBQUM7SUFFRCxXQUFXLENBQ1AsT0FBTyxFQUNQLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsV0FBVyxHQUFHLENBQUM7UUFFZixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsbUNBQW1DO1FBQ25DLE1BQU0sTUFBTSxHQUFZLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdGLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDZCxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzVCLHdDQUF3QyxFQUN4QztnQkFDSSxhQUFhLEVBQ1QsZ0NBQWdDO29CQUNoQyxhQUFhO29CQUNiLFVBQVU7YUFDakIsQ0FDSixDQUFDO1NBQ0w7YUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDNUIsbUNBQW1DLEVBQ25DO2dCQUNJLFFBQVEsRUFDSixnQ0FBZ0M7b0JBQ2hDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7b0JBQ3RCLFVBQVU7YUFDakIsQ0FDSixDQUFDO1NBQ0w7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLGlCQUFpQjtJQUNqQixtREFBbUQ7SUFDbkQsa0RBQWtEO0lBQ2xELHNFQUFzRTtJQUN0RSxxREFBcUQ7SUFDckQsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixJQUFJO0lBRUosWUFBWSxDQUFDLEtBQUs7UUFDZCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUNoRCxlQUFlLENBQUMsSUFBSSxDQUN2QixDQUFDO1FBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQVE7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBCLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQztRQUV0QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLO1NBQzFCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLO1FBQ3BCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFO2dCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUN4QztTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEtBQXNCLENBQUM7WUFFakMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFO29CQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDeEM7YUFDSjtZQUNELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN0QjthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7O3NIQTVPUSx5QkFBeUI7MEdBQXpCLHlCQUF5Qixvc0JDOUN0QywybktBbUZlOzBIRHJDRix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs7a0JBRWxELFVBQVU7eU1BRUUsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUYsT0FBTztzQkFEVixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFHTixVQUFVO3NCQURULE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNO2dCQUdQLFlBQVk7c0JBRFgsTUFBTTtnQkFHaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgVmlld0NoaWxkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZpbGVVcGxvYWRlciB9IGZyb20gJ25nMi1maWxlLXVwbG9hZCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFBlcEZpbGVTZXJ2aWNlLFxuICAgIFBlcExheW91dFR5cGUsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIElQZXBGaWVsZENsaWNrRXZlbnQsXG4gICAgUGVwRmllbGRCYXNlLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQge1xuICAgIFBlcERpYWxvZ1NlcnZpY2UsXG4gICAgUGVwRGlhbG9nRGF0YSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcbmltcG9ydCB7IHBlcEljb25Ob0ltYWdlMiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQZXBGaWxlQ2hhbmdlRXZlbnQge1xuICAgIGFjY2VwdGVkRXh0ZW5zaW9ucz86IHN0cmluZztcbiAgICBmaWxlU3RyPzogc3RyaW5nO1xuICAgIGZpbGVOYW1lPzogc3RyaW5nO1xuICAgIGZpbGVFeHQ/OiBzdHJpbmc7XG4gICAgZmlsZVNpemU/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWZpbGVzLXVwbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGVzLXVwbG9hZGVyLmNvbXBvbmVudC5zY3NzJywgJy4vZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwRmlsZXNVcGxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkga2V5ID0gJyc7XG4gICAgQElucHV0KCkgc3JjID0gJyc7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSBtYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuXG4gICAgcHJpdmF0ZSBfcm93U3BhbiA9IDE7XG4gICAgQElucHV0KClcbiAgICBzZXQgcm93U3Bhbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yb3dTcGFuID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCByb3dTcGFuKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb3dTcGFuO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGNvbnRyb2xUeXBlID0gJyc7XG4gICAgQElucHV0KCkgc2l6ZUxpbWl0TUIgPSA1O1xuXG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpIGFjY2VwdGVkRXh0ZW5zaW9ucyA9ICdibXAsanBnLGpwZWcscG5nLGdpZixpY28sc3ZnLGh0bWwsY3NzJztcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuXG4gICAgQElucHV0KCkgZmllbGRIZWlnaHQgPSAnJztcbiAgICBcbiAgICAvLyBUbyBrbm93IGlmIGhhbmRsZSBhY3Rpb25zIG9yIGp1c3QgcmFpc2UgdGhlbSBhcyBvdXRwdXRcbiAgICBASW5wdXQoKSBoYW5kbGVBY3Rpb25zID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIGhpbnQgPSAnJztcblxuICAgIEBPdXRwdXQoKVxuICAgIGNob29zZUZpbGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTsgLy8gVGhpcyBldmVudCB3aWxsIGZpcmVkIG9ubHkgd2hlbiBoYW5kbGVBY3Rpb25zIElucHV0IGlzIGZhbHNlXG4gICAgXG4gICAgQE91dHB1dCgpXG4gICAgZmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBGaWxlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRmlsZUNoYW5nZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIGVsZW1lbnRDbGljazogRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBhbnk7XG4gICAgQFZpZXdDaGlsZCgnaW1hZ2VQcmV2aWV3JykgaW1hZ2VQcmV2aWV3OiBhbnk7XG5cbiAgICAvLyBtdWx0aXBsZSA9IGZhbHNlO1xuICAgIHVwbG9hZGVyOiBGaWxlVXBsb2FkZXI7XG4gICAgcHJvZ3Jlc3MgPSAwO1xuICAgIC8vIHJlc3BvbnNlOiBzdHJpbmc7XG4gICAgaW50ZXJ2YWxJRDogYW55ID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IFBlcERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy51cGxvYWRlciA9IG5ldyBGaWxlVXBsb2FkZXIoeyByZW1vdmVBZnRlclVwbG9hZDogdHJ1ZSB9KTtcblxuICAgICAgICB0aGlzLnVwbG9hZGVyLm9uQWZ0ZXJBZGRpbmdGaWxlID0gKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbGVJbnB1dD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGZpeCBmb3IgREktMTkzNzYgLSB3aGVuIHRoZXJlIGlzIGEgZG90IG9uIHRoZSBmaWxlIG5hbWUgKG5vdCBpbmNsdWRlIHRoZSBleHRhbnRpb24gb25lKVxuICAgICAgICAgICAgICAgIC8vY29uc3QgZmlsZU5hbWVBcnJheSA9IGl0ZW0uX2ZpbGUubmFtZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy5nZXRGaWxlTmFtZShpdGVtLl9maWxlLm5hbWUpOyAvL2ZpbGVOYW1lQXJyYXlbMF07XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZUV4dCA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihpdGVtLl9maWxlLm5hbWUpOyAvL2ZpbGVOYW1lQXJyYXlbMV07IC8vIGl0ZW0uX2ZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVTaXplID0gaXRlbS5fZmlsZS5zaXplO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVTdHIgPSB0YXJnZXQucmVzdWx0O1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JNc2cgPSB0aGlzLmlzVmFsaWRGaWxlKFxuICAgICAgICAgICAgICAgICAgICBmaWxlU3RyLFxuICAgICAgICAgICAgICAgICAgICBmaWxlRXh0LFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaXplTGltaXRNQlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yTXNnID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNyYyA9IGZpbGVTdHI7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuc2V0SW50ZXJ2YWxYKDI1LCA3NSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuc2V0UHJvZ3Jlc3MoNSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VwdGVkRXh0ZW5zaW9uczogdGhpcy5hY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlU3RyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlRXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZVNpemUsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgICdNRVNTQUdFUy5USVRMRV9OT1RJQ0UnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgUGVwRGlhbG9nRGF0YSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGVycm9yTXNnLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5EZWZhdWx0RGlhbG9nKGRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChpdGVtLl9maWxlKTtcblxuICAgICAgICAgICAgXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0RmlsZU5hbWUoZmlsZW5hbWUpe1xuICAgICAgICAvLyBnZXQgZmlsZSBuYW1lXG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZmlsZW5hbWUuc3Vic3RyaW5nKDAsZmlsZW5hbWUubGFzdEluZGV4T2YoJy4nKSk7XG4gICAgICAgIHJldHVybiBmaWxlTmFtZTtcbiAgICB9XG5cbiAgICBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVuYW1lKXtcbiAgICAgICAgLy8gZ2V0IGZpbGUgZXh0ZW5zaW9uXG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVuYW1lLnN1YnN0cmluZyhmaWxlbmFtZS5sYXN0SW5kZXhPZignLicpICsgMSwgZmlsZW5hbWUubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGV4dGVuc2lvbjtcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwRmllbGRCYXNlKHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zcmMsXG4gICAgICAgICAgICBtYW5kYXRvcnk6IHRoaXMubWFuZGF0b3J5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cbiAgICAgICAgLyp0aGlzLnVwbG9hZGVyLm9uQ29tcGxldGVBbGwgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH0qL1xuICAgIH1cblxuICAgIGlzVmFsaWRGaWxlKFxuICAgICAgICBmaWxlU3RyLFxuICAgICAgICBmaWxlRXh0ZW5zaW9uLFxuICAgICAgICBhY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgIHNpemVMaW1pdE1CID0gNVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGxldCBjb250ZW50ID0gJyc7XG4gICAgICAgIFxuICAgICAgICAvLyBjaGVjayB0aGUgc2l6ZSBhbmQgdGhlIGV4dGVuc2lvblxuICAgICAgICBjb25zdCBzaXplT0s6IGJvb2xlYW4gPSB0aGlzLmZpbGVTZXJ2aWNlLmlzVmFsaWRGaWxlU2l6ZShmaWxlU3RyLCBzaXplTGltaXRNQik7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbk9LID0gdGhpcy5maWxlU2VydmljZS5pc1ZhbGlkRmlsZUV4dGVuc2lvbihmaWxlRXh0ZW5zaW9uLCBhY2NlcHRlZEV4dGVuc2lvbnMpO1xuICAgICAgICAgICAgXG4gICAgICAgIGlmICghZXh0ZW5zaW9uT0spIHtcbiAgICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICdNRVNTQUdFUy5FUlJPUl9GQUlMRF9UT19MT0FEX0VYVEVOU0lPTicsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgXCI8bGFiZWwgY2xhc3M9J3VwcGVyY2FzZSBib2xkJz5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9uICtcbiAgICAgICAgICAgICAgICAgICAgICAgICc8L2xhYmVsPicsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICghc2l6ZU9LKSB7XG4gICAgICAgICAgICBjb250ZW50ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAnTUVTU0FHRVMuRVJST1JfRkFJTERfVE9fTE9BRF9TSVpFJyxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVTaXplOlxuICAgICAgICAgICAgICAgICAgICAgICAgXCI8bGFiZWwgY2xhc3M9J3VwcGVyY2FzZSBib2xkJz5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplTGltaXRNQi50b1N0cmluZygpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICc8L2xhYmVsPicsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBzZXRJbnRlcnZhbFgoZGVsYXksIHJlcGV0aXRpb25zKTogdm9pZCB7XG4gICAgLy8gICAgIGxldCB4ID0gMDtcbiAgICAvLyAgICAgdGhpcy5pbnRlcnZhbElEID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAvLyAgICAgICAgIC8vIHRoaXMuc2V0UHJvZ3Jlc3ModGhpcy5wcm9ncmVzcyArIDUpO1xuICAgIC8vICAgICAgICAgaWYgKCsreCA9PT0gcmVwZXRpdGlvbnMgfHwgdGhpcy51cGxvYWRlci5wcm9ncmVzcyA+PSAxMDApIHtcbiAgICAvLyAgICAgICAgICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSUQpO1xuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICB9LCBkZWxheSk7XG4gICAgLy8gfVxuXG4gICAgZXJyb3JIYW5kbGVyKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnRhcmdldC5zcmMgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFN2Z0FzSW1hZ2VTcmMoXG4gICAgICAgICAgICBwZXBJY29uTm9JbWFnZTIuZGF0YVxuICAgICAgICApO1xuICAgICAgICBldmVudC50YXJnZXQudGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdJTUFHRS5OT19JTUFHRScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UHJvZ3Jlc3MocHJvZ3Jlc3MpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9ncmVzcyA9IHByb2dyZXNzO1xuICAgICAgICB0aGlzLnVwbG9hZGVyLnByb2dyZXNzID0gcHJvZ3Jlc3M7XG4gICAgfVxuXG4gICAgZGVsZXRlRmlsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGxvYWRlci5jbGVhclF1ZXVlKCk7XG4gICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJRCk7XG4gICAgICAgIHRoaXMuc2V0UHJvZ3Jlc3MoMCk7XG5cbiAgICAgICAgY29uc3QgZW1wbHRWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnNyYyA9IGVtcGx0VmFsdWU7XG5cbiAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQobnVsbCk7XG4gICAgfVxuXG4gICAgb25FbGVtZW50Q2xpY2tlZChldmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNsaWNrX0Nob29zZUZpbGUoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFuZGxlQWN0aW9ucykge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsZUlucHV0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaG9vc2VGaWxlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5UHJlc3NfQ2hvb3NlRmlsZShldmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYW5kbGVBY3Rpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBlID0gZXZlbnQgYXMgS2V5Ym9hcmRFdmVudDtcblxuICAgICAgICAgICAgaWYgKFsxMywgMzJdLmluZGV4T2YoZS53aGljaCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlsZUlucHV0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNob29zZUZpbGUuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNwZXBUZW1wbGF0ZT5cbiAgICA8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1maWxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXAtZmlsZSBib2R5LXNtXCIgW3N0eWxlLmhlaWdodF09XCJmaWVsZEhlaWdodFwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ29uZS1yb3cnOiByb3dTcGFuID09IDEsXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGU6IGRpc2FibGVkXG4gICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzcmMgIT0gJyc7IHRoZW4gd2l0aEltZzsgZWxzZSBub0ltZ1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjd2l0aEltZz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlZFwiIG1hdC1idXR0b24gKGNsaWNrKT1cImRlbGV0ZUZpbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBlcC1idXR0b24gaWNvbi1idXR0b24gd2VhayBtZCBkZWxldGVcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3JpZ2h0LWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fYmluXCI+PC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVwLWZpbGUtcHJldmlld1wiIChjbGljayk9XCJvbkVsZW1lbnRDbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJjb250cm9sVHlwZSA9PT0gJ2ltYWdlJ1wiICNpbWFnZVByZXZpZXcgW3NyY109XCJzcmNcIiBjbGFzcz1cInBlcC1maWxlLXByZXZpZXctaW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUubWF4LWhlaWdodF09XCJmaWVsZEhlaWdodFwiIChlcnJvcik9XCJlcnJvckhhbmRsZXIoJGV2ZW50KVwiIFthbHRdPVwibGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlsndGV4dC1hbGlnbi0nICsgeEFsaWdubWVudF1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnYXR0YWNobWVudCdcIiBjbGFzcz1cImVsbGlwc2lzIHBlcC1maWxlLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAqbmdJZj1cInNyYyAhPSAnJ1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fYXR0YWNoXCI+PC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2R5LXNtIGVsbGlwc2lzXCI+e3sgJ0ZJTEUuU0VFX09SSUdJTkFMJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSW1nPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWxsaXBzaXMgcGVwLWZpbGUtbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdhdHRhY2htZW50J1wiIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2F0dGFjaFwiPjwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdpbWFnZSdcIiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9maWxlX3VwbG9hZF9jbG91ZFwiPjwvcGVwLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2R5LXNtIGVsbGlwc2lzXCIgKm5nSWY9XCJwcm9ncmVzcyA9PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaGludC5sZW5ndGggPiAwID8gaGludCA6ICgoZGlzYWJsZWQgPyAoY29udHJvbFR5cGUgPT09ICdpbWFnZScgPyAnTUVTU0FHRVMuSU5GT19NSVNTSU5HX0lNQUdFJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01FU1NBR0VTLklORk9fTUlTU0lOR19GSUxFJykgOiAnRklMRS5ISU5UJykgfCB0cmFuc2xhdGUpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxwICpuZ0lmPVwicHJvZ3Jlc3MgIT0gMFwiIGNsYXNzPVwicHVsbC1sZWZ0IGZsaXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3B1bGwtbGVmdCBmbGlwJzogcm93U3BhbiA9PSAxLCBpbWFnZTogY29udHJvbFR5cGUgPT0gJ2ltYWdlJywgYXR0YWNobWVudDogY29udHJvbFR5cGUgPT0gJ2F0dGFjaG1lbnQnIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnRklMRS5VUExPQURJTkdfRklMRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKm5nSWY9XCJoYW5kbGVBY3Rpb25zXCIgI2ZpbGVJbnB1dCBpZD1cInBlcC1maWxlLXt7IGtleSB9fVwiIHRhYmluZGV4PVwiLTFcIiB0eXBlPVwiZmlsZVwiIGFjY2VwdD1cImFjY2VwdGVkRXh0ZW5zaW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmcyRmlsZVNlbGVjdCBbdXBsb2FkZXJdPVwidXBsb2FkZXJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwicHJvZ3Jlc3MgIT0gMFwiIG1hdC1idXR0b24gY2xhc3M9XCJwZXAtYnV0dG9uIGljb24tYnV0dG9uIHdlYWsgbWQgZGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdyaWdodC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICdyaWdodCcgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fcHJvY2Vzc2luZ1wiIFtzcGluXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCBbaWRdPVwia2V5XCIgbWF0SW5wdXQgW25hbWVdPVwia2V5XCIgW2Zvcm1Db250cm9sTmFtZV09XCJrZXlcIiBjbGFzcz1cImhpZGRlbi1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwic3JjXCIgKGNsaWNrKT1cIm9uQ2xpY2tfQ2hvb3NlRmlsZSgkZXZlbnQpXCIgKGtleXByZXNzKT1cIm9uS2V5UHJlc3NfQ2hvb3NlRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bWF0LWVycm9yPjxzcGFuIGNsYXNzPVwiYm9keS14c1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIm1hbmRhdG9yeSAmJiBzcmMubGVuZ3RoID09IDAgPyAoJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZTogeyBmaWVsZDogbGFiZWwgfSkgOiAoJ01FU1NBR0VTLkVSUk9SX0lTX05PVF9WQUxJRCcgfCB0cmFuc2xhdGU6IHsgZmllbGQ6IGxhYmVsIH0pXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJUZXh0XT1cIm1hbmRhdG9yeSAmJiBzcmMubGVuZ3RoID09IDAgPyAoJ01FU1NBR0VTLkVSUk9SX0lTX1JFUVVJUkVEJyB8IHRyYW5zbGF0ZTogeyBmaWVsZDogbGFiZWwgfSkgOiAoJ01FU1NBR0VTLkVSUk9SX0lTX05PVF9WQUxJRCcgfCB0cmFuc2xhdGU6IHsgZmllbGQ6IGxhYmVsIH0pXCI+PC9zcGFuPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFR5cGUgPT09ICdmb3JtJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUeXBlID09PSAnY2FyZCdcIj5cbiAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwZXBUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPiAtLT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0VHlwZSA9PT0gJ3RhYmxlJ1wiPlxuICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+IC0tPlxuPC9uZy1jb250YWluZXI+Il19