video_info 2.7.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/unit_test.yml +42 -0
  3. data/Guardfile +1 -1
  4. data/README.md +8 -19
  5. data/lib/video_info/provider.rb +11 -2
  6. data/lib/video_info/providers/vimeo_api.rb +9 -3
  7. data/lib/video_info/providers/vimeo_scraper.rb +12 -2
  8. data/lib/video_info/providers/youtube.rb +8 -0
  9. data/lib/video_info/providers/youtube_api.rb +1 -2
  10. data/lib/video_info/providers/youtube_scraper.rb +43 -25
  11. data/lib/video_info/providers/youtubeplaylist_api.rb +15 -1
  12. data/lib/video_info/version.rb +1 -1
  13. data/lib/video_info.rb +3 -3
  14. data/tmp/rspec_guard_result +25 -0
  15. data/video_info.gemspec +5 -6
  16. metadata +16 -472
  17. data/.travis.yml +0 -21
  18. data/lib/video_info/providers/vkontakte.rb +0 -212
  19. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_invalid_video_url/_available_/1_2_2_1_1.yml +0 -93
  20. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/_available_/with_valid_video/_available_/1_2_1_1_1.yml +0 -96
  21. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author/1_3_7_1.yml +0 -100
  22. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_thumbnail/1_3_9_1.yml +0 -100
  23. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_author_url/1_3_8_1.yml +0 -100
  24. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_date/should_show_correct_date.yml +0 -100
  25. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_description/1_3_10_1.yml +0 -100
  26. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_duration/1_3_12_1.yml +0 -100
  27. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_keywords/1_3_11_1.yml +0 -100
  28. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail/1_3_19_1.yml +0 -100
  29. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_large/1_3_18_1.yml +0 -100
  30. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_medium/1_3_17_1.yml +0 -100
  31. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_thumbnail_small/1_3_16_1.yml +0 -100
  32. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_title/1_3_6_1.yml +0 -100
  33. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Dailymotion/with_video_x7lni3/_view_count/1_3_20_1.yml +0 -100
  34. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/1_2_3_1_1.yml +0 -150
  35. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_password_required_video/_available_/2_2_3_1_1.yml +0 -65
  36. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/1_2_2_1_1.yml +0 -124
  37. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_this_video_does_not_exist_video/_available_/2_2_2_1_1.yml +0 -67
  38. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/1_2_1_1_1.yml +0 -150
  39. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/_available_/with_valid_video/_available_/2_2_1_1_1.yml +0 -67
  40. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author/1_13_2_1.yml +0 -128
  41. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_thumbnail/1_13_3_1.yml +0 -128
  42. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/author_url/1_13_4_1.yml +0 -128
  43. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/available_/1_13_1_1.yml +0 -128
  44. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/date/1_13_7_1.yml +0 -128
  45. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/description/1_13_6_1.yml +0 -128
  46. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/duration/1_13_8_1.yml +0 -128
  47. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/height/1_13_10_1.yml +0 -128
  48. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/keywords/1_13_9_1.yml +0 -128
  49. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_large/1_13_14_1.yml +0 -128
  50. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_medium/1_13_13_1.yml +0 -128
  51. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/thumbnail_small/1_13_12_1.yml +0 -128
  52. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/title/1_13_5_1.yml +0 -128
  53. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/view_count/1_13_15_1.yml +0 -128
  54. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_unavailable_video/width/1_13_11_1.yml +0 -128
  55. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/1_3_18_1.yml +0 -150
  56. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author/2_3_18_1.yml +0 -79
  57. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/1_3_17_1.yml +0 -150
  58. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_thumbnail/2_3_17_1.yml +0 -79
  59. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/1_3_19_1.yml +0 -150
  60. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_author_url/2_3_19_1.yml +0 -79
  61. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_date/should_have_correct_upload_date.yml +0 -226
  62. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/1_3_7_1.yml +0 -150
  63. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_description/2_3_7_1.yml +0 -79
  64. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/1_3_9_1.yml +0 -150
  65. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_duration/2_3_9_1.yml +0 -79
  66. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/1_3_11_1.yml +0 -150
  67. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_height/2_3_11_1.yml +0 -79
  68. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_keywords/should_return_a_string_list_of_keywords.yml +0 -226
  69. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/1_3_16_1.yml +0 -222
  70. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail/2_3_16_1.yml +0 -79
  71. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/1_3_15_1.yml +0 -222
  72. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_large/2_3_15_1.yml +0 -79
  73. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/1_3_14_1.yml +0 -222
  74. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_medium/2_3_14_1.yml +0 -79
  75. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/1_3_13_1.yml +0 -222
  76. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_thumbnail_small/2_3_13_1.yml +0 -79
  77. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/1_3_6_1.yml +0 -150
  78. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_title/2_3_6_1.yml +0 -79
  79. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/1_3_20_1.yml +0 -150
  80. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_view_count/2_3_20_1.yml +0 -79
  81. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/1_3_10_1.yml +0 -150
  82. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_136971428/_width/2_3_10_1.yml +0 -79
  83. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail/1_12_1_1.yml +0 -222
  84. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail/2_12_1_1.yml +0 -75
  85. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_large/1_12_2_1.yml +0 -222
  86. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_large/2_12_2_1.yml +0 -75
  87. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_medium/1_12_3_1.yml +0 -222
  88. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_medium/2_12_3_1.yml +0 -75
  89. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_small/1_12_4_1.yml +0 -222
  90. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vimeo/with_video_193970014/thumbnail_small/2_12_4_1.yml +0 -75
  91. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_hashes/available_/1_2_6_1_1.yml +0 -86
  92. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_invalid_video/available_/1_2_2_1_1.yml +0 -50
  93. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_private_video/available_/1_2_3_1_1.yml +0 -132
  94. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect/available_/1_2_4_1_1.yml +0 -134
  95. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_redirect_to_main_page_for_auth/available_/1_2_5_1_1.yml +0 -85
  96. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/_available_/with_valid_video/available_/1_2_1_1_1.yml +0 -87
  97. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author/1_5_14_1.yml +0 -48
  98. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author_thumbnail/1_5_15_1.yml +0 -48
  99. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/author_url/1_5_16_1.yml +0 -48
  100. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/description/1_5_8_1.yml +0 -48
  101. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/duration/1_5_10_1.yml +0 -48
  102. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/embed_code/1_5_6_1.yml +0 -48
  103. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/embed_url/1_5_5_1.yml +0 -48
  104. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/height/1_5_12_1.yml +0 -48
  105. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/thumbnail_small/1_5_18_1.yml +0 -48
  106. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/title/1_5_7_1.yml +0 -48
  107. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/view_count/1_5_13_1.yml +0 -48
  108. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_from_kirill_lyanoi_z_video2152699_168591741_2F56fd229a9dfe2dcdbe/width/1_5_11_1.yml +0 -50
  109. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/author/1_3_7_1.yml +0 -48
  110. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/embed_code/1_3_6_1.yml +0 -48
  111. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/embed_url/1_3_5_1.yml +0 -48
  112. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_https_/vk_com/id44052340_z_video61291456_159590018_2F2521d92730a272a9ea/title/1_3_4_1.yml +0 -48
  113. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video-54799401_165822734/title/1_7_4_1.yml +0 -48
  114. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video3552522_171340713/embed_url/1_10_1_1.yml +0 -48
  115. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/description/1_6_8_1.yml +0 -48
  116. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/duration/1_6_10_1.yml +0 -48
  117. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/embed_code/1_6_6_1.yml +0 -48
  118. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/embed_url/1_6_5_1.yml +0 -48
  119. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/height/1_6_12_1.yml +0 -48
  120. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/title/1_6_7_1.yml +0 -48
  121. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/view_count/1_6_13_1.yml +0 -48
  122. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_video39576223_161598544/width/1_6_11_1.yml +0 -48
  123. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author/1_4_5_1.yml +0 -48
  124. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_thumbnail/1_4_6_1.yml +0 -48
  125. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/author_url/1_4_7_1.yml +0 -48
  126. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Vkontakte/with_video_videos43640822_/video43640822_168790809/title/1_4_4_1.yml +0 -48
  127. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_invalid_video/_available_/1_2_2_1_1.yml +0 -67
  128. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/_available_/with_valid_video/_available_/1_2_1_1_1.yml +0 -69
  129. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_duration/1_4_7_1.yml +0 -77
  130. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_height/1_4_9_1.yml +0 -77
  131. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_large/1_4_12_1.yml +0 -77
  132. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_medium/1_4_11_1.yml +0 -77
  133. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_thumbnail_small/1_4_10_1.yml +0 -77
  134. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_title/1_4_6_1.yml +0 -77
  135. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_pxonqr42is/_width/1_4_8_1.yml +0 -77
  136. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_duration/1_3_7_1.yml +0 -77
  137. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_height/1_3_9_1.yml +0 -77
  138. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail/1_3_13_1.yml +0 -77
  139. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_large/1_3_12_1.yml +0 -77
  140. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_medium/1_3_11_1.yml +0 -77
  141. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_thumbnail_small/1_3_10_1.yml +0 -77
  142. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_title/1_3_6_1.yml +0 -77
  143. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Wistia/with_video_rs1me54mpw/_width/1_3_8_1.yml +0 -77
  144. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/foo/_available/1_2_2_1_1.yml +0 -1447
  145. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/foo/_available/2_2_2_1_1.yml +0 -156
  146. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_2_1_1.yml +0 -481
  147. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/1_2_3_1_1.yml +0 -485
  148. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_2_1_1.yml +0 -54
  149. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_available_/2_2_3_1_1.yml +0 -54
  150. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_2_11_1.yml +0 -481
  151. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/1_2_3_11_1.yml +0 -481
  152. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_2_11_1.yml +0 -54
  153. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_date/2_2_3_11_1.yml +0 -54
  154. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_2_8_1.yml +0 -483
  155. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/1_2_3_8_1.yml +0 -483
  156. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_2_8_1.yml +0 -54
  157. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_description/2_2_3_8_1.yml +0 -54
  158. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_2_10_1.yml +0 -485
  159. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/1_2_3_10_1.yml +0 -484
  160. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_2_10_1.yml +0 -54
  161. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_duration/2_2_3_10_1.yml +0 -54
  162. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_2_9_1.yml +0 -485
  163. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/1_2_3_9_1.yml +0 -484
  164. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_2_9_1.yml +0 -54
  165. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_keywords/2_2_3_9_1.yml +0 -54
  166. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_2_7_1.yml +0 -481
  167. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/1_2_3_7_1.yml +0 -484
  168. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_2_7_1.yml +0 -54
  169. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_title/2_2_3_7_1.yml +0 -54
  170. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_2_17_1.yml +0 -485
  171. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/1_2_3_17_1.yml +0 -485
  172. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_2_17_1.yml +0 -54
  173. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_unavailable_video/_view_count/2_2_3_17_1.yml +0 -54
  174. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/1_2_1_1_1.yml +0 -56
  175. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_valid_video/_available_/2_2_1_1_1.yml +0 -125
  176. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_3_1_1.yml +0 -483
  177. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/1_2_4_1_1.yml +0 -484
  178. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_3_1_1.yml +0 -54
  179. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/_available_/with_video_removed_because_of_copyright_claim/_available_/2_2_4_1_1.yml +0 -54
  180. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_date/should_return_date_video_was_posted.yml +0 -178
  181. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/1_17_7_1.yml +0 -56
  182. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_description/2_17_7_1.yml +0 -125
  183. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/1_17_9_1.yml +0 -56
  184. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_duration/2_17_9_1.yml +0 -125
  185. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/1_17_8_1.yml +0 -56
  186. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_keywords/2_17_8_1.yml +0 -125
  187. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/1_17_6_1.yml +0 -56
  188. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_title/2_17_6_1.yml +0 -125
  189. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/1_17_16_1.yml +0 -56
  190. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_full_screen_video_URLs/_view_count/2_17_16_1.yml +0 -125
  191. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/1_3_6_1.yml +0 -56
  192. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author/2_3_6_1.yml +0 -125
  193. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/1_3_7_1.yml +0 -56
  194. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_thumbnail/2_3_7_1.yml +0 -208
  195. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/1_3_8_1.yml +0 -56
  196. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_author_url/2_3_8_1.yml +0 -208
  197. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_date/should_return_date_video_was_posted.yml +0 -178
  198. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/1_3_10_1.yml +0 -56
  199. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_description/2_3_10_1.yml +0 -125
  200. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/1_3_12_1.yml +0 -56
  201. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_duration/2_3_12_1.yml +0 -125
  202. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/1_3_11_1.yml +0 -56
  203. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_keywords/2_3_11_1.yml +0 -125
  204. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/1_3_9_1.yml +0 -56
  205. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_title/2_3_9_1.yml +0 -125
  206. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/1_3_20_1.yml +0 -56
  207. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_Youtube/with_video_mZqGqE0D0n4/_view_count/2_3_20_1.yml +0 -125
  208. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/1_2_2_1_1.yml +0 -60
  209. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_invalid_playlist/_available_/2_2_2_1_1.yml +0 -60
  210. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/1_2_3_1_1.yml +0 -94
  211. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_list_url/_available_/2_2_3_1_1.yml +0 -94
  212. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/1_2_1_1_1.yml +0 -94
  213. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/_available_/with_valid_playlist/_available_/2_2_1_1_1.yml +0 -94
  214. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/1_3_19_1.yml +0 -105
  215. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author/2_3_19_1.yml +0 -105
  216. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/1_3_20_1.yml +0 -189
  217. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_thumbnail/2_3_20_1.yml +0 -189
  218. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/1_3_21_1.yml +0 -189
  219. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_author_url/2_3_21_1.yml +0 -189
  220. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/1_3_7_1.yml +0 -105
  221. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_description/2_3_7_1.yml +0 -105
  222. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/1_3_8_1.yml +0 -105
  223. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_keywords/2_3_8_1.yml +0 -105
  224. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/1_3_16_1.yml +0 -105
  225. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail/2_3_16_1.yml +0 -105
  226. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/1_3_15_1.yml +0 -105
  227. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_large/2_3_15_1.yml +0 -105
  228. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/1_3_14_1.yml +0 -105
  229. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_medium/2_3_14_1.yml +0 -105
  230. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/1_3_13_1.yml +0 -105
  231. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_thumbnail_small/2_3_13_1.yml +0 -105
  232. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/1_3_6_1.yml +0 -105
  233. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_title/2_3_6_1.yml +0 -105
  234. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_PL9hW1uS6HUftLdHI6RIsaf/_videos/returns_list_of_videos_in_playlist.yml +0 -265
  235. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/1_4_2_1.yml +0 -54
  236. data/spec/fixtures/vcr_cassettes/VideoInfo_Providers_YoutubePlaylist/with_playlist_that_does_not_exist_in_embed_path/_videos/2_4_2_1.yml +0 -54
  237. data/spec/lib/video_info/provider_spec.rb +0 -80
  238. data/spec/lib/video_info/providers/dailymotion_spec.rb +0 -194
  239. data/spec/lib/video_info/providers/vimeo_spec.rb +0 -328
  240. data/spec/lib/video_info/providers/vkontakte_spec.rb +0 -236
  241. data/spec/lib/video_info/providers/wistia_spec.rb +0 -197
  242. data/spec/lib/video_info/providers/youtube_playlist_spec.rb +0 -236
  243. data/spec/lib/video_info/providers/youtube_scraper_spec.rb +0 -12
  244. data/spec/lib/video_info/providers/youtube_spec.rb +0 -575
  245. data/spec/lib/video_info_spec.rb +0 -106
  246. data/spec/spec_helper.rb +0 -26
