Do not link against dgraphics
[subrails.git] / qonfigure.rb
blob727835a2e6514c7f264cfce02e7fcaabef83fc7b
1 # License, not of this script, but of the application it contains:
3
4 # Copyright (C) 2007 David Cuadrado                                     
5 # krawek@gmail.com                                                      
6 #                                                                       
7 # This library is free software; you can redistribute it and/or         
8 # modify it under the terms of the GNU Lesser General Public            
9 # License as published by the Free Software Foundation; either          
10 # version 2.1 of the License, or (at your option) any later version.    
11 #                                                                       
12 # This library is distributed in the hope that it will be useful,       
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of        
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     
15 # Lesser General Public License for more details.                       
16 #                                                                       
17 # You should have received a copy of the GNU Lesser General Public      
18 # License along with this library; if not, write to the Free Software   
19 # Foundation, Inc.,                                                     
20 # 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA              
21
23 # License of this script, not of the application it contains:
25 # Copyright Erik Veenstra <tar2rubyscript@erikveen.dds.nl>
26
27 # This program is free software; you can redistribute it and/or
28 # modify it under the terms of the GNU General Public License,
29 # version 2, as published by the Free Software Foundation.
30
31 # This program is distributed in the hope that it will be
32 # useful, but WITHOUT ANY WARRANTY; without even the implied
33 # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
34 # PURPOSE. See the GNU General Public License for more details.
35
36 # You should have received a copy of the GNU General Public
37 # License along with this program; if not, write to the Free
38 # Software Foundation, Inc., 59 Temple Place, Suite 330,
39 # Boston, MA 02111-1307 USA.
41 # Parts of this code are based on code from Thomas Hurst
42 # <tom@hur.st>.
44 # Tar2RubyScript constants
46 unless defined?(BLOCKSIZE)
47   ShowContent   = ARGV.include?("--tar2rubyscript-list")
48   JustExtract   = ARGV.include?("--tar2rubyscript-justextract")
49   ToTar         = ARGV.include?("--tar2rubyscript-totar")
50   Preserve      = ARGV.include?("--tar2rubyscript-preserve")
51 end
53 ARGV.concat     []
55 ARGV.delete_if{|arg| arg =~ /^--tar2rubyscript-/}
57 ARGV << "--tar2rubyscript-preserve"     if Preserve
59 # Tar constants
61 unless defined?(BLOCKSIZE)
62   BLOCKSIZE             = 512
64   NAMELEN               = 100
65   MODELEN               = 8
66   UIDLEN                = 8
67   GIDLEN                = 8
68   CHKSUMLEN             = 8
69   SIZELEN               = 12
70   MAGICLEN              = 8
71   MODTIMELEN            = 12
72   UNAMELEN              = 32
73   GNAMELEN              = 32
74   DEVLEN                = 8
76   TMAGIC                = "ustar"
77   GNU_TMAGIC            = "ustar  "
78   SOLARIS_TMAGIC        = "ustar\00000"
80   MAGICS                = [TMAGIC, GNU_TMAGIC, SOLARIS_TMAGIC]
82   LF_OLDFILE            = '\0'
83   LF_FILE               = '0'
84   LF_LINK               = '1'
85   LF_SYMLINK            = '2'
86   LF_CHAR               = '3'
87   LF_BLOCK              = '4'
88   LF_DIR                = '5'
89   LF_FIFO               = '6'
90   LF_CONTIG             = '7'
92   GNUTYPE_DUMPDIR       = 'D'
93   GNUTYPE_LONGLINK      = 'K'   # Identifies the *next* file on the tape as having a long linkname.
94   GNUTYPE_LONGNAME      = 'L'   # Identifies the *next* file on the tape as having a long name.
95   GNUTYPE_MULTIVOL      = 'M'   # This is the continuation of a file that began on another volume.
96   GNUTYPE_NAMES         = 'N'   # For storing filenames that do not fit into the main header.
97   GNUTYPE_SPARSE        = 'S'   # This is for sparse files.
98   GNUTYPE_VOLHDR        = 'V'   # This file is a tape/volume header.  Ignore it on extraction.
99 end
101 class Dir
102   def self.rm_rf(entry)
103     begin
104       File.chmod(0755, entry)
105     rescue
106     end
108     if File.ftype(entry) == "directory"
109       pdir      = Dir.pwd
111       Dir.chdir(entry)
112         Dir.open(".") do |d|
113           d.each do |e|
114             Dir.rm_rf(e)        if not [".", ".."].include?(e)
115           end
116         end
117       Dir.chdir(pdir)
119       begin
120         Dir.delete(entry)
121       rescue => e
122         $stderr.puts e.message
123       end
124     else
125       begin
126         File.delete(entry)
127       rescue => e
128         $stderr.puts e.message
129       end
130     end
131   end
134 class Reader
135   def initialize(filehandle)
136     @fp = filehandle
137   end
139   def extract
140     each do |entry|
141       entry.extract
142     end
143   end
145   def list
146     each do |entry|
147       entry.list
148     end
149   end
151   def each
152     @fp.rewind
154     while entry = next_entry
155       yield(entry)
156     end
157   end
159   def next_entry
160     buf = @fp.read(BLOCKSIZE)
162     if buf.length < BLOCKSIZE or buf == "\000" * BLOCKSIZE
163       entry     = nil
164     else
165       entry     = Entry.new(buf, @fp)
166     end
168     entry
169   end
172 class Entry
173   attr_reader(:header, :data)
175   def initialize(header, fp)
176     @header     = Header.new(header)
178     readdata =
179     lambda do |header|
180       padding   = (BLOCKSIZE - (header.size % BLOCKSIZE)) % BLOCKSIZE
181       @data     = fp.read(header.size)  if header.size > 0
182       dummy     = fp.read(padding)      if padding > 0
183     end
185     readdata.call(@header)
187     if @header.longname?
188       gnuname           = @data[0..-2]
190       header            = fp.read(BLOCKSIZE)
191       @header           = Header.new(header)
192       @header.name      = gnuname
194       readdata.call(@header)
195     end
196   end
198   def extract
199     if not @header.name.empty?
200       if @header.symlink?
201         begin
202           File.symlink(@header.linkname, @header.name)
203         rescue SystemCallError => e
204           $stderr.puts "Couldn't create symlink #{@header.name}: " + e.message
205         end
206       elsif @header.link?
207         begin
208           File.link(@header.linkname, @header.name)
209         rescue SystemCallError => e
210           $stderr.puts "Couldn't create link #{@header.name}: " + e.message
211         end
212       elsif @header.dir?
213         begin
214           Dir.mkdir(@header.name, @header.mode)
215         rescue SystemCallError => e
216           $stderr.puts "Couldn't create dir #{@header.name}: " + e.message
217         end
218       elsif @header.file?
219         begin
220           File.open(@header.name, "wb") do |fp|
221             fp.write(@data)
222             fp.chmod(@header.mode)
223           end
224         rescue => e
225           $stderr.puts "Couldn't create file #{@header.name}: " + e.message
226         end
227       else
228         $stderr.puts "Couldn't handle entry #{@header.name} (flag=#{@header.linkflag.inspect})."
229       end
231       #File.chown(@header.uid, @header.gid, @header.name)
232       #File.utime(Time.now, @header.mtime, @header.name)
233     end
234   end
236   def list
237     if not @header.name.empty?
238       if @header.symlink?
239         $stderr.puts "s %s -> %s" % [@header.name, @header.linkname]
240       elsif @header.link?
241         $stderr.puts "l %s -> %s" % [@header.name, @header.linkname]
242       elsif @header.dir?
243         $stderr.puts "d %s" % [@header.name]
244       elsif @header.file?
245         $stderr.puts "f %s (%s)" % [@header.name, @header.size]
246       else
247         $stderr.puts "Couldn't handle entry #{@header.name} (flag=#{@header.linkflag.inspect})."
248       end
249     end
250   end
253 class Header
254   attr_reader(:name, :uid, :gid, :size, :mtime, :uname, :gname, :mode, :linkflag, :linkname)
255   attr_writer(:name)
257   def initialize(header)
258     fields      = header.unpack('A100 A8 A8 A8 A12 A12 A8 A1 A100 A8 A32 A32 A8 A8')
259     types       = ['str', 'oct', 'oct', 'oct', 'oct', 'time', 'oct', 'str', 'str', 'str', 'str', 'str', 'oct', 'oct']
261     begin
262       converted = []
263       while field = fields.shift
264         type    = types.shift
266         case type
267         when 'str'      then converted.push(field)
268         when 'oct'      then converted.push(field.oct)
269         when 'time'     then converted.push(Time::at(field.oct))
270         end
271       end
273       @name, @mode, @uid, @gid, @size, @mtime, @chksum, @linkflag, @linkname, @magic, @uname, @gname, @devmajor, @devminor      = converted
275       @name.gsub!(/^\.\//, "")
276       @linkname.gsub!(/^\.\//, "")
278       @raw      = header
279     rescue ArgumentError => e
280       raise "Couldn't determine a real value for a field (#{field})"
281     end
283     raise "Magic header value #{@magic.inspect} is invalid."    if not MAGICS.include?(@magic)
285     @linkflag   = LF_FILE                       if @linkflag == LF_OLDFILE or @linkflag == LF_CONTIG
286     @linkflag   = LF_DIR                        if @linkflag == LF_FILE and @name[-1] == '/'
287     @size       = 0                             if @size < 0
288   end
290   def file?
291     @linkflag == LF_FILE
292   end
294   def dir?
295     @linkflag == LF_DIR
296   end
298   def symlink?
299     @linkflag == LF_SYMLINK
300   end
302   def link?
303     @linkflag == LF_LINK
304   end
306   def longname?
307     @linkflag == GNUTYPE_LONGNAME
308   end
311 class Content
312   @@count       = 0     unless defined?(@@count)
314   def initialize
315     @@count += 1
317     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
318     temp        = ENV["TEMP"]
319     temp        = "/tmp"        if temp.nil?
320     temp        = File.expand_path(temp)
321     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count}"
322   end
324   def list
325     begin
326       File.open(@tempfile, "wb")        {|f| f.write @archive}
327       File.open(@tempfile, "rb")        {|f| Reader.new(f).list}
328     ensure
329       File.delete(@tempfile)
330     end
332     self
333   end
335   def cleanup
336     @archive    = nil
338     self
339   end
342 class TempSpace
343   @@count       = 0     unless defined?(@@count)
345   def initialize
346     @@count += 1
348     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
349     @olddir     = Dir.pwd
350     temp        = ENV["TEMP"]
351     temp        = "/tmp"        if temp.nil?
352     temp        = File.expand_path(temp)
353     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count}"
354     @tempdir    = "#{temp}/tar2rubyscript.d.#{Process.pid}.#{@@count}"
356     @@tempspace = self
358     @newdir     = @tempdir
360     @touchthread =
361     Thread.new do
362       loop do
363         sleep 60*60
365         touch(@tempdir)
366         touch(@tempfile)
367       end
368     end
369   end
371   def extract
372     Dir.rm_rf(@tempdir) if File.exists?(@tempdir)
373     Dir.mkdir(@tempdir)
375     newlocation do
377                 # Create the temp environment.
379       File.open(@tempfile, "wb")        {|f| f.write @archive}
380       File.open(@tempfile, "rb")        {|f| Reader.new(f).extract}
382                 # Eventually look for a subdirectory.
384       entries   = Dir.entries(".")
385       entries.delete(".")
386       entries.delete("..")
388       if entries.length == 1
389         entry   = entries.shift.dup
390         if File.directory?(entry)
391           @newdir       = "#{@tempdir}/#{entry}"
392         end
393       end
394     end
396                 # Remember all File objects.
398     @ioobjects  = []
399     ObjectSpace::each_object(File) do |obj|
400       @ioobjects << obj
401     end
403     at_exit do
404       @touchthread.kill
406                 # Close all File objects, opened in init.rb .
408       ObjectSpace::each_object(File) do |obj|
409         obj.close       if (not obj.closed? and not @ioobjects.include?(obj))
410       end
412                 # Remove the temp environment.
414       Dir.chdir(@olddir)
416       Dir.rm_rf(@tempfile)
417       Dir.rm_rf(@tempdir)
418     end
420     self
421   end
423   def cleanup
424     @archive    = nil
426     self
427   end
429   def touch(entry)
430     entry       = entry.gsub!(/[\/\\]*$/, "")   unless entry.nil?
432     return      unless File.exists?(entry)
434     if File.directory?(entry)
435       pdir      = Dir.pwd
437       begin
438         Dir.chdir(entry)
440         begin
441           Dir.open(".") do |d|
442             d.each do |e|
443               touch(e)  unless [".", ".."].include?(e)
444             end
445           end
446         ensure
447           Dir.chdir(pdir)
448         end
449       rescue Errno::EACCES => error
450         $stderr.puts error
451       end
452     else
453       File.utime(Time.now, File.mtime(entry), entry)
454     end
455   end
457   def oldlocation(file="")
458     if block_given?
459       pdir      = Dir.pwd
461       Dir.chdir(@olddir)
462         res     = yield
463       Dir.chdir(pdir)
464     else
465       res       = File.expand_path(file, @olddir)       if not file.nil?
466     end
468     res
469   end
471   def newlocation(file="")
472     if block_given?
473       pdir      = Dir.pwd
475       Dir.chdir(@newdir)
476         res     = yield
477       Dir.chdir(pdir)
478     else
479       res       = File.expand_path(file, @newdir)       if not file.nil?
480     end
482     res
483   end
485   def templocation(file="")
486     if block_given?
487       pdir      = Dir.pwd
489       Dir.chdir(@tempdir)
490         res     = yield
491       Dir.chdir(pdir)
492     else
493       res       = File.expand_path(file, @tempdir)      if not file.nil?
494     end
496     res
497   end
499   def self.oldlocation(file="")
500     if block_given?
501       @@tempspace.oldlocation { yield }
502     else
503       @@tempspace.oldlocation(file)
504     end
505   end
507   def self.newlocation(file="")
508     if block_given?
509       @@tempspace.newlocation { yield }
510     else
511       @@tempspace.newlocation(file)
512     end
513   end
515   def self.templocation(file="")
516     if block_given?
517       @@tempspace.templocation { yield }
518     else
519       @@tempspace.templocation(file)
520     end
521   end
524 class Extract
525   @@count       = 0     unless defined?(@@count)
527   def initialize
528     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
529     temp        = ENV["TEMP"]
530     temp        = "/tmp"        if temp.nil?
531     @tempfile   = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count += 1}"
532   end
534   def extract
535     begin
536       File.open(@tempfile, "wb")        {|f| f.write @archive}
537       File.open(@tempfile, "rb")        {|f| Reader.new(f).extract}
538     ensure
539       File.delete(@tempfile)
540     end
542     self
543   end
545   def cleanup
546     @archive    = nil
548     self
549   end
552 class MakeTar
553   def initialize
554     @archive    = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
555     @tarfile    = File.expand_path(__FILE__).gsub(/\.rbw?$/, "") + ".tar"
556   end
558   def extract
559     File.open(@tarfile, "wb")   {|f| f.write @archive}
561     self
562   end
564   def cleanup
565     @archive    = nil
567     self
568   end
571 def oldlocation(file="")
572   if block_given?
573     TempSpace.oldlocation { yield }
574   else
575     TempSpace.oldlocation(file)
576   end
579 def newlocation(file="")
580   if block_given?
581     TempSpace.newlocation { yield }
582   else
583     TempSpace.newlocation(file)
584   end
587 def templocation(file="")
588   if block_given?
589     TempSpace.templocation { yield }
590   else
591     TempSpace.templocation(file)
592   end
595 if ShowContent
596   Content.new.list.cleanup
597 elsif JustExtract
598   Extract.new.extract.cleanup
599 elsif ToTar
600   MakeTar.new.extract.cleanup
601 else
602   TempSpace.new.extract.cleanup
604   $:.unshift(templocation)
605   $:.unshift(newlocation)
606   $:.push(oldlocation)
608   verbose       = $VERBOSE
609   $VERBOSE      = nil
610   s     = ENV["PATH"].dup
611   if Dir.pwd[1..2] == ":/"      # Hack ???
612     s << ";#{templocation.gsub(/\//, "\\")}"
613     s << ";#{newlocation.gsub(/\//, "\\")}"
614     s << ";#{oldlocation.gsub(/\//, "\\")}"
615   else
616     s << ":#{templocation}"
617     s << ":#{newlocation}"
618     s << ":#{oldlocation}"
619   end
620   ENV["PATH"]   = s
621   $VERBOSE      = verbose
623   TAR2RUBYSCRIPT        = true  unless defined?(TAR2RUBYSCRIPT)
625   newlocation do
626     if __FILE__ == $0
627       $0.replace(File.expand_path("./init.rb"))
629       if File.file?("./init.rb")
630         load File.expand_path("./init.rb")
631       else
632         $stderr.puts "%s doesn't contain an init.rb ." % __FILE__
633       end
634     else
635       if File.file?("./init.rb")
636         load File.expand_path("./init.rb")
637       end
638     end
639   end
643 # cW9uZmlndXJlLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
644 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
645 # AAAAAAAAAAAAADAwMDA3NTUAMDAwMTc1MQAwMDAxNzUxADAwMDAwMDAwMDAw
646 # ADEwNzIzMzQzMjI0ADAxMTIwNAAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
647 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
648 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdl
649 # awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
650 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
651 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
652 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
653 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
654 # AAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvcW9uZi5yYgAAAAAAAAAAAAAA
655 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
656 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUxADAw
657 # MDE3NTEAMDAwMDAwMzIzNTQAMTA3MTYyMDY3MDcAMDEyNTExACAwAAAAAAAA
658 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
659 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
660 # AAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
661 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
662 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
663 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
664 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
665 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICd0
666 # ZXN0JwpyZXF1aXJlICdwa2djb25maWcnCnJlcXVpcmUgJ2Zyb250ZW5kZmFj
667 # dG9yeScKcmVxdWlyZSAnY29uZmlnJwpyZXF1aXJlICdxbWFrZScKcmVxdWly
668 # ZSAnbWFrZWZpbGUnCgptb2R1bGUgUW9uZgogIFZFUlNJT04gPSAiMC41Ii5m
669 # cmVlemUKICBWRVJTSU9OX0RBVEUgPSAiMjAwNy0xMC0xNCIKICAKICBjbGFz
670 # cyBRdFZlcnNpb24KICAgIGF0dHJfcmVhZGVyIDp2ZXJzaW9uLCA6b3AgIyAw
671 # OiBlcXVhbCAxOiBncmVhdGVyIDI6IGdyZWF0ZXIgZXF1YWwKICAgIAogICAg
672 # ZGVmIGluaXRpYWxpemUodmVyc2lvbikKICAgICAgQG9wID0gMgogICAgICBw
673 # YXJzZSh2ZXJzaW9uKQogICAgZW5kCiAgICAKICAgIGRlZiA9PSh2ZXIpCiAg
674 # ICAgIEBvcCA9IDAKICAgICAgcGFyc2UodmVyKQogICAgZW5kCiAgICAKICAg
675 # IGRlZiA+KHZlcikKICAgICAgQG9wID0gMQogICAgICBwYXJzZSh2ZXIpCiAg
676 # ICBlbmQKICAgIAogICAgZGVmID49KHZlcikKICAgICAgQG9wID0gMgogICAg
677 # ICBwYXJzZSh2ZXIpCiAgICBlbmQKICAgIAogICAgZGVmIHRvX3MKICAgICAg
678 # cyA9ICJRdCAiCiAgICAgIGNhc2UgQG9wCiAgICAgICAgd2hlbiAwCiAgICAg
679 # ICAgICBzKz0iPT0iCiAgICAgICAgd2hlbiAxCiAgICAgICAgICBzKz0iPiIK
680 # ICAgICAgICBlbHNlCiAgICAgICAgICBzKz0iPj0iCiAgICAgIGVuZAogICAg
681 # ICBzKz0gIiAiK0B2ZXJzaW9uCiAgICAgIAogICAgICBzCiAgICBlbmQKICAg
682 # IAogICAgcHJpdmF0ZQogICAgZGVmIHBhcnNlKHZlcnNpb24pCiAgICAgIEB2
683 # ZXJzaW9uID0gdmVyc2lvbi50b19zCiAgICAgIHZlciA9IEB2ZXJzaW9uLnRv
684 # X3Muc3BsaXQoJy4nKQogICAgICBzaXplID0gdmVyLnNpemUKICAgICAgICAK
685 # ICAgICAgZmluYWx2ZXIgPSBbXQogICAgICAzLnRpbWVzIHsgfGl8CiAgICAg
686 # ICAgdHAgPSB2ZXJbaV0KICAgICAgICAKICAgICAgICBpZiB0cC5uaWw/CiAg
687 # ICAgICAgICB0cCA9ICIwIgogICAgICAgIGVuZAogICAgICAgIAogICAgICAg
688 # IGZpbmFsdmVyIDw8IHRwCiAgICAgIH0KICAgICAgCiAgICAgIEB2ZXJzaW9u
689 # ID0gZmluYWx2ZXIuam9pbigiLiIpCiAgICBlbmQKICBlbmQKICAKICBjbGFz
690 # cyBTZXR1cAogICAgYXR0cl9yZWFkZXIgOm9wdGlvbnMsIDpwYWNrYWdlcywg
691 # OnRlc3RzLCA6cGtnX2NvbmZpZ3MKICAgIGRlZiBpbml0aWFsaXplCiAgICAg
692 # IEBvcHRpb25zID0gW10KICAgICAgQHBhY2thZ2VzID0gW10KICAgICAgQHRl
693 # c3RzID0gW10KICAgICAgQHBrZ19jb25maWdzID0gW10KICAgICAgQHF0X3Zl
694 # cnNpb24gPSBRdFZlcnNpb24ubmV3KCI0LjAuMCIpCiAgICAgIAogICAgICBh
695 # ZGRfb3B0aW9uKDpuYW1lID0+ICJwcmVmaXgiLCA6dHlwZSA9PiAicGF0aCIs
696 # IDpkZWZhdWx0ID0+ICIvdXNyL2xvY2FsLyIsIDpvcHRpb25hbCA9PiB0cnVl
697 # LCA6ZGVzY3JpcHRpb24gPT4gIlNldHMgdGhlIGluc3RhbGwgcHJlZml4IikK
698 # ICAgIGVuZAogICAgCiAgICBkZWYgYWRkX29wdGlvbihvcHRpb24pCiAgICAg
699 # IGlmIG5vdCBvcHRpb25bOnR5cGVdLm5pbD8KICAgICAgICBvcHRpb25bOnR5
700 # cGVdLmRvd25jYXNlIQogICAgICBlbmQKICAgICAgCiAgICAgIEBvcHRpb25z
701 # IDw8IG9wdGlvbgogICAgZW5kCiAgICAKICAgIGRlZiBmaW5kX3BhY2thZ2Uo
702 # b3B0aW9ucykKICAgICAgQHBhY2thZ2VzIDw8IG9wdGlvbnMKICAgIGVuZAog
703 # ICAgCiAgICBkZWYgYWRkX3Rlc3Qob3B0aW9uKQogICAgICByYWlzZSAiUGxl
704 # YXNlIHNldCBhIHZhbGlkIG5hbWUgdG8gdGhlIHRlc3QiIGlmIG9wdGlvbls6
705 # bmFtZV0udG9fcy5lbXB0eT8KICAgICAgcmFpc2UgIlBsZWFzZSBzZXQgYSB2
706 # YWxpZCBpZCB0byB0aGUgdGVzdCIgaWYgb3B0aW9uWzppZF0udG9fcy5lbXB0
707 # eT8KICAgICAgCiAgICAgIEB0ZXN0cyA8PCBvcHRpb24KICAgIGVuZAogICAg
708 # CiAgICBkZWYgZ2VuZXJhdGVfcGtnY29uZmlnKG9wdGlvbnMpCiAgICAgIHJh
709 # aXNlICJQbGVhc2Ugc2V0IGEgdmFsaWQgbmFtZSIgaWYgb3B0aW9uc1s6cGFj
710 # a2FnZV9uYW1lXS50b19zLmVtcHR5PwogICAgICBAcGtnX2NvbmZpZ3MgPDwg
711 # b3B0aW9ucwogICAgZW5kCiAgICAKICAgIGRlZiBxdAogICAgICBAcXRfdmVy
712 # c2lvbgogICAgZW5kCiAgICAKICBlbmQKICAKICBjbGFzcyBDb25maWd1cmUK
713 # ICAgIGRlZiBpbml0aWFsaXplCiAgICAgIEBhcmd1bWVudHMgPSB7fQogICAg
714 # ICBAY29uZmlnID0gQ29uZmlnLm5ldwogICAgICAKICAgICAgQGxvZ19maWxl
715 # ID0gb2xkbG9jYXRpb24oImNvbmZpZy5sb2ciKQogICAgICAKICAgICAgRmls
716 # ZS5vcGVuKEBsb2dfZmlsZSwgInciKSBkbyB8ZnwKICAgICAgICBmIDw8ICI9
717 # PT09PT09PiBHZW5lcmF0ZWQgYXQgI3tUaW1lLm5vd30gPD09PT09PT1cbiIK
718 # ICAgICAgZW5kCiAgICAgIAogICAgICBxbWFrZV9wYXRocyA9IFtdCiAgICAg
719 # IGlmKCBEZXRlY3RPUy5vcz8gIT0gMSApICMgVW5peAogICAgICAgIElPLnBv
720 # cGVuKCJsb2NhdGUgLXIgL3FtYWtlJCAyPiAje25ld2xvY2F0aW9uKCdsb2Nh
721 # dGVfbG9nJyl9IikgeyB8cHJjfAogICAgICAgICAgcHJlX3BhdGhzID0gcHJj
722 # LnJlYWRsaW5lcwogICAgICAgICAgcHJlX3BhdGhzLmVhY2ggeyB8cW18CiAg
723 # ICAgICAgICAgIHFtLnN0cmlwIQogICAgICAgICAgICBpZiBGaWxlLmV4aXN0
724 # cz8ocW0pCiAgICAgICAgICAgICAgc3RhdCA9IEZpbGUuc3RhdChxbSkKICAg
725 # ICAgICAgICAgICAKICAgICAgICAgICAgICBpZiAobm90IChzdGF0LnN5bWxp
726 # bms/IG9yIHN0YXQuZGlyZWN0b3J5PykpIGFuZCBzdGF0LmV4ZWN1dGFibGU/
727 # CiAgICAgICAgICAgICAgICBxbWFrZV9wYXRocyA8PCBxbQogICAgICAgICAg
728 # ICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICAgIH0KICAgICAgICB9
729 # CiAgICAgIGVuZAogICAgICAKICAgICAgQHFtYWtlID0gUU1ha2UubmV3KHFt
730 # YWtlX3BhdGhzLCBAbG9nX2ZpbGUpCiAgICAgIAogICAgICBjZmcgPSBTZXR1
731 # cC5uZXcKICAgICAgY29uZmlndXJlKGNmZykKICAgICAgCiAgICAgIHByaW50
732 # ICI9PiBTZWFyY2hpbmcgZm9yICN7Y2ZnLnF0fS4uLiAiCiAgICAgIGlmIEBx
733 # bWFrZS5maW5kX3FtYWtlKGNmZy5xdC52ZXJzaW9uLCBjZmcucXQub3ApCiAg
734 # ICAgICAgcHV0cyAiKCN7QHFtYWtlLnBhdGh9KSBbWUVTXSIKICAgICAgZWxz
735 # ZQogICAgICAgIHB1dHMgIltOT10iCiAgICAgICAgZXhpdCgtMSkKICAgICAg
736 # ZW5kCiAgICAgIAogICAgICBAb3B0aW9ucyA9IGNmZy5vcHRpb25zCiAgICAg
737 # IEBwYWNrYWdlcyA9IGNmZy5wYWNrYWdlcwogICAgICBAdGVzdHMgPSBjZmcu
738 # dGVzdHMKICAgICAgQHBrZ19jb25maWdzID0gY2ZnLnBrZ19jb25maWdzCiAg
739 # ICAgIEBzdGF0dXNGaWxlID0gRGlyLmdldHdkKyIvdXBkYXRlLW1ha2VmaWxl
740 # IgogICAgZW5kCiAgICAKICAgIGRlZiBmaW5kX3BhY2thZ2VzICMgVE9ETzog
741 # c29wb3J0YXIgaW5mb3JtYWNpb24gcGFyYSBlbCBzaXN0ZW1hIG9wZXJhdGl2
742 # byBzb2JyZSBjb21vIGluc3RhbGFyIGVsIHBhcXVldGUKICAgICAgQHBhY2th
743 # Z2VzLmVhY2ggeyB8cGFja2FnZXwKICAgICAgICBwcmludCAiPT4gU2VhcmNo
744 # aW5nIGZvciBwYWNrYWdlOiAje3BhY2thZ2VbOm5hbWVdfS4uLiAgIgogICAg
745 # ICAgIHBrZ2NvbmZpZyA9IFBrZ0NvbmZpZy5uZXcocGFja2FnZVs6bmFtZV0p
746 # CiAgICAgICAgcGtnY29uZmlnLmFkZF9zZWFyY2hfcGF0aCgiI3tAYXJndW1l
747 # bnRzWyJwcmVmaXgiXX0vbGliL3BrZ2NvbmZpZyIpCiAgICAgICAgYmVnaW4K
748 # ICAgICAgICAgIHNldHVwX3BrZ2NvbmZpZyhwa2djb25maWcsIEBhcmd1bWVu
749 # dHMpCiAgICAgICAgcmVzY3VlIE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAg
750 # ICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBfcGtnY29uZmlnLwogICAg
751 # ICAgICAgICBwdXRzICJFcnJvcjogI3tlLm1lc3NhZ2V9IgogICAgICAgICAg
752 # ICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAgICAgIGV4aXQoLTEpCiAgICAg
753 # ICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBpZiBub3Qg
754 # cGtnY29uZmlnLmZpbmQocGFja2FnZVs6bmFtZV0pCiAgICAgICAgICBwdXRz
755 # ICJbTk9dIgogICAgICAgICAgCiAgICAgICAgICBvcHRpb25hbCA9IHBhY2th
756 # Z2VbOm9wdGlvbmFsXS5uaWw/ID8gZmFsc2UgOiBwYWNrYWdlWzpvcHRpb25h
757 # bF0KICAgICAgICAgIAogICAgICAgICAgaWYgbm90IG9wdGlvbmFsCiAgICAg
758 # ICAgICAgIHB1dHMgIj0+IFRoZSBwYWNrYWdlICcje3BhY2thZ2VbOm5hbWVd
759 # fScgaXMgcmVxdWlyZWQuIgogICAgICAgICAgICBleGl0KC0xKQogICAgICAg
760 # ICAgZW5kCiAgICAgICAgZWxzZQogICAgICAgICAgcHV0cyAiW1lFU10iCiAg
761 # ICAgICAgICBnbG9iYWwgPSBwYWNrYWdlWzpnbG9iYWxdLm5pbD8gPyBmYWxz
762 # ZSA6IHBhY2thZ2VbOmdsb2JhbF0KICAgICAgICAgIAogICAgICAgICAgcW9u
763 # ZnBrZyA9IEBjb25maWcKICAgICAgICAgIAogICAgICAgICAgaWYgbm90IGds
764 # b2JhbAogICAgICAgICAgICBxb25mcGtnID0gUGFja2FnZS5uZXcocGFja2Fn
765 # ZVs6bmFtZV0pCiAgICAgICAgICBlbmQKICAgICAgICAgIAogICAgICAgICAg
766 # CiMgICAgICAgICAgIHBrZ2NvbmZpZy5yZXF1aXJlcy5lYWNoIHsgfHJlcXwK
767 # IyAgICAgICAgICAgICBAY29uZmlnLmFkZF9xb25mX3BhY2thZ2UocmVxKQoj
768 # ICAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIHFvbmZwa2cuYWRk
769 # X2xpYihwa2djb25maWcubGlicykKICAgICAgICAgIAogICAgICAgICAgcGtn
770 # Y29uZmlnLmluY2x1ZGVfcGF0aC5lYWNoIHsgfGluY3BhdGh8CiAgICAgICAg
771 # ICAgIHFvbmZwa2cuYWRkX2luY2x1ZGVfcGF0aChpbmNwYXRoKQogICAgICAg
772 # ICAgfQogICAgICAgICAgCiAgICAgICAgICBwa2djb25maWcuZGVmaW5lcy5l
773 # YWNoIHsgfGRlZmluZXwKICAgICAgICAgICAgcW9uZnBrZy5hZGRfZGVmaW5l
774 # KGRlZmluZSkKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgaWYg
775 # bm90IGdsb2JhbAogICAgICAgICAgICBAY29uZmlnLmFkZF9xb25mX3BhY2th
776 # Z2UocW9uZnBrZykKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgQGNvbmZp
777 # Zy5hZGRfcW9uZl9mZWF0dXJlKHBhY2thZ2VbOm5hbWVdKQogICAgICAgICAg
778 # ZW5kCiAgICAgICAgZW5kCiAgICAgIH0KICAgIGVuZAogICAgCiAgICBkZWYg
779 # cnVuX3Rlc3RzCiAgICAgIEB0ZXN0cy5lYWNoIHsgfHRlc3RvcHR8CiAgICAg
780 # ICAgcHJpbnQgIj0+IFRlc3RpbmcgI3t0ZXN0b3B0WzpuYW1lXX0uLi4gICIK
781 # ICAgICAgICAKICAgICAgICB0c3QgPSBUZXN0Lm5ldyh0ZXN0b3B0LCBAY29u
782 # ZmlnLCBAbG9nX2ZpbGUpCiAgICAgICAgCiAgICAgICAgYmVnaW4KICAgICAg
783 # ICAgIHNldHVwX3Rlc3QodGVzdG9wdFs6aWRdLCB0c3QsIEBhcmd1bWVudHMp
784 # CiAgICAgICAgcmVzY3VlIE5vTWV0aG9kRXJyb3IgPT4gZQogICAgICAgICAg
785 # aWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBfdGVzdC8KICAgICAgICAgICAg
786 # cHV0cyAiRXJyb3I6ICN7ZX0iCiAgICAgICAgICAgIHB1dHMgZS5iYWNrdHJh
787 # Y2UKICAgICAgICAgICAgZXhpdCgtMSkKICAgICAgICAgIGVuZAogICAgICAg
788 # IGVuZAogICAgICAgIAogICAgICAgIG9wdGlvbmFsID0gdGVzdG9wdFs6b3B0
789 # aW9uYWxdLm5pbD8gPyBmYWxzZSA6IHRlc3RvcHRbOm9wdGlvbmFsXQogICAg
790 # ICAgIGlmIHRzdC5ydW4oQHFtYWtlKQogICAgICAgICAgZ2xvYmFsID0gdGVz
791 # dG9wdFs6Z2xvYmFsXS5uaWw/ID8gZmFsc2UgOiB0ZXN0b3B0WzpnbG9iYWxd
792 # CiAgICAgICAgICAKICAgICAgICAgIHFvbmZwa2cgPSBAY29uZmlnCiAgICAg
793 # ICAgICAKICAgICAgICAgIGlmIG5vdCBnbG9iYWwKICAgICAgICAgICAgcW9u
794 # ZnBrZyA9IFBhY2thZ2UubmV3KHRzdC5pZCkKICAgICAgICAgIGVuZAogICAg
795 # ICAgICAgCiAgICAgICAgICB0c3QuaW5jbHVkZV9wYXRoLmVhY2ggeyB8aW5j
796 # cGF0aHwKICAgICAgICAgICAgcW9uZnBrZy5hZGRfaW5jbHVkZV9wYXRoKGlu
797 # Y3BhdGgpCiAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgIHRzdC5k
798 # ZWZpbmVzLmVhY2ggeyB8ZGVmaW5lfAogICAgICAgICAgICBxb25mcGtnLmFk
799 # ZF9kZWZpbmUoZGVmaW5lKQogICAgICAgICAgfQogICAgICAgICAgCiAgICAg
800 # ICAgICBxb25mcGtnLmFkZF9saWIodHN0LmxpYnMudG9fcykKICAgICAgICAg
801 # IAogICAgICAgICAgaWYgbm90IGdsb2JhbAogICAgICAgICAgICBAY29uZmln
802 # LmFkZF9xb25mX3BhY2thZ2UocW9uZnBrZykKICAgICAgICAgIGVsc2UKICAg
803 # ICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9mZWF0dXJlKHRzdC5pZCkKICAg
804 # ICAgICAgIGVuZAogICAgICAgICAgcHV0cyAiW09LXSIKICAgICAgICBlbHNl
805 # CiAgICAgICAgICBwdXRzICJbRkFJTEVEXSIKICAgICAgICAgIAogICAgICAg
806 # ICAgaWYgbm90IG9wdGlvbmFsCiAgICAgICAgICAgIHB1dHMgIj0+ICN7dGVz
807 # dG9wdFs6bmFtZV19IGlzIHJlcXVpcmVkIgogICAgICAgICAgICBleGl0KC0x
808 # KQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgIH0KICAgIGVuZAog
809 # ICAgCiAgICBkZWYgZ2VuZXJhdGVfbWFrZWZpbGVzCiAgICAgIHB1dHMgIj0+
810 # IENyZWF0aW5nIG1ha2VmaWxlcy4uLiIKICAgICAgQHFtYWtlLnJ1bigiIiwg
811 # dHJ1ZSkKICAgICAgCiAgICAgIHB1dHMgIj0+IFVwZGF0aW5nIG1ha2VmaWxl
812 # cy4uLiIKICAgICAgCiAgICAgIEBtYWtlZmlsZXMgPSBNYWtlZmlsZTo6Zmlu
813 # ZF9tYWtlZmlsZXMoRGlyLmdldHdkKQogICAgICBAbWFrZWZpbGVzLmVhY2gg
814 # eyB8bWFrZWZpbGV8CiAgICAgICAgICBNYWtlZmlsZTo6b3ZlcnJpZGUobWFr
815 # ZWZpbGUsIEZpbGUuZXhwYW5kX3BhdGgoQGFyZ3VtZW50c1sicHJlZml4Il0u
816 # dG9fcyksIEBzdGF0dXNGaWxlKQogICAgICB9CiAgICAgIAogICAgICBGaWxl
817 # Lm9wZW4oQHN0YXR1c0ZpbGUsICJ3IiApIHsgfGZpbGV8CiAgICAgICAgZmls
818 # ZSA8PCAlQAoje0ZpbGUucmVhZChuZXdsb2NhdGlvbigibWFrZWZpbGUucmIi
819 # KSl9ClFvbmY6Ok1ha2VmaWxlOjpvdmVycmlkZSggQVJHVlswXS50b19zLCAi
820 # I3tAYXJndW1lbnRzWyJwcmVmaXgiXX0iLCAiI3tAc3RhdHVzRmlsZX0iICkK
821 # QAoKaWYgRGV0ZWN0T1Mub3M/ID09IDEgI3dpbjMyCiAgICAgICAgZmlsZSA8
822 # PCAlQApRb25mOjpNYWtlZmlsZTo6b3ZlcnJpZGUoIEFSR1ZbMF0udG9fcysi
823 # LnJlbGVhc2UiLCAiI3tAYXJndW1lbnRzWyJwcmVmaXgiXX0iLCAiI3tAc3Rh
824 # dHVzRmlsZX0iICkKUW9uZjo6TWFrZWZpbGU6Om92ZXJyaWRlKCBBUkdWWzBd
825 # LnRvX3MrIi5kZWJ1ZyIsICIje0Bhcmd1bWVudHNbInByZWZpeCJdfSIsICIj
826 # e0BzdGF0dXNGaWxlfSIgKQpACmVuZAogICAgICB9CiAgICBlbmQKICAgIAog
827 # ICAgZGVmIGdldF9hcmdzKGFyZ3YpCiAgICAgIG9wdGMgPSAwCiAgICAgIGxh
828 # c3Rfb3B0ID0gIiIKICAgICAgCiAgICAgIEBvcHRpb25zLmVhY2ggeyB8b3B0
829 # aW9ufAogICAgICAgIGdpdmVuX29wdGlvbiA9IG5pbAogICAgICAgIAogICAg
830 # ICAgIGFyZ3YuZWFjaCB7IHxhcmd8CiAgICAgICAgICBhcmcuc3RyaXAhCiAg
831 # ICAgICAgICBnaXZlbiA9IGZhbHNlCiAgICAgICAgICAKICAgICAgICAgIGNh
832 # c2Ugb3B0aW9uWzp0eXBlXS50b19zCiAgICAgICAgICAgIHdoZW4gInN0cmlu
833 # ZyIKICAgICAgICAgICAgICBpZiBhcmcgPX4gLy0tI3tvcHRpb25bOm5hbWVd
834 # fT0oW1xXXHddKikvCiAgICAgICAgICAgICAgICBnaXZlbiA9IHRydWUKICAg
835 # ICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9ICQxCiAgICAgICAgICAgICAg
836 # ZW5kCiAgICAgICAgICAgIHdoZW4gInBhdGgiCiAgICAgICAgICAgICAgaWYg
837 # YXJnID1+IC8tLSN7b3B0aW9uWzpuYW1lXX09KFtcV1x3XSopLwogICAgICAg
838 # ICAgICAgICAgZ2l2ZW4gPSB0cnVlCiAgICAgICAgICAgICAgICBnaXZlbl9v
839 # cHRpb24gPSBGaWxlLmV4cGFuZF9wYXRoKCQxKQogICAgICAgICAgICAgIGVu
840 # ZAogICAgICAgICAgICB3aGVuICJib29sIgogICAgICAgICAgICAgIGlmIGFy
841 # ZyA9fiAvLS11c2UtI3tvcHRpb25bOm5hbWVdfT0oXHcrKS8KICAgICAgICAg
842 # ICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgICAgZ2l2ZW5fb3B0
843 # aW9uID0gJDEKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZWxzZQog
844 # ICAgICAgICAgICAgIGlmIGFyZyA9fiAvLS0je29wdGlvbls6bmFtZV19Lwog
845 # ICAgICAgICAgICAgICAgZ2l2ZW5fb3B0aW9uID0gInllcyIKICAgICAgICAg
846 # ICAgICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgIGVuZAogICAgICAg
847 # ICAgZW5kCiAgICAgICAgICAKICAgICAgICAgIGlmIGdpdmVuCiAgICAgICAg
848 # ICAgIGFyZ3YuZGVsZXRlKGFyZykKICAgICAgICAgIGVuZAogICAgICAgIH0K
849 # ICAgICAgICAKICAgICAgICBvcHRpb25bOnZhbHVlXSA9IGdpdmVuX29wdGlv
850 # bgogICAgICB9CiAgICAgIAogICAgICBmcm9udGVuZF9rZXkgPSAidGsiCiAg
851 # ICAgIGFyZ3YuZWFjaCB7IHx1bmtub3dufAogICAgICAgIHVua25vd24uc3Ry
852 # aXAhCiAgICAgICAgaWYgdW5rbm93biA9fiAvLS13aXRoLWNvbmZpZy1mcm9u
853 # dGVuZD0oXHcrKS8KICAgICAgICAgIGZyb250ZW5kX2tleSA9ICQxCiAgICAg
854 # ICAgZWxzaWYgdW5rbm93biA9fiAvLS1oZWxwLwogICAgICAgICAgdXNhZ2UK
855 # ICAgICAgICAgIGV4aXQoMCkKICAgICAgICBlbHNpZiB1bmtub3duID1+IC8t
856 # LXZlcnNpb24vCiAgICAgICAgICBwdXRzICJRT25mICN7VkVSU0lPTn0gWyN7
857 # VkVSU0lPTl9EQVRFfV0iCiAgICAgICAgICBleGl0KDApCiAgICAgICAgZW5k
858 # CiAgICAgIH0KICAgICAgCiAgICAgIGZyb250ZW5kID0gRnJvbnRlbmRGYWN0
859 # b3J5LmNyZWF0ZShmcm9udGVuZF9rZXkpCiAgICAgIGlmIGZyb250ZW5kLm5p
860 # bD8KICAgICAgICBwdXRzICI9PiBJbnZhbGlkIGZyb250ZW5kIgogICAgICAg
861 # IHVzYWdlKCkKICAgICAgICBleGl0KC0xKQogICAgICBlbHNpZiBub3QgZnJv
862 # bnRlbmQucGFyc2UoQG9wdGlvbnMpCiAgICAgICAgdXNhZ2UoKQogICAgICAg
863 # IGV4aXQoLTEpCiAgICAgIGVuZAogICAgICAKICAgICAgQG9wdGlvbnMuZWFj
864 # aCB7IHxvcHRpb258CiAgICAgICAgdmFsdWUgPSBvcHRpb25bOnZhbHVlXS5u
865 # aWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50b19zIDogb3B0aW9uWzp2YWx1ZV0K
866 # ICAgICAgICBAYXJndW1lbnRzW29wdGlvbls6bmFtZV1dID0gdmFsdWUKICAg
867 # ICAgfQogICAgICAKICAgIGVuZAogICAgCiAgICBkZWYgc2F2ZShwYXRoKQog
868 # ICAgICBiZWdpbgogICAgICAgIHNldHVwX2NvbmZpZyhAY29uZmlnLCBAYXJn
869 # dW1lbnRzKQogICAgICByZXNjdWUgTm9NZXRob2RFcnJvciA9PiBlCiAgICAg
870 # ICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBfY29uZmlnLwogICAgICAg
871 # ICAgcHV0cyAiRXJyb3I6ICN7ZX0iCiAgICAgICAgICBwdXRzIGUuYmFja3Ry
872 # YWNlCiAgICAgICAgICBleGl0KC0xKQogICAgICAgIGVuZAogICAgICBlbmQK
873 # ICAgICAgCiAgICAgIEBjb25maWcuYWRkX2RlZmluZSglQF9fUFJFRklYX189
874 # J1xcXFwiJyN7RmlsZS5leHBhbmRfcGF0aCBAYXJndW1lbnRzWyJwcmVmaXgi
875 # XX0nXFxcXCInQCkKICAgICAgCiAgICAgIHNhdmVfcGtnY29uZmlnCiAgICAg
876 # IEBjb25maWcuc2F2ZShwYXRoKQogICAgICAKICAgICAgbGF1bmNoZXIgPSBu
877 # aWwKICAgICAgaWYgRGV0ZWN0T1Mub3M/ID09IDEgIyBXaW5kb3dzCiAgICAg
878 # ICAgbGF1bmNoZXIgPSBGaWxlLm5ldygibGF1bmNoZXIuYmF0IiwgInciKQog
879 # ICAgICAgIAogICAgICAgIGxhdW5jaGVyIDw8ICJzZXQgUEFUSD0je0Bjb25m
880 # aWcuYnVpbGRfZGlyLmdzdWIoJy8nLCAnXFwnKX1cXGJpbjsje0Bjb25maWcu
881 # YnVpbGRfZGlyLmdzdWIoJy8nLCAnXFwnKX1cXGxpYjsje0Bjb25maWcubGli
882 # cmFyeV9wYXRoLmpvaW4oIjsiKS5nc3ViKCcvJywgJ1xcJyl9OyVQQVRIJVxu
883 # IgogICAgICAgIGxhdW5jaGVyIDw8ICIlMVxuIgogICAgICBlbHNlCiAgICAg
884 # ICAgbGF1bmNoZXIgPSBGaWxlLm5ldygibGF1bmNoZXIuc2giLCJ3IikKICAg
885 # ICAgICBsYXVuY2hlciA8PCAiIyEvYmluL2Jhc2hcbiIKICAgICAgICBsYXVu
886 # Y2hlciA8PCAiZXhwb3J0IFBBVEg9I3tAY29uZmlnLmJ1aWxkX2Rpcn0vYmlu
887 # OiR7UEFUSH1cbiIKICAgICAgICBsYXVuY2hlciA8PCAiZXhwb3J0IExEX0xJ
888 # QlJBUllfUEFUSD0je0Bjb25maWcuYnVpbGRfZGlyfS9iaW46I3tAY29uZmln
889 # LmJ1aWxkX2Rpcn0vbGliOiN7QGNvbmZpZy5saWJyYXJ5X3BhdGguam9pbigi
890 # OiIpfToke0xEX0xJQlJBUllfUEFUSH06JHtEWV9MRF9MSUJSQVJZX1BBVEh9
891 # XG4iCiAgICAgICAgbGF1bmNoZXIgPDwgImV4cG9ydCBEWUxEX0xJQlJBUllf
892 # UEFUSD0ke0xEX0xJQlJBUllfUEFUSH1cbiIKICAgICAgICBsYXVuY2hlciA8
893 # PCAiQVBQPSQxXG4iCiAgICAgICAgbGF1bmNoZXIgPDwgInNoaWZ0XG4iCiAg
894 # ICAgICAgbGF1bmNoZXIgPDwgImVjaG8gTGF1bmNoaW5nOiAkQVBQXG4iCiAg
895 # ICAgICAgbGF1bmNoZXIgPDwgIiRBUFAgJCpcbiIKICAgICAgZW5kCiAgICAg
896 # IAogICAgICBGaWxlLmNobW9kKDA3NTUsIGxhdW5jaGVyLnBhdGgpCiAgICAg
897 # IAogICAgZW5kCiAgICAKICAgIGRlZiBzYXZlX3BrZ2NvbmZpZwogICAgICBp
898 # ZiBub3QgQHBrZ19jb25maWdzLmVtcHR5PwogICAgICAgIEBwa2dfY29uZmln
899 # cy5lYWNoIHsgfHBrZ19jb25maWd8CiAgICAgICAgICBGaWxlLm9wZW4oIHBr
900 # Z19jb25maWdbOnBhY2thZ2VfbmFtZV0rIi5wYyIsICJ3IikgZG8gfGZpbGV8
901 # CiAgICAgICAgICAgIGZpbGUgPDwgInByZWZpeD0iIDw8IEBhcmd1bWVudHNb
902 # InByZWZpeCJdIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAiZXhlY19w
903 # cmVmaXg9JHtwcmVmaXh9IiA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwg
904 # ImxpYmRpcj0je3BrZ19jb25maWdbOmxpYmRpcl0ubmlsPyA/ICIke3ByZWZp
905 # eH0vbGliIiA6IHBrZ19jb25maWdbOmxpYmRpcl0gfSIgPDwgIlxuIgogICAg
906 # ICAgICAgICBmaWxlIDw8ICJpbmNsdWRlZGlyPSN7cGtnX2NvbmZpZ1s6aW5j
907 # bHVkZWRpcl0ubmlsPyA/ICIke3ByZWZpeH0vaW5jbHVkZSIgOiBwa2dfY29u
908 # ZmlnWzppbmNsdWRlZGlyXSB9IiA8PCAiXG5cblxuIgogICAgICAgICAgICAK
909 # ICAgICAgICAgICAgZmlsZSA8PCAiTmFtZTogIiA8PCBwa2dfY29uZmlnWzpw
910 # YWNrYWdlX25hbWVdIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAiRGVz
911 # Y3JpcHRpb246ICIgPDwgcGtnX2NvbmZpZ1s6ZGVzY3JpcHRpb25dIDw8ICJc
912 # biIKICAgICAgICAgICAgZmlsZSA8PCAiUmVxdWlyZXM6ICIgPDwgcGtnX2Nv
913 # bmZpZ1s6cmVxdWlyZXNdLmpvaW4oIiAiKSA8PCAiXG4iIGlmIHBrZ19jb25m
914 # aWdbOnJlcXVpcmVzXS5jbGFzcyA9PSBBcnJheQogICAgICAgICAgICBmaWxl
915 # IDw8ICJWZXJzaW9uOiAiIDw8IHBrZ19jb25maWdbOnZlcnNpb25dIDw8ICJc
916 # biIKICAgICAgICAgICAgCiAgICAgICAgICAgIGZpbGUgPDwgIkxpYnM6ICIg
917 # PDwgcGtnX2NvbmZpZ1s6bGlic10gPDwgIlxuIgogICAgICAgICAgICBmaWxl
918 # IDw8ICJDZmxhZ3M6ICIgPDwgcGtnX2NvbmZpZ1s6Y2ZsYWdzXSA8PCAiXG4i
919 # CiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAgIGVuZAogICAgZW5kCiAg
920 # ICAKICAgIAogICAgZGVmIGxvZyh0eHQpCiAgICAgIEZpbGUub3BlbihAbG9n
921 # X2ZpbGUsICJhIikgZG8gfGZ8CiAgICAgICAgZiA8PCB0eHQgPDwgIlxuIgog
922 # ICAgICBlbmQKICAgIGVuZAogICAgCiAgICBkZWYgdXNhZ2UKICAgICAgcHV0
923 # cyAiT3B0aW9uczoiCiAgICAgIEBvcHRpb25zLmVhY2ggeyB8b3B0aW9ufAog
924 # ICAgICAgIGNhc2Ugb3B0aW9uWzp0eXBlXQogICAgICAgICAgd2hlbiAic3Ry
925 # aW5nIgogICAgICAgICAgICBwcmludCAiXG4gIC0tI3tvcHRpb25bOm5hbWVd
926 # fT1bdmFsdWVdIgogICAgICAgICAgICBwcmludCAiXHRcdC4uLi4uLiN7b3B0
927 # aW9uWzpkZXNjcmlwdGlvbl19ICIKICAgICAgICAgICAgCiAgICAgICAgICAg
928 # IGlmIG5vdCBvcHRpb25bOmRlZmF1bHRdLm5pbD8KICAgICAgICAgICAgICBw
929 # cmludCAiW2RlZmF1bHQ9I3tvcHRpb25bOmRlZmF1bHRdfV0iCiAgICAgICAg
930 # ICAgIGVuZAogICAgICAgICAgd2hlbiAicGF0aCIKICAgICAgICAgICAgcHJp
931 # bnQgIlxuICAtLSN7b3B0aW9uWzpuYW1lXX09Wy9hL3BhdGhdIgogICAgICAg
932 # ICAgICBwcmludCAiXHRcdC4uLi4uLiN7b3B0aW9uWzpkZXNjcmlwdGlvbl19
933 # ICIKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIG5vdCBvcHRpb25bOmRl
934 # ZmF1bHRdLm5pbD8KICAgICAgICAgICAgICBwcmludCAiW2RlZmF1bHQ9I3tv
935 # cHRpb25bOmRlZmF1bHRdfV0iCiAgICAgICAgICAgIGVuZAogICAgICAgICAg
936 # d2hlbiAiYm9vbCIKICAgICAgICAgICAgcHJpbnQgIlxuICAtLXVzZS0je29w
937 # dGlvbls6bmFtZV19PVt5ZXN8bm9dIgogICAgICAgICAgICBpZiBub3Qgb3B0
938 # aW9uWzpkZWZhdWx0XS5uaWw/CiAgICAgICAgICAgICAgZGVmYXVsdCA9IG9w
939 # dGlvbls6ZGVmYXVsdF0KICAgICAgICAgICAgICBpZiBkZWZhdWx0ID09IHRy
940 # dWUgb3IgZGVmYXVsdCA9PSAieWVzIiBvciBkZWZhdWx0ID09ICJ0cnVlIgog
941 # ICAgICAgICAgICAgICAgZGVmYXVsdCA9ICJ5ZXMiCiAgICAgICAgICAgICAg
942 # ZWxzaWYgZGVmYXVsdCA9PSBmYWxzZSBvciBkZWZhdWx0ID09ICJubyIgb3Ig
943 # ZGVmYXVsdCA9PSAiZmFsc2UiCiAgICAgICAgICAgICAgICBkZWZhdWx0ID0g
944 # Im5vIgogICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGRlZmF1
945 # bHQgPSAibm8iCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgCiAg
946 # ICAgICAgICAgICAgcHJpbnQgIlx0XHQuLi4uLi4je29wdGlvbls6ZGVzY3Jp
947 # cHRpb25dfSBbZGVmYXVsdD0je2RlZmF1bHR9XSIKICAgICAgICAgICAgZW5k
948 # CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHByaW50ICJcbiAgLS0je29w
949 # dGlvbls6bmFtZV19IgogICAgICAgICAgICBwcmludCAiXHRcdC4uLi4uLiN7
950 # b3B0aW9uWzpkZXNjcmlwdGlvbl19IgogICAgICAgIGVuZAogICAgICB9CiAg
951 # ICAgIAogICAgICBwcmludCAiXG4gIC0td2l0aC1jb25maWctZnJvbnRlbmQ9
952 # W3BsYWlufHRrXSIKICAgICAgcHJpbnQgIlx0XHQuLi4uLi5TZXRzIHRoZSBm
953 # cm9udGVuZCB0byBjb25maWd1cmUgdGhlIGFwcGxpY2F0aW9uIFtkZWZhdWx0
954 # PXRrXSIKICAgICAgcHJpbnQgIlxuICAtLWhlbHAiCiAgICAgIHByaW50ICJc
955 # biAgLS12ZXJzaW9uIgogICAgICBwcmludCAiXHRcdC4uLi4uLlNob3dzIHRo
956 # aXMgbWVzc2FnZSIKICAgICAgCiAgICAgIHB1dHMgIiIKICAgIGVuZAogIGVu
957 # ZAplbmQKCmJlZ2luCiAgbG9hZCAic2V0dXAucmIiCnJlc2N1ZSBMb2FkRXJy
958 # b3IKICBGaWxlLm9wZW4ob2xkbG9jYXRpb24oInNldHVwLnJiIiksICJ3Iikg
959 # ZG8gfGZpbGV8CiAgICBmaWxlIDw8IEZpbGUucmVhZCgic2V0dXBfcmIudHBs
960 # IikgPDwgIlxuIgogIGVuZAogIHB1dHMgIj0+IEEgdGVtcGxhdGUgZmlsZSB3
961 # YXMgZ2VuZXJhdGVkIGluIHNldHVwLnJiLCBwbGVhc2UgZWRpdCBpdCBhbmQg
962 # cmVydW4gdGhlIGNvbmZpZ3VyZSBzY3JpcHQuIgogIGV4aXQoLTEpCmVuZAoK
963 # aWYgX19GSUxFX18gPT0gJDAKICBxb25mID0gUW9uZjo6Q29uZmlndXJlLm5l
964 # dwogIHFvbmYuZ2V0X2FyZ3MoQVJHVikKICBxb25mLmZpbmRfcGFja2FnZXMK
965 # ICBxb25mLnJ1bl90ZXN0cwogIAogIHFvbmYuc2F2ZSgiY29uZmlnLnByaSIp
966 # CiAgCiAgcW9uZi5nZW5lcmF0ZV9tYWtlZmlsZXMKZW5kCgoKCgAAAAAAAAAA
967 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
968 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
969 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
970 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
971 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
972 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFv
973 # bmZpZ3VyZS9kZXRlY3Rvcy5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
974 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
975 # AAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTEAMDAwMTc1MQAwMDAwMDAwMTcyNAAx
976 # MDY3Mzc0MDMwMwAwMTMzNTIAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
977 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
978 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsA
979 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
980 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
981 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
982 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
983 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
984 # AAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ3JiY29uZmlnJwoKbW9kdWxlIFFv
985 # bmYKCmNsYXNzIERldGVjdE9TCglPUyA9IHsKCQkwID0+ICJVbmtub3duIiwK
986 # CQkxID0+ICJXaW5kb3dzIiwKCQkyID0+ICJVbml4IiwKCQkzID0+ICJMaW51
987 # eCIsCgkJMzEgPT4gIkRlYmlhbiIsCgkJMzExID0+ICJVYnVudHUiLAoJCTMy
988 # ID0+ICJHZW50b28iLAoJCTQgPT4gIk1hYyBPUyBYIgoJfQoJCglkZWYgc2Vs
989 # Zi5vcz8KCQlAb3MgPSAwCgkJCgkJaWYgOjpDb25maWc6OkNPTkZJR1siYnVp
990 # bGRfb3MiXSA9PSAibXN3aW4zMiIKCQkJcmV0dXJuIDEKCQllbHNlCgkJCUBv
991 # cyA9IDIKCQkJCgkJCWxpbnV4ID0gRGV0ZWN0T1MuZmluZF9saW51eAoJCQlA
992 # b3MgPSBsaW51eCBpZiBsaW51eCA+IDAKCQllbmQKCQkKCQkKCQlyZXR1cm4g
993 # QG9zCgllbmQKCQoJZGVmIHNlbGYuZmluZF9saW51eAoJCWN3ZCA9IERpci5n
994 # ZXR3ZAoJCURpci5jaGRpcigiL2V0Yy8iKQoJCQoJCURpclsiKnstLF99e3Zl
995 # cnNpb24scmVsZWFzZX0iXS5lYWNoIHsgfHBhdGh8CgkJCWlmIHBhdGguZG93
996 # bmNhc2UgPX4gL14oXHcqKSgtfF8pKHZlcnNpb258cmVsZWFzZSkvCgkJCQlE
997 # ZXRlY3RPUzo6T1MuZWFjaCB7IHxpZCwgb3N8CgkJCQkJaWYgb3MuZG93bmNh
998 # c2UgPT0gJDEKCQkJCQkJRGlyLmNoZGlyKGN3ZCkKCQkJCQkJCgkJCQkJCWlm
999 # ICQxID09ICJkZWJpYW4iCgkJCQkJCQlpZiBgYXB0LWNhY2hlIC12YC5pbmNs
1000 # dWRlPygidWJ1bnR1IikKCQkJCQkJCQlyZXR1cm4gMzExCgkJCQkJCQllbmQK
1001 # CQkJCQkJZW5kCgkJCQkJCQoJCQkJCQlyZXR1cm4gaWQKCQkJCQllbmQKCQkJ
1002 # CX0KCQkJZW5kCgkJfQoJCQoJCURpci5jaGRpcihjd2QpCgkJCgkJaWYgYHVu
1003 # YW1lYC5kb3duY2FzZSA9PSAibGludXgiCgkJCXJldHVybiAyCgkJZW5kCgkJ
1004 # CgkJcmV0dXJuIDAKCWVuZAplbmQKCmVuZAoKaWYgX19GSUxFX18gPT0gJDAK
1005 # CXB1dHMgUW9uZjo6RGV0ZWN0T1M6Ok9TW1FvbmY6OkRldGVjdE9TLm9zP10K
1006 # ZW5kCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1007 # AAAAAHFvbmZpZ3VyZS9tYWtlZmlsZS5yYn4AAAAAAAAAAAAAAAAAAAAAAAAA
1008 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1009 # AAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTEAMDAwMTc1MQAwMDAwMDAw
1010 # MjIwNAAxMDcxMjEyNjAwNwAwMTM0NzYAIDAAAAAAAAAAAAAAAAAAAAAAAAAA
1011 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1012 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABr
1013 # cmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1014 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1015 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1016 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1017 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1018 # AAAAAAAAAAAAAAAAAAAAAAAAAAAADQpyZXF1aXJlICdyYmNvbmZpZycNCg0K
1019 # bW9kdWxlIFFvbmYNCiAgY2xhc3MgTWFrZWZpbGUNCiAgICBkZWYgc2VsZi5m
1020 # aW5kX21ha2VmaWxlcyhwYXRoKQ0KICAgICAgbWFrZWZpbGVzID0gW10NCiAg
1021 # ICAgIERpci5mb3JlYWNoKHBhdGgpIHsgfGZ8DQogICAgICAgIGZpbGUgPSAi
1022 # I3twYXRofS8je2Z9Ig0KICAgICAgICBpZiBGaWxlLnN0YXQoZmlsZSkuZGly
1023 # ZWN0b3J5Pw0KICAgICAgICAgIGlmIG5vdCBmID1+IC9eXC4vDQogICAgICAg
1024 # ICAgICBtYWtlZmlsZXMuY29uY2F0IGZpbmRfbWFrZWZpbGVzKGZpbGUpDQog
1025 # ICAgICAgICAgZW5kDQogICAgICAgIGVsc2lmIGYuZG93bmNhc2UgPX4gL15t
1026 # YWtlZmlsZSguZGVidWd8LnJlbGVhc2UpezAsMX0vDQogICAgICAgICAgbWFr
1027 # ZWZpbGVzIDw8IGZpbGUNCiAgICAgICAgZW5kDQogICAgICB9DQogICAgICBt
1028 # YWtlZmlsZXMNCiAgICBlbmQNCiAgICANCiAgICBkZWYgc2VsZi5vdmVycmlk
1029 # ZShtYWtlZmlsZSwgZGVzdGRpciwgc3RhdHVzRmlsZSkNCiAgICAgIG5ld21h
1030 # a2VmaWxlID0gIiINCiAgICAgIA0KICAgICAgcnVieV9iaW4gPSAiI3s6OkNv
1031 # bmZpZzo6Q09ORklHWyJiaW5kaXIiXX0vI3s6OkNvbmZpZzo6Q09ORklHWyJy
1032 # dWJ5X2luc3RhbGxfbmFtZSJdfSINCiAgICAgIA0KICAgICAgaWYgRmlsZTo6
1033 # QUxUX1NFUEFSQVRPUg0KICAgICAgICBydWJ5X2Jpbi5nc3ViISgiLyIsIEZp
1034 # bGU6OkFMVF9TRVBBUkFUT1IpDQogICAgICAgIGRlc3RkaXIuZ3N1YiEoIi8i
1035 # LCBGaWxlOjpBTFRfU0VQQVJBVE9SKQ0KICAgICAgZW5kDQogICAgICANCiAg
1036 # ICAgIEZpbGUub3BlbihtYWtlZmlsZSwgInIiKSB7IHxmfA0KICAgICAgICBs
1037 # aW5lcyA9IGYucmVhZGxpbmVzDQogICAgICAJDQogICAgICAgIGxpbmVzLmVh
1038 # Y2ggeyB8bGluZXwNCiAgICAgICAgICBpZiBsaW5lID1+IC9eSU5TVEFMTF9E
1039 # SVIvDQogICAgICAgICAgCW5ld21ha2VmaWxlICs9ICJJTlNUQUxMX1JPT1Qg
1040 # PSAje2Rlc3RkaXJ9Ig0KICAgICAgICAgIGVuZA0KICAgICAgICAgIG5ld21h
1041 # a2VmaWxlICs9IGxpbmUNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgDQog
1042 # ICAgICBGaWxlLm9wZW4obWFrZWZpbGUsICJ3IikgeyB8ZnwNCiAgICAgICAg
1043 # ZiA8PCBuZXdtYWtlZmlsZQ0KICAgICAgfQ0KICAgIGVuZA0KICBlbmQNCmVu
1044 # ZA0KDQoNCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1045 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1046 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1047 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1048 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1049 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1050 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1051 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1052 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL3BsYWluX2Zy
1053 # b250ZW5kLnJiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1054 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQA
1055 # MDAwMTc1MQAwMDAxNzUxADAwMDAwMDAwNDY2ADEwNjczNzQwMzAzADAxNDU0
1056 # NAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1057 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1058 # AAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAA
1059 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1060 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1061 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1062 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1063 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK
1064 # cmVxdWlyZSAnZnJvbnRlbmQnCgptb2R1bGUgUW9uZgoKY2xhc3MgUGxhaW5G
1065 # cm9udGVuZCA8IEZyb250ZW5kCiAgZGVmIHBhcnNlKG9wdGlvbnMpCiAgICBv
1066 # cHRpb25zLmVhY2ggeyB8b3B0aW9ufAogICAgICBpZiBvcHRpb25bOnZhbHVl
1067 # XS50b19zLmVtcHR5PyBhbmQgb3B0aW9uWzpvcHRpb25hbF0gPT0gZmFsc2UK
1068 # ICAgICAgICBwdXRzICI9PiBUaGUgb3B0aW9uICcje29wdGlvbls6bmFtZV19
1069 # JyBpcyByZXF1aXJlZC4iCiAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAgIGVu
1070 # ZAogICAgfQogICAgCiAgICB0cnVlCiAgZW5kCmVuZAoKZW5kCgoKAAAAAAAA
1071 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1072 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1073 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1074 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1075 # AAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9jb25maWcucmIAAAAAAAAAAAAA
1076 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1077 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTEAMDAw
1078 # MTc1MQAwMDAwMDAwNzA2NgAxMDcxMzc0NTAyNAAwMTMwMTIAIDAAAAAAAAAA
1079 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1080 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1081 # AAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1082 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1083 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1084 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1085 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1086 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnJlcXVpcmUgJ2Rl
1087 # dGVjdG9zJwoKbW9kdWxlIFFvbmYKCmNsYXNzIFBhY2thZ2UKICBhdHRyX3Jl
1088 # YWRlciA6aW5jbHVkZV9wYXRoLCA6bGlicywgOm1vZHVsZXMsIDpkZWZpbmVz
1089 # LCA6bmFtZQogIGRlZiBpbml0aWFsaXplKG5hbWUpCiAgICBAaW5jbHVkZV9w
1090 # YXRoID0gW10KICAgIEBsaWJzID0gW10KICAgIEBtb2R1bGVzID0gW10KICAg
1091 # IEBkZWZpbmVzID0gW10KICAgIEBuYW1lID0gbmFtZQogIGVuZAogIAogIGRl
1092 # ZiBhZGRfaW5jbHVkZV9wYXRoKHBhdGgpCiAgICBAaW5jbHVkZV9wYXRoIDw8
1093 # IHBhdGgKICBlbmQKICAKICBkZWYgYWRkX2xpYihsaWIpCiAgICBAbGlicyA8
1094 # PCBsaWIudG9fcwogIGVuZAogIAogIGRlZiBhZGRfcXRtb2R1bGUobW9kKQog
1095 # ICAgQG1vZHVsZXMgPDwgbW9kCiAgZW5kCiAgCiAgZGVmIGFkZF9kZWZpbmUo
1096 # ZGVmaW5lKQogICAgQGRlZmluZXMgPDwgZGVmaW5lCiAgZW5kCiAgCiAgZGVm
1097 # IHdyaXRlKGYpCiAgICBpZiBub3QgQGluY2x1ZGVfcGF0aC5lbXB0eT8KICAg
1098 # ICAgICBmIDw8ICJJTkNMVURFUEFUSCArPSAiIDw8IEBpbmNsdWRlX3BhdGgu
1099 # dW5pcS5qb2luKCIgIikgPDwgIlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5v
1100 # dCBAbGlicy5lbXB0eT8KICAgICAgICBmIDw8ICJMSUJTICs9ICIgPDwgQGxp
1101 # YnMudW5pcS5qb2luKCIgIikgPDwgIlxuIgogICAgZW5kCiAgICAKICAgIGlm
1102 # IG5vdCBAbW9kdWxlcy5lbXB0eT8KICAgICAgICBmIDw8ICJRVCArPSAiIDw8
1103 # IEBtb2R1bGVzLnVuaXEuam9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogICAg
1104 # CiAgICBpZiBub3QgQGRlZmluZXMuZW1wdHk/CiAgICAgICAgZiA8PCAiREVG
1105 # SU5FUyArPSAiIDw8IEBkZWZpbmVzLnVuaXEuam9pbigiICIpIDw8ICJcbiIK
1106 # ICAgIGVuZAogIGVuZAplbmQKCmNsYXNzIENvbmZpZyA8IFBhY2thZ2UKICBh
1107 # dHRyX3JlYWRlciA6YnVpbGRfZGlyCiAgZGVmIGluaXRpYWxpemUKICAgIHN1
1108 # cGVyKG5pbCkKICAgIEBxb25mX2ZlYXR1cmVzID0gW10KICAgIEBxb25mX3Bh
1109 # Y2thZ2VzID0gW10KICAgIEBidWlsZF9kaXIgPSBvbGRsb2NhdGlvbigiIikr
1110 # Ii9fYnVpbGRfIgogIGVuZAoKICBkZWYgYWRkX3FvbmZfcGFja2FnZShwa2cp
1111 # CiAgICBAcW9uZl9wYWNrYWdlcyA8PCBwa2cKICBlbmQKICAKICBkZWYgYWRk
1112 # X3FvbmZfZmVhdHVyZShmdHIpCiAgICBAcW9uZl9mZWF0dXJlcyA8PCBmdHIK
1113 # ICBlbmQgCgogIGRlZiBpbmNsdWRlX3BhdGgKICAgIGluY3BhdGggPSBAaW5j
1114 # bHVkZV9wYXRoCiAgICAKICAgIEBxb25mX3BhY2thZ2VzLmVhY2ggeyB8cGtn
1115 # fAogICAgICAgIGluY3BhdGguY29uY2F0IHBrZy5pbmNsdWRlX3BhdGgKICAg
1116 # IH0KICAgIAogICAgaW5jcGF0aAogIGVuZAogIAogIGRlZiBsaWJzCiAgICBs
1117 # aWIgPSBAbGlicwogICAgQHFvbmZfcGFja2FnZXMuZWFjaCB7IHxwa2d8CiAg
1118 # ICAgICAgbGliLmNvbmNhdCBwa2cubGlicwogICAgfQogICAgCiAgICBsaWIK
1119 # ICBlbmQKICAKICBkZWYgbGlicmFyeV9wYXRoCiAgICBsaWJzX2EgPSBbXQoK
1120 # ICAgIHNwbGl0dGVkID0gQGxpYnMuam9pbigiICIpLnNwbGl0KCIgIikKICAg
1121 # IHNwbGl0dGVkLmVhY2ggeyB8c3B8CiAgICAgICAgaWYoIHNwID1+IC8tTCgu
1122 # KylccyovICkKICAgICAgICAgICAgbGlic19hIDw8ICQxCiAgICAgICAgZW5k
1123 # CiAgICB9CiAgICAKICAgIGxpYnNfYQogIGVuZAogIAogIGRlZiBkZWZpbmVz
1124 # CiAgICBkZWZzID0gQGRlZmluZXMKICAgIAogICAgQHFvbmZfcGFja2FnZXMu
1125 # ZWFjaCB7IHxwa2d8CiAgICAgICAgZGVmcy5jb25jYXQgcGtnLmRlZmluZXMK
1126 # ICAgIH0KICAgIAogICAgZGVmcwogIGVuZAogIAogIGRlZiBzYXZlKHBhdGgp
1127 # CiAgICBpZiBwYXRoWzBdLmNociA9PSBGaWxlOjpTRVBBUkFUT1IKICAgICAg
1128 # ICBwYXRoID0gcGF0aAogICAgZWxzZQogICAgICAgIHBhdGggPSAiI3tEaXIu
1129 # Z2V0d2R9LyN7cGF0aH0iCiAgICBlbmQKICAgIAogICAgRmlsZS5vcGVuKHBh
1130 # dGgsICJ3IikgeyB8ZnwKICAgICAgICBmIDw8ICIjIEdlbmVyYXRlZCBhdXRv
1131 # bWF0aWNhbGx5IGF0ICN7VGltZS5ub3d9ISBQTEVBU0UgRE8gTk9UIEVESVQg
1132 # TUFOVUFMTFkhIjw8ICJcbiIKICAgICAgICAKICAgICAgICBmIDw8ICJQUk9K
1133 # RUNUX0RJUiA9ICIgPDwgb2xkbG9jYXRpb24oIiIpIDw8ICJcbiIKICAgICAg
1134 # ICBmIDw8ICJCVUlMRF9ESVIgPSAje0BidWlsZF9kaXJ9XG4iCiAgICAgICAg
1135 # CiAgICAgICAgZiA8PCAnY29udGFpbnMoVEVNUExBVEUsICJhcHAiKSB7JyA8
1136 # PCAiXG4iCiAgICAgICAgZiA8PCAiREVTVERJUiA9ICQkQlVJTERfRElSL2Jp
1137 # blxuIgogICAgICAgIGYgPDwgJ30gZWxzZTpjb250YWlucyhURU1QTEFURSwg
1138 # ImxpYiIpIHsnIDw8ICJcbiIKICAgICAgICBmIDw8ICJERVNURElSID0gJCRC
1139 # VUlMRF9ESVIvbGliXG4iCiAgICAgICAgZiA8PCAnfSBlbHNlIHsnIDw8ICJc
1140 # biIKICAgICAgICBmIDw8ICJERVNURElSID0gJCRCVUlMRF9ESVJcbiIKICAg
1141 # ICAgICBmIDw8ICJ9XG5cblxuIgogICAgICAgIAogICAgICAgIGYgPDwgIkxJ
1142 # QlMgKz0gLUwkJEJVSUxEX0RJUi9saWJcbiIKICAgICAgICBmIDw8ICJSRUxB
1143 # VElWRV9QQVRIID0gJCRyZXBsYWNlKF9QUk9fRklMRV9QV0RfLCAkJFBST0pF
1144 # Q1RfRElSLCAiIilcbiIKICAgICAgICBmIDw8ICJDVVJSRU5UX0JVSUxEX0RJ
1145 # UiA9ICQkQlVJTERfRElSJCRSRUxBVElWRV9QQVRIXG4iCiAgICAgICAgCmlm
1146 # IERldGVjdE9TLm9zPyAhPSAxICMgRGlzYWJsZWQgYmVjYXVzZSBXaW5kb3dz
1147 # IHN1Y2tzLgogICAgICAgIGYgPDwgIk9CSkVDVFNfRElSID0gJCRDVVJSRU5U
1148 # X0JVSUxEX0RJUlxuIgogICAgICAgIGYgPDwgIk1PQ19ESVIgPSAkJENVUlJF
1149 # TlRfQlVJTERfRElSXG4iCiAgICAgICAgZiA8PCAiVUlfRElSID0gJCRDVVJS
1150 # RU5UX0JVSUxEX0RJUlxuXG4iCmVuZAogICAgICAgIAogICAgICAgIHdyaXRl
1151 # KGYpCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgZiA8PCAiUU9ORl9GRUFU
1152 # VVJFUyArPSAiIDw8IEBxb25mX3BhY2thZ2VzLm1hcCB7IHxlfCBlLm5hbWUg
1153 # fS5qb2luKCIgIikgIDw8ICJcbiIKICAgICAgICBmIDw8ICJRT05GX0ZFQVRV
1154 # UkVTICs9ICIgPDwgQHFvbmZfZmVhdHVyZXMuam9pbigiICIpICA8PCAiXG4i
1155 # CiAgICAgICAgCiAgICAgICAgZiA8PCAiXG5kZWZpbmVUZXN0KGxpbmtfd2l0
1156 # aCkgeyIgPDwgIlxuIgogICAgICAgIGYgPDwgIiAgcmV0ID0gZmFsc2VcbiIK
1157 # ICAgICAgICBAcW9uZl9wYWNrYWdlcy5lYWNoIHsgfHFvbmZ8CiAgICAgICAg
1158 # ICBmIDw8ICVAICBjb250YWlucygkJGxpc3QoJCRzcGxpdCgxKSkgLCIje3Fv
1159 # bmYubmFtZX0iKSB7XG5ACiAgICAgICAgICBmIDw8ICIgICAgcmV0ID0gdHJ1
1160 # ZVxuIgogICAgICAgICAgZiA8PCAiICAgIG1lc3NhZ2UoPT4gTGlua2luZyBx
1161 # b25mIG1vZHVsZTogI3txb25mLm5hbWV9KVxuIgogICAgICAgICAgcW9uZi53
1162 # cml0ZShmKQogICAgICAgICAgZiA8PCAiICB9XG4iCiAgICAgICAgfQogICAg
1163 # ICAgIGYgPDwgIiAgZXhwb3J0KElOQ0xVREVQQVRIKVxuIgogICAgICAgIGYg
1164 # PDwgIiAgZXhwb3J0KExJQlMpXG4iCiAgICAgICAgZiA8PCAiICBleHBvcnQo
1165 # UVQpXG4iCiAgICAgICAgZiA8PCAiICBleHBvcnQoREVGSU5FUylcbiIKICAg
1166 # ICAgICBmIDw8ICIgIHJldHVybigkJHJldClcbiIKICAgICAgICBmIDw8ICJ9
1167 # XG4iCiAgICB9CiAgZW5kCmVuZAoKZW5kCgoAAAAAAAAAAAAAAAAAAAAAAAAA
1168 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1169 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1170 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1171 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1172 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1173 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1174 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1175 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1176 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1177 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9w
1178 # a2djb25maWcucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1179 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw
1180 # MDAwNjQ0ADAwMDE3NTEAMDAwMTc1MQAwMDAwMDAwNjcxNAAxMDcyMzM0MzIy
1181 # NAAwMTM1MTAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1182 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1183 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAA
1184 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1185 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1186 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1187 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1188 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1189 # AAAAAAAACgpyZXF1aXJlICdkZXRlY3RvcycKCm1vZHVsZSBRb25mCgpjbGFz
1190 # cyBQa2dDb25maWdQYXJzZXIKICBkZWYgaW5pdGlhbGl6ZQogICAgQHZhcmlh
1191 # YmxlcyA9IHt9CiAgICBAc3BlY3MgPSB7fQogIGVuZAogIAogIGRlZiBwYXJz
1192 # ZShwYXRoKQogICAgRmlsZS5vcGVuKHBhdGgpIHsgfGZpbGV8CiAgICAgIGZp
1193 # bGUuZWFjaCB7IHxsaW5lfAogICAgICAgIGlmIGxpbmUgPX4gLyhcdyspPSgu
1194 # KikkLwogICAgICAgICAgQHZhcmlhYmxlc1skMV0gPSAkMgogICAgICAgIGVs
1195 # c2lmIGxpbmUgPX4gLyhcdyspOlxzKC4qKSQvCiAgICAgICAgICBAc3BlY3Nb
1196 # JDFdID0gJDIKICAgICAgICBlbmQKICAgICAgfQogICAgfQogIGVuZAogIAog
1197 # IGRlZiB2YWx1ZSh2YXJpYWJsZSkKICAgIHZhbCA9IEB2YXJpYWJsZXNbdmFy
1198 # aWFibGVdCiAgICB3aGlsZSB2YWwgPX4gLyhcJFx7KFx3KylcfSkvCiAgICAg
1199 # IHZhbC5nc3ViISgkMSwgdmFsdWUoJDIpKQogICAgZW5kCiAgICAKICAgIHZh
1200 # bAogIGVuZAogIAogIGRlZiBzcGVjKHZhcmlhYmxlKQogICAgdmFsID0gQHNw
1201 # ZWNzW3ZhcmlhYmxlXQogICAgd2hpbGUgdmFsID1+IC8oXCRceyhcdyspXH0p
1202 # LwogICAgICB2YWwuZ3N1YiEoJDEsIHZhbHVlKCQyKSkKICAgIGVuZAogICAg
1203 # CiAgICB2YWwKICBlbmQKICAKICBkZWYgbGlicwogICAgc3BlYygiTGlicyIp
1204 # CiAgZW5kCiAgCiAgZGVmIGNmbGFncwogICAgc3BlYygiQ2ZsYWdzIikKICBl
1205 # bmQKICAKICBkZWYgcmVxdWlyZXMKICAgIHNwZWMoIlJlcXVpcmVzIikudG9f
1206 # cwogIGVuZAplbmQKCmNsYXNzIFBrZ0NvbmZpZwogIGF0dHJfcmVhZGVyIDpp
1207 # ZCwgOmxpYnMsIDpjZmxhZ3MsIDpyZXF1aXJlcwogIAogIGRlZiBpbml0aWFs
1208 # aXplKGlkKQogICAgQGlkID0gaWQKICAgIEBzZWFyY2hfcGF0aCA9IFtdCiAg
1209 # ICBAcmVxdWlyZXMgPSBbXQogIGVuZAogIAogIGRlZiBmaW5kKHBrZykKICAg
1210 # IHBrZ3BhdGggPSBmaW5kX3BhdGhfZm9yX3BhY2thZ2UocGtnKQogICAgCiAg
1211 # ICBpZiBub3QgcGtncGF0aC5uaWw/CiAgICAgIEBjZmxhZ3MgPSAiIgogICAg
1212 # ICBAbGlicyA9ICIiCiAgICAgIHBhcnNlKHBrZ3BhdGgsIHBrZykKICAgICAg
1213 # CiAgICAgIHJldHVybiB0cnVlCiAgICBlbmQKICAgIAogICAgZmFsc2UKICBl
1214 # bmQKICAKICBkZWYgYWRkX3NlYXJjaF9wYXRoKHBhdGgpCiAgICBpZiBwYXRo
1215 # LmtpbmRfb2Y/KEFycmF5KQogICAgICBAc2VhcmNoX3BhdGguY29uY2F0KHBh
1216 # dGgpCiAgICBlbHNlCiAgICAgIEBzZWFyY2hfcGF0aCA8PCBwYXRoLnRvX3MK
1217 # ICAgIGVuZAogIGVuZAogIAogIGRlZiBpbmNsdWRlX3BhdGgKICAgIGluY3Bh
1218 # dGggPSBbXQogICAgY2ZsYWdzID0gQGNmbGFncy5kdXAKICAgIHdoaWxlIGNm
1219 # bGFncyA9fiAvKC1JKChcdzopezAsMX0oW1wvXFxdXFMrKSspKS8KICAgICAg
1220 # aW5jcGF0aCA8PCAkMgogICAgICBjZmxhZ3Muc3ViISgkMSwgIiIpCiAgICBl
1221 # bmQKICAgIAogICAgaW5jcGF0aC51bmlxCiAgZW5kCiAgCiAgZGVmIGRlZmlu
1222 # ZXMKICAgIGRlZmluZXMgPSBbXQogICAgY2ZsYWdzID0gQGNmbGFncy5kdXAK
1223 # ICAgIHdoaWxlIGNmbGFncyA9fiAvKC1EXHMqKChcV1x3KykrKSkvCiAgICAg
1224 # IGRlZmluZXMgPDwgJDIKICAgICAgZGVmaW5lcy5zdWIhKCQxLCAiIikKICAg
1225 # IGVuZAogICAgCiAgICBkZWZpbmVzLnVuaXEKICBlbmQKICAKICBkZWYgZmlu
1226 # ZF93aW4zMl9wYXRocwogICAgcGF0aHMgPSBmaW5kX2Vudl9wYXRocwogICAg
1227 # CiAgICAKICAgIHBhdGhzCiAgZW5kCiAgCiAgZGVmIGZpbmRfdW5peF9wYXRo
1228 # cwogICAgcGF0aHMgPSBmaW5kX2Vudl9wYXRocwogICAgaWYgRmlsZS5leGlz
1229 # dHM/KCIvZXRjL2xkLnNvLmNvbmYiKQogICAgICBGaWxlLm9wZW4oIi9ldGMv
1230 # bGQuc28uY29uZiIpIGRvIHxmaWxlfAogICAgICAgIGZpbGUuZWFjaCB7IHxs
1231 # aW5lfAogICAgICAgICAgZGlyID0gbGluZS5zdHJpcCsiL3BrZ2NvbmZpZyIK
1232 # ICAgICAgICAgIGlmIEZpbGUuZXhpc3RzPyhkaXIpCiAgICAgICAgICAgIHBh
1233 # dGhzIDw8IGRpcgogICAgICAgICAgZW5kCiAgICAgICAgfQogICAgICBlbmQK
1234 # ICAgIGVuZAogICAgCiAgICBwYXRocyA8PCAiL3Vzci9saWIvcGtnY29uZmln
1235 # IiA8PCAiL3Vzci9sb2NhbC9saWIvcGtnY29uZmlnIiA8PCBFTlZbIkhPTUUi
1236 # XS50b19zKyIvbG9jYWwvbGliL3BrZ2NvbmZpZyIKICAgIAogICAgcGF0aHMK
1237 # ICBlbmQKICAKICBkZWYgZmluZF9lbnZfcGF0aHMKICAgIHNlcHBhdGggPSAo
1238 # RGV0ZWN0T1Mub3M/ID09IDEpID8gIjsiIDogIjoiCiAgICAKICAgIHBhdGhz
1239 # ID0gWyAiLiIgXQogICAgKEVOVlsiUEtHX0NPTkZJR19QQVRIIl0udG9fcytz
1240 # ZXBwYXRoK0VOVlsiTERfTElCUkFSWV9QQVRIIl0udG9fcykuc3BsaXQoc2Vw
1241 # cGF0aCkuZWFjaCB7IHxwYXRofAogICAgICBpZiBGaWxlLmV4aXN0cz8ocGF0
1242 # aCkKICAgICAgICBwYXRocyA8PCBwYXRoCiAgICAgIGVuZAogICAgfQogICAg
1243 # CiAgICBwYXRocwogIGVuZAogIAogIHByaXZhdGUKICBkZWYgcGFyc2UocGtn
1244 # cGF0aCwgcGtnKQogICAgcmV0dXJuIGlmIHBrZ3BhdGgubmlsPwogICAgCiAg
1245 # ICBwYXJzZXIgPSBQa2dDb25maWdQYXJzZXIubmV3CiAgICBwYXJzZXIucGFy
1246 # c2UocGtncGF0aCkKICAgIAogICAgcGFyc2VyLnJlcXVpcmVzLnNwbGl0KC8s
1247 # fFxzLykuZWFjaCB7IHxyZXF8CiAgICAgIHJlcS5zdHJpcCEKICAgICAgCiAg
1248 # ICAgIHBhcnNlKGZpbmRfcGF0aF9mb3JfcGFja2FnZShyZXEpLCByZXEpCiAg
1249 # ICB9CiAgICAKICAgIGNmbGFncyA9IHBhcnNlci5jZmxhZ3MKICAgIGxpYnMg
1250 # PSBwYXJzZXIubGlicwogICAgCiAgICBpZiBpZCAhPSBwa2cgYW5kIG5vdCAo
1251 # Y2ZsYWdzLmVtcHR5PyBvciBsaWJzLmVtcHR5PykKICAgICAgQHJlcXVpcmVz
1252 # IDw8IHBrZwogICAgZW5kCiAgICAKICAgIEBjZmxhZ3MgPSAiI3tjZmxhZ3N9
1253 # ICN7QGNmbGFnc30iCiAgICBAbGlicyA9ICIje2xpYnN9ICN7QGxpYnN9Igog
1254 # ICAgCiAgICBuaWwKICBlbmQKICAKICBkZWYgZmluZF9wYXRoX2Zvcl9wYWNr
1255 # YWdlKHBrZykKICAgIGlmIG5vdCBwa2cgPX4gL1wucGMkLwogICAgICBwa2cg
1256 # Kz0gIi5wYyIKICAgIGVuZAogICAgCiAgICBwYXRocyA9IEBzZWFyY2hfcGF0
1257 # aAogICAgCiAgICBpZiBEZXRlY3RPUy5vcz8gPT0gMSAjIFdpbmRvd3MKICAg
1258 # ICAgcGF0aHMuY29uY2F0IGZpbmRfd2luMzJfcGF0aHMKICAgIGVsc2UKICAg
1259 # ICAgcGF0aHMuY29uY2F0IGZpbmRfdW5peF9wYXRocwogICAgZW5kCiAgICAK
1260 # ICAgIHBrZ3BhdGggPSBuaWwKICAgIHBhdGhzLmVhY2ggeyB8cGF0aHwKICAg
1261 # ICAgdG1wcGF0aCA9IHBhdGgrIi8iK3BrZwogICAgICBpZiBGaWxlLmV4aXN0
1262 # cz8odG1wcGF0aCkKICAgICAgICBwa2dwYXRoID0gdG1wcGF0aAogICAgICBl
1263 # bHNpZiAkREVCVUcKICAgICAgICBwdXRzICJGYWlsZWQ6ICN7dG1wcGF0aH0i
1264 # CiAgICAgIGVuZAogICAgfQogICAgCiAgICBwa2dwYXRoCiAgZW5kCmVuZAoK
1265 # ZW5kCgoKaWYgJDAgPT0gX19GSUxFX18KICBwa2djb25maWcgPSBRb25mOjpQ
1266 # a2dDb25maWcubmV3CiAgcGtnY29uZmlnLmZpbmQoInRlc3RfcW9uZiIpCiAg
1267 # CiAgcHV0cyBwa2djb25maWcubGlicwplbmQKCgAAAAAAAAAAAAAAAAAAAAAA
1268 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUv
1269 # dGtfZnJvbnRlbmQucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1270 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1271 # MDAwMDY0NAAwMDAxNzUxADAwMDE3NTEAMDAwMDAwMDYyNzMAMTA2NzM3NDAz
1272 # MDMAMDE0MDYxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1273 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1274 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAA
1275 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1276 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1277 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1278 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1279 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1280 # AAAAAAAAAAoKCgpyZXF1aXJlICdmcm9udGVuZCcKCm1vZHVsZSBRb25mCiAg
1281 # Y2xhc3MgVGtGcm9udGVuZCA8IEZyb250ZW5kCiAgICBkZWYgaW5pdGlhbGl6
1282 # ZQogICAgZW5kCiAgICAKICAgIGRlZiBwYXJzZShvcHRzKQogICAgICByb290
1283 # ID0gVGtSb290Lm5ldygpIHsgdGl0bGUgIkNvbmZpZ3VyZS4uLiIgfQogICAg
1284 # ICBvcHRzLmVhY2ggeyB8b3B0aW9ufAogICAgICAgIGxhYmVsID0gVGtMYWJl
1285 # bC5uZXcocm9vdCkgeyB0ZXh0IG9wdGlvbls6bmFtZV0gfQogICAgICAgIAog
1286 # ICAgICAgIGNhc2Ugb3B0aW9uWzp0eXBlXS50b19zLmRvd25jYXNlCiAgICAg
1287 # ICAgICB3aGVuICJzdHJpbmciCiAgICAgICAgICAgIGVudHJ5ID0gVGtFbnRy
1288 # eS5uZXcocm9vdCkKICAgICAgICAgICAgZW50cnkuaW5zZXJ0KDAsIChvcHRp
1289 # b25bOnZhbHVlXS5uaWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50b19zIDogb3B0
1290 # aW9uWzp2YWx1ZV0udG9fcyAgKSkKICAgICAgICAgICAgVGtHcmlkLmdyaWQo
1291 # bGFiZWwsIGVudHJ5LCAiY29sdW1uc3BhbiIgPT4gMikKICAgICAgICAgICAg
1292 # CiAgICAgICAgICAgIG9wdGlvbls6aW5wdXRdID0gZW50cnkKICAgICAgICAg
1293 # IHdoZW4gInBhdGgiCiAgICAgICAgICAgIGVudHJ5ID0gVGtFbnRyeS5uZXco
1294 # cm9vdCkKICAgICAgICAgICAgZW50cnkuaW5zZXJ0KDAsIChvcHRpb25bOnZh
1295 # bHVlXS5uaWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50b19zIDogb3B0aW9uWzp2
1296 # YWx1ZV0udG9fcyAgKSkKICAgICAgICAgICAgCiAgICAgICAgICAgIGdldEZp
1297 # bGUgPSBUa0J1dHRvbi5uZXcocm9vdCkgewogICAgICAgICAgICAgIHRleHQg
1298 # IkJyb3dzZS4uLiIKICAgICAgICAgICAgICBjb21tYW5kIHsKICAgICAgICAg
1299 # ICAgICAgIHZhbCA9IFRrLmNob29zZURpcmVjdG9yeQogICAgICAgICAgICAg
1300 # ICAgCiAgICAgICAgICAgICAgICBlbnRyeS52YWx1ZSA9IHZhbCBpZiBub3Qg
1301 # dmFsLnRvX3MuZW1wdHk/CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9
1302 # CiAgICAgICAgICAgIFRrR3JpZC5ncmlkKGxhYmVsLCBlbnRyeSwgZ2V0Rmls
1303 # ZSwgImNvbHVtbnNwYW4iID0+IDIpCiAgICAgICAgICAgIAogICAgICAgICAg
1304 # ICBvcHRpb25bOmlucHV0XSA9IGVudHJ5CiAgICAgICAgICBlbHNlCiAgICAg
1305 # ICAgICAgIGdpdmVuID0gKG9wdGlvbls6dmFsdWVdLm5pbD8gPyBvcHRpb25b
1306 # OmRlZmF1bHRdLnRvX3MgOiBvcHRpb25bOnZhbHVlXS50b19zICApCiAgICAg
1307 # ICAgICAgIAogICAgICAgICAgICBpZiBnaXZlbiA9PSAiZmFsc2UiIG9yIGdp
1308 # dmVuID09ICJubyIgb3IgZ2l2ZW4uZW1wdHk/CiAgICAgICAgICAgICAgdmFs
1309 # dWUgPSAwCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICB2YWx1ZSA9
1310 # IDEKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIAogICAgICAgICAgICBt
1311 # eWNoZWNrID0gVGtWYXJpYWJsZS5uZXcodmFsdWUpCiAgICAgICAgICAgIGNo
1312 # ZWNrID0gVGtDaGVja0J1dHRvbi5uZXcocm9vdCkgewogICAgICAgICAgICAg
1313 # IHZhcmlhYmxlIG15Y2hlY2sKICAgICAgICAgICAgfQogICAgICAgICAgICAK
1314 # ICAgICAgICAgICAgVGtHcmlkLmdyaWQobGFiZWwsIGNoZWNrLCAiY29sdW1u
1315 # c3BhbiIgPT4gMikKICAgICAgICAgICAgCiAgICAgICAgICAgIG9wdGlvbls6
1316 # aW5wdXRdID0gbXljaGVjawogICAgICAgIGVuZAogICAgICB9CiAgICAgIAog
1317 # ICAgICBvayA9IFRrQnV0dG9uLm5ldyhyb290KSB7CiAgICAgICAgdGV4dCAi
1318 # T2siCiAgICAgICAgY29tbWFuZCAgewogICAgICAgICAgb2sgPSB0cnVlCiAg
1319 # ICAgICAgICByZXF1aXJlZF9maWVsZHMgPSBbXQogICAgICAgICAgCiAgICAg
1320 # ICAgICBvcHRzLmVhY2ggeyB8b3B0aW9ufAogICAgICAgICAgICB2YWx1ZSA9
1321 # IG9wdGlvbls6ZGVmYXVsdF0KICAgICAgICAgICAgY2FzZSBvcHRpb25bOnR5
1322 # cGVdLmRvd25jYXNlCiAgICAgICAgICAgICAgd2hlbiAic3RyaW5nIgogICAg
1323 # ICAgICAgICAgICAgdmFsdWUgPSBvcHRpb25bOmlucHV0XS52YWx1ZQogICAg
1324 # ICAgICAgICAgIHdoZW4gInBhdGgiCiAgICAgICAgICAgICAgICB2YWx1ZSA9
1325 # IEZpbGUuZXhwYW5kX3BhdGgob3B0aW9uWzppbnB1dF0udmFsdWUpCiAgICAg
1326 # ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgdmFsdWUgPSBvcHRpb25b
1327 # OmlucHV0XS52YWx1ZQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgCiAg
1328 # ICAgICAgICAgIGlmIG9wdGlvbls6b3B0aW9uYWxdID09IGZhbHNlIGFuZCB2
1329 # YWx1ZS50b19zLmVtcHR5PwogICAgICAgICAgICAgIHJlcXVpcmVkX2ZpZWxk
1330 # cyA8PCBvcHRpb25bOm5hbWVdCiAgICAgICAgICAgICAgb2sgPSBmYWxzZQog
1331 # ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgb3B0aW9uWzp2YWx1ZV0g
1332 # PSB2YWx1ZQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgCiAgICAgICAg
1333 # ICAgIG9rID0gb2sgJiYgdHJ1ZQogICAgICAgICAgfQogICAgICAgICAgCiAg
1334 # ICAgICAgICBpZiBvawogICAgICAgICAgICBUay5leGl0CiAgICAgICAgICBl
1335 # bHNlCiAgICAgICAgICAgIFRrV2FybmluZy5zaG93KCJUaGUgZmllbGRzICcj
1336 # e3JlcXVpcmVkX2ZpZWxkcy5qb2luKCIsICIpfScgYXJlIHJlcXVpcmVkLiIp
1337 # CiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAg
1338 # IGNhbmNlbCA9IFRrQnV0dG9uLm5ldyhyb290KSB7CiAgICAgICAgdGV4dCAi
1339 # Q2FuY2VsIgogICAgICAgIGNvbW1hbmQgIHsKICAgICAgICAgIFRrLmV4aXQK
1340 # ICAgICAgICAgIGV4aXQgMAogICAgICAgIH0KICAgICAgfQogICAgICAgIAog
1341 # ICAgICBUa0dyaWQuZ3JpZChvaywgY2FuY2VsLCAiY29sdW1uc3BhbiIgPT4g
1342 # MykKICAgICAgCiAgICAgIFRrLm1haW5sb29wCiAgICAgIAogICAgICB0cnVl
1343 # CiAgICBlbmQKICBlbmQKZW5kCgoKaWYgX19GSUxFX18gPT0gJDAgIyBUZXN0
1344 # CiAgb3B0cyA9IFtdCiAgb3B0cyA8PCB7Om5hbWUgPT4gIm5hbWUxIiwgOnR5
1345 # cGUgPT4gIlN0cmluZyIsIDpkZWZhdWx0ID0+ICJ2YWx1ZSIsIDpvcHRpb25h
1346 # bCA9PiBmYWxzZSB9CiAgb3B0cyA8PCB7Om5hbWUgPT4gIm5hbWU0IiwgOnR5
1347 # cGUgPT4gIlBhdGgiLCA6ZGVmYXVsdCA9PiAidmFsdWUiIH0KICBvcHRzIDw8
1348 # IHs6bmFtZSA9PiAibmFtZTIiLCA6dHlwZSA9PiAiQm9vbCIsIDpkZWZhdWx0
1349 # ID0+IHRydWUgfQogIG9wdHMgPDwgezpuYW1lID0+ICJuYW1lMyIsIDp0eXBl
1350 # ID0+ICJWb2lkIiwgOmRlZmF1bHQgPT4gZmFsc2UgfQogIAogIHRrID0gUW9u
1351 # Zjo6VGtGcm9udGVuZC5uZXcKICB0ay5wYXJzZShvcHRzKQogIAogIHB1dHMg
1352 # b3B0cy5maXJzdFs6dmFsdWVdCmVuZAoKCgoAAAAAAAAAAAAAAAAAAAAAAAAA
1353 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1354 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1355 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1356 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1357 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1358 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1359 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJl
1360 # L3Rlc3QucmJ+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1361 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1362 # ADAwMDA2NDQAMDAwMTc1MQAwMDAxNzUxADAwMDAwMDA1MTc3ADEwNjczMDIy
1363 # NzA0ADAxMjcyMQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1364 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1365 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAA
1366 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1367 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1368 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1369 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1370 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1371 # AAAAAAAAAAByZXF1aXJlICd0bXBkaXInCgptb2R1bGUgUW9uZgogIGNsYXNz
1372 # IFRlc3QKICAgIGF0dHJfcmVhZGVyIDppbmNsdWRlX3BhdGgsIDpsaWJzLCA6
1373 # ZGVmaW5lcwogICAgCiAgICBkZWYgaW5pdGlhbGl6ZShvcHRpb25zKQogICAg
1374 # ICBAb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgCiAgICAgIEBpbmNsdWRlX3Bh
1375 # dGggPSBbXQogICAgICBAbGlicyA9IFtdCiAgICAgIEBkZWZpbmVzID0gW10K
1376 # ICAgICAgCiAgICAgIEBpbmNsdWRlX3BhdGggPSBvcHRpb25zWzppbmNsdWRl
1377 # cGF0aF0gaWYgbm90IG9wdGlvbnNbOmluY2x1ZGVwYXRoXS5uaWw/CiAgICAg
1378 # IEBsaWJzIDw8IG9wdGlvbnNbOmxpYnNdIGlmIG5vdCBvcHRpb25zWzpsaWJz
1379 # XS5uaWw/CiAgICAgIEBkZWZpbmVzID0gb3B0aW9uc1s6ZGVmaW5lc10gaWYg
1380 # bm90IG9wdGlvbnNbOmRlZmluZXNdLm5pbD8KICAgIGVuZAogICAgCiAgICBk
1381 # ZWYgcnVuKHFtYWtlKQogICAgICAjIEdlbmVyYXRlCiAgICAgIHJldCA9IGZh
1382 # bHNlCiAgICAgIGN3ZCA9IERpci5nZXR3ZAogICAgICAKICAgICAgcW9uZnRl
1383 # c3RfZGlyID0gIiN7RGlyOjp0bXBkaXJ9L3FvbmZfdGVzdHMuI3tQcm9jZXNz
1384 # LnBpZH0iCiAgICAgIGJhc2VwYXRoID0gcW9uZnRlc3RfZGlyKyIvdGVzdF8j
1385 # e1Byb2Nlc3MucGlkfSIKICAgICAgCiAgICAgIGZpbGVwYXRoID0gYmFzZXBh
1386 # dGgrIi5jcHAiCiAgICAgIHByb3BhdGggPSBiYXNlcGF0aCsiLnBybyIKICAg
1387 # ICAgdGFyZ2V0ID0gInRlc3RfI3tQcm9jZXNzLnBpZH1fYXBwIgogICAgICAK
1388 # ICAgICAgYmVnaW4KICAgICAgICBEaXIubWtkaXIocW9uZnRlc3RfZGlyKSBp
1389 # ZiBub3QgRmlsZS5leGlzdHM/KHFvbmZ0ZXN0X2RpcikKICAgICAgICBGaWxl
1390 # Lm9wZW4oZmlsZXBhdGgsICJ3IikgeyB8ZnwKICAgICAgICAgIAogICAgICAg
1391 # ICAgd3JpdGVfdGVzdChmKQogICAgICAgICAgCiAgICAgICAgICBGaWxlLm9w
1392 # ZW4ocHJvcGF0aCwgInciKSB7IHxwZnwKICAgICAgICAgICAgcGYgPDwgIlNP
1393 # VVJDRVMgKz0gIiA8PCBmaWxlcGF0aCA8PCAiXG4iCiAgICAgICAgICAgIHBm
1394 # IDw8ICJURU1QTEFURSA9IGFwcCIgPDwgIlxuIgogICAgICAgICAgICBwZiA8
1395 # PCAiVEFSR0VUID0gIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJJTkNM
1396 # VURFUEFUSCArPSAiIDw8IEBpbmNsdWRlX3BhdGguam9pbigiICIpIDw8ICJc
1397 # biIKICAgICAgICAgICAgcGYgPDwgIkxJQlMgKz0gIiA8PCBAbGlicy5qb2lu
1398 # KCIgIikgPDwgIlxuIgogICAgICAgICAgICBwZiA8PCAiREVGSU5FUyArPSAi
1399 # IDw8IEBkZWZpbmVzLmpvaW4oIiAiKSA8PCAiXG4iCiAgICAgICAgICB9CiAg
1400 # ICAgICAgfQogICAgICAgIAogICAgICAgIAogICAgICAgIERpci5jaGRpcihx
1401 # b25mdGVzdF9kaXIpCiAgICAgICAgCiAgICAgICAgcW1ha2UucnVuKHByb3Bh
1402 # dGgpCiAgICAgICAgcmV0ID0gcW1ha2UuY29tcGlsZQogICAgICAgIHFtYWtl
1403 # LmNsZWFuX3VwCiAgICAgICAgCiAgICAgICAgRGlyLmNoZGlyKGN3ZCkKICAg
1404 # ICAgICAKICAgICAgICBGaWxlLnVubGluayh0YXJnZXQpIGlmIEZpbGUuZXhp
1405 # c3RzPyh0YXJnZXQpICMgRklYTUU6IHdpbmRvd3MKICAgICAgICBGaWxlLnVu
1406 # bGluayhwcm9wYXRoKSBpZiBGaWxlLmV4aXN0cz8ocHJvcGF0aCkKICAgICAg
1407 # ICBGaWxlLnVubGluayhmaWxlcGF0aCkgaWYgRmlsZS5leGlzdHM/KGZpbGVw
1408 # YXRoKQogICAgICAgIEZpbGVVdGlscy5ybV9yZihxb25mdGVzdF9kaXIpCiAg
1409 # ICAgICAgCiAgICAgIHJlc2N1ZSA9PiBlCiAgICAgICAgcHV0cyBlCiAgICAg
1410 # ICAgcHV0cyBlLmJhY2t0cmFjZQogICAgICAgIAogICAgICAgIERpci5jaGRp
1411 # cihjd2QpCiAgICAgICAgRmlsZS51bmxpbmsodGFyZ2V0KSBpZiBGaWxlLmV4
1412 # aXN0cz8odGFyZ2V0KSAjIEZJWE1FOiB3aW5kb3dzCiAgICAgICAgRmlsZS51
1413 # bmxpbmsocHJvcGF0aCkgaWYgRmlsZS5leGlzdHM/KHByb3BhdGgpCiAgICAg
1414 # ICAgRmlsZS51bmxpbmsoZmlsZXBhdGgpIGlmIEZpbGUuZXhpc3RzPyhmaWxl
1415 # cGF0aCkKICAgICAgICBGaWxlVXRpbHMucm1fcmYocW9uZnRlc3RfZGlyKQog
1416 # ICAgICAgIAogICAgICAgIHJldHVybiBmYWxzZQogICAgICBlbnN1cmUKICAg
1417 # ICAgZW5kCiAgICAgIAogICAgICByZXQKICAgIGVuZAogICAgCiAgICBkZWYg
1418 # YWRkX2luY2x1ZGVfcGF0aChpbmNwYXRoKQogICAgICBAaW5jbHVkZV9wYXRo
1419 # IDw8IGluY3BhdGgKICAgIGVuZAogICAgCiAgICBkZWYgYWRkX2xpYihsaWIp
1420 # CiAgICAgIEBsaWJzIDw8IGxpYgogICAgZW5kCiAgICAKICAgIGRlZiBhZGRf
1421 # ZGVmaW5lKGRlZmluZSkKICAgICAgQGRlZmluZXMgPDwgZGVmaW5lCiAgICBl
1422 # bmQKICAgIAogICAgcHJpdmF0ZQogICAgZGVmIHdyaXRlX3Rlc3QoZikKICAg
1423 # ICAgaGVhZGVycyA9ICIiCiAgICAgIGlmIG5vdCBAb3B0aW9uc1s6aGVhZGVy
1424 # c10ubmlsPwogICAgICAgIEBvcHRpb25zWzpoZWFkZXJzXS5lYWNoIHsgfGhl
1425 # YWRlcnwKICAgICAgICAgIGhlYWRlcnMgKz0gIiNpbmNsdWRlIDwje2hlYWRl
1426 # cn0+XG4iCiAgICAgICAgfQogICAgICBlbmQKICAgICAgY29kZSA9ICVACmlu
1427 # dCBtYWluKCkKewogIHJldHVybiAwOwp9CkAKICAgICAgaWYgbm90IEBvcHRp
1428 # b25zWzpjdXN0b21dLm5pbD8KICAgICAgICBjb2RlID0gQG9wdGlvbnNbOmN1
1429 # c3RvbV0KICAgICAgZW5kCiAgICAgIAogICAgICBmIDw8IGhlYWRlcnMgPDwg
1430 # IlxuIiA8PCBjb2RlIDw8ICJcbiIKICAgIGVuZAogIGVuZAplbmQKCgAAAAAA
1431 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1432 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1433 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1434 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1435 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1436 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1437 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1438 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1439 # AAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvdGVzdC5yYgAAAAAAAAAA
1440 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1441 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUx
1442 # ADAwMDE3NTEAMDAwMDAwMDYzMjAAMTA3MDIzMTMyMjMAMDEyNTAyACAwAAAA
1443 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1444 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1445 # AAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1446 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1447 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1448 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1449 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1450 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJlcXVpcmUg
1451 # J3RtcGRpcicKcmVxdWlyZSAnZmlsZXV0aWxzJwoKbW9kdWxlIFFvbmYKICBj
1452 # bGFzcyBUZXN0CiAgICBhdHRyX3JlYWRlciA6aW5jbHVkZV9wYXRoLCA6bGli
1453 # cywgOmRlZmluZXMsIDppZAogICAgCiAgICBkZWYgaW5pdGlhbGl6ZShvcHRp
1454 # b25zLCBjb25maWcsIGxvZ19maWxlID0gbmlsKQogICAgICBAb3B0aW9ucyA9
1455 # IG9wdGlvbnMKICAgICAgCiAgICAgIEBpbmNsdWRlX3BhdGggPSBbXQogICAg
1456 # ICBAbGlicyA9IFtdCiAgICAgIEBkZWZpbmVzID0gW10KICAgICAgQGlkID0g
1457 # b3B0aW9uc1s6aWRdCiAgICAgIAogICAgICBAaW5jbHVkZV9wYXRoID0gb3B0
1458 # aW9uc1s6aW5jbHVkZXBhdGhdIGlmIG5vdCBvcHRpb25zWzppbmNsdWRlcGF0
1459 # aF0ubmlsPwogICAgICBAbGlicyA8PCBvcHRpb25zWzpsaWJzXSBpZiBub3Qg
1460 # b3B0aW9uc1s6bGlic10ubmlsPwogICAgICBAZGVmaW5lcyA9IG9wdGlvbnNb
1461 # OmRlZmluZXNdIGlmIG5vdCBvcHRpb25zWzpkZWZpbmVzXS5uaWw/CiAgICAg
1462 # IAogICAgICBAY29uZmlnID0gY29uZmlnCiAgICAgIAogICAgICBAbG9nX2Zp
1463 # bGUgPSBsb2dfZmlsZQogICAgZW5kCiAgICAKICAgIGRlZiBydW4ocW1ha2Up
1464 # CiAgICAgICMgR2VuZXJhdGUKICAgICAgcmV0ID0gZmFsc2UKICAgICAgY3dk
1465 # ID0gRGlyLmdldHdkCiAgICAgIAogICAgICBxb25mdGVzdF9kaXIgPSAiI3tE
1466 # aXI6OnRtcGRpcn0vcW9uZl90ZXN0cy4je1Byb2Nlc3MucGlkfSIKICAgICAg
1467 # YmFzZXBhdGggPSBxb25mdGVzdF9kaXIrIi90ZXN0XyN7UHJvY2Vzcy5waWR9
1468 # IgogICAgICAKICAgICAgZmlsZXBhdGggPSBiYXNlcGF0aCsiLmNwcCIKICAg
1469 # ICAgcHJvcGF0aCA9IGJhc2VwYXRoKyIucHJvIgogICAgICB0YXJnZXQgPSAi
1470 # dGVzdF8je1Byb2Nlc3MucGlkfV9hcHAiCiAgICAgIAogICAgICBiZWdpbgog
1471 # ICAgICAgIERpci5ta2Rpcihxb25mdGVzdF9kaXIpIGlmIG5vdCBGaWxlLmV4
1472 # aXN0cz8ocW9uZnRlc3RfZGlyKQogICAgICAgIEZpbGUub3BlbihmaWxlcGF0
1473 # aCwgInciKSB7IHxmfAogICAgICAgICAgCiAgICAgICAgICB3cml0ZV90ZXN0
1474 # KGYpCiAgICAgICAgICAKICAgICAgICAgIEZpbGUub3Blbihwcm9wYXRoLCAi
1475 # dyIpIHsgfHBmfAogICAgICAgICAgICBwZiA8PCAiU09VUkNFUyArPSAiIDw8
1476 # IGZpbGVwYXRoIDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIlRFTVBMQVRF
1477 # ID0gYXBwIiA8PCAiXG4iCiAgICAgICAgICAgIHBmIDw8ICJUQVJHRVQgPSAi
1478 # IDw8ICJcbiIKICAgICAgICAgICAgcGYgPDwgIklOQ0xVREVQQVRIICs9ICIg
1479 # PDwgQGluY2x1ZGVfcGF0aC5qb2luKCIgIikgPDwgIiAiIDw8IEBjb25maWcu
1480 # aW5jbHVkZV9wYXRoLmpvaW4oIiAiKSA8PCAiXG4iCiAgICAgICAgICAgIHBm
1481 # IDw8ICJMSUJTICs9ICIgPDwgQGxpYnMuam9pbigiICIpIDw8ICIgIiA8PCAg
1482 # QGNvbmZpZy5saWJzLmpvaW4oIiAiKSA8PCAiXG4iCiAgICAgICAgICAgIHBm
1483 # IDw8ICJERUZJTkVTICs9ICIgPDwgQGRlZmluZXMuam9pbigiICIpIDw8ICIg
1484 # IiA8PCBAY29uZmlnLmRlZmluZXMuam9pbigiICIpIDw8ICJcbiIKICAgICAg
1485 # ICAgICAgcGYgPDwgIkNPTkZJRyAtPSBkZWJ1ZyIgPDwgIlxuIgogICAgICAg
1486 # ICAgICBwZiA8PCAiQ09ORklHICo9IHJlbGVhc2UiIDw8ICJcbiIKICAgICAg
1487 # ICAgICAgcGYgPDwgIkRFU1RESVIgPSAje3FvbmZ0ZXN0X2Rpcn0iIDw8ICJc
1488 # biIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgCiAg
1489 # ICAgICAgRGlyLmNoZGlyKHFvbmZ0ZXN0X2RpcikKICAgICAgICAKICAgICAg
1490 # ICBxbWFrZS5ydW4ocHJvcGF0aCkKICAgICAgICByZXQgPSBxbWFrZS5jb21w
1491 # aWxlCiAgICAgICAgcW1ha2UuY2xlYW5fdXAKICAgICAgICAKICAgICAgICBE
1492 # aXIuY2hkaXIoY3dkKQogICAgICAgIAogICAgICAgIEZpbGUudW5saW5rKHRh
1493 # cmdldCkgaWYgRmlsZS5leGlzdHM/KHRhcmdldCkgIyBGSVhNRTogd2luZG93
1494 # cwogICAgICAgIEZpbGUudW5saW5rKHByb3BhdGgpIGlmIEZpbGUuZXhpc3Rz
1495 # Pyhwcm9wYXRoKQogICAgICAgIEZpbGUudW5saW5rKGZpbGVwYXRoKSBpZiBG
1496 # aWxlLmV4aXN0cz8oZmlsZXBhdGgpCiAgICAgICAgRmlsZVV0aWxzLnJtX3Jm
1497 # KHFvbmZ0ZXN0X2RpcikKICAgICAgICAKICAgICAgcmVzY3VlID0+IGUKICAg
1498 # ICAgICBwdXRzIGUKICAgICAgICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAg
1499 # CiAgICAgICAgRGlyLmNoZGlyKGN3ZCkKICAgICAgICBGaWxlLnVubGluayh0
1500 # YXJnZXQpIGlmIEZpbGUuZXhpc3RzPyh0YXJnZXQpICMgRklYTUU6IHdpbmRv
1501 # d3MKICAgICAgICBGaWxlLnVubGluayhwcm9wYXRoKSBpZiBGaWxlLmV4aXN0
1502 # cz8ocHJvcGF0aCkKICAgICAgICBGaWxlLnVubGluayhmaWxlcGF0aCkgaWYg
1503 # RmlsZS5leGlzdHM/KGZpbGVwYXRoKQogICAgICAgIEZpbGVVdGlscy5ybV9y
1504 # Zihxb25mdGVzdF9kaXIpCiAgICAgICAgCiAgICAgICAgcmV0dXJuIGZhbHNl
1505 # CiAgICAgIGVuc3VyZQogICAgICBlbmQKICAgICAgCiAgICAgIHJldAogICAg
1506 # ZW5kCiAgICAKICAgIGRlZiBhZGRfaW5jbHVkZV9wYXRoKGluY3BhdGgpCiAg
1507 # ICAgIEBpbmNsdWRlX3BhdGggPDwgaW5jcGF0aAogICAgZW5kCiAgICAKICAg
1508 # IGRlZiBhZGRfbGliKGxpYikKICAgICAgQGxpYnMgPDwgbGliCiAgICBlbmQK
1509 # ICAgIAogICAgZGVmIGFkZF9kZWZpbmUoZGVmaW5lKQogICAgICBAZGVmaW5l
1510 # cyA8PCBkZWZpbmUKICAgIGVuZAogICAgCiAgICBwcml2YXRlCiAgICBkZWYg
1511 # d3JpdGVfdGVzdChmKQogICAgICBoZWFkZXJzID0gIiIKICAgICAgaWYgbm90
1512 # IEBvcHRpb25zWzpoZWFkZXJzXS5uaWw/CiAgICAgICAgQG9wdGlvbnNbOmhl
1513 # YWRlcnNdLmVhY2ggeyB8aGVhZGVyfAogICAgICAgICAgaGVhZGVycyArPSAi
1514 # I2luY2x1ZGUgPCN7aGVhZGVyfT5cbiIKICAgICAgICB9CiAgICAgIGVuZAog
1515 # ICAgICBjb2RlID0gJUAKaW50IG1haW4oKQp7CiAgcmV0dXJuIDA7Cn0KQAog
1516 # ICAgICBpZiBub3QgQG9wdGlvbnNbOmN1c3RvbV0ubmlsPwogICAgICAgIGNv
1517 # ZGUgPSBAb3B0aW9uc1s6Y3VzdG9tXQogICAgICBlbmQKICAgICAgCiAgICAg
1518 # IGYgPDwgaGVhZGVycyA8PCAiXG4iIDw8IGNvZGUgPDwgIlxuIgogICAgICAK
1519 # ICAgICAgaWYoIG5vdCBAbG9nX2ZpbGUubmlsPyApCiAgICAgICAgRmlsZS5v
1520 # cGVuKEBsb2dfZmlsZSwgImEiKSBkbyB8bGZpbGV8CiAgICAgICAgICBsZmls
1521 # ZSA8PCAiXG5cblxuLS0tLS0tLS0tLS0tXG4iIDw8IGhlYWRlcnMgPDwgIlxu
1522 # IiA8PCBjb2RlIDw8ICJcbi0tLS0tLS0tLS0tLVxuXG5cbiIKICAgICAgICBl
1523 # bmQKICAgICAgZW5kCiAgICBlbmQKICBlbmQKZW5kCgoAAAAAAAAAAAAAAAAA
1524 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1525 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1526 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1527 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1528 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1529 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1530 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL2NvbmZpZy5yYn4AAAAA
1531 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1532 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMTc1
1533 # MQAwMDAxNzUxADAwMDAwMDA0NjE0ADEwNzAyMzEzNTEyADAxMzE3MwAgMAAA
1534 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1535 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1536 # AAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1537 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1538 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1539 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1540 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1541 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKbW9kdWxl
1542 # IFFvbmYKCmNsYXNzIFBhY2thZ2UKICBhdHRyX3JlYWRlciA6aW5jbHVkZV9w
1543 # YXRoLCA6bGlicywgOm1vZHVsZXMsIDpkZWZpbmVzLCA6bmFtZQogIGRlZiBp
1544 # bml0aWFsaXplKG5hbWUpCiAgICBAaW5jbHVkZV9wYXRoID0gW10KICAgIEBs
1545 # aWJzID0gW10KICAgIEBtb2R1bGVzID0gW10KICAgIEBkZWZpbmVzID0gW10K
1546 # ICAgIEBuYW1lID0gbmFtZQogIGVuZAogIAogIGRlZiBhZGRfaW5jbHVkZV9w
1547 # YXRoKHBhdGgpCiAgICBAaW5jbHVkZV9wYXRoIDw8IHBhdGgKICBlbmQKICAK
1548 # ICBkZWYgYWRkX2xpYihsaWIpCiAgICBAbGlicyA8PCBsaWIudG9fcwogIGVu
1549 # ZAogIAogIGRlZiBhZGRfcXRtb2R1bGUobW9kKQogICAgQG1vZHVsZXMgPDwg
1550 # bW9kCiAgZW5kCiAgCiAgZGVmIGFkZF9kZWZpbmUoZGVmaW5lKQogICAgQGRl
1551 # ZmluZXMgPDwgZGVmaW5lCiAgZW5kCiAgCiAgZGVmIHdyaXRlKGYpCiAgICBp
1552 # ZiBub3QgQGluY2x1ZGVfcGF0aC5lbXB0eT8KICAgICAgICBmIDw8ICJJTkNM
1553 # VURFUEFUSCArPSAiIDw8IEBpbmNsdWRlX3BhdGgudW5pcS5qb2luKCIgIikg
1554 # PDwgIlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5vdCBAbGlicy5lbXB0eT8K
1555 # ICAgICAgICBmIDw8ICJMSUJTICs9ICIgPDwgQGxpYnMudW5pcS5qb2luKCIg
1556 # IikgPDwgIlxuIgogICAgZW5kCiAgICAKICAgIGlmIG5vdCBAbW9kdWxlcy5l
1557 # bXB0eT8KICAgICAgICBmIDw8ICJRVCArPSAiIDw8IEBtb2R1bGVzLnVuaXEu
1558 # am9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogICAgCiAgICBpZiBub3QgQGRl
1559 # ZmluZXMuZW1wdHk/CiAgICAgICAgZiA8PCAiREVGSU5FUyArPSAiIDw8IEBk
1560 # ZWZpbmVzLnVuaXEuam9pbigiICIpIDw8ICJcbiIKICAgIGVuZAogIGVuZApl
1561 # bmQKCmNsYXNzIENvbmZpZyA8IFBhY2thZ2UKICBkZWYgaW5pdGlhbGl6ZQog
1562 # ICAgc3VwZXIobmlsKQogICAgQHFvbmZfZmVhdHVyZXMgPSBbXQogIGVuZAog
1563 # IAogIGRlZiBhZGRfcW9uZl9mZWF0dXJlKGZ0cikKICAgIEBxb25mX2ZlYXR1
1564 # cmVzIDw8IGZ0cgogIGVuZCAKCiAgZGVmIGluY2x1ZGVfcGF0aAogICAgaW5j
1565 # cGF0aCA9IEBpbmNsdWRlX3BhdGgKICAgIAogICAgQHFvbmZfZmVhdHVyZXMu
1566 # ZWFjaCB7IHxwa2d8CiAgICAgICAgaW5jcGF0aC5jb25jYXQgcGtnLmluY2x1
1567 # ZGVfcGF0aAogICAgfQogICAgCiAgICBpbmNwYXRoCiAgZW5kCiAgCiAgZGVm
1568 # IGxpYnMKICAgIGxpYiA9IEBsaWJzCiAgICBAcW9uZl9mZWF0dXJlcy5lYWNo
1569 # IHsgfHBrZ3wKICAgICAgICBsaWIuY29uY2F0IHBrZy5saWJzCiAgICB9CiAg
1570 # ICAKICAgIGxpYgogIGVuZAogIAogIGRlZiBkZWZpbmVzCiAgICBkZWZzID0g
1571 # QGRlZmluZXMKICAgIAogICAgQHFvbmZfZmVhdHVyZXMuZWFjaCB7IHxwa2d8
1572 # CiAgICAgICAgZGVmcy5jb25jYXQgcGtnLmRlZmluZXMKICAgIH0KICAgIAog
1573 # ICAgZGVmcwogIGVuZAogIAogIGRlZiBzYXZlKHBhdGgpCiAgICBpZiBwYXRo
1574 # WzBdLmNociA9PSBGaWxlOjpTRVBBUkFUT1IKICAgICAgICBwYXRoID0gcGF0
1575 # aAogICAgZWxzZQogICAgICAgIHBhdGggPSAiI3tEaXIuZ2V0d2R9LyN7cGF0
1576 # aH0iCiAgICBlbmQKICAgIAogICAgRmlsZS5vcGVuKHBhdGgsICJ3IikgeyB8
1577 # ZnwKICAgICAgICBmIDw8ICIjIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGF0
1578 # ICN7VGltZS5ub3d9ISBQTEVBU0UgRE8gTk9UIEVESVQgTUFOVUFMTFkhIjw8
1579 # ICJcbiIKICAgICAgICAKICAgICAgICB3cml0ZShmKQogICAgICAgIAogICAg
1580 # ICAgIAogICAgICAgIGYgPDwgIlFPTkZfRkVBVFVSRVMgKz0gIiA8PCBAcW9u
1581 # Zl9mZWF0dXJlcy5tYXAgeyB8ZXwgZS5uYW1lfS5qb2luKCIgIikgIDw8ICJc
1582 # biIKICAgICAgICBmIDw8ICJRT05GX0ZFQVRVUkVTICs9ICIgPDwgQHFvbmZf
1583 # ZmVhdHVyZXMuam9pbigiICIpICA8PCAiXG4iCiAgICAgICAgCiAgICAgICAg
1584 # ZiA8PCAiXG5kZWZpbmVUZXN0KGxpbmtfd2l0aCkgeyIgPDwgIlxuIgogICAg
1585 # ICAgIGYgPDwgIiAgcmV0ID0gZmFsc2VcbiIKICAgICAgICBAcW9uZl9mZWF0
1586 # dXJlcy5lYWNoIHsgfHFvbmZ8CiAgICAgICAgICBmIDw8ICVAICBjb250YWlu
1587 # cygkJGxpc3QoJCRzcGxpdCgxKSkgLCIje3FvbmYubmFtZX0iKSB7XG5ACiAg
1588 # ICAgICAgICBmIDw8ICIgICAgcmV0ID0gdHJ1ZVxuIgogICAgICAgICAgZiA8
1589 # PCAiICAgIG1lc3NhZ2UoPT4gTGlua2luZyBxb25mIG1vZHVsZTogI3txb25m
1590 # Lm5hbWV9KVxuIgogICAgICAgICAgcW9uZi53cml0ZShmKQogICAgICAgICAg
1591 # ZiA8PCAiICB9XG4iCiAgICAgICAgfQogICAgICAgIGYgPDwgIiAgZXhwb3J0
1592 # KElOQ0xVREVQQVRIKVxuIgogICAgICAgIGYgPDwgIiAgZXhwb3J0KExJQlMp
1593 # XG4iCiAgICAgICAgZiA8PCAiICBleHBvcnQoUVQpXG4iCiAgICAgICAgZiA8
1594 # PCAiICBleHBvcnQoREVGSU5FUylcbiIKICAgICAgICBmIDw8ICIgIHJldHVy
1595 # bigkJHJldClcbiIKICAgICAgICBmIDw8ICJ9XG4iCiAgICB9CiAgZW5kCmVu
1596 # ZAoKZW5kCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1597 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1598 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL3Nl
1599 # dHVwX3JiLnRwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1600 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw
1601 # MDA2NDQAMDAwMTc1MQAwMDAxNzUxADAwMDAwMDA2MjM3ADEwNjczNTAyMDQz
1602 # ADAxMzU2MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1603 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1604 # AAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAA
1605 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1606 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1607 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1608 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1609 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1610 # AAAAAAAKCgojIHNldHVwIGlzIGEgb2JqZWN0IHRoYXQgaGVscHMgdG8gY29u
1611 # ZmlndXJlIHRoZSBwcm9qZWN0CiMgSXQgY29udGFpbnMgc29tZSBtZXRob2Rz
1612 # IGxpa2U6CiMgICBhZGRfb3B0aW9uCiMgICBmaW5kX3BhY2thZ2UKIyAgIGFk
1613 # ZF90ZXN0CiMgICBnZW5lcmF0ZV9wa2djb25maWcKZGVmIGNvbmZpZ3VyZShz
1614 # ZXR1cCkKIyMjIyAKIyMjIyBWZXJpZnkgZm9yIFF0IHZlcnNpb24uCiMjIyMg
1615 # CiMgc2V0dXAucXQgPj0gIjQuMi4wIgoKIyMjIyAKIyMjIyBhZGRfb3B0aW9u
1616 # IGFkZHMgYW4gb3B0aW9uIHRvIHRoZSBzY3JpcHQsIGl0IGhhcyB0aGUgZm9s
1617 # bG93aW5nIG9wdGlvbnM6CiMjIyMgOm5hbWUgICAgICAgICBUaGUgbmFtZSBv
1618 # ZiB0aGUgb3B0aW9uLgojIyMjIDp0eXBlICAgICAgICAgVGhlIHR5cGUgb2Yg
1619 # dGhlIG9wdGlvbiAoInBhdGgiLCAic3RyaW5nIiwgImJvb2wiIG9yICJ2b2lk
1620 # IikuCiMjIyMgOm9wdGlvbmFsICAgICBTYXlzIGlmIHRoZSBvcHRpb24gaXMg
1621 # cmVxdWlyZWQgb3Igbm90LgojIyMjIDpkZXNjcmlwdGlvbiAgRGVzY3JpcHRp
1622 # b24gb2YgdGhlIG9wdGlvbgojIyMjIDpkZWZhdWx0ICAgICAgVGhlIGRlZmF1
1623 # bHQgdmFsdWUKIyMjIyAKIyAgIHNldHVwLmFkZF9vcHRpb24oOm5hbWUgPT4g
1624 # Im9wdGlvbi1uYW1lIiwgOnR5cGUgPT4gInBhdGgiLCA6b3B0aW9uYWwgPT4g
1625 # ZmFsc2UsIDpkZXNjcmlwdGlvbiA9PiAiU2V0cyBhbiBvcHRpb24iKQogIAoj
1626 # IyMjIAojIyMjIGZpbmRfcGFja2FnZSBzZWFyY2ggZm9yIGEgcGtnY29uZmln
1627 # IHNwZWMgaW4geW91ciBjb21wdXRlciwgaXQgc2VhcmNoIGluIHRoZSBQS0df
1628 # Q09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgTERfTElCUkFS
1629 # WV9QQVRICiMjIyMgVGhlIG9wdGlvbnMgYXJlOgojIyMjIDpuYW1lICAgICAg
1630 # IFBhY2thZ2UgbmFtZQojIyMjIDpvcHRpb25hbCAgIFRydWUgaWYgdGhlIHBh
1631 # Y2thZ2UgaXMgb3B0aW9uYWwKIyMjIyA6Z2xvYmFsICAgICBMaW5rIGdsb2Jh
1632 # bGx5CiMjIyMgCiMgICBzZXR1cC5maW5kX3BhY2thZ2UoOm5hbWUgPT4gImRi
1633 # dXMtMSIsIDpvcHRpb25hbCA9PiBmYWxzZSwgOmdsb2JhbCA9PiB0cnVlKQoK
1634 # IyMjIyAKIyMjIyBhZGRfdGVzdCBhZGRzIGFuZCBydW4gYSB0ZXN0IGZvciBz
1635 # b21lIGZlYXR1cmUgb3IgcGFja2FnZSwgdGhlIG9wdGlvbnMgYXJlOgojIyMj
1636 # ICAgOmlkICAgICAgICAgICBUaGUgaWQgb2YgdGhlIHRlc3QKIyMjIyAgIDpu
1637 # YW1lICAgICAgICAgVGhlIHRlc3QgbmFtZQojIyMjICAgOmRlZmluZXMgICAg
1638 # ICBEZWZpbmVzIHRvIHRlc3QKIyMjIyAgIDppbmNsdWRlcGF0aCAgQSBsaXN0
1639 # IHdpdGggdGhlIGluY2x1ZGUgcGF0aAojIyMjICAgOmxpYnMgICAgICAgICBU
1640 # aGUgbGlicyByZXF1aXJlZCBmb3IgdGhlIHRlc3QKIyMjIyAgIDpvcHRpb25h
1641 # bCAgICAgVHJ1ZSBpZiB0aGUgdGVzdCBpcyBvcHRpb25hbAojIyMjICAgOmN1
1642 # c3RvbSAgICAgICBBIGNvZGUgdG8gdGVzdAojIyMjICAgOmdsb2JhbCAgICAg
1643 # ICBMaW5rIGdsb2JhbGx5CiMjIyMgCiMgc2V0dXAuYWRkX3Rlc3QoOmlkID0+
1644 # ICJmZWF0dXJlIiwgOm5hbWUgPT4gIkZlYXR1cmUgc3VwcG9ydCIsIDpkZWZp
1645 # bmVzID0+IFsiSEFWRV9GRUFUVVJFIl0sIDpvcHRpb25hbCA9PiB0cnVlLCA6
1646 # aGVhZGVycyA9PiBbImZlYXR1cmUuaCJdLCA6bGlicyA9PiAiLWxmZWF0dXJl
1647 # IiwgOmdsb2JhbCA9PiB0cnVlICApCgojIyMjIAojIyMjIGdlbmVyYXRlX3Br
1648 # Z2NvbmZpZyBHZW5lcmF0ZXMgYSBzaW1wbGUgcGtnY29uZmlnIGZpbGUKIyMj
1649 # IyBUaGUgb3B0aW9ucyBhcmU6CiMjIyMgICA6cGFja2FnZV9uYW1lICBUaGUg
1650 # cGFja2FnZSBuYW1lIAojIyMjICAgOm5hbWUgICAgICAgICAgVGhlIGFwcGxp
1651 # Y2F0aW9uIG5hbWUKIyMjIyAgIDpkZXNjcmlwdGlvbiAgIFRoZSBhcHBsaWNh
1652 # dGlvbiBkZXNjcmlwdGlvbgojIyMjICAgOnZlcnNpb24gICAgICAgVGhlIHZl
1653 # cnNpb24gb2YgdGhlIGFwcGxpY2F0aW9uCiMjIyMgICA6bGliZGlyICAgICAg
1654 # ICBUaGUgZGlyZWN0b3J5IHdoZXJlIGxpYnJhcmllcyBhcmUsIGJ5IGRlZmF1
1655 # bHQgaXMgJChwcmVmaXgpL2xpYgojIyMjICAgOmluY2x1ZGVkaXIgICAgVGhl
1656 # IGRpcmVjdG9yeSB3aGVyZSBoZWFkZXJzIGFyZSwgYnkgZGVmYXVsdCBpcyAk
1657 # KHByZWZpeCkvaW5jbHVkZQojIyMjICAgOmxpYnMgICAgICAgICAgTGlicmFy
1658 # aWVzIHRoYXQgbGlua3MgdGhlIHBhY2thZ2UKIyMjIyAgIDpjZmxhZ3MgICAg
1659 # ICAgIENmbGFncyBmb3IgdGhlIHBhY2thZ2UKIyMjIyAgIDpyZXF1aXJlcyAg
1660 # ICAgIEEgbGlzdCBvZiBwYWNrYWdlIG5hbWVzIHJlcXVpcmVkIGZvciB0aGlz
1661 # IHBhY2thZ2UuCiMjIyMgCiMgc2V0dXAuZ2VuZXJhdGVfcGtnY29uZmlnKDpw
1662 # YWNrYWdlX25hbWUgPT4gImRsaWItZWRpdG9yIiwgOm5hbWUgPT4gIkRMaWIg
1663 # UXQgbGlicmFyeSIsIDpkZXNjcmlwdGlvbiA9PiAiQSBleHRlbnNpb24gZm9y
1664 # IFF0NCIsIDp2ZXJzaW9uID0+ICIwLjFiZXRhIiwgOmxpYmRpciA9PiBuaWws
1665 # IDppbmNsdWRlZGlyID0+IG5pbCwgOmxpYnMgPT4gIi1MJHtsaWJkaXJ9IC1s
1666 # ZGNvcmUgLWxkZ3VpIC1sZGVkaXRvciIsIDpjZmxhZ3MgPT4gIi1JJHtpbmNs
1667 # dWRlZGlyfSIsIDpyZXF1aXJlcyA9PiBbInNvbWVwYWNrYWdlIiwgIm90aGVy
1668 # cGFja2FnZSIgXSApCmVuZAoKIyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYmVm
1669 # b3JlIHRvIHNlYXJjaCBhIHBhY2thZ2UKZGVmIHNldHVwX3BrZ2NvbmZpZyhw
1670 # a2djb25maWcsIGFyZ3MpCiMgICBjYXNlIHBrZ2NvbmZpZy5pZAojICAgICB3
1671 # aGVuICJkYnVzLTEiCiMgICAgICAgcGtnY29uZmlnLmFkZF9zZWFyY2hfcGF0
1672 # aCgiL2EvcGF0aC90by90aGUvcGMiKQojICAgZW5kCmVuZAoKZGVmIHNldHVw
1673 # X3Rlc3QoaWQsIHRzdCwgYXJncykKIyAgIGNhc2UgaWQKIyAgICAgd2hlbiAi
1674 # ZmVhdHVyZSIKIyAgICAgICB0c3QuYWRkX2RlZmluZSgiTVlERUZJTkUiKQoj
1675 # ICAgICAgIHRzdC5hZGRfbGliKCItbG15bGliIikKIyAgICAgICB0c3QuYWRk
1676 # X2luY2x1ZGVfcGF0aCgiL3NvbWUvaW5jbHVkZS9wYXRoL3JlcXVpcmVkL3Rv
1677 # L2NvbXBpbGUvdGhlL3Rlc3QiKQojICAgZW5kCmVuZAoKZGVmIHNldHVwX2Nv
1678 # bmZpZyhjZmcsIGFyZ3MpCiMgICBjZmcuYWRkX2luY2x1ZGVfcGF0aCBGaWxl
1679 # LmV4cGFuZF9wYXRoKCJzcmMiKQojICAgY2ZnLmFkZF9kZWZpbmUoIl9fU1RE
1680 # Q19DT05TVEFOVF9NQUNST1MiKQojICAgY2ZnLmFkZF9xdG1vZHVsZSgieG1s
1681 # IikKIyAgIGNmZy5hZGRfcXRtb2R1bGUoIm5ldHdvcmsiKQplbmQKCgoAAAAA
1682 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1683 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1684 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1685 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1686 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1687 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1688 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1689 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9x
1690 # bWFrZS5yYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1691 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw
1692 # MDAwNjQ0ADAwMDE3NTEAMDAwMTc1MQAwMDAwMDAwNzMzMwAxMDcwNTAyMDUy
1693 # NwAwMTI2MzMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1694 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1695 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAA
1696 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1697 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1698 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1699 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1700 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1701 # AAAAAAAACnJlcXVpcmUgJ29wZW4zJwpyZXF1aXJlICdkZXRlY3RvcycKCm1v
1702 # ZHVsZSBRb25mCgpjbGFzcyBRTWFrZQogIGF0dHJfcmVhZGVyIDpwYXRoCiAg
1703 # CiAgZGVmIGluaXRpYWxpemUocGF0aHMgPSBbXSwgbG9nX2ZpbGUgPSBuaWwp
1704 # CiAgICBAcGF0aHMgPSBbICJxbWFrZS1xdDQiLCAicW1ha2U0IiwgInFtYWtl
1705 # IiBdCiAgICBAcGF0aHMuY29uY2F0KHBhdGhzKQogICAgCiAgICBpZiggJERF
1706 # QlVHICkKICAgICAgJHN0ZGVyciA8PCAiUU1ha2UgcGF0aHM6ICIgPDwgQHBh
1707 # dGhzLmpvaW4oIiAiKSA8PCAiXG4iCiAgICBlbmQKICAgIAogICAgaWYgbm90
1708 # IGZpbmRfcW1ha2UoIjQuMC4wIikKICAgICAgICAgICAgcmFpc2UgIkNhbid0
1709 # IGZpbmQgdmFsaWQgcW1ha2UgLSBxdDQiCiAgICBlbmQKICAgIAogICAgQGxv
1710 # Z19maWxlID0gbG9nX2ZpbGUKICAgIGlmKCBAbG9nX2ZpbGUubmlsPyApCiAg
1711 # ICAgIEBsb2dfZmlsZSA9IG9sZGxvY2F0aW9uKCJjb25maWcubG9nIikKICAg
1712 # IGVuZAogICAgCiAgICBAbWFrZSA9ICJtYWtlIgogICAgCiAgICBpZiBEZXRl
1713 # Y3RPUy5vcz8gPT0gMQogICAgICBAbWFrZV9vcHRpb25zID0gIjI+PiAje0Bs
1714 # b2dfZmlsZX0iCiAgICBlbHNlCiAgICAgIEBtYWtlX29wdGlvbnMgPSAiPj4g
1715 # I3tAbG9nX2ZpbGV9IDI+PiAje0Bsb2dfZmlsZX0iCiAgICBlbmQKICBlbmQK
1716 # ICAgICAgICAKICBkZWYgZmluZF9xbWFrZShtaW5xdHZlcnNpb24sIG9wID0g
1717 # MikKICAgIAogICAgCiAgICBtaW52ZXIgPSBtaW5xdHZlcnNpb24uc3BsaXQo
1718 # Ii4iKQogICAgQHBhdGhzLmVhY2ggeyB8cGF0aHwKICAgICAgYmVnaW4KICAg
1719 # ICAgICB2ZXJzaW9uID0gW10KICAgICAgICBvayA9IHRydWUKICAgICAgICAK
1720 # ICAgICAgICBJTy5wb3BlbigiI3twYXRofSAtcXVlcnkgUVRfVkVSU0lPTiAy
1721 # PiAje25ld2xvY2F0aW9uKCJxbWFrZV9sb2ciKX0iKSB7IHxwcmN8CiAgICAg
1722 # ICAgICB2ZXJzaW9uID0gcHJjLnJlYWRsaW5lcy5qb2luKCIiKS5zcGxpdCgi
1723 # LiIpCiAgICAgICAgfQogICAgICAgIAogICAgICAgIG5leHQgaWYgJD8gIT0g
1724 # MAogICAgICAgIAogICAgICAgIHZlcnNpb24uc2l6ZS50aW1lcyB7IHxpfAog
1725 # ICAgICAgICAgaWYgdmVyc2lvbi5zaXplIDwgaSBhbmQgbWludmVyLnNpemUg
1726 # Pj0gMwogICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgZW5kCiAg
1727 # ICAgICAgICAKICAgICAgICAgIGNhc2Ugb3AKICAgICAgICAgICAgd2hlbiAw
1728 # CiAgICAgICAgICAgICAgaWYgdmVyc2lvbltpXSAhPSBtaW52ZXJbaV0KICAg
1729 # ICAgICAgICAgICAgIG9rID0gZmFsc2UKICAgICAgICAgICAgICAgIGJyZWFr
1730 # CiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIHdoZW4gMQogICAgICAg
1731 # ICAgICAgIGlmIHZlcnNpb25baV0gPCBtaW52ZXJbaV0KICAgICAgICAgICAg
1732 # ICAgIG9rID0gZmFsc2UKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg
1733 # ICAgICAgZW5kCiAgICAgICAgICAgIHdoZW4gMgogICAgICAgICAgICAgIGlm
1734 # IHZlcnNpb25baV0gPCBtaW52ZXJbaV0KICAgICAgICAgICAgICAgIG9rID0g
1735 # ZmFsc2UKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgZW5k
1736 # CiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYg
1737 # b2sKICAgICAgICAgIEBwYXRoID0gcGF0aAogICAgICAgICAgCiAgICAgICAg
1738 # ICBpZiAkREVCVUcKICAgICAgICAgICAgcHV0cyAiVXNpbmcgcW1ha2U6ICN7
1739 # QHBhdGh9ICN7dmVyc2lvbi5qb2luKCIuIil9IgogICAgICAgICAgZW5kCiAg
1740 # ICAgICAgICAKICAgICAgICAgIHJldHVybiBvawogICAgICAgIGVuZAogICAg
1741 # ICByZXNjdWUKICAgICAgZW5zdXJlCiAgICAgIGVuZAogICAgfQogIAogICAg
1742 # cmV0dXJuIGZhbHNlCiAgZW5kCiAgICAgICAgCiAgICAgICAgZGVmIHF1ZXJ5
1743 # KHZhcikKICAgICAgICAgICAgICAgIG91dHB1dCA9IGAje0BwYXRofSAtcXVl
1744 # cnkgI3t2YXJ9YAogICAgICAgICAgICAgICAgb3V0cHV0CiAgICAgICAgZW5k
1745 # CiAgICAgICAgCiAgICAgICAgZGVmIHJ1bihhcmdzID0gIiIsIHJlY3VyID0g
1746 # ZmFsc2UpCiAgICAgICAgICAgICAgICBpZiAkREVCVUcKICAgICAgICAgICAg
1747 # ICAgICAgcHV0cyAiQVJHUyA9ICN7YXJnc30iCiAgICAgICAgICAgICAgICBl
1748 # bmQKICAgICAgICAgICAgICAgIG9wdGlvbnMgPSAiIgogICAgICAgICAgICAg
1749 # ICAgaWYgcmVjdXIKICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyAr
1750 # PSAiLXIiCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIAog
1751 # ICAgICAgICAgICAgICAgb3V0cHV0ID0gYCN7QHBhdGh9ICN7YXJnc30gI3tv
1752 # cHRpb25zfSBgCiAgICAgICAgICAgICAgICBpZiBvdXRwdXQuc3RyaXAuZW1w
1753 # dHk/CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlCiAgICAg
1754 # ICAgICAgICAgICBlbmQKCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UK
1755 # ICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBkZWYgY29tcGlsZQogICAg
1756 # ICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgSU8u
1757 # cG9wZW4oIiN7QG1ha2V9IGNsZWFuICN7QG1ha2Vfb3B0aW9uc30iKSB7IHxj
1758 # fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCA9IGMu
1759 # cmVhZGxpbmVzCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
1760 # ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVz
1761 # ID0gMAogICAgICAgICAgICAgICAgICAgICAgICBlbmRjb2RlID0gMgogICAg
1762 # ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
1763 # RmlsZS5vcGVuKEBsb2dfZmlsZSwgImEiICkgZG8gfGZ8CiAgICAgICAgICAg
1764 # ICAgICAgICAgICAgICAgZiA8PCAiPT09PT0+IENPTVBJTElORyBcbiIKICAg
1765 # ICAgICAgICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICAgICAg
1766 # ICAgIAogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBlbmRjb2RlID09
1767 # IDIgYW5kIHRpbWVzIDw9IDMKICAgICAgICAgICAgICAgICAgICAgICAgICAg
1768 # ICAgICBJTy5wb3BlbigiI3tAbWFrZX0gI3tAbWFrZV9vcHRpb25zfSIsICJy
1769 # IikgeyB8Y3wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1770 # ICAgIG91dHB1dCA9IGMucmVhZGxpbmVzCiAgICAgICAgICAgICAgICAgICAg
1771 # ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
1772 # IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
1773 # ICAgICAgICAgICAgICAgICAgICAgIGVuZGNvZGUgPSAkPyA+PiA4CiAgICAg
1774 # ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
1775 # ICAgICAgICAgICAgICAgdGltZXMgKz0gMQogICAgICAgICAgICAgICAgICAg
1776 # ICAgICBlbmQKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
1777 # ICAgICByZXNjdWUKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
1778 # bHNlCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgIAogICAg
1779 # ICAgICAgICAgICAgaWYgZW5kY29kZSAhPSAwCiAgICAgICAgICAgICAgICAg
1780 # ICAgICAgIHJldHVybiBmYWxzZQogICAgICAgICAgICAgICAgZW5kCiAgICAg
1781 # ICAgICAgICAgICAKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlCiAgICAg
1782 # ICAgZW5kCiAgICAgICAgCiAgICAgICAgZGVmIGNsZWFuX3VwCiAgICAgIElP
1783 # LnBvcGVuKCIje0BtYWtlfSBkaXN0Y2xlYW4gMj4+IGRpc3RjbGVhbiIpIHsg
1784 # fGN8CiAgICAgICAgICBvdXRwdXQgPSBjLnJlYWRsaW5lcwogICAgICB9CiAg
1785 # ICAgICAgZW5kCmVuZAoKZW5kICNtb2R1bGUKCgoAAAAAAAAAAAAAAAAAAAAA
1786 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1787 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1788 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1789 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1790 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1791 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1792 # AAAAAAAAAHFvbmZpZ3VyZS9wa2djb25maWcucmJ+AAAAAAAAAAAAAAAAAAAA
1793 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1794 # AAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTEAMDAwMTc1MQAwMDAw
1795 # MDAwNjcxNQAxMDcyMzM0MzEyMgAwMTM3MDQAIDAAAAAAAAAAAAAAAAAAAAAA
1796 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1797 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIg
1798 # IABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1799 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1800 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1801 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1802 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1803 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgpyZXF1aXJlICdkZXRlY3RvcycK
1804 # Cm1vZHVsZSBRb25mCgpjbGFzcyBQa2dDb25maWdQYXJzZXIKICBkZWYgaW5p
1805 # dGlhbGl6ZQogICAgQHZhcmlhYmxlcyA9IHt9CiAgICBAc3BlY3MgPSB7fQog
1806 # IGVuZAogIAogIGRlZiBwYXJzZShwYXRoKQogICAgRmlsZS5vcGVuKHBhdGgp
1807 # IHsgfGZpbGV8CiAgICAgIGZpbGUuZWFjaCB7IHxsaW5lfAogICAgICAgIGlm
1808 # IGxpbmUgPX4gLyhcdyspPSguKikkLwogICAgICAgICAgQHZhcmlhYmxlc1sk
1809 # MV0gPSAkMgogICAgICAgIGVsc2lmIGxpbmUgPX4gLyhcdyspOlxzKC4qKSQv
1810 # CiAgICAgICAgICBAc3BlY3NbJDFdID0gJDIKICAgICAgICBlbmQKICAgICAg
1811 # fQogICAgfQogIGVuZAogIAogIGRlZiB2YWx1ZSh2YXJpYWJsZSkKICAgIHZh
1812 # bCA9IEB2YXJpYWJsZXNbdmFyaWFibGVdCiAgICB3aGlsZSB2YWwgPX4gLyhc
1813 # JFx7KFx3KylcfSkvCiAgICAgIHZhbC5nc3ViISgkMSwgdmFsdWUoJDIpKQog
1814 # ICAgZW5kCiAgICAKICAgIHZhbAogIGVuZAogIAogIGRlZiBzcGVjKHZhcmlh
1815 # YmxlKQogICAgdmFsID0gQHNwZWNzW3ZhcmlhYmxlXQogICAgd2hpbGUgdmFs
1816 # ID1+IC8oXCRceyhcdyspXH0pLwogICAgICB2YWwuZ3N1YiEoJDEsIHZhbHVl
1817 # KCQyKSkKICAgIGVuZAogICAgCiAgICB2YWwKICBlbmQKICAKICBkZWYgbGli
1818 # cwogICAgc3BlYygiTGlicyIpCiAgZW5kCiAgCiAgZGVmIGNmbGFncwogICAg
1819 # c3BlYygiQ2ZsYWdzIikKICBlbmQKICAKICBkZWYgcmVxdWlyZXMKICAgIHNw
1820 # ZWMoIlJlcXVpcmVzIikudG9fcwogIGVuZAplbmQKCmNsYXNzIFBrZ0NvbmZp
1821 # ZwogIGF0dHJfcmVhZGVyIDppZCwgOmxpYnMsIDpjZmxhZ3MsIDpyZXF1aXJl
1822 # cwogIAogIGRlZiBpbml0aWFsaXplKGlkKQogICAgQGlkID0gaWQKICAgIEBz
1823 # ZWFyY2hfcGF0aCA9IFtdCiAgICBAcmVxdWlyZXMgPSBbXQogIGVuZAogIAog
1824 # IGRlZiBmaW5kKHBrZykKICAgIHBrZ3BhdGggPSBmaW5kX3BhdGhfZm9yX3Bh
1825 # Y2thZ2UocGtnKQogICAgCiAgICBpZiBub3QgcGtncGF0aC5uaWw/CiAgICAg
1826 # IEBjZmxhZ3MgPSAiIgogICAgICBAbGlicyA9ICIiCiAgICAgIHBhcnNlKHBr
1827 # Z3BhdGgsIHBrZykKICAgICAgCiAgICAgIHJldHVybiB0cnVlCiAgICBlbmQK
1828 # ICAgIAogICAgZmFsc2UKICBlbmQKICAKICBkZWYgYWRkX3NlYXJjaF9wYXRo
1829 # KHBhdGgpCiAgICBpZiBwYXRoLmtpbmRfb2Y/KEFycmF5KQogICAgICBAc2Vh
1830 # cmNoX3BhdGguY29uY2F0KHBhdGgpCiAgICBlbHNlCiAgICAgIEBzZWFyY2hf
1831 # cGF0aCA8PCBwYXRoLnRvX3MKICAgIGVuZAogIGVuZAogIAogIGRlZiBpbmNs
1832 # dWRlX3BhdGgKICAgIGluY3BhdGggPSBbXQogICAgY2ZsYWdzID0gQGNmbGFn
1833 # cy5kdXAKICAgIHdoaWxlIGNmbGFncyA9fiAvKC1JKChcdzopezAsMX0oW1wv
1834 # XFxdXFMrKSspKS8KICAgICAgaW5jcGF0aCA8PCAkMgogICAgICBjZmxhZ3Mu
1835 # c3ViISgkMSwgIiIpCiAgICBlbmQKICAgIAogICAgaW5jcGF0aC51bmlxCiAg
1836 # ZW5kCiAgCiAgZGVmIGRlZmluZXMKICAgIGRlZmluZXMgPSBbXQogICAgY2Zs
1837 # YWdzID0gQGNmbGFncy5kdXAKICAgIHdoaWxlIGNmbGFncyA9fiAvKC1EXHMq
1838 # KChcV1x3KykrKSkvCiAgICAgIGRlZmluZXMgPDwgJDIKICAgICAgZGVmaW5l
1839 # cy5zdWIhKCQxLCAiIikKICAgIGVuZAogICAgCiAgICBkZWZpbmVzLnVuaXEK
1840 # ICBlbmQKICAKICBkZWYgZmluZF93aW4zMl9wYXRocwogICAgcGF0aHMgPSBm
1841 # aW5kX2Vudl9wYXRocwogICAgCiAgICAKICAgIHBhdGhzCiAgZW5kCiAgCiAg
1842 # ZGVmIGZpbmRfdW5peF9wYXRocwogICAgcGF0aHMgPSBmaW5kX2Vudl9wYXRo
1843 # cwogICAgaWYgRmlsZS5leGlzdHM/KCIvZXRjL2xkLnNvLmNvbmYiKQogICAg
1844 # ICBGaWxlLm9wZW4oIi9ldGMvbGQuc28uY29uZiIpIGRvIHxmaWxlfAogICAg
1845 # ICAgIGZpbGUuZWFjaCB7IHxsaW5lfAogICAgICAgICAgZGlyID0gbGluZS5z
1846 # dHJpcCsiL3BrZ2NvbmZpZyIKICAgICAgICAgIGlmIEZpbGUuZXhpc3RzPyhk
1847 # aXIpCiAgICAgICAgICAgIHBhdGhzIDw8IGRpcgogICAgICAgICAgZW5kCiAg
1848 # ICAgICAgfQogICAgICBlbmQKICAgIGVuZAogICAgCiAgICBwYXRocyA8PCAi
1849 # L3Vzci9saWIvcGtnY29uZmlnIiA8PCAiL3Vzci9sb2NhbC9saWIvcGtnY29u
1850 # ZmlnIiA8PCBFTlZbIkhPTUUiXS50b19zKyIvbG9jYWwvbGliL3BrZ2NvbmZp
1851 # ZyIKICAgIAogICAgcGF0aHMKICBlbmQKICAKICBkZWYgZmluZF9lbnZfcGF0
1852 # aHMKICAgIHNlcHBhdGggPSAoRGV0ZWN0T1Mub3M/ID09IDEpID8gIjsiIDog
1853 # IjoiCiAgICAKICAgIHBhdGhzID0gWyAiLiIgXQogICAgKEVOVlsiUEtHX0NP
1854 # TkZJR19QQVRIIl0udG9fcytzZXBwYXRoK0VOVlsiTERfTElCUkFSWV9QQVRI
1855 # Il0udG9fcykuc3BsaXQoc2VwcGF0aCkuZWFjaCB7IHxwYXRofAogICAgICBp
1856 # ZiBGaWxlLmV4aXN0cz8ocGF0aCkKICAgICAgICBwYXRocyA8PCBwYXRoCiAg
1857 # ICAgIGVuZAogICAgfQogICAgCiAgICBwYXRocwogIGVuZAogIAogIHByaXZh
1858 # dGUKICBkZWYgcGFyc2UocGtncGF0aCwgcGtnKQogICAgcmV0dXJuIGlmIHBr
1859 # Z3BhdGgubmlsPwogICAgCiAgICBwYXJzZXIgPSBQa2dDb25maWdQYXJzZXIu
1860 # bmV3CiAgICBwYXJzZXIucGFyc2UocGtncGF0aCkKICAgIAogICAgcGFyc2Vy
1861 # LnJlcXVpcmVzLnNwbGl0KC8sfFxzLykuZWFjaCB7IHxyZXF8CiAgICAgIHJl
1862 # cS5zdHJpcCEKICAgICAgCiAgICAgIHBhcnNlKGZpbmRfcGF0aF9mb3JfcGFj
1863 # a2FnZShyZXEpLCByZXEpCiAgICB9CiAgICAKICAgIGNmbGFncyA9IHBhcnNl
1864 # ci5jZmxhZ3MKICAgIGxpYnMgPSBwYXJzZXIubGlicwogICAgCiAgICBpZiBp
1865 # ZCAhPSBwa2cgYW5kIG5vdCAoY2ZsYWdzLmVtcHR5PyBvciBsaWJzLmVtcHR5
1866 # PykKICAgICAgQHJlcXVpcmVzIDw8IHBrZwogICAgZW5kCiAgICAKICAgIEBj
1867 # ZmxhZ3MgPSAiI3tjZmxhZ3N9ICN7QGNmbGFnc30iCiAgICBAbGlicyA9ICIj
1868 # e2xpYnN9ICN7QGxpYnN9IgogICAgCiAgICBuaWwKICBlbmQKICAKICBkZWYg
1869 # ZmluZF9wYXRoX2Zvcl9wYWNrYWdlKHBrZykKICAgIGlmIG5vdCBwa2cgPX4g
1870 # L1wucGMkLwogICAgICBwa2cgKz0gIi5wYyIKICAgIGVuZAogICAgCiAgICBw
1871 # YXRocyA9IEBzZWFyY2hfcGF0aAogICAgCiAgICBpZiBEZXRlY3RPUy5vcz8g
1872 # PT0gMSAjIFdpbmRvd3MKICAgICAgcGF0aHMuY29uY2F0IGZpbmRfd2luMzJf
1873 # cGF0aHMKICAgIGVsc2UKICAgICAgcGF0aHMuY29uY2F0IGZpbmRfdW5peF9w
1874 # YXRocwogICAgZW5kCiAgICAKICAgIHBrZ3BhdGggPSBuaWwKICAgIHBhdGhz
1875 # LmVhY2ggeyB8cGF0aHwKICAgICAgdG1wcGF0aCA9IHBhdGgrIi8iK3BrZwog
1876 # ICAgICBpZiBGaWxlLmV4aXN0cz8odG1wcGF0aCkKICAgICAgICBwa2dwYXRo
1877 # ID0gdG1wcGF0aAogICAgICBlbHNpZiAkREVCVUcKICAgICAgICBwdXRzICJG
1878 # YWlsZWQ6ICN7dGVtcHBhdGh9IgogICAgICBlbmQKICAgIH0KICAgIAogICAg
1879 # cGtncGF0aAogIGVuZAplbmQKCmVuZAoKCmlmICQwID09IF9fRklMRV9fCiAg
1880 # cGtnY29uZmlnID0gUW9uZjo6UGtnQ29uZmlnLm5ldwogIHBrZ2NvbmZpZy5m
1881 # aW5kKCJ0ZXN0X3FvbmYiKQogIAogIHB1dHMgcGtnY29uZmlnLmxpYnMKZW5k
1882 # CgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1883 # AAAAAAAAAABxb25maWd1cmUvZnJvbnRlbmQucmIAAAAAAAAAAAAAAAAAAAAA
1884 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1885 # AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUxADAwMDE3NTEAMDAw
1886 # MDAwMDAxMjQAMTA2NzM3NDAzMDMAMDEzMzUwACAwAAAAAAAAAAAAAAAAAAAA
1887 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1888 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy
1889 # ICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1890 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1891 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1892 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1893 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1894 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAptb2R1bGUgUW9uZgoKY2xhc3Mg
1895 # RnJvbnRlbmQKICBkZWYgaW5pdGlhbGl6ZQogIGVuZAogIAogIGRlZiBwYXJz
1896 # ZQogIGVuZAplbmQKCmVuZAoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1897 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1898 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1899 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1900 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1901 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1902 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1903 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1904 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1905 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9u
1906 # ZmlndXJlL2Zyb250ZW5kZmFjdG9yeS5yYgAAAAAAAAAAAAAAAAAAAAAAAAAA
1907 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1908 # AAAAAAAAADAwMDA2NDQAMDAwMTc1MQAwMDAxNzUxADAwMDAwMDAwNjQzADEw
1909 # NjczNzQwMzAzADAxNDc0NgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1910 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1911 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAA
1912 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1913 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1914 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1915 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1916 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1917 # AAAAAAAAAAAAAAAAAAAKcmVxdWlyZSAncGxhaW5fZnJvbnRlbmQnCgptb2R1
1918 # bGUgUW9uZgoKY2xhc3MgRnJvbnRlbmRGYWN0b3J5CiAgZGVmIHNlbGYuY3Jl
1919 # YXRlKG5hbWUgPSAidGsiKQogICAgY2FzZSBuYW1lCiAgICAgIHdoZW4gInBs
1920 # YWluIgogICAgICAgIFBsYWluRnJvbnRlbmQubmV3CiAgICAgIHdoZW4gInRr
1921 # IgogICAgICAgIGhhdmVfdGsgPSBmYWxzZQoKICAgICAgICBiZWdpbgogICAg
1922 # ICAgICAgaGF2ZV90ayA9IHJlcXVpcmUgJ3RrJwogICAgICAgIHJlc2N1ZSBM
1923 # b2FkRXJyb3IKICAgICAgICAgIHJldHVybiBjcmVhdGUoInBsYWluIikKICAg
1924 # ICAgICBlbmQKICAgICAgICAKICAgICAgICByZXF1aXJlICd0a19mcm9udGVu
1925 # ZCcKICAgICAgICBUa0Zyb250ZW5kLm5ldwogICAgICBlbHNlCiAgICAgICAg
1926 # bmlsCiAgICBlbmQKICBlbmQKZW5kCgplbmQKCgAAAAAAAAAAAAAAAAAAAAAA
1927 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1928 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9mcm9u
1929 # dGVuZC5yYn4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1930 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAw
1931 # NjQ0ADAwMDE3NTEAMDAwMTc1MQAwMDAwMDAwMDEyMwAxMDY3MjU3MTIxNgAw
1932 # MTM1NTEAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1933 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1934 # AAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAA
1935 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1936 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1937 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1938 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1939 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1940 # AAAACm1vZHVsZSBRb25mCgpjbGFzcyBCYWNrZW5kCiAgZGVmIGluaXRpYWxp
1941 # emUKICBlbmQKICAKICBkZWYgcGFyc2UKICBlbmQKZW5kCgplbmQKCgoAAAAA
1942 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1943 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1944 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1945 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1946 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1947 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1948 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1949 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1950 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1951 # AAAAAAAAAAAAAAAAAAAAAAAAAABxb25maWd1cmUvc2V0dXBfcmIudHBsfgAA
1952 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1953 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUx
1954 # ADAwMDE3NTEAMDAwMDAwMDU3MTIAMTA2NzMwMjc3NDYAMDEzNzY3ACAwAAAA
1955 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1956 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1957 # AAAAAAAAAHVzdGFyICAAa3Jhd2VrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1958 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1959 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1960 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1961 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1962 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKCiMgc2V0
1963 # dXAgaXMgYSBvYmplY3QgdGhhdCBoZWxwcyB0byBjb25maWd1cmUgdGhlIHBy
1964 # b2plY3QKIyBJdCBjb250YWlucyBzb21lIG1ldGhvZHMgbGlrZToKIyAgIGFk
1965 # ZF9vcHRpb24KIyAgIGZpbmRfcGFja2FnZQojICAgYWRkX3Rlc3QKIyAgIGdl
1966 # bmVyYXRlX3BrZ2NvbmZpZwpkZWYgY29uZmlndXJlKHNldHVwKQojIyMjIAoj
1967 # IyMjIGFkZF9vcHRpb24gYWRkcyBhbiBvcHRpb24gdG8gdGhlIHNjcmlwdCwg
1968 # aXQgaGFzIHRoZSBmb2xsb3dpbmcgb3B0aW9uczoKIyMjIyA6bmFtZSAgICAg
1969 # ICAgIFRoZSBuYW1lIG9mIHRoZSBvcHRpb24uCiMjIyMgOnR5cGUgICAgICAg
1970 # ICBUaGUgdHlwZSBvZiB0aGUgb3B0aW9uICgicGF0aCIsICJzdHJpbmciLCAi
1971 # Ym9vbCIgb3IgInZvaWQiKS4KIyMjIyA6b3B0aW9uYWwgICAgIFNheXMgaWYg
1972 # dGhlIG9wdGlvbiBpcyByZXF1aXJlZCBvciBub3QuCiMjIyMgOmRlc2NyaXB0
1973 # aW9uICBEZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9uCiMjIyMgOmRlZmF1bHQg
1974 # ICAgICBUaGUgZGVmYXVsdCB2YWx1ZQojIyMjIAojICAgc2V0dXAuYWRkX29w
1975 # dGlvbig6bmFtZSA9PiAib3B0aW9uLW5hbWUiLCA6dHlwZSA9PiAicGF0aCIs
1976 # IDpvcHRpb25hbCA9PiBmYWxzZSwgOmRlc2NyaXB0aW9uID0+ICJTZXRzIGFu
1977 # IG9wdGlvbiIpCiAgCiMjIyMgCiMjIyMgZmluZF9wYWNrYWdlIHNlYXJjaCBm
1978 # b3IgYSBwa2djb25maWcgc3BlYyBpbiB5b3VyIGNvbXB1dGVyLCBpdCBzZWFy
1979 # Y2ggaW4gdGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJs
1980 # ZSBvciBMRF9MSUJSQVJZX1BBVEgKIyMjIyAKIyMjIyBGaXJzdCBvcHRpb24g
1981 # aXMgdGhlIHBhY2thZ2UgbmFtZSBhbmQgaWYgaXQgaXMgb3B0aW9uYWwgb3Ig
1982 # bm90CiMjIyMgCiMgICBzZXR1cC5maW5kX3BhY2thZ2UoImRidXMtMSIsIGZh
1983 # bHNlKQoKIyMjIyAKIyMjIyBhZGRfdGVzdCBhZGRzIGFuZCBydW4gYSB0ZXN0
1984 # IGZvciBzb21lIGZlYXR1cmUgb3IgcGFja2FnZSwgdGhlIG9wdGlvbnMgYXJl
1985 # OgojIyMjICAgOmlkICAgICAgICAgICBUaGUgaWQgb2YgdGhlIHRlc3QKIyMj
1986 # IyAgIDpuYW1lICAgICAgICAgVGhlIHRlc3QgbmFtZQojIyMjICAgOmRlZmlu
1987 # ZXMgICAgICBEZWZpbmVzIHRvIHRlc3QKIyMjIyAgIDppbmNsdWRlcGF0aCAg
1988 # QSBsaXN0IHdpdGggdGhlIGluY2x1ZGUgcGF0aAojIyMjICAgOmxpYnMgICAg
1989 # ICAgICBUaGUgbGlicyByZXF1aXJlZCBmb3IgdGhlIHRlc3QKIyMjIyAgIDpv
1990 # cHRpb25hbCAgICAgVHJ1ZSBpZiB0aGUgdGVzdCBpcyBvcHRpb25hbAojIyMj
1991 # ICAgOmN1c3RvbSAgICAgICBBIGNvZGUgdG8gdGVzdAojIyMjIAojIHNldHVw
1992 # LmFkZF90ZXN0KDppZCA9PiAiZmVhdHVyZSIsIDpuYW1lID0+ICJGZWF0dXJl
1993 # IHN1cHBvcnQiLCA6ZGVmaW5lcyA9PiBbIkhBVkVfRkVBVFVSRSJdLCA6b3B0
1994 # aW9uYWwgPT4gdHJ1ZSwgOmhlYWRlcnMgPT4gWyJmZWF0dXJlLmgiXSwgOmxp
1995 # YnMgPT4gIi1sZmVhdHVyZSIgICkKCiMjIyMgCiMjIyMgZ2VuZXJhdGVfcGtn
1996 # Y29uZmlnIEdlbmVyYXRlcyBhIHNpbXBsZSBwa2djb25maWcgZmlsZQojIyMj
1997 # IFRoZSBvcHRpb25zIGFyZToKIyMjIyAgIDpwYWNrYWdlX25hbWUgIFRoZSBw
1998 # YWNrYWdlIG5hbWUgCiMjIyMgICA6bmFtZSAgICAgICAgICBUaGUgYXBwbGlj
1999 # YXRpb24gbmFtZQojIyMjICAgOmRlc2NyaXB0aW9uICAgVGhlIGFwcGxpY2F0
2000 # aW9uIGRlc2NyaXB0aW9uCiMjIyMgICA6dmVyc2lvbiAgICAgICBUaGUgdmVy
2001 # c2lvbiBvZiB0aGUgYXBwbGljYXRpb24KIyMjIyAgIDpsaWJkaXIgICAgICAg
2002 # IFRoZSBkaXJlY3Rvcnkgd2hlcmUgbGlicmFyaWVzIGFyZSwgYnkgZGVmYXVs
2003 # dCBpcyAkKHByZWZpeCkvbGliCiMjIyMgICA6aW5jbHVkZWRpciAgICBUaGUg
2004 # ZGlyZWN0b3J5IHdoZXJlIGhlYWRlcnMgYXJlLCBieSBkZWZhdWx0IGlzICQo
2005 # cHJlZml4KS9pbmNsdWRlCiMjIyMgICA6bGlicyAgICAgICAgICBMaWJyYXJp
2006 # ZXMgdGhhdCBsaW5rcyB0aGUgcGFja2FnZQojIyMjICAgOmNmbGFncyAgICAg
2007 # ICAgQ2ZsYWdzIGZvciB0aGUgcGFja2FnZQojIyMjICAgOnJlcXVpcmVzICAg
2008 # ICAgQSBsaXN0IG9mIHBhY2thZ2UgbmFtZXMgcmVxdWlyZWQgZm9yIHRoaXMg
2009 # cGFja2FnZS4KIyMjIyAKIyBzZXR1cC5nZW5lcmF0ZV9wa2djb25maWcoOnBh
2010 # Y2thZ2VfbmFtZSA9PiAiZGxpYi1lZGl0b3IiLCA6bmFtZSA9PiAiRExpYiBR
2011 # dCBsaWJyYXJ5IiwgOmRlc2NyaXB0aW9uID0+ICJBIGV4dGVuc2lvbiBmb3Ig
2012 # UXQ0IiwgOnZlcnNpb24gPT4gIjAuMWJldGEiLCA6bGliZGlyID0+IG5pbCwg
2013 # OmluY2x1ZGVkaXIgPT4gbmlsLCA6bGlicyA9PiAiLUwke2xpYmRpcn0gLWxk
2014 # Y29yZSAtbGRndWkgLWxkZWRpdG9yIiwgOmNmbGFncyA9PiAiLUkke2luY2x1
2015 # ZGVkaXJ9IiwgOnJlcXVpcmVzID0+IFsic29tZXBhY2thZ2UiLCAib3RoZXJw
2016 # YWNrYWdlIiBdICkKZW5kCgojIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBiZWZv
2017 # cmUgdG8gc2VhcmNoIGEgcGFja2FnZQpkZWYgc2V0dXBfcGtnY29uZmlnKHBr
2018 # Z2NvbmZpZywgYXJncykKIyAgIGNhc2UgcGtnY29uZmlnLmlkCiMgICAgIHdo
2019 # ZW4gImRidXMtMSIKIyAgICAgICBwa2djb25maWcuYWRkX3NlYXJjaF9wYXRo
2020 # KCIvYS9wYXRoL3RvL3RoZS9wYyIpCiMgICBlbmQKZW5kCgpkZWYgc2V0dXBf
2021 # dGVzdChpZCwgdHN0LCBhcmdzKQojICAgY2FzZSBpZAojICAgICB3aGVuICJm
2022 # ZWF0dXJlIgojICAgICAgIHRzdC5hZGRfZGVmaW5lKCJNWURFRklORSIpCiMg
2023 # ICAgICAgdHN0LmFkZF9saWIoIi1sbXlsaWIiKQojICAgICAgIHRzdC5hZGRf
2024 # aW5jbHVkZV9wYXRoKCIvc29tZS9pbmNsdWRlL3BhdGgvcmVxdWlyZWQvdG8v
2025 # Y29tcGlsZS90aGUvdGVzdCIpCiMgICBlbmQKZW5kCgpkZWYgc2V0dXBfY29u
2026 # ZmlnKGNmZywgYXJncykKIyAgIGNmZy5hZGRfaW5jbHVkZV9wYXRoIEZpbGUu
2027 # ZXhwYW5kX3BhdGgoInNyYyIpCiMgICBjZmcuYWRkX2RlZmluZSgiX19TVERD
2028 # X0NPTlNUQU5UX01BQ1JPUyIpCiMgICBjZmcuYWRkX3F0bW9kdWxlKCJ4bWwi
2029 # KQojICAgY2ZnLmFkZF9xdG1vZHVsZSgibmV0d29yayIpCmVuZAoKCgAAAAAA
2030 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2031 # AAAAAHFvbmZpZ3VyZS9tYWtlZmlsZS5yYgAAAAAAAAAAAAAAAAAAAAAAAAAA
2032 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2033 # AAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3NTEAMDAwMTc1MQAwMDAwMDAw
2034 # MzI3NQAxMDcxMzc0NTAyNQAwMTMzMjEAIDAAAAAAAAAAAAAAAAAAAAAAAAAA
2035 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2036 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABr
2037 # cmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2038 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2039 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2040 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2041 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2042 # AAAAAAAAAAAAAAAAAAAAAAAAAAAADQpyZXF1aXJlICdyYmNvbmZpZycNCg0K
2043 # bW9kdWxlIFFvbmYNCiAgY2xhc3MgTWFrZWZpbGUNCiAgICBkZWYgc2VsZi5m
2044 # aW5kX21ha2VmaWxlcyhwYXRoKQ0KICAgICAgbWFrZWZpbGVzID0gW10NCiAg
2045 # ICAgIERpci5mb3JlYWNoKHBhdGgpIHsgfGZ8DQogICAgICAgIGZpbGUgPSAi
2046 # I3twYXRofS8je2Z9Ig0KICAgICAgICBpZiBGaWxlLnN0YXQoZmlsZSkuZGly
2047 # ZWN0b3J5Pw0KICAgICAgICAgIGlmIG5vdCBmID1+IC9eXC4vDQogICAgICAg
2048 # ICAgICBtYWtlZmlsZXMuY29uY2F0IGZpbmRfbWFrZWZpbGVzKGZpbGUpDQog
2049 # ICAgICAgICAgZW5kDQogICAgICAgIGVsc2lmIGYuZG93bmNhc2UgPX4gL15t
2050 # YWtlZmlsZSguZGVidWd8LnJlbGVhc2UpezAsMX0vDQogICAgICAgICAgbWFr
2051 # ZWZpbGVzIDw8IGZpbGUNCiAgICAgICAgZW5kDQogICAgICB9DQogICAgICBt
2052 # YWtlZmlsZXMNCiAgICBlbmQNCiAgICANCiAgICBkZWYgc2VsZi5vdmVycmlk
2053 # ZShtYWtlZmlsZSwgZGVzdGRpciwgc3RhdHVzRmlsZSkNCiAgICAgIG5ld21h
2054 # a2VmaWxlID0gIiINCiAgICAgIA0KICAgICAgcnVieV9iaW4gPSAiI3s6OkNv
2055 # bmZpZzo6Q09ORklHWyJiaW5kaXIiXX0vI3s6OkNvbmZpZzo6Q09ORklHWyJy
2056 # dWJ5X2luc3RhbGxfbmFtZSJdfSINCiAgICAgIA0KICAgICAgRmlsZS5vcGVu
2057 # KG1ha2VmaWxlLCAiciIpIHsgfGZ8DQogICAgICAgIGxpbmVzID0gZi5yZWFk
2058 # bGluZXMNCiAgICAgICAgDQogICAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFU
2059 # T1INCiAgICAgICAgICBkZXN0ZGlyLmdzdWIhKCIvIiwgRmlsZTo6QUxUX1NF
2060 # UEFSQVRPUikNCiAgICAgICAgZW5kDQogICAgICAgIA0KICAgICAgICBpbmRl
2061 # eCA9IDANCiAgICAgICAgcmVwbGFjZWQgPSBmYWxzZQ0KICAgICAgICB3aGls
2062 # ZSBpbmRleCA8IGxpbmVzLnNpemUNCiAgICAgICAgICBsaW5lID0gbGluZXNb
2063 # aW5kZXhdDQogICAgICAgICAgaWYgbGluZSA9fiAvXlxzK1tAXXswLDF9XCRc
2064 # KFFNQUtFXCkvDQogICAgICAgICAgICBuZXdtYWtlZmlsZSArPSBsaW5lDQog
2065 # ICAgICAgICAgICBuZXdtYWtlZmlsZSArPSAiXHQje3J1YnlfYmlufSAje3N0
2066 # YXR1c0ZpbGV9ICN7bWFrZWZpbGV9XG4iDQogICAgICAgICAgICBpbmRleCAr
2067 # PSAxDQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgaWYgbm90IHJlcGxh
2068 # Y2VkDQogICAgICAgICAgICAgIGlmIGxpbmUgPX4gL15JTlNUQUxMX0RJUi8N
2069 # CiAgICAgICAgICAgICAgICBuZXdtYWtlZmlsZSArPSAiSU5TVEFMTF9ST09U
2070 # ID0gI3tkZXN0ZGlyfVxuIg0KICAgICAgICAgICAgICAgIHJlcGxhY2VkID0g
2071 # dHJ1ZQ0KICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgIGVsc2UNCiAg
2072 # ICAgICAgICAgICAgaWYgbGluZSA9fiAvXCRcKElOU1RBTExfUk9PVFwpLw0K
2073 # ICAgICAgICAgICAgICAgIGlmIEZpbGU6OkFMVF9TRVBBUkFUT1INCiAgICAg
2074 # ICAgICAgICAgICAgIGxpbmUuZ3N1YiEoIi8iLCBGaWxlOjpBTFRfU0VQQVJB
2075 # VE9SKQ0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICBlbmQN
2076 # CiAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgbmV3bWFrZWZpbGUgKz0g
2077 # bGluZQ0KICAgICAgICAgIGVuZA0KICAgICAgICAgIGluZGV4ICs9IDENCiAg
2078 # ICAgICAgZW5kDQogICAgICB9DQogICAgICANCiAgICAgIEZpbGUub3Blbiht
2079 # YWtlZmlsZSwgInciKSB7IHxmfA0KICAgICAgICBmIDw8IG5ld21ha2VmaWxl
2080 # DQogICAgICB9DQogICAgZW5kDQogIGVuZA0KZW5kDQoNCg0KAAAAAAAAAAAA
2081 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2082 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2083 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2084 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2085 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2086 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2087 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx
2088 # b25maWd1cmUvaW5pdC5yYn4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2089 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2090 # AAAAAAAAAAAAMDAwMDY0NAAwMDAxNzUxADAwMDE3NTEAMDAwMDAwMDAzMzAA
2091 # MTA2NzM1MDIwNDMAMDEyNjY2ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2092 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2093 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAa3Jhd2Vr
2094 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2095 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2096 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2097 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2098 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2099 # AAAAAAAAAAAAAAAAAAAAAApyZXF1aXJlICdxb25mJwoKRGlyLmNoZGlyKEZp
2100 # bGUuZGlybmFtZShvbGRsb2NhdGlvbigicW9uZi5yYiIpKSkKCnFvbmYgPSBR
2101 # b25mOjpDb25maWd1cmUubmV3CnFvbmYuZ2V0X2FyZ3MoQVJHVikKcW9uZi5m
2102 # aW5kX3BhY2thZ2VzCnFvbmYucnVuX3Rlc3RzCgpxb25mLnNhdmUoRmlsZS5l
2103 # eHBhbmRfcGF0aCgiY29uZmlnLnByaSIpKQoKcW9uZi5nZW5lcmF0ZV9tYWtl
2104 # ZmlsZXMKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2105 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2106 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2107 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2108 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2109 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2110 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcW9uZmlndXJlL2lu
2111 # aXQucmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2112 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw
2113 # MDA2NDQAMDAwMTc1MQAwMDAxNzUxADAwMDAwMDAwMzA2ADEwNjczNzQwMzAz
2114 # ADAxMjQ3NgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2115 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2116 # AAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGtyYXdlawAAAAAAAAAAAAAA
2117 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2118 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2119 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2120 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2121 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2122 # AAAAAAAKcmVxdWlyZSAncW9uZicKCkRpci5jaGRpcihGaWxlLmRpcm5hbWUo
2123 # b2xkbG9jYXRpb24oInFvbmYucmIiKSkpCgpxb25mID0gUW9uZjo6Q29uZmln
2124 # dXJlLm5ldwpxb25mLmdldF9hcmdzKEFSR1YpCnFvbmYuZmluZF9wYWNrYWdl
2125 # cwpxb25mLnJ1bl90ZXN0cwoKcW9uZi5zYXZlKCJjb25maWcucHJpIikKCnFv
2126 # bmYuZ2VuZXJhdGVfbWFrZWZpbGVzCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2127 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2128 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2129 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2130 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2131 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2132 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2133 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFvbmZpZ3VyZS9xb25mLnJifgAAAAAA
2134 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2135 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDE3
2136 # NTEAMDAwMTc1MQAwMDAwMDAyNjQ2NAAxMDcwMjMxMzIyMwAwMTI2NzcAIDAA
2137 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2138 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2139 # AAAAAAAAAAAAdXN0YXIgIABrcmF3ZWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2140 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2141 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2142 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2143 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2144 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnJlcXVp
2145 # cmUgJ3Rlc3QnCnJlcXVpcmUgJ3BrZ2NvbmZpZycKcmVxdWlyZSAnZnJvbnRl
2146 # bmRmYWN0b3J5JwpyZXF1aXJlICdjb25maWcnCnJlcXVpcmUgJ3FtYWtlJwpy
2147 # ZXF1aXJlICdtYWtlZmlsZScKCm1vZHVsZSBRb25mCiAgY2xhc3MgUXRWZXJz
2148 # aW9uCiAgICBhdHRyX3JlYWRlciA6dmVyc2lvbiwgOm9wICMgMDogZXF1YWwg
2149 # MTogZ3JlYXRlciAyOiBncmVhdGVyIGVxdWFsCiAgICAKICAgIGRlZiBpbml0
2150 # aWFsaXplKHZlcnNpb24pCiAgICAgIEBvcCA9IDIKICAgICAgcGFyc2UodmVy
2151 # c2lvbikKICAgIGVuZAogICAgCiAgICBkZWYgPT0odmVyKQogICAgICBAb3Ag
2152 # PSAwCiAgICAgIHBhcnNlKHZlcikKICAgIGVuZAogICAgCiAgICBkZWYgPih2
2153 # ZXIpCiAgICAgIEBvcCA9IDEKICAgICAgcGFyc2UodmVyKQogICAgZW5kCiAg
2154 # ICAKICAgIGRlZiA+PSh2ZXIpCiAgICAgIEBvcCA9IDIKICAgICAgcGFyc2Uo
2155 # dmVyKQogICAgZW5kCiAgICAKICAgIGRlZiB0b19zCiAgICAgIHMgPSAiUXQg
2156 # IgogICAgICBjYXNlIEBvcAogICAgICAgIHdoZW4gMAogICAgICAgICAgcys9
2157 # Ij09IgogICAgICAgIHdoZW4gMQogICAgICAgICAgcys9Ij4iCiAgICAgICAg
2158 # ZWxzZQogICAgICAgICAgcys9Ij49IgogICAgICBlbmQKICAgICAgcys9ICIg
2159 # IitAdmVyc2lvbgogICAgICAKICAgICAgcwogICAgZW5kCiAgICAKICAgIHBy
2160 # aXZhdGUKICAgIGRlZiBwYXJzZSh2ZXJzaW9uKQogICAgICBAdmVyc2lvbiA9
2161 # IHZlcnNpb24udG9fcwogICAgICB2ZXIgPSBAdmVyc2lvbi50b19zLnNwbGl0
2162 # KCcuJykKICAgICAgc2l6ZSA9IHZlci5zaXplCiAgICAgICAgCiAgICAgIGZp
2163 # bmFsdmVyID0gW10KICAgICAgMy50aW1lcyB7IHxpfAogICAgICAgIHRwID0g
2164 # dmVyW2ldCiAgICAgICAgCiAgICAgICAgaWYgdHAubmlsPwogICAgICAgICAg
2165 # dHAgPSAiMCIKICAgICAgICBlbmQKICAgICAgICAKICAgICAgICBmaW5hbHZl
2166 # ciA8PCB0cAogICAgICB9CiAgICAgIAogICAgICBAdmVyc2lvbiA9IGZpbmFs
2167 # dmVyLmpvaW4oIi4iKQogICAgZW5kCiAgZW5kCiAgCiAgY2xhc3MgU2V0dXAK
2168 # ICAgIGF0dHJfcmVhZGVyIDpvcHRpb25zLCA6cGFja2FnZXMsIDp0ZXN0cywg
2169 # OnBrZ19jb25maWdzCiAgICBkZWYgaW5pdGlhbGl6ZQogICAgICBAb3B0aW9u
2170 # cyA9IFtdCiAgICAgIEBwYWNrYWdlcyA9IFtdCiAgICAgIEB0ZXN0cyA9IFtd
2171 # CiAgICAgIEBwa2dfY29uZmlncyA9IFtdCiAgICAgIEBxdF92ZXJzaW9uID0g
2172 # UXRWZXJzaW9uLm5ldygiNC4wLjAiKQogICAgICAKICAgICAgYWRkX29wdGlv
2173 # big6bmFtZSA9PiAicHJlZml4IiwgOnR5cGUgPT4gInBhdGgiLCA6ZGVmYXVs
2174 # dCA9PiAiL3Vzci9sb2NhbC8iLCA6b3B0aW9uYWwgPT4gdHJ1ZSwgOmRlc2Ny
2175 # aXB0aW9uID0+ICJTZXRzIHRoZSBpbnN0YWxsIHByZWZpeCIpCiAgICBlbmQK
2176 # ICAgIAogICAgZGVmIGFkZF9vcHRpb24ob3B0aW9uKQogICAgICBpZiBub3Qg
2177 # b3B0aW9uWzp0eXBlXS5uaWw/CiAgICAgICAgb3B0aW9uWzp0eXBlXS5kb3du
2178 # Y2FzZSEKICAgICAgZW5kCiAgICAgIAogICAgICBAb3B0aW9ucyA8PCBvcHRp
2179 # b24KICAgIGVuZAogICAgCiAgICBkZWYgZmluZF9wYWNrYWdlKG9wdGlvbnMp
2180 # CiAgICAgIEBwYWNrYWdlcyA8PCBvcHRpb25zCiAgICBlbmQKICAgIAogICAg
2181 # ZGVmIGFkZF90ZXN0KG9wdGlvbikKICAgICAgcmFpc2UgIlBsZWFzZSBzZXQg
2182 # YSB2YWxpZCBuYW1lIHRvIHRoZSB0ZXN0IiBpZiBvcHRpb25bOm5hbWVdLnRv
2183 # X3MuZW1wdHk/CiAgICAgIHJhaXNlICJQbGVhc2Ugc2V0IGEgdmFsaWQgaWQg
2184 # dG8gdGhlIHRlc3QiIGlmIG9wdGlvbls6aWRdLnRvX3MuZW1wdHk/CiAgICAg
2185 # IAogICAgICBAdGVzdHMgPDwgb3B0aW9uCiAgICBlbmQKICAgIAogICAgZGVm
2186 # IGdlbmVyYXRlX3BrZ2NvbmZpZyhvcHRpb25zKQogICAgICByYWlzZSAiUGxl
2187 # YXNlIHNldCBhIHZhbGlkIG5hbWUiIGlmIG9wdGlvbnNbOnBhY2thZ2VfbmFt
2188 # ZV0udG9fcy5lbXB0eT8KICAgICAgQHBrZ19jb25maWdzIDw8IG9wdGlvbnMK
2189 # ICAgIGVuZAogICAgCiAgICBkZWYgcXQKICAgICAgQHF0X3ZlcnNpb24KICAg
2190 # IGVuZAogICAgCiAgZW5kCiAgCiAgY2xhc3MgQ29uZmlndXJlCiAgICBkZWYg
2191 # aW5pdGlhbGl6ZQogICAgICBAYXJndW1lbnRzID0ge30KICAgICAgQGNvbmZp
2192 # ZyA9IENvbmZpZy5uZXcKICAgICAgCiAgICAgIEBsb2dfZmlsZSA9IG9sZGxv
2193 # Y2F0aW9uKCJjb25maWcubG9nIikKICAgICAgCiAgICAgIEZpbGUub3BlbihA
2194 # bG9nX2ZpbGUsICJ3IikgZG8gfGZ8CiAgICAgICAgZiA8PCAiPT09PT09PT4g
2195 # R2VuZXJhdGVkIGF0ICN7VGltZS5ub3d9IDw9PT09PT09XG4iCiAgICAgIGVu
2196 # ZAogICAgICAKICAgICAgQHFtYWtlID0gUU1ha2UubmV3KEBsb2dfZmlsZSkK
2197 # ICAgICAgCiAgICAgIGNmZyA9IFNldHVwLm5ldwogICAgICBjb25maWd1cmUo
2198 # Y2ZnKQogICAgICAKICAgICAgcHJpbnQgIj0+IFNlYXJjaGluZyBmb3IgI3tj
2199 # ZmcucXR9Li4uICIKICAgICAgaWYgQHFtYWtlLmZpbmRfcW1ha2UoY2ZnLnF0
2200 # LnZlcnNpb24sIGNmZy5xdC5vcCkKICAgICAgICBwdXRzICJbWUVTXSIKICAg
2201 # ICAgZWxzZQogICAgICAgIHB1dHMgIltOT10iCiAgICAgICAgZXhpdCAtMQog
2202 # ICAgICBlbmQKICAgICAgCiAgICAgIEBvcHRpb25zID0gY2ZnLm9wdGlvbnMK
2203 # ICAgICAgQHBhY2thZ2VzID0gY2ZnLnBhY2thZ2VzCiAgICAgIEB0ZXN0cyA9
2204 # IGNmZy50ZXN0cwogICAgICBAcGtnX2NvbmZpZ3MgPSBjZmcucGtnX2NvbmZp
2205 # Z3MKICAgICAgQHN0YXR1c0ZpbGUgPSBEaXIuZ2V0d2QrIi91cGRhdGUtbWFr
2206 # ZWZpbGUiCiAgICBlbmQKICAgIAogICAgZGVmIGZpbmRfcGFja2FnZXMgIyBU
2207 # T0RPOiBzb3BvcnRhciBpbmZvcm1hY2lvbiBwYXJhIGVsIHNpc3RlbWEgb3Bl
2208 # cmF0aXZvIHNvYnJlIGNvbW8gaW5zdGFsYXIgZWwgcGFxdWV0ZQogICAgICBA
2209 # cGFja2FnZXMuZWFjaCB7IHxwYWNrYWdlfAogICAgICAgIHByaW50ICI9PiBT
2210 # ZWFyY2hpbmcgZm9yIHBhY2thZ2U6ICN7cGFja2FnZVs6bmFtZV19Li4uICAi
2211 # CiAgICAgICAgcGtnY29uZmlnID0gUGtnQ29uZmlnLm5ldyhwYWNrYWdlWzpu
2212 # YW1lXSkKICAgICAgICBiZWdpbgogICAgICAgICAgc2V0dXBfcGtnY29uZmln
2213 # KHBrZ2NvbmZpZywgQGFyZ3VtZW50cykKICAgICAgICByZXNjdWUgTm9NZXRo
2214 # b2RFcnJvciA9PiBlCiAgICAgICAgICBpZiBub3QgZS5tZXNzYWdlID1+IC9z
2215 # ZXR1cF9wa2djb25maWcvCiAgICAgICAgICAgIHB1dHMgIkVycm9yOiAje2Uu
2216 # bWVzc2FnZX0iCiAgICAgICAgICAgIHB1dHMgZS5iYWNrdHJhY2UKICAgICAg
2217 # ICAgICAgZXhpdCAtMQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAg
2218 # ICAgCiAgICAgICAgaWYgbm90IHBrZ2NvbmZpZy5maW5kKHBhY2thZ2VbOm5h
2219 # bWVdKQogICAgICAgICAgcHV0cyAiW05PXSIKICAgICAgICAgIAogICAgICAg
2220 # ICAgb3B0aW9uYWwgPSBwYWNrYWdlWzpvcHRpb25hbF0ubmlsPyA/IGZhbHNl
2221 # IDogcGFja2FnZVs6b3B0aW9uYWxdCiAgICAgICAgICAKICAgICAgICAgIGlm
2222 # IG5vdCBvcHRpb25hbAogICAgICAgICAgICBwdXRzICI9PiBUaGUgcGFja2Fn
2223 # ZSAnI3twYWNrYWdlWzpuYW1lXX0nIGlzIHJlcXVpcmVkLiIKICAgICAgICAg
2224 # ICAgZXhpdCAtMQogICAgICAgICAgZW5kCiAgICAgICAgZWxzZQogICAgICAg
2225 # ICAgcHV0cyAiW1lFU10iCiAgICAgICAgICBnbG9iYWwgPSBwYWNrYWdlWzpn
2226 # bG9iYWxdLm5pbD8gPyBmYWxzZSA6IHBhY2thZ2VbOmdsb2JhbF0KICAgICAg
2227 # ICAgIAogICAgICAgICAgcW9uZnBrZyA9IEBjb25maWcKICAgICAgICAgIAog
2228 # ICAgICAgICAgaWYgbm90IGdsb2JhbAogICAgICAgICAgICBxb25mcGtnID0g
2229 # UGFja2FnZS5uZXcocGFja2FnZVs6bmFtZV0pCiAgICAgICAgICBlbmQKICAg
2230 # ICAgICAgIAogICAgICAgICAgCiMgICAgICAgICAgIHBrZ2NvbmZpZy5yZXF1
2231 # aXJlcy5lYWNoIHsgfHJlcXwKIyAgICAgICAgICAgICBAY29uZmlnLmFkZF9x
2232 # b25mX3BhY2thZ2UocmVxKQojICAgICAgICAgICB9CiAgICAgICAgICAKICAg
2233 # ICAgICAgIHFvbmZwa2cuYWRkX2xpYihwa2djb25maWcubGlicykKICAgICAg
2234 # ICAgIAogICAgICAgICAgcGtnY29uZmlnLmluY2x1ZGVfcGF0aC5lYWNoIHsg
2235 # fGluY3BhdGh8CiAgICAgICAgICAgIHFvbmZwa2cuYWRkX2luY2x1ZGVfcGF0
2236 # aChpbmNwYXRoKQogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICBw
2237 # a2djb25maWcuZGVmaW5lcy5lYWNoIHsgfGRlZmluZXwKICAgICAgICAgICAg
2238 # cW9uZnBrZy5hZGRfZGVmaW5lKGRlZmluZSkKICAgICAgICAgIH0KICAgICAg
2239 # ICAgIAogICAgICAgICAgaWYgbm90IGdsb2JhbAogICAgICAgICAgICBAY29u
2240 # ZmlnLmFkZF9xb25mX3BhY2thZ2UocW9uZnBrZykKICAgICAgICAgIGVsc2UK
2241 # ICAgICAgICAgICAgQGNvbmZpZy5hZGRfcW9uZl9mZWF0dXJlKHBhY2thZ2Vb
2242 # Om5hbWVdKQogICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgIH0KICAg
2243 # IGVuZAogICAgCiAgICBkZWYgcnVuX3Rlc3RzCiAgICAgIEB0ZXN0cy5lYWNo
2244 # IHsgfHRlc3RvcHR8CiAgICAgICAgcHJpbnQgIj0+IFRlc3RpbmcgI3t0ZXN0
2245 # b3B0WzpuYW1lXX0uLi4gICIKICAgICAgICAKICAgICAgICB0c3QgPSBUZXN0
2246 # Lm5ldyh0ZXN0b3B0LCBAY29uZmlnLCBAbG9nX2ZpbGUpCiAgICAgICAgCiAg
2247 # ICAgICAgYmVnaW4KICAgICAgICAgIHNldHVwX3Rlc3QodGVzdG9wdFs6aWRd
2248 # LCB0c3QsIEBhcmd1bWVudHMpCiAgICAgICAgcmVzY3VlIE5vTWV0aG9kRXJy
2249 # b3IgPT4gZQogICAgICAgICAgaWYgbm90IGUubWVzc2FnZSA9fiAvc2V0dXBf
2250 # dGVzdC8KICAgICAgICAgICAgcHV0cyAiRXJyb3I6ICN7ZX0iCiAgICAgICAg
2251 # ICAgIHB1dHMgZS5iYWNrdHJhY2UKICAgICAgICAgICAgZXhpdCAtMQogICAg
2252 # ICAgICAgZW5kCiAgICAgICAgZW5kCiAgICAgICAgCiAgICAgICAgb3B0aW9u
2253 # YWwgPSB0ZXN0b3B0WzpvcHRpb25hbF0ubmlsPyA/IGZhbHNlIDogdGVzdG9w
2254 # dFs6b3B0aW9uYWxdCiAgICAgICAgaWYgdHN0LnJ1bihAcW1ha2UpCiAgICAg
2255 # ICAgICBnbG9iYWwgPSB0ZXN0b3B0WzpnbG9iYWxdLm5pbD8gPyBmYWxzZSA6
2256 # IHRlc3RvcHRbOmdsb2JhbF0KICAgICAgICAgIAogICAgICAgICAgcW9uZnBr
2257 # ZyA9IEBjb25maWcKICAgICAgICAgIAogICAgICAgICAgaWYgbm90IGdsb2Jh
2258 # bAogICAgICAgICAgICBxb25mcGtnID0gUGFja2FnZS5uZXcodHN0LmlkKQog
2259 # ICAgICAgICAgZW5kCiAgICAgICAgICAKICAgICAgICAgIHRzdC5pbmNsdWRl
2260 # X3BhdGguZWFjaCB7IHxpbmNwYXRofAogICAgICAgICAgICBxb25mcGtnLmFk
2261 # ZF9pbmNsdWRlX3BhdGgoaW5jcGF0aCkKICAgICAgICAgIH0KICAgICAgICAg
2262 # IAogICAgICAgICAgdHN0LmRlZmluZXMuZWFjaCB7IHxkZWZpbmV8CiAgICAg
2263 # ICAgICAgIHFvbmZwa2cuYWRkX2RlZmluZShkZWZpbmUpCiAgICAgICAgICB9
2264 # CiAgICAgICAgICAKICAgICAgICAgIHFvbmZwa2cuYWRkX2xpYih0c3QubGli
2265 # cy50b19zKQogICAgICAgICAgCiAgICAgICAgICBpZiBub3QgZ2xvYmFsCiAg
2266 # ICAgICAgICAgIEBjb25maWcuYWRkX3FvbmZfcGFja2FnZShxb25mcGtnKQog
2267 # ICAgICAgICAgZWxzZQogICAgICAgICAgICBAY29uZmlnLmFkZF9xb25mX2Zl
2268 # YXR1cmUodHN0LmlkKQogICAgICAgICAgZW5kCiAgICAgICAgICBwdXRzICJb
2269 # T0tdIgogICAgICAgIGVsc2UKICAgICAgICAgIHB1dHMgIltGQUlMRURdIgog
2270 # ICAgICAgICAgCiAgICAgICAgICBpZiBub3Qgb3B0aW9uYWwKICAgICAgICAg
2271 # ICAgcHV0cyAiPT4gI3t0ZXN0b3B0WzpuYW1lXX0gaXMgcmVxdWlyZWQiCiAg
2272 # ICAgICAgICAgIGV4aXQgLTEKICAgICAgICAgIGVuZAogICAgICAgIGVuZAog
2273 # ICAgICB9CiAgICBlbmQKICAgIAogICAgZGVmIGdlbmVyYXRlX21ha2VmaWxl
2274 # cwogICAgICBwdXRzICI9PiBDcmVhdGluZyBtYWtlZmlsZXMuLi4iCiAgICAg
2275 # IEBxbWFrZS5ydW4oIiIsIHRydWUpCiAgICAgIAogICAgICBwdXRzICI9PiBV
2276 # cGRhdGluZyBtYWtlZmlsZXMuLi4iCiAgICAgIAogICAgICBAbWFrZWZpbGVz
2277 # ID0gTWFrZWZpbGU6OmZpbmRfbWFrZWZpbGVzKERpci5nZXR3ZCkKICAgICAg
2278 # QG1ha2VmaWxlcy5lYWNoIHsgfG1ha2VmaWxlfAogICAgICAgICAgTWFrZWZp
2279 # bGU6Om92ZXJyaWRlKG1ha2VmaWxlLCBGaWxlLmV4cGFuZF9wYXRoKEBhcmd1
2280 # bWVudHNbInByZWZpeCJdLnRvX3MpLCBAc3RhdHVzRmlsZSkKICAgICAgfQog
2281 # ICAgICAKICAgICAgRmlsZS5vcGVuKEBzdGF0dXNGaWxlLCAidyIgKSB7IHxm
2282 # aWxlfAogICAgICAgIGZpbGUgPDwgJUAKI3tGaWxlLnJlYWQobmV3bG9jYXRp
2283 # b24oIm1ha2VmaWxlLnJiIikpfQpRb25mOjpNYWtlZmlsZTo6b3ZlcnJpZGUo
2284 # IEFSR1ZbMF0udG9fcywgIiN7QGFyZ3VtZW50c1sicHJlZml4Il19IiwgIiN7
2285 # QHN0YXR1c0ZpbGV9IiApCkAKICAgICAgfQogICAgZW5kCiAgICAKICAgIGRl
2286 # ZiBnZXRfYXJncyhhcmd2KQogICAgICBvcHRjID0gMAogICAgICBsYXN0X29w
2287 # dCA9ICIiCiAgICAgIAogICAgICBAb3B0aW9ucy5lYWNoIHsgfG9wdGlvbnwK
2288 # ICAgICAgICBnaXZlbl9vcHRpb24gPSBuaWwKICAgICAgICAKICAgICAgICBh
2289 # cmd2LmVhY2ggeyB8YXJnfAogICAgICAgICAgYXJnLnN0cmlwIQogICAgICAg
2290 # ICAgZ2l2ZW4gPSBmYWxzZQogICAgICAgICAgCiAgICAgICAgICBjYXNlIG9w
2291 # dGlvbls6dHlwZV0udG9fcwogICAgICAgICAgICB3aGVuICJzdHJpbmciCiAg
2292 # ICAgICAgICAgICAgaWYgYXJnID1+IC8tLSN7b3B0aW9uWzpuYW1lXX09KFtc
2293 # V1x3XSopLwogICAgICAgICAgICAgICAgZ2l2ZW4gPSB0cnVlCiAgICAgICAg
2294 # ICAgICAgICBnaXZlbl9vcHRpb24gPSAkMQogICAgICAgICAgICAgIGVuZAog
2295 # ICAgICAgICAgICB3aGVuICJwYXRoIgogICAgICAgICAgICAgIGlmIGFyZyA9
2296 # fiAvLS0je29wdGlvbls6bmFtZV19PShbXFdcd10qKS8KICAgICAgICAgICAg
2297 # ICAgIGdpdmVuID0gdHJ1ZQogICAgICAgICAgICAgICAgZ2l2ZW5fb3B0aW9u
2298 # ID0gRmlsZS5leHBhbmRfcGF0aCgkMSkKICAgICAgICAgICAgICBlbmQKICAg
2299 # ICAgICAgICAgd2hlbiAiYm9vbCIKICAgICAgICAgICAgICBpZiBhcmcgPX4g
2300 # Ly0tdXNlLSN7b3B0aW9uWzpuYW1lXX09KFx3KykvCiAgICAgICAgICAgICAg
2301 # ICBnaXZlbiA9IHRydWUKICAgICAgICAgICAgICAgIGdpdmVuX29wdGlvbiA9
2302 # ICQxCiAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVsc2UKICAgICAg
2303 # ICAgICAgICBpZiBhcmcgPX4gLy0tI3tvcHRpb25bOm5hbWVdfS8KICAgICAg
2304 # ICAgICAgICAgIGdpdmVuX29wdGlvbiA9ICJ5ZXMiCiAgICAgICAgICAgICAg
2305 # ICBnaXZlbiA9IHRydWUKICAgICAgICAgICAgICBlbmQKICAgICAgICAgIGVu
2306 # ZAogICAgICAgICAgCiAgICAgICAgICBpZiBnaXZlbgogICAgICAgICAgICBh
2307 # cmd2LmRlbGV0ZShhcmcpCiAgICAgICAgICBlbmQKICAgICAgICB9CiAgICAg
2308 # ICAgCiAgICAgICAgb3B0aW9uWzp2YWx1ZV0gPSBnaXZlbl9vcHRpb24KICAg
2309 # ICAgfQogICAgICAKICAgICAgZnJvbnRlbmRfa2V5ID0gInRrIgogICAgICBh
2310 # cmd2LmVhY2ggeyB8dW5rbm93bnwKICAgICAgICB1bmtub3duLnN0cmlwIQog
2311 # ICAgICAgIGlmIHVua25vd24gPX4gLy0td2l0aC1jb25maWctZnJvbnRlbmQ9
2312 # KFx3KykvCiAgICAgICAgICBmcm9udGVuZF9rZXkgPSAkMQogICAgICAgIGVs
2313 # c2lmIHVua25vd24gPX4gLy0taGVscC8KICAgICAgICAgIHVzYWdlCiAgICAg
2314 # ICAgICBleGl0IDAKICAgICAgICBlbmQKICAgICAgfQogICAgICAKICAgICAg
2315 # ZnJvbnRlbmQgPSBGcm9udGVuZEZhY3RvcnkuY3JlYXRlKGZyb250ZW5kX2tl
2316 # eSkKICAgICAgaWYgZnJvbnRlbmQubmlsPwogICAgICAgIHB1dHMgIj0+IElu
2317 # dmFsaWQgZnJvbnRlbmQiCiAgICAgICAgdXNhZ2UoKQogICAgICAgIGV4aXQg
2318 # LTEKICAgICAgZWxzaWYgbm90IGZyb250ZW5kLnBhcnNlKEBvcHRpb25zKQog
2319 # ICAgICAgIHVzYWdlKCkKICAgICAgICBleGl0IC0xCiAgICAgIGVuZAogICAg
2320 # ICAKICAgICAgQG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAgICAgICAgdmFs
2321 # dWUgPSBvcHRpb25bOnZhbHVlXS5uaWw/ID8gb3B0aW9uWzpkZWZhdWx0XS50
2322 # b19zIDogb3B0aW9uWzp2YWx1ZV0KICAgICAgICBAYXJndW1lbnRzW29wdGlv
2323 # bls6bmFtZV1dID0gdmFsdWUKICAgICAgfQogICAgICAKICAgIGVuZAogICAg
2324 # CiAgICBkZWYgc2F2ZShwYXRoKQogICAgICBiZWdpbgogICAgICAgIHNldHVw
2325 # X2NvbmZpZyhAY29uZmlnLCBAYXJndW1lbnRzKQogICAgICByZXNjdWUgTm9N
2326 # ZXRob2RFcnJvciA9PiBlCiAgICAgICAgaWYgbm90IGUubWVzc2FnZSA9fiAv
2327 # c2V0dXBfY29uZmlnLwogICAgICAgICAgcHV0cyAiRXJyb3I6ICN7ZX0iCiAg
2328 # ICAgICAgICBwdXRzIGUuYmFja3RyYWNlCiAgICAgICAgICBleGl0IC0xCiAg
2329 # ICAgICAgZW5kCiAgICAgIGVuZAogICAgICAKICAgICAgQGNvbmZpZy5hZGRf
2330 # ZGVmaW5lKCVAX19QUkVGSVhfXz0nXFxcXCInI3tGaWxlLmV4cGFuZF9wYXRo
2331 # IEBhcmd1bWVudHNbInByZWZpeCJdfSdcXFxcIidAKQogICAgICAKICAgICAg
2332 # c2F2ZV9wa2djb25maWcKICAgICAgQGNvbmZpZy5zYXZlKHBhdGgpCiAgICBl
2333 # bmQKICAgIAogICAgZGVmIHNhdmVfcGtnY29uZmlnCiAgICAgIGlmIG5vdCBA
2334 # cGtnX2NvbmZpZ3MuZW1wdHk/CiAgICAgICAgQHBrZ19jb25maWdzLmVhY2gg
2335 # eyB8cGtnX2NvbmZpZ3wKICAgICAgICAgIEZpbGUub3BlbiggcGtnX2NvbmZp
2336 # Z1s6cGFja2FnZV9uYW1lXSsiLnBjIiwgInciKSBkbyB8ZmlsZXwKICAgICAg
2337 # ICAgICAgZmlsZSA8PCAicHJlZml4PSIgPDwgQGFyZ3VtZW50c1sicHJlZml4
2338 # Il0gPDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJleGVjX3ByZWZpeD0k
2339 # e3ByZWZpeH0iIDw8ICJcbiIKICAgICAgICAgICAgZmlsZSA8PCAibGliZGly
2340 # PSN7cGtnX2NvbmZpZ1s6bGliZGlyXS5uaWw/ID8gIiR7cHJlZml4fS9saWIi
2341 # IDogcGtnX2NvbmZpZ1s6bGliZGlyXSB9IiA8PCAiXG4iCiAgICAgICAgICAg
2342 # IGZpbGUgPDwgImluY2x1ZGVkaXI9I3twa2dfY29uZmlnWzppbmNsdWRlZGly
2343 # XS5uaWw/ID8gIiR7cHJlZml4fS9pbmNsdWRlIiA6IHBrZ19jb25maWdbOmlu
2344 # Y2x1ZGVkaXJdIH0iIDw8ICJcblxuXG4iCiAgICAgICAgICAgIAogICAgICAg
2345 # ICAgICBmaWxlIDw8ICJOYW1lOiAiIDw8IHBrZ19jb25maWdbOnBhY2thZ2Vf
2346 # bmFtZV0gPDwgIlxuIgogICAgICAgICAgICBmaWxlIDw8ICJEZXNjcmlwdGlv
2347 # bjogIiA8PCBwa2dfY29uZmlnWzpkZXNjcmlwdGlvbl0gPDwgIlxuIgogICAg
2348 # ICAgICAgICBmaWxlIDw8ICJSZXF1aXJlczogIiA8PCBwa2dfY29uZmlnWzpy
2349 # ZXF1aXJlc10uam9pbigiICIpIDw8ICJcbiIgaWYgcGtnX2NvbmZpZ1s6cmVx
2350 # dWlyZXNdLmNsYXNzID09IEFycmF5CiAgICAgICAgICAgIGZpbGUgPDwgIlZl
2351 # cnNpb246ICIgPDwgcGtnX2NvbmZpZ1s6dmVyc2lvbl0gPDwgIlxuIgogICAg
2352 # ICAgICAgICAKICAgICAgICAgICAgZmlsZSA8PCAiTGliczogIiA8PCBwa2df
2353 # Y29uZmlnWzpsaWJzXSA8PCAiXG4iCiAgICAgICAgICAgIGZpbGUgPDwgIkNm
2354 # bGFnczogIiA8PCBwa2dfY29uZmlnWzpjZmxhZ3NdIDw8ICJcbiIKICAgICAg
2355 # ICAgIGVuZAogICAgICAgIH0KICAgICAgZW5kCiAgICBlbmQKICAgIAogICAg
2356 # CiAgICBkZWYgbG9nKHR4dCkKICAgICAgRmlsZS5vcGVuKEBsb2dfZmlsZSwg
2357 # ImEiKSBkbyB8ZnwKICAgICAgICBmIDw8IHR4dCA8PCAiXG4iCiAgICAgIGVu
2358 # ZAogICAgZW5kCiAgICAKICAgIGRlZiB1c2FnZQogICAgICBwdXRzICJPcHRp
2359 # b25zOiIKICAgICAgQG9wdGlvbnMuZWFjaCB7IHxvcHRpb258CiAgICAgICAg
2360 # Y2FzZSBvcHRpb25bOnR5cGVdCiAgICAgICAgICB3aGVuICJzdHJpbmciCiAg
2361 # ICAgICAgICAgIHByaW50ICJcbiAgLS0je29wdGlvbls6bmFtZV19PVt2YWx1
2362 # ZV0iCiAgICAgICAgICAgIHByaW50ICJcdFx0Li4uLi4uI3tvcHRpb25bOmRl
2363 # c2NyaXB0aW9uXX0gIgogICAgICAgICAgICAKICAgICAgICAgICAgaWYgbm90
2364 # IG9wdGlvbls6ZGVmYXVsdF0ubmlsPwogICAgICAgICAgICAgIHByaW50ICJb
2365 # ZGVmYXVsdD0je29wdGlvbls6ZGVmYXVsdF19XSIKICAgICAgICAgICAgZW5k
2366 # CiAgICAgICAgICB3aGVuICJwYXRoIgogICAgICAgICAgICBwcmludCAiXG4g
2367 # IC0tI3tvcHRpb25bOm5hbWVdfT1bL2EvcGF0aF0iCiAgICAgICAgICAgIHBy
2368 # aW50ICJcdFx0Li4uLi4uI3tvcHRpb25bOmRlc2NyaXB0aW9uXX0gIgogICAg
2369 # ICAgICAgICAKICAgICAgICAgICAgaWYgbm90IG9wdGlvbls6ZGVmYXVsdF0u
2370 # bmlsPwogICAgICAgICAgICAgIHByaW50ICJbZGVmYXVsdD0je29wdGlvbls6
2371 # ZGVmYXVsdF19XSIKICAgICAgICAgICAgZW5kCiAgICAgICAgICB3aGVuICJi
2372 # b29sIgogICAgICAgICAgICBwcmludCAiXG4gIC0tdXNlLSN7b3B0aW9uWzpu
2373 # YW1lXX09W3llc3xub10iCiAgICAgICAgICAgIGlmIG5vdCBvcHRpb25bOmRl
2374 # ZmF1bHRdLm5pbD8KICAgICAgICAgICAgICBkZWZhdWx0ID0gb3B0aW9uWzpk
2375 # ZWZhdWx0XQogICAgICAgICAgICAgIGlmIGRlZmF1bHQgPT0gdHJ1ZSBvciBk
2376 # ZWZhdWx0ID09ICJ5ZXMiIG9yIGRlZmF1bHQgPT0gInRydWUiCiAgICAgICAg
2377 # ICAgICAgICBkZWZhdWx0ID0gInllcyIKICAgICAgICAgICAgICBlbHNpZiBk
2378 # ZWZhdWx0ID09IGZhbHNlIG9yIGRlZmF1bHQgPT0gIm5vIiBvciBkZWZhdWx0
2379 # ID09ICJmYWxzZSIKICAgICAgICAgICAgICAgIGRlZmF1bHQgPSAibm8iCiAg
2380 # ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZGVmYXVsdCA9ICJu
2381 # byIKICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAKICAgICAgICAg
2382 # ICAgICBwcmludCAiXHRcdC4uLi4uLiN7b3B0aW9uWzpkZXNjcmlwdGlvbl19
2383 # IFtkZWZhdWx0PSN7ZGVmYXVsdH1dIgogICAgICAgICAgICBlbmQKICAgICAg
2384 # ICAgIGVsc2UKICAgICAgICAgICAgcHJpbnQgIlxuICAtLSN7b3B0aW9uWzpu
2385 # YW1lXX0iCiAgICAgICAgICAgIHByaW50ICJcdFx0Li4uLi4uI3tvcHRpb25b
2386 # OmRlc2NyaXB0aW9uXX0iCiAgICAgICAgZW5kCiAgICAgIH0KICAgICAgCiAg
2387 # ICAgIHByaW50ICJcbiAgLS13aXRoLWNvbmZpZy1mcm9udGVuZD1bcGxhaW58
2388 # dGtdIgogICAgICBwcmludCAiXHRcdC4uLi4uLlNldHMgdGhlIGZyb250ZW5k
2389 # IHRvIGNvbmZpZ3VyZSB0aGUgYXBwbGljYXRpb24gW2RlZmF1bHQ9dGtdIgog
2390 # ICAgICBwcmludCAiXG4gIC0taGVscCIKICAgICAgcHJpbnQgIlx0XHQuLi4u
2391 # Li5TaG93cyB0aGlzIG1lc3NhZ2UiCiAgICAgIAogICAgICBwdXRzICIiCiAg
2392 # ICBlbmQKICBlbmQKZW5kCgpiZWdpbgogIGxvYWQgInNldHVwLnJiIgpyZXNj
2393 # dWUgTG9hZEVycm9yCiAgRmlsZS5vcGVuKG9sZGxvY2F0aW9uKCJzZXR1cC5y
2394 # YiIpLCAidyIpIGRvIHxmaWxlfAogICAgZmlsZSA8PCBGaWxlLnJlYWQoInNl
2395 # dHVwX3JiLnRwbCIpIDw8ICJcbiIKICBlbmQKICBwdXRzICI9PiBBIHRlbXBs
2396 # YXRlIGZpbGUgd2FzIGdlbmVyYXRlZCBpbiBzZXR1cC5yYiwgcGxlYXNlIGVk
2397 # aXQgaXQgYW5kIHJlcnVuIHRoZSBjb25maWd1cmUgc2NyaXB0LiIKICBleGl0
2398 # IC0xCmVuZAoKaWYgX19GSUxFX18gPT0gJDAKICBxb25mID0gUW9uZjo6Q29u
2399 # ZmlndXJlLm5ldwogIHFvbmYuZ2V0X2FyZ3MoQVJHVikKICBxb25mLmZpbmRf
2400 # cGFja2FnZXMKICBxb25mLnJ1bl90ZXN0cwogIAogIHFvbmYuc2F2ZSgiY29u
2401 # ZmlnLnByaSIpCiAgCiAgcW9uZi5nZW5lcmF0ZV9tYWtlZmlsZXMKZW5kCgoK
2402 # CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2403 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2404 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2405 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2406 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2407 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2408 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2409 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2410 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2411 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2412 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2413 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2414 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2415 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2416 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2417 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2418 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2419 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2420 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2421 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2422 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2423 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2424 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2425 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2426 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2427 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2428 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2429 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2430 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2431 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2432 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2433 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2434 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2435 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2436 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2437 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2438 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2439 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2440 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2441 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2442 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2443 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2444 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2445 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2446 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2447 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2448 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2449 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2450 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2451 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2452 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2453 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2454 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2455 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2456 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2457 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2458 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2459 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2460 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2461 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2462 # AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2463 # AAAAAAAAAAAAAAAAAAAAAAAAAAA=