@datagrok/bio 0.0.2 → 0.0.4
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/dist/package.js +631 -0
- package/package.json +9 -3
package/dist/package.js
ADDED
|
@@ -0,0 +1,631 @@
|
|
|
1
|
+
var sequences1;
|
|
2
|
+
/******/ (() => { // webpackBootstrap
|
|
3
|
+
/******/ "use strict";
|
|
4
|
+
/******/ var __webpack_modules__ = ({
|
|
5
|
+
|
|
6
|
+
/***/ "./src/seq_align.ts":
|
|
7
|
+
/*!**************************!*\
|
|
8
|
+
!*** ./src/seq_align.ts ***!
|
|
9
|
+
\**************************/
|
|
10
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
11
|
+
|
|
12
|
+
__webpack_require__.r(__webpack_exports__);
|
|
13
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
14
|
+
/* harmony export */ "Aligned": () => (/* binding */ Aligned),
|
|
15
|
+
/* harmony export */ "SequenceAlignment": () => (/* binding */ SequenceAlignment)
|
|
16
|
+
/* harmony export */ });
|
|
17
|
+
class Cell {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.value = 0;
|
|
20
|
+
this.parentI = 0;
|
|
21
|
+
this.parentJ = 0;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
;
|
|
25
|
+
class Aligned {
|
|
26
|
+
constructor(seq1_, seq2_, score_) {
|
|
27
|
+
this.seq1 = seq1_;
|
|
28
|
+
this.seq2 = seq2_;
|
|
29
|
+
this.score = score_;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
;
|
|
33
|
+
class SequenceAlignment {
|
|
34
|
+
constructor(seq1_, seq2_, gap_, alignGrid_ = "") {
|
|
35
|
+
this.seq1 = '';
|
|
36
|
+
this.seq2 = '';
|
|
37
|
+
this.gap = 1;
|
|
38
|
+
this.len1 = 0;
|
|
39
|
+
this.len2 = 0;
|
|
40
|
+
this.step = 1;
|
|
41
|
+
this.alignGrid = [];
|
|
42
|
+
this.scores = [];
|
|
43
|
+
this.dpGrid = [];
|
|
44
|
+
this.connections = {};
|
|
45
|
+
this.BLOSUM45 = [[5, -2, -1, -2, -1, -1, -1, 0, -2, -1, -1, -1, -1, -2, -1, 1, 0, -2, -2, 0, -1, -1, 0, -5],
|
|
46
|
+
[-2, 7, 0, -1, -3, 1, 0, -2, 0, -3, -2, 3, -1, -2, -2, -1, -1, -2, -1, -2, -1, 0, -1, -5],
|
|
47
|
+
[-1, 0, 6, 2, -2, 0, 0, 0, 1, -2, -3, 0, -2, -2, -2, 1, 0, -4, -2, -3, 4, 0, -1, -5],
|
|
48
|
+
[-2, -1, 2, 7, -3, 0, 2, -1, 0, -4, -3, 0, -3, -4, -1, 0, -1, -4, -2, -3, 5, 1, -1, -5],
|
|
49
|
+
[-1, -3, -2, -3, 12, -3, -3, -3, -3, -3, -2, -3, -2, -2, -4, -1, -1, -5, -3, -1, -2, -3, -2, -5],
|
|
50
|
+
[-1, 1, 0, 0, -3, 6, 2, -2, 1, -2, -2, 1, 0, -4, -1, 0, -1, -2, -1, -3, 0, 4, -1, -5],
|
|
51
|
+
[-1, 0, 0, 2, -3, 2, 6, -2, 0, -3, -2, 1, -2, -3, 0, 0, -1, -3, -2, -3, 1, 4, -1, -5],
|
|
52
|
+
[0, -2, 0, -1, -3, -2, -2, 7, -2, -4, -3, -2, -2, -3, -2, 0, -2, -2, -3, -3, -1, -2, -1, -5],
|
|
53
|
+
[-2, 0, 1, 0, -3, 1, 0, -2, 10, -3, -2, -1, 0, -2, -2, -1, -2, -3, 2, -3, 0, 0, -1, -5],
|
|
54
|
+
[-1, -3, -2, -4, -3, -2, -3, -4, -3, 5, 2, -3, 2, 0, -2, -2, -1, -2, 0, 3, -3, -3, -1, -5],
|
|
55
|
+
[-1, -2, -3, -3, -2, -2, -2, -3, -2, 2, 5, -3, 2, 1, -3, -3, -1, -2, 0, 1, -3, -2, -1, -5],
|
|
56
|
+
[-1, 3, 0, 0, -3, 1, 1, -2, -1, -3, -3, 5, -1, -3, -1, -1, -1, -2, -1, -2, 0, 1, -1, -5],
|
|
57
|
+
[-1, -1, -2, -3, -2, 0, -2, -2, 0, 2, 2, -1, 6, 0, -2, -2, -1, -2, 0, 1, -2, -1, -1, -5],
|
|
58
|
+
[-2, -2, -2, -4, -2, -4, -3, -3, -2, 0, 1, -3, 0, 8, -3, -2, -1, 1, 3, 0, -3, -3, -1, -5],
|
|
59
|
+
[-1, -2, -2, -1, -4, -1, 0, -2, -2, -2, -3, -1, -2, -3, 9, -1, -1, -3, -3, -3, -2, -1, -1, -5],
|
|
60
|
+
[1, -1, 1, 0, -1, 0, 0, 0, -1, -2, -3, -1, -2, -2, -1, 4, 2, -4, -2, -1, 0, 0, 0, -5],
|
|
61
|
+
[0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -1, -1, 2, 5, -3, -1, 0, 0, -1, 0, -5],
|
|
62
|
+
[-2, -2, -4, -4, -5, -2, -3, -2, -3, -2, -2, -2, -2, 1, -3, -4, -3, 15, 3, -3, -4, -2, -2, -5],
|
|
63
|
+
[-2, -1, -2, -2, -3, -1, -2, -3, 2, 0, 0, -1, 0, 3, -3, -2, -1, 3, 8, -1, -2, -2, -1, -5],
|
|
64
|
+
[0, -2, -3, -3, -1, -3, -3, -3, -3, 3, 1, -2, 1, 0, -3, -1, 0, -3, -1, 5, -3, -3, -1, -5],
|
|
65
|
+
[-1, -1, 4, 5, -2, 0, 1, -1, 0, -3, -3, 0, -2, -3, -2, 0, 0, -4, -2, -3, 4, 2, -1, -5],
|
|
66
|
+
[-1, 0, 0, 1, -3, 4, 4, -2, 0, -3, -2, 1, -1, -3, -1, 0, -1, -2, -2, -3, 2, 4, -1, -5],
|
|
67
|
+
[0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -2, -1, -1, -1, -1, -1, -5],
|
|
68
|
+
[-5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 1]];
|
|
69
|
+
this.BLOSUM50 = [[5, -2, -1, -2, -1, -1, -1, 0, -2, -1, -2, -1, -1, -3, -1, 1, 0, -3, -2, 0, -2, -1, -1, -5],
|
|
70
|
+
[-2, 7, -1, -2, -4, 1, 0, -3, 0, -4, -3, 3, -2, -3, -3, -1, -1, -3, -1, -3, -1, 0, -1, -5],
|
|
71
|
+
[-1, -1, 7, 2, -2, 0, 0, 0, 1, -3, -4, 0, -2, -4, -2, 1, 0, -4, -2, -3, 4, 0, -1, -5],
|
|
72
|
+
[-2, -2, 2, 8, -4, 0, 2, -1, -1, -4, -4, -1, -4, -5, -1, 0, -1, -5, -3, -4, 5, 1, -1, -5],
|
|
73
|
+
[-1, -4, -2, -4, 13, -3, -3, -3, -3, -2, -2, -3, -2, -2, -4, -1, -1, -5, -3, -1, -3, -3, -2, -5],
|
|
74
|
+
[-1, 1, 0, 0, -3, 7, 2, -2, 1, -3, -2, 2, 0, -4, -1, 0, -1, -1, -1, -3, 0, 4, -1, -5],
|
|
75
|
+
[-1, 0, 0, 2, -3, 2, 6, -3, 0, -4, -3, 1, -2, -3, -1, -1, -1, -3, -2, -3, 1, 5, -1, -5],
|
|
76
|
+
[0, -3, 0, -1, -3, -2, -3, 8, -2, -4, -4, -2, -3, -4, -2, 0, -2, -3, -3, -4, -1, -2, -2, -5],
|
|
77
|
+
[-2, 0, 1, -1, -3, 1, 0, -2, 10, -4, -3, 0, -1, -1, -2, -1, -2, -3, 2, -4, 0, 0, -1, -5],
|
|
78
|
+
[-1, -4, -3, -4, -2, -3, -4, -4, -4, 5, 2, -3, 2, 0, -3, -3, -1, -3, -1, 4, -4, -3, -1, -5],
|
|
79
|
+
[-2, -3, -4, -4, -2, -2, -3, -4, -3, 2, 5, -3, 3, 1, -4, -3, -1, -2, -1, 1, -4, -3, -1, -5],
|
|
80
|
+
[-1, 3, 0, -1, -3, 2, 1, -2, 0, -3, -3, 6, -2, -4, -1, 0, -1, -3, -2, -3, 0, 1, -1, -5],
|
|
81
|
+
[-1, -2, -2, -4, -2, 0, -2, -3, -1, 2, 3, -2, 7, 0, -3, -2, -1, -1, 0, 1, -3, -1, -1, -5],
|
|
82
|
+
[-3, -3, -4, -5, -2, -4, -3, -4, -1, 0, 1, -4, 0, 8, -4, -3, -2, 1, 4, -1, -4, -4, -2, -5],
|
|
83
|
+
[-1, -3, -2, -1, -4, -1, -1, -2, -2, -3, -4, -1, -3, -4, 10, -1, -1, -4, -3, -3, -2, -1, -2, -5],
|
|
84
|
+
[1, -1, 1, 0, -1, 0, -1, 0, -1, -3, -3, 0, -2, -3, -1, 5, 2, -4, -2, -2, 0, 0, -1, -5],
|
|
85
|
+
[0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -2, -1, 2, 5, -3, -2, 0, 0, -1, 0, -5],
|
|
86
|
+
[-3, -3, -4, -5, -5, -1, -3, -3, -3, -3, -2, -3, -1, 1, -4, -4, -3, 15, 2, -3, -5, -2, -3, -5],
|
|
87
|
+
[-2, -1, -2, -3, -3, -1, -2, -3, 2, -1, -1, -2, 0, 4, -3, -2, -2, 2, 8, -1, -3, -2, -1, -5],
|
|
88
|
+
[0, -3, -3, -4, -1, -3, -3, -4, -4, 4, 1, -3, 1, -1, -3, -2, 0, -3, -1, 5, -4, -3, -1, -5],
|
|
89
|
+
[-2, -1, 4, 5, -3, 0, 1, -1, 0, -4, -4, 0, -3, -4, -2, 0, 0, -5, -3, -4, 5, 2, -1, -5],
|
|
90
|
+
[-1, 0, 0, 1, -3, 4, 5, -2, 0, -3, -3, 1, -1, -4, -1, 0, -1, -2, -2, -3, 2, 5, -1, -5],
|
|
91
|
+
[-1, -1, -1, -1, -2, -1, -1, -2, -1, -1, -1, -1, -1, -2, -2, -1, 0, -3, -1, -1, -1, -1, -1, -5],
|
|
92
|
+
[-5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 1]];
|
|
93
|
+
this.BLOSUM62 = [[4, -1, -2, -2, 0, -1, -1, 0, -2, -1, -1, -1, -1, -2, -1, 1, 0, -3, -2, 0, -2, -1, 0, -4],
|
|
94
|
+
[-1, 5, 0, -2, -3, 1, 0, -2, 0, -3, -2, 2, -1, -3, -2, -1, -1, -3, -2, -3, -1, 0, -1, -4],
|
|
95
|
+
[-2, 0, 6, 1, -3, 0, 0, 0, 1, -3, -3, 0, -2, -3, -2, 1, 0, -4, -2, -3, 3, 0, -1, -4],
|
|
96
|
+
[-2, -2, 1, 6, -3, 0, 2, -1, -1, -3, -4, -1, -3, -3, -1, 0, -1, -4, -3, -3, 4, 1, -1, -4],
|
|
97
|
+
[0, -3, -3, -3, 9, -3, -4, -3, -3, -1, -1, -3, -1, -2, -3, -1, -1, -2, -2, -1, -3, -3, -2, -4],
|
|
98
|
+
[-1, 1, 0, 0, -3, 5, 2, -2, 0, -3, -2, 1, 0, -3, -1, 0, -1, -2, -1, -2, 0, 3, -1, -4],
|
|
99
|
+
[-1, 0, 0, 2, -4, 2, 5, -2, 0, -3, -3, 1, -2, -3, -1, 0, -1, -3, -2, -2, 1, 4, -1, -4],
|
|
100
|
+
[0, -2, 0, -1, -3, -2, -2, 6, -2, -4, -4, -2, -3, -3, -2, 0, -2, -2, -3, -3, -1, -2, -1, -4],
|
|
101
|
+
[-2, 0, 1, -1, -3, 0, 0, -2, 8, -3, -3, -1, -2, -1, -2, -1, -2, -2, 2, -3, 0, 0, -1, -4],
|
|
102
|
+
[-1, -3, -3, -3, -1, -3, -3, -4, -3, 4, 2, -3, 1, 0, -3, -2, -1, -3, -1, 3, -3, -3, -1, -4],
|
|
103
|
+
[-1, -2, -3, -4, -1, -2, -3, -4, -3, 2, 4, -2, 2, 0, -3, -2, -1, -2, -1, 1, -4, -3, -1, -4],
|
|
104
|
+
[-1, 2, 0, -1, -3, 1, 1, -2, -1, -3, -2, 5, -1, -3, -1, 0, -1, -3, -2, -2, 0, 1, -1, -4],
|
|
105
|
+
[-1, -1, -2, -3, -1, 0, -2, -3, -2, 1, 2, -1, 5, 0, -2, -1, -1, -1, -1, 1, -3, -1, -1, -4],
|
|
106
|
+
[-2, -3, -3, -3, -2, -3, -3, -3, -1, 0, 0, -3, 0, 6, -4, -2, -2, 1, 3, -1, -3, -3, -1, -4],
|
|
107
|
+
[-1, -2, -2, -1, -3, -1, -1, -2, -2, -3, -3, -1, -2, -4, 7, -1, -1, -4, -3, -2, -2, -1, -2, -4],
|
|
108
|
+
[1, -1, 1, 0, -1, 0, 0, 0, -1, -2, -2, 0, -1, -2, -1, 4, 1, -3, -2, -2, 0, 0, 0, -4],
|
|
109
|
+
[0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -2, -1, 1, 5, -2, -2, 0, -1, -1, 0, -4],
|
|
110
|
+
[-3, -3, -4, -4, -2, -2, -3, -2, -2, -3, -2, -3, -1, 1, -4, -3, -2, 11, 2, -3, -4, -3, -2, -4],
|
|
111
|
+
[-2, -2, -2, -3, -2, -1, -2, -3, 2, -1, -1, -2, -1, 3, -3, -2, -2, 2, 7, -1, -3, -2, -1, -4],
|
|
112
|
+
[0, -3, -3, -3, -1, -2, -2, -3, -3, 3, 1, -2, 1, -1, -2, -2, 0, -3, -1, 4, -3, -2, -1, -4],
|
|
113
|
+
[-2, -1, 3, 4, -3, 0, 1, -1, 0, -3, -4, 0, -3, -3, -2, 0, -1, -4, -3, -3, 4, 1, -1, -4],
|
|
114
|
+
[-1, 0, 0, 1, -3, 3, 4, -2, 0, -3, -3, 1, -1, -3, -1, 0, -1, -3, -2, -2, 1, 4, -1, -4],
|
|
115
|
+
[0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, 0, 0, -2, -1, -1, -1, -1, -1, -4],
|
|
116
|
+
[-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, 1]];
|
|
117
|
+
this.BLOSUM80 = [[7, -3, -3, -3, -1, -2, -2, 0, -3, -3, -3, -1, -2, -4, -1, 2, 0, -5, -4, -1, -3, -2, -1, -8],
|
|
118
|
+
[-3, 9, -1, -3, -6, 1, -1, -4, 0, -5, -4, 3, -3, -5, -3, -2, -2, -5, -4, -4, -2, 0, -2, -8],
|
|
119
|
+
[-3, -1, 9, 2, -5, 0, -1, -1, 1, -6, -6, 0, -4, -6, -4, 1, 0, -7, -4, -5, 5, -1, -2, -8],
|
|
120
|
+
[-3, -3, 2, 10, -7, -1, 2, -3, -2, -7, -7, -2, -6, -6, -3, -1, -2, -8, -6, -6, 6, 1, -3, -8],
|
|
121
|
+
[-1, -6, -5, -7, 13, -5, -7, -6, -7, -2, -3, -6, -3, -4, -6, -2, -2, -5, -5, -2, -6, -7, -4, -8],
|
|
122
|
+
[-2, 1, 0, -1, -5, 9, 3, -4, 1, -5, -4, 2, -1, -5, -3, -1, -1, -4, -3, -4, -1, 5, -2, -8],
|
|
123
|
+
[-2, -1, -1, 2, -7, 3, 8, -4, 0, -6, -6, 1, -4, -6, -2, -1, -2, -6, -5, -4, 1, 6, -2, -8],
|
|
124
|
+
[0, -4, -1, -3, -6, -4, -4, 9, -4, -7, -7, -3, -5, -6, -5, -1, -3, -6, -6, -6, -2, -4, -3, -8],
|
|
125
|
+
[-3, 0, 1, -2, -7, 1, 0, -4, 12, -6, -5, -1, -4, -2, -4, -2, -3, -4, 3, -5, -1, 0, -2, -8],
|
|
126
|
+
[-3, -5, -6, -7, -2, -5, -6, -7, -6, 7, 2, -5, 2, -1, -5, -4, -2, -5, -3, 4, -6, -6, -2, -8],
|
|
127
|
+
[-3, -4, -6, -7, -3, -4, -6, -7, -5, 2, 6, -4, 3, 0, -5, -4, -3, -4, -2, 1, -7, -5, -2, -8],
|
|
128
|
+
[-1, 3, 0, -2, -6, 2, 1, -3, -1, -5, -4, 8, -3, -5, -2, -1, -1, -6, -4, -4, -1, 1, -2, -8],
|
|
129
|
+
[-2, -3, -4, -6, -3, -1, -4, -5, -4, 2, 3, -3, 9, 0, -4, -3, -1, -3, -3, 1, -5, -3, -2, -8],
|
|
130
|
+
[-4, -5, -6, -6, -4, -5, -6, -6, -2, -1, 0, -5, 0, 10, -6, -4, -4, 0, 4, -2, -6, -6, -3, -8],
|
|
131
|
+
[-1, -3, -4, -3, -6, -3, -2, -5, -4, -5, -5, -2, -4, -6, 12, -2, -3, -7, -6, -4, -4, -2, -3, -8],
|
|
132
|
+
[2, -2, 1, -1, -2, -1, -1, -1, -2, -4, -4, -1, -3, -4, -2, 7, 2, -6, -3, -3, 0, -1, -1, -8],
|
|
133
|
+
[0, -2, 0, -2, -2, -1, -2, -3, -3, -2, -3, -1, -1, -4, -3, 2, 8, -5, -3, 0, -1, -2, -1, -8],
|
|
134
|
+
[-5, -5, -7, -8, -5, -4, -6, -6, -4, -5, -4, -6, -3, 0, -7, -6, -5, 16, 3, -5, -8, -5, -5, -8],
|
|
135
|
+
[-4, -4, -4, -6, -5, -3, -5, -6, 3, -3, -2, -4, -3, 4, -6, -3, -3, 3, 11, -3, -5, -4, -3, -8],
|
|
136
|
+
[-1, -4, -5, -6, -2, -4, -4, -6, -5, 4, 1, -4, 1, -2, -4, -3, 0, -5, -3, 7, -6, -4, -2, -8],
|
|
137
|
+
[-3, -2, 5, 6, -6, -1, 1, -2, -1, -6, -7, -1, -5, -6, -4, 0, -1, -8, -5, -6, 6, 0, -3, -8],
|
|
138
|
+
[-2, 0, -1, 1, -7, 5, 6, -4, 0, -6, -5, 1, -3, -6, -2, -1, -2, -5, -4, -4, 0, 6, -1, -8],
|
|
139
|
+
[-1, -2, -2, -3, -4, -2, -2, -3, -2, -2, -2, -2, -2, -3, -3, -1, -1, -5, -3, -2, -3, -1, -2, -8],
|
|
140
|
+
[-8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, 1]];
|
|
141
|
+
this.BLOSUM90 = [[5, -2, -2, -3, -1, -1, -1, 0, -2, -2, -2, -1, -2, -3, -1, 1, 0, -4, -3, -1, -2, -1, -1, -6],
|
|
142
|
+
[-2, 6, -1, -3, -5, 1, -1, -3, 0, -4, -3, 2, -2, -4, -3, -1, -2, -4, -3, -3, -2, 0, -2, -6],
|
|
143
|
+
[-2, -1, 7, 1, -4, 0, -1, -1, 0, -4, -4, 0, -3, -4, -3, 0, 0, -5, -3, -4, 4, -1, -2, -6],
|
|
144
|
+
[-3, -3, 1, 7, -5, -1, 1, -2, -2, -5, -5, -1, -4, -5, -3, -1, -2, -6, -4, -5, 4, 0, -2, -6],
|
|
145
|
+
[-1, -5, -4, -5, 9, -4, -6, -4, -5, -2, -2, -4, -2, -3, -4, -2, -2, -4, -4, -2, -4, -5, -3, -6],
|
|
146
|
+
[-1, 1, 0, -1, -4, 7, 2, -3, 1, -4, -3, 1, 0, -4, -2, -1, -1, -3, -3, -3, -1, 4, -1, -6],
|
|
147
|
+
[-1, -1, -1, 1, -6, 2, 6, -3, -1, -4, -4, 0, -3, -5, -2, -1, -1, -5, -4, -3, 0, 4, -2, -6],
|
|
148
|
+
[0, -3, -1, -2, -4, -3, -3, 6, -3, -5, -5, -2, -4, -5, -3, -1, -3, -4, -5, -5, -2, -3, -2, -6],
|
|
149
|
+
[-2, 0, 0, -2, -5, 1, -1, -3, 8, -4, -4, -1, -3, -2, -3, -2, -2, -3, 1, -4, -1, 0, -2, -6],
|
|
150
|
+
[-2, -4, -4, -5, -2, -4, -4, -5, -4, 5, 1, -4, 1, -1, -4, -3, -1, -4, -2, 3, -5, -4, -2, -6],
|
|
151
|
+
[-2, -3, -4, -5, -2, -3, -4, -5, -4, 1, 5, -3, 2, 0, -4, -3, -2, -3, -2, 0, -5, -4, -2, -6],
|
|
152
|
+
[-1, 2, 0, -1, -4, 1, 0, -2, -1, -4, -3, 6, -2, -4, -2, -1, -1, -5, -3, -3, -1, 1, -1, -6],
|
|
153
|
+
[-2, -2, -3, -4, -2, 0, -3, -4, -3, 1, 2, -2, 7, -1, -3, -2, -1, -2, -2, 0, -4, -2, -1, -6],
|
|
154
|
+
[-3, -4, -4, -5, -3, -4, -5, -5, -2, -1, 0, -4, -1, 7, -4, -3, -3, 0, 3, -2, -4, -4, -2, -6],
|
|
155
|
+
[-1, -3, -3, -3, -4, -2, -2, -3, -3, -4, -4, -2, -3, -4, 8, -2, -2, -5, -4, -3, -3, -2, -2, -6],
|
|
156
|
+
[1, -1, 0, -1, -2, -1, -1, -1, -2, -3, -3, -1, -2, -3, -2, 5, 1, -4, -3, -2, 0, -1, -1, -6],
|
|
157
|
+
[0, -2, 0, -2, -2, -1, -1, -3, -2, -1, -2, -1, -1, -3, -2, 1, 6, -4, -2, -1, -1, -1, -1, -6],
|
|
158
|
+
[-4, -4, -5, -6, -4, -3, -5, -4, -3, -4, -3, -5, -2, 0, -5, -4, -4, 11, 2, -3, -6, -4, -3, -6],
|
|
159
|
+
[-3, -3, -3, -4, -4, -3, -4, -5, 1, -2, -2, -3, -2, 3, -4, -3, -2, 2, 8, -3, -4, -3, -2, -6],
|
|
160
|
+
[-1, -3, -4, -5, -2, -3, -3, -5, -4, 3, 0, -3, 0, -2, -3, -2, -1, -3, -3, 5, -4, -3, -2, -6],
|
|
161
|
+
[-2, -2, 4, 4, -4, -1, 0, -2, -1, -5, -5, -1, -4, -4, -3, 0, -1, -6, -4, -4, 4, 0, -2, -6],
|
|
162
|
+
[-1, 0, -1, 0, -5, 4, 4, -3, 0, -4, -4, 1, -2, -4, -2, -1, -1, -4, -3, -3, 0, 4, -1, -6],
|
|
163
|
+
[-1, -2, -2, -2, -3, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -1, -3, -2, -2, -2, -1, -2, -6],
|
|
164
|
+
[-6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, 1]];
|
|
165
|
+
this.NUCLEOTIDES = [[1, -1, -1, -1],
|
|
166
|
+
[-1, 1, -1, -1],
|
|
167
|
+
[-1, -1, 1, -1],
|
|
168
|
+
[-1, -1, -1, 1]];
|
|
169
|
+
this.PAM30 = [[6, -7, -4, -3, -6, -4, -2, -2, -7, -5, -6, -7, -5, -8, -2, 0, -1, -13, -8, -2, -3, -3, -3, -17],
|
|
170
|
+
[-7, 8, -6, -10, -8, -2, -9, -9, -2, -5, -8, 0, -4, -9, -4, -3, -6, -2, -10, -8, -7, -4, -6, -17],
|
|
171
|
+
[-4, -6, 8, 2, -11, -3, -2, -3, 0, -5, -7, -1, -9, -9, -6, 0, -2, -8, -4, -8, 6, -3, -3, -17],
|
|
172
|
+
[-3, -10, 2, 8, -14, -2, 2, -3, -4, -7, -12, -4, -11, -15, -8, -4, -5, -15, -11, -8, 6, 1, -5, -17],
|
|
173
|
+
[-6, -8, -11, -14, 10, -14, -14, -9, -7, -6, -15, -14, -13, -13, -8, -3, -8, -15, -4, -6, -12, -14, -9, -17],
|
|
174
|
+
[-4, -2, -3, -2, -14, 8, 1, -7, 1, -8, -5, -3, -4, -13, -3, -5, -5, -13, -12, -7, -3, 6, -5, -17],
|
|
175
|
+
[-2, -9, -2, 2, -14, 1, 8, -4, -5, -5, -9, -4, -7, -14, -5, -4, -6, -17, -8, -6, 1, 6, -5, -17],
|
|
176
|
+
[-2, -9, -3, -3, -9, -7, -4, 6, -9, -11, -10, -7, -8, -9, -6, -2, -6, -15, -14, -5, -3, -5, -5, -17],
|
|
177
|
+
[-7, -2, 0, -4, -7, 1, -5, -9, 9, -9, -6, -6, -10, -6, -4, -6, -7, -7, -3, -6, -1, -1, -5, -17],
|
|
178
|
+
[-5, -5, -5, -7, -6, -8, -5, -11, -9, 8, -1, -6, -1, -2, -8, -7, -2, -14, -6, 2, -6, -6, -5, -17],
|
|
179
|
+
[-6, -8, -7, -12, -15, -5, -9, -10, -6, -1, 7, -8, 1, -3, -7, -8, -7, -6, -7, -2, -9, -7, -6, -17],
|
|
180
|
+
[-7, 0, -1, -4, -14, -3, -4, -7, -6, -6, -8, 7, -2, -14, -6, -4, -3, -12, -9, -9, -2, -4, -5, -17],
|
|
181
|
+
[-5, -4, -9, -11, -13, -4, -7, -8, -10, -1, 1, -2, 11, -4, -8, -5, -4, -13, -11, -1, -10, -5, -5, -17],
|
|
182
|
+
[-8, -9, -9, -15, -13, -13, -14, -9, -6, -2, -3, -14, -4, 9, -10, -6, -9, -4, 2, -8, -10, -13, -8, -17],
|
|
183
|
+
[-2, -4, -6, -8, -8, -3, -5, -6, -4, -8, -7, -6, -8, -10, 8, -2, -4, -14, -13, -6, -7, -4, -5, -17],
|
|
184
|
+
[0, -3, 0, -4, -3, -5, -4, -2, -6, -7, -8, -4, -5, -6, -2, 6, 0, -5, -7, -6, -1, -5, -3, -17],
|
|
185
|
+
[-1, -6, -2, -5, -8, -5, -6, -6, -7, -2, -7, -3, -4, -9, -4, 0, 7, -13, -6, -3, -3, -6, -4, -17],
|
|
186
|
+
[-13, -2, -8, -15, -15, -13, -17, -15, -7, -14, -6, -12, -13, -4, -14, -5, -13, 13, -5, -15, -10, -14, -11, -17],
|
|
187
|
+
[-8, -10, -4, -11, -4, -12, -8, -14, -3, -6, -7, -9, -11, 2, -13, -7, -6, -5, 10, -7, -6, -9, -7, -17],
|
|
188
|
+
[-2, -8, -8, -8, -6, -7, -6, -5, -6, 2, -2, -9, -1, -8, -6, -6, -3, -15, -7, 7, -8, -6, -5, -17],
|
|
189
|
+
[-3, -7, 6, 6, -12, -3, 1, -3, -1, -6, -9, -2, -10, -10, -7, -1, -3, -10, -6, -8, 6, 0, -5, -17],
|
|
190
|
+
[-3, -4, -3, 1, -14, 6, 6, -5, -1, -6, -7, -4, -5, -13, -4, -5, -6, -14, -9, -6, 0, 6, -5, -17],
|
|
191
|
+
[-3, -6, -3, -5, -9, -5, -5, -5, -5, -5, -6, -5, -5, -8, -5, -3, -4, -11, -7, -5, -5, -5, -5, -17],
|
|
192
|
+
[-17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 1]];
|
|
193
|
+
this.PAM70 = [[5, -4, -2, -1, -4, -2, -1, 0, -4, -2, -4, -4, -3, -6, 0, 1, 1, -9, -5, -1, -1, -1, -2, -11],
|
|
194
|
+
[-4, 8, -3, -6, -5, 0, -5, -6, 0, -3, -6, 2, -2, -7, -2, -1, -4, 0, -7, -5, -4, -2, -3, -11],
|
|
195
|
+
[-2, -3, 6, 3, -7, -1, 0, -1, 1, -3, -5, 0, -5, -6, -3, 1, 0, -6, -3, -5, 5, -1, -2, -11],
|
|
196
|
+
[-1, -6, 3, 6, -9, 0, 3, -1, -1, -5, -8, -2, -7, -10, -4, -1, -2, -10, -7, -5, 5, 2, -3, -11],
|
|
197
|
+
[-4, -5, -7, -9, 9, -9, -9, -6, -5, -4, -10, -9, -9, -8, -5, -1, -5, -11, -2, -4, -8, -9, -6, -11],
|
|
198
|
+
[-2, 0, -1, 0, -9, 7, 2, -4, 2, -5, -3, -1, -2, -9, -1, -3, -3, -8, -8, -4, -1, 5, -2, -11],
|
|
199
|
+
[-1, -5, 0, 3, -9, 2, 6, -2, -2, -4, -6, -2, -4, -9, -3, -2, -3, -11, -6, -4, 2, 5, -3, -11],
|
|
200
|
+
[0, -6, -1, -1, -6, -4, -2, 6, -6, -6, -7, -5, -6, -7, -3, 0, -3, -10, -9, -3, -1, -3, -3, -11],
|
|
201
|
+
[-4, 0, 1, -1, -5, 2, -2, -6, 8, -6, -4, -3, -6, -4, -2, -3, -4, -5, -1, -4, 0, 1, -3, -11],
|
|
202
|
+
[-2, -3, -3, -5, -4, -5, -4, -6, -6, 7, 1, -4, 1, 0, -5, -4, -1, -9, -4, 3, -4, -4, -3, -11],
|
|
203
|
+
[-4, -6, -5, -8, -10, -3, -6, -7, -4, 1, 6, -5, 2, -1, -5, -6, -4, -4, -4, 0, -6, -4, -4, -11],
|
|
204
|
+
[-4, 2, 0, -2, -9, -1, -2, -5, -3, -4, -5, 6, 0, -9, -4, -2, -1, -7, -7, -6, -1, -2, -3, -11],
|
|
205
|
+
[-3, -2, -5, -7, -9, -2, -4, -6, -6, 1, 2, 0, 10, -2, -5, -3, -2, -8, -7, 0, -6, -3, -3, -11],
|
|
206
|
+
[-6, -7, -6, -10, -8, -9, -9, -7, -4, 0, -1, -9, -2, 8, -7, -4, -6, -2, 4, -5, -7, -9, -5, -11],
|
|
207
|
+
[0, -2, -3, -4, -5, -1, -3, -3, -2, -5, -5, -4, -5, -7, 7, 0, -2, -9, -9, -3, -4, -2, -3, -11],
|
|
208
|
+
[1, -1, 1, -1, -1, -3, -2, 0, -3, -4, -6, -2, -3, -4, 0, 5, 2, -3, -5, -3, 0, -2, -1, -11],
|
|
209
|
+
[1, -4, 0, -2, -5, -3, -3, -3, -4, -1, -4, -1, -2, -6, -2, 2, 6, -8, -4, -1, -1, -3, -2, -11],
|
|
210
|
+
[-9, 0, -6, -10, -11, -8, -11, -10, -5, -9, -4, -7, -8, -2, -9, -3, -8, 13, -3, -10, -7, -10, -7, -11],
|
|
211
|
+
[-5, -7, -3, -7, -2, -8, -6, -9, -1, -4, -4, -7, -7, 4, -9, -5, -4, -3, 9, -5, -4, -7, -5, -11],
|
|
212
|
+
[-1, -5, -5, -5, -4, -4, -4, -3, -4, 3, 0, -6, 0, -5, -3, -3, -1, -10, -5, 6, -5, -4, -2, -11],
|
|
213
|
+
[-1, -4, 5, 5, -8, -1, 2, -1, 0, -4, -6, -1, -6, -7, -4, 0, -1, -7, -4, -5, 5, 1, -2, -11],
|
|
214
|
+
[-1, -2, -1, 2, -9, 5, 5, -3, 1, -4, -4, -2, -3, -9, -2, -2, -3, -10, -7, -4, 1, 5, -3, -11],
|
|
215
|
+
[-2, -3, -2, -3, -6, -2, -3, -3, -3, -3, -4, -3, -3, -5, -3, -1, -2, -7, -5, -2, -2, -3, -3, -11],
|
|
216
|
+
[-11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, 1]];
|
|
217
|
+
this.PAM250 = [[2, -2, 0, 0, -2, 0, 0, 1, -1, -1, -2, -1, -1, -3, 1, 1, 1, -6, -3, 0, 0, 0, 0, -8],
|
|
218
|
+
[-2, 6, 0, -1, -4, 1, -1, -3, 2, -2, -3, 3, 0, -4, 0, 0, -1, 2, -4, -2, -1, 0, -1, -8],
|
|
219
|
+
[0, 0, 2, 2, -4, 1, 1, 0, 2, -2, -3, 1, -2, -3, 0, 1, 0, -4, -2, -2, 2, 1, 0, -8],
|
|
220
|
+
[0, -1, 2, 4, -5, 2, 3, 1, 1, -2, -4, 0, -3, -6, -1, 0, 0, -7, -4, -2, 3, 3, -1, -8],
|
|
221
|
+
[-2, -4, -4, -5, 12, -5, -5, -3, -3, -2, -6, -5, -5, -4, -3, 0, -2, -8, 0, -2, -4, -5, -3, -8],
|
|
222
|
+
[0, 1, 1, 2, -5, 4, 2, -1, 3, -2, -2, 1, -1, -5, 0, -1, -1, -5, -4, -2, 1, 3, -1, -8],
|
|
223
|
+
[0, -1, 1, 3, -5, 2, 4, 0, 1, -2, -3, 0, -2, -5, -1, 0, 0, -7, -4, -2, 3, 3, -1, -8],
|
|
224
|
+
[1, -3, 0, 1, -3, -1, 0, 5, -2, -3, -4, -2, -3, -5, 0, 1, 0, -7, -5, -1, 0, 0, -1, -8],
|
|
225
|
+
[-1, 2, 2, 1, -3, 3, 1, -2, 6, -2, -2, 0, -2, -2, 0, -1, -1, -3, 0, -2, 1, 2, -1, -8],
|
|
226
|
+
[-1, -2, -2, -2, -2, -2, -2, -3, -2, 5, 2, -2, 2, 1, -2, -1, 0, -5, -1, 4, -2, -2, -1, -8],
|
|
227
|
+
[-2, -3, -3, -4, -6, -2, -3, -4, -2, 2, 6, -3, 4, 2, -3, -3, -2, -2, -1, 2, -3, -3, -1, -8],
|
|
228
|
+
[-1, 3, 1, 0, -5, 1, 0, -2, 0, -2, -3, 5, 0, -5, -1, 0, 0, -3, -4, -2, 1, 0, -1, -8],
|
|
229
|
+
[-1, 0, -2, -3, -5, -1, -2, -3, -2, 2, 4, 0, 6, 0, -2, -2, -1, -4, -2, 2, -2, -2, -1, -8],
|
|
230
|
+
[-3, -4, -3, -6, -4, -5, -5, -5, -2, 1, 2, -5, 0, 9, -5, -3, -3, 0, 7, -1, -4, -5, -2, -8],
|
|
231
|
+
[1, 0, 0, -1, -3, 0, -1, 0, 0, -2, -3, -1, -2, -5, 6, 1, 0, -6, -5, -1, -1, 0, -1, -8],
|
|
232
|
+
[1, 0, 1, 0, 0, -1, 0, 1, -1, -1, -3, 0, -2, -3, 1, 2, 1, -2, -3, -1, 0, 0, 0, -8],
|
|
233
|
+
[1, -1, 0, 0, -2, -1, 0, 0, -1, 0, -2, 0, -1, -3, 0, 1, 3, -5, -3, 0, 0, -1, 0, -8],
|
|
234
|
+
[-6, 2, -4, -7, -8, -5, -7, -7, -3, -5, -2, -3, -4, 0, -6, -2, -5, 17, 0, -6, -5, -6, -4, -8],
|
|
235
|
+
[-3, -4, -2, -4, 0, -4, -4, -5, 0, -1, -1, -4, -2, 7, -5, -3, -3, 0, 10, -2, -3, -4, -2, -8],
|
|
236
|
+
[0, -2, -2, -2, -2, -2, -2, -1, -2, 4, 2, -2, 2, -1, -1, -1, 0, -6, -2, 4, -2, -2, -1, -8],
|
|
237
|
+
[0, -1, 2, 3, -4, 1, 3, 0, 1, -2, -3, 1, -2, -4, -1, 0, 0, -5, -3, -2, 3, 2, -1, -8],
|
|
238
|
+
[0, 0, 1, 3, -5, 3, 3, 0, 2, -2, -3, 0, -2, -5, 0, 0, -1, -6, -4, -2, 2, 3, -1, -8],
|
|
239
|
+
[0, -1, 0, -1, -3, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, 0, 0, -4, -2, -1, -1, -1, -1, -8],
|
|
240
|
+
[-8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, 1]];
|
|
241
|
+
this.SCHNEIDER = [[11.6, -2.7, 9.7, -1.7, -2.7, -6.4, -3.9, -5.6, 5.1, -5.0, 3.6, -4.2, -6.3, -13.0, -7.1, -11.5, 0.4, -6.0, -1.9, -5.3, -8.5, -11.2, -8.9, -10.8, 2.1, 0.0, 1.4, 0.2, -10.2, -13.5, -13.0, -12.5, -2.6, -8.5, -5.0, -8.1, -6.3, -9.9, -7.5, -9.0, -7.1, -10.2, -8.2, -9.2, -8.2, -12.5, -11.1, -11.4, -50.0, -14.8, -50.0, -13.8, -7.3, -10.1, -8.4, -9.1, -50.0, -13.0, -13.5, -12.4, -10.7, -18.1, -11.8, -17.2,],
|
|
242
|
+
[-2.7, 13.0, -3.3, 10.9, -3.5, -0.4, -3.3, -1.8, -5.4, 4.6, -5.5, 3.0, -10.2, -7.9, -9.9, -9.6, -5.0, 0.5, -5.5, -1.0, -10.3, -8.1, -9.4, -9.6, -8.1, -5.0, -7.3, -6.3, -13.4, -11.3, -14.4, -12.9, -6.3, 0.8, -6.4, -1.1, -7.4, -5.0, -6.2, -6.5, -5.6, -1.6, -4.7, -3.0, -10.8, -8.7, -11.9, -10.0, -50.0, -6.2, -50.0, -7.5, -6.3, -4.3, -6.2, -5.4, -50.0, -7.0, -16.3, -8.2, -13.2, -12.3, -13.1, -13.3,],
|
|
243
|
+
[9.7, -3.3, 11.6, -2.8, -4.5, -6.7, -3.1, -6.9, 3.3, -5.5, 4.8, -5.1, -8.9, -13.2, -5.7, -12.6, -1.5, -6.1, -0.6, -6.1, -10.0, -11.8, -8.6, -11.9, 1.2, 0.5, 2.2, 0.1, -11.8, -14.0, -11.9, -13.4, -4.9, -9.1, -3.4, -8.9, -8.0, -10.0, -7.2, -10.0, -9.1, -10.2, -7.1, -9.9, -10.1, -13.0, -10.6, -12.7, -50.0, -14.9, -50.0, -14.4, -8.9, -10.8, -8.9, -10.4, -50.0, -13.1, -11.8, -13.0, -12.4, -19.4, -11.5, -17.8,],
|
|
244
|
+
[-1.7, 10.9, -2.8, 12.9, -2.7, -2.2, -2.8, 0.2, -4.8, 2.9, -5.2, 5.2, -9.1, -9.5, -9.0, -7.0, -4.0, -1.0, -5.0, 1.0, -9.0, -8.8, -8.9, -7.7, -7.0, -6.8, -7.1, -4.3, -12.4, -12.9, -13.9, -10.0, -4.9, -0.7, -5.6, 1.4, -6.0, -6.5, -6.2, -4.8, -5.1, -3.2, -5.0, -1.2, -9.8, -9.9, -11.3, -8.2, -50.0, -7.6, -50.0, -5.1, -5.5, -5.8, -5.9, -4.2, -50.0, -8.3, -15.5, -5.9, -11.6, -14.2, -12.0, -11.6,],
|
|
245
|
+
[-2.7, -3.5, -4.5, -2.7, 11.7, 9.0, 10.6, 9.6, -3.2, -0.7, -5.1, -0.4, 0.7, -4.6, -0.4, -3.6, -4.8, -8.9, -6.5, -7.8, -1.4, -4.1, -2.9, -3.3, -8.0, -9.1, -8.0, -8.2, -6.0, -9.3, -7.7, -8.5, -6.4, -10.1, -7.5, -8.6, 2.8, -0.7, 0.9, 0.1, -5.9, -7.3, -6.5, -6.5, -0.4, -3.9, -2.6, -3.1, -50.0, -14.6, -50.0, -12.6, 2.9, 0.1, 1.8, 1.0, -50.0, -9.2, -13.6, -7.7, -4.8, -12.2, -6.2, -11.0,],
|
|
246
|
+
[-6.4, -0.4, -6.7, -2.2, 9.0, 12.3, 9.8, 9.6, -7.1, 2.4, -7.2, 0.3, -2.9, -1.2, -3.0, -3.3, -7.6, -6.7, -8.1, -7.9, -4.9, -1.9, -4.5, -3.8, -9.5, -7.8, -9.3, -8.9, -9.4, -7.1, -9.0, -9.0, -9.4, -7.5, -9.3, -9.2, -0.7, 2.6, 0.2, -0.1, -8.0, -4.6, -7.7, -6.1, -3.6, -1.0, -4.1, -3.1, -50.0, -11.6, -50.0, -11.6, 0.2, 2.3, 0.4, 0.5, -50.0, -6.5, -15.3, -7.8, -8.4, -9.5, -8.3, -11.1,],
|
|
247
|
+
[-3.9, -3.3, -3.1, -2.8, 10.6, 9.8, 12.2, 9.8, -4.9, 0.1, -3.6, -0.2, -1.7, -4.1, 0.9, -3.5, -5.9, -8.9, -5.6, -8.5, -3.9, -3.9, -2.2, -4.5, -7.3, -7.5, -6.4, -8.5, -7.1, -8.2, -6.7, -7.8, -7.9, -9.1, -7.1, -9.4, 0.9, -0.2, 2.5, -0.3, -6.9, -6.5, -5.5, -6.8, -1.7, -3.4, -1.7, -2.8, -50.0, -13.0, -50.0, -11.5, 1.5, 0.7, 2.7, 0.6, -50.0, -8.9, -12.1, -7.4, -6.1, -11.5, -5.4, -10.4,],
|
|
248
|
+
[-5.6, -1.8, -6.9, 0.2, 9.6, 9.6, 9.8, 11.6, -6.6, 0.9, -7.2, 2.5, -2.3, -3.4, -2.3, -0.6, -6.5, -8.2, -8.0, -6.3, -3.7, -3.5, -3.9, -1.6, -9.9, -8.9, -9.6, -7.0, -8.6, -8.9, -8.8, -6.8, -8.6, -8.2, -8.8, -6.8, 0.3, 0.1, 0.2, 2.4, -7.4, -6.2, -6.9, -4.4, -2.9, -2.9, -3.5, -0.9, -50.0, -12.2, -50.0, -10.1, 1.2, 0.6, 1.2, 2.4, -50.0, -7.6, -16.1, -5.8, -7.2, -10.8, -7.4, -9.0,],
|
|
249
|
+
[5.1, -5.4, 3.3, -4.8, -3.2, -7.1, -4.9, -6.6, 13.3, -2.8, 11.2, -1.9, -5.7, -12.5, -7.2, -11.6, -0.7, -4.8, -3.1, -4.3, -10.0, -11.6, -8.8, -11.7, 10.5, 7.7, 9.1, 8.5, -9.8, -12.7, -11.7, -11.8, -6.3, -11.4, -8.8, -11.0, -7.5, -10.3, -8.3, -9.9, -1.9, -6.7, -4.1, -6.4, -7.9, -12.5, -11.4, -11.7, -50.0, -14.0, -50.0, -13.2, -8.5, -10.4, -9.1, -9.6, -50.0, -9.8, -7.7, -8.8, -10.3, -17.9, -11.8, -16.0,],
|
|
250
|
+
[-5.0, 4.6, -5.5, 2.9, -0.7, 2.4, 0.1, 0.9, -2.8, 12.8, -2.6, 11.0, -8.4, -6.3, -8.3, -7.7, -6.1, -2.9, -6.5, -4.2, -8.5, -5.9, -7.5, -7.7, -5.5, -2.4, -5.5, -4.1, -12.9, -10.3, -12.7, -11.3, -7.4, -3.1, -7.4, -4.9, -4.4, -1.8, -3.5, -3.5, -1.6, 3.0, -0.8, 0.9, -8.4, -6.3, -9.6, -7.3, -50.0, -9.0, -50.0, -9.7, -2.3, -0.2, -1.2, -1.5, -50.0, -0.7, -13.3, -2.0, -11.8, -11.9, -12.3, -12.7,],
|
|
251
|
+
[3.6, -5.5, 4.8, -5.2, -5.1, -7.2, -3.6, -7.2, 11.2, -2.6, 13.4, -2.1, -7.7, -12.5, -5.3, -11.9, -2.2, -4.4, -1.9, -4.8, -10.2, -11.5, -8.1, -12.0, 9.3, 8.2, 10.0, 8.0, -10.8, -11.9, -10.7, -12.4, -8.2, -11.8, -6.9, -11.5, -8.4, -9.9, -7.1, -10.6, -4.7, -6.8, -1.2, -7.0, -9.8, -11.6, -9.6, -12.1, -50.0, -14.1, -50.0, -12.7, -10.0, -10.8, -8.8, -10.5, -50.0, -9.2, -4.2, -9.3, -11.0, -18.2, -11.1, -16.1,],
|
|
252
|
+
[-4.2, 3.0, -5.1, 5.2, -0.4, 0.3, -0.2, 2.5, -1.9, 11.0, -2.1, 13.2, -7.6, -8.5, -8.0, -5.3, -5.6, -4.5, -6.8, -2.4, -7.8, -7.9, -7.9, -6.2, -5.7, -5.1, -5.4, -2.1, -12.4, -12.3, -13.1, -10.1, -6.6, -4.4, -6.9, -2.6, -3.6, -3.8, -3.7, -2.0, -1.4, 0.8, -0.9, 3.0, -8.2, -8.1, -9.2, -5.8, -50.0, -10.1, -50.0, -7.4, -1.7, -2.0, -1.5, -0.5, -50.0, -2.1, -12.6, -0.4, -11.6, -13.9, -11.4, -11.1,],
|
|
253
|
+
[-6.3, -10.2, -8.9, -9.1, 0.7, -2.9, -1.7, -2.3, -5.7, -8.4, -7.7, -7.6, 13.2, 9.6, 3.5, 9.7, -8.7, -12.4, -10.7, -10.7, -7.8, -10.2, -8.8, -9.6, -9.5, -11.9, -10.9, -10.5, 2.3, -0.4, -0.2, -0.3, -9.7, -15.5, -11.4, -13.7, -3.0, -6.4, -4.1, -5.4, -9.6, -11.9, -10.5, -11.8, 6.2, 3.3, 3.7, 3.6, -50.0, -13.6, -50.0, -11.9, -5.6, -8.8, -7.2, -8.9, -50.0, -12.4, -14.1, -11.6, 2.8, -6.4, 0.5, -5.2,],
|
|
254
|
+
[-13.0, -7.9, -13.2, -9.5, -4.6, -1.2, -4.1, -3.4, -12.5, -6.3, -12.5, -8.5, 9.6, 12.7, 0.2, 10.5, -12.4, -11.6, -13.2, -12.0, -12.4, -10.1, -11.6, -12.0, -15.1, -13.1, -14.3, -13.4, -1.4, 1.4, -1.6, -0.5, -14.9, -14.3, -15.2, -16.8, -7.7, -4.7, -6.3, -6.6, -14.6, -10.8, -12.8, -13.0, 2.3, 6.0, 2.5, 3.6, -50.0, -11.2, -50.0, -11.9, -10.5, -9.2, -10.5, -10.5, -50.0, -10.3, -16.2, -11.3, -1.7, -3.7, -2.5, -5.4,],
|
|
255
|
+
[-7.1, -9.9, -5.7, -9.0, -0.4, -3.0, 0.9, -2.3, -7.2, -8.3, -5.3, -8.0, 3.5, 0.2, 14.3, 1.0, -7.3, -11.2, -6.9, -9.7, -8.5, -10.2, -7.7, -9.8, -10.0, -10.4, -8.4, -10.2, 1.0, -0.6, 1.7, -0.5, -11.1, -14.8, -9.7, -14.5, -3.7, -5.8, -3.1, -5.6, -10.4, -11.5, -8.2, -11.1, 0.6, -1.6, 1.6, -1.1, -50.0, -12.4, -50.0, -11.5, -5.5, -8.0, -4.9, -7.2, -50.0, -12.4, -10.3, -11.6, 0.7, -6.8, 2.4, -6.0,],
|
|
256
|
+
[-11.5, -9.6, -12.6, -7.0, -3.6, -3.3, -3.5, -0.6, -11.6, -7.7, -11.9, -5.3, 9.7, 10.5, 1.0, 12.6, -12.0, -12.2, -12.5, -9.7, -11.1, -11.2, -11.9, -9.4, -12.9, -14.3, -14.0, -11.9, -1.0, -0.4, -1.6, 1.2, -13.9, -15.4, -13.7, -12.6, -6.2, -6.7, -6.3, -4.4, -13.0, -12.2, -13.0, -10.4, 2.9, 3.8, 2.5, 5.8, -50.0, -12.5, -50.0, -10.2, -9.6, -9.7, -9.6, -8.3, -50.0, -11.6, -15.4, -9.4, -1.1, -5.4, -1.6, -3.3,],
|
|
257
|
+
[0.4, -5.0, -1.5, -4.0, -4.8, -7.6, -5.9, -6.5, -0.7, -6.1, -2.2, -5.6, -8.7, -12.4, -7.3, -12.0, 12.8, 2.3, 10.2, 3.0, 0.0, -3.4, -0.7, -3.2, 2.5, -0.8, 0.9, 0.2, -3.0, -7.2, -5.7, -6.1, -0.2, -6.6, -1.8, -6.0, -5.3, -8.2, -5.7, -7.6, -6.7, -9.6, -7.5, -9.3, -7.1, -10.5, -9.6, -9.4, -50.0, -8.1, -50.0, -7.2, -4.3, -6.8, -5.7, -6.3, -50.0, -9.5, -9.6, -8.9, -6.2, -12.8, -6.8, -11.8,],
|
|
258
|
+
[-6.0, 0.5, -6.1, -1.0, -8.9, -6.7, -8.9, -8.2, -4.8, -2.9, -4.4, -4.5, -12.4, -11.6, -11.2, -12.2, 2.3, 14.6, 1.9, 12.9, -5.5, -2.6, -4.1, -4.7, -1.2, 3.0, -1.1, 1.6, -8.0, -4.7, -8.7, -6.0, -8.2, -4.7, -7.8, -6.7, -10.0, -8.3, -8.9, -9.9, -10.8, -7.1, -10.0, -9.2, -11.6, -10.1, -12.3, -11.9, -50.0, 2.2, -50.0, 0.9, -7.9, -5.9, -7.4, -6.9, -50.0, -4.6, -11.6, -5.6, -9.7, -5.9, -9.9, -7.3,],
|
|
259
|
+
[-1.9, -5.5, -0.6, -5.0, -6.5, -8.1, -5.6, -8.0, -3.1, -6.5, -1.9, -6.8, -10.7, -13.2, -6.9, -12.5, 10.2, 1.9, 11.9, 2.1, -2.3, -4.1, -0.5, -4.6, -0.1, -0.9, 2.4, -0.8, -5.1, -6.9, -4.8, -6.7, -2.3, -7.1, -0.8, -7.2, -7.2, -8.0, -5.6, -8.5, -9.4, -9.7, -7.2, -9.8, -9.2, -11.1, -9.5, -10.7, -50.0, -8.7, -50.0, -8.6, -6.1, -7.5, -5.5, -7.7, -50.0, -10.4, -7.7, -10.0, -7.3, -13.6, -6.4, -13.3,],
|
|
260
|
+
[-5.3, -1.0, -6.1, 1.0, -7.8, -7.9, -8.5, -6.3, -4.3, -4.2, -4.8, -2.4, -10.7, -12.0, -9.7, -9.7, 3.0, 12.9, 2.1, 14.7, -4.9, -3.8, -4.0, -2.4, -1.0, 0.8, -1.3, 3.4, -7.6, -5.7, -8.1, -3.5, -6.8, -5.8, -7.2, -4.2, -8.9, -10.2, -8.4, -8.2, -9.9, -8.4, -9.7, -6.4, -11.1, -11.1, -11.8, -10.0, -50.0, 0.4, -50.0, 2.6, -7.2, -7.0, -7.4, -5.1, -50.0, -5.7, -9.8, -3.2, -8.4, -7.4, -8.9, -5.9,],
|
|
261
|
+
[-8.5, -10.3, -10.0, -9.0, -1.4, -4.9, -3.9, -3.7, -10.0, -8.5, -10.2, -7.8, -7.8, -12.4, -8.5, -11.1, 0.0, -5.5, -2.3, -4.9, 12.6, 10.0, 11.1, 10.5, -6.0, -8.3, -6.9, -7.5, -2.2, -7.4, -5.3, -5.9, -8.9, -12.5, -9.4, -11.6, -0.7, -3.9, -2.3, -3.0, -9.1, -9.8, -9.2, -9.5, -5.6, -9.0, -8.0, -8.5, -50.0, -15.3, -50.0, -14.1, 2.3, -1.4, 0.3, -0.5, -50.0, -13.6, -14.3, -11.5, -5.3, -13.7, -6.1, -12.7,],
|
|
262
|
+
[-11.2, -8.1, -11.8, -8.8, -4.1, -1.9, -3.9, -3.5, -11.6, -5.9, -11.5, -7.9, -10.2, -10.1, -10.2, -11.2, -3.4, -2.6, -4.1, -3.8, 10.0, 13.1, 10.7, 10.6, -8.1, -5.2, -8.0, -6.7, -6.1, -3.7, -7.5, -5.6, -11.1, -10.3, -10.6, -11.9, -3.2, -1.0, -2.2, -2.8, -10.5, -8.1, -9.4, -9.5, -8.3, -6.9, -9.4, -8.8, -50.0, -11.3, -50.0, -12.8, -0.6, 2.2, -0.3, 0.1, -50.0, -10.1, -17.5, -11.1, -8.6, -9.9, -8.6, -11.9,],
|
|
263
|
+
[-8.9, -9.4, -8.6, -8.9, -2.9, -4.5, -2.2, -3.9, -8.8, -7.5, -8.1, -7.9, -8.8, -11.6, -7.7, -11.9, -0.7, -4.1, -0.5, -4.0, 11.1, 10.7, 13.2, 10.4, -5.7, -5.8, -3.5, -6.1, -3.6, -6.5, -3.3, -5.5, -9.4, -11.0, -8.7, -11.2, -1.8, -2.7, 0.7, -3.0, -9.1, -8.2, -7.3, -9.4, -7.2, -8.2, -7.2, -8.2, -50.0, -13.2, -50.0, -13.3, 0.5, -0.9, 1.8, -0.6, -50.0, -11.4, -11.1, -10.5, -6.1, -12.9, -5.0, -11.9,],
|
|
264
|
+
[-10.8, -9.6, -11.9, -7.7, -3.3, -3.8, -4.5, -1.6, -11.7, -7.7, -12.0, -6.2, -9.6, -12.0, -9.8, -9.4, -3.2, -4.7, -4.6, -2.4, 10.5, 10.6, 10.4, 12.6, -8.2, -7.9, -9.0, -4.7, -6.1, -6.0, -7.5, -2.9, -10.9, -12.2, -11.2, -10.9, -2.4, -2.9, -2.7, -0.9, -10.4, -9.7, -10.2, -8.0, -8.4, -9.1, -9.3, -6.5, -50.0, -13.3, -50.0, -11.0, -0.0, -0.4, -0.4, 2.3, -50.0, -10.9, -17.2, -8.3, -8.3, -12.7, -7.8, -9.3,],
|
|
265
|
+
[2.1, -8.1, 1.2, -7.0, -8.0, -9.5, -7.3, -9.9, 10.5, -5.5, 9.3, -5.7, -9.5, -15.1, -10.0, -12.9, 2.5, -1.2, -0.1, -1.0, -6.0, -8.1, -5.7, -8.2, 13.8, 11.3, 11.8, 12.1, -6.0, -9.1, -9.0, -9.5, -8.9, -13.4, -10.0, -13.1, -9.9, -11.7, -9.8, -12.8, -5.9, -9.4, -6.5, -8.1, -10.7, -14.0, -13.3, -13.9, -50.0, -11.9, -50.0, -9.7, -8.9, -10.8, -9.0, -11.1, -50.0, -6.5, -5.3, -6.3, -10.5, -16.2, -10.4, -15.2,],
|
|
266
|
+
[0.0, -5.0, 0.5, -6.8, -9.1, -7.8, -7.5, -8.9, 7.7, -2.4, 8.2, -5.1, -11.9, -13.1, -10.4, -14.3, -0.8, 3.0, -0.9, 0.8, -8.3, -5.2, -5.8, -7.9, 11.3, 15.0, 11.2, 12.8, -9.7, -5.3, -9.2, -7.8, -11.7, -10.6, -10.1, -12.2, -11.7, -8.8, -8.9, -11.8, -9.3, -5.0, -8.0, -8.2, -13.6, -11.4, -12.8, -13.0, -50.0, -7.2, -50.0, -8.4, -11.0, -7.7, -8.7, -10.2, -50.0, -1.5, -7.1, -4.9, -11.2, -11.6, -11.6, -15.0,],
|
|
267
|
+
[1.4, -7.3, 2.2, -7.1, -8.0, -9.3, -6.4, -9.6, 9.1, -5.5, 10.0, -5.4, -10.9, -14.3, -8.4, -14.0, 0.9, -1.1, 2.4, -1.3, -6.9, -8.0, -3.5, -9.0, 11.8, 11.2, 13.4, 11.4, -7.3, -8.8, -6.5, -8.5, -10.0, -12.5, -7.8, -12.5, -9.6, -11.0, -7.1, -10.7, -7.9, -8.0, -4.3, -9.4, -11.4, -12.3, -10.9, -12.9, -50.0, -11.8, -50.0, -11.2, -9.4, -9.8, -7.3, -10.5, -50.0, -6.2, -2.2, -6.7, -9.8, -15.2, -8.5, -14.9,],
|
|
268
|
+
[0.2, -6.3, 0.1, -4.3, -8.2, -8.9, -8.5, -7.0, 8.5, -4.1, 8.0, -2.1, -10.5, -13.4, -10.2, -11.9, 0.2, 1.6, -0.8, 3.4, -7.5, -6.7, -6.1, -4.7, 12.1, 12.8, 11.4, 14.7, -8.7, -7.4, -9.4, -5.3, -9.9, -11.8, -10.5, -10.3, -9.9, -10.1, -9.3, -9.3, -8.1, -7.2, -8.0, -5.2, -12.0, -12.1, -12.6, -10.9, -50.0, -7.9, -50.0, -5.3, -9.3, -8.8, -8.9, -7.0, -50.0, -3.6, -7.1, -1.2, -10.2, -12.7, -9.9, -11.0,],
|
|
269
|
+
[-10.2, -13.4, -11.8, -12.4, -6.0, -9.4, -7.1, -8.6, -9.8, -12.9, -10.8, -12.4, 2.3, -1.4, 1.0, -1.0, -3.0, -8.0, -5.1, -7.6, -2.2, -6.1, -3.6, -6.1, -6.0, -9.7, -7.3, -8.7, 11.2, 7.9, 8.9, 8.1, -12.1, -17.4, -13.2, -16.8, -6.3, -9.5, -7.5, -8.8, -12.7, -15.2, -13.1, -14.2, 0.0, -3.1, -1.8, -3.1, -50.0, -10.7, -50.0, -9.3, -4.6, -8.9, -5.9, -8.3, -50.0, -12.8, -9.6, -10.6, 9.5, -3.2, 8.2, -2.8,],
|
|
270
|
+
[-13.5, -11.3, -14.0, -12.9, -9.3, -7.1, -8.2, -8.9, -12.7, -10.3, -11.9, -12.3, -0.4, 1.4, -0.6, -0.4, -7.2, -4.7, -6.9, -5.7, -7.4, -3.7, -6.5, -6.0, -9.1, -5.3, -8.8, -7.4, 7.9, 11.9, 7.8, 9.3, -15.2, -15.1, -14.6, -17.2, -9.7, -7.3, -8.2, -9.2, -15.0, -12.8, -14.1, -14.9, -2.8, 0.2, -2.9, -2.3, -50.0, -7.4, -50.0, -8.7, -9.4, -7.3, -9.4, -9.4, -50.0, -8.0, -11.9, -9.7, 6.5, 0.5, 6.4, -1.8,],
|
|
271
|
+
[-13.0, -14.4, -11.9, -13.9, -7.7, -9.0, -6.7, -8.8, -11.7, -12.7, -10.7, -13.1, -0.2, -1.6, 1.7, -1.6, -5.7, -8.7, -4.8, -8.1, -5.3, -7.5, -3.3, -7.5, -9.0, -9.2, -6.5, -9.4, 8.9, 7.8, 10.1, 7.8, -14.3, -17.7, -13.0, -17.8, -8.0, -9.4, -6.2, -9.2, -15.1, -14.9, -12.2, -14.9, -1.8, -3.2, -0.8, -3.2, -50.0, -10.8, -50.0, -9.9, -7.3, -9.6, -6.4, -9.4, -50.0, -12.3, -8.7, -11.3, 7.6, -3.3, 8.7, -2.9,],
|
|
272
|
+
[-12.5, -12.9, -13.4, -10.0, -8.5, -9.0, -7.8, -6.8, -11.8, -11.3, -12.4, -10.1, -0.3, -0.5, -0.5, 1.2, -6.1, -6.0, -6.7, -3.5, -5.9, -5.6, -5.5, -2.9, -9.5, -7.8, -8.5, -5.3, 8.1, 9.3, 7.8, 11.8, -14.4, -15.7, -14.5, -14.6, -8.4, -8.7, -7.9, -7.1, -14.3, -13.8, -13.8, -12.3, -2.4, -2.2, -2.9, -0.2, -50.0, -8.9, -50.0, -7.1, -8.1, -9.1, -8.7, -6.6, -50.0, -9.7, -11.4, -8.0, 6.8, -1.8, 6.9, 0.4,],
|
|
273
|
+
[-2.6, -6.3, -4.9, -4.9, -6.4, -9.4, -7.9, -8.6, -6.3, -7.4, -8.2, -6.6, -9.7, -14.9, -11.1, -13.9, -0.2, -8.2, -2.3, -6.8, -8.9, -11.1, -9.4, -10.9, -8.9, -11.7, -10.0, -9.9, -12.1, -15.2, -14.3, -14.4, 11.1, 2.9, 9.2, 3.5, -3.0, -7.0, -4.3, -6.2, -2.2, -6.6, -3.7, -5.7, -6.0, -10.4, -8.6, -9.5, -50.0, -15.5, -50.0, -13.9, -7.8, -10.5, -8.7, -9.6, -50.0, -16.5, -17.1, -14.8, -12.1, -18.9, -12.4, -17.4,],
|
|
274
|
+
[-8.5, 0.8, -9.1, -0.7, -10.1, -7.5, -9.1, -8.2, -11.4, -3.1, -11.8, -4.4, -15.5, -14.3, -14.8, -15.4, -6.6, -4.7, -7.1, -5.8, -12.5, -10.3, -11.0, -12.2, -13.4, -10.6, -12.5, -11.8, -17.4, -15.1, -17.7, -15.7, 2.9, 12.5, 3.1, 10.3, -7.7, -5.2, -6.2, -7.3, -5.4, -1.7, -5.4, -3.7, -11.6, -9.1, -13.0, -10.8, -50.0, -10.3, -50.0, -11.2, -9.8, -8.3, -9.1, -9.7, -50.0, -12.7, -20.6, -13.1, -16.0, -16.6, -17.0, -18.4,],
|
|
275
|
+
[-5.0, -6.4, -3.4, -5.6, -7.5, -9.3, -7.1, -8.8, -8.8, -7.4, -6.9, -6.9, -11.4, -15.2, -9.7, -13.7, -1.8, -7.8, -0.8, -7.2, -9.4, -10.6, -8.7, -11.2, -10.0, -10.1, -7.8, -10.5, -13.2, -14.6, -13.0, -14.5, 9.2, 3.1, 10.8, 3.0, -4.5, -6.7, -2.7, -6.7, -5.0, -6.8, -2.5, -6.7, -7.5, -10.4, -7.4, -10.2, -50.0, -15.5, -50.0, -14.2, -8.9, -10.2, -8.5, -10.0, -50.0, -15.6, -15.3, -15.5, -13.0, -18.8, -12.6, -18.3,],
|
|
276
|
+
[-8.1, -1.1, -8.9, 1.4, -8.6, -9.2, -9.4, -6.8, -11.0, -4.9, -11.5, -2.6, -13.7, -16.8, -14.5, -12.6, -6.0, -6.7, -7.2, -4.2, -11.6, -11.9, -11.2, -10.9, -13.1, -12.2, -12.5, -10.3, -16.8, -17.2, -17.8, -14.6, 3.5, 10.3, 3.0, 12.4, -6.9, -7.5, -6.8, -4.9, -5.4, -4.2, -5.4, -1.3, -10.8, -11.5, -12.4, -8.2, -50.0, -12.5, -50.0, -8.9, -9.2, -10.0, -9.4, -7.9, -50.0, -14.3, -19.9, -11.4, -16.2, -19.2, -15.8, -15.9,],
|
|
277
|
+
[-6.3, -7.4, -8.0, -6.0, 2.8, -0.7, 0.9, 0.3, -7.5, -4.4, -8.4, -3.6, -3.0, -7.7, -3.7, -6.2, -5.3, -10.0, -7.2, -8.9, -0.7, -3.2, -1.8, -2.4, -9.9, -11.7, -9.6, -9.9, -6.3, -9.7, -8.0, -8.4, -3.0, -7.7, -4.5, -6.9, 11.3, 8.2, 9.4, 9.1, -1.0, -3.3, -1.8, -2.4, 1.5, -2.1, -0.4, -1.1, -50.0, -14.5, -50.0, -12.9, 2.8, -0.0, 1.4, 0.7, -50.0, -8.7, -14.1, -7.5, -5.2, -12.5, -6.5, -10.7,],
|
|
278
|
+
[-9.9, -5.0, -10.0, -6.5, -0.7, 2.6, -0.2, 0.1, -10.3, -1.8, -9.9, -3.8, -6.4, -4.7, -5.8, -6.7, -8.2, -8.3, -8.0, -10.2, -3.9, -1.0, -2.7, -2.9, -11.7, -8.8, -11.0, -10.1, -9.5, -7.3, -9.4, -8.7, -7.0, -5.2, -6.7, -7.5, 8.2, 11.6, 8.8, 9.1, -3.7, -0.9, -3.1, -3.0, -2.0, 1.2, -2.3, -1.3, -50.0, -12.1, -50.0, -12.6, 0.1, 2.5, 0.7, 0.6, -50.0, -6.0, -14.8, -7.5, -8.6, -9.4, -8.5, -11.2,],
|
|
279
|
+
[-7.5, -6.2, -7.2, -6.2, 0.9, 0.2, 2.5, 0.2, -8.3, -3.5, -7.1, -3.7, -4.1, -6.3, -3.1, -6.3, -5.7, -8.9, -5.6, -8.4, -2.3, -2.2, 0.7, -2.7, -9.8, -8.9, -7.1, -9.3, -7.5, -8.2, -6.2, -7.9, -4.3, -6.2, -2.7, -6.8, 9.4, 8.8, 12.1, 8.8, -2.1, -2.0, 0.1, -2.4, 0.0, -1.1, 1.3, -0.8, -50.0, -11.9, -50.0, -12.6, 1.2, 0.7, 3.5, 0.8, -50.0, -7.1, -12.4, -7.1, -7.1, -10.6, -5.0, -10.6,],
|
|
280
|
+
[-9.0, -6.5, -10.0, -4.8, 0.1, -0.1, -0.3, 2.4, -9.9, -3.5, -10.6, -2.0, -5.4, -6.6, -5.6, -4.4, -7.6, -9.9, -8.5, -8.2, -3.0, -2.8, -3.0, -0.9, -12.8, -11.8, -10.7, -9.3, -8.8, -9.2, -9.2, -7.1, -6.2, -7.3, -6.7, -4.9, 9.1, 9.1, 8.8, 11.2, -3.1, -3.0, -3.3, -1.0, -1.1, -1.4, -2.0, 1.2, -50.0, -12.8, -50.0, -10.9, 0.8, 0.5, 0.7, 2.3, -50.0, -7.5, -16.5, -5.9, -7.8, -11.1, -7.8, -9.0,],
|
|
281
|
+
[-7.1, -5.6, -9.1, -5.1, -5.9, -8.0, -6.9, -7.4, -1.9, -1.6, -4.7, -1.4, -9.6, -14.6, -10.4, -13.0, -6.7, -10.8, -9.4, -9.9, -9.1, -10.5, -9.1, -10.4, -5.9, -9.3, -7.9, -8.1, -12.7, -15.0, -15.1, -14.3, -2.2, -5.4, -5.0, -5.4, -1.0, -3.7, -2.1, -3.1, 12.8, 9.6, 11.1, 10.1, -4.8, -9.4, -8.1, -8.6, -50.0, -18.3, -50.0, -15.4, -5.9, -7.5, -6.6, -7.1, -50.0, -9.5, -11.7, -8.4, -12.5, -17.3, -13.2, -15.4,],
|
|
282
|
+
[-10.2, -1.6, -10.2, -3.2, -7.3, -4.6, -6.5, -6.2, -6.7, 3.0, -6.8, 0.8, -11.9, -10.8, -11.5, -12.2, -9.6, -7.1, -9.7, -8.4, -9.8, -8.1, -8.2, -9.7, -9.4, -5.0, -8.0, -7.2, -15.2, -12.8, -14.9, -13.8, -6.6, -1.7, -6.8, -4.2, -3.3, -0.9, -2.0, -3.0, 9.6, 12.8, 9.7, 10.5, -8.5, -5.6, -9.3, -7.8, -50.0, -12.7, -50.0, -13.8, -6.8, -5.1, -5.3, -6.5, -50.0, -4.1, -12.8, -5.8, -14.4, -14.1, -13.6, -14.8,],
|
|
283
|
+
[-8.2, -4.7, -7.1, -5.0, -6.5, -7.7, -5.5, -6.9, -4.1, -0.8, -1.2, -0.9, -10.5, -12.8, -8.2, -13.0, -7.5, -10.0, -7.2, -9.7, -9.2, -9.4, -7.3, -10.2, -6.5, -8.0, -4.3, -8.0, -13.1, -14.1, -12.2, -13.8, -3.7, -5.4, -2.5, -5.4, -1.8, -3.1, 0.1, -3.3, 11.1, 9.7, 12.9, 9.8, -5.5, -8.1, -5.4, -7.8, -50.0, -16.4, -50.0, -14.8, -5.9, -7.1, -4.7, -7.2, -50.0, -8.4, -6.4, -8.1, -12.1, -16.2, -10.3, -15.8,],
|
|
284
|
+
[-9.2, -3.0, -9.9, -1.2, -6.5, -6.1, -6.8, -4.4, -6.4, 0.9, -7.0, 3.0, -11.8, -13.0, -11.1, -10.4, -9.3, -9.2, -9.8, -6.4, -9.5, -9.5, -9.4, -8.0, -8.1, -8.2, -9.4, -5.2, -14.2, -14.9, -14.9, -12.3, -5.7, -3.7, -6.7, -1.3, -2.4, -3.0, -2.4, -1.0, 10.1, 10.5, 9.8, 13.1, -7.2, -8.0, -8.4, -5.0, -50.0, -14.7, -50.0, -11.4, -6.3, -6.7, -5.8, -5.0, -50.0, -6.1, -13.4, -3.6, -13.0, -16.0, -13.7, -13.3,],
|
|
285
|
+
[-8.2, -10.8, -10.1, -9.8, -0.4, -3.6, -1.7, -2.9, -7.9, -8.4, -9.8, -8.2, 6.2, 2.3, 0.6, 2.9, -7.1, -11.6, -9.2, -11.1, -5.6, -8.3, -7.2, -8.4, -10.7, -13.6, -11.4, -12.0, 0.0, -2.8, -1.8, -2.4, -6.0, -11.6, -7.5, -10.8, 1.5, -2.0, 0.0, -1.1, -4.8, -8.5, -5.5, -7.2, 11.9, 8.6, 10.0, 9.0, -50.0, -14.2, -50.0, -12.8, -4.1, -7.4, -5.7, -6.5, -50.0, -11.0, -14.3, -9.9, 1.4, -7.9, -0.7, -6.8,],
|
|
286
|
+
[-12.5, -8.7, -13.0, -9.9, -3.9, -1.0, -3.4, -2.9, -12.5, -6.3, -11.6, -8.1, 3.3, 6.0, -1.6, 3.8, -10.5, -10.1, -11.1, -11.1, -9.0, -6.9, -8.2, -9.1, -14.0, -11.4, -12.3, -12.1, -3.1, 0.2, -3.2, -2.2, -10.4, -9.1, -10.4, -11.5, -2.1, 1.2, -1.1, -1.4, -9.4, -5.6, -8.1, -8.0, 8.6, 12.4, 8.6, 9.5, -50.0, -10.4, -50.0, -11.6, -7.2, -5.7, -7.5, -7.4, -50.0, -8.6, -15.7, -9.7, -3.0, -3.7, -3.2, -5.9,],
|
|
287
|
+
[-11.1, -11.9, -10.6, -11.3, -2.6, -4.1, -1.7, -3.5, -11.4, -9.6, -9.6, -9.2, 3.7, 2.5, 1.6, 2.5, -9.6, -12.3, -9.5, -11.8, -8.0, -9.4, -7.2, -9.3, -13.3, -12.8, -10.9, -12.6, -1.8, -2.9, -0.8, -2.9, -8.6, -13.0, -7.4, -12.4, -0.4, -2.3, 1.3, -2.0, -8.1, -9.3, -5.4, -8.4, 10.0, 8.6, 11.4, 8.9, -50.0, -13.7, -50.0, -13.2, -6.1, -8.1, -5.5, -7.5, -50.0, -11.3, -12.7, -10.1, -1.6, -7.8, -0.3, -7.2,],
|
|
288
|
+
[-11.4, -10.0, -12.7, -8.2, -3.1, -3.1, -2.8, -0.9, -11.7, -7.3, -12.1, -5.8, 3.6, 3.6, -1.1, 5.8, -9.4, -11.9, -10.7, -10.0, -8.5, -8.8, -8.2, -6.5, -13.9, -13.0, -12.9, -10.9, -3.1, -2.3, -3.2, -0.2, -9.5, -10.8, -10.2, -8.2, -1.1, -1.3, -0.8, 1.2, -8.6, -7.8, -7.8, -5.0, 9.0, 9.5, 8.9, 12.0, -50.0, -13.0, -50.0, -10.3, -6.2, -7.0, -7.1, -5.4, -50.0, -9.3, -14.0, -8.2, -2.4, -6.3, -2.4, -3.9,],
|
|
289
|
+
[-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 33.3, -50.0, 30.6, -50.0, -50.0, -50.0, -50.0, -50.0, 29.2, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0,],
|
|
290
|
+
[-14.8, -6.2, -14.9, -7.6, -14.6, -11.6, -13.0, -12.2, -14.0, -9.0, -14.1, -10.1, -13.6, -11.2, -12.4, -12.5, -8.1, 2.2, -8.7, 0.4, -15.3, -11.3, -13.2, -13.3, -11.9, -7.2, -11.8, -7.9, -10.7, -7.4, -10.8, -8.9, -15.5, -10.3, -15.5, -12.5, -14.5, -12.1, -11.9, -12.8, -18.3, -12.7, -16.4, -14.7, -14.2, -10.4, -13.7, -13.0, -50.0, 15.1, -50.0, 13.3, -9.9, -5.8, -8.9, -7.6, -50.0, -1.5, -7.8, -3.0, -8.1, 3.6, -9.4, 2.0,],
|
|
291
|
+
[-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 30.6, -50.0, 35.2, -50.0, -50.0, -50.0, -50.0, -50.0, 28.5, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0,],
|
|
292
|
+
[-13.8, -7.5, -14.4, -5.1, -12.6, -11.6, -11.5, -10.1, -13.2, -9.7, -12.7, -7.4, -11.9, -11.9, -11.5, -10.2, -7.2, 0.9, -8.6, 2.6, -14.1, -12.8, -13.3, -11.0, -9.7, -8.4, -11.2, -5.3, -9.3, -8.7, -9.9, -7.1, -13.9, -11.2, -14.2, -8.9, -12.9, -12.6, -12.6, -10.9, -15.4, -13.8, -14.8, -11.4, -12.8, -11.6, -13.2, -10.3, -50.0, 13.3, -50.0, 15.2, -8.6, -7.0, -8.4, -4.8, -50.0, -3.0, -7.1, -0.1, -7.3, 2.3, -8.7, 3.9,],
|
|
293
|
+
[-7.3, -6.3, -8.9, -5.5, 2.9, 0.2, 1.5, 1.2, -8.5, -2.3, -10.0, -1.7, -5.6, -10.5, -5.5, -9.6, -4.3, -7.9, -6.1, -7.2, 2.3, -0.6, 0.5, -0.0, -8.9, -11.0, -9.4, -9.3, -4.6, -9.4, -7.3, -8.1, -7.8, -9.8, -8.9, -9.2, 2.8, 0.1, 1.2, 0.8, -5.9, -6.8, -5.9, -6.3, -4.1, -7.2, -6.1, -6.2, -50.0, -9.9, -50.0, -8.6, 12.5, 9.4, 11.0, 9.8, -50.0, -4.8, -8.7, -3.5, -0.0, -8.6, -2.1, -7.0,],
|
|
294
|
+
[-10.1, -4.3, -10.8, -5.8, 0.1, 2.3, 0.7, 0.6, -10.4, -0.2, -10.8, -2.0, -8.8, -9.2, -8.0, -9.7, -6.8, -5.9, -7.5, -7.0, -1.4, 2.2, -0.9, -0.4, -10.8, -7.7, -9.8, -8.8, -8.9, -7.3, -9.6, -9.1, -10.5, -8.3, -10.2, -10.0, -0.0, 2.5, 0.7, 0.5, -7.5, -5.1, -7.1, -6.7, -7.4, -5.7, -8.1, -7.0, -50.0, -5.8, -50.0, -7.0, 9.4, 12.7, 10.1, 10.0, -50.0, -1.5, -11.3, -3.3, -5.4, -4.2, -5.6, -6.8,],
|
|
295
|
+
[-8.4, -6.2, -8.9, -5.9, 1.8, 0.4, 2.7, 1.2, -9.1, -1.2, -8.8, -1.5, -7.2, -10.5, -4.9, -9.6, -5.7, -7.4, -5.5, -7.4, 0.3, -0.3, 1.8, -0.4, -9.0, -8.7, -7.3, -8.9, -5.9, -9.4, -6.4, -8.7, -8.7, -9.1, -8.5, -9.4, 1.4, 0.7, 3.5, 0.7, -6.6, -5.3, -4.7, -5.8, -5.7, -7.5, -5.5, -7.1, -50.0, -8.9, -50.0, -8.4, 11.0, 10.1, 13.2, 10.2, -50.0, -4.2, -6.1, -3.6, -3.5, -8.4, -1.2, -6.8,],
|
|
296
|
+
[-9.1, -5.4, -10.4, -4.2, 1.0, 0.5, 0.6, 2.4, -9.6, -1.5, -10.5, -0.5, -8.9, -10.5, -7.2, -8.3, -6.3, -6.9, -7.7, -5.1, -0.5, 0.1, -0.6, 2.3, -11.1, -10.2, -10.5, -7.0, -8.3, -9.4, -9.4, -6.6, -9.6, -9.7, -10.0, -7.9, 0.7, 0.6, 0.8, 2.3, -7.1, -6.5, -7.2, -5.0, -6.5, -7.4, -7.5, -5.4, -50.0, -7.6, -50.0, -4.8, 9.8, 10.0, 10.2, 12.1, -50.0, -3.1, -11.4, -0.7, -4.6, -6.6, -4.9, -3.9,],
|
|
297
|
+
[-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 29.2, -50.0, 28.5, -50.0, -50.0, -50.0, -50.0, -50.0, 33.3, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0,],
|
|
298
|
+
[-13.0, -7.0, -13.1, -8.3, -9.2, -6.5, -8.9, -7.6, -9.8, -0.7, -9.2, -2.1, -12.4, -10.3, -12.4, -11.6, -9.5, -4.6, -10.4, -5.7, -13.6, -10.1, -11.4, -10.9, -6.5, -1.5, -6.2, -3.6, -12.8, -8.0, -12.3, -9.7, -16.5, -12.7, -15.6, -14.3, -8.7, -6.0, -7.1, -7.5, -9.5, -4.1, -8.4, -6.1, -11.0, -8.6, -11.3, -9.3, -50.0, -1.5, -50.0, -3.0, -4.8, -1.5, -4.2, -3.1, -50.0, 16.4, -5.1, 14.2, -10.1, -4.3, -10.0, -5.4,],
|
|
299
|
+
[-13.5, -16.3, -11.8, -15.5, -13.6, -15.3, -12.1, -16.1, -7.7, -13.3, -4.2, -12.6, -14.1, -16.2, -10.3, -15.4, -9.6, -11.6, -7.7, -9.8, -14.3, -17.5, -11.1, -17.2, -5.3, -7.1, -2.2, -7.1, -9.6, -11.9, -8.7, -11.4, -17.1, -20.6, -15.3, -19.9, -14.1, -14.8, -12.4, -16.5, -11.7, -12.8, -6.4, -13.4, -14.3, -15.7, -12.7, -14.0, -50.0, -7.8, -50.0, -7.1, -8.7, -11.3, -6.1, -11.4, -50.0, -5.1, 18.6, -4.8, -8.6, -8.1, -4.5, -7.3,],
|
|
300
|
+
[-12.4, -8.2, -13.0, -5.9, -7.7, -7.8, -7.4, -5.8, -8.8, -2.0, -9.3, -0.4, -11.6, -11.3, -11.6, -9.4, -8.9, -5.6, -10.0, -3.2, -11.5, -11.1, -10.5, -8.3, -6.3, -4.9, -6.7, -1.2, -10.6, -9.7, -11.3, -8.0, -14.8, -13.1, -15.5, -11.4, -7.5, -7.5, -7.1, -5.9, -8.4, -5.8, -8.1, -3.6, -9.9, -9.7, -10.1, -8.2, -50.0, -3.0, -50.0, -0.1, -3.5, -3.3, -3.6, -0.7, -50.0, 14.2, -4.8, 16.4, -8.9, -5.8, -8.9, -3.4,],
|
|
301
|
+
[-10.7, -13.2, -12.4, -11.6, -4.8, -8.4, -6.1, -7.2, -10.3, -11.8, -11.0, -11.6, 2.8, -1.7, 0.7, -1.1, -6.2, -9.7, -7.3, -8.4, -5.3, -8.6, -6.1, -8.3, -10.5, -11.2, -9.8, -10.2, 9.5, 6.5, 7.6, 6.8, -12.1, -16.0, -13.0, -16.2, -5.2, -8.6, -7.1, -7.8, -12.5, -14.4, -12.1, -13.0, 1.4, -3.0, -1.6, -2.4, -50.0, -8.1, -50.0, -7.3, -0.0, -5.4, -3.5, -4.6, -50.0, -10.1, -8.6, -8.9, 13.2, -0.9, 9.7, -0.3,],
|
|
302
|
+
[-18.1, -12.3, -19.4, -14.2, -12.2, -9.5, -11.5, -10.8, -17.9, -11.9, -18.2, -13.9, -6.4, -3.7, -6.8, -5.4, -12.8, -5.9, -13.6, -7.4, -13.7, -9.9, -12.9, -12.7, -16.2, -11.6, -15.2, -12.7, -3.2, 0.5, -3.3, -1.8, -18.9, -16.6, -18.8, -19.2, -12.5, -9.4, -10.6, -11.1, -17.3, -14.1, -16.2, -16.0, -7.9, -3.7, -7.8, -6.3, -50.0, 3.6, -50.0, 2.3, -8.6, -4.2, -8.4, -6.6, -50.0, -4.3, -8.1, -5.8, -0.9, 14.2, -1.8, 11.6,],
|
|
303
|
+
[-11.8, -13.1, -11.5, -12.0, -6.2, -8.3, -5.4, -7.4, -11.8, -12.3, -11.1, -11.4, 0.5, -2.5, 2.4, -1.6, -6.8, -9.9, -6.4, -8.9, -6.1, -8.6, -5.0, -7.8, -10.4, -11.6, -8.5, -9.9, 8.2, 6.4, 8.7, 6.9, -12.4, -17.0, -12.6, -15.8, -6.5, -8.5, -5.0, -7.8, -13.2, -13.6, -10.3, -13.7, -0.7, -3.2, -0.3, -2.4, -50.0, -9.4, -50.0, -8.7, -2.1, -5.6, -1.2, -4.9, -50.0, -10.0, -4.5, -8.9, 9.7, -1.8, 11.3, -0.9,],
|
|
304
|
+
[-17.2, -13.3, -17.8, -11.6, -11.0, -11.1, -10.4, -9.0, -16.0, -12.7, -16.1, -11.1, -5.2, -5.4, -6.0, -3.3, -11.8, -7.3, -13.3, -5.9, -12.7, -11.9, -11.9, -9.3, -15.2, -15.0, -14.9, -11.0, -2.8, -1.8, -2.9, 0.4, -17.4, -18.4, -18.3, -15.9, -10.7, -11.2, -10.6, -9.0, -15.4, -14.8, -15.8, -13.3, -6.8, -5.9, -7.2, -3.9, -50.0, 2.0, -50.0, 3.9, -7.0, -6.8, -6.8, -3.9, -50.0, -5.4, -7.3, -3.4, -0.3, 11.6, -0.9, 14.1,]];
|
|
305
|
+
this.TRANS = [[5, 0, 0, 4],
|
|
306
|
+
[0, 5, 4, 0],
|
|
307
|
+
[0, 4, 5, 0],
|
|
308
|
+
[4, 0, 0, 5]];
|
|
309
|
+
this.CONBLO = { 'A': 0, 'R': 1, 'N': 2, 'D': 3, 'C': 4, 'Q': 5, 'E': 6, 'G': 7, 'H': 8, 'I': 9, 'L': 10, 'K': 11, 'M': 12, 'F': 13, 'P': 14, 'S': 15, 'T': 16, 'W': 17, 'Y': 18, 'V': 19, 'B': 20, 'Z': 21, 'X': 22, '*': 23 };
|
|
310
|
+
this.CONNUCL = { 'A': 0, 'T': 1, 'C': 2, 'G': 3 };
|
|
311
|
+
this.CONSCHN = { 'AAA': 0, 'AAC': 1, 'AAG': 2, 'AAT': 3, 'ACA': 4, 'ACC': 5, 'ACG': 6, 'ACT': 7, 'AGA': 8, 'AGC': 9, 'AGG': 10, 'AGT': 11, 'ATA': 12, 'ATC': 13, 'ATG': 14, 'ATT': 15, 'CAA': 16, 'CAC': 17, 'CAG': 18, 'CAT': 19, 'CCA': 20, 'CCC': 21, 'CCG': 22, 'CCT': 23, 'CGA': 24, 'CGC': 25, 'CGG': 26, 'CGT': 27, 'CTA': 28, 'CTC': 29, 'CTG': 30, 'CTT': 31, 'GAA': 32, 'GAC': 33, 'GAG': 34, 'GAT': 35, 'GCA': 36, 'GCC': 37, 'GCG': 38, 'GCT': 39, 'GGA': 40, 'GGC': 41, 'GGG': 42, 'GGT': 43, 'GTA': 44, 'GTC': 45, 'GTG': 46, 'GTT': 47, 'TAA': 48, 'TAC': 49, 'TAG': 50, 'TAT': 51, 'TCA': 52, 'TCC': 53, 'TCG': 54, 'TCT': 55, 'TGA': 56, 'TGC': 57, 'TGG': 58, 'TGT': 59, 'TTA': 60, 'TTC': 61, 'TTG': 62, 'TTT': 63 };
|
|
312
|
+
this.setMethod(alignGrid_);
|
|
313
|
+
this.setSequences(seq1_, seq2_);
|
|
314
|
+
this.setGap(gap_);
|
|
315
|
+
}
|
|
316
|
+
fillNeedleman() {
|
|
317
|
+
for (let i = 0; i <= this.len1; i++) {
|
|
318
|
+
this.dpGrid[i][0].value = -i * this.gap;
|
|
319
|
+
this.dpGrid[i][0].parentI = i - 1;
|
|
320
|
+
this.dpGrid[i][0].parentJ = 0;
|
|
321
|
+
}
|
|
322
|
+
for (let i = 1; i <= this.len2; i++) {
|
|
323
|
+
this.dpGrid[0][i].value = -i * this.gap;
|
|
324
|
+
this.dpGrid[0][i].parentI = 0;
|
|
325
|
+
this.dpGrid[0][i].parentJ = i - 1;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
fillOne(i, j) {
|
|
329
|
+
this.dpGrid[i][j].value = Math.max(this.dpGrid[i - 1][j - 1].value + this.scores[i - 1][j - 1], Math.max(this.dpGrid[i - 1][j].value - this.gap, this.dpGrid[i][j - 1].value - this.gap));
|
|
330
|
+
if (this.dpGrid[i][j].value == this.dpGrid[i - 1][j - 1].value + this.scores[i - 1][j - 1]) {
|
|
331
|
+
this.dpGrid[i][j].parentI = i - 1;
|
|
332
|
+
this.dpGrid[i][j].parentJ = j - 1;
|
|
333
|
+
}
|
|
334
|
+
else if (this.dpGrid[i][j].value == this.dpGrid[i - 1][j].value - this.gap) {
|
|
335
|
+
this.dpGrid[i][j].parentI = i - 1;
|
|
336
|
+
this.dpGrid[i][j].parentJ = j;
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
this.dpGrid[i][j].parentI = i;
|
|
340
|
+
this.dpGrid[i][j].parentJ = j - 1;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
gridFromName(path) {
|
|
344
|
+
switch (path) {
|
|
345
|
+
case 'BLOSUM45':
|
|
346
|
+
this.alignGrid = this.BLOSUM45;
|
|
347
|
+
this.connections = this.CONBLO;
|
|
348
|
+
this.step = 1;
|
|
349
|
+
break;
|
|
350
|
+
case 'BLOSUM50':
|
|
351
|
+
this.alignGrid = this.BLOSUM50;
|
|
352
|
+
this.connections = this.CONBLO;
|
|
353
|
+
this.step = 1;
|
|
354
|
+
break;
|
|
355
|
+
case 'BLOSUM62':
|
|
356
|
+
this.alignGrid = this.BLOSUM62;
|
|
357
|
+
this.connections = this.CONBLO;
|
|
358
|
+
this.step = 1;
|
|
359
|
+
break;
|
|
360
|
+
case 'BLOSUM80':
|
|
361
|
+
this.alignGrid = this.BLOSUM80;
|
|
362
|
+
this.connections = this.CONBLO;
|
|
363
|
+
this.step = 1;
|
|
364
|
+
break;
|
|
365
|
+
case 'BLOSUM90':
|
|
366
|
+
this.alignGrid = this.BLOSUM90;
|
|
367
|
+
this.connections = this.CONBLO;
|
|
368
|
+
this.step = 1;
|
|
369
|
+
break;
|
|
370
|
+
case 'PAM30':
|
|
371
|
+
this.alignGrid = this.PAM30;
|
|
372
|
+
this.connections = this.CONBLO;
|
|
373
|
+
this.step = 1;
|
|
374
|
+
break;
|
|
375
|
+
case 'PAM70':
|
|
376
|
+
this.alignGrid = this.PAM70;
|
|
377
|
+
this.connections = this.CONBLO;
|
|
378
|
+
this.step = 1;
|
|
379
|
+
break;
|
|
380
|
+
case 'PAM250':
|
|
381
|
+
this.alignGrid = this.PAM250;
|
|
382
|
+
this.connections = this.CONBLO;
|
|
383
|
+
this.step = 1;
|
|
384
|
+
break;
|
|
385
|
+
case 'NUCLEOTIDES':
|
|
386
|
+
this.alignGrid = this.NUCLEOTIDES;
|
|
387
|
+
this.connections = this.CONNUCL;
|
|
388
|
+
this.step = 1;
|
|
389
|
+
break;
|
|
390
|
+
case 'TRANS':
|
|
391
|
+
this.alignGrid = this.TRANS;
|
|
392
|
+
this.connections = this.CONNUCL;
|
|
393
|
+
this.step = 1;
|
|
394
|
+
break;
|
|
395
|
+
case 'SCHNEIDER':
|
|
396
|
+
this.alignGrid = this.SCHNEIDER;
|
|
397
|
+
this.connections = this.CONSCHN;
|
|
398
|
+
this.step = 3;
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
this.fillScores();
|
|
402
|
+
}
|
|
403
|
+
constructResult(i, j) {
|
|
404
|
+
let res1 = "", res2 = "", gapS = "";
|
|
405
|
+
let total = this.dpGrid[i][j].value;
|
|
406
|
+
for (let i = 0; i < this.step; i++) {
|
|
407
|
+
gapS += '|';
|
|
408
|
+
}
|
|
409
|
+
while (i > 0 || j > 0) {
|
|
410
|
+
if (this.dpGrid[i][j].parentI == i) {
|
|
411
|
+
res1 = gapS + res1;
|
|
412
|
+
res2 = this.seq2.substr((j - 1) * this.step, this.step) + res2;
|
|
413
|
+
}
|
|
414
|
+
else if (this.dpGrid[i][j].parentJ == j) {
|
|
415
|
+
res2 = gapS + res2;
|
|
416
|
+
res1 = this.seq1.substr((i - 1) * this.step, this.step) + res1;
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
if (i - 1 >= 0)
|
|
420
|
+
res1 = this.seq1.substr((i - 1) * this.step, this.step) + res1;
|
|
421
|
+
else
|
|
422
|
+
res1 = gapS + res1;
|
|
423
|
+
if (j - 1 >= 0)
|
|
424
|
+
res2 = this.seq2.substr((j - 1) * this.step, this.step) + res2;
|
|
425
|
+
else
|
|
426
|
+
res2 = gapS + res2;
|
|
427
|
+
}
|
|
428
|
+
let tempI = i;
|
|
429
|
+
i = this.dpGrid[i][j].parentI;
|
|
430
|
+
j = this.dpGrid[tempI][j].parentJ;
|
|
431
|
+
}
|
|
432
|
+
return new Aligned(res1, res2, total);
|
|
433
|
+
}
|
|
434
|
+
fillScores() {
|
|
435
|
+
this.scores = [];
|
|
436
|
+
for (let i = 0; i < this.len1; i++) {
|
|
437
|
+
this.scores.push([]);
|
|
438
|
+
for (let j = 0; j < this.len2; j++) {
|
|
439
|
+
this.scores[i].push(this.alignGrid[this.connections[this.seq1.substr(i * this.step, this.step)]][this.connections[this.seq2.substr(j * this.step, this.step)]]);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
typeRec() {
|
|
444
|
+
if (/[ATGC]*/.test(this.seq1) && /[ATGC]*/.test(this.seq2))
|
|
445
|
+
return "NUCLEOTIDES";
|
|
446
|
+
if (/[ARNDCQEGHILKMFPSTWYVBZX*]*/.test(this.seq1) && /[ARNDCQEGHILKMFPSTWYVBZX*]*/.test(this.seq2))
|
|
447
|
+
return "BLOSUM62";
|
|
448
|
+
throw Error("Can't recognize sequence type");
|
|
449
|
+
}
|
|
450
|
+
needlemanWunch() {
|
|
451
|
+
this.dpGrid = [];
|
|
452
|
+
for (let i = 0; i < this.len1 + 1; i++) {
|
|
453
|
+
let row = [];
|
|
454
|
+
for (let j = 0; j < this.len2 + 1; j++)
|
|
455
|
+
row.push(new Cell());
|
|
456
|
+
this.dpGrid.push(row);
|
|
457
|
+
}
|
|
458
|
+
this.fillNeedleman();
|
|
459
|
+
for (let i = 1; i <= this.len1; i++) {
|
|
460
|
+
for (let j = 1; j <= this.len2; j++) {
|
|
461
|
+
this.fillOne(i, j);
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
return this.constructResult(this.len1, this.len2);
|
|
465
|
+
}
|
|
466
|
+
smithWaterman() {
|
|
467
|
+
this.dpGrid = [];
|
|
468
|
+
for (let i = 0; i < this.len1 + 1; i++) {
|
|
469
|
+
let row = [];
|
|
470
|
+
for (let j = 0; j < this.len2 + 1; j++)
|
|
471
|
+
row.push(new Cell());
|
|
472
|
+
this.dpGrid.push(row);
|
|
473
|
+
}
|
|
474
|
+
let bestVal = 0;
|
|
475
|
+
let bestI = 0, bestJ = 0;
|
|
476
|
+
for (let i = 1; i <= this.len1; i++) {
|
|
477
|
+
for (let j = 1; j <= this.len2; j++) {
|
|
478
|
+
this.fillOne(i, j);
|
|
479
|
+
if (this.dpGrid[i][j].value <= 0) {
|
|
480
|
+
this.dpGrid[i][j].value = 0;
|
|
481
|
+
this.dpGrid[i][j].parentI = 0;
|
|
482
|
+
this.dpGrid[i][j].parentJ = 0;
|
|
483
|
+
}
|
|
484
|
+
else if (this.dpGrid[this.dpGrid[i][j].parentI][this.dpGrid[i][j].parentJ].value == 0) {
|
|
485
|
+
this.dpGrid[i][j].parentI = 0;
|
|
486
|
+
this.dpGrid[i][j].parentJ = 0;
|
|
487
|
+
}
|
|
488
|
+
if (this.dpGrid[i][j].value > bestVal) {
|
|
489
|
+
bestVal = this.dpGrid[i][j].value;
|
|
490
|
+
bestI = i;
|
|
491
|
+
bestJ = j;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
return this.constructResult(bestI, bestJ);
|
|
496
|
+
}
|
|
497
|
+
setSequences(seq1_, seq2_) {
|
|
498
|
+
this.seq1 = seq1_;
|
|
499
|
+
this.seq2 = seq2_;
|
|
500
|
+
this.len1 = this.seq1.length / this.step;
|
|
501
|
+
this.len2 = this.seq2.length / this.step;
|
|
502
|
+
this.fillScores();
|
|
503
|
+
}
|
|
504
|
+
setGap(gap_) {
|
|
505
|
+
this.gap = gap_;
|
|
506
|
+
}
|
|
507
|
+
setMethod(alignGrid_ = "") {
|
|
508
|
+
if (alignGrid_ == "AUTO") {
|
|
509
|
+
alignGrid_ = this.typeRec();
|
|
510
|
+
}
|
|
511
|
+
this.gridFromName(alignGrid_);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
/***/ }),
|
|
517
|
+
|
|
518
|
+
/***/ "datagrok-api/dg":
|
|
519
|
+
/*!*********************!*\
|
|
520
|
+
!*** external "DG" ***!
|
|
521
|
+
\*********************/
|
|
522
|
+
/***/ ((module) => {
|
|
523
|
+
|
|
524
|
+
module.exports = DG;
|
|
525
|
+
|
|
526
|
+
/***/ })
|
|
527
|
+
|
|
528
|
+
/******/ });
|
|
529
|
+
/************************************************************************/
|
|
530
|
+
/******/ // The module cache
|
|
531
|
+
/******/ var __webpack_module_cache__ = {};
|
|
532
|
+
/******/
|
|
533
|
+
/******/ // The require function
|
|
534
|
+
/******/ function __webpack_require__(moduleId) {
|
|
535
|
+
/******/ // Check if module is in cache
|
|
536
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
537
|
+
/******/ if (cachedModule !== undefined) {
|
|
538
|
+
/******/ return cachedModule.exports;
|
|
539
|
+
/******/ }
|
|
540
|
+
/******/ // Create a new module (and put it into the cache)
|
|
541
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
542
|
+
/******/ // no module.id needed
|
|
543
|
+
/******/ // no module.loaded needed
|
|
544
|
+
/******/ exports: {}
|
|
545
|
+
/******/ };
|
|
546
|
+
/******/
|
|
547
|
+
/******/ // Execute the module function
|
|
548
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
549
|
+
/******/
|
|
550
|
+
/******/ // Return the exports of the module
|
|
551
|
+
/******/ return module.exports;
|
|
552
|
+
/******/ }
|
|
553
|
+
/******/
|
|
554
|
+
/************************************************************************/
|
|
555
|
+
/******/ /* webpack/runtime/compat get default export */
|
|
556
|
+
/******/ (() => {
|
|
557
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
558
|
+
/******/ __webpack_require__.n = (module) => {
|
|
559
|
+
/******/ var getter = module && module.__esModule ?
|
|
560
|
+
/******/ () => (module['default']) :
|
|
561
|
+
/******/ () => (module);
|
|
562
|
+
/******/ __webpack_require__.d(getter, { a: getter });
|
|
563
|
+
/******/ return getter;
|
|
564
|
+
/******/ };
|
|
565
|
+
/******/ })();
|
|
566
|
+
/******/
|
|
567
|
+
/******/ /* webpack/runtime/define property getters */
|
|
568
|
+
/******/ (() => {
|
|
569
|
+
/******/ // define getter functions for harmony exports
|
|
570
|
+
/******/ __webpack_require__.d = (exports, definition) => {
|
|
571
|
+
/******/ for(var key in definition) {
|
|
572
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
573
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
574
|
+
/******/ }
|
|
575
|
+
/******/ }
|
|
576
|
+
/******/ };
|
|
577
|
+
/******/ })();
|
|
578
|
+
/******/
|
|
579
|
+
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
580
|
+
/******/ (() => {
|
|
581
|
+
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
582
|
+
/******/ })();
|
|
583
|
+
/******/
|
|
584
|
+
/******/ /* webpack/runtime/make namespace object */
|
|
585
|
+
/******/ (() => {
|
|
586
|
+
/******/ // define __esModule on exports
|
|
587
|
+
/******/ __webpack_require__.r = (exports) => {
|
|
588
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
589
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
590
|
+
/******/ }
|
|
591
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
592
|
+
/******/ };
|
|
593
|
+
/******/ })();
|
|
594
|
+
/******/
|
|
595
|
+
/************************************************************************/
|
|
596
|
+
var __webpack_exports__ = {};
|
|
597
|
+
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
598
|
+
(() => {
|
|
599
|
+
/*!************************!*\
|
|
600
|
+
!*** ./src/package.ts ***!
|
|
601
|
+
\************************/
|
|
602
|
+
__webpack_require__.r(__webpack_exports__);
|
|
603
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
604
|
+
/* harmony export */ "_package": () => (/* binding */ _package),
|
|
605
|
+
/* harmony export */ "sequenceAlignment": () => (/* binding */ sequenceAlignment)
|
|
606
|
+
/* harmony export */ });
|
|
607
|
+
/* harmony import */ var datagrok_api_dg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! datagrok-api/dg */ "datagrok-api/dg");
|
|
608
|
+
/* harmony import */ var datagrok_api_dg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(datagrok_api_dg__WEBPACK_IMPORTED_MODULE_0__);
|
|
609
|
+
/* harmony import */ var _seq_align__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./seq_align */ "./src/seq_align.ts");
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
let _package = new datagrok_api_dg__WEBPACK_IMPORTED_MODULE_0__.Package();
|
|
613
|
+
//name: sequenceAlignment
|
|
614
|
+
//input: string alignType {choices: ['Local alignment', 'Global alignment']}
|
|
615
|
+
//input: string alignTable {choices: ['AUTO', 'NUCLEOTIDES', 'BLOSUM45', 'BLOSUM50','BLOSUM62','BLOSUM80','BLOSUM90','PAM30','PAM70','PAM250','SCHNEIDER','TRANS']}
|
|
616
|
+
//input: double gap
|
|
617
|
+
//input: string seq1
|
|
618
|
+
//input: string seq2
|
|
619
|
+
//output: object res
|
|
620
|
+
function sequenceAlignment(alignType, alignTable, gap, seq1, seq2) {
|
|
621
|
+
let toAlign = new _seq_align__WEBPACK_IMPORTED_MODULE_1__.SequenceAlignment(seq1, seq2, gap, alignTable);
|
|
622
|
+
let res = alignType == 'Local alignment' ? toAlign.smithWaterman() : toAlign.needlemanWunch();
|
|
623
|
+
return res;
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
})();
|
|
627
|
+
|
|
628
|
+
sequences1 = __webpack_exports__;
|
|
629
|
+
/******/ })()
|
|
630
|
+
;
|
|
631
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEIseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdCQUFnQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixlQUFlO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsZUFBZTtBQUN2QztBQUNBLDRCQUE0QixlQUFlO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLG1CQUFtQjtBQUMzQztBQUNBLDRCQUE0QixtQkFBbUI7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsZ0JBQWdCO0FBQ3hDLDRCQUE0QixnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsbUJBQW1CO0FBQzNDO0FBQ0EsNEJBQTRCLG1CQUFtQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdCQUFnQjtBQUN4Qyw0QkFBNEIsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUNoZkE7Ozs7OztVQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7Ozs7O1dDdEJBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxpQ0FBaUMsV0FBVztXQUM1QztXQUNBOzs7OztXQ1BBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EseUNBQXlDLHdDQUF3QztXQUNqRjtXQUNBO1dBQ0E7Ozs7O1dDUEE7Ozs7O1dDQUE7V0FDQTtXQUNBO1dBQ0EsdURBQXVELGlCQUFpQjtXQUN4RTtXQUNBLGdEQUFnRCxhQUFhO1dBQzdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNOc0M7QUFDVTtBQUN6QyxtQkFBbUIsb0RBQVU7QUFDcEM7QUFDQSwyQkFBMkI7QUFDM0IsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxzQkFBc0IseURBQWlCO0FBQ3ZDO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL3NlcXVlbmNlczEvLi9zcmMvc2VxX2FsaWduLnRzIiwid2VicGFjazovL3NlcXVlbmNlczEvZXh0ZXJuYWwgdmFyIFwiREdcIiIsIndlYnBhY2s6Ly9zZXF1ZW5jZXMxL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3NlcXVlbmNlczEvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vc2VxdWVuY2VzMS93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vc2VxdWVuY2VzMS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL3NlcXVlbmNlczEvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9zZXF1ZW5jZXMxLy4vc3JjL3BhY2thZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgQ2VsbCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSAwO1xuICAgICAgICB0aGlzLnBhcmVudEkgPSAwO1xuICAgICAgICB0aGlzLnBhcmVudEogPSAwO1xuICAgIH1cbn1cbjtcbmV4cG9ydCBjbGFzcyBBbGlnbmVkIHtcbiAgICBjb25zdHJ1Y3RvcihzZXExXywgc2VxMl8sIHNjb3JlXykge1xuICAgICAgICB0aGlzLnNlcTEgPSBzZXExXztcbiAgICAgICAgdGhpcy5zZXEyID0gc2VxMl87XG4gICAgICAgIHRoaXMuc2NvcmUgPSBzY29yZV87XG4gICAgfVxufVxuO1xuZXhwb3J0IGNsYXNzIFNlcXVlbmNlQWxpZ25tZW50IHtcbiAgICBjb25zdHJ1Y3RvcihzZXExXywgc2VxMl8sIGdhcF8sIGFsaWduR3JpZF8gPSBcIlwiKSB7XG4gICAgICAgIHRoaXMuc2VxMSA9ICcnO1xuICAgICAgICB0aGlzLnNlcTIgPSAnJztcbiAgICAgICAgdGhpcy5nYXAgPSAxO1xuICAgICAgICB0aGlzLmxlbjEgPSAwO1xuICAgICAgICB0aGlzLmxlbjIgPSAwO1xuICAgICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgICB0aGlzLmFsaWduR3JpZCA9IFtdO1xuICAgICAgICB0aGlzLnNjb3JlcyA9IFtdO1xuICAgICAgICB0aGlzLmRwR3JpZCA9IFtdO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25zID0ge307XG4gICAgICAgIHRoaXMuQkxPU1VNNDUgPSBbWzUsIC0yLCAtMSwgLTIsIC0xLCAtMSwgLTEsIDAsIC0yLCAtMSwgLTEsIC0xLCAtMSwgLTIsIC0xLCAxLCAwLCAtMiwgLTIsIDAsIC0xLCAtMSwgMCwgLTVdLFxuICAgICAgICAgICAgWy0yLCA3LCAwLCAtMSwgLTMsIDEsIDAsIC0yLCAwLCAtMywgLTIsIDMsIC0xLCAtMiwgLTIsIC0xLCAtMSwgLTIsIC0xLCAtMiwgLTEsIDAsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTEsIDAsIDYsIDIsIC0yLCAwLCAwLCAwLCAxLCAtMiwgLTMsIDAsIC0yLCAtMiwgLTIsIDEsIDAsIC00LCAtMiwgLTMsIDQsIDAsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTIsIC0xLCAyLCA3LCAtMywgMCwgMiwgLTEsIDAsIC00LCAtMywgMCwgLTMsIC00LCAtMSwgMCwgLTEsIC00LCAtMiwgLTMsIDUsIDEsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTEsIC0zLCAtMiwgLTMsIDEyLCAtMywgLTMsIC0zLCAtMywgLTMsIC0yLCAtMywgLTIsIC0yLCAtNCwgLTEsIC0xLCAtNSwgLTMsIC0xLCAtMiwgLTMsIC0yLCAtNV0sXG4gICAgICAgICAgICBbLTEsIDEsIDAsIDAsIC0zLCA2LCAyLCAtMiwgMSwgLTIsIC0yLCAxLCAwLCAtNCwgLTEsIDAsIC0xLCAtMiwgLTEsIC0zLCAwLCA0LCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0xLCAwLCAwLCAyLCAtMywgMiwgNiwgLTIsIDAsIC0zLCAtMiwgMSwgLTIsIC0zLCAwLCAwLCAtMSwgLTMsIC0yLCAtMywgMSwgNCwgLTEsIC01XSxcbiAgICAgICAgICAgIFswLCAtMiwgMCwgLTEsIC0zLCAtMiwgLTIsIDcsIC0yLCAtNCwgLTMsIC0yLCAtMiwgLTMsIC0yLCAwLCAtMiwgLTIsIC0zLCAtMywgLTEsIC0yLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0yLCAwLCAxLCAwLCAtMywgMSwgMCwgLTIsIDEwLCAtMywgLTIsIC0xLCAwLCAtMiwgLTIsIC0xLCAtMiwgLTMsIDIsIC0zLCAwLCAwLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0xLCAtMywgLTIsIC00LCAtMywgLTIsIC0zLCAtNCwgLTMsIDUsIDIsIC0zLCAyLCAwLCAtMiwgLTIsIC0xLCAtMiwgMCwgMywgLTMsIC0zLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0xLCAtMiwgLTMsIC0zLCAtMiwgLTIsIC0yLCAtMywgLTIsIDIsIDUsIC0zLCAyLCAxLCAtMywgLTMsIC0xLCAtMiwgMCwgMSwgLTMsIC0yLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0xLCAzLCAwLCAwLCAtMywgMSwgMSwgLTIsIC0xLCAtMywgLTMsIDUsIC0xLCAtMywgLTEsIC0xLCAtMSwgLTIsIC0xLCAtMiwgMCwgMSwgLTEsIC01XSxcbiAgICAgICAgICAgIFstMSwgLTEsIC0yLCAtMywgLTIsIDAsIC0yLCAtMiwgMCwgMiwgMiwgLTEsIDYsIDAsIC0yLCAtMiwgLTEsIC0yLCAwLCAxLCAtMiwgLTEsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTIsIC0yLCAtMiwgLTQsIC0yLCAtNCwgLTMsIC0zLCAtMiwgMCwgMSwgLTMsIDAsIDgsIC0zLCAtMiwgLTEsIDEsIDMsIDAsIC0zLCAtMywgLTEsIC01XSxcbiAgICAgICAgICAgIFstMSwgLTIsIC0yLCAtMSwgLTQsIC0xLCAwLCAtMiwgLTIsIC0yLCAtMywgLTEsIC0yLCAtMywgOSwgLTEsIC0xLCAtMywgLTMsIC0zLCAtMiwgLTEsIC0xLCAtNV0sXG4gICAgICAgICAgICBbMSwgLTEsIDEsIDAsIC0xLCAwLCAwLCAwLCAtMSwgLTIsIC0zLCAtMSwgLTIsIC0yLCAtMSwgNCwgMiwgLTQsIC0yLCAtMSwgMCwgMCwgMCwgLTVdLFxuICAgICAgICAgICAgWzAsIC0xLCAwLCAtMSwgLTEsIC0xLCAtMSwgLTIsIC0yLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAyLCA1LCAtMywgLTEsIDAsIDAsIC0xLCAwLCAtNV0sXG4gICAgICAgICAgICBbLTIsIC0yLCAtNCwgLTQsIC01LCAtMiwgLTMsIC0yLCAtMywgLTIsIC0yLCAtMiwgLTIsIDEsIC0zLCAtNCwgLTMsIDE1LCAzLCAtMywgLTQsIC0yLCAtMiwgLTVdLFxuICAgICAgICAgICAgWy0yLCAtMSwgLTIsIC0yLCAtMywgLTEsIC0yLCAtMywgMiwgMCwgMCwgLTEsIDAsIDMsIC0zLCAtMiwgLTEsIDMsIDgsIC0xLCAtMiwgLTIsIC0xLCAtNV0sXG4gICAgICAgICAgICBbMCwgLTIsIC0zLCAtMywgLTEsIC0zLCAtMywgLTMsIC0zLCAzLCAxLCAtMiwgMSwgMCwgLTMsIC0xLCAwLCAtMywgLTEsIDUsIC0zLCAtMywgLTEsIC01XSxcbiAgICAgICAgICAgIFstMSwgLTEsIDQsIDUsIC0yLCAwLCAxLCAtMSwgMCwgLTMsIC0zLCAwLCAtMiwgLTMsIC0yLCAwLCAwLCAtNCwgLTIsIC0zLCA0LCAyLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0xLCAwLCAwLCAxLCAtMywgNCwgNCwgLTIsIDAsIC0zLCAtMiwgMSwgLTEsIC0zLCAtMSwgMCwgLTEsIC0yLCAtMiwgLTMsIDIsIDQsIC0xLCAtNV0sXG4gICAgICAgICAgICBbMCwgLTEsIC0xLCAtMSwgLTIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAwLCAwLCAtMiwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAxXV07XG4gICAgICAgIHRoaXMuQkxPU1VNNTAgPSBbWzUsIC0yLCAtMSwgLTIsIC0xLCAtMSwgLTEsIDAsIC0yLCAtMSwgLTIsIC0xLCAtMSwgLTMsIC0xLCAxLCAwLCAtMywgLTIsIDAsIC0yLCAtMSwgLTEsIC01XSxcbiAgICAgICAgICAgIFstMiwgNywgLTEsIC0yLCAtNCwgMSwgMCwgLTMsIDAsIC00LCAtMywgMywgLTIsIC0zLCAtMywgLTEsIC0xLCAtMywgLTEsIC0zLCAtMSwgMCwgLTEsIC01XSxcbiAgICAgICAgICAgIFstMSwgLTEsIDcsIDIsIC0yLCAwLCAwLCAwLCAxLCAtMywgLTQsIDAsIC0yLCAtNCwgLTIsIDEsIDAsIC00LCAtMiwgLTMsIDQsIDAsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTIsIC0yLCAyLCA4LCAtNCwgMCwgMiwgLTEsIC0xLCAtNCwgLTQsIC0xLCAtNCwgLTUsIC0xLCAwLCAtMSwgLTUsIC0zLCAtNCwgNSwgMSwgLTEsIC01XSxcbiAgICAgICAgICAgIFstMSwgLTQsIC0yLCAtNCwgMTMsIC0zLCAtMywgLTMsIC0zLCAtMiwgLTIsIC0zLCAtMiwgLTIsIC00LCAtMSwgLTEsIC01LCAtMywgLTEsIC0zLCAtMywgLTIsIC01XSxcbiAgICAgICAgICAgIFstMSwgMSwgMCwgMCwgLTMsIDcsIDIsIC0yLCAxLCAtMywgLTIsIDIsIDAsIC00LCAtMSwgMCwgLTEsIC0xLCAtMSwgLTMsIDAsIDQsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTEsIDAsIDAsIDIsIC0zLCAyLCA2LCAtMywgMCwgLTQsIC0zLCAxLCAtMiwgLTMsIC0xLCAtMSwgLTEsIC0zLCAtMiwgLTMsIDEsIDUsIC0xLCAtNV0sXG4gICAgICAgICAgICBbMCwgLTMsIDAsIC0xLCAtMywgLTIsIC0zLCA4LCAtMiwgLTQsIC00LCAtMiwgLTMsIC00LCAtMiwgMCwgLTIsIC0zLCAtMywgLTQsIC0xLCAtMiwgLTIsIC01XSxcbiAgICAgICAgICAgIFstMiwgMCwgMSwgLTEsIC0zLCAxLCAwLCAtMiwgMTAsIC00LCAtMywgMCwgLTEsIC0xLCAtMiwgLTEsIC0yLCAtMywgMiwgLTQsIDAsIDAsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTEsIC00LCAtMywgLTQsIC0yLCAtMywgLTQsIC00LCAtNCwgNSwgMiwgLTMsIDIsIDAsIC0zLCAtMywgLTEsIC0zLCAtMSwgNCwgLTQsIC0zLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0yLCAtMywgLTQsIC00LCAtMiwgLTIsIC0zLCAtNCwgLTMsIDIsIDUsIC0zLCAzLCAxLCAtNCwgLTMsIC0xLCAtMiwgLTEsIDEsIC00LCAtMywgLTEsIC01XSxcbiAgICAgICAgICAgIFstMSwgMywgMCwgLTEsIC0zLCAyLCAxLCAtMiwgMCwgLTMsIC0zLCA2LCAtMiwgLTQsIC0xLCAwLCAtMSwgLTMsIC0yLCAtMywgMCwgMSwgLTEsIC01XSxcbiAgICAgICAgICAgIFstMSwgLTIsIC0yLCAtNCwgLTIsIDAsIC0yLCAtMywgLTEsIDIsIDMsIC0yLCA3LCAwLCAtMywgLTIsIC0xLCAtMSwgMCwgMSwgLTMsIC0xLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0zLCAtMywgLTQsIC01LCAtMiwgLTQsIC0zLCAtNCwgLTEsIDAsIDEsIC00LCAwLCA4LCAtNCwgLTMsIC0yLCAxLCA0LCAtMSwgLTQsIC00LCAtMiwgLTVdLFxuICAgICAgICAgICAgWy0xLCAtMywgLTIsIC0xLCAtNCwgLTEsIC0xLCAtMiwgLTIsIC0zLCAtNCwgLTEsIC0zLCAtNCwgMTAsIC0xLCAtMSwgLTQsIC0zLCAtMywgLTIsIC0xLCAtMiwgLTVdLFxuICAgICAgICAgICAgWzEsIC0xLCAxLCAwLCAtMSwgMCwgLTEsIDAsIC0xLCAtMywgLTMsIDAsIC0yLCAtMywgLTEsIDUsIDIsIC00LCAtMiwgLTIsIDAsIDAsIC0xLCAtNV0sXG4gICAgICAgICAgICBbMCwgLTEsIDAsIC0xLCAtMSwgLTEsIC0xLCAtMiwgLTIsIC0xLCAtMSwgLTEsIC0xLCAtMiwgLTEsIDIsIDUsIC0zLCAtMiwgMCwgMCwgLTEsIDAsIC01XSxcbiAgICAgICAgICAgIFstMywgLTMsIC00LCAtNSwgLTUsIC0xLCAtMywgLTMsIC0zLCAtMywgLTIsIC0zLCAtMSwgMSwgLTQsIC00LCAtMywgMTUsIDIsIC0zLCAtNSwgLTIsIC0zLCAtNV0sXG4gICAgICAgICAgICBbLTIsIC0xLCAtMiwgLTMsIC0zLCAtMSwgLTIsIC0zLCAyLCAtMSwgLTEsIC0yLCAwLCA0LCAtMywgLTIsIC0yLCAyLCA4LCAtMSwgLTMsIC0yLCAtMSwgLTVdLFxuICAgICAgICAgICAgWzAsIC0zLCAtMywgLTQsIC0xLCAtMywgLTMsIC00LCAtNCwgNCwgMSwgLTMsIDEsIC0xLCAtMywgLTIsIDAsIC0zLCAtMSwgNSwgLTQsIC0zLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy0yLCAtMSwgNCwgNSwgLTMsIDAsIDEsIC0xLCAwLCAtNCwgLTQsIDAsIC0zLCAtNCwgLTIsIDAsIDAsIC01LCAtMywgLTQsIDUsIDIsIC0xLCAtNV0sXG4gICAgICAgICAgICBbLTEsIDAsIDAsIDEsIC0zLCA0LCA1LCAtMiwgMCwgLTMsIC0zLCAxLCAtMSwgLTQsIC0xLCAwLCAtMSwgLTIsIC0yLCAtMywgMiwgNSwgLTEsIC01XSxcbiAgICAgICAgICAgIFstMSwgLTEsIC0xLCAtMSwgLTIsIC0xLCAtMSwgLTIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTIsIC0yLCAtMSwgMCwgLTMsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTVdLFxuICAgICAgICAgICAgWy01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNSwgMV1dO1xuICAgICAgICB0aGlzLkJMT1NVTTYyID0gW1s0LCAtMSwgLTIsIC0yLCAwLCAtMSwgLTEsIDAsIC0yLCAtMSwgLTEsIC0xLCAtMSwgLTIsIC0xLCAxLCAwLCAtMywgLTIsIDAsIC0yLCAtMSwgMCwgLTRdLFxuICAgICAgICAgICAgWy0xLCA1LCAwLCAtMiwgLTMsIDEsIDAsIC0yLCAwLCAtMywgLTIsIDIsIC0xLCAtMywgLTIsIC0xLCAtMSwgLTMsIC0yLCAtMywgLTEsIDAsIC0xLCAtNF0sXG4gICAgICAgICAgICBbLTIsIDAsIDYsIDEsIC0zLCAwLCAwLCAwLCAxLCAtMywgLTMsIDAsIC0yLCAtMywgLTIsIDEsIDAsIC00LCAtMiwgLTMsIDMsIDAsIC0xLCAtNF0sXG4gICAgICAgICAgICBbLTIsIC0yLCAxLCA2LCAtMywgMCwgMiwgLTEsIC0xLCAtMywgLTQsIC0xLCAtMywgLTMsIC0xLCAwLCAtMSwgLTQsIC0zLCAtMywgNCwgMSwgLTEsIC00XSxcbiAgICAgICAgICAgIFswLCAtMywgLTMsIC0zLCA5LCAtMywgLTQsIC0zLCAtMywgLTEsIC0xLCAtMywgLTEsIC0yLCAtMywgLTEsIC0xLCAtMiwgLTIsIC0xLCAtMywgLTMsIC0yLCAtNF0sXG4gICAgICAgICAgICBbLTEsIDEsIDAsIDAsIC0zLCA1LCAyLCAtMiwgMCwgLTMsIC0yLCAxLCAwLCAtMywgLTEsIDAsIC0xLCAtMiwgLTEsIC0yLCAwLCAzLCAtMSwgLTRdLFxuICAgICAgICAgICAgWy0xLCAwLCAwLCAyLCAtNCwgMiwgNSwgLTIsIDAsIC0zLCAtMywgMSwgLTIsIC0zLCAtMSwgMCwgLTEsIC0zLCAtMiwgLTIsIDEsIDQsIC0xLCAtNF0sXG4gICAgICAgICAgICBbMCwgLTIsIDAsIC0xLCAtMywgLTIsIC0yLCA2LCAtMiwgLTQsIC00LCAtMiwgLTMsIC0zLCAtMiwgMCwgLTIsIC0yLCAtMywgLTMsIC0xLCAtMiwgLTEsIC00XSxcbiAgICAgICAgICAgIFstMiwgMCwgMSwgLTEsIC0zLCAwLCAwLCAtMiwgOCwgLTMsIC0zLCAtMSwgLTIsIC0xLCAtMiwgLTEsIC0yLCAtMiwgMiwgLTMsIDAsIDAsIC0xLCAtNF0sXG4gICAgICAgICAgICBbLTEsIC0zLCAtMywgLTMsIC0xLCAtMywgLTMsIC00LCAtMywgNCwgMiwgLTMsIDEsIDAsIC0zLCAtMiwgLTEsIC0zLCAtMSwgMywgLTMsIC0zLCAtMSwgLTRdLFxuICAgICAgICAgICAgWy0xLCAtMiwgLTMsIC00LCAtMSwgLTIsIC0zLCAtNCwgLTMsIDIsIDQsIC0yLCAyLCAwLCAtMywgLTIsIC0xLCAtMiwgLTEsIDEsIC00LCAtMywgLTEsIC00XSxcbiAgICAgICAgICAgIFstMSwgMiwgMCwgLTEsIC0zLCAxLCAxLCAtMiwgLTEsIC0zLCAtMiwgNSwgLTEsIC0zLCAtMSwgMCwgLTEsIC0zLCAtMiwgLTIsIDAsIDEsIC0xLCAtNF0sXG4gICAgICAgICAgICBbLTEsIC0xLCAtMiwgLTMsIC0xLCAwLCAtMiwgLTMsIC0yLCAxLCAyLCAtMSwgNSwgMCwgLTIsIC0xLCAtMSwgLTEsIC0xLCAxLCAtMywgLTEsIC0xLCAtNF0sXG4gICAgICAgICAgICBbLTIsIC0zLCAtMywgLTMsIC0yLCAtMywgLTMsIC0zLCAtMSwgMCwgMCwgLTMsIDAsIDYsIC00LCAtMiwgLTIsIDEsIDMsIC0xLCAtMywgLTMsIC0xLCAtNF0sXG4gICAgICAgICAgICBbLTEsIC0yLCAtMiwgLTEsIC0zLCAtMSwgLTEsIC0yLCAtMiwgLTMsIC0zLCAtMSwgLTIsIC00LCA3LCAtMSwgLTEsIC00LCAtMywgLTIsIC0yLCAtMSwgLTIsIC00XSxcbiAgICAgICAgICAgIFsxLCAtMSwgMSwgMCwgLTEsIDAsIDAsIDAsIC0xLCAtMiwgLTIsIDAsIC0xLCAtMiwgLTEsIDQsIDEsIC0zLCAtMiwgLTIsIDAsIDAsIDAsIC00XSxcbiAgICAgICAgICAgIFswLCAtMSwgMCwgLTEsIC0xLCAtMSwgLTEsIC0yLCAtMiwgLTEsIC0xLCAtMSwgLTEsIC0yLCAtMSwgMSwgNSwgLTIsIC0yLCAwLCAtMSwgLTEsIDAsIC00XSxcbiAgICAgICAgICAgIFstMywgLTMsIC00LCAtNCwgLTIsIC0yLCAtMywgLTIsIC0yLCAtMywgLTIsIC0zLCAtMSwgMSwgLTQsIC0zLCAtMiwgMTEsIDIsIC0zLCAtNCwgLTMsIC0yLCAtNF0sXG4gICAgICAgICAgICBbLTIsIC0yLCAtMiwgLTMsIC0yLCAtMSwgLTIsIC0zLCAyLCAtMSwgLTEsIC0yLCAtMSwgMywgLTMsIC0yLCAtMiwgMiwgNywgLTEsIC0zLCAtMiwgLTEsIC00XSxcbiAgICAgICAgICAgIFswLCAtMywgLTMsIC0zLCAtMSwgLTIsIC0yLCAtMywgLTMsIDMsIDEsIC0yLCAxLCAtMSwgLTIsIC0yLCAwLCAtMywgLTEsIDQsIC0zLCAtMiwgLTEsIC00XSxcbiAgICAgICAgICAgIFstMiwgLTEsIDMsIDQsIC0zLCAwLCAxLCAtMSwgMCwgLTMsIC00LCAwLCAtMywgLTMsIC0yLCAwLCAtMSwgLTQsIC0zLCAtMywgNCwgMSwgLTEsIC00XSxcbiAgICAgICAgICAgIFstMSwgMCwgMCwgMSwgLTMsIDMsIDQsIC0yLCAwLCAtMywgLTMsIDEsIC0xLCAtMywgLTEsIDAsIC0xLCAtMywgLTIsIC0yLCAxLCA0LCAtMSwgLTRdLFxuICAgICAgICAgICAgWzAsIC0xLCAtMSwgLTEsIC0yLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMiwgMCwgMCwgLTIsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTRdLFxuICAgICAgICAgICAgWy00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgLTQsIC00LCAtNCwgMV1dO1xuICAgICAgICB0aGlzLkJMT1NVTTgwID0gW1s3LCAtMywgLTMsIC0zLCAtMSwgLTIsIC0yLCAwLCAtMywgLTMsIC0zLCAtMSwgLTIsIC00LCAtMSwgMiwgMCwgLTUsIC00LCAtMSwgLTMsIC0yLCAtMSwgLThdLFxuICAgICAgICAgICAgWy0zLCA5LCAtMSwgLTMsIC02LCAxLCAtMSwgLTQsIDAsIC01LCAtNCwgMywgLTMsIC01LCAtMywgLTIsIC0yLCAtNSwgLTQsIC00LCAtMiwgMCwgLTIsIC04XSxcbiAgICAgICAgICAgIFstMywgLTEsIDksIDIsIC01LCAwLCAtMSwgLTEsIDEsIC02LCAtNiwgMCwgLTQsIC02LCAtNCwgMSwgMCwgLTcsIC00LCAtNSwgNSwgLTEsIC0yLCAtOF0sXG4gICAgICAgICAgICBbLTMsIC0zLCAyLCAxMCwgLTcsIC0xLCAyLCAtMywgLTIsIC03LCAtNywgLTIsIC02LCAtNiwgLTMsIC0xLCAtMiwgLTgsIC02LCAtNiwgNiwgMSwgLTMsIC04XSxcbiAgICAgICAgICAgIFstMSwgLTYsIC01LCAtNywgMTMsIC01LCAtNywgLTYsIC03LCAtMiwgLTMsIC02LCAtMywgLTQsIC02LCAtMiwgLTIsIC01LCAtNSwgLTIsIC02LCAtNywgLTQsIC04XSxcbiAgICAgICAgICAgIFstMiwgMSwgMCwgLTEsIC01LCA5LCAzLCAtNCwgMSwgLTUsIC00LCAyLCAtMSwgLTUsIC0zLCAtMSwgLTEsIC00LCAtMywgLTQsIC0xLCA1LCAtMiwgLThdLFxuICAgICAgICAgICAgWy0yLCAtMSwgLTEsIDIsIC03LCAzLCA4LCAtNCwgMCwgLTYsIC02LCAxLCAtNCwgLTYsIC0yLCAtMSwgLTIsIC02LCAtNSwgLTQsIDEsIDYsIC0yLCAtOF0sXG4gICAgICAgICAgICBbMCwgLTQsIC0xLCAtMywgLTYsIC00LCAtNCwgOSwgLTQsIC03LCAtNywgLTMsIC01LCAtNiwgLTUsIC0xLCAtMywgLTYsIC02LCAtNiwgLTIsIC00LCAtMywgLThdLFxuICAgICAgICAgICAgWy0zLCAwLCAxLCAtMiwgLTcsIDEsIDAsIC00LCAxMiwgLTYsIC01LCAtMSwgLTQsIC0yLCAtNCwgLTIsIC0zLCAtNCwgMywgLTUsIC0xLCAwLCAtMiwgLThdLFxuICAgICAgICAgICAgWy0zLCAtNSwgLTYsIC03LCAtMiwgLTUsIC02LCAtNywgLTYsIDcsIDIsIC01LCAyLCAtMSwgLTUsIC00LCAtMiwgLTUsIC0zLCA0LCAtNiwgLTYsIC0yLCAtOF0sXG4gICAgICAgICAgICBbLTMsIC00LCAtNiwgLTcsIC0zLCAtNCwgLTYsIC03LCAtNSwgMiwgNiwgLTQsIDMsIDAsIC01LCAtNCwgLTMsIC00LCAtMiwgMSwgLTcsIC01LCAtMiwgLThdLFxuICAgICAgICAgICAgWy0xLCAzLCAwLCAtMiwgLTYsIDIsIDEsIC0zLCAtMSwgLTUsIC00LCA4LCAtMywgLTUsIC0yLCAtMSwgLTEsIC02LCAtNCwgLTQsIC0xLCAxLCAtMiwgLThdLFxuICAgICAgICAgICAgWy0yLCAtMywgLTQsIC02LCAtMywgLTEsIC00LCAtNSwgLTQsIDIsIDMsIC0zLCA5LCAwLCAtNCwgLTMsIC0xLCAtMywgLTMsIDEsIC01LCAtMywgLTIsIC04XSxcbiAgICAgICAgICAgIFstNCwgLTUsIC02LCAtNiwgLTQsIC01LCAtNiwgLTYsIC0yLCAtMSwgMCwgLTUsIDAsIDEwLCAtNiwgLTQsIC00LCAwLCA0LCAtMiwgLTYsIC02LCAtMywgLThdLFxuICAgICAgICAgICAgWy0xLCAtMywgLTQsIC0zLCAtNiwgLTMsIC0yLCAtNSwgLTQsIC01LCAtNSwgLTIsIC00LCAtNiwgMTIsIC0yLCAtMywgLTcsIC02LCAtNCwgLTQsIC0yLCAtMywgLThdLFxuICAgICAgICAgICAgWzIsIC0yLCAxLCAtMSwgLTIsIC0xLCAtMSwgLTEsIC0yLCAtNCwgLTQsIC0xLCAtMywgLTQsIC0yLCA3LCAyLCAtNiwgLTMsIC0zLCAwLCAtMSwgLTEsIC04XSxcbiAgICAgICAgICAgIFswLCAtMiwgMCwgLTIsIC0yLCAtMSwgLTIsIC0zLCAtMywgLTIsIC0zLCAtMSwgLTEsIC00LCAtMywgMiwgOCwgLTUsIC0zLCAwLCAtMSwgLTIsIC0xLCAtOF0sXG4gICAgICAgICAgICBbLTUsIC01LCAtNywgLTgsIC01LCAtNCwgLTYsIC02LCAtNCwgLTUsIC00LCAtNiwgLTMsIDAsIC03LCAtNiwgLTUsIDE2LCAzLCAtNSwgLTgsIC01LCAtNSwgLThdLFxuICAgICAgICAgICAgWy00LCAtNCwgLTQsIC02LCAtNSwgLTMsIC01LCAtNiwgMywgLTMsIC0yLCAtNCwgLTMsIDQsIC02LCAtMywgLTMsIDMsIDExLCAtMywgLTUsIC00LCAtMywgLThdLFxuICAgICAgICAgICAgWy0xLCAtNCwgLTUsIC02LCAtMiwgLTQsIC00LCAtNiwgLTUsIDQsIDEsIC00LCAxLCAtMiwgLTQsIC0zLCAwLCAtNSwgLTMsIDcsIC02LCAtNCwgLTIsIC04XSxcbiAgICAgICAgICAgIFstMywgLTIsIDUsIDYsIC02LCAtMSwgMSwgLTIsIC0xLCAtNiwgLTcsIC0xLCAtNSwgLTYsIC00LCAwLCAtMSwgLTgsIC01LCAtNiwgNiwgMCwgLTMsIC04XSxcbiAgICAgICAgICAgIFstMiwgMCwgLTEsIDEsIC03LCA1LCA2LCAtNCwgMCwgLTYsIC01LCAxLCAtMywgLTYsIC0yLCAtMSwgLTIsIC01LCAtNCwgLTQsIDAsIDYsIC0xLCAtOF0sXG4gICAgICAgICAgICBbLTEsIC0yLCAtMiwgLTMsIC00LCAtMiwgLTIsIC0zLCAtMiwgLTIsIC0yLCAtMiwgLTIsIC0zLCAtMywgLTEsIC0xLCAtNSwgLTMsIC0yLCAtMywgLTEsIC0yLCAtOF0sXG4gICAgICAgICAgICBbLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAxXV07XG4gICAgICAgIHRoaXMuQkxPU1VNOTAgPSBbWzUsIC0yLCAtMiwgLTMsIC0xLCAtMSwgLTEsIDAsIC0yLCAtMiwgLTIsIC0xLCAtMiwgLTMsIC0xLCAxLCAwLCAtNCwgLTMsIC0xLCAtMiwgLTEsIC0xLCAtNl0sXG4gICAgICAgICAgICBbLTIsIDYsIC0xLCAtMywgLTUsIDEsIC0xLCAtMywgMCwgLTQsIC0zLCAyLCAtMiwgLTQsIC0zLCAtMSwgLTIsIC00LCAtMywgLTMsIC0yLCAwLCAtMiwgLTZdLFxuICAgICAgICAgICAgWy0yLCAtMSwgNywgMSwgLTQsIDAsIC0xLCAtMSwgMCwgLTQsIC00LCAwLCAtMywgLTQsIC0zLCAwLCAwLCAtNSwgLTMsIC00LCA0LCAtMSwgLTIsIC02XSxcbiAgICAgICAgICAgIFstMywgLTMsIDEsIDcsIC01LCAtMSwgMSwgLTIsIC0yLCAtNSwgLTUsIC0xLCAtNCwgLTUsIC0zLCAtMSwgLTIsIC02LCAtNCwgLTUsIDQsIDAsIC0yLCAtNl0sXG4gICAgICAgICAgICBbLTEsIC01LCAtNCwgLTUsIDksIC00LCAtNiwgLTQsIC01LCAtMiwgLTIsIC00LCAtMiwgLTMsIC00LCAtMiwgLTIsIC00LCAtNCwgLTIsIC00LCAtNSwgLTMsIC02XSxcbiAgICAgICAgICAgIFstMSwgMSwgMCwgLTEsIC00LCA3LCAyLCAtMywgMSwgLTQsIC0zLCAxLCAwLCAtNCwgLTIsIC0xLCAtMSwgLTMsIC0zLCAtMywgLTEsIDQsIC0xLCAtNl0sXG4gICAgICAgICAgICBbLTEsIC0xLCAtMSwgMSwgLTYsIDIsIDYsIC0zLCAtMSwgLTQsIC00LCAwLCAtMywgLTUsIC0yLCAtMSwgLTEsIC01LCAtNCwgLTMsIDAsIDQsIC0yLCAtNl0sXG4gICAgICAgICAgICBbMCwgLTMsIC0xLCAtMiwgLTQsIC0zLCAtMywgNiwgLTMsIC01LCAtNSwgLTIsIC00LCAtNSwgLTMsIC0xLCAtMywgLTQsIC01LCAtNSwgLTIsIC0zLCAtMiwgLTZdLFxuICAgICAgICAgICAgWy0yLCAwLCAwLCAtMiwgLTUsIDEsIC0xLCAtMywgOCwgLTQsIC00LCAtMSwgLTMsIC0yLCAtMywgLTIsIC0yLCAtMywgMSwgLTQsIC0xLCAwLCAtMiwgLTZdLFxuICAgICAgICAgICAgWy0yLCAtNCwgLTQsIC01LCAtMiwgLTQsIC00LCAtNSwgLTQsIDUsIDEsIC00LCAxLCAtMSwgLTQsIC0zLCAtMSwgLTQsIC0yLCAzLCAtNSwgLTQsIC0yLCAtNl0sXG4gICAgICAgICAgICBbLTIsIC0zLCAtNCwgLTUsIC0yLCAtMywgLTQsIC01LCAtNCwgMSwgNSwgLTMsIDIsIDAsIC00LCAtMywgLTIsIC0zLCAtMiwgMCwgLTUsIC00LCAtMiwgLTZdLFxuICAgICAgICAgICAgWy0xLCAyLCAwLCAtMSwgLTQsIDEsIDAsIC0yLCAtMSwgLTQsIC0zLCA2LCAtMiwgLTQsIC0yLCAtMSwgLTEsIC01LCAtMywgLTMsIC0xLCAxLCAtMSwgLTZdLFxuICAgICAgICAgICAgWy0yLCAtMiwgLTMsIC00LCAtMiwgMCwgLTMsIC00LCAtMywgMSwgMiwgLTIsIDcsIC0xLCAtMywgLTIsIC0xLCAtMiwgLTIsIDAsIC00LCAtMiwgLTEsIC02XSxcbiAgICAgICAgICAgIFstMywgLTQsIC00LCAtNSwgLTMsIC00LCAtNSwgLTUsIC0yLCAtMSwgMCwgLTQsIC0xLCA3LCAtNCwgLTMsIC0zLCAwLCAzLCAtMiwgLTQsIC00LCAtMiwgLTZdLFxuICAgICAgICAgICAgWy0xLCAtMywgLTMsIC0zLCAtNCwgLTIsIC0yLCAtMywgLTMsIC00LCAtNCwgLTIsIC0zLCAtNCwgOCwgLTIsIC0yLCAtNSwgLTQsIC0zLCAtMywgLTIsIC0yLCAtNl0sXG4gICAgICAgICAgICBbMSwgLTEsIDAsIC0xLCAtMiwgLTEsIC0xLCAtMSwgLTIsIC0zLCAtMywgLTEsIC0yLCAtMywgLTIsIDUsIDEsIC00LCAtMywgLTIsIDAsIC0xLCAtMSwgLTZdLFxuICAgICAgICAgICAgWzAsIC0yLCAwLCAtMiwgLTIsIC0xLCAtMSwgLTMsIC0yLCAtMSwgLTIsIC0xLCAtMSwgLTMsIC0yLCAxLCA2LCAtNCwgLTIsIC0xLCAtMSwgLTEsIC0xLCAtNl0sXG4gICAgICAgICAgICBbLTQsIC00LCAtNSwgLTYsIC00LCAtMywgLTUsIC00LCAtMywgLTQsIC0zLCAtNSwgLTIsIDAsIC01LCAtNCwgLTQsIDExLCAyLCAtMywgLTYsIC00LCAtMywgLTZdLFxuICAgICAgICAgICAgWy0zLCAtMywgLTMsIC00LCAtNCwgLTMsIC00LCAtNSwgMSwgLTIsIC0yLCAtMywgLTIsIDMsIC00LCAtMywgLTIsIDIsIDgsIC0zLCAtNCwgLTMsIC0yLCAtNl0sXG4gICAgICAgICAgICBbLTEsIC0zLCAtNCwgLTUsIC0yLCAtMywgLTMsIC01LCAtNCwgMywgMCwgLTMsIDAsIC0yLCAtMywgLTIsIC0xLCAtMywgLTMsIDUsIC00LCAtMywgLTIsIC02XSxcbiAgICAgICAgICAgIFstMiwgLTIsIDQsIDQsIC00LCAtMSwgMCwgLTIsIC0xLCAtNSwgLTUsIC0xLCAtNCwgLTQsIC0zLCAwLCAtMSwgLTYsIC00LCAtNCwgNCwgMCwgLTIsIC02XSxcbiAgICAgICAgICAgIFstMSwgMCwgLTEsIDAsIC01LCA0LCA0LCAtMywgMCwgLTQsIC00LCAxLCAtMiwgLTQsIC0yLCAtMSwgLTEsIC00LCAtMywgLTMsIDAsIDQsIC0xLCAtNl0sXG4gICAgICAgICAgICBbLTEsIC0yLCAtMiwgLTIsIC0zLCAtMSwgLTIsIC0yLCAtMiwgLTIsIC0yLCAtMSwgLTEsIC0yLCAtMiwgLTEsIC0xLCAtMywgLTIsIC0yLCAtMiwgLTEsIC0yLCAtNl0sXG4gICAgICAgICAgICBbLTYsIC02LCAtNiwgLTYsIC02LCAtNiwgLTYsIC02LCAtNiwgLTYsIC02LCAtNiwgLTYsIC02LCAtNiwgLTYsIC02LCAtNiwgLTYsIC02LCAtNiwgLTYsIC02LCAxXV07XG4gICAgICAgIHRoaXMuTlVDTEVPVElERVMgPSBbWzEsIC0xLCAtMSwgLTFdLFxuICAgICAgICAgICAgWy0xLCAxLCAtMSwgLTFdLFxuICAgICAgICAgICAgWy0xLCAtMSwgMSwgLTFdLFxuICAgICAgICAgICAgWy0xLCAtMSwgLTEsIDFdXTtcbiAgICAgICAgdGhpcy5QQU0zMCA9IFtbNiwgLTcsIC00LCAtMywgLTYsIC00LCAtMiwgLTIsIC03LCAtNSwgLTYsIC03LCAtNSwgLTgsIC0yLCAwLCAtMSwgLTEzLCAtOCwgLTIsIC0zLCAtMywgLTMsIC0xN10sXG4gICAgICAgICAgICBbLTcsIDgsIC02LCAtMTAsIC04LCAtMiwgLTksIC05LCAtMiwgLTUsIC04LCAwLCAtNCwgLTksIC00LCAtMywgLTYsIC0yLCAtMTAsIC04LCAtNywgLTQsIC02LCAtMTddLFxuICAgICAgICAgICAgWy00LCAtNiwgOCwgMiwgLTExLCAtMywgLTIsIC0zLCAwLCAtNSwgLTcsIC0xLCAtOSwgLTksIC02LCAwLCAtMiwgLTgsIC00LCAtOCwgNiwgLTMsIC0zLCAtMTddLFxuICAgICAgICAgICAgWy0zLCAtMTAsIDIsIDgsIC0xNCwgLTIsIDIsIC0zLCAtNCwgLTcsIC0xMiwgLTQsIC0xMSwgLTE1LCAtOCwgLTQsIC01LCAtMTUsIC0xMSwgLTgsIDYsIDEsIC01LCAtMTddLFxuICAgICAgICAgICAgWy02LCAtOCwgLTExLCAtMTQsIDEwLCAtMTQsIC0xNCwgLTksIC03LCAtNiwgLTE1LCAtMTQsIC0xMywgLTEzLCAtOCwgLTMsIC04LCAtMTUsIC00LCAtNiwgLTEyLCAtMTQsIC05LCAtMTddLFxuICAgICAgICAgICAgWy00LCAtMiwgLTMsIC0yLCAtMTQsIDgsIDEsIC03LCAxLCAtOCwgLTUsIC0zLCAtNCwgLTEzLCAtMywgLTUsIC01LCAtMTMsIC0xMiwgLTcsIC0zLCA2LCAtNSwgLTE3XSxcbiAgICAgICAgICAgIFstMiwgLTksIC0yLCAyLCAtMTQsIDEsIDgsIC00LCAtNSwgLTUsIC05LCAtNCwgLTcsIC0xNCwgLTUsIC00LCAtNiwgLTE3LCAtOCwgLTYsIDEsIDYsIC01LCAtMTddLFxuICAgICAgICAgICAgWy0yLCAtOSwgLTMsIC0zLCAtOSwgLTcsIC00LCA2LCAtOSwgLTExLCAtMTAsIC03LCAtOCwgLTksIC02LCAtMiwgLTYsIC0xNSwgLTE0LCAtNSwgLTMsIC01LCAtNSwgLTE3XSxcbiAgICAgICAgICAgIFstNywgLTIsIDAsIC00LCAtNywgMSwgLTUsIC05LCA5LCAtOSwgLTYsIC02LCAtMTAsIC02LCAtNCwgLTYsIC03LCAtNywgLTMsIC02LCAtMSwgLTEsIC01LCAtMTddLFxuICAgICAgICAgICAgWy01LCAtNSwgLTUsIC03LCAtNiwgLTgsIC01LCAtMTEsIC05LCA4LCAtMSwgLTYsIC0xLCAtMiwgLTgsIC03LCAtMiwgLTE0LCAtNiwgMiwgLTYsIC02LCAtNSwgLTE3XSxcbiAgICAgICAgICAgIFstNiwgLTgsIC03LCAtMTIsIC0xNSwgLTUsIC05LCAtMTAsIC02LCAtMSwgNywgLTgsIDEsIC0zLCAtNywgLTgsIC03LCAtNiwgLTcsIC0yLCAtOSwgLTcsIC02LCAtMTddLFxuICAgICAgICAgICAgWy03LCAwLCAtMSwgLTQsIC0xNCwgLTMsIC00LCAtNywgLTYsIC02LCAtOCwgNywgLTIsIC0xNCwgLTYsIC00LCAtMywgLTEyLCAtOSwgLTksIC0yLCAtNCwgLTUsIC0xN10sXG4gICAgICAgICAgICBbLTUsIC00LCAtOSwgLTExLCAtMTMsIC00LCAtNywgLTgsIC0xMCwgLTEsIDEsIC0yLCAxMSwgLTQsIC04LCAtNSwgLTQsIC0xMywgLTExLCAtMSwgLTEwLCAtNSwgLTUsIC0xN10sXG4gICAgICAgICAgICBbLTgsIC05LCAtOSwgLTE1LCAtMTMsIC0xMywgLTE0LCAtOSwgLTYsIC0yLCAtMywgLTE0LCAtNCwgOSwgLTEwLCAtNiwgLTksIC00LCAyLCAtOCwgLTEwLCAtMTMsIC04LCAtMTddLFxuICAgICAgICAgICAgWy0yLCAtNCwgLTYsIC04LCAtOCwgLTMsIC01LCAtNiwgLTQsIC04LCAtNywgLTYsIC04LCAtMTAsIDgsIC0yLCAtNCwgLTE0LCAtMTMsIC02LCAtNywgLTQsIC01LCAtMTddLFxuICAgICAgICAgICAgWzAsIC0zLCAwLCAtNCwgLTMsIC01LCAtNCwgLTIsIC02LCAtNywgLTgsIC00LCAtNSwgLTYsIC0yLCA2LCAwLCAtNSwgLTcsIC02LCAtMSwgLTUsIC0zLCAtMTddLFxuICAgICAgICAgICAgWy0xLCAtNiwgLTIsIC01LCAtOCwgLTUsIC02LCAtNiwgLTcsIC0yLCAtNywgLTMsIC00LCAtOSwgLTQsIDAsIDcsIC0xMywgLTYsIC0zLCAtMywgLTYsIC00LCAtMTddLFxuICAgICAgICAgICAgWy0xMywgLTIsIC04LCAtMTUsIC0xNSwgLTEzLCAtMTcsIC0xNSwgLTcsIC0xNCwgLTYsIC0xMiwgLTEzLCAtNCwgLTE0LCAtNSwgLTEzLCAxMywgLTUsIC0xNSwgLTEwLCAtMTQsIC0xMSwgLTE3XSxcbiAgICAgICAgICAgIFstOCwgLTEwLCAtNCwgLTExLCAtNCwgLTEyLCAtOCwgLTE0LCAtMywgLTYsIC03LCAtOSwgLTExLCAyLCAtMTMsIC03LCAtNiwgLTUsIDEwLCAtNywgLTYsIC05LCAtNywgLTE3XSxcbiAgICAgICAgICAgIFstMiwgLTgsIC04LCAtOCwgLTYsIC03LCAtNiwgLTUsIC02LCAyLCAtMiwgLTksIC0xLCAtOCwgLTYsIC02LCAtMywgLTE1LCAtNywgNywgLTgsIC02LCAtNSwgLTE3XSxcbiAgICAgICAgICAgIFstMywgLTcsIDYsIDYsIC0xMiwgLTMsIDEsIC0zLCAtMSwgLTYsIC05LCAtMiwgLTEwLCAtMTAsIC03LCAtMSwgLTMsIC0xMCwgLTYsIC04LCA2LCAwLCAtNSwgLTE3XSxcbiAgICAgICAgICAgIFstMywgLTQsIC0zLCAxLCAtMTQsIDYsIDYsIC01LCAtMSwgLTYsIC03LCAtNCwgLTUsIC0xMywgLTQsIC01LCAtNiwgLTE0LCAtOSwgLTYsIDAsIDYsIC01LCAtMTddLFxuICAgICAgICAgICAgWy0zLCAtNiwgLTMsIC01LCAtOSwgLTUsIC01LCAtNSwgLTUsIC01LCAtNiwgLTUsIC01LCAtOCwgLTUsIC0zLCAtNCwgLTExLCAtNywgLTUsIC01LCAtNSwgLTUsIC0xN10sXG4gICAgICAgICAgICBbLTE3LCAtMTcsIC0xNywgLTE3LCAtMTcsIC0xNywgLTE3LCAtMTcsIC0xNywgLTE3LCAtMTcsIC0xNywgLTE3LCAtMTcsIC0xNywgLTE3LCAtMTcsIC0xNywgLTE3LCAtMTcsIC0xNywgLTE3LCAtMTcsIDFdXTtcbiAgICAgICAgdGhpcy5QQU03MCA9IFtbNSwgLTQsIC0yLCAtMSwgLTQsIC0yLCAtMSwgMCwgLTQsIC0yLCAtNCwgLTQsIC0zLCAtNiwgMCwgMSwgMSwgLTksIC01LCAtMSwgLTEsIC0xLCAtMiwgLTExXSxcbiAgICAgICAgICAgIFstNCwgOCwgLTMsIC02LCAtNSwgMCwgLTUsIC02LCAwLCAtMywgLTYsIDIsIC0yLCAtNywgLTIsIC0xLCAtNCwgMCwgLTcsIC01LCAtNCwgLTIsIC0zLCAtMTFdLFxuICAgICAgICAgICAgWy0yLCAtMywgNiwgMywgLTcsIC0xLCAwLCAtMSwgMSwgLTMsIC01LCAwLCAtNSwgLTYsIC0zLCAxLCAwLCAtNiwgLTMsIC01LCA1LCAtMSwgLTIsIC0xMV0sXG4gICAgICAgICAgICBbLTEsIC02LCAzLCA2LCAtOSwgMCwgMywgLTEsIC0xLCAtNSwgLTgsIC0yLCAtNywgLTEwLCAtNCwgLTEsIC0yLCAtMTAsIC03LCAtNSwgNSwgMiwgLTMsIC0xMV0sXG4gICAgICAgICAgICBbLTQsIC01LCAtNywgLTksIDksIC05LCAtOSwgLTYsIC01LCAtNCwgLTEwLCAtOSwgLTksIC04LCAtNSwgLTEsIC01LCAtMTEsIC0yLCAtNCwgLTgsIC05LCAtNiwgLTExXSxcbiAgICAgICAgICAgIFstMiwgMCwgLTEsIDAsIC05LCA3LCAyLCAtNCwgMiwgLTUsIC0zLCAtMSwgLTIsIC05LCAtMSwgLTMsIC0zLCAtOCwgLTgsIC00LCAtMSwgNSwgLTIsIC0xMV0sXG4gICAgICAgICAgICBbLTEsIC01LCAwLCAzLCAtOSwgMiwgNiwgLTIsIC0yLCAtNCwgLTYsIC0yLCAtNCwgLTksIC0zLCAtMiwgLTMsIC0xMSwgLTYsIC00LCAyLCA1LCAtMywgLTExXSxcbiAgICAgICAgICAgIFswLCAtNiwgLTEsIC0xLCAtNiwgLTQsIC0yLCA2LCAtNiwgLTYsIC03LCAtNSwgLTYsIC03LCAtMywgMCwgLTMsIC0xMCwgLTksIC0zLCAtMSwgLTMsIC0zLCAtMTFdLFxuICAgICAgICAgICAgWy00LCAwLCAxLCAtMSwgLTUsIDIsIC0yLCAtNiwgOCwgLTYsIC00LCAtMywgLTYsIC00LCAtMiwgLTMsIC00LCAtNSwgLTEsIC00LCAwLCAxLCAtMywgLTExXSxcbiAgICAgICAgICAgIFstMiwgLTMsIC0zLCAtNSwgLTQsIC01LCAtNCwgLTYsIC02LCA3LCAxLCAtNCwgMSwgMCwgLTUsIC00LCAtMSwgLTksIC00LCAzLCAtNCwgLTQsIC0zLCAtMTFdLFxuICAgICAgICAgICAgWy00LCAtNiwgLTUsIC04LCAtMTAsIC0zLCAtNiwgLTcsIC00LCAxLCA2LCAtNSwgMiwgLTEsIC01LCAtNiwgLTQsIC00LCAtNCwgMCwgLTYsIC00LCAtNCwgLTExXSxcbiAgICAgICAgICAgIFstNCwgMiwgMCwgLTIsIC05LCAtMSwgLTIsIC01LCAtMywgLTQsIC01LCA2LCAwLCAtOSwgLTQsIC0yLCAtMSwgLTcsIC03LCAtNiwgLTEsIC0yLCAtMywgLTExXSxcbiAgICAgICAgICAgIFstMywgLTIsIC01LCAtNywgLTksIC0yLCAtNCwgLTYsIC02LCAxLCAyLCAwLCAxMCwgLTIsIC01LCAtMywgLTIsIC04LCAtNywgMCwgLTYsIC0zLCAtMywgLTExXSxcbiAgICAgICAgICAgIFstNiwgLTcsIC02LCAtMTAsIC04LCAtOSwgLTksIC03LCAtNCwgMCwgLTEsIC05LCAtMiwgOCwgLTcsIC00LCAtNiwgLTIsIDQsIC01LCAtNywgLTksIC01LCAtMTFdLFxuICAgICAgICAgICAgWzAsIC0yLCAtMywgLTQsIC01LCAtMSwgLTMsIC0zLCAtMiwgLTUsIC01LCAtNCwgLTUsIC03LCA3LCAwLCAtMiwgLTksIC05LCAtMywgLTQsIC0yLCAtMywgLTExXSxcbiAgICAgICAgICAgIFsxLCAtMSwgMSwgLTEsIC0xLCAtMywgLTIsIDAsIC0zLCAtNCwgLTYsIC0yLCAtMywgLTQsIDAsIDUsIDIsIC0zLCAtNSwgLTMsIDAsIC0yLCAtMSwgLTExXSxcbiAgICAgICAgICAgIFsxLCAtNCwgMCwgLTIsIC01LCAtMywgLTMsIC0zLCAtNCwgLTEsIC00LCAtMSwgLTIsIC02LCAtMiwgMiwgNiwgLTgsIC00LCAtMSwgLTEsIC0zLCAtMiwgLTExXSxcbiAgICAgICAgICAgIFstOSwgMCwgLTYsIC0xMCwgLTExLCAtOCwgLTExLCAtMTAsIC01LCAtOSwgLTQsIC03LCAtOCwgLTIsIC05LCAtMywgLTgsIDEzLCAtMywgLTEwLCAtNywgLTEwLCAtNywgLTExXSxcbiAgICAgICAgICAgIFstNSwgLTcsIC0zLCAtNywgLTIsIC04LCAtNiwgLTksIC0xLCAtNCwgLTQsIC03LCAtNywgNCwgLTksIC01LCAtNCwgLTMsIDksIC01LCAtNCwgLTcsIC01LCAtMTFdLFxuICAgICAgICAgICAgWy0xLCAtNSwgLTUsIC01LCAtNCwgLTQsIC00LCAtMywgLTQsIDMsIDAsIC02LCAwLCAtNSwgLTMsIC0zLCAtMSwgLTEwLCAtNSwgNiwgLTUsIC00LCAtMiwgLTExXSxcbiAgICAgICAgICAgIFstMSwgLTQsIDUsIDUsIC04LCAtMSwgMiwgLTEsIDAsIC00LCAtNiwgLTEsIC02LCAtNywgLTQsIDAsIC0xLCAtNywgLTQsIC01LCA1LCAxLCAtMiwgLTExXSxcbiAgICAgICAgICAgIFstMSwgLTIsIC0xLCAyLCAtOSwgNSwgNSwgLTMsIDEsIC00LCAtNCwgLTIsIC0zLCAtOSwgLTIsIC0yLCAtMywgLTEwLCAtNywgLTQsIDEsIDUsIC0zLCAtMTFdLFxuICAgICAgICAgICAgWy0yLCAtMywgLTIsIC0zLCAtNiwgLTIsIC0zLCAtMywgLTMsIC0zLCAtNCwgLTMsIC0zLCAtNSwgLTMsIC0xLCAtMiwgLTcsIC01LCAtMiwgLTIsIC0zLCAtMywgLTExXSxcbiAgICAgICAgICAgIFstMTEsIC0xMSwgLTExLCAtMTEsIC0xMSwgLTExLCAtMTEsIC0xMSwgLTExLCAtMTEsIC0xMSwgLTExLCAtMTEsIC0xMSwgLTExLCAtMTEsIC0xMSwgLTExLCAtMTEsIC0xMSwgLTExLCAtMTEsIC0xMSwgMV1dO1xuICAgICAgICB0aGlzLlBBTTI1MCA9IFtbMiwgLTIsIDAsIDAsIC0yLCAwLCAwLCAxLCAtMSwgLTEsIC0yLCAtMSwgLTEsIC0zLCAxLCAxLCAxLCAtNiwgLTMsIDAsIDAsIDAsIDAsIC04XSxcbiAgICAgICAgICAgIFstMiwgNiwgMCwgLTEsIC00LCAxLCAtMSwgLTMsIDIsIC0yLCAtMywgMywgMCwgLTQsIDAsIDAsIC0xLCAyLCAtNCwgLTIsIC0xLCAwLCAtMSwgLThdLFxuICAgICAgICAgICAgWzAsIDAsIDIsIDIsIC00LCAxLCAxLCAwLCAyLCAtMiwgLTMsIDEsIC0yLCAtMywgMCwgMSwgMCwgLTQsIC0yLCAtMiwgMiwgMSwgMCwgLThdLFxuICAgICAgICAgICAgWzAsIC0xLCAyLCA0LCAtNSwgMiwgMywgMSwgMSwgLTIsIC00LCAwLCAtMywgLTYsIC0xLCAwLCAwLCAtNywgLTQsIC0yLCAzLCAzLCAtMSwgLThdLFxuICAgICAgICAgICAgWy0yLCAtNCwgLTQsIC01LCAxMiwgLTUsIC01LCAtMywgLTMsIC0yLCAtNiwgLTUsIC01LCAtNCwgLTMsIDAsIC0yLCAtOCwgMCwgLTIsIC00LCAtNSwgLTMsIC04XSxcbiAgICAgICAgICAgIFswLCAxLCAxLCAyLCAtNSwgNCwgMiwgLTEsIDMsIC0yLCAtMiwgMSwgLTEsIC01LCAwLCAtMSwgLTEsIC01LCAtNCwgLTIsIDEsIDMsIC0xLCAtOF0sXG4gICAgICAgICAgICBbMCwgLTEsIDEsIDMsIC01LCAyLCA0LCAwLCAxLCAtMiwgLTMsIDAsIC0yLCAtNSwgLTEsIDAsIDAsIC03LCAtNCwgLTIsIDMsIDMsIC0xLCAtOF0sXG4gICAgICAgICAgICBbMSwgLTMsIDAsIDEsIC0zLCAtMSwgMCwgNSwgLTIsIC0zLCAtNCwgLTIsIC0zLCAtNSwgMCwgMSwgMCwgLTcsIC01LCAtMSwgMCwgMCwgLTEsIC04XSxcbiAgICAgICAgICAgIFstMSwgMiwgMiwgMSwgLTMsIDMsIDEsIC0yLCA2LCAtMiwgLTIsIDAsIC0yLCAtMiwgMCwgLTEsIC0xLCAtMywgMCwgLTIsIDEsIDIsIC0xLCAtOF0sXG4gICAgICAgICAgICBbLTEsIC0yLCAtMiwgLTIsIC0yLCAtMiwgLTIsIC0zLCAtMiwgNSwgMiwgLTIsIDIsIDEsIC0yLCAtMSwgMCwgLTUsIC0xLCA0LCAtMiwgLTIsIC0xLCAtOF0sXG4gICAgICAgICAgICBbLTIsIC0zLCAtMywgLTQsIC02LCAtMiwgLTMsIC00LCAtMiwgMiwgNiwgLTMsIDQsIDIsIC0zLCAtMywgLTIsIC0yLCAtMSwgMiwgLTMsIC0zLCAtMSwgLThdLFxuICAgICAgICAgICAgWy0xLCAzLCAxLCAwLCAtNSwgMSwgMCwgLTIsIDAsIC0yLCAtMywgNSwgMCwgLTUsIC0xLCAwLCAwLCAtMywgLTQsIC0yLCAxLCAwLCAtMSwgLThdLFxuICAgICAgICAgICAgWy0xLCAwLCAtMiwgLTMsIC01LCAtMSwgLTIsIC0zLCAtMiwgMiwgNCwgMCwgNiwgMCwgLTIsIC0yLCAtMSwgLTQsIC0yLCAyLCAtMiwgLTIsIC0xLCAtOF0sXG4gICAgICAgICAgICBbLTMsIC00LCAtMywgLTYsIC00LCAtNSwgLTUsIC01LCAtMiwgMSwgMiwgLTUsIDAsIDksIC01LCAtMywgLTMsIDAsIDcsIC0xLCAtNCwgLTUsIC0yLCAtOF0sXG4gICAgICAgICAgICBbMSwgMCwgMCwgLTEsIC0zLCAwLCAtMSwgMCwgMCwgLTIsIC0zLCAtMSwgLTIsIC01LCA2LCAxLCAwLCAtNiwgLTUsIC0xLCAtMSwgMCwgLTEsIC04XSxcbiAgICAgICAgICAgIFsxLCAwLCAxLCAwLCAwLCAtMSwgMCwgMSwgLTEsIC0xLCAtMywgMCwgLTIsIC0zLCAxLCAyLCAxLCAtMiwgLTMsIC0xLCAwLCAwLCAwLCAtOF0sXG4gICAgICAgICAgICBbMSwgLTEsIDAsIDAsIC0yLCAtMSwgMCwgMCwgLTEsIDAsIC0yLCAwLCAtMSwgLTMsIDAsIDEsIDMsIC01LCAtMywgMCwgMCwgLTEsIDAsIC04XSxcbiAgICAgICAgICAgIFstNiwgMiwgLTQsIC03LCAtOCwgLTUsIC03LCAtNywgLTMsIC01LCAtMiwgLTMsIC00LCAwLCAtNiwgLTIsIC01LCAxNywgMCwgLTYsIC01LCAtNiwgLTQsIC04XSxcbiAgICAgICAgICAgIFstMywgLTQsIC0yLCAtNCwgMCwgLTQsIC00LCAtNSwgMCwgLTEsIC0xLCAtNCwgLTIsIDcsIC01LCAtMywgLTMsIDAsIDEwLCAtMiwgLTMsIC00LCAtMiwgLThdLFxuICAgICAgICAgICAgWzAsIC0yLCAtMiwgLTIsIC0yLCAtMiwgLTIsIC0xLCAtMiwgNCwgMiwgLTIsIDIsIC0xLCAtMSwgLTEsIDAsIC02LCAtMiwgNCwgLTIsIC0yLCAtMSwgLThdLFxuICAgICAgICAgICAgWzAsIC0xLCAyLCAzLCAtNCwgMSwgMywgMCwgMSwgLTIsIC0zLCAxLCAtMiwgLTQsIC0xLCAwLCAwLCAtNSwgLTMsIC0yLCAzLCAyLCAtMSwgLThdLFxuICAgICAgICAgICAgWzAsIDAsIDEsIDMsIC01LCAzLCAzLCAwLCAyLCAtMiwgLTMsIDAsIC0yLCAtNSwgMCwgMCwgLTEsIC02LCAtNCwgLTIsIDIsIDMsIC0xLCAtOF0sXG4gICAgICAgICAgICBbMCwgLTEsIDAsIC0xLCAtMywgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMiwgLTEsIDAsIDAsIC00LCAtMiwgLTEsIC0xLCAtMSwgLTEsIC04XSxcbiAgICAgICAgICAgIFstOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIC04LCAtOCwgLTgsIDFdXTtcbiAgICAgICAgdGhpcy5TQ0hORUlERVIgPSBbWzExLjYsIC0yLjcsIDkuNywgLTEuNywgLTIuNywgLTYuNCwgLTMuOSwgLTUuNiwgNS4xLCAtNS4wLCAzLjYsIC00LjIsIC02LjMsIC0xMy4wLCAtNy4xLCAtMTEuNSwgMC40LCAtNi4wLCAtMS45LCAtNS4zLCAtOC41LCAtMTEuMiwgLTguOSwgLTEwLjgsIDIuMSwgMC4wLCAxLjQsIDAuMiwgLTEwLjIsIC0xMy41LCAtMTMuMCwgLTEyLjUsIC0yLjYsIC04LjUsIC01LjAsIC04LjEsIC02LjMsIC05LjksIC03LjUsIC05LjAsIC03LjEsIC0xMC4yLCAtOC4yLCAtOS4yLCAtOC4yLCAtMTIuNSwgLTExLjEsIC0xMS40LCAtNTAuMCwgLTE0LjgsIC01MC4wLCAtMTMuOCwgLTcuMywgLTEwLjEsIC04LjQsIC05LjEsIC01MC4wLCAtMTMuMCwgLTEzLjUsIC0xMi40LCAtMTAuNywgLTE4LjEsIC0xMS44LCAtMTcuMixdLFxuICAgICAgICAgICAgWy0yLjcsIDEzLjAsIC0zLjMsIDEwLjksIC0zLjUsIC0wLjQsIC0zLjMsIC0xLjgsIC01LjQsIDQuNiwgLTUuNSwgMy4wLCAtMTAuMiwgLTcuOSwgLTkuOSwgLTkuNiwgLTUuMCwgMC41LCAtNS41LCAtMS4wLCAtMTAuMywgLTguMSwgLTkuNCwgLTkuNiwgLTguMSwgLTUuMCwgLTcuMywgLTYuMywgLTEzLjQsIC0xMS4zLCAtMTQuNCwgLTEyLjksIC02LjMsIDAuOCwgLTYuNCwgLTEuMSwgLTcuNCwgLTUuMCwgLTYuMiwgLTYuNSwgLTUuNiwgLTEuNiwgLTQuNywgLTMuMCwgLTEwLjgsIC04LjcsIC0xMS45LCAtMTAuMCwgLTUwLjAsIC02LjIsIC01MC4wLCAtNy41LCAtNi4zLCAtNC4zLCAtNi4yLCAtNS40LCAtNTAuMCwgLTcuMCwgLTE2LjMsIC04LjIsIC0xMy4yLCAtMTIuMywgLTEzLjEsIC0xMy4zLF0sXG4gICAgICAgICAgICBbOS43LCAtMy4zLCAxMS42LCAtMi44LCAtNC41LCAtNi43LCAtMy4xLCAtNi45LCAzLjMsIC01LjUsIDQuOCwgLTUuMSwgLTguOSwgLTEzLjIsIC01LjcsIC0xMi42LCAtMS41LCAtNi4xLCAtMC42LCAtNi4xLCAtMTAuMCwgLTExLjgsIC04LjYsIC0xMS45LCAxLjIsIDAuNSwgMi4yLCAwLjEsIC0xMS44LCAtMTQuMCwgLTExLjksIC0xMy40LCAtNC45LCAtOS4xLCAtMy40LCAtOC45LCAtOC4wLCAtMTAuMCwgLTcuMiwgLTEwLjAsIC05LjEsIC0xMC4yLCAtNy4xLCAtOS45LCAtMTAuMSwgLTEzLjAsIC0xMC42LCAtMTIuNywgLTUwLjAsIC0xNC45LCAtNTAuMCwgLTE0LjQsIC04LjksIC0xMC44LCAtOC45LCAtMTAuNCwgLTUwLjAsIC0xMy4xLCAtMTEuOCwgLTEzLjAsIC0xMi40LCAtMTkuNCwgLTExLjUsIC0xNy44LF0sXG4gICAgICAgICAgICBbLTEuNywgMTAuOSwgLTIuOCwgMTIuOSwgLTIuNywgLTIuMiwgLTIuOCwgMC4yLCAtNC44LCAyLjksIC01LjIsIDUuMiwgLTkuMSwgLTkuNSwgLTkuMCwgLTcuMCwgLTQuMCwgLTEuMCwgLTUuMCwgMS4wLCAtOS4wLCAtOC44LCAtOC45LCAtNy43LCAtNy4wLCAtNi44LCAtNy4xLCAtNC4zLCAtMTIuNCwgLTEyLjksIC0xMy45LCAtMTAuMCwgLTQuOSwgLTAuNywgLTUuNiwgMS40LCAtNi4wLCAtNi41LCAtNi4yLCAtNC44LCAtNS4xLCAtMy4yLCAtNS4wLCAtMS4yLCAtOS44LCAtOS45LCAtMTEuMywgLTguMiwgLTUwLjAsIC03LjYsIC01MC4wLCAtNS4xLCAtNS41LCAtNS44LCAtNS45LCAtNC4yLCAtNTAuMCwgLTguMywgLTE1LjUsIC01LjksIC0xMS42LCAtMTQuMiwgLTEyLjAsIC0xMS42LF0sXG4gICAgICAgICAgICBbLTIuNywgLTMuNSwgLTQuNSwgLTIuNywgMTEuNywgOS4wLCAxMC42LCA5LjYsIC0zLjIsIC0wLjcsIC01LjEsIC0wLjQsIDAuNywgLTQuNiwgLTAuNCwgLTMuNiwgLTQuOCwgLTguOSwgLTYuNSwgLTcuOCwgLTEuNCwgLTQuMSwgLTIuOSwgLTMuMywgLTguMCwgLTkuMSwgLTguMCwgLTguMiwgLTYuMCwgLTkuMywgLTcuNywgLTguNSwgLTYuNCwgLTEwLjEsIC03LjUsIC04LjYsIDIuOCwgLTAuNywgMC45LCAwLjEsIC01LjksIC03LjMsIC02LjUsIC02LjUsIC0wLjQsIC0zLjksIC0yLjYsIC0zLjEsIC01MC4wLCAtMTQuNiwgLTUwLjAsIC0xMi42LCAyLjksIDAuMSwgMS44LCAxLjAsIC01MC4wLCAtOS4yLCAtMTMuNiwgLTcuNywgLTQuOCwgLTEyLjIsIC02LjIsIC0xMS4wLF0sXG4gICAgICAgICAgICBbLTYuNCwgLTAuNCwgLTYuNywgLTIuMiwgOS4wLCAxMi4zLCA5LjgsIDkuNiwgLTcuMSwgMi40LCAtNy4yLCAwLjMsIC0yLjksIC0xLjIsIC0zLjAsIC0zLjMsIC03LjYsIC02LjcsIC04LjEsIC03LjksIC00LjksIC0xLjksIC00LjUsIC0zLjgsIC05LjUsIC03LjgsIC05LjMsIC04LjksIC05LjQsIC03LjEsIC05LjAsIC05LjAsIC05LjQsIC03LjUsIC05LjMsIC05LjIsIC0wLjcsIDIuNiwgMC4yLCAtMC4xLCAtOC4wLCAtNC42LCAtNy43LCAtNi4xLCAtMy42LCAtMS4wLCAtNC4xLCAtMy4xLCAtNTAuMCwgLTExLjYsIC01MC4wLCAtMTEuNiwgMC4yLCAyLjMsIDAuNCwgMC41LCAtNTAuMCwgLTYuNSwgLTE1LjMsIC03LjgsIC04LjQsIC05LjUsIC04LjMsIC0xMS4xLF0sXG4gICAgICAgICAgICBbLTMuOSwgLTMuMywgLTMuMSwgLTIuOCwgMTAuNiwgOS44LCAxMi4yLCA5LjgsIC00LjksIDAuMSwgLTMuNiwgLTAuMiwgLTEuNywgLTQuMSwgMC45LCAtMy41LCAtNS45LCAtOC45LCAtNS42LCAtOC41LCAtMy45LCAtMy45LCAtMi4yLCAtNC41LCAtNy4zLCAtNy41LCAtNi40LCAtOC41LCAtNy4xLCAtOC4yLCAtNi43LCAtNy44LCAtNy45LCAtOS4xLCAtNy4xLCAtOS40LCAwLjksIC0wLjIsIDIuNSwgLTAuMywgLTYuOSwgLTYuNSwgLTUuNSwgLTYuOCwgLTEuNywgLTMuNCwgLTEuNywgLTIuOCwgLTUwLjAsIC0xMy4wLCAtNTAuMCwgLTExLjUsIDEuNSwgMC43LCAyLjcsIDAuNiwgLTUwLjAsIC04LjksIC0xMi4xLCAtNy40LCAtNi4xLCAtMTEuNSwgLTUuNCwgLTEwLjQsXSxcbiAgICAgICAgICAgIFstNS42LCAtMS44LCAtNi45LCAwLjIsIDkuNiwgOS42LCA5LjgsIDExLjYsIC02LjYsIDAuOSwgLTcuMiwgMi41LCAtMi4zLCAtMy40LCAtMi4zLCAtMC42LCAtNi41LCAtOC4yLCAtOC4wLCAtNi4zLCAtMy43LCAtMy41LCAtMy45LCAtMS42LCAtOS45LCAtOC45LCAtOS42LCAtNy4wLCAtOC42LCAtOC45LCAtOC44LCAtNi44LCAtOC42LCAtOC4yLCAtOC44LCAtNi44LCAwLjMsIDAuMSwgMC4yLCAyLjQsIC03LjQsIC02LjIsIC02LjksIC00LjQsIC0yLjksIC0yLjksIC0zLjUsIC0wLjksIC01MC4wLCAtMTIuMiwgLTUwLjAsIC0xMC4xLCAxLjIsIDAuNiwgMS4yLCAyLjQsIC01MC4wLCAtNy42LCAtMTYuMSwgLTUuOCwgLTcuMiwgLTEwLjgsIC03LjQsIC05LjAsXSxcbiAgICAgICAgICAgIFs1LjEsIC01LjQsIDMuMywgLTQuOCwgLTMuMiwgLTcuMSwgLTQuOSwgLTYuNiwgMTMuMywgLTIuOCwgMTEuMiwgLTEuOSwgLTUuNywgLTEyLjUsIC03LjIsIC0xMS42LCAtMC43LCAtNC44LCAtMy4xLCAtNC4zLCAtMTAuMCwgLTExLjYsIC04LjgsIC0xMS43LCAxMC41LCA3LjcsIDkuMSwgOC41LCAtOS44LCAtMTIuNywgLTExLjcsIC0xMS44LCAtNi4zLCAtMTEuNCwgLTguOCwgLTExLjAsIC03LjUsIC0xMC4zLCAtOC4zLCAtOS45LCAtMS45LCAtNi43LCAtNC4xLCAtNi40LCAtNy45LCAtMTIuNSwgLTExLjQsIC0xMS43LCAtNTAuMCwgLTE0LjAsIC01MC4wLCAtMTMuMiwgLTguNSwgLTEwLjQsIC05LjEsIC05LjYsIC01MC4wLCAtOS44LCAtNy43LCAtOC44LCAtMTAuMywgLTE3LjksIC0xMS44LCAtMTYuMCxdLFxuICAgICAgICAgICAgWy01LjAsIDQuNiwgLTUuNSwgMi45LCAtMC43LCAyLjQsIDAuMSwgMC45LCAtMi44LCAxMi44LCAtMi42LCAxMS4wLCAtOC40LCAtNi4zLCAtOC4zLCAtNy43LCAtNi4xLCAtMi45LCAtNi41LCAtNC4yLCAtOC41LCAtNS45LCAtNy41LCAtNy43LCAtNS41LCAtMi40LCAtNS41LCAtNC4xLCAtMTIuOSwgLTEwLjMsIC0xMi43LCAtMTEuMywgLTcuNCwgLTMuMSwgLTcuNCwgLTQuOSwgLTQuNCwgLTEuOCwgLTMuNSwgLTMuNSwgLTEuNiwgMy4wLCAtMC44LCAwLjksIC04LjQsIC02LjMsIC05LjYsIC03LjMsIC01MC4wLCAtOS4wLCAtNTAuMCwgLTkuNywgLTIuMywgLTAuMiwgLTEuMiwgLTEuNSwgLTUwLjAsIC0wLjcsIC0xMy4zLCAtMi4wLCAtMTEuOCwgLTExLjksIC0xMi4zLCAtMTIuNyxdLFxuICAgICAgICAgICAgWzMuNiwgLTUuNSwgNC44LCAtNS4yLCAtNS4xLCAtNy4yLCAtMy42LCAtNy4yLCAxMS4yLCAtMi42LCAxMy40LCAtMi4xLCAtNy43LCAtMTIuNSwgLTUuMywgLTExLjksIC0yLjIsIC00LjQsIC0xLjksIC00LjgsIC0xMC4yLCAtMTEuNSwgLTguMSwgLTEyLjAsIDkuMywgOC4yLCAxMC4wLCA4LjAsIC0xMC44LCAtMTEuOSwgLTEwLjcsIC0xMi40LCAtOC4yLCAtMTEuOCwgLTYuOSwgLTExLjUsIC04LjQsIC05LjksIC03LjEsIC0xMC42LCAtNC43LCAtNi44LCAtMS4yLCAtNy4wLCAtOS44LCAtMTEuNiwgLTkuNiwgLTEyLjEsIC01MC4wLCAtMTQuMSwgLTUwLjAsIC0xMi43LCAtMTAuMCwgLTEwLjgsIC04LjgsIC0xMC41LCAtNTAuMCwgLTkuMiwgLTQuMiwgLTkuMywgLTExLjAsIC0xOC4yLCAtMTEuMSwgLTE2LjEsXSxcbiAgICAgICAgICAgIFstNC4yLCAzLjAsIC01LjEsIDUuMiwgLTAuNCwgMC4zLCAtMC4yLCAyLjUsIC0xLjksIDExLjAsIC0yLjEsIDEzLjIsIC03LjYsIC04LjUsIC04LjAsIC01LjMsIC01LjYsIC00LjUsIC02LjgsIC0yLjQsIC03LjgsIC03LjksIC03LjksIC02LjIsIC01LjcsIC01LjEsIC01LjQsIC0yLjEsIC0xMi40LCAtMTIuMywgLTEzLjEsIC0xMC4xLCAtNi42LCAtNC40LCAtNi45LCAtMi42LCAtMy42LCAtMy44LCAtMy43LCAtMi4wLCAtMS40LCAwLjgsIC0wLjksIDMuMCwgLTguMiwgLTguMSwgLTkuMiwgLTUuOCwgLTUwLjAsIC0xMC4xLCAtNTAuMCwgLTcuNCwgLTEuNywgLTIuMCwgLTEuNSwgLTAuNSwgLTUwLjAsIC0yLjEsIC0xMi42LCAtMC40LCAtMTEuNiwgLTEzLjksIC0xMS40LCAtMTEuMSxdLFxuICAgICAgICAgICAgWy02LjMsIC0xMC4yLCAtOC45LCAtOS4xLCAwLjcsIC0yLjksIC0xLjcsIC0yLjMsIC01LjcsIC04LjQsIC03LjcsIC03LjYsIDEzLjIsIDkuNiwgMy41LCA5LjcsIC04LjcsIC0xMi40LCAtMTAuNywgLTEwLjcsIC03LjgsIC0xMC4yLCAtOC44LCAtOS42LCAtOS41LCAtMTEuOSwgLTEwLjksIC0xMC41LCAyLjMsIC0wLjQsIC0wLjIsIC0wLjMsIC05LjcsIC0xNS41LCAtMTEuNCwgLTEzLjcsIC0zLjAsIC02LjQsIC00LjEsIC01LjQsIC05LjYsIC0xMS45LCAtMTAuNSwgLTExLjgsIDYuMiwgMy4zLCAzLjcsIDMuNiwgLTUwLjAsIC0xMy42LCAtNTAuMCwgLTExLjksIC01LjYsIC04LjgsIC03LjIsIC04LjksIC01MC4wLCAtMTIuNCwgLTE0LjEsIC0xMS42LCAyLjgsIC02LjQsIDAuNSwgLTUuMixdLFxuICAgICAgICAgICAgWy0xMy4wLCAtNy45LCAtMTMuMiwgLTkuNSwgLTQuNiwgLTEuMiwgLTQuMSwgLTMuNCwgLTEyLjUsIC02LjMsIC0xMi41LCAtOC41LCA5LjYsIDEyLjcsIDAuMiwgMTAuNSwgLTEyLjQsIC0xMS42LCAtMTMuMiwgLTEyLjAsIC0xMi40LCAtMTAuMSwgLTExLjYsIC0xMi4wLCAtMTUuMSwgLTEzLjEsIC0xNC4zLCAtMTMuNCwgLTEuNCwgMS40LCAtMS42LCAtMC41LCAtMTQuOSwgLTE0LjMsIC0xNS4yLCAtMTYuOCwgLTcuNywgLTQuNywgLTYuMywgLTYuNiwgLTE0LjYsIC0xMC44LCAtMTIuOCwgLTEzLjAsIDIuMywgNi4wLCAyLjUsIDMuNiwgLTUwLjAsIC0xMS4yLCAtNTAuMCwgLTExLjksIC0xMC41LCAtOS4yLCAtMTAuNSwgLTEwLjUsIC01MC4wLCAtMTAuMywgLTE2LjIsIC0xMS4zLCAtMS43LCAtMy43LCAtMi41LCAtNS40LF0sXG4gICAgICAgICAgICBbLTcuMSwgLTkuOSwgLTUuNywgLTkuMCwgLTAuNCwgLTMuMCwgMC45LCAtMi4zLCAtNy4yLCAtOC4zLCAtNS4zLCAtOC4wLCAzLjUsIDAuMiwgMTQuMywgMS4wLCAtNy4zLCAtMTEuMiwgLTYuOSwgLTkuNywgLTguNSwgLTEwLjIsIC03LjcsIC05LjgsIC0xMC4wLCAtMTAuNCwgLTguNCwgLTEwLjIsIDEuMCwgLTAuNiwgMS43LCAtMC41LCAtMTEuMSwgLTE0LjgsIC05LjcsIC0xNC41LCAtMy43LCAtNS44LCAtMy4xLCAtNS42LCAtMTAuNCwgLTExLjUsIC04LjIsIC0xMS4xLCAwLjYsIC0xLjYsIDEuNiwgLTEuMSwgLTUwLjAsIC0xMi40LCAtNTAuMCwgLTExLjUsIC01LjUsIC04LjAsIC00LjksIC03LjIsIC01MC4wLCAtMTIuNCwgLTEwLjMsIC0xMS42LCAwLjcsIC02LjgsIDIuNCwgLTYuMCxdLFxuICAgICAgICAgICAgWy0xMS41LCAtOS42LCAtMTIuNiwgLTcuMCwgLTMuNiwgLTMuMywgLTMuNSwgLTAuNiwgLTExLjYsIC03LjcsIC0xMS45LCAtNS4zLCA5LjcsIDEwLjUsIDEuMCwgMTIuNiwgLTEyLjAsIC0xMi4yLCAtMTIuNSwgLTkuNywgLTExLjEsIC0xMS4yLCAtMTEuOSwgLTkuNCwgLTEyLjksIC0xNC4zLCAtMTQuMCwgLTExLjksIC0xLjAsIC0wLjQsIC0xLjYsIDEuMiwgLTEzLjksIC0xNS40LCAtMTMuNywgLTEyLjYsIC02LjIsIC02LjcsIC02LjMsIC00LjQsIC0xMy4wLCAtMTIuMiwgLTEzLjAsIC0xMC40LCAyLjksIDMuOCwgMi41LCA1LjgsIC01MC4wLCAtMTIuNSwgLTUwLjAsIC0xMC4yLCAtOS42LCAtOS43LCAtOS42LCAtOC4zLCAtNTAuMCwgLTExLjYsIC0xNS40LCAtOS40LCAtMS4xLCAtNS40LCAtMS42LCAtMy4zLF0sXG4gICAgICAgICAgICBbMC40LCAtNS4wLCAtMS41LCAtNC4wLCAtNC44LCAtNy42LCAtNS45LCAtNi41LCAtMC43LCAtNi4xLCAtMi4yLCAtNS42LCAtOC43LCAtMTIuNCwgLTcuMywgLTEyLjAsIDEyLjgsIDIuMywgMTAuMiwgMy4wLCAwLjAsIC0zLjQsIC0wLjcsIC0zLjIsIDIuNSwgLTAuOCwgMC45LCAwLjIsIC0zLjAsIC03LjIsIC01LjcsIC02LjEsIC0wLjIsIC02LjYsIC0xLjgsIC02LjAsIC01LjMsIC04LjIsIC01LjcsIC03LjYsIC02LjcsIC05LjYsIC03LjUsIC05LjMsIC03LjEsIC0xMC41LCAtOS42LCAtOS40LCAtNTAuMCwgLTguMSwgLTUwLjAsIC03LjIsIC00LjMsIC02LjgsIC01LjcsIC02LjMsIC01MC4wLCAtOS41LCAtOS42LCAtOC45LCAtNi4yLCAtMTIuOCwgLTYuOCwgLTExLjgsXSxcbiAgICAgICAgICAgIFstNi4wLCAwLjUsIC02LjEsIC0xLjAsIC04LjksIC02LjcsIC04LjksIC04LjIsIC00LjgsIC0yLjksIC00LjQsIC00LjUsIC0xMi40LCAtMTEuNiwgLTExLjIsIC0xMi4yLCAyLjMsIDE0LjYsIDEuOSwgMTIuOSwgLTUuNSwgLTIuNiwgLTQuMSwgLTQuNywgLTEuMiwgMy4wLCAtMS4xLCAxLjYsIC04LjAsIC00LjcsIC04LjcsIC02LjAsIC04LjIsIC00LjcsIC03LjgsIC02LjcsIC0xMC4wLCAtOC4zLCAtOC45LCAtOS45LCAtMTAuOCwgLTcuMSwgLTEwLjAsIC05LjIsIC0xMS42LCAtMTAuMSwgLTEyLjMsIC0xMS45LCAtNTAuMCwgMi4yLCAtNTAuMCwgMC45LCAtNy45LCAtNS45LCAtNy40LCAtNi45LCAtNTAuMCwgLTQuNiwgLTExLjYsIC01LjYsIC05LjcsIC01LjksIC05LjksIC03LjMsXSxcbiAgICAgICAgICAgIFstMS45LCAtNS41LCAtMC42LCAtNS4wLCAtNi41LCAtOC4xLCAtNS42LCAtOC4wLCAtMy4xLCAtNi41LCAtMS45LCAtNi44LCAtMTAuNywgLTEzLjIsIC02LjksIC0xMi41LCAxMC4yLCAxLjksIDExLjksIDIuMSwgLTIuMywgLTQuMSwgLTAuNSwgLTQuNiwgLTAuMSwgLTAuOSwgMi40LCAtMC44LCAtNS4xLCAtNi45LCAtNC44LCAtNi43LCAtMi4zLCAtNy4xLCAtMC44LCAtNy4yLCAtNy4yLCAtOC4wLCAtNS42LCAtOC41LCAtOS40LCAtOS43LCAtNy4yLCAtOS44LCAtOS4yLCAtMTEuMSwgLTkuNSwgLTEwLjcsIC01MC4wLCAtOC43LCAtNTAuMCwgLTguNiwgLTYuMSwgLTcuNSwgLTUuNSwgLTcuNywgLTUwLjAsIC0xMC40LCAtNy43LCAtMTAuMCwgLTcuMywgLTEzLjYsIC02LjQsIC0xMy4zLF0sXG4gICAgICAgICAgICBbLTUuMywgLTEuMCwgLTYuMSwgMS4wLCAtNy44LCAtNy45LCAtOC41LCAtNi4zLCAtNC4zLCAtNC4yLCAtNC44LCAtMi40LCAtMTAuNywgLTEyLjAsIC05LjcsIC05LjcsIDMuMCwgMTIuOSwgMi4xLCAxNC43LCAtNC45LCAtMy44LCAtNC4wLCAtMi40LCAtMS4wLCAwLjgsIC0xLjMsIDMuNCwgLTcuNiwgLTUuNywgLTguMSwgLTMuNSwgLTYuOCwgLTUuOCwgLTcuMiwgLTQuMiwgLTguOSwgLTEwLjIsIC04LjQsIC04LjIsIC05LjksIC04LjQsIC05LjcsIC02LjQsIC0xMS4xLCAtMTEuMSwgLTExLjgsIC0xMC4wLCAtNTAuMCwgMC40LCAtNTAuMCwgMi42LCAtNy4yLCAtNy4wLCAtNy40LCAtNS4xLCAtNTAuMCwgLTUuNywgLTkuOCwgLTMuMiwgLTguNCwgLTcuNCwgLTguOSwgLTUuOSxdLFxuICAgICAgICAgICAgWy04LjUsIC0xMC4zLCAtMTAuMCwgLTkuMCwgLTEuNCwgLTQuOSwgLTMuOSwgLTMuNywgLTEwLjAsIC04LjUsIC0xMC4yLCAtNy44LCAtNy44LCAtMTIuNCwgLTguNSwgLTExLjEsIDAuMCwgLTUuNSwgLTIuMywgLTQuOSwgMTIuNiwgMTAuMCwgMTEuMSwgMTAuNSwgLTYuMCwgLTguMywgLTYuOSwgLTcuNSwgLTIuMiwgLTcuNCwgLTUuMywgLTUuOSwgLTguOSwgLTEyLjUsIC05LjQsIC0xMS42LCAtMC43LCAtMy45LCAtMi4zLCAtMy4wLCAtOS4xLCAtOS44LCAtOS4yLCAtOS41LCAtNS42LCAtOS4wLCAtOC4wLCAtOC41LCAtNTAuMCwgLTE1LjMsIC01MC4wLCAtMTQuMSwgMi4zLCAtMS40LCAwLjMsIC0wLjUsIC01MC4wLCAtMTMuNiwgLTE0LjMsIC0xMS41LCAtNS4zLCAtMTMuNywgLTYuMSwgLTEyLjcsXSxcbiAgICAgICAgICAgIFstMTEuMiwgLTguMSwgLTExLjgsIC04LjgsIC00LjEsIC0xLjksIC0zLjksIC0zLjUsIC0xMS42LCAtNS45LCAtMTEuNSwgLTcuOSwgLTEwLjIsIC0xMC4xLCAtMTAuMiwgLTExLjIsIC0zLjQsIC0yLjYsIC00LjEsIC0zLjgsIDEwLjAsIDEzLjEsIDEwLjcsIDEwLjYsIC04LjEsIC01LjIsIC04LjAsIC02LjcsIC02LjEsIC0zLjcsIC03LjUsIC01LjYsIC0xMS4xLCAtMTAuMywgLTEwLjYsIC0xMS45LCAtMy4yLCAtMS4wLCAtMi4yLCAtMi44LCAtMTAuNSwgLTguMSwgLTkuNCwgLTkuNSwgLTguMywgLTYuOSwgLTkuNCwgLTguOCwgLTUwLjAsIC0xMS4zLCAtNTAuMCwgLTEyLjgsIC0wLjYsIDIuMiwgLTAuMywgMC4xLCAtNTAuMCwgLTEwLjEsIC0xNy41LCAtMTEuMSwgLTguNiwgLTkuOSwgLTguNiwgLTExLjksXSxcbiAgICAgICAgICAgIFstOC45LCAtOS40LCAtOC42LCAtOC45LCAtMi45LCAtNC41LCAtMi4yLCAtMy45LCAtOC44LCAtNy41LCAtOC4xLCAtNy45LCAtOC44LCAtMTEuNiwgLTcuNywgLTExLjksIC0wLjcsIC00LjEsIC0wLjUsIC00LjAsIDExLjEsIDEwLjcsIDEzLjIsIDEwLjQsIC01LjcsIC01LjgsIC0zLjUsIC02LjEsIC0zLjYsIC02LjUsIC0zLjMsIC01LjUsIC05LjQsIC0xMS4wLCAtOC43LCAtMTEuMiwgLTEuOCwgLTIuNywgMC43LCAtMy4wLCAtOS4xLCAtOC4yLCAtNy4zLCAtOS40LCAtNy4yLCAtOC4yLCAtNy4yLCAtOC4yLCAtNTAuMCwgLTEzLjIsIC01MC4wLCAtMTMuMywgMC41LCAtMC45LCAxLjgsIC0wLjYsIC01MC4wLCAtMTEuNCwgLTExLjEsIC0xMC41LCAtNi4xLCAtMTIuOSwgLTUuMCwgLTExLjksXSxcbiAgICAgICAgICAgIFstMTAuOCwgLTkuNiwgLTExLjksIC03LjcsIC0zLjMsIC0zLjgsIC00LjUsIC0xLjYsIC0xMS43LCAtNy43LCAtMTIuMCwgLTYuMiwgLTkuNiwgLTEyLjAsIC05LjgsIC05LjQsIC0zLjIsIC00LjcsIC00LjYsIC0yLjQsIDEwLjUsIDEwLjYsIDEwLjQsIDEyLjYsIC04LjIsIC03LjksIC05LjAsIC00LjcsIC02LjEsIC02LjAsIC03LjUsIC0yLjksIC0xMC45LCAtMTIuMiwgLTExLjIsIC0xMC45LCAtMi40LCAtMi45LCAtMi43LCAtMC45LCAtMTAuNCwgLTkuNywgLTEwLjIsIC04LjAsIC04LjQsIC05LjEsIC05LjMsIC02LjUsIC01MC4wLCAtMTMuMywgLTUwLjAsIC0xMS4wLCAtMC4wLCAtMC40LCAtMC40LCAyLjMsIC01MC4wLCAtMTAuOSwgLTE3LjIsIC04LjMsIC04LjMsIC0xMi43LCAtNy44LCAtOS4zLF0sXG4gICAgICAgICAgICBbMi4xLCAtOC4xLCAxLjIsIC03LjAsIC04LjAsIC05LjUsIC03LjMsIC05LjksIDEwLjUsIC01LjUsIDkuMywgLTUuNywgLTkuNSwgLTE1LjEsIC0xMC4wLCAtMTIuOSwgMi41LCAtMS4yLCAtMC4xLCAtMS4wLCAtNi4wLCAtOC4xLCAtNS43LCAtOC4yLCAxMy44LCAxMS4zLCAxMS44LCAxMi4xLCAtNi4wLCAtOS4xLCAtOS4wLCAtOS41LCAtOC45LCAtMTMuNCwgLTEwLjAsIC0xMy4xLCAtOS45LCAtMTEuNywgLTkuOCwgLTEyLjgsIC01LjksIC05LjQsIC02LjUsIC04LjEsIC0xMC43LCAtMTQuMCwgLTEzLjMsIC0xMy45LCAtNTAuMCwgLTExLjksIC01MC4wLCAtOS43LCAtOC45LCAtMTAuOCwgLTkuMCwgLTExLjEsIC01MC4wLCAtNi41LCAtNS4zLCAtNi4zLCAtMTAuNSwgLTE2LjIsIC0xMC40LCAtMTUuMixdLFxuICAgICAgICAgICAgWzAuMCwgLTUuMCwgMC41LCAtNi44LCAtOS4xLCAtNy44LCAtNy41LCAtOC45LCA3LjcsIC0yLjQsIDguMiwgLTUuMSwgLTExLjksIC0xMy4xLCAtMTAuNCwgLTE0LjMsIC0wLjgsIDMuMCwgLTAuOSwgMC44LCAtOC4zLCAtNS4yLCAtNS44LCAtNy45LCAxMS4zLCAxNS4wLCAxMS4yLCAxMi44LCAtOS43LCAtNS4zLCAtOS4yLCAtNy44LCAtMTEuNywgLTEwLjYsIC0xMC4xLCAtMTIuMiwgLTExLjcsIC04LjgsIC04LjksIC0xMS44LCAtOS4zLCAtNS4wLCAtOC4wLCAtOC4yLCAtMTMuNiwgLTExLjQsIC0xMi44LCAtMTMuMCwgLTUwLjAsIC03LjIsIC01MC4wLCAtOC40LCAtMTEuMCwgLTcuNywgLTguNywgLTEwLjIsIC01MC4wLCAtMS41LCAtNy4xLCAtNC45LCAtMTEuMiwgLTExLjYsIC0xMS42LCAtMTUuMCxdLFxuICAgICAgICAgICAgWzEuNCwgLTcuMywgMi4yLCAtNy4xLCAtOC4wLCAtOS4zLCAtNi40LCAtOS42LCA5LjEsIC01LjUsIDEwLjAsIC01LjQsIC0xMC45LCAtMTQuMywgLTguNCwgLTE0LjAsIDAuOSwgLTEuMSwgMi40LCAtMS4zLCAtNi45LCAtOC4wLCAtMy41LCAtOS4wLCAxMS44LCAxMS4yLCAxMy40LCAxMS40LCAtNy4zLCAtOC44LCAtNi41LCAtOC41LCAtMTAuMCwgLTEyLjUsIC03LjgsIC0xMi41LCAtOS42LCAtMTEuMCwgLTcuMSwgLTEwLjcsIC03LjksIC04LjAsIC00LjMsIC05LjQsIC0xMS40LCAtMTIuMywgLTEwLjksIC0xMi45LCAtNTAuMCwgLTExLjgsIC01MC4wLCAtMTEuMiwgLTkuNCwgLTkuOCwgLTcuMywgLTEwLjUsIC01MC4wLCAtNi4yLCAtMi4yLCAtNi43LCAtOS44LCAtMTUuMiwgLTguNSwgLTE0LjksXSxcbiAgICAgICAgICAgIFswLjIsIC02LjMsIDAuMSwgLTQuMywgLTguMiwgLTguOSwgLTguNSwgLTcuMCwgOC41LCAtNC4xLCA4LjAsIC0yLjEsIC0xMC41LCAtMTMuNCwgLTEwLjIsIC0xMS45LCAwLjIsIDEuNiwgLTAuOCwgMy40LCAtNy41LCAtNi43LCAtNi4xLCAtNC43LCAxMi4xLCAxMi44LCAxMS40LCAxNC43LCAtOC43LCAtNy40LCAtOS40LCAtNS4zLCAtOS45LCAtMTEuOCwgLTEwLjUsIC0xMC4zLCAtOS45LCAtMTAuMSwgLTkuMywgLTkuMywgLTguMSwgLTcuMiwgLTguMCwgLTUuMiwgLTEyLjAsIC0xMi4xLCAtMTIuNiwgLTEwLjksIC01MC4wLCAtNy45LCAtNTAuMCwgLTUuMywgLTkuMywgLTguOCwgLTguOSwgLTcuMCwgLTUwLjAsIC0zLjYsIC03LjEsIC0xLjIsIC0xMC4yLCAtMTIuNywgLTkuOSwgLTExLjAsXSxcbiAgICAgICAgICAgIFstMTAuMiwgLTEzLjQsIC0xMS44LCAtMTIuNCwgLTYuMCwgLTkuNCwgLTcuMSwgLTguNiwgLTkuOCwgLTEyLjksIC0xMC44LCAtMTIuNCwgMi4zLCAtMS40LCAxLjAsIC0xLjAsIC0zLjAsIC04LjAsIC01LjEsIC03LjYsIC0yLjIsIC02LjEsIC0zLjYsIC02LjEsIC02LjAsIC05LjcsIC03LjMsIC04LjcsIDExLjIsIDcuOSwgOC45LCA4LjEsIC0xMi4xLCAtMTcuNCwgLTEzLjIsIC0xNi44LCAtNi4zLCAtOS41LCAtNy41LCAtOC44LCAtMTIuNywgLTE1LjIsIC0xMy4xLCAtMTQuMiwgMC4wLCAtMy4xLCAtMS44LCAtMy4xLCAtNTAuMCwgLTEwLjcsIC01MC4wLCAtOS4zLCAtNC42LCAtOC45LCAtNS45LCAtOC4zLCAtNTAuMCwgLTEyLjgsIC05LjYsIC0xMC42LCA5LjUsIC0zLjIsIDguMiwgLTIuOCxdLFxuICAgICAgICAgICAgWy0xMy41LCAtMTEuMywgLTE0LjAsIC0xMi45LCAtOS4zLCAtNy4xLCAtOC4yLCAtOC45LCAtMTIuNywgLTEwLjMsIC0xMS45LCAtMTIuMywgLTAuNCwgMS40LCAtMC42LCAtMC40LCAtNy4yLCAtNC43LCAtNi45LCAtNS43LCAtNy40LCAtMy43LCAtNi41LCAtNi4wLCAtOS4xLCAtNS4zLCAtOC44LCAtNy40LCA3LjksIDExLjksIDcuOCwgOS4zLCAtMTUuMiwgLTE1LjEsIC0xNC42LCAtMTcuMiwgLTkuNywgLTcuMywgLTguMiwgLTkuMiwgLTE1LjAsIC0xMi44LCAtMTQuMSwgLTE0LjksIC0yLjgsIDAuMiwgLTIuOSwgLTIuMywgLTUwLjAsIC03LjQsIC01MC4wLCAtOC43LCAtOS40LCAtNy4zLCAtOS40LCAtOS40LCAtNTAuMCwgLTguMCwgLTExLjksIC05LjcsIDYuNSwgMC41LCA2LjQsIC0xLjgsXSxcbiAgICAgICAgICAgIFstMTMuMCwgLTE0LjQsIC0xMS45LCAtMTMuOSwgLTcuNywgLTkuMCwgLTYuNywgLTguOCwgLTExLjcsIC0xMi43LCAtMTAuNywgLTEzLjEsIC0wLjIsIC0xLjYsIDEuNywgLTEuNiwgLTUuNywgLTguNywgLTQuOCwgLTguMSwgLTUuMywgLTcuNSwgLTMuMywgLTcuNSwgLTkuMCwgLTkuMiwgLTYuNSwgLTkuNCwgOC45LCA3LjgsIDEwLjEsIDcuOCwgLTE0LjMsIC0xNy43LCAtMTMuMCwgLTE3LjgsIC04LjAsIC05LjQsIC02LjIsIC05LjIsIC0xNS4xLCAtMTQuOSwgLTEyLjIsIC0xNC45LCAtMS44LCAtMy4yLCAtMC44LCAtMy4yLCAtNTAuMCwgLTEwLjgsIC01MC4wLCAtOS45LCAtNy4zLCAtOS42LCAtNi40LCAtOS40LCAtNTAuMCwgLTEyLjMsIC04LjcsIC0xMS4zLCA3LjYsIC0zLjMsIDguNywgLTIuOSxdLFxuICAgICAgICAgICAgWy0xMi41LCAtMTIuOSwgLTEzLjQsIC0xMC4wLCAtOC41LCAtOS4wLCAtNy44LCAtNi44LCAtMTEuOCwgLTExLjMsIC0xMi40LCAtMTAuMSwgLTAuMywgLTAuNSwgLTAuNSwgMS4yLCAtNi4xLCAtNi4wLCAtNi43LCAtMy41LCAtNS45LCAtNS42LCAtNS41LCAtMi45LCAtOS41LCAtNy44LCAtOC41LCAtNS4zLCA4LjEsIDkuMywgNy44LCAxMS44LCAtMTQuNCwgLTE1LjcsIC0xNC41LCAtMTQuNiwgLTguNCwgLTguNywgLTcuOSwgLTcuMSwgLTE0LjMsIC0xMy44LCAtMTMuOCwgLTEyLjMsIC0yLjQsIC0yLjIsIC0yLjksIC0wLjIsIC01MC4wLCAtOC45LCAtNTAuMCwgLTcuMSwgLTguMSwgLTkuMSwgLTguNywgLTYuNiwgLTUwLjAsIC05LjcsIC0xMS40LCAtOC4wLCA2LjgsIC0xLjgsIDYuOSwgMC40LF0sXG4gICAgICAgICAgICBbLTIuNiwgLTYuMywgLTQuOSwgLTQuOSwgLTYuNCwgLTkuNCwgLTcuOSwgLTguNiwgLTYuMywgLTcuNCwgLTguMiwgLTYuNiwgLTkuNywgLTE0LjksIC0xMS4xLCAtMTMuOSwgLTAuMiwgLTguMiwgLTIuMywgLTYuOCwgLTguOSwgLTExLjEsIC05LjQsIC0xMC45LCAtOC45LCAtMTEuNywgLTEwLjAsIC05LjksIC0xMi4xLCAtMTUuMiwgLTE0LjMsIC0xNC40LCAxMS4xLCAyLjksIDkuMiwgMy41LCAtMy4wLCAtNy4wLCAtNC4zLCAtNi4yLCAtMi4yLCAtNi42LCAtMy43LCAtNS43LCAtNi4wLCAtMTAuNCwgLTguNiwgLTkuNSwgLTUwLjAsIC0xNS41LCAtNTAuMCwgLTEzLjksIC03LjgsIC0xMC41LCAtOC43LCAtOS42LCAtNTAuMCwgLTE2LjUsIC0xNy4xLCAtMTQuOCwgLTEyLjEsIC0xOC45LCAtMTIuNCwgLTE3LjQsXSxcbiAgICAgICAgICAgIFstOC41LCAwLjgsIC05LjEsIC0wLjcsIC0xMC4xLCAtNy41LCAtOS4xLCAtOC4yLCAtMTEuNCwgLTMuMSwgLTExLjgsIC00LjQsIC0xNS41LCAtMTQuMywgLTE0LjgsIC0xNS40LCAtNi42LCAtNC43LCAtNy4xLCAtNS44LCAtMTIuNSwgLTEwLjMsIC0xMS4wLCAtMTIuMiwgLTEzLjQsIC0xMC42LCAtMTIuNSwgLTExLjgsIC0xNy40LCAtMTUuMSwgLTE3LjcsIC0xNS43LCAyLjksIDEyLjUsIDMuMSwgMTAuMywgLTcuNywgLTUuMiwgLTYuMiwgLTcuMywgLTUuNCwgLTEuNywgLTUuNCwgLTMuNywgLTExLjYsIC05LjEsIC0xMy4wLCAtMTAuOCwgLTUwLjAsIC0xMC4zLCAtNTAuMCwgLTExLjIsIC05LjgsIC04LjMsIC05LjEsIC05LjcsIC01MC4wLCAtMTIuNywgLTIwLjYsIC0xMy4xLCAtMTYuMCwgLTE2LjYsIC0xNy4wLCAtMTguNCxdLFxuICAgICAgICAgICAgWy01LjAsIC02LjQsIC0zLjQsIC01LjYsIC03LjUsIC05LjMsIC03LjEsIC04LjgsIC04LjgsIC03LjQsIC02LjksIC02LjksIC0xMS40LCAtMTUuMiwgLTkuNywgLTEzLjcsIC0xLjgsIC03LjgsIC0wLjgsIC03LjIsIC05LjQsIC0xMC42LCAtOC43LCAtMTEuMiwgLTEwLjAsIC0xMC4xLCAtNy44LCAtMTAuNSwgLTEzLjIsIC0xNC42LCAtMTMuMCwgLTE0LjUsIDkuMiwgMy4xLCAxMC44LCAzLjAsIC00LjUsIC02LjcsIC0yLjcsIC02LjcsIC01LjAsIC02LjgsIC0yLjUsIC02LjcsIC03LjUsIC0xMC40LCAtNy40LCAtMTAuMiwgLTUwLjAsIC0xNS41LCAtNTAuMCwgLTE0LjIsIC04LjksIC0xMC4yLCAtOC41LCAtMTAuMCwgLTUwLjAsIC0xNS42LCAtMTUuMywgLTE1LjUsIC0xMy4wLCAtMTguOCwgLTEyLjYsIC0xOC4zLF0sXG4gICAgICAgICAgICBbLTguMSwgLTEuMSwgLTguOSwgMS40LCAtOC42LCAtOS4yLCAtOS40LCAtNi44LCAtMTEuMCwgLTQuOSwgLTExLjUsIC0yLjYsIC0xMy43LCAtMTYuOCwgLTE0LjUsIC0xMi42LCAtNi4wLCAtNi43LCAtNy4yLCAtNC4yLCAtMTEuNiwgLTExLjksIC0xMS4yLCAtMTAuOSwgLTEzLjEsIC0xMi4yLCAtMTIuNSwgLTEwLjMsIC0xNi44LCAtMTcuMiwgLTE3LjgsIC0xNC42LCAzLjUsIDEwLjMsIDMuMCwgMTIuNCwgLTYuOSwgLTcuNSwgLTYuOCwgLTQuOSwgLTUuNCwgLTQuMiwgLTUuNCwgLTEuMywgLTEwLjgsIC0xMS41LCAtMTIuNCwgLTguMiwgLTUwLjAsIC0xMi41LCAtNTAuMCwgLTguOSwgLTkuMiwgLTEwLjAsIC05LjQsIC03LjksIC01MC4wLCAtMTQuMywgLTE5LjksIC0xMS40LCAtMTYuMiwgLTE5LjIsIC0xNS44LCAtMTUuOSxdLFxuICAgICAgICAgICAgWy02LjMsIC03LjQsIC04LjAsIC02LjAsIDIuOCwgLTAuNywgMC45LCAwLjMsIC03LjUsIC00LjQsIC04LjQsIC0zLjYsIC0zLjAsIC03LjcsIC0zLjcsIC02LjIsIC01LjMsIC0xMC4wLCAtNy4yLCAtOC45LCAtMC43LCAtMy4yLCAtMS44LCAtMi40LCAtOS45LCAtMTEuNywgLTkuNiwgLTkuOSwgLTYuMywgLTkuNywgLTguMCwgLTguNCwgLTMuMCwgLTcuNywgLTQuNSwgLTYuOSwgMTEuMywgOC4yLCA5LjQsIDkuMSwgLTEuMCwgLTMuMywgLTEuOCwgLTIuNCwgMS41LCAtMi4xLCAtMC40LCAtMS4xLCAtNTAuMCwgLTE0LjUsIC01MC4wLCAtMTIuOSwgMi44LCAtMC4wLCAxLjQsIDAuNywgLTUwLjAsIC04LjcsIC0xNC4xLCAtNy41LCAtNS4yLCAtMTIuNSwgLTYuNSwgLTEwLjcsXSxcbiAgICAgICAgICAgIFstOS45LCAtNS4wLCAtMTAuMCwgLTYuNSwgLTAuNywgMi42LCAtMC4yLCAwLjEsIC0xMC4zLCAtMS44LCAtOS45LCAtMy44LCAtNi40LCAtNC43LCAtNS44LCAtNi43LCAtOC4yLCAtOC4zLCAtOC4wLCAtMTAuMiwgLTMuOSwgLTEuMCwgLTIuNywgLTIuOSwgLTExLjcsIC04LjgsIC0xMS4wLCAtMTAuMSwgLTkuNSwgLTcuMywgLTkuNCwgLTguNywgLTcuMCwgLTUuMiwgLTYuNywgLTcuNSwgOC4yLCAxMS42LCA4LjgsIDkuMSwgLTMuNywgLTAuOSwgLTMuMSwgLTMuMCwgLTIuMCwgMS4yLCAtMi4zLCAtMS4zLCAtNTAuMCwgLTEyLjEsIC01MC4wLCAtMTIuNiwgMC4xLCAyLjUsIDAuNywgMC42LCAtNTAuMCwgLTYuMCwgLTE0LjgsIC03LjUsIC04LjYsIC05LjQsIC04LjUsIC0xMS4yLF0sXG4gICAgICAgICAgICBbLTcuNSwgLTYuMiwgLTcuMiwgLTYuMiwgMC45LCAwLjIsIDIuNSwgMC4yLCAtOC4zLCAtMy41LCAtNy4xLCAtMy43LCAtNC4xLCAtNi4zLCAtMy4xLCAtNi4zLCAtNS43LCAtOC45LCAtNS42LCAtOC40LCAtMi4zLCAtMi4yLCAwLjcsIC0yLjcsIC05LjgsIC04LjksIC03LjEsIC05LjMsIC03LjUsIC04LjIsIC02LjIsIC03LjksIC00LjMsIC02LjIsIC0yLjcsIC02LjgsIDkuNCwgOC44LCAxMi4xLCA4LjgsIC0yLjEsIC0yLjAsIDAuMSwgLTIuNCwgMC4wLCAtMS4xLCAxLjMsIC0wLjgsIC01MC4wLCAtMTEuOSwgLTUwLjAsIC0xMi42LCAxLjIsIDAuNywgMy41LCAwLjgsIC01MC4wLCAtNy4xLCAtMTIuNCwgLTcuMSwgLTcuMSwgLTEwLjYsIC01LjAsIC0xMC42LF0sXG4gICAgICAgICAgICBbLTkuMCwgLTYuNSwgLTEwLjAsIC00LjgsIDAuMSwgLTAuMSwgLTAuMywgMi40LCAtOS45LCAtMy41LCAtMTAuNiwgLTIuMCwgLTUuNCwgLTYuNiwgLTUuNiwgLTQuNCwgLTcuNiwgLTkuOSwgLTguNSwgLTguMiwgLTMuMCwgLTIuOCwgLTMuMCwgLTAuOSwgLTEyLjgsIC0xMS44LCAtMTAuNywgLTkuMywgLTguOCwgLTkuMiwgLTkuMiwgLTcuMSwgLTYuMiwgLTcuMywgLTYuNywgLTQuOSwgOS4xLCA5LjEsIDguOCwgMTEuMiwgLTMuMSwgLTMuMCwgLTMuMywgLTEuMCwgLTEuMSwgLTEuNCwgLTIuMCwgMS4yLCAtNTAuMCwgLTEyLjgsIC01MC4wLCAtMTAuOSwgMC44LCAwLjUsIDAuNywgMi4zLCAtNTAuMCwgLTcuNSwgLTE2LjUsIC01LjksIC03LjgsIC0xMS4xLCAtNy44LCAtOS4wLF0sXG4gICAgICAgICAgICBbLTcuMSwgLTUuNiwgLTkuMSwgLTUuMSwgLTUuOSwgLTguMCwgLTYuOSwgLTcuNCwgLTEuOSwgLTEuNiwgLTQuNywgLTEuNCwgLTkuNiwgLTE0LjYsIC0xMC40LCAtMTMuMCwgLTYuNywgLTEwLjgsIC05LjQsIC05LjksIC05LjEsIC0xMC41LCAtOS4xLCAtMTAuNCwgLTUuOSwgLTkuMywgLTcuOSwgLTguMSwgLTEyLjcsIC0xNS4wLCAtMTUuMSwgLTE0LjMsIC0yLjIsIC01LjQsIC01LjAsIC01LjQsIC0xLjAsIC0zLjcsIC0yLjEsIC0zLjEsIDEyLjgsIDkuNiwgMTEuMSwgMTAuMSwgLTQuOCwgLTkuNCwgLTguMSwgLTguNiwgLTUwLjAsIC0xOC4zLCAtNTAuMCwgLTE1LjQsIC01LjksIC03LjUsIC02LjYsIC03LjEsIC01MC4wLCAtOS41LCAtMTEuNywgLTguNCwgLTEyLjUsIC0xNy4zLCAtMTMuMiwgLTE1LjQsXSxcbiAgICAgICAgICAgIFstMTAuMiwgLTEuNiwgLTEwLjIsIC0zLjIsIC03LjMsIC00LjYsIC02LjUsIC02LjIsIC02LjcsIDMuMCwgLTYuOCwgMC44LCAtMTEuOSwgLTEwLjgsIC0xMS41LCAtMTIuMiwgLTkuNiwgLTcuMSwgLTkuNywgLTguNCwgLTkuOCwgLTguMSwgLTguMiwgLTkuNywgLTkuNCwgLTUuMCwgLTguMCwgLTcuMiwgLTE1LjIsIC0xMi44LCAtMTQuOSwgLTEzLjgsIC02LjYsIC0xLjcsIC02LjgsIC00LjIsIC0zLjMsIC0wLjksIC0yLjAsIC0zLjAsIDkuNiwgMTIuOCwgOS43LCAxMC41LCAtOC41LCAtNS42LCAtOS4zLCAtNy44LCAtNTAuMCwgLTEyLjcsIC01MC4wLCAtMTMuOCwgLTYuOCwgLTUuMSwgLTUuMywgLTYuNSwgLTUwLjAsIC00LjEsIC0xMi44LCAtNS44LCAtMTQuNCwgLTE0LjEsIC0xMy42LCAtMTQuOCxdLFxuICAgICAgICAgICAgWy04LjIsIC00LjcsIC03LjEsIC01LjAsIC02LjUsIC03LjcsIC01LjUsIC02LjksIC00LjEsIC0wLjgsIC0xLjIsIC0wLjksIC0xMC41LCAtMTIuOCwgLTguMiwgLTEzLjAsIC03LjUsIC0xMC4wLCAtNy4yLCAtOS43LCAtOS4yLCAtOS40LCAtNy4zLCAtMTAuMiwgLTYuNSwgLTguMCwgLTQuMywgLTguMCwgLTEzLjEsIC0xNC4xLCAtMTIuMiwgLTEzLjgsIC0zLjcsIC01LjQsIC0yLjUsIC01LjQsIC0xLjgsIC0zLjEsIDAuMSwgLTMuMywgMTEuMSwgOS43LCAxMi45LCA5LjgsIC01LjUsIC04LjEsIC01LjQsIC03LjgsIC01MC4wLCAtMTYuNCwgLTUwLjAsIC0xNC44LCAtNS45LCAtNy4xLCAtNC43LCAtNy4yLCAtNTAuMCwgLTguNCwgLTYuNCwgLTguMSwgLTEyLjEsIC0xNi4yLCAtMTAuMywgLTE1LjgsXSxcbiAgICAgICAgICAgIFstOS4yLCAtMy4wLCAtOS45LCAtMS4yLCAtNi41LCAtNi4xLCAtNi44LCAtNC40LCAtNi40LCAwLjksIC03LjAsIDMuMCwgLTExLjgsIC0xMy4wLCAtMTEuMSwgLTEwLjQsIC05LjMsIC05LjIsIC05LjgsIC02LjQsIC05LjUsIC05LjUsIC05LjQsIC04LjAsIC04LjEsIC04LjIsIC05LjQsIC01LjIsIC0xNC4yLCAtMTQuOSwgLTE0LjksIC0xMi4zLCAtNS43LCAtMy43LCAtNi43LCAtMS4zLCAtMi40LCAtMy4wLCAtMi40LCAtMS4wLCAxMC4xLCAxMC41LCA5LjgsIDEzLjEsIC03LjIsIC04LjAsIC04LjQsIC01LjAsIC01MC4wLCAtMTQuNywgLTUwLjAsIC0xMS40LCAtNi4zLCAtNi43LCAtNS44LCAtNS4wLCAtNTAuMCwgLTYuMSwgLTEzLjQsIC0zLjYsIC0xMy4wLCAtMTYuMCwgLTEzLjcsIC0xMy4zLF0sXG4gICAgICAgICAgICBbLTguMiwgLTEwLjgsIC0xMC4xLCAtOS44LCAtMC40LCAtMy42LCAtMS43LCAtMi45LCAtNy45LCAtOC40LCAtOS44LCAtOC4yLCA2LjIsIDIuMywgMC42LCAyLjksIC03LjEsIC0xMS42LCAtOS4yLCAtMTEuMSwgLTUuNiwgLTguMywgLTcuMiwgLTguNCwgLTEwLjcsIC0xMy42LCAtMTEuNCwgLTEyLjAsIDAuMCwgLTIuOCwgLTEuOCwgLTIuNCwgLTYuMCwgLTExLjYsIC03LjUsIC0xMC44LCAxLjUsIC0yLjAsIDAuMCwgLTEuMSwgLTQuOCwgLTguNSwgLTUuNSwgLTcuMiwgMTEuOSwgOC42LCAxMC4wLCA5LjAsIC01MC4wLCAtMTQuMiwgLTUwLjAsIC0xMi44LCAtNC4xLCAtNy40LCAtNS43LCAtNi41LCAtNTAuMCwgLTExLjAsIC0xNC4zLCAtOS45LCAxLjQsIC03LjksIC0wLjcsIC02LjgsXSxcbiAgICAgICAgICAgIFstMTIuNSwgLTguNywgLTEzLjAsIC05LjksIC0zLjksIC0xLjAsIC0zLjQsIC0yLjksIC0xMi41LCAtNi4zLCAtMTEuNiwgLTguMSwgMy4zLCA2LjAsIC0xLjYsIDMuOCwgLTEwLjUsIC0xMC4xLCAtMTEuMSwgLTExLjEsIC05LjAsIC02LjksIC04LjIsIC05LjEsIC0xNC4wLCAtMTEuNCwgLTEyLjMsIC0xMi4xLCAtMy4xLCAwLjIsIC0zLjIsIC0yLjIsIC0xMC40LCAtOS4xLCAtMTAuNCwgLTExLjUsIC0yLjEsIDEuMiwgLTEuMSwgLTEuNCwgLTkuNCwgLTUuNiwgLTguMSwgLTguMCwgOC42LCAxMi40LCA4LjYsIDkuNSwgLTUwLjAsIC0xMC40LCAtNTAuMCwgLTExLjYsIC03LjIsIC01LjcsIC03LjUsIC03LjQsIC01MC4wLCAtOC42LCAtMTUuNywgLTkuNywgLTMuMCwgLTMuNywgLTMuMiwgLTUuOSxdLFxuICAgICAgICAgICAgWy0xMS4xLCAtMTEuOSwgLTEwLjYsIC0xMS4zLCAtMi42LCAtNC4xLCAtMS43LCAtMy41LCAtMTEuNCwgLTkuNiwgLTkuNiwgLTkuMiwgMy43LCAyLjUsIDEuNiwgMi41LCAtOS42LCAtMTIuMywgLTkuNSwgLTExLjgsIC04LjAsIC05LjQsIC03LjIsIC05LjMsIC0xMy4zLCAtMTIuOCwgLTEwLjksIC0xMi42LCAtMS44LCAtMi45LCAtMC44LCAtMi45LCAtOC42LCAtMTMuMCwgLTcuNCwgLTEyLjQsIC0wLjQsIC0yLjMsIDEuMywgLTIuMCwgLTguMSwgLTkuMywgLTUuNCwgLTguNCwgMTAuMCwgOC42LCAxMS40LCA4LjksIC01MC4wLCAtMTMuNywgLTUwLjAsIC0xMy4yLCAtNi4xLCAtOC4xLCAtNS41LCAtNy41LCAtNTAuMCwgLTExLjMsIC0xMi43LCAtMTAuMSwgLTEuNiwgLTcuOCwgLTAuMywgLTcuMixdLFxuICAgICAgICAgICAgWy0xMS40LCAtMTAuMCwgLTEyLjcsIC04LjIsIC0zLjEsIC0zLjEsIC0yLjgsIC0wLjksIC0xMS43LCAtNy4zLCAtMTIuMSwgLTUuOCwgMy42LCAzLjYsIC0xLjEsIDUuOCwgLTkuNCwgLTExLjksIC0xMC43LCAtMTAuMCwgLTguNSwgLTguOCwgLTguMiwgLTYuNSwgLTEzLjksIC0xMy4wLCAtMTIuOSwgLTEwLjksIC0zLjEsIC0yLjMsIC0zLjIsIC0wLjIsIC05LjUsIC0xMC44LCAtMTAuMiwgLTguMiwgLTEuMSwgLTEuMywgLTAuOCwgMS4yLCAtOC42LCAtNy44LCAtNy44LCAtNS4wLCA5LjAsIDkuNSwgOC45LCAxMi4wLCAtNTAuMCwgLTEzLjAsIC01MC4wLCAtMTAuMywgLTYuMiwgLTcuMCwgLTcuMSwgLTUuNCwgLTUwLjAsIC05LjMsIC0xNC4wLCAtOC4yLCAtMi40LCAtNi4zLCAtMi40LCAtMy45LF0sXG4gICAgICAgICAgICBbLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgMzMuMywgLTUwLjAsIDMwLjYsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgMjkuMiwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsXSxcbiAgICAgICAgICAgIFstMTQuOCwgLTYuMiwgLTE0LjksIC03LjYsIC0xNC42LCAtMTEuNiwgLTEzLjAsIC0xMi4yLCAtMTQuMCwgLTkuMCwgLTE0LjEsIC0xMC4xLCAtMTMuNiwgLTExLjIsIC0xMi40LCAtMTIuNSwgLTguMSwgMi4yLCAtOC43LCAwLjQsIC0xNS4zLCAtMTEuMywgLTEzLjIsIC0xMy4zLCAtMTEuOSwgLTcuMiwgLTExLjgsIC03LjksIC0xMC43LCAtNy40LCAtMTAuOCwgLTguOSwgLTE1LjUsIC0xMC4zLCAtMTUuNSwgLTEyLjUsIC0xNC41LCAtMTIuMSwgLTExLjksIC0xMi44LCAtMTguMywgLTEyLjcsIC0xNi40LCAtMTQuNywgLTE0LjIsIC0xMC40LCAtMTMuNywgLTEzLjAsIC01MC4wLCAxNS4xLCAtNTAuMCwgMTMuMywgLTkuOSwgLTUuOCwgLTguOSwgLTcuNiwgLTUwLjAsIC0xLjUsIC03LjgsIC0zLjAsIC04LjEsIDMuNiwgLTkuNCwgMi4wLF0sXG4gICAgICAgICAgICBbLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgMzAuNiwgLTUwLjAsIDM1LjIsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgMjguNSwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsXSxcbiAgICAgICAgICAgIFstMTMuOCwgLTcuNSwgLTE0LjQsIC01LjEsIC0xMi42LCAtMTEuNiwgLTExLjUsIC0xMC4xLCAtMTMuMiwgLTkuNywgLTEyLjcsIC03LjQsIC0xMS45LCAtMTEuOSwgLTExLjUsIC0xMC4yLCAtNy4yLCAwLjksIC04LjYsIDIuNiwgLTE0LjEsIC0xMi44LCAtMTMuMywgLTExLjAsIC05LjcsIC04LjQsIC0xMS4yLCAtNS4zLCAtOS4zLCAtOC43LCAtOS45LCAtNy4xLCAtMTMuOSwgLTExLjIsIC0xNC4yLCAtOC45LCAtMTIuOSwgLTEyLjYsIC0xMi42LCAtMTAuOSwgLTE1LjQsIC0xMy44LCAtMTQuOCwgLTExLjQsIC0xMi44LCAtMTEuNiwgLTEzLjIsIC0xMC4zLCAtNTAuMCwgMTMuMywgLTUwLjAsIDE1LjIsIC04LjYsIC03LjAsIC04LjQsIC00LjgsIC01MC4wLCAtMy4wLCAtNy4xLCAtMC4xLCAtNy4zLCAyLjMsIC04LjcsIDMuOSxdLFxuICAgICAgICAgICAgWy03LjMsIC02LjMsIC04LjksIC01LjUsIDIuOSwgMC4yLCAxLjUsIDEuMiwgLTguNSwgLTIuMywgLTEwLjAsIC0xLjcsIC01LjYsIC0xMC41LCAtNS41LCAtOS42LCAtNC4zLCAtNy45LCAtNi4xLCAtNy4yLCAyLjMsIC0wLjYsIDAuNSwgLTAuMCwgLTguOSwgLTExLjAsIC05LjQsIC05LjMsIC00LjYsIC05LjQsIC03LjMsIC04LjEsIC03LjgsIC05LjgsIC04LjksIC05LjIsIDIuOCwgMC4xLCAxLjIsIDAuOCwgLTUuOSwgLTYuOCwgLTUuOSwgLTYuMywgLTQuMSwgLTcuMiwgLTYuMSwgLTYuMiwgLTUwLjAsIC05LjksIC01MC4wLCAtOC42LCAxMi41LCA5LjQsIDExLjAsIDkuOCwgLTUwLjAsIC00LjgsIC04LjcsIC0zLjUsIC0wLjAsIC04LjYsIC0yLjEsIC03LjAsXSxcbiAgICAgICAgICAgIFstMTAuMSwgLTQuMywgLTEwLjgsIC01LjgsIDAuMSwgMi4zLCAwLjcsIDAuNiwgLTEwLjQsIC0wLjIsIC0xMC44LCAtMi4wLCAtOC44LCAtOS4yLCAtOC4wLCAtOS43LCAtNi44LCAtNS45LCAtNy41LCAtNy4wLCAtMS40LCAyLjIsIC0wLjksIC0wLjQsIC0xMC44LCAtNy43LCAtOS44LCAtOC44LCAtOC45LCAtNy4zLCAtOS42LCAtOS4xLCAtMTAuNSwgLTguMywgLTEwLjIsIC0xMC4wLCAtMC4wLCAyLjUsIDAuNywgMC41LCAtNy41LCAtNS4xLCAtNy4xLCAtNi43LCAtNy40LCAtNS43LCAtOC4xLCAtNy4wLCAtNTAuMCwgLTUuOCwgLTUwLjAsIC03LjAsIDkuNCwgMTIuNywgMTAuMSwgMTAuMCwgLTUwLjAsIC0xLjUsIC0xMS4zLCAtMy4zLCAtNS40LCAtNC4yLCAtNS42LCAtNi44LF0sXG4gICAgICAgICAgICBbLTguNCwgLTYuMiwgLTguOSwgLTUuOSwgMS44LCAwLjQsIDIuNywgMS4yLCAtOS4xLCAtMS4yLCAtOC44LCAtMS41LCAtNy4yLCAtMTAuNSwgLTQuOSwgLTkuNiwgLTUuNywgLTcuNCwgLTUuNSwgLTcuNCwgMC4zLCAtMC4zLCAxLjgsIC0wLjQsIC05LjAsIC04LjcsIC03LjMsIC04LjksIC01LjksIC05LjQsIC02LjQsIC04LjcsIC04LjcsIC05LjEsIC04LjUsIC05LjQsIDEuNCwgMC43LCAzLjUsIDAuNywgLTYuNiwgLTUuMywgLTQuNywgLTUuOCwgLTUuNywgLTcuNSwgLTUuNSwgLTcuMSwgLTUwLjAsIC04LjksIC01MC4wLCAtOC40LCAxMS4wLCAxMC4xLCAxMy4yLCAxMC4yLCAtNTAuMCwgLTQuMiwgLTYuMSwgLTMuNiwgLTMuNSwgLTguNCwgLTEuMiwgLTYuOCxdLFxuICAgICAgICAgICAgWy05LjEsIC01LjQsIC0xMC40LCAtNC4yLCAxLjAsIDAuNSwgMC42LCAyLjQsIC05LjYsIC0xLjUsIC0xMC41LCAtMC41LCAtOC45LCAtMTAuNSwgLTcuMiwgLTguMywgLTYuMywgLTYuOSwgLTcuNywgLTUuMSwgLTAuNSwgMC4xLCAtMC42LCAyLjMsIC0xMS4xLCAtMTAuMiwgLTEwLjUsIC03LjAsIC04LjMsIC05LjQsIC05LjQsIC02LjYsIC05LjYsIC05LjcsIC0xMC4wLCAtNy45LCAwLjcsIDAuNiwgMC44LCAyLjMsIC03LjEsIC02LjUsIC03LjIsIC01LjAsIC02LjUsIC03LjQsIC03LjUsIC01LjQsIC01MC4wLCAtNy42LCAtNTAuMCwgLTQuOCwgOS44LCAxMC4wLCAxMC4yLCAxMi4xLCAtNTAuMCwgLTMuMSwgLTExLjQsIC0wLjcsIC00LjYsIC02LjYsIC00LjksIC0zLjksXSxcbiAgICAgICAgICAgIFstNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAyOS4yLCAtNTAuMCwgMjguNSwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAzMy4zLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCwgLTUwLjAsIC01MC4wLCAtNTAuMCxdLFxuICAgICAgICAgICAgWy0xMy4wLCAtNy4wLCAtMTMuMSwgLTguMywgLTkuMiwgLTYuNSwgLTguOSwgLTcuNiwgLTkuOCwgLTAuNywgLTkuMiwgLTIuMSwgLTEyLjQsIC0xMC4zLCAtMTIuNCwgLTExLjYsIC05LjUsIC00LjYsIC0xMC40LCAtNS43LCAtMTMuNiwgLTEwLjEsIC0xMS40LCAtMTAuOSwgLTYuNSwgLTEuNSwgLTYuMiwgLTMuNiwgLTEyLjgsIC04LjAsIC0xMi4zLCAtOS43LCAtMTYuNSwgLTEyLjcsIC0xNS42LCAtMTQuMywgLTguNywgLTYuMCwgLTcuMSwgLTcuNSwgLTkuNSwgLTQuMSwgLTguNCwgLTYuMSwgLTExLjAsIC04LjYsIC0xMS4zLCAtOS4zLCAtNTAuMCwgLTEuNSwgLTUwLjAsIC0zLjAsIC00LjgsIC0xLjUsIC00LjIsIC0zLjEsIC01MC4wLCAxNi40LCAtNS4xLCAxNC4yLCAtMTAuMSwgLTQuMywgLTEwLjAsIC01LjQsXSxcbiAgICAgICAgICAgIFstMTMuNSwgLTE2LjMsIC0xMS44LCAtMTUuNSwgLTEzLjYsIC0xNS4zLCAtMTIuMSwgLTE2LjEsIC03LjcsIC0xMy4zLCAtNC4yLCAtMTIuNiwgLTE0LjEsIC0xNi4yLCAtMTAuMywgLTE1LjQsIC05LjYsIC0xMS42LCAtNy43LCAtOS44LCAtMTQuMywgLTE3LjUsIC0xMS4xLCAtMTcuMiwgLTUuMywgLTcuMSwgLTIuMiwgLTcuMSwgLTkuNiwgLTExLjksIC04LjcsIC0xMS40LCAtMTcuMSwgLTIwLjYsIC0xNS4zLCAtMTkuOSwgLTE0LjEsIC0xNC44LCAtMTIuNCwgLTE2LjUsIC0xMS43LCAtMTIuOCwgLTYuNCwgLTEzLjQsIC0xNC4zLCAtMTUuNywgLTEyLjcsIC0xNC4wLCAtNTAuMCwgLTcuOCwgLTUwLjAsIC03LjEsIC04LjcsIC0xMS4zLCAtNi4xLCAtMTEuNCwgLTUwLjAsIC01LjEsIDE4LjYsIC00LjgsIC04LjYsIC04LjEsIC00LjUsIC03LjMsXSxcbiAgICAgICAgICAgIFstMTIuNCwgLTguMiwgLTEzLjAsIC01LjksIC03LjcsIC03LjgsIC03LjQsIC01LjgsIC04LjgsIC0yLjAsIC05LjMsIC0wLjQsIC0xMS42LCAtMTEuMywgLTExLjYsIC05LjQsIC04LjksIC01LjYsIC0xMC4wLCAtMy4yLCAtMTEuNSwgLTExLjEsIC0xMC41LCAtOC4zLCAtNi4zLCAtNC45LCAtNi43LCAtMS4yLCAtMTAuNiwgLTkuNywgLTExLjMsIC04LjAsIC0xNC44LCAtMTMuMSwgLTE1LjUsIC0xMS40LCAtNy41LCAtNy41LCAtNy4xLCAtNS45LCAtOC40LCAtNS44LCAtOC4xLCAtMy42LCAtOS45LCAtOS43LCAtMTAuMSwgLTguMiwgLTUwLjAsIC0zLjAsIC01MC4wLCAtMC4xLCAtMy41LCAtMy4zLCAtMy42LCAtMC43LCAtNTAuMCwgMTQuMiwgLTQuOCwgMTYuNCwgLTguOSwgLTUuOCwgLTguOSwgLTMuNCxdLFxuICAgICAgICAgICAgWy0xMC43LCAtMTMuMiwgLTEyLjQsIC0xMS42LCAtNC44LCAtOC40LCAtNi4xLCAtNy4yLCAtMTAuMywgLTExLjgsIC0xMS4wLCAtMTEuNiwgMi44LCAtMS43LCAwLjcsIC0xLjEsIC02LjIsIC05LjcsIC03LjMsIC04LjQsIC01LjMsIC04LjYsIC02LjEsIC04LjMsIC0xMC41LCAtMTEuMiwgLTkuOCwgLTEwLjIsIDkuNSwgNi41LCA3LjYsIDYuOCwgLTEyLjEsIC0xNi4wLCAtMTMuMCwgLTE2LjIsIC01LjIsIC04LjYsIC03LjEsIC03LjgsIC0xMi41LCAtMTQuNCwgLTEyLjEsIC0xMy4wLCAxLjQsIC0zLjAsIC0xLjYsIC0yLjQsIC01MC4wLCAtOC4xLCAtNTAuMCwgLTcuMywgLTAuMCwgLTUuNCwgLTMuNSwgLTQuNiwgLTUwLjAsIC0xMC4xLCAtOC42LCAtOC45LCAxMy4yLCAtMC45LCA5LjcsIC0wLjMsXSxcbiAgICAgICAgICAgIFstMTguMSwgLTEyLjMsIC0xOS40LCAtMTQuMiwgLTEyLjIsIC05LjUsIC0xMS41LCAtMTAuOCwgLTE3LjksIC0xMS45LCAtMTguMiwgLTEzLjksIC02LjQsIC0zLjcsIC02LjgsIC01LjQsIC0xMi44LCAtNS45LCAtMTMuNiwgLTcuNCwgLTEzLjcsIC05LjksIC0xMi45LCAtMTIuNywgLTE2LjIsIC0xMS42LCAtMTUuMiwgLTEyLjcsIC0zLjIsIDAuNSwgLTMuMywgLTEuOCwgLTE4LjksIC0xNi42LCAtMTguOCwgLTE5LjIsIC0xMi41LCAtOS40LCAtMTAuNiwgLTExLjEsIC0xNy4zLCAtMTQuMSwgLTE2LjIsIC0xNi4wLCAtNy45LCAtMy43LCAtNy44LCAtNi4zLCAtNTAuMCwgMy42LCAtNTAuMCwgMi4zLCAtOC42LCAtNC4yLCAtOC40LCAtNi42LCAtNTAuMCwgLTQuMywgLTguMSwgLTUuOCwgLTAuOSwgMTQuMiwgLTEuOCwgMTEuNixdLFxuICAgICAgICAgICAgWy0xMS44LCAtMTMuMSwgLTExLjUsIC0xMi4wLCAtNi4yLCAtOC4zLCAtNS40LCAtNy40LCAtMTEuOCwgLTEyLjMsIC0xMS4xLCAtMTEuNCwgMC41LCAtMi41LCAyLjQsIC0xLjYsIC02LjgsIC05LjksIC02LjQsIC04LjksIC02LjEsIC04LjYsIC01LjAsIC03LjgsIC0xMC40LCAtMTEuNiwgLTguNSwgLTkuOSwgOC4yLCA2LjQsIDguNywgNi45LCAtMTIuNCwgLTE3LjAsIC0xMi42LCAtMTUuOCwgLTYuNSwgLTguNSwgLTUuMCwgLTcuOCwgLTEzLjIsIC0xMy42LCAtMTAuMywgLTEzLjcsIC0wLjcsIC0zLjIsIC0wLjMsIC0yLjQsIC01MC4wLCAtOS40LCAtNTAuMCwgLTguNywgLTIuMSwgLTUuNiwgLTEuMiwgLTQuOSwgLTUwLjAsIC0xMC4wLCAtNC41LCAtOC45LCA5LjcsIC0xLjgsIDExLjMsIC0wLjksXSxcbiAgICAgICAgICAgIFstMTcuMiwgLTEzLjMsIC0xNy44LCAtMTEuNiwgLTExLjAsIC0xMS4xLCAtMTAuNCwgLTkuMCwgLTE2LjAsIC0xMi43LCAtMTYuMSwgLTExLjEsIC01LjIsIC01LjQsIC02LjAsIC0zLjMsIC0xMS44LCAtNy4zLCAtMTMuMywgLTUuOSwgLTEyLjcsIC0xMS45LCAtMTEuOSwgLTkuMywgLTE1LjIsIC0xNS4wLCAtMTQuOSwgLTExLjAsIC0yLjgsIC0xLjgsIC0yLjksIDAuNCwgLTE3LjQsIC0xOC40LCAtMTguMywgLTE1LjksIC0xMC43LCAtMTEuMiwgLTEwLjYsIC05LjAsIC0xNS40LCAtMTQuOCwgLTE1LjgsIC0xMy4zLCAtNi44LCAtNS45LCAtNy4yLCAtMy45LCAtNTAuMCwgMi4wLCAtNTAuMCwgMy45LCAtNy4wLCAtNi44LCAtNi44LCAtMy45LCAtNTAuMCwgLTUuNCwgLTcuMywgLTMuNCwgLTAuMywgMTEuNiwgLTAuOSwgMTQuMSxdXTtcbiAgICAgICAgdGhpcy5UUkFOUyA9IFtbNSwgMCwgMCwgNF0sXG4gICAgICAgICAgICBbMCwgNSwgNCwgMF0sXG4gICAgICAgICAgICBbMCwgNCwgNSwgMF0sXG4gICAgICAgICAgICBbNCwgMCwgMCwgNV1dO1xuICAgICAgICB0aGlzLkNPTkJMTyA9IHsgJ0EnOiAwLCAnUic6IDEsICdOJzogMiwgJ0QnOiAzLCAnQyc6IDQsICdRJzogNSwgJ0UnOiA2LCAnRyc6IDcsICdIJzogOCwgJ0knOiA5LCAnTCc6IDEwLCAnSyc6IDExLCAnTSc6IDEyLCAnRic6IDEzLCAnUCc6IDE0LCAnUyc6IDE1LCAnVCc6IDE2LCAnVyc6IDE3LCAnWSc6IDE4LCAnVic6IDE5LCAnQic6IDIwLCAnWic6IDIxLCAnWCc6IDIyLCAnKic6IDIzIH07XG4gICAgICAgIHRoaXMuQ09OTlVDTCA9IHsgJ0EnOiAwLCAnVCc6IDEsICdDJzogMiwgJ0cnOiAzIH07XG4gICAgICAgIHRoaXMuQ09OU0NITiA9IHsgJ0FBQSc6IDAsICdBQUMnOiAxLCAnQUFHJzogMiwgJ0FBVCc6IDMsICdBQ0EnOiA0LCAnQUNDJzogNSwgJ0FDRyc6IDYsICdBQ1QnOiA3LCAnQUdBJzogOCwgJ0FHQyc6IDksICdBR0cnOiAxMCwgJ0FHVCc6IDExLCAnQVRBJzogMTIsICdBVEMnOiAxMywgJ0FURyc6IDE0LCAnQVRUJzogMTUsICdDQUEnOiAxNiwgJ0NBQyc6IDE3LCAnQ0FHJzogMTgsICdDQVQnOiAxOSwgJ0NDQSc6IDIwLCAnQ0NDJzogMjEsICdDQ0cnOiAyMiwgJ0NDVCc6IDIzLCAnQ0dBJzogMjQsICdDR0MnOiAyNSwgJ0NHRyc6IDI2LCAnQ0dUJzogMjcsICdDVEEnOiAyOCwgJ0NUQyc6IDI5LCAnQ1RHJzogMzAsICdDVFQnOiAzMSwgJ0dBQSc6IDMyLCAnR0FDJzogMzMsICdHQUcnOiAzNCwgJ0dBVCc6IDM1LCAnR0NBJzogMzYsICdHQ0MnOiAzNywgJ0dDRyc6IDM4LCAnR0NUJzogMzksICdHR0EnOiA0MCwgJ0dHQyc6IDQxLCAnR0dHJzogNDIsICdHR1QnOiA0MywgJ0dUQSc6IDQ0LCAnR1RDJzogNDUsICdHVEcnOiA0NiwgJ0dUVCc6IDQ3LCAnVEFBJzogNDgsICdUQUMnOiA0OSwgJ1RBRyc6IDUwLCAnVEFUJzogNTEsICdUQ0EnOiA1MiwgJ1RDQyc6IDUzLCAnVENHJzogNTQsICdUQ1QnOiA1NSwgJ1RHQSc6IDU2LCAnVEdDJzogNTcsICdUR0cnOiA1OCwgJ1RHVCc6IDU5LCAnVFRBJzogNjAsICdUVEMnOiA2MSwgJ1RURyc6IDYyLCAnVFRUJzogNjMgfTtcbiAgICAgICAgdGhpcy5zZXRNZXRob2QoYWxpZ25HcmlkXyk7XG4gICAgICAgIHRoaXMuc2V0U2VxdWVuY2VzKHNlcTFfLCBzZXEyXyk7XG4gICAgICAgIHRoaXMuc2V0R2FwKGdhcF8pO1xuICAgIH1cbiAgICBmaWxsTmVlZGxlbWFuKCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSB0aGlzLmxlbjE7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5kcEdyaWRbaV1bMF0udmFsdWUgPSAtaSAqIHRoaXMuZ2FwO1xuICAgICAgICAgICAgdGhpcy5kcEdyaWRbaV1bMF0ucGFyZW50SSA9IGkgLSAxO1xuICAgICAgICAgICAgdGhpcy5kcEdyaWRbaV1bMF0ucGFyZW50SiA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdGhpcy5sZW4yOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuZHBHcmlkWzBdW2ldLnZhbHVlID0gLWkgKiB0aGlzLmdhcDtcbiAgICAgICAgICAgIHRoaXMuZHBHcmlkWzBdW2ldLnBhcmVudEkgPSAwO1xuICAgICAgICAgICAgdGhpcy5kcEdyaWRbMF1baV0ucGFyZW50SiA9IGkgLSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZpbGxPbmUoaSwgaikge1xuICAgICAgICB0aGlzLmRwR3JpZFtpXVtqXS52YWx1ZSA9IE1hdGgubWF4KHRoaXMuZHBHcmlkW2kgLSAxXVtqIC0gMV0udmFsdWUgKyB0aGlzLnNjb3Jlc1tpIC0gMV1baiAtIDFdLCBNYXRoLm1heCh0aGlzLmRwR3JpZFtpIC0gMV1bal0udmFsdWUgLSB0aGlzLmdhcCwgdGhpcy5kcEdyaWRbaV1baiAtIDFdLnZhbHVlIC0gdGhpcy5nYXApKTtcbiAgICAgICAgaWYgKHRoaXMuZHBHcmlkW2ldW2pdLnZhbHVlID09IHRoaXMuZHBHcmlkW2kgLSAxXVtqIC0gMV0udmFsdWUgKyB0aGlzLnNjb3Jlc1tpIC0gMV1baiAtIDFdKSB7XG4gICAgICAgICAgICB0aGlzLmRwR3JpZFtpXVtqXS5wYXJlbnRJID0gaSAtIDE7XG4gICAgICAgICAgICB0aGlzLmRwR3JpZFtpXVtqXS5wYXJlbnRKID0gaiAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5kcEdyaWRbaV1bal0udmFsdWUgPT0gdGhpcy5kcEdyaWRbaSAtIDFdW2pdLnZhbHVlIC0gdGhpcy5nYXApIHtcbiAgICAgICAgICAgIHRoaXMuZHBHcmlkW2ldW2pdLnBhcmVudEkgPSBpIC0gMTtcbiAgICAgICAgICAgIHRoaXMuZHBHcmlkW2ldW2pdLnBhcmVudEogPSBqO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kcEdyaWRbaV1bal0ucGFyZW50SSA9IGk7XG4gICAgICAgICAgICB0aGlzLmRwR3JpZFtpXVtqXS5wYXJlbnRKID0gaiAtIDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ3JpZEZyb21OYW1lKHBhdGgpIHtcbiAgICAgICAgc3dpdGNoIChwYXRoKSB7XG4gICAgICAgICAgICBjYXNlICdCTE9TVU00NSc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnbkdyaWQgPSB0aGlzLkJMT1NVTTQ1O1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLkNPTkJMTztcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQkxPU1VNNTAnOlxuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25HcmlkID0gdGhpcy5CTE9TVU01MDtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5DT05CTE87XG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwID0gMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0JMT1NVTTYyJzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduR3JpZCA9IHRoaXMuQkxPU1VNNjI7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuQ09OQkxPO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcCA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdCTE9TVU04MCc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnbkdyaWQgPSB0aGlzLkJMT1NVTTgwO1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLkNPTkJMTztcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQkxPU1VNOTAnOlxuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25HcmlkID0gdGhpcy5CTE9TVU05MDtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5DT05CTE87XG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwID0gMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1BBTTMwJzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduR3JpZCA9IHRoaXMuUEFNMzA7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuQ09OQkxPO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcCA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdQQU03MCc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnbkdyaWQgPSB0aGlzLlBBTTcwO1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLkNPTkJMTztcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnUEFNMjUwJzpcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduR3JpZCA9IHRoaXMuUEFNMjUwO1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLkNPTkJMTztcbiAgICAgICAgICAgICAgICB0aGlzLnN0ZXAgPSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTlVDTEVPVElERVMnOlxuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ25HcmlkID0gdGhpcy5OVUNMRU9USURFUztcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5DT05OVUNMO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcCA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdUUkFOUyc6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnbkdyaWQgPSB0aGlzLlRSQU5TO1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLkNPTk5VQ0w7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwID0gMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1NDSE5FSURFUic6XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlnbkdyaWQgPSB0aGlzLlNDSE5FSURFUjtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5DT05TQ0hOO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcCA9IDM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWxsU2NvcmVzKCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdFJlc3VsdChpLCBqKSB7XG4gICAgICAgIGxldCByZXMxID0gXCJcIiwgcmVzMiA9IFwiXCIsIGdhcFMgPSBcIlwiO1xuICAgICAgICBsZXQgdG90YWwgPSB0aGlzLmRwR3JpZFtpXVtqXS52YWx1ZTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0ZXA7IGkrKykge1xuICAgICAgICAgICAgZ2FwUyArPSAnfCc7XG4gICAgICAgIH1cbiAgICAgICAgd2hpbGUgKGkgPiAwIHx8IGogPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kcEdyaWRbaV1bal0ucGFyZW50SSA9PSBpKSB7XG4gICAgICAgICAgICAgICAgcmVzMSA9IGdhcFMgKyByZXMxO1xuICAgICAgICAgICAgICAgIHJlczIgPSB0aGlzLnNlcTIuc3Vic3RyKChqIC0gMSkgKiB0aGlzLnN0ZXAsIHRoaXMuc3RlcCkgKyByZXMyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5kcEdyaWRbaV1bal0ucGFyZW50SiA9PSBqKSB7XG4gICAgICAgICAgICAgICAgcmVzMiA9IGdhcFMgKyByZXMyO1xuICAgICAgICAgICAgICAgIHJlczEgPSB0aGlzLnNlcTEuc3Vic3RyKChpIC0gMSkgKiB0aGlzLnN0ZXAsIHRoaXMuc3RlcCkgKyByZXMxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgLSAxID49IDApXG4gICAgICAgICAgICAgICAgICAgIHJlczEgPSB0aGlzLnNlcTEuc3Vic3RyKChpIC0gMSkgKiB0aGlzLnN0ZXAsIHRoaXMuc3RlcCkgKyByZXMxO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgcmVzMSA9IGdhcFMgKyByZXMxO1xuICAgICAgICAgICAgICAgIGlmIChqIC0gMSA+PSAwKVxuICAgICAgICAgICAgICAgICAgICByZXMyID0gdGhpcy5zZXEyLnN1YnN0cigoaiAtIDEpICogdGhpcy5zdGVwLCB0aGlzLnN0ZXApICsgcmVzMjtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHJlczIgPSBnYXBTICsgcmVzMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCB0ZW1wSSA9IGk7XG4gICAgICAgICAgICBpID0gdGhpcy5kcEdyaWRbaV1bal0ucGFyZW50STtcbiAgICAgICAgICAgIGogPSB0aGlzLmRwR3JpZFt0ZW1wSV1bal0ucGFyZW50SjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IEFsaWduZWQocmVzMSwgcmVzMiwgdG90YWwpO1xuICAgIH1cbiAgICBmaWxsU2NvcmVzKCkge1xuICAgICAgICB0aGlzLnNjb3JlcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubGVuMTsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLnNjb3Jlcy5wdXNoKFtdKTtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy5sZW4yOyBqKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjb3Jlc1tpXS5wdXNoKHRoaXMuYWxpZ25HcmlkW3RoaXMuY29ubmVjdGlvbnNbdGhpcy5zZXExLnN1YnN0cihpICogdGhpcy5zdGVwLCB0aGlzLnN0ZXApXV1bdGhpcy5jb25uZWN0aW9uc1t0aGlzLnNlcTIuc3Vic3RyKGogKiB0aGlzLnN0ZXAsIHRoaXMuc3RlcCldXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdHlwZVJlYygpIHtcbiAgICAgICAgaWYgKC9bQVRHQ10qLy50ZXN0KHRoaXMuc2VxMSkgJiYgL1tBVEdDXSovLnRlc3QodGhpcy5zZXEyKSlcbiAgICAgICAgICAgIHJldHVybiBcIk5VQ0xFT1RJREVTXCI7XG4gICAgICAgIGlmICgvW0FSTkRDUUVHSElMS01GUFNUV1lWQlpYKl0qLy50ZXN0KHRoaXMuc2VxMSkgJiYgL1tBUk5EQ1FFR0hJTEtNRlBTVFdZVkJaWCpdKi8udGVzdCh0aGlzLnNlcTIpKVxuICAgICAgICAgICAgcmV0dXJuIFwiQkxPU1VNNjJcIjtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJDYW4ndCByZWNvZ25pemUgc2VxdWVuY2UgdHlwZVwiKTtcbiAgICB9XG4gICAgbmVlZGxlbWFuV3VuY2goKSB7XG4gICAgICAgIHRoaXMuZHBHcmlkID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5sZW4xICsgMTsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgcm93ID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHRoaXMubGVuMiArIDE7IGorKylcbiAgICAgICAgICAgICAgICByb3cucHVzaChuZXcgQ2VsbCgpKTtcbiAgICAgICAgICAgIHRoaXMuZHBHcmlkLnB1c2gocm93KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZpbGxOZWVkbGVtYW4oKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdGhpcy5sZW4xOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAxOyBqIDw9IHRoaXMubGVuMjsgaisrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWxsT25lKGksIGopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnN0cnVjdFJlc3VsdCh0aGlzLmxlbjEsIHRoaXMubGVuMik7XG4gICAgfVxuICAgIHNtaXRoV2F0ZXJtYW4oKSB7XG4gICAgICAgIHRoaXMuZHBHcmlkID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5sZW4xICsgMTsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgcm93ID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHRoaXMubGVuMiArIDE7IGorKylcbiAgICAgICAgICAgICAgICByb3cucHVzaChuZXcgQ2VsbCgpKTtcbiAgICAgICAgICAgIHRoaXMuZHBHcmlkLnB1c2gocm93KTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgYmVzdFZhbCA9IDA7XG4gICAgICAgIGxldCBiZXN0SSA9IDAsIGJlc3RKID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdGhpcy5sZW4xOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAxOyBqIDw9IHRoaXMubGVuMjsgaisrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWxsT25lKGksIGopO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRwR3JpZFtpXVtqXS52YWx1ZSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHBHcmlkW2ldW2pdLnZhbHVlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcEdyaWRbaV1bal0ucGFyZW50SSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHBHcmlkW2ldW2pdLnBhcmVudEogPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLmRwR3JpZFt0aGlzLmRwR3JpZFtpXVtqXS5wYXJlbnRJXVt0aGlzLmRwR3JpZFtpXVtqXS5wYXJlbnRKXS52YWx1ZSA9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHBHcmlkW2ldW2pdLnBhcmVudEkgPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRwR3JpZFtpXVtqXS5wYXJlbnRKID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZHBHcmlkW2ldW2pdLnZhbHVlID4gYmVzdFZhbCkge1xuICAgICAgICAgICAgICAgICAgICBiZXN0VmFsID0gdGhpcy5kcEdyaWRbaV1bal0udmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGJlc3RJID0gaTtcbiAgICAgICAgICAgICAgICAgICAgYmVzdEogPSBqO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3RSZXN1bHQoYmVzdEksIGJlc3RKKTtcbiAgICB9XG4gICAgc2V0U2VxdWVuY2VzKHNlcTFfLCBzZXEyXykge1xuICAgICAgICB0aGlzLnNlcTEgPSBzZXExXztcbiAgICAgICAgdGhpcy5zZXEyID0gc2VxMl87XG4gICAgICAgIHRoaXMubGVuMSA9IHRoaXMuc2VxMS5sZW5ndGggLyB0aGlzLnN0ZXA7XG4gICAgICAgIHRoaXMubGVuMiA9IHRoaXMuc2VxMi5sZW5ndGggLyB0aGlzLnN0ZXA7XG4gICAgICAgIHRoaXMuZmlsbFNjb3JlcygpO1xuICAgIH1cbiAgICBzZXRHYXAoZ2FwXykge1xuICAgICAgICB0aGlzLmdhcCA9IGdhcF87XG4gICAgfVxuICAgIHNldE1ldGhvZChhbGlnbkdyaWRfID0gXCJcIikge1xuICAgICAgICBpZiAoYWxpZ25HcmlkXyA9PSBcIkFVVE9cIikge1xuICAgICAgICAgICAgYWxpZ25HcmlkXyA9IHRoaXMudHlwZVJlYygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ3JpZEZyb21OYW1lKGFsaWduR3JpZF8pO1xuICAgIH1cbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gREc7IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQgeyBTZXF1ZW5jZUFsaWdubWVudCB9IGZyb20gJy4vc2VxX2FsaWduJztcbmV4cG9ydCBsZXQgX3BhY2thZ2UgPSBuZXcgREcuUGFja2FnZSgpO1xuLy9uYW1lOiBzZXF1ZW5jZUFsaWdubWVudFxuLy9pbnB1dDogc3RyaW5nIGFsaWduVHlwZSB7Y2hvaWNlczogWydMb2NhbCBhbGlnbm1lbnQnLCAnR2xvYmFsIGFsaWdubWVudCddfVxuLy9pbnB1dDogc3RyaW5nIGFsaWduVGFibGUge2Nob2ljZXM6IFsnQVVUTycsICdOVUNMRU9USURFUycsICdCTE9TVU00NScsICdCTE9TVU01MCcsJ0JMT1NVTTYyJywnQkxPU1VNODAnLCdCTE9TVU05MCcsJ1BBTTMwJywnUEFNNzAnLCdQQU0yNTAnLCdTQ0hORUlERVInLCdUUkFOUyddfVxuLy9pbnB1dDogZG91YmxlIGdhcFxuLy9pbnB1dDogc3RyaW5nIHNlcTFcbi8vaW5wdXQ6IHN0cmluZyBzZXEyXG4vL291dHB1dDogb2JqZWN0IHJlcyBcbmV4cG9ydCBmdW5jdGlvbiBzZXF1ZW5jZUFsaWdubWVudChhbGlnblR5cGUsIGFsaWduVGFibGUsIGdhcCwgc2VxMSwgc2VxMikge1xuICAgIGxldCB0b0FsaWduID0gbmV3IFNlcXVlbmNlQWxpZ25tZW50KHNlcTEsIHNlcTIsIGdhcCwgYWxpZ25UYWJsZSk7XG4gICAgbGV0IHJlcyA9IGFsaWduVHlwZSA9PSAnTG9jYWwgYWxpZ25tZW50JyA/IHRvQWxpZ24uc21pdGhXYXRlcm1hbigpIDogdG9BbGlnbi5uZWVkbGVtYW5XdW5jaCgpO1xuICAgIHJldHVybiByZXM7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=
|
package/package.json
CHANGED
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
"name": "@datagrok/bio",
|
|
3
3
|
"beta": true,
|
|
4
4
|
"friendlyName": "Bio",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.4",
|
|
6
6
|
"description": "",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/datagrok-ai/public.git",
|
|
10
|
+
"directory": "packages/Bio"
|
|
11
|
+
},
|
|
7
12
|
"dependencies": {
|
|
8
13
|
"cash-dom": "latest",
|
|
9
|
-
"datagrok-api": "
|
|
14
|
+
"datagrok-api": "^0.95.0",
|
|
10
15
|
"dayjs": "latest",
|
|
11
16
|
"ts-loader": "^9.2.5",
|
|
12
17
|
"typescript": "^4.4.2"
|
|
@@ -25,5 +30,6 @@
|
|
|
25
30
|
"release-sequences1-public": "grok publish public --rebuild --release",
|
|
26
31
|
"debug-sequences1-local": "grok publish local --rebuild",
|
|
27
32
|
"release-sequences1-local": "grok publish local --rebuild --release"
|
|
28
|
-
}
|
|
33
|
+
},
|
|
34
|
+
"canEdit": [ "Developers" ]
|
|
29
35
|
}
|