Nombre de personnes incluses par sexe et par association
Au 09/06/2020, 824 personnes ont été incluses dans l’étude. Parmi elles, 613 sont des adultes et 211 sont des enfants. Parmi les adultes, 36.4% sont des hommes et 63.6% des femmes. Parmi les enfants, 42.7% sont des filles et 57.3% sont des garçons.
Table 1 : Nombre de personnes incluses dans l'étude par association et par du sexe au 09/06/2020- Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
|
Adultes |
Enfants |
|
| Associations |
Femmes |
Hommes |
Sous-total |
Filles |
Garçons |
Sous-total |
TOTAL |
| AAISC |
6 |
4 |
10 |
2 |
0 |
2 |
12 |
| ALQR |
59 |
36 |
95 |
18 |
21 |
39 |
134 |
| Chemin du hérisson |
105 |
31 |
136 |
22 |
37 |
59 |
195 |
| CS Les Alliers |
24 |
18 |
42 |
9 |
11 |
20 |
62 |
| AAPIQ |
17 |
7 |
24 |
3 |
2 |
5 |
29 |
| CSC Royan |
16 |
4 |
20 |
2 |
4 |
6 |
26 |
| CAC de Surgères |
2 |
9 |
11 |
1 |
1 |
2 |
13 |
| La mission Fraternité |
7 |
11 |
18 |
1 |
0 |
1 |
19 |
| CS Tsigane UDAF |
8 |
11 |
19 |
4 |
3 |
7 |
26 |
| ADAV |
146 |
92 |
238 |
28 |
42 |
70 |
308 |
| Total |
390 |
223 |
613 |
90 |
121 |
211 |
824 |
Âge moyen des adultes et des enfants inclus
En moyenne, les adultes sont âgés de 42.2 ans (sd = 15.2 ans) et les enfants de 10.3 ans (sd = 1.9 ans). L’âge moyen des femmes est de 41.5 ans (sd = 15.5 ans) et des hommes de 43.4 ans (sd = 14.6 ans).
L’âge moyen des filles est de 10.1 ans (sd = 2 ans) et des garçons de 10.4 ans (sd = 1.9 ans).

Ratio selon le sexe des personnes
Le ratio femmes / hommes est de 1.7. Le ratio filles / garçons est de 0.7. La ratio adultes / enfants est de 2.9. Ces ratios sont présentés par association dans la table ci-dessous (Table 2).
Table 2 : Ratios en fonction du sexe des personnes incluses au 09/06/2020
Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
|
Ratio |
|
| Associations |
Femmes/Hommes |
Filles/Garçons |
Adultes/Enfants |
Nombre de personnes incluses |
| AAISC |
1.5 |
NA |
NA |
12 |
| ALQR |
1.6 |
0.9 |
0.4 |
134 |
| Chemin du hérisson |
3.4 |
0.6 |
0.4 |
195 |
| CS Les Alliers |
1.3 |
0.8 |
0.5 |
62 |
| AAPIQ |
2.4 |
1.5 |
0.2 |
29 |
| CSC Royan |
4.0 |
0.5 |
0.3 |
26 |
| CAC de Surgères |
0.2 |
1 |
0.2 |
13 |
| La mission Fraternité |
0.6 |
NA |
NA |
19 |
| CS Tsigane UDAF |
0.7 |
1.3 |
0.4 |
26 |
| ADAV |
1.6 |
0.7 |
0.3 |
308 |
| Total |
1.7 |
0.7 |
0.3 |
824 |
Nombre de personnes incluses en fonction des semaines

Questionnaires transmis vs questionnaires attendus selon les territoires

Questionnaires transmis Vs questionnaires attendus selon les associations
Table : Questionnaires transmis et attendus par association au 09/06/2020
- Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
|
Nb de questionnaires |
Pourcentages |
| Associations |
à transmettre |
attendus |
transmis |
réalisé vs attendu |
réalisé vs à transmettre |
attendu vs à transmettre |
| AAISC |
49 |
48 |
12 |
25% |
24% |
98% |
| ALQR |
162 |
144 |
134 |
93% |
83% |
89% |
| Chemin du hérisson |
245 |
184 |
195 |
100% |
80% |
75% |
| CS Les Alliers |
183 |
144 |
62 |
43% |
34% |
79% |
| AAPIQ |
44 |
44 |
29 |
66% |
66% |
100% |
| CSC Royan |
117 |
97 |
26 |
27% |
22% |
83% |
| CAC de Surgères |
49 |
48 |
13 |
27% |
27% |
98% |
| La mission Fraternité |
109 |
83 |
19 |
23% |
17% |
76% |
| CS Tsigane UDAF |
83 |
79 |
26 |
33% |
31% |
95% |
| ADAV |
1008 |
700 |
308 |
44% |
31% |
69% |
| TOTAL |
2033 |
1571 |
824 |
52% |
41% |
77% |
Sur les 2033 questionnaires nécessaires pour cette étude, 824 ont été collectés et transmis à ce jour, ce qui veut dire que le niveau global de réalisation au 09/06/2020 est de 41%.

