keez-invoicing 1.1.5
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.
- package/LICENSE +28 -0
- package/README.md +366 -0
- package/dist/coverage/lcov-report/block-navigation.js +71 -0
- package/dist/coverage/lcov-report/prettify.js +478 -0
- package/dist/coverage/lcov-report/sorter.js +177 -0
- package/dist/eslint.config.js +56 -0
- package/dist/jest.config.cjs +13 -0
- package/dist/jest.config.js +13 -0
- package/dist/src/api/__tests__/index.test.js +52 -0
- package/dist/src/api/authorise.js +48 -0
- package/dist/src/api/invoices/cancel.js +33 -0
- package/dist/src/api/invoices/create.js +97 -0
- package/dist/src/api/invoices/delete.js +33 -0
- package/dist/src/api/invoices/downloadPdf.js +31 -0
- package/dist/src/api/invoices/getAll.js +84 -0
- package/dist/src/api/invoices/sendMail.js +59 -0
- package/dist/src/api/invoices/submitEfactura.js +34 -0
- package/dist/src/api/invoices/update.js +61 -0
- package/dist/src/api/invoices/validate.js +39 -0
- package/dist/src/api/invoices/view.js +93 -0
- package/dist/src/api/items/create.js +42 -0
- package/dist/src/api/items/getAll.js +74 -0
- package/dist/src/api/items/getById.js +46 -0
- package/dist/src/api/items/index.js +14 -0
- package/dist/src/api/items/patch.js +49 -0
- package/dist/src/api/items/update.js +41 -0
- package/dist/src/config/constants.js +23 -0
- package/dist/src/config/constructorParam.js +3 -0
- package/dist/src/config/measureUnit.js +22 -0
- package/dist/src/config/paymentType.js +17 -0
- package/dist/src/config/paymentType.js.js +16 -0
- package/dist/src/dto/allInvoicesResponse.js +3 -0
- package/dist/src/dto/authResponse.js +3 -0
- package/dist/src/dto/common/index.js +3 -0
- package/dist/src/dto/common/paginationParams.js +3 -0
- package/dist/src/dto/createInvoiceRequest.js +3 -0
- package/dist/src/dto/invoiceResponse.js +3 -0
- package/dist/src/dto/invoices/index.js +3 -0
- package/dist/src/dto/invoices/invoiceFilterParams.js +3 -0
- package/dist/src/dto/invoices/invoiceRequestV2.js +3 -0
- package/dist/src/dto/invoices/sendInvoiceParams.js +3 -0
- package/dist/src/dto/items/allItemsResponse.js +3 -0
- package/dist/src/dto/items/index.js +3 -0
- package/dist/src/dto/items/itemRequest.js +3 -0
- package/dist/src/dto/items/itemResponse.js +3 -0
- package/dist/src/errors/KeezError.js +27 -0
- package/dist/src/helpers/logger.js +15 -0
- package/dist/src/index.js +15 -0
- package/dist/src/keezApi.js +283 -0
- package/dist/tests/additional-coverage.test.js +351 -0
- package/dist/tests/edge-cases.test.js +353 -0
- package/dist/tests/error-handling.test.js +224 -0
- package/dist/tests/filter-params.test.js +267 -0
- package/dist/tests/index.test.js +493 -0
- package/dist/tests/invoices-extended.test.js +168 -0
- package/dist/tests/items.test.js +142 -0
- package/dist/types/coverage/lcov-report/block-navigation.d.ts +1 -0
- package/dist/types/coverage/lcov-report/prettify.d.ts +0 -0
- package/dist/types/coverage/lcov-report/sorter.d.ts +1 -0
- package/dist/types/eslint.config.d.ts +2 -0
- package/dist/types/jest.config.d.cts +9 -0
- package/dist/types/jest.config.d.ts +9 -0
- package/dist/types/src/api/__tests__/index.test.d.ts +1 -0
- package/dist/types/src/api/authorise.d.ts +18 -0
- package/dist/types/src/api/invoices/cancel.d.ts +9 -0
- package/dist/types/src/api/invoices/create.d.ts +22 -0
- package/dist/types/src/api/invoices/delete.d.ts +9 -0
- package/dist/types/src/api/invoices/downloadPdf.d.ts +8 -0
- package/dist/types/src/api/invoices/getAll.d.ts +22 -0
- package/dist/types/src/api/invoices/sendMail.d.ts +24 -0
- package/dist/types/src/api/invoices/submitEfactura.d.ts +9 -0
- package/dist/types/src/api/invoices/update.d.ts +11 -0
- package/dist/types/src/api/invoices/validate.d.ts +21 -0
- package/dist/types/src/api/invoices/view.d.ts +22 -0
- package/dist/types/src/api/items/create.d.ts +10 -0
- package/dist/types/src/api/items/getAll.d.ts +10 -0
- package/dist/types/src/api/items/getById.d.ts +10 -0
- package/dist/types/src/api/items/index.d.ts +5 -0
- package/dist/types/src/api/items/patch.d.ts +11 -0
- package/dist/types/src/api/items/update.d.ts +11 -0
- package/dist/types/src/config/constants.d.ts +13 -0
- package/dist/types/src/config/constructorParam.d.ts +6 -0
- package/dist/types/src/config/measureUnit.d.ts +17 -0
- package/dist/types/src/config/paymentType.d.ts +12 -0
- package/dist/types/src/config/paymentType.js.d.ts +11 -0
- package/dist/types/src/dto/allInvoicesResponse.d.ts +21 -0
- package/dist/types/src/dto/authResponse.d.ts +7 -0
- package/dist/types/src/dto/common/index.d.ts +1 -0
- package/dist/types/src/dto/common/paginationParams.d.ts +4 -0
- package/dist/types/src/dto/createInvoiceRequest.d.ts +34 -0
- package/dist/types/src/dto/invoiceResponse.d.ts +48 -0
- package/dist/types/src/dto/invoices/index.d.ts +3 -0
- package/dist/types/src/dto/invoices/invoiceFilterParams.d.ts +8 -0
- package/dist/types/src/dto/invoices/invoiceRequestV2.d.ts +23 -0
- package/dist/types/src/dto/invoices/sendInvoiceParams.d.ts +5 -0
- package/dist/types/src/dto/items/allItemsResponse.d.ts +13 -0
- package/dist/types/src/dto/items/index.d.ts +3 -0
- package/dist/types/src/dto/items/itemRequest.d.ts +34 -0
- package/dist/types/src/dto/items/itemResponse.d.ts +15 -0
- package/dist/types/src/errors/KeezError.d.ts +11 -0
- package/dist/types/src/helpers/logger.d.ts +2 -0
- package/dist/types/src/index.d.ts +11 -0
- package/dist/types/src/keezApi.d.ts +114 -0
- package/dist/types/tests/additional-coverage.test.d.ts +1 -0
- package/dist/types/tests/edge-cases.test.d.ts +1 -0
- package/dist/types/tests/error-handling.test.d.ts +1 -0
- package/dist/types/tests/filter-params.test.d.ts +1 -0
- package/dist/types/tests/index.test.d.ts +1 -0
- package/dist/types/tests/invoices-extended.test.d.ts +1 -0
- package/dist/types/tests/items.test.d.ts +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
window.PR_SHOULD_USE_CONTINUATION = true;
|
|
4
|
+
(function () { var h = ["break,continue,do,else,for,if,return,while"]; var u = [h, "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"]; var p = [u, "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"]; var l = [p, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"]; var x = [p, "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"]; var R = [x, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"]; var r = "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes"; var w = [p, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"]; var s = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"; var I = [h, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"]; var f = [h, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"]; var H = [h, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"]; var A = [l, R, w, s + I, f, H]; var e = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/; var C = "str"; var z = "kwd"; var j = "com"; var O = "typ"; var G = "lit"; var L = "pun"; var F = "pln"; var m = "tag"; var E = "dec"; var J = "src"; var P = "atn"; var n = "atv"; var N = "nocode"; var M = "(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*"; function k(Z) { var ad = 0; var S = false; var ac = false; for (var V = 0, U = Z.length; V < U; ++V) {
|
|
5
|
+
var ae = Z[V];
|
|
6
|
+
if (ae.ignoreCase) {
|
|
7
|
+
ac = true;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
if (/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ""))) {
|
|
11
|
+
S = true;
|
|
12
|
+
ac = false;
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
} var Y = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 }; function ab(ah) { var ag = ah.charCodeAt(0); if (ag !== 92) {
|
|
17
|
+
return ag;
|
|
18
|
+
} var af = ah.charAt(1); ag = Y[af]; if (ag) {
|
|
19
|
+
return ag;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
if ("0" <= af && af <= "7") {
|
|
23
|
+
return parseInt(ah.substring(1), 8);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
if (af === "u" || af === "x") {
|
|
27
|
+
return parseInt(ah.substring(2), 16);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return ah.charCodeAt(1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
} } function T(af) { if (af < 32) {
|
|
34
|
+
return (af < 16 ? "\\x0" : "\\x") + af.toString(16);
|
|
35
|
+
} var ag = String.fromCharCode(af); if (ag === "\\" || ag === "-" || ag === "[" || ag === "]") {
|
|
36
|
+
ag = "\\" + ag;
|
|
37
|
+
} return ag; } function X(am) { var aq = am.substring(1, am.length - 1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]", "g")); var ak = []; var af = []; var ao = aq[0] === "^"; for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) {
|
|
38
|
+
var ah = aq[ar];
|
|
39
|
+
if (/\\[bdsw]/i.test(ah)) {
|
|
40
|
+
ak.push(ah);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
var ag = ab(ah);
|
|
44
|
+
var al;
|
|
45
|
+
if (ar + 2 < aj && "-" === aq[ar + 1]) {
|
|
46
|
+
al = ab(aq[ar + 2]);
|
|
47
|
+
ar += 2;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
al = ag;
|
|
51
|
+
}
|
|
52
|
+
af.push([ag, al]);
|
|
53
|
+
if (!(al < 65 || ag > 122)) {
|
|
54
|
+
if (!(al < 65 || ag > 90)) {
|
|
55
|
+
af.push([Math.max(65, ag) | 32, Math.min(al, 90) | 32]);
|
|
56
|
+
}
|
|
57
|
+
if (!(al < 97 || ag > 122)) {
|
|
58
|
+
af.push([Math.max(97, ag) & ~32, Math.min(al, 122) & ~32]);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
} af.sort(function (av, au) { return (av[0] - au[0]) || (au[1] - av[1]); }); var ai = []; var ap = [NaN, NaN]; for (var ar = 0; ar < af.length; ++ar) {
|
|
63
|
+
var at = af[ar];
|
|
64
|
+
if (at[0] <= ap[1] + 1) {
|
|
65
|
+
ap[1] = Math.max(ap[1], at[1]);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
ai.push(ap = at);
|
|
69
|
+
}
|
|
70
|
+
} var an = ["["]; if (ao) {
|
|
71
|
+
an.push("^");
|
|
72
|
+
} an.push.apply(an, ak); for (var ar = 0; ar < ai.length; ++ar) {
|
|
73
|
+
var at = ai[ar];
|
|
74
|
+
an.push(T(at[0]));
|
|
75
|
+
if (at[1] > at[0]) {
|
|
76
|
+
if (at[1] + 1 > at[0]) {
|
|
77
|
+
an.push("-");
|
|
78
|
+
}
|
|
79
|
+
an.push(T(at[1]));
|
|
80
|
+
}
|
|
81
|
+
} an.push("]"); return an.join(""); } function W(al) { var aj = al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)", "g")); var ah = aj.length; var an = []; for (var ak = 0, am = 0; ak < ah; ++ak) {
|
|
82
|
+
var ag = aj[ak];
|
|
83
|
+
if (ag === "(") {
|
|
84
|
+
++am;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
if ("\\" === ag.charAt(0)) {
|
|
88
|
+
var af = +ag.substring(1);
|
|
89
|
+
if (af && af <= am) {
|
|
90
|
+
an[af] = -1;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
} for (var ak = 1; ak < an.length; ++ak) {
|
|
95
|
+
if (-1 === an[ak]) {
|
|
96
|
+
an[ak] = ++ad;
|
|
97
|
+
}
|
|
98
|
+
} for (var ak = 0, am = 0; ak < ah; ++ak) {
|
|
99
|
+
var ag = aj[ak];
|
|
100
|
+
if (ag === "(") {
|
|
101
|
+
++am;
|
|
102
|
+
if (an[am] === undefined) {
|
|
103
|
+
aj[ak] = "(?:";
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
if ("\\" === ag.charAt(0)) {
|
|
108
|
+
var af = +ag.substring(1);
|
|
109
|
+
if (af && af <= am) {
|
|
110
|
+
aj[ak] = "\\" + an[am];
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
} for (var ak = 0, am = 0; ak < ah; ++ak) {
|
|
115
|
+
if ("^" === aj[ak] && "^" !== aj[ak + 1]) {
|
|
116
|
+
aj[ak] = "";
|
|
117
|
+
}
|
|
118
|
+
} if (al.ignoreCase && S) {
|
|
119
|
+
for (var ak = 0; ak < ah; ++ak) {
|
|
120
|
+
var ag = aj[ak];
|
|
121
|
+
var ai = ag.charAt(0);
|
|
122
|
+
if (ag.length >= 2 && ai === "[") {
|
|
123
|
+
aj[ak] = X(ag);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
if (ai !== "\\") {
|
|
127
|
+
aj[ak] = ag.replace(/[a-zA-Z]/g, function (ao) { var ap = ao.charCodeAt(0); return "[" + String.fromCharCode(ap & ~32, ap | 32) + "]"; });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
} return aj.join(""); } var aa = []; for (var V = 0, U = Z.length; V < U; ++V) {
|
|
132
|
+
var ae = Z[V];
|
|
133
|
+
if (ae.global || ae.multiline) {
|
|
134
|
+
throw new Error("" + ae);
|
|
135
|
+
}
|
|
136
|
+
aa.push("(?:" + W(ae) + ")");
|
|
137
|
+
} return new RegExp(aa.join("|"), ac ? "gi" : "g"); } function a(V) { var U = /(?:^|\s)nocode(?:\s|$)/; var X = []; var T = 0; var Z = []; var W = 0; var S; if (V.currentStyle) {
|
|
138
|
+
S = V.currentStyle.whiteSpace;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
if (window.getComputedStyle) {
|
|
142
|
+
S = document.defaultView.getComputedStyle(V, null).getPropertyValue("white-space");
|
|
143
|
+
}
|
|
144
|
+
} var Y = S && "pre" === S.substring(0, 3); function aa(ab) { switch (ab.nodeType) {
|
|
145
|
+
case 1:
|
|
146
|
+
if (U.test(ab.className)) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
for (var ae = ab.firstChild; ae; ae = ae.nextSibling) {
|
|
150
|
+
aa(ae);
|
|
151
|
+
}
|
|
152
|
+
var ad = ab.nodeName;
|
|
153
|
+
if ("BR" === ad || "LI" === ad) {
|
|
154
|
+
X[W] = "\n";
|
|
155
|
+
Z[W << 1] = T++;
|
|
156
|
+
Z[(W++ << 1) | 1] = ab;
|
|
157
|
+
}
|
|
158
|
+
break;
|
|
159
|
+
case 3:
|
|
160
|
+
case 4:
|
|
161
|
+
var ac = ab.nodeValue;
|
|
162
|
+
if (ac.length) {
|
|
163
|
+
if (!Y) {
|
|
164
|
+
ac = ac.replace(/[ \t\r\n]+/g, " ");
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
ac = ac.replace(/\r\n?/g, "\n");
|
|
168
|
+
}
|
|
169
|
+
X[W] = ac;
|
|
170
|
+
Z[W << 1] = T;
|
|
171
|
+
T += ac.length;
|
|
172
|
+
Z[(W++ << 1) | 1] = ab;
|
|
173
|
+
}
|
|
174
|
+
break;
|
|
175
|
+
} } aa(V); return { sourceCode: X.join("").replace(/\n$/, ""), spans: Z }; } function B(S, U, W, T) { if (!U) {
|
|
176
|
+
return;
|
|
177
|
+
} var V = { sourceCode: U, basePos: S }; W(V); T.push.apply(T, V.decorations); } var v = /\S/; function o(S) { var V = undefined; for (var U = S.firstChild; U; U = U.nextSibling) {
|
|
178
|
+
var T = U.nodeType;
|
|
179
|
+
V = (T === 1) ? (V ? S : U) : (T === 3) ? (v.test(U.nodeValue) ? S : V) : V;
|
|
180
|
+
} return V === S ? undefined : V; } function g(U, T) { var S = {}; var V; (function () { var ad = U.concat(T); var ah = []; var ag = {}; for (var ab = 0, Z = ad.length; ab < Z; ++ab) {
|
|
181
|
+
var Y = ad[ab];
|
|
182
|
+
var ac = Y[3];
|
|
183
|
+
if (ac) {
|
|
184
|
+
for (var ae = ac.length; --ae >= 0;) {
|
|
185
|
+
S[ac.charAt(ae)] = Y;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
var af = Y[1];
|
|
189
|
+
var aa = "" + af;
|
|
190
|
+
if (!ag.hasOwnProperty(aa)) {
|
|
191
|
+
ah.push(af);
|
|
192
|
+
ag[aa] = null;
|
|
193
|
+
}
|
|
194
|
+
} ah.push(/[\0-\uffff]/); V = k(ah); })(); var X = T.length; var W = function (ah) { var Z = ah.sourceCode, Y = ah.basePos; var ad = [Y, F]; var af = 0; var an = Z.match(V) || []; var aj = {}; for (var ae = 0, aq = an.length; ae < aq; ++ae) {
|
|
195
|
+
var ag = an[ae];
|
|
196
|
+
var ap = aj[ag];
|
|
197
|
+
var ai = void 0;
|
|
198
|
+
var am;
|
|
199
|
+
if (typeof ap === "string") {
|
|
200
|
+
am = false;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
var aa = S[ag.charAt(0)];
|
|
204
|
+
if (aa) {
|
|
205
|
+
ai = ag.match(aa[1]);
|
|
206
|
+
ap = aa[0];
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
for (var ao = 0; ao < X; ++ao) {
|
|
210
|
+
aa = T[ao];
|
|
211
|
+
ai = ag.match(aa[1]);
|
|
212
|
+
if (ai) {
|
|
213
|
+
ap = aa[0];
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (!ai) {
|
|
218
|
+
ap = F;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
am = ap.length >= 5 && "lang-" === ap.substring(0, 5);
|
|
222
|
+
if (am && !(ai && typeof ai[1] === "string")) {
|
|
223
|
+
am = false;
|
|
224
|
+
ap = J;
|
|
225
|
+
}
|
|
226
|
+
if (!am) {
|
|
227
|
+
aj[ag] = ap;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
var ab = af;
|
|
231
|
+
af += ag.length;
|
|
232
|
+
if (!am) {
|
|
233
|
+
ad.push(Y + ab, ap);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
var al = ai[1];
|
|
237
|
+
var ak = ag.indexOf(al);
|
|
238
|
+
var ac = ak + al.length;
|
|
239
|
+
if (ai[2]) {
|
|
240
|
+
ac = ag.length - ai[2].length;
|
|
241
|
+
ak = ac - al.length;
|
|
242
|
+
}
|
|
243
|
+
var ar = ap.substring(5);
|
|
244
|
+
B(Y + ab, ag.substring(0, ak), W, ad);
|
|
245
|
+
B(Y + ab + ak, al, q(ar, al), ad);
|
|
246
|
+
B(Y + ab + ac, ag.substring(ac), W, ad);
|
|
247
|
+
}
|
|
248
|
+
} ah.decorations = ad; }; return W; } function i(T) { var W = [], S = []; if (T.tripleQuotedStrings) {
|
|
249
|
+
W.push([C, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, null, "'\""]);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
if (T.multiLineStrings) {
|
|
253
|
+
W.push([C, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, null, "'\"`"]);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
W.push([C, /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, null, "\"'"]);
|
|
257
|
+
}
|
|
258
|
+
} if (T.verbatimStrings) {
|
|
259
|
+
S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
|
|
260
|
+
} var Y = T.hashComments; if (Y) {
|
|
261
|
+
if (T.cStyleComments) {
|
|
262
|
+
if (Y > 1) {
|
|
263
|
+
W.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, "#"]);
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
W.push([j, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/, null, "#"]);
|
|
267
|
+
}
|
|
268
|
+
S.push([C, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, null]);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
W.push([j, /^#[^\r\n]*/, null, "#"]);
|
|
272
|
+
}
|
|
273
|
+
} if (T.cStyleComments) {
|
|
274
|
+
S.push([j, /^\/\/[^\r\n]*/, null]);
|
|
275
|
+
S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
|
|
276
|
+
} if (T.regexLiterals) {
|
|
277
|
+
var X = ("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");
|
|
278
|
+
S.push(["lang-regex", new RegExp("^" + M + "(" + X + ")")]);
|
|
279
|
+
} var V = T.types; if (V) {
|
|
280
|
+
S.push([O, V]);
|
|
281
|
+
} var U = ("" + T.keywords).replace(/^ | $/g, ""); if (U.length) {
|
|
282
|
+
S.push([z, new RegExp("^(?:" + U.replace(/[\s,]+/g, "|") + ")\\b"), null]);
|
|
283
|
+
} W.push([F, /^\s+/, null, " \r\n\t\xA0"]); S.push([G, /^@[a-z_$][a-z_$@0-9]*/i, null], [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], [F, /^[a-z_$][a-z_$@0-9]*/i, null], [G, new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*", "i"), null, "0123456789"], [F, /^\\[\s\S]?/, null], [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null]); return g(W, S); } var K = i({ keywords: A, hashComments: true, cStyleComments: true, multiLineStrings: true, regexLiterals: true }); function Q(V, ag) { var U = /(?:^|\s)nocode(?:\s|$)/; var ab = /\r\n?|\n/; var ac = V.ownerDocument; var S; if (V.currentStyle) {
|
|
284
|
+
S = V.currentStyle.whiteSpace;
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
if (window.getComputedStyle) {
|
|
288
|
+
S = ac.defaultView.getComputedStyle(V, null).getPropertyValue("white-space");
|
|
289
|
+
}
|
|
290
|
+
} var Z = S && "pre" === S.substring(0, 3); var af = ac.createElement("LI"); while (V.firstChild) {
|
|
291
|
+
af.appendChild(V.firstChild);
|
|
292
|
+
} var W = [af]; function ae(al) { switch (al.nodeType) {
|
|
293
|
+
case 1:
|
|
294
|
+
if (U.test(al.className)) {
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
297
|
+
if ("BR" === al.nodeName) {
|
|
298
|
+
ad(al);
|
|
299
|
+
if (al.parentNode) {
|
|
300
|
+
al.parentNode.removeChild(al);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
for (var an = al.firstChild; an; an = an.nextSibling) {
|
|
305
|
+
ae(an);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
break;
|
|
309
|
+
case 3:
|
|
310
|
+
case 4:
|
|
311
|
+
if (Z) {
|
|
312
|
+
var am = al.nodeValue;
|
|
313
|
+
var aj = am.match(ab);
|
|
314
|
+
if (aj) {
|
|
315
|
+
var ai = am.substring(0, aj.index);
|
|
316
|
+
al.nodeValue = ai;
|
|
317
|
+
var ah = am.substring(aj.index + aj[0].length);
|
|
318
|
+
if (ah) {
|
|
319
|
+
var ak = al.parentNode;
|
|
320
|
+
ak.insertBefore(ac.createTextNode(ah), al.nextSibling);
|
|
321
|
+
}
|
|
322
|
+
ad(al);
|
|
323
|
+
if (!ai) {
|
|
324
|
+
al.parentNode.removeChild(al);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
break;
|
|
329
|
+
} } function ad(ak) { while (!ak.nextSibling) {
|
|
330
|
+
ak = ak.parentNode;
|
|
331
|
+
if (!ak) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
} function ai(al, ar) { var aq = ar ? al.cloneNode(false) : al; var ao = al.parentNode; if (ao) {
|
|
335
|
+
var ap = ai(ao, 1);
|
|
336
|
+
var an = al.nextSibling;
|
|
337
|
+
ap.appendChild(aq);
|
|
338
|
+
for (var am = an; am; am = an) {
|
|
339
|
+
an = am.nextSibling;
|
|
340
|
+
ap.appendChild(am);
|
|
341
|
+
}
|
|
342
|
+
} return aq; } var ah = ai(ak.nextSibling, 0); for (var aj; (aj = ah.parentNode) && aj.nodeType === 1;) {
|
|
343
|
+
ah = aj;
|
|
344
|
+
} W.push(ah); } for (var Y = 0; Y < W.length; ++Y) {
|
|
345
|
+
ae(W[Y]);
|
|
346
|
+
} if (ag === (ag | 0)) {
|
|
347
|
+
W[0].setAttribute("value", ag);
|
|
348
|
+
} var aa = ac.createElement("OL"); aa.className = "linenums"; var X = Math.max(0, ((ag - 1)) | 0) || 0; for (var Y = 0, T = W.length; Y < T; ++Y) {
|
|
349
|
+
af = W[Y];
|
|
350
|
+
af.className = "L" + ((Y + X) % 10);
|
|
351
|
+
if (!af.firstChild) {
|
|
352
|
+
af.appendChild(ac.createTextNode("\xA0"));
|
|
353
|
+
}
|
|
354
|
+
aa.appendChild(af);
|
|
355
|
+
} V.appendChild(aa); } function D(ac) { var aj = /\bMSIE\b/.test(navigator.userAgent); var am = /\n/g; var al = ac.sourceCode; var an = al.length; var V = 0; var aa = ac.spans; var T = aa.length; var ah = 0; var X = ac.decorations; var Y = X.length; var Z = 0; X[Y] = an; var ar, aq; for (aq = ar = 0; aq < Y;) {
|
|
356
|
+
if (X[aq] !== X[aq + 2]) {
|
|
357
|
+
X[ar++] = X[aq++];
|
|
358
|
+
X[ar++] = X[aq++];
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
aq += 2;
|
|
362
|
+
}
|
|
363
|
+
} Y = ar; for (aq = ar = 0; aq < Y;) {
|
|
364
|
+
var at = X[aq];
|
|
365
|
+
var ab = X[aq + 1];
|
|
366
|
+
var W = aq + 2;
|
|
367
|
+
while (W + 2 <= Y && X[W + 1] === ab) {
|
|
368
|
+
W += 2;
|
|
369
|
+
}
|
|
370
|
+
X[ar++] = at;
|
|
371
|
+
X[ar++] = ab;
|
|
372
|
+
aq = W;
|
|
373
|
+
} Y = X.length = ar; var ae = null; while (ah < T) {
|
|
374
|
+
var af = aa[ah];
|
|
375
|
+
var S = aa[ah + 2] || an;
|
|
376
|
+
var ag = X[Z];
|
|
377
|
+
var ap = X[Z + 2] || an;
|
|
378
|
+
var W = Math.min(S, ap);
|
|
379
|
+
var ak = aa[ah + 1];
|
|
380
|
+
var U;
|
|
381
|
+
if (ak.nodeType !== 1 && (U = al.substring(V, W))) {
|
|
382
|
+
if (aj) {
|
|
383
|
+
U = U.replace(am, "\r");
|
|
384
|
+
}
|
|
385
|
+
ak.nodeValue = U;
|
|
386
|
+
var ai = ak.ownerDocument;
|
|
387
|
+
var ao = ai.createElement("SPAN");
|
|
388
|
+
ao.className = X[Z + 1];
|
|
389
|
+
var ad = ak.parentNode;
|
|
390
|
+
ad.replaceChild(ao, ak);
|
|
391
|
+
ao.appendChild(ak);
|
|
392
|
+
if (V < S) {
|
|
393
|
+
aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S));
|
|
394
|
+
ad.insertBefore(ak, ao.nextSibling);
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
V = W;
|
|
398
|
+
if (V >= S) {
|
|
399
|
+
ah += 2;
|
|
400
|
+
}
|
|
401
|
+
if (V >= ap) {
|
|
402
|
+
Z += 2;
|
|
403
|
+
}
|
|
404
|
+
} } var t = {}; function c(U, V) { for (var S = V.length; --S >= 0;) {
|
|
405
|
+
var T = V[S];
|
|
406
|
+
if (!t.hasOwnProperty(T)) {
|
|
407
|
+
t[T] = U;
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
if (window.console) {
|
|
411
|
+
console.warn("cannot override language handler %s", T);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
} } function q(T, S) { if (!(T && t.hasOwnProperty(T))) {
|
|
415
|
+
T = /^\s*</.test(S) ? "default-markup" : "default-code";
|
|
416
|
+
} return t[T]; } c(K, ["default-code"]); c(g([], [[F, /^[^<?]+/], [E, /^<!\w[^>]*(?:>|$)/], [j, /^<\!--[\s\S]*?(?:-\->|$)/], ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/], ["lang-", /^<%([\s\S]+?)(?:%>|$)/], [L, /^(?:<[%?]|[%?]>)/], ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]]), ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"]); c(g([[F, /^[\s]+/, null, " \t\r\n"], [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, "\"'"]], [[m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], ["lang-uq.val", /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], [L, /^[=<>\/]+/], ["lang-js", /^on\w+\s*=\s*\"([^\"]+)\"/i], ["lang-js", /^on\w+\s*=\s*\'([^\']+)\'/i], ["lang-js", /^on\w+\s*=\s*([^\"\'>\s]+)/i], ["lang-css", /^style\s*=\s*\"([^\"]+)\"/i], ["lang-css", /^style\s*=\s*\'([^\']+)\'/i], ["lang-css", /^style\s*=\s*([^\"\'>\s]+)/i]]), ["in.tag"]); c(g([], [[n, /^[\s\S]+/]]), ["uq.val"]); c(i({ keywords: l, hashComments: true, cStyleComments: true, types: e }), ["c", "cc", "cpp", "cxx", "cyc", "m"]); c(i({ keywords: "null,true,false" }), ["json"]); c(i({ keywords: R, hashComments: true, cStyleComments: true, verbatimStrings: true, types: e }), ["cs"]); c(i({ keywords: x, cStyleComments: true }), ["java"]); c(i({ keywords: H, hashComments: true, multiLineStrings: true }), ["bsh", "csh", "sh"]); c(i({ keywords: I, hashComments: true, multiLineStrings: true, tripleQuotedStrings: true }), ["cv", "py"]); c(i({ keywords: s, hashComments: true, multiLineStrings: true, regexLiterals: true }), ["perl", "pl", "pm"]); c(i({ keywords: f, hashComments: true, multiLineStrings: true, regexLiterals: true }), ["rb"]); c(i({ keywords: w, cStyleComments: true, regexLiterals: true }), ["js"]); c(i({ keywords: r, hashComments: 3, cStyleComments: true, multilineStrings: true, tripleQuotedStrings: true, regexLiterals: true }), ["coffee"]); c(g([], [[C, /^[\s\S]+/]]), ["regex"]); function d(V) { var U = V.langExtension; try {
|
|
417
|
+
var S = a(V.sourceNode);
|
|
418
|
+
var T = S.sourceCode;
|
|
419
|
+
V.sourceCode = T;
|
|
420
|
+
V.spans = S.spans;
|
|
421
|
+
V.basePos = 0;
|
|
422
|
+
q(U, T)(V);
|
|
423
|
+
D(V);
|
|
424
|
+
}
|
|
425
|
+
catch (W) {
|
|
426
|
+
if ("console" in window) {
|
|
427
|
+
console.log(W && W.stack ? W.stack : W);
|
|
428
|
+
}
|
|
429
|
+
} } function y(W, V, U) { var S = document.createElement("PRE"); S.innerHTML = W; if (U) {
|
|
430
|
+
Q(S, U);
|
|
431
|
+
} var T = { langExtension: V, numberLines: U, sourceNode: S }; d(T); return S.innerHTML; } function b(ad) { function Y(af) { return document.getElementsByTagName(af); } var ac = [Y("pre"), Y("code"), Y("xmp")]; var T = []; for (var aa = 0; aa < ac.length; ++aa) {
|
|
432
|
+
for (var Z = 0, V = ac[aa].length; Z < V; ++Z) {
|
|
433
|
+
T.push(ac[aa][Z]);
|
|
434
|
+
}
|
|
435
|
+
} ac = null; var W = Date; if (!W.now) {
|
|
436
|
+
W = { now: function () { return +(new Date); } };
|
|
437
|
+
} var X = 0; var S; var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/; var ae = /\bprettyprint\b/; function U() { var ag = (window.PR_SHOULD_USE_CONTINUATION ? W.now() + 250 : Infinity); for (; X < T.length && W.now() < ag; X++) {
|
|
438
|
+
var aj = T[X];
|
|
439
|
+
var ai = aj.className;
|
|
440
|
+
if (ai.indexOf("prettyprint") >= 0) {
|
|
441
|
+
var ah = ai.match(ab);
|
|
442
|
+
var am;
|
|
443
|
+
if (!ah && (am = o(aj)) && "CODE" === am.tagName) {
|
|
444
|
+
ah = am.className.match(ab);
|
|
445
|
+
}
|
|
446
|
+
if (ah) {
|
|
447
|
+
ah = ah[1];
|
|
448
|
+
}
|
|
449
|
+
var al = false;
|
|
450
|
+
for (var ak = aj.parentNode; ak; ak = ak.parentNode) {
|
|
451
|
+
if ((ak.tagName === "pre" || ak.tagName === "code" || ak.tagName === "xmp") && ak.className && ak.className.indexOf("prettyprint") >= 0) {
|
|
452
|
+
al = true;
|
|
453
|
+
break;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
if (!al) {
|
|
457
|
+
var af = aj.className.match(/\blinenums\b(?::(\d+))?/);
|
|
458
|
+
af = af ? af[1] && af[1].length ? +af[1] : true : false;
|
|
459
|
+
if (af) {
|
|
460
|
+
Q(aj, af);
|
|
461
|
+
}
|
|
462
|
+
S = { langExtension: ah, sourceNode: aj, numberLines: af };
|
|
463
|
+
d(S);
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
} if (X < T.length) {
|
|
467
|
+
setTimeout(U, 250);
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
470
|
+
if (ad) {
|
|
471
|
+
ad();
|
|
472
|
+
}
|
|
473
|
+
} } U(); } window.prettyPrintOne = y; window.prettyPrint = b; window.PR = { createSimpleLexer: g, registerLangHandler: c, sourceDecorator: i, PR_ATTRIB_NAME: P, PR_ATTRIB_VALUE: n, PR_COMMENT: j, PR_DECLARATION: E, PR_KEYWORD: z, PR_LITERAL: G, PR_NOCODE: N, PR_PLAIN: F, PR_PUNCTUATION: L, PR_SOURCE: J, PR_STRING: C, PR_TAG: m, PR_TYPE: O }; })();
|
|
474
|
+
PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_DECLARATION, /^<!\w[^>]*(?:>|$)/], [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/], ["lang-", /^<%([\s\S]+?)(?:%>|$)/], ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ["lang-handlebars", /^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i], [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/], [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/], [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/], [PR.PR_COMMENT, /^{{![^}]*}}/]]), ["handlebars", "hbs"]);
|
|
475
|
+
PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, " \t\r\n\f"]], [[PR.PR_STRING, /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null], [PR.PR_STRING, /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null], ["lang-css-str", /^url\(([^\)\"\']*)\)/i], [PR.PR_KEYWORD, /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i, null], ["lang-css-kw", /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i], [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], [PR.PR_COMMENT, /^(?:<!--|-->)/], [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i], [PR.PR_PLAIN, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i], [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/]]), ["css"]);
|
|
476
|
+
PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_KEYWORD, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]), ["css-kw"]);
|
|
477
|
+
PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]), ["css-str"]);
|
|
478
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb3ZlcmFnZS9sY292LXJlcG9ydC9wcmV0dGlmeS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBQywwQkFBMEIsR0FBQyxJQUFJLENBQUM7QUFBQSxDQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsNEpBQTRKLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLGtHQUFrRyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyw4UEFBOFAsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsMklBQTJJLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLHdRQUF3USxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyw4SkFBOEosQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxnTEFBZ0wsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLHNKQUFzSixDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyx3S0FBd0ssQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsOERBQThELENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxnSEFBZ0gsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLDJTQUEyUyxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFFLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEtBQUssQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUcsRUFBRSxDQUFDLFVBQVUsRUFBQyxDQUFDO1FBQUEsRUFBRSxHQUFDLElBQUksQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLENBQUMsR0FBQyxJQUFJLENBQUM7WUFBQSxFQUFFLEdBQUMsS0FBSyxDQUFDO1lBQUEsTUFBSztRQUFBLENBQUM7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFBLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBRSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxFQUFFLEtBQUcsRUFBRSxFQUFDLENBQUM7SUFBQSxPQUFPLEVBQUUsQ0FBQTtBQUFBLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7SUFBQSxPQUFPLEVBQUUsQ0FBQTtBQUFBLENBQUM7S0FBSSxDQUFDO0lBQUEsSUFBRyxHQUFHLElBQUUsRUFBRSxJQUFFLEVBQUUsSUFBRSxHQUFHLEVBQUMsQ0FBQztRQUFBLE9BQU8sUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7SUFBQSxDQUFDO1NBQUksQ0FBQztRQUFBLElBQUcsRUFBRSxLQUFHLEdBQUcsSUFBRSxFQUFFLEtBQUcsR0FBRyxFQUFDLENBQUM7WUFBQSxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQUEsQ0FBQzthQUFJLENBQUM7WUFBQSxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFFLElBQUcsRUFBRSxHQUFDLEVBQUUsRUFBQyxDQUFDO0lBQUEsT0FBTSxDQUFDLEVBQUUsR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLE1BQU0sQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDLEdBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsSUFBRyxFQUFFLEtBQUcsSUFBSSxJQUFFLEVBQUUsS0FBRyxHQUFHLElBQUUsRUFBRSxLQUFHLEdBQUcsSUFBRSxFQUFFLEtBQUcsR0FBRyxFQUFDLENBQUM7SUFBQSxFQUFFLEdBQUMsSUFBSSxHQUFDLEVBQUUsQ0FBQTtBQUFBLENBQUMsQ0FBQSxPQUFPLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUUsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsb0dBQW9HLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBRyxHQUFHLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsSUFBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQUEsQ0FBQztTQUFJLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsQ0FBQztRQUFBLElBQUcsRUFBRSxHQUFDLENBQUMsR0FBQyxFQUFFLElBQUUsR0FBRyxLQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsRUFBRSxJQUFFLENBQUMsQ0FBQTtRQUFBLENBQUM7YUFBSSxDQUFDO1lBQUEsRUFBRSxHQUFDLEVBQUUsQ0FBQTtRQUFBLENBQUM7UUFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUMsRUFBRSxJQUFFLEVBQUUsR0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBRyxDQUFDLENBQUMsRUFBRSxHQUFDLEVBQUUsSUFBRSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztnQkFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFBQSxDQUFDO1lBQUEsSUFBRyxDQUFDLENBQUMsRUFBRSxHQUFDLEVBQUUsSUFBRSxFQUFFLEdBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztnQkFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsR0FBRyxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQUEsQ0FBQztRQUFBLENBQUM7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBUyxFQUFFLEVBQUMsRUFBRSxJQUFFLE9BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUFBLElBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO0lBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxHQUFDLENBQUMsRUFBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1FBQUEsSUFBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUFBLENBQUM7UUFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQywySkFBMkosRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsSUFBRyxFQUFFLEtBQUcsR0FBRyxFQUFDLENBQUM7UUFBQSxFQUFFLEVBQUUsQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBRyxJQUFJLEtBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBRyxFQUFFLElBQUUsRUFBRSxJQUFFLEVBQUUsRUFBQyxDQUFDO2dCQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQTtZQUFBLENBQUM7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxHQUFDLENBQUMsRUFBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBRyxDQUFDLENBQUMsS0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxFQUFFLEVBQUUsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLENBQUMsRUFBQyxFQUFFLEdBQUMsRUFBRSxFQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFBQSxJQUFHLEVBQUUsS0FBRyxHQUFHLEVBQUMsQ0FBQztRQUFBLEVBQUUsRUFBRSxDQUFDO1FBQUEsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUcsU0FBUyxFQUFDLENBQUM7WUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsS0FBSyxDQUFBO1FBQUEsQ0FBQztJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBRyxJQUFJLEtBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBRyxFQUFFLElBQUUsRUFBRSxJQUFFLEVBQUUsRUFBQyxDQUFDO2dCQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQUEsQ0FBQztRQUFBLENBQUM7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBRyxHQUFHLEtBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFFLEdBQUcsS0FBRyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7UUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxDQUFBO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxJQUFHLEVBQUUsQ0FBQyxVQUFVLElBQUUsQ0FBQyxFQUFDLENBQUM7SUFBQSxLQUFJLElBQUksRUFBRSxHQUFDLENBQUMsRUFBQyxFQUFFLEdBQUMsRUFBRSxFQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsSUFBRyxFQUFFLENBQUMsTUFBTSxJQUFFLENBQUMsSUFBRSxFQUFFLEtBQUcsR0FBRyxFQUFDLENBQUM7WUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQUEsQ0FBQzthQUFJLENBQUM7WUFBQSxJQUFHLEVBQUUsS0FBRyxJQUFJLEVBQUMsQ0FBQztnQkFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUMsVUFBUyxFQUFFLElBQUUsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU0sR0FBRyxHQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFDLENBQUMsRUFBRSxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsR0FBQyxHQUFHLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTtZQUFBLENBQUM7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsSUFBRyxFQUFFLENBQUMsTUFBTSxJQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUMsQ0FBQztRQUFBLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQUEsQ0FBQztJQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxHQUFHLENBQUMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxPQUFPLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyx3QkFBd0IsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUM7SUFBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUE7QUFBQSxDQUFDO0tBQUksQ0FBQztJQUFBLElBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFDLENBQUM7UUFBQSxDQUFDLEdBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsSUFBRSxLQUFLLEtBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUUsUUFBTyxFQUFFLENBQUMsUUFBUSxFQUFDLENBQUM7SUFBQSxLQUFLLENBQUM7UUFBQyxJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUM7WUFBQSxPQUFNO1FBQUEsQ0FBQztRQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsRUFBQyxFQUFFLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUMsQ0FBQztZQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUFBLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQUEsSUFBRyxJQUFJLEtBQUcsRUFBRSxJQUFFLElBQUksS0FBRyxFQUFFLEVBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUM7WUFBQSxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDO1lBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1FBQUEsQ0FBQztRQUFBLE1BQU07SUFBQSxLQUFLLENBQUMsQ0FBQztJQUFBLEtBQUssQ0FBQztRQUFDLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFBQSxJQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQztnQkFBQSxFQUFFLEdBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUMsR0FBRyxDQUFDLENBQUE7WUFBQSxDQUFDO2lCQUFJLENBQUM7Z0JBQUEsRUFBRSxHQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFBO1lBQUEsQ0FBQztZQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsSUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1FBQUEsQ0FBQztRQUFBLE1BQUs7QUFBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU0sRUFBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsRUFBQyxDQUFDO0lBQUEsT0FBTTtBQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsU0FBUyxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBQyxDQUFDO0lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUFBLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUE7QUFBQSxDQUFDLENBQUEsT0FBTyxDQUFDLEtBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxjQUFXLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO1FBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxJQUFFLENBQUMsR0FBRSxDQUFDO1lBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO0lBQUEsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLENBQUM7SUFBQSxJQUFHLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxVQUFTLEVBQUUsSUFBRSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFFLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEtBQUssQ0FBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLENBQUM7SUFBQSxJQUFHLE9BQU8sRUFBRSxLQUFHLFFBQVEsRUFBQyxDQUFDO1FBQUEsRUFBRSxHQUFDLEtBQUssQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7WUFBQSxFQUFFLEdBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO2FBQUksQ0FBQztZQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQztnQkFBQSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7b0JBQUEsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBQSxNQUFLO2dCQUFBLENBQUM7WUFBQSxDQUFDO1lBQUEsSUFBRyxDQUFDLEVBQUUsRUFBQyxDQUFDO2dCQUFBLEVBQUUsR0FBQyxDQUFDLENBQUE7WUFBQSxDQUFDO1FBQUEsQ0FBQztRQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxJQUFFLENBQUMsSUFBRSxPQUFPLEtBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFHLEVBQUUsSUFBRSxDQUFDLENBQUMsRUFBRSxJQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFHLFFBQVEsQ0FBQyxFQUFDLENBQUM7WUFBQSxFQUFFLEdBQUMsS0FBSyxDQUFDO1lBQUEsRUFBRSxHQUFDLENBQUMsQ0FBQTtRQUFBLENBQUM7UUFBQSxJQUFHLENBQUMsRUFBRSxFQUFDLENBQUM7WUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxDQUFBO1FBQUEsQ0FBQztJQUFBLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUM7SUFBQSxFQUFFLElBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUFBLElBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQUEsSUFBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFBQSxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUE7UUFBQSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsRUFBRSxDQUFDLFdBQVcsR0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxtQkFBbUIsRUFBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyx3TEFBd0wsRUFBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUFBLENBQUM7S0FBSSxDQUFDO0lBQUEsSUFBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsc0dBQXNHLEVBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFBQSxDQUFDO1NBQUksQ0FBQztRQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsb0VBQW9FLEVBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyw2QkFBNkIsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQSxJQUFHLENBQUMsRUFBQyxDQUFDO0lBQUEsSUFBRyxDQUFDLENBQUMsY0FBYyxFQUFDLENBQUM7UUFBQSxJQUFHLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsdUNBQXVDLEVBQUMsSUFBSSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO2FBQUksQ0FBQztZQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsa0dBQWtHLEVBQUMsSUFBSSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO1FBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxzRUFBc0UsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztTQUFJLENBQUM7UUFBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLFlBQVksRUFBQyxJQUFJLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsY0FBYyxFQUFDLENBQUM7SUFBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLGVBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyx5QkFBeUIsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBQyxDQUFDO0lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQywrRkFBK0YsQ0FBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQSxJQUFHLENBQUMsRUFBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUM7SUFBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxHQUFHLENBQUMsR0FBQyxNQUFNLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLElBQUksRUFBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyx3QkFBd0IsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyw4Q0FBOEMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyx1QkFBdUIsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxJQUFJLE1BQU0sQ0FBQyxxRkFBcUYsRUFBQyxHQUFHLENBQUMsRUFBQyxJQUFJLEVBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLDRCQUE0QixFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxZQUFZLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsSUFBRSxJQUFJLENBQUMsR0FBQyx3QkFBd0IsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLFlBQVksRUFBQyxDQUFDO0lBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFBO0FBQUEsQ0FBQztLQUFJLENBQUM7SUFBQSxJQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBQyxDQUFDO1FBQUEsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLElBQUUsS0FBSyxLQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLE9BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDO0lBQUEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUE7QUFBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBRSxRQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUMsQ0FBQztJQUFBLEtBQUssQ0FBQztRQUFDLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQztZQUFBLE1BQUs7UUFBQSxDQUFDO1FBQUEsSUFBRyxJQUFJLEtBQUcsRUFBRSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQUEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQUEsSUFBRyxFQUFFLENBQUMsVUFBVSxFQUFDLENBQUM7Z0JBQUEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7WUFBQSxDQUFDO1FBQUEsQ0FBQzthQUFJLENBQUM7WUFBQSxLQUFJLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUMsRUFBRSxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsV0FBVyxFQUFDLENBQUM7Z0JBQUEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQUEsQ0FBQztRQUFBLENBQUM7UUFBQSxNQUFNO0lBQUEsS0FBSyxDQUFDLENBQUM7SUFBQSxLQUFLLENBQUM7UUFBQyxJQUFHLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO2dCQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFBQSxFQUFFLENBQUMsU0FBUyxHQUFDLEVBQUUsQ0FBQztnQkFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7b0JBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFBQSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUFBLENBQUM7Z0JBQUEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUFBLElBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQztvQkFBQSxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFBQSxDQUFDO1lBQUEsQ0FBQztRQUFBLENBQUM7UUFBQSxNQUFLO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUUsT0FBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUMsQ0FBQztJQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQUEsSUFBRyxDQUFDLEVBQUUsRUFBQyxDQUFDO1FBQUEsT0FBTTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFDLEVBQUUsSUFBRSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFBQSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsQ0FBQztRQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQUEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsT0FBTyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxFQUFDLENBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBRSxFQUFFLENBQUMsUUFBUSxLQUFHLENBQUMsR0FBRSxDQUFDO0lBQUEsRUFBRSxHQUFDLEVBQUUsQ0FBQTtBQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7SUFBQSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFBQSxDQUFDLENBQUEsSUFBRyxFQUFFLEtBQUcsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztJQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUMsU0FBUyxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7SUFBQSxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsRUFBRSxDQUFDLFNBQVMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQztJQUFBLElBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLENBQUM7UUFBQSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7SUFBQSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFFLElBQUksRUFBRSxHQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsS0FBSyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksRUFBRSxHQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLENBQUMsR0FBRSxDQUFDO0lBQUEsSUFBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1FBQUEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsRUFBRSxJQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksRUFBRSxHQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLENBQUMsR0FBRSxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7SUFBQSxPQUFNLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUcsRUFBRSxFQUFDLENBQUM7UUFBQSxDQUFDLElBQUUsQ0FBQyxDQUFBO0lBQUEsQ0FBQztJQUFBLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQztJQUFBLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQztJQUFBLEVBQUUsR0FBQyxDQUFDLENBQUE7QUFBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsSUFBSSxDQUFDLENBQUEsT0FBTSxFQUFFLEdBQUMsQ0FBQyxFQUFDLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxJQUFFLEVBQUUsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDO0lBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsSUFBSSxDQUFDLENBQUM7SUFBQSxJQUFHLEVBQUUsQ0FBQyxRQUFRLEtBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztRQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7WUFBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUE7UUFBQSxDQUFDO1FBQUEsRUFBRSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFBQSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBQSxJQUFHLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUFBLENBQUM7SUFBQSxDQUFDO0lBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQztJQUFBLElBQUcsQ0FBQyxJQUFFLENBQUMsRUFBQyxDQUFDO1FBQUEsRUFBRSxJQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7SUFBQSxJQUFHLENBQUMsSUFBRSxFQUFFLEVBQUMsQ0FBQztRQUFBLENBQUMsSUFBRSxDQUFDLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsSUFBRSxDQUFDLEdBQUUsQ0FBQztJQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztTQUFJLENBQUM7UUFBQSxJQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUMsQ0FBQztZQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7SUFBQSxDQUFDLEdBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLGNBQWMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsbUJBQW1CLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQywwQkFBMEIsQ0FBQyxFQUFDLENBQUMsT0FBTyxFQUFDLHlCQUF5QixDQUFDLEVBQUMsQ0FBQyxPQUFPLEVBQUMsdUJBQXVCLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxrQkFBa0IsQ0FBQyxFQUFDLENBQUMsT0FBTyxFQUFDLHdDQUF3QyxDQUFDLEVBQUMsQ0FBQyxTQUFTLEVBQUMsZ0RBQWdELENBQUMsRUFBQyxDQUFDLFVBQVUsRUFBQyw4Q0FBOEMsQ0FBQyxFQUFDLENBQUMsYUFBYSxFQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsZ0JBQWdCLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxJQUFJLEVBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsOEJBQThCLEVBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxtQ0FBbUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLHdDQUF3QyxDQUFDLEVBQUMsQ0FBQyxhQUFhLEVBQUMsNkNBQTZDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxXQUFXLENBQUMsRUFBQyxDQUFDLFNBQVMsRUFBQyw0QkFBNEIsQ0FBQyxFQUFDLENBQUMsU0FBUyxFQUFDLDRCQUE0QixDQUFDLEVBQUMsQ0FBQyxTQUFTLEVBQUMsNkJBQTZCLENBQUMsRUFBQyxDQUFDLFVBQVUsRUFBQyw0QkFBNEIsQ0FBQyxFQUFDLENBQUMsVUFBVSxFQUFDLDRCQUE0QixDQUFDLEVBQUMsQ0FBQyxVQUFVLEVBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxjQUFjLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxjQUFjLEVBQUMsSUFBSSxFQUFDLGVBQWUsRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsY0FBYyxFQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBQyxJQUFJLEVBQUMsbUJBQW1CLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxZQUFZLEVBQUMsSUFBSSxFQUFDLGdCQUFnQixFQUFDLElBQUksRUFBQyxhQUFhLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxjQUFjLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUMsQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsY0FBYyxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBQyxJQUFJLEVBQUMsbUJBQW1CLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUEsSUFBRyxDQUFDO0lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFBQSxDQUFDLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQztJQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUFBLENBQUM7QUFBQSxPQUFNLENBQUMsRUFBQyxDQUFDO0lBQUEsSUFBRyxTQUFTLElBQUksTUFBTSxFQUFDLENBQUM7UUFBQSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxFQUFDLENBQUM7SUFBQSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUMsYUFBYSxFQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFFLE9BQU8sUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxFQUFFLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQztJQUFBLENBQUMsR0FBQyxFQUFDLEdBQUcsRUFBQyxjQUFXLE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLGdDQUFnQyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsaUJBQWlCLENBQUMsQ0FBQSxTQUFTLENBQUMsS0FBRyxJQUFJLEVBQUUsR0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsUUFBUSxDQUFDLENBQUMsQ0FBQSxPQUFLLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFBQSxJQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUUsQ0FBQyxFQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQUEsSUFBSSxFQUFFLENBQUM7UUFBQSxJQUFHLENBQUMsRUFBRSxJQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFFLE1BQU0sS0FBRyxFQUFFLENBQUMsT0FBTyxFQUFDLENBQUM7WUFBQSxFQUFFLEdBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7UUFBQSxDQUFDO1FBQUEsSUFBRyxFQUFFLEVBQUMsQ0FBQztZQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsS0FBSyxDQUFDO1FBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLEVBQUUsRUFBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsRUFBQyxDQUFDO1lBQUEsSUFBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUcsS0FBSyxJQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUcsTUFBTSxJQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUcsS0FBSyxDQUFDLElBQUUsRUFBRSxDQUFDLFNBQVMsSUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBRSxDQUFDLEVBQUMsQ0FBQztnQkFBQSxFQUFFLEdBQUMsSUFBSSxDQUFDO2dCQUFBLE1BQUs7WUFBQSxDQUFDO1FBQUEsQ0FBQztRQUFBLElBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQztZQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFBQSxFQUFFLEdBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDO1lBQUEsSUFBRyxFQUFFLEVBQUMsQ0FBQztnQkFBQSxDQUFDLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQUEsQ0FBQztZQUFBLENBQUMsR0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUMsVUFBVSxFQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUM7WUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxJQUFHLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUM7SUFBQSxVQUFVLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQUEsQ0FBQztLQUFJLENBQUM7SUFBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO1FBQUEsRUFBRSxFQUFFLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQSxNQUFNLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxDQUFBLE1BQU0sQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLENBQUEsTUFBTSxDQUFDLEVBQUUsR0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsRUFBQyxtQkFBbUIsRUFBQyxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsRUFBQyxjQUFjLEVBQUMsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxjQUFjLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsY0FBYyxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQUEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUMsbUJBQW1CLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUMsMEJBQTBCLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUMsa0JBQWtCLENBQUMsRUFBQyxDQUFDLE9BQU8sRUFBQyx5QkFBeUIsQ0FBQyxFQUFDLENBQUMsT0FBTyxFQUFDLHVCQUF1QixDQUFDLEVBQUMsQ0FBQyxPQUFPLEVBQUMsd0NBQXdDLENBQUMsRUFBQyxDQUFDLGlCQUFpQixFQUFDLHVHQUF1RyxDQUFDLEVBQUMsQ0FBQyxTQUFTLEVBQUMsZ0RBQWdELENBQUMsRUFBQyxDQUFDLFVBQVUsRUFBQyw4Q0FBOEMsQ0FBQyxFQUFDLENBQUMsYUFBYSxFQUFDLHNCQUFzQixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFDLDJCQUEyQixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFDLHNCQUFzQixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFDLHdCQUF3QixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFlBQVksRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBQyxlQUFlLEVBQUMsSUFBSSxFQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUMsb0RBQW9ELEVBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFDLG9EQUFvRCxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsY0FBYyxFQUFDLHVCQUF1QixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLDhFQUE4RSxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsYUFBYSxFQUFDLDRFQUE0RSxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLG9DQUFvQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLGVBQWUsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBQyxpQ0FBaUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBQyx5QkFBeUIsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBQyxtRUFBbUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUMsbUVBQW1FLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG53aW5kb3cuUFJfU0hPVUxEX1VTRV9DT05USU5VQVRJT049dHJ1ZTsoZnVuY3Rpb24oKXt2YXIgaD1bXCJicmVhayxjb250aW51ZSxkbyxlbHNlLGZvcixpZixyZXR1cm4sd2hpbGVcIl07dmFyIHU9W2gsXCJhdXRvLGNhc2UsY2hhcixjb25zdCxkZWZhdWx0LGRvdWJsZSxlbnVtLGV4dGVybixmbG9hdCxnb3RvLGludCxsb25nLHJlZ2lzdGVyLHNob3J0LHNpZ25lZCxzaXplb2Ysc3RhdGljLHN0cnVjdCxzd2l0Y2gsdHlwZWRlZix1bmlvbix1bnNpZ25lZCx2b2lkLHZvbGF0aWxlXCJdO3ZhciBwPVt1LFwiY2F0Y2gsY2xhc3MsZGVsZXRlLGZhbHNlLGltcG9ydCxuZXcsb3BlcmF0b3IscHJpdmF0ZSxwcm90ZWN0ZWQscHVibGljLHRoaXMsdGhyb3csdHJ1ZSx0cnksdHlwZW9mXCJdO3ZhciBsPVtwLFwiYWxpZ25vZixhbGlnbl91bmlvbixhc20sYXhpb20sYm9vbCxjb25jZXB0LGNvbmNlcHRfbWFwLGNvbnN0X2Nhc3QsY29uc3RleHByLGRlY2x0eXBlLGR5bmFtaWNfY2FzdCxleHBsaWNpdCxleHBvcnQsZnJpZW5kLGlubGluZSxsYXRlX2NoZWNrLG11dGFibGUsbmFtZXNwYWNlLG51bGxwdHIscmVpbnRlcnByZXRfY2FzdCxzdGF0aWNfYXNzZXJ0LHN0YXRpY19jYXN0LHRlbXBsYXRlLHR5cGVpZCx0eXBlbmFtZSx1c2luZyx2aXJ0dWFsLHdoZXJlXCJdO3ZhciB4PVtwLFwiYWJzdHJhY3QsYm9vbGVhbixieXRlLGV4dGVuZHMsZmluYWwsZmluYWxseSxpbXBsZW1lbnRzLGltcG9ydCxpbnN0YW5jZW9mLG51bGwsbmF0aXZlLHBhY2thZ2Usc3RyaWN0ZnAsc3VwZXIsc3luY2hyb25pemVkLHRocm93cyx0cmFuc2llbnRcIl07dmFyIFI9W3gsXCJhcyxiYXNlLGJ5LGNoZWNrZWQsZGVjaW1hbCxkZWxlZ2F0ZSxkZXNjZW5kaW5nLGR5bmFtaWMsZXZlbnQsZml4ZWQsZm9yZWFjaCxmcm9tLGdyb3VwLGltcGxpY2l0LGluLGludGVyZmFjZSxpbnRlcm5hbCxpbnRvLGlzLGxvY2ssb2JqZWN0LG91dCxvdmVycmlkZSxvcmRlcmJ5LHBhcmFtcyxwYXJ0aWFsLHJlYWRvbmx5LHJlZixzYnl0ZSxzZWFsZWQsc3RhY2thbGxvYyxzdHJpbmcsc2VsZWN0LHVpbnQsdWxvbmcsdW5jaGVja2VkLHVuc2FmZSx1c2hvcnQsdmFyXCJdO3ZhciByPVwiYWxsLGFuZCxieSxjYXRjaCxjbGFzcyxlbHNlLGV4dGVuZHMsZmFsc2UsZmluYWxseSxmb3IsaWYsaW4saXMsaXNudCxsb29wLG5ldyxubyxub3QsbnVsbCxvZixvZmYsb24sb3IscmV0dXJuLHN1cGVyLHRoZW4sdHJ1ZSx0cnksdW5sZXNzLHVudGlsLHdoZW4sd2hpbGUseWVzXCI7dmFyIHc9W3AsXCJkZWJ1Z2dlcixldmFsLGV4cG9ydCxmdW5jdGlvbixnZXQsbnVsbCxzZXQsdW5kZWZpbmVkLHZhcix3aXRoLEluZmluaXR5LE5hTlwiXTt2YXIgcz1cImNhbGxlcixkZWxldGUsZGllLGRvLGR1bXAsZWxzaWYsZXZhbCxleGl0LGZvcmVhY2gsZm9yLGdvdG8saWYsaW1wb3J0LGxhc3QsbG9jYWwsbXksbmV4dCxubyxvdXIscHJpbnQscGFja2FnZSxyZWRvLHJlcXVpcmUsc3ViLHVuZGVmLHVubGVzcyx1bnRpbCx1c2Usd2FudGFycmF5LHdoaWxlLEJFR0lOLEVORFwiO3ZhciBJPVtoLFwiYW5kLGFzLGFzc2VydCxjbGFzcyxkZWYsZGVsLGVsaWYsZXhjZXB0LGV4ZWMsZmluYWxseSxmcm9tLGdsb2JhbCxpbXBvcnQsaW4saXMsbGFtYmRhLG5vbmxvY2FsLG5vdCxvcixwYXNzLHByaW50LHJhaXNlLHRyeSx3aXRoLHlpZWxkLEZhbHNlLFRydWUsTm9uZVwiXTt2YXIgZj1baCxcImFsaWFzLGFuZCxiZWdpbixjYXNlLGNsYXNzLGRlZixkZWZpbmVkLGVsc2lmLGVuZCxlbnN1cmUsZmFsc2UsaW4sbW9kdWxlLG5leHQsbmlsLG5vdCxvcixyZWRvLHJlc2N1ZSxyZXRyeSxzZWxmLHN1cGVyLHRoZW4sdHJ1ZSx1bmRlZix1bmxlc3MsdW50aWwsd2hlbix5aWVsZCxCRUdJTixFTkRcIl07dmFyIEg9W2gsXCJjYXNlLGRvbmUsZWxpZixlc2FjLGV2YWwsZmksZnVuY3Rpb24saW4sbG9jYWwsc2V0LHRoZW4sdW50aWxcIl07dmFyIEE9W2wsUix3LHMrSSxmLEhdO3ZhciBlPS9eKERJUnxGSUxFfHZlY3RvcnwoZGV8cHJpb3JpdHlfKT9xdWV1ZXxsaXN0fHN0YWNrfChjb25zdF8pP2l0ZXJhdG9yfChtdWx0aSk/KHNldHxtYXApfGJpdHNldHx1PyhpbnR8ZmxvYXQpXFxkKikvO3ZhciBDPVwic3RyXCI7dmFyIHo9XCJrd2RcIjt2YXIgaj1cImNvbVwiO3ZhciBPPVwidHlwXCI7dmFyIEc9XCJsaXRcIjt2YXIgTD1cInB1blwiO3ZhciBGPVwicGxuXCI7dmFyIG09XCJ0YWdcIjt2YXIgRT1cImRlY1wiO3ZhciBKPVwic3JjXCI7dmFyIFA9XCJhdG5cIjt2YXIgbj1cImF0dlwiO3ZhciBOPVwibm9jb2RlXCI7dmFyIE09XCIoPzpeXlxcXFwuP3xbKy1dfFxcXFwhfFxcXFwhPXxcXFxcIT09fFxcXFwjfFxcXFwlfFxcXFwlPXwmfCYmfCYmPXwmPXxcXFxcKHxcXFxcKnxcXFxcKj18XFxcXCs9fFxcXFwsfFxcXFwtPXxcXFxcLT58XFxcXC98XFxcXC89fDp8Ojp8XFxcXDt8PHw8PHw8PD18PD18PXw9PXw9PT18Pnw+PXw+Pnw+Pj18Pj4+fD4+Pj18XFxcXD98XFxcXEB8XFxcXFt8XFxcXF58XFxcXF49fFxcXFxeXFxcXF58XFxcXF5cXFxcXj18XFxcXHt8XFxcXHx8XFxcXHw9fFxcXFx8XFxcXHx8XFxcXHxcXFxcfD18XFxcXH58YnJlYWt8Y2FzZXxjb250aW51ZXxkZWxldGV8ZG98ZWxzZXxmaW5hbGx5fGluc3RhbmNlb2Z8cmV0dXJufHRocm93fHRyeXx0eXBlb2YpXFxcXHMqXCI7ZnVuY3Rpb24gayhaKXt2YXIgYWQ9MDt2YXIgUz1mYWxzZTt2YXIgYWM9ZmFsc2U7Zm9yKHZhciBWPTAsVT1aLmxlbmd0aDtWPFU7KytWKXt2YXIgYWU9WltWXTtpZihhZS5pZ25vcmVDYXNlKXthYz10cnVlfWVsc2V7aWYoL1thLXpdL2kudGVzdChhZS5zb3VyY2UucmVwbGFjZSgvXFxcXHVbMC05YS1mXXs0fXxcXFxceFswLTlhLWZdezJ9fFxcXFxbXnV4XS9naSxcIlwiKSkpe1M9dHJ1ZTthYz1mYWxzZTticmVha319fXZhciBZPXtiOjgsdDo5LG46MTAsdjoxMSxmOjEyLHI6MTN9O2Z1bmN0aW9uIGFiKGFoKXt2YXIgYWc9YWguY2hhckNvZGVBdCgwKTtpZihhZyE9PTkyKXtyZXR1cm4gYWd9dmFyIGFmPWFoLmNoYXJBdCgxKTthZz1ZW2FmXTtpZihhZyl7cmV0dXJuIGFnfWVsc2V7aWYoXCIwXCI8PWFmJiZhZjw9XCI3XCIpe3JldHVybiBwYXJzZUludChhaC5zdWJzdHJpbmcoMSksOCl9ZWxzZXtpZihhZj09PVwidVwifHxhZj09PVwieFwiKXtyZXR1cm4gcGFyc2VJbnQoYWguc3Vic3RyaW5nKDIpLDE2KX1lbHNle3JldHVybiBhaC5jaGFyQ29kZUF0KDEpfX19fWZ1bmN0aW9uIFQoYWYpe2lmKGFmPDMyKXtyZXR1cm4oYWY8MTY/XCJcXFxceDBcIjpcIlxcXFx4XCIpK2FmLnRvU3RyaW5nKDE2KX12YXIgYWc9U3RyaW5nLmZyb21DaGFyQ29kZShhZik7aWYoYWc9PT1cIlxcXFxcInx8YWc9PT1cIi1cInx8YWc9PT1cIltcInx8YWc9PT1cIl1cIil7YWc9XCJcXFxcXCIrYWd9cmV0dXJuIGFnfWZ1bmN0aW9uIFgoYW0pe3ZhciBhcT1hbS5zdWJzdHJpbmcoMSxhbS5sZW5ndGgtMSkubWF0Y2gobmV3IFJlZ0V4cChcIlxcXFxcXFxcdVswLTlBLUZhLWZdezR9fFxcXFxcXFxceFswLTlBLUZhLWZdezJ9fFxcXFxcXFxcWzAtM11bMC03XXswLDJ9fFxcXFxcXFxcWzAtN117MSwyfXxcXFxcXFxcXFtcXFxcc1xcXFxTXXwtfFteLVxcXFxcXFxcXVwiLFwiZ1wiKSk7dmFyIGFrPVtdO3ZhciBhZj1bXTt2YXIgYW89YXFbMF09PT1cIl5cIjtmb3IodmFyIGFyPWFvPzE6MCxhaj1hcS5sZW5ndGg7YXI8YWo7Kythcil7dmFyIGFoPWFxW2FyXTtpZigvXFxcXFtiZHN3XS9pLnRlc3QoYWgpKXthay5wdXNoKGFoKX1lbHNle3ZhciBhZz1hYihhaCk7dmFyIGFsO2lmKGFyKzI8YWomJlwiLVwiPT09YXFbYXIrMV0pe2FsPWFiKGFxW2FyKzJdKTthcis9Mn1lbHNle2FsPWFnfWFmLnB1c2goW2FnLGFsXSk7aWYoIShhbDw2NXx8YWc+MTIyKSl7aWYoIShhbDw2NXx8YWc+OTApKXthZi5wdXNoKFtNYXRoLm1heCg2NSxhZyl8MzIsTWF0aC5taW4oYWwsOTApfDMyXSl9aWYoIShhbDw5N3x8YWc+MTIyKSl7YWYucHVzaChbTWF0aC5tYXgoOTcsYWcpJn4zMixNYXRoLm1pbihhbCwxMjIpJn4zMl0pfX19fWFmLnNvcnQoZnVuY3Rpb24oYXYsYXUpe3JldHVybihhdlswXS1hdVswXSl8fChhdVsxXS1hdlsxXSl9KTt2YXIgYWk9W107dmFyIGFwPVtOYU4sTmFOXTtmb3IodmFyIGFyPTA7YXI8YWYubGVuZ3RoOysrYXIpe3ZhciBhdD1hZlthcl07aWYoYXRbMF08PWFwWzFdKzEpe2FwWzFdPU1hdGgubWF4KGFwWzFdLGF0WzFdKX1lbHNle2FpLnB1c2goYXA9YXQpfX12YXIgYW49W1wiW1wiXTtpZihhbyl7YW4ucHVzaChcIl5cIil9YW4ucHVzaC5hcHBseShhbixhayk7Zm9yKHZhciBhcj0wO2FyPGFpLmxlbmd0aDsrK2FyKXt2YXIgYXQ9YWlbYXJdO2FuLnB1c2goVChhdFswXSkpO2lmKGF0WzFdPmF0WzBdKXtpZihhdFsxXSsxPmF0WzBdKXthbi5wdXNoKFwiLVwiKX1hbi5wdXNoKFQoYXRbMV0pKX19YW4ucHVzaChcIl1cIik7cmV0dXJuIGFuLmpvaW4oXCJcIil9ZnVuY3Rpb24gVyhhbCl7dmFyIGFqPWFsLnNvdXJjZS5tYXRjaChuZXcgUmVnRXhwKFwiKD86XFxcXFsoPzpbXlxcXFx4NUNcXFxceDVEXXxcXFxcXFxcXFtcXFxcc1xcXFxTXSkqXFxcXF18XFxcXFxcXFx1W0EtRmEtZjAtOV17NH18XFxcXFxcXFx4W0EtRmEtZjAtOV17Mn18XFxcXFxcXFxbMC05XSt8XFxcXFxcXFxbXnV4MC05XXxcXFxcKFxcXFw/WzohPV18W1xcXFwoXFxcXClcXFxcXl18W15cXFxceDVCXFxcXHg1Q1xcXFwoXFxcXClcXFxcXl0rKVwiLFwiZ1wiKSk7dmFyIGFoPWFqLmxlbmd0aDt2YXIgYW49W107Zm9yKHZhciBhaz0wLGFtPTA7YWs8YWg7Kythayl7dmFyIGFnPWFqW2FrXTtpZihhZz09PVwiKFwiKXsrK2FtfWVsc2V7aWYoXCJcXFxcXCI9PT1hZy5jaGFyQXQoMCkpe3ZhciBhZj0rYWcuc3Vic3RyaW5nKDEpO2lmKGFmJiZhZjw9YW0pe2FuW2FmXT0tMX19fX1mb3IodmFyIGFrPTE7YWs8YW4ubGVuZ3RoOysrYWspe2lmKC0xPT09YW5bYWtdKXthbltha109KythZH19Zm9yKHZhciBhaz0wLGFtPTA7YWs8YWg7Kythayl7dmFyIGFnPWFqW2FrXTtpZihhZz09PVwiKFwiKXsrK2FtO2lmKGFuW2FtXT09PXVuZGVmaW5lZCl7YWpbYWtdPVwiKD86XCJ9fWVsc2V7aWYoXCJcXFxcXCI9PT1hZy5jaGFyQXQoMCkpe3ZhciBhZj0rYWcuc3Vic3RyaW5nKDEpO2lmKGFmJiZhZjw9YW0pe2FqW2FrXT1cIlxcXFxcIithblthbV19fX19Zm9yKHZhciBhaz0wLGFtPTA7YWs8YWg7Kythayl7aWYoXCJeXCI9PT1haltha10mJlwiXlwiIT09YWpbYWsrMV0pe2FqW2FrXT1cIlwifX1pZihhbC5pZ25vcmVDYXNlJiZTKXtmb3IodmFyIGFrPTA7YWs8YWg7Kythayl7dmFyIGFnPWFqW2FrXTt2YXIgYWk9YWcuY2hhckF0KDApO2lmKGFnLmxlbmd0aD49MiYmYWk9PT1cIltcIil7YWpbYWtdPVgoYWcpfWVsc2V7aWYoYWkhPT1cIlxcXFxcIil7YWpbYWtdPWFnLnJlcGxhY2UoL1thLXpBLVpdL2csZnVuY3Rpb24oYW8pe3ZhciBhcD1hby5jaGFyQ29kZUF0KDApO3JldHVyblwiW1wiK1N0cmluZy5mcm9tQ2hhckNvZGUoYXAmfjMyLGFwfDMyKStcIl1cIn0pfX19fXJldHVybiBhai5qb2luKFwiXCIpfXZhciBhYT1bXTtmb3IodmFyIFY9MCxVPVoubGVuZ3RoO1Y8VTsrK1Ype3ZhciBhZT1aW1ZdO2lmKGFlLmdsb2JhbHx8YWUubXVsdGlsaW5lKXt0aHJvdyBuZXcgRXJyb3IoXCJcIithZSl9YWEucHVzaChcIig/OlwiK1coYWUpK1wiKVwiKX1yZXR1cm4gbmV3IFJlZ0V4cChhYS5qb2luKFwifFwiKSxhYz9cImdpXCI6XCJnXCIpfWZ1bmN0aW9uIGEoVil7dmFyIFU9Lyg/Ol58XFxzKW5vY29kZSg/Olxcc3wkKS87dmFyIFg9W107dmFyIFQ9MDt2YXIgWj1bXTt2YXIgVz0wO3ZhciBTO2lmKFYuY3VycmVudFN0eWxlKXtTPVYuY3VycmVudFN0eWxlLndoaXRlU3BhY2V9ZWxzZXtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7Uz1kb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKFYsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShcIndoaXRlLXNwYWNlXCIpfX12YXIgWT1TJiZcInByZVwiPT09Uy5zdWJzdHJpbmcoMCwzKTtmdW5jdGlvbiBhYShhYil7c3dpdGNoKGFiLm5vZGVUeXBlKXtjYXNlIDE6aWYoVS50ZXN0KGFiLmNsYXNzTmFtZSkpe3JldHVybn1mb3IodmFyIGFlPWFiLmZpcnN0Q2hpbGQ7YWU7YWU9YWUubmV4dFNpYmxpbmcpe2FhKGFlKX12YXIgYWQ9YWIubm9kZU5hbWU7aWYoXCJCUlwiPT09YWR8fFwiTElcIj09PWFkKXtYW1ddPVwiXFxuXCI7WltXPDwxXT1UKys7WlsoVysrPDwxKXwxXT1hYn1icmVhaztjYXNlIDM6Y2FzZSA0OnZhciBhYz1hYi5ub2RlVmFsdWU7aWYoYWMubGVuZ3RoKXtpZighWSl7YWM9YWMucmVwbGFjZSgvWyBcXHRcXHJcXG5dKy9nLFwiIFwiKX1lbHNle2FjPWFjLnJlcGxhY2UoL1xcclxcbj8vZyxcIlxcblwiKX1YW1ddPWFjO1pbVzw8MV09VDtUKz1hYy5sZW5ndGg7WlsoVysrPDwxKXwxXT1hYn1icmVha319YWEoVik7cmV0dXJue3NvdXJjZUNvZGU6WC5qb2luKFwiXCIpLnJlcGxhY2UoL1xcbiQvLFwiXCIpLHNwYW5zOlp9fWZ1bmN0aW9uIEIoUyxVLFcsVCl7aWYoIVUpe3JldHVybn12YXIgVj17c291cmNlQ29kZTpVLGJhc2VQb3M6U307VyhWKTtULnB1c2guYXBwbHkoVCxWLmRlY29yYXRpb25zKX12YXIgdj0vXFxTLztmdW5jdGlvbiBvKFMpe3ZhciBWPXVuZGVmaW5lZDtmb3IodmFyIFU9Uy5maXJzdENoaWxkO1U7VT1VLm5leHRTaWJsaW5nKXt2YXIgVD1VLm5vZGVUeXBlO1Y9KFQ9PT0xKT8oVj9TOlUpOihUPT09Myk/KHYudGVzdChVLm5vZGVWYWx1ZSk/UzpWKTpWfXJldHVybiBWPT09Uz91bmRlZmluZWQ6Vn1mdW5jdGlvbiBnKFUsVCl7dmFyIFM9e307dmFyIFY7KGZ1bmN0aW9uKCl7dmFyIGFkPVUuY29uY2F0KFQpO3ZhciBhaD1bXTt2YXIgYWc9e307Zm9yKHZhciBhYj0wLFo9YWQubGVuZ3RoO2FiPFo7KythYil7dmFyIFk9YWRbYWJdO3ZhciBhYz1ZWzNdO2lmKGFjKXtmb3IodmFyIGFlPWFjLmxlbmd0aDstLWFlPj0wOyl7U1thYy5jaGFyQXQoYWUpXT1ZfX12YXIgYWY9WVsxXTt2YXIgYWE9XCJcIithZjtpZighYWcuaGFzT3duUHJvcGVydHkoYWEpKXthaC5wdXNoKGFmKTthZ1thYV09bnVsbH19YWgucHVzaCgvW1xcMC1cXHVmZmZmXS8pO1Y9ayhhaCl9KSgpO3ZhciBYPVQubGVuZ3RoO3ZhciBXPWZ1bmN0aW9uKGFoKXt2YXIgWj1haC5zb3VyY2VDb2RlLFk9YWguYmFzZVBvczt2YXIgYWQ9W1ksRl07dmFyIGFmPTA7dmFyIGFuPVoubWF0Y2goVil8fFtdO3ZhciBhaj17fTtmb3IodmFyIGFlPTAsYXE9YW4ubGVuZ3RoO2FlPGFxOysrYWUpe3ZhciBhZz1hblthZV07dmFyIGFwPWFqW2FnXTt2YXIgYWk9dm9pZCAwO3ZhciBhbTtpZih0eXBlb2YgYXA9PT1cInN0cmluZ1wiKXthbT1mYWxzZX1lbHNle3ZhciBhYT1TW2FnLmNoYXJBdCgwKV07aWYoYWEpe2FpPWFnLm1hdGNoKGFhWzFdKTthcD1hYVswXX1lbHNle2Zvcih2YXIgYW89MDthbzxYOysrYW8pe2FhPVRbYW9dO2FpPWFnLm1hdGNoKGFhWzFdKTtpZihhaSl7YXA9YWFbMF07YnJlYWt9fWlmKCFhaSl7YXA9Rn19YW09YXAubGVuZ3RoPj01JiZcImxhbmctXCI9PT1hcC5zdWJzdHJpbmcoMCw1KTtpZihhbSYmIShhaSYmdHlwZW9mIGFpWzFdPT09XCJzdHJpbmdcIikpe2FtPWZhbHNlO2FwPUp9aWYoIWFtKXthalthZ109YXB9fXZhciBhYj1hZjthZis9YWcubGVuZ3RoO2lmKCFhbSl7YWQucHVzaChZK2FiLGFwKX1lbHNle3ZhciBhbD1haVsxXTt2YXIgYWs9YWcuaW5kZXhPZihhbCk7dmFyIGFjPWFrK2FsLmxlbmd0aDtpZihhaVsyXSl7YWM9YWcubGVuZ3RoLWFpWzJdLmxlbmd0aDthaz1hYy1hbC5sZW5ndGh9dmFyIGFyPWFwLnN1YnN0cmluZyg1KTtCKFkrYWIsYWcuc3Vic3RyaW5nKDAsYWspLFcsYWQpO0IoWSthYithayxhbCxxKGFyLGFsKSxhZCk7QihZK2FiK2FjLGFnLnN1YnN0cmluZyhhYyksVyxhZCl9fWFoLmRlY29yYXRpb25zPWFkfTtyZXR1cm4gV31mdW5jdGlvbiBpKFQpe3ZhciBXPVtdLFM9W107aWYoVC50cmlwbGVRdW90ZWRTdHJpbmdzKXtXLnB1c2goW0MsL14oPzpcXCdcXCdcXCcoPzpbXlxcJ1xcXFxdfFxcXFxbXFxzXFxTXXxcXCd7MSwyfSg/PVteXFwnXSkpKig/OlxcJ1xcJ1xcJ3wkKXxcXFwiXFxcIlxcXCIoPzpbXlxcXCJcXFxcXXxcXFxcW1xcc1xcU118XFxcInsxLDJ9KD89W15cXFwiXSkpKig/OlxcXCJcXFwiXFxcInwkKXxcXCcoPzpbXlxcXFxcXCddfFxcXFxbXFxzXFxTXSkqKD86XFwnfCQpfFxcXCIoPzpbXlxcXFxcXFwiXXxcXFxcW1xcc1xcU10pKig/OlxcXCJ8JCkpLyxudWxsLFwiJ1xcXCJcIl0pfWVsc2V7aWYoVC5tdWx0aUxpbmVTdHJpbmdzKXtXLnB1c2goW0MsL14oPzpcXCcoPzpbXlxcXFxcXCddfFxcXFxbXFxzXFxTXSkqKD86XFwnfCQpfFxcXCIoPzpbXlxcXFxcXFwiXXxcXFxcW1xcc1xcU10pKig/OlxcXCJ8JCl8XFxgKD86W15cXFxcXFxgXXxcXFxcW1xcc1xcU10pKig/OlxcYHwkKSkvLG51bGwsXCInXFxcImBcIl0pfWVsc2V7Vy5wdXNoKFtDLC9eKD86XFwnKD86W15cXFxcXFwnXFxyXFxuXXxcXFxcLikqKD86XFwnfCQpfFxcXCIoPzpbXlxcXFxcXFwiXFxyXFxuXXxcXFxcLikqKD86XFxcInwkKSkvLG51bGwsXCJcXFwiJ1wiXSl9fWlmKFQudmVyYmF0aW1TdHJpbmdzKXtTLnB1c2goW0MsL15AXFxcIig/OlteXFxcIl18XFxcIlxcXCIpKig/OlxcXCJ8JCkvLG51bGxdKX12YXIgWT1ULmhhc2hDb21tZW50cztpZihZKXtpZihULmNTdHlsZUNvbW1lbnRzKXtpZihZPjEpe1cucHVzaChbaiwvXiMoPzojIyg/OlteI118Iyg/ISMjKSkqKD86IyMjfCQpfC4qKS8sbnVsbCxcIiNcIl0pfWVsc2V7Vy5wdXNoKFtqLC9eIyg/Oig/OmRlZmluZXxlbGlmfGVsc2V8ZW5kaWZ8ZXJyb3J8aWZkZWZ8aW5jbHVkZXxpZm5kZWZ8bGluZXxwcmFnbWF8dW5kZWZ8d2FybmluZylcXGJ8W15cXHJcXG5dKikvLG51bGwsXCIjXCJdKX1TLnB1c2goW0MsL148KD86KD86KD86XFwuXFwuXFwvKSp8XFwvPykoPzpbXFx3LV0rKD86XFwvW1xcdy1dKykrKT9bXFx3LV0rXFwuaHxbYS16XVxcdyopPi8sbnVsbF0pfWVsc2V7Vy5wdXNoKFtqLC9eI1teXFxyXFxuXSovLG51bGwsXCIjXCJdKX19aWYoVC5jU3R5bGVDb21tZW50cyl7Uy5wdXNoKFtqLC9eXFwvXFwvW15cXHJcXG5dKi8sbnVsbF0pO1MucHVzaChbaiwvXlxcL1xcKltcXHNcXFNdKj8oPzpcXCpcXC98JCkvLG51bGxdKX1pZihULnJlZ2V4TGl0ZXJhbHMpe3ZhciBYPShcIi8oPz1bXi8qXSkoPzpbXi9cXFxceDVCXFxcXHg1Q118XFxcXHg1Q1tcXFxcc1xcXFxTXXxcXFxceDVCKD86W15cXFxceDVDXFxcXHg1RF18XFxcXHg1Q1tcXFxcc1xcXFxTXSkqKD86XFxcXHg1RHwkKSkrL1wiKTtTLnB1c2goW1wibGFuZy1yZWdleFwiLG5ldyBSZWdFeHAoXCJeXCIrTStcIihcIitYK1wiKVwiKV0pfXZhciBWPVQudHlwZXM7aWYoVil7Uy5wdXNoKFtPLFZdKX12YXIgVT0oXCJcIitULmtleXdvcmRzKS5yZXBsYWNlKC9eIHwgJC9nLFwiXCIpO2lmKFUubGVuZ3RoKXtTLnB1c2goW3osbmV3IFJlZ0V4cChcIl4oPzpcIitVLnJlcGxhY2UoL1tcXHMsXSsvZyxcInxcIikrXCIpXFxcXGJcIiksbnVsbF0pfVcucHVzaChbRiwvXlxccysvLG51bGwsXCIgXFxyXFxuXFx0XFx4QTBcIl0pO1MucHVzaChbRywvXkBbYS16XyRdW2Etel8kQDAtOV0qL2ksbnVsbF0sW08sL14oPzpbQF9dP1tBLVpdK1thLXpdW0EtWmEtel8kQDAtOV0qfFxcdytfdFxcYikvLG51bGxdLFtGLC9eW2Etel8kXVthLXpfJEAwLTldKi9pLG51bGxdLFtHLG5ldyBSZWdFeHAoXCJeKD86MHhbYS1mMC05XSt8KD86XFxcXGQoPzpfXFxcXGQrKSpcXFxcZCooPzpcXFxcLlxcXFxkKik/fFxcXFwuXFxcXGRcXFxcKykoPzplWytcXFxcLV0/XFxcXGQrKT8pW2Etel0qXCIsXCJpXCIpLG51bGwsXCIwMTIzNDU2Nzg5XCJdLFtGLC9eXFxcXFtcXHNcXFNdPy8sbnVsbF0sW0wsL14uW15cXHNcXHdcXC4kQFxcJ1xcXCJcXGBcXC9cXCNcXFxcXSovLG51bGxdKTtyZXR1cm4gZyhXLFMpfXZhciBLPWkoe2tleXdvcmRzOkEsaGFzaENvbW1lbnRzOnRydWUsY1N0eWxlQ29tbWVudHM6dHJ1ZSxtdWx0aUxpbmVTdHJpbmdzOnRydWUscmVnZXhMaXRlcmFsczp0cnVlfSk7ZnVuY3Rpb24gUShWLGFnKXt2YXIgVT0vKD86XnxcXHMpbm9jb2RlKD86XFxzfCQpLzt2YXIgYWI9L1xcclxcbj98XFxuLzt2YXIgYWM9Vi5vd25lckRvY3VtZW50O3ZhciBTO2lmKFYuY3VycmVudFN0eWxlKXtTPVYuY3VycmVudFN0eWxlLndoaXRlU3BhY2V9ZWxzZXtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7Uz1hYy5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKFYsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShcIndoaXRlLXNwYWNlXCIpfX12YXIgWj1TJiZcInByZVwiPT09Uy5zdWJzdHJpbmcoMCwzKTt2YXIgYWY9YWMuY3JlYXRlRWxlbWVudChcIkxJXCIpO3doaWxlKFYuZmlyc3RDaGlsZCl7YWYuYXBwZW5kQ2hpbGQoVi5maXJzdENoaWxkKX12YXIgVz1bYWZdO2Z1bmN0aW9uIGFlKGFsKXtzd2l0Y2goYWwubm9kZVR5cGUpe2Nhc2UgMTppZihVLnRlc3QoYWwuY2xhc3NOYW1lKSl7YnJlYWt9aWYoXCJCUlwiPT09YWwubm9kZU5hbWUpe2FkKGFsKTtpZihhbC5wYXJlbnROb2RlKXthbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGFsKX19ZWxzZXtmb3IodmFyIGFuPWFsLmZpcnN0Q2hpbGQ7YW47YW49YW4ubmV4dFNpYmxpbmcpe2FlKGFuKX19YnJlYWs7Y2FzZSAzOmNhc2UgNDppZihaKXt2YXIgYW09YWwubm9kZVZhbHVlO3ZhciBhaj1hbS5tYXRjaChhYik7aWYoYWope3ZhciBhaT1hbS5zdWJzdHJpbmcoMCxhai5pbmRleCk7YWwubm9kZVZhbHVlPWFpO3ZhciBhaD1hbS5zdWJzdHJpbmcoYWouaW5kZXgrYWpbMF0ubGVuZ3RoKTtpZihhaCl7dmFyIGFrPWFsLnBhcmVudE5vZGU7YWsuaW5zZXJ0QmVmb3JlKGFjLmNyZWF0ZVRleHROb2RlKGFoKSxhbC5uZXh0U2libGluZyl9YWQoYWwpO2lmKCFhaSl7YWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhbCl9fX1icmVha319ZnVuY3Rpb24gYWQoYWspe3doaWxlKCFhay5uZXh0U2libGluZyl7YWs9YWsucGFyZW50Tm9kZTtpZighYWspe3JldHVybn19ZnVuY3Rpb24gYWkoYWwsYXIpe3ZhciBhcT1hcj9hbC5jbG9uZU5vZGUoZmFsc2UpOmFsO3ZhciBhbz1hbC5wYXJlbnROb2RlO2lmKGFvKXt2YXIgYXA9YWkoYW8sMSk7dmFyIGFuPWFsLm5leHRTaWJsaW5nO2FwLmFwcGVuZENoaWxkKGFxKTtmb3IodmFyIGFtPWFuO2FtO2FtPWFuKXthbj1hbS5uZXh0U2libGluZzthcC5hcHBlbmRDaGlsZChhbSl9fXJldHVybiBhcX12YXIgYWg9YWkoYWsubmV4dFNpYmxpbmcsMCk7Zm9yKHZhciBhajsoYWo9YWgucGFyZW50Tm9kZSkmJmFqLm5vZGVUeXBlPT09MTspe2FoPWFqfVcucHVzaChhaCl9Zm9yKHZhciBZPTA7WTxXLmxlbmd0aDsrK1kpe2FlKFdbWV0pfWlmKGFnPT09KGFnfDApKXtXWzBdLnNldEF0dHJpYnV0ZShcInZhbHVlXCIsYWcpfXZhciBhYT1hYy5jcmVhdGVFbGVtZW50KFwiT0xcIik7YWEuY2xhc3NOYW1lPVwibGluZW51bXNcIjt2YXIgWD1NYXRoLm1heCgwLCgoYWctMSkpfDApfHwwO2Zvcih2YXIgWT0wLFQ9Vy5sZW5ndGg7WTxUOysrWSl7YWY9V1tZXTthZi5jbGFzc05hbWU9XCJMXCIrKChZK1gpJTEwKTtpZighYWYuZmlyc3RDaGlsZCl7YWYuYXBwZW5kQ2hpbGQoYWMuY3JlYXRlVGV4dE5vZGUoXCJcXHhBMFwiKSl9YWEuYXBwZW5kQ2hpbGQoYWYpfVYuYXBwZW5kQ2hpbGQoYWEpfWZ1bmN0aW9uIEQoYWMpe3ZhciBhaj0vXFxiTVNJRVxcYi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTt2YXIgYW09L1xcbi9nO3ZhciBhbD1hYy5zb3VyY2VDb2RlO3ZhciBhbj1hbC5sZW5ndGg7dmFyIFY9MDt2YXIgYWE9YWMuc3BhbnM7dmFyIFQ9YWEubGVuZ3RoO3ZhciBhaD0wO3ZhciBYPWFjLmRlY29yYXRpb25zO3ZhciBZPVgubGVuZ3RoO3ZhciBaPTA7WFtZXT1hbjt2YXIgYXIsYXE7Zm9yKGFxPWFyPTA7YXE8WTspe2lmKFhbYXFdIT09WFthcSsyXSl7WFthcisrXT1YW2FxKytdO1hbYXIrK109WFthcSsrXX1lbHNle2FxKz0yfX1ZPWFyO2ZvcihhcT1hcj0wO2FxPFk7KXt2YXIgYXQ9WFthcV07dmFyIGFiPVhbYXErMV07dmFyIFc9YXErMjt3aGlsZShXKzI8PVkmJlhbVysxXT09PWFiKXtXKz0yfVhbYXIrK109YXQ7WFthcisrXT1hYjthcT1XfVk9WC5sZW5ndGg9YXI7dmFyIGFlPW51bGw7d2hpbGUoYWg8VCl7dmFyIGFmPWFhW2FoXTt2YXIgUz1hYVthaCsyXXx8YW47dmFyIGFnPVhbWl07dmFyIGFwPVhbWisyXXx8YW47dmFyIFc9TWF0aC5taW4oUyxhcCk7dmFyIGFrPWFhW2FoKzFdO3ZhciBVO2lmKGFrLm5vZGVUeXBlIT09MSYmKFU9YWwuc3Vic3RyaW5nKFYsVykpKXtpZihhail7VT1VLnJlcGxhY2UoYW0sXCJcXHJcIil9YWsubm9kZVZhbHVlPVU7dmFyIGFpPWFrLm93bmVyRG9jdW1lbnQ7dmFyIGFvPWFpLmNyZWF0ZUVsZW1lbnQoXCJTUEFOXCIpO2FvLmNsYXNzTmFtZT1YW1orMV07dmFyIGFkPWFrLnBhcmVudE5vZGU7YWQucmVwbGFjZUNoaWxkKGFvLGFrKTthby5hcHBlbmRDaGlsZChhayk7aWYoVjxTKXthYVthaCsxXT1haz1haS5jcmVhdGVUZXh0Tm9kZShhbC5zdWJzdHJpbmcoVyxTKSk7YWQuaW5zZXJ0QmVmb3JlKGFrLGFvLm5leHRTaWJsaW5nKX19Vj1XO2lmKFY+PVMpe2FoKz0yfWlmKFY+PWFwKXtaKz0yfX19dmFyIHQ9e307ZnVuY3Rpb24gYyhVLFYpe2Zvcih2YXIgUz1WLmxlbmd0aDstLVM+PTA7KXt2YXIgVD1WW1NdO2lmKCF0Lmhhc093blByb3BlcnR5KFQpKXt0W1RdPVV9ZWxzZXtpZih3aW5kb3cuY29uc29sZSl7Y29uc29sZS53YXJuKFwiY2Fubm90IG92ZXJyaWRlIGxhbmd1YWdlIGhhbmRsZXIgJXNcIixUKX19fX1mdW5jdGlvbiBxKFQsUyl7aWYoIShUJiZ0Lmhhc093blByb3BlcnR5KFQpKSl7VD0vXlxccyo8Ly50ZXN0KFMpP1wiZGVmYXVsdC1tYXJrdXBcIjpcImRlZmF1bHQtY29kZVwifXJldHVybiB0W1RdfWMoSyxbXCJkZWZhdWx0LWNvZGVcIl0pO2MoZyhbXSxbW0YsL15bXjw/XSsvXSxbRSwvXjwhXFx3W14+XSooPzo+fCQpL10sW2osL148XFwhLS1bXFxzXFxTXSo/KD86LVxcLT58JCkvXSxbXCJsYW5nLVwiLC9ePFxcPyhbXFxzXFxTXSs/KSg/OlxcPz58JCkvXSxbXCJsYW5nLVwiLC9ePCUoW1xcc1xcU10rPykoPzolPnwkKS9dLFtMLC9eKD86PFslP118WyU/XT4pL10sW1wibGFuZy1cIiwvXjx4bXBcXGJbXj5dKj4oW1xcc1xcU10rPyk8XFwveG1wXFxiW14+XSo+L2ldLFtcImxhbmctanNcIiwvXjxzY3JpcHRcXGJbXj5dKj4oW1xcc1xcU10qPykoPFxcL3NjcmlwdFxcYltePl0qPikvaV0sW1wibGFuZy1jc3NcIiwvXjxzdHlsZVxcYltePl0qPihbXFxzXFxTXSo/KSg8XFwvc3R5bGVcXGJbXj5dKj4pL2ldLFtcImxhbmctaW4udGFnXCIsL14oPFxcLz9bYS16XVtePD5dKj4pL2ldXSksW1wiZGVmYXVsdC1tYXJrdXBcIixcImh0bVwiLFwiaHRtbFwiLFwibXhtbFwiLFwieGh0bWxcIixcInhtbFwiLFwieHNsXCJdKTtjKGcoW1tGLC9eW1xcc10rLyxudWxsLFwiIFxcdFxcclxcblwiXSxbbiwvXig/OlxcXCJbXlxcXCJdKlxcXCI/fFxcJ1teXFwnXSpcXCc/KS8sbnVsbCxcIlxcXCInXCJdXSxbW20sL15ePFxcLz9bYS16XSg/OltcXHcuOi1dKlxcdyk/fFxcLz8+JC9pXSxbUCwvXig/IXN0eWxlW1xccz1dfG9uKVthLXpdKD86W1xcdzotXSpcXHcpPy9pXSxbXCJsYW5nLXVxLnZhbFwiLC9ePVxccyooW14+XFwnXFxcIlxcc10qKD86W14+XFwnXFxcIlxcc1xcL118XFwvKD89XFxzKSkpL10sW0wsL15bPTw+XFwvXSsvXSxbXCJsYW5nLWpzXCIsL15vblxcdytcXHMqPVxccypcXFwiKFteXFxcIl0rKVxcXCIvaV0sW1wibGFuZy1qc1wiLC9eb25cXHcrXFxzKj1cXHMqXFwnKFteXFwnXSspXFwnL2ldLFtcImxhbmctanNcIiwvXm9uXFx3K1xccyo9XFxzKihbXlxcXCJcXCc+XFxzXSspL2ldLFtcImxhbmctY3NzXCIsL15zdHlsZVxccyo9XFxzKlxcXCIoW15cXFwiXSspXFxcIi9pXSxbXCJsYW5nLWNzc1wiLC9ec3R5bGVcXHMqPVxccypcXCcoW15cXCddKylcXCcvaV0sW1wibGFuZy1jc3NcIiwvXnN0eWxlXFxzKj1cXHMqKFteXFxcIlxcJz5cXHNdKykvaV1dKSxbXCJpbi50YWdcIl0pO2MoZyhbXSxbW24sL15bXFxzXFxTXSsvXV0pLFtcInVxLnZhbFwiXSk7YyhpKHtrZXl3b3JkczpsLGhhc2hDb21tZW50czp0cnVlLGNTdHlsZUNvbW1lbnRzOnRydWUsdHlwZXM6ZX0pLFtcImNcIixcImNjXCIsXCJjcHBcIixcImN4eFwiLFwiY3ljXCIsXCJtXCJdKTtjKGkoe2tleXdvcmRzOlwibnVsbCx0cnVlLGZhbHNlXCJ9KSxbXCJqc29uXCJdKTtjKGkoe2tleXdvcmRzOlIsaGFzaENvbW1lbnRzOnRydWUsY1N0eWxlQ29tbWVudHM6dHJ1ZSx2ZXJiYXRpbVN0cmluZ3M6dHJ1ZSx0eXBlczplfSksW1wiY3NcIl0pO2MoaSh7a2V5d29yZHM6eCxjU3R5bGVDb21tZW50czp0cnVlfSksW1wiamF2YVwiXSk7YyhpKHtrZXl3b3JkczpILGhhc2hDb21tZW50czp0cnVlLG11bHRpTGluZVN0cmluZ3M6dHJ1ZX0pLFtcImJzaFwiLFwiY3NoXCIsXCJzaFwiXSk7YyhpKHtrZXl3b3JkczpJLGhhc2hDb21tZW50czp0cnVlLG11bHRpTGluZVN0cmluZ3M6dHJ1ZSx0cmlwbGVRdW90ZWRTdHJpbmdzOnRydWV9KSxbXCJjdlwiLFwicHlcIl0pO2MoaSh7a2V5d29yZHM6cyxoYXNoQ29tbWVudHM6dHJ1ZSxtdWx0aUxpbmVTdHJpbmdzOnRydWUscmVnZXhMaXRlcmFsczp0cnVlfSksW1wicGVybFwiLFwicGxcIixcInBtXCJdKTtjKGkoe2tleXdvcmRzOmYsaGFzaENvbW1lbnRzOnRydWUsbXVsdGlMaW5lU3RyaW5nczp0cnVlLHJlZ2V4TGl0ZXJhbHM6dHJ1ZX0pLFtcInJiXCJdKTtjKGkoe2tleXdvcmRzOncsY1N0eWxlQ29tbWVudHM6dHJ1ZSxyZWdleExpdGVyYWxzOnRydWV9KSxbXCJqc1wiXSk7YyhpKHtrZXl3b3JkczpyLGhhc2hDb21tZW50czozLGNTdHlsZUNvbW1lbnRzOnRydWUsbXVsdGlsaW5lU3RyaW5nczp0cnVlLHRyaXBsZVF1b3RlZFN0cmluZ3M6dHJ1ZSxyZWdleExpdGVyYWxzOnRydWV9KSxbXCJjb2ZmZWVcIl0pO2MoZyhbXSxbW0MsL15bXFxzXFxTXSsvXV0pLFtcInJlZ2V4XCJdKTtmdW5jdGlvbiBkKFYpe3ZhciBVPVYubGFuZ0V4dGVuc2lvbjt0cnl7dmFyIFM9YShWLnNvdXJjZU5vZGUpO3ZhciBUPVMuc291cmNlQ29kZTtWLnNvdXJjZUNvZGU9VDtWLnNwYW5zPVMuc3BhbnM7Vi5iYXNlUG9zPTA7cShVLFQpKFYpO0QoVil9Y2F0Y2goVyl7aWYoXCJjb25zb2xlXCIgaW4gd2luZG93KXtjb25zb2xlLmxvZyhXJiZXLnN0YWNrP1cuc3RhY2s6Vyl9fX1mdW5jdGlvbiB5KFcsVixVKXt2YXIgUz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiUFJFXCIpO1MuaW5uZXJIVE1MPVc7aWYoVSl7UShTLFUpfXZhciBUPXtsYW5nRXh0ZW5zaW9uOlYsbnVtYmVyTGluZXM6VSxzb3VyY2VOb2RlOlN9O2QoVCk7cmV0dXJuIFMuaW5uZXJIVE1MfWZ1bmN0aW9uIGIoYWQpe2Z1bmN0aW9uIFkoYWYpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShhZil9dmFyIGFjPVtZKFwicHJlXCIpLFkoXCJjb2RlXCIpLFkoXCJ4bXBcIildO3ZhciBUPVtdO2Zvcih2YXIgYWE9MDthYTxhYy5sZW5ndGg7KythYSl7Zm9yKHZhciBaPTAsVj1hY1thYV0ubGVuZ3RoO1o8VjsrK1ope1QucHVzaChhY1thYV1bWl0pfX1hYz1udWxsO3ZhciBXPURhdGU7aWYoIVcubm93KXtXPXtub3c6ZnVuY3Rpb24oKXtyZXR1cm4gKyhuZXcgRGF0ZSl9fX12YXIgWD0wO3ZhciBTO3ZhciBhYj0vXFxibGFuZyg/OnVhZ2UpPy0oW1xcdy5dKykoPyFcXFMpLzt2YXIgYWU9L1xcYnByZXR0eXByaW50XFxiLztmdW5jdGlvbiBVKCl7dmFyIGFnPSh3aW5kb3cuUFJfU0hPVUxEX1VTRV9DT05USU5VQVRJT04/Vy5ub3coKSsyNTA6SW5maW5pdHkpO2Zvcig7WDxULmxlbmd0aCYmVy5ub3coKTxhZztYKyspe3ZhciBhaj1UW1hdO3ZhciBhaT1hai5jbGFzc05hbWU7aWYoYWkuaW5kZXhPZihcInByZXR0eXByaW50XCIpPj0wKXt2YXIgYWg9YWkubWF0Y2goYWIpO3ZhciBhbTtpZighYWgmJihhbT1vKGFqKSkmJlwiQ09ERVwiPT09YW0udGFnTmFtZSl7YWg9YW0uY2xhc3NOYW1lLm1hdGNoKGFiKX1pZihhaCl7YWg9YWhbMV19dmFyIGFsPWZhbHNlO2Zvcih2YXIgYWs9YWoucGFyZW50Tm9kZTthazthaz1hay5wYXJlbnROb2RlKXtpZigoYWsudGFnTmFtZT09PVwicHJlXCJ8fGFrLnRhZ05hbWU9PT1cImNvZGVcInx8YWsudGFnTmFtZT09PVwieG1wXCIpJiZhay5jbGFzc05hbWUmJmFrLmNsYXNzTmFtZS5pbmRleE9mKFwicHJldHR5cHJpbnRcIik+PTApe2FsPXRydWU7YnJlYWt9fWlmKCFhbCl7dmFyIGFmPWFqLmNsYXNzTmFtZS5tYXRjaCgvXFxibGluZW51bXNcXGIoPzo6KFxcZCspKT8vKTthZj1hZj9hZlsxXSYmYWZbMV0ubGVuZ3RoPythZlsxXTp0cnVlOmZhbHNlO2lmKGFmKXtRKGFqLGFmKX1TPXtsYW5nRXh0ZW5zaW9uOmFoLHNvdXJjZU5vZGU6YWosbnVtYmVyTGluZXM6YWZ9O2QoUyl9fX1pZihYPFQubGVuZ3RoKXtzZXRUaW1lb3V0KFUsMjUwKX1lbHNle2lmKGFkKXthZCgpfX19VSgpfXdpbmRvdy5wcmV0dHlQcmludE9uZT15O3dpbmRvdy5wcmV0dHlQcmludD1iO3dpbmRvdy5QUj17Y3JlYXRlU2ltcGxlTGV4ZXI6ZyxyZWdpc3RlckxhbmdIYW5kbGVyOmMsc291cmNlRGVjb3JhdG9yOmksUFJfQVRUUklCX05BTUU6UCxQUl9BVFRSSUJfVkFMVUU6bixQUl9DT01NRU5UOmosUFJfREVDTEFSQVRJT046RSxQUl9LRVlXT1JEOnosUFJfTElURVJBTDpHLFBSX05PQ09ERTpOLFBSX1BMQUlOOkYsUFJfUFVOQ1RVQVRJT046TCxQUl9TT1VSQ0U6SixQUl9TVFJJTkc6QyxQUl9UQUc6bSxQUl9UWVBFOk99fSkoKTtQUi5yZWdpc3RlckxhbmdIYW5kbGVyKFBSLmNyZWF0ZVNpbXBsZUxleGVyKFtdLFtbUFIuUFJfREVDTEFSQVRJT04sL148IVxcd1tePl0qKD86PnwkKS9dLFtQUi5QUl9DT01NRU5ULC9ePFxcIS0tW1xcc1xcU10qPyg/Oi1cXC0+fCQpL10sW1BSLlBSX1BVTkNUVUFUSU9OLC9eKD86PFslP118WyU/XT4pL10sW1wibGFuZy1cIiwvXjxcXD8oW1xcc1xcU10rPykoPzpcXD8+fCQpL10sW1wibGFuZy1cIiwvXjwlKFtcXHNcXFNdKz8pKD86JT58JCkvXSxbXCJsYW5nLVwiLC9ePHhtcFxcYltePl0qPihbXFxzXFxTXSs/KTxcXC94bXBcXGJbXj5dKj4vaV0sW1wibGFuZy1oYW5kbGViYXJzXCIsL148c2NyaXB0XFxiW14+XSp0eXBlXFxzKj1cXHMqWydcIl0/dGV4dFxcL3gtaGFuZGxlYmFycy10ZW1wbGF0ZVsnXCJdP1xcYltePl0qPihbXFxzXFxTXSo/KSg8XFwvc2NyaXB0XFxiW14+XSo+KS9pXSxbXCJsYW5nLWpzXCIsL148c2NyaXB0XFxiW14+XSo+KFtcXHNcXFNdKj8pKDxcXC9zY3JpcHRcXGJbXj5dKj4pL2ldLFtcImxhbmctY3NzXCIsL148c3R5bGVcXGJbXj5dKj4oW1xcc1xcU10qPykoPFxcL3N0eWxlXFxiW14+XSo+KS9pXSxbXCJsYW5nLWluLnRhZ1wiLC9eKDxcXC8/W2Etel1bXjw+XSo+KS9pXSxbUFIuUFJfREVDTEFSQVRJT04sL157e1sjXj4vXT9cXHMqW1xcdy5dW159XSp9fS9dLFtQUi5QUl9ERUNMQVJBVElPTiwvXnt7Jj9cXHMqW1xcdy5dW159XSp9fS9dLFtQUi5QUl9ERUNMQVJBVElPTiwvXnt7ez4/XFxzKltcXHcuXVtefV0qfX19L10sW1BSLlBSX0NPTU1FTlQsL157eyFbXn1dKn19L11dKSxbXCJoYW5kbGViYXJzXCIsXCJoYnNcIl0pO1BSLnJlZ2lzdGVyTGFuZ0hhbmRsZXIoUFIuY3JlYXRlU2ltcGxlTGV4ZXIoW1tQUi5QUl9QTEFJTiwvXlsgXFx0XFxyXFxuXFxmXSsvLG51bGwsXCIgXFx0XFxyXFxuXFxmXCJdXSxbW1BSLlBSX1NUUklORywvXlxcXCIoPzpbXlxcblxcclxcZlxcXFxcXFwiXXxcXFxcKD86XFxyXFxuP3xcXG58XFxmKXxcXFxcW1xcc1xcU10pKlxcXCIvLG51bGxdLFtQUi5QUl9TVFJJTkcsL15cXCcoPzpbXlxcblxcclxcZlxcXFxcXCddfFxcXFwoPzpcXHJcXG4/fFxcbnxcXGYpfFxcXFxbXFxzXFxTXSkqXFwnLyxudWxsXSxbXCJsYW5nLWNzcy1zdHJcIiwvXnVybFxcKChbXlxcKVxcXCJcXCddKilcXCkvaV0sW1BSLlBSX0tFWVdPUkQsL14oPzp1cmx8cmdifFxcIWltcG9ydGFudHxAaW1wb3J0fEBwYWdlfEBtZWRpYXxAY2hhcnNldHxpbmhlcml0KSg/PVteXFwtXFx3XXwkKS9pLG51bGxdLFtcImxhbmctY3NzLWt3XCIsL14oLT8oPzpbX2Etel18KD86XFxcXFswLTlhLWZdKyA/KSkoPzpbX2EtejAtOVxcLV18XFxcXCg/OlxcXFxbMC05YS1mXSsgPykpKilcXHMqOi9pXSxbUFIuUFJfQ09NTUVOVCwvXlxcL1xcKlteKl0qXFwqKyg/OlteXFwvKl1bXipdKlxcKispKlxcLy9dLFtQUi5QUl9DT01NRU5ULC9eKD86PCEtLXwtLT4pL10sW1BSLlBSX0xJVEVSQUwsL14oPzpcXGQrfFxcZCpcXC5cXGQrKSg/OiV8W2Etel0rKT8vaV0sW1BSLlBSX0xJVEVSQUwsL14jKD86WzAtOWEtZl17M30pezEsMn0vaV0sW1BSLlBSX1BMQUlOLC9eLT8oPzpbX2Etel18KD86XFxcXFtcXGRhLWZdKyA/KSkoPzpbX2EtelxcZFxcLV18XFxcXCg/OlxcXFxbXFxkYS1mXSsgPykpKi9pXSxbUFIuUFJfUFVOQ1RVQVRJT04sL15bXlxcc1xcd1xcJ1xcXCJdKy9dXSksW1wiY3NzXCJdKTtQUi5yZWdpc3RlckxhbmdIYW5kbGVyKFBSLmNyZWF0ZVNpbXBsZUxleGVyKFtdLFtbUFIuUFJfS0VZV09SRCwvXi0/KD86W19hLXpdfCg/OlxcXFxbXFxkYS1mXSsgPykpKD86W19hLXpcXGRcXC1dfFxcXFwoPzpcXFxcW1xcZGEtZl0rID8pKSovaV1dKSxbXCJjc3Mta3dcIl0pO1BSLnJlZ2lzdGVyTGFuZ0hhbmRsZXIoUFIuY3JlYXRlU2ltcGxlTGV4ZXIoW10sW1tQUi5QUl9TVFJJTkcsL15bXlxcKVxcXCJcXCddKy9dXSksW1wiY3NzLXN0clwiXSk7XG4iXX0=
|