valtech-components 4.0.473 → 4.0.475

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 (58) hide show
  1. package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +18 -9
  2. package/esm2022/lib/components/organisms/mini-games/chessimals-engine.mjs +109 -16
  3. package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +20 -11
  4. package/esm2022/lib/components/organisms/mini-games/christianity-card.component.mjs +260 -0
  5. package/esm2022/lib/components/organisms/mini-games/christianity-game.component.mjs +2253 -0
  6. package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +18 -9
  7. package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +275 -9
  8. package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +18 -9
  9. package/esm2022/lib/components/organisms/mini-games/types.mjs +1 -1
  10. package/esm2022/lib/directives/light-ripple.directive.mjs +57 -0
  11. package/esm2022/lib/version.mjs +2 -2
  12. package/esm2022/mini-games/public-api.mjs +34 -2
  13. package/esm2022/public-api.mjs +3 -1
  14. package/fesm2022/valtech-components-mini-games.mjs +34 -2
  15. package/fesm2022/valtech-components-mini-games.mjs.map +1 -1
  16. package/fesm2022/valtech-components.mjs +3015 -60
  17. package/fesm2022/valtech-components.mjs.map +1 -1
  18. package/lib/components/organisms/mini-games/bubble-blitz-game.component.d.ts +2 -0
  19. package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +3 -1
  20. package/lib/components/organisms/mini-games/christianity-card.component.d.ts +46 -0
  21. package/lib/components/organisms/mini-games/christianity-game.component.d.ts +177 -0
  22. package/lib/components/organisms/mini-games/memory-game.component.d.ts +2 -0
  23. package/lib/components/organisms/mini-games/simon-game.component.d.ts +2 -0
  24. package/lib/components/organisms/mini-games/types.d.ts +131 -1
  25. package/lib/directives/light-ripple.directive.d.ts +8 -0
  26. package/lib/version.d.ts +1 -1
  27. package/mini-games/public-api.d.ts +4 -0
  28. package/package.json +1 -1
  29. package/public-api.d.ts +2 -0
  30. package/src/lib/assets/games/christianity/card-symbol.svg +51 -0
  31. package/src/lib/assets/games/christianity/card-template-reference/front.html +114 -0
  32. package/src/lib/assets/games/christianity/card-template-reference/front.style.css +352 -0
  33. package/src/lib/assets/games/christianity/data/01-genesis.bible-reference-suggestions.csv +191 -0
  34. package/src/lib/assets/games/christianity/data/01-genesis.bible-verses.nbv-open.csv +170 -0
  35. package/src/lib/assets/games/christianity/data/01-genesis.cards.csv +281 -0
  36. package/src/lib/assets/games/christianity/data/01-genesis.cards.i18n.csv +281 -0
  37. package/src/lib/assets/games/christianity/data/01-genesis.cards.json +16453 -0
  38. package/src/lib/assets/games/christianity/data/01-genesis.unassigned-effects.csv +49 -0
  39. package/src/lib/assets/games/christianity/data/README.md +40 -0
  40. package/src/lib/assets/games/christianity/data/data-con-habilides.csv +273 -0
  41. package/src/lib/assets/games/christianity/data/habilidades-por-tipo.xlsx +0 -0
  42. package/src/lib/assets/games/christianity/data/listado-edicion.csv +281 -0
  43. package/src/lib/assets/games/christianity/editions/1/cards/.gitkeep +1 -0
  44. package/src/lib/assets/games/christianity/editions/1/cards/PLACEHOLDER.png +0 -0
  45. package/src/lib/assets/games/christianity/editions/README.md +34 -0
  46. package/src/lib/assets/games/christianity/icons/1-icon.png +0 -0
  47. package/src/lib/assets/games/christianity/icons/action.png +0 -0
  48. package/src/lib/assets/games/christianity/icons/character.png +0 -0
  49. package/src/lib/assets/games/christianity/icons/event.png +0 -0
  50. package/src/lib/assets/games/christianity/icons/leader.png +0 -0
  51. package/src/lib/assets/games/christianity/icons/offering.png +0 -0
  52. package/src/lib/assets/games/christianity/icons/place.png +0 -0
  53. package/src/lib/assets/games/christianity/icons/tool.png +0 -0
  54. package/src/lib/assets/games/christianity/icons/wisdom.png +0 -0
  55. package/src/lib/assets/games/christianity/sources/README.md +16 -0
  56. package/src/lib/assets/games/christianity/sources/spaonbv_vpl.txt +29102 -0
  57. package/src/lib/assets/games/christianity/sources/spaonbv_vpl.xml +29104 -0
  58. package/src/lib/assets/games/christianity/spaonbv.txt +52 -0
