-
Notifications
You must be signed in to change notification settings - Fork 0
/
OpenAIRELit4.epm
568 lines (567 loc) · 40.7 KB
/
OpenAIRELit4.epm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
<?xml version='1.0' encoding='utf-8'?>
<epm xmlns='http://eprints.org/ep2/data/2.0' id='https://spectrum.library.concordia.ca/id/epm/OpenAIRELit4'>
<epmid>OpenAIRELit4</epmid>
<uri>https://spectrum.library.concordia.ca/id/epm/OpenAIRELit4</uri>
<documents>
<document>
<files>
<file>
<filename>epm/OpenAIRELit4/cfg/cfg.d/z_openaire.pl</filename>
<mime_type>text/plain</mime_type>
<hash>78f2f8ffd0e2d5e67fe10e1d3a4453d2</hash>
<hash_type>MD5</hash_type>
<filesize>128</filesize>
<data encoding='base64'>JGMtPntwbHVnaW5zfS0+eyJFeHBvcnQ6Ok9QRU5BSVJFIn0tPntwYXJhbXN9LT57ZGlzYWJsZX0g
PSAwOw0KJGMtPntwbHVnaW5zfXsiRXhwb3J0OjpPUEVOQUlSRV92aWFfUE1IIn17cGFyYW1zfXtk
aXNhYmxlfSA9IDA7DQo=
</data>
</file>
<file>
<filename>plugins/EPrints/Plugin/Export/OPENAIRE.pm</filename>
<mime_type>text/plain</mime_type>
<hash>b32a539c4f00c467dc5bfd23d5e49afa</hash>
<hash_type>MD5</hash_type>
<filesize>26398</filesize>
<data encoding='base64'>IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIw0KIw0KIyBFUHJpbnRzOjpQbHVnaW46OkV4cG9ydDo6T1BFTkFJUkUNCiMN
CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMNCiMNCiMNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KDQo9cG9kDQoNCj1oZWFkMSBO
QU1FDQoNCkI8RVByaW50czo6UGx1Z2luOjpFeHBvcnQ6Ok9QRU5BSVJFPiAtIE9QRU5BSVJFIEV4
cG9ydCBwbHVnaW4uDQoNCj1oZWFkMSBERVNDUklQVElPTg0KDQpUaGlzIGV4cG9ydCBwbHVnaW4g
aXMgd3JpdHRlbiB0byBleHBvcnQgaW4gY29tcGxpYW5jZSB3aXRoIEd1aWRlbGluZXMgZm9yIExp
dGVyYXR1cmUgUmVwb3NpdG9yaWVzIE9QRU5BSVJFIHY0DQoNCj1vdmVyIDQNCg0KPWN1dA0KDQpw
YWNrYWdlIEVQcmludHM6OlBsdWdpbjo6RXhwb3J0OjpPUEVOQUlSRTsNCg0KdXNlIEVQcmludHM6
OlBsdWdpbjo6RXhwb3J0OjpPUEVOQUlSRTsNCkBJU0EgPSAoICJFUHJpbnRzOjpQbHVnaW46OkV4
cG9ydDo6WE1MRmlsZSIgKTsNCg0KdXNlIHN0cmljdDsNCg0Kc3ViIG5ldw0Kew0KCW15KCAkY2xh
c3MsICVvcHRzICkgPSBAXzsNCglteSAkc2VsZiA9ICRjbGFzcy0+U1VQRVI6Om5ldyggJW9wdHMg
KTsNCg0KCSRzZWxmLT57bmFtZX0gPSAiT1BFTkFJUkUiOw0KCSMkc2VsZi0+e2FjY2VwdH0gPSBb
ICdkYXRhb2JqL2VwcmludCcsICdsaXN0L2VwcmludCcgXTsgDQoJJHNlbGYtPnthY2NlcHR9ID0g
WyAnZGF0YW9iai9lcHJpbnQnXTsgICNvbmx5IG91dHB1dCBvbmUgZXByaW50DQoJJHNlbGYtPnt2
aXNpYmxlfSA9ICdhbGwnOw0KICAgICRzZWxmLT57c3VmZml4fSA9ICcueG1sJzsNCiAgICAkc2Vs
Zi0+e21pbWV0eXBlfSA9ICdhcHBsaWNhdGlvbi94bWw7IGNoYXJzZXQ9dXRmLTgnOw0KCQ0KDQoJ
cmV0dXJuICRzZWxmOw0KfQ0KDQoNCnN1YiBvdXRwdXRfbGlzdA0Kew0KCW15KCAkcGx1Z2luLCAl
b3B0cyApID0gQF87DQoNCglteSAkdHlwZSA9ICRvcHRze2xpc3R9LT5nZXRfZGF0YXNldC0+Y29u
ZmlkOw0KCQ0KCW15ICRwYXJ0ID0gIiI7DQoJDQoJbXkgJHIgPSBbXTsNCg0KCWlmKCBkZWZpbmVk
ICRvcHRze2ZofSApDQoJew0KCQlwcmludCB7JG9wdHN7Zmh9fSAkcGx1Z2luLT54bWxfaGVhZGVy
KCk7DQoJfQ0KCWVsc2UNCgl7DQoJCXB1c2ggQHskcn0sICRwbHVnaW4tPnhtbF9oZWFkZXIoKTsN
Cgl9DQoNCgkkb3B0c3tsaXN0fS0+bWFwKHN1YiB7DQoJCW15KCAkc2Vzc2lvbiwgJGRhdGFzZXQs
ICRkYXRhb2JqICkgPSBAXzsNCgkJJHBhcnQgPSAkcGx1Z2luLT5vdXRwdXRfZGF0YW9iaiggJGRh
dGFvYmosIG11bHRpcGxlID0+IDEsICVvcHRzICk7DQoJCWlmKCBkZWZpbmVkICRvcHRze2ZofSAp
DQoJCXsNCgkJCXByaW50IHskb3B0c3tmaH19ICRwYXJ0Ow0KCQl9DQoJCWVsc2UNCgkJew0KCQkJ
cHVzaCBAeyRyfSwgJHBhcnQ7DQoJCX0NCgl9KTsNCg0KCWlmKCBkZWZpbmVkICRvcHRze2ZofSAp
DQoJew0KCQlwcmludCB7JG9wdHN7Zmh9fSAkcGx1Z2luLT54bWxfZm9vdGVyKCk7DQoJfQ0KCWVs
c2UNCgl7DQoJCXB1c2ggQHskcn0sICRwbHVnaW4tPnhtbF9mb290ZXIoKTsNCgl9DQoNCg0KCWlm
KCBkZWZpbmVkICRvcHRze2ZofSApDQoJew0KCQlyZXR1cm47DQoJfQ0KDQoJcmV0dXJuIGpvaW4o
ICcnLCBAeyRyfSApOw0KfQ0KDQoNCnN1YiBvdXRwdXRfZGF0YW9iag0Kew0KCW15KCAkcGx1Z2lu
LCAkZGF0YW9iaiwgJW9wdHMgKSA9IEBfOw0KDQoJbXkgJG11bHRpcGxlID0gJG9wdHN7Im11bHRp
cGxlIn07DQoJDQoJbXkgJHJlc3BvbnNlID0gJHBsdWdpbi0+eG1sX2RhdGFvYmogKCRkYXRhb2Jq
KTsNCg0KCW15ICRyZXNvdXJjZU1hcD0gRVByaW50czo6WE1MOjp0b19zdHJpbmcoICRyZXNwb25z
ZSApOw0KCUVQcmludHM6OlhNTDo6ZGlzcG9zZSggJHJlc3BvbnNlICk7DQoJDQogICAgcmV0dXJu
ICI8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiID8+Ii4kcmVzcG9uc2U7
DQoNCn0NCg0KDQoNCnN1YiB4bWxfZGF0YW9iag0Kew0KCW15KCAkcGx1Z2luLCAkZGF0YW9iaiwg
JW9wdHMgKSA9IEBfOw0KDQoJbXkgJG11bHRpcGxlID0gJG9wdHN7Im11bHRpcGxlIn07DQoJDQoJ
bXkgJHRpdGxlOw0KCWlmKCAkZGF0YW9iai0+ZGF0YXNldC0+Z2V0X2ZpZWxkKCJ0aXRsZSIpKQ0K
CXsNCgkJJHRpdGxlID0gJGRhdGFvYmotPmdldF92YWx1ZSggInRpdGxlIiApOwkNCgl9DQoJZWxz
ZQ0KCXsNCgkJJHRpdGxlID0gIkVQcmludCAjIi4kZGF0YW9iai0+Z2V0X3ZhbHVlKCAiZXByaW50
aWQiICk7CQ0KCX0NCglteSAkZXByaW50X3VybCA9ICRkYXRhb2JqLT5nZXRfdXJsOw0KCW15ICRz
ZXNzaW9uID0gJHBsdWdpbi0+e3Nlc3Npb259Ow0KCQ0KCW15ICRlcHJpbnRfdHlwZSA9ICRkYXRh
b2JqLT5nZXRfdmFsdWUoICJ0eXBlIiApOw0KCQkNCglteSAkcmVzcG9uc2UgPSAkcGx1Z2luLT57
c2Vzc2lvbn0tPm1ha2VfZWxlbWVudCgNCiAgICAgICAgCSJvYWlyZTpyZXNvdXJjZSIsDQoJCSJ4
bWxuczp4c2kiID0+ICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIs
DQogICAgICAgIAkieG1sbnM6cmRmIiA9PiAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1y
ZGYtc3ludGF4LW5zIyIsDQogICAgICAgIAkieG1sbnM6ZGMiID0+ICJodHRwOi8vd3d3LnczLm9y
Zy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIsDQoJCQkieG1sbnM6ZGF0YWNpdGUiID0+ICJodHRw
Oi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIsDQoJCQkieG1sbnM6dmMiID0+ICJodHRw
Oi8vd3d3LnczLm9yZy8yMDA3L1hNTFNjaGVtYS12ZXJzaW9uaW5nIiwNCgkJCSJ4bWxuczpvYWly
ZSIgPT4gImh0dHA6Ly9uYW1lc3BhY2Uub3BlbmFpcmUuZXUvc2NoZW1hL29haXJlLyIsDQoJCSJ4
c2k6c2NoZW1hTG9jYXRpb24iID0+Imh0dHA6Ly9uYW1lc3BhY2Uub3BlbmFpcmUuZXUvc2NoZW1h
L29haXJlLyBodHRwczovL3d3dy5vcGVuYWlyZS5ldS9zY2hlbWEvcmVwby1saXQvNC4wL29wZW5h
aXJlLnhzZCIgKTsNCg0KICAgICNUSVRMRQ0KCW15ICR0b3Bjb250ZW50ID0gJHNlc3Npb24tPm1h
a2VfZWxlbWVudCggImRhdGFjaXRlOnRpdGxlcyIpOw0KCW15ICRzdWJfY29udGVudCA9ICIiOw0K
CSRzdWJfY29udGVudCA9ICRzZXNzaW9uLT5yZW5kZXJfZGF0YV9lbGVtZW50ICgNCgkJNCwNCgkJ
ImRhdGFjaXRlOnRpdGxlIiwNCgkJJHRpdGxlICk7DQoJJHRvcGNvbnRlbnQtPmFwcGVuZENoaWxk
KCAkc3ViX2NvbnRlbnQpOw0KCSRyZXNwb25zZS0+YXBwZW5kQ2hpbGQoICR0b3Bjb250ZW50ICk7
CQ0KCQ0KCW15ICRjcmVhdG9yID0gIiI7DQoNCiAgICAjQ1JFQVRPUlMNCiAgICAkdG9wY29udGVu
dCA9ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQoICJkYXRhY2l0ZTpjcmVhdG9ycyIpOw0KICAgICRz
dWJfY29udGVudCA9ICIiOw0KCWlmICgkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoImNyZWF0b3Jz
Iikpew0KCQlteSAkbmFtZXMgPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiY3JlYXRvcnMiICk7DQoJ
CWZvcmVhY2ggbXkgJG5hbWUgKCBAJG5hbWVzICkNCgkJeyANCgkJCSRjcmVhdG9yID0gJHNlc3Np
b24tPm1ha2VfZWxlbWVudCggImRhdGFjaXRlOmNyZWF0b3IiKTsNCg0KCQkJIyBuYW1lDQoJCQlt
eSAkbmFtZV9zdHIgPSBFUHJpbnRzOjpVdGlsczo6bWFrZV9uYW1lX3N0cmluZyggJG5hbWUtPntu
YW1lfSk7DQoJCQkkc3ViX2NvbnRlbnQgPSAkc2Vzc2lvbi0+cmVuZGVyX2RhdGFfZWxlbWVudCAo
DQoJCQkJNCwNCgkJCQkiZGF0YWNpdGU6Y3JlYXRvck5hbWUiLA0KCQkJCSRuYW1lX3N0ciwgbmFt
ZVR5cGU9PiJQZXJzb25hbCINCgkJCSk7DQoJCQkkY3JlYXRvci0+YXBwZW5kQ2hpbGQoICRzdWJf
Y29udGVudCk7DQoNCgkJCSMgb3JjaWQNCgkJCWlmKCBkZWZpbmVkICRuYW1lLT57b3JjaWR9ICYm
ICAkbmFtZS0+e29yY2lkfSBuZSAiIiApDQoJCQl7DQoJCQkJbXkgJG9yY2lkID0gJHNlc3Npb24t
Pm1ha2VfZWxlbWVudCggImRhdGFjaXRlOm5hbWVJZGVudGlmaWVyIiwNCiAgICAgICAgICAgICAg
ICAgICAgIm5hbWVJZGVudGlmaWVyU2NoZW1lIiA9PiAiT1JDSUQiLA0KCQkJCQkic2NoZW1lVVJJ
IiA9PiAiaHR0cDovL29yY2lkLm9yZyINCgkJCQkpOw0KCQkJCSRvcmNpZC0+YXBwZW5kQ2hpbGQo
ICRzZXNzaW9uLT5tYWtlX3RleHQoICRuYW1lLT57b3JjaWR9ICkgKTsNCgkJCQkkY3JlYXRvci0+
YXBwZW5kQ2hpbGQoICRvcmNpZCApOw0KCQkJfQ0KDQoJCQkkdG9wY29udGVudC0+YXBwZW5kQ2hp
bGQoICRjcmVhdG9yKTsNCgkJfQ0KCX0NCg0KCSAjQ09SUE9SQVRFIENSRUFUT1JTDQoJIGlmICgk
ZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoImNvcnBfY3JlYXRvcnMiKSl7DQoJCSBteSAkbmFtZXMg
PSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiY29ycF9jcmVhdG9ycyIgKTsNCgkJIGZvcmVhY2ggbXkg
JG5hbWUgKCBAJG5hbWVzICkNCgkJICB7IA0KCQkJCSRzdWJfY29udGVudCA9ICRzZXNzaW9uLT5y
ZW5kZXJfZGF0YV9lbGVtZW50ICgNCgkJCQk0LA0KCQkJCSJkYXRhY2l0ZTpjcmVhdG9yTmFtZSIs
DQoJCQkJJG5hbWUsIG5hbWVUeXBlPT4iT3JnYW5pemF0aW9uYWwiICk7DQoJCQkkY3JlYXRvciA9
ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQoICJkYXRhY2l0ZTpjcmVhdG9yIik7DQoJCQkkY3JlYXRv
ci0+YXBwZW5kQ2hpbGQgKCAkc3ViX2NvbnRlbnQpOw0KCQkJJHRvcGNvbnRlbnQtPmFwcGVuZENo
aWxkKCAkY3JlYXRvcik7DQoJCSAgfQ0KCX0NCgkkcmVzcG9uc2UtPmFwcGVuZENoaWxkKCAkdG9w
Y29udGVudCApOw0KCQ0KCSNDT05UUklCVVRPUlMNCg0KCSMgTWFwIEVwcmludHMgY29udHJpYnV0
b3JUeXBlcyB0byBPcGVuQUlSRQ0KCSMgRVByaW50cyBpcyBiYXNlZCBvbiBMaWJyYXJ5IG9mIENv
bmdyZXNzIFJlbGF0b3JzIGh0dHA6Ly93d3cubG9jLmdvdi9sb2MudGVybXMvcmVsYXRvcnMvDQoJ
IyBPcGVuQUlSRSBoYXMgdGhlaXIgb3duIG11Y2ggc2hvcnRlciBsaXN0IChiYXNlZCBvbiBEYXRh
Q2l0ZSk6DQoJIyBDb250YWN0UGVyc29uLCBEYXRhQ29sbGVjdG9yLCBEYXRhQ3VyYXRvciwgRGF0
YU1hbmFnZXIsIERpc3RyaWJ1dG9yLCBFZGl0b3IsIEhvc3RpbmdJbnN0aXR1dGlvbiwgUHJvZHVj
ZXIsIFByb2plY3RMZWFkZXIsIFByb2plY3RNYW5hZ2VyLCBQcm9qZWN0TWVtYmVyLCBSZWdpc3Ry
YXRpb25BZ2VuY3ksIFJlZ2lzdHJhdGlvbkF1dGhvcml0eSwgUmVsYXRlZFBlcnNvbiwgUmVzZWFy
Y2hlciwgUmVzZWFyY2hHcm91cCwgUmlnaHRzSG9sZGVyLCBTcG9uc29yLCBTdXBlcnZpc29yLCBX
b3JrUGFja2FnZUxlYWRlciwgT3RoZXINCgkNCgkgbXkgJXJlbGF0b3JfbWFwID0gKA0KCSJodHRw
Oi8vd3d3LmxvYy5nb3YvbG9jLnRlcm1zL3JlbGF0b3JzL0RTVCIgPT4gIkRpc3RyaWJ1dG9yIiwN
CiAgICAiaHR0cDovL3d3dy5sb2MuZ292L2xvYy50ZXJtcy9yZWxhdG9ycy9FRFQiID0+ICJFZGl0
b3IiLA0KCSJodHRwOi8vd3d3LmxvYy5nb3YvbG9jLnRlcm1zL3JlbGF0b3JzL1BSTyIgPT4gIlBy
b2R1Y2VyIiwNCgkiaHR0cDovL3d3dy5sb2MuZ292L2xvYy50ZXJtcy9yZWxhdG9ycy9SRVMiID0+
ICJSZXNlYXJjaGVyIiwNCgkiaHR0cDovL3d3dy5sb2MuZ292L2xvYy50ZXJtcy9yZWxhdG9ycy9T
UE4iID0+ICJTcG9uc29yIiwNCgkiaHR0cDovL3d3dy5sb2MuZ292L2xvYy50ZXJtcy9yZWxhdG9y
cy9PVEgiID0+ICJPdGhlciIsDQoJImh0dHA6Ly93d3cubG9jLmdvdi9sb2MudGVybXMvcmVsYXRv
cnMvQ1BIIiA9PiAiUmlnaHRzSG9sZGVyIiwgICAgIyBDb3B5cmlnaHQgaG9sZGVyLCBpbmRpcmVj
dCBtYXRjaA0KICAgICJodHRwOi8vd3d3LmxvYy5nb3YvbG9jLnRlcm1zL3JlbGF0b3JzL0RUTSIg
PT4gIkRhdGFNYW5hZ2VyIiwgICMgbm90IGluIHRoZSBFUHJpbnRzIGxpc3QsIGJ1dCBpdCBpcyBh
IHBhcnQgb2YgTE9DIHJlbGF0b3JzLCBzbyBnb29kIGNhbmRpZGF0ZSB0byBhZGQgICANCiAgICAi
aHR0cDovL3d3dy5sb2MuZ292L2xvYy50ZXJtcy9yZWxhdG9ycy9ISVMiID0+ICJIb3N0aW5nSW5z
dGl0dXRpb24iLCAjIG5vdCBpbiB0aGUgRVByaW50cyBsaXN0LCBidXQgaXQgaXMgYSBwYXJ0IG9m
IExPQyByZWxhdG9ycywgc28gZ29vZCBjYW5kaWRhdGUgdG8gYWRkICANCgkiQ29udGFjdFBlcnNv
biIgPT4gIkNvbnRhY3RQZXJzb24iLCAgICMgbm90IGluIHRoZSBFUHJpbnRzIGxpc3QsIGJ1dCBw
bGFjaW5nIGl0IGluIGNhc2Ugd2UgYWRkIGl0DQogICAgIkRhdGFDb2xsZWN0b3IiID0+ICJEYXRh
Q29sbGVjdG9yIiwgICMgbm90IGluIHRoZSBFUHJpbnRzIGxpc3QsIGJ1dCBwbGFjaW5nIGl0IGlu
IGNhc2Ugd2UgYWRkIGl0DQogICAgIkRhdGFDdXJhdG9yIiA9PiAiRGF0YUN1cmF0b3IiLCAgICAj
IG5vdCBpbiB0aGUgRVByaW50cyBsaXN0LCBidXQgcGxhY2luZyBpdCBpbiBjYXNlIHdlIGFkZCBp
dA0KICAgICJQcm9qZWN0TGVhZGVyIiA9PiAiUHJvamVjdExlYWRlciIsICMgbm90IGluIHRoZSBF
UHJpbnRzIGxpc3QsIGJ1dCBwbGFjaW5nIGl0IGluIGNhc2Ugd2UgYWRkIGl0DQogICAgIlByb2pl
Y3RNYW5hZ2VyIiA9PiAiUHJvamVjdE1hbmFnZXIiLCAgIyBub3QgaW4gdGhlIEVQcmludHMgbGlz
dCwgYnV0IHBsYWNpbmcgaXQgaW4gY2FzZSB3ZSBhZGQgaXQNCiAgICAiUHJvamVjdE1lbWJlciIg
PT4gIlByb2plY3RNZW1iZXIiLCAgICMgbm90IGluIHRoZSBFUHJpbnRzIGxpc3QsIGJ1dCBwbGFj
aW5nIGl0IGluIGNhc2Ugd2UgYWRkIGl0DQogICAgIlJlZ2lzdHJhdGlvbkFnZW5jeSIgPT4gIlJl
Z2lzdHJhdGlvbkFnZW5jeSIsICMgbm90IGluIHRoZSBFUHJpbnRzIGxpc3QsIGJ1dCBwbGFjaW5n
IGl0IGluIGNhc2Ugd2UgYWRkIGl0DQogICAgIlJlZ2lzdHJhdGlvbkF1dGhvcml0eSIgPT4gIlJl
Z2lzdHJhdGlvbkF1dGhvcml0eSIsICMgbm90IGluIHRoZSBFUHJpbnRzIGxpc3QsIGJ1dCBwbGFj
aW5nIGl0IGluIGNhc2Ugd2UgYWRkIGl0DQogICAgIlJlbGF0ZWRQZXJzb24iID0+ICJSZWxhdGVk
UGVyc29uIiwgICAjIG5vdCBpbiB0aGUgRVByaW50cyBsaXN0LCBidXQgcGxhY2luZyBpdCBpbiBj
YXNlIHdlIGFkZCBpdA0KICAgICJSZXNlYXJjaEdyb3VwIiA9PiAiUmVzZWFyY2hHcm91cCIsICAg
IyBub3QgaW4gdGhlIEVQcmludHMgbGlzdCwgYnV0IHBsYWNpbmcgaXQgaW4gY2FzZSB3ZSBhZGQg
aXQNCiAgICAiU3VwZXJ2aXNvciIgPT4gIlN1cGVydmlzb3IiLCAgICAgICMgbm90IGluIHRoZSBF
UHJpbnRzIGxpc3QsIGJ1dCBwbGFjaW5nIGl0IGluIGNhc2Ugd2UgYWRkIGl0DQogICAgIldvcmtQ
YWNrYWdlTGVhZGVyIiA9PiAiV29ya1BhY2thZ2VMZWFkZXIiICMgbm90IGluIHRoZSBFUHJpbnRz
IGxpc3QsIGJ1dCBwbGFjaW5nIGl0IGluIGNhc2Ugd2UgYWRkIGl0DQoJICk7DQoJDQoJI0VESVRP
UlMNCgkNCglteSAkY29udHJpYnV0b3IgPSIiOw0KCQ0KCWlmICgkZGF0YW9iai0+ZXhpc3RzX2Fu
ZF9zZXQoImVkaXRvcnMiKSB8fCAkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoImNvbnRyaWJ1dG9y
cyIpKQ0KCXsNCgkgCSR0b3Bjb250ZW50ID0gJHNlc3Npb24tPm1ha2VfZWxlbWVudCggImRhdGFj
aXRlOmNvbnRyaWJ1dG9ycyIpOw0KICAgIAkkc3ViX2NvbnRlbnQgPSAiIjsNCiAgICAgICAgI0VE
SVRPUlMNCiAgICAgICAgaWYgKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgiZWRpdG9ycyIpKXsN
CiAgICAgICAgICAgICAgICBteSAkbmFtZXMgPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiZWRpdG9y
cyIgKTsNCiAgICAgICAgICAgICAgICBmb3JlYWNoIG15ICRuYW1lICggQCRuYW1lcyApDQogICAg
ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRyaWJ1dG9yID0gJHNl
c3Npb24tPm1ha2VfZWxlbWVudCggImRhdGFjaXRlOmNvbnRyaWJ1dG9yIik7DQoNCiAgICAgICAg
ICAgICAgICAgICAgICAgICMgbmFtZQ0KICAgICAgICAgICAgICAgICAgICAgICAgbXkgJG5hbWVf
c3RyID0gRVByaW50czo6VXRpbHM6Om1ha2VfbmFtZV9zdHJpbmcoICRuYW1lLT57bmFtZX0pOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgJHN1Yl9jb250ZW50ID0gJHNlc3Npb24tPnJlbmRlcl9k
YXRhX2VsZW1lbnQgKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YWNpdGU6Y29udHJpYnV0b3JOYW1lIiwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5hbWVfc3RyLCBjb250cmlidXRvclR5cGU9
PiJFZGl0b3IiLCBuYW1lVHlwZT0+IlBlcnNvbmFsIg0KICAgICAgICAgICAgICAgICAgICAgICAg
KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRjb250cmlidXRvci0+YXBwZW5kQ2hpbGQoICRz
dWJfY29udGVudCk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICMgb3JjaWQNCiAgICAgICAg
ICAgICAgICAgICAgICAgIGlmKCBkZWZpbmVkICRuYW1lLT57b3JjaWR9ICYmICAkbmFtZS0+e29y
Y2lkfSBuZSAiIiApDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG15ICRvcmNpZCA9ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQoICJkYXRh
Y2l0ZTpuYW1lSWRlbnRpZmllciIsDQogICAgICAgICAgICAgICAgICAgICJuYW1lSWRlbnRpZmll
clNjaGVtZSIgPT4gIk9SQ0lEIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAic2NoZW1lVVJJIiA9PiAiaHR0cDovL29yY2lkLm9yZyINCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9yY2lk
LT5hcHBlbmRDaGlsZCggJHNlc3Npb24tPm1ha2VfdGV4dCggJG5hbWUtPntvcmNpZH0gKSApOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udHJpYnV0b3ItPmFwcGVuZENoaWxk
KCAkb3JjaWQgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAg
ICAgICAgICAgJHRvcGNvbnRlbnQtPmFwcGVuZENoaWxkKCAkY29udHJpYnV0b3IpOw0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgfQ0KCQkjQ09OVFJJQlVUT1JTDQogICAgICAgIGlmICgkZGF0
YW9iai0+ZXhpc3RzX2FuZF9zZXQoImNvbnRyaWJ1dG9ycyIpKXsNCiAgICAgICAgICAgICAgICBt
eSAkbmFtZXMgPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiY29udHJpYnV0b3JzIiApOw0KICAgICAg
ICAgICAgICAgIGZvcmVhY2ggbXkgJG5hbWUgKCBAJG5hbWVzICkNCiAgICAgICAgICAgICAgICB7
DQoJCQkJCQlteSAkY29udHJpYnV0b3JfdHlwZSA9ICJPdGhlciI7DQoJCQkJCQkkY29udHJpYnV0
b3JfdHlwZT0kbmFtZS0+e3R5cGV9Ow0KCQkJCQkJaWYgKGRlZmluZWQgJG5hbWUtPnt0eXBlfSAm
JiAkbmFtZS0+e3R5cGV9IG5lICIiKXsNCgkJCQkJCQlteSAkbWFwcGVkX2NvbnRyaWJ1dG9yX3R5
cGUgPSAoZXhpc3RzICRyZWxhdG9yX21hcHskY29udHJpYnV0b3JfdHlwZX0pID8gJHJlbGF0b3Jf
bWFweyRjb250cmlidXRvcl90eXBlfSA6ICJPdGhlciI7DQoJCQkJCQkJJGNvbnRyaWJ1dG9yX3R5
cGU9JG1hcHBlZF9jb250cmlidXRvcl90eXBlOw0KCQkJCQkJfQkJCQkJDQoJCQkJCQkNCiAgICAg
ICAgICAgICAgICAgICAgICAgICRjb250cmlidXRvciA9ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQo
ICJkYXRhY2l0ZTpjb250cmlidXRvciIpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAjIG5h
bWUNCiAgICAgICAgICAgICAgICAgICAgICAgIG15ICRuYW1lX3N0ciA9IEVQcmludHM6OlV0aWxz
OjptYWtlX25hbWVfc3RyaW5nKCAkbmFtZS0+e25hbWV9KTsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICRzdWJfY29udGVudCA9ICRzZXNzaW9uLT5yZW5kZXJfZGF0YV9lbGVtZW50ICgNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImRhdGFjaXRlOmNvbnRyaWJ1dG9yTmFtZSIsDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICRuYW1lX3N0ciwgY29udHJpYnV0b3JUeXBlPT4kY29udHJpYnV0b3JfdHlwZQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRjb250
cmlidXRvci0+YXBwZW5kQ2hpbGQoICRzdWJfY29udGVudCk7DQoNCiAgICAgICAgICAgICAgICAg
ICAgICAgICMgb3JjaWQNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBkZWZpbmVkICRuYW1l
LT57b3JjaWR9ICYmICAkbmFtZS0+e29yY2lkfSBuZSAiIiApDQogICAgICAgICAgICAgICAgICAg
ICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRvcmNpZCA9ICRzZXNz
aW9uLT5tYWtlX2VsZW1lbnQoICJkYXRhY2l0ZTpuYW1lSWRlbnRpZmllciIsDQogICAgICAgICAg
ICAgICAgICAgICJuYW1lSWRlbnRpZmllclNjaGVtZSIgPT4gIk9SQ0lEIiwNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NoZW1lVVJJIiA9PiAiaHR0cDovL29yY2lk
Lm9yZyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJG9yY2lkLT5hcHBlbmRDaGlsZCggJHNlc3Npb24tPm1ha2VfdGV4
dCggJG5hbWUtPntvcmNpZH0gKSApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
Y29udHJpYnV0b3ItPmFwcGVuZENoaWxkKCAkb3JjaWQgKTsNCiAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgJHRvcGNvbnRlbnQtPmFwcGVuZENoaWxk
KCAkY29udHJpYnV0b3IpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQoJJHJlc3Bv
bnNlLT5hcHBlbmRDaGlsZCggJHRvcGNvbnRlbnQgKTsNCiAgICB9DQoNCgkNCgkjRlVOREVSUw0K
CWlmICgkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoImZ1bmRlcnMiKSl7DQoJCSR0b3Bjb250ZW50
ID0gJHNlc3Npb24tPm1ha2VfZWxlbWVudCggIm9haXJlOmZ1bmRpbmdSZWZlcmVuY2VzIik7DQoJ
CSRzdWJfY29udGVudCA9ICIiOw0KCQlteSAkbmFtZXMgPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAi
ZnVuZGVycyIgKTsNCgkJZm9yZWFjaCBteSAkbmFtZSAoIEAkbmFtZXMgKQ0KCQkgIHsgDQoJCSAg
ICAkc3ViX2NvbnRlbnQgPSAkc2Vzc2lvbi0+bWFrZV9lbGVtZW50KCAib2FpcmU6ZnVuZGluZ1Jl
ZmVyZW5jZSIpOw0KCQkJbXkgJG5hbWVfc3RyID0gJG5hbWU7DQoJCQlteSAkc3ViX3N1Yl9jb250
ZW50ID0gJHNlc3Npb24tPnJlbmRlcl9kYXRhX2VsZW1lbnQgKA0KCQkJCTQsDQoJCQkJIm9haXJl
OmZ1bmRlck5hbWUiLA0KCQkJCSRuYW1lX3N0ciApOw0KCQkJJHN1Yl9jb250ZW50LT5hcHBlbmRD
aGlsZCggJHN1Yl9zdWJfY29udGVudCk7DQoJCQkkdG9wY29udGVudC0+YXBwZW5kQ2hpbGQoICRz
dWJfY29udGVudCk7DQoJCSAgfQ0KCQkkcmVzcG9uc2UtPmFwcGVuZENoaWxkKCAkdG9wY29udGVu
dCApOwkNCgl9DQoJDQoJIyBNYXAgRXByaW50cyB0eXBlIHRvIG9haXJlOnJlc291cmNlVHlwZSBs
YWJlbA0KCSNhcnRpY2xlLCBib29rX3NlY3Rpb24sIG1vbm9ncmFwaCwgY29uZmVyZW5jZV9pdGVt
LCBib29rLCB0aGVzaXMsIGdyYWR1YXRlX3Byb2plY3RzLCBwYXRlbnQsIGFydGVmYWN0LCBleGhp
Yml0aW9uLCBjb21wb3NpdGlvbiwgcGVyZm9ybWFuY2UsIGltYWdlLCB2aWRlbywgYXVkaW8sIGRh
dGFzZXQsIGV4cGVyaW1lbnQsIHRlYWNoaW5nX3Jlc291cmNlLCBvdGhlcg0KCSBteSAldHlwZV9t
YXAgPSAoDQoJICJhcnRpY2xlIiA9PiAiam91cm5hbCBhcnRpY2xlIiwNCgkgImJvb2tfc2VjdGlv
biIgPT4gImJvb2sgcGFydCIsDQoJICJtb25vZ3JhcGgiID0+ICJtb25vZ3JhcGgiLAkjdGhpcyBo
YXMgc3VidHlwZXMsIHNvIHdlIGRlYWwgd2l0aCBpdCBiZWxvdw0KCSAiY29uZmVyZW5jZV9pdGVt
IiA9PiAiY29uZmVyZW5jZSBvYmplY3QiLCAjdGhpcyBoYXMgc3VidHlwZXMsIHNvIHdlIGRlYWwg
d2l0aCBpdCBiZWxvdw0KCSAiYm9vayIgPT4gImJvb2siLA0KCSAidGhlc2lzIiA9PiAidGhlc2lz
IiwgI3RoaXMgaGFzIHN1YnR5cGVzLCBzbyB3ZSBkZWFsIHdpdGggaXQgYmVsb3cNCgkgImdyYWR1
YXRlX3Byb2plY3RzIiA9PiAib3RoZXIiLA0KCSAicGF0ZW50IiA9PiAicGF0ZW50IiwNCgkgImFy
dGVmYWN0IiA9PiAib3RoZXIiLA0KCSAiZXhoaWJpdGlvbiIgPT4gIm90aGVyIiwNCgkgImNvbXBv
c2l0aW9uIiA9PiAibXVzaWNhbCBjb21wb3NpdGlvbiIsDQoJICJwZXJmb3JtYW5jZSIgPT4gIm90
aGVyIiwNCgkgImltYWdlIiA9PiAiaW1hZ2UiLA0KCSAidmlkZW8iID0+ICJ2aWRlbyIsDQoJICJh
dWRpbyIgPT4gInNvdW5kIiwNCgkgImRhdGFzZXQiID0+ICJkYXRhc2V0IiwNCgkgImV4cGVyaW1l
bnQiID0+ICJvdGhlciIsDQoJICJ0ZWFjaGluZ19yZXNvdXJjZSIgPT4gIm90aGVyIiwNCgkgIm90
aGVyIiA9PiAib3RoZXIiDQoJKTsNCgkNCgkjIG1hcCB0eXBlIFVSSSBmcm9tIE9QRU5BSVJFIGh0
dHBzOi8vb3BlbmFpcmUtZ3VpZGVsaW5lcy1mb3ItbGl0ZXJhdHVyZS1yZXBvc2l0b3J5LW1hbmFn
ZXJzLnJlYWR0aGVkb2NzLmlvL2VuL3Y0LjAuMC9maWVsZF9wdWJsaWNhdGlvbnR5cGUuaHRtbA0K
CSBteSAldHlwZV9tYXBfdXJpID0gKA0KCSAJImFubm90YXRpb24iID0+ICJodHRwOi8vcHVybC5v
cmcvY29hci9yZXNvdXJjZV90eXBlL2NfMTE2MiIsDQoJIAkiam91cm5hbCBhcnRpY2xlIiA9PiAi
aHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzY1MDEiLA0KIAkgCSJsZXR0ZXIg
dG8gdGhlIGVkaXRvciIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY181
NDViIiwNCiAJIAkiZWRpdG9yaWFsIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2Vf
dHlwZS9jX2IyMzkiLA0KIAkJInJlc2VhcmNoIGFydGljbGUiID0+ICJodHRwOi8vcHVybC5vcmcv
Y29hci9yZXNvdXJjZV90eXBlL2NfMmRmOGZiYjEiLA0KIAkJInJldmlldyBhcnRpY2xlIiA9PiAi
aHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jX2RjYWUwNGJjIiwNCgkJImRhdGEg
cGFwZXIiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9yZXNvdXJjZV90eXBlL2NfYmViOSIgLA0K
CQkiY29udHJpYnV0aW9uIHRvIGpvdXJuYWwiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9yZXNv
dXJjZV90eXBlL2NfM2U1YSIgLA0KCQkiYm9vayByZXZpZXciID0+ICJodHRwOi8vcHVybC5vcmcv
Y29hci9yZXNvdXJjZV90eXBlL2NfYmEwOCIgLA0KIAkJImJvb2sgcGFydCIgPT4gImh0dHA6Ly9w
dXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY18zMjQ4IiwNCgkJImJvb2siID0+ICJodHRwOi8v
cHVybC5vcmcvY29hci9yZXNvdXJjZV90eXBlL2NfMmYzMyIsDQoJCSJiaWJsaW9ncmFwaHkiID0+
ICJodHRwOi8vcHVybC5vcmcvY29hci9yZXNvdXJjZV90eXBlL2NfODZiYyIJLA0KCQkicHJlcHJp
bnQiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9yZXNvdXJjZV90eXBlL2NfODE2YiIsDQoJCSJ3
b3JraW5nIHBhcGVyIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzgw
NDIiLA0KCQkidGVjaG5pY2FsIGRvY3VtZW50YXRpb24iID0+ICJodHRwOi8vcHVybC5vcmcvY29h
ci9yZXNvdXJjZV90eXBlL2NfNzFiZCIsDQoJCSJ0ZWNobmljYWwgcmVwb3J0IiA9PiAiaHR0cDov
L3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzE4Z2giLA0KCQkicmVzZWFyY2ggcmVwb3J0
IiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzE4d3MiLA0KCQkicmVw
b3J0IHRvIGZ1bmRpbmcgYWdlbmN5IiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2Vf
dHlwZS9jXzE4aGoiCSwNCgkJInByb2plY3QgZGVsaXZlcmFibGUiID0+ICJodHRwOi8vcHVybC5v
cmcvY29hci9yZXNvdXJjZV90eXBlL2NfMThvcCIsDQoJCSJwb2xpY3kgcmVwb3J0IiA9PiAiaHR0
cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzE4NnUiLA0KCQkib3RoZXIgdHlwZSBv
ZiByZXBvcnQiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9yZXNvdXJjZV90eXBlL2NfMTh3cSIs
DQoJCSJtZW1vcmFuZHVtIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9j
XzE4d3oiCSwNCgkJImludGVybmFsIHJlcG9ydCIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jl
c291cmNlX3R5cGUvY18xOHd3IiwNCgkJInJldmlldyIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2Fy
L3Jlc291cmNlX3R5cGUvY19lZmEwIgksDQoJCSJyZXNlYXJjaCBwcm9wb3NhbCIgPT4gImh0dHA6
Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY19iYWFmIiwNCgkJInJlcG9ydCBwYXJ0IiA9
PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jX2JhMWYiLA0KCQkicmVwb3J0
IiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzkzZmMiLA0KCQkicGF0
ZW50IiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzE1Y2QiLA0KCQki
Y29uZmVyZW5jZSBwb3N0ZXIgbm90IGluIHByb2NlZWRpbmdzIiA9PiAiaHR0cDovL3B1cmwub3Jn
L2NvYXIvcmVzb3VyY2VfdHlwZS9jXzE4Y28iLA0KCQkiY29uZmVyZW5jZSBwYXBlciBub3QgaW4g
cHJvY2VlZGluZ3MiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9yZXNvdXJjZV90eXBlL2NfMThj
cCIsDQoJCSJjb25mZXJlbmNlIHBvc3RlciIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291
cmNlX3R5cGUvY182NjcwIiwNCgkJImNvbmZlcmVuY2UgcGFwZXIiID0+ICJodHRwOi8vcHVybC5v
cmcvY29hci9yZXNvdXJjZV90eXBlL2NfNTc5NCIsDQoJCSJjb25mZXJlbmNlIG9iamVjdCIgPT4g
Imh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY19jOTRmIgksDQoJCSJjb25mZXJl
bmNlIHByb2NlZWRpbmdzIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9j
X2Y3NDQiLA0KCQkiYmFjaGVsb3IgdGhlc2lzIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVz
b3VyY2VfdHlwZS9jXzdhMWYiLA0KCQkibWFzdGVyIHRoZXNpcyIgPT4gImh0dHA6Ly9wdXJsLm9y
Zy9jb2FyL3Jlc291cmNlX3R5cGUvY19iZGNjIiwNCgkJImRvY3RvcmFsIHRoZXNpcyIgPT4gImh0
dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY19kYjA2IiwNCgkJInRoZXNpcyIgPT4g
Imh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY180NmVjIgksDQoJCSJsZXR0ZXIi
ID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9yZXNvdXJjZV90eXBlL2NfMDg1NyIsDQoJCSJsZWN0
dXJlIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzg1NDQiCSwNCgkJ
InRleHQiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9yZXNvdXJjZV90eXBlL2NfMThjZiIJLA0K
CQkibXVzaWNhbCBub3RhdGlvbiIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5
cGUvY18xOGN3IgksDQoJCSJtdXNpY2FsIGNvbXBvc2l0aW9uIiA9PiAiaHR0cDovL3B1cmwub3Jn
L2NvYXIvcmVzb3VyY2VfdHlwZS9jXzE4Y2QiLA0KCQkic291bmQiID0+ICJodHRwOi8vcHVybC5v
cmcvY29hci9yZXNvdXJjZV90eXBlL2NfMThjYyIsDQoJCSJ2aWRlbyIgPT4gImh0dHA6Ly9wdXJs
Lm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY18xMmNlIiwNCgkJIm1vdmluZyBpbWFnZSIgPT4gImh0
dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY184YTdlIgksDQoJCSJzdGlsbCBpbWFn
ZSIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY19lY2M4IgksDQoJCSJp
bWFnZSIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY19jNTEzIgksCQ0K
CQkibWFwIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzEyY2QiCSwN
CgkJImNhcnRvZ3JhcGhpYyBtYXRlcmlhbCIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291
cmNlX3R5cGUvY18xMmNjIiwNCgkJInNvZnR3YXJlIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIv
cmVzb3VyY2VfdHlwZS9jXzVjZTYiLA0KCQkiZGF0YXNldCIgPT4gImh0dHA6Ly9wdXJsLm9yZy9j
b2FyL3Jlc291cmNlX3R5cGUvY19kZGIxIiwNCgkJImludGVyYWN0aXZlIHJlc291cmNlIiA9PiAi
aHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jX2U5YTAiLA0KCQkid2Vic2l0ZSIg
PT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY183YWQ5IgksDQoJCSJ3b3Jr
ZmxvdyIgPT4gImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY18zOTNjIiwNCgkJ
Im90aGVyIiA9PiAiaHR0cDovL3B1cmwub3JnL2NvYXIvcmVzb3VyY2VfdHlwZS9jXzE4NDMiDQoJ
ICk7DQoJIA0KDQoJbXkgJG1hcHBlZF90eXBlID0gKGV4aXN0cyAkdHlwZV9tYXB7JGVwcmludF90
eXBlfSkgPyAkdHlwZV9tYXB7JGVwcmludF90eXBlfSA6ICJvdGhlciI7DQoJDQoJI2RlYWwgd2l0
aCBkb2N1bWVudCBzdWJ0eXBlcw0KCWlmICgkbWFwcGVkX3R5cGUgZXEgIm1vbm9ncmFwaCIpew0K
CQkkbWFwcGVkX3R5cGUgPSAgIm90aGVyIjsgI2RlZmF1bHQgaXMgb3RoZXINCgkJaWYgKCRkYXRh
b2JqLT5leGlzdHNfYW5kX3NldCggIm1vbm9ncmFwaF90eXBlIiApKSB7DQoJCQkJaWYgKCRkYXRh
b2JqLT5nZXRfdmFsdWUoIm1vbm9ncmFwaF90eXBlIikgZXEgIndvcmtpbmdfcGFwZXIiKSB7DQoJ
CQkJCSRtYXBwZWRfdHlwZSA9ICJ3b3JraW5nIHBhcGVyIjsNCgkJCQl9DQoJCQkJaWYgKCRkYXRh
b2JqLT5nZXRfdmFsdWUoIm1vbm9ncmFwaF90eXBlIikgZXEgInRlY2huaWNhbF9yZXBvcnQiKXsN
CgkJCQkJJG1hcHBlZF90eXBlID0gInRlY2huaWNhbCByZXBvcnQiOw0KCQkJCX0NCgkJfQ0KCX0N
CgkNCgkjbWFwIGZyb20gbGFiZWxzIHRvIFVSSXMNCglteSAkbWFwcGVkX3R5cGVfVVJJID0gKGV4
aXN0cyAkdHlwZV9tYXBfdXJpeyRtYXBwZWRfdHlwZX0pID8gJHR5cGVfbWFwX3VyaXskbWFwcGVk
X3R5cGV9IDogImh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY18xODQzIjsNCgkN
CgkjbWFwIHJlc291cmNlVHlwZUdlbmVyYWwgYmFzZWQgb24gT3BlbkFJUkUNCglteSAkbWFwcGVk
X3Jlc291cmNlVHlwZUdlbmVyYWwgPSAibGl0ZXJhdHVyZSI7DQoJaWYgKCRtYXBwZWRfdHlwZSBl
cSAiZGF0YXNldCIpew0KCQkkbWFwcGVkX3Jlc291cmNlVHlwZUdlbmVyYWwgPSAiZGF0YXNldCI7
DQoJfQ0KCQ0KCSMgPG9haXJlOnJlc291cmNlVHlwZSByZXNvdXJjZVR5cGVHZW5lcmFsPSJsaXRl
cmF0dXJlIiB1cmk9Imh0dHA6Ly9wdXJsLm9yZy9jb2FyL3Jlc291cmNlX3R5cGUvY185M2ZjIj5y
ZXBvcnQ8L29haXJlOnJlc291cmNlVHlwZT4NCgkjcmVzb3VyY2VUeXBlDQoJJHRvcGNvbnRlbnQg
PSAkc2Vzc2lvbi0+bWFrZV9lbGVtZW50KCAib2FpcmU6cmVzb3VyY2VUeXBlIiwNCgkJCQkidXJp
Ij0+IiRtYXBwZWRfdHlwZV9VUkkiLCAicmVzb3VyY2VUeXBlR2VuZXJhbCI9PiAiJG1hcHBlZF9y
ZXNvdXJjZVR5cGVHZW5lcmFsIiApOw0KCSR0b3Bjb250ZW50LT5hcHBlbmRDaGlsZCgkc2Vzc2lv
bi0+bWFrZV90ZXh0KCRtYXBwZWRfdHlwZSkpOw0KCQ0KCSRyZXNwb25zZS0+YXBwZW5kQ2hpbGQo
ICR0b3Bjb250ZW50ICk7CQ0KCQ0KCSM8ZGF0YWNpdGU6aWRlbnRpZmllciBpZGVudGlmaWVyVHlw
ZT0iSGFuZGxlIj5odHRwOi8vaGRsLmhhbmRsZS5uZXQvMTIzNC81NjI4PC9kYXRhY2l0ZTppZGVu
dGlmaWVyPg0KCSR0b3Bjb250ZW50ID0gJHNlc3Npb24tPm1ha2VfZWxlbWVudCggImRhdGFjaXRl
OmlkZW50aWZpZXIiLA0KCQkJCSJpZGVudGlmaWVyVHlwZSI9PiJVUkwiKTsNCgkkdG9wY29udGVu
dC0+YXBwZW5kQ2hpbGQoJHNlc3Npb24tPm1ha2VfdGV4dCgkZXByaW50X3VybCkpOw0KCQ0KCSRy
ZXNwb25zZS0+YXBwZW5kQ2hpbGQoICR0b3Bjb250ZW50ICk7CQ0KDQoJbXkgJG1hcHBlZF9yaWdo
dHNfVVJJPSIiOw0KCQ0KCSNBZGQgcmlnaHRzIGluZm8gDQoJbXkgJHJlcG8gPSAkcGx1Z2luLT57
c2Vzc2lvbn0tPmdldF9yZXBvc2l0b3J5Ow0KCQ0KCW15ICRyaWdodHNMYWJlbCA9ICJtZXRhZGF0
YSBvbmx5IGFjY2VzcyI7ICNkZWZhdWx0LCB1bmxlc3Mgd2UgZmluZCBhIGRvY3VtZW50DQoJbXkg
JGZpbGVyaWdodHNMYWJlbCA9ICJvcGVuIGFjY2VzcyI7ICNkZWZhdWx0IGZpbGUtbGV2ZWwgcmln
aHRzIGxhYmVsIGlzIG9wZW4gYWNjZXNzDQoJDQoJbXkgJGVtYmFyZ29fZXhwaXJ5X2RhdGUgPSAi
IjsgI2RlZmF1bHQgTlVMTCBlbWJhcmdvIGRhdGUNCgkNCgkjIG1hcCB0eXBlIFVSSSBmcm9tIE9Q
RU5BSVJFIGh0dHBzOi8vb3BlbmFpcmUtZ3VpZGVsaW5lcy1mb3ItbGl0ZXJhdHVyZS1yZXBvc2l0
b3J5LW1hbmFnZXJzLnJlYWR0aGVkb2NzLmlvL2VuL3Y0LjAuMC9maWVsZF9hY2Nlc3NyaWdodHMu
aHRtbA0KCW15ICV0eXBlX21hcF9yaWdodHN1cmkgPSAoDQoJIm9wZW4gYWNjZXNzIiA9PiAiaHR0
cDovL3B1cmwub3JnL2NvYXIvYWNjZXNzX3JpZ2h0L2NfYWJmMiIsDQoJImVtYmFyZ29lZCBhY2Nl
c3MiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9hY2Nlc3NfcmlnaHQvY19mMWNmIiwNCgkicmVz
dHJpY3RlZCBhY2Nlc3MiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9hY2Nlc3NfcmlnaHQvY18x
NmVjIiwNCgkibWV0YWRhdGEgb25seSBhY2Nlc3MiID0+ICJodHRwOi8vcHVybC5vcmcvY29hci9h
Y2Nlc3NfcmlnaHQvY18xNGNiIiwNCgkpOw0KCQ0KCSNjaGVjayBpZiBhdCBsZWFzdCBvbmUgZG9j
dW1lbnQsIHNvIGRlZmF1bHQgdG8gb3BlbiBhY2Nlc3MgdW5sZXNzIHdlIGZpbmQgYW4gZW1iYXJn
byBvciByZXN0cmljdGlvbg0KCW15IEBkb2NzID0gJGRhdGFvYmotPmdldF9hbGxfZG9jdW1lbnRz
KCk7DQoJaWYgKEBkb2NzID4gMCkgew0KCQkkcmlnaHRzTGFiZWwgPSAib3BlbiBhY2Nlc3MiOw0K
CX0NCgkNCgkjZ28gdGhyb3VnaCBkb2N1bWVudHMsIGRldGVybWluZSAicmlnaHRzTGFiZWwiIHRv
IGJlIG9wZW4gYWNjZXNzLCBlbWJhcmdvZWQsIHJlc3RyaWN0ZWQgb3IgbWV0YWRhdGEgb25seQ0K
CWZvcmVhY2ggbXkgJGRvYyAoIEBkb2NzICkgew0KCQlpZigkZG9jLT5leGlzdHNfYW5kX3NldCgi
ZGF0ZV9lbWJhcmdvIikpew0KCQkJCSRmaWxlcmlnaHRzTGFiZWwgPSAiZW1iYXJnb2VkIGFjY2Vz
cyI7ICN0aGlzIGRvY3VtZW50IGlzIGVtYmFyZ29lZA0KCQkJCSRyaWdodHNMYWJlbCA9ICJlbWJh
cmdvZWQgYWNjZXNzIjsgI2F0IGxlYXN0IG9uZSBlbWJhcmdvZWQgLSBzbyBlcHJpbnQgZW1iYXJn
b2VkDQoJCQkJJGVtYmFyZ29fZXhwaXJ5X2RhdGUgPSAkZG9jLT52YWx1ZSgiZGF0ZV9lbWJhcmdv
Iik7ICNzdG9yZSBlbWJhcmdvIGV4cGlyeSBkYXRlDQogICAgICAgIH0NCgkJZWxzaWYoJGRvYy0+
ZXhpc3RzX2FuZF9zZXQoInNlY3VyaXR5Iikpew0KCQkJaWYgKCgkZG9jLT52YWx1ZSgic2VjdXJp
dHkiKSBlcSAic3RhZmZvbmx5IikgfHwgKCRkb2MtPnZhbHVlKCJzZWN1cml0eSIpIGVxICJ2YWxp
ZHVzZXIiKSl7DQoJCQkJJGZpbGVyaWdodHNMYWJlbCA9ICJyZXN0cmljdGVkIGFjY2VzcyI7ICN0
aGlzIGRvY3VtZW50IGlzIHJlc3RyaWN0ZWQNCgkJCQkkcmlnaHRzTGFiZWwgPSAicmVzdHJpY3Rl
ZCBhY2Nlc3MiOyAjIGF0IGxlYXN0IG9uZSByZXN0cmljdGVkIC0gc28gZXByaW50IHJlc3RyaWN0
ZWQNCgkJCX0NCgkJCWVsc2lmICgkZG9jLT52YWx1ZSgic2VjdXJpdHkiKSBlcSAicHVibGljIikg
ew0KCQkJCSN0aGlzIGRvY3VtZW50IGlzIG9wZW4gYWNjZXNzIChubyBlbWJhcmdvIGRhdGUgb3Ig
dXNlciByZXN0cmljdGlvbnMpDQoJCQkJJGZpbGVyaWdodHNMYWJlbCA9ICJvcGVuIGFjY2VzcyI7
ICN0aGlzIGRvY3VtZW50IGlzIG9wZW4gYWNjZXNzDQoJCQl9CQ0KCQl9DQoJCSM8b2FpcmU6Zmls
ZSBhY2Nlc3NSaWdodHNVUkk9Imh0dHA6Ly9wdXJsLm9yZy9jb2FyL2FjY2Vzc19yaWdodC9jX2Fi
ZjIiIG1pbWVUeXBlPSJhcHBsaWNhdGlvbi9wZGYiIG9iamVjdFR5cGU9ImZ1bGx0ZXh0Ij5odHRw
Oi8vbGluay10by10aGUtZnVsbHRleHQub3JnPC9vYWlyZTpmaWxlPg0KCQkkbWFwcGVkX3JpZ2h0
c19VUkkgPSAoZXhpc3RzICR0eXBlX21hcF9yaWdodHN1cml7JGZpbGVyaWdodHNMYWJlbH0pID8g
JHR5cGVfbWFwX3JpZ2h0c3VyaXskZmlsZXJpZ2h0c0xhYmVsfSA6ICIiOw0KCQlteSAkbWltZV90
eXBlPSRkb2MtPnZhbHVlKCJtaW1lX3R5cGUiKTsNCgkJbXkgJGRvY3VybD0kZG9jLT5nZXRfdXJs
Ow0KCQkkdG9wY29udGVudCA9ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQoICJvYWlyZTpmaWxlIiwi
YWNjZXNzUmlnaHRzVVJJIj0+IiRtYXBwZWRfcmlnaHRzX1VSSSIsIm1pbWVUeXBlIj0+IiRtaW1l
X3R5cGUiKTsNCgkJJHRvcGNvbnRlbnQtPmFwcGVuZENoaWxkKCRzZXNzaW9uLT5tYWtlX3RleHQo
IiRkb2N1cmwiKSk7DQoJCSRyZXNwb25zZS0+YXBwZW5kQ2hpbGQoICR0b3Bjb250ZW50ICk7CQ0K
CX0NCg0KCQ0KCQ0KCSNtYXAgZXByaW50IHJpZ2h0cyBmcm9tIGxhYmVsIHRvIFVSSXMNCgkkbWFw
cGVkX3JpZ2h0c19VUkkgPSAoZXhpc3RzICR0eXBlX21hcF9yaWdodHN1cml7JHJpZ2h0c0xhYmVs
fSkgPyAkdHlwZV9tYXBfcmlnaHRzdXJpeyRyaWdodHNMYWJlbH0gOiAiIjsNCgkNCgkjPGRhdGFj
aXRlOnJpZ2h0cyByaWdodHNVUkk9Imh0dHA6Ly9wdXJsLm9yZy9jb2FyL2FjY2Vzc19yaWdodC9j
X2FiZjIiPm9wZW4gYWNjZXNzPC9kYXRhY2l0ZTpyaWdodHM+DQoJJHRvcGNvbnRlbnQgPSAkc2Vz
c2lvbi0+bWFrZV9lbGVtZW50KCAiZGF0YWNpdGU6cmlnaHRzIiwNCgkJCQkicmlnaHRzVVJJIj0+
IiRtYXBwZWRfcmlnaHRzX1VSSSIpOw0KCSR0b3Bjb250ZW50LT5hcHBlbmRDaGlsZCgkc2Vzc2lv
bi0+bWFrZV90ZXh0KCRyaWdodHNMYWJlbCkpOw0KCQ0KCSRyZXNwb25zZS0+YXBwZW5kQ2hpbGQo
ICR0b3Bjb250ZW50ICk7CQ0KCQ0KCSM8ZGF0YWNpdGU6ZGF0ZSBkYXRlVHlwZT0iSXNzdWVkIj4y
MDAwLTEyLTI1PC9kYXRhY2l0ZTpkYXRlPg0KCW15ICRkYXRlID0gIiI7DQoJbXkgJGRhdGVUeXBl
ID0gIiI7DQoJDQoJaWYoICRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgiZGF0ZSIpKXsNCgkJJGRh
dGUgPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiZGF0ZSIgKTsJDQoJfQ0KCWlmKCAkZGF0YW9iai0+
ZXhpc3RzX2FuZF9zZXQoImRhdGVfdHlwZSIpKXsNCgkJJGRhdGVUeXBlID0gJGRhdGFvYmotPmdl
dF92YWx1ZSggImRhdGVfdHlwZSIgKTsJDQoJfQ0KCWVsc2lmICgkZGF0ZSBuZSAiIil7DQoJCSNp
ZiB0aGUgZGF0ZSBpcyBzZXQsIGJ1dCB0aGUgRGF0ZVR5cGUgaXMgbm90IHNldCwgdGhpcyBpcyBh
biBpdGVtIGZyb20gYSB0aW1lIHdoZW4gRGF0ZVR5cGUgd2FzIG5vdCByZXF1aXJlZCBpbiBkZXBv
c2l0IHdvcmtmbG93DQoJCSN3ZSBtYXAgdGhlc2UgcmVjb3JkcyB3aXRoIGEgbWlzc2luZyBkYXRl
dHlwZSB0byAicHVibGlzaGVkIi8iY29tcGxldGVkIiBkYXRlIHR5cGVzIGJlbG93DQoJCSRkYXRl
VHlwZSA9ICJVTktOT1dOIjsNCgl9DQoJDQoJI2ZvciBldmVyeXRoaW5nIGV4Y2VwdCBmb3IgdGhl
c2VzLCB0aGUgbWFwcGluZyBpcyBsaWtlIHRoaXM6DQoJbXkgJXR5cGVfbWFwX2RhdGUgPSAoDQoJ
ICJzdWJtaXR0ZWQiID0+ICJBdmFpbGFibGUiLA0KCSAicHVibGlzaGVkIiA9PiAiSXNzdWVkIiwN
CiAJICJjb21wbGV0ZWQiID0+ICJBdmFpbGFibGUiLA0KCSAiVU5LTk9XTiIgPT4gIklzc3VlZCIs
DQoJICk7DQoJIA0KCSAjZm9yIHRoZXNlcywgd2Ugc2hvdWxkIGFsd2F5cyBoYXZlIGNvbXBsZXRp
b24gZGF0ZSB3aGljaCBtYXBzIHRvIEFjY2VwdGVkIGRhdGUsIGlmIGFub3RoZXIgZGF0ZSB0eXBl
IGlzIHN0b3JlZCwgdHJlYXQgaXQgdGhlIHNhbWUgd2F5IGFzIG90aGVyIGRvY3VtZW50IHR5cGVz
IGFib3ZlDQoJIG15ICV0eXBlX21hcF9kYXRlX3RoZXNlcyA9ICgNCgkgInN1Ym1pdHRlZCIgPT4g
IkF2YWlsYWJsZSIsDQoJICJwdWJsaXNoZWQiID0+ICJJc3N1ZWQiLA0KIAkgImNvbXBsZXRlZCIg
PT4gIkFjY2VwdGVkIiwNCgkgIlVOS05PV04iID0+ICJBY2NlcHRlZCIsDQoJICk7IA0KCSANCglt
eSAkbWFwcGVkX2RhdGVUeXBlPSIiOw0KCQ0KCWlmICgkbWFwcGVkX3R5cGUgZXEgInRoZXNpcyIp
ew0KCQkjbWFwIGZyb20gZXByaW50cyB0byBvcGVuYWlyZSBkYXRlIHR5cGVzICh0aGVzZXMpDQoJ
CSRtYXBwZWRfZGF0ZVR5cGUgPSAoZXhpc3RzICR0eXBlX21hcF9kYXRlX3RoZXNlc3skZGF0ZVR5
cGV9KSA/ICR0eXBlX21hcF9kYXRlX3RoZXNlc3skZGF0ZVR5cGV9IDogIiI7DQoJCX0NCgllbHNl
ew0KCQkjbWFwIGZyb20gZXByaW50cyB0byBvcGVuYWlyZSBkYXRlIHR5cGVzIChub24gdGhlc2Vz
KQ0KCQkkbWFwcGVkX2RhdGVUeXBlID0gKGV4aXN0cyAkdHlwZV9tYXBfZGF0ZXskZGF0ZVR5cGV9
KSA/ICR0eXBlX21hcF9kYXRleyRkYXRlVHlwZX0gOiAiIjsNCgl9DQoJDQoJI2lmIGVtYmFyZ29l
ZCwgYWx3YXlzIHNldCB0aGUgZGF0ZSBhdmFpbGFibGUgdG8gZW1iYXJnbyBleHBpcnkgZGF0ZQ0K
CWlmICgkZW1iYXJnb19leHBpcnlfZGF0ZSBuZSAiIil7DQoJCSNpbiBzb21lIGNhc2VzIG1vcmUg
dGhhbiBvbmUgZGF0ZSBtYXkgYmUgbmVlZGVkLCBzcGVjaWZpY2FsbHk6IHdoZW4gd2UgaGF2ZSBw
dWJsaXNoZWQgZGF0ZSBvciBhY2NlcHRlZCBkYXRlICh0aGVzZXMpIGFuZCBlbWJhcmdvIGV4cGly
eSBkYXRlDQoJCWlmICgkbWFwcGVkX2RhdGVUeXBlIGVxICJJc3N1ZWQiKXsNCgkJCSR0b3Bjb250
ZW50ID0gJHNlc3Npb24tPm1ha2VfZWxlbWVudCggImRhdGFjaXRlOmRhdGVzIik7DQoJCQkkc3Vi
X2NvbnRlbnQgPSAkc2Vzc2lvbi0+bWFrZV9lbGVtZW50KCAiZGF0YWNpdGU6ZGF0ZSIsDQoJCQkJ
CSJkYXRlVHlwZSI9PiJBdmFpbGFibGUiKTsNCgkJCSRzdWJfY29udGVudC0+YXBwZW5kQ2hpbGQo
JHNlc3Npb24tPm1ha2VfdGV4dCgkZW1iYXJnb19leHBpcnlfZGF0ZSkpOw0KCQkJJHRvcGNvbnRl
bnQtPmFwcGVuZENoaWxkKCRzdWJfY29udGVudCk7DQoJCQkkc3ViX2NvbnRlbnQgPSAkc2Vzc2lv
bi0+bWFrZV9lbGVtZW50KCAiZGF0YWNpdGU6ZGF0ZSIsDQoJCQkJCSJkYXRlVHlwZSI9PiJJc3N1
ZWQiKTsNCgkJCSRzdWJfY29udGVudC0+YXBwZW5kQ2hpbGQoJHNlc3Npb24tPm1ha2VfdGV4dCgk
ZGF0ZSkpOw0KCQkJJHRvcGNvbnRlbnQtPmFwcGVuZENoaWxkKCRzdWJfY29udGVudCk7DQoJCQkk
cmVzcG9uc2UtPmFwcGVuZENoaWxkKCAkdG9wY29udGVudCApOwkNCgkJfQ0KCQllbHNpZiAoKCRt
YXBwZWRfZGF0ZVR5cGUgZXEgIkFjY2VwdGVkIikgJiYgKCRtYXBwZWRfdHlwZSBlcSAidGhlc2lz
Iikpew0KCQkJJHRvcGNvbnRlbnQgPSAkc2Vzc2lvbi0+bWFrZV9lbGVtZW50KCAiZGF0YWNpdGU6
ZGF0ZXMiKTsNCgkJCSRzdWJfY29udGVudCA9ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQoICJkYXRh
Y2l0ZTpkYXRlIiwNCgkJCQkJImRhdGVUeXBlIj0+IkF2YWlsYWJsZSIpOw0KCQkJJHN1Yl9jb250
ZW50LT5hcHBlbmRDaGlsZCgkc2Vzc2lvbi0+bWFrZV90ZXh0KCRlbWJhcmdvX2V4cGlyeV9kYXRl
KSk7DQoJCQkkdG9wY29udGVudC0+YXBwZW5kQ2hpbGQoJHN1Yl9jb250ZW50KTsNCgkJCSRzdWJf
Y29udGVudCA9ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQoICJkYXRhY2l0ZTpkYXRlIiwNCgkJCQkJ
ImRhdGVUeXBlIj0+IkFjY2VwdGVkIik7DQoJCQkkc3ViX2NvbnRlbnQtPmFwcGVuZENoaWxkKCRz
ZXNzaW9uLT5tYWtlX3RleHQoJGRhdGUpKTsNCgkJCSR0b3Bjb250ZW50LT5hcHBlbmRDaGlsZCgk
c3ViX2NvbnRlbnQpOw0KCQkJJHJlc3BvbnNlLT5hcHBlbmRDaGlsZCggJHRvcGNvbnRlbnQgKTsJ
DQoJCX0NCgkJZWxzZXsNCgkJCSN3aGVuIHdlIGhhdmUgZW1iYXJnbyBleHBpcnkgZGF0ZSBhbmQg
ZWl0aGVyIHN1Ym1pdHRlZCBvciBjb21wbGV0ZWQgZGF0ZSwgb25seSBwcm92aWRlIHRoZSBlbWJh
cmdvIGV4cGlyeSBkYXRlDQoJCQkkdG9wY29udGVudCA9ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQo
ICJkYXRhY2l0ZTpkYXRlIiwNCgkJCQkiZGF0ZVR5cGUiPT4iQXZhaWxhYmxlIik7DQoJCQkkdG9w
Y29udGVudC0+YXBwZW5kQ2hpbGQoJHNlc3Npb24tPm1ha2VfdGV4dCgkZW1iYXJnb19leHBpcnlf
ZGF0ZSkpOw0KCQkJJHJlc3BvbnNlLT5hcHBlbmRDaGlsZCggJHRvcGNvbnRlbnQgKTsJDQoJCX0N
Cgl9DQoNCgkjbm8gZW1iYXJnbywgc28gT0EgZGF0ZXMgYXBwbHkNCgllbHNpZiAoJGRhdGUgbmUg
IiIpew0KCQkkdG9wY29udGVudCA9ICRzZXNzaW9uLT5tYWtlX2VsZW1lbnQoICJkYXRhY2l0ZTpk
YXRlIiwNCgkJCQkiZGF0ZVR5cGUiPT4iJG1hcHBlZF9kYXRlVHlwZSIpOw0KCQkJCQ0KCQkkdG9w
Y29udGVudC0+YXBwZW5kQ2hpbGQoJHNlc3Npb24tPm1ha2VfdGV4dCgkZGF0ZSkpOw0KCQ0KCQkk
cmVzcG9uc2UtPmFwcGVuZENoaWxkKCAkdG9wY29udGVudCApOwkNCg0KCX0NCgkNCgkjZXh0cmFj
dCBpbmRpdmlkdWFsIHN1YmplY3Qga2V5d29yZHMgZnJvbSB0aGUgY29tYmluZWQgZmllbGQNCglp
ZiggJGRhdGFvYmotPmV4aXN0c19hbmRfc2V0KCJrZXl3b3JkcyIpKXsNCg0KCQlteSAka2V5d29y
ZHNfZmllbGQgPSAkZGF0YW9iai0+ZGF0YXNldC0+ZmllbGQoICJrZXl3b3JkcyIgKTsNCgkJbXkg
QHdvcmRzOw0KCQlpZiggJGtleXdvcmRzX2ZpZWxkLT5nZXRfcHJvcGVydHkoICJtdWx0aXBsZSIg
KSApDQoJCXsNCgkJCUB3b3JkcyA9IEB7JGRhdGFvYmotPnZhbHVlKCAia2V5d29yZHMiICl9Ow0K
CQl9DQoJCWVsc2UNCgkJew0KCQkJbXkgJHN1YmplY3RzID0gJGRhdGFvYmotPmdldF92YWx1ZSgg
ImtleXdvcmRzIiApOw0KCQkJQHdvcmRzID0gc3BsaXQgL1s7XCxdLywgJHN1YmplY3RzOw0KCQl9
DQoJDQogICAgICAgIG15ICRzdWJjb250ZW50ID0gIiI7DQogIAkgICAgbXkgJHN1YmplY3QgPSAi
IjsNCgkJJHRvcGNvbnRlbnQgPSAkc2Vzc2lvbi0+bWFrZV9lbGVtZW50KCAiZGF0YWNpdGU6c3Vi
amVjdHMiKTsNCgkJZm9yZWFjaCAoIEB3b3JkcyApIHsNCgkJCSRzdWJjb250ZW50ID0gJHNlc3Np
b24tPm1ha2VfZWxlbWVudCggImRhdGFjaXRlOnN1YmplY3QiKTsNCgkJCSRzdWJqZWN0ID0gJHNl
c3Npb24tPm1ha2VfdGV4dCgkXyk7DQoJCQkkc3ViY29udGVudC0+YXBwZW5kQ2hpbGQoJHN1Ympl
Y3QpOw0KCQkJJHRvcGNvbnRlbnQtPmFwcGVuZENoaWxkKCRzdWJjb250ZW50KTsNCgkJfQ0KDQoJ
CSRyZXNwb25zZS0+YXBwZW5kQ2hpbGQoICR0b3Bjb250ZW50ICk7CQ0KCX0NCgkNCglFUHJpbnRz
OjpYTUw6OnRpZHkoICRyZXNwb25zZSApOw0KCXJldHVybiAkcmVzcG9uc2U7DQoNCn0NCg0KMTsN
Cg0KPWhlYWQxIENPUFlSSUdIVA0KDQo9Zm9yIENPUFlSSUdIVCBCRUdJTg0KDQpDb3B5cmlnaHQg
MjAyMSBUb21hc3ogTmV1Z2ViYXVlciwgQ29uY29yZGlhIFVuaXZlcnNpdHkNCg0KDQo9Zm9yIENP
UFlSSUdIVCBFTkQNCg0KPWZvciBMSUNFTlNFIEJFR0lODQoNClRoaXMgZmlsZSBpcyBwYXJ0IG9m
IEVQcmludHMgTDxodHRwOi8vd3d3LmVwcmludHMub3JnLz4uDQoNCkVQcmludHMgaXMgZnJlZSBz
b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdA0KdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi
bGlzaGVkDQpieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4N
Cg0KRVByaW50cyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLCBidXQgV0lUSE9VVA0KQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yDQpGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYw0KTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLg0KDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQpMaWNlbnNlIGFsb25nIHdpdGggRVByaW50cy4gIElm
IG5vdCwgc2VlIEw8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQoNCj1mb3IgTElDRU5T
RSBFTkQNCg==
</data>
</file>
<file>
<filename>plugins/EPrints/Plugin/Export/OPENAIRE_via_PMH.pm</filename>
<mime_type>text/plain</mime_type>
<hash>1ef9bce4627e27776a7914d01202bf21</hash>
<hash_type>MD5</hash_type>
<filesize>2492</filesize>
<data encoding='base64'>IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIw0KIw0KIyBFUHJpbnRzOjpQbHVnaW46OkV4cG9ydDo6T1BFTkFJUkVfdmlh
X1BNSA0KIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIw0KIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQoNCj1wb2QNCg0K
PWhlYWQxIE5BTUUNCg0KQjxFUHJpbnRzOjpQbHVnaW46OkV4cG9ydDo6T1BFTkFJUkVfdmlhX1BN
SD4gLSBXcmFwcGVyIGZvciBPQUktUE1IIGV4cG9ydGlvbiBvZiBPUEVOQUlSRSBvYmplY3RzLg0K
DQo9aGVhZDEgREVTQ1JJUFRJT04NCg0KVGhpcyBwbHVnaW4gZW5hYmxlcyBPUEVOQUlSRSBtYXBz
IHRvIGJlIGRpc2NvdmVyZWQgdmlhIHRoZSBPQUkyIFBNSCBpbnRlcmZhY2UgdG8gRVByaW50cy4N
Cg0KPW92ZXIgNA0KDQo9Y3V0DQpwYWNrYWdlIEVQcmludHM6OlBsdWdpbjo6RXhwb3J0OjpPUEVO
QUlSRV92aWFfUE1IOw0KDQp1c2UgRVByaW50czo6UGx1Z2luOjpFeHBvcnQ7DQoNCkBJU0EgPSAo
ICJFUHJpbnRzOjpQbHVnaW46OkV4cG9ydCIgKTsNCg0KdXNlIHN0cmljdDsNCg0Kc3ViIG5ldw0K
ew0KCW15KCAkY2xhc3MsICVvcHRzICkgPSBAXzsNCg0KCW15ICRzZWxmID0gJGNsYXNzLT5TVVBF
Ujo6bmV3KCAlb3B0cyApOw0KDQoJJHNlbGYtPntuYW1lfSA9ICJPcGVuQUlSRSI7DQoJJHNlbGYt
PnthY2NlcHR9ID0gWyAnZGF0YW9iai9lcHJpbnQnIF07DQoJJHNlbGYtPnt2aXNpYmxlfSA9ICIi
Ow0KCSRzZWxmLT57c3VmZml4fSA9ICIueG1sIjsNCgkkc2VsZi0+e21pbWV0eXBlfSA9ICJhcHBs
aWNhdGlvbi94bWwiOw0KCQ0KCSRzZWxmLT57bWV0YWRhdGFQcmVmaXh9ID0gIm9haV9vcGVuYWly
ZSI7DQoJJHNlbGYtPnt4bWxuc30gPSAiaHR0cDovL25hbWVzcGFjZS5vcGVuYWlyZS5ldS9zY2hl
bWEvb2FpcmUvIjsNCgkkc2VsZi0+e3NjaGVtYUxvY2F0aW9ufSA9ICJodHRwczovL3d3dy5vcGVu
YWlyZS5ldS9zY2hlbWEvcmVwby1saXQvNC4wL29wZW5haXJlLnhzZCI7DQoNCglyZXR1cm4gJHNl
bGY7DQp9DQoNCg0Kc3ViIG91dHB1dF9kYXRhb2JqDQp7DQoJbXkoICRwbHVnaW4sICRkYXRhb2Jq
ICkgPSBAXzsNCg0KCW15ICR4bWwgPSAkcGx1Z2luLT54bWxfZGF0YW9iaiggJGRhdGFvYmogKTsN
Cg0KCW15ICRyZXNvdXJjZU1hcCA9IEVQcmludHM6OlhNTDo6dG9fc3RyaW5nKCAkeG1sICk7DQoN
CglFUHJpbnRzOjpYTUw6OmRpc3Bvc2UoJHhtbCk7DQoNCglyZXR1cm4gJHJlc291cmNlTWFwOw0K
fQ0KDQoNCnN1YiB4bWxfZGF0YW9iag0Kew0KCW15KCAkcGx1Z2luLCAkZGF0YW9iaiApID0gQF87
DQoNCglteSAkbWFpbl9wbHVnaW4gPSAkcGx1Z2luLT57c2Vzc2lvbn0tPnBsdWdpbiggIkV4cG9y
dDo6T1BFTkFJUkUiICk7DQoNCglteSAkZGF0YSA9ICRtYWluX3BsdWdpbi0+eG1sX2RhdGFvYmoo
ICRkYXRhb2JqICk7DQoJDQoJcmV0dXJuICRkYXRhOw0KfQ0KDQoNCjE7DQoNCj1oZWFkMSBDT1BZ
UklHSFQNCg0KPWZvciBDT1BZUklHSFQgQkVHSU4NCg0KQ29weXJpZ2h0IDIwMDAtMjAxMSBVbml2
ZXJzaXR5IG9mIFNvdXRoYW1wdG9uLg0KQ29weXJpZ2h0IDIwMTkgVG9tYXN6IE5ldWdlYmF1ZXIs
IENvbmNvcmRpYSBVbml2ZXJzaXR5DQoNCj1mb3IgQ09QWVJJR0hUIEVORA0KDQo9Zm9yIExJQ0VO
U0UgQkVHSU4NCg0KVGhpcyBmaWxlIGlzIHBhcnQgb2YgRVByaW50cyBMPGh0dHA6Ly93d3cuZXBy
aW50cy5vcmcvPi4NCg0KRVByaW50cyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0DQp1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQNCmJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KDQpFUHJpbnRzIGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUDQpBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJ
VFkgb3INCkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljDQpMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQoNCllvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMN
CkxpY2Vuc2UgYWxvbmcgd2l0aCBFUHJpbnRzLiAgSWYgbm90LCBzZWUgTDxodHRwOi8vd3d3Lmdu
dS5vcmcvbGljZW5zZXMvPi4NCg0KPWZvciBMSUNFTlNFIEVORA0KDQo=
</data>
</file>
</files>
<mime_type>text/plain</mime_type>
<format>text</format>
<main>plugins/EPrints/Plugin/Export/OPENAIRE_via_PMH.pm</main>
<content>install</content>
</document>
</documents>
<version>1.0.4</version>
<creators>
<item>
<name>
<family>Neugebauer</family>
<given>Tomasz</given>
</name>
<id>[email protected]</id>
</item>
</creators>
<title>OpenAIRE Export Plugin - Literature Repository Guidelines</title>
<description>Export Plugin for Interoperability with OpenAIRE.
Exports metadata based on Guidelines for Literature Repositories by OpenAIRE (https://openaire-guidelines-for-literature-repository-managers.readthedocs.io/en/v4.0.0/).This plugin was developed as a part of Canadian Association of Research Libraries OpenAIRE Pilot Project.
This version includes export of contributors and editors.</description>
<requirements>To enable the plugin, the following lines are added in cfg/cfg.d/z_openaire.pl (included with the bazaar plugin)
$c->{plugins}->{"Export::OPENAIRE"}->{params}->{disable} = 0;
$c->{plugins}{"Export::OPENAIRE_via_PMH"}{params}{disable} = 0;</requirements>
</epm>