ember-appkit-rails 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ember/appkit/rails.rb +4 -0
- data/lib/ember/appkit/rails/engine.rb +6 -1
- data/lib/ember/appkit/rails/teaspoon.rb +5 -0
- data/lib/ember/appkit/rails/teaspoon/engine.rb +3 -0
- data/lib/ember/appkit/rails/teaspoon/suite.rb +7 -0
- data/lib/ember/appkit/rails/version.rb +1 -1
- data/lib/ember/appkit/rails/views/teaspoon/spec/_eak_rails.html.erb +10 -0
- data/lib/generators/ember/bootstrap_generator.rb +27 -9
- data/lib/generators/ember/component_generator.rb +2 -2
- data/lib/generators/ember/controller_generator.rb +4 -4
- data/lib/generators/ember/generator_helpers.rb +4 -0
- data/lib/generators/ember/install_generator.rb +150 -0
- data/lib/generators/ember/model_generator.rb +7 -2
- data/lib/generators/ember/resource_generator.rb +1 -1
- data/lib/generators/ember/route_generator.rb +2 -2
- data/lib/generators/ember/scaffold_generator.rb +17 -3
- data/lib/generators/ember/serializer_override.rb +18 -0
- data/lib/generators/ember/view_generator.rb +2 -2
- data/{test/dummy/config/adapters/application.js.es6.erb → lib/generators/templates/adapters/application.es6.erb} +0 -0
- data/lib/generators/templates/application.js.erb +1 -0
- data/lib/generators/templates/{array_controller.js.es6 → array_controller.es6} +0 -0
- data/lib/generators/templates/{component.js.es6 → component.es6} +0 -0
- data/lib/generators/templates/{controller.js.es6 → controller.es6} +0 -0
- data/lib/generators/templates/environment.js.erb +2 -0
- data/lib/generators/templates/environments/development.js.erb +5 -5
- data/lib/generators/templates/environments/production.js.erb +2 -2
- data/lib/generators/templates/environments/test.js.erb +1 -1
- data/lib/generators/templates/initializers/teaspoon.rb +63 -0
- data/lib/generators/templates/{model.js.es6 → model.es6} +0 -0
- data/lib/generators/templates/{object_controller.js.es6 → object_controller.es6} +0 -0
- data/lib/generators/templates/{route.js.es6 → route.es6} +0 -0
- data/lib/generators/templates/{router.js.es6 → router.es6} +0 -0
- data/lib/generators/templates/scaffold/route/{edit.js.es6 → edit.es6} +1 -1
- data/lib/generators/templates/scaffold/route/{index.js.es6 → index.es6} +1 -1
- data/lib/generators/templates/scaffold/route/{new.js.es6 → new.es6} +1 -1
- data/lib/generators/templates/scaffold/route/{show.js.es6 → show.es6} +1 -1
- data/lib/generators/templates/scaffold/template/form.hbs +3 -4
- data/lib/generators/templates/scaffold/template/index.hbs +2 -2
- data/lib/generators/templates/scaffold/template/show.hbs +2 -2
- data/lib/generators/templates/scaffold_controller/controller.rb +2 -2
- data/lib/generators/templates/test/model.es6 +7 -0
- data/lib/generators/templates/test/route.es6 +23 -0
- data/lib/generators/templates/test/teaspoon_env.rb +38 -0
- data/lib/generators/templates/test/test_helper.js +55 -0
- data/lib/generators/templates/{view.js.es6 → view.es6} +0 -0
- data/test/dummy/config/adapters/application.es6.erb +3 -0
- data/test/dummy/config/application.js +1 -0
- data/test/dummy/config/environment.js.erb +2 -0
- data/test/dummy/config/environments/development.js.erb +5 -5
- data/test/dummy/config/environments/production.js.erb +2 -2
- data/test/dummy/config/environments/test.js.erb +1 -1
- data/test/dummy/config/initializers/secret_token.rb +1 -1
- data/test/dummy/config/initializers/teaspoon.rb +63 -0
- data/test/dummy/config/{router.js.es6 → router.es6} +0 -0
- data/test/dummy/log/test.log +71 -8
- data/test/dummy/test/teaspoon_env.rb +38 -0
- data/test/dummy/test/test_helper.js +55 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/{eeb5bd38d1dad0d908461fd114f702bc → 08230536deeb8bca57aa54c1cf9a8a67} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/0f4e288e1e01cda64059f8f521519f5a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/{492d1909e24832f58ebca96dade2a876 → 1318d49b0a8b80264cc6d140438953bf} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/39492898b23538577ff8db562a35fb7c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/3f9cb5a26b08b9e25de91fe142228ad2 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/4a1d4e32cd7b9fd1c62bfd553ae56051 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/4d3cadf0ab91b4a77adf81282a5550a1 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/{1f15c49a05b13c3a7ee50d2ac3900f38 → 571f65ff5db500e9ad70fc11060270a8} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/660bc633c8899c6c1b20514637fa0169 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/67afcba9807cd5e57b80b5fdf9f26758 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/{47fb03bce147145961cb3deeafca54d7 → 7190c4707840ff0d7c60920ae9739c79} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7ca4966e0a480430a858a7ab74518c75 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/83030d43d9bff738a1a01366d61d7691 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/83af35bb6b852de883a26a9458fd4e3a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8adfb5e646dca2c629e5d3dc88e2c2e9 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/9160f792acb62d1f7721c714681fcfe6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/a6a0d79927cb0ec286aa0afb9812685c +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/bb4a2293175928af3e23c47488077098 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/bf689240392e7355c0de5cfd47272146 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/{66c0ce49a71def0f29dcf0bcaf8fb28d → c4eca8931f39b747ea9f916a3b42d8da} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/cdbe9110f011148cc7a1f172dc18a883 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d5a48c6656341c56cac8a8e42bb925a5 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/{d4cb455bee790d041fb3111fb1636531 → d5b1e7219e29c039a8ebb0a4e5b19a2b} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/{ce7582379ff02bb25cee3ac0486fe1f2 → d5ce5243d4ca4a3739a15e60e3c685ba} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/de0932670a6c856bc6eda1586fd29061 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e9abb671d48f6ff2be6ffb463ea652bf +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/{e36a853a1349d7f33f6c0083c05f897b → fb43f1b92235ac87bedc9ac12be00188} +0 -0
- data/test/dummy/tmp/generator_test_output/app/views/{post.js.es6 → post.es6} +0 -0
- data/test/fixtures/vcr_cassettes/fetch_ember_beta.yml +39609 -0
- data/test/fixtures/vcr_cassettes/fetch_ember_canary.yml +41381 -0
- data/test/fixtures/vcr_cassettes/fetch_ember_data_tagged.yml +4283 -0
- data/test/fixtures/vcr_cassettes/fetch_ember_release.yml +38824 -0
- data/test/fixtures/vcr_cassettes/fetch_ember_tagged.yml +29518 -0
- data/test/generators/bootstrap_generator_test.rb +12 -4
- data/test/generators/component_generator_test.rb +6 -6
- data/test/generators/controller_generator_test.rb +5 -5
- data/test/generators/install_generator_test.rb +163 -0
- data/test/generators/model_generator_test.rb +29 -7
- data/test/generators/resource_generator_test.rb +6 -6
- data/test/generators/route_generator_test.rb +1 -1
- data/test/generators/scaffold_generator_test.rb +59 -10
- data/test/generators/serializer_override_test.rb +19 -0
- data/test/generators/view_generator_test.rb +6 -6
- data/test/integration/engine_test.rb +4 -0
- data/test/support/generator_test_support.rb +2 -2
- data/vendor/assets/javascripts/{app.js.es6.erb → app.es6.erb} +3 -1
- data/vendor/assets/javascripts/ember-appkit/index.js +0 -1
- data/vendor/assets/javascripts/ember-appkit/resolver.js +235 -32
- data/vendor/assets/javascripts/fake_xml_http_request.js +473 -0
- data/vendor/assets/javascripts/fakehr.js +52 -0
- data/vendor/assets/javascripts/httpRespond.js +24 -0
- metadata +126 -55
- data/lib/generators/templates/adapter.js.erb +0 -3
- data/test/dummy/tmp/cache/assets/test/sprockets/10fe949cc641775f5630b5dad6deb5fc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/129b422236f443119233cdb0a4525a06 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/25b8b60341168a02f48dabd2b0aa82ad +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/827fafc13575b345cc572fd041ef1fba +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/83a9a7d15d681a382363d2bccb9528bb +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/de94a60b438eb5bf57653f3a220acd80 +0 -0
- data/vendor/assets/javascripts/ember-appkit/resolver_ext.js +0 -40
@@ -0,0 +1,4283 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://builds.emberjs.com/tags/v1.0.0-beta.1/ember-data.js
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
Host:
|
17
|
+
- builds.emberjs.com
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
X-Amz-Id-2:
|
24
|
+
- cKB1NvBMCMXyzmglhVgd1u4e4s13hLCdLXuTzMqnAn1PZxM4EI11VQvuKVKtg5oG
|
25
|
+
X-Amz-Request-Id:
|
26
|
+
- 15EB4E489F8710FA
|
27
|
+
Date:
|
28
|
+
- Mon, 17 Feb 2014 11:45:23 GMT
|
29
|
+
Last-Modified:
|
30
|
+
- Sun, 01 Sep 2013 07:45:26 GMT
|
31
|
+
Etag:
|
32
|
+
- '"5829a6a7e731efc80e1d5677513e2d24"'
|
33
|
+
Content-Type:
|
34
|
+
- text/javascript
|
35
|
+
Content-Length:
|
36
|
+
- '184834'
|
37
|
+
Server:
|
38
|
+
- AmazonS3
|
39
|
+
body:
|
40
|
+
encoding: ASCII-8BIT
|
41
|
+
string: !binary |-
|
42
|
+
Ly8gVmVyc2lvbjogdjEuMC4wLWJldGEuMQovLyBMYXN0IGNvbW1pdDogY2Fm
|
43
|
+
YWI5ZCAoMjAxMy0wOS0wMSAwMDo0MjozOSAtMDcwMCkKCgooZnVuY3Rpb24o
|
44
|
+
KSB7CnZhciBkZWZpbmUsIHJlcXVpcmVNb2R1bGU7CgooZnVuY3Rpb24oKSB7
|
45
|
+
CiAgdmFyIHJlZ2lzdHJ5ID0ge30sIHNlZW4gPSB7fTsKCiAgZGVmaW5lID0g
|
46
|
+
ZnVuY3Rpb24obmFtZSwgZGVwcywgY2FsbGJhY2spIHsKICAgIHJlZ2lzdHJ5
|
47
|
+
W25hbWVdID0geyBkZXBzOiBkZXBzLCBjYWxsYmFjazogY2FsbGJhY2sgfTsK
|
48
|
+
ICB9OwoKICByZXF1aXJlTW9kdWxlID0gZnVuY3Rpb24obmFtZSkgewogICAg
|
49
|
+
aWYgKHNlZW5bbmFtZV0pIHsgcmV0dXJuIHNlZW5bbmFtZV07IH0KICAgIHNl
|
50
|
+
ZW5bbmFtZV0gPSB7fTsKCiAgICB2YXIgbW9kLCBkZXBzLCBjYWxsYmFjaywg
|
51
|
+
cmVpZmllZCAsIGV4cG9ydHM7CgogICAgbW9kID0gcmVnaXN0cnlbbmFtZV07
|
52
|
+
CgogICAgaWYgKCFtb2QpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJNb2R1
|
53
|
+
bGUgJyIgKyBuYW1lICsgIicgbm90IGZvdW5kLiIpOwogICAgfQoKICAgIGRl
|
54
|
+
cHMgPSBtb2QuZGVwczsKICAgIGNhbGxiYWNrID0gbW9kLmNhbGxiYWNrOwog
|
55
|
+
ICAgcmVpZmllZCA9IFtdOwogICAgZXhwb3J0czsKCiAgICBmb3IgKHZhciBp
|
56
|
+
PTAsIGw9ZGVwcy5sZW5ndGg7IGk8bDsgaSsrKSB7CiAgICAgIGlmIChkZXBz
|
57
|
+
W2ldID09PSAnZXhwb3J0cycpIHsKICAgICAgICByZWlmaWVkLnB1c2goZXhw
|
58
|
+
b3J0cyA9IHt9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZWlmaWVkLnB1
|
59
|
+
c2gocmVxdWlyZU1vZHVsZShkZXBzW2ldKSk7CiAgICAgIH0KICAgIH0KCiAg
|
60
|
+
ICB2YXIgdmFsdWUgPSBjYWxsYmFjay5hcHBseSh0aGlzLCByZWlmaWVkKTsK
|
61
|
+
ICAgIHJldHVybiBzZWVuW25hbWVdID0gZXhwb3J0cyB8fCB2YWx1ZTsKICB9
|
62
|
+
Owp9KSgpOwooZnVuY3Rpb24oKSB7CkVtYmVyLlN0cmluZy5wbHVyYWxpemUg
|
63
|
+
PSBmdW5jdGlvbih3b3JkKSB7CiAgcmV0dXJuIEVtYmVyLkluZmxlY3Rvci5p
|
64
|
+
bmZsZWN0b3IucGx1cmFsaXplKHdvcmQpOwp9OwoKRW1iZXIuU3RyaW5nLnNp
|
65
|
+
bmd1bGFyaXplID0gZnVuY3Rpb24od29yZCkgewogIHJldHVybiBFbWJlci5J
|
66
|
+
bmZsZWN0b3IuaW5mbGVjdG9yLnNpbmd1bGFyaXplKHdvcmQpOwp9OwoKfSko
|
67
|
+
KTsKCgoKKGZ1bmN0aW9uKCkgewp2YXIgQkxBTktfUkVHRVggPSAvXlxzKiQv
|
68
|
+
OwoKZnVuY3Rpb24gbG9hZFVuY291bnRhYmxlKHJ1bGVzLCB1bmNvdW50YWJs
|
69
|
+
ZSkgewogIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSB1bmNvdW50YWJsZS5s
|
70
|
+
ZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykgewogICAgcnVsZXMudW5jb3VudGFi
|
71
|
+
bGVbdW5jb3VudGFibGVbaV1dID0gdHJ1ZTsKICB9Cn0KCmZ1bmN0aW9uIGxv
|
72
|
+
YWRJcnJlZ3VsYXIocnVsZXMsIGlycmVndWxhclBhaXJzKSB7CiAgdmFyIHBh
|
73
|
+
aXI7CgogIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSBpcnJlZ3VsYXJQYWly
|
74
|
+
cy5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykgewogICAgcGFpciA9IGlycmVn
|
75
|
+
dWxhclBhaXJzW2ldOwoKICAgIHJ1bGVzLmlycmVndWxhcltwYWlyWzBdXSA9
|
76
|
+
IHBhaXJbMV07CiAgICBydWxlcy5pcnJlZ3VsYXJJbnZlcnNlW3BhaXJbMV1d
|
77
|
+
ID0gcGFpclswXTsKICB9Cn0KCmZ1bmN0aW9uIEluZmxlY3RvcihydWxlU2V0
|
78
|
+
KSB7CiAgcnVsZVNldCA9IHJ1bGVTZXQgfHwge307CiAgcnVsZVNldC51bmNv
|
79
|
+
dW50YWJsZSA9IHJ1bGVTZXQudW5jb3VudGFibGUgfHwge307CiAgcnVsZVNl
|
80
|
+
dC5pcnJlZ3VsYXJQYWlycz0gcnVsZVNldC5pcnJlZ3VsYXJQYWlyc3x8IHt9
|
81
|
+
OwoKICB2YXIgcnVsZXMgPSB0aGlzLnJ1bGVzID0gewogICAgcGx1cmFsczog
|
82
|
+
IHJ1bGVTZXQucGx1cmFscyB8fCBbXSwKICAgIHNpbmd1bGFyOiBydWxlU2V0
|
83
|
+
LnNpbmd1bGFyIHx8IFtdLAogICAgaXJyZWd1bGFyOiB7fSwKICAgIGlycmVn
|
84
|
+
dWxhckludmVyc2U6IHt9LAogICAgdW5jb3VudGFibGU6IHt9CiAgfTsKCiAg
|
85
|
+
bG9hZFVuY291bnRhYmxlKHJ1bGVzLCBydWxlU2V0LnVuY291bnRhYmxlKTsK
|
86
|
+
ICBsb2FkSXJyZWd1bGFyKHJ1bGVzLCBydWxlU2V0LmlycmVndWxhclBhaXJz
|
87
|
+
KTsKfQoKSW5mbGVjdG9yLnByb3RvdHlwZSA9IHsKICBwbHVyYWxpemU6IGZ1
|
88
|
+
bmN0aW9uKHdvcmQpIHsKICAgIHJldHVybiB0aGlzLmluZmxlY3Qod29yZCwg
|
89
|
+
dGhpcy5ydWxlcy5wbHVyYWxzKTsKICB9LAoKICBzaW5ndWxhcml6ZTogZnVu
|
90
|
+
Y3Rpb24od29yZCkgewogICAgcmV0dXJuIHRoaXMuaW5mbGVjdCh3b3JkLCB0
|
91
|
+
aGlzLnJ1bGVzLnNpbmd1bGFyKTsKICB9LAoKICBpbmZsZWN0OiBmdW5jdGlv
|
92
|
+
bih3b3JkLCB0eXBlUnVsZXMpIHsKICAgIHZhciBpbmZsZWN0aW9uLCBzdWJz
|
93
|
+
dGl0dXRpb24sIHJlc3VsdCwgbG93ZXJjYXNlLCBpc0JsYW5rLAogICAgaXNV
|
94
|
+
bmNvdW50YWJsZSwgaXNJcnJlZ3VsYXIsIGlzSXJyZWd1bGFySW52ZXJzZSwg
|
95
|
+
cnVsZTsKCiAgICBpc0JsYW5rID0gQkxBTktfUkVHRVgudGVzdCh3b3JkKTsK
|
96
|
+
CiAgICBpZiAoaXNCbGFuaykgewogICAgICByZXR1cm4gd29yZDsKICAgIH0K
|
97
|
+
CiAgICBsb3dlcmNhc2UgPSB3b3JkLnRvTG93ZXJDYXNlKCk7CgogICAgaXNV
|
98
|
+
bmNvdW50YWJsZSA9IHRoaXMucnVsZXMudW5jb3VudGFibGVbbG93ZXJjYXNl
|
99
|
+
XTsKCiAgICBpZiAoaXNVbmNvdW50YWJsZSkgewogICAgICByZXR1cm4gd29y
|
100
|
+
ZDsKICAgIH0KCiAgICBpc0lycmVndWxhciA9IHRoaXMucnVsZXMuaXJyZWd1
|
101
|
+
bGFyW2xvd2VyY2FzZV07CgogICAgaWYgKGlzSXJyZWd1bGFyKSB7CiAgICAg
|
102
|
+
IHJldHVybiBpc0lycmVndWxhcjsKICAgIH0KCiAgICBpc0lycmVndWxhcklu
|
103
|
+
dmVyc2UgPSB0aGlzLnJ1bGVzLmlycmVndWxhckludmVyc2VbbG93ZXJjYXNl
|
104
|
+
XTsKCiAgICBpZiAoaXNJcnJlZ3VsYXJJbnZlcnNlKSB7CiAgICAgIHJldHVy
|
105
|
+
biBpc0lycmVndWxhckludmVyc2U7CiAgICB9CgogICAgZm9yICh2YXIgaSA9
|
106
|
+
IHR5cGVSdWxlcy5sZW5ndGgsIG1pbiA9IDA7IGkgPiBtaW47IGktLSkgewog
|
107
|
+
ICAgICAgaW5mbGVjdGlvbiA9IHR5cGVSdWxlc1tpLTFdOwogICAgICAgcnVs
|
108
|
+
ZSA9IGluZmxlY3Rpb25bMF07CgogICAgICBpZiAocnVsZS50ZXN0KHdvcmQp
|
109
|
+
KSB7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICBpbmZsZWN0
|
110
|
+
aW9uID0gaW5mbGVjdGlvbiB8fCBbXTsKCiAgICBydWxlID0gaW5mbGVjdGlv
|
111
|
+
blswXTsKICAgIHN1YnN0aXR1dGlvbiA9IGluZmxlY3Rpb25bMV07CgogICAg
|
112
|
+
cmVzdWx0ID0gd29yZC5yZXBsYWNlKHJ1bGUsIHN1YnN0aXR1dGlvbik7Cgog
|
113
|
+
ICAgcmV0dXJuIHJlc3VsdDsKICB9Cn07CgpFbWJlci5JbmZsZWN0b3IgPSBJ
|
114
|
+
bmZsZWN0b3I7Cgp9KSgpOwoKCgooZnVuY3Rpb24oKSB7CkVtYmVyLkluZmxl
|
115
|
+
Y3Rvci5kZWZhdWx0UnVsZXMgPSB7CiAgcGx1cmFsczogWwogICAgWy8kLywg
|
116
|
+
J3MnXSwKICAgIFsvcyQvaSwgJ3MnXSwKICAgIFsvXihheHx0ZXN0KWlzJC9p
|
117
|
+
LCAnJDFlcyddLAogICAgWy8ob2N0b3B8dmlyKXVzJC9pLCAnJDFpJ10sCiAg
|
118
|
+
ICBbLyhvY3RvcHx2aXIpaSQvaSwgJyQxaSddLAogICAgWy8oYWxpYXN8c3Rh
|
119
|
+
dHVzKSQvaSwgJyQxZXMnXSwKICAgIFsvKGJ1KXMkL2ksICckMXNlcyddLAog
|
120
|
+
ICAgWy8oYnVmZmFsfHRvbWF0KW8kL2ksICckMW9lcyddLAogICAgWy8oW3Rp
|
121
|
+
XSl1bSQvaSwgJyQxYSddLAogICAgWy8oW3RpXSlhJC9pLCAnJDFhJ10sCiAg
|
122
|
+
ICBbL3NpcyQvaSwgJ3NlcyddLAogICAgWy8oPzooW15mXSlmZXwoW2xyXSlm
|
123
|
+
KSQvaSwgJyQxJDJ2ZXMnXSwKICAgIFsvKGhpdmUpJC9pLCAnJDFzJ10sCiAg
|
124
|
+
ICBbLyhbXmFlaW91eV18cXUpeSQvaSwgJyQxaWVzJ10sCiAgICBbLyh4fGNo
|
125
|
+
fHNzfHNoKSQvaSwgJyQxZXMnXSwKICAgIFsvKG1hdHJ8dmVydHxpbmQpKD86
|
126
|
+
aXh8ZXgpJC9pLCAnJDFpY2VzJ10sCiAgICBbL14obXxsKW91c2UkL2ksICck
|
127
|
+
MWljZSddLAogICAgWy9eKG18bClpY2UkL2ksICckMWljZSddLAogICAgWy9e
|
128
|
+
KG94KSQvaSwgJyQxZW4nXSwKICAgIFsvXihveGVuKSQvaSwgJyQxJ10sCiAg
|
129
|
+
ICBbLyhxdWl6KSQvaSwgJyQxemVzJ10KICBdLAoKICBzaW5ndWxhcjogWwog
|
130
|
+
ICAgWy9zJC9pLCAnJ10sCiAgICBbLyhzcykkL2ksICckMSddLAogICAgWy8o
|
131
|
+
billd3MkL2ksICckMWV3cyddLAogICAgWy8oW3RpXSlhJC9pLCAnJDF1bSdd
|
132
|
+
LAogICAgWy8oKGEpbmFseXwoYilhfChkKWlhZ25vfChwKWFyZW50aGV8KHAp
|
133
|
+
cm9nbm98KHMpeW5vcHwodCloZSkoc2lzfHNlcykkL2ksICckMXNpcyddLAog
|
134
|
+
ICAgWy8oXmFuYWx5KShzaXN8c2VzKSQvaSwgJyQxc2lzJ10sCiAgICBbLyhb
|
135
|
+
XmZdKXZlcyQvaSwgJyQxZmUnXSwKICAgIFsvKGhpdmUpcyQvaSwgJyQxJ10s
|
136
|
+
CiAgICBbLyh0aXZlKXMkL2ksICckMSddLAogICAgWy8oW2xyXSl2ZXMkL2ks
|
137
|
+
ICckMWYnXSwKICAgIFsvKFteYWVpb3V5XXxxdSlpZXMkL2ksICckMXknXSwK
|
138
|
+
ICAgIFsvKHMpZXJpZXMkL2ksICckMWVyaWVzJ10sCiAgICBbLyhtKW92aWVz
|
139
|
+
JC9pLCAnJDFvdmllJ10sCiAgICBbLyh4fGNofHNzfHNoKWVzJC9pLCAnJDEn
|
140
|
+
XSwKICAgIFsvXihtfGwpaWNlJC9pLCAnJDFvdXNlJ10sCiAgICBbLyhidXMp
|
141
|
+
KGVzKT8kL2ksICckMSddLAogICAgWy8obyllcyQvaSwgJyQxJ10sCiAgICBb
|
142
|
+
LyhzaG9lKXMkL2ksICckMSddLAogICAgWy8oY3Jpc3x0ZXN0KShpc3xlcykk
|
143
|
+
L2ksICckMWlzJ10sCiAgICBbL14oYSl4W2llXXMkL2ksICckMXhpcyddLAog
|
144
|
+
ICAgWy8ob2N0b3B8dmlyKSh1c3xpKSQvaSwgJyQxdXMnXSwKICAgIFsvKGFs
|
145
|
+
aWFzfHN0YXR1cykoZXMpPyQvaSwgJyQxJ10sCiAgICBbL14ob3gpZW4vaSwg
|
146
|
+
JyQxJ10sCiAgICBbLyh2ZXJ0fGluZClpY2VzJC9pLCAnJDFleCddLAogICAg
|
147
|
+
Wy8obWF0cilpY2VzJC9pLCAnJDFpeCddLAogICAgWy8ocXVpeil6ZXMkL2ks
|
148
|
+
ICckMSddLAogICAgWy8oZGF0YWJhc2UpcyQvaSwgJyQxJ10KICBdLAoKICBp
|
149
|
+
cnJlZ3VsYXJQYWlyczogWwogICAgWydwZXJzb24nLCAncGVvcGxlJ10sCiAg
|
150
|
+
ICBbJ21hbicsICdtZW4nXSwKICAgIFsnY2hpbGQnLCAnY2hpbGRyZW4nXSwK
|
151
|
+
ICAgIFsnc2V4JywgJ3NleGVzJ10sCiAgICBbJ21vdmUnLCAnbW92ZXMnXSwK
|
152
|
+
ICAgIFsnY293JywgJ2tpbmUnXSwKICAgIFsnem9tYmllJywgJ3pvbWJpZXMn
|
153
|
+
XQogIF0sCgogIHVuY291bnRhYmxlOiBbCiAgICAnZXF1aXBtZW50JywKICAg
|
154
|
+
ICdpbmZvcm1hdGlvbicsCiAgICAncmljZScsCiAgICAnbW9uZXknLAogICAg
|
155
|
+
J3NwZWNpZXMnLAogICAgJ3NlcmllcycsCiAgICAnZmlzaCcsCiAgICAnc2hl
|
156
|
+
ZXAnLAogICAgJ2plYW5zJywKICAgICdwb2xpY2UnCiAgXQp9OwoKfSkoKTsK
|
157
|
+
CgoKKGZ1bmN0aW9uKCkgewppZiAoRW1iZXIuRVhURU5EX1BST1RPVFlQRVMp
|
158
|
+
IHsNCiAgLyoqDQogICAgU2VlIHt7I2Nyb3NzTGluayAiRW1iZXIuU3RyaW5n
|
159
|
+
L3BsdXJhbGl6ZSJ9fXt7L2Nyb3NzTGlua319DQoNCiAgICBAbWV0aG9kIHBs
|
160
|
+
dXJhbGl6ZQ0KICAgIEBmb3IgU3RyaW5nDQogICovDQogIFN0cmluZy5wcm90
|
161
|
+
b3R5cGUucGx1cmFsaXplID0gZnVuY3Rpb24oKSB7DQogICAgcmV0dXJuIEVt
|
162
|
+
YmVyLlN0cmluZy5wbHVyYWxpemUodGhpcyk7DQogIH07DQoNCiAgLyoqDQog
|
163
|
+
ICAgU2VlIHt7I2Nyb3NzTGluayAiRW1iZXIuU3RyaW5nL3Npbmd1bGFyaXpl
|
164
|
+
In19e3svY3Jvc3NMaW5rfX0NCg0KICAgIEBtZXRob2Qgc2luZ3VsYXJpemUN
|
165
|
+
CiAgICBAZm9yIFN0cmluZw0KICAqLw0KICBTdHJpbmcucHJvdG90eXBlLnNp
|
166
|
+
bmd1bGFyaXplID0gZnVuY3Rpb24oKSB7DQogICAgcmV0dXJuIEVtYmVyLlN0
|
167
|
+
cmluZy5zaW5ndWxhcml6ZSh0aGlzKTsNCiAgfTsNCn0NCgp9KSgpOwoKCgoo
|
168
|
+
ZnVuY3Rpb24oKSB7CkVtYmVyLkluZmxlY3Rvci5pbmZsZWN0b3IgPSBuZXcg
|
169
|
+
RW1iZXIuSW5mbGVjdG9yKEVtYmVyLkluZmxlY3Rvci5kZWZhdWx0UnVsZXMp
|
170
|
+
Ow0KCn0pKCk7CgoKCihmdW5jdGlvbigpIHsKCn0pKCk7CgoKfSkoKTsKLy8g
|
171
|
+
VmVyc2lvbjogdjEuMC4wLWJldGEuMQovLyBMYXN0IGNvbW1pdDogY2FmYWI5
|
172
|
+
ZCAoMjAxMy0wOS0wMSAwMDo0MjozOSAtMDcwMCkKCgooZnVuY3Rpb24oKSB7
|
173
|
+
Ci8qKgogIEBtb2R1bGUgZW1iZXItZGF0YQoqLwoKLyoqCiAgQWxsIEVtYmVy
|
174
|
+
IERhdGEgbWV0aG9kcyBhbmQgZnVuY3Rpb25zIGFyZSBkZWZpbmVkIGluc2lk
|
175
|
+
ZSBvZiB0aGlzIG5hbWVzcGFjZS4KCiAgQGNsYXNzIERTCiAgQHN0YXRpYwoq
|
176
|
+
LwoKaWYgKCd1bmRlZmluZWQnID09PSB0eXBlb2YgRFMpIHsKICBEUyA9IEVt
|
177
|
+
YmVyLk5hbWVzcGFjZS5jcmVhdGUoewogICAgVkVSU0lPTjogJzEuMC4wLWJl
|
178
|
+
dGEuMScKICB9KTsKCiAgaWYgKCd1bmRlZmluZWQnICE9PSB0eXBlb2Ygd2lu
|
179
|
+
ZG93KSB7CiAgICB3aW5kb3cuRFMgPSBEUzsKICB9Cn0KfSkoKTsKCgoKKGZ1
|
180
|
+
bmN0aW9uKCkgewovKioKICBAbW9kdWxlIGVtYmVyLWRhdGEKKi8KCnZhciBp
|
181
|
+
c05vbmUgPSBFbWJlci5pc05vbmUsIGlzRW1wdHkgPSBFbWJlci5pc0VtcHR5
|
182
|
+
OwoKLyoqCiAgRFMuSlNPTlRyYW5zZm9ybXMgaXMgYSBoYXNoIG9mIHRyYW5z
|
183
|
+
Zm9ybXMgdXNlZCBieSBEUy5TZXJpYWxpemVyLgoKICBAY2xhc3MgSlNPTlRy
|
184
|
+
YW5zZm9ybXMKICBAc3RhdGljCiAgQG5hbWVzcGFjZSBEUwoqLwpEUy5KU09O
|
185
|
+
VHJhbnNmb3JtcyA9IHsKICBzdHJpbmc6IHsKICAgIGRlc2VyaWFsaXplOiBm
|
186
|
+
dW5jdGlvbihzZXJpYWxpemVkKSB7CiAgICAgIHJldHVybiBpc05vbmUoc2Vy
|
187
|
+
aWFsaXplZCkgPyBudWxsIDogU3RyaW5nKHNlcmlhbGl6ZWQpOwogICAgfSwK
|
188
|
+
CiAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKGRlc2VyaWFsaXplZCkgewogICAg
|
189
|
+
ICByZXR1cm4gaXNOb25lKGRlc2VyaWFsaXplZCkgPyBudWxsIDogU3RyaW5n
|
190
|
+
KGRlc2VyaWFsaXplZCk7CiAgICB9CiAgfSwKCiAgbnVtYmVyOiB7CiAgICBk
|
191
|
+
ZXNlcmlhbGl6ZTogZnVuY3Rpb24oc2VyaWFsaXplZCkgewogICAgICByZXR1
|
192
|
+
cm4gaXNFbXB0eShzZXJpYWxpemVkKSA/IG51bGwgOiBOdW1iZXIoc2VyaWFs
|
193
|
+
aXplZCk7CiAgICB9LAoKICAgIHNlcmlhbGl6ZTogZnVuY3Rpb24oZGVzZXJp
|
194
|
+
YWxpemVkKSB7CiAgICAgIHJldHVybiBpc0VtcHR5KGRlc2VyaWFsaXplZCkg
|
195
|
+
PyBudWxsIDogTnVtYmVyKGRlc2VyaWFsaXplZCk7CiAgICB9CiAgfSwKCiAg
|
196
|
+
Ly8gSGFuZGxlcyB0aGUgZm9sbG93aW5nIGJvb2xlYW4gaW5wdXRzOgogIC8v
|
197
|
+
ICJUclVlIiwgInQiLCAiZiIsICJGQUxTRSIsIDAsIChub24temVybyksIG9y
|
198
|
+
IGJvb2xlYW4gdHJ1ZS9mYWxzZQogICdib29sZWFuJzogewogICAgZGVzZXJp
|
199
|
+
YWxpemU6IGZ1bmN0aW9uKHNlcmlhbGl6ZWQpIHsKICAgICAgdmFyIHR5cGUg
|
200
|
+
PSB0eXBlb2Ygc2VyaWFsaXplZDsKCiAgICAgIGlmICh0eXBlID09PSAiYm9v
|
201
|
+
bGVhbiIpIHsKICAgICAgICByZXR1cm4gc2VyaWFsaXplZDsKICAgICAgfSBl
|
202
|
+
bHNlIGlmICh0eXBlID09PSAic3RyaW5nIikgewogICAgICAgIHJldHVybiBz
|
203
|
+
ZXJpYWxpemVkLm1hdGNoKC9edHJ1ZSR8XnQkfF4xJC9pKSAhPT0gbnVsbDsK
|
204
|
+
ICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAibnVtYmVyIikgewogICAgICAg
|
205
|
+
IHJldHVybiBzZXJpYWxpemVkID09PSAxOwogICAgICB9IGVsc2UgewogICAg
|
206
|
+
ICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSwKCiAgICBzZXJpYWxp
|
207
|
+
emU6IGZ1bmN0aW9uKGRlc2VyaWFsaXplZCkgewogICAgICByZXR1cm4gQm9v
|
208
|
+
bGVhbihkZXNlcmlhbGl6ZWQpOwogICAgfQogIH0sCgogIGRhdGU6IHsKICAg
|
209
|
+
IGRlc2VyaWFsaXplOiBmdW5jdGlvbihzZXJpYWxpemVkKSB7CiAgICAgIHZh
|
210
|
+
ciB0eXBlID0gdHlwZW9mIHNlcmlhbGl6ZWQ7CgogICAgICBpZiAodHlwZSA9
|
211
|
+
PT0gInN0cmluZyIpIHsKICAgICAgICByZXR1cm4gbmV3IERhdGUoRW1iZXIu
|
212
|
+
RGF0ZS5wYXJzZShzZXJpYWxpemVkKSk7CiAgICAgIH0gZWxzZSBpZiAodHlw
|
213
|
+
ZSA9PT0gIm51bWJlciIpIHsKICAgICAgICByZXR1cm4gbmV3IERhdGUoc2Vy
|
214
|
+
aWFsaXplZCk7CiAgICAgIH0gZWxzZSBpZiAoc2VyaWFsaXplZCA9PT0gbnVs
|
215
|
+
bCB8fCBzZXJpYWxpemVkID09PSB1bmRlZmluZWQpIHsKICAgICAgICAvLyBp
|
216
|
+
ZiB0aGUgdmFsdWUgaXMgbm90IHByZXNlbnQgaW4gdGhlIGRhdGEsCiAgICAg
|
217
|
+
ICAgLy8gcmV0dXJuIHVuZGVmaW5lZCwgbm90IG51bGwuCiAgICAgICAgcmV0
|
218
|
+
dXJuIHNlcmlhbGl6ZWQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJu
|
219
|
+
IG51bGw7CiAgICAgIH0KICAgIH0sCgogICAgc2VyaWFsaXplOiBmdW5jdGlv
|
220
|
+
bihkYXRlKSB7CiAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkgewog
|
221
|
+
ICAgICAgIHZhciBkYXlzID0gWyJTdW4iLCAiTW9uIiwgIlR1ZSIsICJXZWQi
|
222
|
+
LCAiVGh1IiwgIkZyaSIsICJTYXQiXTsKICAgICAgICB2YXIgbW9udGhzID0g
|
223
|
+
WyJKYW4iLCAiRmViIiwgIk1hciIsICJBcHIiLCAiTWF5IiwgIkp1biIsICJK
|
224
|
+
dWwiLCAiQXVnIiwgIlNlcCIsICJPY3QiLCAiTm92IiwgIkRlYyJdOwoKICAg
|
225
|
+
ICAgICB2YXIgcGFkID0gZnVuY3Rpb24obnVtKSB7CiAgICAgICAgICByZXR1
|
226
|
+
cm4gbnVtIDwgMTAgPyAiMCIrbnVtIDogIiIrbnVtOwogICAgICAgIH07Cgog
|
227
|
+
ICAgICAgIHZhciB1dGNZZWFyID0gZGF0ZS5nZXRVVENGdWxsWWVhcigpLAog
|
228
|
+
ICAgICAgICAgICB1dGNNb250aCA9IGRhdGUuZ2V0VVRDTW9udGgoKSwKICAg
|
229
|
+
ICAgICAgICAgdXRjRGF5T2ZNb250aCA9IGRhdGUuZ2V0VVRDRGF0ZSgpLAog
|
230
|
+
ICAgICAgICAgICB1dGNEYXkgPSBkYXRlLmdldFVUQ0RheSgpLAogICAgICAg
|
231
|
+
ICAgICB1dGNIb3VycyA9IGRhdGUuZ2V0VVRDSG91cnMoKSwKICAgICAgICAg
|
232
|
+
ICAgdXRjTWludXRlcyA9IGRhdGUuZ2V0VVRDTWludXRlcygpLAogICAgICAg
|
233
|
+
ICAgICB1dGNTZWNvbmRzID0gZGF0ZS5nZXRVVENTZWNvbmRzKCk7CgoKICAg
|
234
|
+
ICAgICB2YXIgZGF5T2ZXZWVrID0gZGF5c1t1dGNEYXldOwogICAgICAgIHZh
|
235
|
+
ciBkYXlPZk1vbnRoID0gcGFkKHV0Y0RheU9mTW9udGgpOwogICAgICAgIHZh
|
236
|
+
ciBtb250aCA9IG1vbnRoc1t1dGNNb250aF07CgogICAgICAgIHJldHVybiBk
|
237
|
+
YXlPZldlZWsgKyAiLCAiICsgZGF5T2ZNb250aCArICIgIiArIG1vbnRoICsg
|
238
|
+
IiAiICsgdXRjWWVhciArICIgIiArCiAgICAgICAgICAgICAgIHBhZCh1dGNI
|
239
|
+
b3VycykgKyAiOiIgKyBwYWQodXRjTWludXRlcykgKyAiOiIgKyBwYWQodXRj
|
240
|
+
U2Vjb25kcykgKyAiIEdNVCI7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0
|
241
|
+
dXJuIG51bGw7CiAgICAgIH0KICAgIH0KICB9Cn07Cgp9KSgpOwoKCgooZnVu
|
242
|
+
Y3Rpb24oKSB7CnZhciBnZXQgPSBFbWJlci5nZXQsIHNldCA9IEVtYmVyLnNl
|
243
|
+
dCwgaXNOb25lID0gRW1iZXIuaXNOb25lOwoKdmFyIHRyYW5zZm9ybXMgPSBE
|
244
|
+
Uy5KU09OVHJhbnNmb3JtczsKCi8vIFNpbXBsZSBkaXNwYXRjaGVyIHRvIHN1
|
245
|
+
cHBvcnQgb3ZlcnJpZGluZyB0aGUgYWxpYXNlZAovLyBtZXRob2QgaW4gc3Vi
|
246
|
+
Y2xhc3Nlcy4KZnVuY3Rpb24gYWxpYXNNZXRob2QobWV0aG9kTmFtZSkgewog
|
247
|
+
IHJldHVybiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzW21ldGhvZE5h
|
248
|
+
bWVdLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgfTsKfQoKRFMuSlNPTlNl
|
249
|
+
cmlhbGl6ZXIgPSBFbWJlci5PYmplY3QuZXh0ZW5kKHsKICBwcmltYXJ5S2V5
|
250
|
+
OiAnaWQnLAoKICBkZXNlcmlhbGl6ZTogZnVuY3Rpb24odHlwZSwgZGF0YSkg
|
251
|
+
ewogICAgdmFyIHN0b3JlID0gZ2V0KHRoaXMsICdzdG9yZScpOwoKICAgIHR5
|
252
|
+
cGUuZWFjaFRyYW5zZm9ybWVkQXR0cmlidXRlKGZ1bmN0aW9uKGtleSwgdHlw
|
253
|
+
ZSkgewogICAgICBkYXRhW2tleV0gPSB0cmFuc2Zvcm1zW3R5cGVdLmRlc2Vy
|
254
|
+
aWFsaXplKGRhdGFba2V5XSk7CiAgICB9KTsKCiAgICB0eXBlLmVhY2hSZWxh
|
255
|
+
dGlvbnNoaXAoZnVuY3Rpb24oa2V5LCByZWxhdGlvbnNoaXApIHsKICAgICAg
|
256
|
+
Ly8gQSBsaW5rICh1c3VhbGx5IGEgVVJMKSB3YXMgYWxyZWFkeSBwcm92aWRl
|
257
|
+
ZCBpbgogICAgICAvLyBub3JtYWxpemVkIGZvcm0KICAgICAgaWYgKGRhdGEu
|
258
|
+
bGlua3MgJiYgZGF0YS5saW5rc1trZXldKSB7CiAgICAgICAgcmV0dXJuOwog
|
259
|
+
ICAgICB9CgogICAgICB2YXIgdHlwZSA9IHJlbGF0aW9uc2hpcC50eXBlLAog
|
260
|
+
ICAgICAgICAgdmFsdWUgPSBkYXRhW2tleV07CgogICAgICBpZiAodmFsdWUg
|
261
|
+
PT0gbnVsbCkgeyByZXR1cm47IH0KCiAgICAgIGlmIChyZWxhdGlvbnNoaXAu
|
262
|
+
a2luZCA9PT0gJ2JlbG9uZ3NUbycpIHsKICAgICAgICB0aGlzLmRlc2VyaWFs
|
263
|
+
aXplUmVjb3JkSWQoZGF0YSwga2V5LCByZWxhdGlvbnNoaXAsIHZhbHVlKTsK
|
264
|
+
ICAgICAgfSBlbHNlIGlmIChyZWxhdGlvbnNoaXAua2luZCA9PT0gJ2hhc01h
|
265
|
+
bnknKSB7CiAgICAgICAgdGhpcy5kZXNlcmlhbGl6ZVJlY29yZElkcyhkYXRh
|
266
|
+
LCBrZXksIHJlbGF0aW9uc2hpcCwgdmFsdWUpOwogICAgICB9CiAgICB9LCB0
|
267
|
+
aGlzKTsKCiAgICByZXR1cm4gZGF0YTsKICB9LAoKICBkZXNlcmlhbGl6ZVJl
|
268
|
+
Y29yZElkOiBmdW5jdGlvbihkYXRhLCBrZXksIHJlbGF0aW9uc2hpcCwgaWQp
|
269
|
+
IHsKICAgIGlmIChpc05vbmUoaWQpIHx8IGlkIGluc3RhbmNlb2YgRFMuTW9k
|
270
|
+
ZWwpIHsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciB0eXBlOwoKICAg
|
271
|
+
IGlmICh0eXBlb2YgaWQgPT09ICdudW1iZXInIHx8IHR5cGVvZiBpZCA9PT0g
|
272
|
+
J3N0cmluZycpIHsKICAgICAgdHlwZSA9IHRoaXMudHlwZUZvcihyZWxhdGlv
|
273
|
+
bnNoaXAsIGtleSwgZGF0YSk7CiAgICAgIGRhdGFba2V5XSA9IGdldCh0aGlz
|
274
|
+
LCAnc3RvcmUnKS5yZWNvcmRGb3JJZCh0eXBlLCBpZCk7CiAgICB9IGVsc2Ug
|
275
|
+
aWYgKHR5cGVvZiBpZCA9PT0gJ29iamVjdCcpIHsKICAgICAgLy8gcG9seW1v
|
276
|
+
cnBoaWMKICAgICAgZGF0YVtrZXldID0gZ2V0KHRoaXMsICdzdG9yZScpLnJl
|
277
|
+
Y29yZEZvcklkKGlkLnR5cGUsIGlkLmlkKTsKICAgIH0KICB9LAoKICBkZXNl
|
278
|
+
cmlhbGl6ZVJlY29yZElkczogZnVuY3Rpb24oZGF0YSwga2V5LCByZWxhdGlv
|
279
|
+
bnNoaXAsIGlkcykgewogICAgZm9yICh2YXIgaT0wLCBsPWlkcy5sZW5ndGg7
|
280
|
+
IGk8bDsgaSsrKSB7CiAgICAgIHRoaXMuZGVzZXJpYWxpemVSZWNvcmRJZChp
|
281
|
+
ZHMsIGksIHJlbGF0aW9uc2hpcCwgaWRzW2ldKTsKICAgIH0KICB9LAoKICAv
|
282
|
+
LyBTRVJJQUxJWkUKCiAgc2VyaWFsaXplOiBmdW5jdGlvbihyZWNvcmQsIG9w
|
283
|
+
dGlvbnMpIHsKICAgIHZhciBzdG9yZSA9IGdldCh0aGlzLCAnc3RvcmUnKTsK
|
284
|
+
CiAgICB2YXIganNvbiA9IHt9OwoKICAgIGlmIChvcHRpb25zICYmIG9wdGlv
|
285
|
+
bnMuaW5jbHVkZUlkKSB7CiAgICAgIHZhciBpZCA9IGdldChyZWNvcmQsICdp
|
286
|
+
ZCcpOwoKICAgICAgaWYgKGlkKSB7CiAgICAgICAganNvbltnZXQodGhpcywg
|
287
|
+
J3ByaW1hcnlLZXknKV0gPSBnZXQocmVjb3JkLCAnaWQnKTsKICAgICAgfQog
|
288
|
+
ICAgfQoKICAgIHZhciBhdHRycyA9IGdldCh0aGlzLCAnYXR0cnMnKTsKCiAg
|
289
|
+
ICByZWNvcmQuZWFjaEF0dHJpYnV0ZShmdW5jdGlvbihrZXksIGF0dHJpYnV0
|
290
|
+
ZSkgewogICAgICB2YXIgdmFsdWUgPSBnZXQocmVjb3JkLCBrZXkpLCB0eXBl
|
291
|
+
ID0gYXR0cmlidXRlLnR5cGU7CgogICAgICBpZiAodHlwZSkgewogICAgICAg
|
292
|
+
IHZhbHVlID0gdHJhbnNmb3Jtc1t0eXBlXS5zZXJpYWxpemUodmFsdWUpOwog
|
293
|
+
ICAgICB9CgogICAgICAvLyBpZiBwcm92aWRlZCwgdXNlIHRoZSBtYXBwaW5n
|
294
|
+
IHByb3ZpZGVkIGJ5IGBhdHRyc2AgaW4KICAgICAgLy8gdGhlIHNlcmlhbGl6
|
295
|
+
ZXIKICAgICAga2V5ID0gYXR0cnMgJiYgYXR0cnNba2V5XSB8fCBrZXk7Cgog
|
296
|
+
ICAgICBqc29uW2tleV0gPSB2YWx1ZTsKICAgIH0sIHRoaXMpOwoKICAgIHJl
|
297
|
+
Y29yZC5lYWNoUmVsYXRpb25zaGlwKGZ1bmN0aW9uKGtleSwgcmVsYXRpb25z
|
298
|
+
aGlwKSB7CiAgICAgIGlmIChyZWxhdGlvbnNoaXAua2luZCA9PT0gJ2JlbG9u
|
299
|
+
Z3NUbycpIHsKICAgICAgICB0aGlzLnNlcmlhbGl6ZUJlbG9uZ3NUbyhyZWNv
|
300
|
+
cmQsIGpzb24sIHJlbGF0aW9uc2hpcCk7CiAgICAgIH0gZWxzZSBpZiAocmVs
|
301
|
+
YXRpb25zaGlwLmtpbmQgPT09ICdoYXNNYW55JykgewogICAgICAgIHRoaXMu
|
302
|
+
c2VyaWFsaXplSGFzTWFueShyZWNvcmQsIGpzb24sIHJlbGF0aW9uc2hpcCk7
|
303
|
+
CiAgICAgIH0KICAgIH0sIHRoaXMpOwoKICAgIHJldHVybiBqc29uOwogIH0s
|
304
|
+
CgogIHNlcmlhbGl6ZUJlbG9uZ3NUbzogZnVuY3Rpb24ocmVjb3JkLCBqc29u
|
305
|
+
LCByZWxhdGlvbnNoaXApIHsKICAgIHZhciBrZXkgPSByZWxhdGlvbnNoaXAu
|
306
|
+
a2V5OwoKICAgIHZhciBiZWxvbmdzVG8gPSBnZXQocmVjb3JkLCBrZXkpOwoK
|
307
|
+
ICAgIGlmIChpc05vbmUoYmVsb25nc1RvKSkgeyByZXR1cm47IH0KCiAgICBq
|
308
|
+
c29uW2tleV0gPSBnZXQoYmVsb25nc1RvLCAnaWQnKTsKCiAgICBpZiAocmVs
|
309
|
+
YXRpb25zaGlwLm9wdGlvbnMucG9seW1vcnBoaWMpIHsKICAgICAganNvbltr
|
310
|
+
ZXkgKyAiX3R5cGUiXSA9IGJlbG9uZ3NUby5jb25zdHJ1Y3Rvci50eXBlS2V5
|
311
|
+
OwogICAgfQogIH0sCgogIHNlcmlhbGl6ZUhhc01hbnk6IEVtYmVyLkssCgog
|
312
|
+
IC8vIEVYVFJBQ1QKCiAgZXh0cmFjdDogZnVuY3Rpb24oc3RvcmUsIHR5cGUs
|
313
|
+
IHBheWxvYWQsIGlkLCByZXF1ZXN0VHlwZSkgewogICAgdmFyIHNwZWNpZmlj
|
314
|
+
RXh0cmFjdCA9ICJleHRyYWN0IiArIHJlcXVlc3RUeXBlLmNoYXJBdCgwKS50
|
315
|
+
b1VwcGVyQ2FzZSgpICsgcmVxdWVzdFR5cGUuc3Vic3RyKDEpOwogICAgcmV0
|
316
|
+
dXJuIHRoaXNbc3BlY2lmaWNFeHRyYWN0XShzdG9yZSwgdHlwZSwgcGF5bG9h
|
317
|
+
ZCwgaWQsIHJlcXVlc3RUeXBlKTsKICB9LAoKICBleHRyYWN0RmluZEFsbDog
|
318
|
+
YWxpYXNNZXRob2QoJ2V4dHJhY3RBcnJheScpLAogIGV4dHJhY3RGaW5kUXVl
|
319
|
+
cnk6IGFsaWFzTWV0aG9kKCdleHRyYWN0QXJyYXknKSwKICBleHRyYWN0Rmlu
|
320
|
+
ZE1hbnk6IGFsaWFzTWV0aG9kKCdleHRyYWN0QXJyYXknKSwKICBleHRyYWN0
|
321
|
+
RmluZEhhc01hbnk6IGFsaWFzTWV0aG9kKCdleHRyYWN0QXJyYXknKSwKCiAg
|
322
|
+
ZXh0cmFjdENyZWF0ZVJlY29yZDogYWxpYXNNZXRob2QoJ2V4dHJhY3RTYXZl
|
323
|
+
JyksCiAgZXh0cmFjdFVwZGF0ZVJlY29yZDogYWxpYXNNZXRob2QoJ2V4dHJh
|
324
|
+
Y3RTYXZlJyksCiAgZXh0cmFjdERlbGV0ZVJlY29yZDogYWxpYXNNZXRob2Qo
|
325
|
+
J2V4dHJhY3RTYXZlJyksCgogIGV4dHJhY3RGaW5kOiBhbGlhc01ldGhvZCgn
|
326
|
+
ZXh0cmFjdFNpbmdsZScpLAogIGV4dHJhY3RTYXZlOiBhbGlhc01ldGhvZCgn
|
327
|
+
ZXh0cmFjdFNpbmdsZScpLAoKICBleHRyYWN0U2luZ2xlOiBmdW5jdGlvbihz
|
328
|
+
dG9yZSwgdHlwZSwgcGF5bG9hZCkgewogICAgcmV0dXJuIHBheWxvYWQ7CiAg
|
329
|
+
fSwKCiAgZXh0cmFjdEFycmF5OiBmdW5jdGlvbihzdG9yZSwgdHlwZSwgcGF5
|
330
|
+
bG9hZCkgewogICAgcmV0dXJuIHBheWxvYWQ7CiAgfSwKICAvLyBIRUxQRVJT
|
331
|
+
CgogIHR5cGVGb3I6IGZ1bmN0aW9uKHJlbGF0aW9uc2hpcCwga2V5LCBkYXRh
|
332
|
+
KSB7CiAgICBpZiAocmVsYXRpb25zaGlwLm9wdGlvbnMucG9seW1vcnBoaWMp
|
333
|
+
IHsKICAgICAgcmV0dXJuIGRhdGFba2V5ICsgIl90eXBlIl07CiAgICB9IGVs
|
334
|
+
c2UgewogICAgICByZXR1cm4gcmVsYXRpb25zaGlwLnR5cGU7CiAgICB9CiAg
|
335
|
+
fSwKCiAgZWFjaEVtYmVkZGVkUmVjb3JkOiBmdW5jdGlvbigpIHsKICAgIC8v
|
336
|
+
IHRoaXMgaXMgdXNlZCBieSB0cmFuc2FjdGlvbi5hZGQKICB9Cn0pOwoKfSko
|
337
|
+
KTsKCgoKKGZ1bmN0aW9uKCkgewovKioKICBAbW9kdWxlIGVtYmVyLWRhdGEK
|
338
|
+
Ki8KdmFyIGdldCA9IEVtYmVyLmdldCwgY2FwaXRhbGl6ZSA9IEVtYmVyLlN0
|
339
|
+
cmluZy5jYXBpdGFsaXplLCB1bmRlcnNjb3JlID0gRW1iZXIuU3RyaW5nLnVu
|
340
|
+
ZGVyc2NvcmUsIERTID0gd2luZG93LkRTIDsKCi8qKgogIEV4dGVuZCBgRW1i
|
341
|
+
ZXIuRGF0YUFkYXB0ZXJgIHdpdGggRUQgc3BlY2lmaWMgY29kZS4KKi8KRFMu
|
342
|
+
RGVidWdBZGFwdGVyID0gRW1iZXIuRGF0YUFkYXB0ZXIuZXh0ZW5kKHsKICBn
|
343
|
+
ZXRGaWx0ZXJzOiBmdW5jdGlvbigpIHsKICAgIHJldHVybiBbCiAgICAgIHsg
|
344
|
+
bmFtZTogJ2lzTmV3JywgZGVzYzogJ05ldycgfSwKICAgICAgeyBuYW1lOiAn
|
345
|
+
aXNNb2RpZmllZCcsIGRlc2M6ICdNb2RpZmllZCcgfSwKICAgICAgeyBuYW1l
|
346
|
+
OiAnaXNDbGVhbicsIGRlc2M6ICdDbGVhbicgfQogICAgXTsKICB9LAoKICBk
|
347
|
+
ZXRlY3Q6IGZ1bmN0aW9uKGtsYXNzKSB7CiAgICByZXR1cm4ga2xhc3MgIT09
|
348
|
+
IERTLk1vZGVsICYmIERTLk1vZGVsLmRldGVjdChrbGFzcyk7CiAgfSwKCiAg
|
349
|
+
Y29sdW1uc0ZvclR5cGU6IGZ1bmN0aW9uKHR5cGUpIHsKICAgIHZhciBjb2x1
|
350
|
+
bW5zID0gW3sgbmFtZTogJ2lkJywgZGVzYzogJ0lkJyB9XSwgY291bnQgPSAw
|
351
|
+
LCBzZWxmID0gdGhpczsKICAgIEVtYmVyLkEoZ2V0KHR5cGUsICdhdHRyaWJ1
|
352
|
+
dGVzJykpLmZvckVhY2goZnVuY3Rpb24obmFtZSwgbWV0YSkgewogICAgICAg
|
353
|
+
IGlmIChjb3VudCsrID4gc2VsZi5hdHRyaWJ1dGVMaW1pdCkgeyByZXR1cm4g
|
354
|
+
ZmFsc2U7IH0KICAgICAgICB2YXIgZGVzYyA9IGNhcGl0YWxpemUodW5kZXJz
|
355
|
+
Y29yZShuYW1lKS5yZXBsYWNlKCdfJywgJyAnKSk7CiAgICAgICAgY29sdW1u
|
356
|
+
cy5wdXNoKHsgbmFtZTogbmFtZSwgZGVzYzogZGVzYyB9KTsKICAgIH0pOwog
|
357
|
+
ICAgcmV0dXJuIGNvbHVtbnM7CiAgfSwKCiAgZ2V0UmVjb3JkczogZnVuY3Rp
|
358
|
+
b24odHlwZSkgewogICAgcmV0dXJuIHRoaXMuZ2V0KCdzdG9yZScpLmFsbCh0
|
359
|
+
eXBlKTsKICB9LAoKICBnZXRSZWNvcmRDb2x1bW5WYWx1ZXM6IGZ1bmN0aW9u
|
360
|
+
KHJlY29yZCkgewogICAgdmFyIHNlbGYgPSB0aGlzLCBjb3VudCA9IDAsCiAg
|
361
|
+
ICAgICAgY29sdW1uVmFsdWVzID0geyBpZDogZ2V0KHJlY29yZCwgJ2lkJykg
|
362
|
+
fTsKCiAgICByZWNvcmQuZWFjaEF0dHJpYnV0ZShmdW5jdGlvbihrZXkpIHsK
|
363
|
+
ICAgICAgaWYgKGNvdW50KysgPiBzZWxmLmF0dHJpYnV0ZUxpbWl0KSB7CiAg
|
364
|
+
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIHZhciB2YWx1ZSA9
|
365
|
+
IGdldChyZWNvcmQsIGtleSk7CiAgICAgIGNvbHVtblZhbHVlc1trZXldID0g
|
366
|
+
dmFsdWU7CiAgICB9KTsKICAgIHJldHVybiBjb2x1bW5WYWx1ZXM7CiAgfSwK
|
367
|
+
CiAgZ2V0UmVjb3JkS2V5d29yZHM6IGZ1bmN0aW9uKHJlY29yZCkgewogICAg
|
368
|
+
dmFyIGtleXdvcmRzID0gW10sIGtleXMgPSBFbWJlci5BKFsnaWQnXSk7CiAg
|
369
|
+
ICByZWNvcmQuZWFjaEF0dHJpYnV0ZShmdW5jdGlvbihrZXkpIHsKICAgICAg
|
370
|
+
a2V5cy5wdXNoKGtleSk7CiAgICB9KTsKICAgIGtleXMuZm9yRWFjaChmdW5j
|
371
|
+
dGlvbihrZXkpIHsKICAgICAga2V5d29yZHMucHVzaChnZXQocmVjb3JkLCBr
|
372
|
+
ZXkpKTsKICAgIH0pOwogICAgcmV0dXJuIGtleXdvcmRzOwogIH0sCgogIGdl
|
373
|
+
dFJlY29yZEZpbHRlclZhbHVlczogZnVuY3Rpb24ocmVjb3JkKSB7CiAgICBy
|
374
|
+
ZXR1cm4gewogICAgICBpc05ldzogcmVjb3JkLmdldCgnaXNOZXcnKSwKICAg
|
375
|
+
ICAgaXNNb2RpZmllZDogcmVjb3JkLmdldCgnaXNEaXJ0eScpICYmICFyZWNv
|
376
|
+
cmQuZ2V0KCdpc05ldycpLAogICAgICBpc0NsZWFuOiAhcmVjb3JkLmdldCgn
|
377
|
+
aXNEaXJ0eScpCiAgICB9OwogIH0sCgogIGdldFJlY29yZENvbG9yOiBmdW5j
|
378
|
+
dGlvbihyZWNvcmQpIHsKICAgIHZhciBjb2xvciA9ICdibGFjayc7CiAgICBp
|
379
|
+
ZiAocmVjb3JkLmdldCgnaXNOZXcnKSkgewogICAgICBjb2xvciA9ICdncmVl
|
380
|
+
bic7CiAgICB9IGVsc2UgaWYgKHJlY29yZC5nZXQoJ2lzRGlydHknKSkgewog
|
381
|
+
ICAgICBjb2xvciA9ICdibHVlJzsKICAgIH0KICAgIHJldHVybiBjb2xvcjsK
|
382
|
+
ICB9LAoKICBvYnNlcnZlUmVjb3JkOiBmdW5jdGlvbihyZWNvcmQsIHJlY29y
|
383
|
+
ZFVwZGF0ZWQpIHsKICAgIHZhciByZWxlYXNlTWV0aG9kcyA9IEVtYmVyLkEo
|
384
|
+
KSwgc2VsZiA9IHRoaXMsCiAgICAgICAga2V5c1RvT2JzZXJ2ZSA9IEVtYmVy
|
385
|
+
LkEoWydpZCcsICdpc05ldycsICdpc0RpcnR5J10pOwoKICAgIHJlY29yZC5l
|
386
|
+
YWNoQXR0cmlidXRlKGZ1bmN0aW9uKGtleSkgewogICAgICBrZXlzVG9PYnNl
|
387
|
+
cnZlLnB1c2goa2V5KTsKICAgIH0pOwoKICAgIGtleXNUb09ic2VydmUuZm9y
|
388
|
+
RWFjaChmdW5jdGlvbihrZXkpIHsKICAgICAgdmFyIGhhbmRsZXIgPSBmdW5j
|
389
|
+
dGlvbigpIHsKICAgICAgICByZWNvcmRVcGRhdGVkKHNlbGYud3JhcFJlY29y
|
390
|
+
ZChyZWNvcmQpKTsKICAgICAgfTsKICAgICAgRW1iZXIuYWRkT2JzZXJ2ZXIo
|
391
|
+
cmVjb3JkLCBrZXksIGhhbmRsZXIpOwogICAgICByZWxlYXNlTWV0aG9kcy5w
|
392
|
+
dXNoKGZ1bmN0aW9uKCkgewogICAgICAgIEVtYmVyLnJlbW92ZU9ic2VydmVy
|
393
|
+
KHJlY29yZCwga2V5LCBoYW5kbGVyKTsKICAgICAgfSk7CiAgICB9KTsKCiAg
|
394
|
+
ICB2YXIgcmVsZWFzZSA9IGZ1bmN0aW9uKCkgewogICAgICByZWxlYXNlTWV0
|
395
|
+
aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKGZuKSB7IGZuKCk7IH0gKTsKICAgIH07
|
396
|
+
CgogICAgcmV0dXJuIHJlbGVhc2U7CiAgfQoKfSk7Cgp9KSgpOwoKCgooZnVu
|
397
|
+
Y3Rpb24oKSB7Ci8qKgogIEBtb2R1bGUgZW1iZXItZGF0YQoqLwoKdmFyIHNl
|
398
|
+
dCA9IEVtYmVyLnNldDsKCi8qCiAgVGhpcyBjb2RlIHJlZ2lzdGVycyBhbiBp
|
399
|
+
bmplY3Rpb24gZm9yIEVtYmVyLkFwcGxpY2F0aW9uLgoKICBJZiBhbiBFbWJl
|
400
|
+
ci5qcyBkZXZlbG9wZXIgZGVmaW5lcyBhIHN1YmNsYXNzIG9mIERTLlN0b3Jl
|
401
|
+
IG9uIHRoZWlyIGFwcGxpY2F0aW9uLAogIHRoaXMgY29kZSB3aWxsIGF1dG9t
|
402
|
+
YXRpY2FsbHkgaW5zdGFudGlhdGUgaXQgYW5kIG1ha2UgaXQgYXZhaWxhYmxl
|
403
|
+
IG9uIHRoZQogIHJvdXRlci4KCiAgQWRkaXRpb25hbGx5LCBhZnRlciBhbiBh
|
404
|
+
cHBsaWNhdGlvbidzIGNvbnRyb2xsZXJzIGhhdmUgYmVlbiBpbmplY3RlZCwg
|
405
|
+
dGhleSB3aWxsCiAgZWFjaCBoYXZlIHRoZSBzdG9yZSBtYWRlIGF2YWlsYWJs
|
406
|
+
ZSB0byB0aGVtLgoKICBGb3IgZXhhbXBsZSwgaW1hZ2luZSBhbiBFbWJlci5q
|
407
|
+
cyBhcHBsaWNhdGlvbiB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3NlczoKCiAg
|
408
|
+
QXBwLlN0b3JlID0gRFMuU3RvcmUuZXh0ZW5kKHsKICAgIGFkYXB0ZXI6ICdB
|
409
|
+
cHAuTXlDdXN0b21BZGFwdGVyJwogIH0pOwoKICBBcHAuUG9zdHNDb250cm9s
|
410
|
+
bGVyID0gRW1iZXIuQXJyYXlDb250cm9sbGVyLmV4dGVuZCh7CiAgICAvLyAu
|
411
|
+
Li4KICB9KTsKCiAgV2hlbiB0aGUgYXBwbGljYXRpb24gaXMgaW5pdGlhbGl6
|
412
|
+
ZWQsIGBBcHAuU3RvcmVgIHdpbGwgYXV0b21hdGljYWxseSBiZQogIGluc3Rh
|
413
|
+
bnRpYXRlZCwgYW5kIHRoZSBpbnN0YW5jZSBvZiBgQXBwLlBvc3RzQ29udHJv
|
414
|
+
bGxlcmAgd2lsbCBoYXZlIGl0cyBgc3RvcmVgCiAgcHJvcGVydHkgc2V0IHRv
|
415
|
+
IHRoYXQgaW5zdGFuY2UuCgogIE5vdGUgdGhhdCB0aGlzIGNvZGUgd2lsbCBv
|
416
|
+
bmx5IGJlIHJ1biBpZiB0aGUgYGVtYmVyLWFwcGxpY2F0aW9uYCBwYWNrYWdl
|
417
|
+
IGlzCiAgbG9hZGVkLiBJZiBFbWJlciBEYXRhIGlzIGJlaW5nIHVzZWQgaW4g
|
418
|
+
YW4gZW52aXJvbm1lbnQgb3RoZXIgdGhhbiBhCiAgdHlwaWNhbCBhcHBsaWNh
|
419
|
+
dGlvbiAoZS5nLiwgbm9kZS5qcyB3aGVyZSBvbmx5IGBlbWJlci1ydW50aW1l
|
420
|
+
YCBpcyBhdmFpbGFibGUpLAogIHRoaXMgY29kZSB3aWxsIGJlIGlnbm9yZWQu
|
421
|
+
CiovCgpFbWJlci5vbkxvYWQoJ0VtYmVyLkFwcGxpY2F0aW9uJywgZnVuY3Rp
|
422
|
+
b24oQXBwbGljYXRpb24pIHsKICBBcHBsaWNhdGlvbi5pbml0aWFsaXplcih7
|
423
|
+
CiAgICBuYW1lOiAic3RvcmUiLAoKICAgIGluaXRpYWxpemU6IGZ1bmN0aW9u
|
424
|
+
KGNvbnRhaW5lciwgYXBwbGljYXRpb24pIHsKICAgICAgYXBwbGljYXRpb24u
|
425
|
+
cmVnaXN0ZXIoJ3N0b3JlOm1haW4nLCBhcHBsaWNhdGlvbi5TdG9yZSB8fCBE
|
426
|
+
Uy5TdG9yZSk7CiAgICAgIGFwcGxpY2F0aW9uLnJlZ2lzdGVyKCdzZXJpYWxp
|
427
|
+
emVyOl9kZWZhdWx0JywgRFMuSlNPTlNlcmlhbGl6ZXIpOwogICAgICBhcHBs
|
428
|
+
aWNhdGlvbi5yZWdpc3Rlcignc2VyaWFsaXplcjpfcmVzdCcsIERTLlJFU1RT
|
429
|
+
ZXJpYWxpemVyKTsKICAgICAgYXBwbGljYXRpb24ucmVnaXN0ZXIoJ2FkYXB0
|
430
|
+
ZXI6X3Jlc3QnLCBEUy5SRVNUQWRhcHRlcik7CgogICAgICAvLyBFYWdlcmx5
|
431
|
+
IGdlbmVyYXRlIHRoZSBzdG9yZSBzbyBkZWZhdWx0U3RvcmUgaXMgcG9wdWxh
|
432
|
+
dGVkLgogICAgICAvLyBUT0RPOiBEbyB0aGlzIGluIGEgZmluaXNoZXIgaG9v
|
433
|
+
awogICAgICBjb250YWluZXIubG9va3VwKCdzdG9yZTptYWluJyk7CiAgICB9
|
434
|
+
CiAgfSk7CgogIC8vIEtlZXAgRUQgY29tcGF0aWJsZSB3aXRoIHByZXZpb3Vz
|
435
|
+
IHZlcnNpb25zIG9mIGVtYmVyCiAgLy8gVE9ETzogUmVtb3ZlIHRoZSBpZiBz
|
436
|
+
dGF0ZW1lbnQgZm9yIEVtYmVyIDEuMAogIGlmIChEUy5EZWJ1Z0FkYXB0ZXIp
|
437
|
+
IHsKICAgIEFwcGxpY2F0aW9uLmluaXRpYWxpemVyKHsKICAgICAgbmFtZTog
|
438
|
+
ImRhdGFBZGFwdGVyIiwKCiAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKGNv
|
439
|
+
bnRhaW5lciwgYXBwbGljYXRpb24pIHsKICAgICAgICBhcHBsaWNhdGlvbi5y
|
440
|
+
ZWdpc3RlcignZGF0YUFkYXB0ZXI6bWFpbicsIERTLkRlYnVnQWRhcHRlcik7
|
441
|
+
CiAgICAgIH0KICAgIH0pOwogIH0KCiAgQXBwbGljYXRpb24uaW5pdGlhbGl6
|
442
|
+
ZXIoewogICAgbmFtZTogImRhdGFBZGFwdGVyIiwKCiAgICBpbml0aWFsaXpl
|
443
|
+
OiBmdW5jdGlvbihjb250YWluZXIsIGFwcGxpY2F0aW9uKSB7CiAgICAgIGFw
|
444
|
+
cGxpY2F0aW9uLnJlZ2lzdGVyKCdkYXRhQWRhcHRlcjptYWluJywgRFMuRGVi
|
445
|
+
dWdBZGFwdGVyKTsKICAgIH0KICB9KTsKCiAgQXBwbGljYXRpb24uaW5pdGlh
|
446
|
+
bGl6ZXIoewogICAgbmFtZTogImluamVjdFN0b3JlIiwKCiAgICBpbml0aWFs
|
447
|
+
aXplOiBmdW5jdGlvbihjb250YWluZXIsIGFwcGxpY2F0aW9uKSB7CiAgICAg
|
448
|
+
IGFwcGxpY2F0aW9uLmluamVjdCgnY29udHJvbGxlcicsICdzdG9yZScsICdz
|
449
|
+
dG9yZTptYWluJyk7CiAgICAgIGFwcGxpY2F0aW9uLmluamVjdCgncm91dGUn
|
450
|
+
LCAnc3RvcmUnLCAnc3RvcmU6bWFpbicpOwogICAgICBhcHBsaWNhdGlvbi5p
|
451
|
+
bmplY3QoJ3NlcmlhbGl6ZXInLCAnc3RvcmUnLCAnc3RvcmU6bWFpbicpOwog
|
452
|
+
ICAgICBhcHBsaWNhdGlvbi5pbmplY3QoJ2RhdGFBZGFwdGVyJywgJ3N0b3Jl
|
453
|
+
JywgJ3N0b3JlOm1haW4nKTsKICAgIH0KICB9KTsKCn0pOwoKfSkoKTsKCgoK
|
454
|
+
KGZ1bmN0aW9uKCkgewovKioKICBAbW9kdWxlIGVtYmVyLWRhdGEKKi8KCi8q
|
455
|
+
KgogIERhdGUucGFyc2Ugd2l0aCBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudCBm
|
456
|
+
b3IgSVNPIDg2MDEgPGh0dHBzOi8vZ2l0aHViLmNvbS9jc25vdmVyL2pzLWlz
|
457
|
+
bzg2MDE+CgogIMKpIDIwMTEgQ29saW4gU25vdmVyIDxodHRwOi8vemV0YWZs
|
458
|
+
ZWV0LmNvbT4KCiAgUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuCgogIEBj
|
459
|
+
bGFzcyBEYXRlCiAgQG5hbWVzcGFjZSBFbWJlcgogIEBzdGF0aWMKKi8KRW1i
|
460
|
+
ZXIuRGF0ZSA9IEVtYmVyLkRhdGUgfHwge307Cgp2YXIgb3JpZ1BhcnNlID0g
|
461
|
+
RGF0ZS5wYXJzZSwgbnVtZXJpY0tleXMgPSBbIDEsIDQsIDUsIDYsIDcsIDEw
|
462
|
+
LCAxMSBdOwoKLyoqCiAgQG1ldGhvZCBwYXJzZQogIEBwYXJhbSBkYXRlCiov
|
463
|
+
CkVtYmVyLkRhdGUucGFyc2UgPSBmdW5jdGlvbiAoZGF0ZSkgewogICAgdmFy
|
464
|
+
IHRpbWVzdGFtcCwgc3RydWN0LCBtaW51dGVzT2Zmc2V0ID0gMDsKCiAgICAv
|
465
|
+
LyBFUzUgwqcxNS45LjQuMiBzdGF0ZXMgdGhhdCB0aGUgc3RyaW5nIHNob3Vs
|
466
|
+
ZCBhdHRlbXB0IHRvIGJlIHBhcnNlZCBhcyBhIERhdGUgVGltZSBTdHJpbmcg
|
467
|
+
Rm9ybWF0IHN0cmluZwogICAgLy8gYmVmb3JlIGZhbGxpbmcgYmFjayB0byBh
|
468
|
+
bnkgaW1wbGVtZW50YXRpb24tc3BlY2lmaWMgZGF0ZSBwYXJzaW5nLCBzbyB0
|
469
|
+
aGF04oCZcyB3aGF0IHdlIGRvLCBldmVuIGlmIG5hdGl2ZQogICAgLy8gaW1w
|
470
|
+
bGVtZW50YXRpb25zIGNvdWxkIGJlIGZhc3RlcgogICAgLy8gICAgICAgICAg
|
471
|
+
ICAgIDEgWVlZWSAgICAgICAgICAgICAgICAyIE1NICAgICAgIDMgREQgICAg
|
472
|
+
ICAgICAgIDQgSEggICAgNSBtbSAgICAgICA2IHNzICAgICAgICA3IG1zZWMg
|
473
|
+
ICAgICAgIDggWiA5IMKxICAgIDEwIHR6SEggICAgMTEgdHptbQogICAgaWYg
|
474
|
+
KChzdHJ1Y3QgPSAvXihcZHs0fXxbK1wtXVxkezZ9KSg/Oi0oXGR7Mn0pKD86
|
475
|
+
LShcZHsyfSkpPyk/KD86VChcZHsyfSk6KFxkezJ9KSg/OjooXGR7Mn0pKD86
|
476
|
+
XC4oXGR7M30pKT8pPyg/OihaKXwoWytcLV0pKFxkezJ9KSg/OjooXGR7Mn0p
|
477
|
+
KT8pPyk/JC8uZXhlYyhkYXRlKSkpIHsKICAgICAgICAvLyBhdm9pZCBOYU4g
|
478
|
+
dGltZXN0YW1wcyBjYXVzZWQgYnkg4oCcdW5kZWZpbmVk4oCdIHZhbHVlcyBi
|
479
|
+
ZWluZyBwYXNzZWQgdG8gRGF0ZS5VVEMKICAgICAgICBmb3IgKHZhciBpID0g
|
480
|
+
MCwgazsgKGsgPSBudW1lcmljS2V5c1tpXSk7ICsraSkgewogICAgICAgICAg
|
481
|
+
ICBzdHJ1Y3Rba10gPSArc3RydWN0W2tdIHx8IDA7CiAgICAgICAgfQoKICAg
|
482
|
+
ICAgICAvLyBhbGxvdyB1bmRlZmluZWQgZGF5cyBhbmQgbW9udGhzCiAgICAg
|
483
|
+
ICAgc3RydWN0WzJdID0gKCtzdHJ1Y3RbMl0gfHwgMSkgLSAxOwogICAgICAg
|
484
|
+
IHN0cnVjdFszXSA9ICtzdHJ1Y3RbM10gfHwgMTsKCiAgICAgICAgaWYgKHN0
|
485
|
+
cnVjdFs4XSAhPT0gJ1onICYmIHN0cnVjdFs5XSAhPT0gdW5kZWZpbmVkKSB7
|
486
|
+
CiAgICAgICAgICAgIG1pbnV0ZXNPZmZzZXQgPSBzdHJ1Y3RbMTBdICogNjAg
|
487
|
+
KyBzdHJ1Y3RbMTFdOwoKICAgICAgICAgICAgaWYgKHN0cnVjdFs5XSA9PT0g
|
488
|
+
JysnKSB7CiAgICAgICAgICAgICAgICBtaW51dGVzT2Zmc2V0ID0gMCAtIG1p
|
489
|
+
bnV0ZXNPZmZzZXQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAg
|
490
|
+
IHRpbWVzdGFtcCA9IERhdGUuVVRDKHN0cnVjdFsxXSwgc3RydWN0WzJdLCBz
|
491
|
+
dHJ1Y3RbM10sIHN0cnVjdFs0XSwgc3RydWN0WzVdICsgbWludXRlc09mZnNl
|
492
|
+
dCwgc3RydWN0WzZdLCBzdHJ1Y3RbN10pOwogICAgfQogICAgZWxzZSB7CiAg
|
493
|
+
ICAgICAgdGltZXN0YW1wID0gb3JpZ1BhcnNlID8gb3JpZ1BhcnNlKGRhdGUp
|
494
|
+
IDogTmFOOwogICAgfQoKICAgIHJldHVybiB0aW1lc3RhbXA7Cn07CgppZiAo
|
495
|
+
RW1iZXIuRVhURU5EX1BST1RPVFlQRVMgPT09IHRydWUgfHwgRW1iZXIuRVhU
|
496
|
+
RU5EX1BST1RPVFlQRVMuRGF0ZSkgewogIERhdGUucGFyc2UgPSBFbWJlci5E
|
497
|
+
YXRlLnBhcnNlOwp9Cgp9KSgpOwoKCgooZnVuY3Rpb24oKSB7Cgp9KSgpOwoK
|
498
|
+
CgooZnVuY3Rpb24oKSB7Ci8qKgogIEBtb2R1bGUgZW1iZXItZGF0YQoqLwoK
|
499
|
+
dmFyIGdldCA9IEVtYmVyLmdldCwgc2V0ID0gRW1iZXIuc2V0OwoKLyoqCiAg
|
500
|
+
QSByZWNvcmQgYXJyYXkgaXMgYW4gYXJyYXkgdGhhdCBjb250YWlucyByZWNv
|
501
|
+
cmRzIG9mIGEgY2VydGFpbiB0eXBlLiBUaGUgcmVjb3JkCiAgYXJyYXkgbWF0
|
502
|
+
ZXJpYWxpemVzIHJlY29yZHMgYXMgbmVlZGVkIHdoZW4gdGhleSBhcmUgcmV0
|
503
|
+
cmlldmVkIGZvciB0aGUgZmlyc3QKICB0aW1lLiBZb3Ugc2hvdWxkIG5vdCBj
|
504
|
+
cmVhdGUgcmVjb3JkIGFycmF5cyB5b3Vyc2VsZi4gSW5zdGVhZCwgYW4gaW5z
|
505
|
+
dGFuY2Ugb2YKICBEUy5SZWNvcmRBcnJheSBvciBpdHMgc3ViY2xhc3NlcyB3
|
506
|
+
aWxsIGJlIHJldHVybmVkIGJ5IHlvdXIgYXBwbGljYXRpb24ncyBzdG9yZQog
|
507
|
+
IGluIHJlc3BvbnNlIHRvIHF1ZXJpZXMuCgogIEBjbGFzcyBSZWNvcmRBcnJh
|
508
|
+
eQogIEBuYW1lc3BhY2UgRFMKICBAZXh0ZW5kcyBFbWJlci5BcnJheVByb3h5
|
509
|
+
CiAgQHVzZXMgRW1iZXIuRXZlbnRlZAoqLwoKRFMuUmVjb3JkQXJyYXkgPSBF
|
510
|
+
bWJlci5BcnJheVByb3h5LmV4dGVuZChFbWJlci5FdmVudGVkLCB7CiAgLyoq
|
511
|
+
CiAgICBUaGUgbW9kZWwgdHlwZSBjb250YWluZWQgYnkgdGhpcyByZWNvcmQg
|
512
|
+
YXJyYXkuCgogICAgQHByb3BlcnR5IHR5cGUKICAgIEB0eXBlIERTLk1vZGVs
|
513
|
+
CiAgKi8KICB0eXBlOiBudWxsLAoKICAvLyBUaGUgYXJyYXkgb2YgY2xpZW50
|
514
|
+
IGlkcyBiYWNraW5nIHRoZSByZWNvcmQgYXJyYXkuIFdoZW4gYQogIC8vIHJl
|
515
|
+
Y29yZCBpcyByZXF1ZXN0ZWQgZnJvbSB0aGUgcmVjb3JkIGFycmF5LCB0aGUg
|
516
|
+
cmVjb3JkCiAgLy8gZm9yIHRoZSBjbGllbnQgaWQgYXQgdGhlIHNhbWUgaW5k
|
517
|
+
ZXggaXMgbWF0ZXJpYWxpemVkLCBpZgogIC8vIG5lY2Vzc2FyeSwgYnkgdGhl
|
518
|
+
IHN0b3JlLgogIGNvbnRlbnQ6IG51bGwsCgogIGlzTG9hZGVkOiBmYWxzZSwK
|
519
|
+
ICBpc1VwZGF0aW5nOiBmYWxzZSwKCiAgLy8gVGhlIHN0b3JlIHRoYXQgY3Jl
|
520
|
+
YXRlZCB0aGlzIHJlY29yZCBhcnJheS4KICBzdG9yZTogbnVsbCwKCiAgb2Jq
|
521
|
+
ZWN0QXRDb250ZW50OiBmdW5jdGlvbihpbmRleCkgewogICAgdmFyIGNvbnRl
|
522
|
+
bnQgPSBnZXQodGhpcywgJ2NvbnRlbnQnKTsKCiAgICByZXR1cm4gY29udGVu
|
523
|
+
dC5vYmplY3RBdChpbmRleCk7CiAgfSwKCiAgdXBkYXRlOiBmdW5jdGlvbigp
|
524
|
+
IHsKICAgIGlmIChnZXQodGhpcywgJ2lzVXBkYXRpbmcnKSkgeyByZXR1cm47
|
525
|
+
IH0KCiAgICB2YXIgc3RvcmUgPSBnZXQodGhpcywgJ3N0b3JlJyksCiAgICAg
|
526
|
+
ICAgdHlwZSA9IGdldCh0aGlzLCAndHlwZScpOwoKICAgIHN0b3JlLmZldGNo
|
527
|
+
QWxsKHR5cGUsIHRoaXMpOwogIH0sCgogIGFkZFJlY29yZDogZnVuY3Rpb24o
|
528
|
+
cmVjb3JkKSB7CiAgICBnZXQodGhpcywgJ2NvbnRlbnQnKS5hZGRPYmplY3Qo
|
529
|
+
cmVjb3JkKTsKICB9LAoKICByZW1vdmVSZWNvcmQ6IGZ1bmN0aW9uKHJlY29y
|
530
|
+
ZCkgewogICAgZ2V0KHRoaXMsICdjb250ZW50JykucmVtb3ZlT2JqZWN0KHJl
|
531
|
+
Y29yZCk7CiAgfQp9KTsKCn0pKCk7CgoKCihmdW5jdGlvbigpIHsKLyoqCiAg
|
532
|
+
QG1vZHVsZSBlbWJlci1kYXRhCiovCgp2YXIgZ2V0ID0gRW1iZXIuZ2V0OwoK
|
533
|
+
LyoqCiAgQGNsYXNzIEZpbHRlcmVkUmVjb3JkQXJyYXkKICBAbmFtZXNwYWNl
|
534
|
+
IERTCiAgQGV4dGVuZHMgRFMuUmVjb3JkQXJyYXkKKi8KRFMuRmlsdGVyZWRS
|
535
|
+
ZWNvcmRBcnJheSA9IERTLlJlY29yZEFycmF5LmV4dGVuZCh7CiAgZmlsdGVy
|
536
|
+
RnVuY3Rpb246IG51bGwsCiAgaXNMb2FkZWQ6IHRydWUsCgogIHJlcGxhY2U6
|
537
|
+
IGZ1bmN0aW9uKCkgewogICAgdmFyIHR5cGUgPSBnZXQodGhpcywgJ3R5cGUn
|
538
|
+
KS50b1N0cmluZygpOwogICAgdGhyb3cgbmV3IEVycm9yKCJUaGUgcmVzdWx0
|
539
|
+
IG9mIGEgY2xpZW50LXNpZGUgZmlsdGVyIChvbiAiICsgdHlwZSArICIpIGlz
|
540
|
+
IGltbXV0YWJsZS4iKTsKICB9LAoKICB1cGRhdGVGaWx0ZXI6IEVtYmVyLm9i
|
541
|
+
c2VydmVyKGZ1bmN0aW9uKCkgewogICAgdmFyIG1hbmFnZXIgPSBnZXQodGhp
|
542
|
+
cywgJ21hbmFnZXInKTsKICAgIG1hbmFnZXIudXBkYXRlRmlsdGVyKHRoaXMs
|
543
|
+
IGdldCh0aGlzLCAndHlwZScpLCBnZXQodGhpcywgJ2ZpbHRlckZ1bmN0aW9u
|
544
|
+
JykpOwogIH0sICdmaWx0ZXJGdW5jdGlvbicpCn0pOwoKfSkoKTsKCgoKKGZ1
|
545
|
+
bmN0aW9uKCkgewovKioKICBAbW9kdWxlIGVtYmVyLWRhdGEKKi8KCnZhciBn
|
546
|
+
ZXQgPSBFbWJlci5nZXQsIHNldCA9IEVtYmVyLnNldDsKCi8qKgogIEBjbGFz
|
547
|
+
cyBBZGFwdGVyUG9wdWxhdGVkUmVjb3JkQXJyYXkKICBAbmFtZXNwYWNlIERT
|
548
|
+
CiAgQGV4dGVuZHMgRFMuUmVjb3JkQXJyYXkKKi8KRFMuQWRhcHRlclBvcHVs
|
549
|
+
YXRlZFJlY29yZEFycmF5ID0gRFMuUmVjb3JkQXJyYXkuZXh0ZW5kKHsKICBx
|
550
|
+
dWVyeTogbnVsbCwKCiAgcmVwbGFjZTogZnVuY3Rpb24oKSB7CiAgICB2YXIg
|
551
|
+
dHlwZSA9IGdldCh0aGlzLCAndHlwZScpLnRvU3RyaW5nKCk7CiAgICB0aHJv
|
552
|
+
dyBuZXcgRXJyb3IoIlRoZSByZXN1bHQgb2YgYSBzZXJ2ZXIgcXVlcnkgKG9u
|
553
|
+
ICIgKyB0eXBlICsgIikgaXMgaW1tdXRhYmxlLiIpOwogIH0sCgogIGxvYWQ6
|
554
|
+
IGZ1bmN0aW9uKGRhdGEpIHsKICAgIHZhciBzdG9yZSA9IGdldCh0aGlzLCAn
|
555
|
+
c3RvcmUnKSwKICAgICAgICB0eXBlID0gZ2V0KHRoaXMsICd0eXBlJyksCiAg
|
556
|
+
ICAgICAgcmVjb3JkcyA9IHN0b3JlLnB1c2hNYW55KHR5cGUsIGRhdGEpOwoK
|
557
|
+
ICAgIHRoaXMuc2V0UHJvcGVydGllcyh7CiAgICAgIGNvbnRlbnQ6IEVtYmVy
|
558
|
+
LkEocmVjb3JkcyksCiAgICAgIGlzTG9hZGVkOiB0cnVlCiAgICB9KTsKCiAg
|
559
|
+
ICAvLyBUT0RPOiBkb2VzIHRyaWdnZXJpbmcgZGlkTG9hZCBldmVudCBzaG91
|
560
|
+
bGQgYmUgdGhlIGxhc3QgYWN0aW9uIG9mIHRoZSBydW5Mb29wPwogICAgRW1i
|
561
|
+
ZXIucnVuLm9uY2UodGhpcywgJ3RyaWdnZXInLCAnZGlkTG9hZCcpOwogIH0K
|
562
|
+
fSk7Cgp9KSgpOwoKCgooZnVuY3Rpb24oKSB7Ci8qKgogIEBtb2R1bGUgZW1i
|
563
|
+
ZXItZGF0YQoqLwoKdmFyIGdldCA9IEVtYmVyLmdldCwgc2V0ID0gRW1iZXIu
|
564
|
+
c2V0Owp2YXIgbWFwID0gRW1iZXIuRW51bWVyYWJsZVV0aWxzLm1hcDsKCi8q
|
565
|
+
KgogIEEgTWFueUFycmF5IGlzIGEgUmVjb3JkQXJyYXkgdGhhdCByZXByZXNl
|
566
|
+
bnRzIHRoZSBjb250ZW50cyBvZiBhIGhhcy1tYW55CiAgcmVsYXRpb25zaGlw
|
567
|
+
LgoKICBUaGUgTWFueUFycmF5IGlzIGluc3RhbnRpYXRlZCBsYXppbHkgdGhl
|
568
|
+
IGZpcnN0IHRpbWUgdGhlIHJlbGF0aW9uc2hpcCBpcwogIHJlcXVlc3RlZC4K
|
569
|
+
CiAgIyMjIEludmVyc2VzCgogIE9mdGVuLCB0aGUgcmVsYXRpb25zaGlwcyBp
|
570
|
+
biBFbWJlciBEYXRhIGFwcGxpY2F0aW9ucyB3aWxsIGhhdmUKICBhbiBpbnZl
|
571
|
+
cnNlLiBGb3IgZXhhbXBsZSwgaW1hZ2luZSB0aGUgZm9sbG93aW5nIG1vZGVs
|
572
|
+
cyBhcmUKICBkZWZpbmVkOgoKICAgICAgQXBwLlBvc3QgPSBEUy5Nb2RlbC5l
|
573
|
+
eHRlbmQoewogICAgICAgIGNvbW1lbnRzOiBEUy5oYXNNYW55KCdBcHAuQ29t
|
574
|
+
bWVudCcpCiAgICAgIH0pOwoKICAgICAgQXBwLkNvbW1lbnQgPSBEUy5Nb2Rl
|
575
|
+
bC5leHRlbmQoewogICAgICAgIHBvc3Q6IERTLmJlbG9uZ3NUbygnQXBwLlBv
|
576
|
+
c3QnKQogICAgICB9KTsKCiAgSWYgeW91IGNyZWF0ZWQgYSBuZXcgaW5zdGFu
|
577
|
+
Y2Ugb2YgYEFwcC5Qb3N0YCBhbmQgYWRkZWQKICBhIGBBcHAuQ29tbWVudGAg
|
578
|
+
cmVjb3JkIHRvIGl0cyBgY29tbWVudHNgIGhhcy1tYW55CiAgcmVsYXRpb25z
|
579
|
+
aGlwLCB5b3Ugd291bGQgZXhwZWN0IHRoZSBjb21tZW50J3MgYHBvc3RgCiAg
|
580
|
+
cHJvcGVydHkgdG8gYmUgc2V0IHRvIHRoZSBwb3N0IHRoYXQgY29udGFpbmVk
|
581
|
+
CiAgdGhlIGhhcy1tYW55LgoKICBXZSBjYWxsIHRoZSByZWNvcmQgdG8gd2hp
|
582
|
+
Y2ggYSByZWxhdGlvbnNoaXAgYmVsb25ncyB0aGUKICByZWxhdGlvbnNoaXAn
|
583
|
+
cyBfb3duZXJfLgoKICBAY2xhc3MgTWFueUFycmF5CiAgQG5hbWVzcGFjZSBE
|
584
|
+
UwogIEBleHRlbmRzIERTLlJlY29yZEFycmF5CiovCkRTLk1hbnlBcnJheSA9
|
585
|
+
IERTLlJlY29yZEFycmF5LmV4dGVuZCh7CiAgaW5pdDogZnVuY3Rpb24oKSB7
|
586
|
+
CiAgICB0aGlzLl9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAg
|
587
|
+
dGhpcy5fY2hhbmdlc1RvU3luYyA9IEVtYmVyLk9yZGVyZWRTZXQuY3JlYXRl
|
588
|
+
KCk7CiAgfSwKCiAgLyoqCiAgICBUaGUgcmVjb3JkIHRvIHdoaWNoIHRoaXMg
|
589
|
+
cmVsYXRpb25zaGlwIGJlbG9uZ3MuCgogICAgQHByb3BlcnR5IHtEUy5Nb2Rl
|
590
|
+
bH0KICAgIEBwcml2YXRlCiAgKi8KICBvd25lcjogbnVsbCwKCiAgLyoqCiAg
|
591
|
+
ICBgdHJ1ZWAgaWYgdGhlIHJlbGF0aW9uc2hpcCBpcyBwb2x5bW9ycGhpYywg
|
592
|
+
YGZhbHNlYCBvdGhlcndpc2UuCgogICAgQHByb3BlcnR5IHtCb29sZWFufQog
|
593
|
+
ICAgQHByaXZhdGUKICAqLwogIGlzUG9seW1vcnBoaWM6IGZhbHNlLAoKICAv
|
594
|
+
LyBMT0FESU5HIFNUQVRFCgogIGlzTG9hZGVkOiBmYWxzZSwKCiAgbG9hZGlu
|
595
|
+
Z1JlY29yZHNDb3VudDogZnVuY3Rpb24oY291bnQpIHsKICAgIHRoaXMubG9h
|
596
|
+
ZGluZ1JlY29yZHNDb3VudCA9IGNvdW50OwogIH0sCgogIGxvYWRlZFJlY29y
|
597
|
+
ZDogZnVuY3Rpb24oKSB7CiAgICB0aGlzLmxvYWRpbmdSZWNvcmRzQ291bnQt
|
598
|
+
LTsKICAgIGlmICh0aGlzLmxvYWRpbmdSZWNvcmRzQ291bnQgPT09IDApIHsK
|
599
|
+
ICAgICAgc2V0KHRoaXMsICdpc0xvYWRlZCcsIHRydWUpOwogICAgICB0aGlz
|
600
|
+
LnRyaWdnZXIoJ2RpZExvYWQnKTsKICAgIH0KICB9LAoKICBmZXRjaDogZnVu
|
601
|
+
Y3Rpb24oKSB7CiAgICB2YXIgcmVjb3JkcyA9IGdldCh0aGlzLCAnY29udGVu
|
602
|
+
dCcpLAogICAgICAgIHN0b3JlID0gZ2V0KHRoaXMsICdzdG9yZScpLAogICAg
|
603
|
+
ICAgIG93bmVyID0gZ2V0KHRoaXMsICdvd25lcicpOwoKICAgIHZhciB1bmxv
|
604
|
+
YWRlZFJlY29yZHMgPSByZWNvcmRzLmZpbHRlclByb3BlcnR5KCdpc0VtcHR5
|
605
|
+
JywgdHJ1ZSk7CiAgICBzdG9yZS5mZXRjaE1hbnkodW5sb2FkZWRSZWNvcmRz
|
606
|
+
LCBvd25lcik7CiAgfSwKCiAgLy8gT3ZlcnJpZGVzIEVtYmVyLkFycmF5J3Mg
|
607
|
+
cmVwbGFjZSBtZXRob2QgdG8gaW1wbGVtZW50CiAgcmVwbGFjZUNvbnRlbnQ6
|
608
|
+
IGZ1bmN0aW9uKGluZGV4LCByZW1vdmVkLCBhZGRlZCkgewogICAgLy8gTWFw
|
609
|
+
IHRoZSBhcnJheSBvZiByZWNvcmQgb2JqZWN0cyBpbnRvIGFuIGFycmF5IG9m
|
610
|
+
ICBjbGllbnQgaWRzLgogICAgYWRkZWQgPSBtYXAoYWRkZWQsIGZ1bmN0aW9u
|
611
|
+
KHJlY29yZCkgewogICAgICBFbWJlci5hc3NlcnQoIllvdSBjYW5ub3QgYWRk
|
612
|
+
ICciICsgcmVjb3JkLmNvbnN0cnVjdG9yLnR5cGVLZXkgKyAiJyByZWNvcmRz
|
613
|
+
IHRvIHRoaXMgcmVsYXRpb25zaGlwIChvbmx5ICciICsgdGhpcy50eXBlLnR5
|
614
|
+
cGVLZXkgKyAiJyBhbGxvd2VkKSIsICF0aGlzLnR5cGUgfHwgcmVjb3JkIGlu
|
615
|
+
c3RhbmNlb2YgdGhpcy50eXBlKTsKICAgICAgcmV0dXJuIHJlY29yZDsKICAg
|
616
|
+
IH0sIHRoaXMpOwoKICAgIHRoaXMuX3N1cGVyKGluZGV4LCByZW1vdmVkLCBh
|
617
|
+
ZGRlZCk7CiAgfSwKCiAgYXJyYW5nZWRDb250ZW50RGlkQ2hhbmdlOiBmdW5j
|
618
|
+
dGlvbigpIHsKICAgIHRoaXMuZmV0Y2goKTsKICB9LAoKICBhcnJheUNvbnRl
|
619
|
+
bnRXaWxsQ2hhbmdlOiBmdW5jdGlvbihpbmRleCwgcmVtb3ZlZCwgYWRkZWQp
|
620
|
+
IHsKICAgIHZhciBvd25lciA9IGdldCh0aGlzLCAnb3duZXInKSwKICAgICAg
|
621
|
+
ICBuYW1lID0gZ2V0KHRoaXMsICduYW1lJyk7CgogICAgaWYgKCFvd25lci5f
|
622
|
+
c3VzcGVuZGVkUmVsYXRpb25zaGlwcykgewogICAgICAvLyBUaGlzIGNvZGUg
|
623
|
+
aXMgdGhlIGZpcnN0IGhhbGYgb2YgY29kZSB0aGF0IGNvbnRpbnVlcyBpbnNp
|
624
|
+
ZGUKICAgICAgLy8gb2YgYXJyYXlDb250ZW50RGlkQ2hhbmdlLiBJdCBnZXRz
|
625
|
+
IG9yIGNyZWF0ZXMgYSBjaGFuZ2UgZnJvbQogICAgICAvLyB0aGUgY2hpbGQg
|
626
|
+
b2JqZWN0LCBhZGRzIHRoZSBjdXJyZW50IG93bmVyIGFzIHRoZSBvbGQKICAg
|
627
|
+
ICAgLy8gcGFyZW50IGlmIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgdGhlIG9i
|
628
|
+
amVjdCB3YXMgcmVtb3ZlZAogICAgICAvLyBmcm9tIGEgTWFueUFycmF5LCBh
|
629
|
+
bmQgc2V0cyBgbmV3UGFyZW50YCB0byBudWxsLgogICAgICAvLwogICAgICAv
|
630
|
+
LyBMYXRlciwgaWYgdGhlIG9iamVjdCBpcyBhZGRlZCB0byBhbm90aGVyIE1h
|
631
|
+
bnlBcnJheSwKICAgICAgLy8gdGhlIGBhcnJheUNvbnRlbnREaWRDaGFuZ2Vg
|
632
|
+
IHdpbGwgc2V0IGBuZXdQYXJlbnRgIG9uCiAgICAgIC8vIHRoZSBjaGFuZ2Uu
|
633
|
+
CiAgICAgIGZvciAodmFyIGk9aW5kZXg7IGk8aW5kZXgrcmVtb3ZlZDsgaSsr
|
634
|
+
KSB7CiAgICAgICAgdmFyIHJlY29yZCA9IGdldCh0aGlzLCAnY29udGVudCcp
|
635
|
+
Lm9iamVjdEF0KGkpOwoKICAgICAgICB2YXIgY2hhbmdlID0gRFMuUmVsYXRp
|
636
|
+
b25zaGlwQ2hhbmdlLmNyZWF0ZUNoYW5nZShvd25lciwgcmVjb3JkLCBnZXQo
|
637
|
+
dGhpcywgJ3N0b3JlJyksIHsKICAgICAgICAgIHBhcmVudFR5cGU6IG93bmVy
|
638
|
+
LmNvbnN0cnVjdG9yLAogICAgICAgICAgY2hhbmdlVHlwZTogInJlbW92ZSIs
|
639
|
+
CiAgICAgICAgICBraW5kOiAiaGFzTWFueSIsCiAgICAgICAgICBrZXk6IG5h
|
640
|
+
bWUKICAgICAgICB9KTsKCiAgICAgICAgdGhpcy5fY2hhbmdlc1RvU3luYy5h
|
641
|
+
ZGQoY2hhbmdlKTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiB0aGlzLl9z
|
642
|
+
dXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogIH0sCgogIGFycmF5Q29u
|
643
|
+
dGVudERpZENoYW5nZTogZnVuY3Rpb24oaW5kZXgsIHJlbW92ZWQsIGFkZGVk
|
644
|
+
KSB7CiAgICB0aGlzLl9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoK
|
645
|
+
ICAgIHZhciBvd25lciA9IGdldCh0aGlzLCAnb3duZXInKSwKICAgICAgICBu
|
646
|
+
YW1lID0gZ2V0KHRoaXMsICduYW1lJyksCiAgICAgICAgc3RvcmUgPSBnZXQo
|
647
|
+
dGhpcywgJ3N0b3JlJyk7CgogICAgaWYgKCFvd25lci5fc3VzcGVuZGVkUmVs
|
648
|
+
YXRpb25zaGlwcykgewogICAgICAvLyBUaGlzIGNvZGUgaXMgdGhlIHNlY29u
|
649
|
+
ZCBoYWxmIG9mIGNvZGUgdGhhdCBzdGFydGVkIGluCiAgICAgIC8vIGBhcnJh
|
650
|
+
eUNvbnRlbnRXaWxsQ2hhbmdlYC4gSXQgZ2V0cyBvciBjcmVhdGVzIGEgY2hh
|
651
|
+
bmdlCiAgICAgIC8vIGZyb20gdGhlIGNoaWxkIG9iamVjdCwgYW5kIGFkZHMg
|
652
|
+
dGhlIGN1cnJlbnQgb3duZXIgYXMKICAgICAgLy8gdGhlIG5ldyBwYXJlbnQu
|
653
|
+
CiAgICAgIGZvciAodmFyIGk9aW5kZXg7IGk8aW5kZXgrYWRkZWQ7IGkrKykg
|
654
|
+
ewogICAgICAgIHZhciByZWNvcmQgPSBnZXQodGhpcywgJ2NvbnRlbnQnKS5v
|
655
|
+
YmplY3RBdChpKTsKCiAgICAgICAgdmFyIGNoYW5nZSA9IERTLlJlbGF0aW9u
|
656
|
+
c2hpcENoYW5nZS5jcmVhdGVDaGFuZ2Uob3duZXIsIHJlY29yZCwgc3RvcmUs
|
657
|
+
IHsKICAgICAgICAgIHBhcmVudFR5cGU6IG93bmVyLmNvbnN0cnVjdG9yLAog
|
658
|
+
ICAgICAgICAgY2hhbmdlVHlwZTogImFkZCIsCiAgICAgICAgICBraW5kOiJo
|
659
|
+
YXNNYW55IiwKICAgICAgICAgIGtleTogbmFtZQogICAgICAgIH0pOwogICAg
|
660
|
+
ICAgIGNoYW5nZS5oYXNNYW55TmFtZSA9IG5hbWU7CgogICAgICAgIHRoaXMu
|
661
|
+
X2NoYW5nZXNUb1N5bmMuYWRkKGNoYW5nZSk7CiAgICAgIH0KCiAgICAgIC8v
|
662
|
+
IFdlIHdhaXQgdW50aWwgdGhlIGFycmF5IGhhcyBmaW5pc2hlZCBiZWluZwog
|
663
|
+
ICAgICAvLyBtdXRhdGVkIGJlZm9yZSBzeW5jaW5nIHRoZSBPbmVUb01hbnlD
|
664
|
+
aGFuZ2VzIGNyZWF0ZWQKICAgICAgLy8gaW4gYXJyYXlDb250ZW50V2lsbENo
|
665
|
+
YW5nZSwgc28gdGhhdCB0aGUgYXJyYXkKICAgICAgLy8gbWVtYmVyc2hpcCB0
|
666
|
+
ZXN0IGluIHRoZSBzeW5jKCkgbG9naWMgb3BlcmF0ZXMKICAgICAgLy8gb24g
|
667
|
+
dGhlIGZpbmFsIHJlc3VsdHMuCiAgICAgIHRoaXMuX2NoYW5nZXNUb1N5bmMu
|
668
|
+
Zm9yRWFjaChmdW5jdGlvbihjaGFuZ2UpIHsKICAgICAgICBjaGFuZ2Uuc3lu
|
669
|
+
YygpOwogICAgICB9KTsKCiAgICAgIHRoaXMuX2NoYW5nZXNUb1N5bmMuY2xl
|
670
|
+
YXIoKTsKICAgIH0KICB9LAoKICAvLyBDcmVhdGUgYSBjaGlsZCByZWNvcmQg
|
671
|
+
d2l0aGluIHRoZSBvd25lcgogIGNyZWF0ZVJlY29yZDogZnVuY3Rpb24oaGFz
|
672
|
+
aCkgewogICAgdmFyIG93bmVyID0gZ2V0KHRoaXMsICdvd25lcicpLAogICAg
|
673
|
+
ICAgIHN0b3JlID0gZ2V0KG93bmVyLCAnc3RvcmUnKSwKICAgICAgICB0eXBl
|
674
|
+
ID0gZ2V0KHRoaXMsICd0eXBlJyksCiAgICAgICAgcmVjb3JkOwoKICAgIEVt
|
675
|
+
YmVyLmFzc2VydCgiWW91IGNhbm5vdCBhZGQgJyIgKyB0eXBlLnR5cGVLZXkg
|
676
|
+
KyAiJyByZWNvcmRzIHRvIHRoaXMgcG9seW1vcnBoaWMgcmVsYXRpb25zaGlw
|
677
|
+
LiIsICFnZXQodGhpcywgJ2lzUG9seW1vcnBoaWMnKSk7CgogICAgcmVjb3Jk
|
678
|
+
ID0gc3RvcmUuY3JlYXRlUmVjb3JkLmNhbGwoc3RvcmUsIHR5cGUsIGhhc2gp
|
679
|
+
OwogICAgdGhpcy5wdXNoT2JqZWN0KHJlY29yZCk7CgogICAgcmV0dXJuIHJl
|
680
|
+
Y29yZDsKICB9Cgp9KTsKCn0pKCk7CgoKCihmdW5jdGlvbigpIHsKLyoqCiAg
|
681
|
+
QG1vZHVsZSBlbWJlci1kYXRhCiovCgp9KSgpOwoKCgooZnVuY3Rpb24oKSB7
|
682
|
+
Ci8qKgogIEBtb2R1bGUgZW1iZXItZGF0YQoqLwoKdmFyIGdldCA9IEVtYmVy
|
683
|
+
LmdldDsKCnZhciByZXNvbHZlTWFwQ29uZmxpY3QgPSBmdW5jdGlvbihvbGRW
|
684
|
+
YWx1ZSwgbmV3VmFsdWUpIHsKICByZXR1cm4gb2xkVmFsdWU7Cn07Cgp2YXIg
|
685
|
+
dHJhbnNmb3JtTWFwS2V5ID0gZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewogIHJl
|
686
|
+
dHVybiBrZXk7Cn07Cgp2YXIgdHJhbnNmb3JtTWFwVmFsdWUgPSBmdW5jdGlv
|
687
|
+
bihrZXksIHZhbHVlKSB7CiAgcmV0dXJuIHZhbHVlOwp9OwoKLyoqCiAgVGhl
|
688
|
+
IE1hcHBhYmxlIG1peGluIGlzIGRlc2lnbmVkIGZvciBjbGFzc2VzIHRoYXQg
|
689
|
+
d291bGQgbGlrZSB0bwogIGJlaGF2ZSBhcyBhIG1hcCBmb3IgY29uZmlndXJh
|
690
|
+
dGlvbiBwdXJwb3Nlcy4KCiAgRm9yIGV4YW1wbGUsIHRoZSBEUy5BZGFwdGVy
|
691
|
+
IGNsYXNzIGNhbiBiZWhhdmUgbGlrZSBhIG1hcCwgd2l0aAogIG1vcmUgc2Vt
|
692
|
+
YW50aWMgQVBJLCB2aWEgdGhlIGBtYXBgIEFQSToKCiAgICBEUy5BZGFwdGVy
|
693
|
+
Lm1hcCgnQXBwLlBlcnNvbicsIHsgZmlyc3ROYW1lOiB7IGtleTogJ0ZJUlNU
|
694
|
+
JyB9IH0pOwoKICBDbGFzcyBjb25maWd1cmF0aW9uIHZpYSBhIG1hcC1saWtl
|
695
|
+
IEFQSSBoYXMgYSBmZXcgY29tbW9uIHJlcXVpcmVtZW50cwogIHRoYXQgZGlm
|
696
|
+
ZmVyZW50aWF0ZSBpdCBmcm9tIHRoZSBzdGFuZGFyZCBFbWJlci5NYXAgaW1w
|
697
|
+
bGVtZW50YXRpb24uCgogIEZpcnN0LCB2YWx1ZXMgb2Z0ZW4gYXJlIHByb3Zp
|
698
|
+
ZGVkIGFzIHN0cmluZ3MgdGhhdCBzaG91bGQgYmUgbm9ybWFsaXplZAogIGlu
|
699
|
+
dG8gY2xhc3NlcyB0aGUgZmlyc3QgdGltZSB0aGUgY29uZmlndXJhdGlvbiBv
|
700
|
+
cHRpb25zIGFyZSB1c2VkLgoKICBTZWNvbmQsIHRoZSB2YWx1ZXMgY29uZmln
|
701
|
+
dXJlZCBvbiBwYXJlbnQgY2xhc3NlcyBzaG91bGQgYWxzbyBiZSB0YWtlbgog
|
702
|
+
IGludG8gYWNjb3VudC4KCiAgRmluYWxseSwgc2V0dGluZyB0aGUgdmFsdWUg
|
703
|
+
b2YgYSBrZXkgc29tZXRpbWVzIHNob3VsZCBtZXJnZSB3aXRoIHRoZQogIHBy
|
704
|
+
ZXZpb3VzIHZhbHVlLCByYXRoZXIgdGhhbiByZXBsYWNpbmcgaXQuCgogIFRo
|
705
|
+
aXMgbWl4aW4gcHJvdmlkZXMgYSBpbnN0YW5jZSBtZXRob2QsIGBjcmVhdGVJ
|
706
|
+
bnN0YW5jZU1hcEZvcmAsIHRoYXQKICB3aWxsIHJlaWZ5IGFsbCBvZiB0aGUg
|
707
|
+
Y29uZmlndXJhdGlvbiBvcHRpb25zIHNldCBvbiBhbiBpbnN0YW5jZSdzCiAg
|
708
|
+
Y29uc3RydWN0b3IgYW5kIHByb3ZpZGUgaXQgZm9yIHRoZSBpbnN0YW5jZSB0
|
709
|
+
byB1c2UuCgogIENsYXNzZXMgY2FuIGltcGxlbWVudCBjZXJ0YWluIGhvb2tz
|
710
|
+
IHRoYXQgYWxsb3cgdGhlbSB0byBjdXN0b21pemUKICB0aGUgcmVxdWlyZW1l
|
711
|
+
bnRzIGxpc3RlZCBhYm92ZToKCiAgKiBgcmVzb2x2ZU1hcENvbmZsaWN0YCAt
|
712
|
+
IGNhbGxlZCB3aGVuIGEgdmFsdWUgaXMgc2V0IGZvciBhbiBleGlzdGluZwog
|
713
|
+
ICAgdmFsdWUKICAqIGB0cmFuc2Zvcm1NYXBLZXlgIC0gYWxsb3dzIGEga2V5
|
714
|
+
IG5hbWUgKGZvciBleGFtcGxlLCBhIGdsb2JhbCBwYXRoCiAgICB0byBhIGNs
|
715
|
+
YXNzKSB0byBiZSBub3JtYWxpemVkCiAgKiBgdHJhbnNmb3JtTWFwVmFsdWVg
|
716
|
+
IC0gYWxsb3dzIGEgdmFsdWUgKGZvciBleGFtcGxlLCBhIGNsYXNzIHRoYXQK
|
717
|
+
ICAgIHNob3VsZCBiZSBpbnN0YW50aWF0ZWQpIHRvIGJlIG5vcm1hbGl6ZWQK
|
718
|
+
CiAgQ2xhc3NlcyB0aGF0IGltcGxlbWVudCB0aGlzIG1peGluIHNob3VsZCBh
|
719
|
+
bHNvIGltcGxlbWVudCBhIGNsYXNzCiAgbWV0aG9kIGJ1aWx0IHVzaW5nIHRo
|
720
|
+
ZSBgZ2VuZXJhdGVNYXBGdW5jdGlvbkZvcmAgbWV0aG9kOgoKICAgIERTLkFk
|
721
|
+
YXB0ZXIucmVvcGVuQ2xhc3MoewogICAgICBtYXA6IERTLk1hcHBhYmxlLmdl
|
722
|
+
bmVyYXRlTWFwRnVuY3Rpb25Gb3IoJ2F0dHJpYnV0ZXMnLCBmdW5jdGlvbihr
|
723
|
+
ZXksIG5ld1ZhbHVlLCBtYXApIHsKICAgICAgICB2YXIgZXhpc3RpbmdWYWx1
|
724
|
+
ZSA9IG1hcC5nZXQoa2V5KTsKCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBu
|
725
|
+
ZXdWYWx1ZSkgewogICAgICAgICAgaWYgKCFuZXdWYWx1ZS5oYXNPd25Qcm9w
|
726
|
+
ZXJ0eShwcm9wKSkgeyBjb250aW51ZTsgfQogICAgICAgICAgZXhpc3RpbmdW
|
727
|
+
YWx1ZVtwcm9wXSA9IG5ld1ZhbHVlW3Byb3BdOwogICAgICAgIH0KICAgICAg
|
728
|
+
fSkKICAgIH0pOwoKICBUaGUgZnVuY3Rpb24gcGFzc2VkIHRvIGBnZW5lcmF0
|
729
|
+
ZU1hcEZ1bmN0aW9uRm9yYCBpcyBpbnZva2VkIGV2ZXJ5IHRpbWUgYQogIG5l
|
730
|
+
dyB2YWx1ZSBpcyBhZGRlZCB0byB0aGUgbWFwLgoKICBAY2xhc3MgX01hcHBh
|
731
|
+
YmxlCiAgQHByaXZhdGUKICBAbmFtZXNwYWNlIERTCioqLwpEUy5fTWFwcGFi
|
732
|
+
bGUgPSBFbWJlci5NaXhpbi5jcmVhdGUoewogIGNyZWF0ZUluc3RhbmNlTWFw
|
733
|
+
Rm9yOiBmdW5jdGlvbihtYXBOYW1lKSB7CiAgICB2YXIgaW5zdGFuY2VNZXRh
|
734
|
+
ID0gZ2V0TWFwcGFibGVNZXRhKHRoaXMpOwoKICAgIGluc3RhbmNlTWV0YS52
|
735
|
+
YWx1ZXMgPSBpbnN0YW5jZU1ldGEudmFsdWVzIHx8IHt9OwoKICAgIGlmIChp
|
736
|
+
bnN0YW5jZU1ldGEudmFsdWVzW21hcE5hbWVdKSB7IHJldHVybiBpbnN0YW5j
|
737
|
+
ZU1ldGEudmFsdWVzW21hcE5hbWVdOyB9CgogICAgdmFyIGluc3RhbmNlTWFw
|
738
|
+
ID0gaW5zdGFuY2VNZXRhLnZhbHVlc1ttYXBOYW1lXSA9IG5ldyBFbWJlci5N
|
739
|
+
YXAoKTsKCiAgICB2YXIga2xhc3MgPSB0aGlzLmNvbnN0cnVjdG9yOwoKICAg
|
740
|
+
IHdoaWxlIChrbGFzcyAmJiBrbGFzcyAhPT0gRFMuU3RvcmUpIHsKICAgICAg
|
741
|
+
dGhpcy5fY29weU1hcChtYXBOYW1lLCBrbGFzcywgaW5zdGFuY2VNYXApOwog
|
742
|
+
ICAgICBrbGFzcyA9IGtsYXNzLnN1cGVyY2xhc3M7CiAgICB9CgogICAgaW5z
|
743
|
+
dGFuY2VNZXRhLnZhbHVlc1ttYXBOYW1lXSA9IGluc3RhbmNlTWFwOwogICAg
|
744
|
+
cmV0dXJuIGluc3RhbmNlTWFwOwogIH0sCgogIF9jb3B5TWFwOiBmdW5jdGlv
|
745
|
+
bihtYXBOYW1lLCBrbGFzcywgaW5zdGFuY2VNYXApIHsKICAgIHZhciBjbGFz
|
746
|
+
c01ldGEgPSBnZXRNYXBwYWJsZU1ldGEoa2xhc3MpOwoKICAgIHZhciBjbGFz
|
747
|
+
c01hcCA9IGNsYXNzTWV0YVttYXBOYW1lXTsKICAgIGlmIChjbGFzc01hcCkg
|
748
|
+
ewogICAgICBjbGFzc01hcC5mb3JFYWNoKGVhY2hNYXAsIHRoaXMpOwogICAg
|
749
|
+
fQoKICAgIGZ1bmN0aW9uIGVhY2hNYXAoa2V5LCB2YWx1ZSkgewogICAgICB2
|
750
|
+
YXIgdHJhbnNmb3JtZWRLZXkgPSAoa2xhc3MudHJhbnNmb3JtTWFwS2V5IHx8
|
751
|
+
IHRyYW5zZm9ybU1hcEtleSkoa2V5LCB2YWx1ZSk7CiAgICAgIHZhciB0cmFu
|
752
|
+
c2Zvcm1lZFZhbHVlID0gKGtsYXNzLnRyYW5zZm9ybU1hcFZhbHVlIHx8IHRy
|
753
|
+
YW5zZm9ybU1hcFZhbHVlKShrZXksIHZhbHVlKTsKCiAgICAgIHZhciBvbGRW
|
754
|
+
YWx1ZSA9IGluc3RhbmNlTWFwLmdldCh0cmFuc2Zvcm1lZEtleSk7CiAgICAg
|
755
|
+
IHZhciBuZXdWYWx1ZSA9IHRyYW5zZm9ybWVkVmFsdWU7CgogICAgICBpZiAo
|
756
|
+
b2xkVmFsdWUpIHsKICAgICAgICBuZXdWYWx1ZSA9ICh0aGlzLmNvbnN0cnVj
|
757
|
+
dG9yLnJlc29sdmVNYXBDb25mbGljdCB8fCByZXNvbHZlTWFwQ29uZmxpY3Qp
|
758
|
+
KG9sZFZhbHVlLCBuZXdWYWx1ZSk7CiAgICAgIH0KCiAgICAgIGluc3RhbmNl
|
759
|
+
TWFwLnNldCh0cmFuc2Zvcm1lZEtleSwgbmV3VmFsdWUpOwogICAgfQogIH0K
|
760
|
+
Cgp9KTsKCkRTLl9NYXBwYWJsZS5nZW5lcmF0ZU1hcEZ1bmN0aW9uRm9yID0g
|
761
|
+
ZnVuY3Rpb24obWFwTmFtZSwgdHJhbnNmb3JtKSB7CiAgcmV0dXJuIGZ1bmN0
|
762
|
+
aW9uKGtleSwgdmFsdWUpIHsKICAgIHZhciBtZXRhID0gZ2V0TWFwcGFibGVN
|
763
|
+
ZXRhKHRoaXMpOwoKICAgIHZhciBtYXAgPSBtZXRhW21hcE5hbWVdIHx8IEVt
|
764
|
+
YmVyLk1hcFdpdGhEZWZhdWx0LmNyZWF0ZSh7CiAgICAgIGRlZmF1bHRWYWx1
|
765
|
+
ZTogZnVuY3Rpb24oKSB7IHJldHVybiB7fTsgfQogICAgfSk7CgogICAgdHJh
|
766
|
+
bnNmb3JtLmNhbGwodGhpcywga2V5LCB2YWx1ZSwgbWFwKTsKCiAgICBtZXRh
|
767
|
+
W21hcE5hbWVdID0gbWFwOwogIH07Cn07CgpmdW5jdGlvbiBnZXRNYXBwYWJs
|
768
|
+
ZU1ldGEob2JqKSB7CiAgdmFyIG1ldGEgPSBFbWJlci5tZXRhKG9iaiwgdHJ1
|
769
|
+
ZSksCiAgICAgIGtleU5hbWUgPSAnRFMuTWFwcGFibGUnLAogICAgICB2YWx1
|
770
|
+
ZSA9IG1ldGFba2V5TmFtZV07CgogIGlmICghdmFsdWUpIHsgbWV0YVtrZXlO
|
771
|
+
YW1lXSA9IHt9OyB9CgogIGlmICghbWV0YS5oYXNPd25Qcm9wZXJ0eShrZXlO
|
772
|
+
YW1lKSkgewogICAgbWV0YVtrZXlOYW1lXSA9IEVtYmVyLmNyZWF0ZShtZXRh
|
773
|
+
W2tleU5hbWVdKTsKICB9CgogIHJldHVybiBtZXRhW2tleU5hbWVdOwp9Cgp9
|
774
|
+
KSgpOwoKCgooZnVuY3Rpb24oKSB7Ci8qZ2xvYmFscyBFbWJlciovCi8qanNo
|
775
|
+
aW50IGVxbnVsbDp0cnVlKi8KLyoqCiAgQG1vZHVsZSBlbWJlci1kYXRhCiov
|
776
|
+
Cgp2YXIgZ2V0ID0gRW1iZXIuZ2V0LCBzZXQgPSBFbWJlci5zZXQ7CnZhciBv
|
777
|
+
bmNlID0gRW1iZXIucnVuLm9uY2U7CnZhciBpc05vbmUgPSBFbWJlci5pc05v
|
778
|
+
bmU7CnZhciBmb3JFYWNoID0gRW1iZXIuRW51bWVyYWJsZVV0aWxzLmZvckVh
|
779
|
+
Y2g7CnZhciBpbmRleE9mID0gRW1iZXIuRW51bWVyYWJsZVV0aWxzLmluZGV4
|
780
|
+
T2Y7CnZhciBtYXAgPSBFbWJlci5FbnVtZXJhYmxlVXRpbHMubWFwOwp2YXIg
|
781
|
+
T3JkZXJlZFNldCA9IEVtYmVyLk9yZGVyZWRTZXQ7CnZhciByZXNvbHZlID0g
|
782
|
+
RW1iZXIuUlNWUC5yZXNvbHZlOwoKLy8gSW1wbGVtZW50b3JzIE5vdGU6Ci8v
|
783
|
+
Ci8vICAgVGhlIHZhcmlhYmxlcyBpbiB0aGlzIGZpbGUgYXJlIGNvbnNpc3Rl
|
784
|
+
bnRseSBuYW1lZCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZwovLyAgIHNj
|
785
|
+
aGVtZToKLy8KLy8gICAqICtpZCsgbWVhbnMgYW4gaWRlbnRpZmllciBtYW5h
|
786
|
+
Z2VkIGJ5IGFuIGV4dGVybmFsIHNvdXJjZSwgcHJvdmlkZWQgaW5zaWRlCi8v
|
787
|
+
ICAgICB0aGUgZGF0YSBwcm92aWRlZCBieSB0aGF0IHNvdXJjZS4gVGhlc2Ug
|
788
|
+
YXJlIGFsd2F5cyBjb2VyY2VkIHRvIGJlIHN0cmluZ3MKLy8gICAgIGJlZm9y
|
789
|
+
ZSBiZWluZyB1c2VkIGludGVybmFsbHkuCi8vICAgKiArY2xpZW50SWQrIG1l
|
790
|
+
YW5zIGEgdHJhbnNpZW50IG51bWVyaWNhbCBpZGVudGlmaWVyIGdlbmVyYXRl
|
791
|
+
ZCBhdCBydW50aW1lIGJ5Ci8vICAgICB0aGUgZGF0YSBzdG9yZS4gSXQgaXMg
|
792
|
+
aW1wb3J0YW50IHByaW1hcmlseSBiZWNhdXNlIG5ld2x5IGNyZWF0ZWQgb2Jq
|
793
|
+
ZWN0cyBtYXkKLy8gICAgIG5vdCB5ZXQgaGF2ZSBhbiBleHRlcm5hbGx5IGdl
|
794
|
+
bmVyYXRlZCBpZC4KLy8gICAqICtyZWZlcmVuY2UrIG1lYW5zIGEgcmVjb3Jk
|
795
|
+
IHJlZmVyZW5jZSBvYmplY3QsIHdoaWNoIGhvbGRzIG1ldGFkYXRhIGFib3V0
|
796
|
+
IGEKLy8gICAgIHJlY29yZCwgZXZlbiBpZiBpdCBoYXMgbm90IHlldCBiZWVu
|
797
|
+
IGZ1bGx5IG1hdGVyaWFsaXplZC4KLy8gICAqICt0eXBlKyBtZWFucyBhIHN1
|
798
|
+
YmNsYXNzIG9mIERTLk1vZGVsLgoKLy8gVXNlZCBieSB0aGUgc3RvcmUgdG8g
|
799
|
+
bm9ybWFsaXplIElEcyBlbnRlcmluZyB0aGUgc3RvcmUuICBEZXNwaXRlIHRo
|
800
|
+
ZSBmYWN0Ci8vIHRoYXQgZGV2ZWxvcGVycyBtYXkgcHJvdmlkZSBJRHMgYXMg
|
801
|
+
bnVtYmVycyAoZS5nLiwgYHN0b3JlLmZpbmQoUGVyc29uLCAxKWApLAovLyBp
|
802
|
+
dCBpcyBpbXBvcnRhbnQgdGhhdCBpbnRlcm5hbGx5IHdlIHVzZSBzdHJpbmdz
|
803
|
+
LCBzaW5jZSBJRHMgbWF5IGJlIHNlcmlhbGl6ZWQKLy8gYW5kIGxvc2UgdHlw
|
804
|
+
ZSBpbmZvcm1hdGlvbi4gIEZvciBleGFtcGxlLCBFbWJlcidzIHJvdXRlciBt
|
805
|
+
YXkgcHV0IGEgcmVjb3JkJ3MKLy8gSUQgaW50byB0aGUgVVJMLCBhbmQgaWYg
|
806
|
+
d2UgbGF0ZXIgdHJ5IHRvIGRlc2VyaWFsaXplIHRoYXQgVVJMIGFuZCBmaW5k
|
807
|
+
IHRoZQovLyBjb3JyZXNwb25kaW5nIHJlY29yZCwgd2Ugd2lsbCBub3Qga25v
|
808
|
+
dyBpZiBpdCBpcyBhIHN0cmluZyBvciBhIG51bWJlci4KdmFyIGNvZXJjZUlk
|
809
|
+
ID0gZnVuY3Rpb24oaWQpIHsKICByZXR1cm4gaWQgPT0gbnVsbCA/IG51bGwg
|
810
|
+
OiBpZCsnJzsKfTsKCi8qKgogIFRoZSBzdG9yZSBjb250YWlucyBhbGwgb2Yg
|
811
|
+
dGhlIGRhdGEgZm9yIHJlY29yZHMgbG9hZGVkIGZyb20gdGhlIHNlcnZlci4K
|
812
|
+
ICBJdCBpcyBhbHNvIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyBpbnN0YW5j
|
813
|
+
ZXMgb2YgRFMuTW9kZWwgdGhhdCB3cmFwCiAgdGhlIGluZGl2aWR1YWwgZGF0
|
814
|
+
YSBmb3IgYSByZWNvcmQsIHNvIHRoYXQgdGhleSBjYW4gYmUgYm91bmQgdG8g
|
815
|
+
aW4geW91cgogIEhhbmRsZWJhcnMgdGVtcGxhdGVzLgoKICBEZWZpbmUgeW91
|
816
|
+
ciBhcHBsaWNhdGlvbidzIHN0b3JlIGxpa2UgdGhpczoKCiAgICAgICBNeUFw
|
817
|
+
cC5TdG9yZSA9IERTLlN0b3JlLmV4dGVuZCgpOwoKICBNb3N0IEVtYmVyLmpz
|
818
|
+
IGFwcGxpY2F0aW9ucyB3aWxsIG9ubHkgaGF2ZSBhIHNpbmdsZSBgRFMuU3Rv
|
819
|
+
cmVgIHRoYXQgaXMKICBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgYnkgdGhlaXIg
|
820
|
+
YEVtYmVyLkFwcGxpY2F0aW9uYC4KCiAgWW91IGNhbiByZXRyaWV2ZSBtb2Rl
|
821
|
+
bHMgZnJvbSB0aGUgc3RvcmUgaW4gc2V2ZXJhbCB3YXlzLiBUbyByZXRyaWV2
|
822
|
+
ZSBhIHJlY29yZAogIGZvciBhIHNwZWNpZmljIGlkLCB1c2UgYERTLk1vZGVs
|
823
|
+
YCdzIGBmaW5kKClgIG1ldGhvZDoKCiAgICAgICB2YXIgcGVyc29uID0gQXBw
|
824
|
+
LlBlcnNvbi5maW5kKDEyMyk7CgogIElmIHlvdXIgYXBwbGljYXRpb24gaGFz
|
825
|
+
IG11bHRpcGxlIGBEUy5TdG9yZWAgaW5zdGFuY2VzIChhbiB1bnVzdWFsIGNh
|
826
|
+
c2UpLCB5b3UgY2FuCiAgc3BlY2lmeSB3aGljaCBzdG9yZSBzaG91bGQgYmUg
|
827
|
+
dXNlZDoKCiAgICAgIHZhciBwZXJzb24gPSBzdG9yZS5maW5kKEFwcC5QZXJz
|
828
|
+
b24sIDEyMyk7CgogIEluIGdlbmVyYWwsIHlvdSBzaG91bGQgcmV0cmlldmUg
|
829
|
+
bW9kZWxzIHVzaW5nIHRoZSBtZXRob2RzIG9uIGBEUy5Nb2RlbGA7IHlvdSBz
|
830
|
+
aG91bGQKICByYXJlbHkgbmVlZCB0byBpbnRlcmFjdCB3aXRoIHRoZSBzdG9y
|
831
|
+
ZSBkaXJlY3RseS4KCiAgQnkgZGVmYXVsdCwgdGhlIHN0b3JlIHdpbGwgdGFs
|
832
|
+
ayB0byB5b3VyIGJhY2tlbmQgdXNpbmcgYSBzdGFuZGFyZCBSRVNUIG1lY2hh
|
833
|
+
bmlzbS4KICBZb3UgY2FuIGN1c3RvbWl6ZSBob3cgdGhlIHN0b3JlIHRhbGtz
|
834
|
+
IHRvIHlvdXIgYmFja2VuZCBieSBzcGVjaWZ5aW5nIGEgY3VzdG9tIGFkYXB0
|
835
|
+
ZXI6CgogICAgICAgTXlBcHAuc3RvcmUgPSBEUy5TdG9yZS5jcmVhdGUoewog
|
836
|
+
ICAgICAgICBhZGFwdGVyOiAnTXlBcHAuQ3VzdG9tQWRhcHRlcicKICAgICAg
|
837
|
+
IH0pOwoKICBZb3UgY2FuIGxlYXJuIG1vcmUgYWJvdXQgd3JpdGluZyBhIGN1
|
838
|
+
c3RvbSBhZGFwdGVyIGJ5IHJlYWRpbmcgdGhlIGBEUy5BZGFwdGVyYAogIGRv
|
839
|
+
Y3VtZW50YXRpb24uCgogIEBjbGFzcyBTdG9yZQogIEBuYW1lc3BhY2UgRFMK
|
840
|
+
ICBAZXh0ZW5kcyBFbWJlci5PYmplY3QKICBAdXNlcyBEUy5fTWFwcGFibGUK
|
841
|
+
Ki8KRFMuU3RvcmUgPSBFbWJlci5PYmplY3QuZXh0ZW5kKERTLl9NYXBwYWJs
|
842
|
+
ZSwgewoKICAvKioKICAgIEBtZXRob2QgaW5pdAogICAgQHByaXZhdGUKICAq
|
843
|
+
LwogIGluaXQ6IGZ1bmN0aW9uKCkgewogICAgLy8gaW50ZXJuYWwgYm9va2tl
|
844
|
+
ZXBpbmc7IG5vdCBvYnNlcnZhYmxlCiAgICB0aGlzLnR5cGVNYXBzID0ge307
|
845
|
+
CiAgICB0aGlzLnJlY29yZEFycmF5TWFuYWdlciA9IERTLlJlY29yZEFycmF5
|
846
|
+
TWFuYWdlci5jcmVhdGUoewogICAgICBzdG9yZTogdGhpcwogICAgfSk7CiAg
|
847
|
+
ICB0aGlzLl9yZWxhdGlvbnNoaXBDaGFuZ2VzID0ge307CiAgICB0aGlzLl9w
|
848
|
+
ZW5kaW5nU2F2ZSA9IFtdOwogIH0sCgogIC8qKgogICAgVGhlIGFkYXB0ZXIg
|
849
|
+
dG8gdXNlIHRvIGNvbW11bmljYXRlIHRvIGEgYmFja2VuZCBzZXJ2ZXIgb3Ig
|
850
|
+
b3RoZXIgcGVyc2lzdGVuY2UgbGF5ZXIuCgogICAgVGhpcyBjYW4gYmUgc3Bl
|
851
|
+
Y2lmaWVkIGFzIGFuIGluc3RhbmNlLCBjbGFzcywgb3Igc3RyaW5nLgoKICAg
|
852
|
+
IElmIHlvdSB3YW50IHRvIHNwZWNpZnkgYEFwcC5DdXN0b21BZGFwdGVyYCBh
|
853
|
+
cyBhIHN0cmluZywgZG86CgogICAgYGBganMKICAgIGFkYXB0ZXI6ICdjdXN0
|
854
|
+
b20nCiAgICBgYGAKCiAgICBAcHJvcGVydHkgYWRhcHRlcgogICAgQGRlZmF1
|
855
|
+
bHQgRFMuUkVTVEFkYXB0ZXIKICAgIEB0eXBlIHtEUy5BZGFwdGVyfFN0cmlu
|
856
|
+
Z30KICAqLwogIGFkYXB0ZXI6ICdfcmVzdCcsCgogIC8qKgogICAgUmV0dXJu
|
857
|
+
cyBhIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlY29yZCB1c2luZyBh
|
858
|
+
IGN1c3RvbQogICAgdHlwZS1zcGVjaWZpYyBzZXJpYWxpemVyLCBpZiBvbmUg
|
859
|
+
ZXhpc3RzLgoKICAgIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBhcmU6CgogICAg
|
860
|
+
KiBgaW5jbHVkZUlkYDogYHRydWVgIGlmIHRoZSByZWNvcmQncyBJRCBzaG91
|
861
|
+
bGQgYmUgaW5jbHVkZWQgaW4KICAgICAgdGhlIEpTT04gcmVwcmVzZW50YXRp
|
862
|
+
b24KCiAgICBAbWV0aG9kIHNlcmlhbGl6ZQogICAgQHByaXZhdGUKICAgIEBw
|
863
|
+
YXJhbSB7RFMuTW9kZWx9IHJlY29yZCB0aGUgcmVjb3JkIHRvIHNlcmlhbGl6
|
864
|
+
ZQogICAgQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgYW4gb3B0aW9ucyBoYXNo
|
865
|
+
CiAgKi8KICBzZXJpYWxpemU6IGZ1bmN0aW9uKHJlY29yZCwgb3B0aW9ucykg
|
866
|
+
ewogICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplckZvcihyZWNvcmQuY29uc3Ry
|
867
|
+
dWN0b3IudHlwZUtleSkuc2VyaWFsaXplKHJlY29yZCwgb3B0aW9ucyk7CiAg
|
868
|
+
fSwKCiAgLyoqCiAgICBUaGlzIHByb3BlcnR5IHJldHVybnMgdGhlIGFkYXB0
|
869
|
+
ZXIsIGFmdGVyIHJlc29sdmluZyBhIHBvc3NpYmxlCiAgICBzdHJpbmcga2V5
|
870
|
+
LgoKICAgIElmIHRoZSBzdXBwbGllZCBgYWRhcHRlcmAgd2FzIGEgY2xhc3Ms
|
871
|
+
IG9yIGEgU3RyaW5nIHByb3BlcnR5CiAgICBwYXRoIHJlc29sdmVkIHRvIGEg
|
872
|
+
Y2xhc3MsIHRoaXMgcHJvcGVydHkgd2lsbCBpbnN0YW50aWF0ZSB0aGUKICAg
|
873
|
+
IGNsYXNzLgoKICAgIFRoaXMgcHJvcGVydHkgaXMgY2FjaGVhYmxlLCBzbyB0
|
874
|
+
aGUgc2FtZSBpbnN0YW5jZSBvZiBhIHNwZWNpZmllZAogICAgYWRhcHRlciBj
|
875
|
+
bGFzcyBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBz
|
876
|
+
dG9yZS4KCiAgICBAcHJvcGVydHkgX2FkYXB0ZXIKICAgIEBwcml2YXRlCiAg
|
877
|
+
ICBAcmV0dXJucyBEUy5BZGFwdGVyCiAgKi8KICBfYWRhcHRlcjogRW1iZXIu
|
878
|
+
Y29tcHV0ZWQoZnVuY3Rpb24oKSB7CiAgICB2YXIgYWRhcHRlciA9IGdldCh0
|
879
|
+
aGlzLCAnYWRhcHRlcicpOwogICAgaWYgKHR5cGVvZiBhZGFwdGVyID09PSAn
|
880
|
+
c3RyaW5nJykgewogICAgICBhZGFwdGVyID0gdGhpcy5jb250YWluZXIubG9v
|
881
|
+
a3VwKCdhZGFwdGVyOicgKyBhZGFwdGVyKSB8fCB0aGlzLmNvbnRhaW5lci5s
|
882
|
+
b29rdXAoJ2FkYXB0ZXI6YXBwbGljYXRpb24nKSB8fCB0aGlzLmNvbnRhaW5l
|
883
|
+
ci5sb29rdXAoJ2FkYXB0ZXI6X3Jlc3QnKTsKICAgIH0KCiAgICBpZiAoRFMu
|
884
|
+
QWRhcHRlci5kZXRlY3QoYWRhcHRlcikpIHsKICAgICAgYWRhcHRlciA9IGFk
|
885
|
+
YXB0ZXIuY3JlYXRlKHsgY29udGFpbmVyOiB0aGlzLmNvbnRhaW5lciB9KTsK
|
886
|
+
ICAgIH0KCiAgICByZXR1cm4gYWRhcHRlcjsKICB9KS5wcm9wZXJ0eSgnYWRh
|
887
|
+
cHRlcicpLAoKICAvLyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAvLyAuIENS
|
888
|
+
RUFURSBORVcgUkVDT1JEIC4KICAvLyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4K
|
889
|
+
CiAgLyoqCiAgICBDcmVhdGUgYSBuZXcgcmVjb3JkIGluIHRoZSBjdXJyZW50
|
890
|
+
IHN0b3JlLiBUaGUgcHJvcGVydGllcyBwYXNzZWQKICAgIHRvIHRoaXMgbWV0
|
891
|
+
aG9kIGFyZSBzZXQgb24gdGhlIG5ld2x5IGNyZWF0ZWQgcmVjb3JkLgoKICAg
|
892
|
+
IFRvIGNyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBgQXBwLlBvc3RgOgoKICAg
|
893
|
+
IGBgYGpzCiAgICBzdG9yZS5jcmVhdGVSZWNvcmQoJ3Bvc3QnLCB7CiAgICAg
|
894
|
+
IHRpdGxlOiAiUmFpbHMgaXMgb21ha2FzZSIKICAgIH0pOwogICAgYGBgCgog
|
895
|
+
ICAgQG1ldGhvZCBjcmVhdGVSZWNvcmQKICAgIEBwYXJhbSB7U3RyaW5nfSB0
|
896
|
+
eXBlCiAgICBAcGFyYW0ge09iamVjdH0gcHJvcGVydGllcyBhIGhhc2ggb2Yg
|
897
|
+
cHJvcGVydGllcyB0byBzZXQgb24gdGhlCiAgICAgIG5ld2x5IGNyZWF0ZWQg
|
898
|
+
cmVjb3JkLgogICAgQHJldHVybnMgRFMuTW9kZWwKICAqLwogIGNyZWF0ZVJl
|
899
|
+
Y29yZDogZnVuY3Rpb24odHlwZSwgcHJvcGVydGllcykgewogICAgdHlwZSA9
|
900
|
+
IHRoaXMubW9kZWxGb3IodHlwZSk7CgogICAgcHJvcGVydGllcyA9IHByb3Bl
|
901
|
+
cnRpZXMgfHwge307CgogICAgLy8gSWYgdGhlIHBhc3NlZCBwcm9wZXJ0aWVz
|
902
|
+
IGRvIG5vdCBpbmNsdWRlIGEgcHJpbWFyeSBrZXksCiAgICAvLyBnaXZlIHRo
|
903
|
+
ZSBhZGFwdGVyIGFuIG9wcG9ydHVuaXR5IHRvIGdlbmVyYXRlIG9uZS4gVHlw
|
904
|
+
aWNhbGx5LAogICAgLy8gY2xpZW50LXNpZGUgSUQgZ2VuZXJhdG9ycyB3aWxs
|
905
|
+
IHVzZSBzb21ldGhpbmcgbGlrZSB1dWlkLmpzCiAgICAvLyB0byBhdm9pZCBj
|
906
|
+
b25mbGljdHMuCgogICAgaWYgKGlzTm9uZShwcm9wZXJ0aWVzLmlkKSkgewog
|
907
|
+
ICAgICBwcm9wZXJ0aWVzLmlkID0gdGhpcy5fZ2VuZXJhdGVJZCh0eXBlKTsK
|
908
|
+
ICAgIH0KCiAgICAvLyBDb2VyY2UgSUQgdG8gYSBzdHJpbmcKICAgIHByb3Bl
|
909
|
+
cnRpZXMuaWQgPSBjb2VyY2VJZChwcm9wZXJ0aWVzLmlkKTsKCiAgICB2YXIg
|
910
|
+
cmVjb3JkID0gdGhpcy5idWlsZFJlY29yZCh0eXBlLCBwcm9wZXJ0aWVzLmlk
|
911
|
+
KTsKCiAgICAvLyBNb3ZlIHRoZSByZWNvcmQgb3V0IG9mIGl0cyBpbml0aWFs
|
912
|
+
IGBlbXB0eWAgc3RhdGUgaW50bwogICAgLy8gdGhlIGBsb2FkZWRgIHN0YXRl
|
913
|
+
LgogICAgcmVjb3JkLmxvYWRlZERhdGEoKTsKCiAgICAvLyBTZXQgdGhlIHBy
|
914
|
+
b3BlcnRpZXMgc3BlY2lmaWVkIG9uIHRoZSByZWNvcmQuCiAgICByZWNvcmQu
|
915
|
+
c2V0UHJvcGVydGllcyhwcm9wZXJ0aWVzKTsKCiAgICByZXR1cm4gcmVjb3Jk
|
916
|
+
OwogIH0sCgogIC8qKgogICAgSWYgcG9zc2libGUsIHRoaXMgbWV0aG9kIGFz
|
917
|
+
a3MgdGhlIGFkYXB0ZXIgdG8gZ2VuZXJhdGUgYW4gSUQgZm9yCiAgICBhIG5l
|
918
|
+
d2x5IGNyZWF0ZWQgcmVjb3JkLgoKICAgIEBtZXRob2QgZ2VuZXJhdGVJZAog
|
919
|
+
ICAgQHBhcmFtIHtTdHJpbmd9IHR5cGUKICAgIEByZXR1cm5zIFN0cmluZyBp
|
920
|
+
ZiB0aGUgYWRhcHRlciBjYW4gZ2VuZXJhdGUgb25lLCBhbiBJRAogICovCiAg
|
921
|
+
X2dlbmVyYXRlSWQ6IGZ1bmN0aW9uKHR5cGUpIHsKICAgIHZhciBhZGFwdGVy
|
922
|
+
ID0gdGhpcy5hZGFwdGVyRm9yVHlwZSh0eXBlKTsKCiAgICBpZiAoYWRhcHRl
|
923
|
+
ciAmJiBhZGFwdGVyLmdlbmVyYXRlSWRGb3JSZWNvcmQpIHsKICAgICAgcmV0
|
924
|
+
dXJuIGFkYXB0ZXIuZ2VuZXJhdGVJZEZvclJlY29yZCh0aGlzKTsKICAgIH0K
|
925
|
+
CiAgICByZXR1cm4gbnVsbDsKICB9LAoKICAvLyAuLi4uLi4uLi4uLi4uLi4u
|
926
|
+
LgogIC8vIC4gREVMRVRFIFJFQ09SRCAuCiAgLy8gLi4uLi4uLi4uLi4uLi4u
|
927
|
+
Li4KCiAgLyoqCiAgICBGb3Igc3ltbWV0cnksIGEgcmVjb3JkIGNhbiBiZSBk
|
928
|
+
ZWxldGVkIHZpYSB0aGUgc3RvcmUuCgogICAgQG1ldGhvZCBkZWxldGVSZWNv
|
929
|
+
cmQKICAgIEBwYXJhbSB7RFMuTW9kZWx9IHJlY29yZAogICovCiAgZGVsZXRl
|
930
|
+
UmVjb3JkOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgIHJlY29yZC5kZWxldGVS
|
931
|
+
ZWNvcmQoKTsKICB9LAoKICAvKioKICAgIEZvciBzeW1tZXRyeSwgYSByZWNv
|
932
|
+
cmQgY2FuIGJlIHVubG9hZGVkIHZpYSB0aGUgc3RvcmUuCgogICAgQG1ldGhv
|
933
|
+
ZCB1bmxvYWRSZWNvcmQKICAgIEBwYXJhbSB7RFMuTW9kZWx9IHJlY29yZAog
|
934
|
+
ICovCiAgdW5sb2FkUmVjb3JkOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgIHJl
|
935
|
+
Y29yZC51bmxvYWRSZWNvcmQoKTsKICB9LAoKICAvLyAuLi4uLi4uLi4uLi4u
|
936
|
+
Li4uCiAgLy8gLiBGSU5EIFJFQ09SRFMgLgogIC8vIC4uLi4uLi4uLi4uLi4u
|
937
|
+
Li4KCiAgLyoqCiAgICBUaGlzIGlzIHRoZSBtYWluIGVudHJ5IHBvaW50IGlu
|
938
|
+
dG8gZmluZGluZyByZWNvcmRzLiBUaGUgZmlyc3QgcGFyYW1ldGVyIHRvCiAg
|
939
|
+
ICB0aGlzIG1ldGhvZCBpcyB0aGUgbW9kZWwncyBuYW1lIGFzIGEgc3RyaW5n
|
940
|
+
LgoKICAgIC0tLQoKICAgIFRvIGZpbmQgYSByZWNvcmQgYnkgSUQsIHBhc3Mg
|
941
|
+
dGhlIGBpZGAgYXMgdGhlIHNlY29uZCBwYXJhbWV0ZXI6CgogICAgICAgIHN0
|
942
|
+
b3JlLmZpbmQoJ3BlcnNvbicsIDEpOwoKICAgIFRoZSBgZmluZGAgbWV0aG9k
|
943
|
+
IHdpbGwgYWx3YXlzIHJldHVybiBhICoqcHJvbWlzZSoqIHRoYXQgd2lsbCBi
|
944
|
+
ZSByZXNvbHZlZAogICAgd2l0aCB0aGUgcmVjb3JkLiBJZiB0aGUgcmVjb3Jk
|
945
|
+
IHdhcyBhbHJlYWR5IGluIHRoZSBzdG9yZSwgdGhlIHByb21pc2Ugd2lsbAog
|
946
|
+
ICAgYmUgcmVzb2x2ZWQgaW1tZWRpYXRlbHkuIE90aGVyd2lzZSwgdGhlIHN0
|
947
|
+
b3JlIHdpbGwgYXNrIHRoZSBhZGFwdGVyJ3MgYGZpbmRgCiAgICBtZXRob2Qg
|
948
|
+
dG8gZmluZCB0aGUgbmVjZXNzYXJ5IGRhdGEuCgogICAgVGhlIGBmaW5kYCBt
|
949
|
+
ZXRob2Qgd2lsbCBhbHdheXMgcmVzb2x2ZSBpdHMgcHJvbWlzZSB3aXRoIHRo
|
950
|
+
ZSBzYW1lIG9iamVjdCBmb3IKICAgIGEgZ2l2ZW4gdHlwZSBhbmQgYGlkYC4K
|
951
|
+
CiAgICAtLS0KCiAgICBUbyBmaW5kIGFsbCByZWNvcmRzIGZvciBhIHR5cGUs
|
952
|
+
IGNhbGwgYGZpbmRgIHdpdGggbm8gYWRkaXRpb25hbCBwYXJhbWV0ZXJzOgoK
|
953
|
+
ICAgICAgICBzdG9yZS5maW5kKCdwZXJzb24nKTsKCiAgICBUaGlzIHdpbGwg
|
954
|
+
YXNrIHRoZSBhZGFwdGVyJ3MgYGZpbmRBbGxgIG1ldGhvZCB0byBmaW5kIHRo
|
955
|
+
ZSByZWNvcmRzIGZvciB0aGUKICAgIGdpdmVuIHR5cGUsIGFuZCByZXR1cm4g
|
956
|
+
YSBwcm9taXNlIHRoYXQgd2lsbCBiZSByZXNvbHZlZCBvbmNlIHRoZSBzZXJ2
|
957
|
+
ZXIKICAgIHJldHVybnMgdGhlIHZhbHVlcy4KCiAgICAtLS0KCiAgICBUbyBm
|
958
|
+
aW5kIGEgcmVjb3JkIGJ5IGEgcXVlcnksIGNhbGwgYGZpbmRgIHdpdGggYSBo
|
959
|
+
YXNoIGFzIHRoZSBzZWNvbmQKICAgIHBhcmFtZXRlcjoKCiAgICAgICAgc3Rv
|
960
|
+
cmUuZmluZChBcHAuUGVyc29uLCB7IHBhZ2U6IDEgfSk7CgogICAgVGhpcyB3
|
961
|
+
aWxsIGFzayB0aGUgYWRhcHRlcidzIGBmaW5kUXVlcnlgIG1ldGhvZCB0byBm
|
962
|
+
aW5kIHRoZSByZWNvcmRzIGZvcgogICAgdGhlIHF1ZXJ5LCBhbmQgcmV0dXJu
|
963
|
+
IGEgcHJvbWlzZSB0aGF0IHdpbGwgYmUgcmVzb2x2ZWQgb25jZSB0aGUgc2Vy
|
964
|
+
dmVyCiAgICByZXNwb25kcy4KCiAgICBAbWV0aG9kIGZpbmQKICAgIEBwYXJh
|
965
|
+
bSB7RFMuTW9kZWx9IHR5cGUKICAgIEBwYXJhbSB7T2JqZWN0fFN0cmluZ3xJ
|
966
|
+
bnRlZ2VyfG51bGx9IGlkCiAgKi8KICBmaW5kOiBmdW5jdGlvbih0eXBlLCBp
|
967
|
+
ZCkgewogICAgaWYgKGlkID09PSB1bmRlZmluZWQpIHsKICAgICAgcmV0dXJu
|
968
|
+
IHRoaXMuZmluZEFsbCh0eXBlKTsKICAgIH0KCiAgICAvLyBXZSBhcmUgcGFz
|
969
|
+
c2VkIGEgcXVlcnkgaW5zdGVhZCBvZiBhbiBpZC4KICAgIGlmIChFbWJlci50
|
970
|
+
eXBlT2YoaWQpID09PSAnb2JqZWN0JykgewogICAgICByZXR1cm4gdGhpcy5m
|
971
|
+
aW5kUXVlcnkodHlwZSwgaWQpOwogICAgfQoKICAgIHJldHVybiB0aGlzLmZp
|
972
|
+
bmRCeUlkKHR5cGUsIGNvZXJjZUlkKGlkKSk7CiAgfSwKCiAgLyoqCiAgICBU
|
973
|
+
aGlzIG1ldGhvZCByZXR1cm5zIGEgcmVjb3JkIGZvciBhIGdpdmVuIHR5cGUg
|
974
|
+
YW5kIGlkIGNvbWJpbmF0aW9uLgoKICAgIEBtZXRob2QgZmluZEJ5SWQKICAg
|
975
|
+
IEBwcml2YXRlCiAgICBAcGFyYW0gdHlwZQogICAgQHBhcmFtIGlkCiAgKi8K
|
976
|
+
ICBmaW5kQnlJZDogZnVuY3Rpb24odHlwZSwgaWQpIHsKICAgIHR5cGUgPSB0
|
977
|
+
aGlzLm1vZGVsRm9yKHR5cGUpOwoKICAgIHZhciByZWNvcmQgPSB0aGlzLmdl
|
978
|
+
dEJ5SWQodHlwZSwgaWQpOwogICAgaWYgKGdldChyZWNvcmQsICdpc0VtcHR5
|
979
|
+
JykpIHsKICAgICAgcmV0dXJuIHByb21pc2VPYmplY3QodGhpcy5mZXRjaFJl
|
980
|
+
Y29yZChyZWNvcmQpKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBwcm9t
|
981
|
+
aXNlT2JqZWN0KHJlc29sdmUocmVjb3JkKSk7CiAgICB9CiAgfSwKCiAgLyoq
|
982
|
+
CiAgICBUaGlzIG1ldGhvZCBtYWtlcyBhIHNlcmllcyBvZiByZXF1ZXN0cyB0
|
983
|
+
byB0aGUgYWRhcHRlcidzIGBmaW5kYCBtZXRob2QKICAgIGFuZCByZXR1cm5z
|
984
|
+
IGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIG9uY2UgdGhleSBhcmUgYWxsIGxv
|
985
|
+
YWRlZC4KCiAgICBAbWV0aG9kIGZpbmRCeUlkcwogICAgQHBhcmFtIHtTdHJp
|
986
|
+
bmd9IHR5cGUKICAgIEBwYXJhbSB7QXJyYXl9IGlkcwogICAgQHJldHVybnMg
|
987
|
+
UHJvbWlzZQogICovCiAgZmluZEJ5SWRzOiBmdW5jdGlvbih0eXBlLCBpZHMp
|
988
|
+
IHsKICAgIHZhciBzdG9yZSA9IHRoaXM7CgogICAgcmV0dXJuIHByb21pc2VB
|
989
|
+
cnJheShFbWJlci5SU1ZQLmFsbChtYXAoaWRzLCBmdW5jdGlvbihpZCkgewog
|
990
|
+
ICAgICByZXR1cm4gc3RvcmUuZmluZEJ5SWQodHlwZSwgaWQpOwogICAgfSkp
|
991
|
+
LnRoZW4oZnVuY3Rpb24oYXJyYXkpIHsKICAgICAgcmV0dXJuIEVtYmVyLkEo
|
992
|
+
YXJyYXkpOwogICAgfSkpOwogIH0sCgogIC8qKgogICAgVGhpcyBtZXRob2Qg
|
993
|
+
aXMgY2FsbGVkIGJ5IGBmaW5kQnlJZGAgaWYgaXQgZGlzY292ZXJzIHRoYXQg
|
994
|
+
YSBwYXJ0aWN1bGFyCiAgICB0eXBlL2lkIHBhaXIgaGFzbid0IGJlZW4gbG9h
|
995
|
+
ZGVkIHlldCB0byBraWNrIG9mZiBhIHJlcXVlc3QgdG8gdGhlCiAgICBhZGFw
|
996
|
+
dGVyLgoKICAgIEBtZXRob2QgZmV0Y2hSZWNvcmQKICAgIEBwcml2YXRlCiAg
|
997
|
+
ICBAcGFyYW0ge0RTLk1vZGVsfSByZWNvcmQKICAgIEByZXR1cm5zIFByb21p
|
998
|
+
c2UKICAqLwogIGZldGNoUmVjb3JkOiBmdW5jdGlvbihyZWNvcmQpIHsKICAg
|
999
|
+
IHZhciB0eXBlID0gcmVjb3JkLmNvbnN0cnVjdG9yLAogICAgICAgIGlkID0g
|
1000
|
+
Z2V0KHJlY29yZCwgJ2lkJyksCiAgICAgICAgcmVzb2x2ZXIgPSBFbWJlci5S
|
1001
|
+
U1ZQLmRlZmVyKCk7CgogICAgcmVjb3JkLmxvYWRpbmdEYXRhKCk7CgogICAg
|
1002
|
+
dmFyIGFkYXB0ZXIgPSB0aGlzLmFkYXB0ZXJGb3JUeXBlKHR5cGUpOwoKICAg
|
1003
|
+
IEVtYmVyLmFzc2VydCgiWW91IHRyaWVkIHRvIGZpbmQgYSByZWNvcmQgYnV0
|
1004
|
+
IHlvdSBoYXZlIG5vIGFkYXB0ZXIgKGZvciAiICsgdHlwZSArICIpIiwgYWRh
|
1005
|
+
cHRlcik7CiAgICBFbWJlci5hc3NlcnQoIllvdSB0cmllZCB0byBmaW5kIGEg
|
1006
|
+
cmVjb3JkIGJ1dCB5b3VyIGFkYXB0ZXIgKGZvciAiICsgdHlwZSArICIpIGRv
|
1007
|
+
ZXMgbm90IGltcGxlbWVudCAnZmluZCciLCBhZGFwdGVyLmZpbmQpOwoKICAg
|
1008
|
+
IF9maW5kKGFkYXB0ZXIsIHRoaXMsIHR5cGUsIGlkLCByZXNvbHZlcik7Cgog
|
1009
|
+
ICAgcmV0dXJuIHJlc29sdmVyLnByb21pc2U7CiAgfSwKCiAgLyoqCiAgICBH
|
1010
|
+
ZXQgYSByZWNvcmQgYnkgYSBnaXZlbiB0eXBlIGFuZCBJRCB3aXRob3V0IHRy
|
1011
|
+
aWdnZXJpbmcgYSBmZXRjaC4KCiAgICBUaGlzIG1ldGhvZCB3aWxsIHN5bmNo
|
1012
|
+
cm9ub3VzbHkgcmV0dXJuIHRoZSByZWNvcmQgaWYgaXQncyBhdmFpbGFibGUu
|
1013
|
+
CiAgICBPdGhlcndpc2UsIGl0IHdpbGwgcmV0dXJuIHVuZGVmaW5lZC4KCiAg
|
1014
|
+
ICBgYGBqcwogICAgdmFyIHBvc3QgPSBzdG9yZS5nZXRCeUlkKCdwb3N0Jywg
|
1015
|
+
MSk7CiAgICBgYGAKCiAgICBAbWV0aG9kIGdldEJ5SWQKICAgIEBwYXJhbSB0
|
1016
|
+
eXBlCiAgICBAcGFyYW0gaWQKICAqLwogIGdldEJ5SWQ6IGZ1bmN0aW9uKHR5
|
1017
|
+
cGUsIGlkKSB7CiAgICB0eXBlID0gdGhpcy5tb2RlbEZvcih0eXBlKTsKCiAg
|
1018
|
+
ICBpZiAodGhpcy5oYXNSZWNvcmRGb3JJZCh0eXBlLCBpZCkpIHsKICAgICAg
|
1019
|
+
cmV0dXJuIHRoaXMucmVjb3JkRm9ySWQodHlwZSwgaWQpOwogICAgfSBlbHNl
|
1020
|
+
IHsKICAgICAgcmV0dXJuIHRoaXMuYnVpbGRSZWNvcmQodHlwZSwgaWQpOwog
|
1021
|
+
ICAgfQogIH0sCgogIC8qKgogICAgVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5
|
1022
|
+
IHRoZSByZWNvcmQncyBgcmVsb2FkYCBtZXRob2QuIFRoZSByZWNvcmQncyBg
|
1023
|
+
cmVsb2FkYAogICAgcGFzc2VzIGluIGEgcmVzb2x2ZXIgZm9yIHRoZSBwcm9t
|
1024
|
+
aXNlIGl0IHJldHVybnMuCgogICAgVGhpcyBtZXRob2QgY2FsbHMgdGhlIGFk
|
1025
|
+
YXB0ZXIncyBgZmluZGAgbWV0aG9kLCB3aGljaCByZXR1cm5zIGEgcHJvbWlz
|
1026
|
+
ZS4gV2hlbgogICAgKip0aGF0KiogcHJvbWlzZSByZXNvbHZlcywgYHJlbG9h
|
1027
|
+
ZFJlY29yZGAgd2lsbCByZXNvbHZlIHRoZSBwcm9taXNlIHJldHVybmVkCiAg
|
1028
|
+
ICBieSB0aGUgcmVjb3JkJ3MgYHJlbG9hZGAuCgogICAgQG1ldGhvZCByZWxv
|
1029
|
+
YWRSZWNvcmQKICAgIEBwcml2YXRlCiAgICBAcGFyYW0ge0RTLk1vZGVsfSBy
|
1030
|
+
ZWNvcmQKICAgIEBwYXJhbSB7UmVzb2x2ZXJ9IHJlc29sdmVyCiAgKi8KICBy
|
1031
|
+
ZWxvYWRSZWNvcmQ6IGZ1bmN0aW9uKHJlY29yZCwgcmVzb2x2ZXIpIHsKICAg
|
1032
|
+
IHZhciB0eXBlID0gcmVjb3JkLmNvbnN0cnVjdG9yLAogICAgICAgIGFkYXB0
|
1033
|
+
ZXIgPSB0aGlzLmFkYXB0ZXJGb3JUeXBlKHR5cGUpLAogICAgICAgIHN0b3Jl
|
1034
|
+
ID0gdGhpcywKICAgICAgICBpZCA9IGdldChyZWNvcmQsICdpZCcpOwoKICAg
|
1035
|
+
IEVtYmVyLmFzc2VydCgiWW91IGNhbm5vdCByZWxvYWQgYSByZWNvcmQgd2l0
|
1036
|
+
aG91dCBhbiBJRCIsIGlkKTsKICAgIEVtYmVyLmFzc2VydCgiWW91IHRyaWVk
|
1037
|
+
IHRvIHJlbG9hZCBhIHJlY29yZCBidXQgeW91IGhhdmUgbm8gYWRhcHRlciAo
|
1038
|
+
Zm9yICIgKyB0eXBlICsgIikiLCBhZGFwdGVyKTsKICAgIEVtYmVyLmFzc2Vy
|
1039
|
+
dCgiWW91IHRyaWVkIHRvIHJlbG9hZCBhIHJlY29yZCBidXQgeW91ciBhZGFw
|
1040
|
+
dGVyIGRvZXMgbm90IGltcGxlbWVudCBgZmluZGAiLCBhZGFwdGVyLmZpbmQp
|
1041
|
+
OwoKICAgIHJldHVybiBfZmluZChhZGFwdGVyLCB0aGlzLCB0eXBlLCBpZCwg
|
1042
|
+
cmVzb2x2ZXIpOwogIH0sCgogIC8qKgogICAgVGhpcyBtZXRob2QgdGFrZXMg
|
1043
|
+
YSBsaXN0IG9mIHJlY29yZHMsIGdyb3VwcyB0aGUgcmVjb3JkcyBieSB0eXBl
|
1044
|
+
LAogICAgY29udmVydHMgdGhlIHJlY29yZHMgaW50byBJRHMsIGFuZCB0aGVu
|
1045
|
+
IGludm9rZXMgdGhlIGFkYXB0ZXIncyBgZmluZE1hbnlgCiAgICBtZXRob2Qu
|
1046
|
+
CgogICAgVGhlIHJlY29yZHMgYXJlIGdyb3VwZWQgYnkgdHlwZSB0byBpbnZv
|
1047
|
+
a2UgYGZpbmRNYW55YCBvbiBhZGFwdGVycwogICAgZm9yIGVhY2ggdW5pcXVl
|
1048
|
+
IHR5cGUgaW4gcmVjb3Jkcy4KCiAgICBJdCBpcyB1c2VkIGJvdGggYnkgYSBi
|
1049
|
+
cmFuZCBuZXcgcmVsYXRpb25zaGlwICh2aWEgdGhlIGBmaW5kTWFueWAKICAg
|
1050
|
+
IG1ldGhvZCkgb3Igd2hlbiB0aGUgZGF0YSB1bmRlcmx5aW5nIGFuIGV4aXN0
|
1051
|
+
aW5nIHJlbGF0aW9uc2hpcAogICAgY2hhbmdlcy4KCiAgICBAbWV0aG9kIGZl
|
1052
|
+
dGNoTWFueQogICAgQHByaXZhdGUKICAgIEBwYXJhbSByZWNvcmRzCiAgICBA
|
1053
|
+
cGFyYW0gb3duZXIKICAqLwogIGZldGNoTWFueTogZnVuY3Rpb24ocmVjb3Jk
|
1054
|
+
cywgb3duZXIsIHJlc29sdmVyKSB7CiAgICBpZiAoIXJlY29yZHMubGVuZ3Ro
|
1055
|
+
KSB7IHJldHVybjsgfQoKICAgIC8vIEdyb3VwIEJ5IFR5cGUKICAgIHZhciBy
|
1056
|
+
ZWNvcmRzQnlUeXBlTWFwID0gRW1iZXIuTWFwV2l0aERlZmF1bHQuY3JlYXRl
|
1057
|
+
KHsKICAgICAgZGVmYXVsdFZhbHVlOiBmdW5jdGlvbigpIHsgcmV0dXJuIEVt
|
1058
|
+
YmVyLkEoKTsgfQogICAgfSk7CgogICAgZm9yRWFjaChyZWNvcmRzLCBmdW5j
|
1059
|
+
dGlvbihyZWNvcmQpIHsKICAgICAgcmVjb3Jkc0J5VHlwZU1hcC5nZXQocmVj
|
1060
|
+
b3JkLmNvbnN0cnVjdG9yKS5wdXNoKHJlY29yZCk7CiAgICB9KTsKCiAgICBm
|
1061
|
+
b3JFYWNoKHJlY29yZHNCeVR5cGVNYXAsIGZ1bmN0aW9uKHR5cGUsIHJlY29y
|
1062
|
+
ZHMpIHsKICAgICAgdmFyIGlkcyA9IHJlY29yZHMubWFwUHJvcGVydHkoJ2lk
|
1063
|
+
JyksCiAgICAgICAgICBhZGFwdGVyID0gdGhpcy5hZGFwdGVyRm9yVHlwZSh0
|
1064
|
+
eXBlKTsKCiAgICAgIEVtYmVyLmFzc2VydCgiWW91IHRyaWVkIHRvIGxvYWQg
|
1065
|
+
bWFueSByZWNvcmRzIGJ1dCB5b3UgaGF2ZSBubyBhZGFwdGVyIChmb3IgIiAr
|
1066
|
+
IHR5cGUgKyAiKSIsIGFkYXB0ZXIpOwogICAgICBFbWJlci5hc3NlcnQoIllv
|
1067
|
+
dSB0cmllZCB0byBsb2FkIG1hbnkgcmVjb3JkcyBidXQgeW91ciBhZGFwdGVy
|
1068
|
+
IGRvZXMgbm90IGltcGxlbWVudCBgZmluZE1hbnlgIiwgYWRhcHRlci5maW5k
|
1069
|
+
TWFueSk7CgogICAgICBfZmluZE1hbnkoYWRhcHRlciwgdGhpcywgdHlwZSwg
|
1070
|
+
aWRzLCBvd25lciwgcmVzb2x2ZXIpOwogICAgfSwgdGhpcyk7CiAgfSwKCiAg
|
1071
|
+
LyoqCiAgICBSZXR1cm5zIHRydWUgaWYgYSByZWNvcmQgZm9yIGEgZ2l2ZW4g
|
1072
|
+
dHlwZSBhbmQgSUQgaXMgYWxyZWFkeSBsb2FkZWQuCgogICAgQHBhcmFtIHtT
|
1073
|
+
dHJpbmd9IHR5cGUKICAgIEBwYXJhbSB7U3RyaW5nfEludGVnZXJ9IGlkCiAg
|
1074
|
+
ICBAcmV0dXJucyBCb29sZWFuCiAgKi8KICBoYXNSZWNvcmRGb3JJZDogZnVu
|
1075
|
+
Y3Rpb24odHlwZSwgaWQpIHsKICAgIGlkID0gY29lcmNlSWQoaWQpOwoKICAg
|
1076
|
+
IHJldHVybiAhIXRoaXMudHlwZU1hcEZvcih0eXBlKS5pZFRvUmVjb3JkW2lk
|
1077
|
+
XTsKICB9LAoKICAvKioKICAgIFJldHVybnMgaWQgcmVjb3JkIGZvciBhIGdp
|
1078
|
+
dmVuIHR5cGUgYW5kIElELiBJZiBvbmUgaXNuJ3QgYWxyZWFkeSBsb2FkZWQs
|
1079
|
+
CiAgICBpdCBidWlsZHMgYSBuZXcgcmVjb3JkIGFuZCBsZWF2ZXMgaXQgaW4g
|
1080
|
+
dGhlIGBlbXB0eWAgc3RhdGUuCgogICAgQHBhcmFtIHtTdHJpbmd9IHR5cGUK
|
1081
|
+
ICAgIEBwYXJhbSB7U3RyaW5nfEludGVnZXJ9IGlkCiAgICBAcmV0dXJucyBE
|
1082
|
+
Uy5Nb2RlbAogICovCiAgcmVjb3JkRm9ySWQ6IGZ1bmN0aW9uKHR5cGUsIGlk
|
1083
|
+
KSB7CiAgICB0eXBlID0gdGhpcy5tb2RlbEZvcih0eXBlKTsKCiAgICBpZCA9
|
1084
|
+
IGNvZXJjZUlkKGlkKTsKCiAgICB2YXIgcmVjb3JkID0gdGhpcy50eXBlTWFw
|
1085
|
+
Rm9yKHR5cGUpLmlkVG9SZWNvcmRbaWRdOwoKICAgIGlmICghcmVjb3JkKSB7
|
1086
|
+
CiAgICAgIHJlY29yZCA9IHRoaXMuYnVpbGRSZWNvcmQodHlwZSwgaWQpOwog
|
1087
|
+
ICAgfQoKICAgIHJldHVybiByZWNvcmQ7CiAgfSwKCiAgLyoqCiAgICBAbWV0
|
1088
|
+
aG9kIGZpbmRNYW55CiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHtEUy5Nb2Rl
|
1089
|
+
bH0gb3duZXIKICAgIEBwYXJhbSB7QXJyYXk8RFMuTW9kZWw+fSByZWNvcmRz
|
1090
|
+
CiAgICBAcGFyYW0ge1N0cmluZ30gdHlwZQogICAgQHBhcmFtIHtSZXNvbHZl
|
1091
|
+
cn0gcmVzb2x2ZXIKICAgIEByZXR1cm4gRFMuTWFueUFycmF5CiAgKi8KICBm
|
1092
|
+
aW5kTWFueTogZnVuY3Rpb24ob3duZXIsIHJlY29yZHMsIHR5cGUsIHJlc29s
|
1093
|
+
dmVyKSB7CiAgICB0eXBlID0gdGhpcy5tb2RlbEZvcih0eXBlKTsKCiAgICBy
|
1094
|
+
ZWNvcmRzID0gRW1iZXIuQShyZWNvcmRzKTsKCiAgICB2YXIgdW5sb2FkZWRS
|
1095
|
+
ZWNvcmRzID0gcmVjb3Jkcy5maWx0ZXJQcm9wZXJ0eSgnaXNFbXB0eScsIHRy
|
1096
|
+
dWUpLAogICAgICAgIG1hbnlBcnJheSA9IHRoaXMucmVjb3JkQXJyYXlNYW5h
|
1097
|
+
Z2VyLmNyZWF0ZU1hbnlBcnJheSh0eXBlLCByZWNvcmRzKTsKCiAgICB1bmxv
|
1098
|
+
YWRlZFJlY29yZHMuZm9yRWFjaChmdW5jdGlvbihyZWNvcmQpIHsKICAgICAg
|
1099
|
+
cmVjb3JkLmxvYWRpbmdEYXRhKCk7CiAgICB9KTsKCiAgICBtYW55QXJyYXku
|
1100
|
+
bG9hZGluZ1JlY29yZHNDb3VudCA9IHVubG9hZGVkUmVjb3Jkcy5sZW5ndGg7
|
1101
|
+
CgogICAgaWYgKHVubG9hZGVkUmVjb3Jkcy5sZW5ndGgpIHsKICAgICAgdW5s
|
1102
|
+
b2FkZWRSZWNvcmRzLmZvckVhY2goZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAg
|
1103
|
+
ICAgdGhpcy5yZWNvcmRBcnJheU1hbmFnZXIucmVnaXN0ZXJXYWl0aW5nUmVj
|
1104
|
+
b3JkQXJyYXkocmVjb3JkLCBtYW55QXJyYXkpOwogICAgICB9LCB0aGlzKTsK
|
1105
|
+
CiAgICAgIHRoaXMuZmV0Y2hNYW55KHVubG9hZGVkUmVjb3Jkcywgb3duZXIs
|
1106
|
+
IHJlc29sdmVyKTsKICAgIH0gZWxzZSB7CiAgICAgIG1hbnlBcnJheS5zZXQo
|
1107
|
+
J2lzTG9hZGVkJywgdHJ1ZSk7CiAgICAgIEVtYmVyLnJ1bi5vbmNlKG1hbnlB
|
1108
|
+
cnJheSwgJ3RyaWdnZXInLCAnZGlkTG9hZCcpOwogICAgfQoKICAgIHJldHVy
|
1109
|
+
biBtYW55QXJyYXk7CiAgfSwKCiAgLyoqCiAgICBJZiBhIHJlbGF0aW9uc2hp
|
1110
|
+
cCB3YXMgb3JpZ2luYWxseSBwb3B1bGF0ZWQgYnkgdGhlIGFkYXB0ZXIgYXMg
|
1111
|
+
YSBsaW5rCiAgICAoYXMgb3Bwb3NlZCB0byBhIGxpc3Qgb2YgSURzKSwgdGhp
|
1112
|
+
cyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gdGhlCiAgICByZWxhdGlvbnNoaXAg
|
1113
|
+
aXMgZmV0Y2hlZC4KCiAgICBUaGUgbGluayAod2hpY2ggaXMgdXN1YWxseSBh
|
1114
|
+
IFVSTCkgaXMgcGFzc2VkIHRocm91Z2ggdW5jaGFuZ2VkLCBzbyB0aGUKICAg
|
1115
|
+
IGFkYXB0ZXIgY2FuIG1ha2Ugd2hhdGV2ZXIgcmVxdWVzdCBpdCB3YW50cy4K
|
1116
|
+
CiAgICBUaGUgdXN1YWwgdXNlLWNhc2UgaXMgZm9yIHRoZSBzZXJ2ZXIgdG8g
|
1117
|
+
cmVnaXN0ZXIgYSBVUkwgYXMgYSBsaW5rLCBhbmQKICAgIHRoZW4gdXNlIHRo
|
1118
|
+
YXQgVVJMIGluIHRoZSBmdXR1cmUgdG8gbWFrZSBhIHJlcXVlc3QgZm9yIHRo
|
1119
|
+
ZSByZWxhdGlvbnNoaXAuCgogICAgQHByaXZhdGUKICAgIEBwYXJhbSB7RFMu
|
1120
|
+
TW9kZWx9IG93bmVyCiAgICBAcGFyYW0ge2FueX0gbGluawogICAgQHBhcmFt
|
1121
|
+
IHtTdHJpbmd9IHR5cGUKICAgIEBwYXJhbSB7UmVzb2x2ZXJ9IHJlc29sdmVy
|
1122
|
+
CiAgICBAcmV0dXJuIERTLk1hbnlBcnJheQogICovCiAgZmluZEhhc01hbnk6
|
1123
|
+
IGZ1bmN0aW9uKG93bmVyLCBsaW5rLCByZWxhdGlvbnNoaXAsIHJlc29sdmVy
|
1124
|
+
KSB7CiAgICB2YXIgYWRhcHRlciA9IHRoaXMuYWRhcHRlckZvclR5cGUob3du
|
1125
|
+
ZXIuY29uc3RydWN0b3IpOwoKICAgIEVtYmVyLmFzc2VydCgiWW91IHRyaWVk
|
1126
|
+
IHRvIGxvYWQgYSBoYXNNYW55IHJlbGF0aW9uc2hpcCBidXQgeW91IGhhdmUg
|
1127
|
+
bm8gYWRhcHRlciAoZm9yICIgKyBvd25lci5jb25zdHJ1Y3RvciArICIpIiwg
|
1128
|
+
YWRhcHRlcik7CiAgICBFbWJlci5hc3NlcnQoIllvdSB0cmllZCB0byBsb2Fk
|
1129
|
+
IGEgaGFzTWFueSByZWxhdGlvbnNoaXAgZnJvbSBhIHNwZWNpZmllZCBgbGlu
|
1130
|
+
a2AgaW4gdGhlIG9yaWdpbmFsIHBheWxvYWQgYnV0IHlvdXIgYWRhcHRlciBk
|
1131
|
+
b2VzIG5vdCBpbXBsZW1lbnQgYGZpbmRIYXNNYW55YCIsIGFkYXB0ZXIuZmlu
|
1132
|
+
ZEhhc01hbnkpOwoKICAgIHZhciByZWNvcmRzID0gdGhpcy5yZWNvcmRBcnJh
|
1133
|
+
eU1hbmFnZXIuY3JlYXRlTWFueUFycmF5KHJlbGF0aW9uc2hpcC50eXBlLCBF
|
1134
|
+
bWJlci5BKFtdKSk7CiAgICBfZmluZEhhc01hbnkoYWRhcHRlciwgdGhpcywg
|
1135
|
+
b3duZXIsIGxpbmssIHJlbGF0aW9uc2hpcCwgcmVzb2x2ZXIpOwogICAgcmV0
|
1136
|
+
dXJuIHJlY29yZHM7CiAgfSwKCiAgLyoqCiAgICBUaGlzIG1ldGhvZCBkZWxl
|
1137
|
+
Z2F0ZXMgYSBxdWVyeSB0byB0aGUgYWRhcHRlci4gVGhpcyBpcyB0aGUgb25l
|
1138
|
+
IHBsYWNlIHdoZXJlCiAgICBhZGFwdGVyLWxldmVsIHNlbWFudGljcyBhcmUg
|
1139
|
+
ZXhwb3NlZCB0byB0aGUgYXBwbGljYXRpb24uCgogICAgRXhwb3NpbmcgcXVl
|
1140
|
+
cmllcyB0aGlzIHdheSBzZWVtcyBwcmVmZXJhYmxlIHRvIGNyZWF0aW5nIGFu
|
1141
|
+
IGFic3RyYWN0IHF1ZXJ5CiAgICBsYW5ndWFnZSBmb3IgYWxsIHNlcnZlci1z
|
1142
|
+
aWRlIHF1ZXJpZXMsIGFuZCB0aGVuIHJlcXVpcmUgYWxsIGFkYXB0ZXJzIHRv
|
1143
|
+
CiAgICBpbXBsZW1lbnQgdGhlbS4KCiAgICBUaGlzIG1ldGhvZCByZXR1cm5z
|
1144
|
+
IGEgcHJvbWlzZSwgd2hpY2ggaXMgcmVzb2x2ZWQgd2l0aCBhIGBSZWNvcmRB
|
1145
|
+
cnJheWAKICAgIG9uY2UgdGhlIHNlcnZlciByZXR1cm5zLgoKICAgIEBtZXRo
|
1146
|
+
b2QgZmluZFF1ZXJ5CiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHtTdHJpbmd9
|
1147
|
+
IHR5cGUKICAgIEBwYXJhbSB7YW55fSBxdWVyeSBhbiBvcGFxdWUgcXVlcnkg
|
1148
|
+
dG8gYmUgdXNlZCBieSB0aGUgYWRhcHRlcgogICAgQHJldHVybiBQcm9taXNl
|
1149
|
+
CiAgKi8KICBmaW5kUXVlcnk6IGZ1bmN0aW9uKHR5cGUsIHF1ZXJ5KSB7CiAg
|
1150
|
+
ICB0eXBlID0gdGhpcy5tb2RlbEZvcih0eXBlKTsKCiAgICB2YXIgYXJyYXkg
|
1151
|
+
PSBEUy5BZGFwdGVyUG9wdWxhdGVkUmVjb3JkQXJyYXkuY3JlYXRlKHsKICAg
|
1152
|
+
ICAgdHlwZTogdHlwZSwKICAgICAgcXVlcnk6IHF1ZXJ5LAogICAgICBjb250
|
1153
|
+
ZW50OiBFbWJlci5BKCksCiAgICAgIHN0b3JlOiB0aGlzCiAgICB9KTsKCiAg
|
1154
|
+
ICB2YXIgYWRhcHRlciA9IHRoaXMuYWRhcHRlckZvclR5cGUodHlwZSksCiAg
|
1155
|
+
ICAgICAgcmVzb2x2ZXIgPSBFbWJlci5SU1ZQLmRlZmVyKCk7CgogICAgRW1i
|
1156
|
+
ZXIuYXNzZXJ0KCJZb3UgdHJpZWQgdG8gbG9hZCBhIHF1ZXJ5IGJ1dCB5b3Ug
|
1157
|
+
aGF2ZSBubyBhZGFwdGVyIChmb3IgIiArIHR5cGUgKyAiKSIsIGFkYXB0ZXIp
|
1158
|
+
OwogICAgRW1iZXIuYXNzZXJ0KCJZb3UgdHJpZWQgdG8gbG9hZCBhIHF1ZXJ5
|
1159
|
+
IGJ1dCB5b3VyIGFkYXB0ZXIgZG9lcyBub3QgaW1wbGVtZW50IGBmaW5kUXVl
|
1160
|
+
cnlgIiwgYWRhcHRlci5maW5kUXVlcnkpOwoKICAgIF9maW5kUXVlcnkoYWRh
|
1161
|
+
cHRlciwgdGhpcywgdHlwZSwgcXVlcnksIGFycmF5LCByZXNvbHZlcik7Cgog
|
1162
|
+
ICAgcmV0dXJuIHByb21pc2VBcnJheShyZXNvbHZlci5wcm9taXNlKTsKICB9
|
1163
|
+
LAoKICAvKioKICAgIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gYXJyYXkgb2Yg
|
1164
|
+
YWxsIHJlY29yZHMgYWRhcHRlciBjYW4gZmluZC4KICAgIEl0IHRyaWdnZXJz
|
1165
|
+
IHRoZSBhZGFwdGVyJ3MgYGZpbmRBbGxgIG1ldGhvZCB0byBnaXZlIGl0IGFu
|
1166
|
+
IG9wcG9ydHVuaXR5IHRvIHBvcHVsYXRlCiAgICB0aGUgYXJyYXkgd2l0aCBy
|
1167
|
+
ZWNvcmRzIG9mIHRoYXQgdHlwZS4KCiAgICBAbWV0aG9kIGZpbmRBbGwKICAg
|
1168
|
+
IEBwcml2YXRlCiAgICBAcGFyYW0ge0NsYXNzfSB0eXBlCiAgICBAcmV0dXJu
|
1169
|
+
IHtEUy5BZGFwdGVyUG9wdWxhdGVkUmVjb3JkQXJyYXl9CiAgKi8KICBmaW5k
|
1170
|
+
QWxsOiBmdW5jdGlvbih0eXBlKSB7CiAgICB0eXBlID0gdGhpcy5tb2RlbEZv
|
1171
|
+
cih0eXBlKTsKCiAgICByZXR1cm4gdGhpcy5mZXRjaEFsbCh0eXBlLCB0aGlz
|
1172
|
+
LmFsbCh0eXBlKSk7CiAgfSwKCiAgLyoqCiAgICBAbWV0aG9kIGZldGNoQWxs
|
1173
|
+
CiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHR5cGUKICAgIEBwYXJhbSBhcnJh
|
1174
|
+
eQogICAgQHJldHVybnMgUHJvbWlzZQogICovCiAgZmV0Y2hBbGw6IGZ1bmN0
|
1175
|
+
aW9uKHR5cGUsIGFycmF5KSB7CiAgICB2YXIgYWRhcHRlciA9IHRoaXMuYWRh
|
1176
|
+
cHRlckZvclR5cGUodHlwZSksCiAgICAgICAgc2luY2VUb2tlbiA9IHRoaXMu
|
1177
|
+
dHlwZU1hcEZvcih0eXBlKS5tZXRhZGF0YS5zaW5jZSwKICAgICAgICByZXNv
|
1178
|
+
bHZlciA9IEVtYmVyLlJTVlAuZGVmZXIoKTsKCiAgICBzZXQoYXJyYXksICdp
|
1179
|
+
c1VwZGF0aW5nJywgdHJ1ZSk7CgogICAgRW1iZXIuYXNzZXJ0KCJZb3UgdHJp
|
1180
|
+
ZWQgdG8gbG9hZCBhbGwgcmVjb3JkcyBidXQgeW91IGhhdmUgbm8gYWRhcHRl
|
1181
|
+
ciAoZm9yICIgKyB0eXBlICsgIikiLCBhZGFwdGVyKTsKICAgIEVtYmVyLmFz
|
1182
|
+
c2VydCgiWW91IHRyaWVkIHRvIGxvYWQgYWxsIHJlY29yZHMgYnV0IHlvdXIg
|
1183
|
+
YWRhcHRlciBkb2VzIG5vdCBpbXBsZW1lbnQgYGZpbmRBbGxgIiwgYWRhcHRl
|
1184
|
+
ci5maW5kQWxsKTsKCiAgICBfZmluZEFsbChhZGFwdGVyLCB0aGlzLCB0eXBl
|
1185
|
+
LCBzaW5jZVRva2VuLCByZXNvbHZlcik7CgogICAgcmV0dXJuIHByb21pc2VB
|
1186
|
+
cnJheShyZXNvbHZlci5wcm9taXNlKTsKICB9LAoKICAvKioKICAgIEBtZXRo
|
1187
|
+
b2QgZGlkVXBkYXRlQWxsCiAgICBAcGFyYW0gdHlwZQogICovCiAgZGlkVXBk
|
1188
|
+
YXRlQWxsOiBmdW5jdGlvbih0eXBlKSB7CiAgICB2YXIgZmluZEFsbENhY2hl
|
1189
|
+
ID0gdGhpcy50eXBlTWFwRm9yKHR5cGUpLmZpbmRBbGxDYWNoZTsKICAgIHNl
|
1190
|
+
dChmaW5kQWxsQ2FjaGUsICdpc1VwZGF0aW5nJywgZmFsc2UpOwogIH0sCgog
|
1191
|
+
IC8qKgogICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGZpbHRlcmVkIGFycmF5
|
1192
|
+
IHRoYXQgY29udGFpbnMgYWxsIG9mIHRoZSBrbm93biByZWNvcmRzCiAgICBm
|
1193
|
+
b3IgYSBnaXZlbiB0eXBlLgoKICAgIE5vdGUgdGhhdCBiZWNhdXNlIGl0J3Mg
|
1194
|
+
anVzdCBhIGZpbHRlciwgaXQgd2lsbCBoYXZlIGFueSBsb2NhbGx5CiAgICBj
|
1195
|
+
cmVhdGVkIHJlY29yZHMgb2YgdGhlIHR5cGUuCgogICAgQWxzbyBub3RlIHRo
|
1196
|
+
YXQgbXVsdGlwbGUgY2FsbHMgdG8gYGFsbGAgZm9yIGEgZ2l2ZW4gdHlwZSB3
|
1197
|
+
aWxsIGFsd2F5cwogICAgcmV0dXJuIHRoZSBzYW1lIFJlY29yZEFycmF5LgoK
|
1198
|
+
ICAgIEBtZXRob2QgYWxsCiAgICBAcGFyYW0ge0NsYXNzfSB0eXBlCiAgICBA
|
1199
|
+
cmV0dXJuIHtEUy5SZWNvcmRBcnJheX0KICAqLwogIGFsbDogZnVuY3Rpb24o
|
1200
|
+
dHlwZSkgewogICAgdmFyIHR5cGVNYXAgPSB0aGlzLnR5cGVNYXBGb3IodHlw
|
1201
|
+
ZSksCiAgICAgICAgZmluZEFsbENhY2hlID0gdHlwZU1hcC5maW5kQWxsQ2Fj
|
1202
|
+
aGU7CgogICAgaWYgKGZpbmRBbGxDYWNoZSkgeyByZXR1cm4gZmluZEFsbENh
|
1203
|
+
Y2hlOyB9CgogICAgdmFyIGFycmF5ID0gRFMuUmVjb3JkQXJyYXkuY3JlYXRl
|
1204
|
+
KHsKICAgICAgdHlwZTogdHlwZSwKICAgICAgY29udGVudDogRW1iZXIuQSgp
|
1205
|
+
LAogICAgICBzdG9yZTogdGhpcywKICAgICAgaXNMb2FkZWQ6IHRydWUKICAg
|
1206
|
+
IH0pOwoKICAgIHRoaXMucmVjb3JkQXJyYXlNYW5hZ2VyLnJlZ2lzdGVyRmls
|
1207
|
+
dGVyZWRSZWNvcmRBcnJheShhcnJheSwgdHlwZSk7CgogICAgdHlwZU1hcC5m
|
1208
|
+
aW5kQWxsQ2FjaGUgPSBhcnJheTsKICAgIHJldHVybiBhcnJheTsKICB9LAoK
|
1209
|
+
ICAvKioKICAgIFRha2VzIGEgdHlwZSBhbmQgZmlsdGVyIGZ1bmN0aW9uLCBh
|
1210
|
+
bmQgcmV0dXJucyBhIGxpdmUgUmVjb3JkQXJyYXkgdGhhdAogICAgcmVtYWlu
|
1211
|
+
cyB1cCB0byBkYXRlIGFzIG5ldyByZWNvcmRzIGFyZSBsb2FkZWQgaW50byB0
|
1212
|
+
aGUgc3RvcmUgb3IgY3JlYXRlZAogICAgbG9jYWxseS4KCiAgICBUaGUgY2Fs
|
1213
|
+
bGJhY2sgZnVuY3Rpb24gdGFrZXMgYSBtYXRlcmlhbGl6ZWQgcmVjb3JkLCBh
|
1214
|
+
bmQgcmV0dXJucyB0cnVlCiAgICBpZiB0aGUgcmVjb3JkIHNob3VsZCBiZSBp
|
1215
|
+
bmNsdWRlZCBpbiB0aGUgZmlsdGVyIGFuZCBmYWxzZSBpZiBpdCBzaG91bGQK
|
1216
|
+
ICAgIG5vdC4KCiAgICBUaGUgZmlsdGVyIGZ1bmN0aW9uIGlzIGNhbGxlZCBv
|
1217
|
+
bmNlIG9uIGFsbCByZWNvcmRzIGZvciB0aGUgdHlwZSB3aGVuCiAgICBpdCBp
|
1218
|
+
cyBjcmVhdGVkLCBhbmQgdGhlbiBvbmNlIG9uIGVhY2ggbmV3bHkgbG9hZGVk
|
1219
|
+
IG9yIGNyZWF0ZWQgcmVjb3JkLgoKICAgIElmIGFueSBvZiBhIHJlY29yZCdz
|
1220
|
+
IHByb3BlcnRpZXMgY2hhbmdlLCBvciBpZiBpdCBjaGFuZ2VzIHN0YXRlLCB0
|
1221
|
+
aGUKICAgIGZpbHRlciBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgYWdhaW4g
|
1222
|
+
dG8gZGV0ZXJtaW5lIHdoZXRoZXIgaXQgc2hvdWxkCiAgICBzdGlsbCBiZSBp
|
1223
|
+
biB0aGUgYXJyYXkuCgogICAgTm90ZSB0aGF0IHRoZSBleGlzdGVuY2Ugb2Yg
|
1224
|
+
YSBmaWx0ZXIgb24gYSB0eXBlIHdpbGwgdHJpZ2dlciBpbW1lZGlhdGUKICAg
|
1225
|
+
IG1hdGVyaWFsaXphdGlvbiBvZiBhbGwgbG9hZGVkIGRhdGEgZm9yIGEgZ2l2
|
1226
|
+
ZW4gdHlwZSwgc28geW91IG1pZ2h0CiAgICBub3Qgd2FudCB0byB1c2UgZmls
|
1227
|
+
dGVycyBmb3IgYSB0eXBlIGlmIHlvdSBhcmUgbG9hZGluZyBtYW55IHJlY29y
|
1228
|
+
ZHMKICAgIGludG8gdGhlIHN0b3JlLCBtYW55IG9mIHdoaWNoIGFyZSBub3Qg
|
1229
|
+
YWN0aXZlIGF0IGFueSBnaXZlbiB0aW1lLgoKICAgIEluIHRoaXMgc2NlbmFy
|
1230
|
+
aW8sIHlvdSBtaWdodCB3YW50IHRvIGNvbnNpZGVyIGZpbHRlcmluZyB0aGUg
|
1231
|
+
cmF3CiAgICBkYXRhIGJlZm9yZSBsb2FkaW5nIGl0IGludG8gdGhlIHN0b3Jl
|
1232
|
+
LgoKICAgIEBtZXRob2QgZmlsdGVyCiAgICBAcGFyYW0ge0NsYXNzfSB0eXBl
|
1233
|
+
CiAgICBAcGFyYW0ge0Z1bmN0aW9ufSBmaWx0ZXIKICAgIEByZXR1cm4ge0RT
|
1234
|
+
LkZpbHRlcmVkUmVjb3JkQXJyYXl9CiAgKi8KICBmaWx0ZXI6IGZ1bmN0aW9u
|
1235
|
+
KHR5cGUsIHF1ZXJ5LCBmaWx0ZXIpIHsKICAgIHZhciBwcm9taXNlOwoKICAg
|
1236
|
+
IC8vIGFsbG93IGFuIG9wdGlvbmFsIHNlcnZlciBxdWVyeQogICAgaWYgKGFy
|
1237
|
+
Z3VtZW50cy5sZW5ndGggPT09IDMpIHsKICAgICAgcHJvbWlzZSA9IHRoaXMu
|
1238
|
+
ZmluZFF1ZXJ5KHR5cGUsIHF1ZXJ5KTsKICAgIH0gZWxzZSBpZiAoYXJndW1l
|
1239
|
+
bnRzLmxlbmd0aCA9PT0gMikgewogICAgICBmaWx0ZXIgPSBxdWVyeTsKICAg
|
1240
|
+
IH0KCiAgICB0eXBlID0gdGhpcy5tb2RlbEZvcih0eXBlKTsKCiAgICB2YXIg
|
1241
|
+
YXJyYXkgPSBEUy5GaWx0ZXJlZFJlY29yZEFycmF5LmNyZWF0ZSh7CiAgICAg
|
1242
|
+
IHR5cGU6IHR5cGUsCiAgICAgIGNvbnRlbnQ6IEVtYmVyLkEoKSwKICAgICAg
|
1243
|
+
c3RvcmU6IHRoaXMsCiAgICAgIG1hbmFnZXI6IHRoaXMucmVjb3JkQXJyYXlN
|
1244
|
+
YW5hZ2VyLAogICAgICBmaWx0ZXJGdW5jdGlvbjogZmlsdGVyCiAgICB9KTsK
|
1245
|
+
CiAgICB0aGlzLnJlY29yZEFycmF5TWFuYWdlci5yZWdpc3RlckZpbHRlcmVk
|
1246
|
+
UmVjb3JkQXJyYXkoYXJyYXksIHR5cGUsIGZpbHRlcik7CgogICAgaWYgKHBy
|
1247
|
+
b21pc2UpIHsKICAgICAgcmV0dXJuIHByb21pc2UudGhlbihmdW5jdGlvbigp
|
1248
|
+
IHsgcmV0dXJuIGFycmF5OyB9KTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVy
|
1249
|
+
biBhcnJheTsKICAgIH0KICB9LAoKICAvKioKICAgIFRoaXMgbWV0aG9kIHJl
|
1250
|
+
dHVybnMgaWYgYSBjZXJ0YWluIHJlY29yZCBpcyBhbHJlYWR5IGxvYWRlZAog
|
1251
|
+
ICAgaW4gdGhlIHN0b3JlLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBrbm93IGJl
|
1252
|
+
Zm9yZWhhbmQgaWYgYSBmaW5kKCkKICAgIHdpbGwgcmVzdWx0IGluIGEgcmVx
|
1253
|
+
dWVzdCBvciB0aGF0IGl0IHdpbGwgYmUgYSBjYWNoZSBoaXQuCgogICAgQG1l
|
1254
|
+
dGhvZCByZWNvcmRJc0xvYWRlZAogICAgQHBhcmFtIHtDbGFzc30gdHlwZQog
|
1255
|
+
ICAgQHBhcmFtIHtzdHJpbmd9IGlkCiAgICBAcmV0dXJuIHtib29sZWFufQog
|
1256
|
+
ICovCiAgcmVjb3JkSXNMb2FkZWQ6IGZ1bmN0aW9uKHR5cGUsIGlkKSB7CiAg
|
1257
|
+
ICBpZiAoIXRoaXMuaGFzUmVjb3JkRm9ySWQodHlwZSwgaWQpKSB7IHJldHVy
|
1258
|
+
biBmYWxzZTsgfQogICAgcmV0dXJuICFnZXQodGhpcy5yZWNvcmRGb3JJZCh0
|
1259
|
+
eXBlLCBpZCksICdpc0VtcHR5Jyk7CiAgfSwKCiAgLy8gLi4uLi4uLi4uLi4u
|
1260
|
+
CiAgLy8gLiBVUERBVElORyAuCiAgLy8gLi4uLi4uLi4uLi4uCgogIC8qKgog
|
1261
|
+
ICAgSWYgdGhlIGFkYXB0ZXIgdXBkYXRlcyBhdHRyaWJ1dGVzIG9yIGFja25v
|
1262
|
+
d2xlZGdlcyBjcmVhdGlvbgogICAgb3IgZGVsZXRpb24sIHRoZSByZWNvcmQg
|
1263
|
+
d2lsbCBub3RpZnkgdGhlIHN0b3JlIHRvIHVwZGF0ZSBpdHMKICAgIG1lbWJl
|
1264
|
+
cnNoaXAgaW4gYW55IGZpbHRlcnMuCgogICAgVG8gYXZvaWQgdGhyYXNoaW5n
|
1265
|
+
LCB0aGlzIG1ldGhvZCBpcyBpbnZva2VkIG9ubHkgb25jZSBwZXIKICAgIHJ1
|
1266
|
+
biBsb29wIHBlciByZWNvcmQuCgogICAgQG1ldGhvZCBkYXRhV2FzVXBkYXRl
|
1267
|
+
ZAogICAgQHByaXZhdGUKICAgIEBwYXJhbSB7Q2xhc3N9IHR5cGUKICAgIEBw
|
1268
|
+
YXJhbSB7TnVtYmVyfFN0cmluZ30gY2xpZW50SWQKICAgIEBwYXJhbSB7RFMu
|
1269
|
+
TW9kZWx9IHJlY29yZAogICovCiAgZGF0YVdhc1VwZGF0ZWQ6IGZ1bmN0aW9u
|
1270
|
+
KHR5cGUsIHJlY29yZCkgewogICAgLy8gQmVjYXVzZSBkYXRhIHVwZGF0ZXMg
|
1271
|
+
YXJlIGludm9rZWQgYXQgdGhlIGVuZCBvZiB0aGUgcnVuIGxvb3AsCiAgICAv
|
1272
|
+
LyBpdCBpcyBwb3NzaWJsZSB0aGF0IGEgcmVjb3JkIG1pZ2h0IGJlIGRlbGV0
|
1273
|
+
ZWQgYWZ0ZXIgaXRzIGRhdGEKICAgIC8vIGhhcyBiZWVuIG1vZGlmaWVkIGFu
|
1274
|
+
ZCB0aGlzIG1ldGhvZCB3YXMgc2NoZWR1bGVkIHRvIGJlIGNhbGxlZC4KICAg
|
1275
|
+
IC8vCiAgICAvLyBJZiB0aGF0J3MgdGhlIGNhc2UsIHRoZSByZWNvcmQgd291
|
1276
|
+
bGQgaGF2ZSBhbHJlYWR5IGJlZW4gcmVtb3ZlZAogICAgLy8gZnJvbSBhbGwg
|
1277
|
+
cmVjb3JkIGFycmF5czsgY2FsbGluZyB1cGRhdGVSZWNvcmRBcnJheXMgd291
|
1278
|
+
bGQganVzdAogICAgLy8gYWRkIGl0IGJhY2suIElmIHRoZSByZWNvcmQgaXMg
|
1279
|
+
ZGVsZXRlZCwganVzdCBiYWlsLiBJdCBzaG91bGRuJ3QKICAgIC8vIGdpdmUg
|
1280
|
+
dXMgYW55IG1vcmUgdHJvdWJsZSBhZnRlciB0aGlzLgoKICAgIGlmIChnZXQo
|
1281
|
+
cmVjb3JkLCAnaXNEZWxldGVkJykpIHsgcmV0dXJuOyB9CgogICAgaWYgKGdl
|
1282
|
+
dChyZWNvcmQsICdpc0xvYWRlZCcpKSB7CiAgICAgIHRoaXMucmVjb3JkQXJy
|
1283
|
+
YXlNYW5hZ2VyLnJlY29yZERpZENoYW5nZShyZWNvcmQpOwogICAgfQogIH0s
|
1284
|
+
CgogIC8vIC4uLi4uLi4uLi4uLi4uCiAgLy8gLiBQRVJTSVNUSU5HIC4KICAv
|
1285
|
+
LyAuLi4uLi4uLi4uLi4uLgoKICAvKioKICAgIFRoaXMgbWV0aG9kIGlzIGNh
|
1286
|
+
bGxlZCBieSBgcmVjb3JkLnNhdmVgLCBhbmQgZ2V0cyBwYXNzZWQgYQogICAg
|
1287
|
+
cmVzb2x2ZXIgZm9yIHRoZSBwcm9taXNlIHRoYXQgYHJlY29yZC5zYXZlYCBy
|
1288
|
+
ZXR1cm5zLgoKICAgIEl0IHNjaGVkdWxlcyBzYXZpbmcgdG8gaGFwcGVuIGF0
|
1289
|
+
IHRoZSBlbmQgb2YgdGhlIHJ1biBsb29wLgoKICAgIEBtZXRob2Qgc2NoZWR1
|
1290
|
+
bGVTYXZlCiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHtEUy5Nb2RlbH0gcmVj
|
1291
|
+
b3JkCiAgICBAcGFyYW0ge1Jlc29sdmVyfSByZXNvbHZlcgogICovCiAgc2No
|
1292
|
+
ZWR1bGVTYXZlOiBmdW5jdGlvbihyZWNvcmQsIHJlc29sdmVyKSB7CiAgICBy
|
1293
|
+
ZWNvcmQuYWRhcHRlcldpbGxDb21taXQoKTsKICAgIHRoaXMuX3BlbmRpbmdT
|
1294
|
+
YXZlLnB1c2goW3JlY29yZCwgcmVzb2x2ZXJdKTsKICAgIG9uY2UodGhpcywg
|
1295
|
+
J2ZsdXNoUGVuZGluZ1NhdmUnKTsKICB9LAoKICAvKioKICAgIFRoaXMgbWV0
|
1296
|
+
aG9kIGlzIGNhbGxlZCBhdCB0aGUgZW5kIG9mIHRoZSBydW4gbG9vcCwgYW5k
|
1297
|
+
CiAgICBmbHVzaGVzIGFueSByZWNvcmRzIHBhc3NlZCBpbnRvIGBzY2hlZHVs
|
1298
|
+
ZVNhdmVgCgogICAgQG1ldGhvZCBmbHVzaFBlbmRpbmdTYXZlCiAgICBAcHJp
|
1299
|
+
dmF0ZQogICovCiAgZmx1c2hQZW5kaW5nU2F2ZTogZnVuY3Rpb24oKSB7CiAg
|
1300
|
+
ICB2YXIgcGVuZGluZyA9IHRoaXMuX3BlbmRpbmdTYXZlLnNsaWNlKCk7CiAg
|
1301
|
+
ICB0aGlzLl9wZW5kaW5nU2F2ZSA9IFtdOwoKICAgIGZvckVhY2gocGVuZGlu
|
1302
|
+
ZywgZnVuY3Rpb24odHVwbGUpIHsKICAgICAgdmFyIHJlY29yZCA9IHR1cGxl
|
1303
|
+
WzBdLCByZXNvbHZlciA9IHR1cGxlWzFdLAogICAgICAgICAgYWRhcHRlciA9
|
1304
|
+
IHRoaXMuYWRhcHRlckZvclR5cGUocmVjb3JkLmNvbnN0cnVjdG9yKSwKICAg
|
1305
|
+
ICAgICAgIG9wZXJhdGlvbjsKCiAgICAgIGlmIChnZXQocmVjb3JkLCAnaXNO
|
1306
|
+
ZXcnKSkgewogICAgICAgIG9wZXJhdGlvbiA9ICdjcmVhdGVSZWNvcmQnOwog
|
1307
|
+
ICAgICB9IGVsc2UgaWYgKGdldChyZWNvcmQsICdpc0RlbGV0ZWQnKSkgewog
|
1308
|
+
ICAgICAgIG9wZXJhdGlvbiA9ICdkZWxldGVSZWNvcmQnOwogICAgICB9IGVs
|
1309
|
+
c2UgewogICAgICAgIG9wZXJhdGlvbiA9ICd1cGRhdGVSZWNvcmQnOwogICAg
|
1310
|
+
ICB9CgogICAgICBfY29tbWl0KGFkYXB0ZXIsIHRoaXMsIG9wZXJhdGlvbiwg
|
1311
|
+
cmVjb3JkLCByZXNvbHZlcik7CiAgICB9LCB0aGlzKTsKICB9LAoKICAvKioK
|
1312
|
+
ICAgIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbmNlIHRoZSBwcm9taXNlIHJl
|
1313
|
+
dHVybmVkIGJ5IGFuCiAgICBhZGFwdGVyJ3MgYGNyZWF0ZVJlY29yZGAsIGB1
|
1314
|
+
cGRhdGVSZWNvcmRgIG9yIGBkZWxldGVSZWNvcmRgCiAgICBpcyByZXNvbHZl
|
1315
|
+
ZC4KCiAgICBJZiB0aGUgZGF0YSBwcm92aWRlcyBhIHNlcnZlci1nZW5lcmF0
|
1316
|
+
ZWQgSUQsIGl0IHdpbGwKICAgIHVwZGF0ZSB0aGUgcmVjb3JkIGFuZCB0aGUg
|
1317
|
+
c3RvcmUncyBpbmRleGVzLgoKICAgIEBtZXRob2QgZGlkU2F2ZVJlY29yZAog
|
1318
|
+
ICAgQHByaXZhdGUKICAgIEBwYXJhbSB7RFMuTW9kZWx9IHJlY29yZCB0aGUg
|
1319
|
+
aW4tZmxpZ2h0IHJlY29yZAogICAgQHBhcmFtIHtPYmplY3R9IGRhdGEgb3B0
|
1320
|
+
aW9uYWwgZGF0YSAoc2VlIGFib3ZlKQogICovCiAgZGlkU2F2ZVJlY29yZDog
|
1321
|
+
ZnVuY3Rpb24ocmVjb3JkLCBkYXRhKSB7CiAgICBpZiAoZGF0YSkgewogICAg
|
1322
|
+
ICB0aGlzLnVwZGF0ZUlkKHJlY29yZCwgZGF0YSk7CiAgICB9CgogICAgcmVj
|
1323
|
+
b3JkLmFkYXB0ZXJEaWRDb21taXQoZGF0YSk7CiAgfSwKCiAgLyoqCiAgICBU
|
1324
|
+
aGlzIG1ldGhvZCBpcyBjYWxsZWQgb25jZSB0aGUgcHJvbWlzZSByZXR1cm5l
|
1325
|
+
ZCBieSBhbgogICAgYWRhcHRlcidzIGBjcmVhdGVSZWNvcmRgLCBgdXBkYXRl
|
1326
|
+
UmVjb3JkYCBvciBgZGVsZXRlUmVjb3JkYAogICAgaXMgcmVqZWN0ZWQgd2l0
|
1327
|
+
aCBhIGBEUy5JbnZhbGlkRXJyb3JgLgoKICAgIEBtZXRob2QgcmVjb3JkV2Fz
|
1328
|
+
SW52YWxpZAogICAgQHByaXZhdGUKICAgIEBwYXJhbSB7RFMuTW9kZWx9IHJl
|
1329
|
+
Y29yZAogICAgQHBhcmFtIHtPYmplY3R9IGVycm9ycwogICovCiAgcmVjb3Jk
|
1330
|
+
V2FzSW52YWxpZDogZnVuY3Rpb24ocmVjb3JkLCBlcnJvcnMpIHsKICAgIHJl
|
1331
|
+
Y29yZC5hZGFwdGVyRGlkSW52YWxpZGF0ZShlcnJvcnMpOwogIH0sCgogIC8q
|
1332
|
+
KgogICAgVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uY2UgdGhlIHByb21pc2Ug
|
1333
|
+
cmV0dXJuZWQgYnkgYW4KICAgIGFkYXB0ZXIncyBgY3JlYXRlUmVjb3JkYCwg
|
1334
|
+
YHVwZGF0ZVJlY29yZGAgb3IgYGRlbGV0ZVJlY29yZGAKICAgIGlzIHJlamVj
|
1335
|
+
dGVkICh3aXRoIGFueXRoaW5nIG90aGVyIHRoYW4gYSBgRFMuSW52YWxpZEVy
|
1336
|
+
cm9yYCkuCgogICAgQG1ldGhvZCByZWNvcmRXYXNFcnJvcgogICAgQHByaXZh
|
1337
|
+
dGUKICAgIEBwYXJhbSB7RFMuTW9kZWx9IHJlY29yZAogICovCiAgcmVjb3Jk
|
1338
|
+
V2FzRXJyb3I6IGZ1bmN0aW9uKHJlY29yZCkgewogICAgcmVjb3JkLmFkYXB0
|
1339
|
+
ZXJEaWRFcnJvcigpOwogIH0sCgogIC8qKgogICAgV2hlbiBhbiBhZGFwdGVy
|
1340
|
+
J3MgYGNyZWF0ZVJlY29yZGAsIGB1cGRhdGVSZWNvcmRgIG9yIGBkZWxldGVS
|
1341
|
+
ZWNvcmRgCiAgICByZXNvbHZlcyB3aXRoIGRhdGEsIHRoaXMgbWV0aG9kIGV4
|
1342
|
+
dHJhY3RzIHRoZSBJRCBmcm9tIHRoZSBzdXBwbGllZAogICAgZGF0YS4KCiAg
|
1343
|
+
ICBAbWV0aG9kIHVwZGF0ZUlkCiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHtE
|
1344
|
+
Uy5Nb2RlbH0gcmVjb3JkCiAgICBAcGFyYW0ge09iamVjdH0gZGF0YQogICov
|
1345
|
+
CiAgdXBkYXRlSWQ6IGZ1bmN0aW9uKHJlY29yZCwgZGF0YSkgewogICAgdmFy
|
1346
|
+
IG9sZElkID0gZ2V0KHJlY29yZCwgJ2lkJyksCiAgICAgICAgaWQgPSBjb2Vy
|
1347
|
+
Y2VJZChkYXRhLmlkKTsKCiAgICBFbWJlci5hc3NlcnQoIkFuIGFkYXB0ZXIg
|
1348
|
+
Y2Fubm90IGFzc2lnbiBhIG5ldyBpZCB0byBhIHJlY29yZCB0aGF0IGFscmVh
|
1349
|
+
ZHkgaGFzIGFuIGlkLiAiICsgcmVjb3JkICsgIiBoYWQgaWQ6ICIgKyBvbGRJ
|
1350
|
+
ZCArICIgYW5kIHlvdSB0cmllZCB0byB1cGRhdGUgaXQgd2l0aCAiICsgaWQg
|
1351
|
+
KyAiLiBUaGlzIGxpa2VseSBoYXBwZW5lZCBiZWNhdXNlIHlvdXIgc2VydmVy
|
1352
|
+
IHJldHVybmVkIGRhdGEgaW4gcmVzcG9uc2UgdG8gYSBmaW5kIG9yIHVwZGF0
|
1353
|
+
ZSB0aGF0IGhhZCBhIGRpZmZlcmVudCBpZCB0aGFuIHRoZSBvbmUgeW91IHNl
|
1354
|
+
bnQuIiwgb2xkSWQgPT09IG51bGwgfHwgaWQgPT09IG9sZElkKTsKCiAgICB0
|
1355
|
+
aGlzLnR5cGVNYXBGb3IocmVjb3JkLmNvbnN0cnVjdG9yKS5pZFRvUmVjb3Jk
|
1356
|
+
W2lkXSA9IHJlY29yZDsKCiAgICBzZXQocmVjb3JkLCAnaWQnLCBpZCk7CiAg
|
1357
|
+
fSwKCiAgLyoqCiAgICBSZXR1cm5zIGEgbWFwIG9mIElEcyB0byBjbGllbnQg
|
1358
|
+
SURzIGZvciBhIGdpdmVuIHR5cGUuCgogICAgQG1ldGhvZCB0eXBlTWFwRm9y
|
1359
|
+
CiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHR5cGUKICAqLwogIHR5cGVNYXBG
|
1360
|
+
b3I6IGZ1bmN0aW9uKHR5cGUpIHsKICAgIHZhciB0eXBlTWFwcyA9IGdldCh0
|
1361
|
+
aGlzLCAndHlwZU1hcHMnKSwKICAgICAgICBndWlkID0gRW1iZXIuZ3VpZEZv
|
1362
|
+
cih0eXBlKSwKICAgICAgICB0eXBlTWFwOwoKICAgIHR5cGVNYXAgPSB0eXBl
|
1363
|
+
TWFwc1tndWlkXTsKCiAgICBpZiAodHlwZU1hcCkgeyByZXR1cm4gdHlwZU1h
|
1364
|
+
cDsgfQoKICAgIHR5cGVNYXAgPSB7CiAgICAgIGlkVG9SZWNvcmQ6IHt9LAog
|
1365
|
+
ICAgICByZWNvcmRzOiBbXSwKICAgICAgbWV0YWRhdGE6IHt9CiAgICB9OwoK
|
1366
|
+
ICAgIHR5cGVNYXBzW2d1aWRdID0gdHlwZU1hcDsKCiAgICByZXR1cm4gdHlw
|
1367
|
+
ZU1hcDsKICB9LAoKICAvLyAuLi4uLi4uLi4uLi4uLi4uCiAgLy8gLiBMT0FE
|
1368
|
+
SU5HIERBVEEgLgogIC8vIC4uLi4uLi4uLi4uLi4uLi4KCiAgLyoqCiAgICBU
|
1369
|
+
aGlzIGludGVybmFsIG1ldGhvZCBpcyB1c2VkIGJ5IGBwdXNoYC4KCiAgICBA
|
1370
|
+
bWV0aG9kIF9sb2FkCiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHtEUy5Nb2Rl
|
1371
|
+
bH0gdHlwZQogICAgQHBhcmFtIGRhdGEKICAgIEBwYXJhbSBwcmVtYXRlcmlh
|
1372
|
+
bGl6ZWQKICAqLwogIF9sb2FkOiBmdW5jdGlvbih0eXBlLCBkYXRhKSB7CiAg
|
1373
|
+
ICB2YXIgaWQgPSBjb2VyY2VJZChkYXRhLmlkKSwKICAgICAgICByZWNvcmQg
|
1374
|
+
PSB0aGlzLnJlY29yZEZvcklkKHR5cGUsIGlkKTsKCiAgICByZWNvcmQuc2V0
|
1375
|
+
dXBEYXRhKGRhdGEpOwogICAgdGhpcy5yZWNvcmRBcnJheU1hbmFnZXIucmVj
|
1376
|
+
b3JkRGlkQ2hhbmdlKHJlY29yZCk7CgogICAgcmV0dXJuIHJlY29yZDsKICB9
|
1377
|
+
LAoKICAvKioKICAgIFJldHVybnMgYSBtb2RlbCBjbGFzcyBmb3IgYSBwYXJ0
|
1378
|
+
aWN1bGFyIGtleS4gVXNlZCBieQogICAgbWV0aG9kcyB0aGF0IHRha2UgYSB0
|
1379
|
+
eXBlIGtleSAobGlrZSBgZmluZGAsIGBjcmVhdGVSZWNvcmRgLAogICAgZXRj
|
1380
|
+
LikKCiAgICBAcGFyYW0ge1N0cmluZ30ga2V5CiAgICBAcmV0dXJucyB7c3Vi
|
1381
|
+
Y2xhc3Mgb2YgRFMuTW9kZWx9CiAgKi8KICBtb2RlbEZvcjogZnVuY3Rpb24o
|
1382
|
+
a2V5KSB7CiAgICBpZiAodHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHsKICAg
|
1383
|
+
ICAgcmV0dXJuIGtleTsKICAgIH0KCiAgICB2YXIgZmFjdG9yeSA9IHRoaXMu
|
1384
|
+
Y29udGFpbmVyLmxvb2t1cEZhY3RvcnkoJ21vZGVsOicra2V5KTsKCiAgICBF
|
1385
|
+
bWJlci5hc3NlcnQoIk5vIG1vZGVsIHdhcyBmb3VuZCBmb3IgJyIgKyBrZXkg
|
1386
|
+
KyAiJyIsIGZhY3RvcnkpOwoKICAgIGZhY3Rvcnkuc3RvcmUgPSB0aGlzOwog
|
1387
|
+
ICAgZmFjdG9yeS50eXBlS2V5ID0ga2V5OwoKICAgIHJldHVybiBmYWN0b3J5
|
1388
|
+
OwogIH0sCgogIC8qKgogICAgUHVzaCBzb21lIGRhdGEgZm9yIGEgZ2l2ZW4g
|
1389
|
+
dHlwZSBpbnRvIHRoZSBzdG9yZS4KCiAgICBUaGlzIG1ldGhvZCBleHBlY3Rz
|
1390
|
+
IG5vcm1hbGl6ZWQgZGF0YToKCiAgICAqIFRoZSBJRCBpcyBhIGtleSBuYW1l
|
1391
|
+
ZCBgaWRgIChhbiBJRCBpcyBtYW5kYXRvcnkpCiAgICAqIFRoZSBuYW1lcyBv
|
1392
|
+
ZiBhdHRyaWJ1dGVzIGFyZSB0aGUgb25lcyB5b3UgdXNlZCBpbgogICAgICB5
|
1393
|
+
b3VyIG1vZGVsJ3MgYERTLmF0dHJgcy4KICAgICogWW91ciByZWxhdGlvbnNo
|
1394
|
+
aXBzIG11c3QgYmU6CiAgICAgICogcmVwcmVzZW50ZWQgYXMgSURzIG9yIEFy
|
1395
|
+
cmF5cyBvZiBJRHMKICAgICAgKiByZXByZXNlbnRlZCBhcyBtb2RlbCBpbnN0
|
1396
|
+
YW5jZXMKICAgICAgKiByZXByZXNlbnRlZCBhcyBVUkxzLCB1bmRlciB0aGUg
|
1397
|
+
YGxpbmtzYCBrZXkKCiAgICBGb3IgdGhpcyBtb2RlbDoKCiAgICBgYGBqcwog
|
1398
|
+
ICAgQXBwLlBlcnNvbiA9IERTLk1vZGVsLmV4dGVuZCh7CiAgICAgIGZpcnN0
|
1399
|
+
TmFtZTogRFMuYXR0cigpLAogICAgICBsYXN0TmFtZTogRFMuYXR0cigpLAoK
|
1400
|
+
ICAgICAgY2hpbGRyZW46IERTLmhhc01hbnkoJ3BlcnNvbicpCiAgICB9KTsK
|
1401
|
+
ICAgIGBgYAoKICAgIFRvIHJlcHJlc2VudCB0aGUgY2hpbGRyZW4gYXMgSURz
|
1402
|
+
OgoKICAgIGBgYGpzCiAgICB7CiAgICAgIGlkOiAxLAogICAgICBmaXJzdE5h
|
1403
|
+
bWU6ICJUb20iLAogICAgICBsYXN0TmFtZTogIkRhbGUiLAogICAgICBjaGls
|
1404
|
+
ZHJlbjogWzEsIDIsIDNdCiAgICB9CiAgICBgYGAKCiAgICBUbyByZXByZXNl
|
1405
|
+
bnQgdGhlIGNoaWxkcmVuIHJlbGF0aW9uc2hpcCBhcyBhIFVSTDoKCiAgICBg
|
1406
|
+
YGBqcwogICAgewogICAgICBpZDogMSwKICAgICAgZmlyc3ROYW1lOiAiVG9t
|
1407
|
+
IiwKICAgICAgbGFzdE5hbWU6ICJEYWxlIiwKICAgICAgbGlua3M6IHsKICAg
|
1408
|
+
ICAgICBjaGlsZHJlbjogIi9wZW9wbGUvMS9jaGlsZHJlbiIKICAgICAgfQog
|
1409
|
+
ICAgfQogICAgYGBgCgogICAgSWYgeW91J3JlIHN0cmVhbWluZyBkYXRhIG9y
|
1410
|
+
IGltcGxlbWVudGluZyBhbiBhZGFwdGVyLAogICAgbWFrZSBzdXJlIHRoYXQg
|
1411
|
+
eW91IGhhdmUgY29udmVydGVkIHRoZSBpbmNvbWluZyBkYXRhCiAgICBpbnRv
|
1412
|
+
IHRoaXMgZm9ybS4KCiAgICBUaGlzIG1ldGhvZCBjYW4gYmUgdXNlZCBib3Ro
|
1413
|
+
IHRvIHB1c2ggaW4gYnJhbmQgbmV3CiAgICByZWNvcmRzLCBhcyB3ZWxsIGFz
|
1414
|
+
IHRvIHVwZGF0ZSBleGlzdGluZyByZWNvcmRzLgoKICAgIEBtZXRob2QgcHVz
|
1415
|
+
aAogICAgQHBhcmFtIHtTdHJpbmd9IHR5cGUKICAgIEBwYXJhbSB7T2JqZWN0
|
1416
|
+
fSBkYXRhCiAgICBAcmV0dXJucyBEUy5Nb2RlbCB0aGUgcmVjb3JkIHRoYXQg
|
1417
|
+
d2FzIGNyZWF0ZWQgb3IKICAgICAgdXBkYXRlZC4KICAqLwogIHB1c2g6IGZ1
|
1418
|
+
bmN0aW9uKHR5cGUsIGRhdGEpIHsKICAgIHZhciBzZXJpYWxpemVyID0gdGhp
|
1419
|
+
cy5zZXJpYWxpemVyRm9yKHR5cGUpOwogICAgdHlwZSA9IHRoaXMubW9kZWxG
|
1420
|
+
b3IodHlwZSk7CgogICAgZGF0YSA9IHNlcmlhbGl6ZXIuZGVzZXJpYWxpemUo
|
1421
|
+
dHlwZSwgZGF0YSk7CgogICAgdGhpcy5fbG9hZCh0eXBlLCBkYXRhKTsKCiAg
|
1422
|
+
ICByZXR1cm4gdGhpcy5yZWNvcmRGb3JJZCh0eXBlLCBkYXRhLmlkKTsKICB9
|
1423
|
+
LAoKICAvKioKICAgIElmIHlvdSBoYXZlIGFuIEFycmF5IG9mIG5vcm1hbGl6
|
1424
|
+
ZWQgZGF0YSB0byBwdXNoLAogICAgeW91IGNhbiBjYWxsIGBwdXNoTWFueWAg
|
1425
|
+
d2l0aCB0aGUgQXJyYXksIGFuZCBpdCB3aWxsCiAgICBjYWxsIGBwdXNoYCBy
|
1426
|
+
ZXBlYXRlZGx5IGZvciB5b3UuCgogICAgQG1ldGhvZCBwdXNoTWFueQogICAg
|
1427
|
+
QHBhcmFtIHtTdHJpbmd9IHR5cGUKICAgIEBwYXJhbSB7QXJyYXl9IGRhdGFz
|
1428
|
+
CiAgICBAcmV0dXJuIHtBcnJheTxEUy5Nb2RlbD59CiAgKi8KICBwdXNoTWFu
|
1429
|
+
eTogZnVuY3Rpb24odHlwZSwgZGF0YXMpIHsKICAgIHJldHVybiBtYXAoZGF0
|
1430
|
+
YXMsIGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgcmV0dXJuIHRoaXMucHVzaCh0
|
1431
|
+
eXBlLCBkYXRhKTsKICAgIH0sIHRoaXMpOwogIH0sCgogIC8qKgogICAgQnVp
|
1432
|
+
bGQgYSBicmFuZCBuZXcgcmVjb3JkIGZvciBhIGdpdmVuIHR5cGUsIElELCBh
|
1433
|
+
bmQKICAgIGluaXRpYWwgZGF0YS4KCiAgICBAbWV0aG9kIGJ1aWxkUmVjb3Jk
|
1434
|
+
CiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHtzdWJjbGFzcyBvZiBEUy5Nb2Rl
|
1435
|
+
bH0gdHlwZQogICAgQHBhcmFtIHtTdHJpbmd9IGlkCiAgICBAcGFyYW0ge09i
|
1436
|
+
amVjdH0gZGF0YQogICAgQHJldHVybnMgRFMuTW9kZWwKICAqLwogIGJ1aWxk
|
1437
|
+
UmVjb3JkOiBmdW5jdGlvbih0eXBlLCBpZCwgZGF0YSkgewogICAgdmFyIHR5
|
1438
|
+
cGVNYXAgPSB0aGlzLnR5cGVNYXBGb3IodHlwZSksCiAgICAgICAgaWRUb1Jl
|
1439
|
+
Y29yZCA9IHR5cGVNYXAuaWRUb1JlY29yZDsKCiAgICBFbWJlci5hc3NlcnQo
|
1440
|
+
J1RoZSBpZCAnICsgaWQgKyAnIGhhcyBhbHJlYWR5IGJlZW4gdXNlZCB3aXRo
|
1441
|
+
IGFub3RoZXIgcmVjb3JkIG9mIHR5cGUgJyArIHR5cGUudG9TdHJpbmcoKSAr
|
1442
|
+
ICcuJywgIWlkIHx8ICFpZFRvUmVjb3JkW2lkXSk7CgogICAgdmFyIHJlY29y
|
1443
|
+
ZCA9IHR5cGUuX2NyZWF0ZSh7CiAgICAgIGlkOiBpZCwKICAgICAgc3RvcmU6
|
1444
|
+
IHRoaXMsCiAgICB9KTsKCiAgICBpZiAoZGF0YSkgewogICAgICByZWNvcmQu
|
1445
|
+
c2V0dXBEYXRhKGRhdGEpOwogICAgfQoKICAgIC8vIGlmIHdlJ3JlIGNyZWF0
|
1446
|
+
aW5nIGFuIGl0ZW0sIHRoaXMgcHJvY2VzcyB3aWxsIGJlIGRvbmUKICAgIC8v
|
1447
|
+
IGxhdGVyLCBvbmNlIHRoZSBvYmplY3QgaGFzIGJlZW4gcGVyc2lzdGVkLgog
|
1448
|
+
ICAgaWYgKGlkKSB7CiAgICAgIGlkVG9SZWNvcmRbaWRdID0gcmVjb3JkOwog
|
1449
|
+
ICAgfQoKICAgIHR5cGVNYXAucmVjb3Jkcy5wdXNoKHJlY29yZCk7CgogICAg
|
1450
|
+
cmV0dXJuIHJlY29yZDsKICB9LAoKICAvLyAuLi4uLi4uLi4uLi4uLi4KICAv
|
1451
|
+
LyAuIERFU1RSVUNUSU9OIC4KICAvLyAuLi4uLi4uLi4uLi4uLi4KCiAgLyoq
|
1452
|
+
CiAgICBXaGVuIGEgcmVjb3JkIGlzIGRlc3Ryb3llZCwgdGhpcyB1bi1pbmRl
|
1453
|
+
eGVzIGl0IGFuZAogICAgcmVtb3ZlcyBpdCBmcm9tIGFueSByZWNvcmQgYXJy
|
1454
|
+
YXlzIHNvIGl0IGNhbiBiZSBHQ2VkLgoKICAgIEBtZXRob2QgZGVtYXRlcmlh
|
1455
|
+
bGl6ZVJlY29yZAogICAgQHByaXZhdGUKICAgIEBwYXJhbSB7RFMuTW9kZWx9
|
1456
|
+
IHJlY29yZAogICovCiAgZGVtYXRlcmlhbGl6ZVJlY29yZDogZnVuY3Rpb24o
|
1457
|
+
cmVjb3JkKSB7CiAgICB2YXIgdHlwZSA9IHJlY29yZC5jb25zdHJ1Y3RvciwK
|
1458
|
+
ICAgICAgICB0eXBlTWFwID0gdGhpcy50eXBlTWFwRm9yKHR5cGUpLAogICAg
|
1459
|
+
ICAgIGlkID0gZ2V0KHJlY29yZCwgJ2lkJyk7CgogICAgcmVjb3JkLnVwZGF0
|
1460
|
+
ZVJlY29yZEFycmF5cygpOwoKICAgIGlmIChpZCkgewogICAgICBkZWxldGUg
|
1461
|
+
dHlwZU1hcC5pZFRvUmVjb3JkW2lkXTsKICAgIH0KCiAgICB2YXIgbG9jID0g
|
1462
|
+
aW5kZXhPZih0eXBlTWFwLnJlY29yZHMsIHJlY29yZCk7CiAgICB0eXBlTWFw
|
1463
|
+
LnJlY29yZHMuc3BsaWNlKGxvYywgMSk7CiAgfSwKCiAgLy8gLi4uLi4uLi4u
|
1464
|
+
Li4uLi4uLi4uLi4uLi4uCiAgLy8gLiBSRUxBVElPTlNISVAgQ0hBTkdFUyAu
|
1465
|
+
CiAgLy8gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgogIGFkZFJlbGF0aW9u
|
1466
|
+
c2hpcENoYW5nZUZvcjogZnVuY3Rpb24oY2hpbGRSZWNvcmQsIGNoaWxkS2V5
|
1467
|
+
LCBwYXJlbnRSZWNvcmQsIHBhcmVudEtleSwgY2hhbmdlKSB7CiAgICB2YXIg
|
1468
|
+
Y2xpZW50SWQgPSBjaGlsZFJlY29yZC5jbGllbnRJZCwKICAgICAgICBwYXJl
|
1469
|
+
bnRDbGllbnRJZCA9IHBhcmVudFJlY29yZCA/IHBhcmVudFJlY29yZCA6IHBh
|
1470
|
+
cmVudFJlY29yZDsKICAgIHZhciBrZXkgPSBjaGlsZEtleSArIHBhcmVudEtl
|
1471
|
+
eTsKICAgIHZhciBjaGFuZ2VzID0gdGhpcy5fcmVsYXRpb25zaGlwQ2hhbmdl
|
1472
|
+
czsKICAgIGlmICghKGNsaWVudElkIGluIGNoYW5nZXMpKSB7CiAgICAgIGNo
|
1473
|
+
YW5nZXNbY2xpZW50SWRdID0ge307CiAgICB9CiAgICBpZiAoIShwYXJlbnRD
|
1474
|
+
bGllbnRJZCBpbiBjaGFuZ2VzW2NsaWVudElkXSkpIHsKICAgICAgY2hhbmdl
|
1475
|
+
c1tjbGllbnRJZF1bcGFyZW50Q2xpZW50SWRdID0ge307CiAgICB9CiAgICBp
|
1476
|
+
ZiAoIShrZXkgaW4gY2hhbmdlc1tjbGllbnRJZF1bcGFyZW50Q2xpZW50SWRd
|
1477
|
+
KSkgewogICAgICBjaGFuZ2VzW2NsaWVudElkXVtwYXJlbnRDbGllbnRJZF1b
|
1478
|
+
a2V5XSA9IHt9OwogICAgfQogICAgY2hhbmdlc1tjbGllbnRJZF1bcGFyZW50
|
1479
|
+
Q2xpZW50SWRdW2tleV1bY2hhbmdlLmNoYW5nZVR5cGVdID0gY2hhbmdlOwog
|
1480
|
+
IH0sCgogIHJlbW92ZVJlbGF0aW9uc2hpcENoYW5nZUZvcjogZnVuY3Rpb24o
|
1481
|
+
Y2xpZW50UmVjb3JkLCBjaGlsZEtleSwgcGFyZW50UmVjb3JkLCBwYXJlbnRL
|
1482
|
+
ZXksIHR5cGUpIHsKICAgIHZhciBjbGllbnRJZCA9IGNsaWVudFJlY29yZC5j
|
1483
|
+
bGllbnRJZCwKICAgICAgICBwYXJlbnRDbGllbnRJZCA9IHBhcmVudFJlY29y
|
1484
|
+
ZCA/IHBhcmVudFJlY29yZC5jbGllbnRJZCA6IHBhcmVudFJlY29yZDsKICAg
|
1485
|
+
IHZhciBjaGFuZ2VzID0gdGhpcy5fcmVsYXRpb25zaGlwQ2hhbmdlczsKICAg
|
1486
|
+
IHZhciBrZXkgPSBjaGlsZEtleSArIHBhcmVudEtleTsKICAgIGlmICghKGNs
|
1487
|
+
aWVudElkIGluIGNoYW5nZXMpIHx8ICEocGFyZW50Q2xpZW50SWQgaW4gY2hh
|
1488
|
+
bmdlc1tjbGllbnRJZF0pIHx8ICEoa2V5IGluIGNoYW5nZXNbY2xpZW50SWRd
|
1489
|
+
W3BhcmVudENsaWVudElkXSkpewogICAgICByZXR1cm47CiAgICB9CiAgICBk
|
1490
|
+
ZWxldGUgY2hhbmdlc1tjbGllbnRJZF1bcGFyZW50Q2xpZW50SWRdW2tleV1b
|
1491
|
+
dHlwZV07CiAgfSwKCiAgcmVsYXRpb25zaGlwQ2hhbmdlUGFpcnNGb3I6IGZ1
|
1492
|
+
bmN0aW9uKHJlY29yZCl7CiAgICB2YXIgdG9SZXR1cm4gPSBbXTsKCiAgICBp
|
1493
|
+
ZiggIXJlY29yZCApIHsgcmV0dXJuIHRvUmV0dXJuOyB9CgogICAgLy9UT0RP
|
1494
|
+
KElnb3IpIFdoYXQgYWJvdXQgdGhlIG90aGVyIHNpZGUKICAgIHZhciBjaGFu
|
1495
|
+
Z2VzT2JqZWN0ID0gdGhpcy5fcmVsYXRpb25zaGlwQ2hhbmdlc1tyZWNvcmQu
|
1496
|
+
Y2xpZW50SWRdOwogICAgZm9yICh2YXIgb2JqS2V5IGluIGNoYW5nZXNPYmpl
|
1497
|
+
Y3QpewogICAgICBpZihjaGFuZ2VzT2JqZWN0Lmhhc093blByb3BlcnR5KG9i
|
1498
|
+
aktleSkpewogICAgICAgIGZvciAodmFyIGNoYW5nZUtleSBpbiBjaGFuZ2Vz
|
1499
|
+
T2JqZWN0W29iaktleV0pewogICAgICAgICAgaWYoY2hhbmdlc09iamVjdFtv
|
1500
|
+
YmpLZXldLmhhc093blByb3BlcnR5KGNoYW5nZUtleSkpewogICAgICAgICAg
|
1501
|
+
ICB0b1JldHVybi5wdXNoKGNoYW5nZXNPYmplY3Rbb2JqS2V5XVtjaGFuZ2VL
|
1502
|
+
ZXldKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAg
|
1503
|
+
IHJldHVybiB0b1JldHVybjsKICB9LAoKICAvLyAuLi4uLi4uLi4uLi4uLi4u
|
1504
|
+
Li4uLi4uCiAgLy8gLiBQRVItVFlQRSBBREFQVEVSUwogIC8vIC4uLi4uLi4u
|
1505
|
+
Li4uLi4uLi4uLi4uLi4KCiAgLyoqCiAgICBSZXR1cm5zIHRoZSBhZGFwdGVy
|
1506
|
+
IGZvciBhIGdpdmVuIHR5cGUuCgogICAgQG1ldGhvZCBhZGFwdGVyRm9yVHlw
|
1507
|
+
ZQogICAgQHByaXZhdGUKICAgIEBwYXJhbSB7c3ViY2xhc3Mgb2YgRFMuTW9k
|
1508
|
+
ZWx9IHR5cGUKICAgIEByZXR1cm5zIERTLkFkYXB0ZXIKICAqLwogIGFkYXB0
|
1509
|
+
ZXJGb3JUeXBlOiBmdW5jdGlvbih0eXBlKSB7CiAgICB2YXIgY29udGFpbmVy
|
1510
|
+
ID0gdGhpcy5jb250YWluZXIsIGFkYXB0ZXI7CgogICAgaWYgKGNvbnRhaW5l
|
1511
|
+
cikgewogICAgICBhZGFwdGVyID0gY29udGFpbmVyLmxvb2t1cCgnYWRhcHRl
|
1512
|
+
cjonICsgdHlwZS50eXBlS2V5KSB8fCBjb250YWluZXIubG9va3VwKCdhZGFw
|
1513
|
+
dGVyOmFwcGxpY2F0aW9uJyk7CiAgICB9CgogICAgcmV0dXJuIGFkYXB0ZXIg
|
1514
|
+
fHwgZ2V0KHRoaXMsICdfYWRhcHRlcicpOwogIH0sCgogIC8vIC4uLi4uLi4u
|
1515
|
+
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLgogIC8vIC4gUkVDT1JEIENIQU5HRSBO
|
1516
|
+
T1RJRklDQVRJT04gLgogIC8vIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
|
1517
|
+
Li4uLgoKICAvKioKICAgIFJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIHNl
|
1518
|
+
cmlhbGl6ZXIgZm9yIGEgZ2l2ZW4gdHlwZS4gRm9yCiAgICBleGFtcGxlLCBg
|
1519
|
+
c2VyaWFsaXplckZvcigncGVyc29uJylgIHdpbGwgcmV0dXJuIGFuIGluc3Rh
|
1520
|
+
bmNlIG9mCiAgICBgQXBwLlBlcnNvblNlcmlhbGl6ZXJgLgoKICAgIElmIG5v
|
1521
|
+
IGBBcHAuUGVyc29uU2VyaWFsaXplcmAgaXMgZm91bmQsIHRoaXMgbWV0aG9k
|
1522
|
+
IHdpbGwgbG9vawogICAgZm9yIGFuIGBBcHAuQXBwbGljYXRpb25TZXJpYWxp
|
1523
|
+
emVyYCAodGhlIGRlZmF1bHQgc2VyaWFsaXplciBmb3IKICAgIHlvdXIgZW50
|
1524
|
+
aXJlIGFwcGxpY2F0aW9uKS4KCiAgICBJZiBubyBgQXBwLkFwcGxpY2F0aW9u
|
1525
|
+
U2VyaWFsaXplcmAgaXMgZm91bmQsIGl0IHdpbGwgZmFsbCBiYWNrCiAgICB0
|
1526
|
+
byBhbiBpbnN0YW5jZSBvZiBgRFMuSlNPTlNlcmlhbGl6ZXJgLgoKICAgIEBt
|
1527
|
+
ZXRob2Qgc2VyaWFsaXplckZvcgogICAgQHByaXZhdGUKICAgIEBwYXJhbSB7
|
1528
|
+
U3RyaW5nfSB0eXBlIHRoZSByZWNvcmQgdG8gc2VyaWFsaXplCiAgKi8KICBz
|
1529
|
+
ZXJpYWxpemVyRm9yOiBmdW5jdGlvbih0eXBlKSB7CiAgICB2YXIgY29udGFp
|
1530
|
+
bmVyID0gdGhpcy5jb250YWluZXI7CgogICAgLy8gVE9ETzogTWFrZSB0ZXN0
|
1531
|
+
cyBwYXNzIHdpdGhvdXQgdGhpcwoKICAgIGlmICghY29udGFpbmVyKSB7CiAg
|
1532
|
+
ICAgIHJldHVybiBEUy5KU09OU2VyaWFsaXplci5jcmVhdGUoeyBzdG9yZTog
|
1533
|
+
dGhpcyB9KTsKICAgIH0KCiAgICByZXR1cm4gY29udGFpbmVyLmxvb2t1cCgn
|
1534
|
+
c2VyaWFsaXplcjonK3R5cGUpIHx8CiAgICAgICAgICAgY29udGFpbmVyLmxv
|
1535
|
+
b2t1cCgnc2VyaWFsaXplcjphcHBsaWNhdGlvbicpIHx8CiAgICAgICAgICAg
|
1536
|
+
Y29udGFpbmVyLmxvb2t1cCgnc2VyaWFsaXplcjpfZGVmYXVsdCcpOwogIH0K
|
1537
|
+
fSk7CgovLyBEZWxlZ2F0aW9uIHRvIHRoZSBhZGFwdGVyIGFuZCBwcm9taXNl
|
1538
|
+
IG1hbmFnZW1lbnQKCkRTLlByb21pc2VBcnJheSA9IEVtYmVyLkFycmF5UHJv
|
1539
|
+
eHkuZXh0ZW5kKEVtYmVyLlByb21pc2VQcm94eU1peGluKTsKRFMuUHJvbWlz
|
1540
|
+
ZU9iamVjdCA9IEVtYmVyLk9iamVjdFByb3h5LmV4dGVuZChFbWJlci5Qcm9t
|
1541
|
+
aXNlUHJveHlNaXhpbik7CgpmdW5jdGlvbiBwcm9taXNlT2JqZWN0KHByb21p
|
1542
|
+
c2UpIHsKICByZXR1cm4gRFMuUHJvbWlzZU9iamVjdC5jcmVhdGUoeyBwcm9t
|
1543
|
+
aXNlOiBwcm9taXNlIH0pOwp9CgpmdW5jdGlvbiBwcm9taXNlQXJyYXkocHJv
|
1544
|
+
bWlzZSkgewogIHJldHVybiBEUy5Qcm9taXNlQXJyYXkuY3JlYXRlKHsgcHJv
|
1545
|
+
bWlzZTogcHJvbWlzZSB9KTsKfQoKZnVuY3Rpb24gaXNUaGVuYWJsZShvYmpl
|
1546
|
+
Y3QpIHsKICByZXR1cm4gb2JqZWN0ICYmIHR5cGVvZiBvYmplY3QudGhlbiA9
|
1547
|
+
PT0gJ2Z1bmN0aW9uJzsKfQoKZnVuY3Rpb24gc2VyaWFsaXplckZvcihhZGFw
|
1548
|
+
dGVyLCB0eXBlKSB7CiAgdmFyIHNlcmlhbGl6ZXIgPSBhZGFwdGVyLnNlcmlh
|
1549
|
+
bGl6ZXIsCiAgICAgIGRlZmF1bHRTZXJpYWxpemVyID0gYWRhcHRlci5kZWZh
|
1550
|
+
dWx0U2VyaWFsaXplciwKICAgICAgY29udGFpbmVyID0gYWRhcHRlci5jb250
|
1551
|
+
YWluZXI7CgogIGlmIChjb250YWluZXIgJiYgc2VyaWFsaXplciA9PT0gdW5k
|
1552
|
+
ZWZpbmVkKSB7CiAgICBzZXJpYWxpemVyID0gY29udGFpbmVyLmxvb2t1cCgn
|
1553
|
+
c2VyaWFsaXplcjonK3R5cGUudHlwZUtleSkgfHwKICAgICAgICAgICAgICAg
|
1554
|
+
ICBjb250YWluZXIubG9va3VwKCdzZXJpYWxpemVyOmFwcGxpY2F0aW9uJykg
|
1555
|
+
fHwKICAgICAgICAgICAgICAgICBjb250YWluZXIubG9va3VwKCdzZXJpYWxp
|
1556
|
+
emVyOicgKyBkZWZhdWx0U2VyaWFsaXplciB8fCAnc2VyaWFsaXplcjpfZGVm
|
1557
|
+
YXVsdCcpOwogIH0KCiAgaWYgKHNlcmlhbGl6ZXIgPT09IG51bGwgfHwgc2Vy
|
1558
|
+
aWFsaXplciA9PT0gdW5kZWZpbmVkKSB7CiAgICBzZXJpYWxpemVyID0gewog
|
1559
|
+
ICAgICBleHRyYWN0OiBmdW5jdGlvbihzdG9yZSwgdHlwZSwgcGF5bG9hZCkg
|
1560
|
+
eyByZXR1cm4gcGF5bG9hZDsgfQogICAgfTsKICB9CgogIHJldHVybiBzZXJp
|
1561
|
+
YWxpemVyOwp9CgpmdW5jdGlvbiBfZmluZChhZGFwdGVyLCBzdG9yZSwgdHlw
|
1562
|
+
ZSwgaWQsIHJlc29sdmVyKSB7CiAgdmFyIHByb21pc2UgPSBhZGFwdGVyLmZp
|
1563
|
+
bmQoc3RvcmUsIHR5cGUsIGlkKSwKICAgICAgc2VyaWFsaXplciA9IHNlcmlh
|
1564
|
+
bGl6ZXJGb3IoYWRhcHRlciwgdHlwZSk7CgogIHJldHVybiByZXNvbHZlKHBy
|
1565
|
+
b21pc2UpLnRoZW4oZnVuY3Rpb24ocGF5bG9hZCkgewogICAgRW1iZXIuYXNz
|
1566
|
+
ZXJ0KCJZb3UgbWFkZSBhIHJlcXVlc3QgZm9yIGEgIiArIHR5cGUudHlwZUtl
|
1567
|
+
eSArICIgd2l0aCBpZCAiICsgaWQgKyAiLCBidXQgdGhlIGFkYXB0ZXIncyBy
|
1568
|
+
ZXNwb25zZSBkaWQgbm90IGhhdmUgYW55IGRhdGEiLCBwYXlsb2FkKTsKICAg
|
1569
|
+
IHBheWxvYWQgPSBzZXJpYWxpemVyLmV4dHJhY3Qoc3RvcmUsIHR5cGUsIHBh
|
1570
|
+
eWxvYWQsIGlkLCAnZmluZCcpOwoKICAgIHJldHVybiBzdG9yZS5wdXNoKHR5
|
1571
|
+
cGUsIHBheWxvYWQpOwogIH0pLnRoZW4ocmVzb2x2ZXIucmVzb2x2ZSwgcmVz
|
1572
|
+
b2x2ZXIucmVqZWN0KTsKfQoKZnVuY3Rpb24gX2ZpbmRNYW55KGFkYXB0ZXIs
|
1573
|
+
IHN0b3JlLCB0eXBlLCBpZHMsIG93bmVyLCByZXNvbHZlcikgewogIHZhciBw
|
1574
|
+
cm9taXNlID0gYWRhcHRlci5maW5kTWFueShzdG9yZSwgdHlwZSwgaWRzLCBv
|
1575
|
+
d25lciksCiAgICAgIHNlcmlhbGl6ZXIgPSBzZXJpYWxpemVyRm9yKGFkYXB0
|
1576
|
+
ZXIsIHR5cGUpOwoKICByZXR1cm4gcmVzb2x2ZShwcm9taXNlKS50aGVuKGZ1
|
1577
|
+
bmN0aW9uKHBheWxvYWQpIHsKICAgIHBheWxvYWQgPSBzZXJpYWxpemVyLmV4
|
1578
|
+
dHJhY3Qoc3RvcmUsIHR5cGUsIHBheWxvYWQsIG51bGwsICdmaW5kTWFueScp
|
1579
|
+
OwoKICAgIHN0b3JlLnB1c2hNYW55KHR5cGUsIHBheWxvYWQpOwogIH0pLnRo
|
1580
|
+
ZW4ocmVzb2x2ZXIucmVzb2x2ZSwgcmVzb2x2ZXIucmVqZWN0KTsKfQoKZnVu
|
1581
|
+
Y3Rpb24gX2ZpbmRIYXNNYW55KGFkYXB0ZXIsIHN0b3JlLCByZWNvcmQsIGxp
|
1582
|
+
bmssIHJlbGF0aW9uc2hpcCwgcmVzb2x2ZXIpIHsKICB2YXIgcHJvbWlzZSA9
|
1583
|
+
IGFkYXB0ZXIuZmluZEhhc01hbnkoc3RvcmUsIHJlY29yZCwgbGluaywgcmVs
|
1584
|
+
YXRpb25zaGlwKSwKICAgICAgc2VyaWFsaXplciA9IHNlcmlhbGl6ZXJGb3Io
|
1585
|
+
YWRhcHRlciwgcmVsYXRpb25zaGlwLnR5cGUpOwoKICByZXR1cm4gcmVzb2x2
|
1586
|
+
ZShwcm9taXNlKS50aGVuKGZ1bmN0aW9uKHBheWxvYWQpIHsKICAgIHBheWxv
|
1587
|
+
YWQgPSBzZXJpYWxpemVyLmV4dHJhY3Qoc3RvcmUsIHJlbGF0aW9uc2hpcC50
|
1588
|
+
eXBlLCBwYXlsb2FkLCBudWxsLCAnZmluZEhhc01hbnknKTsKCiAgICB2YXIg
|
1589
|
+
cmVjb3JkcyA9IHN0b3JlLnB1c2hNYW55KHJlbGF0aW9uc2hpcC50eXBlLCBw
|
1590
|
+
YXlsb2FkKTsKICAgIHJlY29yZC51cGRhdGVIYXNNYW55KHJlbGF0aW9uc2hp
|
1591
|
+
cC5rZXksIHJlY29yZHMpOwogIH0pLnRoZW4ocmVzb2x2ZXIucmVzb2x2ZSwg
|
1592
|
+
cmVzb2x2ZXIucmVqZWN0KTsKfQoKZnVuY3Rpb24gX2ZpbmRBbGwoYWRhcHRl
|
1593
|
+
ciwgc3RvcmUsIHR5cGUsIHNpbmNlVG9rZW4sIHJlc29sdmVyKSB7CiAgdmFy
|
1594
|
+
IHByb21pc2UgPSBhZGFwdGVyLmZpbmRBbGwoc3RvcmUsIHR5cGUsIHNpbmNl
|
1595
|
+
VG9rZW4pLAogICAgICBzZXJpYWxpemVyID0gc2VyaWFsaXplckZvcihhZGFw
|
1596
|
+
dGVyLCB0eXBlKTsKCiAgcmV0dXJuIHJlc29sdmUocHJvbWlzZSkudGhlbihm
|
1597
|
+
dW5jdGlvbihwYXlsb2FkKSB7CiAgICBwYXlsb2FkID0gc2VyaWFsaXplci5l
|
1598
|
+
eHRyYWN0KHN0b3JlLCB0eXBlLCBwYXlsb2FkLCBudWxsLCAnZmluZEFsbCcp
|
1599
|
+
OwoKICAgIHN0b3JlLnB1c2hNYW55KHR5cGUsIHBheWxvYWQpOwogICAgc3Rv
|
1600
|
+
cmUuZGlkVXBkYXRlQWxsKHR5cGUpOwogICAgcmV0dXJuIHN0b3JlLmFsbCh0
|
1601
|
+
eXBlKTsKICB9KS50aGVuKHJlc29sdmVyLnJlc29sdmUsIHJlc29sdmVyLnJl
|
1602
|
+
amVjdCk7Cn0KCmZ1bmN0aW9uIF9maW5kUXVlcnkoYWRhcHRlciwgc3RvcmUs
|
1603
|
+
IHR5cGUsIHF1ZXJ5LCByZWNvcmRBcnJheSwgcmVzb2x2ZXIpIHsKICB2YXIg
|
1604
|
+
cHJvbWlzZSA9IGFkYXB0ZXIuZmluZFF1ZXJ5KHN0b3JlLCB0eXBlLCBxdWVy
|
1605
|
+
eSwgcmVjb3JkQXJyYXkpLAogICAgICBzZXJpYWxpemVyID0gc2VyaWFsaXpl
|
1606
|
+
ckZvcihhZGFwdGVyLCB0eXBlKTsKCiAgcmV0dXJuIHJlc29sdmUocHJvbWlz
|
1607
|
+
ZSkudGhlbihmdW5jdGlvbihwYXlsb2FkKSB7CiAgICBwYXlsb2FkID0gc2Vy
|
1608
|
+
aWFsaXplci5leHRyYWN0KHN0b3JlLCB0eXBlLCBwYXlsb2FkLCBudWxsLCAn
|
1609
|
+
ZmluZEFsbCcpOwoKICAgIHJlY29yZEFycmF5LmxvYWQocGF5bG9hZCk7CiAg
|
1610
|
+
ICByZXR1cm4gcmVjb3JkQXJyYXk7CiAgfSkudGhlbihyZXNvbHZlci5yZXNv
|
1611
|
+
bHZlLCByZXNvbHZlci5yZWplY3QpOwp9CgpmdW5jdGlvbiBfY29tbWl0KGFk
|
1612
|
+
YXB0ZXIsIHN0b3JlLCBvcGVyYXRpb24sIHJlY29yZCwgcmVzb2x2ZXIpIHsK
|
1613
|
+
ICB2YXIgdHlwZSA9IHJlY29yZC5jb25zdHJ1Y3RvciwKICAgICAgcHJvbWlz
|
1614
|
+
ZSA9IGFkYXB0ZXJbb3BlcmF0aW9uXShzdG9yZSwgdHlwZSwgcmVjb3JkKSwK
|
1615
|
+
ICAgICAgc2VyaWFsaXplciA9IHNlcmlhbGl6ZXJGb3IoYWRhcHRlciwgdHlw
|
1616
|
+
ZSk7CgogIEVtYmVyLmFzc2VydCgiWW91ciBhZGFwdGVyJ3MgJyIgKyBvcGVy
|
1617
|
+
YXRpb24gKyAiJyBtZXRob2QgbXVzdCByZXR1cm4gYSBwcm9taXNlLCBidXQg
|
1618
|
+
aXQgcmV0dXJuZWQgIiArIHByb21pc2UsIGlzVGhlbmFibGUocHJvbWlzZSkp
|
1619
|
+
OwoKICByZXR1cm4gcHJvbWlzZS50aGVuKGZ1bmN0aW9uKHBheWxvYWQpIHsK
|
1620
|
+
ICAgIHBheWxvYWQgPSBzZXJpYWxpemVyLmV4dHJhY3Qoc3RvcmUsIHR5cGUs
|
1621
|
+
IHBheWxvYWQsIGdldChyZWNvcmQsICdpZCcpLCBvcGVyYXRpb24pOwogICAg
|
1622
|
+
c3RvcmUuZGlkU2F2ZVJlY29yZChyZWNvcmQsIHBheWxvYWQpOwogICAgcmV0
|
1623
|
+
dXJuIHJlY29yZDsKICB9LCBmdW5jdGlvbihyZWFzb24pIHsKICAgIGlmIChy
|
1624
|
+
ZWFzb24gaW5zdGFuY2VvZiBEUy5JbnZhbGlkRXJyb3IpIHsKICAgICAgc3Rv
|
1625
|
+
cmUucmVjb3JkV2FzSW52YWxpZChyZWNvcmQsIHJlYXNvbi5lcnJvcnMpOwog
|
1626
|
+
ICAgfSBlbHNlIHsKICAgICAgc3RvcmUucmVjb3JkV2FzRXJyb3IocmVjb3Jk
|
1627
|
+
LCByZWFzb24pOwogICAgfQoKICAgIHRocm93IHJlYXNvbjsKICB9KS50aGVu
|
1628
|
+
KHJlc29sdmVyLnJlc29sdmUsIHJlc29sdmVyLnJlamVjdCk7Cn0KCn0pKCk7
|
1629
|
+
CgoKCihmdW5jdGlvbigpIHsKLyoqCiAgQG1vZHVsZSBlbWJlci1kYXRhCiov
|
1630
|
+
Cgp2YXIgZ2V0ID0gRW1iZXIuZ2V0LCBzZXQgPSBFbWJlci5zZXQsCiAgICBv
|
1631
|
+
bmNlID0gRW1iZXIucnVuLm9uY2UsIGFycmF5TWFwID0gRW1iZXIuQXJyYXlQ
|
1632
|
+
b2x5ZmlsbHMubWFwOwoKLyoKICBXQVJOSU5HOiBNdWNoIG9mIHRoZXNlIGRv
|
1633
|
+
Y3MgYXJlIGluYWNjdXJhdGUgYXMgb2YgYmY4NDk3LgoKICBUaGlzIGZpbGUg
|
1634
|
+
ZW5jYXBzdWxhdGVzIHRoZSB2YXJpb3VzIHN0YXRlcyB0aGF0IGEgcmVjb3Jk
|
1635
|
+
IGNhbiB0cmFuc2l0aW9uCiAgdGhyb3VnaCBkdXJpbmcgaXRzIGxpZmVjeWNs
|
1636
|
+
ZS4KCiAgIyMjIFN0YXRlIE1hbmFnZXIKCiAgQSByZWNvcmQncyBzdGF0ZSBt
|
1637
|
+
YW5hZ2VyIGV4cGxpY2l0bHkgdHJhY2tzIHdoYXQgc3RhdGUgYSByZWNvcmQg
|
1638
|
+
aXMgaW4KICBhdCBhbnkgZ2l2ZW4gdGltZS4gRm9yIGluc3RhbmNlLCBpZiBh
|
1639
|
+
IHJlY29yZCBpcyBuZXdseSBjcmVhdGVkIGFuZCBoYXMKICBub3QgeWV0IGJl
|
1640
|
+
ZW4gc2VudCB0byB0aGUgYWRhcHRlciB0byBiZSBzYXZlZCwgaXQgd291bGQg
|
1641
|
+
YmUgaW4gdGhlCiAgYGNyZWF0ZWQudW5jb21taXR0ZWRgIHN0YXRlLiAgSWYg
|
1642
|
+
YSByZWNvcmQgaGFzIGhhZCBsb2NhbCBtb2RpZmljYXRpb25zCiAgbWFkZSB0
|
1643
|
+
byBpdCB0aGF0IGFyZSBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZyBzYXZlZCwg
|
1644
|
+
dGhlIHJlY29yZCB3b3VsZCBiZQogIGluIHRoZSBgdXBkYXRlZC5pbkZsaWdo
|
1645
|
+
dGAgc3RhdGUuIChUaGVzZSBzdGF0ZSBwYXRocyB3aWxsIGJlIGV4cGxhaW5l
|
1646
|
+
ZAogIGluIG1vcmUgZGV0YWlsIGJlbG93LikKCiAgRXZlbnRzIGFyZSBzZW50
|
1647
|
+
IGJ5IHRoZSByZWNvcmQgb3IgaXRzIHN0b3JlIHRvIHRoZSByZWNvcmQncyBz
|
1648
|
+
dGF0ZSBtYW5hZ2VyLgogIEhvdyB0aGUgc3RhdGUgbWFuYWdlciByZWFjdHMg
|
1649
|
+
dG8gdGhlc2UgZXZlbnRzIGlzIGRlcGVuZGVudCBvbiB3aGljaCBzdGF0ZQog
|
1650
|
+
IGl0IGlzIGluLiBJbiBzb21lIHN0YXRlcywgY2VydGFpbiBldmVudHMgd2ls
|
1651
|
+
bCBiZSBpbnZhbGlkIGFuZCB3aWxsIGNhdXNlCiAgYW4gZXhjZXB0aW9uIHRv
|
1652
|
+
IGJlIHJhaXNlZC4KCiAgU3RhdGVzIGFyZSBoaWVyYXJjaGljYWwuIEZvciBl
|
1653
|
+
eGFtcGxlLCBhIHJlY29yZCBjYW4gYmUgaW4gdGhlCiAgYGRlbGV0ZWQuc3Rh
|
1654
|
+
cnRgIHN0YXRlLCB0aGVuIHRyYW5zaXRpb24gaW50byB0aGUgYGRlbGV0ZWQu
|
1655
|
+
aW5GbGlnaHRgIHN0YXRlLgogIElmIGEgY2hpbGQgc3RhdGUgZG9lcyBub3Qg
|
1656
|
+
aW1wbGVtZW50IGFuIGV2ZW50IGhhbmRsZXIsIHRoZSBzdGF0ZSBtYW5hZ2Vy
|
1657
|
+
CiAgd2lsbCBhdHRlbXB0IHRvIGludm9rZSB0aGUgZXZlbnQgb24gYWxsIHBh
|
1658
|
+
cmVudCBzdGF0ZXMgdW50aWwgdGhlIHJvb3Qgc3RhdGUgaXMKICByZWFjaGVk
|
1659
|
+
LiBUaGUgc3RhdGUgaGllcmFyY2h5IG9mIGEgcmVjb3JkIGlzIGRlc2NyaWJl
|
1660
|
+
ZCBpbiB0ZXJtcyBvZiBhIHBhdGgKICBzdHJpbmcuIFlvdSBjYW4gZGV0ZXJt
|
1661
|
+
aW5lIGEgcmVjb3JkJ3MgY3VycmVudCBzdGF0ZSBieSBnZXR0aW5nIGl0cyBt
|
1662
|
+
YW5hZ2VyJ3MKICBjdXJyZW50IHN0YXRlIHBhdGg6CgogICAgICByZWNvcmQu
|
1663
|
+
Z2V0KCdzdGF0ZU1hbmFnZXIuY3VycmVudFBhdGgnKTsKICAgICAgLy89PiAi
|
1664
|
+
Y3JlYXRlZC51bmNvbW1pdHRlZCIKCiAgVGhlIGBEUy5Nb2RlbGAgc3RhdGVz
|
1665
|
+
IGFyZSB0aGVtc2VsdmVzIHN0YXRlbGVzcy4gV2hhdCB3ZSBtZWFuIGlzIHRo
|
1666
|
+
YXQsCiAgdGhvdWdoIGVhY2ggaW5zdGFuY2Ugb2YgYSByZWNvcmQgYWxzbyBo
|
1667
|
+
YXMgYSB1bmlxdWUgaW5zdGFuY2Ugb2YgYQogIGBEUy5TdGF0ZU1hbmFnZXJg
|
1668
|
+
LCB0aGUgaGllcmFyY2hpY2FsIHN0YXRlcyB0aGF0IGVhY2ggb2YgKnRob3Nl
|
1669
|
+
KiBwb2ludHMKICB0byBpcyBhIHNoYXJlZCBkYXRhIHN0cnVjdHVyZS4gRm9y
|
1670
|
+
IHBlcmZvcm1hbmNlIHJlYXNvbnMsIGluc3RlYWQgb2YgZWFjaAogIHJlY29y
|
1671
|
+
ZCBnZXR0aW5nIGl0cyBvd24gY29weSBvZiB0aGUgaGllcmFyY2h5IG9mIHN0
|
1672
|
+
YXRlcywgZWFjaCBzdGF0ZQogIG1hbmFnZXIgcG9pbnRzIHRvIHRoaXMgZ2xv
|
1673
|
+
YmFsLCBpbW11dGFibGUgc2hhcmVkIGluc3RhbmNlLiBIb3cgZG9lcyBhCiAg
|
1674
|
+
c3RhdGUga25vdyB3aGljaCByZWNvcmQgaXQgc2hvdWxkIGJlIGFjdGluZyBv
|
1675
|
+
bj8gIFdlIHBhc3MgYSByZWZlcmVuY2UgdG8KICB0aGUgY3VycmVudCBzdGF0
|
1676
|
+
ZSBtYW5hZ2VyIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8gZXZlcnkgbWV0
|
1677
|
+
aG9kIGludm9rZWQKICBvbiBhIHN0YXRlLgoKICBUaGUgc3RhdGUgbWFuYWdl
|
1678
|
+
ciBwYXNzZWQgYXMgdGhlIGZpcnN0IHBhcmFtZXRlciBpcyB3aGVyZSB5b3Ug
|
1679
|
+
c2hvdWxkIHN0YXNoCiAgc3RhdGUgYWJvdXQgdGhlIHJlY29yZCBpZiBuZWVk
|
1680
|
+
ZWQ7IHlvdSBzaG91bGQgbmV2ZXIgc3RvcmUgZGF0YSBvbiB0aGUgc3RhdGUK
|
1681
|
+
ICBvYmplY3QgaXRzZWxmLiBJZiB5b3UgbmVlZCBhY2Nlc3MgdG8gdGhlIHJl
|
1682
|
+
Y29yZCBiZWluZyBhY3RlZCBvbiwgeW91IGNhbgogIHJldHJpZXZlIHRoZSBz
|
1683
|
+
dGF0ZSBtYW5hZ2VyJ3MgYHJlY29yZGAgcHJvcGVydHkuIEZvciBleGFtcGxl
|
1684
|
+
LCBpZiB5b3UgaGFkCiAgYW4gZXZlbnQgaGFuZGxlciBgbXlFdmVudGA6Cgog
|
1685
|
+
ICAgICBteUV2ZW50OiBmdW5jdGlvbihtYW5hZ2VyKSB7CiAgICAgICAgdmFy
|
1686
|
+
IHJlY29yZCA9IG1hbmFnZXIuZ2V0KCdyZWNvcmQnKTsKICAgICAgICByZWNv
|
1687
|
+
cmQuZG9Tb21ldGhpbmcoKTsKICAgICAgfQoKICBGb3IgbW9yZSBpbmZvcm1h
|
1688
|
+
dGlvbiBhYm91dCBzdGF0ZSBtYW5hZ2VycyBpbiBnZW5lcmFsLCBzZWUgdGhl
|
1689
|
+
IEVtYmVyLmpzCiAgZG9jdW1lbnRhdGlvbiBvbiBgRW1iZXIuU3RhdGVNYW5h
|
1690
|
+
Z2VyYC4KCiAgIyMjIEV2ZW50cywgRmxhZ3MsIGFuZCBUcmFuc2l0aW9ucwoK
|
1691
|
+
ICBBIHN0YXRlIG1heSBpbXBsZW1lbnQgemVybyBvciBtb3JlIGV2ZW50cywg
|
1692
|
+
ZmxhZ3MsIG9yIHRyYW5zaXRpb25zLgoKICAjIyMjIEV2ZW50cwoKICBFdmVu
|
1693
|
+
dHMgYXJlIG5hbWVkIGZ1bmN0aW9ucyB0aGF0IGFyZSBpbnZva2VkIHdoZW4g
|
1694
|
+
c2VudCB0byBhIHJlY29yZC4gVGhlCiAgc3RhdGUgbWFuYWdlciB3aWxsIGZp
|
1695
|
+
cnN0IGxvb2sgZm9yIGEgbWV0aG9kIHdpdGggdGhlIGdpdmVuIG5hbWUgb24g
|
1696
|
+
dGhlCiAgY3VycmVudCBzdGF0ZS4gSWYgbm8gbWV0aG9kIGlzIGZvdW5kLCBp
|
1697
|
+
dCB3aWxsIHNlYXJjaCB0aGUgY3VycmVudCBzdGF0ZSdzCiAgcGFyZW50LCBh
|
1698
|
+
bmQgdGhlbiBpdHMgZ3JhbmRwYXJlbnQsIGFuZCBzbyBvbiB1bnRpbCByZWFj
|
1699
|
+
aGluZyB0aGUgdG9wIG9mCiAgdGhlIGhpZXJhcmNoeS4gSWYgdGhlIHJvb3Qg
|
1700
|
+
aXMgcmVhY2hlZCB3aXRob3V0IGFuIGV2ZW50IGhhbmRsZXIgYmVpbmcgZm91
|
1701
|
+
bmQsCiAgYW4gZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2VkLiBUaGlzIGNhbiBi
|
1702
|
+
ZSB2ZXJ5IGhlbHBmdWwgd2hlbiBkZWJ1Z2dpbmcgbmV3CiAgZmVhdHVyZXMu
|
1703
|
+
CgogIEhlcmUncyBhbiBleGFtcGxlIGltcGxlbWVudGF0aW9uIG9mIGEgc3Rh
|
1704
|
+
dGUgd2l0aCBhIGBteUV2ZW50YCBldmVudCBoYW5kbGVyOgoKICAgICAgYVN0
|
1705
|
+
YXRlOiBEUy5TdGF0ZS5jcmVhdGUoewogICAgICAgIG15RXZlbnQ6IGZ1bmN0
|
1706
|
+
aW9uKG1hbmFnZXIsIHBhcmFtKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygi
|
1707
|
+
UmVjZWl2ZWQgbXlFdmVudCB3aXRoICIrcGFyYW0pOwogICAgICAgIH0KICAg
|
1708
|
+
ICAgfSkKCiAgVG8gdHJpZ2dlciB0aGlzIGV2ZW50OgoKICAgICAgcmVjb3Jk
|
1709
|
+
LnNlbmQoJ215RXZlbnQnLCAnZm9vJyk7CiAgICAgIC8vPT4gIlJlY2VpdmVk
|
1710
|
+
IG15RXZlbnQgd2l0aCBmb28iCgogIE5vdGUgdGhhdCBhbiBvcHRpb25hbCBw
|
1711
|
+
YXJhbWV0ZXIgY2FuIGJlIHNlbnQgdG8gYSByZWNvcmQncyBgc2VuZCgpYCBt
|
1712
|
+
ZXRob2QsCiAgd2hpY2ggd2lsbCBiZSBwYXNzZWQgYXMgdGhlIHNlY29uZCBw
|
1713
|
+
YXJhbWV0ZXIgdG8gdGhlIGV2ZW50IGhhbmRsZXIuCgogIEV2ZW50cyBzaG91
|
1714
|
+
bGQgdHJhbnNpdGlvbiB0byBhIGRpZmZlcmVudCBzdGF0ZSBpZiBhcHByb3By
|
1715
|
+
aWF0ZS4gVGhpcyBjYW4gYmUKICBkb25lIGJ5IGNhbGxpbmcgdGhlIHN0YXRl
|
1716
|
+
IG1hbmFnZXIncyBgdHJhbnNpdGlvblRvKClgIG1ldGhvZCB3aXRoIGEgcGF0
|
1717
|
+
aCB0byB0aGUKICBkZXNpcmVkIHN0YXRlLiBUaGUgc3RhdGUgbWFuYWdlciB3
|
1718
|
+
aWxsIGF0dGVtcHQgdG8gcmVzb2x2ZSB0aGUgc3RhdGUgcGF0aAogIHJlbGF0
|
1719
|
+
aXZlIHRvIHRoZSBjdXJyZW50IHN0YXRlLiBJZiBubyBzdGF0ZSBpcyBmb3Vu
|
1720
|
+
ZCBhdCB0aGF0IHBhdGgsIGl0IHdpbGwKICBhdHRlbXB0IHRvIHJlc29sdmUg
|
1721
|
+
aXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgc3RhdGUncyBwYXJlbnQsIGFu
|
1722
|
+
ZCB0aGVuIGl0cwogIHBhcmVudCwgYW5kIHNvIG9uIHVudGlsIHRoZSByb290
|
1723
|
+
IGlzIHJlYWNoZWQuIEZvciBleGFtcGxlLCBpbWFnaW5lIGEgaGllcmFyY2h5
|
1724
|
+
CiAgbGlrZSB0aGlzOgoKICAgICAgKiBjcmVhdGVkCiAgICAgICAgKiBzdGFy
|
1725
|
+
dCA8LS0gY3VycmVudFN0YXRlCiAgICAgICAgKiBpbkZsaWdodAogICAgICAq
|
1726
|
+
IHVwZGF0ZWQKICAgICAgICAqIGluRmxpZ2h0CgogIElmIHdlIGFyZSBjdXJy
|
1727
|
+
ZW50bHkgaW4gdGhlIGBzdGFydGAgc3RhdGUsIGNhbGxpbmcKICBgdHJhbnNp
|
1728
|
+
dGlvblRvKCdpbkZsaWdodCcpYCB3b3VsZCB0cmFuc2l0aW9uIHRvIHRoZSBg
|
1729
|
+
Y3JlYXRlZC5pbkZsaWdodGAgc3RhdGUsCiAgd2hpbGUgY2FsbGluZyBgdHJh
|
1730
|
+
bnNpdGlvblRvKCd1cGRhdGVkLmluRmxpZ2h0JylgIHdvdWxkIHRyYW5zaXRp
|
1731
|
+
b24gdG8KICB0aGUgYHVwZGF0ZWQuaW5GbGlnaHRgIHN0YXRlLgoKICBSZW1l
|
1732
|
+
bWJlciB0aGF0ICpvbmx5IGV2ZW50cyogc2hvdWxkIGV2ZXIgY2F1c2UgYSBz
|
1733
|
+
dGF0ZSB0cmFuc2l0aW9uLiBZb3Ugc2hvdWxkCiAgbmV2ZXIgY2FsbCBgdHJh
|
1734
|
+
bnNpdGlvblRvKClgIGZyb20gb3V0c2lkZSBhIHN0YXRlJ3MgZXZlbnQgaGFu
|
1735
|
+
ZGxlci4gSWYgeW91IGFyZQogIHRlbXB0ZWQgdG8gZG8gc28sIGNyZWF0ZSBh
|
1736
|
+
IG5ldyBldmVudCBhbmQgc2VuZCB0aGF0IHRvIHRoZSBzdGF0ZSBtYW5hZ2Vy
|
1737
|
+
LgoKICAjIyMjIEZsYWdzCgogIEZsYWdzIGFyZSBCb29sZWFuIHZhbHVlcyB0
|
1738
|
+
aGF0IGNhbiBiZSB1c2VkIHRvIGludHJvc3BlY3QgYSByZWNvcmQncyBjdXJy
|
1739
|
+
ZW50CiAgc3RhdGUgaW4gYSBtb3JlIHVzZXItZnJpZW5kbHkgd2F5IHRoYW4g
|
1740
|
+
ZXhhbWluaW5nIGl0cyBzdGF0ZSBwYXRoLiBGb3IgZXhhbXBsZSwKICBpbnN0
|
1741
|
+
ZWFkIG9mIGRvaW5nIHRoaXM6CgogICAgICB2YXIgc3RhdGVQYXRoID0gcmVj
|
1742
|
+
b3JkLmdldCgnc3RhdGVNYW5hZ2VyLmN1cnJlbnRQYXRoJyk7CiAgICAgIGlm
|
1743
|
+
IChzdGF0ZVBhdGggPT09ICdjcmVhdGVkLmluRmxpZ2h0JykgewogICAgICAg
|
1744
|
+
IGRvU29tZXRoaW5nKCk7CiAgICAgIH0KCiAgWW91IGNhbiBzYXk6CgogICAg
|
1745
|
+
ICBpZiAocmVjb3JkLmdldCgnaXNOZXcnKSAmJiByZWNvcmQuZ2V0KCdpc1Nh
|
1746
|
+
dmluZycpKSB7CiAgICAgICAgZG9Tb21ldGhpbmcoKTsKICAgICAgfQoKICBJ
|
1747
|
+
ZiB5b3VyIHN0YXRlIGRvZXMgbm90IHNldCBhIHZhbHVlIGZvciBhIGdpdmVu
|
1748
|
+
IGZsYWcsIHRoZSB2YWx1ZSB3aWxsCiAgYmUgaW5oZXJpdGVkIGZyb20gaXRz
|
1749
|
+
IHBhcmVudCAob3IgdGhlIGZpcnN0IHBsYWNlIGluIHRoZSBzdGF0ZSBoaWVy
|
1750
|
+
YXJjaHkKICB3aGVyZSBpdCBpcyBkZWZpbmVkKS4KCiAgVGhlIGN1cnJlbnQg
|
1751
|
+
c2V0IG9mIGZsYWdzIGFyZSBkZWZpbmVkIGJlbG93LiBJZiB5b3Ugd2FudCB0
|
1752
|
+
byBhZGQgYSBuZXcgZmxhZywKICBpbiBhZGRpdGlvbiB0byB0aGUgYXJlYSBi
|
1753
|
+
ZWxvdywgeW91IHdpbGwgYWxzbyBuZWVkIHRvIGRlY2xhcmUgaXQgaW4gdGhl
|
1754
|
+
CiAgYERTLk1vZGVsYCBjbGFzcy4KCiAgIyMjIyBUcmFuc2l0aW9ucwoKICBU
|
1755
|
+
cmFuc2l0aW9ucyBhcmUgbGlrZSBldmVudCBoYW5kbGVycyBidXQgYXJlIGNh
|
1756
|
+
bGxlZCBhdXRvbWF0aWNhbGx5IHVwb24KICBlbnRlcmluZyBvciBleGl0aW5n
|
1757
|
+
IGEgc3RhdGUuIFRvIGltcGxlbWVudCBhIHRyYW5zaXRpb24sIGp1c3QgY2Fs
|
1758
|
+
bCBhIG1ldGhvZAogIGVpdGhlciBgZW50ZXJgIG9yIGBleGl0YDoKCiAgICAg
|
1759
|
+
IG15U3RhdGU6IERTLlN0YXRlLmNyZWF0ZSh7CiAgICAgICAgLy8gR2V0cyBj
|
1760
|
+
YWxsZWQgYXV0b21hdGljYWxseSB3aGVuIGVudGVyaW5nCiAgICAgICAgLy8g
|
1761
|
+
dGhpcyBzdGF0ZS4KICAgICAgICBlbnRlcjogZnVuY3Rpb24obWFuYWdlcikg
|
1762
|
+
ewogICAgICAgICAgY29uc29sZS5sb2coIkVudGVyZWQgbXlTdGF0ZSIpOwog
|
1763
|
+
ICAgICAgIH0KICAgICAgfSkKCiAgTm90ZSB0aGF0IGVudGVyIGFuZCBleGl0
|
1764
|
+
IGV2ZW50cyBhcmUgY2FsbGVkIG9uY2UgcGVyIHRyYW5zaXRpb24uIElmIHRo
|
1765
|
+
ZQogIGN1cnJlbnQgc3RhdGUgY2hhbmdlcywgYnV0IGNoYW5nZXMgdG8gYW5v
|
1766
|
+
dGhlciBjaGlsZCBzdGF0ZSBvZiB0aGUgcGFyZW50LAogIHRoZSB0cmFuc2l0
|
1767
|
+
aW9uIGV2ZW50IG9uIHRoZSBwYXJlbnQgd2lsbCBub3QgYmUgdHJpZ2dlcmVk
|
1768
|
+
LgoqLwoKdmFyIGhhc0RlZmluZWRQcm9wZXJ0aWVzID0gZnVuY3Rpb24ob2Jq
|
1769
|
+
ZWN0KSB7CiAgLy8gSWdub3JlIGludGVybmFsIHByb3BlcnR5IGRlZmluZWQg
|
1770
|
+
Ynkgc2ltdWxhdGVkIGBFbWJlci5jcmVhdGVgLgogIHZhciBuYW1lcyA9IEVt
|
1771
|
+
YmVyLmtleXMob2JqZWN0KTsKICB2YXIgaSwgbCwgbmFtZTsKICBmb3IgKGkg
|
1772
|
+
PSAwLCBsID0gbmFtZXMubGVuZ3RoOyBpIDwgbDsgaSsrICkgewogICAgbmFt
|
1773
|
+
ZSA9IG5hbWVzW2ldOwogICAgaWYgKG9iamVjdC5oYXNPd25Qcm9wZXJ0eShu
|
1774
|
+
YW1lKSAmJiBvYmplY3RbbmFtZV0pIHsgcmV0dXJuIHRydWU7IH0KICB9Cgog
|
1775
|
+
IHJldHVybiBmYWxzZTsKfTsKCnZhciBkaWRTZXRQcm9wZXJ0eSA9IGZ1bmN0
|
1776
|
+
aW9uKHJlY29yZCwgY29udGV4dCkgewogIGlmIChjb250ZXh0LnZhbHVlICE9
|
1777
|
+
PSBjb250ZXh0Lm9sZFZhbHVlKSB7CiAgICByZWNvcmQuc2VuZCgnYmVjb21l
|
1778
|
+
RGlydHknKTsKICAgIHJlY29yZC51cGRhdGVSZWNvcmRBcnJheXNMYXRlcigp
|
1779
|
+
OwogIH0KfTsKCi8vIEltcGxlbWVudGF0aW9uIG5vdGVzOgovLwovLyBFYWNo
|
1780
|
+
IHN0YXRlIGhhcyBhIGJvb2xlYW4gdmFsdWUgZm9yIGFsbCBvZiB0aGUgZm9s
|
1781
|
+
bG93aW5nIGZsYWdzOgovLwovLyAqIGlzTG9hZGVkOiBUaGUgcmVjb3JkIGhh
|
1782
|
+
cyBhIHBvcHVsYXRlZCBgZGF0YWAgcHJvcGVydHkuIFdoZW4gYQovLyAgIHJl
|
1783
|
+
Y29yZCBpcyBsb2FkZWQgdmlhIGBzdG9yZS5maW5kYCwgYGlzTG9hZGVkYCBp
|
1784
|
+
cyBmYWxzZQovLyAgIHVudGlsIHRoZSBhZGFwdGVyIHNldHMgaXQuIFdoZW4g
|
1785
|
+
YSByZWNvcmQgaXMgY3JlYXRlZCBsb2NhbGx5LAovLyAgIGl0cyBgaXNMb2Fk
|
1786
|
+
ZWRgIHByb3BlcnR5IGlzIGFsd2F5cyB0cnVlLgovLyAqIGlzRGlydHk6IFRo
|
1787
|
+
ZSByZWNvcmQgaGFzIGxvY2FsIGNoYW5nZXMgdGhhdCBoYXZlIG5vdCB5ZXQg
|
1788
|
+
YmVlbgovLyAgIHNhdmVkIGJ5IHRoZSBhZGFwdGVyLiBUaGlzIGluY2x1ZGVz
|
1789
|
+
IHJlY29yZHMgdGhhdCBoYXZlIGJlZW4KLy8gICBjcmVhdGVkIChidXQgbm90
|
1790
|
+
IHlldCBzYXZlZCkgb3IgZGVsZXRlZC4KLy8gKiBpc1NhdmluZzogVGhlIHJl
|
1791
|
+
Y29yZCBoYXMgYmVlbiBjb21taXR0ZWQsIGJ1dAovLyAgIHRoZSBhZGFwdGVy
|
1792
|
+
IGhhcyBub3QgeWV0IGFja25vd2xlZGdlZCB0aGF0IHRoZSBjaGFuZ2VzIGhh
|
1793
|
+
dmUKLy8gICBiZWVuIHBlcnNpc3RlZCB0byB0aGUgYmFja2VuZC4KLy8gKiBp
|
1794
|
+
c0RlbGV0ZWQ6IFRoZSByZWNvcmQgd2FzIG1hcmtlZCBmb3IgZGVsZXRpb24u
|
1795
|
+
IFdoZW4gYGlzRGVsZXRlZGAKLy8gICBpcyB0cnVlIGFuZCBgaXNEaXJ0eWAg
|
1796
|
+
aXMgdHJ1ZSwgdGhlIHJlY29yZCBpcyBkZWxldGVkIGxvY2FsbHkKLy8gICBi
|
1797
|
+
dXQgdGhlIGRlbGV0aW9uIHdhcyBub3QgeWV0IHBlcnNpc3RlZC4gV2hlbiBg
|
1798
|
+
aXNTYXZpbmdgIGlzCi8vICAgdHJ1ZSwgdGhlIGNoYW5nZSBpcyBpbi1mbGln
|
1799
|
+
aHQuIFdoZW4gYm90aCBgaXNEaXJ0eWAgYW5kCi8vICAgYGlzU2F2aW5nYCBh
|
1800
|
+
cmUgZmFsc2UsIHRoZSBjaGFuZ2UgaGFzIHBlcnNpc3RlZC4KLy8gKiBpc0Vy
|
1801
|
+
cm9yOiBUaGUgYWRhcHRlciByZXBvcnRlZCB0aGF0IGl0IHdhcyB1bmFibGUg
|
1802
|
+
dG8gc2F2ZQovLyAgIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGJhY2tlbmQuIFRo
|
1803
|
+
aXMgbWF5IGFsc28gcmVzdWx0IGluIHRoZQovLyAgIHJlY29yZCBoYXZpbmcg
|
1804
|
+
aXRzIGBpc1ZhbGlkYCBwcm9wZXJ0eSBiZWNvbWUgZmFsc2UgaWYgdGhlCi8v
|
1805
|
+
ICAgYWRhcHRlciByZXBvcnRlZCB0aGF0IHNlcnZlci1zaWRlIHZhbGlkYXRp
|
1806
|
+
b25zIGZhaWxlZC4KLy8gKiBpc05ldzogVGhlIHJlY29yZCB3YXMgY3JlYXRl
|
1807
|
+
ZCBvbiB0aGUgY2xpZW50IGFuZCB0aGUgYWRhcHRlcgovLyAgIGRpZCBub3Qg
|
1808
|
+
eWV0IHJlcG9ydCB0aGF0IGl0IHdhcyBzdWNjZXNzZnVsbHkgc2F2ZWQuCi8v
|
1809
|
+
ICogaXNWYWxpZDogTm8gY2xpZW50LXNpZGUgdmFsaWRhdGlvbnMgaGF2ZSBm
|
1810
|
+
YWlsZWQgYW5kIHRoZQovLyAgIGFkYXB0ZXIgZGlkIG5vdCByZXBvcnQgYW55
|
1811
|
+
IHNlcnZlci1zaWRlIHZhbGlkYXRpb24gZmFpbHVyZXMuCgovLyBUaGUgZGly
|
1812
|
+
dHkgc3RhdGUgaXMgYSBhYnN0cmFjdCBzdGF0ZSB3aG9zZSBmdW5jdGlvbmFs
|
1813
|
+
aXR5IGlzCi8vIHNoYXJlZCBiZXR3ZWVuIHRoZSBgY3JlYXRlZGAgYW5kIGB1
|
1814
|
+
cGRhdGVkYCBzdGF0ZXMuCi8vCi8vIFRoZSBkZWxldGVkIHN0YXRlIHNoYXJl
|
1815
|
+
cyB0aGUgYGlzRGlydHlgIGZsYWcgd2l0aCB0aGUKLy8gc3ViY2xhc3NlcyBv
|
1816
|
+
ZiBgRGlydHlTdGF0ZWAsIGJ1dCB3aXRoIGEgdmVyeSBkaWZmZXJlbnQKLy8g
|
1817
|
+
aW1wbGVtZW50YXRpb24uCi8vCi8vIERpcnR5IHN0YXRlcyBoYXZlIHRocmVl
|
1818
|
+
IGNoaWxkIHN0YXRlczoKLy8KLy8gYHVuY29tbWl0dGVkYDogdGhlIHN0b3Jl
|
1819
|
+
IGhhcyBub3QgeWV0IGhhbmRlZCBvZmYgdGhlIHJlY29yZAovLyAgIHRvIGJl
|
1820
|
+
IHNhdmVkLgovLyBgaW5GbGlnaHRgOiB0aGUgc3RvcmUgaGFzIGhhbmRlZCBv
|
1821
|
+
ZmYgdGhlIHJlY29yZCB0byBiZSBzYXZlZCwKLy8gICBidXQgdGhlIGFkYXB0
|
1822
|
+
ZXIgaGFzIG5vdCB5ZXQgYWNrbm93bGVkZ2VkIHN1Y2Nlc3MuCi8vIGBpbnZh
|
1823
|
+
bGlkYDogdGhlIHJlY29yZCBoYXMgaW52YWxpZCBpbmZvcm1hdGlvbiBhbmQg
|
1824
|
+
Y2Fubm90IGJlCi8vICAgc2VuZCB0byB0aGUgYWRhcHRlciB5ZXQuCnZhciBE
|
1825
|
+
aXJ0eVN0YXRlID0gewogIGluaXRpYWxTdGF0ZTogJ3VuY29tbWl0dGVkJywK
|
1826
|
+
CiAgLy8gRkxBR1MKICBpc0RpcnR5OiB0cnVlLAoKICAvLyBTVUJTVEFURVMK
|
1827
|
+
CiAgLy8gV2hlbiBhIHJlY29yZCBmaXJzdCBiZWNvbWVzIGRpcnR5LCBpdCBp
|
1828
|
+
cyBgdW5jb21taXR0ZWRgLgogIC8vIFRoaXMgbWVhbnMgdGhhdCB0aGVyZSBh
|
1829
|
+
cmUgbG9jYWwgcGVuZGluZyBjaGFuZ2VzLCBidXQgdGhleQogIC8vIGhhdmUg
|
1830
|
+
bm90IHlldCBiZWd1biB0byBiZSBzYXZlZCwgYW5kIGFyZSBub3QgaW52YWxp
|
1831
|
+
ZC4KICB1bmNvbW1pdHRlZDogewoKICAgIC8vIEVWRU5UUwogICAgZGlkU2V0
|
1832
|
+
UHJvcGVydHk6IGRpZFNldFByb3BlcnR5LAoKICAgIHB1c2hlZERhdGE6IEVt
|
1833
|
+
YmVyLkssCgogICAgYmVjb21lRGlydHk6IEVtYmVyLkssCgogICAgd2lsbENv
|
1834
|
+
bW1pdDogZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAgIHJlY29yZC50cmFuc2l0
|
1835
|
+
aW9uVG8oJ2luRmxpZ2h0Jyk7CiAgICB9LAoKICAgIHJlbG9hZFJlY29yZDog
|
1836
|
+
ZnVuY3Rpb24ocmVjb3JkLCByZXNvbHZlcikgewogICAgICBnZXQocmVjb3Jk
|
1837
|
+
LCAnc3RvcmUnKS5yZWxvYWRSZWNvcmQocmVjb3JkLCByZXNvbHZlcik7CiAg
|
1838
|
+
ICB9LAoKICAgIGJlY2FtZUNsZWFuOiBmdW5jdGlvbihyZWNvcmQpIHsKICAg
|
1839
|
+
ICAgcmVjb3JkLnRyYW5zaXRpb25UbygnbG9hZGVkLnNhdmVkJyk7CiAgICB9
|
1840
|
+
LAoKICAgIGJlY2FtZUludmFsaWQ6IGZ1bmN0aW9uKHJlY29yZCkgewogICAg
|
1841
|
+
ICByZWNvcmQudHJhbnNpdGlvblRvKCdpbnZhbGlkJyk7CiAgICB9LAoKICAg
|
1842
|
+
IHJvbGxiYWNrOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgICAgcmVjb3JkLnJv
|
1843
|
+
bGxiYWNrKCk7CiAgICB9CiAgfSwKCiAgLy8gT25jZSBhIHJlY29yZCBoYXMg
|
1844
|
+
YmVlbiBoYW5kZWQgb2ZmIHRvIHRoZSBhZGFwdGVyIHRvIGJlCiAgLy8gc2F2
|
1845
|
+
ZWQsIGl0IGlzIGluIHRoZSAnaW4gZmxpZ2h0JyBzdGF0ZS4gQ2hhbmdlcyB0
|
1846
|
+
byB0aGUKICAvLyByZWNvcmQgY2Fubm90IGJlIG1hZGUgZHVyaW5nIHRoaXMg
|
1847
|
+
d2luZG93LgogIGluRmxpZ2h0OiB7CiAgICAvLyBGTEFHUwogICAgaXNTYXZp
|
1848
|
+
bmc6IHRydWUsCgogICAgLy8gRVZFTlRTCiAgICBkaWRTZXRQcm9wZXJ0eTog
|
1849
|
+
ZGlkU2V0UHJvcGVydHksCiAgICBiZWNvbWVEaXJ0eTogRW1iZXIuSywKICAg
|
1850
|
+
IHB1c2hlZERhdGE6IEVtYmVyLkssCgogICAgLy8gVE9ETzogTW9yZSByb2J1
|
1851
|
+
c3Qgc2VtYW50aWNzIGFyb3VuZCBzYXZlLXdoaWxlLWluLWZsaWdodAogICAg
|
1852
|
+
d2lsbENvbW1pdDogRW1iZXIuSywKCiAgICBkaWRDb21taXQ6IGZ1bmN0aW9u
|
1853
|
+
KHJlY29yZCkgewogICAgICB2YXIgZGlydHlUeXBlID0gZ2V0KHRoaXMsICdk
|
1854
|
+
aXJ0eVR5cGUnKTsKCiAgICAgIHJlY29yZC50cmFuc2l0aW9uVG8oJ3NhdmVk
|
1855
|
+
Jyk7CiAgICAgIHJlY29yZC5zZW5kKCdpbnZva2VMaWZlY3ljbGVDYWxsYmFj
|
1856
|
+
a3MnLCBkaXJ0eVR5cGUpOwogICAgfSwKCiAgICBiZWNhbWVJbnZhbGlkOiBm
|
1857
|
+
dW5jdGlvbihyZWNvcmQsIGVycm9ycykgewogICAgICBzZXQocmVjb3JkLCAn
|
1858
|
+
ZXJyb3JzJywgZXJyb3JzKTsKCiAgICAgIHJlY29yZC50cmFuc2l0aW9uVG8o
|
1859
|
+
J2ludmFsaWQnKTsKICAgICAgcmVjb3JkLnNlbmQoJ2ludm9rZUxpZmVjeWNs
|
1860
|
+
ZUNhbGxiYWNrcycpOwogICAgfSwKCiAgICBiZWNhbWVFcnJvcjogZnVuY3Rp
|
1861
|
+
b24ocmVjb3JkKSB7CiAgICAgIHJlY29yZC50cmFuc2l0aW9uVG8oJ3VuY29t
|
1862
|
+
bWl0dGVkJyk7CiAgICAgIHJlY29yZC50cmlnZ2VyTGF0ZXIoJ2JlY2FtZUVy
|
1863
|
+
cm9yJywgcmVjb3JkKTsKICAgIH0KICB9LAoKICAvLyBBIHJlY29yZCBpcyBp
|
1864
|
+
biB0aGUgYGludmFsaWRgIHN0YXRlIHdoZW4gaXRzIGNsaWVudC1zaWRlCiAg
|
1865
|
+
Ly8gaW52YWxpZGF0aW9ucyBoYXZlIGZhaWxlZCwgb3IgaWYgdGhlIGFkYXB0
|
1866
|
+
ZXIgaGFzIGluZGljYXRlZAogIC8vIHRoZSB0aGUgcmVjb3JkIGZhaWxlZCBz
|
1867
|
+
ZXJ2ZXItc2lkZSBpbnZhbGlkYXRpb25zLgogIGludmFsaWQ6IHsKICAgIC8v
|
1868
|
+
IEZMQUdTCiAgICBpc1ZhbGlkOiBmYWxzZSwKCiAgICAvLyBFVkVOVFMKICAg
|
1869
|
+
IGRlbGV0ZVJlY29yZDogZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAgIHJlY29y
|
1870
|
+
ZC50cmFuc2l0aW9uVG8oJ2RlbGV0ZWQudW5jb21taXR0ZWQnKTsKICAgICAg
|
1871
|
+
cmVjb3JkLmNsZWFyUmVsYXRpb25zaGlwcygpOwogICAgfSwKCiAgICBkaWRT
|
1872
|
+
ZXRQcm9wZXJ0eTogZnVuY3Rpb24ocmVjb3JkLCBjb250ZXh0KSB7CiAgICAg
|
1873
|
+
IHZhciBlcnJvcnMgPSBnZXQocmVjb3JkLCAnZXJyb3JzJyksCiAgICAgICAg
|
1874
|
+
ICBrZXkgPSBjb250ZXh0Lm5hbWU7CgogICAgICBzZXQoZXJyb3JzLCBrZXks
|
1875
|
+
IG51bGwpOwoKICAgICAgaWYgKCFoYXNEZWZpbmVkUHJvcGVydGllcyhlcnJv
|
1876
|
+
cnMpKSB7CiAgICAgICAgcmVjb3JkLnNlbmQoJ2JlY2FtZVZhbGlkJyk7CiAg
|
1877
|
+
ICAgIH0KCiAgICAgIGRpZFNldFByb3BlcnR5KHJlY29yZCwgY29udGV4dCk7
|
1878
|
+
CiAgICB9LAoKICAgIGJlY29tZURpcnR5OiBFbWJlci5LLAoKICAgIHJvbGxi
|
1879
|
+
YWNrOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgICAgcmVjb3JkLnNlbmQoJ2Jl
|
1880
|
+
Y2FtZVZhbGlkJyk7CiAgICAgIHJlY29yZC5zZW5kKCdyb2xsYmFjaycpOwog
|
1881
|
+
ICAgfSwKCiAgICBiZWNhbWVWYWxpZDogZnVuY3Rpb24ocmVjb3JkKSB7CiAg
|
1882
|
+
ICAgIHJlY29yZC50cmFuc2l0aW9uVG8oJ3VuY29tbWl0dGVkJyk7CiAgICB9
|
1883
|
+
LAoKICAgIGludm9rZUxpZmVjeWNsZUNhbGxiYWNrczogZnVuY3Rpb24ocmVj
|
1884
|
+
b3JkKSB7CiAgICAgIHJlY29yZC50cmlnZ2VyTGF0ZXIoJ2JlY2FtZUludmFs
|
1885
|
+
aWQnLCByZWNvcmQpOwogICAgfQogIH0KfTsKCi8vIFRoZSBjcmVhdGVkIGFu
|
1886
|
+
ZCB1cGRhdGVkIHN0YXRlcyBhcmUgY3JlYXRlZCBvdXRzaWRlIHRoZSBzdGF0
|
1887
|
+
ZQovLyBjaGFydCBzbyB3ZSBjYW4gcmVvcGVuIHRoZWlyIHN1YnN0YXRlcyBh
|
1888
|
+
bmQgYWRkIG1peGlucyBhcwovLyBuZWNlc3NhcnkuCgpmdW5jdGlvbiBkZWVw
|
1889
|
+
Q2xvbmUob2JqZWN0KSB7CiAgdmFyIGNsb25lID0ge30sIHZhbHVlOwoKICBm
|
1890
|
+
b3IgKHZhciBwcm9wIGluIG9iamVjdCkgewogICAgdmFsdWUgPSBvYmplY3Rb
|
1891
|
+
cHJvcF07CiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2Jq
|
1892
|
+
ZWN0JykgewogICAgICBjbG9uZVtwcm9wXSA9IGRlZXBDbG9uZSh2YWx1ZSk7
|
1893
|
+
CiAgICB9IGVsc2UgewogICAgICBjbG9uZVtwcm9wXSA9IHZhbHVlOwogICAg
|
1894
|
+
fQogIH0KCiAgcmV0dXJuIGNsb25lOwp9CgpmdW5jdGlvbiBtaXhpbihvcmln
|
1895
|
+
aW5hbCwgaGFzaCkgewogIGZvciAodmFyIHByb3AgaW4gaGFzaCkgewogICAg
|
1896
|
+
b3JpZ2luYWxbcHJvcF0gPSBoYXNoW3Byb3BdOwogIH0KCiAgcmV0dXJuIG9y
|
1897
|
+
aWdpbmFsOwp9CgpmdW5jdGlvbiBkaXJ0eVN0YXRlKG9wdGlvbnMpIHsKICB2
|
1898
|
+
YXIgbmV3U3RhdGUgPSBkZWVwQ2xvbmUoRGlydHlTdGF0ZSk7CiAgcmV0dXJu
|
1899
|
+
IG1peGluKG5ld1N0YXRlLCBvcHRpb25zKTsKfQoKdmFyIGNyZWF0ZWRTdGF0
|
1900
|
+
ZSA9IGRpcnR5U3RhdGUoewogIGRpcnR5VHlwZTogJ2NyZWF0ZWQnLAoKICAv
|
1901
|
+
LyBGTEFHUwogIGlzTmV3OiB0cnVlCn0pOwoKdmFyIHVwZGF0ZWRTdGF0ZSA9
|
1902
|
+
IGRpcnR5U3RhdGUoewogIGRpcnR5VHlwZTogJ3VwZGF0ZWQnCn0pOwoKY3Jl
|
1903
|
+
YXRlZFN0YXRlLnVuY29tbWl0dGVkLmRlbGV0ZVJlY29yZCA9IGZ1bmN0aW9u
|
1904
|
+
KHJlY29yZCkgewogIHJlY29yZC5jbGVhclJlbGF0aW9uc2hpcHMoKTsKICBy
|
1905
|
+
ZWNvcmQudHJhbnNpdGlvblRvKCdkZWxldGVkLnNhdmVkJyk7Cn07CgpjcmVh
|
1906
|
+
dGVkU3RhdGUudW5jb21taXR0ZWQucm9sbGJhY2sgPSBmdW5jdGlvbihyZWNv
|
1907
|
+
cmQpIHsKICBEaXJ0eVN0YXRlLnVuY29tbWl0dGVkLnJvbGxiYWNrLmFwcGx5
|
1908
|
+
KHRoaXMsIGFyZ3VtZW50cyk7CiAgcmVjb3JkLnRyYW5zaXRpb25UbygnZGVs
|
1909
|
+
ZXRlZC5zYXZlZCcpOwp9OwoKdXBkYXRlZFN0YXRlLnVuY29tbWl0dGVkLmRl
|
1910
|
+
bGV0ZVJlY29yZCA9IGZ1bmN0aW9uKHJlY29yZCkgewogIHJlY29yZC50cmFu
|
1911
|
+
c2l0aW9uVG8oJ2RlbGV0ZWQudW5jb21taXR0ZWQnKTsKICByZWNvcmQuY2xl
|
1912
|
+
YXJSZWxhdGlvbnNoaXBzKCk7Cn07Cgp2YXIgUm9vdFN0YXRlID0gewogIC8v
|
1913
|
+
IEZMQUdTCiAgaXNFbXB0eTogZmFsc2UsCiAgaXNMb2FkaW5nOiBmYWxzZSwK
|
1914
|
+
ICBpc0xvYWRlZDogZmFsc2UsCiAgaXNEaXJ0eTogZmFsc2UsCiAgaXNTYXZp
|
1915
|
+
bmc6IGZhbHNlLAogIGlzRGVsZXRlZDogZmFsc2UsCiAgaXNOZXc6IGZhbHNl
|
1916
|
+
LAogIGlzVmFsaWQ6IHRydWUsCgogIC8vIFNVQlNUQVRFUwoKICAvLyBBIHJl
|
1917
|
+
Y29yZCBiZWdpbnMgaXRzIGxpZmVjeWNsZSBpbiB0aGUgYGVtcHR5YCBzdGF0
|
1918
|
+
ZS4KICAvLyBJZiBpdHMgZGF0YSB3aWxsIGNvbWUgZnJvbSB0aGUgYWRhcHRl
|
1919
|
+
ciwgaXQgd2lsbAogIC8vIHRyYW5zaXRpb24gaW50byB0aGUgYGxvYWRpbmdg
|
1920
|
+
IHN0YXRlLiBPdGhlcndpc2UsIGlmCiAgLy8gdGhlIHJlY29yZCBpcyBiZWlu
|
1921
|
+
ZyBjcmVhdGVkIG9uIHRoZSBjbGllbnQsIGl0IHdpbGwKICAvLyB0cmFuc2l0
|
1922
|
+
aW9uIGludG8gdGhlIGBjcmVhdGVkYCBzdGF0ZS4KICBlbXB0eTogewogICAg
|
1923
|
+
aXNFbXB0eTogdHJ1ZSwKCiAgICAvLyBFVkVOVFMKICAgIGxvYWRpbmdEYXRh
|
1924
|
+
OiBmdW5jdGlvbihyZWNvcmQpIHsKICAgICAgcmVjb3JkLnRyYW5zaXRpb25U
|
1925
|
+
bygnbG9hZGluZycpOwogICAgfSwKCiAgICBsb2FkZWREYXRhOiBmdW5jdGlv
|
1926
|
+
bihyZWNvcmQpIHsKICAgICAgcmVjb3JkLnRyYW5zaXRpb25UbygnbG9hZGVk
|
1927
|
+
LmNyZWF0ZWQudW5jb21taXR0ZWQnKTsKCiAgICAgIHJlY29yZC5zdXNwZW5k
|
1928
|
+
UmVsYXRpb25zaGlwT2JzZXJ2ZXJzKGZ1bmN0aW9uKCkgewogICAgICAgIHJl
|
1929
|
+
Y29yZC5ub3RpZnlQcm9wZXJ0eUNoYW5nZSgnZGF0YScpOwogICAgICB9KTsK
|
1930
|
+
ICAgIH0sCgogICAgcHVzaGVkRGF0YTogZnVuY3Rpb24ocmVjb3JkKSB7CiAg
|
1931
|
+
ICAgIHJlY29yZC50cmFuc2l0aW9uVG8oJ2xvYWRlZC5zYXZlZCcpOwogICAg
|
1932
|
+
fQogIH0sCgogIC8vIEEgcmVjb3JkIGVudGVycyB0aGlzIHN0YXRlIHdoZW4g
|
1933
|
+
dGhlIHN0b3JlIGFza2VzCiAgLy8gdGhlIGFkYXB0ZXIgZm9yIGl0cyBkYXRh
|
1934
|
+
LiBJdCByZW1haW5zIGluIHRoaXMgc3RhdGUKICAvLyB1bnRpbCB0aGUgYWRh
|
1935
|
+
cHRlciBwcm92aWRlcyB0aGUgcmVxdWVzdGVkIGRhdGEuCiAgLy8KICAvLyBV
|
1936
|
+
c3VhbGx5LCB0aGlzIHByb2Nlc3MgaXMgYXN5bmNocm9ub3VzLCB1c2luZyBh
|
1937
|
+
bgogIC8vIFhIUiB0byByZXRyaWV2ZSB0aGUgZGF0YS4KICBsb2FkaW5nOiB7
|
1938
|
+
CiAgICAvLyBGTEFHUwogICAgaXNMb2FkaW5nOiB0cnVlLAoKICAgIC8vIEVW
|
1939
|
+
RU5UUwogICAgcHVzaGVkRGF0YTogZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAg
|
1940
|
+
IHJlY29yZC50cmFuc2l0aW9uVG8oJ2xvYWRlZC5zYXZlZCcpOwogICAgICBy
|
1941
|
+
ZWNvcmQudHJpZ2dlckxhdGVyKCdkaWRMb2FkJyk7CiAgICAgIHNldChyZWNv
|
1942
|
+
cmQsICdpc0Vycm9yJywgZmFsc2UpOwogICAgfSwKCiAgICBiZWNhbWVFcnJv
|
1943
|
+
cjogZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAgIHJlY29yZC50cmlnZ2VyTGF0
|
1944
|
+
ZXIoJ2JlY2FtZUVycm9yJywgcmVjb3JkKTsKICAgIH0KICB9LAoKICAvLyBB
|
1945
|
+
IHJlY29yZCBlbnRlcnMgdGhpcyBzdGF0ZSB3aGVuIGl0cyBkYXRhIGlzIHBv
|
1946
|
+
cHVsYXRlZC4KICAvLyBNb3N0IG9mIGEgcmVjb3JkJ3MgbGlmZWN5Y2xlIGlz
|
1947
|
+
IHNwZW50IGluc2lkZSBzdWJzdGF0ZXMKICAvLyBvZiB0aGUgYGxvYWRlZGAg
|
1948
|
+
c3RhdGUuCiAgbG9hZGVkOiB7CiAgICBpbml0aWFsU3RhdGU6ICdzYXZlZCcs
|
1949
|
+
CgogICAgLy8gRkxBR1MKICAgIGlzTG9hZGVkOiB0cnVlLAoKICAgIC8vIFNV
|
1950
|
+
QlNUQVRFUwoKICAgIC8vIElmIHRoZXJlIGFyZSBubyBsb2NhbCBjaGFuZ2Vz
|
1951
|
+
IHRvIGEgcmVjb3JkLCBpdCByZW1haW5zCiAgICAvLyBpbiB0aGUgYHNhdmVk
|
1952
|
+
YCBzdGF0ZS4KICAgIHNhdmVkOiB7CiAgICAgIHNldHVwOiBmdW5jdGlvbihy
|
1953
|
+
ZWNvcmQpIHsKICAgICAgICB2YXIgYXR0cnMgPSByZWNvcmQuX2F0dHJpYnV0
|
1954
|
+
ZXMsCiAgICAgICAgICAgIGlzRGlydHkgPSBmYWxzZTsKCiAgICAgICAgZm9y
|
1955
|
+
ICh2YXIgcHJvcCBpbiBhdHRycykgewogICAgICAgICAgaWYgKGF0dHJzLmhh
|
1956
|
+
c093blByb3BlcnR5KHByb3ApKSB7CiAgICAgICAgICAgIGlzRGlydHkgPSB0
|
1957
|
+
cnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9
|
1958
|
+
CgogICAgICAgIGlmIChpc0RpcnR5KSB7CiAgICAgICAgICByZWNvcmQuYWRh
|
1959
|
+
cHRlckRpZERpcnR5KCk7CiAgICAgICAgfQogICAgICB9LAoKICAgICAgLy8g
|
1960
|
+
RVZFTlRTCiAgICAgIGRpZFNldFByb3BlcnR5OiBkaWRTZXRQcm9wZXJ0eSwK
|
1961
|
+
CiAgICAgIHB1c2hlZERhdGE6IEVtYmVyLkssCgogICAgICBiZWNvbWVEaXJ0
|
1962
|
+
eTogZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAgICAgcmVjb3JkLnRyYW5zaXRp
|
1963
|
+
b25UbygndXBkYXRlZC51bmNvbW1pdHRlZCcpOwogICAgICB9LAoKICAgICAg
|
1964
|
+
d2lsbENvbW1pdDogZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAgICAgcmVjb3Jk
|
1965
|
+
LnRyYW5zaXRpb25UbygndXBkYXRlZC5pbkZsaWdodCcpOwogICAgICB9LAoK
|
1966
|
+
ICAgICAgcmVsb2FkUmVjb3JkOiBmdW5jdGlvbihyZWNvcmQsIHJlc29sdmVy
|
1967
|
+
KSB7CiAgICAgICAgZ2V0KHJlY29yZCwgJ3N0b3JlJykucmVsb2FkUmVjb3Jk
|
1968
|
+
KHJlY29yZCwgcmVzb2x2ZXIpOwogICAgICB9LAoKICAgICAgZGVsZXRlUmVj
|
1969
|
+
b3JkOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgICAgICByZWNvcmQudHJhbnNp
|
1970
|
+
dGlvblRvKCdkZWxldGVkLnVuY29tbWl0dGVkJyk7CiAgICAgICAgcmVjb3Jk
|
1971
|
+
LmNsZWFyUmVsYXRpb25zaGlwcygpOwogICAgICB9LAoKICAgICAgdW5sb2Fk
|
1972
|
+
UmVjb3JkOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgICAgICAvLyBjbGVhciBy
|
1973
|
+
ZWxhdGlvbnNoaXBzIGJlZm9yZSBtb3ZpbmcgdG8gZGVsZXRlZCBzdGF0ZQog
|
1974
|
+
ICAgICAgIC8vIG90aGVyd2lzZSBpdCBmYWlscwogICAgICAgIHJlY29yZC5j
|
1975
|
+
bGVhclJlbGF0aW9uc2hpcHMoKTsKICAgICAgICByZWNvcmQudHJhbnNpdGlv
|
1976
|
+
blRvKCdkZWxldGVkLnNhdmVkJyk7CiAgICAgIH0sCgogICAgICBkaWRDb21t
|
1977
|
+
aXQ6IGZ1bmN0aW9uKHJlY29yZCkgewogICAgICAgIHJlY29yZC5zZW5kKCdp
|
1978
|
+
bnZva2VMaWZlY3ljbGVDYWxsYmFja3MnLCBnZXQocmVjb3JkLCAnbGFzdERp
|
1979
|
+
cnR5VHlwZScpKTsKICAgICAgfSwKCiAgICB9LAoKICAgIC8vIEEgcmVjb3Jk
|
1980
|
+
IGlzIGluIHRoaXMgc3RhdGUgYWZ0ZXIgaXQgaGFzIGJlZW4gbG9jYWxseQog
|
1981
|
+
ICAgLy8gY3JlYXRlZCBidXQgYmVmb3JlIHRoZSBhZGFwdGVyIGhhcyBpbmRp
|
1982
|
+
Y2F0ZWQgdGhhdAogICAgLy8gaXQgaGFzIGJlZW4gc2F2ZWQuCiAgICBjcmVh
|
1983
|
+
dGVkOiBjcmVhdGVkU3RhdGUsCgogICAgLy8gQSByZWNvcmQgaXMgaW4gdGhp
|
1984
|
+
cyBzdGF0ZSBpZiBpdCBoYXMgYWxyZWFkeSBiZWVuCiAgICAvLyBzYXZlZCB0
|
1985
|
+
byB0aGUgc2VydmVyLCBidXQgdGhlcmUgYXJlIG5ldyBsb2NhbCBjaGFuZ2Vz
|
1986
|
+
CiAgICAvLyB0aGF0IGhhdmUgbm90IHlldCBiZWVuIHNhdmVkLgogICAgdXBk
|
1987
|
+
YXRlZDogdXBkYXRlZFN0YXRlCiAgfSwKCiAgLy8gQSByZWNvcmQgaXMgaW4g
|
1988
|
+
dGhpcyBzdGF0ZSBpZiBpdCB3YXMgZGVsZXRlZCBmcm9tIHRoZSBzdG9yZS4K
|
1989
|
+
ICBkZWxldGVkOiB7CiAgICBpbml0aWFsU3RhdGU6ICd1bmNvbW1pdHRlZCcs
|
1990
|
+
CiAgICBkaXJ0eVR5cGU6ICdkZWxldGVkJywKCiAgICAvLyBGTEFHUwogICAg
|
1991
|
+
aXNEZWxldGVkOiB0cnVlLAogICAgaXNMb2FkZWQ6IHRydWUsCiAgICBpc0Rp
|
1992
|
+
cnR5OiB0cnVlLAoKICAgIC8vIFRSQU5TSVRJT05TCiAgICBzZXR1cDogZnVu
|
1993
|
+
Y3Rpb24ocmVjb3JkKSB7CiAgICAgIHZhciBzdG9yZSA9IGdldChyZWNvcmQs
|
1994
|
+
ICdzdG9yZScpOwoKICAgICAgc3RvcmUucmVjb3JkQXJyYXlNYW5hZ2VyLnJl
|
1995
|
+
bW92ZShyZWNvcmQpOwogICAgfSwKCiAgICAvLyBTVUJTVEFURVMKCiAgICAv
|
1996
|
+
LyBXaGVuIGEgcmVjb3JkIGlzIGRlbGV0ZWQsIGl0IGVudGVycyB0aGUgYHN0
|
1997
|
+
YXJ0YAogICAgLy8gc3RhdGUuIEl0IHdpbGwgZXhpdCB0aGlzIHN0YXRlIHdo
|
1998
|
+
ZW4gdGhlIHJlY29yZAogICAgLy8gc3RhcnRzIHRvIGNvbW1pdC4KICAgIHVu
|
1999
|
+
Y29tbWl0dGVkOiB7CgogICAgICAvLyBFVkVOVFMKCiAgICAgIHdpbGxDb21t
|
2000
|
+
aXQ6IGZ1bmN0aW9uKHJlY29yZCkgewogICAgICAgIHJlY29yZC50cmFuc2l0
|
2001
|
+
aW9uVG8oJ2luRmxpZ2h0Jyk7CiAgICAgIH0sCgogICAgICByb2xsYmFjazog
|
2002
|
+
ZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAgICAgcmVjb3JkLnJvbGxiYWNrKCk7
|
2003
|
+
CiAgICAgIH0sCgogICAgICBiZWNvbWVEaXJ0eTogRW1iZXIuSywKICAgICAg
|
2004
|
+
ZGVsZXRlUmVjb3JkOiBFbWJlci5LLAoKICAgICAgYmVjYW1lQ2xlYW46IGZ1
|
2005
|
+
bmN0aW9uKHJlY29yZCkgewogICAgICAgIHJlY29yZC50cmFuc2l0aW9uVG8o
|
2006
|
+
J2xvYWRlZC5zYXZlZCcpOwogICAgICB9CiAgICB9LAoKICAgIC8vIEFmdGVy
|
2007
|
+
IGEgcmVjb3JkIHN0YXJ0cyBjb21taXR0aW5nLCBidXQKICAgIC8vIGJlZm9y
|
2008
|
+
ZSB0aGUgYWRhcHRlciBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVsZXRpb24KICAg
|
2009
|
+
IC8vIGhhcyBzYXZlZCB0byB0aGUgc2VydmVyLCBhIHJlY29yZCBpcyBpbiB0
|
2010
|
+
aGUKICAgIC8vIGBpbkZsaWdodGAgc3Vic3RhdGUgb2YgYGRlbGV0ZWRgLgog
|
2011
|
+
ICAgaW5GbGlnaHQ6IHsKICAgICAgLy8gRkxBR1MKICAgICAgaXNTYXZpbmc6
|
2012
|
+
IHRydWUsCgogICAgICAvLyBFVkVOVFMKCiAgICAgIC8vIFRPRE86IE1vcmUg
|
2013
|
+
cm9idXN0IHNlbWFudGljcyBhcm91bmQgc2F2ZS13aGlsZS1pbi1mbGlnaHQK
|
2014
|
+
ICAgICAgd2lsbENvbW1pdDogRW1iZXIuSywKICAgICAgZGlkQ29tbWl0OiBm
|
2015
|
+
dW5jdGlvbihyZWNvcmQpIHsKICAgICAgICByZWNvcmQudHJhbnNpdGlvblRv
|
2016
|
+
KCdzYXZlZCcpOwoKICAgICAgICByZWNvcmQuc2VuZCgnaW52b2tlTGlmZWN5
|
2017
|
+
Y2xlQ2FsbGJhY2tzJyk7CiAgICAgIH0KICAgIH0sCgogICAgLy8gT25jZSB0
|
2018
|
+
aGUgYWRhcHRlciBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVsZXRpb24gaGFzCiAg
|
2019
|
+
ICAvLyBiZWVuIHNhdmVkLCB0aGUgcmVjb3JkIGVudGVycyB0aGUgYHNhdmVk
|
2020
|
+
YCBzdWJzdGF0ZQogICAgLy8gb2YgYGRlbGV0ZWRgLgogICAgc2F2ZWQ6IHsK
|
2021
|
+
ICAgICAgLy8gRkxBR1MKICAgICAgaXNEaXJ0eTogZmFsc2UsCgogICAgICBz
|
2022
|
+
ZXR1cDogZnVuY3Rpb24ocmVjb3JkKSB7CiAgICAgICAgdmFyIHN0b3JlID0g
|
2023
|
+
Z2V0KHJlY29yZCwgJ3N0b3JlJyk7CiAgICAgICAgc3RvcmUuZGVtYXRlcmlh
|
2024
|
+
bGl6ZVJlY29yZChyZWNvcmQpOwogICAgICB9LAoKICAgICAgaW52b2tlTGlm
|
2025
|
+
ZWN5Y2xlQ2FsbGJhY2tzOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgICAgICBy
|
2026
|
+
ZWNvcmQudHJpZ2dlckxhdGVyKCdkaWREZWxldGUnLCByZWNvcmQpOwogICAg
|
2027
|
+
ICAgIHJlY29yZC50cmlnZ2VyTGF0ZXIoJ2RpZENvbW1pdCcsIHJlY29yZCk7
|
2028
|
+
CiAgICAgIH0KICAgIH0KICB9LAoKICBpbnZva2VMaWZlY3ljbGVDYWxsYmFj
|
2029
|
+
a3M6IGZ1bmN0aW9uKHJlY29yZCwgZGlydHlUeXBlKSB7CiAgICBpZiAoZGly
|
2030
|
+
dHlUeXBlID09PSAnY3JlYXRlZCcpIHsKICAgICAgcmVjb3JkLnRyaWdnZXJM
|
2031
|
+
YXRlcignZGlkQ3JlYXRlJywgcmVjb3JkKTsKICAgIH0gZWxzZSB7CiAgICAg
|
2032
|
+
IHJlY29yZC50cmlnZ2VyTGF0ZXIoJ2RpZFVwZGF0ZScsIHJlY29yZCk7CiAg
|
2033
|
+
ICB9CgogICAgcmVjb3JkLnRyaWdnZXJMYXRlcignZGlkQ29tbWl0JywgcmVj
|
2034
|
+
b3JkKTsKICB9Cn07Cgp2YXIgaGFzT3duUHJvcCA9IHt9Lmhhc093blByb3Bl
|
2035
|
+
cnR5OwoKZnVuY3Rpb24gd2lyZVN0YXRlKG9iamVjdCwgcGFyZW50LCBuYW1l
|
2036
|
+
KSB7CiAgLypqc2hpbnQgcHJvdG86dHJ1ZSovCiAgLy8gVE9ETzogVXNlIE9i
|
2037
|
+
amVjdC5jcmVhdGUgYW5kIGNvcHkgaW5zdGVhZAogIG9iamVjdCA9IG1peGlu
|
2038
|
+
KHBhcmVudCA/IEVtYmVyLmNyZWF0ZShwYXJlbnQpIDoge30sIG9iamVjdCk7
|
2039
|
+
CiAgb2JqZWN0LnBhcmVudFN0YXRlID0gcGFyZW50OwogIG9iamVjdC5zdGF0
|
2040
|
+
ZU5hbWUgPSBuYW1lOwoKICBmb3IgKHZhciBwcm9wIGluIG9iamVjdCkgewog
|
2041
|
+
ICAgaWYgKCFvYmplY3QuaGFzT3duUHJvcGVydHkocHJvcCkgfHwgcHJvcCA9
|
2042
|
+
PT0gJ3BhcmVudFN0YXRlJyB8fCBwcm9wID09PSAnc3RhdGVOYW1lJykgeyBj
|
2043
|
+
b250aW51ZTsgfQogICAgaWYgKHR5cGVvZiBvYmplY3RbcHJvcF0gPT09ICdv
|
2044
|
+
YmplY3QnKSB7CiAgICAgIG9iamVjdFtwcm9wXSA9IHdpcmVTdGF0ZShvYmpl
|
2045
|
+
Y3RbcHJvcF0sIG9iamVjdCwgbmFtZSArICIuIiArIHByb3ApOwogICAgfQog
|
2046
|
+
IH0KCiAgcmV0dXJuIG9iamVjdDsKfQoKUm9vdFN0YXRlID0gd2lyZVN0YXRl
|
2047
|
+
KFJvb3RTdGF0ZSwgbnVsbCwgInJvb3QiKTsKCkRTLlJvb3RTdGF0ZSA9IFJv
|
2048
|
+
b3RTdGF0ZTsKCn0pKCk7CgoKCihmdW5jdGlvbigpIHsKLyoqCiAgQG1vZHVs
|
2049
|
+
ZSBlbWJlci1kYXRhCiovCgp2YXIgZ2V0ID0gRW1iZXIuZ2V0LCBzZXQgPSBF
|
2050
|
+
bWJlci5zZXQsIG1hcCA9IEVtYmVyLkVudW1lcmFibGVVdGlscy5tYXAsCiAg
|
2051
|
+
ICBtZXJnZSA9IEVtYmVyLm1lcmdlLCBvbmNlID0gRW1iZXIucnVuLm9uY2U7
|
2052
|
+
Cgp2YXIgYXJyYXlNYXAgPSBFbWJlci5BcnJheVBvbHlmaWxscy5tYXA7Cgp2
|
2053
|
+
YXIgcmV0cmlldmVGcm9tQ3VycmVudFN0YXRlID0gRW1iZXIuY29tcHV0ZWQo
|
2054
|
+
ZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewogIHJldHVybiBnZXQoZ2V0KHRoaXMs
|
2055
|
+
ICdjdXJyZW50U3RhdGUnKSwga2V5KTsKfSkucHJvcGVydHkoJ2N1cnJlbnRT
|
2056
|
+
dGF0ZScpLnJlYWRPbmx5KCk7CgovKioKCiAgVGhlIG1vZGVsIGNsYXNzIHRo
|
2057
|
+
YXQgYWxsIEVtYmVyIERhdGEgcmVjb3JkcyBkZXNjZW5kIGZyb20uCgogIEBj
|
2058
|
+
bGFzcyBNb2RlbAogIEBuYW1lc3BhY2UgRFMKICBAZXh0ZW5kcyBFbWJlci5P
|
2059
|
+
YmplY3QKICBAdXNlcyBFbWJlci5FdmVudGVkCiovCkRTLk1vZGVsID0gRW1i
|
2060
|
+
ZXIuT2JqZWN0LmV4dGVuZChFbWJlci5FdmVudGVkLCB7CiAgaXNFbXB0eTog
|
2061
|
+
cmV0cmlldmVGcm9tQ3VycmVudFN0YXRlLAogIGlzTG9hZGluZzogcmV0cmll
|
2062
|
+
dmVGcm9tQ3VycmVudFN0YXRlLAogIGlzTG9hZGVkOiByZXRyaWV2ZUZyb21D
|
2063
|
+
dXJyZW50U3RhdGUsCiAgaXNEaXJ0eTogcmV0cmlldmVGcm9tQ3VycmVudFN0
|
2064
|
+
YXRlLAogIGlzU2F2aW5nOiByZXRyaWV2ZUZyb21DdXJyZW50U3RhdGUsCiAg
|
2065
|
+
aXNEZWxldGVkOiByZXRyaWV2ZUZyb21DdXJyZW50U3RhdGUsCiAgaXNOZXc6
|
2066
|
+
IHJldHJpZXZlRnJvbUN1cnJlbnRTdGF0ZSwKICBpc1ZhbGlkOiByZXRyaWV2
|
2067
|
+
ZUZyb21DdXJyZW50U3RhdGUsCiAgZGlydHlUeXBlOiByZXRyaWV2ZUZyb21D
|
2068
|
+
dXJyZW50U3RhdGUsCgogIGlzRXJyb3I6IGZhbHNlLAogIGlzUmVsb2FkaW5n
|
2069
|
+
OiBmYWxzZSwKCiAgY2xpZW50SWQ6IG51bGwsCiAgaWQ6IG51bGwsCiAgdHJh
|
2070
|
+
bnNhY3Rpb246IG51bGwsCiAgY3VycmVudFN0YXRlOiBudWxsLAogIGVycm9y
|
2071
|
+
czogbnVsbCwKCiAgLyoqCiAgICBDcmVhdGUgYSBKU09OIHJlcHJlc2VudGF0
|
2072
|
+
aW9uIG9mIHRoZSByZWNvcmQsIHVzaW5nIHRoZSBzZXJpYWxpemF0aW9uCiAg
|
2073
|
+
ICBzdHJhdGVneSBvZiB0aGUgc3RvcmUncyBhZGFwdGVyLgoKICAgIEBtZXRo
|
2074
|
+
b2Qgc2VyaWFsaXplCiAgICBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyBBdmFp
|
2075
|
+
bGFibGUgb3B0aW9uczoKCiAgICAqIGBpbmNsdWRlSWRgOiBgdHJ1ZWAgaWYg
|
2076
|
+
dGhlIHJlY29yZCdzIElEIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUKICAg
|
2077
|
+
ICAgSlNPTiByZXByZXNlbnRhdGlvbi4KCiAgICBAcmV0dXJucyB7T2JqZWN0
|
2078
|
+
fSBhbiBvYmplY3Qgd2hvc2UgdmFsdWVzIGFyZSBwcmltaXRpdmUgSlNPTiB2
|
2079
|
+
YWx1ZXMgb25seQogICovCiAgc2VyaWFsaXplOiBmdW5jdGlvbihvcHRpb25z
|
2080
|
+
KSB7CiAgICB2YXIgc3RvcmUgPSBnZXQodGhpcywgJ3N0b3JlJyk7CiAgICBy
|
2081
|
+
ZXR1cm4gc3RvcmUuc2VyaWFsaXplKHRoaXMsIG9wdGlvbnMpOwogIH0sCgog
|
2082
|
+
IC8qKgogICAgVXNlIHt7I2Nyb3NzTGluayAiRFMuSlNPTlNlcmlhbGl6ZXIi
|
2083
|
+
fX1EUy5KU09OU2VyaWFsaXplcnt7L2Nyb3NzTGlua319IHRvCiAgICBnZXQg
|
2084
|
+
dGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgYSByZWNvcmQuCgogICAgQG1l
|
2085
|
+
dGhvZCB0b0pTT04KICAgIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIEF2YWls
|
2086
|
+
YWJsZSBvcHRpb25zOgoKICAgICogYGluY2x1ZGVJZGA6IGB0cnVlYCBpZiB0
|
2087
|
+
aGUgcmVjb3JkJ3MgSUQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZQogICAg
|
2088
|
+
ICBKU09OIHJlcHJlc2VudGF0aW9uLgoKICAgIEByZXR1cm5zIHtPYmplY3R9
|
2089
|
+
IEEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgb2JqZWN0LgogICovCiAg
|
2090
|
+
dG9KU09OOiBmdW5jdGlvbihvcHRpb25zKSB7CiAgICB2YXIgc2VyaWFsaXpl
|
2091
|
+
ciA9IERTLkpTT05TZXJpYWxpemVyLmNyZWF0ZSgpOwogICAgcmV0dXJuIHNl
|
2092
|
+
cmlhbGl6ZXIuc2VyaWFsaXplKHRoaXMsIG9wdGlvbnMpOwogIH0sCgogIC8q
|
2093
|
+
KgogICAgRmlyZWQgd2hlbiB0aGUgcmVjb3JkIGlzIGxvYWRlZCBmcm9tIHRo
|
2094
|
+
ZSBzZXJ2ZXIuCgogICAgQGV2ZW50IGRpZExvYWQKICAqLwogIGRpZExvYWQ6
|
2095
|
+
IEVtYmVyLkssCgogIC8qKgogICAgRmlyZWQgd2hlbiB0aGUgcmVjb3JkIGlz
|
2096
|
+
IHJlbG9hZGVkIGZyb20gdGhlIHNlcnZlci4KCiAgICBAZXZlbnQgZGlkUmVs
|
2097
|
+
b2FkCiAgKi8KICBkaWRSZWxvYWQ6IEVtYmVyLkssCgogIC8qKgogICAgRmly
|
2098
|
+
ZWQgd2hlbiB0aGUgcmVjb3JkIGlzIHVwZGF0ZWQuCgogICAgQGV2ZW50IGRp
|
2099
|
+
ZFVwZGF0ZQogICovCiAgZGlkVXBkYXRlOiBFbWJlci5LLAoKICAvKioKICAg
|
2100
|
+
IEZpcmVkIHdoZW4gdGhlIHJlY29yZCBpcyBjcmVhdGVkLgoKICAgIEBldmVu
|
2101
|
+
dCBkaWRDcmVhdGUKICAqLwogIGRpZENyZWF0ZTogRW1iZXIuSywKCiAgLyoq
|
2102
|
+
CiAgICBGaXJlZCB3aGVuIHRoZSByZWNvcmQgaXMgZGVsZXRlZC4KCiAgICBA
|
2103
|
+
ZXZlbnQgZGlkRGVsZXRlCiAgKi8KICBkaWREZWxldGU6IEVtYmVyLkssCgog
|
2104
|
+
IC8qKgogICAgRmlyZWQgd2hlbiB0aGUgcmVjb3JkIGJlY29tZXMgaW52YWxp
|
2105
|
+
ZC4KCiAgICBAZXZlbnQgYmVjYW1lSW52YWxpZAogICovCiAgYmVjYW1lSW52
|
2106
|
+
YWxpZDogRW1iZXIuSywKCiAgLyoqCiAgICBGaXJlZCB3aGVuIHRoZSByZWNv
|
2107
|
+
cmQgZW50ZXJzIHRoZSBlcnJvciBzdGF0ZS4KCiAgICBAZXZlbnQgYmVjYW1l
|
2108
|
+
RXJyb3IKICAqLwogIGJlY2FtZUVycm9yOiBFbWJlci5LLAoKICBkYXRhOiBF
|
2109
|
+
bWJlci5jb21wdXRlZChmdW5jdGlvbigpIHsKICAgIHRoaXMuX2RhdGEgPSB0
|
2110
|
+
aGlzLl9kYXRhIHx8IHt9OwogICAgcmV0dXJuIHRoaXMuX2RhdGE7CiAgfSku
|
2111
|
+
cHJvcGVydHkoKSwKCiAgX2RhdGE6IG51bGwsCgogIGluaXQ6IGZ1bmN0aW9u
|
2112
|
+
KCkgewogICAgc2V0KHRoaXMsICdjdXJyZW50U3RhdGUnLCBEUy5Sb290U3Rh
|
2113
|
+
dGUuZW1wdHkpOwogICAgdGhpcy5fc3VwZXIoKTsKICAgIHRoaXMuX3NldHVw
|
2114
|
+
KCk7CiAgfSwKCiAgX3NldHVwOiBmdW5jdGlvbigpIHsKICAgIHRoaXMuX2No
|
2115
|
+
YW5nZXNUb1N5bmMgPSB7fTsKICAgIHRoaXMuX2RlZmVycmVkVHJpZ2dlcnMg
|
2116
|
+
PSBbXTsKICAgIHRoaXMuX2RhdGEgPSB7fTsKICAgIHRoaXMuX2F0dHJpYnV0
|
2117
|
+
ZXMgPSB7fTsKICAgIHRoaXMuX2luRmxpZ2h0QXR0cmlidXRlcyA9IHt9Owog
|
2118
|
+
ICAgdGhpcy5fcmVsYXRpb25zaGlwcyA9IHt9OwogIH0sCgogIHNlbmQ6IGZ1
|
2119
|
+
bmN0aW9uKG5hbWUsIGNvbnRleHQpIHsKICAgIHZhciBjdXJyZW50U3RhdGUg
|
2120
|
+
PSBnZXQodGhpcywgJ2N1cnJlbnRTdGF0ZScpOwoKICAgIGlmICghY3VycmVu
|
2121
|
+
dFN0YXRlW25hbWVdKSB7CiAgICAgIHRoaXMuX3VuaGFuZGxlZEV2ZW50KGN1
|
2122
|
+
cnJlbnRTdGF0ZSwgbmFtZSwgY29udGV4dCk7CiAgICB9CgogICAgcmV0dXJu
|
2123
|
+
IGN1cnJlbnRTdGF0ZVtuYW1lXSh0aGlzLCBjb250ZXh0KTsKICB9LAoKICB0
|
2124
|
+
cmFuc2l0aW9uVG86IGZ1bmN0aW9uKG5hbWUpIHsKICAgIC8vIFBPU1NJQkxF
|
2125
|
+
IFRPRE86IFJlbW92ZSB0aGlzIGNvZGUgYW5kIHJlcGxhY2Ugd2l0aAogICAg
|
2126
|
+
Ly8gYWx3YXlzIGhhdmluZyBkaXJlY3QgcmVmZXJlbmNlcyB0byBzdGF0ZSBv
|
2127
|
+
YmplY3RzCgogICAgdmFyIHBpdm90TmFtZSA9IG5hbWUuc3BsaXQoIi4iLCAx
|
2128
|
+
KSwKICAgICAgICBjdXJyZW50U3RhdGUgPSBnZXQodGhpcywgJ2N1cnJlbnRT
|
2129
|
+
dGF0ZScpLAogICAgICAgIHN0YXRlID0gY3VycmVudFN0YXRlOwoKICAgIGRv
|
2130
|
+
IHsKICAgICAgaWYgKHN0YXRlLmV4aXQpIHsgc3RhdGUuZXhpdCh0aGlzKTsg
|
2131
|
+
fQogICAgICBzdGF0ZSA9IHN0YXRlLnBhcmVudFN0YXRlOwogICAgfSB3aGls
|
2132
|
+
ZSAoIXN0YXRlLmhhc093blByb3BlcnR5KHBpdm90TmFtZSkpOwoKICAgIHZh
|
2133
|
+
ciBwYXRoID0gbmFtZS5zcGxpdCgiLiIpOwoKICAgIHZhciBzZXR1cHMgPSBb
|
2134
|
+
XSwgZW50ZXJzID0gW10sIGksIGw7CgogICAgZm9yIChpPTAsIGw9cGF0aC5s
|
2135
|
+
ZW5ndGg7IGk8bDsgaSsrKSB7CiAgICAgIHN0YXRlID0gc3RhdGVbcGF0aFtp
|
2136
|
+
XV07CgogICAgICBpZiAoc3RhdGUuZW50ZXIpIHsgZW50ZXJzLnB1c2goc3Rh
|
2137
|
+
dGUpOyB9CiAgICAgIGlmIChzdGF0ZS5zZXR1cCkgeyBzZXR1cHMucHVzaChz
|
2138
|
+
dGF0ZSk7IH0KICAgIH0KCiAgICBmb3IgKGk9MCwgbD1lbnRlcnMubGVuZ3Ro
|
2139
|
+
OyBpPGw7IGkrKykgewogICAgICBlbnRlcnNbaV0uZW50ZXIodGhpcyk7CiAg
|
2140
|
+
ICB9CgogICAgc2V0KHRoaXMsICdjdXJyZW50U3RhdGUnLCBzdGF0ZSk7Cgog
|
2141
|
+
ICAgZm9yIChpPTAsIGw9c2V0dXBzLmxlbmd0aDsgaTxsOyBpKyspIHsKICAg
|
2142
|
+
ICAgc2V0dXBzW2ldLnNldHVwKHRoaXMpOwogICAgfQogIH0sCgogIF91bmhh
|
2143
|
+
bmRsZWRFdmVudDogZnVuY3Rpb24oc3RhdGUsIG5hbWUsIGNvbnRleHQpIHsK
|
2144
|
+
ICAgIHZhciBlcnJvck1lc3NhZ2UgPSAiQXR0ZW1wdGVkIHRvIGhhbmRsZSBl
|
2145
|
+
dmVudCBgIiArIG5hbWUgKyAiYCAiOwogICAgZXJyb3JNZXNzYWdlICAgICs9
|
2146
|
+
ICJvbiAiICsgU3RyaW5nKHRoaXMpICsgIiB3aGlsZSBpbiBzdGF0ZSAiOwog
|
2147
|
+
ICAgZXJyb3JNZXNzYWdlICAgICs9IHN0YXRlLnN0YXRlTmFtZSArICIuICI7
|
2148
|
+
CgogICAgaWYgKGNvbnRleHQgIT09IHVuZGVmaW5lZCkgewogICAgICBlcnJv
|
2149
|
+
ck1lc3NhZ2UgICs9ICJDYWxsZWQgd2l0aCAiICsgRW1iZXIuaW5zcGVjdChj
|
2150
|
+
b250ZXh0KSArICIuIjsKICAgIH0KCiAgICB0aHJvdyBuZXcgRW1iZXIuRXJy
|
2151
|
+
b3IoZXJyb3JNZXNzYWdlKTsKICB9LAoKICB3aXRoVHJhbnNhY3Rpb246IGZ1
|
2152
|
+
bmN0aW9uKGZuKSB7CiAgICB2YXIgdHJhbnNhY3Rpb24gPSBnZXQodGhpcywg
|
2153
|
+
J3RyYW5zYWN0aW9uJyk7CiAgICBpZiAodHJhbnNhY3Rpb24pIHsgZm4odHJh
|
2154
|
+
bnNhY3Rpb24pOyB9CiAgfSwKCiAgbG9hZGluZ0RhdGE6IGZ1bmN0aW9uKCkg
|
2155
|
+
ewogICAgdGhpcy5zZW5kKCdsb2FkaW5nRGF0YScpOwogIH0sCgogIGxvYWRl
|
2156
|
+
ZERhdGE6IGZ1bmN0aW9uKCkgewogICAgdGhpcy5zZW5kKCdsb2FkZWREYXRh
|
2157
|
+
Jyk7CiAgfSwKCiAgcHVzaGVkRGF0YTogZnVuY3Rpb24oKSB7CiAgICB0aGlz
|
2158
|
+
LnNlbmQoJ3B1c2hlZERhdGEnKTsKICB9LAoKICBkZWxldGVSZWNvcmQ6IGZ1
|
2159
|
+
bmN0aW9uKCkgewogICAgdGhpcy5zZW5kKCdkZWxldGVSZWNvcmQnKTsKICB9
|
2160
|
+
LAoKICB1bmxvYWRSZWNvcmQ6IGZ1bmN0aW9uKCkgewogICAgRW1iZXIuYXNz
|
2161
|
+
ZXJ0KCJZb3UgY2FuIG9ubHkgdW5sb2FkIGEgbG9hZGVkLCBub24tZGlydHkg
|
2162
|
+
cmVjb3JkLiIsICFnZXQodGhpcywgJ2lzRGlydHknKSk7CgogICAgdGhpcy5z
|
2163
|
+
ZW5kKCd1bmxvYWRSZWNvcmQnKTsKICB9LAoKICBjbGVhclJlbGF0aW9uc2hp
|
2164
|
+
cHM6IGZ1bmN0aW9uKCkgewogICAgdGhpcy5lYWNoUmVsYXRpb25zaGlwKGZ1
|
2165
|
+
bmN0aW9uKG5hbWUsIHJlbGF0aW9uc2hpcCkgewogICAgICBpZiAocmVsYXRp
|
2166
|
+
b25zaGlwLmtpbmQgPT09ICdiZWxvbmdzVG8nKSB7CiAgICAgICAgc2V0KHRo
|
2167
|
+
aXMsIG5hbWUsIG51bGwpOwogICAgICB9IGVsc2UgaWYgKHJlbGF0aW9uc2hp
|
2168
|
+
cC5raW5kID09PSAnaGFzTWFueScpIHsKICAgICAgICB2YXIgaGFzTWFueSA9
|
2169
|
+
IHRoaXMuX3JlbGF0aW9uc2hpcHNbcmVsYXRpb25zaGlwLm5hbWVdOwogICAg
|
2170
|
+
ICAgIGlmIChoYXNNYW55KSB7IGhhc01hbnkuY2xlYXIoKTsgfQogICAgICB9
|
2171
|
+
CiAgICB9LCB0aGlzKTsKICB9LAoKICB1cGRhdGVSZWNvcmRBcnJheXM6IGZ1
|
2172
|
+
bmN0aW9uKCkgewogICAgdmFyIHN0b3JlID0gZ2V0KHRoaXMsICdzdG9yZScp
|
2173
|
+
OwogICAgaWYgKHN0b3JlKSB7CiAgICAgIHN0b3JlLmRhdGFXYXNVcGRhdGVk
|
2174
|
+
KHRoaXMuY29uc3RydWN0b3IsIHRoaXMpOwogICAgfQogIH0sCgogIGFkYXB0
|
2175
|
+
ZXJXaWxsQ29tbWl0OiBmdW5jdGlvbigpIHsKICAgIHRoaXMuc2VuZCgnd2ls
|
2176
|
+
bENvbW1pdCcpOwogIH0sCgogIC8qKgogICAgSWYgdGhlIGFkYXB0ZXIgZGlk
|
2177
|
+
IG5vdCByZXR1cm4gYSBoYXNoIGluIHJlc3BvbnNlIHRvIGEgY29tbWl0LAog
|
2178
|
+
ICAgbWVyZ2UgdGhlIGNoYW5nZWQgYXR0cmlidXRlcyBhbmQgcmVsYXRpb25z
|
2179
|
+
aGlwcyBpbnRvIHRoZSBleGlzdGluZwogICAgc2F2ZWQgZGF0YS4KCiAgICBA
|
2180
|
+
bWV0aG9kIGFkYXB0ZXJEaWRDb21taXQKICAqLwogIGFkYXB0ZXJEaWRDb21t
|
2181
|
+
aXQ6IGZ1bmN0aW9uKGRhdGEpIHsKICAgIHNldCh0aGlzLCAnaXNFcnJvcics
|
2182
|
+
IGZhbHNlKTsKCiAgICBpZiAoZGF0YSkgewogICAgICB0aGlzLl9kYXRhID0g
|
2183
|
+
ZGF0YTsKICAgIH0gZWxzZSB7CiAgICAgIEVtYmVyLm1peGluKHRoaXMuX2Rh
|
2184
|
+
dGEsIHRoaXMuX2luRmxpZ2h0QXR0cmlidXRlcyk7CiAgICB9CgogICAgdGhp
|
2185
|
+
cy5faW5GbGlnaHRBdHRyaWJ1dGVzID0ge307CgogICAgdGhpcy5zZW5kKCdk
|
2186
|
+
aWRDb21taXQnKTsKICAgIHRoaXMudXBkYXRlUmVjb3JkQXJyYXlzTGF0ZXIo
|
2187
|
+
KTsKCiAgICBpZiAoIWRhdGEpIHsgcmV0dXJuOyB9CgogICAgdGhpcy5zdXNw
|
2188
|
+
ZW5kUmVsYXRpb25zaGlwT2JzZXJ2ZXJzKGZ1bmN0aW9uKCkgewogICAgICB0
|
2189
|
+
aGlzLm5vdGlmeVByb3BlcnR5Q2hhbmdlKCdkYXRhJyk7CiAgICB9KTsKICB9
|
2190
|
+
LAoKICBhZGFwdGVyRGlkRGlydHk6IGZ1bmN0aW9uKCkgewogICAgdGhpcy5z
|
2191
|
+
ZW5kKCdiZWNvbWVEaXJ0eScpOwogICAgdGhpcy51cGRhdGVSZWNvcmRBcnJh
|
2192
|
+
eXNMYXRlcigpOwogIH0sCgogIGRhdGFEaWRDaGFuZ2U6IEVtYmVyLm9ic2Vy
|
2193
|
+
dmVyKGZ1bmN0aW9uKCkgewogICAgdGhpcy5yZWxvYWRIYXNNYW55cygpOwog
|
2194
|
+
IH0sICdkYXRhJyksCgogIHJlbG9hZEhhc01hbnlzOiBmdW5jdGlvbigpIHsK
|
2195
|
+
ICAgIHZhciByZWxhdGlvbnNoaXBzID0gZ2V0KHRoaXMuY29uc3RydWN0b3Is
|
2196
|
+
ICdyZWxhdGlvbnNoaXBzQnlOYW1lJyk7CiAgICB0aGlzLnVwZGF0ZVJlY29y
|
2197
|
+
ZEFycmF5c0xhdGVyKCk7CiAgICByZWxhdGlvbnNoaXBzLmZvckVhY2goZnVu
|
2198
|
+
Y3Rpb24obmFtZSwgcmVsYXRpb25zaGlwKSB7CiAgICAgIGlmIChyZWxhdGlv
|
2199
|
+
bnNoaXAua2luZCA9PT0gJ2hhc01hbnknKSB7CiAgICAgICAgdGhpcy5oYXNN
|
2200
|
+
YW55RGlkQ2hhbmdlKHJlbGF0aW9uc2hpcC5rZXkpOwogICAgICB9CiAgICB9
|
2201
|
+
LCB0aGlzKTsKICB9LAoKICBoYXNNYW55RGlkQ2hhbmdlOiBmdW5jdGlvbihr
|
2202
|
+
ZXkpIHsKICAgIHZhciBoYXNNYW55ID0gdGhpcy5fcmVsYXRpb25zaGlwc1tr
|
2203
|
+
ZXldOwoKICAgIGlmIChoYXNNYW55KSB7CiAgICAgIHZhciB0eXBlID0gZ2V0
|
2204
|
+
KHRoaXMuY29uc3RydWN0b3IsICdyZWxhdGlvbnNoaXBzQnlOYW1lJykuZ2V0
|
2205
|
+
KGtleSkudHlwZTsKICAgICAgdmFyIHN0b3JlID0gZ2V0KHRoaXMsICdzdG9y
|
2206
|
+
ZScpOwogICAgICB2YXIgcmVjb3JkcyA9IHRoaXMuX2RhdGFba2V5XSB8fCBb
|
2207
|
+
XTsKCiAgICAgIHNldChoYXNNYW55LCAnY29udGVudCcsIEVtYmVyLkEocmVj
|
2208
|
+
b3JkcykpOwogICAgICBzZXQoaGFzTWFueSwgJ2lzTG9hZGVkJywgdHJ1ZSk7
|
2209
|
+
CiAgICAgIGhhc01hbnkudHJpZ2dlcignZGlkTG9hZCcpOwogICAgfQogIH0s
|
2210
|
+
CgogIHVwZGF0ZVJlY29yZEFycmF5c0xhdGVyOiBmdW5jdGlvbigpIHsKICAg
|
2211
|
+
IEVtYmVyLnJ1bi5vbmNlKHRoaXMsIHRoaXMudXBkYXRlUmVjb3JkQXJyYXlz
|
2212
|
+
KTsKICB9LAoKICBzZXR1cERhdGE6IGZ1bmN0aW9uKGRhdGEpIHsKICAgIHRo
|
2213
|
+
aXMuX2RhdGEgPSBkYXRhOwoKICAgIGlmIChkYXRhKSB7IHRoaXMucHVzaGVk
|
2214
|
+
RGF0YSgpOyB9CgogICAgdGhpcy5zdXNwZW5kUmVsYXRpb25zaGlwT2JzZXJ2
|
2215
|
+
ZXJzKGZ1bmN0aW9uKCkgewogICAgICB0aGlzLm5vdGlmeVByb3BlcnR5Q2hh
|
2216
|
+
bmdlKCdkYXRhJyk7CiAgICB9KTsKICB9LAoKICBtYXRlcmlhbGl6ZUlkOiBm
|
2217
|
+
dW5jdGlvbihpZCkgewogICAgc2V0KHRoaXMsICdpZCcsIGlkKTsKICB9LAoK
|
2218
|
+
ICBtYXRlcmlhbGl6ZUF0dHJpYnV0ZXM6IGZ1bmN0aW9uKGF0dHJpYnV0ZXMp
|
2219
|
+
IHsKICAgIEVtYmVyLmFzc2VydCgiTXVzdCBwYXNzIGEgaGFzaCBvZiBhdHRy
|
2220
|
+
aWJ1dGVzIHRvIG1hdGVyaWFsaXplQXR0cmlidXRlcyIsICEhYXR0cmlidXRl
|
2221
|
+
cyk7CiAgICBtZXJnZSh0aGlzLl9kYXRhLCBhdHRyaWJ1dGVzKTsKICB9LAoK
|
2222
|
+
ICBtYXRlcmlhbGl6ZUF0dHJpYnV0ZTogZnVuY3Rpb24obmFtZSwgdmFsdWUp
|
2223
|
+
IHsKICAgIHRoaXMuX2RhdGFbbmFtZV0gPSB2YWx1ZTsKICB9LAoKICB1cGRh
|
2224
|
+
dGVIYXNNYW55OiBmdW5jdGlvbihuYW1lLCByZWNvcmRzKSB7CiAgICB0aGlz
|
2225
|
+
Ll9kYXRhW25hbWVdID0gcmVjb3JkczsKICAgIHRoaXMuaGFzTWFueURpZENo
|
2226
|
+
YW5nZShuYW1lKTsKICB9LAoKICByb2xsYmFjazogZnVuY3Rpb24oKSB7CiAg
|
2227
|
+
ICB0aGlzLl9zZXR1cCgpOwogICAgdGhpcy5zZW5kKCdiZWNhbWVDbGVhbicp
|
2228
|
+
OwoKICAgIHRoaXMuc3VzcGVuZFJlbGF0aW9uc2hpcE9ic2VydmVycyhmdW5j
|
2229
|
+
dGlvbigpIHsKICAgICAgdGhpcy5ub3RpZnlQcm9wZXJ0eUNoYW5nZSgnZGF0
|
2230
|
+
YScpOwogICAgfSk7CiAgfSwKCiAgdG9TdHJpbmdFeHRlbnNpb246IGZ1bmN0
|
2231
|
+
aW9uKCkgewogICAgcmV0dXJuIGdldCh0aGlzLCAnaWQnKTsKICB9LAoKICAv
|
2232
|
+
KioKICAgIFRoZSBnb2FsIG9mIHRoaXMgbWV0aG9kIGlzIHRvIHRlbXBvcmFy
|
2233
|
+
aWx5IGRpc2FibGUgc3BlY2lmaWMgb2JzZXJ2ZXJzCiAgICB0aGF0IHRha2Ug
|
2234
|
+
YWN0aW9uIGluIHJlc3BvbnNlIHRvIGFwcGxpY2F0aW9uIGNoYW5nZXMuCgog
|
2235
|
+
ICAgVGhpcyBhbGxvd3MgdGhlIHN5c3RlbSB0byBtYWtlIGNoYW5nZXMgKHN1
|
2236
|
+
Y2ggYXMgbWF0ZXJpYWxpemF0aW9uIGFuZAogICAgcm9sbGJhY2spIHRoYXQg
|
2237
|
+
c2hvdWxkIG5vdCB0cmlnZ2VyIHNlY29uZGFyeSBiZWhhdmlvciAoc3VjaCBh
|
2238
|
+
cyBzZXR0aW5nIGFuCiAgICBpbnZlcnNlIHJlbGF0aW9uc2hpcCBvciBtYXJr
|
2239
|
+
aW5nIHJlY29yZHMgYXMgZGlydHkpLgoKICAgIFRoZSBzcGVjaWZpYyBpbXBs
|
2240
|
+
ZW1lbnRhdGlvbiB3aWxsIGxpa2VseSBjaGFuZ2UgYXMgRW1iZXIgcHJvcGVy
|
2241
|
+
IHByb3ZpZGVzCiAgICBiZXR0ZXIgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN1c3Bl
|
2242
|
+
bmRpbmcgZ3JvdXBzIG9mIG9ic2VydmVycywgYW5kIGlmIEFycmF5CiAgICBv
|
2243
|
+
YnNlcnZhdGlvbiBiZWNvbWVzIG1vcmUgdW5pZmllZCB3aXRoIHJlZ3VsYXIg
|
2244
|
+
b2JzZXJ2ZXJzLgoKICAgIEBtZXRob2Qgc3VzcGVuZFJlbGF0aW9uc2hpcE9i
|
2245
|
+
c2VydmVycwogICAgQHByaXZhdGUKICAgIEBwYXJhbSBjYWxsYmFjawogICAg
|
2246
|
+
QHBhcmFtIGJpbmRpbmcKICAqLwogIHN1c3BlbmRSZWxhdGlvbnNoaXBPYnNl
|
2247
|
+
cnZlcnM6IGZ1bmN0aW9uKGNhbGxiYWNrLCBiaW5kaW5nKSB7CiAgICB2YXIg
|
2248
|
+
b2JzZXJ2ZXJzID0gZ2V0KHRoaXMuY29uc3RydWN0b3IsICdyZWxhdGlvbnNo
|
2249
|
+
aXBOYW1lcycpLmJlbG9uZ3NUbzsKICAgIHZhciBzZWxmID0gdGhpczsKCiAg
|
2250
|
+
ICB0cnkgewogICAgICB0aGlzLl9zdXNwZW5kZWRSZWxhdGlvbnNoaXBzID0g
|
2251
|
+
dHJ1ZTsKICAgICAgRW1iZXIuX3N1c3BlbmRPYnNlcnZlcnMoc2VsZiwgb2Jz
|
2252
|
+
ZXJ2ZXJzLCBudWxsLCAnYmVsb25nc1RvRGlkQ2hhbmdlJywgZnVuY3Rpb24o
|
2253
|
+
KSB7CiAgICAgICAgRW1iZXIuX3N1c3BlbmRCZWZvcmVPYnNlcnZlcnMoc2Vs
|
2254
|
+
Ziwgb2JzZXJ2ZXJzLCBudWxsLCAnYmVsb25nc1RvV2lsbENoYW5nZScsIGZ1
|
2255
|
+
bmN0aW9uKCkgewogICAgICAgICAgY2FsbGJhY2suY2FsbChiaW5kaW5nIHx8
|
2256
|
+
IHNlbGYpOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0gZmluYWxseSB7
|
2257
|
+
CiAgICAgIHRoaXMuX3N1c3BlbmRlZFJlbGF0aW9uc2hpcHMgPSBmYWxzZTsK
|
2258
|
+
ICAgIH0KICB9LAoKICAvKioKICAgIFNhdmUgdGhlIHJlY29yZC4KCiAgICBA
|
2259
|
+
bWV0aG9kIHNhdmUKICAqLwogIHNhdmU6IGZ1bmN0aW9uKCkgewogICAgdmFy
|
2260
|
+
IHJlc29sdmVyID0gRW1iZXIuUlNWUC5kZWZlcigpLCByZWNvcmQgPSB0aGlz
|
2261
|
+
OwoKICAgIHRoaXMuZ2V0KCdzdG9yZScpLnNjaGVkdWxlU2F2ZSh0aGlzLCBy
|
2262
|
+
ZXNvbHZlcik7CiAgICB0aGlzLl9pbkZsaWdodEF0dHJpYnV0ZXMgPSB0aGlz
|
2263
|
+
Ll9hdHRyaWJ1dGVzOwogICAgdGhpcy5fYXR0cmlidXRlcyA9IHt9OwoKICAg
|
2264
|
+
IHJldHVybiBEUy5Qcm9taXNlT2JqZWN0LmNyZWF0ZSh7IHByb21pc2U6IHJl
|
2265
|
+
c29sdmVyLnByb21pc2UgfSk7CiAgfSwKCiAgLyoqCiAgICBSZWxvYWQgdGhl
|
2266
|
+
IHJlY29yZCBmcm9tIHRoZSBhZGFwdGVyLgoKICAgIFRoaXMgd2lsbCBvbmx5
|
2267
|
+
IHdvcmsgaWYgdGhlIHJlY29yZCBoYXMgYWxyZWFkeSBmaW5pc2hlZCBsb2Fk
|
2268
|
+
aW5nCiAgICBhbmQgaGFzIG5vdCB5ZXQgYmVlbiBtb2RpZmllZCAoYGlzTG9h
|
2269
|
+
ZGVkYCBidXQgbm90IGBpc0RpcnR5YCwKICAgIG9yIGBpc1NhdmluZ2ApLgoK
|
2270
|
+
ICAgIEBtZXRob2QgcmVsb2FkCiAgKi8KICByZWxvYWQ6IGZ1bmN0aW9uKCkg
|
2271
|
+
ewogICAgc2V0KHRoaXMsICdpc1JlbG9hZGluZycsIHRydWUpOwoKICAgIHZh
|
2272
|
+
ciByZXNvbHZlciA9IEVtYmVyLlJTVlAuZGVmZXIoKSwgcmVjb3JkID0gdGhp
|
2273
|
+
czsKCiAgICByZXNvbHZlci5wcm9taXNlID0gcmVzb2x2ZXIucHJvbWlzZS50
|
2274
|
+
aGVuKGZ1bmN0aW9uKCkgewogICAgICByZWNvcmQuc2V0KCdpc1JlbG9hZGlu
|
2275
|
+
ZycsIGZhbHNlKTsKICAgICAgcmVjb3JkLnNldCgnaXNFcnJvcicsIGZhbHNl
|
2276
|
+
KTsKICAgICAgcmV0dXJuIHJlY29yZDsKICAgIH0sIGZ1bmN0aW9uKHJlYXNv
|
2277
|
+
bikgewogICAgICByZWNvcmQuc2V0KCdpc0Vycm9yJywgdHJ1ZSk7CiAgICAg
|
2278
|
+
IHRocm93IHJlYXNvbjsKICAgIH0pOwoKICAgIHRoaXMuc2VuZCgncmVsb2Fk
|
2279
|
+
UmVjb3JkJywgcmVzb2x2ZXIpOwoKICAgIHJldHVybiBEUy5Qcm9taXNlT2Jq
|
2280
|
+
ZWN0LmNyZWF0ZSh7IHByb21pc2U6IHJlc29sdmVyLnByb21pc2UgfSk7CiAg
|
2281
|
+
fSwKCiAgLy8gRk9SIFVTRSBEVVJJTkcgQ09NTUlUIFBST0NFU1MKCiAgYWRh
|
2282
|
+
cHRlckRpZFVwZGF0ZUF0dHJpYnV0ZTogZnVuY3Rpb24oYXR0cmlidXRlTmFt
|
2283
|
+
ZSwgdmFsdWUpIHsKCiAgICAvLyBJZiBhIHZhbHVlIGlzIHBhc3NlZCBpbiwg
|
2284
|
+
dXBkYXRlIHRoZSBpbnRlcm5hbCBhdHRyaWJ1dGVzIGFuZCBjbGVhcgogICAg
|
2285
|
+
Ly8gdGhlIGF0dHJpYnV0ZSBjYWNoZSBzbyBpdCBwaWNrcyB1cCB0aGUgbmV3
|
2286
|
+
IHZhbHVlLiBPdGhlcndpc2UsCiAgICAvLyBjb2xsYXBzZSB0aGUgY3VycmVu
|
2287
|
+
dCB2YWx1ZSBpbnRvIHRoZSBpbnRlcm5hbCBhdHRyaWJ1dGVzIGJlY2F1c2UK
|
2288
|
+
ICAgIC8vIHRoZSBhZGFwdGVyIGhhcyBhY2tub3dsZWRnZWQgaXQuCiAgICBp
|
2289
|
+
ZiAodmFsdWUgIT09IHVuZGVmaW5lZCkgewogICAgICB0aGlzLl9kYXRhW2F0
|
2290
|
+
dHJpYnV0ZU5hbWVdID0gdmFsdWU7CiAgICAgIHRoaXMubm90aWZ5UHJvcGVy
|
2291
|
+
dHlDaGFuZ2UoYXR0cmlidXRlTmFtZSk7CiAgICB9IGVsc2UgewogICAgICB0
|
2292
|
+
aGlzLl9kYXRhW2F0dHJpYnV0ZU5hbWVdID0gdGhpcy5faW5GbGlnaHRBdHRy
|
2293
|
+
aWJ1dGVzW2F0dHJpYnV0ZU5hbWVdOwogICAgfQoKICAgIHRoaXMudXBkYXRl
|
2294
|
+
UmVjb3JkQXJyYXlzTGF0ZXIoKTsKICB9LAoKICBhZGFwdGVyRGlkSW52YWxp
|
2295
|
+
ZGF0ZTogZnVuY3Rpb24oZXJyb3JzKSB7CiAgICB0aGlzLnNlbmQoJ2JlY2Ft
|
2296
|
+
ZUludmFsaWQnLCBlcnJvcnMpOwogIH0sCgogIGFkYXB0ZXJEaWRFcnJvcjog
|
2297
|
+
ZnVuY3Rpb24oKSB7CiAgICB0aGlzLnNlbmQoJ2JlY2FtZUVycm9yJyk7CiAg
|
2298
|
+
ICBzZXQodGhpcywgJ2lzRXJyb3InLCB0cnVlKTsKICB9LAoKICAvKioKICAg
|
2299
|
+
IE92ZXJyaWRlIHRoZSBkZWZhdWx0IGV2ZW50IGZpcmluZyBmcm9tIEVtYmVy
|
2300
|
+
LkV2ZW50ZWQgdG8KICAgIGFsc28gY2FsbCBtZXRob2RzIHdpdGggdGhlIGdp
|
2301
|
+
dmVuIG5hbWUuCgogICAgQG1ldGhvZCB0cmlnZ2VyCiAgICBAcHJpdmF0ZQog
|
2302
|
+
ICAgQHBhcmFtIG5hbWUKICAqLwogIHRyaWdnZXI6IGZ1bmN0aW9uKG5hbWUp
|
2303
|
+
IHsKICAgIEVtYmVyLnRyeUludm9rZSh0aGlzLCBuYW1lLCBbXS5zbGljZS5j
|
2304
|
+
YWxsKGFyZ3VtZW50cywgMSkpOwogICAgdGhpcy5fc3VwZXIuYXBwbHkodGhp
|
2305
|
+
cywgYXJndW1lbnRzKTsKICB9LAoKICB0cmlnZ2VyTGF0ZXI6IGZ1bmN0aW9u
|
2306
|
+
KCkgewogICAgdGhpcy5fZGVmZXJyZWRUcmlnZ2Vycy5wdXNoKGFyZ3VtZW50
|
2307
|
+
cyk7CiAgICBvbmNlKHRoaXMsICdfdHJpZ2dlckRlZmVycmVkVHJpZ2dlcnMn
|
2308
|
+
KTsKICB9LAoKICBfdHJpZ2dlckRlZmVycmVkVHJpZ2dlcnM6IGZ1bmN0aW9u
|
2309
|
+
KCkgewogICAgZm9yICh2YXIgaT0wLCBsPXRoaXMuX2RlZmVycmVkVHJpZ2dl
|
2310
|
+
cnMubGVuZ3RoOyBpPGw7IGkrKykgewogICAgICB0aGlzLnRyaWdnZXIuYXBw
|
2311
|
+
bHkodGhpcywgdGhpcy5fZGVmZXJyZWRUcmlnZ2Vyc1tpXSk7CiAgICB9Cgog
|
2312
|
+
ICAgdGhpcy5fZGVmZXJyZWRUcmlnZ2VycyA9IFtdOwogIH0KfSk7CgpEUy5N
|
2313
|
+
b2RlbC5yZW9wZW5DbGFzcyh7CgogIC8qKgogICAgQWxpYXMgRFMuTW9kZWwn
|
2314
|
+
cyBgY3JlYXRlYCBtZXRob2QgdG8gYF9jcmVhdGVgLiBUaGlzIGFsbG93cyB1
|
2315
|
+
cyB0byBjcmVhdGUgRFMuTW9kZWwKICAgIGluc3RhbmNlcyBmcm9tIHdpdGhp
|
2316
|
+
biB0aGUgc3RvcmUsIGJ1dCBpZiBlbmQgdXNlcnMgYWNjaWRlbnRhbGx5IGNh
|
2317
|
+
bGwgYGNyZWF0ZSgpYAogICAgKGluc3RlYWQgb2YgYGNyZWF0ZVJlY29yZCgp
|
2318
|
+
YCksIHdlIGNhbiByYWlzZSBhbiBlcnJvci4KCiAgICBAbWV0aG9kIF9jcmVh
|
2319
|
+
dGUKICAgIEBwcml2YXRlCiAgICBAc3RhdGljCiAgKi8KICBfY3JlYXRlOiBE
|
2320
|
+
Uy5Nb2RlbC5jcmVhdGUsCgogIC8qKgogICAgT3ZlcnJpZGUgdGhlIGNsYXNz
|
2321
|
+
JyBgY3JlYXRlKClgIG1ldGhvZCB0byByYWlzZSBhbiBlcnJvci4gVGhpcyBw
|
2322
|
+
cmV2ZW50cyBlbmQgdXNlcnMKICAgIGZyb20gaW5hZHZlcnRlbnRseSBjYWxs
|
2323
|
+
aW5nIGBjcmVhdGUoKWAgaW5zdGVhZCBvZiBgY3JlYXRlUmVjb3JkKClgLiBU
|
2324
|
+
aGUgc3RvcmUgaXMKICAgIHN0aWxsIGFibGUgdG8gY3JlYXRlIGluc3RhbmNl
|
2325
|
+
cyBieSBjYWxsaW5nIHRoZSBgX2NyZWF0ZSgpYCBtZXRob2QuCgogICAgQG1l
|
2326
|
+
dGhvZCBjcmVhdGUKICAgIEBwcml2YXRlCiAgICBAc3RhdGljCiAgKi8KICBj
|
2327
|
+
cmVhdGU6IGZ1bmN0aW9uKCkgewogICAgdGhyb3cgbmV3IEVtYmVyLkVycm9y
|
2328
|
+
KCJZb3Ugc2hvdWxkIG5vdCBjYWxsIGBjcmVhdGVgIG9uIGEgbW9kZWwuIElu
|
2329
|
+
c3RlYWQsIGNhbGwgYHN0b3JlLmNyZWF0ZVJlY29yZGAgd2l0aCB0aGUgYXR0
|
2330
|
+
cmlidXRlcyB5b3Ugd291bGQgbGlrZSB0byBzZXQuIik7CiAgfQp9KTsKCn0p
|
2331
|
+
KCk7CgoKCihmdW5jdGlvbigpIHsKLyoqCiAgQG1vZHVsZSBlbWJlci1kYXRh
|
2332
|
+
CiovCgp2YXIgZ2V0ID0gRW1iZXIuZ2V0OwoKLyoqCiAgQGNsYXNzIE1vZGVs
|
2333
|
+
CiAgQG5hbWVzcGFjZSBEUwoqLwpEUy5Nb2RlbC5yZW9wZW5DbGFzcyh7CiAg
|
2334
|
+
YXR0cmlidXRlczogRW1iZXIuY29tcHV0ZWQoZnVuY3Rpb24oKSB7CiAgICB2
|
2335
|
+
YXIgbWFwID0gRW1iZXIuTWFwLmNyZWF0ZSgpOwoKICAgIHRoaXMuZWFjaENv
|
2336
|
+
bXB1dGVkUHJvcGVydHkoZnVuY3Rpb24obmFtZSwgbWV0YSkgewogICAgICBp
|
2337
|
+
ZiAobWV0YS5pc0F0dHJpYnV0ZSkgewogICAgICAgIEVtYmVyLmFzc2VydCgi
|
2338
|
+
WW91IG1heSBub3Qgc2V0IGBpZGAgYXMgYW4gYXR0cmlidXRlIG9uIHlvdXIg
|
2339
|
+
bW9kZWwuIFBsZWFzZSByZW1vdmUgYW55IGxpbmVzIHRoYXQgbG9vayBsaWtl
|
2340
|
+
OiBgaWQ6IERTLmF0dHIoJzx0eXBlPicpYCBmcm9tICIgKyB0aGlzLnRvU3Ry
|
2341
|
+
aW5nKCksIG5hbWUgIT09ICdpZCcpOwoKICAgICAgICBtZXRhLm5hbWUgPSBu
|
2342
|
+
YW1lOwogICAgICAgIG1hcC5zZXQobmFtZSwgbWV0YSk7CiAgICAgIH0KICAg
|
2343
|
+
IH0pOwoKICAgIHJldHVybiBtYXA7CiAgfSksCgogIHRyYW5zZm9ybWVkQXR0
|
2344
|
+
cmlidXRlczogRW1iZXIuY29tcHV0ZWQoZnVuY3Rpb24oKSB7CiAgICB2YXIg
|
2345
|
+
bWFwID0gRW1iZXIuTWFwLmNyZWF0ZSgpOwoKICAgIHRoaXMuZWFjaEF0dHJp
|
2346
|
+
YnV0ZShmdW5jdGlvbihrZXksIG1ldGEpIHsKICAgICAgaWYgKG1ldGEudHlw
|
2347
|
+
ZSkgewogICAgICAgIG1hcC5zZXQoa2V5LCBtZXRhLnR5cGUpOwogICAgICB9
|
2348
|
+
CiAgICB9KTsKCiAgICByZXR1cm4gbWFwOwogIH0pLAoKICBlYWNoQXR0cmli
|
2349
|
+
dXRlOiBmdW5jdGlvbihjYWxsYmFjaywgYmluZGluZykgewogICAgZ2V0KHRo
|
2350
|
+
aXMsICdhdHRyaWJ1dGVzJykuZm9yRWFjaChmdW5jdGlvbihuYW1lLCBtZXRh
|
2351
|
+
KSB7CiAgICAgIGNhbGxiYWNrLmNhbGwoYmluZGluZywgbmFtZSwgbWV0YSk7
|
2352
|
+
CiAgICB9LCBiaW5kaW5nKTsKICB9LAoKICBlYWNoVHJhbnNmb3JtZWRBdHRy
|
2353
|
+
aWJ1dGU6IGZ1bmN0aW9uKGNhbGxiYWNrLCBiaW5kaW5nKSB7CiAgICBnZXQo
|
2354
|
+
dGhpcywgJ3RyYW5zZm9ybWVkQXR0cmlidXRlcycpLmZvckVhY2goZnVuY3Rp
|
2355
|
+
b24obmFtZSwgdHlwZSkgewogICAgICBjYWxsYmFjay5jYWxsKGJpbmRpbmcs
|
2356
|
+
IG5hbWUsIHR5cGUpOwogICAgfSk7CiAgfQp9KTsKCgpEUy5Nb2RlbC5yZW9w
|
2357
|
+
ZW4oewogIGVhY2hBdHRyaWJ1dGU6IGZ1bmN0aW9uKGNhbGxiYWNrLCBiaW5k
|
2358
|
+
aW5nKSB7CiAgICB0aGlzLmNvbnN0cnVjdG9yLmVhY2hBdHRyaWJ1dGUoY2Fs
|
2359
|
+
bGJhY2ssIGJpbmRpbmcpOwogIH0KfSk7CgpmdW5jdGlvbiBnZXRBdHRyKHJl
|
2360
|
+
Y29yZCwgb3B0aW9ucywga2V5KSB7CiAgdmFyIGF0dHJpYnV0ZXMgPSBnZXQo
|
2361
|
+
cmVjb3JkLCAnZGF0YScpOwogIHZhciB2YWx1ZSA9IGF0dHJpYnV0ZXNba2V5
|
2362
|
+
XTsKCiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHsKICAgIGlmICh0eXBl
|
2363
|
+
b2Ygb3B0aW9ucy5kZWZhdWx0VmFsdWUgPT09ICJmdW5jdGlvbiIpIHsKICAg
|
2364
|
+
ICAgdmFsdWUgPSBvcHRpb25zLmRlZmF1bHRWYWx1ZSgpOwogICAgfSBlbHNl
|
2365
|
+
IHsKICAgICAgdmFsdWUgPSBvcHRpb25zLmRlZmF1bHRWYWx1ZTsKICAgIH0K
|
2366
|
+
ICB9CgogIHJldHVybiB2YWx1ZTsKfQoKRFMuYXR0ciA9IGZ1bmN0aW9uKHR5
|
2367
|
+
cGUsIG9wdGlvbnMpIHsKICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKCiAg
|
2368
|
+
dmFyIG1ldGEgPSB7CiAgICB0eXBlOiB0eXBlLAogICAgaXNBdHRyaWJ1dGU6
|
2369
|
+
IHRydWUsCiAgICBvcHRpb25zOiBvcHRpb25zCiAgfTsKCiAgcmV0dXJuIEVt
|
2370
|
+
YmVyLmNvbXB1dGVkKGZ1bmN0aW9uKGtleSwgdmFsdWUsIG9sZFZhbHVlKSB7
|
2371
|
+
CiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHsKICAgICAgRW1iZXIu
|
2372
|
+
YXNzZXJ0KCJZb3UgbWF5IG5vdCBzZXQgYGlkYCBhcyBhbiBhdHRyaWJ1dGUg
|
2373
|
+
b24geW91ciBtb2RlbC4gUGxlYXNlIHJlbW92ZSBhbnkgbGluZXMgdGhhdCBs
|
2374
|
+
b29rIGxpa2U6IGBpZDogRFMuYXR0cignPHR5cGU+JylgIGZyb20gIiArIHRo
|
2375
|
+
aXMuY29uc3RydWN0b3IudG9TdHJpbmcoKSwga2V5ICE9PSAnaWQnKTsKICAg
|
2376
|
+
ICAgdGhpcy5zZW5kKCdkaWRTZXRQcm9wZXJ0eScsIHsgbmFtZToga2V5LCBv
|
2377
|
+
bGRWYWx1ZTogdGhpcy5fYXR0cmlidXRlc1trZXldIHx8IHRoaXMuX2luRmxp
|
2378
|
+
Z2h0QXR0cmlidXRlc1trZXldIHx8IHRoaXMuX2RhdGFba2V5XSwgdmFsdWU6
|
2379
|
+
IHZhbHVlIH0pOwogICAgICB0aGlzLl9hdHRyaWJ1dGVzW2tleV0gPSB2YWx1
|
2380
|
+
ZTsKICAgIH0gZWxzZSBpZiAodGhpcy5fYXR0cmlidXRlc1trZXldKSB7CiAg
|
2381
|
+
ICAgIHJldHVybiB0aGlzLl9hdHRyaWJ1dGVzW2tleV07CiAgICB9IGVsc2Ug
|
2382
|
+
ewogICAgICB2YWx1ZSA9IGdldEF0dHIodGhpcywgb3B0aW9ucywga2V5KTsK
|
2383
|
+
ICAgIH0KCiAgICByZXR1cm4gdmFsdWU7CiAgLy8gYGRhdGFgIGlzIG5ldmVy
|
2384
|
+
IHNldCBkaXJlY3RseS4gSG93ZXZlciwgaXQgbWF5IGJlCiAgLy8gaW52YWxp
|
2385
|
+
ZGF0ZWQgZnJvbSB0aGUgc3RhdGUgbWFuYWdlcidzIHNldERhdGEKICAvLyBl
|
2386
|
+
dmVudC4KICB9KS5wcm9wZXJ0eSgnZGF0YScpLm1ldGEobWV0YSk7Cn07CgoK
|
2387
|
+
fSkoKTsKCgoKKGZ1bmN0aW9uKCkgewovKioKICBAbW9kdWxlIGVtYmVyLWRh
|
2388
|
+
dGEKKi8KCn0pKCk7CgoKCihmdW5jdGlvbigpIHsKLyoqCiAgQG1vZHVsZSBl
|
2389
|
+
bWJlci1kYXRhCiovCgovKioKICBBbiBBdHRyaWJ1dGVDaGFuZ2Ugb2JqZWN0
|
2390
|
+
IGlzIGNyZWF0ZWQgd2hlbmV2ZXIgYSByZWNvcmQncwogIGF0dHJpYnV0ZSBj
|
2391
|
+
aGFuZ2VzIHZhbHVlLiBJdCBpcyB1c2VkIHRvIHRyYWNrIGNoYW5nZXMgdG8g
|
2392
|
+
YQogIHJlY29yZCBiZXR3ZWVuIHRyYW5zYWN0aW9uIGNvbW1pdHMuCgogIEBj
|
2393
|
+
bGFzcyBBdHRyaWJ1dGVDaGFuZ2UKICBAbmFtZXNwYWNlIERTCiAgQHByaXZh
|
2394
|
+
dGUKICBAY29uc3RydWN0b3IKKi8KdmFyIEF0dHJpYnV0ZUNoYW5nZSA9IERT
|
2395
|
+
LkF0dHJpYnV0ZUNoYW5nZSA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICB0aGlz
|
2396
|
+
LnJlY29yZCA9IG9wdGlvbnMucmVjb3JkOwogIHRoaXMuc3RvcmUgPSBvcHRp
|
2397
|
+
b25zLnN0b3JlOwogIHRoaXMubmFtZSA9IG9wdGlvbnMubmFtZTsKICB0aGlz
|
2398
|
+
LnZhbHVlID0gb3B0aW9ucy52YWx1ZTsKICB0aGlzLm9sZFZhbHVlID0gb3B0
|
2399
|
+
aW9ucy5vbGRWYWx1ZTsKfTsKCkF0dHJpYnV0ZUNoYW5nZS5jcmVhdGVDaGFu
|
2400
|
+
Z2UgPSBmdW5jdGlvbihvcHRpb25zKSB7CiAgcmV0dXJuIG5ldyBBdHRyaWJ1
|
2401
|
+
dGVDaGFuZ2Uob3B0aW9ucyk7Cn07CgpBdHRyaWJ1dGVDaGFuZ2UucHJvdG90
|
2402
|
+
eXBlID0gewogIHN5bmM6IGZ1bmN0aW9uKCkgewogICAgaWYgKHRoaXMudmFs
|
2403
|
+
dWUgIT09IHRoaXMub2xkVmFsdWUpIHsKICAgICAgdGhpcy5yZWNvcmQuc2Vu
|
2404
|
+
ZCgnYmVjb21lRGlydHknKTsKICAgICAgdGhpcy5yZWNvcmQudXBkYXRlUmVj
|
2405
|
+
b3JkQXJyYXlzTGF0ZXIoKTsKICAgIH0KCiAgICAvLyBUT0RPOiBVc2UgdGhp
|
2406
|
+
cyBvYmplY3QgaW4gdGhlIGNvbW1pdCBwcm9jZXNzCiAgICB0aGlzLmRlc3Ry
|
2407
|
+
b3koKTsKICB9LAoKICAvKioKICAgIElmIHRoZSBBdHRyaWJ1dGVDaGFuZ2Ug
|
2408
|
+
aXMgZGVzdHJveWVkIChlaXRoZXIgYnkgYmVpbmcgcm9sbGVkIGJhY2sKICAg
|
2409
|
+
IG9yIGJlaW5nIGNvbW1pdHRlZCksIHJlbW92ZSBpdCBmcm9tIHRoZSBsaXN0
|
2410
|
+
IG9mIHBlbmRpbmcgY2hhbmdlcwogICAgb24gdGhlIHJlY29yZC4KCiAgICBA
|
2411
|
+
bWV0aG9kIGRlc3Ryb3kKICAqLwogIGRlc3Ryb3k6IGZ1bmN0aW9uKCkgewog
|
2412
|
+
ICAgZGVsZXRlIHRoaXMucmVjb3JkLl9jaGFuZ2VzVG9TeW5jW3RoaXMubmFt
|
2413
|
+
ZV07CiAgfQp9OwoKfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewovKioKICBAbW9k
|
2414
|
+
dWxlIGVtYmVyLWRhdGEKKi8KCnZhciBnZXQgPSBFbWJlci5nZXQsIHNldCA9
|
2415
|
+
IEVtYmVyLnNldDsKdmFyIGZvckVhY2ggPSBFbWJlci5FbnVtZXJhYmxlVXRp
|
2416
|
+
bHMuZm9yRWFjaDsKCi8qKgogIEBjbGFzcyBSZWxhdGlvbnNoaXBDaGFuZ2UK
|
2417
|
+
ICBAbmFtZXNwYWNlIERTCiAgQHByaXZhdGUKICBAY29uc3RydXRvcgoqLwpE
|
2418
|
+
Uy5SZWxhdGlvbnNoaXBDaGFuZ2UgPSBmdW5jdGlvbihvcHRpb25zKSB7CiAg
|
2419
|
+
dGhpcy5wYXJlbnRSZWNvcmQgPSBvcHRpb25zLnBhcmVudFJlY29yZDsKICB0
|
2420
|
+
aGlzLmNoaWxkUmVjb3JkID0gb3B0aW9ucy5jaGlsZFJlY29yZDsKICB0aGlz
|
2421
|
+
LmZpcnN0UmVjb3JkID0gb3B0aW9ucy5maXJzdFJlY29yZDsKICB0aGlzLmZp
|
2422
|
+
cnN0UmVjb3JkS2luZCA9IG9wdGlvbnMuZmlyc3RSZWNvcmRLaW5kOwogIHRo
|
2423
|
+
aXMuZmlyc3RSZWNvcmROYW1lID0gb3B0aW9ucy5maXJzdFJlY29yZE5hbWU7
|
2424
|
+
CiAgdGhpcy5zZWNvbmRSZWNvcmQgPSBvcHRpb25zLnNlY29uZFJlY29yZDsK
|
2425
|
+
ICB0aGlzLnNlY29uZFJlY29yZEtpbmQgPSBvcHRpb25zLnNlY29uZFJlY29y
|
2426
|
+
ZEtpbmQ7CiAgdGhpcy5zZWNvbmRSZWNvcmROYW1lID0gb3B0aW9ucy5zZWNv
|
2427
|
+
bmRSZWNvcmROYW1lOwogIHRoaXMuY2hhbmdlVHlwZSA9IG9wdGlvbnMuY2hh
|
2428
|
+
bmdlVHlwZTsKICB0aGlzLnN0b3JlID0gb3B0aW9ucy5zdG9yZTsKCiAgdGhp
|
2429
|
+
cy5jb21taXR0ZWQgPSB7fTsKfTsKCi8qKgogIEBjbGFzcyBSZWxhdGlvbnNo
|
2430
|
+
aXBDaGFuZ2VBZGQKICBAbmFtZXNwYWNlIERTCiAgQHByaXZhdGUKICBAY29u
|
2431
|
+
c3RydXRvcgoqLwpEUy5SZWxhdGlvbnNoaXBDaGFuZ2VBZGQgPSBmdW5jdGlv
|
2432
|
+
bihvcHRpb25zKXsKICBEUy5SZWxhdGlvbnNoaXBDaGFuZ2UuY2FsbCh0aGlz
|
2433
|
+
LCBvcHRpb25zKTsKfTsKCi8qKgogIEBjbGFzcyBSZWxhdGlvbnNoaXBDaGFu
|
2434
|
+
Z2VSZW1vdmUKICBAbmFtZXNwYWNlIERTCiAgQHByaXZhdGUKICBAY29uc3Ry
|
2435
|
+
dXRvcgoqLwpEUy5SZWxhdGlvbnNoaXBDaGFuZ2VSZW1vdmUgPSBmdW5jdGlv
|
2436
|
+
bihvcHRpb25zKXsKICBEUy5SZWxhdGlvbnNoaXBDaGFuZ2UuY2FsbCh0aGlz
|
2437
|
+
LCBvcHRpb25zKTsKfTsKCkRTLlJlbGF0aW9uc2hpcENoYW5nZS5jcmVhdGUg
|
2438
|
+
PSBmdW5jdGlvbihvcHRpb25zKSB7CiAgcmV0dXJuIG5ldyBEUy5SZWxhdGlv
|
2439
|
+
bnNoaXBDaGFuZ2Uob3B0aW9ucyk7Cn07CgpEUy5SZWxhdGlvbnNoaXBDaGFu
|
2440
|
+
Z2VBZGQuY3JlYXRlID0gZnVuY3Rpb24ob3B0aW9ucykgewogIHJldHVybiBu
|
2441
|
+
ZXcgRFMuUmVsYXRpb25zaGlwQ2hhbmdlQWRkKG9wdGlvbnMpOwp9OwoKRFMu
|
2442
|
+
UmVsYXRpb25zaGlwQ2hhbmdlUmVtb3ZlLmNyZWF0ZSA9IGZ1bmN0aW9uKG9w
|
2443
|
+
dGlvbnMpIHsKICByZXR1cm4gbmV3IERTLlJlbGF0aW9uc2hpcENoYW5nZVJl
|
2444
|
+
bW92ZShvcHRpb25zKTsKfTsKCkRTLk9uZVRvTWFueUNoYW5nZSA9IHt9OwpE
|
2445
|
+
Uy5PbmVUb05vbmVDaGFuZ2UgPSB7fTsKRFMuTWFueVRvTm9uZUNoYW5nZSA9
|
2446
|
+
IHt9OwpEUy5PbmVUb09uZUNoYW5nZSA9IHt9OwpEUy5NYW55VG9NYW55Q2hh
|
2447
|
+
bmdlID0ge307CgpEUy5SZWxhdGlvbnNoaXBDaGFuZ2UuX2NyZWF0ZUNoYW5n
|
2448
|
+
ZSA9IGZ1bmN0aW9uKG9wdGlvbnMpewogIGlmKG9wdGlvbnMuY2hhbmdlVHlw
|
2449
|
+
ZSA9PT0gImFkZCIpewogICAgcmV0dXJuIERTLlJlbGF0aW9uc2hpcENoYW5n
|
2450
|
+
ZUFkZC5jcmVhdGUob3B0aW9ucyk7CiAgfQogIGlmKG9wdGlvbnMuY2hhbmdl
|
2451
|
+
VHlwZSA9PT0gInJlbW92ZSIpewogICAgcmV0dXJuIERTLlJlbGF0aW9uc2hp
|
2452
|
+
cENoYW5nZVJlbW92ZS5jcmVhdGUob3B0aW9ucyk7CiAgfQp9OwoKCkRTLlJl
|
2453
|
+
bGF0aW9uc2hpcENoYW5nZS5kZXRlcm1pbmVSZWxhdGlvbnNoaXBUeXBlID0g
|
2454
|
+
ZnVuY3Rpb24ocmVjb3JkVHlwZSwga25vd25TaWRlKXsKICB2YXIga25vd25L
|
2455
|
+
ZXkgPSBrbm93blNpZGUua2V5LCBrZXksIG90aGVyS2luZDsKICB2YXIga25v
|
2456
|
+
d25LaW5kID0ga25vd25TaWRlLmtpbmQ7CgogIHZhciBpbnZlcnNlID0gcmVj
|
2457
|
+
b3JkVHlwZS5pbnZlcnNlRm9yKGtub3duS2V5KTsKCiAgaWYgKGludmVyc2Up
|
2458
|
+
ewogICAga2V5ID0gaW52ZXJzZS5uYW1lOwogICAgb3RoZXJLaW5kID0gaW52
|
2459
|
+
ZXJzZS5raW5kOwogIH0KCiAgaWYgKCFpbnZlcnNlKXsKICAgIHJldHVybiBr
|
2460
|
+
bm93bktpbmQgPT09ICJiZWxvbmdzVG8iID8gIm9uZVRvTm9uZSIgOiAibWFu
|
2461
|
+
eVRvTm9uZSI7CiAgfQogIGVsc2V7CiAgICBpZihvdGhlcktpbmQgPT09ICJi
|
2462
|
+
ZWxvbmdzVG8iKXsKICAgICAgcmV0dXJuIGtub3duS2luZCA9PT0gImJlbG9u
|
2463
|
+
Z3NUbyIgPyAib25lVG9PbmUiIDogIm1hbnlUb09uZSI7CiAgICB9CiAgICBl
|
2464
|
+
bHNlewogICAgICByZXR1cm4ga25vd25LaW5kID09PSAiYmVsb25nc1RvIiA/
|
2465
|
+
ICJvbmVUb01hbnkiIDogIm1hbnlUb01hbnkiOwogICAgfQogIH0KCn07CgpE
|
2466
|
+
Uy5SZWxhdGlvbnNoaXBDaGFuZ2UuY3JlYXRlQ2hhbmdlID0gZnVuY3Rpb24o
|
2467
|
+
Zmlyc3RSZWNvcmQsIHNlY29uZFJlY29yZCwgc3RvcmUsIG9wdGlvbnMpewog
|
2468
|
+
IC8vIEdldCB0aGUgdHlwZSBvZiB0aGUgY2hpbGQgYmFzZWQgb24gdGhlIGNo
|
2469
|
+
aWxkJ3MgY2xpZW50IElECiAgdmFyIGZpcnN0UmVjb3JkVHlwZSA9IGZpcnN0
|
2470
|
+
UmVjb3JkLmNvbnN0cnVjdG9yLCBjaGFuZ2VUeXBlOwogIGNoYW5nZVR5cGUg
|
2471
|
+
PSBEUy5SZWxhdGlvbnNoaXBDaGFuZ2UuZGV0ZXJtaW5lUmVsYXRpb25zaGlw
|
2472
|
+
VHlwZShmaXJzdFJlY29yZFR5cGUsIG9wdGlvbnMpOwogIGlmIChjaGFuZ2VU
|
2473
|
+
eXBlID09PSAib25lVG9NYW55Iil7CiAgICByZXR1cm4gRFMuT25lVG9NYW55
|
2474
|
+
Q2hhbmdlLmNyZWF0ZUNoYW5nZShmaXJzdFJlY29yZCwgc2Vjb25kUmVjb3Jk
|
2475
|
+
LCBzdG9yZSwgb3B0aW9ucyk7CiAgfQogIGVsc2UgaWYgKGNoYW5nZVR5cGUg
|
2476
|
+
PT09ICJtYW55VG9PbmUiKXsKICAgIHJldHVybiBEUy5PbmVUb01hbnlDaGFu
|
2477
|
+
Z2UuY3JlYXRlQ2hhbmdlKHNlY29uZFJlY29yZCwgZmlyc3RSZWNvcmQsIHN0
|
2478
|
+
b3JlLCBvcHRpb25zKTsKICB9CiAgZWxzZSBpZiAoY2hhbmdlVHlwZSA9PT0g
|
2479
|
+
Im9uZVRvTm9uZSIpewogICAgcmV0dXJuIERTLk9uZVRvTm9uZUNoYW5nZS5j
|
2480
|
+
cmVhdGVDaGFuZ2UoZmlyc3RSZWNvcmQsIHNlY29uZFJlY29yZCwgc3RvcmUs
|
2481
|
+
IG9wdGlvbnMpOwogIH0KICBlbHNlIGlmIChjaGFuZ2VUeXBlID09PSAibWFu
|
2482
|
+
eVRvTm9uZSIpewogICAgcmV0dXJuIERTLk1hbnlUb05vbmVDaGFuZ2UuY3Jl
|
2483
|
+
YXRlQ2hhbmdlKGZpcnN0UmVjb3JkLCBzZWNvbmRSZWNvcmQsIHN0b3JlLCBv
|
2484
|
+
cHRpb25zKTsKICB9CiAgZWxzZSBpZiAoY2hhbmdlVHlwZSA9PT0gIm9uZVRv
|
2485
|
+
T25lIil7CiAgICByZXR1cm4gRFMuT25lVG9PbmVDaGFuZ2UuY3JlYXRlQ2hh
|
2486
|
+
bmdlKGZpcnN0UmVjb3JkLCBzZWNvbmRSZWNvcmQsIHN0b3JlLCBvcHRpb25z
|
2487
|
+
KTsKICB9CiAgZWxzZSBpZiAoY2hhbmdlVHlwZSA9PT0gIm1hbnlUb01hbnki
|
2488
|
+
KXsKICAgIHJldHVybiBEUy5NYW55VG9NYW55Q2hhbmdlLmNyZWF0ZUNoYW5n
|
2489
|
+
ZShmaXJzdFJlY29yZCwgc2Vjb25kUmVjb3JkLCBzdG9yZSwgb3B0aW9ucyk7
|
2490
|
+
CiAgfQp9OwoKRFMuT25lVG9Ob25lQ2hhbmdlLmNyZWF0ZUNoYW5nZSA9IGZ1
|
2491
|
+
bmN0aW9uKGNoaWxkUmVjb3JkLCBwYXJlbnRSZWNvcmQsIHN0b3JlLCBvcHRp
|
2492
|
+
b25zKSB7CiAgdmFyIGtleSA9IG9wdGlvbnMua2V5OwogIHZhciBjaGFuZ2Ug
|
2493
|
+
PSBEUy5SZWxhdGlvbnNoaXBDaGFuZ2UuX2NyZWF0ZUNoYW5nZSh7CiAgICAg
|
2494
|
+
IHBhcmVudFJlY29yZDogcGFyZW50UmVjb3JkLAogICAgICBjaGlsZFJlY29y
|
2495
|
+
ZDogY2hpbGRSZWNvcmQsCiAgICAgIGZpcnN0UmVjb3JkOiBjaGlsZFJlY29y
|
2496
|
+
ZCwKICAgICAgc3RvcmU6IHN0b3JlLAogICAgICBjaGFuZ2VUeXBlOiBvcHRp
|
2497
|
+
b25zLmNoYW5nZVR5cGUsCiAgICAgIGZpcnN0UmVjb3JkTmFtZToga2V5LAog
|
2498
|
+
ICAgICBmaXJzdFJlY29yZEtpbmQ6ICJiZWxvbmdzVG8iCiAgfSk7CgogIHN0
|
2499
|
+
b3JlLmFkZFJlbGF0aW9uc2hpcENoYW5nZUZvcihjaGlsZFJlY29yZCwga2V5
|
2500
|
+
LCBwYXJlbnRSZWNvcmQsIG51bGwsIGNoYW5nZSk7CgogIHJldHVybiBjaGFu
|
2501
|
+
Z2U7Cn07CgpEUy5NYW55VG9Ob25lQ2hhbmdlLmNyZWF0ZUNoYW5nZSA9IGZ1
|
2502
|
+
bmN0aW9uKGNoaWxkUmVjb3JkLCBwYXJlbnRSZWNvcmQsIHN0b3JlLCBvcHRp
|
2503
|
+
b25zKSB7CiAgdmFyIGtleSA9IG9wdGlvbnMua2V5OwogIHZhciBjaGFuZ2Ug
|
2504
|
+
PSBEUy5SZWxhdGlvbnNoaXBDaGFuZ2UuX2NyZWF0ZUNoYW5nZSh7CiAgICAg
|
2505
|
+
IHBhcmVudFJlY29yZDogY2hpbGRSZWNvcmQsCiAgICAgIGNoaWxkUmVjb3Jk
|
2506
|
+
OiBwYXJlbnRSZWNvcmQsCiAgICAgIHNlY29uZFJlY29yZDogY2hpbGRSZWNv
|
2507
|
+
cmQsCiAgICAgIHN0b3JlOiBzdG9yZSwKICAgICAgY2hhbmdlVHlwZTogb3B0
|
2508
|
+
aW9ucy5jaGFuZ2VUeXBlLAogICAgICBzZWNvbmRSZWNvcmROYW1lOiBvcHRp
|
2509
|
+
b25zLmtleSwKICAgICAgc2Vjb25kUmVjb3JkS2luZDogImhhc01hbnkiCiAg
|
2510
|
+
fSk7CgogIHN0b3JlLmFkZFJlbGF0aW9uc2hpcENoYW5nZUZvcihjaGlsZFJl
|
2511
|
+
Y29yZCwga2V5LCBwYXJlbnRSZWNvcmQsIG51bGwsIGNoYW5nZSk7CiAgcmV0
|
2512
|
+
dXJuIGNoYW5nZTsKfTsKCgpEUy5NYW55VG9NYW55Q2hhbmdlLmNyZWF0ZUNo
|
2513
|
+
YW5nZSA9IGZ1bmN0aW9uKGNoaWxkUmVjb3JkLCBwYXJlbnRSZWNvcmQsIHN0
|
2514
|
+
b3JlLCBvcHRpb25zKSB7CiAgLy8gSWYgdGhlIG5hbWUgb2YgdGhlIGJlbG9u
|
2515
|
+
Z3NUbyBzaWRlIG9mIHRoZSByZWxhdGlvbnNoaXAgaXMgc3BlY2lmaWVkLAog
|
2516
|
+
IC8vIHVzZSB0aGF0CiAgLy8gSWYgdGhlIHR5cGUgb2YgdGhlIHBhcmVudCBp
|
2517
|
+
cyBzcGVjaWZpZWQsIGxvb2sgaXQgdXAgb24gdGhlIGNoaWxkJ3MgdHlwZQog
|
2518
|
+
IC8vIGRlZmluaXRpb24uCiAgdmFyIGtleSA9IG9wdGlvbnMua2V5OwoKICB2
|
2519
|
+
YXIgY2hhbmdlID0gRFMuUmVsYXRpb25zaGlwQ2hhbmdlLl9jcmVhdGVDaGFu
|
2520
|
+
Z2UoewogICAgICBwYXJlbnRSZWNvcmQ6IHBhcmVudFJlY29yZCwKICAgICAg
|
2521
|
+
Y2hpbGRSZWNvcmQ6IGNoaWxkUmVjb3JkLAogICAgICBmaXJzdFJlY29yZDog
|
2522
|
+
Y2hpbGRSZWNvcmQsCiAgICAgIHNlY29uZFJlY29yZDogcGFyZW50UmVjb3Jk
|
2523
|
+
LAogICAgICBmaXJzdFJlY29yZEtpbmQ6ICJoYXNNYW55IiwKICAgICAgc2Vj
|
2524
|
+
b25kUmVjb3JkS2luZDogImhhc01hbnkiLAogICAgICBzdG9yZTogc3RvcmUs
|
2525
|
+
CiAgICAgIGNoYW5nZVR5cGU6IG9wdGlvbnMuY2hhbmdlVHlwZSwKICAgICAg
|
2526
|
+
Zmlyc3RSZWNvcmROYW1lOiAga2V5CiAgfSk7CgogIHN0b3JlLmFkZFJlbGF0
|
2527
|
+
aW9uc2hpcENoYW5nZUZvcihjaGlsZFJlY29yZCwga2V5LCBwYXJlbnRSZWNv
|
2528
|
+
cmQsIG51bGwsIGNoYW5nZSk7CgoKICByZXR1cm4gY2hhbmdlOwp9OwoKRFMu
|
2529
|
+
T25lVG9PbmVDaGFuZ2UuY3JlYXRlQ2hhbmdlID0gZnVuY3Rpb24oY2hpbGRS
|
2530
|
+
ZWNvcmQsIHBhcmVudFJlY29yZCwgc3RvcmUsIG9wdGlvbnMpIHsKICB2YXIg
|
2531
|
+
a2V5OwoKICAvLyBJZiB0aGUgbmFtZSBvZiB0aGUgYmVsb25nc1RvIHNpZGUg
|
2532
|
+
b2YgdGhlIHJlbGF0aW9uc2hpcCBpcyBzcGVjaWZpZWQsCiAgLy8gdXNlIHRo
|
2533
|
+
YXQKICAvLyBJZiB0aGUgdHlwZSBvZiB0aGUgcGFyZW50IGlzIHNwZWNpZmll
|
2534
|
+
ZCwgbG9vayBpdCB1cCBvbiB0aGUgY2hpbGQncyB0eXBlCiAgLy8gZGVmaW5p
|
2535
|
+
dGlvbi4KICBpZiAob3B0aW9ucy5wYXJlbnRUeXBlKSB7CiAgICBrZXkgPSBv
|
2536
|
+
cHRpb25zLnBhcmVudFR5cGUuaW52ZXJzZUZvcihvcHRpb25zLmtleSkubmFt
|
2537
|
+
ZTsKICB9IGVsc2UgaWYgKG9wdGlvbnMua2V5KSB7CiAgICBrZXkgPSBvcHRp
|
2538
|
+
b25zLmtleTsKICB9IGVsc2UgewogICAgRW1iZXIuYXNzZXJ0KCJZb3UgbXVz
|
2539
|
+
dCBwYXNzIGVpdGhlciBhIHBhcmVudFR5cGUgb3IgYmVsb25nc1RvTmFtZSBv
|
2540
|
+
cHRpb24gdG8gT25lVG9NYW55Q2hhbmdlLmZvckNoaWxkQW5kUGFyZW50Iiwg
|
2541
|
+
ZmFsc2UpOwogIH0KCiAgdmFyIGNoYW5nZSA9IERTLlJlbGF0aW9uc2hpcENo
|
2542
|
+
YW5nZS5fY3JlYXRlQ2hhbmdlKHsKICAgICAgcGFyZW50UmVjb3JkOiBwYXJl
|
2543
|
+
bnRSZWNvcmQsCiAgICAgIGNoaWxkUmVjb3JkOiBjaGlsZFJlY29yZCwKICAg
|
2544
|
+
ICAgZmlyc3RSZWNvcmQ6IGNoaWxkUmVjb3JkLAogICAgICBzZWNvbmRSZWNv
|
2545
|
+
cmQ6IHBhcmVudFJlY29yZCwKICAgICAgZmlyc3RSZWNvcmRLaW5kOiAiYmVs
|
2546
|
+
b25nc1RvIiwKICAgICAgc2Vjb25kUmVjb3JkS2luZDogImJlbG9uZ3NUbyIs
|
2547
|
+
CiAgICAgIHN0b3JlOiBzdG9yZSwKICAgICAgY2hhbmdlVHlwZTogb3B0aW9u
|
2548
|
+
cy5jaGFuZ2VUeXBlLAogICAgICBmaXJzdFJlY29yZE5hbWU6ICBrZXkKICB9
|
2549
|
+
KTsKCiAgc3RvcmUuYWRkUmVsYXRpb25zaGlwQ2hhbmdlRm9yKGNoaWxkUmVj
|
2550
|
+
b3JkLCBrZXksIHBhcmVudFJlY29yZCwgbnVsbCwgY2hhbmdlKTsKCgogIHJl
|
2551
|
+
dHVybiBjaGFuZ2U7Cn07CgpEUy5PbmVUb09uZUNoYW5nZS5tYWludGFpbklu
|
2552
|
+
dmFyaWFudCA9IGZ1bmN0aW9uKG9wdGlvbnMsIHN0b3JlLCBjaGlsZFJlY29y
|
2553
|
+
ZCwga2V5KXsKICBpZiAob3B0aW9ucy5jaGFuZ2VUeXBlID09PSAiYWRkIiAm
|
2554
|
+
JiBzdG9yZS5yZWNvcmRJc01hdGVyaWFsaXplZChjaGlsZFJlY29yZCkpIHsK
|
2555
|
+
ICAgIHZhciBvbGRQYXJlbnQgPSBnZXQoY2hpbGRSZWNvcmQsIGtleSk7CiAg
|
2556
|
+
ICBpZiAob2xkUGFyZW50KXsKICAgICAgdmFyIGNvcnJlc3BvbmRpbmdDaGFu
|
2557
|
+
Z2UgPSBEUy5PbmVUb09uZUNoYW5nZS5jcmVhdGVDaGFuZ2UoY2hpbGRSZWNv
|
2558
|
+
cmQsIG9sZFBhcmVudCwgc3RvcmUsIHsKICAgICAgICAgIHBhcmVudFR5cGU6
|
2559
|
+
IG9wdGlvbnMucGFyZW50VHlwZSwKICAgICAgICAgIGhhc01hbnlOYW1lOiBv
|
2560
|
+
cHRpb25zLmhhc01hbnlOYW1lLAogICAgICAgICAgY2hhbmdlVHlwZTogInJl
|
2561
|
+
bW92ZSIsCiAgICAgICAgICBrZXk6IG9wdGlvbnMua2V5CiAgICAgICAgfSk7
|
2562
|
+
CiAgICAgIHN0b3JlLmFkZFJlbGF0aW9uc2hpcENoYW5nZUZvcihjaGlsZFJl
|
2563
|
+
Y29yZCwga2V5LCBvcHRpb25zLnBhcmVudFJlY29yZCAsIG51bGwsIGNvcnJl
|
2564
|
+
c3BvbmRpbmdDaGFuZ2UpOwogICAgIGNvcnJlc3BvbmRpbmdDaGFuZ2Uuc3lu
|
2565
|
+
YygpOwogICAgfQogIH0KfTsKCkRTLk9uZVRvTWFueUNoYW5nZS5jcmVhdGVD
|
2566
|
+
aGFuZ2UgPSBmdW5jdGlvbihjaGlsZFJlY29yZCwgcGFyZW50UmVjb3JkLCBz
|
2567
|
+
dG9yZSwgb3B0aW9ucykgewogIHZhciBrZXk7CgogIC8vIElmIHRoZSBuYW1l
|
2568
|
+
IG9mIHRoZSBiZWxvbmdzVG8gc2lkZSBvZiB0aGUgcmVsYXRpb25zaGlwIGlz
|
2569
|
+
IHNwZWNpZmllZCwKICAvLyB1c2UgdGhhdAogIC8vIElmIHRoZSB0eXBlIG9m
|
2570
|
+
IHRoZSBwYXJlbnQgaXMgc3BlY2lmaWVkLCBsb29rIGl0IHVwIG9uIHRoZSBj
|
2571
|
+
aGlsZCdzIHR5cGUKICAvLyBkZWZpbml0aW9uLgogIGlmIChvcHRpb25zLnBh
|
2572
|
+
cmVudFR5cGUpIHsKICAgIGtleSA9IG9wdGlvbnMucGFyZW50VHlwZS5pbnZl
|
2573
|
+
cnNlRm9yKG9wdGlvbnMua2V5KS5uYW1lOwogICAgRFMuT25lVG9NYW55Q2hh
|
2574
|
+
bmdlLm1haW50YWluSW52YXJpYW50KCBvcHRpb25zLCBzdG9yZSwgY2hpbGRS
|
2575
|
+
ZWNvcmQsIGtleSApOwogIH0gZWxzZSBpZiAob3B0aW9ucy5rZXkpIHsKICAg
|
2576
|
+
IGtleSA9IG9wdGlvbnMua2V5OwogIH0gZWxzZSB7CiAgICBFbWJlci5hc3Nl
|
2577
|
+
cnQoIllvdSBtdXN0IHBhc3MgZWl0aGVyIGEgcGFyZW50VHlwZSBvciBiZWxv
|
2578
|
+
bmdzVG9OYW1lIG9wdGlvbiB0byBPbmVUb01hbnlDaGFuZ2UuZm9yQ2hpbGRB
|
2579
|
+
bmRQYXJlbnQiLCBmYWxzZSk7CiAgfQoKICB2YXIgY2hhbmdlID0gRFMuUmVs
|
2580
|
+
YXRpb25zaGlwQ2hhbmdlLl9jcmVhdGVDaGFuZ2UoewogICAgICBwYXJlbnRS
|
2581
|
+
ZWNvcmQ6IHBhcmVudFJlY29yZCwKICAgICAgY2hpbGRSZWNvcmQ6IGNoaWxk
|
2582
|
+
UmVjb3JkLAogICAgICBmaXJzdFJlY29yZDogY2hpbGRSZWNvcmQsCiAgICAg
|
2583
|
+
IHNlY29uZFJlY29yZDogcGFyZW50UmVjb3JkLAogICAgICBmaXJzdFJlY29y
|
2584
|
+
ZEtpbmQ6ICJiZWxvbmdzVG8iLAogICAgICBzZWNvbmRSZWNvcmRLaW5kOiAi
|
2585
|
+
aGFzTWFueSIsCiAgICAgIHN0b3JlOiBzdG9yZSwKICAgICAgY2hhbmdlVHlw
|
2586
|
+
ZTogb3B0aW9ucy5jaGFuZ2VUeXBlLAogICAgICBmaXJzdFJlY29yZE5hbWU6
|
2587
|
+
ICBrZXkKICB9KTsKCiAgc3RvcmUuYWRkUmVsYXRpb25zaGlwQ2hhbmdlRm9y
|
2588
|
+
KGNoaWxkUmVjb3JkLCBrZXksIHBhcmVudFJlY29yZCwgY2hhbmdlLmdldFNl
|
2589
|
+
Y29uZFJlY29yZE5hbWUoKSwgY2hhbmdlKTsKCgogIHJldHVybiBjaGFuZ2U7
|
2590
|
+
Cn07CgoKRFMuT25lVG9NYW55Q2hhbmdlLm1haW50YWluSW52YXJpYW50ID0g
|
2591
|
+
ZnVuY3Rpb24ob3B0aW9ucywgc3RvcmUsIGNoaWxkUmVjb3JkLCBrZXkpewog
|
2592
|
+
IGlmIChvcHRpb25zLmNoYW5nZVR5cGUgPT09ICJhZGQiICYmIGNoaWxkUmVj
|
2593
|
+
b3JkKSB7CiAgICB2YXIgb2xkUGFyZW50ID0gZ2V0KGNoaWxkUmVjb3JkLCBr
|
2594
|
+
ZXkpOwogICAgaWYgKG9sZFBhcmVudCl7CiAgICAgIHZhciBjb3JyZXNwb25k
|
2595
|
+
aW5nQ2hhbmdlID0gRFMuT25lVG9NYW55Q2hhbmdlLmNyZWF0ZUNoYW5nZShj
|
2596
|
+
aGlsZFJlY29yZCwgb2xkUGFyZW50LCBzdG9yZSwgewogICAgICAgICAgcGFy
|
2597
|
+
ZW50VHlwZTogb3B0aW9ucy5wYXJlbnRUeXBlLAogICAgICAgICAgaGFzTWFu
|
2598
|
+
eU5hbWU6IG9wdGlvbnMuaGFzTWFueU5hbWUsCiAgICAgICAgICBjaGFuZ2VU
|
2599
|
+
eXBlOiAicmVtb3ZlIiwKICAgICAgICAgIGtleTogb3B0aW9ucy5rZXkKICAg
|
2600
|
+
ICAgICB9KTsKICAgICAgc3RvcmUuYWRkUmVsYXRpb25zaGlwQ2hhbmdlRm9y
|
2601
|
+
KGNoaWxkUmVjb3JkLCBrZXksIG9wdGlvbnMucGFyZW50UmVjb3JkLCBjb3Jy
|
2602
|
+
ZXNwb25kaW5nQ2hhbmdlLmdldFNlY29uZFJlY29yZE5hbWUoKSwgY29ycmVz
|
2603
|
+
cG9uZGluZ0NoYW5nZSk7CiAgICAgIGNvcnJlc3BvbmRpbmdDaGFuZ2Uuc3lu
|
2604
|
+
YygpOwogICAgfQogIH0KfTsKCi8qKgogIEBjbGFzcyBSZWxhdGlvbnNoaXBD
|
2605
|
+
aGFuZ2UKICBAbmFtZXNwYWNlIERTCiovCkRTLlJlbGF0aW9uc2hpcENoYW5n
|
2606
|
+
ZS5wcm90b3R5cGUgPSB7CgogIGdldFNlY29uZFJlY29yZE5hbWU6IGZ1bmN0
|
2607
|
+
aW9uKCkgewogICAgdmFyIG5hbWUgPSB0aGlzLnNlY29uZFJlY29yZE5hbWUs
|
2608
|
+
IHBhcmVudDsKCiAgICBpZiAoIW5hbWUpIHsKICAgICAgcGFyZW50ID0gdGhp
|
2609
|
+
cy5zZWNvbmRSZWNvcmQ7CiAgICAgIGlmICghcGFyZW50KSB7IHJldHVybjsg
|
2610
|
+
fQoKICAgICAgdmFyIGNoaWxkVHlwZSA9IHRoaXMuZmlyc3RSZWNvcmQuY29u
|
2611
|
+
c3RydWN0b3I7CiAgICAgIHZhciBpbnZlcnNlID0gY2hpbGRUeXBlLmludmVy
|
2612
|
+
c2VGb3IodGhpcy5maXJzdFJlY29yZE5hbWUpOwogICAgICB0aGlzLnNlY29u
|
2613
|
+
ZFJlY29yZE5hbWUgPSBpbnZlcnNlLm5hbWU7CiAgICB9CgogICAgcmV0dXJu
|
2614
|
+
IHRoaXMuc2Vjb25kUmVjb3JkTmFtZTsKICB9LAoKICAvKioKICAgIEdldCB0
|
2615
|
+
aGUgbmFtZSBvZiB0aGUgcmVsYXRpb25zaGlwIG9uIHRoZSBiZWxvbmdzVG8g
|
2616
|
+
c2lkZS4KCiAgICBAbWV0aG9kIGdldEZpcnN0UmVjb3JkTmFtZQogICAgQHJl
|
2617
|
+
dHVybiB7U3RyaW5nfQogICovCiAgZ2V0Rmlyc3RSZWNvcmROYW1lOiBmdW5j
|
2618
|
+
dGlvbigpIHsKICAgIHZhciBuYW1lID0gdGhpcy5maXJzdFJlY29yZE5hbWU7
|
2619
|
+
CiAgICByZXR1cm4gbmFtZTsKICB9LAoKICAvKioKICAgIEBtZXRob2QgZGVz
|
2620
|
+
dHJveQogICAgQHByaXZhdGUKICAqLwogIGRlc3Ryb3k6IGZ1bmN0aW9uKCkg
|
2621
|
+
ewogICAgdmFyIGNoaWxkUmVjb3JkID0gdGhpcy5jaGlsZFJlY29yZCwKICAg
|
2622
|
+
ICAgICBiZWxvbmdzVG9OYW1lID0gdGhpcy5nZXRGaXJzdFJlY29yZE5hbWUo
|
2623
|
+
KSwKICAgICAgICBoYXNNYW55TmFtZSA9IHRoaXMuZ2V0U2Vjb25kUmVjb3Jk
|
2624
|
+
TmFtZSgpLAogICAgICAgIHN0b3JlID0gdGhpcy5zdG9yZTsKCiAgICBzdG9y
|
2625
|
+
ZS5yZW1vdmVSZWxhdGlvbnNoaXBDaGFuZ2VGb3IoY2hpbGRSZWNvcmQsIGJl
|
2626
|
+
bG9uZ3NUb05hbWUsIHRoaXMucGFyZW50UmVjb3JkLCBoYXNNYW55TmFtZSwg
|
2627
|
+
dGhpcy5jaGFuZ2VUeXBlKTsKICB9LAoKICBnZXRTZWNvbmRSZWNvcmQ6IGZ1
|
2628
|
+
bmN0aW9uKCl7CiAgICByZXR1cm4gdGhpcy5zZWNvbmRSZWNvcmQ7CiAgfSwK
|
2629
|
+
CiAgLyoqCiAgICBAbWV0aG9kIGdldEZpcnN0UmVjb3JkCiAgICBAcHJpdmF0
|
2630
|
+
ZQogICovCiAgZ2V0Rmlyc3RSZWNvcmQ6IGZ1bmN0aW9uKCkgewogICAgcmV0
|
2631
|
+
dXJuIHRoaXMuZmlyc3RSZWNvcmQ7CiAgfSwKCiAgY29hbGVzY2U6IGZ1bmN0
|
2632
|
+
aW9uKCl7CiAgICB2YXIgcmVsYXRpb25zaGlwUGFpcnMgPSB0aGlzLnN0b3Jl
|
2633
|
+
LnJlbGF0aW9uc2hpcENoYW5nZVBhaXJzRm9yKHRoaXMuZmlyc3RSZWNvcmQp
|
2634
|
+
OwogICAgZm9yRWFjaChyZWxhdGlvbnNoaXBQYWlycywgZnVuY3Rpb24ocGFp
|
2635
|
+
cil7CiAgICAgIHZhciBhZGRlZENoYW5nZSA9IHBhaXJbImFkZCJdOwogICAg
|
2636
|
+
ICB2YXIgcmVtb3ZlZENoYW5nZSA9IHBhaXJbInJlbW92ZSJdOwogICAgICBp
|
2637
|
+
ZihhZGRlZENoYW5nZSAmJiByZW1vdmVkQ2hhbmdlKSB7CiAgICAgICAgYWRk
|
2638
|
+
ZWRDaGFuZ2UuZGVzdHJveSgpOwogICAgICAgIHJlbW92ZWRDaGFuZ2UuZGVz
|
2639
|
+
dHJveSgpOwogICAgICB9CiAgICB9KTsKICB9Cn07CgpEUy5SZWxhdGlvbnNo
|
2640
|
+
aXBDaGFuZ2VBZGQucHJvdG90eXBlID0gRW1iZXIuY3JlYXRlKERTLlJlbGF0
|
2641
|
+
aW9uc2hpcENoYW5nZS5jcmVhdGUoe30pKTsKRFMuUmVsYXRpb25zaGlwQ2hh
|
2642
|
+
bmdlUmVtb3ZlLnByb3RvdHlwZSA9IEVtYmVyLmNyZWF0ZShEUy5SZWxhdGlv
|
2643
|
+
bnNoaXBDaGFuZ2UuY3JlYXRlKHt9KSk7CgovLyB0aGUgb2JqZWN0IGlzIGEg
|
2644
|
+
dmFsdWUsIGFuZCBub3QgYSBwcm9taXNlCmZ1bmN0aW9uIGlzVmFsdWUob2Jq
|
2645
|
+
ZWN0KSB7CiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYm
|
2646
|
+
ICghb2JqZWN0LnRoZW4gfHwgdHlwZW9mIG9iamVjdC50aGVuICE9PSAnZnVu
|
2647
|
+
Y3Rpb24nKTsKfQoKRFMuUmVsYXRpb25zaGlwQ2hhbmdlQWRkLnByb3RvdHlw
|
2648
|
+
ZS5jaGFuZ2VUeXBlID0gImFkZCI7CkRTLlJlbGF0aW9uc2hpcENoYW5nZUFk
|
2649
|
+
ZC5wcm90b3R5cGUuc3luYyA9IGZ1bmN0aW9uKCkgewogIHZhciBzZWNvbmRS
|
2650
|
+
ZWNvcmROYW1lID0gdGhpcy5nZXRTZWNvbmRSZWNvcmROYW1lKCksCiAgICAg
|
2651
|
+
IGZpcnN0UmVjb3JkTmFtZSA9IHRoaXMuZ2V0Rmlyc3RSZWNvcmROYW1lKCks
|
2652
|
+
CiAgICAgIGZpcnN0UmVjb3JkID0gdGhpcy5nZXRGaXJzdFJlY29yZCgpLAog
|
2653
|
+
ICAgICBzZWNvbmRSZWNvcmQgPSB0aGlzLmdldFNlY29uZFJlY29yZCgpOwoK
|
2654
|
+
ICAvL0VtYmVyLmFzc2VydCgiWW91IHNwZWNpZmllZCBhIGhhc01hbnkgKCIg
|
2655
|
+
KyBoYXNNYW55TmFtZSArICIpIG9uICIgKyAoIWJlbG9uZ3NUb05hbWUgJiYg
|
2656
|
+
KG5ld1BhcmVudCB8fCBvbGRQYXJlbnQgfHwgdGhpcy5sYXN0UGFyZW50KS5j
|
2657
|
+
b25zdHJ1Y3RvcikgKyAiIGJ1dCBkaWQgbm90IHNwZWNpZnkgYW4gaW52ZXJz
|
2658
|
+
ZSBiZWxvbmdzVG8gb24gIiArIGNoaWxkLmNvbnN0cnVjdG9yLCBiZWxvbmdz
|
2659
|
+
VG9OYW1lKTsKICAvL0VtYmVyLmFzc2VydCgiWW91IHNwZWNpZmllZCBhIGJl
|
2660
|
+
bG9uZ3NUbyAoIiArIGJlbG9uZ3NUb05hbWUgKyAiKSBvbiAiICsgY2hpbGQu
|
2661
|
+
Y29uc3RydWN0b3IgKyAiIGJ1dCBkaWQgbm90IHNwZWNpZnkgYW4gaW52ZXJz
|
2662
|
+
ZSBoYXNNYW55IG9uICIgKyAoIWhhc01hbnlOYW1lICYmIChuZXdQYXJlbnQg
|
2663
|
+
fHwgb2xkUGFyZW50IHx8IHRoaXMubGFzdFBhcmVudFJlY29yZCkuY29uc3Ry
|
2664
|
+
dWN0b3IpLCBoYXNNYW55TmFtZSk7CgogIGlmIChzZWNvbmRSZWNvcmQgaW5z
|
2665
|
+
dGFuY2VvZiBEUy5Nb2RlbCAmJiBmaXJzdFJlY29yZCBpbnN0YW5jZW9mIERT
|
2666
|
+
Lk1vZGVsKSB7CiAgICBpZih0aGlzLnNlY29uZFJlY29yZEtpbmQgPT09ICJi
|
2667
|
+
ZWxvbmdzVG8iKXsKICAgICAgc2Vjb25kUmVjb3JkLnN1c3BlbmRSZWxhdGlv
|
2668
|
+
bnNoaXBPYnNlcnZlcnMoZnVuY3Rpb24oKXsKICAgICAgICBzZXQoc2Vjb25k
|
2669
|
+
UmVjb3JkLCBzZWNvbmRSZWNvcmROYW1lLCBmaXJzdFJlY29yZCk7CiAgICAg
|
2670
|
+
IH0pOwoKICAgICB9CiAgICAgZWxzZSBpZih0aGlzLnNlY29uZFJlY29yZEtp
|
2671
|
+
bmQgPT09ICJoYXNNYW55Iil7CiAgICAgIHNlY29uZFJlY29yZC5zdXNwZW5k
|
2672
|
+
UmVsYXRpb25zaGlwT2JzZXJ2ZXJzKGZ1bmN0aW9uKCl7CiAgICAgICAgdmFy
|
2673
|
+
IHJlbGF0aW9uc2hpcCA9IGdldChzZWNvbmRSZWNvcmQsIHNlY29uZFJlY29y
|
2674
|
+
ZE5hbWUpOwogICAgICAgIGlmIChpc1ZhbHVlKHJlbGF0aW9uc2hpcCkpIHsg
|
2675
|
+
cmVsYXRpb25zaGlwLmFkZE9iamVjdChmaXJzdFJlY29yZCk7IH0KICAgICAg
|
2676
|
+
fSk7CiAgICB9CiAgfQoKICBpZiAoZmlyc3RSZWNvcmQgaW5zdGFuY2VvZiBE
|
2677
|
+
Uy5Nb2RlbCAmJiBzZWNvbmRSZWNvcmQgaW5zdGFuY2VvZiBEUy5Nb2RlbCAm
|
2678
|
+
JiBnZXQoZmlyc3RSZWNvcmQsIGZpcnN0UmVjb3JkTmFtZSkgIT09IHNlY29u
|
2679
|
+
ZFJlY29yZCkgewogICAgaWYodGhpcy5maXJzdFJlY29yZEtpbmQgPT09ICJi
|
2680
|
+
ZWxvbmdzVG8iKXsKICAgICAgZmlyc3RSZWNvcmQuc3VzcGVuZFJlbGF0aW9u
|
2681
|
+
c2hpcE9ic2VydmVycyhmdW5jdGlvbigpewogICAgICAgIHNldChmaXJzdFJl
|
2682
|
+
Y29yZCwgZmlyc3RSZWNvcmROYW1lLCBzZWNvbmRSZWNvcmQpOwogICAgICB9
|
2683
|
+
KTsKICAgIH0KICAgIGVsc2UgaWYodGhpcy5maXJzdFJlY29yZEtpbmQgPT09
|
2684
|
+
ICJoYXNNYW55Iil7CiAgICAgIGZpcnN0UmVjb3JkLnN1c3BlbmRSZWxhdGlv
|
2685
|
+
bnNoaXBPYnNlcnZlcnMoZnVuY3Rpb24oKXsKICAgICAgICB2YXIgcmVsYXRp
|
2686
|
+
b25zaGlwID0gZ2V0KGZpcnN0UmVjb3JkLCBmaXJzdFJlY29yZE5hbWUpOwog
|
2687
|
+
ICAgICAgIGlmIChpc1ZhbHVlKHJlbGF0aW9uc2hpcCkpIHsgcmVsYXRpb25z
|
2688
|
+
aGlwLmFkZE9iamVjdChzZWNvbmRSZWNvcmQpOyB9CiAgICAgIH0pOwogICAg
|
2689
|
+
fQogIH0KCiAgdGhpcy5jb2FsZXNjZSgpOwp9OwoKRFMuUmVsYXRpb25zaGlw
|
2690
|
+
Q2hhbmdlUmVtb3ZlLnByb3RvdHlwZS5jaGFuZ2VUeXBlID0gInJlbW92ZSI7
|
2691
|
+
CkRTLlJlbGF0aW9uc2hpcENoYW5nZVJlbW92ZS5wcm90b3R5cGUuc3luYyA9
|
2692
|
+
IGZ1bmN0aW9uKCkgewogIHZhciBzZWNvbmRSZWNvcmROYW1lID0gdGhpcy5n
|
2693
|
+
ZXRTZWNvbmRSZWNvcmROYW1lKCksCiAgICAgIGZpcnN0UmVjb3JkTmFtZSA9
|
2694
|
+
IHRoaXMuZ2V0Rmlyc3RSZWNvcmROYW1lKCksCiAgICAgIGZpcnN0UmVjb3Jk
|
2695
|
+
ID0gdGhpcy5nZXRGaXJzdFJlY29yZCgpLAogICAgICBzZWNvbmRSZWNvcmQg
|
2696
|
+
PSB0aGlzLmdldFNlY29uZFJlY29yZCgpOwoKICAvL0VtYmVyLmFzc2VydCgi
|
2697
|
+
WW91IHNwZWNpZmllZCBhIGhhc01hbnkgKCIgKyBoYXNNYW55TmFtZSArICIp
|
2698
|
+
IG9uICIgKyAoIWJlbG9uZ3NUb05hbWUgJiYgKG5ld1BhcmVudCB8fCBvbGRQ
|
2699
|
+
YXJlbnQgfHwgdGhpcy5sYXN0UGFyZW50KS5jb25zdHJ1Y3RvcikgKyAiIGJ1
|
2700
|
+
dCBkaWQgbm90IHNwZWNpZnkgYW4gaW52ZXJzZSBiZWxvbmdzVG8gb24gIiAr
|
2701
|
+
IGNoaWxkLmNvbnN0cnVjdG9yLCBiZWxvbmdzVG9OYW1lKTsKICAvL0VtYmVy
|
2702
|
+
LmFzc2VydCgiWW91IHNwZWNpZmllZCBhIGJlbG9uZ3NUbyAoIiArIGJlbG9u
|
2703
|
+
Z3NUb05hbWUgKyAiKSBvbiAiICsgY2hpbGQuY29uc3RydWN0b3IgKyAiIGJ1
|
2704
|
+
dCBkaWQgbm90IHNwZWNpZnkgYW4gaW52ZXJzZSBoYXNNYW55IG9uICIgKyAo
|
2705
|
+
IWhhc01hbnlOYW1lICYmIChuZXdQYXJlbnQgfHwgb2xkUGFyZW50IHx8IHRo
|
2706
|
+
aXMubGFzdFBhcmVudFJlY29yZCkuY29uc3RydWN0b3IpLCBoYXNNYW55TmFt
|
2707
|
+
ZSk7CgogIGlmIChzZWNvbmRSZWNvcmQgaW5zdGFuY2VvZiBEUy5Nb2RlbCAm
|
2708
|
+
JiBmaXJzdFJlY29yZCBpbnN0YW5jZW9mIERTLk1vZGVsKSB7CiAgICBpZih0
|
2709
|
+
aGlzLnNlY29uZFJlY29yZEtpbmQgPT09ICJiZWxvbmdzVG8iKXsKICAgICAg
|
2710
|
+
c2Vjb25kUmVjb3JkLnN1c3BlbmRSZWxhdGlvbnNoaXBPYnNlcnZlcnMoZnVu
|
2711
|
+
Y3Rpb24oKXsKICAgICAgICBzZXQoc2Vjb25kUmVjb3JkLCBzZWNvbmRSZWNv
|
2712
|
+
cmROYW1lLCBudWxsKTsKICAgICAgfSk7CiAgICB9CiAgICBlbHNlIGlmKHRo
|
2713
|
+
aXMuc2Vjb25kUmVjb3JkS2luZCA9PT0gImhhc01hbnkiKXsKICAgICAgc2Vj
|
2714
|
+
b25kUmVjb3JkLnN1c3BlbmRSZWxhdGlvbnNoaXBPYnNlcnZlcnMoZnVuY3Rp
|
2715
|
+
b24oKXsKICAgICAgICB2YXIgcmVsYXRpb25zaGlwID0gZ2V0KHNlY29uZFJl
|
2716
|
+
Y29yZCwgc2Vjb25kUmVjb3JkTmFtZSk7CiAgICAgICAgaWYgKGlzVmFsdWUo
|
2717
|
+
cmVsYXRpb25zaGlwKSkgeyByZWxhdGlvbnNoaXAucmVtb3ZlT2JqZWN0KGZp
|
2718
|
+
cnN0UmVjb3JkKTsgfQogICAgICB9KTsKICAgIH0KICB9CgogIGlmIChmaXJz
|
2719
|
+
dFJlY29yZCBpbnN0YW5jZW9mIERTLk1vZGVsICYmIGdldChmaXJzdFJlY29y
|
2720
|
+
ZCwgZmlyc3RSZWNvcmROYW1lKSkgewogICAgaWYodGhpcy5maXJzdFJlY29y
|
2721
|
+
ZEtpbmQgPT09ICJiZWxvbmdzVG8iKXsKICAgICAgZmlyc3RSZWNvcmQuc3Vz
|
2722
|
+
cGVuZFJlbGF0aW9uc2hpcE9ic2VydmVycyhmdW5jdGlvbigpewogICAgICAg
|
2723
|
+
IHNldChmaXJzdFJlY29yZCwgZmlyc3RSZWNvcmROYW1lLCBudWxsKTsKICAg
|
2724
|
+
ICAgfSk7CiAgICAgfQogICAgIGVsc2UgaWYodGhpcy5maXJzdFJlY29yZEtp
|
2725
|
+
bmQgPT09ICJoYXNNYW55Iil7CiAgICAgICBmaXJzdFJlY29yZC5zdXNwZW5k
|
2726
|
+
UmVsYXRpb25zaGlwT2JzZXJ2ZXJzKGZ1bmN0aW9uKCl7CiAgICAgICAgIHZh
|
2727
|
+
ciByZWxhdGlvbnNoaXAgPSBnZXQoZmlyc3RSZWNvcmQsIGZpcnN0UmVjb3Jk
|
2728
|
+
TmFtZSk7CiAgICAgICAgIGlmIChpc1ZhbHVlKHJlbGF0aW9uc2hpcCkpIHsg
|
2729
|
+
cmVsYXRpb25zaGlwLnJlbW92ZU9iamVjdChzZWNvbmRSZWNvcmQpOyB9CiAg
|
2730
|
+
ICAgIH0pOwogICAgfQogIH0KCiAgdGhpcy5jb2FsZXNjZSgpOwp9OwoKfSko
|
2731
|
+
KTsKCgoKKGZ1bmN0aW9uKCkgewovKioKICBAbW9kdWxlIGVtYmVyLWRhdGEK
|
2732
|
+
Ki8KCn0pKCk7CgoKCihmdW5jdGlvbigpIHsKdmFyIGdldCA9IEVtYmVyLmdl
|
2733
|
+
dCwgc2V0ID0gRW1iZXIuc2V0LAogICAgaXNOb25lID0gRW1iZXIuaXNOb25l
|
2734
|
+
OwoKLyoqCiAgQG1vZHVsZSBlbWJlci1kYXRhCiovCgpmdW5jdGlvbiBhc3lu
|
2735
|
+
Y0JlbG9uZ3NUbyh0eXBlLCBvcHRpb25zLCBtZXRhKSB7CiAgcmV0dXJuIEVt
|
2736
|
+
YmVyLmNvbXB1dGVkKGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsKICAgIHZhciBk
|
2737
|
+
YXRhID0gZ2V0KHRoaXMsICdkYXRhJyksCiAgICAgICAgc3RvcmUgPSBnZXQo
|
2738
|
+
dGhpcywgJ3N0b3JlJyk7CgogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09
|
2739
|
+
IDIpIHsKICAgICAgRW1iZXIuYXNzZXJ0KCJZb3UgY2FuIG9ubHkgYWRkIGEg
|
2740
|
+
JyIgKyB0eXBlICsgIicgcmVjb3JkIHRvIHRoaXMgcmVsYXRpb25zaGlwIiwg
|
2741
|
+
IXZhbHVlIHx8IHN0b3JlLm1vZGVsRm9yKHR5cGUpLmRldGVjdEluc3RhbmNl
|
2742
|
+
KHZhbHVlKSk7CiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8g
|
2743
|
+
bnVsbCA6IHZhbHVlOwogICAgfQoKICAgIHJldHVybiBzdG9yZS5mZXRjaFJl
|
2744
|
+
Y29yZChkYXRhW2tleV0pOwogIH0pLnByb3BlcnR5KCdkYXRhJykubWV0YSht
|
2745
|
+
ZXRhKTsKfQoKRFMuYmVsb25nc1RvID0gZnVuY3Rpb24odHlwZSwgb3B0aW9u
|
2746
|
+
cykgewogIEVtYmVyLmFzc2VydCgiVGhlIGZpcnN0IGFyZ3VtZW50IERTLmJl
|
2747
|
+
bG9uZ3NUbyBtdXN0IGJlIGEgbW9kZWwgdHlwZSBvciBzdHJpbmcsIGxpa2Ug
|
2748
|
+
RFMuYmVsb25nc1RvKEFwcC5QZXJzb24pIiwgISF0eXBlICYmICh0eXBlb2Yg
|
2749
|
+
dHlwZSA9PT0gJ3N0cmluZycgfHwgRFMuTW9kZWwuZGV0ZWN0KHR5cGUpKSk7
|
2750
|
+
CgogIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoKICB2YXIgbWV0YSA9IHsg
|
2751
|
+
dHlwZTogdHlwZSwgaXNSZWxhdGlvbnNoaXA6IHRydWUsIG9wdGlvbnM6IG9w
|
2752
|
+
dGlvbnMsIGtpbmQ6ICdiZWxvbmdzVG8nIH07CgogIGlmIChvcHRpb25zLmFz
|
2753
|
+
eW5jKSB7CiAgICByZXR1cm4gYXN5bmNCZWxvbmdzVG8odHlwZSwgb3B0aW9u
|
2754
|
+
cywgbWV0YSk7CiAgfQoKICByZXR1cm4gRW1iZXIuY29tcHV0ZWQoZnVuY3Rp
|
2755
|
+
b24oa2V5LCB2YWx1ZSkgewogICAgdmFyIGRhdGEgPSBnZXQodGhpcywgJ2Rh
|
2756
|
+
dGEnKSwKICAgICAgICBzdG9yZSA9IGdldCh0aGlzLCAnc3RvcmUnKSwgYmVs
|
2757
|
+
b25nc1RvLCB0eXBlQ2xhc3M7CgogICAgaWYgKHR5cGVvZiB0eXBlID09PSAn
|
2758
|
+
c3RyaW5nJykgewogICAgICBpZiAodHlwZS5pbmRleE9mKCIuIikgPT09IC0x
|
2759
|
+
KSB7CiAgICAgICAgdHlwZUNsYXNzID0gc3RvcmUubW9kZWxGb3IodHlwZSk7
|
2760
|
+
CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdHlwZUNsYXNzID0gZ2V0KEVtYmVy
|
2761
|
+
Lmxvb2t1cCwgdHlwZSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIHR5
|
2762
|
+
cGVDbGFzcyA9IHR5cGU7CiAgICB9CgogICAgaWYgKGFyZ3VtZW50cy5sZW5n
|
2763
|
+
dGggPT09IDIpIHsKICAgICAgRW1iZXIuYXNzZXJ0KCJZb3UgY2FuIG9ubHkg
|
2764
|
+
YWRkIGEgJyIgKyB0eXBlICsgIicgcmVjb3JkIHRvIHRoaXMgcmVsYXRpb25z
|
2765
|
+
aGlwIiwgIXZhbHVlIHx8IHR5cGVDbGFzcy5kZXRlY3RJbnN0YW5jZSh2YWx1
|
2766
|
+
ZSkpOwogICAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/IG51bGwg
|
2767
|
+
OiB2YWx1ZTsKICAgIH0KCiAgICBiZWxvbmdzVG8gPSBkYXRhW2tleV07Cgog
|
2768
|
+
ICAgaWYgKGlzTm9uZShiZWxvbmdzVG8pKSB7IHJldHVybiBudWxsOyB9Cgog
|
2769
|
+
ICAgaWYgKGdldChiZWxvbmdzVG8sICdpc0VtcHR5JykpIHsKICAgICAgc3Rv
|
2770
|
+
cmUuZmV0Y2hSZWNvcmQoYmVsb25nc1RvKTsKICAgIH0KCiAgICByZXR1cm4g
|
2771
|
+
YmVsb25nc1RvOwogIH0pLnByb3BlcnR5KCdkYXRhJykubWV0YShtZXRhKTsK
|
2772
|
+
fTsKCi8qCiAgVGhlc2Ugb2JzZXJ2ZXJzIG9ic2VydmUgYWxsIGBiZWxvbmdz
|
2773
|
+
VG9gIHJlbGF0aW9uc2hpcHMgb24gdGhlIHJlY29yZC4gU2VlCiAgYHJlbGF0
|
2774
|
+
aW9uc2hpcHMvZXh0YCB0byBzZWUgaG93IHRoZXNlIG9ic2VydmVycyBnZXQg
|
2775
|
+
dGhlaXIgZGVwZW5kZW5jaWVzLgoKICBAY2xhc3MgTW9kZWwKICBAbmFtZXNw
|
2776
|
+
YWNlIERTCiovCkRTLk1vZGVsLnJlb3Blbih7CgogIC8qKgogICAgQG1ldGhv
|
2777
|
+
ZCBiZWxvbmdzVG9XaWxsQ2hhbmdlCiAgICBAcHJpdmF0ZQogICAgQHN0YXRp
|
2778
|
+
YwogICAgQHBhcmFtIHJlY29yZAogICAgQHBhcmFtIGtleQogICovCiAgYmVs
|
2779
|
+
b25nc1RvV2lsbENoYW5nZTogRW1iZXIuYmVmb3JlT2JzZXJ2ZXIoZnVuY3Rp
|
2780
|
+
b24ocmVjb3JkLCBrZXkpIHsKICAgIGlmIChnZXQocmVjb3JkLCAnaXNMb2Fk
|
2781
|
+
ZWQnKSkgewogICAgICB2YXIgb2xkUGFyZW50ID0gZ2V0KHJlY29yZCwga2V5
|
2782
|
+
KSwKICAgICAgICAgIHN0b3JlID0gZ2V0KHJlY29yZCwgJ3N0b3JlJyk7Cgog
|
2783
|
+
ICAgICBpZiAob2xkUGFyZW50KXsKICAgICAgICB2YXIgY2hhbmdlID0gRFMu
|
2784
|
+
UmVsYXRpb25zaGlwQ2hhbmdlLmNyZWF0ZUNoYW5nZShyZWNvcmQsIG9sZFBh
|
2785
|
+
cmVudCwgc3RvcmUsIHsga2V5OiBrZXksIGtpbmQ6ICJiZWxvbmdzVG8iLCBj
|
2786
|
+
aGFuZ2VUeXBlOiAicmVtb3ZlIiB9KTsKICAgICAgICBjaGFuZ2Uuc3luYygp
|
2787
|
+
OwogICAgICAgIHRoaXMuX2NoYW5nZXNUb1N5bmNba2V5XSA9IGNoYW5nZTsK
|
2788
|
+
ICAgICAgfQogICAgfQogIH0pLAoKICAvKioKICAgIEBtZXRob2QgYmVsb25n
|
2789
|
+
c1RvRGlkQ2hhbmdlCiAgICBAcHJpdmF0ZQogICAgQHN0YXRpYwogICAgQHBh
|
2790
|
+
cmFtIHJlY29yZAogICAgQHBhcmFtIGtleQogICovCiAgYmVsb25nc1RvRGlk
|
2791
|
+
Q2hhbmdlOiBFbWJlci5pbW1lZGlhdGVPYnNlcnZlcihmdW5jdGlvbihyZWNv
|
2792
|
+
cmQsIGtleSkgewogICAgaWYgKGdldChyZWNvcmQsICdpc0xvYWRlZCcpKSB7
|
2793
|
+
CiAgICAgIHZhciBuZXdQYXJlbnQgPSBnZXQocmVjb3JkLCBrZXkpOwogICAg
|
2794
|
+
ICBpZihuZXdQYXJlbnQpewogICAgICAgIHZhciBzdG9yZSA9IGdldChyZWNv
|
2795
|
+
cmQsICdzdG9yZScpLAogICAgICAgICAgICBjaGFuZ2UgPSBEUy5SZWxhdGlv
|
2796
|
+
bnNoaXBDaGFuZ2UuY3JlYXRlQ2hhbmdlKHJlY29yZCwgbmV3UGFyZW50LCBz
|
2797
|
+
dG9yZSwgeyBrZXk6IGtleSwga2luZDogImJlbG9uZ3NUbyIsIGNoYW5nZVR5
|
2798
|
+
cGU6ICJhZGQiIH0pOwoKICAgICAgICBjaGFuZ2Uuc3luYygpOwogICAgICB9
|
2799
|
+
CiAgICB9CgogICAgZGVsZXRlIHRoaXMuX2NoYW5nZXNUb1N5bmNba2V5XTsK
|
2800
|
+
ICB9KQp9KTsKCn0pKCk7CgoKCihmdW5jdGlvbigpIHsKLyoqCiAgQG1vZHVs
|
2801
|
+
ZSBlbWJlci1kYXRhCiovCgp2YXIgZ2V0ID0gRW1iZXIuZ2V0LCBzZXQgPSBF
|
2802
|
+
bWJlci5zZXQsIHNldFByb3BlcnRpZXMgPSBFbWJlci5zZXRQcm9wZXJ0aWVz
|
2803
|
+
Owp2YXIgZm9yRWFjaCA9IEVtYmVyLkVudW1lcmFibGVVdGlscy5mb3JFYWNo
|
2804
|
+
OwoKZnVuY3Rpb24gYXN5bmNIYXNNYW55KHR5cGUsIG9wdGlvbnMsIG1ldGEp
|
2805
|
+
IHsKICByZXR1cm4gRW1iZXIuY29tcHV0ZWQoZnVuY3Rpb24oa2V5LCB2YWx1
|
2806
|
+
ZSkgewogICAgdmFyIHJlc29sdmVyID0gRW1iZXIuUlNWUC5kZWZlcigpOwoK
|
2807
|
+
ICAgIHZhciByZWxhdGlvbnNoaXAgPSBidWlsZFJlbGF0aW9uc2hpcCh0aGlz
|
2808
|
+
LCBrZXksIG9wdGlvbnMsIGZ1bmN0aW9uKHN0b3JlLCBkYXRhKSB7CiAgICAg
|
2809
|
+
IHZhciBsaW5rID0gZGF0YS5saW5rcyAmJiBkYXRhLmxpbmtzW2tleV07Cgog
|
2810
|
+
ICAgICBpZiAobGluaykgewogICAgICAgIHJldHVybiBzdG9yZS5maW5kSGFz
|
2811
|
+
TWFueSh0aGlzLCBsaW5rLCBtZXRhLCByZXNvbHZlcik7CiAgICAgIH0gZWxz
|
2812
|
+
ZSB7CiAgICAgICAgcmV0dXJuIHN0b3JlLmZpbmRNYW55KHRoaXMsIGRhdGFb
|
2813
|
+
a2V5XSwgbWV0YS50eXBlLCByZXNvbHZlcik7CiAgICAgIH0KICAgIH0pOwoK
|
2814
|
+
ICAgIHZhciBwcm9taXNlID0gcmVzb2x2ZXIucHJvbWlzZS50aGVuKGZ1bmN0
|
2815
|
+
aW9uKCkgewogICAgICByZXR1cm4gcmVsYXRpb25zaGlwOwogICAgfSk7Cgog
|
2816
|
+
ICAgcmV0dXJuIERTLlByb21pc2VBcnJheS5jcmVhdGUoeyBwcm9taXNlOiBw
|
2817
|
+
cm9taXNlIH0pOwogIH0pLnByb3BlcnR5KCdkYXRhJykubWV0YShtZXRhKTsK
|
2818
|
+
fQoKZnVuY3Rpb24gYnVpbGRSZWxhdGlvbnNoaXAocmVjb3JkLCBrZXksIG9w
|
2819
|
+
dGlvbnMsIGNhbGxiYWNrKSB7CiAgdmFyIHJlbHMgPSByZWNvcmQuX3JlbGF0
|
2820
|
+
aW9uc2hpcHM7CgogIGlmIChyZWxzW2tleV0pIHsgcmV0dXJuIHJlbHNba2V5
|
2821
|
+
XTsgfQoKICB2YXIgZGF0YSA9IGdldChyZWNvcmQsICdkYXRhJyksCiAgICAg
|
2822
|
+
IHN0b3JlID0gZ2V0KHJlY29yZCwgJ3N0b3JlJyk7CgogIHZhciByZWxhdGlv
|
2823
|
+
bnNoaXAgPSByZWxzW2tleV0gPSBjYWxsYmFjay5jYWxsKHJlY29yZCwgc3Rv
|
2824
|
+
cmUsIGRhdGEpOwoKICByZXR1cm4gc2V0UHJvcGVydGllcyhyZWxhdGlvbnNo
|
2825
|
+
aXAsIHsKICAgIG93bmVyOiByZWNvcmQsIG5hbWU6IGtleSwgaXNQb2x5bW9y
|
2826
|
+
cGhpYzogb3B0aW9ucy5wb2x5bW9ycGhpYwogIH0pOwp9CgpmdW5jdGlvbiBo
|
2827
|
+
YXNSZWxhdGlvbnNoaXAodHlwZSwgb3B0aW9ucykgewogIG9wdGlvbnMgPSBv
|
2828
|
+
cHRpb25zIHx8IHt9OwoKICB2YXIgbWV0YSA9IHsgdHlwZTogdHlwZSwgaXNS
|
2829
|
+
ZWxhdGlvbnNoaXA6IHRydWUsIG9wdGlvbnM6IG9wdGlvbnMsIGtpbmQ6ICdo
|
2830
|
+
YXNNYW55JyB9OwoKICBpZiAob3B0aW9ucy5hc3luYykgewogICAgcmV0dXJu
|
2831
|
+
IGFzeW5jSGFzTWFueSh0eXBlLCBvcHRpb25zLCBtZXRhKTsKICB9CgogIHJl
|
2832
|
+
dHVybiBFbWJlci5jb21wdXRlZChmdW5jdGlvbihrZXksIHZhbHVlKSB7CiAg
|
2833
|
+
ICByZXR1cm4gYnVpbGRSZWxhdGlvbnNoaXAodGhpcywga2V5LCBvcHRpb25z
|
2834
|
+
LCBmdW5jdGlvbihzdG9yZSwgZGF0YSkgewogICAgICB2YXIgcmVjb3JkcyA9
|
2835
|
+
IGRhdGFba2V5XTsKICAgICAgRW1iZXIuYXNzZXJ0KCJZb3UgbG9va2VkIHVw
|
2836
|
+
IHRoZSAnIiArIGtleSArICInIHJlbGF0aW9uc2hpcCBvbiAnIiArIHRoaXMg
|
2837
|
+
KyAiJyBidXQgc29tZSBvZiB0aGUgYXNzb2NpYXRlZCByZWNvcmRzIHdlcmUg
|
2838
|
+
bm90IGxvYWRlZC4gRWl0aGVyIG1ha2Ugc3VyZSB0aGV5IGFyZSBhbGwgbG9h
|
2839
|
+
ZGVkIHRvZ2V0aGVyIHdpdGggdGhlIHBhcmVudCByZWNvcmQsIG9yIHNwZWNp
|
2840
|
+
ZnkgdGhhdCB0aGUgcmVsYXRpb25zaGlwIGlzIGFzeW5jIChgRFMuYXR0cih7
|
2841
|
+
IGFzeW5jOiB0cnVlIH0pYCkiLCBFbWJlci5BKHJlY29yZHMpLmV2ZXJ5UHJv
|
2842
|
+
cGVydHkoJ2lzRW1wdHknLCBmYWxzZSkpOwogICAgICByZXR1cm4gc3RvcmUu
|
2843
|
+
ZmluZE1hbnkodGhpcywgZGF0YVtrZXldLCBtZXRhLnR5cGUpOwogICAgfSk7
|
2844
|
+
CiAgfSkucHJvcGVydHkoJ2RhdGEnKS5tZXRhKG1ldGEpOwp9CgpEUy5oYXNN
|
2845
|
+
YW55ID0gZnVuY3Rpb24odHlwZSwgb3B0aW9ucykgewogIEVtYmVyLmFzc2Vy
|
2846
|
+
dCgiVGhlIHR5cGUgcGFzc2VkIHRvIERTLmhhc01hbnkgbXVzdCBiZSBkZWZp
|
2847
|
+
bmVkIiwgISF0eXBlKTsKICByZXR1cm4gaGFzUmVsYXRpb25zaGlwKHR5cGUs
|
2848
|
+
IG9wdGlvbnMpOwp9OwoKfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewp2YXIgZ2V0
|
2849
|
+
ID0gRW1iZXIuZ2V0LCBzZXQgPSBFbWJlci5zZXQ7CgovKioKICBAbW9kdWxl
|
2850
|
+
IGVtYmVyLWRhdGEKKi8KCi8qCiAgVGhpcyBmaWxlIGRlZmluZXMgc2V2ZXJh
|
2851
|
+
bCBleHRlbnNpb25zIHRvIHRoZSBiYXNlIGBEUy5Nb2RlbGAgY2xhc3MgdGhh
|
2852
|
+
dAogIGFkZCBzdXBwb3J0IGZvciBvbmUtdG8tbWFueSByZWxhdGlvbnNoaXBz
|
2853
|
+
LgoqLwoKLyoqCiAgQGNsYXNzIE1vZGVsCiAgQG5hbWVzcGFjZSBEUwoqLwpE
|
2854
|
+
Uy5Nb2RlbC5yZW9wZW4oewoKICAvKioKICAgIFRoaXMgRW1iZXIuanMgaG9v
|
2855
|
+
ayBhbGxvd3MgYW4gb2JqZWN0IHRvIGJlIG5vdGlmaWVkIHdoZW4gYSBwcm9w
|
2856
|
+
ZXJ0eQogICAgaXMgZGVmaW5lZC4KCiAgICBJbiB0aGlzIGNhc2UsIHdlIHVz
|
2857
|
+
ZSBpdCB0byBiZSBub3RpZmllZCB3aGVuIGFuIEVtYmVyIERhdGEgdXNlciBk
|
2858
|
+
ZWZpbmVzIGEKICAgIGJlbG9uZ3MtdG8gcmVsYXRpb25zaGlwLiBJbiB0aGF0
|
2859
|
+
IGNhc2UsIHdlIG5lZWQgdG8gc2V0IHVwIG9ic2VydmVycyBmb3IKICAgIGVh
|
2860
|
+
Y2ggb25lLCBhbGxvd2luZyB1cyB0byB0cmFjayByZWxhdGlvbnNoaXAgY2hh
|
2861
|
+
bmdlcyBhbmQgYXV0b21hdGljYWxseQogICAgcmVmbGVjdCBjaGFuZ2VzIGlu
|
2862
|
+
IHRoZSBpbnZlcnNlIGhhcy1tYW55IGFycmF5LgoKICAgIFRoaXMgaG9vayBw
|
2863
|
+
YXNzZXMgdGhlIGNsYXNzIGJlaW5nIHNldCB1cCwgYXMgd2VsbCBhcyB0aGUg
|
2864
|
+
a2V5IGFuZCB2YWx1ZQogICAgYmVpbmcgZGVmaW5lZC4gU28sIGZvciBleGFt
|
2865
|
+
cGxlLCB3aGVuIHRoZSB1c2VyIGRvZXMgdGhpczoKCiAgICAgIERTLk1vZGVs
|
2866
|
+
LmV4dGVuZCh7CiAgICAgICAgcGFyZW50OiBEUy5iZWxvbmdzVG8oQXBwLlVz
|
2867
|
+
ZXIpCiAgICAgIH0pOwoKICAgIFRoaXMgaG9vayB3b3VsZCBiZSBjYWxsZWQg
|
2868
|
+
d2l0aCAicGFyZW50IiBhcyB0aGUga2V5IGFuZCB0aGUgY29tcHV0ZWQKICAg
|
2869
|
+
IHByb3BlcnR5IHJldHVybmVkIGJ5IGBEUy5iZWxvbmdzVG9gIGFzIHRoZSB2
|
2870
|
+
YWx1ZS4KCiAgICBAbWV0aG9kIGRpZERlZmluZVByb3BlcnR5CiAgICBAcGFy
|
2871
|
+
YW0gcHJvdG8KICAgIEBwYXJhbSBrZXkKICAgIEBwYXJhbSB2YWx1ZQogICov
|
2872
|
+
CiAgZGlkRGVmaW5lUHJvcGVydHk6IGZ1bmN0aW9uKHByb3RvLCBrZXksIHZh
|
2873
|
+
bHVlKSB7CiAgICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgYmVpbmcgc2V0IGlz
|
2874
|
+
IGEgY29tcHV0ZWQgcHJvcGVydHkuCiAgICBpZiAodmFsdWUgaW5zdGFuY2Vv
|
2875
|
+
ZiBFbWJlci5EZXNjcmlwdG9yKSB7CgogICAgICAvLyBJZiBpdCBpcywgZ2V0
|
2876
|
+
IHRoZSBtZXRhZGF0YSBmb3IgdGhlIHJlbGF0aW9uc2hpcC4gVGhpcyBpcwog
|
2877
|
+
ICAgICAvLyBwb3B1bGF0ZWQgYnkgdGhlIGBEUy5iZWxvbmdzVG9gIGhlbHBl
|
2878
|
+
ciB3aGVuIGl0IGlzIGNyZWF0aW5nCiAgICAgIC8vIHRoZSBjb21wdXRlZCBw
|
2879
|
+
cm9wZXJ0eS4KICAgICAgdmFyIG1ldGEgPSB2YWx1ZS5tZXRhKCk7CgogICAg
|
2880
|
+
ICBpZiAobWV0YS5pc1JlbGF0aW9uc2hpcCAmJiBtZXRhLmtpbmQgPT09ICdi
|
2881
|
+
ZWxvbmdzVG8nKSB7CiAgICAgICAgRW1iZXIuYWRkT2JzZXJ2ZXIocHJvdG8s
|
2882
|
+
IGtleSwgbnVsbCwgJ2JlbG9uZ3NUb0RpZENoYW5nZScpOwogICAgICAgIEVt
|
2883
|
+
YmVyLmFkZEJlZm9yZU9ic2VydmVyKHByb3RvLCBrZXksIG51bGwsICdiZWxv
|
2884
|
+
bmdzVG9XaWxsQ2hhbmdlJyk7CiAgICAgIH0KCiAgICAgIG1ldGEucGFyZW50
|
2885
|
+
VHlwZSA9IHByb3RvLmNvbnN0cnVjdG9yOwogICAgfQogIH0KfSk7CgovKgog
|
2886
|
+
IFRoZXNlIERTLk1vZGVsIGV4dGVuc2lvbnMgYWRkIGNsYXNzIG1ldGhvZHMg
|
2887
|
+
dGhhdCBwcm92aWRlIHJlbGF0aW9uc2hpcAogIGludHJvc3BlY3Rpb24gYWJp
|
2888
|
+
bGl0aWVzIGFib3V0IHJlbGF0aW9uc2hpcHMuCgogIEEgbm90ZSBhYm91dCB0
|
2889
|
+
aGUgY29tcHV0ZWQgcHJvcGVydGllcyBjb250YWluZWQgaGVyZToKCiAgKipU
|
2890
|
+
aGVzZSBwcm9wZXJ0aWVzIGFyZSBlZmZlY3RpdmVseSBzZWFsZWQgb25jZSBj
|
2891
|
+
YWxsZWQgZm9yIHRoZSBmaXJzdCB0aW1lLioqCiAgVG8gYXZvaWQgcmVwZWF0
|
2892
|
+
ZWRseSBkb2luZyBleHBlbnNpdmUgaXRlcmF0aW9uIG92ZXIgYSBtb2RlbCdz
|
2893
|
+
IGZpZWxkcywgdGhlc2UKICB2YWx1ZXMgYXJlIGNvbXB1dGVkIG9uY2UgYW5k
|
2894
|
+
IHRoZW4gY2FjaGVkIGZvciB0aGUgcmVtYWluZGVyIG9mIHRoZSBydW50aW1l
|
2895
|
+
IG9mCiAgeW91ciBhcHBsaWNhdGlvbi4KCiAgSWYgeW91ciBhcHBsaWNhdGlv
|
2896
|
+
biBuZWVkcyB0byBtb2RpZnkgYSBjbGFzcyBhZnRlciBpdHMgaW5pdGlhbCBk
|
2897
|
+
ZWZpbml0aW9uCiAgKGZvciBleGFtcGxlLCB1c2luZyBgcmVvcGVuKClgIHRv
|
2898
|
+
IGFkZCBhZGRpdGlvbmFsIGF0dHJpYnV0ZXMpLCBtYWtlIHN1cmUgeW91CiAg
|
2899
|
+
ZG8gaXQgYmVmb3JlIHVzaW5nIHlvdXIgbW9kZWwgd2l0aCB0aGUgc3RvcmUs
|
2900
|
+
IHdoaWNoIHVzZXMgdGhlc2UgcHJvcGVydGllcwogIGV4dGVuc2l2ZWx5Lgoq
|
2901
|
+
LwoKRFMuTW9kZWwucmVvcGVuQ2xhc3MoewogIC8qKgogICAgRm9yIGEgZ2l2
|
2902
|
+
ZW4gcmVsYXRpb25zaGlwIG5hbWUsIHJldHVybnMgdGhlIG1vZGVsIHR5cGUg
|
2903
|
+
b2YgdGhlIHJlbGF0aW9uc2hpcC4KCiAgICBGb3IgZXhhbXBsZSwgaWYgeW91
|
2904
|
+
IGRlZmluZSBhIG1vZGVsIGxpa2UgdGhpczoKCiAgICAgICAgQXBwLlBvc3Qg
|
2905
|
+
PSBEUy5Nb2RlbC5leHRlbmQoewogICAgICAgICAgY29tbWVudHM6IERTLmhh
|
2906
|
+
c01hbnkoQXBwLkNvbW1lbnQpCiAgICAgICAgfSk7CgogICAgQ2FsbGluZyBg
|
2907
|
+
QXBwLlBvc3QudHlwZUZvclJlbGF0aW9uc2hpcCgnY29tbWVudHMnKWAgd2ls
|
2908
|
+
bCByZXR1cm4gYEFwcC5Db21tZW50YC4KCiAgICBAbWV0aG9kIHR5cGVGb3JS
|
2909
|
+
ZWxhdGlvbnNoaXAKICAgIEBzdGF0aWMKICAgIEBwYXJhbSB7U3RyaW5nfSBu
|
2910
|
+
YW1lIHRoZSBuYW1lIG9mIHRoZSByZWxhdGlvbnNoaXAKICAgIEByZXR1cm4g
|
2911
|
+
e3N1YmNsYXNzIG9mIERTLk1vZGVsfSB0aGUgdHlwZSBvZiB0aGUgcmVsYXRp
|
2912
|
+
b25zaGlwLCBvciB1bmRlZmluZWQKICAqLwogIHR5cGVGb3JSZWxhdGlvbnNo
|
2913
|
+
aXA6IGZ1bmN0aW9uKG5hbWUpIHsKICAgIHZhciByZWxhdGlvbnNoaXAgPSBn
|
2914
|
+
ZXQodGhpcywgJ3JlbGF0aW9uc2hpcHNCeU5hbWUnKS5nZXQobmFtZSk7CiAg
|
2915
|
+
ICByZXR1cm4gcmVsYXRpb25zaGlwICYmIHJlbGF0aW9uc2hpcC50eXBlOwog
|
2916
|
+
IH0sCgogIGludmVyc2VGb3I6IGZ1bmN0aW9uKG5hbWUpIHsKICAgIHZhciBp
|
2917
|
+
bnZlcnNlVHlwZSA9IHRoaXMudHlwZUZvclJlbGF0aW9uc2hpcChuYW1lKTsK
|
2918
|
+
CiAgICBpZiAoIWludmVyc2VUeXBlKSB7IHJldHVybiBudWxsOyB9CgogICAg
|
2919
|
+
dmFyIG9wdGlvbnMgPSB0aGlzLm1ldGFGb3JQcm9wZXJ0eShuYW1lKS5vcHRp
|
2920
|
+
b25zOwoKICAgIGlmIChvcHRpb25zLmludmVyc2UgPT09IG51bGwpIHsgcmV0
|
2921
|
+
dXJuIG51bGw7IH0KICAgIAogICAgdmFyIGludmVyc2VOYW1lLCBpbnZlcnNl
|
2922
|
+
S2luZDsKCiAgICBpZiAob3B0aW9ucy5pbnZlcnNlKSB7CiAgICAgIGludmVy
|
2923
|
+
c2VOYW1lID0gb3B0aW9ucy5pbnZlcnNlOwogICAgICBpbnZlcnNlS2luZCA9
|
2924
|
+
IEVtYmVyLmdldChpbnZlcnNlVHlwZSwgJ3JlbGF0aW9uc2hpcHNCeU5hbWUn
|
2925
|
+
KS5nZXQoaW52ZXJzZU5hbWUpLmtpbmQ7CiAgICB9IGVsc2UgewogICAgICB2
|
2926
|
+
YXIgcG9zc2libGVSZWxhdGlvbnNoaXBzID0gZmluZFBvc3NpYmxlSW52ZXJz
|
2927
|
+
ZXModGhpcywgaW52ZXJzZVR5cGUpOwoKICAgICAgaWYgKHBvc3NpYmxlUmVs
|
2928
|
+
YXRpb25zaGlwcy5sZW5ndGggPT09IDApIHsgcmV0dXJuIG51bGw7IH0KCiAg
|
2929
|
+
ICAgIEVtYmVyLmFzc2VydCgiWW91IGRlZmluZWQgdGhlICciICsgbmFtZSAr
|
2930
|
+
ICInIHJlbGF0aW9uc2hpcCBvbiAiICsgdGhpcyArICIsIGJ1dCBtdWx0aXBs
|
2931
|
+
ZSBwb3NzaWJsZSBpbnZlcnNlIHJlbGF0aW9uc2hpcHMgb2YgdHlwZSAiICsg
|
2932
|
+
dGhpcyArICIgd2VyZSBmb3VuZCBvbiAiICsgaW52ZXJzZVR5cGUgKyAiLiIs
|
2933
|
+
IHBvc3NpYmxlUmVsYXRpb25zaGlwcy5sZW5ndGggPT09IDEpOwoKICAgICAg
|
2934
|
+
aW52ZXJzZU5hbWUgPSBwb3NzaWJsZVJlbGF0aW9uc2hpcHNbMF0ubmFtZTsK
|
2935
|
+
ICAgICAgaW52ZXJzZUtpbmQgPSBwb3NzaWJsZVJlbGF0aW9uc2hpcHNbMF0u
|
2936
|
+
a2luZDsKICAgIH0KCiAgICBmdW5jdGlvbiBmaW5kUG9zc2libGVJbnZlcnNl
|
2937
|
+
cyh0eXBlLCBpbnZlcnNlVHlwZSwgcG9zc2libGVSZWxhdGlvbnNoaXBzKSB7
|
2938
|
+
CiAgICAgIHBvc3NpYmxlUmVsYXRpb25zaGlwcyA9IHBvc3NpYmxlUmVsYXRp
|
2939
|
+
b25zaGlwcyB8fCBbXTsKCiAgICAgIHZhciByZWxhdGlvbnNoaXBNYXAgPSBn
|
2940
|
+
ZXQoaW52ZXJzZVR5cGUsICdyZWxhdGlvbnNoaXBzJyk7CiAgICAgIGlmICgh
|
2941
|
+
cmVsYXRpb25zaGlwTWFwKSB7IHJldHVybjsgfQoKICAgICAgdmFyIHJlbGF0
|
2942
|
+
aW9uc2hpcHMgPSByZWxhdGlvbnNoaXBNYXAuZ2V0KHR5cGUpOwogICAgICBp
|
2943
|
+
ZiAocmVsYXRpb25zaGlwcykgewogICAgICAgIHBvc3NpYmxlUmVsYXRpb25z
|
2944
|
+
aGlwcy5wdXNoLmFwcGx5KHBvc3NpYmxlUmVsYXRpb25zaGlwcywgcmVsYXRp
|
2945
|
+
b25zaGlwTWFwLmdldCh0eXBlKSk7CiAgICAgIH0KCiAgICAgIGlmICh0eXBl
|
2946
|
+
LnN1cGVyY2xhc3MpIHsKICAgICAgICBmaW5kUG9zc2libGVJbnZlcnNlcyh0
|
2947
|
+
eXBlLnN1cGVyY2xhc3MsIGludmVyc2VUeXBlLCBwb3NzaWJsZVJlbGF0aW9u
|
2948
|
+
c2hpcHMpOwogICAgICB9CgogICAgICByZXR1cm4gcG9zc2libGVSZWxhdGlv
|
2949
|
+
bnNoaXBzOwogICAgfQoKICAgIHJldHVybiB7CiAgICAgIHR5cGU6IGludmVy
|
2950
|
+
c2VUeXBlLAogICAgICBuYW1lOiBpbnZlcnNlTmFtZSwKICAgICAga2luZDog
|
2951
|
+
aW52ZXJzZUtpbmQKICAgIH07CiAgfSwKCiAgLyoqCiAgICBUaGUgbW9kZWwn
|
2952
|
+
cyByZWxhdGlvbnNoaXBzIGFzIGEgbWFwLCBrZXllZCBvbiB0aGUgdHlwZSBv
|
2953
|
+
ZiB0aGUKICAgIHJlbGF0aW9uc2hpcC4gVGhlIHZhbHVlIG9mIGVhY2ggZW50
|
2954
|
+
cnkgaXMgYW4gYXJyYXkgY29udGFpbmluZyBhIGRlc2NyaXB0b3IKICAgIGZv
|
2955
|
+
ciBlYWNoIHJlbGF0aW9uc2hpcCB3aXRoIHRoYXQgdHlwZSwgZGVzY3JpYmlu
|
2956
|
+
ZyB0aGUgbmFtZSBvZiB0aGUgcmVsYXRpb25zaGlwCiAgICBhcyB3ZWxsIGFz
|
2957
|
+
IHRoZSB0eXBlLgoKICAgIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93
|
2958
|
+
aW5nIG1vZGVsIGRlZmluaXRpb246CgogICAgICAgIEFwcC5CbG9nID0gRFMu
|
2959
|
+
TW9kZWwuZXh0ZW5kKHsKICAgICAgICAgIHVzZXJzOiBEUy5oYXNNYW55KEFw
|
2960
|
+
cC5Vc2VyKSwKICAgICAgICAgIG93bmVyOiBEUy5iZWxvbmdzVG8oQXBwLlVz
|
2961
|
+
ZXIpLAogICAgICAgICAgcG9zdHM6IERTLmhhc01hbnkoQXBwLlBvc3QpCiAg
|
2962
|
+
ICAgICAgfSk7CgogICAgVGhpcyBjb21wdXRlZCBwcm9wZXJ0eSB3b3VsZCBy
|
2963
|
+
ZXR1cm4gYSBtYXAgZGVzY3JpYmluZyB0aGVzZQogICAgcmVsYXRpb25zaGlw
|
2964
|
+
cywgbGlrZSB0aGlzOgoKICAgICAgICB2YXIgcmVsYXRpb25zaGlwcyA9IEVt
|
2965
|
+
YmVyLmdldChBcHAuQmxvZywgJ3JlbGF0aW9uc2hpcHMnKTsKICAgICAgICBy
|
2966
|
+
ZWxhdGlvbnNoaXBzLmdldChBcHAuVXNlcik7CiAgICAgICAgLy89PiBbIHsg
|
2967
|
+
bmFtZTogJ3VzZXJzJywga2luZDogJ2hhc01hbnknIH0sCiAgICAgICAgLy8g
|
2968
|
+
ICAgIHsgbmFtZTogJ293bmVyJywga2luZDogJ2JlbG9uZ3NUbycgfSBdCiAg
|
2969
|
+
ICAgICAgcmVsYXRpb25zaGlwcy5nZXQoQXBwLlBvc3QpOwogICAgICAgIC8v
|
2970
|
+
PT4gWyB7IG5hbWU6ICdwb3N0cycsIGtpbmQ6ICdoYXNNYW55JyB9IF0KCiAg
|
2971
|
+
ICBAcHJvcGVydHkgcmVsYXRpb25zaGlwcwogICAgQHN0YXRpYwogICAgQHR5
|
2972
|
+
cGUgRW1iZXIuTWFwCiAgICBAcmVhZE9ubHkKICAqLwogIHJlbGF0aW9uc2hp
|
2973
|
+
cHM6IEVtYmVyLmNvbXB1dGVkKGZ1bmN0aW9uKCkgewogICAgdmFyIG1hcCA9
|
2974
|
+
IG5ldyBFbWJlci5NYXBXaXRoRGVmYXVsdCh7CiAgICAgIGRlZmF1bHRWYWx1
|
2975
|
+
ZTogZnVuY3Rpb24oKSB7IHJldHVybiBbXTsgfQogICAgfSk7CgogICAgLy8g
|
2976
|
+
TG9vcCB0aHJvdWdoIGVhY2ggY29tcHV0ZWQgcHJvcGVydHkgb24gdGhlIGNs
|
2977
|
+
YXNzCiAgICB0aGlzLmVhY2hDb21wdXRlZFByb3BlcnR5KGZ1bmN0aW9uKG5h
|
2978
|
+
bWUsIG1ldGEpIHsKCiAgICAgIC8vIElmIHRoZSBjb21wdXRlZCBwcm9wZXJ0
|
2979
|
+
eSBpcyBhIHJlbGF0aW9uc2hpcCwgYWRkCiAgICAgIC8vIGl0IHRvIHRoZSBt
|
2980
|
+
YXAuCiAgICAgIGlmIChtZXRhLmlzUmVsYXRpb25zaGlwKSB7CiAgICAgICAg
|
2981
|
+
aWYgKHR5cGVvZiBtZXRhLnR5cGUgPT09ICdzdHJpbmcnKSB7CiAgICAgICAg
|
2982
|
+
ICBtZXRhLnR5cGUgPSBFbWJlci5nZXQoRW1iZXIubG9va3VwLCBtZXRhLnR5
|
2983
|
+
cGUpOwogICAgICAgIH0KCiAgICAgICAgdmFyIHJlbGF0aW9uc2hpcHNGb3JU
|
2984
|
+
eXBlID0gbWFwLmdldChtZXRhLnR5cGUpOwoKICAgICAgICByZWxhdGlvbnNo
|
2985
|
+
aXBzRm9yVHlwZS5wdXNoKHsgbmFtZTogbmFtZSwga2luZDogbWV0YS5raW5k
|
2986
|
+
IH0pOwogICAgICB9CiAgICB9KTsKCiAgICByZXR1cm4gbWFwOwogIH0pLAoK
|
2987
|
+
ICAvKioKICAgIEEgaGFzaCBjb250YWluaW5nIGxpc3RzIG9mIHRoZSBtb2Rl
|
2988
|
+
bCdzIHJlbGF0aW9uc2hpcHMsIGdyb3VwZWQKICAgIGJ5IHRoZSByZWxhdGlv
|
2989
|
+
bnNoaXAga2luZC4gRm9yIGV4YW1wbGUsIGdpdmVuIGEgbW9kZWwgd2l0aCB0
|
2990
|
+
aGlzCiAgICBkZWZpbml0aW9uOgoKICAgICAgICBBcHAuQmxvZyA9IERTLk1v
|
2991
|
+
ZGVsLmV4dGVuZCh7CiAgICAgICAgICB1c2VyczogRFMuaGFzTWFueShBcHAu
|
2992
|
+
VXNlciksCiAgICAgICAgICBvd25lcjogRFMuYmVsb25nc1RvKEFwcC5Vc2Vy
|
2993
|
+
KSwKCiAgICAgICAgICBwb3N0czogRFMuaGFzTWFueShBcHAuUG9zdCkKICAg
|
2994
|
+
ICAgICB9KTsKCiAgICBUaGlzIHByb3BlcnR5IHdvdWxkIGNvbnRhaW4gdGhl
|
2995
|
+
IGZvbGxvd2luZzoKCiAgICAgICB2YXIgcmVsYXRpb25zaGlwTmFtZXMgPSBF
|
2996
|
+
bWJlci5nZXQoQXBwLkJsb2csICdyZWxhdGlvbnNoaXBOYW1lcycpOwogICAg
|
2997
|
+
ICAgcmVsYXRpb25zaGlwTmFtZXMuaGFzTWFueTsKICAgICAgIC8vPT4gWyd1
|
2998
|
+
c2VycycsICdwb3N0cyddCiAgICAgICByZWxhdGlvbnNoaXBOYW1lcy5iZWxv
|
2999
|
+
bmdzVG87CiAgICAgICAvLz0+IFsnb3duZXInXQoKICAgIEBwcm9wZXJ0eSBy
|
3000
|
+
ZWxhdGlvbnNoaXBOYW1lcwogICAgQHN0YXRpYwogICAgQHR5cGUgT2JqZWN0
|
3001
|
+
CiAgICBAcmVhZE9ubHkKICAqLwogIHJlbGF0aW9uc2hpcE5hbWVzOiBFbWJl
|
3002
|
+
ci5jb21wdXRlZChmdW5jdGlvbigpIHsKICAgIHZhciBuYW1lcyA9IHsgaGFz
|
3003
|
+
TWFueTogW10sIGJlbG9uZ3NUbzogW10gfTsKCiAgICB0aGlzLmVhY2hDb21w
|
3004
|
+
dXRlZFByb3BlcnR5KGZ1bmN0aW9uKG5hbWUsIG1ldGEpIHsKICAgICAgaWYg
|
3005
|
+
KG1ldGEuaXNSZWxhdGlvbnNoaXApIHsKICAgICAgICBuYW1lc1ttZXRhLmtp
|
3006
|
+
bmRdLnB1c2gobmFtZSk7CiAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiBu
|
3007
|
+
YW1lczsKICB9KSwKCiAgLyoqCiAgICBBbiBhcnJheSBvZiB0eXBlcyBkaXJl
|
3008
|
+
Y3RseSByZWxhdGVkIHRvIGEgbW9kZWwuIEVhY2ggdHlwZSB3aWxsIGJlCiAg
|
3009
|
+
ICBpbmNsdWRlZCBvbmNlLCByZWdhcmRsZXNzIG9mIHRoZSBudW1iZXIgb2Yg
|
3010
|
+
cmVsYXRpb25zaGlwcyBpdCBoYXMgd2l0aAogICAgdGhlIG1vZGVsLgoKICAg
|
3011
|
+
IEZvciBleGFtcGxlLCBnaXZlbiBhIG1vZGVsIHdpdGggdGhpcyBkZWZpbml0
|
3012
|
+
aW9uOgoKICAgICAgICBBcHAuQmxvZyA9IERTLk1vZGVsLmV4dGVuZCh7CiAg
|
3013
|
+
ICAgICAgICB1c2VyczogRFMuaGFzTWFueShBcHAuVXNlciksCiAgICAgICAg
|
3014
|
+
ICBvd25lcjogRFMuYmVsb25nc1RvKEFwcC5Vc2VyKSwKICAgICAgICAgIHBv
|
3015
|
+
c3RzOiBEUy5oYXNNYW55KEFwcC5Qb3N0KQogICAgICAgIH0pOwoKICAgIFRo
|
3016
|
+
aXMgcHJvcGVydHkgd291bGQgY29udGFpbiB0aGUgZm9sbG93aW5nOgoKICAg
|
3017
|
+
ICAgIHZhciByZWxhdGVkVHlwZXMgPSBFbWJlci5nZXQoQXBwLkJsb2csICdy
|
3018
|
+
ZWxhdGVkVHlwZXMnKTsKICAgICAgIC8vPT4gWyBBcHAuVXNlciwgQXBwLlBv
|
3019
|
+
c3QgXQoKICAgIEBwcm9wZXJ0eSByZWxhdGVkVHlwZXMKICAgIEBzdGF0aWMK
|
3020
|
+
ICAgIEB0eXBlIEVtYmVyLkFycmF5CiAgICBAcmVhZE9ubHkKICAqLwogIHJl
|
3021
|
+
bGF0ZWRUeXBlczogRW1iZXIuY29tcHV0ZWQoZnVuY3Rpb24oKSB7CiAgICB2
|
3022
|
+
YXIgdHlwZSwKICAgICAgICB0eXBlcyA9IEVtYmVyLkEoKTsKCiAgICAvLyBM
|
3023
|
+
b29wIHRocm91Z2ggZWFjaCBjb21wdXRlZCBwcm9wZXJ0eSBvbiB0aGUgY2xh
|
3024
|
+
c3MsCiAgICAvLyBhbmQgY3JlYXRlIGFuIGFycmF5IG9mIHRoZSB1bmlxdWUg
|
3025
|
+
dHlwZXMgaW52b2x2ZWQKICAgIC8vIGluIHJlbGF0aW9uc2hpcHMKICAgIHRo
|
3026
|
+
aXMuZWFjaENvbXB1dGVkUHJvcGVydHkoZnVuY3Rpb24obmFtZSwgbWV0YSkg
|
3027
|
+
ewogICAgICBpZiAobWV0YS5pc1JlbGF0aW9uc2hpcCkgewogICAgICAgIHR5
|
3028
|
+
cGUgPSBtZXRhLnR5cGU7CgogICAgICAgIGlmICh0eXBlb2YgdHlwZSA9PT0g
|
3029
|
+
J3N0cmluZycpIHsKICAgICAgICAgIHR5cGUgPSBnZXQodGhpcywgdHlwZSwg
|
3030
|
+
ZmFsc2UpIHx8IGdldChFbWJlci5sb29rdXAsIHR5cGUpOwogICAgICAgIH0K
|
3031
|
+
CiAgICAgICAgRW1iZXIuYXNzZXJ0KCJZb3Ugc3BlY2lmaWVkIGEgaGFzTWFu
|
3032
|
+
eSAoIiArIG1ldGEudHlwZSArICIpIG9uICIgKyBtZXRhLnBhcmVudFR5cGUg
|
3033
|
+
KyAiIGJ1dCAiICsgbWV0YS50eXBlICsgIiB3YXMgbm90IGZvdW5kLiIsICB0
|
3034
|
+
eXBlKTsKCiAgICAgICAgaWYgKCF0eXBlcy5jb250YWlucyh0eXBlKSkgewog
|
3035
|
+
ICAgICAgICAgRW1iZXIuYXNzZXJ0KCJUcnlpbmcgdG8gc2lkZWxvYWQgIiAr
|
3036
|
+
IG5hbWUgKyAiIG9uICIgKyB0aGlzLnRvU3RyaW5nKCkgKyAiIGJ1dCB0aGUg
|
3037
|
+
dHlwZSBkb2Vzbid0IGV4aXN0LiIsICEhdHlwZSk7CiAgICAgICAgICB0eXBl
|
3038
|
+
cy5wdXNoKHR5cGUpOwogICAgICAgIH0KICAgICAgfQogICAgfSk7CgogICAg
|
3039
|
+
cmV0dXJuIHR5cGVzOwogIH0pLAoKICAvKioKICAgIEEgbWFwIHdob3NlIGtl
|
3040
|
+
eXMgYXJlIHRoZSByZWxhdGlvbnNoaXBzIG9mIGEgbW9kZWwgYW5kIHdob3Nl
|
3041
|
+
IHZhbHVlcyBhcmUKICAgIHJlbGF0aW9uc2hpcCBkZXNjcmlwdG9ycy4KCiAg
|
3042
|
+
ICBGb3IgZXhhbXBsZSwgZ2l2ZW4gYSBtb2RlbCB3aXRoIHRoaXMKICAgIGRl
|
3043
|
+
ZmluaXRpb246CgogICAgICAgIEFwcC5CbG9nID0gRFMuTW9kZWwuZXh0ZW5k
|
3044
|
+
KHsKICAgICAgICAgIHVzZXJzOiBEUy5oYXNNYW55KEFwcC5Vc2VyKSwKICAg
|
3045
|
+
ICAgICAgIG93bmVyOiBEUy5iZWxvbmdzVG8oQXBwLlVzZXIpLAoKICAgICAg
|
3046
|
+
ICAgIHBvc3RzOiBEUy5oYXNNYW55KEFwcC5Qb3N0KQogICAgICAgIH0pOwoK
|
3047
|
+
ICAgIFRoaXMgcHJvcGVydHkgd291bGQgY29udGFpbiB0aGUgZm9sbG93aW5n
|
3048
|
+
OgoKICAgICAgIHZhciByZWxhdGlvbnNoaXBzQnlOYW1lID0gRW1iZXIuZ2V0
|
3049
|
+
KEFwcC5CbG9nLCAncmVsYXRpb25zaGlwc0J5TmFtZScpOwogICAgICAgcmVs
|
3050
|
+
YXRpb25zaGlwc0J5TmFtZS5nZXQoJ3VzZXJzJyk7CiAgICAgICAvLz0+IHsg
|
3051
|
+
a2V5OiAndXNlcnMnLCBraW5kOiAnaGFzTWFueScsIHR5cGU6IEFwcC5Vc2Vy
|
3052
|
+
IH0KICAgICAgIHJlbGF0aW9uc2hpcHNCeU5hbWUuZ2V0KCdvd25lcicpOwog
|
3053
|
+
ICAgICAgLy89PiB7IGtleTogJ293bmVyJywga2luZDogJ2JlbG9uZ3NUbycs
|
3054
|
+
IHR5cGU6IEFwcC5Vc2VyIH0KCiAgICBAcHJvcGVydHkgcmVsYXRpb25zaGlw
|
3055
|
+
c0J5TmFtZQogICAgQHN0YXRpYwogICAgQHR5cGUgRW1iZXIuTWFwCiAgICBA
|
3056
|
+
cmVhZE9ubHkKICAqLwogIHJlbGF0aW9uc2hpcHNCeU5hbWU6IEVtYmVyLmNv
|
3057
|
+
bXB1dGVkKGZ1bmN0aW9uKCkgewogICAgdmFyIG1hcCA9IEVtYmVyLk1hcC5j
|
3058
|
+
cmVhdGUoKSwgdHlwZTsKCiAgICB0aGlzLmVhY2hDb21wdXRlZFByb3BlcnR5
|
3059
|
+
KGZ1bmN0aW9uKG5hbWUsIG1ldGEpIHsKICAgICAgaWYgKG1ldGEuaXNSZWxh
|
3060
|
+
dGlvbnNoaXApIHsKICAgICAgICBtZXRhLmtleSA9IG5hbWU7CiAgICAgICAg
|
3061
|
+
dHlwZSA9IG1ldGEudHlwZTsKCiAgICAgICAgaWYgKHR5cGVvZiB0eXBlID09
|
3062
|
+
PSAnc3RyaW5nJykgewogICAgICAgICAgbWV0YS50eXBlID0gdGhpcy5zdG9y
|
3063
|
+
ZS5tb2RlbEZvcih0eXBlKTsKICAgICAgICB9CgogICAgICAgIG1hcC5zZXQo
|
3064
|
+
bmFtZSwgbWV0YSk7CiAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiBtYXA7
|
3065
|
+
CiAgfSksCgogIC8qKgogICAgQSBtYXAgd2hvc2Uga2V5cyBhcmUgdGhlIGZp
|
3066
|
+
ZWxkcyBvZiB0aGUgbW9kZWwgYW5kIHdob3NlIHZhbHVlcyBhcmUgc3RyaW5n
|
3067
|
+
cwogICAgZGVzY3JpYmluZyB0aGUga2luZCBvZiB0aGUgZmllbGQuIEEgbW9k
|
3068
|
+
ZWwncyBmaWVsZHMgYXJlIHRoZSB1bmlvbiBvZiBhbGwgb2YgaXRzCiAgICBh
|
3069
|
+
dHRyaWJ1dGVzIGFuZCByZWxhdGlvbnNoaXBzLgoKICAgIEZvciBleGFtcGxl
|
3070
|
+
OgoKICAgICAgICBBcHAuQmxvZyA9IERTLk1vZGVsLmV4dGVuZCh7CiAgICAg
|
3071
|
+
ICAgICB1c2VyczogRFMuaGFzTWFueShBcHAuVXNlciksCiAgICAgICAgICBv
|
3072
|
+
d25lcjogRFMuYmVsb25nc1RvKEFwcC5Vc2VyKSwKCiAgICAgICAgICBwb3N0
|
3073
|
+
czogRFMuaGFzTWFueShBcHAuUG9zdCksCgogICAgICAgICAgdGl0bGU6IERT
|
3074
|
+
LmF0dHIoJ3N0cmluZycpCiAgICAgICAgfSk7CgogICAgICAgIHZhciBmaWVs
|
3075
|
+
ZHMgPSBFbWJlci5nZXQoQXBwLkJsb2csICdmaWVsZHMnKTsKICAgICAgICBm
|
3076
|
+
aWVsZHMuZm9yRWFjaChmdW5jdGlvbihmaWVsZCwga2luZCkgewogICAgICAg
|
3077
|
+
ICAgY29uc29sZS5sb2coZmllbGQsIGtpbmQpOwogICAgICAgIH0pOwoKICAg
|
3078
|
+
ICAgICAvLyBwcmludHM6CiAgICAgICAgLy8gdXNlcnMsIGhhc01hbnkKICAg
|
3079
|
+
ICAgICAvLyBvd25lciwgYmVsb25nc1RvCiAgICAgICAgLy8gcG9zdHMsIGhh
|
3080
|
+
c01hbnkKICAgICAgICAvLyB0aXRsZSwgYXR0cmlidXRlCgogICAgQHByb3Bl
|
3081
|
+
cnR5IGZpZWxkcwogICAgQHN0YXRpYwogICAgQHR5cGUgRW1iZXIuTWFwCiAg
|
3082
|
+
ICBAcmVhZE9ubHkKICAqLwogIGZpZWxkczogRW1iZXIuY29tcHV0ZWQoZnVu
|
3083
|
+
Y3Rpb24oKSB7CiAgICB2YXIgbWFwID0gRW1iZXIuTWFwLmNyZWF0ZSgpOwoK
|
3084
|
+
ICAgIHRoaXMuZWFjaENvbXB1dGVkUHJvcGVydHkoZnVuY3Rpb24obmFtZSwg
|
3085
|
+
bWV0YSkgewogICAgICBpZiAobWV0YS5pc1JlbGF0aW9uc2hpcCkgewogICAg
|
3086
|
+
ICAgIG1hcC5zZXQobmFtZSwgbWV0YS5raW5kKTsKICAgICAgfSBlbHNlIGlm
|
3087
|
+
IChtZXRhLmlzQXR0cmlidXRlKSB7CiAgICAgICAgbWFwLnNldChuYW1lLCAn
|
3088
|
+
YXR0cmlidXRlJyk7CiAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiBtYXA7
|
3089
|
+
CiAgfSksCgogIC8qKgogICAgR2l2ZW4gYSBjYWxsYmFjaywgaXRlcmF0ZXMg
|
3090
|
+
b3ZlciBlYWNoIG9mIHRoZSByZWxhdGlvbnNoaXBzIGluIHRoZSBtb2RlbCwK
|
3091
|
+
ICAgIGludm9raW5nIHRoZSBjYWxsYmFjayB3aXRoIHRoZSBuYW1lIG9mIGVh
|
3092
|
+
Y2ggcmVsYXRpb25zaGlwIGFuZCBpdHMgcmVsYXRpb25zaGlwCiAgICBkZXNj
|
3093
|
+
cmlwdG9yLgoKICAgIEBtZXRob2QgZWFjaFJlbGF0aW9uc2hpcAogICAgQHN0
|
3094
|
+
YXRpYwogICAgQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgdGhlIGNhbGxi
|
3095
|
+
YWNrIHRvIGludm9rZQogICAgQHBhcmFtIHthbnl9IGJpbmRpbmcgdGhlIHZh
|
3096
|
+
bHVlIHRvIHdoaWNoIHRoZSBjYWxsYmFjaydzIGB0aGlzYCBzaG91bGQgYmUg
|
3097
|
+
Ym91bmQKICAqLwogIGVhY2hSZWxhdGlvbnNoaXA6IGZ1bmN0aW9uKGNhbGxi
|
3098
|
+
YWNrLCBiaW5kaW5nKSB7CiAgICBnZXQodGhpcywgJ3JlbGF0aW9uc2hpcHNC
|
3099
|
+
eU5hbWUnKS5mb3JFYWNoKGZ1bmN0aW9uKG5hbWUsIHJlbGF0aW9uc2hpcCkg
|
3100
|
+
ewogICAgICBjYWxsYmFjay5jYWxsKGJpbmRpbmcsIG5hbWUsIHJlbGF0aW9u
|
3101
|
+
c2hpcCk7CiAgICB9KTsKICB9LAoKICAvKioKICAgIEdpdmVuIGEgY2FsbGJh
|
3102
|
+
Y2ssIGl0ZXJhdGVzIG92ZXIgZWFjaCBvZiB0aGUgdHlwZXMgcmVsYXRlZCB0
|
3103
|
+
byBhIG1vZGVsLAogICAgaW52b2tpbmcgdGhlIGNhbGxiYWNrIHdpdGggdGhl
|
3104
|
+
IHJlbGF0ZWQgdHlwZSdzIGNsYXNzLiBFYWNoIHR5cGUgd2lsbCBiZQogICAg
|
3105
|
+
cmV0dXJuZWQganVzdCBvbmNlLCByZWdhcmRsZXNzIG9mIGhvdyBtYW55IGRp
|
3106
|
+
ZmZlcmVudCByZWxhdGlvbnNoaXBzIGl0IGhhcwogICAgd2l0aCBhIG1vZGVs
|
3107
|
+
LgoKICAgIEBtZXRob2QgZWFjaFJlbGF0ZWRUeXBlCiAgICBAc3RhdGljCiAg
|
3108
|
+
ICBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjayB0aGUgY2FsbGJhY2sgdG8g
|
3109
|
+
aW52b2tlCiAgICBAcGFyYW0ge2FueX0gYmluZGluZyB0aGUgdmFsdWUgdG8g
|
3110
|
+
d2hpY2ggdGhlIGNhbGxiYWNrJ3MgYHRoaXNgIHNob3VsZCBiZSBib3VuZAog
|
3111
|
+
ICovCiAgZWFjaFJlbGF0ZWRUeXBlOiBmdW5jdGlvbihjYWxsYmFjaywgYmlu
|
3112
|
+
ZGluZykgewogICAgZ2V0KHRoaXMsICdyZWxhdGVkVHlwZXMnKS5mb3JFYWNo
|
3113
|
+
KGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgY2FsbGJhY2suY2FsbChiaW5kaW5n
|
3114
|
+
LCB0eXBlKTsKICAgIH0pOwogIH0KfSk7CgpEUy5Nb2RlbC5yZW9wZW4oewog
|
3115
|
+
IC8qKgogICAgR2l2ZW4gYSBjYWxsYmFjaywgaXRlcmF0ZXMgb3ZlciBlYWNo
|
3116
|
+
IG9mIHRoZSByZWxhdGlvbnNoaXBzIGluIHRoZSBtb2RlbCwKICAgIGludm9r
|
3117
|
+
aW5nIHRoZSBjYWxsYmFjayB3aXRoIHRoZSBuYW1lIG9mIGVhY2ggcmVsYXRp
|
3118
|
+
b25zaGlwIGFuZCBpdHMgcmVsYXRpb25zaGlwCiAgICBkZXNjcmlwdG9yLgoK
|
3119
|
+
ICAgIEBtZXRob2QgZWFjaFJlbGF0aW9uc2hpcAogICAgQHBhcmFtIHtGdW5j
|
3120
|
+
dGlvbn0gY2FsbGJhY2sgdGhlIGNhbGxiYWNrIHRvIGludm9rZQogICAgQHBh
|
3121
|
+
cmFtIHthbnl9IGJpbmRpbmcgdGhlIHZhbHVlIHRvIHdoaWNoIHRoZSBjYWxs
|
3122
|
+
YmFjaydzIGB0aGlzYCBzaG91bGQgYmUgYm91bmQKICAqLwogIGVhY2hSZWxh
|
3123
|
+
dGlvbnNoaXA6IGZ1bmN0aW9uKGNhbGxiYWNrLCBiaW5kaW5nKSB7CiAgICB0
|
3124
|
+
aGlzLmNvbnN0cnVjdG9yLmVhY2hSZWxhdGlvbnNoaXAoY2FsbGJhY2ssIGJp
|
3125
|
+
bmRpbmcpOwogIH0KfSk7Cgp9KSgpOwoKCgooZnVuY3Rpb24oKSB7Ci8qKgog
|
3126
|
+
IEBtb2R1bGUgZW1iZXItZGF0YQoqLwoKfSkoKTsKCgoKKGZ1bmN0aW9uKCkg
|
3127
|
+
ewovKioKICBAbW9kdWxlIGVtYmVyLWRhdGEKKi8KCnZhciBnZXQgPSBFbWJl
|
3128
|
+
ci5nZXQsIHNldCA9IEVtYmVyLnNldDsKdmFyIG9uY2UgPSBFbWJlci5ydW4u
|
3129
|
+
b25jZTsKdmFyIGZvckVhY2ggPSBFbWJlci5FbnVtZXJhYmxlVXRpbHMuZm9y
|
3130
|
+
RWFjaDsKCi8qKgogIEBjbGFzcyBSZWNvcmRBcnJheU1hbmFnZXIKICBAbmFt
|
3131
|
+
ZXNwYWNlIERTCiAgQHByaXZhdGUKICBAZXh0ZW5kcyBFbWJlci5PYmplY3QK
|
3132
|
+
Ki8KRFMuUmVjb3JkQXJyYXlNYW5hZ2VyID0gRW1iZXIuT2JqZWN0LmV4dGVu
|
3133
|
+
ZCh7CiAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICB0aGlzLmZpbHRlcmVkUmVj
|
3134
|
+
b3JkQXJyYXlzID0gRW1iZXIuTWFwV2l0aERlZmF1bHQuY3JlYXRlKHsKICAg
|
3135
|
+
ICAgZGVmYXVsdFZhbHVlOiBmdW5jdGlvbigpIHsgcmV0dXJuIFtdOyB9CiAg
|
3136
|
+
ICB9KTsKCiAgICB0aGlzLmNoYW5nZWRSZWNvcmRzID0gW107CiAgfSwKCiAg
|
3137
|
+
cmVjb3JkRGlkQ2hhbmdlOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgIHRoaXMu
|
3138
|
+
Y2hhbmdlZFJlY29yZHMucHVzaChyZWNvcmQpOwogICAgb25jZSh0aGlzLCB0
|
3139
|
+
aGlzLnVwZGF0ZVJlY29yZEFycmF5cyk7CiAgfSwKCiAgcmVjb3JkQXJyYXlz
|
3140
|
+
Rm9yUmVjb3JkOiBmdW5jdGlvbihyZWNvcmQpIHsKICAgIHJlY29yZC5fcmVj
|
3141
|
+
b3JkQXJyYXlzID0gcmVjb3JkLl9yZWNvcmRBcnJheXMgfHwgRW1iZXIuT3Jk
|
3142
|
+
ZXJlZFNldC5jcmVhdGUoKTsKICAgIHJldHVybiByZWNvcmQuX3JlY29yZEFy
|
3143
|
+
cmF5czsKICB9LAoKICAvKioKICAgIFRoaXMgbWV0aG9kIGlzIGludm9rZWQg
|
3144
|
+
d2hlbmV2ZXIgZGF0YSBpcyBsb2FkZWQgaW50byB0aGUgc3RvcmUKICAgIGJ5
|
3145
|
+
IHRoZSBhZGFwdGVyIG9yIHVwZGF0ZWQgYnkgdGhlIGFkYXB0ZXIsIG9yIHdo
|
3146
|
+
ZW4gYW4gYXR0cmlidXRlCiAgICBjaGFuZ2VzIG9uIGEgcmVjb3JkLgoKICAg
|
3147
|
+
IEl0IHVwZGF0ZXMgYWxsIGZpbHRlcnMgdGhhdCBhIHJlY29yZCBiZWxvbmdz
|
3148
|
+
IHRvLgoKICAgIFRvIGF2b2lkIHRocmFzaGluZywgaXQgb25seSBydW5zIG9u
|
3149
|
+
Y2UgcGVyIHJ1biBsb29wIHBlciByZWNvcmQuCgogICAgQG1ldGhvZCB1cGRh
|
3150
|
+
dGVSZWNvcmRBcnJheXMKICAgIEBwYXJhbSB7Q2xhc3N9IHR5cGUKICAgIEBw
|
3151
|
+
YXJhbSB7TnVtYmVyfFN0cmluZ30gY2xpZW50SWQKICAqLwogIHVwZGF0ZVJl
|
3152
|
+
Y29yZEFycmF5czogZnVuY3Rpb24oKSB7CiAgICBmb3JFYWNoKHRoaXMuY2hh
|
3153
|
+
bmdlZFJlY29yZHMsIGZ1bmN0aW9uKHJlY29yZCkgewogICAgICB2YXIgdHlw
|
3154
|
+
ZSA9IHJlY29yZC5jb25zdHJ1Y3RvciwKICAgICAgICAgIHJlY29yZEFycmF5
|
3155
|
+
cyA9IHRoaXMuZmlsdGVyZWRSZWNvcmRBcnJheXMuZ2V0KHR5cGUpLAogICAg
|
3156
|
+
ICAgICAgZmlsdGVyOwoKICAgICAgZm9yRWFjaChyZWNvcmRBcnJheXMsIGZ1
|
3157
|
+
bmN0aW9uKGFycmF5KSB7CiAgICAgICAgZmlsdGVyID0gZ2V0KGFycmF5LCAn
|
3158
|
+
ZmlsdGVyRnVuY3Rpb24nKTsKICAgICAgICB0aGlzLnVwZGF0ZVJlY29yZEFy
|
3159
|
+
cmF5KGFycmF5LCBmaWx0ZXIsIHR5cGUsIHJlY29yZCk7CiAgICAgIH0sIHRo
|
3160
|
+
aXMpOwoKICAgICAgLy8gbG9vcCB0aHJvdWdoIGFsbCBtYW55QXJyYXlzIGNv
|
3161
|
+
bnRhaW5pbmcgYW4gdW5sb2FkZWQgY29weSBvZiB0aGlzCiAgICAgIC8vIGNs
|
3162
|
+
aWVudElkIGFuZCBub3RpZnkgdGhlbSB0aGF0IHRoZSByZWNvcmQgd2FzIGxv
|
3163
|
+
YWRlZC4KICAgICAgdmFyIG1hbnlBcnJheXMgPSByZWNvcmQuX2xvYWRpbmdS
|
3164
|
+
ZWNvcmRBcnJheXM7CgogICAgICBpZiAobWFueUFycmF5cykgewogICAgICAg
|
3165
|
+
IGZvciAodmFyIGk9MCwgbD1tYW55QXJyYXlzLmxlbmd0aDsgaTxsOyBpKysp
|
3166
|
+
IHsKICAgICAgICAgIG1hbnlBcnJheXNbaV0ubG9hZGVkUmVjb3JkKCk7CiAg
|
3167
|
+
ICAgICAgfQoKICAgICAgICByZWNvcmQuX2xvYWRpbmdSZWNvcmRBcnJheXMg
|
3168
|
+
PSBbXTsKICAgICAgfQogICAgfSwgdGhpcyk7CgogICAgdGhpcy5jaGFuZ2Vk
|
3169
|
+
UmVjb3JkcyA9IFtdOwogIH0sCgogIC8qKgogICAgVXBkYXRlIGFuIGluZGl2
|
3170
|
+
aWR1YWwgZmlsdGVyLgoKICAgIEBtZXRob2QgdXBkYXRlUmVjb3JkQXJyYXkK
|
3171
|
+
ICAgIEBwYXJhbSB7RFMuRmlsdGVyZWRSZWNvcmRBcnJheX0gYXJyYXkKICAg
|
3172
|
+
IEBwYXJhbSB7RnVuY3Rpb259IGZpbHRlcgogICAgQHBhcmFtIHtDbGFzc30g
|
3173
|
+
dHlwZQogICAgQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSBjbGllbnRJZAogICov
|
3174
|
+
CiAgdXBkYXRlUmVjb3JkQXJyYXk6IGZ1bmN0aW9uKGFycmF5LCBmaWx0ZXIs
|
3175
|
+
IHR5cGUsIHJlY29yZCkgewogICAgdmFyIHNob3VsZEJlSW5BcnJheTsKCiAg
|
3176
|
+
ICBpZiAoIWZpbHRlcikgewogICAgICBzaG91bGRCZUluQXJyYXkgPSB0cnVl
|
3177
|
+
OwogICAgfSBlbHNlIHsKICAgICAgc2hvdWxkQmVJbkFycmF5ID0gZmlsdGVy
|
3178
|
+
KHJlY29yZCk7CiAgICB9CgogICAgdmFyIHJlY29yZEFycmF5cyA9IHRoaXMu
|
3179
|
+
cmVjb3JkQXJyYXlzRm9yUmVjb3JkKHJlY29yZCk7CgogICAgaWYgKHNob3Vs
|
3180
|
+
ZEJlSW5BcnJheSkgewogICAgICByZWNvcmRBcnJheXMuYWRkKGFycmF5KTsK
|
3181
|
+
ICAgICAgYXJyYXkuYWRkUmVjb3JkKHJlY29yZCk7CiAgICB9IGVsc2UgaWYg
|
3182
|
+
KCFzaG91bGRCZUluQXJyYXkpIHsKICAgICAgcmVjb3JkQXJyYXlzLnJlbW92
|
3183
|
+
ZShhcnJheSk7CiAgICAgIGFycmF5LnJlbW92ZVJlY29yZChyZWNvcmQpOwog
|
3184
|
+
ICAgfQogIH0sCgogIC8qKgogICAgV2hlbiBhIHJlY29yZCBpcyBkZWxldGVk
|
3185
|
+
LCBpdCBpcyByZW1vdmVkIGZyb20gYWxsIGl0cwogICAgcmVjb3JkIGFycmF5
|
3186
|
+
cy4KCiAgICBAbWV0aG9kIHJlbW92ZQogICAgQHBhcmFtIHtEUy5Nb2RlbH0g
|
3187
|
+
cmVjb3JkCiAgKi8KICByZW1vdmU6IGZ1bmN0aW9uKHJlY29yZCkgewogICAg
|
3188
|
+
dmFyIHJlY29yZEFycmF5cyA9IHJlY29yZC5fcmVjb3JkQXJyYXlzOwoKICAg
|
3189
|
+
IGlmICghcmVjb3JkQXJyYXlzKSB7IHJldHVybjsgfQoKICAgIGZvckVhY2go
|
3190
|
+
cmVjb3JkQXJyYXlzLCBmdW5jdGlvbihhcnJheSkgewogICAgICBhcnJheS5y
|
3191
|
+
ZW1vdmVSZWNvcmQocmVjb3JkKTsKICAgIH0pOwogIH0sCgogIC8qKgogICAg
|
3192
|
+
VGhpcyBtZXRob2QgaXMgaW52b2tlZCBpZiB0aGUgYGZpbHRlckZ1bmN0aW9u
|
3193
|
+
YCBwcm9wZXJ0eSBpcwogICAgY2hhbmdlZCBvbiBhIGBEUy5GaWx0ZXJlZFJl
|
3194
|
+
Y29yZEFycmF5YC4KCiAgICBJdCBlc3NlbnRpYWxseSByZS1ydW5zIHRoZSBm
|
3195
|
+
aWx0ZXIgZnJvbSBzY3JhdGNoLiBUaGlzIHNhbWUKICAgIG1ldGhvZCBpcyBp
|
3196
|
+
bnZva2VkIHdoZW4gdGhlIGZpbHRlciBpcyBjcmVhdGVkIGluIHRoIGZpcnN0
|
3197
|
+
IHBsYWNlLgoKICAgIEBtZXRob2QgdXBkYXRlRmlsdGVyCiAgICBAcGFyYW0g
|
3198
|
+
YXJyYXkKICAgIEBwYXJhbSB0eXBlCiAgICBAcGFyYW0gZmlsdGVyCiAgKi8K
|
3199
|
+
ICB1cGRhdGVGaWx0ZXI6IGZ1bmN0aW9uKGFycmF5LCB0eXBlLCBmaWx0ZXIp
|
3200
|
+
IHsKICAgIHZhciB0eXBlTWFwID0gdGhpcy5zdG9yZS50eXBlTWFwRm9yKHR5
|
3201
|
+
cGUpLAogICAgICAgIHJlY29yZHMgPSB0eXBlTWFwLnJlY29yZHMsIHJlY29y
|
3202
|
+
ZDsKCiAgICBmb3IgKHZhciBpPTAsIGw9cmVjb3Jkcy5sZW5ndGg7IGk8bDsg
|
3203
|
+
aSsrKSB7CiAgICAgIHJlY29yZCA9IHJlY29yZHNbaV07CgogICAgICBpZiAo
|
3204
|
+
IWdldChyZWNvcmQsICdpc0RlbGV0ZWQnKSAmJiAhZ2V0KHJlY29yZCwgJ2lz
|
3205
|
+
RW1wdHknKSkgewogICAgICAgIHRoaXMudXBkYXRlUmVjb3JkQXJyYXkoYXJy
|
3206
|
+
YXksIGZpbHRlciwgdHlwZSwgcmVjb3JkKTsKICAgICAgfQogICAgfQogIH0s
|
3207
|
+
CgogIC8qKgogICAgQ3JlYXRlIGEgYERTLk1hbnlBcnJheWAgZm9yIGEgdHlw
|
3208
|
+
ZSBhbmQgbGlzdCBvZiByZWNvcmQgcmVmZXJlbmNlcywgYW5kIGluZGV4CiAg
|
3209
|
+
ICB0aGUgYE1hbnlBcnJheWAgdW5kZXIgZWFjaCByZWZlcmVuY2UuIFRoaXMg
|
3210
|
+
YWxsb3dzIHVzIHRvIGVmZmljaWVudGx5IHJlbW92ZQogICAgcmVjb3JkcyBm
|
3211
|
+
cm9tIGBNYW55QXJyYXlgcyB3aGVuIHRoZXkgYXJlIGRlbGV0ZWQuCgogICAg
|
3212
|
+
QG1ldGhvZCBjcmVhdGVNYW55QXJyYXkKICAgIEBwYXJhbSB7Q2xhc3N9IHR5
|
3213
|
+
cGUKICAgIEBwYXJhbSB7QXJyYXl9IHJlZmVyZW5jZXMKICAgIEByZXR1cm4g
|
3214
|
+
e0RTLk1hbnlBcnJheX0KICAqLwogIGNyZWF0ZU1hbnlBcnJheTogZnVuY3Rp
|
3215
|
+
b24odHlwZSwgcmVjb3JkcykgewogICAgdmFyIG1hbnlBcnJheSA9IERTLk1h
|
3216
|
+
bnlBcnJheS5jcmVhdGUoewogICAgICB0eXBlOiB0eXBlLAogICAgICBjb250
|
3217
|
+
ZW50OiByZWNvcmRzLAogICAgICBzdG9yZTogdGhpcy5zdG9yZQogICAgfSk7
|
3218
|
+
CgogICAgZm9yRWFjaChyZWNvcmRzLCBmdW5jdGlvbihyZWNvcmQpIHsKICAg
|
3219
|
+
ICAgdmFyIGFycmF5cyA9IHRoaXMucmVjb3JkQXJyYXlzRm9yUmVjb3JkKHJl
|
3220
|
+
Y29yZCk7CiAgICAgIGFycmF5cy5hZGQobWFueUFycmF5KTsKICAgIH0sIHRo
|
3221
|
+
aXMpOwoKICAgIHJldHVybiBtYW55QXJyYXk7CiAgfSwKCiAgLyoqCiAgICBS
|
3222
|
+
ZWdpc3RlciBhIFJlY29yZEFycmF5IGZvciBhIGdpdmVuIHR5cGUgdG8gYmUg
|
3223
|
+
YmFja2VkIGJ5CiAgICBhIGZpbHRlciBmdW5jdGlvbi4gVGhpcyB3aWxsIGNh
|
3224
|
+
dXNlIHRoZSBhcnJheSB0byB1cGRhdGUKICAgIGF1dG9tYXRpY2FsbHkgd2hl
|
3225
|
+
biByZWNvcmRzIG9mIHRoYXQgdHlwZSBjaGFuZ2UgYXR0cmlidXRlCiAgICB2
|
3226
|
+
YWx1ZXMgb3Igc3RhdGVzLgoKICAgIEBtZXRob2QgcmVnaXN0ZXJGaWx0ZXJl
|
3227
|
+
ZFJlY29yZEFycmF5CiAgICBAcGFyYW0ge0RTLlJlY29yZEFycmF5fSBhcnJh
|
3228
|
+
eQogICAgQHBhcmFtIHtDbGFzc30gdHlwZQogICAgQHBhcmFtIHtGdW5jdGlv
|
3229
|
+
bn0gZmlsdGVyCiAgKi8KICByZWdpc3RlckZpbHRlcmVkUmVjb3JkQXJyYXk6
|
3230
|
+
IGZ1bmN0aW9uKGFycmF5LCB0eXBlLCBmaWx0ZXIpIHsKICAgIHZhciByZWNv
|
3231
|
+
cmRBcnJheXMgPSB0aGlzLmZpbHRlcmVkUmVjb3JkQXJyYXlzLmdldCh0eXBl
|
3232
|
+
KTsKICAgIHJlY29yZEFycmF5cy5wdXNoKGFycmF5KTsKCiAgICB0aGlzLnVw
|
3233
|
+
ZGF0ZUZpbHRlcihhcnJheSwgdHlwZSwgZmlsdGVyKTsKICB9LAoKICAvLyBJ
|
3234
|
+
bnRlcm5hbGx5LCB3ZSBtYWludGFpbiBhIG1hcCBvZiBhbGwgdW5sb2FkZWQg
|
3235
|
+
SURzIHJlcXVlc3RlZCBieQogIC8vIGEgTWFueUFycmF5LiBBcyB0aGUgYWRh
|
3236
|
+
cHRlciBsb2FkcyBkYXRhIGludG8gdGhlIHN0b3JlLCB0aGUKICAvLyBzdG9y
|
3237
|
+
ZSBub3RpZmllcyBhbnkgaW50ZXJlc3RlZCBNYW55QXJyYXlzLiBXaGVuIHRo
|
3238
|
+
ZSBNYW55QXJyYXkncwogIC8vIHRvdGFsIG51bWJlciBvZiBsb2FkaW5nIHJl
|
3239
|
+
Y29yZHMgZHJvcHMgdG8gemVybywgaXQgYmVjb21lcwogIC8vIGBpc0xvYWRl
|
3240
|
+
ZGAgYW5kIGZpcmVzIGEgYGRpZExvYWRgIGV2ZW50LgogIHJlZ2lzdGVyV2Fp
|
3241
|
+
dGluZ1JlY29yZEFycmF5OiBmdW5jdGlvbihyZWNvcmQsIGFycmF5KSB7CiAg
|
3242
|
+
ICB2YXIgbG9hZGluZ1JlY29yZEFycmF5cyA9IHJlY29yZC5fbG9hZGluZ1Jl
|
3243
|
+
Y29yZEFycmF5cyB8fCBbXTsKICAgIGxvYWRpbmdSZWNvcmRBcnJheXMucHVz
|
3244
|
+
aChhcnJheSk7CiAgICByZWNvcmQuX2xvYWRpbmdSZWNvcmRBcnJheXMgPSBs
|
3245
|
+
b2FkaW5nUmVjb3JkQXJyYXlzOwogIH0KfSk7Cgp9KSgpOwoKCgooZnVuY3Rp
|
3246
|
+
b24oKSB7Ci8qKgogIEBtb2R1bGUgZW1iZXItZGF0YQoqLwoKdmFyIGdldCA9
|
3247
|
+
IEVtYmVyLmdldCwgc2V0ID0gRW1iZXIuc2V0LCBtZXJnZSA9IEVtYmVyLm1l
|
3248
|
+
cmdlOwp2YXIgZm9yRWFjaCA9IEVtYmVyLkVudW1lcmFibGVVdGlscy5mb3JF
|
3249
|
+
YWNoOwp2YXIgcmVzb2x2ZSA9IEVtYmVyLlJTVlAucmVzb2x2ZTsKCnZhciBl
|
3250
|
+
cnJvclByb3BzID0gWydkZXNjcmlwdGlvbicsICdmaWxlTmFtZScsICdsaW5l
|
3251
|
+
TnVtYmVyJywgJ21lc3NhZ2UnLCAnbmFtZScsICdudW1iZXInLCAnc3RhY2sn
|
3252
|
+
XTsKCkRTLkludmFsaWRFcnJvciA9IGZ1bmN0aW9uKGVycm9ycykgewogIHZh
|
3253
|
+
ciB0bXAgPSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IuY2FsbCh0aGlz
|
3254
|
+
LCAiVGhlIGJhY2tlbmQgcmVqZWN0ZWQgdGhlIGNvbW1pdCBiZWNhdXNlIGl0
|
3255
|
+
IHdhcyBpbnZhbGlkOiAiICsgRW1iZXIuaW5zcGVjdChlcnJvcnMpKTsKICB0
|
3256
|
+
aGlzLmVycm9ycyA9IGVycm9yczsKCiAgZm9yICh2YXIgaT0wLCBsPWVycm9y
|
3257
|
+
UHJvcHMubGVuZ3RoOyBpPGw7IGkrKykgewogICAgdGhpc1tlcnJvclByb3Bz
|
3258
|
+
W2ldXSA9IHRtcFtlcnJvclByb3BzW2ldXTsKICB9Cn07CkRTLkludmFsaWRF
|
3259
|
+
cnJvci5wcm90b3R5cGUgPSBFbWJlci5jcmVhdGUoRXJyb3IucHJvdG90eXBl
|
3260
|
+
KTsKCmZ1bmN0aW9uIGlzVGhlbmFibGUob2JqZWN0KSB7CiAgcmV0dXJuIG9i
|
3261
|
+
amVjdCAmJiB0eXBlb2Ygb2JqZWN0LnRoZW4gPT09ICdmdW5jdGlvbic7Cn0K
|
3262
|
+
Ci8vIFNpbXBsZSBkaXNwYXRjaGVyIHRvIHN1cHBvcnQgb3ZlcnJpZGluZyB0
|
3263
|
+
aGUgYWxpYXNlZAovLyBtZXRob2QgaW4gc3ViY2xhc3Nlcy4KZnVuY3Rpb24g
|
3264
|
+
YWxpYXNNZXRob2QobWV0aG9kTmFtZSkgewogIHJldHVybiBmdW5jdGlvbigp
|
3265
|
+
IHsKICAgIHJldHVybiB0aGlzW21ldGhvZE5hbWVdLmFwcGx5KHRoaXMsIGFy
|
3266
|
+
Z3VtZW50cyk7CiAgfTsKfQoKLyoqCiAgQW4gYWRhcHRlciBpcyBhbiBvYmpl
|
3267
|
+
Y3QgdGhhdCByZWNlaXZlcyByZXF1ZXN0cyBmcm9tIGEgc3RvcmUgYW5kCiAg
|
3268
|
+
dHJhbnNsYXRlcyB0aGVtIGludG8gdGhlIGFwcHJvcHJpYXRlIGFjdGlvbiB0
|
3269
|
+
byB0YWtlIGFnYWluc3QgeW91cgogIHBlcnNpc3RlbmNlIGxheWVyLiBUaGUg
|
3270
|
+
cGVyc2lzdGVuY2UgbGF5ZXIgaXMgdXN1YWxseSBhbiBIVFRQIEFQSSwgYnV0
|
3271
|
+
IG1heQogIGJlIGFueXRoaW5nLCBzdWNoIGFzIHRoZSBicm93c2VyJ3MgbG9j
|
3272
|
+
YWwgc3RvcmFnZS4KCiAgIyMjIENyZWF0aW5nIGFuIEFkYXB0ZXIKCiAgRmly
|
3273
|
+
c3QsIGNyZWF0ZSBhIG5ldyBzdWJjbGFzcyBvZiBgRFMuQWRhcHRlcmA6Cgog
|
3274
|
+
ICAgICBBcHAuTXlBZGFwdGVyID0gRFMuQWRhcHRlci5leHRlbmQoewogICAg
|
3275
|
+
ICAgIC8vIC4uLnlvdXIgY29kZSBoZXJlCiAgICAgIH0pOwoKICBUbyB0ZWxs
|
3276
|
+
IHlvdXIgc3RvcmUgd2hpY2ggYWRhcHRlciB0byB1c2UsIHNldCBpdHMgYGFk
|
3277
|
+
YXB0ZXJgIHByb3BlcnR5OgoKICAgICAgQXBwLnN0b3JlID0gRFMuU3RvcmUu
|
3278
|
+
Y3JlYXRlKHsKICAgICAgICBhZGFwdGVyOiBBcHAuTXlBZGFwdGVyLmNyZWF0
|
3279
|
+
ZSgpCiAgICAgIH0pOwoKICBgRFMuQWRhcHRlcmAgaXMgYW4gYWJzdHJhY3Qg
|
3280
|
+
YmFzZSBjbGFzcyB0aGF0IHlvdSBzaG91bGQgb3ZlcnJpZGUgaW4geW91cgog
|
3281
|
+
IGFwcGxpY2F0aW9uIHRvIGN1c3RvbWl6ZSBpdCBmb3IgeW91ciBiYWNrZW5k
|
3282
|
+
LiBUaGUgbWluaW11bSBzZXQgb2YgbWV0aG9kcwogIHRoYXQgeW91IHNob3Vs
|
3283
|
+
ZCBpbXBsZW1lbnQgaXM6CgogICAgKiBgZmluZCgpYAogICAgKiBgY3JlYXRl
|
3284
|
+
UmVjb3JkKClgCiAgICAqIGB1cGRhdGVSZWNvcmQoKWAKICAgICogYGRlbGV0
|
3285
|
+
ZVJlY29yZCgpYAoKICBUbyBpbXByb3ZlIHRoZSBuZXR3b3JrIHBlcmZvcm1h
|
3286
|
+
bmNlIG9mIHlvdXIgYXBwbGljYXRpb24sIHlvdSBjYW4gb3B0aW1pemUKICB5
|
3287
|
+
b3VyIGFkYXB0ZXIgYnkgb3ZlcnJpZGluZyB0aGVzZSBsb3dlci1sZXZlbCBt
|
3288
|
+
ZXRob2RzOgoKICAgICogYGZpbmRNYW55KClgCiAgICAqIGBjcmVhdGVSZWNv
|
3289
|
+
cmRzKClgCiAgICAqIGB1cGRhdGVSZWNvcmRzKClgCiAgICAqIGBkZWxldGVS
|
3290
|
+
ZWNvcmRzKClgCiAgICAqIGBjb21taXQoKWAKCiAgRm9yIGFuIGV4YW1wbGUg
|
3291
|
+
aW1wbGVtZW50YXRpb24sIHNlZSBgRFMuUmVzdEFkYXB0ZXJgLCB0aGUKICBp
|
3292
|
+
bmNsdWRlZCBSRVNUIGFkYXB0ZXIuCgogIEBjbGFzcyBBZGFwdGVyCiAgQG5h
|
3293
|
+
bWVzcGFjZSBEUwogIEBleHRlbmRzIEVtYmVyLk9iamVjdAogIEB1c2VzIERT
|
3294
|
+
Ll9NYXBwYWJsZQoqLwoKRFMuQWRhcHRlciA9IEVtYmVyLk9iamVjdC5leHRl
|
3295
|
+
bmQoRFMuX01hcHBhYmxlLCB7CgogIC8qKgogICAgVGhlIGBmaW5kKClgIG1l
|
3296
|
+
dGhvZCBpcyBpbnZva2VkIHdoZW4gdGhlIHN0b3JlIGlzIGFza2VkIGZvciBh
|
3297
|
+
IHJlY29yZCB0aGF0CiAgICBoYXMgbm90IHByZXZpb3VzbHkgYmVlbiBsb2Fk
|
3298
|
+
ZWQuIEluIHJlc3BvbnNlIHRvIGBmaW5kKClgIGJlaW5nIGNhbGxlZCwgeW91
|
3299
|
+
CiAgICBzaG91bGQgcXVlcnkgeW91ciBwZXJzaXN0ZW5jZSBsYXllciBmb3Ig
|
3300
|
+
YSByZWNvcmQgd2l0aCB0aGUgZ2l2ZW4gSUQuIE9uY2UKICAgIGZvdW5kLCB5
|
3301
|
+
b3UgY2FuIGFzeW5jaHJvbm91c2x5IGNhbGwgdGhlIHN0b3JlJ3MgYGxvYWQo
|
3302
|
+
KWAgbWV0aG9kIHRvIGxvYWQKICAgIHRoZSByZWNvcmQuCgogICAgSGVyZSBp
|
3303
|
+
cyBhbiBleGFtcGxlIGBmaW5kYCBpbXBsZW1lbnRhdGlvbjoKCiAgICAgICAg
|
3304
|
+
ZmluZDogZnVuY3Rpb24oc3RvcmUsIHR5cGUsIGlkKSB7CiAgICAgICAgICB2
|
3305
|
+
YXIgdXJsID0gdHlwZS51cmw7CiAgICAgICAgICB1cmwgPSB1cmwuZm10KGlk
|
3306
|
+
KTsKCiAgICAgICAgICBqUXVlcnkuZ2V0SlNPTih1cmwsIGZ1bmN0aW9uKGRh
|
3307
|
+
dGEpIHsKICAgICAgICAgICAgICAvLyBkYXRhIGlzIGEgaGFzaCBvZiBrZXkv
|
3308
|
+
dmFsdWUgcGFpcnMuIElmIHlvdXIgc2VydmVyIHJldHVybnMgYQogICAgICAg
|
3309
|
+
ICAgICAgIC8vIHJvb3QsIHNpbXBseSBkbyBzb21ldGhpbmcgbGlrZToKICAg
|
3310
|
+
ICAgICAgICAgICAvLyBzdG9yZS5sb2FkKHR5cGUsIGlkLCBkYXRhLnBlcnNv
|
3311
|
+
bikKICAgICAgICAgICAgICBzdG9yZS5sb2FkKHR5cGUsIGlkLCBkYXRhKTsK
|
3312
|
+
ICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICBAbWV0aG9kIGZpbmQKICAq
|
3313
|
+
LwogIGZpbmQ6IEVtYmVyLnJlcXVpcmVkKEZ1bmN0aW9uKSwKCiAgLyoqCiAg
|
3314
|
+
ICBPcHRpb25hbAoKICAgIEBtZXRob2QgZmluZEFsbAogICAgQHBhcmFtICBz
|
3315
|
+
dG9yZQogICAgQHBhcmFtICB0eXBlCiAgICBAcGFyYW0gIHNpbmNlCiAgKi8K
|
3316
|
+
ICBmaW5kQWxsOiBudWxsLAoKICAvKioKICAgIE9wdGlvbmFsCgogICAgQG1l
|
3317
|
+
dGhvZCBmaW5kUXVlcnkKICAgIEBwYXJhbSAgc3RvcmUKICAgIEBwYXJhbSAg
|
3318
|
+
dHlwZQogICAgQHBhcmFtICBxdWVyeQogICAgQHBhcmFtICByZWNvcmRBcnJh
|
3319
|
+
eQogICovCiAgZmluZFF1ZXJ5OiBudWxsLAoKICAvKioKICAgIElmIHRoZSBn
|
3320
|
+
bG9iYWxseSB1bmlxdWUgSURzIGZvciB5b3VyIHJlY29yZHMgc2hvdWxkIGJl
|
3321
|
+
IGdlbmVyYXRlZCBvbiB0aGUgY2xpZW50LAogICAgaW1wbGVtZW50IHRoZSBg
|
3322
|
+
Z2VuZXJhdGVJZEZvclJlY29yZCgpYCBtZXRob2QuIFRoaXMgbWV0aG9kIHdp
|
3323
|
+
bGwgYmUgaW52b2tlZAogICAgZWFjaCB0aW1lIHlvdSBjcmVhdGUgYSBuZXcg
|
3324
|
+
cmVjb3JkLCBhbmQgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gaXQgd2lsbCBi
|
3325
|
+
ZQogICAgYXNzaWduZWQgdG8gdGhlIHJlY29yZCdzIGBwcmltYXJ5S2V5YC4K
|
3326
|
+
CiAgICBNb3N0IHRyYWRpdGlvbmFsIFJFU1QtbGlrZSBIVFRQIEFQSXMgd2ls
|
3327
|
+
bCBub3QgdXNlIHRoaXMgbWV0aG9kLiBJbnN0ZWFkLCB0aGUgSUQKICAgIG9m
|
3328
|
+
IHRoZSByZWNvcmQgd2lsbCBiZSBzZXQgYnkgdGhlIHNlcnZlciwgYW5kIHlv
|
3329
|
+
dXIgYWRhcHRlciB3aWxsIHVwZGF0ZSB0aGUgc3RvcmUKICAgIHdpdGggdGhl
|
3330
|
+
IG5ldyBJRCB3aGVuIGl0IGNhbGxzIGBkaWRDcmVhdGVSZWNvcmQoKWAuIE9u
|
3331
|
+
bHkgaW1wbGVtZW50IHRoaXMgbWV0aG9kIGlmCiAgICB5b3UgaW50ZW5kIHRv
|
3332
|
+
IGdlbmVyYXRlIHJlY29yZCBJRHMgb24gdGhlIGNsaWVudC1zaWRlLgoKICAg
|
3333
|
+
IFRoZSBgZ2VuZXJhdGVJZEZvclJlY29yZCgpYCBtZXRob2Qgd2lsbCBiZSBp
|
3334
|
+
bnZva2VkIHdpdGggdGhlIHJlcXVlc3Rpbmcgc3RvcmUgYXMKICAgIHRoZSBm
|
3335
|
+
aXJzdCBwYXJhbWV0ZXIgYW5kIHRoZSBuZXdseSBjcmVhdGVkIHJlY29yZCBh
|
3336
|
+
cyB0aGUgc2Vjb25kIHBhcmFtZXRlcjoKCiAgICAgICAgZ2VuZXJhdGVJZEZv
|
3337
|
+
clJlY29yZDogZnVuY3Rpb24oc3RvcmUsIHJlY29yZCkgewogICAgICAgICAg
|
3338
|
+
dmFyIHV1aWQgPSBBcHAuZ2VuZXJhdGVVVUlEV2l0aFN0YXRpc3RpY2FsbHlM
|
3339
|
+
b3dPZGRzT2ZDb2xsaXNpb24oKTsKICAgICAgICAgIHJldHVybiB1dWlkOwog
|
3340
|
+
ICAgICAgIH0KCiAgICBAbWV0aG9kIGdlbmVyYXRlSWRGb3JSZWNvcmQKICAg
|
3341
|
+
IEBwYXJhbSB7RFMuU3RvcmV9IHN0b3JlCiAgICBAcGFyYW0ge0RTLk1vZGVs
|
3342
|
+
fSByZWNvcmQKICAqLwogIGdlbmVyYXRlSWRGb3JSZWNvcmQ6IG51bGwsCgog
|
3343
|
+
IC8qKgogICAgUHJveGllcyB0byB0aGUgc2VyaWFsaXplcidzIGBzZXJpYWxp
|
3344
|
+
emVgIG1ldGhvZC4KCiAgICBAbWV0aG9kIHNlcmlhbGl6ZQogICAgQHBhcmFt
|
3345
|
+
IHtEUy5Nb2RlbH0gcmVjb3JkCiAgICBAcGFyYW0ge09iamVjdH0gICBvcHRp
|
3346
|
+
b25zCiAgKi8KICBzZXJpYWxpemU6IGZ1bmN0aW9uKHJlY29yZCwgb3B0aW9u
|
3347
|
+
cykgewogICAgcmV0dXJuIGdldChyZWNvcmQsICdzdG9yZScpLnNlcmlhbGl6
|
3348
|
+
ZXJGb3IocmVjb3JkLmNvbnN0cnVjdG9yLnR5cGVLZXkpLnNlcmlhbGl6ZShy
|
3349
|
+
ZWNvcmQsIG9wdGlvbnMpOwogIH0sCgogIC8qKgogICAgSW1wbGVtZW50IHRo
|
3350
|
+
aXMgbWV0aG9kIGluIGEgc3ViY2xhc3MgdG8gaGFuZGxlIHRoZSBjcmVhdGlv
|
3351
|
+
biBvZgogICAgbmV3IHJlY29yZHMuCgogICAgU2VyaWFsaXplcyB0aGUgcmVj
|
3352
|
+
b3JkIGFuZCBzZW5kIGl0IHRvIHRoZSBzZXJ2ZXIuCgogICAgVGhpcyBpbXBs
|
3353
|
+
ZW1lbnRhdGlvbiBzaG91bGQgY2FsbCB0aGUgYWRhcHRlcidzIGBkaWRDcmVh
|
3354
|
+
dGVSZWNvcmRgCiAgICBtZXRob2Qgb24gc3VjY2VzcyBvciBgZGlkRXJyb3Jg
|
3355
|
+
IG1ldGhvZCBvbiBmYWlsdXJlLgoKICAgIEBtZXRob2QgY3JlYXRlUmVjb3Jk
|
3356
|
+
CiAgICBAcHJvcGVydHkge0RTLlN0b3JlfSBzdG9yZQogICAgQHByb3BlcnR5
|
3357
|
+
IHtzdWJjbGFzcyBvZiBEUy5Nb2RlbH0gdHlwZSAgIHRoZSBEUy5Nb2RlbCBj
|
3358
|
+
bGFzcyBvZiB0aGUgcmVjb3JkCiAgICBAcHJvcGVydHkge0RTLk1vZGVsfSBy
|
3359
|
+
ZWNvcmQKICAqLwogIGNyZWF0ZVJlY29yZDogRW1iZXIucmVxdWlyZWQoRnVu
|
3360
|
+
Y3Rpb24pLAoKICAvKioKICAgIEltcGxlbWVudCB0aGlzIG1ldGhvZCBpbiBh
|
3361
|
+
IHN1YmNsYXNzIHRvIGhhbmRsZSB0aGUgdXBkYXRpbmcgb2YKICAgIGEgcmVj
|
3362
|
+
b3JkLgoKICAgIFNlcmlhbGl6ZXMgdGhlIHJlY29yZCB1cGRhdGUgYW5kIHNl
|
3363
|
+
bmQgaXQgdG8gdGhlIHNlcnZlci4KCiAgICBAbWV0aG9kIHVwZGF0ZVJlY29y
|
3364
|
+
ZAogICAgQHByb3BlcnR5IHtEUy5TdG9yZX0gc3RvcmUKICAgIEBwcm9wZXJ0
|
3365
|
+
eSB7c3ViY2xhc3Mgb2YgRFMuTW9kZWx9IHR5cGUgICB0aGUgRFMuTW9kZWwg
|
3366
|
+
Y2xhc3Mgb2YgdGhlIHJlY29yZAogICAgQHByb3BlcnR5IHtEUy5Nb2RlbH0g
|
3367
|
+
cmVjb3JkCiAgKi8KICB1cGRhdGVSZWNvcmQ6IEVtYmVyLnJlcXVpcmVkKEZ1
|
3368
|
+
bmN0aW9uKSwKCiAgLyoqCiAgICBJbXBsZW1lbnQgdGhpcyBtZXRob2QgaW4g
|
3369
|
+
YSBzdWJjbGFzcyB0byBoYW5kbGUgdGhlIGRlbGV0aW9uIG9mCiAgICBhIHJl
|
3370
|
+
Y29yZC4KCiAgICBTZW5kcyBhIGRlbGV0ZSByZXF1ZXN0IGZvciB0aGUgcmVj
|
3371
|
+
b3JkIHRvIHRoZSBzZXJ2ZXIuCgogICAgQG1ldGhvZCBkZWxldGVSZWNvcmQK
|
3372
|
+
ICAgIEBwcm9wZXJ0eSB7RFMuU3RvcmV9IHN0b3JlCiAgICBAcHJvcGVydHkg
|
3373
|
+
e3N1YmNsYXNzIG9mIERTLk1vZGVsfSB0eXBlICAgdGhlIERTLk1vZGVsIGNs
|
3374
|
+
YXNzIG9mIHRoZSByZWNvcmQKICAgIEBwcm9wZXJ0eSB7RFMuTW9kZWx9IHJl
|
3375
|
+
Y29yZAogICovCiAgZGVsZXRlUmVjb3JkOiBFbWJlci5yZXF1aXJlZChGdW5j
|
3376
|
+
dGlvbiksCgogIC8qKgogICAgRmluZCBtdWx0aXBsZSByZWNvcmRzIGF0IG9u
|
3377
|
+
Y2UuCgogICAgQnkgZGVmYXVsdCwgaXQgbG9vcHMgb3ZlciB0aGUgcHJvdmlk
|
3378
|
+
ZWQgaWRzIGFuZCBjYWxscyBgZmluZGAgb24gZWFjaC4KICAgIE1heSBiZSBv
|
3379
|
+
dmVyd3JpdHRlbiB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIGFuZCByZWR1Y2Ug
|
3380
|
+
dGhlIG51bWJlciBvZgogICAgc2VydmVyIHJlcXVlc3RzLgoKICAgIEBtZXRo
|
3381
|
+
b2QgZmluZE1hbnkKICAgIEBwcm9wZXJ0eSB7RFMuU3RvcmV9IHN0b3JlCiAg
|
3382
|
+
ICBAcHJvcGVydHkge3N1YmNsYXNzIG9mIERTLk1vZGVsfSB0eXBlICAgdGhl
|
3383
|
+
IERTLk1vZGVsIGNsYXNzIG9mIHRoZSByZWNvcmRzCiAgICBAcHJvcGVydHkg
|
3384
|
+
e0FycmF5fSAgICBpZHMKICAqLwogIGZpbmRNYW55OiBmdW5jdGlvbihzdG9y
|
3385
|
+
ZSwgdHlwZSwgaWRzKSB7CiAgICB2YXIgcHJvbWlzZXMgPSBpZHMubWFwKGZ1
|
3386
|
+
bmN0aW9uKGlkKSB7CiAgICAgIHJldHVybiB0aGlzLmZpbmQoc3RvcmUsIHR5
|
3387
|
+
cGUsIGlkKTsKICAgIH0sIHRoaXMpOwoKICAgIHJldHVybiBFbWJlci5SU1ZQ
|
3388
|
+
LmFsbChwcm9taXNlcyk7CiAgfQp9KTsKCn0pKCk7CgoKCihmdW5jdGlvbigp
|
3389
|
+
IHsKLyoqCiAgQG1vZHVsZSBlbWJlci1kYXRhCiovCgp2YXIgZ2V0ID0gRW1i
|
3390
|
+
ZXIuZ2V0LCBmbXQgPSBFbWJlci5TdHJpbmcuZm10LAogICAgaW5kZXhPZiA9
|
3391
|
+
IEVtYmVyLkVudW1lcmFibGVVdGlscy5pbmRleE9mOwoKdmFyIGNvdW50ZXIg
|
3392
|
+
PSAwOwoKLyoqCiAgYERTLkZpeHR1cmVBZGFwdGVyYCBpcyBhbiBhZGFwdGVy
|
3393
|
+
IHRoYXQgbG9hZHMgcmVjb3JkcyBmcm9tIG1lbW9yeS4KICBJdHMgcHJpbWFy
|
3394
|
+
aWx5IHVzZWQgZm9yIGRldmVsb3BtZW50IGFuZCB0ZXN0aW5nLiBZb3UgY2Fu
|
3395
|
+
IGFsc28gdXNlCiAgYERTLkZpeHR1cmVBZGFwdGVyYCB3aGlsZSB3b3JraW5n
|
3396
|
+
IG9uIHRoZSBBUEkgYnV0IGFyZSBub3QgcmVhZHkgdG8KICBpbnRlZ3JhdGUg
|
3397
|
+
eWV0LiBJdCBpcyBhIGZ1bGx5IGZ1bmN0aW9uaW5nIGFkYXB0ZXIuIEFsbCBD
|
3398
|
+
UlVEIG1ldGhvZHMKICBhcmUgaW1wbGVtZW50ZWQuIFlvdSBjYW4gYWxzbyBp
|
3399
|
+
bXBsZW1lbnQgcXVlcnkgbG9naWMgdGhhdCBhIHJlbW90ZQogIHN5c3RlbSB3
|
3400
|
+
b3VsZCBkby4gSXRzIHBvc3NpYmxlIHRvIGRvIGRldmVsb3AgeW91ciBlbnRp
|
3401
|
+
cmUgYXBwbGljYXRpb24KICB3aXRoIGBEUy5GaXh0dXJlQWRhcHRlcmAuCgog
|
3402
|
+
IEBjbGFzcyBGaXh0dXJlQWRhcHRlcgogIEBuYW1lc3BhY2UgRFMKICBAZXh0
|
3403
|
+
ZW5kcyBEUy5BZGFwdGVyCiovCkRTLkZpeHR1cmVBZGFwdGVyID0gRFMuQWRh
|
3404
|
+
cHRlci5leHRlbmQoewogIC8vIGJ5IGRlZmF1bHQsIGZpeHR1cmVzIGFyZSBh
|
3405
|
+
bHJlYWR5IGluIG5vcm1hbGl6ZWQgZm9ybQogIHNlcmlhbGl6ZXI6IG51bGws
|
3406
|
+
CgogIHNpbXVsYXRlUmVtb3RlUmVzcG9uc2U6IHRydWUsCgogIGxhdGVuY3k6
|
3407
|
+
IDUwLAoKICAvKioKICAgIEltcGxlbWVudCB0aGlzIG1ldGhvZCBpbiBvcmRl
|
3408
|
+
ciB0byBwcm92aWRlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgdHlwZQoKICAg
|
3409
|
+
IEBtZXRob2QgZml4dHVyZXNGb3JUeXBlCiAgICBAcGFyYW0gIHR5cGUKICAq
|
3410
|
+
LwogIGZpeHR1cmVzRm9yVHlwZTogZnVuY3Rpb24odHlwZSkgewogICAgaWYg
|
3411
|
+
KHR5cGUuRklYVFVSRVMpIHsKICAgICAgdmFyIGZpeHR1cmVzID0gRW1iZXIu
|
3412
|
+
QSh0eXBlLkZJWFRVUkVTKTsKICAgICAgcmV0dXJuIGZpeHR1cmVzLm1hcChm
|
3413
|
+
dW5jdGlvbihmaXh0dXJlKXsKICAgICAgICB2YXIgZml4dHVyZUlkVHlwZSA9
|
3414
|
+
IHR5cGVvZiBmaXh0dXJlLmlkOwogICAgICAgIGlmKGZpeHR1cmVJZFR5cGUg
|
3415
|
+
IT09ICJudW1iZXIiICYmIGZpeHR1cmVJZFR5cGUgIT09ICJzdHJpbmciKXsK
|
3416
|
+
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcihmbXQoJ3RoZSBpZCBwcm9wZXJ0
|
3417
|
+
eSBtdXN0IGJlIGRlZmluZWQgYXMgYSBudW1iZXIgb3Igc3RyaW5nIGZvciBm
|
3418
|
+
aXh0dXJlICVAJywgW2ZpeHR1cmVdKSk7CiAgICAgICAgfQogICAgICAgIGZp
|
3419
|
+
eHR1cmUuaWQgPSBmaXh0dXJlLmlkICsgJyc7CiAgICAgICAgcmV0dXJuIGZp
|
3420
|
+
eHR1cmU7CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfSwK
|
3421
|
+
CiAgLyoqCiAgICBJbXBsZW1lbnQgdGhpcyBtZXRob2QgaW4gb3JkZXIgdG8g
|
3422
|
+
cXVlcnkgZml4dHVyZXMgZGF0YQoKICAgIEBtZXRob2QgcXVlcnlGaXh0dXJl
|
3423
|
+
cwogICAgQHBhcmFtICBmaXh0dXJlCiAgICBAcGFyYW0gIHF1ZXJ5CiAgICBA
|
3424
|
+
cGFyYW0gIHR5cGUKICAqLwogIHF1ZXJ5Rml4dHVyZXM6IGZ1bmN0aW9uKGZp
|
3425
|
+
eHR1cmVzLCBxdWVyeSwgdHlwZSkgewogICAgRW1iZXIuYXNzZXJ0KCdOb3Qg
|
3426
|
+
aW1wbGVtZW50ZWQ6IFlvdSBtdXN0IG92ZXJyaWRlIHRoZSBEUy5GaXh0dXJl
|
3427
|
+
QWRhcHRlcjo6cXVlcnlGaXh0dXJlcyBtZXRob2QgdG8gc3VwcG9ydCBxdWVy
|
3428
|
+
eWluZyB0aGUgZml4dHVyZSBzdG9yZS4nKTsKICB9LAoKICAvKioKICAgIEBt
|
3429
|
+
ZXRob2QgdXBkYXRlRml4dHVyZXMKICAgIEBwYXJhbSAgdHlwZQogICAgQHBh
|
3430
|
+
cmFtICBmaXh0dXJlCiAgKi8KICB1cGRhdGVGaXh0dXJlczogZnVuY3Rpb24o
|
3431
|
+
dHlwZSwgZml4dHVyZSkgewogICAgaWYoIXR5cGUuRklYVFVSRVMpIHsKICAg
|
3432
|
+
ICAgdHlwZS5GSVhUVVJFUyA9IFtdOwogICAgfQoKICAgIHZhciBmaXh0dXJl
|
3433
|
+
cyA9IHR5cGUuRklYVFVSRVM7CgogICAgdGhpcy5kZWxldGVMb2FkZWRGaXh0
|
3434
|
+
dXJlKHR5cGUsIGZpeHR1cmUpOwoKICAgIGZpeHR1cmVzLnB1c2goZml4dHVy
|
3435
|
+
ZSk7CiAgfSwKCiAgLyoqCiAgICBJbXBsZW1lbnQgdGhpcyBtZXRob2QgaW4g
|
3436
|
+
b3JkZXIgdG8gcHJvdmlkZSBwcm92aWRlIGpzb24gZm9yIENSVUQgbWV0aG9k
|
3437
|
+
cwoKICAgIEBtZXRob2QgbW9ja0pTT04KICAgIEBwYXJhbSAgdHlwZQogICAg
|
3438
|
+
QHBhcmFtICByZWNvcmQKICAqLwogIG1vY2tKU09OOiBmdW5jdGlvbihzdG9y
|
3439
|
+
ZSwgdHlwZSwgcmVjb3JkKSB7CiAgICByZXR1cm4gc3RvcmUuc2VyaWFsaXpl
|
3440
|
+
ckZvcih0eXBlKS5zZXJpYWxpemUocmVjb3JkLCB7IGluY2x1ZGVJZDogdHJ1
|
3441
|
+
ZSB9KTsKICB9LAoKICAvKioKICAgIEBtZXRob2QgZ2VuZXJhdGVJZEZvclJl
|
3442
|
+
Y29yZAogICAgQHBhcmFtICBzdG9yZQogICAgQHBhcmFtICByZWNvcmQKICAq
|
3443
|
+
LwogIGdlbmVyYXRlSWRGb3JSZWNvcmQ6IGZ1bmN0aW9uKHN0b3JlKSB7CiAg
|
3444
|
+
ICByZXR1cm4gY291bnRlcisrOwogIH0sCgogIC8qKgogICAgQG1ldGhvZCBm
|
3445
|
+
aW5kCiAgICBAcGFyYW0gIHN0b3JlCiAgICBAcGFyYW0gIHR5cGUKICAgIEBw
|
3446
|
+
YXJhbSAgaWQKICAqLwogIGZpbmQ6IGZ1bmN0aW9uKHN0b3JlLCB0eXBlLCBp
|
3447
|
+
ZCkgewogICAgdmFyIGZpeHR1cmVzID0gdGhpcy5maXh0dXJlc0ZvclR5cGUo
|
3448
|
+
dHlwZSksCiAgICAgICAgZml4dHVyZTsKCiAgICBFbWJlci53YXJuKCJVbmFi
|
3449
|
+
bGUgdG8gZmluZCBmaXh0dXJlcyBmb3IgbW9kZWwgdHlwZSAiICsgdHlwZS50
|
3450
|
+
b1N0cmluZygpLCBmaXh0dXJlcyk7CgogICAgaWYgKGZpeHR1cmVzKSB7CiAg
|
3451
|
+
ICAgIGZpeHR1cmUgPSBFbWJlci5BKGZpeHR1cmVzKS5maW5kUHJvcGVydHko
|
3452
|
+
J2lkJywgaWQpOwogICAgfQoKICAgIGlmIChmaXh0dXJlKSB7CiAgICAgIHJl
|
3453
|
+
dHVybiB0aGlzLnNpbXVsYXRlUmVtb3RlQ2FsbChmdW5jdGlvbigpIHsKICAg
|
3454
|
+
ICAgICByZXR1cm4gZml4dHVyZTsKICAgICAgfSwgdGhpcyk7CiAgICB9CiAg
|
3455
|
+
fSwKCiAgLyoqCiAgICBAbWV0aG9kIGZpbmRNYW55CiAgICBAcGFyYW0gIHN0
|
3456
|
+
b3JlCiAgICBAcGFyYW0gIHR5cGUKICAgIEBwYXJhbSAgaWRzCiAgKi8KICBm
|
3457
|
+
aW5kTWFueTogZnVuY3Rpb24oc3RvcmUsIHR5cGUsIGlkcykgewogICAgdmFy
|
3458
|
+
IGZpeHR1cmVzID0gdGhpcy5maXh0dXJlc0ZvclR5cGUodHlwZSk7CgogICAg
|
3459
|
+
RW1iZXIuYXNzZXJ0KCJVbmFibGUgdG8gZmluZCBmaXh0dXJlcyBmb3IgbW9k
|
3460
|
+
ZWwgdHlwZSAiK3R5cGUudG9TdHJpbmcoKSwgISFmaXh0dXJlcyk7CgogICAg
|
3461
|
+
aWYgKGZpeHR1cmVzKSB7CiAgICAgIGZpeHR1cmVzID0gZml4dHVyZXMuZmls
|
3462
|
+
dGVyKGZ1bmN0aW9uKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaW5kZXhPZihp
|
3463
|
+
ZHMsIGl0ZW0uaWQpICE9PSAtMTsKICAgICAgfSk7CiAgICB9CgogICAgaWYg
|
3464
|
+
KGZpeHR1cmVzKSB7CiAgICAgIHJldHVybiB0aGlzLnNpbXVsYXRlUmVtb3Rl
|
3465
|
+
Q2FsbChmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gZml4dHVyZXM7CiAg
|
3466
|
+
ICAgIH0sIHRoaXMpOwogICAgfQogIH0sCgogIC8qKgogICAgQG1ldGhvZCBm
|
3467
|
+
aW5kQWxsCiAgICBAcGFyYW0gIHN0b3JlCiAgICBAcGFyYW0gIHR5cGUKICAq
|
3468
|
+
LwogIGZpbmRBbGw6IGZ1bmN0aW9uKHN0b3JlLCB0eXBlKSB7CiAgICB2YXIg
|
3469
|
+
Zml4dHVyZXMgPSB0aGlzLmZpeHR1cmVzRm9yVHlwZSh0eXBlKTsKCiAgICBF
|
3470
|
+
bWJlci5hc3NlcnQoIlVuYWJsZSB0byBmaW5kIGZpeHR1cmVzIGZvciBtb2Rl
|
3471
|
+
bCB0eXBlICIrdHlwZS50b1N0cmluZygpLCAhIWZpeHR1cmVzKTsKCiAgICBy
|
3472
|
+
ZXR1cm4gdGhpcy5zaW11bGF0ZVJlbW90ZUNhbGwoZnVuY3Rpb24oKSB7CiAg
|
3473
|
+
ICAgIHJldHVybiBmaXh0dXJlczsKICAgIH0sIHRoaXMpOwogIH0sCgogIC8q
|
3474
|
+
KgogICAgQG1ldGhvZCBmaW5kUXVlcnkKICAgIEBwYXJhbSAgc3RvcmUKICAg
|
3475
|
+
IEBwYXJhbSAgdHlwZQogICAgQHBhcmFtICBxdWVyeQogICAgQHBhcmFtICBh
|
3476
|
+
cnJheQogICovCiAgZmluZFF1ZXJ5OiBmdW5jdGlvbihzdG9yZSwgdHlwZSwg
|
3477
|
+
cXVlcnksIGFycmF5KSB7CiAgICB2YXIgZml4dHVyZXMgPSB0aGlzLmZpeHR1
|
3478
|
+
cmVzRm9yVHlwZSh0eXBlKTsKCiAgICBFbWJlci5hc3NlcnQoIlVuYWJsZSB0
|
3479
|
+
byBmaW5kIGZpeHR1cmVzIGZvciBtb2RlbCB0eXBlICIrdHlwZS50b1N0cmlu
|
3480
|
+
ZygpLCAhIWZpeHR1cmVzKTsKCiAgICBmaXh0dXJlcyA9IHRoaXMucXVlcnlG
|
3481
|
+
aXh0dXJlcyhmaXh0dXJlcywgcXVlcnksIHR5cGUpOwoKICAgIGlmIChmaXh0
|
3482
|
+
dXJlcykgewogICAgICByZXR1cm4gdGhpcy5zaW11bGF0ZVJlbW90ZUNhbGwo
|
3483
|
+
ZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIGZpeHR1cmVzOwogICAgICB9
|
3484
|
+
LCB0aGlzKTsKICAgIH0KICB9LAoKICAvKioKICAgIEBtZXRob2QgY3JlYXRl
|
3485
|
+
UmVjb3JkCiAgICBAcGFyYW0gIHN0b3JlCiAgICBAcGFyYW0gIHR5cGUKICAg
|
3486
|
+
IEBwYXJhbSAgcmVjb3JkCiAgKi8KICBjcmVhdGVSZWNvcmQ6IGZ1bmN0aW9u
|
3487
|
+
KHN0b3JlLCB0eXBlLCByZWNvcmQpIHsKICAgIHZhciBmaXh0dXJlID0gdGhp
|
3488
|
+
cy5tb2NrSlNPTihzdG9yZSwgdHlwZSwgcmVjb3JkKTsKCiAgICB0aGlzLnVw
|
3489
|
+
ZGF0ZUZpeHR1cmVzKHR5cGUsIGZpeHR1cmUpOwoKICAgIHJldHVybiB0aGlz
|
3490
|
+
LnNpbXVsYXRlUmVtb3RlQ2FsbChmdW5jdGlvbigpIHsKICAgICAgcmV0dXJu
|
3491
|
+
IGZpeHR1cmU7CiAgICB9LCB0aGlzKTsKICB9LAoKICAvKioKICAgIEBtZXRo
|
3492
|
+
b2QgdXBkYXRlUmVjb3JkCiAgICBAcGFyYW0gIHN0b3JlCiAgICBAcGFyYW0g
|
3493
|
+
IHR5cGUKICAgIEBwYXJhbSAgcmVjb3JkCiAgKi8KICB1cGRhdGVSZWNvcmQ6
|
3494
|
+
IGZ1bmN0aW9uKHN0b3JlLCB0eXBlLCByZWNvcmQpIHsKICAgIHZhciBmaXh0
|
3495
|
+
dXJlID0gdGhpcy5tb2NrSlNPTihzdG9yZSwgdHlwZSwgcmVjb3JkKTsKCiAg
|
3496
|
+
ICB0aGlzLnVwZGF0ZUZpeHR1cmVzKHR5cGUsIGZpeHR1cmUpOwoKICAgIHJl
|
3497
|
+
dHVybiB0aGlzLnNpbXVsYXRlUmVtb3RlQ2FsbChmdW5jdGlvbigpIHsKICAg
|
3498
|
+
ICAgcmV0dXJuIGZpeHR1cmU7CiAgICB9LCB0aGlzKTsKICB9LAoKICAvKioK
|
3499
|
+
ICAgIEBtZXRob2QgZGVsZXRlUmVjb3JkCiAgICBAcGFyYW0gIHN0b3JlCiAg
|
3500
|
+
ICBAcGFyYW0gIHR5cGUKICAgIEBwYXJhbSAgcmVjb3JkCiAgKi8KICBkZWxl
|
3501
|
+
dGVSZWNvcmQ6IGZ1bmN0aW9uKHN0b3JlLCB0eXBlLCByZWNvcmQpIHsKICAg
|
3502
|
+
IHZhciBmaXh0dXJlID0gdGhpcy5tb2NrSlNPTihzdG9yZSwgdHlwZSwgcmVj
|
3503
|
+
b3JkKTsKCiAgICB0aGlzLmRlbGV0ZUxvYWRlZEZpeHR1cmUodHlwZSwgZml4
|
3504
|
+
dHVyZSk7CgogICAgcmV0dXJuIHRoaXMuc2ltdWxhdGVSZW1vdGVDYWxsKGZ1
|
3505
|
+
bmN0aW9uKCkgewogICAgICAvLyBubyBwYXlsb2FkIGluIGEgZGVsZXRpb24K
|
3506
|
+
ICAgICAgcmV0dXJuIG51bGw7CiAgICB9KTsKICB9LAoKICAvKgogICAgQG1l
|
3507
|
+
dGhvZCBkZWxldGVMb2FkZWRGaXh0dXJlCiAgICBAcHJpdmF0ZQogICAgQHBh
|
3508
|
+
cmFtIHR5cGUKICAgIEBwYXJhbSByZWNvcmQKICAqLwogIGRlbGV0ZUxvYWRl
|
3509
|
+
ZEZpeHR1cmU6IGZ1bmN0aW9uKHR5cGUsIHJlY29yZCkgewogICAgdmFyIGV4
|
3510
|
+
aXN0aW5nRml4dHVyZSA9IHRoaXMuZmluZEV4aXN0aW5nRml4dHVyZSh0eXBl
|
3511
|
+
LCByZWNvcmQpOwoKICAgIGlmKGV4aXN0aW5nRml4dHVyZSkgewogICAgICB2
|
3512
|
+
YXIgaW5kZXggPSBpbmRleE9mKHR5cGUuRklYVFVSRVMsIGV4aXN0aW5nRml4
|
3513
|
+
dHVyZSk7CiAgICAgIHR5cGUuRklYVFVSRVMuc3BsaWNlKGluZGV4LCAxKTsK
|
3514
|
+
ICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgfSwKCiAgLyoKICAgIEBtZXRo
|
3515
|
+
b2QgZmluZEV4aXN0aW5nRml4dHVyZQogICAgQHByaXZhdGUKICAgIEBwYXJh
|
3516
|
+
bSB0eXBlCiAgICBAcGFyYW0gcmVjb3JkCiAgKi8KICBmaW5kRXhpc3RpbmdG
|
3517
|
+
aXh0dXJlOiBmdW5jdGlvbih0eXBlLCByZWNvcmQpIHsKICAgIHZhciBmaXh0
|
3518
|
+
dXJlcyA9IHRoaXMuZml4dHVyZXNGb3JUeXBlKHR5cGUpOwogICAgdmFyIGlk
|
3519
|
+
ID0gZ2V0KHJlY29yZCwgJ2lkJyk7CgogICAgcmV0dXJuIHRoaXMuZmluZEZp
|
3520
|
+
eHR1cmVCeUlkKGZpeHR1cmVzLCBpZCk7CiAgfSwKCiAgLyoKICAgIEBtZXRo
|
3521
|
+
b2QgZmluZEZpeHR1cmVCeUlkCiAgICBAcHJpdmF0ZQogICAgQHBhcmFtIHR5
|
3522
|
+
cGUKICAgIEBwYXJhbSByZWNvcmQKICAqLwogIGZpbmRGaXh0dXJlQnlJZDog
|
3523
|
+
ZnVuY3Rpb24oZml4dHVyZXMsIGlkKSB7CiAgICByZXR1cm4gRW1iZXIuQShm
|
3524
|
+
aXh0dXJlcykuZmluZChmdW5jdGlvbihyKSB7CiAgICAgIGlmKCcnK2dldChy
|
3525
|
+
LCAnaWQnKSA9PT0gJycraWQpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
|
3526
|
+
ICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAg
|
3527
|
+
IH0pOwogIH0sCgogIC8qCiAgICBAbWV0aG9kIHNpbXVsYXRlUmVtb3RlQ2Fs
|
3528
|
+
bAogICAgQHByaXZhdGUKICAgIEBwYXJhbSBjYWxsYmFjawogICAgQHBhcmFt
|
3529
|
+
IGNvbnRleHQKICAqLwogIHNpbXVsYXRlUmVtb3RlQ2FsbDogZnVuY3Rpb24o
|
3530
|
+
Y2FsbGJhY2ssIGNvbnRleHQpIHsKICAgIHZhciBhZGFwdGVyID0gdGhpczsK
|
3531
|
+
CiAgICByZXR1cm4gbmV3IEVtYmVyLlJTVlAuUHJvbWlzZShmdW5jdGlvbihy
|
3532
|
+
ZXNvbHZlKSB7CiAgICAgIGlmIChnZXQoYWRhcHRlciwgJ3NpbXVsYXRlUmVt
|
3533
|
+
b3RlUmVzcG9uc2UnKSkgewogICAgICAgIC8vIFNjaGVkdWxlIHdpdGggc2V0
|
3534
|
+
VGltZW91dAogICAgICAgIEVtYmVyLnJ1bi5sYXRlcihmdW5jdGlvbigpIHsK
|
3535
|
+
ICAgICAgICAgIHJlc29sdmUoY2FsbGJhY2suY2FsbChjb250ZXh0KSk7CiAg
|
3536
|
+
ICAgICAgfSwgZ2V0KGFkYXB0ZXIsICdsYXRlbmN5JykpOwogICAgICB9IGVs
|
3537
|
+
c2UgewogICAgICAgIC8vIEFzeW5jaHJvbm91cywgYnV0IGF0IHRoZSBvZiB0
|
3538
|
+
aGUgcnVubG9vcCB3aXRoIHplcm8gbGF0ZW5jeQogICAgICAgIEVtYmVyLnJ1
|
3539
|
+
bi5vbmNlKGZ1bmN0aW9uKCkgewogICAgICAgICAgcmVzb2x2ZShjYWxsYmFj
|
3540
|
+
ay5jYWxsKGNvbnRleHQpKTsKICAgICAgICB9KTsKICAgICAgfQogICAgfSk7
|
3541
|
+
CiAgfQp9KTsKCn0pKCk7CgoKCihmdW5jdGlvbigpIHsKLyoqCiAgQG1vZHVs
|
3542
|
+
ZSBlbWJlci1kYXRhCiovCgp2YXIgZ2V0ID0gRW1iZXIuZ2V0LCBzZXQgPSBF
|
3543
|
+
bWJlci5zZXQ7CgpEUy5yZWplY3Rpb25IYW5kbGVyID0gZnVuY3Rpb24ocmVh
|
3544
|
+
c29uKSB7CiAgRW1iZXIuTG9nZ2VyLmFzc2VydChbcmVhc29uLCByZWFzb24u
|
3545
|
+
bWVzc2FnZSwgcmVhc29uLnN0YWNrXSk7CgogIHRocm93IHJlYXNvbjsKfTsK
|
3546
|
+
CmZ1bmN0aW9uIGNvZXJjZUlkKGlkKSB7CiAgcmV0dXJuIGlkID09IG51bGwg
|
3547
|
+
PyBudWxsIDogaWQrJyc7Cn0KCkRTLlJFU1RTZXJpYWxpemVyID0gRFMuSlNP
|
3548
|
+
TlNlcmlhbGl6ZXIuZXh0ZW5kKHsKICAvKioKICAgIE5vcm1hbGl6ZXMgYSBw
|
3549
|
+
YXJ0IG9mIHRoZSBKU09OIHBheWxvYWQgcmV0dXJuZWQgYnkKICAgIHRoZSBz
|
3550
|
+
ZXJ2ZXIuIFlvdSBzaG91bGQgb3ZlcnJpZGUgdGhpcyBtZXRob2QsIG11bmdl
|
3551
|
+
IHRoZSBoYXNoCiAgICBhbmQgY2FsbCBzdXBlciBpZiB5b3UgaGF2ZSBnZW5l
|
3552
|
+
cmljIG5vcm1hbGl6YXRpb24gdG8gZG8uCgogICAgSXQgdGFrZXMgdGhlIHR5
|
3553
|
+
cGUgb2YgdGhlIHJlY29yZCB0aGF0IGlzIGJlaW5nIG5vcm1hbGl6ZWQKICAg
|
3554
|
+
IChhcyBhIERTLk1vZGVsIGNsYXNzKSwgdGhlIHByb3BlcnR5IHdoZXJlIHRo
|
3555
|
+
ZSBoYXNoIHdhcwogICAgb3JpZ2luYWxseSBmb3VuZCwgYW5kIHRoZSBoYXNo
|
3556
|
+
IHRvIG5vcm1hbGl6ZS4KCiAgICBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUg
|
3557
|
+
YSBwYXlsb2FkIHRoYXQgbG9va3MgbGlrZSB0aGlzOgoKICAgIGBgYGpzCiAg
|
3558
|
+
ICB7CiAgICAgICJwb3N0IjogewogICAgICAgICJpZCI6IDEsCiAgICAgICAg
|
3559
|
+
InRpdGxlIjogIlJhaWxzIGlzIG9tYWthc2UiLAogICAgICAgICJjb21tZW50
|
3560
|
+
cyI6IFsgMSwgMiBdCiAgICAgIH0sCiAgICAgICJjb21tZW50cyI6IFt7CiAg
|
3561
|
+
ICAgICAgImlkIjogMSwKICAgICAgICAiYm9keSI6ICJGSVJTVCIKICAgICAg
|
3562
|
+
fSwgewogICAgICAgICJpZCI6IDIsCiAgICAgICAgImJvZHkiOiAiUmFpbHMg
|
3563
|
+
aXMgdW5hZ2kiCiAgICAgIH1dCiAgICB9CiAgICBgYGAKCiAgICBUaGUgYG5v
|
3564
|
+
cm1hbGl6ZWAgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIHRocmVlIHRpbWVzOgoK
|
3565
|
+
ICAgICogV2l0aCBgQXBwLlBvc3RgLCBgInBvc3RzImAgYW5kIGB7IGlkOiAx
|
3566
|
+
LCB0aXRsZTogIlJhaWxzIGlzIG9tYWthc2UiLCAuLi4gfWAKICAgICogV2l0
|
3567
|
+
aCBgQXBwLkNvbW1lbnRgLCBgImNvbW1lbnRzImAgYW5kIGB7IGlkOiAxLCBi
|
3568
|
+
b2R5OiAiRklSU1QiIH1gCiAgICAqIFdpdGggYEFwcC5Db21tZW50YCwgYCJj
|
3569
|
+
b21tZW50cyJgIGFuZCBgeyBpZDogMiwgYm9keTogIlJhaWxzIGlzIHVuYWdp
|
3570
|
+
IiB9YAoKICAgIFlvdSBjYW4gdXNlIHRoaXMgbWV0aG9kLCBmb3IgZXhhbXBs
|
3571
|
+
ZSwgdG8gbm9ybWFsaXplIHVuZGVyc2NvcmVkIGtleXMgdG8gY2FtZWxpemVk
|
3572
|
+
CiAgICBvciBvdGhlciBnZW5lcmFsLXB1cnBvc2Ugbm9ybWFsaXphdGlvbnMu
|
3573
|
+
CgogICAgSWYgeW91IHdhbnQgdG8gZG8gbm9ybWFsaXphdGlvbnMgc3BlY2lm
|
3574
|
+
aWMgdG8gc29tZSBwYXJ0IG9mIHRoZSBwYXlsb2FkLCB5b3UKICAgIGNhbiBz
|
3575
|
+
cGVjaWZ5IHRob3NlIHVuZGVyIGBub3JtYWxpemVIYXNoYC4KCiAgICBGb3Ig
|
3576
|
+
ZXhhbXBsZSwgaWYgdGhlIGBJRHNgIHVuZGVyIGAiY29tbWVudHMiYCBhcmUg
|
3577
|
+
cHJvdmlkZWQgYXMgYF9pZGAgaW5zdGVhZCBvZgogICAgYGlkYCwgeW91IGNh
|
3578
|
+
biBzcGVjaWZ5IGhvdyB0byBub3JtYWxpemUganVzdCB0aGUgY29tbWVudHM6
|
3579
|
+
CgogICAgYGBganMKICAgIEFwcC5Qb3N0U2VyaWFsaXplciA9IERTLlJFU1RT
|
3580
|
+
ZXJpYWxpemVyLmV4dGVuZCh7CiAgICAgIG5vcm1hbGl6ZUhhc2g6IHsKICAg
|
3581
|
+
ICAgICBjb21tZW50czogZnVuY3Rpb24oaGFzaCkgewogICAgICAgICAgaGFz
|
3582
|
+
aC5pZCA9IGhhc2guX2lkOwogICAgICAgICAgZGVsZXRlIGhhc2guX2lkOwog
|
3583
|
+
ICAgICAgICAgcmV0dXJuIGhhc2g7CiAgICAgICAgfQogICAgICB9CiAgICB9
|
3584
|
+
KTsKICAgIGBgYAoKICAgIFRoZSBrZXkgdW5kZXIgYG5vcm1hbGl6ZUhhc2hg
|
3585
|
+
IGlzIGp1c3QgdGhlIG9yaWdpbmFsIGtleSB0aGF0IHdhcyBpbiB0aGUgb3Jp
|
3586
|
+
Z2luYWwKICAgIHBheWxvYWQuCgogICAgQG1ldGhvZCBub3JtYWxpemUKICAg
|
3587
|
+
IEBwYXJhbSB7c3ViY2xhc3Mgb2YgRFMuTW9kZWx9IHR5cGUKICAgIEBwYXJh
|
3588
|
+
bSB7U3RyaW5nfSBwcm9wCiAgICBAcGFyYW0ge09iamVjdH0gaGFzaAogICAg
|
3589
|
+
QHJldHVybnMgT2JqZWN0CiAgKi8KICBub3JtYWxpemU6IGZ1bmN0aW9uKHR5
|
3590
|
+
cGUsIHByb3AsIGhhc2gpIHsKICAgIHRoaXMubm9ybWFsaXplSWQoaGFzaCk7
|
3591
|
+
CiAgICB0aGlzLm5vcm1hbGl6ZUF0dHJpYnV0ZXMoaGFzaCk7CgogICAgaWYg
|
3592
|
+
KHRoaXMubm9ybWFsaXplSGFzaCAmJiB0aGlzLm5vcm1hbGl6ZUhhc2hbcHJv
|
3593
|
+
cF0pIHsKICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplSGFzaFtwcm9wXSho
|
3594
|
+
YXNoKTsKICAgIH0KCiAgICByZXR1cm4gaGFzaDsKICB9LAoKICAvKioKICAg
|
3595
|
+
IEBtZXRob2Qgbm9ybWFsaXplSWQKICAgIEBwcml2YXRlCiAgKi8KICBub3Jt
|
3596
|
+
YWxpemVJZDogZnVuY3Rpb24oaGFzaCkgewogICAgdmFyIHByaW1hcnlLZXkg
|
3597
|
+
PSBnZXQodGhpcywgJ3ByaW1hcnlLZXknKTsKCiAgICBpZiAocHJpbWFyeUtl
|
3598
|
+
eSA9PT0gJ2lkJykgeyByZXR1cm47IH0KCiAgICBoYXNoLmlkID0gaGFzaFtw
|
3599
|
+
cmltYXJ5S2V5XTsKICAgIGRlbGV0ZSBoYXNoW3ByaW1hcnlLZXldOwogIH0s
|
3600
|
+
CgogIC8qKgogICAgQG1ldGhvZCBub3JtYWxpemVBdHRyaWJ1dGVzCiAgICBA
|
3601
|
+
cHJpdmF0ZQogICovCiAgbm9ybWFsaXplQXR0cmlidXRlczogZnVuY3Rpb24o
|
3602
|
+
aGFzaCkgewogICAgdmFyIGF0dHJzID0gZ2V0KHRoaXMsICdhdHRycycpOwoK
|
3603
|
+
ICAgIGlmICghYXR0cnMpIHsgcmV0dXJuOyB9CgogICAgZm9yICh2YXIga2V5
|
3604
|
+
IGluIGF0dHJzKSB7CiAgICAgIHZhciBwYXlsb2FkS2V5ID0gYXR0cnNba2V5
|
3605
|
+
XTsKCiAgICAgIGhhc2hba2V5XSA9IGhhc2hbcGF5bG9hZEtleV07CiAgICAg
|
3606
|
+
IGRlbGV0ZSBoYXNoW3BheWxvYWRLZXldOwogICAgfQogIH0sCgogIC8qKgog
|
3607
|
+
ICAgQ2FsbGVkIHdoZW4gdGhlIHNlcnZlciBoYXMgcmV0dXJuZWQgYSBwYXls
|
3608
|
+
b2FkIHJlcHJlc2VudGluZwogICAgYSBzaW5nbGUgcmVjb3JkLCBzdWNoIGFz
|
3609
|
+
IGluIHJlc3BvbnNlIHRvIGEgYGZpbmRgIG9yIGBzYXZlYC4KCiAgICBJdCBp
|
3610
|
+
cyB5b3VyIG9wcG9ydHVuaXR5IHRvIGNsZWFuIHVwIHRoZSBzZXJ2ZXIncyBy
|
3611
|
+
ZXNwb25zZSBpbnRvIHRoZSBub3JtYWxpemVkCiAgICBmb3JtIGV4cGVjdGVk
|
3612
|
+
IGJ5IEVtYmVyIERhdGEuCgogICAgSWYgeW91IHdhbnQsIHlvdSBjYW4ganVz
|
3613
|
+
dCByZXN0cnVjdHVyZSB0aGUgdG9wLWxldmVsIG9mIHlvdXIgcGF5bG9hZCwg
|
3614
|
+
YW5kCiAgICBkbyBtb3JlIGZpbmUtZ3JhaW5lZCBub3JtYWxpemF0aW9uIGlu
|
3615
|
+
IHRoZSBgbm9ybWFsaXplYCBtZXRob2QuCgogICAgRm9yIGV4YW1wbGUsIGlm
|
3616
|
+
IHlvdSBoYXZlIGEgcGF5bG9hZCBsaWtlIHRoaXMgaW4gcmVzcG9uc2UgdG8g
|
3617
|
+
YSByZXF1ZXN0IGZvcgogICAgcG9zdCAxOgoKICAgIGBgYGpzCiAgICB7CiAg
|
3618
|
+
ICAgICJpZCI6IDEsCiAgICAgICJ0aXRsZSI6ICJSYWlscyBpcyBvbWFrYXNl
|
3619
|
+
IiwKCiAgICAgICJfZW1iZWRkZWQiOiB7CiAgICAgICAgImNvbW1lbnQiOiBb
|
3620
|
+
ewogICAgICAgICAgIl9pZCI6IDEsCiAgICAgICAgICAiY29tbWVudF90aXRs
|
3621
|
+
ZSI6ICJGSVJTVCIKICAgICAgICB9LCB7CiAgICAgICAgICAiX2lkIjogMiwK
|
3622
|
+
ICAgICAgICAgICJjb21tZW50X3RpdGxlIjogIlJhaWxzIGlzIHVuYWdpIgog
|
3623
|
+
ICAgICAgIH1dCiAgICAgIH0KICAgIH0KICAgIGBgYAoKICAgIFlvdSBjb3Vs
|
3624
|
+
ZCBpbXBsZW1lbnQgYSBzZXJpYWxpemVyIHRoYXQgbG9va3MgbGlrZSB0aGlz
|
3625
|
+
IHRvIGdldCB5b3VyIHBheWxvYWQKICAgIGludG8gc2hhcGU6CgogICAgYGBg
|
3626
|
+
anMKICAgIEFwcC5Qb3N0U2VyaWFsaXplciA9IERTLlJFU1RTZXJpYWxpemVy
|
3627
|
+
LmV4dGVuZCh7CiAgICAgIC8vIEZpcnN0LCByZXN0cnVjdHVyZSB0aGUgdG9w
|
3628
|
+
LWxldmVsIHNvIGl0J3Mgb3JnYW5pemVkIGJ5IHR5cGUKICAgICAgZXh0cmFj
|
3629
|
+
dFNpbmdsZTogZnVuY3Rpb24oc3RvcmUsIHR5cGUsIHBheWxvYWQsIGlkLCBy
|
3630
|
+
ZXF1ZXN0VHlwZSkgewogICAgICAgIHZhciBjb21tZW50cyA9IHBheWxvYWQu
|
3631
|
+
X2VtYmVkZGVkLmNvbW1lbnQ7CiAgICAgICAgZGVsZXRlIHBheWxvYWQuX2Vt
|
3632
|
+
YmVkZGVkOwoKICAgICAgICBwYXlsb2FkID0geyBjb21tZW50czogY29tbWVu
|
3633
|
+
dHMsIHBvc3Q6IHBheWxvYWQgfTsKICAgICAgICByZXR1cm4gdGhpcy5fc3Vw
|
3634
|
+
ZXIoc3RvcmUsIHR5cGUsIHBheWxvYWQsIGlkLCByZXF1ZXN0VHlwZSk7CiAg
|
3635
|
+
ICAgIH0sCgogICAgICBub3JtYWxpemVIYXNoOiB7CiAgICAgICAgLy8gTmV4
|
3636
|
+
dCwgbm9ybWFsaXplIGluZGl2aWR1YWwgY29tbWVudHMsIHdoaWNoIChhZnRl
|
3637
|
+
ciBgZXh0cmFjdGApCiAgICAgICAgLy8gYXJlIG5vdyBsb2NhdGVkIHVuZGVy
|
3638
|
+
IGBjb21tZW50c2AKICAgICAgICBjb21tZW50czogZnVuY3Rpb24oaGFzaCkg
|
3639
|
+
ewogICAgICAgICAgaGFzaC5pZCA9IGhhc2guX2lkOwogICAgICAgICAgaGFz
|
3640
|
+
aC50aXRsZSA9IGhhc2guY29tbWVudF90aXRsZTsKICAgICAgICAgIGRlbGV0
|
3641
|
+
ZSBoYXNoLl9pZDsKICAgICAgICAgIGRlbGV0ZSBoYXNoLmNvbW1lbnRfdGl0
|
3642
|
+
bGU7CiAgICAgICAgICByZXR1cm4gaGFzaDsKICAgICAgICB9CiAgICAgIH0K
|
3643
|
+
ICAgIH0pCiAgICBgYGAKCiAgICBXaGVuIHlvdSBjYWxsIHN1cGVyIGZyb20g
|
3644
|
+
eW91ciBvd24gaW1wbGVtZW50YXRpb24gb2YgYGV4dHJhY3RTaW5nbGVgLCB0
|
3645
|
+
aGUKICAgIGJ1aWx0LWluIGltcGxlbWVudGF0aW9uIHdpbGwgZmluZCB0aGUg
|
3646
|
+
cHJpbWFyeSByZWNvcmQgaW4geW91ciBub3JtYWxpemVkCiAgICBwYXlsb2Fk
|
3647
|
+
IGFuZCBwdXNoIHRoZSByZW1haW5pbmcgcmVjb3JkcyBpbnRvIHRoZSBzdG9y
|
3648
|
+
ZS4KCiAgICBUaGUgcHJpbWFyeSByZWNvcmQgaXMgdGhlIHNpbmdsZSBoYXNo
|
3649
|
+
IGZvdW5kIHVuZGVyIGBwb3N0YCBvciB0aGUgZmlyc3QKICAgIGVsZW1lbnQg
|
3650
|
+
b2YgdGhlIGBwb3N0c2AgYXJyYXkuCgogICAgVGhlIHByaW1hcnkgcmVjb3Jk
|
3651
|
+
IGhhcyBzcGVjaWFsIG1lYW5pbmcgd2hlbiB0aGUgcmVjb3JkIGlzIGJlaW5n
|
3652
|
+
IGNyZWF0ZWQKICAgIGZvciB0aGUgZmlyc3QgdGltZSBvciB1cGRhdGVkIChg
|
3653
|
+
Y3JlYXRlUmVjb3JkYCBvciBgdXBkYXRlUmVjb3JkYCkuIEluCiAgICBwYXJ0
|
3654
|
+
aWN1bGFyLCBpdCB3aWxsIHVwZGF0ZSB0aGUgcHJvcGVydGllcyBvZiB0aGUg
|
3655
|
+
cmVjb3JkIHRoYXQgd2FzIHNhdmVkLgoKICAgIEBwYXJhbSB7RFMuU3RvcmV9
|
3656
|
+
IHN0b3JlCiAgICBAcGFyYW0ge3N1YmNsYXNzIG9mIERTLk1vZGVsfSB0eXBl
|
3657
|
+
CiAgICBAcGFyYW0ge09iamVjdH0gcGF5bG9hZAogICAgQHBhcmFtIHtTdHJp
|
3658
|
+
bmd9IGlkCiAgICBAcGFyYW0geydmaW5kJ3wnY3JlYXRlUmVjb3JkJ3wndXBk
|
3659
|
+
YXRlUmVjb3JkJ3wnZGVsZXRlUmVjb3JkJ30gcmVxdWVzdFR5cGUKICAgIEBy
|
3660
|
+
ZXR1cm5zIE9iamVjdCB0aGUgcHJpbWFyeSByZXNwb25zZSB0byB0aGUgb3Jp
|
3661
|
+
Z2luYWwgcmVxdWVzdAogICovCiAgZXh0cmFjdFNpbmdsZTogZnVuY3Rpb24o
|
3662
|
+
c3RvcmUsIHByaW1hcnlUeXBlLCBwYXlsb2FkLCByZWNvcmRJZCwgcmVxdWVz
|
3663
|
+
dFR5cGUpIHsKICAgIHZhciBwcmltYXJ5VHlwZU5hbWUgPSBwcmltYXJ5VHlw
|
3664
|
+
ZS50eXBlS2V5LAogICAgICAgIHByaW1hcnlSZWNvcmQ7CgogICAgZm9yICh2
|
3665
|
+
YXIgcHJvcCBpbiBwYXlsb2FkKSB7CiAgICAgIC8vIGxlZ2FjeSBzdXBwb3J0
|
3666
|
+
IGZvciBzaW5ndWxhciBuYW1lcwogICAgICBpZiAocHJvcCA9PT0gcHJpbWFy
|
3667
|
+
eVR5cGVOYW1lKSB7CiAgICAgICAgcHJpbWFyeVJlY29yZCA9IHRoaXMubm9y
|
3668
|
+
bWFsaXplKHByaW1hcnlUeXBlLCBwcm9wLCBwYXlsb2FkW3Byb3BdKTsKICAg
|
3669
|
+
ICAgICBjb250aW51ZTsKICAgICAgfQoKICAgICAgdmFyIHR5cGVOYW1lID0g
|
3670
|
+
dGhpcy5zaW5ndWxhcml6ZShwcm9wKSwKICAgICAgICAgIHR5cGUgPSBzdG9y
|
3671
|
+
ZS5tb2RlbEZvcih0eXBlTmFtZSk7CgogICAgICAvKmpzaGludCBsb29wZnVu
|
3672
|
+
Yzp0cnVlKi8KICAgICAgcGF5bG9hZFtwcm9wXS5mb3JFYWNoKGZ1bmN0aW9u
|
3673
|
+
KGhhc2gpIHsKICAgICAgICBoYXNoID0gdGhpcy5ub3JtYWxpemUodHlwZSwg
|
3674
|
+
cHJvcCwgaGFzaCk7CgogICAgICAgIHZhciBpc0ZpcnN0Q3JlYXRlZFJlY29y
|
3675
|
+
ZCA9IHR5cGVOYW1lID09PSBwcmltYXJ5VHlwZU5hbWUgJiYgIXJlY29yZElk
|
3676
|
+
ICYmICFwcmltYXJ5UmVjb3JkLAogICAgICAgICAgICBpc1VwZGF0ZWRSZWNv
|
3677
|
+
cmQgPSB0eXBlTmFtZSA9PT0gcHJpbWFyeVR5cGVOYW1lICYmIGNvZXJjZUlk
|
3678
|
+
KGhhc2guaWQpID09PSByZWNvcmRJZDsKCiAgICAgICAgLy8gZmluZCB0aGUg
|
3679
|
+
cHJpbWFyeSByZWNvcmQuCiAgICAgICAgLy8KICAgICAgICAvLyBJdCdzIGVp
|
3680
|
+
dGhlcjoKICAgICAgICAvLyAqIHRoZSByZWNvcmQgd2l0aCB0aGUgc2FtZSBJ
|
3681
|
+
RCBhcyB0aGUgb3JpZ2luYWwgcmVxdWVzdAogICAgICAgIC8vICogaW4gdGhl
|
3682
|
+
IGNhc2Ugb2YgYSBuZXdseSBjcmVhdGVkIHJlY29yZCB0aGF0IGRpZG4ndCBo
|
3683
|
+
YXZlIGFuIElELCB0aGUgZmlyc3QKICAgICAgICAvLyAgIHJlY29yZCBpbiB0
|
3684
|
+
aGUgQXJyYXkKICAgICAgICBpZiAoaXNGaXJzdENyZWF0ZWRSZWNvcmQgfHwg
|
3685
|
+
aXNVcGRhdGVkUmVjb3JkKSB7CiAgICAgICAgICBwcmltYXJ5UmVjb3JkID0g
|
3686
|
+
aGFzaDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgc3RvcmUucHVzaCh0
|
3687
|
+
eXBlTmFtZSwgaGFzaCk7CiAgICAgICAgfQogICAgICB9LCB0aGlzKTsKICAg
|
3688
|
+
IH0KCiAgICByZXR1cm4gcHJpbWFyeVJlY29yZDsKICB9LAoKICAvKioKICAg
|
3689
|
+
IENhbGxlZCB3aGVuIHRoZSBzZXJ2ZXIgaGFzIHJldHVybmVkIGEgcGF5bG9h
|
3690
|
+
ZCByZXByZXNlbnRpbmcKICAgIG11bHRpcGxlIHJlY29yZHMsIHN1Y2ggYXMg
|
3691
|
+
aW4gcmVzcG9uc2UgdG8gYSBgZmluZEFsbGAgb3IgYGZpbmRRdWVyeWAuCgog
|
3692
|
+
ICAgSXQgaXMgeW91ciBvcHBvcnR1bml0eSB0byBjbGVhbiB1cCB0aGUgc2Vy
|
3693
|
+
dmVyJ3MgcmVzcG9uc2UgaW50byB0aGUgbm9ybWFsaXplZAogICAgZm9ybSBl
|
3694
|
+
eHBlY3RlZCBieSBFbWJlciBEYXRhLgoKICAgIElmIHlvdSB3YW50LCB5b3Ug
|
3695
|
+
Y2FuIGp1c3QgcmVzdHJ1Y3R1cmUgdGhlIHRvcC1sZXZlbCBvZiB5b3VyIHBh
|
3696
|
+
eWxvYWQsIGFuZAogICAgZG8gbW9yZSBmaW5lLWdyYWluZWQgbm9ybWFsaXph
|
3697
|
+
dGlvbiBpbiB0aGUgYG5vcm1hbGl6ZWAgbWV0aG9kLgoKICAgIEZvciBleGFt
|
3698
|
+
cGxlLCBpZiB5b3UgaGF2ZSBhIHBheWxvYWQgbGlrZSB0aGlzIGluIHJlc3Bv
|
3699
|
+
bnNlIHRvIGEgcmVxdWVzdCBmb3IKICAgIGFsbCBwb3N0czoKCiAgICBgYGBq
|
3700
|
+
cwogICAgewogICAgICAiX2VtYmVkZGVkIjogewogICAgICAgICJwb3N0Ijog
|
3701
|
+
W3sKICAgICAgICAgICJpZCI6IDEsCiAgICAgICAgICAidGl0bGUiOiAiUmFp
|
3702
|
+
bHMgaXMgb21ha2FzZSIKICAgICAgICB9LCB7CiAgICAgICAgICAiaWQiOiAy
|
3703
|
+
LAogICAgICAgICAgInRpdGxlIjogIlRoZSBQYXJsZXkgTGV0dGVyIgogICAg
|
3704
|
+
ICAgIH1dLAogICAgICAgICJjb21tZW50IjogW3sKICAgICAgICAgICJfaWQi
|
3705
|
+
OiAxLAogICAgICAgICAgImNvbW1lbnRfdGl0bGUiOiAiUmFpbHMgaXMgdW5h
|
3706
|
+
Z2kiCiAgICAgICAgICAicG9zdF9pZCI6IDEKICAgICAgICB9LCB7CiAgICAg
|
3707
|
+
ICAgICAiX2lkIjogMiwKICAgICAgICAgICJjb21tZW50X3RpdGxlIjogIkRv
|
3708
|
+
bid0IHRyZWFkIG9uIG1lIiwKICAgICAgICAgICJwb3N0X2lkIjogMgogICAg
|
3709
|
+
ICAgIH1dCiAgICAgIH0KICAgIH0KICAgIGBgYAoKICAgIFlvdSBjb3VsZCBp
|
3710
|
+
bXBsZW1lbnQgYSBzZXJpYWxpemVyIHRoYXQgbG9va3MgbGlrZSB0aGlzIHRv
|
3711
|
+
IGdldCB5b3VyIHBheWxvYWQKICAgIGludG8gc2hhcGU6CgogICAgYGBganMK
|
3712
|
+
ICAgIEFwcC5Qb3N0U2VyaWFsaXplciA9IERTLlJFU1RTZXJpYWxpemVyLmV4
|
3713
|
+
dGVuZCh7CiAgICAgIC8vIEZpcnN0LCByZXN0cnVjdHVyZSB0aGUgdG9wLWxl
|
3714
|
+
dmVsIHNvIGl0J3Mgb3JnYW5pemVkIGJ5IHR5cGUKICAgICAgLy8gYW5kIHRo
|
3715
|
+
ZSBjb21tZW50cyBhcmUgbGlzdGVkIHVuZGVyIGEgcG9zdCdzIGBjb21tZW50
|
3716
|
+
c2Aga2V5LgogICAgICBleHRyYWN0QXJyYXk6IGZ1bmN0aW9uKHN0b3JlLCB0
|
3717
|
+
eXBlLCBwYXlsb2FkLCBpZCwgcmVxdWVzdFR5cGUpIHsKICAgICAgICB2YXIg
|
3718
|
+
cG9zdHMgPSBwYXlsb2FkLl9lbWJlZGRlZC5wb3N0OwogICAgICAgIHZhciBj
|
3719
|
+
b21tZW50cyA9IFtdOwogICAgICAgIHZhciBwb3N0Q2FjaGUgPSB7fTsKCiAg
|
3720
|
+
ICAgICAgcG9zdHMuZm9yRWFjaChmdW5jdGlvbihwb3N0KSB7CiAgICAgICAg
|
3721
|
+
ICBwb3N0LmNvbW1lbnRzID0gW107CiAgICAgICAgICBwb3N0Q2FjaGVbcG9z
|
3722
|
+
dC5pZF0gPSBwb3N0OwogICAgICAgIH0pOwoKICAgICAgICBwYXlsb2FkLl9l
|
3723
|
+
bWJlZGRlZC5jb21tZW50LmZvckVhY2goZnVuY3Rpb24oY29tbWVudCkgewog
|
3724
|
+
ICAgICAgICAgY29tbWVudHMucHVzaChjb21tZW50KTsKICAgICAgICAgIHBv
|
3725
|
+
c3RDYWNoZVtjb21tZW50LnBvc3RfaWRdLmNvbW1lbnRzLnB1c2goY29tbWVu
|
3726
|
+
dCk7CiAgICAgICAgICBkZWxldGUgY29tbWVudC5wb3N0X2lkOwogICAgICAg
|
3727
|
+
IH0KCiAgICAgICAgcGF5bG9hZCA9IHsgY29tbWVudHM6IGNvbW1lbnRzLCBw
|
3728
|
+
b3N0czogcGF5bG9hZCB9OwoKICAgICAgICByZXR1cm4gdGhpcy5fc3VwZXIo
|
3729
|
+
c3RvcmUsIHR5cGUsIHBheWxvYWQsIGlkLCByZXF1ZXN0VHlwZSk7CiAgICAg
|
3730
|
+
IH0sCgogICAgICBub3JtYWxpemVIYXNoOiB7CiAgICAgICAgLy8gTmV4dCwg
|
3731
|
+
bm9ybWFsaXplIGluZGl2aWR1YWwgY29tbWVudHMsIHdoaWNoIChhZnRlciBg
|
3732
|
+
ZXh0cmFjdGApCiAgICAgICAgLy8gYXJlIG5vdyBsb2NhdGVkIHVuZGVyIGBj
|
3733
|
+
b21tZW50c2AKICAgICAgICBjb21tZW50czogZnVuY3Rpb24oaGFzaCkgewog
|
3734
|
+
ICAgICAgICAgaGFzaC5pZCA9IGhhc2guX2lkOwogICAgICAgICAgaGFzaC50
|
3735
|
+
aXRsZSA9IGhhc2guY29tbWVudF90aXRsZTsKICAgICAgICAgIGRlbGV0ZSBo
|
3736
|
+
YXNoLl9pZDsKICAgICAgICAgIGRlbGV0ZSBoYXNoLmNvbW1lbnRfdGl0bGU7
|
3737
|
+
CiAgICAgICAgICByZXR1cm4gaGFzaDsKICAgICAgICB9CiAgICAgIH0KICAg
|
3738
|
+
IH0pCiAgICBgYGAKCiAgICBXaGVuIHlvdSBjYWxsIHN1cGVyIGZyb20geW91
|
3739
|
+
ciBvd24gaW1wbGVtZW50YXRpb24gb2YgYGV4dHJhY3RBcnJheWAsIHRoZQog
|
3740
|
+
ICAgYnVpbHQtaW4gaW1wbGVtZW50YXRpb24gd2lsbCBmaW5kIHRoZSBwcmlt
|
3741
|
+
YXJ5IGFycmF5IGluIHlvdXIgbm9ybWFsaXplZAogICAgcGF5bG9hZCBhbmQg
|
3742
|
+
cHVzaCB0aGUgcmVtYWluaW5nIHJlY29yZHMgaW50byB0aGUgc3RvcmUuCgog
|
3743
|
+
ICAgVGhlIHByaW1hcnkgYXJyYXkgaXMgdGhlIGFycmF5IGZvdW5kIHVuZGVy
|
3744
|
+
IGBwb3N0c2AuCgogICAgVGhlIHByaW1hcnkgcmVjb3JkIGhhcyBzcGVjaWFs
|
3745
|
+
IG1lYW5pbmcgd2hlbiByZXNwb25kaW5nIHRvIGBmaW5kUXVlcnlgCiAgICBv
|
3746
|
+
ciBgZmluZEhhc01hbnlgLiBJbiBwYXJ0aWN1bGFyLCB0aGUgcHJpbWFyeSBh
|
3747
|
+
cnJheSB3aWxsIGJlY29tZSB0aGUKICAgIGxpc3Qgb2YgcmVjb3JkcyBpbiB0
|
3748
|
+
aGUgcmVjb3JkIGFycmF5IHRoYXQga2lja2VkIG9mZiB0aGUgcmVxdWVzdC4K
|
3749
|
+
CiAgICBAcGFyYW0ge0RTLlN0b3JlfSBzdG9yZQogICAgQHBhcmFtIHtzdWJj
|
3750
|
+
bGFzcyBvZiBEUy5Nb2RlbH0gdHlwZQogICAgQHBhcmFtIHtPYmplY3R9IHBh
|
3751
|
+
eWxvYWQKICAgIEBwYXJhbSB7J2ZpbmRBbGwnfCdmaW5kTWFueSd8J2ZpbmRI
|
3752
|
+
YXNNYW55J3wnZmluZFF1ZXJ5J30gcmVxdWVzdFR5cGUKICAgIEByZXR1cm5z
|
3753
|
+
IHtBcnJheTxPYmplY3Q+fSBUaGUgcHJpbWFyeSBhcnJheSB0aGF0IHdhcyBy
|
3754
|
+
ZXR1cm5lZCBpbiByZXNwb25zZQogICAgICB0byB0aGUgb3JpZ2luYWwgcXVl
|
3755
|
+
cnkuCiAgKi8KICBleHRyYWN0QXJyYXk6IGZ1bmN0aW9uKHN0b3JlLCBwcmlt
|
3756
|
+
YXJ5VHlwZSwgcGF5bG9hZCkgewogICAgdmFyIHByaW1hcnlUeXBlTmFtZSA9
|
3757
|
+
IHByaW1hcnlUeXBlLnR5cGVLZXksCiAgICAgICAgcHJpbWFyeUFycmF5OwoK
|
3758
|
+
ICAgIGZvciAodmFyIHByb3AgaW4gcGF5bG9hZCkgewogICAgICB2YXIgdHlw
|
3759
|
+
ZU5hbWUgPSB0aGlzLnNpbmd1bGFyaXplKHByb3ApLAogICAgICAgICAgdHlw
|
3760
|
+
ZSA9IHN0b3JlLm1vZGVsRm9yKHR5cGVOYW1lKSwKICAgICAgICAgIGlzUHJp
|
3761
|
+
bWFyeSA9IHR5cGVOYW1lID09PSBwcmltYXJ5VHlwZU5hbWU7CgogICAgICAv
|
3762
|
+
KmpzaGludCBsb29wZnVuYzp0cnVlKi8KICAgICAgdmFyIG5vcm1hbGl6ZWRB
|
3763
|
+
cnJheSA9IHBheWxvYWRbcHJvcF0ubWFwKGZ1bmN0aW9uKGhhc2gpIHsKICAg
|
3764
|
+
ICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemUodHlwZSwgcHJvcCwgaGFzaCk7
|
3765
|
+
CiAgICAgIH0sIHRoaXMpOwoKICAgICAgaWYgKGlzUHJpbWFyeSkgewogICAg
|
3766
|
+
ICAgIHByaW1hcnlBcnJheSA9IG5vcm1hbGl6ZWRBcnJheTsKICAgICAgfSBl
|
3767
|
+
bHNlIHsKICAgICAgICBzdG9yZS5wdXNoTWFueSh0eXBlTmFtZSwgbm9ybWFs
|
3768
|
+
aXplZEFycmF5KTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBwcmltYXJ5
|
3769
|
+
QXJyYXk7CiAgfSwKCiAgLyoqCiAgICBAcHJpdmF0ZQogICAgQG1ldGhvZCBw
|
3770
|
+
bHVyYWxpemUKICAgIEBwYXJhbSB7U3RyaW5nfSBrZXkKICAqLwogIHBsdXJh
|
3771
|
+
bGl6ZTogZnVuY3Rpb24oa2V5KSB7CiAgICByZXR1cm4gRW1iZXIuU3RyaW5n
|
3772
|
+
LnBsdXJhbGl6ZShrZXkpOwogIH0sCgogIC8qKgogICAgQHByaXZhdGUKICAg
|
3773
|
+
IEBtZXRob2Qgc2luZ3VsYXJpemUKICAgIEBwYXJhbSB7U3RyaW5nfSBrZXkK
|
3774
|
+
ICAqLwogIHNpbmd1bGFyaXplOiBmdW5jdGlvbihrZXkpIHsKICAgIHJldHVy
|
3775
|
+
biBFbWJlci5TdHJpbmcuc2luZ3VsYXJpemUoa2V5KTsKICB9LAoKICAvLyBT
|
3776
|
+
RVJJQUxJWkUKCiAgLyoqCiAgICBDYWxsZWQgd2hlbiBhIHJlY29yZCBpcyBz
|
3777
|
+
YXZlZCBpbiBvcmRlciB0byBjb252ZXJ0IHRoZQogICAgcmVjb3JkIGludG8g
|
3778
|
+
SlNPTi4KCiAgICBCeSBkZWZhdWx0LCBpdCBjcmVhdGVzIGEgSlNPTiBvYmpl
|
3779
|
+
Y3Qgd2l0aCBhIGtleSBmb3IKICAgIGVhY2ggYXR0cmlidXRlIGFuZCBiZWxv
|
3780
|
+
bmdzVG8gcmVsYXRpb25zaGlwLgoKICAgIEZvciBleGFtcGxlLCBjb25zaWRl
|
3781
|
+
ciB0aGlzIG1vZGVsOgoKICAgIGBgYGpzCiAgICBBcHAuQ29tbWVudCA9IERT
|
3782
|
+
Lk1vZGVsLmV4dGVuZCh7CiAgICAgIHRpdGxlOiBEUy5hdHRyKCksCiAgICAg
|
3783
|
+
IGJvZHk6IERTLmF0dHIoKSwKCiAgICAgIGF1dGhvcjogRFMuYmVsb25nc1Rv
|
3784
|
+
KCd1c2VyJykKICAgIH0pOwogICAgYGBgCgogICAgVGhlIGRlZmF1bHQgc2Vy
|
3785
|
+
aWFsaXphdGlvbiB3b3VsZCBjcmVhdGUgYSBKU09OIG9iamVjdCBsaWtlOgoK
|
3786
|
+
ICAgIGBgYGpzCiAgICB7CiAgICAgICJ0aXRsZSI6ICJSYWlscyBpcyB1bmFn
|
3787
|
+
aSIsCiAgICAgICJib2R5IjogIlJhaWxzPyBPbWFrYXNlPyBPX08iLAogICAg
|
3788
|
+
ICAiYXV0aG9yIjogMTIKICAgIH0KICAgIGBgYAoKICAgIEJ5IGRlZmF1bHQs
|
3789
|
+
IGF0dHJpYnV0ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzLWlzLCB1bmxlc3MK
|
3790
|
+
ICAgIHlvdSBzcGVjaWZpZWQgYW4gYXR0cmlidXRlIHR5cGUgKGBEUy5hdHRy
|
3791
|
+
KCdkYXRlJylgKS4gSWYKICAgIHlvdSBzcGVjaWZ5IGEgdHJhbnNmb3JtLCB0
|
3792
|
+
aGUgSmF2YVNjcmlwdCB2YWx1ZSB3aWxsIGJlCiAgICBzZXJpYWxpemVkIHdo
|
3793
|
+
ZW4gaW5zZXJ0ZWQgaW50byB0aGUgSlNPTiBoYXNoLgoKICAgIEJ5IGRlZmF1
|
3794
|
+
bHQsIGJlbG9uZ3MtdG8gcmVsYXRpb25zaGlwcyBhcmUgY29udmVydGVkIGlu
|
3795
|
+
dG8KICAgIElEcyB3aGVuIGluc2VydGVkIGludG8gdGhlIEpTT04gaGFzaC4K
|
3796
|
+
CiAgICAjIyBJRHMKCiAgICBgc2VyaWFsaXplYCB0YWtlcyBhbiBvcHRpb25z
|
3797
|
+
IGhhc2ggd2l0aCBhIHNpbmdsZSBvcHRpb246CiAgICBgaW5jbHVkZUlkYC4g
|
3798
|
+
SWYgdGhpcyBvcHRpb24gaXMgYHRydWVgLCBgc2VyaWFsaXplYCB3aWxsLAog
|
3799
|
+
ICAgYnkgZGVmYXVsdCBpbmNsdWRlIHRoZSBJRCBpbiB0aGUgSlNPTiBvYmpl
|
3800
|
+
Y3QgaXQgYnVpbGRzLgoKICAgIFRoZSBhZGFwdGVyIHBhc3NlcyBpbiBgaW5j
|
3801
|
+
bHVkZUlkOiB0cnVlYCB3aGVuIHNlcmlhbGl6aW5nCiAgICBhIHJlY29yZCBm
|
3802
|
+
b3IgYGNyZWF0ZVJlY29yZGAsIGJ1dCBub3QgZm9yIGB1cGRhdGVSZWNvcmRg
|
3803
|
+
LgoKICAgICMjIEN1c3RvbWl6YXRpb24KCiAgICBZb3VyIHNlcnZlciBtYXkg
|
3804
|
+
ZXhwZWN0IGEgZGlmZmVyZW50IEpTT04gZm9ybWF0IHRoYW4gdGhlCiAgICBi
|
3805
|
+
dWlsdC1pbiBzZXJpYWxpemF0aW9uIGZvcm1hdC4KCiAgICBJbiB0aGF0IGNh
|
3806
|
+
c2UsIHlvdSBjYW4gaW1wbGVtZW50IGBzZXJpYWxpemVgIHlvdXJzZWxmIGFu
|
3807
|
+
ZAogICAgcmV0dXJuIGEgSlNPTiBoYXNoIG9mIHlvdXIgY2hvb3NpbmcuCgog
|
3808
|
+
ICAgYGBganMKICAgIEFwcC5Qb3N0U2VyaWFsaXplciA9IERTLlJFU1RTZXJp
|
3809
|
+
YWxpemVyLmV4dGVuZCh7CiAgICAgIHNlcmlhbGl6ZTogZnVuY3Rpb24ocG9z
|
3810
|
+
dCwgb3B0aW9ucykgewogICAgICAgIHZhciBqc29uID0gewogICAgICAgICAg
|
3811
|
+
UE9TVF9UVEw6IHBvc3QuZ2V0KCd0aXRsZScpLAogICAgICAgICAgUE9TVF9C
|
3812
|
+
RFk6IHBvc3QuZ2V0KCdib2R5JyksCiAgICAgICAgICBQT1NUX0NNUzogcG9z
|
3813
|
+
dC5nZXQoJ2NvbW1lbnRzJykubWFwUHJvcGVydHkoJ2lkJykKICAgICAgICB9
|
3814
|
+
CgogICAgICAgIGlmIChvcHRpb25zLmluY2x1ZGVJZCkgewogICAgICAgICAg
|
3815
|
+
anNvbi5QT1NUX0lEXyA9IHBvc3QuZ2V0KCdpZCcpOwogICAgICAgIH0KCiAg
|
3816
|
+
ICAgICAgcmV0dXJuIGpzb247CiAgICAgIH0KICAgIH0pOwogICAgYGBgCgog
|
3817
|
+
ICAgIyMgQ3VzdG9taXppbmcgYW4gQXBwLVdpZGUgU2VyaWFsaXplcgoKICAg
|
3818
|
+
IElmIHlvdSB3YW50IHRvIGRlZmluZSBhIHNlcmlhbGl6ZXIgZm9yIHlvdXIg
|
3819
|
+
ZW50aXJlCiAgICBhcHBsaWNhdGlvbiwgeW91J2xsIHByb2JhYmx5IHdhbnQg
|
3820
|
+
dG8gdXNlIGBlYWNoQXR0cmlidXRlYAogICAgYW5kIGBlYWNoUmVsYXRpb25z
|
3821
|
+
aGlwYCBvbiB0aGUgcmVjb3JkLgoKICAgIGBgYGpzCiAgICBBcHAuQXBwbGlj
|
3822
|
+
YXRpb25TZXJpYWxpemVyID0gRFMuUkVTVFNlcmlhbGl6ZXIuZXh0ZW5kKHsK
|
3823
|
+
ICAgICAgc2VyaWFsaXplOiBmdW5jdGlvbihyZWNvcmQsIG9wdGlvbnMpIHsK
|
3824
|
+
ICAgICAgICB2YXIganNvbiA9IHt9OwoKICAgICAgICByZWNvcmQuZWFjaEF0
|
3825
|
+
dHJpYnV0ZShmdW5jdGlvbihuYW1lKSB7CiAgICAgICAgICBqc29uW3NlcnZl
|
3826
|
+
ckF0dHJpYnV0ZU5hbWUobmFtZSldID0gcmVjb3JkLmdldChuYW1lKTsKICAg
|
3827
|
+
ICAgICB9KQoKICAgICAgICByZWNvcmQuZWFjaFJlbGF0aW9uc2hpcChmdW5j
|
3828
|
+
dGlvbihuYW1lLCByZWxhdGlvbnNoaXApIHsKICAgICAgICAgIGlmIChyZWxh
|
3829
|
+
dGlvbnNoaXAua2luZCA9PT0gJ2hhc01hbnknKSB7CiAgICAgICAgICAgIGpz
|
3830
|
+
b25bc2VydmVySGFzTWFueU5hbWUobmFtZSldID0gcmVjb3JkLmdldChuYW1l
|
3831
|
+
KS5tYXBCeSgnaWQnKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAg
|
3832
|
+
ICAgaWYgKG9wdGlvbnMuaW5jbHVkZUlkKSB7CiAgICAgICAgICBqc29uLklE
|
3833
|
+
XyA9IHJlY29yZC5nZXQoJ2lkJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1
|
3834
|
+
cm4ganNvbjsKICAgICAgfQogICAgfSk7CgogICAgZnVuY3Rpb24gc2VydmVy
|
3835
|
+
QXR0cmlidXRlTmFtZShhdHRyaWJ1dGUpIHsKICAgICAgcmV0dXJuIGF0dHJp
|
3836
|
+
YnV0ZS51bmRlcnNjb3JlKCkudG9VcHBlckNhc2UoKTsKICAgIH0KCiAgICBm
|
3837
|
+
dW5jdGlvbiBzZXJ2ZXJIYXNNYW55TmFtZShuYW1lKSB7CiAgICAgIHJldHVy
|
3838
|
+
biBzZXJ2ZXJBdHRyaWJ1dGVOYW1lKG5hbWUuc2luZ3VsYXJpemUoKSkgKyAi
|
3839
|
+
X0lEUyI7CiAgICB9CiAgICBgYGAKCiAgICBUaGlzIHNlcmlhbGl6ZXIgd2ls
|
3840
|
+
bCBnZW5lcmF0ZSBKU09OIHRoYXQgbG9va3MgbGlrZSB0aGlzOgoKICAgIGBg
|
3841
|
+
YGpzCiAgICB7CiAgICAgICJUSVRMRSI6ICJSYWlscyBpcyBvbWFrYXNlIiwK
|
3842
|
+
ICAgICAgIkJPRFkiOiAiWWVwLiBPbWFrYXNlLiIsCiAgICAgICJDT01NRU5U
|
3843
|
+
X0lEUyI6IFsgMSwgMiwgMyBdCiAgICB9CiAgICBgYGAKCiAgICAjIyBUd2Vh
|
3844
|
+
a2luZyB0aGUgRGVmYXVsdCBKU09OCgogICAgSWYgeW91IGp1c3Qgd2FudCB0
|
3845
|
+
byBkbyBzb21lIHNtYWxsIHR3ZWFrcyBvbiB0aGUgZGVmYXVsdCBKU09OLAog
|
3846
|
+
ICAgeW91IGNhbiBjYWxsIHN1cGVyIGZpcnN0IGFuZCBtYWtlIHRoZSB0d2Vh
|
3847
|
+
a3Mgb24gdGhlIHJldHVybmVkCiAgICBKU09OLgoKICAgIGBgYGpzCiAgICBB
|
3848
|
+
cHAuUG9zdFNlcmlhbGl6ZXIgPSBEUy5SRVNUU2VyaWFsaXplci5leHRlbmQo
|
3849
|
+
ewogICAgICBzZXJpYWxpemU6IGZ1bmN0aW9uKHJlY29yZCwgb3B0aW9ucykg
|
3850
|
+
ewogICAgICAgIHZhciBqc29uID0gdGhpcy5fc3VwZXIocmVjb3JkLCBvcHRp
|
3851
|
+
b25zKTsKCiAgICAgICAganNvbi5zdWJqZWN0ID0ganNvbi50aXRsZTsKICAg
|
3852
|
+
ICAgICBkZWxldGUganNvbi50aXRsZTsKCiAgICAgICAgcmV0dXJuIGpzb247
|
3853
|
+
CiAgICAgIH0KICAgIH0pOwogICAgYGBgCiAgKi8KICBzZXJpYWxpemU6IGZ1
|
3854
|
+
bmN0aW9uKHJlY29yZCwgb3B0aW9ucykgewogICAgcmV0dXJuIHRoaXMuX3N1
|
3855
|
+
cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgfQp9KTsKCi8qKgogIFRo
|
3856
|
+
ZSBSRVNUIGFkYXB0ZXIgYWxsb3dzIHlvdXIgc3RvcmUgdG8gY29tbXVuaWNh
|
3857
|
+
dGUgd2l0aCBhbiBIVFRQIHNlcnZlciBieQogIHRyYW5zbWl0dGluZyBKU09O
|
3858
|
+
IHZpYSBYSFIuIE1vc3QgRW1iZXIuanMgYXBwcyB0aGF0IGNvbnN1bWUgYSBK
|
3859
|
+
U09OIEFQSQogIHNob3VsZCB1c2UgdGhlIFJFU1QgYWRhcHRlci4KCiAgVGhp
|
3860
|
+
cyBhZGFwdGVyIGlzIGRlc2lnbmVkIGFyb3VuZCB0aGUgaWRlYSB0aGF0IHRo
|
3861
|
+
ZSBKU09OIGV4Y2hhbmdlZCB3aXRoCiAgdGhlIHNlcnZlciBzaG91bGQgYmUg
|
3862
|
+
Y29udmVudGlvbmFsLgoKICAjIyBKU09OIFN0cnVjdHVyZQoKICBUaGUgUkVT
|
3863
|
+
VCBhZGFwdGVyIGV4cGVjdHMgdGhlIEpTT04gcmV0dXJuZWQgZnJvbSB5b3Vy
|
3864
|
+
IHNlcnZlciB0byBmb2xsb3cKICB0aGVzZSBjb252ZW50aW9ucy4KCiAgIyMj
|
3865
|
+
IE9iamVjdCBSb290CgogIFRoZSBKU09OIHBheWxvYWQgc2hvdWxkIGJlIGFu
|
3866
|
+
IG9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSByZWNvcmQgaW5zaWRlIGEKICBy
|
3867
|
+
b290IHByb3BlcnR5LiBGb3IgZXhhbXBsZSwgaW4gcmVzcG9uc2UgdG8gYSBg
|
3868
|
+
R0VUYCByZXF1ZXN0IGZvcgogIGAvcG9zdHMvMWAsIHRoZSBKU09OIHNob3Vs
|
3869
|
+
ZCBsb29rIGxpa2UgdGhpczoKCiAgYGBganMKICB7CiAgICAicG9zdCI6IHsK
|
3870
|
+
ICAgICAgdGl0bGU6ICJJJ20gUnVubmluZyB0byBSZWZvcm0gdGhlIFczQydz
|
3871
|
+
IFRhZyIsCiAgICAgIGF1dGhvcjogIlllaHVkYSBLYXR6IgogICAgfQogIH0K
|
3872
|
+
ICBgYGAKCiAgIyMjIENvbnZlbnRpb25hbCBOYW1lcwoKICBBdHRyaWJ1dGUg
|
3873
|
+
bmFtZXMgaW4geW91ciBKU09OIHBheWxvYWQgc2hvdWxkIGJlIHRoZSB1bmRl
|
3874
|
+
cnNjb3JlZCB2ZXJzaW9ucyBvZgogIHRoZSBhdHRyaWJ1dGVzIGluIHlvdXIg
|
3875
|
+
RW1iZXIuanMgbW9kZWxzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUg
|
3876
|
+
YSBgUGVyc29uYCBtb2RlbDoKCiAgYGBganMKICBBcHAuUGVyc29uID0gRFMu
|
3877
|
+
TW9kZWwuZXh0ZW5kKHsKICAgIGZpcnN0TmFtZTogRFMuYXR0cignc3RyaW5n
|
3878
|
+
JyksCiAgICBsYXN0TmFtZTogRFMuYXR0cignc3RyaW5nJyksCiAgICBvY2N1
|
3879
|
+
cGF0aW9uOiBEUy5hdHRyKCdzdHJpbmcnKQogIH0pOwogIGBgYAoKICBUaGUg
|
3880
|
+
SlNPTiByZXR1cm5lZCBzaG91bGQgbG9vayBsaWtlIHRoaXM6CgogIGBgYGpz
|
3881
|
+
CiAgewogICAgInBlcnNvbiI6IHsKICAgICAgImZpcnN0X25hbWUiOiAiQmFy
|
3882
|
+
YWNrIiwKICAgICAgImxhc3RfbmFtZSI6ICJPYmFtYSIsCiAgICAgICJvY2N1
|
3883
|
+
cGF0aW9uIjogIlByZXNpZGVudCIKICAgIH0KICB9CiAgYGBgCgogICMjIEN1
|
3884
|
+
c3RvbWl6YXRpb24KCiAgIyMjIEVuZHBvaW50IHBhdGggY3VzdG9taXphdGlv
|
3885
|
+
bgoKICBFbmRwb2ludCBwYXRocyBjYW4gYmUgcHJlZml4ZWQgd2l0aCBhIGBu
|
3886
|
+
YW1lc3BhY2VgIGJ5IHNldHRpbmcgdGhlIG5hbWVzcGFjZQogIHByb3BlcnR5
|
3887
|
+
IG9uIHRoZSBhZGFwdGVyOgoKICBgYGBqcwogIERTLlJFU1RBZGFwdGVyLnJl
|
3888
|
+
b3Blbih7CiAgICBuYW1lc3BhY2U6ICdhcGkvMScKICB9KTsKICBgYGAKICBS
|
3889
|
+
ZXF1ZXN0cyBmb3IgYEFwcC5QZXJzb25gIHdvdWxkIG5vdyB0YXJnZXQgYC9h
|
3890
|
+
cGkvMS9wZW9wbGUvMWAuCgogICMjIyBIb3N0IGN1c3RvbWl6YXRpb24KCiAg
|
3891
|
+
QW4gYWRhcHRlciBjYW4gdGFyZ2V0IG90aGVyIGhvc3RzIGJ5IHNldHRpbmcg
|
3892
|
+
dGhlIGB1cmxgIHByb3BlcnR5LgoKICBgYGBqcwogIERTLlJFU1RBZGFwdGVy
|
3893
|
+
LnJlb3Blbih7CiAgICB1cmw6ICdodHRwczovL2FwaS5leGFtcGxlLmNvbScK
|
3894
|
+
ICB9KTsKICBgYGAKCiAgIyMjIEhlYWRlcnMgY3VzdG9taXphdGlvbgoKICBT
|
3895
|
+
b21lIEFQSXMgcmVxdWlyZSBIVFRQIGhlYWRlcnMsIGVnIHRvIHByb3ZpZGUg
|
3896
|
+
YW4gQVBJIGtleS4gQW4gYXJyYXkgb2YKICBoZWFkZXJzIGNhbiBiZSBhZGRl
|
3897
|
+
ZCB0byB0aGUgYWRhcHRlciB3aGljaCBhcmUgcGFzc2VkIHdpdGggZXZlcnkg
|
3898
|
+
cmVxdWVzdDoKCiAgYGBganMKICBEUy5SRVNUQWRhcHRlci5yZW9wZW4oewog
|
3899
|
+
ICAgaGVhZGVyczogewogICAgICAiQVBJX0tFWSI6ICJzZWNyZXQga2V5IiwK
|
3900
|
+
ICAgICAgIkFOT1RIRVJfSEVBREVSIjogImFzZHNhZGEiCiAgICB9CiAgfSk7
|
3901
|
+
CiAgYGBgCgogIEBjbGFzcyBSRVNUQWRhcHRlcgogIEBjb25zdHJ1Y3Rvcgog
|
3902
|
+
IEBuYW1lc3BhY2UgRFMKICBAZXh0ZW5kcyBEUy5BZGFwdGVyCiovCkRTLlJF
|
3903
|
+
U1RBZGFwdGVyID0gRFMuQWRhcHRlci5leHRlbmQoewogIGRlZmF1bHRTZXJp
|
3904
|
+
YWxpemVyOiAnX3Jlc3QnLAoKICAvKioKICAgIENhbGxlZCBieSB0aGUgc3Rv
|
3905
|
+
cmUgaW4gb3JkZXIgdG8gZmV0Y2ggdGhlIEpTT04gZm9yIGEgZ2l2ZW4KICAg
|
3906
|
+
IHR5cGUgYW5kIElELgoKICAgIEl0IG1ha2VzIGFuIEFqYXggcmVxdWVzdCB0
|
3907
|
+
byBhIFVSTCBjb21wdXRlZCBieSBgYnVpbGRVUkxgLCBhbmQgcmV0dXJucyBh
|
3908
|
+
CiAgICBwcm9taXNlIGZvciB0aGUgcmVzdWx0aW5nIHBheWxvYWQuCgogICAg
|
3909
|
+
QG1ldGhvZCBmaW5kCiAgICBAc2VlIFJFU1RBZGFwdGVyL2J1aWxkVVJMCiAg
|
3910
|
+
ICBAc2VlIFJFU1RBZGFwdGVyL2FqYXgKICAgIEBwYXJhbSB7RFMuU3RvcmV9
|
3911
|
+
IHN0b3JlCiAgICBAcGFyYW0ge3N1YmNsYXNzIG9mIERTLk1vZGVsfSB0eXBl
|
3912
|
+
CiAgICBAcGFyYW0ge1N0cmluZ30gaWQKICAgIEByZXR1cm5zIFByb21pc2UK
|
3913
|
+
ICAqLwogIGZpbmQ6IGZ1bmN0aW9uKHN0b3JlLCB0eXBlLCBpZCkgewogICAg
|
3914
|
+
cmV0dXJuIHRoaXMuYWpheCh0aGlzLmJ1aWxkVVJMKHR5cGUsIGlkKSwgJ0dF
|
3915
|
+
VCcpOwogIH0sCgogIC8qKgogICAgQ2FsbGVkIGJ5IHRoZSBzdG9yZSBpbiBv
|
3916
|
+
cmRlciB0byBmZXRjaCBhIEpTT04gYXJyYXkgZm9yIGFsbAogICAgb2YgdGhl
|
3917
|
+
IHJlY29yZHMgZm9yIGEgZ2l2ZW4gdHlwZS4KCiAgICBJdCBtYWtlcyBhbiBB
|
3918
|
+
amF4IHJlcXVlc3QgdG8gYSBVUkwgY29tcHV0ZWQgYnkgYGJ1aWxkVVJMYCwg
|
3919
|
+
YW5kIHJldHVybnMgYQogICAgcHJvbWlzZSBmb3IgdGhlIHJlc3VsdGluZyBw
|
3920
|
+
YXlsb2FkLgoKICAgIEBtZXRob2QgZmluZEFsbAogICAgQHNlZSBSRVNUQWRh
|
3921
|
+
cHRlci9idWlsZFVSTAogICAgQHNlZSBSRVNUQWRhcHRlci9hamF4CiAgICBA
|
3922
|
+
cGFyYW0ge0RTLlN0b3JlfSBzdG9yZQogICAgQHBhcmFtIHtzdWJjbGFzcyBv
|
3923
|
+
ZiBEUy5Nb2RlbH0gdHlwZQogICAgQHJldHVybnMgUHJvbWlzZQogICovCiAg
|
3924
|
+
ZmluZEFsbDogZnVuY3Rpb24oc3RvcmUsIHR5cGUpIHsKICAgIHJldHVybiB0
|
3925
|
+
aGlzLmFqYXgodGhpcy5idWlsZFVSTCh0eXBlKSwgJ0dFVCcpOwogIH0sCgog
|
3926
|
+
IC8qKgogICAgQ2FsbGVkIGJ5IHRoZSBzdG9yZSBpbiBvcmRlciB0byBmZXRj
|
3927
|
+
aCBhIEpTT04gYXJyYXkgZm9yCiAgICB0aGUgcmVjb3JkcyB0aGF0IG1hdGNo
|
3928
|
+
IGEgcGFydGljdWxhciBxdWVyeS4KCiAgICBUaGUgcXVlcnkgaXMgYSBzaW1w
|
3929
|
+
bGUgSmF2YVNjcmlwdCBvYmplY3QgdGhhdCB3aWxsIGJlIHBhc3NlZCBkaXJl
|
3930
|
+
Y3RseQogICAgdG8gdGhlIHNlcnZlciBhcyBwYXJhbWV0ZXJzLgoKICAgIEl0
|
3931
|
+
IG1ha2VzIGFuIEFqYXggcmVxdWVzdCB0byBhIFVSTCBjb21wdXRlZCBieSBg
|
3932
|
+
YnVpbGRVUkxgLCBhbmQgcmV0dXJucyBhCiAgICBwcm9taXNlIGZvciB0aGUg
|
3933
|
+
cmVzdWx0aW5nIHBheWxvYWQuCgogICAgQG1ldGhvZCBmaW5kUXVlcnkKICAg
|
3934
|
+
IEBzZWUgUkVTVEFkYXB0ZXIvYnVpbGRVUkwKICAgIEBzZWUgUkVTVEFkYXB0
|
3935
|
+
ZXIvYWpheAogICAgQHBhcmFtIHtEUy5TdG9yZX0gc3RvcmUKICAgIEBwYXJh
|
3936
|
+
bSB7c3ViY2xhc3Mgb2YgRFMuTW9kZWx9IHR5cGUKICAgIEBwYXJhbSB7T2Jq
|
3937
|
+
ZWN0fSBxdWVyeQogICAgQHJldHVybnMgUHJvbWlzZQogICovCiAgZmluZFF1
|
3938
|
+
ZXJ5OiBmdW5jdGlvbihzdG9yZSwgdHlwZSwgcXVlcnkpIHsKICAgIHJldHVy
|
3939
|
+
biB0aGlzLmFqYXgodGhpcy5idWlsZFVSTCh0eXBlKSwgJ0dFVCcsIHF1ZXJ5
|
3940
|
+
KTsKICB9LAoKICAvKioKICAgIENhbGxlZCBieSB0aGUgc3RvcmUgaW4gb3Jk
|
3941
|
+
ZXIgdG8gZmV0Y2ggYSBKU09OIGFycmF5IGZvcgogICAgdGhlIHVubG9hZGVk
|
3942
|
+
IHJlY29yZHMgaW4gYSBoYXMtbWFueSByZWxhdGlvbnNoaXAgdGhhdCB3ZXJl
|
3943
|
+
IG9yaWdpbmFsbHkKICAgIHNwZWNpZmllZCBhcyBJRHMuCgogICAgRm9yIGV4
|
3944
|
+
YW1wbGUsIGlmIHRoZSBvcmlnaW5hbCBwYXlsb2FkIGxvb2tzIGxpa2U6Cgog
|
3945
|
+
ICAgYGBganMKICAgIHsKICAgICAgImlkIjogMSwKICAgICAgInRpdGxlIjog
|
3946
|
+
IlJhaWxzIGlzIG9tYWthc2UiLAogICAgICAiY29tbWVudHMiOiBbIDEsIDIs
|
3947
|
+
IDMgXQogICAgfQogICAgYGBgCgogICAgVGhlIElEcyB3aWxsIGJlIHBhc3Nl
|
3948
|
+
ZCBhcyBhIFVSTC1lbmNvZGVkIEFycmF5IG9mIElEcywgaW4gdGhpcyBmb3Jt
|
3949
|
+
OgoKICAgIGBgYAogICAgaWRzW109MSZpZHNbXT0yJmlkc1tdPTMKICAgIGBg
|
3950
|
+
YAoKICAgIE1hbnkgc2VydmVycywgc3VjaCBhcyBSYWlscyBhbmQgUEhQLCB3
|
3951
|
+
aWxsIGF1dG9tYXRpY2FsbHkgY29udmVydCB0aGlzCiAgICBpbnRvIGFuIEFy
|
3952
|
+
cmF5IGZvciB5b3Ugb24gdGhlIHNlcnZlci1zaWRlLiBJZiB5b3Ugd2FudCB0
|
3953
|
+
byBlbmNvZGUgdGhlCiAgICBJRHMsIGRpZmZlcmVudGx5LCBqdXN0IG92ZXJy
|
3954
|
+
aWRlIHRoaXMgKG9uZS1saW5lKSBtZXRob2QuCgogICAgSXQgbWFrZXMgYW4g
|
3955
|
+
QWpheCByZXF1ZXN0IHRvIGEgVVJMIGNvbXB1dGVkIGJ5IGBidWlsZFVSTGAs
|
3956
|
+
IGFuZCByZXR1cm5zIGEKICAgIHByb21pc2UgZm9yIHRoZSByZXN1bHRpbmcg
|
3957
|
+
cGF5bG9hZC4KCiAgICBAbWV0aG9kIGZpbmRNYW55CiAgICBAc2VlIFJFU1RB
|
3958
|
+
ZGFwdGVyL2J1aWxkVVJMCiAgICBAc2VlIFJFU1RBZGFwdGVyL2FqYXgKICAg
|
3959
|
+
IEBwYXJhbSB7RFMuU3RvcmV9IHN0b3JlCiAgICBAcGFyYW0ge3N1YmNsYXNz
|
3960
|
+
IG9mIERTLk1vZGVsfSB0eXBlCiAgICBAcGFyYW0ge0FycmF5PFN0cmluZz59
|
3961
|
+
IGlkcwogICAgQHJldHVybnMgUHJvbWlzZQogICovCiAgZmluZE1hbnk6IGZ1
|
3962
|
+
bmN0aW9uKHN0b3JlLCB0eXBlLCBpZHMpIHsKICAgIHJldHVybiB0aGlzLmFq
|
3963
|
+
YXgodGhpcy5idWlsZFVSTCh0eXBlKSwgJ0dFVCcsIHsgaWRzOiBpZHMgfSk7
|
3964
|
+
CiAgfSwKCiAgLyoqCiAgICBDYWxsZWQgYnkgdGhlIHN0b3JlIGluIG9yZGVy
|
3965
|
+
IHRvIGZldGNoIGEgSlNPTiBhcnJheSBmb3IKICAgIHRoZSB1bmxvYWRlZCBy
|
3966
|
+
ZWNvcmRzIGluIGEgaGFzLW1hbnkgcmVsYXRpb25zaGlwIHRoYXQgd2VyZSBv
|
3967
|
+
cmlnaW5hbGx5CiAgICBzcGVjaWZpZWQgYXMgYSBVUkwgKGluc2lkZSBvZiBg
|
3968
|
+
bGlua3NgKS4KCiAgICBGb3IgZXhhbXBsZSwgaWYgeW91ciBvcmlnaW5hbCBw
|
3969
|
+
YXlsb2FkIGxvb2tzIGxpa2UgdGhpczoKCiAgICBgYGBqcwogICAgewogICAg
|
3970
|
+
ICAicG9zdCI6IHsKICAgICAgICAiaWQiOiAxLAogICAgICAgICJ0aXRsZSI6
|
3971
|
+
ICJSYWlscyBpcyBvbWFrYXNlIiwKICAgICAgICAibGlua3MiOiB7ICJjb21t
|
3972
|
+
ZW50cyI6ICIvcG9zdHMvMS9jb21tZW50cyIgfQogICAgICB9CiAgICB9CiAg
|
3973
|
+
ICBgYGAKCiAgICBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRo
|
3974
|
+
ZSBwYXJlbnQgcmVjb3JkIGFuZCBgL3Bvc3RzLzEvY29tbWVudHNgLgoKICAg
|
3975
|
+
IEl0IHdpbGwgbWFrZSBhbiBBamF4IHJlcXVlc3QgdG8gdGhlIG9yaWdpbmFs
|
3976
|
+
bHkgc3BlY2lmaWVkIFVSTC4KCiAgICBAbWV0aG9kIGZpbmRIYXNNYW55CiAg
|
3977
|
+
ICBAc2VlIFJFU1RBZGFwdGVyL2J1aWxkVVJMCiAgICBAc2VlIFJFU1RBZGFw
|
3978
|
+
dGVyL2FqYXgKICAgIEBwYXJhbSB7RFMuU3RvcmV9IHN0b3JlCiAgICBAcGFy
|
3979
|
+
YW0ge0RTLk1vZGVsfSByZWNvcmQKICAgIEBwYXJhbSB7U3RyaW5nfSB1cmwK
|
3980
|
+
ICAgIEByZXR1cm5zIFByb21pc2UKICAqLwogIGZpbmRIYXNNYW55OiBmdW5j
|
3981
|
+
dGlvbihzdG9yZSwgcmVjb3JkLCB1cmwpIHsKICAgIHJldHVybiB0aGlzLmFq
|
3982
|
+
YXgodXJsLCAnR0VUJyk7CiAgfSwKCiAgLyoqCiAgICBDYWxsZWQgYnkgdGhl
|
3983
|
+
IHN0b3JlIHdoZW4gYSBuZXdseSBjcmVhdGVkIHJlY29yZCBpcwogICAgYHNh
|
3984
|
+
dmVgZC4KCiAgICBJdCBzZXJpYWxpemVzIHRoZSByZWNvcmQsIGFuZCBgUE9T
|
3985
|
+
VGBzIGl0IHRvIGEgVVJMIGdlbmVyYXRlZCBieSBgYnVpbGRVUkxgLgoKICAg
|
3986
|
+
IFNlZSBgc2VyaWFsaXplYCBmb3IgaW5mb3JtYXRpb24gb24gaG93IHRvIGN1
|
3987
|
+
c3RvbWl6ZSB0aGUgc2VyaWFsaXplZCBmb3JtCiAgICBvZiBhIHJlY29yZC4K
|
3988
|
+
CiAgICBAbWV0aG9kIGNyZWF0ZVJlY29yZAogICAgQHNlZSBSRVNUQWRhcHRl
|
3989
|
+
ci9idWlsZFVSTAogICAgQHNlZSBSRVNUQWRhcHRlci9hamF4CiAgICBAc2Vl
|
3990
|
+
IFJFU1RBZGFwdGVyL3NlcmlhbGl6ZQogICAgQHBhcmFtIHtEUy5TdG9yZX0g
|
3991
|
+
c3RvcmUKICAgIEBwYXJhbSB7c3ViY2xhc3Mgb2YgRFMuTW9kZWx9IHR5cGUK
|
3992
|
+
ICAgIEBwYXJhbSB7RFMuTW9kZWx9IHJlY29yZAogICAgQHJldHVybnMgUHJv
|
3993
|
+
bWlzZQogICovCiAgY3JlYXRlUmVjb3JkOiBmdW5jdGlvbihzdG9yZSwgdHlw
|
3994
|
+
ZSwgcmVjb3JkKSB7CiAgICB2YXIgZGF0YSA9IHt9OwogICAgZGF0YVt0eXBl
|
3995
|
+
LnR5cGVLZXldID0gdGhpcy5zZXJpYWxpemVyRm9yKHR5cGUudHlwZUtleSku
|
3996
|
+
c2VyaWFsaXplKHJlY29yZCwgeyBpbmNsdWRlSWQ6IHRydWUgfSk7CgogICAg
|
3997
|
+
cmV0dXJuIHRoaXMuYWpheCh0aGlzLmJ1aWxkVVJMKHR5cGUpLCAiUE9TVCIs
|
3998
|
+
IHsgZGF0YTogZGF0YSB9KTsKICB9LAoKICAvKioKICAgIENhbGxlZCBieSB0
|
3999
|
+
aGUgc3RvcmUgd2hlbiBhbiBleGlzdGluZyByZWNvcmQgaXMgYHNhdmVgZC4K
|
4000
|
+
CiAgICBJdCBzZXJpYWxpemVzIHRoZSByZWNvcmQsIGFuZCBgUE9TVGBzIGl0
|
4001
|
+
IHRvIGEgVVJMIGdlbmVyYXRlZCBieSBgYnVpbGRVUkxgLgoKICAgIFNlZSBg
|
4002
|
+
c2VyaWFsaXplYCBmb3IgaW5mb3JtYXRpb24gb24gaG93IHRvIGN1c3RvbWl6
|
4003
|
+
ZSB0aGUgc2VyaWFsaXplZCBmb3JtCiAgICBvZiBhIHJlY29yZC4KCiAgICBA
|
4004
|
+
bWV0aG9kIHVwZGF0ZVJlY29yZAogICAgQHNlZSBSRVNUQWRhcHRlci9idWls
|
4005
|
+
ZFVSTAogICAgQHNlZSBSRVNUQWRhcHRlci9hamF4CiAgICBAc2VlIFJFU1RB
|
4006
|
+
ZGFwdGVyL3NlcmlhbGl6ZQogICAgQHBhcmFtIHtEUy5TdG9yZX0gc3RvcmUK
|
4007
|
+
ICAgIEBwYXJhbSB7c3ViY2xhc3Mgb2YgRFMuTW9kZWx9IHR5cGUKICAgIEBw
|
4008
|
+
YXJhbSB7RFMuTW9kZWx9IHJlY29yZAogICAgQHJldHVybnMgUHJvbWlzZQog
|
4009
|
+
ICovCiAgdXBkYXRlUmVjb3JkOiBmdW5jdGlvbihzdG9yZSwgdHlwZSwgcmVj
|
4010
|
+
b3JkKSB7CiAgICB2YXIgZGF0YSA9IHt9OwogICAgZGF0YVt0eXBlLnR5cGVL
|
4011
|
+
ZXldID0gdGhpcy5zZXJpYWxpemVyRm9yKHR5cGUudHlwZUtleSkuc2VyaWFs
|
4012
|
+
aXplKHJlY29yZCk7CgogICAgdmFyIGlkID0gZ2V0KHJlY29yZCwgJ2lkJyk7
|
4013
|
+
CgogICAgcmV0dXJuIHRoaXMuYWpheCh0aGlzLmJ1aWxkVVJMKHR5cGUsIGlk
|
4014
|
+
KSwgIlBVVCIsIHsgZGF0YTogZGF0YSB9KTsKICB9LAoKICAvKioKICAgIENh
|
4015
|
+
bGxlZCBieSB0aGUgc3RvcmUgd2hlbiBhbiBkZWxldGVkIHJlY29yZCBpcyBg
|
4016
|
+
c2F2ZWBkLgoKICAgIEl0IHNlcmlhbGl6ZXMgdGhlIHJlY29yZCwgYW5kIGBQ
|
4017
|
+
T1NUYHMgaXQgdG8gYSBVUkwgZ2VuZXJhdGVkIGJ5IGBidWlsZFVSTGAuCgog
|
4018
|
+
ICAgQG1ldGhvZCBkZWxldGVSZWNvcmQKICAgIEBzZWUgUkVTVEFkYXB0ZXIv
|
4019
|
+
YnVpbGRVUkwKICAgIEBzZWUgUkVTVEFkYXB0ZXIvYWpheAogICAgQHNlZSBS
|
4020
|
+
RVNUQWRhcHRlci9zZXJpYWxpemUKICAgIEBwYXJhbSB7RFMuU3RvcmV9IHN0
|
4021
|
+
b3JlCiAgICBAcGFyYW0ge3N1YmNsYXNzIG9mIERTLk1vZGVsfSB0eXBlCiAg
|
4022
|
+
ICBAcGFyYW0ge0RTLk1vZGVsfSByZWNvcmQKICAgIEByZXR1cm5zIFByb21p
|
4023
|
+
c2UKICAqLwogIGRlbGV0ZVJlY29yZDogZnVuY3Rpb24oc3RvcmUsIHR5cGUs
|
4024
|
+
IHJlY29yZCkgewogICAgdmFyIGlkID0gZ2V0KHJlY29yZCwgJ2lkJyk7Cgog
|
4025
|
+
ICAgcmV0dXJuIHRoaXMuYWpheCh0aGlzLmJ1aWxkVVJMKHR5cGUsIGlkKSwg
|
4026
|
+
IkRFTEVURSIpOwogIH0sCgogIC8qKgogICAgQnVpbGRzIGEgVVJMIGZvciBh
|
4027
|
+
IGdpdmVuIHR5cGUgYW5kIG9wdGlvbmFsIElELgoKICAgIEJ5IGRlZmF1bHQs
|
4028
|
+
IGl0IHBsdXJhbGl6ZXMgdGhlIHR5cGUncyBuYW1lIChmb3IgZXhhbXBsZSwK
|
4029
|
+
ICAgICdwb3N0JyBiZWNvbWVzICdwb3N0cycgYW5kICdwZXJzb24nIGJlY29t
|
4030
|
+
ZXMgJ3Blb3BsZScpLgoKICAgIElmIGFuIElEIGlzIHNwZWNpZmllZCwgaXQg
|
4031
|
+
YWRkcyB0aGUgSUQgdG8gdGhlIHBsdXJhbCBmb3JtCiAgICBvZiB0aGUgdHlw
|
4032
|
+
ZSwgc2VwYXJhdGVkIGJ5IGEgYC9gLgoKICAgIEBtZXRob2QgYnVpbGRVUkwK
|
4033
|
+
ICAgIEBwYXJhbSB7c3ViY2xhc3Mgb2YgRFMuTW9kZWx9IHR5cGUKICAgIEBw
|
4034
|
+
YXJhbSB7U3RyaW5nfSBpZAogICAgQHJldHVybnMgU3RyaW5nCiAgKi8KICBi
|
4035
|
+
dWlsZFVSTDogZnVuY3Rpb24odHlwZSwgaWQpIHsKICAgIHZhciB1cmwgPSAi
|
4036
|
+
LyIgKyBFbWJlci5TdHJpbmcucGx1cmFsaXplKHR5cGUudHlwZUtleSk7CiAg
|
4037
|
+
ICBpZiAoaWQpIHsgdXJsICs9ICIvIiArIGlkOyB9CgogICAgcmV0dXJuIHVy
|
4038
|
+
bDsKICB9LAoKICBzZXJpYWxpemVyRm9yOiBmdW5jdGlvbih0eXBlKSB7CiAg
|
4039
|
+
ICAvLyBUaGlzIGxvZ2ljIGhhcyB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCBE
|
4040
|
+
Uy5TdG9yZSNzZXJpYWxpemVyRm9yCiAgICByZXR1cm4gdGhpcy5jb250YWlu
|
4041
|
+
ZXIubG9va3VwKCdzZXJpYWxpemVyOicgKyB0eXBlKSB8fAogICAgICAgICAg
|
4042
|
+
IHRoaXMuY29udGFpbmVyLmxvb2t1cCgnc2VyaWFsaXplcjphcHBsaWNhdGlv
|
4043
|
+
bicpIHx8CiAgICAgICAgICAgdGhpcy5jb250YWluZXIubG9va3VwKCdzZXJp
|
4044
|
+
YWxpemVyOl9yZXN0Jyk7CiAgfSwKCgogIC8qKgogICAgVGFrZXMgYSBVUkws
|
4045
|
+
IGFuIEhUVFAgbWV0aG9kIGFuZCBhIGhhc2ggb2YgZGF0YSwgYW5kIG1ha2Vz
|
4046
|
+
IGFuCiAgICBIVFRQIHJlcXVlc3QuCgogICAgV2hlbiB0aGUgc2VydmVyIHJl
|
4047
|
+
c3BvbmRzIHdpdGggYSBwYXlsb2FkLCBFbWJlciBEYXRhIHdpbGwgY2FsbCBp
|
4048
|
+
bnRvIGBleHRyYWN0U2luZ2xlYAogICAgb3IgYGV4dHJhY3RBcnJheWAgKGRl
|
4049
|
+
cGVuZGluZyBvbiB3aGV0aGVyIHRoZSBvcmlnaW5hbCBxdWVyeSB3YXMgZm9y
|
4050
|
+
IG9uZSByZWNvcmQgb3IKICAgIG1hbnkgcmVjb3JkcykuCgogICAgQnkgZGVm
|
4051
|
+
YXVsdCwgaXQgaGFzIHRoZSBmb2xsb3dpbmcgYmVoYXZpb3I6CgogICAgKiBJ
|
4052
|
+
dCBzZXRzIHRoZSByZXNwb25zZSBgZGF0YVR5cGVgIHRvIGAianNvbiJgCiAg
|
4053
|
+
ICAqIElmIHRoZSBIVFRQIG1ldGhvZCBpcyBub3QgYCJHRVQiYCwgaXQgc2V0
|
4054
|
+
cyB0aGUgYENvbnRlbnQtVHlwZWAgdG8gYmUKICAgICAgYGFwcGxpY2F0aW9u
|
4055
|
+
L2pzb247IGNoYXJzZXQ9dXRmLThgCiAgICAqIElmIHRoZSBIVFRQIG1ldGhv
|
4056
|
+
ZCBpcyBub3QgYCJHRVQiYCwgaXQgc3RyaW5naWZpZXMgdGhlIGRhdGEgcGFz
|
4057
|
+
c2VkIGluLiBUaGUKICAgICAgZGF0YSBpcyB0aGUgc2VyaWFsaXplZCByZWNv
|
4058
|
+
cmQgaW4gdGhlIGNhc2Ugb2YgYSBzYXZlLgogICAgKiBSZWdpc3RlcnMgc3Vj
|
4059
|
+
Y2VzcyBhbmQgZmFpbHVyZSBoYW5kbGVycy4KCiAgICBAbWV0aG9kIGFqYXgK
|
4060
|
+
ICAgIEBwcml2YXRlCiAgICBAcGFyYW0gIHVybAogICAgQHBhcmFtICB0eXBl
|
4061
|
+
CiAgICBAcGFyYW0gIGhhc2gKICAqLwogIGFqYXg6IGZ1bmN0aW9uKHVybCwg
|
4062
|
+
dHlwZSwgaGFzaCkgewogICAgdmFyIGFkYXB0ZXIgPSB0aGlzOwoKICAgIHJl
|
4063
|
+
dHVybiBuZXcgRW1iZXIuUlNWUC5Qcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUs
|
4064
|
+
IHJlamVjdCkgewogICAgICBoYXNoID0gaGFzaCB8fCB7fTsKICAgICAgaGFz
|
4065
|
+
aC51cmwgPSB1cmw7CiAgICAgIGhhc2gudHlwZSA9IHR5cGU7CiAgICAgIGhh
|
4066
|
+
c2guZGF0YVR5cGUgPSAnanNvbic7CiAgICAgIGhhc2guY29udGV4dCA9IGFk
|
4067
|
+
YXB0ZXI7CgogICAgICBpZiAoaGFzaC5kYXRhICYmIHR5cGUgIT09ICdHRVQn
|
4068
|
+
KSB7CiAgICAgICAgaGFzaC5jb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9q
|
4069
|
+
c29uOyBjaGFyc2V0PXV0Zi04JzsKICAgICAgICBoYXNoLmRhdGEgPSBKU09O
|
4070
|
+
LnN0cmluZ2lmeShoYXNoLmRhdGEpOwogICAgICB9CgogICAgICBpZiAoYWRh
|
4071
|
+
cHRlci5oZWFkZXJzICE9PSB1bmRlZmluZWQpIHsKICAgICAgICB2YXIgaGVh
|
4072
|
+
ZGVycyA9IGFkYXB0ZXIuaGVhZGVyczsKICAgICAgICBoYXNoLmJlZm9yZVNl
|
4073
|
+
bmQgPSBmdW5jdGlvbiAoeGhyKSB7CiAgICAgICAgICBFbWJlci5rZXlzKGhl
|
4074
|
+
YWRlcnMpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7CiAgICAgICAgICAgIHho
|
4075
|
+
ci5zZXRSZXF1ZXN0SGVhZGVyKGtleSwgaGVhZGVyc1trZXldKTsKICAgICAg
|
4076
|
+
ICAgIH0pOwogICAgICAgIH07CiAgICAgIH0KCiAgICAgIGhhc2guc3VjY2Vz
|
4077
|
+
cyA9IGZ1bmN0aW9uKGpzb24pIHsKICAgICAgICBFbWJlci5ydW4obnVsbCwg
|
4078
|
+
cmVzb2x2ZSwganNvbik7CiAgICAgIH07CgogICAgICBoYXNoLmVycm9yID0g
|
4079
|
+
ZnVuY3Rpb24oanFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7CiAg
|
4080
|
+
ICAgICAgaWYgKGpxWEhSKSB7CiAgICAgICAgICBqcVhIUi50aGVuID0gbnVs
|
4081
|
+
bDsKICAgICAgICB9CgogICAgICAgIEVtYmVyLnJ1bihudWxsLCByZWplY3Qs
|
4082
|
+
IGpxWEhSKTsKICAgICAgfTsKCiAgICAgIEVtYmVyLiQuYWpheChoYXNoKTsK
|
4083
|
+
ICAgIH0pOwogIH0KCn0pOwoKfSkoKTsKCgoKKGZ1bmN0aW9uKCkgewovKioK
|
4084
|
+
ICBAbW9kdWxlIGVtYmVyLWRhdGEKKi8KCn0pKCk7CgoKCihmdW5jdGlvbigp
|
4085
|
+
IHsKRFMuTW9kZWwucmVvcGVuKHsKCiAgLyoqCiAgIFByb3ZpZGVzIGluZm8g
|
4086
|
+
YWJvdXQgdGhlIG1vZGVsIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMKICAgYnkg
|
4087
|
+
Z3JvdXBpbmcgdGhlIHByb3BlcnRpZXMgaW50byBtb3JlIHNlbWFudGljIGdy
|
4088
|
+
b3Vwcy4KCiAgIE1lYW50IHRvIGJlIHVzZWQgYnkgZGVidWdnaW5nIHRvb2xz
|
4089
|
+
IHN1Y2ggYXMgdGhlIENocm9tZSBFbWJlciBFeHRlbnNpb24uCgogICAtIEdy
|
4090
|
+
b3VwcyBhbGwgYXR0cmlidXRlcyBpbiAiQXR0cmlidXRlcyIgZ3JvdXAuCiAg
|
4091
|
+
IC0gR3JvdXBzIGFsbCBiZWxvbmdzVG8gcmVsYXRpb25zaGlwcyBpbiAiQmVs
|
4092
|
+
b25ncyBUbyIgZ3JvdXAuCiAgIC0gR3JvdXBzIGFsbCBoYXNNYW55IHJlbGF0
|
4093
|
+
aW9uc2hpcHMgaW4gIkhhcyBNYW55IiBncm91cC4KICAgLSBHcm91cHMgYWxs
|
4094
|
+
IGZsYWdzIGluICJGbGFncyIgZ3JvdXAuCiAgIC0gRmxhZ3MgcmVsYXRpb25z
|
4095
|
+
aGlwIENQcyBhcyBleHBlbnNpdmUgcHJvcGVydGllcy4KICAqLwogIF9kZWJ1
|
4096
|
+
Z0luZm86IGZ1bmN0aW9uKCkgewogICAgdmFyIGF0dHJpYnV0ZXMgPSBbJ2lk
|
4097
|
+
J10sCiAgICAgICAgcmVsYXRpb25zaGlwcyA9IHsgYmVsb25nc1RvOiBbXSwg
|
4098
|
+
aGFzTWFueTogW10gfSwKICAgICAgICBleHBlbnNpdmVQcm9wZXJ0aWVzID0g
|
4099
|
+
W107CgogICAgdGhpcy5lYWNoQXR0cmlidXRlKGZ1bmN0aW9uKG5hbWUsIG1l
|
4100
|
+
dGEpIHsKICAgICAgYXR0cmlidXRlcy5wdXNoKG5hbWUpOwogICAgfSwgdGhp
|
4101
|
+
cyk7CgogICAgdGhpcy5lYWNoUmVsYXRpb25zaGlwKGZ1bmN0aW9uKG5hbWUs
|
4102
|
+
IHJlbGF0aW9uc2hpcCkgewogICAgICByZWxhdGlvbnNoaXBzW3JlbGF0aW9u
|
4103
|
+
c2hpcC5raW5kXS5wdXNoKG5hbWUpOwogICAgICBleHBlbnNpdmVQcm9wZXJ0
|
4104
|
+
aWVzLnB1c2gobmFtZSk7CiAgICB9KTsKCiAgICB2YXIgZ3JvdXBzID0gWwog
|
4105
|
+
ICAgICB7CiAgICAgICAgbmFtZTogJ0F0dHJpYnV0ZXMnLAogICAgICAgIHBy
|
4106
|
+
b3BlcnRpZXM6IGF0dHJpYnV0ZXMsCiAgICAgICAgZXhwYW5kOiB0cnVlLAog
|
4107
|
+
ICAgICB9LAogICAgICB7CiAgICAgICAgbmFtZTogJ0JlbG9uZ3MgVG8nLAog
|
4108
|
+
ICAgICAgIHByb3BlcnRpZXM6IHJlbGF0aW9uc2hpcHMuYmVsb25nc1RvLAog
|
4109
|
+
ICAgICAgIGV4cGFuZDogdHJ1ZQogICAgICB9LAogICAgICB7CiAgICAgICAg
|
4110
|
+
bmFtZTogJ0hhcyBNYW55JywKICAgICAgICBwcm9wZXJ0aWVzOiByZWxhdGlv
|
4111
|
+
bnNoaXBzLmhhc01hbnksCiAgICAgICAgZXhwYW5kOiB0cnVlCiAgICAgIH0s
|
4112
|
+
CiAgICAgIHsKICAgICAgICBuYW1lOiAnRmxhZ3MnLAogICAgICAgIHByb3Bl
|
4113
|
+
cnRpZXM6IFsnaXNMb2FkZWQnLCAnaXNEaXJ0eScsICdpc1NhdmluZycsICdp
|
4114
|
+
c0RlbGV0ZWQnLCAnaXNFcnJvcicsICdpc05ldycsICdpc1ZhbGlkJ10KICAg
|
4115
|
+
ICAgfQogICAgXTsKCiAgICByZXR1cm4gewogICAgICBwcm9wZXJ0eUluZm86
|
4116
|
+
IHsKICAgICAgICAvLyBpbmNsdWRlIGFsbCBvdGhlciBtaXhpbnMgLyBwcm9w
|
4117
|
+
ZXJ0aWVzIChub3QganVzdCB0aGUgZ3JvdXBlZCBvbmVzKQogICAgICAgIGlu
|
4118
|
+
Y2x1ZGVPdGhlclByb3BlcnRpZXM6IHRydWUsCiAgICAgICAgZ3JvdXBzOiBn
|
4119
|
+
cm91cHMsCiAgICAgICAgLy8gZG9uJ3QgcHJlLWNhbGN1bGF0ZSB1bmxlc3Mg
|
4120
|
+
Y2FjaGVkCiAgICAgICAgZXhwZW5zaXZlUHJvcGVydGllczogZXhwZW5zaXZl
|
4121
|
+
UHJvcGVydGllcwogICAgICB9CiAgICB9OwogIH0KCn0pOwoKfSkoKTsKCgoK
|
4122
|
+
KGZ1bmN0aW9uKCkgewovKioKICBAbW9kdWxlIGVtYmVyLWRhdGEKKi8KCn0p
|
4123
|
+
KCk7CgoKCihmdW5jdGlvbigpIHsKLy9Db3B5cmlnaHQgKEMpIDIwMTEgYnkg
|
4124
|
+
TGl2aW5nIFNvY2lhbCwgSW5jLgoKLy9QZXJtaXNzaW9uIGlzIGhlcmVieSBn
|
4125
|
+
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
|
4126
|
+
bmcgYSBjb3B5IG9mCi8vdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBk
|
4127
|
+
b2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwg
|
4128
|
+
aW4KLy90aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
|
4129
|
+
aW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvCi8vdXNlLCBj
|
4130
|
+
b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJs
|
4131
|
+
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMKLy9vZiB0aGUgU29mdHdhcmUs
|
4132
|
+
IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBp
|
4133
|
+
cyBmdXJuaXNoZWQgdG8gZG8KLy9zbywgc3ViamVjdCB0byB0aGUgZm9sbG93
|
4134
|
+
aW5nIGNvbmRpdGlvbnM6CgovL1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
|
4135
|
+
IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
|
4136
|
+
IGluIGFsbAovL2NvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0
|
4137
|
+
aGUgU29mdHdhcmUuCgovL1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMg
|
4138
|
+
SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9S
|
4139
|
+
Ci8vSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
|
4140
|
+
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi8vRklUTkVTUyBGT1Ig
|
4141
|
+
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4g
|
4142
|
+
Tk8gRVZFTlQgU0hBTEwgVEhFCi8vQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M
|
4143
|
+
REVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhF
|
4144
|
+
UgovL0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
|
4145
|
+
Q1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCi8vT1VUIE9G
|
4146
|
+
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVT
|
4147
|
+
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKLy9TT0ZUV0FSRS4KCi8qKgog
|
4148
|
+
IEVtYmVyIERhdGEKCiAgQG1vZHVsZSBlbWJlci1kYXRhCiAgQG1haW4gZW1i
|
4149
|
+
ZXItZGF0YQoqLwoKfSkoKTsKCg==
|
4150
|
+
http_version:
|
4151
|
+
recorded_at: Mon, 17 Feb 2014 11:45:23 GMT
|
4152
|
+
- request:
|
4153
|
+
method: get
|
4154
|
+
uri: http://builds.emberjs.com/tags/v1.0.0-beta.1/ember-data.min.js
|
4155
|
+
body:
|
4156
|
+
encoding: US-ASCII
|
4157
|
+
string: ''
|
4158
|
+
headers:
|
4159
|
+
Accept-Encoding:
|
4160
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
4161
|
+
Accept:
|
4162
|
+
- '*/*'
|
4163
|
+
User-Agent:
|
4164
|
+
- Ruby
|
4165
|
+
Host:
|
4166
|
+
- builds.emberjs.com
|
4167
|
+
response:
|
4168
|
+
status:
|
4169
|
+
code: 200
|
4170
|
+
message: OK
|
4171
|
+
headers:
|
4172
|
+
X-Amz-Id-2:
|
4173
|
+
- dhcnXvFIaQzLDo1KXXC8kCGb0g8og6oYgO2pDcEXbFsVndVrIG/qtA9qu9PbSbEe
|
4174
|
+
X-Amz-Request-Id:
|
4175
|
+
- DE1DE9B79D7D5B2D
|
4176
|
+
Date:
|
4177
|
+
- Mon, 17 Feb 2014 11:45:25 GMT
|
4178
|
+
Last-Modified:
|
4179
|
+
- Sun, 01 Sep 2013 07:45:27 GMT
|
4180
|
+
Etag:
|
4181
|
+
- '"7066a174c8ef121fbcc734c19087d271"'
|
4182
|
+
Content-Type:
|
4183
|
+
- text/javascript
|
4184
|
+
Content-Length:
|
4185
|
+
- '4008'
|
4186
|
+
Server:
|
4187
|
+
- AmazonS3
|
4188
|
+
body:
|
4189
|
+
encoding: ASCII-8BIT
|
4190
|
+
string: !binary |-
|
4191
|
+
Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
|
4192
|
+
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gUHJvamVjdDog
|
4193
|
+
ICBFbWJlciBEYXRhCi8vIENvcHlyaWdodDogwqkyMDExLTIwMTIgVGlsZGUg
|
4194
|
+
SW5jLiBhbmQgY29udHJpYnV0b3JzLgovLyAgICAgICAgICAgIFBvcnRpb25z
|
4195
|
+
IMKpMjAxMSBMaXZpbmcgU29jaWFsIEluYy4gYW5kIGNvbnRyaWJ1dG9ycy4K
|
4196
|
+
Ly8gTGljZW5zZTogICBMaWNlbnNlZCB1bmRlciBNSVQgbGljZW5zZSAoc2Vl
|
4197
|
+
IGxpY2Vuc2UuanMpCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09
|
4198
|
+
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
|
4199
|
+
CgoKCi8vIFZlcnNpb246IHYxLjAuMC1iZXRhLjEKLy8gTGFzdCBjb21taXQ6
|
4200
|
+
IGNhZmFiOWQgKDIwMTMtMDktMDEgMDA6NDI6MzkgLTA3MDApCgoKIWZ1bmN0
|
4201
|
+
aW9uKCl7dmFyIGUsaTshZnVuY3Rpb24oKXt2YXIgcj17fSxzPXt9O2U9ZnVu
|
4202
|
+
Y3Rpb24oZSxpLHMpe3JbZV09e2RlcHM6aSxjYWxsYmFjazpzfX0saT1mdW5j
|
4203
|
+
dGlvbihlKXtpZihzW2VdKXJldHVybiBzW2VdO3NbZV09e307dmFyIG4sdCx1
|
4204
|
+
LG8sYTtpZihuPXJbZV0sIW4pdGhyb3cgbmV3IEVycm9yKCJNb2R1bGUgJyIr
|
4205
|
+
ZSsiJyBub3QgZm91bmQuIik7dD1uLmRlcHMsdT1uLmNhbGxiYWNrLG89W107
|
4206
|
+
Zm9yKHZhciBsPTAsJD10Lmxlbmd0aDskPmw7bCsrKSJleHBvcnRzIj09PXRb
|
4207
|
+
bF0/by5wdXNoKGE9e30pOm8ucHVzaChpKHRbbF0pKTt2YXIgYz11LmFwcGx5
|
4208
|
+
KHRoaXMsbyk7cmV0dXJuIHNbZV09YXx8Y319KCksZnVuY3Rpb24oKXtFbWJl
|
4209
|
+
ci5TdHJpbmcucGx1cmFsaXplPWZ1bmN0aW9uKGUpe3JldHVybiBFbWJlci5J
|
4210
|
+
bmZsZWN0b3IuaW5mbGVjdG9yLnBsdXJhbGl6ZShlKX0sRW1iZXIuU3RyaW5n
|
4211
|
+
LnNpbmd1bGFyaXplPWZ1bmN0aW9uKGUpe3JldHVybiBFbWJlci5JbmZsZWN0
|
4212
|
+
b3IuaW5mbGVjdG9yLnNpbmd1bGFyaXplKGUpfX0oKSxmdW5jdGlvbigpe2Z1
|
4213
|
+
bmN0aW9uIGUoZSxpKXtmb3IodmFyIHI9MCxzPWkubGVuZ3RoO3M+cjtyKysp
|
4214
|
+
ZS51bmNvdW50YWJsZVtpW3JdXT0hMH1mdW5jdGlvbiBpKGUsaSl7Zm9yKHZh
|
4215
|
+
ciByLHM9MCxuPWkubGVuZ3RoO24+cztzKyspcj1pW3NdLGUuaXJyZWd1bGFy
|
4216
|
+
W3JbMF1dPXJbMV0sZS5pcnJlZ3VsYXJJbnZlcnNlW3JbMV1dPXJbMF19ZnVu
|
4217
|
+
Y3Rpb24gcihyKXtyPXJ8fHt9LHIudW5jb3VudGFibGU9ci51bmNvdW50YWJs
|
4218
|
+
ZXx8e30sci5pcnJlZ3VsYXJQYWlycz1yLmlycmVndWxhclBhaXJzfHx7fTt2
|
4219
|
+
YXIgcz10aGlzLnJ1bGVzPXtwbHVyYWxzOnIucGx1cmFsc3x8W10sc2luZ3Vs
|
4220
|
+
YXI6ci5zaW5ndWxhcnx8W10saXJyZWd1bGFyOnt9LGlycmVndWxhckludmVy
|
4221
|
+
c2U6e30sdW5jb3VudGFibGU6e319O2UocyxyLnVuY291bnRhYmxlKSxpKHMs
|
4222
|
+
ci5pcnJlZ3VsYXJQYWlycyl9dmFyIHM9L15ccyokLztyLnByb3RvdHlwZT17
|
4223
|
+
cGx1cmFsaXplOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmluZmxlY3QoZSx0
|
4224
|
+
aGlzLnJ1bGVzLnBsdXJhbHMpfSxzaW5ndWxhcml6ZTpmdW5jdGlvbihlKXty
|
4225
|
+
ZXR1cm4gdGhpcy5pbmZsZWN0KGUsdGhpcy5ydWxlcy5zaW5ndWxhcil9LGlu
|
4226
|
+
ZmxlY3Q6ZnVuY3Rpb24oZSxpKXt2YXIgcixuLHQsdSxvLGEsbCwkLGM7aWYo
|
4227
|
+
bz1zLnRlc3QoZSkpcmV0dXJuIGU7aWYodT1lLnRvTG93ZXJDYXNlKCksYT10
|
4228
|
+
aGlzLnJ1bGVzLnVuY291bnRhYmxlW3VdKXJldHVybiBlO2lmKGw9dGhpcy5y
|
4229
|
+
dWxlcy5pcnJlZ3VsYXJbdV0pcmV0dXJuIGw7aWYoJD10aGlzLnJ1bGVzLmly
|
4230
|
+
cmVndWxhckludmVyc2VbdV0pcmV0dXJuICQ7Zm9yKHZhciBmPWkubGVuZ3Ro
|
4231
|
+
LHA9MDtmPnAmJihyPWlbZi0xXSxjPXJbMF0sIWMudGVzdChlKSk7Zi0tKTty
|
4232
|
+
ZXR1cm4gcj1yfHxbXSxjPXJbMF0sbj1yWzFdLHQ9ZS5yZXBsYWNlKGMsbil9
|
4233
|
+
fSxFbWJlci5JbmZsZWN0b3I9cn0oKSxmdW5jdGlvbigpe0VtYmVyLkluZmxl
|
4234
|
+
Y3Rvci5kZWZhdWx0UnVsZXM9e3BsdXJhbHM6W1svJC8sInMiXSxbL3MkL2ks
|
4235
|
+
InMiXSxbL14oYXh8dGVzdClpcyQvaSwiJDFlcyJdLFsvKG9jdG9wfHZpcil1
|
4236
|
+
cyQvaSwiJDFpIl0sWy8ob2N0b3B8dmlyKWkkL2ksIiQxaSJdLFsvKGFsaWFz
|
4237
|
+
fHN0YXR1cykkL2ksIiQxZXMiXSxbLyhidSlzJC9pLCIkMXNlcyJdLFsvKGJ1
|
4238
|
+
ZmZhbHx0b21hdClvJC9pLCIkMW9lcyJdLFsvKFt0aV0pdW0kL2ksIiQxYSJd
|
4239
|
+
LFsvKFt0aV0pYSQvaSwiJDFhIl0sWy9zaXMkL2ksInNlcyJdLFsvKD86KFte
|
4240
|
+
Zl0pZmV8KFtscl0pZikkL2ksIiQxJDJ2ZXMiXSxbLyhoaXZlKSQvaSwiJDFz
|
4241
|
+
Il0sWy8oW15hZWlvdXldfHF1KXkkL2ksIiQxaWVzIl0sWy8oeHxjaHxzc3xz
|
4242
|
+
aCkkL2ksIiQxZXMiXSxbLyhtYXRyfHZlcnR8aW5kKSg/Oml4fGV4KSQvaSwi
|
4243
|
+
JDFpY2VzIl0sWy9eKG18bClvdXNlJC9pLCIkMWljZSJdLFsvXihtfGwpaWNl
|
4244
|
+
JC9pLCIkMWljZSJdLFsvXihveCkkL2ksIiQxZW4iXSxbL14ob3hlbikkL2ks
|
4245
|
+
IiQxIl0sWy8ocXVpeikkL2ksIiQxemVzIl1dLHNpbmd1bGFyOltbL3MkL2ks
|
4246
|
+
IiJdLFsvKHNzKSQvaSwiJDEiXSxbLyhuKWV3cyQvaSwiJDFld3MiXSxbLyhb
|
4247
|
+
dGldKWEkL2ksIiQxdW0iXSxbLygoYSluYWx5fChiKWF8KGQpaWFnbm98KHAp
|
4248
|
+
YXJlbnRoZXwocClyb2dub3wocyl5bm9wfCh0KWhlKShzaXN8c2VzKSQvaSwi
|
4249
|
+
JDFzaXMiXSxbLyheYW5hbHkpKHNpc3xzZXMpJC9pLCIkMXNpcyJdLFsvKFte
|
4250
|
+
Zl0pdmVzJC9pLCIkMWZlIl0sWy8oaGl2ZSlzJC9pLCIkMSJdLFsvKHRpdmUp
|
4251
|
+
cyQvaSwiJDEiXSxbLyhbbHJdKXZlcyQvaSwiJDFmIl0sWy8oW15hZWlvdXld
|
4252
|
+
fHF1KWllcyQvaSwiJDF5Il0sWy8ocyllcmllcyQvaSwiJDFlcmllcyJdLFsv
|
4253
|
+
KG0pb3ZpZXMkL2ksIiQxb3ZpZSJdLFsvKHh8Y2h8c3N8c2gpZXMkL2ksIiQx
|
4254
|
+
Il0sWy9eKG18bClpY2UkL2ksIiQxb3VzZSJdLFsvKGJ1cykoZXMpPyQvaSwi
|
4255
|
+
JDEiXSxbLyhvKWVzJC9pLCIkMSJdLFsvKHNob2UpcyQvaSwiJDEiXSxbLyhj
|
4256
|
+
cmlzfHRlc3QpKGlzfGVzKSQvaSwiJDFpcyJdLFsvXihhKXhbaWVdcyQvaSwi
|
4257
|
+
JDF4aXMiXSxbLyhvY3RvcHx2aXIpKHVzfGkpJC9pLCIkMXVzIl0sWy8oYWxp
|
4258
|
+
YXN8c3RhdHVzKShlcyk/JC9pLCIkMSJdLFsvXihveCllbi9pLCIkMSJdLFsv
|
4259
|
+
KHZlcnR8aW5kKWljZXMkL2ksIiQxZXgiXSxbLyhtYXRyKWljZXMkL2ksIiQx
|
4260
|
+
aXgiXSxbLyhxdWl6KXplcyQvaSwiJDEiXSxbLyhkYXRhYmFzZSlzJC9pLCIk
|
4261
|
+
MSJdXSxpcnJlZ3VsYXJQYWlyczpbWyJwZXJzb24iLCJwZW9wbGUiXSxbIm1h
|
4262
|
+
biIsIm1lbiJdLFsiY2hpbGQiLCJjaGlsZHJlbiJdLFsic2V4Iiwic2V4ZXMi
|
4263
|
+
XSxbIm1vdmUiLCJtb3ZlcyJdLFsiY293Iiwia2luZSJdLFsiem9tYmllIiwi
|
4264
|
+
em9tYmllcyJdXSx1bmNvdW50YWJsZTpbImVxdWlwbWVudCIsImluZm9ybWF0
|
4265
|
+
aW9uIiwicmljZSIsIm1vbmV5Iiwic3BlY2llcyIsInNlcmllcyIsImZpc2gi
|
4266
|
+
LCJzaGVlcCIsImplYW5zIiwicG9saWNlIl19fSgpLGZ1bmN0aW9uKCl7RW1i
|
4267
|
+
ZXIuRVhURU5EX1BST1RPVFlQRVMmJihTdHJpbmcucHJvdG90eXBlLnBsdXJh
|
4268
|
+
bGl6ZT1mdW5jdGlvbigpe3JldHVybiBFbWJlci5TdHJpbmcucGx1cmFsaXpl
|
4269
|
+
KHRoaXMpfSxTdHJpbmcucHJvdG90eXBlLnNpbmd1bGFyaXplPWZ1bmN0aW9u
|
4270
|
+
KCl7cmV0dXJuIEVtYmVyLlN0cmluZy5zaW5ndWxhcml6ZSh0aGlzKX0pfSgp
|
4271
|
+
LGZ1bmN0aW9uKCl7RW1iZXIuSW5mbGVjdG9yLmluZmxlY3Rvcj1uZXcgRW1i
|
4272
|
+
ZXIuSW5mbGVjdG9yKEVtYmVyLkluZmxlY3Rvci5kZWZhdWx0UnVsZXMpfSgp
|
4273
|
+
fSgpLCJ1bmRlZmluZWQiPT10eXBlb2YgbG9jYXRpb258fCJsb2NhbGhvc3Qi
|
4274
|
+
IT09bG9jYXRpb24uaG9zdG5hbWUmJiIxMjcuMC4wLjEiIT09bG9jYXRpb24u
|
4275
|
+
aG9zdG5hbWV8fEVtYmVyLkxvZ2dlci53YXJuKCJZb3UgYXJlIHJ1bm5pbmcg
|
4276
|
+
YSBwcm9kdWN0aW9uIGJ1aWxkIG9mIEVtYmVyIG9uIGxvY2FsaG9zdCBhbmQg
|
4277
|
+
d29uJ3QgcmVjZWl2ZSBkZXRhaWxlZCBlcnJvciBtZXNzYWdlcy4gSWYgeW91
|
4278
|
+
IHdhbnQgZnVsbCBlcnJvciBtZXNzYWdlcyBwbGVhc2UgdXNlIHRoZSBub24t
|
4279
|
+
bWluaWZpZWQgYnVpbGQgcHJvdmlkZWQgb24gdGhlIEVtYmVyIHdlYnNpdGUu
|
4280
|
+
Iik7
|
4281
|
+
http_version:
|
4282
|
+
recorded_at: Mon, 17 Feb 2014 11:45:24 GMT
|
4283
|
+
recorded_with: VCR 2.8.0
|