@@ -0,0 +1,260 @@
1
+ import { Component, computed, input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ChristianityCardComponent {
4
+ constructor() {
5
+ this.card = input.required();
6
+ this.variant = input('table');
7
+ this.normalizedTypeLabel = computed(() => this.card().typeLabel.toUpperCase());
8
+ this.frontTemplate = computed(() => this.card().frontTemplate ?? 'genesis-classic');
9
+ this.isGenesisClassicTemplate = computed(() => this.frontTemplate() === 'genesis-classic' || this.frontTemplate() === 'genesis-classic-extra');
10
+ this.typeIconUrl = computed(() => `assets/games/christianity/icons/${this.iconName(this.card().type)}.png`);
11
+ this.headerMetric = computed(() => {
12
+ const card = this.card();
13
+ if (card.type === 'leader')
14
+ return null;
15
+ if (card.type === 'offering')
16
+ return { kind: 'pips', value: card.offeringValue ?? 0 };
17
+ if (typeof card.cost === 'number')
18
+ return { kind: 'number', value: card.cost };
19
+ return null;
20
+ });
21
+ this.cardStatsText = computed(() => {
22
+ const card = this.card();
23
+ if (card.type !== 'character')
24
+ return '';
25
+ return `${card.attack ?? 0} / ${card.currentHp ?? card.life ?? 0}`;
26
+ });
27
+ this.leaderLifeText = computed(() => {
28
+ const card = this.card();
29
+ const current = card.currentHp ?? card.life ?? 0;
30
+ const max = card.maxHp ?? card.life ?? current;
31
+ return `${current}/${max}`;
32
+ });
33
+ }
34
+ offeringPips(value) {
35
+ const count = Number(value);
36
+ if (!Number.isFinite(count) || count <= 0)
37
+ return [];
38
+ return Array.from({ length: Math.min(Math.floor(count), 5) });
39
+ }
40
+ iconName(type) {
41
+ if (type === 'character')
42
+ return 'character';
43
+ if (type === 'offering')
44
+ return 'offering';
45
+ if (type === 'leader')
46
+ return 'leader';
47
+ return type;
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChristianityCardComponent, isStandalone: true, selector: "val-christianity-card", inputs: { card: { classPropertyName: "card", publicName: "card", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
51
+ @if (variant() === 'back') {
52
+ <article class="christianity-card-render christianity-card-render--back" aria-hidden="true">
53
+ <span></span>
54
+ </article>
55
+ } @else {
56
+ <article
57
+ class="christianity-card-render"
58
+ [class.christianity-card-render--full]="variant() === 'full'"
59
+ [class.christianity-card-render--table]="variant() === 'table'"
60
+ [class.christianity-card-render--hand]="variant() === 'hand'"
61
+ [class.christianity-card-render--list]="variant() === 'list'"
62
+ [class.christianity-card-render--template-genesis-classic]="isGenesisClassicTemplate()"
63
+ [class.christianity-card-render--template-genesis-full-art]="frontTemplate() === 'genesis-full-art'"
64
+ [class.is-leader]="card().type === 'leader'"
65
+ [class.is-offering]="card().type === 'offering'"
66
+ >
67
+ <header class="christianity-card-render__header">
68
+ <span class="christianity-card-render__type-icon" aria-hidden="true">
69
+ <img [src]="typeIconUrl()" alt="" />
70
+ </span>
71
+ <strong>{{ card().name }}</strong>
72
+ @if (headerMetric(); as metric) {
73
+ <span class="christianity-card-render__metric" [class.is-pips]="metric.kind === 'pips'">
74
+ @if (metric.kind === 'pips') {
75
+ @for (_ of offeringPips(metric.value); track $index) {
76
+ <i aria-hidden="true"></i>
77
+ }
78
+ } @else {
79
+ {{ metric.value }}
80
+ }
81
+ </span>
82
+ }
83
+ </header>
84
+
85
+ <section class="christianity-card-render__art" [class.has-image]="card().imageUrl">
86
+ @if (card().imageUrl) {
87
+ <img [src]="card().imageUrl" [alt]="card().name" />
88
+ } @else {
89
+ <span>{{ card().name }}</span>
90
+ }
91
+ <small>{{ normalizedTypeLabel() }}</small>
92
+ </section>
93
+
94
+ @if (variant() === 'full') {
95
+ <section class="christianity-card-render__verse">
96
+ @if (card().verseText) {
97
+ <p>{{ card().verseText }}</p>
98
+ }
99
+ @if (card().scripture) {
100
+ <strong>{{ card().scripture }}</strong>
101
+ }
102
+ </section>
103
+ }
104
+
105
+ <section class="christianity-card-render__effect">
106
+ @if (card().editionIcon) {
107
+ <img class="christianity-card-render__edition-watermark" [src]="card().editionIcon" alt="" aria-hidden="true" />
108
+ }
109
+ <div class="christianity-card-render__stats">
110
+ @if (card().type === 'offering') {
111
+ <strong class="is-pips">
112
+ @for (_ of offeringPips(card().offeringValue); track $index) {
113
+ <i aria-hidden="true"></i>
114
+ }
115
+ </strong>
116
+ } @else if (card().type === 'leader') {
117
+ <strong>{{ leaderLifeText() }}</strong>
118
+ } @else if (cardStatsText()) {
119
+ <strong>{{ cardStatsText() }}</strong>
120
+ }
121
+ </div>
122
+ @if (variant() === 'full') {
123
+ <div class="christianity-card-render__text">
124
+ @if (card().abilityName) {
125
+ <strong>{{ card().abilityName }}</strong>
126
+ }
127
+ @if (card().abilityText || card().statusText) {
128
+ <p>{{ card().abilityText || card().statusText }}</p>
129
+ }
130
+ </div>
131
+ <span
132
+ class="christianity-card-render__rarity"
133
+ [class.is-normal]="!card().rarity || card().rarity === 'normal'"
134
+ [class.is-uncommon]="card().rarity === 'uncommon'"
135
+ [class.is-rare]="card().rarity === 'rare'"
136
+ [class.is-legendary]="card().rarity === 'legendary'"
137
+ aria-hidden="true"
138
+ ></span>
139
+ }
140
+ </section>
141
+
142
+ @if (variant() === 'full') {
143
+ <footer class="christianity-card-render__footer">
144
+ <span>{{ card().edition ?? 'MVP' }}</span>
145
+ <span>{{ card().collectorNumber ?? card().id }}</span>
146
+ <span>{{ card().year ?? '2026' }} CHRISTIANITY</span>
147
+ <span>{{ card().author ?? 'MVP' }}</span>
148
+ </footer>
149
+ }
150
+ </article>
151
+ }
152
+ `, isInline: true, styles: [":host{--christianity-card-aspect: 5 / 7.45;--christianity-card-back: linear-gradient(135deg, rgba(16, 42, 67, .16), rgba(16, 42, 67, .03)), repeating-linear-gradient(45deg, #dbeafe 0 .33rem, #ffffff .33rem .66rem);display:block;width:100%;min-width:0}.christianity-card-render{position:relative;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.28rem;width:100%;min-width:0;aspect-ratio:var(--christianity-card-aspect);padding:.48rem;overflow:hidden;border:1px solid rgba(36,48,68,.16);border-radius:.52rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),radial-gradient(circle at 18% 0%,rgba(214,162,29,.12),transparent 44%);color:var(--val-text-color, #1f2933);box-shadow:0 .5rem 1.25rem #2430441a,inset 0 0 0 .18rem #ffffff9e}.christianity-card-render>*{position:relative;z-index:1}.christianity-card-render--template-genesis-classic{--christianity-frame-width: .26rem;padding:calc(.48rem + var(--christianity-frame-width));border-color:#39475733;background:linear-gradient(180deg,#aab8c7f5,#8fa0b1fa),radial-gradient(circle at 18% 0%,rgba(255,255,255,.24),transparent 42%);box-shadow:0 .5rem 1.25rem #24304421,inset 0 0 0 1px #ffffff6b,inset 0 0 0 var(--christianity-frame-width) #8797a980}.christianity-card-render--template-genesis-classic:before{content:\"\";position:absolute;inset:var(--christianity-frame-width);z-index:0;border-radius:.44rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),radial-gradient(circle at 18% 0%,rgba(214,162,29,.1),transparent 44%);box-shadow:inset 0 0 0 1px #ffffffb8,0 .16rem .35rem #2430441a}.christianity-card-render--full{grid-template-rows:auto minmax(9rem,1.25fr) auto minmax(7rem,.9fr) auto;gap:.58rem;min-height:min(29rem,calc(100vh - 3.5rem));padding:.72rem;border-color:#2430442e;border-radius:.75rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 20% 0%,rgba(214,162,29,.18),transparent 45%);box-shadow:0 0 0 .18rem #fff4c294,0 0 2.2rem #f5c75552,0 2.4rem 5rem #102a4357,inset 0 0 0 .35rem #ffffff8c}.christianity-card-render--full.christianity-card-render--template-genesis-classic{--christianity-frame-width: .46rem;padding:calc(.72rem + var(--christianity-frame-width));border-radius:.78rem;box-shadow:0 0 0 .14rem #ffffff6b,0 0 2.2rem #f5c7552e,0 2.4rem 5rem #102a4357,inset 0 0 0 1px #ffffff5c,inset 0 0 0 var(--christianity-frame-width) #8797a994}.christianity-card-render--full.christianity-card-render--template-genesis-classic:before{border-radius:.56rem}.christianity-card-render--template-genesis-full-art{border-color:#090d1594;background:#111827;color:#fff;text-shadow:0 .08rem .18rem rgba(0,0,0,.72);box-shadow:0 .7rem 1.45rem #090d1533,inset 0 0 1.2rem #ffffff1a}.christianity-card-render--template-genesis-full-art .christianity-card-render__art{border-radius:.36rem;box-shadow:inset 0 0 0 1px #ffffff29,inset 0 -2rem 2.5rem #090d154d}.christianity-card-render--template-genesis-full-art .christianity-card-render__effect{background:#090d1594;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.christianity-card-render--template-genesis-full-art .christianity-card-render__verse{color:#fff}.christianity-card-render--template-genesis-full-art .christianity-card-render__stats strong{background:#ffffffe6;color:#1f2933;text-shadow:none}.christianity-card-render--full.christianity-card-render--template-genesis-full-art{grid-template-rows:auto minmax(14rem,1fr) auto minmax(8rem,auto) auto;min-height:min(35rem,calc(100vh - 4rem));border-radius:.72rem;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.16),transparent 38%),#090d15;box-shadow:0 0 0 .12rem #ffffff1f,0 2.4rem 5rem #090d157a,inset 0 0 1.8rem #ffffff24}.christianity-card-render--back{place-items:center;padding:.55rem;background:var(--christianity-card-back);box-shadow:0 .8rem 1.55rem #24304424}.christianity-card-render--back:before{content:\"\";position:absolute;inset:.5rem;border:1px solid rgba(16,42,67,.12);border-radius:.38rem;background:linear-gradient(180deg,#ffffff2e,#ffffff0a);box-shadow:inset 0 0 0 .12rem #ffffff1f}.christianity-card-render--list{grid-template-rows:auto minmax(0,1fr) auto;gap:.22rem;padding:.38rem;border-radius:.48rem;box-shadow:0 .45rem 1rem #2430441a,inset 0 0 0 .14rem #ffffff9e}.christianity-card-render__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.34rem;align-items:center;min-width:0}.christianity-card-render__type-icon,.christianity-card-render__metric{display:grid;place-items:center;border-radius:999px}.christianity-card-render__type-icon{width:1.2rem;height:1.2rem;background:#24304414}.christianity-card-render__type-icon img{width:.82rem;height:.82rem;object-fit:contain}.christianity-card-render__header strong{min-width:0;display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:clamp(.86rem,2.5vw,1.06rem);line-height:1.04}.christianity-card-render--list .christianity-card-render__header{gap:.22rem}.christianity-card-render--list .christianity-card-render__type-icon{width:.9rem;height:.9rem}.christianity-card-render--list .christianity-card-render__type-icon img{width:.62rem;height:.62rem}.christianity-card-render--list .christianity-card-render__header strong{font-size:.72rem;line-height:1;-webkit-line-clamp:2}.christianity-card-render--full .christianity-card-render__type-icon{width:1.6rem;height:1.6rem}.christianity-card-render--full .christianity-card-render__type-icon img{width:1rem;height:1rem}.christianity-card-render--full .christianity-card-render__header strong{font-size:clamp(1.25rem,5vw,1.85rem)}.christianity-card-render__metric{min-width:1.52rem;height:1.52rem;padding:0 .24rem;background:#ffd91a;color:#243044;font-size:.86rem;font-weight:900;line-height:1;box-shadow:inset 0 -.08rem #52401c2e}.christianity-card-render--list .christianity-card-render__metric{min-width:1.2rem;height:1.2rem;padding:0 .18rem;font-size:.7rem}.christianity-card-render--full .christianity-card-render__metric{min-width:2.1rem;height:2.1rem;padding:0 .36rem;font-size:1.1rem}.christianity-card-render__metric.is-pips,.christianity-card-render__stats .is-pips{grid-auto-flow:column;gap:.16rem;min-width:auto;padding:0 .28rem}.christianity-card-render__metric i,.christianity-card-render__stats i{display:block;width:.72rem;height:.72rem;border-radius:999px;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.9) 0 .12rem,transparent .13rem),#ffd91a;box-shadow:inset 0 -.08rem #52401c2e,0 .12rem .24rem #102a431a}.christianity-card-render--list .christianity-card-render__metric i,.christianity-card-render--list .christianity-card-render__stats i{width:.48rem;height:.48rem}.christianity-card-render__art{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;border-radius:.36rem;background:linear-gradient(135deg,#5f6f2a2e,#d6a21d24),radial-gradient(circle at 50% 18%,rgba(255,255,255,.72),transparent 48%),#dbe7ef;box-shadow:inset 0 0 0 1px #24304414}.christianity-card-render__art img{width:100%;height:100%;object-fit:cover}.christianity-card-render__art>span{max-width:78%;overflow:hidden;color:#2430447a;font-size:clamp(.82rem,2.2vw,1.05rem);font-weight:900;line-height:1.02;text-align:center;text-overflow:ellipsis}.christianity-card-render--list .christianity-card-render__art>span{max-width:82%;font-size:.7rem}.christianity-card-render--full .christianity-card-render__art>span{font-size:clamp(1.1rem,5vw,1.8rem)}.christianity-card-render__art small{position:absolute;right:0;bottom:.28rem;max-width:78%;padding:.1rem .34rem;overflow:hidden;border-radius:999px 0 0 999px;background:#ffffffe6;color:#1f2933a8;font-size:.48rem;font-style:italic;font-weight:900;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.christianity-card-render--list .christianity-card-render__art small{bottom:.2rem;padding:.08rem .26rem;font-size:.42rem}.christianity-card-render--full .christianity-card-render__art small{bottom:.55rem;min-width:5rem;padding:.16rem .48rem;font-size:.68rem;text-align:center}.christianity-card-render__verse,.christianity-card-render__effect{display:grid;gap:.32rem}.christianity-card-render__verse{color:#171923;font-family:Georgia,Times New Roman,serif;font-size:clamp(.72rem,2.7vw,.86rem)}.christianity-card-render__verse p,.christianity-card-render__effect p{margin:0;line-height:1.25}.christianity-card-render__verse strong{font-family:inherit;font-size:.78rem;font-weight:900}.christianity-card-render__effect{position:relative;align-content:center;min-height:1.45rem;padding:.24rem;overflow:hidden;border-radius:.34rem;background:radial-gradient(circle at 50% 70%,rgba(36,48,68,.06),transparent 44%),#ffffffdb}.christianity-card-render--list .christianity-card-render__effect{min-height:1.26rem;padding:.16rem;border-radius:.28rem}.christianity-card-render__edition-watermark{position:absolute;top:50%;left:50%;z-index:0;width:min(66%,7.4rem);max-width:none;opacity:.055;pointer-events:none;transform:translate(-50%,-50%)}.christianity-card-render--full .christianity-card-render__effect{align-content:start;min-height:7rem;padding:.6rem .7rem;border-radius:.45rem}.christianity-card-render--full .christianity-card-render__edition-watermark{width:min(72%,10rem);opacity:.06}.christianity-card-render__stats{position:relative;z-index:1;display:flex;gap:.65rem;min-height:1.2rem}.christianity-card-render__stats strong{justify-self:end;align-self:end;margin-left:auto;padding:.12rem .32rem;border-radius:999px;background:#edf2f7;font-size:clamp(.66rem,2vw,.82rem);line-height:1.05}.christianity-card-render--list .christianity-card-render__stats{min-height:.95rem}.christianity-card-render--list .christianity-card-render__stats strong{padding:.1rem .26rem;font-size:.66rem}.christianity-card-render--full .christianity-card-render__stats strong{margin-left:0;padding:0;background:transparent;font-size:1rem}.christianity-card-render__text{position:relative;z-index:1;display:grid;gap:.12rem}.christianity-card-render__text strong{font-size:.82rem}.christianity-card-render__text p{font-size:clamp(.78rem,2.9vw,.92rem)}.christianity-card-render__rarity{position:absolute;top:.62rem;right:.62rem;z-index:1;width:.46rem;height:.46rem;border-radius:.12rem;transform:rotate(45deg)}.christianity-card-render__rarity.is-normal{background:#d1d5db}.christianity-card-render__rarity.is-uncommon{background:#22c55e}.christianity-card-render__rarity.is-rare{background:#3b82f6}.christianity-card-render__rarity.is-legendary{background:#eab308}.christianity-card-render__footer{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:.34rem;align-items:center;color:#1f2933ad;font-size:.58rem;line-height:1;text-transform:uppercase}.christianity-card-render__footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host-context(.dark),:host-context(.ion-palette-dark),:host-context(html.ion-palette-dark),:host-context(body.dark),:host-context([data-theme=\"dark\"]){--christianity-card-back: linear-gradient(135deg, rgba(147, 197, 253, .2), rgba(15, 23, 42, .08)), repeating-linear-gradient(45deg, #1e3a5f 0 .33rem, #0f172a .33rem .66rem);color-scheme:dark}:host-context(.dark) .christianity-card-render,:host-context(.ion-palette-dark) .christianity-card-render,:host-context(html.ion-palette-dark) .christianity-card-render,:host-context(body.dark) .christianity-card-render,:host-context([data-theme=\"dark\"]) .christianity-card-render{box-shadow:0 .5rem 1.25rem #0000003d,inset 0 0 0 .18rem #ffffff61}:host-context(.dark) .christianity-card-render--back,:host-context(.ion-palette-dark) .christianity-card-render--back,:host-context(html.ion-palette-dark) .christianity-card-render--back,:host-context(body.dark) .christianity-card-render--back,:host-context([data-theme=\"dark\"]) .christianity-card-render--back{border-color:#93c5fd38;box-shadow:0 .8rem 1.55rem #00000052}:host-context(.dark) .christianity-card-render--back:before,:host-context(.ion-palette-dark) .christianity-card-render--back:before,:host-context(html.ion-palette-dark) .christianity-card-render--back:before,:host-context(body.dark) .christianity-card-render--back:before,:host-context([data-theme=\"dark\"]) .christianity-card-render--back:before{border-color:#93c5fd29;background:linear-gradient(180deg,#93c5fd24,#0f172a0a)}:host-context(.dark) .christianity-card-render--list,:host-context(.ion-palette-dark) .christianity-card-render--list,:host-context(html.ion-palette-dark) .christianity-card-render--list,:host-context(body.dark) .christianity-card-render--list,:host-context([data-theme=\"dark\"]) .christianity-card-render--list{box-shadow:0 .45rem 1rem #00000042,inset 0 0 0 .14rem #ffffff7a}:host-context(.dark) .christianity-card-render__type-icon,:host-context(.ion-palette-dark) .christianity-card-render__type-icon,:host-context(html.ion-palette-dark) .christianity-card-render__type-icon,:host-context(body.dark) .christianity-card-render__type-icon,:host-context([data-theme=\"dark\"]) .christianity-card-render__type-icon,:host-context(.dark) .christianity-card-render__stats strong,:host-context(.ion-palette-dark) .christianity-card-render__stats strong,:host-context(html.ion-palette-dark) .christianity-card-render__stats strong,:host-context(body.dark) .christianity-card-render__stats strong,:host-context([data-theme=\"dark\"]) .christianity-card-render__stats strong{background:#e2e8f0db;color:#172033}@media (min-width: 52rem){.christianity-card-render--full{min-height:min(35rem,calc(100vh - 4rem));padding:1.05rem}}\n"] }); }
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityCardComponent, decorators: [{
155
+ type: Component,
156
+ args: [{ selector: 'val-christianity-card', standalone: true, template: `
157
+ @if (variant() === 'back') {
158
+ <article class="christianity-card-render christianity-card-render--back" aria-hidden="true">
159
+ <span></span>
160
+ </article>
161
+ } @else {
162
+ <article
163
+ class="christianity-card-render"
164
+ [class.christianity-card-render--full]="variant() === 'full'"
165
+ [class.christianity-card-render--table]="variant() === 'table'"
166
+ [class.christianity-card-render--hand]="variant() === 'hand'"
167
+ [class.christianity-card-render--list]="variant() === 'list'"
168
+ [class.christianity-card-render--template-genesis-classic]="isGenesisClassicTemplate()"
169
+ [class.christianity-card-render--template-genesis-full-art]="frontTemplate() === 'genesis-full-art'"
170
+ [class.is-leader]="card().type === 'leader'"
171
+ [class.is-offering]="card().type === 'offering'"
172
+ >
173
+ <header class="christianity-card-render__header">
174
+ <span class="christianity-card-render__type-icon" aria-hidden="true">
175
+ <img [src]="typeIconUrl()" alt="" />
176
+ </span>
177
+ <strong>{{ card().name }}</strong>
178
+ @if (headerMetric(); as metric) {
179
+ <span class="christianity-card-render__metric" [class.is-pips]="metric.kind === 'pips'">
180
+ @if (metric.kind === 'pips') {
181
+ @for (_ of offeringPips(metric.value); track $index) {
182
+ <i aria-hidden="true"></i>
183
+ }
184
+ } @else {
185
+ {{ metric.value }}
186
+ }
187
+ </span>
188
+ }
189
+ </header>
190
+
191
+ <section class="christianity-card-render__art" [class.has-image]="card().imageUrl">
192
+ @if (card().imageUrl) {
193
+ <img [src]="card().imageUrl" [alt]="card().name" />
194
+ } @else {
195
+ <span>{{ card().name }}</span>
196
+ }
197
+ <small>{{ normalizedTypeLabel() }}</small>
198
+ </section>
199
+
200
+ @if (variant() === 'full') {
201
+ <section class="christianity-card-render__verse">
202
+ @if (card().verseText) {
203
+ <p>{{ card().verseText }}</p>
204
+ }
205
+ @if (card().scripture) {
206
+ <strong>{{ card().scripture }}</strong>
207
+ }
208
+ </section>
209
+ }
210
+
211
+ <section class="christianity-card-render__effect">
212
+ @if (card().editionIcon) {
213
+ <img class="christianity-card-render__edition-watermark" [src]="card().editionIcon" alt="" aria-hidden="true" />
214
+ }
215
+ <div class="christianity-card-render__stats">
216
+ @if (card().type === 'offering') {
217
+ <strong class="is-pips">
218
+ @for (_ of offeringPips(card().offeringValue); track $index) {
219
+ <i aria-hidden="true"></i>
220
+ }
221
+ </strong>
222
+ } @else if (card().type === 'leader') {
223
+ <strong>{{ leaderLifeText() }}</strong>
224
+ } @else if (cardStatsText()) {
225
+ <strong>{{ cardStatsText() }}</strong>
226
+ }
227
+ </div>
228
+ @if (variant() === 'full') {
229
+ <div class="christianity-card-render__text">
230
+ @if (card().abilityName) {
231
+ <strong>{{ card().abilityName }}</strong>
232
+ }
233
+ @if (card().abilityText || card().statusText) {
234
+ <p>{{ card().abilityText || card().statusText }}</p>
235
+ }
236
+ </div>
237
+ <span
238
+ class="christianity-card-render__rarity"
239
+ [class.is-normal]="!card().rarity || card().rarity === 'normal'"
240
+ [class.is-uncommon]="card().rarity === 'uncommon'"
241
+ [class.is-rare]="card().rarity === 'rare'"
242
+ [class.is-legendary]="card().rarity === 'legendary'"
243
+ aria-hidden="true"
244
+ ></span>
245
+ }
246
+ </section>
247
+
248
+ @if (variant() === 'full') {
249
+ <footer class="christianity-card-render__footer">
250
+ <span>{{ card().edition ?? 'MVP' }}</span>
251
+ <span>{{ card().collectorNumber ?? card().id }}</span>
252
+ <span>{{ card().year ?? '2026' }} CHRISTIANITY</span>
253
+ <span>{{ card().author ?? 'MVP' }}</span>
254
+ </footer>
255
+ }
256
+ </article>
257
+ }
258
+ `, styles: [":host{--christianity-card-aspect: 5 / 7.45;--christianity-card-back: linear-gradient(135deg, rgba(16, 42, 67, .16), rgba(16, 42, 67, .03)), repeating-linear-gradient(45deg, #dbeafe 0 .33rem, #ffffff .33rem .66rem);display:block;width:100%;min-width:0}.christianity-card-render{position:relative;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.28rem;width:100%;min-width:0;aspect-ratio:var(--christianity-card-aspect);padding:.48rem;overflow:hidden;border:1px solid rgba(36,48,68,.16);border-radius:.52rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),radial-gradient(circle at 18% 0%,rgba(214,162,29,.12),transparent 44%);color:var(--val-text-color, #1f2933);box-shadow:0 .5rem 1.25rem #2430441a,inset 0 0 0 .18rem #ffffff9e}.christianity-card-render>*{position:relative;z-index:1}.christianity-card-render--template-genesis-classic{--christianity-frame-width: .26rem;padding:calc(.48rem + var(--christianity-frame-width));border-color:#39475733;background:linear-gradient(180deg,#aab8c7f5,#8fa0b1fa),radial-gradient(circle at 18% 0%,rgba(255,255,255,.24),transparent 42%);box-shadow:0 .5rem 1.25rem #24304421,inset 0 0 0 1px #ffffff6b,inset 0 0 0 var(--christianity-frame-width) #8797a980}.christianity-card-render--template-genesis-classic:before{content:\"\";position:absolute;inset:var(--christianity-frame-width);z-index:0;border-radius:.44rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa),radial-gradient(circle at 18% 0%,rgba(214,162,29,.1),transparent 44%);box-shadow:inset 0 0 0 1px #ffffffb8,0 .16rem .35rem #2430441a}.christianity-card-render--full{grid-template-rows:auto minmax(9rem,1.25fr) auto minmax(7rem,.9fr) auto;gap:.58rem;min-height:min(29rem,calc(100vh - 3.5rem));padding:.72rem;border-color:#2430442e;border-radius:.75rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 20% 0%,rgba(214,162,29,.18),transparent 45%);box-shadow:0 0 0 .18rem #fff4c294,0 0 2.2rem #f5c75552,0 2.4rem 5rem #102a4357,inset 0 0 0 .35rem #ffffff8c}.christianity-card-render--full.christianity-card-render--template-genesis-classic{--christianity-frame-width: .46rem;padding:calc(.72rem + var(--christianity-frame-width));border-radius:.78rem;box-shadow:0 0 0 .14rem #ffffff6b,0 0 2.2rem #f5c7552e,0 2.4rem 5rem #102a4357,inset 0 0 0 1px #ffffff5c,inset 0 0 0 var(--christianity-frame-width) #8797a994}.christianity-card-render--full.christianity-card-render--template-genesis-classic:before{border-radius:.56rem}.christianity-card-render--template-genesis-full-art{border-color:#090d1594;background:#111827;color:#fff;text-shadow:0 .08rem .18rem rgba(0,0,0,.72);box-shadow:0 .7rem 1.45rem #090d1533,inset 0 0 1.2rem #ffffff1a}.christianity-card-render--template-genesis-full-art .christianity-card-render__art{border-radius:.36rem;box-shadow:inset 0 0 0 1px #ffffff29,inset 0 -2rem 2.5rem #090d154d}.christianity-card-render--template-genesis-full-art .christianity-card-render__effect{background:#090d1594;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.christianity-card-render--template-genesis-full-art .christianity-card-render__verse{color:#fff}.christianity-card-render--template-genesis-full-art .christianity-card-render__stats strong{background:#ffffffe6;color:#1f2933;text-shadow:none}.christianity-card-render--full.christianity-card-render--template-genesis-full-art{grid-template-rows:auto minmax(14rem,1fr) auto minmax(8rem,auto) auto;min-height:min(35rem,calc(100vh - 4rem));border-radius:.72rem;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.16),transparent 38%),#090d15;box-shadow:0 0 0 .12rem #ffffff1f,0 2.4rem 5rem #090d157a,inset 0 0 1.8rem #ffffff24}.christianity-card-render--back{place-items:center;padding:.55rem;background:var(--christianity-card-back);box-shadow:0 .8rem 1.55rem #24304424}.christianity-card-render--back:before{content:\"\";position:absolute;inset:.5rem;border:1px solid rgba(16,42,67,.12);border-radius:.38rem;background:linear-gradient(180deg,#ffffff2e,#ffffff0a);box-shadow:inset 0 0 0 .12rem #ffffff1f}.christianity-card-render--list{grid-template-rows:auto minmax(0,1fr) auto;gap:.22rem;padding:.38rem;border-radius:.48rem;box-shadow:0 .45rem 1rem #2430441a,inset 0 0 0 .14rem #ffffff9e}.christianity-card-render__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.34rem;align-items:center;min-width:0}.christianity-card-render__type-icon,.christianity-card-render__metric{display:grid;place-items:center;border-radius:999px}.christianity-card-render__type-icon{width:1.2rem;height:1.2rem;background:#24304414}.christianity-card-render__type-icon img{width:.82rem;height:.82rem;object-fit:contain}.christianity-card-render__header strong{min-width:0;display:-webkit-box;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:clamp(.86rem,2.5vw,1.06rem);line-height:1.04}.christianity-card-render--list .christianity-card-render__header{gap:.22rem}.christianity-card-render--list .christianity-card-render__type-icon{width:.9rem;height:.9rem}.christianity-card-render--list .christianity-card-render__type-icon img{width:.62rem;height:.62rem}.christianity-card-render--list .christianity-card-render__header strong{font-size:.72rem;line-height:1;-webkit-line-clamp:2}.christianity-card-render--full .christianity-card-render__type-icon{width:1.6rem;height:1.6rem}.christianity-card-render--full .christianity-card-render__type-icon img{width:1rem;height:1rem}.christianity-card-render--full .christianity-card-render__header strong{font-size:clamp(1.25rem,5vw,1.85rem)}.christianity-card-render__metric{min-width:1.52rem;height:1.52rem;padding:0 .24rem;background:#ffd91a;color:#243044;font-size:.86rem;font-weight:900;line-height:1;box-shadow:inset 0 -.08rem #52401c2e}.christianity-card-render--list .christianity-card-render__metric{min-width:1.2rem;height:1.2rem;padding:0 .18rem;font-size:.7rem}.christianity-card-render--full .christianity-card-render__metric{min-width:2.1rem;height:2.1rem;padding:0 .36rem;font-size:1.1rem}.christianity-card-render__metric.is-pips,.christianity-card-render__stats .is-pips{grid-auto-flow:column;gap:.16rem;min-width:auto;padding:0 .28rem}.christianity-card-render__metric i,.christianity-card-render__stats i{display:block;width:.72rem;height:.72rem;border-radius:999px;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.9) 0 .12rem,transparent .13rem),#ffd91a;box-shadow:inset 0 -.08rem #52401c2e,0 .12rem .24rem #102a431a}.christianity-card-render--list .christianity-card-render__metric i,.christianity-card-render--list .christianity-card-render__stats i{width:.48rem;height:.48rem}.christianity-card-render__art{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;border-radius:.36rem;background:linear-gradient(135deg,#5f6f2a2e,#d6a21d24),radial-gradient(circle at 50% 18%,rgba(255,255,255,.72),transparent 48%),#dbe7ef;box-shadow:inset 0 0 0 1px #24304414}.christianity-card-render__art img{width:100%;height:100%;object-fit:cover}.christianity-card-render__art>span{max-width:78%;overflow:hidden;color:#2430447a;font-size:clamp(.82rem,2.2vw,1.05rem);font-weight:900;line-height:1.02;text-align:center;text-overflow:ellipsis}.christianity-card-render--list .christianity-card-render__art>span{max-width:82%;font-size:.7rem}.christianity-card-render--full .christianity-card-render__art>span{font-size:clamp(1.1rem,5vw,1.8rem)}.christianity-card-render__art small{position:absolute;right:0;bottom:.28rem;max-width:78%;padding:.1rem .34rem;overflow:hidden;border-radius:999px 0 0 999px;background:#ffffffe6;color:#1f2933a8;font-size:.48rem;font-style:italic;font-weight:900;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.christianity-card-render--list .christianity-card-render__art small{bottom:.2rem;padding:.08rem .26rem;font-size:.42rem}.christianity-card-render--full .christianity-card-render__art small{bottom:.55rem;min-width:5rem;padding:.16rem .48rem;font-size:.68rem;text-align:center}.christianity-card-render__verse,.christianity-card-render__effect{display:grid;gap:.32rem}.christianity-card-render__verse{color:#171923;font-family:Georgia,Times New Roman,serif;font-size:clamp(.72rem,2.7vw,.86rem)}.christianity-card-render__verse p,.christianity-card-render__effect p{margin:0;line-height:1.25}.christianity-card-render__verse strong{font-family:inherit;font-size:.78rem;font-weight:900}.christianity-card-render__effect{position:relative;align-content:center;min-height:1.45rem;padding:.24rem;overflow:hidden;border-radius:.34rem;background:radial-gradient(circle at 50% 70%,rgba(36,48,68,.06),transparent 44%),#ffffffdb}.christianity-card-render--list .christianity-card-render__effect{min-height:1.26rem;padding:.16rem;border-radius:.28rem}.christianity-card-render__edition-watermark{position:absolute;top:50%;left:50%;z-index:0;width:min(66%,7.4rem);max-width:none;opacity:.055;pointer-events:none;transform:translate(-50%,-50%)}.christianity-card-render--full .christianity-card-render__effect{align-content:start;min-height:7rem;padding:.6rem .7rem;border-radius:.45rem}.christianity-card-render--full .christianity-card-render__edition-watermark{width:min(72%,10rem);opacity:.06}.christianity-card-render__stats{position:relative;z-index:1;display:flex;gap:.65rem;min-height:1.2rem}.christianity-card-render__stats strong{justify-self:end;align-self:end;margin-left:auto;padding:.12rem .32rem;border-radius:999px;background:#edf2f7;font-size:clamp(.66rem,2vw,.82rem);line-height:1.05}.christianity-card-render--list .christianity-card-render__stats{min-height:.95rem}.christianity-card-render--list .christianity-card-render__stats strong{padding:.1rem .26rem;font-size:.66rem}.christianity-card-render--full .christianity-card-render__stats strong{margin-left:0;padding:0;background:transparent;font-size:1rem}.christianity-card-render__text{position:relative;z-index:1;display:grid;gap:.12rem}.christianity-card-render__text strong{font-size:.82rem}.christianity-card-render__text p{font-size:clamp(.78rem,2.9vw,.92rem)}.christianity-card-render__rarity{position:absolute;top:.62rem;right:.62rem;z-index:1;width:.46rem;height:.46rem;border-radius:.12rem;transform:rotate(45deg)}.christianity-card-render__rarity.is-normal{background:#d1d5db}.christianity-card-render__rarity.is-uncommon{background:#22c55e}.christianity-card-render__rarity.is-rare{background:#3b82f6}.christianity-card-render__rarity.is-legendary{background:#eab308}.christianity-card-render__footer{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:.34rem;align-items:center;color:#1f2933ad;font-size:.58rem;line-height:1;text-transform:uppercase}.christianity-card-render__footer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host-context(.dark),:host-context(.ion-palette-dark),:host-context(html.ion-palette-dark),:host-context(body.dark),:host-context([data-theme=\"dark\"]){--christianity-card-back: linear-gradient(135deg, rgba(147, 197, 253, .2), rgba(15, 23, 42, .08)), repeating-linear-gradient(45deg, #1e3a5f 0 .33rem, #0f172a .33rem .66rem);color-scheme:dark}:host-context(.dark) .christianity-card-render,:host-context(.ion-palette-dark) .christianity-card-render,:host-context(html.ion-palette-dark) .christianity-card-render,:host-context(body.dark) .christianity-card-render,:host-context([data-theme=\"dark\"]) .christianity-card-render{box-shadow:0 .5rem 1.25rem #0000003d,inset 0 0 0 .18rem #ffffff61}:host-context(.dark) .christianity-card-render--back,:host-context(.ion-palette-dark) .christianity-card-render--back,:host-context(html.ion-palette-dark) .christianity-card-render--back,:host-context(body.dark) .christianity-card-render--back,:host-context([data-theme=\"dark\"]) .christianity-card-render--back{border-color:#93c5fd38;box-shadow:0 .8rem 1.55rem #00000052}:host-context(.dark) .christianity-card-render--back:before,:host-context(.ion-palette-dark) .christianity-card-render--back:before,:host-context(html.ion-palette-dark) .christianity-card-render--back:before,:host-context(body.dark) .christianity-card-render--back:before,:host-context([data-theme=\"dark\"]) .christianity-card-render--back:before{border-color:#93c5fd29;background:linear-gradient(180deg,#93c5fd24,#0f172a0a)}:host-context(.dark) .christianity-card-render--list,:host-context(.ion-palette-dark) .christianity-card-render--list,:host-context(html.ion-palette-dark) .christianity-card-render--list,:host-context(body.dark) .christianity-card-render--list,:host-context([data-theme=\"dark\"]) .christianity-card-render--list{box-shadow:0 .45rem 1rem #00000042,inset 0 0 0 .14rem #ffffff7a}:host-context(.dark) .christianity-card-render__type-icon,:host-context(.ion-palette-dark) .christianity-card-render__type-icon,:host-context(html.ion-palette-dark) .christianity-card-render__type-icon,:host-context(body.dark) .christianity-card-render__type-icon,:host-context([data-theme=\"dark\"]) .christianity-card-render__type-icon,:host-context(.dark) .christianity-card-render__stats strong,:host-context(.ion-palette-dark) .christianity-card-render__stats strong,:host-context(html.ion-palette-dark) .christianity-card-render__stats strong,:host-context(body.dark) .christianity-card-render__stats strong,:host-context([data-theme=\"dark\"]) .christianity-card-render__stats strong{background:#e2e8f0db;color:#172033}@media (min-width: 52rem){.christianity-card-render--full{min-height:min(35rem,calc(100vh - 4rem));padding:1.05rem}}\n"] }]
259
+ }] });
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyaXN0aWFuaXR5LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NocmlzdGlhbml0eS1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBK3VCM0QsTUFBTSxPQUFPLHlCQUF5QjtJQXZzQnRDO1FBd3NCVyxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBK0IsQ0FBQztRQUNyRCxZQUFPLEdBQUcsS0FBSyxDQUFnQyxPQUFPLENBQUMsQ0FBQztRQUU5Qyx3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLElBQUksaUJBQWlCLENBQUMsQ0FBQztRQUMvRSw2QkFBd0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLGlCQUFpQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzFJLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1DQUFtQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkcsaUJBQVksR0FBRyxRQUFRLENBQW9ELEdBQUcsRUFBRTtZQUNqRyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDeEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVU7Z0JBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEYsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUTtnQkFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9FLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDZ0Isa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVztnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUN6QyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ2dCLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNqRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDO1lBQy9DLE9BQU8sR0FBRyxPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7S0FjSjtJQVpXLFlBQVksQ0FBQyxLQUF5QjtRQUM5QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQWdDO1FBQy9DLElBQUksSUFBSSxLQUFLLFdBQVc7WUFBRSxPQUFPLFdBQVcsQ0FBQztRQUM3QyxJQUFJLElBQUksS0FBSyxVQUFVO1lBQUUsT0FBTyxVQUFVLENBQUM7UUFDM0MsSUFBSSxJQUFJLEtBQUssUUFBUTtZQUFFLE9BQU8sUUFBUSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0F0Q1UseUJBQXlCO21HQUF6Qix5QkFBeUIsK1VBcHNCMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNHVDs7NEZBOGxCVSx5QkFBeUI7a0JBdnNCckMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxZQUNOOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzR1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBDaHJpc3RpYW5pdHlDYXJkUmVuZGVyVHlwZSA9XG4gIHwgJ2xlYWRlcidcbiAgfCAnY2hhcmFjdGVyJ1xuICB8ICdvZmZlcmluZydcbiAgfCAnd2lzZG9tJ1xuICB8ICdhY3Rpb24nXG4gIHwgJ3Rvb2wnXG4gIHwgJ3BsYWNlJ1xuICB8ICdldmVudCc7XG5cbmV4cG9ydCB0eXBlIENocmlzdGlhbml0eUNhcmRSZW5kZXJWYXJpYW50ID0gJ2Z1bGwnIHwgJ3RhYmxlJyB8ICdoYW5kJyB8ICdsaXN0JyB8ICdiYWNrJztcblxuZXhwb3J0IGludGVyZmFjZSBDaHJpc3RpYW5pdHlDYXJkUmVuZGVyTW9kZWwge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IENocmlzdGlhbml0eUNhcmRSZW5kZXJUeXBlO1xuICB0eXBlTGFiZWw6IHN0cmluZztcbiAgY29zdD86IG51bWJlcjtcbiAgb2ZmZXJpbmdWYWx1ZT86IG51bWJlcjtcbiAgYXR0YWNrPzogbnVtYmVyO1xuICBsaWZlPzogbnVtYmVyO1xuICBjdXJyZW50SHA/OiBudW1iZXI7XG4gIG1heEhwPzogbnVtYmVyO1xuICBhYmlsaXR5TmFtZT86IHN0cmluZztcbiAgYWJpbGl0eVRleHQ/OiBzdHJpbmc7XG4gIHZlcnNlVGV4dD86IHN0cmluZztcbiAgc2NyaXB0dXJlPzogc3RyaW5nO1xuICBlZGl0aW9uPzogc3RyaW5nO1xuICBjb2xsZWN0b3JOdW1iZXI/OiBzdHJpbmc7XG4gIGVkaXRpb25JY29uPzogc3RyaW5nO1xuICB5ZWFyPzogc3RyaW5nO1xuICBhdXRob3I/OiBzdHJpbmc7XG4gIHJhcml0eT86ICdub3JtYWwnIHwgJ3VuY29tbW9uJyB8ICdyYXJlJyB8ICdsZWdlbmRhcnknO1xuICBpbWFnZVVybD86IHN0cmluZztcbiAgZnJvbnRUZW1wbGF0ZT86IHN0cmluZztcbiAgc3RhdHVzVGV4dD86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNocmlzdGlhbml0eS1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKHZhcmlhbnQoKSA9PT0gJ2JhY2snKSB7XG4gICAgICA8YXJ0aWNsZSBjbGFzcz1cImNocmlzdGlhbml0eS1jYXJkLXJlbmRlciBjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWJhY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgPC9hcnRpY2xlPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGFydGljbGVcbiAgICAgICAgY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJcIlxuICAgICAgICBbY2xhc3MuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsXT1cInZhcmlhbnQoKSA9PT0gJ2Z1bGwnXCJcbiAgICAgICAgW2NsYXNzLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tdGFibGVdPVwidmFyaWFudCgpID09PSAndGFibGUnXCJcbiAgICAgICAgW2NsYXNzLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0taGFuZF09XCJ2YXJpYW50KCkgPT09ICdoYW5kJ1wiXG4gICAgICAgIFtjbGFzcy5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3RdPVwidmFyaWFudCgpID09PSAnbGlzdCdcIlxuICAgICAgICBbY2xhc3MuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWNsYXNzaWNdPVwiaXNHZW5lc2lzQ2xhc3NpY1RlbXBsYXRlKClcIlxuICAgICAgICBbY2xhc3MuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWZ1bGwtYXJ0XT1cImZyb250VGVtcGxhdGUoKSA9PT0gJ2dlbmVzaXMtZnVsbC1hcnQnXCJcbiAgICAgICAgW2NsYXNzLmlzLWxlYWRlcl09XCJjYXJkKCkudHlwZSA9PT0gJ2xlYWRlcidcIlxuICAgICAgICBbY2xhc3MuaXMtb2ZmZXJpbmddPVwiY2FyZCgpLnR5cGUgPT09ICdvZmZlcmluZydcIlxuICAgICAgPlxuICAgICAgICA8aGVhZGVyIGNsYXNzPVwiY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19oZWFkZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdHlwZS1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwidHlwZUljb25VcmwoKVwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzdHJvbmc+e3sgY2FyZCgpLm5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgICBAaWYgKGhlYWRlck1ldHJpYygpOyBhcyBtZXRyaWMpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19tZXRyaWNcIiBbY2xhc3MuaXMtcGlwc109XCJtZXRyaWMua2luZCA9PT0gJ3BpcHMnXCI+XG4gICAgICAgICAgICAgIEBpZiAobWV0cmljLmtpbmQgPT09ICdwaXBzJykge1xuICAgICAgICAgICAgICAgIEBmb3IgKF8gb2Ygb2ZmZXJpbmdQaXBzKG1ldHJpYy52YWx1ZSk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAge3sgbWV0cmljLnZhbHVlIH19XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19hcnRcIiBbY2xhc3MuaGFzLWltYWdlXT1cImNhcmQoKS5pbWFnZVVybFwiPlxuICAgICAgICAgIEBpZiAoY2FyZCgpLmltYWdlVXJsKSB7XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiY2FyZCgpLmltYWdlVXJsXCIgW2FsdF09XCJjYXJkKCkubmFtZVwiIC8+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8c3Bhbj57eyBjYXJkKCkubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPHNtYWxsPnt7IG5vcm1hbGl6ZWRUeXBlTGFiZWwoKSB9fTwvc21hbGw+XG4gICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICBAaWYgKHZhcmlhbnQoKSA9PT0gJ2Z1bGwnKSB7XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3ZlcnNlXCI+XG4gICAgICAgICAgICBAaWYgKGNhcmQoKS52ZXJzZVRleHQpIHtcbiAgICAgICAgICAgICAgPHA+e3sgY2FyZCgpLnZlcnNlVGV4dCB9fTwvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoY2FyZCgpLnNjcmlwdHVyZSkge1xuICAgICAgICAgICAgICA8c3Ryb25nPnt7IGNhcmQoKS5zY3JpcHR1cmUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cblxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWZmZWN0XCI+XG4gICAgICAgICAgQGlmIChjYXJkKCkuZWRpdGlvbkljb24pIHtcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2VkaXRpb24td2F0ZXJtYXJrXCIgW3NyY109XCJjYXJkKCkuZWRpdGlvbkljb25cIiBhbHQ9XCJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0c1wiPlxuICAgICAgICAgICAgQGlmIChjYXJkKCkudHlwZSA9PT0gJ29mZmVyaW5nJykge1xuICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiaXMtcGlwc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKF8gb2Ygb2ZmZXJpbmdQaXBzKGNhcmQoKS5vZmZlcmluZ1ZhbHVlKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICA8aSBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGNhcmQoKS50eXBlID09PSAnbGVhZGVyJykge1xuICAgICAgICAgICAgICA8c3Ryb25nPnt7IGxlYWRlckxpZmVUZXh0KCkgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGNhcmRTdGF0c1RleHQoKSkge1xuICAgICAgICAgICAgICA8c3Ryb25nPnt7IGNhcmRTdGF0c1RleHQoKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIEBpZiAodmFyaWFudCgpID09PSAnZnVsbCcpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3RleHRcIj5cbiAgICAgICAgICAgICAgQGlmIChjYXJkKCkuYWJpbGl0eU5hbWUpIHtcbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGNhcmQoKS5hYmlsaXR5TmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoY2FyZCgpLmFiaWxpdHlUZXh0IHx8IGNhcmQoKS5zdGF0dXNUZXh0KSB7XG4gICAgICAgICAgICAgICAgPHA+e3sgY2FyZCgpLmFiaWxpdHlUZXh0IHx8IGNhcmQoKS5zdGF0dXNUZXh0IH19PC9wPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19yYXJpdHlcIlxuICAgICAgICAgICAgICBbY2xhc3MuaXMtbm9ybWFsXT1cIiFjYXJkKCkucmFyaXR5IHx8IGNhcmQoKS5yYXJpdHkgPT09ICdub3JtYWwnXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmlzLXVuY29tbW9uXT1cImNhcmQoKS5yYXJpdHkgPT09ICd1bmNvbW1vbidcIlxuICAgICAgICAgICAgICBbY2xhc3MuaXMtcmFyZV09XCJjYXJkKCkucmFyaXR5ID09PSAncmFyZSdcIlxuICAgICAgICAgICAgICBbY2xhc3MuaXMtbGVnZW5kYXJ5XT1cImNhcmQoKS5yYXJpdHkgPT09ICdsZWdlbmRhcnknXCJcbiAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgQGlmICh2YXJpYW50KCkgPT09ICdmdWxsJykge1xuICAgICAgICAgIDxmb290ZXIgY2xhc3M9XCJjaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2Zvb3RlclwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgY2FyZCgpLmVkaXRpb24gPz8gJ01WUCcgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyBjYXJkKCkuY29sbGVjdG9yTnVtYmVyID8/IGNhcmQoKS5pZCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IGNhcmQoKS55ZWFyID8/ICcyMDI2JyB9fSBDSFJJU1RJQU5JVFk8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyBjYXJkKCkuYXV0aG9yID8/ICdNVlAnIH19PC9zcGFuPlxuICAgICAgICAgIDwvZm9vdGVyPlxuICAgICAgICB9XG4gICAgICA8L2FydGljbGU+XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIC0tY2hyaXN0aWFuaXR5LWNhcmQtYXNwZWN0OiA1IC8gNy40NTtcbiAgICAgICAgLS1jaHJpc3RpYW5pdHktY2FyZC1iYWNrOlxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTYsIDQyLCA2NywgMC4xNiksIHJnYmEoMTYsIDQyLCA2NywgMC4wMykpLFxuICAgICAgICAgIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsICNkYmVhZmUgMCAwLjMzcmVtLCAjZmZmZmZmIDAuMzNyZW0gMC42NnJlbSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ2FwOiAwLjI4cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLWNocmlzdGlhbml0eS1jYXJkLWFzcGVjdCk7XG4gICAgICAgIHBhZGRpbmc6IDAuNDhyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzYsIDQ4LCA2OCwgMC4xNik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNTJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSwgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk4KSksXG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMCUsIHJnYmEoMjE0LCAxNjIsIDI5LCAwLjEyKSwgdHJhbnNwYXJlbnQgNDQlKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXZhbC10ZXh0LWNvbG9yLCAjMWYyOTMzKTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAuNXJlbSAxLjI1cmVtIHJnYmEoMzYsIDQ4LCA2OCwgMC4xKSxcbiAgICAgICAgICBpbnNldCAwIDAgMCAwLjE4cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42Mik7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXIgPiAqIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWNsYXNzaWMge1xuICAgICAgICAtLWNocmlzdGlhbml0eS1mcmFtZS13aWR0aDogMC4yNnJlbTtcbiAgICAgICAgcGFkZGluZzogY2FsYygwLjQ4cmVtICsgdmFyKC0tY2hyaXN0aWFuaXR5LWZyYW1lLXdpZHRoKSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NywgNzEsIDg3LCAwLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMTcwLCAxODQsIDE5OSwgMC45NiksIHJnYmEoMTQzLCAxNjAsIDE3NywgMC45OCkpLFxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTglIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpLCB0cmFuc3BhcmVudCA0MiUpO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMC41cmVtIDEuMjVyZW0gcmdiYSgzNiwgNDgsIDY4LCAwLjEzKSxcbiAgICAgICAgICBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQyKSxcbiAgICAgICAgICBpbnNldCAwIDAgMCB2YXIoLS1jaHJpc3RpYW5pdHktZnJhbWUtd2lkdGgpIHJnYmEoMTM1LCAxNTEsIDE2OSwgMC41KTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tdGVtcGxhdGUtZ2VuZXNpcy1jbGFzc2ljOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogdmFyKC0tY2hyaXN0aWFuaXR5LWZyYW1lLXdpZHRoKTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygwLjUycmVtIC0gMC4wOHJlbSk7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSwgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk4KSksXG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMCUsIHJnYmEoMjE0LCAxNjIsIDI5LCAwLjEpLCB0cmFuc3BhcmVudCA0NCUpO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzIpLFxuICAgICAgICAgIDAgMC4xNnJlbSAwLjM1cmVtIHJnYmEoMzYsIDQ4LCA2OCwgMC4xKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBtaW5tYXgoOXJlbSwgMS4yNWZyKSBhdXRvIG1pbm1heCg3cmVtLCAwLjlmcikgYXV0bztcbiAgICAgICAgZ2FwOiAwLjU4cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiBtaW4oMjlyZW0sIGNhbGMoMTAwdmggLSAzLjVyZW0pKTtcbiAgICAgICAgcGFkZGluZzogMC43MnJlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDM2LCA0OCwgNjgsIDAuMTgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NiksIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45NikpLFxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMjAlIDAlLCByZ2JhKDIxNCwgMTYyLCAyOSwgMC4xOCksIHRyYW5zcGFyZW50IDQ1JSk7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAwIDAgMC4xOHJlbSByZ2JhKDI1NSwgMjQ0LCAxOTQsIDAuNTgpLFxuICAgICAgICAgIDAgMCAyLjJyZW0gcmdiYSgyNDUsIDE5OSwgODUsIDAuMzIpLFxuICAgICAgICAgIDAgMi40cmVtIDVyZW0gcmdiYSgxNiwgNDIsIDY3LCAwLjM0KSxcbiAgICAgICAgICBpbnNldCAwIDAgMCAwLjM1cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWNsYXNzaWMge1xuICAgICAgICAtLWNocmlzdGlhbml0eS1mcmFtZS13aWR0aDogMC40NnJlbTtcbiAgICAgICAgcGFkZGluZzogY2FsYygwLjcycmVtICsgdmFyKC0tY2hyaXN0aWFuaXR5LWZyYW1lLXdpZHRoKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzhyZW07XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAwIDAgMC4xNHJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDIpLFxuICAgICAgICAgIDAgMCAyLjJyZW0gcmdiYSgyNDUsIDE5OSwgODUsIDAuMTgpLFxuICAgICAgICAgIDAgMi40cmVtIDVyZW0gcmdiYSgxNiwgNDIsIDY3LCAwLjM0KSxcbiAgICAgICAgICBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM2KSxcbiAgICAgICAgICBpbnNldCAwIDAgMCB2YXIoLS1jaHJpc3RpYW5pdHktZnJhbWUtd2lkdGgpIHJnYmEoMTM1LCAxNTEsIDE2OSwgMC41OCk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWNsYXNzaWM6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNTZyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLXRlbXBsYXRlLWdlbmVzaXMtZnVsbC1hcnQge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoOSwgMTMsIDIxLCAwLjU4KTtcbiAgICAgICAgYmFja2dyb3VuZDogIzExMTgyNztcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAuMDhyZW0gMC4xOHJlbSByZ2JhKDAsIDAsIDAsIDAuNzIpO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMC43cmVtIDEuNDVyZW0gcmdiYSg5LCAxMywgMjEsIDAuMiksXG4gICAgICAgICAgaW5zZXQgMCAwIDEuMnJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLXRlbXBsYXRlLWdlbmVzaXMtZnVsbC1hcnQgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNnJlbTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KSxcbiAgICAgICAgICBpbnNldCAwIC0ycmVtIDIuNXJlbSByZ2JhKDksIDEzLCAyMSwgMC4zKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tdGVtcGxhdGUtZ2VuZXNpcy1mdWxsLWFydCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19lZmZlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDksIDEzLCAyMSwgMC41OCk7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tdGVtcGxhdGUtZ2VuZXNpcy1mdWxsLWFydCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX192ZXJzZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS10ZW1wbGF0ZS1nZW5lc2lzLWZ1bGwtYXJ0IC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3N0YXRzIHN0cm9uZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgICAgY29sb3I6ICMxZjI5MzM7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tdGVtcGxhdGUtZ2VuZXNpcy1mdWxsLWFydCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBtaW5tYXgoMTRyZW0sIDFmcikgYXV0byBtaW5tYXgoOHJlbSwgYXV0bykgYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogbWluKDM1cmVtLCBjYWxjKDEwMHZoIC0gNHJlbSkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjcycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNTAlIDglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpLCB0cmFuc3BhcmVudCAzOCUpLFxuICAgICAgICAgICMwOTBkMTU7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAwIDAgMC4xMnJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpLFxuICAgICAgICAgIDAgMi40cmVtIDVyZW0gcmdiYSg5LCAxMywgMjEsIDAuNDgpLFxuICAgICAgICAgIGluc2V0IDAgMCAxLjhyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tYmFjayB7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuNTVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNocmlzdGlhbml0eS1jYXJkLWJhY2spO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuOHJlbSAxLjU1cmVtIHJnYmEoMzYsIDQ4LCA2OCwgMC4xNCk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWJhY2s6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwLjVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYsIDQyLCA2NywgMC4xMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzhyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCkpO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwLjEycmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3Qge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ2FwOiAwLjIycmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjM4cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjQ4cmVtO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMC40NXJlbSAxcmVtIHJnYmEoMzYsIDQ4LCA2OCwgMC4xKSxcbiAgICAgICAgICBpbnNldCAwIDAgMCAwLjE0cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42Mik7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBnYXA6IDAuMzRyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdHlwZS1pY29uLFxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fbWV0cmljIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3R5cGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM2LCA0OCwgNjgsIDAuMDgpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190eXBlLWljb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDAuODJyZW07XG4gICAgICAgIGhlaWdodDogMC44MnJlbTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9faGVhZGVyIHN0cm9uZyB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMC44NnJlbSwgMi41dncsIDEuMDZyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wNDtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tbGlzdCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19oZWFkZXIge1xuICAgICAgICBnYXA6IDAuMjJyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3QgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdHlwZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDAuOXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjlyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3QgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdHlwZS1pY29uIGltZyB7XG4gICAgICAgIHdpZHRoOiAwLjYycmVtO1xuICAgICAgICBoZWlnaHQ6IDAuNjJyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3QgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9faGVhZGVyIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190eXBlLWljb24ge1xuICAgICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190eXBlLWljb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19oZWFkZXIgc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjI1cmVtLCA1dncsIDEuODVyZW0pO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19tZXRyaWMge1xuICAgICAgICBtaW4td2lkdGg6IDEuNTJyZW07XG4gICAgICAgIGhlaWdodDogMS41MnJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwLjI0cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZkOTFhO1xuICAgICAgICBjb2xvcjogIzI0MzA0NDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg2cmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4wOHJlbSAwIHJnYmEoODIsIDY0LCAyOCwgMC4xOCk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3QgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fbWV0cmljIHtcbiAgICAgICAgbWluLXdpZHRoOiAxLjJyZW07XG4gICAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMThyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX21ldHJpYyB7XG4gICAgICAgIG1pbi13aWR0aDogMi4xcmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwLjM2cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fbWV0cmljLmlzLXBpcHMsXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0cyAuaXMtcGlwcyB7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgICAgIGdhcDogMC4xNnJlbTtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMjhyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX21ldHJpYyBpLFxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fc3RhdHMgaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMC43MnJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjcycmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM0JSAyOCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAwIDAuMTJyZW0sIHRyYW5zcGFyZW50IDAuMTNyZW0pLFxuICAgICAgICAgICNmZmQ5MWE7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgaW5zZXQgMCAtMC4wOHJlbSAwIHJnYmEoODIsIDY0LCAyOCwgMC4xOCksXG4gICAgICAgICAgMCAwLjEycmVtIDAuMjRyZW0gcmdiYSgxNiwgNDIsIDY3LCAwLjEpO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1saXN0IC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX21ldHJpYyBpLFxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tbGlzdCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0cyBpIHtcbiAgICAgICAgd2lkdGg6IDAuNDhyZW07XG4gICAgICAgIGhlaWdodDogMC40OHJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM2cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoOTUsIDExMSwgNDIsIDAuMTgpLCByZ2JhKDIxNCwgMTYyLCAyOSwgMC4xNCkpLFxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNTAlIDE4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKSwgdHJhbnNwYXJlbnQgNDglKSxcbiAgICAgICAgICAjZGJlN2VmO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgzNiwgNDgsIDY4LCAwLjA4KTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19hcnQgPiBzcGFuIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3OCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiByZ2JhKDM2LCA0OCwgNjgsIDAuNDgpO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuODJyZW0sIDIuMnZ3LCAxLjA1cmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3QgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0ID4gc3BhbiB7XG4gICAgICAgIG1heC13aWR0aDogODIlO1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tZnVsbCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19hcnQgPiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjFyZW0sIDV2dywgMS44cmVtKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0IHNtYWxsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwLjI4cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDc4JTtcbiAgICAgICAgcGFkZGluZzogMC4xcmVtIDAuMzRyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4IDAgMCA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgICBjb2xvcjogcmdiYSgzMSwgNDEsIDUxLCAwLjY2KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjQ4cmVtO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tbGlzdCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19hcnQgc21hbGwge1xuICAgICAgICBib3R0b206IDAuMnJlbTtcbiAgICAgICAgcGFkZGluZzogMC4wOHJlbSAwLjI2cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuNDJyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fYXJ0IHNtYWxsIHtcbiAgICAgICAgYm90dG9tOiAwLjU1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMTZyZW0gMC40OHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3ZlcnNlLFxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWZmZWN0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAwLjMycmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX192ZXJzZSB7XG4gICAgICAgIGNvbG9yOiAjMTcxOTIzO1xuICAgICAgICBmb250LWZhbWlseTogR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuNzJyZW0sIDIuN3Z3LCAwLjg2cmVtKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdmVyc2UgcCxcbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX2VmZmVjdCBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdmVyc2Ugc3Ryb25nIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWZmZWN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNDVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMjRyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzRyZW07XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgNzAlLCByZ2JhKDM2LCA0OCwgNjgsIDAuMDYpLCB0cmFuc3BhcmVudCA0NCUpLFxuICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Nik7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3QgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWZmZWN0IHtcbiAgICAgICAgbWluLWhlaWdodDogMS4yNnJlbTtcbiAgICAgICAgcGFkZGluZzogMC4xNnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4yOHJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWRpdGlvbi13YXRlcm1hcmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHdpZHRoOiBtaW4oNjYlLCA3LjRyZW0pO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDAuMDU1O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWZmZWN0IHtcbiAgICAgICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDdyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNnJlbSAwLjdyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNDVyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fZWRpdGlvbi13YXRlcm1hcmsge1xuICAgICAgICB3aWR0aDogbWluKDcyJSwgMTByZW0pO1xuICAgICAgICBvcGFjaXR5OiAwLjA2O1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0cyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwLjY1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAxLjJyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3N0YXRzIHN0cm9uZyB7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwLjEycmVtIDAuMzJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWRmMmY3O1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuNjZyZW0sIDJ2dywgMC44MnJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA1O1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1saXN0IC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3N0YXRzIHtcbiAgICAgICAgbWluLWhlaWdodDogMC45NXJlbTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tbGlzdCAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0cyBzdHJvbmcge1xuICAgICAgICBwYWRkaW5nOiAwLjFyZW0gMC4yNnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY2cmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1mdWxsIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3N0YXRzIHN0cm9uZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDAuMTJyZW07XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3RleHQgc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgycmVtO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190ZXh0IHAge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuNzhyZW0sIDIuOXZ3LCAwLjkycmVtKTtcbiAgICAgIH1cblxuICAgICAgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fcmFyaXR5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuNjJyZW07XG4gICAgICAgIHJpZ2h0OiAwLjYycmVtO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogMC40NnJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjQ2cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjEycmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3Jhcml0eS5pcy1ub3JtYWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDFkNWRiO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19yYXJpdHkuaXMtdW5jb21tb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19yYXJpdHkuaXMtcmFyZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzYjgyZjY7XG4gICAgICB9XG5cbiAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3Jhcml0eS5pcy1sZWdlbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWFiMzA4O1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBnYXA6IDAuMzRyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiByZ2JhKDMxLCA0MSwgNTEsIDAuNjgpO1xuICAgICAgICBmb250LXNpemU6IDAuNThyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19mb290ZXIgc3BhbiB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoLmRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dCguaW9uLXBhbGV0dGUtZGFyayksXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyayksXG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyayksXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIHtcbiAgICAgICAgLS1jaHJpc3RpYW5pdHktY2FyZC1iYWNrOlxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMTQ3LCAxOTcsIDI1MywgMC4yKSwgcmdiYSgxNSwgMjMsIDQyLCAwLjA4KSksXG4gICAgICAgICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCg0NWRlZywgIzFlM2E1ZiAwIDAuMzNyZW0sICMwZjE3MmEgMC4zM3JlbSAwLjY2cmVtKTtcbiAgICAgICAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLFxuICAgICAgOmhvc3QtY29udGV4dCguaW9uLXBhbGV0dGUtZGFyaykgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcixcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLFxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXIsXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXIge1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMC41cmVtIDEuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjI0KSxcbiAgICAgICAgICBpbnNldCAwIDAgMCAwLjE4cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zOCk7XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWJhY2ssXG4gICAgICA6aG9zdC1jb250ZXh0KC5pb24tcGFsZXR0ZS1kYXJrKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1iYWNrLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWJhY2ssXG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tYmFjayxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tYmFjayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNDcsIDE5NywgMjUzLCAwLjIyKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjhyZW0gMS41NXJlbSByZ2JhKDAsIDAsIDAsIDAuMzIpO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1iYWNrOjpiZWZvcmUsXG4gICAgICA6aG9zdC1jb250ZXh0KC5pb24tcGFsZXR0ZS1kYXJrKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1iYWNrOjpiZWZvcmUsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tYmFjazo6YmVmb3JlLFxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWJhY2s6OmJlZm9yZSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tYmFjazo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0NywgMTk3LCAyNTMsIDAuMTYpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDE0NywgMTk3LCAyNTMsIDAuMTQpLCByZ2JhKDE1LCAyMywgNDIsIDAuMDQpKTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tbGlzdCxcbiAgICAgIDpob3N0LWNvbnRleHQoLmlvbi1wYWxldHRlLWRhcmspIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWxpc3QsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlci0tbGlzdCxcbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1saXN0LFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyLS1saXN0IHtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAuNDVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMjYpLFxuICAgICAgICAgIGluc2V0IDAgMCAwIDAuMTRyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ4KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdHlwZS1pY29uLFxuICAgICAgOmhvc3QtY29udGV4dCguaW9uLXBhbGV0dGUtZGFyaykgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fdHlwZS1pY29uLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3R5cGUtaWNvbixcbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX190eXBlLWljb24sXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3R5cGUtaWNvbixcbiAgICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3N0YXRzIHN0cm9uZyxcbiAgICAgIDpob3N0LWNvbnRleHQoLmlvbi1wYWxldHRlLWRhcmspIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXJfX3N0YXRzIHN0cm9uZyxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0cyBzdHJvbmcsXG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLmNocmlzdGlhbml0eS1jYXJkLXJlbmRlcl9fc3RhdHMgc3Ryb25nLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAuY2hyaXN0aWFuaXR5LWNhcmQtcmVuZGVyX19zdGF0cyBzdHJvbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuODYpO1xuICAgICAgICBjb2xvcjogIzE3MjAzMztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDUycmVtKSB7XG4gICAgICAgIC5jaHJpc3RpYW5pdHktY2FyZC1yZW5kZXItLWZ1bGwge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IG1pbigzNXJlbSwgY2FsYygxMDB2aCAtIDRyZW0pKTtcbiAgICAgICAgICBwYWRkaW5nOiAxLjA1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hyaXN0aWFuaXR5Q2FyZENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNhcmQgPSBpbnB1dC5yZXF1aXJlZDxDaHJpc3RpYW5pdHlDYXJkUmVuZGVyTW9kZWw+KCk7XG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDxDaHJpc3RpYW5pdHlDYXJkUmVuZGVyVmFyaWFudD4oJ3RhYmxlJyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vcm1hbGl6ZWRUeXBlTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNhcmQoKS50eXBlTGFiZWwudG9VcHBlckNhc2UoKSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmcm9udFRlbXBsYXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jYXJkKCkuZnJvbnRUZW1wbGF0ZSA/PyAnZ2VuZXNpcy1jbGFzc2ljJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0dlbmVzaXNDbGFzc2ljVGVtcGxhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmZyb250VGVtcGxhdGUoKSA9PT0gJ2dlbmVzaXMtY2xhc3NpYycgfHwgdGhpcy5mcm9udFRlbXBsYXRlKCkgPT09ICdnZW5lc2lzLWNsYXNzaWMtZXh0cmEnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGVJY29uVXJsID0gY29tcHV0ZWQoKCkgPT4gYGFzc2V0cy9nYW1lcy9jaHJpc3RpYW5pdHkvaWNvbnMvJHt0aGlzLmljb25OYW1lKHRoaXMuY2FyZCgpLnR5cGUpfS5wbmdgKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhlYWRlck1ldHJpYyA9IGNvbXB1dGVkPHsga2luZDogJ251bWJlcicgfCAncGlwcyc7IHZhbHVlOiBudW1iZXIgfSB8IG51bGw+KCgpID0+IHtcbiAgICBjb25zdCBjYXJkID0gdGhpcy5jYXJkKCk7XG4gICAgaWYgKGNhcmQudHlwZSA9PT0gJ2xlYWRlcicpIHJldHVybiBudWxsO1xuICAgIGlmIChjYXJkLnR5cGUgPT09ICdvZmZlcmluZycpIHJldHVybiB7IGtpbmQ6ICdwaXBzJywgdmFsdWU6IGNhcmQub2ZmZXJpbmdWYWx1ZSA/PyAwIH07XG4gICAgaWYgKHR5cGVvZiBjYXJkLmNvc3QgPT09ICdudW1iZXInKSByZXR1cm4geyBraW5kOiAnbnVtYmVyJywgdmFsdWU6IGNhcmQuY29zdCB9O1xuICAgIHJldHVybiBudWxsO1xuICB9KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhcmRTdGF0c1RleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2FyZCA9IHRoaXMuY2FyZCgpO1xuICAgIGlmIChjYXJkLnR5cGUgIT09ICdjaGFyYWN0ZXInKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIGAke2NhcmQuYXR0YWNrID8/IDB9IC8gJHtjYXJkLmN1cnJlbnRIcCA/PyBjYXJkLmxpZmUgPz8gMH1gO1xuICB9KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxlYWRlckxpZmVUZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNhcmQgPSB0aGlzLmNhcmQoKTtcbiAgICBjb25zdCBjdXJyZW50ID0gY2FyZC5jdXJyZW50SHAgPz8gY2FyZC5saWZlID8/IDA7XG4gICAgY29uc3QgbWF4ID0gY2FyZC5tYXhIcCA/PyBjYXJkLmxpZmUgPz8gY3VycmVudDtcbiAgICByZXR1cm4gYCR7Y3VycmVudH0vJHttYXh9YDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIG9mZmVyaW5nUGlwcyh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogdW5rbm93bltdIHtcbiAgICBjb25zdCBjb3VudCA9IE51bWJlcih2YWx1ZSk7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoY291bnQpIHx8IGNvdW50IDw9IDApIHJldHVybiBbXTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogTWF0aC5taW4oTWF0aC5mbG9vcihjb3VudCksIDUpIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpY29uTmFtZSh0eXBlOiBDaHJpc3RpYW5pdHlDYXJkUmVuZGVyVHlwZSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGUgPT09ICdjaGFyYWN0ZXInKSByZXR1cm4gJ2NoYXJhY3Rlcic7XG4gICAgaWYgKHR5cGUgPT09ICdvZmZlcmluZycpIHJldHVybiAnb2ZmZXJpbmcnO1xuICAgIGlmICh0eXBlID09PSAnbGVhZGVyJykgcmV0dXJuICdsZWFkZXInO1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG4iXX0=