docker-api 1.21.4 → 1.22.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01b22b7c07b68da5ef7636e62a9bd616bee56bd0
4
- data.tar.gz: 43478a354659ca1b4470b6e48a6af49309db6910
3
+ metadata.gz: f0a375a8c53e4a143b9bf9388a5dccd6e961e6cd
4
+ data.tar.gz: 9eb361fafb9cf48b6950a68b6054db0dded319f4
5
5
  SHA512:
6
- metadata.gz: d0b1313db76caad1ce1dd1fdc3cea840bc954ebded6e7a607e0918f2bf21f3f11f7dbf76661a960d5218d14216f70ef6197857d45a6fe79a0ee2556667ae478d
7
- data.tar.gz: c3cac5cea78c44cef53a8b7c0da31db8a31c5e915957d9f89fad3c48669219c156c6a868bff7bf1ba183da93e4d08c71cb35196d08e1f07872ec5d8c39a0aaca
6
+ metadata.gz: e3b3ca949b145e5696ef46bcb5ef9c3fe1636259af8a528deb3d372b907b4846cf6651eacca8c3fa9abd8409d68e82abfb6ff6151561af8ad81872c4d01bdd09
7
+ data.tar.gz: 07774657e5e160fe02ec60d987278820bb768b67567f23266c2bc41919ac9cf51dd89d39bef865787f02ee0978087cfeff1c3e9b99a1c9a3d269f0587da661d3
@@ -2,6 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
- - 2.0.0
6
- - 2.1.1
5
+ - 2.0
6
+ - 2.1
7
+ - 2.2
7
8
  script: bundle exec rake
@@ -26,6 +26,7 @@ module Docker
26
26
  require 'docker/event'
27
27
  require 'docker/exec'
28
28
  require 'docker/image'
29
+ require 'docker/messages_stack'
29
30
  require 'docker/messages'
30
31
  require 'docker/util'
31
32
  require 'docker/version'
@@ -6,7 +6,7 @@ module Docker::Base
6
6
  attr_accessor :connection, :info
7
7
  attr_reader :id
8
8
 
9
- # The private new method accepts a connection and optional id.
9
+ # The private new method accepts a connection and a hash of options that must include an id.
10
10
  def initialize(connection, hash={})
11
11
  unless connection.is_a?(Docker::Connection)
12
12
  raise ArgumentError, "Expected a Docker::Connection, got: #{connection}."
@@ -146,11 +146,12 @@ class Docker::Container
146
146
  end
147
147
 
148
148
  def streaming_logs(opts = {}, &block)
149
- msgs = Docker::Messages.new
150
- excon_params = {response_block: Docker::Util.attach_for(block, msgs, false)}
149
+ stack_size = opts.delete('stack_size') || -1
150
+ msgs = Docker::MessagesStack.new(stack_size)
151
+ excon_params = {response_block: Docker::Util.attach_for_multiplex(block, msgs)}
151
152
 
152
153
  connection.get(path_for(:logs), opts, excon_params)
153
- msgs.all_messages.join
154
+ msgs.messages.join
154
155
  end
155
156
 
156
157
  def start!(opts = {})
@@ -0,0 +1,25 @@
1
+ # This class represents a messages stack
2
+ class Docker::MessagesStack
3
+
4
+ attr_accessor :messages
5
+
6
+ # Initialize stack with optional size
7
+ #
8
+ # @param size [Integer]
9
+ def initialize(size = -1)
10
+ @messages = []
11
+ @size = size
12
+ end
13
+
14
+ # Append messages to stack
15
+ #
16
+ # @param messages [Docker::Messages]
17
+ def append(messages)
18
+ return if @size == 0
19
+
20
+ messages.all_messages.each do |msg|
21
+ @messages << msg
22
+ @messages.shift if @size > -1 && @messages.size > @size
23
+ end
24
+ end
25
+ end
@@ -178,7 +178,7 @@ module Docker::Util
178
178
  end
179
179
 
180
180
  def extract_id(body)
181
- body.lines.to_a.reverse.each do |line|
181
+ body.lines.reverse_each do |line|
182
182
  if (id = line.match(/Successfully built ([a-f0-9]+)/)) && !id[1].empty?
183
183
  return id[1]
184
184
  end
@@ -1,6 +1,6 @@
1
1
  module Docker
2
2
  # The version of the docker-api gem.
3
- VERSION = '1.21.4'
3
+ VERSION = '1.22.0'
4
4
 
5
5
  # The version of the compatible Docker remote API.
6
6
  API_VERSION = '1.16'
@@ -84,7 +84,7 @@ describe Docker::Image do
84
84
  )
85
85
  }
86
86
  let(:container) { new_image.run('ls -a /lib/docker') }
87
- let(:response) { container.streaming_logs(stdout: true) }
87
+ let(:response) { container.tap(&:wait).streaming_logs(stdout: true) }
88
88
  after do
89
89
  container.tap(&:wait).remove
90
90
  new_image.remove
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Docker::MessagesStack do
4
+
5
+ describe '#append' do
6
+ context 'without limits' do |variable|
7
+ it 'does not limit stack size by default' do
8
+ data = ['foo', 'bar']
9
+ msg = Docker::Messages.new(data, [], data)
10
+ expect(subject.messages).not_to receive(:shift)
11
+ 1000.times { subject.append(msg) }
12
+ end
13
+ end
14
+
15
+ context 'with size limit' do
16
+ let(:subject) { described_class.new(100) }
17
+
18
+ it 'limits stack to given size' do
19
+ data = ['foo', 'bar']
20
+ msg = Docker::Messages.new(data, [], data)
21
+ expect(subject.messages).to receive(:shift).exactly(1900).times
22
+ 1000.times { subject.append(msg) }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: <DOCKER_HOST>/v1.16/images/create?fromImage=debian%3Awheezy
5
+ uri: "<DOCKER_HOST>/v1.16/images/create?fromImage=debian%3Awheezy"
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Swipely/Docker-API 1.18.0
11
+ - Swipely/Docker-API 1.21.4
12
12
  Content-Type:
13
13
  - text/plain
14
14
  response:
@@ -19,26 +19,27 @@ http_interactions:
19
19
  Content-Type:
20
20
  - application/json
21
21
  Date:
22
- - Thu, 12 Feb 2015 00:55:00 GMT
22
+ - Sun, 12 Jul 2015 09:21:21 GMT
23
23
  body:
24
- encoding: US-ASCII
25
- string: ! "{\"status\":\"The image you are pulling has been verified\",\"id\":\"debian:wheezy\"}\r\n{\"status\":\"Already
26
- exists\",\"progressDetail\":{},\"id\":\"511136ea3c5a\"}{\"status\":\"Already
27
- exists\",\"progressDetail\":{},\"id\":\"30d39e59ffe2\"}{\"status\":\"Already
28
- exists\",\"progressDetail\":{},\"id\":\"c90d655b99b2\"}{\"status\":\"Status:
24
+ encoding: UTF-8
25
+ string: "{\"status\":\"Pulling from debian\",\"id\":\"wheezy\"}\r\n{\"status\":\"Already
26
+ exists\",\"progressDetail\":{},\"id\":\"104de4492b99\"}{\"status\":\"Already
27
+ exists\",\"progressDetail\":{},\"id\":\"065218d54d7d\"}{\"status\":\"Already
28
+ exists\",\"progressDetail\":{},\"id\":\"065218d54d7d\"}{\"status\":\"Digest:
29
+ sha256:a4bee4ac81a50d07ef8aae88171b8cb1aff17f8f466622bd599153e62ead3b76\"}\r\n{\"status\":\"Status:
29
30
  Image is up to date for debian:wheezy\"}\r\n"
30
31
  http_version:
31
- recorded_at: Thu, 12 Feb 2015 00:55:00 GMT
32
+ recorded_at: Sun, 12 Jul 2015 09:21:21 GMT
32
33
  - request:
33
34
  method: post
34
- uri: <DOCKER_HOST>/v1.16/build
35
+ uri: "<DOCKER_HOST>/v1.16/build"
35
36
  body:
36
37
  encoding: UTF-8
37
38
  string: !binary |-
38
39
  bGliAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
39
40
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
40
- AAAAAAAAAAAAADAwMDA2NDAAMDAwMDAwMAAwMDAwMDAwADAwMDAwMTQ1MDAw
41
- ADAwMDAwMDAwMDAwADAxMTc0NAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
41
+ AAAAAAAAAAAAADAwMDA2NDAAMDAwMDAwMAAwMDAwMDAwADAwMDAwMTQ2MDAw
42
+ ADEyNTUwNDMwNjIxADAxMjAwMgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
42
43
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
43
44
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMHdoZWVs
44
45
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAA
@@ -46,257 +47,251 @@ http_interactions:
46
47
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
47
48
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
48
49
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
49
- AAAAAAAAAAAAAAAAAAAAAAAuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
50
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
51
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDA0MDc1NQAwMDAxNzUwADAw
52
- MDE3NTAAMDAwMDAwMDAwMDAAMTI0NjY3NzMxMDMAMDA2MTMxACA1AAAAAAAA
53
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
54
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
55
- AAAAAHVzdGFyADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
56
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
57
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
58
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
59
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
60
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRvY2tlcgAAAAAA
61
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
62
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw
63
- MDQwNzU1ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMDAwMAAxMjQ2Njc3MzEz
64
- NgAwMDcyNTEAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
65
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
66
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAA
67
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
50
+ AAAAAAAAAAAAAAAAAAAAAABkb2NrZXIvYmFzZS5yYgAAAAAAAAAAAAAAAAAA
68
51
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
52
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAw
53
+ MDAwMDAAMDAwMDAwMDE2MDEAMTI1MzYwMDY3MDQAMDE0MDI2ACAwAAAAAAAA
69
54
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
70
55
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
71
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
72
- AAAAAAAAZG9ja2VyL2Jhc2UucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
73
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
74
- AAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAw
75
- MDAxNTQzADEyMzYzMjI1MzY2ADAxMDU2MAAgMAAAAAAAAAAAAAAAAAAAAAAA
76
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
77
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAw
56
+ AAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3
57
+ aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAw
78
58
  MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
