@norwegian/core-components 5.18.1 → 5.18.3

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 (516) hide show
  1. package/esm2020/lib/components/accordion/accordion.component.mjs +148 -0
  2. package/esm2020/lib/components/accordion/accordion.module.mjs +20 -0
  3. package/esm2020/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.mjs +610 -0
  4. package/esm2020/lib/components/airport-select/airport-select.component.mjs +438 -0
  5. package/esm2020/lib/components/airport-select/airport-select.module.mjs +42 -0
  6. package/esm2020/lib/components/airport-select/services/airport-select-dropdown.service.mjs +35 -0
  7. package/esm2020/lib/components/airport-select/services/airport-select.service.mjs +38 -0
  8. package/esm2020/lib/components/autocomplete/autocomplete.component.mjs +287 -0
  9. package/esm2020/lib/components/autocomplete/autocomplete.module.mjs +43 -0
  10. package/esm2020/lib/components/backdrop/backdrop.component.mjs +56 -0
  11. package/esm2020/lib/components/backdrop/backdrop.module.mjs +24 -0
  12. package/esm2020/lib/components/box/box.component.mjs +68 -0
  13. package/esm2020/lib/components/box/box.module.mjs +19 -0
  14. package/esm2020/lib/components/button/button.component.mjs +167 -0
  15. package/esm2020/lib/components/button/button.module.mjs +20 -0
  16. package/esm2020/lib/components/checkbox/checkbox.component.mjs +148 -0
  17. package/esm2020/lib/components/checkbox/checkbox.module.mjs +20 -0
  18. package/esm2020/lib/components/chip/chip.component.mjs +53 -0
  19. package/esm2020/lib/components/chip/chip.module.mjs +24 -0
  20. package/esm2020/lib/components/container/container.component.mjs +50 -0
  21. package/esm2020/lib/components/container/container.module.mjs +19 -0
  22. package/esm2020/lib/components/continue/continue.component.mjs +194 -0
  23. package/esm2020/lib/components/continue/continue.module.mjs +34 -0
  24. package/esm2020/lib/components/cover/cover.component.mjs +75 -0
  25. package/esm2020/lib/components/cover/cover.module.mjs +21 -0
  26. package/esm2020/lib/components/datepicker/calendar/calendar.component.mjs +583 -0
  27. package/esm2020/lib/components/datepicker/datepicker.component.mjs +550 -0
  28. package/esm2020/lib/components/datepicker/datepicker.module.mjs +55 -0
  29. package/esm2020/lib/components/datepicker/services/calendar.service.mjs +213 -0
  30. package/esm2020/lib/components/datepicker-combo/datepicker-combo.component.mjs +355 -0
  31. package/esm2020/lib/components/datepicker-combo/datepicker-combo.module.mjs +31 -0
  32. package/esm2020/lib/components/divider/divider.component.mjs +61 -0
  33. package/esm2020/lib/components/divider/divider.module.mjs +20 -0
  34. package/esm2020/lib/components/dropdown/dropdown.component.mjs +169 -0
  35. package/esm2020/lib/components/dropdown/dropdown.module.mjs +32 -0
  36. package/esm2020/lib/components/filter/filter.component.mjs +1253 -0
  37. package/esm2020/lib/components/filter/filter.module.mjs +73 -0
  38. package/esm2020/lib/components/grid/col/col.component.mjs +49 -0
  39. package/esm2020/lib/components/grid/grid.component.mjs +72 -0
  40. package/esm2020/lib/components/grid/grid.module.mjs +20 -0
  41. package/esm2020/lib/components/icon/icon.component.mjs +44 -0
  42. package/esm2020/lib/components/icon/icon.module.mjs +24 -0
  43. package/esm2020/lib/components/icon-list/icon-list.component.mjs +50 -0
  44. package/esm2020/lib/components/icon-list/icon-list.module.mjs +20 -0
  45. package/esm2020/lib/components/info/info.component.mjs +106 -0
  46. package/esm2020/lib/components/info/info.module.mjs +36 -0
  47. package/esm2020/lib/components/input/input.component.mjs +179 -0
  48. package/esm2020/lib/components/input/input.module.mjs +21 -0
  49. package/esm2020/lib/components/journey/journey.component.mjs +126 -0
  50. package/esm2020/lib/components/journey/journey.module.mjs +28 -0
  51. package/esm2020/lib/components/journey-availability/journey-availability.component.mjs +126 -0
  52. package/esm2020/lib/components/journey-availability/journey-availability.module.mjs +39 -0
  53. package/esm2020/lib/components/journey-availability-list/journey-availability-list.component.mjs +185 -0
  54. package/{esm2015/lib/components/journey-availability-list/journey-availability-list.module.js → esm2020/lib/components/journey-availability-list/journey-availability-list.module.mjs} +27 -14
  55. package/esm2020/lib/components/journey-selection/journey-selection.component.mjs +112 -0
  56. package/esm2020/lib/components/journey-selection/journey-selection.module.mjs +35 -0
  57. package/esm2020/lib/components/journey-stopover/journey-stopover.component.mjs +125 -0
  58. package/esm2020/lib/components/journey-stopover/journey-stopover.module.mjs +28 -0
  59. package/esm2020/lib/components/list/list-item/list-item.component.mjs +52 -0
  60. package/esm2020/lib/components/list/list.component.mjs +78 -0
  61. package/esm2020/lib/components/list/list.module.mjs +20 -0
  62. package/esm2020/lib/components/modal/modal.component.mjs +141 -0
  63. package/esm2020/lib/components/modal/modal.module.mjs +38 -0
  64. package/esm2020/lib/components/number-field/number-field.component.mjs +135 -0
  65. package/esm2020/lib/components/number-field/number-field.module.mjs +39 -0
  66. package/esm2020/lib/components/page-footer/page-footer.component.mjs +54 -0
  67. package/esm2020/lib/components/page-footer/page-footer.module.mjs +21 -0
  68. package/esm2020/lib/components/page-header/hamburger/hamburger.component.mjs +22 -0
  69. package/esm2020/lib/components/page-header/page-header.component.mjs +142 -0
  70. package/esm2020/lib/components/page-header/page-header.module.mjs +23 -0
  71. package/esm2020/lib/components/page-header/search/search.component.mjs +49 -0
  72. package/{esm2015/lib/components/passenger-select/models/passengers.model.js → esm2020/lib/components/passenger-select/models/passengers.model.mjs} +1 -1
  73. package/esm2020/lib/components/passenger-select/passenger-select.component.mjs +225 -0
  74. package/esm2020/lib/components/passenger-select/passenger-select.module.mjs +28 -0
  75. package/esm2020/lib/components/phone-number/phone-number.component.mjs +148 -0
  76. package/esm2020/lib/components/phone-number/phone-number.module.mjs +44 -0
  77. package/esm2020/lib/components/premium-toggle/premium-toggle.component.mjs +69 -0
  78. package/esm2020/lib/components/premium-toggle/premium-toggle.module.mjs +28 -0
  79. package/esm2020/lib/components/radio/radio.component.mjs +98 -0
  80. package/esm2020/lib/components/radio/radio.module.mjs +20 -0
  81. package/esm2020/lib/components/select/optgroup/optgroup.component.mjs +29 -0
  82. package/esm2020/lib/components/select/option/option.component.mjs +26 -0
  83. package/esm2020/lib/components/select/select.component.mjs +354 -0
  84. package/esm2020/lib/components/select/select.module.mjs +30 -0
  85. package/esm2020/lib/components/simple-list/simple-list.component.mjs +48 -0
  86. package/esm2020/lib/components/simple-list/simple-list.module.mjs +19 -0
  87. package/esm2020/lib/components/slide-toggle/slide-toggle.component.mjs +111 -0
  88. package/esm2020/lib/components/slide-toggle/slide-toggle.module.mjs +31 -0
  89. package/esm2020/lib/components/slider/slider.component.mjs +501 -0
  90. package/esm2020/lib/components/slider/slider.module.mjs +28 -0
  91. package/esm2020/lib/components/sort/sort.component.mjs +93 -0
  92. package/esm2020/lib/components/sort/sort.module.mjs +36 -0
  93. package/esm2020/lib/components/spinner/spinner.component.mjs +112 -0
  94. package/esm2020/lib/components/spinner/spinner.module.mjs +19 -0
  95. package/esm2020/lib/components/subsidy-discount/subsidy-discount.component.mjs +110 -0
  96. package/esm2020/lib/components/subsidy-discount/subsidy-discount.module.mjs +36 -0
  97. package/esm2020/lib/components/suggestions/suggestions.component.mjs +43 -0
  98. package/esm2020/lib/components/suggestions/suggestions.module.mjs +28 -0
  99. package/esm2020/lib/components/tab-group/tab/tab.component.mjs +131 -0
  100. package/esm2020/lib/components/tab-group/tab-group.component.mjs +87 -0
  101. package/esm2020/lib/components/tab-group/tab-group.module.mjs +29 -0
  102. package/esm2020/lib/components/table/column/column.component.mjs +16 -0
  103. package/esm2020/lib/components/table/column-group/column-group.component.mjs +30 -0
  104. package/esm2020/lib/components/table/services/table.service.mjs +21 -0
  105. package/esm2020/lib/components/table/table-body/table-body.component.mjs +23 -0
  106. package/esm2020/lib/components/table/table-foot/table-foot.component.mjs +23 -0
  107. package/esm2020/lib/components/table/table-head/table-head.component.mjs +23 -0
  108. package/esm2020/lib/components/table/table-row/table-data/table-data.component.mjs +15 -0
  109. package/esm2020/lib/components/table/table-row/table-header/table-header.component.mjs +15 -0
  110. package/esm2020/lib/components/table/table-row/table-row.component.mjs +23 -0
  111. package/esm2020/lib/components/table/table.component.mjs +29 -0
  112. package/esm2020/lib/components/table/table.module.mjs +68 -0
  113. package/esm2020/lib/components/textarea/textarea.component.mjs +93 -0
  114. package/esm2020/lib/components/textarea/textarea.module.mjs +31 -0
  115. package/esm2020/lib/components/toggle/toggle.component.mjs +103 -0
  116. package/esm2020/lib/components/toggle/toggle.module.mjs +35 -0
  117. package/esm2020/lib/components/trip-summary/trip-summary.component.mjs +170 -0
  118. package/esm2020/lib/components/trip-summary/trip-summary.module.mjs +36 -0
  119. package/esm2020/lib/components/weather-icon/weather-icon.component.mjs +60 -0
  120. package/esm2020/lib/components/weather-icon/weather-icon.module.mjs +19 -0
  121. package/esm2020/lib/core/base/nas-component.base.mjs +47 -0
  122. package/esm2020/lib/core/directives/nas-class/nas-class.directive.mjs +80 -0
  123. package/esm2020/lib/core/directives/nas-class/nas-class.module.mjs +22 -0
  124. package/{esm2015/lib/core/extensions/html-element.extension.js → esm2020/lib/core/extensions/html-element.extension.mjs} +1 -1
  125. package/esm2020/lib/core/services/abandoned-basket/abandoned-basket.service.mjs +58 -0
  126. package/esm2020/lib/core/services/animate-helper/animate-helper.service.mjs +49 -0
  127. package/esm2020/lib/core/services/bem-helper/bem-helper.service.mjs +44 -0
  128. package/esm2020/lib/core/services/date/date-helper.service.mjs +199 -0
  129. package/esm2020/lib/core/services/device/device-helper.service.mjs +46 -0
  130. package/esm2020/lib/core/services/geolocation/geolocation.service.mjs +63 -0
  131. package/esm2020/lib/core/services/language/language-helper.service.mjs +129 -0
  132. package/esm2020/lib/core/services/sort/sort.service.mjs +22 -0
  133. package/esm2020/lib/core/services/viewport/viewport.service.mjs +32 -0
  134. package/esm2020/lib/services/get-position.service.mjs +23 -0
  135. package/esm2020/norwegian-core-components.mjs +5 -0
  136. package/fesm2015/norwegian-core-components.mjs +11843 -0
  137. package/fesm2015/norwegian-core-components.mjs.map +1 -0
  138. package/fesm2020/norwegian-core-components.mjs +11829 -0
  139. package/fesm2020/norwegian-core-components.mjs.map +1 -0
  140. package/index.d.ts +5 -0
  141. package/lib/components/accordion/accordion.component.d.ts +3 -0
  142. package/lib/components/accordion/accordion.module.d.ts +8 -0
  143. package/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.d.ts +5 -2
  144. package/lib/components/airport-select/airport-select.component.d.ts +5 -2
  145. package/lib/components/airport-select/airport-select.module.d.ts +11 -0
  146. package/lib/components/airport-select/services/airport-select-dropdown.service.d.ts +3 -0
  147. package/lib/components/airport-select/services/airport-select.service.d.ts +3 -0
  148. package/lib/components/autocomplete/autocomplete.component.d.ts +5 -2
  149. package/lib/components/autocomplete/autocomplete.module.d.ts +11 -0
  150. package/lib/components/backdrop/backdrop.component.d.ts +3 -0
  151. package/lib/components/backdrop/backdrop.module.d.ts +7 -0
  152. package/lib/components/box/box.component.d.ts +3 -4
  153. package/lib/components/box/box.module.d.ts +7 -0
  154. package/lib/components/button/button.component.d.ts +3 -0
  155. package/lib/components/button/button.module.d.ts +8 -0
  156. package/lib/components/checkbox/checkbox.component.d.ts +5 -2
  157. package/lib/components/checkbox/checkbox.module.d.ts +8 -0
  158. package/lib/components/chip/chip.component.d.ts +3 -0
  159. package/lib/components/chip/chip.module.d.ts +7 -0
  160. package/lib/components/container/container.component.d.ts +3 -4
  161. package/lib/components/container/container.module.d.ts +7 -0
  162. package/lib/components/continue/continue.component.d.ts +3 -0
  163. package/lib/components/continue/continue.module.d.ts +9 -0
  164. package/lib/components/cover/cover.component.d.ts +3 -0
  165. package/lib/components/cover/cover.module.d.ts +9 -0
  166. package/lib/components/datepicker/calendar/calendar.component.d.ts +5 -2
  167. package/lib/components/datepicker/datepicker.component.d.ts +5 -2
  168. package/lib/components/datepicker/datepicker.module.d.ts +14 -0
  169. package/lib/components/datepicker/services/calendar.service.d.ts +3 -0
  170. package/lib/components/datepicker-combo/datepicker-combo.component.d.ts +3 -0
  171. package/lib/components/datepicker-combo/datepicker-combo.module.d.ts +8 -0
  172. package/lib/components/divider/divider.component.d.ts +3 -4
  173. package/lib/components/divider/divider.module.d.ts +8 -0
  174. package/lib/components/dropdown/dropdown.component.d.ts +3 -0
  175. package/lib/components/dropdown/dropdown.module.d.ts +9 -0
  176. package/lib/components/filter/filter.component.d.ts +5 -2
  177. package/lib/components/filter/filter.module.d.ts +18 -0
  178. package/lib/components/grid/col/col.component.d.ts +4 -1
  179. package/lib/components/grid/grid.component.d.ts +3 -4
  180. package/lib/components/grid/grid.module.d.ts +8 -0
  181. package/lib/components/icon/icon.component.d.ts +3 -4
  182. package/lib/components/icon/icon.module.d.ts +7 -0
  183. package/lib/components/icon-list/icon-list.component.d.ts +3 -0
  184. package/lib/components/icon-list/icon-list.module.d.ts +8 -0
  185. package/lib/components/info/info.component.d.ts +3 -0
  186. package/lib/components/info/info.module.d.ts +10 -0
  187. package/lib/components/input/input.component.d.ts +5 -2
  188. package/lib/components/input/input.module.d.ts +9 -0
  189. package/lib/components/journey/journey.component.d.ts +3 -0
  190. package/lib/components/journey/journey.module.d.ts +8 -0
  191. package/lib/components/journey-availability/journey-availability.component.d.ts +3 -0
  192. package/lib/components/journey-availability/journey-availability.module.d.ts +10 -0
  193. package/lib/components/journey-availability-list/journey-availability-list.component.d.ts +3 -0
  194. package/lib/components/journey-availability-list/journey-availability-list.module.d.ts +10 -0
  195. package/lib/components/journey-selection/journey-selection.component.d.ts +3 -0
  196. package/lib/components/journey-selection/journey-selection.module.d.ts +9 -0
  197. package/lib/components/journey-stopover/journey-stopover.component.d.ts +3 -0
  198. package/lib/components/journey-stopover/journey-stopover.module.d.ts +8 -0
  199. package/lib/components/list/list-item/list-item.component.d.ts +3 -0
  200. package/lib/components/list/list.component.d.ts +4 -1
  201. package/lib/components/list/list.module.d.ts +8 -0
  202. package/lib/components/modal/modal.component.d.ts +3 -0
  203. package/lib/components/modal/modal.module.d.ts +10 -0
  204. package/lib/components/number-field/number-field.component.d.ts +5 -2
  205. package/lib/components/number-field/number-field.module.d.ts +10 -0
  206. package/lib/components/page-footer/page-footer.component.d.ts +3 -0
  207. package/lib/components/page-footer/page-footer.module.d.ts +9 -0
  208. package/lib/components/page-header/hamburger/hamburger.component.d.ts +3 -0
  209. package/lib/components/page-header/page-header.component.d.ts +3 -0
  210. package/lib/components/page-header/page-header.module.d.ts +11 -0
  211. package/lib/components/page-header/search/search.component.d.ts +3 -0
  212. package/lib/components/passenger-select/models/passengers.model.d.ts +2 -2
  213. package/lib/components/passenger-select/passenger-select.component.d.ts +5 -2
  214. package/lib/components/passenger-select/passenger-select.module.d.ts +8 -0
  215. package/lib/components/phone-number/phone-number.component.d.ts +5 -2
  216. package/lib/components/phone-number/phone-number.module.d.ts +11 -0
  217. package/lib/components/premium-toggle/premium-toggle.component.d.ts +3 -0
  218. package/lib/components/premium-toggle/premium-toggle.module.d.ts +8 -0
  219. package/lib/components/radio/radio.component.d.ts +5 -2
  220. package/lib/components/radio/radio.module.d.ts +8 -0
  221. package/lib/components/select/optgroup/optgroup.component.d.ts +3 -0
  222. package/lib/components/select/option/option.component.d.ts +3 -0
  223. package/lib/components/select/select.component.d.ts +6 -3
  224. package/lib/components/select/select.module.d.ts +10 -0
  225. package/lib/components/simple-list/simple-list.component.d.ts +4 -1
  226. package/lib/components/simple-list/simple-list.module.d.ts +7 -0
  227. package/lib/components/slide-toggle/slide-toggle.component.d.ts +5 -2
  228. package/lib/components/slide-toggle/slide-toggle.module.d.ts +8 -0
  229. package/lib/components/slider/slider.component.d.ts +5 -2
  230. package/lib/components/slider/slider.module.d.ts +8 -0
  231. package/lib/components/sort/sort.component.d.ts +3 -0
  232. package/lib/components/sort/sort.module.d.ts +10 -0
  233. package/lib/components/spinner/spinner.component.d.ts +3 -0
  234. package/lib/components/spinner/spinner.module.d.ts +7 -0
  235. package/lib/components/subsidy-discount/subsidy-discount.component.d.ts +3 -0
  236. package/lib/components/subsidy-discount/subsidy-discount.module.d.ts +10 -0
  237. package/lib/components/suggestions/suggestions.component.d.ts +3 -0
  238. package/lib/components/suggestions/suggestions.module.d.ts +8 -0
  239. package/lib/components/tab-group/tab/tab.component.d.ts +3 -0
  240. package/lib/components/tab-group/tab-group.component.d.ts +3 -0
  241. package/lib/components/tab-group/tab-group.module.d.ts +9 -0
  242. package/lib/components/table/column/column.component.d.ts +3 -0
  243. package/lib/components/table/column-group/column-group.component.d.ts +3 -0
  244. package/lib/components/table/services/table.service.d.ts +3 -0
  245. package/lib/components/table/table-body/table-body.component.d.ts +3 -0
  246. package/lib/components/table/table-foot/table-foot.component.d.ts +3 -0
  247. package/lib/components/table/table-head/table-head.component.d.ts +3 -0
  248. package/lib/components/table/table-row/table-data/table-data.component.d.ts +3 -0
  249. package/lib/components/table/table-row/table-header/table-header.component.d.ts +3 -0
  250. package/lib/components/table/table-row/table-row.component.d.ts +3 -0
  251. package/lib/components/table/table.component.d.ts +3 -0
  252. package/lib/components/table/table.module.d.ts +15 -0
  253. package/lib/components/textarea/textarea.component.d.ts +5 -2
  254. package/lib/components/textarea/textarea.module.d.ts +8 -0
  255. package/lib/components/toggle/toggle.component.d.ts +6 -3
  256. package/lib/components/toggle/toggle.module.d.ts +9 -0
  257. package/lib/components/trip-summary/trip-summary.component.d.ts +3 -0
  258. package/lib/components/trip-summary/trip-summary.module.d.ts +10 -0
  259. package/lib/components/weather-icon/weather-icon.component.d.ts +3 -0
  260. package/lib/components/weather-icon/weather-icon.module.d.ts +7 -0
  261. package/lib/core/directives/nas-class/nas-class.directive.d.ts +3 -0
  262. package/lib/core/directives/nas-class/nas-class.module.d.ts +6 -0
  263. package/lib/core/services/abandoned-basket/abandoned-basket.service.d.ts +3 -0
  264. package/lib/core/services/animate-helper/animate-helper.service.d.ts +3 -0
  265. package/lib/core/services/bem-helper/bem-helper.service.d.ts +3 -0
  266. package/lib/core/services/date/date-helper.service.d.ts +3 -0
  267. package/lib/core/services/device/device-helper.service.d.ts +3 -0
  268. package/lib/core/services/geolocation/geolocation.service.d.ts +3 -0
  269. package/lib/core/services/language/language-helper.service.d.ts +3 -0
  270. package/lib/core/services/sort/sort.service.d.ts +3 -0
  271. package/lib/core/services/viewport/viewport.service.d.ts +3 -0
  272. package/lib/services/get-position.service.d.ts +3 -0
  273. package/package.json +23 -11
  274. package/styles/2__generic/_fonts.scss +32 -61
  275. package/bundles/norwegian-core-components.umd.js +0 -12203
  276. package/bundles/norwegian-core-components.umd.js.map +0 -1
  277. package/esm2015/lib/components/accordion/accordion.component.js +0 -130
  278. package/esm2015/lib/components/accordion/accordion.module.js +0 -15
  279. package/esm2015/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.js +0 -583
  280. package/esm2015/lib/components/airport-select/airport-select.component.js +0 -400
  281. package/esm2015/lib/components/airport-select/airport-select.module.js +0 -27
  282. package/esm2015/lib/components/airport-select/services/airport-select-dropdown.service.js +0 -34
  283. package/esm2015/lib/components/airport-select/services/airport-select.service.js +0 -37
  284. package/esm2015/lib/components/autocomplete/autocomplete.component.js +0 -265
  285. package/esm2015/lib/components/autocomplete/autocomplete.module.js +0 -26
  286. package/esm2015/lib/components/backdrop/backdrop.component.js +0 -54
  287. package/esm2015/lib/components/backdrop/backdrop.module.js +0 -17
  288. package/esm2015/lib/components/box/box.component.js +0 -61
  289. package/esm2015/lib/components/box/box.module.js +0 -14
  290. package/esm2015/lib/components/button/button.component.js +0 -140
  291. package/esm2015/lib/components/button/button.module.js +0 -15
  292. package/esm2015/lib/components/checkbox/checkbox.component.js +0 -127
  293. package/esm2015/lib/components/checkbox/checkbox.module.js +0 -15
  294. package/esm2015/lib/components/chip/chip.component.js +0 -50
  295. package/esm2015/lib/components/chip/chip.module.js +0 -17
  296. package/esm2015/lib/components/container/container.component.js +0 -47
  297. package/esm2015/lib/components/container/container.module.js +0 -14
  298. package/esm2015/lib/components/continue/continue.component.js +0 -173
  299. package/esm2015/lib/components/continue/continue.module.js +0 -23
  300. package/esm2015/lib/components/cover/cover.component.js +0 -61
  301. package/esm2015/lib/components/cover/cover.module.js +0 -16
  302. package/esm2015/lib/components/datepicker/calendar/calendar.component.js +0 -560
  303. package/esm2015/lib/components/datepicker/datepicker.component.js +0 -515
  304. package/esm2015/lib/components/datepicker/datepicker.module.js +0 -34
  305. package/esm2015/lib/components/datepicker/services/calendar.service.js +0 -217
  306. package/esm2015/lib/components/datepicker-combo/datepicker-combo.component.js +0 -317
  307. package/esm2015/lib/components/datepicker-combo/datepicker-combo.module.js +0 -22
  308. package/esm2015/lib/components/divider/divider.component.js +0 -53
  309. package/esm2015/lib/components/divider/divider.module.js +0 -15
  310. package/esm2015/lib/components/dropdown/dropdown.component.js +0 -150
  311. package/esm2015/lib/components/dropdown/dropdown.module.js +0 -21
  312. package/esm2015/lib/components/filter/filter.component.js +0 -1122
  313. package/esm2015/lib/components/filter/filter.module.js +0 -44
  314. package/esm2015/lib/components/grid/col/col.component.js +0 -49
  315. package/esm2015/lib/components/grid/grid.component.js +0 -63
  316. package/esm2015/lib/components/grid/grid.module.js +0 -15
  317. package/esm2015/lib/components/icon/icon.component.js +0 -42
  318. package/esm2015/lib/components/icon/icon.module.js +0 -17
  319. package/esm2015/lib/components/icon-list/icon-list.component.js +0 -46
  320. package/esm2015/lib/components/icon-list/icon-list.module.js +0 -15
  321. package/esm2015/lib/components/info/info.component.js +0 -94
  322. package/esm2015/lib/components/info/info.module.js +0 -23
  323. package/esm2015/lib/components/input/input.component.js +0 -148
  324. package/esm2015/lib/components/input/input.module.js +0 -16
  325. package/esm2015/lib/components/journey/journey.component.js +0 -122
  326. package/esm2015/lib/components/journey/journey.module.js +0 -19
  327. package/esm2015/lib/components/journey-availability/journey-availability.component.js +0 -125
  328. package/esm2015/lib/components/journey-availability/journey-availability.module.js +0 -26
  329. package/esm2015/lib/components/journey-availability-list/journey-availability-list.component.js +0 -175
  330. package/esm2015/lib/components/journey-selection/journey-selection.component.js +0 -110
  331. package/esm2015/lib/components/journey-selection/journey-selection.module.js +0 -24
  332. package/esm2015/lib/components/journey-stopover/journey-stopover.component.js +0 -121
  333. package/esm2015/lib/components/journey-stopover/journey-stopover.module.js +0 -19
  334. package/esm2015/lib/components/list/list-item/list-item.component.js +0 -56
  335. package/esm2015/lib/components/list/list.component.js +0 -75
  336. package/esm2015/lib/components/list/list.module.js +0 -15
  337. package/esm2015/lib/components/modal/modal.component.js +0 -131
  338. package/esm2015/lib/components/modal/modal.module.js +0 -25
  339. package/esm2015/lib/components/number-field/number-field.component.js +0 -118
  340. package/esm2015/lib/components/number-field/number-field.module.js +0 -24
  341. package/esm2015/lib/components/page-footer/page-footer.component.js +0 -49
  342. package/esm2015/lib/components/page-footer/page-footer.module.js +0 -16
  343. package/esm2015/lib/components/page-header/hamburger/hamburger.component.js +0 -24
  344. package/esm2015/lib/components/page-header/page-header.component.js +0 -126
  345. package/esm2015/lib/components/page-header/page-header.module.js +0 -18
  346. package/esm2015/lib/components/page-header/search/search.component.js +0 -47
  347. package/esm2015/lib/components/passenger-select/passenger-select.component.js +0 -207
  348. package/esm2015/lib/components/passenger-select/passenger-select.module.js +0 -19
  349. package/esm2015/lib/components/phone-number/phone-number.component.js +0 -115
  350. package/esm2015/lib/components/phone-number/phone-number.module.js +0 -27
  351. package/esm2015/lib/components/premium-toggle/premium-toggle.component.js +0 -66
  352. package/esm2015/lib/components/premium-toggle/premium-toggle.module.js +0 -19
  353. package/esm2015/lib/components/radio/radio.component.js +0 -79
  354. package/esm2015/lib/components/radio/radio.module.js +0 -15
  355. package/esm2015/lib/components/select/optgroup/optgroup.component.js +0 -31
  356. package/esm2015/lib/components/select/option/option.component.js +0 -29
  357. package/esm2015/lib/components/select/select.component.js +0 -325
  358. package/esm2015/lib/components/select/select.module.js +0 -21
  359. package/esm2015/lib/components/simple-list/simple-list.component.js +0 -42
  360. package/esm2015/lib/components/simple-list/simple-list.module.js +0 -14
  361. package/esm2015/lib/components/slide-toggle/slide-toggle.component.js +0 -105
  362. package/esm2015/lib/components/slide-toggle/slide-toggle.module.js +0 -20
  363. package/esm2015/lib/components/slider/slider.component.js +0 -475
  364. package/esm2015/lib/components/slider/slider.module.js +0 -19
  365. package/esm2015/lib/components/sort/sort.component.js +0 -87
  366. package/esm2015/lib/components/sort/sort.module.js +0 -23
  367. package/esm2015/lib/components/spinner/spinner.component.js +0 -109
  368. package/esm2015/lib/components/spinner/spinner.module.js +0 -14
  369. package/esm2015/lib/components/subsidy-discount/subsidy-discount.component.js +0 -101
  370. package/esm2015/lib/components/subsidy-discount/subsidy-discount.module.js +0 -23
  371. package/esm2015/lib/components/suggestions/suggestions.component.js +0 -40
  372. package/esm2015/lib/components/suggestions/suggestions.module.js +0 -19
  373. package/esm2015/lib/components/tab-group/tab/tab.component.js +0 -123
  374. package/esm2015/lib/components/tab-group/tab-group.component.js +0 -85
  375. package/esm2015/lib/components/tab-group/tab-group.module.js +0 -20
  376. package/esm2015/lib/components/table/column/column.component.js +0 -17
  377. package/esm2015/lib/components/table/column-group/column-group.component.js +0 -34
  378. package/esm2015/lib/components/table/services/table.service.js +0 -20
  379. package/esm2015/lib/components/table/table-body/table-body.component.js +0 -27
  380. package/esm2015/lib/components/table/table-foot/table-foot.component.js +0 -27
  381. package/esm2015/lib/components/table/table-head/table-head.component.js +0 -27
  382. package/esm2015/lib/components/table/table-row/table-data/table-data.component.js +0 -15
  383. package/esm2015/lib/components/table/table-row/table-header/table-header.component.js +0 -15
  384. package/esm2015/lib/components/table/table-row/table-row.component.js +0 -27
  385. package/esm2015/lib/components/table/table.component.js +0 -29
  386. package/esm2015/lib/components/table/table.module.js +0 -45
  387. package/esm2015/lib/components/textarea/textarea.component.js +0 -73
  388. package/esm2015/lib/components/textarea/textarea.module.js +0 -20
  389. package/esm2015/lib/components/toggle/toggle.component.js +0 -86
  390. package/esm2015/lib/components/toggle/toggle.module.js +0 -22
  391. package/esm2015/lib/components/trip-summary/trip-summary.component.js +0 -152
  392. package/esm2015/lib/components/trip-summary/trip-summary.module.js +0 -23
  393. package/esm2015/lib/components/weather-icon/weather-icon.component.js +0 -56
  394. package/esm2015/lib/components/weather-icon/weather-icon.module.js +0 -14
  395. package/esm2015/lib/core/base/nas-component.base.js +0 -48
  396. package/esm2015/lib/core/directives/nas-class/nas-class.directive.js +0 -75
  397. package/esm2015/lib/core/directives/nas-class/nas-class.module.js +0 -17
  398. package/esm2015/lib/core/services/abandoned-basket/abandoned-basket.service.js +0 -55
  399. package/esm2015/lib/core/services/animate-helper/animate-helper.service.js +0 -47
  400. package/esm2015/lib/core/services/bem-helper/bem-helper.service.js +0 -41
  401. package/esm2015/lib/core/services/date/date-helper.service.js +0 -196
  402. package/esm2015/lib/core/services/device/device-helper.service.js +0 -43
  403. package/esm2015/lib/core/services/geolocation/geolocation.service.js +0 -60
  404. package/esm2015/lib/core/services/language/language-helper.service.js +0 -162
  405. package/esm2015/lib/core/services/sort/sort.service.js +0 -19
  406. package/esm2015/lib/core/services/viewport/viewport.service.js +0 -29
  407. package/esm2015/lib/services/get-position.service.js +0 -21
  408. package/esm2015/norwegian-core-components.js +0 -12
  409. package/fesm2015/norwegian-core-components.js +0 -10860
  410. package/fesm2015/norwegian-core-components.js.map +0 -1
  411. package/norwegian-core-components.d.ts +0 -11
  412. package/norwegian-core-components.metadata.json +0 -1
  413. /package/{esm2015/lib/components/accordion/index.js → esm2020/lib/components/accordion/index.mjs} +0 -0
  414. /package/{esm2015/lib/components/airport-select/index.js → esm2020/lib/components/airport-select/index.mjs} +0 -0
  415. /package/{esm2015/lib/components/airport-select/models/airport.model.js → esm2020/lib/components/airport-select/models/airport.model.mjs} +0 -0
  416. /package/{esm2015/lib/components/airport-select/models/results-labels.model.js → esm2020/lib/components/airport-select/models/results-labels.model.mjs} +0 -0
  417. /package/{esm2015/lib/components/autocomplete/index.js → esm2020/lib/components/autocomplete/index.mjs} +0 -0
  418. /package/{esm2015/lib/components/autocomplete/models/autocomplete.model.js → esm2020/lib/components/autocomplete/models/autocomplete.model.mjs} +0 -0
  419. /package/{esm2015/lib/components/backdrop/index.js → esm2020/lib/components/backdrop/index.mjs} +0 -0
  420. /package/{esm2015/lib/components/box/index.js → esm2020/lib/components/box/index.mjs} +0 -0
  421. /package/{esm2015/lib/components/button/index.js → esm2020/lib/components/button/index.mjs} +0 -0
  422. /package/{esm2015/lib/components/checkbox/index.js → esm2020/lib/components/checkbox/index.mjs} +0 -0
  423. /package/{esm2015/lib/components/chip/index.js → esm2020/lib/components/chip/index.mjs} +0 -0
  424. /package/{esm2015/lib/components/container/index.js → esm2020/lib/components/container/index.mjs} +0 -0
  425. /package/{esm2015/lib/components/continue/index.js → esm2020/lib/components/continue/index.mjs} +0 -0
  426. /package/{esm2015/lib/components/cover/index.js → esm2020/lib/components/cover/index.mjs} +0 -0
  427. /package/{esm2015/lib/components/datepicker/calendar/calendar-date.model.js → esm2020/lib/components/datepicker/calendar/calendar-date.model.mjs} +0 -0
  428. /package/{esm2015/lib/components/datepicker/calendar/enums/week-start.enum.js → esm2020/lib/components/datepicker/calendar/enums/week-start.enum.mjs} +0 -0
  429. /package/{esm2015/lib/components/datepicker/calendar/models/day.model.js → esm2020/lib/components/datepicker/calendar/models/day.model.mjs} +0 -0
  430. /package/{esm2015/lib/components/datepicker/calendar/models/select-option.model.js → esm2020/lib/components/datepicker/calendar/models/select-option.model.mjs} +0 -0
  431. /package/{esm2015/lib/components/datepicker/calendar/models/week.model.js → esm2020/lib/components/datepicker/calendar/models/week.model.mjs} +0 -0
  432. /package/{esm2015/lib/components/datepicker/index.js → esm2020/lib/components/datepicker/index.mjs} +0 -0
  433. /package/{esm2015/lib/components/datepicker-combo/index.js → esm2020/lib/components/datepicker-combo/index.mjs} +0 -0
  434. /package/{esm2015/lib/components/divider/index.js → esm2020/lib/components/divider/index.mjs} +0 -0
  435. /package/{esm2015/lib/components/dropdown/index.js → esm2020/lib/components/dropdown/index.mjs} +0 -0
  436. /package/{esm2015/lib/components/filter/enums/trip-type.enum.js → esm2020/lib/components/filter/enums/trip-type.enum.mjs} +0 -0
  437. /package/{esm2015/lib/components/filter/index.js → esm2020/lib/components/filter/index.mjs} +0 -0
  438. /package/{esm2015/lib/components/grid/index.js → esm2020/lib/components/grid/index.mjs} +0 -0
  439. /package/{esm2015/lib/components/icon/index.js → esm2020/lib/components/icon/index.mjs} +0 -0
  440. /package/{esm2015/lib/components/icon-list/icon-list.model.js → esm2020/lib/components/icon-list/icon-list.model.mjs} +0 -0
  441. /package/{esm2015/lib/components/icon-list/index.js → esm2020/lib/components/icon-list/index.mjs} +0 -0
  442. /package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  443. /package/{esm2015/lib/components/info/index.js → esm2020/lib/components/info/index.mjs} +0 -0
  444. /package/{esm2015/lib/components/info/models/info.model.js → esm2020/lib/components/info/models/info.model.mjs} +0 -0
  445. /package/{esm2015/lib/components/input/index.js → esm2020/lib/components/input/index.mjs} +0 -0
  446. /package/{esm2015/lib/components/journey/index.js → esm2020/lib/components/journey/index.mjs} +0 -0
  447. /package/{esm2015/lib/components/journey/models/journey-flight.model.js → esm2020/lib/components/journey/models/journey-flight.model.mjs} +0 -0
  448. /package/{esm2015/lib/components/journey/models/journey.model.js → esm2020/lib/components/journey/models/journey.model.mjs} +0 -0
  449. /package/{esm2015/lib/components/journey-availability/index.js → esm2020/lib/components/journey-availability/index.mjs} +0 -0
  450. /package/{esm2015/lib/components/journey-availability-list/enums/availability-sort-option.enum.js → esm2020/lib/components/journey-availability-list/enums/availability-sort-option.enum.mjs} +0 -0
  451. /package/{esm2015/lib/components/journey-availability-list/index.js → esm2020/lib/components/journey-availability-list/index.mjs} +0 -0
  452. /package/{esm2015/lib/components/journey-selection/index.js → esm2020/lib/components/journey-selection/index.mjs} +0 -0
  453. /package/{esm2015/lib/components/journey-selection/models/journey-selection-collapsed.model.js → esm2020/lib/components/journey-selection/models/journey-selection-collapsed.model.mjs} +0 -0
  454. /package/{esm2015/lib/components/journey-selection/models/journey-selection-common.model.js → esm2020/lib/components/journey-selection/models/journey-selection-common.model.mjs} +0 -0
  455. /package/{esm2015/lib/components/journey-selection/models/journey-selection-expanded.model.js → esm2020/lib/components/journey-selection/models/journey-selection-expanded.model.mjs} +0 -0
  456. /package/{esm2015/lib/components/journey-selection/models/journey-selection.model.js → esm2020/lib/components/journey-selection/models/journey-selection.model.mjs} +0 -0
  457. /package/{esm2015/lib/components/journey-stopover/index.js → esm2020/lib/components/journey-stopover/index.mjs} +0 -0
  458. /package/{esm2015/lib/components/journey-stopover/models/stopover-time.model.js → esm2020/lib/components/journey-stopover/models/stopover-time.model.mjs} +0 -0
  459. /package/{esm2015/lib/components/list/index.js → esm2020/lib/components/list/index.mjs} +0 -0
  460. /package/{esm2015/lib/components/modal/index.js → esm2020/lib/components/modal/index.mjs} +0 -0
  461. /package/{esm2015/lib/components/number-field/index.js → esm2020/lib/components/number-field/index.mjs} +0 -0
  462. /package/{esm2015/lib/components/page-footer/index.js → esm2020/lib/components/page-footer/index.mjs} +0 -0
  463. /package/{esm2015/lib/components/page-header/index.js → esm2020/lib/components/page-header/index.mjs} +0 -0
  464. /package/{esm2015/lib/components/passenger-select/enums/passenger-type.enum.js → esm2020/lib/components/passenger-select/enums/passenger-type.enum.mjs} +0 -0
  465. /package/{esm2015/lib/components/passenger-select/index.js → esm2020/lib/components/passenger-select/index.mjs} +0 -0
  466. /package/{esm2015/lib/components/phone-number/index.js → esm2020/lib/components/phone-number/index.mjs} +0 -0
  467. /package/{esm2015/lib/components/premium-toggle/index.js → esm2020/lib/components/premium-toggle/index.mjs} +0 -0
  468. /package/{esm2015/lib/components/radio/index.js → esm2020/lib/components/radio/index.mjs} +0 -0
  469. /package/{esm2015/lib/components/select/index.js → esm2020/lib/components/select/index.mjs} +0 -0
  470. /package/{esm2015/lib/components/select/models/select-option.model.js → esm2020/lib/components/select/models/select-option.model.mjs} +0 -0
  471. /package/{esm2015/lib/components/simple-list/index.js → esm2020/lib/components/simple-list/index.mjs} +0 -0
  472. /package/{esm2015/lib/components/slide-toggle/index.js → esm2020/lib/components/slide-toggle/index.mjs} +0 -0
  473. /package/{esm2015/lib/components/slider/index.js → esm2020/lib/components/slider/index.mjs} +0 -0
  474. /package/{esm2015/lib/components/sort/index.js → esm2020/lib/components/sort/index.mjs} +0 -0
  475. /package/{esm2015/lib/components/spinner/index.js → esm2020/lib/components/spinner/index.mjs} +0 -0
  476. /package/{esm2015/lib/components/subsidy-discount/index.js → esm2020/lib/components/subsidy-discount/index.mjs} +0 -0
  477. /package/{esm2015/lib/components/subsidy-discount/models/subsidy-discount.model.js → esm2020/lib/components/subsidy-discount/models/subsidy-discount.model.mjs} +0 -0
  478. /package/{esm2015/lib/components/suggestions/index.js → esm2020/lib/components/suggestions/index.mjs} +0 -0
  479. /package/{esm2015/lib/components/tab-group/index.js → esm2020/lib/components/tab-group/index.mjs} +0 -0
  480. /package/{esm2015/lib/components/table/index.js → esm2020/lib/components/table/index.mjs} +0 -0
  481. /package/{esm2015/lib/components/textarea/index.js → esm2020/lib/components/textarea/index.mjs} +0 -0
  482. /package/{esm2015/lib/components/toggle/index.js → esm2020/lib/components/toggle/index.mjs} +0 -0
  483. /package/{esm2015/lib/components/toggle/models/options.model.js → esm2020/lib/components/toggle/models/options.model.mjs} +0 -0
  484. /package/{esm2015/lib/components/trip-summary/index.js → esm2020/lib/components/trip-summary/index.mjs} +0 -0
  485. /package/{esm2015/lib/components/weather-icon/index.js → esm2020/lib/components/weather-icon/index.mjs} +0 -0
  486. /package/{esm2015/lib/core/decorators/debounce.decorator.js → esm2020/lib/core/decorators/debounce.decorator.mjs} +0 -0
  487. /package/{esm2015/lib/core/directives/index.js → esm2020/lib/core/directives/index.mjs} +0 -0
  488. /package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +0 -0
  489. /package/{esm2015/lib/core/models/abandoned-basket-item.model.js → esm2020/lib/core/models/abandoned-basket-item.model.mjs} +0 -0
  490. /package/{esm2015/lib/core/models/animate.model.js → esm2020/lib/core/models/animate.model.mjs} +0 -0
  491. /package/{esm2015/lib/core/models/class.model.js → esm2020/lib/core/models/class.model.mjs} +0 -0
  492. /package/{esm2015/lib/core/models/index.js → esm2020/lib/core/models/index.mjs} +0 -0
  493. /package/{esm2015/lib/core/models/link.model.js → esm2020/lib/core/models/link.model.mjs} +0 -0
  494. /package/{esm2015/lib/core/models/position.model.js → esm2020/lib/core/models/position.model.mjs} +0 -0
  495. /package/{esm2015/lib/core/models/utc-date.model.js → esm2020/lib/core/models/utc-date.model.mjs} +0 -0
  496. /package/{esm2015/lib/core/services/date/date-compare.enum.js → esm2020/lib/core/services/date/date-compare.enum.mjs} +0 -0
  497. /package/{esm2015/lib/core/services/geolocation/geolocation-state.enum.js → esm2020/lib/core/services/geolocation/geolocation-state.enum.mjs} +0 -0
  498. /package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +0 -0
  499. /package/{esm2015/lib/index.js → esm2020/lib/index.mjs} +0 -0
  500. /package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
  501. /package/{esm2015/lib/shared/index.js → esm2020/lib/shared/index.mjs} +0 -0
  502. /package/{esm2015/lib/shared/models/flight-details.js → esm2020/lib/shared/models/flight-details.mjs} +0 -0
  503. /package/{esm2015/lib/shared/models/index.js → esm2020/lib/shared/models/index.mjs} +0 -0
  504. /package/{esm2015/lib/shared/models/journey-availability-sort.model.js → esm2020/lib/shared/models/journey-availability-sort.model.mjs} +0 -0
  505. /package/{esm2015/lib/shared/models/journey-availability.model.js → esm2020/lib/shared/models/journey-availability.model.mjs} +0 -0
  506. /package/{esm2015/lib/shared/models/journey-details.model.js → esm2020/lib/shared/models/journey-details.model.mjs} +0 -0
  507. /package/{esm2015/lib/shared/models/journey-duration.model.js → esm2020/lib/shared/models/journey-duration.model.mjs} +0 -0
  508. /package/{esm2015/lib/shared/models/journey-stopover.model.js → esm2020/lib/shared/models/journey-stopover.model.mjs} +0 -0
  509. /package/{esm2015/lib/shared/models/journey-transit-info.model.js → esm2020/lib/shared/models/journey-transit-info.model.mjs} +0 -0
  510. /package/{esm2015/lib/shared/models/operating-carrier.model.js → esm2020/lib/shared/models/operating-carrier.model.mjs} +0 -0
  511. /package/{esm2015/lib/shared/models/sort-option.model.js → esm2020/lib/shared/models/sort-option.model.mjs} +0 -0
  512. /package/{esm2015/lib/shared/models/sort.model.js → esm2020/lib/shared/models/sort.model.mjs} +0 -0
  513. /package/{esm2015/lib/shared/models/trip-item-details.model.js → esm2020/lib/shared/models/trip-item-details.model.mjs} +0 -0
  514. /package/{esm2015/lib/shared/models/trip-summary-details.model.js → esm2020/lib/shared/models/trip-summary-details.model.mjs} +0 -0
  515. /package/{esm2015/lib/shared/models/trip-summary.model.js → esm2020/lib/shared/models/trip-summary.model.mjs} +0 -0
  516. /package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
