-
Notifications
You must be signed in to change notification settings - Fork 3
/
hefce_oa.epm
4621 lines (4621 loc) · 319 KB
/
hefce_oa.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
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version='1.0' encoding='utf-8'?>
<epm xmlns='http://eprints.org/ep2/data/2.0' id='http://localhost:8080/id/epm/hefce_oa'>
<epmid>hefce_oa</epmid>
<uri>http://localhost:8080/id/epm/hefce_oa</uri>
<documents>
<document>
<files>
<file>
<datasetid>document</datasetid>
<filename>cfg.d/hefce_oa_audit.pl</filename>
<mime_type>text/plain</mime_type>
<hash>1aa71ff57d512b387da2a5fde6504242</hash>
<hash_type>MD5</hash_type>
<filesize>7329</filesize>
<data encoding='base64'>JGMtPnsiaGVmY2Vfb2EifS0+eyJjb3JlX3VybCJ9ID0gImh0dHBzOi8vY29yZS5hYy51ay9kaXNw
bGF5LyI7CgojIEhFRkNFIE9BIEF1ZGl0IERhdGFPYmoKewpubyB3YXJuaW5nczsKCnBhY2thZ2Ug
RVByaW50czo6RGF0YU9iajo6SGVmY2VPQV9BdWRpdDsKCkBFUHJpbnRzOjpEYXRhT2JqOjpIZWZj
ZU9BX0F1ZGl0OjpJU0EgPSBxdyggRVByaW50czo6RGF0YU9iaiApOwoKc3ViIGdldF9kYXRhc2V0
X2lkIHsgImhlZmNlX29hX2F1ZGl0IiB9CgpzdWIgZ2V0X3VybCB7IHNoaWZ0LT51cmkgfQoKc3Vi
IGdldF9kZWZhdWx0cwp7CiAgICBteSggJGNsYXNzLCAkc2Vzc2lvbiwgJGRhdGEsICRkYXRhc2V0
ICkgPSBAXzsKCiAgICAkZGF0YSA9ICRjbGFzcy0+U1VQRVI6OmdldF9kZWZhdWx0cyggQF9bMS4u
JCNfXSApOwoKICAgIHJldHVybiAkZGF0YTsKfQoKIyBnZXRzIGFuIGF1ZGl0IHJlY29yZCBmb3Ig
YSBnaXZlbiBlcHJpbnQKc3ViIGdldF9hdWRpdF9yZWNvcmQKewogICAgbXkoICRjbGFzcywgJHNl
c3Npb24sICRlcHJpbnQgKSA9IEBfOwoKICAgIHJldHVybiAkc2Vzc2lvbi0+ZGF0YXNldCggJGNs
YXNzLT5nZXRfZGF0YXNldF9pZCApLT5zZWFyY2goCiAgICAgICAgZmlsdGVycyA9PiBbCiAgICAg
ICAgICAgIHsgbWV0YV9maWVsZHMgPT4gW3F3KCBlcHJpbnRpZCApXSwgdmFsdWUgPT4gJGVwcmlu
dC0+aWQsIG1hdGNoID0+ICJFWCIsIH0sCiAgICAgICAgXSwKICAgICktPml0ZW0oIDAgKTsKfQoK
IyBkZWZpbmUgdGhlIGRhdGFzZXQKJGMtPntkYXRhc2V0c30tPntoZWZjZV9vYV9hdWRpdH0gPSB7
CiAgICBjbGFzcyA9PiAiRVByaW50czo6RGF0YU9iajo6SGVmY2VPQV9BdWRpdCIsCiAgICBzcWxu
YW1lID0+ICJoZWZjZV9vYV9hdWRpdCIsCiAgICBuYW1lID0+ICJoZWZjZV9vYV9hdWRpdCIsCiAg
ICBjb2x1bW5zID0+IFtxdyggYXVkaXRpZCApXSwKICAgIGluZGV4ID0+IDEsCiAgICBpbXBvcnQg
PT4gMSwKfTsKCiMgZGVmaW5lIGZpZWxkcwokYy0+e2ZpZWxkc30tPntoZWZjZV9vYV9hdWRpdH0g
PSBbXSBpZiAhZGVmaW5lZCAkYy0+e2ZpZWxkc30tPntoZWZjZV9vYV9hdWRpdH07CnVuc2hpZnQg
QHskYy0+e2ZpZWxkc30tPntoZWZjZV9vYV9hdWRpdH19LCAoCiAgICB7CiAgICAgICAgbmFtZSA9
PiAiYXVkaXRpZCIsCiAgICAgICAgdHlwZSA9PiAiY291bnRlciIsCiAgICAgICAgcmVxdWlyZWQg
PT4gMSwKICAgICAgICBjYW5fY2xvbmUgPT4gMCwKICAgICAgICBzcWxfY291bnRlciA9PiAiYXVk
aXRpZCIKICAgIH0sCiAgICB7CiAgICAgICAgbmFtZSA9PiAiZXByaW50aWQiLAogICAgICAgIHR5
cGUgPT4gIml0ZW1yZWYiLAogICAgICAgIGRhdGFzZXRpZCA9PiAiZXByaW50IiwKICAgICAgICBy
ZXF1aXJlZCA9PiAxLAogICAgICAgIHNob3dfaW5faHRtbCA9PiAwCiAgICB9LAogICAgewogICAg
ICAgIG5hbWUgPT4gInVwX2RhdGVzdGFtcCIsCiAgICAgICAgdHlwZSA9PiAidGltZSIsCiAgICAg
ICAgcmVxdWlyZWQgPT4gMCwKICAgICAgICBpbXBvcnQgPT4gMCwKICAgICAgICByZW5kZXJfcmVz
ID0+ICJtaW51dGUiLAogICAgICAgIHJlbmRlcl9zdHlsZSA9PiAic2hvcnQiLAogICAgICAgIGNh
bl9jbG9uZSA9PiAwCiAgICB9LAogICAgewogICAgICAgIG5hbWUgPT4gImNvcmVfZGF0ZXN0YW1w
IiwKICAgICAgICB0eXBlID0+ICJ0aW1lIiwKICAgICAgICByZXF1aXJlZCA9PiAwLAogICAgICAg
IGltcG9ydCA9PiAwLAogICAgICAgIHJlbmRlcl9yZXMgPT4gIm1pbnV0ZSIsCiAgICAgICAgcmVu
ZGVyX3N0eWxlID0+ICJzaG9ydCIsCiAgICAgICAgY2FuX2Nsb25lID0+IDAKICAgIH0sCiAgICAj
IFVucGF5d2FsbCBmaWVsZHMKICAgIHsKICAgICAgICBuYW1lID0+ICd1cF9pc19vYScsCiAgICAg
ICAgdHlwZSA9PiAnYm9vbGVhbicKICAgIH0sCiAgICB7CiAgICAgICAgbmFtZSA9PiAndXBfdXJs
X2Zvcl9wZGYnLAogICAgICAgIHR5cGUgPT4gJ3VybCcsCiAgICB9LAogICAgewogICAgICAgIG5h
bWUgPT4gJ3VwX2xvY2F0aW9ucycsCiAgICAgICAgdHlwZSA9PiAnY29tcG91bmQnLAogICAgICAg
IG11bHRpcGxlID0+IDEsCiAgICAgICAgZmllbGRzID0+IFsKICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgc3ViX25hbWUgPT4gJ3VybCcsCiAgICAgICAgICAgICAgICB0eXBlICA9PiAndXJs
JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc3ViX25hbWUg
PT4gJ3BtaF9pZCcsCiAgICAgICAgICAgICAgICB0eXBlICA9PiAndGV4dCcsCiAgICAgICAgICAg
ICAgICBhbGxvd19udWxsID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgIHN1Yl9uYW1lID0+ICdpc19iZXN0JywKICAgICAgICAgICAgICAgIHR5cGUgID0+
ICdib29sZWFuJywKICAgICAgICAgICAgfSwKICAgICAgICBdLAogICAgfSwKICAgICMgQ09SRSBm
aWVsZHMKICAgIHsKICAgICAgICBuYW1lID0+ICdjb3JlX3NvdXJjZXMnLAogICAgICAgIHR5cGUg
PT4gJ2NvbXBvdW5kJywKICAgICAgICBtdWx0aXBsZSA9PiAxLAogICAgICAgIGZpZWxkcyA9PiBb
CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN1Yl9uYW1lID0+ICdjb3JlX2lkJywKICAg
ICAgICAgICAgICAgIHR5cGUgID0+ICdpbnQnLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICBzdWJfbmFtZSA9PiAncmVwb19uYW1lJywKICAgICAgICAgICAgICAg
IHR5cGUgPT4gJ3RleHQnLAogICAgICAgICAgICAgICAgYWxsb3dfbnVsbCA9PiAxLAogICAgICAg
ICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdWJfbmFtZSA9PiAnZGF0ZVB1
Ymxpc2hlZCcsCiAgICAgICAgICAgICAgICB0eXBlICA9PiAndGV4dCcsCiAgICAgICAgICAgICAg
ICBhbGxvd19udWxsID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgIHN1Yl9uYW1lID0+ICdkZXBvc2l0ZWREYXRlJywKICAgICAgICAgICAgICAgIHR5cGUg
ID0+ICd0aW1lc3RhbXAnLAogICAgICAgICAgICAgICAgYWxsb3dfbnVsbCA9PiAxLAogICAgICAg
ICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdWJfbmFtZSA9PiAncHVibGlz
aGVkRGF0ZScsCiAgICAgICAgICAgICAgICB0eXBlICA9PiAndGltZXN0YW1wJywKICAgICAgICAg
ICAgICAgIGFsbG93X251bGwgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgc3ViX25hbWUgPT4gJ2FjY2VwdGVkRGF0ZScsCiAgICAgICAgICAgICAgICB0
eXBlICA9PiAndGltZXN0YW1wJywKICAgICAgICAgICAgICAgIGFsbG93X251bGwgPT4gMSwKICAg
ICAgICAgICAgfSwKICAgICAgICBdLAogICAgfSwKKTsKCn0KCgokYy0+e2hlZmNlX29hfS0+e2dl
dF91bnBheXdhbGx9ID0gc3ViIHsKCiAgICBteSAoJHJlcG8sICRlcHJpbnQpID0gQF87CgogICAg
dXNlIExXUDo6U2ltcGxlOwogICAgdXNlIExXUDo6VXNlckFnZW50OwogICAgdXNlIFVSSTsKCgoK
ICAgICNzdGFydCB3aXRoIGFuIGFzc3VtcHRpb24KICAgIG15ICRkb2lfZmllbGQgPSAiaWRfbnVt
YmVyIjsKICAgIGlmKEVQcmludHM6OlV0aWxzOjppc19zZXQoJHJlcG8tPmdldF9jb25mKCJoZWZj
ZV9vYSIsImVwcmludGRvaWZpZWxkIikpKXsKICAgICAgICAjYSkgaGF2ZSB3ZSBkZWZpbmVkIHRo
ZSBkb2lfZmllbGQgd2l0aGluIHRoZSBoZWZjZV9vYSBjb25mPwogICAgICAgICRkb2lfZmllbGQg
PSAkcmVwby0+Z2V0X2NvbmYoImhlZmNlX29hIiwiZXByaW50ZG9pZmllbGQiKTsKICAgIH1lbHNp
ZihFUHJpbnRzOjpVdGlsczo6aXNfc2V0KCRyZXBvLT5nZXRfY29uZigiZGF0YWNpdGVkb2kiLCJl
cHJpbnRkb2lmaWVsZCIpKSl7CiAgICAgICAgI2IpIGhhdmUgd2UgYWxyZWFkeSBkZWZpbmVkIHRo
ZSBkb2lfZmllbGQgd2l0aGluIHRoZSBkYXRhaXRlZG9pIHBsdWdpbj8KICAgICAgICAkZG9pX2Zp
ZWxkID0gJHJlcG8tPmdldF9jb25mKCJkYXRhY2l0ZWRvaSIsImVwcmludGRvaWZpZWxkIik7CiAg
ICB9CgogICAgcmV0dXJuKCJFUlJPUiIsICJUaGVyZSBpcyBubyBET0kgKCRkb2lfZmllbGQpIHNl
dCAiKSBpZiAoISRlcHJpbnQtPmV4aXN0c19hbmRfc2V0KCRkb2lfZmllbGQpKTsKCiAgICBteSAk
ZG9pID0gJGVwcmludC0+dmFsdWUoJGRvaV9maWVsZCk7CgogICAgaWYoJGRvaSA9ICRyZXBvLT5j
YWxsKFsiaGVmY2Vfb2EiLCAiZm9ybWF0X2RvaSJdLCAkZG9pKSl7CgogICAgICAgIG15ICR1cF9l
bWFpbCA9ICRyZXBvLT5nZXRfY29uZigiaGVmY2Vfb2EiLCAidW5wYXl3YWxsX2VtYWlsIikgfHwg
JHJlcG8tPmdldF9jb25mKCJhZG1pbmVtYWlsIik7CiAgICAgICAgCiAgICAgICAgbXkgJGFwaV9y
ZXF1ZXN0X3VyaSA9IFVSSS0+bmV3KCRyZXBvLT5nZXRfY29uZigiaGVmY2Vfb2EiLCJ1bnBheXdh
bGxfYXBpX2Jhc2UiKS4iJGRvaT9lbWFpbD0iLiR1cF9lbWFpbCk7CgogICAgICAgIG15ICR1YSA9
IExXUDo6VXNlckFnZW50LT5uZXcoc3NsX29wdHMgPT4geyB2ZXJpZnlfaG9zdG5hbWUgPT4gMCB9
KTsKICAgICAgICBteSBAaGVhZGVycyA9ICgKICAgICAgICAgICAgJ0FjY2VwdCcgPT4gJ2FwcGxp
Y2F0aW9uL2pzb24nLAogICAgIwkJJ0F1dGhvcml6YXRpb24nID0+ICdCZWFyZXInIC4gJHVzZXIt
PnZhbHVlKCAib3JjaWRfYWNjZXNzX3Rva2VuIiApLAogICAgICAgICk7CiAgICAgICAgcHJpbnQg
JGFwaV9yZXF1ZXN0X3VyaS4iXG4iOwogICAgICAgIG15ICRyZXNwb25zZSA9ICR1YS0+Z2V0KCAk
YXBpX3JlcXVlc3RfdXJpLCBAaGVhZGVycyApOwogICAgICAgIHJldHVybigiU1VDQ0VTUyIsICRy
ZXNwb25zZSk7CgogICAgfWVsc2V7CiAgICAgICAgcmV0dXJuKCJFUlJPUiIsICJObyBzdWl0YWJs
ZSBET0kgc2V0IGluICRkb2lfZmllbGQgKCIuJGVwcmludC0+dmFsdWUoJGRvaV9maWVsZCkuIiki
KTsKICAgIH0KfTsKCiRjLT57aGVmY2Vfb2F9LT57Z2V0X2NvcmV9ID0gc3ViIHsKCiAgICBteSAo
JHJlcG8sICRlcHJpbnQpID0gQF87CgogICAgdXNlIExXUDo6U2ltcGxlOwogICAgdXNlIExXUDo6
VXNlckFnZW50OwogICAgdXNlIFVSSTsKCgogICAgI3N0YXJ0IHdpdGggYW4gYXNzdW1wdGlvbgog
ICAgbXkgJGRvaV9maWVsZCA9ICJpZF9udW1iZXIiOwogICAgaWYoRVByaW50czo6VXRpbHM6Omlz
X3NldCgkcmVwby0+Z2V0X2NvbmYoImhlZmNlX29hIiwiZXByaW50ZG9pZmllbGQiKSkpewogICAg
ICAgICNhKSBoYXZlIHdlIGRlZmluZWQgdGhlIGRvaV9maWVsZCB3aXRoaW4gdGhlIGhlZmNlX29h
IGNvbmY/CiAgICAgICAgJGRvaV9maWVsZCA9ICRyZXBvLT5nZXRfY29uZigiaGVmY2Vfb2EiLCJl
cHJpbnRkb2lmaWVsZCIpOwogICAgfWVsc2lmKEVQcmludHM6OlV0aWxzOjppc19zZXQoJHJlcG8t
PmdldF9jb25mKCJkYXRhY2l0ZWRvaSIsImVwcmludGRvaWZpZWxkIikpKXsKICAgICAgICAjYikg
aGF2ZSB3ZSBhbHJlYWR5IGRlZmluZWQgdGhlIGRvaV9maWVsZCB3aXRoaW4gdGhlIGRhdGFpdGVk
b2kgcGx1Z2luPwogICAgICAgICRkb2lfZmllbGQgPSAkcmVwby0+Z2V0X2NvbmYoImRhdGFjaXRl
ZG9pIiwiZXByaW50ZG9pZmllbGQiKTsKICAgIH0KCiAgICByZXR1cm4oIkVSUk9SIiwgIlRoZXJl
IGlzIG5vIERPSSAoJGRvaV9maWVsZCkgc2V0ICIpIGlmICghJGVwcmludC0+ZXhpc3RzX2FuZF9z
ZXQoJGRvaV9maWVsZCkpOwoKICAgIG15ICRkb2kgPSAkZXByaW50LT52YWx1ZSgkZG9pX2ZpZWxk
KTsKCiAgICBpZigkZG9pID0gJHJlcG8tPmNhbGwoWyJoZWZjZV9vYSIsICJmb3JtYXRfZG9pIl0s
ICRkb2kpKXsKICAgICAgICAKICAgICAgICAjIGNvcmUgcmVxdWlyZXMgdGhhdCB0aGUgZG9pIGlz
IG5vdCBlbmNvZGVkIGJ1dCB0aGF0IGl0IAogICAgICAgICMgaXMgd3JhcHBlZCBpbiBkb3VibGUg
cXVvdGVzIHRoYXQgYXJlIGVuY29kZWQgYW5kIAogICAgICAgICMgcHJvY2VlZGVkIGJ5IGEgY29s
b24gdGhhdCBpcyBhbHNvIGVuY29kZWQuLi4gZ28gZmlndXJlIQogICAgICAgIG15ICRhcGlfcmVx
dWVzdF91cmkgPSBVUkktPm5ldygkcmVwby0+Z2V0X2NvbmYoImhlZmNlX29hIiwiY29yZV9hcGlf
YmFzZSIpLiIvc2VhcmNoL2RvaSUzQSUyMiIuJGRvaS4iJTIyP3BhZ2U9MSZwYWdlU2l6ZT0xMDAm
YXBpS2V5PSIuJHJlcG8tPmdldF9jb25mKCJoZWZjZV9vYSIsImNvcmVfYXBpX2tleSIpKTsKCiAg
ICAgICAgbXkgJHVhID0gTFdQOjpVc2VyQWdlbnQtPm5ldyhzc2xfb3B0cyA9PiB7IHZlcmlmeV9o
b3N0bmFtZSA9PiAwIH0pOwogICAgICAgIG15IEBoZWFkZXJzID0gKAogICAgICAgICAgICAnQWNj
ZXB0JyA9PiAnYXBwbGljYXRpb24vanNvbicsCiAgICAjCQknQXV0aG9yaXphdGlvbicgPT4gJ0Jl
YXJlcicgLiAkdXNlci0+dmFsdWUoICJvcmNpZF9hY2Nlc3NfdG9rZW4iICksCiAgICAgICAgKTsK
CiAgICAgICAgbXkgJHJlc3BvbnNlID0gJHVhLT5nZXQoICRhcGlfcmVxdWVzdF91cmksIEBoZWFk
ZXJzICk7CiAgICAgICAgcmV0dXJuKCJTVUNDRVNTIiwgJHJlc3BvbnNlKTsKCiAgICB9ZWxzZXsK
ICAgICAgICByZXR1cm4oIkVSUk9SIiwgIk5vIHN1aXRhYmxlIERPSSBzZXQgaW4gJGRvaV9maWVs
ZCAoIi4kZXByaW50LT52YWx1ZSgkZG9pX2ZpZWxkKS4iKSIpOwogICAgfQp9OwoKIyBsaWZ0ZWQg
c3RyYWlnaHQgZnJvbSBVS0VURCBwbHVnaW4sIHdoaWNoIGlzIGJhc2VkIG9uIHJlbmRlcl9wb3Nz
aWJsZV9kb2kKIyBpZiBvbmx5IGEgYSBub24tcmVkZXJpbmcgdmVyc2lvbiBvZiB0aGlzIHdhcyBp
biB0aGUgY29yZS4uLiA6LwokYy0+e2hlZmNlX29hfS0+e2Zvcm1hdF9kb2l9ID0gc3ViIHsKCiAg
ICBteSggJGRvaSApID0gQF87CgogICAgIyBhZHZpY2UgcmVjZWl2ZWQgaXMgdGhhdCBqdXN0IERP
SSBpcyBwcmVmZXJyZWQgdG8gYSBVUkwKICAgICMgbG9naWMgdGFrZW4gZnJvbSBFUHJpbnRzOjpF
eHRyYXM6OnJlbmRlcl9wb3NzaWJsZV9kb2kKICAgIGlmKCAkZG9pID1+IG0hXgogICAgICAgICAo
PzpodHRwcz86Ly8oPzpkeFwuKT9kb2lcLm9yZy8pPyAgIyBhZGQgdGhpcyBhZ2FpbiBsYXRlciBh
bnl3YXkKICAgICAgICAgKD86ZG9pOj9ccyopPyAgICAgICAgICAgICAgICAgICAjIGRvbid0IG5l
ZWQgYW55IG5hbWVzcGFjZSBzdHVmZgogICAgICAgICAoMTAoXC5bXi4vXSspKy8uKykgICAgICAg
ICAgICAgICMgdGhlIGFjdHVhbCBET0kgPT4gJDEKICAgICAhaXggKQogICAgIHsKICAgICAgICAg
IyBqdXN0IHVzZSB0aGUgbGFzdCBwYXJ0IC0gdGhlIGFjdHVhbCBET0kuCiAgICAgICAgIHJldHVy
biAkMTsKICAgICB9CiAgICAgcmV0dXJuIDA7Cn07CgoK
</data>
</file>
<file>
<datasetid>document</datasetid>
<filename>cfg.d/hefce_oa_integration.pl</filename>
<mime_type>text/plain</mime_type>
<hash>256e19ef2e2f269fa409da378d23c7df</hash>
<hash_type>MD5</hash_type>
<filesize>10704</filesize>
<data encoding='base64'>dXNlIFRpbWU6OlBpZWNlOyAKCiMgYXR0ZW1wdCB0byBzZXQgaG9hX2RhdGVfYWNjIGFuZCBob2Ff
ZGF0ZV9wdWIgZnJvbSB2YXJpb3VzIHNvdXJjZXMKJGMtPmFkZF9kYXRhc2V0X3RyaWdnZXIoICdl
cHJpbnQnLCBFUHJpbnRzOjpDb25zdDo6RVBfVFJJR0dFUl9CRUZPUkVfQ09NTUlULCBzdWIKewoJ
bXkoICVhcmdzICkgPSBAXzsgCglteSggJHJlcG8sICRlcHJpbnQsICRjaGFuZ2VkICkgPSBAYXJn
c3txdyggcmVwb3NpdG9yeSBkYXRhb2JqIGNoYW5nZWQgKX07CgoJIyB0cmlnZ2VyIG9ubHkgYXBw
bGllcyB0byByZXBvcyB3aXRoIGhlZmNlX29hIHBsdWdpbiBlbmFibGVkCglyZXR1cm4gdW5sZXNz
ICRlcHJpbnQtPmRhdGFzZXQtPmhhc19maWVsZCggJ2hvYV9jb21wbGlhbnQnICk7CgoJbXkoICRh
Y2NfZGF0ZSwgJHB1Yl9kYXRlLCAkcHViX29ubGluZV9kYXRlICk7CgkJCgkjIGRlZmF1bHQgRVBy
aW50cyBkYXRlIGZpZWxkIC0gb25seSBvbmUgb2YgdGhlc2Ugd2lsbCBtYXRjaAoJaWYoICRlcHJp
bnQtPmlzX3NldCggJ2RhdGUnICkgJiYgJGVwcmludC0+aXNfc2V0KCAnZGF0ZV90eXBlJyApICkK
CXsKCQlpZiggJGVwcmludC0+dmFsdWUoICdkYXRlX3R5cGUnICkgZXEgJ3B1Ymxpc2hlZCcgKQoJ
CXsKCQkJJHB1Yl9kYXRlID0gJGVwcmludC0+dmFsdWUoICdkYXRlJyApOwoJCX0KCQllbHNpZigg
JGVwcmludC0+dmFsdWUoICdkYXRlX3R5cGUnICkgZXEgJ3B1Ymxpc2hlZF9vbmxpbmUnICkKCQl7
CgkJCSRwdWJfb25saW5lX2RhdGUgPSAkZXByaW50LT52YWx1ZSggJ2RhdGUnICk7CgkJfQoJCWVs
c2lmKCAkZXByaW50LT52YWx1ZSggJ2RhdGVfdHlwZScgKSBlcSAnYWNjZXB0ZWQnICkgewoJCQkk
YWNjX2RhdGUgPSAkZXByaW50LT52YWx1ZSggJ2RhdGUnICk7CgkJfQoJfQoKCSMgZGF0ZXNkYXRl
c2RhdGVzIC0gdi4xLjAuNSB3aXRoICdwdWJsaXNoZWRfb25saW5lJyBvcHRpb24KCWlmKCAkZXBy
aW50LT5leGlzdHNfYW5kX3NldCggJ2RhdGVzJyApICkKCXsKCQlteSAkZGF0ZXMgPSAkZXByaW50
LT52YWx1ZSggJ2RhdGVzJyApOwoJCWlmKCByZWYoJGRhdGVzKSBlcSAnQVJSQVknICkgIyBjaGVj
ayBmb3IgZXhwZWN0ZWQgc3RydWN0dXJlCgkJewoJCQlmb3IoQCRkYXRlcykKCQkJewoJCQkJbmV4
dCB1bmxlc3MgcmVmKCRfKSBlcSAnSEFTSCc7CgkJCQluZXh0IHVubGVzcyBFUHJpbnRzOjpVdGls
czo6aXNfc2V0KCAkXy0+e2RhdGV9ICkgJiYgRVByaW50czo6VXRpbHM6OmlzX3NldCggZGVmaW5l
ZCAkXy0+e2RhdGVfdHlwZX0gKTsKCQkJCWlmKCAkXy0+e2RhdGVfdHlwZX0gZXEgJ3B1Ymxpc2hl
ZCcgKQoJCQkJewoJCQkJCSRwdWJfZGF0ZSA9ICRfLT57ZGF0ZX07CgkJCQl9CgkJCQllbHNpZigg
JF8tPntkYXRlX3R5cGV9IGVxICdwdWJsaXNoZWRfb25saW5lJyApCgkJCQl7CgkJCQkJJHB1Yl9v
bmxpbmVfZGF0ZSA9ICRfLT57ZGF0ZX07CgkJCQl9CgkJCQllbHNpZiggJF8tPntkYXRlX3R5cGV9
IGVxICdhY2NlcHRlZCcgKQoJCQkJewoJCQkJCSRhY2NfZGF0ZSA9ICRfLT57ZGF0ZX07CgkJCQl9
CgkJCX0KCQl9Cgl9CgoJIyByaW94eDIgLSB3aWxsIHByZWZlciAncHVibGlzaGVkJyB0byAncHVi
bGlzaGVkX29ubGluZScgLSBSRUZfQ0MgcHJlZmVycyBpdCB0aGUgb3RoZXIgd2F5IHJvdW5kCglp
ZiggJGVwcmludC0+ZXhpc3RzX2FuZF9zZXQoICdyaW94eDJfZGF0ZUFjY2VwdGVkJyApICkKCXsK
CQkkYWNjX2RhdGUgPSAkZXByaW50LT52YWx1ZSggJ3Jpb3h4Ml9kYXRlQWNjZXB0ZWQnICk7Cgl9
CglpZiggJGVwcmludC0+ZXhpc3RzX2FuZF9zZXQoICdyaW94eDJfcHVibGljYXRpb25fZGF0ZScg
KSApCgl7CgkJbXkgJHJpb3h4X3B1YiA9ICRlcHJpbnQtPnZhbHVlKCAncmlveHgyX3B1YmxpY2F0
aW9uX2RhdGUnICk7CgkJaWYoICRyaW94eF9wdWIgPX4gL15cZHs0fS1cZHsyfS1cZHsyfSQvICkg
I2NoZWNrIHJpb3h4IG92ZXJyaWRlIGlzIHZhbGlkIGRhdGUgZm9ybWF0CgkJewoJCQkkcHViX2Rh
dGUgPSAkZXByaW50LT52YWx1ZSggJ3Jpb3h4Ml9wdWJsaWNhdGlvbl9kYXRlJyApOwoJCX0KCX0K
CgkjIG5vdyBzZXQgdGhlIHZhbHVlcyAtIGRhdGUgb2YgYWNjZXB0YW5jZQoJbXkgJGFjY195ZWFy
ID0gc3Vic3RyICRhY2NfZGF0ZSwgMCwgNCBpZiBkZWZpbmVkICRhY2NfZGF0ZTsgI2Vuc3VyZSB5
ZWFyIGlzIHBvc3QgMTkwMCB0byBwcmV2ZW50IFRpbWU6OlBpZWNlIGNyYXNoCglpZiggZGVmaW5l
ZCAkYWNjX2RhdGUgJiYgJGFjY195ZWFyID49IDE5MDAgKQoJewoJCSRlcHJpbnQtPnNldF92YWx1
ZSggJ2hvYV9kYXRlX2FjYycsICRhY2NfZGF0ZSApOwoJfQoJCgkjcHJlZmVyIGEgcHVibGlzaGVk
X29ubGluZSBkYXRlCglpZiggZGVmaW5lZCAkcHViX29ubGluZV9kYXRlICkKCXsJCgkJbXkgJHB1
Yl95ZWFyID0gc3Vic3RyICRwdWJfb25saW5lX2RhdGUsIDAsIDQ7CgkJJGVwcmludC0+c2V0X3Zh
bHVlKCAnaG9hX2RhdGVfcHViJywgJHB1Yl9vbmxpbmVfZGF0ZSApIGlmICRwdWJfeWVhciA+PSAx
OTAwOwoJfQoJZWxzaWYoIGRlZmluZWQgJHB1Yl9kYXRlICkgI2J1dCB1c2UgYSBwdWJsaXNoZWQg
ZGF0ZSBpZiB0aGF0J3Mgbm90IGF2YWlsYWJsZS4KCXsKCQlteSAkcHViX3llYXIgPSBzdWJzdHIg
JHB1Yl9kYXRlLCAwLCA0OwoJCSRlcHJpbnQtPnNldF92YWx1ZSggJ2hvYV9kYXRlX3B1YicsICRw
dWJfZGF0ZSApIGlmICRwdWJfeWVhciA+PSAxOTAwOwoJfQp9LCBwcmlvcml0eSA9PiAxMDAgKTsg
IyBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIHRoZSBjb21wbGlhbmNlIGZsYWcgaXMgc2V0Cgoj
IGF0dGVtcHQgdG8gc2V0IGhvYV9lbWJfbGVuCiRjLT5hZGRfZGF0YXNldF90cmlnZ2VyKCAnZXBy
aW50JywgRVByaW50czo6Q29uc3Q6OkVQX1RSSUdHRVJfQkVGT1JFX0NPTU1JVCwgc3ViCnsKCW15
KCAlYXJncyApID0gQF87IAoJbXkoICRyZXBvLCAkZXByaW50LCAkY2hhbmdlZCApID0gQGFyZ3N7
cXcoIHJlcG9zaXRvcnkgZGF0YW9iaiBjaGFuZ2VkICl9OwoKCSMgdHJpZ2dlciBvbmx5IGFwcGxp
ZXMgdG8gcmVwb3Mgd2l0aCBoZWZjZV9vYSBwbHVnaW4gZW5hYmxlZAoJcmV0dXJuIHVubGVzcyAk
ZXByaW50LT5kYXRhc2V0LT5oYXNfZmllbGQoICdob2FfY29tcGxpYW50JyApOwogCQogICAgICAg
IG15ICRkb2MgPSAkcmVwby0+Y2FsbCggW3F3KCBoZWZjZV9vYSBzZWxlY3RfZG9jdW1lbnQgKV0s
ICRyZXBvLCAkZXByaW50ICk7CglteSAkaG9hX3B1YiA9ICRlcHJpbnQtPnZhbHVlKCAnaG9hX2Rh
dGVfcHViJyApOwogICAgICAgIGlmKCAkZG9jICYmICRob2FfcHViICYmICEkZXByaW50LT5pc19z
ZXQoICJob2FfZGF0ZV9mb2EiICkgKQogICAgICAgIHsKCQlpZiggJGRvYy0+ZXhpc3RzX2FuZF9z
ZXQoICdkYXRlX2VtYmFyZ28nICkgKQogICAgICAgICAgICAgICAgewoJCQlteSAkcHViX3RpbWU7
CgkJCWlmKCAkcmVwby0+Y2FuX2NhbGwoICJoZWZjZV9vYSIsICJoYW5kbGVfcG9zc2libHlfaW5j
b21wbGV0ZV9kYXRlIiApICkKCQkJewoJCQkJJHB1Yl90aW1lID0gJHJlcG8tPmNhbGwoIFsgImhl
ZmNlX29hIiwgImhhbmRsZV9wb3NzaWJseV9pbmNvbXBsZXRlX2RhdGUiIF0sICRob2FfcHViICk7
CgkJCX0KCQkJaWYoICFkZWZpbmVkKCAkcHViX3RpbWUgKSApICNhYm92ZSBjYWxsIGNhbiByZXR1
cm4gdW5kZWYgLSBmYWxsYmFjayB0byBkZWZhdWx0CgkJCXsKCQkJCSRwdWJfdGltZSA9IFRpbWU6
OlBpZWNlLT5zdHJwdGltZSggJGhvYV9wdWIgLCAiJVktJW0tJWQiICk7CgkJCX0KCgkJCW15ICRl
bWJfdGltZTsKCQkJaWYoICRyZXBvLT5jYW5fY2FsbCggImhlZmNlX29hIiwgImhhbmRsZV9wb3Nz
aWJseV9pbmNvbXBsZXRlX2RhdGUiICkgKQoJCQl7CgkJCQkkZW1iX3RpbWUgPSAkcmVwby0+Y2Fs
bCggWyAiaGVmY2Vfb2EiLCAiaGFuZGxlX3Bvc3NpYmx5X2luY29tcGxldGVfZGF0ZSIgXSwgJGRv
Yy0+dmFsdWUoICdkYXRlX2VtYmFyZ28nICkgKTsKCQkJfQoJCQlpZiggIWRlZmluZWQoICRlbWJf
dGltZSApICkgI2Fib3ZlIGNhbGwgY2FuIHJldHVybiB1bmRlZiAtIGZhbGxiYWNrIHRvIGRlZmF1
bHQKCQkJewoJCQkJbXkgJGVtYl9kYXRlID0gJGRvYy0+dmFsdWUoICdkYXRlX2VtYmFyZ28nICk7
CgkJCQlpZiggJGVtYl9kYXRlID1+IC9eKFxkezR9KS8gKQoJCQkJewoJCQkJCSRlbWJfdGltZSA9
IFRpbWU6OlBpZWNlLT5zdHJwdGltZSggJGVtYl9kYXRlLCAiJVktJW0tJWQiICkgaWYgJDEgPj0g
MTkwMDsKCQkJCX0KCQkJfQogICAgICAgICAgICAgICAgICAgICAgICBpZiggJGVtYl90aW1lID4g
JHB1Yl90aW1lICkgI2VtYmFyZ28gZGF0ZSBtdXN0IGNvbWUgYWZ0ZXIgcHVibGljYXRpb24gZGF0
ZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgI2dldCBlbWJhcmdvIGxlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15
ICRsZW4gPSAkZW1iX3RpbWUtJHB1Yl90aW1lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICRlcHJpbnQtPnNldF92YWx1ZSggJ2hvYV9lbWJfbGVuJywgc3ByaW50ZiAiJS4wZiIsICRs
ZW4tPm1vbnRocyApOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICRlcHJpbnQtPnNldF92YWx1ZSggJ2hvYV9lbWJfbGVuJywgdW5kZWYgKTsKICAgICAg
ICAgICAgICAgIH0KCgl9Cn0sIHByaW9yaXR5ID0+IDI1MCApOyAKCgojYWRhcHRlZCBmcm9tIFJJ
T1hYMiBwbHVnaW4KJGMtPntoZWZjZV9vYX0tPntzZWxlY3RfZG9jdW1lbnR9ID0gc3ViIHsKICAg
ICAgICBteSggJHJlcG8sICRlcHJpbnQgKSA9IEBfOwoKICAgICAgICBteSBAZG9jcyA9ICRlcHJp
bnQtPmdldF9hbGxfZG9jdW1lbnRzOwoKICAgICAgICAjIG5vIGRvY3M/CiAgICAgICAgcmV0dXJu
IHVubGVzcyBzY2FsYXIgQGRvY3M7CgoJIyBAcG9zc2libGVfZG9jcyBtZWV0ICdjb250ZW50JyBz
ZWxlY3Rpb24gY3JpdGVyaWEgLSBieSBkZWZhdWx0IGFjY2VwdGVkIG9yIHB1Ymxpc2hlZCwgYnV0
IGNhbiBub3cgYmUgCgkjIG92ZXJyaWRkZW4gaW4gY29uZmlnLiBTZWUgdHJpZ2dlcnMgZmlsZS4K
CW15ICRnb29kX2NvbnRlbnQgPSAkcmVwby0+Y29uZmlnKCAiaGVmY2Vfb2EiLCAiZG9jdW1lbnRf
Y29udGVudCIgKSB8fCBbIHF3LyBhY2NlcHRlZCBwdWJsaXNoZWQgLyBdOwoJbXkgQHBvc3NpYmxl
X2RvY3MgPSBncmVwIHsKCQlteSAkZG9jID0gJF87CgkJJGRvYy0+aXNfc2V0KCAiY29udGVudCIg
KSAmJiAKCQkJZ3JlcCB7CgkJCQlteSAkY29udGVudCA9ICRkb2MtPnZhbHVlKCAiY29udGVudCIg
KTsKCQkJCS9eJGNvbnRlbnQkLzsgCgkJCX0gQCRnb29kX2NvbnRlbnQ7Cgl9IEBkb2NzOwoKCXJl
dHVybiB1bmxlc3Mgc2NhbGFyIEBwb3NzaWJsZV9kb2NzOwoKCSMgaWYgdGhlcmUncyBvbmx5IG9u
ZSBwb3NzaWJsZSBkb2MsIGl0J3MgdGhlIGJlc3QgKGJ5IGRlZmF1bHQpCglyZXR1cm4gJHBvc3Np
YmxlX2RvY3NbMF0gaWYgc2NhbGFyIEBwb3NzaWJsZV9kb2NzID09IDE7CgogICAgICAgICMgcHJl
ZmVyIHB1Ymxpc2hlZCBvdmVyIGFjY2VwdGVkIHdoZW4gb3RoZXIgdGVzdHMgYXJlIGVxdWFsCiAg
ICAgICAgbXkgJXByZWYgPSAoCiAgICAgICAgICAgICAgICBwdWJsaXNoZWQgPT4gMSwKICAgICAg
ICAgICAgICAgIGFjY2VwdGVkID0+IDIsICAgICAgICAgICAgICAgCiAgICAgICAgKTsKCSMgdGhl
IGZpbmFsICdzcGFjZXNoaXAgc29ydCcgIGJlbG93IHdpbGwgcHJlZmVyIGFuIHVuZGVmIHZhbHVl
IG92ZXIgYSBzZXQgb25lIC0gd2hpY2ggbWlnaHQgCgkjIG5vdCBiZSBleHBlY3RlZCAoSSByZWFs
aXNlIHRoaXMgd2lsbCBiZSBhIHZlcnkgbmljaGUgY2FzZSkKCWZvcmVhY2goIEAkZ29vZF9jb250
ZW50ICl7CgkJbmV4dCBpZiBkZWZpbmVkICRwcmVmeyRffTsKCQkkcHJlZnskX30gPSAxMDsgIyBs
ZXNzIHByZWZlcnJlZCB0aGFuIHN0YW5kYXJkIG9wdGlvbnMKCX0KCgkjIHRoaXMgc29ydCBzdGF0
ZW1lbnQgbWlnaHQgYmUgc2xvdyB3aGVuIGRlYWxpbmcgd2l0aCBsb3RzIG9mIGRvY3VtZW50cy4K
CSMgd2UndmUgYWxyZWFkeSBwYXJlZCB0aGUgYXJyYXkgZG93biB0byBvbmx5IGFjY2VwdGVkL3B1
Ymxpc2hlZCB2ZXJzaW9ucy4KCSMgSWYgbmVjZXNzYXJ5LCBzb21lIG9mIHRoZSBtZXRob2RzIGZv
ciBwcmUtY2FsY3VsYXRpb24gb24gaHR0cDovL3d3dy5zeXNhcmNoLmNvbS9QZXJsL3NvcnRfcGFw
ZXIuaHRtbAoJIyBtYXkgYmUgdXNlZnVsCiAgICAgICAgQHBvc3NpYmxlX2RvY3MgPSBzb3J0IHsK
CQkjcHJlLWNhbGN1bGF0ZSBlbWJhcmdvIGRhdGVzCgkJbXkoICRhZGUsICRiZGUgKTsKCQkkYWRl
ID0gJGJkZSA9IGxvY2FsdGltZTsgI3NhbWUgZGF0ZSBpZiBib3RoIGVtYmFyZ29lcyBhcmUgdW5k
ZWZpbmVkLgoKCQlpZiggJHJlcG8tPmNhbl9jYWxsKCAiaGVmY2Vfb2EiLCAiaGFuZGxlX3Bvc3Np
Ymx5X2luY29tcGxldGVfZGF0ZSIgKSApewoJCQkkYWRlID0gJHJlcG8tPmNhbGwoIFsgImhlZmNl
X29hIiwgImhhbmRsZV9wb3NzaWJseV9pbmNvbXBsZXRlX2RhdGUiIF0sICRhLT52YWx1ZSggJ2Rh
dGVfZW1iYXJnbycgKSApIGlmICRhLT5pc19zZXQoICdkYXRlX2VtYmFyZ28nKTsgCgkJCSRiZGUg
PSAkcmVwby0+Y2FsbCggWyAiaGVmY2Vfb2EiLCAiaGFuZGxlX3Bvc3NpYmx5X2luY29tcGxldGVf
ZGF0ZSIgXSwgJGItPnZhbHVlKCAnZGF0ZV9lbWJhcmdvJyApICkgaWYgJGItPmlzX3NldCggJ2Rh
dGVfZW1iYXJnbycpOyAKCQl9CgoKCQkJIyBwdWJsaWMgaXMgYmVzdC4gTkIgQ2FuJ3QgdXNlICRk
b2MtPmlzX3B1YmxpYyBoZXJlLCBpcyBpdCBjaGVja3MgRVByaW50IGlzIGluICdhcmNoaXZlJyB0
b28uCgkJKCRiLT5pc19zZXQoICJzZWN1cml0eSIgKSAmJiAkYi0+dmFsdWUoICJzZWN1cml0eSIg
KSBlcSAicHVibGljIiApIAoJCQk8PT4gKCRhLT5pc19zZXQoICJzZWN1cml0eSIgKSAmJiAkYS0+
dmFsdWUoICJzZWN1cml0eSIgKSBlcSAicHVibGljIiApIG9yCgkJCSMgc29tZXRoaW5nIG5vdCBw
dWJsaWMsIGJ1dCB3aXRoIGFuIGVtYmFyZ28gc2V0IGlzIGJldHRlciB0aGFuIGEgcGVybWFuZW50
bHkgZW1iYXJnb2VkIGl0ZW0KCQkJIyBhZ2Fpbiwgd2l0aCAkYSBhbmQgJGIgc3dhcHBlZCBhcyBp
c19zZXQgcmV0dXJucyAxIG9yIDAuCgkJJGItPmlzX3NldCggImRhdGVfZW1iYXJnbyIgKSA8PT4g
JGEtPmlzX3NldCggImRhdGVfZW1iYXJnbyIgKSAgb3IKCQkJIyBUaGUgZW1iYXJnbyBkYXRlIHdp
bGwgYm90aCBiZSBzZXQsIG9yIGJvdGggYmUgdW5kZWYgaGVyZS4KCQkJIyBJZiBib3RoIGFyZSB1
bmRlZiwgJGFkZSBhbmQgJGJkZSB3aWxsIGJlIGVxdWFsIAoJCQkjIFdoYXQgaGFzIHRoZSBzaG9y
dGVzdCBlbWJhcmdvPwoJCSRhZGUgPD0+ICRiZGUgb3IKICAgICAgICAgICAgICAgICRwcmVmeyRh
LT52YWx1ZSggImNvbnRlbnQiICl9IDw9PiAkcHJlZnskYi0+dmFsdWUoICJjb250ZW50IiApfSAK
CQkKICAgICAgICB9IEBwb3NzaWJsZV9kb2NzOwoKCXJldHVybiAkcG9zc2libGVfZG9jc1swXTsK
fTsKCiRjLT57aGVmY2Vfb2F9LT57aGFuZGxlX3Bvc3NpYmx5X2luY29tcGxldGVfZGF0ZX0gPSBz
dWIgewoJIyByZXR1cm5zIGEgVGltZTo6UGllY2Ugb2JqZWN0IG9yIHVuZGVmLgoJIwoJIyAkZXBk
YXRlIGlzIHZhbHVlIGZyb20gRVByaW50cyBEYXRhT2JqIGZpZWxkLiAKCSMgc2V0dGluZyAkZGVm
YXVsdF90b19zdGFydF9vZl9wZXJpb2QgPSAxIHdpbGwgcmV0dXJuIHRoZSAxc3Qgb2YgdGhlIG1v
bnRoL3llYXIgZm9yIGluY29tcGxldGUgZGF0ZXMgcmF0aGVyIHRoYW4gdGhlIGVuZC4KCW15KCAk
ZXBkYXRlLCAkZGVmYXVsdF90b19zdGFydF9vZl9wZXJpb2QgKSA9IEBfOwoJcmV0dXJuIHVuZGVm
IGlmICFkZWZpbmVkICRlcGRhdGU7CgoJJGRlZmF1bHRfdG9fc3RhcnRfb2ZfcGVyaW9kIHx8PSAw
OwoJIyBjb21wbGV0ZSBkYXRlIC0gcmV0dXJuIFRpbWU6OlBpZWNlIG9iamVjdAoJaWYoICRlcGRh
dGUgPX4gL14wKihcZHsyfXxcZHs0fSlcLShcZHsyfSlcLShcZHsyfSkvICkKICAgICAgICB7CiAg
ICAgICAgICAgICAgICBpZiggbGVuZ3RoKCQxKSA9PSAyKQogICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gVGltZTo6UGllY2UtPnN0cnB0aW1lKCAiJDEtJDIt
JDMiLCAiJXktJW0tJWQiICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNp
ZiggbGVuZ3RoKCQxKSA9PSA0ICYmICQxID49IDE5MDAgKQogICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gVGltZTo6UGllY2UtPnN0cnB0aW1lKCAiJDEtJDIt
JDMiLCAiJVktJW0tJWQiICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQoKCWlmKCAkZXBk
YXRlID1+IC9eKFxkezR9KVwtXGR7Mn0kLyApCgl7CgkJaWYoICQxID49IDE5MDAgKQoJCXsKCQkJ
bXkgJHRwID0gVGltZTo6UGllY2UtPnN0cnB0aW1lKCAkZXBkYXRlLCAiJVktJW0iICk7ICNkZWZh
dWx0cyB0byBzdGFydCBvZiBtb250aAoJCQlyZXR1cm4gJHRwIGlmICRkZWZhdWx0X3RvX3N0YXJ0
X29mX3BlcmlvZDsKCgkJCSMgbG9va3MgbGlrZSB0aGVyZSdzIG5vIHdheSB0byAkdHAtPnNldF9k
YXkoICR0cC0+bW9udGhfbGFzdC1kYXkgKS4gCgkJCSMgSSB0aGluayB0aGlzIGlzIHRoZSBsZWFz
dC1zaWxseSBvcHRpb24uIT8KCQkJcmV0dXJuIFRpbWU6OlBpZWNlLT5zdHJwdGltZSggIiRlcGRh
dGUtIi4kdHAtPm1vbnRoX2xhc3RfZGF5LCAiJVktJW0tJWQiICk7CgkJfQoJfQoJIyBvbmx5IHll
YXIgc3VwcGxpZWQgLSBkZWZhdWx0IHRvIHN0YXJ0IG9yIGVuZCBvZiB5ZWFyIGFzIGZsYWdnZWQK
CXJldHVybiBUaW1lOjpQaWVjZS0+c3RycHRpbWUoICIkZXBkYXRlLTAxLTAxIiwgIiVZLSVtLSVk
IiApIGlmICRlcGRhdGUgPX4gL15cZHs0fSQvICYmICRkZWZhdWx0X3RvX3N0YXJ0X29mX3Blcmlv
ZCAmJiAkZXBkYXRlID49IDE5MDA7CglyZXR1cm4gVGltZTo6UGllY2UtPnN0cnB0aW1lKCAiJGVw
ZGF0ZS0xMi0zMSIsICIlWS0lbS0lZCIgKSBpZiAkZXBkYXRlID1+IC9eXGR7NH0kLyAmJiAkZXBk
YXRlID49IDE5MDA7CglyZXR1cm4gdW5kZWY7Cgp9OwoKJGMtPntoZWZjZV9vYX0tPntjYWxjdWxh
dGVfbGFzdF9jb21wbGlhbnRfZm9hX2RhdGV9ID0gc3ViIHsKICAgIG15KCAkcmVwbywgJGVwcmlu
dCApID0gQF87CgogICAgbXkgJGxlbiA9ICRlcHJpbnQtPnZhbHVlKCAiaG9hX2VtYl9sZW4iICkg
fHwgMDsKCiAgICAjICRsZW4gd2lsbCBiZSB0ZXN0ZWQgdG8gc2VlIHdoZXRoZXIgaXQgaXMgYSBj
b21wbGlhbnQgbnVtYmVyIG9mIG1vbnRocyBpbiBBQ0NfRU1CQVJHTwogICAgaWYoICRsZW4gPiAw
ICApCiAgICB7CiAgICAgICAgI25lZWQgcHViIGRhdGUgdG8gY2FsY3VsYXRlIGVtYmFyZ28gcmVs
ZWFzZSBkYXRlCiAgICAgICAgcmV0dXJuIHVuZGVmIHVubGVzcyAkZXByaW50LT5pc19zZXQoICJo
b2FfZGF0ZV9wdWIiICk7CgogICAgICAgIG15ICRwdWIgPSAkcmVwby0+Y2FsbChbImhlZmNlX29h
IiwgImhhbmRsZV9wb3NzaWJseV9pbmNvbXBsZXRlX2RhdGUiXSwgJGVwcmludC0+dmFsdWUoICJo
b2FfZGF0ZV9wdWIiICksICJZLSVtLSVkIiApOwogICAgICAgIG15ICRlbmQgPSAkcHViLT5hZGRf
bW9udGhzKCAkbGVuICk7ICMgZW1iYXJnbyBlbmQKICAgICAgICAkZW5kID0gJGVuZC0+YWRkX21v
bnRocyggMSApOyAjMS1tb250aCBncmFjZSBwZXJpb2QKICAgICAgICByZXR1cm4gJGVuZDsKICAg
IH0KICAgIGVsc2lmKCAkZXByaW50LT5pc19zZXQoICJob2FfcHJlX3B1YiIgKSAmJiAkZXByaW50
LT52YWx1ZSggImhvYV9wcmVfcHViIiApIGVxICJUUlVFIiApCiAgICB7CiAgICAgICAgIyBwcmUg
cHVibGljYXRpb24gZW1iYXJnbyAtIGkuZS4gbm8gZW1iYXJnbyBoYXMgYmVlbiBzZXQgYnV0IHdl
IHdhbnQgdG8gYmFzZSB0aGlzIG9uIHB1Ymxpc2hlZCBkYXRlIG5vdCBmY2QgZGF0ZQogICAgICAg
IHJldHVybiB1bmRlZiB1bmxlc3MgJGVwcmludC0+aXNfc2V0KCAiaG9hX2RhdGVfcHViIiApOwoK
ICAgICAgICBteSAkcHViID0gJHJlcG8tPmNhbGwoWyJoZWZjZV9vYSIsICJoYW5kbGVfcG9zc2li
bHlfaW5jb21wbGV0ZV9kYXRlIl0sICRlcHJpbnQtPnZhbHVlKCAiaG9hX2RhdGVfcHViIiApLCAi
WS0lbS0lZCIgKTsKICAgICAgICBteSAkZW5kID0gJHB1Yi0+YWRkX21vbnRocyggJGxlbiApOyAj
IGVtYmFyZ28gZW5kCiAgICAgICAgJGVuZCA9ICRlbmQtPmFkZF9tb250aHMoIDEgKTsgIzEtbW9u
dGggZ3JhY2UgcGVyaW9kCiAgICAgICAgcmV0dXJuICRlbmQ7CiAgICB9CiAgICBlbHNlICMgbm8g
ZW1iYXJnbwogICAgewogICAgICAgIHJldHVybiB1bmRlZiB1bmxlc3MgJGVwcmludC0+aXNfc2V0
KCAiaG9hX2RhdGVfZmNkIiApOwoKICAgICAgICBteSAkZmNkID0gVGltZTo6UGllY2UtPnN0cnB0
aW1lKCAkZXByaW50LT52YWx1ZSggImhvYV9kYXRlX2ZjZCIgKSwgIiVZLSVtLSVkIiApOwoKICAg
ICAgICAjIG9hIHdpdGggb25lIG1vbnRoIG9mIGRlcG9zaXQKICAgICAgICBteSAkZW5kID0gJGZj
ZC0+YWRkX21vbnRocyggMSApOwogICAgICAgIHJldHVybiAkZW5kOwogICAgfQoKICAgICNyZXR1
cm5zIGlmIG5vIGxhc3QgZm9hIGRhdGUgY2FuIGJlIGNhbGN1bGF0ZWQKfTsK
</data>
</file>
<file>
<datasetid>document</datasetid>
<filename>cfg.d/hefce_oa_tests.pl</filename>
<mime_type>text/plain</mime_type>
<hash>9a1cbe37c737f108616d73afa938659f</hash>
<hash_type>MD5</hash_type>
<filesize>13741</filesize>
<data encoding='base64'>dXNlIEhlZmNlT0E6OkNvbnN0Owp1c2UgVGltZTo6UGllY2U7CnVzZSBUaW1lOjpTZWNvbmRzOwoK
JGMtPntoZWZjZV9vYX0tPntydW5fdGVzdH0gPSBzdWIgewogICAgbXkoICRyZXBvLCAkdGVzdCwg
JGVwcmludCwgJGZsYWcgKSA9IEBfOwoKICAgIGlmKCAkcmVwby0+Y2FuX2NhbGwoICJoZWZjZV9v
YSIsICJydW5fdGVzdF8kdGVzdCIgKSApCiAgICB7CiAgICAgICAgcmV0dXJuICRyZXBvLT5jYWxs
KCBbICJoZWZjZV9vYSIsICJydW5fdGVzdF8kdGVzdCIgXSwgJHJlcG8sICRlcHJpbnQsICRmbGFn
ICk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn07CgokYy0+e2hlZmNlX29hfS0+e3J1bl90ZXN0X0NP
TVBMSUFOVH0gPSBzdWIgewogICAgbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyApID0gQF87Cgog
ICAgaWYoICRyZXBvLT5jYW5fY2FsbCggImhlZmNlX29hIiwgInJ1bl90ZXN0X09VVF9PRl9TQ09Q
RSIgKSApCiAgICB7CiAgICAgICAgcmV0dXJuIDEgaWYoJHJlcG8tPmNhbGwoIFsgImhlZmNlX29h
IiwgInJ1bl90ZXN0X09VVF9PRl9TQ09QRSIgXSwgJHJlcG8sICRlcHJpbnQgKSk7CiAgICB9Cgog
ICAgcmV0dXJuIDEgaWYoICRlcHJpbnQtPmlzX3NldCggImhvYV9vdmVycmlkZSIgKSAmJiAkZXBy
aW50LT5nZXRfdmFsdWUoICJob2Ffb3ZlcnJpZGUiICkgZXEgIlRSVUUiICk7CgogICAgcmV0dXJu
IDEgaWYoICRlcHJpbnQtPmlzX3NldCggImhvYV9nb2xkIiApICYmICRlcHJpbnQtPmdldF92YWx1
ZSggImhvYV9nb2xkIiApIGVxICJUUlVFIiApOwoKICAgIHJldHVybiAxIGlmICRmbGFnICYgSGVm
Y2VPQTo6Q29uc3Q6OkVYX0RFUDsKCiAgICByZXR1cm4gMSBpZgogICAgICAgICRmbGFnICYgSGVm
Y2VPQTo6Q29uc3Q6OkVYX0FDQyAmJgogICAgICAgICRmbGFnICYgSGVmY2VPQTo6Q29uc3Q6OkRF
UCAmJgogICAgICAgICRmbGFnICYgSGVmY2VPQTo6Q29uc3Q6OkRJUzsKCiAgICByZXR1cm4gMSBp
ZiAkZmxhZyAmIEhlZmNlT0E6OkNvbnN0OjpFWF9URUM7CgogICAgcmV0dXJuIDEgaWYgJGZsYWcg
JiBIZWZjZU9BOjpDb25zdDo6RVhfRlVSOwoKICAgIHJldHVybiAxIGlmCiAgICAgICAgJGZsYWcg
JiBIZWZjZU9BOjpDb25zdDo6REVQICYmCiAgICAgICAgJGZsYWcgJiBIZWZjZU9BOjpDb25zdDo6
RElTICYmCiAgICAgICAgJGZsYWcgJiBIZWZjZU9BOjpDb25zdDo6QUNDOwoKICAgIHJldHVybiAw
Owp9OwoKJGMtPntoZWZjZV9vYX0tPntydW5fdGVzdF9ERVB9ID0gc3ViIHsKICAgIG15KCAkcmVw
bywgJGVwcmludCwgJGZsYWcgKSA9IEBfOwoKICAgIHJldHVybiAxIGlmCiAgICAgICAgJGZsYWcg
JiBIZWZjZU9BOjpDb25zdDo6REVQX0NPTVBMSUFOVCAmJgogICAgICAgICRmbGFnICYgSGVmY2VP
QTo6Q29uc3Q6OkRFUF9USU1JTkc7CgogICAgcmV0dXJuIDA7Cn07CgokYy0+e2hlZmNlX29hfS0+
e3J1bl90ZXN0X0RJU30gPSBzdWIgewogICAgbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyApID0g
QF87CgogICAgcmV0dXJuIDEgaWYgJGZsYWcgJiBIZWZjZU9BOjpDb25zdDo6RElTX0RJU0NPVkVS
QUJMRTsKCiAgICByZXR1cm4gMDsKfTsKCiRjLT57aGVmY2Vfb2F9LT57cnVuX3Rlc3RfQUNDfSA9
IHN1YiB7CiAgICBteSggJHJlcG8sICRlcHJpbnQsICRmbGFnICkgPSBAXzsKCiAgICByZXR1cm4g
MSBpZgogICAgICAgICRmbGFnICYgSGVmY2VPQTo6Q29uc3Q6OkFDQ19USU1JTkcgJiYKICAgICAg
ICAkZmxhZyAmIEhlZmNlT0E6OkNvbnN0OjpBQ0NfRU1CQVJHTzsKCiAgICByZXR1cm4gMDsKfTsK
CiRjLT57aGVmY2Vfb2F9LT57cnVuX3Rlc3RfRVhfREVQfSA9IHN1YiB7CiAgICBteSggJHJlcG8s
ICRlcHJpbnQsICRmbGFnICkgPSBAXzsKCiAgICByZXR1cm4gMSBpZiAkZXByaW50LT5pc19zZXQo
ICJob2FfZXhfZGVwIiApOwoKICAgIHJldHVybiAwOwp9OwoKJGMtPntoZWZjZV9vYX0tPntydW5f
dGVzdF9FWF9BQ0N9ID0gc3ViIHsKICAgIG15KCAkcmVwbywgJGVwcmludCwgJGZsYWcgKSA9IEBf
OwoKICAgIHJldHVybiAxIGlmICRlcHJpbnQtPmlzX3NldCggImhvYV9leF9hY2MiICk7CgogICAg
cmV0dXJuIDA7Cn07CgokYy0+e2hlZmNlX29hfS0+e3J1bl90ZXN0X0VYX1RFQ30gPSBzdWIgewog
ICAgbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyApID0gQF87CgogICAgcmV0dXJuIDEgaWYgJGVw
cmludC0+aXNfc2V0KCAiaG9hX2V4X3RlYyIgKTsKCiAgICByZXR1cm4gMDsKfTsKCiRjLT57aGVm
Y2Vfb2F9LT57cnVuX3Rlc3RfRVhfRlVSfSA9IHN1YiB7CiAgICBteSggJHJlcG8sICRlcHJpbnQs
ICRmbGFnICkgPSBAXzsKCiAgICByZXR1cm4gMSBpZiAkZXByaW50LT5pc19zZXQoICJob2FfZXhf
ZnVyIiApOwoKICAgIHJldHVybiAwOwp9OwoKCiMkYy0+e2hlZmNlX29hfS0+e3J1bl90ZXN0X0VY
X09USH0gPSBzdWIgewojICAgIG15KCAkcmVwbywgJGVwcmludCwgJGZsYWcgKSA9IEBfOwojCiMg
ICAgcmV0dXJuIDEgaWYgJGVwcmludC0+aXNfc2V0KCAiaG9hX2V4X290aCIgKTsKIwojICAgIHJl
dHVybiAwOwojfTsKCiRjLT57aGVmY2Vfb2F9LT57cnVuX3Rlc3RfREVQX1RJTUlOR30gPSBzdWIg
ewoJbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyApID0gQF87CgoJcmV0dXJuIDAgdW5sZXNzICRl
cHJpbnQtPmlzX3NldCggImhvYV9kYXRlX2ZjZCIgKTsKCQoJbXkgJGRlcCA9IFRpbWU6OlBpZWNl
LT5zdHJwdGltZSggJGVwcmludC0+dmFsdWUoICJob2FfZGF0ZV9mY2QiICksICIlWS0lbS0lZCIg
KTsKCW15ICRBUFIxOCA9IFRpbWU6OlBpZWNlLT5zdHJwdGltZSggIjIwMTgtMDQtMDEiLCAiJVkt
JW0tJWQiICk7CgoJIyBjaGVja3MgYmFzZWQgb24gZGF0ZSBvZiBhY2NlcHRhbmNlIChpZiBzZXQp
CglpZiggJGVwcmludC0+aXNfc2V0KCAiaG9hX2RhdGVfYWNjIiApICkKCXsKCQlteSAkYWNjOwoJ
CWlmKCAkcmVwby0+Y2FuX2NhbGwoICJoZWZjZV9vYSIsICJoYW5kbGVfcG9zc2libHlfaW5jb21w
bGV0ZV9kYXRlIiApICkKCQl7CgkJCSRhY2MgPSAkcmVwby0+Y2FsbCggWyAiaGVmY2Vfb2EiLCAi
aGFuZGxlX3Bvc3NpYmx5X2luY29tcGxldGVfZGF0ZSIgXSwgJGVwcmludC0+dmFsdWUoICJob2Ff
ZGF0ZV9hY2MiICkgKTsKCQl9CgkJaWYoICFkZWZpbmVkKCAkYWNjICkgKSAjYWJvdmUgY2FsbCBj
YW4gcmV0dXJuIHVuZGVmIC0gZmFsbGJhY2sgdG8gZGVmYXVsdAoJCXsKCQkJJGFjYyA9IFRpbWU6
OlBpZWNlLT5zdHJwdGltZSggJGVwcmludC0+dmFsdWUoICJob2FfZGF0ZV9hY2MiICksICIlWS0l
bS0lZCIgKTsKCQl9CgkKCQkjIGRlcG9zaXQgaXMgd2l0aGluIDMgIG1vbnRocyBvZiBhY2NlcHRh
bmNlCgkJcmV0dXJuIDEgaWYgJGRlcCA8PSAkYWNjLT5hZGRfbW9udGhzKDMpOyAKCgkJI2ZvciBw
cmUtQXByaWwgJzE4LCBiYXNlIGNhbGN1bGF0aW9uIG9uIHB1YiBkYXRlCgkJaWYoICRhY2MgPCAk
QVBSMTggJiYgJGVwcmludC0+aXNfc2V0KCAiaG9hX2RhdGVfcHViIiApICkKCQl7CgkJCW15ICRw
dWI7CgkJCWlmKCAkcmVwby0+Y2FuX2NhbGwoICJoZWZjZV9vYSIsICJoYW5kbGVfcG9zc2libHlf
aW5jb21wbGV0ZV9kYXRlIiApICkKCQkJewoJCQkJJHB1YiA9ICRyZXBvLT5jYWxsKCBbICJoZWZj
ZV9vYSIsICJoYW5kbGVfcG9zc2libHlfaW5jb21wbGV0ZV9kYXRlIiBdLCAkZXByaW50LT52YWx1
ZSggImhvYV9kYXRlX3B1YiIgKSApOwoJCQl9CgkJCWlmKCAhZGVmaW5lZCggJHB1YiApICkgI2Fi
b3ZlIGNhbGwgY2FuIHJldHVybiB1bmRlZiAtIGZhbGxiYWNrIHRvIGRlZmF1bHQKCQkJewoJCQkJ
JHB1YiA9IFRpbWU6OlBpZWNlLT5zdHJwdGltZSggJGVwcmludC0+dmFsdWUoICJob2FfZGF0ZV9w
dWIiICksICIlWS0lbS0lZCIgKTsKCQkJfQoJCQlyZXR1cm4gMSBpZiAkZGVwIDw9ICRwdWItPmFk
ZF9tb250aHMoMyk7CgkJfQoJCQoJfQoJZWxzaWYoICRlcHJpbnQtPmlzX3NldCggImhvYV9kYXRl
X3B1YiIgKSApCgl7CgkJbXkgJHB1YjsKCQlpZiggJHJlcG8tPmNhbl9jYWxsKCAiaGVmY2Vfb2Ei
LCAiaGFuZGxlX3Bvc3NpYmx5X2luY29tcGxldGVfZGF0ZSIgKSApCgkJewoJCQkkcHViID0gJHJl
cG8tPmNhbGwoIFsgImhlZmNlX29hIiwgImhhbmRsZV9wb3NzaWJseV9pbmNvbXBsZXRlX2RhdGUi
IF0sICRlcHJpbnQtPnZhbHVlKCAiaG9hX2RhdGVfcHViIiApICk7CgkJfQoJCWlmKCAhZGVmaW5l
ZCggJHB1YiApICkgI2Fib3ZlIGNhbGwgY2FuIHJldHVybiB1bmRlZiAtIGZhbGxiYWNrIHRvIGRl
ZmF1bHQKCQl7CgkJCSRwdWIgPSBUaW1lOjpQaWVjZS0+c3RycHRpbWUoICRlcHJpbnQtPnZhbHVl
KCAiaG9hX2RhdGVfcHViIiApLCAiJVktJW0tJWQiICk7CgkJfQoJCQoJCSNpZiBwdWJsaXNoZWQg
ZGF0ZSBpcyBiZWZvcmUgMjAxOC0wNC0wMSwgYWNjZXB0YW5jZSBkYXRlIG11c3QgYmUgdG9vLgoJ
CSMgTkIgd2UgbWF5IG5lZWQgdG8gaW50cm9kdWNlIGEgbGFnIGhlcmUgLSBpZiBpdCBub3JtYWxs
eSB0YWtlcyBhIG1vbnRoIHRvIGdldCBzb21ldGhpbmcgcHVibGlzaGVkLAoJCSMgd2UgbWF5IG5l
ZWQgdG8gY2hlY2sgZm9yICdBUFIxOCArIDEgbW9udGgnCgkJaWYoICRwdWIgPCAkQVBSMTggKQoJ
CXsKCQkJcmV0dXJuIDEgaWYgJGRlcCA8PSAkcHViLT5hZGRfbW9udGhzKDMpOwoJCX0KCX0KCgly
ZXR1cm4gMDsKfTsKCiRjLT57aGVmY2Vfb2F9LT57cnVuX3Rlc3RfREVQX0NPTVBMSUFOVH0gPSBz
dWIgewoJbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyApID0gQF87CgoJcmV0dXJuICRlcHJpbnQt
PmlzX3NldCggImhvYV9kYXRlX2ZjZCIgKTsKfTsKCiRjLT57aGVmY2Vfb2F9LT57cnVuX3Rlc3Rf
RElTX0RJU0NPVkVSQUJMRX0gPSBzdWIgewogICAgbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyAp
ID0gQF87CgogICAgcmV0dXJuIDEgaWYgJGVwcmludC0+dmFsdWUoICJlcHJpbnRfc3RhdHVzIiAp
IGVxICJhcmNoaXZlIjsKCiAgICByZXR1cm4gMDsKfTsKCiRjLT57aGVmY2Vfb2F9LT57cnVuX3Rl
c3RfQUNDX1RJTUlOR30gPSBzdWIgewogICAgbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyApID0g
QF87CgogICAgbXkgJGxlbiA9ICRlcHJpbnQtPnZhbHVlKCAiaG9hX2VtYl9sZW4iICkgfHwgMDsK
CiAgICBpZiggJGxlbiA+IDAgICkKICAgIHsKICAgICAgICAjIHdlIG5lZWQgYSBwdWJsaWNhdGlv
biBkYXRlIHRvIHdvcmsgb3V0IHdoZW4gb3VyIGVtYmFyZ28gZW5kcwogICAgICAgIHJldHVybiAw
IHVubGVzcyAkZXByaW50LT5pc19zZXQoICJob2FfZGF0ZV9wdWIiICk7CiAgICAgICAgbXkgJHB1
YjsKICAgICAgICBpZiggJHJlcG8tPmNhbl9jYWxsKCAiaGVmY2Vfb2EiLCAiaGFuZGxlX3Bvc3Np
Ymx5X2luY29tcGxldGVfZGF0ZSIgKSApCiAgICAgICAgewogICAgICAgICAgICAkcHViID0gJHJl
cG8tPmNhbGwoIFsgImhlZmNlX29hIiwgImhhbmRsZV9wb3NzaWJseV9pbmNvbXBsZXRlX2RhdGUi
IF0sICRlcHJpbnQtPnZhbHVlKCAiaG9hX2RhdGVfcHViIiApICk7CiAgICAgICAgfQogICAgICAg
IGlmKCAhZGVmaW5lZCggJHB1YiApICkgI2Fib3ZlIGNhbGwgY2FuIHJldHVybiB1bmRlZiAtIGZh
bGxiYWNrIHRvIGRlZmF1bHQKICAgICAgICB7CiAgICAgICAgICAgICRwdWIgPSBUaW1lOjpQaWVj
ZS0+c3RycHRpbWUoICRlcHJpbnQtPnZhbHVlKCAiaG9hX2RhdGVfcHViIiApLCAiJVktJW0tJWQi
ICk7CiAgICAgICAgfQoKICAgICAgICBteSAkZW5kID0gJHB1Yi0+YWRkX21vbnRocyggJGxlbiAp
OyAjIGVtYmFyZ28gZW5kCgogICAgICAgICMgZW1hYmFyZ29lcyB0aGF0IGVuZCBhdC9hZnRlciB0
aGUgc3VibWlzc2lvbiBkZWFkbGluZSBhcmUgY29tcGxpYW50CiAgICAgICAgIyBERUFETElORSBU
TyBCRSBDT05GSVJNRUQgQlVUIFdJTEwgQkUgQkVGT1JFIDIwMjgKICAgICAgICBteSAkREVBRExJ
TkUgPSBUaW1lOjpQaWVjZS0+c3RycHRpbWUoICIyMDI4LTAxLTAxIiwgIiVZLSVtLSVkIiApOwog
ICAgICAgIGlmKCAkZW5kID49ICRERUFETElORSApCiAgICAgICAgewogICAgICAgICAgICByZXR1
cm4gMTsKICAgICAgICB9CgogICAgICAgICMgd2Ugbm93IG5lZWQgYSBmaXJzdCBvcGVuIGFjY2Vz
cyBkYXRlIHRvIHNlZSBpZiB0aGlzIGhhcHBlbmVkIGluIHRpbWUgd2l0aCByZXNwZWN0IHRvIHRo
ZSBlbWJhcmdvCiAgICAgICAgcmV0dXJuIDAgdW5sZXNzICRlcHJpbnQtPmlzX3NldCggImhvYV9k
YXRlX2ZvYSIgKTsKCiAgICAgICAgbXkgJGZvYSA9IFRpbWU6OlBpZWNlLT5zdHJwdGltZSggJGVw
cmludC0+dmFsdWUoICJob2FfZGF0ZV9mb2EiICksICIlWS0lbS0lZCIgKTsKCiAgICAgICAgIyBv
YSB3aXRoaW4gb25lIG1vbnRoIG9mIGVtYmFyZ28gZW5kCiAgICAgICAgcmV0dXJuIDEgaWYgJGZv
YSA8PSAkZW5kLT5hZGRfbW9udGhzKCAxICk7CiAgICB9CiAgICBlbHNpZiggJGVwcmludC0+aXNf
c2V0KCAiaG9hX3ByZV9wdWIiICkgJiYgJGVwcmludC0+dmFsdWUoICJob2FfcHJlX3B1YiIgKSBl
cSAiVFJVRSIgKSAKICAgIHsKICAgICAgICAjIHByZSBwdWJsaWNhdGlvbiBlbWJhcmdvIC0gaSAu
ZS4gbm8gZW1iYXJnbyBoYXMgYmVlbiBzZXQgYnV0IHdlIHdhbnQgdG8gYmFzZSB0aGlzIHRlc3Qg
b24gdGhlIHB1Ymxpc2hlZCBkYXRlLCBub3QgZmNkIGRhdGUKICAgICAgICAKICAgICAgICByZXR1
cm4gMCB1bmxlc3MgJGVwcmludC0+aXNfc2V0KCAiaG9hX2RhdGVfcHViIiApOwogICAgICAgIG15
ICRwdWI7CiAgICAgICAgaWYoICRyZXBvLT5jYW5fY2FsbCggImhlZmNlX29hIiwgImhhbmRsZV9w
b3NzaWJseV9pbmNvbXBsZXRlX2RhdGUiICkgKQogICAgICAgIHsKICAgICAgICAgICAgJHB1YiA9
ICRyZXBvLT5jYWxsKCBbICJoZWZjZV9vYSIsICJoYW5kbGVfcG9zc2libHlfaW5jb21wbGV0ZV9k
YXRlIiBdLCAkZXByaW50LT52YWx1ZSggImhvYV9kYXRlX3B1YiIgKSApOwogICAgICAgIH0KICAg
ICAgICBpZiggIWRlZmluZWQoICRwdWIgKSApICNhYm92ZSBjYWxsIGNhbiByZXR1cm4gdW5kZWYg
LSBmYWxsYmFjayB0byBkZWZhdWx0CiAgICAgICAgewogICAgICAgICAgICAkcHViID0gVGltZTo6
UGllY2UtPnN0cnB0aW1lKCAkZXByaW50LT52YWx1ZSggImhvYV9kYXRlX3B1YiIgKSwgIiVZLSVt
LSVkIiApOwogICAgICAgIH0KCiAgICAgICAgbXkgJGVuZCA9ICRwdWItPmFkZF9tb250aHMoIDEg
KTsgIyBlbWJhcmdvIGVuZAoKICAgICAgICAjIGVtYWJhcmdvZXMgdGhhdCBlbmQgYXQvYWZ0ZXIg
dGhlIHN1Ym1pc3Npb24gZGVhZGxpbmUgYXJlIGNvbXBsaWFudAogICAgICAgICMgREVBRExJTkUg
VE8gQkUgQ09ORklSTUVEIEJVVCBXSUxMIEJFIEJFRk9SRSAyMDI4CiAgICAgICAgbXkgJERFQURM
SU5FID0gVGltZTo6UGllY2UtPnN0cnB0aW1lKCAiMjAyOC0wMS0wMSIsICIlWS0lbS0lZCIgKTsK
ICAgICAgICBpZiggJGVuZCA+PSAkREVBRExJTkUgKQogICAgICAgIHsKICAgICAgICAgICAgcmV0
dXJuIDE7CiAgICAgICAgfQoKICAgICAgICAjIHdlIG5vdyBuZWVkIGEgZmlyc3Qgb3BlbiBhY2Nl
c3MgZGF0ZSB0byBzZWUgaWYgdGhpcyBoYXBwZW5lZCBpbiB0aW1lIHdpdGggcmVzcGVjdCB0byB0
aGUgZW1iYXJnbwogICAgICAgIHJldHVybiAwIHVubGVzcyAkZXByaW50LT5pc19zZXQoICJob2Ff
ZGF0ZV9mb2EiICk7CgogICAgICAgIG15ICRmb2EgPSBUaW1lOjpQaWVjZS0+c3RycHRpbWUoICRl
cHJpbnQtPnZhbHVlKCAiaG9hX2RhdGVfZm9hIiApLCAiJVktJW0tJWQiICk7CgogICAgICAgICMg
b2Egd2l0aGluIG9uZSBtb250aCBvZiBlbWJhcmdvIGVuZAogICAgICAgIHJldHVybiAxIGlmICRm
b2EgPD0gJGVuZC0+YWRkX21vbnRocyggMSApOwogICAgfQogICAgZWxzZSAjIG5vIGVtYmFyZ28K
ICAgIHsKICAgICAgICByZXR1cm4gMCB1bmxlc3MgJGVwcmludC0+aXNfc2V0KCAiaG9hX2RhdGVf
ZmNkIiApICYmICRlcHJpbnQtPmlzX3NldCggImhvYV9kYXRlX2ZvYSIgKTsKCiAgICAgICAgbXkg
JGZjZCA9IFRpbWU6OlBpZWNlLT5zdHJwdGltZSggJGVwcmludC0+dmFsdWUoICJob2FfZGF0ZV9m
Y2QiICksICIlWS0lbS0lZCIgKTsKICAgICAgICBteSAkZm9hID0gVGltZTo6UGllY2UtPnN0cnB0
aW1lKCAkZXByaW50LT52YWx1ZSggImhvYV9kYXRlX2ZvYSIgKSwgIiVZLSVtLSVkIiApOwoKICAg
ICAgICAjIG9hIHdpdGggb25lIG1vbnRoIG9mIGRlcG9zaXQKICAgICAgICByZXR1cm4gMSBpZiAk
Zm9hIDw9ICRmY2QtPmFkZF9tb250aHMoIDEgKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfTsKCiRj
LT57aGVmY2Vfb2F9LT57cnVuX3Rlc3RfQUNDX0VNQkFSR099ID0gc3ViIHsKCW15KCAkcmVwbywg
JGVwcmludCwgJGZsYWcgKSA9IEBfOwoKCW15ICRsZW4gPSAkZXByaW50LT52YWx1ZSggImhvYV9l
bWJfbGVuIiApIHx8IDA7CgoJbXkgJHBhbiA9ICRlcHJpbnQtPnZhbHVlKCAiaG9hX3JlZl9wYW4i
ICk7CglpZiggIWRlZmluZWQgJHBhbiAmJiAkcmVwby0+Y2FuX2NhbGwoICdoZWZjZV9vYScsICdk
ZWR1Y2VfcGFuZWwnICkgKQoJewoJCSRwYW4gPSAkcmVwby0+Y2FsbCggWyAnaGVmY2Vfb2EnLCAn
ZGVkdWNlX3BhbmVsJyBdLCAkZXByaW50ICk7Cgl9CgoJbXkgJG1heCA9ICggZGVmaW5lZCAkcGFu
ICYmICRwYW4gZXEgIkFCIiApID8gMTIgOiAyNDsKCglyZXR1cm4gMSB1bmxlc3MgJGxlbiA+ICRt
YXg7CgoJcmV0dXJuIDA7Cn07CgokYy0+e2hlZmNlX29hfS0+e3J1bl90ZXN0X0VYfSA9IHN1YiB7
CiAgICBteSggJHJlcG8sICRlcHJpbnQsICRmbGFnICkgPSBAXzsKCiAgICByZXR1cm4gMSBpZgog
ICAgICAgICRmbGFnICYgSGVmY2VPQTo6Q29uc3Q6OkVYX0RFUCB8fAogICAgICAgICRmbGFnICYg
SGVmY2VPQTo6Q29uc3Q6OkVYX0FDQyB8fAogICAgICAgICRmbGFnICYgSGVmY2VPQTo6Q29uc3Q6
OkVYX1RFQyB8fAogICAgICAgICRmbGFnICYgSGVmY2VPQTo6Q29uc3Q6OkVYX0ZVUjsKCiAgICBy
ZXR1cm4gMDsKfTsKCiRjLT57aGVmY2Vfb2F9LT57Y291bGRfYmVjb21lX0FDQ19USU1JTkdfY29t
cGxpYW50fSA9IHN1YiB7CiAgICBteSggJHJlcG8sICRlcHJpbnQgKSA9IEBfOwoKICAgIG15ICRs
YXN0X2NvbXBsaWFudF9kYXRlID0gJHJlcG8tPmNhbGwoIFsgImhlZmNlX29hIiwgImNhbGN1bGF0
ZV9sYXN0X2NvbXBsaWFudF9mb2FfZGF0ZSIgXSwgJHJlcG8sICRlcHJpbnQgKTsKICAgIHJldHVy
biAxIGlmKCAkbGFzdF9jb21wbGlhbnRfZGF0ZSAmJiAoIGxvY2FsdGltZSgpIDw9ICRsYXN0X2Nv
bXBsaWFudF9kYXRlICkgKTsKCiAgICByZXR1cm4gMDsKfTsKCiRjLT57aGVmY2Vfb2F9LT57T1VU
X09GX1NDT1BFX3JlYXNvbn0gPSBzdWIgewoKICAgIG15KCAkcmVwbywgJGVwcmludCApID0gQF87
CgogICAgbXkgJEFQUjE2ID0gVGltZTo6UGllY2UtPnN0cnB0aW1lKCAiMjAxNi0wNC0wMSIsICIl
WS0lbS0lZCIgKTsKICAgIG15ICRBUFIyMSA9IFRpbWU6OlBpZWNlLT5zdHJwdGltZSggIjIwMjEt
MDQtMDEiLCAiJVktJW0tJWQiICk7CgogICAgIyBjaGVja3MgYmFzZWQgb24gZGF0ZSBvZiBhY2Nl
cHRhbmNlIChpZiBzZXQpCiAgICBpZiggJGVwcmludC0+aXNfc2V0KCAiaG9hX2RhdGVfYWNjIiAp
ICkKICAgIHsKICAgICAgICBteSAkYWNjOwogICAgICAgIGlmKCAkcmVwby0+Y2FuX2NhbGwoICJo
ZWZjZV9vYSIsICJoYW5kbGVfcG9zc2libHlfaW5jb21wbGV0ZV9kYXRlIiApICkKICAgICAgICB7
CiAgICAgICAgICAgICRhY2MgPSAkcmVwby0+Y2FsbCggWyAiaGVmY2Vfb2EiLCAiaGFuZGxlX3Bv
c3NpYmx5X2luY29tcGxldGVfZGF0ZSIgXSwgJGVwcmludC0+dmFsdWUoICJob2FfZGF0ZV9hY2Mi
ICkgKTsKICAgICAgICB9CiAgICAgICAgaWYoICFkZWZpbmVkKCAkYWNjICkgKSAjYWJvdmUgY2Fs
bCBjYW4gcmV0dXJuIHVuZGVmIC0gZmFsbGJhY2sgdG8gZGVmYXVsdAogICAgICAgIHsKICAgICAg
ICAgICAgJGFjYyA9IFRpbWU6OlBpZWNlLT5zdHJwdGltZSggJGVwcmludC0+dmFsdWUoICJob2Ff
ZGF0ZV9hY2MiICksICIlWS0lbS0lZCIgKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgIyBB
Y2NlcHRhbmNlIGlzIGJlZm9yZSAxc3QgQXByIDIwMTYsIGNvbXBsaWFudCBhcyBvdXQgb2YgT0Eg
cG9saWN5IHNjb3BlCiAgICAgICAgcmV0dXJuICIyMDE0X2FjYyIgaWYgJGFjYyA8ICRBUFIxNjsK
CiAgICAgICAgaWYoICEkcmVwby0+Y29uZmlnKCAiaGVmY2Vfb2EiLCAicmVmMjAyMV9zY29wZSIg
KSApCiAgICAgICAgewogICAgICAgICAgICAjIEFjY2VwdGFuY2UgaXMgYmVmb3JlIDFzdCBBcHIg
MjAyMSwgb3V0IG9mIHNjb3BlIG9mIDIwMjgKICAgICAgICAgICAgcmV0dXJuICIyMDIxX2FjYyIg
aWYgJGFjYyA8ICRBUFIyMTsKICAgICAgICB9CiAgICB9CgogICAgaWYoICRlcHJpbnQtPmlzX3Nl
dCggImhvYV9kYXRlX3B1YiIgKSApCiAgICB7CiAgICAgICAgbXkgJHB1YjsKICAgICAgICBpZigg
JHJlcG8tPmNhbl9jYWxsKCAiaGVmY2Vfb2EiLCAiaGFuZGxlX3Bvc3NpYmx5X2luY29tcGxldGVf
ZGF0ZSIgKSApCiAgICAgICAgewogICAgICAgICAgICAkcHViID0gJHJlcG8tPmNhbGwoIFsgImhl
ZmNlX29hIiwgImhhbmRsZV9wb3NzaWJseV9pbmNvbXBsZXRlX2RhdGUiIF0sICRlcHJpbnQtPnZh
bHVlKCAiaG9hX2RhdGVfcHViIiApICk7CiAgICAgICAgfQogICAgICAgIGlmKCAhZGVmaW5lZCgg
JHB1YiApICkgI2Fib3ZlIGNhbGwgY2FuIHJldHVybiB1bmRlZiAtIGZhbGxiYWNrIHRvIGRlZmF1
bHQKICAgICAgICB7CiAgICAgICAgICAgICRwdWIgPSBUaW1lOjpQaWVjZS0+c3RycHRpbWUoICRl
cHJpbnQtPnZhbHVlKCAiaG9hX2RhdGVfcHViIiApLCAiJVktJW0tJWQiICk7CiAgICAgICAgfQoK
ICAgICAgICAjIFB1Ymxpc2hlZCBiZWZvcmUgMXN0IEFwciAyMDE2LCBjb21wbGlhbnQgYXMgb3V0
IG9mIE9BIHBvbGljeSBzY29wZQogICAgICAgIHJldHVybiAiMjAxNF9wdWIiIGlmICRwdWIgPCAk
QVBSMTY7CgogICAgICAgIGlmKCAhJHJlcG8tPmNvbmZpZyggImhlZmNlX29hIiwgInJlZjIwMjFf
c2NvcGUiICkgKQogICAgICAgIHsKICAgICAgICAgICAgIyBQdWJsaXNoZWQgaXMgYmVmb3JlIDFz
dCBBcHIgMjAyMSwgb3V0IG9mIHNjb3BlIG9mIDIwMjgKICAgICAgICAgICAgcmV0dXJuICIyMDIx
X3B1YiIgaWYgJHB1YiA8ICRBUFIyMTsKICAgICAgICB9CiAgICB9CgogICAgaWYoIEVQcmludHM6
OlV0aWxzOjppc19zZXQoICRyZXBvLT5jb25maWcoICJoZWZjZV9vYSIsICJlbmZvcmNlX2lzc24i
ICkgKSAmJiAkcmVwby0+Y29uZmlnKCAiaGVmY2Vfb2EiLCAiZW5mb3JjZV9pc3NuIiApID09IDEg
JiYgISRlcHJpbnQtPmlzX3NldCggImlzc24iICkgKQogICAgewogICAgICAgIHJldHVybiAiaXNz
biI7CiAgICB9CgogICAgcmV0dXJuIDA7Cn07CgokYy0+e2hlZmNlX29hfS0+e3J1bl90ZXN0X09V
VF9PRl9TQ09QRX0gPSBzdWIgewoKICAgIG15KCAkcmVwbywgJGVwcmludCApID0gQF87CgogICAg
bXkgJG91dF9vZl9zY29wZSA9ICRyZXBvLT5jYWxsKCBbICJoZWZjZV9vYSIsICJPVVRfT0ZfU0NP
UEVfcmVhc29uIiBdLCAkcmVwbywgJGVwcmludCApOwogICAgaWYoICRvdXRfb2Zfc2NvcGUgKQog
ICAgewogICAgICAgIHJldHVybiAxOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHJldHVy
biAwOwogICAgfQp9OwoKJGMtPntoZWZjZV9vYX0tPntydW5fdGVzdF9BVURJVH0gPSBzdWIgewog
ICAgbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyApID0gQF87CgogICAgcmV0dXJuIDEgaWYKICAg
ICAgICAkZmxhZyAmIEhlZmNlT0E6OkNvbnN0OjpBVURfVVBfT0EgJiYKICAgICAgICAkZmxhZyAm
IEhlZmNlT0E6OkNvbnN0OjpBVURfVVBfVVJMOwoKICAgIHJldHVybiAwOwp9OwoKJGMtPntoZWZj
ZV9vYX0tPntydW5fdGVzdF9BVURfVVBfT0F9ID0gc3ViIHsKICAgIG15KCAkcmVwbywgJGVwcmlu
dCwgJGZsYWcgKSA9IEBfOwogICAgCiAgICAjIGdldCBhdWRpdCByZWNvcmQKICAgIG15ICRhdWRp
dF9kcyA9ICRyZXBvLT5kYXRhc2V0KCAiaGVmY2Vfb2FfYXVkaXQiICk7CiAgICBteSAkYXVkaXQg
PSAkYXVkaXRfZHMtPmRhdGFvYmpfY2xhc3MtPmdldF9hdWRpdF9yZWNvcmQoICRyZXBvLCAkZXBy
aW50ICk7CgogICAgcmV0dXJuIDAgdW5sZXNzIGRlZmluZWQgJGF1ZGl0OwogICAgcmV0dXJuIDAg
dW5sZXNzICRhdWRpdC0+aXNfc2V0KCAidXBfaXNfb2EiICk7CgogICAgaWYoICRhdWRpdC0+Z2V0
X3ZhbHVlKCAidXBfaXNfb2EiICkgZXEgIlRSVUUiICkKICAgIHsKICAgICAgICByZXR1cm4gMTsK
ICAgIH0KCiAgICByZXR1cm4gMDsKfTsKCiRjLT57aGVmY2Vfb2F9LT57cnVuX3Rlc3RfQVVEX1VQ
X1VSTH0gPSBzdWIgewogICAgbXkoICRyZXBvLCAkZXByaW50LCAkZmxhZyApID0gQF87CgogICAg
IyBnZXQgYXVkaXQgcmVjb3JkCiAgICBteSAkYXVkaXRfZHMgPSAkcmVwby0+ZGF0YXNldCggImhl
ZmNlX29hX2F1ZGl0IiApOwogICAgbXkgJGF1ZGl0ID0gJGF1ZGl0X2RzLT5kYXRhb2JqX2NsYXNz
LT5nZXRfYXVkaXRfcmVjb3JkKCAkcmVwbywgJGVwcmludCApOwoKICAgIHJldHVybiAwIHVubGVz
cyBkZWZpbmVkICRhdWRpdDsKICAgIHJldHVybiAxIGlmICRhdWRpdC0+aXNfc2V0KCAidXBfdXJs
X2Zvcl9wZGYiICk7CgogICAgcmV0dXJuIDA7Cn07CgokYy0+e2hlZmNlX29hfS0+e3J1bl90ZXN0
X0FVRF9DT1JFX0RBVEVTfSA9IHN1YiB7CiAgICBteSggJHJlcG8sICRlcHJpbnQsICRmbGFnICkg
PSBAXzsKCiAgICAjIGdldCBhdWRpdCByZWNvcmQKICAgIG15ICRhdWRpdF9kcyA9ICRyZXBvLT5k
YXRhc2V0KCAiaGVmY2Vfb2FfYXVkaXQiICk7CiAgICBteSAkYXVkaXQgPSAkYXVkaXRfZHMtPmRh
dGFvYmpfY2xhc3MtPmdldF9hdWRpdF9yZWNvcmQoICRyZXBvLCAkZXByaW50ICk7CgogICAgcmV0
dXJuIDAgdW5sZXNzIGRlZmluZWQgJGF1ZGl0OwogICAgcmV0dXJuIDAgdW5sZXNzICRhdWRpdC0+
aXNfc2V0KCAiY29yZV9zb3VyY2VzIiApOwoKICAgIGZvcmVhY2ggbXkgJGNzICggQHskYXVkaXQt
PmdldF92YWx1ZSggImNvcmVfc291cmNlcyIgKX0gKQogICAgewogICAgICAgIG5leHQgdW5sZXNz
IGRlZmluZWQgJGNzLT57ZGF0ZVB1Ymxpc2hlZH07CiAgICAgICAgbmV4dCB1bmxlc3MgZGVmaW5l
ZCAkY3MtPntkZXBvc2l0ZWREYXRlfTsKCiAgICAgICAgbXkgJGRwID0gJGNzLT57ZGF0ZVB1Ymxp
c2hlZH07CiAgICAgICAgbXkgJGRkID0gJGNzLT57ZGVwb3NpdGVkRGF0ZX07CiAgICAgICAgIyBk
YXRlUHVibGlzaGVkIGlzIGEgc3RyaW5nIGFuZCBjYW4gYmUgaW5jb21wbGV0ZSAob3RoZXJzIGFy
ZSB0aW1lc3RhbXBzKQogICAgICAgICMgSXQgd291bGQgYmUgYmV0dGVyIHRvIHVzZSBwdWJsaXNo
ZWREYXRlIHJhdGhlciB0aGFuIGRhdGVQdWJsaXNoZWQgYnV0IFJFIHNheSB1c2UgRFAKICAgICAg
ICBpZiggJHJlcG8tPmNhbl9jYWxsKCAiaGVmY2Vfb2EiLCAiaGFuZGxlX3Bvc3NpYmx5X2luY29t
cGxldGVfZGF0ZSIgKSApCiAgICAgICAgewogICAgICAgICAgICAkZHAgPSAkcmVwby0+Y2FsbCgg
WyAiaGVmY2Vfb2EiLCAiaGFuZGxlX3Bvc3NpYmx5X2luY29tcGxldGVfZGF0ZSIgXSwgJGRwICk7
CiAgICAgICAgfQoKICAgICAgICBteSAkZGVwID0gVGltZTo6UGllY2UtPnN0cnB0aW1lKCAkZGQs
ICIlWS0lbS0lZCIgKTsKICAgIAogICAgICAgIG15ICRkaWZmID0gJGRlcCAtICRkcDsKICAgICAg
ICBpZiggJGRpZmYtPmRheXMgPCA5MiApeyAjIG9uZSBvZiB0aGVtIHdhcyBkZXBvc2l0ZWQgaW4g
dGltZQogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7
Cn07Cg==
</data>
</file>
<file>
<datasetid>document</datasetid>
<filename>cfg.d/hefce_oa_triggers.pl</filename>
<mime_type>text/plain</mime_type>
<hash>3f8294101e54b5810afaec5aaae769a5</hash>
<hash_type>MD5</hash_type>
<filesize>4821</filesize>
<data encoding='base64'>I0RlZmluZSB3aGF0IHR5cGVzIG9mIGl0ZW1zIHdlJ3JlIGludGVyZXN0ZWQgaW4KJGMtPntoZWZj
ZV9vYX0tPntpdGVtX3R5cGVzfSA9IFsnYXJ0aWNsZScsICdjb25mZXJlbmNlX2l0ZW0nXTsKIyBE
ZWZpbmUgd2hpY2ggZG9jdW1lbnQgdmVyc2lvbnMgYXJlICdnb29kJwokYy0+e2hlZmNlX29hfS0+
e2RvY3VtZW50X2NvbnRlbnR9ID0gWydwdWJsaXNoZWQnLCAnYWNjZXB0ZWQnXTsKCiRjLT5hZGRf
ZGF0YXNldF90cmlnZ2VyKCAnZXByaW50JywgRVByaW50czo6Q29uc3Q6OkVQX1RSSUdHRVJfQkVG
T1JFX0NPTU1JVCwgc3ViCnsKICAgIG15KCAlYXJncyApID0gQF87CiAgICBteSggJHJlcG8sICRl
cHJpbnQsICRjaGFuZ2VkICkgPSBAYXJnc3txdyggcmVwb3NpdG9yeSBkYXRhb2JqIGNoYW5nZWQg
KX07CgogICAgcmV0dXJuIHVubGVzcyAkZXByaW50LT5kYXRhc2V0LT5oYXNfZmllbGQoICJob2Ff
ZXhjbHVkZSIgKTsKCiAgICBpZighJGVwcmludC0+aXNfc2V0KCdob2FfZXhjbHVkZScpKQogICAg
ewogICAgICAgICRlcHJpbnQtPnNldF92YWx1ZSgnaG9hX2V4Y2x1ZGUnLCAnRkFMU0UnKTsKICAg
IH0KCiAgICByZXR1cm4gRVBfVFJJR0dFUl9PSzsKCn0sIHByaW9yaXR5ID0+IDEwMCApOwoKIyBk
YXRlIG9mIGZpcnN0IGNvbXBsaWFudCBkZXBvc2l0CiRjLT5hZGRfZGF0YXNldF90cmlnZ2VyKCAn
ZXByaW50JywgRVByaW50czo6Q29uc3Q6OkVQX1RSSUdHRVJfQkVGT1JFX0NPTU1JVCwgc3ViCnsK
ICAgIG15KCAlYXJncyApID0gQF87IAogICAgbXkoICRyZXBvLCAkZXByaW50LCAkY2hhbmdlZCAp
ID0gQGFyZ3N7cXcoIHJlcG9zaXRvcnkgZGF0YW9iaiBjaGFuZ2VkICl9OwoKICAgICMgdHJpZ2dl
ciBvbmx5IGFwcGxpZXMgdG8gcmVwb3Mgd2l0aCBoZWZjZV9vYSBwbHVnaW4gZW5hYmxlZAogICAg
cmV0dXJuIHVubGVzcyAkZXByaW50LT5kYXRhc2V0LT5oYXNfZmllbGQoICJob2FfY29tcGxpYW50
IiApOwoKICAgIHJldHVybiBpZiAkZXByaW50LT5pc19zZXQoICJob2FfZGF0ZV9mY2QiICk7CiAg
ICByZXR1cm4gaWYgJGVwcmludC0+dmFsdWUoICJlcHJpbnRfc3RhdHVzIiApIGVxICJpbmJveCI7
CgogICAgZm9yKCAkZXByaW50LT5nZXRfYWxsX2RvY3VtZW50cyApCiAgICB7CiAgICAgICAgbmV4
dCB1bmxlc3MgJF8tPmlzX3NldCggImNvbnRlbnQiICk7CiAgICAgICAgbXkgJGNvbnRlbnQgPSAk
Xy0+dmFsdWUoICJjb250ZW50IiApOwogICAgICAgIG5leHQgdW5sZXNzIGdyZXAoIC9eJGNvbnRl
bnQkLywgQHskcmVwby0+Y29uZmlnKCAiaGVmY2Vfb2EiLCAiZG9jdW1lbnRfY29udGVudCIgKX0p
OwogICAgICAgICRlcHJpbnQtPnNldF92YWx1ZSggImhvYV9kYXRlX2ZjZCIsIGRlZmluZWQgJGNo
YW5nZWQtPnsnaG9hX2RhdGVfZmNkJ30gPyAkY2hhbmdlZC0+eydob2FfZGF0ZV9mY2QnfSA6IEVQ
cmludHM6OlRpbWU6OmdldF9pc29fZGF0ZSgpICk7ICMgaW4gdGhlIGV2ZW50IGZjZCBoYXMgYmVl
biB3aXBlZCBieSBzb21ldGhpbmcsIHJldHJpZXZlIGl0IGZyb20gdGhlICRjaGFuZ2VkIHZhbHVl
CiAgICAgICAgJGVwcmludC0+c2V0X3ZhbHVlKCAiaG9hX3ZlcnNpb25fZmNkIiwgJGNvbnRlbnQg
ZXEgInB1Ymxpc2hlZCIgPyAiVm9SIiA6ICJBTSIgKTsKICAgIH0KfSwgcHJpb3JpdHkgPT4gMTAw
ICk7CgojIGRhdGUgb2YgZmlyc3QgY29tcGxpYW50IG9wZW4gYWNjZXNzCiRjLT5hZGRfZGF0YXNl
dF90cmlnZ2VyKCAnZXByaW50JywgRVByaW50czo6Q29uc3Q6OkVQX1RSSUdHRVJfQkVGT1JFX0NP
TU1JVCwgc3ViCnsKICAgIG15KCAlYXJncyApID0gQF87IAogICAgbXkoICRyZXBvLCAkZXByaW50
LCAkY2hhbmdlZCApID0gQGFyZ3N7cXcoIHJlcG9zaXRvcnkgZGF0YW9iaiBjaGFuZ2VkICl9OwoK
ICAgICMgdHJpZ2dlciBvbmx5IGFwcGxpZXMgdG8gcmVwb3Mgd2l0aCBoZWZjZV9vYSBwbHVnaW4g
ZW5hYmxlZAogICAgcmV0dXJuIHVubGVzcyAkZXByaW50LT5kYXRhc2V0LT5oYXNfZmllbGQoICJo
b2FfY29tcGxpYW50IiApOwoKICAgIHJldHVybiB1bmxlc3MgJGVwcmludC0+aXNfc2V0KCAiaG9h
X2RhdGVfZmNkIiApOwogICAgcmV0dXJuIGlmICRlcHJpbnQtPmlzX3NldCggImhvYV9kYXRlX2Zv
YSIgKTsKCiAgICBmb3IoICRlcHJpbnQtPmdldF9hbGxfZG9jdW1lbnRzICkKICAgIHsKICAgICAg
ICBuZXh0IHVubGVzcyAkXy0+aXNfc2V0KCAiY29udGVudCIgKTsKICAgICAgICBteSAkY29udGVu
dCA9ICRfLT52YWx1ZSggImNvbnRlbnQiICk7CiAgICAgICAgbmV4dCB1bmxlc3MgZ3JlcCggL14k
Y29udGVudCQvLCBAeyRyZXBvLT5jb25maWcoICJoZWZjZV9vYSIsICJkb2N1bWVudF9jb250ZW50
IiApfSApOwogICAgICAgIG5leHQgdW5sZXNzICRfLT5pc19wdWJsaWM7CiAgICAgICAgIyBOQiAk
Y2hhbmdlZCBoYXMgdGhlICpvbGQqIHZhbHVlcyBpbi4KICAgICAgICAkZXByaW50LT5zZXRfdmFs
dWUoICJob2FfZGF0ZV9mb2EiLCBkZWZpbmVkICRjaGFuZ2VkLT57J2hvYV9kYXRlX2ZvYSd9ID8g
JGNoYW5nZWQtPnsnaG9hX2RhdGVfZm9hJ30gOiBFUHJpbnRzOjpUaW1lOjpnZXRfaXNvX2RhdGUo
KSApOwogICAgfQp9LCBwcmlvcml0eSA9PiAyMDAgKTsKCiMgU29tZXRpbWVzIGEgZG9jdW1lbnQg
aXMgb3Blbi1hY2Nlc3MgZmxlZXRpbmdseS4KIyBUaGlzIHRyaWdnZXIgbm93IGluY29ycG9yYXRl
cyBhICdmb2FfcmV0cmFjdGlvbl9wZXJpb2QnIHJlY2tvbmluZywgYmFzZWQgb24gYSBzZXR0aW5n
CiMgaW4gdGhlIHJlcG9zaXRvcnkgY29uZmlndXJhdGlvbi4gU2VlOiAgenpfaGVmY2Vfb2EucGwK
JGMtPmFkZF9kYXRhc2V0X3RyaWdnZXIoICdkb2N1bWVudCcsIEVQcmludHM6OkNvbnN0OjpFUF9U
UklHR0VSX0JFRk9SRV9DT01NSVQsIHN1Ygp7CiAgICBteSggJWFyZ3MgKSA9IEBfOyAKICAgIG15
KCAkcmVwbywgJGRvYywgJGNoYW5nZWQgKSA9IEBhcmdze3F3KCByZXBvc2l0b3J5IGRhdGFvYmog
Y2hhbmdlZCApfTsKCiAgICAjIHRyaWdnZXIgb25seSBhcHBsaWVzIHRvIHJlcG9zIHdpdGggaGVm
Y2Vfb2EgcGx1Z2luIGVuYWJsZWQKICAgIHJldHVybiB1bmxlc3MgJGRvYy0+cGFyZW50LT5kYXRh
c2V0LT5oYXNfZmllbGQoICJob2FfY29tcGxpYW50IiApOwoKICAgIGlmKCAkZG9jLT5pc19wdWJs
aWMgKQogICAgewogICAgICAgIHJldHVybiBpZiAkZG9jLT5wYXJlbnQtPmlzX3NldCggImhvYV9k
YXRlX2ZvYSIgKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICByZXR1cm4gdW5sZXNzICRk
b2MtPnBhcmVudC0+aXNfc2V0KCAiaG9hX2RhdGVfZm9hIiApOwogICAgICAgIHJldHVybiB1bmxl
c3MgJHJlcG8tPmNhbl9jYWxsKCAiaGVmY2Vfb2EiLCAiY29tbWl0X2luX2ZvYV9yZXRyYWN0aW9u
X3BlcmlvZCIgKTsKCiAgICAgICAgcmV0dXJuIHVubGVzcyAkcmVwby0+Y2FsbCggWyAiaGVmY2Vf
b2EiLCAiY29tbWl0X2luX2ZvYV9yZXRyYWN0aW9uX3BlcmlvZCIgXSwgJHJlcG8sICRkb2MtPnBh
cmVudC0+dmFsdWUoICJob2FfZGF0ZV9mb2EiICkgKTsKICAgICAgICAkZG9jLT5wYXJlbnQtPnNl
dF92YWx1ZSggImhvYV9kYXRlX2ZvYSIsIHVuZGVmICk7CiAgICB9CgogICAgIyBtYWtlIHN1cmUg
ZXByaW50LT5jb21taXQgY2FsbHMgdHJpZ2dlcnMuLgogICAgIyBzZWUgaHR0cHM6Ly9naXRodWIu
Y29tL2VwcmludHN1Zy9oZWZjZV9vYS9pc3N1ZXMvMTkKICAgICRkb2MtPnBhcmVudC0+e2NoYW5n
ZWR9LT57aG9hX3VwZGF0ZV9lcH0rKzsKfSwgcHJpb3JpdHkgPT4gMTAwICk7CgojIHNldCBjb21w
bGlhbmNlIGZsYWcKJGMtPmFkZF9kYXRhc2V0X3RyaWdnZXIoICdlcHJpbnQnLCBFUHJpbnRzOjpD
b25zdDo6RVBfVFJJR0dFUl9CRUZPUkVfQ09NTUlULCBzdWIKewogICAgbXkoICVhcmdzICkgPSBA
XzsKICAgIG15KCAkcmVwbywgJGVwcmludCwgJGNoYW5nZWQgKSA9IEBhcmdze3F3KCByZXBvc2l0
b3J5IGRhdGFvYmogY2hhbmdlZCApfTsKCiAgICAjIHRyaWdnZXIgb25seSBhcHBsaWVzIHRvIHJl
cG9zIHdpdGggaGVmY2Vfb2EgcGx1Z2luIGVuYWJsZWQKICAgIHJldHVybiB1bmxlc3MgJGVwcmlu
dC0+ZGF0YXNldC0+aGFzX2ZpZWxkKCAiaG9hX2NvbXBsaWFudCIgKTsKCiAgICBteSAkdHlwZSA9
ICRlcHJpbnQtPnZhbHVlKCAidHlwZSIgKTsKCiAgICB1bmxlc3MoIGRlZmluZWQgJHR5cGUgJiYg
Z3JlcCggL14kdHlwZSQvLCBAeyRyZXBvLT5jb25maWcoICJoZWZjZV9vYSIsICJpdGVtX3R5cGVz
IiApfSApICkKICAgIHsKICAgICAgICAkZXByaW50LT5zZXRfdmFsdWUoICJob2FfY29tcGxpYW50
IiwgdW5kZWYgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgbXkgJGZsYWcgPSAwOwogICAg
Zm9yKHF3KAogICAgICAgIERFUF9DT01QTElBTlQKICAgICAgICBERVBfVElNSU5HCiAgICAgICAg
REVQCiAgICAgICAgRElTX0RJU0NPVkVSQUJMRQogICAgICAgIERJUwogICAgICAgIEFDQ19USU1J
TkcKICAgICAgICBBQ0NfRU1CQVJHTwogICAgICAgIEFDQwogICAgICAgIEVYX0RFUAogICAgICAg
IEVYX0FDQwogICAgICAgIEVYX1RFQwogICAgICAgIEVYX0ZVUgogICAgICAgIEVYCiAgICAgICAg
QVVEX1VQX09BCiAgICAgICAgQVVEX1VQX1VSTAogICAgICAgIEFVRElUCiAgICAgICAgQ09NUExJ
QU5UCiAgICApKQogICAgewogICAgICAgICRmbGFnIHw9IEhlZmNlT0E6OkNvbnN0LT4kXyBpZiAk
cmVwby0+Y2FsbCggW3F3KCBoZWZjZV9vYSBydW5fdGVzdCApXSwgJHJlcG8sICRfLCAkZXByaW50
LCAkZmxhZyApOwogICAgfQogICAgJGVwcmludC0+c2V0X3ZhbHVlKCAiaG9hX2NvbXBsaWFudCIs
ICRmbGFnICk7Cgp9LCBwcmlvcml0eSA9PiAzMDAgKTsK
</data>
</file>
<file>
<datasetid>document</datasetid>
<filename>epm/hefce_oa/bin/core</filename>
<mime_type>text/x-perl</mime_type>
<hash>69e632915a0bb4acf051b19ed518d5bf</hash>
<hash_type>MD5</hash_type>
<filesize>6516</filesize>
<data encoding='base64'>IyEvdXNyL2Jpbi9wZXJsIC13Cgp1c2UgRmluZEJpbjsKdXNlIGxpYiAiJEZpbmRCaW46OkJpbi8u
Li8uLi8uLi9wZXJsX2xpYiI7CgoKPWhlYWQxIE5BTUUKCgo9aGVhZDEgU1lOT1BTSVMKCj1oZWFk
MSBERVNDUklQVElPTgoKCj1jdXQKCnVzZSBFUHJpbnRzOwp1c2UgSlNPTjsKdXNlIERhdGE6OkR1
bXBlcjsKdXNlIERhdGVUaW1lOjpGb3JtYXQ6OkVwb2NoOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5p
bmdzOwoKbXkgJHJlcG9zaXRvcnlpZCA9ICRBUkdWWzBdOwojIyMjIFJlcG8gc3R1ZmYgIyMjIwpt
eSAkZXAgPSBFUHJpbnRzLT5uZXcoKTsKbXkgJHJlcG8gPSAkZXAtPnJlcG9zaXRvcnkoJHJlcG9z
aXRvcnlpZCk7CnVubGVzcygkcmVwbykge2RpZSgiY291bGQgbm90IGZpbmQgcmVwb3NpdG9yeSB3
aXRoIGlkOiAkcmVwb3NpdG9yeWlkIik7fQoKbXkgJGVwcmludGlkID0gJEFSR1ZbMV07Cm15ICRl
cHJpbnRzID0gW107CmlmKGRlZmluZWQgJGVwcmludGlkKXsKICAgIHByaW50ICJHZXQgY29yZSBk
YXRhIGZvciBlcHJpbnQvJGVwcmludGlkLi4uXG4iOwogICAgJGVwcmludHMgPSBbJGVwcmludGlk
XTsKfWVsc2V7CiAgICBwcmludCAiR2V0IGNvcmUgZGF0YSBmb3IgYWxsIFJFRiBlbGlnaWJsZSBy
ZWNvcmRzLi4uXG4iOwogICAgaWYoJHJlcG8tPmNhbl9jYWxsKCJoZWZjZV9vYSIsICJnZXRfZWxp
Z2libGVfZXByaW50cyIpKXsKICAgICAgICAkZXByaW50cyA9ICRyZXBvLT5jYWxsKFsiaGVmY2Vf
b2EiLCAiZ2V0X2VsaWdpYmxlX2VwcmludHMiXSwkcmVwbyk7CiAgICB9Cn0KCmlmKCRyZXBvLT5j
YW5fY2FsbCgiaGVmY2Vfb2EiLCAiZ2V0X2NvcmUiKSl7CiAgICBmb3IgbXkgJGVwcmludGlkKEB7
JGVwcmludHN9KXsKCiAgICAgICAgaWYoICFkZWZpbmVkKCRlcHJpbnRpZCkgKXsKICAgICAgICAg
ICAgX2ZhdGFsKCRyZXBvLCwiZ2V0X2NvcmUgY2FsbGVkIHdpdGhvdXQgaWQgYXJndW1lbnQiKTsK
ICAgICAgICB9ZWxzaWYoICRlcHJpbnRpZCAhfiAvXihbMC05XSspJC8gKXsKICAgICAgICAgICAg
X2ZhdGFsKCRyZXBvLCAiZ2V0X2NvcmUgcmVxdWlyZXMgbnVtZXJpYyBlcHJpbnRpZCBhcmd1bWVu
dCIpOwogICAgICAgIH0KCgkJbXkgJGVwcmludCA9ICRyZXBvLT5kYXRhc2V0KCAiZXByaW50IiAp
LT5kYXRhb2JqKCAkZXByaW50aWQgKTsKICAgICAgICBfZmF0YWwoJHJlcG8sICJObyBlcHJpbnQg
Zm91bmQgd2l0aCBzdXBwbGllZCBwYXJhbWV0ZXJzIikgaWYgKCFFUHJpbnRzOjpVdGlsczo6aXNf
c2V0KCRlcHJpbnQpKTsKCiAgICAgICAgbXkgKCRzdGF0dXMsICRyZXNwb25zZSwgJGRldGFpbHMp
ID0gJHJlcG8tPmNhbGwoWyJoZWZjZV9vYSIsICJnZXRfY29yZSJdLCRyZXBvLCAkZXByaW50KTsK
ICAgICAgICBfZmF0YWwoJHJlcG8sICRyZXNwb25zZSwgJGRldGFpbHMpIGlmKCRzdGF0dXMgZXEg
IkVSUk9SIik7CiAgICAgICAgX3Byb2Nlc3MoJHJlcG8sICRyZXNwb25zZSwgJGVwcmludCkgaWYo
JHN0YXR1cyBlcSAiU1VDQ0VTUyIpOwogICAgfQoKfWVsc2V7CiAgICBfZmF0YWwoJHJlcG8sICJU
aGUgUkVGIENDIGF1ZGl0IGNoZWNrLXVwIGRvZXMgbm90IGFwcGVhciBvdCBiZSBwcm9wZXJseSBp
bnN0YWxsZWQiKTsKfQoKCnN1YiBfZmF0YWwgewogICAgbXkgKCRyZXBvLCAkbXNnLCAkcmVzcG9u
c2UpID0gQF87CgogICAgbXkgJGpzb24gPSBKU09OLT5uZXctPmFsbG93X25vbnJlZjsKIAogICAg
aWYoIWRlZmluZWQgJHJlc3BvbnNlKXsKICAgICAgICAkcmVwby0+bG9nKCRtc2cpOwogICAgICAg
IHByaW50ICRqc29uLT5lbmNvZGUoIHtlcnJvcj0+ICRtc2d9ICkgLiAiXG4iOwogICAgfWVsc2V7
CiAgICAgICAgJHJlcG8tPmxvZygkbXNnLiIgIi4kcmVzcG9uc2UtPmNvbnRlbnQpOwogICAgICAg
IHByaW50ICRqc29uLT5lbmNvZGUoIHtlcnJvcj0+ICRtc2csIHN0YXR1c19saW5lPT4gJHJlc3Bv
bnNlLT5zdGF0dXNfbGluZSwgY29kZSA9PiAkcmVzcG9uc2UtPmNvZGUsIHJlc3BvbnNlID0+ICRq
c29uLT51dGY4LT5kZWNvZGUoJHJlc3BvbnNlLT5jb250ZW50KX0gKTsKICAgIH0KICAgICNleGl0
Cn0KCnN1YiBfcHJvY2VzcyB7CiAgICBteSAoJHJlcG8sICRyZXNwb25zZSwkZXByaW50KSA9IEBf
OwoKICAgIG15ICRqc29uID0gSlNPTi0+bmV3LT5hbGxvd19ub25yZWY7CiAgICBpZiggISAkcmVz
cG9uc2UtPmlzX3N1Y2Nlc3MgKXsKICAgICAgICBfZmF0YWwoJHJlcG8sICJFcnJvciBmcm9tIGNv
cmUiLCAkcmVzcG9uc2UpOwogICAgfWVsc2V7CgoKICAgICAgICAjIFdlIGhhdmUgc29tZSBkYXRh
LCBidXQgYmVmb3JlIHdlIGNhbiB1c2UgaXQgd2UgbmVlZCBhbiBhdWRpdCByZWNvcmQKICAgICAg
ICBteSAkYXVkaXRfZHMgPSAkcmVwby0+ZGF0YXNldCggImhlZmNlX29hX2F1ZGl0IiApOwogICAg
ICAgIG15ICRhdWRpdCA9ICRhdWRpdF9kcy0+ZGF0YW9ial9jbGFzcy0+Z2V0X2F1ZGl0X3JlY29y
ZCggJHJlcG8sICRlcHJpbnQgKTsKICAgICAgICBpZiggIWRlZmluZWQgJGF1ZGl0ICkgCiAgICAg
ICAgewogICAgICAgICAgICAjIHdlIG5lZWQgdG8gY3JlYXRlIGEgbmV3IGF1ZGl0IHJlY29yZAog
ICAgICAgICAgICAkYXVkaXQgPSAkYXVkaXRfZHMtPmNyZWF0ZV9kYXRhb2JqKAogICAgICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICAgIGVwcmludGlkID0+ICRlcHJpbnQtPmlkCiAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBteSAkY29yZV9k
YXRhID0gICRqc29uLT51dGY4LT5kZWNvZGUoICRyZXNwb25zZS0+Y29udGVudCApOwogICAgICAg
IG15ICRlcF9vYWlfaWQgPSBFUHJpbnRzOjpPcGVuQXJjaGl2ZXM6OnRvX29haV9pZGVudGlmaWVy
KCBFUHJpbnRzOjpPcGVuQXJjaGl2ZXM6OmFyY2hpdmVfaWQoICRyZXBvICksICRlcHJpbnQtPmdl
dF9pZCApOwogICAgICAgIAogICAgICAgIHByaW50ICJIaXRzOiAiLiRjb3JlX2RhdGEtPnt0b3Rh
bEhpdHN9LiJcbiI7CgogICAgICAgIG15ICRkdCA9IERhdGVUaW1lLT5uZXcoIHllYXIgPT4gMTk3
MCwgbW9udGggPT4gMSwgZGF5ID0+IDEgKTsKICAgICAgICBteSAkZm9ybWF0dGVyID0gRGF0ZVRp
bWU6OkZvcm1hdDo6RXBvY2gtPm5ldygKICAgICAgICAgICAgICAgICAgICBlcG9jaCAgICAgICAg
ICA9PiAkZHQsCiAgICAgICAgICAgICAgICAgICAgdW5pdCAgICAgICAgICAgPT4gJ21pbGxpc2Vj
b25kcycsCiAgICAgICAgICAgICAgICAgICAgdHlwZSAgICAgICAgICAgPT4gJ2ludCcsICAgICMg
b3IgJ2Zsb2F0JywgJ2JpZ2ludCcKICAgICAgICAgICAgICAgICAgICBza2lwX2xlYXBfc2Vjb25k
cyA9PiAxLAogICAgICAgICAgICAgICAgICAgIHN0YXJ0X2F0ICAgICAgID0+IDAsCiAgICAgICAg
ICAgICAgICAgICAgbG9jYWxfZXBvY2ggICAgPT4gdW5kZWYsCiAgICAgICAgICAgICAgICApOyAK
CiAgICAgICAgIyBXZSBoYXZlIE5PIElERUEgd2hpY2ggb2YgdGhlc2UgImhpdHMiIHdpbGwgYmUg
dXNlZCBieSBhbnkgUkUgYXVkaXQgb2YgdGhpcyBkYXRhLi4uCiAgICAgICAgbXkgQGNvcmVfc291
cmNlczsKICAgICAgICBmb3IgbXkgJGNvcmVfaGl0IChAeyRjb3JlX2RhdGEtPntkYXRhfX0pewoK
ICAgICAgICAgICAgbXkgJGNvcmVfc291cmNlID0ge307CiAgICAKICAgICAgICAgICAgbXkgJHMg
PSAkY29yZV9oaXQtPntfc291cmNlfTsKCiAgICAgICAgICAgIHByaW50ICJcbiMjIyAiLiRzLT57
cmVwb3NpdG9yaWVzfS0+WzBdLT57bmFtZX0uIiAjIyNcblxuIjsKICAgICAgICAgICAgcHJpbnQg
ImNvcmUgaWQgPT4gIi4kcy0+e2lkfS4iXG4iOwogICAgICAgICAgICAkY29yZV9zb3VyY2UtPntj
b3JlX2lkfSA9ICRzLT57aWR9OwogICAgICAgICAgICAkY29yZV9zb3VyY2UtPntyZXBvX25hbWV9
ID0gJHMtPntyZXBvc2l0b3JpZXN9LT5bMF0tPntuYW1lfTsKCiAgICAgICAgICAgIGlmKGRlZmlu
ZWQgJHMtPntkYXRlUHVibGlzaGVkfSl7CiAgICAgICAgICAgICAgICBwcmludCAiY29yZSBkYXRl
UHVibGlzaGVkID0+ICIuJHMtPntkYXRlUHVibGlzaGVkfS4iXG4iOwogICAgICAgICAgICAgICAg
JGNvcmVfc291cmNlLT57ZGF0ZVB1Ymxpc2hlZH0gPSAkcy0+e2RhdGVQdWJsaXNoZWR9OwogICAg
ICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIHByaW50ICJjb3JlIGRhdGVQdWJsaXNoZWQg
bm90IHNldCBcbiI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcHJpbnQgImVwcmludCBkYXRl
UHVibGlzaGVkID0+ICIuJGVwcmludC0+dmFsdWUoImRhdGUiKS4iXG4iOwoKICAgICAgICAgICAg
IyBnZXQgdGhlIGxhdGVzdCBkZXBvc2l0ZWREYXRlIHZhbHVlCiAgICAgICAgICAgIG15ICRkZCA9
IF9nZXRfbGF0ZXN0X2RhdGUoICRzLCAiZGVwb3NpdGVkRGF0ZSIgKTsKICAgICAgICAgICAgCiAg
ICAgICAgICAgICMgbmVlZCB0byBjaGVjayB0aGUgcmVwb3NpdG9yeURvY3VtZW50IHRvbyBmb3Ig
YSBkZXBvc2l0ZWREYXRlCiAgICAgICAgICAgIGlmKGRlZmluZWQgJHMtPntyZXBvc2l0b3J5RG9j
dW1lbnR9ICYmICRkZCA8ICRzLT57cmVwb3NpdG9yeURvY3VtZW50fS0+e2RlcG9zaXRlZERhdGV9
KXsgIyByZXBvc2l0b3J5IGRvY3VtZW50IGRlcG9zaXQgZGF0ZSBpcyBsYXRlciB0aGFuIHRoZSBk
ZXBvc2l0IGRhdGUKICAgICAgICAgICAgICAgICRkZCA9ICRzLT57cmVwb3NpdG9yeURvY3VtZW50
fS0+e2RlcG9zaXRlZERhdGV9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCBkZWZpbmVk
ICRkZCApewogICAgICAgICAgICAgICAgJGRkID0gJGZvcm1hdHRlci0+cGFyc2VfZGF0ZXRpbWUo
ICRkZCApOwogICAgICAgICAgICAgICAgJGNvcmVfc291cmNlLT57ZGVwb3NpdGVkRGF0ZX0gPSAk
ZGQtPnltZDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBnZXQgdGhlIGxhdGVzdCBwdWJs
aXNoZWREYXRlCiAgICAgICAgICAgIG15ICRwZCA9IF9nZXRfbGF0ZXN0X2RhdGUoICRzLCAicHVi
bGlzaGVkRGF0ZSIgKTsKICAgICAgICAgICAgaWYoIGRlZmluZWQgJHBkICl7CiAgICAgICAgICAg
ICAgICAkcGQgPSAkZm9ybWF0dGVyLT5wYXJzZV9kYXRldGltZSggJHBkICk7CiAgICAgICAgICAg
ICAgICAkY29yZV9zb3VyY2UtPntwdWJsaXNoZWREYXRlfSA9ICRwZC0+eW1kOwogICAgICAgICAg
ICB9CgogICAgICAgICAgICAjIGdldCB0aGUgbGF0ZXN0IGFjY2VwdGVkRGF0ZQogICAgICAgICAg
ICBteSAkYWQgPSBfZ2V0X2xhdGVzdF9kYXRlKCAkcywgImFjY2VwdGVkRGF0ZSIgKTsKICAgICAg
ICAgICAgaWYoIGRlZmluZWQgJGFkICl7CiAgICAgICAgICAgICAgICAkYWQgPSAkZm9ybWF0dGVy
LT5wYXJzZV9kYXRldGltZSggJGFkICk7CiAgICAgICAgICAgICAgICAkY29yZV9zb3VyY2UtPnth
Y2NlcHRlZERhdGV9ID0gJGFkLT55bWQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHByaW50
ICJjb3JlIGRlcG9zaXRlZERhdGUgPT4gIi4kZGQtPnltZC4iXG4iIGlmIGRlZmluZWQgJGRkOwog
ICAgICAgICAgICBwcmludCAiZXByaW50IGRlcG9zaXQgZGF0ZSAoZGF0ZXN0YW1wKSA9PiAiLiRl
cHJpbnQtPnZhbHVlKCJkYXRlc3RhbXAiKS4iXG4iOwogICAgICAgICAgICBwcmludCAiZXByaW50
IEZDRCA9PiAiLiRlcHJpbnQtPnZhbHVlKCJob2FfZGF0ZV9mY2QiKS4iXG4iIGlmKCRlcHJpbnQt
PmV4aXN0c19hbmRfc2V0KCJob2FfZGF0ZV9mY2QiKSk7CgogICAgICAgICAgICBwdXNoIEBjb3Jl
X3NvdXJjZXMsICRjb3JlX3NvdXJjZTsKICAgICAgICB9CgogICAgICAgICRhdWRpdC0+c2V0X3Zh
bHVlKCAiY29yZV9zb3VyY2VzIiwgXEBjb3JlX3NvdXJjZXMgKTsKCiAgICAgICAgIyBub3cgd2Ug
aGF2ZSB1cGRhdGVkIHRoZSBjb3JlIGF1ZGl0IHJlY29yZCwgc2V0IHRoZSB0aW1lc3RhbXAKICAg
ICAgICAkYXVkaXQtPnNldF92YWx1ZSggImNvcmVfZGF0ZXN0YW1wIiwgRVByaW50czo6VGltZTo6
Z2V0X2lzb190aW1lc3RhbXAoKSApOwogICAgICAgICRhdWRpdC0+Y29tbWl0OwogICAgfQp9Cgoj
IGdldHMgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBnaXZlbiBkYXRlIGVpdGhlciBkaXJlY3Rs
eSBmcm9tIHRoZSBzb3VyY2Ugb3IgZnJvbSB0aGUgY29yc3NyZWYgZG9jdW1lbnQKc3ViIF9nZXRf
bGF0ZXN0X2RhdGV7CiAgICBteSAoJHMsICRkYXRlKSA9IEBfOwoKICAgICMgZGF0ZSBzaG93cyB1
cCBkaXJlY3RseSBpbiB0aGUgX3NvdXJjZQogICAgbXkgJGRkID0gJHMtPnskZGF0ZX07CiAgICAK
ICAgICMgYW5kIHBvdGVudGlhbGx5IGFnYWluIGluIHRoZSBjcm9zc3JlZkRvY3VtZW50CiAgICBp
ZihkZWZpbmVkICRzLT57Y3Jvc3NyZWZEb2N1bWVudH0gJiYgZGVmaW5lZCAkcy0+e2Nyb3NzcmVm
RG9jdW1lbnR9LT57JGRhdGV9ICYmICRzLT57JGRhdGV9IDwgJHMtPntjcm9zc3JlZkRvY3VtZW50
fS0+eyRkYXRlfSl7ICMgY3Jvc3NyZWYgZG9jdW1lbnQgZGF0ZSBpcyBsYXRlciB0aGFuIHRoZSBk
YXRlCiAgICAgICAgJGRkID0gJHMtPntjcm9zc3JlZkRvY3VtZW50fS0+eyRkYXRlfTsKICAgIH0K
ICAgIHJldHVybiAkZGQ7Cn0K
</data>
</file>
<file>
<datasetid>document</datasetid>
<filename>epm/hefce_oa/bin/hefce_oa_tests</filename>
<mime_type>text/x-perl</mime_type>
<hash>5990adaad2aafa6dcd34a57332c0f25d</hash>
<hash_type>MD5</hash_type>
<filesize>623</filesize>
<data encoding='base64'>IyEvdXNyL2Jpbi9wZXJsIC13Cgp1c2UgRmluZEJpbjsKdXNlIGxpYiAiJEZpbmRCaW46OkJpbi8u
Li8uLi8uLi8uLi9wZXJsX2xpYiIsICIkRmluZEJpbjo6QmluLy4uLy4uLy4uL3BlcmxfbGliIjsK
dXNlIFRlc3Q6Okhhcm5lc3M7CnVzZSBzdHJpY3Q7CgpteSAldG9kbyA9IG1hcCB7ICRfID0+IDEg
fSBAQVJHVjsKCm15ICR0ZXN0X3BhdGggPSAiJEZpbmRCaW46OkJpbi8uLi90ZXN0cyI7CgpvcGVu
ZGlyKCBESVIsICR0ZXN0X3BhdGggKSBvciBkaWUgIlVuYWJsZSB0byBvcGVuIHVuaXQgdGVzdCBw
YXRoICR0ZXN0X3BhdGg6ICQhIjsKbXkgQHRlc3RfZmlsZXMgPSBncmVwIHsgLWYgIiR0ZXN0X3Bh
dGgvJF8iICYmICRfICF+IC9eXC4vICYmICRfID1+IC9cLnQkLyB9IHJlYWRkaXIoIERJUiApOwpj
bG9zZWRpciggRElSICk7CgpAdGVzdF9maWxlcyA9IHNvcnQgeyAkYSBjbXAgJGIgfSBAdGVzdF9m
aWxlczsKaWYoIHNjYWxhcihrZXlzICV0b2RvKSApCnsKCUB0ZXN0X2ZpbGVzID0gZ3JlcCB7ICR0
b2RveyRffSBvciAkdG9kb3tzdWJzdHIoJF8sMCwtMil9IH0gQHRlc3RfZmlsZXM7Cn0KCmV4aXQo
MCkgaWYgcnVudGVzdHMobWFwIHsgIiR0ZXN0X3BhdGgvJF8iIH0gQHRlc3RfZmlsZXMpOwo=
</data>
</file>
<file>
<datasetid>document</datasetid>
<filename>epm/hefce_oa/bin/hefce_update_exceptions</filename>
<mime_type>text/x-perl</mime_type>
<hash>03404941683ca2f75f8c82062bdf6bd6</hash>
<hash_type>MD5</hash_type>
<filesize>3000</filesize>
<data encoding='base64'>IyEvdXNyL2Jpbi9wZXJsIC13Cgp1c2UgRmluZEJpbjsKdXNlIGxpYiAiJEZpbmRCaW46OkJpbi8u
Li8uLi8uLi9wZXJsX2xpYiI7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIwojIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgo9cG9k
Cgo9aGVhZDEgTkFNRQoKQjxoZWZjZV91cGRhdGVfZXhjZXB0aW9ucz4gLSBGaW5kIEVQcmludCBy
ZWNvcmRzIHdoaWNoIG5lZWQgdGhlaXIgZXhjZXB0aW9ucyBtYXBwaW5nIG92ZXIgdG8gbmV3IHZh
bHVlcyBhbmQgcmVjb21taXQgdGhlbS4KCj1oZWFkMSBTWU5PUFNJUwoKQjxoZWZjZV91cGRhdGVf
ZXhjZXB0aW9ucz4gSTxyZXBvc2l0b3J5X2lkPiBbQjxvcHRpb25zPl0KCj1oZWFkMSBERVNDUklQ
VElPTgoKVGhpcyBzY3JpcHQgbG9va3MgZm9yIGFueSBFUHJpbnQgcmVjb3JkcyB3aGljaCBjb250
YWluIG9sZCB2YWx1ZXMgZm9yIFJFRiBDQyBleGNlcHRpb25zIGFuZCB0aGVuIHJlY29tbWl0cyB0
aGVtLgpSZWNvbW1pdHRpbmcgdGhlIHJlY29yZHMsIGNhbGxzIHRoZSBFUF9UUklHR0VSX0JFRk9S
RV9DT01NSVQgdHJpZ2dlciBpbiB6el9oZWZjZV9vYS5wbC4KClRoZSBleGNlcHRpb25zIGFyZSBt
YXBwZWQgYXMgZm9sbG93czoKCkRlcG9zaXQgZXhjZXB0aW9uIChnKSAtLT4gRnVydGhlciBleGNl
cHRpb24gKGIpCkRlcG9zaXQgZXhjZXB0aW9uIChmKSAtLT4gR29sZCBPQSAoaG9hX2dvbGQpCk90
aGVyIGV4Y2VwdGlvbiAtLT4gRnVydGhlciBleGNlcHRpb24gKGEpCiAKVGhpcyBzY3JpcHQgc2hv
dWxkIGJlIGNhbGxlZCB1cG9uIHVwZGF0aW5nIHlvdXIgUkVGIENDIHBsdWdpbiB0byB2MS41LgoK
PWhlYWQxIEFSR1VNRU5UUwoKPW92ZXIgOAoKPWl0ZW0gQjxyZXBvc2l0b3J5X2lkPiAKClRoZSBJ
RCBvZiB0aGUgZXByaW50IHJlcG9zaXRvcnkgdG8gdXNlLgoKPWJhY2sKCj1oZWFkMSBPUFRJT05T
Cgo9b3ZlciA4Cgo9aXRlbSBCPC0taGVscD4KClByaW50IGEgYnJpZWYgaGVscCBtZXNzYWdlIGFu
ZCBleGl0LgoKPWl0ZW0gQjwtLW1hbj4KClByaW50IHRoZSBmdWxsIG1hbnVhbCBwYWdlIGFuZCB0
aGVuIGV4aXQuCgo9aXRlbSBCPC0tcXVpZXQ+CgpCZSB2ZXJ5IHF1aWV0LiBUaGlzIG9wdGlvbiB3
aWxsIHN1cHJlc3MgYWxsIG91dHB1dCB1bmxlc3MgYW4gZXJyb3Igb2NjdXJzLgoKPWl0ZW0gQjwt
LXZlcmJvc2U+CgpFeHBsYWluIGluIGRldGFpbCB3aGF0IGlzIGdvaW5nIG9uLgpNYXkgYmUgcmVw
ZWF0ZWQgZm9yIGdyZWF0ZXIgZWZmZWN0LgoKPWl0ZW0gQjwtLXZlcnNpb24+CgpPdXRwdXQgdmVy
c2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KCj1iYWNrICAgCgoKPWN1dAoKdXNlIEVQcmludHM7
CnVzZSBzdHJpY3Q7CnVzZSBHZXRvcHQ6Okxvbmc7CnVzZSBQb2Q6OlVzYWdlOwoKbXkgJHZlcnNp
b24gPSAwOwpteSAkdmVyYm9zZSA9IDA7Cm15ICRxdWlldCA9IDA7Cm15ICRoZWxwID0gMDsKbXkg
JG1hbiA9IDA7CgpHZXRvcHQ6Okxvbmc6OkNvbmZpZ3VyZSgicGVybXV0ZSIpOwoKR2V0T3B0aW9u
cyggCgknaGVscHw/JyA9PiBcJGhlbHAsCgknbWFuJyA9PiBcJG1hbiwKCSd2ZXJzaW9uJyA9PiBc
JHZlcnNpb24sCgkndmVyYm9zZSsnID0+IFwkdmVyYm9zZSwKCSdzaWxlbnQnID0+IFwkcXVpZXQs
CgkncXVpZXQnID0+IFwkcXVpZXQKKSB8fCBwb2QydXNhZ2UoIDIgKTsKRVByaW50czo6VXRpbHM6
OmNtZF92ZXJzaW9uKCAic2VuZF9hbGVydHMiICkgaWYgJHZlcnNpb247CnBvZDJ1c2FnZSggMSAp
IGlmICRoZWxwOwpwb2QydXNhZ2UoIC1leGl0c3RhdHVzID0+IDAsIC12ZXJib3NlID0+IDIgKSBp
ZiAkbWFuOwpwb2QydXNhZ2UoIDIgKSBpZiggQEFSR1YgPCAxICk7IAoKbXkgJG5vaXNlID0gMTsK
JG5vaXNlID0gMCBpZiggJHF1aWV0ICk7CiRub2lzZSA9IDErJHZlcmJvc2UgaWYoICR2ZXJib3Nl
ICk7CgpteSAkcmVwb2lkID0gc2hpZnQoQEFSR1YpOwpteSAkc2Vzc2lvbiA9IG5ldyBFUHJpbnRz
OjpTZXNzaW9uKCAxICwgJHJlcG9pZCAsICRub2lzZSApOwppZiggIWRlZmluZWQgJHNlc3Npb24g
KQp7CglwcmludCBTVERFUlIgIkZhaWxlZCB0byBsb2FkIHJlcG9zaXRvcnk6ICRyZXBvaWRcbiI7
CglleGl0IDE7Cn0KCiNnZXQgYSBkYXRhc2V0IG9mIGVwcmludHMKbXkgJGRzID0gJHNlc3Npb24t
PmdldF9yZXBvc2l0b3J5LT5nZXRfZGF0YXNldCgiZXByaW50Iik7CgpteSAkc2VhcmNoX2V4cCA9
IEVQcmludHM6OlNlYXJjaC0+bmV3KAoJc2Vzc2lvbiA9PiAkc2Vzc2lvbiwKCXNhdGlzZnlfYWxs
ID0+IDAsCglkYXRhc2V0ID0+ICRkcywKKTsKCiRzZWFyY2hfZXhwLT5hZGRfZmllbGQoCiAgICAg
ICAgZmllbGRzID0+IFsgJGRzLT5maWVsZCggJ2hvYV9leF9kZXAnICkgXSwKICAgICAgICB2YWx1
ZSA9PiAnZiBnJywKICAgICAgICBtYXRjaCA9PiAiSU4iLAopOwoKJHNlYXJjaF9leHAtPmFkZF9m
aWVsZCgKICAgICAgICBmaWVsZHMgPT4gWyAkZHMtPmZpZWxkKCAnaG9hX2V4X290aCcgKSBdLAog
ICAgICAgIHZhbHVlID0+ICdUUlVFJywKICAgICAgICBtYXRjaCA9PiAiRVEiLAopOwoKbXkgJGxp
c3QgPSAkc2VhcmNoX2V4cC0+cGVyZm9ybV9zZWFyY2g7Cm15ICRjb3VudCA9IDA7CiRsaXN0LT5t
YXAoc3ViewogICAgICAgIG15KCRzZXNzaW9uLCAkZGF0YXNldCwgJGVwcmludCkgPSBAXzsKCglw
cmludCAiUmVjb21taXR0aW5nIEVQcmludCAjIiAuICRlcHJpbnQtPmlkIC4gIlxuIiBpZiggJG5v
aXNlID4gMCk7CgkKCSRjb3VudCsrOwoJJGVwcmludC0+Y29tbWl0KCAxICk7Cn0pOwoKcHJpbnQg
IkZpbmlzaGVkIHVwZGF0aW5nIFJFRiBDQyBleGNlcHRpb25zLlxuIiBpZiggJG5vaXNlID4gMCAp
OwppZiggJG5vaXNlID4gMSApCnsKCXByaW50ICJSZWNvbW1pdHRlZCAkY291bnQgRVByaW50cy5c
biI7Cn0KCiRzZXNzaW9uLT50ZXJtaW5hdGUoKTsKZXhpdDsK
</data>
</file>
<file>
<datasetid>document</datasetid>
<filename>epm/hefce_oa/bin/unpaywall</filename>
<mime_type>text/x-perl</mime_type>
<hash>81781266cda9e5a37e6f3a6951f67aeb</hash>
<hash_type>MD5</hash_type>
<filesize>6713</filesize>
<data encoding='base64'>IyEvdXNyL2Jpbi9wZXJsIC13Cgp1c2UgRmluZEJpbjsKdXNlIGxpYiAiJEZpbmRCaW46OkJpbi8u
Li8uLi8uLi9wZXJsX2xpYiI7CgoKPWhlYWQxIE5BTUUKCgo9aGVhZDEgU1lOT1BTSVMKCj1oZWFk
MSBERVNDUklQVElPTgoKCj1jdXQKCnVzZSBFUHJpbnRzOwp1c2UgSlNPTjsKdXNlIERhdGE6OkR1
bXBlcjsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm15ICRyZXBvc2l0b3J5aWQgPSAkQVJH
VlswXTsKIyMjIyBSZXBvIHN0dWZmICMjIyMKbXkgJGVwID0gRVByaW50cy0+bmV3KCk7Cm15ICRy
ZXBvID0gJGVwLT5yZXBvc2l0b3J5KCRyZXBvc2l0b3J5aWQpOwp1bmxlc3MoJHJlcG8pIHtkaWUo
ImNvdWxkIG5vdCBmaW5kIHJlcG9zaXRvcnkgd2l0aCBpZDogJHJlcG9zaXRvcnlpZCIpO30KCm15
ICRlcHJpbnRpZCA9ICRBUkdWWzFdOwpteSBAZXByaW50czsKaWYoZGVmaW5lZCAkZXByaW50aWQp
ewogICAgcHJpbnQgIkdldCB1bnBheXdhbGwgZGF0YSBmb3IgZXByaW50LyRlcHJpbnRpZC4uLlxu
IjsKICAgIG15ICRlcHJpbnRzID0gWyRlcHJpbnRpZF07CiAgICBAZXByaW50cyA9IEB7JGVwcmlu
dHN9Owp9ZWxzZXsKICAgIHByaW50ICJHZXQgdW5wYXl3YWxsIGRhdGEgZm9yIGFsbCBSRUYgZWxp
Z2libGUgcmVjb3Jkcy4uLlxuIjsKICAgIGlmKCRyZXBvLT5jYW5fY2FsbCgiaGVmY2Vfb2EiLCAi
Z2V0X2VsaWdpYmxlX2VwcmludHMiKSl7CiAgICAgICAgbXkgJGVwcmludHMgPSAkcmVwby0+Y2Fs
bChbImhlZmNlX29hIiwgImdldF9lbGlnaWJsZV9lcHJpbnRzIl0sJHJlcG8pOwoKICAgICAgICAj
IGluIGNhc2Ugd2UgZW5jb3VudGVyIGFueSB0cm91YmxlIHF1ZXJ5aW5nIHVucGF5d2FsbCBBUEks
IGxldHMgcHJpb3JpdGlzZSBuZXcgdXBkYXRlcyBiYXNlZCBvbiB3aGVuIGFuIGl0ZW0gd2FzIGxh
c3QgdXBkYXRlZAogICAgICAgIG15ICVlcHJpbnRfYXVkaXRzID0gKCk7CiAgICAgICAgbXkgJGVw
cmludF9kcyA9ICRyZXBvLT5kYXRhc2V0KCAiZXByaW50IiApOwogICAgICAgIG15ICRhdWRpdF9k
cyA9ICRyZXBvLT5kYXRhc2V0KCAiaGVmY2Vfb2FfYXVkaXQiICk7CgogICAgICAgIG15ICRsaXN0
ID0gJGVwcmludF9kcy0+bGlzdCggJGVwcmludHMgKTsKCiAgICAgICAgJGxpc3QtPm1hcChzdWJ7
CiAgICAgICAgICAgICh1bmRlZiwgdW5kZWYsIG15ICRlcHJpbnQpID0gQF87CiAgICAgICAgICAg
IG15ICRhdWRpdCA9ICRhdWRpdF9kcy0+ZGF0YW9ial9jbGFzcy0+Z2V0X2F1ZGl0X3JlY29yZCgg
JHJlcG8sICRlcHJpbnQgKTsKICAgICAgICAgICAgaWYoICFkZWZpbmVkICRhdWRpdCApCiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICRlcHJpbnRfYXVkaXRzeyRlcHJpbnQtPmlkfSA9IDA7
CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICBteSAkdmFsdWUgPSAkYXVkaXQtPmdldF92YWx1ZSggInVwX2RhdGVzdGFtcCIgKTsKICAg
ICAgICAgICAgICAgIG15ICRmaWVsZCA9ICRhdWRpdF9kcy0+ZmllbGQoICJ1cF9kYXRlc3RhbXAi
ICk7ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAkZXByaW50X2F1ZGl0c3skZXByaW50
LT5pZH0gPSAkZmllbGQtPm9yZGVydmFsdWVfYmFzaWMoICR2YWx1ZSApOwogICAgICAgICAgICB9
CiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgQGVwcmludHMgPSBzb3J0IHsgJGVwcmludF9h
dWRpdHN7JGF9IGNtcCAkZXByaW50X2F1ZGl0c3skYn0gfSBrZXlzICVlcHJpbnRfYXVkaXRzOwog
ICAgfQp9CgppZigkcmVwby0+Y2FuX2NhbGwoImhlZmNlX29hIiwgImdldF91bnBheXdhbGwiKSl7
CiAgICBmb3IgbXkgJGVwcmludGlkKEBlcHJpbnRzKXsKICAgICAgICBpZiggIWRlZmluZWQoJGVw
cmludGlkKSApewogICAgICAgICAgICBfZmF0YWwoJHJlcG8sLCJnZXRfdW5wYXl3YWxsIGNhbGxl
ZCB3aXRob3V0IGlkIGFyZ3VtZW50Iik7CiAgICAgICAgfWVsc2lmKCAkZXByaW50aWQgIX4gL14o
WzAtOV0rKSQvICl7CiAgICAgICAgICAgIF9mYXRhbCgkcmVwbywgImdldF91bnBheXdhbGwgcmVx
dWlyZXMgbnVtZXJpYyBlcHJpbnRpZCBhcmd1bWVudCIpOwogICAgICAgIH0KCiAgICAgICAgIG15
ICRlcHJpbnQgPSAkcmVwby0+ZGF0YXNldCggImVwcmludCIgKS0+ZGF0YW9iaiggJGVwcmludGlk
ICk7CiAgICAgICAgX2ZhdGFsKCRyZXBvLCAiTm8gZXByaW50IGZvdW5kIHdpdGggc3VwcGxpZWQg
cGFyYW1ldGVycyIpIGlmICghRVByaW50czo6VXRpbHM6OmlzX3NldCgkZXByaW50KSk7CgogICAg
ICAgIG15ICgkc3RhdHVzLCAkcmVzcG9uc2UsICRkZXRhaWxzKSA9ICRyZXBvLT5jYWxsKFsiaGVm
Y2Vfb2EiLCAiZ2V0X3VucGF5d2FsbCJdLCRyZXBvLCAkZXByaW50KTsKICAgIAogICAgICAgIF9m
YXRhbCgkcmVwbywgJHJlc3BvbnNlLCAkZGV0YWlscykgaWYoJHN0YXR1cyBlcSAiRVJST1IiKTsK
ICAgICAgICAKICAgICAgICBpZigkc3RhdHVzIGVxICJTVUNDRVNTIikKICAgICAgICB7CiAgICAg
ICAgICAgIF9wcm9jZXNzKCRyZXBvLCAkcmVzcG9uc2UsICRlcHJpbnQpOwogICAgICAgICAgICBz
bGVlcCgkcmVwby0+Z2V0X2NvbmYoImhlZmNlX29hIiwidW5wYXl3YWxsX3NsZWVwIikpOyAjIHNs
ZWVwIHRvIGVuc3VyZSB3ZSBkb24ndCBkbyBvdmVyIDEwMCwwMDAgY2FsbHMgaW4gYSBkYXkgCiAg
ICAgICAgfQogICAgfQoKfWVsc2V7CiAgICBfZmF0YWwoJHJlcG8sICJUaGUgUkVGIENDIGF1ZGl0
IGNoZWNrLXVwIGRvZXMgbm90IGFwcGVhciBvdCBiZSBwcm9wZXJseSBpbnN0YWxsZWQiKTsKfQoK
CnN1YiBfZmF0YWwgewogICAgbXkgKCRyZXBvLCAkbXNnLCAkcmVzcG9uc2UpID0gQF87CgogICAg
bXkgJGpzb24gPSBKU09OLT5uZXctPmFsbG93X25vbnJlZjsKIAogICAgaWYoIWRlZmluZWQgJHJl
c3BvbnNlKXsKICAgICAgICAkcmVwby0+bG9nKCRtc2cpOwogICAgICAgIHByaW50ICRqc29uLT5l
bmNvZGUoIHtlcnJvcj0+ICRtc2d9ICk7CiAgICB9ZWxzZXsKICAgICAgICAkcmVwby0+bG9nKCRt
c2cuIiAiLiRyZXNwb25zZS0+Y29udGVudCk7CiAgICAgICAgcHJpbnQgJGpzb24tPmVuY29kZSgg
e2Vycm9yPT4gJG1zZywgc3RhdHVzX2xpbmU9PiAkcmVzcG9uc2UtPnN0YXR1c19saW5lLCBjb2Rl
ID0+ICRyZXNwb25zZS0+Y29kZSwgcmVzcG9uc2UgPT4gJGpzb24tPnV0ZjgtPmRlY29kZSgkcmVz
cG9uc2UtPmNvbnRlbnQpfSApOwogICAgfQogICAgI2V4aXQ7IAp9CgpzdWIgX3Byb2Nlc3Mgewog
ICAgbXkgKCRyZXBvLCAkcmVzcG9uc2UsJGVwcmludCkgPSBAXzsKCiAgICBteSAkanNvbiA9IEpT
T04tPm5ldy0+YWxsb3dfbm9ucmVmOwoKCWlmKCAhICRyZXNwb25zZS0+aXNfc3VjY2VzcyApewog
ICAgICAgIF9mYXRhbCgkcmVwbywgIkVycm9yIGZyb20gdW5wYXl3YWxsIiwgJHJlc3BvbnNlKTsK
ICAgIH1lbHNlewogICAgICAgIG15ICR1cF9kYXRhID0gICRqc29uLT51dGY4LT5kZWNvZGUoICRy
ZXNwb25zZS0+Y29udGVudCApOwogICAgICAgIG15ICRlcF9vYWlfaWQgPSBFUHJpbnRzOjpPcGVu
QXJjaGl2ZXM6OnRvX29haV9pZGVudGlmaWVyKCBFUHJpbnRzOjpPcGVuQXJjaGl2ZXM6OmFyY2hp
dmVfaWQoICRyZXBvICksICRlcHJpbnQtPmdldF9pZCApOwoKICAgICAgICAjIFdlIGhhdmUgc29t
ZSBkYXRhLCBidXQgYmVmb3JlIHdlIGNhbiB1c2UgaXQgd2UgbmVlZCBhbiBhdWRpdCByZWNvcmQK
ICAgICAgICBteSAkYXVkaXRfZHMgPSAkcmVwby0+ZGF0YXNldCggImhlZmNlX29hX2F1ZGl0IiAp
OwogICAgICAgIG15ICRhdWRpdCA9ICRhdWRpdF9kcy0+ZGF0YW9ial9jbGFzcy0+Z2V0X2F1ZGl0
X3JlY29yZCggJHJlcG8sICRlcHJpbnQgKTsKICAgICAgICBpZiggIWRlZmluZWQgJGF1ZGl0ICkK
ICAgICAgICB7CiAgICAgICAgICAgICMgd2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgYXVkaXQgcmVj
b3JkCiAgICAgICAgICAgICRhdWRpdCA9ICRhdWRpdF9kcy0+Y3JlYXRlX2RhdGFvYmooCiAgICAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZXByaW50aWQgPT4gJGVwcmludC0+aWQK
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIG15ICRy
ZXBvX2hvc3QgPSAkcmVwby0+Z2V0X2NvbmYoImhvc3QiKTsKCiAgICAgICAgcHJpbnQgImlzX29h
OiAiLiR1cF9kYXRhLT57aXNfb2F9LiJcbiI7CiAgICAgICAgJGF1ZGl0LT5zZXRfdmFsdWUoICJ1
cF9pc19vYSIsIHVjKCAkdXBfZGF0YS0+e2lzX29hfSApICk7CgogICAgICAgIG15ICR1cF9sb2Mg
PSAkdXBfZGF0YS0+e2Jlc3Rfb2FfbG9jYXRpb259OwogICAgICAgIGlmKCBkZWZpbmVkICR1cF9s
b2MgKQogICAgICAgIHsgCiAgICAgICAgICAgICRhdWRpdC0+c2V0X3ZhbHVlKCAidXBfdXJsX2Zv
cl9wZGYiLCAkdXBfbG9jLT57dXJsX2Zvcl9wZGZ9ICk7CiAgICAgICAgfQoKICAgICAgICBteSBA
dXBfbG9jYXRpb25zOwogICAgICAgIGZvciBteSAkdXBfbG9jIChAeyR1cF9kYXRhLT57b2FfbG9j
YXRpb25zfX0pewoKICAgICAgICAgICAgbXkgJHVwX2xvY2F0aW9uID0ge307CgogICAgICAgICAg
ICAkdXBfbG9jYXRpb24tPnt1cmx9ID0gJHVwX2xvYy0+e3VybH07CiAgICAgICAgICAgICMgSWYg
d2UgZG8gbm90IGhhdmUgYSB2YWx1ZSBmb3IgdXJsX2Zvcl9wZGYgZnJvbSB0aGUgYmVzdF9sb2Nh
dGlvbiB3ZSB3aWxsIGdldCBvbmUgZnJvbSB0aGUgZmlyc3QgbG9jYXRpb24gdGhhdCBkb2VzIGhh
dmUgb25lLgogICAgICAgICAgICAkYXVkaXQtPnNldF92YWx1ZSggInVwX3VybF9mb3JfcGRmIiwg
JHVwX2xvYy0+e3VybF9mb3JfcGRmfSApIGlmKCFFUHJpbnRzOjpVdGlsczo6aXNfc2V0KCRhdWRp
dC0+dmFsdWUoInVwX3VybF9mb3JfcGRmIikpICYmIEVQcmludHM6OlV0aWxzOjppc19zZXQoJHVw
X2xvYy0+e3VybF9mb3JfcGRmfSkpOwogICAgICAgICAgICAkdXBfbG9jYXRpb24tPntwbWhfaWR9
ID0gJHVwX2xvYy0+e3BtaF9pZH07CiAgICAgICAgICAgICR1cF9sb2NhdGlvbi0+e2lzX2Jlc3R9
ID0gdWMoICR1cF9sb2MtPntpc19iZXN0fSApOwogICAgICAgICAgICAKICAgICAgICAgICAgcHVz
aCBAdXBfbG9jYXRpb25zLCAkdXBfbG9jYXRpb247CgogICAgICAgICAgICBpZigkdXBfbG9jLT57
aXNfYmVzdH0gZXEgInRydWUiKXsKICAgICAgICAgICAgICAgIHByaW50ICJcbiMjIyBVbnBheXdh
bGwgdGhpbmtzIHRoYXQgdGhpcyBpcyB0aGUgYmVzdCBsb2NhdGlvbiAjIyNcblxuIjsKICAgICAg
ICAgICAgICAgIHByaW50ICJSZXBvc2l0b3J5IGluc3RpdHV0aW9uID0+ICIuJHVwX2xvYy0+e3Jl
cG9zaXRvcnlfaW5zdGl0dXRpb259LiJcbiIgaWYoZGVmaW5lZCAkdXBfbG9jLT57cmVwb3NpdG9y
eV9pbnN0aXR1dGlvbn0pOwogICAgICAgICAgICAgICAgcHJpbnQgImhvc3RfdHlwZSA9PiAiLiR1
cF9sb2MtPntob3N0X3R5cGV9LiJcbiI7CiAgICAgICAgICAgICAgICBwcmludCAicG1oX2lkID0+
ICIuJHVwX2xvYy0+e3BtaF9pZH0uIlxuIiBpZihkZWZpbmVkICR1cF9sb2MtPntwbWhfaWR9KTsK
ICAgICAgICAgICAgICAgIHByaW50ICJ1cmwgPT4gIi4kdXBfbG9jLT57dXJsfS4iXG4iOwogICAg
ICAgICAgICAgICAgcHJpbnQgInVybF9mb3JfcGRmID0+ICIuJHVwX2xvYy0+e3VybF9mb3JfcGRm
fS4iXG4iOwogICAgICAgICAgICAgICAgcHJpbnQgInZlcnNpb24gPT4gIi4kdXBfbG9jLT57dmVy