79
59
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
80
60
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
61
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhpcyBjbGFz
62
+ cyBpcyBhIGJhc2UgY2xhc3MgZm9yIERvY2tlciBDb250YWluZXIgYW5kIElt
63
+ YWdlLgojIEl0IGlzIGltcGxlbWVudGluZyBhY2Nlc3NvciBtZXRob2RzIGZv
64
+ ciB0aGUgbW9kZWxzIGF0dHJpYnV0ZXMuCm1vZHVsZSBEb2NrZXI6OkJhc2UK
65
+ ICBpbmNsdWRlIERvY2tlcjo6RXJyb3IKCiAgYXR0cl9hY2Nlc3NvciA6Y29u
66
+ bmVjdGlvbiwgOmluZm8KICBhdHRyX3JlYWRlciA6aWQKCiAgIyBUaGUgcHJp
67
+ dmF0ZSBuZXcgbWV0aG9kIGFjY2VwdHMgYSBjb25uZWN0aW9uIGFuZCBhIGhh
68
+ c2ggb2Ygb3B0aW9ucyB0aGF0IG11c3QgaW5jbHVkZSBhbiBpZC4KICBkZWYg
69
+ aW5pdGlhbGl6ZShjb25uZWN0aW9uLCBoYXNoPXt9KQogICAgdW5sZXNzIGNv
70
+ bm5lY3Rpb24uaXNfYT8oRG9ja2VyOjpDb25uZWN0aW9uKQogICAgICByYWlz
71
+ ZSBBcmd1bWVudEVycm9yLCAiRXhwZWN0ZWQgYSBEb2NrZXI6OkNvbm5lY3Rp
72
+ b24sIGdvdDogI3tjb25uZWN0aW9ufS4iCiAgICBlbmQKICAgIG5vcm1hbGl6
73
+ ZV9oYXNoKGhhc2gpCiAgICBAY29ubmVjdGlvbiwgQGluZm8sIEBpZCA9IGNv
74
+ bm5lY3Rpb24sIGhhc2gsIGhhc2hbJ2lkJ10KICAgIHJhaXNlIEFyZ3VtZW50
75
+ RXJyb3IsICJNdXN0IGhhdmUgaWQsIGdvdDogI3toYXNofSIgdW5sZXNzIEBp
76
+ ZAogIGVuZAoKICAjIFRoZSBkb2NrZXItYXBpIHdpbGwgc29tZSB0aW1lIHJl
77
+ dHVybiAiSUQiIG90aGVyIHRpbWVzIGl0IHdpbGwgcmV0dXJuICJJZCIKICAj
78
+ IGFuZCBvdGhlciB0aW1lcyBpdCB3aWxsIHJldHVybiAiaWQiLiBUaGlzIG1l
79
+ dGhvZCBub3JtYWxpemUgaXQgdG8gImlkIgogIGRlZiBub3JtYWxpemVfaGFz
80
+ aChoYXNoKQogICAgaGFzaFsiaWQiXSB8fD0gaGFzaC5kZWxldGUoIklEIikg
81
+ fHwgaGFzaC5kZWxldGUoIklkIikKICBlbmQKZW5kCgAAAAAAAAAAAAAAAAAA
82
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
83
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
84
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkb2NrZXIvY29ubmVjdGlvbi5yYgAA
85
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
86
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAw
87
+ MDAwADAwMDAwMDAAMDAwMDAwMDYwNzAAMTI1MzYwMDY3MDQAMDE1MjYwACAw
88
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
89
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
90
+ AAAAAAAAAAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
91
+ AAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAA
92
+ MDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
93
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
94
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
95
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhp
96
+ cyBjbGFzcyByZXByZXNlbnRzIGEgQ29ubmVjdGlvbiB0byBhIERvY2tlciBz
97
+ ZXJ2ZXIuIFRoZSBDb25uZWN0aW9uIGlzCiMgaW1tdXRhYmxlIGluIHRoYXQg
98
+ b25jZSB0aGUgdXJsIGFuZCBvcHRpb25zIGlzIHNldCB0aGV5IGNhbm5vdCBi
99
+ ZSBjaGFuZ2VkLgpjbGFzcyBEb2NrZXI6OkNvbm5lY3Rpb24KICBpbmNsdWRl
100
+ IERvY2tlcjo6RXJyb3IKCiAgYXR0cl9yZWFkZXIgOnVybCwgOm9wdGlvbnMK
101
+ CiAgIyBDcmVhdGUgYSBuZXcgQ29ubmVjdGlvbi4gVGhpcyBtZXRob2QgdGFr
102
+ ZXMgYSB1cmwgKFN0cmluZykgYW5kIG9wdGlvbnMKICAjIChIYXNoKS4gVGhl
103
+ c2UgYXJlIHBhc3NlZCB0byBFeGNvbiwgc28gYW55IG9wdGlvbnMgdmFsaWQg
104
+ Zm9yIGBFeGNvbi5uZXdgCiAgIyBjYW4gYmUgcGFzc2VkIGhlcmUuCiAgZGVm
105
+ IGluaXRpYWxpemUodXJsLCBvcHRzKQogICAgY2FzZQogICAgd2hlbiAhdXJs
106
+ LmlzX2E/KFN0cmluZykKICAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIkV4
107
+ cGVjdGVkIGEgU3RyaW5nLCBnb3Q6ICcje3VybH0nIgogICAgd2hlbiAhb3B0
108
+ cy5pc19hPyhIYXNoKQogICAgICByYWlzZSBBcmd1bWVudEVycm9yLCAiRXhw
109
+ ZWN0ZWQgYSBIYXNoLCBnb3Q6ICcje29wdHN9JyIKICAgIGVsc2UKICAgICAg
110
+ dXJpID0gVVJJLnBhcnNlKHVybCkKICAgICAgaWYgdXJpLnNjaGVtZSA9PSAi
111
+ dW5peCIKICAgICAgICBAdXJsLCBAb3B0aW9ucyA9ICd1bml4Oi8vLycsIHs6
112
+ c29ja2V0ID0+IHVyaS5wYXRofS5tZXJnZShvcHRzKQogICAgICBlbHNpZiB1
113
+ cmkuc2NoZW1lID1+IC9eKGh0dHBzP3x0Y3ApJC8KICAgICAgICBAdXJsLCBA
114
+ b3B0aW9ucyA9IHVybCwgb3B0cwogICAgICBlbHNlCiAgICAgICAgQHVybCwg
115
+ QG9wdGlvbnMgPSAiaHR0cDovLyN7dXJpfSIsIG9wdHMKICAgICAgZW5kCiAg
116
+ ICBlbmQKICBlbmQKCiAgIyBUaGUgYWN0dWFsIGNsaWVudCB0aGF0IHNlbmRz
117
+ IEhUVFAgbWV0aG9kcyB0byB0aGUgRG9ja2VyIHNlcnZlci4gVGhpcyB2YWx1
118
+ ZQogICMgaXMgbm90IGNhY2hlZCwgc2luY2UgZG9pbmcgc28gbWF5IGNhdXNl
119
+ IHNvY2tldCBlcnJvcnMgYWZ0ZXIgYmFkIHJlcXVlc3RzLgogIGRlZiByZXNv
120
+ dXJjZQogICAgRXhjb24ubmV3KHVybCwgb3B0aW9ucykKICBlbmQKICBwcml2
121
+ YXRlIDpyZXNvdXJjZQoKICAjIFNlbmQgYSByZXF1ZXN0IHRvIHRoZSBzZXJ2
122
+ ZXIgd2l0aCB0aGUgYAogIGRlZiByZXF1ZXN0KCphcmdzLCAmYmxvY2spCiAg
123
+ ICByZXF1ZXN0ID0gY29tcGlsZV9yZXF1ZXN0X3BhcmFtcygqYXJncywgJmJs
124
+ b2NrKQogICAgbG9nX3JlcXVlc3QocmVxdWVzdCkKICAgIHJlc291cmNlLnJl
125
+ cXVlc3QocmVxdWVzdCkuYm9keQogIHJlc2N1ZSBFeGNvbjo6RXJyb3JzOjpC
126
+ YWRSZXF1ZXN0ID0+IGV4CiAgICByYWlzZSBDbGllbnRFcnJvciwgZXgucmVz
127
+ cG9uc2UuYm9keQogIHJlc2N1ZSBFeGNvbjo6RXJyb3JzOjpVbmF1dGhvcml6
128
+ ZWQgPT4gZXgKICAgIHJhaXNlIFVuYXV0aG9yaXplZEVycm9yLCBleC5yZXNw
129
+ b25zZS5ib2R5CiAgcmVzY3VlIEV4Y29uOjpFcnJvcnM6Ok5vdEZvdW5kID0+
130
+ IGV4CiAgICByYWlzZSBOb3RGb3VuZEVycm9yLCBleC5yZXNwb25zZS5ib2R5
131
+ CiAgcmVzY3VlIEV4Y29uOjpFcnJvcnM6OkNvbmZsaWN0ID0+IGV4CiAgICBy
132
+ YWlzZSBDb25mbGljdEVycm9yLCBleC5yZXNwb25zZS5ib2R5CiAgcmVzY3Vl
133
+ IEV4Y29uOjpFcnJvcnM6OkludGVybmFsU2VydmVyRXJyb3IgPT4gZXgKICAg
134
+ IHJhaXNlIFNlcnZlckVycm9yLCBleC5yZXNwb25zZS5ib2R5CiAgcmVzY3Vl
135
+ IEV4Y29uOjpFcnJvcnM6OlRpbWVvdXQgPT4gZXgKICAgIHJhaXNlIFRpbWVv
136
+ dXRFcnJvciwgZXgubWVzc2FnZQogIGVuZAoKICBkZWYgbG9nX3JlcXVlc3Qo
137
+ cmVxdWVzdCkKICAgIGlmIERvY2tlci5sb2dnZXIKICAgICAgRG9ja2VyLmxv
138
+ Z2dlci5kZWJ1ZygKICAgICAgICBbcmVxdWVzdFs6bWV0aG9kXSwgcmVxdWVz
139
+ dFs6cGF0aF0sIHJlcXVlc3RbOnF1ZXJ5XSwgcmVxdWVzdFs6Ym9keV1dCiAg
140
+ ICAgICkKICAgIGVuZAogIGVuZAoKICAjIERlbGVnYXRlIGFsbCBIVFRQIG1l
141
+ dGhvZHMgdG8gdGhlICNyZXF1ZXN0LgogIFs6Z2V0LCA6cHV0LCA6cG9zdCwg
142
+ OmRlbGV0ZV0uZWFjaCBkbyB8bWV0aG9kfAogICAgZGVmaW5lX21ldGhvZCht
143
+ ZXRob2QpIHsgfCphcmdzLCAmYmxvY2t8IHJlcXVlc3QobWV0aG9kLCAqYXJn
144
+ cywgJmJsb2NrKSB9CiAgZW5kCgogIGRlZiB0b19zCiAgICAiRG9ja2VyOjpD
145
+ b25uZWN0aW9uIHsgOnVybCA9PiAje3VybH0sIDpvcHRpb25zID0+ICN7b3B0
146
+ aW9uc30gfSIKICBlbmQKCnByaXZhdGUKICAjIEdpdmVuIGFuIEhUVFAgbWV0
147
+ aG9kLCBwYXRoLCBvcHRpb25hbCBxdWVyeSwgZXh0cmEgb3B0aW9ucywgYW5k
148
+ IGJsb2NrLAogICMgY29tcGlsZXMgYSByZXF1ZXN0LgogIGRlZiBjb21waWxl
149
+ X3JlcXVlc3RfcGFyYW1zKGh0dHBfbWV0aG9kLCBwYXRoLCBxdWVyeSA9IG5p
150
+ bCwgb3B0cyA9IG5pbCwgJmJsb2NrKQogICAgcXVlcnkgfHw9IHt9CiAgICBv
151
+ cHRzIHx8PSB7fQogICAgaGVhZGVycyA9IG9wdHMuZGVsZXRlKDpoZWFkZXJz
152
+ KSB8fCB7fQogICAgY29udGVudF90eXBlID0gb3B0c1s6Ym9keV0ubmlsPyA/
153
+ ICAndGV4dC9wbGFpbicgOiAnYXBwbGljYXRpb24vanNvbicKICAgIHVzZXJf
154
+ YWdlbnQgPSAiU3dpcGVseS9Eb2NrZXItQVBJICN7RG9ja2VyOjpWRVJTSU9O
155
+ fSIKICAgIHsKICAgICAgOm1ldGhvZCAgICAgICAgPT4gaHR0cF9tZXRob2Qs
156
+ CiAgICAgIDpwYXRoICAgICAgICAgID0+ICIvdiN7RG9ja2VyOjpBUElfVkVS
157
+ U0lPTn0je3BhdGh9IiwKICAgICAgOnF1ZXJ5ICAgICAgICAgPT4gcXVlcnks
158
+ CiAgICAgIDpoZWFkZXJzICAgICAgID0+IHsgJ0NvbnRlbnQtVHlwZScgPT4g
159
+ Y29udGVudF90eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICdVc2Vy
160
+ LUFnZW50JyAgID0+IHVzZXJfYWdlbnQsCiAgICAgICAgICAgICAgICAgICAg
161
+ ICAgIH0ubWVyZ2UoaGVhZGVycyksCiAgICAgIDpleHBlY3RzICAgICAgID0+
162
+ ICgyMDAuLjIwNCkudG9fYSA8PCAzMDQsCiAgICAgIDppZGVtcG90ZW50ICAg
163
+ ID0+IGh0dHBfbWV0aG9kID09IDpnZXQsCiAgICAgIDpyZXF1ZXN0X2Jsb2Nr
164
+ ID0+IGJsb2NrCiAgICB9Lm1lcmdlKG9wdHMpLnJlamVjdCB7IHxfLCB2fCB2
165
+ Lm5pbD8gfQogIGVuZAplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
166
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
167
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
168
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
169
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
170
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
171
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
172
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
173
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
174
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
175
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZG9ja2VyL2NvbnRhaW5lci5yYgAA
176
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
177
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAw
178
+ MDAwMAAwMDAwMDAwADAwMDAwMDE2NzYxADEyNTUwNDIzNjYyADAxNTExNQAg
179
+ MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
81
180
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
82
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
83
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMgY2xhc3MgaXMgYSBiYXNl
84
- IGNsYXNzIGZvciBEb2NrZXIgQ29udGFpbmVyIGFuZCBJbWFnZS4KIyBJdCBp
85
- cyBpbXBsZW1lbnRpbmcgYWNjZXNzb3IgbWV0aG9kcyBmb3IgdGhlIG1vZGVs
86
- cyBhdHRyaWJ1dGVzLgptb2R1bGUgRG9ja2VyOjpCYXNlCiAgaW5jbHVkZSBE
87
- b2NrZXI6OkVycm9yCgogIGF0dHJfYWNjZXNzb3IgOmNvbm5lY3Rpb24sIDpp
88
- bmZvCiAgYXR0cl9yZWFkZXIgOmlkCgogICMgVGhlIHByaXZhdGUgbmV3IG1l
89
- dGhvZCBhY2NlcHRzIGEgY29ubmVjdGlvbiBhbmQgb3B0aW9uYWwgaWQuCiAg
90
- ZGVmIGluaXRpYWxpemUoY29ubmVjdGlvbiwgaGFzaD17fSkKICAgIHVubGVz
91
- cyBjb25uZWN0aW9uLmlzX2E/KERvY2tlcjo6Q29ubmVjdGlvbikKICAgICAg
92
- cmFpc2UgQXJndW1lbnRFcnJvciwgIkV4cGVjdGVkIGEgRG9ja2VyOjpDb25u
93
- ZWN0aW9uLCBnb3Q6ICN7Y29ubmVjdGlvbn0uIgogICAgZW5kCiAgICBub3Jt
94
- YWxpemVfaGFzaChoYXNoKQogICAgQGNvbm5lY3Rpb24sIEBpbmZvLCBAaWQg
95
- PSBjb25uZWN0aW9uLCBoYXNoLCBoYXNoWydpZCddCiAgICByYWlzZSBBcmd1
96
- bWVudEVycm9yLCAiTXVzdCBoYXZlIGlkLCBnb3Q6ICN7aGFzaH0iIHVubGVz
97
- cyBAaWQKICBlbmQKCiAgIyBUaGUgZG9ja2VyLWFwaSB3aWxsIHNvbWUgdGlt
98
- ZSByZXR1cm4gIklEIiBvdGhlciB0aW1lcyBpdCB3aWxsIHJldHVybiAiSWQi
99
- CiAgIyBhbmQgb3RoZXIgdGltZXMgaXQgd2lsbCByZXR1cm4gImlkIi4gVGhp
100
- cyBtZXRob2Qgbm9ybWFsaXplIGl0IHRvICJpZCIKICBkZWYgbm9ybWFsaXpl
101
- X2hhc2goaGFzaCkKICAgIGhhc2hbImlkIl0gfHw9IGhhc2guZGVsZXRlKCJJ
102
- RCIpIHx8IGhhc2guZGVsZXRlKCJJZCIpCiAgZW5kCmVuZAoAAAAAAAAAAAAA
103
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
104
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
105
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
106
- AAAAAAAAAAAAAAAAZG9ja2VyL2Nvbm5lY3Rpb24ucmIAAAAAAAAAAAAAAAAA
107
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
108
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUw
109
- ADAwMDAwMDA1NzUzADEyNDY2NzczMTAzADAxMjAxNQAgMAAAAAAAAAAAAAAA
110
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
111
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1
112
- c3RhcgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
113
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
114
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
115
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
116
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
117
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMgY2xhc3MgcmVw
118
- cmVzZW50cyBhIENvbm5lY3Rpb24gdG8gYSBEb2NrZXIgc2VydmVyLiBUaGUg
119
- Q29ubmVjdGlvbiBpcwojIGltbXV0YWJsZSBpbiB0aGF0IG9uY2UgdGhlIHVy
120
- bCBhbmQgb3B0aW9ucyBpcyBzZXQgdGhleSBjYW5ub3QgYmUgY2hhbmdlZC4K
121
- Y2xhc3MgRG9ja2VyOjpDb25uZWN0aW9uCiAgaW5jbHVkZSBEb2NrZXI6OkVy
122
- cm9yCgogIGF0dHJfcmVhZGVyIDp1cmwsIDpvcHRpb25zCgogICMgQ3JlYXRl
123
- IGEgbmV3IENvbm5lY3Rpb24uIFRoaXMgbWV0aG9kIHRha2VzIGEgdXJsIChT
124
- dHJpbmcpIGFuZCBvcHRpb25zCiAgIyAoSGFzaCkuIFRoZXNlIGFyZSBwYXNz
125
- ZWQgdG8gRXhjb24sIHNvIGFueSBvcHRpb25zIHZhbGlkIGZvciBgRXhjb24u
126
- bmV3YAogICMgY2FuIGJlIHBhc3NlZCBoZXJlLgogIGRlZiBpbml0aWFsaXpl
127
- KHVybCwgb3B0cykKICAgIGNhc2UKICAgIHdoZW4gIXVybC5pc19hPyhTdHJp
128
- bmcpCiAgICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICJFeHBlY3RlZCBhIFN0
129
- cmluZywgZ290OiAnI3t1cmx9JyIKICAgIHdoZW4gIW9wdHMuaXNfYT8oSGFz
130
- aCkKICAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIkV4cGVjdGVkIGEgSGFz
131
- aCwgZ290OiAnI3tvcHRzfSciCiAgICBlbHNlCiAgICAgIHVyaSA9IFVSSS5w
132
- YXJzZSh1cmwpCiAgICAgIGlmIHVyaS5zY2hlbWUgPT0gInVuaXgiCiAgICAg
133
- ICAgQHVybCwgQG9wdGlvbnMgPSAndW5peDovLy8nLCB7OnNvY2tldCA9PiB1
134
- cmkucGF0aH0ubWVyZ2Uob3B0cykKICAgICAgZWxzaWYgdXJpLnNjaGVtZSA9
135
- fiAvXihodHRwcz98dGNwKSQvCiAgICAgICAgQHVybCwgQG9wdGlvbnMgPSB1
136
- cmwsIG9wdHMKICAgICAgZWxzZQogICAgICAgIEB1cmwsIEBvcHRpb25zID0g
137
- Imh0dHA6Ly8je3VyaX0iLCBvcHRzCiAgICAgIGVuZAogICAgZW5kCiAgZW5k
138
- CgogICMgVGhlIGFjdHVhbCBjbGllbnQgdGhhdCBzZW5kcyBIVFRQIG1ldGhv
139
- ZHMgdG8gdGhlIERvY2tlciBzZXJ2ZXIuIFRoaXMgdmFsdWUKICAjIGlzIG5v
140
- dCBjYWNoZWQsIHNpbmNlIGRvaW5nIHNvIG1heSBjYXVzZSBzb2NrZXQgZXJy
141
- b3JzIGFmdGVyIGJhZCByZXF1ZXN0cy4KICBkZWYgcmVzb3VyY2UKICAgIEV4
142
- Y29uLm5ldyh1cmwsIG9wdGlvbnMpCiAgZW5kCiAgcHJpdmF0ZSA6cmVzb3Vy
143
- Y2UKCiAgIyBTZW5kIGEgcmVxdWVzdCB0byB0aGUgc2VydmVyIHdpdGggdGhl
144
- IGAKICBkZWYgcmVxdWVzdCgqYXJncywgJmJsb2NrKQogICAgcmVxdWVzdCA9
145
- IGNvbXBpbGVfcmVxdWVzdF9wYXJhbXMoKmFyZ3MsICZibG9jaykKICAgIGlm
146
- IERvY2tlci5sb2dnZXIKICAgICAgRG9ja2VyLmxvZ2dlci5kZWJ1ZygKICAg
147
- ICAgICBbcmVxdWVzdFs6bWV0aG9kXSwgcmVxdWVzdFs6cGF0aF0sIHJlcXVl
148
- c3RbOnF1ZXJ5XSwgcmVxdWVzdFs6Ym9keV1dCiAgICAgICkKICAgIGVuZAog
149
- ICAgcmVzb3VyY2UucmVxdWVzdChyZXF1ZXN0KS5ib2R5CiAgcmVzY3VlIEV4
150
- Y29uOjpFcnJvcnM6OkJhZFJlcXVlc3QgPT4gZXgKICAgIHJhaXNlIENsaWVu
151
- dEVycm9yLCBleC5tZXNzYWdlCiAgcmVzY3VlIEV4Y29uOjpFcnJvcnM6OlVu
152
- YXV0aG9yaXplZCA9PiBleAogICAgcmFpc2UgVW5hdXRob3JpemVkRXJyb3Is
153
- IGV4Lm1lc3NhZ2UKICByZXNjdWUgRXhjb246OkVycm9yczo6Tm90Rm91bmQg
154
- PT4gZXgKICAgIHJhaXNlIE5vdEZvdW5kRXJyb3IsIGV4Lm1lc3NhZ2UKICBy
155
- ZXNjdWUgRXhjb246OkVycm9yczo6Q29uZmxpY3QgPT4gZXgKICAgIHJhaXNl
156
- IENvbmZpY3RFcnJvciwgZXgubWVzc2FnZQogIHJlc2N1ZSBFeGNvbjo6RXJy
157
- b3JzOjpJbnRlcm5hbFNlcnZlckVycm9yID0+IGV4CiAgICByYWlzZSBTZXJ2
158
- ZXJFcnJvciwgZXgucmVzcG9uc2UuZGF0YVs6Ym9keV0KICByZXNjdWUgRXhj
159
- b246OkVycm9yczo6VGltZW91dCA9PiBleAogICAgcmFpc2UgVGltZW91dEVy
160
- cm9yLCBleC5tZXNzYWdlCiAgZW5kCgogICMgRGVsZWdhdGUgYWxsIEhUVFAg
161
- bWV0aG9kcyB0byB0aGUgI3JlcXVlc3QuCiAgWzpnZXQsIDpwdXQsIDpwb3N0
162
- LCA6ZGVsZXRlXS5lYWNoIGRvIHxtZXRob2R8CiAgICBkZWZpbmVfbWV0aG9k
163
- KG1ldGhvZCkgeyB8KmFyZ3MsICZibG9ja3wgcmVxdWVzdChtZXRob2QsICph
164
- cmdzLCAmYmxvY2spIH0KICBlbmQKCiAgZGVmIHRvX3MKICAgICJEb2NrZXI6
165
- OkNvbm5lY3Rpb24geyA6dXJsID0+ICN7dXJsfSwgOm9wdGlvbnMgPT4gI3tv
166
- cHRpb25zfSB9IgogIGVuZAoKcHJpdmF0ZQogICMgR2l2ZW4gYW4gSFRUUCBt
167
- ZXRob2QsIHBhdGgsIG9wdGlvbmFsIHF1ZXJ5LCBleHRyYSBvcHRpb25zLCBh
168
- bmQgYmxvY2ssCiAgIyBjb21waWxlcyBhIHJlcXVlc3QuCiAgZGVmIGNvbXBp
169
- bGVfcmVxdWVzdF9wYXJhbXMoaHR0cF9tZXRob2QsIHBhdGgsIHF1ZXJ5ID0g
170
- bmlsLCBvcHRzID0gbmlsLCAmYmxvY2spCiAgICBxdWVyeSB8fD0ge30KICAg
171
- IG9wdHMgfHw9IHt9CiAgICBoZWFkZXJzID0gb3B0cy5kZWxldGUoOmhlYWRl
172
- cnMpIHx8IHt9CiAgICBjb250ZW50X3R5cGUgPSBvcHRzWzpib2R5XS5uaWw/
173
- ID8gICd0ZXh0L3BsYWluJyA6ICdhcHBsaWNhdGlvbi9qc29uJwogICAgdXNl
174
- cl9hZ2VudCA9ICJTd2lwZWx5L0RvY2tlci1BUEkgI3tEb2NrZXI6OlZFUlNJ
175
- T059IgogICAgewogICAgICA6bWV0aG9kICAgICAgICA9PiBodHRwX21ldGhv
176
- ZCwKICAgICAgOnBhdGggICAgICAgICAgPT4gIi92I3tEb2NrZXI6OkFQSV9W
177
- RVJTSU9OfSN7cGF0aH0iLAogICAgICA6cXVlcnkgICAgICAgICA9PiBxdWVy
178
- eSwKICAgICAgOmhlYWRlcnMgICAgICAgPT4geyAnQ29udGVudC1UeXBlJyA9
179
- PiBjb250ZW50X3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Vz
180
- ZXItQWdlbnQnICAgPT4gdXNlcl9hZ2VudCwKICAgICAgICAgICAgICAgICAg
181
- ICAgICAgfS5tZXJnZShoZWFkZXJzKSwKICAgICAgOmV4cGVjdHMgICAgICAg
182
- PT4gKDIwMC4uMjA0KS50b19hIDw8IDMwNCwKICAgICAgOmlkZW1wb3RlbnQg
183
- ICAgPT4gaHR0cF9tZXRob2QgPT0gOmdldCwKICAgICAgOnJlcXVlc3RfYmxv
184
- Y2sgPT4gYmxvY2sKICAgIH0ubWVyZ2Uob3B0cykucmVqZWN0IHsgfF8sIHZ8
185
- IHYubmlsPyB9CiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAABkb2Nr
186
- ZXIvY29udGFpbmVyLnJiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
187
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
188
- AAAAAAAAMDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMTYzNzcAMTI0
189
- NjY3NzMxMDMAMDExNjQ0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
190
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
191
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAA
192
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
193
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
194
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
195
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
196
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
197
- AAAAAAAAAAAAAAAAACMgVGhpcyBjbGFzcyByZXByZXNlbnRzIGEgRG9ja2Vy
198
- IENvbnRhaW5lci4gSXQncyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IG5vdGhp
199
- bmcKIyBpcyBjYWNoZWQgc28gdGhhdCB0aGUgaW5mb3JtYXRpb24gaXMgYWx3
200
- YXlzIHVwIHRvIGRhdGUuCmNsYXNzIERvY2tlcjo6Q29udGFpbmVyCiAgaW5j
201
- bHVkZSBEb2NrZXI6OkJhc2UKCiAgIyBSZXR1cm4gYSBMaXN0IG9mIEhhc2hl
202
- cyB0aGF0IHJlcHJlc2VudHMgdGhlIHRvcCBydW5uaW5nIHByb2Nlc3Nlcy4K
203
- ICBkZWYgdG9wKG9wdHMgPSB7fSkKICAgIHJlc3AgPSBEb2NrZXI6OlV0aWwu
204
- cGFyc2VfanNvbihjb25uZWN0aW9uLmdldChwYXRoX2Zvcig6dG9wKSwgb3B0
205
- cykpCiAgICBpZiByZXNwWydQcm9jZXNzZXMnXS5uaWw/CiAgICAgIFtdCiAg
206
- ICBlbHNlCiAgICAgIHJlc3BbJ1Byb2Nlc3NlcyddLm1hcCB7IHxhcnl8IEhh
207
- c2hbcmVzcFsnVGl0bGVzJ10uemlwKGFyeSldIH0KICAgIGVuZAogIGVuZAoK
208
- ICAjIFdhaXQgZm9yIHRoZSBjdXJyZW50IGNvbW1hbmQgdG8gZmluaXNoIGV4
209
- ZWN1dGluZy4gRGVmYXVsdCB3YWl0IHRpbWUgaXMKICAjIGBFeGNvbi5vcHRp
210
- b25zWzpyZWFkX3RpbWVvdXRdYC4KICBkZWYgd2FpdCh0aW1lID0gbmlsKQog
211
- ICAgcmVzcCA9IGNvbm5lY3Rpb24ucG9zdChwYXRoX2Zvcig6d2FpdCksIG5p
212
- bCwgOnJlYWRfdGltZW91dCA9PiB0aW1lKQogICAgRG9ja2VyOjpVdGlsLnBh
213
- cnNlX2pzb24ocmVzcCkKICBlbmQKCiAgIyBHaXZlbiBhIGNvbW1hbmQgYW5k
214
- IGFuIG9wdGlvbmFsIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgZm9yIHRo
215
- ZSBjdXJyZW50bHkKICAjIGV4ZWN1dGluZyBjb21tYW5kLCBjcmVhdGVzIGEg
216
- bmV3IENvbnRhaW5lciB0byBydW4gdGhlIHNwZWNpZmllZCBjb21tYW5kLiBJ
217
- ZgogICMgdGhlIGNvbW1hbmQgdGhhdCBpcyBjdXJyZW50bHkgZXhlY3V0aW5n
218
- IGRvZXMgbm90IHJldHVybiBhIDAgc3RhdHVzIGNvZGUsIGFuCiAgIyBVbmV4
219
- cGVjdGVkUmVzcG9uc2VFcnJvciBpcyByYWlzZWQuCiAgZGVmIHJ1bihjbWQs
220
- IHRpbWUgPSAxMDAwKQogICAgaWYgKGNvZGUgPSB0YXAoJjpzdGFydCkud2Fp
221
- dCh0aW1lKVsnU3RhdHVzQ29kZSddKS56ZXJvPwogICAgICBjb21taXQucnVu
222
- KGNtZCkKICAgIGVsc2UKICAgICAgcmFpc2UgVW5leHBlY3RlZFJlc3BvbnNl
223
- RXJyb3IsICJDb21tYW5kIHJldHVybmVkIHN0YXR1cyBjb2RlICN7Y29kZX0u
224
- IgogICAgZW5kCiAgZW5kCgogICMgQ3JlYXRlIGFuIEV4ZWMgaW5zdGFuY2Ug
225
- aW5zaWRlIHRoZSBjb250YWluZXIKICAjCiAgIyBAcGFyYW0gY29tbWFuZCBb
226
- U3RyaW5nLCBBcnJheV0gVGhlIGNvbW1hbmQgdG8gcnVuIGluc2lkZSB0aGUg
227
- RXhlYyBpbnN0YW5jZQogICMgQHBhcmFtIG9wdGlvbnMgW0hhc2hdIFRoZSBv
228
- cHRpb25zIHRvIHBhc3MgdG8gRG9ja2VyOjpFeGVjCiAgIwogICMgQHJldHVy
229
- biBbRG9ja2VyOjpFeGVjXSBUaGUgRXhlYyBpbnN0YW5jZQogIGRlZiBleGVj
230
- KGNvbW1hbmQsIG9wdHMgPSB7fSwgJmJsb2NrKQogICAgIyBFc3RhYmxpc2gg
231
- dmFsdWVzCiAgICB0dHkgPSBvcHRzLmRlbGV0ZSg6dHR5KSB8fCBmYWxzZQog
232
- ICAgZGV0YWNoID0gb3B0cy5kZWxldGUoOmRldGFjaCkgfHwgZmFsc2UKICAg
233
- IHN0ZGluID0gb3B0cy5kZWxldGUoOnN0ZGluKQogICAgc3Rkb3V0ID0gb3B0
234
- cy5kZWxldGUoOnN0ZG91dCkgfHwgIWRldGFjaAogICAgc3RkZXJyID0gb3B0
235
- cy5kZWxldGUoOnN0ZGVycikgfHwgIWRldGFjaAoKICAgICMgQ3JlYXRlIEV4
236
- ZWMgSW5zdGFuY2UKICAgIGluc3RhbmNlID0gRG9ja2VyOjpFeGVjLmNyZWF0
237
- ZSgKICAgICAgJ0NvbnRhaW5lcicgPT4gc2VsZi5pZCwKICAgICAgJ0F0dGFj
238
- aFN0ZGluJyA9PiAhIXN0ZGluLAogICAgICAnQXR0YWNoU3Rkb3V0JyA9PiBz
239
- dGRvdXQsCiAgICAgICdBdHRhY2hTdGRlcnInID0+IHN0ZGVyciwKICAgICAg
240
- J1R0eScgPT4gdHR5LAogICAgICAnQ21kJyA9PiBjb21tYW5kCiAgICApCgog
241
- ICAgc3RhcnRfb3B0cyA9IHsKICAgICAgOnR0eSA9PiB0dHksCiAgICAgIDpz
242
- dGRpbiA9PiBzdGRpbiwKICAgICAgOmRldGFjaCA9PiBkZXRhY2gKICAgIH0K
243
- CiAgICBpZiBkZXRhY2gKICAgICAgaW5zdGFuY2Uuc3RhcnQhKHN0YXJ0X29w
244
- dHMpCiAgICAgIHJldHVybiBpbnN0YW5jZQogICAgZWxzZQogICAgICBpbnN0
245
- YW5jZS5zdGFydCEoc3RhcnRfb3B0cywgJmJsb2NrKQogICAgZW5kCiAgZW5k
246
- CgogICMgRXhwb3J0IHRoZSBDb250YWluZXIgYXMgYSB0YXIuCiAgZGVmIGV4
247
- cG9ydCgmYmxvY2spCiAgICBjb25uZWN0aW9uLmdldChwYXRoX2Zvcig6ZXhw
248
- b3J0KSwge30sIDpyZXNwb25zZV9ibG9jayA9PiBibG9jaykKICAgIHNlbGYK
249
- ICBlbmQKCiAgIyBBdHRhY2ggdG8gYSBjb250YWluZXIncyBzdGFuZGFyZCBz
250
- dHJlYW1zIC8gbG9ncy4KICBkZWYgYXR0YWNoKG9wdGlvbnMgPSB7fSwgJmJs
251
- b2NrKQogICAgc3RkaW4gPSBvcHRpb25zLmRlbGV0ZSg6c3RkaW4pCiAgICB0
252
- dHkgICA9IG9wdGlvbnMuZGVsZXRlKDp0dHkpCgogICAgb3B0cyA9IHsKICAg
253
- ICAgOnN0cmVhbSA9PiB0cnVlLCA6c3Rkb3V0ID0+IHRydWUsIDpzdGRlcnIg
254
- PT4gdHJ1ZQogICAgfS5tZXJnZShvcHRpb25zKQogICAgIyBDcmVhdGVzIGxp
255
- c3QgdG8gc3RvcmUgc3Rkb3V0IGFuZCBzdGRlcnIgbWVzc2FnZXMKICAgIG1z
256
- Z3MgPSBEb2NrZXI6Ok1lc3NhZ2VzLm5ldwoKICAgIGV4Y29uX3BhcmFtcyA9
257
- IHt9CgogICAgaWYgc3RkaW4KICAgICAgIyBJZiBhdHRhY2hpbmcgdG8gc3Rk
258
- aW4sIHdlIG11c3QgaGlqYWNrIHRoZSB1bmRlcmx5aW5nIFRDUCBjb25uZWN0
259
- aW9uCiAgICAgICMgc28gd2UgY2FuIHN0cmVhbSBzdGRpbiB0byB0aGUgcmVt
260
- b3RlIERvY2tlciBwcm9jZXNzCiAgICAgIG9wdHNbOnN0ZGluXSA9IHRydWUK
261
- ICAgICAgZXhjb25fcGFyYW1zWzpoaWphY2tfYmxvY2tdID0gRG9ja2VyOjpV
262
- dGlsLmhpamFja19mb3Ioc3RkaW4sIGJsb2NrLAogICAgICAgIG1zZ3MsIHR0
263
- eSkKICAgIGVsc2UKICAgICAgZXhjb25fcGFyYW1zWzpyZXNwb25zZV9ibG9j
264
- a10gPSBEb2NrZXI6OlV0aWwuYXR0YWNoX2ZvcihibG9jaywgbXNncywgdHR5
265
- KQogICAgZW5kCgogICAgY29ubmVjdGlvbi5wb3N0KAogICAgICBwYXRoX2Zv
266
- cig6YXR0YWNoKSwKICAgICAgb3B0cywKICAgICAgZXhjb25fcGFyYW1zCiAg
267
- ICApCiAgICBbbXNncy5zdGRvdXRfbWVzc2FnZXMsIG1zZ3Muc3RkZXJyX21l
268
- c3NhZ2VzXQogIGVuZAoKICAjIENyZWF0ZSBhbiBJbWFnZSBmcm9tIGEgQ29u
269
- dGFpbmVyJ3MgY2hhbmdlLnMKICBkZWYgY29tbWl0KG9wdGlvbnMgPSB7fSkK
270
- ICAgIG9wdGlvbnMubWVyZ2UhKCdjb250YWluZXInID0+IHNlbGYuaWRbMC4u
271
- N10pCiAgICAjIFtjb2RlXShodHRwczovL2dpdGh1Yi5jb20vZG90Y2xvdWQv
272
- ZG9ja2VyL2Jsb2IvdjAuNi4zL2NvbW1hbmRzLmdvI0wxMTE1KQogICAgIyBC
273
- YXNlZCBvbiB0aGUgbGluaywgdGhlIGNvbmZpZyBwYXNzZWQgYXMgcnVuLCBu
274
- ZWVkcyB0byBiZSBwYXNzZWQgYXMgdGhlCiAgICAjIGJvZHkgb2YgdGhlIHBv
275
- c3Qgc28gY2FwdHVyZSBpdCwgcmVtb3ZlIGZyb20gdGhlIG9wdGlvbnMsIGFu
276
- ZCBwYXNzIGl0IHZpYQogICAgIyB0aGUgcG9zdCBib2R5CiAgICBjb25maWcg
277
- PSBvcHRpb25zLmRlbGV0ZSgncnVuJykKICAgIGhhc2ggPSBEb2NrZXI6OlV0
278
- aWwucGFyc2VfanNvbihjb25uZWN0aW9uLnBvc3QoJy9jb21taXQnLAogICAg
279
- ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
280
- ICBvcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
281
- ICAgICAgICAgICAgICAgICA6Ym9keSA9PiBjb25maWcudG9fanNvbikpCiAg
282
- ICBEb2NrZXI6OkltYWdlLnNlbmQoOm5ldywgc2VsZi5jb25uZWN0aW9uLCBo
283
- YXNoKQogIGVuZAoKICAjIFJldHVybiBhIFN0cmluZyByZXByZXNlbnRhdGlv
284
- biBvZiB0aGUgQ29udGFpbmVyLgogIGRlZiB0b19zCiAgICAiRG9ja2VyOjpD
285
- b250YWluZXIgeyA6aWQgPT4gI3tzZWxmLmlkfSwgOmNvbm5lY3Rpb24gPT4g
286
- I3tzZWxmLmNvbm5lY3Rpb259IH0iCiAgZW5kCgogICMgI2pzb24gcmV0dXJu
287
- cyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ29udGFpbmVyLCAjY2hhbmdlcyBy
288
- ZXR1cm5zIGEgbGlzdCBvZgogICMgdGhlIGNoYW5nZXMgdGhlIENvbnRhaW5l
289
- ciBoYXMgbWFkZSB0byB0aGUgZmlsZXN5c3RlbS4KICBbOmpzb24sIDpjaGFu
290
- Z2VzXS5lYWNoIGRvIHxtZXRob2R8CiAgICBkZWZpbmVfbWV0aG9kKG1ldGhv
291
- ZCkgZG8gfG9wdHMgPSB7fXwKICAgICAgRG9ja2VyOjpVdGlsLnBhcnNlX2pz
292
- b24oY29ubmVjdGlvbi5nZXQocGF0aF9mb3IobWV0aG9kKSwgb3B0cykpCiAg
293
- ICBlbmQKICBlbmQKCiAgZGVmIGxvZ3Mob3B0cyA9IHt9KQogICAgY29ubmVj
294
- dGlvbi5nZXQocGF0aF9mb3IoOmxvZ3MpLCBvcHRzKQogIGVuZAoKICBkZWYg
295
- c3RyZWFtaW5nX2xvZ3Mob3B0cyA9IHt9LCAmYmxvY2spCiAgICBtc2dzID0g
296
- RG9ja2VyOjpNZXNzYWdlcy5uZXcKICAgIGV4Y29uX3BhcmFtcyA9IHtyZXNw
297
- b25zZV9ibG9jazogRG9ja2VyOjpVdGlsLmF0dGFjaF9mb3IoYmxvY2ssIG1z
298
- Z3MsIGZhbHNlKX0KCiAgICBjb25uZWN0aW9uLmdldChwYXRoX2Zvcig6bG9n
299
- cyksIG9wdHMsIGV4Y29uX3BhcmFtcykKICAgIG1zZ3MuYWxsX21lc3NhZ2Vz
181
+ AAAAAAAAAAAAAAB1c3RhcgAwMHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAA
182
+ AAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAw
183
+ ADAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
184
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
185
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
186
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRo
187
+ aXMgY2xhc3MgcmVwcmVzZW50cyBhIERvY2tlciBDb250YWluZXIuIEl0J3Mg
188
+ aW1wb3J0YW50IHRvIG5vdGUgdGhhdCBub3RoaW5nCiMgaXMgY2FjaGVkIHNv
189
+ IHRoYXQgdGhlIGluZm9ybWF0aW9uIGlzIGFsd2F5cyB1cCB0byBkYXRlLgpj
190
+ bGFzcyBEb2NrZXI6OkNvbnRhaW5lcgogIGluY2x1ZGUgRG9ja2VyOjpCYXNl
191
+ CgogICMgUmV0dXJuIGEgTGlzdCBvZiBIYXNoZXMgdGhhdCByZXByZXNlbnRz
192
+ IHRoZSB0b3AgcnVubmluZyBwcm9jZXNzZXMuCiAgZGVmIHRvcChvcHRzID0g
193
+ e30pCiAgICByZXNwID0gRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24oY29ubmVj
194
+ dGlvbi5nZXQocGF0aF9mb3IoOnRvcCksIG9wdHMpKQogICAgaWYgcmVzcFsn
195
+ UHJvY2Vzc2VzJ10ubmlsPwogICAgICBbXQogICAgZWxzZQogICAgICByZXNw
196
+ WydQcm9jZXNzZXMnXS5tYXAgeyB8YXJ5fCBIYXNoW3Jlc3BbJ1RpdGxlcydd
197
+ LnppcChhcnkpXSB9CiAgICBlbmQKICBlbmQKCiAgIyBXYWl0IGZvciB0aGUg
198
+ Y3VycmVudCBjb21tYW5kIHRvIGZpbmlzaCBleGVjdXRpbmcuIERlZmF1bHQg
199
+ d2FpdCB0aW1lIGlzCiAgIyBgRXhjb24ub3B0aW9uc1s6cmVhZF90aW1lb3V0
200
+ XWAuCiAgZGVmIHdhaXQodGltZSA9IG5pbCkKICAgIGV4Y29uX3BhcmFtcyA9
201
+ IHsgOnJlYWRfdGltZW91dCA9PiB0aW1lLCA6aWRlbXBvdGVudCA9PiB0cnVl
202
+ IH0KICAgIHJlc3AgPSBjb25uZWN0aW9uLnBvc3QocGF0aF9mb3IoOndhaXQp
203
+ LCBuaWwsIGV4Y29uX3BhcmFtcykKICAgIERvY2tlcjo6VXRpbC5wYXJzZV9q
204
+ c29uKHJlc3ApCiAgZW5kCgogICMgR2l2ZW4gYSBjb21tYW5kIGFuZCBhbiBv
205
+ cHRpb25hbCBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0IGZvciB0aGUgY3Vy
206
+ cmVudGx5CiAgIyBleGVjdXRpbmcgY29tbWFuZCwgY3JlYXRlcyBhIG5ldyBD
207
+ b250YWluZXIgdG8gcnVuIHRoZSBzcGVjaWZpZWQgY29tbWFuZC4gSWYKICAj
208
+ IHRoZSBjb21tYW5kIHRoYXQgaXMgY3VycmVudGx5IGV4ZWN1dGluZyBkb2Vz
209
+ IG5vdCByZXR1cm4gYSAwIHN0YXR1cyBjb2RlLCBhbgogICMgVW5leHBlY3Rl
210
+ ZFJlc3BvbnNlRXJyb3IgaXMgcmFpc2VkLgogIGRlZiBydW4oY21kLCB0aW1l
211
+ ID0gMTAwMCkKICAgIGlmIChjb2RlID0gdGFwKCY6c3RhcnQpLndhaXQodGlt
212
+ ZSlbJ1N0YXR1c0NvZGUnXSkuemVybz8KICAgICAgY29tbWl0LnJ1bihjbWQp
213
+ CiAgICBlbHNlCiAgICAgIHJhaXNlIFVuZXhwZWN0ZWRSZXNwb25zZUVycm9y
214
+ LCAiQ29tbWFuZCByZXR1cm5lZCBzdGF0dXMgY29kZSAje2NvZGV9LiIKICAg
215
+ IGVuZAogIGVuZAoKICAjIENyZWF0ZSBhbiBFeGVjIGluc3RhbmNlIGluc2lk
216
+ ZSB0aGUgY29udGFpbmVyCiAgIwogICMgQHBhcmFtIGNvbW1hbmQgW1N0cmlu
217
+ ZywgQXJyYXldIFRoZSBjb21tYW5kIHRvIHJ1biBpbnNpZGUgdGhlIEV4ZWMg
218
+ aW5zdGFuY2UKICAjIEBwYXJhbSBvcHRpb25zIFtIYXNoXSBUaGUgb3B0aW9u
219
+ cyB0byBwYXNzIHRvIERvY2tlcjo6RXhlYwogICMKICAjIEByZXR1cm4gW0Rv
220
+ Y2tlcjo6RXhlY10gVGhlIEV4ZWMgaW5zdGFuY2UKICBkZWYgZXhlYyhjb21t
221
+ YW5kLCBvcHRzID0ge30sICZibG9jaykKICAgICMgRXN0YWJsaXNoIHZhbHVl
222
+ cwogICAgdHR5ID0gb3B0cy5kZWxldGUoOnR0eSkgfHwgZmFsc2UKICAgIGRl
223
+ dGFjaCA9IG9wdHMuZGVsZXRlKDpkZXRhY2gpIHx8IGZhbHNlCiAgICBzdGRp
224
+ biA9IG9wdHMuZGVsZXRlKDpzdGRpbikKICAgIHN0ZG91dCA9IG9wdHMuZGVs
225
+ ZXRlKDpzdGRvdXQpIHx8ICFkZXRhY2gKICAgIHN0ZGVyciA9IG9wdHMuZGVs
226
+ ZXRlKDpzdGRlcnIpIHx8ICFkZXRhY2gKCiAgICAjIENyZWF0ZSBFeGVjIElu
227
+ c3RhbmNlCiAgICBpbnN0YW5jZSA9IERvY2tlcjo6RXhlYy5jcmVhdGUoCiAg
228
+ ICAgICdDb250YWluZXInID0+IHNlbGYuaWQsCiAgICAgICdBdHRhY2hTdGRp
229
+ bicgPT4gISFzdGRpbiwKICAgICAgJ0F0dGFjaFN0ZG91dCcgPT4gc3Rkb3V0
230
+ LAogICAgICAnQXR0YWNoU3RkZXJyJyA9PiBzdGRlcnIsCiAgICAgICdUdHkn
231
+ ID0+IHR0eSwKICAgICAgJ0NtZCcgPT4gY29tbWFuZAogICAgKQoKICAgIHN0
232
+ YXJ0X29wdHMgPSB7CiAgICAgIDp0dHkgPT4gdHR5LAogICAgICA6c3RkaW4g
233
+ PT4gc3RkaW4sCiAgICAgIDpkZXRhY2ggPT4gZGV0YWNoCiAgICB9CgogICAg
234
+ aWYgZGV0YWNoCiAgICAgIGluc3RhbmNlLnN0YXJ0IShzdGFydF9vcHRzKQog
235
+ ICAgICByZXR1cm4gaW5zdGFuY2UKICAgIGVsc2UKICAgICAgaW5zdGFuY2Uu
236
+ c3RhcnQhKHN0YXJ0X29wdHMsICZibG9jaykKICAgIGVuZAogIGVuZAoKICAj
237
+ IEV4cG9ydCB0aGUgQ29udGFpbmVyIGFzIGEgdGFyLgogIGRlZiBleHBvcnQo
238
+ JmJsb2NrKQogICAgY29ubmVjdGlvbi5nZXQocGF0aF9mb3IoOmV4cG9ydCks
239
+ IHt9LCA6cmVzcG9uc2VfYmxvY2sgPT4gYmxvY2spCiAgICBzZWxmCiAgZW5k
240
+ CgogICMgQXR0YWNoIHRvIGEgY29udGFpbmVyJ3Mgc3RhbmRhcmQgc3RyZWFt
241
+ cyAvIGxvZ3MuCiAgZGVmIGF0dGFjaChvcHRpb25zID0ge30sICZibG9jaykK
242
+ ICAgIHN0ZGluID0gb3B0aW9ucy5kZWxldGUoOnN0ZGluKQogICAgdHR5ICAg
243
+ PSBvcHRpb25zLmRlbGV0ZSg6dHR5KQoKICAgIG9wdHMgPSB7CiAgICAgIDpz
244
+ dHJlYW0gPT4gdHJ1ZSwgOnN0ZG91dCA9PiB0cnVlLCA6c3RkZXJyID0+IHRy
245
+ dWUKICAgIH0ubWVyZ2Uob3B0aW9ucykKICAgICMgQ3JlYXRlcyBsaXN0IHRv
246
+ IHN0b3JlIHN0ZG91dCBhbmQgc3RkZXJyIG1lc3NhZ2VzCiAgICBtc2dzID0g
247
+ RG9ja2VyOjpNZXNzYWdlcy5uZXcKCiAgICBleGNvbl9wYXJhbXMgPSB7fQoK
248
+ ICAgIGlmIHN0ZGluCiAgICAgICMgSWYgYXR0YWNoaW5nIHRvIHN0ZGluLCB3
249
+ ZSBtdXN0IGhpamFjayB0aGUgdW5kZXJseWluZyBUQ1AgY29ubmVjdGlvbgog
250
+ ICAgICAjIHNvIHdlIGNhbiBzdHJlYW0gc3RkaW4gdG8gdGhlIHJlbW90ZSBE
251
+ b2NrZXIgcHJvY2VzcwogICAgICBvcHRzWzpzdGRpbl0gPSB0cnVlCiAgICAg
252
+ IGV4Y29uX3BhcmFtc1s6aGlqYWNrX2Jsb2NrXSA9IERvY2tlcjo6VXRpbC5o
253
+ aWphY2tfZm9yKHN0ZGluLCBibG9jaywKICAgICAgICBtc2dzLCB0dHkpCiAg
254
+ ICBlbHNlCiAgICAgIGV4Y29uX3BhcmFtc1s6cmVzcG9uc2VfYmxvY2tdID0g
255
+ RG9ja2VyOjpVdGlsLmF0dGFjaF9mb3IoYmxvY2ssIG1zZ3MsIHR0eSkKICAg
256
+ IGVuZAoKICAgIGNvbm5lY3Rpb24ucG9zdCgKICAgICAgcGF0aF9mb3IoOmF0
257
+ dGFjaCksCiAgICAgIG9wdHMsCiAgICAgIGV4Y29uX3BhcmFtcwogICAgKQog
258
+ ICAgW21zZ3Muc3Rkb3V0X21lc3NhZ2VzLCBtc2dzLnN0ZGVycl9tZXNzYWdl
259
+ c10KICBlbmQKCiAgIyBDcmVhdGUgYW4gSW1hZ2UgZnJvbSBhIENvbnRhaW5l
260
+ cidzIGNoYW5nZS5zCiAgZGVmIGNvbW1pdChvcHRpb25zID0ge30pCiAgICBv
261
+ cHRpb25zLm1lcmdlISgnY29udGFpbmVyJyA9PiBzZWxmLmlkWzAuLjddKQog
262
+ ICAgIyBbY29kZV0oaHR0cHM6Ly9naXRodWIuY29tL2RvdGNsb3VkL2RvY2tl
263
+ ci9ibG9iL3YwLjYuMy9jb21tYW5kcy5nbyNMMTExNSkKICAgICMgQmFzZWQg
264
+ b24gdGhlIGxpbmssIHRoZSBjb25maWcgcGFzc2VkIGFzIHJ1biwgbmVlZHMg
265
+ dG8gYmUgcGFzc2VkIGFzIHRoZQogICAgIyBib2R5IG9mIHRoZSBwb3N0IHNv
266
+ IGNhcHR1cmUgaXQsIHJlbW92ZSBmcm9tIHRoZSBvcHRpb25zLCBhbmQgcGFz
267
+ cyBpdCB2aWEKICAgICMgdGhlIHBvc3QgYm9keQogICAgY29uZmlnID0gb3B0
268
+ aW9ucy5kZWxldGUoJ3J1bicpCiAgICBoYXNoID0gRG9ja2VyOjpVdGlsLnBh
269
+ cnNlX2pzb24oY29ubmVjdGlvbi5wb3N0KCcvY29tbWl0JywKICAgICAgICAg
270
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0
271
+ aW9ucywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
272
+ ICAgICAgICAgICAgOmJvZHkgPT4gY29uZmlnLnRvX2pzb24pKQogICAgRG9j
273
+ a2VyOjpJbWFnZS5zZW5kKDpuZXcsIHNlbGYuY29ubmVjdGlvbiwgaGFzaCkK
274
+ ICBlbmQKCiAgIyBSZXR1cm4gYSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2Yg
275
+ dGhlIENvbnRhaW5lci4KICBkZWYgdG9fcwogICAgIkRvY2tlcjo6Q29udGFp
276
+ bmVyIHsgOmlkID0+ICN7c2VsZi5pZH0sIDpjb25uZWN0aW9uID0+ICN7c2Vs
277
+ Zi5jb25uZWN0aW9ufSB9IgogIGVuZAoKICAjICNqc29uIHJldHVybnMgaW5m
278
+ b3JtYXRpb24gYWJvdXQgdGhlIENvbnRhaW5lciwgI2NoYW5nZXMgcmV0dXJu
279
+ cyBhIGxpc3Qgb2YKICAjIHRoZSBjaGFuZ2VzIHRoZSBDb250YWluZXIgaGFz
280
+ IG1hZGUgdG8gdGhlIGZpbGVzeXN0ZW0uCiAgWzpqc29uLCA6Y2hhbmdlc10u
281
+ ZWFjaCBkbyB8bWV0aG9kfAogICAgZGVmaW5lX21ldGhvZChtZXRob2QpIGRv
282
+ IHxvcHRzID0ge318CiAgICAgIERvY2tlcjo6VXRpbC5wYXJzZV9qc29uKGNv
283
+ bm5lY3Rpb24uZ2V0KHBhdGhfZm9yKG1ldGhvZCksIG9wdHMpKQogICAgZW5k
284
+ CiAgZW5kCgogIGRlZiBsb2dzKG9wdHMgPSB7fSkKICAgIGNvbm5lY3Rpb24u
285
+ Z2V0KHBhdGhfZm9yKDpsb2dzKSwgb3B0cykKICBlbmQKCiAgZGVmIHJlbmFt
286
+ ZShuZXdfbmFtZSkKICAgIHF1ZXJ5ID0ge30KICAgIHF1ZXJ5WyduYW1lJ10g
287
+ PSBuZXdfbmFtZQogICAgY29ubmVjdGlvbi5wb3N0KHBhdGhfZm9yKDpyZW5h
288
+ bWUpLCBxdWVyeSkKICBlbmQKCiAgZGVmIHN0cmVhbWluZ19sb2dzKG9wdHMg
289
+ PSB7fSwgJmJsb2NrKQogICAgc3RhY2tfc2l6ZSA9IG9wdHMuZGVsZXRlKCdz
290
+ dGFja19zaXplJykgfHwgLTEKICAgIG1zZ3MgPSBEb2NrZXI6Ok1lc3NhZ2Vz
291
+ U3RhY2submV3KHN0YWNrX3NpemUpCiAgICBleGNvbl9wYXJhbXMgPSB7cmVz
292
+ cG9uc2VfYmxvY2s6IERvY2tlcjo6VXRpbC5hdHRhY2hfZm9yX211bHRpcGxl
293
+ eChibG9jaywgbXNncyl9CgogICAgY29ubmVjdGlvbi5nZXQocGF0aF9mb3Io
294
+ OmxvZ3MpLCBvcHRzLCBleGNvbl9wYXJhbXMpCiAgICBtc2dzLm1lc3NhZ2Vz
300
295
  LmpvaW4KICBlbmQKCiAgZGVmIHN0YXJ0IShvcHRzID0ge30pCiAgICBjb25u
301
296
  ZWN0aW9uLnBvc3QocGF0aF9mb3IoOnN0YXJ0KSwge30sIDpib2R5ID0+IG9w
302
297
  dHMudG9fanNvbikKICAgIHNlbGYKICBlbmQKCiAgZGVmIGtpbGwhKG9wdHMg
@@ -359,812 +354,829 @@ http_interactions:
359
354
  cGFydGljdWxhciByZXNvdXJjZS4KICBkZWYgcGF0aF9mb3IocmVzb3VyY2Up
360
355
  CiAgICAiL2NvbnRhaW5lcnMvI3tzZWxmLmlkfS8je3Jlc291cmNlfSIKICBl
361
356
  bmQKCiAgcHJpdmF0ZSA6cGF0aF9mb3IKICBwcml2YXRlX2NsYXNzX21ldGhv