@@ -1,475 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Norwegian Air Shuttle. All Rights Reserved.
4
- */
5
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
6
- import { NasComponentBase } from '../../core/base/nas-component.base';
7
- let nextId = 0;
8
- /**
9
- * @description
10
- * Norwegian Slider Component | Form Controls
11
- */
12
- export class SliderComponent extends NasComponentBase {
13
- constructor(cdr) {
14
- super('nas-slider');
15
- this.cdr = cdr;
16
- /**
17
- * @description
18
- * An event that is fired every time the silder value changes
19
- */
20
- this.valueChange = new EventEmitter();
21
- /**
22
- * @description
23
- * An event that is fired every time the silder minimum value changes
24
- */
25
- this.selectedMinValueChange = new EventEmitter();
26
- /**
27
- * @description
28
- * An event that is fired every time the silder maximum value changes
29
- */
30
- this.selectedMaxValueChange = new EventEmitter();
31
- this.isIEOrEdge = /msie\s|trident\/|edge\//i.test(window.navigator.userAgent);
32
- this.isBubbleActiveValue = false;
33
- this.minValue = 0;
34
- this.maxValue = 100;
35
- this.minDifferenceRange = 2;
36
- this.isViewInit = false;
37
- this.componentId = nextId++;
38
- }
39
- /**
40
- * @description
41
- * The value of the slider
42
- */
43
- get value() {
44
- return this.valueValue;
45
- }
46
- set value(value) {
47
- if (value === this.valueValue) {
48
- return;
49
- }
50
- this.valueValue = value;
51
- this.cdr.detectChanges();
52
- this.valueChange.emit(value);
53
- }
54
- /**
55
- * @description
56
- * The selected minimum value of the range-slider
57
- */
58
- get selectedMinValue() {
59
- return this.rangeMinValue;
60
- }
61
- set selectedMinValue(value) {
62
- if (value === this.rangeMinValue) {
63
- return;
64
- }
65
- this.rangeMinValue = value;
66
- this.cdr.detectChanges();
67
- this.selectedMinValueChange.emit(value);
68
- }
69
- /**
70
- * @description
71
- * The selected maximum value of the range-slider
72
- */
73
- get selectedMaxValue() {
74
- return this.rangeMaxValue;
75
- }
76
- set selectedMaxValue(value) {
77
- if (value === this.rangeMaxValue) {
78
- return;
79
- }
80
- this.rangeMaxValue = value;
81
- this.cdr.detectChanges();
82
- this.selectedMaxValueChange.emit(value);
83
- }
84
- /**
85
- * @description
86
- * The minimum difference of min and max range-slider.
87
- */
88
- get minDiffRange() {
89
- return this.minDifferenceRange;
90
- }
91
- set minDiffRange(value) {
92
- if (!value || value === this.minDifferenceRange) {
93
- return;
94
- }
95
- this.minDifferenceRange = Number(value);
96
- }
97
- /**
98
- * @description
99
- * The suffix/ending of the value that the slider can have.
100
- */
101
- get suffix() {
102
- if (this.suffixLabelValue) {
103
- return this.suffixLabelValue;
104
- }
105
- else {
106
- return this.suffixLabelValue = '';
107
- }
108
- }
109
- set suffix(value) {
110
- this.suffixLabelValue = value;
111
- }
112
- /**
113
- * @description
114
- * The minimum value that the slider can have. The default value is 0.
115
- */
116
- get min() {
117
- return this.minValue;
118
- }
119
- set min(value) {
120
- if (!value || value === this.minValue) {
121
- return;
122
- }
123
- this.minValue = value;
124
- }
125
- /**
126
- * @description
127
- * A custom label for the minimum value. The actual value is still specified by min input.
128
- */
129
- get minLabel() {
130
- if (this.minLabelValue) {
131
- return this.minLabelValue;
132
- }
133
- else {
134
- return this.min;
135
- }
136
- }
137
- set minLabel(value) {
138
- this.minLabelValue = value;
139
- }
140
- /**
141
- * @description
142
- * The maximum value that the slider can have. The default value is 100.
143
- */
144
- get max() {
145
- return this.maxValue;
146
- }
147
- set max(value) {
148
- if (!value || value === this.maxValue) {
149
- return;
150
- }
151
- this.maxValue = value;
152
- }
153
- /**
154
- * @description
155
- * A custom label for the maximum value. The actual value is still specified by max input.
156
- */
157
- get maxLabel() {
158
- if (this.maxLabelValue) {
159
- return this.maxLabelValue;
160
- }
161
- else {
162
- return this.max;
163
- }
164
- }
165
- set maxLabel(value) {
166
- this.maxLabelValue = value;
167
- }
168
- /**
169
- * @description
170
- * The values at which the thumb will snap
171
- */
172
- get step() {
173
- return this.stepValue;
174
- }
175
- set step(value) {
176
- if (value === this.stepValue) {
177
- return;
178
- }
179
- this.stepValue = Number(value);
180
- }
181
- /**
182
- * @description
183
- * Whether the component is disabled
184
- */
185
- get disabled() {
186
- return this.disabledValue;
187
- }
188
- set disabled(value) {
189
- var _a;
190
- if (value === this.disabledValue) {
191
- return;
192
- }
193
- if (((_a = this.slider) === null || _a === void 0 ? void 0 : _a.nativeElement) && !this.nasFormControlName) {
194
- this.slider.nativeElement.disabled = value;
195
- }
196
- this.disabledValue = value;
197
- }
198
- get sliderId() {
199
- return this.id ? this.id : `nas-slider-${this.componentId}`;
200
- }
201
- get isBubbleActive() {
202
- return this.isBubbleActiveValue;
203
- }
204
- set isBubbleActive(value) {
205
- if (!value) {
206
- let timeout;
207
- clearTimeout(timeout);
208
- timeout = setTimeout(() => {
209
- this.isBubbleActiveValue = false;
210
- }, 250);
211
- }
212
- else {
213
- setTimeout(() => {
214
- this.isBubbleActiveValue = true;
215
- }, 100);
216
- }
217
- }
218
- get middleLabel() {
219
- const sum = this.min + this.max;
220
- const middleSum = sum / 2;
221
- if (sum % 2 === 1) {
222
- return null;
223
- }
224
- return middleSum.toString();
225
- }
226
- get showMinLabelSuffix() {
227
- return typeof (this.minLabel) === 'number';
228
- }
229
- get showMaxLabelSuffix() {
230
- return typeof (this.maxLabel) === 'number';
231
- }
232
- ngOnInit() {
233
- if (this.nasFormGroup && this.nasFormControlName) {
234
- const sliderControl = this.nasFormGroup.get(this.nasFormControlName);
235
- if (!sliderControl) {
236
- return;
237
- }
238
- if (this.exists(this.disabled)) {
239
- sliderControl.disable();
240
- return;
241
- }
242
- else {
243
- sliderControl.enable();
244
- }
245
- this.value = sliderControl.value;
246
- sliderControl.valueChanges.subscribe((value) => {
247
- if (!this.exists(this.disabled)) {
248
- this.value = value;
249
- }
250
- this.activateBubble(value, 'slider');
251
- });
252
- }
253
- if (this.nasFormGroup && this.nasFormControlMin && this.nasFormControlMax) {
254
- const sliderMinControl = this.nasFormGroup.get(this.nasFormControlMin);
255
- const sliderMaxControl = this.nasFormGroup.get(this.nasFormControlMax);
256
- if (!sliderMinControl || !sliderMaxControl) {
257
- return;
258
- }
259
- if (this.exists(this.disabled)) {
260
- sliderMinControl.disable();
261
- sliderMaxControl.disable();
262
- return;
263
- }
264
- else {
265
- sliderMinControl.enable();
266
- sliderMaxControl.enable();
267
- }
268
- this.selectedMinValue = sliderMinControl.value;
269
- this.selectedMaxValue = sliderMaxControl.value;
270
- sliderMinControl.valueChanges.subscribe((value) => {
271
- if (!this.exists(this.disabled) && value > this.selectedMaxValue - this.minDiffRange) {
272
- sliderMinControl.setValue(this.selectedMinValue);
273
- return;
274
- }
275
- this.bubbleValue = this.setBubbleValue(value);
276
- this.activateBubble(value, 'range-slider-min');
277
- });
278
- sliderMaxControl.valueChanges.subscribe((value) => {
279
- if (!this.exists(this.disabled) && value < this.selectedMinValue + this.minDiffRange) {
280
- sliderMaxControl.setValue(this.selectedMaxValue);
281
- return;
282
- }
283
- this.bubbleValue = this.setBubbleValue(value);
284
- this.activateBubble(value, 'range-slider-max');
285
- });
286
- }
287
- this.isRange = this.exists(this.range) ? true : false;
288
- this.showBubble = false;
289
- }
290
- ngAfterViewInit() {
291
- var _a;
292
- setTimeout(() => {
293
- this.isViewInit = true;
294
- }, 100);
295
- if (!((_a = this.slider) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
296
- return;
297
- }
298
- let detectChanges = false;
299
- if (!this.value) {
300
- this.value = Number(this.slider.nativeElement.min);
301
- detectChanges = true;
302
- }
303
- if (!this.selectedMinValue) {
304
- this.selectedMinValue = Number(this.slider.nativeElement.min);
305
- detectChanges = true;
306
- }
307
- if (!this.selectedMaxValue) {
308
- this.selectedMaxValue = Number(this.slider.nativeElement.max);
309
- detectChanges = true;
310
- }
311
- if (!this.min) {
312
- this.min = Number(this.slider.nativeElement.min);
313
- detectChanges = true;
314
- }
315
- if (!this.max) {
316
- this.max = Number(this.slider.nativeElement.max);
317
- detectChanges = true;
318
- }
319
- if (detectChanges) {
320
- this.cdr.detectChanges();
321
- }
322
- if (this.isRange && !this.nasFormControlMin && !this.nasFormControlMax && !this.nasFormGroup) {
323
- this.rangeMin.nativeElement.value = this.selectedMinValue.toString();
324
- this.rangeMax.nativeElement.value = this.selectedMaxValue.toString();
325
- }
326
- }
327
- ngAfterViewChecked() {
328
- this.setBubbleStyle();
329
- }
330
- onSliderInput(event, type) {
331
- if (!(event === null || event === void 0 ? void 0 : event.target)) {
332
- return;
333
- }
334
- this.showBubble = true;
335
- const eventValue = Number(event.target.value);
336
- switch (type) {
337
- case 'slider':
338
- this.value = eventValue;
339
- break;
340
- case 'range-slider-min':
341
- this.selectedMinValue = this.minSelected ? this.minSelected : eventValue;
342
- break;
343
- case 'range-slider-max':
344
- this.selectedMaxValue = this.maxSelected ? this.maxSelected : eventValue;
345
- break;
346
- default:
347
- return;
348
- }
349
- }
350
- onSliderChange(event, type) {
351
- this.onSliderInput(event, type);
352
- this.isBubbleActive = false;
353
- }
354
- setBubbleStyle(value, type) {
355
- var _a, _b;
356
- if (!this.bubble) {
357
- return;
358
- }
359
- const inputWidth = (_b = (_a = this.slider) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.offsetWidth;
360
- const minValue = Number(this.min);
361
- const maxValue = Number(this.max);
362
- let valueType;
363
- switch (type) {
364
- case 'slider':
365
- this.bubbleValue = this.setBubbleValue(value);
366
- valueType = value;
367
- break;
368
- case 'range-slider-min':
369
- case 'range-slider-max':
370
- valueType = value;
371
- break;
372
- default:
373
- return;
374
- }
375
- const ratio = (valueType - minValue) / (maxValue - minValue);
376
- const thumbWidth = 36;
377
- const thumbHalfWidth = thumbWidth / 2;
378
- const left = (((ratio) * ((inputWidth - thumbHalfWidth) - thumbHalfWidth)) + thumbHalfWidth) - 45;
379
- this.bubble.nativeElement.style.left = `${left}px`;
380
- }
381
- onDisplayBubble(event, type) {
382
- if (!(event === null || event === void 0 ? void 0 : event.target)) {
383
- return;
384
- }
385
- if (this.isViewInit) {
386
- this.validateRangerSlider(Number(event.target.value), type);
387
- this.activateBubble(Number(event.target.value), type);
388
- }
389
- }
390
- validateRangerSlider(value, type) {
391
- let eventValue = value;
392
- const mathMin = Math.min(value, this.selectedMaxValue - this.minDiffRange);
393
- const mathMax = Math.max(value, this.selectedMinValue + this.minDiffRange);
394
- switch (type) {
395
- case 'range-slider-min':
396
- this.bubbleValue = this.setBubbleValue(mathMin);
397
- eventValue = mathMin;
398
- this.minSelected = eventValue;
399
- if (eventValue >= (this.selectedMaxValue - this.minDiffRange)) {
400
- this.rangeMin.nativeElement.value = mathMin.toString();
401
- return;
402
- }
403
- break;
404
- case 'range-slider-max':
405
- this.bubbleValue = this.setBubbleValue(mathMax);
406
- eventValue = mathMax;
407
- this.maxSelected = eventValue;
408
- if (eventValue <= (this.selectedMinValue + this.minDiffRange)) {
409
- this.rangeMax.nativeElement.value = mathMax.toString();
410
- return;
411
- }
412
- break;
413
- default:
414
- return;
415
- }
416
- }
417
- activateBubble(value, type) {
418
- this.showBubble = true;
419
- this.isBubbleActive = true;
420
- this.setBubbleStyle(value, type);
421
- this.isBubbleActive = false;
422
- }
423
- setBubbleValue(value) {
424
- if (value === this.min && typeof (this.minLabel) === 'string') {
425
- this.showBubbleSuffix = false;
426
- return this.minLabel;
427
- }
428
- else if (value === this.max && typeof (this.maxLabel) === 'string') {
429
- this.showBubbleSuffix = false;
430
- return this.maxLabel;
431
- }
432
- this.showBubbleSuffix = true;
433
- return value;
434
- }
435
- }
436
- SliderComponent.decorators = [
437
- { type: Component, args: [{
438
- selector: 'nas-slider',
439
- template: "<div [nasClass]=\"getClass('wrapper')\" *ngIf=\"!isRange\">\n <div #bubble [nasClass]=\"getClass('bubble', isBubbleActive ? 'active' : '')\">\n <span [nasClass]=\"getClass('bubble-value')\" *ngIf=\"bubbleValue != null\">\n <span *ngIf=\"showBubbleSuffix && exists(isPrefix)\">{{suffix}}</span>{{bubbleValue}}<span \n *ngIf=\"showBubbleSuffix && !exists(isPrefix)\">{{suffix}}</span>\n </span>\n </div>\n <ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label>\n <span [nasClass]=\"getClass('title')\"\n *ngIf=\"title\">{{title}}</span>\n <input #slider\n [nasClass]=\"getClass('slider', exists(disabled) ? 'disabled' : '')\"\n type=\"range\"\n [id]=\"sliderId\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [attr.suffix]=\"suffix\"\n [attr.step]=\"step\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value\"\n [disabled]=\"disabled\"\n (input)=\"onDisplayBubble($event,'slider')\"\n (mouseup)=\"onSliderChange($event, 'slider')\"\n (touchend)=\"onSliderChange($event, 'slider')\"\n (keyup)=\"onSliderChange($event, 'slider')\" />\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </label>\n </ng-container>\n <ng-template #reactiveForm>\n <label [formGroup]=\"nasFormGroup\">\n <p [nasClass]=\"getClass('title')\"\n *ngIf=\"title\">{{title}}</p>\n <input #slider\n [formControlName]=\"nasFormControlName\"\n [nasClass]=\"getClass('slider', nasFormGroup?.get(nasFormControlName)?.disabled ? 'disabled' : '')\"\n type=\"range\"\n [id]=\"sliderId\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [attr.suffix]=\"suffix\"\n [attr.step]=\"step\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value\"\n [attr.disabled]=\"disabled\"\n (input)=\"onSliderInput($event, 'slider')\"\n (change)=\"onSliderChange($event, 'slider')\" \n />\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </label>\n </ng-template>\n <ng-template #label>\n <div [nasClass]=\"getClass('label-wrapper')\">\n <span [nasClass]=\"getClass('label')\">\n <span *ngIf=\"showMinLabelSuffix && exists(isPrefix)\">{{suffix}}</span>{{minLabel}}<span \n *ngIf=\"showMinLabelSuffix && !exists(isPrefix)\">{{suffix}}</span>\n </span>\n <span [nasClass]=\"getClass('label', 'middle')\" *ngIf=\"middleLabel\">\n <span *ngIf=\"exists(isPrefix)\">{{suffix}}</span>{{middleLabel}}<span \n *ngIf=\"!exists(isPrefix)\">{{suffix}}</span>\n </span>\n <span [nasClass]=\"getClass('label', 'max')\">\n <span *ngIf=\"showMaxLabelSuffix && exists(isPrefix)\">{{suffix}}</span>{{maxLabel}}<span \n *ngIf=\"showMaxLabelSuffix && !exists(isPrefix)\">{{suffix}}</span>\n </span>\n </div>\n </ng-template>\n</div>\n\n<div [nasClass]=\"getClass('wrapper-range')\" *ngIf=\"isRange && !isIEOrEdge\">\n <div #bubble [nasClass]=\"getClass('bubble', isBubbleActive ? 'active' : '')\" *ngIf=\"showBubble\">\n <span [nasClass]=\"getClass('bubble-value')\" *ngIf=\"bubbleValue != null\">\n <span *ngIf=\"showBubbleSuffix && exists(isPrefix)\">{{suffix}}</span>{{bubbleValue}}<span \n *ngIf=\"showBubbleSuffix && !exists(isPrefix)\">{{suffix}}</span></span>\n </div>\n <ng-container *ngIf=\"!nasFormControlMin && !nasFormControlMax; else reactiveForm\">\n <label >\n <span [nasClass]=\"getClass('title')\"\n *ngIf=\"title\">{{title}}</span>\n <div [nasClass]=\"getClass('range-slider')\">\n <input #slider #rangeMin\n [nasClass]=\"getClass('range-slider-min', exists(disabled) ? 'disabled' : '')\" \n type=\"range\"\n [id]=\"sliderId\"\n [attr.name]=\"name\"\n [attr.value]=\"selectedMinValue\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n [attr.suffix]=\"suffix\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"selectedMinValue\"\n [disabled]=\"disabled\"\n (input)=\"onDisplayBubble($event,'range-slider-min')\"\n (mouseup)=\"onSliderChange($event, 'range-slider-min')\"\n (touchend)=\"onSliderChange($event, 'range-slider-min')\"\n (keyup)=\"onSliderChange($event, 'range-slider-min')\"\n />\n\n <input #slider #rangeMax\n [nasClass]=\"getClass('range-slider-max', exists(disabled) ? 'disabled' : '')\" \n type=\"range\"\n [id]=\"sliderId\"\n [attr.name]=\"name\" \n [attr.value]=\"selectedMaxValue\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n [attr.suffix]=\"suffix\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"selectedMaxValue\"\n [disabled]=\"disabled\"\n (input)=\"onDisplayBubble($event,'range-slider-max')\"\n (mouseup)=\"onSliderChange($event, 'range-slider-max')\"\n (touchend)=\"onSliderChange($event, 'range-slider-max')\"\n (keyup)=\"onSliderChange($event, 'range-slider-max')\"\n />\n </div>\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n </label>\n </ng-container>\n \n <ng-template #reactiveForm>\n <label [formGroup]=\"nasFormGroup\">\n <p [nasClass]=\"getClass('title')\" *ngIf=\"title\">{{title}}</p>\n <div [nasClass]=\"getClass('range-slider')\">\n <input #slider #rangeMin\n [nasClass]=\"getClass('range-slider-min', exists(disabled) ? 'disabled' : '')\" \n [formControlName]=\"nasFormControlMin\"\n type=\"range\"\n [id]=\"sliderId\"\n [attr.name]=\"name\"\n [attr.value]=\"selectedMinValue\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n [attr.suffix]=\"suffix\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"selectedMinValue\"\n [attr.disabled]=\"disabledValue ? '' : null\"\n (input)=\"onSliderInput($event, 'range-slider-min')\" \n (change)=\"onSliderChange($event, 'range-slider-min')\"\n />\n \n <input #slider #rangeMax\n [nasClass]=\"getClass('range-slider-max', exists(disabled) ? 'disabled' : '')\" \n [formControlName]=\"nasFormControlMax\"\n type=\"range\"\n [attr.name]=\"name\" \n [attr.value]=\"selectedMaxValue\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n [attr.suffix]=\"suffix\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"selectedMaxValue\"\n [attr.disabled]=\"disabledValue ? '' : null\"\n (input)=\"onSliderInput($event, 'range-slider-max')\" \n (change)=\"onSliderChange($event, 'range-slider-max')\"\n />\n </div>\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\n</label>\n</ng-template>\n <ng-template #label>\n <div [nasClass]=\"getClass('label-wrapper')\">\n <span [nasClass]=\"getClass('label')\">\n <span *ngIf=\"showMinLabelSuffix && exists(isPrefix)\">{{suffix}}</span>{{minLabel}}<span \n *ngIf=\"showMinLabelSuffix && !exists(isPrefix)\">{{suffix}}</span>\n </span>\n <span [nasClass]=\"getClass('label', 'middle')\" *ngIf=\"middleLabel\">\n <span *ngIf=\"exists(isPrefix)\">{{suffix}}</span>{{middleLabel}}<span \n *ngIf=\"!exists(isPrefix)\">{{suffix}}</span>\n </span>\n <span [nasClass]=\"getClass('label', 'max')\">\n <span *ngIf=\"showMaxLabelSuffix && exists(isPrefix)\">{{suffix}}</span>{{maxLabel}}<span \n *ngIf=\"showMaxLabelSuffix && !exists(isPrefix)\">{{suffix}}</span>\n </span>\n </div>\n </ng-template>\n \n</div>",
440
- styles: ["@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@-webkit-keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@-webkit-keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@-webkit-keyframes fade-out{to{opacity:0}}@keyframes fade-out{to{opacity:0}}@-webkit-keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@-webkit-keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@-webkit-keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}:host{position:relative;width:100%;display:inline-block;box-sizing:border-box;border-radius:0;padding:9px;outline:none;vertical-align:middle}.nas-slider{width:100%}.nas-slider__wrapper{position:relative}.nas-slider__wrapper-range{position:relative}.nas-slider__track-wrapper{position:absolute;top:0;left:0;overflow:hidden;height:7px;width:100%}.nas-slider__track-background{outline:none;height:7px;width:100%;border-radius:5px;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");background-color:#d8d8d8}.nas-slider__track-fill{height:7px;width:100%}.nas-slider__title{font-family:\"Apercu\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-weight:bold;height:30px;display:block;margin-bottom:16px}@media (min-width: 640px){.nas-slider__title{letter-spacing:inherit;word-spacing:inherit}}.nas-slider__container{position:relative}.nas-slider__bubble{position:absolute;background-color:#d81939;width:96px;height:96px;border-radius:50%;text-align:center;top:-88px;color:#fff;opacity:0;visibility:hidden;transition:visibility 0s 1s,opacity 1s linear}.nas-slider__bubble--active{display:inline-block;visibility:visible;opacity:1;transition:opacity 0s linear}.nas-slider__bubble-value{display:block;position:relative;font-size:18px;font-weight:700;top:50%;transform:translateY(-50%)}.nas-slider__slider{-webkit-appearance:none;outline:none;border-radius:5px;width:100%;background-color:transparent;color:transparent}.nas-slider__slider::-moz-range-track{width:100%;height:7px;background-color:#d8d8d8;cursor:grab;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");border-radius:5px}.nas-slider__slider::-webkit-slider-runnable-track{width:100%;height:7px;background-color:#d8d8d8;cursor:-webkit-grab;cursor:grab;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");border-radius:5px}.nas-slider__slider::-ms-track{width:100%;height:7px;background-color:#d8d8d8;cursor:grab;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");border-radius:5px;background:transparent;border-color:transparent;color:transparent;margin:14.5px 0;padding-top:10px}.nas-slider__slider::-ms-thumb{height:36px;width:36px;border-radius:50%;background-color:#003251;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcBAMAAAB4lt9%2BAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAJFBMVEX%2F%2F%2F%2Bywcqywcqywcqywcqywcqywcqywcqywcqywcqywcr%2F%2F%2F9FcflzAAAACnRSTlMAAE2%2B80yE8k70vyb3CgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBTIC%2FLF8AAAA3ElEQVRo3u2Yqw7CQBBF2xIewYFCtsGhgIAABcGhwKLQKLC1fAIOBaWBMF9J99Fk7SZNijhH3cnNnKzdCQIAAAAAAACAGgn7M9nse3YabvN52URFsfPWnUTkbXWtIsvRNrrw1TWVQRIzHFTO3CL21DX01sQMS5VfbjH21LX11sUMqcoftzh76rp662kGncUtHujQoUOHDh06dOjQoUOHDh26mnXmy782Q6py7hYrT13Fl4pIb9k7ykjlzC1iT13FV55wsJBbUt6grvfvtGw6ReH7OAAAAAAAAIC%2F5gcmyb5xhztVmwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMi0xNVQxODowNTo1MCswMzowMOmPSkMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDItMTVUMTg6MDU6NTArMDM6MDCY0vL%2FAAAAAElFTkSuQmCC%22 %2F%3E%3C%2Fsvg%3E\");background-size:cover;cursor:grab}.nas-slider__slider::-webkit-slider-thumb{height:36px;width:36px;border-radius:50%;background-color:#003251;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcBAMAAAB4lt9%2BAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAJFBMVEX%2F%2F%2F%2Bywcqywcqywcqywcqywcqywcqywcqywcqywcqywcr%2F%2F%2F9FcflzAAAACnRSTlMAAE2%2B80yE8k70vyb3CgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBTIC%2FLF8AAAA3ElEQVRo3u2Yqw7CQBBF2xIewYFCtsGhgIAABcGhwKLQKLC1fAIOBaWBMF9J99Fk7SZNijhH3cnNnKzdCQIAAAAAAACAGgn7M9nse3YabvN52URFsfPWnUTkbXWtIsvRNrrw1TWVQRIzHFTO3CL21DX01sQMS5VfbjH21LX11sUMqcoftzh76rp662kGncUtHujQoUOHDh06dOjQoUOHDh26mnXmy782Q6py7hYrT13Fl4pIb9k7ykjlzC1iT13FV55wsJBbUt6grvfvtGw6ReH7OAAAAAAAAIC%2F5gcmyb5xhztVmwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMi0xNVQxODowNTo1MCswMzowMOmPSkMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDItMTVUMTg6MDU6NTArMDM6MDCY0vL%2FAAAAAElFTkSuQmCC%22 %2F%3E%3C%2Fsvg%3E\");background-size:cover;cursor:-webkit-grab;cursor:grab;-webkit-appearance:none;margin-top:-17px}.nas-slider__slider::-moz-range-thumb{height:36px;width:36px;border-radius:50%;background-color:#003251;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcBAMAAAB4lt9%2BAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAJFBMVEX%2F%2F%2F%2Bywcqywcqywcqywcqywcqywcqywcqywcqywcqywcr%2F%2F%2F9FcflzAAAACnRSTlMAAE2%2B80yE8k70vyb3CgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBTIC%2FLF8AAAA3ElEQVRo3u2Yqw7CQBBF2xIewYFCtsGhgIAABcGhwKLQKLC1fAIOBaWBMF9J99Fk7SZNijhH3cnNnKzdCQIAAAAAAACAGgn7M9nse3YabvN52URFsfPWnUTkbXWtIsvRNrrw1TWVQRIzHFTO3CL21DX01sQMS5VfbjH21LX11sUMqcoftzh76rp662kGncUtHujQoUOHDh06dOjQoUOHDh26mnXmy782Q6py7hYrT13Fl4pIb9k7ykjlzC1iT13FV55wsJBbUt6grvfvtGw6ReH7OAAAAAAAAIC%2F5gcmyb5xhztVmwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMi0xNVQxODowNTo1MCswMzowMOmPSkMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDItMTVUMTg6MDU6NTArMDM6MDCY0vL%2FAAAAAElFTkSuQmCC%22 %2F%3E%3C%2Fsvg%3E\");background-size:cover;cursor:grab}.nas-slider__slider::-ms-fill-lower,.nas-slider__slider::-ms-fill-upper{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");background-color:#d8d8d8}.nas-slider__slider::-ms-tooltip{display:none}.nas-slider__slider--disabled::-webkit-slider-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__slider--disabled::-moz-range-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__slider--disabled::-ms-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__slider:focus{outline:none}.nas-slider__slider:focus::-ms-fill-lower,.nas-slider__slider:focus::-ms-fill-upper{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");background-color:#d8d8d8}.nas-slider__range-slider{position:relative;width:98%;margin:0 auto 13px;height:7px;border-radius:5px;background-color:#d8d8d8;cursor:-webkit-grab;cursor:grab;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\")}.nas-slider__range-slider-min{position:absolute;width:100%;height:0px;-webkit-appearance:none;outline:none;background-color:transparent;color:transparent}.nas-slider__range-slider-min::-webkit-slider-runnable-track{width:100%;height:7px;background-color:#d8d8d8;cursor:-webkit-grab;cursor:grab;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");border-radius:5px;height:0}.nas-slider__range-slider-min::-webkit-slider-thumb{height:36px;width:36px;border-radius:50%;background-color:#003251;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcBAMAAAB4lt9%2BAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAJFBMVEX%2F%2F%2F%2Bywcqywcqywcqywcqywcqywcqywcqywcqywcqywcr%2F%2F%2F9FcflzAAAACnRSTlMAAE2%2B80yE8k70vyb3CgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBTIC%2FLF8AAAA3ElEQVRo3u2Yqw7CQBBF2xIewYFCtsGhgIAABcGhwKLQKLC1fAIOBaWBMF9J99Fk7SZNijhH3cnNnKzdCQIAAAAAAACAGgn7M9nse3YabvN52URFsfPWnUTkbXWtIsvRNrrw1TWVQRIzHFTO3CL21DX01sQMS5VfbjH21LX11sUMqcoftzh76rp662kGncUtHujQoUOHDh06dOjQoUOHDh26mnXmy782Q6py7hYrT13Fl4pIb9k7ykjlzC1iT13FV55wsJBbUt6grvfvtGw6ReH7OAAAAAAAAIC%2F5gcmyb5xhztVmwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMi0xNVQxODowNTo1MCswMzowMOmPSkMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDItMTVUMTg6MDU6NTArMDM6MDCY0vL%2FAAAAAElFTkSuQmCC%22 %2F%3E%3C%2Fsvg%3E\");background-size:cover;cursor:-webkit-grab;cursor:grab;margin-top:-17px;margin-left:-7px;-webkit-appearance:none}.nas-slider__range-slider-min::-moz-range-track{width:100%;height:7px;background-color:#d8d8d8;cursor:grab;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");border-radius:5px;height:0px}.nas-slider__range-slider-min::-moz-range-thumb{height:36px;width:36px;border-radius:50%;background-color:#003251;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcBAMAAAB4lt9%2BAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAJFBMVEX%2F%2F%2F%2Bywcqywcqywcqywcqywcqywcqywcqywcqywcqywcr%2F%2F%2F9FcflzAAAACnRSTlMAAE2%2B80yE8k70vyb3CgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBTIC%2FLF8AAAA3ElEQVRo3u2Yqw7CQBBF2xIewYFCtsGhgIAABcGhwKLQKLC1fAIOBaWBMF9J99Fk7SZNijhH3cnNnKzdCQIAAAAAAACAGgn7M9nse3YabvN52URFsfPWnUTkbXWtIsvRNrrw1TWVQRIzHFTO3CL21DX01sQMS5VfbjH21LX11sUMqcoftzh76rp662kGncUtHujQoUOHDh06dOjQoUOHDh26mnXmy782Q6py7hYrT13Fl4pIb9k7ykjlzC1iT13FV55wsJBbUt6grvfvtGw6ReH7OAAAAAAAAIC%2F5gcmyb5xhztVmwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMi0xNVQxODowNTo1MCswMzowMOmPSkMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDItMTVUMTg6MDU6NTArMDM6MDCY0vL%2FAAAAAElFTkSuQmCC%22 %2F%3E%3C%2Fsvg%3E\");background-size:cover;cursor:grab}.nas-slider__range-slider-min--disabled::-webkit-slider-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__range-slider-min--disabled::-moz-range-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__range-slider-min--disabled::-ms-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__range-slider-min:focus{outline:none}.nas-slider__range-slider-max{position:absolute;width:101%;height:0px;-webkit-appearance:none;outline:none;background-color:transparent;color:transparent}.nas-slider__range-slider-max::-webkit-slider-runnable-track{width:100%;height:7px;background-color:#d8d8d8;cursor:-webkit-grab;cursor:grab;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");border-radius:5px;height:0}.nas-slider__range-slider-max::-webkit-slider-thumb{height:36px;width:36px;border-radius:50%;background-color:#003251;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcBAMAAAB4lt9%2BAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAJFBMVEX%2F%2F%2F%2Bywcqywcqywcqywcqywcqywcqywcqywcqywcqywcr%2F%2F%2F9FcflzAAAACnRSTlMAAE2%2B80yE8k70vyb3CgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBTIC%2FLF8AAAA3ElEQVRo3u2Yqw7CQBBF2xIewYFCtsGhgIAABcGhwKLQKLC1fAIOBaWBMF9J99Fk7SZNijhH3cnNnKzdCQIAAAAAAACAGgn7M9nse3YabvN52URFsfPWnUTkbXWtIsvRNrrw1TWVQRIzHFTO3CL21DX01sQMS5VfbjH21LX11sUMqcoftzh76rp662kGncUtHujQoUOHDh06dOjQoUOHDh26mnXmy782Q6py7hYrT13Fl4pIb9k7ykjlzC1iT13FV55wsJBbUt6grvfvtGw6ReH7OAAAAAAAAIC%2F5gcmyb5xhztVmwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMi0xNVQxODowNTo1MCswMzowMOmPSkMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDItMTVUMTg6MDU6NTArMDM6MDCY0vL%2FAAAAAElFTkSuQmCC%22 %2F%3E%3C%2Fsvg%3E\");background-size:cover;cursor:-webkit-grab;cursor:grab;margin-top:-17px;margin-left:-7px;-webkit-appearance:none}.nas-slider__range-slider-max::-moz-range-track{width:100%;height:7px;background-color:#d8d8d8;cursor:grab;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%226px%22 height%3D%226px%22 viewBox%3D%220 0 6 6%22 enable-background%3D%22new 0 0 6 6%22 xml%3Aspace%3D%22preserve%22%3E%3Crect x%3D%223%22 opacity%3D%220.5%22 fill%3D%22%23FFFFFF%22 width%3D%223%22 height%3D%226%22%2F%3E%3C%2Fsvg%3E\");border-radius:5px;height:0}.nas-slider__range-slider-max::-moz-range-thumb{height:36px;width:36px;border-radius:50%;background-color:#003251;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcBAMAAAB4lt9%2BAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAJFBMVEX%2F%2F%2F%2Bywcqywcqywcqywcqywcqywcqywcqywcqywcqywcr%2F%2F%2F9FcflzAAAACnRSTlMAAE2%2B80yE8k70vyb3CgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBTIC%2FLF8AAAA3ElEQVRo3u2Yqw7CQBBF2xIewYFCtsGhgIAABcGhwKLQKLC1fAIOBaWBMF9J99Fk7SZNijhH3cnNnKzdCQIAAAAAAACAGgn7M9nse3YabvN52URFsfPWnUTkbXWtIsvRNrrw1TWVQRIzHFTO3CL21DX01sQMS5VfbjH21LX11sUMqcoftzh76rp662kGncUtHujQoUOHDh06dOjQoUOHDh26mnXmy782Q6py7hYrT13Fl4pIb9k7ykjlzC1iT13FV55wsJBbUt6grvfvtGw6ReH7OAAAAAAAAIC%2F5gcmyb5xhztVmwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMi0xNVQxODowNTo1MCswMzowMOmPSkMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDItMTVUMTg6MDU6NTArMDM6MDCY0vL%2FAAAAAElFTkSuQmCC%22 %2F%3E%3C%2Fsvg%3E\");background-size:cover;cursor:grab}.nas-slider__range-slider-max--disabled::-webkit-slider-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__range-slider-max--disabled::-moz-range-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__range-slider-max--disabled::-ms-thumb{background-color:#909090;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22 standalone%3D%22no%22%3F%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22 width%3D%22156px%22 height%3D%22156px%22 viewBox%3D%220 0 156 156%22 enable-background%3D%22new 0 0 156 156%22 xml%3Aspace%3D%22preserve%22%3E %3Cimage id%3D%22image0%22 width%3D%22156%22 height%3D%22156%22 x%3D%220%22 y%3D%220%22 xlink%3Ahref%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAQAAAAgsQrGAAAABGdBTUEAALGPC%2FxhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA%2F4ePzL8AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflAg8SBw2GrP7DAAACRklEQVR42u3cMU5bQRhF4etESWPZ5VNWwwogW4mgDUUKXNN6H%2B7dpSJSepYwZYxr01vvEeZ4Bgt0vvKXLs86siw3eHaIiE%2FnfgHvleEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkO6hyupKRclW3ZlUM5lF3ZlsuSkvLy6mjxiudUL0416%2Fv%2FqiW5y8%2Bj4yq3yTC9GVkMty8%2BpXpxut7hLrMZOX%2FPZqhcDJs0W7TQ%2BzPuZvR6feZFA73fcf%2ByGDnvshwqF8Oy9hnTixZ6v%2BMWFde3WzTg1xHIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcFDvcLvR69OZFw30Dvdn9Ppw5kUDvcPdV1zfbtHA519d%2F%2Fz%2BMV9ycXRcZZ3MJxbzx%2F3IYlhPP6N%2B0ULvcMk2f%2FMtQ74m2ed3fmSdTIdL5tv90eJ%2FEeoXp%2Bv8gy0fl19HIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjIcJDhIMNBhoMMBxkOMhxkOMhwkOEgw0GGgwwHGQ4yHGQ4yHCQ4SDDQYaDDAcZDjIcZDjoGTgYefVY5oRqAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE1VDE4OjA3OjEzKzAzOjAwWNiOGQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xNVQxODowNzoxMyswMzowMCmFNqUAAAAASUVORK5CYII%3D%22 %2F%3E%3C%2Fsvg%3E\");cursor:default}.nas-slider__range-slider-max:focus{outline:none}.nas-slider__label{display:flex;margin-top:15px;color:#626363;width:70px;justify-content:center;font-family:\"Apercu\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-weight:bold}.nas-slider__label-wrapper{display:flex;justify-content:space-between}.nas-slider__label--max{padding-left:5px}.nas-slider__label--middle{text-align:center}\n"]
441
- },] }
442
- ];
443
- SliderComponent.ctorParameters = () => [
444
- { type: ChangeDetectorRef }
445
- ];
446
- SliderComponent.propDecorators = {
447
- slider: [{ type: ViewChild, args: ['slider',] }],
448
- rangeMin: [{ type: ViewChild, args: ['rangeMin',] }],
449
- rangeMax: [{ type: ViewChild, args: ['rangeMax',] }],
450
- bubble: [{ type: ViewChild, args: ['bubble',] }],
451
- id: [{ type: Input }],
452
- range: [{ type: Input }],
453
- name: [{ type: Input }],
454
- title: [{ type: Input }],
455
- value: [{ type: Input }],
456
- selectedMinValue: [{ type: Input }],
457
- selectedMaxValue: [{ type: Input }],
458
- minDiffRange: [{ type: Input }],
459
- suffix: [{ type: Input }],
460
- isPrefix: [{ type: Input }],
461
- min: [{ type: Input }],
462
- minLabel: [{ type: Input }],
463
- max: [{ type: Input }],
464
- maxLabel: [{ type: Input }],
465
- step: [{ type: Input }],
466
- disabled: [{ type: Input }],
467
- nasFormControlName: [{ type: Input }],
468
- nasFormControlMin: [{ type: Input }],
469
- nasFormControlMax: [{ type: Input }],
470
- nasFormGroup: [{ type: Input }],
471
- valueChange: [{ type: Output }],
472
- selectedMinValueChange: [{ type: Output }],
473
- selectedMaxValueChange: [{ type: Output }]
474
- };
475
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2xpZGVyL3NsaWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFtQyxpQkFBaUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFKLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmOzs7RUFHRTtBQU1GLE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQStVbkQsWUFBb0IsR0FBc0I7UUFDeEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBREYsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFqRjFDOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFMUQ7OztXQUdHO1FBQ08sMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFckU7OztVQUdFO1FBQ1EsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFLckUsZUFBVSxHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBMkNqRSx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFNUIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFHZix1QkFBa0IsR0FBRyxDQUFDLENBQUM7UUFJdkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVN6QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFwVEQ7OztPQUdHO0lBQ0gsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDN0IsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUE7OztNQUdFO0lBQ0gsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQW9CO1FBQ3ZDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBYTtRQUNoQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUE7OztNQUdFO0lBQ0gsSUFDSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQy9DLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksTUFBTTtRQUNSLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQzlCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFRRDs7O09BR0c7SUFDSCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNyQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQXNCO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNyQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQXNCO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQW9CO1FBQzNCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDNUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYzs7UUFDekIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxhQUFhLEtBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUM1QztRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUEwREQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixJQUFJLE9BQVksQ0FBQztZQUVqQixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFdEIsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDbkMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7YUFBTTtZQUNMLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNsQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDaEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMxQixJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxPQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxPQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBd0JELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2hELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRXJFLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xCLE9BQU87YUFDUjtZQUVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzlCLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDeEIsT0FBTzthQUNSO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN4QjtZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUVqQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtnQkFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDcEI7Z0JBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdkUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUV2RSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDMUMsT0FBTzthQUNSO1lBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDOUIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzNCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMzQixPQUFPO2FBQ1I7aUJBQU07Z0JBQ0wsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzFCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzNCO1lBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBRS9DLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3BGLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDakQsT0FBTztpQkFDUjtnQkFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDLENBQUM7WUFFSCxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNwRixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQ2pELE9BQU87aUJBQ1I7Z0JBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsZUFBZTs7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRVIsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxhQUFhLENBQUEsRUFBRTtZQUMvQixPQUFPO1NBQ1I7UUFFRCxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFFMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlELGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUQsYUFBYSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakQsYUFBYSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakQsYUFBYSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUVELElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDMUI7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzVGLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN2RTtJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVSxFQUFFLElBQVk7UUFDcEMsSUFBSSxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sQ0FBQSxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO2dCQUN4QixNQUFNO1lBQ1IsS0FBSyxrQkFBa0I7Z0JBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBQ3pFLE1BQU07WUFDUixLQUFLLGtCQUFrQjtnQkFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDekUsTUFBTTtZQUNSO2dCQUNFLE9BQU87U0FDVjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVSxFQUFFLElBQWE7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFjLEVBQUUsSUFBYTs7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTztTQUNSO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLGFBQWEsMENBQUUsV0FBVyxDQUFDO1FBQzNELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLFNBQVMsQ0FBQztRQUVkLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDbEIsTUFBTTtZQUNSLEtBQUssa0JBQWtCLENBQUM7WUFDeEIsS0FBSyxrQkFBa0I7Z0JBQ3JCLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ2xCLE1BQU07WUFDUjtnQkFDRSxPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM3RCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxjQUFjLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRWxHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQVcsRUFBRSxJQUFhO1FBQy9DLElBQUksQ0FBQyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNLENBQUEsRUFBRTtZQUNsQixPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBYSxFQUFFLElBQVk7UUFDdEQsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzRSxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssa0JBQWtCO2dCQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2hELFVBQVUsR0FBRyxPQUFPLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO2dCQUM5QixJQUFJLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3ZELE9BQU87aUJBQ1I7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssa0JBQWtCO2dCQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2hELFVBQVUsR0FBRyxPQUFPLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO2dCQUM5QixJQUFJLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3ZELE9BQU87aUJBQ1I7Z0JBQ0QsTUFBTTtZQUNSO2dCQUNFLE9BQU87U0FDVjtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsS0FBYSxFQUFFLElBQVk7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFhO1FBQ2xDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDdEI7YUFBTSxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ25FLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWprQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixvMlFBQXNDOzthQUV2Qzs7O1lBZHlDLGlCQUFpQjs7O3FCQWdCeEQsU0FBUyxTQUFDLFFBQVE7dUJBQ2xCLFNBQVMsU0FBQyxVQUFVO3VCQUNwQixTQUFTLFNBQUMsVUFBVTtxQkFDcEIsU0FBUyxTQUFDLFFBQVE7aUJBTWxCLEtBQUs7b0JBTUwsS0FBSzttQkFNTCxLQUFLO29CQU1MLEtBQUs7b0JBTUwsS0FBSzsrQkFrQkwsS0FBSzsrQkFpQkwsS0FBSzsyQkFpQkwsS0FBSztxQkFpQkwsS0FBSzt1QkFpQkwsS0FBSztrQkFNTCxLQUFLO3VCQWdCTCxLQUFLO2tCQWdCTCxLQUFLO3VCQWdCTCxLQUFLO21CQWdCTCxLQUFLO3VCQWdCTCxLQUFLO2lDQXNCTCxLQUFLO2dDQVFMLEtBQUs7Z0NBUUwsS0FBSzsyQkFRTCxLQUFLOzBCQU1MLE1BQU07cUNBTU4sTUFBTTtxQ0FNTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL25hcy1jb21wb25lbnQuYmFzZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIFNsaWRlciBDb21wb25lbnQgfCBGb3JtIENvbnRyb2xzXG4qL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLXNsaWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcbiAgQFZpZXdDaGlsZCgnc2xpZGVyJykgc2xpZGVyPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgncmFuZ2VNaW4nKSByYW5nZU1pbj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ3JhbmdlTWF4JykgcmFuZ2VNYXg/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdidWJibGUnKSBidWJibGU/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIElEIG9mIHRoZSBzbGlkZXJcbiAgICovXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgSUQgb2YgdGhlIHNsaWRlclxuICAgKi9cbiAgQElucHV0KCkgcmFuZ2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTmFtZSBhdHRyaWJ1dGUgb2YgdGhlIHNsaWRlclxuICAgKi9cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB0aGUgdGl0bGUgb2YgdGhlIHNsaWRlclxuICAgKi9cbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHNsaWRlclxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVWYWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy52YWx1ZVZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZVZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgc2VsZWN0ZWQgbWluaW11bSB2YWx1ZSBvZiB0aGUgcmFuZ2Utc2xpZGVyXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWRNaW5WYWx1ZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yYW5nZU1pblZhbHVlO1xuICB9XG4gIHNldCBzZWxlY3RlZE1pblZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlID09PSB0aGlzLnJhbmdlTWluVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yYW5nZU1pblZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuc2VsZWN0ZWRNaW5WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIHNlbGVjdGVkIG1heGltdW0gdmFsdWUgb2YgdGhlIHJhbmdlLXNsaWRlclxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGVkTWF4VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yYW5nZU1heFZhbHVlO1xuICB9XG4gIHNldCBzZWxlY3RlZE1heFZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgPT09IHRoaXMucmFuZ2VNYXhWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJhbmdlTWF4VmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zZWxlY3RlZE1heFZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIG1pbmltdW0gZGlmZmVyZW5jZSBvZiBtaW4gYW5kIG1heCByYW5nZS1zbGlkZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgbWluRGlmZlJhbmdlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWluRGlmZmVyZW5jZVJhbmdlO1xuICB9XG5cbiAgc2V0IG1pbkRpZmZSYW5nZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA9PT0gdGhpcy5taW5EaWZmZXJlbmNlUmFuZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1pbkRpZmZlcmVuY2VSYW5nZSA9IE51bWJlcih2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBzdWZmaXgvZW5kaW5nIG9mIHRoZSB2YWx1ZSB0aGF0IHRoZSBzbGlkZXIgY2FuIGhhdmUuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgc3VmZml4KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc3VmZml4TGFiZWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3VmZml4TGFiZWxWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuc3VmZml4TGFiZWxWYWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIHNldCBzdWZmaXgodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc3VmZml4TGFiZWxWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBPdmVyd3JpdGVzIHRoZSBzdWZmaXggYW5kIGFkZHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgdmFsdWUgdGhhdCB0aGUgc2xpZGVyIGNhbiBoYXZlLlxuICAgKi9cbiAgQElucHV0KCkgaXNQcmVmaXg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIG1pbmltdW0gdmFsdWUgdGhhdCB0aGUgc2xpZGVyIGNhbiBoYXZlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAwLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm1pblZhbHVlO1xuICB9XG4gIHNldCBtaW4odmFsdWU6IG51bWJlcikge1xuICAgIGlmICghdmFsdWUgfHwgdmFsdWUgPT09IHRoaXMubWluVmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1pblZhbHVlID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgY3VzdG9tIGxhYmVsIGZvciB0aGUgbWluaW11bSB2YWx1ZS4gVGhlIGFjdHVhbCB2YWx1ZSBpcyBzdGlsbCBzcGVjaWZpZWQgYnkgbWluIGlucHV0LlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IG1pbkxhYmVsKCk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgaWYgKHRoaXMubWluTGFiZWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMubWluTGFiZWxWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMubWluO1xuICAgIH1cbiAgfVxuICBzZXQgbWluTGFiZWwodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHRoaXMubWluTGFiZWxWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgbWF4aW11bSB2YWx1ZSB0aGF0IHRoZSBzbGlkZXIgY2FuIGhhdmUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEwMC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBtYXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5tYXhWYWx1ZTtcbiAgfVxuICBzZXQgbWF4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlID09PSB0aGlzLm1heFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tYXhWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGN1c3RvbSBsYWJlbCBmb3IgdGhlIG1heGltdW0gdmFsdWUuIFRoZSBhY3R1YWwgdmFsdWUgaXMgc3RpbGwgc3BlY2lmaWVkIGJ5IG1heCBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBtYXhMYWJlbCgpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIGlmICh0aGlzLm1heExhYmVsVmFsdWUpIHtcbiAgICAgIHJldHVybiB0aGlzLm1heExhYmVsVmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1heDtcbiAgICB9XG4gIH1cbiAgc2V0IG1heExhYmVsKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLm1heExhYmVsVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIHZhbHVlcyBhdCB3aGljaCB0aGUgdGh1bWIgd2lsbCBzbmFwXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgc3RlcCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwVmFsdWU7XG4gIH1cbiAgc2V0IHN0ZXAodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuc3RlcFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGVwVmFsdWUgPSBOdW1iZXIodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFZhbHVlO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5kaXNhYmxlZFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2xpZGVyPy5uYXRpdmVFbGVtZW50ICYmICF0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSkge1xuICAgICAgdGhpcy5zbGlkZXIubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMuZGlzYWJsZWRWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGEgZm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSB0byB0aGUgaW5wdXQuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBpbnB1dCBvZiByYW5nZS1zbGlkZXIgbWluaW11bSB2YWx1ZS5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Db250cm9sTWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGEgZm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSB0byB0aGUgaW5wdXQgb2YgcmFuZ2Utc2xpZGVyIG1heGltdW0gdmFsdWUuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE1heDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICAqL1xuICBASW5wdXQoKSBuYXNGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSB0aGUgc2lsZGVyIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgbnVsbD4oKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSB0aGUgc2lsZGVyIG1pbmltdW0gdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIHNlbGVjdGVkTWluVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlciB8IG51bGw+KCk7XG5cbiAgLyoqXG4gICogQGRlc2NyaXB0aW9uXG4gICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIHRoZSBzaWxkZXIgbWF4aW11bSB2YWx1ZSBjaGFuZ2VzXG4gICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE1heFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBudWxsPigpO1xuXG4gIGlzUmFuZ2U6IGJvb2xlYW47XG4gIHNob3dCdWJibGU6IGJvb2xlYW47XG4gIGJ1YmJsZVZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIGlzSUVPckVkZ2UgPSAvbXNpZVxcc3x0cmlkZW50XFwvfGVkZ2VcXC8vaS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgc2hvd0J1YmJsZVN1ZmZpeDogYm9vbGVhbjtcblxuICBnZXQgc2xpZGVySWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IHRoaXMuaWQgOiBgbmFzLXNsaWRlci0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuXG4gIGdldCBpc0J1YmJsZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0J1YmJsZUFjdGl2ZVZhbHVlO1xuICB9XG4gIHNldCBpc0J1YmJsZUFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIGxldCB0aW1lb3V0OiBhbnk7XG5cbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblxuICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQnViYmxlQWN0aXZlVmFsdWUgPSBmYWxzZTtcbiAgICAgIH0sIDI1MCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQnViYmxlQWN0aXZlVmFsdWUgPSB0cnVlO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbWlkZGxlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdW0gPSB0aGlzLm1pbiArIHRoaXMubWF4O1xuICAgIGNvbnN0IG1pZGRsZVN1bSA9IHN1bSAvIDI7XG4gICAgaWYgKHN1bSAlIDIgPT09IDEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbWlkZGxlU3VtLnRvU3RyaW5nKCk7XG4gIH1cblxuICBnZXQgc2hvd01pbkxhYmVsU3VmZml4KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YodGhpcy5taW5MYWJlbCkgPT09ICdudW1iZXInO1xuICB9XG5cbiAgZ2V0IHNob3dNYXhMYWJlbFN1ZmZpeCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mKHRoaXMubWF4TGFiZWwpID09PSAnbnVtYmVyJztcbiAgfVxuXG4gIHByaXZhdGUgaXNCdWJibGVBY3RpdmVWYWx1ZSA9IGZhbHNlO1xuICBwcml2YXRlIHZhbHVlVmFsdWU6IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgbWluVmFsdWUgPSAwO1xuICBwcml2YXRlIG1heFZhbHVlID0gMTAwO1xuICBwcml2YXRlIHJhbmdlTWF4VmFsdWU6IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgcmFuZ2VNaW5WYWx1ZTogbnVtYmVyIHwgbnVsbDtcbiAgcHJpdmF0ZSBtaW5EaWZmZXJlbmNlUmFuZ2UgPSAyO1xuICBwcml2YXRlIHN0ZXBWYWx1ZTogbnVtYmVyIHwgbnVsbDtcbiAgcHJpdmF0ZSBkaXNhYmxlZFZhbHVlOiBib29sZWFuO1xuICBwcml2YXRlIGNvbXBvbmVudElkOiBudW1iZXI7XG4gIHByaXZhdGUgaXNWaWV3SW5pdCA9IGZhbHNlO1xuICBwcml2YXRlIG1pbkxhYmVsVmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgcHJpdmF0ZSBtYXhMYWJlbFZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIHByaXZhdGUgc3VmZml4TGFiZWxWYWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIG1heFNlbGVjdGVkOiBudW1iZXI7XG4gIHByaXZhdGUgbWluU2VsZWN0ZWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcignbmFzLXNsaWRlcicpO1xuICAgIHRoaXMuY29tcG9uZW50SWQgPSBuZXh0SWQrKztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hc0Zvcm1Hcm91cCAmJiB0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSkge1xuICAgICAgY29uc3Qgc2xpZGVyQ29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGlmICghc2xpZGVyQ29udHJvbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgICBzbGlkZXJDb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2xpZGVyQ29udHJvbC5lbmFibGUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy52YWx1ZSA9IHNsaWRlckNvbnRyb2wudmFsdWU7XG5cbiAgICAgIHNsaWRlckNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2YXRlQnViYmxlKHZhbHVlLCAnc2xpZGVyJyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uYXNGb3JtR3JvdXAgJiYgdGhpcy5uYXNGb3JtQ29udHJvbE1pbiAmJiB0aGlzLm5hc0Zvcm1Db250cm9sTWF4KSB7XG4gICAgICBjb25zdCBzbGlkZXJNaW5Db250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xNaW4pO1xuICAgICAgY29uc3Qgc2xpZGVyTWF4Q29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTWF4KTtcblxuICAgICAgaWYgKCFzbGlkZXJNaW5Db250cm9sIHx8ICFzbGlkZXJNYXhDb250cm9sKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZWQpKSB7XG4gICAgICAgIHNsaWRlck1pbkNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICBzbGlkZXJNYXhDb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2xpZGVyTWluQ29udHJvbC5lbmFibGUoKTtcbiAgICAgICAgc2xpZGVyTWF4Q29udHJvbC5lbmFibGUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RlZE1pblZhbHVlID0gc2xpZGVyTWluQ29udHJvbC52YWx1ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNYXhWYWx1ZSA9IHNsaWRlck1heENvbnRyb2wudmFsdWU7XG5cbiAgICAgIHNsaWRlck1pbkNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSAmJiB2YWx1ZSA+IHRoaXMuc2VsZWN0ZWRNYXhWYWx1ZSAtIHRoaXMubWluRGlmZlJhbmdlKSB7XG4gICAgICAgICAgc2xpZGVyTWluQ29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkTWluVmFsdWUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJ1YmJsZVZhbHVlID0gdGhpcy5zZXRCdWJibGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVCdWJibGUodmFsdWUsICdyYW5nZS1zbGlkZXItbWluJyk7XG4gICAgICB9KTtcblxuICAgICAgc2xpZGVyTWF4Q29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogbnVtYmVyIHwgbnVsbCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZWQpICYmIHZhbHVlIDwgdGhpcy5zZWxlY3RlZE1pblZhbHVlICsgdGhpcy5taW5EaWZmUmFuZ2UpIHtcbiAgICAgICAgICBzbGlkZXJNYXhDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRNYXhWYWx1ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYnViYmxlVmFsdWUgPSB0aGlzLnNldEJ1YmJsZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUJ1YmJsZSh2YWx1ZSwgJ3JhbmdlLXNsaWRlci1tYXgnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmlzUmFuZ2UgPSB0aGlzLmV4aXN0cyh0aGlzLnJhbmdlKSA/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLnNob3dCdWJibGUgPSBmYWxzZTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNWaWV3SW5pdCA9IHRydWU7XG4gICAgfSwgMTAwKTtcblxuICAgIGlmICghdGhpcy5zbGlkZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZGV0ZWN0Q2hhbmdlcyA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gTnVtYmVyKHRoaXMuc2xpZGVyLm5hdGl2ZUVsZW1lbnQubWluKTtcbiAgICAgIGRldGVjdENoYW5nZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zZWxlY3RlZE1pblZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTWluVmFsdWUgPSBOdW1iZXIodGhpcy5zbGlkZXIubmF0aXZlRWxlbWVudC5taW4pO1xuICAgICAgZGV0ZWN0Q2hhbmdlcyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkTWF4VmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNYXhWYWx1ZSA9IE51bWJlcih0aGlzLnNsaWRlci5uYXRpdmVFbGVtZW50Lm1heCk7XG4gICAgICBkZXRlY3RDaGFuZ2VzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubWluKSB7XG4gICAgICB0aGlzLm1pbiA9IE51bWJlcih0aGlzLnNsaWRlci5uYXRpdmVFbGVtZW50Lm1pbik7XG4gICAgICBkZXRlY3RDaGFuZ2VzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubWF4KSB7XG4gICAgICB0aGlzLm1heCA9IE51bWJlcih0aGlzLnNsaWRlci5uYXRpdmVFbGVtZW50Lm1heCk7XG4gICAgICBkZXRlY3RDaGFuZ2VzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoZGV0ZWN0Q2hhbmdlcykge1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzUmFuZ2UgJiYgIXRoaXMubmFzRm9ybUNvbnRyb2xNaW4gJiYgIXRoaXMubmFzRm9ybUNvbnRyb2xNYXggJiYgIXRoaXMubmFzRm9ybUdyb3VwKSB7XG4gICAgICB0aGlzLnJhbmdlTWluLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnNlbGVjdGVkTWluVmFsdWUudG9TdHJpbmcoKTtcbiAgICAgIHRoaXMucmFuZ2VNYXgubmF0aXZlRWxlbWVudC52YWx1ZSA9ICB0aGlzLnNlbGVjdGVkTWF4VmFsdWUudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRCdWJibGVTdHlsZSgpO1xuICB9XG5cbiAgb25TbGlkZXJJbnB1dChldmVudDogYW55LCB0eXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIWV2ZW50Py50YXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zaG93QnViYmxlID0gdHJ1ZTtcbiAgICBjb25zdCBldmVudFZhbHVlID0gTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSk7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3NsaWRlcicgOlxuICAgICAgICB0aGlzLnZhbHVlID0gZXZlbnRWYWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdyYW5nZS1zbGlkZXItbWluJyA6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNaW5WYWx1ZSA9IHRoaXMubWluU2VsZWN0ZWQgPyB0aGlzLm1pblNlbGVjdGVkIDogZXZlbnRWYWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdyYW5nZS1zbGlkZXItbWF4JyA6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNYXhWYWx1ZSA9IHRoaXMubWF4U2VsZWN0ZWQgPyB0aGlzLm1heFNlbGVjdGVkIDogZXZlbnRWYWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0IDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIG9uU2xpZGVyQ2hhbmdlKGV2ZW50OiBhbnksIHR5cGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2xpZGVySW5wdXQoZXZlbnQsIHR5cGUpO1xuICAgIHRoaXMuaXNCdWJibGVBY3RpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QnViYmxlU3R5bGUodmFsdWU/OiBudW1iZXIsIHR5cGU/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuYnViYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuc2xpZGVyPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aDtcbiAgICBjb25zdCBtaW5WYWx1ZSA9IE51bWJlcih0aGlzLm1pbik7XG4gICAgY29uc3QgbWF4VmFsdWUgPSBOdW1iZXIodGhpcy5tYXgpO1xuICAgIGxldCB2YWx1ZVR5cGU7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3NsaWRlcic6XG4gICAgICAgIHRoaXMuYnViYmxlVmFsdWUgPSB0aGlzLnNldEJ1YmJsZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdmFsdWVUeXBlID0gdmFsdWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmFuZ2Utc2xpZGVyLW1pbic6XG4gICAgICBjYXNlICdyYW5nZS1zbGlkZXItbWF4JzpcbiAgICAgICAgdmFsdWVUeXBlID0gdmFsdWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJhdGlvID0gKHZhbHVlVHlwZSAtIG1pblZhbHVlKSAvIChtYXhWYWx1ZSAtIG1pblZhbHVlKTtcbiAgICBjb25zdCB0aHVtYldpZHRoID0gMzY7XG4gICAgY29uc3QgdGh1bWJIYWxmV2lkdGggPSB0aHVtYldpZHRoIC8gMjtcbiAgICBjb25zdCBsZWZ0ID0gKCgocmF0aW8pICogKChpbnB1dFdpZHRoIC0gdGh1bWJIYWxmV2lkdGgpIC0gdGh1bWJIYWxmV2lkdGgpKSArIHRodW1iSGFsZldpZHRoKSAtIDQ1O1xuXG4gICAgdGhpcy5idWJibGUubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7bGVmdH1weGA7XG4gIH1cblxuICBwdWJsaWMgb25EaXNwbGF5QnViYmxlKGV2ZW50PzogYW55LCB0eXBlPzogc3RyaW5nKSB7XG4gICAgaWYgKCFldmVudD8udGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNWaWV3SW5pdCkge1xuICAgICAgdGhpcy52YWxpZGF0ZVJhbmdlclNsaWRlcihOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKSwgdHlwZSk7XG4gICAgICB0aGlzLmFjdGl2YXRlQnViYmxlKE51bWJlcihldmVudC50YXJnZXQudmFsdWUpLCB0eXBlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlUmFuZ2VyU2xpZGVyKHZhbHVlOiBudW1iZXIsIHR5cGU6IHN0cmluZykge1xuICAgIGxldCBldmVudFZhbHVlID0gdmFsdWU7XG4gICAgY29uc3QgbWF0aE1pbiA9IE1hdGgubWluKHZhbHVlLCB0aGlzLnNlbGVjdGVkTWF4VmFsdWUgLSB0aGlzLm1pbkRpZmZSYW5nZSk7XG4gICAgY29uc3QgbWF0aE1heCA9IE1hdGgubWF4KHZhbHVlLCB0aGlzLnNlbGVjdGVkTWluVmFsdWUgKyB0aGlzLm1pbkRpZmZSYW5nZSk7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3JhbmdlLXNsaWRlci1taW4nOlxuICAgICAgICB0aGlzLmJ1YmJsZVZhbHVlID0gdGhpcy5zZXRCdWJibGVWYWx1ZShtYXRoTWluKTtcbiAgICAgICAgZXZlbnRWYWx1ZSA9IG1hdGhNaW47XG4gICAgICAgIHRoaXMubWluU2VsZWN0ZWQgPSBldmVudFZhbHVlO1xuICAgICAgICBpZiAoZXZlbnRWYWx1ZSA+PSAodGhpcy5zZWxlY3RlZE1heFZhbHVlIC0gdGhpcy5taW5EaWZmUmFuZ2UpKSB7XG4gICAgICAgICAgdGhpcy5yYW5nZU1pbi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbWF0aE1pbi50b1N0cmluZygpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JhbmdlLXNsaWRlci1tYXgnOlxuICAgICAgICB0aGlzLmJ1YmJsZVZhbHVlID0gdGhpcy5zZXRCdWJibGVWYWx1ZShtYXRoTWF4KTtcbiAgICAgICAgZXZlbnRWYWx1ZSA9IG1hdGhNYXg7XG4gICAgICAgIHRoaXMubWF4U2VsZWN0ZWQgPSBldmVudFZhbHVlO1xuICAgICAgICBpZiAoZXZlbnRWYWx1ZSA8PSAodGhpcy5zZWxlY3RlZE1pblZhbHVlICsgdGhpcy5taW5EaWZmUmFuZ2UpKSB7XG4gICAgICAgICAgdGhpcy5yYW5nZU1heC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbWF0aE1heC50b1N0cmluZygpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFjdGl2YXRlQnViYmxlKHZhbHVlOiBudW1iZXIsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2hvd0J1YmJsZSA9IHRydWU7XG4gICAgdGhpcy5pc0J1YmJsZUFjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5zZXRCdWJibGVTdHlsZSh2YWx1ZSwgdHlwZSk7XG4gICAgdGhpcy5pc0J1YmJsZUFjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRCdWJibGVWYWx1ZSh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT09IHRoaXMubWluICYmIHR5cGVvZih0aGlzLm1pbkxhYmVsKSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuc2hvd0J1YmJsZVN1ZmZpeCA9IGZhbHNlO1xuICAgICAgcmV0dXJuIHRoaXMubWluTGFiZWw7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdGhpcy5tYXggJiYgdHlwZW9mKHRoaXMubWF4TGFiZWwpID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5zaG93QnViYmxlU3VmZml4ID0gZmFsc2U7XG4gICAgICByZXR1cm4gdGhpcy5tYXhMYWJlbDtcbiAgICB9XG4gICAgdGhpcy5zaG93QnViYmxlU3VmZml4ID0gdHJ1ZTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuXG59XG4iXX0=