Table 4 : Questionnaires transmis par semaine et par association au 09/06/2020
- Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
| Associations |
Semaine 48 |
Semaine 49 |
Semaine 50 |
Semaine 51 |
Semaine 52 |
Semaine 1 |
Semaine 2 |
Semaine 3 |
Semaine 4 |
Semaine 5 |
Semaine 6 |
Semaine 7 |
Semaine 8 |
Semaine 9 |
Semaine 10 |
Semaine 11 |
Semaine 12 |
TOTAL |
| AAISC |
0 |
0 |
0 |
0 |
0 |
0 |
3 |
0 |
0 |
0 |
0 |
0 |
4 |
0 |
5 |
0 |
0 |
12 |
| ALQR |
1 |
8 |
7 |
9 |
0 |
1 |
18 |
6 |
18 |
9 |
15 |
11 |
7 |
6 |
8 |
10 |
0 |
134 |
| Chemin du hérisson |
0 |
0 |
0 |
11 |
12 |
10 |
12 |
15 |
20 |
19 |
13 |
3 |
23 |
20 |
22 |
15 |
0 |
195 |
| CS Les Alliers |
0 |
1 |
5 |
7 |
2 |
0 |
8 |
3 |
7 |
2 |
8 |
11 |
8 |
0 |
0 |
0 |
0 |
62 |
| AAPIQ |
0 |
0 |
0 |
2 |
0 |
9 |
0 |
4 |
3 |
3 |
1 |
2 |
0 |
3 |
0 |
2 |
0 |
29 |
| CSC Royan |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
4 |
7 |
4 |
4 |
2 |
2 |
0 |
3 |
0 |
26 |
| CAC de Surgères |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
3 |
4 |
1 |
0 |
3 |
0 |
13 |
| La mission Fraternité |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
7 |
6 |
0 |
0 |
0 |
3 |
1 |
19 |
| CS Tsigane UDAF |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
5 |
0 |
2 |
5 |
13 |
0 |
1 |
0 |
0 |
26 |
| ADAV |
0 |
11 |
16 |
13 |
0 |
0 |
9 |
26 |
7 |
26 |
34 |
26 |
38 |
27 |
46 |
29 |
0 |
308 |
| TOTAL |
1 |
20 |
28 |
43 |
14 |
20 |
50 |
54 |
66 |
67 |
84 |
71 |
99 |
59 |
82 |
65 |
1 |
824 |
Effectifs actualisés recensement, tirage au sort et population cible
Table 5 : effectifs ménages et personnes tirages au sort 09/06/2020
Etude sur la santé des Gens du voyage en Nouvelle Aquitaine
|
Ménages recensés |
Ménages à tirer au sort |
Personnes cible |
| Associations |
Initial |
Actualisé |
Initial |
Actualisé |
Initial |
Actualisé |
| AAISC |
78 |
73 |
38 |
39 |
49 |
49 |
| ALQR |
185 |
185 |
152 |
160 |
164 |
173 |
| Chemin du hérisson |
296 |
264 |
251 |
220 |
280 |
245 |
| CS Les Alliers |
230 |
211 |
173 |
143 |
192 |
175 |
| AAPIQ |
70 |
68 |
36 |
36 |
44 |
44 |
| CSC Royan |
201 |
112 |
111 |
72 |
128 |
101 |
| CAC de Surgères |
70 |
69 |
44 |
44 |
49 |
49 |
| La mission Fraternité |
163 |
85 |
86 |
80 |
109 |
92 |
| CS Tsigane UDAF |
102 |
106 |
76 |
76 |
84 |
84 |
| ADAV |
1718 |
1435 |
801 |
755 |
1015 |
971 |
| TOTAL |
3113 |
2608 |
1768 |
1625 |
2114 |
1983 |
Refus
Les associations ont réporté que 45 personnes n’ont pas répondu ou répondu partiellement aux questionnaires, ce qui représente un taux de non-participation de 5.5%.
Données Manquantes
Lieux de vie
LS0tCnRpdGxlOiA8aW1nIHNyYz0nL1VzZXJzL0VsaXNlZS9TUEYvR0RWL2xvZ29fU1BGLnBuZycgd2lkdGg9JzE1MCc+IFRBQkxFQVUKICBERSBCT1JEIC0gU3VpdmkgZGVzIGluY2x1c2lvbnMKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICBjb2RlX2ZvbGRpbmc6IG5vbmUKICAgIHRoZW1lOiB5ZXRpCiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICB3b3JkX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKZGF0ZTogJ0RhdGUgZCcnYWN0dWFsaXNhdGlvbiA6IGByIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKWAnCnN1YnRpdGxlOiBFdHVkZSBzdXIgbGUgc2FudMOpIGRlcyBHZW5zIGR1IHZveWFnZSBlbiBOb3V2ZWxsZSBBcXVpdGFpbmUKLS0tCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmJvZHkgICAgICAgIHsvKiBOb3JtYWwgKi8gICAgIGZvbnQtZmFtaWx5OiJDYWxpYnJpIjsgZm9udC1zaXplOjE2cHg7IGZvbnQtc3R5bGU6Ym9sZDsgY29sb3I6YmxhY2sgIH0KdGQgICAgICAgICAgey8qIFRhYmxlICovICAgICAgZm9udC1mYW1pbHk6IkNhbGlicmkiOyBmb250LXNpemU6MTJweDsgfQpoMS50aXRsZSAgICB7LyogVGl0bGUgKi8gICAgICBmb250LWZhbWlseToiQ2FsaWJyaSI7IGZvbnQtc2l6ZTozMHB4OyBmb250LXN0eWxlOmJvbGQ7IGNvbG9yOnJlZCB9CmgxLnN1YnRpdGxlIHsvKiBTdWJ0aXRsZSAqLyAgIGZvbnQtZmFtaWx5OiJDYWxpYnJpIjsgZm9udC1zaXplOjUwcHg7IGZvbnQtc3R5bGU6Ym9sZDsgY29sb3I6cmVkIH0KaDEgICAgICAgICAgey8qIEhlYWRlciAxICovICAgZm9udC1mYW1pbHk6IkNhbGlicmkiOyBmb250LXNpemU6MjJweDsgZm9udC1zdHlsZTpib2xkOyBjb2xvcjpibHVlOyAgfQpoMiAgICAgICAgICB7LyogSGVhZGVyIDIgKi8gICBmb250LWZhbWlseToiQ2FsaWJyaSI7IGZvbnQtc2l6ZToxOHB4OyBmb250LXN0eWxlczpib2xkOyBjb2xvcjpncmVlbjsgIH0KaDMgICAgICAgICAgey8qIEhlYWRlciAzICovICAgZm9udC1mYW1pbHk6IkNhbGlicmkiOyBmb250LXNpemU6MzBweDsgZm9udC1zdHlsZXM6Ym9sZDsgY29sb3I6cmVkIH0KY29kZS5yICAgICAgey8qIENvZGUgYmxvY2sgKi8gZm9udC1mYW1pbHk6IkNhbGlicmkiOyBmb250LXNpemU6MTJweDsgfQpwcmUgICAgICAgICB7LyogQ29kZSBibG9jayAtICBkZXRlcm1pbmVzIGNvZGUgc3BhY2luZyBiZXR3ZWVuIGxpbmVzICovIGZvbnQtc2l6ZTogOHB4OyB9Cjwvc3R5bGU+CgotLS0KYGBge3Igc2V0dXAgY2h1bmssIGNoYXJnZW1lbnQgZGVzIHBhY2thZ2VzLCBlY2hvPUYsIGluY2x1ZGU9RiwgbWVzc2FnZT1GLCB3YXJuaW5nPUZ9CmtuaXRyOjpvcHRzX2NodW5rJHNldCgKICBlY2hvID0gRiwKICBpbmNsdWRlID0gRiwKICBmaWcuYWxpZ24gPSAiY2VudGVyIiwKICBmaWcud2lkdGggPSAyMCwKICBkcGkgPSA1MDAKKQpwYXRoIDwtICIvVXNlcnMvRWxpc2VlL1NQRi9HRFYvUi1HRFYvc3JjIgpzb3VyY2UoZmlsZS5wYXRoKHBhdGgsICIwX3NldHVwLlIiKSkKc291cmNlKCIuLzFfREZTdWl2aS5SIikKYGBgCgoKIyBOb21icmUgZGUgcGVyc29ubmVzIGluY2x1c2VzIHBhciBzZXhlIGV0IHBhciBhc3NvY2lhdGlvbgpBdSBgciBmb3JtYXQoU3lzLkRhdGUoKSwgIiVkLyVtLyVZIilgLCAqKmByIG5yb3coREZTdWl2aSlgIHBlcnNvbm5lcyoqIG9udCDDqXTDqSBpbmNsdXNlcyBkYW5zIGwnw6l0dWRlLiBQYXJtaSBlbGxlcywgYHIgc3VtKERGU3VpdmkkUGVyc29ubmUgPT0gIkFkdWx0ZSIpYCBzb250IGRlcyBhZHVsdGVzIGV0IGByIHN1bShERlN1aXZpJFBlcnNvbm5lID09ICJFbmZhbnQiKWAgc29udCBkZXMgZW5mYW50cy4gUGFybWkgbGVzIGFkdWx0ZXMsIGByIHJvdW5kKHN1bShERlN1aXZpJFNleGUgPT0gIkhvbW1lIikvc3VtKERGU3VpdmkkUGVyc29ubmUgPT0gIkFkdWx0ZSIpLCAzKSoxMDBgJSBzb250IGRlcyBob21tZXMgZXQgYHIgcm91bmQoc3VtKERGU3VpdmkkU2V4ZSA9PSAiRmVtbWUiKS9zdW0oREZTdWl2aSRQZXJzb25uZSA9PSAiQWR1bHRlIiksIDMpKjEwMGAlIGRlcyBmZW1tZXMuIFBhcm1pIGxlcyBlbmZhbnRzLCBgciByb3VuZChzdW0oREZTdWl2aSRTZXhlID09ICJGaWxsZSIpL3N1bShERlN1aXZpJFBlcnNvbm5lID09ICJFbmZhbnQiKSwgMykqMTAwYCUgc29udCBkZXMgZmlsbGVzIGV0IGByIHJvdW5kKHN1bShERlN1aXZpJFNleGUgPT0gIkdhcsOnb24iKS9zdW0oREZTdWl2aSRQZXJzb25uZSA9PSAiRW5mYW50IiksIDMpKjEwMGAlIHNvbnQgZGVzIGdhcsOnb25zLgoKCgpgYGB7ciBpbmNsdWRlID0gVH0KIyBQbG90IHRhYmxlYXUgMSAtIG5vbWJyZSBkZSBwZXJzb25uZXMgaW5jbHVzZXMgcGFyIHNleGUgZXQgcGFyIGFzc29jaWF0aW9uCnRhYjEgICU+JQogIG11dGF0ZShgU291cy10b3RhbCBgID0gY2VsbF9zcGVjKGBTb3VzLXRvdGFsIGAsIGJvbGQgPSBUKSkgJT4lCiAgbXV0YXRlKGBTb3VzLXRvdGFsYCA9IGNlbGxfc3BlYyhgU291cy10b3RhbGAsIGJvbGQgPSBUKSkgJT4lCiAgbXV0YXRlKFRPVEFMID0gY2VsbF9zcGVjKFRPVEFMLCBib2xkID0gVCkpICU+JQogIGthYmxlKAogICAgY2FwdGlvbiA9IHBhc3RlMCgKICAgICAgIlRhYmxlIDEgOiBOb21icmUgZGUgcGVyc29ubmVzIGluY2x1c2VzIGRhbnMgbCfDqXR1ZGUgcGFyIGFzc29jaWF0aW9uIGV0IHBhciBkdSBzZXhlIGF1ICIsCiAgICAgIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwKICAgICAgIi0gRXR1ZGUgc3VyIGxhIHNhbnTDqSBkZXMgR2VucyBkdSB2b3lhZ2UgZW4gTm91dmVsbGUgQXF1aXRhaW5lIgogICAgKSwKICAgIGZvcm1hdCA9ICJodG1sIiwKICAgIHBvc2l0aW9uID0gImNlbnRlciIsCiAgICBlc2NhcGUgPSBGLAogICAgYWxpZ24gPSBjKCJsIiwgImMiLCAiYyIsICJjIiwgImMiLCAiYyIsICJjIiwgImMiLCAiYyIpCiAgKSAlPiUKICBrYWJsZV9zdHlsaW5nKAogICAgYm9vdHN0cmFwX29wdGlvbnMgPSAic3RyaXBlZCIsCiAgICBmdWxsX3dpZHRoID0gRiwKICAgIGZvbnRfc2l6ZSA9IDEyCiAgKSAlPiUKICByb3dfc3BlYygxMSwgYm9sZCA9IFQpICU+JQogIGFkZF9oZWFkZXJfYWJvdmUoYygKICAgICIgIiA9IDEsCiAgICAiQWR1bHRlcyIgPSAzLAogICAgIkVuZmFudHMiID0gMywKICAgICIgIiA9IDEKICApKQpgYGAKCiMgw4JnZSBtb3llbiBkZXMgYWR1bHRlcyBldCBkZXMgZW5mYW50cyBpbmNsdXMKRW4gbW95ZW5uZSwgbGVzIGFkdWx0ZXMgc29udCDDomfDqXMgZGUKYHIgcm91bmQod2l0aChERlN1aXZpLCB0YXBwbHkoQWdlLCBQZXJzb25uZSwgbWVhbiwgbmEucm09VCkpWzFdLDEpYCBhbnMgKHNkID0gYHIgcm91bmQod2l0aChERlN1aXZpLCB0YXBwbHkoQWdlLCBQZXJzb25uZSwgc2QsIG5hLnJtPVQpKVsxXSwxKWAgYW5zKQpldCBsZXMgZW5mYW50cyBkZSBgciByb3VuZCh3aXRoKERGU3VpdmksIHRhcHBseShBZ2UsIFBlcnNvbm5lLCBtZWFuLCBuYS5ybT1UKSlbMl0sMSlgIGFucyAoc2QgPSBgciByb3VuZCh3aXRoKERGU3VpdmksIHRhcHBseShBZ2UsIFBlcnNvbm5lLCBzZCwgbmEucm09VCkpWzJdLDEpYCBhbnMpLgpMJ8OiZ2UgbW95ZW4gZGVzIGZlbW1lcyBlc3QgZGUgYHIgcm91bmQod2l0aChkZkFfc3VpdmksIHRhcHBseShBZ2UsIFNleGUsIG1lYW4sIG5hLnJtPVQpKVsxXSwxKWAKIGFucyAoc2QgPSBgciByb3VuZCh3aXRoKGRmQV9zdWl2aSwgdGFwcGx5KEFnZSwgU2V4ZSwgc2QsIG5hLnJtPVQpWzFdKSwxKWAgYW5zKSBldCBkZXMgaG9tbWVzIGRlIGByIHJvdW5kKHdpdGgoZGZBX3N1aXZpLCB0YXBwbHkoQWdlLCBTZXhlLCBtZWFuLCBuYS5ybT1UKSlbMl0sMSlgIGFucyAoc2QgPSBgciByb3VuZCh3aXRoKGRmQV9zdWl2aSwgdGFwcGx5KEFnZSwgU2V4ZSwgc2QsIG5hLnJtPVQpKVsyXSwxKWAgYW5zKS4gIAogTCfDomdlIG1veWVuIGRlcyBmaWxsZXMgZXN0IGRlIGByIHJvdW5kKHdpdGgoZGZFX3N1aXZpLCB0YXBwbHkoQWdlLCBTZXhlLCBtZWFuLCBuYS5ybT1UKSlbMV0sMSlgIGFucyAoc2QgPSBgciByb3VuZCh3aXRoKGRmRV9zdWl2aSwgdGFwcGx5KEFnZSwgU2V4ZSwgc2QsIG5hLnJtPVQpWzFdKSwxKWAgYW5zKSBldCBkZXMgZ2Fyw6dvbnMgZGUgYHIgcm91bmQod2l0aChkZkVfc3VpdmksIHRhcHBseShBZ2UsIFNleGUsIG1lYW4sIG5hLnJtPVQpKVsyXSwxKWAgYW5zIChzZCA9IGByIHJvdW5kKHdpdGgoZGZFX3N1aXZpLCB0YXBwbHkoQWdlLCBTZXhlLCBzZCwgbmEucm09VCkpWzJdLDEpYCBhbnMpLgoKPGNlbnRlcj4gICAgCmBgYHtyIGluY2x1ZGUgPSBULCBmaWcud2lkdGg9OCwgZGV2PSJzdmciLCBkcGk9MzAwfQojIFBsb3QgZmlndXJlIDEgLSBib3hwbG90IMOiZ2UgZGVzIGFkdWx0ZXMKZ2dwbG90KERGU3Vpdmlbd2hpY2goREZTdWl2aSRQZXJzb25uZSA9PSAiQWR1bHRlIiksIF0pICsgdGhlbWVfY2xhc3NpYyhiYXNlX3NpemUgPSAxMCkgKwogIGFlcyh4ID0gU2V4ZSwgeSA9IEFnZSwgY29sb3IgPSBTZXhlKSArCiAgZ2VvbV9ib3hwbG90KCkgKwogIGxhYnModGl0bGUgPSAiRmlndXJlIDEgOiBCb8OudGUgw6AgbW91c3RhY2hlIGRlIGxhIHZhcmlhYmxlIMOiZ2UgXG5lbiBmb25jdGlvbiBkdSBzZXhlIGNoZXMgbGVzIGFkdWx0ZXMiLAogICAgICAgeSA9ICLDgmdlIChlbiBhbm7DqWVzKSIsCiAgICAgICB4ID0gIiIpICsKICB0aGVtZSgKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KAogICAgICBhbmdsZSA9IDQ1LAogICAgICBoanVzdCA9IDEsCiAgICAgIGNvbG9yID0gImdyZXk1MCIKICAgICksCiAgICBheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIiksCiAgICBheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoY29sb3IgPSAiZ3JleTUwIiksCiAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIsCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KAogICAgICBjb2xvciA9ICJncmV5NTAiLAogICAgICBzaXplID0gMTAsCiAgICAgIGhqdXN0ID0gMC41CiAgICApCiAgKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJGZW1tZXMiLCAiSG9tbWVzIikpICsKICBzY2FsZV95X2NvbnRpbnVvdXMobGltaXRzID0gYygxOCwgOTUpLCBicmVha3MgPSBzZXEoMCwgMTAwLCAxMCkpIC0+IHAxCgojIFBsb3QgZmlndXJlIDIgLSBib3hwbG90IMOiZ2UgZGVzIGVuZmFudHMKZ2dwbG90KERGU3Vpdmlbd2hpY2goREZTdWl2aSRQZXJzb25uZSA9PSAiRW5mYW50IiksIF0pICsgdGhlbWVfY2xhc3NpYyhiYXNlX3NpemUgPSAxMCkgKwogIGFlcyh4ID0gU2V4ZSwgeSA9IEFnZSwgY29sb3IgPSBTZXhlKSArCiAgZ2VvbV9ib3hwbG90KCkgKwogIGxhYnModGl0bGUgPSAiRmlndXJlIDIgOiBCb8OudGUgw6AgbW91c3RhY2hlIGRlIGxhIHZhcmlhYmxlIMOiZ2UgXG5lbiBmb25jdGlvbiBkdSBzZXhlIGNoZXogbGVzIGVuZmFudHMiLAogICAgICAgeSA9ICLDgmdlIChlbiBhbm7DqWVzKSIsCiAgICAgICB4ID0gIiIpICsKICB0aGVtZSgKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KAogICAgICBhbmdsZSA9IDQ1LAogICAgICBoanVzdCA9IDEsCiAgICAgIGNvbG9yID0gImdyZXk1MCIKICAgICksCiAgICBheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIiksCiAgICBheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoY29sb3IgPSAiZ3JleTUwIiksCiAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIsCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KAogICAgICBjb2xvciA9ICJncmV5NTAiLAogICAgICBzaXplID0gMTAsCiAgICAgIGhqdXN0ID0gMC41CiAgICApCiAgKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJGaWxsZXMiLCAiR2Fyw6dvbnMiKSkgKwogIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDYsIDE0KSwgYnJlYWtzID0gc2VxKDYsIDE0LCAxKSkgLT4gcDIKCmdyaWQuYXJyYW5nZShwMSwgcDIsIG5yb3cgPSAxLCBuY29sID0gMikKcm0ocDEsIHAyKQpgYGAKPGNlbnRlcj4gCgojIFJhdGlvIHNlbG9uIGxlIHNleGUgZGVzIHBlcnNvbm5lcwpMZSByYXRpbyBmZW1tZXMgLyBob21tZXMgZXN0IGRlIGByIHJvdW5kKHN1bShERlN1aXZpJFNleGUgPT0gIkZlbW1lIikvc3VtKERGU3VpdmkkU2V4ZSA9PSAiSG9tbWUiKSwxKWAuCkxlIHJhdGlvIGZpbGxlcyAvIGdhcsOnb25zIGVzdCBkZSBgciByb3VuZChzdW0oREZTdWl2aSRTZXhlID09ICJGaWxsZSIpL3N1bShERlN1aXZpJFNleGUgPT0gIkdhcsOnb24iKSwxKWAuCkxhIHJhdGlvIGFkdWx0ZXMgLyBlbmZhbnRzIGVzdCBkZSBgciByb3VuZChzdW0oREZTdWl2aSRQZXJzb25uZSA9PSAiQWR1bHRlIikvc3VtKERGU3VpdmkkUGVyc29ubmUgPT0gIkVuZmFudCIpLDEpYC4KQ2VzIHJhdGlvcyBzb250IHByw6lzZW50w6lzIHBhciBhc3NvY2lhdGlvbiBkYW5zIGxhIHRhYmxlIGNpLWRlc3NvdXMgKFRhYmxlIDIpLgoKCmBgYHtyIGluY2x1ZGUgPSBUfQojIFBsb3QgdGFibGVhdSAyIC0gUmF0aW9zIGVuIGZvbmN0aW9uIGR1IHNleGUgZXQgZGUgbCfDomdlIGRlcyBwZXJzb25uZXMgaW5jbHVzZXMKdGFiMiAlPiUgCiAga2FibGUoY2FwdGlvbiA9IHBhc3RlMCgiVGFibGUgMiA6IFJhdGlvcyBlbiBmb25jdGlvbiBkdSBzZXhlIGRlcyBwZXJzb25uZXMgaW5jbHVzZXMgYXUgIiwKICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwKICAgICAgICAgICAgICAgICAgICAgICAgIlxuIEV0dWRlIHN1ciBsYSBzYW50w6kgZGVzIEdlbnMgZHUgdm95YWdlIGVuIE5vdXZlbGxlIEFxdWl0YWluZSIpLCBmb3JtYXQgPSAiaHRtbCIsIHBvc2l0aW9uID0gImNlbnRlciIsIGVzY2FwZSA9IEYsIGFsaWduID0gYygibCIsIHJlcCgiYyIsbmNvbCh0YWIyKSkpKSAlPiUKICBrYWJsZV9zdHlsaW5nKGJvb3RzdHJhcF9vcHRpb25zID0gInN0cmlwZWQiLCBmdWxsX3dpZHRoID0gRiwgZm9udF9zaXplID0gMTIpICU+JQogIGNvbGxhcHNlX3Jvd3MoY29sdW1ucyA9IDEsIHZhbGlnbiA9ICJtaWRkbGUiKSAlPiUKICByb3dfc3BlYygxMSwgYm9sZCA9IFQpICU+JQogIGFkZF9oZWFkZXJfYWJvdmUoYygiICIgPSAxLCAiUmF0aW8iID0gMywgIiAiID0gMSkpCmBgYAoKCi0tLQoKIyBOb21icmUgZGUgcGVyc29ubmVzIGluY2x1c2VzIGVuIGZvbmN0aW9uIGRlcyBzZW1haW5lcwo8Y2VudGVyPgpgYGB7ciBQbG90IEZpZ3VyZSAzLCBkZXY9InN2ZyIsIGRwaT0zMDAsIGluY2x1ZGU9VH0KZ2dwbG90KERGU3VpdmkpICsgdGhlbWVfY2xhc3NpYyhiYXNlX3NpemUgPSAxMCkgKyBhZXMoeCA9IFNlbWFpbmUsIGJpbndpZHRoID0gMCkgKwogIGdlb21fYmFyKGNvbG91ciA9ICJ3aGl0ZSIsIGZpbGwgPSAiIzc1OGJkMSIsIHdpZHRoID0gMC44LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2RvZGdlKDUpKSArCiAgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJncmV5NTAiLCBzaXplID0gOSwgaGp1c3QgPSAwLjUpKSArCiAgeWxpbShjKDAsMTAwKSkgKwogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSwgY29sb3IgPSAiZ3JleTUwIiksCiAgICAgICAgICBheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIikpICsKICB0aGVtZShheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoc2l6ZSA9IDAuOCwgY29sb3VyID0gImdyZXk4MCIpKSArCiAgbGFicyh5ID0gIk5iIGRlIHF1ZXN0aW9ubmFpcmVzIiwgeCA9ICIiKSArCiAgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJncmV5NTAiLCBzaXplID0gMTAsIGhqdXN0ID0gMC41KSkgKwogIGxhYnModGl0bGUgPSBwYXN0ZTAoIkZpZ3VyZSAxIDogTm9tYnJlIGQnaW5jbHVzaW9ucyBzZWxvbiBsZXMgc2VtYWluZXMgYXUgMTYvMDMvMjAyMC5cbiBFdHVkZSBzdXIgbGEgc2FudMOpIGRlcyBHZW5zIGR1IHZveWFnZSBlbiBOb3V2ZWxsZSBBcXVpdGFpbmUgMjAxOS0yMDIwIikpCmBgYAo8Y2VudGVyPgoKIyBRdWVzdGlvbm5haXJlcyB0cmFuc21pcyB2cyBxdWVzdGlvbm5haXJlcyBhdHRlbmR1cyBzZWxvbiBsZXMgdGVycml0b2lyZXMKCmBgYHtyIFBsb3QgdGFiNC5iaXMsIGluY2x1ZGU9Rn0KdGFiNC5iaXMgJT4lIAogIGthYmxlKGNhcHRpb24gPSBwYXN0ZTAoIlRhYmxlIDMgOiBOb21icmUgZGUgcGVyc29ubmVzIGluY2x1c2VzIGRhbnMgbCfDqXR1ZGUgcGFyIGFzc29jaWF0aW9uIGV0IHRlcnJpdG9pcmVzIGV0IHBhciBzZXhlIGF1ICIsIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwgIlxuIEV0dWRlIHN1ciBsYSBzYW50w6kgZGVzIEdlbnMgZHUgdm95YWdlIGVuIE5vdXZlbGxlIEFxdWl0YWluZSIpLCBmb3JtYXQgPSAiaHRtbCIsIHBvc2l0aW9uID0gImNlbnRlciIsIGVzY2FwZSA9IEYsIGFsaWduID0gYygibCIsIHJlcCgiYyIsbmNvbCh0YWI0LmJpcykpKSkgJT4lCiAga2FibGVfc3R5bGluZyhib290c3RyYXBfb3B0aW9ucyA9ICJzdHJpcGVkIiwgZnVsbF93aWR0aCA9IEYsCiAgICAgICAgZm9udF9zaXplID0gMTIpICU+JQogIGNvbGxhcHNlX3Jvd3MoY29sdW1ucyA9IDEsIHZhbGlnbiA9ICJtaWRkbGUiKSAlPiUKICByb3dfc3BlYygxMSwgYm9sZCA9IFQpCmBgYAoKPGNlbnRlcj4KYGBge3IgaW5jbHVkZSA9IFQsIGRwaT00MDB9CiMgUGxvdCBGaWd1cmUgNCA6IHBvdXJjZW50YWdlcyByw6lhbGlzw6lzIHNlbG9uIGxlcyB0ZXJyaXRvaXJlcywgCmdncGxvdCh0YWI0KSArIHRoZW1lX21pbmltYWwoKSArCiAgZ2VvbV9iYXIoYWVzKHkgPSBjKHJlcCgxMDAsMTgpKSwgeCA9IFRlcnJpdG9pcmVzKSwgc3RhdD0iaWRlbnRpdHkiLCBmaWxsID0gImRhcmtzZWFncmVlbjIiKSArICNncmF5OTAKICBnZW9tX2JhcihhZXMoeSA9IGBQb3VyY2VudGFnZSByw6lhbGlzw6kgdnMgYXR0ZW5kdWAsIHggPSBUZXJyaXRvaXJlcyksIHN0YXQ9ImlkZW50aXR5IiwgZmlsbCA9ICJkYXJrc2VhZ3JlZW40IikgKyAjbWVkaXVtc3ByaW5nZ3JlZW4KICBnZW9tX3RleHQoZGF0YSA9IHRhYjQsIGFlcyh4ID0gVGVycml0b2lyZXMsIHkgPSByZXAoMTAzLDE4KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBwYXN0ZTAoYFF1ZXN0aW9ubmFpcmVzIGF0dGVuZHVzYCkpLCBzaXplID0gMy41LCBjb2xvciA9ICJibGFjayIpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IGRvbGxhcl9mb3JtYXQoc3VmZml4ID0gIiUiLCBwcmVmaXggPSAiIikpICsKICAKICBsYWJzKHRpdGxlID0gcGFzdGUwKCJGaWd1cmUgNCA6IE5pdmVhdSBkZSByw6lhbGlzYXRpb24gZGVzIHF1ZXN0aW9ubmFpcmVzIChlbiAlKSBzZWxvbiBsZXMgdGVycml0b2lyZXMgYXUgIiwKICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwgIlxuIEV0dWRlIHN1ciBsYSBzYW50w6kgZGVzIEdlbnMgZHUgdm95YWdlIGVuIE5vdXZlbGxlIEFxdWl0YWluZSIpKSArCiAgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJncmV5NTAiLCBzaXplID0gMTAsIGhqdXN0ID0gMC41KSkgKwogIGxhYnMoeCA9ICIiLCB5ID0gIlBvdXJjZW50YWdlIikgIysKICAjYW5ub3RhdGUoInRleHQiLCA4LCA5NywgbGFiZWw9Ik5vbWJyZSBkZSBxdWVzdGlvbm5haXJlcyDDoCByw6lhbGlzZXIiLCBjb2xvciA9ICJibGFjayIsIGhqdXN0ID0gMSwgc2l6ZSA9IDQpCmBgYAo8Y2VudGVyPgogCgoKIyBRdWVzdGlvbm5haXJlcyB0cmFuc21pcyBWcyBxdWVzdGlvbm5haXJlcyBhdHRlbmR1cyBzZWxvbiBsZXMgYXNzb2NpYXRpb25zCmBgYHtyIFBsb3QgdGFiNS5iaXMsIGluY2x1ZGUgPSBUfQp0YWI1LmJpcyAlPiUKICBrYWJsZShjYXB0aW9uID0gcGFzdGUwKCJUYWJsZSA6IFF1ZXN0aW9ubmFpcmVzIHRyYW5zbWlzIGV0IGF0dGVuZHVzIHBhciBhc3NvY2lhdGlvbiBhdSAiLAogICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KFN5cy5EYXRlKCksICIlZC8lbS8lWSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIlxuIC0gRXR1ZGUgc3VyIGxhIHNhbnTDqSBkZXMgR2VucyBkdSB2b3lhZ2UgZW4gTm91dmVsbGUgQXF1aXRhaW5lIiksCiAgICAgICAgZm9ybWF0ID0gImh0bWwiLCBwb3NpdGlvbiA9ICJjZW50ZXIiLCBlc2NhcGUgPSBGLCBhbGlnbiA9IGMoImwiLCByZXAoImMiLG5jb2woZGYpKSkpICU+JQogIGthYmxlX3N0eWxpbmcoYm9vdHN0cmFwX29wdGlvbnMgPSBjKCJzdHJpcGVkIiwgInJlc3BvbnNpdmUiKSwKICAgICAgICAgICAgICAgIGZ1bGxfd2lkdGggPSBGLAogICAgICAgIGZvbnRfc2l6ZSA9IDEyKSAlPiUKICBjb2xsYXBzZV9yb3dzKGNvbHVtbnMgPSAxLCB2YWxpZ24gPSAibWlkZGxlIikgJT4lCiAgcm93X3NwZWMoMTEsIGJvbGQgPSBUKSAlPiUKICBjb2x1bW5fc3BlYyhjKDMsNSw2LDcpLCB3aWR0aCA9ICI4ZW0iKSAlPiUKICBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiID0gMSwgIk5iIGRlIHF1ZXN0aW9ubmFpcmVzIiA9IDMsICJQb3VyY2VudGFnZXMiID0gMykpCiAgCmBgYApTdXIgbGVzIDIwMzMgcXVlc3Rpb25uYWlyZXMgbsOpY2Vzc2FpcmVzIHBvdXIgY2V0dGUgw6l0dWRlLCBgciBucm93KERGU3VpdmkpYCBvbnQgw6l0w6kgY29sbGVjdMOpcyBldCB0cmFuc21pcyDDoCBjZSBqb3VyLCBjZSBxdWkgdmV1dCBkaXJlIHF1ZSBsZSAqKm5pdmVhdSBnbG9iYWwgZGUgcsOpYWxpc2F0aW9uIGF1IGByIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKWAgZXN0IGRlIGByIHJvdW5kKG5yb3coREZTdWl2aSkvMjAzMywyKSoxMDBgJSoqLiAgIAoKCjxjZW50ZXI+CmBgYHtyIFBsb3QgRmlndXJlIDUgOiBiYXJwbG90IHBvdXJjZW50YWdlIHLDqWFsaXPDqSBzZWxvbiBsZXMgYWFzb2NpYXRpb25zLCBpbmNsdWRlID0gVCwgZHBpPTQwMH0KZ2dwbG90KHRhYjUpICsgdGhlbWVfY2xhc3NpYyhiYXNlX3NpemUgPSAxMCkgKwogIAogIGdlb21fYmFyKGFlcyh5ID0gYyhyZXAoMTAwLDExKSksIHggPSBBc3NvY2lhdGlvbnMpLCBzdGF0PSJpZGVudGl0eSIsIGZpbGwgPSAiZ3JleTgwIikgKwogIGdlb21fYmFyKGFlcyh5ID0gYFBvdXJjZW50YWdlIHLDqWFsaXPDqSB2cyBhdHRlbmR1YCwgeCA9IEFzc29jaWF0aW9ucyksIHN0YXQ9ImlkZW50aXR5IiwKICAgICAgICAgICBmaWxsID0gIiM2OWIzYTIiKSArCiAgCiAgZ2VvbV90ZXh0KGRhdGEgPSB0YWI1LCBhZXMoeCA9IEFzc29jaWF0aW9ucywgeSA9IHJlcCgxMDMsMTEpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IHBhc3RlMChgUXVlc3Rpb25uYWlyZXMgYXR0ZW5kdXNgKSksIHNpemUgPSAzLjUsIGNvbG9yID0gImdyZXkyMCIpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IGRvbGxhcl9mb3JtYXQoc3VmZml4ID0gIiUiLCBwcmVmaXggPSAiIikpICsKICB0aGVtZShheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoc2l6ZSA9IDAuOCwgY29sb3VyID0gImdyZXk4MCIpKSArCiAgCiAgbGFicyh0aXRsZSA9IHBhc3RlMCgiRmlndXJlIDIgOiBOaXZlYXUgZGUgcsOpYWxpc2F0aW9uIGRlcyBlbnRyZXRpZW5zIChlbiAlKSBzZWxvbiBsZXMgYXNzb2NpYXRpb25zIGF1IDE2LzAzLzIwMjAuXG4gRXR1ZGUgc3VyIGxhIHNhbnTDqSBkZXMgR2VucyBkdSB2b3lhZ2UgZW4gTm91dmVsbGUgQXF1aXRhaW5lIikpICsKICB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIkdSRVk1MCIsIHNpemUgPSAxMCwgaGp1c3QgPSAwLjUpKSArCiMgIHRoZW1lKHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9IE5BLCBjb2xvdXIgPSAibGlnaHRncmV5IiksCiMgICAgICAgIHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfbGluZShsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvdXIgPSAiZ3JleTUwIiwgc2l6ZSA9IDAuMSkpICsKICBsYWJzKHggPSAiIiwgeSA9ICJQb3VyY2VudGFnZSIsIGNvbG9yID0gInJlZCIpICsKICB0aGVtZShheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIikpICsKICB0aGVtZShheGlzLnRpdGxlLnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTUwIikpICsKICBhbm5vdGF0ZSgidGV4dCIsIDgsIDExMCwgbGFiZWw9Ik5vbWJyZSBkZSBxdWVzdGlvbm5haXJlcyBhdHRlbmR1cyIsIGNvbG9yID0gImdyZXkyMCIsIGhqdXN0ID0gMSwgc2l6ZSA9IDQpCmBgYAoKPGNlbnRlcj4KYGBge3IgdGFiNS5zY3JvbGwsIGluY2x1ZGU9VH0KdGFiNS5zY3JvbGwgJT4lCiAga2FibGUoY2FwdGlvbiA9IHBhc3RlMCgiVGFibGUgNCA6IFF1ZXN0aW9ubmFpcmVzIHRyYW5zbWlzIHBhciBzZW1haW5lIGV0IHBhciBhc3NvY2lhdGlvbiBhdSAiLAogICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KFN5cy5EYXRlKCksICIlZC8lbS8lWSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIlxuIC0gRXR1ZGUgc3VyIGxhIHNhbnTDqSBkZXMgR2VucyBkdSB2b3lhZ2UgZW4gTm91dmVsbGUgQXF1aXRhaW5lIiksCiAgICAgICAgZm9ybWF0ID0gImh0bWwiLCBwb3NpdGlvbiA9ICJjZW50ZXIiLCBlc2NhcGUgPSBGLCBhbGlnbiA9IGMoImwiLCByZXAoImMiLG5jb2wodGFiNS5zY3JvbGwpKSkpICU+JQogIGthYmxlX3N0eWxpbmcoYm9vdHN0cmFwX29wdGlvbnMgPSBjKCJzdHJpcGVkIiwgInJlc3BvbnNpdmUiKSwKICAgICAgICAgICAgICAgIGZ1bGxfd2lkdGggPSBGLCBmb250X3NpemUgPSAxMikgJT4lCiAgY29sbGFwc2Vfcm93cyhjb2x1bW5zID0gMSwgdmFsaWduID0gIm1pZGRsZSIpICU+JQogIHJvd19zcGVjKDExLCBib2xkID0gVCkgJT4lCiAgc2Nyb2xsX2JveCh3aWR0aCA9ICIxMDAlIiwgaGVpZ2h0ID0gIjUxMHB4IikKYGBgCgojIEVmZmVjdGlmcyBhY3R1YWxpc8OpcyByZWNlbnNlbWVudCwgdGlyYWdlIGF1IHNvcnQgZXQgcG9wdWxhdGlvbiBjaWJsZQpgYGB7ciBwbG90IHRhYjYsIGluY2x1ZGU9VH0KdGFiNiAlPiUgCiAga2FibGUoY2FwdGlvbiA9IHBhc3RlMCgiVGFibGUgNSA6IGVmZmVjdGlmcyBtw6luYWdlcyBldCBwZXJzb25uZXMgdGlyYWdlcyBhdSBzb3J0ICIsIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQvJW0vJVkiKSwgIlxuIEV0dWRlIHN1ciBsYSBzYW50w6kgZGVzIEdlbnMgZHUgdm95YWdlIGVuIE5vdXZlbGxlIEFxdWl0YWluZSIpLCBmb3JtYXQgPSAiaHRtbCIsIHBvc2l0aW9uID0gImNlbnRlciIsIGNvbC5uYW1lcyA9IGMoIkFzc29jaWF0aW9ucyIsIHJlcChjKCJJbml0aWFsIiwiQWN0dWFsaXPDqSIpLDMpKSwgZXNjYXBlID0gRiwgYWxpZ24gPSBjKCJsIiwgcmVwKCJjIixuY29sKHRhYjYpKSkpICU+JQogIGthYmxlX3N0eWxpbmcoYm9vdHN0cmFwX29wdGlvbnMgPSAic3RyaXBlZCIsIGZ1bGxfd2lkdGggPSBGLAogICAgICAgIGZvbnRfc2l6ZSA9IDEyKSAlPiUKICBjb2xsYXBzZV9yb3dzKGNvbHVtbnMgPSAxLCB2YWxpZ24gPSAibWlkZGxlIikgJT4lCiAgcm93X3NwZWMoMTEsIGJvbGQgPSBUKSAlPiUKICBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiID0gMSwgIk3DqW5hZ2VzIHJlY2Vuc8OpcyIgPSAyLCAiTcOpbmFnZXMgw6AgdGlyZXIgYXUgc29ydCIgPSAyLAogICAgICAgICAgICAgICAgICAgICAiUGVyc29ubmVzIGNpYmxlIiA9IDIpKQpgYGAKCiMgUmVmdXMKTGVzIGFzc29jaWF0aW9ucyBvbnQgcsOpcG9ydMOpIHF1ZSBgciBucm93KHRhYjcpYCBwZXJzb25uZXMgbidvbnQgcGFzIHLDqXBvbmR1IG91IHLDqXBvbmR1IHBhcnRpZWxsZW1lbnQgYXV4IHF1ZXN0aW9ubmFpcmVzLCBjZSBxdWkgcmVwcsOpc2VudGUgdW4gdGF1eCBkZSBub24tcGFydGljaXBhdGlvbiBkZSBgciByb3VuZChucm93KHRhYjcpL25yb3coREZTdWl2aSkqMTAwLDEpYCUuCgojIERvbm7DqWVzIE1hbnF1YW50ZXMKIyMgTGlldXggZGUgdmllCmBgYHtyIGVjaG89RiwgZXZhbD1GLCBpbmNsdWRlPUZ9CiMgQ2hhcmdlbWVudCBkZXMgZG9ubsOpZXMKZGZfbGR2IDwtIHJlYWRfZGVsaW0oImRhdGEvR0RWX2V4cG9ydF9sZHYuY3N2IiwgIjsiLCBlc2NhcGVfZG91YmxlID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgIGxvY2FsZSA9IGxvY2FsZShkYXRlX25hbWVzID0gImZyIiwgZGF0ZV9mb3JtYXQgPSAiJWQlbSVZIiwgZGVjaW1hbF9tYXJrID0gIiwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmdfbWFyayA9ICI7IiksCiAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSAiIyIsIHRyaW1fd3MgPSBUUlVFKQoKIyBTdXBwcmVzc2lvbiBkZXMgcXVlc3Rpb25uYWlyZXMgbGlldSBkZSB2aWUgdmlkZXMKZGZfbGR2IDwtIGRmX2xkdlthcHBseShkZl9sZHZbLC1jKDEsMiw3OTo4MildLCAxLCBmdW5jdGlvbih5KSAhYWxsKGlzLm5hKHkpKSksXQoKIyBTw6lsZWN0aW9uIGRlcyB2YXJpYWJsZXMgc3VpdmllcyBwb3VyIGxlcyBkb25uw6llcyBtYW5xdWFudGVzCnZhcnNfbGR2IDwtIGMoImNvZGVfbGlldWRldmllIiwiZTAxIiwiZTAzIiwiZTA2XzEiLCJlMDgiLCJlMDkiLCJlMTAiLCJlMTQiLCJlMTUiLCJlMTYiLCJlMTciLCJlMTgiLCJlMTkiLCJlMjAiLCJlMjEiLAogICAgICAgICAgImUyMyIsImUyNCIsImUyNSIsImUyNiIsImUyNyIsImUyOSIsImUzMCIsImUzMSIsImUzMiIpCmRmX2xkdl9uYSA8LSBkZl9sZHZbLHZhcnNfbGR2XQoKIyBWw6lyaWZpY2F0aW9uIGRlcyBkb3VibG9ucyBkZSBsYSB2YXJpYWJsZSBjb2RlIGxpZXUgZGUgdmllCmRmX2xkdl9uYTJbd2hpY2goZHVwbGljYXRlZChkZl9sZHZfbmEyJGNvZGVfbGlldWRldmllKSksYygiY29kZV9saWV1ZGV2aWUiKV0KCiMgRMOpZG91Ymxvbm5lbWVudCBkdSBkYXRhIGZyYW1lCmRmX2xkdl9uYTIgPC0gZGlzdGluY3QoZGZfbGR2X25hMikKCiMgQ29uc3RydWN0aW9uIGR1IHRhYmxlYXUgZGVzIGRvbm7DqWVzIG1hbnF1YW50ZXMKdGFiX25hX2xkdjIgPC0gZGF0YS5mcmFtZShuYl9uYSA9IHNvcnQoc2FwcGx5KGRmX2xkdl9uYTIsIGZ1bmN0aW9uKHgpIHsgc3VtKGlzLm5hKHgpKSB9KSwgZGVjcmVhc2luZyA9IFRSVUUpKQp0YWJfbmFfbGR2MiR2YXJzX25hIDwtIHJvd25hbWVzKHRhYl9uYV9sZHYyKSA7IHRhYl9uYV9sZHYyIDwtIHRhYl9uYV9sZHYyWyxjKDIsMSldCnJvd25hbWVzKHRhYl9uYV9sZHYyKSA8LSAxOm5yb3codGFiX25hX2xkdjIpCnJvdW5kKHNvcnQoc2FwcGx5KGRmX2xkdl9uYTIsIGZ1bmN0aW9uKHgpIHsgc3VtKGlzLm5hKHgpKSB9KSwgZGVjcmVhc2luZyA9IFRSVUUpL25yb3coZGZfbGR2X25hMikqMTAwLDMpCgojIFBsb3QgZG9ubsOpZXMgbWFucXVhbnRlcyBxdWVzdGlvbm5haXJlcyBsaWV1eCBkZSB2aWUKZ2dwbG90KHRhYl9uYV9sZHYyKSArIHRoZW1lX2J3KCkgKyB0aGVtZShwYW5lbC5ncmlkLm1ham9yID0gZWxlbWVudF9ibGFuaygpLCBwYW5lbC5ib3JkZXIgPSBlbGVtZW50X2JsYW5rKCkpICsKICBjb29yZF9mbGlwKCkgKwogIGdlb21fYmFyKGFlcyh5ID0gbmJfbmEsIHggPSByZW9yZGVyKHZhcnNfbmEsIC1uYl9uYSkpLCBzdGF0PSJpZGVudGl0eSIsIGZpbGwgPSAiZ3JleTgwIikgKwogIHNjYWxlX3lfY29udGludW91cyhicmVha3MgPSAwOm1heCh0YWJfbmFfbGR2MiRuYl9uYSkpCmBgYAoKCgoKCgpgYGB7ciBlbnJlZ2lzdHJlbWVudCBkZXMgdGFibGVzIGVuIHRhbnQgcXVvYmpldHMgUiwgZXZhbD1UfQoKCmBgYAoK