362
- ZCA6bmV3CmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
363
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
364
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
365
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
366
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
367
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRv
368
- Y2tlci9lcnJvci5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
369
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
370
- AAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMjMwMgAx
371
- MjQ2Njc3MzEwMwAwMTA3NzIAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
372
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
373
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAA
374
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
375
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
376
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
377
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
378
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
379
- AAAAAAAAAAAAAAAAAAAAIyBUaGlzIG1vZHVsZSBob2xkcyB0aGUgRXJyb3Jz
380
- IGZvciB0aGUgZ2VtLgptb2R1bGUgRG9ja2VyOjpFcnJvcgoKICAjIFRoZSBk
381
- ZWZhdWx0IGVycm9yLiBJdCdzIG5ldmVyIGFjdHVhbGx5IHJhaXNlZCwgYnV0
382
- IGNhbiBiZSB1c2VkIHRvIGNhdGNoIGFsbAogICMgZ2VtLXNwZWNpZmljIGVy
383
- cm9ycyB0aGF0IGFyZSB0aHJvd24gYXMgdGhleSBhbGwgc3ViY2xhc3MgZnJv
384
- bSB0aGlzLgogIGNsYXNzIERvY2tlckVycm9yIDwgU3RhbmRhcmRFcnJvcjsg
385
- ZW5kCgogICMgUmFpc2VkIHdoZW4gaW52YWxpZCBhcmd1bWVudHMgYXJlIHBh
386
- c3NlZCB0byBhIG1ldGhvZC4KICBjbGFzcyBBcmd1bWVudEVycm9yIDwgRG9j
387
- a2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3aGVuIGEgcmVxdWVzdCByZXR1
388
- cm5zIGEgNDAwLgogIGNsYXNzIENsaWVudEVycm9yIDwgRG9ja2VyRXJyb3I7
389
- IGVuZAoKICAjIFJhaXNlZCB3aGVuIGEgcmVxdWVzdCByZXR1cm5zIGEgNDAx
390
- LgogIGNsYXNzIFVuYXV0aG9yaXplZEVycm9yIDwgRG9ja2VyRXJyb3I7IGVu
391
- ZAoKICAjIFJhaXNlZCB3aGVuIGEgcmVxdWVzdCByZXR1cm5zIGEgNDA0Lgog
392
- IGNsYXNzIE5vdEZvdW5kRXJyb3IgPCBEb2NrZXJFcnJvcjsgZW5kCgogICMg
393
- UmFpc2VkIHdoZW4gYSByZXF1ZXN0IHJldHVybnMgYSA0MDkuCiAgY2xhc3Mg
394
- Q29uZmljdEVycm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3
395
- aGVuIGEgcmVxdWVzdCByZXR1cm5zIGEgNTAwLgogIGNsYXNzIFNlcnZlckVy
396
- cm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3aGVuIHRoZXJl
397
- IGlzIGFuIHVuZXhwZWN0ZWQgcmVzcG9uc2UgY29kZSAvIGJvZHkuCiAgY2xh
398
- c3MgVW5leHBlY3RlZFJlc3BvbnNlRXJyb3IgPCBEb2NrZXJFcnJvcjsgZW5k
399
- CgogICMgUmFpc2VkIHdoZW4gdGhlcmUgaXMgYW4gaW5jb21wYXRpYmxlIHZl
400
- cnNpb24gb2YgRG9ja2VyLgogIGNsYXNzIFZlcnNpb25FcnJvciA8IERvY2tl
401
- ckVycm9yOyBlbmQKCiAgIyBSYWlzZWQgd2hlbiBhIHJlcXVlc3QgdGltZXMg
402
- b3V0LgogIGNsYXNzIFRpbWVvdXRFcnJvciA8IERvY2tlckVycm9yOyBlbmQK
403
- CiAgIyBSYWlzZWQgd2hlbiBsb2dpbiBmYWlscy4KICBjbGFzcyBBdXRoZW50
404
- aWNhdGlvbkVycm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3
405
- aGVuIGFuIElPIGFjdGlvbiBmYWlscy4KICBjbGFzcyBJT0Vycm9yIDwgRG9j
406
- a2VyRXJyb3I7IGVuZAplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
407
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
408
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
409
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
410
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
411
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
412
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
413
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAZG9ja2VyL2V2ZW50LnJiAAAAAAAAAAAA
414
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
415
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1
416
- MAAwMDAxNzUwADAwMDAwMDAxNzUxADEyMzYzMjI1MzY2ADAxMDc3MAAgMAAA
417
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
418
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
419
- AAAAAAAAAAB1c3RhcgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
420
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
421
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
422
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
423
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
424
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMg
425
- Y2xhc3MgcmVwcmVzZW50cyBhIERvY2tlciBJbWFnZS4KY2xhc3MgRG9ja2Vy
426
- OjpFdmVudAogIGluY2x1ZGUgRG9ja2VyOjpFcnJvcgoKICBhdHRyX2FjY2Vz
427
- c29yIDpzdGF0dXMsIDppZCwgOmZyb20sIDp0aW1lCgogIGRlZiBpbml0aWFs
428
- aXplKHN0YXR1cywgaWQsIGZyb20sIHRpbWUpCiAgICBAc3RhdHVzLCBAaWQs
429
- IEBmcm9tLCBAdGltZSA9IHN0YXR1cywgaWQsIGZyb20sIHRpbWUKICBlbmQK
430
- CiAgZGVmIHRvX3MKICAgICJEb2NrZXI6OkV2ZW50IHsgOnN0YXR1cyA9PiAj
431
- e3NlbGYuc3RhdHVzfSwgOmlkID0+ICN7c2VsZi5pZH0sICJcCiAgICAgICI6
432
- ZnJvbSA9PiAje3NlbGYuZnJvbX0sIDp0aW1lID0+ICN7c2VsZi50aW1lfSB9
433
- IgogIGVuZAoKICBjbGFzcyA8PCBzZWxmCiAgICBpbmNsdWRlIERvY2tlcjo6
434
- RXJyb3IKCiAgICBkZWYgc3RyZWFtKG9wdHMgPSB7fSwgY29ubiA9IERvY2tl
435
- ci5jb25uZWN0aW9uLCAmYmxvY2spCiAgICAgIGNvbm4uZ2V0KCcvZXZlbnRz
436
- Jywgb3B0cywgOnJlc3BvbnNlX2Jsb2NrID0+IGxhbWJkYSB7IHxiLCByLCB0
437
- fAogICAgICAgIGJsb2NrLmNhbGwobmV3X2V2ZW50KGIsIHIsIHQpKQogICAg
438
- ICB9KQogICAgZW5kCgogICAgZGVmIHNpbmNlKHNpbmNlLCBvcHRzID0ge30s
439
- IGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbiwgJmJsb2NrKQogICAgICBzdHJl
440
- YW0ob3B0cy5tZXJnZSg6c2luY2UgPT4gc2luY2UpLCBjb25uLCAmYmxvY2sp
441
- CiAgICBlbmQKCiAgICBkZWYgbmV3X2V2ZW50KGJvZHksIHJlbWFpbmluZywg
442
- dG90YWwpCiAgICAgIHJldHVybiBpZiBib2R5Lm5pbD8gfHwgYm9keS5lbXB0
443
- eT8KICAgICAganNvbiA9IERvY2tlcjo6VXRpbC5wYXJzZV9qc29uKGJvZHkp
444
- CiAgICAgIERvY2tlcjo6RXZlbnQubmV3KAogICAgICAgIGpzb25bJ3N0YXR1
445
- cyddLAogICAgICAgIGpzb25bJ2lkJ10sCiAgICAgICAganNvblsnZnJvbSdd
446
- LAogICAgICAgIGpzb25bJ3RpbWUnXQogICAgICApCiAgICBlbmQKICBlbmQK
447
- ZW5kCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZG9ja2VyL2V4ZWMucmIAAAAA
448
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
449
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQA
450
- MDAwMTc1MAAwMDAxNzUwADAwMDAwMDA2MTYxADEyNDY2NzczMTM2ADAxMDYw
451
- MgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
452
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
453
- AAAAAAAAAAAAAAAAAAB1c3RhcgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
454
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
455
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
456
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
457
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
458
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj
459
- IFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIERvY2tlciBFeGVjIEluc3RhbmNl
460
- LgpjbGFzcyBEb2NrZXI6OkV4ZWMKICBpbmNsdWRlIERvY2tlcjo6QmFzZQoK
461
- ICAjIENvbnZlcnQgZGV0YWlscyBhYm91dCB0aGUgb2JqZWN0IGludG8gYSBz
462
- dHJpbmcKICAjCiAgIyBAcmV0dXJuIFtTdHJpbmddIFN0cmluZyByZXByZXNl
463
- bnRhdGlvbiBvZiB0aGUgRXhlYyBpbnN0YW5jZSBvYmplY3QKICBkZWYgdG9f
464
- cwogICAgIkRvY2tlcjo6RXhlYyB7IDppZCA9PiAje3NlbGYuaWR9LCA6Y29u
465
- bmVjdGlvbiA9PiAje3NlbGYuY29ubmVjdGlvbn0gfSIKICBlbmQKCiAgIyBD
466
- cmVhdGUgYSBuZXcgRXhlYyBpbnN0YW5jZSBpbiBhIHJ1bm5pbmcgY29udGFp
467
- bmVyLiBQbGVhc2Ugbm90ZSwgdGhpcyBkb2VzCiAgIyBOT1QgZXhlY3V0ZSB0
468
- aGUgaW5zdGFuY2UgLSB5b3UgbXVzdCBydW4gI3N0YXJ0LiBBbHNvLCBlYWNo
469
- IGluc3RhbmNlIGlzCiAgIyBvbmUtdGltZSB1c2Ugb25seS4KICAjCiAgIyBA
470
- cGFyYW0gb3B0aW9ucyBbSGFzaF0gUGFyYW1ldGVycyB0byBwYXNzIGluIHRv
471
- IHRoZSBBUEkuCiAgIyBAcGFyYW0gY29ubiBbRG9ja2VyOjpDb25uZWN0aW9u
472
- XSBDb25uZWN0aW9uIHRvIERvY2tlciBSZW1vdGUgQVBJCiAgIwogICMgQHJl
473
- dHVybiBbRG9ja2VyOjpFeGVjXSBzZWxmCiAgZGVmIHNlbGYuY3JlYXRlKG9w
474
- dGlvbnMgPSB7fSwgY29ubiA9IERvY2tlci5jb25uZWN0aW9uKQogICAgY29u
475
- dGFpbmVyID0gb3B0aW9ucy5kZWxldGUoJ0NvbnRhaW5lcicpCiAgICByZXNw
476
- ID0gY29ubi5wb3N0KCIvY29udGFpbmVycy8je2NvbnRhaW5lcn0vZXhlYyIs
477
- IHt9LAogICAgICA6Ym9keSA9PiBvcHRpb25zLnRvX2pzb24pCiAgICBoYXNo
478
- ID0gRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24ocmVzcCkgfHwge30KICAgIG5l
479
- dyhjb25uLCBoYXNoKQogIGVuZAoKICAjIEdldCBpbmZvIGFib3V0IHRoZSBF
480
- eGVjIGluc3RhbmNlCiAgIwogIGRlZiBqc29uCiAgICBEb2NrZXI6OlV0aWwu
481
- cGFyc2VfanNvbihjb25uZWN0aW9uLmdldChwYXRoX2Zvcig6anNvbiksIHt9
482
- KSkKICBlbmQKCiAgIyBTdGFydCB0aGUgRXhlYyBpbnN0YW5jZS4gVGhlIEV4
483
- ZWMgaW5zdGFuY2UgaXMgZGVsZXRlZCBhZnRlciB0aGlzIHNvIHRoaXMKICAj
484
- IGNvbW1hbmQgY2FuIG9ubHkgYmUgcnVuIG9uY2UuCiAgIwogICMgQHBhcmFt
485
- IG9wdGlvbnMgW0hhc2hdIE9wdGlvbnMgdG8gZGljdGF0ZSBiZWhhdmlvciBv
486
- ZiB0aGUgaW5zdGFuY2UKICAjIEBvcHRpb24gb3B0aW9ucyBbT2JqZWN0XSA6
487
- c3RkaW4gKG5pbCkgVGhlIG9iamVjdCB0byBwYXNzIHRvIFNURElOLgogICMg
488
- QG9wdGlvbiBvcHRpb25zIFtUcnVlQ2xhc3MsIEZhbHNlQ2xhc3NdIDpkZXRh
489
- Y2ggKGZhbHNlKSBXaGV0aGVyIHRvIGF0dGFjaAogICMgICAgIHRvIFNURE9V
490
- VC9TVERFUlIuCiAgIyBAb3B0aW9uIG9wdGlvbnMgW1RydWVDbGFzcywgRmFs
491
- c2VDbGFzc10gOnR0eSAoZmFsc2UpIFdoZXRoZXIgdG8gYXR0YWNoIHVzaW5n
492
- CiAgIyAgICAgYSBwc2V1ZG8tVFRZLgogICMKICAjIEByZXR1cm4gW0FycmF5
493
- LCBBcnJheSwgU3RyaW5nXSBUaGUgU1RET1VULCBTVERFUlIgYW5kIGV4aXQg
494
- Y29kZQogIGRlZiBzdGFydCEob3B0aW9ucyA9IHt9LCAmYmxvY2spCgogICAg
495
- IyBQYXJzZSB0aGUgT3B0aW9ucwogICAgdHR5ID0gISFvcHRpb25zLmRlbGV0
496
- ZSg6dHR5KQogICAgZGV0YWNoZWQgPSAhIW9wdGlvbnMuZGVsZXRlKDpkZXRh
497
- Y2gpCiAgICBzdGRpbiA9IG9wdGlvbnNbOnN0ZGluXQoKICAgICMgQ3JlYXRl
498
- IEFQSSBSZXF1ZXN0IEJvZHkKICAgIGJvZHkgPSB7CiAgICAgICJUdHkiID0+
499
- IHR0eSwKICAgICAgIkRldGFjaCIgPT4gZGV0YWNoZWQKICAgIH0KICAgIGV4
500
- Y29uX3BhcmFtcyA9IHsgOmJvZHkgPT4gYm9keS50b19qc29uIH0KCiAgICBt
501
- c2dzID0gRG9ja2VyOjpNZXNzYWdlcy5uZXcKICAgIHVubGVzcyBkZXRhY2hl
502
- ZAogICAgICBpZiBzdGRpbgogICAgICAgIGV4Y29uX3BhcmFtc1s6aGlqYWNr
503
- X2Jsb2NrXSA9IERvY2tlcjo6VXRpbC5oaWphY2tfZm9yKHN0ZGluLCBibG9j
504
- aywKICAgICAgICAgIG1zZ3MsIHR0eSkKICAgICAgZWxzZQogICAgICAgIGV4
505
- Y29uX3BhcmFtc1s6cmVzcG9uc2VfYmxvY2tdID0gRG9ja2VyOjpVdGlsLmF0
506
- dGFjaF9mb3IoYmxvY2ssCiAgICAgICAgICBtc2dzLCB0dHkpCiAgICAgIGVu
507
- ZAogICAgZW5kCgogICAgY29ubmVjdGlvbi5wb3N0KHBhdGhfZm9yKDpzdGFy
508
- dCksIG5pbCwgZXhjb25fcGFyYW1zKQogICAgW21zZ3Muc3Rkb3V0X21lc3Nh
509
- Z2VzLCBtc2dzLnN0ZGVycl9tZXNzYWdlcywgc2VsZi5qc29uWydFeGl0Q29k
510
- ZSddXQogIGVuZAoKICAjICNzdGFydCEgcGVyZm9ybXMgdGhlIGFzc29jaWF0
511
- ZWQgYWN0aW9uIGFuZCByZXR1cm5zIHRoZSBvdXRwdXQuCiAgIyAjc3RhcnQg
512
- ZG9lcyB0aGUgc2FtZSwgYnV0IHJlc2N1ZXMgZnJvbSBTZXJ2ZXJFcnJvcnMu
513
- CiAgWzpzdGFydF0uZWFjaCBkbyB8bWV0aG9kfAogICAgZGVmaW5lX21ldGhv
514
- ZChtZXRob2QpIGRvIHwqYXJnc3wKICAgICAgYmVnaW47IHB1YmxpY19zZW5k
515
- KDoiI3ttZXRob2R9ISIsICphcmdzKTsgcmVzY3VlIFNlcnZlckVycm9yOyBz
516
- ZWxmIGVuZAogICAgZW5kCiAgZW5kCgogICMgUmVzaXplIHRoZSBUVFkgYXNz
517
- b2NpYXRlZCB3aXRoIHRoZSBFeGVjIGluc3RhbmNlCiAgIwogICMgQHBhcmFt
518
- IHF1ZXJ5IFtIYXNoXSBBUEkgcXVlcnkgcGFyYW1ldGVycwogICMgQG9wdGlv
519
- biBxdWVyeSBbRml4bnVtXSBoIEhlaWdodCBvZiB0aGUgVFRZCiAgIyBAb3B0
520
- aW9uIHF1ZXJ5IFtGaXhudW1dIHcgV2lkdGggb2YgdGhlIFRUWQogICMKICAj
521
- IEByZXR1cm4gW0RvY2tlcjo6RXhlY10gc2VsZgogIGRlZiByZXNpemUocXVl
522
- cnkgPSB7fSkKICAgIGNvbm5lY3Rpb24ucG9zdChwYXRoX2Zvcig6cmVzaXpl
523
- KSwgcXVlcnkpCiAgICBzZWxmCiAgZW5kCgogICMgR2V0IHRoZSByZXF1ZXN0
524
- IFVSSSBmb3IgdGhlIGdpdmVuIGVuZHBvaW50CiAgIwogICMgQHBhcmFtIGVu
525
- ZHBvaW50IFtTeW1ib2xdIFRoZSBlbmRwb2ludCB0byBncmFiCiAgIyBAcmV0
526
- dXJuIFtTdHJpbmddIFRoZSBmdWxsIFJlbW90ZSBBUEkgZW5kcG9pbnQgd2l0
527
- aCBJRAogIGRlZiBwYXRoX2ZvcihlbmRwb2ludCkKICAgICIvZXhlYy8je3Nl
528
- bGYuaWR9LyN7ZW5kcG9pbnR9IgogIGVuZAoKICBwcml2YXRlIDpwYXRoX2Zv
529
- cgogIHByaXZhdGVfY2xhc3NfbWV0aG9kIDpuZXcKZW5kCgAAAAAAAAAAAAAA
530
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
531
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
532
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
533
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
534
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
535
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
536
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
537
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
538
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRvY2tlci9pbWFnZS5yYgAA
539
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
540
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0
541
- ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAyMzUyMAAxMjQ2Njc3MzEwMwAwMTA3
542
- MzAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
543
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
544
- AAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
545
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
546
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
547
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
548
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
549
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
550
- IyBUaGlzIGNsYXNzIHJlcHJlc2VudHMgYSBEb2NrZXIgSW1hZ2UuCmNsYXNz
551
- IERvY2tlcjo6SW1hZ2UKICBpbmNsdWRlIERvY2tlcjo6QmFzZQoKICAjIEdp
552
- dmVuIGEgY29tbWFuZCBhbmQgb3B0aW9uYWwgbGlzdCBvZiBzdHJlYW1zIHRv
553
- IGF0dGFjaCB0bywgcnVuIGEgY29tbWFuZCBvbgogICMgYW4gSW1hZ2UuIFRo
554
- aXMgd2lsbCBub3QgbW9kaWZ5IHRoZSBJbWFnZSwgYnV0IHJhdGhlciBjcmVh
555
- dGUgYSBuZXcgQ29udGFpbmVyCiAgIyB0byBydW4gdGhlIEltYWdlLiBJZiB0
556
- aGUgaW1hZ2UgaGFzIGFuIGVtYmVkZGVkIGNvbmZpZywgbm8gY29tbWFuZCBp
557
- cwogICMgbmVjZXNzYXJ5LCBidXQgaXQgd2lsbCBmYWlsIHdpdGggNTAwIGlm
558
- IG5vIGNvbmZpZyBpcyBzYXZlZCB3aXRoIHRoZSBpbWFnZQogIGRlZiBydW4o
559
- Y21kPW5pbCkKICAgIG9wdHMgPSB7ICdJbWFnZScgPT4gc2VsZi5pZCB9CiAg
560
- ICBvcHRzWyJDbWQiXSA9IGNtZC5pc19hPyhTdHJpbmcpID8gY21kLnNwbGl0
561
- KC9ccysvKSA6IGNtZAogICAgYmVnaW4KICAgICAgRG9ja2VyOjpDb250YWlu
562
- ZXIuY3JlYXRlKG9wdHMsIGNvbm5lY3Rpb24pCiAgICAgICAgICAgICAgICAg
563
- ICAgICAgLnRhcCgmOnN0YXJ0ISkKICAgIHJlc2N1ZSBTZXJ2ZXJFcnJvciA9
564
- PiBleAogICAgICBpZiBjbWQKICAgICAgICByYWlzZSBleAogICAgICBlbHNl
565
- CiAgICAgICAgcmFpc2UgU2VydmVyRXJyb3IsICJObyBjb21tYW5kIHNwZWNp
566
- ZmllZC4iCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCgogICMgUHVzaCB0aGUg
567
- SW1hZ2UgdG8gdGhlIERvY2tlciByZWdpc3RyeS4KICBkZWYgcHVzaChjcmVk
568
- cyA9IG5pbCwgb3B0aW9ucyA9IHt9LCAmYmxvY2spCiAgICByZXBvX3RhZyA9
569
- IG9wdGlvbnMuZGVsZXRlKDpyZXBvX3RhZykgfHwgZW5zdXJlX3JlcG9fdGFn
570
- cy5maXJzdAogICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIkltYWdlIGlzIHVu
571
- dGFnZ2VkIiBpZiByZXBvX3RhZy5uaWw/CiAgICByZXBvLCB0YWcgPSBEb2Nr
572
- ZXI6OlV0aWwucGFyc2VfcmVwb190YWcocmVwb190YWcpCiAgICByYWlzZSBB
573
- cmd1bWVudEVycm9yLCAiSW1hZ2UgZG9lcyBub3QgaGF2ZSBhIG5hbWUgdG8g
574
- cHVzaC4iIGlmIHJlcG8ubmlsPwoKICAgIGJvZHkgPSAiIgogICAgY3JlZGVu
575
- dGlhbHMgPSBjcmVkcyB8fCBEb2NrZXIuY3JlZHMgfHwge30KICAgIGhlYWRl
576
- cnMgPSBEb2NrZXI6OlV0aWwuYnVpbGRfYXV0aF9oZWFkZXIoY3JlZGVudGlh
577
- bHMpCiAgICBvcHRzID0gezp0YWcgPT4gdGFnfS5tZXJnZShvcHRpb25zKQog
578
- ICAgY29ubmVjdGlvbi5wb3N0KCIvaW1hZ2VzLyN7cmVwb30vcHVzaCIsIG9w
579
- dHMsIDpoZWFkZXJzID0+IGhlYWRlcnMsCiAgICAgICAgICAgICAgICAgICAg
580
- OnJlc3BvbnNlX2Jsb2NrID0+IHNlbGYuY2xhc3MucmVzcG9uc2VfYmxvY2so
581
- Ym9keSwgJmJsb2NrKSkKICAgIHNlbGYKICBlbmQKCiAgIyBUYWcgdGhlIElt
582
- YWdlLgogIGRlZiB0YWcob3B0cyA9IHt9KQogICAgc2VsZi5pbmZvWydSZXBv
583
- VGFncyddIHx8PSBbXQogICAgY29ubmVjdGlvbi5wb3N0KHBhdGhfZm9yKDp0
584
- YWcpLCBvcHRzKQogICAgcmVwbyA9IG9wdHNbJ3JlcG8nXSB8fCBvcHRzWzpy
585
- ZXBvXQogICAgdGFnID0gb3B0c1sndGFnJ10gfHwgb3B0c1s6dGFnXSB8fCAn
586
- bGF0ZXN0JwogICAgc2VsZi5pbmZvWydSZXBvVGFncyddIDw8ICIje3JlcG99
587
- OiN7dGFnfSIKICBlbmQKCiAgIyBHaXZlbiBhIHBhdGggb2YgYSBsb2NhbCBm
588
- aWxlIGFuZCB0aGUgcGF0aCBpdCBzaG91bGQgYmUgaW5zZXJ0ZWQsIGNyZWF0
589
- ZXMKICAjIGEgbmV3IEltYWdlIHRoYXQgaGFzIHRoYXQgZmlsZS4KICBkZWYg
590
- aW5zZXJ0X2xvY2FsKG9wdHMgPSB7fSkKICAgIGxvY2FsX3BhdGhzID0gb3B0
591
- cy5kZWxldGUoJ2xvY2FsUGF0aCcpCiAgICBvdXRwdXRfcGF0aCA9IG9wdHMu
592
- ZGVsZXRlKCdvdXRwdXRQYXRoJykKCiAgICBsb2NhbF9wYXRocyA9IFsgbG9j
593
- YWxfcGF0aHMgXSB1bmxlc3MgbG9jYWxfcGF0aHMuaXNfYT8oQXJyYXkpCgog
594
- ICAgZmlsZV9oYXNoID0gRG9ja2VyOjpVdGlsLmZpbGVfaGFzaF9mcm9tX3Bh
595
- dGhzKGxvY2FsX3BhdGhzKQoKICAgIGZpbGVfaGFzaFsnRG9ja2VyZmlsZSdd
596
- ID0gZG9ja2VyZmlsZV9mb3IoZmlsZV9oYXNoLCBvdXRwdXRfcGF0aCkKCiAg
597
- ICB0YXIgPSBEb2NrZXI6OlV0aWwuY3JlYXRlX3RhcihmaWxlX2hhc2gpCiAg
598
- ICBib2R5ID0gY29ubmVjdGlvbi5wb3N0KCcvYnVpbGQnLCBvcHRzLCA6Ym9k
599
- eSA9PiB0YXIpCiAgICBzZWxmLmNsYXNzLnNlbmQoOm5ldywgY29ubmVjdGlv
600
- biwgJ2lkJyA9PiBEb2NrZXI6OlV0aWwuZXh0cmFjdF9pZChib2R5KSkKICBl
601
- bmQKCiAgIyBSZW1vdmUgdGhlIEltYWdlIGZyb20gdGhlIHNlcnZlci4KICBk
602
- ZWYgcmVtb3ZlKG9wdHMgPSB7fSkKICAgIG5hbWUgPSBvcHRzLmRlbGV0ZSg6
603
- bmFtZSkgfHwgc2VsZi5pZAogICAgY29ubmVjdGlvbi5kZWxldGUoIi9pbWFn
604
- ZXMvI3tuYW1lfSIsIG9wdHMpCiAgZW5kCiAgYWxpYXNfbWV0aG9kIDpkZWxl
605
- dGUsIDpyZW1vdmUKCiAgIyBSZXR1cm4gYSBTdHJpbmcgcmVwcmVzZW50YXRp
606
- b24gb2YgdGhlIEltYWdlLgogIGRlZiB0b19zCiAgICAiRG9ja2VyOjpJbWFn
607
- ZSB7IDppZCA9PiAje3NlbGYuaWR9LCA6aW5mbyA9PiAje3NlbGYuaW5mby5p
608
- bnNwZWN0fSwgIlwKICAgICAgIjpjb25uZWN0aW9uID0+ICN7c2VsZi5jb25u
609
- ZWN0aW9ufSB9IgogIGVuZAoKICAjICNqc29uIHJldHVybnMgZXh0cmEgaW5m
610
- b3JtYXRpb24gYWJvdXQgYW4gSW1hZ2UsICNoaXN0b3J5IHJldHVybnMgaXRz
611
- CiAgIyBoaXN0b3J5LgogIFs6anNvbiwgOmhpc3RvcnldLmVhY2ggZG8gfG1l
612
- dGhvZHwKICAgIGRlZmluZV9tZXRob2QobWV0aG9kKSBkbyB8b3B0cyA9IHt9
613
- fAogICAgICBEb2NrZXI6OlV0aWwucGFyc2VfanNvbihjb25uZWN0aW9uLmdl
614
- dChwYXRoX2ZvcihtZXRob2QpLCBvcHRzKSkKICAgIGVuZAogIGVuZAoKICAj
615
- IFNhdmUgdGhlIGltYWdlIGFzIGEgdGFyYmFsbAogIGRlZiBzYXZlKGZpbGVu
616
- YW1lID0gbmlsKQogICAgc2VsZi5jbGFzcy5zYXZlKHNlbGYuaWQsIGZpbGVu
617
- YW1lLCBjb25uZWN0aW9uKQogIGVuZAoKICAjIFVwZGF0ZSB0aGUgQGluZm8g
618
- aGFzaCwgd2hpY2ggaXMgdGhlIG9ubHkgbXV0YWJsZSBzdGF0ZSBpbiB0aGlz
619
- IG9iamVjdC4KICBkZWYgcmVmcmVzaCEKICAgIGltZyA9IERvY2tlcjo6SW1h
620
- Z2UuYWxsKHs6YWxsID0+IHRydWV9LCBjb25uZWN0aW9uKS5maW5kIHsgfGlt
621
- YWdlfAogICAgICBpbWFnZS5pZC5zdGFydF93aXRoPyhzZWxmLmlkKSB8fCBz
622
- ZWxmLmlkLnN0YXJ0X3dpdGg/KGltYWdlLmlkKQogICAgfQogICAgaW5mby5t
623
- ZXJnZSEoc2VsZi5qc29uKQogICAgaW1nICYmIGluZm8ubWVyZ2UhKGltZy5p
624
- bmZvKQogICAgc2VsZgogIGVuZAoKICBjbGFzcyA8PCBzZWxmCgogICAgIyBD
625
- cmVhdGUgYSBuZXcgSW1hZ2UuCiAgICBkZWYgY3JlYXRlKG9wdHMgPSB7fSwg
626
- Y3JlZHMgPSBuaWwsIGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbiwgJmJsb2Nr
627
- KQogICAgICBjcmVkZW50aWFscyA9IGNyZWRzLm5pbD8gPyBEb2NrZXIuY3Jl
628
- ZHMgOiBjcmVkcy50b19qc29uCiAgICAgIGhlYWRlcnMgPSBjcmVkZW50aWFs
629
- cyAmJiBEb2NrZXI6OlV0aWwuYnVpbGRfYXV0aF9oZWFkZXIoY3JlZGVudGlh
630
- bHMpIHx8IHt9CiAgICAgIGJvZHkgPSAnJwogICAgICBjb25uLnBvc3QoCiAg
631
- ICAgICAgJy9pbWFnZXMvY3JlYXRlJywKICAgICAgICBvcHRzLAogICAgICAg
632
- IDpoZWFkZXJzID0+IGhlYWRlcnMsCiAgICAgICAgOnJlc3BvbnNlX2Jsb2Nr
633
- ID0+IHJlc3BvbnNlX2Jsb2NrKGJvZHksICZibG9jaykKICAgICAgKQogICAg
634
- ICBqc29uID0gRG9ja2VyOjpVdGlsLmZpeF9qc29uKGJvZHkpCiAgICAgIGlt
635
- YWdlID0ganNvbi5yZXZlcnNlX2VhY2guZmluZCB7IHxlbHwgZWwgJiYgZWwu
636
- a2V5PygnaWQnKSB9CiAgICAgIG5ldyhjb25uLCAnaWQnID0+IGltYWdlICYm
637
- IGltYWdlLmZldGNoKCdpZCcpLCA6aGVhZGVycyA9PiBoZWFkZXJzKQogICAg
638
- ZW5kCgogICAgIyBSZXR1cm4gYSBzcGVjaWZpYyBpbWFnZS4KICAgIGRlZiBn
639
- ZXQoaWQsIG9wdHMgPSB7fSwgY29ubiA9IERvY2tlci5jb25uZWN0aW9uKQog
640
- ICAgICBpbWFnZV9qc29uID0gY29ubi5nZXQoIi9pbWFnZXMvI3tVUkkuZW5j
641
- b2RlKGlkKX0vanNvbiIsIG9wdHMpCiAgICAgIGhhc2ggPSBEb2NrZXI6OlV0
642
- aWwucGFyc2VfanNvbihpbWFnZV9qc29uKSB8fCB7fQogICAgICBuZXcoY29u
643
- biwgaGFzaCkKICAgIGVuZAoKICAgICMgU2F2ZSB0aGUgcmF3IGJpbmFyeSBy
644
- ZXByZXNlbnRhdGlvbiBvciBvbmUgb3IgbW9yZSBEb2NrZXIgaW1hZ2VzCiAg
645
- ICAjCiAgICAjIEBwYXJhbSBuYW1lcyBbU3RyaW5nLCBBcnJheSNTdHJpbmdd
646
- IFRoZSBpbWFnZShzKSB5b3Ugd2lzaCB0byBzYXZlCiAgICAjIEBwYXJhbSBm
647
- aWxlbmFtZSBbU3RyaW5nXSBUaGUgZmlsZSB0byBleHBvcnQgdGhlIGRhdGEg
648
- dG8uCiAgICAjIEBwYXJhbSBjb25uIFtEb2NrZXI6OkNvbm5lY3Rpb25dIFRo
649
- ZSBEb2NrZXIgY29ubmVjdGlvbiB0byB1c2UKICAgICMKICAgICMgQHJldHVy
650
- biBbTmlsQ2xhc3MsIFN0cmluZ10gSWYgZmlsZW5hbWUgaXMgbmlsLCByZXR1
651
- cm4gdGhlIHN0cmluZwogICAgIyByZXByZXNlbnRhdGlvbiBvZiB0aGUgYmlu
652
- YXJ5IGRhdGEuIElmIHRoZSBmaWxlbmFtZSBpcyBub3QgbmlsLCB0aGVuCiAg
653
- ICAjIHJldHVybiBuaWwuCiAgICBkZWYgc2F2ZShuYW1lcywgZmlsZW5hbWUg
654
- PSBuaWwsIGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgIyBCeSB1
655
- c2luZyBjb21wYXJlX2J5X2lkZW50aXR5IHdlIGNhbiBjcmVhdGUgYSBIYXNo
656
- IHRoYXQgaGFzCiAgICAgICMgdGhlIHNhbWUga2V5IG11bHRpcGxlIHRpbWVz
657
- LgogICAgICBxdWVyeSA9IHt9CiAgICAgIHF1ZXJ5LmNvbXBhcmVfYnlfaWRl
658
- bnRpdHkKICAgICAgQXJyYXkobmFtZXMpLmVhY2ggZG8gfG5hbWV8CiAgICAg
659
- ICAgcXVlcnlbJ25hbWVzJ10gPSBVUkkuZW5jb2RlKG5hbWUpCiAgICAgIGVu
660
- ZAoKICAgICAgaWYgZmlsZW5hbWUKICAgICAgICBmaWxlID0gRmlsZS5vcGVu
661
- KGZpbGVuYW1lLCAnd2InKQogICAgICAgIGNvbm4uZ2V0KAogICAgICAgICAg
662
- Jy9pbWFnZXMvZ2V0JywgcXVlcnksCiAgICAgICAgICA6cmVzcG9uc2VfYmxv
663
- Y2sgPT4gcmVzcG9uc2VfYmxvY2tfZm9yX3NhdmUoZmlsZSkKICAgICAgICAp
664
- CiAgICAgICAgZmlsZS5jbG9zZQogICAgICAgIG5pbAogICAgICBlbHNlCiAg
665
- ICAgICAgY29ubi5nZXQoJy9pbWFnZXMvZ2V0JywgcXVlcnkpCiAgICAgIGVu
666
- ZAogICAgZW5kCgogICAgIyBDaGVjayBpZiBhbiBpbWFnZSBleGlzdHMuCiAg
667
- ICBkZWYgZXhpc3Q/KGlkLCBvcHRzID0ge30sIGNvbm4gPSBEb2NrZXIuY29u
668
- bmVjdGlvbikKICAgICAgZ2V0KGlkLCBvcHRzLCBjb25uKQogICAgICB0cnVl
669
- CiAgICByZXNjdWUgRG9ja2VyOjpFcnJvcjo6Tm90Rm91bmRFcnJvcgogICAg
670
- ICBmYWxzZQogICAgZW5kCgogICAgIyBSZXR1cm4gZXZlcnkgSW1hZ2UuCiAg
671
- ICBkZWYgYWxsKG9wdHMgPSB7fSwgY29ubiA9IERvY2tlci5jb25uZWN0aW9u
672
- KQogICAgICBoYXNoZXMgPSBEb2NrZXI6OlV0aWwucGFyc2VfanNvbihjb25u
673
- LmdldCgnL2ltYWdlcy9qc29uJywgb3B0cykpIHx8IFtdCiAgICAgIGhhc2hl
674
- cy5tYXAgeyB8aGFzaHwgbmV3KGNvbm4sIGhhc2gpIH0KICAgIGVuZAoKICAg
675
- ICMgR2l2ZW4gYSBxdWVyeSBsaWtlIGB7IDp0ZXJtID0+ICdzc2hkJyB9YCwg
676
- cXVlcmllcyB0aGUgRG9ja2VyIFJlZ2lzdHJ5IGZvcgogICAgIyBhIGNvcnJl
677
- c3BvbmRpbmcgSW1hZ2UuCiAgICBkZWYgc2VhcmNoKHF1ZXJ5ID0ge30sIGNv
678
- bm5lY3Rpb24gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgYm9keSA9IGNv
679
- bm5lY3Rpb24uZ2V0KCcvaW1hZ2VzL3NlYXJjaCcsIHF1ZXJ5KQogICAgICBo
680
- YXNoZXMgPSBEb2NrZXI6OlV0aWwucGFyc2VfanNvbihib2R5KSB8fCBbXQog
681
- ICAgICBoYXNoZXMubWFwIHsgfGhhc2h8IG5ldyhjb25uZWN0aW9uLCAnaWQn
682
- ID0+IGhhc2hbJ25hbWUnXSkgfQogICAgZW5kCgogICAgIyBJbXBvcnQgYW4g
683
- SW1hZ2UgZnJvbSB0aGUgb3V0cHV0IG9mIERvY2tlcjo6Q29udGFpbmVyI2V4
684
- cG9ydC4gVGhlIGZpcnN0CiAgICAjIGFyZ3VtZW50IG1heSBlaXRoZXIgYmUg
685
- YSBGaWxlIG9yIFVSSS4KICAgIGRlZiBpbXBvcnQoaW1wLCBvcHRzID0ge30s
686
- IGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgb3BlbihpbXApIGRv
687
- IHxpb3wKICAgICAgICBpbXBvcnRfc3RyZWFtKG9wdHMsIGNvbm4pIGRvCiAg
688
- ICAgICAgICBpby5yZWFkKEV4Y29uLmRlZmF1bHRzWzpjaHVua19zaXplXSku
689
- dG9fcwogICAgICAgIGVuZAogICAgICBlbmQKICAgIHJlc2N1ZSBTdGFuZGFy
690
- ZEVycm9yCiAgICAgIHJhaXNlIERvY2tlcjo6RXJyb3I6OklPRXJyb3IsICJD
691
- b3VsZCBub3QgaW1wb3J0ICcje2ltcH0nIgogICAgZW5kCgogICAgZGVmIGlt
692
- cG9ydF9zdHJlYW0ob3B0aW9ucyA9IHt9LCBjb25uZWN0aW9uID0gRG9ja2Vy
693
- LmNvbm5lY3Rpb24sICZibG9jaykKICAgICAgYm9keSA9IGNvbm5lY3Rpb24u
694
- cG9zdCgKICAgICAgICAnL2ltYWdlcy9jcmVhdGUnLAogICAgICAgICBvcHRp
695
- b25zLm1lcmdlKCdmcm9tU3JjJyA9PiAnLScpLAogICAgICAgICA6aGVhZGVy
696
- cyA9PiB7ICdDb250ZW50LVR5cGUnID0+ICdhcHBsaWNhdGlvbi90YXInLAog
697
- ICAgICAgICAgICAgICAgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZycgPT4g
698
- J2NodW5rZWQnIH0sCiAgICAgICAgICZibG9jawogICAgICApCiAgICAgIG5l
699
- dyhjb25uZWN0aW9uLCAnaWQnPT4gRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24o
700
- Ym9keSlbJ3N0YXR1cyddKQogICAgZW5kCgogICAgIyBHaXZlbiBhIERvY2tl
701
- cmZpbGUgYXMgYSBzdHJpbmcsIGJ1aWxkcyBhbiBJbWFnZS4KICAgIGRlZiBi
702
- dWlsZChjb21tYW5kcywgb3B0cyA9IHt9LCBjb25uZWN0aW9uID0gRG9ja2Vy
703
- LmNvbm5lY3Rpb24sICZibG9jaykKICAgICAgYm9keSA9ICIiCiAgICAgIGNv
704
- bm5lY3Rpb24ucG9zdCgKICAgICAgICAnL2J1aWxkJywgb3B0cywKICAgICAg
705
- ICA6Ym9keSA9PiBEb2NrZXI6OlV0aWwuY3JlYXRlX3RhcignRG9ja2VyZmls
706
- ZScgPT4gY29tbWFuZHMpLAogICAgICAgIDpyZXNwb25zZV9ibG9jayA9PiBy
707
- ZXNwb25zZV9ibG9jayhib2R5LCAmYmxvY2spCiAgICAgICkKICAgICAgbmV3
708
- KGNvbm5lY3Rpb24sICdpZCcgPT4gRG9ja2VyOjpVdGlsLmV4dHJhY3RfaWQo
709
- Ym9keSkpCiAgICByZXNjdWUgRG9ja2VyOjpFcnJvcjo6U2VydmVyRXJyb3IK
710
- ICAgICAgcmFpc2UgRG9ja2VyOjpFcnJvcjo6VW5leHBlY3RlZFJlc3BvbnNl
711
- RXJyb3IKICAgIGVuZAoKICAgICMgR2l2ZW4gRmlsZSBsaWtlIG9iamVjdCBj
712
- b250YWluaW5nIGEgdGFyIGZpbGUsIGJ1aWxkcyBhbiBJbWFnZS4KICAgICMK
713
- ICAgICMgSWYgYSBibG9jayBpcyBwYXNzZWQsIGNodW5rcyBvZiBvdXRwdXQg
714
- cHJvZHVjZWQgYnkgRG9ja2VyIHdpbGwgYmUgcGFzc2VkCiAgICAjIHRvIHRo
715
- YXQgYmxvY2suCiAgICBkZWYgYnVpbGRfZnJvbV90YXIodGFyLCBvcHRzID0g
716
- e30sIGNvbm5lY3Rpb24gPSBEb2NrZXIuY29ubmVjdGlvbiwKICAgICAgICAg
717
- ICAgICAgICAgICAgICBjcmVkcyA9IG5pbCwgJmJsb2NrKQoKICAgICAgaGVh
718
- ZGVycyA9IGJ1aWxkX2hlYWRlcnMoY3JlZHMpCgogICAgICAjIFRoZSByZXNw
719
- b25zZV9ibG9jayBwYXNzZWQgdG8gRXhjb24gd2lsbCBidWlsZCB1cCB0aGlz
720
- IGJvZHkgdmFyaWFibGUuCiAgICAgIGJvZHkgPSAiIgogICAgICBjb25uZWN0
721
- aW9uLnBvc3QoCiAgICAgICAgJy9idWlsZCcsIG9wdHMsCiAgICAgICAgOmhl
722
- YWRlcnMgPT4gaGVhZGVycywKICAgICAgICA6cmVzcG9uc2VfYmxvY2sgPT4g
723
- cmVzcG9uc2VfYmxvY2soYm9keSwgJmJsb2NrKQogICAgICApIHsgdGFyLnJl
724
- YWQoRXhjb24uZGVmYXVsdHNbOmNodW5rX3NpemVdKS50b19zIH0KCiAgICAg
725
- IG5ldyhjb25uZWN0aW9uLAogICAgICAgICAgJ2lkJyA9PiBEb2NrZXI6OlV0
726
- aWwuZXh0cmFjdF9pZChib2R5KSwKICAgICAgICAgIDpoZWFkZXJzID0+IGhl
727
- YWRlcnMpCiAgICBlbmQKCiAgICAjIEdpdmVuIGEgZGlyZWN0b3J5IHRoYXQg
728
- Y29udGFpbnMgYSBEb2NrZXJmaWxlLCBidWlsZHMgYW4gSW1hZ2UuCiAgICAj
729
- CiAgICAjIElmIGEgYmxvY2sgaXMgcGFzc2VkLCBjaHVua3Mgb2Ygb3V0cHV0
730
- IHByb2R1Y2VkIGJ5IERvY2tlciB3aWxsIGJlIHBhc3NlZAogICAgIyB0byB0
731
- aGF0IGJsb2NrLgogICAgZGVmIGJ1aWxkX2Zyb21fZGlyKGRpciwgb3B0cyA9
732
- IHt9LCBjb25uZWN0aW9uID0gRG9ja2VyLmNvbm5lY3Rpb24sCiAgICAgICAg
733
- ICAgICAgICAgICAgICAgY3JlZHMgPSBuaWwsICZibG9jaykKCiAgICAgIHRh
734
- ciA9IERvY2tlcjo6VXRpbC5jcmVhdGVfZGlyX3RhcihkaXIpCiAgICAgIGJ1
735
- aWxkX2Zyb21fdGFyIHRhciwgb3B0cywgY29ubmVjdGlvbiwgY3JlZHMsICZi
736
- bG9jawogICAgZW5zdXJlCiAgICAgIHVubGVzcyB0YXIubmlsPwogICAgICAg
737
- IHRhci5jbG9zZQogICAgICAgIEZpbGVVdGlscy5ybSh0YXIucGF0aCwgZm9y
738
- Y2U6IHRydWUpCiAgICAgIGVuZAogICAgZW5kCiAgZW5kCgogIHByaXZhdGUK
739
- CiAgIyBBIG1ldGhvZCB0byBidWlsZCB0aGUgY29uZmlnIGhlYWRlciBhbmQg
740
- bWVyZ2UgaXQgaW50byB0aGUKICAjIGhlYWRlcnMgc2VudCBieSBidWlsZF9m
741
- cm9tX2Rpci4KICBkZWYgc2VsZi5idWlsZF9oZWFkZXJzKGNyZWRzPW5pbCkK
742
- ICAgIGNyZWRlbnRpYWxzID0gY3JlZHMgfHwgRG9ja2VyLmNyZWRzIHx8IHt9
743
- CiAgICBjb25maWdfaGVhZGVyID0gRG9ja2VyOjpVdGlsLmJ1aWxkX2NvbmZp
744
- Z19oZWFkZXIoY3JlZGVudGlhbHMpCgogICAgaGVhZGVycyA9IHsgJ0NvbnRl
745
- bnQtVHlwZScgICAgICA9PiAnYXBwbGljYXRpb24vdGFyJywKICAgICAgICAg
746
- ICAgICAgICdUcmFuc2Zlci1FbmNvZGluZycgPT4gJ2NodW5rZWQnIH0KICAg
747
- IGhlYWRlcnMgPSBoZWFkZXJzLm1lcmdlKGNvbmZpZ19oZWFkZXIpIGlmIGNv
748
- bmZpZ19oZWFkZXIKICAgIGhlYWRlcnMKICBlbmQKCiAgIyBDb252ZW5pZW5j
749
- ZSBtZXRob2QgdG8gcmV0dXJuIHRoZSBwYXRoIGZvciBhIHBhcnRpY3VsYXIg
750
- cmVzb3VyY2UuCiAgZGVmIHBhdGhfZm9yKHJlc291cmNlKQogICAgIi9pbWFn
751
- ZXMvI3tzZWxmLmlkfS8je3Jlc291cmNlfSIKICBlbmQKCgogICMgQ29udmll
752
- bmNlIG1ldGhvZCB0byBnZXQgdGhlIERvY2tlcmZpbGUgZm9yIGEgZmlsZSBo
753
- YXNoIGFuZCBhIHBhdGggdG8KICAjIG91dHB1dCB0by4KICBkZWYgZG9ja2Vy
754
- ZmlsZV9mb3IoZmlsZV9oYXNoLCBvdXRwdXRfcGF0aCkKICAgIGRvY2tlcmZp
755
- bGUgPSAiZnJvbSAje3NlbGYuaWR9XG4iCgogICAgZmlsZV9oYXNoLmtleXMu
756
- ZWFjaCBkbyB8YmFzZW5hbWV8CiAgICAgIGRvY2tlcmZpbGUgPDwgImFkZCAj
757
- e2Jhc2VuYW1lfSAje291dHB1dF9wYXRofVxuIgogICAgZW5kCgogICAgZG9j
758
- a2VyZmlsZQogIGVuZAoKICBkZWYgZW5zdXJlX3JlcG9fdGFncwogICAgcmVm
759
- cmVzaCEgdW5sZXNzIGluZm8uaGFzX2tleT8oJ1JlcG9UYWdzJykKICAgIGlu
760
- Zm9bJ1JlcG9UYWdzJ10KICBlbmQKCiAgIyBHZW5lcmF0ZXMgdGhlIGJsb2Nr
761
- IHRvIGJlIHBhc3NlZCBhcyBhIHJlcG9uc2UgYmxvY2sgdG8gRXhjb24uIFRo
762
- ZSByZXR1cm5lZAogICMgbGFtYmRhIHdpbGwgYXBwZW5kIERvY2tlciBvdXRw
763
- dXQgdG8gdGhlIGZpcnN0IGFyZ3VtZW50LCBhbmQgeWllbGQgb3V0cHV0IHRv
764
- CiAgIyB0aGUgcGFzc2VkIGJsb2NrLCBpZiBhIGJsb2NrIGlzIGdpdmVuLgog
765
- IGRlZiBzZWxmLnJlc3BvbnNlX2Jsb2NrKGJvZHkpCiAgICBsYW1iZGEgZG8g
766
- fGNodW5rLCByZW1haW5pbmcsIHRvdGFsfAogICAgICBib2R5IDw8IGNodW5r
767
- CiAgICAgIHlpZWxkIGNodW5rIGlmIGJsb2NrX2dpdmVuPwogICAgZW5kCiAg
768
- ZW5kCgogICMgR2VuZXJhdGVzIHRoZSBibG9jayB0byBiZSBwYXNzZWQgaW4g
769
- dG8gdGhlIHNhdmUgcmVxdWVzdC4gVGhpcyBsYW1iZGEgd2lsbAogICMgYXBw
770
- ZW5kIHRoZSBzdHJlYW1pbmcgZGF0YSB0byB0aGUgZmlsZSBwcm92aWRlZC4K
771
- ICBkZWYgc2VsZi5yZXNwb25zZV9ibG9ja19mb3Jfc2F2ZShmaWxlKQogICAg
772
- bGFtYmRhIGRvIHxjaHVuaywgcmVtaWFuaW5nLCB0b3RhbHwKICAgICAgZmls
773
- ZSA8PCBjaHVuawogICAgZW5kCiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAA
774
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
775
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
776
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
777
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRvY2tlci9tZXNzYWdlcy5yYgAA
778
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
779
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAw
780
- MDE3NTAAMDAwMTc1MAAwMDAwMDAwMjU3NQAxMjQ2Njc3MzEwMwAwMTE0NjQA
781
- IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
782
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
783
- AAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
784
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
785
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
786
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
787
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
788
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyBU
789
- aGlzIGNsYXNzIHJlcHJlc2VudHMgYWxsIHRoZSBtZXNzYWdlcyBlaXRoZXIg
790
- cmVjZWl2ZWQgYnkgY2h1bmtzIGZyb20gYXR0YWNoCmNsYXNzIERvY2tlcjo6
791
- TWVzc2FnZXMKCiAgYXR0cl9hY2Nlc3NvciA6YnVmZmVyLCA6c3Rkb3V0X21l
792
- c3NhZ2VzLCA6c3RkZXJyX21lc3NhZ2VzLCA6YWxsX21lc3NhZ2VzCgogIGRl
793
- ZiBpbml0aWFsaXplKHN0ZG91dF9tZXNzYWdlcz1bXSwKICAgICAgICAgICAg
794
- ICAgICBzdGRlcnJfbWVzc2FnZXM9W10sCiAgICAgICAgICAgICAgICAgYWxs
795
- X21lc3NhZ2VzPVtdLAogICAgICAgICAgICAgICAgIGJ1ZmZlcj0iIikKICAg
796
- IEBzdGRvdXRfbWVzc2FnZXMgPSBzdGRvdXRfbWVzc2FnZXMKICAgIEBzdGRl
797
- cnJfbWVzc2FnZXMgPSBzdGRlcnJfbWVzc2FnZXMKICAgIEBhbGxfbWVzc2Fn
798
- ZXMgPSBhbGxfbWVzc2FnZXMKICAgIEBidWZmZXIgPSBidWZmZXIKICBlbmQK
799
- CiAgZGVmIGFkZF9tZXNzYWdlKHNvdXJjZSwgbWVzc2FnZSkKICAgIGNhc2Ug
800
- c291cmNlCiAgICB3aGVuIDEKICAgICAgc3Rkb3V0X21lc3NhZ2VzIDw8IG1l
801
- c3NhZ2UKICAgIHdoZW4gMgogICAgICBzdGRlcnJfbWVzc2FnZXMgPDwgbWVz
802
- c2FnZQogICAgZW5kCiAgICBhbGxfbWVzc2FnZXMgPDwgbWVzc2FnZQogIGVu
803
- ZAoKICBkZWYgZ2V0X21lc3NhZ2UocmF3X3RleHQpCiAgICBoZWFkZXIgPSBy
804
- YXdfdGV4dC5zbGljZSEoMCw4KQogICAgaWYgaGVhZGVyLmxlbmd0aCA8IDgK
805
- ICAgICAgQGJ1ZmZlciA9IGhlYWRlcgogICAgICByZXR1cm4KICAgIGVuZAog
806
- ICAgdHlwZSwgbGVuZ3RoID0gaGVhZGVyLnVucGFjaygiQ3h4eE4iKQoKICAg
807
- IG1lc3NhZ2UgPSByYXdfdGV4dC5zbGljZSEoMCxsZW5ndGgpCiAgICBpZiBt
808
- ZXNzYWdlLmxlbmd0aCA8IGxlbmd0aAogICAgICBAYnVmZmVyID0gaGVhZGVy
809
- ICsgbWVzc2FnZQogICAgZWxzZQogICAgICBhZGRfbWVzc2FnZSh0eXBlLCBt
810
- ZXNzYWdlKQogICAgZW5kCiAgZW5kCgogIGRlZiBhcHBlbmQobWVzc2FnZXMp
811
- CiAgICBAc3Rkb3V0X21lc3NhZ2VzICs9IG1lc3NhZ2VzLnN0ZG91dF9tZXNz
812
- YWdlcwogICAgQHN0ZGVycl9tZXNzYWdlcyArPSBtZXNzYWdlcy5zdGRlcnJf
813
- bWVzc2FnZXMKICAgIEBhbGxfbWVzc2FnZXMgKz0gbWVzc2FnZXMuYWxsX21l
814
- c3NhZ2VzCiAgZW5kCgogICMgTWV0aG9kIHRvIGJyZWFrIGFwYXJ0IGFwcGxp
815
- Y2F0aW9uL3ZuZC5kb2NrZXIucmF3LXN0cmVhbSBoZWFkZXJzCiAgZGVmIGRl
816
- Y2lwaGVyX21lc3NhZ2VzKGJvZHkpCiAgICByYXdfdGV4dCA9IGJ1ZmZlciAr
817
- IGJvZHkuZHVwCiAgICBtZXNzYWdlcyA9IERvY2tlcjo6TWVzc2FnZXMubmV3
818
- CiAgICB3aGlsZSAhcmF3X3RleHQuZW1wdHk/CiAgICAgIG1lc3NhZ2VzLmdl
819
- dF9tZXNzYWdlKHJhd190ZXh0KQogICAgZW5kCgogICAgbWVzc2FnZXMKICBl
820
- bmQKZW5kCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
821
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
822
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
823
- AAAAZG9ja2VyL3Jha2VfdGFzay5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
824
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
825
- AAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAx
826
- MjE3ADEyMzYzMjI1MzY2ADAxMTYxMAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAA
827
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
828
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhcgAwMAAA
829
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
830
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
831
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
832
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
833
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
834
- AAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMgY2xhc3MgYWxsb3dzIGltYWdl
835
- LWJhc2VkIHRhc2tzIHRvIGJlIGNyZWF0ZWQuCmNsYXNzIERvY2tlcjo6SW1h
836
- Z2VUYXNrIDwgUmFrZTo6VGFzawogIGRlZiBzZWxmLnNjb3BlX25hbWUoX3Nj
837
- b3BlLCB0YXNrX25hbWUpCiAgICB0YXNrX25hbWUKICBlbmQKCiAgZGVmIG5l
838
- ZWRlZD8KICAgICFoYXNfcmVwb190YWc/CiAgZW5kCgogIHByaXZhdGUKCiAg
839
- ZGVmIGhhc19yZXBvX3RhZz8KICAgIGltYWdlcy5hbnk/IHsgfGltYWdlfCBp
840
- bWFnZS5pbmZvWydSZXBvVGFncyddLmluY2x1ZGU/KHJlcG9fdGFnKSB9CiAg
841
- ZW5kCgogIGRlZiBpbWFnZXMKICAgIEBpbWFnZXMgfHw9IERvY2tlcjo6SW1h
842
- Z2UuYWxsKDphbGwgPT4gdHJ1ZSkKICBlbmQKCiAgZGVmIHJlcG8KICAgIG5h
843
- bWUuc3BsaXQoJzonKVswXQogIGVuZAoKICBkZWYgdGFnCiAgICBuYW1lLnNw
844
- bGl0KCc6JylbMV0gfHwgJ2xhdGVzdCcKICBlbmQKCiAgZGVmIHJlcG9fdGFn
845
- CiAgICAiI3tyZXBvfToje3RhZ30iCiAgZW5kCmVuZAoKIyBNb25rZXlwYXRj
846
- aCBSYWtlIHRvIGFkZCB0aGUgYGltYWdlYCB0YXNrLgptb2R1bGUgUmFrZTo6
847
- RFNMCiAgZGVmIGltYWdlKCphcmdzLCAmYmxvY2spCiAgICBEb2NrZXI6Oklt
848
- YWdlVGFzay5kZWZpbmVfdGFzaygqYXJncywgJmJsb2NrKQogIGVuZAplbmQK
849
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
850
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
851
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
852
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
853
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
854
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
855
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
856
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
857
- AAAAAAAAAAAAZG9ja2VyL3V0aWwucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
858
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
859
- AAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAw
860
- MDAwMDExMTYyADEyNDY2NzczMTAzADAxMDYyMgAgMAAAAAAAAAAAAAAAAAAA
861
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
862
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3Rh
863
- cgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
864
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
865
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
866
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
867
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
868
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIFRoaXMgbW9kdWxlIGhvbGRz
869
- IHNoYXJlZCBsb2dpYyB0aGF0IGRvZXNuJ3QgcmVhbGx5IGJlbG9uZyBhbnl3
870
- aGVyZSBlbHNlIGluIHRoZQojIGdlbS4KbW9kdWxlIERvY2tlcjo6VXRpbAog
871
- IGluY2x1ZGUgRG9ja2VyOjpFcnJvcgoKICBtb2R1bGVfZnVuY3Rpb24KCiAg
872
- IyBBdHRhY2hlcyB0byBhIEhUVFAgc3RyZWFtCiAgIwogICMgQHBhcmFtIGJs
873
- b2NrCiAgIyBAcGFyYW0gbXNnX3N0YWNrIFtEb2NrZXI6Ok1lc3NhZ2VzXQog
874
- ICMgQHBhcmFtIHR0eSBbYm9vbGVhbl0KICBkZWYgYXR0YWNoX2ZvcihibG9j
875
- aywgbXNnX3N0YWNrLCB0dHkgPSBmYWxzZSkKICAgICMgSWYgVFRZIGlzIGVu
876
- YWJsZWQgZXhwZWN0IHJhdyBkYXRhIGFuZCBhcHBlbmQgdG8gc3Rkb3V0CiAg
877
- ICBpZiB0dHkKICAgICAgYXR0YWNoX2Zvcl90dHkoYmxvY2ssIG1zZ19zdGFj
878
- aykKICAgIGVsc2UKICAgICAgYXR0YWNoX2Zvcl9tdWx0aXBsZXgoYmxvY2ss
879
- IG1zZ19zdGFjaykKICAgIGVuZAogIGVuZAoKICBkZWYgYXR0YWNoX2Zvcl90
880
- dHkoYmxvY2ssIG1zZ19zdGFjaykKICAgIHJldHVybiBsYW1iZGEgZG8gfGMs
881
- cix0fAogICAgICBtc2dfc3RhY2suc3Rkb3V0X21lc3NhZ2VzIDw8IGMKICAg
882
- ICAgbXNnX3N0YWNrLmFsbF9tZXNzYWdlcyA8PCBjCiAgICAgIGJsb2NrLmNh
883
- bGwgYyBpZiBibG9jawogICAgZW5kCiAgZW5kCgogIGRlZiBhdHRhY2hfZm9y
884
- X211bHRpcGxleChibG9jaywgbXNnX3N0YWNrKQogICAgbWVzc2FnZXMgPSBE
885
- b2NrZXI6Ok1lc3NhZ2VzLm5ldwogICAgbGFtYmRhIGRvIHxjLHIsdHwKICAg
886
- ICAgbWVzc2FnZXMgPSBtZXNzYWdlcy5kZWNpcGhlcl9tZXNzYWdlcyhjKQog
887
- ICAgICBtc2dfc3RhY2suYXBwZW5kKG1lc3NhZ2VzKQoKICAgICAgdW5sZXNz
888
- IGJsb2NrLm5pbD8KICAgICAgICBtZXNzYWdlcy5zdGRvdXRfbWVzc2FnZXMu
889
- ZWFjaCBkbyB8bXNnfAogICAgICAgICAgYmxvY2suY2FsbCg6c3Rkb3V0LCBt
890
- c2cpCiAgICAgICAgZW5kCiAgICAgICAgbWVzc2FnZXMuc3RkZXJyX21lc3Nh
891
- Z2VzLmVhY2ggZG8gfG1zZ3wKICAgICAgICAgIGJsb2NrLmNhbGwoOnN0ZGVy
892
- ciwgbXNnKQogICAgICAgIGVuZAogICAgICBlbmQKICAgIGVuZAogIGVuZAoK
893
- ICBkZWYgZGVidWcobXNnKQogICAgRG9ja2VyLmxvZ2dlci5kZWJ1Zyhtc2cp
894
- IGlmIERvY2tlci5sb2dnZXIKICBlbmQKCiAgZGVmIGhpamFja19mb3Ioc3Rk
895
- aW4sIGJsb2NrLCBtc2dfc3RhY2ssIHR0eSkKICAgIGF0dGFjaF9ibG9jayA9
896
- IGF0dGFjaF9mb3IoYmxvY2ssIG1zZ19zdGFjaywgdHR5KQoKICAgIGxhbWJk
897
- YSBkbyB8c29ja2V0fAogICAgICBkZWJ1ZyAiaGlqYWNrOiBoaWphY2tpbmcg
898
- dGhlIEhUVFAgc29ja2V0IgogICAgICB0aHJlYWRzID0gW10KCiAgICAgIGRl
899
- YnVnICJoaWphY2s6IHN0YXJ0aW5nIHN0ZGluIGNvcHkgdGhyZWFkIgogICAg
900
- ICB0aHJlYWRzIDw8IFRocmVhZC5zdGFydCBkbwogICAgICAgIGRlYnVnICJo
901
- aWphY2s6IGNvcHlpbmcgc3RkaW4gPT4gc29ja2V0IgogICAgICAgIElPLmNv
902
- cHlfc3RyZWFtIHN0ZGluLCBzb2NrZXQKCiAgICAgICAgZGVidWcgImhpamFj
903
- azogY2xvc2luZyB3cml0ZSBlbmQgb2YgaGlqYWNrZWQgc29ja2V0IgogICAg
904
- ICAgIHNvY2tldC5jbG9zZV93cml0ZQogICAgICBlbmQKCiAgICAgIGRlYnVn
905
- ICJoaWphY2s6IHN0YXJ0aW5nIGhpamFja2VkIHNvY2tldCByZWFkIHRocmVh
906
- ZCIKICAgICAgdGhyZWFkcyA8PCBUaHJlYWQuc3RhcnQgZG8KICAgICAgICBk
907
- ZWJ1ZyAiaGlqYWNrOiByZWFkaW5nIGZyb20gaGlqYWNrZWQgc29ja2V0IgoK
908
- ICAgICAgICBiZWdpbgogICAgICAgICAgd2hpbGUgY2h1bmsgPSBzb2NrZXQu
909
- cmVhZHBhcnRpYWwoNTEyKQogICAgICAgICAgICBkZWJ1ZyAiaGlqYWNrOiBn
910
- b3QgI3tjaHVuay5ieXRlc2l6ZX0gYnl0ZXMgZnJvbSBoaWphY2tlZCBzb2Nr
911
- ZXQiCiAgICAgICAgICAgIGF0dGFjaF9ibG9jay5jYWxsIGNodW5rLCBuaWws
912
- IG5pbAogICAgICAgICAgZW5kCiAgICAgICAgcmVzY3VlIEVPRkVycm9yCiAg
913
- ICAgICAgZW5kCgogICAgICAgIGRlYnVnICJoaWphY2s6IGtpbGxpbmcgc3Rk
914
- aW4gY29weSB0aHJlYWQiCiAgICAgICAgdGhyZWFkcy5maXJzdC5raWxsCiAg
915
- ICAgIGVuZAoKICAgICAgdGhyZWFkcy5lYWNoKCY6am9pbikKICAgIGVuZAog
916
- IGVuZAoKICBkZWYgcGFyc2VfanNvbihib2R5KQogICAgSlNPTi5wYXJzZShi
917
- b2R5KSB1bmxlc3MgYm9keS5uaWw/IHx8IGJvZHkuZW1wdHk/IHx8IChib2R5
918
- ID09ICdudWxsJykKICByZXNjdWUgSlNPTjo6UGFyc2VyRXJyb3IgPT4gZXgK
919
- ICAgIHJhaXNlIFVuZXhwZWN0ZWRSZXNwb25zZUVycm9yLCBleC5tZXNzYWdl
920
- CiAgZW5kCgogIGRlZiBwYXJzZV9yZXBvX3RhZyhzdHIpCiAgICBpZiBtYXRj
921
- aCA9IHN0ci5tYXRjaCgvXEEoLiopOihbXjpdKilcei8pCiAgICAgIG1hdGNo
922
- LmNhcHR1cmVzCiAgICBlbHNlCiAgICAgIFtzdHIsICcnXQogICAgZW5kCiAg
923
- ZW5kCgogIGRlZiBmaXhfanNvbihib2R5KQogICAgcGFyc2VfanNvbigiWyN7
924
- Ym9keS5nc3ViKC99XHMqey8sICd9LHsnKX1dIikKICBlbmQKCiAgZGVmIGNy
925
- ZWF0ZV90YXIoaGFzaCA9IHt9KQogICAgb3V0cHV0ID0gU3RyaW5nSU8ubmV3
926
- CiAgICBHZW06OlBhY2thZ2U6OlRhcldyaXRlci5uZXcob3V0cHV0KSBkbyB8
927
- dGFyfAogICAgICBoYXNoLmVhY2ggZG8gfGZpbGVfbmFtZSwgaW5wdXR8CiAg
928
- ICAgICAgdGFyLmFkZF9maWxlKGZpbGVfbmFtZSwgMDY0MCkgeyB8dGFyX2Zp
929
- bGV8IHRhcl9maWxlLndyaXRlKGlucHV0KSB9CiAgICAgIGVuZAogICAgZW5k
930
- CiAgICBvdXRwdXQudGFwKCY6cmV3aW5kKS5zdHJpbmcKICBlbmQKCiAgZGVm
931
- IGNyZWF0ZV9kaXJfdGFyKGRpcmVjdG9yeSkKICAgIGN3ZCA9IEZpbGVVdGls
932
- cy5wd2QKICAgIHRlbXBmaWxlX25hbWUgPSBEaXI6OlRtcG5hbWUuY3JlYXRl
933
- KCdvdXQnKSB7fQogICAgdGVtcGZpbGUgPSBGaWxlLm9wZW4odGVtcGZpbGVf
934
- bmFtZSwgJ3diKycpCiAgICBGaWxlVXRpbHMuY2QoZGlyZWN0b3J5KQogICAg
935
- QXJjaGl2ZTo6VGFyOjpNaW5pdGFyLnBhY2soJy4nLCB0ZW1wZmlsZSkKICAg
936
- IEZpbGUubmV3KHRlbXBmaWxlLnBhdGgsICdyJykKICBlbnN1cmUKICAgIEZp
937
- bGVVdGlscy5jZChjd2QpCiAgZW5kCgogIGRlZiBleHRyYWN0X2lkKGJvZHkp
938
- CiAgICBib2R5LmxpbmVzLnRvX2EucmV2ZXJzZS5lYWNoIGRvIHxsaW5lfAog
939
- ICAgICBpZiAoaWQgPSBsaW5lLm1hdGNoKC9TdWNjZXNzZnVsbHkgYnVpbHQg
940
- KFthLWYwLTldKykvKSkgJiYgIWlkWzFdLmVtcHR5PwogICAgICAgIHJldHVy
941
- biBpZFsxXQogICAgICBlbmQKICAgIGVuZAogICAgcmFpc2UgVW5leHBlY3Rl
942
- ZFJlc3BvbnNlRXJyb3IsICJDb3VsZG4ndCBmaW5kIGlkOiAje2JvZHl9Igog
943
- IGVuZAoKICAjIENvbnZlbmllbmNlIG1ldGhvZCB0byBnZXQgdGhlIGZpbGUg
944
- aGFzaCBjb3JyZXNwb25kaW5nIHRvIGFuIGFycmF5IG9mCiAgIyBsb2NhbCBw
945
- YXRocy4KICBkZWYgZmlsZV9oYXNoX2Zyb21fcGF0aHMobG9jYWxfcGF0aHMp
946
- CiAgICBsb2NhbF9wYXRocy5lYWNoX3dpdGhfb2JqZWN0KHt9KSBkbyB8bG9j
947
- YWxfcGF0aCwgZmlsZV9oYXNofAogICAgICB1bmxlc3MgRmlsZS5leGlzdD8o
948
- bG9jYWxfcGF0aCkKICAgICAgICByYWlzZSBBcmd1bWVudEVycm9yLCAiI3ts
949
- b2NhbF9wYXRofSBkb2VzIG5vdCBleGlzdC4iCiAgICAgIGVuZAoKICAgICAg
950
- YmFzZW5hbWUgPSBGaWxlLmJhc2VuYW1lKGxvY2FsX3BhdGgpCiAgICAgIGlm
951
- IEZpbGUuZGlyZWN0b3J5Pyhsb2NhbF9wYXRoKQogICAgICAgIHRhciA9IGNy
952
- ZWF0ZV9kaXJfdGFyKGxvY2FsX3BhdGgpCiAgICAgICAgZmlsZV9oYXNoW2Jh
953
- c2VuYW1lXSA9IHRhci5yZWFkCiAgICAgICAgdGFyLmNsb3NlCiAgICAgICAg
954
- RmlsZVV0aWxzLnJtKHRhci5wYXRoKQogICAgICBlbHNlCiAgICAgICAgZmls
955
- ZV9oYXNoW2Jhc2VuYW1lXSA9IEZpbGUucmVhZChsb2NhbF9wYXRoKQogICAg
956
- ICBlbmQKICAgIGVuZAogIGVuZAoKICBkZWYgYnVpbGRfYXV0aF9oZWFkZXIo
957
- Y3JlZGVudGlhbHMpCiAgICBjcmVkZW50aWFscyA9IGNyZWRlbnRpYWxzLnRv
958
- X2pzb24gaWYgY3JlZGVudGlhbHMuaXNfYT8oSGFzaCkKICAgIGVuY29kZWRf
959
- Y3JlZHMgPSBCYXNlNjQuZW5jb2RlNjQoY3JlZGVudGlhbHMpLmdzdWIoL1xu
960
- LywgJycpCiAgICB7CiAgICAgICdYLVJlZ2lzdHJ5LUF1dGgnID0+IGVuY29k
961
- ZWRfY3JlZHMKICAgIH0KICBlbmQKCiAgZGVmIGJ1aWxkX2NvbmZpZ19oZWFk
962
- ZXIoY3JlZGVudGlhbHMpCiAgICBpZiBjcmVkZW50aWFscy5pc19hPyhTdHJp
963
- bmcpCiAgICAgIGNyZWRlbnRpYWxzID0gSlNPTi5wYXJzZShjcmVkZW50aWFs
964
- cywgc3ltYm9saXplX25hbWVzOiB0cnVlKQogICAgZW5kCiAgICBoZWFkZXIg
965
- PSB7CiAgICAgICJjb25maWdzIiA9PiB7CiAgICAgICAgY3JlZGVudGlhbHNb
966
- OnNlcnZlcmFkZHJlc3NdLnRvX3MgPT4gewogICAgICAgICAgInVzZXJuYW1l
967
- IiA9PiBjcmVkZW50aWFsc1s6dXNlcm5hbWVdLnRvX3MsCiAgICAgICAgICAi
968
- cGFzc3dvcmQiID0+IGNyZWRlbnRpYWxzWzpwYXNzd29yZF0udG9fcywKICAg
969
- ICAgICAgICJlbWFpbCIgPT4gY3JlZGVudGlhbHNbOmVtYWlsXS50b19zCiAg
970
- ICAgICAgfQogICAgICB9CiAgICB9LnRvX2pzb24KCiAgICBlbmNvZGVkX2hl
971
- YWRlciA9IEJhc2U2NC5lbmNvZGU2NChoZWFkZXIpLmdzdWIoL1xuLywgJycp
972
- CgogICAgewogICAgICAnWC1SZWdpc3RyeS1Db25maWcnID0+IGVuY29kZWRf
973
- aGVhZGVyCiAgICB9CiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
974
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
975
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
976
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
977
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
978
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
979
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
980
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
981
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
982
- AAAAAAAAAAAAAAAAAAAAAGRvY2tlci92ZXJzaW9uLnJiAAAAAAAAAAAAAAAA
983
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
984
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTAAMDAw
985
- MTc1MAAwMDAwMDAwMDIzMwAxMjQ2Njc3MzEzNgAwMTEzMzUAIDAAAAAAAAAA
986
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
987
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
988
- AAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
989
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
990
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
991
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
992
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
993
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbW9kdWxlIERvY2tl
994
- cgogICMgVGhlIHZlcnNpb24gb2YgdGhlIGRvY2tlci1hcGkgZ2VtLgogIFZF
995
- UlNJT04gPSAnMS4xOC4wJwoKICAjIFRoZSB2ZXJzaW9uIG9mIHRoZSBjb21w
996
- YXRpYmxlIERvY2tlciByZW1vdGUgQVBJLgogIEFQSV9WRVJTSU9OID0gJzEu
997
- MTYnCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
998
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
999
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1000
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1001
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1002
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1003
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1004
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1005
- AAAAAABkb2NrZXIucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1006
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1007
- AAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAw
1008
- MDYyMjUAMTI0NjY3NzMxMDMAMDA3NjUxACAwAAAAAAAAAAAAAAAAAAAAAAAA
1009
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1010
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAw
1011
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1012
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1013
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1014
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1015
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1016
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJlcXVpcmUgJ2NnaScKcmVxdWlyZSAn
1017
- anNvbicKcmVxdWlyZSAnZXhjb24nCnJlcXVpcmUgJ3RlbXBmaWxlJwpyZXF1
1018
- aXJlICdiYXNlNjQnCnJlcXVpcmUgJ3J1YnlnZW1zL3BhY2thZ2UnCnJlcXVp
1019
- cmUgJ2FyY2hpdmUvdGFyL21pbml0YXInCnJlcXVpcmUgJ3VyaScKcmVxdWly
1020
- ZSAnb3Blbi11cmknCgojIEFkZCB0aGUgSGlqYWNrIG1pZGRsZXdhcmUgYXQg
1021
- dGhlIHRvcCBvZiB0aGUgbWlkZGxld2FyZSBzdGFjayBzbyBpdCBjYW4KIyBw
1022
- b3RlbnRpYWxseSBoaWphY2sgSFRUUCBzb2NrZXRzICh3aGVuIGF0dGFjaGlu
1023
- ZyB0byBzdGRpbikgYmVmb3JlIG90aGVyCiMgbWlkZGxld2FyZXMgdHJ5IGFu
1024
- ZCBwYXJzZSB0aGUgcmVzcG9uc2UuCnJlcXVpcmUgJ2V4Y29uL21pZGRsZXdh
1025
- cmVzL2hpamFjaycKRXhjb24uZGVmYXVsdHNbOm1pZGRsZXdhcmVzXS51bnNo
1026
- aWZ0IEV4Y29uOjpNaWRkbGV3YXJlOjpIaWphY2sKCiMgVGhlIHRvcC1sZXZl
1027
- bCBtb2R1bGUgZm9yIHRoaXMgZ2VtLiBJdCdzIHB1cnBvc2UgaXMgdG8gaG9s
1028
- ZCBnbG9iYWwKIyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyB0aGF0IGFyZSB1
1029
- c2VkIGFzIGRlZmF1bHRzIGluIG90aGVyIGNsYXNzZXMuCm1vZHVsZSBEb2Nr
1030
- ZXIKICBhdHRyX2FjY2Vzc29yIDpjcmVkcywgOmxvZ2dlcgoKICByZXF1aXJl
1031
- ICdkb2NrZXIvZXJyb3InCiAgcmVxdWlyZSAnZG9ja2VyL2Nvbm5lY3Rpb24n
1032
- CiAgcmVxdWlyZSAnZG9ja2VyL2Jhc2UnCiAgcmVxdWlyZSAnZG9ja2VyL2Nv
1033
- bnRhaW5lcicKICByZXF1aXJlICdkb2NrZXIvZXZlbnQnCiAgcmVxdWlyZSAn
1034
- ZG9ja2VyL2V4ZWMnCiAgcmVxdWlyZSAnZG9ja2VyL2ltYWdlJwogIHJlcXVp
1035
- cmUgJ2RvY2tlci9tZXNzYWdlcycKICByZXF1aXJlICdkb2NrZXIvdXRpbCcK
1036
- ICByZXF1aXJlICdkb2NrZXIvdmVyc2lvbicKICByZXF1aXJlICdkb2NrZXIv
1037
- cmFrZV90YXNrJyBpZiBkZWZpbmVkPyhSYWtlOjpUYXNrKQoKICBkZWYgZGVm
1038
- YXVsdF9zb2NrZXRfdXJsCiAgICAnPERPQ0tFUl9IT1NUPicKICBlbmQKCiAg
1039
- ZGVmIGVudl91cmwKICAgIEVOVlsnRE9DS0VSX1VSTCddIHx8IEVOVlsnRE9D
1040
- S0VSX0hPU1QnXQogIGVuZAoKICBkZWYgZW52X29wdGlvbnMKICAgIGlmIGNl
1041
- cnRfcGF0aCA9IEVOVlsnRE9DS0VSX0NFUlRfUEFUSCddCiAgICAgIHsKICAg
1042
- ICAgICBjbGllbnRfY2VydDogRmlsZS5qb2luKGNlcnRfcGF0aCwgJ2NlcnQu
1043
- cGVtJyksCiAgICAgICAgY2xpZW50X2tleTogRmlsZS5qb2luKGNlcnRfcGF0
1044
- aCwgJ2tleS5wZW0nKSwKICAgICAgICBzc2xfY2FfZmlsZTogRmlsZS5qb2lu
1045
- KGNlcnRfcGF0aCwgJ2NhLnBlbScpLAogICAgICAgIHNjaGVtZTogJ2h0dHBz
1046
- JwogICAgICB9CiAgICBlbHNlCiAgICAgIHt9CiAgICBlbmQKICBlbmQKCiAg
1047
- ZGVmIHVybAogICAgQHVybCB8fD0gZW52X3VybCB8fCBkZWZhdWx0X3NvY2tl
1048
- dF91cmwKICAgICMgZG9ja2VyIHVzZXMgYSBkZWZhdWx0IG5vdGF0aW9uIHRj
1049
- cDovLyB3aGljaCBtZWFucyB0Y3A6Ly9sb2NhbGhvc3Q6MjM3NQogICAgaWYg
1050
- QHVybCA9PSAndGNwOi8vJwogICAgICBAdXJsID0gJ3RjcDovL2xvY2FsaG9z
1051
- dDoyMzc1JwogICAgZW5kCiAgICBAdXJsCiAgZW5kCgogIGRlZiBvcHRpb25z
1052
- CiAgICBAb3B0aW9ucyB8fD0gZW52X29wdGlvbnMKICBlbmQKCiAgZGVmIHVy
1053
- bD0obmV3X3VybCkKICAgIEB1cmwgPSBuZXdfdXJsCiAgICByZXNldF9jb25u
1054
- ZWN0aW9uIQogIGVuZAoKICBkZWYgb3B0aW9ucz0obmV3X29wdGlvbnMpCiAg
1055
- ICBAb3B0aW9ucyA9IGVudl9vcHRpb25zLm1lcmdlKG5ld19vcHRpb25zIHx8
1056
- IHt9KQogICAgcmVzZXRfY29ubmVjdGlvbiEKICBlbmQKCiAgZGVmIGNvbm5l
1057
- Y3Rpb24KICAgIEBjb25uZWN0aW9uIHx8PSBDb25uZWN0aW9uLm5ldyh1cmws
1058
- IG9wdGlvbnMpCiAgZW5kCgogIGRlZiByZXNldCEKICAgIEB1cmwgPSBuaWwK
1059
- ICAgIEBvcHRpb25zID0gbmlsCiAgICByZXNldF9jb25uZWN0aW9uIQogIGVu
1060
- ZAoKICBkZWYgcmVzZXRfY29ubmVjdGlvbiEKICAgIEBjb25uZWN0aW9uID0g
1061
- bmlsCiAgZW5kCgogICMgR2V0IHRoZSB2ZXJzaW9uIG9mIEdvLCBEb2NrZXIs
1062
- IGFuZCBvcHRpb25hbGx5IHRoZSBHaXQgY29tbWl0LgogIGRlZiB2ZXJzaW9u
1063
- KGNvbm5lY3Rpb24gPSBzZWxmLmNvbm5lY3Rpb24pCiAgICBVdGlsLnBhcnNl
1064
- X2pzb24oY29ubmVjdGlvbi5nZXQoJy92ZXJzaW9uJykpCiAgZW5kCgogICMg
1065
- R2V0IG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIERvY2tlciBzZXJ2ZXIu
1066
- CiAgZGVmIGluZm8oY29ubmVjdGlvbiA9IHNlbGYuY29ubmVjdGlvbikKICAg
1067
- IFV0aWwucGFyc2VfanNvbihjb25uZWN0aW9uLmdldCgnL2luZm8nKSkKICBl
1068
- bmQKCiAgIyBMb2dpbiB0byB0aGUgRG9ja2VyIHJlZ2lzdHJ5LgogIGRlZiBh
1069
- dXRoZW50aWNhdGUhKG9wdGlvbnMgPSB7fSwgY29ubmVjdGlvbiA9IHNlbGYu
1070
- Y29ubmVjdGlvbikKICAgIGNyZWRzID0gb3B0aW9ucy50b19qc29uCiAgICBj
1071
- b25uZWN0aW9uLnBvc3QoJy9hdXRoJywge30sIDpib2R5ID0+IGNyZWRzKQog
1072
- ICAgQGNyZWRzID0gY3JlZHMKICAgIHRydWUKICByZXNjdWUgRG9ja2VyOjpF
1073
- cnJvcjo6U2VydmVyRXJyb3IsIERvY2tlcjo6RXJyb3I6OlVuYXV0aG9yaXpl
1074
- ZEVycm9yCiAgICByYWlzZSBEb2NrZXI6OkVycm9yOjpBdXRoZW50aWNhdGlv
1075
- bkVycm9yCiAgZW5kCgogICMgV2hlbiB0aGUgY29ycmVjdCB2ZXJzaW9uIG9m
1076
- IERvY2tlciBpcyBpbnN0YWxsZWQsIHJldHVybnMgdHJ1ZS4gT3RoZXJ3aXNl
1077
- LAogICMgcmFpc2VzIGEgVmVyc2lvbkVycm9yLgogIGRlZiB2YWxpZGF0ZV92
1078
- ZXJzaW9uIQogICAgRG9ja2VyLmluZm8KICAgIHRydWUKICByZXNjdWUgRG9j
1079
- a2VyOjpFcnJvcjo6RG9ja2VyRXJyb3IKICAgIHJhaXNlIERvY2tlcjo6RXJy
1080
- b3I6OlZlcnNpb25FcnJvciwgIkV4cGVjdGVkIEFQSSBWZXJzaW9uOiAje0FQ
1081
- SV9WRVJTSU9OfSIKICBlbmQKCiAgbW9kdWxlX2Z1bmN0aW9uIDpkZWZhdWx0
1082
- X3NvY2tldF91cmwsIDplbnZfdXJsLCA6dXJsLCA6dXJsPSwgOmVudl9vcHRp
1083
- b25zLAogICAgICAgICAgICAgICAgICA6b3B0aW9ucywgOm9wdGlvbnM9LCA6
1084
- Y3JlZHMsIDpjcmVkcz0sIDpsb2dnZXIsIDpsb2dnZXI9LAogICAgICAgICAg
1085
- ICAgICAgICA6Y29ubmVjdGlvbiwgOnJlc2V0ISwgOnJlc2V0X2Nvbm5lY3Rp
1086
- b24hLCA6dmVyc2lvbiwgOmluZm8sCiAgICAgICAgICAgICAgICAgIDphdXRo
1087
- ZW50aWNhdGUhLCA6dmFsaWRhdGVfdmVyc2lvbiEKZW5kCgAAAAAAAAAAAAAA
1088
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
357
+ ZCA6bmV3CmVuZAoAAAAAAAAAAAAAAAAAAABkb2NrZXIvZXJyb3IucmIAAAAA
1089
358
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
359
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAw
360
+ MDAwMDAwADAwMDAwMDAAMDAwMDAwMDIzMDMAMTI1MzYwMDY3MDQAMDE0MjQ1
361
+ ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1090
362
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
363
+ AAAAAAAAAAAAAAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAA
364
+ AAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAw
365
+ MDAAMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
366
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
367
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
368
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMg
369
+ VGhpcyBtb2R1bGUgaG9sZHMgdGhlIEVycm9ycyBmb3IgdGhlIGdlbS4KbW9k
370
+ dWxlIERvY2tlcjo6RXJyb3IKCiAgIyBUaGUgZGVmYXVsdCBlcnJvci4gSXQn
371
+ cyBuZXZlciBhY3R1YWxseSByYWlzZWQsIGJ1dCBjYW4gYmUgdXNlZCB0byBj
372
+ YXRjaCBhbGwKICAjIGdlbS1zcGVjaWZpYyBlcnJvcnMgdGhhdCBhcmUgdGhy
373
+ b3duIGFzIHRoZXkgYWxsIHN1YmNsYXNzIGZyb20gdGhpcy4KICBjbGFzcyBE
374
+ b2NrZXJFcnJvciA8IFN0YW5kYXJkRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3
375
+ aGVuIGludmFsaWQgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gYSBtZXRob2Qu
376
+ CiAgY2xhc3MgQXJndW1lbnRFcnJvciA8IERvY2tlckVycm9yOyBlbmQKCiAg
377
+ IyBSYWlzZWQgd2hlbiBhIHJlcXVlc3QgcmV0dXJucyBhIDQwMC4KICBjbGFz
378
+ cyBDbGllbnRFcnJvciA8IERvY2tlckVycm9yOyBlbmQKCiAgIyBSYWlzZWQg
379
+ d2hlbiBhIHJlcXVlc3QgcmV0dXJucyBhIDQwMS4KICBjbGFzcyBVbmF1dGhv
380
+ cml6ZWRFcnJvciA8IERvY2tlckVycm9yOyBlbmQKCiAgIyBSYWlzZWQgd2hl
381
+ biBhIHJlcXVlc3QgcmV0dXJucyBhIDQwNC4KICBjbGFzcyBOb3RGb3VuZEVy
382
+ cm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3aGVuIGEgcmVx
383
+ dWVzdCByZXR1cm5zIGEgNDA5LgogIGNsYXNzIENvbmZsaWN0RXJyb3IgPCBE
384
+ b2NrZXJFcnJvcjsgZW5kCgogICMgUmFpc2VkIHdoZW4gYSByZXF1ZXN0IHJl
385
+ dHVybnMgYSA1MDAuCiAgY2xhc3MgU2VydmVyRXJyb3IgPCBEb2NrZXJFcnJv
386
+ cjsgZW5kCgogICMgUmFpc2VkIHdoZW4gdGhlcmUgaXMgYW4gdW5leHBlY3Rl
387
+ ZCByZXNwb25zZSBjb2RlIC8gYm9keS4KICBjbGFzcyBVbmV4cGVjdGVkUmVz
388
+ cG9uc2VFcnJvciA8IERvY2tlckVycm9yOyBlbmQKCiAgIyBSYWlzZWQgd2hl
389
+ biB0aGVyZSBpcyBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbiBvZiBEb2NrZXIu
390
+ CiAgY2xhc3MgVmVyc2lvbkVycm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAj
391
+ IFJhaXNlZCB3aGVuIGEgcmVxdWVzdCB0aW1lcyBvdXQuCiAgY2xhc3MgVGlt
392
+ ZW91dEVycm9yIDwgRG9ja2VyRXJyb3I7IGVuZAoKICAjIFJhaXNlZCB3aGVu
393
+ IGxvZ2luIGZhaWxzLgogIGNsYXNzIEF1dGhlbnRpY2F0aW9uRXJyb3IgPCBE
394
+ b2NrZXJFcnJvcjsgZW5kCgogICMgUmFpc2VkIHdoZW4gYW4gSU8gYWN0aW9u
395
+ IGZhaWxzLgogIGNsYXNzIElPRXJyb3IgPCBEb2NrZXJFcnJvcjsgZW5kCmVu
396
+ ZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
397
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
398
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
399
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
400
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
401
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
402
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
403
+ AAAAAGRvY2tlci9ldmVudC5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
404
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
405
+ AAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAw
406
+ MTc1MQAxMjUzNjAwNjcwNAAwMTQyNDMAIDAAAAAAAAAAAAAAAAAAAAAAAAAA
407
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
408
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDB3
409
+ aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAA
410
+ AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMAAwMDAwMDAwAAAAAAAAAAAAAAAA
411
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
412
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
413
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
414
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAIyBUaGlzIGNsYXNzIHJlcHJlc2VudHMg
415
+ YSBEb2NrZXIgRXZlbnQuCmNsYXNzIERvY2tlcjo6RXZlbnQKICBpbmNsdWRl
416
+ IERvY2tlcjo6RXJyb3IKCiAgYXR0cl9hY2Nlc3NvciA6c3RhdHVzLCA6aWQs
417
+ IDpmcm9tLCA6dGltZQoKICBkZWYgaW5pdGlhbGl6ZShzdGF0dXMsIGlkLCBm
418
+ cm9tLCB0aW1lKQogICAgQHN0YXR1cywgQGlkLCBAZnJvbSwgQHRpbWUgPSBz
419
+ dGF0dXMsIGlkLCBmcm9tLCB0aW1lCiAgZW5kCgogIGRlZiB0b19zCiAgICAi
420
+ RG9ja2VyOjpFdmVudCB7IDpzdGF0dXMgPT4gI3tzZWxmLnN0YXR1c30sIDpp
421
+ ZCA9PiAje3NlbGYuaWR9LCAiXAogICAgICAiOmZyb20gPT4gI3tzZWxmLmZy
422
+ b219LCA6dGltZSA9PiAje3NlbGYudGltZX0gfSIKICBlbmQKCiAgY2xhc3Mg
423
+ PDwgc2VsZgogICAgaW5jbHVkZSBEb2NrZXI6OkVycm9yCgogICAgZGVmIHN0
424
+ cmVhbShvcHRzID0ge30sIGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbiwgJmJs
425
+ b2NrKQogICAgICBjb25uLmdldCgnL2V2ZW50cycsIG9wdHMsIDpyZXNwb25z
426
+ ZV9ibG9jayA9PiBsYW1iZGEgeyB8YiwgciwgdHwKICAgICAgICBibG9jay5j
427
+ YWxsKG5ld19ldmVudChiLCByLCB0KSkKICAgICAgfSkKICAgIGVuZAoKICAg
428
+ IGRlZiBzaW5jZShzaW5jZSwgb3B0cyA9IHt9LCBjb25uID0gRG9ja2VyLmNv
429
+ bm5lY3Rpb24sICZibG9jaykKICAgICAgc3RyZWFtKG9wdHMubWVyZ2UoOnNp
430
+ bmNlID0+IHNpbmNlKSwgY29ubiwgJmJsb2NrKQogICAgZW5kCgogICAgZGVm
431
+ IG5ld19ldmVudChib2R5LCByZW1haW5pbmcsIHRvdGFsKQogICAgICByZXR1
432
+ cm4gaWYgYm9keS5uaWw/IHx8IGJvZHkuZW1wdHk/CiAgICAgIGpzb24gPSBE
433
+ b2NrZXI6OlV0aWwucGFyc2VfanNvbihib2R5KQogICAgICBEb2NrZXI6OkV2
434
+ ZW50Lm5ldygKICAgICAgICBqc29uWydzdGF0dXMnXSwKICAgICAgICBqc29u
435
+ WydpZCddLAogICAgICAgIGpzb25bJ2Zyb20nXSwKICAgICAgICBqc29uWyd0
436
+ aW1lJ10KICAgICAgKQogICAgZW5kCiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAA
437
+ AAAAAAAAAAAAAGRvY2tlci9leGVjLnJiAAAAAAAAAAAAAAAAAAAAAAAAAAAA
438
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
439
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAw
440
+ MDAwMDAwNjE1NgAxMjUzNjAwNjcwNAAwMTQwNTIAIDAAAAAAAAAAAAAAAAAA
1091
441
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
442
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
443
+ YXIAMDB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAA
444
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMAAwMDAwMDAwAAAAAAAA
1092
445
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1093
446
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1094
447
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1095
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGV4Y29uAAAA
448
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyBUaGlzIGNsYXNzIHJlcHJl
449
+ c2VudHMgYSBEb2NrZXIgRXhlYyBJbnN0YW5jZS4KY2xhc3MgRG9ja2VyOjpF
450
+ eGVjCiAgaW5jbHVkZSBEb2NrZXI6OkJhc2UKCiAgIyBDb252ZXJ0IGRldGFp
451
+ bHMgYWJvdXQgdGhlIG9iamVjdCBpbnRvIGEgc3RyaW5nCiAgIwogICMgQHJl
452
+ dHVybiBbU3RyaW5nXSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIEV4
453
+ ZWMgaW5zdGFuY2Ugb2JqZWN0CiAgZGVmIHRvX3MKICAgICJEb2NrZXI6OkV4
454
+ ZWMgeyA6aWQgPT4gI3tzZWxmLmlkfSwgOmNvbm5lY3Rpb24gPT4gI3tzZWxm
455
+ LmNvbm5lY3Rpb259IH0iCiAgZW5kCgogICMgQ3JlYXRlIGEgbmV3IEV4ZWMg
456
+ aW5zdGFuY2UgaW4gYSBydW5uaW5nIGNvbnRhaW5lci4gUGxlYXNlIG5vdGUs
457
+ IHRoaXMgZG9lcwogICMgTk9UIGV4ZWN1dGUgdGhlIGluc3RhbmNlIC0geW91
458
+ IG11c3QgcnVuICNzdGFydC4gQWxzbywgZWFjaCBpbnN0YW5jZSBpcwogICMg
459
+ b25lLXRpbWUgdXNlIG9ubHkuCiAgIwogICMgQHBhcmFtIG9wdGlvbnMgW0hh
460
+ c2hdIFBhcmFtZXRlcnMgdG8gcGFzcyBpbiB0byB0aGUgQVBJLgogICMgQHBh
461
+ cmFtIGNvbm4gW0RvY2tlcjo6Q29ubmVjdGlvbl0gQ29ubmVjdGlvbiB0byBE
462
+ b2NrZXIgUmVtb3RlIEFQSQogICMKICAjIEByZXR1cm4gW0RvY2tlcjo6RXhl
463
+ Y10gc2VsZgogIGRlZiBzZWxmLmNyZWF0ZShvcHRpb25zID0ge30sIGNvbm4g
464
+ PSBEb2NrZXIuY29ubmVjdGlvbikKICAgIGNvbnRhaW5lciA9IG9wdGlvbnMu
465
+ ZGVsZXRlKCdDb250YWluZXInKQogICAgcmVzcCA9IGNvbm4ucG9zdCgiL2Nv
466
+ bnRhaW5lcnMvI3tjb250YWluZXJ9L2V4ZWMiLCB7fSwKICAgICAgOmJvZHkg
467
+ PT4gb3B0aW9ucy50b19qc29uKQogICAgaGFzaCA9IERvY2tlcjo6VXRpbC5w
468
+ YXJzZV9qc29uKHJlc3ApIHx8IHt9CiAgICBuZXcoY29ubiwgaGFzaCkKICBl
469
+ bmQKCiAgIyBHZXQgaW5mbyBhYm91dCB0aGUgRXhlYyBpbnN0YW5jZQogICMK
470
+ ICBkZWYganNvbgogICAgRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24oY29ubmVj
471
+ dGlvbi5nZXQocGF0aF9mb3IoOmpzb24pLCB7fSkpCiAgZW5kCgogICMgU3Rh
472
+ cnQgdGhlIEV4ZWMgaW5zdGFuY2UuIFRoZSBFeGVjIGluc3RhbmNlIGlzIGRl
473
+ bGV0ZWQgYWZ0ZXIgdGhpcyBzbyB0aGlzCiAgIyBjb21tYW5kIGNhbiBvbmx5
474
+ IGJlIHJ1biBvbmNlLgogICMKICAjIEBwYXJhbSBvcHRpb25zIFtIYXNoXSBP
475
+ cHRpb25zIHRvIGRpY3RhdGUgYmVoYXZpb3Igb2YgdGhlIGluc3RhbmNlCiAg
476
+ IyBAb3B0aW9uIG9wdGlvbnMgW09iamVjdF0gOnN0ZGluIChuaWwpIFRoZSBv
477
+ YmplY3QgdG8gcGFzcyB0byBTVERJTi4KICAjIEBvcHRpb24gb3B0aW9ucyBb
478
+ VHJ1ZUNsYXNzLCBGYWxzZUNsYXNzXSA6ZGV0YWNoIChmYWxzZSkgV2hldGhl
479
+ ciB0byBhdHRhY2gKICAjICAgICB0byBTVERPVVQvU1RERVJSLgogICMgQG9w
480
+ dGlvbiBvcHRpb25zIFtUcnVlQ2xhc3MsIEZhbHNlQ2xhc3NdIDp0dHkgKGZh
481
+ bHNlKSBXaGV0aGVyIHRvIGF0dGFjaCB1c2luZwogICMgICAgIGEgcHNldWRv
482
+ LVRUWS4KICAjCiAgIyBAcmV0dXJuIFtBcnJheSwgQXJyYXksIEludF0gVGhl
483
+ IFNURE9VVCwgU1RERVJSIGFuZCBleGl0IGNvZGUKICBkZWYgc3RhcnQhKG9w
484
+ dGlvbnMgPSB7fSwgJmJsb2NrKQoKICAgICMgUGFyc2UgdGhlIE9wdGlvbnMK
485
+ ICAgIHR0eSA9ICEhb3B0aW9ucy5kZWxldGUoOnR0eSkKICAgIGRldGFjaGVk
486
+ ID0gISFvcHRpb25zLmRlbGV0ZSg6ZGV0YWNoKQogICAgc3RkaW4gPSBvcHRp
487
+ b25zWzpzdGRpbl0KCiAgICAjIENyZWF0ZSBBUEkgUmVxdWVzdCBCb2R5CiAg
488
+ ICBib2R5ID0gewogICAgICAiVHR5IiA9PiB0dHksCiAgICAgICJEZXRhY2gi
489
+ ID0+IGRldGFjaGVkCiAgICB9CiAgICBleGNvbl9wYXJhbXMgPSB7IDpib2R5
490
+ ID0+IGJvZHkudG9fanNvbiB9CgogICAgbXNncyA9IERvY2tlcjo6TWVzc2Fn
491
+ ZXMubmV3CiAgICB1bmxlc3MgZGV0YWNoZWQKICAgICAgaWYgc3RkaW4KICAg
492
+ ICAgICBleGNvbl9wYXJhbXNbOmhpamFja19ibG9ja10gPSBEb2NrZXI6OlV0
493
+ aWwuaGlqYWNrX2ZvcihzdGRpbiwgYmxvY2ssCiAgICAgICAgICBtc2dzLCB0
494
+ dHkpCiAgICAgIGVsc2UKICAgICAgICBleGNvbl9wYXJhbXNbOnJlc3BvbnNl
495
+ X2Jsb2NrXSA9IERvY2tlcjo6VXRpbC5hdHRhY2hfZm9yKGJsb2NrLAogICAg
496
+ ICAgICAgbXNncywgdHR5KQogICAgICBlbmQKICAgIGVuZAoKICAgIGNvbm5l
497
+ Y3Rpb24ucG9zdChwYXRoX2Zvcig6c3RhcnQpLCBuaWwsIGV4Y29uX3BhcmFt
498
+ cykKICAgIFttc2dzLnN0ZG91dF9tZXNzYWdlcywgbXNncy5zdGRlcnJfbWVz
499
+ c2FnZXMsIHNlbGYuanNvblsnRXhpdENvZGUnXV0KICBlbmQKCiAgIyAjc3Rh
500
+ cnQhIHBlcmZvcm1zIHRoZSBhc3NvY2lhdGVkIGFjdGlvbiBhbmQgcmV0dXJu
501
+ cyB0aGUgb3V0cHV0LgogICMgI3N0YXJ0IGRvZXMgdGhlIHNhbWUsIGJ1dCBy
502
+ ZXNjdWVzIGZyb20gU2VydmVyRXJyb3JzLgogIFs6c3RhcnRdLmVhY2ggZG8g
503
+ fG1ldGhvZHwKICAgIGRlZmluZV9tZXRob2QobWV0aG9kKSBkbyB8KmFyZ3N8
504
+ CiAgICAgIGJlZ2luOyBwdWJsaWNfc2VuZCg6IiN7bWV0aG9kfSEiLCAqYXJn
505
+ cyk7IHJlc2N1ZSBTZXJ2ZXJFcnJvcjsgc2VsZiBlbmQKICAgIGVuZAogIGVu
506
+ ZAoKICAjIFJlc2l6ZSB0aGUgVFRZIGFzc29jaWF0ZWQgd2l0aCB0aGUgRXhl
507
+ YyBpbnN0YW5jZQogICMKICAjIEBwYXJhbSBxdWVyeSBbSGFzaF0gQVBJIHF1
508
+ ZXJ5IHBhcmFtZXRlcnMKICAjIEBvcHRpb24gcXVlcnkgW0ZpeG51bV0gaCBI
509
+ ZWlnaHQgb2YgdGhlIFRUWQogICMgQG9wdGlvbiBxdWVyeSBbRml4bnVtXSB3
510
+ IFdpZHRoIG9mIHRoZSBUVFkKICAjCiAgIyBAcmV0dXJuIFtEb2NrZXI6OkV4
511
+ ZWNdIHNlbGYKICBkZWYgcmVzaXplKHF1ZXJ5ID0ge30pCiAgICBjb25uZWN0
512
+ aW9uLnBvc3QocGF0aF9mb3IoOnJlc2l6ZSksIHF1ZXJ5KQogICAgc2VsZgog
513
+ IGVuZAoKICAjIEdldCB0aGUgcmVxdWVzdCBVUkkgZm9yIHRoZSBnaXZlbiBl
514
+ bmRwb2ludAogICMKICAjIEBwYXJhbSBlbmRwb2ludCBbU3ltYm9sXSBUaGUg
515
+ ZW5kcG9pbnQgdG8gZ3JhYgogICMgQHJldHVybiBbU3RyaW5nXSBUaGUgZnVs
516
+ bCBSZW1vdGUgQVBJIGVuZHBvaW50IHdpdGggSUQKICBkZWYgcGF0aF9mb3Io
517
+ ZW5kcG9pbnQpCiAgICAiL2V4ZWMvI3tzZWxmLmlkfS8je2VuZHBvaW50fSIK
518
+ ICBlbmQKCiAgcHJpdmF0ZSA6cGF0aF9mb3IKICBwcml2YXRlX2NsYXNzX21l
519
+ dGhvZCA6bmV3CmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
520
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
521
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
522
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
523
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
524
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
525
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
526
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
527
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
528
+ AAAAAAAAAAAAAABkb2NrZXIvaW1hZ2UucmIAAAAAAAAAAAAAAAAAAAAAAAAA
529
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
530
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAA
531
+ MDAwMDAwMjM1MjAAMTI1MzYwMDY3MDQAMDE0MjAyACAwAAAAAAAAAAAAAAAA
532
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
533
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVz
534
+ dGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAA
535
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAwMAAAAAAA
536
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
537
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
538
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
539
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhpcyBjbGFzcyByZXBy
540
+ ZXNlbnRzIGEgRG9ja2VyIEltYWdlLgpjbGFzcyBEb2NrZXI6OkltYWdlCiAg
541
+ aW5jbHVkZSBEb2NrZXI6OkJhc2UKCiAgIyBHaXZlbiBhIGNvbW1hbmQgYW5k
542
+ IG9wdGlvbmFsIGxpc3Qgb2Ygc3RyZWFtcyB0byBhdHRhY2ggdG8sIHJ1biBh
543
+ IGNvbW1hbmQgb24KICAjIGFuIEltYWdlLiBUaGlzIHdpbGwgbm90IG1vZGlm
544
+ eSB0aGUgSW1hZ2UsIGJ1dCByYXRoZXIgY3JlYXRlIGEgbmV3IENvbnRhaW5l
545
+ cgogICMgdG8gcnVuIHRoZSBJbWFnZS4gSWYgdGhlIGltYWdlIGhhcyBhbiBl
546
+ bWJlZGRlZCBjb25maWcsIG5vIGNvbW1hbmQgaXMKICAjIG5lY2Vzc2FyeSwg
547
+ YnV0IGl0IHdpbGwgZmFpbCB3aXRoIDUwMCBpZiBubyBjb25maWcgaXMgc2F2
548
+ ZWQgd2l0aCB0aGUgaW1hZ2UKICBkZWYgcnVuKGNtZD1uaWwpCiAgICBvcHRz
549
+ ID0geyAnSW1hZ2UnID0+IHNlbGYuaWQgfQogICAgb3B0c1siQ21kIl0gPSBj
550
+ bWQuaXNfYT8oU3RyaW5nKSA/IGNtZC5zcGxpdCgvXHMrLykgOiBjbWQKICAg
551
+ IGJlZ2luCiAgICAgIERvY2tlcjo6Q29udGFpbmVyLmNyZWF0ZShvcHRzLCBj
552
+ b25uZWN0aW9uKQogICAgICAgICAgICAgICAgICAgICAgIC50YXAoJjpzdGFy
553
+ dCEpCiAgICByZXNjdWUgU2VydmVyRXJyb3IgPT4gZXgKICAgICAgaWYgY21k
554
+ CiAgICAgICAgcmFpc2UgZXgKICAgICAgZWxzZQogICAgICAgIHJhaXNlIFNl
555
+ cnZlckVycm9yLCAiTm8gY29tbWFuZCBzcGVjaWZpZWQuIgogICAgICBlbmQK
556
+ ICAgIGVuZAogIGVuZAoKICAjIFB1c2ggdGhlIEltYWdlIHRvIHRoZSBEb2Nr
557
+ ZXIgcmVnaXN0cnkuCiAgZGVmIHB1c2goY3JlZHMgPSBuaWwsIG9wdGlvbnMg
558
+ PSB7fSwgJmJsb2NrKQogICAgcmVwb190YWcgPSBvcHRpb25zLmRlbGV0ZSg6
559
+ cmVwb190YWcpIHx8IGVuc3VyZV9yZXBvX3RhZ3MuZmlyc3QKICAgIHJhaXNl
560
+ IEFyZ3VtZW50RXJyb3IsICJJbWFnZSBpcyB1bnRhZ2dlZCIgaWYgcmVwb190
561
+ YWcubmlsPwogICAgcmVwbywgdGFnID0gRG9ja2VyOjpVdGlsLnBhcnNlX3Jl
562
+ cG9fdGFnKHJlcG9fdGFnKQogICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIklt
563
+ YWdlIGRvZXMgbm90IGhhdmUgYSBuYW1lIHRvIHB1c2guIiBpZiByZXBvLm5p
564
+ bD8KCiAgICBib2R5ID0gIiIKICAgIGNyZWRlbnRpYWxzID0gY3JlZHMgfHwg
565
+ RG9ja2VyLmNyZWRzIHx8IHt9CiAgICBoZWFkZXJzID0gRG9ja2VyOjpVdGls
566
+ LmJ1aWxkX2F1dGhfaGVhZGVyKGNyZWRlbnRpYWxzKQogICAgb3B0cyA9IHs6
567
+ dGFnID0+IHRhZ30ubWVyZ2Uob3B0aW9ucykKICAgIGNvbm5lY3Rpb24ucG9z
568
+ dCgiL2ltYWdlcy8je3JlcG99L3B1c2giLCBvcHRzLCA6aGVhZGVycyA9PiBo
569
+ ZWFkZXJzLAogICAgICAgICAgICAgICAgICAgIDpyZXNwb25zZV9ibG9jayA9
570
+ PiBzZWxmLmNsYXNzLnJlc3BvbnNlX2Jsb2NrKGJvZHksICZibG9jaykpCiAg
571
+ ICBzZWxmCiAgZW5kCgogICMgVGFnIHRoZSBJbWFnZS4KICBkZWYgdGFnKG9w
572
+ dHMgPSB7fSkKICAgIHNlbGYuaW5mb1snUmVwb1RhZ3MnXSB8fD0gW10KICAg
573
+ IGNvbm5lY3Rpb24ucG9zdChwYXRoX2Zvcig6dGFnKSwgb3B0cykKICAgIHJl
574
+ cG8gPSBvcHRzWydyZXBvJ10gfHwgb3B0c1s6cmVwb10KICAgIHRhZyA9IG9w
575
+ dHNbJ3RhZyddIHx8IG9wdHNbOnRhZ10gfHwgJ2xhdGVzdCcKICAgIHNlbGYu
576
+ aW5mb1snUmVwb1RhZ3MnXSA8PCAiI3tyZXBvfToje3RhZ30iCiAgZW5kCgog
577
+ ICMgR2l2ZW4gYSBwYXRoIG9mIGEgbG9jYWwgZmlsZSBhbmQgdGhlIHBhdGgg
578
+ aXQgc2hvdWxkIGJlIGluc2VydGVkLCBjcmVhdGVzCiAgIyBhIG5ldyBJbWFn
579
+ ZSB0aGF0IGhhcyB0aGF0IGZpbGUuCiAgZGVmIGluc2VydF9sb2NhbChvcHRz
580
+ ID0ge30pCiAgICBsb2NhbF9wYXRocyA9IG9wdHMuZGVsZXRlKCdsb2NhbFBh
581
+ dGgnKQogICAgb3V0cHV0X3BhdGggPSBvcHRzLmRlbGV0ZSgnb3V0cHV0UGF0
582
+ aCcpCgogICAgbG9jYWxfcGF0aHMgPSBbIGxvY2FsX3BhdGhzIF0gdW5sZXNz
583
+ IGxvY2FsX3BhdGhzLmlzX2E/KEFycmF5KQoKICAgIGZpbGVfaGFzaCA9IERv
584
+ Y2tlcjo6VXRpbC5maWxlX2hhc2hfZnJvbV9wYXRocyhsb2NhbF9wYXRocykK
585
+ CiAgICBmaWxlX2hhc2hbJ0RvY2tlcmZpbGUnXSA9IGRvY2tlcmZpbGVfZm9y
586
+ KGZpbGVfaGFzaCwgb3V0cHV0X3BhdGgpCgogICAgdGFyID0gRG9ja2VyOjpV
587
+ dGlsLmNyZWF0ZV90YXIoZmlsZV9oYXNoKQogICAgYm9keSA9IGNvbm5lY3Rp
588
+ b24ucG9zdCgnL2J1aWxkJywgb3B0cywgOmJvZHkgPT4gdGFyKQogICAgc2Vs
589
+ Zi5jbGFzcy5zZW5kKDpuZXcsIGNvbm5lY3Rpb24sICdpZCcgPT4gRG9ja2Vy
590
+ OjpVdGlsLmV4dHJhY3RfaWQoYm9keSkpCiAgZW5kCgogICMgUmVtb3ZlIHRo
591
+ ZSBJbWFnZSBmcm9tIHRoZSBzZXJ2ZXIuCiAgZGVmIHJlbW92ZShvcHRzID0g
592
+ e30pCiAgICBuYW1lID0gb3B0cy5kZWxldGUoOm5hbWUpIHx8IHNlbGYuaWQK
593
+ ICAgIGNvbm5lY3Rpb24uZGVsZXRlKCIvaW1hZ2VzLyN7bmFtZX0iLCBvcHRz
594
+ KQogIGVuZAogIGFsaWFzX21ldGhvZCA6ZGVsZXRlLCA6cmVtb3ZlCgogICMg
595
+ UmV0dXJuIGEgU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBJbWFnZS4K
596
+ ICBkZWYgdG9fcwogICAgIkRvY2tlcjo6SW1hZ2UgeyA6aWQgPT4gI3tzZWxm
597
+ LmlkfSwgOmluZm8gPT4gI3tzZWxmLmluZm8uaW5zcGVjdH0sICJcCiAgICAg
598
+ ICI6Y29ubmVjdGlvbiA9PiAje3NlbGYuY29ubmVjdGlvbn0gfSIKICBlbmQK
599
+ CiAgIyAjanNvbiByZXR1cm5zIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGFu
600
+ IEltYWdlLCAjaGlzdG9yeSByZXR1cm5zIGl0cwogICMgaGlzdG9yeS4KICBb
601
+ Ompzb24sIDpoaXN0b3J5XS5lYWNoIGRvIHxtZXRob2R8CiAgICBkZWZpbmVf
602
+ bWV0aG9kKG1ldGhvZCkgZG8gfG9wdHMgPSB7fXwKICAgICAgRG9ja2VyOjpV
603
+ dGlsLnBhcnNlX2pzb24oY29ubmVjdGlvbi5nZXQocGF0aF9mb3IobWV0aG9k
604
+ KSwgb3B0cykpCiAgICBlbmQKICBlbmQKCiAgIyBTYXZlIHRoZSBpbWFnZSBh
605
+ cyBhIHRhcmJhbGwKICBkZWYgc2F2ZShmaWxlbmFtZSA9IG5pbCkKICAgIHNl
606
+ bGYuY2xhc3Muc2F2ZShzZWxmLmlkLCBmaWxlbmFtZSwgY29ubmVjdGlvbikK
607
+ ICBlbmQKCiAgIyBVcGRhdGUgdGhlIEBpbmZvIGhhc2gsIHdoaWNoIGlzIHRo
608
+ ZSBvbmx5IG11dGFibGUgc3RhdGUgaW4gdGhpcyBvYmplY3QuCiAgZGVmIHJl
609
+ ZnJlc2ghCiAgICBpbWcgPSBEb2NrZXI6OkltYWdlLmFsbCh7OmFsbCA9PiB0
610
+ cnVlfSwgY29ubmVjdGlvbikuZmluZCB7IHxpbWFnZXwKICAgICAgaW1hZ2Uu
611
+ aWQuc3RhcnRfd2l0aD8oc2VsZi5pZCkgfHwgc2VsZi5pZC5zdGFydF93aXRo
612
+ PyhpbWFnZS5pZCkKICAgIH0KICAgIGluZm8ubWVyZ2UhKHNlbGYuanNvbikK
613
+ ICAgIGltZyAmJiBpbmZvLm1lcmdlIShpbWcuaW5mbykKICAgIHNlbGYKICBl
614
+ bmQKCiAgY2xhc3MgPDwgc2VsZgoKICAgICMgQ3JlYXRlIGEgbmV3IEltYWdl
615
+ LgogICAgZGVmIGNyZWF0ZShvcHRzID0ge30sIGNyZWRzID0gbmlsLCBjb25u
616
+ ID0gRG9ja2VyLmNvbm5lY3Rpb24sICZibG9jaykKICAgICAgY3JlZGVudGlh
617
+ bHMgPSBjcmVkcy5uaWw/ID8gRG9ja2VyLmNyZWRzIDogY3JlZHMudG9fanNv
618
+ bgogICAgICBoZWFkZXJzID0gY3JlZGVudGlhbHMgJiYgRG9ja2VyOjpVdGls
619
+ LmJ1aWxkX2F1dGhfaGVhZGVyKGNyZWRlbnRpYWxzKSB8fCB7fQogICAgICBi
620
+ b2R5ID0gJycKICAgICAgY29ubi5wb3N0KAogICAgICAgICcvaW1hZ2VzL2Ny
621
+ ZWF0ZScsCiAgICAgICAgb3B0cywKICAgICAgICA6aGVhZGVycyA9PiBoZWFk
622
+ ZXJzLAogICAgICAgIDpyZXNwb25zZV9ibG9jayA9PiByZXNwb25zZV9ibG9j
623
+ ayhib2R5LCAmYmxvY2spCiAgICAgICkKICAgICAganNvbiA9IERvY2tlcjo6
624
+ VXRpbC5maXhfanNvbihib2R5KQogICAgICBpbWFnZSA9IGpzb24ucmV2ZXJz
625
+ ZV9lYWNoLmZpbmQgeyB8ZWx8IGVsICYmIGVsLmtleT8oJ2lkJykgfQogICAg
626
+ ICBuZXcoY29ubiwgJ2lkJyA9PiBpbWFnZSAmJiBpbWFnZS5mZXRjaCgnaWQn
627
+ KSwgOmhlYWRlcnMgPT4gaGVhZGVycykKICAgIGVuZAoKICAgICMgUmV0dXJu
628
+ IGEgc3BlY2lmaWMgaW1hZ2UuCiAgICBkZWYgZ2V0KGlkLCBvcHRzID0ge30s
629
+ IGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgaW1hZ2VfanNvbiA9
630
+ IGNvbm4uZ2V0KCIvaW1hZ2VzLyN7VVJJLmVuY29kZShpZCl9L2pzb24iLCBv
631
+ cHRzKQogICAgICBoYXNoID0gRG9ja2VyOjpVdGlsLnBhcnNlX2pzb24oaW1h
632
+ Z2VfanNvbikgfHwge30KICAgICAgbmV3KGNvbm4sIGhhc2gpCiAgICBlbmQK
633
+ CiAgICAjIFNhdmUgdGhlIHJhdyBiaW5hcnkgcmVwcmVzZW50YXRpb24gb3Ig
634
+ b25lIG9yIG1vcmUgRG9ja2VyIGltYWdlcwogICAgIwogICAgIyBAcGFyYW0g
635
+ bmFtZXMgW1N0cmluZywgQXJyYXkjU3RyaW5nXSBUaGUgaW1hZ2UocykgeW91
636
+ IHdpc2ggdG8gc2F2ZQogICAgIyBAcGFyYW0gZmlsZW5hbWUgW1N0cmluZ10g
637
+ VGhlIGZpbGUgdG8gZXhwb3J0IHRoZSBkYXRhIHRvLgogICAgIyBAcGFyYW0g
638
+ Y29ubiBbRG9ja2VyOjpDb25uZWN0aW9uXSBUaGUgRG9ja2VyIGNvbm5lY3Rp
639
+ b24gdG8gdXNlCiAgICAjCiAgICAjIEByZXR1cm4gW05pbENsYXNzLCBTdHJp
640
+ bmddIElmIGZpbGVuYW1lIGlzIG5pbCwgcmV0dXJuIHRoZSBzdHJpbmcKICAg
641
+ ICMgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJpbmFyeSBkYXRhLiBJZiB0aGUg
642
+ ZmlsZW5hbWUgaXMgbm90IG5pbCwgdGhlbgogICAgIyByZXR1cm4gbmlsLgog
643
+ ICAgZGVmIHNhdmUobmFtZXMsIGZpbGVuYW1lID0gbmlsLCBjb25uID0gRG9j
644
+ a2VyLmNvbm5lY3Rpb24pCiAgICAgICMgQnkgdXNpbmcgY29tcGFyZV9ieV9p
645
+ ZGVudGl0eSB3ZSBjYW4gY3JlYXRlIGEgSGFzaCB0aGF0IGhhcwogICAgICAj
646
+ IHRoZSBzYW1lIGtleSBtdWx0aXBsZSB0aW1lcy4KICAgICAgcXVlcnkgPSB7
647
+ fQogICAgICBxdWVyeS5jb21wYXJlX2J5X2lkZW50aXR5CiAgICAgIEFycmF5
648
+ KG5hbWVzKS5lYWNoIGRvIHxuYW1lfAogICAgICAgIHF1ZXJ5WyduYW1lcydd
649
+ ID0gVVJJLmVuY29kZShuYW1lKQogICAgICBlbmQKCiAgICAgIGlmIGZpbGVu
650
+ YW1lCiAgICAgICAgZmlsZSA9IEZpbGUub3BlbihmaWxlbmFtZSwgJ3diJykK
651
+ ICAgICAgICBjb25uLmdldCgKICAgICAgICAgICcvaW1hZ2VzL2dldCcsIHF1
652
+ ZXJ5LAogICAgICAgICAgOnJlc3BvbnNlX2Jsb2NrID0+IHJlc3BvbnNlX2Js
653
+ b2NrX2Zvcl9zYXZlKGZpbGUpCiAgICAgICAgKQogICAgICAgIGZpbGUuY2xv
654
+ c2UKICAgICAgICBuaWwKICAgICAgZWxzZQogICAgICAgIGNvbm4uZ2V0KCcv
655
+ aW1hZ2VzL2dldCcsIHF1ZXJ5KQogICAgICBlbmQKICAgIGVuZAoKICAgICMg
656
+ Q2hlY2sgaWYgYW4gaW1hZ2UgZXhpc3RzLgogICAgZGVmIGV4aXN0PyhpZCwg
657
+ b3B0cyA9IHt9LCBjb25uID0gRG9ja2VyLmNvbm5lY3Rpb24pCiAgICAgIGdl
658
+ dChpZCwgb3B0cywgY29ubikKICAgICAgdHJ1ZQogICAgcmVzY3VlIERvY2tl
659
+ cjo6RXJyb3I6Ok5vdEZvdW5kRXJyb3IKICAgICAgZmFsc2UKICAgIGVuZAoK
660
+ ICAgICMgUmV0dXJuIGV2ZXJ5IEltYWdlLgogICAgZGVmIGFsbChvcHRzID0g
661
+ e30sIGNvbm4gPSBEb2NrZXIuY29ubmVjdGlvbikKICAgICAgaGFzaGVzID0g
662
+ RG9ja2VyOjpVdGlsLnBhcnNlX2pzb24oY29ubi5nZXQoJy9pbWFnZXMvanNv
663
+ bicsIG9wdHMpKSB8fCBbXQogICAgICBoYXNoZXMubWFwIHsgfGhhc2h8IG5l
664
+ dyhjb25uLCBoYXNoKSB9CiAgICBlbmQKCiAgICAjIEdpdmVuIGEgcXVlcnkg
665
+ bGlrZSBgeyA6dGVybSA9PiAnc3NoZCcgfWAsIHF1ZXJpZXMgdGhlIERvY2tl
666
+ ciBSZWdpc3RyeSBmb3IKICAgICMgYSBjb3JyZXNwb25kaW5nIEltYWdlLgog
667
+ ICAgZGVmIHNlYXJjaChxdWVyeSA9IHt9LCBjb25uZWN0aW9uID0gRG9ja2Vy
668
+ LmNvbm5lY3Rpb24pCiAgICAgIGJvZHkgPSBjb25uZWN0aW9uLmdldCgnL2lt
669
+ YWdlcy9zZWFyY2gnLCBxdWVyeSkKICAgICAgaGFzaGVzID0gRG9ja2VyOjpV
670
+ dGlsLnBhcnNlX2pzb24oYm9keSkgfHwgW10KICAgICAgaGFzaGVzLm1hcCB7
671
+ IHxoYXNofCBuZXcoY29ubmVjdGlvbiwgJ2lkJyA9PiBoYXNoWyduYW1lJ10p
672
+ IH0KICAgIGVuZAoKICAgICMgSW1wb3J0IGFuIEltYWdlIGZyb20gdGhlIG91
673
+ dHB1dCBvZiBEb2NrZXI6OkNvbnRhaW5lciNleHBvcnQuIFRoZSBmaXJzdAog
674
+ ICAgIyBhcmd1bWVudCBtYXkgZWl0aGVyIGJlIGEgRmlsZSBvciBVUkkuCiAg
675
+ ICBkZWYgaW1wb3J0KGltcCwgb3B0cyA9IHt9LCBjb25uID0gRG9ja2VyLmNv
676
+ bm5lY3Rpb24pCiAgICAgIG9wZW4oaW1wKSBkbyB8aW98CiAgICAgICAgaW1w
677
+ b3J0X3N0cmVhbShvcHRzLCBjb25uKSBkbwogICAgICAgICAgaW8ucmVhZChF
678
+ eGNvbi5kZWZhdWx0c1s6Y2h1bmtfc2l6ZV0pLnRvX3MKICAgICAgICBlbmQK
679
+ ICAgICAgZW5kCiAgICByZXNjdWUgU3RhbmRhcmRFcnJvcgogICAgICByYWlz
680
+ ZSBEb2NrZXI6OkVycm9yOjpJT0Vycm9yLCAiQ291bGQgbm90IGltcG9ydCAn
681
+ I3tpbXB9JyIKICAgIGVuZAoKICAgIGRlZiBpbXBvcnRfc3RyZWFtKG9wdGlv
682
+ bnMgPSB7fSwgY29ubmVjdGlvbiA9IERvY2tlci5jb25uZWN0aW9uLCAmYmxv
683
+ Y2spCiAgICAgIGJvZHkgPSBjb25uZWN0aW9uLnBvc3QoCiAgICAgICAgJy9p
684
+ bWFnZXMvY3JlYXRlJywKICAgICAgICAgb3B0aW9ucy5tZXJnZSgnZnJvbVNy
685
+ YycgPT4gJy0nKSwKICAgICAgICAgOmhlYWRlcnMgPT4geyAnQ29udGVudC1U
686
+ eXBlJyA9PiAnYXBwbGljYXRpb24vdGFyJywKICAgICAgICAgICAgICAgICAg
687
+ ICAgICAnVHJhbnNmZXItRW5jb2RpbmcnID0+ICdjaHVua2VkJyB9LAogICAg
688
+ ICAgICAmYmxvY2sKICAgICAgKQogICAgICBuZXcoY29ubmVjdGlvbiwgJ2lk
689
+ Jz0+IERvY2tlcjo6VXRpbC5wYXJzZV9qc29uKGJvZHkpWydzdGF0dXMnXSkK
690
+ ICAgIGVuZAoKICAgICMgR2l2ZW4gYSBEb2NrZXJmaWxlIGFzIGEgc3RyaW5n
691
+ LCBidWlsZHMgYW4gSW1hZ2UuCiAgICBkZWYgYnVpbGQoY29tbWFuZHMsIG9w
692
+ dHMgPSB7fSwgY29ubmVjdGlvbiA9IERvY2tlci5jb25uZWN0aW9uLCAmYmxv
693
+ Y2spCiAgICAgIGJvZHkgPSAiIgogICAgICBjb25uZWN0aW9uLnBvc3QoCiAg
694
+ ICAgICAgJy9idWlsZCcsIG9wdHMsCiAgICAgICAgOmJvZHkgPT4gRG9ja2Vy
695
+ OjpVdGlsLmNyZWF0ZV90YXIoJ0RvY2tlcmZpbGUnID0+IGNvbW1hbmRzKSwK
696
+ ICAgICAgICA6cmVzcG9uc2VfYmxvY2sgPT4gcmVzcG9uc2VfYmxvY2soYm9k
697
+ eSwgJmJsb2NrKQogICAgICApCiAgICAgIG5ldyhjb25uZWN0aW9uLCAnaWQn
698
+ ID0+IERvY2tlcjo6VXRpbC5leHRyYWN0X2lkKGJvZHkpKQogICAgcmVzY3Vl
699
+ IERvY2tlcjo6RXJyb3I6OlNlcnZlckVycm9yCiAgICAgIHJhaXNlIERvY2tl
700
+ cjo6RXJyb3I6OlVuZXhwZWN0ZWRSZXNwb25zZUVycm9yCiAgICBlbmQKCiAg
701
+ ICAjIEdpdmVuIEZpbGUgbGlrZSBvYmplY3QgY29udGFpbmluZyBhIHRhciBm
702
+ aWxlLCBidWlsZHMgYW4gSW1hZ2UuCiAgICAjCiAgICAjIElmIGEgYmxvY2sg
703
+ aXMgcGFzc2VkLCBjaHVua3Mgb2Ygb3V0cHV0IHByb2R1Y2VkIGJ5IERvY2tl
704
+ ciB3aWxsIGJlIHBhc3NlZAogICAgIyB0byB0aGF0IGJsb2NrLgogICAgZGVm
705
+ IGJ1aWxkX2Zyb21fdGFyKHRhciwgb3B0cyA9IHt9LCBjb25uZWN0aW9uID0g
706
+ RG9ja2VyLmNvbm5lY3Rpb24sCiAgICAgICAgICAgICAgICAgICAgICAgY3Jl
707
+ ZHMgPSBuaWwsICZibG9jaykKCiAgICAgIGhlYWRlcnMgPSBidWlsZF9oZWFk
708
+ ZXJzKGNyZWRzKQoKICAgICAgIyBUaGUgcmVzcG9uc2VfYmxvY2sgcGFzc2Vk
709
+ IHRvIEV4Y29uIHdpbGwgYnVpbGQgdXAgdGhpcyBib2R5IHZhcmlhYmxlLgog
710
+ ICAgICBib2R5ID0gIiIKICAgICAgY29ubmVjdGlvbi5wb3N0KAogICAgICAg
711
+ ICcvYnVpbGQnLCBvcHRzLAogICAgICAgIDpoZWFkZXJzID0+IGhlYWRlcnMs
712
+ CiAgICAgICAgOnJlc3BvbnNlX2Jsb2NrID0+IHJlc3BvbnNlX2Jsb2NrKGJv
713
+ ZHksICZibG9jaykKICAgICAgKSB7IHRhci5yZWFkKEV4Y29uLmRlZmF1bHRz
714
+ WzpjaHVua19zaXplXSkudG9fcyB9CgogICAgICBuZXcoY29ubmVjdGlvbiwK
715
+ ICAgICAgICAgICdpZCcgPT4gRG9ja2VyOjpVdGlsLmV4dHJhY3RfaWQoYm9k
716
+ eSksCiAgICAgICAgICA6aGVhZGVycyA9PiBoZWFkZXJzKQogICAgZW5kCgog
717
+ ICAgIyBHaXZlbiBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIGEgRG9ja2Vy
718
+ ZmlsZSwgYnVpbGRzIGFuIEltYWdlLgogICAgIwogICAgIyBJZiBhIGJsb2Nr
719
+ IGlzIHBhc3NlZCwgY2h1bmtzIG9mIG91dHB1dCBwcm9kdWNlZCBieSBEb2Nr
720
+ ZXIgd2lsbCBiZSBwYXNzZWQKICAgICMgdG8gdGhhdCBibG9jay4KICAgIGRl
721
+ ZiBidWlsZF9mcm9tX2RpcihkaXIsIG9wdHMgPSB7fSwgY29ubmVjdGlvbiA9
722
+ IERvY2tlci5jb25uZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgIGNy
723
+ ZWRzID0gbmlsLCAmYmxvY2spCgogICAgICB0YXIgPSBEb2NrZXI6OlV0aWwu
724
+ Y3JlYXRlX2Rpcl90YXIoZGlyKQogICAgICBidWlsZF9mcm9tX3RhciB0YXIs
725
+ IG9wdHMsIGNvbm5lY3Rpb24sIGNyZWRzLCAmYmxvY2sKICAgIGVuc3VyZQog
726
+ ICAgICB1bmxlc3MgdGFyLm5pbD8KICAgICAgICB0YXIuY2xvc2UKICAgICAg
727
+ ICBGaWxlVXRpbHMucm0odGFyLnBhdGgsIGZvcmNlOiB0cnVlKQogICAgICBl
728
+ bmQKICAgIGVuZAogIGVuZAoKICBwcml2YXRlCgogICMgQSBtZXRob2QgdG8g
729
+ YnVpbGQgdGhlIGNvbmZpZyBoZWFkZXIgYW5kIG1lcmdlIGl0IGludG8gdGhl
730
+ CiAgIyBoZWFkZXJzIHNlbnQgYnkgYnVpbGRfZnJvbV9kaXIuCiAgZGVmIHNl
731
+ bGYuYnVpbGRfaGVhZGVycyhjcmVkcz1uaWwpCiAgICBjcmVkZW50aWFscyA9
732
+ IGNyZWRzIHx8IERvY2tlci5jcmVkcyB8fCB7fQogICAgY29uZmlnX2hlYWRl
733
+ ciA9IERvY2tlcjo6VXRpbC5idWlsZF9jb25maWdfaGVhZGVyKGNyZWRlbnRp
734
+ YWxzKQoKICAgIGhlYWRlcnMgPSB7ICdDb250ZW50LVR5cGUnICAgICAgPT4g
735
+ J2FwcGxpY2F0aW9uL3RhcicsCiAgICAgICAgICAgICAgICAnVHJhbnNmZXIt
736
+ RW5jb2RpbmcnID0+ICdjaHVua2VkJyB9CiAgICBoZWFkZXJzID0gaGVhZGVy
737
+ cy5tZXJnZShjb25maWdfaGVhZGVyKSBpZiBjb25maWdfaGVhZGVyCiAgICBo
738
+ ZWFkZXJzCiAgZW5kCgogICMgQ29udmVuaWVuY2UgbWV0aG9kIHRvIHJldHVy
739
+ biB0aGUgcGF0aCBmb3IgYSBwYXJ0aWN1bGFyIHJlc291cmNlLgogIGRlZiBw
740
+ YXRoX2ZvcihyZXNvdXJjZSkKICAgICIvaW1hZ2VzLyN7c2VsZi5pZH0vI3ty
741
+ ZXNvdXJjZX0iCiAgZW5kCgoKICAjIENvbnZpZW5jZSBtZXRob2QgdG8gZ2V0
742
+ IHRoZSBEb2NrZXJmaWxlIGZvciBhIGZpbGUgaGFzaCBhbmQgYSBwYXRoIHRv
743
+ CiAgIyBvdXRwdXQgdG8uCiAgZGVmIGRvY2tlcmZpbGVfZm9yKGZpbGVfaGFz
744
+ aCwgb3V0cHV0X3BhdGgpCiAgICBkb2NrZXJmaWxlID0gImZyb20gI3tzZWxm
745
+ LmlkfVxuIgoKICAgIGZpbGVfaGFzaC5rZXlzLmVhY2ggZG8gfGJhc2VuYW1l
746
+ fAogICAgICBkb2NrZXJmaWxlIDw8ICJhZGQgI3tiYXNlbmFtZX0gI3tvdXRw
747
+ dXRfcGF0aH1cbiIKICAgIGVuZAoKICAgIGRvY2tlcmZpbGUKICBlbmQKCiAg
748
+ ZGVmIGVuc3VyZV9yZXBvX3RhZ3MKICAgIHJlZnJlc2ghIHVubGVzcyBpbmZv
749
+ Lmhhc19rZXk/KCdSZXBvVGFncycpCiAgICBpbmZvWydSZXBvVGFncyddCiAg
750
+ ZW5kCgogICMgR2VuZXJhdGVzIHRoZSBibG9jayB0byBiZSBwYXNzZWQgYXMg
751
+ YSByZXBvbnNlIGJsb2NrIHRvIEV4Y29uLiBUaGUgcmV0dXJuZWQKICAjIGxh
752
+ bWJkYSB3aWxsIGFwcGVuZCBEb2NrZXIgb3V0cHV0IHRvIHRoZSBmaXJzdCBh
753
+ cmd1bWVudCwgYW5kIHlpZWxkIG91dHB1dCB0bwogICMgdGhlIHBhc3NlZCBi
754
+ bG9jaywgaWYgYSBibG9jayBpcyBnaXZlbi4KICBkZWYgc2VsZi5yZXNwb25z
755
+ ZV9ibG9jayhib2R5KQogICAgbGFtYmRhIGRvIHxjaHVuaywgcmVtYWluaW5n
756
+ LCB0b3RhbHwKICAgICAgYm9keSA8PCBjaHVuawogICAgICB5aWVsZCBjaHVu
757
+ ayBpZiBibG9ja19naXZlbj8KICAgIGVuZAogIGVuZAoKICAjIEdlbmVyYXRl
758
+ cyB0aGUgYmxvY2sgdG8gYmUgcGFzc2VkIGluIHRvIHRoZSBzYXZlIHJlcXVl
759
+ c3QuIFRoaXMgbGFtYmRhIHdpbGwKICAjIGFwcGVuZCB0aGUgc3RyZWFtaW5n
760
+ IGRhdGEgdG8gdGhlIGZpbGUgcHJvdmlkZWQuCiAgZGVmIHNlbGYucmVzcG9u
761
+ c2VfYmxvY2tfZm9yX3NhdmUoZmlsZSkKICAgIGxhbWJkYSBkbyB8Y2h1bmss
762
+ IHJlbWlhbmluZywgdG90YWx8CiAgICAgIGZpbGUgPDwgY2h1bmsKICAgIGVu
763
+ ZAogIGVuZAplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
764
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
765
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
766
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
767
+ AAAAAAAAAABkb2NrZXIvbWVzc2FnZXMucmIAAAAAAAAAAAAAAAAAAAAAAAAA
768
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
769
+ AAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAw
770
+ MDAwMDI1NzUAMTI1MzYwMDY3MDQAMDE0NzM2ACAwAAAAAAAAAAAAAAAAAAAA
771
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
772
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy
773
+ ADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAA
774
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAwMAAAAAAAAAAA
775
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
776
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
777
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
778
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhpcyBjbGFzcyByZXByZXNl
779
+ bnRzIGFsbCB0aGUgbWVzc2FnZXMgZWl0aGVyIHJlY2VpdmVkIGJ5IGNodW5r
780
+ cyBmcm9tIGF0dGFjaApjbGFzcyBEb2NrZXI6Ok1lc3NhZ2VzCgogIGF0dHJf
781
+ YWNjZXNzb3IgOmJ1ZmZlciwgOnN0ZG91dF9tZXNzYWdlcywgOnN0ZGVycl9t
782
+ ZXNzYWdlcywgOmFsbF9tZXNzYWdlcwoKICBkZWYgaW5pdGlhbGl6ZShzdGRv
783
+ dXRfbWVzc2FnZXM9W10sCiAgICAgICAgICAgICAgICAgc3RkZXJyX21lc3Nh
784
+ Z2VzPVtdLAogICAgICAgICAgICAgICAgIGFsbF9tZXNzYWdlcz1bXSwKICAg
785
+ ICAgICAgICAgICAgICBidWZmZXI9IiIpCiAgICBAc3Rkb3V0X21lc3NhZ2Vz
786
+ ID0gc3Rkb3V0X21lc3NhZ2VzCiAgICBAc3RkZXJyX21lc3NhZ2VzID0gc3Rk
787
+ ZXJyX21lc3NhZ2VzCiAgICBAYWxsX21lc3NhZ2VzID0gYWxsX21lc3NhZ2Vz
788
+ CiAgICBAYnVmZmVyID0gYnVmZmVyCiAgZW5kCgogIGRlZiBhZGRfbWVzc2Fn
789
+ ZShzb3VyY2UsIG1lc3NhZ2UpCiAgICBjYXNlIHNvdXJjZQogICAgd2hlbiAx
790
+ CiAgICAgIHN0ZG91dF9tZXNzYWdlcyA8PCBtZXNzYWdlCiAgICB3aGVuIDIK
791
+ ICAgICAgc3RkZXJyX21lc3NhZ2VzIDw8IG1lc3NhZ2UKICAgIGVuZAogICAg
792
+ YWxsX21lc3NhZ2VzIDw8IG1lc3NhZ2UKICBlbmQKCiAgZGVmIGdldF9tZXNz
793
+ YWdlKHJhd190ZXh0KQogICAgaGVhZGVyID0gcmF3X3RleHQuc2xpY2UhKDAs
794
+ OCkKICAgIGlmIGhlYWRlci5sZW5ndGggPCA4CiAgICAgIEBidWZmZXIgPSBo
795
+ ZWFkZXIKICAgICAgcmV0dXJuCiAgICBlbmQKICAgIHR5cGUsIGxlbmd0aCA9
796
+ IGhlYWRlci51bnBhY2soIkN4eHhOIikKCiAgICBtZXNzYWdlID0gcmF3X3Rl
797
+ eHQuc2xpY2UhKDAsbGVuZ3RoKQogICAgaWYgbWVzc2FnZS5sZW5ndGggPCBs
798
+ ZW5ndGgKICAgICAgQGJ1ZmZlciA9IGhlYWRlciArIG1lc3NhZ2UKICAgIGVs
799
+ c2UKICAgICAgYWRkX21lc3NhZ2UodHlwZSwgbWVzc2FnZSkKICAgIGVuZAog
800
+ IGVuZAoKICBkZWYgYXBwZW5kKG1lc3NhZ2VzKQogICAgQHN0ZG91dF9tZXNz
801
+ YWdlcyArPSBtZXNzYWdlcy5zdGRvdXRfbWVzc2FnZXMKICAgIEBzdGRlcnJf
802
+ bWVzc2FnZXMgKz0gbWVzc2FnZXMuc3RkZXJyX21lc3NhZ2VzCiAgICBAYWxs
803
+ X21lc3NhZ2VzICs9IG1lc3NhZ2VzLmFsbF9tZXNzYWdlcwogIGVuZAoKICAj
804
+ IE1ldGhvZCB0byBicmVhayBhcGFydCBhcHBsaWNhdGlvbi92bmQuZG9ja2Vy
805
+ LnJhdy1zdHJlYW0gaGVhZGVycwogIGRlZiBkZWNpcGhlcl9tZXNzYWdlcyhi
806
+ b2R5KQogICAgcmF3X3RleHQgPSBidWZmZXIgKyBib2R5LmR1cAogICAgbWVz
807
+ c2FnZXMgPSBEb2NrZXI6Ok1lc3NhZ2VzLm5ldwogICAgd2hpbGUgIXJhd190
808
+ ZXh0LmVtcHR5PwogICAgICBtZXNzYWdlcy5nZXRfbWVzc2FnZShyYXdfdGV4
809
+ dCkKICAgIGVuZAoKICAgIG1lc3NhZ2VzCiAgZW5kCmVuZAoAAAAAAAAAAAAA
810
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
811
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
812
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRvY2tlci9tZXNzYWdl
813
+ c19zdGFjay5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
814
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAw
815
+ NjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMDcxNQAxMjU1MDQyMDYxNwAw
816
+ MTYxMTQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
817
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
818
+ AAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDB3aGVlbAAAAAAAAAAAAAAAAAAA
819
+ AAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
820
+ MDAwMDAwMAAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
821
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
822
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
823
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
824
+ AAAAY2xhc3MgRG9ja2VyOjpNZXNzYWdlc1N0YWNrCgogIGF0dHJfYWNjZXNz
825
+ b3IgOm1lc3NhZ2VzCgogICMgSW5pdGlhbGl6ZSBzdGFjayB3aXRoIG9wdGlv
826
+ bmFsIHNpemUKICAjCiAgIyBAcGFyYW0gc2l6ZSBbSW50ZWdlcl0KICBkZWYg
827
+ aW5pdGlhbGl6ZShzaXplID0gLTEpCiAgICBAbWVzc2FnZXMgPSBbXQogICAg
828
+ QHNpemUgPSBzaXplCiAgZW5kCgogICMgQXBwZW5kIG1lc3NhZ2VzIHRvIHN0
829
+ YWNrCiAgIwogICMgQHBhcmFtIG1lc3NhZ2VzIFtEb2NrZXI6Ok1lc3NhZ2Vz
830
+ XQogIGRlZiBhcHBlbmQobWVzc2FnZXMpCiAgICByZXR1cm4gaWYgQHNpemUg
831
+ PT0gMAoKICAgIG1lc3NhZ2VzLmFsbF9tZXNzYWdlcy5lYWNoIGRvIHxtc2d8
832
+ CiAgICAgIEBtZXNzYWdlcyA8PCBtc2cKICAgICAgQG1lc3NhZ2VzLnNoaWZ0
833
+ IGlmIEBzaXplID4gLTEgJiYgQG1lc3NhZ2VzLnNpemUgPiBAc2l6ZQogICAg
834
+ ZW5kCiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
835
+ AAAAAAAAAAAAAAAAAAAAAAAAAABkb2NrZXIvcmFrZV90YXNrLnJiAAAAAAAA
836
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
837
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAw
838
+ ADAwMDAwMDAAMDAwMDAwMDEyMTcAMTI1MzYwMDY3MDQAMDE1MDYzACAwAAAA
839
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
840
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
841
+ AAAAAAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
842
+ AAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAw
843
+ MDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
844
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
845
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
846
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgVGhpcyBj
847
+ bGFzcyBhbGxvd3MgaW1hZ2UtYmFzZWQgdGFza3MgdG8gYmUgY3JlYXRlZC4K
848
+ Y2xhc3MgRG9ja2VyOjpJbWFnZVRhc2sgPCBSYWtlOjpUYXNrCiAgZGVmIHNl
849
+ bGYuc2NvcGVfbmFtZShfc2NvcGUsIHRhc2tfbmFtZSkKICAgIHRhc2tfbmFt
850
+ ZQogIGVuZAoKICBkZWYgbmVlZGVkPwogICAgIWhhc19yZXBvX3RhZz8KICBl
851
+ bmQKCiAgcHJpdmF0ZQoKICBkZWYgaGFzX3JlcG9fdGFnPwogICAgaW1hZ2Vz
852
+ LmFueT8geyB8aW1hZ2V8IGltYWdlLmluZm9bJ1JlcG9UYWdzJ10uaW5jbHVk
853
+ ZT8ocmVwb190YWcpIH0KICBlbmQKCiAgZGVmIGltYWdlcwogICAgQGltYWdl
854
+ cyB8fD0gRG9ja2VyOjpJbWFnZS5hbGwoOmFsbCA9PiB0cnVlKQogIGVuZAoK
855
+ ICBkZWYgcmVwbwogICAgbmFtZS5zcGxpdCgnOicpWzBdCiAgZW5kCgogIGRl
856
+ ZiB0YWcKICAgIG5hbWUuc3BsaXQoJzonKVsxXSB8fCAnbGF0ZXN0JwogIGVu
857
+ ZAoKICBkZWYgcmVwb190YWcKICAgICIje3JlcG99OiN7dGFnfSIKICBlbmQK
858
+ ZW5kCgojIE1vbmtleXBhdGNoIFJha2UgdG8gYWRkIHRoZSBgaW1hZ2VgIHRh
859
+ c2suCm1vZHVsZSBSYWtlOjpEU0wKICBkZWYgaW1hZ2UoKmFyZ3MsICZibG9j
860
+ aykKICAgIERvY2tlcjo6SW1hZ2VUYXNrLmRlZmluZV90YXNrKCphcmdzLCAm
861
+ YmxvY2spCiAgZW5kCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1096
862
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1097
863
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1098
- AAAwMDQwNzU1ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMDAwMAAxMjM2MzIy
1099
- NTM2NgAwMDcxMDcAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1100
864
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1101
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDAAAAAAAAAAAAAAAAAA
1102
865
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1103
866
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1104
867
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1105
868
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
869
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkb2NrZXIvdXRpbC5yYgAAAAAA
870
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
871
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAw
872
+ MDAwMDAwADAwMDAwMDAAMDAwMDAwMTM3NjEAMTI1MzYwMTE1NjMAMDE0MTAy
873
+ ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
874
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
875
+ AAAAAAAAAAAAAAAAAHVzdGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAA
876
+ AAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAw
877
+ MDAAMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
878
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
879
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
880
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMg
881
+ VGhpcyBtb2R1bGUgaG9sZHMgc2hhcmVkIGxvZ2ljIHRoYXQgZG9lc24ndCBy
882
+ ZWFsbHkgYmVsb25nIGFueXdoZXJlIGVsc2UgaW4gdGhlCiMgZ2VtLgptb2R1
883
+ bGUgRG9ja2VyOjpVdGlsCiAgaW5jbHVkZSBEb2NrZXI6OkVycm9yCgogIG1v
884
+ ZHVsZV9mdW5jdGlvbgoKICAjIEF0dGFjaGVzIHRvIGEgSFRUUCBzdHJlYW0K
885
+ ICAjCiAgIyBAcGFyYW0gYmxvY2sKICAjIEBwYXJhbSBtc2dfc3RhY2sgW0Rv
886
+ Y2tlcjo6TWVzc2FnZXNdCiAgIyBAcGFyYW0gdHR5IFtib29sZWFuXQogIGRl
887
+ ZiBhdHRhY2hfZm9yKGJsb2NrLCBtc2dfc3RhY2ssIHR0eSA9IGZhbHNlKQog
888
+ ICAgIyBJZiBUVFkgaXMgZW5hYmxlZCBleHBlY3QgcmF3IGRhdGEgYW5kIGFw
889
+ cGVuZCB0byBzdGRvdXQKICAgIGlmIHR0eQogICAgICBhdHRhY2hfZm9yX3R0
890
+ eShibG9jaywgbXNnX3N0YWNrKQogICAgZWxzZQogICAgICBhdHRhY2hfZm9y
891
+ X211bHRpcGxleChibG9jaywgbXNnX3N0YWNrKQogICAgZW5kCiAgZW5kCgog
892
+ IGRlZiBhdHRhY2hfZm9yX3R0eShibG9jaywgbXNnX3N0YWNrKQogICAgcmV0
893
+ dXJuIGxhbWJkYSBkbyB8YyxyLHR8CiAgICAgIG1zZ19zdGFjay5zdGRvdXRf
894
+ bWVzc2FnZXMgPDwgYwogICAgICBtc2dfc3RhY2suYWxsX21lc3NhZ2VzIDw8
895
+ IGMKICAgICAgYmxvY2suY2FsbCBjIGlmIGJsb2NrCiAgICBlbmQKICBlbmQK
896
+ CiAgZGVmIGF0dGFjaF9mb3JfbXVsdGlwbGV4KGJsb2NrLCBtc2dfc3RhY2sp
897
+ CiAgICBtZXNzYWdlcyA9IERvY2tlcjo6TWVzc2FnZXMubmV3CiAgICBsYW1i
898
+ ZGEgZG8gfGMscix0fAogICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzLmRlY2lw
899
+ aGVyX21lc3NhZ2VzKGMpCiAgICAgIG1zZ19zdGFjay5hcHBlbmQobWVzc2Fn
900
+ ZXMpCgogICAgICB1bmxlc3MgYmxvY2submlsPwogICAgICAgIG1lc3NhZ2Vz
901
+ LnN0ZG91dF9tZXNzYWdlcy5lYWNoIGRvIHxtc2d8CiAgICAgICAgICBibG9j
902
+ ay5jYWxsKDpzdGRvdXQsIG1zZykKICAgICAgICBlbmQKICAgICAgICBtZXNz
903
+ YWdlcy5zdGRlcnJfbWVzc2FnZXMuZWFjaCBkbyB8bXNnfAogICAgICAgICAg
904
+ YmxvY2suY2FsbCg6c3RkZXJyLCBtc2cpCiAgICAgICAgZW5kCiAgICAgIGVu
905
+ ZAogICAgZW5kCiAgZW5kCgogIGRlZiBkZWJ1Zyhtc2cpCiAgICBEb2NrZXIu
906
+ bG9nZ2VyLmRlYnVnKG1zZykgaWYgRG9ja2VyLmxvZ2dlcgogIGVuZAoKICBk
907
+ ZWYgaGlqYWNrX2ZvcihzdGRpbiwgYmxvY2ssIG1zZ19zdGFjaywgdHR5KQog
908
+ ICAgYXR0YWNoX2Jsb2NrID0gYXR0YWNoX2ZvcihibG9jaywgbXNnX3N0YWNr
909
+ LCB0dHkpCgogICAgbGFtYmRhIGRvIHxzb2NrZXR8CiAgICAgIGRlYnVnICJo
910
+ aWphY2s6IGhpamFja2luZyB0aGUgSFRUUCBzb2NrZXQiCiAgICAgIHRocmVh
911
+ ZHMgPSBbXQoKICAgICAgZGVidWcgImhpamFjazogc3RhcnRpbmcgc3RkaW4g
912
+ Y29weSB0aHJlYWQiCiAgICAgIHRocmVhZHMgPDwgVGhyZWFkLnN0YXJ0IGRv
913
+ CiAgICAgICAgZGVidWcgImhpamFjazogY29weWluZyBzdGRpbiA9PiBzb2Nr
914
+ ZXQiCiAgICAgICAgSU8uY29weV9zdHJlYW0gc3RkaW4sIHNvY2tldAoKICAg
915
+ ICAgICBkZWJ1ZyAiaGlqYWNrOiBjbG9zaW5nIHdyaXRlIGVuZCBvZiBoaWph
916
+ Y2tlZCBzb2NrZXQiCiAgICAgICAgY2xvc2Vfd3JpdGUoc29ja2V0KQogICAg
917
+ ICBlbmQKCiAgICAgIGRlYnVnICJoaWphY2s6IHN0YXJ0aW5nIGhpamFja2Vk
918
+ IHNvY2tldCByZWFkIHRocmVhZCIKICAgICAgdGhyZWFkcyA8PCBUaHJlYWQu
919
+ c3RhcnQgZG8KICAgICAgICBkZWJ1ZyAiaGlqYWNrOiByZWFkaW5nIGZyb20g
920
+ aGlqYWNrZWQgc29ja2V0IgoKICAgICAgICBiZWdpbgogICAgICAgICAgd2hp
921
+ bGUgY2h1bmsgPSBzb2NrZXQucmVhZHBhcnRpYWwoNTEyKQogICAgICAgICAg
922
+ ICBkZWJ1ZyAiaGlqYWNrOiBnb3QgI3tjaHVuay5ieXRlc2l6ZX0gYnl0ZXMg
923
+ ZnJvbSBoaWphY2tlZCBzb2NrZXQiCiAgICAgICAgICAgIGF0dGFjaF9ibG9j
924
+ ay5jYWxsIGNodW5rLCBuaWwsIG5pbAogICAgICAgICAgZW5kCiAgICAgICAg
925
+ cmVzY3VlIEVPRkVycm9yCiAgICAgICAgZW5kCgogICAgICAgIGRlYnVnICJo
926
+ aWphY2s6IGtpbGxpbmcgc3RkaW4gY29weSB0aHJlYWQiCiAgICAgICAgdGhy
927
+ ZWFkcy5maXJzdC5raWxsCiAgICAgIGVuZAoKICAgICAgdGhyZWFkcy5lYWNo
928
+ KCY6am9pbikKICAgIGVuZAogIGVuZAoKICBkZWYgY2xvc2Vfd3JpdGUoc29j
929
+ a2V0KQogICAgaWYgc29ja2V0LnJlc3BvbmRfdG8/KDpjbG9zZV93cml0ZSkK
930
+ ICAgICAgc29ja2V0LmNsb3NlX3dyaXRlCiAgICBlbHNpZiBzb2NrZXQucmVz
931
+ cG9uZF90bz8oOmlvKQogICAgICBzb2NrZXQuaW8uY2xvc2Vfd3JpdGUKICAg
932
+ IGVsc2UKICAgICAgcmFpc2UgSU9FcnJvciwgJ0Nhbm5vdCBjbG9zZSBzb2Nr
933
+ ZXQnCiAgICBlbmQKICBlbmQKCiAgZGVmIHBhcnNlX2pzb24oYm9keSkKICAg
934
+ IEpTT04ucGFyc2UoYm9keSkgdW5sZXNzIGJvZHkubmlsPyB8fCBib2R5LmVt
935
+ cHR5PyB8fCAoYm9keSA9PSAnbnVsbCcpCiAgcmVzY3VlIEpTT046OlBhcnNl
936
+ ckVycm9yID0+IGV4CiAgICByYWlzZSBVbmV4cGVjdGVkUmVzcG9uc2VFcnJv
937
+ ciwgZXgubWVzc2FnZQogIGVuZAoKICBkZWYgcGFyc2VfcmVwb190YWcoc3Ry
938
+ KQogICAgaWYgbWF0Y2ggPSBzdHIubWF0Y2goL1xBKC4qKTooW146XSopXHov
939
+ KQogICAgICBtYXRjaC5jYXB0dXJlcwogICAgZWxzZQogICAgICBbc3RyLCAn
940
+ J10KICAgIGVuZAogIGVuZAoKICBkZWYgZml4X2pzb24oYm9keSkKICAgIHBh
941
+ cnNlX2pzb24oIlsje2JvZHkuZ3N1YigvfVxzKnsvLCAnfSx7Jyl9XSIpCiAg
942
+ ZW5kCgogIGRlZiBjcmVhdGVfdGFyKGhhc2ggPSB7fSkKICAgIG91dHB1dCA9
943
+ IFN0cmluZ0lPLm5ldwogICAgR2VtOjpQYWNrYWdlOjpUYXJXcml0ZXIubmV3
944
+ KG91dHB1dCkgZG8gfHRhcnwKICAgICAgaGFzaC5lYWNoIGRvIHxmaWxlX25h
945
+ bWUsIGlucHV0fAogICAgICAgIHRhci5hZGRfZmlsZShmaWxlX25hbWUsIDA2
946
+ NDApIHsgfHRhcl9maWxlfCB0YXJfZmlsZS53cml0ZShpbnB1dCkgfQogICAg
947
+ ICBlbmQKICAgIGVuZAogICAgb3V0cHV0LnRhcCgmOnJld2luZCkuc3RyaW5n
948
+ CiAgZW5kCgogIGRlZiBjcmVhdGVfZGlyX3RhcihkaXJlY3RvcnkpCiAgICB0
949
+ ZW1wZmlsZSA9IGNyZWF0ZV90ZW1wX2ZpbGUKICAgIGRpcmVjdG9yeSArPSAn
950
+ LycgdW5sZXNzIGRpcmVjdG9yeS5lbmRfd2l0aD8oJy8nKQoKICAgIGNyZWF0
951
+ ZV9yZWxhdGl2ZV9kaXJfdGFyKGRpcmVjdG9yeSwgdGVtcGZpbGUpCgogICAg
952
+ RmlsZS5uZXcodGVtcGZpbGUucGF0aCwgJ3InKQogIGVuZAoKICBkZWYgY3Jl
953
+ YXRlX3JlbGF0aXZlX2Rpcl90YXIoZGlyZWN0b3J5LCBvdXRwdXQpCiAgICBH
954
+ ZW06OlBhY2thZ2U6OlRhcldyaXRlci5uZXcob3V0cHV0KSBkbyB8dGFyfAog
955
+ ICAgICBGaW5kLmZpbmQoZGlyZWN0b3J5KSBkbyB8cHJlZml4ZWRfZmlsZV9u
956
+ YW1lfAogICAgICAgIHN0YXQgPSBGaWxlLnN0YXQocHJlZml4ZWRfZmlsZV9u
957
+ YW1lKQogICAgICAgIG5leHQgdW5sZXNzIHN0YXQuZmlsZT8KCiAgICAgICAg
958
+ dW5wcmVmaXhlZF9maWxlX25hbWUgPSBwcmVmaXhlZF9maWxlX25hbWVbZGly
959
+ ZWN0b3J5Lmxlbmd0aC4uLTFdCiAgICAgICAgYWRkX2ZpbGVfdG9fdGFyKAog
960
+ ICAgICAgICAgdGFyLCB1bnByZWZpeGVkX2ZpbGVfbmFtZSwgc3RhdC5tb2Rl
961
+ LCBzdGF0LnNpemUsIHN0YXQubXRpbWUKICAgICAgICApIGRvIHx0YXJfZmls
962
+ ZXwKICAgICAgICAgIElPLmNvcHlfc3RyZWFtKEZpbGUub3BlbihwcmVmaXhl
963
+ ZF9maWxlX25hbWUsICdyYicpLCB0YXJfZmlsZSkKICAgICAgICBlbmQKICAg
964
+ ICAgZW5kCiAgICBlbmQKICBlbmQKCiAgZGVmIGFkZF9maWxlX3RvX3Rhcih0
965
+ YXIsIG5hbWUsIG1vZGUsIHNpemUsIG10aW1lKQogICAgdGFyLmNoZWNrX2Ns
966
+ b3NlZAoKICAgIGlvID0gdGFyLmluc3RhbmNlX3ZhcmlhYmxlX2dldCg6QGlv
967
+ KQoKICAgIG5hbWUsIHByZWZpeCA9IHRhci5zcGxpdF9uYW1lKG5hbWUpCgog
968
+ ICAgaGVhZGVyID0gR2VtOjpQYWNrYWdlOjpUYXJIZWFkZXIubmV3KDpuYW1l
969
+ ID0+IG5hbWUsIDptb2RlID0+IG1vZGUsCiAgICAgICAgICAgICAgICAgICAg
970
+ ICAgICAgICAgICAgICAgICAgICAgOnNpemUgPT4gc2l6ZSwgOnByZWZpeCA9
971
+ PiBwcmVmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
972
+ ICAgICAgOm10aW1lID0+IG10aW1lKS50b19zCgogICAgaW8ud3JpdGUgaGVh
973
+ ZGVyCiAgICBvcyA9IEdlbTo6UGFja2FnZTo6VGFyV3JpdGVyOjpCb3VuZGVk
974
+ U3RyZWFtLm5ldyBpbywgc2l6ZQoKICAgIHlpZWxkIG9zIGlmIGJsb2NrX2dp
975
+ dmVuPwoKICAgIG1pbl9wYWRkaW5nID0gc2l6ZSAtIG9zLndyaXR0ZW4KICAg
976
+ IGlvLndyaXRlKCJcMCIgKiBtaW5fcGFkZGluZykKCiAgICByZW1haW5kZXIg
977
+ PSAoNTEyIC0gKHNpemUgJSA1MTIpKSAlIDUxMgogICAgaW8ud3JpdGUoIlww
978
+ IiAqIHJlbWFpbmRlcikKCiAgICB0YXIKICBlbmQKCiAgZGVmIGNyZWF0ZV90
979
+ ZW1wX2ZpbGUKICAgIHRlbXBmaWxlX25hbWUgPSBEaXI6OlRtcG5hbWUuY3Jl
980
+ YXRlKCdvdXQnKSB7fQogICAgRmlsZS5vcGVuKHRlbXBmaWxlX25hbWUsICd3
981
+ YisnKQogIGVuZAoKICBkZWYgZXh0cmFjdF9pZChib2R5KQogICAgYm9keS5s
982
+ aW5lcy5yZXZlcnNlX2VhY2ggZG8gfGxpbmV8CiAgICAgIGlmIChpZCA9IGxp
983
+ bmUubWF0Y2goL1N1Y2Nlc3NmdWxseSBidWlsdCAoW2EtZjAtOV0rKS8pKSAm
984
+ JiAhaWRbMV0uZW1wdHk/CiAgICAgICAgcmV0dXJuIGlkWzFdCiAgICAgIGVu
985
+ ZAogICAgZW5kCiAgICByYWlzZSBVbmV4cGVjdGVkUmVzcG9uc2VFcnJvciwg
986
+ IkNvdWxkbid0IGZpbmQgaWQ6ICN7Ym9keX0iCiAgZW5kCgogICMgQ29udmVu
987
+ aWVuY2UgbWV0aG9kIHRvIGdldCB0aGUgZmlsZSBoYXNoIGNvcnJlc3BvbmRp
988
+ bmcgdG8gYW4gYXJyYXkgb2YKICAjIGxvY2FsIHBhdGhzLgogIGRlZiBmaWxl
989
+ X2hhc2hfZnJvbV9wYXRocyhsb2NhbF9wYXRocykKICAgIGxvY2FsX3BhdGhz
990
+ LmVhY2hfd2l0aF9vYmplY3Qoe30pIGRvIHxsb2NhbF9wYXRoLCBmaWxlX2hh
991
+ c2h8CiAgICAgIHVubGVzcyBGaWxlLmV4aXN0Pyhsb2NhbF9wYXRoKQogICAg
992
+ ICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICIje2xvY2FsX3BhdGh9IGRvZXMg
993
+ bm90IGV4aXN0LiIKICAgICAgZW5kCgogICAgICBiYXNlbmFtZSA9IEZpbGUu
994
+ YmFzZW5hbWUobG9jYWxfcGF0aCkKICAgICAgaWYgRmlsZS5kaXJlY3Rvcnk/
995
+ KGxvY2FsX3BhdGgpCiAgICAgICAgdGFyID0gY3JlYXRlX2Rpcl90YXIobG9j
996
+ YWxfcGF0aCkKICAgICAgICBmaWxlX2hhc2hbYmFzZW5hbWVdID0gdGFyLnJl
997
+ YWQKICAgICAgICB0YXIuY2xvc2UKICAgICAgICBGaWxlVXRpbHMucm0odGFy
998
+ LnBhdGgpCiAgICAgIGVsc2UKICAgICAgICBmaWxlX2hhc2hbYmFzZW5hbWVd
999
+ ID0gRmlsZS5yZWFkKGxvY2FsX3BhdGgpCiAgICAgIGVuZAogICAgZW5kCiAg
1000
+ ZW5kCgogIGRlZiBidWlsZF9hdXRoX2hlYWRlcihjcmVkZW50aWFscykKICAg
1001
+ IGNyZWRlbnRpYWxzID0gY3JlZGVudGlhbHMudG9fanNvbiBpZiBjcmVkZW50
1002
+ aWFscy5pc19hPyhIYXNoKQogICAgZW5jb2RlZF9jcmVkcyA9IEJhc2U2NC5l
1003
+ bmNvZGU2NChjcmVkZW50aWFscykuZ3N1YigvXG4vLCAnJykKICAgIHsKICAg
1004
+ ICAgJ1gtUmVnaXN0cnktQXV0aCcgPT4gZW5jb2RlZF9jcmVkcwogICAgfQog
1005
+ IGVuZAoKICBkZWYgYnVpbGRfY29uZmlnX2hlYWRlcihjcmVkZW50aWFscykK
1006
+ ICAgIGlmIGNyZWRlbnRpYWxzLmlzX2E/KFN0cmluZykKICAgICAgY3JlZGVu
1007
+ dGlhbHMgPSBKU09OLnBhcnNlKGNyZWRlbnRpYWxzLCBzeW1ib2xpemVfbmFt
1008
+ ZXM6IHRydWUpCiAgICBlbmQKICAgIGhlYWRlciA9IHsKICAgICAgImNvbmZp
1009
+ Z3MiID0+IHsKICAgICAgICBjcmVkZW50aWFsc1s6c2VydmVyYWRkcmVzc10u
1010
+ dG9fcyA9PiB7CiAgICAgICAgICAidXNlcm5hbWUiID0+IGNyZWRlbnRpYWxz
1011
+ Wzp1c2VybmFtZV0udG9fcywKICAgICAgICAgICJwYXNzd29yZCIgPT4gY3Jl
1012
+ ZGVudGlhbHNbOnBhc3N3b3JkXS50b19zLAogICAgICAgICAgImVtYWlsIiA9
1013
+ PiBjcmVkZW50aWFsc1s6ZW1haWxdLnRvX3MKICAgICAgICB9CiAgICAgIH0K
1014
+ ICAgIH0udG9fanNvbgoKICAgIGVuY29kZWRfaGVhZGVyID0gQmFzZTY0LmVu
1015
+ Y29kZTY0KGhlYWRlcikuZ3N1YigvXG4vLCAnJykKCiAgICB7CiAgICAgICdY
1016
+ LVJlZ2lzdHJ5LUNvbmZpZycgPT4gZW5jb2RlZF9oZWFkZXIKICAgIH0KICBl
1017
+ bmQKZW5kCgAAAAAAAAAAAAAAAAAAAGRvY2tlci92ZXJzaW9uLnJiAAAAAAAA
1018
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1019
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAw
1020
+ MDAAMDAwMDAwMAAwMDAwMDAwMDIzMwAxMjUzNjAwNjcwNAAwMTQ2MDEAIDAA
1021
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1022
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1023
+ AAAAAAAAAAAAdXN0YXIAMDB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1024
+ AAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMAAw
1025
+ MDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1026
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1027
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1028
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbW9kdWxl
1029
+ IERvY2tlcgogICMgVGhlIHZlcnNpb24gb2YgdGhlIGRvY2tlci1hcGkgZ2Vt
1030
+ LgogIFZFUlNJT04gPSAnMS4yMS40JwoKICAjIFRoZSB2ZXJzaW9uIG9mIHRo
1031
+ ZSBjb21wYXRpYmxlIERvY2tlciByZW1vdGUgQVBJLgogIEFQSV9WRVJTSU9O
1032
+ ID0gJzEuMTYnCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1033
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1034
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1035
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1036
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1037
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1038
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1039
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1040
+ AAAAAAAAAAAAAABkb2NrZXIucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1041
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1042
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAA
1043
+ MDAwMDAwMDY1MjYAMTI1MzYwMTcxNTUAMDEzMTMxACAwAAAAAAAAAAAAAAAA
1044
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1045
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVz
1046
+ dGFyADAwd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAA
1047
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAwMAAAAAAA
1048
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1049
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1050
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1051
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJlcXVpcmUgJ2NnaScKcmVx
1052
+ dWlyZSAnanNvbicKcmVxdWlyZSAnZXhjb24nCnJlcXVpcmUgJ3RlbXBmaWxl
1053
+ JwpyZXF1aXJlICdiYXNlNjQnCnJlcXVpcmUgJ2ZpbmQnCnJlcXVpcmUgJ3J1
1054
+ YnlnZW1zL3BhY2thZ2UnCnJlcXVpcmUgJ3VyaScKcmVxdWlyZSAnb3Blbi11
1055
+ cmknCgojIEFkZCB0aGUgSGlqYWNrIG1pZGRsZXdhcmUgYXQgdGhlIHRvcCBv
1056
+ ZiB0aGUgbWlkZGxld2FyZSBzdGFjayBzbyBpdCBjYW4KIyBwb3RlbnRpYWxs
1057
+ eSBoaWphY2sgSFRUUCBzb2NrZXRzICh3aGVuIGF0dGFjaGluZyB0byBzdGRp
1058
+ bikgYmVmb3JlIG90aGVyCiMgbWlkZGxld2FyZXMgdHJ5IGFuZCBwYXJzZSB0
1059
+ aGUgcmVzcG9uc2UuCnJlcXVpcmUgJ2V4Y29uL21pZGRsZXdhcmVzL2hpamFj
1060
+ aycKRXhjb24uZGVmYXVsdHNbOm1pZGRsZXdhcmVzXS51bnNoaWZ0IEV4Y29u
1061
+ OjpNaWRkbGV3YXJlOjpIaWphY2sKCiMgVGhlIHRvcC1sZXZlbCBtb2R1bGUg
1062
+ Zm9yIHRoaXMgZ2VtLiBJdCdzIHB1cnBvc2UgaXMgdG8gaG9sZCBnbG9iYWwK
1063
+ IyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyB0aGF0IGFyZSB1c2VkIGFzIGRl
1064
+ ZmF1bHRzIGluIG90aGVyIGNsYXNzZXMuCm1vZHVsZSBEb2NrZXIKICBhdHRy
1065
+ X2FjY2Vzc29yIDpjcmVkcywgOmxvZ2dlcgoKICByZXF1aXJlICdkb2NrZXIv
1066
+ ZXJyb3InCiAgcmVxdWlyZSAnZG9ja2VyL2Nvbm5lY3Rpb24nCiAgcmVxdWly
1067
+ ZSAnZG9ja2VyL2Jhc2UnCiAgcmVxdWlyZSAnZG9ja2VyL2NvbnRhaW5lcicK
1068
+ ICByZXF1aXJlICdkb2NrZXIvZXZlbnQnCiAgcmVxdWlyZSAnZG9ja2VyL2V4
1069
+ ZWMnCiAgcmVxdWlyZSAnZG9ja2VyL2ltYWdlJwogIHJlcXVpcmUgJ2RvY2tl
1070
+ ci9tZXNzYWdlc19zdGFjaycKICByZXF1aXJlICdkb2NrZXIvbWVzc2FnZXMn
1071
+ CiAgcmVxdWlyZSAnZG9ja2VyL3V0aWwnCiAgcmVxdWlyZSAnZG9ja2VyL3Zl
1072
+ cnNpb24nCiAgcmVxdWlyZSAnZG9ja2VyL3Jha2VfdGFzaycgaWYgZGVmaW5l
1073
+ ZD8oUmFrZTo6VGFzaykKCiAgZGVmIGRlZmF1bHRfc29ja2V0X3VybAogICAg
1074
+ JzxET0NLRVJfSE9TVD4nCiAgZW5kCgogIGRlZiBlbnZfdXJsCiAgICBFTlZb
1075
+ J0RPQ0tFUl9VUkwnXSB8fCBFTlZbJ0RPQ0tFUl9IT1NUJ10KICBlbmQKCiAg
1076
+ ZGVmIGVudl9vcHRpb25zCiAgICBpZiBjZXJ0X3BhdGggPSBFTlZbJ0RPQ0tF
1077
+ Ul9DRVJUX1BBVEgnXQogICAgICB7CiAgICAgICAgY2xpZW50X2NlcnQ6IEZp
1078
+ bGUuam9pbihjZXJ0X3BhdGgsICdjZXJ0LnBlbScpLAogICAgICAgIGNsaWVu
1079
+ dF9rZXk6IEZpbGUuam9pbihjZXJ0X3BhdGgsICdrZXkucGVtJyksCiAgICAg
1080
+ ICAgc3NsX2NhX2ZpbGU6IEZpbGUuam9pbihjZXJ0X3BhdGgsICdjYS5wZW0n
1081
+ KSwKICAgICAgICBzY2hlbWU6ICdodHRwcycKICAgICAgfS5tZXJnZShzc2xf
1082
+ b3B0aW9ucykKICAgIGVsc2UKICAgICAge30KICAgIGVuZAogIGVuZAoKICBk
1083
+ ZWYgc3NsX29wdGlvbnMKICAgIGlmIEVOVlsnRE9DS0VSX1NTTF9WRVJJRlkn
1084
+ XSA9PSAnZmFsc2UnCiAgICAgIHsKICAgICAgICBzc2xfdmVyaWZ5X3BlZXI6
1085
+ IGZhbHNlCiAgICAgIH0KICAgIGVsc2UKICAgICAge30KICAgIGVuZAogIGVu
1086
+ ZAoKICBkZWYgdXJsCiAgICBAdXJsIHx8PSBlbnZfdXJsIHx8IGRlZmF1bHRf
1087
+ c29ja2V0X3VybAogICAgIyBkb2NrZXIgdXNlcyBhIGRlZmF1bHQgbm90YXRp
1088
+ b24gdGNwOi8vIHdoaWNoIG1lYW5zIHRjcDovL2xvY2FsaG9zdDoyMzc1CiAg
1089
+ ICBpZiBAdXJsID09ICd0Y3A6Ly8nCiAgICAgIEB1cmwgPSAndGNwOi8vbG9j
1090
+ YWxob3N0OjIzNzUnCiAgICBlbmQKICAgIEB1cmwKICBlbmQKCiAgZGVmIG9w
1091
+ dGlvbnMKICAgIEBvcHRpb25zIHx8PSBlbnZfb3B0aW9ucwogIGVuZAoKICBk
1092
+ ZWYgdXJsPShuZXdfdXJsKQogICAgQHVybCA9IG5ld191cmwKICAgIHJlc2V0
1093
+ X2Nvbm5lY3Rpb24hCiAgZW5kCgogIGRlZiBvcHRpb25zPShuZXdfb3B0aW9u
1094
+ cykKICAgIEBvcHRpb25zID0gZW52X29wdGlvbnMubWVyZ2UobmV3X29wdGlv
1095
+ bnMgfHwge30pCiAgICByZXNldF9jb25uZWN0aW9uIQogIGVuZAoKICBkZWYg
1096
+ Y29ubmVjdGlvbgogICAgQGNvbm5lY3Rpb24gfHw9IENvbm5lY3Rpb24ubmV3
1097
+ KHVybCwgb3B0aW9ucykKICBlbmQKCiAgZGVmIHJlc2V0IQogICAgQHVybCA9
1098
+ IG5pbAogICAgQG9wdGlvbnMgPSBuaWwKICAgIHJlc2V0X2Nvbm5lY3Rpb24h
1099
+ CiAgZW5kCgogIGRlZiByZXNldF9jb25uZWN0aW9uIQogICAgQGNvbm5lY3Rp
1100
+ b24gPSBuaWwKICBlbmQKCiAgIyBHZXQgdGhlIHZlcnNpb24gb2YgR28sIERv
1101
+ Y2tlciwgYW5kIG9wdGlvbmFsbHkgdGhlIEdpdCBjb21taXQuCiAgZGVmIHZl
1102
+ cnNpb24oY29ubmVjdGlvbiA9IHNlbGYuY29ubmVjdGlvbikKICAgIFV0aWwu
1103
+ cGFyc2VfanNvbihjb25uZWN0aW9uLmdldCgnL3ZlcnNpb24nKSkKICBlbmQK
1104
+ CiAgIyBHZXQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgRG9ja2VyIHNl
1105
+ cnZlci4KICBkZWYgaW5mbyhjb25uZWN0aW9uID0gc2VsZi5jb25uZWN0aW9u
1106
+ KQogICAgVXRpbC5wYXJzZV9qc29uKGNvbm5lY3Rpb24uZ2V0KCcvaW5mbycp
1107
+ KQogIGVuZAoKICAjIExvZ2luIHRvIHRoZSBEb2NrZXIgcmVnaXN0cnkuCiAg
1108
+ ZGVmIGF1dGhlbnRpY2F0ZSEob3B0aW9ucyA9IHt9LCBjb25uZWN0aW9uID0g
1109
+ c2VsZi5jb25uZWN0aW9uKQogICAgY3JlZHMgPSBvcHRpb25zLnRvX2pzb24K
1110
+ ICAgIGNvbm5lY3Rpb24ucG9zdCgnL2F1dGgnLCB7fSwgOmJvZHkgPT4gY3Jl
1111
+ ZHMpCiAgICBAY3JlZHMgPSBjcmVkcwogICAgdHJ1ZQogIHJlc2N1ZSBEb2Nr
1112
+ ZXI6OkVycm9yOjpTZXJ2ZXJFcnJvciwgRG9ja2VyOjpFcnJvcjo6VW5hdXRo
1113
+ b3JpemVkRXJyb3IKICAgIHJhaXNlIERvY2tlcjo6RXJyb3I6OkF1dGhlbnRp
1114
+ Y2F0aW9uRXJyb3IKICBlbmQKCiAgIyBXaGVuIHRoZSBjb3JyZWN0IHZlcnNp
1115
+ b24gb2YgRG9ja2VyIGlzIGluc3RhbGxlZCwgcmV0dXJucyB0cnVlLiBPdGhl
1116
+ cndpc2UsCiAgIyByYWlzZXMgYSBWZXJzaW9uRXJyb3IuCiAgZGVmIHZhbGlk
1117
+ YXRlX3ZlcnNpb24hCiAgICBEb2NrZXIuaW5mbwogICAgdHJ1ZQogIHJlc2N1
1118
+ ZSBEb2NrZXI6OkVycm9yOjpEb2NrZXJFcnJvcgogICAgcmFpc2UgRG9ja2Vy
1119
+ OjpFcnJvcjo6VmVyc2lvbkVycm9yLCAiRXhwZWN0ZWQgQVBJIFZlcnNpb246
1120
+ ICN7QVBJX1ZFUlNJT059IgogIGVuZAoKICBtb2R1bGVfZnVuY3Rpb24gOmRl
1121
+ ZmF1bHRfc29ja2V0X3VybCwgOmVudl91cmwsIDp1cmwsIDp1cmw9LCA6ZW52
1122
+ X29wdGlvbnMsCiAgICAgICAgICAgICAgICAgIDpvcHRpb25zLCA6b3B0aW9u
1123
+ cz0sIDpjcmVkcywgOmNyZWRzPSwgOmxvZ2dlciwgOmxvZ2dlcj0sCiAgICAg
1124
+ ICAgICAgICAgICAgIDpjb25uZWN0aW9uLCA6cmVzZXQhLCA6cmVzZXRfY29u
1125
+ bmVjdGlvbiEsIDp2ZXJzaW9uLCA6aW5mbywKICAgICAgICAgICAgICAgICAg
1126
+ OmF1dGhlbnRpY2F0ZSEsIDp2YWxpZGF0ZV92ZXJzaW9uISwgOnNzbF9vcHRp
1127
+ b25zCmVuZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1128
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1106
1129
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1107
- AAAAAAAAAAAAZXhjb24vbWlkZGxld2FyZXMAAAAAAAAAAAAAAAAAAAAAAAAA
1108
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1109
- AAAAAAAAAAAAAAAAAAAAAAAAADAwNDA3NTUAMDAwMTc1MAAwMDAxNzUwADAw
1110
- MDAwMDAwMDAwADEyNDIzNDQ0MDA0ADAxMTM3NAAgNQAAAAAAAAAAAAAAAAAA
1111
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1112
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3Rh
1113
- cgAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1114
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1115
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1116
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1117
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1118
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABleGNvbi9taWRkbGV3YXJlcy9o
1119
- aWphY2sucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1120
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAw
1121
- MDAxNzUwADAwMDE3NTAAMDAwMDAwMDMyMDQAMTI0MjM0NDQwMDQAMDEzMjI1
1122
- ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1130
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGV4
1131
+ Y29uL21pZGRsZXdhcmVzL2hpamFjay5yYgAAAAAAAAAAAAAAAAAAAAAAAAAA
1123
1132
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1124
- AAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1133
+ AAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMzIwNAAx
1134
+ MjUzNjAwNjcwNAAwMTY1MTMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1125
1135
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1136
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIAMDB3aGVlbAAA
1137
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAA
1138
+ AAAAAAAAAAAAAAAAMDAwMDAwMAAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAA
1126
1139
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1127
1140
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1128
1141
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1129
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1v
1130
- ZHVsZSBFeGNvbgogIFZBTElEX1JFUVVFU1RfS0VZUyA8PCA6aGlqYWNrX2Js
1131
- b2NrCgogIG1vZHVsZSBNaWRkbGV3YXJlCiAgICAjIEhpamFjayBpcyBhbiBF
1132
- eGNvbiBtaWRkbGV3YXJlIHdoaWNoIHBhcnNlcyByZXNwb25zZSBoZWFkZXJz
1133
- IGFuZCB0aGVuCiAgICAjIHlpZWxkcyB0aGUgdW5kZXJseWluZyBUQ1Agc29j
1134
- a2V0IGZvciByYXcgVENQIGNvbW11bmljYXRpb24gKHVzZWQgdG8KICAgICMg
1135
- YXR0YWNoIHRvIFNURElOIG9mIGNvbnRhaW5lcnMpLgogICAgY2xhc3MgSGlq
1136
- YWNrIDwgQmFzZQogICAgICBkZWYgYnVpbGRfcmVzcG9uc2Uoc3RhdHVzLCBz
1137
- b2NrZXQpCiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICA6Ym9keSAg
1138
- ICAgICAgICA9PiAnJywKICAgICAgICAgIDpoZWFkZXJzICAgICAgID0+IEV4
1139
- Y29uOjpIZWFkZXJzLm5ldywKICAgICAgICAgIDpzdGF0dXMgICAgICAgID0+
1140
- IHN0YXR1cywKICAgICAgICAgIDpyZW1vdGVfaXAgICAgID0+IHNvY2tldC5y
1141
- ZXNwb25kX3RvPyg6cmVtb3RlX2lwKSAmJgogICAgICAgICAgICAgICAgICAg
1142
- ICAgICAgICAgc29ja2V0LnJlbW90ZV9pcCwKICAgICAgICB9CiAgICAgICAg
1143
- aWYgc29ja2V0LmRhdGFbOnNjaGVtZV0gPX4gL14oaHR0cHM/fHRjcCkkLwog
1144
- ICAgICAgICAgcmVzcG9uc2UubWVyZ2UoewogICAgICAgICAgICA6bG9jYWxf
1145
- cG9ydCAgICA9PiBzb2NrZXQucmVzcG9uZF90bz8oOmxvY2FsX3BvcnQpICYm
1146
- CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5sb2NhbF9w
1147
- b3J0LAogICAgICAgICAgICA6bG9jYWxfYWRkcmVzcyA9PiBzb2NrZXQucmVz
1148
- cG9uZF90bz8oOmxvY2FsX2FkZHJlc3MpICYmCiAgICAgICAgICAgICAgICAg
1149
- ICAgICAgICAgICAgIHNvY2tldC5sb2NhbF9hZGRyZXNzCiAgICAgICAgICB9
1150
- KQogICAgICAgIGVuZAogICAgICAgIHJlc3BvbnNlCiAgICAgIGVuZAoKICAg
1151
- ICAgZGVmIHJlc3BvbnNlX2NhbGwoZGF0dW0pCiAgICAgICAgaWYgZGF0dW1b
1152
- OmhpamFja19ibG9ja10KICAgICAgICAgICMgTmVlZCB0byBwcm9jZXNzIHRo
1153
- ZSByZXNwb25zZSBoZWFkZXJzIGhlcmUgcmF0aGVyIHRoYW4gaW4KICAgICAg
1154
- ICAgICMgRXhjb246Ok1pZGRsZXdhcmU6OlJlc3BvbnNlUGFyc2VyIGFzIHRo
1155
- ZSByZXNwb25zZSBwYXJzZXIgd2lsbAogICAgICAgICAgIyBibG9jayB0cnlp
1156
- bmcgdG8gcmVhZCB0aGUgYm9keS4KICAgICAgICAgIHNvY2tldCA9IGRhdHVt
1157
- Wzpjb25uZWN0aW9uXS5zZW5kKDpzb2NrZXQpCgogICAgICAgICAgIyBjLmYu
1158
- IEV4Y29uOjpSZXNwb25zZS5wYXJzZQogICAgICAgICAgdW50aWwgbWF0Y2gg
1159
- PSAvXkhUVFBcL1xkK1wuXGQrXHMoXGR7M30pXHMvLm1hdGNoKHNvY2tldC5y
1160
- ZWFkbGluZSk7IGVuZAogICAgICAgICAgc3RhdHVzID0gbWF0Y2hbMV0udG9f
1161
- aQoKICAgICAgICAgIGRhdHVtWzpyZXNwb25zZV0gPSBidWlsZF9yZXNwb25z
1162
- ZShzdGF0dXMsIHNvY2tldCkKCiAgICAgICAgICBFeGNvbjo6UmVzcG9uc2Uu
1163
- cGFyc2VfaGVhZGVycyhzb2NrZXQsIGRhdHVtKQogICAgICAgICAgZGF0dW1b
1164
- OmhpamFja19ibG9ja10uY2FsbCBzb2NrZXQuaW5zdGFuY2VfdmFyaWFibGVf
1165
- Z2V0KDpAc29ja2V0KQogICAgICAgIGVuZAoKICAgICAgICBAc3RhY2sucmVz
1166
- cG9uc2VfY2FsbChkYXR1bSkKICAgICAgZW5kCiAgICBlbmQKICBlbmQKZW5k
1167
- CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1142
+ AAAAAAAAAAAAAAAAAAAAbW9kdWxlIEV4Y29uCiAgVkFMSURfUkVRVUVTVF9L
1143
+ RVlTIDw8IDpoaWphY2tfYmxvY2sKCiAgbW9kdWxlIE1pZGRsZXdhcmUKICAg
1144
+ ICMgSGlqYWNrIGlzIGFuIEV4Y29uIG1pZGRsZXdhcmUgd2hpY2ggcGFyc2Vz
1145
+ IHJlc3BvbnNlIGhlYWRlcnMgYW5kIHRoZW4KICAgICMgeWllbGRzIHRoZSB1
1146
+ bmRlcmx5aW5nIFRDUCBzb2NrZXQgZm9yIHJhdyBUQ1AgY29tbXVuaWNhdGlv
1147
+ biAodXNlZCB0bwogICAgIyBhdHRhY2ggdG8gU1RESU4gb2YgY29udGFpbmVy
1148
+ cykuCiAgICBjbGFzcyBIaWphY2sgPCBCYXNlCiAgICAgIGRlZiBidWlsZF9y
1149
+ ZXNwb25zZShzdGF0dXMsIHNvY2tldCkKICAgICAgICByZXNwb25zZSA9IHsK
1150
+ ICAgICAgICAgIDpib2R5ICAgICAgICAgID0+ICcnLAogICAgICAgICAgOmhl
1151
+ YWRlcnMgICAgICAgPT4gRXhjb246OkhlYWRlcnMubmV3LAogICAgICAgICAg
1152
+ OnN0YXR1cyAgICAgICAgPT4gc3RhdHVzLAogICAgICAgICAgOnJlbW90ZV9p
1153
+ cCAgICAgPT4gc29ja2V0LnJlc3BvbmRfdG8/KDpyZW1vdGVfaXApICYmCiAg
1154
+ ICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQucmVtb3RlX2lwLAog
1155
+ ICAgICAgIH0KICAgICAgICBpZiBzb2NrZXQuZGF0YVs6c2NoZW1lXSA9fiAv
1156
+ XihodHRwcz98dGNwKSQvCiAgICAgICAgICByZXNwb25zZS5tZXJnZSh7CiAg
1157
+ ICAgICAgICAgIDpsb2NhbF9wb3J0ICAgID0+IHNvY2tldC5yZXNwb25kX3Rv
1158
+ Pyg6bG9jYWxfcG9ydCkgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1159
+ ICAgc29ja2V0LmxvY2FsX3BvcnQsCiAgICAgICAgICAgIDpsb2NhbF9hZGRy
1160
+ ZXNzID0+IHNvY2tldC5yZXNwb25kX3RvPyg6bG9jYWxfYWRkcmVzcykgJiYK
1161
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0LmxvY2FsX2Fk
1162
+ ZHJlc3MKICAgICAgICAgIH0pCiAgICAgICAgZW5kCiAgICAgICAgcmVzcG9u
1163
+ c2UKICAgICAgZW5kCgogICAgICBkZWYgcmVzcG9uc2VfY2FsbChkYXR1bSkK
1164
+ ICAgICAgICBpZiBkYXR1bVs6aGlqYWNrX2Jsb2NrXQogICAgICAgICAgIyBO
1165
+ ZWVkIHRvIHByb2Nlc3MgdGhlIHJlc3BvbnNlIGhlYWRlcnMgaGVyZSByYXRo
1166
+ ZXIgdGhhbiBpbgogICAgICAgICAgIyBFeGNvbjo6TWlkZGxld2FyZTo6UmVz
1167
+ cG9uc2VQYXJzZXIgYXMgdGhlIHJlc3BvbnNlIHBhcnNlciB3aWxsCiAgICAg
1168
+ ICAgICAjIGJsb2NrIHRyeWluZyB0byByZWFkIHRoZSBib2R5LgogICAgICAg
1169
+ ICAgc29ja2V0ID0gZGF0dW1bOmNvbm5lY3Rpb25dLnNlbmQoOnNvY2tldCkK
1170
+ CiAgICAgICAgICAjIGMuZi4gRXhjb246OlJlc3BvbnNlLnBhcnNlCiAgICAg
1171
+ ICAgICB1bnRpbCBtYXRjaCA9IC9eSFRUUFwvXGQrXC5cZCtccyhcZHszfSlc
1172
+ cy8ubWF0Y2goc29ja2V0LnJlYWRsaW5lKTsgZW5kCiAgICAgICAgICBzdGF0
1173
+ dXMgPSBtYXRjaFsxXS50b19pCgogICAgICAgICAgZGF0dW1bOnJlc3BvbnNl
1174
+ XSA9IGJ1aWxkX3Jlc3BvbnNlKHN0YXR1cywgc29ja2V0KQoKICAgICAgICAg
1175
+ IEV4Y29uOjpSZXNwb25zZS5wYXJzZV9oZWFkZXJzKHNvY2tldCwgZGF0dW0p
1176
+ CiAgICAgICAgICBkYXR1bVs6aGlqYWNrX2Jsb2NrXS5jYWxsIHNvY2tldC5p
1177
+ bnN0YW5jZV92YXJpYWJsZV9nZXQoOkBzb2NrZXQpCiAgICAgICAgZW5kCgog
1178
+ ICAgICAgIEBzdGFjay5yZXNwb25zZV9jYWxsKGRhdHVtKQogICAgICBlbmQK
1179
+ ICAgIGVuZAogIGVuZAplbmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1168
1180
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1169
1181
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1170
1182
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -1195,19 +1207,20 @@ http_interactions:
1195
1207
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1196
1208
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1197
1209
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1198
- AAAAAAAAAAAAAERvY2tlcmZpbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1210
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARG9ja2VyZmlsZQAAAAAAAAAA
1199
1211
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1200
- AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQwADAwMDAwMDAAMDAwMDAwMAAw
1201
- MDAwMDAwMDAzNwAwMDAwMDAwMDAwMAAwMTMyNDUAIDAAAAAAAAAAAAAAAAAA
1212
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDAA
1213
+ MDAwMDAwMAAwMDAwMDAwADAwMDAwMDAwMDM3ADEyNTUwNDMwNjIxADAxMzMw
1214
+ MgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1202
1215
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1203
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
1204
- YXIAMDB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAA
1205
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMAAwMDAwMDAwAAAAAAAA
1216
+ AAAAAAAAAAAAAAAAAAB1c3RhcgAwMHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAA
1217
+ AAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAw
1218
+ MDAwADAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1206
1219
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1207
1220
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1221
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABm
1222
+ cm9tIDA2NTIxOGQ1NGQ3ZAphZGQgbGliIC9saWIKAAAAAAAAAAAAAAAAAAAA
1208
1223
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1209
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZnJvbSBjOTBkNjU1Yjk5YjIK
1210
- YWRkIGxpYiAvbGliCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1211
1224
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1212
1225
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1213
1226
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@@ -1240,10 +1253,10 @@ http_interactions:
1240
1253
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1241
1254
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1242
1255
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1243
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1256
+ AAAAAAA=
1244
1257
  headers:
1245
1258
  User-Agent:
1246
- - Swipely/Docker-API 1.18.0
1259
+ - Swipely/Docker-API 1.21.4
1247
1260
  Content-Type:
1248
1261
  - application/json
1249
1262
  response:
@@ -1254,24 +1267,24 @@ http_interactions:
1254
1267
  Content-Type:
1255
1268
  - application/json
1256
1269
  Date:
1257
- - Thu, 12 Feb 2015 00:55:00 GMT
1270
+ - Sun, 12 Jul 2015 09:21:21 GMT
1258
1271
  body:
1259
- encoding: US-ASCII
1260
- string: ! "{\"stream\":\"Step 0 : FROM c90d655b99b2\\n\"}\r\n{\"stream\":\"
1261
- ---\\u003e c90d655b99b2\\n\"}\r\n{\"stream\":\"Step 1 : ADD lib /lib\\n\"}\r\n{\"stream\":\"
1262
- ---\\u003e 20ba59032379\\n\"}\r\n{\"stream\":\"Removing intermediate container
1263
- dddde1b4c718\\n\"}\r\n{\"stream\":\"Successfully built 20ba59032379\\n\"}\r\n"
1272
+ encoding: UTF-8
1273
+ string: "{\"stream\":\"Step 0 : FROM 065218d54d7d\\n\"}\r\n{\"stream\":\" ---\\u003e
1274
+ 065218d54d7d\\n\"}\r\n{\"stream\":\"Step 1 : ADD lib /lib\\n\"}\r\n{\"stream\":\"
1275
+ ---\\u003e c6204e3c0a2b\\n\"}\r\n{\"stream\":\"Removing intermediate container
1276
+ eef339f931c7\\n\"}\r\n{\"stream\":\"Successfully built c6204e3c0a2b\\n\"}\r\n"
1264
1277
  http_version:
1265
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1278
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1266
1279
  - request:
1267
1280
  method: post
1268
- uri: <DOCKER_HOST>/v1.16/containers/create
1281
+ uri: "<DOCKER_HOST>/v1.16/containers/create"
1269
1282
  body:
1270
1283
  encoding: UTF-8
1271
- string: ! '{"Image":"20ba59032379","Cmd":["ls","-a","/lib/docker"]}'
1284
+ string: '{"Image":"c6204e3c0a2b","Cmd":["ls","-a","/lib/docker"]}'
1272
1285
  headers:
1273
1286
  User-Agent:
1274
- - Swipely/Docker-API 1.18.0
1287
+ - Swipely/Docker-API 1.21.4
1275
1288
  Content-Type:
1276
1289
  - application/json
1277
1290
  response:
@@ -1282,25 +1295,24 @@ http_interactions:
1282
1295
  Content-Type:
1283
1296
  - application/json
1284
1297
  Date:
1285
- - Thu, 12 Feb 2015 00:55:03 GMT
1298
+ - Sun, 12 Jul 2015 09:21:22 GMT
1286
1299
  Content-Length:
1287
1300
  - '90'
1288
1301
  body:
1289
- encoding: US-ASCII
1290
- string: ! '{"Id":"1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8","Warnings":null}
1291
-
1292
- '
1302
+ encoding: UTF-8
1303
+ string: |
1304
+ {"Id":"6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7","Warnings":null}
1293
1305
  http_version:
1294
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1306
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1295
1307
  - request:
1296
1308
  method: post
1297
- uri: <DOCKER_HOST>/v1.16/containers/1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8/start
1309
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7/start"
1298
1310
  body:
1299
1311
  encoding: UTF-8
1300
- string: ! '{}'
1312
+ string: "{}"
1301
1313
  headers:
1302
1314
  User-Agent:
1303
- - Swipely/Docker-API 1.18.0
1315
+ - Swipely/Docker-API 1.21.4
1304
1316
  Content-Type:
1305
1317
  - application/json
1306
1318
  response:
@@ -1309,21 +1321,49 @@ http_interactions:
1309
1321
  message:
1310
1322
  headers:
1311
1323
  Date:
1312
- - Thu, 12 Feb 2015 00:55:03 GMT
1324
+ - Sun, 12 Jul 2015 09:21:22 GMT
1325
+ body:
1326
+ encoding: UTF-8
1327
+ string: ''
1328
+ http_version:
1329
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1330
+ - request:
1331
+ method: post
1332
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7/wait"
1313
1333
  body:
1314
1334
  encoding: US-ASCII
1315
1335
  string: ''
1336
+ headers:
1337
+ User-Agent:
1338
+ - Swipely/Docker-API 1.21.4
1339
+ Content-Type:
1340
+ - text/plain
1341
+ response:
1342
+ status:
1343
+ code: 200
1344
+ message:
1345
+ headers:
1346
+ Content-Type:
1347
+ - application/json
1348
+ Date:
1349
+ - Sun, 12 Jul 2015 09:21:22 GMT
1350
+ Content-Length:
1351
+ - '17'
1352
+ body:
1353
+ encoding: UTF-8
1354
+ string: |
1355
+ {"StatusCode":0}
1316
1356
  http_version:
1317
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1357
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1318
1358
  - request:
1319
1359
  method: get
1320
- uri: <DOCKER_HOST>/v1.16/containers/1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8/logs?stdout=true
1360
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7/logs?stdout=true"
1321
1361
  body:
1322
1362
  encoding: US-ASCII
1323
1363
  string: ''
1324
1364
  headers:
1325
1365
  User-Agent:
1326
- - Swipely/Docker-API 1.18.0
1366
+ - Swipely/Docker-API 1.21.4
1327
1367
  Content-Type:
1328
1368
  - text/plain
1329
1369
  response:
@@ -1332,28 +1372,29 @@ http_interactions:
1332
1372
  message:
1333
1373
  headers:
1334
1374
  Date:
1335
- - Thu, 12 Feb 2015 00:55:03 GMT
1375
+ - Sun, 12 Jul 2015 09:21:22 GMT
1336
1376
  Content-Type:
1337
1377
  - application/octet-stream
1338
1378
  body:
1339
- encoding: US-ASCII
1379
+ encoding: UTF-8
1340
1380
  string: !binary |-
1341
1381
  AQAAAAAAAAIuCgEAAAAAAAADLi4KAQAAAAAAAAhiYXNlLnJiCgEAAAAAAAAO
1342
1382
  Y29ubmVjdGlvbi5yYgoBAAAAAAAADWNvbnRhaW5lci5yYgoBAAAAAAAACWVy
