@renaissancerentals/renaissance-component 10.0.25 → 10.0.28

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 (55) hide show
  1. package/lib/floorplan/card/FloorplanCard.d.ts +2 -2
  2. package/lib/floorplan/card/FloorplanCard.js +7 -7
  3. package/lib/floorplan/card/FloorplanCardSlider.js +13 -73
  4. package/lib/floorplan/card/FloorplanSliderCard.d.ts +8 -0
  5. package/lib/floorplan/card/FloorplanSliderCard.js +50 -0
  6. package/lib/floorplan/card/SimilarFloorplanCard.js +24 -42
  7. package/lib/floorplan/card/TestimonialsCard.js +8 -44
  8. package/lib/floorplan/card/assets/SimilarFloorplanCard.scss +47 -37
  9. package/lib/floorplan/card/assets/TestimonialsCard.scss +3 -23
  10. package/lib/floorplan/card/assets/camera-icon.png +0 -0
  11. package/lib/floorplan/data/Calendar.js +2 -2
  12. package/lib/floorplan/data/Floorplan.d.ts +17 -2
  13. package/lib/floorplan/data/Floorplan.js +2 -2
  14. package/lib/floorplan/data/FloorplanFilters.d.ts +1 -1
  15. package/lib/floorplan/data/FloorplanFilters.js +1 -1
  16. package/lib/floorplan/data/Unit.d.ts +6 -0
  17. package/lib/floorplan/data/Unit.js +1 -1
  18. package/lib/floorplan/section/FloorplanHero.d.ts +1 -0
  19. package/lib/floorplan/section/FloorplanHero.js +135 -12
  20. package/lib/floorplan/section/FloorplanSection.d.ts +0 -1
  21. package/lib/floorplan/section/FloorplanSection.js +75 -31
  22. package/lib/floorplan/section/FloorplansHeader.d.ts +3 -3
  23. package/lib/floorplan/section/FloorplansHeader.js +1 -1
  24. package/lib/floorplan/section/FloorplansSection.d.ts +2 -2
  25. package/lib/floorplan/section/FloorplansSection.js +1 -1
  26. package/lib/floorplan/section/HeroBadgeStats.d.ts +10 -0
  27. package/lib/floorplan/section/HeroBadgeStats.js +86 -0
  28. package/lib/floorplan/section/assets/BadgeStats.scss +5 -0
  29. package/lib/floorplan/section/assets/FloorplanHero.scss +90 -1
  30. package/lib/floorplan/section/assets/FloorplanSection.scss +0 -3
  31. package/lib/floorplan/section/assets/HeroBadgeStats.scss +74 -0
  32. package/lib/floorplan/section/filter/Availability.d.ts +4 -5
  33. package/lib/floorplan/section/filter/Availability.js +4 -4
  34. package/lib/floorplan/service/FloorplanService.d.ts +7 -6
  35. package/lib/floorplan/service/FloorplanService.js +76 -10
  36. package/lib/gallery/GalleryHeroMain.d.ts +13 -0
  37. package/lib/gallery/GalleryHeroMain.js +101 -0
  38. package/lib/gallery/GalleryHeroMobile.d.ts +11 -0
  39. package/lib/gallery/GalleryHeroMobile.js +100 -0
  40. package/lib/gallery/HeroImageCard.d.ts +8 -0
  41. package/lib/gallery/HeroImageCard.js +34 -0
  42. package/lib/gallery/assets/GalleryHero.scss +45 -153
  43. package/lib/gallery/assets/HeroImageCard.scss +29 -0
  44. package/lib/index.d.ts +5 -5
  45. package/lib/index.js +6 -6
  46. package/lib/property/assets/PropertyLocation.scss +1 -0
  47. package/lib/property/data/Property.d.ts +6 -1
  48. package/lib/property/data/Property.js +1 -1
  49. package/lib/service/GraphqlQuery.d.ts +2 -0
  50. package/lib/service/GraphqlQuery.js +22 -0
  51. package/lib/utils/Utils.d.ts +2 -0
  52. package/lib/utils/Utils.js +23 -11
  53. package/package.json +2 -2
  54. package/lib/gallery/GalleryHero.d.ts +0 -10
  55. package/lib/gallery/GalleryHero.js +0 -278