@@ -1,48 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://vk.com/al_video.php
6
- body:
7
- encoding: US-ASCII
8
- string: User-Agent=VideoInfo%2F2.7&act=show&al=1&autoplay=0&module=profile&video=2152699_168591741
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Mozilla/5.0 (Linux; VideoInfo)
16
- - Ruby
17
- response:
18
- status:
19
- code: 200
20
- message: OK
21
- headers:
22
- Server:
23
- - Apache
24
- Date:
25
- - Mon, 27 Mar 2017 21:01:35 GMT
26
- Content-Type:
27
- - text/html; charset=windows-1251
28
- Content-Length:
29
- - '10285'
30
- Connection:
31
- - keep-alive
32
- X-Powered-By:
33
- - PHP/3.12334
34
- Set-Cookie:
35
- - remixlang=3; expires=Wed, 28 Mar 2018 15:25:32 GMT; path=/; domain=.vk.com
36
- Pragma:
37
- - no-cache
38
- Cache-Control:
39
- - no-store
40
- Strict-Transport-Security:
41
- - max-age=0
42
- body:
43
- encoding: ASCII-8BIT
44
- string: !binary |-
45
- PCEtLTMzMjY4NDA3MjMyMjg8IT51aV9tZWRpYV9zZWxlY3Rvci5qcyx1aV9tZWRpYV9zZWxlY3Rvci5jc3MsZW1vamkuanMsbm90aWZpZXIuY3NzLHZpZGVvdmlldy5qcyx2aWRlb3ZpZXcuY3NzLHBhZ2UuanMscGFnZS5jc3MscG9zdC5jc3MsdWlfY29udHJvbHMuanMsdWlfY29udHJvbHMuY3NzPCE+MzwhPjM3MDQ8IT4wPCE+QkVBVCBTT1VMIFNURVAglyBSREMxNCBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwLCBNYXkgMS0yLCBNb3Njb3cgMjAxNDwhPjxkaXYgY2xhc3M9InZpZGVvX2JveF93cmFwIj4KICA8ZGl2IGlkPSJ2aWRlb19wbGF5ZXIiPgogICAgPGRpdiBpZD0idmlkZW9feXQiIHRhYmluZGV4PSIwIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdXRsaW5lOjA7Ij4KICAgICAgPGlmcmFtZSBjbGFzcz0idmlkZW9feXRfcGxheWVyIiB0eXBlPSJ0ZXh0L2h0bWwiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNFRod3M1d3E1R0k/ZW5hYmxlanNhcGk9MSZhdXRvcGxheT0wJnN0YXJ0PTAmYXV0b2hpZGU9MSZ3bW9kZT1vcGFxdWUmc2hvd2luZm89MCZvcmlnaW49aHR0cHM6Ly92ay5jb20mZnM9MSZyZWw9MCZjY19sb2FkX3BvbGljeT0wJml2X2xvYWRfcG9saWN5PTMiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PCE+CmFkZFRlbXBsYXRlcyh7Il8iOiJfIiwiYXVkaW9fcm93IjoiPGRpdiBjbGFzcz1cImF1ZGlvX3JvdyBfYXVkaW9fcm93IF9hdWRpb19yb3dfJTElXyUwJSAlY2xzJSBjbGVhcl9maXhcIiBvbmNsaWNrPVwicmV0dXJuIGdldEF1ZGlvUGxheWVyKCkudG9nZ2xlQXVkaW8odGhpcywgZXZlbnQpXCIgZGF0YS1hdWRpbz1cIiVzZXJpYWxpemVkJVwiIGRhdGEtZnVsbC1pZD1cIiUxJV8lMCVcIiBpZD1cImF1ZGlvXyUxJV8lMCVcIj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX3BsYXlfd3JhcFwiIGRhdGEtbm9kcmFnPVwiMVwiPjxidXR0b24gY2xhc3M9XCJhdWRpb19wbGF5IF9hdWRpb19wbGF5XCIgaWQ9XCJwbGF5XyUxJV8lMCVcIiBhcmlhLWxhYmVsPVwiXCI+PFwvYnV0dG9uPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX2luZm9cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fZHVyYXRpb25fd3JhcCBfYXVkaW9fZHVyYXRpb25fd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2hxX2xhYmVsXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2R1cmF0aW9uIF9hdWRpb19kdXJhdGlvblwiPiVkdXJhdGlvbiU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJyZWNvbVwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5zaG93UmVjb21zKHRoaXMsICclMSVfJTAlJywgZXZlbnQpXCI+PGRpdj48XC9kaXY+PFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJuZXh0XCIgb25tb3VzZW92ZXI9XCJhdWRpb1Nob3dBY3Rpb25Ub29sdGlwKHRoaXMsICclMSVfJTAlJylcIiBvbmNsaWNrPVwiZ2V0QXVkaW9QbGF5ZXIoKS5zZXROZXh0KHRoaXMsIGV2ZW50KVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiZWRpdFwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5lZGl0QXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIj48ZGl2PjxcL2Rpdj48XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdWRpb19hY3QgX2F1ZGlvX2FjdF9kZWxldGVcIiBpZD1cImRlbGV0ZVwiIG9uY2xpY2s9XCJBdWRpb1BhZ2UodGhpcykuZGVsZXRlQXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiYWRkXCIgb25jbGljaz1cInJldHVybiBhZGRBdWRpbyh0aGlzLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fdGl0bGVfd3JhcFwiXG4gICAgID48YSBocmVmPVwiJXNlYXJjaF9ocmVmJVwiIG9ubW91c2VvdmVyPVwic2V0VGl0bGUodGhpcylcIiBub2RyYWc9XCIxXCIgb25jbGljaz1cInJldHVybiBhdWRpb1NlYXJjaFBlcmZvcm1lcih0aGlzLCBldmVudClcIiBjbGFzcz1cImF1ZGlvX3BlcmZvcm1lclwiPiU0JTxcL2FcbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9faW5mb19kaXZpZGVyXCI+Jm5kYXNoOzxcL3NwYW5cbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9fdGl0bGUgX2F1ZGlvX3RpdGxlXCIgb25tb3VzZW92ZXI9XCJzZXRUaXRsZSh0aGlzLCBkb21QTih0aGlzKSlcIlxuICAgICAgICA+PHNwYW4gY2xhc3M9XCJhdWRpb190aXRsZV9pbm5lclwiIHRhYmluZGV4PVwiMFwiIG5vZHJhZz1cIjFcIiBhcmlhLWxhYmVsPVwiJTMlXCIgb25jbGljaz1cInJldHVybiB0b2dnbGVBdWRpb0x5cmljcyhldmVudCwgdGhpcywgJyUxJV8lMCUnLCAnJTklJylcIj4lMyU8XC9zcGFuPlxuICAgICAgICBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhdWRpb19hdXRob3JcIiBvbmNsaWNrPVwiY3VyLmNhbmNlbENsaWNrPXRydWVcIj4lOCU8XC9zcGFuPlxuICAgICAgPFwvc3BhblxuICAgID48XC9kaXY+XG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19wbGF5ZXJfd3JhcFwiPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19seXJpY3Nfd3JhcCBhdWRpb19seXJpY3NcIiBkYXRhLW5vZHJhZz1cIjFcIj48XC9kaXY+XG48XC9kaXY+IiwiYXVkaW9fYml0c190b19jbHMiOiJ7XCIxXCI6XCJpbmxpbmVkXCIsXCIyXCI6XCJseXJpY3NcIixcIjRcIjpcImNhbmVkaXRcIixcIjhcIjpcImNhbmFkZFwiLFwiNjRcIjpcInJlY29tc1wiLFwiMTZcIjpcImNsYWltZWRcIixcIjMyXCI6XCJjbGFpbWVkX3RpdGxlXCIsXCIyNTZcIjpcImZyb21fcXVldWVcIixcIjUxMlwiOlwiaHFcIixcIjMyNzY4XCI6XCJsdGJcIixcIjE2Mzg0XCI6XCJscGJcIixcIjQwOTZcIjpcImNsYWltX2hpZGRlblwiLFwiMjA0OFwiOlwiY2xhaW1fbW9kZVwiLFwiODE5MlwiOlwiY2xhaW1fdW1hXCJ9In0pO2N1ci5pbmNWaWV3cyA9IGZ1bmN0aW9uKCkgewogIHZhciBvaWR2aWQgPSAnMjE1MjY5OV8xNjg1OTE3NDEnOwogIGlmIChjdXIudmlkZW9JbmMgJiYgY3VyLnZpZGVvSW5jW29pZHZpZF0pIHsKICAgIHJldHVybjsKICB9CiAgaWYgKCFjdXIudmlkZW9JbmMpIHsKICAgIGN1ci52aWRlb0luYyA9IHt9OwogICAgY3VyLnZpZGVvU3RhcnRlZCA9IHt9OwogIH0KICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9ICdmaW5pc2hlZCc7CiAgICB2YXIgbSA9IHdpbmRvdy5WaWRlbyA/IFZpZGVvdmlldy5nZXRWaWRlb01vZHVsZShvaWR2aWQpIDogY3VyLm1vZHVsZTsKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICBhamF4LnBvc3QoImFsX3ZpZGVvLnBocCIsIHthY3Q6J2luY192aWV3X2NvdW50ZXInLCBvaWQ6b2lkLCB2aWQ6MTY4NTkxNzQxLCBoYXNoOic3Mjk1YjM5Nzg0OTdmMDg2OThiOGNjYjdkMzBhMGM2NicsIG1vZHVsZTogbX0pOwogICAgfQogIH0sIDUwMDApOwogIGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gPSAnZmluaXNoZWQnOwogICAgdmFyIG0gPSB3aW5kb3cuVmlkZW8gPyBWaWRlb3ZpZXcuZ2V0VmlkZW9Nb2R1bGUob2lkdmlkKSA6IGN1ci5tb2R1bGU7CgogICAgdmFyIHZpZGVvY2F0ID0gJyc7CiAgICBpZiAod2luZG93LlZpZGVvY2F0ICYmIHdpbmRvdy5WaWRlbyAmJiBWaWRlby5pc0luQ2F0YWxvZygpKSB7CiAgICAgIHZhciBwbElkID0gVmlkZW9QbGF5bGlzdC5nZXRDdXJMaXN0SWQoKTsKICAgICAgaWYgKFZpZGVvY2F0LmlzVG9wM1BsYXlsaXN0KHBsSWQpKSB7CiAgICAgICAgdmlkZW9jYXQgPSAnZmVhdHVyZWQnOwogICAgICB9IGVsc2UgewogICAgICAgIHZpZGVvY2F0ID0gcGxJZDsKICAgICAgfQogICAgfQoKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICB3aW5kb3cubXZjdXIgPSB3aW5kb3cubXZjdXIgfHwge307CiAgICAgIG12Y3VyLnZpZXdTdGFydGVkVGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgIGFqYXgucG9zdCgiYWxfdmlkZW8ucGhwIiwge2FjdDondmlkZW9fdmlld19zdGFydGVkJywgb2lkOm9pZCwgdmlkOjE2ODU5MTc0MSwgaGFzaDonNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYnLCBtb2R1bGU6IG0sIHZpZGVvY2F0OiB2aWRlb2NhdH0pOwogICAgfQogIH0sIDApOwogIGN1ci5kZXN0cm95LnB1c2goZnVuY3Rpb24gKCkgewogICAgaWYgKGN1ci52aWRlb0luY1tvaWR2aWRdICYmIGN1ci52aWRlb0luY1tvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb0luY1tvaWR2aWRdKTsKICAgIH0KICAgIGlmIChjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gJiYgY3VyLnZpZGVvU3RhcnRlZFtvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSk7CiAgICB9CiAgfSk7Cn07Cm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvID0gJzIxNTI2OTlfMTY4NTkxNzQxJzsgCm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvSGFzaCA9ICdkNGVhNDY4N2YwMWNjMWVlOWQnOyAKbXZjdXIubXZEYXRhLmFkZGVkVmlkZW9TaGFyZUhhc2ggPSAnOGJhOGZkYWZjZjQ2ZTFiYzY4JzsKbXZjdXIubXZEYXRhLm5lZWRzTmV3ID0gMTs8IT4KCjxkaXYgY2xhc3M9Im12X2luZm9fd2lkZV9jb2x1bW4gZmxfbCI+CiAgCiAgPGRpdiBjbGFzcz0ibXZfdGl0bGVfYmxvY2siPgogICAgPGRpdiBpZD0ibXZfdmlld3MiIGNsYXNzPSJtdl92aWV3c19jb3VudCAiIG9ubW91c2VvdmVyPSIiPjM3IHZpZXdzPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl90aXRsZSIgaWQ9Im12X3RpdGxlIj5CRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0PC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfYWN0aW9uc19ibG9jayIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImZsYXRfYnV0dG9uIHNlY29uZGFyeSBidXR0b25fbGlnaHQgbXZfc2hhcmVfYnV0dG9uIiBzdHlsZT0iZGlzcGxheTpub25lOyIgb25jbGljaz0idmlkZW92aWV3LnNlbmRWaWRlbygpOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X3NoYXJlX2ljb24iPjwvc3Bhbj5TaGFyZQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0ibXZfYWRkX3dyYXAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmbGF0X2J1dHRvbiBzZWNvbmRhcnkgYnV0dG9uX2xpZ2h0IG12X2VkaXRfYnV0dG9uIiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNob3dFZGl0Qm94KDE2ODU5MTc0MSwgMjE1MjY5OSkiIGlkPSJtdl9lZGl0X2J1dHRvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X2VkaXRfaWNvbiI+PC9zcGFuPkVkaXQgdmlkZW8KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtdl9tb3JlIGZsX2wiIGlkPSJtdl9tb3JlIj5Nb3JlPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfYmxvY2siPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgPGEgaHJlZj0iL2x5YW5vaS5raXJpbGwiIGNsYXNzPSJtdl9hdXRob3JfcGhvdG9fd3JhcCBmbF9sIj4KICAgICAgICA8aW1nIGlkPSJtdl9hdXRob3JfcGhvdG8iIGNsYXNzPSJtdl9hdXRob3JfcGhvdG8iIHNyYz0iaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjIzODI0L3Y2MjM4MjQ2OTkvNTU1NzUvQ0NRWjI5bDBCOWsuanBnIj4KICAgICAgPC9hPgogICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfaW5mbyBmbF9sIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfbmFtZSI+CiAgICAgICAgICA8YSBjbGFzcz0ibWVtX2xpbmsiIGhyZWY9Ii9seWFub2kua2lyaWxsIj5LaXJpbGwgTHlhbm95PC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im12X2luZm9fZGF0ZSI+TWF5IDEyLCAyMDE0IGF0IDk6MjMgYW0gZnJvbSA8YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRndhdGNoJTNGdiUzRDRUaHdzNXdxNUdJIiB0YXJnZXQ9Il9ibGFuayI+WW91VHViZTwvYT4gPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgCiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtdl9kZXNjcmlwdGlvbl9ibG9jayI+CiAgPGRpdiBjbGFzcz0ic2VsZWN0X2ZpeCBjbGVhcl9maXgiPgogICAgPGRpdiBpZD0ibXZfZGVzY3JpcHRpb24iIGNsYXNzPSJtdl9kZXNjIj4KICA8ZGl2IGNsYXNzPSJqc19tdl9kZXNjcl9maWVsZCBjYW50X2VkaXQiIGlkPSJtdl9kZXNjcl9maWVsZCI+QkVBVCBTT1VMIFNURVAgJiM5NzMzOyBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwICYjOTczMzsgMS0yIOzg/ywgzO7x6uLgIDIwMTQ8YnI+Q2hvcmVvZ3JhcGh5OiBLYXRpZTxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZwcm9qZWN0ODE4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiIHRhcmdldD0iX2JsYW5rIj5wcm9qZWN0ODE4LmNvbTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MThydXNzaWEiIG1lbnRpb25faWQ9InByb2plY3Q4MThydXNzaWEiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly92ay5jb20vcHJvamVjdDgxOCIgbWVudGlvbl9pZD0icHJvamVjdDgxOCIgb25jbGljaz0icmV0dXJuIG1lbnRpb25DbGljayh0aGlzLCBldmVudCkiIG9ubW91c2VvdmVyPSJtZW50aW9uT3Zlcih0aGlzKSI+dmsuY29tL3Byb2plY3Q4MTg8L2E+PGJyPi4uPC9kaXY+CiAgPGEgaWQ9Im12X2Rlc2NyX2V4cGFuZF90b2dnbGUiIGNsYXNzPSJ3YWxsX3Bvc3RfbW9yZSIgc3R5bGU9IiIgb25jbGljaz0iVmlkZW92aWV3LmV4cGFuZERlc2NyKHRoaXMpIj5FeHBhbmQgdGV4dIU8L2E+CiAgPGRpdiBpZD0ibXZfZGVzY19mdWxsX3RleHQiPkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGcHJvamVjdDgxOC5jb20iIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+cHJvamVjdDgxOC5jb208L2E+IHwgPGEgaHJlZj0iaHR0cDovL3ZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhIiBtZW50aW9uX2lkPSJwcm9qZWN0ODE4cnVzc2lhIiBvbmNsaWNrPSJyZXR1cm4gbWVudGlvbkNsaWNrKHRoaXMsIGV2ZW50KSIgb25tb3VzZW92ZXI9Im1lbnRpb25PdmVyKHRoaXMpIj52ay5jb20vcHJvamVjdDgxOHJ1c3NpYTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MTgiIG1lbnRpb25faWQ9InByb2plY3Q4MTgiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4PC9hPjxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZmYWNlYm9vay5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmZhY2Vib29rLmNvbS9Qcm9qZWN0ODE4UnVzc2lhPC9hPjxicj48YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZwcm9qZWN0ODE4IiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmluc3RhZ3JhbS5jb20vcHJvamVjdDgxODwvYT48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZ0d2l0dGVyLmNvbSUyRnByb2plY3Q4MTgiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+dHdpdHRlci5jb20vcHJvamVjdDgxODwvYT48YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPnlvdXR1YmUuY29tL1Byb2plY3Q4MThSdXNzaWE8L2E+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4Y2hhbXAiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+eW91dHViZS5jb20vUHJvamVjdDgxOGNoYW1wPC9hPjwvZGl2PgogIDxkaXYgY2xhc3M9InByICIgaWQ9Im12X2lubGluZV9lZGl0X3ByIj48ZGl2IGNsYXNzPSJwcl9idCI+PC9kaXY+PGRpdiBjbGFzcz0icHJfYnQiPjwvZGl2PjxkaXYgY2xhc3M9InByX2J0Ij48L2Rpdj48L2Rpdj4KPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgogIDxkaXYgY2xhc3M9Im12X2NvbW1lbnRzX2Jsb2NrIHdhbGxfbW9kdWxlIj4KICAgIDxkaXYgaWQ9InBvc3QyMTUyNjk5X3ZpZGVvMTY4NTkxNzQxbXYiPgogICAgICA8ZGl2IGlkPSJtdl9jb21tZW50c193cmFwIj4KICA8ZGl2IGlkPSJtdl9jb21tZW50c19oZWFkZXIiIG9uY2xpY2s9IlZpZGVvdmlldy5tb3JlQ29tbWVudHMoKTsiIGNsYXNzPSJtdl9jb21tZW50c19leHBhbmRlZCI+PC9kaXY+CiAgPGRpdiBpZD0ibXZfY29tbWVudHNfc3VtbWFyeSIgY2xhc3M9Im12X2NvbW1lbnRzX3N1bW1hcnkgbXZfY29tbWVudHNfZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KICA8ZGl2IGlkPSJtdl9jb21tZW50cyI+PC9kaXY+CjwvZGl2PgogICAgICAKICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibXZfaW5mb19uYXJyb3dfY29sdW1uIGZsX3IiPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2Jsb2NrIj4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9ibG9ja190aXRsZSI+T3RoZXIgdmlkZW9zPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY2OTUyNjA2IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Njk1MjYwNicsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTM0MjIxL3U1NDEzNzAvdmlkZW8vbF83YWI1NDc1Ni5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjA5PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjY5NTI2MDYiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY2OTUyNjA2JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iTm8gbmFtZSI+Tm8gbmFtZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MTYzIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8xMTAyNzgxMl80NTYyMzkxNzMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzExMDI3ODEyXzQ1NjIzOTE3MycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jODM2NDM2L3Y4MzY0MzY4MTIvZWZlMi9WeGRFcVU4eUpBZy5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjE3PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMTEwMjc4MTJfNDU2MjM5MTczIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcxMTAyNzgxMl80NTYyMzkxNzMnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJQYXJhbm9pYSAyMDE2IMXi8fLl4+3l5eLgIMDt4PHy4PHo/yI+UGFyYW5vaWEgMjAxNiDF4vHy5ePt5eXi4CDA7eDx8uDx6P88L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjI4MiB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjg5ODg5NDkiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY4OTg4OTQ5JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1NDAzMDUvdTI0NjEwNTA4OS92aWRlby9sX2MwYWQyMWU1LmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjA6NDM8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODk4ODk0OSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjg5ODg5NDknLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJNaXgt8uXw6P8iPk1peC3y5fDo/zwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjgzMzEzNTQiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY4MzMxMzU0JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M2MDc2MjAvdTQzODk4NjYvdmlkZW8vbF9hYjExNjZjYi5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4zOjI1PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjgzMzEzNTQiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY4MzMxMzU0JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0i0uXg8vDg6+jn7uLg7e3u5SDu8urw+/Lo5SDq7u3q8/Dx4CAmcXVvdDvM7vHq7uLx6ujlIOzg8fLl8OAtMjAxNCZxdW90Oy8vIMrA0SC5NyI+0uXg8vDg6+jn7uLg7e3u5SDu8urw+/Lo5SDq7u3q8/Dx4CAmcXVvdDvM7vHq7uLx6ujlIOzg8fLl8OAtMjAxNCZxdW90Oy8vIMrA0SC5NzwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NDIgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY3NzA1MDE4IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2NzcwNTAxOCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTQwMjA2L3U0NDg4OTIzL3ZpZGVvL2xfM2U2NTM5OGYuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MDozMDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY3NzA1MDE4IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2NzcwNTAxOCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9Isrg8fLo7eMgLUFydC4gZGFuY2Ugc2hvdyAmcXVvdDsgQklHb29EZWUuIj7K4PHy6O3jIC1BcnQuIGRhbmNlIHNob3cgJnF1b3Q7IEJJR29vRGVlLjwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MTA1IHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODI4MjQ0MyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjgyODI0NDMnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzU0MDMwNC91NTgxMDU3MjgvdmlkZW8vbF84ZmQ1ODVmZS5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4yOjU2PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjgyODI0NDMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY4MjgyNDQzJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iTm8gbmFtZSI+Tm8gbmFtZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MTcgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY2OTUyNTk1IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Njk1MjU5NScsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTI5MzA2L3UxOTE5MjM3NzQvdmlkZW8vbF9mOGZmYmFlMi5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjIzPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjY5NTI1OTUiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY2OTUyNTk1JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iw/Dz7+/gIMrw4PHq6CDRIOTt5ewg8O7m5OXt6P8sIMzg8Ojt4CI+w/Dz7+/gIMrw4PHq6CDRIOTt5ewg8O7m5OXt6P8sIMzg8Ojt4DwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+Njk3IHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2NzcxMTcwMyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjc3MTE3MDMnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzYwNzQyMC91MTM5NTQwMTMvdmlkZW8vbF9jMjdmZjEyOS5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4yOjI5PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MTE3MDMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzExNzAzJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iUEFSVFkgMTE0IC5bIFNFQ1JFVCBQTEFDRV0iPlBBUlRZIDExNCAuWyBTRUNSRVQgUExBQ0VdPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj40NSB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjY5NTI1OTkiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY2OTUyNTk5JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1MTMyMTkvdTIxNDk3NDg3My92aWRlby9sX2JlNmUzNjlkLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjQ6MDY8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Njk1MjU5OSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjY5NTI1OTknLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSLB5ecg7eDn4uDt6P8iPsHl5yDt4Ofi4O3o/zwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NDAgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzODYyOTgwIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Mzg2Mjk4MCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTA1MjA2L3UzMjA2NzAyL3ZpZGVvL2xfNDQ1Mjg1ZDcuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MjozMDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzODYyOTgwIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Mzg2Mjk4MCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IldpdGhvdXQgYSBmYWNlICAo0uDr4O3y6+ji4P8gIMzu6+7k5eb8KSAyIj5XaXRob3V0IGEgZmFjZSAgKNLg6+Dt8uvo4uD/ICDM7uvu5OXm/CkgMjwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NDEgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj48IT48IT48IWpzb24+eyJsYW5nIjp7Imdsb2JhbF9zaG9ydF9kYXRlX3RpbWUiOlsiIiwie2RheX0ge21vbnRofSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInllc3RlcmRheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRvZGF5IGF0IHtob3VyfTp7bWludXRlfSB7YW1fcG19IiwidG9tb3Jyb3cgYXQge2hvdXJ9OnttaW51dGV9IHthbV9wbX0iXSwicmVwbHlfdG9fcG9zdCI6IllvdXIgY29tbWVudC4uIiwid2FsbF9NX3JlcGxpZXNfb2ZfTiI6WyIiLCIlcyBjb21tZW50IG9mIHtsaW5rfXthbGx9e1wvbGlua30iLCIlcyBjb21tZW50cyBvZiB7bGlua317YWxsfXtcL2xpbmt9Il0sIndhbGxfbW9yZV9yZXBsaWVzIjpbIiIsInNob3cgJXMgbW9yZSBjb21tZW50Iiwic2hvdyAlcyBtb3JlIGNvbW1lbnRzIl0sIndhbGxfYWxsX3JlcGxpZXMiOiJhbGwgY29tbWVudHMiLCJkb250X2F0dGFjaCI6IlJlbW92ZSBhdHRhY2htZW50IiwidmlkZW9fWF9jb21tcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwidmlkZW9fZWRpdCI6IkVkaXQgdmlkZW8iLCJ2aWRlb19lZGl0X2Rlc2MiOiJFZGl0IGRlc2NyaXB0aW9uIiwidmlkZW9fZWRpdF9kZXNjX2ludHJvIjoiRW50ZXIgZGVzY3JpcHRpb24iLCJ2aWRlb19zaG93X3ByZXZpb3VzX2NvbW1lbnRzIjpbIiIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudCIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudHMiXSwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIHRoaXMgdmlkZW8/IiwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlX3RpdGxlIjoiQ2xvc2UgdmlkZW8iLCJwcm9maWxlX21lbnRpb25fbm90X2ZvdW5kIjoiVXNlciB3YXMgbm90IGZvdW5kIiwicHJvZmlsZV9tZW50aW9uX3N0YXJ0X3R5cGluZyI6IlN0YXJ0IHR5cGluZyBhIG5hbWUuLiIsInZpZGVvX2FsYnVtX2lzX3ByaXZhdGVfdHQiOiJUaGlzIGFsYnVtIGlzIHByaXZhdGUiLCJ2aWRlb19hZGRfdG9fbXlfcGxheWxpc3QiOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfdG9fbXlfcGxheWxpc3QiOiJBZGRlZCIsInZpZGVvX2NoYW5nZXNfc2F2ZWQiOiJDaGFuZ2VzIHNhdmVkIiwidmlkZW9fYWRkX2FsYnVtIjoiQ3JlYXRlIGFsYnVtIiwidmlkZW9fYWRkX3ByaXZhdGVfYWxidW0iOiJDcmVhdGUgYSBwcml2YXRlIGFsYnVtIiwidmlkZW9fYWRkX3RvX2dyb3VwIjoiQWRkIHRvIGNvbW11bml0eSIsInZpZGVvX2V4cG9ydF9hY3Rpb24iOiJFeHBvcnQiLCJ2aWRlb19zdGF0aXN0aWNzIjoiU3RhdGlzdGljcyIsInZpZGVvX2NvbXBsYWluIjoiUmVwb3J0IiwidmlkZW9fc2VsZWN0X2FsYnVtcyI6IlNlbGVjdCBhbGJ1bXMiLCJ2aWRlb190Y19zdXJlX2RlbGV0ZSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyB2aWRlbz88YnI+PGJyPllvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIHJlc3RvcmUgdGFncyBhbmQgY29tbWVudHMuIiwidmlkZW9fdGNfZGVsZXRlIjoiRGVsZXRlIiwidmlkZW9fZGVsZXRlX2RpYWxvZ190aXRsZSI6IkRlbGV0ZSB2aWRlbyIsInZpZGVvX2RlbGV0ZV9ib3hfbm9fdGl0bGUiOiJObyIsInZpZGVvX21lbnVfZGVsZXRlIjoiRGVsZXRlIHZpZGVvIiwidmlkZW9fdmlld3NfY291bnRfdHRfdGV4dCI6Ik9yaWdpbmFsIHZpZGVvIHZpZXdzICh0b3RhbCB2aWV3cykiLCJ2aWRlb19vbmx5X3ByaXZhdGVfdmlkZW8iOiJUaGlzIHZpZGVvIGNhbiBvbmx5IGJlIGFkZGVkIHRvIGEgcHJpdmF0ZSBhbGJ1bSIsInZpZGVvX2xlYXZlX2Nsb3NlZF9ncm91cF90aXRsZSI6IkxlYXZlIGNsb3NlZCBjb21tdW5pdHkiLCJ2aWRlb19sZWF2ZV9jbG9zZWRfZ3JvdXBfdGV4dCI6IllvdSBhcmUgYWJvdXQgdG8gbGVhdmUgYSBjbG9zZWQgY29tbXVuaXR5LiBJdCBtYXkgbm90IGJlIHRoYXQgZWFzeSB0byBjb21lIGJhY2suIExlYXZlIHRoZSBjb21tdW5pdHk/IiwidmlkZW9fbGVhdmVfYWRtaW5lZF9ncm91cF90ZXh0IjoiWW91IGFyZSBhbiA8Yj5hZG1pbmlzdHJhdG9yPFwvYj4gaW4gdGhpcyBjb21tdW5pdHkuIFlvdSB3aWxsIGxvc2UgdGhpcyBwb3NpdGlvbiBpZiB5b3UgbGVhdmUgbm93LiBMZWF2ZSB0aGUgY29tbXVuaXR5PyIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlX3RvX2F1dGhvciI6IlN1YnNjcmliZSIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlZF9tc2ciOiJGb2xsb3dpbmciLCJ2aWRlb19wbGF5ZXJfbmV4dF90aXRsZSI6Ik5leHQgdmlkZW8iLCJ2aWRlb19pX2xpa2UiOiJMaWtlIiwidmlkZW9fc2hhcmVfd2l0aF9mcmllbmRzIjoiU2hhcmUiLCJ2aWRlb19hZGRfZmxhc2giOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfZmxhc2giOiJWaWRlbyBhZGRlZCB0byBNeSBWaWRlb3MiLCJ2aWRlb19jb21tZW50c19zdW1tYXJ5IjpbIiIsIiVzIGNvbW1lbnQiLCIlcyBjb21tZW50cyJdLCJ2aWRlb19OX3ZpZXdzX2xpc3QiOlsiIiwiJXMgdmlldyIsIiVzIHZpZXdzIl0sInZpZGVvX3BsYXlsaXN0X3JldmVyc2VfdHQiOiJSZXZlcnNlIG9yZGVyIiwidmlkZW9fcGxheWxpc3RfYXV0b3BsYXlfZGlzYWJsZV90dCI6IkRpc2FibGUgYXV0b3BsYXkiLCJ2aWRlb19wbGF5bGlzdF9hdXRvcGxheV9lbmFibGVfdHQiOiJFbmFibGUgYXV0b3BsYXkiLCJ2aWRlb19saXZlX05fd2F0Y2hpbmciOlsiIiwiJXMgaXMgd2F0Y2hpbmcgbm93IiwiJXMgYXJlIHdhdGNoaW5nIG5vdyJdLCJ2aWRlb19saXZlX2NoYXRfbXNnX3Rvb19sb25nIjoiVGhlIG1lc3NhZ2UgaXMgdG9vIGxvbmciLCJ2aWRlb19saXZlX2NoYXRfdG9vX2Zhc3QiOiJUb28gZmFzdIUiLCJ2aWRlb19hcmlhX21pbmltaXplX3BsYXlsaXN0IjoiSGlkZSBwbGF5bGlzdCIsInZpZGVvX2FyaWFfZXhwYW5kX3BsYXlsaXN0IjoiU2hvdyBwbGF5bGlzdCIsInZpZGVvX2FyaWFfbWluaW1pemVfY2hhdCI6IkhpZGUgY2hhdCIsInZpZGVvX2FyaWFfZXhwYW5kX2NoYXQiOiJFeHBhbmQgY2hhdCIsInZpZGVvX2xpdmVfbm90aWZ5X3N1YnNjcmliZWQiOiJTdHJlYW0gbm90aWZpY2F0aW9ucyBlbmFibGVkIiwidmlkZW9fbGl2ZV9ub3RpZnlfdW5zdWJzY3JpYmVkIjoiU3RyZWFtIG5vdGlmaWNhdGlvbnMgZGlzYWJsZWQiLCJ2aWRlb19saXZlX3lvdV9oYXZlX1hfbW9uZXkiOiJZb3UgaGF2ZSB7bW9uZXl9IiwidmlkZW9fdW5mb2xsb3dfZnJpZW5kX3RpdGxlIjoiUmVtb3ZlIGZyb20gZnJpZW5kcyIsInZpZGVvX3VuZm9sbG93X2ZyaWVuZF90ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSBLaXJpbGwgZnJvbSB5b3VyIGZyaWVuZCBsaXN0PyJ9LCJtdkRhdGEiOnsidGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwiZGVzYyI6IkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPnByb2plY3Q4MTguY29tIHwgdmsuY29tXC9wcm9qZWN0ODE4cnVzc2lhIHwgdmsuY29tXC9wcm9qZWN0ODE4PGJyPjxicj5mYWNlYm9vay5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+aW5zdGFncmFtLmNvbVwvcHJvamVjdDgxODxicj50d2l0dGVyLmNvbVwvcHJvamVjdDgxODxicj48YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThjaGFtcCIsIm9pZCI6MjE1MjY5OSwidmlkIjoxNjg1OTE3NDEsImF1dGhvcklkIjoyMTUyNjk5LCJhdXRob3JQaG90byI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYyMzgyNFwvdjYyMzgyNDY5OVwvNTU1NzVcL0NDUVoyOWwwQjlrLmpwZyIsImF1dGhvckhyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJ2aWRlb1JhdyI6IjIxNTI2OTlfMTY4NTkxNzQxIiwiaGFzaCI6IjAyMzY0NmMwYmM3MTEwYWQ5MSIsImxpa2VIYXNoIjoiMzBjYzE4OTJmODFkZWI2MjM1IiwiZWRpdEhhc2giOiIiLCJlZGl0RnJvbURyb3Bkb3duIjowLCJoaWRlRWRpdCI6bnVsbCwiY29tbXNob3duIjowLCJjb21tY291bnQiOjAsImxpa2VkIjpmYWxzZSwibGlrZXMiOjAsImFkZGVkIjowLCJjYW5fYWRkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsIm5vbGlrZXMiOjEsImR1cmF0aW9uIjoyOTksInZzZWdzU2l6ZSI6MjkuMDAwMDAwLCJwbGF5bGlzdHMiOltdLCJ1cGxvYWRlZCI6ZmFsc2UsInB1Ymxpc2hlZCI6dHJ1ZSwibm9Db250cm9scyI6ZmFsc2UsInBsYXlsaXN0QWRkSGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImRlbGV0ZUhhc2giOiIiLCJyZXBvcnRSZWFzb25zIjpbXSwicmVwb3J0SGFzaCI6IjFkY2MzZjJkNDE2OWY1NTBjMCIsImluZm8iOlsyMTUyNjk5LDE2ODU5MTc0MSwiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsIkJFQVQgU09VTCBTVEVQIJcgUkRDMTQgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCwgTWF5IDEtMiwgTW9zY293IDIwMTQiLDMsIjQ6NTkiLCIiLCIiLCI8YSBocmVmPVwiXC9seWFub2kua2lyaWxsXCIgY2xhc3M9XCJtZW1fbGlua1wiPktpcmlsbCBMeWFub3k8XC9hPiIsMTM5OTg3NTc4MywzN10sImNhbkV4cG9ydCI6MSwiaXNWaWRlb0FkcyI6ZmFsc2UsImRlbGV0ZUZyb21BbGxBbGJ1bXNIYXNoIjoiIiwiaXNfbGl2ZSI6MCwiaXNfYWN0aXZlX2xpdmUiOjAsIlBMQVlMSVNUX0FEREVEX0lEIjotMiwiUExBWUxJU1RfVVBMT0FERURfSUQiOi0xLCJub1B1YmxpY0FkZCI6ZmFsc2UsIlBMQVlFUl9GVUxMX1dJRFRIIjo5NjAsIlBMQVlFUl9GVUxMX0hFSUdIVCI6NTQwLCJQTEFZRVJfUExfV0lEVEgiOjcyMCwiUExBWUVSX1BMX0hFSUdIVCI6NDA1LCJsX3R5cGUiOjIsImt6IjowLCJ0bnNfbW9uZXRpemVkIjp0cnVlfSwid2FsbFRwbCI6eyJyZXBseV9ib3giOiI8ZGl2IGlkPVwicmVwbHlfYm94X3dyYXAlcG9zdF9pZCVcIj48ZGl2IGNsYXNzPVwicmVwbHlfYm94X2lubmVyX3dyYXBcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hfd3JhcFwiIGlkPVwicmVwbHlfZmFrZWJveCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5zaG93RWRpdFJlcGx5KCclcG9zdF9pZCUnLCBldmVudClcIiBkYXRhLW93bmVyLXBob3RvPVwiJW93bmVyX3Bob3RvJVwiIGRhdGEtb3duZXItaHJlZj1cIiVvd25lcl9ocmVmJVwiPlxuICAgIDxkaXYgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJcIj5cbiAgPGEgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfbGlua1wiIGhyZWY9XCJcL2lkXCIgb25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpXCI+XG4gICAgPGltZyBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9pbWFnZVwiIHNyYz1cIlwvaW1hZ2VzXC9jYW1lcmFfNTAucG5nXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+JXVzZXJfaW1hZ2UlXG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hcIj5MZWF2ZSBhIGNvbW1lbnQuLi48XC9kaXY+PFwvZGl2PlxuPFwvZGl2PjxcL2Rpdj48aW5wdXQgdHlwZT1cImhpZGRlblwiIGlkPVwicG9zdF9oYXNoJXBvc3RfaWQlXCIgdmFsdWU9XCIxNDkwNjQ4NDk1XzM1NjAwMDJiMjc3OWM0NWI0YlwiIGNhbl9yZXBseV9hc19ncm91cD1cIiVjYW5fcmVwbHlfYXNfZ3JvdXAlXCIgXC8+IiwicmVwbHlfZm9ybSI6IjxkaXYgaWQ9XCJyZXBseV9ib3glcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0X2JveCByZXBseV9ib3ggY2xlYXJfZml4IF9zdWJtaXRfcG9zdF9ib3hcIiBvbmNsaWNrPVwicmV0dXJuIGNhbmNlbEV2ZW50KGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9ybVwiPlxuICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgaWQ9XCJyZXBseV90byVwb3N0X2lkJVwiIHZhbHVlPVwiXCIgXC8+XG4gICAgPGRpdiBjbGFzcz1cInBvc3RfZmllbGRfdXNlclwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIlwvaWRcIiBvbmNsaWNrPVwicmV0dXJuIG5hdi5nbyh0aGlzLCBldmVudClcIj5cbiAgICA8aW1nIGNsYXNzPVwicG9zdF9maWVsZF91c2VyX2ltYWdlXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPFwvYT5cbjxcL2Rpdj4ldXNlcl9pbWFnZSVcbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZmllbGRfd3JhcCBfZW1vamlfZmllbGRfd3JhcFwiPlxuICAgICAgPGRpdiBpZD1cInJlcGx5X3NtaWxlJXBvc3RfaWQlXCIgY2xhc3M9XCJlbW9qaV9zbWlsZV93cmFwICBfZW1vamlfd3JhcFwiPlxuICA8ZGl2IGNsYXNzPVwiZW1vamlfc21pbGUgX2Vtb2ppX2J0blwiIHRpdGxlPVwiVXNlIHRoZSBUQUIga2V5IHRvIGluc2VydCBlbW9qaSBmYXN0ZXJcIiBvbm1vdXNlb3Zlcj1cInJldHVybiBFbW9qaS5zaG93KHRoaXMsIGV2ZW50KTtcIiBvbm1vdXNlb3V0PVwicmV0dXJuIEVtb2ppLmhpZGUodGhpcywgZXZlbnQpO1wiIG9uY2xpY2s9XCJyZXR1cm4gY2FuY2VsRXZlbnQoZXZlbnQpO1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlbW9qaV9zbWlsZV9pY29uXCI+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfZmllbGQlcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2ZpZWxkIHN1Ym1pdF9wb3N0X2ZpZWxkXCIgb25mb2N1cz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KTtcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJMZWF2ZSBhIGNvbW1lbnQuLi5cIj48XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIDxkaXYgaWQ9XCJzdWJtaXRfcmVwbHklcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0IGNsZWFyX2ZpeFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X3dhcm4gY2xlYXJcIiBpZD1cInJlcGx5X3dhcm4lcG9zdF9pZCVcIj48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfbWVkaWFfcHJldmlldyVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfbWVkaWFfcHJldmlldyBjbGVhcl9maXggbWVkaWFfcHJldmlld1wiPjxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZGRwb3N0X2J1dHRvbl93cmFwXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmbGF0X2J1dHRvbiBhZGRwb3N0X2J1dHRvblwiIGlkPVwicmVwbHlfYnV0dG9uJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwuc2VuZFJlcGx5KCclcG9zdF9pZCUnLCBldmVudCwge30pO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseVN1Ym1pdFRvb2x0aXAoJyVwb3N0X2lkJScsIDEsIHRoaXMpO1wiIG9ubW91c2VvdXQ9XCJ3YWxsLnJlcGx5U3VibWl0VG9vbHRpcCgnJXBvc3RfaWQlJywgMCwgdGhpcyk7XCI+UG9zdDxcL2J1dHRvbj5cbiAgICAgIDxcL2Rpdj5cbiAgICAgICVhZGRfYnV0dG9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX2FkZF9tZWRpYVwiIGlkPVwicmVwbHlfYWRkX21lZGlhXyVwb3N0X2lkJVwiPjxcL2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJyZXBseV90b190aXRsZSVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfdG9fdGl0bGUgYWRkcG9zdF9wb3B0XCI+PFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fb2ZmaWNpYWwiOiI8ZGl2IGNsYXNzPVwiYWRkcG9zdF9vcHQgY2hlY2tib3hfb2ZmaWNpYWxcIiBpZD1cInJlcGx5X2FzX2dyb3VwJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwucmVwbHlBc0dyb3VwKHRoaXMpO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiBvbmZvY3VzPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIm9uIGJlaGFsZiBvZiB0aGUgdXNlclwiPlxuICA8aW1nIGNsYXNzPVwidGh1bWJfb2ZmXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPGltZyBjbGFzcz1cInRodW1iX29uXCIgc3JjPVwiJW93bmVyX3Bob3RvJVwiIFwvPlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fZ3JvdXBfaW1hZ2UiOiI8ZGl2IGNsYXNzPVwicG9zdF9maWVsZF9ncm91cFwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIiVvd25lcl9ocmVmJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPlxuICAgIDxpbWcgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfaW1hZ2VcIiBzcmM9XCIlb3duZXJfcGhvdG8lXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+IiwicmVwbHlfbXVsdGlsaW5lIjpmYWxzZSwicmVwbHlfbXVsdGlsaW5lX2ludHJvIjp0cnVlLCJyZXBseV9saW5rX3dyYXAiOiI8ZGl2IGNsYXNzPVwicmVwbHlfbGlua193cmFwXCI+XG4gIDxhIGNsYXNzPVwicmVwbHlfbGluayBfcmVwbHlfbG5rXCI+UmVwbHk8XC9hPlxuPFwvZGl2PiIsInJlcGx5X2xpbmtfdG8iOiIgPGEgY2xhc3M9XCJyZXBseV90b1wiPnJlcGxpZWQgdG8gJXRvX3VzZXIlPFwvYT4iLCJyZXBseV9mYXN0IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiXC9pZFwiPlxuICAgICAgPGltZyBzcmM9XCJcL2ltYWdlc1wvY2FtZXJhXzUwLnBuZ1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiREVMRVRFRFwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiXC9pZFwiIGRhdGEtZnJvbS1pZD1cIjBcIj5ERUxFVEVEPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPjxkaXYgY2xhc3M9XCJ3YWxsX3JlcGx5X3RleHRcIj4lbWVzc2FnZSU8XC9kaXY+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zvb3RlciBjbGVhcl9maXhcIiBpZD1cIndwZV9ib3R0b20lcmVwbHlfaWQlXCI+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPiVkYXRlJTxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPlxuICA8YSBjbGFzcz1cInJlcGx5X2xpbmsgX3JlcGx5X2xua1wiPlJlcGx5PFwvYT5cbjxcL2Rpdj5cbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJyZXBseV9tdWx0aWxpbmVfaGludCI6IjxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF93cmFwXCIgIG9uY2xpY2s9XCJzdG9wRXZlbnQoZXZlbnQpO1wiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfc3VibWl0X2hpbnRfdGl0bGVcIj5TaG9ydGN1dHM8XC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCIgaWQ9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVkaXNhYmxlZCUgXCIgZGF0YS12YWw9XCIwXCIgb25jbGljaz1cInJhZGlvYnRuKHRoaXMsIDAsICdyZXBseV9zdWJtaXQnKTsgd2FsbC5vblJlcGx5U3VibWl0Q2hhbmdlZCgwKTtcIj48ZGl2IGNsYXNzPVwicmFkaW9idG5fbGFiZWxcIj48Yj5FbnRlcjxcL2I+IJcgc2VuZCBtZXNzYWdlPGJyPjxiPlNoaWZ0K0VudGVyPFwvYj4glyBuZXcgbGluZTxcL2Rpdj48XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVlbmFibGVkJSBcIiBkYXRhLXZhbD1cIjFcIiBvbmNsaWNrPVwicmFkaW9idG4odGhpcywgMSwgJ3JlcGx5X3N1Ym1pdCcpOyB3YWxsLm9uUmVwbHlTdWJtaXRDaGFuZ2VkKDEpO1wiPjxkaXYgY2xhc3M9XCJyYWRpb2J0bl9sYWJlbFwiPjxiPkN0cmwrRW50ZXI8XC9iPiCXIHNlbmQgbWVzc2FnZTxicj48Yj5FbnRlcjxcL2I+IJcgbmV3IGxpbmU8XC9kaXY+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwicmVwbHlfYnV0dG9uIjoiPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBvc3RfcmVwbHkgX3JlcGx5X3dyYXBcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hvd0VkaXRSZXBseSgnJXBvc3RfaWQlJywgZXZlbnQpXCI+XG4gIDxpIGNsYXNzPVwicG9zdF9yZXBseV9pY29uIF9pY29uXCI+PFwvaT5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2xpbmsgX2xpbmtcIj5Db21tZW50PFwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2NvdW50IF9jb3VudFwiPjxcL3NwYW4+XG48XC9hPiIsInJlcGx5X2xpbmsiOiI8c3BhbiBpZD1cInJlcGx5X2xpbmslcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJyZXBseV9saW5rXCIgb25jbGljaz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KVwiPkNvbW1lbnQ8XC9hPjxcL3NwYW4+Iiwib3duX3JlcGx5X2xpbmsiOiI8c3BhbiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGNsYXNzPVwicmVwbHlfbGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VTaGFyZUN1c3RvbSgnJXBvc3RfaWQlJylcIj5SZXBseTxcL2E+PFwvc3Bhbj4iLCJlZGl0X2xpbmsiOiI8c3BhbiBjbGFzcz1cImRpdmlkZVwiPnw8XC9zcGFuPjxhIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcG9zdF9pZCUnKVwiPkVkaXQgPFwvYT4iLCJwb3N0IjoiPGRpdiBpZD1cInBvc3QlcG9zdF9pZCVcIiBjbGFzcz1cIl9wb3N0IHBvc3QgcGFnZV9ibG9ja1wiIGRhdGEtcG9zdC1pZD1cIiVwb3N0X2lkJVwiIG9uY2xpY2s9XCJ3YWxsLnBvc3RDbGljaygnJXBvc3RfaWQlJywgZXZlbnQpO1wiID5cbiAgPGRpdiBjbGFzcz1cIl9wb3N0X2NvbnRlbnRcIj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9oZWFkZXJcIj5cbiAgICAgIDxhIGNsYXNzPVwicG9zdF9pbWFnZSVvbmxpbmVfY2xhc3MlXCIgaHJlZj1cIiVsaW5rJVwiPlxuICAgICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiBkYXRhLXBvc3QtaWQ9XCIlcG9zdF9pZCVcIiBkYXRhLXBvc3QtY2xpY2stdHlwZT1cInBvc3Rfb3duZXJfaW1nXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgY2xhc3M9XCJwb3N0X2ltZ1wiIFwvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCI+LjxcL3NwYW4+XG4gICAgICA8XC9hPlxuICAgICAgPGRpdiBjbGFzcz1cInBvc3RfaGVhZGVyX2luZm9cIj5cbiAgICAgICAgPGg1IGNsYXNzPVwicG9zdF9hdXRob3JcIj4lbmFtZSU8XC9oNT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc3RfZGF0ZVwiPjxhIGNsYXNzPVwicG9zdF9saW5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gc2hvd1dpa2koe3c6ICd3YWxsJXBvc3RfaWQlJ30sIGZhbHNlLCBldmVudCk7XCI+JWRhdGUlPFwvYT48XC9kaXY+XG4gICAgICAgICVhY3Rpb25zJVxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG9zdF9pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWxsX3RleHRcIj4ldGV4dCU8XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3N0X2Z1bGxfbGlrZV93cmFwIGNsZWFyX2ZpeFwiPlxuICA8ZGl2IGNsYXNzPVwicG9zdF9mdWxsX2xpa2VcIj5cbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwicG9zdF9saWtlIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbm1vdXNlb3Zlcj1cIldhbGwubGlrZXNTaG93KHRoaXMsICclcG9zdF9pZCUnKVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5saWtlSXQodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NDk1XzhkZTMzMTYzZWZlMTA3MDE3MicsIGV2ZW50KTtcIj5cbiAgICAgIDxpIGNsYXNzPVwicG9zdF9saWtlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwb3N0X2xpa2VfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3RfbGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuICAgIDxcL2E+XG4gICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgb25jbGljaz1cIldhbGwubGlrZXNTaG93TGlzdCh0aGlzLCAnJXBvc3RfaWQlJylcIj5TaG93IGxpa2VzPFwvc3Bhbj5cbiAgICAlcmVwbHlfYnV0dG9uJVxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwb3N0X3NoYXJlIF9zaGFyZV93cmFwIG5vX3NoYXJlc1wiICBvbm1vdXNlb3Zlcj1cIldhbGwuc2hhcmVzU2hvdyh0aGlzLCAnJXBvc3RfaWQlJylcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hhcmVzT3BlbihldmVudCwgJyVwb3N0X2lkJScpO1wiPlxuICAgICAgPGkgY2xhc3M9XCJwb3N0X3NoYXJlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbiAgICA8XC9hPlxuICAgIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLnNoYXJlc1Nob3dMaXN0KHRoaXMsICclcG9zdF9pZCUnKVwiPlNob3cgc2hhcmVkIGNvcGllczxcL3NwYW4+XG4gICAgXG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBvc3Rfdmlld3MgX3ZpZXdzX3dyYXAgbm9fdmlld3MgX2F1dG9fdXBkYXRlXCIgb25tb3VzZW92ZXI9XCJXYWxsLnZpZXdzVXBkYXRlKHRoaXMsICclcG9zdF9pZCUnKVwiPlxuICA8aSBjbGFzcz1cInBvc3Rfdmlld3NfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwicG9zdF92aWV3c19jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvZGl2PlxuPFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbGllc1wiPjxkaXYgY2xhc3M9XCJyZXBsaWVzX3dyYXBcIiBpZD1cInJlcGxpZXNfd3JhcCVwb3N0X2lkJVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGxpZXNfbGlzdCBfcmVwbGllc19saXN0XCIgaWQ9XCJyZXBsaWVzJXBvc3RfaWQlXCI+PGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cInN0YXJ0X3JlcGx5JXBvc3RfaWQlXCIgdmFsdWU9XCJcIlwvPjxcL2Rpdj5cbiAgJXJlcGx5X2JveCVcbjxcL2Rpdj48XC9kaXY+XG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIFxuICA8XC9kaXY+XG4gIFxuPFwvZGl2PiIsInJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAlY2xhc3NuYW1lJSBfcG9zdFwiIGRhdGEtcG9zdC1pZD1cIiVyZXBseV9pZCVcIiAlYXR0ciU+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV93cmFwIF9yZXBseV9jb250ZW50IF9wb3N0X2NvbnRlbnQgY2xlYXJfZml4XCI+XG4gICAgXG4gICAgPGEgY2xhc3M9XCJyZXBseV9pbWFnZVwiIGhyZWY9XCIlbGluayVcIj5cbiAgICAgIDxpbWcgc3JjPVwiJXBob3RvJVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiJW5hbWUlXCIgXC8+XG4gICAgPFwvYT5cbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfY29udGVudFwiID5cbiAgICAgICVhY3Rpb25zJVxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2F1dGhvclwiPlxuICAgICAgICA8YSBjbGFzcz1cImF1dGhvclwiIGhyZWY9XCIlbGluayVcIiBkYXRhLWZyb20taWQ9XCIlcmVwbHlfdWlkJVwiPiVuYW1lJTxcL2E+JXRvX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfdGV4dFwiID4ldGV4dCU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9vdGVyIGNsZWFyX2ZpeFwiIGlkPVwid3BlX2JvdHRvbSVyZXBseV9pZCVcIj5cbiAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpa2Vfd3JhcCBfbGlrZV93cmFwIG5vX2xpa2VzXCIgb25jbGljaz1cInJldHVybiBXYWxsLmxpa2VJdCh0aGlzLCAnJWxpa2VfaWQlJywgJzE0OTA2NDg0OTVfOGRlMzMxNjNlZmUxMDcwMTcyJywgZXZlbnQpO1wiIG9ubW91c2VvdmVyPVwiV2FsbC5saWtlc1Nob3codGhpcywgJyVsaWtlX2lkJScpXCI+XG4gIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIj5MaWtlPFwvc3Bhbj5cbiAgPGkgY2xhc3M9XCJsaWtlX2ljb24gX2ljb25cIj48XC9pPlxuICA8c3BhbiBjbGFzcz1cImxpa2VfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbjxcL2E+XG48c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIiBvbmNsaWNrPVwiV2FsbC5saWtlc1Nob3dMaXN0KHRoaXMsICclbGlrZV9pZCUnKVwiPlNob3cgbGlrZXM8XC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPjxhIGNsYXNzPVwid2RfbG5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJT9yZXBseT0lcmVwbHlfbXNnX2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPiVkYXRlJTxcL2E+PFwvZGl2PlxuICAgICAgICAlYW5zd2VyX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwiZGVsIjoiPGEgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfaXRlbVwiIG9uY2xpY2s9XCJ3YWxsLmRlbGV0ZVBvc3QodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NDk1X2NhYTFkOGU2MmEwMGVlZWQ1NycpOyByZXR1cm4gZmFsc2U7XCI+RGVsZXRlIHBvc3Q8XC9hPiIsInNwYW0iOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXBvc3RfaWQlJywgJzE0OTA2NDg0OTVfOGM5NGM1YmM5YTZhZDYxNTQxJyk7IHJldHVybiBmYWxzZTtcIj5SZXBvcnQ8XC9hPiIsImVkaXQiOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwuZWRpdFBvc3QodGhpcywgJyVwb3N0X2lkJScpOyByZXR1cm4gZmFsc2U7XCI+RWRpdCA8XC9hPiIsInBvc3RfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfd3JhcCBfdWlfbWVudV93cmFwIFwiIG9ubW91c2VvdmVyPVwidWlBY3Rpb25zTWVudS5zaG93KHRoaXMpO1wiIG9ubW91c2VvdXQgPVwidWlBY3Rpb25zTWVudS5oaWRlKHRoaXMpO1wiPlxuICA8ZGl2IGNsYXNzPVwidWlfYWN0aW9uc19tZW51X2ljb25zXCIgIHRhYmluZGV4PVwiMFwiIGFyaWEtbGFiZWw9XCJBY3Rpb25zXCIgcm9sZT1cImJ1dHRvblwiIG9uY2xpY2s9XCJ1aUFjdGlvbnNNZW51LmtleVRvZ2dsZSh0aGlzLCBldmVudCk7XCI+PHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkFjdGlvbnM8XC9zcGFuPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInVpX2FjdGlvbnNfbWVudSBfdWlfbWVudVwiID4lYWN0aW9ucyU8XC9kaXY+XG48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIndhbGwuZGVsZXRlUG9zdCh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NDk1X2NhYTFkOGU2MmEwMGVlZWQ1NycpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJEZWxldGVcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJzcGFtX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiUmVwb3J0XCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NDk1XzhjOTRjNWJjOWE2YWQ2MTU0MScpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0IFwiIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcmVwbHlfaWQlJyk7XCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIkVkaXQgXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwicmVwbHlfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJmbF9yIHBvc3RfYWN0aW9uc193cmFwXCI+PGRpdiBjbGFzcz1cInBvc3RfYWN0aW9uc1wiPiVhY3Rpb25zJTxcL2Rpdj48XC9kaXY+IiwicG9sbF9zdGF0cyI6IjxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfc3RhdFwiJWhhbmRsZXJzJT5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF90ZXh0XCI+JW9wdGlvbl90ZXh0JTxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93X3BlcmNlbnRcIj4lcGVyY2VudCUlPFwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93JXJvd19jbGFzcyVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcGVyY2VudFwiIHN0eWxlPVwid2lkdGg6ICVjc3NfcGVyY2VudCUlXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfY291bnRcIj4lY291bnQlPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInBvbGxfaGFzaCI6IjE0OTA2NDg0OTVfNzE3ZTQyZjZhYzlhMmYzN2ZiIiwiZGF0ZV9mb3JtYXQiOiJ0b2RheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRpbWVfc3lzdGVtIjpbInBtIiwiYW0iXSwiYWJzX3RpbWVzdGFtcCI6MTQ5MDY0ODQ5NSwibGFuZyI6eyJ3YWxsX01fcmVwbGllc19vZl9OIjpbIiIsIiVzIGNvbW1lbnQgb2Yge2xpbmt9e2FsbH17XC9saW5rfSIsIiVzIGNvbW1lbnRzIG9mIHtsaW5rfXthbGx9e1wvbGlua30iXSwid2FsbF9oaWRlX3JlcGxpZXMiOiJIaWRlIGNvbW1lbnRzIiwid2FsbF9zaG93X25fb2ZfbV9sYXN0IjpbIiIsIlNob3cgbGF0ZXN0ICVzIGNvbW1lbnQgb3V0IG9mIHtjb3VudH0iLCJTaG93IGxhdGVzdCAlcyBjb21tZW50cyBvdXQgb2Yge2NvdW50fSJdLCJ3YWxsX3Nob3dfYWxsX25fcmVwbGllcyI6WyIiLCJTaG93ICVzIGNvbW1lbnQiLCJTaG93IGFsbCAlcyBjb21tZW50cyJdLCJ3YWxsX05fcmVwbGllcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwid2FsbF90aHJlZV9sYXN0X3JlcGxpZXMiOiJsYXN0IHRocmVlIHBvc3RzIiwid2FsbF9hbGxfcmVwbGllcyI6ImFsbCBjb21tZW50cyIsIndhbGxfeF9uZXdfcmVwbGllc19tb3JlIjpbIiIsIiVzIG5ldyBjb21tZW50IGFkZGVkIiwiJXMgbmV3IGNvbW1lbnRzIGFkZGVkIl0sIndhbGxfWF9wZW9wbGVfdm90ZWQiOlsiIiwiPGI+JXM8XC9iPiBwZXJzb24gdm90ZWQuIiwiPGI+JXM8XC9iPiBwZW9wbGUgdm90ZWQuIl0sIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMSI6IlNoaWZ0K0VudGVyIJcgbmV3IGxpbmUiLCJ3YWxsX3JlcGx5X3N1Ym1pdF9oaW50XzIiOiJDdHJsK0VudGVyIJYgc2VuZCBtZXNzYWdlIiwid2FsbF9yZXBseV9zdWJtaXRfaGludF8xX21vcmUiOiJFbnRlciCXIHNlbmQgbWVzc2FnZSwgU2hpZnQrRW50ZXIglyBuZXcgbGluZSIsIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMl9tb3JlIjoiRW50ZXIglyBuZXcgbGluZSwgQ3RybCtFbnRlciCXIHNlbmQgbWVzc2FnZSIsIndhbGxfcmVwbHlfcG9zdCI6IlJlcGx5Iiwid2FsbF9yZXBsaWVkX3RvX2dyb3VwIjoidGhlIGFkbWluIiwid2FsbF9yZXBseV9hc191c2VyIjoib24gYmVoYWxmIG9mIHRoZSB1c2VyIiwid2FsbF9yZXBseV9hc19ncm91cCI6InBvc3QgYXMgY29tbXVuaXR5Iiwid2FsbF9hZGRfcGhvdG9fZXJyb3IiOiJVbmFibGUgdG8gdXBsb2FkIHRoZSBpbWFnZSIsIndhbGxfanVzdF9ub3ciOlsiIiwiT25lIHNlY29uZCBhZ28iLCJUd28gc2Vjb25kcyBhZ28iLCJUaHJlZSBzZWNvbmRzIGFnbyIsIkZvdXIgc2Vjb25kcyBhZ28iLCJGaXZlIHNlY29uZHMgYWdvIl0sIndhbGxfWF9zZWNvbmRzX2Fnb193b3JkcyI6WyIiLCJPbmUgc2Vjb25kIGFnbyIsIlR3byBzZWNvbmRzIGFnbyIsIlRocmVlIHNlY29uZHMgYWdvIiwiRm91ciBzZWNvbmRzIGFnbyIsIkZpdmUgc2Vjb25kcyBhZ28iXSwid2FsbF9YX3NlY29uZHNfYWdvIjpbIiIsIiVzIHNlY29uZCBhZ28iLCIlcyBzZWNvbmRzIGFnbyJdLCJ3YWxsX1hfbWludXRlc19hZ29fd29yZHMiOlsiIiwib25lIG1pbnV0ZSBhZ28iLCJ0d28gbWludXRlcyBhZ28iLCJ0aHJlZSBtaW51dGVzIGFnbyIsIjQgbWludXRlcyBhZ28iLCI1IG1pbnV0ZXMgYWdvIl0sIndhbGxfWF9taW51dGVzX2FnbyI6WyIiLCIlcyBtaW51dGUgYWdvIiwiJXMgbWludXRlcyBhZ28iXSwid2FsbF9YX2hvdXJzX2Fnb193b3JkcyI6WyIiLCJvbmUgaG91ciBhZ28iLCJ0d28gaG91cnMgYWdvIiwidGhyZWUgaG91cnMgYWdvIiwiZm91ciBob3VycyBhZ28iLCJmaXZlIGhvdXJzIGFnbyJdLCJ3YWxsX1hfaG91cnNfYWdvIjpbIiIsIiVzIGhvdXIgYWdvIiwiJXMgaG91cnMgYWdvIl19fSwic2hhcmVfdGltZWhhc2giOiIxNDkwNjQ4NDk1XzBiMWRkZWE5YTA3ZTI2NDk3NyIsImNvbW1lbnRzVHBsIjp7InJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbWVudENsaWNrKHRoaXMsIGV2ZW50LCAlZnJvbV9pZCUsICVyZXBseV9tc2dfaWQlKVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiJWhyZWYlXCI+XG4gICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiBjbGFzcz1cInJlcGx5X2ltZ1wiIGFsdD1cIiVuYW1lJVwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICAlYWN0aW9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiJWhyZWYlXCIgZGF0YS1mcm9tLWlkPVwiJWZyb21faWQlXCI+JW5hbWUlPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPiVtZXNzYWdlJTxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9mb290ZXIgY2xlYXJfZml4XCIgaWQ9XCJ3cGVfYm90dG9tJXJlcGx5X2lkJVwiPlxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibGlrZV93cmFwIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwubGlrZUl0KHRoaXMsICclcG9zdF9vaWQldmlkZW9fY29tbWVudCVyZXBseV9tc2dfaWQlbXYnLCAnMTQ5MDY0ODQ5NV84ZGUzMzE2M2VmZTEwNzAxNzInLCBldmVudCk7XCIgb25tb3VzZW92ZXI9XCJXYWxsLmxpa2VzU2hvdyh0aGlzLCAnJXBvc3Rfb2lkJXZpZGVvX2NvbW1lbnQlcmVwbHlfbXNnX2lkJW12JylcIj5cbiAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkxpa2U8XC9zcGFuPlxuICA8aSBjbGFzcz1cImxpa2VfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvYT5cbjxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VzU2hvd0xpc3QodGhpcywgJyVwb3N0X29pZCV2aWRlb19jb21tZW50JXJlcGx5X21zZ19pZCVtdicpXCI+U2hvdyBsaWtlczxcL3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9kYXRlXCI+JWRhdGUlPFwvZGl2PlxuICAgICAgICBcbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJhY3Rpb25zIjoiPGRpdiBjbGFzcz1cImZsX3IgcG9zdF9hY3Rpb25zX3dyYXBcIj48ZGl2IGNsYXNzPVwicG9zdF9hY3Rpb25zXCI+JWFjdGlvbnMlPFwvZGl2PjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0XCIgb25jbGljaz1cIldhbGwuZWRpdFBvc3QodGhpcywgJyVyZXBseV9pZCUnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJFZGl0XCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIlZpZGVvdmlldy5jb21tQWN0aW9uKCdkZWxldGUnLCAlcG9zdF9vaWQlLCAlcmVwbHlfbXNnX2lkJSwgJzE0OTA2NDg0OTVfZTc5NmVkYzhiZDIzMDY1ZDQ3JywgJ212JylcIiBvbm1vdXNlb3Zlcj1cInNob3dUaXRsZSh0aGlzKTtcIiBhcmlhLWxhYmVsPVwiRGVsZXRlXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+Iiwic3BhbV9yZXBseSI6IjxkaXYgaWQ9XCJyZXBseV9kZWxldGUlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9kZWxldGVfYnV0dG9uIHJlcGx5X2FjdGlvbiBmbF9yXCIgZGF0YS10aXRsZT1cIlJlcG9ydFwiIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbUFjdGlvbignc3BhbScsICVwb3N0X29pZCUsICVyZXBseV9tc2dfaWQlLCAnMTQ5MDY0ODQ5NV9lNzk2ZWRjOGJkMjMwNjVkNDcnLCAnbXYnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4ifSwicG9zdCI6IjIxNTI2OTlfdmlkZW8xNjg1OTE3NDFtdiIsIm1heFJlcGx5TGVuZ3RoIjoxNjM4NCwibWF4Q2hhdFJlcGx5TGVuZ3RoIjo2MDAsIm1heERlc2NyaXB0aW9uTGVuZ3RoIjoxMDI0LCJwdWJsaXNoQWN0aW9uIjoiIiwicGxfbGlzdCI6MCwiaXNfdmtfcGxheWVyIjowLCJpc19mbHYiOmZhbHNlLCJjYW50UGxheSI6MCwicGxheWVyIjp7InR5cGUiOiJ5b3V0dWJlIiwicGFyYW1zIjpbeyJsYW5nX2FkZCI6IkFkZCB0byBNeSBWaWRlb3MiLCJsYW5nX2FkZGVkIjoiVmlkZW8gYWRkZWQgdG8gTXkgVmlkZW9zIiwibGFuZ19zaGFyZSI6IlNoYXJlIiwibGFuZ19saWtlIjoiTGlrZSIsImxhbmdfZG9uYXRlIjoiRG9uYXRlIiwibGFuZ19zdWJzY3JpYmUiOiJTdWJzY3JpYmUiLCJsYW5nX3N1YnNjcmliZWQiOiJGb2xsb3dpbmciLCJsYW5nX3ZvbHVtZV9vbiI6IlVubXV0ZSIsImxhbmdfdm9sdW1lX29mZiI6Ik11dGUiLCJsYW5nX3ZvbHVtZSI6IlZvbHVtZSIsImxhbmdfaGRzZCI6IkNoYW5nZSBWaWRlbyBRdWFsaXR5IiwibGFuZ19xdWFsaXR5X2F1dG8iOiJBdXRvIiwibGFuZ19vcGVuX3BvcHVwIjoiRXhwYW5kIiwibGFuZ19mdWxsc2NyZWVuIjoiRnVsbCBTY3JlZW4iLCJsYW5nX3dpbmRvdyI6Ik1pbmltaXplIiwibGFuZ19yb3RhdGUiOiJSb3RhdGUiLCJsYW5nX2Fkc19saW5rIjoiQWR2ZXJ0aXNlciYjMzk7cyBTaXRlIiwibGFuZ19hZHMiOiJBZHMiLCJsYW5nX2Fkc19za2lwIjoiU2tpcCBhZCIsImxhbmdfYWRzX3NraXBfdGltZSI6IlNraXAgYWRzIGluIHt0aW1lfSBzIiwibGFuZ19yZXBvcnRfcHJvYmxlbSI6IlJlcG9ydCBhIHByb2JsZW0uLiIsImxhbmdfcGxheSI6IlBsYXkiLCJsYW5nX3BhdXNlIjoiUGF1c2UiLCJsYW5nX3JlcGxheSI6IlJlcGxheSIsImxhbmdfbmV4dCI6Ik5leHQgdmlkZW8iLCJsYW5nX25leHRfY2FuY2VsIjoiQ2FuY2VsIiwibGFuZ19nb3RvX29yaWdfdmlkZW8iOiJHbyB0byBWaWRlbyIsImxhbmdfZ290b19hZHZlcnRpc2Vyc19zaXRlIjoiR28gdG8gdGhlIHdlYnNpdGUiLCJsYW5nX2J1eV90aWNrZXRzIjpudWxsLCJsYW5nX2xvYWRfZXJyb3IiOiJBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbG9hZGluZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLCJsYW5nX2Vycl9jb2RlIjoiRXJyb3IgY29kZToge2NvZGV9IiwibGFuZ19iYWRfYnJvd3NlciI6IlNvcnJ5LCB5b3VyIGJyb3dzZXIgaXNuJiMzOTt0IHN1cHBvcnRlZCBhdCB0aGUgbW9tZW50IiwibGFuZ19saXZlIjoiTGl2ZSIsImxhbmdfbGl2ZV9zdGFydGluZ19zb29uIjoiVGhlIGxpdmUgd2lsbCBzdGFydCBzb29uIiwibGFuZ19saXZlX2ZhaWxlZCI6IkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHN0cmVhbWluZyIsImxhbmdfbGl2ZV93YWl0X3JlY29yZCI6IlRoZSBsaXZlIGhhcyBmaW5pc2hlZCBhbmQgd2lsbCBzb29uIGJlY29tZSBhdmFpbGFibGUgaW4gcmVwbGF5IiwibGFuZ19saXZlX3VzZXJfc2VudF9naWZ0IjpbIiIsInNlbnQgYSBnaWZ0Iiwic2VudCBhIGdpZnQiXSwibGFuZ19saXZlX3VzZXJfc2VudF9zdXBlcmNvbW1lbnQiOlsiIiwic2VudCBhIHN1cGVyIG1lc3NhZ2UiLCJzZW50IGEgc3VwZXIgbWVzc2FnZSJdLCJsYW5nX2xpdmVfZG93bmxvYWRfYXBwIjoiRG93bmxvYWQgYXBwIiwibGFuZ19hdXRvcGxheV92b2x1bWVfaGludCI6ItFsaWNrIHRvIHR1cm4gb24gdGhlIHNvdW5kIiwibGFuZ19hdXRvcGxheV9leHBhbmRfaGludCI6IkNsaWNrIHRvIGV4cGFuZCIsImxhbmdfdGltZWRfYnV0dG9uX2dvdG8iOiLP5fDl6fLoIiwibGFuZ190aW1lZF9idXR0b25fb3BlbiI6Ik9wZW4iLCJsYW5nX3RpbWVkX2J1dHRvbl9idXkiOiJCdXkiLCJsYW5nX3RpbWVkX2J1dHRvbl9idXlfdGlja2V0cyI6IkJ1eSB0aWNrZXRzIiwibGFuZ190aW1lZF9idXR0b25fY2hlY2tpbiI6bnVsbCwibGFuZ190aW1lZF9idXR0b25faW5zdGFsbCI6ItPx8uDt7uLo8vwiLCJsYW5nX3RpbWVkX2J1dHRvbl9jb250YWN0Ijoi0eL/5+Dy/PH/IiwibGFuZ190aW1lZF9idXR0b25fZmlsbCI6Isfg7+7r7ejy/CIsImxhbmdfdGltZWRfYnV0dG9uX2xlYXJuX21vcmUiOiJNb3JlIiwibGFuZ19jbWVudV9jb3B5X3ZpZGVvX2xpbmsiOiJDb3B5IHZpZGVvIGxpbmsiLCJsYW5nX2NtZW51X2NvcHlfdGltZWNvZGVfbGluayI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwibGFuZ19jbWVudV9jb3B5X2VtYmVkX2NvZGUiOiJDb3B5IGVtYmVkIGNvZGUiLCJsYW5nX2NtZW51X2VuYWJsZV9sb29wIjoiRW5hYmxlIGxvb3AiLCJsYW5nX2NtZW51X2Rpc2FibGVfbG9vcCI6IkRpc2FibGUgbG9vcCIsImxhbmdfY21lbnVfcGxheWJhY2tfc3BlZWQiOiJQbGF5YmFjayBzcGVlZCIsImxhbmdfY21lbnVfcmVwb3J0X2Vycm9yIjoiUmVwb3J0IGEgcHJvYmxlbS4uIiwibGFuZ19jbWVudV9jb3B5X2RlYnVnIjoiQ29weSBkZWJ1ZyBpbmZvIiwibGFuZ19hcmlhX3ZpZGVvcGxheWVyIjoiVksgVmlkZW8gUGxheWVyIiwibGFuZ19hcmlhX3ZvbHVtZV9zbGlkZXIiOiJWb2x1bWUgc2xpZGVyIiwibGFuZ19hcmlhX3ZvbHVtZV9tdXRlZCI6IlZvbHVtZSBpcyBtdXRlZCIsImxhbmdfYXJpYV90aW1lbGluZV9zbGlkZXIiOiJUaW1lIHNsaWRlciIsImxhbmdfYXJpYV90aW1lbGluZV92YWx1ZSI6Int0aW1lfSAodG90YWwgZHVyYXRpb24ge2R1cmF0aW9ufSkiLCJsYW5nX2FyaWFfZW50ZXJfZnVsbHNjcmVlbiI6IkVudGVyIGZ1bGwgc2NyZWVuIG1vZGUiLCJsYW5nX2FyaWFfZXhpdF9mdWxsc2NyZWVuIjoiRXhpdCBmdWxsIHNjcmVlbiBtb2RlIiwibGFuZ19hcmlhX3F1YWxpdHlfY3VycmVudCI6IkN1cnJlbnQgcXVhbGl0eSBpcyB7cXVhbGl0eX0iLCJ2aWRlb19wbGF5X2hkIjoiV2F0Y2ggaW4gSEQiLCJ2aWRlb19zdG9wX2xvYWRpbmciOiJTdG9wIERvd25sb2FkIiwidmlkZW9fcGxheWVyX3ZlcnNpb24iOiJWSyBWaWRlbyBQbGF5ZXIiLCJ2aWRlb19nZXRfdmlkZW9fY29kZSI6IkNvcHkgZW1iZWQgY29kZSIsInZpZGVvX2dldF9jdXJyZW50X3VybCI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwidmlkZW9fbG9hZF9lcnJvciI6IkFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBsb2FkaW5nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsImdvdG9fb3JpZ192aWRlbyI6IkdvIHRvIFZpZGVvIiwidmlkIjoxNjg1OTE3NDEsIm9pZCI6MjE1MjY5OSwibWRfdGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwibWRfYXV0aG9yIjoiS2lyaWxsIEx5YW5veSIsImF1dGhvcl9pZCI6MjE1MjY5OSwiYXV0aG9yX2hyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJhdXRob3JfcGhvdG8iOiJodHRwczpcL1wvcHAudXNlcmFwaS5jb21cL2M2MjM4MjRcL3Y2MjM4MjQ2OTlcLzU1NTc1XC9DQ1FaMjlsMEI5ay5qcGciLCJoYXNoIjoiNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYiLCJoYXNoMiI6ImVhMWQzZGI5ODgxODEyNWQiLCJpc19leHQiOjAsImR1cmF0aW9uIjoyOTksInQiOiIiLCJ2aWdvX2NpZCI6ImNmY2QyMDg0OTVkNTY1ZWY2NmU3ZGZmOWY5ODc2NGRhIiwidmlld2VyX2lkIjowLCJwb3N0X2lkIjpudWxsLCJtb2R1bGUiOiJwcm9maWxlIiwiZyI6MCwiYSI6MCwiY2lzIjowLCJyZWNvbW1lbmRfc2lnIjoiNDYxMTY4NzZhMmYxMGFhYmY0MmE4NzYyYzUzNDAzOGUiLCJlcnJvcl9zdGF0X2hhc2giOiIxNDkwNjQ4NDk1X2RiZmM3NjRlNjMyOTNhYTgwNiIsIm5vX2FkcyI6MSwibm9saWtlcyI6MSwiZXh0cmEiOiIyMSIsImV4dHJhX2RhdGEiOiI0VGh3czV3cTVHSSIsInRodW1iIjoiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsImpwZyI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYxNzgzMVwvdTk2MTIzMzAzXC92aWRlb1wveF81YmIwNTc4Zi5qcGciLCJoZCI6MCwibm9sb2dvIjoxLCJzaG93X25leHQiOjAsImxpa2VkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImFkZGVkIjowLCJjYW5fYWRkIjowLCJub190aXRsZSI6MCwidnNlZ3Nfc2l6ZSI6MjkuMDAwMDAwLCJ2c2Vnc19oYXNoIjoiMzkxNDQxZWIwMzg5YTI0MTQ2IiwicmVwb3J0X2Vycm9yX2hhc2giOiIzODM3MTllMGM4ZjU0NjY1OWEifV19fTwhPjwhcGFnZXZpZXdfY2FuZGlkYXRlPg==
46
- http_version:
47
- recorded_at: Mon, 27 Mar 2017 21:01:36 GMT
48
- recorded_with: VCR 3.0.3
@@ -1,48 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://vk.com/al_video.php
6
- body:
7
- encoding: US-ASCII
8
- string: User-Agent=VideoInfo%2F2.7&act=show&al=1&autoplay=0&module=profile&video=2152699_168591741
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Mozilla/5.0 (Linux; VideoInfo)
16
- - Ruby
17
- response:
18
- status:
19
- code: 200
20
- message: OK
21
- headers:
22
- Server:
23
- - Apache
24
- Date:
25
- - Mon, 27 Mar 2017 21:01:41 GMT
26
- Content-Type:
27
- - text/html; charset=windows-1251
28
- Content-Length:
29
- - '10404'
30
- Connection:
31
- - keep-alive
32
- X-Powered-By:
33
- - PHP/3.12334
34
- Set-Cookie:
35
- - remixlang=3; expires=Tue, 03 Apr 2018 23:21:01 GMT; path=/; domain=.vk.com
36
- Pragma:
37
- - no-cache
38
- Cache-Control:
39
- - no-store
40
- Strict-Transport-Security:
41
- - max-age=0
42
- body:
43
- encoding: ASCII-8BIT
44
- string: !binary |-
45
- PCEtLTMzMjY4NDA3MjMyMjg8IT51aV9tZWRpYV9zZWxlY3Rvci5qcyx1aV9tZWRpYV9zZWxlY3Rvci5jc3MsZW1vamkuanMsbm90aWZpZXIuY3NzLHZpZGVvdmlldy5qcyx2aWRlb3ZpZXcuY3NzLHBhZ2UuanMscGFnZS5jc3MscG9zdC5jc3MsdWlfY29udHJvbHMuanMsdWlfY29udHJvbHMuY3NzPCE+MzwhPjM3MDQ8IT4wPCE+QkVBVCBTT1VMIFNURVAglyBSREMxNCBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwLCBNYXkgMS0yLCBNb3Njb3cgMjAxNDwhPjxkaXYgY2xhc3M9InZpZGVvX2JveF93cmFwIj4KICA8ZGl2IGlkPSJ2aWRlb19wbGF5ZXIiPgogICAgPGRpdiBpZD0idmlkZW9feXQiIHRhYmluZGV4PSIwIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdXRsaW5lOjA7Ij4KICAgICAgPGlmcmFtZSBjbGFzcz0idmlkZW9feXRfcGxheWVyIiB0eXBlPSJ0ZXh0L2h0bWwiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNFRod3M1d3E1R0k/ZW5hYmxlanNhcGk9MSZhdXRvcGxheT0wJnN0YXJ0PTAmYXV0b2hpZGU9MSZ3bW9kZT1vcGFxdWUmc2hvd2luZm89MCZvcmlnaW49aHR0cHM6Ly92ay5jb20mZnM9MSZyZWw9MCZjY19sb2FkX3BvbGljeT0wJml2X2xvYWRfcG9saWN5PTMiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PCE+CmFkZFRlbXBsYXRlcyh7Il8iOiJfIiwiYXVkaW9fcm93IjoiPGRpdiBjbGFzcz1cImF1ZGlvX3JvdyBfYXVkaW9fcm93IF9hdWRpb19yb3dfJTElXyUwJSAlY2xzJSBjbGVhcl9maXhcIiBvbmNsaWNrPVwicmV0dXJuIGdldEF1ZGlvUGxheWVyKCkudG9nZ2xlQXVkaW8odGhpcywgZXZlbnQpXCIgZGF0YS1hdWRpbz1cIiVzZXJpYWxpemVkJVwiIGRhdGEtZnVsbC1pZD1cIiUxJV8lMCVcIiBpZD1cImF1ZGlvXyUxJV8lMCVcIj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX3BsYXlfd3JhcFwiIGRhdGEtbm9kcmFnPVwiMVwiPjxidXR0b24gY2xhc3M9XCJhdWRpb19wbGF5IF9hdWRpb19wbGF5XCIgaWQ9XCJwbGF5XyUxJV8lMCVcIiBhcmlhLWxhYmVsPVwiXCI+PFwvYnV0dG9uPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX2luZm9cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fZHVyYXRpb25fd3JhcCBfYXVkaW9fZHVyYXRpb25fd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2hxX2xhYmVsXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2R1cmF0aW9uIF9hdWRpb19kdXJhdGlvblwiPiVkdXJhdGlvbiU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJyZWNvbVwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5zaG93UmVjb21zKHRoaXMsICclMSVfJTAlJywgZXZlbnQpXCI+PGRpdj48XC9kaXY+PFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJuZXh0XCIgb25tb3VzZW92ZXI9XCJhdWRpb1Nob3dBY3Rpb25Ub29sdGlwKHRoaXMsICclMSVfJTAlJylcIiBvbmNsaWNrPVwiZ2V0QXVkaW9QbGF5ZXIoKS5zZXROZXh0KHRoaXMsIGV2ZW50KVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiZWRpdFwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5lZGl0QXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIj48ZGl2PjxcL2Rpdj48XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdWRpb19hY3QgX2F1ZGlvX2FjdF9kZWxldGVcIiBpZD1cImRlbGV0ZVwiIG9uY2xpY2s9XCJBdWRpb1BhZ2UodGhpcykuZGVsZXRlQXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiYWRkXCIgb25jbGljaz1cInJldHVybiBhZGRBdWRpbyh0aGlzLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fdGl0bGVfd3JhcFwiXG4gICAgID48YSBocmVmPVwiJXNlYXJjaF9ocmVmJVwiIG9ubW91c2VvdmVyPVwic2V0VGl0bGUodGhpcylcIiBub2RyYWc9XCIxXCIgb25jbGljaz1cInJldHVybiBhdWRpb1NlYXJjaFBlcmZvcm1lcih0aGlzLCBldmVudClcIiBjbGFzcz1cImF1ZGlvX3BlcmZvcm1lclwiPiU0JTxcL2FcbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9faW5mb19kaXZpZGVyXCI+Jm5kYXNoOzxcL3NwYW5cbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9fdGl0bGUgX2F1ZGlvX3RpdGxlXCIgb25tb3VzZW92ZXI9XCJzZXRUaXRsZSh0aGlzLCBkb21QTih0aGlzKSlcIlxuICAgICAgICA+PHNwYW4gY2xhc3M9XCJhdWRpb190aXRsZV9pbm5lclwiIHRhYmluZGV4PVwiMFwiIG5vZHJhZz1cIjFcIiBhcmlhLWxhYmVsPVwiJTMlXCIgb25jbGljaz1cInJldHVybiB0b2dnbGVBdWRpb0x5cmljcyhldmVudCwgdGhpcywgJyUxJV8lMCUnLCAnJTklJylcIj4lMyU8XC9zcGFuPlxuICAgICAgICBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhdWRpb19hdXRob3JcIiBvbmNsaWNrPVwiY3VyLmNhbmNlbENsaWNrPXRydWVcIj4lOCU8XC9zcGFuPlxuICAgICAgPFwvc3BhblxuICAgID48XC9kaXY+XG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19wbGF5ZXJfd3JhcFwiPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19seXJpY3Nfd3JhcCBhdWRpb19seXJpY3NcIiBkYXRhLW5vZHJhZz1cIjFcIj48XC9kaXY+XG48XC9kaXY+IiwiYXVkaW9fYml0c190b19jbHMiOiJ7XCIxXCI6XCJpbmxpbmVkXCIsXCIyXCI6XCJseXJpY3NcIixcIjRcIjpcImNhbmVkaXRcIixcIjhcIjpcImNhbmFkZFwiLFwiNjRcIjpcInJlY29tc1wiLFwiMTZcIjpcImNsYWltZWRcIixcIjMyXCI6XCJjbGFpbWVkX3RpdGxlXCIsXCIyNTZcIjpcImZyb21fcXVldWVcIixcIjUxMlwiOlwiaHFcIixcIjMyNzY4XCI6XCJsdGJcIixcIjE2Mzg0XCI6XCJscGJcIixcIjQwOTZcIjpcImNsYWltX2hpZGRlblwiLFwiMjA0OFwiOlwiY2xhaW1fbW9kZVwiLFwiODE5MlwiOlwiY2xhaW1fdW1hXCJ9In0pO2N1ci5pbmNWaWV3cyA9IGZ1bmN0aW9uKCkgewogIHZhciBvaWR2aWQgPSAnMjE1MjY5OV8xNjg1OTE3NDEnOwogIGlmIChjdXIudmlkZW9JbmMgJiYgY3VyLnZpZGVvSW5jW29pZHZpZF0pIHsKICAgIHJldHVybjsKICB9CiAgaWYgKCFjdXIudmlkZW9JbmMpIHsKICAgIGN1ci52aWRlb0luYyA9IHt9OwogICAgY3VyLnZpZGVvU3RhcnRlZCA9IHt9OwogIH0KICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9ICdmaW5pc2hlZCc7CiAgICB2YXIgbSA9IHdpbmRvdy5WaWRlbyA/IFZpZGVvdmlldy5nZXRWaWRlb01vZHVsZShvaWR2aWQpIDogY3VyLm1vZHVsZTsKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICBhamF4LnBvc3QoImFsX3ZpZGVvLnBocCIsIHthY3Q6J2luY192aWV3X2NvdW50ZXInLCBvaWQ6b2lkLCB2aWQ6MTY4NTkxNzQxLCBoYXNoOic3Mjk1YjM5Nzg0OTdmMDg2OThiOGNjYjdkMzBhMGM2NicsIG1vZHVsZTogbX0pOwogICAgfQogIH0sIDUwMDApOwogIGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gPSAnZmluaXNoZWQnOwogICAgdmFyIG0gPSB3aW5kb3cuVmlkZW8gPyBWaWRlb3ZpZXcuZ2V0VmlkZW9Nb2R1bGUob2lkdmlkKSA6IGN1ci5tb2R1bGU7CgogICAgdmFyIHZpZGVvY2F0ID0gJyc7CiAgICBpZiAod2luZG93LlZpZGVvY2F0ICYmIHdpbmRvdy5WaWRlbyAmJiBWaWRlby5pc0luQ2F0YWxvZygpKSB7CiAgICAgIHZhciBwbElkID0gVmlkZW9QbGF5bGlzdC5nZXRDdXJMaXN0SWQoKTsKICAgICAgaWYgKFZpZGVvY2F0LmlzVG9wM1BsYXlsaXN0KHBsSWQpKSB7CiAgICAgICAgdmlkZW9jYXQgPSAnZmVhdHVyZWQnOwogICAgICB9IGVsc2UgewogICAgICAgIHZpZGVvY2F0ID0gcGxJZDsKICAgICAgfQogICAgfQoKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICB3aW5kb3cubXZjdXIgPSB3aW5kb3cubXZjdXIgfHwge307CiAgICAgIG12Y3VyLnZpZXdTdGFydGVkVGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgIGFqYXgucG9zdCgiYWxfdmlkZW8ucGhwIiwge2FjdDondmlkZW9fdmlld19zdGFydGVkJywgb2lkOm9pZCwgdmlkOjE2ODU5MTc0MSwgaGFzaDonNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYnLCBtb2R1bGU6IG0sIHZpZGVvY2F0OiB2aWRlb2NhdH0pOwogICAgfQogIH0sIDApOwogIGN1ci5kZXN0cm95LnB1c2goZnVuY3Rpb24gKCkgewogICAgaWYgKGN1ci52aWRlb0luY1tvaWR2aWRdICYmIGN1ci52aWRlb0luY1tvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb0luY1tvaWR2aWRdKTsKICAgIH0KICAgIGlmIChjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gJiYgY3VyLnZpZGVvU3RhcnRlZFtvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSk7CiAgICB9CiAgfSk7Cn07Cm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvID0gJzIxNTI2OTlfMTY4NTkxNzQxJzsgCm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvSGFzaCA9ICdkNGVhNDY4N2YwMWNjMWVlOWQnOyAKbXZjdXIubXZEYXRhLmFkZGVkVmlkZW9TaGFyZUhhc2ggPSAnOGJhOGZkYWZjZjQ2ZTFiYzY4JzsKbXZjdXIubXZEYXRhLm5lZWRzTmV3ID0gMTs8IT4KCjxkaXYgY2xhc3M9Im12X2luZm9fd2lkZV9jb2x1bW4gZmxfbCI+CiAgCiAgPGRpdiBjbGFzcz0ibXZfdGl0bGVfYmxvY2siPgogICAgPGRpdiBpZD0ibXZfdmlld3MiIGNsYXNzPSJtdl92aWV3c19jb3VudCAiIG9ubW91c2VvdmVyPSIiPjM3IHZpZXdzPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl90aXRsZSIgaWQ9Im12X3RpdGxlIj5CRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0PC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfYWN0aW9uc19ibG9jayIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImZsYXRfYnV0dG9uIHNlY29uZGFyeSBidXR0b25fbGlnaHQgbXZfc2hhcmVfYnV0dG9uIiBzdHlsZT0iZGlzcGxheTpub25lOyIgb25jbGljaz0idmlkZW92aWV3LnNlbmRWaWRlbygpOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X3NoYXJlX2ljb24iPjwvc3Bhbj5TaGFyZQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0ibXZfYWRkX3dyYXAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmbGF0X2J1dHRvbiBzZWNvbmRhcnkgYnV0dG9uX2xpZ2h0IG12X2VkaXRfYnV0dG9uIiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNob3dFZGl0Qm94KDE2ODU5MTc0MSwgMjE1MjY5OSkiIGlkPSJtdl9lZGl0X2J1dHRvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X2VkaXRfaWNvbiI+PC9zcGFuPkVkaXQgdmlkZW8KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtdl9tb3JlIGZsX2wiIGlkPSJtdl9tb3JlIj5Nb3JlPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfYmxvY2siPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgPGEgaHJlZj0iL2x5YW5vaS5raXJpbGwiIGNsYXNzPSJtdl9hdXRob3JfcGhvdG9fd3JhcCBmbF9sIj4KICAgICAgICA8aW1nIGlkPSJtdl9hdXRob3JfcGhvdG8iIGNsYXNzPSJtdl9hdXRob3JfcGhvdG8iIHNyYz0iaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjIzODI0L3Y2MjM4MjQ2OTkvNTU1NzUvQ0NRWjI5bDBCOWsuanBnIj4KICAgICAgPC9hPgogICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfaW5mbyBmbF9sIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfbmFtZSI+CiAgICAgICAgICA8YSBjbGFzcz0ibWVtX2xpbmsiIGhyZWY9Ii9seWFub2kua2lyaWxsIj5LaXJpbGwgTHlhbm95PC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im12X2luZm9fZGF0ZSI+TWF5IDEyLCAyMDE0IGF0IDk6MjMgYW0gZnJvbSA8YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRndhdGNoJTNGdiUzRDRUaHdzNXdxNUdJIiB0YXJnZXQ9Il9ibGFuayI+WW91VHViZTwvYT4gPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgCiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtdl9kZXNjcmlwdGlvbl9ibG9jayI+CiAgPGRpdiBjbGFzcz0ic2VsZWN0X2ZpeCBjbGVhcl9maXgiPgogICAgPGRpdiBpZD0ibXZfZGVzY3JpcHRpb24iIGNsYXNzPSJtdl9kZXNjIj4KICA8ZGl2IGNsYXNzPSJqc19tdl9kZXNjcl9maWVsZCBjYW50X2VkaXQiIGlkPSJtdl9kZXNjcl9maWVsZCI+QkVBVCBTT1VMIFNURVAgJiM5NzMzOyBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwICYjOTczMzsgMS0yIOzg/ywgzO7x6uLgIDIwMTQ8YnI+Q2hvcmVvZ3JhcGh5OiBLYXRpZTxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZwcm9qZWN0ODE4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiIHRhcmdldD0iX2JsYW5rIj5wcm9qZWN0ODE4LmNvbTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MThydXNzaWEiIG1lbnRpb25faWQ9InByb2plY3Q4MThydXNzaWEiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly92ay5jb20vcHJvamVjdDgxOCIgbWVudGlvbl9pZD0icHJvamVjdDgxOCIgb25jbGljaz0icmV0dXJuIG1lbnRpb25DbGljayh0aGlzLCBldmVudCkiIG9ubW91c2VvdmVyPSJtZW50aW9uT3Zlcih0aGlzKSI+dmsuY29tL3Byb2plY3Q4MTg8L2E+PGJyPi4uPC9kaXY+CiAgPGEgaWQ9Im12X2Rlc2NyX2V4cGFuZF90b2dnbGUiIGNsYXNzPSJ3YWxsX3Bvc3RfbW9yZSIgc3R5bGU9IiIgb25jbGljaz0iVmlkZW92aWV3LmV4cGFuZERlc2NyKHRoaXMpIj5FeHBhbmQgdGV4dIU8L2E+CiAgPGRpdiBpZD0ibXZfZGVzY19mdWxsX3RleHQiPkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGcHJvamVjdDgxOC5jb20iIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+cHJvamVjdDgxOC5jb208L2E+IHwgPGEgaHJlZj0iaHR0cDovL3ZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhIiBtZW50aW9uX2lkPSJwcm9qZWN0ODE4cnVzc2lhIiBvbmNsaWNrPSJyZXR1cm4gbWVudGlvbkNsaWNrKHRoaXMsIGV2ZW50KSIgb25tb3VzZW92ZXI9Im1lbnRpb25PdmVyKHRoaXMpIj52ay5jb20vcHJvamVjdDgxOHJ1c3NpYTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MTgiIG1lbnRpb25faWQ9InByb2plY3Q4MTgiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4PC9hPjxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZmYWNlYm9vay5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmZhY2Vib29rLmNvbS9Qcm9qZWN0ODE4UnVzc2lhPC9hPjxicj48YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZwcm9qZWN0ODE4IiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmluc3RhZ3JhbS5jb20vcHJvamVjdDgxODwvYT48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZ0d2l0dGVyLmNvbSUyRnByb2plY3Q4MTgiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+dHdpdHRlci5jb20vcHJvamVjdDgxODwvYT48YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPnlvdXR1YmUuY29tL1Byb2plY3Q4MThSdXNzaWE8L2E+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4Y2hhbXAiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+eW91dHViZS5jb20vUHJvamVjdDgxOGNoYW1wPC9hPjwvZGl2PgogIDxkaXYgY2xhc3M9InByICIgaWQ9Im12X2lubGluZV9lZGl0X3ByIj48ZGl2IGNsYXNzPSJwcl9idCI+PC9kaXY+PGRpdiBjbGFzcz0icHJfYnQiPjwvZGl2PjxkaXYgY2xhc3M9InByX2J0Ij48L2Rpdj48L2Rpdj4KPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgogIDxkaXYgY2xhc3M9Im12X2NvbW1lbnRzX2Jsb2NrIHdhbGxfbW9kdWxlIj4KICAgIDxkaXYgaWQ9InBvc3QyMTUyNjk5X3ZpZGVvMTY4NTkxNzQxbXYiPgogICAgICA8ZGl2IGlkPSJtdl9jb21tZW50c193cmFwIj4KICA8ZGl2IGlkPSJtdl9jb21tZW50c19oZWFkZXIiIG9uY2xpY2s9IlZpZGVvdmlldy5tb3JlQ29tbWVudHMoKTsiIGNsYXNzPSJtdl9jb21tZW50c19leHBhbmRlZCI+PC9kaXY+CiAgPGRpdiBpZD0ibXZfY29tbWVudHNfc3VtbWFyeSIgY2xhc3M9Im12X2NvbW1lbnRzX3N1bW1hcnkgbXZfY29tbWVudHNfZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KICA8ZGl2IGlkPSJtdl9jb21tZW50cyI+PC9kaXY+CjwvZGl2PgogICAgICAKICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibXZfaW5mb19uYXJyb3dfY29sdW1uIGZsX3IiPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2Jsb2NrIj4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9ibG9ja190aXRsZSI+T3RoZXIgdmlkZW9zPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4MjgyNDQzIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODI4MjQ0MycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTQwMzA0L3U1ODEwNTcyOC92aWRlby9sXzhmZDU4NWZlLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjI6NTY8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODI4MjQ0MyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjgyODI0NDMnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJObyBuYW1lIj5ObyBuYW1lPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4xNyB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvLTQ1MjgwMDU1XzQ1NjIzOTgxNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnLTQ1MjgwMDU1XzQ1NjIzOTgxNCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjM5MjI0L3Y2MzkyMjQwNTUvMTRmNWUva0hhaUdRTXZOYmsuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MzoyNDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlby00NTI4MDA1NV80NTYyMzk4MTQiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJy00NTI4MDA1NV80NTYyMzk4MTQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSLK4OLl8CDt4CDv5fHt/iBJdCBBaW4gdCBNZSAtIEt5Z28gJmFtcDsgU2VsZW5hIEdvbWV6IO7yIO/w5erw4PHt+/UgQm95Y2UgQXZlbnVlIj7K4OLl8CDt4CDv5fHt/iBJdCBBaW4gdCBNZSAtIEt5Z28gJmFtcDsgU2VsZW5hIEdvbWV6IO7yIO/w5erw4PHt+/UgQm95Y2UgQXZlbnVlPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj42OCw5Njkgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4MzMxMzU0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODMzMTM1NCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjA3NjIwL3U0Mzg5ODY2L3ZpZGVvL2xfYWIxMTY2Y2IuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MzoyNTwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4MzMxMzU0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODMzMTM1NCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9ItLl4PLw4Ovo5+7i4O3t7uUg7vLq8Pvy6OUg6u7t6vPw8eAgJnF1b3Q7zO7x6u7i8ero5SDs4PHy5fDgLTIwMTQmcXVvdDsvLyDKwNEguTciPtLl4PLw4Ovo5+7i4O3t7uUg7vLq8Pvy6OUg6u7t6vPw8eAgJnF1b3Q7zO7x6u7i8ero5SDs4PHy5fDgLTIwMTQmcXVvdDsvLyDKwNEguTc8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjQyIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODk4ODk3NyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjg5ODg5NzcnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzU0MDMwMS91MjQ2MTA1MDg5L3ZpZGVvL2xfZGI3MWI2NjYuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MDozMDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4OTg4OTc3IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODk4ODk3NycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9Ik1peC3y5fDo/yD47vMg1PDo6iDY7vMiPk1peC3y5fDo/yD47vMg1PDo6iDY7vM8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjIyIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2MzIyMzMwNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjMyMjMzMDQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUxMDMyMy91MTUxNTQ0NzAvdmlkZW8vbF9jMTdmYzA5Ni5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4zOjM0PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjMyMjMzMDQiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYzMjIzMzA0JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0izuH76u3u4uXt7e7lIPfz5O4iPs7h++rt7uLl7e3u5SD38+TuPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4zOCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MDUwMTgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzA1MDE4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1NDAyMDYvdTQ0ODg5MjMvdmlkZW8vbF8zZTY1Mzk4Zi5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjMwPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MDUwMTgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzA1MDE4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iyuDx8ujt4yAtQXJ0LiBkYW5jZSBzaG93ICZxdW90OyBCSUdvb0RlZS4iPsrg8fLo7eMgLUFydC4gZGFuY2Ugc2hvdyAmcXVvdDsgQklHb29EZWUuPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4xMDUgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY2OTUyNTk5IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Njk1MjU5OScsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTEzMjE5L3UyMTQ5NzQ4NzMvdmlkZW8vbF9iZTZlMzY5ZC5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj40OjA2PC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjY5NTI1OTkiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY2OTUyNTk5JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iweXnIO3g5+Lg7ej/Ij7B5ecg7eDn4uDt6P88L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjQwIHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2NjY3Njk4MyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjY2NzY5ODMnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUzMjQyMi91MjE1MjY5OS92aWRlby9sX2U5MTA2OGY3LmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjE6MzY8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2NjY3Njk4MyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjY2NzY5ODMnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJUd29NYW4gUHJvamVjdCBwcm9tb3Rpb24uLi4gKCBoaXAtaG9wLCBkdWJzdGVwLCBicmVhayBkYW5jZSwgZnJlZXN0eWxlLCBvbGQgJmFtcDsgbmV3IGRhbmNlIHNjaG9vbCkiPlR3b01hbiBQcm9qZWN0IHByb21vdGlvbi4uLiAoIGhpcC1ob3AsIGR1YnN0ZXAsIGJyZWFrIGRhbmNlLCBmcmVlc3R5bGUsIG9sZCAmYW1wOyBuZXcgZGFuY2Ugc2Nob29sKTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MSwxMTIgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4OTg4OTY0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODk4ODk2NCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTA3NDEwL3UzNjM1NTE1L3ZpZGVvL2xfMjc3M2VmYWIuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MzoyNDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4OTg4OTY0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODk4ODk2NCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IkZSRUFLIEdPLUdPIE1JWNLF0MjfIj5GUkVBSyBHTy1HTyBNSVjSxdDI3zwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NyB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjM4NjI5NzgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYzODYyOTc4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1MjMzMTcvdTMyMDY3MDIvdmlkZW8vbF9hYTRhZmZiYi5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4zOjIyPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjM4NjI5NzgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYzODYyOTc4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iV2l0aG91dCBhIGZhY2UgICjS4Ovg7fLr6OLg/yAgzO7r7uTl5vwpIDEiPldpdGhvdXQgYSBmYWNlICAo0uDr4O3y6+ji4P8gIMzu6+7k5eb8KSAxPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj45OCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2PjwhPjwhPjwhanNvbj57ImxhbmciOnsiZ2xvYmFsX3Nob3J0X2RhdGVfdGltZSI6WyIiLCJ7ZGF5fSB7bW9udGh9IGF0IHtob3VyfTp7bWludXRlfSB7YW1fcG19IiwieWVzdGVyZGF5IGF0IHtob3VyfTp7bWludXRlfSB7YW1fcG19IiwidG9kYXkgYXQge2hvdXJ9OnttaW51dGV9IHthbV9wbX0iLCJ0b21vcnJvdyBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSJdLCJyZXBseV90b19wb3N0IjoiWW91ciBjb21tZW50Li4iLCJ3YWxsX01fcmVwbGllc19vZl9OIjpbIiIsIiVzIGNvbW1lbnQgb2Yge2xpbmt9e2FsbH17XC9saW5rfSIsIiVzIGNvbW1lbnRzIG9mIHtsaW5rfXthbGx9e1wvbGlua30iXSwid2FsbF9tb3JlX3JlcGxpZXMiOlsiIiwic2hvdyAlcyBtb3JlIGNvbW1lbnQiLCJzaG93ICVzIG1vcmUgY29tbWVudHMiXSwid2FsbF9hbGxfcmVwbGllcyI6ImFsbCBjb21tZW50cyIsImRvbnRfYXR0YWNoIjoiUmVtb3ZlIGF0dGFjaG1lbnQiLCJ2aWRlb19YX2NvbW1zIjpbIiIsIiVzIGNvbW1lbnQiLCIlcyBjb21tZW50cyJdLCJ2aWRlb19lZGl0IjoiRWRpdCB2aWRlbyIsInZpZGVvX2VkaXRfZGVzYyI6IkVkaXQgZGVzY3JpcHRpb24iLCJ2aWRlb19lZGl0X2Rlc2NfaW50cm8iOiJFbnRlciBkZXNjcmlwdGlvbiIsInZpZGVvX3Nob3dfcHJldmlvdXNfY29tbWVudHMiOlsiIiwiU2hvdyAlcyBwcmV2aW91cyBjb21tZW50IiwiU2hvdyAlcyBwcmV2aW91cyBjb21tZW50cyJdLCJ2aWRlb19hcmVfeW91X3N1cmVfY2xvc2UiOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xvc2UgdGhpcyB2aWRlbz8iLCJ2aWRlb19hcmVfeW91X3N1cmVfY2xvc2VfdGl0bGUiOiJDbG9zZSB2aWRlbyIsInByb2ZpbGVfbWVudGlvbl9ub3RfZm91bmQiOiJVc2VyIHdhcyBub3QgZm91bmQiLCJwcm9maWxlX21lbnRpb25fc3RhcnRfdHlwaW5nIjoiU3RhcnQgdHlwaW5nIGEgbmFtZS4uIiwidmlkZW9fYWxidW1faXNfcHJpdmF0ZV90dCI6IlRoaXMgYWxidW0gaXMgcHJpdmF0ZSIsInZpZGVvX2FkZF90b19teV9wbGF5bGlzdCI6IkFkZCB0byBNeSBWaWRlb3MiLCJ2aWRlb19hZGRlZF90b19teV9wbGF5bGlzdCI6IkFkZGVkIiwidmlkZW9fY2hhbmdlc19zYXZlZCI6IkNoYW5nZXMgc2F2ZWQiLCJ2aWRlb19hZGRfYWxidW0iOiJDcmVhdGUgYWxidW0iLCJ2aWRlb19hZGRfcHJpdmF0ZV9hbGJ1bSI6IkNyZWF0ZSBhIHByaXZhdGUgYWxidW0iLCJ2aWRlb19hZGRfdG9fZ3JvdXAiOiJBZGQgdG8gY29tbXVuaXR5IiwidmlkZW9fZXhwb3J0X2FjdGlvbiI6IkV4cG9ydCIsInZpZGVvX3N0YXRpc3RpY3MiOiJTdGF0aXN0aWNzIiwidmlkZW9fY29tcGxhaW4iOiJSZXBvcnQiLCJ2aWRlb19zZWxlY3RfYWxidW1zIjoiU2VsZWN0IGFsYnVtcyIsInZpZGVvX3RjX3N1cmVfZGVsZXRlIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHZpZGVvPzxicj48YnI+WW91IHdpbGwgbm90IGJlIGFibGUgdG8gcmVzdG9yZSB0YWdzIGFuZCBjb21tZW50cy4iLCJ2aWRlb190Y19kZWxldGUiOiJEZWxldGUiLCJ2aWRlb19kZWxldGVfZGlhbG9nX3RpdGxlIjoiRGVsZXRlIHZpZGVvIiwidmlkZW9fZGVsZXRlX2JveF9ub190aXRsZSI6Ik5vIiwidmlkZW9fbWVudV9kZWxldGUiOiJEZWxldGUgdmlkZW8iLCJ2aWRlb192aWV3c19jb3VudF90dF90ZXh0IjoiT3JpZ2luYWwgdmlkZW8gdmlld3MgKHRvdGFsIHZpZXdzKSIsInZpZGVvX29ubHlfcHJpdmF0ZV92aWRlbyI6IlRoaXMgdmlkZW8gY2FuIG9ubHkgYmUgYWRkZWQgdG8gYSBwcml2YXRlIGFsYnVtIiwidmlkZW9fbGVhdmVfY2xvc2VkX2dyb3VwX3RpdGxlIjoiTGVhdmUgY2xvc2VkIGNvbW11bml0eSIsInZpZGVvX2xlYXZlX2Nsb3NlZF9ncm91cF90ZXh0IjoiWW91IGFyZSBhYm91dCB0byBsZWF2ZSBhIGNsb3NlZCBjb21tdW5pdHkuIEl0IG1heSBub3QgYmUgdGhhdCBlYXN5IHRvIGNvbWUgYmFjay4gTGVhdmUgdGhlIGNvbW11bml0eT8iLCJ2aWRlb19sZWF2ZV9hZG1pbmVkX2dyb3VwX3RleHQiOiJZb3UgYXJlIGFuIDxiPmFkbWluaXN0cmF0b3I8XC9iPiBpbiB0aGlzIGNvbW11bml0eS4gWW91IHdpbGwgbG9zZSB0aGlzIHBvc2l0aW9uIGlmIHlvdSBsZWF2ZSBub3cuIExlYXZlIHRoZSBjb21tdW5pdHk/IiwidmlkZW9fdmlld19zdWJzY3JpYmVfdG9fYXV0aG9yIjoiU3Vic2NyaWJlIiwidmlkZW9fdmlld19zdWJzY3JpYmVkX21zZyI6IkZvbGxvd2luZyIsInZpZGVvX3BsYXllcl9uZXh0X3RpdGxlIjoiTmV4dCB2aWRlbyIsInZpZGVvX2lfbGlrZSI6Ikxpa2UiLCJ2aWRlb19zaGFyZV93aXRoX2ZyaWVuZHMiOiJTaGFyZSIsInZpZGVvX2FkZF9mbGFzaCI6IkFkZCB0byBNeSBWaWRlb3MiLCJ2aWRlb19hZGRlZF9mbGFzaCI6IlZpZGVvIGFkZGVkIHRvIE15IFZpZGVvcyIsInZpZGVvX2NvbW1lbnRzX3N1bW1hcnkiOlsiIiwiJXMgY29tbWVudCIsIiVzIGNvbW1lbnRzIl0sInZpZGVvX05fdmlld3NfbGlzdCI6WyIiLCIlcyB2aWV3IiwiJXMgdmlld3MiXSwidmlkZW9fcGxheWxpc3RfcmV2ZXJzZV90dCI6IlJldmVyc2Ugb3JkZXIiLCJ2aWRlb19wbGF5bGlzdF9hdXRvcGxheV9kaXNhYmxlX3R0IjoiRGlzYWJsZSBhdXRvcGxheSIsInZpZGVvX3BsYXlsaXN0X2F1dG9wbGF5X2VuYWJsZV90dCI6IkVuYWJsZSBhdXRvcGxheSIsInZpZGVvX2xpdmVfTl93YXRjaGluZyI6WyIiLCIlcyBpcyB3YXRjaGluZyBub3ciLCIlcyBhcmUgd2F0Y2hpbmcgbm93Il0sInZpZGVvX2xpdmVfY2hhdF9tc2dfdG9vX2xvbmciOiJUaGUgbWVzc2FnZSBpcyB0b28gbG9uZyIsInZpZGVvX2xpdmVfY2hhdF90b29fZmFzdCI6IlRvbyBmYXN0hSIsInZpZGVvX2FyaWFfbWluaW1pemVfcGxheWxpc3QiOiJIaWRlIHBsYXlsaXN0IiwidmlkZW9fYXJpYV9leHBhbmRfcGxheWxpc3QiOiJTaG93IHBsYXlsaXN0IiwidmlkZW9fYXJpYV9taW5pbWl6ZV9jaGF0IjoiSGlkZSBjaGF0IiwidmlkZW9fYXJpYV9leHBhbmRfY2hhdCI6IkV4cGFuZCBjaGF0IiwidmlkZW9fbGl2ZV9ub3RpZnlfc3Vic2NyaWJlZCI6IlN0cmVhbSBub3RpZmljYXRpb25zIGVuYWJsZWQiLCJ2aWRlb19saXZlX25vdGlmeV91bnN1YnNjcmliZWQiOiJTdHJlYW0gbm90aWZpY2F0aW9ucyBkaXNhYmxlZCIsInZpZGVvX2xpdmVfeW91X2hhdmVfWF9tb25leSI6IllvdSBoYXZlIHttb25leX0iLCJ2aWRlb191bmZvbGxvd19mcmllbmRfdGl0bGUiOiJSZW1vdmUgZnJvbSBmcmllbmRzIiwidmlkZW9fdW5mb2xsb3dfZnJpZW5kX3RleHQiOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIEtpcmlsbCBmcm9tIHlvdXIgZnJpZW5kIGxpc3Q/In0sIm12RGF0YSI6eyJ0aXRsZSI6IkJFQVQgU09VTCBTVEVQIJcgUkRDMTQgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCwgTWF5IDEtMiwgTW9zY293IDIwMTQiLCJkZXNjIjoiQkVBVCBTT1VMIFNURVAgJiM5NzMzOyBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwICYjOTczMzsgMS0yIOzg/ywgzO7x6uLgIDIwMTQ8YnI+Q2hvcmVvZ3JhcGh5OiBLYXRpZTxicj48YnI+cHJvamVjdDgxOC5jb20gfCB2ay5jb21cL3Byb2plY3Q4MThydXNzaWEgfCB2ay5jb21cL3Byb2plY3Q4MTg8YnI+PGJyPmZhY2Vib29rLmNvbVwvUHJvamVjdDgxOFJ1c3NpYTxicj5pbnN0YWdyYW0uY29tXC9wcm9qZWN0ODE4PGJyPnR3aXR0ZXIuY29tXC9wcm9qZWN0ODE4PGJyPjxicj55b3V0dWJlLmNvbVwvUHJvamVjdDgxOFJ1c3NpYTxicj55b3V0dWJlLmNvbVwvUHJvamVjdDgxOGNoYW1wIiwib2lkIjoyMTUyNjk5LCJ2aWQiOjE2ODU5MTc0MSwiYXV0aG9ySWQiOjIxNTI2OTksImF1dGhvclBob3RvIjoiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjIzODI0XC92NjIzODI0Njk5XC81NTU3NVwvQ0NRWjI5bDBCOWsuanBnIiwiYXV0aG9ySHJlZiI6IlwvbHlhbm9pLmtpcmlsbCIsInZpZGVvUmF3IjoiMjE1MjY5OV8xNjg1OTE3NDEiLCJoYXNoIjoiMDIzNjQ2YzBiYzcxMTBhZDkxIiwibGlrZUhhc2giOiIzMGNjMTg5MmY4MWRlYjYyMzUiLCJlZGl0SGFzaCI6IiIsImVkaXRGcm9tRHJvcGRvd24iOjAsImhpZGVFZGl0IjpudWxsLCJjb21tc2hvd24iOjAsImNvbW1jb3VudCI6MCwibGlrZWQiOmZhbHNlLCJsaWtlcyI6MCwiYWRkZWQiOjAsImNhbl9hZGQiOjAsImFkZF9oYXNoIjoiZmZiODQyZDBjZTZmYzE2OGE3Iiwibm9saWtlcyI6MSwiZHVyYXRpb24iOjI5OSwidnNlZ3NTaXplIjoyOS4wMDAwMDAsInBsYXlsaXN0cyI6W10sInVwbG9hZGVkIjpmYWxzZSwicHVibGlzaGVkIjp0cnVlLCJub0NvbnRyb2xzIjpmYWxzZSwicGxheWxpc3RBZGRIYXNoIjoiZmZiODQyZDBjZTZmYzE2OGE3IiwiZGVsZXRlSGFzaCI6IiIsInJlcG9ydFJlYXNvbnMiOltdLCJyZXBvcnRIYXNoIjoiMWRjYzNmMmQ0MTY5ZjU1MGMwIiwiaW5mbyI6WzIxNTI2OTksMTY4NTkxNzQxLCJodHRwczpcL1wvcHAudXNlcmFwaS5jb21cL2M2MTc4MzFcL3U5NjEyMzMwM1wvdmlkZW9cL2xfMjdlNGZmNWMuanBnIiwiQkVBVCBTT1VMIFNURVAglyBSREMxNCBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwLCBNYXkgMS0yLCBNb3Njb3cgMjAxNCIsMywiNDo1OSIsIiIsIiIsIjxhIGhyZWY9XCJcL2x5YW5vaS5raXJpbGxcIiBjbGFzcz1cIm1lbV9saW5rXCI+S2lyaWxsIEx5YW5veTxcL2E+IiwxMzk5ODc1NzgzLDM3XSwiY2FuRXhwb3J0IjoxLCJpc1ZpZGVvQWRzIjpmYWxzZSwiZGVsZXRlRnJvbUFsbEFsYnVtc0hhc2giOiIiLCJpc19saXZlIjowLCJpc19hY3RpdmVfbGl2ZSI6MCwiUExBWUxJU1RfQURERURfSUQiOi0yLCJQTEFZTElTVF9VUExPQURFRF9JRCI6LTEsIm5vUHVibGljQWRkIjpmYWxzZSwiUExBWUVSX0ZVTExfV0lEVEgiOjk2MCwiUExBWUVSX0ZVTExfSEVJR0hUIjo1NDAsIlBMQVlFUl9QTF9XSURUSCI6NzIwLCJQTEFZRVJfUExfSEVJR0hUIjo0MDUsImxfdHlwZSI6Miwia3oiOjAsInRuc19tb25ldGl6ZWQiOnRydWV9LCJ3YWxsVHBsIjp7InJlcGx5X2JveCI6IjxkaXYgaWQ9XCJyZXBseV9ib3hfd3JhcCVwb3N0X2lkJVwiPjxkaXYgY2xhc3M9XCJyZXBseV9ib3hfaW5uZXJfd3JhcFwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfZmFrZWJveF93cmFwXCIgaWQ9XCJyZXBseV9mYWtlYm94JXBvc3RfaWQlXCIgb25jbGljaz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KVwiIGRhdGEtb3duZXItcGhvdG89XCIlb3duZXJfcGhvdG8lXCIgZGF0YS1vd25lci1ocmVmPVwiJW93bmVyX2hyZWYlXCI+XG4gICAgPGRpdiBjbGFzcz1cInBvc3RfZmllbGRfdXNlclwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIlwvaWRcIiBvbmNsaWNrPVwicmV0dXJuIG5hdi5nbyh0aGlzLCBldmVudClcIj5cbiAgICA8aW1nIGNsYXNzPVwicG9zdF9maWVsZF91c2VyX2ltYWdlXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPFwvYT5cbjxcL2Rpdj4ldXNlcl9pbWFnZSVcbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZmFrZWJveFwiPkxlYXZlIGEgY29tbWVudC4uLjxcL2Rpdj48XC9kaXY+XG48XC9kaXY+PFwvZGl2PjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgaWQ9XCJwb3N0X2hhc2glcG9zdF9pZCVcIiB2YWx1ZT1cIjE0OTA2NDg1MDFfYjZkZDhiNDY3NDZjZDRkOWYzXCIgY2FuX3JlcGx5X2FzX2dyb3VwPVwiJWNhbl9yZXBseV9hc19ncm91cCVcIiBcLz4iLCJyZXBseV9mb3JtIjoiPGRpdiBpZD1cInJlcGx5X2JveCVwb3N0X2lkJVwiIGNsYXNzPVwic3VibWl0X3Bvc3RfYm94IHJlcGx5X2JveCBjbGVhcl9maXggX3N1Ym1pdF9wb3N0X2JveFwiIG9uY2xpY2s9XCJyZXR1cm4gY2FuY2VsRXZlbnQoZXZlbnQpXCI+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV9mb3JtXCI+XG4gICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cInJlcGx5X3RvJXBvc3RfaWQlXCIgdmFsdWU9XCJcIiBcLz5cbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9maWVsZF91c2VyXCI+XG4gIDxhIGNsYXNzPVwicG9zdF9maWVsZF91c2VyX2xpbmtcIiBocmVmPVwiXC9pZFwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPlxuICAgIDxpbWcgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfaW1hZ2VcIiBzcmM9XCJcL2ltYWdlc1wvY2FtZXJhXzUwLnBuZ1wiIFwvPlxuICA8XC9hPlxuPFwvZGl2PiV1c2VyX2ltYWdlJVxuICAgIDxkaXYgY2xhc3M9XCJyZXBseV9maWVsZF93cmFwIF9lbW9qaV9maWVsZF93cmFwXCI+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfc21pbGUlcG9zdF9pZCVcIiBjbGFzcz1cImVtb2ppX3NtaWxlX3dyYXAgIF9lbW9qaV93cmFwXCI+XG4gIDxkaXYgY2xhc3M9XCJlbW9qaV9zbWlsZSBfZW1vamlfYnRuXCIgdGl0bGU9XCJVc2UgdGhlIFRBQiBrZXkgdG8gaW5zZXJ0IGVtb2ppIGZhc3RlclwiIG9ubW91c2VvdmVyPVwicmV0dXJuIEVtb2ppLnNob3codGhpcywgZXZlbnQpO1wiIG9ubW91c2VvdXQ9XCJyZXR1cm4gRW1vamkuaGlkZSh0aGlzLCBldmVudCk7XCIgb25jbGljaz1cInJldHVybiBjYW5jZWxFdmVudChldmVudCk7XCI+XG4gICAgPGRpdiBjbGFzcz1cImVtb2ppX3NtaWxlX2ljb25cIj48XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJyZXBseV9maWVsZCVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfZmllbGQgc3VibWl0X3Bvc3RfZmllbGRcIiBvbmZvY3VzPVwicmV0dXJuIFdhbGwuc2hvd0VkaXRSZXBseSgnJXBvc3RfaWQlJywgZXZlbnQpO1wiIGNvbnRlbnRlZGl0YWJsZT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIkxlYXZlIGEgY29tbWVudC4uLlwiPjxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gICAgPGRpdiBpZD1cInN1Ym1pdF9yZXBseSVwb3N0X2lkJVwiIGNsYXNzPVwic3VibWl0X3Bvc3QgY2xlYXJfZml4XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfd2FybiBjbGVhclwiIGlkPVwicmVwbHlfd2FybiVwb3N0X2lkJVwiPjxcL2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJyZXBseV9tZWRpYV9wcmV2aWV3JXBvc3RfaWQlXCIgY2xhc3M9XCJyZXBseV9tZWRpYV9wcmV2aWV3IGNsZWFyX2ZpeCBtZWRpYV9wcmV2aWV3XCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFkZHBvc3RfYnV0dG9uX3dyYXBcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZsYXRfYnV0dG9uIGFkZHBvc3RfYnV0dG9uXCIgaWQ9XCJyZXBseV9idXR0b24lcG9zdF9pZCVcIiBvbmNsaWNrPVwid2FsbC5zZW5kUmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50LCB7fSk7XCIgb25tb3VzZW92ZXI9XCJ3YWxsLnJlcGx5U3VibWl0VG9vbHRpcCgnJXBvc3RfaWQlJywgMSwgdGhpcyk7XCIgb25tb3VzZW91dD1cIndhbGwucmVwbHlTdWJtaXRUb29sdGlwKCclcG9zdF9pZCUnLCAwLCB0aGlzKTtcIj5Qb3N0PFwvYnV0dG9uPlxuICAgICAgPFwvZGl2PlxuICAgICAgJWFkZF9idXR0b25zJVxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VfYWRkX21lZGlhXCIgaWQ9XCJyZXBseV9hZGRfbWVkaWFfJXBvc3RfaWQlXCI+PFwvZGl2PlxuICAgICAgPGRpdiBpZD1cInJlcGx5X3RvX3RpdGxlJXBvc3RfaWQlXCIgY2xhc3M9XCJyZXBseV90b190aXRsZSBhZGRwb3N0X3BvcHRcIj48XC9kaXY+XG4gICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwicmVwbHlfZm9ybV9vZmZpY2lhbCI6IjxkaXYgY2xhc3M9XCJhZGRwb3N0X29wdCBjaGVja2JveF9vZmZpY2lhbFwiIGlkPVwicmVwbHlfYXNfZ3JvdXAlcG9zdF9pZCVcIiBvbmNsaWNrPVwid2FsbC5yZXBseUFzR3JvdXAodGhpcyk7XCIgb25tb3VzZW92ZXI9XCJ3YWxsLnJlcGx5QXNHcm91cE92ZXIodGhpcywgJ29uIGJlaGFsZiBvZiB0aGUgdXNlcicsICdwb3N0IGFzIGNvbW11bml0eScpO1wiIG9uZm9jdXM9XCJ3YWxsLnJlcGx5QXNHcm91cE92ZXIodGhpcywgJ29uIGJlaGFsZiBvZiB0aGUgdXNlcicsICdwb3N0IGFzIGNvbW11bml0eScpO1wiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwib24gYmVoYWxmIG9mIHRoZSB1c2VyXCI+XG4gIDxpbWcgY2xhc3M9XCJ0aHVtYl9vZmZcIiBzcmM9XCJcL2ltYWdlc1wvY2FtZXJhXzUwLnBuZ1wiIFwvPlxuICA8aW1nIGNsYXNzPVwidGh1bWJfb25cIiBzcmM9XCIlb3duZXJfcGhvdG8lXCIgXC8+XG48XC9kaXY+IiwicmVwbHlfZm9ybV9ncm91cF9pbWFnZSI6IjxkaXYgY2xhc3M9XCJwb3N0X2ZpZWxkX2dyb3VwXCI+XG4gIDxhIGNsYXNzPVwicG9zdF9maWVsZF91c2VyX2xpbmtcIiBocmVmPVwiJW93bmVyX2hyZWYlXCIgb25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpXCI+XG4gICAgPGltZyBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9pbWFnZVwiIHNyYz1cIiVvd25lcl9waG90byVcIiBcLz5cbiAgPFwvYT5cbjxcL2Rpdj4iLCJyZXBseV9tdWx0aWxpbmUiOmZhbHNlLCJyZXBseV9tdWx0aWxpbmVfaW50cm8iOnRydWUsInJlcGx5X2xpbmtfd3JhcCI6IjxkaXYgY2xhc3M9XCJyZXBseV9saW5rX3dyYXBcIj5cbiAgPGEgY2xhc3M9XCJyZXBseV9saW5rIF9yZXBseV9sbmtcIj5SZXBseTxcL2E+XG48XC9kaXY+IiwicmVwbHlfbGlua190byI6IiA8YSBjbGFzcz1cInJlcGx5X3RvXCI+cmVwbGllZCB0byAldG9fdXNlciU8XC9hPiIsInJlcGx5X2Zhc3QiOiI8ZGl2IGlkPVwicG9zdCVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5IHJlcGx5X2RpdmVkIGNsZWFyICBfcG9zdFwiIGRhdGEtcG9zdC1pZD1cIiVyZXBseV9pZCVcIiA+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV93cmFwIF9yZXBseV9jb250ZW50IF9wb3N0X2NvbnRlbnQgY2xlYXJfZml4XCI+XG4gICAgXG4gICAgPGEgY2xhc3M9XCJyZXBseV9pbWFnZVwiIGhyZWY9XCJcL2lkXCI+XG4gICAgICA8aW1nIHNyYz1cIlwvaW1hZ2VzXC9jYW1lcmFfNTAucG5nXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgY2xhc3M9XCJyZXBseV9pbWdcIiBhbHQ9XCJERUxFVEVEXCIgXC8+XG4gICAgPFwvYT5cbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfY29udGVudFwiID5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2F1dGhvclwiPlxuICAgICAgICA8YSBjbGFzcz1cImF1dGhvclwiIGhyZWY9XCJcL2lkXCIgZGF0YS1mcm9tLWlkPVwiMFwiPkRFTEVURUQ8XC9hPiV0b19saW5rJVxuICAgICAgPFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X3RleHRcIiA+PGRpdiBjbGFzcz1cIndhbGxfcmVwbHlfdGV4dFwiPiVtZXNzYWdlJTxcL2Rpdj48XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9vdGVyIGNsZWFyX2ZpeFwiIGlkPVwid3BlX2JvdHRvbSVyZXBseV9pZCVcIj5cbiAgICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9kYXRlXCI+JWRhdGUlPFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfbGlua193cmFwXCI+XG4gIDxhIGNsYXNzPVwicmVwbHlfbGluayBfcmVwbHlfbG5rXCI+UmVwbHk8XC9hPlxuPFwvZGl2PlxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInJlcGx5X211bHRpbGluZV9oaW50IjoiPGRpdiBjbGFzcz1cInJlcGx5X3N1Ym1pdF9oaW50X3dyYXBcIiAgb25jbGljaz1cInN0b3BFdmVudChldmVudCk7XCI+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF90aXRsZVwiPlNob3J0Y3V0czxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJlcGx5X3N1Ym1pdF9oaW50X29wdHNcIiBpZD1cInJlcGx5X3N1Ym1pdF9oaW50X29wdHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwicmFkaW9idG4gJWRpc2FibGVkJSBcIiBkYXRhLXZhbD1cIjBcIiBvbmNsaWNrPVwicmFkaW9idG4odGhpcywgMCwgJ3JlcGx5X3N1Ym1pdCcpOyB3YWxsLm9uUmVwbHlTdWJtaXRDaGFuZ2VkKDApO1wiPjxkaXYgY2xhc3M9XCJyYWRpb2J0bl9sYWJlbFwiPjxiPkVudGVyPFwvYj4glyBzZW5kIG1lc3NhZ2U8YnI+PGI+U2hpZnQrRW50ZXI8XC9iPiCXIG5ldyBsaW5lPFwvZGl2PjxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmFkaW9idG4gJWVuYWJsZWQlIFwiIGRhdGEtdmFsPVwiMVwiIG9uY2xpY2s9XCJyYWRpb2J0bih0aGlzLCAxLCAncmVwbHlfc3VibWl0Jyk7IHdhbGwub25SZXBseVN1Ym1pdENoYW5nZWQoMSk7XCI+PGRpdiBjbGFzcz1cInJhZGlvYnRuX2xhYmVsXCI+PGI+Q3RybCtFbnRlcjxcL2I+IJcgc2VuZCBtZXNzYWdlPGJyPjxiPkVudGVyPFwvYj4glyBuZXcgbGluZTxcL2Rpdj48XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJyZXBseV9idXR0b24iOiI8YSBocmVmPVwiI1wiIGNsYXNzPVwicG9zdF9yZXBseSBfcmVwbHlfd3JhcFwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5zaG93RWRpdFJlcGx5KCclcG9zdF9pZCUnLCBldmVudClcIj5cbiAgPGkgY2xhc3M9XCJwb3N0X3JlcGx5X2ljb24gX2ljb25cIj48XC9pPlxuICA8c3BhbiBjbGFzcz1cInBvc3RfcmVwbHlfbGluayBfbGlua1wiPkNvbW1lbnQ8XC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cInBvc3RfcmVwbHlfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbjxcL2E+IiwicmVwbHlfbGluayI6IjxzcGFuIGlkPVwicmVwbHlfbGluayVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfbGlua193cmFwXCI+PGEgaHJlZj1cIiNcIiBjbGFzcz1cInJlcGx5X2xpbmtcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hvd0VkaXRSZXBseSgnJXBvc3RfaWQlJywgZXZlbnQpXCI+Q29tbWVudDxcL2E+PFwvc3Bhbj4iLCJvd25fcmVwbHlfbGluayI6IjxzcGFuIGNsYXNzPVwicmVwbHlfbGlua193cmFwXCI+PGEgY2xhc3M9XCJyZXBseV9saW5rXCIgb25jbGljaz1cIldhbGwubGlrZVNoYXJlQ3VzdG9tKCclcG9zdF9pZCUnKVwiPlJlcGx5PFwvYT48XC9zcGFuPiIsImVkaXRfbGluayI6IjxzcGFuIGNsYXNzPVwiZGl2aWRlXCI+fDxcL3NwYW4+PGEgb25jbGljaz1cIndhbGwuZWRpdFBvc3QodGhpcywgJyVwb3N0X2lkJScpXCI+RWRpdCA8XC9hPiIsInBvc3QiOiI8ZGl2IGlkPVwicG9zdCVwb3N0X2lkJVwiIGNsYXNzPVwiX3Bvc3QgcG9zdCBwYWdlX2Jsb2NrXCIgZGF0YS1wb3N0LWlkPVwiJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwucG9zdENsaWNrKCclcG9zdF9pZCUnLCBldmVudCk7XCIgPlxuICA8ZGl2IGNsYXNzPVwiX3Bvc3RfY29udGVudFwiPlxuICAgIFxuICAgIDxkaXYgY2xhc3M9XCJwb3N0X2hlYWRlclwiPlxuICAgICAgPGEgY2xhc3M9XCJwb3N0X2ltYWdlJW9ubGluZV9jbGFzcyVcIiBocmVmPVwiJWxpbmslXCI+XG4gICAgICAgIDxpbWcgc3JjPVwiJXBob3RvJVwiIGRhdGEtcG9zdC1pZD1cIiVwb3N0X2lkJVwiIGRhdGEtcG9zdC1jbGljay10eXBlPVwicG9zdF9vd25lcl9pbWdcIiB3aWR0aD1cIjUwXCIgaGVpZ2h0PVwiNTBcIiBjbGFzcz1cInBvc3RfaW1nXCIgXC8+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIj4uPFwvc3Bhbj5cbiAgICAgIDxcL2E+XG4gICAgICA8ZGl2IGNsYXNzPVwicG9zdF9oZWFkZXJfaW5mb1wiPlxuICAgICAgICA8aDUgY2xhc3M9XCJwb3N0X2F1dGhvclwiPiVuYW1lJTxcL2g1PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9zdF9kYXRlXCI+PGEgY2xhc3M9XCJwb3N0X2xpbmtcIiBocmVmPVwiXC93YWxsJXBvc3RfaWQlXCIgb25jbGljaz1cInJldHVybiBzaG93V2lraSh7dzogJ3dhbGwlcG9zdF9pZCUnfSwgZmFsc2UsIGV2ZW50KTtcIj4lZGF0ZSU8XC9hPjxcL2Rpdj5cbiAgICAgICAgJWFjdGlvbnMlXG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwb3N0X2NvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwb3N0X2luZm9cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndhbGxfdGV4dFwiPiV0ZXh0JTxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc3RfZnVsbF9saWtlX3dyYXAgY2xlYXJfZml4XCI+XG4gIDxkaXYgY2xhc3M9XCJwb3N0X2Z1bGxfbGlrZVwiPlxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwb3N0X2xpa2UgX2xpa2Vfd3JhcCBub19saWtlc1wiIG9ubW91c2VvdmVyPVwiV2FsbC5saWtlc1Nob3codGhpcywgJyVwb3N0X2lkJScpXCIgb25jbGljaz1cInJldHVybiBXYWxsLmxpa2VJdCh0aGlzLCAnJXBvc3RfaWQlJywgJzE0OTA2NDg1MDFfOWFhZGU2MTYxMmVlZDZmY2I3JywgZXZlbnQpO1wiPlxuICAgICAgPGkgY2xhc3M9XCJwb3N0X2xpa2VfaWNvbiBfaWNvblwiPjxcL2k+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3RfbGlrZV9saW5rIF9saW5rXCI+PFwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicG9zdF9saWtlX2NvdW50IF9jb3VudFwiPjxcL3NwYW4+XG4gICAgPFwvYT5cbiAgICA8c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIiBvbmNsaWNrPVwiV2FsbC5saWtlc1Nob3dMaXN0KHRoaXMsICclcG9zdF9pZCUnKVwiPlNob3cgbGlrZXM8XC9zcGFuPlxuICAgICVyZXBseV9idXR0b24lXG4gICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBvc3Rfc2hhcmUgX3NoYXJlX3dyYXAgbm9fc2hhcmVzXCIgIG9ubW91c2VvdmVyPVwiV2FsbC5zaGFyZXNTaG93KHRoaXMsICclcG9zdF9pZCUnKVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5zaGFyZXNPcGVuKGV2ZW50LCAnJXBvc3RfaWQlJyk7XCI+XG4gICAgICA8aSBjbGFzcz1cInBvc3Rfc2hhcmVfaWNvbiBfaWNvblwiPjxcL2k+XG4gICAgICA8c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCI+PFwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicG9zdF9zaGFyZV9saW5rIF9saW5rXCI+PFwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicG9zdF9zaGFyZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuICAgIDxcL2E+XG4gICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgb25jbGljaz1cIldhbGwuc2hhcmVzU2hvd0xpc3QodGhpcywgJyVwb3N0X2lkJScpXCI+U2hvdyBzaGFyZWQgY29waWVzPFwvc3Bhbj5cbiAgICBcbiAgPFwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicG9zdF92aWV3cyBfdmlld3Nfd3JhcCBub192aWV3cyBfYXV0b191cGRhdGVcIiBvbm1vdXNlb3Zlcj1cIldhbGwudmlld3NVcGRhdGUodGhpcywgJyVwb3N0X2lkJScpXCI+XG4gIDxpIGNsYXNzPVwicG9zdF92aWV3c19pY29uIF9pY29uXCI+PFwvaT5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3ZpZXdzX2NvdW50IF9jb3VudFwiPjxcL3NwYW4+XG48XC9kaXY+XG48XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXBsaWVzXCI+PGRpdiBjbGFzcz1cInJlcGxpZXNfd3JhcFwiIGlkPVwicmVwbGllc193cmFwJXBvc3RfaWQlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPlxuICA8ZGl2IGNsYXNzPVwicmVwbGllc19saXN0IF9yZXBsaWVzX2xpc3RcIiBpZD1cInJlcGxpZXMlcG9zdF9pZCVcIj48aW5wdXQgdHlwZT1cImhpZGRlblwiIGlkPVwic3RhcnRfcmVwbHklcG9zdF9pZCVcIiB2YWx1ZT1cIlwiXC8+PFwvZGl2PlxuICAlcmVwbHlfYm94JVxuPFwvZGl2PjxcL2Rpdj5cbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gICAgXG4gIDxcL2Rpdj5cbiAgXG48XC9kaXY+IiwicmVwbHkiOiI8ZGl2IGlkPVwicG9zdCVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5IHJlcGx5X2RpdmVkIGNsZWFyICVjbGFzc25hbWUlIF9wb3N0XCIgZGF0YS1wb3N0LWlkPVwiJXJlcGx5X2lkJVwiICVhdHRyJT5cbiAgPGRpdiBjbGFzcz1cInJlcGx5X3dyYXAgX3JlcGx5X2NvbnRlbnQgX3Bvc3RfY29udGVudCBjbGVhcl9maXhcIj5cbiAgICBcbiAgICA8YSBjbGFzcz1cInJlcGx5X2ltYWdlXCIgaHJlZj1cIiVsaW5rJVwiPlxuICAgICAgPGltZyBzcmM9XCIlcGhvdG8lXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgY2xhc3M9XCJyZXBseV9pbWdcIiBhbHQ9XCIlbmFtZSVcIiBcLz5cbiAgICA8XC9hPlxuICAgIDxkaXYgY2xhc3M9XCJyZXBseV9jb250ZW50XCIgPlxuICAgICAgJWFjdGlvbnMlXG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfYXV0aG9yXCI+XG4gICAgICAgIDxhIGNsYXNzPVwiYXV0aG9yXCIgaHJlZj1cIiVsaW5rJVwiIGRhdGEtZnJvbS1pZD1cIiVyZXBseV91aWQlXCI+JW5hbWUlPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPiV0ZXh0JTxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9mb290ZXIgY2xlYXJfZml4XCIgaWQ9XCJ3cGVfYm90dG9tJXJlcGx5X2lkJVwiPlxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibGlrZV93cmFwIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwubGlrZUl0KHRoaXMsICclbGlrZV9pZCUnLCAnMTQ5MDY0ODUwMV85YWFkZTYxNjEyZWVkNmZjYjcnLCBldmVudCk7XCIgb25tb3VzZW92ZXI9XCJXYWxsLmxpa2VzU2hvdyh0aGlzLCAnJWxpa2VfaWQlJylcIj5cbiAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkxpa2U8XC9zcGFuPlxuICA8aSBjbGFzcz1cImxpa2VfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvYT5cbjxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VzU2hvd0xpc3QodGhpcywgJyVsaWtlX2lkJScpXCI+U2hvdyBsaWtlczxcL3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9kYXRlXCI+PGEgY2xhc3M9XCJ3ZF9sbmtcIiBocmVmPVwiXC93YWxsJXBvc3RfaWQlP3JlcGx5PSVyZXBseV9tc2dfaWQlXCIgb25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpXCI+JWRhdGUlPFwvYT48XC9kaXY+XG4gICAgICAgICVhbnN3ZXJfbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJkZWwiOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwuZGVsZXRlUG9zdCh0aGlzLCAnJXBvc3RfaWQlJywgJzE0OTA2NDg1MDFfNDYyNGMyMDVlOTZhYzM4NjY3Jyk7IHJldHVybiBmYWxzZTtcIj5EZWxldGUgcG9zdDxcL2E+Iiwic3BhbSI6IjxhIGNsYXNzPVwidWlfYWN0aW9uc19tZW51X2l0ZW1cIiBvbmNsaWNrPVwid2FsbC5tYXJrQXNTcGFtKHRoaXMsICclcG9zdF9pZCUnLCAnMTQ5MDY0ODUwMV9iMzcyZDYxN2ZiMzhkYzE3M2InKTsgcmV0dXJuIGZhbHNlO1wiPlJlcG9ydDxcL2E+IiwiZWRpdCI6IjxhIGNsYXNzPVwidWlfYWN0aW9uc19tZW51X2l0ZW1cIiBvbmNsaWNrPVwid2FsbC5lZGl0UG9zdCh0aGlzLCAnJXBvc3RfaWQlJyk7IHJldHVybiBmYWxzZTtcIj5FZGl0IDxcL2E+IiwicG9zdF9hY3Rpb25zIjoiPGRpdiBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV93cmFwIF91aV9tZW51X3dyYXAgXCIgb25tb3VzZW92ZXI9XCJ1aUFjdGlvbnNNZW51LnNob3codGhpcyk7XCIgb25tb3VzZW91dCA9XCJ1aUFjdGlvbnNNZW51LmhpZGUodGhpcyk7XCI+XG4gIDxkaXYgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfaWNvbnNcIiAgdGFiaW5kZXg9XCIwXCIgYXJpYS1sYWJlbD1cIkFjdGlvbnNcIiByb2xlPVwiYnV0dG9uXCIgb25jbGljaz1cInVpQWN0aW9uc01lbnUua2V5VG9nZ2xlKHRoaXMsIGV2ZW50KTtcIj48c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCI+QWN0aW9uczxcL3NwYW4+PFwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidWlfYWN0aW9uc19tZW51IF91aV9tZW51XCIgPiVhY3Rpb25zJTxcL2Rpdj5cbjxcL2Rpdj4iLCJkZWxfcmVwbHkiOiI8ZGl2IGlkPVwicmVwbHlfZGVsZXRlJXJlcGx5X2lkJVwiIGNsYXNzPVwicmVwbHlfZGVsZXRlX2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJEZWxldGVcIiBvbmNsaWNrPVwid2FsbC5kZWxldGVQb3N0KHRoaXMsICclcmVwbHlfaWQlJywgJzE0OTA2NDg1MDFfNDYyNGMyMDVlOTZhYzM4NjY3Jyk7XCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIkRlbGV0ZVwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCI+PFwvZGl2PiIsInNwYW1fcmVwbHkiOiI8ZGl2IGlkPVwicmVwbHlfZGVsZXRlJXJlcGx5X2lkJVwiIGNsYXNzPVwicmVwbHlfZGVsZXRlX2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJSZXBvcnRcIiBvbmNsaWNrPVwid2FsbC5tYXJrQXNTcGFtKHRoaXMsICclcmVwbHlfaWQlJywgJzE0OTA2NDg1MDFfYjM3MmQ2MTdmYjM4ZGMxNzNiJyk7XCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIlJlcG9ydFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCI+PFwvZGl2PiIsImVkaXRfcmVwbHkiOiI8ZGl2IGlkPVwicmVwbHlfZWRpdCVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2VkaXRfYnV0dG9uIHJlcGx5X2FjdGlvbiBmbF9yXCIgZGF0YS10aXRsZT1cIkVkaXQgXCIgb25jbGljaz1cIndhbGwuZWRpdFBvc3QodGhpcywgJyVyZXBseV9pZCUnKTtcIiBvbm1vdXNlb3Zlcj1cInNob3dUaXRsZSh0aGlzKTtcIiBhcmlhLWxhYmVsPVwiRWRpdCBcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJyZXBseV9hY3Rpb25zIjoiPGRpdiBjbGFzcz1cImZsX3IgcG9zdF9hY3Rpb25zX3dyYXBcIj48ZGl2IGNsYXNzPVwicG9zdF9hY3Rpb25zXCI+JWFjdGlvbnMlPFwvZGl2PjxcL2Rpdj4iLCJwb2xsX3N0YXRzIjoiPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9zdGF0XCIlaGFuZGxlcnMlPlxuICA8ZGl2IGNsYXNzPVwicGFnZV9wb2xsX3RleHRcIj4lb3B0aW9uX3RleHQlPFwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicGFnZV9wb2xsX3Jvd193cmFwXCI+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfcGVyY2VudFwiPiVwZXJjZW50JSU8XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3clcm93X2NsYXNzJVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9wZXJjZW50XCIgc3R5bGU9XCJ3aWR0aDogJWNzc19wZXJjZW50JSVcIj48XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFnZV9wb2xsX3Jvd19jb3VudFwiPiVjb3VudCU8XC9kaXY+XG4gICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwicG9sbF9oYXNoIjoiMTQ5MDY0ODUwMV84MGViODAyMGY1OTE3NmQ3MjMiLCJkYXRlX2Zvcm1hdCI6InRvZGF5IGF0IHtob3VyfTp7bWludXRlfSB7YW1fcG19IiwidGltZV9zeXN0ZW0iOlsicG0iLCJhbSJdLCJhYnNfdGltZXN0YW1wIjoxNDkwNjQ4NTAxLCJsYW5nIjp7IndhbGxfTV9yZXBsaWVzX29mX04iOlsiIiwiJXMgY29tbWVudCBvZiB7bGlua317YWxsfXtcL2xpbmt9IiwiJXMgY29tbWVudHMgb2Yge2xpbmt9e2FsbH17XC9saW5rfSJdLCJ3YWxsX2hpZGVfcmVwbGllcyI6IkhpZGUgY29tbWVudHMiLCJ3YWxsX3Nob3dfbl9vZl9tX2xhc3QiOlsiIiwiU2hvdyBsYXRlc3QgJXMgY29tbWVudCBvdXQgb2Yge2NvdW50fSIsIlNob3cgbGF0ZXN0ICVzIGNvbW1lbnRzIG91dCBvZiB7Y291bnR9Il0sIndhbGxfc2hvd19hbGxfbl9yZXBsaWVzIjpbIiIsIlNob3cgJXMgY29tbWVudCIsIlNob3cgYWxsICVzIGNvbW1lbnRzIl0sIndhbGxfTl9yZXBsaWVzIjpbIiIsIiVzIGNvbW1lbnQiLCIlcyBjb21tZW50cyJdLCJ3YWxsX3RocmVlX2xhc3RfcmVwbGllcyI6Imxhc3QgdGhyZWUgcG9zdHMiLCJ3YWxsX2FsbF9yZXBsaWVzIjoiYWxsIGNvbW1lbnRzIiwid2FsbF94X25ld19yZXBsaWVzX21vcmUiOlsiIiwiJXMgbmV3IGNvbW1lbnQgYWRkZWQiLCIlcyBuZXcgY29tbWVudHMgYWRkZWQiXSwid2FsbF9YX3Blb3BsZV92b3RlZCI6WyIiLCI8Yj4lczxcL2I+IHBlcnNvbiB2b3RlZC4iLCI8Yj4lczxcL2I+IHBlb3BsZSB2b3RlZC4iXSwid2FsbF9yZXBseV9zdWJtaXRfaGludF8xIjoiU2hpZnQrRW50ZXIglyBuZXcgbGluZSIsIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMiI6IkN0cmwrRW50ZXIgliBzZW5kIG1lc3NhZ2UiLCJ3YWxsX3JlcGx5X3N1Ym1pdF9oaW50XzFfbW9yZSI6IkVudGVyIJcgc2VuZCBtZXNzYWdlLCBTaGlmdCtFbnRlciCXIG5ldyBsaW5lIiwid2FsbF9yZXBseV9zdWJtaXRfaGludF8yX21vcmUiOiJFbnRlciCXIG5ldyBsaW5lLCBDdHJsK0VudGVyIJcgc2VuZCBtZXNzYWdlIiwid2FsbF9yZXBseV9wb3N0IjoiUmVwbHkiLCJ3YWxsX3JlcGxpZWRfdG9fZ3JvdXAiOiJ0aGUgYWRtaW4iLCJ3YWxsX3JlcGx5X2FzX3VzZXIiOiJvbiBiZWhhbGYgb2YgdGhlIHVzZXIiLCJ3YWxsX3JlcGx5X2FzX2dyb3VwIjoicG9zdCBhcyBjb21tdW5pdHkiLCJ3YWxsX2FkZF9waG90b19lcnJvciI6IlVuYWJsZSB0byB1cGxvYWQgdGhlIGltYWdlIiwid2FsbF9qdXN0X25vdyI6WyIiLCJPbmUgc2Vjb25kIGFnbyIsIlR3byBzZWNvbmRzIGFnbyIsIlRocmVlIHNlY29uZHMgYWdvIiwiRm91ciBzZWNvbmRzIGFnbyIsIkZpdmUgc2Vjb25kcyBhZ28iXSwid2FsbF9YX3NlY29uZHNfYWdvX3dvcmRzIjpbIiIsIk9uZSBzZWNvbmQgYWdvIiwiVHdvIHNlY29uZHMgYWdvIiwiVGhyZWUgc2Vjb25kcyBhZ28iLCJGb3VyIHNlY29uZHMgYWdvIiwiRml2ZSBzZWNvbmRzIGFnbyJdLCJ3YWxsX1hfc2Vjb25kc19hZ28iOlsiIiwiJXMgc2Vjb25kIGFnbyIsIiVzIHNlY29uZHMgYWdvIl0sIndhbGxfWF9taW51dGVzX2Fnb193b3JkcyI6WyIiLCJvbmUgbWludXRlIGFnbyIsInR3byBtaW51dGVzIGFnbyIsInRocmVlIG1pbnV0ZXMgYWdvIiwiNCBtaW51dGVzIGFnbyIsIjUgbWludXRlcyBhZ28iXSwid2FsbF9YX21pbnV0ZXNfYWdvIjpbIiIsIiVzIG1pbnV0ZSBhZ28iLCIlcyBtaW51dGVzIGFnbyJdLCJ3YWxsX1hfaG91cnNfYWdvX3dvcmRzIjpbIiIsIm9uZSBob3VyIGFnbyIsInR3byBob3VycyBhZ28iLCJ0aHJlZSBob3VycyBhZ28iLCJmb3VyIGhvdXJzIGFnbyIsImZpdmUgaG91cnMgYWdvIl0sIndhbGxfWF9ob3Vyc19hZ28iOlsiIiwiJXMgaG91ciBhZ28iLCIlcyBob3VycyBhZ28iXX19LCJzaGFyZV90aW1laGFzaCI6IjE0OTA2NDg1MDFfZjI0YzY0ZjM3YjA5N2Y1NzFlIiwiY29tbWVudHNUcGwiOnsicmVwbHkiOiI8ZGl2IGlkPVwicG9zdCVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5IHJlcGx5X2RpdmVkIGNsZWFyICBfcG9zdFwiIGRhdGEtcG9zdC1pZD1cIiVyZXBseV9pZCVcIiAgb25jbGljaz1cIlZpZGVvdmlldy5jb21tZW50Q2xpY2sodGhpcywgZXZlbnQsICVmcm9tX2lkJSwgJXJlcGx5X21zZ19pZCUpXCI+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV93cmFwIF9yZXBseV9jb250ZW50IF9wb3N0X2NvbnRlbnQgY2xlYXJfZml4XCI+XG4gICAgXG4gICAgPGEgY2xhc3M9XCJyZXBseV9pbWFnZVwiIGhyZWY9XCIlaHJlZiVcIj5cbiAgICAgIDxpbWcgc3JjPVwiJXBob3RvJVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiJW5hbWUlXCIgXC8+XG4gICAgPFwvYT5cbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfY29udGVudFwiID5cbiAgICAgICVhY3Rpb25zJVxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2F1dGhvclwiPlxuICAgICAgICA8YSBjbGFzcz1cImF1dGhvclwiIGhyZWY9XCIlaHJlZiVcIiBkYXRhLWZyb20taWQ9XCIlZnJvbV9pZCVcIj4lbmFtZSU8XC9hPiV0b19saW5rJVxuICAgICAgPFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X3RleHRcIiA+JW1lc3NhZ2UlPFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zvb3RlciBjbGVhcl9maXhcIiBpZD1cIndwZV9ib3R0b20lcmVwbHlfaWQlXCI+XG4gICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJsaWtlX3dyYXAgX2xpa2Vfd3JhcCBub19saWtlc1wiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5saWtlSXQodGhpcywgJyVwb3N0X29pZCV2aWRlb19jb21tZW50JXJlcGx5X21zZ19pZCVtdicsICcxNDkwNjQ4NTAxXzlhYWRlNjE2MTJlZWQ2ZmNiNycsIGV2ZW50KTtcIiBvbm1vdXNlb3Zlcj1cIldhbGwubGlrZXNTaG93KHRoaXMsICclcG9zdF9vaWQldmlkZW9fY29tbWVudCVyZXBseV9tc2dfaWQlbXYnKVwiPlxuICA8c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCI+TGlrZTxcL3NwYW4+XG4gIDxpIGNsYXNzPVwibGlrZV9pY29uIF9pY29uXCI+PFwvaT5cbiAgPHNwYW4gY2xhc3M9XCJsaWtlX2NvdW50IF9jb3VudFwiPjxcL3NwYW4+XG48XC9hPlxuPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgb25jbGljaz1cIldhbGwubGlrZXNTaG93TGlzdCh0aGlzLCAnJXBvc3Rfb2lkJXZpZGVvX2NvbW1lbnQlcmVwbHlfbXNnX2lkJW12JylcIj5TaG93IGxpa2VzPFwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2RhdGVcIj4lZGF0ZSU8XC9kaXY+XG4gICAgICAgIFxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsImFjdGlvbnMiOiI8ZGl2IGNsYXNzPVwiZmxfciBwb3N0X2FjdGlvbnNfd3JhcFwiPjxkaXYgY2xhc3M9XCJwb3N0X2FjdGlvbnNcIj4lYWN0aW9ucyU8XC9kaXY+PFwvZGl2PiIsImVkaXRfcmVwbHkiOiI8ZGl2IGlkPVwicmVwbHlfZWRpdCVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2VkaXRfYnV0dG9uIHJlcGx5X2FjdGlvbiBmbF9yXCIgZGF0YS10aXRsZT1cIkVkaXRcIiBvbmNsaWNrPVwiV2FsbC5lZGl0UG9zdCh0aGlzLCAnJXJlcGx5X2lkJScpXCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIkVkaXRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJkZWxfcmVwbHkiOiI8ZGl2IGlkPVwicmVwbHlfZGVsZXRlJXJlcGx5X2lkJVwiIGNsYXNzPVwicmVwbHlfZGVsZXRlX2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJEZWxldGVcIiBvbmNsaWNrPVwiVmlkZW92aWV3LmNvbW1BY3Rpb24oJ2RlbGV0ZScsICVwb3N0X29pZCUsICVyZXBseV9tc2dfaWQlLCAnMTQ5MDY0ODUwMV82YTllMzZhYjI2ODk0ZTNjMzAnLCAnbXYnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJEZWxldGVcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJzcGFtX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiUmVwb3J0XCIgb25jbGljaz1cIlZpZGVvdmlldy5jb21tQWN0aW9uKCdzcGFtJywgJXBvc3Rfb2lkJSwgJXJlcGx5X21zZ19pZCUsICcxNDkwNjQ4NTAxXzZhOWUzNmFiMjY4OTRlM2MzMCcsICdtdicpXCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIlJlcG9ydFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCI+PFwvZGl2PiJ9LCJwb3N0IjoiMjE1MjY5OV92aWRlbzE2ODU5MTc0MW12IiwibWF4UmVwbHlMZW5ndGgiOjE2Mzg0LCJtYXhDaGF0UmVwbHlMZW5ndGgiOjYwMCwibWF4RGVzY3JpcHRpb25MZW5ndGgiOjEwMjQsInB1Ymxpc2hBY3Rpb24iOiIiLCJwbF9saXN0IjowLCJpc192a19wbGF5ZXIiOjAsImlzX2ZsdiI6ZmFsc2UsImNhbnRQbGF5IjowLCJwbGF5ZXIiOnsidHlwZSI6InlvdXR1YmUiLCJwYXJhbXMiOlt7ImxhbmdfYWRkIjoiQWRkIHRvIE15IFZpZGVvcyIsImxhbmdfYWRkZWQiOiJWaWRlbyBhZGRlZCB0byBNeSBWaWRlb3MiLCJsYW5nX3NoYXJlIjoiU2hhcmUiLCJsYW5nX2xpa2UiOiJMaWtlIiwibGFuZ19kb25hdGUiOiJEb25hdGUiLCJsYW5nX3N1YnNjcmliZSI6IlN1YnNjcmliZSIsImxhbmdfc3Vic2NyaWJlZCI6IkZvbGxvd2luZyIsImxhbmdfdm9sdW1lX29uIjoiVW5tdXRlIiwibGFuZ192b2x1bWVfb2ZmIjoiTXV0ZSIsImxhbmdfdm9sdW1lIjoiVm9sdW1lIiwibGFuZ19oZHNkIjoiQ2hhbmdlIFZpZGVvIFF1YWxpdHkiLCJsYW5nX3F1YWxpdHlfYXV0byI6IkF1dG8iLCJsYW5nX29wZW5fcG9wdXAiOiJFeHBhbmQiLCJsYW5nX2Z1bGxzY3JlZW4iOiJGdWxsIFNjcmVlbiIsImxhbmdfd2luZG93IjoiTWluaW1pemUiLCJsYW5nX3JvdGF0ZSI6IlJvdGF0ZSIsImxhbmdfYWRzX2xpbmsiOiJBZHZlcnRpc2VyJiMzOTtzIFNpdGUiLCJsYW5nX2FkcyI6IkFkcyIsImxhbmdfYWRzX3NraXAiOiJTa2lwIGFkIiwibGFuZ19hZHNfc2tpcF90aW1lIjoiU2tpcCBhZHMgaW4ge3RpbWV9IHMiLCJsYW5nX3JlcG9ydF9wcm9ibGVtIjoiUmVwb3J0IGEgcHJvYmxlbS4uIiwibGFuZ19wbGF5IjoiUGxheSIsImxhbmdfcGF1c2UiOiJQYXVzZSIsImxhbmdfcmVwbGF5IjoiUmVwbGF5IiwibGFuZ19uZXh0IjoiTmV4dCB2aWRlbyIsImxhbmdfbmV4dF9jYW5jZWwiOiJDYW5jZWwiLCJsYW5nX2dvdG9fb3JpZ192aWRlbyI6IkdvIHRvIFZpZGVvIiwibGFuZ19nb3RvX2FkdmVydGlzZXJzX3NpdGUiOiJHbyB0byB0aGUgd2Vic2l0ZSIsImxhbmdfYnV5X3RpY2tldHMiOm51bGwsImxhbmdfbG9hZF9lcnJvciI6IkFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBsb2FkaW5nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsImxhbmdfZXJyX2NvZGUiOiJFcnJvciBjb2RlOiB7Y29kZX0iLCJsYW5nX2JhZF9icm93c2VyIjoiU29ycnksIHlvdXIgYnJvd3NlciBpc24mIzM5O3Qgc3VwcG9ydGVkIGF0IHRoZSBtb21lbnQiLCJsYW5nX2xpdmUiOiJMaXZlIiwibGFuZ19saXZlX3N0YXJ0aW5nX3Nvb24iOiJUaGUgbGl2ZSB3aWxsIHN0YXJ0IHNvb24iLCJsYW5nX2xpdmVfZmFpbGVkIjoiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgc3RyZWFtaW5nIiwibGFuZ19saXZlX3dhaXRfcmVjb3JkIjoiVGhlIGxpdmUgaGFzIGZpbmlzaGVkIGFuZCB3aWxsIHNvb24gYmVjb21lIGF2YWlsYWJsZSBpbiByZXBsYXkiLCJsYW5nX2xpdmVfdXNlcl9zZW50X2dpZnQiOlsiIiwic2VudCBhIGdpZnQiLCJzZW50IGEgZ2lmdCJdLCJsYW5nX2xpdmVfdXNlcl9zZW50X3N1cGVyY29tbWVudCI6WyIiLCJzZW50IGEgc3VwZXIgbWVzc2FnZSIsInNlbnQgYSBzdXBlciBtZXNzYWdlIl0sImxhbmdfbGl2ZV9kb3dubG9hZF9hcHAiOiJEb3dubG9hZCBhcHAiLCJsYW5nX2F1dG9wbGF5X3ZvbHVtZV9oaW50Ijoi0WxpY2sgdG8gdHVybiBvbiB0aGUgc291bmQiLCJsYW5nX2F1dG9wbGF5X2V4cGFuZF9oaW50IjoiQ2xpY2sgdG8gZXhwYW5kIiwibGFuZ190aW1lZF9idXR0b25fZ290byI6Is/l8OXp8ugiLCJsYW5nX3RpbWVkX2J1dHRvbl9vcGVuIjoiT3BlbiIsImxhbmdfdGltZWRfYnV0dG9uX2J1eSI6IkJ1eSIsImxhbmdfdGltZWRfYnV0dG9uX2J1eV90aWNrZXRzIjoiQnV5IHRpY2tldHMiLCJsYW5nX3RpbWVkX2J1dHRvbl9jaGVja2luIjpudWxsLCJsYW5nX3RpbWVkX2J1dHRvbl9pbnN0YWxsIjoi0/Hy4O3u4ujy/CIsImxhbmdfdGltZWRfYnV0dG9uX2NvbnRhY3QiOiLR4v/n4PL88f8iLCJsYW5nX3RpbWVkX2J1dHRvbl9maWxsIjoix+Dv7uvt6PL8IiwibGFuZ190aW1lZF9idXR0b25fbGVhcm5fbW9yZSI6Ik1vcmUiLCJsYW5nX2NtZW51X2NvcHlfdmlkZW9fbGluayI6IkNvcHkgdmlkZW8gbGluayIsImxhbmdfY21lbnVfY29weV90aW1lY29kZV9saW5rIjoiQ29weSBsaW5rIHdpdGggdGltZWNvZGUiLCJsYW5nX2NtZW51X2NvcHlfZW1iZWRfY29kZSI6IkNvcHkgZW1iZWQgY29kZSIsImxhbmdfY21lbnVfZW5hYmxlX2xvb3AiOiJFbmFibGUgbG9vcCIsImxhbmdfY21lbnVfZGlzYWJsZV9sb29wIjoiRGlzYWJsZSBsb29wIiwibGFuZ19jbWVudV9wbGF5YmFja19zcGVlZCI6IlBsYXliYWNrIHNwZWVkIiwibGFuZ19jbWVudV9yZXBvcnRfZXJyb3IiOiJSZXBvcnQgYSBwcm9ibGVtLi4iLCJsYW5nX2NtZW51X2NvcHlfZGVidWciOiJDb3B5IGRlYnVnIGluZm8iLCJsYW5nX2FyaWFfdmlkZW9wbGF5ZXIiOiJWSyBWaWRlbyBQbGF5ZXIiLCJsYW5nX2FyaWFfdm9sdW1lX3NsaWRlciI6IlZvbHVtZSBzbGlkZXIiLCJsYW5nX2FyaWFfdm9sdW1lX211dGVkIjoiVm9sdW1lIGlzIG11dGVkIiwibGFuZ19hcmlhX3RpbWVsaW5lX3NsaWRlciI6IlRpbWUgc2xpZGVyIiwibGFuZ19hcmlhX3RpbWVsaW5lX3ZhbHVlIjoie3RpbWV9ICh0b3RhbCBkdXJhdGlvbiB7ZHVyYXRpb259KSIsImxhbmdfYXJpYV9lbnRlcl9mdWxsc2NyZWVuIjoiRW50ZXIgZnVsbCBzY3JlZW4gbW9kZSIsImxhbmdfYXJpYV9leGl0X2Z1bGxzY3JlZW4iOiJFeGl0IGZ1bGwgc2NyZWVuIG1vZGUiLCJsYW5nX2FyaWFfcXVhbGl0eV9jdXJyZW50IjoiQ3VycmVudCBxdWFsaXR5IGlzIHtxdWFsaXR5fSIsInZpZGVvX3BsYXlfaGQiOiJXYXRjaCBpbiBIRCIsInZpZGVvX3N0b3BfbG9hZGluZyI6IlN0b3AgRG93bmxvYWQiLCJ2aWRlb19wbGF5ZXJfdmVyc2lvbiI6IlZLIFZpZGVvIFBsYXllciIsInZpZGVvX2dldF92aWRlb19jb2RlIjoiQ29weSBlbWJlZCBjb2RlIiwidmlkZW9fZ2V0X2N1cnJlbnRfdXJsIjoiQ29weSBsaW5rIHdpdGggdGltZWNvZGUiLCJ2aWRlb19sb2FkX2Vycm9yIjoiQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIGxvYWRpbmcuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwiZ290b19vcmlnX3ZpZGVvIjoiR28gdG8gVmlkZW8iLCJ2aWQiOjE2ODU5MTc0MSwib2lkIjoyMTUyNjk5LCJtZF90aXRsZSI6IkJFQVQgU09VTCBTVEVQIJcgUkRDMTQgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCwgTWF5IDEtMiwgTW9zY293IDIwMTQiLCJtZF9hdXRob3IiOiJLaXJpbGwgTHlhbm95IiwiYXV0aG9yX2lkIjoyMTUyNjk5LCJhdXRob3JfaHJlZiI6IlwvbHlhbm9pLmtpcmlsbCIsImF1dGhvcl9waG90byI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYyMzgyNFwvdjYyMzgyNDY5OVwvNTU1NzVcL0NDUVoyOWwwQjlrLmpwZyIsImhhc2giOiI3Mjk1YjM5Nzg0OTdmMDg2OThiOGNjYjdkMzBhMGM2NiIsImhhc2gyIjoiZWExZDNkYjk4ODE4MTI1ZCIsImlzX2V4dCI6MCwiZHVyYXRpb24iOjI5OSwidCI6IiIsInZpZ29fY2lkIjoiY2ZjZDIwODQ5NWQ1NjVlZjY2ZTdkZmY5Zjk4NzY0ZGEiLCJ2aWV3ZXJfaWQiOjAsInBvc3RfaWQiOm51bGwsIm1vZHVsZSI6InByb2ZpbGUiLCJnIjowLCJhIjowLCJjaXMiOjAsInJlY29tbWVuZF9zaWciOiI0NjExNjg3NmEyZjEwYWFiZjQyYTg3NjJjNTM0MDM4ZSIsImVycm9yX3N0YXRfaGFzaCI6IjE0OTA2NDg1MDFfMzA4YWVjYzlhZGRkMDIzYzJiIiwibm9fYWRzIjoxLCJub2xpa2VzIjoxLCJleHRyYSI6IjIxIiwiZXh0cmFfZGF0YSI6IjRUaHdzNXdxNUdJIiwidGh1bWIiOiJodHRwczpcL1wvcHAudXNlcmFwaS5jb21cL2M2MTc4MzFcL3U5NjEyMzMwM1wvdmlkZW9cL2xfMjdlNGZmNWMuanBnIiwianBnIjoiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC94XzViYjA1NzhmLmpwZyIsImhkIjowLCJub2xvZ28iOjEsInNob3dfbmV4dCI6MCwibGlrZWQiOjAsImFkZF9oYXNoIjoiZmZiODQyZDBjZTZmYzE2OGE3IiwiYWRkZWQiOjAsImNhbl9hZGQiOjAsIm5vX3RpdGxlIjowLCJ2c2Vnc19zaXplIjoyOS4wMDAwMDAsInZzZWdzX2hhc2giOiIzOTE0NDFlYjAzODlhMjQxNDYiLCJyZXBvcnRfZXJyb3JfaGFzaCI6IjM4MzcxOWUwYzhmNTQ2NjU5YSJ9XX19PCE+PCFwYWdldmlld19jYW5kaWRhdGU+
46
- http_version:
47
- recorded_at: Mon, 27 Mar 2017 21:01:41 GMT
48
- recorded_with: VCR 3.0.3
@@ -1,48 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://vk.com/al_video.php
6
- body:
7
- encoding: US-ASCII
8
- string: User-Agent=VideoInfo%2F2.7&act=show&al=1&autoplay=0&module=profile&video=2152699_168591741
9
- headers:
10
- Accept-Encoding:
11
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
- Accept:
13
- - "*/*"
14
- User-Agent:
15
- - Mozilla/5.0 (Linux; VideoInfo)
16
- - Ruby
17
- response:
18
- status:
19
- code: 200
20
- message: OK
21
- headers:
22
- Server:
23
- - Apache
24
- Date:
25
- - Mon, 27 Mar 2017 21:01:45 GMT
26
- Content-Type:
27
- - text/html; charset=windows-1251
28
- Content-Length:
29
- - '10330'
30
- Connection:
31
- - keep-alive
32
- X-Powered-By:
33
- - PHP/3.12334
34
- Set-Cookie:
35
- - remixlang=3; expires=Sat, 24 Mar 2018 08:01:49 GMT; path=/; domain=.vk.com
36
- Pragma:
37
- - no-cache
38
- Cache-Control:
39
- - no-store
40
- Strict-Transport-Security:
41
- - max-age=0
42
- body:
43
- encoding: ASCII-8BIT
44
- string: !binary |-
45
- PCEtLTMzMjY4NDA3MjMyMjg8IT51aV9tZWRpYV9zZWxlY3Rvci5qcyx1aV9tZWRpYV9zZWxlY3Rvci5jc3MsZW1vamkuanMsbm90aWZpZXIuY3NzLHZpZGVvdmlldy5qcyx2aWRlb3ZpZXcuY3NzLHBhZ2UuanMscGFnZS5jc3MscG9zdC5jc3MsdWlfY29udHJvbHMuanMsdWlfY29udHJvbHMuY3NzPCE+MzwhPjM3MDQ8IT4wPCE+QkVBVCBTT1VMIFNURVAglyBSREMxNCBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwLCBNYXkgMS0yLCBNb3Njb3cgMjAxNDwhPjxkaXYgY2xhc3M9InZpZGVvX2JveF93cmFwIj4KICA8ZGl2IGlkPSJ2aWRlb19wbGF5ZXIiPgogICAgPGRpdiBpZD0idmlkZW9feXQiIHRhYmluZGV4PSIwIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdXRsaW5lOjA7Ij4KICAgICAgPGlmcmFtZSBjbGFzcz0idmlkZW9feXRfcGxheWVyIiB0eXBlPSJ0ZXh0L2h0bWwiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNFRod3M1d3E1R0k/ZW5hYmxlanNhcGk9MSZhdXRvcGxheT0wJnN0YXJ0PTAmYXV0b2hpZGU9MSZ3bW9kZT1vcGFxdWUmc2hvd2luZm89MCZvcmlnaW49aHR0cHM6Ly92ay5jb20mZnM9MSZyZWw9MCZjY19sb2FkX3BvbGljeT0wJml2X2xvYWRfcG9saWN5PTMiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PCE+CmFkZFRlbXBsYXRlcyh7Il8iOiJfIiwiYXVkaW9fcm93IjoiPGRpdiBjbGFzcz1cImF1ZGlvX3JvdyBfYXVkaW9fcm93IF9hdWRpb19yb3dfJTElXyUwJSAlY2xzJSBjbGVhcl9maXhcIiBvbmNsaWNrPVwicmV0dXJuIGdldEF1ZGlvUGxheWVyKCkudG9nZ2xlQXVkaW8odGhpcywgZXZlbnQpXCIgZGF0YS1hdWRpbz1cIiVzZXJpYWxpemVkJVwiIGRhdGEtZnVsbC1pZD1cIiUxJV8lMCVcIiBpZD1cImF1ZGlvXyUxJV8lMCVcIj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX3BsYXlfd3JhcFwiIGRhdGEtbm9kcmFnPVwiMVwiPjxidXR0b24gY2xhc3M9XCJhdWRpb19wbGF5IF9hdWRpb19wbGF5XCIgaWQ9XCJwbGF5XyUxJV8lMCVcIiBhcmlhLWxhYmVsPVwiXCI+PFwvYnV0dG9uPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF1ZGlvX2luZm9cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fZHVyYXRpb25fd3JhcCBfYXVkaW9fZHVyYXRpb25fd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2hxX2xhYmVsXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2R1cmF0aW9uIF9hdWRpb19kdXJhdGlvblwiPiVkdXJhdGlvbiU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJyZWNvbVwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5zaG93UmVjb21zKHRoaXMsICclMSVfJTAlJywgZXZlbnQpXCI+PGRpdj48XC9kaXY+PFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fYWN0XCIgaWQ9XCJuZXh0XCIgb25tb3VzZW92ZXI9XCJhdWRpb1Nob3dBY3Rpb25Ub29sdGlwKHRoaXMsICclMSVfJTAlJylcIiBvbmNsaWNrPVwiZ2V0QXVkaW9QbGF5ZXIoKS5zZXROZXh0KHRoaXMsIGV2ZW50KVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiZWRpdFwiIG9ubW91c2VvdmVyPVwiYXVkaW9TaG93QWN0aW9uVG9vbHRpcCh0aGlzLCAnJTElXyUwJScpXCIgb25jbGljaz1cIkF1ZGlvUGFnZSh0aGlzKS5lZGl0QXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIj48ZGl2PjxcL2Rpdj48XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdWRpb19hY3QgX2F1ZGlvX2FjdF9kZWxldGVcIiBpZD1cImRlbGV0ZVwiIG9uY2xpY2s9XCJBdWRpb1BhZ2UodGhpcykuZGVsZXRlQXVkaW8odGhpcywgJyUxJV8lMCUnLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGlvX2FjdFwiIGlkPVwiYWRkXCIgb25jbGljaz1cInJldHVybiBhZGRBdWRpbyh0aGlzLCBldmVudClcIiBvbm1vdXNlb3Zlcj1cImF1ZGlvU2hvd0FjdGlvblRvb2x0aXAodGhpcywgJyUxJV8lMCUnKVwiPjxkaXY+PFwvZGl2PjxcL2Rpdj5cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXVkaW9fdGl0bGVfd3JhcFwiXG4gICAgID48YSBocmVmPVwiJXNlYXJjaF9ocmVmJVwiIG9ubW91c2VvdmVyPVwic2V0VGl0bGUodGhpcylcIiBub2RyYWc9XCIxXCIgb25jbGljaz1cInJldHVybiBhdWRpb1NlYXJjaFBlcmZvcm1lcih0aGlzLCBldmVudClcIiBjbGFzcz1cImF1ZGlvX3BlcmZvcm1lclwiPiU0JTxcL2FcbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9faW5mb19kaXZpZGVyXCI+Jm5kYXNoOzxcL3NwYW5cbiAgICAgPjxzcGFuIGNsYXNzPVwiYXVkaW9fdGl0bGUgX2F1ZGlvX3RpdGxlXCIgb25tb3VzZW92ZXI9XCJzZXRUaXRsZSh0aGlzLCBkb21QTih0aGlzKSlcIlxuICAgICAgICA+PHNwYW4gY2xhc3M9XCJhdWRpb190aXRsZV9pbm5lclwiIHRhYmluZGV4PVwiMFwiIG5vZHJhZz1cIjFcIiBhcmlhLWxhYmVsPVwiJTMlXCIgb25jbGljaz1cInJldHVybiB0b2dnbGVBdWRpb0x5cmljcyhldmVudCwgdGhpcywgJyUxJV8lMCUnLCAnJTklJylcIj4lMyU8XC9zcGFuPlxuICAgICAgICBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhdWRpb19hdXRob3JcIiBvbmNsaWNrPVwiY3VyLmNhbmNlbENsaWNrPXRydWVcIj4lOCU8XC9zcGFuPlxuICAgICAgPFwvc3BhblxuICAgID48XC9kaXY+XG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19wbGF5ZXJfd3JhcFwiPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cIl9hdWRpb19seXJpY3Nfd3JhcCBhdWRpb19seXJpY3NcIiBkYXRhLW5vZHJhZz1cIjFcIj48XC9kaXY+XG48XC9kaXY+IiwiYXVkaW9fYml0c190b19jbHMiOiJ7XCIxXCI6XCJpbmxpbmVkXCIsXCIyXCI6XCJseXJpY3NcIixcIjRcIjpcImNhbmVkaXRcIixcIjhcIjpcImNhbmFkZFwiLFwiNjRcIjpcInJlY29tc1wiLFwiMTZcIjpcImNsYWltZWRcIixcIjMyXCI6XCJjbGFpbWVkX3RpdGxlXCIsXCIyNTZcIjpcImZyb21fcXVldWVcIixcIjUxMlwiOlwiaHFcIixcIjMyNzY4XCI6XCJsdGJcIixcIjE2Mzg0XCI6XCJscGJcIixcIjQwOTZcIjpcImNsYWltX2hpZGRlblwiLFwiMjA0OFwiOlwiY2xhaW1fbW9kZVwiLFwiODE5MlwiOlwiY2xhaW1fdW1hXCJ9In0pO2N1ci5pbmNWaWV3cyA9IGZ1bmN0aW9uKCkgewogIHZhciBvaWR2aWQgPSAnMjE1MjY5OV8xNjg1OTE3NDEnOwogIGlmIChjdXIudmlkZW9JbmMgJiYgY3VyLnZpZGVvSW5jW29pZHZpZF0pIHsKICAgIHJldHVybjsKICB9CiAgaWYgKCFjdXIudmlkZW9JbmMpIHsKICAgIGN1ci52aWRlb0luYyA9IHt9OwogICAgY3VyLnZpZGVvU3RhcnRlZCA9IHt9OwogIH0KICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9JbmNbb2lkdmlkXSA9ICdmaW5pc2hlZCc7CiAgICB2YXIgbSA9IHdpbmRvdy5WaWRlbyA/IFZpZGVvdmlldy5nZXRWaWRlb01vZHVsZShvaWR2aWQpIDogY3VyLm1vZHVsZTsKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICBhamF4LnBvc3QoImFsX3ZpZGVvLnBocCIsIHthY3Q6J2luY192aWV3X2NvdW50ZXInLCBvaWQ6b2lkLCB2aWQ6MTY4NTkxNzQxLCBoYXNoOic3Mjk1YjM5Nzg0OTdmMDg2OThiOGNjYjdkMzBhMGM2NicsIG1vZHVsZTogbX0pOwogICAgfQogIH0sIDUwMDApOwogIGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICBjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gPSAnZmluaXNoZWQnOwogICAgdmFyIG0gPSB3aW5kb3cuVmlkZW8gPyBWaWRlb3ZpZXcuZ2V0VmlkZW9Nb2R1bGUob2lkdmlkKSA6IGN1ci5tb2R1bGU7CgogICAgdmFyIHZpZGVvY2F0ID0gJyc7CiAgICBpZiAod2luZG93LlZpZGVvY2F0ICYmIHdpbmRvdy5WaWRlbyAmJiBWaWRlby5pc0luQ2F0YWxvZygpKSB7CiAgICAgIHZhciBwbElkID0gVmlkZW9QbGF5bGlzdC5nZXRDdXJMaXN0SWQoKTsKICAgICAgaWYgKFZpZGVvY2F0LmlzVG9wM1BsYXlsaXN0KHBsSWQpKSB7CiAgICAgICAgdmlkZW9jYXQgPSAnZmVhdHVyZWQnOwogICAgICB9IGVsc2UgewogICAgICAgIHZpZGVvY2F0ID0gcGxJZDsKICAgICAgfQogICAgfQoKICAgIHZhciBvaWQgPSAyMTUyNjk5OwogICAgaWYgKG9pZCkgewogICAgICB3aW5kb3cubXZjdXIgPSB3aW5kb3cubXZjdXIgfHwge307CiAgICAgIG12Y3VyLnZpZXdTdGFydGVkVGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgIGFqYXgucG9zdCgiYWxfdmlkZW8ucGhwIiwge2FjdDondmlkZW9fdmlld19zdGFydGVkJywgb2lkOm9pZCwgdmlkOjE2ODU5MTc0MSwgaGFzaDonNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYnLCBtb2R1bGU6IG0sIHZpZGVvY2F0OiB2aWRlb2NhdH0pOwogICAgfQogIH0sIDApOwogIGN1ci5kZXN0cm95LnB1c2goZnVuY3Rpb24gKCkgewogICAgaWYgKGN1ci52aWRlb0luY1tvaWR2aWRdICYmIGN1ci52aWRlb0luY1tvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb0luY1tvaWR2aWRdKTsKICAgIH0KICAgIGlmIChjdXIudmlkZW9TdGFydGVkW29pZHZpZF0gJiYgY3VyLnZpZGVvU3RhcnRlZFtvaWR2aWRdICE9ICdmaW5pc2hlZCcpIHsKICAgICAgY2xlYXJUaW1lb3V0KGN1ci52aWRlb1N0YXJ0ZWRbb2lkdmlkXSk7CiAgICB9CiAgfSk7Cn07Cm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvID0gJzIxNTI2OTlfMTY4NTkxNzQxJzsgCm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvSGFzaCA9ICdkNGVhNDY4N2YwMWNjMWVlOWQnOyAKbXZjdXIubXZEYXRhLmFkZGVkVmlkZW9TaGFyZUhhc2ggPSAnOGJhOGZkYWZjZjQ2ZTFiYzY4JzsKbXZjdXIubXZEYXRhLm5lZWRzTmV3ID0gMTs8IT4KCjxkaXYgY2xhc3M9Im12X2luZm9fd2lkZV9jb2x1bW4gZmxfbCI+CiAgCiAgPGRpdiBjbGFzcz0ibXZfdGl0bGVfYmxvY2siPgogICAgPGRpdiBpZD0ibXZfdmlld3MiIGNsYXNzPSJtdl92aWV3c19jb3VudCAiIG9ubW91c2VvdmVyPSIiPjM3IHZpZXdzPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl90aXRsZSIgaWQ9Im12X3RpdGxlIj5CRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0PC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfYWN0aW9uc19ibG9jayIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImZsYXRfYnV0dG9uIHNlY29uZGFyeSBidXR0b25fbGlnaHQgbXZfc2hhcmVfYnV0dG9uIiBzdHlsZT0iZGlzcGxheTpub25lOyIgb25jbGljaz0idmlkZW92aWV3LnNlbmRWaWRlbygpOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X3NoYXJlX2ljb24iPjwvc3Bhbj5TaGFyZQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0ibXZfYWRkX3dyYXAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmbGF0X2J1dHRvbiBzZWNvbmRhcnkgYnV0dG9uX2xpZ2h0IG12X2VkaXRfYnV0dG9uIiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNob3dFZGl0Qm94KDE2ODU5MTc0MSwgMjE1MjY5OSkiIGlkPSJtdl9lZGl0X2J1dHRvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im12X2VkaXRfaWNvbiI+PC9zcGFuPkVkaXQgdmlkZW8KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtdl9tb3JlIGZsX2wiIGlkPSJtdl9tb3JlIj5Nb3JlPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICAKICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfYmxvY2siPgogICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgPGEgaHJlZj0iL2x5YW5vaS5raXJpbGwiIGNsYXNzPSJtdl9hdXRob3JfcGhvdG9fd3JhcCBmbF9sIj4KICAgICAgICA8aW1nIGlkPSJtdl9hdXRob3JfcGhvdG8iIGNsYXNzPSJtdl9hdXRob3JfcGhvdG8iIHNyYz0iaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNjIzODI0L3Y2MjM4MjQ2OTkvNTU1NzUvQ0NRWjI5bDBCOWsuanBnIj4KICAgICAgPC9hPgogICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfaW5mbyBmbF9sIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdl9hdXRob3JfbmFtZSI+CiAgICAgICAgICA8YSBjbGFzcz0ibWVtX2xpbmsiIGhyZWY9Ii9seWFub2kua2lyaWxsIj5LaXJpbGwgTHlhbm95PC9hPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im12X2luZm9fZGF0ZSI+TWF5IDEyLCAyMDE0IGF0IDk6MjMgYW0gZnJvbSA8YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRndhdGNoJTNGdiUzRDRUaHdzNXdxNUdJIiB0YXJnZXQ9Il9ibGFuayI+WW91VHViZTwvYT4gPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgCiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtdl9kZXNjcmlwdGlvbl9ibG9jayI+CiAgPGRpdiBjbGFzcz0ic2VsZWN0X2ZpeCBjbGVhcl9maXgiPgogICAgPGRpdiBpZD0ibXZfZGVzY3JpcHRpb24iIGNsYXNzPSJtdl9kZXNjIj4KICA8ZGl2IGNsYXNzPSJqc19tdl9kZXNjcl9maWVsZCBjYW50X2VkaXQiIGlkPSJtdl9kZXNjcl9maWVsZCI+QkVBVCBTT1VMIFNURVAgJiM5NzMzOyBQcm9qZWN0ODE4IFJ1c3NpYW4gRGFuY2UgQ2hhbXBpb25zaGlwICYjOTczMzsgMS0yIOzg/ywgzO7x6uLgIDIwMTQ8YnI+Q2hvcmVvZ3JhcGh5OiBLYXRpZTxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZwcm9qZWN0ODE4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiIHRhcmdldD0iX2JsYW5rIj5wcm9qZWN0ODE4LmNvbTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MThydXNzaWEiIG1lbnRpb25faWQ9InByb2plY3Q4MThydXNzaWEiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly92ay5jb20vcHJvamVjdDgxOCIgbWVudGlvbl9pZD0icHJvamVjdDgxOCIgb25jbGljaz0icmV0dXJuIG1lbnRpb25DbGljayh0aGlzLCBldmVudCkiIG9ubW91c2VvdmVyPSJtZW50aW9uT3Zlcih0aGlzKSI+dmsuY29tL3Byb2plY3Q4MTg8L2E+PGJyPi4uPC9kaXY+CiAgPGEgaWQ9Im12X2Rlc2NyX2V4cGFuZF90b2dnbGUiIGNsYXNzPSJ3YWxsX3Bvc3RfbW9yZSIgc3R5bGU9IiIgb25jbGljaz0iVmlkZW92aWV3LmV4cGFuZERlc2NyKHRoaXMpIj5FeHBhbmQgdGV4dIU8L2E+CiAgPGRpdiBpZD0ibXZfZGVzY19mdWxsX3RleHQiPkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGcHJvamVjdDgxOC5jb20iIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+cHJvamVjdDgxOC5jb208L2E+IHwgPGEgaHJlZj0iaHR0cDovL3ZrLmNvbS9wcm9qZWN0ODE4cnVzc2lhIiBtZW50aW9uX2lkPSJwcm9qZWN0ODE4cnVzc2lhIiBvbmNsaWNrPSJyZXR1cm4gbWVudGlvbkNsaWNrKHRoaXMsIGV2ZW50KSIgb25tb3VzZW92ZXI9Im1lbnRpb25PdmVyKHRoaXMpIj52ay5jb20vcHJvamVjdDgxOHJ1c3NpYTwvYT4gfCA8YSBocmVmPSJodHRwOi8vdmsuY29tL3Byb2plY3Q4MTgiIG1lbnRpb25faWQ9InByb2plY3Q4MTgiIG9uY2xpY2s9InJldHVybiBtZW50aW9uQ2xpY2sodGhpcywgZXZlbnQpIiBvbm1vdXNlb3Zlcj0ibWVudGlvbk92ZXIodGhpcykiPnZrLmNvbS9wcm9qZWN0ODE4PC9hPjxicj48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZmYWNlYm9vay5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmZhY2Vib29rLmNvbS9Qcm9qZWN0ODE4UnVzc2lhPC9hPjxicj48YSBocmVmPSIvYXdheS5waHA/dG89aHR0cCUzQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZwcm9qZWN0ODE4IiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPmluc3RhZ3JhbS5jb20vcHJvamVjdDgxODwvYT48YnI+PGEgaHJlZj0iL2F3YXkucGhwP3RvPWh0dHAlM0ElMkYlMkZ0d2l0dGVyLmNvbSUyRnByb2plY3Q4MTgiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+dHdpdHRlci5jb20vcHJvamVjdDgxODwvYT48YnI+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4UnVzc2lhIiB0YXJnZXQ9Il9ibGFuayIgdGFyZ2V0PSJfYmxhbmsiPnlvdXR1YmUuY29tL1Byb2plY3Q4MThSdXNzaWE8L2E+PGJyPjxhIGhyZWY9Ii9hd2F5LnBocD90bz1odHRwJTNBJTJGJTJGeW91dHViZS5jb20lMkZQcm9qZWN0ODE4Y2hhbXAiIHRhcmdldD0iX2JsYW5rIiB0YXJnZXQ9Il9ibGFuayI+eW91dHViZS5jb20vUHJvamVjdDgxOGNoYW1wPC9hPjwvZGl2PgogIDxkaXYgY2xhc3M9InByICIgaWQ9Im12X2lubGluZV9lZGl0X3ByIj48ZGl2IGNsYXNzPSJwcl9idCI+PC9kaXY+PGRpdiBjbGFzcz0icHJfYnQiPjwvZGl2PjxkaXYgY2xhc3M9InByX2J0Ij48L2Rpdj48L2Rpdj4KPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgogIDxkaXYgY2xhc3M9Im12X2NvbW1lbnRzX2Jsb2NrIHdhbGxfbW9kdWxlIj4KICAgIDxkaXYgaWQ9InBvc3QyMTUyNjk5X3ZpZGVvMTY4NTkxNzQxbXYiPgogICAgICA8ZGl2IGlkPSJtdl9jb21tZW50c193cmFwIj4KICA8ZGl2IGlkPSJtdl9jb21tZW50c19oZWFkZXIiIG9uY2xpY2s9IlZpZGVvdmlldy5tb3JlQ29tbWVudHMoKTsiIGNsYXNzPSJtdl9jb21tZW50c19leHBhbmRlZCI+PC9kaXY+CiAgPGRpdiBpZD0ibXZfY29tbWVudHNfc3VtbWFyeSIgY2xhc3M9Im12X2NvbW1lbnRzX3N1bW1hcnkgbXZfY29tbWVudHNfZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KICA8ZGl2IGlkPSJtdl9jb21tZW50cyI+PC9kaXY+CjwvZGl2PgogICAgICAKICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0ibXZfaW5mb19uYXJyb3dfY29sdW1uIGZsX3IiPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2Jsb2NrIj4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9ibG9ja190aXRsZSI+T3RoZXIgdmlkZW9zPC9kaXY+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzODYyOTgwIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Mzg2Mjk4MCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTA1MjA2L3UzMjA2NzAyL3ZpZGVvL2xfNDQ1Mjg1ZDcuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+MjozMDwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzODYyOTgwIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Mzg2Mjk4MCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IldpdGhvdXQgYSBmYWNlICAo0uDr4O3y6+ji4P8gIMzu6+7k5eb8KSAyIj5XaXRob3V0IGEgZmFjZSAgKNLg6+Dt8uvo4uD/ICDM7uvu5OXm/CkgMjwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NDEgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzMjIzMzA0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2MzIyMzMwNCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTEwMzIzL3UxNTE1NDQ3MC92aWRlby9sX2MxN2ZjMDk2LmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjM6MzQ8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2MzIyMzMwNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjMyMjMzMDQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSLO4fvq7e7i5e3t7uUg9/Pk7iI+zuH76u3u4uXt7e7lIPfz5O48L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjM4IHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Njk1MjU5OSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjY5NTI1OTknLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUxMzIxOS91MjE0OTc0ODczL3ZpZGVvL2xfYmU2ZTM2OWQuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+NDowNjwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY2OTUyNTk5IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Njk1MjU5OScsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IsHl5yDt4Ofi4O3o/yI+weXnIO3g5+Lg7ej/PC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj40MCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjg5ODg5NDkiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY4OTg4OTQ5JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1NDAzMDUvdTI0NjEwNTA4OS92aWRlby9sX2MwYWQyMWU1LmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjA6NDM8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2ODk4ODk0OSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjg5ODg5NDknLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJNaXgt8uXw6P8iPk1peC3y5fDo/zwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+NCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjgyODI0NDMiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY4MjgyNDQzJywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1NDAzMDQvdTU4MTA1NzI4L3ZpZGVvL2xfOGZkNTg1ZmUuanBnJykiPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9kdXJhdGlvbiI+Mjo1NjwvZGl2PgogIDwvYT4KICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2luZm8iPgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV90aXRsZSI+CiAgICAgIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTY4MjgyNDQzIiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2ODI4MjQ0MycsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9Ik5vIG5hbWUiPk5vIG5hbWU8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjE3IHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2NjY3Njk4MyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjY2NzY5ODMnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzUzMjQyMi91MjE1MjY5OS92aWRlby9sX2U5MTA2OGY3LmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjE6MzY8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2NjY3Njk4MyIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjY2NzY5ODMnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSJUd29NYW4gUHJvamVjdCBwcm9tb3Rpb24uLi4gKCBoaXAtaG9wLCBkdWJzdGVwLCBicmVhayBkYW5jZSwgZnJlZXN0eWxlLCBvbGQgJmFtcDsgbmV3IGRhbmNlIHNjaG9vbCkiPlR3b01hbiBQcm9qZWN0IHByb21vdGlvbi4uLiAoIGhpcC1ob3AsIGR1YnN0ZXAsIGJyZWFrIGRhbmNlLCBmcmVlc3R5bGUsIG9sZCAmYW1wOyBuZXcgZGFuY2Ugc2Nob29sKTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV92aWV3cyI+MSwxMTIgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbSBjbGVhcl9maXgiPgogIDxhIGhyZWY9Ii92aWRlbzIxNTI2OTlfMTYzOTQyOTE0IiAgb25tb3VzZXVwPSJhamF4LnBvc3QoJy9hbF9pbmRleC5waHAnLCB7YWN0OidhX290aGVyX3ZpZGVvc19uYXZpZ2F0aW9uJywgYmxvY2tfaWQ6IDEsIGZyb206ICdvdGhlcl92aWRlb3MnfSk7IHJldHVybiBjaGVja0V2ZW50KGV2ZW50KTsiICBvbmNsaWNrPSJyZXR1cm4gc2hvd1ZpZGVvKCcyMTUyNjk5XzE2Mzk0MjkxNCcsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jNTI2NjExL3U1NTgwMTU1My92aWRlby9sXzIwZTdmMzAwLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fZHVyYXRpb24iPjM6NTY8L2Rpdj4KICA8L2E+CiAgPGRpdiBjbGFzcz0ibXZfcmVjb21faXRlbV9pbmZvIj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGl0bGUiPgogICAgICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2Mzk0MjkxNCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjM5NDI5MTQnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnLCBhZGRQYXJhbXM6IHsgYWJfZ3JvdXA6ICdwcmV2bmV4dCcgfX0sIGV2ZW50KTsiIHRpdGxlPSLP7uTo8+zt++Ug8fLw4PHy6C4gIj7P7uTo8+zt++Ug8fLw4PHy6C4gPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4zNCB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvLTk4ODkxNjI1XzQ1NjIzOTAyOSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnLTk4ODkxNjI1XzQ1NjIzOTAyOScsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCd9LCBldmVudCk7IiBjbGFzcz0ibXZfcmVjb21faXRlbV90aHVtYiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9wcC51c2VyYXBpLmNvbS9jODM2NTI4L3UyNzExMzA0MzcvdmlkZW8vbF8zNjJhODJkZi5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj40OjAyPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvLTk4ODkxNjI1XzQ1NjIzOTAyOSIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnLTk4ODkxNjI1XzQ1NjIzOTAyOScsICcnLCB7YXV0b3BsYXk6IDEsIG1vZHVsZTogJ3JlY29tbWVuZCcsIGFkZFBhcmFtczogeyBhYl9ncm91cDogJ3ByZXZuZXh0JyB9fSwgZXZlbnQpOyIgdGl0bGU9IkFOQVNUQVNJQSBFVlNURUdORUVWQSAtIFdpbm5lciBvZiB0aGUgUHJvZmVzc2lvbmFsIENhdGVnb3J5IChXb21lbikiPkFOQVNUQVNJQSBFVlNURUdORUVWQSAtIFdpbm5lciBvZiB0aGUgUHJvZmVzc2lvbmFsIENhdGVnb3J5IChXb21lbik8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1fdmlld3MiPjIsNDg2IHZpZXdzPC9kaXY+CiAgPC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW0gY2xlYXJfZml4Ij4KICA8YSBocmVmPSIvdmlkZW8yMTUyNjk5XzE2MjQ1NTc5OCIgIG9ubW91c2V1cD0iYWpheC5wb3N0KCcvYWxfaW5kZXgucGhwJywge2FjdDonYV9vdGhlcl92aWRlb3NfbmF2aWdhdGlvbicsIGJsb2NrX2lkOiAxLCBmcm9tOiAnb3RoZXJfdmlkZW9zJ30pOyByZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiAgb25jbGljaz0icmV0dXJuIHNob3dWaWRlbygnMjE1MjY5OV8xNjI0NTU3OTgnLCAnJywge2F1dG9wbGF5OiAxLCBtb2R1bGU6ICdyZWNvbW1lbmQnfSwgZXZlbnQpOyIgY2xhc3M9Im12X3JlY29tX2l0ZW1fdGh1bWIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vcHAudXNlcmFwaS5jb20vYzYwNzgvdTMyMDY3MDIvdmlkZW8vbF9hMzM1MTQ4Zi5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4yOjQxPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjI0NTU3OTgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTYyNDU1Nzk4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iTGlwdG9uIERhbmNlIC0gz/Do8e7l5Ojt/+nx/yDqIPLg7fbzJiMzMzsgKPTr5fjs7uEg7eAgwsTN1SkiPkxpcHRvbiBEYW5jZSAtIM/w6PHu5eTo7f/p8f8g6iDy4O328yYjMzM7ICj06+X47O7hIO3gIMLEzdUpPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4zMiB2aWV3czwvZGl2PgogIDwvZGl2Pgo8L2Rpdj48ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtIGNsZWFyX2ZpeCI+CiAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MDUwMTgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzA1MDE4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJ30sIGV2ZW50KTsiIGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RodW1iIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3BwLnVzZXJhcGkuY29tL2M1NDAyMDYvdTQ0ODg5MjMvdmlkZW8vbF8zZTY1Mzk4Zi5qcGcnKSI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX2R1cmF0aW9uIj4wOjMwPC9kaXY+CiAgPC9hPgogIDxkaXYgY2xhc3M9Im12X3JlY29tX2l0ZW1faW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3RpdGxlIj4KICAgICAgPGEgaHJlZj0iL3ZpZGVvMjE1MjY5OV8xNjc3MDUwMTgiICBvbm1vdXNldXA9ImFqYXgucG9zdCgnL2FsX2luZGV4LnBocCcsIHthY3Q6J2Ffb3RoZXJfdmlkZW9zX25hdmlnYXRpb24nLCBibG9ja19pZDogMSwgZnJvbTogJ290aGVyX3ZpZGVvcyd9KTsgcmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgIG9uY2xpY2s9InJldHVybiBzaG93VmlkZW8oJzIxNTI2OTlfMTY3NzA1MDE4JywgJycsIHthdXRvcGxheTogMSwgbW9kdWxlOiAncmVjb21tZW5kJywgYWRkUGFyYW1zOiB7IGFiX2dyb3VwOiAncHJldm5leHQnIH19LCBldmVudCk7IiB0aXRsZT0iyuDx8ujt4yAtQXJ0LiBkYW5jZSBzaG93ICZxdW90OyBCSUdvb0RlZS4iPsrg8fLo7eMgLUFydC4gZGFuY2Ugc2hvdyAmcXVvdDsgQklHb29EZWUuPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtdl9yZWNvbV9pdGVtX3ZpZXdzIj4xMDUgdmlld3M8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj48IT48IT48IWpzb24+eyJsYW5nIjp7Imdsb2JhbF9zaG9ydF9kYXRlX3RpbWUiOlsiIiwie2RheX0ge21vbnRofSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInllc3RlcmRheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRvZGF5IGF0IHtob3VyfTp7bWludXRlfSB7YW1fcG19IiwidG9tb3Jyb3cgYXQge2hvdXJ9OnttaW51dGV9IHthbV9wbX0iXSwicmVwbHlfdG9fcG9zdCI6IllvdXIgY29tbWVudC4uIiwid2FsbF9NX3JlcGxpZXNfb2ZfTiI6WyIiLCIlcyBjb21tZW50IG9mIHtsaW5rfXthbGx9e1wvbGlua30iLCIlcyBjb21tZW50cyBvZiB7bGlua317YWxsfXtcL2xpbmt9Il0sIndhbGxfbW9yZV9yZXBsaWVzIjpbIiIsInNob3cgJXMgbW9yZSBjb21tZW50Iiwic2hvdyAlcyBtb3JlIGNvbW1lbnRzIl0sIndhbGxfYWxsX3JlcGxpZXMiOiJhbGwgY29tbWVudHMiLCJkb250X2F0dGFjaCI6IlJlbW92ZSBhdHRhY2htZW50IiwidmlkZW9fWF9jb21tcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwidmlkZW9fZWRpdCI6IkVkaXQgdmlkZW8iLCJ2aWRlb19lZGl0X2Rlc2MiOiJFZGl0IGRlc2NyaXB0aW9uIiwidmlkZW9fZWRpdF9kZXNjX2ludHJvIjoiRW50ZXIgZGVzY3JpcHRpb24iLCJ2aWRlb19zaG93X3ByZXZpb3VzX2NvbW1lbnRzIjpbIiIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudCIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudHMiXSwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlIHRoaXMgdmlkZW8/IiwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlX3RpdGxlIjoiQ2xvc2UgdmlkZW8iLCJwcm9maWxlX21lbnRpb25fbm90X2ZvdW5kIjoiVXNlciB3YXMgbm90IGZvdW5kIiwicHJvZmlsZV9tZW50aW9uX3N0YXJ0X3R5cGluZyI6IlN0YXJ0IHR5cGluZyBhIG5hbWUuLiIsInZpZGVvX2FsYnVtX2lzX3ByaXZhdGVfdHQiOiJUaGlzIGFsYnVtIGlzIHByaXZhdGUiLCJ2aWRlb19hZGRfdG9fbXlfcGxheWxpc3QiOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfdG9fbXlfcGxheWxpc3QiOiJBZGRlZCIsInZpZGVvX2NoYW5nZXNfc2F2ZWQiOiJDaGFuZ2VzIHNhdmVkIiwidmlkZW9fYWRkX2FsYnVtIjoiQ3JlYXRlIGFsYnVtIiwidmlkZW9fYWRkX3ByaXZhdGVfYWxidW0iOiJDcmVhdGUgYSBwcml2YXRlIGFsYnVtIiwidmlkZW9fYWRkX3RvX2dyb3VwIjoiQWRkIHRvIGNvbW11bml0eSIsInZpZGVvX2V4cG9ydF9hY3Rpb24iOiJFeHBvcnQiLCJ2aWRlb19zdGF0aXN0aWNzIjoiU3RhdGlzdGljcyIsInZpZGVvX2NvbXBsYWluIjoiUmVwb3J0IiwidmlkZW9fc2VsZWN0X2FsYnVtcyI6IlNlbGVjdCBhbGJ1bXMiLCJ2aWRlb190Y19zdXJlX2RlbGV0ZSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyB2aWRlbz88YnI+PGJyPllvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIHJlc3RvcmUgdGFncyBhbmQgY29tbWVudHMuIiwidmlkZW9fdGNfZGVsZXRlIjoiRGVsZXRlIiwidmlkZW9fZGVsZXRlX2RpYWxvZ190aXRsZSI6IkRlbGV0ZSB2aWRlbyIsInZpZGVvX2RlbGV0ZV9ib3hfbm9fdGl0bGUiOiJObyIsInZpZGVvX21lbnVfZGVsZXRlIjoiRGVsZXRlIHZpZGVvIiwidmlkZW9fdmlld3NfY291bnRfdHRfdGV4dCI6Ik9yaWdpbmFsIHZpZGVvIHZpZXdzICh0b3RhbCB2aWV3cykiLCJ2aWRlb19vbmx5X3ByaXZhdGVfdmlkZW8iOiJUaGlzIHZpZGVvIGNhbiBvbmx5IGJlIGFkZGVkIHRvIGEgcHJpdmF0ZSBhbGJ1bSIsInZpZGVvX2xlYXZlX2Nsb3NlZF9ncm91cF90aXRsZSI6IkxlYXZlIGNsb3NlZCBjb21tdW5pdHkiLCJ2aWRlb19sZWF2ZV9jbG9zZWRfZ3JvdXBfdGV4dCI6IllvdSBhcmUgYWJvdXQgdG8gbGVhdmUgYSBjbG9zZWQgY29tbXVuaXR5LiBJdCBtYXkgbm90IGJlIHRoYXQgZWFzeSB0byBjb21lIGJhY2suIExlYXZlIHRoZSBjb21tdW5pdHk/IiwidmlkZW9fbGVhdmVfYWRtaW5lZF9ncm91cF90ZXh0IjoiWW91IGFyZSBhbiA8Yj5hZG1pbmlzdHJhdG9yPFwvYj4gaW4gdGhpcyBjb21tdW5pdHkuIFlvdSB3aWxsIGxvc2UgdGhpcyBwb3NpdGlvbiBpZiB5b3UgbGVhdmUgbm93LiBMZWF2ZSB0aGUgY29tbXVuaXR5PyIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlX3RvX2F1dGhvciI6IlN1YnNjcmliZSIsInZpZGVvX3ZpZXdfc3Vic2NyaWJlZF9tc2ciOiJGb2xsb3dpbmciLCJ2aWRlb19wbGF5ZXJfbmV4dF90aXRsZSI6Ik5leHQgdmlkZW8iLCJ2aWRlb19pX2xpa2UiOiJMaWtlIiwidmlkZW9fc2hhcmVfd2l0aF9mcmllbmRzIjoiU2hhcmUiLCJ2aWRlb19hZGRfZmxhc2giOiJBZGQgdG8gTXkgVmlkZW9zIiwidmlkZW9fYWRkZWRfZmxhc2giOiJWaWRlbyBhZGRlZCB0byBNeSBWaWRlb3MiLCJ2aWRlb19jb21tZW50c19zdW1tYXJ5IjpbIiIsIiVzIGNvbW1lbnQiLCIlcyBjb21tZW50cyJdLCJ2aWRlb19OX3ZpZXdzX2xpc3QiOlsiIiwiJXMgdmlldyIsIiVzIHZpZXdzIl0sInZpZGVvX3BsYXlsaXN0X3JldmVyc2VfdHQiOiJSZXZlcnNlIG9yZGVyIiwidmlkZW9fcGxheWxpc3RfYXV0b3BsYXlfZGlzYWJsZV90dCI6IkRpc2FibGUgYXV0b3BsYXkiLCJ2aWRlb19wbGF5bGlzdF9hdXRvcGxheV9lbmFibGVfdHQiOiJFbmFibGUgYXV0b3BsYXkiLCJ2aWRlb19saXZlX05fd2F0Y2hpbmciOlsiIiwiJXMgaXMgd2F0Y2hpbmcgbm93IiwiJXMgYXJlIHdhdGNoaW5nIG5vdyJdLCJ2aWRlb19saXZlX2NoYXRfbXNnX3Rvb19sb25nIjoiVGhlIG1lc3NhZ2UgaXMgdG9vIGxvbmciLCJ2aWRlb19saXZlX2NoYXRfdG9vX2Zhc3QiOiJUb28gZmFzdIUiLCJ2aWRlb19hcmlhX21pbmltaXplX3BsYXlsaXN0IjoiSGlkZSBwbGF5bGlzdCIsInZpZGVvX2FyaWFfZXhwYW5kX3BsYXlsaXN0IjoiU2hvdyBwbGF5bGlzdCIsInZpZGVvX2FyaWFfbWluaW1pemVfY2hhdCI6IkhpZGUgY2hhdCIsInZpZGVvX2FyaWFfZXhwYW5kX2NoYXQiOiJFeHBhbmQgY2hhdCIsInZpZGVvX2xpdmVfbm90aWZ5X3N1YnNjcmliZWQiOiJTdHJlYW0gbm90aWZpY2F0aW9ucyBlbmFibGVkIiwidmlkZW9fbGl2ZV9ub3RpZnlfdW5zdWJzY3JpYmVkIjoiU3RyZWFtIG5vdGlmaWNhdGlvbnMgZGlzYWJsZWQiLCJ2aWRlb19saXZlX3lvdV9oYXZlX1hfbW9uZXkiOiJZb3UgaGF2ZSB7bW9uZXl9IiwidmlkZW9fdW5mb2xsb3dfZnJpZW5kX3RpdGxlIjoiUmVtb3ZlIGZyb20gZnJpZW5kcyIsInZpZGVvX3VuZm9sbG93X2ZyaWVuZF90ZXh0IjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSBLaXJpbGwgZnJvbSB5b3VyIGZyaWVuZCBsaXN0PyJ9LCJtdkRhdGEiOnsidGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwiZGVzYyI6IkJFQVQgU09VTCBTVEVQICYjOTczMzsgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCAmIzk3MzM7IDEtMiDs4P8sIMzu8eri4CAyMDE0PGJyPkNob3Jlb2dyYXBoeTogS2F0aWU8YnI+PGJyPnByb2plY3Q4MTguY29tIHwgdmsuY29tXC9wcm9qZWN0ODE4cnVzc2lhIHwgdmsuY29tXC9wcm9qZWN0ODE4PGJyPjxicj5mYWNlYm9vay5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+aW5zdGFncmFtLmNvbVwvcHJvamVjdDgxODxicj50d2l0dGVyLmNvbVwvcHJvamVjdDgxODxicj48YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThSdXNzaWE8YnI+eW91dHViZS5jb21cL1Byb2plY3Q4MThjaGFtcCIsIm9pZCI6MjE1MjY5OSwidmlkIjoxNjg1OTE3NDEsImF1dGhvcklkIjoyMTUyNjk5LCJhdXRob3JQaG90byI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYyMzgyNFwvdjYyMzgyNDY5OVwvNTU1NzVcL0NDUVoyOWwwQjlrLmpwZyIsImF1dGhvckhyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJ2aWRlb1JhdyI6IjIxNTI2OTlfMTY4NTkxNzQxIiwiaGFzaCI6IjAyMzY0NmMwYmM3MTEwYWQ5MSIsImxpa2VIYXNoIjoiMzBjYzE4OTJmODFkZWI2MjM1IiwiZWRpdEhhc2giOiIiLCJlZGl0RnJvbURyb3Bkb3duIjowLCJoaWRlRWRpdCI6bnVsbCwiY29tbXNob3duIjowLCJjb21tY291bnQiOjAsImxpa2VkIjpmYWxzZSwibGlrZXMiOjAsImFkZGVkIjowLCJjYW5fYWRkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsIm5vbGlrZXMiOjEsImR1cmF0aW9uIjoyOTksInZzZWdzU2l6ZSI6MjkuMDAwMDAwLCJwbGF5bGlzdHMiOltdLCJ1cGxvYWRlZCI6ZmFsc2UsInB1Ymxpc2hlZCI6dHJ1ZSwibm9Db250cm9scyI6ZmFsc2UsInBsYXlsaXN0QWRkSGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImRlbGV0ZUhhc2giOiIiLCJyZXBvcnRSZWFzb25zIjpbXSwicmVwb3J0SGFzaCI6IjFkY2MzZjJkNDE2OWY1NTBjMCIsImluZm8iOlsyMTUyNjk5LDE2ODU5MTc0MSwiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsIkJFQVQgU09VTCBTVEVQIJcgUkRDMTQgUHJvamVjdDgxOCBSdXNzaWFuIERhbmNlIENoYW1waW9uc2hpcCwgTWF5IDEtMiwgTW9zY293IDIwMTQiLDMsIjQ6NTkiLCIiLCIiLCI8YSBocmVmPVwiXC9seWFub2kua2lyaWxsXCIgY2xhc3M9XCJtZW1fbGlua1wiPktpcmlsbCBMeWFub3k8XC9hPiIsMTM5OTg3NTc4MywzN10sImNhbkV4cG9ydCI6MSwiaXNWaWRlb0FkcyI6ZmFsc2UsImRlbGV0ZUZyb21BbGxBbGJ1bXNIYXNoIjoiIiwiaXNfbGl2ZSI6MCwiaXNfYWN0aXZlX2xpdmUiOjAsIlBMQVlMSVNUX0FEREVEX0lEIjotMiwiUExBWUxJU1RfVVBMT0FERURfSUQiOi0xLCJub1B1YmxpY0FkZCI6ZmFsc2UsIlBMQVlFUl9GVUxMX1dJRFRIIjo5NjAsIlBMQVlFUl9GVUxMX0hFSUdIVCI6NTQwLCJQTEFZRVJfUExfV0lEVEgiOjcyMCwiUExBWUVSX1BMX0hFSUdIVCI6NDA1LCJsX3R5cGUiOjIsImt6IjowLCJ0bnNfbW9uZXRpemVkIjp0cnVlfSwid2FsbFRwbCI6eyJyZXBseV9ib3giOiI8ZGl2IGlkPVwicmVwbHlfYm94X3dyYXAlcG9zdF9pZCVcIj48ZGl2IGNsYXNzPVwicmVwbHlfYm94X2lubmVyX3dyYXBcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hfd3JhcFwiIGlkPVwicmVwbHlfZmFrZWJveCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5zaG93RWRpdFJlcGx5KCclcG9zdF9pZCUnLCBldmVudClcIiBkYXRhLW93bmVyLXBob3RvPVwiJW93bmVyX3Bob3RvJVwiIGRhdGEtb3duZXItaHJlZj1cIiVvd25lcl9ocmVmJVwiPlxuICAgIDxkaXYgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJcIj5cbiAgPGEgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfbGlua1wiIGhyZWY9XCJcL2lkXCIgb25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpXCI+XG4gICAgPGltZyBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9pbWFnZVwiIHNyYz1cIlwvaW1hZ2VzXC9jYW1lcmFfNTAucG5nXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+JXVzZXJfaW1hZ2UlXG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zha2Vib3hcIj5MZWF2ZSBhIGNvbW1lbnQuLi48XC9kaXY+PFwvZGl2PlxuPFwvZGl2PjxcL2Rpdj48aW5wdXQgdHlwZT1cImhpZGRlblwiIGlkPVwicG9zdF9oYXNoJXBvc3RfaWQlXCIgdmFsdWU9XCIxNDkwNjQ4NTA1XzJiNGIwZGRiMTg3MGQyOTFkN1wiIGNhbl9yZXBseV9hc19ncm91cD1cIiVjYW5fcmVwbHlfYXNfZ3JvdXAlXCIgXC8+IiwicmVwbHlfZm9ybSI6IjxkaXYgaWQ9XCJyZXBseV9ib3glcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0X2JveCByZXBseV9ib3ggY2xlYXJfZml4IF9zdWJtaXRfcG9zdF9ib3hcIiBvbmNsaWNrPVwicmV0dXJuIGNhbmNlbEV2ZW50KGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9ybVwiPlxuICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgaWQ9XCJyZXBseV90byVwb3N0X2lkJVwiIHZhbHVlPVwiXCIgXC8+XG4gICAgPGRpdiBjbGFzcz1cInBvc3RfZmllbGRfdXNlclwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIlwvaWRcIiBvbmNsaWNrPVwicmV0dXJuIG5hdi5nbyh0aGlzLCBldmVudClcIj5cbiAgICA8aW1nIGNsYXNzPVwicG9zdF9maWVsZF91c2VyX2ltYWdlXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPFwvYT5cbjxcL2Rpdj4ldXNlcl9pbWFnZSVcbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZmllbGRfd3JhcCBfZW1vamlfZmllbGRfd3JhcFwiPlxuICAgICAgPGRpdiBpZD1cInJlcGx5X3NtaWxlJXBvc3RfaWQlXCIgY2xhc3M9XCJlbW9qaV9zbWlsZV93cmFwICBfZW1vamlfd3JhcFwiPlxuICA8ZGl2IGNsYXNzPVwiZW1vamlfc21pbGUgX2Vtb2ppX2J0blwiIHRpdGxlPVwiVXNlIHRoZSBUQUIga2V5IHRvIGluc2VydCBlbW9qaSBmYXN0ZXJcIiBvbm1vdXNlb3Zlcj1cInJldHVybiBFbW9qaS5zaG93KHRoaXMsIGV2ZW50KTtcIiBvbm1vdXNlb3V0PVwicmV0dXJuIEVtb2ppLmhpZGUodGhpcywgZXZlbnQpO1wiIG9uY2xpY2s9XCJyZXR1cm4gY2FuY2VsRXZlbnQoZXZlbnQpO1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlbW9qaV9zbWlsZV9pY29uXCI+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfZmllbGQlcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2ZpZWxkIHN1Ym1pdF9wb3N0X2ZpZWxkXCIgb25mb2N1cz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KTtcIiBjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJMZWF2ZSBhIGNvbW1lbnQuLi5cIj48XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIDxkaXYgaWQ9XCJzdWJtaXRfcmVwbHklcG9zdF9pZCVcIiBjbGFzcz1cInN1Ym1pdF9wb3N0IGNsZWFyX2ZpeFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X3dhcm4gY2xlYXJcIiBpZD1cInJlcGx5X3dhcm4lcG9zdF9pZCVcIj48XC9kaXY+XG4gICAgICA8ZGl2IGlkPVwicmVwbHlfbWVkaWFfcHJldmlldyVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfbWVkaWFfcHJldmlldyBjbGVhcl9maXggbWVkaWFfcHJldmlld1wiPjxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZGRwb3N0X2J1dHRvbl93cmFwXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmbGF0X2J1dHRvbiBhZGRwb3N0X2J1dHRvblwiIGlkPVwicmVwbHlfYnV0dG9uJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwuc2VuZFJlcGx5KCclcG9zdF9pZCUnLCBldmVudCwge30pO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseVN1Ym1pdFRvb2x0aXAoJyVwb3N0X2lkJScsIDEsIHRoaXMpO1wiIG9ubW91c2VvdXQ9XCJ3YWxsLnJlcGx5U3VibWl0VG9vbHRpcCgnJXBvc3RfaWQlJywgMCwgdGhpcyk7XCI+UG9zdDxcL2J1dHRvbj5cbiAgICAgIDxcL2Rpdj5cbiAgICAgICVhZGRfYnV0dG9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX2FkZF9tZWRpYVwiIGlkPVwicmVwbHlfYWRkX21lZGlhXyVwb3N0X2lkJVwiPjxcL2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJyZXBseV90b190aXRsZSVwb3N0X2lkJVwiIGNsYXNzPVwicmVwbHlfdG9fdGl0bGUgYWRkcG9zdF9wb3B0XCI+PFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fb2ZmaWNpYWwiOiI8ZGl2IGNsYXNzPVwiYWRkcG9zdF9vcHQgY2hlY2tib3hfb2ZmaWNpYWxcIiBpZD1cInJlcGx5X2FzX2dyb3VwJXBvc3RfaWQlXCIgb25jbGljaz1cIndhbGwucmVwbHlBc0dyb3VwKHRoaXMpO1wiIG9ubW91c2VvdmVyPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiBvbmZvY3VzPVwid2FsbC5yZXBseUFzR3JvdXBPdmVyKHRoaXMsICdvbiBiZWhhbGYgb2YgdGhlIHVzZXInLCAncG9zdCBhcyBjb21tdW5pdHknKTtcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIm9uIGJlaGFsZiBvZiB0aGUgdXNlclwiPlxuICA8aW1nIGNsYXNzPVwidGh1bWJfb2ZmXCIgc3JjPVwiXC9pbWFnZXNcL2NhbWVyYV81MC5wbmdcIiBcLz5cbiAgPGltZyBjbGFzcz1cInRodW1iX29uXCIgc3JjPVwiJW93bmVyX3Bob3RvJVwiIFwvPlxuPFwvZGl2PiIsInJlcGx5X2Zvcm1fZ3JvdXBfaW1hZ2UiOiI8ZGl2IGNsYXNzPVwicG9zdF9maWVsZF9ncm91cFwiPlxuICA8YSBjbGFzcz1cInBvc3RfZmllbGRfdXNlcl9saW5rXCIgaHJlZj1cIiVvd25lcl9ocmVmJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPlxuICAgIDxpbWcgY2xhc3M9XCJwb3N0X2ZpZWxkX3VzZXJfaW1hZ2VcIiBzcmM9XCIlb3duZXJfcGhvdG8lXCIgXC8+XG4gIDxcL2E+XG48XC9kaXY+IiwicmVwbHlfbXVsdGlsaW5lIjpmYWxzZSwicmVwbHlfbXVsdGlsaW5lX2ludHJvIjp0cnVlLCJyZXBseV9saW5rX3dyYXAiOiI8ZGl2IGNsYXNzPVwicmVwbHlfbGlua193cmFwXCI+XG4gIDxhIGNsYXNzPVwicmVwbHlfbGluayBfcmVwbHlfbG5rXCI+UmVwbHk8XC9hPlxuPFwvZGl2PiIsInJlcGx5X2xpbmtfdG8iOiIgPGEgY2xhc3M9XCJyZXBseV90b1wiPnJlcGxpZWQgdG8gJXRvX3VzZXIlPFwvYT4iLCJyZXBseV9mYXN0IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiXC9pZFwiPlxuICAgICAgPGltZyBzcmM9XCJcL2ltYWdlc1wvY2FtZXJhXzUwLnBuZ1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiREVMRVRFRFwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiXC9pZFwiIGRhdGEtZnJvbS1pZD1cIjBcIj5ERUxFVEVEPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPjxkaXYgY2xhc3M9XCJ3YWxsX3JlcGx5X3RleHRcIj4lbWVzc2FnZSU8XC9kaXY+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2Zvb3RlciBjbGVhcl9maXhcIiBpZD1cIndwZV9ib3R0b20lcmVwbHlfaWQlXCI+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPiVkYXRlJTxcL2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPlxuICA8YSBjbGFzcz1cInJlcGx5X2xpbmsgX3JlcGx5X2xua1wiPlJlcGx5PFwvYT5cbjxcL2Rpdj5cbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJyZXBseV9tdWx0aWxpbmVfaGludCI6IjxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF93cmFwXCIgIG9uY2xpY2s9XCJzdG9wRXZlbnQoZXZlbnQpO1wiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfc3VibWl0X2hpbnRfdGl0bGVcIj5TaG9ydGN1dHM8XC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCIgaWQ9XCJyZXBseV9zdWJtaXRfaGludF9vcHRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVkaXNhYmxlZCUgXCIgZGF0YS12YWw9XCIwXCIgb25jbGljaz1cInJhZGlvYnRuKHRoaXMsIDAsICdyZXBseV9zdWJtaXQnKTsgd2FsbC5vblJlcGx5U3VibWl0Q2hhbmdlZCgwKTtcIj48ZGl2IGNsYXNzPVwicmFkaW9idG5fbGFiZWxcIj48Yj5FbnRlcjxcL2I+IJcgc2VuZCBtZXNzYWdlPGJyPjxiPlNoaWZ0K0VudGVyPFwvYj4glyBuZXcgbGluZTxcL2Rpdj48XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJhZGlvYnRuICVlbmFibGVkJSBcIiBkYXRhLXZhbD1cIjFcIiBvbmNsaWNrPVwicmFkaW9idG4odGhpcywgMSwgJ3JlcGx5X3N1Ym1pdCcpOyB3YWxsLm9uUmVwbHlTdWJtaXRDaGFuZ2VkKDEpO1wiPjxkaXYgY2xhc3M9XCJyYWRpb2J0bl9sYWJlbFwiPjxiPkN0cmwrRW50ZXI8XC9iPiCXIHNlbmQgbWVzc2FnZTxicj48Yj5FbnRlcjxcL2I+IJcgbmV3IGxpbmU8XC9kaXY+PFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwicmVwbHlfYnV0dG9uIjoiPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBvc3RfcmVwbHkgX3JlcGx5X3dyYXBcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hvd0VkaXRSZXBseSgnJXBvc3RfaWQlJywgZXZlbnQpXCI+XG4gIDxpIGNsYXNzPVwicG9zdF9yZXBseV9pY29uIF9pY29uXCI+PFwvaT5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2xpbmsgX2xpbmtcIj5Db21tZW50PFwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJwb3N0X3JlcGx5X2NvdW50IF9jb3VudFwiPjxcL3NwYW4+XG48XC9hPiIsInJlcGx5X2xpbmsiOiI8c3BhbiBpZD1cInJlcGx5X2xpbmslcG9zdF9pZCVcIiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJyZXBseV9saW5rXCIgb25jbGljaz1cInJldHVybiBXYWxsLnNob3dFZGl0UmVwbHkoJyVwb3N0X2lkJScsIGV2ZW50KVwiPkNvbW1lbnQ8XC9hPjxcL3NwYW4+Iiwib3duX3JlcGx5X2xpbmsiOiI8c3BhbiBjbGFzcz1cInJlcGx5X2xpbmtfd3JhcFwiPjxhIGNsYXNzPVwicmVwbHlfbGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VTaGFyZUN1c3RvbSgnJXBvc3RfaWQlJylcIj5SZXBseTxcL2E+PFwvc3Bhbj4iLCJlZGl0X2xpbmsiOiI8c3BhbiBjbGFzcz1cImRpdmlkZVwiPnw8XC9zcGFuPjxhIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcG9zdF9pZCUnKVwiPkVkaXQgPFwvYT4iLCJwb3N0IjoiPGRpdiBpZD1cInBvc3QlcG9zdF9pZCVcIiBjbGFzcz1cIl9wb3N0IHBvc3QgcGFnZV9ibG9ja1wiIGRhdGEtcG9zdC1pZD1cIiVwb3N0X2lkJVwiIG9uY2xpY2s9XCJ3YWxsLnBvc3RDbGljaygnJXBvc3RfaWQlJywgZXZlbnQpO1wiID5cbiAgPGRpdiBjbGFzcz1cIl9wb3N0X2NvbnRlbnRcIj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9oZWFkZXJcIj5cbiAgICAgIDxhIGNsYXNzPVwicG9zdF9pbWFnZSVvbmxpbmVfY2xhc3MlXCIgaHJlZj1cIiVsaW5rJVwiPlxuICAgICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiBkYXRhLXBvc3QtaWQ9XCIlcG9zdF9pZCVcIiBkYXRhLXBvc3QtY2xpY2stdHlwZT1cInBvc3Rfb3duZXJfaW1nXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgY2xhc3M9XCJwb3N0X2ltZ1wiIFwvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCI+LjxcL3NwYW4+XG4gICAgICA8XC9hPlxuICAgICAgPGRpdiBjbGFzcz1cInBvc3RfaGVhZGVyX2luZm9cIj5cbiAgICAgICAgPGg1IGNsYXNzPVwicG9zdF9hdXRob3JcIj4lbmFtZSU8XC9oNT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc3RfZGF0ZVwiPjxhIGNsYXNzPVwicG9zdF9saW5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gc2hvd1dpa2koe3c6ICd3YWxsJXBvc3RfaWQlJ30sIGZhbHNlLCBldmVudCk7XCI+JWRhdGUlPFwvYT48XC9kaXY+XG4gICAgICAgICVhY3Rpb25zJVxuICAgICAgPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicG9zdF9jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG9zdF9pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWxsX3RleHRcIj4ldGV4dCU8XC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3N0X2Z1bGxfbGlrZV93cmFwIGNsZWFyX2ZpeFwiPlxuICA8ZGl2IGNsYXNzPVwicG9zdF9mdWxsX2xpa2VcIj5cbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwicG9zdF9saWtlIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbm1vdXNlb3Zlcj1cIldhbGwubGlrZXNTaG93KHRoaXMsICclcG9zdF9pZCUnKVwiIG9uY2xpY2s9XCJyZXR1cm4gV2FsbC5saWtlSXQodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NTA1X2ZmNDkyNDBkYmNjMzk4MTY0YycsIGV2ZW50KTtcIj5cbiAgICAgIDxpIGNsYXNzPVwicG9zdF9saWtlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwb3N0X2xpa2VfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3RfbGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuICAgIDxcL2E+XG4gICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgb25jbGljaz1cIldhbGwubGlrZXNTaG93TGlzdCh0aGlzLCAnJXBvc3RfaWQlJylcIj5TaG93IGxpa2VzPFwvc3Bhbj5cbiAgICAlcmVwbHlfYnV0dG9uJVxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwb3N0X3NoYXJlIF9zaGFyZV93cmFwIG5vX3NoYXJlc1wiICBvbm1vdXNlb3Zlcj1cIldhbGwuc2hhcmVzU2hvdyh0aGlzLCAnJXBvc3RfaWQlJylcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwuc2hhcmVzT3BlbihldmVudCwgJyVwb3N0X2lkJScpO1wiPlxuICAgICAgPGkgY2xhc3M9XCJwb3N0X3NoYXJlX2ljb24gX2ljb25cIj48XC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfbGluayBfbGlua1wiPjxcL3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvc3Rfc2hhcmVfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbiAgICA8XC9hPlxuICAgIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLnNoYXJlc1Nob3dMaXN0KHRoaXMsICclcG9zdF9pZCUnKVwiPlNob3cgc2hhcmVkIGNvcGllczxcL3NwYW4+XG4gICAgXG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBvc3Rfdmlld3MgX3ZpZXdzX3dyYXAgbm9fdmlld3MgX2F1dG9fdXBkYXRlXCIgb25tb3VzZW92ZXI9XCJXYWxsLnZpZXdzVXBkYXRlKHRoaXMsICclcG9zdF9pZCUnKVwiPlxuICA8aSBjbGFzcz1cInBvc3Rfdmlld3NfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwicG9zdF92aWV3c19jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvZGl2PlxuPFwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbGllc1wiPjxkaXYgY2xhc3M9XCJyZXBsaWVzX3dyYXBcIiBpZD1cInJlcGxpZXNfd3JhcCVwb3N0X2lkJVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgPGRpdiBjbGFzcz1cInJlcGxpZXNfbGlzdCBfcmVwbGllc19saXN0XCIgaWQ9XCJyZXBsaWVzJXBvc3RfaWQlXCI+PGlucHV0IHR5cGU9XCJoaWRkZW5cIiBpZD1cInN0YXJ0X3JlcGx5JXBvc3RfaWQlXCIgdmFsdWU9XCJcIlwvPjxcL2Rpdj5cbiAgJXJlcGx5X2JveCVcbjxcL2Rpdj48XC9kaXY+XG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICAgIFxuICA8XC9kaXY+XG4gIFxuPFwvZGl2PiIsInJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAlY2xhc3NuYW1lJSBfcG9zdFwiIGRhdGEtcG9zdC1pZD1cIiVyZXBseV9pZCVcIiAlYXR0ciU+XG4gIDxkaXYgY2xhc3M9XCJyZXBseV93cmFwIF9yZXBseV9jb250ZW50IF9wb3N0X2NvbnRlbnQgY2xlYXJfZml4XCI+XG4gICAgXG4gICAgPGEgY2xhc3M9XCJyZXBseV9pbWFnZVwiIGhyZWY9XCIlbGluayVcIj5cbiAgICAgIDxpbWcgc3JjPVwiJXBob3RvJVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIGNsYXNzPVwicmVwbHlfaW1nXCIgYWx0PVwiJW5hbWUlXCIgXC8+XG4gICAgPFwvYT5cbiAgICA8ZGl2IGNsYXNzPVwicmVwbHlfY29udGVudFwiID5cbiAgICAgICVhY3Rpb25zJVxuICAgICAgPGRpdiBjbGFzcz1cInJlcGx5X2F1dGhvclwiPlxuICAgICAgICA8YSBjbGFzcz1cImF1dGhvclwiIGhyZWY9XCIlbGluayVcIiBkYXRhLWZyb20taWQ9XCIlcmVwbHlfdWlkJVwiPiVuYW1lJTxcL2E+JXRvX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfdGV4dFwiID4ldGV4dCU8XC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZm9vdGVyIGNsZWFyX2ZpeFwiIGlkPVwid3BlX2JvdHRvbSVyZXBseV9pZCVcIj5cbiAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImxpa2Vfd3JhcCBfbGlrZV93cmFwIG5vX2xpa2VzXCIgb25jbGljaz1cInJldHVybiBXYWxsLmxpa2VJdCh0aGlzLCAnJWxpa2VfaWQlJywgJzE0OTA2NDg1MDVfZmY0OTI0MGRiY2MzOTgxNjRjJywgZXZlbnQpO1wiIG9ubW91c2VvdmVyPVwiV2FsbC5saWtlc1Nob3codGhpcywgJyVsaWtlX2lkJScpXCI+XG4gIDxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIj5MaWtlPFwvc3Bhbj5cbiAgPGkgY2xhc3M9XCJsaWtlX2ljb24gX2ljb25cIj48XC9pPlxuICA8c3BhbiBjbGFzcz1cImxpa2VfY291bnQgX2NvdW50XCI+PFwvc3Bhbj5cbjxcL2E+XG48c3BhbiBjbGFzcz1cImJsaW5kX2xhYmVsXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIiBvbmNsaWNrPVwiV2FsbC5saWtlc1Nob3dMaXN0KHRoaXMsICclbGlrZV9pZCUnKVwiPlNob3cgbGlrZXM8XC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVwbHlfZGF0ZVwiPjxhIGNsYXNzPVwid2RfbG5rXCIgaHJlZj1cIlwvd2FsbCVwb3N0X2lkJT9yZXBseT0lcmVwbHlfbXNnX2lkJVwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KVwiPiVkYXRlJTxcL2E+PFwvZGl2PlxuICAgICAgICAlYW5zd2VyX2xpbmslXG4gICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+IiwiZGVsIjoiPGEgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfaXRlbVwiIG9uY2xpY2s9XCJ3YWxsLmRlbGV0ZVBvc3QodGhpcywgJyVwb3N0X2lkJScsICcxNDkwNjQ4NTA1XzAxNzFkZWM4ZGUxM2VkZTkzNScpOyByZXR1cm4gZmFsc2U7XCI+RGVsZXRlIHBvc3Q8XC9hPiIsInNwYW0iOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXBvc3RfaWQlJywgJzE0OTA2NDg1MDVfYzQ4MTdkY2Q4NzQ0NjgxZjcwJyk7IHJldHVybiBmYWxzZTtcIj5SZXBvcnQ8XC9hPiIsImVkaXQiOiI8YSBjbGFzcz1cInVpX2FjdGlvbnNfbWVudV9pdGVtXCIgb25jbGljaz1cIndhbGwuZWRpdFBvc3QodGhpcywgJyVwb3N0X2lkJScpOyByZXR1cm4gZmFsc2U7XCI+RWRpdCA8XC9hPiIsInBvc3RfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJ1aV9hY3Rpb25zX21lbnVfd3JhcCBfdWlfbWVudV93cmFwIFwiIG9ubW91c2VvdmVyPVwidWlBY3Rpb25zTWVudS5zaG93KHRoaXMpO1wiIG9ubW91c2VvdXQgPVwidWlBY3Rpb25zTWVudS5oaWRlKHRoaXMpO1wiPlxuICA8ZGl2IGNsYXNzPVwidWlfYWN0aW9uc19tZW51X2ljb25zXCIgIHRhYmluZGV4PVwiMFwiIGFyaWEtbGFiZWw9XCJBY3Rpb25zXCIgcm9sZT1cImJ1dHRvblwiIG9uY2xpY2s9XCJ1aUFjdGlvbnNNZW51LmtleVRvZ2dsZSh0aGlzLCBldmVudCk7XCI+PHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkFjdGlvbnM8XC9zcGFuPjxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInVpX2FjdGlvbnNfbWVudSBfdWlfbWVudVwiID4lYWN0aW9ucyU8XC9kaXY+XG48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIndhbGwuZGVsZXRlUG9zdCh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NTA1XzAxNzFkZWM4ZGUxM2VkZTkzNScpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJEZWxldGVcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJzcGFtX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiUmVwb3J0XCIgb25jbGljaz1cIndhbGwubWFya0FzU3BhbSh0aGlzLCAnJXJlcGx5X2lkJScsICcxNDkwNjQ4NTA1X2M0ODE3ZGNkODc0NDY4MWY3MCcpO1wiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0IFwiIG9uY2xpY2s9XCJ3YWxsLmVkaXRQb3N0KHRoaXMsICclcmVwbHlfaWQlJyk7XCIgb25tb3VzZW92ZXI9XCJzaG93VGl0bGUodGhpcyk7XCIgYXJpYS1sYWJlbD1cIkVkaXQgXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwicmVwbHlfYWN0aW9ucyI6IjxkaXYgY2xhc3M9XCJmbF9yIHBvc3RfYWN0aW9uc193cmFwXCI+PGRpdiBjbGFzcz1cInBvc3RfYWN0aW9uc1wiPiVhY3Rpb25zJTxcL2Rpdj48XC9kaXY+IiwicG9sbF9zdGF0cyI6IjxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfc3RhdFwiJWhhbmRsZXJzJT5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF90ZXh0XCI+JW9wdGlvbl90ZXh0JTxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93X3BlcmNlbnRcIj4lcGVyY2VudCUlPFwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcm93JXJvd19jbGFzcyVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdlX3BvbGxfcGVyY2VudFwiIHN0eWxlPVwid2lkdGg6ICVjc3NfcGVyY2VudCUlXCI+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2VfcG9sbF9yb3dfY291bnRcIj4lY291bnQlPFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwvZGl2PiIsInBvbGxfaGFzaCI6IjE0OTA2NDg1MDVfZjI1NTc4MzZkMjA5Njg0ZDZhIiwiZGF0ZV9mb3JtYXQiOiJ0b2RheSBhdCB7aG91cn06e21pbnV0ZX0ge2FtX3BtfSIsInRpbWVfc3lzdGVtIjpbInBtIiwiYW0iXSwiYWJzX3RpbWVzdGFtcCI6MTQ5MDY0ODUwNSwibGFuZyI6eyJ3YWxsX01fcmVwbGllc19vZl9OIjpbIiIsIiVzIGNvbW1lbnQgb2Yge2xpbmt9e2FsbH17XC9saW5rfSIsIiVzIGNvbW1lbnRzIG9mIHtsaW5rfXthbGx9e1wvbGlua30iXSwid2FsbF9oaWRlX3JlcGxpZXMiOiJIaWRlIGNvbW1lbnRzIiwid2FsbF9zaG93X25fb2ZfbV9sYXN0IjpbIiIsIlNob3cgbGF0ZXN0ICVzIGNvbW1lbnQgb3V0IG9mIHtjb3VudH0iLCJTaG93IGxhdGVzdCAlcyBjb21tZW50cyBvdXQgb2Yge2NvdW50fSJdLCJ3YWxsX3Nob3dfYWxsX25fcmVwbGllcyI6WyIiLCJTaG93ICVzIGNvbW1lbnQiLCJTaG93IGFsbCAlcyBjb21tZW50cyJdLCJ3YWxsX05fcmVwbGllcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwid2FsbF90aHJlZV9sYXN0X3JlcGxpZXMiOiJsYXN0IHRocmVlIHBvc3RzIiwid2FsbF9hbGxfcmVwbGllcyI6ImFsbCBjb21tZW50cyIsIndhbGxfeF9uZXdfcmVwbGllc19tb3JlIjpbIiIsIiVzIG5ldyBjb21tZW50IGFkZGVkIiwiJXMgbmV3IGNvbW1lbnRzIGFkZGVkIl0sIndhbGxfWF9wZW9wbGVfdm90ZWQiOlsiIiwiPGI+JXM8XC9iPiBwZXJzb24gdm90ZWQuIiwiPGI+JXM8XC9iPiBwZW9wbGUgdm90ZWQuIl0sIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMSI6IlNoaWZ0K0VudGVyIJcgbmV3IGxpbmUiLCJ3YWxsX3JlcGx5X3N1Ym1pdF9oaW50XzIiOiJDdHJsK0VudGVyIJYgc2VuZCBtZXNzYWdlIiwid2FsbF9yZXBseV9zdWJtaXRfaGludF8xX21vcmUiOiJFbnRlciCXIHNlbmQgbWVzc2FnZSwgU2hpZnQrRW50ZXIglyBuZXcgbGluZSIsIndhbGxfcmVwbHlfc3VibWl0X2hpbnRfMl9tb3JlIjoiRW50ZXIglyBuZXcgbGluZSwgQ3RybCtFbnRlciCXIHNlbmQgbWVzc2FnZSIsIndhbGxfcmVwbHlfcG9zdCI6IlJlcGx5Iiwid2FsbF9yZXBsaWVkX3RvX2dyb3VwIjoidGhlIGFkbWluIiwid2FsbF9yZXBseV9hc191c2VyIjoib24gYmVoYWxmIG9mIHRoZSB1c2VyIiwid2FsbF9yZXBseV9hc19ncm91cCI6InBvc3QgYXMgY29tbXVuaXR5Iiwid2FsbF9hZGRfcGhvdG9fZXJyb3IiOiJVbmFibGUgdG8gdXBsb2FkIHRoZSBpbWFnZSIsIndhbGxfanVzdF9ub3ciOlsiIiwiT25lIHNlY29uZCBhZ28iLCJUd28gc2Vjb25kcyBhZ28iLCJUaHJlZSBzZWNvbmRzIGFnbyIsIkZvdXIgc2Vjb25kcyBhZ28iLCJGaXZlIHNlY29uZHMgYWdvIl0sIndhbGxfWF9zZWNvbmRzX2Fnb193b3JkcyI6WyIiLCJPbmUgc2Vjb25kIGFnbyIsIlR3byBzZWNvbmRzIGFnbyIsIlRocmVlIHNlY29uZHMgYWdvIiwiRm91ciBzZWNvbmRzIGFnbyIsIkZpdmUgc2Vjb25kcyBhZ28iXSwid2FsbF9YX3NlY29uZHNfYWdvIjpbIiIsIiVzIHNlY29uZCBhZ28iLCIlcyBzZWNvbmRzIGFnbyJdLCJ3YWxsX1hfbWludXRlc19hZ29fd29yZHMiOlsiIiwib25lIG1pbnV0ZSBhZ28iLCJ0d28gbWludXRlcyBhZ28iLCJ0aHJlZSBtaW51dGVzIGFnbyIsIjQgbWludXRlcyBhZ28iLCI1IG1pbnV0ZXMgYWdvIl0sIndhbGxfWF9taW51dGVzX2FnbyI6WyIiLCIlcyBtaW51dGUgYWdvIiwiJXMgbWludXRlcyBhZ28iXSwid2FsbF9YX2hvdXJzX2Fnb193b3JkcyI6WyIiLCJvbmUgaG91ciBhZ28iLCJ0d28gaG91cnMgYWdvIiwidGhyZWUgaG91cnMgYWdvIiwiZm91ciBob3VycyBhZ28iLCJmaXZlIGhvdXJzIGFnbyJdLCJ3YWxsX1hfaG91cnNfYWdvIjpbIiIsIiVzIGhvdXIgYWdvIiwiJXMgaG91cnMgYWdvIl19fSwic2hhcmVfdGltZWhhc2giOiIxNDkwNjQ4NTA1XzEyZWQ1NjAxMzgyNThlMWU0NCIsImNvbW1lbnRzVHBsIjp7InJlcGx5IjoiPGRpdiBpZD1cInBvc3QlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseSByZXBseV9kaXZlZCBjbGVhciAgX3Bvc3RcIiBkYXRhLXBvc3QtaWQ9XCIlcmVwbHlfaWQlXCIgIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbWVudENsaWNrKHRoaXMsIGV2ZW50LCAlZnJvbV9pZCUsICVyZXBseV9tc2dfaWQlKVwiPlxuICA8ZGl2IGNsYXNzPVwicmVwbHlfd3JhcCBfcmVwbHlfY29udGVudCBfcG9zdF9jb250ZW50IGNsZWFyX2ZpeFwiPlxuICAgIFxuICAgIDxhIGNsYXNzPVwicmVwbHlfaW1hZ2VcIiBocmVmPVwiJWhyZWYlXCI+XG4gICAgICA8aW1nIHNyYz1cIiVwaG90byVcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiBjbGFzcz1cInJlcGx5X2ltZ1wiIGFsdD1cIiVuYW1lJVwiIFwvPlxuICAgIDxcL2E+XG4gICAgPGRpdiBjbGFzcz1cInJlcGx5X2NvbnRlbnRcIiA+XG4gICAgICAlYWN0aW9ucyVcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9hdXRob3JcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJhdXRob3JcIiBocmVmPVwiJWhyZWYlXCIgZGF0YS1mcm9tLWlkPVwiJWZyb21faWQlXCI+JW5hbWUlPFwvYT4ldG9fbGluayVcbiAgICAgIDxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV90ZXh0XCIgPiVtZXNzYWdlJTxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9mb290ZXIgY2xlYXJfZml4XCIgaWQ9XCJ3cGVfYm90dG9tJXJlcGx5X2lkJVwiPlxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibGlrZV93cmFwIF9saWtlX3dyYXAgbm9fbGlrZXNcIiBvbmNsaWNrPVwicmV0dXJuIFdhbGwubGlrZUl0KHRoaXMsICclcG9zdF9vaWQldmlkZW9fY29tbWVudCVyZXBseV9tc2dfaWQlbXYnLCAnMTQ5MDY0ODUwNV9mZjQ5MjQwZGJjYzM5ODE2NGMnLCBldmVudCk7XCIgb25tb3VzZW92ZXI9XCJXYWxsLmxpa2VzU2hvdyh0aGlzLCAnJXBvc3Rfb2lkJXZpZGVvX2NvbW1lbnQlcmVwbHlfbXNnX2lkJW12JylcIj5cbiAgPHNwYW4gY2xhc3M9XCJibGluZF9sYWJlbFwiPkxpa2U8XC9zcGFuPlxuICA8aSBjbGFzcz1cImxpa2VfaWNvbiBfaWNvblwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9jb3VudCBfY291bnRcIj48XC9zcGFuPlxuPFwvYT5cbjxzcGFuIGNsYXNzPVwiYmxpbmRfbGFiZWxcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIG9uY2xpY2s9XCJXYWxsLmxpa2VzU2hvd0xpc3QodGhpcywgJyVwb3N0X29pZCV2aWRlb19jb21tZW50JXJlcGx5X21zZ19pZCVtdicpXCI+U2hvdyBsaWtlczxcL3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXBseV9kYXRlXCI+JWRhdGUlPFwvZGl2PlxuICAgICAgICBcbiAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj4iLCJhY3Rpb25zIjoiPGRpdiBjbGFzcz1cImZsX3IgcG9zdF9hY3Rpb25zX3dyYXBcIj48ZGl2IGNsYXNzPVwicG9zdF9hY3Rpb25zXCI+JWFjdGlvbnMlPFwvZGl2PjxcL2Rpdj4iLCJlZGl0X3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2VkaXQlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9lZGl0X2J1dHRvbiByZXBseV9hY3Rpb24gZmxfclwiIGRhdGEtdGl0bGU9XCJFZGl0XCIgb25jbGljaz1cIldhbGwuZWRpdFBvc3QodGhpcywgJyVyZXBseV9pZCUnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJFZGl0XCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+IiwiZGVsX3JlcGx5IjoiPGRpdiBpZD1cInJlcGx5X2RlbGV0ZSVyZXBseV9pZCVcIiBjbGFzcz1cInJlcGx5X2RlbGV0ZV9idXR0b24gcmVwbHlfYWN0aW9uIGZsX3JcIiBkYXRhLXRpdGxlPVwiRGVsZXRlXCIgb25jbGljaz1cIlZpZGVvdmlldy5jb21tQWN0aW9uKCdkZWxldGUnLCAlcG9zdF9vaWQlLCAlcmVwbHlfbXNnX2lkJSwgJzE0OTA2NDg1MDVfNzA3NDViYmVmMGM0M2U4OTNmJywgJ212JylcIiBvbm1vdXNlb3Zlcj1cInNob3dUaXRsZSh0aGlzKTtcIiBhcmlhLWxhYmVsPVwiRGVsZXRlXCIgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImxpbmtcIj48XC9kaXY+Iiwic3BhbV9yZXBseSI6IjxkaXYgaWQ9XCJyZXBseV9kZWxldGUlcmVwbHlfaWQlXCIgY2xhc3M9XCJyZXBseV9kZWxldGVfYnV0dG9uIHJlcGx5X2FjdGlvbiBmbF9yXCIgZGF0YS10aXRsZT1cIlJlcG9ydFwiIG9uY2xpY2s9XCJWaWRlb3ZpZXcuY29tbUFjdGlvbignc3BhbScsICVwb3N0X29pZCUsICVyZXBseV9tc2dfaWQlLCAnMTQ5MDY0ODUwNV83MDc0NWJiZWYwYzQzZTg5M2YnLCAnbXYnKVwiIG9ubW91c2VvdmVyPVwic2hvd1RpdGxlKHRoaXMpO1wiIGFyaWEtbGFiZWw9XCJSZXBvcnRcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiPjxcL2Rpdj4ifSwicG9zdCI6IjIxNTI2OTlfdmlkZW8xNjg1OTE3NDFtdiIsIm1heFJlcGx5TGVuZ3RoIjoxNjM4NCwibWF4Q2hhdFJlcGx5TGVuZ3RoIjo2MDAsIm1heERlc2NyaXB0aW9uTGVuZ3RoIjoxMDI0LCJwdWJsaXNoQWN0aW9uIjoiIiwicGxfbGlzdCI6MCwiaXNfdmtfcGxheWVyIjowLCJpc19mbHYiOmZhbHNlLCJjYW50UGxheSI6MCwicGxheWVyIjp7InR5cGUiOiJ5b3V0dWJlIiwicGFyYW1zIjpbeyJsYW5nX2FkZCI6IkFkZCB0byBNeSBWaWRlb3MiLCJsYW5nX2FkZGVkIjoiVmlkZW8gYWRkZWQgdG8gTXkgVmlkZW9zIiwibGFuZ19zaGFyZSI6IlNoYXJlIiwibGFuZ19saWtlIjoiTGlrZSIsImxhbmdfZG9uYXRlIjoiRG9uYXRlIiwibGFuZ19zdWJzY3JpYmUiOiJTdWJzY3JpYmUiLCJsYW5nX3N1YnNjcmliZWQiOiJGb2xsb3dpbmciLCJsYW5nX3ZvbHVtZV9vbiI6IlVubXV0ZSIsImxhbmdfdm9sdW1lX29mZiI6Ik11dGUiLCJsYW5nX3ZvbHVtZSI6IlZvbHVtZSIsImxhbmdfaGRzZCI6IkNoYW5nZSBWaWRlbyBRdWFsaXR5IiwibGFuZ19xdWFsaXR5X2F1dG8iOiJBdXRvIiwibGFuZ19vcGVuX3BvcHVwIjoiRXhwYW5kIiwibGFuZ19mdWxsc2NyZWVuIjoiRnVsbCBTY3JlZW4iLCJsYW5nX3dpbmRvdyI6Ik1pbmltaXplIiwibGFuZ19yb3RhdGUiOiJSb3RhdGUiLCJsYW5nX2Fkc19saW5rIjoiQWR2ZXJ0aXNlciYjMzk7cyBTaXRlIiwibGFuZ19hZHMiOiJBZHMiLCJsYW5nX2Fkc19za2lwIjoiU2tpcCBhZCIsImxhbmdfYWRzX3NraXBfdGltZSI6IlNraXAgYWRzIGluIHt0aW1lfSBzIiwibGFuZ19yZXBvcnRfcHJvYmxlbSI6IlJlcG9ydCBhIHByb2JsZW0uLiIsImxhbmdfcGxheSI6IlBsYXkiLCJsYW5nX3BhdXNlIjoiUGF1c2UiLCJsYW5nX3JlcGxheSI6IlJlcGxheSIsImxhbmdfbmV4dCI6Ik5leHQgdmlkZW8iLCJsYW5nX25leHRfY2FuY2VsIjoiQ2FuY2VsIiwibGFuZ19nb3RvX29yaWdfdmlkZW8iOiJHbyB0byBWaWRlbyIsImxhbmdfZ290b19hZHZlcnRpc2Vyc19zaXRlIjoiR28gdG8gdGhlIHdlYnNpdGUiLCJsYW5nX2J1eV90aWNrZXRzIjpudWxsLCJsYW5nX2xvYWRfZXJyb3IiOiJBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbG9hZGluZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLCJsYW5nX2Vycl9jb2RlIjoiRXJyb3IgY29kZToge2NvZGV9IiwibGFuZ19iYWRfYnJvd3NlciI6IlNvcnJ5LCB5b3VyIGJyb3dzZXIgaXNuJiMzOTt0IHN1cHBvcnRlZCBhdCB0aGUgbW9tZW50IiwibGFuZ19saXZlIjoiTGl2ZSIsImxhbmdfbGl2ZV9zdGFydGluZ19zb29uIjoiVGhlIGxpdmUgd2lsbCBzdGFydCBzb29uIiwibGFuZ19saXZlX2ZhaWxlZCI6IkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHN0cmVhbWluZyIsImxhbmdfbGl2ZV93YWl0X3JlY29yZCI6IlRoZSBsaXZlIGhhcyBmaW5pc2hlZCBhbmQgd2lsbCBzb29uIGJlY29tZSBhdmFpbGFibGUgaW4gcmVwbGF5IiwibGFuZ19saXZlX3VzZXJfc2VudF9naWZ0IjpbIiIsInNlbnQgYSBnaWZ0Iiwic2VudCBhIGdpZnQiXSwibGFuZ19saXZlX3VzZXJfc2VudF9zdXBlcmNvbW1lbnQiOlsiIiwic2VudCBhIHN1cGVyIG1lc3NhZ2UiLCJzZW50IGEgc3VwZXIgbWVzc2FnZSJdLCJsYW5nX2xpdmVfZG93bmxvYWRfYXBwIjoiRG93bmxvYWQgYXBwIiwibGFuZ19hdXRvcGxheV92b2x1bWVfaGludCI6ItFsaWNrIHRvIHR1cm4gb24gdGhlIHNvdW5kIiwibGFuZ19hdXRvcGxheV9leHBhbmRfaGludCI6IkNsaWNrIHRvIGV4cGFuZCIsImxhbmdfdGltZWRfYnV0dG9uX2dvdG8iOiLP5fDl6fLoIiwibGFuZ190aW1lZF9idXR0b25fb3BlbiI6Ik9wZW4iLCJsYW5nX3RpbWVkX2J1dHRvbl9idXkiOiJCdXkiLCJsYW5nX3RpbWVkX2J1dHRvbl9idXlfdGlja2V0cyI6IkJ1eSB0aWNrZXRzIiwibGFuZ190aW1lZF9idXR0b25fY2hlY2tpbiI6bnVsbCwibGFuZ190aW1lZF9idXR0b25faW5zdGFsbCI6ItPx8uDt7uLo8vwiLCJsYW5nX3RpbWVkX2J1dHRvbl9jb250YWN0Ijoi0eL/5+Dy/PH/IiwibGFuZ190aW1lZF9idXR0b25fZmlsbCI6Isfg7+7r7ejy/CIsImxhbmdfdGltZWRfYnV0dG9uX2xlYXJuX21vcmUiOiJNb3JlIiwibGFuZ19jbWVudV9jb3B5X3ZpZGVvX2xpbmsiOiJDb3B5IHZpZGVvIGxpbmsiLCJsYW5nX2NtZW51X2NvcHlfdGltZWNvZGVfbGluayI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwibGFuZ19jbWVudV9jb3B5X2VtYmVkX2NvZGUiOiJDb3B5IGVtYmVkIGNvZGUiLCJsYW5nX2NtZW51X2VuYWJsZV9sb29wIjoiRW5hYmxlIGxvb3AiLCJsYW5nX2NtZW51X2Rpc2FibGVfbG9vcCI6IkRpc2FibGUgbG9vcCIsImxhbmdfY21lbnVfcGxheWJhY2tfc3BlZWQiOiJQbGF5YmFjayBzcGVlZCIsImxhbmdfY21lbnVfcmVwb3J0X2Vycm9yIjoiUmVwb3J0IGEgcHJvYmxlbS4uIiwibGFuZ19jbWVudV9jb3B5X2RlYnVnIjoiQ29weSBkZWJ1ZyBpbmZvIiwibGFuZ19hcmlhX3ZpZGVvcGxheWVyIjoiVksgVmlkZW8gUGxheWVyIiwibGFuZ19hcmlhX3ZvbHVtZV9zbGlkZXIiOiJWb2x1bWUgc2xpZGVyIiwibGFuZ19hcmlhX3ZvbHVtZV9tdXRlZCI6IlZvbHVtZSBpcyBtdXRlZCIsImxhbmdfYXJpYV90aW1lbGluZV9zbGlkZXIiOiJUaW1lIHNsaWRlciIsImxhbmdfYXJpYV90aW1lbGluZV92YWx1ZSI6Int0aW1lfSAodG90YWwgZHVyYXRpb24ge2R1cmF0aW9ufSkiLCJsYW5nX2FyaWFfZW50ZXJfZnVsbHNjcmVlbiI6IkVudGVyIGZ1bGwgc2NyZWVuIG1vZGUiLCJsYW5nX2FyaWFfZXhpdF9mdWxsc2NyZWVuIjoiRXhpdCBmdWxsIHNjcmVlbiBtb2RlIiwibGFuZ19hcmlhX3F1YWxpdHlfY3VycmVudCI6IkN1cnJlbnQgcXVhbGl0eSBpcyB7cXVhbGl0eX0iLCJ2aWRlb19wbGF5X2hkIjoiV2F0Y2ggaW4gSEQiLCJ2aWRlb19zdG9wX2xvYWRpbmciOiJTdG9wIERvd25sb2FkIiwidmlkZW9fcGxheWVyX3ZlcnNpb24iOiJWSyBWaWRlbyBQbGF5ZXIiLCJ2aWRlb19nZXRfdmlkZW9fY29kZSI6IkNvcHkgZW1iZWQgY29kZSIsInZpZGVvX2dldF9jdXJyZW50X3VybCI6IkNvcHkgbGluayB3aXRoIHRpbWVjb2RlIiwidmlkZW9fbG9hZF9lcnJvciI6IkFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBsb2FkaW5nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsImdvdG9fb3JpZ192aWRlbyI6IkdvIHRvIFZpZGVvIiwidmlkIjoxNjg1OTE3NDEsIm9pZCI6MjE1MjY5OSwibWRfdGl0bGUiOiJCRUFUIFNPVUwgU1RFUCCXIFJEQzE0IFByb2plY3Q4MTggUnVzc2lhbiBEYW5jZSBDaGFtcGlvbnNoaXAsIE1heSAxLTIsIE1vc2NvdyAyMDE0IiwibWRfYXV0aG9yIjoiS2lyaWxsIEx5YW5veSIsImF1dGhvcl9pZCI6MjE1MjY5OSwiYXV0aG9yX2hyZWYiOiJcL2x5YW5vaS5raXJpbGwiLCJhdXRob3JfcGhvdG8iOiJodHRwczpcL1wvcHAudXNlcmFwaS5jb21cL2M2MjM4MjRcL3Y2MjM4MjQ2OTlcLzU1NTc1XC9DQ1FaMjlsMEI5ay5qcGciLCJoYXNoIjoiNzI5NWIzOTc4NDk3ZjA4Njk4YjhjY2I3ZDMwYTBjNjYiLCJoYXNoMiI6ImVhMWQzZGI5ODgxODEyNWQiLCJpc19leHQiOjAsImR1cmF0aW9uIjoyOTksInQiOiIiLCJ2aWdvX2NpZCI6ImNmY2QyMDg0OTVkNTY1ZWY2NmU3ZGZmOWY5ODc2NGRhIiwidmlld2VyX2lkIjowLCJwb3N0X2lkIjpudWxsLCJtb2R1bGUiOiJwcm9maWxlIiwiZyI6MCwiYSI6MCwiY2lzIjowLCJyZWNvbW1lbmRfc2lnIjoiNDYxMTY4NzZhMmYxMGFhYmY0MmE4NzYyYzUzNDAzOGUiLCJlcnJvcl9zdGF0X2hhc2giOiIxNDkwNjQ4NTA1XzhhZmY4YjY2N2QwYmVlMGJhNSIsIm5vX2FkcyI6MSwibm9saWtlcyI6MSwiZXh0cmEiOiIyMSIsImV4dHJhX2RhdGEiOiI0VGh3czV3cTVHSSIsInRodW1iIjoiaHR0cHM6XC9cL3BwLnVzZXJhcGkuY29tXC9jNjE3ODMxXC91OTYxMjMzMDNcL3ZpZGVvXC9sXzI3ZTRmZjVjLmpwZyIsImpwZyI6Imh0dHBzOlwvXC9wcC51c2VyYXBpLmNvbVwvYzYxNzgzMVwvdTk2MTIzMzAzXC92aWRlb1wveF81YmIwNTc4Zi5qcGciLCJoZCI6MCwibm9sb2dvIjoxLCJzaG93X25leHQiOjAsImxpa2VkIjowLCJhZGRfaGFzaCI6ImZmYjg0MmQwY2U2ZmMxNjhhNyIsImFkZGVkIjowLCJjYW5fYWRkIjowLCJub190aXRsZSI6MCwidnNlZ3Nfc2l6ZSI6MjkuMDAwMDAwLCJ2c2Vnc19oYXNoIjoiMzkxNDQxZWIwMzg5YTI0MTQ2IiwicmVwb3J0X2Vycm9yX2hhc2giOiIzODM3MTllMGM4ZjU0NjY1OWEifV19fTwhPjwhcGFnZXZpZXdfY2FuZGlkYXRlPg==
46
- http_version:
47
- recorded_at: Mon, 27 Mar 2017 21:01:45 GMT
48
- recorded_with: VCR 3.0.3