1343
1383
  cm9yLnJiCgEAAAAAAAAJZXZlbnQucmIKAQAAAAAAAAhleGVjLnJiCgEAAAAA
1344
- AAAJaW1hZ2UucmIKAQAAAAAAAAxtZXNzYWdlcy5yYgoBAAAAAAAADXJha2Vf
1345
- dGFzay5yYgoBAAAAAAAACHV0aWwucmIKAQAAAAAAAAt2ZXJzaW9uLnJiCg==
1384
+ AAAJaW1hZ2UucmIKAQAAAAAAAAxtZXNzYWdlcy5yYgoBAAAAAAAAEm1lc3Nh
1385
+ Z2VzX3N0YWNrLnJiCgEAAAAAAAANcmFrZV90YXNrLnJiCgEAAAAAAAAIdXRp
1386
+ bC5yYgoBAAAAAAAAC3ZlcnNpb24ucmIK
1346
1387
  http_version:
1347
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1388
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1348
1389
  - request:
1349
1390
  method: post
1350
- uri: <DOCKER_HOST>/v1.16/containers/1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8/wait
1391
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7/wait"
1351
1392
  body:
1352
1393
  encoding: US-ASCII
1353
1394
  string: ''
1354
1395
  headers:
1355
1396
  User-Agent:
1356
- - Swipely/Docker-API 1.18.0
1397
+ - Swipely/Docker-API 1.21.4
1357
1398
  Content-Type:
1358
1399
  - text/plain
1359
1400
  response:
@@ -1364,25 +1405,24 @@ http_interactions:
1364
1405
  Content-Type:
1365
1406
  - application/json
1366
1407
  Date:
1367
- - Thu, 12 Feb 2015 00:55:03 GMT
1408
+ - Sun, 12 Jul 2015 09:21:22 GMT
1368
1409
  Content-Length:
1369
1410
  - '17'
1370
1411
  body:
1371
- encoding: US-ASCII
1372
- string: ! '{"StatusCode":0}
1373
-
1374
- '
1412
+ encoding: UTF-8
1413
+ string: |
1414
+ {"StatusCode":0}
1375
1415
  http_version:
1376
- recorded_at: Thu, 12 Feb 2015 00:55:03 GMT
1416
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1377
1417
  - request:
1378
1418
  method: delete
1379
- uri: <DOCKER_HOST>/v1.16/containers/1beb83b5f767603c288651fbb46bddc518a0ccbf078e314264dea323f97b25b8
1419
+ uri: "<DOCKER_HOST>/v1.16/containers/6802b274b8a84faaa8298043b6088bb1f3b52106591038170c40c5399b295ce7"
1380
1420
  body:
1381
1421
  encoding: US-ASCII
1382
1422
  string: ''
1383
1423
  headers:
1384
1424
  User-Agent:
1385
- - Swipely/Docker-API 1.18.0
1425
+ - Swipely/Docker-API 1.21.4
1386
1426
  Content-Type:
1387
1427
  - text/plain
1388
1428
  response:
@@ -1391,21 +1431,21 @@ http_interactions:
1391
1431
  message:
1392
1432
  headers:
1393
1433
  Date:
1394
- - Thu, 12 Feb 2015 00:55:04 GMT
1434
+ - Sun, 12 Jul 2015 09:21:22 GMT
1395
1435
  body:
1396
- encoding: US-ASCII
1436
+ encoding: UTF-8
1397
1437
  string: ''
1398
1438
  http_version:
1399
- recorded_at: Thu, 12 Feb 2015 00:55:04 GMT
1439
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1400
1440
  - request:
1401
1441
  method: delete
1402
- uri: <DOCKER_HOST>/v1.16/images/20ba59032379
1442
+ uri: "<DOCKER_HOST>/v1.16/images/c6204e3c0a2b"
1403
1443
  body:
1404
1444
  encoding: US-ASCII
1405
1445
  string: ''
1406
1446
  headers:
1407
1447
  User-Agent:
1408
- - Swipely/Docker-API 1.18.0
1448
+ - Swipely/Docker-API 1.21.4
1409
1449
  Content-Type:
1410
1450
  - text/plain
1411
1451
  response:
@@ -1416,14 +1456,14 @@ http_interactions:
1416
1456
  Content-Type:
1417
1457
  - application/json
1418
1458
  Date:
1419
- - Thu, 12 Feb 2015 00:55:05 GMT
1459
+ - Sun, 12 Jul 2015 09:21:22 GMT
1420
1460
  Content-Length:
1421
1461
  - '81'
1422
1462
  body:
1423
- encoding: US-ASCII
1424
- string: ! '[{"Deleted":"20ba590323791d129b86b5895e398d33f5b99b04e88cdc7d970cdddbed620f86"}
1425
-
1426
- ]'
1463
+ encoding: UTF-8
1464
+ string: |-
1465
+ [{"Deleted":"c6204e3c0a2bb6d7affd7d578040f9dfcb68c44bd8d5db3b27251b4630ad47db"}
1466
+ ]
1427
1467
  http_version:
1428
- recorded_at: Thu, 12 Feb 2015 00:55:05 GMT
1429
- recorded_with: VCR 2.9.2
1468
+ recorded_at: Sun, 12 Jul 2015 09:21:22 GMT
1469
+ recorded_with: VCR 2.9.3