@@ -3,11 +3,99 @@
3
3
  .section-floorplan--hero {
4
4
  padding: 0;
5
5
  background: $primary-background-color;
6
+ width: 100vw;
7
+ position: relative;
6
8
 
7
9
  a {
8
10
  text-decoration: underline;
9
11
  }
10
12
 
13
+ .gallery-hero {
14
+ position: relative;
15
+ width: 100vw;
16
+ height: 40vh;
17
+ @media (min-width: $large-size) {
18
+ height: 40vw;
19
+ }
20
+
21
+ .virtual-tour-view {
22
+ iframe {
23
+ width: 100%;
24
+ height: 40vh;
25
+ @media (min-width: $large-size) {
26
+ height: 40vw;
27
+
28
+ }
29
+ }
30
+ }
31
+
32
+ .video-tour-view {
33
+ .single-video-layout {
34
+ iframe {
35
+ width: 100%;
36
+ height: 35vh;
37
+ @media (min-width: $large-size) {
38
+ height: 40vw;
39
+ }
40
+ }
41
+ }
42
+
43
+ .two-video-layout {
44
+ @media (min-width: $large-size) {
45
+ display: flex;
46
+ align-content: flex-start;
47
+ justify-content: space-evenly;
48
+ }
49
+
50
+ iframe {
51
+ width: 40%;
52
+ height: 35vh;
53
+ margin: 1rem;
54
+ @media (min-width: $large-size) {
55
+ height: 35vw;
56
+ }
57
+ }
58
+ }
59
+ }
60
+
61
+ .badge--stats {
62
+ position: absolute;
63
+ left: 50%;
64
+ transform: translate(-50%, -50%);
65
+ bottom: -2rem;
66
+
67
+ .muncher-badge {
68
+ color: $primary-background-color;
69
+ flex-wrap: nowrap;
70
+ break-inside: avoid;
71
+ align-content: center;
72
+ width: 60vw;
73
+ font-size: .7rem;
74
+ @media (min-width: $large-size) {
75
+ font-size: 1rem;
76
+ width: auto;
77
+ }
78
+
79
+ .muncher-button--small {
80
+ padding: 0;
81
+ color: $primary-background-color;
82
+ text-transform: capitalize;
83
+ font-size: .7rem;
84
+ font-family: $serif-font;
85
+ @media (min-width: $large-size) {
86
+ font-size: 1rem;
87
+ }
88
+
89
+ .selected {
90
+ text-decoration: underline;
91
+ }
92
+ }
93
+
94
+ }
95
+ }
96
+ }
97
+
98
+
11
99
  .floorplan--two-columns {
12
100
  padding: 2rem;
13
101
  @media (min-width: $medium-size) {
@@ -45,7 +133,8 @@
45
133
  font-family: $sans-serif-font;
46
134
  letter-spacing: .05rem;
47
135
  font-size: 1.1rem;
48
- .muncher-button{
136
+
137
+ .muncher-button {
49
138
  font-family: $sans-serif-font;
50
139
  letter-spacing: .05rem;
51
140
  font-size: 1.1rem;
@@ -43,9 +43,6 @@ $floorplan-background-color: $tertiary-color !default;
43
43
 
44
44
  li {
45
45
  font-size: 1rem;
46
- letter-spacing: .03rem;
47
- line-height: 1.5rem;
48
- font-weight: 300;
49
46
  }
50
47
  }
51
48
 
@@ -0,0 +1,74 @@
1
+ @import 'src/assets/variables';
2
+
3
+ .hero-badge--stats {
4
+ position: absolute;
5
+ left: 50%;
6
+ transform: translate(-50%, -50%);
7
+
8
+ .muncher-badge {
9
+ color: $primary-background-color;
10
+ flex-wrap: nowrap;
11
+ break-inside: avoid;
12
+ align-content: center;
13
+ justify-content: space-evenly;
14
+ width: 50vw;
15
+ font-size: .7rem;
16
+ margin: 0;
17
+ padding: .2rem;
18
+ @media (min-width: $large-size) {
19
+ font-size: 1rem;
20
+ width: auto;
21
+ }
22
+
23
+ .muncher-button--rounded {
24
+ border-radius: .5rem;
25
+ margin: .25rem;
26
+ min-height: 1.8rem;
27
+ min-width: 3rem;
28
+ }
29
+
30
+ .item {
31
+ display: flex;
32
+ flex-direction: column;
33
+ flex-wrap: wrap;
34
+ justify-content: center;
35
+ align-items: center;
36
+ @media (min-width: $large-size) {
37
+ padding: .25rem;
38
+ }
39
+
40
+ p {
41
+ font-size: .6rem;
42
+ margin: 0;
43
+ }
44
+ }
45
+
46
+ .selected {
47
+ text-decoration: underline;
48
+ font-weight: bold;
49
+ }
50
+
51
+ .muncher-button--small {
52
+ color: $primary-background-color;
53
+ text-transform: capitalize;
54
+ font-size: .7rem;
55
+ font-family: $serif-font;
56
+
57
+ img {
58
+ margin-right: .4rem;
59
+ }
60
+
61
+ p {
62
+ font-size: .7rem;
63
+ }
64
+ }
65
+
66
+ .camera-icon, .virtual-tour-icon {
67
+ height: .9rem;
68
+ }
69
+
70
+ .video-tour-icon {
71
+ height: .8rem;
72
+ }
73
+ }
74
+ }
@@ -1,9 +1,8 @@
1
1
  import React from "react";
2
- import { Month } from "../../data/Calendar";
3
- export declare const sortAvailability: (a: Month, b: Month) => number;
2
+ export declare const sortAvailability: (a: string, b: string) => number;
4
3
  export declare const AvailabilityFilter: React.FC<AvailabilityFilterProps>;
5
4
  export interface AvailabilityFilterProps {
6
- filters: Set<Month>;
7
- handleFilterChange: (filter: Month) => void;
8
- currentFilters: Month[];
5
+ filters: Set<string>;
6
+ handleFilterChange: (filter: string) => void;
7
+ currentFilters: string[];
9
8
  }
@@ -9,14 +9,14 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _muncherUi = require("@contentmunch/muncher-ui");
11
11
 
12
- var _Calendar = require("../../data/Calendar");
13
-
14
12
  var _FloorplanDropDown = require("../../filter/FloorplanDropDown");
15
13
 
14
+ var _moment = _interopRequireDefault(require("moment"));
15
+
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  var sortAvailability = function sortAvailability(a, b) {
19
- return _Calendar.fullMonths[a] - _Calendar.fullMonths[b];
19
+ return (0, _moment.default)(a, "MMM YYYY").diff((0, _moment.default)(b, "MMM YYYY"));
20
20
  };
21
21
 
22
22
  exports.sortAvailability = sortAvailability;
@@ -43,4 +43,4 @@ var AvailabilityFilter = function AvailabilityFilter(_ref) {
43
43
  };
44
44
 
45
45
  exports.AvailabilityFilter = AvailabilityFilter;
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzb3J0QXZhaWxhYmlsaXR5IiwiYSIsImIiLCJmdWxsTW9udGhzIiwiQXZhaWxhYmlsaXR5RmlsdGVyIiwiZmlsdGVycyIsImhhbmRsZUZpbHRlckNoYW5nZSIsImN1cnJlbnRGaWx0ZXJzIiwiQXJyYXkiLCJmcm9tIiwia2V5cyIsInNvcnQiLCJtYXAiLCJmaWx0ZXIiLCJ0b1N0cmluZyIsImluZGV4T2YiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vZmlsdGVyL0F2YWlsYWJpbGl0eS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtDaGVja2JveH0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IHtmdWxsTW9udGhzLCBNb250aH0gZnJvbSBcIi4uLy4uL2RhdGEvQ2FsZW5kYXJcIjtcbmltcG9ydCB7RHJvcERvd25GaWx0ZXJ9IGZyb20gXCIuLi8uLi9maWx0ZXIvRmxvb3JwbGFuRHJvcERvd25cIjtcblxuZXhwb3J0IGNvbnN0IHNvcnRBdmFpbGFiaWxpdHkgPSAoYTogTW9udGgsIGI6IE1vbnRoKSA9PiAoZnVsbE1vbnRoc1thXSAtIGZ1bGxNb250aHNbYl0pO1xuZXhwb3J0IGNvbnN0IEF2YWlsYWJpbGl0eUZpbHRlcjogUmVhY3QuRkM8QXZhaWxhYmlsaXR5RmlsdGVyUHJvcHM+ID0gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRmlsdGVyQ2hhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RmlsdGVyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxEcm9wRG93bkZpbHRlciBsYWJlbD1cIkF2YWlsYWJpbGl0eVwiPlxuICAgICAgICAgICAge0FycmF5LmZyb20oZmlsdGVycy5rZXlzKCkpLnNvcnQoc29ydEF2YWlsYWJpbGl0eSkubWFwKChmaWx0ZXI6IE1vbnRoKSA9PiAoXG4gICAgICAgICAgICAgICAgPENoZWNrYm94IGtleT17ZmlsdGVyLnRvU3RyaW5nKCl9IGxhYmVsPXtmaWx0ZXIudG9TdHJpbmcoKX0gbmFtZT17ZmlsdGVyLnRvU3RyaW5nKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVGaWx0ZXJDaGFuZ2UoZmlsdGVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXsoKSA9PiBjdXJyZW50RmlsdGVycy5pbmRleE9mKGZpbHRlcikgPiAtMX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvRHJvcERvd25GaWx0ZXI+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZhaWxhYmlsaXR5RmlsdGVyUHJvcHMge1xuICAgIGZpbHRlcnM6IFNldDxNb250aD47XG4gICAgaGFuZGxlRmlsdGVyQ2hhbmdlOiAoZmlsdGVyOiBNb250aCkgPT4gdm9pZDtcbiAgICBjdXJyZW50RmlsdGVyczogTW9udGhbXTtcbn0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVPLElBQU1BLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQ0MsQ0FBRCxFQUFXQyxDQUFYO0VBQUEsT0FBeUJDLG9CQUFBLENBQVdGLENBQVgsSUFBZ0JFLG9CQUFBLENBQVdELENBQVgsQ0FBekM7QUFBQSxDQUF6Qjs7OztBQUNBLElBQU1FLGtCQUFxRCxHQUFHLFNBQXhEQSxrQkFBd0QsT0FJTztFQUFBLElBSEZDLE9BR0UsUUFIRkEsT0FHRTtFQUFBLElBRkZDLGtCQUVFLFFBRkZBLGtCQUVFO0VBQUEsSUFERkMsY0FDRSxRQURGQSxjQUNFO0VBRXhFLG9CQUNJLDZCQUFDLGlDQUFEO0lBQWdCLEtBQUssRUFBQztFQUF0QixHQUNLQyxLQUFLLENBQUNDLElBQU4sQ0FBV0osT0FBTyxDQUFDSyxJQUFSLEVBQVgsRUFBMkJDLElBQTNCLENBQWdDWCxnQkFBaEMsRUFBa0RZLEdBQWxELENBQXNELFVBQUNDLE1BQUQ7SUFBQSxvQkFDbkQsNkJBQUMsbUJBQUQ7TUFBVSxHQUFHLEVBQUVBLE1BQU0sQ0FBQ0MsUUFBUCxFQUFmO01BQWtDLEtBQUssRUFBRUQsTUFBTSxDQUFDQyxRQUFQLEVBQXpDO01BQTRELElBQUksRUFBRUQsTUFBTSxDQUFDQyxRQUFQLEVBQWxFO01BQ1UsUUFBUSxFQUFFLG9CQUFNO1FBQ1pSLGtCQUFrQixDQUFDTyxNQUFELENBQWxCO01BQ0gsQ0FIWDtNQUlVLE9BQU8sRUFBRTtRQUFBLE9BQU1OLGNBQWMsQ0FBQ1EsT0FBZixDQUF1QkYsTUFBdkIsSUFBaUMsQ0FBQyxDQUF4QztNQUFBO0lBSm5CLEVBRG1EO0VBQUEsQ0FBdEQsQ0FETCxDQURKO0FBWUgsQ0FsQk0ifQ==
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzb3J0QXZhaWxhYmlsaXR5IiwiYSIsImIiLCJtb21lbnQiLCJkaWZmIiwiQXZhaWxhYmlsaXR5RmlsdGVyIiwiZmlsdGVycyIsImhhbmRsZUZpbHRlckNoYW5nZSIsImN1cnJlbnRGaWx0ZXJzIiwiQXJyYXkiLCJmcm9tIiwia2V5cyIsInNvcnQiLCJtYXAiLCJmaWx0ZXIiLCJ0b1N0cmluZyIsImluZGV4T2YiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vZmlsdGVyL0F2YWlsYWJpbGl0eS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtDaGVja2JveH0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IHtEcm9wRG93bkZpbHRlcn0gZnJvbSBcIi4uLy4uL2ZpbHRlci9GbG9vcnBsYW5Ecm9wRG93blwiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5cbmV4cG9ydCBjb25zdCBzb3J0QXZhaWxhYmlsaXR5ID0gKGE6IHN0cmluZywgYjogc3RyaW5nKSA9PiBtb21lbnQoYSwgXCJNTU0gWVlZWVwiKS5kaWZmKG1vbWVudChiLCBcIk1NTSBZWVlZXCIpKTtcblxuZXhwb3J0IGNvbnN0IEF2YWlsYWJpbGl0eUZpbHRlcjogUmVhY3QuRkM8QXZhaWxhYmlsaXR5RmlsdGVyUHJvcHM+ID0gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRmlsdGVyQ2hhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RmlsdGVyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pID0+IHtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxEcm9wRG93bkZpbHRlciBsYWJlbD1cIkF2YWlsYWJpbGl0eVwiPlxuICAgICAgICAgICAge0FycmF5LmZyb20oZmlsdGVycy5rZXlzKCkpLnNvcnQoc29ydEF2YWlsYWJpbGl0eSkubWFwKChmaWx0ZXI6IHN0cmluZykgPT4gKFxuICAgICAgICAgICAgICAgIDxDaGVja2JveCBrZXk9e2ZpbHRlci50b1N0cmluZygpfSBsYWJlbD17ZmlsdGVyLnRvU3RyaW5nKCl9IG5hbWU9e2ZpbHRlci50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRmlsdGVyQ2hhbmdlKGZpbHRlcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17KCkgPT4gY3VycmVudEZpbHRlcnMuaW5kZXhPZihmaWx0ZXIpID4gLTF9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L0Ryb3BEb3duRmlsdGVyPlxuICAgICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEF2YWlsYWJpbGl0eUZpbHRlclByb3BzIHtcbiAgICBmaWx0ZXJzOiBTZXQ8c3RyaW5nPjtcbiAgICBoYW5kbGVGaWx0ZXJDaGFuZ2U6IChmaWx0ZXI6IHN0cmluZykgPT4gdm9pZDtcbiAgICBjdXJyZW50RmlsdGVyczogc3RyaW5nW107XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFTyxJQUFNQSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNDLENBQUQsRUFBWUMsQ0FBWjtFQUFBLE9BQTBCLElBQUFDLGVBQUEsRUFBT0YsQ0FBUCxFQUFVLFVBQVYsRUFBc0JHLElBQXRCLENBQTJCLElBQUFELGVBQUEsRUFBT0QsQ0FBUCxFQUFVLFVBQVYsQ0FBM0IsQ0FBMUI7QUFBQSxDQUF6Qjs7OztBQUVBLElBQU1HLGtCQUFxRCxHQUFHLFNBQXhEQSxrQkFBd0QsT0FJTztFQUFBLElBSEZDLE9BR0UsUUFIRkEsT0FHRTtFQUFBLElBRkZDLGtCQUVFLFFBRkZBLGtCQUVFO0VBQUEsSUFERkMsY0FDRSxRQURGQSxjQUNFO0VBRXhFLG9CQUNJLDZCQUFDLGlDQUFEO0lBQWdCLEtBQUssRUFBQztFQUF0QixHQUNLQyxLQUFLLENBQUNDLElBQU4sQ0FBV0osT0FBTyxDQUFDSyxJQUFSLEVBQVgsRUFBMkJDLElBQTNCLENBQWdDWixnQkFBaEMsRUFBa0RhLEdBQWxELENBQXNELFVBQUNDLE1BQUQ7SUFBQSxvQkFDbkQsNkJBQUMsbUJBQUQ7TUFBVSxHQUFHLEVBQUVBLE1BQU0sQ0FBQ0MsUUFBUCxFQUFmO01BQWtDLEtBQUssRUFBRUQsTUFBTSxDQUFDQyxRQUFQLEVBQXpDO01BQTRELElBQUksRUFBRUQsTUFBTSxDQUFDQyxRQUFQLEVBQWxFO01BQ1UsUUFBUSxFQUFFLG9CQUFNO1FBQ1pSLGtCQUFrQixDQUFDTyxNQUFELENBQWxCO01BQ0gsQ0FIWDtNQUlVLE9BQU8sRUFBRTtRQUFBLE9BQU1OLGNBQWMsQ0FBQ1EsT0FBZixDQUF1QkYsTUFBdkIsSUFBaUMsQ0FBQyxDQUF4QztNQUFBO0lBSm5CLEVBRG1EO0VBQUEsQ0FBdEQsQ0FETCxDQURKO0FBWUgsQ0FsQk0ifQ==
@@ -1,12 +1,13 @@
1
1
  import { CurrentFilters, FloorplanFilters, SortBy } from "../data/FloorplanFilters";
2
- import { Floorplan, FloorplanDetails, FloorplanSpotlight, FloorplanVariation, SimilarFloorplan, Testimonial } from "../data/Floorplan";
3
- import { PropertyId } from "../../property/data/Property";
2
+ import { Floorplan, FloorplanCardData, FloorplanDetails, FloorplanSpotlight, FloorplanVariation, SimilarFloorplan, Testimonial } from "../data/Floorplan";
3
+ import { PropertyFilterData, PropertyId } from "../../property/data/Property";
4
4
  import { Unit } from "../data/Unit";
5
5
  export declare const convertToHttps: (url: string) => string;
6
- export declare const getFloorplans: (propertyId: PropertyId) => Promise<FloorplanDetails[]>;
7
- export declare const sortAndFilter: (floorplans: FloorplanDetails[], currentFilters: CurrentFilters) => FloorplanDetails[];
8
- export declare const sortFloorplans: (floorplans: FloorplanDetails[], sortBy: SortBy) => FloorplanDetails[];
9
- export declare const filtersFrom: (floorplans: FloorplanDetails[]) => FloorplanFilters;
6
+ export declare const getAllPropertyFilterData: () => Promise<PropertyFilterData[]>;
7
+ export declare const getFloorplansFilterData: (propertyId: PropertyId) => Promise<FloorplanCardData[]>;
8
+ export declare const sortAndFilter: (floorplans: FloorplanCardData[], currentFilters: CurrentFilters) => FloorplanCardData[];
9
+ export declare const sortFloorplans: (floorplans: FloorplanCardData[], sortBy: SortBy) => FloorplanCardData[];
10
+ export declare const filtersFrom: (floorplans: FloorplanCardData[]) => FloorplanFilters;
10
11
  export declare const getFeaturedFloorplans: () => Promise<FloorplanSpotlight[]>;
11
12
  export declare const getAllActiveFloorplans: () => Promise<FloorplanDetails[]>;
12
13
  export declare const getFloorplan: (floorplanId: string) => Promise<Floorplan>;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.sortFloorplans = exports.sortAndFilter = exports.petPolicy = exports.permittedPets = exports.notPermittedPets = exports.isFloorplanAvailable = exports.getUnitsFor = exports.getTestimonials = exports.getSimilarFloorplans = exports.getFloorplans = exports.getFloorplanVariations = exports.getFloorplan = exports.getFeaturedFloorplans = exports.getAllActiveFloorplans = exports.filtersFrom = exports.convertToHttps = void 0;
6
+ exports.sortFloorplans = exports.sortAndFilter = exports.petPolicy = exports.permittedPets = exports.notPermittedPets = exports.isFloorplanAvailable = exports.getUnitsFor = exports.getTestimonials = exports.getSimilarFloorplans = exports.getFloorplansFilterData = exports.getFloorplanVariations = exports.getFloorplan = exports.getFeaturedFloorplans = exports.getAllPropertyFilterData = exports.getAllActiveFloorplans = exports.filtersFrom = exports.convertToHttps = void 0;
7
7
 
8
8
  var _lodash = _interopRequireDefault(require("lodash"));
9
9
 
@@ -17,6 +17,8 @@ var _Utils = require("../../utils/Utils");
17
17
 
18
18
  var _Unit = require("../data/Unit");
19
19
 
20
+ var _GraphqlQuery = _interopRequireDefault(require("../../service/GraphqlQuery"));
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
@@ -38,13 +40,71 @@ var convertToHttps = function convertToHttps(url) {
38
40
 
39
41
  exports.convertToHttps = convertToHttps;
40
42
 
41
- var getFloorplans = function getFloorplans(propertyId) {
42
- return _AdminApi.default.get("properties/" + propertyId + "/floorplans?projection=details").then(function (response) {
43
- return response.data._embedded.floorplans;
43
+ var getAllPropertyFilterDataQuery = function getAllPropertyFilterDataQuery() {
44
+ return '{ \
45
+ properties { \
46
+ name active \
47
+ floorplans { \
48
+ id name active bedroom bathroom coverImage featured \
49
+ threeSixtyVideoTourLink videoTourLink style \
50
+ units { \
51
+ rent squareFoot active moveInDate \
52
+ } \
53
+ } \
54
+ } \
55
+ }';
56
+ };
57
+
58
+ var getAllPropertyFilterData = function getAllPropertyFilterData() {
59
+ return (0, _GraphqlQuery.default)(getAllPropertyFilterDataQuery()).then(function (response) {
60
+ var properties = response.data.data.properties.filter(function (property) {
61
+ return property.active;
62
+ });
63
+ properties.forEach(function (property) {
64
+ property.floorplans = property.floorplans.filter(function (floorplan) {
65
+ return floorplan.active;
66
+ });
67
+ property.floorplans.forEach(function (floorplan) {
68
+ floorplan.units = floorplan.units.filter(function (unit) {
69
+ return unit.active;
70
+ });
71
+ });
72
+ });
73
+ return properties;
44
74
  });
45
75
  };
46
76
 
47
- exports.getFloorplans = getFloorplans;
77
+ exports.getAllPropertyFilterData = getAllPropertyFilterData;
78
+
79
+ var getFloorplansFilterDataQuery = function getFloorplansFilterDataQuery(propertyId) {
80
+ return '{ \
81
+ property(id: "' + propertyId + '") { \
82
+ floorplans { \
83
+ id name active bedroom bathroom coverImage featured \
84
+ threeSixtyVideoTourLink videoTourLink style \
85
+ units { \
86
+ rent squareFoot active moveInDate \
87
+ } \
88
+ } \
89
+ } \
90
+ }';
91
+ };
92
+
93
+ var getFloorplansFilterData = function getFloorplansFilterData(propertyId) {
94
+ return (0, _GraphqlQuery.default)(getFloorplansFilterDataQuery(propertyId)).then(function (response) {
95
+ var floorplans = response.data.data.property.floorplans.filter(function (floorplan) {
96
+ return floorplan.active;
97
+ });
98
+ floorplans.forEach(function (floorplan) {
99
+ floorplan.units = floorplan.units.filter(function (unit) {
100
+ return unit.active;
101
+ });
102
+ });
103
+ return floorplans;
104
+ });
105
+ };
106
+
107
+ exports.getFloorplansFilterData = getFloorplansFilterData;
48
108
 
49
109
  var sortAndFilter = function sortAndFilter(floorplans, currentFilters) {
50
110
  return sortFloorplans(floorplans.filter(function (floorplan) {
@@ -54,13 +114,19 @@ var sortAndFilter = function sortAndFilter(floorplans, currentFilters) {
54
114
 
55
115
  exports.sortAndFilter = sortAndFilter;
56
116
 
57
- var moveInDateToMonth = function moveInDateToMonth(moveInDate) {
58
- return (0, _moment.default)(moveInDate, "YYYY-MM-DD").format('MMM');
117
+ var isDateWithinTwelveMonths = function isDateWithinTwelveMonths(date) {
118
+ var today = (0, _moment.default)();
119
+ var diff = (0, _moment.default)(date, "YYYY-MM-DD").diff(today, 'months', false);
120
+ return diff > 0 && diff < 12;
121
+ };
122
+
123
+ var moveInDateToMonthYear = function moveInDateToMonthYear(moveInDate) {
124
+ return (0, _moment.default)(moveInDate, "YYYY-MM-DD").format('MMM YYYY');
59
125
  };
60
126
 
61
127
  var isAvailable = function isAvailable(floorplan, availabilityFilters) {
62
128
  return availabilityFilters.length === 0 ? true : floorplan.units.some(function (unit) {
63
- return availabilityFilters.indexOf(moveInDateToMonth(unit.moveInDate)) > -1;
129
+ return availabilityFilters.indexOf(moveInDateToMonthYear(unit.moveInDate)) > -1;
64
130
  });
65
131
  };
66
132
 
@@ -107,7 +173,7 @@ var filtersFrom = function filtersFrom(floorplans) {
107
173
  bedroomFilters.add(floorplan.bedroom);
108
174
  styleFilters.add(floorplan.style);
109
175
  floorplan.units.forEach(function (value) {
110
- if (value.moveInDate) availabilityFilters.add(moveInDateToMonth(value.moveInDate));
176
+ if (value.moveInDate && isDateWithinTwelveMonths(value.moveInDate)) availabilityFilters.add(moveInDateToMonthYear(value.moveInDate));
111
177
  });
112
178
  });
113
179
  return {
@@ -249,4 +315,4 @@ var unitWithMostAllowedPet = function unitWithMostAllowedPet(units) {
249
315
  return petOrdinal(b.allowedPet) - petOrdinal(a.allowedPet);
250
316
  }).pop();
251
317
  };
252
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb252ZXJ0VG9IdHRwcyIsInVybCIsInJlcGxhY2UiLCJnZXRGbG9vcnBsYW5zIiwicHJvcGVydHlJZCIsIkFkbWluQXBpIiwiZ2V0IiwidGhlbiIsInJlc3BvbnNlIiwiZGF0YSIsIl9lbWJlZGRlZCIsImZsb29ycGxhbnMiLCJzb3J0QW5kRmlsdGVyIiwiY3VycmVudEZpbHRlcnMiLCJzb3J0Rmxvb3JwbGFucyIsImZpbHRlciIsImZsb29ycGxhbiIsImZpbHRlck1hdGNoZXMiLCJzb3J0QnkiLCJtb3ZlSW5EYXRlVG9Nb250aCIsIm1vdmVJbkRhdGUiLCJtb21lbnQiLCJmb3JtYXQiLCJpc0F2YWlsYWJsZSIsImF2YWlsYWJpbGl0eUZpbHRlcnMiLCJsZW5ndGgiLCJ1bml0cyIsInNvbWUiLCJ1bml0IiwiaW5kZXhPZiIsImlzQmVkcm9vbXNNYXRjaCIsImJlZHJvb21GaWx0ZXJzIiwiYmVkcm9vbSIsImlzU3R5bGVNYXRjaCIsInN0eWxlRmlsdGVycyIsInN0eWxlIiwiaXNJblByaWNlUmFuZ2UiLCJtaW5SZW50IiwibWF4UmVudCIsIm1pbk1heCIsIm1pbnVtTWF4aW11bSIsIm1pbiIsIm1heCIsIlNvcnRGaWVsZHMiLCJzb3J0RmllbGQiLCJvcmRlciIsInNvcnQiLCJhIiwiYiIsIl8iLCJvcmRlckJ5IiwiZmlsdGVyc0Zyb20iLCJTZXQiLCJmb3JFYWNoIiwiYWRkIiwidmFsdWUiLCJhdmFpbGFiaWxpdHkiLCJnZXRGZWF0dXJlZEZsb29ycGxhbnMiLCJmZWF0dXJlZCIsInByb3BlcnR5IiwiYWN0aXZlIiwiZ2V0QWxsQWN0aXZlRmxvb3JwbGFucyIsImdldEZsb29ycGxhbiIsImZsb29ycGxhbklkIiwiZ2V0VW5pdHNGb3IiLCJnZXRTaW1pbGFyRmxvb3JwbGFucyIsImdldEZsb29ycGxhblZhcmlhdGlvbnMiLCJ0b2RheSIsImlzRmxvb3JwbGFuQXZhaWxhYmxlIiwiaXNBZnRlciIsImRhdGVUb01vbWVudCIsImdldFRlc3RpbW9uaWFscyIsInBlcm1pdHRlZFBldHMiLCJ1bml0V2l0aE1vc3RBbGxvd2VkUGV0IiwiYWxsb3dlZFBldCIsIlBldCIsIkxBUkdFX0RPR19TTUFMTF9ET0dfQ0FUIiwiU01BTExfRE9HX0NBVCIsIkNBVCIsIm5vdFBlcm1pdHRlZFBldHMiLCJOT19QRVQiLCJwZXRQb2xpY3kiLCJwZXRPcmRpbmFsIiwicGV0IiwiT2JqZWN0Iiwia2V5cyIsInBvcCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mbG9vcnBsYW4vc2VydmljZS9GbG9vcnBsYW5TZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge01vbnRofSBmcm9tIFwiLi4vZGF0YS9DYWxlbmRhclwiO1xuaW1wb3J0IHtDdXJyZW50RmlsdGVycywgRmxvb3JwbGFuRmlsdGVycywgU29ydEJ5LCBTb3J0RmllbGRzfSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5GaWx0ZXJzXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCBBZG1pbkFwaSBmcm9tIFwiLi4vLi4vc2VydmljZS9BZG1pbkFwaVwiO1xuaW1wb3J0IHtcbiAgICBGbG9vcnBsYW4sXG4gICAgRmxvb3JwbGFuRGV0YWlscyxcbiAgICBGbG9vcnBsYW5TcG90bGlnaHQsXG4gICAgRmxvb3JwbGFuU3R5bGUsXG4gICAgRmxvb3JwbGFuVmFyaWF0aW9uLFxuICAgIFNpbWlsYXJGbG9vcnBsYW4sXG4gICAgVGVzdGltb25pYWxcbn0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge2RhdGVUb01vbWVudCwgbWludW1NYXhpbXVtfSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7UHJvcGVydHlJZH0gZnJvbSBcIi4uLy4uL3Byb3BlcnR5L2RhdGEvUHJvcGVydHlcIjtcbmltcG9ydCB7UGV0LCBVbml0fSBmcm9tIFwiLi4vZGF0YS9Vbml0XCI7XG5cblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRUb0h0dHBzID0gKHVybDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBpZiAodXJsID09PSBudWxsKVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoL15odHRwOlxcL1xcLy9pLCAnaHR0cHM6Ly8nKTtcbn07XG5leHBvcnQgY29uc3QgZ2V0Rmxvb3JwbGFucyA9IChwcm9wZXJ0eUlkOiBQcm9wZXJ0eUlkKTogUHJvbWlzZTxGbG9vcnBsYW5EZXRhaWxzW10+ID0+IHtcblxuICAgIHJldHVybiBBZG1pbkFwaS5nZXQoXCJwcm9wZXJ0aWVzL1wiICsgcHJvcGVydHlJZCArIFwiL2Zsb29ycGxhbnM/cHJvamVjdGlvbj1kZXRhaWxzXCIpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YS5fZW1iZWRkZWQuZmxvb3JwbGFucyk7XG59O1xuZXhwb3J0IGNvbnN0IHNvcnRBbmRGaWx0ZXIgPSAoZmxvb3JwbGFuczogRmxvb3JwbGFuRGV0YWlsc1tdLCBjdXJyZW50RmlsdGVyczogQ3VycmVudEZpbHRlcnMpOiBGbG9vcnBsYW5EZXRhaWxzW10gPT4ge1xuICAgIHJldHVybiBzb3J0Rmxvb3JwbGFucyhmbG9vcnBsYW5zLmZpbHRlcihmbG9vcnBsYW4gPT4gZmlsdGVyTWF0Y2hlcyhmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzKSksIGN1cnJlbnRGaWx0ZXJzLnNvcnRCeSk7XG59O1xuXG5jb25zdCBtb3ZlSW5EYXRlVG9Nb250aCA9IChtb3ZlSW5EYXRlOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nID0+IG1vbWVudChtb3ZlSW5EYXRlLCBcIllZWVktTU0tRERcIikuZm9ybWF0KCdNTU0nKTtcblxuY29uc3QgaXNBdmFpbGFibGUgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5EZXRhaWxzLCBhdmFpbGFiaWxpdHlGaWx0ZXJzOiBNb250aFtdKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIGF2YWlsYWJpbGl0eUZpbHRlcnMubGVuZ3RoID09PSAwID8gdHJ1ZSA6XG4gICAgICAgIGZsb29ycGxhbi51bml0cy5zb21lKCh1bml0KSA9PiBhdmFpbGFiaWxpdHlGaWx0ZXJzLmluZGV4T2YobW92ZUluRGF0ZVRvTW9udGgodW5pdC5tb3ZlSW5EYXRlKSkgPiAtMSk7XG59O1xuY29uc3QgaXNCZWRyb29tc01hdGNoID0gKGZsb29ycGxhbjogRmxvb3JwbGFuRGV0YWlscywgYmVkcm9vbUZpbHRlcnM6IG51bWJlcltdKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIGJlZHJvb21GaWx0ZXJzLmxlbmd0aCA9PT0gMCA/IHRydWUgOiBiZWRyb29tRmlsdGVycy5pbmRleE9mKGZsb29ycGxhbi5iZWRyb29tKSA+IC0xO1xufTtcbmNvbnN0IGlzU3R5bGVNYXRjaCA9IChmbG9vcnBsYW46IEZsb29ycGxhbkRldGFpbHMsIHN0eWxlRmlsdGVyczogRmxvb3JwbGFuU3R5bGVbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBzdHlsZUZpbHRlcnMubGVuZ3RoID09PSAwID8gdHJ1ZSA6IHN0eWxlRmlsdGVycy5pbmRleE9mKGZsb29ycGxhbi5zdHlsZSkgPiAtMTtcbn1cbmNvbnN0IGlzSW5QcmljZVJhbmdlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuRGV0YWlscywgbWluUmVudDogbnVtYmVyLCBtYXhSZW50OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBtaW5NYXggPSBtaW51bU1heGltdW0oZmxvb3JwbGFuLnVuaXRzLCBcInJlbnRcIik7XG4gICAgcmV0dXJuIG1pbk1heC5taW4gPj0gbWluUmVudCAmJiBtaW5NYXgubWF4IDw9IG1heFJlbnQ7XG59XG5cbmNvbnN0IGZpbHRlck1hdGNoZXMgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5EZXRhaWxzLCBjdXJyZW50RmlsdGVyczogQ3VycmVudEZpbHRlcnMpID0+IHtcbiAgICByZXR1cm4gaXNBdmFpbGFibGUoZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycy5hdmFpbGFiaWxpdHlGaWx0ZXJzKSAmJlxuICAgICAgICBpc0luUHJpY2VSYW5nZShmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLm1pblJlbnQsIGN1cnJlbnRGaWx0ZXJzLm1heFJlbnQpICYmXG4gICAgICAgIGlzU3R5bGVNYXRjaChmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLnN0eWxlRmlsdGVycykgJiZcbiAgICAgICAgaXNCZWRyb29tc01hdGNoKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMuYmVkcm9vbUZpbHRlcnMpO1xufVxuZXhwb3J0IGNvbnN0IHNvcnRGbG9vcnBsYW5zID0gKGZsb29ycGxhbnM6IEZsb29ycGxhbkRldGFpbHNbXSwgc29ydEJ5OiBTb3J0QnkpOiBGbG9vcnBsYW5EZXRhaWxzW10gPT4ge1xuICAgIGlmIChTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkID09PSBcIm1pblJhdGVcIiAmJiBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIgPT09IFwiYXNjXCIpIHtcbiAgICAgICAgcmV0dXJuIGZsb29ycGxhbnMuc29ydCgoYSwgYikgPT4gbWludW1NYXhpbXVtKGEudW5pdHMsIFwicmVudFwiKS5taW4gLSBtaW51bU1heGltdW0oYi51bml0cywgXCJyZW50XCIpLm1pbik7XG4gICAgfVxuICAgIGlmIChTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkID09PSBcIm1pblJhdGVcIiAmJiBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIgPT09IFwiZGVzY1wiKSB7XG4gICAgICAgIHJldHVybiBmbG9vcnBsYW5zLnNvcnQoKGEsIGIpID0+IG1pbnVtTWF4aW11bShiLnVuaXRzLCBcInJlbnRcIikubWluIC0gbWludW1NYXhpbXVtKGEudW5pdHMsIFwicmVudFwiKS5taW4pO1xuICAgIH1cbiAgICByZXR1cm4gXy5vcmRlckJ5KGZsb29ycGxhbnMsIFNvcnRGaWVsZHNbc29ydEJ5XS5zb3J0RmllbGQsIFNvcnRGaWVsZHNbc29ydEJ5XS5vcmRlcik7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJzRnJvbSA9IChmbG9vcnBsYW5zOiBGbG9vcnBsYW5EZXRhaWxzW10pOiBGbG9vcnBsYW5GaWx0ZXJzID0+IHtcblxuICAgIGNvbnN0IGJlZHJvb21GaWx0ZXJzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gICAgY29uc3QgYXZhaWxhYmlsaXR5RmlsdGVycyA9IG5ldyBTZXQ8TW9udGg+KCk7XG4gICAgY29uc3Qgc3R5bGVGaWx0ZXJzID0gbmV3IFNldDxGbG9vcnBsYW5TdHlsZT4oKTtcblxuICAgIGZsb29ycGxhbnMuZm9yRWFjaChmbG9vcnBsYW4gPT4ge1xuICAgICAgICBiZWRyb29tRmlsdGVycy5hZGQoZmxvb3JwbGFuLmJlZHJvb20pO1xuICAgICAgICBzdHlsZUZpbHRlcnMuYWRkKGZsb29ycGxhbi5zdHlsZSk7XG5cbiAgICAgICAgZmxvb3JwbGFuLnVuaXRzLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUubW92ZUluRGF0ZSlcbiAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlGaWx0ZXJzLmFkZChtb3ZlSW5EYXRlVG9Nb250aCh2YWx1ZS5tb3ZlSW5EYXRlKSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGJlZHJvb206IGJlZHJvb21GaWx0ZXJzLFxuICAgICAgICBhdmFpbGFiaWxpdHk6IGF2YWlsYWJpbGl0eUZpbHRlcnMsXG4gICAgICAgIHN0eWxlOiBzdHlsZUZpbHRlcnNcbiAgICB9XG59O1xuXG5cbmV4cG9ydCBjb25zdCBnZXRGZWF0dXJlZEZsb29ycGxhbnMgPSAoKTogUHJvbWlzZTxGbG9vcnBsYW5TcG90bGlnaHRbXT4gPT4ge1xuXG4gICAgcmV0dXJuIEFkbWluQXBpLmdldChcImZsb29ycGxhbnM/cHJvamVjdGlvbj1zcG90bGlnaHQmc2l6ZT0yMDBcIilcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT5cbiAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEuX2VtYmVkZGVkLmZsb29ycGxhbnMuZmlsdGVyKChmbG9vcnBsYW46IEZsb29ycGxhblNwb3RsaWdodCkgPT4gZmxvb3JwbGFuLmZlYXR1cmVkICYmIGZsb29ycGxhbi5wcm9wZXJ0eS5hY3RpdmUpXG4gICAgICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWxsQWN0aXZlRmxvb3JwbGFucyA9ICgpOiBQcm9taXNlPEZsb29ycGxhbkRldGFpbHNbXT4gPT4ge1xuXG4gICAgcmV0dXJuIEFkbWluQXBpLmdldChcImZsb29ycGxhbnM/cHJvamVjdGlvbj1kZXRhaWxzJnNpemU9MjAwXCIpXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+XG4gICAgICAgICAgICByZXNwb25zZS5kYXRhLl9lbWJlZGRlZC5mbG9vcnBsYW5zXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoZmxvb3JwbGFuOiBGbG9vcnBsYW4pID0+IGZsb29ycGxhbi5hY3RpdmUpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoZmxvb3JwbGFuOiBGbG9vcnBsYW4pID0+IGZsb29ycGxhbi5zdHlsZSAhPT0gXCJHQVJBR0VcIilcbiAgICAgICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGbG9vcnBsYW4gPSAoZmxvb3JwbGFuSWQ6IHN0cmluZyk6IFByb21pc2U8Rmxvb3JwbGFuPiA9PlxuICAgIEFkbWluQXBpLmdldChcImZsb29ycGxhbnMvXCIgKyBmbG9vcnBsYW5JZCArIFwiP3Byb2plY3Rpb249d2l0aElkXCIpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSk7XG5cbmV4cG9ydCBjb25zdCBnZXRVbml0c0ZvciA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxVbml0W10+ID0+XG4gICAgQWRtaW5BcGkuZ2V0KFwidW5pdHMvYnlGbG9vcnBsYW4/Zmxvb3JwbGFuSWQ9XCIgKyBmbG9vcnBsYW5JZCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKTtcblxuZXhwb3J0IGNvbnN0IGdldFNpbWlsYXJGbG9vcnBsYW5zID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPFNpbWlsYXJGbG9vcnBsYW5bXT4gPT5cbiAgICBBZG1pbkFwaS5nZXQoXCJzaW1pbGFyRmxvb3JwbGFucy9ieUZsb29ycGxhbj9mbG9vcnBsYW5JZD1cIiArIGZsb29ycGxhbklkKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpO1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxGbG9vcnBsYW5WYXJpYXRpb25bXT4gPT5cbiAgICBBZG1pbkFwaS5nZXQoXCJmbG9vcnBsYW5WYXJpYXRpb25zL2J5Rmxvb3JwbGFuP2Zsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSk7XG5jb25zdCB0b2RheSA9IG1vbWVudCgpO1xuZXhwb3J0IGNvbnN0IGlzRmxvb3JwbGFuQXZhaWxhYmxlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogYm9vbGVhbiA9PiBmbG9vcnBsYW4udW5pdHMuc29tZSgodW5pdCkgPT4gdG9kYXkuaXNBZnRlcihkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKSkpO1xuZXhwb3J0IGNvbnN0IGdldFRlc3RpbW9uaWFscyA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxUZXN0aW1vbmlhbFtdPiA9PlxuICAgIEFkbWluQXBpLmdldChcInRlc3RpbW9uaWFscy9ieUZsb29ycGxhbj9mbG9vcnBsYW5JZD1cIiArIGZsb29ycGxhbklkKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpO1xuXG5cbmV4cG9ydCBjb25zdCBwZXJtaXR0ZWRQZXRzID0gKGZsb29ycGxhbjogRmxvb3JwbGFuKTogc3RyaW5nW10gPT4ge1xuXG4gICAgY29uc3QgdW5pdCA9IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQoWy4uLmZsb29ycGxhbi51bml0c10pO1xuXG4gICAgc3dpdGNoICh1bml0Py5hbGxvd2VkUGV0KSB7XG4gICAgICAgIGNhc2UgUGV0LkxBUkdFX0RPR19TTUFMTF9ET0dfQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJywgJ1NtYWxsIERvZycsICdDYXQnXTtcbiAgICAgICAgY2FzZSBQZXQuU01BTExfRE9HX0NBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ1NtYWxsIERvZycsICdDYXQnXTtcbiAgICAgICAgY2FzZSBQZXQuQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnQ2F0J107XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gWydOb25lJ107XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3Qgbm90UGVybWl0dGVkUGV0cyA9IChmbG9vcnBsYW46IEZsb29ycGxhbik6IHN0cmluZ1tdID0+IHtcblxuICAgIGNvbnN0IHVuaXQgPSB1bml0V2l0aE1vc3RBbGxvd2VkUGV0KFsuLi5mbG9vcnBsYW4udW5pdHNdKTtcblxuICAgIHN3aXRjaCAodW5pdD8uYWxsb3dlZFBldCkge1xuICAgICAgICBjYXNlIFBldC5MQVJHRV9ET0dfU01BTExfRE9HX0NBVDpcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgY2FzZSBQZXQuU01BTExfRE9HX0NBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0xhcmdlIERvZyddO1xuICAgICAgICBjYXNlIFBldC5DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydMYXJnZSBEb2cnLCAnU21hbGwgRG9nJ107XG4gICAgICAgIGNhc2UgUGV0Lk5PX1BFVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0xhcmdlIERvZycsICdTbWFsbCBEb2cnLCAnQ2F0J107XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgfVxufVxuZXhwb3J0IGNvbnN0IHBldFBvbGljeSA9IChmbG9vcnBsYW46IEZsb29ycGxhbik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgdW5pdCA9IHVuaXRXaXRoTW9zdEFsbG93ZWRQZXQoWy4uLmZsb29ycGxhbi51bml0c10pO1xuICAgIHJldHVybiB1bml0Py5wZXRQb2xpY3k7XG59XG5jb25zdCB1bml0V2l0aE1vc3RBbGxvd2VkUGV0ID0gKHVuaXRzOiBVbml0W10pOiBVbml0IHwgdW5kZWZpbmVkID0+IHtcblxuICAgIGNvbnN0IHBldE9yZGluYWwgPSAocGV0OiBQZXQpID0+IE9iamVjdC5rZXlzKFBldCkuaW5kZXhPZihwZXQpO1xuICAgIHJldHVybiB1bml0cy5zb3J0KChhLCBiKSA9PiBwZXRPcmRpbmFsKGIuYWxsb3dlZFBldCkgLSBwZXRPcmRpbmFsKGEuYWxsb3dlZFBldCkpLnBvcCgpO1xuXG5cbn0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFVQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztBQUdPLElBQU1BLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0MsR0FBRCxFQUF5QjtFQUNuRCxJQUFJQSxHQUFHLEtBQUssSUFBWixFQUNJLE9BQU8sRUFBUDtFQUNKLE9BQU9BLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLGFBQVosRUFBMkIsVUFBM0IsQ0FBUDtBQUNILENBSk07Ozs7QUFLQSxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLFVBQUQsRUFBeUQ7RUFFbEYsT0FBT0MsaUJBQUEsQ0FBU0MsR0FBVCxDQUFhLGdCQUFnQkYsVUFBaEIsR0FBNkIsZ0NBQTFDLEVBQTRFRyxJQUE1RSxDQUFpRixVQUFBQyxRQUFRO0lBQUEsT0FBSUEsUUFBUSxDQUFDQyxJQUFULENBQWNDLFNBQWQsQ0FBd0JDLFVBQTVCO0VBQUEsQ0FBekYsQ0FBUDtBQUNILENBSE07Ozs7QUFJQSxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNELFVBQUQsRUFBaUNFLGNBQWpDLEVBQXdGO0VBQ2pILE9BQU9DLGNBQWMsQ0FBQ0gsVUFBVSxDQUFDSSxNQUFYLENBQWtCLFVBQUFDLFNBQVM7SUFBQSxPQUFJQyxhQUFhLENBQUNELFNBQUQs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
318
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb252ZXJ0VG9IdHRwcyIsInVybCIsInJlcGxhY2UiLCJnZXRBbGxQcm9wZXJ0eUZpbHRlckRhdGFRdWVyeSIsImdldEFsbFByb3BlcnR5RmlsdGVyRGF0YSIsIkdyYXBocWxRdWVyeSIsInRoZW4iLCJyZXNwb25zZSIsInByb3BlcnRpZXMiLCJkYXRhIiwiZmlsdGVyIiwicHJvcGVydHkiLCJhY3RpdmUiLCJmb3JFYWNoIiwiZmxvb3JwbGFucyIsImZsb29ycGxhbiIsInVuaXRzIiwidW5pdCIsImdldEZsb29ycGxhbnNGaWx0ZXJEYXRhUXVlcnkiLCJwcm9wZXJ0eUlkIiwiZ2V0Rmxvb3JwbGFuc0ZpbHRlckRhdGEiLCJzb3J0QW5kRmlsdGVyIiwiY3VycmVudEZpbHRlcnMiLCJzb3J0Rmxvb3JwbGFucyIsImZpbHRlck1hdGNoZXMiLCJzb3J0QnkiLCJpc0RhdGVXaXRoaW5Ud2VsdmVNb250aHMiLCJkYXRlIiwidG9kYXkiLCJtb21lbnQiLCJkaWZmIiwibW92ZUluRGF0ZVRvTW9udGhZZWFyIiwibW92ZUluRGF0ZSIsImZvcm1hdCIsImlzQXZhaWxhYmxlIiwiYXZhaWxhYmlsaXR5RmlsdGVycyIsImxlbmd0aCIsInNvbWUiLCJpbmRleE9mIiwiaXNCZWRyb29tc01hdGNoIiwiYmVkcm9vbUZpbHRlcnMiLCJiZWRyb29tIiwiaXNTdHlsZU1hdGNoIiwic3R5bGVGaWx0ZXJzIiwic3R5bGUiLCJpc0luUHJpY2VSYW5nZSIsIm1pblJlbnQiLCJtYXhSZW50IiwibWluTWF4IiwibWludW1NYXhpbXVtIiwibWluIiwibWF4IiwiU29ydEZpZWxkcyIsInNvcnRGaWVsZCIsIm9yZGVyIiwic29ydCIsImEiLCJiIiwiXyIsIm9yZGVyQnkiLCJmaWx0ZXJzRnJvbSIsIlNldCIsImFkZCIsInZhbHVlIiwiYXZhaWxhYmlsaXR5IiwiZ2V0RmVhdHVyZWRGbG9vcnBsYW5zIiwiQWRtaW5BcGkiLCJnZXQiLCJfZW1iZWRkZWQiLCJmZWF0dXJlZCIsImdldEFsbEFjdGl2ZUZsb29ycGxhbnMiLCJnZXRGbG9vcnBsYW4iLCJmbG9vcnBsYW5JZCIsImdldFVuaXRzRm9yIiwiZ2V0U2ltaWxhckZsb29ycGxhbnMiLCJnZXRGbG9vcnBsYW5WYXJpYXRpb25zIiwiaXNGbG9vcnBsYW5BdmFpbGFibGUiLCJpc0FmdGVyIiwiZGF0ZVRvTW9tZW50IiwiZ2V0VGVzdGltb25pYWxzIiwicGVybWl0dGVkUGV0cyIsInVuaXRXaXRoTW9zdEFsbG93ZWRQZXQiLCJhbGxvd2VkUGV0IiwiUGV0IiwiTEFSR0VfRE9HX1NNQUxMX0RPR19DQVQiLCJTTUFMTF9ET0dfQ0FUIiwiQ0FUIiwibm90UGVybWl0dGVkUGV0cyIsIk5PX1BFVCIsInBldFBvbGljeSIsInBldE9yZGluYWwiLCJwZXQiLCJPYmplY3QiLCJrZXlzIiwicG9wIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZXJ2aWNlL0Zsb29ycGxhblNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7TW9udGh9IGZyb20gXCIuLi9kYXRhL0NhbGVuZGFyXCI7XG5pbXBvcnQge0N1cnJlbnRGaWx0ZXJzLCBGbG9vcnBsYW5GaWx0ZXJzLCBTb3J0QnksIFNvcnRGaWVsZHN9IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhbkZpbHRlcnNcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IEFkbWluQXBpIGZyb20gXCIuLi8uLi9zZXJ2aWNlL0FkbWluQXBpXCI7XG5pbXBvcnQge1xuICAgIEZsb29ycGxhbixcbiAgICBGbG9vcnBsYW5DYXJkRGF0YSxcbiAgICBGbG9vcnBsYW5EZXRhaWxzLFxuICAgIEZsb29ycGxhblNwb3RsaWdodCxcbiAgICBGbG9vcnBsYW5TdHlsZSxcbiAgICBGbG9vcnBsYW5WYXJpYXRpb24sXG4gICAgU2ltaWxhckZsb29ycGxhbixcbiAgICBUZXN0aW1vbmlhbFxufSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7ZGF0ZVRvTW9tZW50LCBtaW51bU1heGltdW19IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtQcm9wZXJ0eUZpbHRlckRhdGEsIFByb3BlcnR5SWR9IGZyb20gXCIuLi8uLi9wcm9wZXJ0eS9kYXRhL1Byb3BlcnR5XCI7XG5pbXBvcnQge1BldCwgVW5pdH0gZnJvbSBcIi4uL2RhdGEvVW5pdFwiO1xuaW1wb3J0IEdyYXBocWxRdWVyeSBmcm9tIFwiLi4vLi4vc2VydmljZS9HcmFwaHFsUXVlcnlcIjtcblxuXG5leHBvcnQgY29uc3QgY29udmVydFRvSHR0cHMgPSAodXJsOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmICh1cmwgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIHJldHVybiB1cmwucmVwbGFjZSgvXmh0dHA6XFwvXFwvL2ksICdodHRwczovLycpO1xufTtcbmNvbnN0IGdldEFsbFByb3BlcnR5RmlsdGVyRGF0YVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiAneyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICBwcm9wZXJ0aWVzIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgbmFtZSBhY3RpdmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgZmxvb3JwbGFucyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgICAgIGlkIG5hbWUgYWN0aXZlIGJlZHJvb20gYmF0aHJvb20gY292ZXJJbWFnZSBmZWF0dXJlZCBcXFxuICAgICAgICAgICAgICAgIHRocmVlU2l4dHlWaWRlb1RvdXJMaW5rIHZpZGVvVG91ckxpbmsgc3R5bGUgICAgICAgICBcXFxuICAgICAgICAgICAgICAgIHVuaXRzIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgICAgICAgICByZW50IHNxdWFyZUZvb3QgYWN0aXZlIG1vdmVJbkRhdGUgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgIH0nXG59XG5leHBvcnQgY29uc3QgZ2V0QWxsUHJvcGVydHlGaWx0ZXJEYXRhID0gKCk6IFByb21pc2U8UHJvcGVydHlGaWx0ZXJEYXRhW10+ID0+IHtcbiAgICByZXR1cm4gR3JhcGhxbFF1ZXJ5KGdldEFsbFByb3BlcnR5RmlsdGVyRGF0YVF1ZXJ5KCkpLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydGllczogUHJvcGVydHlGaWx0ZXJEYXRhW10gPSByZXNwb25zZS5kYXRhLmRhdGEucHJvcGVydGllcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eUZpbHRlckRhdGEpID0+IHByb3BlcnR5LmFjdGl2ZSk7XG5cbiAgICAgICAgICAgIHByb3BlcnRpZXMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICAgICAgICAgICAgcHJvcGVydHkuZmxvb3JwbGFucyA9IHByb3BlcnR5LmZsb29ycGxhbnMuZmlsdGVyKGZsb29ycGxhbiA9PiBmbG9vcnBsYW4uYWN0aXZlKTtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eS5mbG9vcnBsYW5zLmZvckVhY2goZmxvb3JwbGFuID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLnVuaXRzID0gZmxvb3JwbGFuLnVuaXRzLmZpbHRlcih1bml0ID0+IHVuaXQuYWN0aXZlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gICAgICAgIH1cbiAgICApO1xufVxuY29uc3QgZ2V0Rmxvb3JwbGFuc0ZpbHRlckRhdGFRdWVyeSA9IChwcm9wZXJ0eUlkOiBTdHJpbmcpID0+IHtcbiAgICByZXR1cm4gJ3sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgcHJvcGVydHkoaWQ6IFwiJyArIHByb3BlcnR5SWQgKyAnXCIpIHsgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgZmxvb3JwbGFucyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgICAgIGlkIG5hbWUgYWN0aXZlIGJlZHJvb20gYmF0aHJvb20gY292ZXJJbWFnZSBmZWF0dXJlZCBcXFxuICAgICAgICAgICAgICAgIHRocmVlU2l4dHlWaWRlb1RvdXJMaW5rIHZpZGVvVG91ckxpbmsgc3R5bGUgICAgICAgICBcXFxuICAgICAgICAgICAgICAgIHVuaXRzIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgICAgICAgICByZW50IHNxdWFyZUZvb3QgYWN0aXZlIG1vdmVJbkRhdGUgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxuICAgIH0nXG59XG5leHBvcnQgY29uc3QgZ2V0Rmxvb3JwbGFuc0ZpbHRlckRhdGEgPSAocHJvcGVydHlJZDogUHJvcGVydHlJZCk6IFByb21pc2U8Rmxvb3JwbGFuQ2FyZERhdGFbXT4gPT4ge1xuICAgIHJldHVybiBHcmFwaHFsUXVlcnkoZ2V0Rmxvb3JwbGFuc0ZpbHRlckRhdGFRdWVyeShwcm9wZXJ0eUlkKSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdID0gcmVzcG9uc2UuZGF0YS5kYXRhLnByb3BlcnR5LmZsb29ycGxhbnMuZmlsdGVyKChmbG9vcnBsYW46IEZsb29ycGxhbkNhcmREYXRhKSA9PiBmbG9vcnBsYW4uYWN0aXZlKTtcbiAgICAgICAgICAgIGZsb29ycGxhbnMuZm9yRWFjaChmbG9vcnBsYW4gPT4ge1xuICAgICAgICAgICAgICAgIGZsb29ycGxhbi51bml0cyA9IGZsb29ycGxhbi51bml0cy5maWx0ZXIodW5pdCA9PiB1bml0LmFjdGl2ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmbG9vcnBsYW5zO1xuICAgICAgICB9XG4gICAgKTtcbn07XG5leHBvcnQgY29uc3Qgc29ydEFuZEZpbHRlciA9IChmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdLCBjdXJyZW50RmlsdGVyczogQ3VycmVudEZpbHRlcnMpOiBGbG9vcnBsYW5DYXJkRGF0YVtdID0+IHtcbiAgICByZXR1cm4gc29ydEZsb29ycGxhbnMoZmxvb3JwbGFucy5maWx0ZXIoZmxvb3JwbGFuID0+IGZpbHRlck1hdGNoZXMoZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycykpLCBjdXJyZW50RmlsdGVycy5zb3J0QnkpO1xufTtcblxuXG5jb25zdCBpc0RhdGVXaXRoaW5Ud2VsdmVNb250aHMgPSAoZGF0ZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgdG9kYXkgPSBtb21lbnQoKTtcbiAgICBjb25zdCBkaWZmID0gbW9tZW50KGRhdGUsIFwiWVlZWS1NTS1ERFwiKS5kaWZmKHRvZGF5LCAnbW9udGhzJywgZmFsc2UpO1xuICAgIHJldHVybiBkaWZmID4gMCAmJiBkaWZmIDwgMTI7XG59XG5jb25zdCBtb3ZlSW5EYXRlVG9Nb250aFllYXIgPSAobW92ZUluRGF0ZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyA9PiBtb21lbnQobW92ZUluRGF0ZSwgXCJZWVlZLU1NLUREXCIpLmZvcm1hdCgnTU1NIFlZWVknKTtcbmNvbnN0IGlzQXZhaWxhYmxlID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGF2YWlsYWJpbGl0eUZpbHRlcnM6IE1vbnRoW10pOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gYXZhaWxhYmlsaXR5RmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDpcbiAgICAgICAgZmxvb3JwbGFuLnVuaXRzLnNvbWUoKHVuaXQpID0+IGF2YWlsYWJpbGl0eUZpbHRlcnMuaW5kZXhPZihtb3ZlSW5EYXRlVG9Nb250aFllYXIodW5pdC5tb3ZlSW5EYXRlKSkgPiAtMSk7XG59O1xuY29uc3QgaXNCZWRyb29tc01hdGNoID0gKGZsb29ycGxhbjogRmxvb3JwbGFuQ2FyZERhdGEsIGJlZHJvb21GaWx0ZXJzOiBudW1iZXJbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBiZWRyb29tRmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDogYmVkcm9vbUZpbHRlcnMuaW5kZXhPZihmbG9vcnBsYW4uYmVkcm9vbSkgPiAtMTtcbn07XG5jb25zdCBpc1N0eWxlTWF0Y2ggPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgc3R5bGVGaWx0ZXJzOiBGbG9vcnBsYW5TdHlsZVtdKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIHN0eWxlRmlsdGVycy5sZW5ndGggPT09IDAgPyB0cnVlIDogc3R5bGVGaWx0ZXJzLmluZGV4T2YoZmxvb3JwbGFuLnN0eWxlKSA+IC0xO1xufVxuY29uc3QgaXNJblByaWNlUmFuZ2UgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgbWluUmVudDogbnVtYmVyLCBtYXhSZW50OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBtaW5NYXggPSBtaW51bU1heGltdW0oZmxvb3JwbGFuLnVuaXRzLCBcInJlbnRcIik7XG4gICAgcmV0dXJuIG1pbk1heC5taW4gPj0gbWluUmVudCAmJiBtaW5NYXgubWF4IDw9IG1heFJlbnQ7XG59XG5cbmNvbnN0IGZpbHRlck1hdGNoZXMgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW5DYXJkRGF0YSwgY3VycmVudEZpbHRlcnM6IEN1cnJlbnRGaWx0ZXJzKSA9PiB7XG4gICAgcmV0dXJuIGlzQXZhaWxhYmxlKGZsb29ycGxhbiwgY3VycmVudEZpbHRlcnMuYXZhaWxhYmlsaXR5RmlsdGVycykgJiZcbiAgICAgICAgaXNJblByaWNlUmFuZ2UoZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycy5taW5SZW50LCBjdXJyZW50RmlsdGVycy5tYXhSZW50KSAmJlxuICAgICAgICBpc1N0eWxlTWF0Y2goZmxvb3JwbGFuLCBjdXJyZW50RmlsdGVycy5zdHlsZUZpbHRlcnMpICYmXG4gICAgICAgIGlzQmVkcm9vbXNNYXRjaChmbG9vcnBsYW4sIGN1cnJlbnRGaWx0ZXJzLmJlZHJvb21GaWx0ZXJzKTtcbn1cbmV4cG9ydCBjb25zdCBzb3J0Rmxvb3JwbGFucyA9IChmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdLCBzb3J0Qnk6IFNvcnRCeSk6IEZsb29ycGxhbkNhcmREYXRhW10gPT4ge1xuICAgIGlmIChTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkID09PSBcIm1pblJhdGVcIiAmJiBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIgPT09IFwiYXNjXCIpIHtcbiAgICAgICAgcmV0dXJuIGZsb29ycGxhbnMuc29ydCgoYSwgYikgPT4gbWludW1NYXhpbXVtKGEudW5pdHMsIFwicmVudFwiKS5taW4gLSBtaW51bU1heGltdW0oYi51bml0cywgXCJyZW50XCIpLm1pbik7XG4gICAgfVxuICAgIGlmIChTb3J0RmllbGRzW3NvcnRCeV0uc29ydEZpZWxkID09PSBcIm1pblJhdGVcIiAmJiBTb3J0RmllbGRzW3NvcnRCeV0ub3JkZXIgPT09IFwiZGVzY1wiKSB7XG4gICAgICAgIHJldHVybiBmbG9vcnBsYW5zLnNvcnQoKGEsIGIpID0+IG1pbnVtTWF4aW11bShiLnVuaXRzLCBcInJlbnRcIikubWluIC0gbWludW1NYXhpbXVtKGEudW5pdHMsIFwicmVudFwiKS5taW4pO1xuICAgIH1cbiAgICByZXR1cm4gXy5vcmRlckJ5KGZsb29ycGxhbnMsIFNvcnRGaWVsZHNbc29ydEJ5XS5zb3J0RmllbGQsIFNvcnRGaWVsZHNbc29ydEJ5XS5vcmRlcik7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJzRnJvbSA9IChmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdKTogRmxvb3JwbGFuRmlsdGVycyA9PiB7XG5cbiAgICBjb25zdCBiZWRyb29tRmlsdGVycyA9IG5ldyBTZXQ8bnVtYmVyPigpO1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUZpbHRlcnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBjb25zdCBzdHlsZUZpbHRlcnMgPSBuZXcgU2V0PEZsb29ycGxhblN0eWxlPigpO1xuXG4gICAgZmxvb3JwbGFucy5mb3JFYWNoKGZsb29ycGxhbiA9PiB7XG4gICAgICAgIGJlZHJvb21GaWx0ZXJzLmFkZChmbG9vcnBsYW4uYmVkcm9vbSk7XG4gICAgICAgIHN0eWxlRmlsdGVycy5hZGQoZmxvb3JwbGFuLnN0eWxlKTtcblxuICAgICAgICBmbG9vcnBsYW4udW5pdHMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5tb3ZlSW5EYXRlICYmIGlzRGF0ZVdpdGhpblR3ZWx2ZU1vbnRocyh2YWx1ZS5tb3ZlSW5EYXRlKSlcbiAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlGaWx0ZXJzLmFkZChtb3ZlSW5EYXRlVG9Nb250aFllYXIodmFsdWUubW92ZUluRGF0ZSkpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBiZWRyb29tOiBiZWRyb29tRmlsdGVycyxcbiAgICAgICAgYXZhaWxhYmlsaXR5OiBhdmFpbGFiaWxpdHlGaWx0ZXJzLFxuICAgICAgICBzdHlsZTogc3R5bGVGaWx0ZXJzXG4gICAgfVxufTtcblxuXG5leHBvcnQgY29uc3QgZ2V0RmVhdHVyZWRGbG9vcnBsYW5zID0gKCk6IFByb21pc2U8Rmxvb3JwbGFuU3BvdGxpZ2h0W10+ID0+IHtcblxuICAgIHJldHVybiBBZG1pbkFwaS5nZXQoXCJmbG9vcnBsYW5zP3Byb2plY3Rpb249c3BvdGxpZ2h0JnNpemU9MjAwXCIpXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+XG4gICAgICAgICAgICByZXNwb25zZS5kYXRhLl9lbWJlZGRlZC5mbG9vcnBsYW5zLmZpbHRlcigoZmxvb3JwbGFuOiBGbG9vcnBsYW5TcG90bGlnaHQpID0+IGZsb29ycGxhbi5mZWF0dXJlZCAmJiBmbG9vcnBsYW4ucHJvcGVydHkuYWN0aXZlKVxuICAgICAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFsbEFjdGl2ZUZsb29ycGxhbnMgPSAoKTogUHJvbWlzZTxGbG9vcnBsYW5EZXRhaWxzW10+ID0+IHtcblxuICAgIHJldHVybiBBZG1pbkFwaS5nZXQoXCJmbG9vcnBsYW5zP3Byb2plY3Rpb249ZGV0YWlscyZzaXplPTIwMFwiKVxuICAgICAgICAudGhlbihyZXNwb25zZSA9PlxuICAgICAgICAgICAgcmVzcG9uc2UuZGF0YS5fZW1iZWRkZWQuZmxvb3JwbGFuc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGZsb29ycGxhbjogRmxvb3JwbGFuKSA9PiBmbG9vcnBsYW4uYWN0aXZlKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGZsb29ycGxhbjogRmxvb3JwbGFuKSA9PiBmbG9vcnBsYW4uc3R5bGUgIT09IFwiR0FSQUdFXCIpXG4gICAgICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvb3JwbGFuID0gKGZsb29ycGxhbklkOiBzdHJpbmcpOiBQcm9taXNlPEZsb29ycGxhbj4gPT5cbiAgICBBZG1pbkFwaS5nZXQoXCJmbG9vcnBsYW5zL1wiICsgZmxvb3JwbGFuSWQgKyBcIj9wcm9qZWN0aW9uPXdpdGhJZFwiKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpO1xuXG5leHBvcnQgY29uc3QgZ2V0VW5pdHNGb3IgPSAoZmxvb3JwbGFuSWQ6IHN0cmluZyk6IFByb21pc2U8VW5pdFtdPiA9PlxuICAgIEFkbWluQXBpLmdldChcInVuaXRzL2J5Rmxvb3JwbGFuP2Zsb29ycGxhbklkPVwiICsgZmxvb3JwbGFuSWQpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuZGF0YSk7XG5cbmV4cG9ydCBjb25zdCBnZXRTaW1pbGFyRmxvb3JwbGFucyA9IChmbG9vcnBsYW5JZDogc3RyaW5nKTogUHJvbWlzZTxTaW1pbGFyRmxvb3JwbGFuW10+ID0+XG4gICAgQWRtaW5BcGkuZ2V0KFwic2ltaWxhckZsb29ycGxhbnMvYnlGbG9vcnBsYW4/Zmxvb3JwbGFuSWQ9XCIgKyBmbG9vcnBsYW5JZCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb29ycGxhblZhcmlhdGlvbnMgPSAoZmxvb3JwbGFuSWQ6IHN0cmluZyk6IFByb21pc2U8Rmxvb3JwbGFuVmFyaWF0aW9uW10+ID0+XG4gICAgQWRtaW5BcGkuZ2V0KFwiZmxvb3JwbGFuVmFyaWF0aW9ucy9ieUZsb29ycGxhbj9mbG9vcnBsYW5JZD1cIiArIGZsb29ycGxhbklkKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmRhdGEpO1xuY29uc3QgdG9kYXkgPSBtb21lbnQoKTtcbmV4cG9ydCBjb25zdCBpc0Zsb29ycGxhbkF2YWlsYWJsZSA9IChmbG9vcnBsYW46IEZsb29ycGxhbik6IGJvb2xlYW4gPT4gZmxvb3JwbGFuLnVuaXRzLnNvbWUoKHVuaXQpID0+IHRvZGF5LmlzQWZ0ZXIoZGF0ZVRvTW9tZW50KHVuaXQubW92ZUluRGF0ZSkpKTtcbmV4cG9ydCBjb25zdCBnZXRUZXN0aW1vbmlhbHMgPSAoZmxvb3JwbGFuSWQ6IHN0cmluZyk6IFByb21pc2U8VGVzdGltb25pYWxbXT4gPT5cbiAgICBBZG1pbkFwaS5nZXQoXCJ0ZXN0aW1vbmlhbHMvYnlGbG9vcnBsYW4/Zmxvb3JwbGFuSWQ9XCIgKyBmbG9vcnBsYW5JZCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5kYXRhKTtcblxuXG5leHBvcnQgY29uc3QgcGVybWl0dGVkUGV0cyA9IChmbG9vcnBsYW46IEZsb29ycGxhbik6IHN0cmluZ1tdID0+IHtcblxuICAgIGNvbnN0IHVuaXQgPSB1bml0V2l0aE1vc3RBbGxvd2VkUGV0KFsuLi5mbG9vcnBsYW4udW5pdHNdKTtcblxuICAgIHN3aXRjaCAodW5pdD8uYWxsb3dlZFBldCkge1xuICAgICAgICBjYXNlIFBldC5MQVJHRV9ET0dfU01BTExfRE9HX0NBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0xhcmdlIERvZycsICdTbWFsbCBEb2cnLCAnQ2F0J107XG4gICAgICAgIGNhc2UgUGV0LlNNQUxMX0RPR19DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydTbWFsbCBEb2cnLCAnQ2F0J107XG4gICAgICAgIGNhc2UgUGV0LkNBVDpcbiAgICAgICAgICAgIHJldHVybiBbJ0NhdCddO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFsnTm9uZSddO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IG5vdFBlcm1pdHRlZFBldHMgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW4pOiBzdHJpbmdbXSA9PiB7XG5cbiAgICBjb25zdCB1bml0ID0gdW5pdFdpdGhNb3N0QWxsb3dlZFBldChbLi4uZmxvb3JwbGFuLnVuaXRzXSk7XG5cbiAgICBzd2l0Y2ggKHVuaXQ/LmFsbG93ZWRQZXQpIHtcbiAgICAgICAgY2FzZSBQZXQuTEFSR0VfRE9HX1NNQUxMX0RPR19DQVQ6XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIGNhc2UgUGV0LlNNQUxMX0RPR19DQVQ6XG4gICAgICAgICAgICByZXR1cm4gWydMYXJnZSBEb2cnXTtcbiAgICAgICAgY2FzZSBQZXQuQ0FUOlxuICAgICAgICAgICAgcmV0dXJuIFsnTGFyZ2UgRG9nJywgJ1NtYWxsIERvZyddO1xuICAgICAgICBjYXNlIFBldC5OT19QRVQ6XG4gICAgICAgICAgICByZXR1cm4gWydMYXJnZSBEb2cnLCAnU21hbGwgRG9nJywgJ0NhdCddO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn1cbmV4cG9ydCBjb25zdCBwZXRQb2xpY3kgPSAoZmxvb3JwbGFuOiBGbG9vcnBsYW4pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IHVuaXQgPSB1bml0V2l0aE1vc3RBbGxvd2VkUGV0KFsuLi5mbG9vcnBsYW4udW5pdHNdKTtcbiAgICByZXR1cm4gdW5pdD8ucGV0UG9saWN5O1xufVxuY29uc3QgdW5pdFdpdGhNb3N0QWxsb3dlZFBldCA9ICh1bml0czogVW5pdFtdKTogVW5pdCB8IHVuZGVmaW5lZCA9PiB7XG5cbiAgICBjb25zdCBwZXRPcmRpbmFsID0gKHBldDogUGV0KSA9PiBPYmplY3Qua2V5cyhQZXQpLmluZGV4T2YocGV0KTtcbiAgICByZXR1cm4gdW5pdHMuc29ydCgoYSwgYikgPT4gcGV0T3JkaW5hbChiLmFsbG93ZWRQZXQpIC0gcGV0T3JkaW5hbChhLmFsbG93ZWRQZXQpKS5wb3AoKTtcblxuXG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBV0E7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLEdBQUQsRUFBeUI7RUFDbkQsSUFBSUEsR0FBRyxLQUFLLElBQVosRUFDSSxPQUFPLEVBQVA7RUFDSixPQUFPQSxHQUFHLENBQUNDLE9BQUosQ0FBWSxhQUFaLEVBQTJCLFVBQTNCLENBQVA7QUFDSCxDQUpNOzs7O0FBS1AsSUFBTUMsNkJBQTZCLEdBQUcsU0FBaENBLDZCQUFnQyxHQUFNO0VBQ3hDLE9BQU87QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BWEk7QUFZSCxDQWJEOztBQWNPLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBMkIsR0FBcUM7RUFDekUsT0FBTyxJQUFBQyxxQkFBQSxFQUFhRiw2QkFBNkIsRUFBMUMsRUFBOENHLElBQTlDLENBQW1ELFVBQUFDLFFBQVEsRUFBSTtJQUM5RCxJQUFNQyxVQUFnQyxHQUFHRCxRQUFRLENBQUNFLElBQVQsQ0FBY0EsSUFBZCxDQUFtQkQsVUFBbkIsQ0FBOEJFLE1BQTlCLENBQXFDLFVBQUNDLFFBQUQ7TUFBQSxPQUFrQ0EsUUFBUSxDQUFDQyxNQUEzQztJQUFBLENBQXJDLENBQXpDO0lBRUFKLFVBQVUsQ0FBQ0ssT0FBWCxDQUFtQixVQUFBRixRQUFRLEVBQUk7TUFDM0JBLFFBQVEsQ0FBQ0csVUFBVCxHQUFzQkgsUUFBUSxDQUFDRyxVQUFULENBQW9CSixNQUFwQixDQUEyQixVQUFBSyxTQUFTO1FBQUEsT0FBSUEsU0FBUyxDQUFDSCxNQUFkO01BQUEsQ0FBcEMsQ0FBdEI7TUFDQUQsUUFBUSxDQUFDRyxVQUFULENBQW9CRCxPQUFwQixDQUE0QixVQUFBRSxTQUFTLEVBQUk7UUFDckNBLFNBQVMsQ0FBQ0MsS0FBVixHQUFrQkQsU0FBUyxDQUFDQyxLQUFWLENBQWdCTixNQUFoQixDQUF1QixVQUFBTyxJQUFJO1VBQUEsT0FBSUEsSUFBSSxDQUFDTCxNQUFUO1FBQUEsQ0FBM0IsQ0FBbEI7TUFDSCxDQUZEO0lBR0gsQ0FMRDtJQU1BLE9BQU9KLFVBQVA7RUFDSCxDQVZFLENBQVA7QUFZSCxDQWJNOzs7O0FBY1AsSUFBTVUsNEJBQTRCLEdBQUcsU0FBL0JBLDRCQUErQixDQUFDQyxVQUFELEVBQXdCO0VBQ3pELE9BQU87QUFDWCx1QkFEVyxHQUNlQSxVQURmLEdBQzRCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQVZJO0FBV0gsQ0FaRDs7QUFhTyxJQUFNQyx1QkFBdUIsR0FBRyxTQUExQkEsdUJBQTBCLENBQUNELFVBQUQsRUFBMEQ7RUFDN0YsT0FBTyxJQUFBZCxxQkFBQSxFQUFhYSw0QkFBNEIsQ0FBQ0MsVUFBRCxDQUF6QyxFQUF1RGIsSUFBdkQsQ0FBNEQsVUFBQUMsUUFBUSxFQUFJO0lBQ3ZFLElBQU1PLFVBQStCLEdBQUdQLFFBQVEsQ0FBQ0UsSUFBVCxDQUFjQSxJQUFkLENBQW1CRSxRQUFuQixDQUE0QkcsVUFBNUIsQ0FBdUNKLE1BQXZDLENBQThDLFVBQUNLLFNBQUQ7TUFBQSxPQUFrQ0EsU0FBUyxDQUFDSCxNQUE1QztJQUFBLENBQTlDLENBQXhDO0lBQ0FFLFVBQVUsQ0FBQ0QsT0FBWCxDQUFtQixVQUFBRSxTQUFTLEVBQUk7TUFDNUJBLFNBQVMsQ0FBQ0MsS0FBVixHQUFrQkQsU0FBUyxDQUFDQyxLQUFWLENBQWdCTixNQUFoQixDQUF1QixVQUFBTyxJQUFJO1FBQUEsT0FBSUEsSUFBSSxDQUFDTCxNQUFUO01BQUEsQ0FBM0IsQ0FBbEI7SUFDSCxDQUZEO0lBR0EsT0FBT0UsVUFBUDtFQUNILENBTkUsQ0FBUDtBQVFILENBVE07Ozs7QUFVQSxJQUFNTyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNQLFVBQUQsRUFBa0NRLGNBQWxDLEVBQTBGO0VBQ25ILE9BQU9DLGNBQWMsQ0FBQ1QsVUFBVSxDQUFDSixNQUFYLENBQWtCLFVBQUFLLFNBQVM7SUFBQSxPQUFJUyxhQUFhLENBQUNULFNBQUQsRUFBWU8sY0FBWixDQUFqQjtFQUFBLENBQTNCLENBQUQsRUFBMkVBLGNBQWMsQ0FBQ0csTUFBMUYsQ0FBckI7QUFDSCxDQUZNOzs7O0FBS1AsSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUEyQixDQUFDQyxJQUFELEVBQWtCO0VBQy9DLElBQU1DLEtBQUssR0FBRyxJQUFBQyxlQUFBLEdBQWQ7RUFDQSxJQUFNQyxJQUFJLEdBQUcsSUFBQUQsZUFBQSxFQUFPRixJQUFQLEVBQWEsWUFBYixFQUEyQkcsSUFBM0IsQ0FBZ0NGLEtBQWhDLEVBQXVDLFFBQXZDLEVBQWlELEtBQWpELENBQWI7RUFDQSxPQUFPRSxJQUFJLEdBQUcsQ0FBUCxJQUFZQSxJQUFJLEdBQUcsRUFBMUI7QUFDSCxDQUpEOztBQUtBLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBd0IsQ0FBQ0MsVUFBRDtFQUFBLE9BQXVDLElBQUFILGVBQUEsRUFBT0csVUFBUCxFQUFtQixZQUFuQixFQUFpQ0MsTUFBakMsQ0FBd0MsVUFBeEMsQ0FBdkM7QUFBQSxDQUE5Qjs7QUFDQSxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDbkIsU0FBRCxFQUErQm9CLG1CQUEvQixFQUF5RTtFQUN6RixPQUFPQSxtQkFBbUIsQ0FBQ0MsTUFBcEIsS0FBK0IsQ0FBL0IsR0FBbUMsSUFBbkMsR0FDSHJCLFNBQVMsQ0FBQ0MsS0FBVixDQUFnQnFCLElBQWhCLENBQXFCLFVBQUNwQixJQUFEO0lBQUEsT0FBVWtCLG1CQUFtQixDQUFDRyxPQUFwQixDQUE0QlAscUJBQXFCLENBQUNkLElBQUksQ0FBQ2UsVUFBTixDQUFqRCxJQUFzRSxDQUFDLENBQWpGO0VBQUEsQ0FBckIsQ0FESjtBQUVILENBSEQ7O0FBSUEsSUFBTU8sZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDeEIsU0FBRCxFQUErQnlCLGNBQS9CLEVBQXFFO0VBQ3pGLE9BQU9BLGNBQWMsQ0FBQ0osTUFBZixLQUEwQixDQUExQixHQUE4QixJQUE5QixHQUFxQ0ksY0FBYyxDQUFDRixPQUFmLENBQXVCdkIsU0FBUyxDQUFDMEIsT0FBakMsSUFBNEMsQ0FBQyxDQUF6RjtBQUNILENBRkQ7O0FBR0EsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQzNCLFNBQUQsRUFBK0I0QixZQUEvQixFQUEyRTtFQUM1RixPQUFPQSxZQUFZLENBQUNQLE1BQWIsS0FBd0IsQ0FBeEIsR0FBNEIsSUFBNUIsR0FBbUNPLFlBQVksQ0FBQ0wsT0FBYixDQUFxQnZCLFNBQVMsQ0FBQzZCLEtBQS9CLElBQXdDLENBQUMsQ0FBbkY7QUFDSCxDQUZEOztBQUdBLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQzlCLFNBQUQsRUFBK0IrQixPQUEvQixFQUFnREMsT0FBaEQsRUFBNkU7RUFDaEcsSUFBTUMsTUFBTSxHQUFHLElBQUFDLG1CQUFBLEVBQWFsQyxTQUFTLENBQUNDLEtBQXZCLEVBQThCLE1BQTlCLENBQWY7RUFDQSxPQUFPZ0MsTUFBTSxDQUFDRSxHQUFQLElBQWNKLE9BQWQsSUFBeUJFLE1BQU0sQ0FBQ0csR0FBUCxJQUFjSixPQUE5QztBQUNILENBSEQ7O0FBS0EsSUFBTXZCLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ1QsU0FBRCxFQUErQk8sY0FBL0IsRUFBa0U7RUFDcEYsT0FBT1ksV0FBVyxDQUFDbkIsU0FBRCxFQUFZTyxjQUFjLENBQUNhLG1CQUEzQixDQUFYLElBQ0hVLGNBQWMsQ0FBQzlCLFNBQUQsRUFBWU8sY0FBYyxDQUFDd0IsT0FBM0IsRUFBb0N4QixjQUFjLENBQUN5QixPQUFuRCxDQURYLElBRUhMLFlBQVksQ0FBQzNCLFNBQUQsRUFBWU8sY0FBYyxDQUFDcUIsWUFBM0IsQ0FGVCxJQUdISixlQUFlLENBQUN4QixTQUFELEVBQVlPLGNBQWMsQ0FBQ2tCLGNBQTNCLENBSG5CO0FBSUgsQ0FMRDs7QUFNTyxJQUFNakIsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDVCxVQUFELEVBQWtDVyxNQUFsQyxFQUEwRTtFQUNwRyxJQUFJMkIsNEJBQUEsQ0FBVzNCLE1BQVgsRUFBbUI0QixTQUFuQixLQUFpQyxTQUFqQyxJQUE4Q0QsNEJBQUEsQ0FBVzNCLE1BQVgsRUFBbUI2QixLQUFuQixLQUE2QixLQUEvRSxFQUFzRjtJQUNsRixPQUFPeEMsVUFBVSxDQUFDeUMsSUFBWCxDQUFnQixVQUFDQyxDQUFELEVBQUlDLENBQUo7TUFBQSxPQUFVLElBQUFSLG1CQUFBLEVBQWFPLENBQUMsQ0FBQ3hDLEtBQWYsRUFBc0IsTUFBdEIsRUFBOEJrQyxHQUE5QixHQUFvQyxJQUFBRCxtQkFBQSxFQUFhUSxDQUFDLENBQUN6QyxLQUFmLEVBQXNCLE1BQXRCLEVBQThCa0MsR0FBNUU7SUFBQSxDQUFoQixDQUFQO0VBQ0g7O0VBQ0QsSUFBSUUsNEJBQUEsQ0FBVzNCLE1BQVgsRUFBbUI0QixTQUFuQixLQUFpQyxTQUFqQyxJQUE4Q0QsNEJBQUEsQ0FBVzNCLE1BQVgsRUFBbUI2QixLQUFuQixLQUE2QixNQUEvRSxFQUF1RjtJQUNuRixPQUFPeEMsVUFBVSxDQUFDeUMsSUFBWCxDQUFnQixVQUFDQyxDQUFELEVBQUlDLENBQUo7TUFBQSxPQUFVLElBQUFSLG1CQUFBLEVBQWFRLENBQUMsQ0FBQ3pDLEtBQWYsRUFBc0IsTUFBdEIsRUFBOEJrQyxHQUE5QixHQUFvQyxJQUFBRCxtQkFBQSxFQUFhTyxDQUFDLENBQUN4QyxLQUFmLEVBQXNCLE1BQXRCLEVBQThCa0MsR0FBNUU7SUFBQSxDQUFoQixDQUFQO0VBQ0g7O0VBQ0QsT0FBT1EsZUFBQSxDQUFFQyxPQUFGLENBQVU3QyxVQUFWLEVBQXNCc0MsNEJBQUEsQ0FBVzNCLE1BQVgsRUFBbUI0QixTQUF6QyxFQUFvREQsNEJBQUEsQ0FBVzNCLE1BQVgsRUFBbUI2QixLQUF2RSxDQUFQO0FBQ0gsQ0FSTTs7OztBQVdBLElBQU1NLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUM5QyxVQUFELEVBQXVEO0VBRTlFLElBQU0wQixjQUFjLEdBQUcsSUFBSXFCLEdBQUosRUFBdkI7RUFDQSxJQUFNMUIsbUJBQW1CLEdBQUcsSUFBSTBCLEdBQUosRUFBNUI7RUFDQSxJQUFNbEIsWUFBWSxHQUFHLElBQUlrQixHQUFKLEVBQXJCO0VBRUEvQyxVQUFVLENBQUNELE9BQVgsQ0FBbUIsVUFBQUUsU0FBUyxFQUFJO0lBQzVCeUIsY0FBYyxDQUFDc0IsR0FBZixDQUFtQi9DLFNBQVMsQ0FBQzBCLE9BQTdCO0lBQ0FFLFlBQVksQ0FBQ21CLEdBQWIsQ0FBaUIvQyxTQUFTLENBQUM2QixLQUEzQjtJQUVBN0IsU0FBUyxDQUFDQyxLQUFWLENBQWdCSCxPQUFoQixDQUF3QixVQUFDa0QsS0FBRCxFQUFXO01BQy9CLElBQUlBLEtBQUssQ0FBQy9CLFVBQU4sSUFBb0JOLHdCQUF3QixDQUFDcUMsS0FBSyxDQUFDL0IsVUFBUCxDQUFoRCxFQUNJRyxtQkFBbUIsQ0FBQzJCLEdBQXBCLENBQXdCL0IscUJBQXFCLENBQUNnQyxLQUFLLENBQUMvQixVQUFQLENBQTdDO0lBQ1AsQ0FIRDtFQUlILENBUkQ7RUFTQSxPQUFPO0lBQ0hTLE9BQU8sRUFBRUQsY0FETjtJQUVId0IsWUFBWSxFQUFFN0IsbUJBRlg7SUFHSFMsS0FBSyxFQUFFRDtFQUhKLENBQVA7QUFLSCxDQXBCTTs7OztBQXVCQSxJQUFNc0IscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUF3QixHQUFxQztFQUV0RSxPQUFPQyxpQkFBQSxDQUFTQyxHQUFULENBQWEsMENBQWIsRUFDRjdELElBREUsQ0FDRyxVQUFBQyxRQUFRO0lBQUEsT0FDVkEsUUFBUSxDQUFDRSxJQUFULENBQWMyRCxTQUFkLENBQXdCdEQsVUFBeEIsQ0FBbUNKLE1BQW5DLENBQTBDLFVBQUNLLFNBQUQ7TUFBQSxPQUFtQ0EsU0FBUyxDQUFDc0QsUUFBVixJQUFzQnRELFNBQVMsQ0FBQ0osUUFBVixDQUFtQkMsTUFBNUU7SUFBQSxDQUExQyxDQURVO0VBQUEsQ0FEWCxDQUFQO0FBSUgsQ0FOTTs7OztBQVFBLElBQU0wRCxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLEdBQW1DO0VBRXJFLE9BQU9KLGlCQUFBLENBQVNDLEdBQVQsQ0FBYSx3Q0FBYixFQUNGN0QsSUFERSxDQUNHLFVBQUFDLFFBQVE7SUFBQSxPQUNWQSxRQUFRLENBQUNFLElBQVQsQ0FBYzJELFNBQWQsQ0FBd0J0RCxVQUF4QixDQUNLSixNQURMLENBQ1ksVUFBQ0ssU0FBRDtNQUFBLE9BQTBCQSxTQUFTLENBQUNILE1BQXBDO0lBQUEsQ0FEWixFQUVLRixNQUZMLENBRVksVUFBQ0ssU0FBRDtNQUFBLE9BQTBCQSxTQUFTLENBQUM2QixLQUFWLEtBQW9CLFFBQTlDO0lBQUEsQ0FGWixDQURVO0VBQUEsQ0FEWCxDQUFQO0FBTUgsQ0FSTTs7OztBQVVBLElBQU0yQixZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDQyxXQUFEO0VBQUEsT0FDeEJOLGlCQUFBLENBQVNDLEdBQVQsQ0FBYSxnQkFBZ0JLLFdBQWhCLEdBQThCLG9CQUEzQyxFQUFpRWxFLElBQWpFLENBQXNFLFVBQUFDLFFBQVE7SUFBQSxPQUFJQSxRQUFRLENBQUNFLElBQWI7RUFBQSxDQUE5RSxDQUR3QjtBQUFBLENBQXJCOzs7O0FBR0EsSUFBTWdFLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUNELFdBQUQ7RUFBQSxPQUN2Qk4saUJBQUEsQ0FBU0MsR0FBVCxDQUFhLG1DQUFtQ0ssV0FBaEQsRUFBNkRsRSxJQUE3RCxDQUFrRSxVQUFBQyxRQUFRO0lBQUEsT0FBSUEsUUFBUSxDQUFDRSxJQUFiO0VBQUEsQ0FBMUUsQ0FEdUI7QUFBQSxDQUFwQjs7OztBQUdBLElBQU1pRSxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQXVCLENBQUNGLFdBQUQ7RUFBQSxPQUNoQ04saUJBQUEsQ0FBU0MsR0FBVCxDQUFhLCtDQUErQ0ssV0FBNUQsRUFBeUVsRSxJQUF6RSxDQUE4RSxVQUFBQyxRQUFRO0lBQUEsT0FBSUEsUUFBUSxDQUFDRSxJQUFiO0VBQUEsQ0FBdEYsQ0FEZ0M7QUFBQSxDQUE3Qjs7OztBQUdBLElBQU1rRSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQUNILFdBQUQ7RUFBQSxPQUNsQ04saUJBQUEsQ0FBU0MsR0FBVCxDQUFhLGlEQUFpREssV0FBOUQsRUFBMkVsRSxJQUEzRSxDQUFnRixVQUFBQyxRQUFRO0lBQUEsT0FBSUEsUUFBUSxDQUFDRSxJQUFiO0VBQUEsQ0FBeEYsQ0FEa0M7QUFBQSxDQUEvQjs7O0FBRVAsSUFBTW1CLEtBQUssR0FBRyxJQUFBQyxlQUFBLEdBQWQ7O0FBQ08sSUFBTStDLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBdUIsQ0FBQzdELFNBQUQ7RUFBQSxPQUFtQ0EsU0FBUyxDQUFDQyxLQUFWLENBQWdCcUIsSUFBaEIsQ0FBcUIsVUFBQ3BCLElBQUQ7SUFBQSxPQUFVVyxLQUFLLENBQUNpRCxPQUFOLENBQWMsSUFBQUMsbUJBQUEsRUFBYTdELElBQUksQ0FBQ2UsVUFBbEIsQ0FBZCxDQUFWO0VBQUEsQ0FBckIsQ0FBbkM7QUFBQSxDQUE3Qjs7OztBQUNBLElBQU0rQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNQLFdBQUQ7RUFBQSxPQUMzQk4saUJBQUEsQ0FBU0MsR0FBVCxDQUFhLDBDQUEwQ0ssV0FBdkQsRUFBb0VsRSxJQUFwRSxDQUF5RSxVQUFBQyxRQUFRO0lBQUEsT0FBSUEsUUFBUSxDQUFDRSxJQUFiO0VBQUEsQ0FBakYsQ0FEMkI7QUFBQSxDQUF4Qjs7OztBQUlBLElBQU11RSxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNqRSxTQUFELEVBQW9DO0VBRTdELElBQU1FLElBQUksR0FBR2dFLHNCQUFzQixvQkFBS2xFLFNBQVMsQ0FBQ0MsS0FBZixFQUFuQzs7RUFFQSxRQUFRQyxJQUFSLGFBQVFBLElBQVIsdUJBQVFBLElBQUksQ0FBRWlFLFVBQWQ7SUFDSSxLQUFLQyxTQUFBLENBQUlDLHVCQUFUO01BQ0ksT0FBTyxDQUFDLFdBQUQsRUFBYyxXQUFkLEVBQTJCLEtBQTNCLENBQVA7O0lBQ0osS0FBS0QsU0FBQSxDQUFJRSxhQUFUO01BQ0ksT0FBTyxDQUFDLFdBQUQsRUFBYyxLQUFkLENBQVA7O0lBQ0osS0FBS0YsU0FBQSxDQUFJRyxHQUFUO01BQ0ksT0FBTyxDQUFDLEtBQUQsQ0FBUDs7SUFDSjtNQUNJLE9BQU8sQ0FBQyxNQUFELENBQVA7RUFSUjtBQVVILENBZE07Ozs7QUFnQkEsSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDeEUsU0FBRCxFQUFvQztFQUVoRSxJQUFNRSxJQUFJLEdBQUdnRSxzQkFBc0Isb0JBQUtsRSxTQUFTLENBQUNDLEtBQWYsRUFBbkM7O0VBRUEsUUFBUUMsSUFBUixhQUFRQSxJQUFSLHVCQUFRQSxJQUFJLENBQUVpRSxVQUFkO0lBQ0ksS0FBS0MsU0FBQSxDQUFJQyx1QkFBVDtNQUNJLE9BQU8sRUFBUDs7SUFDSixLQUFLRCxTQUFBLENBQUlFLGFBQVQ7TUFDSSxPQUFPLENBQUMsV0FBRCxDQUFQOztJQUNKLEtBQUtGLFNBQUEsQ0FBSUcsR0FBVDtNQUNJLE9BQU8sQ0FBQyxXQUFELEVBQWMsV0FBZCxDQUFQOztJQUNKLEtBQUtILFNBQUEsQ0FBSUssTUFBVDtNQUNJLE9BQU8sQ0FBQyxXQUFELEVBQWMsV0FBZCxFQUEyQixLQUEzQixDQUFQOztJQUNKO01BQ0ksT0FBTyxFQUFQO0VBVlI7QUFZSCxDQWhCTTs7OztBQWlCQSxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFDMUUsU0FBRCxFQUE4QztFQUNuRSxJQUFNRSxJQUFJLEdBQUdnRSxzQkFBc0Isb0JBQUtsRSxTQUFTLENBQUNDLEtBQWYsRUFBbkM7RUFDQSxPQUFPQyxJQUFQLGFBQU9BLElBQVAsdUJBQU9BLElBQUksQ0FBRXdFLFNBQWI7QUFDSCxDQUhNOzs7O0FBSVAsSUFBTVIsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUFDakUsS0FBRCxFQUFxQztFQUVoRSxJQUFNMEUsVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQ0MsR0FBRDtJQUFBLE9BQWNDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZVixTQUFaLEVBQWlCN0MsT0FBakIsQ0FBeUJxRCxHQUF6QixDQUFkO0VBQUEsQ0FBbkI7O0VBQ0EsT0FBTzNFLEtBQUssQ0FBQ3VDLElBQU4sQ0FBVyxVQUFDQyxDQUFELEVBQUlDLENBQUo7SUFBQSxPQUFVaUMsVUFBVSxDQUFDakMsQ0FBQyxDQUFDeUIsVUFBSCxDQUFWLEdBQTJCUSxVQUFVLENBQUNsQyxDQUFDLENBQUMwQixVQUFILENBQS9DO0VBQUEsQ0FBWCxFQUEwRVksR0FBMUUsRUFBUDtBQUdILENBTkQifQ==
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import './assets/GalleryHero.scss';
3
+ import { Asset } from "../asset/data/Asset";
4
+ export declare const GalleryHeroMain: React.FC<GalleryHeroProps>;
5
+ export interface GalleryHeroProps {
6
+ assetsToShow: Asset[];
7
+ virtualTour?: string;
8
+ isAvailableNow?: boolean;
9
+ isFirst: boolean;
10
+ toursCount: number;
11
+ setCurrentView: (view: "photo" | "virtual tour" | "video tour") => void;
12
+ imageClickedHandler: (image: Asset) => void;
13
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GalleryHeroMain = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ require("./assets/GalleryHero.scss");
11
+
12
+ var _AssetService = require("../asset/service/AssetService");
13
+
14
+ var _muncherUi = require("@contentmunch/muncher-ui");
15
+
16
+ var _HeroImageCard = require("./HeroImageCard");
17
+
18
+ var _icon = _interopRequireDefault(require("../floorplan/card/assets/360-icon.png"));
19
+
20
+ var _videoIcon = _interopRequireDefault(require("../floorplan/card/assets/video-icon.png"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
25
+
26
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
+
28
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
+
30
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
31
+
32
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
33
+
34
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
35
+
36
+ var GalleryHeroMain = function GalleryHeroMain(_ref) {
37
+ var virtualTour = _ref.virtualTour,
38
+ setCurrentView = _ref.setCurrentView,
39
+ isAvailableNow = _ref.isAvailableNow,
40
+ assetsToShow = _ref.assetsToShow,
41
+ isFirst = _ref.isFirst,
42
+ toursCount = _ref.toursCount,
43
+ imageClickedHandler = _ref.imageClickedHandler;
44
+
45
+ var cardImageIcon = function cardImageIcon(i) {
46
+ return virtualTour && i === 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("img", {
47
+ src: _icon.default,
48
+ alt: "tour icon",
49
+ height: 50
50
+ }), /*#__PURE__*/_react.default.createElement("p", null, "Virtual Tour")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("img", {
51
+ src: _videoIcon.default,
52
+ alt: "video icon",
53
+ height: 40
54
+ }), /*#__PURE__*/_react.default.createElement("p", null, "Video Tour"));
55
+ };
56
+
57
+ return /*#__PURE__*/_react.default.createElement("div", {
58
+ className: "div-gallery"
59
+ }, isFirst && isAvailableNow ? /*#__PURE__*/_react.default.createElement("div", {
60
+ className: "badge--info"
61
+ }, /*#__PURE__*/_react.default.createElement(_muncherUi.Badge, {
62
+ variant: "secondary"
63
+ }, "Available Now")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement("div", {
64
+ className: "gallery-hero-two-columns"
65
+ }, isFirst ? /*#__PURE__*/_react.default.createElement("div", {
66
+ className: assetsToShow.length < 2 ? "gallery-hero-one" : "gallery-hero-column-one"
67
+ }, assetsToShow.slice(0, 1).map(function (asset) {
68
+ return /*#__PURE__*/_react.default.createElement("img", {
69
+ src: (0, _AssetService.assetUrlFrom)(asset.id),
70
+ alt: asset.name,
71
+ key: asset.id,
72
+ className: "gallery-hero--image",
73
+ onClick: function onClick() {
74
+ return imageClickedHandler(asset);
75
+ }
76
+ });
77
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), assetsToShow.length > 1 ? /*#__PURE__*/_react.default.createElement("div", {
78
+ className: isFirst ? "gallery-hero-column-two" : "gallery-hero-column"
79
+ }, isFirst ? _toConsumableArray(Array(toursCount)).map(function (x, i) {
80
+ return /*#__PURE__*/_react.default.createElement(_HeroImageCard.HeroImageCard, {
81
+ backgroundImage: (0, _AssetService.assetUrlFrom)(assetsToShow[i].id),
82
+ key: "tour" + i,
83
+ onClick: function onClick() {
84
+ virtualTour && i === 0 ? setCurrentView("virtual tour") : setCurrentView("video tour");
85
+ }
86
+ }, cardImageIcon(i));
87
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), assetsToShow.slice(isFirst ? 1 : 0, assetsToShow.length).map(function (asset) {
88
+ return /*#__PURE__*/_react.default.createElement("img", {
89
+ src: (0, _AssetService.assetUrlFrom)(asset.id),
90
+ alt: asset.name,
91
+ key: asset.id,
92
+ className: "gallery-hero--image",
93
+ onClick: function onClick() {
94
+ return imageClickedHandler(asset);
95
+ }
96
+ });
97
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)));
98
+ };
99
+
100
+ exports.GalleryHeroMain = GalleryHeroMain;
101
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHYWxsZXJ5SGVyb01haW4iLCJ2aXJ0dWFsVG91ciIsInNldEN1cnJlbnRWaWV3IiwiaXNBdmFpbGFibGVOb3ciLCJhc3NldHNUb1Nob3ciLCJpc0ZpcnN0IiwidG91cnNDb3VudCIsImltYWdlQ2xpY2tlZEhhbmRsZXIiLCJjYXJkSW1hZ2VJY29uIiwiaSIsInRvdXJJY29uIiwidmlkZW9JY29uIiwibGVuZ3RoIiwic2xpY2UiLCJtYXAiLCJhc3NldCIsImFzc2V0VXJsRnJvbSIsImlkIiwibmFtZSIsIkFycmF5IiwieCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYWxsZXJ5L0dhbGxlcnlIZXJvTWFpbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0ICcuL2Fzc2V0cy9HYWxsZXJ5SGVyby5zY3NzJztcbmltcG9ydCB7QXNzZXR9IGZyb20gXCIuLi9hc3NldC9kYXRhL0Fzc2V0XCI7XG5pbXBvcnQge2Fzc2V0VXJsRnJvbX0gZnJvbSBcIi4uL2Fzc2V0L3NlcnZpY2UvQXNzZXRTZXJ2aWNlXCI7XG5pbXBvcnQge0JhZGdlLCBJY29ufSBmcm9tIFwiQGNvbnRlbnRtdW5jaC9tdW5jaGVyLXVpXCI7XG5pbXBvcnQge0hlcm9JbWFnZUNhcmR9IGZyb20gXCIuL0hlcm9JbWFnZUNhcmRcIjtcbmltcG9ydCB0b3VySWNvbiBmcm9tIFwiLi4vZmxvb3JwbGFuL2NhcmQvYXNzZXRzLzM2MC1pY29uLnBuZ1wiO1xuaW1wb3J0IHZpZGVvSWNvbiBmcm9tIFwiLi4vZmxvb3JwbGFuL2NhcmQvYXNzZXRzL3ZpZGVvLWljb24ucG5nXCI7XG5cbmV4cG9ydCBjb25zdCBHYWxsZXJ5SGVyb01haW46IFJlYWN0LkZDPEdhbGxlcnlIZXJvUHJvcHM+ID0gKFxuICAgIHtcbiAgICAgICAgdmlydHVhbFRvdXIsIHNldEN1cnJlbnRWaWV3LCBpc0F2YWlsYWJsZU5vdyxcbiAgICAgICAgYXNzZXRzVG9TaG93LCBpc0ZpcnN0LCB0b3Vyc0NvdW50LCBpbWFnZUNsaWNrZWRIYW5kbGVyLFxuICAgIH0pID0+IHtcblxuICAgIGNvbnN0IGNhcmRJbWFnZUljb24gPSAoaTogbnVtYmVyKSA9PiB2aXJ0dWFsVG91ciAmJiBpID09PSAwID9cbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxpbWcgc3JjPXt0b3VySWNvbn0gYWx0PVwidG91ciBpY29uXCIgaGVpZ2h0PXs1MH0vPlxuICAgICAgICAgICAgPHA+VmlydHVhbCBUb3VyPC9wPlxuICAgICAgICA8Lz4gOlxuICAgICAgICA8PlxuICAgICAgICAgICAgPGltZyBzcmM9e3ZpZGVvSWNvbn0gYWx0PVwidmlkZW8gaWNvblwiIGhlaWdodD17NDB9Lz5cbiAgICAgICAgICAgIDxwPlZpZGVvIFRvdXI8L3A+XG4gICAgICAgIDwvPlxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkaXYtZ2FsbGVyeVwiPlxuICAgICAgICAgICAge2lzRmlyc3QgJiYgaXNBdmFpbGFibGVOb3cgP1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFkZ2UtLWluZm9cIj48QmFkZ2UgdmFyaWFudD1cInNlY29uZGFyeVwiPkF2YWlsYWJsZSBOb3c8L0JhZGdlPjwvZGl2PiA6IDw+PC8+fVxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdhbGxlcnktaGVyby10d28tY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgIHtpc0ZpcnN0ID9cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthc3NldHNUb1Nob3cubGVuZ3RoIDwgMiA/IFwiZ2FsbGVyeS1oZXJvLW9uZVwiIDogXCJnYWxsZXJ5LWhlcm8tY29sdW1uLW9uZVwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHNUb1Nob3cuc2xpY2UoMCwgMSkubWFwKChhc3NldCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e2Fzc2V0VXJsRnJvbShhc3NldC5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXthc3NldC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YXNzZXQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ2FsbGVyeS1oZXJvLS1pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaW1hZ2VDbGlja2VkSGFuZGxlcihhc3NldCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gOiA8PjwvPn1cbiAgICAgICAgICAgICAgICB7YXNzZXRzVG9TaG93Lmxlbmd0aCA+IDEgP1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17aXNGaXJzdCA/IFwiZ2FsbGVyeS1oZXJvLWNvbHVtbi10d29cIiA6IFwiZ2FsbGVyeS1oZXJvLWNvbHVtblwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtpc0ZpcnN0ID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbLi4uQXJyYXkodG91cnNDb3VudCldLm1hcCgoeCwgaSkgPT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGVyb0ltYWdlQ2FyZCBiYWNrZ3JvdW5kSW1hZ2U9e2Fzc2V0VXJsRnJvbShhc3NldHNUb1Nob3dbaV0uaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e1widG91clwiICsgaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbFRvdXIgJiYgaSA9PT0gMCA/IHNldEN1cnJlbnRWaWV3KFwidmlydHVhbCB0b3VyXCIpIDogc2V0Q3VycmVudFZpZXcoXCJ2aWRlbyB0b3VyXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXJkSW1hZ2VJY29uKGkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0hlcm9JbWFnZUNhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IDw+PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldHNUb1Nob3cuc2xpY2UoaXNGaXJzdCA/IDEgOiAwLCBhc3NldHNUb1Nob3cubGVuZ3RoKS5tYXAoKGFzc2V0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17YXNzZXRVcmxGcm9tKGFzc2V0LmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9e2Fzc2V0Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXthc3NldC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJnYWxsZXJ5LWhlcm8tLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBpbWFnZUNsaWNrZWRIYW5kbGVyKGFzc2V0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiA6IDw+PC8+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cblxuZXhwb3J0IGludGVyZmFjZSBHYWxsZXJ5SGVyb1Byb3BzIHtcblxuICAgIGFzc2V0c1RvU2hvdzogQXNzZXRbXTtcbiAgICB2aXJ0dWFsVG91cj86IHN0cmluZztcbiAgICBpc0F2YWlsYWJsZU5vdz86IGJvb2xlYW47XG4gICAgaXNGaXJzdDogYm9vbGVhbjtcbiAgICB0b3Vyc0NvdW50OiBudW1iZXI7XG5cbiAgICBzZXRDdXJyZW50VmlldzogKHZpZXc6IFwicGhvdG9cIiB8IFwidmlydHVhbCB0b3VyXCIgfCBcInZpZGVvIHRvdXJcIikgPT4gdm9pZDtcbiAgICBpbWFnZUNsaWNrZWRIYW5kbGVyOiAoaW1hZ2U6IEFzc2V0KSA9PiB2b2lkO1xuXG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxlQUEyQyxHQUFHLFNBQTlDQSxlQUE4QyxPQUlqRDtFQUFBLElBRkZDLFdBRUUsUUFGRkEsV0FFRTtFQUFBLElBRldDLGNBRVgsUUFGV0EsY0FFWDtFQUFBLElBRjJCQyxjQUUzQixRQUYyQkEsY0FFM0I7RUFBQSxJQURGQyxZQUNFLFFBREZBLFlBQ0U7RUFBQSxJQURZQyxPQUNaLFFBRFlBLE9BQ1o7RUFBQSxJQURxQkMsVUFDckIsUUFEcUJBLFVBQ3JCO0VBQUEsSUFEaUNDLG1CQUNqQyxRQURpQ0EsbUJBQ2pDOztFQUVOLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0MsQ0FBRDtJQUFBLE9BQWVSLFdBQVcsSUFBSVEsQ0FBQyxLQUFLLENBQXJCLGdCQUNq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
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import './assets/GalleryHero.scss';
3
+ import { Asset } from "../asset/data/Asset";
4
+ export declare const GalleryHeroMobile: React.FC<GalleryHeroMobileProps>;
5
+ export interface GalleryHeroMobileProps {
6
+ assets: Asset[];
7
+ virtualTour?: string;
8
+ toursCount: number;
9
+ setCurrentView: (view: "photo" | "virtual tour" | "video tour") => void;
10
+ imageClickedHandler: (image: Asset) => void;
11
+ }