wao 0.41.3 → 0.41.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. package/.babelrc-cjs +5 -0
  2. package/.babelrc-esm +5 -0
  3. package/.gitmodules +4 -0
  4. package/.prettierrc +6 -0
  5. package/README.md +90 -0
  6. package/app/.eslintrc.json +3 -0
  7. package/app/.mocharc.cjs +6 -0
  8. package/app/arweave.mjs +87 -0
  9. package/app/components/Footer.js +76 -0
  10. package/app/components/Global.js +1128 -0
  11. package/app/components/Header.js +306 -0
  12. package/app/components/Left.js +28 -0
  13. package/app/components/Logo.js +34 -0
  14. package/app/components/Middle.js +37 -0
  15. package/app/components/Sidebar.js +93 -0
  16. package/app/components/Tags.js +42 -0
  17. package/app/components/editor/Editor.js +322 -0
  18. package/app/components/editor/FilePath.js +42 -0
  19. package/app/components/editor/MonacoEditor.js +44 -0
  20. package/app/components/left/LeftMessages.js +85 -0
  21. package/app/components/left/LeftModules.js +86 -0
  22. package/app/components/left/LeftNetworks.js +438 -0
  23. package/app/components/left/LeftProcesses.js +98 -0
  24. package/app/components/left/LeftProjects.js +397 -0
  25. package/app/components/left/LeftTests.js +189 -0
  26. package/app/components/middle/MiddleBlocks.js +79 -0
  27. package/app/components/middle/MiddleEntity.js +16 -0
  28. package/app/components/middle/MiddleEntityAccount.js +264 -0
  29. package/app/components/middle/MiddleEntityAssignment.js +104 -0
  30. package/app/components/middle/MiddleEntityBlock.js +148 -0
  31. package/app/components/middle/MiddleEntityMessage.js +430 -0
  32. package/app/components/middle/MiddleEntityModule.js +183 -0
  33. package/app/components/middle/MiddleEntityProcess.js +323 -0
  34. package/app/components/middle/MiddleEntityTx.js +211 -0
  35. package/app/components/middle/MiddleMessages.js +87 -0
  36. package/app/components/middle/MiddleModules.js +89 -0
  37. package/app/components/middle/MiddleNetworks.js +516 -0
  38. package/app/components/middle/MiddleProcesses.js +87 -0
  39. package/app/components/middle/MiddleTests.js +134 -0
  40. package/app/components/modals/CreateFileModal.js +115 -0
  41. package/app/components/modals/CreateFolderModal.js +83 -0
  42. package/app/components/modals/CreateProjectModal.js +63 -0
  43. package/app/components/modals/FSModal.js +141 -0
  44. package/app/components/modals/ImportModal.js +105 -0
  45. package/app/components/modals/LaunchNetworkModal.js +95 -0
  46. package/app/components/modals/Modal.js +38 -0
  47. package/app/components/modals/ProxyModal.js +122 -0
  48. package/app/components/modals/RenameFileModal.js +95 -0
  49. package/app/components/styles/EditorScrollbarStyle.js +29 -0
  50. package/app/components/styles/EntityScrollbarStyle.js +29 -0
  51. package/app/components/styles/GlobalStyle.js +102 -0
  52. package/app/components/styles/XtermStyle.js +37 -0
  53. package/app/components/terminal/Terminal.js +132 -0
  54. package/app/components/terminal/Xterm.js +160 -0
  55. package/app/components/ui/avatar.jsx +49 -0
  56. package/app/components/ui/checkbox.jsx +17 -0
  57. package/app/components/ui/close-button.jsx +20 -0
  58. package/app/components/ui/color-mode.jsx +61 -0
  59. package/app/components/ui/dialog.jsx +54 -0
  60. package/app/components/ui/drawer.jsx +44 -0
  61. package/app/components/ui/field.jsx +22 -0
  62. package/app/components/ui/input-group.jsx +39 -0
  63. package/app/components/ui/popover.jsx +49 -0
  64. package/app/components/ui/provider.jsx +12 -0
  65. package/app/components/ui/radio.jsx +17 -0
  66. package/app/components/ui/slider.jsx +107 -0
  67. package/app/components/ui/toaster.jsx +69 -0
  68. package/app/components/ui/tooltip.jsx +35 -0
  69. package/app/index.js +10 -0
  70. package/app/jsconfig.json +7 -0
  71. package/app/lib/GithubCSS.js +1218 -0
  72. package/app/lib/addon-fit.js +72 -0
  73. package/app/lib/data.js +31 -0
  74. package/app/lib/github-markdown.css +1169 -0
  75. package/app/lib/global.js +1 -0
  76. package/app/lib/guide.js +82 -0
  77. package/app/lib/hub.js +109 -0
  78. package/app/lib/scripts.js +47 -0
  79. package/app/lib/store.js +34 -0
  80. package/app/lib/use.js +64 -0
  81. package/app/lib/utils.js +387 -0
  82. package/app/lib/webrtc.js +217 -0
  83. package/app/next.config.js +25 -0
  84. package/app/package.json +62 -0
  85. package/app/pages/404.js +9 -0
  86. package/app/pages/_app.js +10 -0
  87. package/app/pages/_document.js +14 -0
  88. package/app/pages/index.js +121 -0
  89. package/app/playwright.config.mjs +41 -0
  90. package/app/proxy.mjs +21 -0
  91. package/app/public/assets/cover.png +0 -0
  92. package/app/public/blueprints/apm.lua +91 -0
  93. package/app/public/blueprints/arena.lua +345 -0
  94. package/app/public/blueprints/arns.lua +318 -0
  95. package/app/public/blueprints/chat.lua +210 -0
  96. package/app/public/blueprints/chatroom.lua +56 -0
  97. package/app/public/blueprints/patch-legacy-reply.lua +13 -0
  98. package/app/public/blueprints/staking.lua +93 -0
  99. package/app/public/blueprints/token.lua +298 -0
  100. package/app/public/blueprints/voting.lua +45 -0
  101. package/app/public/favicon.ico +0 -0
  102. package/app/public/logo.png +0 -0
  103. package/cli-esm.js +55 -0
  104. package/cli.js +54 -0
  105. package/devnet/app/api.js +129 -0
  106. package/devnet/app/components/layout.js +89 -0
  107. package/devnet/app/components/pagination.js +144 -0
  108. package/devnet/app/components/search.js +159 -0
  109. package/devnet/app/components/table.js +124 -0
  110. package/devnet/app/components/tags.js +89 -0
  111. package/devnet/app/index.html +14 -0
  112. package/devnet/app/main.js +215 -0
  113. package/devnet/app/router.js +59 -0
  114. package/devnet/app/state.js +19 -0
  115. package/devnet/app/style.css +1606 -0
  116. package/devnet/app/utils.js +77 -0
  117. package/devnet/app/views/blocks.js +75 -0
  118. package/devnet/app/views/dashboard.js +127 -0
  119. package/devnet/app/views/entity.js +1473 -0
  120. package/devnet/app/views/messages.js +90 -0
  121. package/devnet/app/views/modules.js +165 -0
  122. package/devnet/app/views/processes.js +90 -0
  123. package/devnet/app/views/schedulers.js +90 -0
  124. package/devnet/app/views/transactions.js +88 -0
  125. package/devnet/migrations/0001_initial.sql +51 -0
  126. package/devnet/package.json +26 -0
  127. package/devnet/playwright.config.js +7 -0
  128. package/devnet/src/cu-worker.js +166 -0
  129. package/devnet/src/index.js +309 -0
  130. package/devnet/vite.config.js +17 -0
  131. package/devnet/vitest.config.js +10 -0
  132. package/devnet/wrangler-cu.toml +32 -0
  133. package/devnet/wrangler.toml +38 -0
  134. package/dhfs-tutorial-app/package.json +15 -0
  135. package/dist/esm/workspace/dashboard/public/favicon.png +0 -0
  136. package/dist/esm/workspace/src/counter.lua +14 -0
  137. package/dist/package.json +82 -0
  138. package/hb.sh +18 -0
  139. package/hbsig/.babelrc-cjs +5 -0
  140. package/hbsig/.babelrc-esm +5 -0
  141. package/hbsig/README.md +1 -0
  142. package/hbsig/dist/cjs/bin_to_str.js +44 -0
  143. package/hbsig/dist/cjs/collect-body-keys.js +470 -0
  144. package/hbsig/dist/cjs/commit.js +330 -0
  145. package/hbsig/dist/cjs/encode-array-item.js +110 -0
  146. package/hbsig/dist/cjs/encode-utils.js +242 -0
  147. package/hbsig/dist/cjs/encode.js +1365 -0
  148. package/hbsig/dist/cjs/erl_json.js +326 -0
  149. package/hbsig/dist/cjs/erl_str.js +1042 -0
  150. package/hbsig/dist/cjs/flat.js +279 -0
  151. package/hbsig/dist/cjs/http-message-signatures/httpbis.js +489 -0
  152. package/hbsig/dist/cjs/http-message-signatures/index.js +25 -0
  153. package/hbsig/dist/cjs/http-message-signatures/structured-header.js +129 -0
  154. package/hbsig/dist/cjs/httpsig.js +861 -0
  155. package/hbsig/dist/cjs/id.js +470 -0
  156. package/hbsig/dist/cjs/index.js +174 -0
  157. package/hbsig/dist/cjs/nocrypto.js +51 -0
  158. package/hbsig/dist/cjs/parser.js +201 -0
  159. package/hbsig/dist/cjs/send-utils.js +1231 -0
  160. package/hbsig/dist/cjs/send.js +211 -0
  161. package/hbsig/dist/cjs/signer-utils.js +494 -0
  162. package/hbsig/dist/cjs/signer.js +436 -0
  163. package/hbsig/dist/cjs/structured.js +515 -0
  164. package/hbsig/dist/cjs/test.js +12 -0
  165. package/hbsig/dist/cjs/utils.js +44 -0
  166. package/hbsig/dist/esm/bin_to_str.js +46 -0
  167. package/hbsig/dist/esm/collect-body-keys.js +436 -0
  168. package/hbsig/dist/esm/commit.js +219 -0
  169. package/hbsig/dist/esm/encode-array-item.js +112 -0
  170. package/hbsig/dist/esm/encode-utils.js +191 -0
  171. package/hbsig/dist/esm/encode.js +1256 -0
  172. package/hbsig/dist/esm/erl_json.js +292 -0
  173. package/hbsig/dist/esm/erl_str.js +1144 -0
  174. package/hbsig/dist/esm/flat.js +250 -0
  175. package/hbsig/dist/esm/http-message-signatures/httpbis.js +438 -0
  176. package/hbsig/dist/esm/http-message-signatures/index.js +4 -0
  177. package/hbsig/dist/esm/http-message-signatures/structured-header.js +105 -0
  178. package/hbsig/dist/esm/httpsig.js +866 -0
  179. package/hbsig/dist/esm/id.js +459 -0
  180. package/hbsig/dist/esm/index.js +13 -0
  181. package/hbsig/dist/esm/nocrypto.js +4 -0
  182. package/hbsig/dist/esm/package.json +3 -0
  183. package/hbsig/dist/esm/parser.js +171 -0
  184. package/hbsig/dist/esm/send-utils.js +1132 -0
  185. package/hbsig/dist/esm/send.js +142 -0
  186. package/hbsig/dist/esm/signer-utils.js +375 -0
  187. package/hbsig/dist/esm/signer.js +312 -0
  188. package/hbsig/dist/esm/structured.js +496 -0
  189. package/hbsig/dist/esm/test.js +2 -0
  190. package/hbsig/dist/esm/utils.js +29 -0
  191. package/hbsig/dist/package.json +39 -0
  192. package/hbsig/make.js +36 -0
  193. package/hbsig/package.json +39 -0
  194. package/hbsig/src/bin_to_str.js +46 -0
  195. package/hbsig/src/collect-body-keys.js +436 -0
  196. package/hbsig/src/commit.js +219 -0
  197. package/hbsig/src/encode-array-item.js +112 -0
  198. package/hbsig/src/encode-utils.js +191 -0
  199. package/hbsig/src/encode.js +1256 -0
  200. package/hbsig/src/erl_json.js +292 -0
  201. package/hbsig/src/erl_str.js +1144 -0
  202. package/hbsig/src/flat.js +250 -0
  203. package/hbsig/src/http-message-signatures/httpbis.js +438 -0
  204. package/hbsig/src/http-message-signatures/index.js +4 -0
  205. package/hbsig/src/http-message-signatures/structured-header.js +105 -0
  206. package/hbsig/src/httpsig.js +866 -0
  207. package/hbsig/src/id.js +459 -0
  208. package/hbsig/src/index.js +13 -0
  209. package/hbsig/src/nocrypto.js +4 -0
  210. package/hbsig/src/parser.js +171 -0
  211. package/hbsig/src/send-utils.js +1132 -0
  212. package/hbsig/src/send.js +142 -0
  213. package/hbsig/src/signer-utils.js +375 -0
  214. package/hbsig/src/signer.js +312 -0
  215. package/hbsig/src/structured.js +496 -0
  216. package/hbsig/src/test.js +2 -0
  217. package/hbsig/src/utils.js +29 -0
  218. package/lp/index.html +25 -0
  219. package/lp/package.json +19 -0
  220. package/lp/public/cover.png +0 -0
  221. package/lp/public/favicon.ico +0 -0
  222. package/lp/public/favicon.png +0 -0
  223. package/lp/public/images/book.jpg +0 -0
  224. package/lp/public/images/dashboard.png +0 -0
  225. package/lp/public/images/devnet.png +0 -0
  226. package/lp/public/images/hero-bg.png +0 -0
  227. package/lp/public/images/hyperadd.png +0 -0
  228. package/lp/public/images/message-flow.png +0 -0
  229. package/lp/public/images/mobile.png +0 -0
  230. package/lp/public/images/og-cover.png +0 -0
  231. package/lp/public/images/scan.png +0 -0
  232. package/lp/public/images/wao-hub.png +0 -0
  233. package/lp/public/images/wao-web.png +0 -0
  234. package/lp/public/logo.png +0 -0
  235. package/lp/src/App.jsx +29 -0
  236. package/lp/src/components/CodeBlock.jsx +37 -0
  237. package/lp/src/components/CodeBlock.module.css +89 -0
  238. package/lp/src/components/Footer.jsx +22 -0
  239. package/lp/src/components/Footer.module.css +60 -0
  240. package/lp/src/components/Nav.jsx +80 -0
  241. package/lp/src/components/Nav.module.css +177 -0
  242. package/lp/src/components/SectionWrapper.jsx +15 -0
  243. package/lp/src/hooks/useReveal.js +25 -0
  244. package/lp/src/hooks/useScrolled.js +14 -0
  245. package/lp/src/main.jsx +10 -0
  246. package/lp/src/sections/Book.jsx +60 -0
  247. package/lp/src/sections/Book.module.css +204 -0
  248. package/lp/src/sections/Browser.jsx +46 -0
  249. package/lp/src/sections/Browser.module.css +67 -0
  250. package/lp/src/sections/Devnet.jsx +55 -0
  251. package/lp/src/sections/Devnet.module.css +136 -0
  252. package/lp/src/sections/GetStarted.jsx +51 -0
  253. package/lp/src/sections/GetStarted.module.css +128 -0
  254. package/lp/src/sections/Hero.jsx +67 -0
  255. package/lp/src/sections/Hero.module.css +202 -0
  256. package/lp/src/sections/HyperADD.jsx +46 -0
  257. package/lp/src/sections/HyperADD.module.css +113 -0
  258. package/lp/src/sections/SDK.jsx +90 -0
  259. package/lp/src/sections/SDK.module.css +122 -0
  260. package/lp/src/sections/Testing.jsx +47 -0
  261. package/lp/src/sections/Testing.module.css +124 -0
  262. package/lp/src/sections/Vision.jsx +93 -0
  263. package/lp/src/sections/Vision.module.css +147 -0
  264. package/lp/src/styles/globals.css +285 -0
  265. package/lp/src/utils/scrollTo.js +4 -0
  266. package/lp/vite.config.js +7 -0
  267. package/make.js +39 -0
  268. package/package.json +17 -12
  269. package/patches/@permaweb+ao-loader+0.0.44.patch +64 -0
  270. package/plan.md +435 -0
  271. package/rebar.lock +1 -0
  272. package/src/accounts-web.js +128 -0
  273. package/src/accounts.js +124 -0
  274. package/src/adaptor-base.js +622 -0
  275. package/src/adaptor-cf.js +11 -0
  276. package/src/adaptor-web.js +11 -0
  277. package/src/adaptor.js +10 -0
  278. package/src/ao-loader.js +30660 -0
  279. package/src/ao.js +1173 -0
  280. package/src/aoconnect-base.js +1098 -0
  281. package/src/aoconnect-cf.js +9 -0
  282. package/src/aoconnect-web.js +8 -0
  283. package/src/aoconnect.js +8 -0
  284. package/src/aos_wamr.js +1 -0
  285. package/src/ar-remote.js +87 -0
  286. package/src/ar.js +276 -0
  287. package/src/armem-base.js +529 -0
  288. package/src/armem-cf.js +67 -0
  289. package/src/armem-web.js +19 -0
  290. package/src/armem.js +26 -0
  291. package/src/bao.js +141 -0
  292. package/src/bar.js +366 -0
  293. package/src/build.js +7 -0
  294. package/src/bundler.js +119 -0
  295. package/src/car.js +10 -0
  296. package/src/cf-env.js +29 -0
  297. package/src/cf.js +11 -0
  298. package/src/cli.js +561 -0
  299. package/src/compress.js +112 -0
  300. package/src/create.js +415 -0
  301. package/src/devs.js +86 -0
  302. package/src/dirname.js +1 -0
  303. package/src/dodb.js +26 -0
  304. package/src/erl_json.js +289 -0
  305. package/src/erl_str.js +1139 -0
  306. package/src/gql.js +229 -0
  307. package/src/hb.js +967 -0
  308. package/src/helpers.js +203 -0
  309. package/src/http.js +619 -0
  310. package/src/hub/bundler.js +123 -0
  311. package/src/hub/cu.js +74 -0
  312. package/src/hub/fs.js +157 -0
  313. package/src/hub/index.js +85 -0
  314. package/src/hub/utils.js +64 -0
  315. package/src/hub/ws-proxy.js +67 -0
  316. package/src/hyper-aos.js +1 -0
  317. package/src/hyperbeam-server.js +21 -0
  318. package/src/hyperbeam.js +585 -0
  319. package/src/index.js +5 -0
  320. package/src/keygen.js +47 -0
  321. package/src/lfdb.js +67 -0
  322. package/src/lua/aos.wasm +0 -0
  323. package/src/lua/aos2_0_1.js +1 -0
  324. package/src/lua/aos2_0_1.wasm +0 -0
  325. package/src/lua/aos2_0_3.js +1 -0
  326. package/src/lua/aos2_0_3.wasm +0 -0
  327. package/src/lua/aos2_0_4_32.js +1 -0
  328. package/src/lua/aos2_0_4_32.wasm +0 -0
  329. package/src/lua/aos2_0_6.wasm +0 -0
  330. package/src/lua/apm.lua +61 -0
  331. package/src/lua/llama.wasm +0 -0
  332. package/src/lua/process.wasm +0 -0
  333. package/src/lua/sqlite.js +1 -0
  334. package/src/lua/sqlite.wasm +0 -0
  335. package/src/lua/weavedb_mock.lua +44 -0
  336. package/src/lua/weavedrive.lua +53 -0
  337. package/src/run.js +25 -0
  338. package/src/server.js +173 -0
  339. package/src/storage-multi.js +183 -0
  340. package/src/tao.js +12 -0
  341. package/src/tar.js +10 -0
  342. package/src/test.js +42 -0
  343. package/src/tgql-d1.js +407 -0
  344. package/src/tgql.js +310 -0
  345. package/src/toerl.js +162 -0
  346. package/src/utils.js +777 -0
  347. package/src/wao.js +29 -0
  348. package/src/waosm/README.md +81 -0
  349. package/src/waosm/waosm.d.ts +40 -0
  350. package/src/waosm/waosm.js +240 -0
  351. package/src/waosm/waosm_bg.wasm +0 -0
  352. package/src/waosm/waosm_bg.wasm.d.ts +8 -0
  353. package/src/waosm-node/README.md +81 -0
  354. package/src/waosm-node/waosm.d.ts +8 -0
  355. package/src/waosm-node/waosm.js +4 -0
  356. package/src/waosm-node/waosm_bg.js +147 -0
  357. package/src/waosm-node/waosm_bg.wasm +0 -0
  358. package/src/waosm-node/waosm_bg.wasm.d.ts +8 -0
  359. package/src/waosm-node/waosm_bg.wasm.js +14 -0
  360. package/src/waosm-node.js +9 -0
  361. package/src/war.js +10 -0
  362. package/src/weavedrive.js +376 -0
  363. package/src/web.js +11 -0
  364. package/src/workspace/.mcp.json +8 -0
  365. package/src/workspace/CLAUDE.md +258 -0
  366. package/src/workspace/README.md +85 -0
  367. package/src/workspace/dashboard/index.html +163 -0
  368. package/src/workspace/dashboard/package.json +18 -0
  369. package/src/workspace/dashboard/public/favicon.ico +0 -0
  370. package/src/workspace/dashboard/public/favicon.png +0 -0
  371. package/src/workspace/dashboard/server.js +224 -0
  372. package/src/workspace/dashboard/src/App.jsx +2350 -0
  373. package/{cjs/workspace/frontend → src/workspace/dashboard}/vite.config.js +6 -0
  374. package/src/workspace/package.json +18 -0
  375. package/src/workspace/src/counter.lua +14 -0
  376. package/tsconfig.json +18 -0
  377. package/types/index.d.ts +329 -0
  378. package/waollama/.eslintrc.json +3 -0
  379. package/waollama/README.md +19 -0
  380. package/waollama/arweave.mjs +87 -0
  381. package/waollama/components/ui/avatar.jsx +49 -0
  382. package/waollama/components/ui/checkbox.jsx +17 -0
  383. package/waollama/components/ui/close-button.jsx +20 -0
  384. package/waollama/components/ui/color-mode.jsx +61 -0
  385. package/waollama/components/ui/dialog.jsx +54 -0
  386. package/waollama/components/ui/drawer.jsx +44 -0
  387. package/waollama/components/ui/field.jsx +22 -0
  388. package/waollama/components/ui/input-group.jsx +39 -0
  389. package/waollama/components/ui/popover.jsx +49 -0
  390. package/waollama/components/ui/provider.jsx +12 -0
  391. package/waollama/components/ui/radio.jsx +17 -0
  392. package/waollama/components/ui/slider.jsx +107 -0
  393. package/waollama/components/ui/tooltip.jsx +35 -0
  394. package/waollama/index.js +10 -0
  395. package/waollama/jsconfig.json +7 -0
  396. package/waollama/lib/ao-loader.js +30654 -0
  397. package/waollama/lib/client.js +1 -0
  398. package/waollama/lib/wasm.js +1 -0
  399. package/waollama/next.config.js +25 -0
  400. package/waollama/package.json +43 -0
  401. package/waollama/pages/404.js +9 -0
  402. package/waollama/pages/_app.js +9 -0
  403. package/waollama/pages/_document.js +14 -0
  404. package/waollama/pages/index.js +212 -0
  405. package/waollama/playwright.config.js +31 -0
  406. package/waollama/proxy.mjs +21 -0
  407. package/waollama/public/favicon.ico +0 -0
  408. package/waollama/public/human.png +0 -0
  409. package/waollama/public/llama.png +0 -0
  410. package/waosm/Cargo.toml +11 -0
  411. package/waosm/README.md +81 -0
  412. package/waosm/compress.js +112 -0
  413. package/waosm/make.js +33 -0
  414. package/waosm/package.json +10 -0
  415. package/waosm/src/lib.rs +180 -0
  416. package/waosm/test.js +16 -0
  417. package/cjs/workspace/.claude/agents/builder.md +0 -99
  418. package/cjs/workspace/.claude/agents/device-builder.md +0 -86
  419. package/cjs/workspace/.claude/agents/tester.md +0 -90
  420. package/cjs/workspace/.claude/mcp/dashboard/server.js +0 -128
  421. package/cjs/workspace/.claude/rules/deploy.md +0 -45
  422. package/cjs/workspace/.claude/rules/frontend.md +0 -69
  423. package/cjs/workspace/.claude/rules/hyperbeam.md +0 -104
  424. package/cjs/workspace/.claude/rules/lua.md +0 -108
  425. package/cjs/workspace/.claude/rules/testing.md +0 -257
  426. package/cjs/workspace/.claude/settings.json +0 -109
  427. package/cjs/workspace/.claude/skills/build/SKILL.md +0 -214
  428. package/cjs/workspace/.claude/skills/build-aos/SKILL.md +0 -129
  429. package/cjs/workspace/.claude/skills/build-device/SKILL.md +0 -192
  430. package/cjs/workspace/.claude/skills/build-frontend/SKILL.md +0 -134
  431. package/cjs/workspace/.claude/skills/build-module/SKILL.md +0 -281
  432. package/cjs/workspace/.claude/skills/create-aos/SKILL.md +0 -63
  433. package/cjs/workspace/.claude/skills/create-device/SKILL.md +0 -87
  434. package/cjs/workspace/.claude/skills/create-module/SKILL.md +0 -162
  435. package/cjs/workspace/.claude/skills/debug/SKILL.md +0 -57
  436. package/cjs/workspace/.claude/skills/deploy/SKILL.md +0 -85
  437. package/cjs/workspace/.claude/skills/dev/SKILL.md +0 -32
  438. package/cjs/workspace/.claude/skills/plan/SKILL.md +0 -176
  439. package/cjs/workspace/.claude/skills/readme/SKILL.md +0 -186
  440. package/cjs/workspace/.claude/skills/report/SKILL.md +0 -49
  441. package/cjs/workspace/.claude/skills/team/SKILL.md +0 -101
  442. package/cjs/workspace/.claude/skills/test/SKILL.md +0 -56
  443. package/cjs/workspace/.claude/skills/test-device/SKILL.md +0 -114
  444. package/cjs/workspace/.claude/skills/test-e2e/SKILL.md +0 -103
  445. package/cjs/workspace/.claude/skills/test-hb/SKILL.md +0 -76
  446. package/cjs/workspace/.claude/skills/validate/SKILL.md +0 -96
  447. package/cjs/workspace/.claude/skills/validate/scripts/check-lua.sh +0 -41
  448. package/cjs/workspace/docs/aos-lua.md +0 -428
  449. package/cjs/workspace/docs/debug.md +0 -230
  450. package/cjs/workspace/docs/hyperbeam-dev.md +0 -606
  451. package/cjs/workspace/docs/hyperbeam-devices.md +0 -618
  452. package/cjs/workspace/docs/wao-sdk.md +0 -807
  453. package/cjs/workspace/frontend/e2e/.gitkeep +0 -0
  454. package/cjs/workspace/frontend/index.html +0 -12
  455. package/cjs/workspace/frontend/package.json +0 -24
  456. package/cjs/workspace/frontend/playwright.config.js +0 -10
  457. package/cjs/workspace/frontend/src/App.jsx +0 -24
  458. package/cjs/workspace/frontend/test/.gitkeep +0 -0
  459. package/cjs/workspace/frontend/vitest.config.js +0 -10
  460. package/cjs/workspace/scripts/deploy.js +0 -140
  461. package/cjs/workspace/scripts/keygen.js +0 -52
  462. package/cjs/workspace/test/aos.test.js +0 -98
  463. package/cjs/workspace/test/hyperbeam.test.js +0 -80
  464. package/esm/compiler/native +0 -0
  465. package/esm/workspace/.claude/agents/builder.md +0 -99
  466. package/esm/workspace/.claude/agents/device-builder.md +0 -86
  467. package/esm/workspace/.claude/agents/tester.md +0 -90
  468. package/esm/workspace/.claude/mcp/dashboard/server.js +0 -128
  469. package/esm/workspace/.claude/rules/deploy.md +0 -45
  470. package/esm/workspace/.claude/rules/frontend.md +0 -69
  471. package/esm/workspace/.claude/rules/hyperbeam.md +0 -104
  472. package/esm/workspace/.claude/rules/lua.md +0 -108
  473. package/esm/workspace/.claude/rules/testing.md +0 -257
  474. package/esm/workspace/.claude/settings.json +0 -109
  475. package/esm/workspace/.claude/skills/build/SKILL.md +0 -214
  476. package/esm/workspace/.claude/skills/build-aos/SKILL.md +0 -129
  477. package/esm/workspace/.claude/skills/build-device/SKILL.md +0 -192
  478. package/esm/workspace/.claude/skills/build-frontend/SKILL.md +0 -134
  479. package/esm/workspace/.claude/skills/build-module/SKILL.md +0 -281
  480. package/esm/workspace/.claude/skills/create-aos/SKILL.md +0 -63
  481. package/esm/workspace/.claude/skills/create-device/SKILL.md +0 -87
  482. package/esm/workspace/.claude/skills/create-module/SKILL.md +0 -162
  483. package/esm/workspace/.claude/skills/debug/SKILL.md +0 -57
  484. package/esm/workspace/.claude/skills/deploy/SKILL.md +0 -85
  485. package/esm/workspace/.claude/skills/dev/SKILL.md +0 -32
  486. package/esm/workspace/.claude/skills/plan/SKILL.md +0 -176
  487. package/esm/workspace/.claude/skills/readme/SKILL.md +0 -186
  488. package/esm/workspace/.claude/skills/report/SKILL.md +0 -49
  489. package/esm/workspace/.claude/skills/team/SKILL.md +0 -101
  490. package/esm/workspace/.claude/skills/test/SKILL.md +0 -56
  491. package/esm/workspace/.claude/skills/test-device/SKILL.md +0 -114
  492. package/esm/workspace/.claude/skills/test-e2e/SKILL.md +0 -103
  493. package/esm/workspace/.claude/skills/test-hb/SKILL.md +0 -76
  494. package/esm/workspace/.claude/skills/validate/SKILL.md +0 -96
  495. package/esm/workspace/.claude/skills/validate/scripts/check-lua.sh +0 -41
  496. package/esm/workspace/docs/aos-lua.md +0 -428
  497. package/esm/workspace/docs/debug.md +0 -230
  498. package/esm/workspace/docs/hyperbeam-dev.md +0 -606
  499. package/esm/workspace/docs/hyperbeam-devices.md +0 -618
  500. package/esm/workspace/docs/wao-sdk.md +0 -807
  501. package/esm/workspace/frontend/e2e/.gitkeep +0 -0
  502. package/esm/workspace/frontend/index.html +0 -12
  503. package/esm/workspace/frontend/package.json +0 -24
  504. package/esm/workspace/frontend/playwright.config.js +0 -10
  505. package/esm/workspace/frontend/src/App.jsx +0 -24
  506. package/esm/workspace/frontend/src/main.jsx +0 -9
  507. package/esm/workspace/frontend/test/.gitkeep +0 -0
  508. package/esm/workspace/frontend/vite.config.js +0 -6
  509. package/esm/workspace/frontend/vitest.config.js +0 -10
  510. package/esm/workspace/scripts/deploy.js +0 -140
  511. package/esm/workspace/scripts/keygen.js +0 -52
  512. package/esm/workspace/test/aos.test.js +0 -98
  513. package/esm/workspace/test/hyperbeam.test.js +0 -80
  514. /package/{cjs/workspace/dashboard/public → devnet/app}/favicon.ico +0 -0
  515. /package/{cjs/workspace → dhfs-tutorial-app}/src/counter.lua +0 -0
  516. /package/{cjs → dist/cjs}/accounts-web.js +0 -0
  517. /package/{cjs → dist/cjs}/accounts.js +0 -0
  518. /package/{cjs → dist/cjs}/adaptor-base.js +0 -0
  519. /package/{cjs → dist/cjs}/adaptor-cf.js +0 -0
  520. /package/{cjs → dist/cjs}/adaptor-web.js +0 -0
  521. /package/{cjs → dist/cjs}/adaptor.js +0 -0
  522. /package/{cjs → dist/cjs}/ao-loader.js +0 -0
  523. /package/{cjs → dist/cjs}/ao.js +0 -0
  524. /package/{cjs → dist/cjs}/aoconnect-base.js +0 -0
  525. /package/{cjs → dist/cjs}/aoconnect-cf.js +0 -0
  526. /package/{cjs → dist/cjs}/aoconnect-web.js +0 -0
  527. /package/{cjs → dist/cjs}/aoconnect.js +0 -0
  528. /package/{cjs → dist/cjs}/aos_wamr.js +0 -0
  529. /package/{cjs → dist/cjs}/ar-remote.js +0 -0
  530. /package/{cjs → dist/cjs}/ar.js +0 -0
  531. /package/{cjs → dist/cjs}/armem-base.js +0 -0
  532. /package/{cjs → dist/cjs}/armem-cf.js +0 -0
  533. /package/{cjs → dist/cjs}/armem-web.js +0 -0
  534. /package/{cjs → dist/cjs}/armem.js +0 -0
  535. /package/{cjs → dist/cjs}/bao.js +0 -0
  536. /package/{cjs → dist/cjs}/bar.js +0 -0
  537. /package/{cjs → dist/cjs}/build.js +0 -0
  538. /package/{cjs → dist/cjs}/bundler.js +0 -0
  539. /package/{cjs → dist/cjs}/car.js +0 -0
  540. /package/{cjs → dist/cjs}/cf-env.js +0 -0
  541. /package/{cjs → dist/cjs}/cf.js +0 -0
  542. /package/{cjs → dist/cjs}/cli.js +0 -0
  543. /package/{cjs → dist/cjs}/compress.js +0 -0
  544. /package/{cjs → dist/cjs}/create.js +0 -0
  545. /package/{cjs → dist/cjs}/devs.js +0 -0
  546. /package/{cjs → dist/cjs}/dirname.js +0 -0
  547. /package/{cjs → dist/cjs}/dodb.js +0 -0
  548. /package/{cjs → dist/cjs}/erl_json.js +0 -0
  549. /package/{cjs → dist/cjs}/erl_str.js +0 -0
  550. /package/{cjs → dist/cjs}/gql.js +0 -0
  551. /package/{cjs → dist/cjs}/hb.js +0 -0
  552. /package/{cjs → dist/cjs}/helpers.js +0 -0
  553. /package/{cjs → dist/cjs}/http.js +0 -0
  554. /package/{cjs → dist/cjs}/hub/bundler.js +0 -0
  555. /package/{cjs → dist/cjs}/hub/cu.js +0 -0
  556. /package/{cjs → dist/cjs}/hub/fs.js +0 -0
  557. /package/{cjs → dist/cjs}/hub/index.js +0 -0
  558. /package/{cjs → dist/cjs}/hub/utils.js +0 -0
  559. /package/{cjs → dist/cjs}/hub/ws-proxy.js +0 -0
  560. /package/{cjs → dist/cjs}/hyper-aos.js +0 -0
  561. /package/{cjs → dist/cjs}/hyperbeam-server.js +0 -0
  562. /package/{cjs → dist/cjs}/hyperbeam.js +0 -0
  563. /package/{cjs → dist/cjs}/index.js +0 -0
  564. /package/{cjs → dist/cjs}/keygen.js +0 -0
  565. /package/{cjs → dist/cjs}/lfdb.js +0 -0
  566. /package/{cjs → dist/cjs}/lua/aos.wasm +0 -0
  567. /package/{cjs → dist/cjs}/lua/aos2_0_1.js +0 -0
  568. /package/{cjs → dist/cjs}/lua/aos2_0_1.wasm +0 -0
  569. /package/{cjs → dist/cjs}/lua/aos2_0_3.js +0 -0
  570. /package/{cjs → dist/cjs}/lua/aos2_0_3.wasm +0 -0
  571. /package/{cjs → dist/cjs}/lua/aos2_0_4_32.js +0 -0
  572. /package/{cjs → dist/cjs}/lua/aos2_0_4_32.wasm +0 -0
  573. /package/{cjs → dist/cjs}/lua/aos2_0_6.wasm +0 -0
  574. /package/{cjs → dist/cjs}/lua/apm.lua +0 -0
  575. /package/{cjs → dist/cjs}/lua/llama.wasm +0 -0
  576. /package/{cjs → dist/cjs}/lua/process.wasm +0 -0
  577. /package/{cjs → dist/cjs}/lua/sqlite.js +0 -0
  578. /package/{cjs → dist/cjs}/lua/sqlite.wasm +0 -0
  579. /package/{cjs → dist/cjs}/lua/weavedb_mock.lua +0 -0
  580. /package/{cjs → dist/cjs}/lua/weavedrive.lua +0 -0
  581. /package/{cjs → dist/cjs}/run.js +0 -0
  582. /package/{cjs → dist/cjs}/server.js +0 -0
  583. /package/{cjs → dist/cjs}/storage-multi.js +0 -0
  584. /package/{cjs → dist/cjs}/tao.js +0 -0
  585. /package/{cjs → dist/cjs}/tar.js +0 -0
  586. /package/{cjs → dist/cjs}/test.js +0 -0
  587. /package/{cjs → dist/cjs}/tgql-d1.js +0 -0
  588. /package/{cjs → dist/cjs}/tgql.js +0 -0
  589. /package/{cjs → dist/cjs}/toerl.js +0 -0
  590. /package/{cjs → dist/cjs}/utils.js +0 -0
  591. /package/{cjs → dist/cjs}/wao.js +0 -0
  592. /package/{cjs → dist/cjs}/waosm/waosm.js +0 -0
  593. /package/{cjs → dist/cjs}/waosm-node/waosm.js +0 -0
  594. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.js +0 -0
  595. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.wasm +0 -0
  596. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.wasm.js +0 -0
  597. /package/{cjs → dist/cjs}/waosm-node.js +0 -0
  598. /package/{cjs → dist/cjs}/war.js +0 -0
  599. /package/{cjs → dist/cjs}/weavedrive.js +0 -0
  600. /package/{cjs → dist/cjs}/web.js +0 -0
  601. /package/{cjs → dist/cjs}/workspace/.mcp.json +0 -0
  602. /package/{cjs → dist/cjs}/workspace/CLAUDE.md +0 -0
  603. /package/{cjs → dist/cjs}/workspace/README.md +0 -0
  604. /package/{cjs → dist/cjs}/workspace/dashboard/index.html +0 -0
  605. /package/{cjs → dist/cjs}/workspace/dashboard/package.json +0 -0
  606. /package/{esm → dist/cjs}/workspace/dashboard/public/favicon.ico +0 -0
  607. /package/{cjs → dist/cjs}/workspace/dashboard/public/favicon.png +0 -0
  608. /package/{cjs → dist/cjs}/workspace/dashboard/server.js +0 -0
  609. /package/{cjs → dist/cjs}/workspace/dashboard/src/App.jsx +0 -0
  610. /package/{cjs → dist/cjs}/workspace/dashboard/src/main.jsx +0 -0
  611. /package/{cjs → dist/cjs}/workspace/dashboard/vite.config.js +0 -0
  612. /package/{cjs → dist/cjs}/workspace/package.json +0 -0
  613. /package/{esm → dist/cjs}/workspace/src/counter.lua +0 -0
  614. /package/{esm → dist/esm}/accounts-web.js +0 -0
  615. /package/{esm → dist/esm}/accounts.js +0 -0
  616. /package/{esm → dist/esm}/adaptor-base.js +0 -0
  617. /package/{esm → dist/esm}/adaptor-cf.js +0 -0
  618. /package/{esm → dist/esm}/adaptor-web.js +0 -0
  619. /package/{esm → dist/esm}/adaptor.js +0 -0
  620. /package/{esm → dist/esm}/ao-loader.js +0 -0
  621. /package/{esm → dist/esm}/ao.js +0 -0
  622. /package/{esm → dist/esm}/aoconnect-base.js +0 -0
  623. /package/{esm → dist/esm}/aoconnect-cf.js +0 -0
  624. /package/{esm → dist/esm}/aoconnect-web.js +0 -0
  625. /package/{esm → dist/esm}/aoconnect.js +0 -0
  626. /package/{esm → dist/esm}/aos_wamr.js +0 -0
  627. /package/{esm → dist/esm}/ar-remote.js +0 -0
  628. /package/{esm → dist/esm}/ar.js +0 -0
  629. /package/{esm → dist/esm}/armem-base.js +0 -0
  630. /package/{esm → dist/esm}/armem-cf.js +0 -0
  631. /package/{esm → dist/esm}/armem-web.js +0 -0
  632. /package/{esm → dist/esm}/armem.js +0 -0
  633. /package/{esm → dist/esm}/bao.js +0 -0
  634. /package/{esm → dist/esm}/bar.js +0 -0
  635. /package/{esm → dist/esm}/build.js +0 -0
  636. /package/{esm → dist/esm}/bundler.js +0 -0
  637. /package/{esm → dist/esm}/car.js +0 -0
  638. /package/{esm → dist/esm}/cf-env.js +0 -0
  639. /package/{esm → dist/esm}/cf.js +0 -0
  640. /package/{esm → dist/esm}/cli.js +0 -0
  641. /package/{esm → dist/esm}/compress.js +0 -0
  642. /package/{esm → dist/esm}/create.js +0 -0
  643. /package/{esm → dist/esm}/devs.js +0 -0
  644. /package/{esm → dist/esm}/dirname.js +0 -0
  645. /package/{esm → dist/esm}/dodb.js +0 -0
  646. /package/{esm → dist/esm}/erl_json.js +0 -0
  647. /package/{esm → dist/esm}/erl_str.js +0 -0
  648. /package/{esm → dist/esm}/gql.js +0 -0
  649. /package/{esm → dist/esm}/hb.js +0 -0
  650. /package/{esm → dist/esm}/helpers.js +0 -0
  651. /package/{esm → dist/esm}/http.js +0 -0
  652. /package/{esm → dist/esm}/hub/bundler.js +0 -0
  653. /package/{esm → dist/esm}/hub/cu.js +0 -0
  654. /package/{esm → dist/esm}/hub/fs.js +0 -0
  655. /package/{esm → dist/esm}/hub/index.js +0 -0
  656. /package/{esm → dist/esm}/hub/utils.js +0 -0
  657. /package/{esm → dist/esm}/hub/ws-proxy.js +0 -0
  658. /package/{esm → dist/esm}/hyper-aos.js +0 -0
  659. /package/{esm → dist/esm}/hyperbeam-server.js +0 -0
  660. /package/{esm → dist/esm}/hyperbeam.js +0 -0
  661. /package/{esm → dist/esm}/index.js +0 -0
  662. /package/{esm → dist/esm}/keygen.js +0 -0
  663. /package/{esm → dist/esm}/lfdb.js +0 -0
  664. /package/{esm → dist/esm}/lua/aos.wasm +0 -0
  665. /package/{esm → dist/esm}/lua/aos2_0_1.js +0 -0
  666. /package/{esm → dist/esm}/lua/aos2_0_1.wasm +0 -0
  667. /package/{esm → dist/esm}/lua/aos2_0_3.js +0 -0
  668. /package/{esm → dist/esm}/lua/aos2_0_3.wasm +0 -0
  669. /package/{esm → dist/esm}/lua/aos2_0_4_32.js +0 -0
  670. /package/{esm → dist/esm}/lua/aos2_0_4_32.wasm +0 -0
  671. /package/{esm → dist/esm}/lua/aos2_0_6.wasm +0 -0
  672. /package/{esm → dist/esm}/lua/apm.lua +0 -0
  673. /package/{esm → dist/esm}/lua/llama.wasm +0 -0
  674. /package/{esm → dist/esm}/lua/process.wasm +0 -0
  675. /package/{esm → dist/esm}/lua/sqlite.js +0 -0
  676. /package/{esm → dist/esm}/lua/sqlite.wasm +0 -0
  677. /package/{esm → dist/esm}/lua/weavedb_mock.lua +0 -0
  678. /package/{esm → dist/esm}/lua/weavedrive.lua +0 -0
  679. /package/{esm → dist/esm}/package.json +0 -0
  680. /package/{esm → dist/esm}/run.js +0 -0
  681. /package/{esm → dist/esm}/server.js +0 -0
  682. /package/{esm → dist/esm}/storage-multi.js +0 -0
  683. /package/{esm → dist/esm}/tao.js +0 -0
  684. /package/{esm → dist/esm}/tar.js +0 -0
  685. /package/{esm → dist/esm}/test.js +0 -0
  686. /package/{esm → dist/esm}/tgql-d1.js +0 -0
  687. /package/{esm → dist/esm}/tgql.js +0 -0
  688. /package/{esm → dist/esm}/toerl.js +0 -0
  689. /package/{esm → dist/esm}/utils.js +0 -0
  690. /package/{esm → dist/esm}/wao.js +0 -0
  691. /package/{esm → dist/esm}/waosm/README.md +0 -0
  692. /package/{esm → dist/esm}/waosm/waosm.d.ts +0 -0
  693. /package/{esm → dist/esm}/waosm/waosm.js +0 -0
  694. /package/{esm → dist/esm}/waosm/waosm_bg.wasm +0 -0
  695. /package/{esm → dist/esm}/waosm/waosm_bg.wasm.d.ts +0 -0
  696. /package/{esm → dist/esm}/waosm-node/README.md +0 -0
  697. /package/{esm → dist/esm}/waosm-node/waosm.d.ts +0 -0
  698. /package/{esm → dist/esm}/waosm-node/waosm.js +0 -0
  699. /package/{esm → dist/esm}/waosm-node/waosm_bg.js +0 -0
  700. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm +0 -0
  701. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm.d.ts +0 -0
  702. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm.js +0 -0
  703. /package/{esm → dist/esm}/waosm-node.js +0 -0
  704. /package/{esm → dist/esm}/war.js +0 -0
  705. /package/{esm → dist/esm}/weavedrive.js +0 -0
  706. /package/{esm → dist/esm}/web.js +0 -0
  707. /package/{esm → dist/esm}/workspace/.mcp.json +0 -0
  708. /package/{esm → dist/esm}/workspace/CLAUDE.md +0 -0
  709. /package/{esm → dist/esm}/workspace/README.md +0 -0
  710. /package/{esm → dist/esm}/workspace/dashboard/index.html +0 -0
  711. /package/{esm → dist/esm}/workspace/dashboard/package.json +0 -0
  712. /package/{esm/workspace/dashboard/public/favicon.png → dist/esm/workspace/dashboard/public/favicon.ico} +0 -0
  713. /package/{esm → dist/esm}/workspace/dashboard/server.js +0 -0
  714. /package/{esm → dist/esm}/workspace/dashboard/src/App.jsx +0 -0
  715. /package/{cjs/workspace/frontend → dist/esm/workspace/dashboard}/src/main.jsx +0 -0
  716. /package/{esm → dist/esm}/workspace/dashboard/vite.config.js +0 -0
  717. /package/{esm → dist/esm}/workspace/package.json +0 -0
  718. /package/{postinstall.cjs → dist/postinstall.cjs} +0 -0
  719. /package/{esm → src}/workspace/dashboard/src/main.jsx +0 -0
@@ -0,0 +1 @@
1
+ export default "AGFzbQEAAAABwwRUYAF+AX9gAn5+AGAEfn5+fgF/YAN+fn4BfmACfn8AYAF+AGACfn4BfmADfn5+AGACfn4Bf2ABfgF+YAR+fn5+AX5gA35+fgF/YAJ+fwF/YAN+fn8AYAN+f34Bf2ADfn5/AX9gA35/fgF+YAJ+fwF+YAV+fn5+fgBgA35+fwF+YAN+f38AYAAAYAN+f34AYAABfmABfAF8YAR+fn5+AGAFfn5+fn4Bf2ABfwF/YAR/fn9+AX9gBH5+fn8AYAN+f38Bf2ACfHwBfGABfwBgBH9+fn4Bf2AAAX9gBH5+f38AYAN+f38BfmAFfn9/f38AYAR+f39/AGACf34AYAZ+fH9/f38Bf2ADf39+AX9gBH5/fn4BfmAEfn5+fwF/YAV+f39/fwF/YAR+f39/AX9gBH5/fn4Bf2AEfn9/fgBgBH5/fn4AYAJ/fwF/YAJ/fgF/YAJ/fgF+YAN8fH8BfGACfn4BfGADf35+AX9gAAF8YAN/f38Bf2ADf35/AX9gBn5+fn5+fwBgBX5+fn5/AX9gBX5+fn5/AGAEfn5/fgF+YAR+f39+AX5gBn5+fn5/fgF+YAV+f35+fwBgA35/fgF8YAZ+f39/fn4Bf2ACfn8BfGAEfn5/fgBgBX5+fn5+AX5gAnx+AX9gAnx+AXxgAnx/AXxgAX8BfmAHfn5+fn5+fgF/YAJ+fABgA39+fgF+YAN/fn4AYAR/fn5+AX5gBX9+fn5+AX5gBX9+fn5+AX9gAn9/AGAEf35+fwF+YAd/fnx/f39/AX8CrAYfA2VudgppbnZva2VfdmpqAAcDZW52CHN0cmZ0aW1lAAoDZW52BGV4aXQAIANlbnYaX19hc3luY2pzX193ZWF2ZWRyaXZlX29wZW4ACANlbnYaX19hc3luY2pzX193ZWF2ZWRyaXZlX3JlYWQANgNlbnYbX19hc3luY2pzX193ZWF2ZWRyaXZlX2Nsb3NlABsDZW52EV9fc3lzY2FsbF9mY250bDY0ACkDZW52D19fc3lzY2FsbF9pb2N0bAApFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAGxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3JlYWQAIRZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX3dyaXRlACEDZW52CV9hYm9ydF9qcwAVA2VudhVfZW1zY3JpcHRlbl9tZW1jcHlfanMABwNlbnYTZW1zY3JpcHRlbl9kYXRlX25vdwA3A2VudiBfZW1zY3JpcHRlbl9nZXRfbm93X2lzX21vbm90b25pYwAiA2Vudg5fX3N5c2NhbGxfZHVwMwA4Fndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQACBZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAgWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrABwDZW52Cl9ta3RpbWVfanMACQNlbnYNX2xvY2FsdGltZV9qcwABA2VudgpfZ210aW1lX2pzAAEDZW52El9fc3lzY2FsbF91bmxpbmthdAA5A2Vudg9fX3N5c2NhbGxfcm1kaXIAAANlbnYSX19zeXNjYWxsX3JlbmFtZWF0ABwDZW52El9lbXNjcmlwdGVuX3N5c3RlbQAAA2VudhBfX3N5c2NhbGxfb3BlbmF0ABwDZW52FF9fc3lzY2FsbF9yZWFkbGlua2F0ACEDZW52CV90enNldF9qcwAZA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAADZW52GV9lbXNjcmlwdGVuX3Rocm93X2xvbmdqbXAAFQPfBN0EFRsbKgYBAwMBCA8SEgsLCwQHBgUGIwMGGQMJBgYGABATBjo7PCsAAxEBDQMFCAUADQwABAgBCQUFCQYBBQUHAQEBEAcDBAkFBQgHBQQBEQEJJCMOEz0LPgcGBwUZBz8KBQQDBgYHAQkMLAAtFAQUJRQECAsNAQENDQgBAQgHAQ8sAQcuQCYLBQUEFgUPBAENCAEWASMvAQEmJQENHQQLBAQFFCsPDQ0BARoBBwEMAQ0EFAQEDAwMDAweLQZBEAwQEREREQMBAw0BDggMDggUDAcWFgQBAQQvQgEaHgAMBAYkJAsIFg4eBA4MCAUJFi4qEBQEQxEQBgYABwUBBQMLCAMaAwgMCRANAQcKFwoABQAAAAAADgAAAEQAAAMAAAAOAAAAAAAAAAAAAAAAAAAAAAAZAAsARQsAAAAADwAAAAAAAAAAFAAAAAAAACYeAAAAAAAHAAcEAAAAAAAADwAAAA8ADwAAAAAAAAAAAAAAAQAAAAAAAAAADwAAAAAAAgAMAAAAAAMwAAAAAAAAAAAaAAAxAgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAgATIGAwAJMwADEwMYGB9GNB8DECIXGBgAAAAGAB8LAAQnRw8JAwoACQAYGBALHwABBUgxMycCExERCAZJCQsGBgYAGR0SCTU0BRUnGkoHADAGJSgBAwwJCQUJARIdAgsSBARLBAQdEhISNQUJFxUXFxdMTTJOTxxQUVJTBRUFFSIEBwFwAcwBzAEFBgEFwAiAQAYiBn4BQrD2liALfwFBAAt+AUIAC34BQgALfwFBAAt+AUIACwfaBCAGbWVtb3J5AgARX193YXNtX2NhbGxfY3RvcnMAHwZoYW5kbGUA+AMZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEABGZyZWUA1AQGZmZsdXNoAJMEBG1haW4A/QMGbWFsbG9jAIEEBHNicmsA0gQIc2V0VGhyZXcA3AQVZW1zY3JpcHRlbl9zdGFja19pbml0AOkEGWVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2ZyZWUA6gQZZW1zY3JpcHRlbl9zdGFja19nZXRfYmFzZQDrBBhlbXNjcmlwdGVuX3N0YWNrX2dldF9lbmQA7AQZX2Vtc2NyaXB0ZW5fc3RhY2tfcmVzdG9yZQDmBBdfZW1zY3JpcHRlbl9zdGFja19hbGxvYwDnBBxlbXNjcmlwdGVuX3N0YWNrX2dldF9jdXJyZW50AOgEC2R5bkNhbGxfampqAO0EC2R5bkNhbGxfdmpqAO4ECmR5bkNhbGxfaWoA7wQMZHluQ2FsbF9qampqAPAEDWR5bkNhbGxfampqamoA8QQMZHluQ2FsbF9pamlqAPIEDWR5bkNhbGxfaWpqamoA8wQKZHluQ2FsbF92aQD0BAxkeW5DYWxsX2pqamkA9QQPZHluQ2FsbF9pamRpaWlpAPYEFWFzeW5jaWZ5X3N0YXJ0X3Vud2luZAD3BBRhc3luY2lmeV9zdG9wX3Vud2luZAD4BBVhc3luY2lmeV9zdGFydF9yZXdpbmQA+QQUYXN5bmNpZnlfc3RvcF9yZXdpbmQA+gQSYXN5bmNpZnlfZ2V0X3N0YXRlAPsECZoDAQBBAQvLAVlabMYBxwHJAc0B+AGXAp8C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DkHFAEZyBEAgBCAIIAUgAhB+IQZBxQAjBEEBRg0LGiAGIQULIwRFBEAgAyACNwMQIAMgBTcDACADKQMIIgRCAXwhAgsLAn8jBEUEQCADIAI3AwggBCAFfCALOgAAIAApA0AiAikDACIDQgF9IQQgAiAENwMAIANCAFIhDAsjBEEBIAwbRQRAIAIiAyACKQMIIgJCAXwiBDcDCCACLQAADAELIwRFIA5BxgBGcgR/IAIQRSENQcYAIwRBAUYNCxogDQUgDAsLIQwjBEUEQCAAIAw2AgBCvTchCCALQTBGIQsLIAsjBEECRnIEQCMERSAOQccARnIEQCAAQubAABBTIQ1BxwAjBEEBRg0LGiANIQsLIAhC3R5CvTcgCxsjBBshCAsDQCMERSAOQcgARnIEQCAAIAgQUyENQcgAIwRBAUYNCxogDSELCyALIwRBAkZyBEAjBEUgDkHJAEZyBEAgAELYxQAQUyENQckAIwRBAUYNDBogDSELCwsjBEUEQCAAKAIAIgusQoEIfCICLQAAQRBxIQwLIAwjBEECRnIEQCMERQRAIAApA0giAykDCCIEQgF8IgIgAykDECIFWCEMCwJAIwRFBEAgDARAIAMpAwAhBQwCCyAFQv//////////P1oiDA0EIAApAzghBCADKQMAIQogBUIBhiECCyMERSAOQcoARnIEQCAEIAogBSACEH4hBkHKACMEQQFGDQ0aIAYhBQsjBEUEQCADIAI3AxAgAyAFNwMAIAMpAwgiBEIBfCECCwsjBEUEQCADIAI3AwggBCAFfCALOgAAIAApA0AiAikDACIDQgF9IQQgAiAENwMAIANCAFIiCwRAIAIiAyACKQMIIgJCAXwiBDcDCCAAIAItAAAiCzYCAAwDCwsjBEUgDkHLAEZyBEAgAhBFIQ1BywAjBEEBRg0MGiANIQsLIwRFBEAgACALNgIADAILCyMERQRAIAApA0giAykDCCIFQgF8IQQgAykDECECIAtBLkYhCwsgCyMEQQJGcgRAIAsgAiAEWiMEGyELAkAjBEUEQCALBEAgAykDACECDAILIAJC//////////8/WiILDQQgACkDOCEFIAMpAwAhCiACQgGGIQQLIwRFIA5BzABGcgRAIAUgCiACIAQQfiEGQcwAIwRBAUYNDRogBiECCyMERQRAIAMgBDcDECADIAI3AwAgAykDCCIFQgF8IQQLCyMERQRAIAMgBDcDCCACIAV8QS46AAAgACkDQCICKQMAIgNCAX0hBCACIAQ3AwAgA0IAUiILBEAgAiIDIAIpAwgiAkIBfCIENwMIIAAgAi0AACILNgIADAMLCyMERSAOQc0ARnIEQCACEEUhDUHNACMEQQFGDQwaIA0hCwsjBEUEQCAAIAs2AgAMAgsLCyALIAIgBFojBBshCwJAIwRFBEAgCwRAIAMpAwAhAgwCCyACQv//////////P1oiCw0CIAApAzghBSADKQMAIQggAkIBhiEECyMERSAOQc4ARnIEQCAFIAggAiAEEH4hBkHOACMEQQFGDQsaIAYhAgsjBEUEQCADIAQ3AxAgAyACNwMAIAMpAwgiBUIBfCEECwsjBEUEQCADIAQ3AwggAiAFfEEAOgAAIAApA0gpAwAhAgsjBEUgDkHPAEZyBEAgAiAHECMhBkHPACMEQQFGDQoaIAYhAgsjBEUEQCACQgBSIgsEQCAHKAIIIQsgASAHKwMAOQMAIAdCEHwiACQAQaMCQaICIAtBE0YbIQsMAwsLIwRFIA5B0ABGcgRAIABCuhxBogIQSUHQACMEQQFGDQoaCyMERQRAAAsLIwRFIA5B0QBGcgRAIABCyChBABBJQdEAIwRBAUYNCRoLIwRFBEAACwsjBEUNAQsjBEUEQCAQrEKBCHwiAi0AAEEBcSELCyALIwRBAkZyBEADQCMERQRAIAApA0giAikDCCIDQgF8IQUgBSACKQMQIgRYIQsLAkAjBEUEQCALBEAgAikDACEEDAILIARC//////////8/WiILDQkgACkDOCEFIAIpAwAhByAEQgGGIQMLIwRFIA5B0gBGcgRAIAUgByAEIAMQfiEGQdIAIwRBAUYNChogBiEECyMERQRAIAIgAzcDECACIAQ3AwAgAikDCCIDQgF8IQULCwJ/IwRFBEAgAiAFNwMIIAMgBHwgEDoAACAAKQNAIgIpAwAiA0IBfSEEIAIgBDcDACADQgBSIQsLIwRBASALG0UEQCACIgMgAikDCCICQgF8IgQ3AwggAi0AAAwBCyMERSAOQdMARnIEfyACEEUhDUHTACMEQQFGDQoaIA0FIBALCyEQIwRFBEAgACAQNgIAIBCsQoEIfCICLQAAQQNxIgsNAQsLIwRFBEAgACkDSCIDKQMAIQQgAykDCCEDIAApAzghAgsjBEUgDkHUAEZyBEAgAiAEIAMQgQEhBkHUACMEQQFGDQgaIAYhAwsjBEUEQCACIAIpAxAiBEIQfCIFNwMQIAQgAzcDACAEIAMtAAhBwAByIgs2AgggAikDEEIQfSEEIAApA1AhAAsjBEUgDkHVAEZyBEAgAiAAIAQQOCEGQdUAIwRBAUYNCBogBiEACyMERQRAIAAoAghFIQsLAkAgCyMEQQJGcgRAIwRFBEAgAEEBNgIIIABBATYCACACKQMYKQMYIgBCAFciCw0CCyMERSAOQdYARnIEQCACEGpB1gAjBEEBRg0KGgsjBEUNAQsjBEUEQCAAKQMQIQMLCyMERQRAIAIgAikDEEIQfSIANwMQIAEgAzcDAEGkAiELIAMtAAhBBEciDA0CIAMtAAoiDEUiEA0CIAxBgAJyIQsMAgsLAn8jBEUEQCAAKQNAIgEpAwAiAkIBfSEDIAEgAzcDACAAIQMgAkIAUiELCyMEQQEgCxtFBEAgASABKQMIIgBCAXw3AwggAC0AAAwBCyMERSAOQdcARnIEfyABEEUhDUHXACMEQQFGDQgaIA0FIAsLCyELIwRFBEAgAyALNgIAIBAhCwsLIwRFBEAgCUIQfCQAIAsPCwsjBEUgDkHYAEZyBEAgAEIAIAsQT0HYACMEQQFGDQUaCyMERQRAIAApA0giAkIANwMIDAILCwsjBEUNAQsjBEECRiAMIAtBf0cjBBtyBEAjBEUgDkHZAEZyBEAgACALEFJB2QAjBEEBRg0DGgsCfyMERQRAIAApA0AiASkDACICQgF9IQMgASADNwMAIAJCAFIhCwsjBEEBIAsbRQRAIAEiAikDCCIBQgF8IQMgAiADNwMIIAEtAAAMAQsjBEUgDkHaAEZyBH8gARBFIQ1B2gAjBEEBRg0EGiANBSALCwshCyMERQRAIAAgCzYCAAsLIwRFIA5B2wBGcgRAIABClTdBpQIQSUHbACMEQQFGDQIaCyMERQRAAAsLIwRFIA5B3ABGcgRAIABCyChBABBJQdwAIwRBAUYNARoLIwRFBEAACwALIQ0jBSkDACANNgIAIwUjBSkDAEIEfDcDACMFKQMAIgYgADcCACAGIAE3AgggBiACNwIQIAYgCzYCGCAGIAM3AhwgBiAENwIkIAYgDDYCLCAGIAU3AjAgBiAHNwI4IAYgDzYCQCAGIBA2AkQgBiAINwJIIAYgETYCUCAGIAk3AlQgBiAKNwJcIAYgEjYCZCMFIwUpAwBC6AB8NwMAQQALmQQCBX8DfiMEQQJGBEAjBSMFKQMAQhx9NwMAIwUpAwAiBykCACEAIAcpAgwhBiAHKAIUIQMgBygCGCEFIAcoAgghAQsCfyMEQQJGBEAjBSMFKQMAQgR9NwMAIwUpAwAoAgAhBAsCfyMERQRAIAAoAgAhBSAAKQNAIgYpAwAiCEIBfSEHIAYgBzcDACAIQgBSIQELIwRBASABG0UEQCAGIAYpAwgiBkIBfDcDCCAGLQAADAELIwRFIARFcgR/IAYQRSECQQAjBEEBRg0CGiACBSABCwshASMERQRAIAAgATYCACABQQprIQMLAkACfyMERQRAAkAgAw4EAAMDAAMLIAEgBUYiAQ0CIAApA0AiBikDACIIQgF9IQcgBiAHNwMAIAhCAFIhAQsjBEEBIAEbRQRAIAYgBikDCCIGQgF8NwMIIAYtAAAMAQsjBEUgBEEBRnIEfyAGEEUhAkEBIwRBAUYNAxogAgUgAQsLIQEjBEUEQCAAIAE2AgALCyMEBH8gAQUgACAAKAIEQQFqIgE2AgQgAUH/////B0YLIwRBAkZyBEAjBEUgBEECRnIEQCAAQsAXQQAQSUECIwRBAUYNAhoLIwRFBEAACwsPCyECIwUpAwAgAjYCACMFIwUpAwBCBHw3AwAjBSkDACIHIAA3AgAgByABNgIIIAcgBjcCDCAHIAM2AhQgByAFNgIYIwUjBSkDAEIcfDcDAAviBwIGfgV/IwRBAkYEQCMFIwUpAwBCPH03AwAjBSkDACIDKQIAIQAgAykCCCEBIAMoAhghByADKQIcIQQgAykCJCEFIAMpAiwhBiADKAI0IQsgAygCOCEJIAMpAhAhAgsCfyMEQQJGBEAjBSMFKQMAQgR9NwMAIwUpAwAoAgAhCAsjBEUEQCAAKQNIIgEpAwgiBEIBfCEFIAAoAgAhCyAFIAEpAxAiAlghBwsCQAJAAkAjBEUEQCAHBEAgASkDACECDAILIAJC//////////8/WiIHDQIgACkDOCEFIAEpAwAhBiACQgGGIQQLIwRFIAhFcgRAIAUgBiACIAQQfiEDQQAjBEEBRg0EGiADIQILIwRFBEAgASAENwMQIAEgAjcDACABKQMIIgRCAXwhBQsLAn8jBEUEQCABIAU3AwggAiAEfCALOgAAIAApA0AiASkDACICQgF9IQQgASAENwMAIAJCAFIhBwsjBEEBIAcbRQRAIAEiAiABKQMIIgFCAXwiBDcDCCABLQAADAELIwRFIAhBAUZyBH8gARBFIQpBASMEQQFGDQQaIAoFIAcLCyEHIwQEfyAJBSAAIAc2AgAgB0E9RgsjBEECRnIEQANAIwRFBEAgACkDSCIBKQMIIgRCAXwhBSAFIAEpAxAiAlghBwsCQCMERQRAIAcEQCABKQMAIQIMAgsgAkL//////////z9aIgcNBSAAKQM4IQUgASkDACEGIAJCAYYhBAsjBEUgCEECRnIEQCAFIAYgAiAEEH4hA0ECIwRBAUYNBhogAyECCyMERQRAIAEgBDcDECABIAI3AwAgASkDCCIEQgF8IQULCwJ/IwRFBEAgASAFNwMIIAIgBHxBPToAACAAKQNAIgEpAwAiAkIBfSEEIAEgBDcDACACQgBSIQcLIwRBASAHG0UEQCABIgIgASkDCCIBQgF8IgQ3AwggAS0AAAwBCyMERSAIQQNGcgR/IAEQRSEKQQMjBEEBRg0GGiAKBSAHCwshByMERQRAIAAgBzYCACAJQQFqIQkgB0E9Rg0BCwsLIwRFBEAgCUF/QQAgByALRxtzDwsLIwRFIAhBBEZyBEAgAELIKEEAEElBBCMEQQFGDQIaCyMERQRAAAsLIwRFIAhBBUZyBEAgAELIKEEAEElBBSMEQQFGDQEaCyMERQRAAAsACyEKIwUpAwAgCjYCACMFIwUpAwBCBHw3AwAjBSkDACIDIAA3AgAgAyABNwIIIAMgAjcCECADIAc2AhggAyAENwIcIAMgBTcCJCADIAY3AiwgAyALNgI0IAMgCTYCOCMFIwUpAwBCPHw3AwBBAAvzEQIHfgV/IwRBAkYEQCMFIwUpAwBC0AB9NwMAIwUpAwAiBikCACEAIAYoAhAhAiAGKQIUIQMgBikCHCEEIAYpAiQhBSAGKAIsIQogBikCMCEHIAYoAjghDCAGKQI8IQggBigCRCEOIAYpAkghCSAGKQIIIQELAn8jBEECRgRAIwUjBSkDAEIEfTcDACMFKQMAKAIAIQsLIwRFBEAjAEIQfSIJJAAgACkDSCIFKQMIIgNCAXwhByAHIAUpAxAiBFghDCAAKAIEIQ4gACgCACEKCwJAAkAjBEUEQCAMBEAgBSkDACEEDAILIARC//////////8/WiIMDQIgACkDOCEHIAUpAwAhCCAEQgGGIQMLIwRFIAtFcgRAIAcgCCAEIAMQfiEGQQAjBEEBRg0DGiAGIQQLIwRFBEAgBSADNwMQIAUgBDcDACAFKQMIIgNCAXwhBwsLAn8jBEUEQCAFIAc3AwggAyAEfCAKOgAAIAApA0AiAykDACIEQgF9IQUgAyAFNwMAIARCAFIhCgsjBEEBIAobRQRAIAMiBCADKQMIIgNCAXwiBTcDCCADLQAADAELIwRFIAtBAUZyBH8gAxBFIQ1BASMEQQFGDQMaIA0FIAoLCyEKIwRFBEAgACAKNgIAIApBCmshCgsCQCMERQRAAkAgCg4EAAICAAILCyMERSALQQJGcgRAIAAQTUECIwRBAUYNAxoLCwNAIwRFBEAgACgCACIKQQFqIQwLAkACQAJAAkAjBEUEQAJAIAwODwAEBAQEBAQEBAQEAgQEAgMLIAApAzghAyAJIA42AgggCUK/EUKkKyABUCICGyIBNwMACyMERSALQQNGcgRAIANC8ckAIAkQJiEGQQMjBEEBRg0HGiAGIQELIwRFIAtBBEZyBEAgACABQaECEElBBCMEQQFGDQcaCyMERQRAAAsLIwRFBEAgACkDSCIFKQMIIgNCAXwhByAHIAUpAxAiBFghCgsCQCMERQRAIAoEQCAFKQMAIQQMAgsgBEL//////////z9aIgoNBiAAKQM4IQcgBSkDACEIIARCAYYhAwsjBEUgC0EFRnIEQCAHIAggBCADEH4hBkEFIwRBAUYNBxogBiEECyMERQRAIAUgAzcDECAFIAQ3AwAgBSkDCCIDQgF8IQcLCyMERQRAIAUgBzcDCCADIAR8IgNBCjoAAAsjBEUgC0EGRnIEQCAAEE1BBiMEQQFGDQYaCyMERQRAIAFCAFIiCg0EIAApA0giA0IANwMIDAQLCyMERQRAIApB3QBGIgwNAgsLIAwgAUIAUiMEGyIMIwRBAkZyBEAjBEUEQCAAKQNIIgUpAwgiB0IBfCEEIAQgBSkDECIDWCEMCwJAIwRFBEAgDARAIAUpAwAhAwwCCyADQv//////////P1oiDA0FIAApAzghByAFKQMAIQggA0IBhiEECyMERSALQQdGcgRAIAcgCCADIAQQfiEGQQcjBEEBRg0GGiAGIQMLIwRFBEAgBSAENwMQIAUgAzcDACAFKQMIIgdCAXwhBAsLIwRFBEAgBSAENwMIIAMgB3wgCjoAACAAKQNAIgMpAwAiBEIBfSEFIAMgBTcDACAEQgBSIgoEQCADIgQgAykDCCIDQgF8IgU3AwggACADLQAAIgo2AgAMBAsLIwRFIAtBCEZyBEAgAxBFIQ1BCCMEQQFGDQUaIA0hCgsjBEUEQCAAIAo2AgAMAwsLIwRFBEAgACkDQCIDKQMAIgRCAX0hBSADIAU3AwAgBEIAUiIKBEAgAyIEIAMpAwgiA0IBfCIFNwMIIAAgAy0AACIKNgIADAMLCyMERSALQQlGcgRAIAMQRSENQQkjBEEBRg0EGiANIQoLIwRFBEAgACAKNgIADAILCyMERSALQQpGcgRAIAAQTiENQQojBEEBRg0DGiANIQoLIwRFBEAgAiAKRyIKDQELCyMERQRAIAApA0giBSkDCCIDQgF8IQcgByAFKQMQIgRYIQ4gACgCACEKCwJAAkAjBEUEQCAOBEAgBSkDACEEDAILIARC//////////8/Wg0CIAApAzghByAFKQMAIQggBEIBhiEDCyMERSALQQtGcgRAIAcgCCAEIAMQfiEGQQsjBEEBRg0EGiAGIQQLIwRFBEAgBSADNwMQIAUgBDcDACAFKQMIIgNCAXwhBwsLAn8jBEUEQCAFIAc3AwggAyAEfCAKOgAAIAApA0AiAykDACIEQgF9IQUgAyAFNwMAIARCAFIhCgsjBEEBIAobRQRAIAMiBCADKQMIIgNCAXwiBTcDCCADLQAADAELIwRFIAtBDEZyBH8gAxBFIQ1BDCMEQQFGDQQaIA0FIAoLCyEKIwQEfyAKBSAAIAo2AgAgAUIAUgsjBEECRnIEQCMERQRAIAApA0giAykDACACQQJqIgKtfCEFIAMpAwggAkEBdCICrX0hAyAAKQM4IQQLIwRFIAtBDUZyBEAgBCAFIAMQgQEhBkENIwRBAUYNBBogBiEDCyMERQRAIAQgBCkDECIHQhB8NwMQIAcgAzcDACAHIAMtAAhBwAByIgI2AgggBCkDEEIQfSEFIAApA1AhAAsjBEUgC0EORnIEQCAEIAAgBRA4IQZBDiMEQQFGDQQaIAYhAAsCQCMEBH8gAgUgACgCCEULIwRBAkZyBEAjBEUEQCAAQQE2AgggAEEBNgIAIAQpAxgpAxgiAEIAVw0CCyMERSALQQ9GcgRAIAQQakEPIwRBAUYNBhoLIwRFDQELIwRFBEAgACkDECEDCwsjBEUEQCAEIAQpAxBCEH0iADcDECABIAM3AwALCyMERQRAIAlCEHwkAA8LCwsjBEUgC0EQRnIEQCAAQsgoQQAQSUEQIwRBAUYNARoLIwRFBEAACw8LIQ0jBSkDACANNgIAIwUjBSkDAEIEfDcDACMFKQMAIgYgADcCACAGIAE3AgggBiACNgIQIAYgAzcCFCAGIAQ3AhwgBiAFNwIkIAYgCjYCLCAGIAc3AjAgBiAMNgI4IAYgCDcCPCAGIA42AkQgBiAJNwJIIwUjBSkDAELQAHw3AwAL4wICA34CfyMEQQJGBEAjBSMFKQMAQhh9NwMAIwUpAwAiAikCACEAIAIpAgwhAyACKAIUIQYgAigCCCEBCwJ/IwRBAkYEQCMFIwUpAwBCBH03AwAjBSkDACgCACEFCyMERQRAIAAoAgAgAUYhAQtBACAGIAEjBBsiBiMEQQJGcgR/An8jBEUEQCAAKQNAIgMpAwAiAkIBfSEEIAMgBDcDACACQgBSIQELIwRBASABG0UEQCADIAMpAwgiA0IBfDcDCCADLQAADAELIwRFIAVFcgR/IAMQRSEFQQAjBEEBRg0DGiAFBSABCwshASMEBH8gAQUgACABNgIAQQELBSABCyMERSAGRSMEQQJGcnEbIQEjBEUEQCABDwsACyEFIwUpAwAgBTYCACMFIwUpAwBCBHw3AwAjBSkDACICIAA3AgAgAiABNgIIIAIgAzcCDCACIAY2AhQjBSMFKQMAQhh8NwMAQQALzQYCBn4EfyMEQQJGBEAjBSMFKQMAQjh9NwMAIwUpAwAiAikCACEAIAIpAgghASACKQIUIQQgAikCHCEDIAIoAiQhCCACKQIoIQUgAikCMCEGIAIoAhAhBwsCfyMEQQJGBEAjBSMFKQMAQgR9NwMAIwUpAwAoAgAhCQsjBEUEQCAAKQNIIgEpAwgiBUIBfCEEIAQgASkDECIDWCEIIAAoAgAhBwsCQAJAIwRFBEAgCARAIAEpAwAhAwwCCyADQv//////////P1oiCA0CIAApAzghBiADQgGGIQUgASkDACEECyMERSAJRXIEQCAGIAQgAyAFEH4hAkEAIwRBAUYNAxogAiEDCyMERQRAIAEgBTcDECABIAM3AwAgASkDCCIFQgF8IQQLCwJ/IwRFBEAgASAENwMIIAMgBXwgBzoAACAAKQNAIgEpAwAiA0IBfSEEIAEgBDcDACADQgBSIQcLIwRBASAHG0UEQCABIAEpAwgiAUIBfDcDCCABLQAADAELIwRFIAlBAUZyBH8gARBFIQpBASMEQQFGDQMaIAoFIAcLCyEHIwRFBEAgACAHNgIAIAesQoEIfCIBLQAAQRBxRSEICyAIIwRBAkZyBEAjBEECRiAIIAdBf0cjBBtyBEAjBEUgCUECRnIEQCAAIAcQUkECIwRBAUYNBBoLAn8jBEUEQCAAKQNAIgEpAwAiA0IBfSEEIAEgBDcDACADQgBSIQcLIwRBASAHG0UEQCABIAEpAwgiAUIBfDcDCCABLQAADAELIwRFIAlBA0ZyBH8gARBFIQpBAyMEQQFGDQUaIAoFIAcLCyEHIwRFBEAgACAHNgIACwsjBEUgCUEERnIEQCAAQu44QaUCEElBBCMEQQFGDQMaCyMERQRAAAsLIwRFBEAgB0EwayAHQSByQdcAayAHrEKBCHwtAABBAnEbDwsLIwRFIAlBBUZyBEAgAELIKEEAEElBBSMEQQFGDQEaCyMERQRAAAsACyEKIwUpAwAgCjYCACMFIwUpAwBCBHw3AwAjBSkDACICIAA3AgAgAiABNwIIIAIgBzYCECACIAQ3AhQgAiADNwIcIAIgCDYCJCACIAU3AiggAiAGNwIwIwUjBSkDAEI4fDcDAEEAC6cDAgV+An8jBEECRgRAIwUjBSkDAEIsfTcDACMFKQMAIgIpAgAhACACKQIMIQMgAikCFCEEIAIpAhwhBSACKQIkIQYgAigCCCEBCwJ/IwRBAkYEQCMFIwUpAwBCBH03AwAjBSkDACgCACEHCyMERQRAIAApA0giAykDCCIGQgF8IQQgBCADKQMQIgVYIQgLAkACQCMERQRAIAgEQCADKQMAIQAMAgsgBUL//////////z9aDQIgACkDOCEGIAMpAwAhBCAFIgBCAYYhBQsjBEUgB0VyBEAgBiAEIAAgBRB+IQJBACMEQQFGDQMaIAIhAAsjBEUEQCADIAU3AxAgAyAANwMAIAMpAwgiBkIBfCEECwsjBEUEQCADIAQ3AwggACAGfCABOgAADwsLIwRFIAdBAUZyBEAgAELIKEEAEElBASMEQQFGDQEaCyMERQRAAAsPCyEHIwUpAwAgBzYCACMFIwUpAwBCBHw3AwAjBSkDACICIAA3AgAgAiABNgIIIAIgAzcCDCACIAQ3AhQgAiAFNwIcIAIgBjcCJCMFIwUpAwBCLHw3AwAL8AQCBX4EfyMEQQJGBEAjBSMFKQMAQjh9NwMAIwUpAwAiAikCACEAIAIoAhAhByACKQIUIQMgAikCHCEEIAIoAiQhCCACKQIoIQUgAikCMCEGIAIpAgghAQsCfyMEQQJGBEAjBSMFKQMAQgR9NwMAIwUpAwAoAgAhCQsjBEUEQCAAKAIAIgggASwAAEchBwsCQAJ/IwRFBEAgBwRAQQAgCCABLAABRw0CGgsgACkDSCIBKQMIIgRCAXwhBSAFIAEpAxAiA1ghBwsCQCMERQRAIAcEQCABKQMAIQMMAgsgA0L//////////z9aIgcNAyAAKQM4IQUgASkDACEGIANCAYYhBAsjBEUgCUVyBEAgBSAGIAMgBBB+IQJBACMEQQFGDQQaIAIhAwsjBEUEQCABIAQ3AxAgASADNwMAIAEpAwgiBEIBfCEFCwsCfyMERQRAIAEgBTcDCCADIAR8IAg6AAAgACkDQCIBKQMAIgNCAX0hBCABIAQ3AwAgA0IAUiEICyMEQQEgCBtFBEAgASABKQMIIgFCAXw3AwggAS0AAAwBCyMERSAJQQFGcgR/IAEQRSEKQQEjBEEBRg0EGiAKBSAICwshCCMEBH8gBwUgACAINgIAQQELCyEHIwRFBEAgBw8LCyMERSAJQQJGcgRAIABCyChBABBJQQIjBEEBRg0BGgsjBEUEQAALAAshCiMFKQMAIAo2AgAjBSMFKQMAQgR8NwMAIwUpAwAiAiAANwIAIAIgATcCCCACIAc2AhAgAiADNwIUIAIgBDcCHCACIAg2AiQgAiAFNwIoIAIgBjcCMCMFIwUpAwBCOHw3AwBBAAs+AgJ+AX8jBCEEIAAgACkDGCAAKQMQfCICQv///////////wB9IgMgASABIANTGyIBNwMYIAAgAiABfTcDEAvgAQICfgF/IwRBAkYEQCMFIwUpAwBCEH03AwAjBSkDACICKQIAIQAgAikCCCEBCwJ/IwRFIwRBAkYEfyMFIwUpAwBCBH03AwAjBSkDACgCAAUgAwtFcgRAIABCAEIAQsgAEH4hAkEAIwRBAUYNARogAiEBCyMERQRAIAApAyAiAiABNwMYIAFCADcDGCABIAI3AxAgACAALwEKQQFqOwEKIAEPCwALIQMjBSkDACADNgIAIwUjBSkDAEIEfDcDACMFKQMAIgIgADcCACACIAE3AggjBSMFKQMAQhB8NwMAQgALjQICA34CfyMEQQJGBEAjBSMFKQMAQhh9NwMAIwUpAwAiASkCACEAIAEpAgghAiABKQIQIQELAn8jBEECRgRAIwUjBSkDAEIEfTcDACMFKQMAKAIAIQQLIwQEfyAFBSAAKQMgIgIpAxghASACQgA3AxggAUIAUgsjBEECRnIEQANAIwRFBEAgASkDGCECCyMERSAERXIEQCAAIAFCyABCABB+GkEAIwRBAUYNAxoLIwRFBEAgACAALwEKQQFrOwEKIAIiAUIAUg0BCwsLDwshBSMFKQMAIAU2AgAjBSMFKQMAQgR8NwMAIwUpAwAiAyAANwIAIAMgAjcCCCADIAE3AhAjBSMFKQMAQhh8NwMAC74CAgV+AX8jBEECRgRAIwUjBSkDAEIofTcDACMFKQMAIgEpAgAhACABKQIIIQIgASkCGCEEIAEpAiAhBSABKQIQIQMLAn8jBEECRgRAIwUjBSkDAEIEfTcDACMFKQMAKAIAIQYLAkAjBEUEQCAAKQMgIgMpAxgiBFANASADQhh8IQULA0AjBEUEQCAEKQMYIgJQDQILIwRFIAZFcgRAIAAgBELIAEIAEH4aQQAjBEEBRg0DGgsjBEUEQCAAIAAvAQpBAWs7AQogBSACNwMAIAIgAzcDECACQhh8IQUgAiEDIAIpAxgiBEIAUg0BCwsLDwshBiMFKQMAIAY2AgAjBSMFKQMAQgR8NwMAIwUpAwAiASAANwIAIAEgAjcCCCABIAM3AhAgASAENwIYIAEgBTcCICMFIwUpAwBCKHw3AwALvwcCBH4CfyMEQQJGBEAjBSMFKQMAQiB9NwMAIwUpAwAiAikCACEAIAIpAhAhAyACKQIYIQQgAikCCCEBCwJ/IwRBAkYEQCMFIwUpAwBCBH03AwAjBSkDACgCACEGCyMEBH8gBQUgACkDGCIDKQMYIgFCAFULIwRBAkZyQQAjBEUgBkVyGwRAIAAQakEAIwRBAUYNARoLIwRFIAZBAUZyBEAgAEIAQghC2AEQfiECQQEjBEEBRg0BGiACIQELIwRFBEAgAy0AVCEFIAFBCDoAECABIAVBA3E6ABEgASADKQNYNwMIIAMgAUIIfCIENwNYIAApAxAiAkHIADYCCCACIAQ3AwAgACAAKQMQQhB8NwMQIAFCADcDQCABIAM3AyAgAUIANwMoIAFBADsBEiABQgA3A2AgASAENwNYIAFCADcDsAEgAUEBOgDUASABQgA3A8ABIAFCATcCzAEgAUIANwNIIAFCADcDuAEgAUEAOgAUIAEgACgCyAE2AtABIAEgACgCvAEiBTYCxAEgACkDqAEhAiABIAU2AsgBIAEgAjcDsAEgASADKQPIAUIIfSkAADcAAAsjBEUgBkECRnIEQCAAQgBCAEKABRB+IQJBAiMEQQFGDQEaIAIhAAsjBEUEQCABQSg2AsABIAEgADcDQCAAQQA2AvgEIABBADYC6AQgAEEANgLYBCAAQQA2AsgEIABBADYCuAQgAEEANgKoBCAAQQA2ApgEIABBADYCiAQgAEEANgL4AyAAQQA2AugDIABBADYC2AMgAEEANgLIAyAAQQA2ArgDIABBADYCqAMgAEEANgKYAyAAQQA2AogDIABBADYC+AIgAEEANgLoAiAAQQA2AtgCIABBADYCyAIgAEEANgK4AiAAQQA2AqgCIABBADYCmAIgAEEANgKIAiAAQQA2AvgBIABBADYC6AEgAEEANgLYASAAQQA2AsgBIABBADYCuAEgAEEANgKoASAAQQA2ApgBIABBADYCiAEgAEEANgJ4IABBADYCaCAAQQA2AlggAEEANgJIIABBADYCOCAAQQA2AiggAEEANgIYIAFBADsBqgEgASAAQrAEfDcDOCABQgA3A3ggAUIANwOAASABIAA3A2ggASAAQhB8NwMYIABBADYCCCABIAFC6AB8NwMoIAEgAELQAnw3A3AgBA8LAAshBSMFKQMAIAU2AgAjBSMFKQMAQgR8NwMAIwUpAwAiAiAANwIAIAIgATcCCCACIAM3AhAgAiAENwIYIwUjBSkDAEIgfDcDAEIAC4YGAgR+A38jBEECRgRAIwUjBSkDAEIsfTcDACMFKQMAIgMpAgAhACADKQIIIQEgAykCECECIAMoAhghBiADKQIcIQQgAykCJCEDCwJ/IwRBAkYEQCMFIwUpAwBCBH03AwAjBSkDACgCACEHCyMERQRAIwAiAkIwfSIEJAAgAKchBgsjBEUgB0VyBEAgAUIAQghCkAwgBhEKACEFQQAjBEEBRg0BGiAFIQILIAYgAlAjBBshBgJAIwRFBEAgBg0BIAJBAToArAIgAkIANwMIIAJCADcDQCACQgA3AyggAkEANgLAASACQYgCNgIQIAJCADcDYCACQgA3A7ABIAJBAToA1AEgAkIANwLEASACQgE3AswBIAJCADcDSCACQQA6ABQgAkIANwO4ASACIAA3A9gBIAIgATcD4AEgAiACQtgBfDcDICACIAJCCHwiADcDWCACIAA3A6ADEJAEIQEgBEIBNwMoIARCiAo3AyAgBCAANwMQIAQgAaciBjYCDCAEIARCDHw3AxhCICEBIAZBIHMhBiAEQg98IQUDQCABIAV8LQAAIAZBBXQgBkECdmpqIAZzIQYgAUICfSIBQgFWDQALIAJBADoArwIgAiAGNgKoAiACQgA3A6gDIAJCADcDmAMgAkEANgKgAiACQgA3A4ACIAJCADcDiAIgAkIANwOQAiACQQc7AK0CIAJCsAJ8QQBC2AAQjgQaIAJByAE2ApADIAJCgICAgIAZNwOIAyACQgA3A/ABIAJCkAw3A+gBIAJC+AR8QQBCyAAQjgQaCyMERSAHQQFGcgRAIABCAkIAEL0BIQhBASMEQQFGDQIaIAghBgsjBCAGckUEQCAAIQMMAQsjBEUgB0ECRnIEQCAAEFtBAiMEQQFGDQIaCwsjBEUEQCAEQjB8JAAgAw8LAAshCCMFKQMAIAg2AgAjBSMFKQMAQgR8NwMAIwUpAwAiBSAANwIAIAUgATcCCCAFIAI3AhAgBSAGNgIYIAUgBDcCHCAFIAM3AiQjBSMFKQMAQix8NwMAQgAL6QoCBX4BfyMEQQJGBEAjBSMFKQMAQjB9NwMAIwUpAwAiAykCACEAIAMpAhAhAiADKQIYIQQgAykCICEFIAMpAighBiADKQIIIQELAn8jBEECRgRAIwUjBSkDAEIEfTcDACMFKQMAKAIAIQcLIwRFBEAjACIBQhB9IgUkACAAKQMYIQYLIwRFIAdFcgRAIABCAEIAQoAFEH4hA0EAIwRBAUYNARogAyEBCyMERQRAIABBKDYCuAEgACABNwM4IAFBADYC+AQgAUEANgLoBCABQQA2AtgEIAFBADYCyAQgAUEANgK4BCABQQA2AqgEIAFBADYCmAQgAUEANgKIBCABQQA2AvgDIAFBADYC6AMgAUEANgLYAyABQQA2AsgDIAFBADYCuAMgAUEANgKoAyABQQA2ApgDIAFBADYCiAMgAUEANgL4AiABQQA2AugCIAFBADYC2AIgAUEANgLIAiABQQA2ArgCIAFBADYCqAIgAUEANgKYAiABQQA2AogCIAFBADYC+AEgAUEANgLoASABQQA2AtgBIAFBADYCyAEgAUEANgK4ASABQQA2AqgBIAFBADYCmAEgAUEANgKIASABQQA2AnggAUEANgJoIAFBADYCWCABQQA2AkggAUEANgI4IAFBADYCKCABQQA2AhggAEEAOwGiASAAIAFCsAR8NwMwIABCADcDcCAAQgA3A3ggACABNwNgIAAgAUIQfDcDECABQQA2AgggACAAQuAAfCICNwMgIAAgAULQAnwiATcDaAsjBEUgB0EBRnIEQCAAEDkhA0EBIwRBAUYNARogAyEBCyMERQRAIAZBxQA2AkggBiABNwNACyMERSAHQQJGcgRAIAAgAUECQQAQNEECIwRBAUYNARoLIwRFBEAgBUHIADYCCCAFIAA3AwALIwRFIAdBA0ZyBEAgACABQgEgBRA3QQMjBEEBRg0BGgsjBEUgB0EERnIEQCAAEDkhA0EEIwRBAUYNARogAyECCyMERQRAIAVBxQA2AgggBSACNwMACyMERSAHQQVGcgRAIAAgAUICIAUQN0EFIwRBAUYNARoLIwRFBEAgACkDGCEBCyMERSAHQQZGcgRAIABBgAEQgAFBBiMEQQFGDQEaCyMERSAHQQdGcgRAIABCzwxCERCBASEDQQcjBEEBRg0BGiADIQILIwRFBEAgASACNwPYASAAIAIQYCABQugDfCEDIAEpA9gBIQEDQCADIARCBIZ8IgIgATcDCCACIAE3AwAgBEI0UgRAIAIgATcDGCACIAE3AxAgAiABNwMgIAIgATcDKCACIAE3AzAgAiABNwM4IARCBHwhBAwBCwtCACEBCwNAIwRFBEAgAUIDhiICQuDSAHwpAwAhBAsjBEUgB0EIRnIEQCAAIAQQgwEhA0EIIwRBAUYNAhogAyEECyMERQRAIAApAxggAnwgBDcD4AEgACAAKQMYIgQgAnwpA+ABIgIQYCABQgF8IgFCGFINAQsLIAFCACMEGyEBIwRFIAdBCUZy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gICAgMCAgH9UIAtQG0UEQCADQgBSIApCgICAgICAwP//AH0iDEKAgICAgIDAgIB/ViAMQoCAgICAgMCAgH9RGw0BCyAFIAtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAKQoCAgICAgMD//wBUIApCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIAtCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCkKAgICAgIDA//8AhYRQDQEgASALhFAEQCADIAqEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAqEQgBSDQAgASEDIAIhBAwBCyADIAEgASADVCAKIAtWIAogC1EbIgcbIQsgBCACIAcbIg1C////////P4MhCiACIAQgBxsiDEIwiKdB//8BcSEGIA1CMIinQf//AXEiBUUEQCAJQuAAfCALIAogCyAKIApQIgUbeSAFQQZ0rXynIgVBD2sQ2AQjBCAIRwRAAAsgCSkDaCEKIAkpA2AhC0EQIAVrIQULIAEgAyAHGyEDIAxC////////P4MhASAGBH4gAQUgCULQAHwgAyABIAMgASABUCIGG3kgBkEGdK18pyIGQQ9rENgEIwQgCEcEQAALQRAgBmshBiAJKQNQIQMgCSkDWAtCA4YgA0I9iIRCgICAgICAgASEIQEgCkIDhiALQj2IhCEMIAIgBIUhBAJ+IANCA4YiAiAFIAZGDQAaIAUgBmsiBkH/AEsEQEIAIQFCAQwBCyAJQkB9IAIgAUGAASAGaxDYBCMEIAhHBEAACyAJQjB8IAIgASAGEOEEIwQgCEcEQAALIAkpAzghASAJKQMwIAkpA0AgCSkDSIRCAFKthAshCiAMQoCAgICAgIAEhCEMIAtCA4YhCwJAIARCAFMEQEIAIQNCACEEIAogC4UgASAMhYRQDQIgCyAKfSECIAwgAX0gCiALVq19IgRC/////////wNWDQEgCUIgfCACIAQgAiAEIARQIgYbeSAGQQZ0rXynQQxrIgYQ2AQjBCAIRwRAAAsgBSAGayEFIAkpAyghBCAJKQMgIQIMAQsgCiALfCICIApUrSABIAx8fCIEQoCAgICAgIAIg1ANACAKQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgDUKAgICAgICAgIB/gyEDIAVB//8BTgRAIANCgICAgICAwP//AIQhBEIAIQMMAQtBACEGAkAgBUEASgRAIAUhBgwBCyAJQhB8IAIgBEGAAUEBIAVrIgVrENgEIwQgCEcEQAALIAkgAiAEIAUQ4QQjBCAIRwRAAAsgCSkDACAJKQMQIAkpAxiEQgBSrYQhAiAJKQMIIQQLIARCPYYgAkIDiIQhASAEQgOIQv///////z+DIAatQjCGhCADhCEEAkACQCACp0EHcSIFQQRHBEAgBCABIAEgBUEES618IgNWrXwhBAwBCyAEIAEgASABQgGDfCIDVq18IQQMAQsgBUUNAQsLIAAgAzcDACAAIAQ3AwggCULwAHwkAAtWAgF+AX8jBCEFAkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAvfAQICfwJ+IwQhBUEBIQQCQCAAQgBSIAFC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAJCAFIgA0L///////////8AgyIHQoCAgICAgMD//wBWIAdCgICAgICAwP//AFEbDQAgACAChCAGIAeEhFAEQEEADwsgASADg0IAWQRAQX8hBCAAIAJUIAEgA1MgASADURsNASAAIAKFIAEgA4WEQgBSDwtBfyEEIAAgAlYgASADVSABIANRGw0AIAAgAoUgASADhYRCAFIhBAsgBAvEAQICfwJ+IwQhBEF/IQMCQCAAQgBSIAFC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBRGw0AIAJC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBScQ0AIAAgBSAGhIRQBEBBAA8LIAEgAoNCAFkEQCABIAJSIAEgAlNxDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAgASAChYRCAFIhAwsgAwv/EAIQfgV/IwQhGSMAQtACfSIFJAAgBEL///////8/gyEGIAJC////////P4MhByACIASFQoCAgICAgICA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BCEFAkAgA0HAAHEEQCACIANBQGqtiCEBQgAhAgwBCyADRQ0AIAJBwAAgA2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAuDCwIQfgV/IwQhGSMAQuAAfSIFJAAgBEL///////8/gyEIIAIgBIVCgICAgICAgICAf4MhBiACQv///////z+DIglCIIghCiAEQjCIp0H//wFxIRYCQAJAIAJCMIinQf//AXEiGEH//wFrQYKAfk8EQCAWQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIgdCgICAgICAwP//AFQgB0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEGDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQYgAyEBDAILIAEgB0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQZCACEBDAMLIAZCgICAgICAwP//AIQhBkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIAeEIQJCACEBIAJQBEBCgICAgICA4P//ACEGDAMLIAZCgICAgICAwP//AIQhBgwCCyABIAeEUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyAHQv///////z9YBEAgBULQAHwgASAJIAEgCSAJUCIVG3kgFUEGdK18pyIVQQ9rENgEIwQgGUcEQAALQRAgFWshFSAFKQNYIglCIIghCiAFKQNQIQELIAJC////////P1YNACAFQkB9IAMgCCADIAggCFAiFxt5IBdBBnStfKciF0EPaxDYBCMEIBlHBEAACyAVIBdrQRBqIRUgBSkDSCEIIAUpA0AhAwsgA0IPhiIHQoCA/v8PgyICIAFCIIgiBH4iDCAHQiCIIg8gAUL/////D4MiAX58IgtCIIYiDSABIAJ+fCIHIA1UrSACIAlC/////w+DIgl+IhEgBCAPfnwiDSAIQg+GIg4gA0IxiIRC/////w+DIgMgAX58IhAgCyAMVK1CIIYgC0IgiIR8IgsgAiAKQoCABIQiCH4iEiAJIA9+fCIKIA5CIIhCgICAgAiEIgIgAX58IgwgAyAEfnwiDkIghnwiE3whASAWIBhqIBVqQf//AGshFQJAIAIgBH4i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JAQjBSkDACMFKQMIVgRAAAsLBAAjBAsLse8V4gEAQooICwUICAgICABCoQgLXwwEBAQEBAQEBAQEBAQEBAQWFhYWFhYWFhYWBAQEBAQEBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAUEFRUVFRUVBQUFBQUFBQUFBQUFBQUFBQUFBQUEBAQEAEKhCguhRwECAgMDAwMEBAQEBAQEBAUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICC5wcmV0dHkAaW50ZXJ2YWwgaXMgZW1wdHkAaW5maW5pdHkAZ2V0cmVnaXN0cnkAbm90IGVub3VnaCBtZW1vcnkAbW9uZXRhcnkAYmluYXJ5AGF0dGVtcHQgdG8geWllbGQgYWNyb3NzIGEgQy1jYWxsIGJvdW5kYXJ5AC5zdHJpbmdpZnkALmNyeXB0by51dGlsLmFycmF5AHlkYXkAd2RheQBhQWJCY0NkRGVGZ0doSElqbU1ucHJSU3RUdVVWd1d4WHlZelolfHxFY0VDRXhFWEV5RVlPZE9lT0hPSU9tT01PU091T1VPVk93T1dPeQAuY3J5cHRvLmNpcGhlci5ub3J4ADB4JWxseABwYXR0ZXJuIHRvbyBjb21wbGV4AC5jcnlwdG8udXRpbC5oZXgAX19uZXdpbmRleABfX2luZGV4AGludmFsaWQgdXB2YWx1ZSBpbmRleABtYXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABfX3BvdwBpbnRlZ2VyIG92ZXJmbG93AEMgc3RhY2sgb3ZlcmZsb3cAc3RyaW5nIGxlbmd0aCBvdmVyZmxvdwB0YWJsZSBvdmVyZmxvdwB1bnNpZ25lZCBvdmVyZmxvdwBnZXRlbnYAX19pZGl2AF9fZGl2AGZsblN0dQB0ZXh0AG5leHQAX0lPX291dHB1dABfSU9faW5wdXQAc3Rkb3V0AGJ0ZXN0AGlzZHN0AHNxcnQAc29ydABkYXRhIHN0cmluZyB0b28gc2hvcnQAYXNzZXJ0AGluc2VydAByZXN0YXJ0AC5ib290AF9fYm5vdABjb3VudABTbG50AHByaW50AGNvZGVwb2ludAAuYmludABhYnNlbnQALmFzc2lnbm1lbnQAY29tbWVudABjb25zdGFudAAuZGVmYXVsdABfX2x0AGV4aXQALmNyeXB0by5kaWdlc3QuaW5pdAAuY3J5cHRvLmNpcGhlci5pbml0AC5jcnlwdG8uaW5pdAAuY3J5cHRvLnV0aWwuaW5pdAAuY3J5cHRvLmtkZi5pbml0AC5jcnlwdG8ubWFjLmluaXQALmNyeXB0by51dGlsLmJpdABhcnNoaWZ0AGxzaGlmdAByYXdzZXQAb2Zmc2V0AHJhd2dldABjb2xsZWN0AHNlbGVjdABleHRyYWN0AGJ0AGZsb2F0AHZhcmlhYmxlLWxlbmd0aCBmb3JtYXQAaW52YWxpZCBmb3JtYXQAbmFtZXdoYXQAcmVwZWF0AF9fY29uY2F0AHNpemVfdAAqdABzdGF0dXMALmNyeXB0by5jaXBoZXIubW9ydXMAdG9vIG1hbnkgYXJndW1lbnRzAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMAY29uc3RhbnRzAHRvbyBtYW55IHJlc3VsdHMAdHJ5aW5nIHRvIGFjY2VzcyBub24tZXhpc3RlbnQgYml0cwAucHJvY2VzcwBfX2lwYWlycwBfX3BhaXJzAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gbmVlZHMgdG9vIG1hbnkgcmVnaXN0ZXJzAC5oYW5kbGVycwBzZWFyY2hlcnMAbnVwcwBsYWJlbHMvZ290b3MAc3RyaW5nIGNvbnRhaW5zIHplcm9zAGFjb3MAdG9vIG1hbnkgbmVzdGVkIGZ1bmN0aW9ucwBucGFyYW1zAC51dGlscwAuaGFuZGxlcnMtdXRpbHMAQyBsZXZlbHMAdG9vIG1hbnkgdXB2YWx1ZXMAYXR0ZW1wdCB0byBjb21wYXJlIHR3byAlcyB2YWx1ZXMAdG9vIG1hbnkgY2FwdHVyZXMAY29yZSBhbmQgbGlicmFyeSBoYXZlIGluY29tcGF0aWJsZSBudW1lcmljIHR5cGVzAGFjdGl2ZWxpbmVzAGNodW5rIGhhcyB0b28gbWFueSBsaW5lcwBsb2NhbCB2YXJpYWJsZXMAb3Bjb2RlcwAuY3J5cHRvLmNpcGhlci5hZXMAcG9zaXRpb24gb3V0IG9mIGJvdW5kcwBhYnMAJXMlcwBhdHRlbXB0IHRvICVzIGEgJXMgdmFsdWUlcwBsdWFvcGVuXyVzAEAlcwA+JXMAbW9kdWxlICclcycgbm90IGZvdW5kOiVzACVzIGV4cGVjdGVkLCBnb3QgJXMAJXMgbmVhciAlcwB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpIGluICVzAGF0dGVtcHQgdG8gY29tcGFyZSAlcyB3aXRoICVzAGNhbm5vdCAlcyAlczogJXMAJXM6JWQ6ICVzAGVycm9yIGxvYWRpbmcgbW9kdWxlICclcycgZnJvbSBmaWxlICclcyc6CgklcwBob3VyAGN1cgAuY3J5cHRvLmNpcGhlci5tb2RlLmN0cgBzdGRlcnIAX19ieG9yAGZvciBpdGVyYXRvcgBzeW50YXggZXJyb3IAZmxvb3IAZm9yAF9fYm9yAF9fc2hyAGxvd2VyAGludmFsaWQgbG9uZyBzdHJpbmcgZGVsaW1pdGVyAHVwcGVyAG1heGludGVnZXIAdG9pbnRlZ2VyAG1pbmludGVnZXIAb2JqZWN0IGxlbmd0aCBpcyBub3QgYW4gaW50ZWdlcgBmaWVsZCAnJXMnIGlzIG5vdCBhbiBpbnRlZ2VyAGx1YV9JbnRlZ2VyACVkLWJ5dGUgaW50ZWdlciBkb2VzIG5vdCBmaXQgaW50byBMdWEgSW50ZWdlcgB0b251bWJlcgBtYWxmb3JtZWQgbnVtYmVyACdmb3InIGxpbWl0IG11c3QgYmUgYSBudW1iZXIAJ2Zvcicgc3RlcCBtdXN0IGJlIGEgbnVtYmVyACdmb3InIGluaXRpYWwgdmFsdWUgbXVzdCBiZSBhIG51bWJlcgBsdWFfTnVtYmVyAGNoYXIAeWVhcgBfX2VxAGZyZXhwAGxkZXhwAHN0b3AAJ19fbmV3aW5kZXgnIGNoYWluIHRvbyBsb25nOyBwb3NzaWJsZSBsb29wACdfX2luZGV4JyBjaGFpbiB0b28gbG9uZzsgcG9zc2libGUgbG9vcAA8JXM+IGF0IGxpbmUgJWQgbm90IGluc2lkZSBhIGxvb3AALmR1bXAAc3RlcAByZXAAd3JhcABQcAAlczogJXAAcHJvdG8AZ290bwAvdXNyL2xvY2FsL2xpYi9sdWEvNS4zLz8uc287L3Vzci9sb2NhbC9saWIvbHVhLzUuMy9sb2FkYWxsLnNvOy4vPy5zbwAuY3J5cHRvLnBhZGRpbmcuemVybwBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvAG5vAGlvAGdldGluZm8AZG8ALmFvAHJldHVybgBjaGFycGF0dGVybgBtaXNzaW5nICdbJyBhZnRlciAnJSVmJyBpbiBwYXR0ZXJuAGpzb24AaW52YWxpZCBvcHRpb24ASW5zdHJ1Y3Rpb24AbWFpbiBmdW5jdGlvbgB1bmFibGUgdG8gZHVtcCBnaXZlbiBmdW5jdGlvbgBjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24AZmFpbGVkIHRvIGNhbGwgaGFuZGxlIGZ1bmN0aW9uAG51bWJlciVzIGhhcyBubyBpbnRlZ2VyIHJlcHJlc2VudGF0aW9uAG51bWJlciBoYXMgbm8gaW50ZWdlciByZXByZXNlbnRhdGlvbgB0aW1lIHJlc3VsdCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4gdGhpcyBpbnN0YWxsYXRpb24AZHluYW1pYyBsaWJyYXJpZXMgbm90IGVuYWJsZWQ7IGNoZWNrIHlvdXIgTHVhIGluc3RhbGxhdGlvbgBub3QgZW5vdWdoIG1lbW9yeSBmb3IgYnVmZmVyIGFsbG9jYXRpb24AcGVyZm9ybSBiaXR3aXNlIG9wZXJhdGlvbiBvbgBwZXJmb3JtIGFyaXRobWV0aWMgb24AYXNpbgB1cHZhbHVlam9pbgBtaW4APXN0ZGluAG1haW4AZmxvYXQgZm9ybWF0IG1pc21hdGNoIGluAGVuZGlhbm5lc3MgbWlzbWF0Y2ggaW4AdmVyc2lvbiBtaXNtYXRjaCBpbgAlcyBzaXplIG1pc21hdGNoIGluAHBvcGVuAHJlb3BlbgByYXdsZW4AX19sZW4AdGhlbgBhdGFuAG5hbgBib29sZWFuAGZhaWxlZCB0byBib290IGx1YSBydW50aW1lXG4AdmFsdWUgaGFzIG5vIGxpdGVyYWwgZm9ybQByYW5kb20AX191bm0ALmNyeXB0by51dGlsLnN0cmVhbQBzZXRzdGVwbXVsAF9fbXVsAHVuZXhwZWN0ZWQgc3ltYm9sAGZ1bGwAeHBjYWxsAGlzdGFpbGNhbGwAX19jYWxsAHRhaWwgY2FsbAB1bnRpbAB0YWJsZSBpbmRleCBpcyBuaWwAY2VpbABfX3NobAAuZXZhbAByYXdlcXVhbABub3JtYWwAc2V0bG9jYWwAZ2V0bG9jYWwAZ2xvYmFsAFNsAHNldGhvb2sAZ2V0aG9vawBleHRlcm5hbCBob29rAG1haW4gY2h1bmsAJXM6ICVzIHByZWNvbXBpbGVkIGNodW5rAHNlZWsAY2xvY2sAdG9vIG1hbnkgcmVzdWx0cyB0byB1bnBhY2sAdHJhY2ViYWNrAGJyZWFrAHBpAG1vbnRoAHNlYXJjaHBhdGgAY3BhdGgAbWF0aABmbHVzaABjb3NoAHNpbmgAdGFuaABnbWF0Y2gAZGVidWcAaXN2YXJhcmcAbG9nAGxleGljYWwgZWxlbWVudCB0b28gbG9uZwBjb250cm9sIHN0cnVjdHVyZSB0b28gbG9uZwBzdHJpbmcgc2xpY2UgdG9vIGxvbmcAaW52YWxpZCBvcmRlciBmdW5jdGlvbiBmb3Igc29ydGluZwBfX3Rvc3RyaW5nAGJpbmFyeSBzdHJpbmcAaW52YWxpZCB1c2Ugb2YgJyVjJyBpbiByZXBsYWNlbWVudCBzdHJpbmcAZmluYWwgcG9zaXRpb24gb3V0IG9mIHN0cmluZwBpbml0aWFsIHBvc2l0aW9uIG91dCBvZiBzdHJpbmcAdW5maW5pc2hlZCBzdHJpbmcAcmVhZGVyIGZ1bmN0aW9uIG11c3QgcmV0dXJuIGEgc3RyaW5nACdfX3Rvc3RyaW5nJyBtdXN0IHJldHVybiBhIHN0cmluZwAncGFja2FnZS4lcycgbXVzdCBiZSBhIHN0cmluZwBpc3J1bm5pbmcAZXJyb3IgaW4gZXJyb3IgaGFuZGxpbmcAY29uZmlnAGFycmF5IHRvbyBiaWcAbWVtb3J5IGFsbG9jYXRpb24gZXJyb3I6IGJsb2NrIHRvbyBiaWcAZGVnACUuMTRnAHNldHZidWYAZ2V0IGxlbmd0aCBvZgBpbmYAc2VsZgBlbHNlaWYAbW9kZgB2ZXJzaW9uIG1pc21hdGNoOiBhcHAuIG5lZWRzICVmLCBMdWEgY29yZSBwcm92aWRlcyAlZgBwYWNrc2l6ZQBzdHJpbmcgbGVuZ3RoIGRvZXMgbm90IGZpdCBpbiBnaXZlbiBzaXplAHN0cmluZyBsb25nZXIgdGhhbiBnaXZlbiBzaXplAHJlbW92ZQB0b28gbWFueSBlbGVtZW50cyB0byBtb3ZlAHdpZHRoIG11c3QgYmUgcG9zaXRpdmUAZmllbGQgY2Fubm90IGJlIG5lZ2F0aXZlAHRydWUAc2V0dXNlcnZhbHVlAGdldHVzZXJ2YWx1ZQBzZXR1cHZhbHVlAGdldHVwdmFsdWUAbm8gdmFsdWUALmNyeXB0by51dGlsLnF1ZXVlAGluaXRpYWwgcG9zaXRpb24gaXMgYSBjb250aW51YXRpb24gYnl0ZQBleGVjdXRlAHdyaXRlAHJyb3RhdGUAbHJvdGF0ZQBjb25jYXRlbmF0ZQBjb2xsYXRlAGNyZWF0ZQBkYXRlAHNldHBhdXNlAHJldmVyc2UAY2xvc2UAZWxzZQBmYWxzZQBpbnZhbGlkIHBhdHRlcm4gY2FwdHVyZQB1bmZpbmlzaGVkIGNhcHR1cmUAcmVxdWlyZQBjdHlwZQBjYW5ub3QgcmVzdW1lIG5vbi1zdXNwZW5kZWQgY29yb3V0aW5lAGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAYXR0ZW1wdCB0byB5aWVsZCBmcm9tIG91dHNpZGUgYSBjb3JvdXRpbmUAY3VycmVudGxpbmUAdG9vIG1hbnkgYXJndW1lbnRzIHRvIHJlc3VtZQB0b28gbWFueSByZXN1bHRzIHRvIHJlc3VtZQBmdW5jdGlvbiBoYW5kbGUgaXMgbm90IGRlZmluZWQgZ2xvYmFseSBpbiBsdWEgcnVudGltZQBkaWZmdGltZQB0bXBuYW1lAHJlbmFtZQB1bmFibGUgdG8gZ2VuZXJhdGUgYSB1bmlxdWUgZmlsZW5hbWUAX19uYW1lAHdoaWxlAHRtcGZpbGUAZG9maWxlAGxvYWRmaWxlAGNhbm5vdCBjbG9zZSBzdGFuZGFyZCBmaWxlAGF0dGVtcHQgdG8gdXNlIGEgY2xvc2VkIGZpbGUAaGFuZGxlAHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAX19tZXRhdGFibGUAY2Fubm90IGNoYW5nZSBhIHByb3RlY3RlZCBtZXRhdGFibGUAZmllbGQgJyVzJyBtaXNzaW5nIGluIGRhdGUgdGFibGUAJ3BhY2thZ2Uuc2VhcmNoZXJzJyBtdXN0IGJlIGEgdGFibGUAaXN5aWVsZGFibGUAc2V0bG9jYWxlAF9fbGUAaHVnZQBmb3JtYXQgcmVzdWx0IHRvbyBsYXJnZQBidWZmZXIgdG9vIGxhcmdlAGludGVydmFsIHRvbyBsYXJnZQByZXN1bHRpbmcgc3RyaW5nIHRvbyBsYXJnZQBVVEYtOCB2YWx1ZSB0b28gbGFyZ2UAZGVjaW1hbCBlc2NhcGUgdG9vIGxhcmdlAGluZGV4IG91dCBvZiByYW5nZQBwb3NpdGlvbiBvdXQgb2YgcmFuZ2UAbGV2ZWwgb3V0IG9mIHJhbmdlAHZhbHVlIG91dCBvZiByYW5nZQBiYXNlIG91dCBvZiByYW5nZQBubyBtZXNzYWdlAHBhY2thZ2UAY29sbGVjdGdhcmJhZ2UAX19tb2RlAGludmFsaWQgbW9kZQBpbnZhbGlkIFVURi04IGNvZGUAc291cmNlAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlAC5jaGFuY2UAcmVwbGFjZQBFZQBmbW9kAF9fbW9kAG1ldGFtZXRob2QAZGVzdGluYXRpb24gd3JhcCBhcm91bmQAZmllbGQgJyVzJyBpcyBvdXQtb2YtYm91bmQAZmluZABlbmQAX19iYW5kACVsbGQAeWllbGQAZmllbGQAdXB2YWx1ZWlkACdwb3Blbicgbm90IHN1cHBvcnRlZABjb3JydXB0ZWQAbXVsdGlwbGUgTHVhIFZNcyBkZXRlY3RlZABoZXhhZGVjaW1hbCBkaWdpdCBleHBlY3RlZABmdW5jdGlvbiBhcmd1bWVudHMgZXhwZWN0ZWQAJXMgZXhwZWN0ZWQATHVhIGZ1bmN0aW9uIGV4cGVjdGVkAHRhYmxlIG9yIHN0cmluZyBleHBlY3RlZAB2YWx1ZSBleHBlY3RlZABzdHJpbmcvZnVuY3Rpb24vdGFibGUgZXhwZWN0ZWQAbmlsIG9yIHRhYmxlIGV4cGVjdGVkAHRocmVhZCBleHBlY3RlZAAnPScgb3IgJ2luJyBleHBlY3RlZAA8bmFtZT4gb3IgJy4uLicgZXhwZWN0ZWQAdHJ1bmNhdGVkAGZpbGUgaXMgYWxyZWFkeSBjbG9zZWQAc3RhbmRhcmQgJXMgZmlsZSBpcyBjbG9zZWQAbGFzdGxpbmVkZWZpbmVkAHJhbmRvbXNlZWQAc3VzcGVuZGVkAGxvYWRlZABfX2FkZAByYWQAcHJlbG9hZAB0aHJlYWQAZGVhZABcJTAzZABcJWQAaW52YWxpZCBjYXB0dXJlIGluZGV4ICUlJWQAZnVuY3Rpb24gYXQgbGluZSAlZABubyB2aXNpYmxlIGxhYmVsICclcycgZm9yIDxnb3RvPiBhdCBsaW5lICVkAGxhYmVsICclcycgYWxyZWFkeSBkZWZpbmVkIG9uIGxpbmUgJWQAc2hvcnRfc3JjAGZ1bmMAbnVtZXJpYwBfX2djAHNlYwAuY3J5cHRvLmNpcGhlci5tb2RlLmNiYwAuY3J5cHRvLmNpcGhlci5pc3NhYwAuY3J5cHRvLm1hYy5obWFjACVjAGdzdWIAX19zdWIAcmIAbG9hZGxpYgAuY3J5cHRvLmNpcGhlci5tb2RlLm9mYgAuY3J5cHRvLmNpcGhlci5tb2RlLmNmYgAuY3J5cHRvLmNpcGhlci5tb2RlLmVjYgAuY3J5cHRvLmRpZ2VzdC5ibGFrZTJiAHJ3YQAvdXNyL2xvY2FsL3NoYXJlL2x1YS81LjMvPy5sdWE7L3Vzci9sb2NhbC9zaGFyZS9sdWEvNS4zLz8vaW5pdC5sdWE7L3Vzci9sb2NhbC9saWIvbHVhLzUuMy8/Lmx1YTsvdXNyL2xvY2FsL2xpYi9sdWEvNS4zLz8vaW5pdC5sdWE7Li8/Lmx1YTsuLz8vaW5pdC5sdWEAG0x1YQBsaWdodCB1c2VyZGF0YQAlYQBub3QgYQBfX2x1YV93ZWJhc3NlbWJseV9fAGludGVncmFsIHNpemUgKCVkKSBvdXQgb2YgbGltaXRzIFsxLCVkXQA9W0NdAAoJbm8gZmllbGQgcGFja2FnZS5wcmVsb2FkWyclcyddACJdAHhYAExVQUJPWABQT1NJWABfRU5WAExVQV9OT0VOVgAlVQBHTVQAcFAALnhYbk4AdGFibGUgaW5kZXggaXMgTmFOAF9WRVJTSU9OAE5BTgBMQ19BTEwAJUkATFVBX1BBVEgATFVBX0NQQVRIAF9HAExBTkcASU5GAGVFAF9MT0FERUQAX1BSRUxPQUQAQwA9PwA8aW50ZWdlcj4APG51bWJlcj4APHN0cmluZz4APGVvZj4APG5hbWU+ADxcJWQ+AGZ1bmN0aW9uIDwlczolZD4APj4Afj0APj0APT0APD0APDwAOzsAOwE7AAoJJXM6AHN0YWNrIHRyYWNlYmFjazoAJWQ6ADo6AC0wMTIzNDU2Nzg5AHV0ZjgALmNyeXB0by5jaXBoZXIuYWVzMTI4AEMuVVRGLTgALmNyeXB0by5jaXBoZXIuYWVzMjU2AC5jcnlwdG8uZGlnZXN0LnNoYTJfMjU2AC5jcnlwdG8uZGlnZXN0Lm1kNQAuY3J5cHRvLmRpZ2VzdC5tZDQALmJhc2U2NAAuY3J5cHRvLmRpZ2VzdC5zaGEzAF81XzMATHVhIDUuMwBhdGFuMgAuY3J5cHRvLmtkZi5wYmtkZjIALmNyeXB0by5kaWdlc3QubWQyAC5jcnlwdG8uY2lwaGVyLmFlczE5MgBiaXQzMgAuY3J5cHRvLmRpZ2VzdC5zaGEyXzUxMgBmb3JtYXQgYXNrcyBmb3IgYWxpZ25tZW50IG5vdCBwb3dlciBvZiAyAC5jcnlwdG8uZGlnZXN0LnNoYTEAbG9nMTAALy8AX0cuAAoJLi4uAF4kKis/LihbJS0AdysALSsARklMRSoAKCp0ZW1wb3JhcnkpAChmb3IgaW5kZXgpAChmb3IgbGltaXQpAGludmFsaWQgZm9ybWF0IChyZXBlYXRlZCBmbGFncykAc3RhY2sgb3ZlcmZsb3cgKCVzKQBjYWxsaW5nICclcycgb24gYmFkIHNlbGYgKCVzKQBlcnJvciBpbiBfX2djIG1ldGFtZXRob2QgKCVzKQBiYWQgYXJndW1lbnQgIyVkICglcykAYmFkIGFyZ3VtZW50ICMlZCB0byAnJXMnICglcykAY2Fubm90IG9wZW4gZmlsZSAnJXMnICglcykAaW52YWxpZCByZXBsYWNlbWVudCB2YWx1ZSAoYSAlcykAKGZvciBnZW5lcmF0b3IpAChmb3Igc3RlcCkAZmlsZSAoJXApAChmb3IgY29udHJvbCkAKG51bGwpACgqdmFyYXJnKQBpbnZhbGlkIGZvcm1hdCAod2lkdGggb3IgcHJlY2lzaW9uIHRvbyBsb25nKQAoZXJyb3Igb2JqZWN0IGlzIGEgJXMgdmFsdWUpAChmb3Igc3RhdGUpACgqbm8gbmFtZSkAPShkZWJ1ZyBjb21tYW5kKQBmaWxlIChjbG9zZWQpAD0obG9hZCkAdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKQAlcyBleHBlY3RlZCAodG8gY2xvc2UgJXMgYXQgbGluZSAlZCkAdW5maW5pc2hlZCBsb25nICVzIChzdGFydGluZyBhdCBsaW5lICVkKQAKCSguLi50YWlsIGNhbGxzLi4uKQBhdHRlbXB0IHRvIGxvYWQgYSAlcyBjaHVuayAobW9kZSBpcyAnJXMnKQAgKCVzICclcycpAG1hbGZvcm1lZCBwYXR0ZXJuIChtaXNzaW5nIGFyZ3VtZW50cyB0byAnJSViJykAbWFsZm9ybWVkIHBhdHRlcm4gKG1pc3NpbmcgJ10nKQBtYWxmb3JtZWQgcGF0dGVybiAoZW5kcyB3aXRoICclJScpAG1pc3NpbmcgJ30nAG1pc3NpbmcgJ3snAGludmFsaWQga2V5IHRvICduZXh0JwB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvICdpbnNlcnQnACd0b3N0cmluZycgbXVzdCByZXR1cm4gYSBzdHJpbmcgdG8gJ3ByaW50JwBpbnZhbGlkIG9wdGlvbiAnJSUlYycgdG8gJ2Zvcm1hdCcAaW52YWxpZCB2YWx1ZSAoJXMpIGF0IGluZGV4ICVkIGluIHRhYmxlIGZvciAnY29uY2F0JwAlcyAnJXMnAGludmFsaWQgb3B0aW9uICclcycAZnVuY3Rpb24gJyVzJwA8Z290byAlcz4gYXQgbGluZSAlZCBqdW1wcyBpbnRvIHRoZSBzY29wZSBvZiBsb2NhbCAnJXMnAAoJbm8gZmlsZSAnJXMnAAoJbm8gbW9kdWxlICclcycgaW4gZmlsZSAnJXMnAGludmFsaWQgY29udmVyc2lvbiBzcGVjaWZpZXIgJyUlJXMnAGludmFsaWQgb3B0aW9uICclJSVjJyB0byAnbHVhX3B1c2hmc3RyaW5nJwBtaXNzaW5nIHNpemUgZm9yIGZvcm1hdCBvcHRpb24gJ2MnAGludmFsaWQg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IGVsc2UKICAgICAgICAgICAgZXJyb3IoKCJlcnJvciBsb2FkaW5nIG1vZHVsZSAlczogJXMiKTpmb3JtYXQobmFtZSwgZXJyKSwgMCkKICAgICAgICBlbmQKICAgIGVsc2VpZiB0eXBlKG1vZCkgPT0gJ2Z1bmN0aW9uJyB0aGVuCiAgICAgICAgcmV0dXJuIG1vZAogICAgZW5kCmVuZAoKdGFibGUuaW5zZXJ0KHBhY2thZ2UubG9hZGVycyBvciBwYWNrYWdlLnNlYXJjaGVycywgMiwgX2lubGluZV9sb2FkZXIpCgotLSBUaGUgX19sdWFfd2ViYXNzZW1ibHlfXyBtb2R1bGUgd2lsbCBiZSBpbmplY3QgdmlhIEMgcHJvZ3JhbS4KbG9jYWwgbWFpbiA9IF9pbmxpbmVfbG9hZGVyKCdfX2x1YV93ZWJhc3NlbWJseV9fJykKbWFpbigpCgotLSBFeHBvcnQgZnVuY3Rpb24gY2FsbCB3cmFwcGVyCi0tIGZ1bmN0aW9uIGx1YV9jYWxsKGZ1bmN0aW9uX25hbWUsIC4uLikKLS0gICBmb3IgaywgdiBpbiBwYWlycyhleHBvcnRzKSBkbwotLSAgICAgcHJpbnQoaykKLS0gICBlbmQKLS0gICBwcmludChleHBvcnRzWydoZWxsb193b3JsZCddKQotLSAgIHByaW50KCNmdW5jdGlvbl9uYW1lKQotLSAgIHByaW50KGZ1bmN0aW9uX25hbWUgPT0gJ2hlbGxvX3dvcmxkJykKLS0gICBwcmludChmdW5jdGlvbl9uYW1lID09ICdoZWxsb193b3JsZCcpCi0tICAgcHJpbnQodHlwZShmdW5jdGlvbl9uYW1lKSkKLS0gCi0tICAgbG9jYWwgbW9kID0gZXhwb3J0c1tmdW5jdGlvbl9uYW1lXQotLSAgIGlmIG5vdCBtb2QgdGhlbgotLSAgICAgcHJpbnQoKCJNb2R1bGUgJXMgaXNuJ3QgZXhwb3J0ZWQiKTpmb3JtYXQoZnVuY3Rpb25fbmFtZSkpCi0tICAgICByZXR1cm4KLS0gICBlbHNlaWYgdHlwZShtb2QpIH49ICd0YWJsZScgdGhlbgotLSAgICAgcHJpbnQoKCJNb2R1bGUgJXMgZXhwb3J0ZWQgYnV0IG5vdCBhbiB0YWJsZSIpOmZvcm1hdChmdW5jdGlvbl9uYW1lKSkKLS0gICAgIHJldHVybgotLSAgIGVuZAotLSAKLS0gICBsb2NhbCBmbiA9IG1vZC5mbgotLSAgIGlmIG5vdCBmbiB0aGVuCi0tICAgICBwcmludCgoIk1vZHVsZSAlcy5mbiBpcyBub3QgZGVmaW5lZCIpOmZvcm1hdChmdW5jdGlvbl9uYW1lKSkKLS0gICAgIHJldHVybgotLSAgIGVsc2VpZiB0eXBlKGZuKSB+PSAnZnVuY3Rpb24nIHRoZW4KLS0gICAgIHByaW50KCgiTW9kdWxlICVzLmZuIGlzIG5vdCBhIGZ1bmN0aW9uIik6Zm9ybWF0KGZ1bmN0aW9uX25hbWUpKQotLSAgICAgcmV0dXJuCi0tICAgZW5kCi0tICAgLS0gQ2FsbCBleHBvcnRlZCBmdW5jdGlvbgotLSAgIGxvY2FsIGFyZ3VtZW50cyA9IHtzZWxlY3QoMSwgLi4uKX0KLS0gICByZXR1cm4gZm4odGFibGUudW5wYWNrKGFyZ3VtZW50cykpCi0tIGVuZAoAQsCAAQuyBGxvY2FsIGpzb24gPSByZXF1aXJlICJqc29uIgoKZnVuY3Rpb24gaGFuZGxlKG1zZ0pTT04sIGFvSlNPTikKICAgIC0tIGJ5IHJlcXVpcmluZyAnLnByb2Nlc3MnIGhlcmUgd2UgYXJlIGFibGUgdG8gcmVsb2FkIHZpYSAudXBkYXRlcwogICAgbG9jYWwgcHJvY2VzcyA9IHJlcXVpcmUgIi5wcm9jZXNzIgogICAgLS0gZGVjb2RlIGlucHV0cwogICAgbG9jYWwgbXNnID0ganNvbi5kZWNvZGUobXNnSlNPTikKICAgIGxvY2FsIGVudiA9IGpzb24uZGVjb2RlKGFvSlNPTikKCiAgICAtLSBoYW5kbGUgcHJvY2VzcwogICAgbG9jYWwgc3RhdHVzLCByZXNwb25zZSA9IHBjYWxsKGZ1bmN0aW9uKCkKICAgICAgICByZXR1cm4gKHByb2Nlc3MuaGFuZGxlKG1zZywgZW52KSkKICAgIGVuZCkKCiAgICAtLSBlbmNvZGUgb3V0cHV0CiAgICBsb2NhbCByZXNwb25zZUpTT04gPSBqc29uLmVuY29kZSh7b2sgPSBzdGF0dXMsIHJlc3BvbnNlID0gcmVzcG9uc2V9KQogICAgLS0gZnJlZSAKICAgIHJlc3BvbnNlID0gbmlsCiAgICBjb2xsZWN0Z2FyYmFnZSgpCiAgICByZXR1cm4gcmVzcG9uc2VKU09OCmVuZAoAQoCFAQvhbC0tLSBUaGUgQU8gbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIG1hbmFnaW5nIHRoZSBBTyBlbnZpcm9ubWVudCBhbmQgaGFuZGxpbmcgbWVzc2FnZXMuIFJldHVybnMgdGhlIGFvIHRhYmxlLgoKLS0gQG1vZHVsZSBhbwoKCgpsb2NhbCBvbGRhbyA9IGFvIG9yIHt9CgoKCi0tLSBUaGUgQU8gbW9kdWxlCgotLSBAdGFibGUgYW8KCi0tIEBmaWVsZCBfdmVyc2lvbiBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIGFvIG1vZHVsZQoKLS0gQGZpZWxkIF9tb2R1bGUgVGhlIG1vZHVsZSBpZCBvZiB0aGUgcHJvY2VzcwoKLS0gQGZpZWxkIGlkIFRoZSBpZCBvZiB0aGUgcHJvY2VzcwoKLS0gQGZpZWxkIGF1dGhvcml0aWVzIEEgdGFibGUgb2YgYXV0aG9yaXRpZXMgb2YgdGhlIHByb2Nlc3MKCi0tIEBmaWVsZCByZWZlcmVuY2UgVGhlIHJlZmVyZW5jZSBudW1iZXIgb2YgdGhlIHByb2Nlc3MKCi0tIEBmaWVsZCBvdXRib3ggVGhlIG91dGJveCBvZiB0aGUgcHJvY2VzcwoKLS0gQGZpZWxkIG5vbkV4dHJhY3RhYmxlVGFncyBUaGUgbm9uLWV4dHJhY3RhYmxlIHRhZ3MKCi0tIEBmaWVsZCBub25Gb3J3YXJkYWJsZVRhZ3MgVGhlIG5vbi1mb3J3YXJkYWJsZSB0YWdzCgotLSBAZmllbGQgY2xvbmUgVGhlIGNsb25lIGZ1bmN0aW9uCgotLSBAZmllbGQgbm9ybWFsaXplIFRoZSBub3JtYWxpemUgZnVuY3Rpb24KCi0tIEBmaWVsZCBzYW5pdGl6ZSBUaGUgc2FuaXRpemUgZnVuY3Rpb24KCi0tIEBmaWVsZCBpbml0IFRoZSBpbml0IGZ1bmN0aW9uCgotLSBAZmllbGQgbG9nIFRoZSBsb2cgZnVuY3Rpb24KCi0tIEBmaWVsZCBjbGVhck91dGJveCBUaGUgY2xlYXJPdXRib3ggZnVuY3Rpb24KCi0tIEBmaWVsZCBzZW5kIFRoZSBzZW5kIGZ1bmN0aW9uCgotLSBAZmllbGQgc3Bhd24gVGhlIHNwYXduIGZ1bmN0aW9uCgotLSBAZmllbGQgYXNzaWduIFRoZSBhc3NpZ24gZnVuY3Rpb24KCi0tIEBmaWVsZCBpc1RydXN0ZWQgVGhlIGlzVHJ1c3RlZCBmdW5jdGlvbgoKLS0gQGZpZWxkIHJlc3VsdCBUaGUgcmVzdWx0IGZ1bmN0aW9uCgpsb2NhbCBhbyA9IHsKCiAgICBfdmVyc2lvbiA9ICIwLjAuNiIsCgogICAgaWQgPSBvbGRhby5pZCBvciAiIiwKCiAgICBfbW9kdWxlID0gb2xkYW8uX21vZHVsZSBvciAiIiwKCiAgICBhdXRob3JpdGllcyA9IG9sZGFvLmF1dGhvcml0aWVzIG9yIHt9LAoKICAgIHJlZmVyZW5jZSA9IG9sZGFvLnJlZmVyZW5jZSBvciAwLAoKICAgIG91dGJveCA9IG9sZGFvLm91dGJveCBvcgoKICAgICAgICB7T3V0cHV0ID0ge30sIE1lc3NhZ2VzID0ge30sIFNwYXducyA9IHt9LCBBc3NpZ25tZW50cyA9IHt9fSwKCiAgICBub25FeHRyYWN0YWJsZVRhZ3MgPSB7CgogICAgICAgICdEYXRhLVByb3RvY29sJywgJ1ZhcmlhbnQnLCAnRnJvbS1Qcm9jZXNzJywgJ0Zyb20tTW9kdWxlJywgJ1R5cGUnLAoKICAgICAgICAnRnJvbScsICdPd25lcicsICdBbmNob3InLCAnVGFyZ2V0JywgJ0RhdGEnLCAnVGFncycsICdSZWFkLU9ubHknCgogICAgfSwKCiAgICBub25Gb3J3YXJkYWJsZVRhZ3MgPSB7CgogICAgICAgICdEYXRhLVByb3RvY29sJywgJ1ZhcmlhbnQnLCAnRnJvbS1Qcm9jZXNzJywgJ0Zyb20tTW9kdWxlJywgJ1R5cGUnLAoKICAgICAgICAnRnJvbScsICdPd25lcicsICdBbmNob3InLCAnVGFyZ2V0JywgJ1RhZ3MnLCAnVGFnQXJyYXknLCAnSGFzaC1DaGFpbicsCgogICAgICAgICdUaW1lc3RhbXAnLCAnTm9uY2UnLCAnRXBvY2gnLCAnU2lnbmF0dXJlJywgJ0ZvcndhcmRlZC1CeScsCgogICAgICAgICdQdXNoZWQtRm9yJywgJ1JlYWQtT25seScsICdDcm9uJywgJ0Jsb2NrLUhlaWdodCcsICdSZWZlcmVuY2UnLCAnSWQnLAoKICAgICAgICAnUmVwbHktVG8nCgogICAgfQoKfQoKCgotLS0gQ2hlY2tzIGlmIGEga2V5IGV4aXN0cyBpbiBhIGxpc3QuCgotLSBAbGZ1bmN0aW9uIF9pbmNsdWRlcwoKLS0gQHRwYXJhbSB7dGFibGV9IGxpc3QgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdAoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBrZXkgYW5kIHJldHVybnMgdHJ1ZSBpZiB0aGUga2V5IGV4aXN0cyBpbiB0aGUgbGlzdAoKbG9jYWwgZnVuY3Rpb24gX2luY2x1ZGVzKGxpc3QpCgogICAgcmV0dXJuIGZ1bmN0aW9uKGtleSkKCiAgICAgICAgbG9jYWwgZXhpc3RzID0gZmFsc2UKCiAgICAgICAgZm9yIF8sIGxpc3RLZXkgaW4gaXBhaXJzKGxpc3QpIGRvCgogICAgICAgICAgICBpZiBrZXkgPT0gbGlzdEtleSB0aGVuCgogICAgICAgICAgICAgICAgZXhpc3RzID0gdHJ1ZQoKICAgICAgICAgICAgICAgIGJyZWFrCgogICAgICAgICAgICBlbmQKCiAgICAgICAgZW5kCgogICAgICAgIGlmIG5vdCBleGlzdHMgdGhlbiByZXR1cm4gZmFsc2UgZW5kCgogICAgICAgIHJldHVybiB0cnVlCgogICAgZW5kCgplbmQKCgoKLS0tIENoZWNrcyBpZiBhIHRhYmxlIGlzIGFuIGFycmF5LgoKLS0gQGxmdW5jdGlvbiBpc0FycmF5CgotLSBAdHBhcmFtIHt0YWJsZX0gdGFibGUgVGhlIHRhYmxlIHRvIGNoZWNrCgotLSBAdHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdGFibGUgaXMgYW4gYXJyYXksIGZhbHNlIG90aGVyd2lzZQoKbG9jYWwgZnVuY3Rpb24gaXNBcnJheSh0YWJsZSkKCiAgICBpZiB0eXBlKHRhYmxlKSA9PSAidGFibGUiIHRoZW4KCiAgICAgICAgbG9jYWwgbWF4SW5kZXggPSAwCgogICAgICAgIGZvciBrLCB2IGluIHBhaXJzKHRhYmxlKSBkbwoKICAgICAgICAgICAgaWYgdHlwZShrKSB+PSAibnVtYmVyIiBvciBrIDwgMSBvciBtYXRoLmZsb29yKGspIH49IGsgdGhlbgoKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZSAtLSBJZiB0aGVyZSdzIGEgbm9uLWludGVnZXIga2V5LCBpdCdzIG5vdCBhbiBhcnJheQoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBtYXhJbmRleCA9IG1hdGgubWF4KG1heEluZGV4LCBrKQoKICAgICAgICBlbmQKCiAgICAgICAgLS0gSWYgdGhlIGhpZ2hlc3QgbnVtZXJpYyBpbmRleCBpcyBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzLCBpdCdzIGFuIGFycmF5CgogICAgICAgIHJldHVybiBtYXhJbmRleCA9PSAjdGFibGUKCiAgICBlbmQKCiAgICByZXR1cm4gZmFsc2UKCmVuZAoKCgotLS0gUGFkcyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MgdG8gMzIgZGlnaXRzLgoKLS0gQGxmdW5jdGlvbiBwYWRaZXJvMzIKCi0tIEB0cGFyYW0ge251bWJlcn0gbnVtIFRoZSBudW1iZXIgdG8gcGFkCgotLSBAdHJldHVybiB7c3RyaW5nfSBUaGUgcGFkZGVkIG51bWJlciBhcyBhIHN0cmluZwoKbG9jYWwgZnVuY3Rpb24gcGFkWmVybzMyKG51bSkgcmV0dXJuIHN0cmluZy5mb3JtYXQoIiUwMzJkIiwgbnVtKSBlbmQKCgoKLS0tIENsb25lcyBhIHRhYmxlIHJlY3Vyc2l2ZWx5LgoKLS0gQGZ1bmN0aW9uIGNsb25lCgotLSBAdHBhcmFtIHthbnl9IG9iaiBUaGUgb2JqZWN0IHRvIGNsb25lCgotLSBAdHBhcmFtIHt0YWJsZX0gc2VlbiBUaGUgdGFibGUgb2Ygc2VlbiBvYmplY3RzIChkZWZhdWx0IGlzIG5pbCkKCi0tIEB0cmV0dXJuIHthbnl9IFRoZSBjbG9uZWQgb2JqZWN0CgpmdW5jdGlvbiBhby5jbG9uZShvYmosIHNlZW4pCgogICAgLS0gSGFuZGxlIG5vbi10YWJsZXMgYW5kIHByZXZpb3VzbHktc2VlbiB0YWJsZXMuCgogICAgaWYgdHlwZShvYmopIH49ICd0YWJsZScgdGhlbiByZXR1cm4gb2JqIGVuZAoKICAgIGlmIHNlZW4gYW5kIHNlZW5bb2JqXSB0aGVuIHJldHVybiBzZWVuW29ial0gZW5kCgoKCiAgICAtLSBOZXcgdGFibGU7IG1hcmsgaXQgYXMgc2VlbiBhbmQgY29weSByZWN1cnNpdmVseS4KCiAgICBsb2NhbCBzID0gc2VlbiBvciB7fQoKICAgIGxvY2FsIHJlcyA9IHt9CgogICAgc1tvYmpdID0gcmVzCgogICAgZm9yIGssIHYgaW4gcGFpcnMob2JqKSBkbyByZXNbYW8uY2xvbmUoaywgcyldID0gYW8uY2xvbmUodiwgcykgZW5kCgogICAgcmV0dXJuIHNldG1ldGF0YWJsZShyZXMsIGdldG1ldGF0YWJsZShvYmopKQoKZW5kCgoKCi0tLSBOb3JtYWxpemVzIGEgbWVzc2FnZSBieSBleHRyYWN0aW5nIHRhZ3MuCgotLSBAZnVuY3Rpb24gbm9ybWFsaXplCgotLSBAdHBhcmFtIHt0YWJsZX0gbXNnIFRoZSBtZXNzYWdlIHRvIG5vcm1hbGl6ZQoKLS0gQHRyZXR1cm4ge3RhYmxlfSBUaGUgbm9ybWFsaXplZCBtZXNzYWdlCgpmdW5jdGlvbiBhby5ub3JtYWxpemUobXNnKQoKICAgIGZvciBfLCBvIGluIGlwYWlycyhtc2cuVGFncykgZG8KCiAgICAgICAgaWYgbm90IF9pbmNsdWRlcyhhby5ub25FeHRyYWN0YWJsZVRhZ3MpKG8ubmFtZSkgdGhlbgoKICAgICAgICAgICAgbXNnW28ubmFtZV0gPSBvLnZhbHVlCgogICAgICAgIGVuZAoKICAgIGVuZAoKICAgIHJldHVybiBtc2cKCmVuZAoKCgotLS0gU2FuaXRpemVzIGEgbWVzc2FnZSBieSByZW1vdmluZyBub24tZm9yd2FyZGFibGUgdGFncy4KCi0tIEBmdW5jdGlvbiBzYW5pdGl6ZQoKLS0gQHRwYXJhbSB7dGFibGV9IG1zZyBUaGUgbWVzc2FnZSB0byBzYW5pdGl6ZQoKLS0gQHRyZXR1cm4ge3RhYmxlfSBUaGUgc2FuaXRpemVkIG1lc3NhZ2UKCmZ1bmN0aW9uIGFvLnNhbml0aXplKG1zZykKCiAgICBsb2NhbCBuZXdNc2cgPSBhby5jbG9uZShtc2cpCgoKCiAgICBmb3IgaywgXyBpbiBwYWlycyhuZXdNc2cpIGRvCgogICAgICAgIGlmIF9pbmNsdWRlcyhhby5ub25Gb3J3YXJkYWJsZVRhZ3MpKGspIHRoZW4gbmV3TXNnW2tdID0gbmlsIGVuZAoKICAgIGVuZAoKCgogICAgcmV0dXJuIG5ld01zZwoKZW5kCgoKCi0tLSBJbml0aWFsaXplcyB0aGUgQU8gZW52aXJvbm1lbnQsIGluY2x1ZGluZyBJRCwgbW9kdWxlLCBhdXRob3JpdGllcywgb3V0Ym94LCBhbmQgZW52aXJvbm1lbnQuCgotLSBAZnVuY3Rpb24gaW5pdAoKLS0gQHRwYXJhbSB7dGFibGV9IGVudiBUaGUgZW52aXJvbm1lbnQgb2JqZWN0CgpmdW5jdGlvbiBhby5pbml0KGVudikKCiAgICBpZiBhby5pZCA9PSAiIiB0aGVuIGFvLmlkID0gZW52LlByb2Nlc3MuSWQgZW5kCgoKCiAgICBpZiBhby5fbW9kdWxlID09ICIiIHRoZW4KCiAgICAgICAgZm9yIF8sIG8gaW4gaXBhaXJzKGVudi5Qcm9jZXNzLlRhZ3MpIGRvCgogICAgICAgICAgICBpZiBvLm5hbWUgPT0gIk1vZHVsZSIgdGhlbiBhby5fbW9kdWxlID0gby52YWx1ZSBlbmQKCiAgICAgICAgZW5kCgogICAgZW5kCgoKCiAgICBpZiAjYW8uYXV0aG9yaXRpZXMgPCAxIHRoZW4KCiAgICAgICAgZm9yIF8sIG8gaW4gaXBhaXJzKGVudi5Qcm9jZXNzLlRhZ3MpIGRvCgogICAgICAgICAgICBpZiBvLm5hbWUgPT0gIkF1dGhvcml0eSIgdGhlbgoKICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChhby5hdXRob3JpdGllcywgby52YWx1ZSkKCiAgICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICBlbmQKCgoKICAgIGFvLm91dGJveCA9IHtPdXRwdXQgPSB7fSwgTWVzc2FnZXMgPSB7fSwgU3Bhd25zID0ge30sIEFzc2lnbm1lbnRzID0ge319CgogICAgYW8uZW52ID0gZW52CgoKCmVuZAoKCgotLS0gTG9ncyBhIG1lc3NhZ2UgdG8gdGhlIG91dHB1dC4KCi0tIEBmdW5jdGlvbiBsb2cKCi0tIEB0cGFyYW0ge3N0cmluZ30gdHh0IFRoZSBtZXNzYWdlIHRvIGxvZwoKZnVuY3Rpb24gYW8ubG9nKHR4dCkKCiAgICBpZiB0eXBlKGFvLm91dGJveC5PdXRwdXQpID09ICdzdHJpbmcnIHRoZW4KCiAgICAgICAgYW8ub3V0Ym94Lk91dHB1dCA9IHthby5vdXRib3guT3V0cHV0fQoKICAgIGVuZAoKICAgIHRhYmxlLmluc2VydChhby5vdXRib3guT3V0cHV0LCB0eHQpCgplbmQKCgoKLS0tIENsZWFycyB0aGUgb3V0Ym94LgoKLS0gQGZ1bmN0aW9uIGNsZWFyT3V0Ym94CgpmdW5jdGlvbiBhby5jbGVhck91dGJveCgpCgogICAgYW8ub3V0Ym94ID0ge091dHB1dCA9IHt9LCBNZXNzYWdlcyA9IHt9LCBTcGF3bnMgPSB7fSwgQXNzaWdubWVudHMgPSB7fX0KCmVuZAoKCgotLS0gU2VuZHMgYSBtZXNzYWdlLgoKLS0gQGZ1bmN0aW9uIHNlbmQKCi0tIEB0cGFyYW0ge3RhYmxlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gc2VuZAoKZnVuY3Rpb24gYW8uc2VuZChtc2cpCgogICAgYXNzZXJ0KHR5cGUobXNnKSA9PSAndGFibGUnLCAnbXNnIHNob3VsZCBiZSBhIHRhYmxlJykKCiAgICBhby5yZWZlcmVuY2UgPSBhby5yZWZlcmVuY2UgKyAxCgogICAgbG9jYWwgcmVmZXJlbmNlU3RyaW5nID0gdG9zdHJpbmcoYW8ucmVmZXJlbmNlKQoKCgogICAgbG9jYWwgbWVzc2FnZSA9IHsKCiAgICAgICAgVGFyZ2V0ID0gbXNnLlRhcmdldCwKCiAgICAgICAgRGF0YSA9IG1zZy5EYXRhLAoKICAgICAgICBBbmNob3IgPSBwYWRaZXJvMzIoYW8ucmVmZXJlbmNlKSwKCiAgICAgICAgVGFncyA9IHsKCiAgICAgICAgICAgIHtuYW1lID0gIkRhdGEtUHJvdG9jb2wiLCB2YWx1ZSA9ICJhbyJ9LAoKICAgICAgICAgICAge25hbWUgPSAiVmFyaWFudCIsIHZhbHVlID0gImFvLlROLjEifSwKCiAgICAgICAgICAgIHtuYW1lID0gIlR5cGUiLCB2YWx1ZSA9ICJNZXNzYWdlIn0sCgogICAgICAgICAgICB7bmFtZSA9ICJSZWZlcmVuY2UiLCB2YWx1ZSA9IHJlZmVyZW5jZVN0cmluZ30KCiAgICAgICAgfQoKICAgIH0KCgoKICAgIC0tIGlmIGN1c3RvbSB0YWdzIGluIHJvb3QgbW92ZSB0aGVtIHRvIHRhZ3MKCiAgICBmb3IgaywgdiBpbiBwYWlycyhtc2cpIGRvCgogICAgICAgIGlmIG5vdCBfaW5jbHVkZXMoeyJUYXJnZXQiLCAiRGF0YSIsICJBbmNob3IiLCAiVGFncyIsICJGcm9tIn0pKGspIHRoZW4KCiAgICAgICAgICAgIHRhYmxlLmluc2VydChtZXNzYWdlLlRhZ3MsIHtuYW1lID0gaywgdmFsdWUgPSB2fSkKCiAgICAgICAgZW5kCgogICAgZW5kCgoKCiAgICBpZiBtc2cuVGFncyB0aGVuCgogICAgICAgIGlmIGlzQXJyYXkobXNnLlRhZ3MpIHRoZW4KCiAgICAgICAgICAgIGZvciBfLCBvIGluIGlwYWlycyhtc2cuVGFncykgZG8KCiAgICAgICAgICAgICAgICB0YWJsZS5pbnNlcnQobWVzc2FnZS5UYWdzLCBvKQoKICAgICAgICAgICAgZW5kCgogICAgICAgIGVsc2UKCiAgICAgICAgICAgIGZvciBrLCB2IGluIHBhaXJzKG1zZy5UYWdzKSBkbwoKICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChtZXNzYWdlLlRhZ3MsIHtuYW1lID0gaywgdmFsdWUgPSB2fSkKCiAgICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICBlbmQKCgoKICAgIC0tIElmIHJ1bm5pbmcgaW4gYW4gZW52aXJvbm1lbnQgd2l0aG91dCB0aGUgQU9TIEhhbmRsZXJzIG1vZHVsZSwgZG8gbm90IGFkZAoKICAgIC0tIHRoZSBvblJlcGx5IGFuZCByZWNlaXZlIGZ1bmN0aW9ucyB0byB0aGUgbWVzc2FnZS4KCiAgICBpZiBub3QgSGFuZGxlcnMgdGhlbiByZXR1cm4gbWVzc2FnZSBlbmQKCgoKICAgIC0tIGNsb25lIG1lc3NhZ2UgaW5mbyBhbmQgYWRkIHRvIG91dGJveAoKICAgIGxvY2FsIGV4dE1lc3NhZ2UgPSB7fQoKICAgIGZvciBrLCB2IGluIHBhaXJzKG1lc3NhZ2UpIGRvIGV4dE1lc3NhZ2Vba10gPSB2IGVuZAoKCgogICAgLS0gYWRkIG1lc3NhZ2UgdG8gb3V0Ym94CgogICAgdGFibGUuaW5zZXJ0KGFvLm91dGJveC5NZXNzYWdlcywgZXh0TWVzc2FnZSkKCgoKICAgIC0tIGFkZCBjYWxsYmFjayBmb3Igb25SZXBseSBoYW5kbGVyKHMpCgogICAgbWVzc2FnZS5vblJlcGx5ID0KCiAgICAgICAgZnVuY3Rpb24oLi4uKSAtLSBUYWtlcyBlaXRoZXIgKEFkZHJlc3NUaGF0V2lsbFJlcGx5LCBoYW5kbGVyKHMpKSBvciAoaGFuZGxlcihzKSkKCiAgICAgICAgICAgIGxvY2FsIGZyb20sIHJlc29sdmVyCgogICAgICAgICAgICBpZiBzZWxlY3QoIiMiLCAuLi4pID09IDIgdGhlbgoKICAgICAgICAgICAgICAgIGZyb20gPSBzZWxlY3QoMSwgLi4uKQoKICAgICAgICAgICAgICAgIHJlc29sdmVyID0gc2VsZWN0KDIsIC4uLikKCiAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICBmcm9tID0gbWVzc2FnZS5UYXJnZXQKCiAgICAgICAgICAgICAgICByZXNvbHZlciA9IHNlbGVjdCgxLCAuLi4pCgogICAgICAgICAgICBlbmQKCgoKICAgICAgICAgICAgLS0gQWRkIGEgb25lLXRpbWUgY2FsbGJhY2sgdGhhdCBydW5zIHRoZSB1c2VyJ3MgKG1hdGNoaW5nKSByZXNvbHZlciBvbiByZXBseQoKICAgICAgICAgICAgSGFuZGxlcnMub25jZSh7RnJvbSA9IGZyb20sIFsiWC1SZWZlcmVuY2UiXSA9IHJlZmVyZW5jZVN0cmluZ30sCgogICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVyKQoKICAgICAgICBlbmQKCgoKICAgIG1lc3NhZ2UucmVjZWl2ZSA9IGZ1bmN0aW9uKC4uLikKCiAgICAgICAgbG9jYWwgZnJvbSA9IG1lc3NhZ2UuVGFyZ2V0CgogICAgICAgIGlmIHNlbGVjdCgiIyIsIC4uLikgPT0gMSB0aGVuIGZyb20gPSBzZWxlY3QoMSwgLi4uKSBlbmQKCiAgICAgICAgcmV0dXJuCgogICAgICAgICAgICBIYW5kbGVycy5yZWNlaXZlKHtGcm9tID0gZnJvbSwgWyJYLVJlZmVyZW5jZSJdID0gcmVmZXJlbmNlU3RyaW5nfSkKCiAgICBlbmQKCgoKICAgIHJldHVybiBtZXNzYWdlCgplbmQKCgoKLS0tIFNwYXducyBhIHByb2Nlc3MuCgotLSBAZnVuY3Rpb24gc3Bhd24KCi0tIEB0cGFyYW0ge3N0cmluZ30gbW9kdWxlIFRoZSBtb2R1bGUgc291cmNlIGlkCgotLSBAdHBhcmFtIHt0YWJsZX0gbXNnIFRoZSBtZXNzYWdlIHRvIHNlbmQKCmZ1bmN0aW9uIGFvLnNwYXduKG1vZHVsZSwgbXNnKQoKICAgIGFzc2VydCh0eXBlKG1vZHVsZSkgPT0gInN0cmluZyIsICJNb2R1bGUgc291cmNlIGlkIGlzIHJlcXVpcmVkISIpCgogICAgYXNzZXJ0KHR5cGUobXNnKSA9PSAndGFibGUnLCAnTWVzc2FnZSBtdXN0IGJlIGEgdGFibGUnKQoKICAgIC0tIGluYyBzcGF3biByZWZlcmVuY2UKCiAgICBhby5yZWZlcmVuY2UgPSBhby5yZWZlcmVuY2UgKyAxCgogICAgbG9jYWwgc3Bhd25SZWYgPSB0b3N0cmluZyhhby5yZWZlcmVuY2UpCgoKCiAgICBsb2NhbCBzcGF3biA9IHsKCiAgICAgICAgRGF0YSA9IG1zZy5EYXRhIG9yICJOT0RBVEEiLAoKICAgICAgICBBbmNob3IgPSBwYWRaZXJvMzIoYW8ucmVmZXJlbmNlKSwKCiAgICAgICAgVGFncyA9IHsKCiAgICAgICAgICAgIHtuYW1lID0gIkRhdGEtUHJvdG9jb2wiLCB2YWx1ZSA9ICJhbyJ9LAoKICAgICAgICAgICAge25hbWUgPSAiVmFyaWFudCIsIHZhbHVlID0gImFvLlROLjEifSwKCiAgICAgICAgICAgIHtuYW1lID0gIlR5cGUiLCB2YWx1ZSA9ICJQcm9jZXNzIn0sCgogICAgICAgICAgICB7bmFtZSA9ICJGcm9tLVByb2Nlc3MiLCB2YWx1ZSA9IGFvLmlkfSwKCiAgICAgICAgICAgIHtuYW1lID0gIkZyb20tTW9kdWxlIiwgdmFsdWUgPSBhby5fbW9kdWxlfSwKCiAgICAgICAgICAgIHtuYW1lID0gIk1vZHVsZSIsIHZhbHVlID0gbW9kdWxlfSwKCiAgICAgICAgICAgIHtuYW1lID0gIlJlZmVyZW5jZSIsIHZhbHVlID0gc3Bhd25SZWZ9CgogICAgICAgIH0KCiAgICB9CgoKCiAgICAtLSBpZiBjdXN0b20gdGFncyBpbiByb290IG1vdmUgdGhlbSB0byB0YWdzCgogICAgZm9yIGssIHYgaW4gcGFpcnMobXNnKSBkbwoKICAgICAgICBpZiBub3QgX2luY2x1ZGVzKHsiVGFyZ2V0IiwgIkRhdGEiLCAiQW5jaG9yIiwgIlRhZ3MiLCAiRnJvbSJ9KShrKSB0aGVuCgogICAgICAgICAgICB0YWJsZS5pbnNlcnQoc3Bhd24uVGFncywge25hbWUgPSBrLCB2YWx1ZSA9IHZ9KQoKICAgICAgICBlbmQKCiAgICBlbmQKCgoKICAgIGlmIG1zZy5UYWdzIHRoZW4KCiAgICAgICAgaWYgaXNBcnJheShtc2cuVGFncykgdGhlbgoKICAgICAgICAgICAgZm9yIF8sIG8gaW4gaXBhaXJzKG1zZy5UYWdzKSBkbwoKICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChzcGF3bi5UYWdzLCBvKQoKICAgICAgICAgICAgZW5kCgogICAgICAgIGVsc2UKCiAgICAgICAgICAgIGZvciBrLCB2IGluIHBhaXJzKG1zZy5UYWdzKSBkbwoKICAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChzcGF3bi5UYWdzLCB7bmFtZSA9IGssIHZhbHVlID0gdn0pCgogICAgICAgICAgICBlbmQKCiAgICAgICAgZW5kCgogICAgZW5kCgoKCiAgICAtLSBJZiBydW5uaW5nIGluIGFuIGVudmlyb25tZW50IHdpdGhvdXQgdGhlIEFPUyBIYW5kbGVycyBtb2R1bGUsIGRvIG5vdCBhZGQKCiAgICAtLSB0aGUgYWZ0ZXIgYW5kIHJlY2VpdmUgZnVuY3Rpb25zIHRvIHRoZSBzcGF3bi4KCiAgICBpZiBub3QgSGFuZGxlcnMgdGhlbiByZXR1cm4gc3Bhd24gZW5kCgoKCiAgICAtLSBjbG9uZSBzcGF3biBpbmZvIGFuZCBhZGQgdG8gb3V0Ym94CgogICAgbG9jYWwgZXh0U3Bhd24gPSB7fQoKICAgIGZvciBrLCB2IGluIHBhaXJzKHNwYXduKSBkbyBleHRTcGF3bltrXSA9IHYgZW5kCgoKCiAgICB0YWJsZS5pbnNlcnQoYW8ub3V0Ym94LlNwYXducywgZXh0U3Bhd24pCgoKCiAgICAtLSBhZGQgJ2FmdGVyJyBjYWxsYmFjayB0byByZXR1cm5lZCB0YWJsZQoKICAgIC0tIGxvY2FsIHJlc3VsdCA9IHt9CgogICAgc3Bhd24ub25SZXBseSA9IGZ1bmN0aW9uKGNhbGxiYWNrKQoKICAgICAgICBIYW5kbGVycy5vbmNlKHsKCiAgICAgICAgICAgIEFjdGlvbiA9ICJTcGF3bmVkIiwKCiAgICAgICAgICAgIEZyb20gPSBhby5pZCwKCiAgICAgICAgICAgIFsiUmVmZXJlbmNlIl0gPSBzcGF3blJlZgoKICAgICAgICB9LCBjYWxsYmFjaykKCiAgICBlbmQKCgoKICAgIHNwYXduLnJlY2VpdmUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBIYW5kbGVycy5yZWNlaXZlKHsKCiAgICAgICAgICAgIEFjdGlvbiA9ICJTcGF3bmVkIiwKCiAgICAgICAgICAgIEZyb20gPSBhby5pZCwKCiAgICAgICAgICAgIFsiUmVmZXJlbmNlIl0gPSBzcGF3blJlZgoKICAgICAgICB9KQoKCgogICAgZW5kCgoKCiAgICByZXR1cm4gc3Bhd24KCmVuZAoKCgotLS0gQXNzaWducyBhIG1lc3NhZ2UgdG8gYSBwcm9jZXNzLgoKLS0gQGZ1bmN0aW9uIGFzc2lnbgoKLS0gQHRwYXJhbSB7dGFibGV9IGFzc2lnbm1lbnQgVGhlIGFzc2lnbm1lbnQgdG8gYXNzaWduCgpmdW5jdGlvbiBhby5hc3NpZ24oYXNzaWdubWVudCkKCiAgICBhc3NlcnQodHlwZShhc3NpZ25tZW50KSA9PSAndGFibGUnLCAnYXNzaWdubWVudCBzaG91bGQgYmUgYSB0YWJsZScpCgogICAgYXNzZXJ0KHR5cGUoYXNzaWdubWVudC5Qcm9jZXNzZXMpID09ICd0YWJsZScsICdQcm9jZXNzZXMgc2hvdWxkIGJlIGEgdGFibGUnKQoKICAgIGFzc2VydCh0eXBlKGFzc2lnbm1lbnQuTWVzc2FnZSkgPT0gInN0cmluZyIsICJNZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZyIpCgogICAgdGFibGUuaW5zZXJ0KGFvLm91dGJveC5Bc3NpZ25tZW50cywgYXNzaWdubWVudCkKCmVuZAoKCgotLS0gQ2hlY2tzIGlmIGEgbWVzc2FnZSBpcyB0cnVzdGVkLgoKLS0gVGhlIGRlZmF1bHQgc2VjdXJpdHkgbW9kZWwgb2YgQU9TIHByb2Nlc3NlczogVHJ1c3QgYWxsIGFuZCAqb25seSogdGhvc2Ugb24gdGhlIGFvLmF1dGhvcml0aWVzIGxpc3QuCgotLSBAZnVuY3Rpb24gaXNUcnVzdGVkCgotLSBAdHBhcmFtIHt0YWJsZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGNoZWNrCgotLSBAdHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgbWVzc2FnZSBpcyB0cnVzdGVkLCBmYWxzZSBvdGhlcndpc2UKCmZ1bmN0aW9uIGFvLmlzVHJ1c3RlZChtc2cpCgogICAgZm9yIF8sIGF1dGhvcml0eSBpbiBpcGFpcnMoYW8uYXV0aG9yaXRpZXMpIGRvCgogICAgICAgIGlmIG1zZy5Gcm9tID09IGF1dGhvcml0eSB0aGVuIHJldHVybiB0cnVlIGVuZAoKICAgICAgICBpZiBtc2cuT3duZXIgPT0gYXV0aG9yaXR5IHRoZW4gcmV0dXJuIHRydWUgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIGZhbHNlCgplbmQKCgoKLS0tIFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgcHJvY2Vzcy4KCi0tIEBmdW5jdGlvbiByZXN1bHQKCi0tIEB0cGFyYW0ge3RhYmxlfSByZXN1bHQgVGhlIHJlc3VsdCBvZiB0aGUgcHJvY2VzcwoKLS0gQHRyZXR1cm4ge3RhYmxlfSBUaGUgcmVzdWx0IG9mIHRoZSBwcm9jZXNzLCBpbmNsdWRpbmcgT3V0cHV0LCBNZXNzYWdlcywgU3Bhd25zLCBhbmQgQXNzaWdubWVudHMKCmZ1bmN0aW9uIGFvLnJlc3VsdChyZXN1bHQpCgogICAgLS0gaWYgZXJyb3IgdGhlbiBvbmx5IHNlbmQgdGhlIEVycm9yIHRvIENVCgogICAgaWYgYW8ub3V0Ym94LkVycm9yIG9yIHJlc3VsdC5FcnJvciB0aGVuCgogICAgICAgIHJldHVybiB7RXJyb3IgPSByZXN1bHQuRXJyb3Igb3IgYW8ub3V0Ym94LkVycm9yfQoKICAgIGVuZAoKICAgIHJldHVybiB7CgogICAgICAgIE91dHB1dCA9IHJlc3VsdC5PdXRwdXQgb3IgYW8ub3V0Ym94Lk91dHB1dCwKCiAgICAgICAgTWVzc2FnZXMgPSBhby5vdXRib3guTWVzc2FnZXMsCgogICAgICAgIFNwYXducyA9IGFvLm91dGJveC5TcGF3bnMsCgogICAgICAgIEFzc2lnbm1lbnRzID0gYW8ub3V0Ym94LkFzc2lnbm1lbnRzCgogICAgfQoKZW5kCgoKCgoKLS0tIEFkZCB0aGUgTWF0Y2hTcGVjIHRvIHRoZSBhby5hc3NpZ25hYmxlcyB0YWJsZS4gQSBvcHRpb25hbCBuYW1lIG1heSBiZSBwcm92aWRlZC4KCi0tIFRoaXMgaW1wbGllcyB0aGF0IGFvLmFzc2lnbmFibGVzIG1heSBoYXZlIGJvdGggbnVtYmVyIGFuZCBzdHJpbmcgaW5kaWNlcy4KCi0tIEFkZGVkIGluIHRoZSBhc3NpZ25tZW50IG1vZHVsZS4KCi0tIEBmdW5jdGlvbiBhZGRBc3NpZ25hYmxlCgotLSBAdHBhcmFtID9zdHJpbmd8bnVtYmVyfGFueSBuYW1lT3JNYXRjaFNwZWMgVGhlIG5hbWUgb2YgdGhlIE1hdGNoU3BlYwoKLS0gICAgICAgIHRvIGJlIGFkZGVkIHRvIGFvLmFzc2lnbmFibGVzLiBpZiBhIE1hdGNoU3BlYyBpcyBwcm92aWRlZCwgdGhlbgoKLS0gICAgICAgIG5vIG5hbWUgaXMgaW5jbHVkZWQKCi0tIEB0cGFyYW0gP2FueSBtYXRjaFNwZWMgVGhlIE1hdGNoU3BlYyB0byBiZSBhZGRlZCB0byBhby5hc3NpZ25hYmxlcy4gT25seSBwcm92aWRlZAoKLS0gICAgICAgIGlmIGl0cyBuYW1lIGlzIHBhc3NlZCBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyCgotLSBAdHJldHVybiA/c3RyaW5nfG51bWJlciBuYW1lIFRoZSBuYW1lIG9mIHRoZSBNYXRjaFNwZWMsIGVpdGhlciBhcyBwcm92aWRlZAoKLS0gICAgICAgICAgYXMgYW4gYXJndW1lbnQgb3IgYXMgaW5jcmVtZW50ZWQKCi0tIEBzZWUgYXNzaWdubWVudAoKCgotLS0gUmVtb3ZlIHRoZSBNYXRjaFNwZWMsIGVpdGhlciBieSBuYW1lIG9yIGJ5IGluZGV4CgotLSBJZiB0aGUgbmFtZSBpcyBub3QgZm91bmQsIG9yIGlmIHRoZSBpbmRleCBkb2VzIG5vdCBleGlzdCwgdGhlbiBkbyBub3RoaW5nLgoKLS0gQWRkZWQgaW4gdGhlIGFzc2lnbm1lbnQgbW9kdWxlLgoKLS0gQGZ1bmN0aW9uIHJlbW92ZUFzc2lnbmFibGUKCi0tIEB0cGFyYW0ge3N0cmluZ3xudW1iZXJ9IG5hbWUgVGhlIG5hbWUgb3IgaW5kZXggb2YgdGhlIE1hdGNoU3BlYyB0byBiZSByZW1vdmVkCgotLSBAc2VlIGFzc2lnbm1lbnQKCgoKLS0tIFJldHVybiB3aGV0aGVyIHRoZSBtc2cgaXMgYW4gYXNzaWdubWVudCBvciBub3QuIFRoaXMgY2FuIGJlIGRldGVybWluZWQgYnkgc2ltcGx5IGNoZWNrIHdoZXRoZXIgdGhlIG1zZydzIFRhcmdldCBpcyB0aGlzIHByb2Nlc3MnIGlkCgotLSBBZGRlZCBpbiB0aGUgYXNzaWdubWVudCBtb2R1bGUuCgotLSBAZnVuY3Rpb24gaXNBc3NpZ25tZW50CgotLSBAcGFyYW0gbXNnIFRoZSBtc2cgdG8gYmUgY2hlY2tlZAoKLS0gQHRyZXR1cm4gYm9vbGVhbiBpc0Fzc2lnbm1lbnQKCi0tIEBzZWUgYXNzaWdubWVudAoKCgotLS0gQ2hlY2sgd2hldGhlciB0aGUgbXNnIG1hdGNoZXMgYW55IGFzc2lnbmFibGUgTWF0Y2hTcGVjLgoKLS0gSWYgbm90IGFzc2lnbmFibGVzIGFyZSBjb25maWd1cmVkLCB0aGUgbXNnIGlzIGRlZW1lZCBub3QgYXNzaWduYWJsZSwgYnkgZGVmYXVsdC4KCi0tIEFkZGVkIGluIHRoZSBhc3NpZ25tZW50IG1vZHVsZS4KCi0tIEBmdW5jdGlvbiBpc0Fzc2lnbmFibGUKCi0tIEBwYXJhbSBtc2cgVGhlIG1zZyB0byBiZSBjaGVja2VkCgotLSBAdHJldHVybiBib29sZWFuIGlzQXNzaWduYWJsZQoKLS0gQHNlZSBhc3NpZ25tZW50CgoKCnJldHVybiBhbwoAQvDxAQvkFi0tLSBUaGUgQXNzaWdubWVudCBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgaGFuZGxpbmcgYXNzaWdubWVudHMuIFJldHVybnMgdGhlIEFzc2lnbm1lbnQgdGFibGUuCgotLSBAbW9kdWxlIGFzc2lnbm1lbnQKCgoKLS0tIFRoZSBBc3NpZ25tZW50IG1vZHVsZQoKLS0gQHRhYmxlIEFzc2lnbm1lbnQKCi0tIEBmaWVsZCBfdmVyc2lvbiBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIGFzc2lnbm1lbnQgbW9kdWxlCgotLSBAZmllbGQgaW5pdCBUaGUgaW5pdCBmdW5jdGlvbgoKbG9jYWwgQXNzaWdubWVudCA9IHsgX3ZlcnNpb24gPSAiMC4xLjAiIH0KCmxvY2FsIHV0aWxzID0gcmVxdWlyZSgnLnV0aWxzJykKCgoKLS0tIEltcGxlbWVudCBhc3NpZ25hYmxlIHBvbHlmaWxscyBvbiBhby4KCi0tIENyZWF0ZXMgYWRkQXNzaWduYWJsZSwgcmVtb3ZlQXNzaWduYWJsZSwgaXNBc3NpZ25tZW50LCBhbmQgaXNBc3NpZ25hYmxlIGZpZWxkcyBvbiBhby4KCi0tIEBmdW5jdGlvbiBpbml0CgotLSBAdHBhcmFtIHt0YWJsZX0gYW8gVGhlIGFvIGVudmlyb25tZW50IG9iamVjdAoKLS0gQHNlZSBhby5hZGRBc3NpZ25hYmxlCgotLSBAc2VlIGFvLnJlbW92ZUFzc2lnbmFibGUKCi0tIEBzZWUgYW8uaXNBc3NpZ25tZW50CgotLSBAc2VlIGFvLmlzQXNzaWduYWJsZQoKZnVuY3Rpb24gQXNzaWdubWVudC5pbml0IChhbykKCiAgLS0gRmluZCB0aGUgaW5kZXggb2YgYW4gb2JqZWN0IGluIGFuIGFycmF5IGJ5IGEgZ2l2ZW4gcHJvcGVydHkKCiAgLS0gQGxmdW5jdGlvbiBmaW5kSW5kZXhCeVByb3AKCiAgLS0gQHRwYXJhbSB7dGFibGV9IGFycmF5IFRoZSBhcnJheSB0byBzZWFyY2gKCiAgLS0gQHRwYXJhbSB7c3RyaW5nfSBwcm9wIFRoZSBwcm9wZXJ0eSB0byBzZWFyY2ggYnkKCiAgLS0gQHRwYXJhbSB7YW55fSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvcgoKICAtLSBAdHJldHVybiB7bnVtYmVyfG5pbH0gVGhlIGluZGV4IG9mIHRoZSBvYmplY3QsIG9yIG5pbCBpZiBub3QgZm91bmQKCiAgbG9jYWwgZnVuY3Rpb24gZmluZEluZGV4QnlQcm9wKGFycmF5LCBwcm9wLCB2YWx1ZSkKCiAgICBmb3IgaW5kZXgsIG9iamVjdCBpbiBpcGFpcnMoYXJyYXkpIGRvCgogICAgICBpZiBvYmplY3RbcHJvcF0gPT0gdmFsdWUgdGhlbiByZXR1cm4gaW5kZXggZW5kCgogICAgZW5kCgoKCiAgICByZXR1cm4gbmlsCgogIGVuZAoKCgogIGFvLmFzc2lnbmFibGVzID0gYW8uYXNzaWduYWJsZXMgb3Ige30KCgoKICBhby5hZGRBc3NpZ25hYmxlID0gYW8uYWRkQXNzaWduYWJsZSBvciBmdW5jdGlvbiAoLi4uKQoKICAgIGxvY2FsIG5hbWUgPSBuaWwKCiAgICBsb2NhbCBtYXRjaFNwZWMgPSBuaWwKCgoKICAgIGxvY2FsIGlkeCA9IG5pbAoKCgogICAgLS0gSW5pdGlhbGl6ZSB0aGUgcGFyYW1ldGVycyBiYXNlZCBvbiBhcmd1bWVudHMKCiAgICBpZiBzZWxlY3QoIiMiLCAuLi4pID09IDEgdGhlbgoKICAgICAgbWF0Y2hTcGVjID0gc2VsZWN0KDEsIC4uLikKCiAgICBlbHNlCgogICAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICAgIG1hdGNoU3BlYyA9IHNlbGVjdCgyLCAuLi4pCgogICAgICBhc3NlcnQodHlwZShuYW1lKSA9PSAnc3RyaW5nJywgJ01hdGNoU3BlYyBuYW1lIE1VU1QgYmUgYSBzdHJpbmcnKQoKICAgIGVuZAoKCgogICAgaWYgbmFtZSB0aGVuIGlkeCA9IGZpbmRJbmRleEJ5UHJvcChhby5hc3NpZ25hYmxlcywgIm5hbWUiLCBuYW1lKSBlbmQKCgoKICAgIGlmIGlkeCB+PSBuaWwgYW5kIGlkeCA+IDAgdGhlbgoKICAgICAgLS0gZm91bmQgdXBkYXRlCgogICAgICBhby5hc3NpZ25hYmxlc1tpZHhdLnBhdHRlcm4gPSBtYXRjaFNwZWMKCiAgICBlbHNlCgogICAgICAtLSBhcHBlbmQgdGhlIG5ldyBhc3NpZ25hYmxlLCBpbmNsdWRpbmcgcG90ZW50aWFsbHkgbmlsIG5hbWUKCiAgICAgIHRhYmxlLmluc2VydChhby5hc3NpZ25hYmxlcywgeyBwYXR0ZXJuID0gbWF0Y2hTcGVjLCBuYW1lID0gbmFtZSB9KQoKICAgIGVuZAoKICBlbmQKCgoKICBhby5yZW1vdmVBc3NpZ25hYmxlID0gYW8ucmVtb3ZlQXNzaWduYWJsZSBvciBmdW5jdGlvbiAobmFtZSkKCiAgICBsb2NhbCBpZHggPSBuaWwKCgoKICAgIGlmIHR5cGUobmFtZSkgPT0gJ3N0cmluZycgdGhlbiBpZHggPSBmaW5kSW5kZXhCeVByb3AoYW8uYXNzaWduYWJsZXMsICJuYW1lIiwgbmFtZSkKCiAgICBlbHNlCgogICAgICBhc3NlcnQodHlwZShuYW1lKSA9PSAnbnVtYmVyJywgJ2luZGV4IE1VU1QgYmUgYSBudW1iZXInKQoKICAgICAgaWR4ID0gbmFtZQoKICAgIGVuZAoKCgogICAgaWYgaWR4ID09IG5pbCBvciBpZHggPD0gMCBvciBpZHggPiAjYW8uYXNzaWduYWJsZXMgdGhlbiByZXR1cm4gZW5kCgoKCiAgICB0YWJsZS5yZW1vdmUoYW8uYXNzaWduYWJsZXMsIGlkeCkKCiAgZW5kCgoKCiAgYW8uaXNBc3NpZ25tZW50ID0gYW8uaXNBc3NpZ25tZW50IG9yIGZ1bmN0aW9uIChtc2cpIHJldHVybiBtc2cuVGFyZ2V0IH49IGFvLmlkIGVuZAoKCgogIGFvLmlzQXNzaWduYWJsZSA9IGFvLmlzQXNzaWduYWJsZSBvciBmdW5jdGlvbiAobXNnKQoKICAgIGZvciBfLCBhc3NpZ25hYmxlIGluIHBhaXJzKGFvLmFzc2lnbmFibGVzKSBkbwoKICAgICAgaWYgdXRpbHMubWF0Y2hlc1NwZWMobXNnLCBhc3NpZ25hYmxlLnBhdHRlcm4pIHRoZW4gcmV0dXJuIHRydWUgZW5kCgogICAgZW5kCgoKCiAgICAtLSBJZiBhc3NpZ25hYmxlcyBpcyBlbXB0eSwgdGhlIHRoZSBhYm92ZSBsb29wIHdpbGwgbm9vcCwKCiAgICAtLSBhbmQgdGhpcyBleHByZXNzaW9uIHdpbGwgZXhlY3V0ZS4KCiAgICAtLQoKICAgIC0tIEluIG90aGVyIHdvcmRzLCBhbGwgbXNncyBhcmUgbm90IGFzc2lnbmFibGUsIGJ5IGRlZmF1bHQuCgogICAgcmV0dXJuIGZhbHNlCgogIGVuZAoKZW5kCgoKCnJldHVybiBBc3NpZ25tZW50CgBC4IgCC9M5LS1bWwoKCgogYmFzZTY0IC0tIHYxLjUuMyBwdWJsaWMgZG9tYWluIEx1YSBiYXNlNjQgZW5jb2Rlci9kZWNvZGVyCgogbm8gd2FycmFudHkgaW1wbGllZDsgdXNlIGF0IHlvdXIgb3duIHJpc2sKCgoKIE5lZWRzIGJpdDMyLmV4dHJhY3QgZnVuY3Rpb24uIElmIG5vdCBwcmVzZW50IGl0J3MgaW1wbGVtZW50ZWQgdXNpbmcgQml0T3AKCiBvciBMdWEgNS4zIG5hdGl2ZSBiaXQgb3BlcmF0b3JzLiBGb3IgTHVhIDUuMSBmYWxsYmFja3MgdG8gcHVyZSBMdWEKCiBpbXBsZW1lbnRhdGlvbiBpbnNwaXJlZCBieSBSaWNpIExha2UncyBwb3N0OgoKICAgaHR0cDovL3JpY2lsYWtlLmJsb2dzcG90LmNvLnVrLzIwMDcvMTAvaXRlcmF0aW5nLWJpdHMtaW4tbHVhLmh0bWwKCgoKIGF1dGhvcjogSWx5YSBLb2xiaW4gKGlza29sYmluQGdtYWlsLmNvbSkKCiB1cmw6IGdpdGh1Yi5jb20vaXNrb2xiaW4vbGJhc2U2NAoKCgogQ09NUEFUSUJJTElUWQoKCgogTHVhIDUuMSssIEx1YUpJVAoKCgogTElDRU5TRQoKCgogU2VlIGVuZCBvZiBmaWxlIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLgoKCgotLV1dCgoKCgoKbG9jYWwgYmFzZTY0ID0ge30KCgoKbG9jYWwgZXh0cmFjdCA9IF9HLmJpdDMyIGFuZCBfRy5iaXQzMi5leHRyYWN0IC0tIEx1YSA1LjIvTHVhIDUuMyBpbiBjb21wYXRpYmlsaXR5IG1vZGUKCmlmIG5vdCBleHRyYWN0IHRoZW4KCglpZiBfRy5iaXQgdGhlbiAtLSBMdWFKSVQKCgkJbG9jYWwgc2hsLCBzaHIsIGJhbmQgPSBfRy5iaXQubHNoaWZ0LCBfRy5iaXQucnNoaWZ0LCBfRy5iaXQuYmFuZAoKCQlleHRyYWN0ID0gZnVuY3Rpb24oIHYsIGZyb20sIHdpZHRoICkKCgkJCXJldHVybiBiYW5kKCBzaHIoIHYsIGZyb20gKSwgc2hsKCAxLCB3aWR0aCApIC0gMSApCgoJCWVuZAoKCWVsc2VpZiBfRy5fVkVSU0lPTiA9PSAiTHVhIDUuMSIgdGhlbgoKCQlleHRyYWN0ID0gZnVuY3Rpb24oIHYsIGZyb20sIHdpZHRoICkKCgkJCWxvY2FsIHcgPSAwCgoJCQlsb2NhbCBmbGFnID0gMl5mcm9tCgoJCQlmb3IgaSA9IDAsIHdpZHRoLTEgZG8KCgkJCQlsb2NhbCBmbGFnMiA9IGZsYWcgKyBmbGFnCgoJCQkJaWYgdiAlIGZsYWcyID49IGZsYWcgdGhlbgoKCQkJCQl3ID0gdyArIDJeaQoKCQkJCWVuZAoKCQkJCWZsYWcgPSBmbGFnMgoKCQkJZW5kCgoJCQlyZXR1cm4gdwoKCQllbmQKCgllbHNlIC0tIEx1YSA1LjMrCgoJCWV4dHJhY3QgPSBsb2FkW1tyZXR1cm4gZnVuY3Rpb24oIHYsIGZyb20sIHdpZHRoICkKCgkJCXJldHVybiAoIHYgPj4gZnJvbSApICYgKCgxIDw8IHdpZHRoKSAtIDEpCgoJCWVuZF1dKCkKCgllbmQKCmVuZAoKCgoKCmZ1bmN0aW9uIGJhc2U2NC5tYWtlZW5jb2RlciggczYyLCBzNjMsIHNwYWQgKQoKCWxvY2FsIGVuY29kZXIgPSB7fQoKCWZvciBiNjRjb2RlLCBjaGFyIGluIHBhaXJze1swXT0nQScsJ0InLCdDJywnRCcsJ0UnLCdGJywnRycsJ0gnLCdJJywnSicsCgoJCSdLJywnTCcsJ00nLCdOJywnTycsJ1AnLCdRJywnUicsJ1MnLCdUJywnVScsJ1YnLCdXJywnWCcsJ1knLAoKCQknWicsJ2EnLCdiJywnYycsJ2QnLCdlJywnZicsJ2cnLCdoJywnaScsJ2onLCdrJywnbCcsJ20nLCduJywKCgkJJ28nLCdwJywncScsJ3InLCdzJywndCcsJ3UnLCd2JywndycsJ3gnLCd5JywneicsJzAnLCcxJywnMicsCgoJCSczJywnNCcsJzUnLCc2JywnNycsJzgnLCc5JyxzNjIgb3IgJysnLHM2MyBvcicvJyxzcGFkIG9yJz0nfSBkbwoKCQllbmNvZGVyW2I2NGNvZGVdID0gY2hhcjpieXRlKCkKCgllbmQKCglyZXR1cm4gZW5jb2RlcgoKZW5kCgoKCmZ1bmN0aW9uIGJhc2U2NC5tYWtlZGVjb2RlciggczYyLCBzNjMsIHNwYWQgKQoKCWxvY2FsIGRlY29kZXIgPSB7fQoKCWZvciBiNjRjb2RlLCBjaGFyY29kZSBpbiBwYWlycyggYmFzZTY0Lm1ha2VlbmNvZGVyKCBzNjIsIHM2Mywgc3BhZCApKSBkbwoKCQlkZWNvZGVyW2NoYXJjb2RlXSA9IGI2NGNvZGUKCgllbmQKCglyZXR1cm4gZGVjb2RlcgoKZW5kCgoKCmxvY2FsIERFRkFVTFRfRU5DT0RFUiA9IGJhc2U2NC5tYWtlZW5jb2RlcigpCgpsb2NhbCBERUZBVUxUX0RFQ09ERVIgPSBiYXNlNjQubWFrZWRlY29kZXIoKQoKCgpsb2NhbCBjaGFyLCBjb25jYXQgPSBzdHJpbmcuY2hhciwgdGFibGUuY29uY2F0CgoKCmZ1bmN0aW9uIGJhc2U2NC5lbmNvZGUoIHN0ciwgZW5jb2RlciwgdXNlY2FjaGluZyApCgoJZW5jb2RlciA9IGVuY29kZXIgb3IgREVGQVVMVF9FTkNPREVSCgoJbG9jYWwgdCwgaywgbiA9IHt9LCAxLCAjc3RyCgoJbG9jYWwgbGFzdG4gPSBuICUgMwoKCWxvY2FsIGNhY2hlID0ge30KCglmb3IgaSA9IDEsIG4tbGFzdG4sIDMgZG8KCgkJbG9jYWwgYSwgYiwgYyA9IHN0cjpieXRlKCBpLCBpKzIgKQoKCQlsb2NhbCB2ID0gYSoweDEwMDAwICsgYioweDEwMCArIGMKCgkJbG9jYWwgcwoKCQlpZiB1c2VjYWNoaW5nIHRoZW4KCgkJCXMgPSBjYWNoZVt2XQoKCQkJaWYgbm90IHMgdGhlbgoKCQkJCXMgPSBjaGFyKGVuY29kZXJbZXh0cmFjdCh2LDE4LDYpXSwgZW5jb2RlcltleHRyYWN0KHYsMTIsNildLCBlbmNvZGVyW2V4dHJhY3Qodiw2LDYpXSwgZW5jb2RlcltleHRyYWN0KHYsMCw2KV0pCgoJCQkJY2FjaGVbdl0gPSBzCgoJCQllbmQKCgkJZWxzZQoKCQkJcyA9IGNoYXIoZW5jb2RlcltleHRyYWN0KHYsMTgsNildLCBlbmNvZGVyW2V4dHJhY3QodiwxMiw2KV0sIGVuY29kZXJbZXh0cmFjdCh2LDYsNildLCBlbmNvZGVyW2V4dHJhY3QodiwwLDYpXSkKCgkJZW5kCgoJCXRba10gPSBzCgoJCWsgPSBrICsgMQoKCWVuZAoKCWlmIGxhc3RuID09IDIgdGhlbgoKCQlsb2NhbCBhLCBiID0gc3RyOmJ5dGUoIG4tMSwgbiApCgoJCWxvY2FsIHYgPSBhKjB4MTAwMDAgKyBiKjB4MTAwCgoJCXRba10gPSBjaGFyKGVuY29kZXJbZXh0cmFjdCh2LDE4LDYpXSwgZW5jb2RlcltleHRyYWN0KHYsMTIsNildLCBlbmNvZGVyW2V4dHJhY3Qodiw2LDYpXSwgZW5jb2Rlcls2NF0pCgoJZWxzZWlmIGxhc3RuID09IDEgdGhlbgoKCQlsb2NhbCB2ID0gc3RyOmJ5dGUoIG4gKSoweDEwMDAwCgoJCXRba10gPSBjaGFyKGVuY29kZXJbZXh0cmFjdCh2LDE4LDYpXSwgZW5jb2RlcltleHRyYWN0KHYsMTIsNildLCBlbmNvZGVyWzY0XSwgZW5jb2Rlcls2NF0pCgoJZW5kCgoJcmV0dXJuIGNvbmNhdCggdCApCgplbmQKCgoKZnVuY3Rpb24gYmFzZTY0LmRlY29kZSggYjY0LCBkZWNvZGVyLCB1c2VjYWNoaW5nICkKCglkZWNvZGVyID0gZGVjb2RlciBvciBERUZBVUxUX0RFQ09ERVIKCglsb2NhbCBwYXR0ZXJuID0gJ1teJXclKyUvJT1dJwoKCWlmIGRlY29kZXIgdGhlbgoKCQlsb2NhbCBzNjIsIHM2MwoKCQlmb3IgY2hhcmNvZGUsIGI2NGNvZGUgaW4gcGFpcnMoIGRlY29kZXIgKSBkbwoKCQkJaWYgYjY0Y29kZSA9PSA2MiB0aGVuIHM2MiA9IGNoYXJjb2RlCgoJCQllbHNlaWYgYjY0Y29kZSA9PSA2MyB0aGVuIHM2MyA9IGNoYXJjb2RlCgoJCQllbmQKCgkJZW5kCgoJCXBhdHRlcm4gPSAoJ1teJSV3JSUlcyUlJXMlJT1dJyk6Zm9ybWF0KCBjaGFyKHM2MiksIGNoYXIoczYzKSApCgoJZW5kCgoJYjY0ID0gYjY0OmdzdWIoIHBhdHRlcm4sICcnICkKCglsb2NhbCBjYWNoZSA9IHVzZWNhY2hpbmcgYW5kIHt9CgoJbG9jYWwgdCwgayA9IHt9LCAxCgoJbG9jYWwgbiA9ICNiNjQKCglsb2NhbCBwYWRkaW5nID0gYjY0OnN1YigtMikgPT0gJz09JyBhbmQgMiBvciBiNjQ6c3ViKC0xKSA9PSAnPScgYW5kIDEgb3IgMAoKCWZvciBpID0gMSwgcGFkZGluZyA+IDAgYW5kIG4tNCBvciBuLCA0IGRvCgoJCWxvY2FsIGEsIGIsIGMsIGQgPSBiNjQ6Ynl0ZSggaSwgaSszICkKCgkJbG9jYWwgcwoKCQlpZiB1c2VjYWNoaW5nIHRoZW4KCgkJCWxvY2FsIHYwID0gYSoweDEwMDAwMDAgKyBiKjB4MTAwMDAgKyBjKjB4MTAwICsgZAoKCQkJcyA9IGNhY2hlW3YwXQoKCQkJaWYgbm90IHMgdGhlbgoKCQkJCWxvY2FsIHYgPSBkZWNvZGVyW2FdKjB4NDAwMDAgKyBkZWNvZGVyW2JdKjB4MTAwMCArIGRlY29kZXJbY10qMHg0MCArIGRlY29kZXJbZF0KCgkJCQlzID0gY2hhciggZXh0cmFjdCh2LDE2LDgpLCBleHRyYWN0KHYsOCw4KSwgZXh0cmFjdCh2LDAsOCkpCgoJCQkJY2FjaGVbdjBdID0gcwoKCQkJZW5kCgoJCWVsc2UKCgkJCWxvY2FsIHYgPSBkZWNvZGVyW2FdKjB4NDAwMDAgKyBkZWNvZGVyW2JdKjB4MTAwMCArIGRlY29kZXJbY10qMHg0MCArIGRlY29kZXJbZF0KCgkJCXMgPSBjaGFyKCBleHRyYWN0KHYsMTYsOCksIGV4dHJhY3Qodiw4LDgpLCBleHRyYWN0KHYsMCw4KSkKCgkJZW5kCgoJCXRba10gPSBzCgoJCWsgPSBrICsgMQoKCWVuZAoKCWlmIHBhZGRpbmcgPT0gMSB0aGVuCgoJCWxvY2FsIGEsIGIsIGMgPSBiNjQ6Ynl0ZSggbi0zLCBuLTEgKQoKCQlsb2NhbCB2ID0gZGVjb2RlclthXSoweDQwMDAwICsgZGVjb2RlcltiXSoweDEwMDAgKyBkZWNvZGVyW2NdKjB4NDAKCgkJdFtrXSA9IGNoYXIoIGV4dHJhY3QodiwxNiw4KSwgZXh0cmFjdCh2LDgsOCkpCgoJZWxzZWlmIHBhZGRpbmcgPT0gMiB0aGVuCgoJCWxvY2FsIGEsIGIgPSBiNjQ6Ynl0ZSggbi0zLCBuLTIgKQoKCQlsb2NhbCB2ID0gZGVjb2RlclthXSoweDQwMDAwICsgZGVjb2RlcltiXSoweDEwMDAKCgkJdFtrXSA9IGNoYXIoIGV4dHJhY3QodiwxNiw4KSkKCgllbmQKCglyZXR1cm4gY29uY2F0KCB0ICkKCmVuZAoKCgpyZXR1cm4gYmFzZTY0CgoKCi0tW1sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhpcyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdW5kZXIgMiBsaWNlbnNlcyAtLSBjaG9vc2Ugd2hpY2hldmVyIHlvdSBwcmVmZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkFMVEVSTkFUSVZFIEEgLSBNSVQgTGljZW5zZQoKQ29weXJpZ2h0IChjKSAyMDE4IElseWEgS29sYmluCgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCgp0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgoKdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bwoKdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMKCm9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbwoKc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCgpjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAoKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCgpBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCgpMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAoKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKClNPRlRXQVJFLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBTFRFUk5BVElWRSBCIC0gUHVibGljIERvbWFpbiAod3d3LnVubGljZW5zZS5vcmcpCgpUaGlzIGlzIGZyZWUgYW5kIHVuZW5jdW1iZXJlZCBzb2Z0d2FyZSByZWxlYXNlZCBpbnRvIHRoZSBwdWJsaWMgZG9tYWluLgoKQW55b25lIGlzIGZyZWUgdG8gY29weSwgbW9kaWZ5LCBwdWJsaXNoLCB1c2UsIGNvbXBpbGUsIHNlbGwsIG9yIGRpc3RyaWJ1dGUgdGhpcwoKc29mdHdhcmUsIGVpdGhlciBpbiBzb3VyY2UgY29kZSBmb3JtIG9yIGFzIGEgY29tcGlsZWQgYmluYXJ5LCBmb3IgYW55IHB1cnBvc2UsCgpjb21tZXJjaWFsIG9yIG5vbi1jb21tZXJjaWFsLCBhbmQgYnkgYW55IG1lYW5zLgoKSW4ganVyaXNkaWN0aW9ucyB0aGF0IHJlY29nbml6ZSBjb3B5cmlnaHQgbGF3cywgdGhlIGF1dGhvciBvciBhdXRob3JzIG9mIHRoaXMKCnNvZnR3YXJlIGRlZGljYXRlIGFueSBhbmQgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUgc29mdHdhcmUgdG8gdGhlIHB1YmxpYwoKZG9tYWluLiBXZSBtYWtlIHRoaXMgZGVkaWNhdGlvbiBmb3IgdGhlIGJlbmVmaXQgb2YgdGhlIHB1YmxpYyBhdCBsYXJnZSBhbmQgdG8KCnRoZSBkZXRyaW1lbnQgb2Ygb3VyIGhlaXJzIGFuZCBzdWNjZXNzb3JzLiBXZSBpbnRlbmQgdGhpcyBkZWRpY2F0aW9uIHRvIGJlIGFuCgpvdmVydCBhY3Qgb2YgcmVsaW5xdWlzaG1lbnQgaW4gcGVycGV0dWl0eSBvZiBhbGwgcHJlc2VudCBhbmQgZnV0dXJlIHJpZ2h0cyB0bwoKdGhpcyBzb2Z0d2FyZSB1bmRlciBjb3B5cmlnaHQgbGF3LgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKCklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAoKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCgpBVVRIT1JTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgoKQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTgoKV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0tXV0AQsDCAgujlAMtLVtbLS0KCmx1YS1iaW50IC0gdjAuNS4xIC0gMjYvSnVuLzIwMjMKCkVkdWFyZG8gQmFydCAtIGVkdWI0cnRAZ21haWwuY29tCgpodHRwczovL2dpdGh1Yi5jb20vZWR1YmFydC9sdWEtYmludAoKCgpTbWFsbCBwb3J0YWJsZSBhcmJpdHJhcnktcHJlY2lzaW9uIGludGVnZXIgYXJpdGhtZXRpYyBsaWJyYXJ5IGluIHB1cmUgTHVhIGZvcgoKY29tcHV0aW5nIHdpdGggbGFyZ2UgaW50ZWdlcnMuCgoKCkRpZmZlcmVudCBmcm9tIG1vc3QgYXJiaXRyYXJ5LXByZWNpc2lvbiBpbnRlZ2VyIGxpYnJhcmllcyBpbiBwdXJlIEx1YSBvdXQgdGhlcmUgdGhpcyBvbmUKCnVzZXMgYW4gYXJyYXkgb2YgbHVhIGludGVnZXJzIGFzIHVuZGVybHlpbmcgZGF0YS10eXBlIGluIGl0cyBpbXBsZW1lbnRhdGlvbiBpbnN0ZWFkIG9mCgp1c2luZyBzdHJpbmdzIG9yIGxhcmdlIHRhYmxlcywgdGhpcyBtYWtlIGl0IGVmZmljaWVudCBmb3Igd29ya2luZyB3aXRoIGZpeGVkIHdpZHRoIGludGVnZXJzCgphbmQgdG8gbWFrZSBiaXR3aXNlIG9wZXJhdGlvbnMuCgoKCiMjIERlc2lnbiBnb2FscwoKCgpUaGUgbWFpbiBkZXNpZ24gZ29hbCBvZiB0aGlzIGxpYnJhcnkgaXMgdG8gYmUgc21hbGwsIGNvcnJlY3QsIHNlbGYgY29udGFpbmVkIGFuZCB1c2UgZmV3CgpyZXNvdXJjZXMgd2hpbGUgcmV0YWluaW5nIGFjY2VwdGFibGUgcGVyZm9ybWFuY2UgYW5kIGZlYXR1cmUgY29tcGxldGVuZXNzLgoKCgpUaGUgbGlicmFyeSBpcyBkZXNpZ25lZCB0byBmb2xsb3cgcmVjZW50IEx1YSBpbnRlZ2VyIHNlbWFudGljcywgdGhpcyBtZWFucyB0aGF0CgppbnRlZ2VyIG92ZXJmbG93IHdhcnBzIGFyb3VuZCwKCnNpZ25lZCBpbnRlZ2VycyBhcmUgaW1wbGVtZW50ZWQgdXNpbmcgdHdvLWNvbXBsZW1lbnQgYXJpdGhtZXRpYyBydWxlcywKCmludGVnZXIgZGl2aXNpb24gb3BlcmF0aW9ucyByb3VuZHMgdG93YXJkcyBtaW51cyBpbmZpbml0eSwKCmFueSBtaXhlZCBvcGVyYXRpb25zIHdpdGggZmxvYXQgbnVtYmVycyBwcm9tb3RlcyB0aGUgdmFsdWUgdG8gYSBmbG9hdCwKCmFuZCB0aGUgdXN1YWwgZGl2aXNpb24vcG93ZXIgb3BlcmF0aW9uIGFsd2F5cyBwcm9tb3RlcyB0byBmbG9hdHMuCgoKClRoZSBsaWJyYXJ5IGlzIGRlc2lnbmVkIHRvIGJlIHBvc3NpYmxlIHRvIHdvcmsgd2l0aCBvbmx5IHVuc2lnbmVkIGludGVnZXIgYXJpdGhtZXRpYwoKd2hlbiB1c2luZyB0aGUgcHJvcGVyIG1ldGhvZHMuCgoKCkFsbCB0aGUgbHVhIGFyaXRobWV0aWMgb3BlcmF0b3JzICgrLCAtLCAqLCAvLywgLywgJSkgYW5kIGJpdHdpc2Ugb3BlcmF0b3JzICgmLCB8LCB+LCA8PCwgPj4pCgphcmUgaW1wbGVtZW50ZWQgYXMgbWV0YW1ldGhvZHMuCgoKClRoZSBpbnRlZ2VyIHNpemUgbXVzdCBiZSBmaXhlZCBpbiBhZHZhbmNlIGFuZCB0aGUgbGlicmFyeSBpcyBkZXNpZ25lZCB0byBiZSBtb3JlIGVmZmljaWVudCB3aGVuCgp3b3JraW5nIHdpdGggaW50ZWdlcnMgb2Ygc2l6ZXMgYmV0d2VlbiA2NC00MDk2IGJpdHMuIElmIHlvdSBuZWVkIHRvIHdvcmsgd2l0aCByZWFsbHkgaHVnZSBudW1iZXJzCgp3aXRob3V0IHNpemUgcmVzdHJpY3Rpb25zIHRoZW4gdXNlIGFub3RoZXIgbGlicmFyeS4gVGhpcyBjaG9pY2UgaGFzIGJlZW4gbWFkZSB0byBoYXZlIG1vcmUgZWZmaWNpZW5jeQoKaW4gdGhhdCBzcGVjaWZpYyBzaXplIHJhbmdlLgoKCgojIyBVc2FnZQoKCgpGaXJzdCBvbiB5b3Ugc2hvdWxkIHJlcXVpcmUgdGhlIGJpbnQgZmlsZSBpbmNsdWRpbmcgaG93IG1hbnkgYml0cyB0aGUgYmludCBtb2R1bGUgd2lsbCB3b3JrIHdpdGgsCgpieSBjYWxsaW5nIHRoZSByZXR1cm5lZCBmdW5jdGlvbiBmcm9tIHRoZSByZXF1aXJlLCBmb3IgZXhhbXBsZToKCgoKYGBgbHVhCgpsb2NhbCBiaW50ID0gcmVxdWlyZSAnYmludCcoMTAyNCkKCmBgYAoKCgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBpdHMgYXJndW1lbnRzIHNlZSBAe25ld21vZHVsZX0uCgpUaGVuIHdoZW4geW91IG5lZWQgY3JlYXRlIGEgYmludCwgeW91IGNhbiB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgoKCgoqIEB7YmludC5mcm9tdWludGVnZXJ9IChjb252ZXJ0IGZyb20gbHVhIGludGVnZXJzLCBidXQgcmVhZCBhcyB1bnNpZ25lZCBpbnRlZ2VyKQoKKiBAe2JpbnQuZnJvbWludGVnZXJ9IChjb252ZXJ0IGZyb20gbHVhIGludGVnZXJzLCBwcmVzZXJ2aW5nIHRoZSBzaWduKQoKKiBAe2JpbnQuZnJvbWJhc2V9IChjb252ZXJ0IGZyb20gYXJiaXRyYXJ5IGJhc2VzLCBsaWtlIGhleGFkZWNpbWFsKQoKKiBAe2JpbnQuZnJvbXN0cmluZ30gKGNvbnZlcnQgZnJvbSBhcmJpdHJhcnkgc3RyaW5nLCBzdXBwb3J0IGJpbmFyeS9oZXhhZGVjaW1hbC9kZWNpbWFsKQoKKiBAe2JpbnQudHJ1bmN9IChjb252ZXJ0IGZyb20gbHVhIG51bWJlcnMsIHRydW5jYXRpbmcgdGhlIGZyYWN0aW9uYWwgcGFydCkKCiogQHtiaW50Lm5ld30gKGNvbnZlcnQgZnJvbSBhbnl0aGluZywgYXNzZXJ0cyBvbiBpbnZhbGlkIGludGVnZXJzKQoKKiBAe2JpbnQudG9iaW50fSAoY29udmVydCBmcm9tIGFueXRoaW5nLCByZXR1cm5zIG5pbCBvbiBpbnZhbGlkIGludGVnZXJzKQoKKiBAe2JpbnQucGFyc2V9IChjb252ZXJ0IGZyb20gYW55dGhpbmcsIHJldHVybnMgYSBsdWEgbnVtYmVyIGFzIGZhbGxiYWNrKQoKKiBAe2JpbnQuemVyb30KCiogQHtiaW50Lm9uZX0KCiogYGJpbnRgCgoKCllvdSBjYW4gYWxzbyBjYWxsIGBiaW50YCBhcyBpdCBpcyBhbiBhbGlhcyB0byBgYmludC5uZXdgLgoKSW4gZG91YnQgdXNlIEB7YmludC5uZXd9IHRvIGNyZWF0ZSBhIG5ldyBiaW50LgoKCgpUaGVuIHlvdSBjYW4gdXNlIGFsbCB0aGUgdXN1YWwgbHVhIG51bWVyaWMgb3BlcmF0aW9ucyBvbiBpdCwKCmFsbCB0aGUgYXJpdGhtZXRpYyBtZXRhbWV0aG9kcyBhcmUgaW1wbGVtZW50ZWQuCgpXaGVuIHlvdSBhcmUgZG9uZSBjb21wdXRpbmcgYW5kIG5lZWQgdG8gZ2V0IHRoZSByZXN1bHQsCgpnZXQgdGhlIG91dHB1dCBmcm9tIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKCgoKKiBAe2JpbnQudG91aW50ZWdlcn0gKGNvbnZlcnQgdG8gYSBsdWEgaW50ZWdlciwgd3JhcHMgYXJvdW5kIGFzIGFuIHVuc2lnbmVkIGludGVnZXIpCgoqIEB7YmludC50b2ludGVnZXJ9IChjb252ZXJ0IHRvIGEgbHVhIGludGVnZXIsIHdyYXBzIGFyb3VuZCwgcHJlc2VydmVzIHRoZSBzaWduKQoKKiBAe2JpbnQudG9udW1iZXJ9IChjb252ZXJ0IHRvIGx1YSBmbG9hdCwgbG9zaW5nIHByZWNpc2lvbikKCiogQHtiaW50LnRvYmFzZX0gKGNvbnZlcnQgdG8gYSBzdHJpbmcgaW4gYW55IGJhc2UpCgoqIEB7YmludC5fX3Rvc3RyaW5nfSAoY29udmVydCB0byBhIHN0cmluZyBpbiBiYXNlIDEwKQoKCgpUbyBvdXRwdXQgYSB2ZXJ5IGxhcmdlIGludGVnZXIgd2l0aCBubyBsb3NzIHlvdSBwcm9iYWJseSB3YW50IHRvIHVzZSBAe2JpbnQudG9iYXNlfQoKb3IgY2FsbCBgdG9zdHJpbmdgIHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbi4KCgoKIyMgUHJlY2F1dGlvbnMKCgoKQWxsIGxpYnJhcnkgZnVuY3Rpb25zIGNhbiBiZSBtaXhlZCB3aXRoIGx1YSBudW1iZXJzLAoKdGhpcyBtYWtlcyBlYXN5IHRvIG1peCBvcGVyYXRpb25zIGJldHdlZW4gYmludHMgYW5kIGx1YSBudW1iZXJzLAoKaG93ZXZlciB0aGUgdXNlciBzaG91bGQgdGFrZSBjYXJlIGluIHNvbWUgc2l0dWF0aW9uczoKCgoKKiBEb24ndCBtaXggaW50ZWdlcnMgYW5kIGZsb2F0IG9wZXJhdGlvbnMgaWYgeW91IHdhbnQgdG8gd29yayB3aXRoIGludGVnZXJzIG9ubHkuCgoqIERvbid0IHVzZSB0aGUgcmVndWxhciBlcXVhbCBvcGVyYXRvciAoJz09JykgdG8gY29tcGFyZSB2YWx1ZXMgZnJvbSB0aGlzIGxpYnJhcnksCgp1bmxlc3MgeW91IGtub3cgaW4gYWR2YW5jZSB0aGF0IGJvdGggdmFsdWVzIGFyZSBvZiB0aGUgc2FtZSBwcmltaXRpdmUgdHlwZSwKCm90aGVyd2lzZSBpdCB3aWxsIGFsd2F5cyByZXR1cm4gZmFsc2UsIHVzZSBAe2JpbnQuZXF9IHRvIGJlIHNhZmUuCgoqIERvbid0IHBhc3MgZnJhY3Rpb25hbCBudW1iZXJzIHRvIGZ1bmN0aW9ucyB0aGF0IGFuIGludGVnZXIgaXMgZXhwZWN0ZWQKCiogRG9uJ3QgbWl4IG9wZXJhdGlvbnMgYmV0d2VlbiBiaW50IGNsYXNzZXMgd2l0aCBkaWZmZXJlbnQgc2l6ZXMgYXMgdGhpcyBpcyBub3Qgc3VwcG9ydGVkLCB0aGlzCgp3aWxsIHRocm93IGFzc2VydGlvbnMuCgoqIFJlbWVtYmVyIHRoYXQgY2FzdGluZyBiYWNrIHRvIGx1YSBpbnRlZ2VycyBvciBudW1iZXJzIHByZWNpc2lvbiBjYW4gYmUgbG9zdC4KCiogRm9yIGRpdmlkaW5nIHdoaWxlIHByZXNlcnZpbmcgaW50ZWdlcnMgdXNlIHRoZSBAe2JpbnQuX19pZGl2fSAodGhlICcvLycgb3BlcmF0b3IpLgoKKiBGb3IgZG9pbmcgcG93ZXIgb3BlcmF0aW9uIHByZXNlcnZpbmcgaW50ZWdlcnMgdXNlIHRoZSBAe2JpbnQuaXBvd30gZnVuY3Rpb24uCgoqIENvbmZpZ3VyZSB0aGUgcHJvcGVyIGludGVnZXIgc2l6ZSB5b3UgaW50ZW5kIHRvIHdvcmsgd2l0aCwgb3RoZXJ3aXNlIGxhcmdlIGludGVnZXJzIG1heSB3cmFwIGFyb3VuZC4KCgoKXV0KCgoKLS0gUmV0dXJucyBudW1iZXIgb2YgYml0cyBvZiB0aGUgaW50ZXJuYWwgbHVhIGludGVnZXIgdHlwZS4KCmxvY2FsIGZ1bmN0aW9uIGx1YWludGVnZXJfYml0c2l6ZSgpCgogIGxvY2FsIG4sIGkgPSAtMSwgMAoKICByZXBlYXQKCiAgICBuLCBpID0gbiA+PiAxNiwgaSArIDE2CgogIHVudGlsIG49PTAKCiAgcmV0dXJuIGkKCmVuZAoKCgpsb2NhbCBtYXRoX3R5cGUgPSBtYXRoLnR5cGUKCmxvY2FsIG1hdGhfZmxvb3IgPSBtYXRoLmZsb29yCgpsb2NhbCBtYXRoX2FicyA9IG1hdGguYWJzCgpsb2NhbCBtYXRoX2NlaWwgPSBtYXRoLmNlaWwKCmxvY2FsIG1hdGhfbW9kZiA9IG1hdGgubW9kZgoKbG9jYWwgbWF0aF9taW5pbnRlZ2VyID0gbWF0aC5taW5pbnRlZ2VyCgpsb2NhbCBtYXRoX21heGludGVnZXIgPSBtYXRoLm1heGludGVnZXIKCmxvY2FsIG1hdGhfbWF4ID0gbWF0aC5tYXgKCmxvY2FsIG1hdGhfbWluID0gbWF0aC5taW4KCmxvY2FsIHN0cmluZ19mb3JtYXQgPSBzdHJpbmcuZm9ybWF0Cgpsb2NhbCB0YWJsZV9pbnNlcnQgPSB0YWJsZS5pbnNlcnQKCmxvY2FsIHRhYmxlX2NvbmNhdCA9IHRhYmxlLmNvbmNhdAoKbG9jYWwgdGFibGVfdW5wYWNrID0gdGFibGUudW5wYWNrCgoKCmxvY2FsIG1lbW8gPSB7fQoKCgotLS0gQ3JlYXRlIGEgbmV3IGJpbnQgbW9kdWxlIHJlcHJlc2VudGluZyBpbnRlZ2VycyBvZiB0aGUgZGVzaXJlZCBiaXQgc2l6ZS4KCi0tIFRoaXMgaXMgdGhlIHJldHVybmVkIGZ1bmN0aW9uIHdoZW4gYHJlcXVpcmUgJ2JpbnQnYCBpcyBjYWxsZWQuCgotLSBAZnVuY3Rpb24gbmV3bW9kdWxlCgotLSBAcGFyYW0gYml0cyBOdW1iZXIgb2YgYml0cyBmb3IgdGhlIGludGVnZXIgcmVwcmVzZW50YXRpb24sIG11c3QgYmUgbXVsdGlwbGUgb2Ygd29yZGJpdHMgYW5kCgotLSBhdCBsZWFzdCA2NC4KCi0tIEBwYXJhbVtvcHRdIHdvcmRiaXRzIE51bWJlciBvZiB0aGUgYml0cyBmb3IgdGhlIGludGVybmFsIHdvcmQsCgotLSBkZWZhdWx0cyB0byBoYWxmIG9mIEx1YSdzIGludGVnZXIgc2l6ZS4KCmxvY2FsIGZ1bmN0aW9uIG5ld21vZHVsZShiaXRzLCB3b3JkYml0cykKCgoKbG9jYWwgaW50Yml0cyA9IGx1YWludGVnZXJfYml0c2l6ZSgpCgpiaXRzID0gYml0cyBvciAyNTYKCndvcmRiaXRzID0gd29yZGJpdHMgb3IgKGludGJpdHMgLy8gMikKCgoKLS0gTWVtb2l6ZSBiaW50IG1vZHVsZXMKCmxvY2FsIG1lbW9pbmRleCA9IGJpdHMgKiA2NCArIHdvcmRiaXRzCgppZiBtZW1vW21lbW9pbmRleF0gdGhlbgoKICByZXR1cm4gbWVtb1ttZW1vaW5kZXhdCgplbmQKCgoKLS0gVmFsaWRhdGUKCmFzc2VydChiaXRzICUgd29yZGJpdHMgPT0gMCwgJ2JpdHNpemUgaXMgbm90IG11bHRpcGxlIG9mIHdvcmQgYml0c2l6ZScpCgphc3NlcnQoMip3b3JkYml0cyA8PSBpbnRiaXRzLCAnd29yZCBiaXRzaXplIG11c3QgYmUgaGFsZiBvZiB0aGUgbHVhIGludGVnZXIgYml0c2l6ZScpCgphc3NlcnQoYml0cyA+PSA2NCwgJ2JpdHNpemUgbXVzdCBiZSA+PSA2NCcpCgphc3NlcnQod29yZGJpdHMgPj0gOCwgJ3dvcmRiaXRzIG11c3QgYmUgYXQgbGVhc3QgOCcpCgphc3NlcnQoYml0cyAlIDggPT0gMCwgJ2JpdHNpemUgbXVzdCBiZSBtdWx0aXBsZSBvZiA4JykKCgoKLS0gQ3JlYXRlIGJpbnQgbW9kdWxlCgpsb2NhbCBiaW50ID0ge30KCmJpbnQuX19pbmRleCA9IGJpbnQKCgoKLS0tIE51bWJlciBvZiBiaXRzIHJlcHJlc2VudGluZyBhIGJpbnQgaW5zdGFuY2UuCgpiaW50LmJpdHMgPSBiaXRzCgoKCi0tIENvbnN0YW50cyB1c2VkIGludGVybmFsbHkKCmxvY2FsIEJJTlRfQklUUyA9IGJpdHMKCmxvY2FsIEJJTlRfQllURVMgPSBiaXRzIC8vIDgKCmxvY2FsIEJJTlRfV09SREJJVFMgPSB3b3JkYml0cwoKbG9jYWwgQklOVF9TSVpFID0gQklOVF9CSVRTIC8vIEJJTlRfV09SREJJVFMKCmxvY2FsIEJJTlRfV09SRE1BWCA9ICgxIDw8IEJJTlRfV09SREJJVFMpIC0gMQoKbG9jYWwgQklOVF9XT1JETVNCID0gKDEgPDwgKEJJTlRfV09SREJJVFMgLSAxKSkKCmxvY2FsIEJJTlRfTEVQQUNLRk1UID0gJzwnLi4oJ0knLi4od29yZGJpdHMgLy8gOCkpOnJlcChCSU5UX1NJWkUpCgpsb2NhbCBCSU5UX01BVEhNSU5JTlRFR0VSLCBCSU5UX01BVEhNQVhJTlRFR0VSCgpsb2NhbCBCSU5UX01JTklOVEVHRVIKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IHdpdGggMCB2YWx1ZS4KCmZ1bmN0aW9uIGJpbnQuemVybygpCgogIGxvY2FsIHggPSBzZXRtZXRhdGFibGUoe30sIGJpbnQpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgeFtpXSA9IDAKCiAgZW5kCgogIHJldHVybiB4CgplbmQKCmxvY2FsIGJpbnRfemVybyA9IGJpbnQuemVybwoKCgotLS0gQ3JlYXRlIGEgbmV3IGJpbnQgd2l0aCAxIHZhbHVlLgoKZnVuY3Rpb24gYmludC5vbmUoKQoKICBsb2NhbCB4ID0gc2V0bWV0YXRhYmxlKHt9LCBiaW50KQoKICB4WzFdID0gMQoKICBmb3IgaT0yLEJJTlRfU0laRSBkbwoKICAgIHhbaV0gPSAwCgogIGVuZAoKICByZXR1cm4geAoKZW5kCgpsb2NhbCBiaW50X29uZSA9IGJpbnQub25lCgoKCi0tIENvbnZlcnQgYSB2YWx1ZSB0byBhIGx1YSBpbnRlZ2VyIHdpdGhvdXQgbG9zaW5nIHByZWNpc2lvbi4KCmxvY2FsIGZ1bmN0aW9uIHRvaW50ZWdlcih4KQoKICB4ID0gdG9udW1iZXIoeCkKCiAgbG9jYWwgdHkgPSBtYXRoX3R5cGUoeCkKCiAgaWYgdHkgPT0gJ2Zsb2F0JyB0aGVuCgogICAgbG9jYWwgZmxvb3J4ID0gbWF0aF9mbG9vcih4KQoKICAgIGlmIGZsb29yeCA9PSB4IHRoZW4KCiAgICAgIHggPSBmbG9vcngKCiAgICAgIHR5ID0gbWF0aF90eXBlKHgpCgogICAgZW5kCgogIGVuZAoKICBpZiB0eSA9PSAnaW50ZWdlcicgdGhlbgoKICAgIHJldHVybiB4CgogIGVuZAoKZW5kCgoKCi0tLSBDcmVhdGUgYSBiaW50IGZyb20gYW4gdW5zaWduZWQgaW50ZWdlci4KCi0tIFRyZWF0cyBzaWduZWQgaW50ZWdlcnMgYXMgYW4gdW5zaWduZWQgaW50ZWdlci4KCi0tIEBwYXJhbSB4IEEgdmFsdWUgdG8gaW5pdGlhbGl6ZSBmcm9tIGNvbnZlcnRpYmxlIHRvIGEgbHVhIGludGVnZXIuCgotLSBAcmV0dXJuIEEgbmV3IGJpbnQgb3IgbmlsIGluIGNhc2UgdGhlIGlucHV0IGNhbm5vdCBiZSByZXByZXNlbnRlZCBieSBhbiBpbnRlZ2VyLgoKLS0gQHNlZSBiaW50LmZyb21pbnRlZ2VyCgpmdW5jdGlvbiBiaW50LmZyb211aW50ZWdlcih4KQoKICB4ID0gdG9pbnRlZ2VyKHgpCgogIGlmIHggdGhlbgoKICAgIGlmIHggPT0gMSB0aGVuCgogICAgICByZXR1cm4gYmludF9vbmUoKQoKICAgIGVsc2VpZiB4ID09IDAgdGhlbgoKICAgICAgcmV0dXJuIGJpbnRfemVybygpCgogICAgZW5kCgogICAgbG9jYWwgbiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgbltpXSA9IHggJiBCSU5UX1dPUkRNQVgKCiAgICAgIHggPSB4ID4+IEJJTlRfV09SREJJVFMKCiAgICBlbmQKCiAgICByZXR1cm4gbgoKICBlbmQKCmVuZAoKbG9jYWwgYmludF9mcm9tdWludGVnZXIgPSBiaW50LmZyb211aW50ZWdlcgoKCgotLS0gQ3JlYXRlIGEgYmludCBmcm9tIGEgc2lnbmVkIGludGVnZXIuCgotLSBAcGFyYW0geCBBIHZhbHVlIHRvIGluaXRpYWxpemUgZnJvbSBjb252ZXJ0aWJsZSB0byBhIGx1YSBpbnRlZ2VyLgoKLS0gQHJldHVybiBBIG5ldyBiaW50IG9yIG5pbCBpbiBjYXNlIHRoZSBpbnB1dCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYnkgYW4gaW50ZWdlci4KCi0tIEBzZWUgYmludC5mcm9tdWludGVnZXIKCmZ1bmN0aW9uIGJpbnQuZnJvbWludGVnZXIoeCkKCiAgeCA9IHRvaW50ZWdlcih4KQoKICBpZiB4IHRoZW4KCiAgICBpZiB4ID09IDEgdGhlbgoKICAgICAgcmV0dXJuIGJpbnRfb25lKCkKCiAgICBlbHNlaWYgeCA9PSAwIHRoZW4KCiAgICAgIHJldHVybiBiaW50X3plcm8oKQoKICAgIGVuZAoKICAgIGxvY2FsIG5lZyA9IGZhbHNlCgogICAgaWYgeCA8IDAgdGhlbgoKICAgICAgeCA9IG1hdGhfYWJzKHgpCgogICAgICBuZWcgPSB0cnVlCgogICAgZW5kCgogICAgbG9jYWwgbiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgbltpXSA9IHggJiBCSU5UX1dPUkRNQVgKCiAgICAgIHggPSB4ID4+IEJJTlRfV09SREJJVFMKCiAgICBlbmQKCiAgICBpZiBuZWcgdGhlbgoKICAgICAgbjpfdW5tKCkKCiAgICBlbmQKCiAgICByZXR1cm4gbgoKICBlbmQKCmVuZAoKbG9jYWwgYmludF9mcm9taW50ZWdlciA9IGJpbnQuZnJvbWludGVnZXIKCgoKbG9jYWwgYmFzZXN0ZXBzID0ge30KCgoKLS0gQ29tcHV0ZSB0aGUgcmVhZCBzdGVwIGZvciBmcm9tYmFzZSBmdW5jdGlvbgoKbG9jYWwgZnVuY3Rpb24gZ2V0YmFzZXN0ZXAoYmFzZSkKCiAgbG9jYWwgc3RlcCA9IGJhc2VzdGVwc1tiYXNlXQoKICBpZiBzdGVwIHRoZW4KCiAgICByZXR1cm4gc3RlcAoKICBlbmQKCiAgc3RlcCA9IDAKCiAgbG9jYWwgZG1heCA9IDEKCiAgbG9jYWwgbGltaXQgPSBtYXRoX21heGludGVnZXIgLy8gYmFzZQoKICByZXBlYXQKCiAgICBzdGVwID0gc3RlcCArIDEKCiAgICBkbWF4ID0gZG1heCAqIGJhc2UKCiAgdW50aWwgZG1heCA+PSBsaW1pdAoKICBiYXNlc3RlcHNbYmFzZV0gPSBzdGVwCgogIHJldHVybiBzdGVwCgplbmQKCgoKLS0gQ29tcHV0ZSBwb3dlciB3aXRoIGx1YSBpbnRlZ2Vycy4KCmxvY2FsIGZ1bmN0aW9uIGlwb3coeSwgeCwgbikKCiAgaWYgbiA9PSAxIHRoZW4KCiAgICByZXR1cm4geSAqIHgKCiAgZWxzZWlmIG4gJiAxID09IDAgdGhlbiAtLWV2ZW4KCiAgICByZXR1cm4gaXBvdyh5LCB4ICogeCwgbiAvLyAyKQoKICBlbmQKCiAgcmV0dXJuIGlwb3coeCAqIHksIHggKiB4LCAobi0xKSAvLyAyKQoKZW5kCgoKCi0tLSBDcmVhdGUgYSBiaW50IGZyb20gYSBzdHJpbmcgb2YgdGhlIGRlc2lyZWQgYmFzZS4KCi0tIEBwYXJhbSBzIFRoZSBzdHJpbmcgdG8gYmUgY29udmVydGVkIGZyb20sCgotLSBtdXN0IGhhdmUgb25seSBhbHBoYW51bWVyaWMgYW5kICcrLScgY2hhcmFjdGVycy4KCi0tIEBwYXJhbVtvcHRdIGJhc2UgQmFzZSB0aGF0IHRoZSBudW1iZXIgaXMgcmVwcmVzZW50ZWQsIGRlZmF1bHRzIHRvIDEwLgoKLS0gTXVzdCBiZSBhdCBsZWFzdCAyIGFuZCBhdCBtb3N0IDM2LgoKLS0gQHJldHVybiBBIG5ldyBiaW50IG9yIG5pbCBpbiBjYXNlIHRoZSBjb252ZXJzaW9uIGZhaWxlZC4KCmZ1bmN0aW9uIGJpbnQuZnJvbWJhc2UocywgYmFzZSkKCiAgaWYgdHlwZShzKSB+PSAnc3RyaW5nJyB0aGVuCgogICAgcmV0dXJuCgogIGVuZAoKICBiYXNlID0gYmFzZSBvciAxMAoKICBpZiBub3QgKGJhc2UgPj0gMiBhbmQgYmFzZSA8PSAzNikgdGhlbgoKICAgIC0tIG51bWJlciBiYXNlIGlzIHRvbyBsYXJnZQoKICAgIHJldHVybgoKICBlbmQKCiAgbG9jYWwgc3RlcCA9IGdldGJhc2VzdGVwKGJhc2UpCgogIGlmICNzIDwgc3RlcCB0aGVuCgogICAgLS0gc3RyaW5nIGlzIHNtYWxsLCB1c2UgdG9udW1iZXIgKGZhc3RlcikKCiAgICByZXR1cm4gYmludF9mcm9taW50ZWdlcih0b251bWJlcihzLCBiYXNlKSkKCiAgZW5kCgogIGxvY2FsIHNpZ24sIGludCA9IHM6bG93ZXIoKTptYXRjaCgnXihbKy1dPykoJXcrKSQnKQoKICBpZiBub3QgKHNpZ24gYW5kIGludCkgdGhlbgoKICAgIC0tIGludmFsaWQgaW50ZWdlciBzdHJpbmcgcmVwcmVzZW50YXRpb24KCiAgICByZXR1cm4KCiAgZW5kCgogIGxvY2FsIG4gPSBiaW50X3plcm8oKQoKICBmb3IgaT0xLCNpbnQsc3RlcCBkbwoKICAgIGxvY2FsIHBhcnQgPSBpbnQ6c3ViKGksaStzdGVwLTEpCgogICAgbG9jYWwgZCA9IHRvbnVtYmVyKHBhcnQsIGJhc2UpCgogICAgaWYgbm90IGQgdGhlbgoKICAgICAgLS0gaW52YWxpZCBpbnRlZ2VyIHN0cmluZyByZXByZXNlbnRhdGlvbgoKICAgICAgcmV0dXJuCgogICAgZW5kCgogICAgaWYgaSA+IDEgdGhlbgoKICAgICAgbiA9IG4gKiBpcG93KDEsIGJhc2UsICNwYXJ0KQoKICAgIGVuZAoKICAgIGlmIGQgfj0gMCB0aGVuCgogICAgICBuOl9hZGQoZCkKCiAgICBlbmQKCiAgZW5kCgogIGlmIHNpZ24gPT0gJy0nIHRoZW4KCiAgICBuOl91bm0oKQoKICBlbmQKCiAgcmV0dXJuIG4KCmVuZAoKbG9jYWwgYmludF9mcm9tYmFzZSA9IGJpbnQuZnJvbWJhc2UKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IGZyb20gYSBzdHJpbmcuCgotLSBUaGUgc3RyaW5nIGNhbiBieSBhIGRlY2ltYWwgbnVtYmVyLCBiaW5hcnkgbnVtYmVyIHByZWZpeGVkIHdpdGggJzBiJyBvciBoZXhhZGVjaW1hbCBudW1iZXIgcHJlZml4ZWQgd2l0aCAnMHgnLgoKLS0gQHBhcmFtIHMgQSBzdHJpbmcgY29udmVydGlibGUgdG8gYSBiaW50LgoKLS0gQHJldHVybiBBIG5ldyBiaW50IG9yIG5pbCBpbiBjYXNlIHRoZSBjb252ZXJzaW9uIGZhaWxlZC4KCi0tIEBzZWUgYmludC5mcm9tYmFzZQoKZnVuY3Rpb24gYmludC5mcm9tc3RyaW5nKHMpCgogIGlmIHR5cGUocykgfj0gJ3N0cmluZycgdGhlbgoKICAgIHJldHVybgoKICBlbmQKCiAgaWYgczpmaW5kKCdeWystXT9bMC05XSskJykgdGhlbgoKICAgIHJldHVybiBiaW50X2Zyb21iYXNlKHMsIDEwKQoKICBlbHNlaWYgczpmaW5kKCdeWystXT8wW3hYXVswLTlhLWZBLUZdKyQnKSB0aGVuCgogICAgcmV0dXJuIGJpbnRfZnJvbWJhc2Uoczpnc3ViKCcwW3hYXScsICcnLCAxKSwgMTYpCgogIGVsc2VpZiBzOmZpbmQoJ15bKy1dPzBbYkJdWzAxXSskJykgdGhlbgoKICAgIHJldHVybiBiaW50X2Zyb21iYXNlKHM6Z3N1YignMFtiQl0nLCAnJywgMSksIDIpCgogIGVuZAoKZW5kCgpsb2NhbCBiaW50X2Zyb21zdHJpbmcgPSBiaW50LmZyb21zdHJpbmcKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IGZyb20gYSBidWZmZXIgb2YgbGl0dGxlLWVuZGlhbiBieXRlcy4KCi0tIEBwYXJhbSBidWZmZXIgQnVmZmVyIG9mIGJ5dGVzLCBleHRyYSBieXRlcyBhcmUgdHJpbW1lZCBmcm9tIHRoZSByaWdodCwgbWlzc2luZyBieXRlcyBhcmUgcGFkZGVkIHRvIHRoZSByaWdodC4KCi0tIEByYWlzZSBBbiBhc3NlcnQgaXMgdGhyb3duIGluIGNhc2UgYnVmZmVyIGlzIG5vdCBhbiBzdHJpbmcuCgotLSBAcmV0dXJuIEEgYmludC4KCmZ1bmN0aW9uIGJpbnQuZnJvbWxlKGJ1ZmZlcikKCiAgYXNzZXJ0KHR5cGUoYnVmZmVyKSA9PSAnc3RyaW5nJywgJ2J1ZmZlciBpcyBub3QgYSBzdHJpbmcnKQoKICBpZiAjYnVmZmVyID4gQklOVF9CWVRFUyB0aGVuIC0tIHRyaW0gZXh0cmEgYnl0ZXMgZnJvbSB0aGUgcmlnaHQKCiAgICBidWZmZXIgPSBidWZmZXI6c3ViKDEsIEJJTlRfQllURVMpCgogIGVsc2VpZiAjYnVmZmVyIDwgQklOVF9CWVRFUyB0aGVuIC0tIGFkZCBtaXNzaW5nIGJ5dGVzIHRvIHRoZSByaWdodAoKICAgIGJ1ZmZlciA9IGJ1ZmZlci4uKCdceDAwJyk6cmVwKEJJTlRfQllURVMgLSAjYnVmZmVyKQoKICBlbmQKCiAgcmV0dXJuIHNldG1ldGF0YWJsZSh7QklOVF9MRVBBQ0tGTVQ6dW5wYWNrKGJ1ZmZlcil9LCBiaW50KQoKZW5kCgoKCi0tLSBDcmVhdGUgYSBuZXcgYmludCBmcm9tIGEgYnVmZmVyIG9mIGJpZy1lbmRpYW4gYnl0ZXMuCgotLSBAcGFyYW0gYnVmZmVyIEJ1ZmZlciBvZiBieXRlcywgZXh0cmEgYnl0ZXMgYXJlIHRyaW1tZWQgZnJvbSB0aGUgbGVmdCwgbWlzc2luZyBieXRlcyBhcmUgcGFkZGVkIHRvIHRoZSBsZWZ0LgoKLS0gQHJhaXNlIEFuIGFzc2VydCBpcyB0aHJvd24gaW4gY2FzZSBidWZmZXIgaXMgbm90IGFuIHN0cmluZy4KCi0tIEByZXR1cm4gQSBiaW50LgoKZnVuY3Rpb24gYmludC5mcm9tYmUoYnVmZmVyKQoKICBhc3NlcnQodHlwZShidWZmZXIpID09ICdzdHJpbmcnLCAnYnVmZmVyIGlzIG5vdCBhIHN0cmluZycpCgogIGlmICNidWZmZXIgPiBCSU5UX0JZVEVTIHRoZW4gLS0gdHJpbSBleHRyYSBieXRlcyBmcm9tIHRoZSBsZWZ0CgogICAgYnVmZmVyID0gYnVmZmVyOnN1YigtQklOVF9CWVRFUywgI2J1ZmZlcikKCiAgZWxzZWlmICNidWZmZXIgPCBCSU5UX0JZVEVTIHRoZW4gLS0gYWRkIG1pc3NpbmcgYnl0ZXMgdG8gdGhlIGxlZnQKCiAgICBidWZmZXIgPSAoJ1x4MDAnKTpyZXAoQklOVF9CWVRFUyAtICNidWZmZXIpLi5idWZmZXIKCiAgZW5kCgogIHJldHVybiBzZXRtZXRhdGFibGUoe0JJTlRfTEVQQUNLRk1UOnVucGFjayhidWZmZXI6cmV2ZXJzZSgpKX0sIGJpbnQpCgplbmQKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IGZyb20gYSB2YWx1ZS4KCi0tIEBwYXJhbSB4IEEgdmFsdWUgY29udmVydGlibGUgdG8gYSBiaW50IChzdHJpbmcsIG51bWJlciBvciBhbm90aGVyIGJpbnQpLgoKLS0gQHJldHVybiBBIG5ldyBiaW50LCBndWFyYW50ZWVkIHRvIGJlIGEgbmV3IHJlZmVyZW5jZSBpbiBjYXNlIG5lZWRlZC4KCi0tIEByYWlzZSBBbiBhc3NlcnQgaXMgdGhyb3duIGluIGNhc2UgeCBpcyBub3QgY29udmVydGlibGUgdG8gYSBiaW50LgoKLS0gQHNlZSBiaW50LnRvYmludAoKLS0gQHNlZSBiaW50LnBhcnNlCgpmdW5jdGlvbiBiaW50Lm5ldyh4KQoKICBpZiBnZXRtZXRhdGFibGUoeCkgfj0gYmludCB0aGVuCgogICAgbG9jYWwgdHkgPSB0eXBlKHgpCgogICAgaWYgdHkgPT0gJ251bWJlcicgdGhlbgoKICAgICAgeCA9IGJpbnRfZnJvbWludGVnZXIoeCkKCiAgICBlbHNlaWYgdHkgPT0gJ3N0cmluZycgdGhlbgoKICAgICAgeCA9IGJpbnRfZnJvbXN0cmluZyh4KQoKICAgIGVuZAoKICAgIGFzc2VydCh4LCAndmFsdWUgY2Fubm90IGJlIHJlcHJlc2VudGVkIGJ5IGEgYmludCcpCgogICAgcmV0dXJuIHgKCiAgZW5kCgogIC0tIHJldHVybiBhIGNsb25lCgogIGxvY2FsIG4gPSBzZXRtZXRhdGFibGUoe30sIGJpbnQpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgbltpXSA9IHhbaV0KCiAgZW5kCgogIHJldHVybiBuCgplbmQKCmxvY2FsIGJpbnRfbmV3ID0gYmludC5uZXcKCgoKLS0tIENvbnZlcnQgYSB2YWx1ZSB0byBhIGJpbnQgaWYgcG9zc2libGUuCgotLSBAcGFyYW0geCBBIHZhbHVlIHRvIGJlIGNvbnZlcnRlZCAoc3RyaW5nLCBudW1iZXIgb3IgYW5vdGhlciBiaW50KS4KCi0tIEBwYXJhbVtvcHRdIGNsb25lIEEgYm9vbGVhbiB0aGF0IHRlbGxzIGlmIGEgbmV3IGJpbnQgcmVmZXJlbmNlIHNob3VsZCBiZSByZXR1cm5lZC4KCi0tIERlZmF1bHRzIHRvIGZhbHNlLgoKLS0gQHJldHVybiBBIGJpbnQgb3IgbmlsIGluIGNhc2UgdGhlIGNvbnZlcnNpb24gZmFpbGVkLgoKLS0gQHNlZSBiaW50Lm5ldwoKLS0gQHNlZSBiaW50LnBhcnNlCgpmdW5jdGlvbiBiaW50LnRvYmludCh4LCBjbG9uZSkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIGlmIG5vdCBjbG9uZSB0aGVuCgogICAgICByZXR1cm4geAoKICAgIGVuZAoKICAgIC0tIHJldHVybiBhIGNsb25lCgogICAgbG9jYWwgbiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgbltpXSA9IHhbaV0KCiAgICBlbmQKCiAgICByZXR1cm4gbgoKICBlbmQKCiAgbG9jYWwgdHkgPSB0eXBlKHgpCgogIGlmIHR5ID09ICdudW1iZXInIHRoZW4KCiAgICByZXR1cm4gYmludF9mcm9taW50ZWdlcih4KQoKICBlbHNlaWYgdHkgPT0gJ3N0cmluZycgdGhlbgoKICAgIHJldHVybiBiaW50X2Zyb21zdHJpbmcoeCkKCiAgZW5kCgplbmQKCmxvY2FsIHRvYmludCA9IGJpbnQudG9iaW50CgoKCi0tLSBDb252ZXJ0IGEgdmFsdWUgdG8gYSBiaW50IGlmIHBvc3NpYmxlIG90aGVyd2lzZSB0byBhIGx1YSBudW1iZXIuCgotLSBVc2VmdWwgdG8gcHJlcGFyZSB2YWx1ZXMgdGhhdCB5b3UgYXJlIHVuc3VyZSBpZiBpdCdzIGdvaW5nIHRvIGJlIGFuIGludGVnZXIgb3IgZmxvYXQuCgotLSBAcGFyYW0geCBBIHZhbHVlIHRvIGJlIGNvbnZlcnRlZCAoc3RyaW5nLCBudW1iZXIgb3IgYW5vdGhlciBiaW50KS4KCi0tIEBwYXJhbVtvcHRdIGNsb25lIEEgYm9vbGVhbiB0aGF0IHRlbGxzIGlmIGEgbmV3IGJpbnQgcmVmZXJlbmNlIHNob3VsZCBiZSByZXR1cm5lZC4KCi0tIERlZmF1bHRzIHRvIGZhbHNlLgoKLS0gQHJldHVybiBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIG9yIG5pbCBpbiBjYXNlIHRoZSBjb252ZXJzaW9uIGZhaWxlZC4KCi0tIEBzZWUgYmludC5uZXcKCi0tIEBzZWUgYmludC50b2JpbnQKCmZ1bmN0aW9uIGJpbnQucGFyc2UoeCwgY2xvbmUpCgogIGxvY2FsIGkgPSB0b2JpbnQoeCwgY2xvbmUpCgogIGlmIGkgdGhlbgoKICAgIHJldHVybiBpCgogIGVuZAoKICByZXR1cm4gdG9udW1iZXIoeCkKCmVuZAoKbG9jYWwgYmludF9wYXJzZSA9IGJpbnQucGFyc2UKCgoKLS0tIENvbnZlcnQgYSBiaW50IHRvIGFuIHVuc2lnbmVkIGludGVnZXIuCgotLSBOb3RlIHRoYXQgbGFyZ2UgdW5zaWduZWQgaW50ZWdlcnMgbWF5IGJlIHJlcHJlc2VudGVkIGFzIG5lZ2F0aXZlcyBpbiBsdWEgaW50ZWdlcnMuCgotLSBOb3RlIHRoYXQgbHVhIGNhbm5vdCByZXByZXNlbnQgdmFsdWVzIGxhcmdlciB0aGFuIDY0IGJpdHMsCgotLSBpbiB0aGF0IGNhc2UgaW50ZWdlciB2YWx1ZXMgd3JhcCBhcm91bmQuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBudW1iZXIgdG8gYmUgY29udmVydGVkIGludG8gYW4gdW5zaWduZWQgaW50ZWdlci4KCi0tIEByZXR1cm4gQW4gaW50ZWdlciBvciBuaWwgaW4gY2FzZSB0aGUgaW5wdXQgY2Fubm90IGJlIHJlcHJlc2VudGVkIGJ5IGFuIGludGVnZXIuCgotLSBAc2VlIGJpbnQudG9pbnRlZ2VyCgpmdW5jdGlvbiBiaW50LnRvdWludGVnZXIoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIGxvY2FsIG4gPSAwCgogICAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICAgIG4gPSBuIHwgKHhbaV0gPDwgKEJJTlRfV09SREJJVFMgKiAoaSAtIDEpKSkKCiAgICBlbmQKCiAgICByZXR1cm4gbgoKICBlbmQKCiAgcmV0dXJuIHRvaW50ZWdlcih4KQoKZW5kCgoKCi0tLSBDb252ZXJ0IGEgYmludCB0byBhIHNpZ25lZCBpbnRlZ2VyLgoKLS0gSXQgd29ya3MgYnkgdGFraW5nIGFic29sdXRlIHZhbHVlcyB0aGVuIGFwcGx5aW5nIHRoZSBzaWduIGJpdCBpbiBjYXNlIG5lZWRlZC4KCi0tIE5vdGUgdGhhdCBsdWEgY2Fubm90IHJlcHJlc2VudCB2YWx1ZXMgbGFyZ2VyIHRoYW4gNjQgYml0cywKCi0tIGluIHRoYXQgY2FzZSBpbnRlZ2VyIHZhbHVlcyB3cmFwIGFyb3VuZC4KCi0tIEBwYXJhbSB4IEEgYmludCBvciB2YWx1ZSB0byBiZSBjb252ZXJ0ZWQgaW50byBhbiB1bnNpZ25lZCBpbnRlZ2VyLgoKLS0gQHJldHVybiBBbiBpbnRlZ2VyIG9yIG5pbCBpbiBjYXNlIHRoZSBpbnB1dCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYnkgYW4gaW50ZWdlci4KCi0tIEBzZWUgYmludC50b3VpbnRlZ2VyCgpmdW5jdGlvbiBiaW50LnRvaW50ZWdlcih4KQoKICBpZiBnZXRtZXRhdGFibGUoeCkgPT0gYmludCB0aGVuCgogICAgbG9jYWwgbiA9IDAKCiAgICBsb2NhbCBuZWcgPSB4OmlzbmVnKCkKCiAgICBpZiBuZWcgdGhlbgoKICAgICAgeCA9IC14CgogICAgZW5kCgogICAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICAgIG4gPSBuIHwgKHhbaV0gPDwgKEJJTlRfV09SREJJVFMgKiAoaSAtIDEpKSkKCiAgICBlbmQKCiAgICBpZiBuZWcgdGhlbgoKICAgICAgbiA9IC1uCgogICAgZW5kCgogICAgcmV0dXJuIG4KCiAgZW5kCgogIHJldHVybiB0b2ludGVnZXIoeCkKCmVuZAoKbG9jYWwgYmludF90b2ludGVnZXIgPSBiaW50LnRvaW50ZWdlcgoKCgpsb2NhbCBmdW5jdGlvbiBiaW50X2Fzc2VydF90b2ludGVnZXIoeCkKCiAgeCA9IGJpbnRfdG9pbnRlZ2VyKHgpCgogIGlmIG5vdCB4IHRoZW4KCiAgICBlcnJvcigndmFsdWUgaGFzIG5vIGludGVnZXIgcmVwcmVzZW50YXRpb24nKQoKICBlbmQKCiAgcmV0dXJuIHgKCmVuZAoKCgotLS0gQ29udmVydCBhIGJpbnQgdG8gYSBsdWEgZmxvYXQgaW4gY2FzZSBpbnRlZ2VyIHdvdWxkIHdyYXAgYXJvdW5kIG9yIGx1YSBpbnRlZ2VyIG90aGVyd2lzZS4KCi0tIERpZmZlcmVudCBmcm9tIEB7YmludC50b2ludGVnZXJ9IHRoZSBvcGVyYXRpb24gZG9lcyBub3Qgd3JhcCBhcm91bmQgaW50ZWdlcnMsCgotLSBidXQgZGlnaXRzIHByZWNpc2lvbiBhcmUgbG9zdCBpbiB0aGUgcHJvY2VzcyBvZiBjb252ZXJ0aW5nIHRvIGEgZmxvYXQuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgdmFsdWUgdG8gYmUgY29udmVydGVkIGludG8gYSBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBBIGx1YSBudW1iZXIgb3IgbmlsIGluIGNhc2UgdGhlIGlucHV0IGNhbm5vdCBiZSByZXByZXNlbnRlZCBieSBhIG51bWJlci4KCi0tIEBzZWUgYmludC50b2ludGVnZXIKCmZ1bmN0aW9uIGJpbnQudG9udW1iZXIoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIGlmIHggPD0gQklOVF9NQVRITUFYSU5URUdFUiBhbmQgeCA+PSBCSU5UX01BVEhNSU5JTlRFR0VSIHRoZW4KCiAgICAgIHJldHVybiB4OnRvaW50ZWdlcigpCgogICAgZW5kCgogICAgcmV0dXJuIHRvbnVtYmVyKHRvc3RyaW5nKHgpKQoKICBlbmQKCiAgcmV0dXJuIHRvbnVtYmVyKHgpCgplbmQKCmxvY2FsIGJpbnRfdG9udW1iZXIgPSBiaW50LnRvbnVtYmVyCgoKCi0tIENvbXB1dGUgYmFzZSBsZXR0ZXJzIHRvIHVzZSBpbiBiaW50LnRvYmFzZQoKbG9jYWwgQkFTRV9MRVRURVJTID0ge30KCmRvCgogIGZvciBpPTEsMzYgZG8KCiAgICBCQVNFX0xFVFRFUlNbaS0xXSA9ICgnMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jyk6c3ViKGksaSkKCiAgZW5kCgplbmQKCgoKLS0tIENvbnZlcnQgYSBiaW50IHRvIGEgc3RyaW5nIGluIHRoZSBkZXNpcmVkIGJhc2UuCgotLSBAcGFyYW0geCBUaGUgYmludCB0byBiZSBjb252ZXJ0ZWQgZnJvbS4KCi0tIEBwYXJhbVtvcHRdIGJhc2UgQmFzZSB0byBiZSByZXByZXNlbnRlZCwgZGVmYXVsdHMgdG8gMTAuCgotLSBNdXN0IGJlIGF0IGxlYXN0IDIgYW5kIGF0IG1vc3QgMzYuCgotLSBAcGFyYW1bb3B0XSB1bnNpZ25lZCBXaGV0aGVyIHRvIG91dHB1dCBhcyBhbiB1bnNpZ25lZCBpbnRlZ2VyLgoKLS0gRGVmYXVsdHMgdG8gZmFsc2UgZm9yIGJhc2UgMTAgYW5kIHRydWUgZm9yIG90aGVycy4KCi0tIFdoZW4gdW5zaWduZWQgaXMgZmFsc2UgdGhlIHN5bWJvbCAnLScgaXMgcHJlcGVuZGVkIGluIG5lZ2F0aXZlIHZhbHVlcy4KCi0tIEByZXR1cm4gQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBpbnB1dC4KCi0tIEByYWlzZSBBbiBhc3NlcnQgaXMgdGhyb3duIGluIGNhc2UgdGhlIGJhc2UgaXMgaW52YWxpZC4KCmZ1bmN0aW9uIGJpbnQudG9iYXNlKHgsIGJhc2UsIHVuc2lnbmVkKQoKICB4ID0gdG9iaW50KHgpCgogIGlmIG5vdCB4IHRoZW4KCiAgICAtLSB4IGlzIGEgZnJhY3Rpb25hbCBmbG9hdCBvciBzb21ldGhpbmcgZWxzZQoKICAgIHJldHVybgoKICBlbmQKCiAgYmFzZSA9IGJhc2Ugb3IgMTAKCiAgaWYgbm90IChiYXNlID49IDIgYW5kIGJhc2UgPD0gMzYpIHRoZW4KCiAgICAtLSBudW1iZXIgYmFzZSBpcyB0b28gbGFyZ2UKCiAgICByZXR1cm4KCiAgZW5kCgogIGlmIHVuc2lnbmVkID09IG5pbCB0aGVuCgogICAgdW5zaWduZWQgPSBiYXNlIH49IDEwCgogIGVuZAoKICBsb2NhbCBpc3huZWcgPSB4OmlzbmVnKCkKCiAgaWYgKGJhc2UgPT0gMTAgYW5kIG5vdCB1bnNpZ25lZCkgb3IgKGJhc2UgPT0gMTYgYW5kIHVuc2lnbmVkIGFuZCBub3QgaXN4bmVnKSB0aGVuCgogICAgaWYgeCA8PSBCSU5UX01BVEhNQVhJTlRFR0VSIGFuZCB4ID49IEJJTlRfTUFUSE1JTklOVEVHRVIgdGhlbgoKICAgICAgLS0gaW50ZWdlciBpcyBzbWFsbCwgdXNlIHRvc3RyaW5nIG9yIHN0cmluZy5mb3JtYXQgKGZhc3RlcikKCiAgICAgIGxvY2FsIG4gPSB4OnRvaW50ZWdlcigpCgogICAgICBpZiBiYXNlID09IDEwIHRoZW4KCiAgICAgICAgcmV0dXJuIHRvc3RyaW5nKG4pCgogICAgICBlbHNlaWYgdW5zaWduZWQgdGhlbgoKICAgICAgICByZXR1cm4gc3RyaW5nX2Zvcm1hdCgnJXgnLCBuKQoKICAgICAgZW5kCgogICAgZW5kCgogIGVuZAoKICBsb2NhbCBzcyA9IHt9CgogIGxvY2FsIG5lZyA9IG5vdCB1bnNpZ25lZCBhbmQgaXN4bmVnCgogIHggPSBuZWcgYW5kIHg6YWJzKCkgb3IgYmludF9uZXcoeCkKCiAgbG9jYWwgeGlzemVybyA9IHg6aXN6ZXJvKCkKCiAgaWYgeGlzemVybyB0aGVuCgogICAgcmV0dXJuICcwJwoKICBlbmQKCiAgLS0gY2FsY3VsYXRlIGJhc2Vwb3cKCiAgbG9jYWwgc3RlcCA9IDAKCiAgbG9jYWwgYmFzZXBvdyA9IDEKCiAgbG9jYWwgbGltaXQgPSAoQklOVF9XT1JETVNCIC0gMSkgLy8gYmFzZQoKICByZXBlYXQKCiAgICBzdGVwID0gc3RlcCArIDEKCiAgICBiYXNlcG93ID0gYmFzZXBvdyAqIGJhc2UKCiAgdW50aWwgYmFzZXBvdyA+PSBsaW1pdAoKICAtLSBzZXJpYWxpemUgYmFzZSBkaWdpdHMKCiAgbG9jYWwgc2l6ZSA9IEJJTlRfU0laRQoKICBsb2NhbCB4ZCwgY2FycnksIGQKCiAgcmVwZWF0CgogICAgLS0gc2luZ2xlIHdvcmQgZGl2aXNpb24KCiAgICBjYXJyeSA9IDAKCiAgICB4aXN6ZXJvID0gdHJ1ZQoKICAgIGZvciBpPXNpemUsMSwtMSBkbwoKICAgICAgY2FycnkgPSBjYXJyeSB8IHhbaV0KCiAgICAgIGQsIHhkID0gY2FycnkgLy8gYmFzZXBvdywgY2FycnkgJSBiYXNlcG93CgogICAgICBpZiB4aXN6ZXJvIGFuZCBkIH49IDAgdGhlbgoKICAgICAgICBzaXplID0gaQoKICAgICAgICB4aXN6ZXJvID0gZmFsc2UKCiAgICAgIGVuZAoKICAgICAgeFtpXSA9IGQKCiAgICAgIGNhcnJ5ID0geGQgPDwgQklOVF9XT1JEQklUUwoKICAgIGVuZAoKICAgIC0tIGRpZ2l0IGRpdmlzaW9uCgogICAgZm9yIF89MSxzdGVwIGRvCgogICAgICB4ZCwgZCA9IHhkIC8vIGJhc2UsIHhkICUgYmFzZQoKICAgICAgaWYgeGlzemVybyBhbmQgeGQgPT0gMCBhbmQgZCA9PSAwIHRoZW4KCiAgICAgICAgLS0gc3RvcCBvbiBsZWFkaW5nIHplcm9zCgogICAgICAgIGJyZWFrCgogICAgICBlbmQKCiAgICAgIHRhYmxlX2luc2VydChzcywgMSwgQkFTRV9MRVRURVJTW2RdKQoKICAgIGVuZAoKICB1bnRpbCB4aXN6ZXJvCgogIGlmIG5lZyB0aGVuCgogICAgdGFibGVfaW5zZXJ0KHNzLCAxLCAnLScpCgogIGVuZAoKICByZXR1cm4gdGFibGVfY29uY2F0KHNzKQoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGJpbnRfYXNzZXJ0X2NvbnZlcnQoeCkKCiAgcmV0dXJuIGFzc2VydCh0b2JpbnQoeCksICd2YWx1ZSBoYXMgbm90IGludGVnZXIgcmVwcmVzZW50YXRpb24nKQoKZW5kCgoKCi0tLSBDb252ZXJ0IGEgYmludCB0byBhIGJ1ZmZlciBvZiBsaXR0bGUtZW5kaWFuIGJ5dGVzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGx1YSBpbnRlZ2VyLgoKLS0gQHBhcmFtW29wdF0gdHJpbSBJZiB0cnVlLCB6ZXJvIGJ5dGVzIG9uIHRoZSByaWdodCBhcmUgdHJpbW1lZC4KCi0tIEByZXR1cm4gQSBidWZmZXIgb2YgYnl0ZXMgcmVwcmVzZW50aW5nIHRoZSBpbnB1dC4KCi0tIEByYWlzZSBBc3NlcnRzIGluIGNhc2UgaW5wdXQgaXMgbm90IGNvbnZlcnRpYmxlIHRvIGFuIGludGVnZXIuCgpmdW5jdGlvbiBiaW50LnRvbGUoeCwgdHJpbSkKCiAgeCA9IGJpbnRfYXNzZXJ0X2NvbnZlcnQoeCkKCiAgbG9jYWwgcyA9IEJJTlRfTEVQQUNLRk1UOnBhY2sodGFibGVfdW5wYWNrKHgpKQoKICBpZiB0cmltIHRoZW4KCiAgICBzID0gczpnc3ViKCdceDAwKyQnLCAnJykKCiAgICBpZiBzID09ICcnIHRoZW4KCiAgICAgIHMgPSAnXHgwMCcKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiBzCgplbmQKCgoKLS0tIENvbnZlcnQgYSBiaW50IHRvIGEgYnVmZmVyIG9mIGJpZy1lbmRpYW4gYnl0ZXMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgbHVhIGludGVnZXIuCgotLSBAcGFyYW1bb3B0XSB0cmltIElmIHRydWUsIHplcm8gYnl0ZXMgb24gdGhlIGxlZnQgYXJlIHRyaW1tZWQuCgotLSBAcmV0dXJuIEEgYnVmZmVyIG9mIGJ5dGVzIHJlcHJlc2VudGluZyB0aGUgaW5wdXQuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0IGlzIG5vdCBjb252ZXJ0aWJsZSB0byBhbiBpbnRlZ2VyLgoKZnVuY3Rpb24gYmludC50b2JlKHgsIHRyaW0pCgogIHggPSBiaW50X2Fzc2VydF9jb252ZXJ0KHgpCgogIGxvY2FsIHMgPSBCSU5UX0xFUEFDS0ZNVDpwYWNrKHRhYmxlX3VucGFjayh4KSk6cmV2ZXJzZSgpCgogIGlmIHRyaW0gdGhlbgoKICAgIHMgPSBzOmdzdWIoJ15ceDAwKycsICcnKQoKICAgIGlmIHMgPT0gJycgdGhlbgoKICAgICAgcyA9ICdceDAwJwoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIHMKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYSBudW1iZXIgaXMgMCBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50LmlzemVybyh4KQoKICBpZiBnZXRtZXRhdGFibGUoeCkgPT0gYmludCB0aGVuCgogICAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICAgIGlmIHhbaV0gfj0gMCB0aGVuCgogICAgICAgIHJldHVybiBmYWxzZQoKICAgICAgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIHRydWUKCiAgZW5kCgogIHJldHVybiB4ID09IDAKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYSBudW1iZXIgaXMgMSBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50Lmlzb25lKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICBpZiB4WzFdIH49IDEgdGhlbgoKICAgICAgcmV0dXJuIGZhbHNlCgogICAgZW5kCgogICAgZm9yIGk9MixCSU5UX1NJWkUgZG8KCiAgICAgIGlmIHhbaV0gfj0gMCB0aGVuCgogICAgICAgIHJldHVybiBmYWxzZQoKICAgICAgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIHRydWUKCiAgZW5kCgogIHJldHVybiB4ID09IDEKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYSBudW1iZXIgaXMgLTEgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyLgoKZnVuY3Rpb24gYmludC5pc21pbnVzb25lKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgaWYgeFtpXSB+PSBCSU5UX1dPUkRNQVggdGhlbgoKICAgICAgICByZXR1cm4gZmFsc2UKCiAgICAgIGVuZAoKICAgIGVuZAoKICAgIHJldHVybiB0cnVlCgogIGVuZAoKICByZXR1cm4geCA9PSAtMQoKZW5kCgpsb2NhbCBiaW50X2lzbWludXNvbmUgPSBiaW50LmlzbWludXNvbmUKCgoKLS0tIENoZWNrIGlmIHRoZSBpbnB1dCBpcyBhIGJpbnQuCgotLSBAcGFyYW0geCBBbnkgbHVhIHZhbHVlLgoKZnVuY3Rpb24gYmludC5pc2JpbnQoeCkKCiAgcmV0dXJuIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50CgplbmQKCgoKLS0tIENoZWNrIGlmIHRoZSBpbnB1dCBpcyBhIGx1YSBpbnRlZ2VyIG9yIGEgYmludC4KCi0tIEBwYXJhbSB4IEFueSBsdWEgdmFsdWUuCgpmdW5jdGlvbiBiaW50LmlzaW50ZWdyYWwoeCkKCiAgcmV0dXJuIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IG9yIG1hdGhfdHlwZSh4KSA9PSAnaW50ZWdlcicKCmVuZAoKCgotLS0gQ2hlY2sgaWYgdGhlIGlucHV0IGlzIGEgYmludCBvciBhIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geCBBbnkgbHVhIHZhbHVlLgoKZnVuY3Rpb24gYmludC5pc251bWVyaWMoeCkKCiAgcmV0dXJuIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IG9yIHR5cGUoeCkgPT0gJ251bWJlcicKCmVuZAoKCgotLS0gR2V0IHRoZSBudW1iZXIgdHlwZSBvZiB0aGUgaW5wdXQgKGJpbnQsIGludGVnZXIgb3IgZmxvYXQpLgoKLS0gQHBhcmFtIHggQW55IGx1YSB2YWx1ZS4KCi0tIEByZXR1cm4gUmV0dXJucyAiYmludCIgZm9yIGJpbnRzLCAiaW50ZWdlciIgZm9yIGx1YSBpbnRlZ2VycywKCi0tICJmbG9hdCIgZnJvbSBsdWEgZmxvYXRzIG9yIG5pbCBvdGhlcndpc2UuCgpmdW5jdGlvbiBiaW50LnR5cGUoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIHJldHVybiAnYmludCcKCiAgZW5kCgogIHJldHVybiBtYXRoX3R5cGUoeCkKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYSBudW1iZXIgaXMgbmVnYXRpdmUgY29uc2lkZXJpbmcgYmludHMuCgotLSBaZXJvIGlzIGd1YXJhbnRlZWQgdG8gbmV2ZXIgYmUgbmVnYXRpdmUgZm9yIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlci4KCmZ1bmN0aW9uIGJpbnQuaXNuZWcoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIHJldHVybiB4W0JJTlRfU0laRV0gJiBCSU5UX1dPUkRNU0Igfj0gMAoKICBlbmQKCiAgcmV0dXJuIHggPCAwCgplbmQKCmxvY2FsIGJpbnRfaXNuZWcgPSBiaW50LmlzbmVnCgoKCi0tLSBDaGVjayBpZiBhIG51bWJlciBpcyBwb3NpdGl2ZSBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50LmlzcG9zKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICByZXR1cm4gbm90IHg6aXNuZWcoKSBhbmQgbm90IHg6aXN6ZXJvKCkKCiAgZW5kCgogIHJldHVybiB4ID4gMAoKZW5kCgoKCi0tLSBDaGVjayBpZiBhIG51bWJlciBpcyBldmVuIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlci4KCmZ1bmN0aW9uIGJpbnQuaXNldmVuKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICByZXR1cm4geFsxXSAmIDEgPT0gMAoKICBlbmQKCiAgcmV0dXJuIG1hdGhfYWJzKHgpICUgMiA9PSAwCgplbmQKCgoKLS0tIENoZWNrIGlmIGEgbnVtYmVyIGlzIG9kZCBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50Lmlzb2RkKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICByZXR1cm4geFsxXSAmIDEgPT0gMQoKICBlbmQKCiAgcmV0dXJuIG1hdGhfYWJzKHgpICUgMiA9PSAxCgplbmQKCgoKLS0tIENyZWF0ZSBhIG5ldyBiaW50IHdpdGggdGhlIG1heGltdW0gcG9zc2libGUgaW50ZWdlciB2YWx1ZS4KCmZ1bmN0aW9uIGJpbnQubWF4aW50ZWdlcigpCgogIGxvY2FsIHggPSBzZXRtZXRhdGFibGUoe30sIGJpbnQpCgogIGZvciBpPTEsQklOVF9TSVpFLTEgZG8KCiAgICB4W2ldID0gQklOVF9XT1JETUFYCgogIGVuZAoKICB4W0JJTlRfU0laRV0gPSBCSU5UX1dPUkRNQVggfiBCSU5UX1dPUkRNU0IKCiAgcmV0dXJuIHgKCmVuZAoKCgotLS0gQ3JlYXRlIGEgbmV3IGJpbnQgd2l0aCB0aGUgbWluaW11bSBwb3NzaWJsZSBpbnRlZ2VyIHZhbHVlLgoKZnVuY3Rpb24gYmludC5taW5pbnRlZ2VyKCkKCiAgbG9jYWwgeCA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgZm9yIGk9MSxCSU5UX1NJWkUtMSBkbwoKICAgIHhbaV0gPSAwCgogIGVuZAoKICB4W0JJTlRfU0laRV0gPSBCSU5UX1dPUkRNU0IKCiAgcmV0dXJuIHgKCmVuZAoKCgotLS0gQml0d2lzZSBsZWZ0IHNoaWZ0IGEgYmludCBpbiBvbmUgYml0IChpbi1wbGFjZSkuCgpmdW5jdGlvbiBiaW50Ol9zaGxvbmUoKQoKICBsb2NhbCB3b3JkYml0c20xID0gQklOVF9XT1JEQklUUyAtIDEKCiAgZm9yIGk9QklOVF9TSVpFLDIsLTEgZG8KCiAgICBzZWxmW2ldID0gKChzZWxmW2ldIDw8IDEpIHwgKHNlbGZbaS0xXSA+PiB3b3JkYml0c20xKSkgJiBCSU5UX1dPUkRNQVgKCiAgZW5kCgogIHNlbGZbMV0gPSAoc2VsZlsxXSA8PCAxKSAmIEJJTlRfV09SRE1BWAoKICByZXR1cm4gc2VsZgoKZW5kCgoKCi0tLSBCaXR3aXNlIHJpZ2h0IHNoaWZ0IGEgYmludCBpbiBvbmUgYml0IChpbi1wbGFjZSkuCgpmdW5jdGlvbiBiaW50Ol9zaHJvbmUoKQoKICBsb2NhbCB3b3JkYml0c20xID0gQklOVF9XT1JEQklUUyAtIDEKCiAgZm9yIGk9MSxCSU5UX1NJWkUtMSBkbwoKICAgIHNlbGZbaV0gPSAoKHNlbGZbaV0gPj4gMSkgfCAoc2VsZltpKzFdIDw8IHdvcmRiaXRzbTEpKSAmIEJJTlRfV09SRE1BWAoKICBlbmQKCiAgc2VsZltCSU5UX1NJWkVdID0gc2VsZltCSU5UX1NJWkVdID4+IDEKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLSBCaXR3aXNlIGxlZnQgc2hpZnQgd29yZHMgb2YgYSBiaW50IChpbi1wbGFjZSkuIFVzZWQgb25seSBpbnRlcm5hbGx5LgoKZnVuY3Rpb24gYmludDpfc2hsd29yZHMobikKCiAgZm9yIGk9QklOVF9TSVpFLG4rMSwtMSBkbwoKICAgIHNlbGZbaV0gPSBzZWxmW2kgLSBuXQoKICBlbmQKCiAgZm9yIGk9MSxuIGRvCgogICAgc2VsZltpXSA9IDAKCiAgZW5kCgogIHJldHVybiBzZWxmCgplbmQKCgoKLS0gQml0d2lzZSByaWdodCBzaGlmdCB3b3JkcyBvZiBhIGJpbnQgKGluLXBsYWNlKS4gVXNlZCBvbmx5IGludGVybmFsbHkuCgpmdW5jdGlvbiBiaW50Ol9zaHJ3b3JkcyhuKQoKICBpZiBuIDwgQklOVF9TSVpFIHRoZW4KCiAgICBmb3IgaT0xLEJJTlRfU0laRS1uIGRvCgogICAgICBzZWxmW2ldID0gc2VsZltpICsgbl0KCiAgICBlbmQKCiAgICBmb3IgaT1CSU5UX1NJWkUtbisxLEJJTlRfU0laRSBkbwoKICAgICAgc2VsZltpXSA9IDAKCiAgICBlbmQKCiAgZWxzZQoKICAgIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgICBzZWxmW2ldID0gMAoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gSW5jcmVtZW50IGEgYmludCBieSBvbmUgKGluLXBsYWNlKS4KCmZ1bmN0aW9uIGJpbnQ6X2luYygpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgbG9jYWwgdG1wID0gc2VsZltpXQoKICAgIGxvY2FsIHYgPSAodG1wICsgMSkgJiBCSU5UX1dPUkRNQVgKCiAgICBzZWxmW2ldID0gdgoKICAgIGlmIHYgPiB0bXAgdGhlbgoKICAgICAgYnJlYWsKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiBzZWxmCgplbmQKCgoKLS0tIEluY3JlbWVudCBhIG51bWJlciBieSBvbmUgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIGluY3JlbWVudC4KCmZ1bmN0aW9uIGJpbnQuaW5jKHgpCgogIGxvY2FsIGl4ID0gdG9iaW50KHgsIHRydWUpCgogIGlmIGl4IHRoZW4KCiAgICByZXR1cm4gaXg6X2luYygpCgogIGVuZAoKICByZXR1cm4geCArIDEKCmVuZAoKCgotLS0gRGVjcmVtZW50IGEgYmludCBieSBvbmUgKGluLXBsYWNlKS4KCmZ1bmN0aW9uIGJpbnQ6X2RlYygpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgbG9jYWwgdG1wID0gc2VsZltpXQoKICAgIGxvY2FsIHYgPSAodG1wIC0gMSkgJiBCSU5UX1dPUkRNQVgKCiAgICBzZWxmW2ldID0gdgoKICAgIGlmIHYgPD0gdG1wIHRoZW4KCiAgICAgIGJyZWFrCgogICAgZW5kCgogIGVuZAoKICByZXR1cm4gc2VsZgoKZW5kCgoKCi0tLSBEZWNyZW1lbnQgYSBudW1iZXIgYnkgb25lIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlciB0byBkZWNyZW1lbnQuCgpmdW5jdGlvbiBiaW50LmRlYyh4KQoKICBsb2NhbCBpeCA9IHRvYmludCh4LCB0cnVlKQoKICBpZiBpeCB0aGVuCgogICAgcmV0dXJuIGl4Ol9kZWMoKQoKICBlbmQKCiAgcmV0dXJuIHggLSAxCgplbmQKCgoKLS0tIEFzc2lnbiBhIGJpbnQgdG8gYSBuZXcgdmFsdWUgKGluLXBsYWNlKS4KCi0tIEBwYXJhbSB5IEEgdmFsdWUgdG8gYmUgY29waWVkIGZyb20uCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludDpfYXNzaWduKHkpCgogIHkgPSBiaW50X2Fzc2VydF9jb252ZXJ0KHkpCgogIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgc2VsZltpXSA9IHlbaV0KCiAgZW5kCgogIHJldHVybiBzZWxmCgplbmQKCgoKLS0tIFRha2UgYWJzb2x1dGUgb2YgYSBiaW50IChpbi1wbGFjZSkuCgpmdW5jdGlvbiBiaW50Ol9hYnMoKQoKICBpZiBzZWxmOmlzbmVnKCkgdGhlbgoKICAgIHNlbGY6X3VubSgpCgogIGVuZAoKICByZXR1cm4gc2VsZgoKZW5kCgoKCi0tLSBUYWtlIGFic29sdXRlIG9mIGEgbnVtYmVyIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlciB0byB0YWtlIHRoZSBhYnNvbHV0ZS4KCmZ1bmN0aW9uIGJpbnQuYWJzKHgpCgogIGxvY2FsIGl4ID0gdG9iaW50KHgsIHRydWUpCgogIGlmIGl4IHRoZW4KCiAgICByZXR1cm4gaXg6X2FicygpCgogIGVuZAoKICByZXR1cm4gbWF0aF9hYnMoeCkKCmVuZAoKbG9jYWwgYmludF9hYnMgPSBiaW50LmFicwoKCgotLS0gVGFrZSB0aGUgZmxvb3Igb2YgYSBudW1iZXIgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIHBlcmZvcm0gdGhlIGZsb29yIG9wZXJhdGlvbi4KCmZ1bmN0aW9uIGJpbnQuZmxvb3IoeCkKCiAgaWYgZ2V0bWV0YXRhYmxlKHgpID09IGJpbnQgdGhlbgoKICAgIHJldHVybiBiaW50X25ldyh4KQoKICBlbmQKCiAgcmV0dXJuIGJpbnRfbmV3KG1hdGhfZmxvb3IodG9udW1iZXIoeCkpKQoKZW5kCgoKCi0tLSBUYWtlIGNlaWwgb2YgYSBudW1iZXIgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIHBlcmZvcm0gdGhlIGNlaWwgb3BlcmF0aW9uLgoKZnVuY3Rpb24gYmludC5jZWlsKHgpCgogIGlmIGdldG1ldGF0YWJsZSh4KSA9PSBiaW50IHRoZW4KCiAgICByZXR1cm4gYmludF9uZXcoeCkKCiAgZW5kCgogIHJldHVybiBiaW50X25ldyhtYXRoX2NlaWwodG9udW1iZXIoeCkpKQoKZW5kCgoKCi0tLSBXcmFwIGFyb3VuZCBiaXRzIG9mIGFuIGludGVnZXIgKGRpc2NhcmRpbmcgbGVmdCBiaXRzKSBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBpbnRlZ2VyLgoKLS0gQHBhcmFtIHkgTnVtYmVyIG9mIHJpZ2h0IGJpdHMgdG8gcHJlc2VydmUuCgpmdW5jdGlvbiBiaW50LmJ3cmFwKHgsIHkpCgogIHggPSBiaW50X2Fzc2VydF9jb252ZXJ0KHgpCgogIGlmIHkgPD0gMCB0aGVuCgogICAgcmV0dXJuIGJpbnRfemVybygpCgogIGVsc2VpZiB5IDwgQklOVF9CSVRTIHRoZW4KCiAgICByZXR1cm4geCAmIChiaW50X29uZSgpIDw8IHkpOl9kZWMoKQoKICBlbmQKCiAgcmV0dXJuIGJpbnRfbmV3KHgpCgplbmQKCgoKLS0tIFJvdGF0ZSBsZWZ0IGludGVnZXIgeCBieSB5IGJpdHMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgaW50ZWdlci4KCi0tIEBwYXJhbSB5IE51bWJlciBvZiBiaXRzIHRvIHJvdGF0ZS4KCmZ1bmN0aW9uIGJpbnQuYnJvbCh4LCB5KQoKICB4LCB5ID0gYmludF9hc3NlcnRfY29udmVydCh4KSwgYmludF9hc3NlcnRfdG9pbnRlZ2VyKHkpCgogIGlmIHkgPiAwIHRoZW4KCiAgICByZXR1cm4gKHggPDwgeSkgfCAoeCA+PiAoQklOVF9CSVRTIC0geSkpCgogIGVsc2VpZiB5IDwgMCB0aGVuCgogICAgaWYgeSB+PSBtYXRoX21pbmludGVnZXIgdGhlbgoKICAgICAgcmV0dXJuIHg6YnJvcigteSkKCiAgICBlbHNlCgogICAgICB4OmJyb3IoLSh5KzEpKQoKICAgICAgeDpicm9yKDEpCgogICAgZW5kCgogIGVuZAoKICByZXR1cm4geAoKZW5kCgoKCi0tLSBSb3RhdGUgcmlnaHQgaW50ZWdlciB4IGJ5IHkgYml0cyBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IEEgYmludCBvciBhIGx1YSBpbnRlZ2VyLgoKLS0gQHBhcmFtIHkgTnVtYmVyIG9mIGJpdHMgdG8gcm90YXRlLgoKZnVuY3Rpb24gYmludC5icm9yKHgsIHkpCgogIHgsIHkgPSBiaW50X2Fzc2VydF9jb252ZXJ0KHgpLCBiaW50X2Fzc2VydF90b2ludGVnZXIoeSkKCiAgaWYgeSA+IDAgdGhlbgoKICAgIHJldHVybiAoeCA+PiB5KSB8ICh4IDw8IChCSU5UX0JJVFMgLSB5KSkKCiAgZWxzZWlmIHkgPCAwIHRoZW4KCiAgICBpZiB5IH49IG1hdGhfbWluaW50ZWdlciB0aGVuCgogICAgICByZXR1cm4geDpicm9sKC15KQoKICAgIGVsc2UKCiAgICAgIHg6YnJvbCgtKHkrMSkpCgogICAgICB4OmJyb2woMSkKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiB4CgplbmQKCgoKLS0tIFRydW5jYXRlIGEgbnVtYmVyIHRvIGEgYmludC4KCi0tIEZsb2F0cyBudW1iZXJzIGFyZSB0cnVuY2F0ZWQsIHRoYXQgaXMsIHRoZSBmcmFjdGlvbmFsIHBvcnQgaXMgZGlzY2FyZGVkLgoKLS0gQHBhcmFtIHggQSBudW1iZXIgdG8gdHJ1bmNhdGUuCgotLSBAcmV0dXJuIEEgbmV3IGJpbnQgb3IgbmlsIGluIGNhc2UgdGhlIGlucHV0IGRvZXMgbm90IGZpdCBpbiBhIGJpbnQgb3IgaXMgbm90IGEgbnVtYmVyLgoKZnVuY3Rpb24gYmludC50cnVuYyh4KQoKICBpZiBnZXRtZXRhdGFibGUoeCkgfj0gYmludCB0aGVuCgogICAgeCA9IHRvbnVtYmVyKHgpCgogICAgaWYgeCB0aGVuCgogICAgICBsb2NhbCB0eSA9IG1hdGhfdHlwZSh4KQoKICAgICAgaWYgdHkgPT0gJ2Zsb2F0JyB0aGVuCgogICAgICAgIC0tIHRydW5jYXRlIHRvIGludGVnZXIKCiAgICAgICAgeCA9IG1hdGhfbW9kZih4KQoKICAgICAgZW5kCgogICAgICByZXR1cm4gYmludF9mcm9taW50ZWdlcih4KQoKICAgIGVuZAoKICAgIHJldHVybgoKICBlbmQKCiAgcmV0dXJuIGJpbnRfbmV3KHgpCgplbmQKCgoKLS0tIFRha2UgbWF4aW11bSBiZXR3ZWVuIHR3byBudW1iZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGx1YSBudW1iZXIgdG8gY29tcGFyZS4KCi0tIEBwYXJhbSB5IEEgYmludCBvciBsdWEgbnVtYmVyIHRvIGNvbXBhcmUuCgotLSBAcmV0dXJuIEEgYmludCBvciBhIGx1YSBudW1iZXIuIEd1YXJhbnRlZXMgdG8gcmV0dXJuIGEgbmV3IGJpbnQgZm9yIGludGVnZXIgdmFsdWVzLgoKZnVuY3Rpb24gYmludC5tYXgoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICByZXR1cm4gYmludF9uZXcoaXggPiBpeSBhbmQgaXggb3IgaXkpCgogIGVuZAoKICByZXR1cm4gYmludF9wYXJzZShtYXRoX21heCh4LCB5KSkKCmVuZAoKCgotLS0gVGFrZSBtaW5pbXVtIGJldHdlZW4gdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgbHVhIG51bWJlciB0byBjb21wYXJlLgoKLS0gQHBhcmFtIHkgQSBiaW50IG9yIGx1YSBudW1iZXIgdG8gY29tcGFyZS4KCi0tIEByZXR1cm4gQSBiaW50IG9yIGEgbHVhIG51bWJlci4gR3VhcmFudGVlcyB0byByZXR1cm4gYSBuZXcgYmludCBmb3IgaW50ZWdlciB2YWx1ZXMuCgpmdW5jdGlvbiBiaW50Lm1pbih4LCB5KQoKICBsb2NhbCBpeCwgaXkgPSB0b2JpbnQoeCksIHRvYmludCh5KQoKICBpZiBpeCBhbmQgaXkgdGhlbgoKICAgIHJldHVybiBiaW50X25ldyhpeCA8IGl5IGFuZCBpeCBvciBpeSkKCiAgZW5kCgogIHJldHVybiBiaW50X3BhcnNlKG1hdGhfbWluKHgsIHkpKQoKZW5kCgoKCi0tLSBBZGQgYW4gaW50ZWdlciB0byBhIGJpbnQgKGluLXBsYWNlKS4KCi0tIEBwYXJhbSB5IEFuIGludGVnZXIgdG8gYmUgYWRkZWQuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludDpfYWRkKHkpCgogIHkgPSBiaW50X2Fzc2VydF9jb252ZXJ0KHkpCgogIGxvY2FsIGNhcnJ5ID0gMAoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIGxvY2FsIHRtcCA9IHNlbGZbaV0gKyB5W2ldICsgY2FycnkKCiAgICBjYXJyeSA9IHRtcCA+PiBCSU5UX1dPUkRCSVRTCgogICAgc2VsZltpXSA9IHRtcCAmIEJJTlRfV09SRE1BWAoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gQWRkIHR3byBudW1iZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGEgbHVhIG51bWJlciB0byBiZSBhZGRlZC4KCi0tIEBwYXJhbSB5IEEgYmludCBvciBhIGx1YSBudW1iZXIgdG8gYmUgYWRkZWQuCgpmdW5jdGlvbiBiaW50Ll9fYWRkKHgsIHkpCgogIGxvY2FsIGl4LCBpeSA9IHRvYmludCh4KSwgdG9iaW50KHkpCgogIGlmIGl4IGFuZCBpeSB0aGVuCgogICAgbG9jYWwgeiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBsb2NhbCBjYXJyeSA9IDAKCiAgICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgICAgbG9jYWwgdG1wID0gaXhbaV0gKyBpeVtpXSArIGNhcnJ5CgogICAgICBjYXJyeSA9IHRtcCA+PiBCSU5UX1dPUkRCSVRTCgogICAgICB6W2ldID0gdG1wICYgQklOVF9XT1JETUFYCgogICAgZW5kCgogICAgcmV0dXJuIHoKCiAgZW5kCgogIHJldHVybiBiaW50X3RvbnVtYmVyKHgpICsgYmludF90b251bWJlcih5KQoKZW5kCgoKCi0tLSBTdWJ0cmFjdCBhbiBpbnRlZ2VyIGZyb20gYSBiaW50IChpbi1wbGFjZSkuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHN1YnRyYWN0LgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCmZ1bmN0aW9uIGJpbnQ6X3N1Yih5KQoKICB5ID0gYmludF9hc3NlcnRfY29udmVydCh5KQoKICBsb2NhbCBib3Jyb3cgPSAwCgogIGxvY2FsIHdvcmRtYXhwMSA9IEJJTlRfV09SRE1BWCArIDEKCiAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICBsb2NhbCByZXMgPSBzZWxmW2ldICsgd29yZG1heHAxIC0geVtpXSAtIGJvcnJvdwoKICAgIHNlbGZbaV0gPSByZXMgJiBCSU5UX1dPUkRNQVgKCiAgICBib3Jyb3cgPSAocmVzID4+IEJJTlRfV09SREJJVFMpIH4gMQoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gU3VidHJhY3QgdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIGJlIHN1YnRyYWN0ZWQgZnJvbS4KCi0tIEBwYXJhbSB5IEEgYmludCBvciBhIGx1YSBudW1iZXIgdG8gc3VidHJhY3QuCgpmdW5jdGlvbiBiaW50Ll9fc3ViKHgsIHkpCgogIGxvY2FsIGl4LCBpeSA9IHRvYmludCh4KSwgdG9iaW50KHkpCgogIGlmIGl4IGFuZCBpeSB0aGVuCgogICAgbG9jYWwgeiA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgICBsb2NhbCBib3Jyb3cgPSAwCgogICAgbG9jYWwgd29yZG1heHAxID0gQklOVF9XT1JETUFYICsgMQoKICAgIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgICBsb2NhbCByZXMgPSBpeFtpXSArIHdvcmRtYXhwMSAtIGl5W2ldIC0gYm9ycm93CgogICAgICB6W2ldID0gcmVzICYgQklOVF9XT1JETUFYCgogICAgICBib3Jyb3cgPSAocmVzID4+IEJJTlRfV09SREJJVFMpIH4gMQoKICAgIGVuZAoKICAgIHJldHVybiB6CgogIGVuZAoKICByZXR1cm4gYmludF90b251bWJlcih4KSAtIGJpbnRfdG9udW1iZXIoeSkKCmVuZAoKCgotLS0gTXVsdGlwbHkgdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBIGJpbnQgb3IgYSBsdWEgbnVtYmVyIHRvIG11bHRpcGx5LgoKLS0gQHBhcmFtIHkgQSBiaW50IG9yIGEgbHVhIG51bWJlciB0byBtdWx0aXBseS4KCmZ1bmN0aW9uIGJpbnQuX19tdWwoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICBsb2NhbCB6ID0gYmludF96ZXJvKCkKCiAgICBsb2NhbCBzaXplcDEgPSBCSU5UX1NJWkUrMQoKICAgIGxvY2FsIHMgPSBzaXplcDEKCiAgICBsb2NhbCBlID0gMAoKICAgIGZvciBpPTEsQklOVF9TSVpFIGRvCgogICAgICBpZiBpeFtpXSB+PSAwIG9yIGl5W2ldIH49IDAgdGhlbgoKICAgICAgICBlID0gbWF0aF9tYXgoZSwgaSkKCiAgICAgICAgcyA9IG1hdGhfbWluKHMsIGkpCgogICAgICBlbmQKCiAgICBlbmQKCiAgICBmb3IgaT1zLGUgZG8KCiAgICAgIGZvciBqPXMsbWF0aF9taW4oc2l6ZXAxLWksZSkgZG8KCiAgICAgICAgbG9jYWwgYSA9IGl4W2ldICogaXlbal0KCiAgICAgICAgaWYgYSB+PSAwIHRoZW4KCiAgICAgICAgICBsb2NhbCBjYXJyeSA9IDAKCiAgICAgICAgICBmb3Igaz1pK2otMSxCSU5UX1NJWkUgZG8KCiAgICAgICAgICAgIGxvY2FsIHRtcCA9IHpba10gKyAoYSAmIEJJTlRfV09SRE1BWCkgKyBjYXJyeQoKICAgICAgICAgICAgY2FycnkgPSB0bXAgPj4gQklOVF9XT1JEQklUUwoKICAgICAgICAgICAgeltrXSA9IHRtcCAmIEJJTlRfV09SRE1BWAoKICAgICAgICAgICAgYSA9IGEgPj4gQklOVF9XT1JEQklUUwoKICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICAgIGVuZAoKICAgIGVuZAoKICAgIHJldHVybiB6CgogIGVuZAoKICByZXR1cm4gYmludF90b251bWJlcih4KSAqIGJpbnRfdG9udW1iZXIoeSkKCmVuZAoKCgotLS0gQ2hlY2sgaWYgYmludHMgYXJlIGVxdWFsLgoKLS0gQHBhcmFtIHggQSBiaW50IHRvIGNvbXBhcmUuCgotLSBAcGFyYW0geSBBIGJpbnQgdG8gY29tcGFyZS4KCmZ1bmN0aW9uIGJpbnQuX19lcSh4LCB5KQoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIGlmIHhbaV0gfj0geVtpXSB0aGVuCgogICAgICByZXR1cm4gZmFsc2UKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiB0cnVlCgplbmQKCgoKLS0tIENoZWNrIGlmIG51bWJlcnMgYXJlIGVxdWFsIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQSBiaW50IG9yIGx1YSBudW1iZXIgdG8gY29tcGFyZS4KCi0tIEBwYXJhbSB5IEEgYmludCBvciBsdWEgbnVtYmVyIHRvIGNvbXBhcmUuCgpmdW5jdGlvbiBiaW50LmVxKHgsIHkpCgogIGxvY2FsIGl4LCBpeSA9IHRvYmludCh4KSwgdG9iaW50KHkpCgogIGlmIGl4IGFuZCBpeSB0aGVuCgogICAgcmV0dXJuIGl4ID09IGl5CgogIGVuZAoKICByZXR1cm4geCA9PSB5CgplbmQKCmxvY2FsIGJpbnRfZXEgPSBiaW50LmVxCgoKCmxvY2FsIGZ1bmN0aW9uIGZpbmRsZWZ0Yml0KHgpCgogIGZvciBpPUJJTlRfU0laRSwxLC0xIGRvCgogICAgbG9jYWwgdiA9IHhbaV0KCiAgICBpZiB2IH49IDAgdGhlbgoKICAgICAgbG9jYWwgaiA9IDAKCiAgICAgIHJlcGVhdAoKICAgICAgICB2ID0gdiA+PiAxCgogICAgICAgIGogPSBqICsgMQoKICAgICAgdW50aWwgdiA9PSAwCgogICAgICByZXR1cm4gKGktMSkqQklOVF9XT1JEQklUUyArIGogLSAxLCBpCgogICAgZW5kCgogIGVuZAoKZW5kCgoKCi0tIFNpbmdsZSB3b3JkIGRpdmlzaW9uIG1vZHVsdXMKCmxvY2FsIGZ1bmN0aW9uIHN1ZGl2bW9kKG51bWUsIGRlbm8pCgogIGxvY2FsIHJlbWEKCiAgbG9jYWwgY2FycnkgPSAwCgogIGZvciBpPUJJTlRfU0laRSwxLC0xIGRvCgogICAgY2FycnkgPSBjYXJyeSB8IG51bWVbaV0KCiAgICBudW1lW2ldID0gY2FycnkgLy8gZGVubwoKICAgIHJlbWEgPSBjYXJyeSAlIGRlbm8KCiAgICBjYXJyeSA9IHJlbWEgPDwgQklOVF9XT1JEQklUUwoKICBlbmQKCiAgcmV0dXJuIHJlbWEKCmVuZAoKCgotLS0gUGVyZm9ybSB1bnNpZ25lZCBkaXZpc2lvbiBhbmQgbW9kdWxvIG9wZXJhdGlvbiBiZXR3ZWVuIHR3byBpbnRlZ2VycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIFRoaXMgaXMgZWZmZWN0aXZlbHkgdGhlIHNhbWUgb2YgQHtiaW50LnVkaXZ9IGFuZCBAe2JpbnQudW1vZH0uCgotLSBAcGFyYW0geCBUaGUgbnVtZXJhdG9yLCBtdXN0IGJlIGEgYmludCBvciBhIGx1YSBpbnRlZ2VyLgoKLS0gQHBhcmFtIHkgVGhlIGRlbm9taW5hdG9yLCBtdXN0IGJlIGEgYmludCBvciBhIGx1YSBpbnRlZ2VyLgoKLS0gQHJldHVybiBUaGUgcXVvdGllbnQgZm9sbG93aW5nIHRoZSByZW1haW5kZXIsIGJvdGggYmludHMuCgotLSBAcmFpc2UgQXNzZXJ0cyBvbiBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvCgotLSBvciBpZiBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCi0tIEBzZWUgYmludC51ZGl2CgotLSBAc2VlIGJpbnQudW1vZAoKZnVuY3Rpb24gYmludC51ZGl2bW9kKHgsIHkpCgogIGxvY2FsIG51bWUgPSBiaW50X25ldyh4KQoKICBsb2NhbCBkZW5vID0gYmludF9hc3NlcnRfY29udmVydCh5KQoKICAtLSBjb21wdXRlIGlmIGhpZ2ggYml0cyBvZiBkZW5vbWluYXRvciBhcmUgYWxsIHplcm9zCgogIGxvY2FsIGlzaGlnaHplcm8gPSB0cnVlCgogIGZvciBpPTIsQklOVF9TSVpFIGRvCgogICAgaWYgZGVub1tpXSB+PSAwIHRoZW4KCiAgICAgIGlzaGlnaHplcm8gPSBmYWxzZQoKICAgICAgYnJlYWsKCiAgICBlbmQKCiAgZW5kCgogIGlmIGlzaGlnaHplcm8gdGhlbgoKICAgIC0tIHRyeSB0byBkaXZpZGUgYnkgYSBzaW5nbGUgd29yZCAob3B0aW1pemF0aW9uKQoKICAgIGxvY2FsIGxvdyA9IGRlbm9bMV0KCiAgICBhc3NlcnQobG93IH49IDAsICdhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvJykKCiAgICBpZiBsb3cgPT0gMSB0aGVuCgogICAgICAtLSBkZW5vbWluYXRvciBpcyBvbmUKCiAgICAgIHJldHVybiBudW1lLCBiaW50X3plcm8oKQoKICAgIGVsc2VpZiBsb3cgPD0gKEJJTlRfV09SRE1TQiAtIDEpIHRoZW4KCiAgICAgIC0tIGNhbiBkbyBzaW5nbGUgd29yZCBkaXZpc2lvbgoKICAgICAgbG9jYWwgcmVtYSA9IHN1ZGl2bW9kKG51bWUsIGxvdykKCiAgICAgIHJldHVybiBudW1lLCBiaW50X2Zyb211aW50ZWdlcihyZW1hKQoKICAgIGVuZAoKICBlbmQKCiAgaWYgbnVtZTp1bHQoZGVubykgdGhlbgoKICAgIC0tIGRlbm9taW5hdG9yIGlzIGdyZWF0ZXIgdGhhbiBudW1lcmF0b3IKCiAgICByZXR1cm4gYmludF96ZXJvKCksIG51bWUKCiAgZW5kCgogIC0tIGFsaWduIGxlZnRtb3N0IGRpZ2l0cyBpbiBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yCgogIGxvY2FsIGRlbm9sYml0ID0gZmluZGxlZnRiaXQoZGVubykKCiAgbG9jYWwgbnVtZWxiaXQsIG51bWVzaXplID0gZmluZGxlZnRiaXQobnVtZSkKCiAgbG9jYWwgYml0ID0gbnVtZWxiaXQgLSBkZW5vbGJpdAoKICBkZW5vID0gZGVubyA8PCBiaXQKCiAgbG9jYWwgd29yZG1heHAxID0gQklOVF9XT1JETUFYICsgMQoKICBsb2NhbCB3b3JkYml0c20xID0gQklOVF9XT1JEQklUUyAtIDEKCiAgbG9jYWwgZGVub3NpemUgPSBudW1lc2l6ZQoKICBsb2NhbCBxdW90ID0gYmludF96ZXJvKCkKCiAgd2hpbGUgYml0ID49IDAgZG8KCiAgICAtLSBjb21wdXRlIGRlbm9taW5hdG9yIDw9IG51bWVyYXRvcgoKICAgIGxvY2FsIGxlID0gdHJ1ZQoKICAgIGxvY2FsIHNpemUgPSBtYXRoX21heChudW1lc2l6ZSwgZGVub3NpemUpCgogICAgZm9yIGk9c2l6ZSwxLC0xIGRvCgogICAgICBsb2NhbCBhLCBiID0gZGVub1tpXSwgbnVtZVtpXQoKICAgICAgaWYgYSB+PSBiIHRoZW4KCiAgICAgICAgbGUgPSBhIDwgYgoKICAgICAgICBicmVhawoKICAgICAgZW5kCgogICAgZW5kCgogICAgLS0gaWYgdGhlIHBvcnRpb24gb2YgdGhlIG51bWVyYXRvciBhYm92ZSB0aGUgZGVub21pbmF0b3IgaXMgZ3JlYXRlciBvciBlcXVhbCB0aGFuIHRvIHRoZSBkZW5vbWluYXRvcgoKICAgIGlmIGxlIHRoZW4KCiAgICAgIC0tIHN1YnRyYWN0IGRlbm9taW5hdG9yIGZyb20gdGhlIHBvcnRpb24gb2YgdGhlIG51bWVyYXRvcgoKICAgICAgbG9jYWwgYm9ycm93ID0gMAoKICAgICAgZm9yIGk9MSxzaXplIGRvCgogICAgICAgIGxvY2FsIHJlcyA9IG51bWVbaV0gKyB3b3JkbWF4cDEgLSBkZW5vW2ldIC0gYm9ycm93CgogICAgICAgIG51bWVbaV0gPSByZXMgJiBCSU5UX1dPUkRNQVgKCiAgICAgICAgYm9ycm93ID0gKHJlcyA+PiBCSU5UX1dPUkRCSVRTKSB+IDEKCiAgICAgIGVuZAoKICAgICAgLS0gY29uY2F0ZW5hdGUgMSB0byB0aGUgcmlnaHQgYml0IG9mIHRoZSBxdW90aWVudAoKICAgICAgbG9jYWwgaSA9IChiaXQgLy8gQklOVF9XT1JEQklUUykgKyAxCgogICAgICBxdW90W2ldID0gcXVvdFtpXSB8ICgxIDw8IChiaXQgJSBCSU5UX1dPUkRCSVRTKSkKCiAgICBlbmQKCiAgICAtLSBzaGlmdCByaWdodCB0aGUgZGVub21pbmF0b3IgaW4gb25lIGJpdAoKICAgIGZvciBpPTEsZGVub3NpemUtMSBkbwoKICAgICAgZGVub1tpXSA9ICgoZGVub1tpXSA+PiAxKSB8IChkZW5vW2krMV0gPDwgd29yZGJpdHNtMSkpICYgQklOVF9XT1JETUFYCgogICAgZW5kCgogICAgbG9jYWwgbGFzdGRlbm93b3JkID0gZGVub1tkZW5vc2l6ZV0gPj4gMQoKICAgIGRlbm9bZGVub3NpemVdID0gbGFzdGRlbm93b3JkCgogICAgLS0gcmVjYWxjdWxhdGUgZGVub21pbmF0b3Igc2l6ZSAob3B0aW1pemF0aW9uKQoKICAgIGlmIGxhc3RkZW5vd29yZCA9PSAwIHRoZW4KCiAgICAgIHdoaWxlIGRlbm9bZGVub3NpemVdID09IDAgZG8KCiAgICAgICAgZGVub3NpemUgPSBkZW5vc2l6ZSAtIDEKCiAgICAgIGVuZAoKICAgICAgaWYgZGVub3NpemUgPT0gMCB0aGVuCgogICAgICAgIGJyZWFrCgogICAgICBlbmQKCiAgICBlbmQKCiAgICAtLSBkZWNyZW1lbnQgY3VycmVudCBzZXQgYml0IGZvciB0aGUgcXVvdGllbnQKCiAgICBiaXQgPSBiaXQgLSAxCgogIGVuZAoKICAtLSB0aGUgcmVtYWluaW5nIG51bWVyYXRvciBpcyB0aGUgcmVtYWluZGVyCgogIHJldHVybiBxdW90LCBudW1lCgplbmQKCmxvY2FsIGJpbnRfdWRpdm1vZCA9IGJpbnQudWRpdm1vZAoKCgotLS0gUGVyZm9ybSB1bnNpZ25lZCBkaXZpc2lvbiBiZXR3ZWVuIHR3byBpbnRlZ2VycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIEBwYXJhbSB4IFRoZSBudW1lcmF0b3IsIG11c3QgYmUgYSBiaW50IG9yIGEgbHVhIGludGVnZXIuCgotLSBAcGFyYW0geSBUaGUgZGVub21pbmF0b3IsIG11c3QgYmUgYSBiaW50IG9yIGEgbHVhIGludGVnZXIuCgotLSBAcmV0dXJuIFRoZSBxdW90aWVudCwgYSBiaW50LgoKLS0gQHJhaXNlIEFzc2VydHMgb24gYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybwoKLS0gb3IgaWYgaW5wdXRzIGFyZSBub3QgY29udmVydGlibGUgdG8gaW50ZWdlcnMuCgpmdW5jdGlvbiBiaW50LnVkaXYoeCwgeSkKCiAgcmV0dXJuIChiaW50X3VkaXZtb2QoeCwgeSkpCgplbmQKCgoKLS0tIFBlcmZvcm0gdW5zaWduZWQgaW50ZWdlciBtb2R1bG8gb3BlcmF0aW9uIGJldHdlZW4gdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggVGhlIG51bWVyYXRvciwgbXVzdCBiZSBhIGJpbnQgb3IgYSBsdWEgaW50ZWdlci4KCi0tIEBwYXJhbSB5IFRoZSBkZW5vbWluYXRvciwgbXVzdCBiZSBhIGJpbnQgb3IgYSBsdWEgaW50ZWdlci4KCi0tIEByZXR1cm4gVGhlIHJlbWFpbmRlciwgYSBiaW50LgoKLS0gQHJhaXNlIEFzc2VydHMgb24gYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybwoKLS0gb3IgaWYgdGhlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludC51bW9kKHgsIHkpCgogIGxvY2FsIF8sIHJlbWEgPSBiaW50X3VkaXZtb2QoeCwgeSkKCiAgcmV0dXJuIHJlbWEKCmVuZAoKbG9jYWwgYmludF91bW9kID0gYmludC51bW9kCgoKCi0tLSBQZXJmb3JtIGludGVnZXIgdHJ1bmNhdGUgZGl2aXNpb24gYW5kIG1vZHVsbyBvcGVyYXRpb24gYmV0d2VlbiB0d28gbnVtYmVycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIFRoaXMgaXMgZWZmZWN0aXZlbHkgdGhlIHNhbWUgb2YgQHtiaW50LnRkaXZ9IGFuZCBAe2JpbnQudG1vZH0uCgotLSBAcGFyYW0geCBUaGUgbnVtZXJhdG9yLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEBwYXJhbSB5IFRoZSBkZW5vbWluYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmV0dXJuIFRoZSBxdW90aWVudCBmb2xsb3dpbmcgdGhlIHJlbWFpbmRlciwgYm90aCBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmFpc2UgQXNzZXJ0cyBvbiBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvIG9yIG9uIGRpdmlzaW9uIG92ZXJmbG93LgoKLS0gQHNlZSBiaW50LnRkaXYKCi0tIEBzZWUgYmludC50bW9kCgpmdW5jdGlvbiBiaW50LnRkaXZtb2QoeCwgeSkKCiAgbG9jYWwgYXgsIGF5ID0gYmludF9hYnMoeCksIGJpbnRfYWJzKHkpCgogIGxvY2FsIGl4LCBpeSA9IHRvYmludChheCksIHRvYmludChheSkKCiAgbG9jYWwgcXVvdCwgcmVtYQoKICBpZiBpeCBhbmQgaXkgdGhlbgoKICAgIGFzc2VydChub3QgKGJpbnRfZXEoeCwgQklOVF9NSU5JTlRFR0VSKSBhbmQgYmludF9pc21pbnVzb25lKHkpKSwgJ2RpdmlzaW9uIG92ZXJmbG93JykKCiAgICBxdW90LCByZW1hID0gYmludF91ZGl2bW9kKGl4LCBpeSkKCiAgZWxzZQoKICAgIHF1b3QsIHJlbWEgPSBheCAvLyBheSwgYXggJSBheQoKICBlbmQKCiAgbG9jYWwgaXN4bmVnLCBpc3luZWcgPSBiaW50X2lzbmVnKHgpLCBiaW50X2lzbmVnKHkpCgogIGlmIGlzeG5lZyB+PSBpc3luZWcgdGhlbgoKICAgIHF1b3QgPSAtcXVvdAoKICBlbmQKCiAgaWYgaXN4bmVnIHRoZW4KCiAgICByZW1hID0gLXJlbWEKCiAgZW5kCgogIHJldHVybiBxdW90LCByZW1hCgplbmQKCmxvY2FsIGJpbnRfdGRpdm1vZCA9IGJpbnQudGRpdm1vZAoKCgotLS0gUGVyZm9ybSB0cnVuY2F0ZSBkaXZpc2lvbiBiZXR3ZWVuIHR3byBudW1iZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gVHJ1bmNhdGUgZGl2aXNpb24gaXMgYSBkaXZpc2lvbiB0aGF0IHJvdW5kcyB0aGUgcXVvdGllbnQgdG93YXJkcyB6ZXJvLgoKLS0gQHBhcmFtIHggVGhlIG51bWVyYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBUaGUgZGVub21pbmF0b3IsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBUaGUgcXVvdGllbnQsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJhaXNlIEFzc2VydHMgb24gYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVybyBvciBvbiBkaXZpc2lvbiBvdmVyZmxvdy4KCmZ1bmN0aW9uIGJpbnQudGRpdih4LCB5KQoKICByZXR1cm4gKGJpbnRfdGRpdm1vZCh4LCB5KSkKCmVuZAoKCgotLS0gUGVyZm9ybSBpbnRlZ2VyIHRydW5jYXRlIG1vZHVsbyBvcGVyYXRpb24gYmV0d2VlbiB0d28gbnVtYmVycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIFRoZSBvcGVyYXRpb24gaXMgZGVmaW5lZCBhcyB0aGUgcmVtYWluZGVyIG9mIHRoZSB0cnVuY2F0ZSBkaXZpc2lvbgoKLS0gKGRpdmlzaW9uIHRoYXQgcm91bmRzIHRoZSBxdW90aWVudCB0b3dhcmRzIHplcm8pLgoKLS0gQHBhcmFtIHggVGhlIG51bWVyYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBUaGUgZGVub21pbmF0b3IsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBUaGUgcmVtYWluZGVyLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEByYWlzZSBBc3NlcnRzIG9uIGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8gb3Igb24gZGl2aXNpb24gb3ZlcmZsb3cuCgpmdW5jdGlvbiBiaW50LnRtb2QoeCwgeSkKCiAgbG9jYWwgXywgcmVtYSA9IGJpbnRfdGRpdm1vZCh4LCB5KQoKICByZXR1cm4gcmVtYQoKZW5kCgoKCi0tLSBQZXJmb3JtIGludGVnZXIgZmxvb3IgZGl2aXNpb24gYW5kIG1vZHVsbyBvcGVyYXRpb24gYmV0d2VlbiB0d28gbnVtYmVycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIFRoaXMgaXMgZWZmZWN0aXZlbHkgdGhlIHNhbWUgb2YgQHtiaW50Ll9faWRpdn0gYW5kIEB7YmludC5fX21vZH0uCgotLSBAcGFyYW0geCBUaGUgbnVtZXJhdG9yLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEBwYXJhbSB5IFRoZSBkZW5vbWluYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmV0dXJuIFRoZSBxdW90aWVudCBmb2xsb3dpbmcgdGhlIHJlbWFpbmRlciwgYm90aCBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmFpc2UgQXNzZXJ0cyBvbiBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvLgoKLS0gQHNlZSBiaW50Ll9faWRpdgoKLS0gQHNlZSBiaW50Ll9fbW9kCgpmdW5jdGlvbiBiaW50LmlkaXZtb2QoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICBsb2NhbCBpc251bWVuZWcgPSBpeFtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBsb2NhbCBpc2Rlbm9uZWcgPSBpeVtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBpZiBpc251bWVuZWcgdGhlbgoKICAgICAgaXggPSAtaXgKCiAgICBlbmQKCiAgICBpZiBpc2Rlbm9uZWcgdGhlbgoKICAgICAgaXkgPSAtaXkKCiAgICBlbmQKCiAgICBsb2NhbCBxdW90LCByZW1hID0gYmludF91ZGl2bW9kKGl4LCBpeSkKCiAgICBpZiBpc251bWVuZWcgfj0gaXNkZW5vbmVnIHRoZW4KCiAgICAgIHF1b3Q6X3VubSgpCgogICAgICAtLSByb3VuZCBxdW90aWVudCB0b3dhcmRzIG1pbnVzIGluZmluaXR5CgogICAgICBpZiBub3QgcmVtYTppc3plcm8oKSB0aGVuCgogICAgICAgIHF1b3Q6X2RlYygpCgogICAgICAgIC0tIGFkanVzdCB0aGUgcmVtYWluZGVyCgogICAgICAgIGlmIGlzbnVtZW5lZyBhbmQgbm90IGlzZGVub25lZyB0aGVuCgogICAgICAgICAgcmVtYTpfdW5tKCk6X2FkZCh5KQoKICAgICAgICBlbHNlaWYgaXNkZW5vbmVnIGFuZCBub3QgaXNudW1lbmVnIHRoZW4KCiAgICAgICAgICByZW1hOl9hZGQoeSkKCiAgICAgICAgZW5kCgogICAgICBlbmQKCiAgICBlbHNlaWYgaXNudW1lbmVnIHRoZW4KCiAgICAgIC0tIGFkanVzdCB0aGUgcmVtYWluZGVyCgogICAgICByZW1hOl91bm0oKQoKICAgIGVuZAoKICAgIHJldHVybiBxdW90LCByZW1hCgogIGVuZAoKICBsb2NhbCBueCwgbnkgPSBiaW50X3RvbnVtYmVyKHgpLCBiaW50X3RvbnVtYmVyKHkpCgogIHJldHVybiBueCAvLyBueSwgbnggJSBueQoKZW5kCgpsb2NhbCBiaW50X2lkaXZtb2QgPSBiaW50LmlkaXZtb2QKCgoKLS0tIFBlcmZvcm0gZmxvb3IgZGl2aXNpb24gYmV0d2VlbiB0d28gbnVtYmVycyBjb25zaWRlcmluZyBiaW50cy4KCi0tIEZsb29yIGRpdmlzaW9uIGlzIGEgZGl2aXNpb24gdGhhdCByb3VuZHMgdGhlIHF1b3RpZW50IHRvd2FyZHMgbWludXMgaW5maW5pdHksCgotLSByZXN1bHRpbmcgaW4gdGhlIGZsb29yIG9mIHRoZSBkaXZpc2lvbiBvZiBpdHMgb3BlcmFuZHMuCgotLSBAcGFyYW0geCBUaGUgbnVtZXJhdG9yLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEBwYXJhbSB5IFRoZSBkZW5vbWluYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmV0dXJuIFRoZSBxdW90aWVudCwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcmFpc2UgQXNzZXJ0cyBvbiBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvLgoKZnVuY3Rpb24gYmludC5fX2lkaXYoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICBsb2NhbCBpc251bWVuZWcgPSBpeFtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBsb2NhbCBpc2Rlbm9uZWcgPSBpeVtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBpZiBpc251bWVuZWcgdGhlbgoKICAgICAgaXggPSAtaXgKCiAgICBlbmQKCiAgICBpZiBpc2Rlbm9uZWcgdGhlbgoKICAgICAgaXkgPSAtaXkKCiAgICBlbmQKCiAgICBsb2NhbCBxdW90LCByZW1hID0gYmludF91ZGl2bW9kKGl4LCBpeSkKCiAgICBpZiBpc251bWVuZWcgfj0gaXNkZW5vbmVnIHRoZW4KCiAgICAgIHF1b3Q6X3VubSgpCgogICAgICAtLSByb3VuZCBxdW90aWVudCB0b3dhcmRzIG1pbnVzIGluZmluaXR5CgogICAgICBpZiBub3QgcmVtYTppc3plcm8oKSB0aGVuCgogICAgICAgIHF1b3Q6X2RlYygpCgogICAgICBlbmQKCiAgICBlbmQKCiAgICByZXR1cm4gcXVvdCwgcmVtYQoKICBlbmQKCiAgcmV0dXJuIGJpbnRfdG9udW1iZXIoeCkgLy8gYmludF90b251bWJlcih5KQoKZW5kCgoKCi0tLSBQZXJmb3JtIGRpdmlzaW9uIGJldHdlZW4gdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBUaGlzIGFsd2F5cyBjYXN0cyBpbnB1dHMgdG8gZmxvYXRzLCBmb3IgaW50ZWdlciBkaXZpc2lvbiBvbmx5IHVzZSBAe2JpbnQuX19pZGl2fS4KCi0tIEBwYXJhbSB4IFRoZSBudW1lcmF0b3IsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHBhcmFtIHkgVGhlIGRlbm9taW5hdG9yLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEByZXR1cm4gVGhlIHF1b3RpZW50LCBhIGx1YSBudW1iZXIuCgpmdW5jdGlvbiBiaW50Ll9fZGl2KHgsIHkpCgogIHJldHVybiBiaW50X3RvbnVtYmVyKHgpIC8gYmludF90b251bWJlcih5KQoKZW5kCgoKCi0tLSBQZXJmb3JtIGludGVnZXIgZmxvb3IgbW9kdWxvIG9wZXJhdGlvbiBiZXR3ZWVuIHR3byBudW1iZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gVGhlIG9wZXJhdGlvbiBpcyBkZWZpbmVkIGFzIHRoZSByZW1haW5kZXIgb2YgdGhlIGZsb29yIGRpdmlzaW9uCgotLSAoZGl2aXNpb24gdGhhdCByb3VuZHMgdGhlIHF1b3RpZW50IHRvd2FyZHMgbWludXMgaW5maW5pdHkpLgoKLS0gQHBhcmFtIHggVGhlIG51bWVyYXRvciwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBUaGUgZGVub21pbmF0b3IsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBUaGUgcmVtYWluZGVyLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEByYWlzZSBBc3NlcnRzIG9uIGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8uCgpmdW5jdGlvbiBiaW50Ll9fbW9kKHgsIHkpCgogIGxvY2FsIF8sIHJlbWEgPSBiaW50X2lkaXZtb2QoeCwgeSkKCiAgcmV0dXJuIHJlbWEKCmVuZAoKCgotLS0gUGVyZm9ybSBpbnRlZ2VyIHBvd2VyIGJldHdlZW4gdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gSWYgeSBpcyBuZWdhdGl2ZSB0aGVuIHBvdyBpcyBwZXJmb3JtZWQgYXMgYW4gdW5zaWduZWQgaW50ZWdlci4KCi0tIEBwYXJhbSB4IFRoZSBiYXNlLCBhbiBpbnRlZ2VyLgoKLS0gQHBhcmFtIHkgVGhlIGV4cG9uZW50LCBhbiBpbnRlZ2VyLgoKLS0gQHJldHVybiBUaGUgcmVzdWx0IG9mIHRoZSBwb3cgb3BlcmF0aW9uLCBhIGJpbnQuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKLS0gQHNlZSBiaW50Ll9fcG93CgotLSBAc2VlIGJpbnQudXBvd21vZAoKZnVuY3Rpb24gYmludC5pcG93KHgsIHkpCgogIHkgPSBiaW50X2Fzc2VydF9jb252ZXJ0KHkpCgogIGlmIHk6aXN6ZXJvKCkgdGhlbgoKICAgIHJldHVybiBiaW50X29uZSgpCgogIGVsc2VpZiB5Omlzb25lKCkgdGhlbgoKICAgIHJldHVybiBiaW50X25ldyh4KQoKICBlbmQKCiAgLS0gY29tcHV0ZSBleHBvbmVudGlhdGlvbiBieSBzcXVhcmluZwoKICB4LCB5ID0gYmludF9uZXcoeCksICBiaW50X25ldyh5KQoKICBsb2NhbCB6ID0gYmludF9vbmUoKQoKICByZXBlYXQKCiAgICBpZiB5OmlzZXZlbigpIHRoZW4KCiAgICAgIHggPSB4ICogeAoKICAgICAgeTpfc2hyb25lKCkKCiAgICBlbHNlCgogICAgICB6ID0geCAqIHoKCiAgICAgIHggPSB4ICogeAoKICAgICAgeTpfZGVjKCk6X3Nocm9uZSgpCgogICAgZW5kCgogIHVudGlsIHk6aXNvbmUoKQoKICByZXR1cm4geCAqIHoKCmVuZAoKCgotLS0gUGVyZm9ybSBpbnRlZ2VyIHBvd2VyIGJldHdlZW4gdHdvIHVuc2lnbmVkIGludGVnZXJzIG92ZXIgYSBtb2R1bHVzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggVGhlIGJhc2UsIGFuIGludGVnZXIuCgotLSBAcGFyYW0geSBUaGUgZXhwb25lbnQsIGFuIGludGVnZXIuCgotLSBAcGFyYW0gbSBUaGUgbW9kdWx1cywgYW4gaW50ZWdlci4KCi0tIEByZXR1cm4gVGhlIHJlc3VsdCBvZiB0aGUgcG93IG9wZXJhdGlvbiwgYSBiaW50LgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCi0tIEBzZWUgYmludC5fX3BvdwoKLS0gQHNlZSBiaW50Lmlwb3cKCmZ1bmN0aW9uIGJpbnQudXBvd21vZCh4LCB5LCBtKQoKICBtID0gYmludF9hc3NlcnRfY29udmVydChtKQoKICBpZiBtOmlzb25lKCkgdGhlbgoKICAgIHJldHVybiBiaW50X3plcm8oKQoKICBlbmQKCiAgeCwgeSA9IGJpbnRfbmV3KHgpLCAgYmludF9uZXcoeSkKCiAgbG9jYWwgeiA9IGJpbnRfb25lKCkKCiAgeCA9IGJpbnRfdW1vZCh4LCBtKQoKICB3aGlsZSBub3QgeTppc3plcm8oKSBkbwoKICAgIGlmIHk6aXNvZGQoKSB0aGVuCgogICAgICB6ID0gYmludF91bW9kKHoqeCwgbSkKCiAgICBlbmQKCiAgICB5Ol9zaHJvbmUoKQoKICAgIHggPSBiaW50X3Vtb2QoeCp4LCBtKQoKICBlbmQKCiAgcmV0dXJuIHoKCmVuZAoKCgotLS0gUGVyZm9ybSBudW1lcmljIHBvd2VyIGJldHdlZW4gdHdvIG51bWJlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBUaGlzIGFsd2F5cyBjYXN0cyBpbnB1dHMgdG8gZmxvYXRzLCBmb3IgaW50ZWdlciBwb3dlciBvbmx5IHVzZSBAe2JpbnQuaXBvd30uCgotLSBAcGFyYW0geCBUaGUgYmFzZSwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBUaGUgZXhwb25lbnQsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHJldHVybiBUaGUgcmVzdWx0IG9mIHRoZSBwb3cgb3BlcmF0aW9uLCBhIGx1YSBudW1iZXIuCgotLSBAc2VlIGJpbnQuaXBvdwoKZnVuY3Rpb24gYmludC5fX3Bvdyh4LCB5KQoKICByZXR1cm4gYmludF90b251bWJlcih4KSBeIGJpbnRfdG9udW1iZXIoeSkKCmVuZAoKCgotLS0gQml0d2lzZSBsZWZ0IHNoaWZ0IGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQW4gaW50ZWdlciB0byBwZXJmb3JtIHRoZSBiaXR3aXNlIHNoaWZ0LgoKLS0gQHBhcmFtIHkgQW4gaW50ZWdlciB3aXRoIHRoZSBudW1iZXIgb2YgYml0cyB0byBzaGlmdC4KCi0tIEByZXR1cm4gVGhlIHJlc3VsdCBvZiBzaGlmdCBvcGVyYXRpb24sIGEgYmludC4KCi0tIEByYWlzZSBBc3NlcnRzIGluIGNhc2UgaW5wdXRzIGFyZSBub3QgY29udmVydGlibGUgdG8gaW50ZWdlcnMuCgpmdW5jdGlvbiBiaW50Ll9fc2hsKHgsIHkpCgogIHgsIHkgPSBiaW50X25ldyh4KSwgYmludF9hc3NlcnRfdG9pbnRlZ2VyKHkpCgogIGlmIHkgPT0gbWF0aF9taW5pbnRlZ2VyIG9yIG1hdGhfYWJzKHkpID49IEJJTlRfQklUUyB0aGVuCgogICAgcmV0dXJuIGJpbnRfemVybygpCgogIGVuZAoKICBpZiB5IDwgMCB0aGVuCgogICAgcmV0dXJuIHggPj4gLXkKCiAgZW5kCgogIGxvY2FsIG52YWxzID0geSAvLyBCSU5UX1dPUkRCSVRTCgogIGlmIG52YWxzIH49IDAgdGhlbgoKICAgIHg6X3NobHdvcmRzKG52YWxzKQoKICAgIHkgPSB5IC0gbnZhbHMgKiBCSU5UX1dPUkRCSVRTCgogIGVuZAoKICBpZiB5IH49IDAgdGhlbgoKICAgIGxvY2FsIHdvcmRiaXRzbXkgPSBCSU5UX1dPUkRCSVRTIC0geQoKICAgIGZvciBpPUJJTlRfU0laRSwyLC0xIGRvCgogICAgICB4W2ldID0gKCh4W2ldIDw8IHkpIHwgKHhbaS0xXSA+PiB3b3JkYml0c215KSkgJiBCSU5UX1dPUkRNQVgKCiAgICBlbmQKCiAgICB4WzFdID0gKHhbMV0gPDwgeSkgJiBCSU5UX1dPUkRNQVgKCiAgZW5kCgogIHJldHVybiB4CgplbmQKCgoKLS0tIEJpdHdpc2UgcmlnaHQgc2hpZnQgaW50ZWdlcnMgY29uc2lkZXJpbmcgYmludHMuCgotLSBAcGFyYW0geCBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gdGhlIGJpdHdpc2Ugc2hpZnQuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHdpdGggdGhlIG51bWJlciBvZiBiaXRzIHRvIHNoaWZ0LgoKLS0gQHJldHVybiBUaGUgcmVzdWx0IG9mIHNoaWZ0IG9wZXJhdGlvbiwgYSBiaW50LgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCmZ1bmN0aW9uIGJpbnQuX19zaHIoeCwgeSkKCiAgeCwgeSA9IGJpbnRfbmV3KHgpLCBiaW50X2Fzc2VydF90b2ludGVnZXIoeSkKCiAgaWYgeSA9PSBtYXRoX21pbmludGVnZXIgb3IgbWF0aF9hYnMoeSkgPj0gQklOVF9CSVRTIHRoZW4KCiAgICByZXR1cm4gYmludF96ZXJvKCkKCiAgZW5kCgogIGlmIHkgPCAwIHRoZW4KCiAgICByZXR1cm4geCA8PCAteQoKICBlbmQKCiAgbG9jYWwgbnZhbHMgPSB5IC8vIEJJTlRfV09SREJJVFMKCiAgaWYgbnZhbHMgfj0gMCB0aGVuCgogICAgeDpfc2hyd29yZHMobnZhbHMpCgogICAgeSA9IHkgLSBudmFscyAqIEJJTlRfV09SREJJVFMKCiAgZW5kCgogIGlmIHkgfj0gMCB0aGVuCgogICAgbG9jYWwgd29yZGJpdHNteSA9IEJJTlRfV09SREJJVFMgLSB5CgogICAgZm9yIGk9MSxCSU5UX1NJWkUtMSBkbwoKICAgICAgeFtpXSA9ICgoeFtpXSA+PiB5KSB8ICh4W2krMV0gPDwgd29yZGJpdHNteSkpICYgQklOVF9XT1JETUFYCgogICAgZW5kCgogICAgeFtCSU5UX1NJWkVdID0geFtCSU5UX1NJWkVdID4+IHkKCiAgZW5kCgogIHJldHVybiB4CgplbmQKCgoKLS0tIEJpdHdpc2UgQU5EIGJpbnRzIChpbi1wbGFjZSkuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBBTkQuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludDpfYmFuZCh5KQoKICB5ID0gYmludF9hc3NlcnRfY29udmVydCh5KQoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIHNlbGZbaV0gPSBzZWxmW2ldICYgeVtpXQoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gQml0d2lzZSBBTkQgdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgQU5ELgoKLS0gQHBhcmFtIHkgQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgQU5ELgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCmZ1bmN0aW9uIGJpbnQuX19iYW5kKHgsIHkpCgogIHJldHVybiBiaW50X25ldyh4KTpfYmFuZCh5KQoKZW5kCgoKCi0tLSBCaXR3aXNlIE9SIGJpbnRzIChpbi1wbGFjZSkuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBPUi4KCi0tIEByYWlzZSBBc3NlcnRzIGluIGNhc2UgaW5wdXRzIGFyZSBub3QgY29udmVydGlibGUgdG8gaW50ZWdlcnMuCgpmdW5jdGlvbiBiaW50Ol9ib3IoeSkKCiAgeSA9IGJpbnRfYXNzZXJ0X2NvbnZlcnQoeSkKCiAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICBzZWxmW2ldID0gc2VsZltpXSB8IHlbaV0KCiAgZW5kCgogIHJldHVybiBzZWxmCgplbmQKCgoKLS0tIEJpdHdpc2UgT1IgdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgT1IuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBPUi4KCi0tIEByYWlzZSBBc3NlcnRzIGluIGNhc2UgaW5wdXRzIGFyZSBub3QgY29udmVydGlibGUgdG8gaW50ZWdlcnMuCgpmdW5jdGlvbiBiaW50Ll9fYm9yKHgsIHkpCgogIHJldHVybiBiaW50X25ldyh4KTpfYm9yKHkpCgplbmQKCgoKLS0tIEJpdHdpc2UgWE9SIGJpbnRzIChpbi1wbGFjZSkuCgotLSBAcGFyYW0geSBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBYT1IuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludDpfYnhvcih5KQoKICB5ID0gYmludF9hc3NlcnRfY29udmVydCh5KQoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIHNlbGZbaV0gPSBzZWxmW2ldIH4geVtpXQoKICBlbmQKCiAgcmV0dXJuIHNlbGYKCmVuZAoKCgotLS0gQml0d2lzZSBYT1IgdHdvIGludGVnZXJzIGNvbnNpZGVyaW5nIGJpbnRzLgoKLS0gQHBhcmFtIHggQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgWE9SLgoKLS0gQHBhcmFtIHkgQW4gaW50ZWdlciB0byBwZXJmb3JtIGJpdHdpc2UgWE9SLgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCmZ1bmN0aW9uIGJpbnQuX19ieG9yKHgsIHkpCgogIHJldHVybiBiaW50X25ldyh4KTpfYnhvcih5KQoKZW5kCgoKCi0tLSBCaXR3aXNlIE5PVCBhIGJpbnQgKGluLXBsYWNlKS4KCmZ1bmN0aW9uIGJpbnQ6X2Jub3QoKQoKICBmb3IgaT0xLEJJTlRfU0laRSBkbwoKICAgIHNlbGZbaV0gPSAofnNlbGZbaV0pICYgQklOVF9XT1JETUFYCgogIGVuZAoKICByZXR1cm4gc2VsZgoKZW5kCgoKCi0tLSBCaXR3aXNlIE5PVCBhIGJpbnQuCgotLSBAcGFyYW0geCBBbiBpbnRlZ2VyIHRvIHBlcmZvcm0gYml0d2lzZSBOT1QuCgotLSBAcmFpc2UgQXNzZXJ0cyBpbiBjYXNlIGlucHV0cyBhcmUgbm90IGNvbnZlcnRpYmxlIHRvIGludGVnZXJzLgoKZnVuY3Rpb24gYmludC5fX2Jub3QoeCkKCiAgbG9jYWwgeSA9IHNldG1ldGF0YWJsZSh7fSwgYmludCkKCiAgZm9yIGk9MSxCSU5UX1NJWkUgZG8KCiAgICB5W2ldID0gKH54W2ldKSAmIEJJTlRfV09SRE1BWAoKICBlbmQKCiAgcmV0dXJuIHkKCmVuZAoKCgotLS0gTmVnYXRlIGEgYmludCAoaW4tcGxhY2UpLiBUaGlzIGVmZmVjdGl2ZWx5IGFwcGxpZXMgdHdvJ3MgY29tcGxlbWVudHMuCgpmdW5jdGlvbiBiaW50Ol91bm0oKQoKICByZXR1cm4gc2VsZjpfYm5vdCgpOl9pbmMoKQoKZW5kCgoKCi0tLSBOZWdhdGUgYSBiaW50LiBUaGlzIGVmZmVjdGl2ZWx5IGFwcGxpZXMgdHdvJ3MgY29tcGxlbWVudHMuCgotLSBAcGFyYW0geCBBIGJpbnQgdG8gcGVyZm9ybSBuZWdhdGlvbi4KCmZ1bmN0aW9uIGJpbnQuX191bm0oeCkKCiAgcmV0dXJuICh+eCk6X2luYygpCgplbmQKCgoKLS0tIENvbXBhcmUgaWYgaW50ZWdlciB4IGlzIGxlc3MgdGhhbiB5IGNvbnNpZGVyaW5nIGJpbnRzICh1bnNpZ25lZCB2ZXJzaW9uKS4KCi0tIEBwYXJhbSB4IExlZnQgaW50ZWdlciB0byBjb21wYXJlLgoKLS0gQHBhcmFtIHkgUmlnaHQgaW50ZWdlciB0byBjb21wYXJlLgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCi0tIEBzZWUgYmludC5fX2x0CgpmdW5jdGlvbiBiaW50LnVsdCh4LCB5KQoKICB4LCB5ID0gYmludF9hc3NlcnRfY29udmVydCh4KSwgYmludF9hc3NlcnRfY29udmVydCh5KQoKICBmb3IgaT1CSU5UX1NJWkUsMSwtMSBkbwoKICAgIGxvY2FsIGEsIGIgPSB4W2ldLCB5W2ldCgogICAgaWYgYSB+PSBiIHRoZW4KCiAgICAgIHJldHVybiBhIDwgYgoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIGZhbHNlCgplbmQKCgoKLS0tIENvbXBhcmUgaWYgYmludCB4IGlzIGxlc3Mgb3IgZXF1YWwgdGhhbiB5IGNvbnNpZGVyaW5nIGJpbnRzICh1bnNpZ25lZCB2ZXJzaW9uKS4KCi0tIEBwYXJhbSB4IExlZnQgaW50ZWdlciB0byBjb21wYXJlLgoKLS0gQHBhcmFtIHkgUmlnaHQgaW50ZWdlciB0byBjb21wYXJlLgoKLS0gQHJhaXNlIEFzc2VydHMgaW4gY2FzZSBpbnB1dHMgYXJlIG5vdCBjb252ZXJ0aWJsZSB0byBpbnRlZ2Vycy4KCi0tIEBzZWUgYmludC5fX2xlCgpmdW5jdGlvbiBiaW50LnVsZSh4LCB5KQoKICB4LCB5ID0gYmludF9hc3NlcnRfY29udmVydCh4KSwgYmludF9hc3NlcnRfY29udmVydCh5KQoKICBmb3IgaT1CSU5UX1NJWkUsMSwtMSBkbwoKICAgIGxvY2FsIGEsIGIgPSB4W2ldLCB5W2ldCgogICAgaWYgYSB+PSBiIHRoZW4KCiAgICAgIHJldHVybiBhIDwgYgoKICAgIGVuZAoKICBlbmQKCiAgcmV0dXJuIHRydWUKCmVuZAoKCgotLS0gQ29tcGFyZSBpZiBudW1iZXIgeCBpcyBsZXNzIHRoYW4geSBjb25zaWRlcmluZyBiaW50cyBhbmQgc2lnbnMuCgotLSBAcGFyYW0geCBMZWZ0IHZhbHVlIHRvIGNvbXBhcmUsIGEgYmludCBvciBsdWEgbnVtYmVyLgoKLS0gQHBhcmFtIHkgUmlnaHQgdmFsdWUgdG8gY29tcGFyZSwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAc2VlIGJpbnQudWx0CgpmdW5jdGlvbiBiaW50Ll9fbHQoeCwgeSkKCiAgbG9jYWwgaXgsIGl5ID0gdG9iaW50KHgpLCB0b2JpbnQoeSkKCiAgaWYgaXggYW5kIGl5IHRoZW4KCiAgICBsb2NhbCB4bmVnID0gaXhbQklOVF9TSVpFXSAmIEJJTlRfV09SRE1TQiB+PSAwCgogICAgbG9jYWwgeW5lZyA9IGl5W0JJTlRfU0laRV0gJiBCSU5UX1dPUkRNU0Igfj0gMAoKICAgIGlmIHhuZWcgPT0geW5lZyB0aGVuCgogICAgICBmb3IgaT1CSU5UX1NJWkUsMSwtMSBkbwoKICAgICAgICBsb2NhbCBhLCBiID0gaXhbaV0sIGl5W2ldCgogICAgICAgIGlmIGEgfj0gYiB0aGVuCgogICAgICAgICAgcmV0dXJuIGEgPCBiCgogICAgICAgIGVuZAoKICAgICAgZW5kCgogICAgICByZXR1cm4gZmFsc2UKCiAgICBlbmQKCiAgICByZXR1cm4geG5lZyBhbmQgbm90IHluZWcKCiAgZW5kCgogIHJldHVybiBiaW50X3RvbnVtYmVyKHgpIDwgYmludF90b251bWJlcih5KQoKZW5kCgoKCi0tLSBDb21wYXJlIGlmIG51bWJlciB4IGlzIGxlc3Mgb3IgZXF1YWwgdGhhbiB5IGNvbnNpZGVyaW5nIGJpbnRzIGFuZCBzaWducy4KCi0tIEBwYXJhbSB4IExlZnQgdmFsdWUgdG8gY29tcGFyZSwgYSBiaW50IG9yIGx1YSBudW1iZXIuCgotLSBAcGFyYW0geSBSaWdodCB2YWx1ZSB0byBjb21wYXJlLCBhIGJpbnQgb3IgbHVhIG51bWJlci4KCi0tIEBzZWUgYmludC51bGUKCmZ1bmN0aW9uIGJpbnQuX19sZSh4LCB5KQoKICBsb2NhbCBpeCwgaXkgPSB0b2JpbnQoeCksIHRvYmludCh5KQoKICBpZiBpeCBhbmQgaXkgdGhlbgoKICAgIGxvY2FsIHhuZWcgPSBpeFtCSU5UX1NJWkVdICYgQklOVF9XT1JETVNCIH49IDAKCiAgICBsb2NhbCB5bmVnID0gaXlbQklOVF9TSVpFXSAmIEJJTlRfV09SRE1TQiB+PSAwCgogICAgaWYgeG5lZyA9PSB5bmVnIHRoZW4KCiAgICAgIGZvciBpPUJJTlRfU0laRSwxLC0xIGRvCgogICAgICAgIGxvY2FsIGEsIGIgPSBpeFtpXSwgaXlbaV0KCiAgICAgICAgaWYgYSB+PSBiIHRoZW4KCiAgICAgICAgICByZXR1cm4gYSA8IGIKCiAgICAgICAgZW5kCgogICAgICBlbmQKCiAgICAgIHJldHVybiB0cnVlCgogICAgZW5kCgogICAgcmV0dXJuIHhuZWcgYW5kIG5vdCB5bmVnCgogIGVuZAoKICByZXR1cm4gYmludF90b251bWJlcih4KSA8PSBiaW50X3RvbnVtYmVyKHkpCgplbmQKCgoKLS0tIENvbnZlcnQgYSBiaW50IHRvIGEgc3RyaW5nIG9uIGJhc2UgMTAuCgotLSBAc2VlIGJpbnQudG9iYXNlCgpmdW5jdGlvbiBiaW50Ol9fdG9zdHJpbmcoKQoKICByZXR1cm4gc2VsZjp0b2Jhc2UoMTApCgplbmQKCgoKLS0gQWxsb3cgY3JlYXRpbmcgYmludHMgYnkgY2FsbGluZyBiaW50IGl0c2VsZgoKc2V0bWV0YXRhYmxlKGJpbnQsIHsKCiAgX19jYWxsID0gZnVuY3Rpb24oXywgeCkKCiAgICByZXR1cm4gYmludF9uZXcoeCkKCiAgZW5kCgp9KQoKCgpCSU5UX01BVEhNSU5JTlRFR0VSLCBCSU5UX01BVEhNQVhJTlRFR0VSID0gYmludF9uZXcobWF0aC5taW5pbnRlZ2VyKSwgYmludF9uZXcobWF0aC5tYXhpbnRlZ2VyKQoKQklOVF9NSU5JTlRFR0VSID0gYmludC5taW5pbnRlZ2VyKCkKCm1lbW9bbWVtb2luZGV4XSA9IGJpbnQKCgoKcmV0dXJuIGJpbnQKCgoKZW5kCgoKCnJldHVybiBuZXdtb2R1bGUAQvDWBQvBKi0tLSBUaGUgQm9vdCBtb2R1bGUgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgYm9vdGluZyB0aGUgcHJvY2Vzcy4gUmV0dXJucyB0aGUgYm9vdCBmdW5jdGlvbi4KCi0tIEBtb2R1bGUgYm9vdAoKCgotLSBUaGlzIGlzIGZvciBhb3A2IEJvb3QgTG9hZGVyCgotLSBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9wZXJtYXdlYi9hb3MvaXNzdWVzLzM0MgoKLS0gRm9yIHRoZSBQcm9jZXNzIGFzIHRoZSBmaXJzdCBNZXNzYWdlLCBpZiBPbi1Cb290CgotLSBoYXMgdGhlIHZhbHVlICdkYXRhJyB0aGVuIGV2YWx1YXRlIHRoZSBkYXRhCgotLSBpZiBpdCBpcyBhIHR4IGlkLCB0aGVuIGRvd25sb2FkIGFuZCBldmFsdWF0ZSB0aGUgdHgKCgoKbG9jYWwgZHJpdmUgPSB7IF92ZXJzaW9uID0gIjAuMC4xIiB9CgoKCmZ1bmN0aW9uIGRyaXZlLmdldERhdGEodHhJZCkKCiAgbG9jYWwgZmlsZSA9IGlvLm9wZW4oJy9kYXRhLycgLi4gdHhJZCkKCiAgaWYgbm90IGZpbGUgdGhlbgoKICAgIHJldHVybiBuaWwsICJGaWxlIG5vdCBmb3VuZCEiCgogIGVuZAoKICBsb2NhbCBjb250ZW50cyA9IGZpbGU6cmVhZCgKCiAgICBmaWxlOnNlZWsoJ2VuZCcpCgogICkKCiAgZmlsZTpjbG9zZSgpCgogIHJldHVybiBjb250ZW50cwoKZW5kCgoKCi0tLSBUaGUgYm9vdCBmdW5jdGlvbi4KCi0tIElmIHRoZSBtZXNzYWdlIGhhcyBubyBPbi1Cb290IHRhZywgZG8gbm90aGluZy4KCi0tIElmIHRoZSBtZXNzYWdlIGhhcyBhbiBPbi1Cb290IHRhZyB3aXRoIHRoZSB2YWx1ZSAnRGF0YScsIHRoZW4gZXZhbHVhdGUgdGhlIG1lc3NhZ2UuCgotLSBJZiB0aGUgbWVzc2FnZSBoYXMgYW4gT24tQm9vdCB0YWcgd2l0aCBhIHR4IGlkLCB0aGVuIGRvd25sb2FkIGFuZCBldmFsdWF0ZSB0aGUgdHggZGF0YS4KCi0tIEBmdW5jdGlvbiBib290CgotLSBAcGFyYW0gYW8gVGhlIGFvIGVudmlyb25tZW50IG9iamVjdAoKLS0gQHNlZSBldmFsCgpyZXR1cm4gZnVuY3Rpb24gKGFvKQoKICBsb2NhbCBldmFsID0gcmVxdWlyZSgiLmV2YWwiKShhbykKCiAgcmV0dXJuIGZ1bmN0aW9uIChtc2cpCgogICAgaWYgI0luYm94ID09IDAgdGhlbgoKICAgICAgdGFibGUuaW5zZXJ0KEluYm94LCBtc2cpCgogICAgZW5kCgogICAgaWYgbXNnLlRhZ3NbJ09uLUJvb3QnXSA9PSBuaWwgdGhlbgoKICAgICAgcmV0dXJuCgogICAgZW5kCgogICAgaWYgbXNnLlRhZ3NbJ09uLUJvb3QnXSA9PSAnRGF0YScgdGhlbgoKICAgICAgZXZhbChtc2cpCgogICAgZWxzZQoKICAgICAgbG9jYWwgbG9hZGVkVmFsID0gZHJpdmUuZ2V0RGF0YShtc2cuVGFnc1snT24tQm9vdCddKQoKICAgICAgZXZhbCh7IERhdGEgPSBsb2FkZWRWYWwgfSkKCiAgICBlbmQKCiAgZW5kCgplbmQAAAAtLS0gVGhlIENoYW5jZSBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzIGZvciBnZW5lcmF0aW5nIHJhbmRvbSBudW1iZXJzIGFuZCB2YWx1ZXMuIFJldHVybnMgdGhlIGNoYW5jZSB0YWJsZS4KCi0tIEBtb2R1bGUgY2hhbmNlCgoKCmxvY2FsIE4gPSA2MjQKCmxvY2FsIE0gPSAzOTcKCmxvY2FsIE1BVFJJWF9BID0gMHg5OTA4YjBkZgoKbG9jYWwgVVBQRVJfTUFTSyA9IDB4ODAwMDAwMDAKCmxvY2FsIExPV0VSX01BU0sgPSAweDdmZmZmZmZmCgoKCi0tLSBJbml0aWFsaXplcyBtdFtOXSB3aXRoIGEgc2VlZAoKLS0gQGxmdW5jdGlvbiBpbml0X2dlbnJhbmQKCi0tIEB0cGFyYW0ge3RhYmxlfSBvIFRoZSB0YWJsZSB0byBpbml0aWFsaXplCgotLSBAdHBhcmFtIHtudW1iZXJ9IHMgVGhlIHNlZWQKCmxvY2FsIGZ1bmN0aW9uIGluaXRfZ2VucmFuZChvLCBzKQoKICAgIG8ubXRbMF0gPSBzICYgMHhmZmZmZmZmZgoKICAgIGZvciBpID0gMSwgTiAtIDEgZG8KCiAgICAgICAgby5tdFtpXSA9ICgxODEyNDMzMjUzICogKG8ubXRbaSAtIDFdIH4gKG8ubXRbaSAtIDFdID4+IDMwKSkpICsgaQoKICAgICAgICAtLSBTZWUgS251dGggVEFPQ1AgVm9sMi4gM3JkIEVkLiBQLjEwNiBmb3IgbXVsdGlwbGllci4KCiAgICAgICAgLS0gSW4gdGhlIHByZXZpb3VzIHZlcnNpb25zLCBNU0JzIG9mIHRoZSBzZWVkIGFmZmVjdAoKICAgICAgICAtLSBvbmx5IE1TQnMgb2YgdGhlIGFycmF5IG10W10uCgogICAgICAgIC0tIDIwMDIvMDEvMDkgbW9kaWZpZWQgYnkgTWFrb3RvIE1hdHN1bW90bwoKICAgICAgICBvLm10W2ldID0gby5tdFtpXSAmIDB4ZmZmZmZmZmYKCiAgICAgICAgLS0gZm9yID4zMiBiaXQgbWFjaGluZXMKCiAgICBlbmQKCiAgICBvLm10aSA9IE4KCmVuZAoKCgotLS0gR2VuZXJhdGVzIGEgcmFuZG9tIG51bWJlciBvbiBbMCwweGZmZmZmZmZmXS1pbnRlcnZhbAoKLS0gQGxmdW5jdGlvbiBnZW5yYW5kX2ludDMyCgotLSBAdHBhcmFtIHt0YWJsZX0gbyBUaGUgdGFibGUgdG8gZ2VuZXJhdGUgdGhlIHJhbmRvbSBudW1iZXIgZnJvbQoKLS0gQHRyZXR1cm4ge251bWJlcn0gVGhlIHJhbmRvbSBudW1iZXIKCmxvY2FsIGZ1bmN0aW9uIGdlbnJhbmRfaW50MzIobykKCiAgICBsb2NhbCB5CgogICAgbG9jYWwgbWFnMDEgPSB7fSAtLSBtYWcwMVt4XSA9IHggKiBNQVRSSVhfQSAgZm9yIHg9MCwxCgogICAgbWFnMDFbMF0gPSAweDAKCiAgICBtYWcwMVsxXSA9IE1BVFJJWF9BCgogICAgaWYgby5tdGkgPj0gTiB0aGVuICAtLSBnZW5lcmF0ZSBOIHdvcmRzIGF0IG9uZSB0aW1lCgogICAgICAgIGlmIG8ubXRpID09IE4gKyAxIHRoZW4gLS0gaWYgaW5pdF9nZW5yYW5kKCkgaGFzIG5vdCBiZWVuIGNhbGxlZCwKCiAgICAgICAgICAgIGluaXRfZ2VucmFuZChvLCA1NDg5KSAgIC0tIGEgZGVmYXVsdCBpbml0aWFsIHNlZWQgaXMgdXNlZAoKICAgICAgICBlbmQKCiAgICAgICAgZm9yIGtrID0gMCwgTiAtIE0gLSAxIGRvCgogICAgICAgICAgICB5ID0gKG8ubXRba2tdICYgVVBQRVJfTUFTSykgfCAoby5tdFtrayArIDFdICYgTE9XRVJfTUFTSykKCiAgICAgICAgICAgIG8ubXRba2tdID0gby5tdFtrayArIE1dIH4gKHkgPj4gMSkgfiBtYWcwMVt5ICYgMHgxXQoKICAgICAgICBlbmQKCiAgICAgICAgZm9yIGtrID0gTiAtIE0sIE4gLSAyIGRvCgogICAgICAgICAgICB5ID0gKG8ubXRba2tdICYgVVBQRVJfTUFTSykgfCAoby5tdFtrayArIDFdICYgTE9XRVJfTUFTSykKCiAgICAgICAgICAgIG8ubXRba2tdID0gby5tdFtrayArIChNIC0gTildIH4gKHkgPj4gMSkgfiBtYWcwMVt5ICYgMHgxXQoKICAgICAgICBlbmQKCiAgICAgICAgeSA9IChvLm10W04gLSAxXSAmIFVQUEVSX01BU0spIHwgKG8ubXRbMF0gJiBMT1dFUl9NQVNLKQoKICAgICAgICBvLm10W04gLSAxXSA9IG8ubXRbTSAtIDFdIH4gKHkgPj4gMSkgfiBtYWcwMVt5ICYgMHgxXQoKCgogICAgICAgIG8ubXRpID0gMAoKICAgIGVuZAoKCgogICAgeSA9IG8ubXRbby5tdGldCgogICAgby5tdGkgPSBvLm10aSArIDEKCgoKICAgIC0tIFRlbXBlcmluZwoKICAgIHkgPSB5IH4gKHkgPj4gMTEpCgogICAgeSA9IHkgfiAoKHkgPDwgNykgJiAweDlkMmM1NjgwKQoKICAgIHkgPSB5IH4gKCh5IDw8IDE1KSAmIDB4ZWZjNjAwMDApCgogICAgeSA9IHkgfiAoeSA+PiAxOCkKCgoKICAgIHJldHVybiB5CgplbmQKCgoKbG9jYWwgTWVyc2VubmVUd2lzdGVyID0ge30KCk1lcnNlbm5lVHdpc3Rlci5tdCA9IHt9CgpNZXJzZW5uZVR3aXN0ZXIubXRpID0gTiArIDEKCgoKCgotLS0gVGhlIFJhbmRvbSB0YWJsZQoKLS0gQHRhYmxlIFJhbmRvbQoKLS0gQGZpZWxkIHNlZWQgVGhlIHNlZWQgZnVuY3Rpb24KCi0tIEBmaWVsZCByYW5kb20gVGhlIHJhbmRvbSBmdW5jdGlvbgoKLS0gQGZpZWxkIGludGVnZXIgVGhlIGludGVnZXIgZnVuY3Rpb24KCmxvY2FsIFJhbmRvbSA9IHt9CgoKCi0tLSBTZXRzIGEgbmV3IHJhbmRvbSB0YWJsZSBnaXZlbiBhIHNlZWQuCgotLSBAZnVuY3Rpb24gc2VlZAoKLS0gQHRwYXJhbSB7bnVtYmVyfSBzZWVkIFRoZSBzZWVkCgpmdW5jdGlvbiBSYW5kb20uc2VlZChzZWVkKQoKICAgIGluaXRfZ2VucmFuZChNZXJzZW5uZVR3aXN0ZXIsIHNlZWQpCgplbmQKCgoKLS0tIEdlbmVyYXRlcyBhIHJhbmRvbSBudW1iZXIgb24gWzAsMSktcmVhbC1pbnRlcnZhbC4KCi0tIEBmdW5jdGlvbiByYW5kb20KCi0tIEB0cmV0dXJuIHtudW1iZXJ9IFRoZSByYW5kb20gbnVtYmVyCgpmdW5jdGlvbiBSYW5kb20ucmFuZG9tKCkKCiAgICByZXR1cm4gZ2VucmFuZF9pbnQzMihNZXJzZW5uZVR3aXN0ZXIpICogKDEuMCAvIDQyOTQ5NjcyOTYuMCkKCmVuZAoKCgotLS0gUmV0dXJucyBhIHJhbmRvbSBpbnRlZ2VyLiBUaGUgbWluIGFuZCBtYXggYXJlIElOQ0xVREVEIGluIHRoZSByYW5nZS4KCi0tIFRoZSBtYXggaW50ZWdlciBpbiBsdWEgaXMgbWF0aC5tYXhpbnRlZ2VyCgotLSBUaGUgbWluIGlzIG1hdGgubWluaW50ZWdlcgoKLS0gQGZ1bmN0aW9uIFJhbmRvbS5pbnRlZ2VyCgotLSBAdHBhcmFtIHtudW1iZXJ9IG1pbiBUaGUgbWluaW11bSB2YWx1ZQoKLS0gQHRwYXJhbSB7bnVtYmVyfSBtYXggVGhlIG1heGltdW0gdmFsdWUKCi0tIEB0cmV0dXJuIHtudW1iZXJ9IFRoZSByYW5kb20gaW50ZWdlcgoKZnVuY3Rpb24gUmFuZG9tLmludGVnZXIobWluLCBtYXgpCgogICAgYXNzZXJ0KG1heCA+PSBtaW4sICJtYXggbXVzdCBiaWdnZXIgdGhhbiBtaW4iKQoKICAgIHJldHVybiBtYXRoLmZsb29yKFJhbmRvbS5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSArIG1pbikKCmVuZAoKCgpyZXR1cm4gUmFuZG9tAAAAAAAtLSBkZWZhdWx0IGhhbmRsZXIgZm9yIGFvcwoKcmV0dXJuIGZ1bmN0aW9uIChpbnNlcnRJbmJveCkKCiAgcmV0dXJuIGZ1bmN0aW9uIChtc2cpCgogICAgLS0gQWRkIE1lc3NhZ2UgdG8gSW5ib3gKCiAgICBpbnNlcnRJbmJveChtc2cpCgoKCiAgICBsb2NhbCB0eHQgPSBDb2xvcnMuZ3JheSAuLiAiTmV3IE1lc3NhZ2UgRnJvbSAiIC4uIENvbG9ycy5ncmVlbiAuLiAKCiAgICAobXNnLkZyb20gYW5kIChtc2cuRnJvbTpzdWIoMSwzKSAuLiAiLi4uIiAuLiBtc2cuRnJvbTpzdWIoLTMpKSBvciAidW5rbm93biIpIC4uIENvbG9ycy5ncmF5IC4uICI6ICIKCiAgICBpZiBtc2cuQWN0aW9uIHRoZW4KCiAgICAgIHR4dCA9IHR4dCAuLiBDb2xvcnMuZ3JheSAuLiAobXNnLkFjdGlvbiBhbmQgKCJBY3Rpb24gPSAiIC4uIENvbG9ycy5ibHVlIC4uIG1zZy5BY3Rpb246c3ViKDEsMjApKSBvciAiIikgLi4gQ29sb3JzLnJlc2V0CgogICAgZWxzZQoKICAgICAgbG9jYWwgZGF0YSA9IG1zZy5EYXRhCgogICAgICBpZiB0eXBlKGRhdGEpID09ICd0YWJsZScgdGhlbgoKICAgICAgICBkYXRhID0gcmVxdWlyZSgnanNvbicpLmVuY29kZShkYXRhKQoKICAgICAgZW5kCgogICAgICB0eHQgPSB0eHQgLi4gQ29sb3JzLmdyYXkgLi4gIkRhdGEgPSAiIC4uIENvbG9ycy5ibHVlIC4uIChkYXRhIGFuZCBkYXRhOnN1YigxLDIwKSBvciAiIikgLi4gQ29sb3JzLnJlc2V0CgogICAgZW5kCgogICAgLS0gUHJpbnQgdG8gT3V0cHV0CgogICAgcHJpbnQodHh0KQoKICBlbmQKCgoKZW5kAELAgQYLgUctLQoKLS0gQ29weXJpZ2h0IChDKSAyMDE4IE1hc2F0b3NoaSBUZXJ1eWEKCi0tCgotLSBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CgotLSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAoKLS0gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwoKLS0gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAoKLS0gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCgotLSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKLS0KCi0tIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCgotLSBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCi0tCgotLSBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgoKLS0gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCgotLSBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFCgotLSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCgotLSBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAoKLS0gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgoKLS0gVEhFIFNPRlRXQVJFLgoKLS0KCi0tIGR1bXAubHVhCgotLSBsdWEtZHVtcAoKLS0gQ3JlYXRlZCBieSBNYXNhdG9zaGkgVGVydXlhIG9uIDE4LzA0LzIyLgoKLS0KCi0tLSBmaWxlLXNjb3BlIHZhcmlhYmxlcwoKbG9jYWwgdHlwZSA9IHR5cGUKCmxvY2FsIGZsb29yID0gbWF0aC5mbG9vcgoKbG9jYWwgdG9zdHJpbmcgPSB0b3N0cmluZwoKbG9jYWwgdGJsc29ydCA9IHRhYmxlLnNvcnQKCmxvY2FsIHRibGNvbmNhdCA9IHRhYmxlLmNvbmNhdAoKbG9jYWwgc3RybWF0Y2ggPSBzdHJpbmcubWF0Y2gKCmxvY2FsIHN0cmZvcm1hdCA9IHN0cmluZy5mb3JtYXQKCi0tLSBjb25zdGFudHMKCmxvY2FsIElORklOSVRFX1BPUyA9IG1hdGguaHVnZQoKbG9jYWwgTFVBX0ZJRUxETkFNRV9QQVQgPSAnXlthLXpBLVpfXVthLXpBLVowLTlfXSokJwoKbG9jYWwgRk9SX0tFWSA9ICdrZXknCgpsb2NhbCBGT1JfVkFMID0gJ3ZhbCcKCmxvY2FsIEZPUl9DSVJDVUxBUiA9ICdjaXJjdWxhcicKCmxvY2FsIFJFU0VSVkVEX1dPUkQgPSB7CgogICAgLS0gcHJpbWl0aXZlIGRhdGEKCiAgICBbJ25pbCddID0gdHJ1ZSwKCiAgICBbJ3RydWUnXSA9IHRydWUsCgogICAgWydmYWxzZSddID0gdHJ1ZSwKCiAgICAtLSBkZWNsYXJhdG9uCgogICAgWydsb2NhbCddID0gdHJ1ZSwKCiAgICBbJ2Z1bmN0aW9uJ10gPSB0cnVlLAoKICAgIC0tIGJvb2xlYW4gbG9naWMKCiAgICBbJ2FuZCddID0gdHJ1ZSwKCiAgICBbJ29yJ10gPSB0cnVlLAoKICAgIFsnbm90J10gPSB0cnVlLAoKICAgIC0tIGNvbmRpdGlvbmFsIHN0YXRlbWVudAoKICAgIFsnaWYnXSA9IHRydWUsCgogICAgWydlbHNlaWYnXSA9IHRydWUsCgogICAgWydlbHNlJ10gPSB0cnVlLAoKICAgIC0tIGl0ZXJhdGlvbiBzdGF0ZW1lbnQKCiAgICBbJ2ZvciddID0gdHJ1ZSwKCiAgICBbJ2luJ10gPSB0cnVlLAoKICAgIFsnd2hpbGUnXSA9IHRydWUsCgogICAgWyd1bnRpbCddID0gdHJ1ZSwKCiAgICBbJ3JlcGVhdCddID0gdHJ1ZSwKCiAgICAtLSBqdW1wIHN0YXRlbWVudAoKICAgIFsnYnJlYWsnXSA9IHRydWUsCgogICAgWydnb3RvJ10gPSB0cnVlLAoKICAgIFsncmV0dXJuJ10gPSB0cnVlLAoKICAgIC0tIGJsb2NrIHNjb3BlIHN0YXRlbWVudAoKICAgIFsndGhlbiddID0gdHJ1ZSwKCiAgICBbJ2RvJ10gPSB0cnVlLAoKICAgIFsnZW5kJ10gPSB0cnVlLAoKfQoKbG9jYWwgREVGQVVMVF9JTkRFTlQgPSA0CgoKCi0tLSBmaWx0ZXIgZnVuY3Rpb24gZm9yIGR1bXAKCi0tLSBAcGFyYW0gdmFsIGFueQoKLS0tIEBwYXJhbSBkZXB0aCBpbnRlZ2VyCgotLS0gQHBhcmFtIHZ0eXBlIHN0cmluZwoKLS0tIEBwYXJhbSB1c2Ugc3RyaW5nCgotLS0gQHBhcmFtIGtleSBhbnkKCi0tLSBAcGFyYW0gdWRhdGEgYW55CgotLS0gQHJldHVybiBhbnkgdmFsCgotLS0gQHJldHVybiBib29sZWFuIG5vZHVtcAoKbG9jYWwgZnVuY3Rpb24gREVGQVVMVF9GSUxURVIodmFsKQoKICAgIHJldHVybiB2YWwKCmVuZAoKCgotLS0gc29ydF9pbmRleAoKLS0tIEBwYXJhbSBhIHRhYmxlCgotLS0gQHBhcmFtIGIgdGFibGUKCmxvY2FsIGZ1bmN0aW9uIHNvcnRfaW5kZXgoYSwgYikKCiAgICBpZiBhLnR5cCA9PSBiLnR5cCB0aGVuCgogICAgICAgIGlmIGEudHlwID09ICdib29sZWFuJyB0aGVuCgogICAgICAgICAgICByZXR1cm4gYi5rZXkKCiAgICAgICAgZW5kCgoKCiAgICAgICAgcmV0dXJuIGEua2V5IDwgYi5rZXkKCiAgICBlbmQKCgoKICAgIHJldHVybiBhLnR5cCA9PSAnbnVtYmVyJwoKZW5kCgoKCi0tLSBkdW1wdGJsCgotLS0gQHBhcmFtIHRibCB0YWJsZQoKLS0tIEBwYXJhbSBkZXB0aCBpbnRlZ2VyCgotLS0gQHBhcmFtIGluZGVudCBzdHJpbmcKCi0tLSBAcGFyYW0gbmVzdEluZGVudCBzdHJpbmcKCi0tLSBAcGFyYW0gY3R4IHRhYmxlCgotLS0gQHJldHVybiBzdHJpbmcKCmxvY2FsIGZ1bmN0aW9uIGR1bXB0YmwodGJsLCBkZXB0aCwgaW5kZW50LCBuZXN0SW5kZW50LCBjdHgpCgogICAgbG9jYWwgcmVmID0gdG9zdHJpbmcodGJsKQoKCgogICAgLS0gY2lyY3VsYXIgcmVmZXJlbmNlCgogICAgaWYgY3R4LmNpcmN1bGFyW3JlZl0gdGhlbgoKICAgICAgICBsb2NhbCB2YWwsIG5vZHVtcCA9IGN0eC5maWx0ZXIodGJsLCBkZXB0aCwgdHlwZSh0YmwpLCBGT1JfQ0lSQ1VMQVIsIHRibCwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC51ZGF0YSkKCgoKICAgICAgICBpZiB2YWwgfj0gbmlsIGFuZCB2YWwgfj0gdGJsIHRoZW4KCiAgICAgICAgICAgIGxvY2FsIHQgPSB0eXBlKHZhbCkKCgoKICAgICAgICAgICAgaWYgdCA9PSAndGFibGUnIHRoZW4KCiAgICAgICAgICAgICAgICAtLSBkdW1wIHRhYmxlIHZhbHVlCgogICAgICAgICAgICAgICAgaWYgbm90IG5vZHVtcCB0aGVuCgogICAgICAgICAgICAgICAgICAgIHJldHVybiBkdW1wdGJsKHZhbCwgZGVwdGggKyAxLCBpbmRlbnQsIG5lc3RJbmRlbnQsIGN0eCkKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgICAgICByZXR1cm4gdG9zdHJpbmcodmFsKQoKICAgICAgICAgICAgZWxzZWlmIHQgPT0gJ3N0cmluZycgdGhlbgoKICAgICAgICAgICAgICAgIHJldHVybiBzdHJmb3JtYXQoJyVxJywgdmFsKQoKICAgICAgICAgICAgZWxzZWlmIHQgPT0gJ251bWJlcicgb3IgdCA9PSAnYm9vbGVhbicgdGhlbgoKICAgICAgICAgICAgICAgIHJldHVybiB0b3N0cmluZyh2YWwpCgogICAgICAgICAgICBlbmQKCgoKICAgICAgICAgICAgcmV0dXJuIHN0cmZvcm1hdCgnJXEnLCB0b3N0cmluZyh2YWwpKQoKICAgICAgICBlbmQKCgoKICAgICAgICByZXR1cm4gJyI8Q2lyY3VsYXIgJyAuLiByZWYgLi4gJz4iJwoKICAgIGVuZAoKCgogICAgbG9jYWwgcmVzID0ge30KCiAgICBsb2NhbCBhcnIgPSB7fQoKICAgIGxvY2FsIG5hcnIgPSAwCgogICAgbG9jYWwgZmllbGRJbmRlbnQgPSBpbmRlbnQgLi4gbmVzdEluZGVudAoKCgogICAgLS0gc2F2ZSByZWZlcmVuY2UKCiAgICBjdHguY2lyY3VsYXJbcmVmXSA9IHRydWUKCgoKICAgIGZvciBrLCB2IGluIHBhaXJzKHRibCkgZG8KCiAgICAgICAgLS0gY2hlY2sga2V5CgogICAgICAgIGxvY2FsIGtleSwgbm9rZHVtcCA9IGN0eC5maWx0ZXIoaywgZGVwdGgsIHR5cGUoayksIEZPUl9LRVksIG5pbCwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgudWRhdGEpCgoKCiAgICAgICAgaWYga2V5IH49IG5pbCB0aGVuCgogICAgICAgICAgICAtLSBjaGVjayB2YWwKCiAgICAgICAgICAgIGxvY2FsIHZhbCwgbm92ZHVtcCA9IGN0eC5maWx0ZXIodiwgZGVwdGgsIHR5cGUodiksIEZPUl9WQUwsIGtleSwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LnVkYXRhKQoKICAgICAgICAgICAgbG9jYWwga3YKCgoKICAgICAgICAgICAgaWYgdmFsIH49IG5pbCB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwga3QgPSB0eXBlKGtleSkKCiAgICAgICAgICAgICAgICBsb2NhbCB2dCA9IHR5cGUodmFsKQoKCgogICAgICAgICAgICAgICAgLS0gY29udmVydCBrZXkgdG8gc3VpdGFibGUgdG8gYmUgc2FmZWx5IHJlYWQgYmFjawoKICAgICAgICAgICAgICAgIC0tIGJ5IHRoZSBMdWEgaW50ZXJwcmV0ZXIKCiAgICAgICAgICAgICAgICBpZiBrdCA9PSAnbnVtYmVyJyBvciBrdCA9PSAnYm9vbGVhbicgdGhlbgoKICAgICAgICAgICAgICAgICAgICBrID0ga2V5CgogICAgICAgICAgICAgICAgICAgIGtleSA9ICdbJyAuLiB0b3N0cmluZyhrZXkpIC4uICddJwoKICAgICAgICAgICAgICAgICAgICAtLSBkdW1wIHRhYmxlIHZhbHVlCgogICAgICAgICAgICAgICAgZWxzZWlmIGt0ID09ICd0YWJsZScgYW5kIG5vdCBub2tkdW1wIHRoZW4KCiAgICAgICAgICAgICAgICAgICAga2V5ID0gJ1snIC4uCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdW1wdGJsKGtleSwgZGVwdGggKyAxLCBmaWVsZEluZGVudCwgbmVzdEluZGVudCwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4KSAuLiAnXScKCiAgICAgICAgICAgICAgICAgICAgayA9IGtleQoKICAgICAgICAgICAgICAgICAgICBrdCA9ICdzdHJpbmcnCgogICAgICAgICAgICAgICAgZWxzZWlmIGt0IH49ICdzdHJpbmcnIG9yIFJFU0VSVkVEX1dPUkRba2V5XSBvcgoKICAgICAgICAgICAgICAgICAgICBub3Qgc3RybWF0Y2goa2V5LCBMVUFfRklFTEROQU1FX1BBVCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBrZXkgPSBzdHJmb3JtYXQoIlslcV0iLCB0b3N0cmluZyhrZXkpLCB2KQoKICAgICAgICAgICAgICAgICAgICBrID0ga2V5CgogICAgICAgICAgICAgICAgICAgIGt0ID0gJ3N0cmluZycKCiAgICAgICAgICAgICAgICBlbmQKCgoKICAgICAgICAgICAgICAgIC0tIGNvbnZlcnQga2V5LXZhbCBwYWlyIHRvIHN1aXRhYmxlIHRvIGJlIHNhZmVseSByZWFkIGJhY2sKCiAgICAgICAgICAgICAgICAtLSBieSB0aGUgTHVhIGludGVycHJldGVyCgogICAgICAgICAgICAgICAgaWYgdnQgPT0gJ251bWJlcicgb3IgdnQgPT0gJ2Jvb2xlYW4nIHRoZW4KCiAgICAgICAgICAgICAgICAgICAga3YgPSBzdHJmb3JtYXQoJyVzJXMgPSAlcycsIGZpZWxkSW5kZW50LCBrZXksIHRvc3RyaW5nKHZhbCkpCgogICAgICAgICAgICAgICAgZWxzZWlmIHZ0ID09ICdzdHJpbmcnIHRoZW4KCiAgICAgICAgICAgICAgICAgICAgLS0gZHVtcCBhIHN0cmluZy12YWx1ZQoKICAgICAgICAgICAgICAgICAgICBpZiBub3Qgbm92ZHVtcCB0aGVuCgogICAgICAgICAgICAgICAgICAgICAgICBrdiA9IHN0cmZvcm1hdCgnJXMlcyA9ICVxJywgZmllbGRJbmRlbnQsIGtleSwgdmFsKQoKICAgICAgICAgICAgICAgICAgICBlbHNlCgogICAgICAgICAgICAgICAgICAgICAgICBrdiA9IHN0cmZvcm1hdCgnJXMlcyA9ICVzJywgZmllbGRJbmRlbnQsIGtleSwgdmFsKQoKICAgICAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgICAgICBlbHNlaWYgdnQgPT0gJ3RhYmxlJyBhbmQgbm90IG5vdmR1bXAgdGhlbgoKICAgICAgICAgICAgICAgICAgICBrdiA9IHN0cmZvcm1hdCgnJXMlcyA9ICVzJywgZmllbGRJbmRlbnQsIGtleSwgZHVtcHRibCh2YWwsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHRoICsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkSW5kZW50LAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXN0SW5kZW50LAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgpKQoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAga3YgPSBzdHJmb3JtYXQoJyVzJXMgPSAlcScsIGZpZWxkSW5kZW50LCBrZXksIHRvc3RyaW5nKHZhbCkpCgogICAgICAgICAgICAgICAgZW5kCgoKCiAgICAgICAgICAgICAgICAtLSBhZGQgdG8gYXJyYXkKCiAgICAgICAgICAgICAgICBuYXJyID0gbmFyciArIDEKCiAgICAgICAgICAgICAgICBhcnJbbmFycl0gPSB7CgogICAgICAgICAgICAgICAgICAgIHR5cCA9IGt0LAoKICAgICAgICAgICAgICAgICAgICBrZXkgPSBrLAoKICAgICAgICAgICAgICAgICAgICB2YWwgPSBrdiwKCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICBlbmQKCiAgICAgICAgZW5kCgogICAgZW5kCgoKCiAgICAtLSByZW1vdmUgcmVmZXJlbmNlCgogICAgY3R4LmNpcmN1bGFyW3JlZl0gPSBuaWwKCiAgICAtLSBjb25jYXQgcmVzdWx0CgogICAgaWYgbmFyciA+IDAgdGhlbgoKICAgICAgICB0Ymxzb3J0KGFyciwgc29ydF9pbmRleCkKCgoKICAgICAgICBmb3IgaSA9IDEsIG5hcnIgZG8KCiAgICAgICAgICAgIHJlc1tpXSA9IGFycltpXS52YWwKCiAgICAgICAgZW5kCgogICAgICAgIHJlc1sxXSA9ICd7JyAuLiBjdHguTEYgLi4gcmVzWzFdCgogICAgICAgIHJlcyA9IHRibGNvbmNhdChyZXMsICcsJyAuLiBjdHguTEYpIC4uIGN0eC5MRiAuLiBpbmRlbnQgLi4gJ30nCgogICAgZWxzZQoKICAgICAgICByZXMgPSAne30nCgogICAgZW5kCgoKCiAgICByZXR1cm4gcmVzCgplbmQKCgoKLS0tIGlzX3VpbnQKCi0tLSBAcGFyYW0gdiBhbnkKCi0tLSBAcmV0dXJuIGJvb2xlYW4gb2sKCmxvY2FsIGZ1bmN0aW9uIGlzX3VpbnQodikKCiAgICByZXR1cm4gdHlwZSh2KSA9PSAnbnVtYmVyJyBhbmQgdiA8IElORklOSVRFX1BPUyBhbmQgdiA+PSAwIGFuZCBmbG9vcih2KSA9PSB2CgplbmQKCgoKLS0tIGR1bXAKCi0tLSBAcGFyYW0gdmFsIGFueQoKLS0tIEBwYXJhbSBpbmRlbnQgaW50ZWdlcgoKLS0tIEBwYXJhbSBwYWRkaW5nIGludGVnZXIKCi0tLSBAcGFyYW0gZmlsdGVyIGZ1bmN0aW9uCgotLS0gQHBhcmFtIHVkYXRhCgotLS0gQHJldHVybiBzdHJpbmcKCmxvY2FsIGZ1bmN0aW9uIGR1bXAodmFsLCBpbmRlbnQsIHBhZGRpbmcsIGZpbHRlciwgdWRhdGEpCgogICAgbG9jYWwgdCA9IHR5cGUodmFsKQoKCgogICAgLS0gY2hlY2sgaW5kZW50CgogICAgaWYgaW5kZW50ID09IG5pbCB0aGVuCgogICAgICAgIGluZGVudCA9IERFRkFVTFRfSU5ERU5UCgogICAgZWxzZWlmIG5vdCBpc191aW50KGluZGVudCkgdGhlbgoKICAgICAgICBlcnJvcignaW5kZW50IG11c3QgYmUgdW5zaWduZWQgaW50ZWdlcicsIDIpCgogICAgZW5kCgoKCiAgICAtLSBjaGVjayBwYWRkaW5nCgogICAgaWYgcGFkZGluZyA9PSBuaWwgdGhlbgoKICAgICAgICBwYWRkaW5nID0gMAoKICAgIGVsc2VpZiBub3QgaXNfdWludChwYWRkaW5nKSB0aGVuCgogICAgICAgIGVycm9yKCdwYWRkaW5nIG11c3QgYmUgdW5zaWduZWQgaW50ZWdlcicsIDIpCgogICAgZW5kCgoKCiAgICAtLSBjaGVjayBmaWx0ZXIKCiAgICBpZiBmaWx0ZXIgPT0gbmlsIHRoZW4KCiAgICAgICAgZmlsdGVyID0gREVGQVVMVF9GSUxURVIKCiAgICBlbHNlaWYgdHlwZShmaWx0ZXIpIH49ICdmdW5jdGlvbicgdGhlbgoKICAgICAgICBlcnJvcignZmlsdGVyIG11c3QgYmUgZnVuY3Rpb24nLCAyKQoKICAgIGVuZAoKCgogICAgLS0gZHVtcCB0YWJsZQoKICAgIGlmIHQgPT0gJ3RhYmxlJyB0aGVuCgogICAgICAgIGxvY2FsIGlzcGFjZSA9ICcnCgogICAgICAgIGxvY2FsIHBzcGFjZSA9ICcnCgoKCiAgICAgICAgaWYgaW5kZW50ID4gMCB0aGVuCgogICAgICAgICAgICBpc3BhY2UgPSBzdHJmb3JtYXQoJyUnIC4uIHRvc3RyaW5nKGluZGVudCkgLi4gJ3MnLCAnJykKCiAgICAgICAgZW5kCgoKCiAgICAgICAgaWYgcGFkZGluZyA+IDAgdGhlbgoKICAgICAgICAgICAgcHNwYWNlID0gc3RyZm9ybWF0KCclJyAuLiB0b3N0cmluZyhwYWRkaW5nKSAuLiAncycsICcnKQoKICAgICAgICBlbmQKCgoKICAgICAgICByZXR1cm4gZHVtcHRibCh2YWwsIDEsIHBzcGFjZSwgaXNwYWNlLCB7CgogICAgICAgICAgICBMRiA9IGlzcGFjZSA9PSAnJyBhbmQgJyAnIG9yICdcbicsCgogICAgICAgICAgICBjaXJjdWxhciA9IHt9LAoKICAgICAgICAgICAgZmlsdGVyID0gZmlsdGVyLAoKICAgICAgICAgICAgdWRhdGEgPSB1ZGF0YSwKCiAgICAgICAgfSkKCiAgICBlbmQKCgoKICAgIC0tIGR1bXAgdmFsdWUKCiAgICBsb2NhbCB2LCBub2R1bXAgPSBmaWx0ZXIodmFsLCAwLCB0LCBGT1JfVkFMLCBuaWwsIHVkYXRhKQoKICAgIGlmIG5vZHVtcCA9PSB0cnVlIHRoZW4KCiAgICAgICAgcmV0dXJuIHRvc3RyaW5nKHYpCgogICAgZW5kCgogICAgcmV0dXJuIHN0cmZvcm1hdCgnJXEnLCB0b3N0cmluZyh2KSkKCmVuZAoKCgpyZXR1cm4gZHVtcABC0MgGC9GiAS0tLSBUaGUgRXZhbCBtb2R1bGUgcHJvdmlkZXMgYSBoYW5kbGVyIGZvciBldmFsdWF0aW5nIEx1YSBleHByZXNzaW9ucy4gUmV0dXJucyB0aGUgZXZhbCBmdW5jdGlvbi4KCi0tIEBtb2R1bGUgZXZhbAoKCgpsb2NhbCBzdHJpbmdpZnkgPSByZXF1aXJlKCIuc3RyaW5naWZ5IikKCgoKLS0tIFRoZSBldmFsIGZ1bmN0aW9uLgoKLS0gSGFuZGxlciBmb3IgZXhlY3V0aW5nIGFuZCBldmFsdWF0aW5nIEx1YSBleHByZXNzaW9ucy4KCi0tIEFmdGVyIGV4ZWN1dGlvbiwgdGhlIHJlc3VsdCBpcyBzdHJpbmdpZmllZCBhbmQgcGxhY2VkIGluIGFvLm91dGJveC5PdXRwdXQuCgotLSBAZnVuY3Rpb24gZXZhbAoKLS0gQHRwYXJhbSB7dGFibGV9IGFvIFRoZSBhbyBlbnZpcm9ubWVudCBvYmplY3QKCi0tIEB0cmV0dXJuIHtmdW5jdGlvbn0gVGhlIGhhbmRsZXIgZnVuY3Rpb24sIHdoaWNoIHRha2VzIGEgbWVzc2FnZSBhcyBhbiBhcmd1bWVudC4KCi0tIEBzZWUgc3RyaW5naWZ5CgpyZXR1cm4gZnVuY3Rpb24gKGFvKQoKICByZXR1cm4gZnVuY3Rpb24gKG1zZykKCiAgICAtLSBleGVjIGV4cHJlc3Npb24KCiAgICBsb2NhbCBleHByID0gbXNnLkRhdGEKCiAgICBsb2NhbCBmdW5jLCBlcnIgPSBsb2FkKCJyZXR1cm4gIiAuLiBleHByLCAnYW9zJywgJ3QnLCBfRykKCiAgICBsb2NhbCBvdXRwdXQgPSAiIgoKICAgIGxvY2FsIGUgPSBuaWwKCiAgICBpZiBlcnIgdGhlbgoKICAgICAgZnVuYywgZXJyID0gbG9hZChleHByLCAnYW9zJywgJ3QnLCBfRykKCiAgICBlbmQKCiAgICBpZiBmdW5jIHRoZW4KCiAgICAgIG91dHB1dCwgZSA9IGZ1bmMoKQoKICAgIGVsc2UKCiAgICAgIGFvLm91dGJveC5FcnJvciA9IGVycgoKICAgICAgcmV0dXJuCgogICAgZW5kCgogICAgaWYgZSB0aGVuIAoKICAgICAgYW8ub3V0Ym94LkVycm9yID0gZQoKICAgICAgcmV0dXJuIAoKICAgIGVuZAoKICAgIGlmIEhBTkRMRVJfUFJJTlRfTE9HUyBhbmQgb3V0cHV0IHRoZW4KCiAgICAgIHRhYmxlLmluc2VydChIQU5ETEVSX1BSSU5UX0xPR1MsIHR5cGUob3V0cHV0KSA9PSAidGFibGUiIGFuZCBzdHJpbmdpZnkuZm9ybWF0KG91dHB1dCkgb3IgdG9zdHJpbmcob3V0cHV0KSkKCiAgICBlbHNlCgogICAgICAtLSBzZXQgcmVzdWx0IGluIG91dGJveC5PdXRwdXQgKExlZnQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5KQoKICAgICAgYW8ub3V0Ym94Lk91dHB1dCA9IHsgIAoKICAgICAgICBqc29uID0gdHlwZShvdXRwdXQpID09ICJ0YWJsZSIgYW5kIHBjYWxsKGZ1bmN0aW9uICgpIHJldHVybiBqc29uLmVuY29kZShvdXRwdXQpIGVuZCkgYW5kIG91dHB1dCBvciAidW5kZWZpbmVkIiwKCiAgICAgICAgZGF0YSA9IHsKCiAgICAgICAgICBvdXRwdXQgPSB0eXBlKG91dHB1dCkgPT0gInRhYmxlIiBhbmQgc3RyaW5naWZ5LmZvcm1hdChvdXRwdXQpIG9yIG91dHB1dCwKCiAgICAgICAgICBwcm9tcHQgPSBQcm9tcHQoKQoKICAgICAgICB9LCAKCiAgICAgICAgcHJvbXB0ID0gUHJvbXB0KCkKCiAgICAgIH0KCgoKICAgIGVuZAoKICBlbmQKCmVuZAoAAC0tLSBUaGUgSGFuZGxlciBVdGlscyBtb2R1bGUgaXMgYSBsaWdodHdlaWdodCBMdWEgdXRpbGl0eSBsaWJyYXJ5IGRlc2lnbmVkIHRvIHByb3ZpZGUgY29tbW9uIGZ1bmN0aW9uYWxpdGllcyBmb3IgaGFuZGxpbmcgYW5kIHByb2Nlc3NpbmcgbWVzc2FnZXMgd2l0aGluIHRoZSBBT1MgY29tcHV0ZXIgc3lzdGVtLiBJdCBvZmZlcnMgYSBzZXQgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIG1lc3NhZ2UgYXR0cmlidXRlcyBhbmQgc2VuZCByZXBsaWVzLCBzaW1wbGlmeWluZyB0aGUgZGV2ZWxvcG1lbnQgb2YgbW9yZSBjb21wbGV4IHNjcmlwdHMgYW5kIG1vZHVsZXMuIFRoaXMgZG9jdW1lbnQgd2lsbCBndWlkZSB5b3UgdGhyb3VnaCB0aGUgbW9kdWxlJ3MgZnVuY3Rpb25hbGl0aWVzLCBpbnN0YWxsYXRpb24sIGFuZCB1c2FnZS4gUmV0dXJucyB0aGUgX3V0aWxzIHRhYmxlLgoKLS0gQG1vZHVsZSBoYW5kbGVycy11dGlscwoKCgotLS0gVGhlIF91dGlscyB0YWJsZQoKLS0gQHRhYmxlIF91dGlscwoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgX3V0aWxzIG1vZHVsZQoKLS0gQGZpZWxkIGhhc01hdGNoaW5nVGFnIFRoZSBoYXNNYXRjaGluZ1RhZyBmdW5jdGlvbgoKLS0gQGZpZWxkIGhhc01hdGNoaW5nVGFnT2YgVGhlIGhhc01hdGNoaW5nVGFnT2YgZnVuY3Rpb24KCi0tIEBmaWVsZCBoYXNNYXRjaGluZ0RhdGEgVGhlIGhhc01hdGNoaW5nRGF0YSBmdW5jdGlvbgoKLS0gQGZpZWxkIHJlcGx5IFRoZSByZXBseSBmdW5jdGlvbgoKLS0gQGZpZWxkIGNvbnRpbnVlIFRoZSBjb250aW51ZSBmdW5jdGlvbgoKbG9jYWwgX3V0aWxzID0geyBfdmVyc2lvbiA9ICIwLjAuMiIgfQoKCgpsb2NhbCBfID0gcmVxdWlyZSgnLnV0aWxzJykKCmxvY2FsIGFvID0gcmVxdWlyZSgiLmFvIikKCgoKLS0tIENoZWNrcyBpZiBhIGdpdmVuIG1lc3NhZ2UgaGFzIGEgdGFnIHRoYXQgbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIG5hbWUgYW5kIHZhbHVlLgoKLS0gQGZ1bmN0aW9uIGhhc01hdGNoaW5nVGFnCgotLSBAdHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIHRhZyBuYW1lIHRvIGNoZWNrCgotLSBAdHBhcmFtIHtzdHJpbmd9IHZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaCBmb3IgaW4gdGhlIHRhZwoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBtZXNzYWdlIGFuZCByZXR1cm5zIHdoZXRoZXIgdGhlcmUgaXMgYSB0YWcgbWF0Y2ggKC0xIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlKQoKZnVuY3Rpb24gX3V0aWxzLmhhc01hdGNoaW5nVGFnKG5hbWUsIHZhbHVlKQoKICBhc3NlcnQodHlwZShuYW1lKSA9PSAnc3RyaW5nJyBhbmQgdHlwZSh2YWx1ZSkgPT0gJ3N0cmluZycsICdpbnZhbGlkIGFyZ3VtZW50czogKG5hbWUgOiBzdHJpbmcsIHZhbHVlIDogc3RyaW5nKScpCgoKCiAgcmV0dXJuIGZ1bmN0aW9uIChtc2cpCgogICAgcmV0dXJuIG1zZy5UYWdzW25hbWVdID09IHZhbHVlCgogIGVuZAoKZW5kCgoKCi0tLSBDaGVja3MgaWYgYSBnaXZlbiBtZXNzYWdlIGhhcyBhIHRhZyB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBuYW1lIGFuZCBvbmUgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZXMuCgotLSBAZnVuY3Rpb24gaGFzTWF0Y2hpbmdUYWdPZgoKLS0gQHRwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSB0YWcgbmFtZSB0byBjaGVjawoKLS0gQHRwYXJhbSB7c3RyaW5nW119IHZhbHVlcyBUaGUgbGlzdCBvZiB2YWx1ZXMgb2Ygd2hpY2ggb25lIHNob3VsZCBtYXRjaAoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBtZXNzYWdlIGFuZCByZXR1cm5zIHdoZXRoZXIgdGhlcmUgaXMgYSB0YWcgbWF0Y2ggKC0xIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlKQoKZnVuY3Rpb24gX3V0aWxzLmhhc01hdGNoaW5nVGFnT2YobmFtZSwgdmFsdWVzKQoKICBhc3NlcnQodHlwZShuYW1lKSA9PSAnc3RyaW5nJyBhbmQgdHlwZSh2YWx1ZXMpID09ICd0YWJsZScsICdpbnZhbGlkIGFyZ3VtZW50czogKG5hbWUgOiBzdHJpbmcsIHZhbHVlcyA6IHN0cmluZ1tdKScpCgogIHJldHVybiBmdW5jdGlvbiAobXNnKQoKICAgIGZvciBfLCB2YWx1ZSBpbiBpcGFpcnModmFsdWVzKSBkbwoKICAgICAgbG9jYWwgcGF0dGVyblJlc3VsdCA9IEhhbmRsZXJzLnV0aWxzLmhhc01hdGNoaW5nVGFnKG5hbWUsIHZhbHVlKShtc2cpCgoKCiAgICAgIGlmIHBhdHRlcm5SZXN1bHQgfj0gMCBhbmQgcGF0dGVyblJlc3VsdCB+PSBmYWxzZSBhbmQgcGF0dGVyblJlc3VsdCB+PSAic2tpcCIgdGhlbgoKICAgICAgICByZXR1cm4gcGF0dGVyblJlc3VsdAoKICAgICAgZW5kCgogICAgZW5kCgoKCiAgICByZXR1cm4gMAoKICBlbmQKCmVuZAoKCgotLS0gQ2hlY2tzIGlmIGEgZ2l2ZW4gbWVzc2FnZSBoYXMgZGF0YSB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCB2YWx1ZS4KCi0tIEBmdW5jdGlvbiBoYXNNYXRjaGluZ0RhdGEKCi0tIEB0cGFyYW0ge3N0cmluZ30gdmFsdWUgVGhlIHZhbHVlIHRvIG1hdGNoIGFnYWluc3QgdGhlIG1lc3NhZ2UgZGF0YQoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBtZXNzYWdlIGFuZCByZXR1cm5zIHdoZXRoZXIgdGhlIGRhdGEgbWF0Y2hlcyB0aGUgdmFsdWUgKC0xIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlKQoKZnVuY3Rpb24gX3V0aWxzLmhhc01hdGNoaW5nRGF0YSh2YWx1ZSkKCiAgYXNzZXJ0KHR5cGUodmFsdWUpID09ICdzdHJpbmcnLCAnaW52YWxpZCBhcmd1bWVudHM6ICh2YWx1ZSA6IHN0cmluZyknKQoKICByZXR1cm4gZnVuY3Rpb24gKG1zZykKCiAgICByZXR1cm4gbXNnLkRhdGEgPT0gdmFsdWUKCiAgZW5kCgplbmQKCgoKLS0tIEdpdmVuIGFuIGlucHV0LCByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIG1lc3NhZ2UgYW5kIHJlcGxpZXMgdG8gaXQuCgotLSBAZnVuY3Rpb24gcmVwbHkKCi0tIEB0cGFyYW0ge3RhYmxlIHwgc3RyaW5nfSBpbnB1dCBUaGUgY29udGVudCB0byBzZW5kIGJhY2suIElmIGEgc3RyaW5nLCBpdCBzZW5kcyBpdCBhcyBkYXRhLiBJZiBhIHRhYmxlLCBpdCBhc3N1bWVzIGEgc3RydWN0dXJlIHdpdGggYFRhZ3NgLgoKLS0gQHRyZXR1cm4ge2Z1bmN0aW9ufSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBtZXNzYWdlIGFuZCByZXBsaWVzIHRvIGl0CgpmdW5jdGlvbiBfdXRpbHMucmVwbHkoaW5wdXQpIAoKICBhc3NlcnQodHlwZShpbnB1dCkgPT0gJ3RhYmxlJyBvciB0eXBlKGlucHV0KSA9PSAnc3RyaW5nJywgJ2ludmFsaWQgYXJndW1lbnRzOiAoaW5wdXQgOiB0YWJsZSBvciBzdHJpbmcpJykKCiAgcmV0dXJuIGZ1bmN0aW9uIChtc2cpCgogICAgaWYgdHlwZShpbnB1dCkgPT0gJ3N0cmluZycgdGhlbgoKICAgICAgbXNnLnJlcGx5KHsgRGF0YSA9IGlucHV0IH0pCgogICAgICByZXR1cm4KCiAgICBlbmQKCiAgICBtc2cucmVwbHkoaW5wdXQpCgogIGVuZAoKZW5kCgoKCi0tLSBJbnZlcnRzIHRoZSBwcm92aWRlZCBwYXR0ZXJuJ3MgcmVzdWx0IGlmIGl0IG1hdGNoZXMsIHNvIHRoYXQgaXQgY29udGludWVzIGV4ZWN1dGlvbiB3aXRoIHRoZSBuZXh0IG1hdGNoaW5nIGhhbmRsZXIuCgotLSBAZnVuY3Rpb24gY29udGludWUKCi0tIEB0cGFyYW0ge3RhYmxlIHwgZnVuY3Rpb259IHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gY2hlY2sgZm9yIGluIHRoZSBtZXNzYWdlCgotLSBAdHJldHVybiB7ZnVuY3Rpb259IEZ1bmN0aW9uIHRoYXQgZXhlY3V0ZXMgdGhlIHBhdHRlcm4gbWF0Y2hpbmcgZnVuY3Rpb24gYW5kIHJldHVybnMgYDFgIChjb250aW51ZSksIHNvIHRoYXQgdGhlIGV4ZWN1dGlvbiBvZiBoYW5kbGVycyBjb250aW51ZXMuCgpmdW5jdGlvbiBfdXRpbHMuY29udGludWUocGF0dGVybikKCiAgcmV0dXJuIGZ1bmN0aW9uIChtc2cpCgogICAgbG9jYWwgbWF0Y2ggPSBfLm1hdGNoZXNTcGVjKG1zZywgcGF0dGVybikKCgoKICAgIGlmIG5vdCBtYXRjaCBvciBtYXRjaCA9PSAwIG9yIG1hdGNoID09ICJza2lwIiB0aGVuCgogICAgICByZXR1cm4gbWF0Y2gKCiAgICBlbmQKCiAgICByZXR1cm4gMQoKICBlbmQKCmVuZAoKCgpyZXR1cm4gX3V0aWxzAAAAAAAAAC0tLSBUaGUgSGFuZGxlcnMgbGlicmFyeSBwcm92aWRlcyBhIGZsZXhpYmxlIHdheSB0byBtYW5hZ2UgYW5kIGV4ZWN1dGUgYSBzZXJpZXMgb2YgaGFuZGxlcnMgYmFzZWQgb24gcGF0dGVybnMuIEVhY2ggaGFuZGxlciBjb25zaXN0cyBvZiBhIHBhdHRlcm4gZnVuY3Rpb24sIGEgaGFuZGxlIGZ1bmN0aW9uLCBhbmQgYSBuYW1lLiBUaGlzIGxpYnJhcnkgaXMgc3VpdGFibGUgZm9yIHNjZW5hcmlvcyB3aGVyZSBkaWZmZXJlbnQgYWN0aW9ucyBuZWVkIHRvIGJlIHRha2VuIGJhc2VkIG9uIHZhcnlpbmcgaW5wdXQgY3JpdGVyaWEuIFJldHVybnMgdGhlIGhhbmRsZXJzIHRhYmxlLgoKLS0gQG1vZHVsZSBoYW5kbGVycwoKCgotLS0gVGhlIGhhbmRsZXJzIHRhYmxlCgotLSBAdGFibGUgaGFuZGxlcnMKCi0tIEBmaWVsZCBfdmVyc2lvbiBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIGhhbmRsZXJzIG1vZHVsZQoKLS0gQGZpZWxkIGxpc3QgVGhlIGxpc3Qgb2YgaGFuZGxlcnMKCi0tIEBmaWVsZCBjb3JvdXRpbmVzIFRoZSBjb3JvdXRpbmVzIG9mIHRoZSBoYW5kbGVycwoKLS0gQGZpZWxkIG9uY2VOb25jZSBUaGUgbm9uY2UgZm9yIHRoZSBvbmNlIGhhbmRsZXJzCgotLSBAZmllbGQgdXRpbHMgVGhlIGhhbmRsZXJzLXV0aWxzIG1vZHVsZQoKLS0gQGZpZWxkIGdlbmVyYXRlUmVzb2x2ZXIgVGhlIGdlbmVyYXRlUmVzb2x2ZXIgZnVuY3Rpb24KCi0tIEBmaWVsZCByZWNlaXZlIFRoZSByZWNlaXZlIGZ1bmN0aW9uCgotLSBAZmllbGQgb25jZSBUaGUgb25jZSBmdW5jdGlvbgoKLS0gQGZpZWxkIGFkZCBUaGUgYWRkIGZ1bmN0aW9uCgotLSBAZmllbGQgYXBwZW5kIFRoZSBhcHBlbmQgZnVuY3Rpb24KCi0tIEBmaWVsZCBwcmVwZW5kIFRoZSBwcmVwZW5kIGZ1bmN0aW9uCgotLSBAZmllbGQgcmVtb3ZlIFRoZSByZW1vdmUgZnVuY3Rpb24KCi0tIEBmaWVsZCBldmFsdWF0ZSBUaGUgZXZhbHVhdGUgZnVuY3Rpb24KCmxvY2FsIGhhbmRsZXJzID0geyBfdmVyc2lvbiA9ICIwLjAuNSIgfQoKbG9jYWwgY29yb3V0aW5lID0gcmVxdWlyZSgnY29yb3V0aW5lJykKCmxvY2FsIHV0aWxzID0gcmVxdWlyZSgnLnV0aWxzJykKCgoKaGFuZGxlcnMudXRpbHMgPSByZXF1aXJlKCcuaGFuZGxlcnMtdXRpbHMnKQoKLS0gaWYgdXBkYXRlIHdlIG5lZWQgdG8ga2VlcCBkZWZpbmVkIGhhbmRsZXJzCgppZiBIYW5kbGVycyB0aGVuCgogIGhhbmRsZXJzLmxpc3QgPSBIYW5kbGVycy5saXN0IG9yIHt9CgogIGhhbmRsZXJzLmNvcm91dGluZXMgPSBIYW5kbGVycy5jb3JvdXRpbmVzIG9yIHt9CgplbHNlCgogIGhhbmRsZXJzLmxpc3QgPSB7fQoKICBoYW5kbGVycy5jb3JvdXRpbmVzID0ge30KCgoKZW5kCgpoYW5kbGVycy5vbmNlTm9uY2UgPSAwCgoKCi0tLSBHaXZlbiBhbiBhcnJheSwgYSBwcm9wZXJ0eSBuYW1lLCBhbmQgYSB2YWx1ZSwgcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG9iamVjdCBpbiB0aGUgYXJyYXkgdGhhdCBoYXMgdGhlIHByb3BlcnR5IHdpdGggdGhlIHZhbHVlLgoKLS0gQGxmdW5jdGlvbiBmaW5kSW5kZXhCeVByb3AKCi0tIEB0cGFyYW0ge3RhYmxlW119IGFycmF5IFRoZSBhcnJheSB0byBzZWFyY2ggdGhyb3VnaAoKLS0gQHRwYXJhbSB7c3RyaW5nfSBwcm9wIFRoZSBwcm9wZXJ0eSBuYW1lIHRvIGNoZWNrCgotLSBAdHBhcmFtIHthbnl9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjayBmb3IgaW4gdGhlIHByb3BlcnR5CgotLSBAdHJldHVybiB7bnVtYmVyIHwgbmlsfSBUaGUgaW5kZXggb2YgdGhlIG9iamVjdCBpbiB0aGUgYXJyYXkgdGhhdCBoYXMgdGhlIHByb3BlcnR5IHdpdGggdGhlIHZhbHVlLCBvciBuaWwgaWYgbm8gc3VjaCBvYmplY3QgaXMgZm91bmQKCmxvY2FsIGZ1bmN0aW9uIGZpbmRJbmRleEJ5UHJvcChhcnJheSwgcHJvcCwgdmFsdWUpCgogIGZvciBpbmRleCwgb2JqZWN0IGluIGlwYWlycyhhcnJheSkgZG8KCiAgICBpZiBvYmplY3RbcHJvcF0gPT0gdmFsdWUgdGhlbgoKICAgICAgcmV0dXJuIGluZGV4CgogICAgZW5kCgogIGVuZAoKICByZXR1cm4gbmlsCgplbmQKCgoKLS0tIEdpdmVuIGEgbmFtZSwgYSBwYXR0ZXJuLCBhbmQgYSBoYW5kbGUsIGFzc2VydHMgdGhhdCB0aGUgYXJndW1lbnRzIGFyZSB2YWxpZC4KCi0tIEBsZnVuY3Rpb24gYXNzZXJ0QWRkQXJncwoKLS0gQHRwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBoYW5kbGVyCgotLSBAdHBhcmFtIHt0YWJsZSB8IGZ1bmN0aW9uIHwgc3RyaW5nfSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIGNoZWNrIGZvciBpbiB0aGUgbWVzc2FnZQoKLS0gQHRwYXJhbSB7ZnVuY3Rpb259IGhhbmRsZSBUaGUgZnVuY3Rpb24gdG8gY2FsbCBpZiB0aGUgcGF0dGVybiBtYXRjaGVzCgotLSBAdHBhcmFtIHtudW1iZXIgfCBzdHJpbmcgfCBuaWx9IG1heFJ1bnMgVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBoYW5kbGVyIHNob3VsZCBydW4sIG9yIG5pbCBpZiB0aGVyZSBpcyBubyBsaW1pdAoKbG9jYWwgZnVuY3Rpb24gYXNzZXJ0QWRkQXJncyhuYW1lLCBwYXR0ZXJuLCBoYW5kbGUsIG1heFJ1bnMpCgogIGFzc2VydCgKCiAgICB0eXBlKG5hbWUpID09ICdzdHJpbmcnIGFuZAoKICAgICh0eXBlKHBhdHRlcm4pID09ICdmdW5jdGlvbicgb3IgdHlwZShwYXR0ZXJuKSA9PSAndGFibGUnIG9yIHR5cGUocGF0dGVybikgPT0gJ3N0cmluZycpLAoKICAgICdJbnZhbGlkIGFyZ3VtZW50cyBnaXZlbi4gRXhwZWN0ZWQ6IFxuJyAuLgoKICAgICdcdG5hbWUgOiBzdHJpbmcsICcgLi4KCiAgICAnXHRwYXR0ZXJuIDogQWN0aW9uIDogc3RyaW5nIHwgTXNnTWF0Y2ggOiB0YWJsZSxcbicgLi4KCiAgICAnXHRcdGZ1bmN0aW9uKG1zZzogTWVzc2FnZSkgOiB7LTEgPSBicmVhaywgMCA9IHNraXAsIDEgPSBjb250aW51ZX0sXG4nIC4uCgogICAgJ1x0aGFuZGxlKG1zZyA6IE1lc3NhZ2UpIDogdm9pZCkgfCBSZXNvbHZlcixcbicgLi4KCiAgICAnXHRNYXhSdW5zPyA6IG51bWJlciB8ICJpbmYiIHwgbmlsJykKCmVuZAoKCgotLS0gR2l2ZW4gYSByZXNvbHZlciBzcGVjaWZpY2F0aW9uLCByZXR1cm5zIGEgcmVzb2x2ZXIgZnVuY3Rpb24uCgotLSBAZnVuY3Rpb24gZ2VuZXJhdGVSZXNvbHZlcgoKLS0gQHRwYXJhbSB7dGFibGUgfCBmdW5jdGlvbn0gcmVzb2x2ZVNwZWMgVGhlIHJlc29sdmVyIHNwZWNpZmljYXRpb24KCi0tIEB0cmV0dXJuIHtmdW5jdGlvbn0gQSByZXNvbHZlciBmdW5jdGlvbgoKZnVuY3Rpb24gaGFuZGxlcnMuZ2VuZXJhdGVSZXNvbHZlcihyZXNvbHZlU3BlYykKCiAgcmV0dXJuIGZ1bmN0aW9uKG1zZykKCiAgICAtLSBJZiB0aGUgcmVzb2x2ZXIgaXMgYSBzaW5nbGUgZnVuY3Rpb24sIGNhbGwgaXQuCgogICAgLS0gRWxzZSwgZmluZCB0aGUgZmlyc3QgbWF0Y2hpbmcgcGF0dGVybiAoYnkgaXRzIG1hdGNoU3BlYyksIGFuZCBleGVjLgoKICAgIGlmIHR5cGUocmVzb2x2ZVNwZWMpID09ICJmdW5jdGlvbiIgdGhlbgoKICAgICAgcmV0dXJuIHJlc29sdmVTcGVjKG1zZykKCiAgICBlbHNlCgogICAgICAgIGZvciBtYXRjaFNwZWMsIGZ1bmMgaW4gcGFpcnMocmVzb2x2ZVNwZWMpIGRvCgogICAgICAgICAgICBpZiB1dGlscy5tYXRjaGVzU3BlYyhtc2csIG1hdGNoU3BlYykgdGhlbgoKICAgICAgICAgICAgICAgIHJldHVybiBmdW5jKG1zZykKCiAgICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICBlbmQKCiAgZW5kCgplbmQKCgoKLS0tIEdpdmVuIGEgcGF0dGVybiwgcmV0dXJucyB0aGUgbmV4dCBtZXNzYWdlIHRoYXQgbWF0Y2hlcyB0aGUgcGF0dGVybi4KCi0tIFRoaXMgZnVuY3Rpb24gdXNlcyBMdWEncyBjb3JvdXRpbmVzIHVuZGVyLXRoZS1ob29kIHRvIGFkZCBhIGhhbmRsZXIsIHBhdXNlLAoKLS0gYW5kIHRoZW4gcmVzdW1lIHRoZSBjdXJyZW50IGNvcm91dGluZS4gVGhpcyBhbGxvd3MgdXMgdG8gZWZmZWN0aXZlbHkgYmxvY2sKCi0tIHByb2Nlc3Npbmcgb2Ygb25lIG1lc3NhZ2UgdW50aWwgYW5vdGhlciBpcyByZWNlaXZlZCB0aGF0IG1hdGNoZXMgdGhlIHBhdHRlcm4uCgotLSBAZnVuY3Rpb24gcmVjZWl2ZQoKLS0gQHRwYXJhbSB7dGFibGUgfCBmdW5jdGlvbn0gcGF0dGVybiBUaGUgcGF0dGVybiB0byBjaGVjayBmb3IgaW4gdGhlIG1lc3NhZ2UKCmZ1bmN0aW9uIGhhbmRsZXJzLnJlY2VpdmUocGF0dGVybikKCiAgbG9jYWwgc2VsZiA9IGNvcm91dGluZS5ydW5uaW5nKCkKCiAgaGFuZGxlcnMub25jZShwYXR0ZXJuLCBmdW5jdGlvbiAobXNnKQoKICAgICAgLS0gSWYgdGhlIHJlc3VsdCBvZiB0aGUgcmVzdW1lZCBjb3JvdXRpbmUgaXMgYW4gZXJyb3IgdGhlbiB3ZSBzaG91bGQgYnViYmxlIGl0IHVwIHRvIHRoZSBwcm9jZXNzCgogICAgICBsb2NhbCBfLCBzdWNjZXNzLCBlcnJtc2cgPSBjb3JvdXRpbmUucmVzdW1lKHNlbGYsIG1zZykKCiAgICAgIGlmIG5vdCBzdWNjZXNzIHRoZW4KCiAgICAgICAgZXJyb3IoZXJybXNnKQoKICAgICAgZW5kCgogIGVuZCkKCiAgcmV0dXJuIGNvcm91dGluZS55aWVsZChwYXR0ZXJuKQoKZW5kCgoKCi0tLSBHaXZlbiBhIG5hbWUsIGEgcGF0dGVybiwgYW5kIGEgaGFuZGxlLCBhZGRzIGEgaGFuZGxlciB0byB0aGUgbGlzdC4KCi0tIElmIG5hbWUgaXMgbm90IHByb3ZpZGVkLCAiX29uY2VfIiBwcmVmaXggcGx1cyBvbmNlTm9uY2Ugd2lsbCBiZSB1c2VkIGFzIHRoZSBuYW1lLgoKLS0gQWRkcyBoYW5kbGVyIHdpdGggbWF4UnVucyBvZiAxIHN1Y2ggdGhhdCBpdCB3aWxsIG9ubHkgYmUgY2FsbGVkIG9uY2UgdGhlbiByZW1vdmVkIGZyb20gdGhlIGxpc3QuCgotLSBAZnVuY3Rpb24gb25jZQoKLS0gQHRwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBoYW5kbGVyCgotLSBAdHBhcmFtIHt0YWJsZSB8IGZ1bmN0aW9uIHwgc3RyaW5nfSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIGNoZWNrIGZvciBpbiB0aGUgbWVzc2FnZQoKLS0gQHRwYXJhbSB7ZnVuY3Rpb259IGhhbmRsZSBUaGUgZnVuY3Rpb24gdG8gY2FsbCBpZiB0aGUgcGF0dGVybiBtYXRjaGVzCgpmdW5jdGlvbiBoYW5kbGVycy5vbmNlKC4uLikKCiAgbG9jYWwgbmFtZSwgcGF0dGVybiwgaGFuZGxlCgogIGlmIHNlbGVjdCgiIyIsIC4uLikgPT0gMyB0aGVuCgogICAgbmFtZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgcGF0dGVybiA9IHNlbGVjdCgyLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDMsIC4uLikKCiAgZWxzZQoKICAgIG5hbWUgPSAiX29uY2VfIiAuLiB0b3N0cmluZyhoYW5kbGVycy5vbmNlTm9uY2UpCgogICAgaGFuZGxlcnMub25jZU5vbmNlID0gaGFuZGxlcnMub25jZU5vbmNlICsgMQoKICAgIHBhdHRlcm4gPSBzZWxlY3QoMSwgLi4uKQoKICAgIGhhbmRsZSA9IHNlbGVjdCgyLCAuLi4pCgogIGVuZAoKICBoYW5kbGVycy5wcmVwZW5kKG5hbWUsIHBhdHRlcm4sIGhhbmRsZSwgMSkKCmVuZAoKCgotLS0gR2l2ZW4gYSBuYW1lLCBhIHBhdHRlcm4sIGFuZCBhIGhhbmRsZSwgYWRkcyBhIGhhbmRsZXIgdG8gdGhlIGxpc3QuCgotLSBAZnVuY3Rpb24gYWRkCgotLSBAdHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIGhhbmRsZXIKCi0tIEB0cGFyYW0ge3RhYmxlIHwgZnVuY3Rpb24gfCBzdHJpbmd9IHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gY2hlY2sgZm9yIGluIHRoZSBtZXNzYWdlCgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gaGFuZGxlIFRoZSBmdW5jdGlvbiB0byBjYWxsIGlmIHRoZSBwYXR0ZXJuIG1hdGNoZXMKCi0tIEB0cGFyYW0ge251bWJlciB8IHN0cmluZyB8IG5pbH0gbWF4UnVucyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdGhlIGhhbmRsZXIgc2hvdWxkIHJ1biwgb3IgbmlsIGlmIHRoZXJlIGlzIG5vIGxpbWl0CgpmdW5jdGlvbiBoYW5kbGVycy5hZGQoLi4uKQoKICBsb2NhbCBuYW1lLCBwYXR0ZXJuLCBoYW5kbGUsIG1heFJ1bnMKCiAgbG9jYWwgYXJncyA9IHNlbGVjdCgiIyIsIC4uLikKCiAgaWYgYXJncyA9PSAyIHRoZW4KCiAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICBwYXR0ZXJuID0gc2VsZWN0KDEsIC4uLikKCiAgICBoYW5kbGUgPSBzZWxlY3QoMiwgLi4uKQoKICAgIG1heFJ1bnMgPSBuaWwKCiAgZWxzZWlmIGFyZ3MgPT0gMyB0aGVuCgogICAgbmFtZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgcGF0dGVybiA9IHNlbGVjdCgyLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDMsIC4uLikKCiAgICBtYXhSdW5zID0gbmlsCgogIGVsc2UgCgogICAgbmFtZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgcGF0dGVybiA9IHNlbGVjdCgyLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDMsIC4uLikKCiAgICBtYXhSdW5zID0gc2VsZWN0KDQsIC4uLikKCiAgZW5kCgogIGFzc2VydEFkZEFyZ3MobmFtZSwgcGF0dGVybiwgaGFuZGxlLCBtYXhSdW5zKQoKICAKCiAgaGFuZGxlID0gaGFuZGxlcnMuZ2VuZXJhdGVSZXNvbHZlcihoYW5kbGUpCgogIAoKICAtLSB1cGRhdGUgZXhpc3RpbmcgaGFuZGxlciBieSBuYW1lCgogIGxvY2FsIGlkeCA9IGZpbmRJbmRleEJ5UHJvcChoYW5kbGVycy5saXN0LCAibmFtZSIsIG5hbWUpCgogIGlmIGlkeCB+PSBuaWwgYW5kIGlkeCA+IDAgdGhlbgoKICAgIC0tIGZvdW5kIHVwZGF0ZQoKICAgIGhhbmRsZXJzLmxpc3RbaWR4XS5wYXR0ZXJuID0gcGF0dGVybgoKICAgIGhhbmRsZXJzLmxpc3RbaWR4XS5oYW5kbGUgPSBoYW5kbGUKCiAgICBoYW5kbGVycy5saXN0W2lkeF0ubWF4UnVucyA9IG1heFJ1bnMKCiAgZWxzZQoKICAgIC0tIG5vdCBmb3VuZCB0aGVuIGFkZCAgICAKCiAgICB0YWJsZS5pbnNlcnQoaGFuZGxlcnMubGlzdCwgeyBwYXR0ZXJuID0gcGF0dGVybiwgaGFuZGxlID0gaGFuZGxlLCBuYW1lID0gbmFtZSwgbWF4UnVucyA9IG1heFJ1bnMgfSkKCgoKICBlbmQKCiAgcmV0dXJuICNoYW5kbGVycy5saXN0CgplbmQKCgoKLS0tIEFwcGVuZHMgYSBuZXcgaGFuZGxlciB0byB0aGUgZW5kIG9mIHRoZSBoYW5kbGVycyBsaXN0LgoKLS0gQGZ1bmN0aW9uIGFwcGVuZAoKLS0gQHRwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBoYW5kbGVyCgotLSBAdHBhcmFtIHt0YWJsZSB8IGZ1bmN0aW9uIHwgc3RyaW5nfSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIGNoZWNrIGZvciBpbiB0aGUgbWVzc2FnZQoKLS0gQHRwYXJhbSB7ZnVuY3Rpb259IGhhbmRsZSBUaGUgZnVuY3Rpb24gdG8gY2FsbCBpZiB0aGUgcGF0dGVybiBtYXRjaGVzCgotLSBAdHBhcmFtIHtudW1iZXIgfCBzdHJpbmcgfCBuaWx9IG1heFJ1bnMgVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBoYW5kbGVyIHNob3VsZCBydW4sIG9yIG5pbCBpZiB0aGVyZSBpcyBubyBsaW1pdAoKZnVuY3Rpb24gaGFuZGxlcnMuYXBwZW5kKC4uLikKCiAgbG9jYWwgbmFtZSwgcGF0dGVybiwgaGFuZGxlLCBtYXhSdW5zCgogIGxvY2FsIGFyZ3MgPSBzZWxlY3QoIiMiLCAuLi4pCgogIGlmIGFyZ3MgPT0gMiB0aGVuCgogICAgbmFtZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgcGF0dGVybiA9IHNlbGVjdCgxLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDIsIC4uLikKCiAgICBtYXhSdW5zID0gbmlsCgogIGVsc2VpZiBhcmdzID09IDMgdGhlbgoKICAgIG5hbWUgPSBzZWxlY3QoMSwgLi4uKQoKICAgIHBhdHRlcm4gPSBzZWxlY3QoMiwgLi4uKQoKICAgIGhhbmRsZSA9IHNlbGVjdCgzLCAuLi4pCgogICAgbWF4UnVucyA9IG5pbAoKICBlbHNlIAoKICAgIG5hbWUgPSBzZWxlY3QoMSwgLi4uKQoKICAgIHBhdHRlcm4gPSBzZWxlY3QoMiwgLi4uKQoKICAgIGhhbmRsZSA9IHNlbGVjdCgzLCAuLi4pCgogICAgbWF4UnVucyA9IHNlbGVjdCg0LCAuLi4pCgogIGVuZAoKICBhc3NlcnRBZGRBcmdzKG5hbWUsIHBhdHRlcm4sIGhhbmRsZSwgbWF4UnVucykKCiAgCgogIGhhbmRsZSA9IGhhbmRsZXJzLmdlbmVyYXRlUmVzb2x2ZXIoaGFuZGxlKQoKICAtLSB1cGRhdGUgZXhpc3RpbmcgaGFuZGxlciBieSBuYW1lCgogIGxvY2FsIGlkeCA9IGZpbmRJbmRleEJ5UHJvcChoYW5kbGVycy5saXN0LCAibmFtZSIsIG5hbWUpCgogIGlmIGlkeCB+PSBuaWwgYW5kIGlkeCA+IDAgdGhlbgoKICAgIC0tIGZvdW5kIHVwZGF0ZQoKICAgIGhhbmRsZXJzLmxpc3RbaWR4XS5wYXR0ZXJuID0gcGF0dGVybgoKICAgIGhhbmRsZXJzLmxpc3RbaWR4XS5oYW5kbGUgPSBoYW5kbGUKCiAgICBoYW5kbGVycy5saXN0W2lkeF0ubWF4UnVucyA9IG1heFJ1bnMKCiAgZWxzZQoKICAgIAoKICAgIHRhYmxlLmluc2VydChoYW5kbGVycy5saXN0LCB7IHBhdHRlcm4gPSBwYXR0ZXJuLCBoYW5kbGUgPSBoYW5kbGUsIG5hbWUgPSBuYW1lLCBtYXhSdW5zID0gbWF4UnVucyB9KQoKICBlbmQKCgoKICAKCmVuZAoKCgotLS0gUHJlcGVuZHMgYSBuZXcgaGFuZGxlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBoYW5kbGVycyBsaXN0LgoKLS0gQGZ1bmN0aW9uIHByZXBlbmQKCi0tIEB0cGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgaGFuZGxlcgoKLS0gQHRwYXJhbSB7dGFibGUgfCBmdW5jdGlvbiB8IHN0cmluZ30gcGF0dGVybiBUaGUgcGF0dGVybiB0byBjaGVjayBmb3IgaW4gdGhlIG1lc3NhZ2UKCi0tIEB0cGFyYW0ge2Z1bmN0aW9ufSBoYW5kbGUgVGhlIGZ1bmN0aW9uIHRvIGNhbGwgaWYgdGhlIHBhdHRlcm4gbWF0Y2hlcwoKLS0gQHRwYXJhbSB7bnVtYmVyIHwgc3RyaW5nIHwgbmlsfSBtYXhSdW5zIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGUgaGFuZGxlciBzaG91bGQgcnVuLCBvciBuaWwgaWYgdGhlcmUgaXMgbm8gbGltaXQKCmZ1bmN0aW9uIGhhbmRsZXJzLnByZXBlbmQoLi4uKQoKICBsb2NhbCBuYW1lLCBwYXR0ZXJuLCBoYW5kbGUsIG1heFJ1bnMKCiAgbG9jYWwgYXJncyA9IHNlbGVjdCgiIyIsIC4uLikKCiAgaWYgYXJncyA9PSAyIHRoZW4KCiAgICBuYW1lID0gc2VsZWN0KDEsIC4uLikKCiAgICBwYXR0ZXJuID0gc2VsZWN0KDEsIC4uLikKCiAgICBoYW5kbGUgPSBzZWxlY3QoMiwgLi4uKQoKICAgIG1heFJ1bnMgPSBuaWwKCiAgZWxzZWlmIGFyZ3MgPT0gMyB0aGVuCgogICAgbmFtZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgcGF0dGVybiA9IHNlbGVjdCgyLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDMsIC4uLikKCiAgICBtYXhSdW5zID0gbmlsCgogIGVsc2UgCgogICAgbmFtZSA9IHNlbGVjdCgxLCAuLi4pCgogICAgcGF0dGVybiA9IHNlbGVjdCgyLCAuLi4pCgogICAgaGFuZGxlID0gc2VsZWN0KDMsIC4uLikKCiAgICBtYXhSdW5zID0gc2VsZWN0KDQsIC4uLikKCiAgZW5kCgogIGFzc2VydEFkZEFyZ3MobmFtZSwgcGF0dGVybiwgaGFuZGxlLCBtYXhSdW5zKQoKCgogIGhhbmRsZSA9IGhhbmRsZXJzLmdlbmVyYXRlUmVzb2x2ZXIoaGFuZGxlKQoKCgogIC0tIHVwZGF0ZSBleGlzdGluZyBoYW5kbGVyIGJ5IG5hbWUKCiAgbG9jYWwgaWR4ID0gZmluZEluZGV4QnlQcm9wKGhhbmRsZXJzLmxpc3QsICJuYW1lIiwgbmFtZSkKCiAgaWYgaWR4IH49IG5pbCBhbmQgaWR4ID4gMCB0aGVuCgogICAgLS0gZm91bmQgdXBkYXRlCgogICAgaGFuZGxlcnMubGlzdFtpZHhdLnBhdHRlcm4gPSBwYXR0ZXJuCgogICAgaGFuZGxlcnMubGlzdFtpZHhdLmhhbmRsZSA9IGhhbmRsZQoKICAgIGhhbmRsZXJzLmxpc3RbaWR4XS5tYXhSdW5zID0gbWF4UnVucwoKICBlbHNlICAKCiAgICB0YWJsZS5pbnNlcnQoaGFuZGxlcnMubGlzdCwgMSwgeyBwYXR0ZXJuID0gcGF0dGVybiwgaGFuZGxlID0gaGFuZGxlLCBuYW1lID0gbmFtZSwgbWF4UnVucyA9IG1heFJ1bnMgfSkKCiAgZW5kCgoKCiAgCgplbmQKCgoKLS0tIFJldHVybnMgYW4gb2JqZWN0IHRoYXQgYWxsb3dzIGFkZGluZyBhIG5ldyBoYW5kbGVyIGJlZm9yZSBhIHNwZWNpZmllZCBoYW5kbGVyLgoKLS0gQGZ1bmN0aW9uIGJlZm9yZQoKLS0gQHRwYXJhbSB7c3RyaW5nfSBoYW5kbGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBoYW5kbGVyIGJlZm9yZSB3aGljaCB0aGUgbmV3IGhhbmRsZXIgd2lsbCBiZSBhZGRlZAoKLS0gQHRyZXR1cm4ge3RhYmxlfSBBbiBvYmplY3Qgd2l0aCBhbiBgYWRkYCBtZXRob2QgdG8gaW5zZXJ0IHRoZSBuZXcgaGFuZGxlcgoKZnVuY3Rpb24gaGFuZGxlcnMuYmVmb3JlKGhhbmRsZU5hbWUpCgogIGFzc2VydCh0eXBlKGhhbmRsZU5hbWUpID09ICdzdHJpbmcnLCAnSGFuZGxlciBuYW1lIE1VU1QgYmUgYSBzdHJpbmcnKQoKCgogIGxvY2FsIGlkeCA9IGZpbmRJbmRleEJ5UHJvcChoYW5kbGVycy5saXN0LCAibmFtZSIsIGhhbmRsZU5hbWUpCgogIHJldHVybiB7CgogICAgYWRkID0gZnVuY3Rpb24gKG5hbWUsIHBhdHRlcm4sIGhhbmRsZSwgbWF4UnVucykgCgogICAgICBhc3NlcnRBZGRBcmdzKG5hbWUsIHBhdHRlcm4sIGhhbmRsZSwgbWF4UnVucykKCiAgICAgIAoKICAgICAgaGFuZGxlID0gaGFuZGxlcnMuZ2VuZXJhdGVSZXNvbHZlcihoYW5kbGUpCgogICAgICAKCiAgICAgIGlmIGlkeCB0aGVuCgogICAgICAgIHRhYmxlLmluc2VydChoYW5kbGVycy5saXN0LCBpZHgsIHsgcGF0dGVybiA9IHBhdHRlcm4sIGhhbmRsZSA9IGhhbmRsZSwgbmFtZSA9IG5hbWUsIG1heFJ1bnMgPSBtYXhSdW5zIH0pCgogICAgICBlbmQKCiAgICAgIAoKICAgIGVuZAoKICB9CgplbmQKCgoKLS0tIFJldHVybnMgYW4gb2JqZWN0IHRoYXQgYWxsb3dzIGFkZGluZyBhIG5ldyBoYW5kbGVyIGFmdGVyIGEgc3BlY2lmaWVkIGhhbmRsZXIuCgotLSBAZnVuY3Rpb24gYWZ0ZXIKCi0tIEB0cGFyYW0ge3N0cmluZ30gaGFuZGxlTmFtZSBUaGUgbmFtZSBvZiB0aGUgaGFuZGxlciBhZnRlciB3aGljaCB0aGUgbmV3IGhhbmRsZXIgd2lsbCBiZSBhZGRlZAoKLS0gQHRyZXR1cm4ge3RhYmxlfSBBbiBvYmplY3Qgd2l0aCBhbiBgYWRkYCBtZXRob2QgdG8gaW5zZXJ0IHRoZSBuZXcgaGFuZGxlcgoKZnVuY3Rpb24gaGFuZGxlcnMuYWZ0ZXIoaGFuZGxlTmFtZSkKCiAgYXNzZXJ0KHR5cGUoaGFuZGxlTmFtZSkgPT0gJ3N0cmluZycsICdIYW5kbGVyIG5hbWUgTVVTVCBiZSBhIHN0cmluZycpCgogIGxvY2FsIGlkeCA9IGZpbmRJbmRleEJ5UHJvcChoYW5kbGVycy5saXN0LCAibmFtZSIsIGhhbmRsZU5hbWUpCgogIHJldHVybiB7CgogICAgYWRkID0gZnVuY3Rpb24gKG5hbWUsIHBhdHRlcm4sIGhhbmRsZSwgbWF4UnVucykKCiAgICAgIGFzc2VydEFkZEFyZ3MobmFtZSwgcGF0dGVybiwgaGFuZGxlLCBtYXhSdW5zKQoKICAgICAgCgogICAgICBoYW5kbGUgPSBoYW5kbGVycy5nZW5lcmF0ZVJlc29sdmVyKGhhbmRsZSkKCiAgICAgIAoKICAgICAgaWYgaWR4IHRoZW4KCiAgICAgICAgdGFibGUuaW5zZXJ0KGhhbmRsZXJzLmxpc3QsIGlkeCArIDEsIHsgcGF0dGVybiA9IHBhdHRlcm4sIGhhbmRsZSA9IGhhbmRsZSwgbmFtZSA9IG5hbWUsIG1heFJ1bnMgPSBtYXhSdW5zIH0pCgogICAgICBlbmQKCiAgICAgIAoKICAgIGVuZAoKICB9CgoKCmVuZAoKCgotLS0gUmVtb3ZlcyBhIGhhbmRsZXIgZnJvbSB0aGUgaGFuZGxlcnMgbGlzdCBieSBuYW1lLgoKLS0gQGZ1bmN0aW9uIHJlbW92ZQoKLS0gQHRwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBoYW5kbGVyIHRvIGJlIHJlbW92ZWQKCmZ1bmN0aW9uIGhhbmRsZXJzLnJlbW92ZShuYW1lKQoKICBhc3NlcnQodHlwZShuYW1lKSA9PSAnc3RyaW5nJywgJ25hbWUgTVVTVCBiZSBzdHJpbmcnKQoKICBpZiAjaGFuZGxlcnMubGlzdCA9PSAxIGFuZCBoYW5kbGVycy5saXN0WzFdLm5hbWUgPT0gbmFtZSB0aGVuCgogICAgaGFuZGxlcnMubGlzdCA9IHt9CgogICAgCgogIGVuZAoKCgogIGxvY2FsIGlkeCA9IGZpbmRJbmRleEJ5UHJvcChoYW5kbGVycy5saXN0LCAibmFtZSIsIG5hbWUpCgogIGlmIGlkeCB+PSBuaWwgYW5kIGlkeCA+IDAgdGhlbgoKICAgIHRhYmxlLnJlbW92ZShoYW5kbGVycy5saXN0LCBpZHgpCgogIGVuZAoKICAKCmVuZAoKCgotLS0gRXZhbHVhdGVzIGVhY2ggaGFuZGxlciBhZ2FpbnN0IGEgZ2l2ZW4gbWVzc2FnZSBhbmQgZW52aXJvbm1lbnQuIEhhbmRsZXJzIGFyZSBjYWxsZWQgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyIGluIHRoZSBoYW5kbGVycyBsaXN0LgoKLS0gUmV0dXJuIDAgdG8gbm90IGNhbGwgaGFuZGxlciwgLTEgdG8gYnJlYWsgYWZ0ZXIgaGFuZGxlciBpcyBjYWxsZWQsIDEgdG8gY29udGludWUKCi0tIEBmdW5jdGlvbiBldmFsdWF0ZQoKLS0gQHRwYXJhbSB7dGFibGV9IG1zZyBUaGUgbWVzc2FnZSB0byBiZSBwcm9jZXNzZWQgYnkgdGhlIGhhbmRsZXJzLgoKLS0gQHRwYXJhbSB7dGFibGV9IGVudiBUaGUgZW52aXJvbm1lbnQgaW4gd2hpY2ggdGhlIGhhbmRsZXJzIGFyZSBleGVjdXRlZC4KCi0tIEB0cmV0dXJuIFRoZSByZXNwb25zZSBmcm9tIHRoZSBoYW5kbGVyKHMpLiBSZXR1cm5zIGEgZGVmYXVsdCBtZXNzYWdlIGlmIG5vIGhhbmRsZXIgbWF0Y2hlcy4KCmZ1bmN0aW9uIGhhbmRsZXJzLmV2YWx1YXRlKG1zZywgZW52KQoKICBsb2NhbCBoYW5kbGVkID0gZmFsc2UKCiAgYXNzZXJ0KHR5cGUobXNnKSA9PSAndGFibGUnLCAnbXNnIGlzIG5vdCB2YWxpZCcpCgogIGFzc2VydCh0eXBlKGVudikgPT0gJ3RhYmxlJywgJ2VudiBpcyBub3QgdmFsaWQnKQoKICAKCiAgZm9yIF8sIG8gaW4gaXBhaXJzKGhhbmRsZXJzLmxpc3QpIGRvCgogICAgaWYgby5uYW1lIH49ICJfZGVmYXVsdCIgdGhlbgoKICAgICAgbG9jYWwgbWF0Y2ggPSB1dGlscy5tYXRjaGVzU3BlYyhtc2csIG8ucGF0dGVybikKCiAgICAgIGlmIG5vdCAodHlwZShtYXRjaCkgPT0gJ251bWJlcicgb3IgdHlwZShtYXRjaCkgPT0gJ3N0cmluZycgb3IgdHlwZShtYXRjaCkgPT0gJ2Jvb2xlYW4nKSB0aGVuCgogICAgICAgIGVycm9yKCJQYXR0ZXJuIHJlc3VsdCBpcyBub3QgdmFsaWQsIGl0IE1VU1QgYmUgc3RyaW5nLCBudW1iZXIsIG9yIGJvb2xlYW4iKQoKICAgICAgZW5kCgogICAgICAKCiAgICAgIC0tIGhhbmRsZSBib29sZWFuIHJldHVybnMKCiAgICAgIGlmIHR5cGUobWF0Y2gpID09ICJib29sZWFuIiBhbmQgbWF0Y2ggPT0gdHJ1ZSB0aGVuCgogICAgICAgIG1hdGNoID0gLTEKCiAgICAgIGVsc2VpZiB0eXBlKG1hdGNoKSA9PSAiYm9vbGVhbiIgYW5kIG1hdGNoID09IGZhbHNlIHRoZW4KCiAgICAgICAgbWF0Y2ggPSAwCgogICAgICBlbmQKCgoKICAgICAgLS0gaGFuZGxlIHN0cmluZyByZXR1cm5zCgogICAgICBpZiB0eXBlKG1hdGNoKSA9PSAic3RyaW5nIiB0aGVuCgogICAgICAgIGlmIG1hdGNoID09ICJjb250aW51ZSIgdGhlbgoKICAgICAgICAgIG1hdGNoID0gMQoKICAgICAgICBlbHNlaWYgbWF0Y2ggPT0gImJyZWFrIiB0aGVuCgogICAgICAgICAgbWF0Y2ggPSAtMQoKICAgICAgICBlbHNlCgogICAgICAgICAgbWF0Y2ggPSAwCgogICAgICAgIGVuZAoKICAgICAgZW5kCgoKCiAgICAgIGlmIG1hdGNoIH49IDAgdGhlbgoKICAgICAgICBpZiBtYXRjaCA8IDAgdGhlbgoKICAgICAgICAgIGhhbmRsZWQgPSB0cnVlCgogICAgICAgIGVuZAoKICAgICAgICAtLSBlYWNoIGhhbmRsZSBmdW5jdGlvbiBjYW4gYWNjZXB0LCB0aGUgbXNnLCBlbnYKCiAgICAgICAgbG9jYWwgc3RhdHVzLCBlcnIgPSBwY2FsbChvLmhhbmRsZSwgbXNnLCBlbnYpCgogICAgICAgIGlmIG5vdCBzdGF0dXMgdGhlbgoKICAgICAgICAgIGVycm9yKGVycikKCiAgICAgICAgZW5kCgogICAgICAgIC0tIHJlbW92ZSBoYW5kbGVyIGlmIG1heFJ1bnMgaXMgcmVhY2hlZC4gbWF4UnVucyBjYW4gYmUgZWl0aGVyIGEgbnVtYmVyIG9yICJpbmYiCgogICAgICAgIGlmIG8ubWF4UnVucyB+PSBuaWwgYW5kIG8ubWF4UnVucyB+PSAiaW5mIiB0aGVuCgogICAgICAgICAgby5tYXhSdW5zID0gby5tYXhSdW5zIC0gMQoKICAgICAgICAgIGlmIG8ubWF4UnVucyA9PSAwIHRoZW4KCiAgICAgICAgICAgIGhhbmRsZXJzLnJlbW92ZShvLm5hbWUpCgogICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKICAgICAgZW5kCgogICAgICBpZiBtYXRjaCA8IDAgdGhlbgoKICAgICAgICByZXR1cm4gaGFuZGxlZAoKICAgICAgZW5kCgogICAgZW5kCgogIGVuZAoKICAtLSBkbyBkZWZhdWx0CgogIGlmIG5vdCBoYW5kbGVkIHRoZW4KCiAgICBsb2NhbCBpZHggPSBmaW5kSW5kZXhCeVByb3AoaGFuZGxlcnMubGlzdCwgIm5hbWUiLCAiX2RlZmF1bHQiKQoKICAgIGhhbmRsZXJzLmxpc3RbaWR4XS5oYW5kbGUobXNnLGVudikKCiAgZW5kCgplbmQKCgoKcmV0dXJuIGhhbmRsZXJzCi0tLSBUaGUgUHJldHR5IG1vZHVsZSBwcm92aWRlcyBhIHV0aWxpdHkgZm9yIHByaW50aW5nIEx1YSB0YWJsZXMgaW4gYSBtb3JlIHJlYWRhYmxlIGZvcm1hdC4KCi0tIEBtb2R1bGUgcHJldHR5CgoKCi0tLSBUaGUgcHJldHR5IG1vZHVsZQoKLS0gQHRhYmxlIHByZXR0eQoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgcHJldHR5IG1vZHVsZQoKLS0gQGZpZWxkIHRwcmludCBUaGUgdHByaW50IGZ1bmN0aW9uCgpsb2NhbCBwcmV0dHkgPSB7IF92ZXJzaW9uID0gIjAuMC4xIiB9CgoKCi0tLSBQcmludHMgYSB0YWJsZSB3aXRoIGluZGVudGF0aW9uIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkuCgotLSBAZnVuY3Rpb24gdHByaW50CgotLSBAdHBhcmFtIHt0YWJsZX0gdGJsIFRoZSB0YWJsZSB0byBwcmludAoKLS0gQHRwYXJhbSB7bnVtYmVyfSBpbmRlbnQgVGhlIGluZGVudGF0aW9uIGxldmVsIChkZWZhdWx0IGlzIDApCgotLSBAdHJldHVybiB7c3RyaW5nfSBBIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdGFibGUgd2l0aCBpbmRlbnRhdGlvbgoKcHJldHR5LnRwcmludCA9IGZ1bmN0aW9uICh0YmwsIGluZGVudCkKCiAgaWYgbm90IGluZGVudCB0aGVuIGluZGVudCA9IDAgZW5kCgogIGxvY2FsIG91dHB1dCA9ICIiCgogIGZvciBrLCB2IGluIHBhaXJzKHRibCkgZG8KCiAgICBsb2NhbCBmb3JtYXR0aW5nID0gc3RyaW5nLnJlcCgiICIsIGluZGVudCkgLi4gayAuLiAiOiAiCgogICAgaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KCiAgICAgIG91dHB1dCA9IG91dHB1dCAuLiBmb3JtYXR0aW5nIC4uICJcbiIKCiAgICAgIG91dHB1dCA9IG91dHB1dCAuLiBwcmV0dHkudHByaW50KHYsIGluZGVudCsxKQoKICAgIGVsc2VpZiB0eXBlKHYpID09ICdib29sZWFuJyB0aGVuCgogICAgICBvdXRwdXQgPSBvdXRwdXQgLi4gZm9ybWF0dGluZyAuLiB0b3N0cmluZyh2KSAuLiAiXG4iCgogICAgZWxzZQoKICAgICAgb3V0cHV0ID0gb3V0cHV0IC4uIGZvcm1hdHRpbmcgLi4gdiAuLiAiXG4iCgogICAgZW5kCgogIGVuZAoKICByZXR1cm4gb3V0cHV0CgplbmQKCgoKcmV0dXJuIHByZXR0eQBCsOsHC7X1AS0tLSBUaGUgU3RyaW5naWZ5IG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIGZvcm1hdHRpbmcgYW5kIGRpc3BsYXlpbmcgTHVhIHRhYmxlcyBpbiBhIG1vcmUgcmVhZGFibGUgbWFubmVyLiBSZXR1cm5zIHRoZSBzdHJpbmdpZnkgdGFibGUuCgotLSBAbW9kdWxlIHN0cmluZ2lmeQoKCgotLS0gVGhlIHN0cmluZ2lmeSB0YWJsZQoKLS0gQHRhYmxlIHN0cmluZ2lmeQoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgc3RyaW5naWZ5IG1vZHVsZQoKLS0gQGZpZWxkIGlzU2ltcGxlQXJyYXkgVGhlIGlzU2ltcGxlQXJyYXkgZnVuY3Rpb24KCi0tIEBmaWVsZCBmb3JtYXQgVGhlIGZvcm1hdCBmdW5jdGlvbgoKbG9jYWwgc3RyaW5naWZ5ID0geyBfdmVyc2lvbiA9ICIwLjAuMSIgfQoKCgotLSBBTlNJIGNvbG9yIGNvZGVzCgpsb2NhbCBjb2xvcnMgPSB7CgogIHJlZCA9ICJcMjdbMzFtIiwKCiAgZ3JlZW4gPSAiXDI3WzMybSIsCgogIGJsdWUgPSAiXDI3WzM0bSIsCgogIHJlc2V0ID0gIlwyN1swbSIKCn0KCgoKLS0tIENoZWNrcyBpZiBhIHRhYmxlIGlzIGEgc2ltcGxlIGFycmF5IChpLmUuLCBhbiBhcnJheSB3aXRoIGNvbnNlY3V0aXZlIG51bWVyaWMga2V5cyBzdGFydGluZyBmcm9tIDEpLgoKLS0gQGZ1bmN0aW9uIGlzU2ltcGxlQXJyYXkKCi0tIEB0cGFyYW0ge3RhYmxlfSB0YmwgVGhlIHRhYmxlIHRvIGNoZWNrCgotLSBAdHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgdGFibGUgaXMgYSBzaW1wbGUgYXJyYXkKCmZ1bmN0aW9uIHN0cmluZ2lmeS5pc1NpbXBsZUFycmF5KHRibCkKCiAgbG9jYWwgYXJyYXlJbmRleCA9IDEKCiAgZm9yIGssIHYgaW4gcGFpcnModGJsKSBkbwoKICAgIGlmIGsgfj0gYXJyYXlJbmRleCBvciAodHlwZSh2KSB+PSAibnVtYmVyIiBhbmQgdHlwZSh2KSB+PSAic3RyaW5nIikgdGhlbgoKICAgICAgcmV0dXJuIGZhbHNlCgogICAgZW5kCgogICAgYXJyYXlJbmRleCA9IGFycmF5SW5kZXggKyAxCgogIGVuZAoKICByZXR1cm4gdHJ1ZQoKZW5kCgoKCi0tLSBGb3JtYXRzIGEgdGFibGUgZm9yIGRpc3BsYXksIGhhbmRsaW5nIGNpcmN1bGFyIHJlZmVyZW5jZXMgYW5kIGZvcm1hdHRpbmcgc3RyaW5ncyBhbmQgdGFibGVzIHJlY3Vyc2l2ZWx5LgoKLS0gQGZ1bmN0aW9uIGZvcm1hdAoKLS0gQHRwYXJhbSB7dGFibGV9IHRibCBUaGUgdGFibGUgdG8gZm9ybWF0CgotLSBAdHBhcmFtIHtudW1iZXJ9IGluZGVudCBUaGUgaW5kZW50YXRpb24gbGV2ZWwgKGRlZmF1bHQgaXMgMCkKCi0tIEB0cGFyYW0ge3RhYmxlfSB2aXNpdGVkIEEgdGFibGUgdG8gdHJhY2sgdmlzaXRlZCB0YWJsZXMgYW5kIGRldGVjdCBjaXJjdWxhciByZWZlcmVuY2VzIChvcHRpb25hbCkKCi0tIEB0cmV0dXJuIHtzdHJpbmd9IEEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0YWJsZQoKZnVuY3Rpb24gc3RyaW5naWZ5LmZvcm1hdCh0YmwsIGluZGVudCwgdmlzaXRlZCkKCiAgaW5kZW50ID0gaW5kZW50IG9yIDAKCiAgbG9jYWwgdG9JbmRlbnQgPSBzdHJpbmcucmVwKCIgIiwgaW5kZW50KQoKICBsb2NhbCB0b0luZGVudENoaWxkID0gc3RyaW5nLnJlcCgiICIsIGluZGVudCArIDIpCgoKCiAgbG9jYWwgcmVzdWx0ID0ge30KCiAgbG9jYWwgaXNBcnJheSA9IHRydWUKCiAgbG9jYWwgYXJyYXlJbmRleCA9IDEKCgoKICBpZiBzdHJpbmdpZnkuaXNTaW1wbGVBcnJheSh0YmwpIHRoZW4KCiAgICBmb3IgXywgdiBpbiBpcGFpcnModGJsKSBkbwoKICAgICAgaWYgdHlwZSh2KSA9PSAic3RyaW5nIiB0aGVuCgogICAgICAgIHYgPSBjb2xvcnMuZ3JlZW4gLi4gJyInIC4uIHYgLi4gJyInIC4uIGNvbG9ycy5yZXNldAoKICAgICAgZWxzZQoKICAgICAgICB2ID0gY29sb3JzLmJsdWUgLi4gdG9zdHJpbmcodikgLi4gY29sb3JzLnJlc2V0CgogICAgICBlbmQKCiAgICAgIHRhYmxlLmluc2VydChyZXN1bHQsIHYpCgogICAgZW5kCgogICAgcmV0dXJuICJ7ICIgLi4gdGFibGUuY29uY2F0KHJlc3VsdCwgIiwgIikgLi4gIiB9IgoKICBlbmQKCgoKICBmb3IgaywgdiBpbiBwYWlycyh0YmwpIGRvCgogICAgaWYgaXNBcnJheSB0aGVuCgogICAgICBpZiBrID09IGFycmF5SW5kZXggdGhlbgoKICAgICAgICBhcnJheUluZGV4ID0gYXJyYXlJbmRleCArIDEKCiAgICAgICAgaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KCiAgICAgICAgICB2ID0gc3RyaW5naWZ5LmZvcm1hdCh2LCBpbmRlbnQgKyAyKQoKICAgICAgICBlbHNlaWYgdHlwZSh2KSA9PSAic3RyaW5nIiB0aGVuCgogICAgICAgICAgdiA9IGNvbG9ycy5ncmVlbiAuLiAnIicgLi4gdiAuLiAnIicgLi4gY29sb3JzLnJlc2V0CgogICAgICAgIGVsc2UKCiAgICAgICAgICB2ID0gY29sb3JzLmJsdWUgLi4gdG9zdHJpbmcodikgLi4gY29sb3JzLnJlc2V0CgogICAgICAgIGVuZAoKICAgICAgICB0YWJsZS5pbnNlcnQocmVzdWx0LCB0b0luZGVudENoaWxkIC4uIHYpCgogICAgICBlbHNlCgogICAgICAgIGlzQXJyYXkgPSBmYWxzZQoKICAgICAgICByZXN1bHQgPSB7fQoKICAgICAgZW5kCgogICAgZW5kCgogICAgaWYgbm90IGlzQXJyYXkgdGhlbgoKICAgICAgaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KCiAgICAgICAgdmlzaXRlZCA9IHZpc2l0ZWQgb3Ige30KCiAgICAgICAgaWYgdmlzaXRlZFt2XSB0aGVuCgogICAgICAgICAgICByZXR1cm4gIjxjaXJjdWxhciByZWZlcmVuY2U+IgoKICAgICAgICBlbmQKCiAgICAgICAgdmlzaXRlZFt2XSA9IHRydWUKCgoKICAgICAgICB2ID0gc3RyaW5naWZ5LmZvcm1hdCh2LCBpbmRlbnQgKyAyLCB2aXNpdGVkKQoKICAgICAgZWxzZWlmIHR5cGUodikgPT0gInN0cmluZyIgdGhlbgoKICAgICAgICB2ID0gY29sb3JzLmdyZWVuIC4uICciJyAuLiB2IC4uICciJyAuLiBjb2xvcnMucmVzZXQKCiAgICAgIGVsc2UKCiAgICAgICAgdiA9IGNvbG9ycy5ibHVlIC4uIHRvc3RyaW5nKHYpIC4uIGNvbG9ycy5yZXNldAoKICAgICAgZW5kCgogICAgICBrID0gY29sb3JzLnJlZCAuLiBrIC4uIGNvbG9ycy5yZXNldAoKICAgICAgdGFibGUuaW5zZXJ0KHJlc3VsdCwgdG9JbmRlbnRDaGlsZCAuLiBrIC4uICIgPSAiIC4uIHYpCgogICAgZW5kCgogIGVuZAoKCgogIGxvY2FsIHByZWZpeCA9IGlzQXJyYXkgYW5kICJ7XG4iIG9yICJ7XG4gIgoKICBsb2NhbCBzdWZmaXggPSBpc0FycmF5IGFuZCAiXG4iIC4uIHRvSW5kZW50IC4uICIgfSIgb3IgIlxuIiAuLiB0b0luZGVudCAuLiAifSIKCiAgbG9jYWwgc2VwYXJhdG9yID0gaXNBcnJheSBhbmQgIixcbiIgb3IgIixcbiAiCgogIHJldHVybiBwcmVmaXggLi4gdGFibGUuY29uY2F0KHJlc3VsdCwgc2VwYXJhdG9yKSAuLiBzdWZmaXgKCmVuZAoKCgpyZXR1cm4gc3RyaW5naWZ5CgAAAAAAAAAtLS0gVGhlIFV0aWxzIG1vZHVsZSBwcm92aWRlcyBhIGNvbGxlY3Rpb24gb2YgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcgaW4gTHVhLiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgZm9yIGFycmF5IG1hbmlwdWxhdGlvbiBzdWNoIGFzIGNvbmNhdGVuYXRpb24sIG1hcHBpbmcsIHJlZHVjdGlvbiwgZmlsdGVyaW5nLCBhbmQgZmluZGluZyBlbGVtZW50cywgYXMgd2VsbCBhcyBhIHByb3BlcnR5IGVxdWFsaXR5IGNoZWNrZXIuCgotLSBAbW9kdWxlIHV0aWxzCgoKCi0tLSBUaGUgdXRpbHMgdGFibGUKCi0tIEB0YWJsZSB1dGlscwoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgdXRpbHMgbW9kdWxlCgotLSBAZmllbGQgbWF0Y2hlc1BhdHRlcm4gVGhlIG1hdGNoZXNQYXR0ZXJuIGZ1bmN0aW9uCgotLSBAZmllbGQgbWF0Y2hlc1NwZWMgVGhlIG1hdGNoZXNTcGVjIGZ1bmN0aW9uCgotLSBAZmllbGQgY3VycnkgVGhlIGN1cnJ5IGZ1bmN0aW9uCgotLSBAZmllbGQgY29uY2F0IFRoZSBjb25jYXQgZnVuY3Rpb24KCi0tIEBmaWVsZCByZWR1Y2UgVGhlIHJlZHVjZSBmdW5jdGlvbgoKLS0gQGZpZWxkIG1hcCBUaGUgbWFwIGZ1bmN0aW9uCgotLSBAZmllbGQgZmlsdGVyIFRoZSBmaWx0ZXIgZnVuY3Rpb24KCi0tIEBmaWVsZCBmaW5kIFRoZSBmaW5kIGZ1bmN0aW9uCgotLSBAZmllbGQgcHJvcEVxIFRoZSBwcm9wRXEgZnVuY3Rpb24KCi0tIEBmaWVsZCByZXZlcnNlIFRoZSByZXZlcnNlIGZ1bmN0aW9uCgotLSBAZmllbGQgY29tcG9zZSBUaGUgY29tcG9zZSBmdW5jdGlvbgoKLS0gQGZpZWxkIHByb3AgVGhlIHByb3AgZnVuY3Rpb24KCi0tIEBmaWVsZCBpbmNsdWRlcyBUaGUgaW5jbHVkZXMgZnVuY3Rpb24KCi0tIEBmaWVsZCBrZXlzIFRoZSBrZXlzIGZ1bmN0aW9uCgotLSBAZmllbGQgdmFsdWVzIFRoZSB2YWx1ZXMgZnVuY3Rpb24KCmxvY2FsIHV0aWxzID0geyBfdmVyc2lvbiA9ICIwLjAuNSIgfQoKCgotLS0gR2l2ZW4gYSBwYXR0ZXJuLCBhIHZhbHVlLCBhbmQgYSBtZXNzYWdlLCByZXR1cm5zIHdoZXRoZXIgdGhlcmUgaXMgYSBwYXR0ZXJuIG1hdGNoLgoKLS0gQHVzYWdlIHV0aWxzLm1hdGNoZXNQYXR0ZXJuKHBhdHRlcm4sIHZhbHVlLCBtc2cpCgotLSBAcGFyYW0gcGF0dGVybiBUaGUgcGF0dGVybiB0byBtYXRjaAoKLS0gQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjayBmb3IgaW4gdGhlIHBhdHRlcm4KCi0tIEBwYXJhbSBtc2cgVGhlIG1lc3NhZ2UgdG8gY2hlY2sgZm9yIHRoZSBwYXR0ZXJuCgotLSBAdHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGVyZSBpcyBhIHBhdHRlcm4gbWF0Y2gKCmZ1bmN0aW9uIHV0aWxzLm1hdGNoZXNQYXR0ZXJuKHBhdHRlcm4sIHZhbHVlLCBtc2cpCgogIC0tIElmIHRoZSBrZXkgaXMgbm90IGluIHRoZSBtZXNzYWdlLCB0aGVuIGl0IGRvZXMgbm90IG1hdGNoCgogIGlmIChub3QgcGF0dGVybikgdGhlbgoKICAgIHJldHVybiBmYWxzZQoKICBlbmQKCiAgLS0gaWYgdGhlIHBhdHRlcm5NYXRjaFNwZWMgaXMgYSB3aWxkY2FyZCwgdGhlbiBpdCBhbHdheXMgbWF0Y2hlcwoKICBpZiBwYXR0ZXJuID09ICdfJyB0aGVuCgogICAgcmV0dXJuIHRydWUKCiAgZW5kCgogIC0tIGlmIHRoZSBwYXR0ZXJuTWF0Y2hTcGVjIGlzIGEgZnVuY3Rpb24sIHRoZW4gaXQgaXMgZXhlY3V0ZWQgb24gdGhlIHRhZyB2YWx1ZQoKICBpZiB0eXBlKHBhdHRlcm4pID09ICJmdW5jdGlvbiIgdGhlbgoKICAgIGlmIHBhdHRlcm4odmFsdWUsIG1zZykgdGhlbgoKICAgICAgcmV0dXJuIHRydWUKCiAgICBlbHNlCgogICAgICByZXR1cm4gZmFsc2UKCiAgICBlbmQKCiAgZW5kCgogIAoKICAtLSBpZiB0aGUgcGF0dGVybk1hdGNoU3BlYyBpcyBhIHN0cmluZywgY2hlY2sgaXQgZm9yIHNwZWNpYWwgc3ltYm9scyAobGVzcyBgLWAgYWxvbmUpCgogIC0tIGFuZCBleGFjdCBzdHJpbmcgbWF0Y2ggbW9kZQoKICBpZiAodHlwZShwYXR0ZXJuKSA9PSAnc3RyaW5nJykgdGhlbgoKICAgIGlmIHN0cmluZy5tYXRjaChwYXR0ZXJuLCAiWyVeJSQlKCUpJSUlLiVbJV0lKiUrJT9dIikgdGhlbgoKICAgICAgaWYgc3RyaW5nLm1hdGNoKHZhbHVlLCBwYXR0ZXJuKSB0aGVuCgogICAgICAgIHJldHVybiB0cnVlCgogICAgICBlbmQKCiAgICBlbHNlCgogICAgICBpZiB2YWx1ZSA9PSBwYXR0ZXJuIHRoZW4KCiAgICAgICAgcmV0dXJuIHRydWUKCiAgICAgIGVuZAoKICAgIGVuZAoKICBlbmQKCgoKICAtLSBpZiB0aGUgcGF0dGVybiBpcyBhIHRhYmxlLCByZWN1cnNpdmVseSBjaGVjayBpZiBhbnkgb2YgaXRzIHN1Yi1wYXR0ZXJucyBtYXRjaAoKICBpZiB0eXBlKHBhdHRlcm4pID09ICd0YWJsZScgdGhlbgoKICAgIGZvciBfLCBzdWJQYXR0ZXJuIGluIHBhaXJzKHBhdHRlcm4pIGRvCgogICAgICBpZiB1dGlscy5tYXRjaGVzUGF0dGVybihzdWJQYXR0ZXJuLCB2YWx1ZSwgbXNnKSB0aGVuCgogICAgICAgIHJldHVybiB0cnVlCgogICAgICBlbmQKCiAgICBlbmQKCiAgZW5kCgoKCiAgcmV0dXJuIGZhbHNlCgplbmQKCgoKLS0tIEdpdmVuIGEgbWVzc2FnZSBhbmQgYSBzcGVjLCByZXR1cm5zIHdoZXRoZXIgdGhlcmUgaXMgYSBzcGVjIG1hdGNoLgoKLS0gQHVzYWdlIHV0aWxzLm1hdGNoZXNTcGVjKG1zZywgc3BlYykKCi0tIEBwYXJhbSBtc2cgVGhlIG1lc3NhZ2UgdG8gY2hlY2sgZm9yIHRoZSBzcGVjCgotLSBAcGFyYW0gc3BlYyBUaGUgc3BlYyB0byBjaGVjayBmb3IgaW4gdGhlIG1lc3NhZ2UKCi0tIEB0cmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZXJlIGlzIGEgc3BlYyBtYXRjaAoKZnVuY3Rpb24gdXRpbHMubWF0Y2hlc1NwZWMobXNnLCBzcGVjKQoKICBpZiB0eXBlKHNwZWMpID09ICdmdW5jdGlvbicgdGhlbgoKICAgIHJldHVybiBzcGVjKG1zZykKCiAgLS0gSWYgdGhlIHNwZWMgaXMgYSB0YWJsZSwgc3RlcCB0aHJvdWdoIGV2ZXJ5IGtleS92YWx1ZSBwYWlyIGluIHRoZSBwYXR0ZXJuIGFuZCBjaGVjayBpZiB0aGUgbXNnIG1hdGNoZXMKCiAgLS0gU3VwcG9ydGVkIHBhdHRlcm4gdHlwZXM6CgogIC0tICAgLSBFeGFjdCBzdHJpbmcgbWF0Y2gKCiAgLS0gICAtIEx1YSBnbWF0Y2ggc3RyaW5nCgogIC0tICAgLSAnXycgKHdpbGRjYXJkOiBNZXNzYWdlIGhhcyB0YWcsIGJ1dCBjYW4gYmUgYW55IHZhbHVlKQoKICAtLSAgIC0gRnVuY3Rpb24gZXhlY3V0aW9uIG9uIHRoZSB0YWcsIG9wdGlvbmFsbHkgdXNpbmcgdGhlIG1zZyBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50CgogIC0tICAgLSBUYWJsZSBvZiBwYXR0ZXJucywgd2hlcmUgQU5ZIG9mIHRoZSBzdWItcGF0dGVybnMgbWF0Y2hpbmcgdGhlIHRhZyB3aWxsIHJlc3VsdCBpbiBhIG1hdGNoCgogIGVuZAoKICBpZiB0eXBlKHNwZWMpID09ICd0YWJsZScgdGhlbgoKICAgIGZvciBrZXksIHBhdHRlcm4gaW4gcGFpcnMoc3BlYykgZG8KCiAgICAgIC0tIFRoZSBrZXkgY2FuIGVpdGhlciBiZSBpbiB0aGUgdG9wIGxldmVsIG9mIHRoZSAnbXNnJyBvYmplY3Qgb3Igd2l0aGluIHRoZSAnVGFncycgCgoKCiAgICAgIGxvY2FsIG1zZ1ZhbHVlID0gbXNnW2tleV0KCiAgICAgIGxvY2FsIG1zZ1RhZ1ZhbHVlID0gbXNnWydUYWdzJ10gYW5kIG1zZ1snVGFncyddW2tleV0KCiAgCgogICAgICBpZiBub3QgbXNnVmFsdWUgYW5kIG5vdCBtc2dUYWdWYWx1ZSB0aGVuCgogICAgICAgIHJldHVybiBmYWxzZQoKICAgICAgZW5kCgogIAoKICAgICAgbG9jYWwgbWF0Y2hlc01zZ1ZhbHVlID0gdXRpbHMubWF0Y2hlc1BhdHRlcm4ocGF0dGVybiwgbXNnVmFsdWUsIG1zZykKCiAgICAgIGxvY2FsIG1hdGNoZXNNc2dUYWdWYWx1ZSA9IHV0aWxzLm1hdGNoZXNQYXR0ZXJuKHBhdHRlcm4sIG1zZ1RhZ1ZhbHVlLCBtc2cpCgogIAoKICAgICAgaWYgbm90IG1hdGNoZXNNc2dWYWx1ZSBhbmQgbm90IG1hdGNoZXNNc2dUYWdWYWx1ZSB0aGVuCgogICAgICAgIHJldHVybiBmYWxzZQoKICAgICAgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIHRydWUKCiAgZW5kCgogIAoKICBpZiB0eXBlKHNwZWMpID09ICdzdHJpbmcnIGFuZCBtc2cuQWN0aW9uIGFuZCBtc2cuQWN0aW9uID09IHNwZWMgdGhlbgoKICAgIHJldHVybiB0cnVlCgogIGVuZAoKICByZXR1cm4gZmFsc2UKCmVuZAoKCgotLS0gR2l2ZW4gYSB0YWJsZSwgcmV0dXJucyB3aGV0aGVyIGl0IGlzIGFuIGFycmF5LgoKLS0gQW4gJ2FycmF5JyBpcyBkZWZpbmVkIGFzIGEgdGFibGUgd2l0aCBpbnRlZ2VyIGtleXMgc3RhcnRpbmcgZnJvbSAxIGFuZAoKLS0gaGF2aW5nIG5vIGdhcHMgYmV0d2VlbiB0aGUga2V5cy4KCi0tIEBsZnVuY3Rpb24gaXNBcnJheQoKLS0gQHBhcmFtIHRhYmxlIFRoZSB0YWJsZSB0byBjaGVjawoKLS0gQHRyZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHRhYmxlIGlzIGFuIGFycmF5Cgpsb2NhbCBmdW5jdGlvbiBpc0FycmF5KHRhYmxlKQoKICBpZiB0eXBlKHRhYmxlKSA9PSAidGFibGUiIHRoZW4KCiAgICAgIGxvY2FsIG1heEluZGV4ID0gMAoKICAgICAgZm9yIGssIHYgaW4gcGFpcnModGFibGUpIGRvCgogICAgICAgICAgaWYgdHlwZShrKSB+PSAibnVtYmVyIiBvciBrIDwgMSBvciBtYXRoLmZsb29yKGspIH49IGsgdGhlbgoKICAgICAgICAgICAgICByZXR1cm4gZmFsc2UgLS0gSWYgdGhlcmUncyBhIG5vbi1pbnRlZ2VyIGtleSwgaXQncyBub3QgYW4gYXJyYXkKCiAgICAgICAgICBlbmQKCiAgICAgICAgICBtYXhJbmRleCA9IG1hdGgubWF4KG1heEluZGV4LCBrKQoKICAgICAgZW5kCgogICAgICAtLSBJZiB0aGUgaGlnaGVzdCBudW1lcmljIGluZGV4IGlzIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgZWxlbWVudHMsIGl0J3MgYW4gYXJyYXkKCiAgICAgIHJldHVybiBtYXhJbmRleCA9PSAjdGFibGUKCiAgZW5kCgogIHJldHVybiBmYWxzZQoKZW5kCgoKCi0tLSBDdXJyaWVzIGEgZnVuY3Rpb24uCgotLSBAdHBhcmFtIHtmdW5jdGlvbn0gZm4gVGhlIGZ1bmN0aW9uIHRvIGN1cnJ5CgotLSBAdHBhcmFtIHtudW1iZXJ9IGFyaXR5IFRoZSBhcml0eSBvZiB0aGUgZnVuY3Rpb24KCi0tIEB0cmV0dXJuIHtmdW5jdGlvbn0gVGhlIGN1cnJpZWQgZnVuY3Rpb24KCnV0aWxzLmN1cnJ5ID0gZnVuY3Rpb24gKGZuLCBhcml0eSkKCiAgYXNzZXJ0KHR5cGUoZm4pID09ICJmdW5jdGlvbiIsICJmdW5jdGlvbiBpcyByZXF1aXJlZCBhcyBmaXJzdCBhcmd1bWVudCIpCgogIGFyaXR5ID0gYXJpdHkgb3IgZGVidWcuZ2V0aW5mbyhmbiwgInUiKS5ucGFyYW1zCgogIGlmIGFyaXR5IDwgMiB0aGVuIHJldHVybiBmbiBlbmQKCgoKICByZXR1cm4gZnVuY3Rpb24gKC4uLikKCiAgICBsb2NhbCBhcmdzID0gey4uLn0KCgoKICAgIGlmICNhcmdzID49IGFyaXR5IHRoZW4KCiAgICAgIHJldHVybiBmbih0YWJsZS51bnBhY2soYXJncykpCgogICAgZWxzZQoKICAgICAgcmV0dXJuIHV0aWxzLmN1cnJ5KGZ1bmN0aW9uICguLi4pCgogICAgICAgIHJldHVybiBmbih0YWJsZS51bnBhY2soYXJncyksICAuLi4pCgogICAgICBlbmQsIGFyaXR5IC0gI2FyZ3MpCgogICAgZW5kCgogIGVuZAoKZW5kCgoKCi0tLSBDb25jYXQgdHdvIEFycmF5IFRhYmxlcwoKLS0gQGZ1bmN0aW9uIGNvbmNhdAoKLS0gQHVzYWdlIHV0aWxzLmNvbmNhdChhKShiKQoKLS0gQHVzYWdlIHV0aWxzLmNvbmNhdCh7MSwgMn0pKHszLCA0fSkgLS0+IHsxLCAyLCAzLCA0fQoKLS0gQHRwYXJhbSB7dGFibGU8QXJyYXk+fSBhIFRoZSBmaXJzdCBhcnJheQoKLS0gQHRwYXJhbSB7dGFibGU8QXJyYXk+fSBiIFRoZSBzZWNvbmQgYXJyYXkKCi0tIEB0cmV0dXJuIHt0YWJsZTxBcnJheT59IFRoZSBjb25jYXRlbmF0ZWQgYXJyYXkKCnV0aWxzLmNvbmNhdCA9IHV0aWxzLmN1cnJ5KGZ1bmN0aW9uIChhLCBiKQoKICBhc3NlcnQodHlwZShhKSA9PSAidGFibGUiLCAiZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIGEgdGFibGUgdGhhdCBpcyBhbiBhcnJheSIpCgogIGFzc2VydCh0eXBlKGIpID09ICJ0YWJsZSIsICJzZWNvbmQgYXJndW1lbnQgc2hvdWxkIGJlIGEgdGFibGUgdGhhdCBpcyBhbiBhcnJheSIpCgogIGFzc2VydChpc0FycmF5KGEpLCAiZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIGEgdGFibGUiKQoKICBhc3NlcnQoaXNBcnJheShiKSwgInNlY29uZCBhcmd1bWVudCBzaG91bGQgYmUgYSB0YWJsZSIpCgoKCiAgbG9jYWwgcmVzdWx0ID0ge30KCiAgZm9yIGkgPSAxLCAjYSBkbwoKICAgICAgcmVzdWx0WyNyZXN1bHQgKyAxXSA9IGFbaV0KCiAgZW5kCgogIGZvciBpID0gMSwgI2IgZG8KCiAgICAgIHJlc3VsdFsjcmVzdWx0ICsgMV0gPSBiW2ldCgogIGVuZAoKICByZXR1cm4gcmVzdWx0CgplbmQsIDIpCgoKCi0tLSBBcHBsaWVzIGEgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50IG9mIGEgdGFibGUsIHJlZHVjaW5nIGl0IHRvIGEgc2luZ2xlIHZhbHVlLgoKLS0gQGZ1bmN0aW9uIHV0aWxzLnJlZHVjZQoKLS0gQHVzYWdlIHV0aWxzLnJlZHVjZShmbikoaW5pdGlhbCkodCkKCi0tIEB1c2FnZSB1dGlscy5yZWR1Y2UoZnVuY3Rpb24oYWNjLCB4KSByZXR1cm4gYWNjICsgeCBlbmQpKDApKHsxLCAyLCAzfSkgLS0+IDYKCi0tIEB0cGFyYW0ge2Z1bmN0aW9ufSBmbiBUaGUgZnVuY3Rpb24gdG8gYXBwbHkKCi0tIEBwYXJhbSBpbml0aWFsIFRoZSBpbml0aWFsIHZhbHVlCgotLSBAdHBhcmFtIHt0YWJsZTxBcnJheT59IHQgVGhlIHRhYmxlIHRvIHJlZHVjZQoKLS0gQHJldHVybiBUaGUgcmVkdWNlZCB2YWx1ZQoKdXRpbHMucmVkdWNlID0gdXRpbHMuY3VycnkoZnVuY3Rpb24gKGZuLCBpbml0aWFsLCB0KQoKICBhc3NlcnQodHlwZShmbikgPT0gImZ1bmN0aW9uIiwgImZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyAocmVzdWx0LCB2YWx1ZSwga2V5KSIpCgogIGFzc2VydCh0eXBlKHQpID09ICJ0YWJsZSIgYW5kIGlzQXJyYXkodCksICJ0aGlyZCBhcmd1bWVudCBzaG91bGQgYmUgYSB0YWJsZSB0aGF0IGlzIGFuIGFycmF5IikKCiAgbG9jYWwgcmVzdWx0ID0gaW5pdGlhbAoKICBmb3IgaywgdiBpbiBwYWlycyh0KSBkbwoKICAgIGlmIHJlc3VsdCA9PSBuaWwgdGhlbgoKICAgICAgcmVzdWx0ID0gdgoKICAgIGVsc2UKCiAgICAgIHJlc3VsdCA9IGZuKHJlc3VsdCwgdiwgaykKCiAgICBlbmQKCiAgZW5kCgogIHJldHVybiByZXN1bHQKCmVuZCwgMykKCgoKLS0tIEFwcGxpZXMgYSBmdW5jdGlvbiB0byBlYWNoIGVsZW1lbnQgb2YgYW4gYXJyYXkgdGFibGUsIG1hcHBpbmcgaXQgdG8gYSBuZXcgdmFsdWUuCgotLSBAZnVuY3Rpb24gdXRpbHMubWFwCgotLSBAdXNhZ2UgdXRpbHMubWFwKGZuKSh0KQoKLS0gQHVzYWdlIHV0aWxzLm1hcChmdW5jdGlvbih4KSByZXR1cm4geCAqIDIgZW5kKSh7MSwgMiwgM30pIC0tPiB7MiwgNCwgNn0KCi0tIEB0cGFyYW0ge2Z1bmN0aW9ufSBmbiBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgdG8gZWFjaCBlbGVtZW50CgotLSBAdHBhcmFtIHt0YWJsZTxBcnJheT59IGRhdGEgVGhlIHRhYmxlIHRvIG1hcCBvdmVyCgotLSBAdHJldHVybiB7dGFibGU8QXJyYXk+fSBUaGUgbWFwcGVkIHRhYmxlCgp1dGlscy5tYXAgPSB1dGlscy5jdXJyeShmdW5jdGlvbiAoZm4sIGRhdGEpCgogIGFzc2VydCh0eXBlKGZuKSA9PSAiZnVuY3Rpb24iLCAiZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIGEgdW5hcnkgZnVuY3Rpb24iKQoKICBhc3NlcnQodHlwZShkYXRhKSA9PSAidGFibGUiIGFuZCBpc0FycmF5KGRhdGEpLCAic2Vjb25kIGFyZ3VtZW50IHNob3VsZCBiZSBhbiBBcnJheSIpCgoKCiAgbG9jYWwgZnVuY3Rpb24gbWFwIChyZXN1bHQsIHYsIGspCgogICAgcmVzdWx0W2tdID0gZm4odiwgaykKCiAgICByZXR1cm4gcmVzdWx0CgogIGVuZAoKCgogIHJldHVybiB1dGlscy5yZWR1Y2UobWFwLCB7fSwgZGF0YSkKCmVuZCwgMikKCgoKLS0tIEZpbHRlcnMgYW4gYXJyYXkgdGFibGUgYmFzZWQgb24gYSBwcmVkaWNhdGUgZnVuY3Rpb24uCgotLSBAZnVuY3Rpb24gdXRpbHMuZmlsdGVyCgotLSBAdXNhZ2UgdXRpbHMuZmlsdGVyKGZuKSh0KQoKLS0gQHVzYWdlIHV0aWxzLmZpbHRlcihmdW5jdGlvbih4KSByZXR1cm4geCA+IDEgZW5kKSh7MSwgMiwgM30pIC0tPiB7MiwzfQoKLS0gQHRwYXJhbSB7ZnVuY3Rpb259IGZuIFRoZSBwcmVkaWNhdGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIGFuIGVsZW1lbnQgc2hvdWxkIGJlIGluY2x1ZGVkLgoKLS0gQHRwYXJhbSB7dGFibGU8QXJyYXk+fSBkYXRhIFRoZSBhcnJheSB0byBmaWx0ZXIKCi0tIEB0cmV0dXJuIHt0YWJsZTxBcnJheT59IFRoZSBmaWx0ZXJlZCB0YWJsZQoKdXRpbHMuZmlsdGVyID0gdXRpbHMuY3VycnkoZnVuY3Rpb24gKGZuLCBkYXRhKQoKICBhc3NlcnQodHlwZShmbikgPT0gImZ1bmN0aW9uIiwgImZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHVuYXJ5IGZ1bmN0aW9uIikKCiAgYXNzZXJ0KHR5cGUoZGF0YSkgPT0gInRhYmxlIiBhbmQgaXNBcnJheShkYXRhKSwgInNlY29uZCBhcmd1bWVudCBzaG91bGQgYmUgYW4gQXJyYXkiKQoKCgogIGxvY2FsIGZ1bmN0aW9uIGZpbHRlciAocmVzdWx0LCB2LCBfaykKCiAgICBpZiBmbih2KSB0aGVuCgogICAgICB0YWJsZS5pbnNlcnQocmVzdWx0LCB2KQoKICAgIGVuZAoKICAgIHJldHVybiByZXN1bHQKCiAgZW5kCgoKCiAgcmV0dXJuIHV0aWxzLnJlZHVjZShmaWx0ZXIse30sIGRhdGEpCgplbmQsIDIpCgoKCi0tLSBGaW5kcyB0aGUgZmlyc3QgZWxlbWVudCBpbiBhbiBhcnJheSB0YWJsZSB0aGF0IHNhdGlzZmllcyBhIHByZWRpY2F0ZSBmdW5jdGlvbi4KCi0tIEBmdW5jdGlvbiB1dGlscy5maW5kCgotLSBAdXNhZ2UgdXRpbHMuZmluZChmbikodCkKCi0tIEB1c2FnZSB1dGlscy5maW5kKGZ1bmN0aW9uKHgpIHJldHVybiB4ID4gMSBlbmQpKHsxLCAyLCAzfSkgLS0+IDIKCi0tIEB0cGFyYW0ge2Z1bmN0aW9ufSBmbiBUaGUgcHJlZGljYXRlIGZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiBhbiBlbGVtZW50IHNob3VsZCBiZSBpbmNsdWRlZC4KCi0tIEB0cGFyYW0ge3RhYmxlPEFycmF5Pn0gdCBUaGUgYXJyYXkgdGFibGUgdG8gc2VhcmNoCgotLSBAdHJldHVybiBUaGUgZmlyc3QgZWxlbWVudCB0aGF0IHNhdGlzZmllcyB0aGUgcHJlZGljYXRlIGZ1bmN0aW9uCgp1dGlscy5maW5kID0gdXRpbHMuY3VycnkoZnVuY3Rpb24gKGZuLCB0KQoKICBhc3NlcnQodHlwZShmbikgPT0gImZ1bmN0aW9uIiwgImZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHVuYXJ5IGZ1bmN0aW9uIikKCiAgYXNzZXJ0KHR5cGUodCkgPT0gInRhYmxlIiwgInNlY29uZCBhcmd1bWVudCBzaG91bGQgYmUgYSB0YWJsZSB0aGF0IGlzIGFuIGFycmF5IikKCiAgZm9yIF8sIHYgaW4gcGFpcnModCkgZG8KCiAgICBpZiBmbih2KSB0aGVuCgogICAgICByZXR1cm4gdgoKICAgIGVuZAoKICBlbmQKCmVuZCwgMikKCgoKLS0tIENoZWNrcyBpZiBhIHByb3BlcnR5IG9mIGFuIG9iamVjdCBpcyBlcXVhbCB0byBhIHZhbHVlLgoKLS0gQGZ1bmN0aW9uIHV0aWxzLnByb3BFcQoKLS0gQHVzYWdlIHV0aWxzLnByb3BFcShwcm9wTmFtZSkodmFsdWUpKG9iamVjdCkKCi0tIEB1c2FnZSB1dGlscy5wcm9wRXEoIm5hbWUiKSgiTHVhIikoe25hbWUgPSAiTHVhIn0pIC0tPiB0cnVlCgotLSBAdHBhcmFtIHtzdHJpbmd9IHByb3BOYW1lIFRoZSBwcm9wZXJ0eSBuYW1lIHRvIGNoZWNrCgotLSBAdHBhcmFtIHtzdHJpbmd9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjayBhZ2FpbnN0CgotLSBAdHBhcmFtIHt0YWJsZX0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY2hlY2sKCi0tIEB0cmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBlcXVhbCB0byB0aGUgdmFsdWUKCnV0aWxzLnByb3BFcSA9IHV0aWxzLmN1cnJ5KGZ1bmN0aW9uIChwcm9wTmFtZSwgdmFsdWUsIG9iamVjdCkKCiAgYXNzZXJ0KHR5cGUocHJvcE5hbWUpID09ICJzdHJpbmciLCAiZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIGEgc3RyaW5nIikKCiAgYXNzZXJ0KHR5cGUodmFsdWUpID09ICJzdHJpbmciLCAic2Vjb25kIGFyZ3VtZW50IHNob3VsZCBiZSBhIHN0cmluZyIpCgogIGFzc2VydCh0eXBlKG9iamVjdCkgPT0gInRhYmxlIiwgInRoaXJkIGFyZ3VtZW50IHNob3VsZCBiZSBhIHRhYmxlPG9iamVjdD4iKQoKICAKCiAgcmV0dXJuIG9iamVjdFtwcm9wTmFtZV0gPT0gdmFsdWUKCmVuZCwgMykKCgoKLS0tIFJldmVyc2VzIGFuIGFycmF5IHRhYmxlLgoKLS0gQGZ1bmN0aW9uIHV0aWxzLnJldmVyc2UKCi0tIEB1c2FnZSB1dGlscy5yZXZlcnNlKGRhdGEpCgotLSBAdXNhZ2UgdXRpbHMucmV2ZXJzZSh7MSwgMiwgM30pIC0tPiB7MywgMiwgMX0KCi0tIEB0cGFyYW0ge3RhYmxlPEFycmF5Pn0gZGF0YSBUaGUgYXJyYXkgdGFibGUgdG8gcmV2ZXJzZQoKLS0gQHRyZXR1cm4ge3RhYmxlPEFycmF5Pn0gVGhlIHJldmVyc2VkIGFycmF5IHRhYmxlCgp1dGlscy5yZXZlcnNlID0gZnVuY3Rpb24gKGRhdGEpCgogIGFzc2VydCh0eXBlKGRhdGEpID09ICJ0YWJsZSIsICJhcmd1bWVudCBuZWVkcyB0byBiZSBhIHRhYmxlIHRoYXQgaXMgYW4gYXJyYXkiKQoKICByZXR1cm4gdXRpbHMucmVkdWNlKAoKICAgIGZ1bmN0aW9uIChyZXN1bHQsIHYsIGkpCgogICAgICByZXN1bHRbI2RhdGEgLSBpICsgMV0gPSB2CgogICAgICByZXR1cm4gcmVzdWx0CgogICAgZW5kLAoKICAgIHt9LAoKICAgIGRhdGEKCiAgKQoKZW5kCgoKCi0tLSBDb21wb3NlcyBhIHNlcmllcyBvZiBmdW5jdGlvbnMgaW50byBhIHNpbmdsZSBmdW5jdGlvbi4KCi0tIEBmdW5jdGlvbiB1dGlscy5jb21wb3NlCgotLSBAdXNhZ2UgdXRpbHMuY29tcG9zZShmbjEpKGZuMikoZm4zKSh2KQoKLS0gQHVzYWdlIHV0aWxzLmNvbXBvc2UoZnVuY3Rpb24oeCkgcmV0dXJuIHggKyAxIGVuZCkoZnVuY3Rpb24oeCkgcmV0dXJuIHggKiAyIGVuZCkoMykgLS0+IDcKCi0tIEB0cGFyYW0ge2Z1bmN0aW9ufSAuLi4gVGhlIGZ1bmN0aW9ucyB0byBjb21wb3NlCgotLSBAdHJldHVybiB7ZnVuY3Rpb259IFRoZSBjb21wb3NlZCBmdW5jdGlvbgoKdXRpbHMuY29tcG9zZSA9IHV0aWxzLmN1cnJ5KGZ1bmN0aW9uICguLi4pCgogIGxvY2FsIG11dGF0aW9ucyA9IHV0aWxzLnJldmVyc2Uoey4uLn0pCgoKCiAgcmV0dXJuIGZ1bmN0aW9uICh2KQoKICAgIGxvY2FsIHJlc3VsdCA9IHYKCiAgICBmb3IgXywgZm4gaW4gcGFpcnMobXV0YXRpb25zKSBkbwoKICAgICAgYXNzZXJ0KHR5cGUoZm4pID09ICJmdW5jdGlvbiIsICJlYWNoIGFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgZnVuY3Rpb24iKQoKICAgICAgcmVzdWx0ID0gZm4ocmVzdWx0KQoKICAgIGVuZAoKICAgIHJldHVybiByZXN1bHQKCiAgZW5kCgplbmQsIDIpCgoKCi0tLSBSZXR1cm5zIHRoZSB2YWx1ZSBvZiBhIHByb3BlcnR5IG9mIGFuIG9iamVjdC4KCi0tIEBmdW5jdGlvbiB1dGlscy5wcm9wCgotLSBAdXNhZ2UgdXRpbHMucHJvcChwcm9wTmFtZSkob2JqZWN0KQoKLS0gQHVzYWdlIHV0aWxzLnByb3AoIm5hbWUiKSh7bmFtZSA9ICJMdWEifSkgLS0+ICJMdWEiCgotLSBAdHBhcmFtIHtzdHJpbmd9IHByb3BOYW1lIFRoZSBwcm9wZXJ0eSBuYW1lIHRvIGdldAoKLS0gQHRwYXJhbSB7dGFibGV9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGdldCB0aGUgcHJvcGVydHkgZnJvbQoKLS0gQHRyZXR1cm4gVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eQoKdXRpbHMucHJvcCA9IHV0aWxzLmN1cnJ5KGZ1bmN0aW9uIChwcm9wTmFtZSwgb2JqZWN0KSAKCiAgcmV0dXJuIG9iamVjdFtwcm9wTmFtZV0KCmVuZCwgMikKCgoKLS0tIENoZWNrcyBpZiBhbiBhcnJheSB0YWJsZSBpbmNsdWRlcyBhIHZhbHVlLgoKLS0gQGZ1bmN0aW9uIHV0aWxzLmluY2x1ZGVzCgotLSBAdXNhZ2UgdXRpbHMuaW5jbHVkZXModmFsKSh0KQoKLS0gQHVzYWdlIHV0aWxzLmluY2x1ZGVzKDIpKHsxLCAyLCAzfSkgLS0+IHRydWUKCi0tIEBwYXJhbSB2YWwgVGhlIHZhbHVlIHRvIGNoZWNrIGZvcgoKLS0gQHRwYXJhbSB7dGFibGU8QXJyYXk+fSB0IFRoZSBhcnJheSB0YWJsZSB0byBjaGVjawoKLS0gQHRyZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHZhbHVlIGlzIGluIHRoZSBhcnJheSB0YWJsZQoKdXRpbHMuaW5jbHVkZXMgPSB1dGlscy5jdXJyeShmdW5jdGlvbiAodmFsLCB0KQoKICBhc3NlcnQodHlwZSh0KSA9PSAidGFibGUiLCAiYXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0YWJsZSIpCgogIGFzc2VydChpc0FycmF5KHQpLCAiYXJndW1lbnQgc2hvdWxkIGJlIGEgdGFibGUgdGhhdCBpcyBhbiBhcnJheSIpCgogIHJldHVybiB1dGlscy5maW5kKGZ1bmN0aW9uICh2KSByZXR1cm4gdiA9PSB2YWwgZW5kLCB0KSB+PSBuaWwKCmVuZCwgMikKCgoKLS0tIFJldHVybnMgdGhlIGtleXMgb2YgYSB0YWJsZS4KCi0tIEB1c2FnZSB1dGlscy5rZXlzKHQpCgotLSBAdXNhZ2UgdXRpbHMua2V5cyh7bmFtZSA9ICJMdWEiLCBhZ2UgPSAyNX0pIC0tPiB7Im5hbWUiLCAiYWdlIn0KCi0tIEB0cGFyYW0ge3RhYmxlfSB0IFRoZSB0YWJsZSB0byBnZXQgdGhlIGtleXMgZnJvbQoKLS0gQHRyZXR1cm4ge3RhYmxlPEFycmF5Pn0gVGhlIGtleXMgb2YgdGhlIHRhYmxlCgp1dGlscy5rZXlzID0gZnVuY3Rpb24gKHQpCgogIGFzc2VydCh0eXBlKHQpID09ICJ0YWJsZSIsICJhcmd1bWVudCBuZWVkcyB0byBiZSBhIHRhYmxlIikKCiAgbG9jYWwga2V5cyA9IHt9CgogIGZvciBrZXkgaW4gcGFpcnModCkgZG8KCiAgICB0YWJsZS5pbnNlcnQoa2V5cywga2V5KQoKICBlbmQKCiAgcmV0dXJuIGtleXMKCmVuZAoKCgotLS0gUmV0dXJucyB0aGUgdmFsdWVzIG9mIGEgdGFibGUuCgotLSBAdXNhZ2UgdXRpbHMudmFsdWVzKHQpCgotLSBAdXNhZ2UgdXRpbHMudmFsdWVzKHtuYW1lID0gIkx1YSIsIGFnZSA9IDI1fSkgLS0+IHsiTHVhIiwgMjV9CgotLSBAdHBhcmFtIHt0YWJsZX0gdCBUaGUgdGFibGUgdG8gZ2V0IHRoZSB2YWx1ZXMgZnJvbQoKLS0gQHRyZXR1cm4ge3RhYmxlPEFycmF5Pn0gVGhlIHZhbHVlcyBvZiB0aGUgdGFibGUKCnV0aWxzLnZhbHVlcyA9IGZ1bmN0aW9uICh0KQoKICBhc3NlcnQodHlwZSh0KSA9PSAidGFibGUiLCAiYXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0YWJsZSIpCgogIGxvY2FsIHZhbHVlcyA9IHt9CgogIGZvciBfLCB2YWx1ZSBpbiBwYWlycyh0KSBkbwoKICAgIHRhYmxlLmluc2VydCh2YWx1ZXMsIHZhbHVlKQoKICBlbmQKCiAgcmV0dXJuIHZhbHVlcwoKZW5kCgoKCnJldHVybiB1dGlscwoAAAAAAC0tLSBUaGUgUHJvY2VzcyBsaWJyYXJ5IHByb3ZpZGVzIGFuIGVudmlyb25tZW50IGZvciBtYW5hZ2luZyBhbmQgZXhlY3V0aW5nIHByb2Nlc3NlcyBvbiB0aGUgQU8gbmV0d29yay4gSXQgaW5jbHVkZXMgY2FwYWJpbGl0aWVzIGZvciBoYW5kbGluZyBtZXNzYWdlcywgc3Bhd25pbmcgcHJvY2Vzc2VzLCBhbmQgY3VzdG9taXppbmcgdGhlIGVudmlyb25tZW50IHdpdGggcHJvZ3JhbW1hYmxlIGxvZ2ljIGFuZCBoYW5kbGVycy4gUmV0dXJucyB0aGUgcHJvY2VzcyB0YWJsZS4KCi0tIEBtb2R1bGUgcHJvY2VzcwoKCgotLSBAZGVwZW5kZW5jaWVzCgpsb2NhbCBwcmV0dHkgPSByZXF1aXJlKCcucHJldHR5JykKCmxvY2FsIGJhc2U2NCA9IHJlcXVpcmUoJy5iYXNlNjQnKQoKbG9jYWwganNvbiA9IHJlcXVpcmUoJ2pzb24nKQoKbG9jYWwgY2hhbmNlID0gcmVxdWlyZSgnLmNoYW5jZScpCgpsb2NhbCBjcnlwdG8gPSByZXF1aXJlKCcuY3J5cHRvLmluaXQnKQoKbG9jYWwgY29yb3V0aW5lID0gcmVxdWlyZSgnY29yb3V0aW5lJykKCi0tIHNldCBhbGlhcyBhbyBmb3IgLmFvIGxpYnJhcnkKCmlmIG5vdCBfRy5wYWNrYWdlLmxvYWRlZFsnYW8nXSB0aGVuIF9HLnBhY2thZ2UubG9hZGVkWydhbyddID0gcmVxdWlyZSgnLmFvJykgZW5kCgoKCkNvbG9ycyA9IHsKCiAgcmVkID0gIlwyN1szMW0iLAoKICBncmVlbiA9ICJcMjdbMzJtIiwKCiAgYmx1ZSA9ICJcMjdbMzRtIiwKCiAgcmVzZXQgPSAiXDI3WzBtIiwKCiAgZ3JheSA9ICJcMjdbOTBtIgoKfQoKCgpCZWxsID0gIlx4MDciCgoKCkR1bXAgPSByZXF1aXJlKCcuZHVtcCcpCgpVdGlscyA9IHJlcXVpcmUoJy51dGlscycpCgpIYW5kbGVycyA9IHJlcXVpcmUoJy5oYW5kbGVycycpCgpsb2NhbCBzdHJpbmdpZnkgPSByZXF1aXJlKCIuc3RyaW5naWZ5IikKCmxvY2FsIGFzc2lnbm1lbnQgPSByZXF1aXJlKCcuYXNzaWdubWVudCcpCgphbyA9IG5pbAoKaWYgX0cucGFja2FnZS5sb2FkZWRbJy5hbyddIHRoZW4KCiAgYW8gPSByZXF1aXJlKCcuYW8nKQoKZWxzZWlmIF9HLnBhY2thZ2UubG9hZGVkWydhbyddIHRoZW4KCiAgYW8gPSByZXF1aXJlKCdhbycpCgplbmQKCi0tIEltcGxlbWVudCBhc3NpZ25hYmxlIHBvbHlmaWxscyBvbiBfYW8KCmFzc2lnbm1lbnQuaW5pdChhbykKCgoKLS0tIFRoZSBwcm9jZXNzIHRhYmxlCgotLSBAdGFibGUgcHJvY2VzcwoKLS0gQGZpZWxkIF92ZXJzaW9uIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgcHJvY2VzcwoKCgpsb2NhbCBwcm9jZXNzID0geyBfdmVyc2lvbiA9ICIyLjAuMyIgfQoKLS0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1lc3NhZ2VzIHRvIHN0b3JlIGluIHRoZSBpbmJveAoKbG9jYWwgbWF4SW5ib3hDb3VudCA9IDEwMDAwCgoKCi0tIHdyYXAgYW8uc2VuZCBhbmQgYW8uc3Bhd24gZm9yIG1hZ2ljIHRhYmxlCgpsb2NhbCBhb3NlbmQgPSBhby5zZW5kCgpsb2NhbCBhb3NwYXduID0gYW8uc3Bhd24KCgoKYW8uc2VuZCA9IGZ1bmN0aW9uIChtc2cpCgogIGlmIG1zZy5EYXRhIGFuZCB0eXBlKG1zZy5EYXRhKSA9PSAndGFibGUnIHRoZW4KCiAgICBtc2dbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzb24nCgogICAgbXNnLkRhdGEgPSByZXF1aXJlKCdqc29uJykuZW5jb2RlKG1zZy5EYXRhKQoKICBlbmQKCiAgcmV0dXJuIGFvc2VuZChtc2cpCgplbmQKCmFvLnNwYXduID0gZnVuY3Rpb24gKG1vZHVsZSwgbXNnKSAKCiAgaWYgbXNnLkRhdGEgYW5kIHR5cGUobXNnLkRhdGEpID09ICd0YWJsZScgdGhlbgoKICAgIG1zZ1snQ29udGVudC1UeXBlJ10gPSAnYXBwbGljYXRpb24vanNvbicKCiAgICBtc2cuRGF0YSA9IHJlcXVpcmUoJ2pzb24nKS5lbmNvZGUobXNnLkRhdGEpCgogIGVuZAoKICByZXR1cm4gYW9zcGF3bihtb2R1bGUsIG1zZykKCmVuZAoKCgotLS0gUmVtb3ZlIHRoZSBsYXN0IHRocmVlIGxpbmVzIGZyb20gYSBzdHJpbmcKCi0tIEBsZnVuY3Rpb24gcmVtb3ZlTGFzdFRocmVlTGluZXMKCi0tIEB0cGFyYW0ge3N0cmluZ30gaW5wdXQgVGhlIHN0cmluZyB0byByZW1vdmUgdGhlIGxhc3QgdGhyZWUgbGluZXMgZnJvbQoKLS0gQHRyZXR1cm4ge3N0cmluZ30gVGhlIHN0cmluZyB3aXRoIHRoZSBsYXN0IHRocmVlIGxpbmVzIHJlbW92ZWQKCmxvY2FsIGZ1bmN0aW9uIHJlbW92ZUxhc3RUaHJlZUxpbmVzKGlucHV0KQoKICBsb2NhbCBsaW5lcyA9IHt9CgogIGZvciBsaW5lIGluIGlucHV0OmdtYXRjaCgiKFteXG5dKilcbj8iKSBkbwoKICAgICAgdGFibGUuaW5zZXJ0KGxpbmVzLCBsaW5lKQoKICBlbmQKCgoKICAtLSBSZW1vdmUgdGhlIGxhc3QgdGhyZWUgbGluZXMKCiAgZm9yIGkgPSAxLCAzIGRvCgogICAgICB0YWJsZS5yZW1vdmUobGluZXMpCgogIGVuZAoKCgogIC0tIENvbmNhdGVuYXRlIHRoZSByZW1haW5pbmcgbGluZXMKCiAgcmV0dXJuIHRhYmxlLmNvbmNhdChsaW5lcywgIlxuIikKCmVuZAoKCgotLS0gSW5zZXJ0IGEgbWVzc2FnZSBpbnRvIHRoZSBpbmJveCBhbmQgbWFuYWdlIG92ZXJmbG93CgotLSBAbGZ1bmN0aW9uIGluc2VydEluYm94CgotLSBAdHBhcmFtIHt0YWJsZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGluc2VydCBpbnRvIHRoZSBpbmJveAoKbG9jYWwgZnVuY3Rpb24gaW5zZXJ0SW5ib3gobXNnKQoKICB0YWJsZS5pbnNlcnQoSW5ib3gsIG1zZykKCiAgaWYgI0luYm94ID4gbWF4SW5ib3hDb3VudCB0aGVuCgogICAgbG9jYWwgb3ZlcmZsb3cgPSAjSW5ib3ggLSBtYXhJbmJveENvdW50CgogICAgZm9yIGkgPSAxLG92ZXJmbG93IGRvCgogICAgICB0YWJsZS5yZW1vdmUoSW5ib3gsIDEpCgogICAgZW5kCgogIGVuZAoKZW5kCgoKCi0tLSBGaW5kIGFuIG9iamVjdCBpbiBhbiBhcnJheSBieSBhIGdpdmVuIGtleSBhbmQgdmFsdWUKCi0tIEBsZnVuY3Rpb24gZmluZE9iamVjdAoKLS0gQHRwYXJhbSB7dGFibGV9IGFycmF5IFRoZSBhcnJheSB0byBzZWFyY2ggdGhyb3VnaAoKLS0gQHRwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSB0byBzZWFyY2ggZm9yCgotLSBAdHBhcmFtIHthbnl9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yCgpsb2NhbCBmdW5jdGlvbiBmaW5kT2JqZWN0KGFycmF5LCBrZXksIHZhbHVlKQoKICBmb3IgaSwgb2JqZWN0IGluIGlwYWlycyhhcnJheSkgZG8KCiAgICBpZiBvYmplY3Rba2V5XSA9PSB2YWx1ZSB0aGVuCgogICAgICByZXR1cm4gb2JqZWN0CgogICAgZW5kCgogIGVuZAoKICByZXR1cm4gbmlsCgplbmQKCgoKLS0tIENvbnZlcnQgYSBtZXNzYWdlJ3MgdGFncyB0byBhIHRhYmxlIG9mIGtleS12YWx1ZSBwYWlycwoKLS0gQGZ1bmN0aW9uIFRhYgoKLS0gQHRwYXJhbSB7dGFibGV9IG1zZyBUaGUgbWVzc2FnZSBjb250YWluaW5nIHRhZ3MKCi0tIEB0cmV0dXJuIHt0YWJsZX0gQSB0YWJsZSB3aXRoIHRhZyBuYW1lcyBhcyBrZXlzIGFuZCB0aGVpciB2YWx1ZXMKCmZ1bmN0aW9uIFRhYihtc2cpCgogIGxvY2FsIGlucHV0cyA9IHt9CgogIGZvciBfLCBvIGluIGlwYWlycyhtc2cuVGFncykgZG8KCiAgICBpZiBub3QgaW5wdXRzW28ubmFtZV0gdGhlbgoKICAgICAgaW5wdXRzW28ubmFtZV0gPSBvLnZhbHVlCgogICAgZW5kCgogIGVuZAoKICByZXR1cm4gaW5wdXRzCgplbmQKCgoKLS0tIEdlbmVyYXRlIGEgcHJvbXB0IHN0cmluZyBmb3IgdGhlIGN1cnJlbnQgcHJvY2VzcwoKLS0gQGZ1bmN0aW9uIFByb21wdAoKLS0gQHRyZXR1cm4ge3N0cmluZ30gVGhlIGN1c3RvbSBjb21tYW5kIHByb21wdCBzdHJpbmcKCmZ1bmN0aW9uIFByb21wdCgpCgogIHJldHVybiBDb2xvcnMuZ3JlZW4gLi4gTmFtZSAuLiBDb2xvcnMuZ3JheQoKICAgIC4uICJAIiAuLiBDb2xvcnMuYmx1ZSAuLiAiYW9zLSIgLi4gcHJvY2Vzcy5fdmVyc2lvbiAuLiBDb2xvcnMuZ3JheQoKICAgIC4uICJbSW5ib3g6IiAuLiBDb2xvcnMucmVkIC4uIHRvc3RyaW5nKCNJbmJveCkgLi4gQ29sb3JzLmdyYXkKCiAgICAuLiAiXSIgLi4gQ29sb3JzLnJlc2V0IC4uICI+ICIKCmVuZAoKCgotLS0gUHJpbnQgYSB2YWx1ZSwgZm9ybWF0dGluZyB0YWJsZXMgYW5kIGNvbnZlcnRpbmcgbm9uLXN0cmluZyB0eXBlcwoKLS0gQGZ1bmN0aW9uIHByaW50CgotLSBAdHBhcmFtIHthbnl9IGEgVGhlIHZhbHVlIHRvIHByaW50CgpmdW5jdGlvbiBwcmludChhKQoKICBpZiB0eXBlKGEpID09ICJ0YWJsZSIgdGhlbgoKICAgIGEgPSBzdHJpbmdpZnkuZm9ybWF0KGEpCgogIGVuZAoKICAtLVtbCgpJbiBvcmRlciB0byBwcmludCBub24gc3RyaW5nIHR5cGVzIHdlIG5lZWQgdG8gY29udmVydCB0byBzdHJpbmcKCiAgXV0KCiAgaWYgdHlwZShhKSA9PSAiYm9vbGVhbiIgdGhlbgoKICAgIGEgPSBDb2xvcnMuYmx1ZSAuLiB0b3N0cmluZyhhKSAuLiBDb2xvcnMucmVzZXQKCiAgZW5kCgogIGlmIHR5cGUoYSkgPT0gIm5pbCIgdGhlbgoKICAgIGEgPSBDb2xvcnMucmVkIC4uIHRvc3RyaW5nKGEpIC4uIENvbG9ycy5yZXNldAoKICBlbmQKCiAgaWYgdHlwZShhKSA9PSAibnVtYmVyIiB0aGVuCgogICAgYSA9IENvbG9ycy5ncmVlbiAuLiB0b3N0cmluZyhhKSAuLiBDb2xvcnMucmVzZXQKCiAgZW5kCgogIAoKICBsb2NhbCBkYXRhID0gYQoKICBpZiBhby5vdXRib3guT3V0cHV0LmRhdGEgdGhlbgoKICAgIGRhdGEgPSAgYW8ub3V0Ym94Lk91dHB1dC5kYXRhIC4uICJcbiIgLi4gYQoKICBlbmQKCiAgYW8ub3V0Ym94Lk91dHB1dCA9IHsgZGF0YSA9IGRhdGEsIHByb21wdCA9IFByb21wdCgpLCBwcmludCA9IHRydWUgfQoKCgogIC0tIE9ubHkgc3VwcG9ydGVkIGZvciBuZXdlciB2ZXJzaW9uIG9mIEFPUwoKICBpZiBIQU5ETEVSX1BSSU5UX0xPR1MgdGhlbiAKCiAgICB0YWJsZS5pbnNlcnQoSEFORExFUl9QUklOVF9MT0dTLCBhKQoKICAgIHJldHVybiBuaWwKCiAgZW5kCgoKCiAgcmV0dXJuIHRvc3RyaW5nKGEpCgplbmQKCgoKLS0tIFNlbmQgYSBtZXNzYWdlIHRvIGEgdGFyZ2V0IHByb2Nlc3MKCi0tIEBmdW5jdGlvbiBTZW5kCgotLSBAdHBhcmFtIHt0YWJsZX0gbXNnIFRoZSBtZXNzYWdlIHRvIHNlbmQKCmZ1bmN0aW9uIFNlbmQobXNnKQoKICBpZiBub3QgbXNnLlRhcmdldCB0aGVuCgogICAgcHJpbnQoIldBUk46IE5vIHRhcmdldCBzcGVjaWZpZWQgZm9yIG1lc3NhZ2UuIERhdGEgd2lsbCBiZSBzdG9yZWQsIGJ1dCBubyBwcm9jZXNzIHdpbGwgcmVjZWl2ZSBpdC4iKQoKICBlbmQKCiAgbG9jYWwgcmVzdWx0ID0gYW8uc2VuZChtc2cpCgogIHJldHVybiB7CgogICAgb3V0cHV0ID0gIk1lc3NhZ2UgYWRkZWQgdG8gb3V0Ym94IiwKCiAgICByZWNlaXZlID0gcmVzdWx0LnJlY2VpdmUsCgogICAgb25SZXBseSA9IHJlc3VsdC5vblJlcGx5CgogIH0KCmVuZAoKCgotLS0gU3Bhd24gYSBuZXcgcHJvY2VzcwoKLS0gQGZ1bmN0aW9uIFNwYXduCgotLSBAdHBhcmFtIHsuLi5hbnl9IGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBzcGF3biBmdW5jdGlvbgoKZnVuY3Rpb24gU3Bhd24oLi4uKQoKICBsb2NhbCBtb2R1bGUsIHNwYXduTXNnCgoKCiAgaWYgc2VsZWN0KCIjIiwgLi4uKSA9PSAxIHRoZW4KCiAgICBzcGF3bk1zZyA9IHNlbGVjdCgxLCAuLi4pCgogICAgbW9kdWxlID0gYW8uX21vZHVsZQoKICBlbHNlCgogICAgbW9kdWxlID0gc2VsZWN0KDEsIC4uLikKCiAgICBzcGF3bk1zZyA9IHNlbGVjdCgyLCAuLi4pCgogIGVuZAoKCgogIGlmIG5vdCBzcGF3bk1zZyB0aGVuCgogICAgc3Bhd25Nc2cgPSB7fQoKICBlbmQKCiAgbG9jYWwgcmVzdWx0ID0gYW8uc3Bhd24obW9kdWxlLCBzcGF3bk1zZykKCiAgcmV0dXJuIHsKCiAgICBvdXRwdXQgPSAiU3Bhd24gcHJvY2VzcyByZXF1ZXN0IGFkZGVkIHRvIG91dGJveCIsCgogICAgYWZ0ZXIgPSByZXN1bHQuYWZ0ZXIsCgogICAgcmVjZWl2ZSA9IHJlc3VsdC5yZWNlaXZlCgogIH0KCmVuZAoKCgotLS0gQ2FsbHMgSGFuZGxlcnMucmVjZWl2ZSB3aXRoIHRoZSBwcm92aWRlZCBwYXR0ZXJuIGNyaXRlcmlhLCBhd2FpdGluZyBhIG1lc3NhZ2UgdGhhdCBtYXRjaGVzIHRoZSBjcml0ZXJpYS4KCi0tIEBmdW5jdGlvbiBSZWNlaXZlCgotLSBAdHBhcmFtIHt0YWJsZX0gbWF0Y2ggVGhlIHBhdHRlcm4gY3JpdGVyaWEgZm9yIHRoZSBtZXNzYWdlCgotLSBAdHJldHVybiB7YW55fSBUaGUgcmVzdWx0IG9mIHRoZSBtZXNzYWdlIGhhbmRsaW5nCgpmdW5jdGlvbiBSZWNlaXZlKG1hdGNoKQoKICByZXR1cm4gSGFuZGxlcnMucmVjZWl2ZShtYXRjaCkKCmVuZAoKCgotLS0gQXNzaWducyBiYXNlZCBvbiB0aGUgYXNzaWdubWVudCBwYXNzZWQuCgotLSBAZnVuY3Rpb24gQXNzaWduCgotLSBAdHBhcmFtIHt0YWJsZX0gYXNzaWdubWVudCBUaGUgYXNzaWdubWVudCB0byBiZSBtYWRlCgpmdW5jdGlvbiBBc3NpZ24oYXNzaWdubWVudCkKCiAgaWYgbm90IGFvLmFzc2lnbiB0aGVuCgogICAgcHJpbnQoIkFzc2lnbiBpcyBub3QgaW1wbGVtZW50ZWQuIikKCiAgICByZXR1cm4gIkFzc2lnbiBpcyBub3QgaW1wbGVtZW50ZWQuIgoKICBlbmQKCiAgYW8uYXNzaWduKGFzc2lnbm1lbnQpCgogIHByaW50KCJBc3NpZ25tZW50IGFkZGVkIHRvIG91dGJveC4iKQoKICByZXR1cm4gJ0Fzc2lnbm1lbnQgYWRkZWQgdG8gb3V0Ym94LicKCmVuZAoKCgpTZWVkZWQgPSBTZWVkZWQgb3IgZmFsc2UKCgoKLS0tIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgc2VlZCB2YWx1ZQoKLS0gQGxmdW5jdGlvbiBzdHJpbmdUb1NlZWQKCi0tIEB0cGFyYW0ge3N0cmluZ30gcyBUaGUgc3RyaW5nIHRvIGNvbnZlcnQgdG8gYSBzZWVkCgotLSBAdHJldHVybiB7bnVtYmVyfSBUaGUgc2VlZCB2YWx1ZQoKLS0gdGhpcyBpcyBhIHRlbXBvcmFyeSBhcHByb2FjaC4uLgoKbG9jYWwgZnVuY3Rpb24gc3RyaW5nVG9TZWVkKHMpCgogIGxvY2FsIHNlZWQgPSAwCgogIGZvciBpID0gMSwgI3MgZG8KCiAgICAgIGxvY2FsIGNoYXIgPSBzdHJpbmcuYnl0ZShzLCBpKQoKICAgICAgc2VlZCA9IHNlZWQgKyBjaGFyCgogIGVuZAoKICByZXR1cm4gc2VlZAoKZW5kCgoKCi0tLSBJbml0aWFsaXplcyBvciB1cGRhdGVzIHRoZSBzdGF0ZSBvZiB0aGUgcHJvY2VzcyBiYXNlZCBvbiB0aGUgaW5jb21pbmcgbWVzc2FnZSBhbmQgZW52aXJvbm1lbnQuCgotLSBAbGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0ZQoKLS0gQHRwYXJhbSB7dGFibGV9IG1zZyBUaGUgbWVzc2FnZSB0byBpbml0aWFsaXplIHRoZSBzdGF0ZSB3aXRoCgotLSBAdHBhcmFtIHt0YWJsZX0gZW52IFRoZSBlbnZpcm9ubWVudCB0byBpbml0aWFsaXplIHRoZSBzdGF0ZSB3aXRoCgpsb2NhbCBmdW5jdGlvbiBpbml0aWFsaXplU3RhdGUobXNnLCBlbnYpCgogIGlmIG5vdCBTZWVkZWQgdGhlbgoKICAgIGNoYW5jZS5zZWVkKHRvbnVtYmVyKG1zZ1snQmxvY2stSGVpZ2h0J10gLi4gc3RyaW5nVG9TZWVkKG1zZy5Pd25lciAuLiBtc2cuTW9kdWxlIC4uIG1zZy5JZCkpKQoKICAgIG1hdGgucmFuZG9tID0gZnVuY3Rpb24gKC4uLikKCiAgICAgIGxvY2FsIGFyZ3MgPSB7Li4ufQoKICAgICAgbG9jYWwgbiA9ICNhcmdzCgogICAgICBpZiBuID09IDAgdGhlbgoKICAgICAgICByZXR1cm4gY2hhbmNlLnJhbmRvbSgpCgogICAgICBlbmQKCiAgICAgIGlmIG4gPT0gMSB0aGVuCgogICAgICAgIHJldHVybiBjaGFuY2UuaW50ZWdlcigxLCBhcmdzWzFdKQoKICAgICAgZW5kCgogICAgICBpZiBuID09IDIgdGhlbgoKICAgICAgICByZXR1cm4gY2hhbmNlLmludGVnZXIoYXJnc1sxXSwgYXJnc1syXSkKCiAgICAgIGVuZAoKICAgICAgcmV0dXJuIGNoYW5jZS5yYW5kb20oKQoKICAgIGVuZAoKICAgIFNlZWRlZCA9IHRydWUKCiAgZW5kCgogIEVycm9ycyA9IEVycm9ycyBvciB7fQoKICBJbmJveCA9IEluYm94IG9yIHt9CgoKCiAgLS0gT3duZXIgc2hvdWxkIG9ubHkgYmUgYXNzaWdlZCBvbmNlCgogIGlmIGVudi5Qcm9jZXNzLklkID09IG1zZy5JZCBhbmQgbm90IE93bmVyIHRoZW4KCiAgICBsb2NhbCBfZnJvbSA9IGZpbmRPYmplY3QoZW52LlByb2Nlc3MuVGFncywgIm5hbWUiLCAiRnJvbS1Qcm9jZXNzIikKCiAgICBpZiBfZnJvbSB0aGVuCgogICAgICBPd25lciA9IF9mcm9tLnZhbHVlCgogICAgZWxzZQoKICAgICAgT3duZXIgPSBtc2cuRnJvbQoKICAgIGVuZAoKICBlbmQKCgoKICBpZiBub3QgTmFtZSB0aGVuCgogICAgbG9jYWwgYW9zTmFtZSA9IGZpbmRPYmplY3QoZW52LlByb2Nlc3MuVGFncywgIm5hbWUiLCAiTmFtZSIpCgogICAgaWYgYW9zTmFtZSB0aGVuCgogICAgICBOYW1lID0gYW9zTmFtZS52YWx1ZQoKICAgIGVsc2UKCiAgICAgIE5hbWUgPSAnYW9zJwoKICAgIGVuZAoKICBlbmQKCgoKZW5kCgoKCi0tLSBQcmludHMgdGhlIHZlcnNpb24gb2YgdGhlIHByb2Nlc3MKCi0tIEBmdW5jdGlvbiBWZXJzaW9uCgpmdW5jdGlvbiBWZXJzaW9uKCkKCiAgcHJpbnQoInZlcnNpb246ICIgLi4gcHJvY2Vzcy5fdmVyc2lvbikKCmVuZAoKCgotLS0gTWFpbiBoYW5kbGVyIGZvciBwcm9jZXNzaW5nIGluY29taW5nIG1lc3NhZ2VzLiBJdCBpbml0aWFsaXplcyB0aGUgc3RhdGUsIHByb2Nlc3NlcyBjb21tYW5kcywgYW5kIGhhbmRsZXMgbWVzc2FnZSBldmFsdWF0aW9uIGFuZCBpbmJveCBtYW5hZ2VtZW50LgoKLS0gQGZ1bmN0aW9uIGhhbmRsZQoKLS0gQHRwYXJhbSB7dGFibGV9IG1zZyBUaGUgbWVzc2FnZSB0byBoYW5kbGUKCi0tIEB0cGFyYW0ge3RhYmxlfSBfIFRoZSBlbnZpcm9ubWVudCB0byBoYW5kbGUgdGhlIG1lc3NhZ2UgaW4KCmZ1bmN0aW9uIHByb2Nlc3MuaGFuZGxlKG1zZywgXykKCiAgbG9jYWwgZW52ID0gbmlsCgogIGlmIF8uUHJvY2VzcyB0aGVuCgogICAgZW52ID0gXwoKICBlbHNlCgogICAgZW52ID0gXy5lbnYKCiAgZW5kCgogIAoKICBhby5pbml0KGVudikKCiAgLS0gcmVsb2NhdGUgY3VzdG9tIHRhZ3MgdG8gcm9vdCBtZXNzYWdlCgogIG1zZyA9IGFvLm5vcm1hbGl6ZShtc2cpCgogIC0tIHNldCBwcm9jZXNzIGlkCgogIGFvLmlkID0gYW8uZW52LlByb2Nlc3MuSWQKCiAgaW5pdGlhbGl6ZVN0YXRlKG1zZywgYW8uZW52KQoKICBIQU5ETEVSX1BSSU5UX0xPR1MgPSB7fQoKICAKCiAgLS0gc2V0IG9zLnRpbWUgdG8gcmV0dXJuIG1zZy5UaW1lc3RhbXAKCiAgb3MudGltZSA9IGZ1bmN0aW9uICgpIHJldHVybiBtc2cuVGltZXN0YW1wIGVuZAoKCgogIC0tIHRhZ2lmeSBtc2cKCiAgbXNnLlRhZ0FycmF5ID0gbXNnLlRhZ3MKCiAgbXNnLlRhZ3MgPSBUYWIobXNnKQoKICAtLSB0YWdpZnkgUHJvY2VzcwoKICBhby5lbnYuUHJvY2Vzcy5UYWdBcnJheSA9IGFvLmVudi5Qcm9jZXNzLlRhZ3MKCiAgYW8uZW52LlByb2Nlc3MuVGFncyA9IFRhYihhby5lbnYuUHJvY2VzcykKCiAgLS0gbWFnaWMgdGFibGUgLSBpZiBDb250ZW50LVR5cGUgPT0gYXBwbGljYXRpb24vanNvbiAtIGRlY29kZSBtc2cuRGF0YSB0byBhIFRhYmxlCgogIGlmIG1zZy5UYWdzWydDb250ZW50LVR5cGUnXSBhbmQgbXNnLlRhZ3NbJ0NvbnRlbnQtVHlwZSddID09ICdhcHBsaWNhdGlvbi9qc29uJyB0aGVuCgogICAgbXNnLkRhdGEgPSByZXF1aXJlKCdqc29uJykuZGVjb2RlKG1zZy5EYXRhIG9yICJ7fSIpCgogIGVuZAoKICAtLSBpbml0IEVycm9ycwoKICBFcnJvcnMgPSBFcnJvcnMgb3Ige30KCiAgLS0gY2xlYXIgT3V0Ym94CgogIGFvLmNsZWFyT3V0Ym94KCkKCgoKICAtLSBPbmx5IHRydXN0IG1lc3NhZ2VzIGZyb20gYSBzaWduZWQgb3duZXIgb3IgYW4gQXV0aG9yaXR5CgogIGlmIG1zZy5Gcm9tIH49IG1zZy5Pd25lciBhbmQgbm90IGFvLmlzVHJ1c3RlZChtc2cpIHRoZW4KCiAgICBpZiBtc2cuRnJvbSB+PSBhby5pZCB0aGVuCgogICAgICBTZW5kKHtUYXJnZXQgPSBtc2cuRnJvbSwgRGF0YSA9ICJNZXNzYWdlIGlzIG5vdCB0cnVzdGVkIGJ5IHRoaXMgcHJvY2VzcyEifSkKCiAgICBlbmQKCiAgICBwcmludCgnTWVzc2FnZSBpcyBub3QgdHJ1c3RlZCEgRnJvbTogJyAuLiBtc2cuRnJvbSAuLiAnIC0gT3duZXI6ICcgLi4gbXNnLk93bmVyKQoKICAgIHJldHVybiBhby5yZXN1bHQoeyB9KSAKCiAgZW5kCgoKCiAgaWYgYW8uaXNBc3NpZ25tZW50KG1zZykgYW5kIG5vdCBhby5pc0Fzc2lnbmFibGUobXNnKSB0aGVuCgogICAgaWYgbXNnLkZyb20gfj0gYW8uaWQgdGhlbgoKICAgICAgU2VuZCh7VGFyZ2V0ID0gbXNnLkZyb20sIERhdGEgPSAiQXNzaWdubWVudCBpcyBub3QgdHJ1c3RlZCBieSB0aGlzIHByb2Nlc3MhIn0pCgogICAgZW5kCgogICAgcHJpbnQoJ0Fzc2lnbm1lbnQgaXMgbm90IHRydXN0ZWQhIEZyb206ICcgLi4gbXNnLkZyb20gLi4gJyAtIE93bmVyOiAnIC4uIG1zZy5Pd25lcikKCiAgICByZXR1cm4gYW8ucmVzdWx0KHsgfSkKCiAgZW5kCgoKCiAgSGFuZGxlcnMuYWRkKCJfZXZhbCIsCgogICAgZnVuY3Rpb24gKG1zZykKCiAgICAgIHJldHVybiBtc2cuQWN0aW9uID09ICJFdmFsIiBhbmQgT3duZXIgPT0gbXNnLkZyb20KCiAgICBlbmQsCgogICAgcmVxdWlyZSgnLmV2YWwnKShhbykKCiAgKQoKCgogIC0tIEFkZGVkIGZvciBhb3A2IGJvb3QgbG9hZGVyCgogIC0tIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3Blcm1hd2ViL2Fvcy9pc3N1ZXMvMzQyCgogIC0tIE9ubHkgcnVuIGJvb3Rsb2FkZXIgd2hlbiBQcm9jZXNzIE1lc3NhZ2UgaXMgRmlyc3QgTWVzc2FnZQoKICBpZiBlbnYuUHJvY2Vzcy5JZCA9PSBtc2cuSWQgdGhlbgoKICAgIEhhbmRsZXJzLm9uY2UoIl9ib290IiwKCiAgICAgIGZ1bmN0aW9uIChtc2cpCgogICAgICAgIHJldHVybiBtc2cuVGFncy5UeXBlID09ICJQcm9jZXNzIiBhbmQgT3duZXIgPT0gbXNnLkZyb20gCgogICAgICBlbmQsCgogICAgICByZXF1aXJlKCcuYm9vdCcpKGFvKQoKICAgICkKCiAgZW5kCgoKCiAgSGFuZGxlcnMuYXBwZW5kKCJfZGVmYXVsdCIsIGZ1bmN0aW9uICgpIHJldHVybiB0cnVlIGVuZCwgcmVxdWlyZSgnLmRlZmF1bHQnKShpbnNlcnRJbmJveCkpCgoKCiAgLS0gY2FsbCBldmFsdWF0ZSBmcm9tIGhhbmRsZXJzIHBhc3NpbmcgZW52CgogIG1zZy5yZXBseSA9CgogICAgZnVuY3Rpb24ocmVwbHlNc2cpCgogICAgICByZXBseU1zZy5UYXJnZXQgPSBtc2dbIlJlcGx5LVRvIl0gb3IgKHJlcGx5TXNnLlRhcmdldCBvciBtc2cuRnJvbSkKCiAgICAgIHJlcGx5TXNnWyJYLVJlZmVyZW5jZSJdID0gbXNnWyJYLVJlZmVyZW5jZSJdIG9yIG1zZy5SZWZlcmVuY2UKCiAgICAgIHJlcGx5TXNnWyJYLU9yaWdpbiJdID0gbXNnWyJYLU9yaWdpbiJdIG9yIG5pbAoKCgogICAgICByZXR1cm4gYW8uc2VuZChyZXBseU1zZykKCiAgICBlbmQKCiAgCgogIG1zZy5mb3J3YXJkID0KCiAgICBmdW5jdGlvbih0YXJnZXQsIGZvcndhcmRNc2cpCgogICAgICAtLSBDbG9uZSB0aGUgbWVzc2FnZSBhbmQgYWRkIGZvcndhcmRNc2cgdGFncwoKICAgICAgbG9jYWwgbmV3TXNnID0gIGFvLnNhbml0aXplKG1zZykKCiAgICAgIGZvcndhcmRNc2cgPSBmb3J3YXJkTXNnIG9yIHt9CgoKCiAgICAgIGZvciBrLHYgaW4gcGFpcnMoZm9yd2FyZE1zZykgZG8KCiAgICAgICAgbmV3TXNnW2tdID0gdgoKICAgICAgZW5kCgoKCiAgICAgIC0tIFNldCBmb3J3YXJkLXNwZWNpZmljIHRhZ3MKCiAgICAgIG5ld01zZy5UYXJnZXQgPSB0YXJnZXQKCiAgICAgIG5ld01zZ1siUmVwbHktVG8iXSA9IG1zZ1siUmVwbHktVG8iXSBvciBtc2cuRnJvbQoKICAgICAgbmV3TXNnWyJYLVJlZmVyZW5jZSJdID0gbXNnWyJYLVJlZmVyZW5jZSJdIG9yIG1zZy5SZWZlcmVuY2UKCiAgICAgIG5ld01zZ1siWC1PcmlnaW4iXSA9IG1zZ1siWC1PcmlnaW4iXSBvciBtc2cuRnJvbQoKICAgICAgLS0gY2xlYXIgZnVuY3Rpb25zCgogICAgICBuZXdNc2cucmVwbHkgPSBuaWwKCiAgICAgIG5ld01zZy5mb3J3YXJkID0gbmlsIAoKICAgICAgCgogICAgICBhby5zZW5kKG5ld01zZykKCiAgICBlbmQKCgoKICBsb2NhbCBjbyA9IGNvcm91dGluZS5jcmVhdGUoCgogICAgZnVuY3Rpb24oKQoKICAgICAgcmV0dXJuIHBjYWxsKEhhbmRsZXJzLmV2YWx1YXRlLCBtc2csIGVudikKCiAgICBlbmQKCiAgKQoKICBsb2NhbCBfLCBzdGF0dXMsIHJlc3VsdCA9IGNvcm91dGluZS5yZXN1bWUoY28pCgoKCiAgLS0gTWFrZSBzdXJlIHdlIGhhdmUgYSByZWZlcmVuY2UgdG8gdGhlIGNvcm91dGluZSBpZiBpdCB3aWxsIHdha2UgdXAuCgogIC0tIFNpbXVsdGFuZW91c2x5LCBwcnVuZSBhbnkgZGVhZCBjb3JvdXRpbmVzIHNvIHRoYXQgdGhleSBjYW4gYmUKCiAgLS0gZnJlZWQgYnkgdGhlIGdhcmJhZ2UgY29sbGVjdG9yLgoKICB0YWJsZS5pbnNlcnQoSGFuZGxlcnMuY29yb3V0aW5lcywgY28pCgogIGZvciBpLCB4IGluIGlwYWlycyhIYW5kbGVycy5jb3JvdXRpbmVzKSBkbwoKICAgIGlmIGNvcm91dGluZS5zdGF0dXMoeCkgPT0gImRlYWQiIHRoZW4KCiAgICAgIHRhYmxlLnJlbW92ZShIYW5kbGVycy5jb3JvdXRpbmVzLCBpKQoKICAgIGVuZAoKICBlbmQKCgoKICBpZiBub3Qgc3RhdHVzIHRoZW4KCiAgICBpZiAobXNnLkFjdGlvbiA9PSAiRXZhbCIpIHRoZW4KCiAgICAgIHRhYmxlLmluc2VydChFcnJvcnMsIHJlc3VsdCkKCiAgICAgIGxvY2FsIHByaW50RGF0YSA9IHRhYmxlLmNvbmNhdChIQU5ETEVSX1BSSU5UX0xPR1MsICJcbiIpCgogICAgICByZXR1cm4geyBFcnJvciA9IHByaW50RGF0YSAuLiAnXG5cbicgLi4gQ29sb3JzLnJlZCAuLiAnZXJyb3I6XG4nIC4uIENvbG9ycy5yZXNldCAuLiByZXN1bHQgfQoKICAgIGVuZCAKCiAgICAtLXRhYmxlLmluc2VydChFcnJvcnMsIHJlc3VsdCkKCiAgICAtLWFvLm91dGJveC5PdXRwdXQuZGF0YSA9ICIiCgogICAgaWYgbXNnLkFjdGlvbiB0aGVuCgogICAgICBwcmludChDb2xvcnMucmVkIC4uICJFcnJvciIgLi4gQ29sb3JzLmdyYXkgLi4gIiBoYW5kbGluZyBtZXNzYWdlIHdpdGggQWN0aW9uID0gIiAuLiBtc2cuQWN0aW9uICAuLiBDb2xvcnMucmVzZXQpCgogICAgZWxzZQoKICAgICAgcHJpbnQoQ29sb3JzLnJlZCAuLiAiRXJyb3IiIC4uIENvbG9ycy5ncmF5IC4uICIgaGFuZGxpbmcgbWVzc2FnZSAiIC4uIENvbG9ycy5yZXNldCkKCiAgICBlbmQKCiAgICBwcmludChDb2xvcnMuZ3JlZW4gLi4gcmVzdWx0IC4uIENvbG9ycy5yZXNldCkKCiAgICBwcmludCgiXG4iIC4uIENvbG9ycy5ncmF5IC4uIHJlbW92ZUxhc3RUaHJlZUxpbmVzKGRlYnVnLnRyYWNlYmFjaygpKSAuLiBDb2xvcnMucmVzZXQpCgogICAgbG9jYWwgcHJpbnREYXRhID0gdGFibGUuY29uY2F0KEhBTkRMRVJfUFJJTlRfTE9HUywgIlxuIikKCiAgICByZXR1cm4gYW8ucmVzdWx0KHtFcnJvciA9IHByaW50RGF0YSAuLiAnXG5cbicgLi4gQ29sb3JzLnJlZCAuLiAnZXJyb3I6XG4nIC4uIENvbG9ycy5yZXNldCAuLiByZXN1bHQsIE1lc3NhZ2VzID0ge30sIFNwYXducyA9IHt9LCBBc3NpZ25tZW50cyA9IHt9IH0pCgogIGVuZAoKICAKCiAgaWYgbXNnLkFjdGlvbiA9PSAiRXZhbCIgdGhlbgoKICAgIGxvY2FsIHJlc3BvbnNlID0gYW8ucmVzdWx0KHsgCgogICAgICBPdXRwdXQgPSB7CgogICAgICAgIGRhdGEgPSB0YWJsZS5jb25jYXQoSEFORExFUl9QUklOVF9MT0dTLCAiXG4iKSwKCiAgICAgICAgcHJvbXB0ID0gUHJvbXB0KCksCgogICAgICAgIHRlc3QgPSBEdW1wKEhBTkRMRVJfUFJJTlRfTE9HUykKCiAgICAgIH0KCiAgICB9KQoKICAgIEhBTkRMRVJfUFJJTlRfTE9HUyA9IHt9IC0tIGNsZWFyIGxvZ3MKCiAgICByZXR1cm4gcmVzcG9uc2UKCiAgZWxzZWlmIG1zZy5UYWdzLlR5cGUgPT0gIlByb2Nlc3MiIGFuZCBPd25lciA9PSBtc2cuRnJvbSB0aGVuIAoKICAgIGxvY2FsIHJlc3BvbnNlID0gYW8ucmVzdWx0KHsgCgogICAgICBPdXRwdXQgPSB7CgogICAgICAgIGRhdGEgPSB0YWJsZS5jb25jYXQoSEFORExFUl9QUklOVF9MT0dTLCAiXG4iKSwKCiAgICAgICAgcHJvbXB0ID0gUHJvbXB0KCksCgogICAgICAgIHByaW50ID0gdHJ1ZQoKICAgICAgfQoKICAgIH0pCgogICAgSEFORExFUl9QUklOVF9MT0dTID0ge30gLS0gY2xlYXIgbG9ncwoKICAgIHJldHVybiByZXNwb25zZQoKCgogICAgLS0gbG9jYWwgcmVzcG9uc2UgPSBuaWwKCiAgCgogICAgLS0gLS0gZGV0ZWN0IGlmIHRoZXJlIHdhcyBhbnkgb3V0cHV0IGZyb20gdGhlIGJvb3QgbG9hZGVyIGNhbGwKCiAgICAtLSBmb3IgXywgdmFsdWUgaW4gcGFpcnMoSEFORExFUl9QUklOVF9MT0dTKSBkbwoKICAgIC0tICAgaWYgdmFsdWUgfj0gIiIgdGhlbgoKICAgIC0tICAgICAtLSB0aGVyZSB3YXMgb3V0cHV0IGZyb20gdGhlIEJvb3QgTG9hZGVyIGV2YWwgc28gd2Ugd2FudCB0byBwcmludCBpdAoKICAgIC0tICAgICByZXNwb25zZSA9IGFvLnJlc3VsdCh7IE91dHB1dCA9IHsgZGF0YSA9IHRhYmxlLmNvbmNhdChIQU5ETEVSX1BSSU5UX0xPR1MsICJcbiIpLCBwcm9tcHQgPSBQcm9tcHQoKSwgcHJpbnQgPSB0cnVlIH0gfSkKCiAgICAtLSAgICAgYnJlYWsKCiAgICAtLSAgIGVuZAoKICAgIC0tIGVuZAoKICAKCiAgICAtLSBpZiByZXNwb25zZSA9PSBuaWwgdGhlbiAKCiAgICAtLSAgIC0tIHRoZXJlIHdhcyBubyBvdXRwdXQgZnJvbSB0aGUgQm9vdCBMb2FkZXIgZXZhbCwgc28gd2Ugc2hvdWxkbid0IHByaW50IGl0CgogICAgLS0gICByZXNwb25zZSA9IGFvLnJlc3VsdCh7IE91dHB1dCA9IHsgZGF0YSA9ICIiLCBwcm9tcHQgPSBQcm9tcHQoKSB9IH0pCgogICAgLS0gZW5kCgoKCiAgICAtLSBIQU5ETEVSX1BSSU5UX0xPR1MgPSB7fSAtLSBjbGVhciBsb2dzCgogICAgLS0gcmV0dXJuIHJlc3BvbnNlCgogIGVsc2UKCiAgICBsb2NhbCByZXNwb25zZSA9IGFvLnJlc3VsdCh7IE91dHB1dCA9IHsgZGF0YSA9IHRhYmxlLmNvbmNhdChIQU5ETEVSX1BSSU5UX0xPR1MsICJcbiIpLCBwcm9tcHQgPSBQcm9tcHQoKSwgcHJpbnQgPSB0cnVlIH0gfSkKCiAgICBIQU5ETEVSX1BSSU5UX0xPR1MgPSB7fSAtLSBjbGVhciBsb2dzCgogICAgcmV0dXJuIHJlc3BvbnNlCgogIGVuZAoKZW5kCgoKCnJldHVybiBwcm9jZXNzCgBC8OAJC7aqBWxvY2FsIHV0aWwgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaW5pdCIpCgpsb2NhbCBkaWdlc3QgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5pbml0IikKCmxvY2FsIGNpcGhlciA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLmluaXQiKQoKbG9jYWwgbWFjID0gcmVxdWlyZSgiLmNyeXB0by5tYWMuaW5pdCIpCgpsb2NhbCBrZGYgPSByZXF1aXJlKCIuY3J5cHRvLmtkZi5pbml0IikKCgoKbG9jYWwgY3J5cHRvID0gewoKICAgIF92ZXJzaW9uID0gIjAuMC4xIiwKCiAgICBkaWdlc3QgPSBkaWdlc3QsCgogICAgdXRpbHMgPSB1dGlsLAoKICAgIGNpcGhlciA9IGNpcGhlciwKCiAgICByYW5kb20gPSBjaXBoZXIuaXNzYWMucmFuZG9tLAoKICAgIG1hYyA9IG1hYywKCiAgICBrZGYgPSBrZGYsCgp9OwoKCgpyZXR1cm4gY3J5cHRvAAAAbG9jYWwgU3RyZWFtID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnN0cmVhbSIpCgpsb2NhbCBIZXggPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaGV4IikKCmxvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5IikKCgoKLS0gQ2lwaGVycwoKbG9jYWwgQUVTMTI4Q2lwaGVyID0gcmVxdWlyZSgiLmNyeXB0by5jaXBoZXIuYWVzMTI4IikKCmxvY2FsIEFFUzE5MkNpcGhlciA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLmFlczE5MiIpCgpsb2NhbCBBRVMyNTZDaXBoZXIgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5hZXMyNTYiKQoKCgotLSBNb2RlcwoKbG9jYWwgQ0JDTW9kZSA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLm1vZGUuY2JjIikKCmxvY2FsIEVDQk1vZGUgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5tb2RlLmVjYiIpCgpsb2NhbCBDRkJNb2RlID0gcmVxdWlyZSgiLmNyeXB0by5jaXBoZXIubW9kZS5jZmIiKQoKbG9jYWwgT0ZCTW9kZSA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLm1vZGUub2ZiIikKCmxvY2FsIENUUk1vZGUgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5tb2RlLmN0ciIpCgoKCi0tIFBhZGRpbmcKCmxvY2FsIFplcm9QYWRkaW5nID0gcmVxdWlyZSgiLmNyeXB0by5wYWRkaW5nLnplcm8iKQoKCgpsb2NhbCBwdWJsaWMgPSB7fQoKCgpsb2NhbCBnZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGtleUxlbmd0aCkKCiAgICBpZiBrZXlMZW5ndGggPT0gMTI4IHRoZW4KCiAgICAgICAgcmV0dXJuIEFFUzEyOENpcGhlcgoKICAgIGVsc2VpZiBrZXlMZW5ndGggPT0gMTkyIHRoZW4KCiAgICAgICAgcmV0dXJuIEFFUzE5MkNpcGhlcgoKICAgIGVsc2VpZiBrZXlMZW5ndGggPT0gMjU2IHRoZW4KCiAgICAgICAgcmV0dXJuIEFFUzI1NkNpcGhlcgoKICAgIGVsc2VpZiBrZXlMZW5ndGggPT0gbmlsIHRoZW4KCiAgICAgICAgcmV0dXJuIEFFUzEyOENpcGhlcgoKICAgIGVsc2UKCiAgICAgICAgcmV0dXJuIG5pbAoKICAgIGVuZAoKZW5kCgoKCmxvY2FsIGdldE1vZGUgPSBmdW5jdGlvbihtb2RlKQoKICAgIGlmIG1vZGUgPT0gIkNCQyIgdGhlbgoKICAgICAgICByZXR1cm4gQ0JDTW9kZQoKICAgIGVsc2VpZiBtb2RlID09ICJFQ0IiIHRoZW4KCiAgICAgICAgcmV0dXJuIEVDQk1vZGUKCiAgICBlbHNlaWYgbW9kZSA9PSAiQ0ZCIiB0aGVuCgogICAgICAgIHJldHVybiBDRkJNb2RlCgogICAgZWxzZWlmIG1vZGUgPT0gIk9GQiIgdGhlbgoKICAgICAgICByZXR1cm4gT0ZCTW9kZQoKICAgIGVsc2VpZiBtb2RlID09ICJDVFIiIHRoZW4KCiAgICAgICAgcmV0dXJuIENUUk1vZGUKCiAgICBlbHNlCgogICAgICAgIHJldHVybiBuaWwKCiAgICBlbmQKCmVuZAoKCgoKCi0tLSBFbmNyeXB0cyB0aGUgZ2l2ZW4gZGF0YSB1c2luZyBBRVMgZW5jcnlwdGlvbi4KCi0tLSBAcGFyYW0gZGF0YSBzdHJpbmcgLSBUaGUgZGF0YSB0byBiZSBlbmNyeXB0ZWQuCgotLS0gQHBhcmFtIGtleSBzdHJpbmcgLSBUaGUga2V5IHRvIHVzZSBmb3IgZW5jcnlwdGlvbi4KCi0tLSBAcGFyYW0gaXY/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIGluaXRpYWxpemF0aW9uIHZlY3RvciB0byB1c2UgZm9yIGVuY3J5cHRpb24uIERlZmF1bHRzIHRvIDE2IG51bGwgYnl0ZXMuCgotLS0gQHBhcmFtIG1vZGU/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIG1vZGUgdG8gdXNlIGZvciBlbmNyeXB0aW9uLiBEZWZhdWx0cyB0byAiQ0JDIi4KCi0tLSBAcGFyYW0ga2V5TGVuZ3RoPyBudW1iZXIgKG9wdGlvbmFsKSAtIFRoZSBsZW5ndGggb2YgdGhlIGtleSB0byB1c2UgZm9yIGVuY3J5cHRpb24uIERlZmF1bHRzIHRvIDEyOC4KCi0tLSBAcmV0dXJucyB0YWJsZSAtIEEgdGFibGUgY29udGFpbmluZyB0aGUgZW5jcnlwdGVkIGRhdGEgaW4gYnl0ZXMsIGhleCwgYW5kIHN0cmluZyBmb3JtYXRzLgoKcHVibGljLmVuY3J5cHQgPSBmdW5jdGlvbihkYXRhLCBrZXksIGl2LCBtb2RlLCBrZXlMZW5ndGgpCgogICAgbG9jYWwgZCA9IEFycmF5LmZyb21TdHJpbmcoZGF0YSkKCiAgICBsb2NhbCBrID0gQXJyYXkuZnJvbVN0cmluZyhrZXkpCgogICAgbG9jYWwgX2l2ID0gaXYgfj0gbmlsIGFuZCBBcnJheS5mcm9tU3RyaW5nKGl2KSBvciBBcnJheS5mcm9tSGV4KCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIpCgoKCiAgICBsb2NhbCBjaXBoZXJNb2RlID0gZ2V0TW9kZShtb2RlKSBvciBDQkNNb2RlCgogICAgbG9jYWwgYmxvY2tDaXBoZXIgPSBnZXRCbG9ja0NpcGhlcihrZXlMZW5ndGgpIG9yIEFFUzEyOENpcGhlcgoKCgogICAgbG9jYWwgY2lwaGVyID0gY2lwaGVyTW9kZS5DaXBoZXIoKQoKICAgICAgICAuc2V0S2V5KGspCgogICAgICAgIC5zZXRCbG9ja0NpcGhlcihibG9ja0NpcGhlcikKCiAgICAgICAgLnNldFBhZGRpbmcoWmVyb1BhZGRpbmcpOwoKCgoKCiAgICBsb2NhbCBjaXBoZXJPdXRwdXQgPSBjaXBoZXIKCiAgICAgICAgLmluaXQoKQoKICAgICAgICAudXBkYXRlKFN0cmVhbS5mcm9tQXJyYXkoX2l2KSkKCiAgICAgICAgLnVwZGF0ZShTdHJlYW0uZnJvbUFycmF5KGQpKQoKICAgICAgICAuZmluaXNoKCkKCgoKICAgIGxvY2FsIHJlc3VsdHMgPSB7fQoKCgogICAgcmVzdWx0cy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gY2lwaGVyT3V0cHV0LmFzQnl0ZXMoKQoKICAgIGVuZAoKCgogICAgcmVzdWx0cy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGNpcGhlck91dHB1dC5hc0hleCgpCgogICAgZW5kCgoKCiAgICByZXN1bHRzLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gY2lwaGVyT3V0cHV0LmFzU3RyaW5nKCkKCiAgICBlbmQKCgoKICAgIHJldHVybiByZXN1bHRzCgplbmQKCgoKLS0tIERlY3J5cHRzIHRoZSBnaXZlbiBkYXRhIHVzaW5nIEFFUyBkZWNyeXB0aW9uLgoKLS0tIEBwYXJhbSBjaXBoZXIgc3RyaW5nIC0gVGhlIGhleCBlbmNvZGVkIGNpcGhlciB0byBiZSBkZWNyeXB0ZWQuCgotLS0gQHBhcmFtIGtleSBzdHJpbmcgLSBUaGUga2V5IHRvIHVzZSBmb3IgZGVjcnlwdGlvbi4KCi0tLSBAcGFyYW0gaXY/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIGluaXRpYWxpemF0aW9uIHZlY3RvciB0byB1c2UgZm9yIGRlY3J5cHRpb24uIERlZmF1bHRzIHRvIDE2IG51bGwgYnl0ZXMuCgotLS0gQHBhcmFtIG1vZGU/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIG1vZGUgdG8gdXNlIGZvciBkZWNyeXB0aW9uLiBEZWZhdWx0cyB0byAiQ0JDIi4KCi0tLSBAcGFyYW0ga2V5TGVuZ3RoPyBudW1iZXIgKG9wdGlvbmFsKSAtIFRoZSBsZW5ndGggb2YgdGhlIGtleSB0byB1c2UgZm9yIGRlY3J5cHRpb24uIERlZmF1bHRzIHRvIDEyOC4KCnB1YmxpYy5kZWNyeXB0ID0gZnVuY3Rpb24oY2lwaGVyLCBrZXksIGl2LCBtb2RlLCBrZXlMZW5ndGgpCgogICAgbG9jYWwgY2lwaGVyVGV4dCA9IEFycmF5LmZyb21IZXgoY2lwaGVyKQoKICAgIGxvY2FsIGsgPSBBcnJheS5mcm9tU3RyaW5nKGtleSkKCiAgICBsb2NhbCBfaXYgPSBpdiB+PSBuaWwgYW5kIEFycmF5LmZyb21TdHJpbmcoaXYpIG9yIEFycmF5LmZyb21IZXgoIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIikKCgoKICAgIGxvY2FsIGNpcGhlck1vZGUgPSBnZXRNb2RlKG1vZGUpIG9yIENCQ01vZGUKCiAgICBsb2NhbCBibG9ja0NpcGhlciA9IGdldEJsb2NrQ2lwaGVyKGtleUxlbmd0aCkgb3IgQUVTMTI4Q2lwaGVyCgoKCgoKICAgIGxvY2FsIGRlY2lwaGVyID0gY2lwaGVyTW9kZS5EZWNpcGhlcigpCgogICAgICAgICAgICAuc2V0S2V5KGspCgogICAgICAgICAgICAuc2V0QmxvY2tDaXBoZXIoYmxvY2tDaXBoZXIpCgogICAgICAgICAgICAuc2V0UGFkZGluZyhaZXJvUGFkZGluZyk7CgoKCgoKICAgIGxvY2FsIHBsYWluT3V0cHV0ID0gZGVjaXBoZXIKCiAgICAgICAgLmluaXQoKQoKICAgICAgICAudXBkYXRlKFN0cmVhbS5mcm9tQXJyYXkoX2l2KSkKCiAgICAgICAgLnVwZGF0ZShTdHJlYW0uZnJvbUFycmF5KGNpcGhlclRleHQpKQoKICAgICAgICAuZmluaXNoKCkKCgoKICAgIGxvY2FsIHJlc3VsdHMgPSB7fQoKCgogICAgcmVzdWx0cy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gcGxhaW5PdXRwdXQuYXNCeXRlcygpCgogICAgZW5kCgoKCiAgICByZXN1bHRzLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gcGxhaW5PdXRwdXQuYXNIZXgoKQoKICAgIGVuZAoKCgogICAgcmVzdWx0cy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIHBsYWluT3V0cHV0LmFzU3RyaW5nKCkKCiAgICBlbmQKCgoKICAgIHJldHVybiByZXN1bHRzCgplbmQKCgoKCgpyZXR1cm4gcHVibGljCgBsb2NhbCBBcnJheSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5hcnJheSIpOwoKbG9jYWwgQml0ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmJpdCIpOwoKCgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCgoKbG9jYWwgU0JPWCA9IHsKCiBbMF0gPSAweDYzLCAweDdDLCAweDc3LCAweDdCLCAweEYyLCAweDZCLCAweDZGLCAweEM1LCAweDMwLCAweDAxLCAweDY3LCAweDJCLCAweEZFLCAweEQ3LCAweEFCLCAweDc2LAoKIDB4Q0EsIDB4ODIsIDB4QzksIDB4N0QsIDB4RkEsIDB4NTksIDB4NDcsIDB4RjAsIDB4QUQsIDB4RDQsIDB4QTIsIDB4QUYsIDB4OUMsIDB4QTQsIDB4NzIsIDB4QzAsCgogMHhCNywgMHhGRCwgMHg5MywgMHgyNiwgMHgzNiwgMHgzRiwgMHhGNywgMHhDQywgMHgzNCwgMHhBNSwgMHhFNSwgMHhGMSwgMHg3MSwgMHhEOCwgMHgzMSwgMHgxNSwKCiAweDA0LCAweEM3LCAweDIzLCAweEMzLCAweDE4LCAweDk2LCAweDA1LCAweDlBLCAweDA3LCAweDEyLCAweDgwLCAweEUyLCAweEVCLCAweDI3LCAweEIyLCAweDc1LAoKIDB4MDksIDB4ODMsIDB4MkMsIDB4MUEsIDB4MUIsIDB4NkUsIDB4NUEsIDB4QTAsIDB4NTIsIDB4M0IsIDB4RDYsIDB4QjMsIDB4MjksIDB4RTMsIDB4MkYsIDB4ODQsCgogMHg1MywgMHhEMSwgMHgwMCwgMHhFRCwgMHgyMCwgMHhGQywgMHhCMSwgMHg1QiwgMHg2QSwgMHhDQiwgMHhCRSwgMHgzOSwgMHg0QSwgMHg0QywgMHg1OCwgMHhDRiwKCiAweEQwLCAweEVGLCAweEFBLCAweEZCLCAweDQzLCAweDRELCAweDMzLCAweDg1LCAweDQ1LCAweEY5LCAweDAyLCAweDdGLCAweDUwLCAweDNDLCAweDlGLCAweEE4LAoKIDB4NTEsIDB4QTMsIDB4NDAsIDB4OEYsIDB4OTIsIDB4OUQsIDB4MzgsIDB4RjUsIDB4QkMsIDB4QjYsIDB4REEsIDB4MjEsIDB4MTAsIDB4RkYsIDB4RjMsIDB4RDIsCgogMHhDRCwgMHgwQywgMHgxMywgMHhFQywgMHg1RiwgMHg5NywgMHg0NCwgMHgxNywgMHhDNCwgMHhBNywgMHg3RSwgMHgzRCwgMHg2NCwgMHg1RCwgMHgxOSwgMHg3MywKCiAweDYwLCAweDgxLCAweDRGLCAweERDLCAweDIyLCAweDJBLCAweDkwLCAweDg4LCAweDQ2LCAweEVFLCAweEI4LCAweDE0LCAweERFLCAweDVFLCAweDBCLCAweERCLAoKIDB4RTAsIDB4MzIsIDB4M0EsIDB4MEEsIDB4NDksIDB4MDYsIDB4MjQsIDB4NUMsIDB4QzIsIDB4RDMsIDB4QUMsIDB4NjIsIDB4OTEsIDB4OTUsIDB4RTQsIDB4NzksCgogMHhFNywgMHhDOCwgMHgzNywgMHg2RCwgMHg4RCwgMHhENSwgMHg0RSwgMHhBOSwgMHg2QywgMHg1NiwgMHhGNCwgMHhFQSwgMHg2NSwgMHg3QSwgMHhBRSwgMHgwOCwKCiAweEJBLCAweDc4LCAweDI1LCAweDJFLCAweDFDLCAweEE2LCAweEI0LCAweEM2LCAweEU4LCAweERELCAweDc0LCAweDFGLCAweDRCLCAweEJELCAweDhCLCAweDhBLAoKIDB4NzAsIDB4M0UsIDB4QjUsIDB4NjYsIDB4NDgsIDB4MDMsIDB4RjYsIDB4MEUsIDB4NjEsIDB4MzUsIDB4NTcsIDB4QjksIDB4ODYsIDB4QzEsIDB4MUQsIDB4OUUsCgogMHhFMSwgMHhGOCwgMHg5OCwgMHgxMSwgMHg2OSwgMHhEOSwgMHg4RSwgMHg5NCwgMHg5QiwgMHgxRSwgMHg4NywgMHhFOSwgMHhDRSwgMHg1NSwgMHgyOCwgMHhERiwKCiAweDhDLCAweEExLCAweDg5LCAweDBELCAweEJGLCAweEU2LCAweDQyLCAweDY4LCAweDQxLCAweDk5LCAweDJELCAweDBGLCAweEIwLCAweDU0LCAweEJCLCAweDE2fTsKCgoKbG9jYWwgSVNCT1ggPSB7CgogWzBdID0gMHg1MiwgMHgwOSwgMHg2QSwgMHhENSwgMHgzMCwgMHgzNiwgMHhBNSwgMHgzOCwgMHhCRiwgMHg0MCwgMHhBMywgMHg5RSwgMHg4MSwgMHhGMywgMHhENywgMHhGQiwKCiAweDdDLCAweEUzLCAweDM5LCAweDgyLCAweDlCLCAweDJGLCAweEZGLCAweDg3LCAweDM0LCAweDhFLCAweDQzLCAweDQ0LCAweEM0LCAweERFLCAweEU5LCAweENCLAoKIDB4NTQsIDB4N0IsIDB4OTQsIDB4MzIsIDB4QTYsIDB4QzIsIDB4MjMsIDB4M0QsIDB4RUUsIDB4NEMsIDB4OTUsIDB4MEIsIDB4NDIsIDB4RkEsIDB4QzMsIDB4NEUsCgogMHgwOCwgMHgyRSwgMHhBMSwgMHg2NiwgMHgyOCwgMHhEOSwgMHgyNCwgMHhCMiwgMHg3NiwgMHg1QiwgMHhBMiwgMHg0OSwgMHg2RCwgMHg4QiwgMHhEMSwgMHgyNSwKCiAweDcyLCAweEY4LCAweEY2LCAweDY0LCAweDg2LCAweDY4LCAweDk4LCAweDE2LCAweEQ0LCAweEE0LCAweDVDLCAweENDLCAweDVELCAweDY1LCAweEI2LCAweDkyLAoKIDB4NkMsIDB4NzAsIDB4NDgsIDB4NTAsIDB4RkQsIDB4RUQsIDB4QjksIDB4REEsIDB4NUUsIDB4MTUsIDB4NDYsIDB4NTcsIDB4QTcsIDB4OEQsIDB4OUQsIDB4ODQsCgogMHg5MCwgMHhEOCwgMHhBQiwgMHgwMCwgMHg4QywgMHhCQywgMHhEMywgMHgwQSwgMHhGNywgMHhFNCwgMHg1OCwgMHgwNSwgMHhCOCwgMHhCMywgMHg0NSwgMHgwNiwKCiAweEQwLCAweDJDLCAweDFFLCAweDhGLCAweENBLCAweDNGLCAweDBGLCAweDAyLCAweEMxLCAweEFGLCAweEJELCAweDAzLCAweDAxLCAweDEzLCAweDhBLCAweDZCLAoKIDB4M0EsIDB4OTEsIDB4MTEsIDB4NDEsIDB4NEYsIDB4NjcsIDB4REMsIDB4RUEsIDB4OTcsIDB4RjIsIDB4Q0YsIDB4Q0UsIDB4RjAsIDB4QjQsIDB4RTYsIDB4NzMsCgogMHg5NiwgMHhBQywgMHg3NCwgMHgyMiwgMHhFNywgMHhBRCwgMHgzNSwgMHg4NSwgMHhFMiwgMHhGOSwgMHgzNywgMHhFOCwgMHgxQywgMHg3NSwgMHhERiwgMHg2RSwKCiAweDQ3LCAweEYxLCAweDFBLCAweDcxLCAweDFELCAweDI5LCAweEM1LCAweDg5LCAweDZGLCAweEI3LCAweDYyLCAweDBFLCAweEFBLCAweDE4LCAweEJFLCAweDFCLAoKIDB4RkMsIDB4NTYsIDB4M0UsIDB4NEIsIDB4QzYsIDB4RDIsIDB4NzksIDB4MjAsIDB4OUEsIDB4REIsIDB4QzAsIDB4RkUsIDB4NzgsIDB4Q0QsIDB4NUEsIDB4RjQsCgogMHgxRiwgMHhERCwgMHhBOCwgMHgzMywgMHg4OCwgMHgwNywgMHhDNywgMHgzMSwgMHhCMSwgMHgxMiwgMHgxMCwgMHg1OSwgMHgyNywgMHg4MCwgMHhFQywgMHg1RiwKCiAweDYwLCAweDUxLCAweDdGLCAweEE5LCAweDE5LCAweEI1LCAweDRBLCAweDBELCAweDJELCAweEU1LCAweDdBLCAweDlGLCAweDkzLCAweEM5LCAweDlDLCAweEVGLAoKIDB4QTAsIDB4RTAsIDB4M0IsIDB4NEQsIDB4QUUsIDB4MkEsIDB4RjUsIDB4QjAsIDB4QzgsIDB4RUIsIDB4QkIsIDB4M0MsIDB4ODMsIDB4NTMsIDB4OTksIDB4NjEsCgogMHgxNywgMHgyQiwgMHgwNCwgMHg3RSwgMHhCQSwgMHg3NywgMHhENiwgMHgyNiwgMHhFMSwgMHg2OSwgMHgxNCwgMHg2MywgMHg1NSwgMHgyMSwgMHgwQywgMHg3RH07CgoKCmxvY2FsIFJPV19TSElGVCA9ICB7ICAxLCAgNiwgMTEsIDE2LCAgNSwgMTAsIDE1LCAgNCwgIDksIDE0LCAgMywgIDgsIDEzLCAgMiwgIDcsIDEyLCB9OwoKbG9jYWwgSVJPV19TSElGVCA9IHsgIDEsIDE0LCAxMSwgIDgsICA1LCAgMiwgMTUsIDEyLCAgOSwgIDYsICAzLCAxNiwgMTMsIDEwLCAgNywgIDQsIH07CgoKCmxvY2FsIEVUQUJMRSA9IHsKCiBbMF0gPSAweDAxLCAweDAzLCAweDA1LCAweDBGLCAweDExLCAweDMzLCAweDU1LCAweEZGLCAweDFBLCAweDJFLCAweDcyLCAweDk2LCAweEExLCAweEY4LCAweDEzLCAweDM1LAoKIDB4NUYsIDB4RTEsIDB4MzgsIDB4NDgsIDB4RDgsIDB4NzMsIDB4OTUsIDB4QTQsIDB4RjcsIDB4MDIsIDB4MDYsIDB4MEEsIDB4MUUsIDB4MjIsIDB4NjYsIDB4QUEsCgogMHhFNSwgMHgzNCwgMHg1QywgMHhFNCwgMHgzNywgMHg1OSwgMHhFQiwgMHgyNiwgMHg2QSwgMHhCRSwgMHhEOSwgMHg3MCwgMHg5MCwgMHhBQiwgMHhFNiwgMHgzMSwKCiAweDUzLCAweEY1LCAweDA0LCAweDBDLCAweDE0LCAweDNDLCAweDQ0LCAweENDLCAweDRGLCAweEQxLCAweDY4LCAweEI4LCAweEQzLCAweDZFLCAweEIyLCAweENELAoKIDB4NEMsIDB4RDQsIDB4NjcsIDB4QTksIDB4RTAsIDB4M0IsIDB4NEQsIDB4RDcsIDB4NjIsIDB4QTYsIDB4RjEsIDB4MDgsIDB4MTgsIDB4MjgsIDB4NzgsIDB4ODgsCgogMHg4MywgMHg5RSwgMHhCOSwgMHhEMCwgMHg2QiwgMHhCRCwgMHhEQywgMHg3RiwgMHg4MSwgMHg5OCwgMHhCMywgMHhDRSwgMHg0OSwgMHhEQiwgMHg3NiwgMHg5QSwKCiAweEI1LCAweEM0LCAweDU3LCAweEY5LCAweDEwLCAweDMwLCAweDUwLCAweEYwLCAweDBCLCAweDFELCAweDI3LCAweDY5LCAweEJCLCAweEQ2LCAweDYxLCAweEEzLAoKIDB4RkUsIDB4MTksIDB4MkIsIDB4N0QsIDB4ODcsIDB4OTIsIDB4QUQsIDB4RUMsIDB4MkYsIDB4NzEsIDB4OTMsIDB4QUUsIDB4RTksIDB4MjAsIDB4NjAsIDB4QTAsCgogMHhGQiwgMHgxNiwgMHgzQSwgMHg0RSwgMHhEMiwgMHg2RCwgMHhCNywgMHhDMiwgMHg1RCwgMHhFNywgMHgzMiwgMHg1NiwgMHhGQSwgMHgxNSwgMHgzRiwgMHg0MSwKCiAweEMzLCAweDVFLCAweEUyLCAweDNELCAweDQ3LCAweEM5LCAweDQwLCAweEMwLCAweDVCLCAweEVELCAweDJDLCAweDc0LCAweDlDLCAweEJGLCAweERBLCAweDc1LAoKIDB4OUYsIDB4QkEsIDB4RDUsIDB4NjQsIDB4QUMsIDB4RUYsIDB4MkEsIDB4N0UsIDB4ODIsIDB4OUQsIDB4QkMsIDB4REYsIDB4N0EsIDB4OEUsIDB4ODksIDB4ODAsCgogMHg5QiwgMHhCNiwgMHhDMSwgMHg1OCwgMHhFOCwgMHgyMywgMHg2NSwgMHhBRiwgMHhFQSwgMHgyNSwgMHg2RiwgMHhCMSwgMHhDOCwgMHg0MywgMHhDNSwgMHg1NCwKCiAweEZDLCAweDFGLCAweDIxLCAweDYzLCAweEE1LCAweEY0LCAweDA3LCAweDA5LCAweDFCLCAweDJELCAweDc3LCAweDk5LCAweEIwLCAweENCLCAweDQ2LCAweENBLAoKIDB4NDUsIDB4Q0YsIDB4NEEsIDB4REUsIDB4NzksIDB4OEIsIDB4ODYsIDB4OTEsIDB4QTgsIDB4RTMsIDB4M0UsIDB4NDIsIDB4QzYsIDB4NTEsIDB4RjMsIDB4MEUsCgogMHgxMiwgMHgzNiwgMHg1QSwgMHhFRSwgMHgyOSwgMHg3QiwgMHg4RCwgMHg4QywgMHg4RiwgMHg4QSwgMHg4NSwgMHg5NCwgMHhBNywgMHhGMiwgMHgwRCwgMHgxNywKCiAweDM5LCAweDRCLCAweERELCAweDdDLCAweDg0LCAweDk3LCAweEEyLCAweEZELCAweDFDLCAweDI0LCAweDZDLCAweEI0LCAweEM3LCAweDUyLCAweEY2LCAweDAxfTsKCgoKbG9jYWwgTFRBQkxFID0gewoKIFswXSA9IDB4MDAsIDB4MDAsIDB4MTksIDB4MDEsIDB4MzIsIDB4MDIsIDB4MUEsIDB4QzYsIDB4NEIsIDB4QzcsIDB4MUIsIDB4NjgsIDB4MzMsIDB4RUUsIDB4REYsIDB4MDMsCgogMHg2NCwgMHgwNCwgMHhFMCwgMHgwRSwgMHgzNCwgMHg4RCwgMHg4MSwgMHhFRiwgMHg0QywgMHg3MSwgMHgwOCwgMHhDOCwgMHhGOCwgMHg2OSwgMHgxQywgMHhDMSwKCiAweDdELCAweEMyLCAweDFELCAweEI1LCAweEY5LCAweEI5LCAweDI3LCAweDZBLCAweDRELCAweEU0LCAweEE2LCAweDcyLCAweDlBLCAweEM5LCAweDA5LCAweDc4LAoKIDB4NjUsIDB4MkYsIDB4OEEsIDB4MDUsIDB4MjEsIDB4MEYsIDB4RTEsIDB4MjQsIDB4MTIsIDB4RjAsIDB4ODIsIDB4NDUsIDB4MzUsIDB4OTMsIDB4REEsIDB4OEUsCgogMHg5NiwgMHg4RiwgMHhEQiwgMHhCRCwgMHgzNiwgMHhEMCwgMHhDRSwgMHg5NCwgMHgxMywgMHg1QywgMHhEMiwgMHhGMSwgMHg0MCwgMHg0NiwgMHg4MywgMHgzOCwKCiAweDY2LCAweERELCAweEZELCAweDMwLCAweEJGLCAweDA2LCAweDhCLCAweDYyLCAweEIzLCAweDI1LCAweEUyLCAweDk4LCAweDIyLCAweDg4LCAweDkxLCAweDEwLAoKIDB4N0UsIDB4NkUsIDB4NDgsIDB4QzMsIDB4QTMsIDB4QjYsIDB4MUUsIDB4NDIsIDB4M0EsIDB4NkIsIDB4MjgsIDB4NTQsIDB4RkEsIDB4ODUsIDB4M0QsIDB4QkEsCgogMHgyQiwgMHg3OSwgMHgwQSwgMHgxNSwgMHg5QiwgMHg5RiwgMHg1RSwgMHhDQSwgMHg0RSwgMHhENCwgMHhBQywgMHhFNSwgMHhGMywgMHg3MywgMHhBNywgMHg1NywKCiAweEFGLCAweDU4LCAweEE4LCAweDUwLCAweEY0LCAweEVBLCAweEQ2LCAweDc0LCAweDRGLCAweEFFLCAweEU5LCAweEQ1LCAweEU3LCAweEU2LCAweEFELCAweEU4LAoKIDB4MkMsIDB4RDcsIDB4NzUsIDB4N0EsIDB4RUIsIDB4MTYsIDB4MEIsIDB4RjUsIDB4NTksIDB4Q0IsIDB4NUYsIDB4QjAsIDB4OUMsIDB4QTksIDB4NTEsIDB4QTAsCgogMHg3RiwgMHgwQywgMHhGNiwgMHg2RiwgMHgxNywgMHhDNCwgMHg0OSwgMHhFQywgMHhEOCwgMHg0MywgMHgxRiwgMHgyRCwgMHhBNCwgMHg3NiwgMHg3QiwgMHhCNywKCiAweENDLCAweEJCLCAweDNFLCAweDVBLCAweEZCLCAweDYwLCAweEIxLCAweDg2LCAweDNCLCAweDUyLCAweEExLCAweDZDLCAweEFBLCAweDU1LCAweDI5LCAweDlELAoKIDB4OTcsIDB4QjIsIDB4ODcsIDB4OTAsIDB4NjEsIDB4QkUsIDB4REMsIDB4RkMsIDB4QkMsIDB4OTUsIDB4Q0YsIDB4Q0QsIDB4MzcsIDB4M0YsIDB4NUIsIDB4RDEsCgogMHg1MywgMHgzOSwgMHg4NCwgMHgzQywgMHg0MSwgMHhBMiwgMHg2RCwgMHg0NywgMHgxNCwgMHgyQSwgMHg5RSwgMHg1RCwgMHg1NiwgMHhGMiwgMHhEMywgMHhBQiwKCiAweDQ0LCAweDExLCAweDkyLCAweEQ5LCAweDIzLCAweDIwLCAweDJFLCAweDg5LCAweEI0LCAweDdDLCAweEI4LCAweDI2LCAweDc3LCAweDk5LCAweEUzLCAweEE1LAoKIDB4NjcsIDB4NEEsIDB4RUQsIDB4REUsIDB4QzUsIDB4MzEsIDB4RkUsIDB4MTgsIDB4MEQsIDB4NjMsIDB4OEMsIDB4ODAsIDB4QzAsIDB4RjcsIDB4NzAsIDB4MDd9OwoKCgpsb2NhbCBNSVhUQUJMRSA9IHsKCiAweDAyLCAweDAzLCAweDAxLCAweDAxLAoKIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDEsCgogMHgwMSwgMHgwMSwgMHgwMiwgMHgwMywKCiAweDAzLCAweDAxLCAweDAxLCAweDAyfTsKCgoKbG9jYWwgSU1JWFRBQkxFID0gewoKIDB4MEUsIDB4MEIsIDB4MEQsIDB4MDksCgogMHgwOSwgMHgwRSwgMHgwQiwgMHgwRCwKCiAweDBELCAweDA5LCAweDBFLCAweDBCLAoKIDB4MEIsIDB4MEQsIDB4MDksIDB4MEV9OwoKCgpsb2NhbCBSQ09OID0gewoKWzBdID0gMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwKCjB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksCgoweDcyLCAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLAoKMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwKCjB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsCgoweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLAoKMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwKCjB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsCgoweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LAoKMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwKCjB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsIDB4YzYsIDB4OTcsIDB4MzUsCgoweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLCAweDYxLCAweGMyLCAweDlmLAoKMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZCwgMHgwMSwgMHgwMiwgMHgwNCwKCjB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsIDB4MmYsIDB4NWUsIDB4YmMsIDB4NjMsCgoweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LCAweDcyLCAweGU0LCAweGQzLCAweGJkLAoKMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwgMHg3NCwgMHhlOCwgMHhjYiwgMHg4ZH07CgoKCgoKbG9jYWwgR01VTCA9IGZ1bmN0aW9uKEEsIEIpCgogICAgaWYoQSA9PSAweDAxKSB0aGVuIHJldHVybiBCOyBlbmQKCiAgICBpZihCID09IDB4MDEpIHRoZW4gcmV0dXJuIEE7IGVuZAoKICAgIGlmKEEgPT0gMHgwMCkgdGhlbiByZXR1cm4gMDsgZW5kCgogICAgaWYoQiA9PSAweDAwKSB0aGVuIHJldHVybiAwOyBlbmQKCgoKICAgIGxvY2FsIExBID0gTFRBQkxFW0FdOwoKICAgIGxvY2FsIExCID0gTFRBQkxFW0JdOwoKCgogICAgbG9jYWwgc3VtID0gTEEgKyBMQjsKCiAgICBpZiAoc3VtID4gMHhGRikgdGhlbiBzdW0gPSBzdW0gLSAweEZGOyBlbmQKCgoKICAgIHJldHVybiBFVEFCTEVbc3VtXTsKCmVuZAoKCgpsb2NhbCBieXRlU3ViID0gQXJyYXkuc3Vic3RpdHV0ZTsKCgoKbG9jYWwgc2hpZnRSb3cgPSBBcnJheS5wZXJtdXRlOwoKCgpsb2NhbCBtaXhDb2wgPSBmdW5jdGlvbihpLCBtaXgpCgogICAgbG9jYWwgb3V0ID0ge307CgoKCiAgICBsb2NhbCBhLCBiLCBjLCBkOwoKCgogICAgYSA9IEdNVUwoaVsgMV0sIG1peFsgMV0pOwoKICAgIGIgPSBHTVVMKGlbIDJdLCBtaXhbIDJdKTsKCiAgICBjID0gR01VTChpWyAzXSwgbWl4WyAzXSk7CgogICAgZCA9IEdNVUwoaVsgNF0sIG1peFsgNF0pOwoKICAgIG91dFsgMV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDFdLCBtaXhbIDVdKTsKCiAgICBiID0gR01VTChpWyAyXSwgbWl4WyA2XSk7CgogICAgYyA9IEdNVUwoaVsgM10sIG1peFsgN10pOwoKICAgIGQgPSBHTVVMKGlbIDRdLCBtaXhbIDhdKTsKCiAgICBvdXRbIDJdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyAxXSwgbWl4WyA5XSk7CgogICAgYiA9IEdNVUwoaVsgMl0sIG1peFsxMF0pOwoKICAgIGMgPSBHTVVMKGlbIDNdLCBtaXhbMTFdKTsKCiAgICBkID0gR01VTChpWyA0XSwgbWl4WzEyXSk7CgogICAgb3V0WyAzXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgMV0sIG1peFsxM10pOwoKICAgIGIgPSBHTVVMKGlbIDJdLCBtaXhbMTRdKTsKCiAgICBjID0gR01VTChpWyAzXSwgbWl4WzE1XSk7CgogICAgZCA9IEdNVUwoaVsgNF0sIG1peFsxNl0pOwoKICAgIG91dFsgNF0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKCgoKCiAgICBhID0gR01VTChpWyA1XSwgbWl4WyAxXSk7CgogICAgYiA9IEdNVUwoaVsgNl0sIG1peFsgMl0pOwoKICAgIGMgPSBHTVVMKGlbIDddLCBtaXhbIDNdKTsKCiAgICBkID0gR01VTChpWyA4XSwgbWl4WyA0XSk7CgogICAgb3V0WyA1XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgNV0sIG1peFsgNV0pOwoKICAgIGIgPSBHTVVMKGlbIDZdLCBtaXhbIDZdKTsKCiAgICBjID0gR01VTChpWyA3XSwgbWl4WyA3XSk7CgogICAgZCA9IEdNVUwoaVsgOF0sIG1peFsgOF0pOwoKICAgIG91dFsgNl0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDVdLCBtaXhbIDldKTsKCiAgICBiID0gR01VTChpWyA2XSwgbWl4WzEwXSk7CgogICAgYyA9IEdNVUwoaVsgN10sIG1peFsxMV0pOwoKICAgIGQgPSBHTVVMKGlbIDhdLCBtaXhbMTJdKTsKCiAgICBvdXRbIDddID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA1XSwgbWl4WzEzXSk7CgogICAgYiA9IEdNVUwoaVsgNl0sIG1peFsxNF0pOwoKICAgIGMgPSBHTVVMKGlbIDddLCBtaXhbMTVdKTsKCiAgICBkID0gR01VTChpWyA4XSwgbWl4WzE2XSk7CgogICAgb3V0WyA4XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgoKCgoKICAgIGEgPSBHTVVMKGlbIDldLCBtaXhbIDFdKTsKCiAgICBiID0gR01VTChpWzEwXSwgbWl4WyAyXSk7CgogICAgYyA9IEdNVUwoaVsxMV0sIG1peFsgM10pOwoKICAgIGQgPSBHTVVMKGlbMTJdLCBtaXhbIDRdKTsKCiAgICBvdXRbIDldID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA5XSwgbWl4WyA1XSk7CgogICAgYiA9IEdNVUwoaVsxMF0sIG1peFsgNl0pOwoKICAgIGMgPSBHTVVMKGlbMTFdLCBtaXhbIDddKTsKCiAgICBkID0gR01VTChpWzEyXSwgbWl4WyA4XSk7CgogICAgb3V0WzEwXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgOV0sIG1peFsgOV0pOwoKICAgIGIgPSBHTVVMKGlbMTBdLCBtaXhbMTBdKTsKCiAgICBjID0gR01VTChpWzExXSwgbWl4WzExXSk7CgogICAgZCA9IEdNVUwoaVsxMl0sIG1peFsxMl0pOwoKICAgIG91dFsxMV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDldLCBtaXhbMTNdKTsKCiAgICBiID0gR01VTChpWzEwXSwgbWl4WzE0XSk7CgogICAgYyA9IEdNVUwoaVsxMV0sIG1peFsxNV0pOwoKICAgIGQgPSBHTVVMKGlbMTJdLCBtaXhbMTZdKTsKCiAgICBvdXRbMTJdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCgoKCgogICAgYSA9IEdNVUwoaVsxM10sIG1peFsgMV0pOwoKICAgIGIgPSBHTVVMKGlbMTRdLCBtaXhbIDJdKTsKCiAgICBjID0gR01VTChpWzE1XSwgbWl4WyAzXSk7CgogICAgZCA9IEdNVUwoaVsxNl0sIG1peFsgNF0pOwoKICAgIG91dFsxM10gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbMTNdLCBtaXhbIDVdKTsKCiAgICBiID0gR01VTChpWzE0XSwgbWl4WyA2XSk7CgogICAgYyA9IEdNVUwoaVsxNV0sIG1peFsgN10pOwoKICAgIGQgPSBHTVVMKGlbMTZdLCBtaXhbIDhdKTsKCiAgICBvdXRbMTRdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWzEzXSwgbWl4WyA5XSk7CgogICAgYiA9IEdNVUwoaVsxNF0sIG1peFsxMF0pOwoKICAgIGMgPSBHTVVMKGlbMTVdLCBtaXhbMTFdKTsKCiAgICBkID0gR01VTChpWzE2XSwgbWl4WzEyXSk7CgogICAgb3V0WzE1XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsxM10sIG1peFsxM10pOwoKICAgIGIgPSBHTVVMKGlbMTRdLCBtaXhbMTRdKTsKCiAgICBjID0gR01VTChpWzE1XSwgbWl4WzE1XSk7CgogICAgZCA9IEdNVUwoaVsxNl0sIG1peFsxNl0pOwoKICAgIG91dFsxNl0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKCgogICAgcmV0dXJuIG91dDsKCmVuZAoKCgpsb2NhbCBrZXlSb3VuZCA9IGZ1bmN0aW9uKGtleSwgcm91bmQpCgogICAgbG9jYWwgb3V0ID0ge307CgoKCiAgICBvdXRbIDFdID0gWE9SKGtleVsgMV0sIFhPUihTQk9YW2tleVsxNF1dLCBSQ09OW3JvdW5kXSkpOwoKICAgIG91dFsgMl0gPSBYT1Ioa2V5WyAyXSwgU0JPWFtrZXlbMTVdXSk7CgogICAgb3V0WyAzXSA9IFhPUihrZXlbIDNdLCBTQk9YW2tleVsxNl1dKTsKCiAgICBvdXRbIDRdID0gWE9SKGtleVsgNF0sIFNCT1hba2V5WzEzXV0pOwoKCgogICAgb3V0WyA1XSA9IFhPUihvdXRbIDFdLCBrZXlbIDVdKTsKCiAgICBvdXRbIDZdID0gWE9SKG91dFsgMl0sIGtleVsgNl0pOwoKICAgIG91dFsgN10gPSBYT1Iob3V0WyAzXSwga2V5WyA3XSk7CgogICAgb3V0WyA4XSA9IFhPUihvdXRbIDRdLCBrZXlbIDhdKTsKCgoKICAgIG91dFsgOV0gPSBYT1Iob3V0WyA1XSwga2V5WyA5XSk7CgogICAgb3V0WzEwXSA9IFhPUihvdXRbIDZdLCBrZXlbMTBdKTsKCiAgICBvdXRbMTFdID0gWE9SKG91dFsgN10sIGtleVsxMV0pOwoKICAgIG91dFsxMl0gPSBYT1Iob3V0WyA4XSwga2V5WzEyXSk7CgoKCiAgICBvdXRbMTNdID0gWE9SKG91dFsgOV0sIGtleVsxM10pOwoKICAgIG91dFsxNF0gPSBYT1Iob3V0WzEwXSwga2V5WzE0XSk7CgogICAgb3V0WzE1XSA9IFhPUihvdXRbMTFdLCBrZXlbMTVdKTsKCiAgICBvdXRbMTZdID0gWE9SKG91dFsxMl0sIGtleVsxNl0pOwoKCgogICAgcmV0dXJuIG91dDsKCmVuZAoKCgpsb2NhbCBrZXlFeHBhbmQgPSBmdW5jdGlvbihrZXkpCgogICAgbG9jYWwga2V5cyA9IHt9OwoKCgogICAgbG9jYWwgdGVtcCA9IGtleTsKCgoKICAgIGtleXNbMV0gPSB0ZW1wOwoKCgogICAgZm9yIGkgPSAxLCAxMCBkbwoKICAgICAgICB0ZW1wID0ga2V5Um91bmQodGVtcCwgaSk7CgogICAgICAgIGtleXNbaSArIDFdID0gdGVtcDsKCiAgICBlbmQKCgoKICAgIHJldHVybiBrZXlzOwoKCgplbmQKCgoKbG9jYWwgYWRkS2V5ID0gQXJyYXkuWE9SOwoKCgoKCgoKbG9jYWwgQUVTID0ge307CgoKCkFFUy5ibG9ja1NpemUgPSAxNjsKCgoKQUVTLmVuY3J5cHQgPSBmdW5jdGlvbihrZXksIGJsb2NrKQoKCgogICAgbG9jYWwga2V5U2NoZWR1bGUgPSBrZXlFeHBhbmQoa2V5KTsKCgoKICAgIC0tcm91bmQgMAoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxXSk7CgoKCiAgICAtLXJvdW5kIDEKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMl0pOwoKCgogICAgLS1yb3VuZCAyCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzNdKTsKCgoKICAgIC0tcm91bmQgMwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs0XSk7CgoKCiAgICAtLXJvdW5kIDQKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNV0pOwoKCgogICAgLS1yb3VuZCA1CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzZdKTsKCgoKICAgIC0tcm91bmQgNgoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs3XSk7CgoKCiAgICAtLXJvdW5kIDcKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbOF0pOwoKCgogICAgLS1yb3VuZCA4CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzldKTsKCgoKICAgIC0tcm91bmQgOQoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMF0pOwoKCgogICAgLS1yb3VuZCAxMAoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTFdKTsKCgoKICAgIHJldHVybiBibG9jazsKCgoKZW5kCgoKCkFFUy5kZWNyeXB0ID0gZnVuY3Rpb24oa2V5LCBibG9jaykKCgoKICAgIGxvY2FsIGtleVNjaGVkdWxlID0ga2V5RXhwYW5kKGtleSk7CgoKCiAgICAtLXJvdW5kIDAKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTFdKTsKCgoKICAgIC0tcm91bmQgMQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMF0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAyCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzldKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs4XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDQKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbN10pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA1CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzZdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNgoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs1XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDcKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNF0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA4CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzNdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgOQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsyXSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDEwCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzFdKTsKCgoKICAgIHJldHVybiBibG9jazsKCmVuZAoKCgpyZXR1cm4gQUVTOwAAAAAKCmxvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5Iik7Cgpsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7CgoKCmxvY2FsIFhPUiA9IEJpdC5ieG9yOwoKCgpsb2NhbCBTQk9YID0gewoKIFswXSA9IDB4NjMsIDB4N0MsIDB4NzcsIDB4N0IsIDB4RjIsIDB4NkIsIDB4NkYsIDB4QzUsIDB4MzAsIDB4MDEsIDB4NjcsIDB4MkIsIDB4RkUsIDB4RDcsIDB4QUIsIDB4NzYsCgogMHhDQSwgMHg4MiwgMHhDOSwgMHg3RCwgMHhGQSwgMHg1OSwgMHg0NywgMHhGMCwgMHhBRCwgMHhENCwgMHhBMiwgMHhBRiwgMHg5QywgMHhBNCwgMHg3MiwgMHhDMCwKCiAweEI3LCAweEZELCAweDkzLCAweDI2LCAweDM2LCAweDNGLCAweEY3LCAweENDLCAweDM0LCAweEE1LCAweEU1LCAweEYxLCAweDcxLCAweEQ4LCAweDMxLCAweDE1LAoKIDB4MDQsIDB4QzcsIDB4MjMsIDB4QzMsIDB4MTgsIDB4OTYsIDB4MDUsIDB4OUEsIDB4MDcsIDB4MTIsIDB4ODAsIDB4RTIsIDB4RUIsIDB4MjcsIDB4QjIsIDB4NzUsCgogMHgwOSwgMHg4MywgMHgyQywgMHgxQSwgMHgxQiwgMHg2RSwgMHg1QSwgMHhBMCwgMHg1MiwgMHgzQiwgMHhENiwgMHhCMywgMHgyOSwgMHhFMywgMHgyRiwgMHg4NCwKCiAweDUzLCAweEQxLCAweDAwLCAweEVELCAweDIwLCAweEZDLCAweEIxLCAweDVCLCAweDZBLCAweENCLCAweEJFLCAweDM5LCAweDRBLCAweDRDLCAweDU4LCAweENGLAoKIDB4RDAsIDB4RUYsIDB4QUEsIDB4RkIsIDB4NDMsIDB4NEQsIDB4MzMsIDB4ODUsIDB4NDUsIDB4RjksIDB4MDIsIDB4N0YsIDB4NTAsIDB4M0MsIDB4OUYsIDB4QTgsCgogMHg1MSwgMHhBMywgMHg0MCwgMHg4RiwgMHg5MiwgMHg5RCwgMHgzOCwgMHhGNSwgMHhCQywgMHhCNiwgMHhEQSwgMHgyMSwgMHgxMCwgMHhGRiwgMHhGMywgMHhEMiwKCiAweENELCAweDBDLCAweDEzLCAweEVDLCAweDVGLCAweDk3LCAweDQ0LCAweDE3LCAweEM0LCAweEE3LCAweDdFLCAweDNELCAweDY0LCAweDVELCAweDE5LCAweDczLAoKIDB4NjAsIDB4ODEsIDB4NEYsIDB4REMsIDB4MjIsIDB4MkEsIDB4OTAsIDB4ODgsIDB4NDYsIDB4RUUsIDB4QjgsIDB4MTQsIDB4REUsIDB4NUUsIDB4MEIsIDB4REIsCgogMHhFMCwgMHgzMiwgMHgzQSwgMHgwQSwgMHg0OSwgMHgwNiwgMHgyNCwgMHg1QywgMHhDMiwgMHhEMywgMHhBQywgMHg2MiwgMHg5MSwgMHg5NSwgMHhFNCwgMHg3OSwKCiAweEU3LCAweEM4LCAweDM3LCAweDZELCAweDhELCAweEQ1LCAweDRFLCAweEE5LCAweDZDLCAweDU2LCAweEY0LCAweEVBLCAweDY1LCAweDdBLCAweEFFLCAweDA4LAoKIDB4QkEsIDB4NzgsIDB4MjUsIDB4MkUsIDB4MUMsIDB4QTYsIDB4QjQsIDB4QzYsIDB4RTgsIDB4REQsIDB4NzQsIDB4MUYsIDB4NEIsIDB4QkQsIDB4OEIsIDB4OEEsCgogMHg3MCwgMHgzRSwgMHhCNSwgMHg2NiwgMHg0OCwgMHgwMywgMHhGNiwgMHgwRSwgMHg2MSwgMHgzNSwgMHg1NywgMHhCOSwgMHg4NiwgMHhDMSwgMHgxRCwgMHg5RSwKCiAweEUxLCAweEY4LCAweDk4LCAweDExLCAweDY5LCAweEQ5LCAweDhFLCAweDk0LCAweDlCLCAweDFFLCAweDg3LCAweEU5LCAweENFLCAweDU1LCAweDI4LCAweERGLAoKIDB4OEMsIDB4QTEsIDB4ODksIDB4MEQsIDB4QkYsIDB4RTYsIDB4NDIsIDB4NjgsIDB4NDEsIDB4OTksIDB4MkQsIDB4MEYsIDB4QjAsIDB4NTQsIDB4QkIsIDB4MTZ9OwoKCgpsb2NhbCBJU0JPWCA9IHsKCiBbMF0gPSAweDUyLCAweDA5LCAweDZBLCAweEQ1LCAweDMwLCAweDM2LCAweEE1LCAweDM4LCAweEJGLCAweDQwLCAweEEzLCAweDlFLCAweDgxLCAweEYzLCAweEQ3LCAweEZCLAoKIDB4N0MsIDB4RTMsIDB4MzksIDB4ODIsIDB4OUIsIDB4MkYsIDB4RkYsIDB4ODcsIDB4MzQsIDB4OEUsIDB4NDMsIDB4NDQsIDB4QzQsIDB4REUsIDB4RTksIDB4Q0IsCgogMHg1NCwgMHg3QiwgMHg5NCwgMHgzMiwgMHhBNiwgMHhDMiwgMHgyMywgMHgzRCwgMHhFRSwgMHg0QywgMHg5NSwgMHgwQiwgMHg0MiwgMHhGQSwgMHhDMywgMHg0RSwKCiAweDA4LCAweDJFLCAweEExLCAweDY2LCAweDI4LCAweEQ5LCAweDI0LCAweEIyLCAweDc2LCAweDVCLCAweEEyLCAweDQ5LCAweDZELCAweDhCLCAweEQxLCAweDI1LAoKIDB4NzIsIDB4RjgsIDB4RjYsIDB4NjQsIDB4ODYsIDB4NjgsIDB4OTgsIDB4MTYsIDB4RDQsIDB4QTQsIDB4NUMsIDB4Q0MsIDB4NUQsIDB4NjUsIDB4QjYsIDB4OTIsCgogMHg2QywgMHg3MCwgMHg0OCwgMHg1MCwgMHhGRCwgMHhFRCwgMHhCOSwgMHhEQSwgMHg1RSwgMHgxNSwgMHg0NiwgMHg1NywgMHhBNywgMHg4RCwgMHg5RCwgMHg4NCwKCiAweDkwLCAweEQ4LCAweEFCLCAweDAwLCAweDhDLCAweEJDLCAweEQzLCAweDBBLCAweEY3LCAweEU0LCAweDU4LCAweDA1LCAweEI4LCAweEIzLCAweDQ1LCAweDA2LAoKIDB4RDAsIDB4MkMsIDB4MUUsIDB4OEYsIDB4Q0EsIDB4M0YsIDB4MEYsIDB4MDIsIDB4QzEsIDB4QUYsIDB4QkQsIDB4MDMsIDB4MDEsIDB4MTMsIDB4OEEsIDB4NkIsCgogMHgzQSwgMHg5MSwgMHgxMSwgMHg0MSwgMHg0RiwgMHg2NywgMHhEQywgMHhFQSwgMHg5NywgMHhGMiwgMHhDRiwgMHhDRSwgMHhGMCwgMHhCNCwgMHhFNiwgMHg3MywKCiAweDk2LCAweEFDLCAweDc0LCAweDIyLCAweEU3LCAweEFELCAweDM1LCAweDg1LCAweEUyLCAweEY5LCAweDM3LCAweEU4LCAweDFDLCAweDc1LCAweERGLCAweDZFLAoKIDB4NDcsIDB4RjEsIDB4MUEsIDB4NzEsIDB4MUQsIDB4MjksIDB4QzUsIDB4ODksIDB4NkYsIDB4QjcsIDB4NjIsIDB4MEUsIDB4QUEsIDB4MTgsIDB4QkUsIDB4MUIsCgogMHhGQywgMHg1NiwgMHgzRSwgMHg0QiwgMHhDNiwgMHhEMiwgMHg3OSwgMHgyMCwgMHg5QSwgMHhEQiwgMHhDMCwgMHhGRSwgMHg3OCwgMHhDRCwgMHg1QSwgMHhGNCwKCiAweDFGLCAweERELCAweEE4LCAweDMzLCAweDg4LCAweDA3LCAweEM3LCAweDMxLCAweEIxLCAweDEyLCAweDEwLCAweDU5LCAweDI3LCAweDgwLCAweEVDLCAweDVGLAoKIDB4NjAsIDB4NTEsIDB4N0YsIDB4QTksIDB4MTksIDB4QjUsIDB4NEEsIDB4MEQsIDB4MkQsIDB4RTUsIDB4N0EsIDB4OUYsIDB4OTMsIDB4QzksIDB4OUMsIDB4RUYsCgogMHhBMCwgMHhFMCwgMHgzQiwgMHg0RCwgMHhBRSwgMHgyQSwgMHhGNSwgMHhCMCwgMHhDOCwgMHhFQiwgMHhCQiwgMHgzQywgMHg4MywgMHg1MywgMHg5OSwgMHg2MSwKCiAweDE3LCAweDJCLCAweDA0LCAweDdFLCAweEJBLCAweDc3LCAweEQ2LCAweDI2LCAweEUxLCAweDY5LCAweDE0LCAweDYzLCAweDU1LCAweDIxLCAweDBDLCAweDdEfTsKCgoKbG9jYWwgUk9XX1NISUZUID0gIHsgIDEsICA2LCAxMSwgMTYsICA1LCAxMCwgMTUsICA0LCAgOSwgMTQsICAzLCAgOCwgMTMsICAyLCAgNywgMTIsIH07Cgpsb2NhbCBJUk9XX1NISUZUID0geyAgMSwgMTQsIDExLCAgOCwgIDUsICAyLCAxNSwgMTIsICA5LCAgNiwgIDMsIDE2LCAxMywgMTAsICA3LCAgNCwgfTsKCgoKbG9jYWwgRVRBQkxFID0gewoKIFswXSA9IDB4MDEsIDB4MDMsIDB4MDUsIDB4MEYsIDB4MTEsIDB4MzMsIDB4NTUsIDB4RkYsIDB4MUEsIDB4MkUsIDB4NzIsIDB4OTYsIDB4QTEsIDB4RjgsIDB4MTMsIDB4MzUsCgogMHg1RiwgMHhFMSwgMHgzOCwgMHg0OCwgMHhEOCwgMHg3MywgMHg5NSwgMHhBNCwgMHhGNywgMHgwMiwgMHgwNiwgMHgwQSwgMHgxRSwgMHgyMiwgMHg2NiwgMHhBQSwKCiAweEU1LCAweDM0LCAweDVDLCAweEU0LCAweDM3LCAweDU5LCAweEVCLCAweDI2LCAweDZBLCAweEJFLCAweEQ5LCAweDcwLCAweDkwLCAweEFCLCAweEU2LCAweDMxLAoKIDB4NTMsIDB4RjUsIDB4MDQsIDB4MEMsIDB4MTQsIDB4M0MsIDB4NDQsIDB4Q0MsIDB4NEYsIDB4RDEsIDB4NjgsIDB4QjgsIDB4RDMsIDB4NkUsIDB4QjIsIDB4Q0QsCgogMHg0QywgMHhENCwgMHg2NywgMHhBOSwgMHhFMCwgMHgzQiwgMHg0RCwgMHhENywgMHg2MiwgMHhBNiwgMHhGMSwgMHgwOCwgMHgxOCwgMHgyOCwgMHg3OCwgMHg4OCwKCiAweDgzLCAweDlFLCAweEI5LCAweEQwLCAweDZCLCAweEJELCAweERDLCAweDdGLCAweDgxLCAweDk4LCAweEIzLCAweENFLCAweDQ5LCAweERCLCAweDc2LCAweDlBLAoKIDB4QjUsIDB4QzQsIDB4NTcsIDB4RjksIDB4MTAsIDB4MzAsIDB4NTAsIDB4RjAsIDB4MEIsIDB4MUQsIDB4MjcsIDB4NjksIDB4QkIsIDB4RDYsIDB4NjEsIDB4QTMsCgogMHhGRSwgMHgxOSwgMHgyQiwgMHg3RCwgMHg4NywgMHg5MiwgMHhBRCwgMHhFQywgMHgyRiwgMHg3MSwgMHg5MywgMHhBRSwgMHhFOSwgMHgyMCwgMHg2MCwgMHhBMCwKCiAweEZCLCAweDE2LCAweDNBLCAweDRFLCAweEQyLCAweDZELCAweEI3LCAweEMyLCAweDVELCAweEU3LCAweDMyLCAweDU2LCAweEZBLCAweDE1LCAweDNGLCAweDQxLAoKIDB4QzMsIDB4NUUsIDB4RTIsIDB4M0QsIDB4NDcsIDB4QzksIDB4NDAsIDB4QzAsIDB4NUIsIDB4RUQsIDB4MkMsIDB4NzQsIDB4OUMsIDB4QkYsIDB4REEsIDB4NzUsCgogMHg5RiwgMHhCQSwgMHhENSwgMHg2NCwgMHhBQywgMHhFRiwgMHgyQSwgMHg3RSwgMHg4MiwgMHg5RCwgMHhCQywgMHhERiwgMHg3QSwgMHg4RSwgMHg4OSwgMHg4MCwKCiAweDlCLCAweEI2LCAweEMxLCAweDU4LCAweEU4LCAweDIzLCAweDY1LCAweEFGLCAweEVBLCAweDI1LCAweDZGLCAweEIxLCAweEM4LCAweDQzLCAweEM1LCAweDU0LAoKIDB4RkMsIDB4MUYsIDB4MjEsIDB4NjMsIDB4QTUsIDB4RjQsIDB4MDcsIDB4MDksIDB4MUIsIDB4MkQsIDB4NzcsIDB4OTksIDB4QjAsIDB4Q0IsIDB4NDYsIDB4Q0EsCgogMHg0NSwgMHhDRiwgMHg0QSwgMHhERSwgMHg3OSwgMHg4QiwgMHg4NiwgMHg5MSwgMHhBOCwgMHhFMywgMHgzRSwgMHg0MiwgMHhDNiwgMHg1MSwgMHhGMywgMHgwRSwKCiAweDEyLCAweDM2LCAweDVBLCAweEVFLCAweDI5LCAweDdCLCAweDhELCAweDhDLCAweDhGLCAweDhBLCAweDg1LCAweDk0LCAweEE3LCAweEYyLCAweDBELCAweDE3LAoKIDB4MzksIDB4NEIsIDB4REQsIDB4N0MsIDB4ODQsIDB4OTcsIDB4QTIsIDB4RkQsIDB4MUMsIDB4MjQsIDB4NkMsIDB4QjQsIDB4QzcsIDB4NTIsIDB4RjYsIDB4MDF9OwoKCgpsb2NhbCBMVEFCTEUgPSB7CgogWzBdID0gMHgwMCwgMHgwMCwgMHgxOSwgMHgwMSwgMHgzMiwgMHgwMiwgMHgxQSwgMHhDNiwgMHg0QiwgMHhDNywgMHgxQiwgMHg2OCwgMHgzMywgMHhFRSwgMHhERiwgMHgwMywKCiAweDY0LCAweDA0LCAweEUwLCAweDBFLCAweDM0LCAweDhELCAweDgxLCAweEVGLCAweDRDLCAweDcxLCAweDA4LCAweEM4LCAweEY4LCAweDY5LCAweDFDLCAweEMxLAoKIDB4N0QsIDB4QzIsIDB4MUQsIDB4QjUsIDB4RjksIDB4QjksIDB4MjcsIDB4NkEsIDB4NEQsIDB4RTQsIDB4QTYsIDB4NzIsIDB4OUEsIDB4QzksIDB4MDksIDB4NzgsCgogMHg2NSwgMHgyRiwgMHg4QSwgMHgwNSwgMHgyMSwgMHgwRiwgMHhFMSwgMHgyNCwgMHgxMiwgMHhGMCwgMHg4MiwgMHg0NSwgMHgzNSwgMHg5MywgMHhEQSwgMHg4RSwKCiAweDk2LCAweDhGLCAweERCLCAweEJELCAweDM2LCAweEQwLCAweENFLCAweDk0LCAweDEzLCAweDVDLCAweEQyLCAweEYxLCAweDQwLCAweDQ2LCAweDgzLCAweDM4LAoKIDB4NjYsIDB4REQsIDB4RkQsIDB4MzAsIDB4QkYsIDB4MDYsIDB4OEIsIDB4NjIsIDB4QjMsIDB4MjUsIDB4RTIsIDB4OTgsIDB4MjIsIDB4ODgsIDB4OTEsIDB4MTAsCgogMHg3RSwgMHg2RSwgMHg0OCwgMHhDMywgMHhBMywgMHhCNiwgMHgxRSwgMHg0MiwgMHgzQSwgMHg2QiwgMHgyOCwgMHg1NCwgMHhGQSwgMHg4NSwgMHgzRCwgMHhCQSwKCiAweDJCLCAweDc5LCAweDBBLCAweDE1LCAweDlCLCAweDlGLCAweDVFLCAweENBLCAweDRFLCAweEQ0LCAweEFDLCAweEU1LCAweEYzLCAweDczLCAweEE3LCAweDU3LAoKIDB4QUYsIDB4NTgsIDB4QTgsIDB4NTAsIDB4RjQsIDB4RUEsIDB4RDYsIDB4NzQsIDB4NEYsIDB4QUUsIDB4RTksIDB4RDUsIDB4RTcsIDB4RTYsIDB4QUQsIDB4RTgsCgogMHgyQywgMHhENywgMHg3NSwgMHg3QSwgMHhFQiwgMHgxNiwgMHgwQiwgMHhGNSwgMHg1OSwgMHhDQiwgMHg1RiwgMHhCMCwgMHg5QywgMHhBOSwgMHg1MSwgMHhBMCwKCiAweDdGLCAweDBDLCAweEY2LCAweDZGLCAweDE3LCAweEM0LCAweDQ5LCAweEVDLCAweEQ4LCAweDQzLCAweDFGLCAweDJELCAweEE0LCAweDc2LCAweDdCLCAweEI3LAoKIDB4Q0MsIDB4QkIsIDB4M0UsIDB4NUEsIDB4RkIsIDB4NjAsIDB4QjEsIDB4ODYsIDB4M0IsIDB4NTIsIDB4QTEsIDB4NkMsIDB4QUEsIDB4NTUsIDB4MjksIDB4OUQsCgogMHg5NywgMHhCMiwgMHg4NywgMHg5MCwgMHg2MSwgMHhCRSwgMHhEQywgMHhGQywgMHhCQywgMHg5NSwgMHhDRiwgMHhDRCwgMHgzNywgMHgzRiwgMHg1QiwgMHhEMSwKCiAweDUzLCAweDM5LCAweDg0LCAweDNDLCAweDQxLCAweEEyLCAweDZELCAweDQ3LCAweDE0LCAweDJBLCAweDlFLCAweDVELCAweDU2LCAweEYyLCAweEQzLCAweEFCLAoKIDB4NDQsIDB4MTEsIDB4OTIsIDB4RDksIDB4MjMsIDB4MjAsIDB4MkUsIDB4ODksIDB4QjQsIDB4N0MsIDB4QjgsIDB4MjYsIDB4NzcsIDB4OTksIDB4RTMsIDB4QTUsCgogMHg2NywgMHg0QSwgMHhFRCwgMHhERSwgMHhDNSwgMHgzMSwgMHhGRSwgMHgxOCwgMHgwRCwgMHg2MywgMHg4QywgMHg4MCwgMHhDMCwgMHhGNywgMHg3MCwgMHgwN307CgoKCmxvY2FsIE1JWFRBQkxFID0gewoKIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDEsCgogMHgwMSwgMHgwMiwgMHgwMywgMHgwMSwKCiAweDAxLCAweDAxLCAweDAyLCAweDAzLAoKIDB4MDMsIDB4MDEsIDB4MDEsIDB4MDJ9OwoKCgpsb2NhbCBJTUlYVEFCTEUgPSB7CgogMHgwRSwgMHgwQiwgMHgwRCwgMHgwOSwKCiAweDA5LCAweDBFLCAweDBCLCAweDBELAoKIDB4MEQsIDB4MDksIDB4MEUsIDB4MEIsCgogMHgwQiwgMHgwRCwgMHgwOSwgMHgwRX07CgoKCmxvY2FsIFJDT04gPSB7CgpbMF0gPSAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLCAweDlhLAoKMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwKCjB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsCgoweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LAoKMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwKCjB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsCgoweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLAoKMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywKCjB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsCgoweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLAoKMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywgMHhjNiwgMHg5NywgMHgzNSwKCjB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsIDB4NjEsIDB4YzIsIDB4OWYsCgoweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLCAweDhkLCAweDAxLCAweDAyLCAweDA0LAoKMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNiwgMHg2YywgMHhkOCwgMHhhYiwgMHg0ZCwgMHg5YSwgMHgyZiwgMHg1ZSwgMHhiYywgMHg2MywKCjB4YzYsIDB4OTcsIDB4MzUsIDB4NmEsIDB4ZDQsIDB4YjMsIDB4N2QsIDB4ZmEsIDB4ZWYsIDB4YzUsIDB4OTEsIDB4MzksIDB4NzIsIDB4ZTQsIDB4ZDMsIDB4YmQsCgoweDYxLCAweGMyLCAweDlmLCAweDI1LCAweDRhLCAweDk0LCAweDMzLCAweDY2LCAweGNjLCAweDgzLCAweDFkLCAweDNhLCAweDc0LCAweGU4LCAweGNiLCAweDhkfTsKCgoKCgpsb2NhbCBHTVVMID0gZnVuY3Rpb24oQSwgQikKCiAgICBpZihBID09IDB4MDEpIHRoZW4gcmV0dXJuIEI7IGVuZAoKICAgIGlmKEIgPT0gMHgwMSkgdGhlbiByZXR1cm4gQTsgZW5kCgogICAgaWYoQSA9PSAweDAwKSB0aGVuIHJldHVybiAwOyBlbmQKCiAgICBpZihCID09IDB4MDApIHRoZW4gcmV0dXJuIDA7IGVuZAoKCgogICAgbG9jYWwgTEEgPSBMVEFCTEVbQV07CgogICAgbG9jYWwgTEIgPSBMVEFCTEVbQl07CgoKCiAgICBsb2NhbCBzdW0gPSBMQSArIExCOwoKICAgIGlmIChzdW0gPiAweEZGKSB0aGVuIHN1bSA9IHN1bSAtIDB4RkY7IGVuZAoKCgogICAgcmV0dXJuIEVUQUJMRVtzdW1dOwoKZW5kCgoKCmxvY2FsIGJ5dGVTdWIgPSBBcnJheS5zdWJzdGl0dXRlOwoKCgpsb2NhbCBzaGlmdFJvdyA9IEFycmF5LnBlcm11dGU7CgoKCmxvY2FsIG1peENvbCA9IGZ1bmN0aW9uKGksIG1peCkKCiAgICBsb2NhbCBvdXQgPSB7fTsKCgoKICAgIGxvY2FsIGEsIGIsIGMsIGQ7CgoKCiAgICBhID0gR01VTChpWyAxXSwgbWl4WyAxXSk7CgogICAgYiA9IEdNVUwoaVsgMl0sIG1peFsgMl0pOwoKICAgIGMgPSBHTVVMKGlbIDNdLCBtaXhbIDNdKTsKCiAgICBkID0gR01VTChpWyA0XSwgbWl4WyA0XSk7CgogICAgb3V0WyAxXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgMV0sIG1peFsgNV0pOwoKICAgIGIgPSBHTVVMKGlbIDJdLCBtaXhbIDZdKTsKCiAgICBjID0gR01VTChpWyAzXSwgbWl4WyA3XSk7CgogICAgZCA9IEdNVUwoaVsgNF0sIG1peFsgOF0pOwoKICAgIG91dFsgMl0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDFdLCBtaXhbIDldKTsKCiAgICBiID0gR01VTChpWyAyXSwgbWl4WzEwXSk7CgogICAgYyA9IEdNVUwoaVsgM10sIG1peFsxMV0pOwoKICAgIGQgPSBHTVVMKGlbIDRdLCBtaXhbMTJdKTsKCiAgICBvdXRbIDNdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyAxXSwgbWl4WzEzXSk7CgogICAgYiA9IEdNVUwoaVsgMl0sIG1peFsxNF0pOwoKICAgIGMgPSBHTVVMKGlbIDNdLCBtaXhbMTVdKTsKCiAgICBkID0gR01VTChpWyA0XSwgbWl4WzE2XSk7CgogICAgb3V0WyA0XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgoKCgoKICAgIGEgPSBHTVVMKGlbIDVdLCBtaXhbIDFdKTsKCiAgICBiID0gR01VTChpWyA2XSwgbWl4WyAyXSk7CgogICAgYyA9IEdNVUwoaVsgN10sIG1peFsgM10pOwoKICAgIGQgPSBHTVVMKGlbIDhdLCBtaXhbIDRdKTsKCiAgICBvdXRbIDVdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA1XSwgbWl4WyA1XSk7CgogICAgYiA9IEdNVUwoaVsgNl0sIG1peFsgNl0pOwoKICAgIGMgPSBHTVVMKGlbIDddLCBtaXhbIDddKTsKCiAgICBkID0gR01VTChpWyA4XSwgbWl4WyA4XSk7CgogICAgb3V0WyA2XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgNV0sIG1peFsgOV0pOwoKICAgIGIgPSBHTVVMKGlbIDZdLCBtaXhbMTBdKTsKCiAgICBjID0gR01VTChpWyA3XSwgbWl4WzExXSk7CgogICAgZCA9IEdNVUwoaVsgOF0sIG1peFsxMl0pOwoKICAgIG91dFsgN10gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDVdLCBtaXhbMTNdKTsKCiAgICBiID0gR01VTChpWyA2XSwgbWl4WzE0XSk7CgogICAgYyA9IEdNVUwoaVsgN10sIG1peFsxNV0pOwoKICAgIGQgPSBHTVVMKGlbIDhdLCBtaXhbMTZdKTsKCiAgICBvdXRbIDhdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCgoKCgogICAgYSA9IEdNVUwoaVsgOV0sIG1peFsgMV0pOwoKICAgIGIgPSBHTVVMKGlbMTBdLCBtaXhbIDJdKTsKCiAgICBjID0gR01VTChpWzExXSwgbWl4WyAzXSk7CgogICAgZCA9IEdNVUwoaVsxMl0sIG1peFsgNF0pOwoKICAgIG91dFsgOV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDldLCBtaXhbIDVdKTsKCiAgICBiID0gR01VTChpWzEwXSwgbWl4WyA2XSk7CgogICAgYyA9IEdNVUwoaVsxMV0sIG1peFsgN10pOwoKICAgIGQgPSBHTVVMKGlbMTJdLCBtaXhbIDhdKTsKCiAgICBvdXRbMTBdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA5XSwgbWl4WyA5XSk7CgogICAgYiA9IEdNVUwoaVsxMF0sIG1peFsxMF0pOwoKICAgIGMgPSBHTVVMKGlbMTFdLCBtaXhbMTFdKTsKCiAgICBkID0gR01VTChpWzEyXSwgbWl4WzEyXSk7CgogICAgb3V0WzExXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgOV0sIG1peFsxM10pOwoKICAgIGIgPSBHTVVMKGlbMTBdLCBtaXhbMTRdKTsKCiAgICBjID0gR01VTChpWzExXSwgbWl4WzE1XSk7CgogICAgZCA9IEdNVUwoaVsxMl0sIG1peFsxNl0pOwoKICAgIG91dFsxMl0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKCgoKCiAgICBhID0gR01VTChpWzEzXSwgbWl4WyAxXSk7CgogICAgYiA9IEdNVUwoaVsxNF0sIG1peFsgMl0pOwoKICAgIGMgPSBHTVVMKGlbMTVdLCBtaXhbIDNdKTsKCiAgICBkID0gR01VTChpWzE2XSwgbWl4WyA0XSk7CgogICAgb3V0WzEzXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsxM10sIG1peFsgNV0pOwoKICAgIGIgPSBHTVVMKGlbMTRdLCBtaXhbIDZdKTsKCiAgICBjID0gR01VTChpWzE1XSwgbWl4WyA3XSk7CgogICAgZCA9IEdNVUwoaVsxNl0sIG1peFsgOF0pOwoKICAgIG91dFsxNF0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbMTNdLCBtaXhbIDldKTsKCiAgICBiID0gR01VTChpWzE0XSwgbWl4WzEwXSk7CgogICAgYyA9IEdNVUwoaVsxNV0sIG1peFsxMV0pOwoKICAgIGQgPSBHTVVMKGlbMTZdLCBtaXhbMTJdKTsKCiAgICBvdXRbMTVdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWzEzXSwgbWl4WzEzXSk7CgogICAgYiA9IEdNVUwoaVsxNF0sIG1peFsxNF0pOwoKICAgIGMgPSBHTVVMKGlbMTVdLCBtaXhbMTVdKTsKCiAgICBkID0gR01VTChpWzE2XSwgbWl4WzE2XSk7CgogICAgb3V0WzE2XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgoKCiAgICByZXR1cm4gb3V0OwoKZW5kCgoKCmxvY2FsIGtleVJvdW5kID0gZnVuY3Rpb24oa2V5LCByb3VuZCkKCiAgICBsb2NhbCBpID0gKHJvdW5kIC0gMSkgKiAyNDsKCiAgICBsb2NhbCBvdXQgPSBrZXk7CgoKCiAgICBvdXRbMjUgKyBpXSA9IFhPUihrZXlbIDEgKyBpXSwgWE9SKFNCT1hba2V5WzIyICsgaV1dLCBSQ09OW3JvdW5kXSkpOwoKICAgIG91dFsyNiArIGldID0gWE9SKGtleVsgMiArIGldLCBTQk9YW2tleVsyMyArIGldXSk7CgogICAgb3V0WzI3ICsgaV0gPSBYT1Ioa2V5WyAzICsgaV0sIFNCT1hba2V5WzI0ICsgaV1dKTsKCiAgICBvdXRbMjggKyBpXSA9IFhPUihrZXlbIDQgKyBpXSwgU0JPWFtrZXlbMjEgKyBpXV0pOwoKCgogICAgb3V0WzI5ICsgaV0gPSBYT1Iob3V0WzI1ICsgaV0sIGtleVsgNSArIGldKTsKCiAgICBvdXRbMzAgKyBpXSA9IFhPUihvdXRbMjYgKyBpXSwga2V5WyA2ICsgaV0pOwoKICAgIG91dFszMSArIGldID0gWE9SKG91dFsyNyArIGldLCBrZXlbIDcgKyBpXSk7CgogICAgb3V0WzMyICsgaV0gPSBYT1Iob3V0WzI4ICsgaV0sIGtleVsgOCArIGldKTsKCgoKICAgIG91dFszMyArIGldID0gWE9SKG91dFsyOSArIGldLCBrZXlbIDkgKyBpXSk7CgogICAgb3V0WzM0ICsgaV0gPSBYT1Iob3V0WzMwICsgaV0sIGtleVsxMCArIGldKTsKCiAgICBvdXRbMzUgKyBpXSA9IFhPUihvdXRbMzEgKyBpXSwga2V5WzExICsgaV0pOwoKICAgIG91dFszNiArIGldID0gWE9SKG91dFszMiArIGldLCBrZXlbMTIgKyBpXSk7CgoKCiAgICBvdXRbMzcgKyBpXSA9IFhPUihvdXRbMzMgKyBpXSwga2V5WzEzICsgaV0pOwoKICAgIG91dFszOCArIGldID0gWE9SKG91dFszNCArIGldLCBrZXlbMTQgKyBpXSk7CgogICAgb3V0WzM5ICsgaV0gPSBYT1Iob3V0WzM1ICsgaV0sIGtleVsxNSArIGldKTsKCiAgICBvdXRbNDAgKyBpXSA9IFhPUihvdXRbMzYgKyBpXSwga2V5WzE2ICsgaV0pOwoKCgogICAgb3V0WzQxICsgaV0gPSBYT1Iob3V0WzM3ICsgaV0sIGtleVsxNyArIGldKTsKCiAgICBvdXRbNDIgKyBpXSA9IFhPUihvdXRbMzggKyBpXSwga2V5WzE4ICsgaV0pOwoKICAgIG91dFs0MyArIGldID0gWE9SKG91dFszOSArIGldLCBrZXlbMTkgKyBpXSk7CgogICAgb3V0WzQ0ICsgaV0gPSBYT1Iob3V0WzQwICsgaV0sIGtleVsyMCArIGldKTsKCgoKICAgIG91dFs0NSArIGldID0gWE9SKG91dFs0MSArIGldLCBrZXlbMjEgKyBpXSk7CgogICAgb3V0WzQ2ICsgaV0gPSBYT1Iob3V0WzQyICsgaV0sIGtleVsyMiArIGldKTsKCiAgICBvdXRbNDcgKyBpXSA9IFhPUihvdXRbNDMgKyBpXSwga2V5WzIzICsgaV0pOwoKICAgIG91dFs0OCArIGldID0gWE9SKG91dFs0NCArIGldLCBrZXlbMjQgKyBpXSk7CgoKCiAgICByZXR1cm4gb3V0OwoKZW5kCgoKCmxvY2FsIGtleUV4cGFuZCA9IGZ1bmN0aW9uKGtleSkKCiAgICBsb2NhbCBieXRlcyA9IEFycmF5LmNvcHkoa2V5KTsKCgoKICAgIGZvciBpID0gMSwgOCBkbwoKICAgICAgICBrZXlSb3VuZChieXRlcywgaSk7CgogICAgZW5kCgoKCiAgICBsb2NhbCBrZXlzID0ge307CgoKCiAgICBrZXlzWyAxXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxLCAxNik7CgogICAga2V5c1sgMl0gPSBBcnJheS5zbGljZShieXRlcywgMTcsIDMyKTsKCiAgICBrZXlzWyAzXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAzMywgNDgpOwoKICAgIGtleXNbIDRdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDQ5LCA2NCk7CgogICAga2V5c1sgNV0gPSBBcnJheS5zbGljZShieXRlcywgNjUsIDgwKTsKCiAgICBrZXlzWyA2XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCA4MSwgOTYpOwoKICAgIGtleXNbIDddID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDk3LCAxMTIpOwoKICAgIGtleXNbIDhdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDExMywgMTI4KTsKCiAgICBrZXlzWyA5XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxMjksIDE0NCk7CgogICAga2V5c1sxMF0gPSBBcnJheS5zbGljZShieXRlcywgMTQ1LCAxNjApOwoKICAgIGtleXNbMTFdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDE2MSwgMTc2KTsKCiAgICBrZXlzWzEyXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxNzcsIDE5Mik7CgogICAga2V5c1sxM10gPSBBcnJheS5zbGljZShieXRlcywgMTkzLCAyMDgpOwoKCgogICAgcmV0dXJuIGtleXM7CgoKCmVuZAoKCgpsb2NhbCBhZGRLZXkgPSBBcnJheS5YT1I7CgoKCgoKCgpsb2NhbCBBRVMgPSB7fTsKCgoKQUVTLmJsb2NrU2l6ZSA9IDE2OwoKCgpBRVMuZW5jcnlwdCA9IGZ1bmN0aW9uKGtleSwgYmxvY2spCgoKCiAgICBsb2NhbCBrZXlTY2hlZHVsZSA9IGtleUV4cGFuZChrZXkpOwoKCgogICAgLS1yb3VuZCAwCgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzFdKTsKCgoKICAgIC0tcm91bmQgMQoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsyXSk7CgoKCiAgICAtLXJvdW5kIDIKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbM10pOwoKCgogICAgLS1yb3VuZCAzCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzRdKTsKCgoKICAgIC0tcm91bmQgNAoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs1XSk7CgoKCiAgICAtLXJvdW5kIDUKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNl0pOwoKCgogICAgLS1yb3VuZCA2CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzddKTsKCgoKICAgIC0tcm91bmQgNwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs4XSk7CgoKCiAgICAtLXJvdW5kIDgKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbOV0pOwoKCgogICAgLS1yb3VuZCA5CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzEwXSk7CgoKCiAgICAtLXJvdW5kIDEwCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzExXSk7CgoKCiAgICAtLXJvdW5kIDExCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzEyXSk7CgoKCiAgICAtLXJvdW5kIDEyCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxM10pOwoKCgogICAgcmV0dXJuIGJsb2NrOwoKCgplbmQKCgoKQUVTLmRlY3J5cHQgPSBmdW5jdGlvbihrZXksIGJsb2NrKQoKCgogICAgbG9jYWwga2V5U2NoZWR1bGUgPSBrZXlFeHBhbmQoa2V5KTsKCgoKICAgIC0tcm91bmQgMAoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxM10pOwoKCgogICAgLS1yb3VuZCAxCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzEyXSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDIKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTFdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMF0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA0CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzldKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs4XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDYKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbN10pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA3CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzZdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgOAoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs1XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDkKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNF0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAxMAoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVszXSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDExCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzJdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMTIKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMV0pOwoKCgogICAgcmV0dXJuIGJsb2NrOwoKZW5kCgoKCnJldHVybiBBRVM7AAAAAAAAbG9jYWwgQXJyYXkgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYXJyYXkiKTsKCmxvY2FsIEJpdCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5iaXQiKTsKCgoKbG9jYWwgWE9SID0gQml0LmJ4b3I7CgoKCmxvY2FsIFNCT1ggPSB7CgogWzBdID0gMHg2MywgMHg3QywgMHg3NywgMHg3QiwgMHhGMiwgMHg2QiwgMHg2RiwgMHhDNSwgMHgzMCwgMHgwMSwgMHg2NywgMHgyQiwgMHhGRSwgMHhENywgMHhBQiwgMHg3NiwKCiAweENBLCAweDgyLCAweEM5LCAweDdELCAweEZBLCAweDU5LCAweDQ3LCAweEYwLCAweEFELCAweEQ0LCAweEEyLCAweEFGLCAweDlDLCAweEE0LCAweDcyLCAweEMwLAoKIDB4QjcsIDB4RkQsIDB4OTMsIDB4MjYsIDB4MzYsIDB4M0YsIDB4RjcsIDB4Q0MsIDB4MzQsIDB4QTUsIDB4RTUsIDB4RjEsIDB4NzEsIDB4RDgsIDB4MzEsIDB4MTUsCgogMHgwNCwgMHhDNywgMHgyMywgMHhDMywgMHgxOCwgMHg5NiwgMHgwNSwgMHg5QSwgMHgwNywgMHgxMiwgMHg4MCwgMHhFMiwgMHhFQiwgMHgyNywgMHhCMiwgMHg3NSwKCiAweDA5LCAweDgzLCAweDJDLCAweDFBLCAweDFCLCAweDZFLCAweDVBLCAweEEwLCAweDUyLCAweDNCLCAweEQ2LCAweEIzLCAweDI5LCAweEUzLCAweDJGLCAweDg0LAoKIDB4NTMsIDB4RDEsIDB4MDAsIDB4RUQsIDB4MjAsIDB4RkMsIDB4QjEsIDB4NUIsIDB4NkEsIDB4Q0IsIDB4QkUsIDB4MzksIDB4NEEsIDB4NEMsIDB4NTgsIDB4Q0YsCgogMHhEMCwgMHhFRiwgMHhBQSwgMHhGQiwgMHg0MywgMHg0RCwgMHgzMywgMHg4NSwgMHg0NSwgMHhGOSwgMHgwMiwgMHg3RiwgMHg1MCwgMHgzQywgMHg5RiwgMHhBOCwKCiAweDUxLCAweEEzLCAweDQwLCAweDhGLCAweDkyLCAweDlELCAweDM4LCAweEY1LCAweEJDLCAweEI2LCAweERBLCAweDIxLCAweDEwLCAweEZGLCAweEYzLCAweEQyLAoKIDB4Q0QsIDB4MEMsIDB4MTMsIDB4RUMsIDB4NUYsIDB4OTcsIDB4NDQsIDB4MTcsIDB4QzQsIDB4QTcsIDB4N0UsIDB4M0QsIDB4NjQsIDB4NUQsIDB4MTksIDB4NzMsCgogMHg2MCwgMHg4MSwgMHg0RiwgMHhEQywgMHgyMiwgMHgyQSwgMHg5MCwgMHg4OCwgMHg0NiwgMHhFRSwgMHhCOCwgMHgxNCwgMHhERSwgMHg1RSwgMHgwQiwgMHhEQiwKCiAweEUwLCAweDMyLCAweDNBLCAweDBBLCAweDQ5LCAweDA2LCAweDI0LCAweDVDLCAweEMyLCAweEQzLCAweEFDLCAweDYyLCAweDkxLCAweDk1LCAweEU0LCAweDc5LAoKIDB4RTcsIDB4QzgsIDB4MzcsIDB4NkQsIDB4OEQsIDB4RDUsIDB4NEUsIDB4QTksIDB4NkMsIDB4NTYsIDB4RjQsIDB4RUEsIDB4NjUsIDB4N0EsIDB4QUUsIDB4MDgsCgogMHhCQSwgMHg3OCwgMHgyNSwgMHgyRSwgMHgxQywgMHhBNiwgMHhCNCwgMHhDNiwgMHhFOCwgMHhERCwgMHg3NCwgMHgxRiwgMHg0QiwgMHhCRCwgMHg4QiwgMHg4QSwKCiAweDcwLCAweDNFLCAweEI1LCAweDY2LCAweDQ4LCAweDAzLCAweEY2LCAweDBFLCAweDYxLCAweDM1LCAweDU3LCAweEI5LCAweDg2LCAweEMxLCAweDFELCAweDlFLAoKIDB4RTEsIDB4RjgsIDB4OTgsIDB4MTEsIDB4NjksIDB4RDksIDB4OEUsIDB4OTQsIDB4OUIsIDB4MUUsIDB4ODcsIDB4RTksIDB4Q0UsIDB4NTUsIDB4MjgsIDB4REYsCgogMHg4QywgMHhBMSwgMHg4OSwgMHgwRCwgMHhCRiwgMHhFNiwgMHg0MiwgMHg2OCwgMHg0MSwgMHg5OSwgMHgyRCwgMHgwRiwgMHhCMCwgMHg1NCwgMHhCQiwgMHgxNn07CgoKCmxvY2FsIElTQk9YID0gewoKIFswXSA9IDB4NTIsIDB4MDksIDB4NkEsIDB4RDUsIDB4MzAsIDB4MzYsIDB4QTUsIDB4MzgsIDB4QkYsIDB4NDAsIDB4QTMsIDB4OUUsIDB4ODEsIDB4RjMsIDB4RDcsIDB4RkIsCgogMHg3QywgMHhFMywgMHgzOSwgMHg4MiwgMHg5QiwgMHgyRiwgMHhGRiwgMHg4NywgMHgzNCwgMHg4RSwgMHg0MywgMHg0NCwgMHhDNCwgMHhERSwgMHhFOSwgMHhDQiwKCiAweDU0LCAweDdCLCAweDk0LCAweDMyLCAweEE2LCAweEMyLCAweDIzLCAweDNELCAweEVFLCAweDRDLCAweDk1LCAweDBCLCAweDQyLCAweEZBLCAweEMzLCAweDRFLAoKIDB4MDgsIDB4MkUsIDB4QTEsIDB4NjYsIDB4MjgsIDB4RDksIDB4MjQsIDB4QjIsIDB4NzYsIDB4NUIsIDB4QTIsIDB4NDksIDB4NkQsIDB4OEIsIDB4RDEsIDB4MjUsCgogMHg3MiwgMHhGOCwgMHhGNiwgMHg2NCwgMHg4NiwgMHg2OCwgMHg5OCwgMHgxNiwgMHhENCwgMHhBNCwgMHg1QywgMHhDQywgMHg1RCwgMHg2NSwgMHhCNiwgMHg5MiwKCiAweDZDLCAweDcwLCAweDQ4LCAweDUwLCAweEZELCAweEVELCAweEI5LCAweERBLCAweDVFLCAweDE1LCAweDQ2LCAweDU3LCAweEE3LCAweDhELCAweDlELCAweDg0LAoKIDB4OTAsIDB4RDgsIDB4QUIsIDB4MDAsIDB4OEMsIDB4QkMsIDB4RDMsIDB4MEEsIDB4RjcsIDB4RTQsIDB4NTgsIDB4MDUsIDB4QjgsIDB4QjMsIDB4NDUsIDB4MDYsCgogMHhEMCwgMHgyQywgMHgxRSwgMHg4RiwgMHhDQSwgMHgzRiwgMHgwRiwgMHgwMiwgMHhDMSwgMHhBRiwgMHhCRCwgMHgwMywgMHgwMSwgMHgxMywgMHg4QSwgMHg2QiwKCiAweDNBLCAweDkxLCAweDExLCAweDQxLCAweDRGLCAweDY3LCAweERDLCAweEVBLCAweDk3LCAweEYyLCAweENGLCAweENFLCAweEYwLCAweEI0LCAweEU2LCAweDczLAoKIDB4OTYsIDB4QUMsIDB4NzQsIDB4MjIsIDB4RTcsIDB4QUQsIDB4MzUsIDB4ODUsIDB4RTIsIDB4RjksIDB4MzcsIDB4RTgsIDB4MUMsIDB4NzUsIDB4REYsIDB4NkUsCgogMHg0NywgMHhGMSwgMHgxQSwgMHg3MSwgMHgxRCwgMHgyOSwgMHhDNSwgMHg4OSwgMHg2RiwgMHhCNywgMHg2MiwgMHgwRSwgMHhBQSwgMHgxOCwgMHhCRSwgMHgxQiwKCiAweEZDLCAweDU2LCAweDNFLCAweDRCLCAweEM2LCAweEQyLCAweDc5LCAweDIwLCAweDlBLCAweERCLCAweEMwLCAweEZFLCAweDc4LCAweENELCAweDVBLCAweEY0LAoKIDB4MUYsIDB4REQsIDB4QTgsIDB4MzMsIDB4ODgsIDB4MDcsIDB4QzcsIDB4MzEsIDB4QjEsIDB4MTIsIDB4MTAsIDB4NTksIDB4MjcsIDB4ODAsIDB4RUMsIDB4NUYsCgogMHg2MCwgMHg1MSwgMHg3RiwgMHhBOSwgMHgxOSwgMHhCNSwgMHg0QSwgMHgwRCwgMHgyRCwgMHhFNSwgMHg3QSwgMHg5RiwgMHg5MywgMHhDOSwgMHg5QywgMHhFRiwKCiAweEEwLCAweEUwLCAweDNCLCAweDRELCAweEFFLCAweDJBLCAweEY1LCAweEIwLCAweEM4LCAweEVCLCAweEJCLCAweDNDLCAweDgzLCAweDUzLCAweDk5LCAweDYxLAoKIDB4MTcsIDB4MkIsIDB4MDQsIDB4N0UsIDB4QkEsIDB4NzcsIDB4RDYsIDB4MjYsIDB4RTEsIDB4NjksIDB4MTQsIDB4NjMsIDB4NTUsIDB4MjEsIDB4MEMsIDB4N0R9OwoKCgpsb2NhbCBST1dfU0hJRlQgPSAgeyAgMSwgIDYsIDExLCAxNiwgIDUsIDEwLCAxNSwgIDQsICA5LCAxNCwgIDMsICA4LCAxMywgIDIsICA3LCAxMiwgfTsKCmxvY2FsIElST1dfU0hJRlQgPSB7ICAxLCAxNCwgMTEsICA4LCAgNSwgIDIsIDE1LCAxMiwgIDksICA2LCAgMywgMTYsIDEzLCAxMCwgIDcsICA0LCB9OwoKCgpsb2NhbCBFVEFCTEUgPSB7CgogWzBdID0gMHgwMSwgMHgwMywgMHgwNSwgMHgwRiwgMHgxMSwgMHgzMywgMHg1NSwgMHhGRiwgMHgxQSwgMHgyRSwgMHg3MiwgMHg5NiwgMHhBMSwgMHhGOCwgMHgxMywgMHgzNSwKCiAweDVGLCAweEUxLCAweDM4LCAweDQ4LCAweEQ4LCAweDczLCAweDk1LCAweEE0LCAweEY3LCAweDAyLCAweDA2LCAweDBBLCAweDFFLCAweDIyLCAweDY2LCAweEFBLAoKIDB4RTUsIDB4MzQsIDB4NUMsIDB4RTQsIDB4MzcsIDB4NTksIDB4RUIsIDB4MjYsIDB4NkEsIDB4QkUsIDB4RDksIDB4NzAsIDB4OTAsIDB4QUIsIDB4RTYsIDB4MzEsCgogMHg1MywgMHhGNSwgMHgwNCwgMHgwQywgMHgxNCwgMHgzQywgMHg0NCwgMHhDQywgMHg0RiwgMHhEMSwgMHg2OCwgMHhCOCwgMHhEMywgMHg2RSwgMHhCMiwgMHhDRCwKCiAweDRDLCAweEQ0LCAweDY3LCAweEE5LCAweEUwLCAweDNCLCAweDRELCAweEQ3LCAweDYyLCAweEE2LCAweEYxLCAweDA4LCAweDE4LCAweDI4LCAweDc4LCAweDg4LAoKIDB4ODMsIDB4OUUsIDB4QjksIDB4RDAsIDB4NkIsIDB4QkQsIDB4REMsIDB4N0YsIDB4ODEsIDB4OTgsIDB4QjMsIDB4Q0UsIDB4NDksIDB4REIsIDB4NzYsIDB4OUEsCgogMHhCNSwgMHhDNCwgMHg1NywgMHhGOSwgMHgxMCwgMHgzMCwgMHg1MCwgMHhGMCwgMHgwQiwgMHgxRCwgMHgyNywgMHg2OSwgMHhCQiwgMHhENiwgMHg2MSwgMHhBMywKCiAweEZFLCAweDE5LCAweDJCLCAweDdELCAweDg3LCAweDkyLCAweEFELCAweEVDLCAweDJGLCAweDcxLCAweDkzLCAweEFFLCAweEU5LCAweDIwLCAweDYwLCAweEEwLAoKIDB4RkIsIDB4MTYsIDB4M0EsIDB4NEUsIDB4RDIsIDB4NkQsIDB4QjcsIDB4QzIsIDB4NUQsIDB4RTcsIDB4MzIsIDB4NTYsIDB4RkEsIDB4MTUsIDB4M0YsIDB4NDEsCgogMHhDMywgMHg1RSwgMHhFMiwgMHgzRCwgMHg0NywgMHhDOSwgMHg0MCwgMHhDMCwgMHg1QiwgMHhFRCwgMHgyQywgMHg3NCwgMHg5QywgMHhCRiwgMHhEQSwgMHg3NSwKCiAweDlGLCAweEJBLCAweEQ1LCAweDY0LCAweEFDLCAweEVGLCAweDJBLCAweDdFLCAweDgyLCAweDlELCAweEJDLCAweERGLCAweDdBLCAweDhFLCAweDg5LCAweDgwLAoKIDB4OUIsIDB4QjYsIDB4QzEsIDB4NTgsIDB4RTgsIDB4MjMsIDB4NjUsIDB4QUYsIDB4RUEsIDB4MjUsIDB4NkYsIDB4QjEsIDB4QzgsIDB4NDMsIDB4QzUsIDB4NTQsCgogMHhGQywgMHgxRiwgMHgyMSwgMHg2MywgMHhBNSwgMHhGNCwgMHgwNywgMHgwOSwgMHgxQiwgMHgyRCwgMHg3NywgMHg5OSwgMHhCMCwgMHhDQiwgMHg0NiwgMHhDQSwKCiAweDQ1LCAweENGLCAweDRBLCAweERFLCAweDc5LCAweDhCLCAweDg2LCAweDkxLCAweEE4LCAweEUzLCAweDNFLCAweDQyLCAweEM2LCAweDUxLCAweEYzLCAweDBFLAoKIDB4MTIsIDB4MzYsIDB4NUEsIDB4RUUsIDB4MjksIDB4N0IsIDB4OEQsIDB4OEMsIDB4OEYsIDB4OEEsIDB4ODUsIDB4OTQsIDB4QTcsIDB4RjIsIDB4MEQsIDB4MTcsCgogMHgzOSwgMHg0QiwgMHhERCwgMHg3QywgMHg4NCwgMHg5NywgMHhBMiwgMHhGRCwgMHgxQywgMHgyNCwgMHg2QywgMHhCNCwgMHhDNywgMHg1MiwgMHhGNiwgMHgwMX07CgoKCmxvY2FsIExUQUJMRSA9IHsKCiBbMF0gPSAweDAwLCAweDAwLCAweDE5LCAweDAxLCAweDMyLCAweDAyLCAweDFBLCAweEM2LCAweDRCLCAweEM3LCAweDFCLCAweDY4LCAweDMzLCAweEVFLCAweERGLCAweDAzLAoKIDB4NjQsIDB4MDQsIDB4RTAsIDB4MEUsIDB4MzQsIDB4OEQsIDB4ODEsIDB4RUYsIDB4NEMsIDB4NzEsIDB4MDgsIDB4QzgsIDB4RjgsIDB4NjksIDB4MUMsIDB4QzEsCgogMHg3RCwgMHhDMiwgMHgxRCwgMHhCNSwgMHhGOSwgMHhCOSwgMHgyNywgMHg2QSwgMHg0RCwgMHhFNCwgMHhBNiwgMHg3MiwgMHg5QSwgMHhDOSwgMHgwOSwgMHg3OCwKCiAweDY1LCAweDJGLCAweDhBLCAweDA1LCAweDIxLCAweDBGLCAweEUxLCAweDI0LCAweDEyLCAweEYwLCAweDgyLCAweDQ1LCAweDM1LCAweDkzLCAweERBLCAweDhFLAoKIDB4OTYsIDB4OEYsIDB4REIsIDB4QkQsIDB4MzYsIDB4RDAsIDB4Q0UsIDB4OTQsIDB4MTMsIDB4NUMsIDB4RDIsIDB4RjEsIDB4NDAsIDB4NDYsIDB4ODMsIDB4MzgsCgogMHg2NiwgMHhERCwgMHhGRCwgMHgzMCwgMHhCRiwgMHgwNiwgMHg4QiwgMHg2MiwgMHhCMywgMHgyNSwgMHhFMiwgMHg5OCwgMHgyMiwgMHg4OCwgMHg5MSwgMHgxMCwKCiAweDdFLCAweDZFLCAweDQ4LCAweEMzLCAweEEzLCAweEI2LCAweDFFLCAweDQyLCAweDNBLCAweDZCLCAweDI4LCAweDU0LCAweEZBLCAweDg1LCAweDNELCAweEJBLAoKIDB4MkIsIDB4NzksIDB4MEEsIDB4MTUsIDB4OUIsIDB4OUYsIDB4NUUsIDB4Q0EsIDB4NEUsIDB4RDQsIDB4QUMsIDB4RTUsIDB4RjMsIDB4NzMsIDB4QTcsIDB4NTcsCgogMHhBRiwgMHg1OCwgMHhBOCwgMHg1MCwgMHhGNCwgMHhFQSwgMHhENiwgMHg3NCwgMHg0RiwgMHhBRSwgMHhFOSwgMHhENSwgMHhFNywgMHhFNiwgMHhBRCwgMHhFOCwKCiAweDJDLCAweEQ3LCAweDc1LCAweDdBLCAweEVCLCAweDE2LCAweDBCLCAweEY1LCAweDU5LCAweENCLCAweDVGLCAweEIwLCAweDlDLCAweEE5LCAweDUxLCAweEEwLAoKIDB4N0YsIDB4MEMsIDB4RjYsIDB4NkYsIDB4MTcsIDB4QzQsIDB4NDksIDB4RUMsIDB4RDgsIDB4NDMsIDB4MUYsIDB4MkQsIDB4QTQsIDB4NzYsIDB4N0IsIDB4QjcsCgogMHhDQywgMHhCQiwgMHgzRSwgMHg1QSwgMHhGQiwgMHg2MCwgMHhCMSwgMHg4NiwgMHgzQiwgMHg1MiwgMHhBMSwgMHg2QywgMHhBQSwgMHg1NSwgMHgyOSwgMHg5RCwKCiAweDk3LCAweEIyLCAweDg3LCAweDkwLCAweDYxLCAweEJFLCAweERDLCAweEZDLCAweEJDLCAweDk1LCAweENGLCAweENELCAweDM3LCAweDNGLCAweDVCLCAweEQxLAoKIDB4NTMsIDB4MzksIDB4ODQsIDB4M0MsIDB4NDEsIDB4QTIsIDB4NkQsIDB4NDcsIDB4MTQsIDB4MkEsIDB4OUUsIDB4NUQsIDB4NTYsIDB4RjIsIDB4RDMsIDB4QUIsCgogMHg0NCwgMHgxMSwgMHg5MiwgMHhEOSwgMHgyMywgMHgyMCwgMHgyRSwgMHg4OSwgMHhCNCwgMHg3QywgMHhCOCwgMHgyNiwgMHg3NywgMHg5OSwgMHhFMywgMHhBNSwKCiAweDY3LCAweDRBLCAweEVELCAweERFLCAweEM1LCAweDMxLCAweEZFLCAweDE4LCAweDBELCAweDYzLCAweDhDLCAweDgwLCAweEMwLCAweEY3LCAweDcwLCAweDA3fTsKCgoKbG9jYWwgTUlYVEFCTEUgPSB7CgogMHgwMiwgMHgwMywgMHgwMSwgMHgwMSwKCiAweDAxLCAweDAyLCAweDAzLCAweDAxLAoKIDB4MDEsIDB4MDEsIDB4MDIsIDB4MDMsCgogMHgwMywgMHgwMSwgMHgwMSwgMHgwMn07CgoKCmxvY2FsIElNSVhUQUJMRSA9IHsKCiAweDBFLCAweDBCLCAweDBELCAweDA5LAoKIDB4MDksIDB4MEUsIDB4MEIsIDB4MEQsCgogMHgwRCwgMHgwOSwgMHgwRSwgMHgwQiwKCiAweDBCLCAweDBELCAweDA5LCAweDBFfTsKCgoKbG9jYWwgUkNPTiA9IHsKClswXSA9IDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsIDB4YWIsIDB4NGQsIDB4OWEsCgoweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLCAweGM1LCAweDkxLCAweDM5LAoKMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywgMHg4MywgMHgxZCwgMHgzYSwKCjB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzYsIDB4NmMsIDB4ZDgsCgoweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLCAweDdkLCAweGZhLCAweGVmLAoKMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwgMHgzMywgMHg2NiwgMHhjYywKCjB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsCgoweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LCAweDZhLCAweGQ0LCAweGIzLAoKMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwgMHgyNSwgMHg0YSwgMHg5NCwKCjB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsCgoweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLCAweGM2LCAweDk3LCAweDM1LAoKMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwgMHg2MSwgMHhjMiwgMHg5ZiwKCjB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGQsIDB4MDEsIDB4MDIsIDB4MDQsCgoweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDFiLCAweDM2LCAweDZjLCAweGQ4LCAweGFiLCAweDRkLCAweDlhLCAweDJmLCAweDVlLCAweGJjLCAweDYzLAoKMHhjNiwgMHg5NywgMHgzNSwgMHg2YSwgMHhkNCwgMHhiMywgMHg3ZCwgMHhmYSwgMHhlZiwgMHhjNSwgMHg5MSwgMHgzOSwgMHg3MiwgMHhlNCwgMHhkMywgMHhiZCwKCjB4NjEsIDB4YzIsIDB4OWYsIDB4MjUsIDB4NGEsIDB4OTQsIDB4MzMsIDB4NjYsIDB4Y2MsIDB4ODMsIDB4MWQsIDB4M2EsIDB4NzQsIDB4ZTgsIDB4Y2IsIDB4OGR9OwoKCgoKCmxvY2FsIEdNVUwgPSBmdW5jdGlvbihBLCBCKQoKICAgIGlmKEEgPT0gMHgwMSkgdGhlbiByZXR1cm4gQjsgZW5kCgogICAgaWYoQiA9PSAweDAxKSB0aGVuIHJldHVybiBBOyBlbmQKCiAgICBpZihBID09IDB4MDApIHRoZW4gcmV0dXJuIDA7IGVuZAoKICAgIGlmKEIgPT0gMHgwMCkgdGhlbiByZXR1cm4gMDsgZW5kCgoKCiAgICBsb2NhbCBMQSA9IExUQUJMRVtBXTsKCiAgICBsb2NhbCBMQiA9IExUQUJMRVtCXTsKCgoKICAgIGxvY2FsIHN1bSA9IExBICsgTEI7CgogICAgaWYgKHN1bSA+IDB4RkYpIHRoZW4gc3VtID0gc3VtIC0gMHhGRjsgZW5kCgoKCiAgICByZXR1cm4gRVRBQkxFW3N1bV07CgplbmQKCgoKbG9jYWwgYnl0ZVN1YiA9IEFycmF5LnN1YnN0aXR1dGU7CgoKCmxvY2FsIHNoaWZ0Um93ID0gQXJyYXkucGVybXV0ZTsKCgoKbG9jYWwgbWl4Q29sID0gZnVuY3Rpb24oaSwgbWl4KQoKICAgIGxvY2FsIG91dCA9IHt9OwoKCgogICAgbG9jYWwgYSwgYiwgYywgZDsKCgoKICAgIGEgPSBHTVVMKGlbIDFdLCBtaXhbIDFdKTsKCiAgICBiID0gR01VTChpWyAyXSwgbWl4WyAyXSk7CgogICAgYyA9IEdNVUwoaVsgM10sIG1peFsgM10pOwoKICAgIGQgPSBHTVVMKGlbIDRdLCBtaXhbIDRdKTsKCiAgICBvdXRbIDFdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyAxXSwgbWl4WyA1XSk7CgogICAgYiA9IEdNVUwoaVsgMl0sIG1peFsgNl0pOwoKICAgIGMgPSBHTVVMKGlbIDNdLCBtaXhbIDddKTsKCiAgICBkID0gR01VTChpWyA0XSwgbWl4WyA4XSk7CgogICAgb3V0WyAyXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgMV0sIG1peFsgOV0pOwoKICAgIGIgPSBHTVVMKGlbIDJdLCBtaXhbMTBdKTsKCiAgICBjID0gR01VTChpWyAzXSwgbWl4WzExXSk7CgogICAgZCA9IEdNVUwoaVsgNF0sIG1peFsxMl0pOwoKICAgIG91dFsgM10gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDFdLCBtaXhbMTNdKTsKCiAgICBiID0gR01VTChpWyAyXSwgbWl4WzE0XSk7CgogICAgYyA9IEdNVUwoaVsgM10sIG1peFsxNV0pOwoKICAgIGQgPSBHTVVMKGlbIDRdLCBtaXhbMTZdKTsKCiAgICBvdXRbIDRdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCgoKCgogICAgYSA9IEdNVUwoaVsgNV0sIG1peFsgMV0pOwoKICAgIGIgPSBHTVVMKGlbIDZdLCBtaXhbIDJdKTsKCiAgICBjID0gR01VTChpWyA3XSwgbWl4WyAzXSk7CgogICAgZCA9IEdNVUwoaVsgOF0sIG1peFsgNF0pOwoKICAgIG91dFsgNV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDVdLCBtaXhbIDVdKTsKCiAgICBiID0gR01VTChpWyA2XSwgbWl4WyA2XSk7CgogICAgYyA9IEdNVUwoaVsgN10sIG1peFsgN10pOwoKICAgIGQgPSBHTVVMKGlbIDhdLCBtaXhbIDhdKTsKCiAgICBvdXRbIDZdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA1XSwgbWl4WyA5XSk7CgogICAgYiA9IEdNVUwoaVsgNl0sIG1peFsxMF0pOwoKICAgIGMgPSBHTVVMKGlbIDddLCBtaXhbMTFdKTsKCiAgICBkID0gR01VTChpWyA4XSwgbWl4WzEyXSk7CgogICAgb3V0WyA3XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgNV0sIG1peFsxM10pOwoKICAgIGIgPSBHTVVMKGlbIDZdLCBtaXhbMTRdKTsKCiAgICBjID0gR01VTChpWyA3XSwgbWl4WzE1XSk7CgogICAgZCA9IEdNVUwoaVsgOF0sIG1peFsxNl0pOwoKICAgIG91dFsgOF0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKCgoKCiAgICBhID0gR01VTChpWyA5XSwgbWl4WyAxXSk7CgogICAgYiA9IEdNVUwoaVsxMF0sIG1peFsgMl0pOwoKICAgIGMgPSBHTVVMKGlbMTFdLCBtaXhbIDNdKTsKCiAgICBkID0gR01VTChpWzEyXSwgbWl4WyA0XSk7CgogICAgb3V0WyA5XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsgOV0sIG1peFsgNV0pOwoKICAgIGIgPSBHTVVMKGlbMTBdLCBtaXhbIDZdKTsKCiAgICBjID0gR01VTChpWzExXSwgbWl4WyA3XSk7CgogICAgZCA9IEdNVUwoaVsxMl0sIG1peFsgOF0pOwoKICAgIG91dFsxMF0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbIDldLCBtaXhbIDldKTsKCiAgICBiID0gR01VTChpWzEwXSwgbWl4WzEwXSk7CgogICAgYyA9IEdNVUwoaVsxMV0sIG1peFsxMV0pOwoKICAgIGQgPSBHTVVMKGlbMTJdLCBtaXhbMTJdKTsKCiAgICBvdXRbMTFdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWyA5XSwgbWl4WzEzXSk7CgogICAgYiA9IEdNVUwoaVsxMF0sIG1peFsxNF0pOwoKICAgIGMgPSBHTVVMKGlbMTFdLCBtaXhbMTVdKTsKCiAgICBkID0gR01VTChpWzEyXSwgbWl4WzE2XSk7CgogICAgb3V0WzEyXSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgoKCgoKICAgIGEgPSBHTVVMKGlbMTNdLCBtaXhbIDFdKTsKCiAgICBiID0gR01VTChpWzE0XSwgbWl4WyAyXSk7CgogICAgYyA9IEdNVUwoaVsxNV0sIG1peFsgM10pOwoKICAgIGQgPSBHTVVMKGlbMTZdLCBtaXhbIDRdKTsKCiAgICBvdXRbMTNdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCiAgICBhID0gR01VTChpWzEzXSwgbWl4WyA1XSk7CgogICAgYiA9IEdNVUwoaVsxNF0sIG1peFsgNl0pOwoKICAgIGMgPSBHTVVMKGlbMTVdLCBtaXhbIDddKTsKCiAgICBkID0gR01VTChpWzE2XSwgbWl4WyA4XSk7CgogICAgb3V0WzE0XSA9IFhPUihYT1IoYSwgYiksIFhPUihjLCBkKSk7CgogICAgYSA9IEdNVUwoaVsxM10sIG1peFsgOV0pOwoKICAgIGIgPSBHTVVMKGlbMTRdLCBtaXhbMTBdKTsKCiAgICBjID0gR01VTChpWzE1XSwgbWl4WzExXSk7CgogICAgZCA9IEdNVUwoaVsxNl0sIG1peFsxMl0pOwoKICAgIG91dFsxNV0gPSBYT1IoWE9SKGEsIGIpLCBYT1IoYywgZCkpOwoKICAgIGEgPSBHTVVMKGlbMTNdLCBtaXhbMTNdKTsKCiAgICBiID0gR01VTChpWzE0XSwgbWl4WzE0XSk7CgogICAgYyA9IEdNVUwoaVsxNV0sIG1peFsxNV0pOwoKICAgIGQgPSBHTVVMKGlbMTZdLCBtaXhbMTZdKTsKCiAgICBvdXRbMTZdID0gWE9SKFhPUihhLCBiKSwgWE9SKGMsIGQpKTsKCgoKICAgIHJldHVybiBvdXQ7CgplbmQKCgoKbG9jYWwga2V5Um91bmQgPSBmdW5jdGlvbihrZXksIHJvdW5kKQoKICAgIGxvY2FsIGkgPSAocm91bmQgLSAxKSAqIDMyOwoKICAgIGxvY2FsIG91dCA9IGtleTsKCgoKICAgIG91dFszMyArIGldID0gWE9SKGtleVsgMSArIGldLCBYT1IoU0JPWFtrZXlbMzAgKyBpXV0sIFJDT05bcm91bmRdKSk7CgogICAgb3V0WzM0ICsgaV0gPSBYT1Ioa2V5WyAyICsgaV0sIFNCT1hba2V5WzMxICsgaV1dKTsKCiAgICBvdXRbMzUgKyBpXSA9IFhPUihrZXlbIDMgKyBpXSwgU0JPWFtrZXlbMzIgKyBpXV0pOwoKICAgIG91dFszNiArIGldID0gWE9SKGtleVsgNCArIGldLCBTQk9YW2tleVsyOSArIGldXSk7CgoKCiAgICBvdXRbMzcgKyBpXSA9IFhPUihvdXRbMzMgKyBpXSwga2V5WyA1ICsgaV0pOwoKICAgIG91dFszOCArIGldID0gWE9SKG91dFszNCArIGldLCBrZXlbIDYgKyBpXSk7CgogICAgb3V0WzM5ICsgaV0gPSBYT1Iob3V0WzM1ICsgaV0sIGtleVsgNyArIGldKTsKCiAgICBvdXRbNDAgKyBpXSA9IFhPUihvdXRbMzYgKyBpXSwga2V5WyA4ICsgaV0pOwoKCgogICAgb3V0WzQxICsgaV0gPSBYT1Iob3V0WzM3ICsgaV0sIGtleVsgOSArIGldKTsKCiAgICBvdXRbNDIgKyBpXSA9IFhPUihvdXRbMzggKyBpXSwga2V5WzEwICsgaV0pOwoKICAgIG91dFs0MyArIGldID0gWE9SKG91dFszOSArIGldLCBrZXlbMTEgKyBpXSk7CgogICAgb3V0WzQ0ICsgaV0gPSBYT1Iob3V0WzQwICsgaV0sIGtleVsxMiArIGldKTsKCgoKICAgIG91dFs0NSArIGldID0gWE9SKG91dFs0MSArIGldLCBrZXlbMTMgKyBpXSk7CgogICAgb3V0WzQ2ICsgaV0gPSBYT1Iob3V0WzQyICsgaV0sIGtleVsxNCArIGldKTsKCiAgICBvdXRbNDcgKyBpXSA9IFhPUihvdXRbNDMgKyBpXSwga2V5WzE1ICsgaV0pOwoKICAgIG91dFs0OCArIGldID0gWE9SKG91dFs0NCArIGldLCBrZXlbMTYgKyBpXSk7CgoKCgoKICAgIG91dFs0OSArIGldID0gWE9SKFNCT1hbb3V0WzQ1ICsgaV1dLCBrZXlbMTcgKyBpXSk7CgogICAgb3V0WzUwICsgaV0gPSBYT1IoU0JPWFtvdXRbNDYgKyBpXV0sIGtleVsxOCArIGldKTsKCiAgICBvdXRbNTEgKyBpXSA9IFhPUihTQk9YW291dFs0NyArIGldXSwga2V5WzE5ICsgaV0pOwoKICAgIG91dFs1MiArIGldID0gWE9SKFNCT1hbb3V0WzQ4ICsgaV1dLCBrZXlbMjAgKyBpXSk7CgoKCiAgICBvdXRbNTMgKyBpXSA9IFhPUihvdXRbNDkgKyBpXSwga2V5WzIxICsgaV0pOwoKICAgIG91dFs1NCArIGldID0gWE9SKG91dFs1MCArIGldLCBrZXlbMjIgKyBpXSk7CgogICAgb3V0WzU1ICsgaV0gPSBYT1Iob3V0WzUxICsgaV0sIGtleVsyMyArIGldKTsKCiAgICBvdXRbNTYgKyBpXSA9IFhPUihvdXRbNTIgKyBpXSwga2V5WzI0ICsgaV0pOwoKCgogICAgb3V0WzU3ICsgaV0gPSBYT1Iob3V0WzUzICsgaV0sIGtleVsyNSArIGldKTsKCiAgICBvdXRbNTggKyBpXSA9IFhPUihvdXRbNTQgKyBpXSwga2V5WzI2ICsgaV0pOwoKICAgIG91dFs1OSArIGldID0gWE9SKG91dFs1NSArIGldLCBrZXlbMjcgKyBpXSk7CgogICAgb3V0WzYwICsgaV0gPSBYT1Iob3V0WzU2ICsgaV0sIGtleVsyOCArIGldKTsKCgoKICAgIG91dFs2MSArIGldID0gWE9SKG91dFs1NyArIGldLCBrZXlbMjkgKyBpXSk7CgogICAgb3V0WzYyICsgaV0gPSBYT1Iob3V0WzU4ICsgaV0sIGtleVszMCArIGldKTsKCiAgICBvdXRbNjMgKyBpXSA9IFhPUihvdXRbNTkgKyBpXSwga2V5WzMxICsgaV0pOwoKICAgIG91dFs2NCArIGldID0gWE9SKG91dFs2MCArIGldLCBrZXlbMzIgKyBpXSk7CgoKCiAgICByZXR1cm4gb3V0OwoKZW5kCgoKCmxvY2FsIGtleUV4cGFuZCA9IGZ1bmN0aW9uKGtleSkKCiAgICBsb2NhbCBieXRlcyA9IEFycmF5LmNvcHkoa2V5KTsKCgoKICAgIGZvciBpID0gMSwgNyBkbwoKICAgICAgICBrZXlSb3VuZChieXRlcywgaSk7CgogICAgZW5kCgoKCiAgICBsb2NhbCBrZXlzID0ge307CgoKCiAgICBrZXlzWyAxXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxLCAxNik7CgogICAga2V5c1sgMl0gPSBBcnJheS5zbGljZShieXRlcywgMTcsIDMyKTsKCiAgICBrZXlzWyAzXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAzMywgNDgpOwoKICAgIGtleXNbIDRdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDQ5LCA2NCk7CgogICAga2V5c1sgNV0gPSBBcnJheS5zbGljZShieXRlcywgNjUsIDgwKTsKCiAgICBrZXlzWyA2XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCA4MSwgOTYpOwoKICAgIGtleXNbIDddID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDk3LCAxMTIpOwoKICAgIGtleXNbIDhdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDExMywgMTI4KTsKCiAgICBrZXlzWyA5XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxMjksIDE0NCk7CgogICAga2V5c1sxMF0gPSBBcnJheS5zbGljZShieXRlcywgMTQ1LCAxNjApOwoKICAgIGtleXNbMTFdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDE2MSwgMTc2KTsKCiAgICBrZXlzWzEyXSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAxNzcsIDE5Mik7CgogICAga2V5c1sxM10gPSBBcnJheS5zbGljZShieXRlcywgMTkzLCAyMDgpOwoKICAgIGtleXNbMTRdID0gQXJyYXkuc2xpY2UoYnl0ZXMsIDIwOSwgMjI0KTsKCiAgICBrZXlzWzE1XSA9IEFycmF5LnNsaWNlKGJ5dGVzLCAyMjUsIDI0MCk7CgoKCiAgICByZXR1cm4ga2V5czsKCgoKZW5kCgoKCmxvY2FsIGFkZEtleSA9IEFycmF5LlhPUjsKCgoKCgoKCmxvY2FsIEFFUyA9IHt9OwoKCgpBRVMuYmxvY2tTaXplID0gMTY7CgoKCkFFUy5lbmNyeXB0ID0gZnVuY3Rpb24oa2V5LCBibG9jaykKCgoKICAgIGxvY2FsIGtleVNjaGVkdWxlID0ga2V5RXhwYW5kKGtleSk7CgoKCiAgICAtLXJvdW5kIDAKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMV0pOwoKCgogICAgLS1yb3VuZCAxCgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzJdKTsKCgoKICAgIC0tcm91bmQgMgoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVszXSk7CgoKCiAgICAtLXJvdW5kIDMKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNF0pOwoKCgogICAgLS1yb3VuZCA0CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzVdKTsKCgoKICAgIC0tcm91bmQgNQoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs2XSk7CgoKCiAgICAtLXJvdW5kIDYKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbN10pOwoKCgogICAgLS1yb3VuZCA3CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBTQk9YKTsKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBNSVhUQUJMRSk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzhdKTsKCgoKICAgIC0tcm91bmQgOAoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgU0JPWCk7CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgUk9XX1NISUZUKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgTUlYVEFCTEUpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs5XSk7CgoKCiAgICAtLXJvdW5kIDkKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTBdKTsKCgoKICAgIC0tcm91bmQgMTAKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTFdKTsKCgoKICAgIC0tcm91bmQgMTEKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTJdKTsKCgoKICAgIC0tcm91bmQgMTIKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTNdKTsKCgoKICAgIC0tcm91bmQgMTMKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIE1JWFRBQkxFKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTRdKTsKCgoKICAgIC0tcm91bmQgMTQKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIFNCT1gpOwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIFJPV19TSElGVCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzE1XSk7CgoKCiAgICByZXR1cm4gYmxvY2s7CgoKCmVuZAoKCgpBRVMuZGVjcnlwdCA9IGZ1bmN0aW9uKGtleSwgYmxvY2spCgoKCiAgICBsb2NhbCBrZXlTY2hlZHVsZSA9IGtleUV4cGFuZChrZXkpOwoKCgogICAgLS1yb3VuZCAwCgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzE1XSk7CgoKCiAgICAtLXJvdW5kIDEKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTRdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMgoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxM10pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAzCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzEyXSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDQKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMTFdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxMF0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA2CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzldKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgNwoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs4XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDgKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbN10pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCA5CgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzZdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMTAKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbNV0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAxMQoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVs0XSk7CgogICAgYmxvY2sgPSBtaXhDb2woYmxvY2ssIElNSVhUQUJMRSk7CgoKCiAgICAtLXJvdW5kIDEyCgogICAgYmxvY2sgPSBzaGlmdFJvdyhibG9jaywgSVJPV19TSElGVCk7CgogICAgYmxvY2sgPSBieXRlU3ViKGJsb2NrLCBJU0JPWCk7CgogICAgYmxvY2sgPSBhZGRLZXkoYmxvY2ssIGtleVNjaGVkdWxlWzNdKTsKCiAgICBibG9jayA9IG1peENvbChibG9jaywgSU1JWFRBQkxFKTsKCgoKICAgIC0tcm91bmQgMTMKCiAgICBibG9jayA9IHNoaWZ0Um93KGJsb2NrLCBJUk9XX1NISUZUKTsKCiAgICBibG9jayA9IGJ5dGVTdWIoYmxvY2ssIElTQk9YKTsKCiAgICBibG9jayA9IGFkZEtleShibG9jaywga2V5U2NoZWR1bGVbMl0pOwoKICAgIGJsb2NrID0gbWl4Q29sKGJsb2NrLCBJTUlYVEFCTEUpOwoKCgogICAgLS1yb3VuZCAxNAoKICAgIGJsb2NrID0gc2hpZnRSb3coYmxvY2ssIElST1dfU0hJRlQpOwoKICAgIGJsb2NrID0gYnl0ZVN1YihibG9jaywgSVNCT1gpOwoKICAgIGJsb2NrID0gYWRkS2V5KGJsb2NrLCBrZXlTY2hlZHVsZVsxXSk7CgoKCiAgICByZXR1cm4gYmxvY2s7CgplbmQKCgoKcmV0dXJuIEFFUzsAAAAAbG9jYWwgaXNzYWMgPSByZXF1aXJlKCIuY3J5cHRvLmNpcGhlci5pc3NhYyIpCgpsb2NhbCBtb3J1cyA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLm1vcnVzIikKCmxvY2FsIGFlcyA9IHJlcXVpcmUoIi5jcnlwdG8uY2lwaGVyLmFlcyIpCgpsb2NhbCBub3J4ID0gcmVxdWlyZSgiLmNyeXB0by5jaXBoZXIubm9yeCIpCgoKCmxvY2FsIGNpcGhlciA9IHsKCiAgICBfdmVyc2lvbiA9ICIwLjAuMSIsCgogICAgaXNzYWMgPSBpc3NhYywKCiAgICBtb3J1cyA9IG1vcnVzLAoKICAgIGFlcyA9IGFlcywKCiAgICBub3J4ID0gbm9yeAoKfTsKCgoKcmV0dXJuIGNpcGhlcgBsb2NhbCBIZXggPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaGV4Iik7CgoKCi0tIEV4dGVybmFsIFJlc3VsdHMKCmxvY2FsIHJhbmRSc2wgPSB7fTsKCmxvY2FsIHJhbmRDbnQgPSAwOwoKCgotLSBJbnRlcm5hbCBTdGF0ZQoKbG9jYWwgbW0gPSB7fTsKCmxvY2FsIGFhLGJiLGNjID0gMCwwLDA7CgoKCi0tIENhcCB0byBtYWludGFpbiAzMiBiaXQgbWF0aHMKCmxvY2FsIGNhcCA9IDB4MTAwMDAwMDAwOwoKCgotLSBDaXBoZXJNb2RlCgpsb2NhbCBFTkNSWVBUID0gMTsKCmxvY2FsIERFQ1JZUFQgPSAyOwoKCgpsb2NhbCBmdW5jdGlvbiBpc2FhYygpCgogIGNjID0gKCBjYyArIDEgICkgJSBjYXA7IC0tIGNjIGp1c3QgZ2V0cyBpbmNyZW1lbnRlZCBvbmNlIHBlciAyNTYgcmVzdWx0cwoKICBiYiA9ICggYmIgKyBjYyApICUgY2FwOyAtLSB0aGVuIGNvbWJpbmVkIHdpdGggYmIKCgoKICBmb3IgaSA9IDAsMjU1IGRvCgogICAgbG9jYWwgICB4ICAgID0gbW1baV07CgogICAgbG9jYWwgICB5OwoKICAgIGxvY2FsICAgaW1vZCA9IGkgJSA0OwoKICAgIGlmICAgICAgaW1vZCA9PSAwIHRoZW4gYWEgPSBhYSB+IChhYSA8PCAxMyk7CgogICAgZWxzZWlmICBpbW9kID09IDEgdGhlbiBhYSA9IGFhIH4gKGFhID4+IDYpOwoKICAgIGVsc2VpZiAgaW1vZCA9PSAyIHRoZW4gYWEgPSBhYSB+IChhYSA8PCAyKTsKCiAgICBlbHNlaWYgIGltb2QgPT0gMyB0aGVuIGFhID0gYWEgfiAoYWEgPj4gMTYpOwoKICAgIGVuZAoKICAgIGFhICAgICAgICAgPSAoIG1tWyhpKzEyOCklMjU2XSArIGFhICkgJSBjYXA7CgogICAgeSAgICAgICAgICA9ICggbW1bKHg+PjIpICUgMjU2XSArIGFhICsgYmIgKSAlIGNhcDsKCiAgICBtbVtpXSAgICAgID0geTsKCiAgICBiYiAgICAgICAgID0gKCBtbVsoeT4+MTApJTI1Nl0gKyB4ICkgJSBjYXA7CgogICAgcmFuZFJzbFtpXSA9IGJiOwoKICBlbmQKCgoKICByYW5kQ250ID0gMDsgLS0gUHJlcGFyZSB0byB1c2UgdGhlIGZpcnN0IHNldCBvZiByZXN1bHRzLgoKCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gbWl4KGEpCgogIGFbMF0gPSAoIGFbMF0gfiAoIGFbMV0gPDwgMTEgKSApICUgY2FwOyAgYVszXSA9ICggYVszXSArIGFbMF0gKSAlIGNhcDsgIGFbMV0gPSAoIGFbMV0gKyBhWzJdICkgJSBjYXA7CgogIGFbMV0gPSAoIGFbMV0gfiAoIGFbMl0gPj4gIDIgKSApICUgY2FwOyAgYVs0XSA9ICggYVs0XSArIGFbMV0gKSAlIGNhcDsgIGFbMl0gPSAoIGFbMl0gKyBhWzNdICkgJSBjYXA7CgogIGFbMl0gPSAoIGFbMl0gfiAoIGFbM10gPDwgIDggKSApICUgY2FwOyAgYVs1XSA9ICggYVs1XSArIGFbMl0gKSAlIGNhcDsgIGFbM10gPSAoIGFbM10gKyBhWzRdICkgJSBjYXA7CgogIGFbM10gPSAoIGFbM10gfiAoIGFbNF0gPj4gMTYgKSApICUgY2FwOyAgYVs2XSA9ICggYVs2XSArIGFbM10gKSAlIGNhcDsgIGFbNF0gPSAoIGFbNF0gKyBhWzVdICkgJSBjYXA7CgogIGFbNF0gPSAoIGFbNF0gfiAoIGFbNV0gPDwgMTAgKSApICUgY2FwOyAgYVs3XSA9ICggYVs3XSArIGFbNF0gKSAlIGNhcDsgIGFbNV0gPSAoIGFbNV0gKyBhWzZdICkgJSBjYXA7CgogIGFbNV0gPSAoIGFbNV0gfiAoIGFbNl0gPj4gIDQgKSApICUgY2FwOyAgYVswXSA9ICggYVswXSArIGFbNV0gKSAlIGNhcDsgIGFbNl0gPSAoIGFbNl0gKyBhWzddICkgJSBjYXA7CgogIGFbNl0gPSAoIGFbNl0gfiAoIGFbN10gPDwgIDggKSApICUgY2FwOyAgYVsxXSA9ICggYVsxXSArIGFbNl0gKSAlIGNhcDsgIGFbN10gPSAoIGFbN10gKyBhWzBdICkgJSBjYXA7CgogIGFbN10gPSAoIGFbN10gfiAoIGFbMF0gPj4gIDkgKSApICUgY2FwOyAgYVsyXSA9ICggYVsyXSArIGFbN10gKSAlIGNhcDsgIGFbMF0gPSAoIGFbMF0gKyBhWzFdICkgJSBjYXA7CgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gcmFuZEluaXQoZmxhZykKCgoKICAtLSBUaGUgZ29sZGVuIHJhdGlvIGluIDMyIGJpdAoKICAtLSBtYXRoLmZsb29yKCgoKG1hdGguc3FydCg1KSsxKS8yKSUxKSoyXjMyKSA9PSAyNjU0NDM1NzY5ID09IDB4OWUzNzc5YjkKCiAgbG9jYWwgYSA9IHsgWzBdID0gMHg5ZTM3NzliOSwgMHg5ZTM3NzliOSwgMHg5ZTM3NzliOSwgMHg5ZTM3NzliOSwgMHg5ZTM3NzliOSwgMHg5ZTM3NzliOSwgMHg5ZTM3NzliOSwgMHg5ZTM3NzliOSwgfTsKCgoKICBhYSxiYixjYyA9IDAsMCwwOwoKCgogIGZvciBpID0gMSw0IGRvICBtaXgoYSkgIGVuZCAtLSBTY3JhbWJsZSBpdC4KCgoKICBmb3IgaSA9IDAsMjU1LDggZG8gLS0gRmlsbCBpbiBtbVtdIHdpdGggbWVzc3kgc3R1ZmYuCgogICAgaWYgZmxhZyB0aGVuIC0tIFVzZSBhbGwgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBzZWVkLgoKICAgICAgZm9yIGogPSAwLDcgZG8KCiAgICAgICAgYVtqXSA9ICggYVtqXSArIHJhbmRSc2xbaStqXSApICUgY2FwOwoKICAgICAgZW5kCgogICAgZW5kCgogICAgbWl4KGEpOwoKICAgIGZvciBqID0gMCw3IGRvCgogICAgICBtbVtpK2pdID0gYVtqXTsKCiAgICBlbmQKCiAgZW5kCgoKCiAgaWYgZmxhZyB0aGVuCgogICAgLS0gRG8gYSBzZWNvbmQgcGFzcyB0byBtYWtlIGFsbCBvZiB0aGUgc2VlZCBhZmZlY3QgYWxsIG9mIG1tLgoKICAgIGZvciBpID0gMCwyNTUsOCBkbwoKICAgICAgZm9yIGogPSAwLDcgZG8KCiAgICAgICAgYVtqXSA9ICggYVtqXSArIG1tW2kral0gKSAlIGNhcDsKCiAgICAgIGVuZAoKICAgICAgbWl4KGEpOwoKICAgICAgZm9yIGogPSAwLDcgZG8KCiAgICAgICAgbW1baStqXSA9IGFbal07CgogICAgICBlbmQKCiAgICBlbmQKCiAgZW5kCgoKCiAgaXNhYWMoKTsgLS0gRmlsbCBpbiB0aGUgZmlyc3Qgc2V0IG9mIHJlc3VsdHMuCgogIHJhbmRDbnQgPSAwOyAtLSBQcmVwYXJlIHRvIHVzZSB0aGUgZmlyc3Qgc2V0IG9mIHJlc3VsdHMuCgoKCmVuZAoKCgotLS0gU2VlZHMgdGhlIElTQUFDIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIHdpdGggdGhlIGdpdmVuIHNlZWQuCgotLS0gQHBhcmFtIHNlZWQgc3RyaW5nIC0gVGhlIHNlZWQgdG8gdXNlIGZvciB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuCgotLS0gQHBhcmFtIGZsYWc/IGJvb2xlYW4gLSBXaGV0aGVyIHRvIHVzZSBhbGwgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBzZWVkLiBEZWZhdWx0cyB0byB0cnVlLgoKbG9jYWwgZnVuY3Rpb24gc2VlZElzYWFjKHNlZWQsIGZsYWcpCgogIGxvY2FsIHNlZWRMZW5ndGggPSAjc2VlZDsKCiAgZm9yIGkgPSAwLDI1NSBkbyBtbVtpXSA9IDA7IGVuZAoKICBmb3IgaSA9IDAsMjU1IGRvIHJhbmRSc2xbaV0gPSBzZWVkOmJ5dGUoaSsxLGkrMSkgb3IgMDsgZW5kCgogIHJhbmRJbml0KGZsYWcpOwoKZW5kCgoKCi0tLSBSZXRyaWV2ZXMgYSByYW5kb20gbnVtYmVyIGZyb20gdGhlIElTQUFDIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yCgotLS0gQHJldHVybiBudW1iZXI6IFRoZSByYW5kb20gbnVtYmVyCgpsb2NhbCBmdW5jdGlvbiBnZXRSYW5kb20oKQoKICAgIGxvY2FsIHJlc3VsdCA9IHJhbmRSc2xbcmFuZENudF07CgogICAgcmFuZENudCA9IHJhbmRDbnQgKyAxOwoKICAgIGlmIHJhbmRDbnQgPiAyNTUgdGhlbgoKICAgICAgICBpc2FhYygpOwoKICAgICAgICByYW5kQ250ID0gMDsKCiAgICBlbmQKCiAgICByZXR1cm4gcmVzdWx0OwoKZW5kCgoKCi0tLSBHZXQgYSByYW5kb20gMzItYml0IHZhbHVlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLgoKLS0tIEBwYXJhbSBtaW4/IG51bWJlciAob3B0aW9uYWwpIC0gVGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHJhbmdlLiBEZWZhdWx0cyB0byAwLgoKLS0tIEBwYXJhbSBtYXg/IG51bWJlciAob3B0aW9uYWwpIC0gVGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHJhbmdlLiBEZWZhdWx0cyB0byAyXjMxLTEuCgotLS0gQHBhcmFtIHNlZWQ/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIHNlZWQgdG8gdXNlIGZvciB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuCgotLS0gQHJldHVybiBudW1iZXI6IFRoZSByYW5kb20gMzItYml0IHZhbHVlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLgoKbG9jYWwgZnVuY3Rpb24gcmFuZG9tKG1pbiwgbWF4LCBzZWVkKQoKICAgIGxvY2FsIG1pbiA9IG1pbiBvciAwOwoKICAgIGxvY2FsIG1heCA9IG1heCBvciAyXjMxLTE7CgogICAgaWYgc2VlZCB0aGVuCgogICAgICBzZWVkSXNhYWMoc2VlZCwgdHJ1ZSk7CgogICAgZWxzZQoKICAgICAgc2VlZElzYWFjKHRvc3RyaW5nKG1hdGgucmFuZG9tKDJeMzEtMSkpLCBmYWxzZSk7CgogICAgZW5kCgogICAgcmV0dXJuIChnZXRSYW5kb20oKSAlIChtYXggLSBtaW4gKyAxKSkgKyBtaW47CgplbmQKCgoKCgotLS0gR2V0IGEgcmFuZG9tIGNoYXJhY3RlciBpbiBwcmludGFibGUgQVNDSUkgcmFuZ2UuCgotLS0gQHJldHVybiBudW1iZXI6IFRoZSByYW5kb20gY2hhcmFjdGVyIFszMiwgMTI2XS4KCmxvY2FsIGZ1bmN0aW9uIGdldFJhbmRvbUNoYXIoKQoKICAgIHJldHVybiBnZXRSYW5kb20oKSAlIDk1ICsgMzI7CgplbmQKCgoKLS0gQ2Flc2FyLXNoaWZ0IGEgY2hhcmFjdGVyIDxzaGlmdD4gcGxhY2VzOiBHZW5lcmFsaXplZCBWaWdlbmVyZQoKbG9jYWwgZnVuY3Rpb24gY2Flc2FyKG0sIGNoLCBzaGlmdCwgbW9kdWxvLCBzdGFydCkKCiAgbG9jYWwgbgoKICBsb2NhbCBzaSA9IDEKCiAgaWYgbSA9PSBERUNSWVBUIHRoZW4gc2hpZnQgPSBzaGlmdCotMSA7IGVuZAoKICBuID0gKGNoIC0gc3RhcnQpICsgc2hpZnQ7CgogIGlmIG4gPCAwIHRoZW4gc2ksbiA9IC0xLG4qLTEgOyBlbmQKCiAgbiA9ICggbiAlIG1vZHVsbyApICogc2k7CgogIGlmIG4gPCAwIHRoZW4gbiA9IG4gKyBtb2R1bG8gOyBlbmQKCiAgcmV0dXJuIHN0YXJ0ICsgbjsKCmVuZAoKCgotLS0gRW5jcnlwdHMgYSBtZXNzYWdlIHVzaW5nIHRoZSBJU1NBQyBjaXBoZXIgYWxnb3JpdGhtLgoKLS0tIEBwYXJhbSBtc2cgc3RyaW5nIC0gVGhlIG1lc3NhZ2UgdG8gYmUgZW5jcnlwdGVkLgoKLS0tIEBwYXJhbSBrZXkgc3RyaW5nIC0gVGhlIGtleSB1c2VkIGZvciBlbmNyeXB0aW9uLgoKLS0tIEByZXR1cm5zIHRhYmxlIC0gQSB0YWJsZSBjb250YWluaW5nIHRoZSBlbmNyeXB0ZWQgbWVzc2FnZSBpbiBieXRlcywgc3RyaW5nLCBhbmQgaGV4IGZvcm1hdHMuCgpsb2NhbCBmdW5jdGlvbiBlbmNyeXB0KG1zZywga2V5KQoKICAgIHNlZWRJc2FhYyhrZXksIHRydWUpOwoKICAgIGxvY2FsIG1zZ0xlbmd0aCA9ICNtc2c7CgogICAgbG9jYWwgZGVzdGluYXRpb24gPSB7fTsKCiAgICAKCiAgICBmb3IgaSA9IDEsIG1zZ0xlbmd0aCBkbyAKCiAgICAgICAgZGVzdGluYXRpb25baV0gPSBzdHJpbmcuY2hhcihjYWVzYXIoMSwgbXNnOmJ5dGUoaSwgaSksIGdldFJhbmRvbUNoYXIoKSwgOTUsIDMyKSk7CgogICAgZW5kCgogICAgCgogICAgbG9jYWwgZW5jcnlwdGVkID0gZGVzdGluYXRpb24KCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9CgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBlbmNyeXB0ZWQKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIHRhYmxlLmNvbmNhdChlbmNyeXB0ZWQpCgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBIZXguc3RyaW5nVG9IZXgodGFibGUuY29uY2F0KGVuY3J5cHRlZCkpCgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljCgplbmQKCgoKLS0tIERlY3J5cHRzIGFuIGVuY3J5cHRlZCBtZXNzYWdlIHVzaW5nIHRoZSBJU1NBQyBjaXBoZXIgYWxnb3JpdGhtLgoKLS0tIEBwYXJhbSBlbmNyeXB0ZWQgc3RyaW5nIC0gVGhlIGVuY3J5cHRlZCBtZXNzYWdlIHRvIGJlIGRlY3J5cHRlZC4KCi0tLSBAcGFyYW0ga2V5IHN0cmluZyAtIFRoZSBrZXkgdXNlZCBmb3IgZW5jcnlwdGlvbi4KCi0tLSBAcmV0dXJucyBzdHJpbmcgLSBUaGUgZGVjcnlwdGVkIG1lc3NhZ2UuCgpsb2NhbCBmdW5jdGlvbiBkZWNyeXB0KGVuY3J5cHRlZCwga2V5KQoKICAgIHNlZWRJc2FhYyhrZXksIHRydWUpOwoKICAgIGxvY2FsIG1zZ0xlbmd0aCA9ICNlbmNyeXB0ZWQ7CgogICAgbG9jYWwgZGVzdGluYXRpb24gPSB7fTsKCiAgICAKCiAgICBmb3IgaSA9IDEsIG1zZ0xlbmd0aCBkbyAKCiAgICAgICAgZGVzdGluYXRpb25baV0gPSBzdHJpbmcuY2hhcihjYWVzYXIoMiwgZW5jcnlwdGVkOmJ5dGUoaSwgaSksIGdldFJhbmRvbUNoYXIoKSwgOTUsIDMyKSk7CgogICAgZW5kCgogICAgCgogICAgcmV0dXJuIHRhYmxlLmNvbmNhdChkZXN0aW5hdGlvbik7CgplbmQKCgoKcmV0dXJuIHsKCiAgICBzZWVkSXNhYWMgPSBzZWVkSXNhYWMsCgogICAgZ2V0UmFuZG9tQ2hhciA9IGdldFJhbmRvbUNoYXIsCgogICAgcmFuZG9tID0gcmFuZG9tLAoKICAgIGdldFJhbmRvbSA9IGdldFJhbmRvbSwKCiAgICBlbmNyeXB0ID0gZW5jcnlwdCwKCiAgICBkZWNyeXB0ID0gZGVjcnlwdAoKfQAAAABsb2NhbCBIZXggPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaGV4Iik7CgoKCmxvY2FsIGZ1bmN0aW9uIHN0YXRlX3VwZGF0ZShzLCBtMCwgbTEsIG0yLCBtMykKCglsb2NhbCBzMDAsIHMwMSwgczAyLCBzMDMgPSBzWzFdLCAgc1syXSwgIHNbM10sICBzWzRdCgoJbG9jYWwgczEwLCBzMTEsIHMxMiwgczEzID0gc1s1XSwgIHNbNl0sICBzWzddLCAgc1s4XQoKCWxvY2FsIHMyMCwgczIxLCBzMjIsIHMyMyA9IHNbOV0sICBzWzEwXSwgc1sxMV0sIHNbMTJdCgoJbG9jYWwgczMwLCBzMzEsIHMzMiwgczMzID0gc1sxM10sIHNbMTRdLCBzWzE1XSwgc1sxNl0KCglsb2NhbCBzNDAsIHM0MSwgczQyLCBzNDMgPSBzWzE3XSwgc1sxOF0sIHNbMTldLCBzWzIwXQoKCWxvY2FsIHRlbXAKCgoKCXMwMCA9IHMwMCB+IHMzMAoKCXMwMSA9IHMwMSB+IHMzMQoKCXMwMiA9IHMwMiB+IHMzMgoKCXMwMyA9IHMwMyB+IHMzMwoKCgoJdGVtcCA9IHMzMwoKCXMzMyA9IHMzMgoKCXMzMiA9IHMzMQoKCXMzMSA9IHMzMAoKCXMzMCA9IHRlbXAKCgoKCXMwMCA9IHMwMCB+IHMxMCAmIHMyMAoKCXMwMSA9IHMwMSB+IHMxMSAmIHMyMQoKCXMwMiA9IHMwMiB+IHMxMiAmIHMyMgoKCXMwMyA9IHMwMyB+IHMxMyAmIHMyMwoKCgoJczAwID0gKHMwMCA8PCAxMykgfCAoczAwID4+ICg2NC0xMykpIC0tbjEKCglzMDEgPSAoczAxIDw8IDEzKSB8IChzMDEgPj4gKDY0LTEzKSkgLS1uMQoKCXMwMiA9IChzMDIgPDwgMTMpIHwgKHMwMiA+PiAoNjQtMTMpKSAtLW4xCgoJczAzID0gKHMwMyA8PCAxMykgfCAoczAzID4+ICg2NC0xMykpIC0tbjEKCgoKCgoJczEwID0gczEwIH4gbTAKCglzMTEgPSBzMTEgfiBtMQoKCXMxMiA9IHMxMiB+IG0yCgoJczEzID0gczEzIH4gbTMKCgoKCXMxMCA9IHMxMCB+IHM0MAoKCXMxMSA9IHMxMSB+IHM0MQoKCXMxMiA9IHMxMiB+IHM0MgoKCXMxMyA9IHMxMyB+IHM0MwoKCgoJdGVtcCA9IHM0MwoKCXM0MyA9IHM0MQoKCXM0MSA9IHRlbXAKCgoKCXRlbXAgPSBzNDIKCglzNDIgPSBzNDAKCglzNDAgPSB0ZW1wCgoKCglzMTAgPSBzMTAgfiAoczIwICYgczMwKQoKCXMxMSA9IHMxMSB+IChzMjEgJiBzMzEpCgoJczEyID0gczEyIH4gKHMyMiAmIHMzMikKCglzMTMgPSBzMTMgfiAoczIzICYgczMzKQoKCgoJczEwID0gKHMxMCA8PCA0NikgfCAoczEwID4+ICg2NC00NikpIC0tbjIKCglzMTEgPSAoczExIDw8IDQ2KSB8IChzMTEgPj4gKDY0LTQ2KSkgLS1uMgoKCXMxMiA9IChzMTIgPDwgNDYpIHwgKHMxMiA+PiAoNjQtNDYpKSAtLW4yCgoJczEzID0gKHMxMyA8PCA0NikgfCAoczEzID4+ICg2NC00NikpIC0tbjIKCgoKCgoJczIwID0gczIwIH4gbTAKCglzMjEgPSBzMjEgfiBtMQoKCXMyMiA9IHMyMiB+IG0yCgoJczIzID0gczIzIH4gbTMKCgoKCXMyMCA9IHMyMCB+IHMwMAoKCXMyMSA9IHMyMSB+IHMwMQoKCXMyMiA9IHMyMiB+IHMwMgoKCXMyMyA9IHMyMyB+IHMwMwoKCgoJdGVtcCA9IHMwMAoKCXMwMCA9IHMwMQoKCXMwMSA9IHMwMgoKCXMwMiA9IHMwMwoKCXMwMyA9IHRlbXAKCgoKCXMyMCA9IHMyMCB+IHMzMCAmIHM0MAoKCXMyMSA9IHMyMSB+IHMzMSAmIHM0MQoKCXMyMiA9IHMyMiB+IHMzMiAmIHM0MgoKCXMyMyA9IHMyMyB+IHMzMyAmIHM0MwoKCgoJczIwID0gKHMyMCA8PCAzOCkgfCAoczIwID4+ICg2NC0zOCkpIC0tbjMKCglzMjEgPSAoczIxIDw8IDM4KSB8IChzMjEgPj4gKDY0LTM4KSkgLS1uMwoKCXMyMiA9IChzMjIgPDwgMzgpIHwgKHMyMiA+PiAoNjQtMzgpKSAtLW4zCgoJczIzID0gKHMyMyA8PCAzOCkgfCAoczIzID4+ICg2NC0zOCkpIC0tbjMKCgoKCgoJczMwID0gczMwIH4gbTAKCglzMzEgPSBzMzEgfiBtMQoKCXMzMiA9IHMzMiB+IG0yCgoJczMzID0gczMzIH4gbTMKCgoKCXMzMCA9IHMzMCB+IHMxMAoKCXMzMSA9IHMzMSB+IHMxMQoKCXMzMiA9IHMzMiB+IHMxMgoKCXMzMyA9IHMzMyB+IHMxMwoKCgoJdGVtcCA9IHMxMwoKCXMxMyA9IHMxMQoKCXMxMSA9IHRlbXAKCgoKCXRlbXAgPSBzMTIKCglzMTIgPSBzMTAKCglzMTAgPSB0ZW1wCgoKCglzMzAgPSBzMzAgfiBzNDAgJiBzMDAKCglzMzEgPSBzMzEgfiBzNDEgJiBzMDEKCglzMzIgPSBzMzIgfiBzNDIgJiBzMDIKCglzMzMgPSBzMzMgfiBzNDMgJiBzMDMKCgoKCXMzMCA9IChzMzAgPDwgNykgfCAoczMwID4+ICg2NC03KSkgLS1uNAoKCXMzMSA9IChzMzEgPDwgNykgfCAoczMxID4+ICg2NC03KSkgLS1uNAoKCXMzMiA9IChzMzIgPDwgNykgfCAoczMyID4+ICg2NC03KSkgLS1uNAoKCXMzMyA9IChzMzMgPDwgNykgfCAoczMzID4+ICg2NC03KSkgLS1uNAoKCgoKCglzNDAgPSBzNDAgfiBtMAoKCXM0MSA9IHM0MSB+IG0xCgoJczQyID0gczQyIH4gbTIKCglzNDMgPSBzNDMgfiBtMwoKCgoJczQwID0gczQwIH4gczIwCgoJczQxID0gczQxIH4gczIxCgoJczQyID0gczQyIH4gczIyCgoJczQzID0gczQzIH4gczIzCgoKCgl0ZW1wID0gczIzCgoJczIzID0gczIyCgoJczIyID0gczIxCgoJczIxID0gczIwCgoJczIwID0gdGVtcAoKCgoJczQwID0gczQwIH4gczAwICYgczEwCgoJczQxID0gczQxIH4gczAxICYgczExCgoJczQyID0gczQyIH4gczAyICYgczEyCgoJczQzID0gczQzIH4gczAzICYgczEzCgoKCglzNDAgPSAoczQwIDw8IDQpIHwgKHM0MCA+PiAoNjQtNCkpIC0tbjUKCglzNDEgPSAoczQxIDw8IDQpIHwgKHM0MSA+PiAoNjQtNCkpIC0tbjUKCglzNDIgPSAoczQyIDw8IDQpIHwgKHM0MiA+PiAoNjQtNCkpIC0tbjUKCglzNDMgPSAoczQzIDw8IDQpIHwgKHM0MyA+PiAoNjQtNCkpIC0tbjUKCgoKCS0tIHVwZGF0ZSB0aGUgc3RhdGUgYXJyYXkKCglzWzFdLCAgc1syXSwgIHNbM10sICBzWzRdICA9IHMwMCwgczAxLCBzMDIsIHMwMwoKCXNbNV0sICBzWzZdLCAgc1s3XSwgIHNbOF0gID0gczEwLCBzMTEsIHMxMiwgczEzCgoJc1s5XSwgIHNbMTBdLCBzWzExXSwgc1sxMl0gPSBzMjAsIHMyMSwgczIyLCBzMjMKCglzWzEzXSwgc1sxNF0sIHNbMTVdLCBzWzE2XSA9IHMzMCwgczMxLCBzMzIsIHMzMwoKCXNbMTddLCBzWzE4XSwgc1sxOV0sIHNbMjBdID0gczQwLCBzNDEsIHM0MiwgczQzCgoKCmVuZC0tc3RhdGVfdXBkYXRlKCkKCgoKbG9jYWwgZnVuY3Rpb24gZW5jX2F1dF9zdGVwKHMsIG0wLCBtMSwgbTIsIG0zKQoKCS0tICAgICAgICAgbTAgICBzMDAgICAgczExICAgIHMyMCAgICAgczMwCgoJbG9jYWwgYzAgPSBtMCB+IHNbMV0gfiBzWzZdIH4gKHNbOV0gICYgc1sxM10pCgoJLS0gICAgICAgICBtMSAgIHMwMSAgICBzMTIgICAgczIxICAgICBzMzEKCglsb2NhbCBjMSA9IG0xIH4gc1syXSB+IHNbN10gfiAoc1sxMF0gJiBzWzE0XSkKCgktLSAgICAgICAgIG0yICAgczAyICAgIHMxMyAgICBzMjIgICAgIHMzMgoKCWxvY2FsIGMyID0gbTIgfiBzWzNdIH4gc1s4XSB+IChzWzExXSAmIHNbMTVdKQoKCS0tICAgICAgICAgbTMgICBzMDMgICAgczEwICAgIHMyMyAgICAgczMzCgoJbG9jYWwgYzMgPSBtMyB+IHNbNF0gfiBzWzVdIH4gKHNbMTJdICYgc1sxNl0pCgoJc3RhdGVfdXBkYXRlKHMsIG0wLCBtMSwgbTIsIG0zKQoKCXJldHVybiBjMCwgYzEsIGMyLCBjMwoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGRlY19hdXRfc3RlcChzLCBjMCwgYzEsIGMyLCBjMywgYmxlbikKCgktLSBtbGVuIGlzIHRoZSBsZW5ndGggb2YgYSBsYXN0IHBhcnRpYWwgYmxvY2sKCgktLSBtbGVuIGlzIGFic2VudC9uaWwgZm9yIGZ1bGwgYmxvY2tzCgoJLS0gcmV0dXJuIHRoZSBkZWNyeXB0ZWQgYmxvY2sKCgktLQoKCS0tICAgICAgICAgbTAgICBzMDAgICAgczExICAgIHMyMCAgICBzMzAKCglsb2NhbCBtMCA9IGMwIH4gc1sxXSB+IHNbNl0gfiAoc1s5XSAgJiBzWzEzXSkKCgktLSAgICAgICAgIG0xICAgczAxICAgIHMxMiAgICBzMjEgICAgIHMzMQoKCWxvY2FsIG0xID0gYzEgfiBzWzJdIH4gc1s3XSB+IChzWzEwXSAmIHNbMTRdKSAKCgktLSAgICAgICAgIG0yICAgczAyICAgIHMxMyAgICBzMjIgICAgIHMzMgoKCWxvY2FsIG0yID0gYzIgfiBzWzNdIH4gc1s4XSB+IChzWzExXSAmIHNbMTVdKQoKCS0tICAgICAgICAgbTMgICBzMDMgICAgczEwICAgIHMyMyAgICAgczMzCgoJbG9jYWwgbTMgPSBjMyB+IHNbNF0gfiBzWzVdIH4gKHNbMTJdICYgc1sxNl0pCgoJaWYgYmxlbiB0aGVuIAoKCQktLSBwYXJ0aWFsIGJsb2NrID0+IG11c3QgYWRqdXN0IChtMCwgLi4uKSBiZWZvcmUKCgkJLS0gdXBkYXRpbmcgdGhlIHN0YXRlCgoJCWxvY2FsIG1ibGsgPSBzdHJpbmcucGFjaygiPEk4SThJOEk4IiwgbTAsIG0xLCBtMiwgbTMpOnN1YigxLCBibGVuKSAKCgkJbG9jYWwgYmxrID0gbWJsayAuLiBzdHJpbmcucmVwKCdcMCcsIDMyIC0gYmxlbikKCgkJYXNzZXJ0KCNibGsgPT0gMzIsICNibGspCgoJCW0wLCBtMSwgbTIsIG0zID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4IiwgYmxrKQoKCQlzdGF0ZV91cGRhdGUocywgbTAsIG0xLCBtMiwgbTMpCgoJCXJldHVybiBtYmxrCgoJZW5kCgoJLS0gZnVsbCBibG9jawoKCXN0YXRlX3VwZGF0ZShzLCBtMCwgbTEsIG0yLCBtMykKCglyZXR1cm4gc3RyaW5nLnBhY2soIjxJOEk4SThJOCIsIG0wLCBtMSwgbTIsIG0zKQoKZW5kCgoKCi0tIHN0YXRlIGluaXQgY29uc3RhbnRzIChmaWJvbmFjY2kpCgotLSB1OCBjb25bMzJdID0gewoKLS0JMHgwMCwweDAxLDB4MDEsMHgwMiwweDAzLDB4MDUsMHgwOCwweDBkCgotLQksMHgxNSwweDIyLDB4MzcsMHg1OSwweDkwLDB4ZTksMHg3OSwweDYyCgotLQksMHhkYiwweDNkLDB4MTgsMHg1NSwweDZkLDB4YzIsMHgyZiwweGYxCgotLQksMHgyMCwweDExLDB4MzEsMHg0MiwweDczLDB4YjUsMHgyOCwweGRkCgpsb2NhbCBjb24gPSB7IC0tIGNvbiBhcyA0IHVpbnQ2NCAtICAhISBhc3N1bWUgbGl0dGxlIGVuZGlhbiAhIQoKCQkweGQwODA1MDMwMjAxMDEwMCwgMHg2Mjc5ZTk5MDU5MzcyMjE1LCAKCgkgICAgMHhmMTJmYzI2ZDU1MTgzZGRiLCAweGRkMjhiNTczNDIzMTExMjAgfQoKCQoKbG9jYWwgZnVuY3Rpb24gc3RhdGVfaW5pdChrZXksIGl2KQoKCS0tIHJldHVybiBhbiBpbml0aWFsaXplZCBzdGF0ZSBhcnJheQoKCWFzc2VydCgoI2tleSA9PSAxNikgb3IgKCNrZXkgPT0gMzIpLCAia2V5IG11c3QgYmUgMTYgb3IgMzIgYnl0ZXMiKQoKCWFzc2VydCgjaXYgPT0gMTYsICJpdiBtdXN0IGJlIDE2IGJ5dGVzIikKCglsb2NhbCBlazAsIGVrMSwgZWsyLCBlazMgCgoJaWYgI2tleSA9PSAxNiB0aGVuIAoKCQllazAsIGVrMSA9IHN0cmluZy51bnBhY2soIjxJOEk4Iiwga2V5KQoKCQllazMsIGVrMiA9IGVrMSwgZWswCgoJZWxzZQoKCQllazAsIGVrMSwgZWsyLCBlazMgPSBzdHJpbmcudW5wYWNrKCI8SThJOEk4STgiLCBrZXkpCgoJZW5kCgoJbG9jYWwgaXYwLCBpdjEgPSBzdHJpbmcudW5wYWNrKCI8SThJOCIsIGl2KQoKCS0taW5pdGFpYWxpemUgc3RhdGUgczoKCglsb2NhbCBzID0gewoKCQlpdjAsIGl2MSwgMCwgMCwgICAgICAgICAgICAgICAgIC0tIHN0YXRlWzBdW10KCgkJZWswLCBlazEsIGVrMiwgZWszLCAgICAgICAgICAgICAtLSBzdGF0ZVsxXVtdCgoJCS0xLCAtMSwgLTEsIC0xLCAgICAgICAgICAgICAgICAgLS0gc3RhdGVbMl1bXSAgKDB4ZmYgKiAzMikKCgkJMCwgMCwgMCwgMCwgICAgICAgICAgICAgICAgICAgICAtLSBzdGF0ZVszXVtdCgoJCWNvblsxXSwgY29uWzJdLCBjb25bM10sIGNvbls0XSwgLS0gc3RhdGVbNF1bXQoKCX0KCglmb3IgaSA9IDEsIDE2IGRvIHN0YXRlX3VwZGF0ZShzLCAwLCAwLCAwLCAwKSBlbmQKCglzWzVdID0gc1s1XSB+IGVrMCAgLS0gc3RhdGVbMV1baV0gXj0gKCh1aW50NjRfdCopZWtleSlbaV07CgoJc1s2XSA9IHNbNl0gfiBlazEKCglzWzddID0gc1s3XSB+IGVrMgoKCXNbOF0gPSBzWzhdIH4gZWszCgoJcmV0dXJuIHMKCmVuZC0tc3RhdGVfaW5pdCgpCgoKCi0tZmluYWxpemF0aW9uCgoKCmxvY2FsIGZ1bmN0aW9uIHRhZ19jb21wdXRlKHMsIG1sZW4sIGFkbGVuKQoKCS0tIHJldHVybiB0YWcwLCB0YWcxICh0aGUgdGFnIGFzIHR3byB1aW50NjQpCgoJbG9jYWwgbTAsIG0xLCBtMiwgbTMgPSAoYWRsZW4gPDwgMyksIChtbGVuIDw8IDMpLCAwLCAwCgoKCgktLSBzWzFdLCAgc1syXSwgIHNbM10sICBzWzRdICA9IHMwMCwgczAxLCBzMDIsIHMwMwoKCS0tIHNbNV0sICBzWzZdLCAgc1s3XSwgIHNbOF0gID0gczEwLCBzMTEsIHMxMiwgczEzCgoJLS0gc1s5XSwgIHNbMTBdLCBzWzExXSwgc1sxMl0gPSBzMjAsIHMyMSwgczIyLCBzMjMKCgktLSBzWzEzXSwgc1sxNF0sIHNbMTVdLCBzWzE2XSA9IHMzMCwgczMxLCBzMzIsIHMzMwoKCS0tIHNbMTddLCBzWzE4XSwgc1sxOV0sIHNbMjBdID0gczQwLCBzNDEsIHM0MiwgczQzCgoKCgktLSBzdGF0ZVs0XVswXSBePSBzdGF0ZVswXVswXTsgc3RhdGVbNF1bMV0gXj0gc3RhdGVbMF1bMV07IAoKCS0tIHN0YXRlWzRdWzJdIF49IHN0YXRlWzBdWzJdOyBzdGF0ZVs0XVszXSBePSBzdGF0ZVswXVszXTsKCglzWzE3XSA9IHNbMTddIH4gc1sxXTsgIHNbMThdID0gc1sxOF0gfiBzWzJdCgoJc1sxOV0gPSBzWzE5XSB+IHNbM107ICBzWzIwXSA9IHNbMjBdIH4gc1s0XQoKCWZvciBpID0gMSwgMTAgZG8gc3RhdGVfdXBkYXRlKHMsIG0wLCBtMSwgbTIsIG0zKSBlbmQKCgktLSBmb3IgKGogPSAwOyBqIDwgNDsgaisrKSB7CgoJLS0Jc3RhdGVbMF1bal0gXj0gc3RhdGVbMV1bKGogKyAxKSAmIDNdIF4gKHN0YXRlWzJdW2pdICYgc3RhdGVbM11bal0pO30KCglzWzFdID0gc1sxXSB+IHNbNl0gfiAoc1s5XSAmIHNbMTNdKSAtLSBqPTAKCglzWzJdID0gc1syXSB+IHNbN10gfiAoc1sxMF0gJiBzWzE0XSkgLS0gaj0xCgoJc1szXSA9IHNbM10gfiBzWzhdIH4gKHNbMTFdICYgc1sxNV0pIC0tIGo9MgoKCXNbNF0gPSBzWzRdIH4gc1s1XSB+IChzWzEyXSAmIHNbMTZdKSAtLSBqPTMKCgkKCglyZXR1cm4gc1sxXSwgc1syXQoKZW5kCgoKCi0tLSBFbmNyeXB0cyBhIG1lc3NhZ2UgdXNpbmcgdGhlIE1vcnVzIGVuY3J5cHRpb24gYWxnb3JpdGhtLgoKLS0tIEBwYXJhbSBrIHN0cmluZyAtIFRoZSBlbmNyeXB0aW9uIGtleSAoMTYgb3IgMzItYnl0ZSBzdHJpbmcpLgoKLS0tIEBwYXJhbSBpdiBzdHJpbmcgLSBUaGUgbm9uY2Ugb3IgaW5pdGlhbCB2YWx1ZSAoMTYtYnl0ZSBzdHJpbmcpLgoKLS0tIEBwYXJhbSBtIHN0cmluZyAtIFRoZSBtZXNzYWdlIHRvIGVuY3J5cHQgKHZhcmlhYmxlIGxlbmd0aCBzdHJpbmcpLgoKLS0tIEBwYXJhbSBhZD8gc3RyaW5nIChvcHRpb25hbCkgLSBUaGUgYWRkaXRpb25hbCBkYXRhICh2YXJpYWJsZSBsZW5ndGggc3RyaW5nKS4gT3B0aW9uYWwsIGRlZmF1bHRzIHRvICIiLgoKLS0tIEByZXR1cm5zIHRhYmxlIC0gQSB0YWJsZSBjb250YWluaW5nIHRoZSBlbmNyeXB0ZWQgbWVzc2FnZSBpbiBieXRlcywgaGV4LCBhbmQgc3RyaW5nIGZvcm1hdHMuCgotLS0gQHVzYWdlIGxvY2FsIGVuY3J5cHRlZE1lc3NhZ2UgPSBlbmNyeXB0KGtleSwgbm9uY2UsIG1lc3NhZ2UsIGFkZGl0aW9uYWxEYXRhKQoKbG9jYWwgZnVuY3Rpb24gZW5jcnlwdChrLCBpdiwgbSwgYWQpCgoJYWQgPSBhZCBvciAiIgoKCWxvY2FsIG1sZW4sIGFkbGVuID0gI20sICNhZAoKCWxvY2FsIG0wLCBtMSwgbTIsIG0zLCBjMCwgYzEsIGMyLCBjMwoKCWxvY2FsIGJsaywgYmxlbgoKCWxvY2FsIGN0ID0ge30KCgktLSBpbml0CgoJbG9jYWwgcyA9IHN0YXRlX2luaXQoaywgaXYpCgoJLS0gYWJzb3JiIGFkCgoJbG9jYWwgaSA9IDEKCgl3aGlsZSBpIDw9IGFkbGVuIC0gMzEgZG8gLS1wcm9jZXNzIGZ1bGwgYmxvY2tzCgoJCW0wLCBtMSwgbTIsIG0zID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4IiwgYWQsIGkpCgoJCWkgPSBpICsgMzIKCgkJZW5jX2F1dF9zdGVwKHMsIG0wLCBtMSwgbTIsIG0zKQoKCWVuZAoKCWlmIGkgPD0gYWRsZW4gdGhlbiAtLSBwcm9jZXNzIGxhc3QsIHBhcnRpYWwgYmxvY2sgb2YgYWQKCgkJYmxrID0gYWQ6c3ViKGkpIC4uIHN0cmluZy5yZXAoJ1wwJywgMzEgKyBpIC0gYWRsZW4pCgoJCWFzc2VydCgjYmxrID09IDMyLCAjYmxrKQoKCQltMCwgbTEsIG0yLCBtMyA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGJsaykKCgkJZW5jX2F1dF9zdGVwKHMsIG0wLCBtMSwgbTIsIG0zKQoKCWVuZAoKCXRhYmxlLmluc2VydChjdCwgYWQpIC0tIGNvbGxlY3QgdGhlIGFkIGluIGN0CgoJLS0gZW5jcnlwdCBtCgoJaSA9IDEKCgl3aGlsZSBpIDw9IG1sZW4gLSAzMSBkbyAtLXByb2Nlc3MgZnVsbCBibG9ja3MKCgkJbTAsIG0xLCBtMiwgbTMgPSBzdHJpbmcudW5wYWNrKCI8SThJOEk4STgiLCBtLCBpKQoKCQlpID0gaSArIDMyCgoJCS0tYzAsIGMxLCBjMiwgYzMgPSBtMCwgbTEsIG0yLCBtMyAtLXVzZSB0aGlzIHRvIHRlc3Qgb3ZlcmhlYWQgcGVyZgoKCQljMCwgYzEsIGMyLCBjMyA9IGVuY19hdXRfc3RlcChzLCBtMCwgbTEsIG0yLCBtMykKCgkJLS0gY29sbGVjdCB0aGUgMzIgZW5jcnlwdGVkIGJ5dGVzIGluIGN0CgoJCXRhYmxlLmluc2VydChjdCwgc3RyaW5nLnBhY2soIjxJOEk4SThJOCIsIGMwLCBjMSwgYzIsIGMzKSkKCgllbmQKCglpZiBpIDw9IG1sZW4gdGhlbiAtLSBwcm9jZXNzIGxhc3QsIHBhcnRpYWwgYmxvY2sgb2YgbQoKCQlibGsgPSBtOnN1YihpKSAtLSBsYXN0IHBhcnRpYWwgYmxvY2sKCgkJYmxlbiA9ICNibGsKCgkJYmxrID0gYmxrIC4uIHN0cmluZy5yZXAoJ1wwJywgMzEgKyBpIC0gbWxlbikKCgkJYXNzZXJ0KCNibGsgPT0gMzIsICNibGspCgoJCW0wLCBtMSwgbTIsIG0zID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4IiwgYmxrKQoKCQljMCwgYzEsIGMyLCBjMyA9IGVuY19hdXRfc3RlcChzLCBtMCwgbTEsIG0yLCBtMykKCgkJLS0gY29sbGVjdCB0aGUgbGFzdCBibGVuIGVuY3J5cHRlZCBieXRlcyBpbiBjdAoKCQl0YWJsZS5pbnNlcnQoY3QsIHN0cmluZy5wYWNrKCI8SThJOEk4STgiLCBjMCwgYzEsIGMyLCBjMyk6c3ViKDEsIGJsZW4pKQoKCWVuZAoKCS0tIGNvbXB1dGUgdGhlIG1hYwoKCWxvY2FsIHRhZzAsIHRhZzEgPSB0YWdfY29tcHV0ZShzLCBtbGVuLCBhZGxlbikKCgl0YWJsZS5pbnNlcnQoY3QsIHN0cmluZy5wYWNrKCI8SThJOCIsIHRhZzAsIHRhZzEpKQoKCS0tIHJldHVybiB0aGUgY29tcGxldGUgZW5jcnlwdGVkIG1lc3NhZ2UgKHdpdGggYWQgcHJlZml4IGFuZCB0YWcgc3VmZml4KQoKCgoJbG9jYWwgcHVibGljID0ge307CgoKCglwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCgkJcmV0dXJuIGN0CgoJZW5kCgoKCglwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgoJCXJldHVybiBIZXguc3RyaW5nVG9IZXgodGFibGUuY29uY2F0KGN0KSkKCgllbmQKCgoKCXB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCgkJcmV0dXJuIHRhYmxlLmNvbmNhdChjdCkKCgllbmQKCgoKCXJldHVybiBwdWJsaWMKCmVuZAoKCgotLS0gRGVjcnlwdHMgYW4gZW5jcnlwdGVkIG1lc3NhZ2UgdXNpbmcgdGhlIE1vcnVzIGVuY3J5cHRpb24gYWxnb3JpdGhtLgoKLS0tIEBwYXJhbSBrIHN0cmluZyAtIFRoZSBlbmNyeXB0aW9uIGtleSAoMTYgb3IgMzItYnl0ZSBzdHJpbmcpLgoKLS0tIEBwYXJhbSBpdiBzdHJpbmcgLSBUaGUgbm9uY2Ugb3IgaW5pdGlhbCB2YWx1ZSAoMTYtYnl0ZSBzdHJpbmcpLgoKLS0tIEBwYXJhbSBlIHN0cmluZyAtIFRoZSBlbmNyeXB0ZWQgbWVzc2FnZSAodmFyaWFibGUgbGVuZ3RoIHN0cmluZykuCgotLS0gQHBhcmFtIGFkbGVuPyBudW1iZXIgKG9wdGlvbmFsKSAtIFRoZSBsZW5ndGggb2YgdGhlIGFkZGl0aW9uYWwgZGF0YSBhdCB0aGUgc3RhcnQgb2YgZS4gT3B0aW9uYWwsIGRlZmF1bHRzIHRvIDAuCgotLS0gQHJldHVybnMgdGFibGUgLSBBIHRhYmxlIGNvbnRhaW5pbmcgdGhlIGRlY3J5cHRlZCBtZXNzYWdlIGluIGJ5dGVzLCBoZXgsIGFuZCBzdHJpbmcgZm9ybWF0cy4KCmxvY2FsIGZ1bmN0aW9uIGRlY3J5cHQoaywgaXYsIGUsIGFkbGVuKQoKCWFkbGVuID0gYWRsZW4gb3IgMAoKICAgIGxvY2FsIGFkID0gICIiCgoJbG9jYWwgZWxlbiA9ICNlIC0gMTYgIC0tIGxlbmd0aCBvZiBtc2cgYmVmb3JlIHRhZwoKCWxvY2FsIG1sZW4gPSBlbGVuIC0gYWRsZW4KCglsb2NhbCBtMCwgbTEsIG0yLCBtMywgYzAsIGMxLCBjMiwgYzMKCglsb2NhbCBibGssIGJsZW4KCglsb2NhbCBjdCA9IHt9ICAtLSB1c2VkIHRvIGNvbGxlY3QgZGVjcnlwdGVkIGJsb2NrcwoKCS0tIGluaXQKCglsb2NhbCBzID0gc3RhdGVfaW5pdChrLCBpdikKCgktLSBhYnNvcmIgYWQKCglpZiBhZGxlbiA+IDAgdGhlbiBhZCA9IGU6c3ViKDEsIGFkbGVuKSBlbmQKCglsb2NhbCBpID0gMQoKCXdoaWxlIGkgPD0gYWRsZW4gLSAzMSBkbyAtLXByb2Nlc3MgZnVsbCBibG9ja3MKCgkJbTAsIG0xLCBtMiwgbTMgPSBzdHJpbmcudW5wYWNrKCI8SThJOEk4STgiLCBhZCwgaSkKCgkJaSA9IGkgKyAzMgoKCQllbmNfYXV0X3N0ZXAocywgbTAsIG0xLCBtMiwgbTMpCgoJZW5kCgoJaWYgaSA8PSBhZGxlbiB0aGVuIC0tIHByb2Nlc3MgbGFzdCwgcGFydGlhbCBibG9jayBvZiBhZAoKCQlibGsgPSBhZDpzdWIoaSkgLi4gc3RyaW5nLnJlcCgnXDAnLCAzMSArIGkgLSBhZGxlbikKCgkJYXNzZXJ0KCNibGsgPT0gMzIsICNibGspCgoJCW0wLCBtMSwgbTIsIG0zID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4IiwgYmxrKQoKCQllbmNfYXV0X3N0ZXAocywgbTAsIG0xLCBtMiwgbTMpCgoJZW5kCgoJLS0gZGVjcnlwdCBtZXNzYWdlCgoJaSA9IGFkbGVuICsgMQoKCXdoaWxlIGkgPD0gZWxlbiAtIDMxIGRvIC0tcHJvY2VzcyBmdWxsIGJsb2NrcwoKCQljMCwgYzEsIGMyLCBjMyA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGUsIGkpCgoJCWkgPSBpICsgMzIKCgkJYmxrID0gZGVjX2F1dF9zdGVwKHMsIGMwLCBjMSwgYzIsIGMzKQoKCQktLSBjb2xsZWN0IHRoZSAzMiBkZWNyeXB0ZWQgYnl0ZXMgaW4gY3QKCgkJdGFibGUuaW5zZXJ0KGN0LCBibGspCgoJZW5kCgoJaWYgaSA8PSBlbGVuIHRoZW4gLS0gcHJvY2VzcyBsYXN0LCBwYXJ0aWFsIGJsb2NrIG9mIG0KCgkJYmxrID0gZTpzdWIoaSwgZWxlbikgLS0gbGFzdCBwYXJ0aWFsIGJsb2NrCgoJCWJsZW4gPSAjYmxrCgoJCWJsayA9IGJsayAuLiBzdHJpbmcucmVwKCdcMCcsIDMxICsgaSAtIGVsZW4pCgoJCWFzc2VydCgjYmxrID09IDMyLCAjYmxrKQoKCQljMCwgYzEsIGMyLCBjMyA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGJsaykKCgkJYmxrID0gZGVjX2F1dF9zdGVwKHMsIGMwLCBjMSwgYzIsIGMzLCBibGVuKQoKCQl0YWJsZS5pbnNlcnQoY3QsIGJsaykKCgllbmQKCgktLSBjaGVjayB0aGUgbWFjCgoJbG9jYWwgY3RhZzAsIGN0YWcxID0gdGFnX2NvbXB1dGUocywgbWxlbiwgYWRsZW4pCgoJbG9jYWwgdGFnMCwgdGFnMSA9IHN0cmluZy51bnBhY2soIjxJOEk4IiwgZSwgZWxlbiArIDEpCgoJaWYgKChjdGFnMCB+IHRhZzApIHwgKGN0YWcxIH4gdGFnMSkpIH49IDAgdGhlbgoKCQlyZXR1cm4gbmlsLCAiZGVjcnlwdCBlcnJvciIKCgllbmQKCglyZXR1cm4gdGFibGUuY29uY2F0KGN0KQoKZW5kCgoKCgoKcmV0dXJuIHsKCgktLSB0aGUgY29yZSBwZXJtdXRhdGlvbiBpcyBleHBvc2VkIHRvIGZhY2lsaXRhdGUgdGVzdHMgCgoJc3RhdGVfdXBkYXRlID0gc3RhdGVfdXBkYXRlLAoKCS0tCgoJZW5jcnlwdCA9IGVuY3J5cHQsCgoJZGVjcnlwdCA9IGRlY3J5cHQsCgoJLS0KCglrZXlfc2l6ZSA9IDMyLAoKCW5vbmNlX3NpemUgPSAxNiwKCgl2YXJpYW50ID0gIk1vcnVzLTEyODAiLAoKfQoAAAAAbG9jYWwgSGV4ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmhleCIpCgoKCi0tIHRhZ3MKCmxvY2FsIEhFQURFUl9UQUcgID0gMHgwMQoKbG9jYWwgUEFZTE9BRF9UQUcgPSAweDAyCgpsb2NhbCBUUkFJTEVSX1RBRyA9IDB4MDQKCmxvY2FsIEZJTkFMX1RBRyAgID0gMHgwOAoKCgpsb2NhbCBmdW5jdGlvbiBHKHMsIGEsIGIsIGMsIGQpCgoJLS0gVGhlIHF1YXJ0ZXItcm91bmQuCgoJLS0gcyBpcyB0aGUgc3RhdGU6IHU2NFsxNl0uCgoJbG9jYWwgQSwgQiwgQywgRCA9IHNbYV0sIHNbYl0sIHNbY10sIHNbZF0KCgktLQoKCS0tIEgoKTogcmV0dXJuIChhIH4gYikgfiAoKGEgJiBiKSA8PCAxKSAtLSBJTkxJTkVECgoJLS0gUk9UUjY0KCk6IHJldHVybiAoeCA+PiBuKSB8ICh4IDw8ICg2NC1uKSkgLS1JTkxJTkVECgoJLS0KCglBID0gKEEgfiBCKSB+ICgoQSAmIEIpIDw8IDEpICAtLSBIKEEsIEIpOwoKCUQgPSBEIH4gQTsgRCA9IChEID4+IDgpIHwgKEQgPDwgKDU2KSkgLS1ST1RSNjQoRCwgOCkgLS1SMAoKCUMgPSAoQyB+IEQpIH4gKChDICYgRCkgPDwgMSkgIC0tIEgoQywgRCk7CgoJQiA9IEIgfiBDOyBCID0gKEIgPj4gMTkpIHwgKEIgPDwgKDQ1KSkgLS1ST1RSNjQoQiwgMTkpIC0tUjEKCglBID0gKEEgfiBCKSB+ICgoQSAmIEIpIDw8IDEpICAtLSBIKEEsIEIpOwoKCUQgPSBEIH4gQTsgRCA9IChEID4+IDQwKSB8IChEIDw8ICgyNCkpIC0tUk9UUjY0KEQsIDQwKSAtLVIyCgoJQyA9IChDIH4gRCkgfiAoKEMgJiBEKSA8PCAxKSAgLS0gSChDLCBEKTsKCglCID0gQiB+IEM7IEIgPSAoQiA+PiA2MykgfCAoQiA8PCAoMSkpIC0tUk9UUjY0KEIsIDYzKSAtLVIzCgoJc1thXSwgc1tiXSwgc1tjXSwgc1tkXSA9IEEsIEIsIEMsIEQKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBGKHMpCgoJLS0gVGhlIGZ1bGwgcm91bmQuICBzIGlzIHRoZSBzdGF0ZTogdTY0WzE2XQoKCS0tCgoJLS0gYmV3YXJlISBpbiBMdWEsIGFycmF5cyBhcmUgMS1iYXNlZCBpbmRleGVkLCBub3QgMC1pbmRleGVkIGFzIGluIEMKCiAgICAtLSBDb2x1bW4gc3RlcAoKCUcocywgIDEsICA1LCAgOSwgMTMpOwoKICAgIEcocywgIDIsICA2LCAxMCwgMTQpOwoKICAgIEcocywgIDMsICA3LCAxMSwgMTUpOwoKICAgIEcocywgIDQsICA4LCAxMiwgMTYpOwoKICAgIC0tIERpYWdvbmFsIHN0ZXAKCiAgICBHKHMsICAxLCAgNiwgMTEsIDE2KTsKCiAgICBHKHMsICAyLCAgNywgMTIsIDEzKTsKCiAgICBHKHMsICAzLCAgOCwgIDksIDE0KTsKCiAgICBHKHMsICA0LCAgNSwgMTAsIDE1KTsKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBwZXJtdXRlKHMpCgoJLS0gdGhlIGNvcmUgcGVybXV0YXRpb24gIChmb3VyIHJvdW5kcykKCglmb3IgXyA9IDEsIDQgZG8gRihzKSBlbmQKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBwYWQoaW5zKQoKCS0tIHBhZCBzdHJpbmcgaW5zIHRvIGxlbmd0aCA5NiAoIkJZVEVTKE5PUlhfUikiKQoKCWxvY2FsIG91dAoKCWxvY2FsIGluc2xlbiA9ICNpbnMKCglpZiBpbnNsZW4gPT0gOTUgdGhlbiByZXR1cm4gaW5zIC4uICdceDgxJyBlbmQgLS0gbGFzdCBieXRlIGlzIDB4MDEgfCAweDgwCgoJLS0gaGVyZSBpbnNsZW4gaXMgPCA5NSwgc28gbXVzdCBwYWQgd2l0aCA5Ni0oaW5zbGVuKzIpIHplcm9zCgoJb3V0ID0gaW5zIC4uICdceDAxJyAuLiBzdHJpbmcucmVwKCdcMCcsIDk0LWluc2xlbikgLi4gJ1x4ODAnCgoJYXNzZXJ0KCNvdXQgPT0gOTYpCgoJcmV0dXJuIG91dAoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGFic29yYl9ibG9jayhzLCBpbnMsIGluaSwgdGFnKQoKCS0tIHRoZSBpbnB1dCBzdHJpbmcgaXMgdGhlIHN1YnN0cmluZyBvZiAnaW5zJyBzdGFydGluZyBhdCBwb3NpdGlvbiAnaW5pJwoKCS0tICh3ZSBjYW5ub3QgdXNlIGEgY2hhciogYXMgaW4gQyEpCgoJc1sxNl0gPSBzWzE2XSB+IHRhZwoKCXBlcm11dGUocykKCglmb3IgaSA9IDEsIDEyIGRvCgoJCXNbaV0gPSBzW2ldIH4gc3RyaW5nLnVucGFjaygiPEk4IiwgaW5zLCBpbmkgKyAoaS0xKSo4KQoKCWVuZAoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGFic29yYl9sYXN0YmxvY2socywgbGFzdCwgdGFnKQoKCWFic29yYl9ibG9jayhzLCBwYWQobGFzdCksIDEsIHRhZykKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBlbmNyeXB0X2Jsb2NrKHMsIG91dF90YWJsZSwgaW5zLCBpbmkpCgoJLS0gZW5jcnlwdCBibG9jayBpbiAnaW5zJyBhdCBvZmZzZXQgJ2luaScKCgktLSBhcHBlbmQgZW5jcnlwdGVkIGNodW5rcyBhdCB0aGUgZW5kIG9mIG91dF90YWJsZQoKCXNbMTZdID0gc1sxNl0gfiBQQVlMT0FEX1RBRwoKCXBlcm11dGUocykKCglmb3IgaSA9IDEsIDEyIGRvCgoJCXNbaV0gPSBzW2ldIH4gc3RyaW5nLnVucGFjaygiPEk4IiwgaW5zLCBpbmkgKyAoaS0xKSo4KQoKCQl0YWJsZS5pbnNlcnQob3V0X3RhYmxlLCBzdHJpbmcucGFjaygiPEk4Iiwgc1tpXSkpCgoJZW5kCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gZW5jcnlwdF9sYXN0YmxvY2socywgb3V0X3RhYmxlLCBsYXN0KQoKCS0tIGVuY3J5cHQgbGFzdCBibG9jawoKCS0tIGFwcGVuZCBlbmNyeXB0ZWQgbGFzdCBibG9jayBhdCB0aGUgZW5kIG9mIG91dF90YWJsZQoKCWxvY2FsIHQgPSB7fSAtLSBlbmNyeXB0ZWQgY2h1bmtzIG9mICdsYXN0JyB3aWxsIGJlIGFwcGVuZGVkIHRvIHQKCglsb2NhbCBsYXN0bGVuID0gI2xhc3QKCglsYXN0ID0gcGFkKGxhc3QpCgoJZW5jcnlwdF9ibG9jayhzLCB0LCBsYXN0LCAxKQoKCWxhc3QgPSB0YWJsZS5jb25jYXQodCkKCglsYXN0ID0gbGFzdDpzdWIoMSwgbGFzdGxlbikgIC0tIGtlZXAgb25seSB0aGUgZmlyc3QgbGFzdGxlbiBieXRlcwoKCXRhYmxlLmluc2VydChvdXRfdGFibGUsIGxhc3QpCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gZGVjcnlwdF9ibG9jayhzLCBvdXRfdGFibGUsIGlucywgaW5pKQoKCS0tIGRlY3J5cHQgYmxvY2sgaW4gJ2lucycgYXQgb2Zmc2V0ICdpbmknCgoJLS0gYXBwZW5kIGRlY3J5cHRlZCBjaHVua3MgYXQgdGhlIGVuZCBvZiBvdXRfdGFibGUKCglzWzE2XSA9IHNbMTZdIH4gUEFZTE9BRF9UQUcKCglwZXJtdXRlKHMpCgoJZm9yIGkgPSAxLCAxMiBkbwoKCQlsb2NhbCBjID0gc3RyaW5nLnVucGFjaygiPEk4IiwgaW5zLCBpbmkgKyAoaS0xKSo4KQoKCQl0YWJsZS5pbnNlcnQob3V0X3RhYmxlLCBzdHJpbmcucGFjaygiPEk4Iiwgc1tpXSB+IGMpKQoKCQlzW2ldID0gYwoKCWVuZAoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGRlY3J5cHRfbGFzdGJsb2NrKHMsIG91dF90YWJsZSwgbGFzdCkKCgktLSBkZWNyeXB0IGxhc3QgYmxvY2sKCgktLSBhcHBlbmQgZGVjcnlwdGVkIGJsb2NrIGF0IHRoZSBlbmQgb2Ygb3V0X3RhYmxlCgoJLS0KCglsb2NhbCBsYXN0bGVuID0gI2xhc3QKCglzWzE2XSA9IHNbMTZdIH4gUEFZTE9BRF9UQUcKCglwZXJtdXRlKHMpCgoJbG9jYWwgYnl0ZSwgY2hhciA9IHN0cmluZy5ieXRlLCBzdHJpbmcuY2hhcgoKCWxvY2FsIGxhc3RibG9ja19zOF90YWJsZSA9IHt9IC0tIGxhc3QgYmxvY2sgYXMgYW4gYXJyYXkgb2YgOC1ieXRlIHN0cmluZ3MKCglmb3IgaSA9IDEsIDEyIGRvCgoJCWxvY2FsIHM4ID0gc3RyaW5nLnBhY2soIjxJOCIsIHNbaV0pCgoJCXRhYmxlLmluc2VydChsYXN0YmxvY2tfczhfdGFibGUsIHM4KQoKCWVuZAoKCWxvY2FsIGxhc3RibG9jayA9IHRhYmxlLmNvbmNhdChsYXN0YmxvY2tfczhfdGFibGUpIC0tIGxhc3RibG9jayBhcyBhIDk2LWJ5dGUgc3RyaW5nCgoJLS0gZXhwbG9kZSBsYXN0YmxvY2sgYXMgYW4gYXJyYXkgb2YgYnl0ZXMKCglsb2NhbCBsYXN0YmxvY2tfYnl0ZV90YWJsZSA9IHt9CgoJZm9yIGkgPSAxLCA5NiBkbwoKCQlsYXN0YmxvY2tfYnl0ZV90YWJsZVtpXSA9IGJ5dGUobGFzdGJsb2NrLCBpKQoKCWVuZAoKCS0tIGNvcHkgbGFzdAoKCWZvciBpID0gMSwgbGFzdGxlbiBkbwoKCQlsYXN0YmxvY2tfYnl0ZV90YWJsZVtpXSA9IGJ5dGUobGFzdCwgaSkKCgllbmQKCgktLSBwZXJmb3JtIHRoZSAneG9yJ3MKCglsYXN0YmxvY2tfYnl0ZV90YWJsZVtsYXN0bGVuKzFdID0gbGFzdGJsb2NrX2J5dGVfdGFibGVbbGFzdGxlbisxXSB+IDB4MDEKCglsYXN0YmxvY2tfYnl0ZV90YWJsZVs5Nl0gPSBsYXN0YmxvY2tfYnl0ZV90YWJsZVs5Nl0gfiAweDgwCgoJLS0gYnVpbGQgYmFjayBsYXN0YmxvY2sgYXMgYSBzdHJpbmcKCglsb2NhbCBsYXN0YmxvY2tfY2hhcl90YWJsZSA9IHt9CgoJZm9yIGkgPSAxLCA5NiBkbwoKCQlsYXN0YmxvY2tfY2hhcl90YWJsZVtpXSA9IGNoYXIobGFzdGJsb2NrX2J5dGVfdGFibGVbaV0pCgoJZW5kCgoJbGFzdGJsb2NrID0gdGFibGUuY29uY2F0KGxhc3RibG9ja19jaGFyX3RhYmxlKSAtLSBsYXN0YmxvY2sgYXMgYSA5Ni1ieXRlIHN0cmluZwoKCS0tCgoJbG9jYWwgdCA9IHt9CgoJZm9yIGkgPSAxLCAxMiBkbwoKCQlsb2NhbCBjID0gc3RyaW5nLnVucGFjaygiPEk4IiwgbGFzdGJsb2NrLCAxICsgKGktMSkqOCkKCgkJbG9jYWwgeCA9IHN0cmluZy5wYWNrKCI8STgiLCBzW2ldIH4gYykKCgkJdGFibGUuaW5zZXJ0KHQsIHgpCgoJCXNbaV0gPSBjCgoJZW5kCgoJbGFzdCA9IHRhYmxlLmNvbmNhdCh0KQoKCWxhc3QgPSBsYXN0OnN1YigxLCBsYXN0bGVuKSAgLS0ga2VlcCBvbmx5IHRoZSBmaXJzdCBsYXN0bGVuIGJ5dGVzCgoJdGFibGUuaW5zZXJ0KG91dF90YWJsZSwgbGFzdCkKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBpbml0KGssIG4pCgoJLS0gaW5pdGlhbGl6ZSBhbmQgcmV0dXJuIHRoZSBub3J4IHN0YXRlCgoJLS0gazogdGhlIGtleSBhcyBhIDMyLWJ5dGUgc3RyaW5nCgoJLS0gbjogdGhlIG5vbmNlIGFzIGEgMzItYnl0ZSBzdHJpbmcKCglsb2NhbCBzID0ge30gLS0gdGhlIG5vcnggc3RhdGU6IHU2NFsxNl0KCgktLSAodGhlIHR3byBmb2xsb3dpbmcgRihzKSBjb3VsZCBiZSByZXBsYWNlZCB3aXRoIGEgY29uc3RhbnQgdGFibGUpCgoJLS0gKG9ubHkgc1s5XS4uc1sxNl0gYXJlIG5lZWRlZCkKCglmb3IgaSA9IDEsIDE2IGRvIHNbaV0gPSBpLTEgZW5kCgoJRihzKQoKCUYocykKCgktLSBsb2FkIHRoZSBub25jZQoKCXNbMV0sIHNbMl0sIHNbM10sIHNbNF0gPSBzdHJpbmcudW5wYWNrKCI8SThJOEk4STgiLCBuKQoKCS0tIGxvYWQgdGhlIGtleQoKCWxvY2FsIGsxLCBrMiwgazMsIGs0ID0gc3RyaW5nLnVucGFjaygiPEk4SThJOEk4IiwgaykKCglzWzVdLCBzWzZdLCBzWzddLCBzWzhdID0gIGsxLCBrMiwgazMsIGs0CgoJLS0KCglzWzEzXSA9IHNbMTNdIH4gNjQgIC0tVwoKCXNbMTRdID0gc1sxNF0gfiA0ICAgLS1MCgoJc1sxNV0gPSBzWzE1XSB+IDEgICAtLVAKCglzWzE2XSA9IHNbMTZdIH4gMjU2IC0tVAoKCS0tCgoJcGVybXV0ZShzKQoKCS0tCgoJc1sxM10gPSBzWzEzXSB+IGsxCgoJc1sxNF0gPSBzWzE0XSB+IGsyCgoJc1sxNV0gPSBzWzE1XSB+IGszCgoJc1sxNl0gPSBzWzE2XSB+IGs0CgoJLS0KCglyZXR1cm4gcwoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGFic29yYl9kYXRhKHMsIGlucywgdGFnKQoKCWxvY2FsIGlubGVuID0gI2lucwoKCWxvY2FsIGkgPSAxCgoJaWYgaW5sZW4gPiAwIHRoZW4KCgkJd2hpbGUgaW5sZW4gPj0gOTYgZG8KCgkJCWFic29yYl9ibG9jayhzLCBpbnMsIGksIHRhZykKCgkJCWlubGVuID0gaW5sZW4gLSA5NgoKCQkJaSA9IGkgKyA5NgoKCQllbmQKCgkJYWJzb3JiX2xhc3RibG9jayhzLCBpbnM6c3ViKGkpLCB0YWcpCgoJZW5kLS1pZgoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGVuY3J5cHRfZGF0YShzLCBvdXRfdGFibGUsIGlucykKCglsb2NhbCBpbmxlbiA9ICNpbnMKCglsb2NhbCBpID0gMQoKCWlmIGlubGVuID4gMCB0aGVuCgoJCXdoaWxlIGlubGVuID49IDk2IGRvCgoJCQllbmNyeXB0X2Jsb2NrKHMsIG91dF90YWJsZSwgaW5zLCBpKQoKCQkJaW5sZW4gPSBpbmxlbiAtIDk2CgoJCQlpID0gaSArIDk2CgoJCWVuZAoKCQllbmNyeXB0X2xhc3RibG9jayhzLCBvdXRfdGFibGUsIGluczpzdWIoaSkpCgoJZW5kCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gZGVjcnlwdF9kYXRhKHMsIG91dF90YWJsZSwgaW5zKQoKCWxvY2FsIGlubGVuID0gI2lucwoKCWxvY2FsIGkgPSAxCgoJaWYgaW5sZW4gPiAwIHRoZW4KCgkJd2hpbGUgaW5sZW4gPj0gOTYgZG8KCgkJCWRlY3J5cHRfYmxvY2socywgb3V0X3RhYmxlLCBpbnMsIGkpCgoJCQlpbmxlbiA9IGlubGVuIC0gOTYKCgkJCWkgPSBpICsgOTYKCgkJZW5kCgoJCWRlY3J5cHRfbGFzdGJsb2NrKHMsIG91dF90YWJsZSwgaW5zOnN1YihpKSkKCgllbmQKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBmaW5hbGl6ZShzLCBrKQoKCS0tIHJldHVybiB0aGUgYXV0aGVudGljYXRpb24gdGFnICgzMi1ieXRlIHN0cmluZykKCgktLQoKCXNbMTZdID0gc1sxNl0gfiBGSU5BTF9UQUcKCglwZXJtdXRlKHMpCgoJLS0KCglsb2NhbCBrMSwgazIsIGszLCBrNCA9IHN0cmluZy51bnBhY2soIjxJOEk4SThJOCIsIGspCgoJLS0KCglzWzEzXSA9IHNbMTNdIH4gazEKCglzWzE0XSA9IHNbMTRdIH4gazIKCglzWzE1XSA9IHNbMTVdIH4gazMKCglzWzE2XSA9IHNbMTZdIH4gazQKCgktLQoKCXBlcm11dGUocykKCgktLQoKCXNbMTNdID0gc1sxM10gfiBrMQoKCXNbMTRdID0gc1sxNF0gfiBrMgoKCXNbMTVdID0gc1sxNV0gfiBrMwoKCXNbMTZdID0gc1sxNl0gfiBrNAoKCS0tCgoJbG9jYWwgYXV0aHRhZyA9IHN0cmluZy5wYWNrKCI8SThJOEk4STgiLCBzWzEzXSwgc1sxNF0sIHNbMTVdLCBzWzE2XSkKCglyZXR1cm4gYXV0aHRhZwoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIHZlcmlmeV90YWcodGFnMSwgdGFnMikKCglyZXR1cm4gdGFnMSA9PSB0YWcyCgplbmQKCgoKCgotLS0gRW5jcnlwdHMgdGhlIGdpdmVuIHBsYWluIHRleHQgdXNpbmcgdGhlIE5PUlggY2lwaGVyIHdpdGggYW4gQUVBRCBjb25zdHJ1Y3Rpb24uCgotLS0gQHBhcmFtIGtleSBzdHJpbmcgLSBUaGUga2V5IHVzZWQgZm9yIGVuY3J5cHRpb24uCgotLS0gQHBhcmFtIG5vbmNlIHN0cmluZyAtIFRoZSBub25jZSB1c2VkIGZvciBlbmNyeXB0aW9uIDMyLWJ5dGUgc3RyaW5nLgoKLS0tIEBwYXJhbSBwbGFpbiBzdHJpbmcgLSBUaGUgcGxhaW4gdGV4dCB0byBiZSBlbmNyeXB0ZWQgMzItYnl0ZSBzdHJpbmcuCgotLS0gQHBhcmFtIGhlYWRlcj8gc3RyaW5nIChvcHRpb25hbCkgLSBUaGUgaGVhZGVyIHRvIGJlIGVuY3J5cHRlZCAzMi1ieXRlIHN0cmluZy4gRGVmYXVsdHMgdG8gYW4gZW1wdHkgc3RyaW5nLgoKLS0tIEBwYXJhbSB0cmFpbGVyPyBzdHJpbmcgKG9wdGlvbmFsKSAtIFRoZSB0cmFpbGVyIHRvIGJlIGVuY3J5cHRlZCAzMi1ieXRlIHN0cmluZy4gRGVmYXVsdHMgdG8gYW4gZW1wdHkgc3RyaW5nLgoKLS0tIEByZXR1cm5zIHRhYmxlIC0gQSB0YWJsZSBjb250YWluaW5nIHRoZSBlbmNyeXB0ZWQgbWVzc2FnZSBpbiBieXRlcywgc3RyaW5nLCBhbmQgaGV4IGZvcm1hdHMuCgpsb2NhbCBmdW5jdGlvbiBhZWFkX2VuY3J5cHQoa2V5LCBub25jZSwgcGxhaW4sIGhlYWRlciwgdHJhaWxlcikKCgloZWFkZXIgPSBoZWFkZXIgb3IgIiIKCgl0cmFpbGVyID0gdHJhaWxlciBvciAiIgoKCWxvY2FsIG91dF90YWJsZSA9IHt9CgoJbG9jYWwgc3RhdGUgPSBpbml0KGtleSwgbm9uY2UpCgoJYWJzb3JiX2RhdGEoc3RhdGUsIGhlYWRlciwgSEVBREVSX1RBRykKCgllbmNyeXB0X2RhdGEoc3RhdGUsIG91dF90YWJsZSwgcGxhaW4pCgoJYWJzb3JiX2RhdGEoc3RhdGUsIHRyYWlsZXIsIFRSQUlMRVJfVEFHKQoKCWxvY2FsIHRhZyA9IGZpbmFsaXplKHN0YXRlLCBrZXkpCgoJdGFibGUuaW5zZXJ0KG91dF90YWJsZSwgdGFnKQoKCWxvY2FsIGNyeXB0ZWQgPSB0YWJsZS5jb25jYXQob3V0X3RhYmxlKQoKCWFzc2VydCgjY3J5cHRlZCA9PSAjcGxhaW4gKyAzMikKCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9CgoKCiAgICBwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIG91dF90YWJsZQoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gY3J5cHRlZAoKICAgIGVuZAoKCgogICAgcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gSGV4LnN0cmluZ1RvSGV4KGNyeXB0ZWQpCgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljCgplbmQKCgoKLS0tIERlY3J5cHRzIHRoZSBnaXZlbiBjcnlwdGVkIHRleHQgdXNpbmcgdGhlIE5PUlggY2lwaGVyIHdpdGggYW4gQUVBRCBjb25zdHJ1Y3Rpb24uCgotLS0gQHBhcmFtIGtleSBzdHJpbmcgLSBUaGUga2V5IHVzZWQgZm9yIGRlY3J5cHRpb24gMzItYnl0ZSBzdHJpbmcuCgotLS0gQHBhcmFtIG5vbmNlIHN0cmluZyAtIFRoZSBub25jZSB1c2VkIGZvciBkZWNyeXB0aW9uIDMyLWJ5dGUgc3RyaW5nLgoKLS0tIEBwYXJhbSBjcnlwdGVkIHN0cmluZyAtIFRoZSBjcnlwdGVkIHRleHQgdG8gYmUgZGVjcnlwdGVkIDMyLWJ5dGUgc3RyaW5nLgoKLS0tIEBwYXJhbSBoZWFkZXI/IHN0cmluZyAob3B0aW9uYWwpIC0gVGhlIGhlYWRlciB0byBiZSBkZWNyeXB0ZWQgMzItYnl0ZSBzdHJpbmcuIERlZmF1bHRzIHRvIGFuIGVtcHR5IHN0cmluZy4KCi0tLSBAcGFyYW0gdHJhaWxlcj8gc3RyaW5nIChvcHRpb25hbCkgLSBUaGUgdHJhaWxlciB0byBiZSBkZWNyeXB0ZWQgMzItYnl0ZSBzdHJpbmcuIERlZmF1bHRzIHRvIGFuIGVtcHR5IHN0cmluZy4KCi0tLSBAcmV0dXJucyBzdHJpbmd8bmlsIC0gVGhlIGRlY3J5cHRlZCBwbGFpbiB0ZXh0LCBvciAobmlsLCBlcnJvciBtZXNzYWdlKSBpZiB0aGUgYXV0aGVudGljYXRlZCBkZWNyeXB0aW9uIGZhaWxzLgoKbG9jYWwgZnVuY3Rpb24gYWVhZF9kZWNyeXB0KGtleSwgbm9uY2UsIGNyeXB0ZWQsIGhlYWRlciwgdHJhaWxlcikKCgloZWFkZXIgPSBoZWFkZXIgb3IgIiIKCgl0cmFpbGVyID0gdHJhaWxlciBvciAiIgoKCWFzc2VydCgjY3J5cHRlZCA+PSAzMikKCglsb2NhbCBvdXRfdGFibGUgPSB7fQoKCWxvY2FsIHN0YXRlID0gaW5pdChrZXksIG5vbmNlKQoKCWFic29yYl9kYXRhKHN0YXRlLCBoZWFkZXIsIEhFQURFUl9UQUcpCgoJbG9jYWwgY3RhZyA9IGNyeXB0ZWQ6c3ViKCNjcnlwdGVkIC0gMzIgKyAxKQoKCWxvY2FsIGMgPSBjcnlwdGVkOnN1YigxLCAjY3J5cHRlZCAtIDMyKQoKCWRlY3J5cHRfZGF0YShzdGF0ZSwgb3V0X3RhYmxlLCBjKQoKCWFic29yYl9kYXRhKHN0YXRlLCB0cmFpbGVyLCBUUkFJTEVSX1RBRykKCglsb2NhbCB0YWcgPSBmaW5hbGl6ZShzdGF0ZSwga2V5KQoKCWlmIG5vdCB2ZXJpZnlfdGFnKHRhZywgY3RhZykgdGhlbiByZXR1cm4gbmlsLCAiYXV0aCBmYWlsdXJlIiBlbmQKCglsb2NhbCBwbGFpbiA9IHRhYmxlLmNvbmNhdChvdXRfdGFibGUpCgoJcmV0dXJuIHBsYWluCgplbmQKCgoKcmV0dXJuIHsKCgllbmNyeXB0ID0gYWVhZF9lbmNyeXB0LAoKCWRlY3J5cHQgPSBhZWFkX2RlY3J5cHQsCgoJLS0KCglrZXlfc2l6ZSA9IDMyLAoKCW5vbmNlX3NpemUgPSAzMiwKCgl2YXJpYW50ID0gIk5PUlggNjQtNC0xIiwKCn0KAEKwiw8LkyBsb2NhbCBBcnJheSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5hcnJheSIpOwoKbG9jYWwgU3RyZWFtID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnN0cmVhbSIpOwoKbG9jYWwgUXVldWUgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwucXVldWUiKTsKCgoKbG9jYWwgQ0JDID0ge307CgoKCkNCQy5DaXBoZXIgPSBmdW5jdGlvbigpCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIGtleTsKCiAgICBsb2NhbCBibG9ja0NpcGhlcjsKCiAgICBsb2NhbCBwYWRkaW5nOwoKICAgIGxvY2FsIGlucHV0UXVldWU7CgogICAgbG9jYWwgb3V0cHV0UXVldWU7CgogICAgbG9jYWwgaXY7CgoKCiAgICBwdWJsaWMuc2V0S2V5ID0gZnVuY3Rpb24oa2V5Qnl0ZXMpCgogICAgICAgIGtleSA9IGtleUJ5dGVzOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldEJsb2NrQ2lwaGVyID0gZnVuY3Rpb24oY2lwaGVyKQoKICAgICAgICBibG9ja0NpcGhlciA9IGNpcGhlcjsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQYWRkaW5nID0gZnVuY3Rpb24ocGFkZGluZ01vZGUpCgogICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nTW9kZTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBpbnB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgb3V0cHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBpdiA9IG5pbDsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihtZXNzYWdlU3RyZWFtKQoKICAgICAgICBsb2NhbCBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICB3aGlsZSAoYnl0ZSB+PSBuaWwpIGRvCgogICAgICAgICAgICBpbnB1dFF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGlmKGl2ID09IG5pbCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBpdiA9IGJsb2NrOwoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgb3V0ID0gQXJyYXkuWE9SKGl2LCBibG9jayk7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IGJsb2NrQ2lwaGVyLmVuY3J5cHQoa2V5LCBvdXQpOwoKICAgICAgICAgICAgICAgICAgICBBcnJheS53cml0ZVRvUXVldWUob3V0cHV0UXVldWUsIG91dCk7CgogICAgICAgICAgICAgICAgICAgIGl2ID0gb3V0OwoKICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKCgpDQkMuRGVjaXBoZXIgPSBmdW5jdGlvbigpCgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIGtleTsKCiAgICBsb2NhbCBibG9ja0NpcGhlcjsKCiAgICBsb2NhbCBwYWRkaW5nOwoKICAgIGxvY2FsIGlucHV0UXVldWU7CgogICAgbG9jYWwgb3V0cHV0UXVldWU7CgogICAgbG9jYWwgaXY7CgoKCiAgICBwdWJsaWMuc2V0S2V5ID0gZnVuY3Rpb24oa2V5Qnl0ZXMpCgogICAgICAgIGtleSA9IGtleUJ5dGVzOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldEJsb2NrQ2lwaGVyID0gZnVuY3Rpb24oY2lwaGVyKQoKICAgICAgICBibG9ja0NpcGhlciA9IGNpcGhlcjsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQYWRkaW5nID0gZnVuY3Rpb24ocGFkZGluZ01vZGUpCgogICAgICAgIHBhZGRpbmcgPSBwYWRkaW5nTW9kZTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBpbnB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgb3V0cHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBpdiA9IG5pbDsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihtZXNzYWdlU3RyZWFtKQoKICAgICAgICBsb2NhbCBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICB3aGlsZSAoYnl0ZSB+PSBuaWwpIGRvCgogICAgICAgICAgICBpbnB1dFF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGlmKGl2ID09IG5pbCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBpdiA9IGJsb2NrOwoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgb3V0ID0gYmxvY2s7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IGJsb2NrQ2lwaGVyLmRlY3J5cHQoa2V5LCBvdXQpOwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1IoaXYsIG91dCk7CgogICAgICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCnJldHVybiBDQkM7CgBC0KsPC7JQbG9jYWwgQXJyYXkgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYXJyYXkiKTsKCmxvY2FsIFN0cmVhbSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5zdHJlYW0iKTsKCmxvY2FsIFF1ZXVlID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnF1ZXVlIik7CgoKCmxvY2FsIENGQiA9IHt9OwoKCgpDRkIuQ2lwaGVyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBrZXk7CgogICAgbG9jYWwgYmxvY2tDaXBoZXI7CgogICAgbG9jYWwgcGFkZGluZzsKCiAgICBsb2NhbCBpbnB1dFF1ZXVlOwoKICAgIGxvY2FsIG91dHB1dFF1ZXVlOwoKICAgIGxvY2FsIGl2OwoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleUJ5dGVzKQoKICAgICAgICBrZXkgPSBrZXlCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGNpcGhlcikKCiAgICAgICAgYmxvY2tDaXBoZXIgPSBjaXBoZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0UGFkZGluZyA9IGZ1bmN0aW9uKHBhZGRpbmdNb2RlKQoKICAgICAgICBwYWRkaW5nID0gcGFkZGluZ01vZGU7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaW5wdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIG91dHB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgaXYgPSBuaWw7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgbG9jYWwgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgd2hpbGUgKGJ5dGUgfj0gbmlsKSBkbwoKICAgICAgICAgICAgaW5wdXRRdWV1ZS5wdXNoKGJ5dGUpOwoKICAgICAgICAgICAgaWYoaW5wdXRRdWV1ZS5zaXplKCkgPj0gYmxvY2tDaXBoZXIuYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgYmxvY2sgPSBBcnJheS5yZWFkRnJvbVF1ZXVlKGlucHV0UXVldWUsIGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSk7CgoKCiAgICAgICAgICAgICAgICBpZihpdiA9PSBuaWwpIHRoZW4KCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbHNlCgogICAgICAgICAgICAgICAgICAgIGxvY2FsIG91dCA9IGl2OwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBibG9ja0NpcGhlci5lbmNyeXB0KGtleSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgb3V0ID0gQXJyYXkuWE9SKG91dCwgYmxvY2spOwoKICAgICAgICAgICAgICAgICAgICBBcnJheS53cml0ZVRvUXVldWUob3V0cHV0UXVldWUsIG91dCk7CgogICAgICAgICAgICAgICAgICAgIGl2ID0gb3V0OwoKICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKQ0ZCLkRlY2lwaGVyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBrZXk7CgogICAgbG9jYWwgYmxvY2tDaXBoZXI7CgogICAgbG9jYWwgcGFkZGluZzsKCiAgICBsb2NhbCBpbnB1dFF1ZXVlOwoKICAgIGxvY2FsIG91dHB1dFF1ZXVlOwoKICAgIGxvY2FsIGl2OwoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleUJ5dGVzKQoKICAgICAgICBrZXkgPSBrZXlCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGNpcGhlcikKCiAgICAgICAgYmxvY2tDaXBoZXIgPSBjaXBoZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0UGFkZGluZyA9IGZ1bmN0aW9uKHBhZGRpbmdNb2RlKQoKICAgICAgICBwYWRkaW5nID0gcGFkZGluZ01vZGU7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaW5wdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIG91dHB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgaXYgPSBuaWw7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgbG9jYWwgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgd2hpbGUgKGJ5dGUgfj0gbmlsKSBkbwoKICAgICAgICAgICAgaW5wdXRRdWV1ZS5wdXNoKGJ5dGUpOwoKICAgICAgICAgICAgaWYoaW5wdXRRdWV1ZS5zaXplKCkgPj0gYmxvY2tDaXBoZXIuYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgYmxvY2sgPSBBcnJheS5yZWFkRnJvbVF1ZXVlKGlucHV0UXVldWUsIGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSk7CgoKCiAgICAgICAgICAgICAgICBpZihpdiA9PSBuaWwpIHRoZW4KCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbHNlCgogICAgICAgICAgICAgICAgICAgIGxvY2FsIG91dCA9IGl2OwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBibG9ja0NpcGhlci5lbmNyeXB0KGtleSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgb3V0ID0gQXJyYXkuWE9SKG91dCwgYmxvY2spOwoKICAgICAgICAgICAgICAgICAgICBBcnJheS53cml0ZVRvUXVldWUob3V0cHV0UXVldWUsIG91dCk7CgogICAgICAgICAgICAgICAgICAgIGl2ID0gYmxvY2s7CgogICAgICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGJ5dGUgPSBtZXNzYWdlU3RyZWFtKCk7CgogICAgICAgIGVuZAoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmZpbmlzaCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgcGFkZGluZ1N0cmVhbSA9IHBhZGRpbmcoYmxvY2tDaXBoZXIuYmxvY2tTaXplLCBpbnB1dFF1ZXVlLmdldEhlYWQoKSk7CgogICAgICAgIHB1YmxpYy51cGRhdGUocGFkZGluZ1N0cmVhbSk7CgoKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5nZXRPdXRwdXRRdWV1ZSA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIG91dHB1dFF1ZXVlOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvSGV4KG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0FycmF5KG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9TdHJpbmcob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBwdWJsaWM7CgoKCmVuZAoKCgpyZXR1cm4gQ0ZCO2xvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5Iik7Cgpsb2NhbCBTdHJlYW0gPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuc3RyZWFtIik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7CgoKCmxvY2FsIEFORCA9IEJpdC5iYW5kOwoKCgpsb2NhbCBDVFIgPSB7fTsKCgoKQ1RSLkNpcGhlciA9IGZ1bmN0aW9uKCkKCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9OwoKCgogICAgbG9jYWwga2V5OwoKICAgIGxvY2FsIGJsb2NrQ2lwaGVyOwoKICAgIGxvY2FsIHBhZGRpbmc7CgogICAgbG9jYWwgaW5wdXRRdWV1ZTsKCiAgICBsb2NhbCBvdXRwdXRRdWV1ZTsKCiAgICBsb2NhbCBpdjsKCgoKICAgIHB1YmxpYy5zZXRLZXkgPSBmdW5jdGlvbihrZXlCeXRlcykKCiAgICAgICAga2V5ID0ga2V5Qnl0ZXM7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0QmxvY2tDaXBoZXIgPSBmdW5jdGlvbihjaXBoZXIpCgogICAgICAgIGJsb2NrQ2lwaGVyID0gY2lwaGVyOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldFBhZGRpbmcgPSBmdW5jdGlvbihwYWRkaW5nTW9kZSkKCiAgICAgICAgcGFkZGluZyA9IHBhZGRpbmdNb2RlOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmluaXQgPSBmdW5jdGlvbigpCgogICAgICAgIGlucHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBvdXRwdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIGl2ID0gbmlsOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgbG9jYWwgdXBkYXRlSVYgPSBmdW5jdGlvbigpCgogICAgICAgIGl2WzE2XSA9IGl2WzE2XSArIDE7CgogICAgICAgIGlmIGl2WzE2XSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTZdID0gQU5EKGl2WzE2XSwgMHhGRik7CgoKCiAgICAgICAgaXZbMTVdID0gaXZbMTVdICsgMTsKCiAgICAgICAgaWYgaXZbMTVdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxNV0gPSBBTkQoaXZbMTVdLCAweEZGKTsKCgoKICAgICAgICBpdlsxNF0gPSBpdlsxNF0gKyAxOwoKICAgICAgICBpZiBpdlsxNF0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzE0XSA9IEFORChpdlsxNF0sIDB4RkYpOwoKCgogICAgICAgIGl2WzEzXSA9IGl2WzEzXSArIDE7CgogICAgICAgIGlmIGl2WzEzXSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTNdID0gQU5EKGl2WzEzXSwgMHhGRik7CgoKCiAgICAgICAgaXZbMTJdID0gaXZbMTJdICsgMTsKCiAgICAgICAgaWYgaXZbMTJdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxMl0gPSBBTkQoaXZbMTJdLCAweEZGKTsKCgoKICAgICAgICBpdlsxMV0gPSBpdlsxMV0gKyAxOwoKICAgICAgICBpZiBpdlsxMV0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzExXSA9IEFORChpdlsxMV0sIDB4RkYpOwoKCgogICAgICAgIGl2WzEwXSA9IGl2WzEwXSArIDE7CgogICAgICAgIGlmIGl2WzEwXSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTBdID0gQU5EKGl2WzEwXSwgMHhGRik7CgoKCiAgICAgICAgaXZbOV0gPSBpdls5XSArIDE7CgogICAgICAgIGlmIGl2WzldIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdls5XSA9IEFORChpdls5XSwgMHhGRik7CgoKCiAgICAgICAgcmV0dXJuOwoKICAgIGVuZAoKCgogICAgcHVibGljLnVwZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VTdHJlYW0pCgogICAgICAgIGxvY2FsIGJ5dGUgPSBtZXNzYWdlU3RyZWFtKCk7CgogICAgICAgIHdoaWxlIChieXRlIH49IG5pbCkgZG8KCiAgICAgICAgICAgIGlucHV0UXVldWUucHVzaChieXRlKTsKCgoKICAgICAgICAgICAgaWYoaW5wdXRRdWV1ZS5zaXplKCkgPj0gYmxvY2tDaXBoZXIuYmxvY2tTaXplKSB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgYmxvY2sgPSBBcnJheS5yZWFkRnJvbVF1ZXVlKGlucHV0UXVldWUsIGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSk7CgoKCiAgICAgICAgICAgICAgICBpZihpdiA9PSBuaWwpIHRoZW4KCiAgICAgICAgICAgICAgICAgICAgaXYgPSBibG9jazsKCiAgICAgICAgICAgICAgICBlbHNlCgogICAgICAgICAgICAgICAgICAgIGxvY2FsIG91dCA9IGl2OwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBibG9ja0NpcGhlci5lbmNyeXB0KGtleSwgb3V0KTsKCgoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1Iob3V0LCBibG9jayk7CgogICAgICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgb3V0KTsKCiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSVYoKTsKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCgoKQ1RSLkRlY2lwaGVyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBrZXk7CgogICAgbG9jYWwgYmxvY2tDaXBoZXI7CgogICAgbG9jYWwgcGFkZGluZzsKCiAgICBsb2NhbCBpbnB1dFF1ZXVlOwoKICAgIGxvY2FsIG91dHB1dFF1ZXVlOwoKICAgIGxvY2FsIGl2OwoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleUJ5dGVzKQoKICAgICAgICBrZXkgPSBrZXlCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGNpcGhlcikKCiAgICAgICAgYmxvY2tDaXBoZXIgPSBjaXBoZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0UGFkZGluZyA9IGZ1bmN0aW9uKHBhZGRpbmdNb2RlKQoKICAgICAgICBwYWRkaW5nID0gcGFkZGluZ01vZGU7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaW5wdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIG91dHB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgaXYgPSBuaWw7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBsb2NhbCB1cGRhdGVJViA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaXZbMTZdID0gaXZbMTZdICsgMTsKCiAgICAgICAgaWYgaXZbMTZdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxNl0gPSBBTkQoaXZbMTZdLCAweEZGKTsKCgoKICAgICAgICBpdlsxNV0gPSBpdlsxNV0gKyAxOwoKICAgICAgICBpZiBpdlsxNV0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzE1XSA9IEFORChpdlsxNV0sIDB4RkYpOwoKCgogICAgICAgIGl2WzE0XSA9IGl2WzE0XSArIDE7CgogICAgICAgIGlmIGl2WzE0XSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTRdID0gQU5EKGl2WzE0XSwgMHhGRik7CgoKCiAgICAgICAgaXZbMTNdID0gaXZbMTNdICsgMTsKCiAgICAgICAgaWYgaXZbMTNdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxM10gPSBBTkQoaXZbMTNdLCAweEZGKTsKCgoKICAgICAgICBpdlsxMl0gPSBpdlsxMl0gKyAxOwoKICAgICAgICBpZiBpdlsxMl0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzEyXSA9IEFORChpdlsxMl0sIDB4RkYpOwoKCgogICAgICAgIGl2WzExXSA9IGl2WzExXSArIDE7CgogICAgICAgIGlmIGl2WzExXSA8PSAweEZGIHRoZW4gcmV0dXJuOyBlbmQKCiAgICAgICAgaXZbMTFdID0gQU5EKGl2WzExXSwgMHhGRik7CgoKCiAgICAgICAgaXZbMTBdID0gaXZbMTBdICsgMTsKCiAgICAgICAgaWYgaXZbMTBdIDw9IDB4RkYgdGhlbiByZXR1cm47IGVuZAoKICAgICAgICBpdlsxMF0gPSBBTkQoaXZbMTBdLCAweEZGKTsKCgoKICAgICAgICBpdls5XSA9IGl2WzldICsgMTsKCiAgICAgICAgaWYgaXZbOV0gPD0gMHhGRiB0aGVuIHJldHVybjsgZW5kCgogICAgICAgIGl2WzldID0gQU5EKGl2WzldLCAweEZGKTsKCgoKICAgICAgICByZXR1cm47CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24obWVzc2FnZVN0cmVhbSkKCiAgICAgICAgbG9jYWwgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgd2hpbGUgKGJ5dGUgfj0gbmlsKSBkbwoKICAgICAgICAgICAgaW5wdXRRdWV1ZS5wdXNoKGJ5dGUpOwoKCgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGlmKGl2ID09IG5pbCkgdGhlbgoKICAgICAgICAgICAgICAgICAgICBpdiA9IGJsb2NrOwoKICAgICAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICAgICAgbG9jYWwgb3V0ID0gaXY7CgogICAgICAgICAgICAgICAgICAgIG91dCA9IGJsb2NrQ2lwaGVyLmVuY3J5cHQoa2V5LCBvdXQpOwoKCgogICAgICAgICAgICAgICAgICAgIG91dCA9IEFycmF5LlhPUihvdXQsIGJsb2NrKTsKCiAgICAgICAgICAgICAgICAgICAgQXJyYXkud3JpdGVUb1F1ZXVlKG91dHB1dFF1ZXVlLCBvdXQpOwoKICAgICAgICAgICAgICAgICAgICB1cGRhdGVJVigpOwoKICAgICAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKcmV0dXJuIENUUjsKAEKQ/A8L8cIBbG9jYWwgQXJyYXkgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYXJyYXkiKTsKCmxvY2FsIFN0cmVhbSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5zdHJlYW0iKTsKCmxvY2FsIFF1ZXVlID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnF1ZXVlIik7CgoKCmxvY2FsIEVDQiA9IHt9OwoKCgpFQ0IuQ2lwaGVyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBrZXk7CgogICAgbG9jYWwgYmxvY2tDaXBoZXI7CgogICAgbG9jYWwgcGFkZGluZzsKCiAgICBsb2NhbCBpbnB1dFF1ZXVlOwoKICAgIGxvY2FsIG91dHB1dFF1ZXVlOwoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleUJ5dGVzKQoKICAgICAgICBrZXkgPSBrZXlCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGNpcGhlcikKCiAgICAgICAgYmxvY2tDaXBoZXIgPSBjaXBoZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0UGFkZGluZyA9IGZ1bmN0aW9uKHBhZGRpbmdNb2RlKQoKICAgICAgICBwYWRkaW5nID0gcGFkZGluZ01vZGU7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaW5wdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIG91dHB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihtZXNzYWdlU3RyZWFtKQoKICAgICAgICBsb2NhbCBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICB3aGlsZSAoYnl0ZSB+PSBuaWwpIGRvCgogICAgICAgICAgICBpbnB1dFF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGJsb2NrID0gYmxvY2tDaXBoZXIuZW5jcnlwdChrZXksIGJsb2NrKTsKCgoKICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgYmxvY2spOwoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKRUNCLkRlY2lwaGVyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBrZXk7CgogICAgbG9jYWwgYmxvY2tDaXBoZXI7CgogICAgbG9jYWwgcGFkZGluZzsKCiAgICBsb2NhbCBpbnB1dFF1ZXVlOwoKICAgIGxvY2FsIG91dHB1dFF1ZXVlOwoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleUJ5dGVzKQoKICAgICAgICBrZXkgPSBrZXlCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRCbG9ja0NpcGhlciA9IGZ1bmN0aW9uKGNpcGhlcikKCiAgICAgICAgYmxvY2tDaXBoZXIgPSBjaXBoZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0UGFkZGluZyA9IGZ1bmN0aW9uKHBhZGRpbmdNb2RlKQoKICAgICAgICBwYWRkaW5nID0gcGFkZGluZ01vZGU7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgaW5wdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIG91dHB1dFF1ZXVlID0gUXVldWUoKTsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihtZXNzYWdlU3RyZWFtKQoKICAgICAgICBsb2NhbCBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICB3aGlsZSAoYnl0ZSB+PSBuaWwpIGRvCgogICAgICAgICAgICBpbnB1dFF1ZXVlLnB1c2goYnl0ZSk7CgogICAgICAgICAgICBpZihpbnB1dFF1ZXVlLnNpemUoKSA+PSBibG9ja0NpcGhlci5ibG9ja1NpemUpIHRoZW4KCiAgICAgICAgICAgICAgICBsb2NhbCBibG9jayA9IEFycmF5LnJlYWRGcm9tUXVldWUoaW5wdXRRdWV1ZSwgYmxvY2tDaXBoZXIuYmxvY2tTaXplKTsKCgoKICAgICAgICAgICAgICAgIGJsb2NrID0gYmxvY2tDaXBoZXIuZGVjcnlwdChrZXksIGJsb2NrKTsKCgoKICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgYmxvY2spOwoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBieXRlID0gbWVzc2FnZVN0cmVhbSgpOwoKICAgICAgICBlbmQKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5maW5pc2ggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIHBhZGRpbmdTdHJlYW0gPSBwYWRkaW5nKGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSwgaW5wdXRRdWV1ZS5nZXRIZWFkKCkpOwoKICAgICAgICBwdWJsaWMudXBkYXRlKHBhZGRpbmdTdHJlYW0pOwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZ2V0T3V0cHV0UXVldWUgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBvdXRwdXRRdWV1ZTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0hleCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b0hleChvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9BcnJheShvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvU3RyaW5nKG91dHB1dFF1ZXVlLnBvcCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKCgpyZXR1cm4gRUNCO2xvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5Iik7Cgpsb2NhbCBTdHJlYW0gPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuc3RyZWFtIik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBPRkIgPSB7fTsKCgoKT0ZCLkNpcGhlciA9IGZ1bmN0aW9uKCkKCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9OwoKCgogICAgbG9jYWwga2V5OwoKICAgIGxvY2FsIGJsb2NrQ2lwaGVyOwoKICAgIGxvY2FsIHBhZGRpbmc7CgogICAgbG9jYWwgaW5wdXRRdWV1ZTsKCiAgICBsb2NhbCBvdXRwdXRRdWV1ZTsKCiAgICBsb2NhbCBpdjsKCgoKICAgIHB1YmxpYy5zZXRLZXkgPSBmdW5jdGlvbihrZXlCeXRlcykKCiAgICAgICAga2V5ID0ga2V5Qnl0ZXM7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0QmxvY2tDaXBoZXIgPSBmdW5jdGlvbihjaXBoZXIpCgogICAgICAgIGJsb2NrQ2lwaGVyID0gY2lwaGVyOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldFBhZGRpbmcgPSBmdW5jdGlvbihwYWRkaW5nTW9kZSkKCiAgICAgICAgcGFkZGluZyA9IHBhZGRpbmdNb2RlOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmluaXQgPSBmdW5jdGlvbigpCgogICAgICAgIGlucHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBvdXRwdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIGl2ID0gbmlsOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnVwZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VTdHJlYW0pCgogICAgICAgIGxvY2FsIGJ5dGUgPSBtZXNzYWdlU3RyZWFtKCk7CgogICAgICAgIHdoaWxlIChieXRlIH49IG5pbCkgZG8KCiAgICAgICAgICAgIGlucHV0UXVldWUucHVzaChieXRlKTsKCiAgICAgICAgICAgIGlmKGlucHV0UXVldWUuc2l6ZSgpID49IGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSkgdGhlbgoKICAgICAgICAgICAgICAgIGxvY2FsIGJsb2NrID0gQXJyYXkucmVhZEZyb21RdWV1ZShpbnB1dFF1ZXVlLCBibG9ja0NpcGhlci5ibG9ja1NpemUpOwoKCgogICAgICAgICAgICAgICAgaWYoaXYgPT0gbmlsKSB0aGVuCgogICAgICAgICAgICAgICAgICAgIGl2ID0gYmxvY2s7CgogICAgICAgICAgICAgICAgZWxzZQoKICAgICAgICAgICAgICAgICAgICBsb2NhbCBvdXQgPSBpdjsKCiAgICAgICAgICAgICAgICAgICAgb3V0ID0gYmxvY2tDaXBoZXIuZW5jcnlwdChrZXksIG91dCk7CgogICAgICAgICAgICAgICAgICAgIGl2ID0gb3V0OwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1Iob3V0LCBibG9jayk7CgogICAgICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgb3V0KTsKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCk9GQi5EZWNpcGhlciA9IGZ1bmN0aW9uKCkKCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9OwoKCgogICAgbG9jYWwga2V5OwoKICAgIGxvY2FsIGJsb2NrQ2lwaGVyOwoKICAgIGxvY2FsIHBhZGRpbmc7CgogICAgbG9jYWwgaW5wdXRRdWV1ZTsKCiAgICBsb2NhbCBvdXRwdXRRdWV1ZTsKCiAgICBsb2NhbCBpdjsKCgoKICAgIHB1YmxpYy5zZXRLZXkgPSBmdW5jdGlvbihrZXlCeXRlcykKCiAgICAgICAga2V5ID0ga2V5Qnl0ZXM7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0QmxvY2tDaXBoZXIgPSBmdW5jdGlvbihjaXBoZXIpCgogICAgICAgIGJsb2NrQ2lwaGVyID0gY2lwaGVyOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldFBhZGRpbmcgPSBmdW5jdGlvbihwYWRkaW5nTW9kZSkKCiAgICAgICAgcGFkZGluZyA9IHBhZGRpbmdNb2RlOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmluaXQgPSBmdW5jdGlvbigpCgogICAgICAgIGlucHV0UXVldWUgPSBRdWV1ZSgpOwoKICAgICAgICBvdXRwdXRRdWV1ZSA9IFF1ZXVlKCk7CgogICAgICAgIGl2ID0gbmlsOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnVwZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VTdHJlYW0pCgogICAgICAgIGxvY2FsIGJ5dGUgPSBtZXNzYWdlU3RyZWFtKCk7CgogICAgICAgIHdoaWxlIChieXRlIH49IG5pbCkgZG8KCiAgICAgICAgICAgIGlucHV0UXVldWUucHVzaChieXRlKTsKCiAgICAgICAgICAgIGlmKGlucHV0UXVldWUuc2l6ZSgpID49IGJsb2NrQ2lwaGVyLmJsb2NrU2l6ZSkgdGhlbgoKICAgICAgICAgICAgICAgIGxvY2FsIGJsb2NrID0gQXJyYXkucmVhZEZyb21RdWV1ZShpbnB1dFF1ZXVlLCBibG9ja0NpcGhlci5ibG9ja1NpemUpOwoKCgogICAgICAgICAgICAgICAgaWYoaXYgPT0gbmlsKSB0aGVuCgogICAgICAgICAgICAgICAgICAgIGl2ID0gYmxvY2s7CgogICAgICAgICAgICAgICAgZWxzZQoKICAgICAgICAgICAgICAgICAgICBsb2NhbCBvdXQgPSBpdjsKCiAgICAgICAgICAgICAgICAgICAgb3V0ID0gYmxvY2tDaXBoZXIuZW5jcnlwdChrZXksIG91dCk7CgogICAgICAgICAgICAgICAgICAgIGl2ID0gb3V0OwoKICAgICAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1Iob3V0LCBibG9jayk7CgogICAgICAgICAgICAgICAgICAgIEFycmF5LndyaXRlVG9RdWV1ZShvdXRwdXRRdWV1ZSwgb3V0KTsKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgYnl0ZSA9IG1lc3NhZ2VTdHJlYW0oKTsKCiAgICAgICAgZW5kCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBwYWRkaW5nU3RyZWFtID0gcGFkZGluZyhibG9ja0NpcGhlci5ibG9ja1NpemUsIGlucHV0UXVldWUuZ2V0SGVhZCgpKTsKCiAgICAgICAgcHVibGljLnVwZGF0ZShwYWRkaW5nU3RyZWFtKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldE91dHB1dFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gb3V0cHV0UXVldWU7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBTdHJlYW0udG9IZXgob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gU3RyZWFtLnRvQXJyYXkob3V0cHV0UXVldWUucG9wKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIFN0cmVhbS50b1N0cmluZyhvdXRwdXRRdWV1ZS5wb3ApOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCgoKcmV0dXJuIE9GQjtsb2NhbCBIZXggPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaGV4Iik7CgoKCgoKbG9jYWwgZnVuY3Rpb24gUk9UUjY0KHgsIG4pCgogICAgcmV0dXJuICh4ID4+IG4pIHwgKHggPDwgKDY0LW4pKQoKZW5kCgoKCi0tIEcgTWl4aW5nIGZ1bmN0aW9uLgoKCgpsb2NhbCBmdW5jdGlvbiBHKHYsIGEsIGIsIGMsIGQsIHgsIHkpCgoJdlthXSA9IHZbYV0gKyB2W2JdICsgeAoKCXZbZF0gPSBST1RSNjQodltkXSB+IHZbYV0sIDMyKQoKCXZbY10gPSB2W2NdICsgdltkXQoKCXZbYl0gPSBST1RSNjQodltiXSB+IHZbY10sIDI0KQoKCXZbYV0gPSB2W2FdICsgdltiXSArIHkKCgl2W2RdID0gUk9UUjY0KHZbZF0gfiB2W2FdLCAxNikKCgl2W2NdID0gdltjXSArIHZbZF0KCgl2W2JdID0gUk9UUjY0KHZbYl0gfiB2W2NdLCA2MykKCmVuZAoKCgotLSAgSW5pdGlhbGl6YXRpb24gVmVjdG9yLgoKbG9jYWwgaXYgPSB7CgogICAgMHg2YTA5ZTY2N2YzYmNjOTA4LCAweGJiNjdhZTg1ODRjYWE3M2IsCgogICAgMHgzYzZlZjM3MmZlOTRmODJiLCAweGE1NGZmNTNhNWYxZDM2ZjEsCgogICAgMHg1MTBlNTI3ZmFkZTY4MmQxLCAweDliMDU2ODhjMmIzZTZjMWYsCgogICAgMHgxZjgzZDlhYmZiNDFiZDZiLCAweDViZTBjZDE5MTM3ZTIxNzkKCn0KCgoKbG9jYWwgc2lnbWEgPSB7CgoJLS0gYXJyYXkgaW5kZXggc3RhcnQgYXQgMSBpbiBMdWEsCgoJLS0gPT4gYWxsIHRoZSBwZXJtdXRhdGlvbiB2YWx1ZXMgYXJlIGluY3JlbWVudGVkIGJ5IG9uZQoKCXsgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYgfSwKCgl7IDE1LCAxMSwgNSwgOSwgMTAsIDE2LCAxNCwgNywgMiwgMTMsIDEsIDMsIDEyLCA4LCA2LCA0IH0sCgoJeyAxMiwgOSwgMTMsIDEsIDYsIDMsIDE2LCAxNCwgMTEsIDE1LCA0LCA3LCA4LCAyLCAxMCwgNSB9LAoKCXsgOCwgMTAsIDQsIDIsIDE0LCAxMywgMTIsIDE1LCAzLCA3LCA2LCAxMSwgNSwgMSwgMTYsIDkgfSwKCgl7IDEwLCAxLCA2LCA4LCAzLCA1LCAxMSwgMTYsIDE1LCAyLCAxMiwgMTMsIDcsIDksIDQsIDE0IH0sCgoJeyAzLCAxMywgNywgMTEsIDEsIDEyLCA5LCA0LCA1LCAxNCwgOCwgNiwgMTYsIDE1LCAyLCAxMCB9LAoKCXsgMTMsIDYsIDIsIDE2LCAxNSwgMTQsIDUsIDExLCAxLCA4LCA3LCA0LCAxMCwgMywgOSwgMTIgfSwKCgl7IDE0LCAxMiwgOCwgMTUsIDEzLCAyLCA0LCAxMCwgNiwgMSwgMTYsIDUsIDksIDcsIDMsIDExIH0sCgoJeyA3LCAxNiwgMTUsIDEwLCAxMiwgNCwgMSwgOSwgMTMsIDMsIDE0LCA4LCAyLCA1LCAxMSwgNiB9LAoKCXsgMTEsIDMsIDksIDUsIDgsIDcsIDIsIDYsIDE2LCAxMiwgMTAsIDE1LCA0LCAxMywgMTQsIDEgfSwKCgl7IDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2IH0sCgoJeyAxNSwgMTEsIDUsIDksIDEwLCAxNiwgMTQsIDcsIDIsIDEzLCAxLCAzLCAxMiwgOCwgNiwgNCB9Cgp9CgoKCgoKbG9jYWwgZnVuY3Rpb24gY29tcHJlc3MoY3R4LCBsYXN0KQoKCS0tIENvbXByZXNzaW9uIGZ1bmN0aW9uLiAibGFzdCIgZmxhZyBpbmRpY2F0ZXMgbGFzdCBibG9jay4KCglsb2NhbCB2LCBtID0ge30sIHt9IC0tIGJvdGggdiBhbmQgbSBhcmUgdTY0WzE2XQoKCWZvciBpID0gMSwgOCBkbwoKCQl2W2ldID0gY3R4LmhbaV0KCgkJdltpKzhdID0gaXZbaV0KCgllbmQKCgl2WzEzXSA9IHZbMTNdIH4gY3R4LnRbMV0gIC0tIGxvdyA2NCBiaXRzIG9mIG9mZnNldAoKCXZbMTRdID0gdlsxNF0gfiBjdHgudFsyXSAgLS0gaGlnaCA2NCBiaXRzCgoJaWYgbGFzdCB0aGVuIHZbMTVdID0gfnZbMTVdIGVuZAoKCWZvciBpID0gMCwgMTUgZG8gLS0gZ2V0IGxpdHRsZS1lbmRpYW4gd29yZHMKCgkJbVtpKzFdID0gc3RyaW5nLnVucGFjaygiPEk4IiwgY3R4LmIsIGkqOCsxKSAtLWNvcHkgYiBhcyBhIHNlcSBvZiB1NjQKCgllbmQKCgoKCWZvciBpID0gMSwgMTIgZG8gLS0gdHdlbHZlIHJvdW5kcwoKCQlHKHYsIDEsIDUsIDksIDEzLCBtW3NpZ21hW2ldWyAxXV0sIG1bc2lnbWFbaV1bIDJdXSkKCgkJRyh2LCAyLCA2LDEwLCAxNCwgbVtzaWdtYVtpXVsgM11dLCBtW3NpZ21hW2ldWyA0XV0pCgoJCUcodiwgMywgNywxMSwgMTUsIG1bc2lnbWFbaV1bIDVdXSwgbVtzaWdtYVtpXVsgNl1dKQoKCQlHKHYsIDQsIDgsMTIsIDE2LCBtW3NpZ21hW2ldWyA3XV0sIG1bc2lnbWFbaV1bIDhdXSkKCgkJRyh2LCAxLCA2LDExLCAxNiwgbVtzaWdtYVtpXVsgOV1dLCBtW3NpZ21hW2ldWzEwXV0pCgoJCUcodiwgMiwgNywxMiwgMTMsIG1bc2lnbWFbaV1bMTFdXSwgbVtzaWdtYVtpXVsxMl1dKQoKCQlHKHYsIDMsIDgsIDksIDE0LCBtW3NpZ21hW2ldWzEzXV0sIG1bc2lnbWFbaV1bMTRdXSkKCgkJRyh2LCA0LCA1LDEwLCAxNSwgbVtzaWdtYVtpXVsxNV1dLCBtW3NpZ21hW2ldWzE2XV0pCgoKCgllbmQKCgoKCWZvciBpID0gMSwgOCBkbwoKCQljdHguaFtpXSA9IGN0eC5oW2ldIH4gdltpXSB+IHZbaSArIDhdCgoJZW5kCgplbmQKCgoKbG9jYWwgdXBkYXRlICAtLSAodXBkYXRlIGlzIHVzZWQgaW4gaW5pdCgpIGJlbG93LCBidXQgZGVmaW5lZCBhZnRlcikKCgoKbG9jYWwgZnVuY3Rpb24gaW5pdChvdXRsZW4sIGtleSkKCgktLSBpbml0aWFsaXplIHRoZSBibGFrZSBmdW5jdGlvbgoKCS0tIDEgPD0gb3V0bGVuIDw9IDY0IGdpdmVzIHRoZSBkaWdlc3Qgc2l6ZSBpbiBieXRlcy4gZGVmYXVsdHMgdG8gNjQKCgktLSBrZXk6IG9wdGlvbmFsIHNlY3JldCBrZXkgKGFsc28gPD0gNjQgYnl0ZXMpLiBkZWZhdWx0cyB0byBubyBrZXkKCgktLSByZXR1cm4gdGhlIGluaXRpYWxpemVkIGNvbnRleHQKCglvdXRsZW4gPSBvdXRsZW4gb3IgNjQKCglrZXkgPSBrZXkgb3IgIiIKCglsb2NhbCBrZXlsZW4gPSAja2V5CgoJaWYgb3V0bGVuIDwgMSBvciBvdXRsZW4gPiA2NCBvciAoa2V5IGFuZCAja2V5ID4gNjQpIHRoZW4KCgkJcmV0dXJuIG5pbCwgImlsbGVnYWwgcGFyYW1ldGVycyIKCgllbmQKCglsb2NhbCBjdHggPSB7aD17fSwgdD17fSwgYz0xLCBvdXRsZW49b3V0bGVufSAtLSB0aGUgYmxha2UyIGNvbnRleHQKCgktLSBub3RlOiBjdHguYyBpcyB0aGUgaW5kZXggb2YgMXN0IGJ5dGUgZnJlZSBpbiBpbnB1dCBidWZmZXIgKGN0eC5iKQoKCS0tIGl0IGlzIG5vdCB1c2VkIGluIHRoaXMgaW1wbGVtZW50YXRpb24KCglmb3IgaSA9IDEsIDggZG8gY3R4LmhbaV0gPSBpdltpXSBlbmQgIC0tIHN0YXRlLCAicGFyYW0gYmxvY2siCgoJY3R4LmhbMV0gPSBjdHguaFsxXSB+IDB4MDEwMTAwMDAgfiAoa2V5bGVuIDw8IDgpIH4gb3V0bGVuCgoJY3R4LnRbMV0gPSAwICAgLS1pbnB1dCBjb3VudCBsb3cgd29yZAoKCWN0eC50WzJdID0gMCAgIC0taW5wdXQgY291bnQgaGlnaCB3b3JkCgoJLS0gemVybyBpbnB1dCBibG9jawoKCWN0eC5iID0gIiIKCglpZiBrZXlsZW4gPiAwIHRoZW4KCgkJdXBkYXRlKGN0eCwga2V5KQoKCQktLSBjdHguYyA9IDEyOCAtLSAgcGFkIGIgd2l0aCB6ZXJvIGJ5dGVzCgoJCWN0eC5iID0gY3R4LmIgLi4gc3RyaW5nLnJlcCgnXDAnLCAxMjggLSAjY3R4LmIpCgoJCWFzc2VydCgjY3R4LmIgPT0gMTI4KQoKCWVuZAoKCXJldHVybiBjdHgKCmVuZAoKCgp1cGRhdGUgPSBmdW5jdGlvbihjdHgsIGRhdGEpCgoJLS0gYnVmZmVyIG1ndCBjYW5ub3QgYmUgZG9uZSB0aGUgQyB3YXkuLgoKCWxvY2FsIGJsbiwgcmxuLCBpbG4KCglsb2NhbCBpID0gMSAtLSBpbmRleCBvZiAxc3QgYnl0ZSB0byBwcm9jZXNzIGluIGRhdGEKCgl3aGlsZSB0cnVlIGRvCgoJCWJsbiA9ICNjdHguYiAgLS0gY3VycmVudCBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIGlucHV0IGJ1ZmZlcgoKCQlhc3NlcnQoYmxuIDw9IDEyOCkKCgkJaWYgYmxuID09IDEyOCB0aGVuIC0tY3R4LmIgaXMgZnVsbDsgcHJvY2VzcyBpdC4KCgkJCS0tIGFkZCBjb3VudGVycwoKCQkJY3R4LnRbMV0gPSBjdHgudFsxXSArIDEyOAoKCQkJLS0gd2FybmluZzogdGhpcyBpcyBhIHNpZ25lZCA2NGJpdCBhZGRpdGlvbgoKCQkJLS0gaGVyZSBpdCBpcyBhc3N1bWVkIHRoYXQgdGhlIHRvdGFsIGlucHV0IGlzIGxlc3MKCgkJCS0tIHRoYW4gMl42MyBieXRlcyAodGhpcyBzaG91bGQgYmUgZW5vdWdoIGZvciBhCgoJCQktLSBwdXJlIEx1YSBpbXBsZW1lbnRhdGlvbiEpID0+IGN0eC50WzFdIG92ZXJmbG93IGlzIGlnbm9yZWQuCgoJCQljb21wcmVzcyhjdHgsIGZhbHNlKSAgIC0tIGZhbHNlIG1lYW5zIG5vdCBsYXN0CgoJCQljdHguYiA9ICIiIC0tIGVtcHR5IGJ1ZmZlcgoKCQllbHNlIC0tIGN0eC5iIGlzIG5vdCBmdWxsOyBhcHBlbmQgbW9yZSBieXRlcyBmcm9tIGRhdGEKCgkJCXJsbiA9ICAxMjggLSBibG4gIC0tIHJlbWFpbmluZyBzcGFjZSAoaW4gYnl0ZXMpIGluIGN0eC5iCgoJCQlpbG4gPSAjZGF0YSAtIGkgKyAxICAtLSBudW1iZXIgb2YgYnl0ZXMgeWV0IHRvIHByb2Nlc3MgaW4gZGF0YQoKCQkJaWYgaWxuIDwgcmxuIHRoZW4KCgkJCQljdHguYiA9IGN0eC5iIC4uIGRhdGE6c3ViKGksIGkgKyBpbG4gLTEpCgoJCQkJLS0gaGVyZSwgYWxsIGRhdGEgYnl0ZXMgaGF2ZSBiZWVuIHByb2Nlc3NlZCBvciBwdXQgaW4KCgkJCQktLSBidWZmZXIgYW5kIGJ1ZmZlciBpcyBub3QgZnVsbC4gd2UgYXJlIGRvbmUuCgoJCQkJYnJlYWsKCgkJCWVsc2UKCgkJCQljdHguYiA9IGN0eC5iIC4uIGRhdGE6c3ViKGksIGkgKyBybG4gLTEpCgoJCQkJaSA9IGkgKyBybG4KCgkJCWVuZAoKCQllbmQKCgllbmQKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBmaW5hbChjdHgpCgoJLS0gZmluYWxpemUgdGhlIGhhc2ggYW5kIHJldHVybiB0aGUgZGlnZXN0IGFzIGEgc3RyaW5nCgoJLS0KCglsb2NhbCBibG4gPSAjY3R4LmIKCgktLSBhZGQgbnVtYmVyIG9mIHJlbWFpbmluZyBieXRlcyBpbiBidWZmZXIgKGlnbm9yZSBjYXJyeSBvdmVyZmxvdykKCgljdHgudFsxXSA9IGN0eC50WzFdICsgYmxuCgoJLS0gcGFkIHRoZSBidWZmZXIgd2l0aCB6ZXJvIGJ5dGVzCgoJbG9jYWwgcmxuID0gIDEyOCAtIGJsbiAgLS0gcmVtYWluaW5nIHNwYWNlIChpbiBieXRlcykgaW4gY3R4LmIKCgljdHguYiA9IGN0eC5iIC4uIHN0cmluZy5yZXAoJ1wwJywgcmxuKQoKCWNvbXByZXNzKGN0eCwgdHJ1ZSkgLS0gdHJ1ZSBtZWFucyBmaW5hbCBibG9jawoKCS0tIGV4dHJhY3QgdGhlIGRpZ2VzdCAob3V0bGVuIGJ5dGVzIGxvbmcpCgoJbG9jYWwgb3V0dGJsID0ge30KCglmb3IgaSA9IDAsIGN0eC5vdXRsZW4gLSAxIGRvCgoJCW91dHRibFtpKzFdID0gc3RyaW5nLmNoYXIoCgoJCQkoY3R4LmhbKGkgPj4gMykgKyAxXSA+PiAoOCAqIChpICYgNykpKSAmIDB4ZmYpCgoJZW5kCgoJbG9jYWwgZGlnID0gdGFibGUuY29uY2F0KG91dHRibCkKCglyZXR1cm4gb3V0dGJsCgplbmQKCgoKLS0tIENhbGN1bGF0ZXMgdGhlIEJMQUtFMmIgaGFzaCBvZiB0aGUgZ2l2ZW4gZGF0YS4KCi0tLSBAcGFyYW0gZGF0YSBzdHJpbmcgLSBUaGUgaW5wdXQgZGF0YSB0byBiZSBoYXNoZWQuCgotLS0gQHBhcmFtIG91dGxlbj8gbnVtYmVyIChvcHRpb25hbCkgLSBUaGUgZGVzaXJlZCBsZW5ndGggb2YgdGhlIGhhc2ggb3V0cHV0LiBEZWZhdWx0cyB0byA2NC4KCi0tLSBAcGFyYW0ga2V5PyBzdHJpbmcgKG9wdGlvbmFsKSAtIFRoZSBrZXkgdG8gYmUgdXNlZCBmb3IgdGhlIGhhc2ggY2FsY3VsYXRpb24uIERlZmF1bHRzIHRvIGFuIGVtcHR5IHN0cmluZy4KCi0tLSBAcmV0dXJucyB0YWJsZSAtIEEgdGFibGUgY29udGFpbmluZyB0aGUgaGFzaCBpbiBieXRlcywgc3RyaW5nLCBhbmQgaGV4IGZvcm1hdHMuCgpsb2NhbCBmdW5jdGlvbiBibGFjazJiKGRhdGEsIG91dGxlbiwga2V5KQoKICAgIGxvY2FsIGN0eCwgbXNnID0gaW5pdChvdXRsZW4sIGtleSkKCiAgICBpZiBub3QgY3R4IHRoZW4gcmV0dXJuIGN0eCwgbXNnIGVuZAoKICAgIHVwZGF0ZShjdHgsIGRhdGEpCgogICAgbG9jYWwgYnl0ZXMgPSBmaW5hbChjdHgpCgoJbG9jYWwgaGFzaCA9IHRhYmxlLmNvbmNhdChieXRlcykKCgoKICAgIGxvY2FsIHB1YmxpYyA9IHt9CgoJCgoJcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgoJCXJldHVybiBieXRlcwoKCWVuZAoKCgoJcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKCQlyZXR1cm4gaGFzaAoKCWVuZAoKCgoJcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKCQlyZXR1cm4gSGV4LnN0cmluZ1RvSGV4KGhhc2gpCgoJZW5kCgoKCglyZXR1cm4gcHVibGljCgplbmQKCgoKcmV0dXJuIGJsYWNrMmIKAGxvY2FsIE1EMiA9IHJlcXVpcmUoIi5jcnlwdG8uZGlnZXN0Lm1kMiIpCgpsb2NhbCBNRDQgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5tZDQiKQoKbG9jYWwgTUQ1ID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3QubWQ1IikKCmxvY2FsIFNIQTEgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5zaGExIikKCmxvY2FsIFNIQTJfMjU2ID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3Quc2hhMl8yNTYiKQoKbG9jYWwgU0hBMl81MTIgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5zaGEyXzUxMiIpCgpsb2NhbCBTSEEzID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3Quc2hhMyIpCgpsb2NhbCBCbGFrZTJiID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3QuYmxha2UyYiIpCgoKCgoKbG9jYWwgZGlnZXN0ID0gewoKICAgIF92ZXJzaW9uID0gIjAuMC4xIiwKCiAgICBtZDIgPSBNRDIsCgogICAgbWQ0ID0gTUQ0LAoKICAgIG1kNSA9IE1ENSwKCiAgICBzaGExID0gU0hBMS5zaGExLAoKICAgIHNoYTJfMjU2ID0gU0hBMl8yNTYuc2hhMl8yNTYsCgogICAgc2hhMl81MTIgPSBTSEEyXzUxMiwKCiAgICBzaGEzXzI1NiA9IFNIQTMuc2hhM18yNTYsCgogICAgc2hhM181MTIgPSBTSEEzLnNoYTNfNTEyLAoKICAgIGtlY2NhazI1NiA9IFNIQTMua2VjY2FrMjU2LAoKICAgIGtlY2NhazUxMiA9IFNIQTMua2VjY2FrNTEyLAoKICAgIGJsYWtlMmIgPSBCbGFrZTJiCgp9CgoKCgoKCgoKCnJldHVybiBkaWdlc3QKAAAAAABsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBTVUJTVCA9IHsKCiAgMHgyOSwgMHgyRSwgMHg0MywgMHhDOSwgMHhBMiwgMHhEOCwgMHg3QywgMHgwMSwgMHgzRCwgMHgzNiwgMHg1NCwgMHhBMSwgMHhFQywgMHhGMCwgMHgwNiwgMHgxMywKCiAgMHg2MiwgMHhBNywgMHgwNSwgMHhGMywgMHhDMCwgMHhDNywgMHg3MywgMHg4QywgMHg5OCwgMHg5MywgMHgyQiwgMHhEOSwgMHhCQywgMHg0QywgMHg4MiwgMHhDQSwKCiAgMHgxRSwgMHg5QiwgMHg1NywgMHgzQywgMHhGRCwgMHhENCwgMHhFMCwgMHgxNiwgMHg2NywgMHg0MiwgMHg2RiwgMHgxOCwgMHg4QSwgMHgxNywgMHhFNSwgMHgxMiwKCiAgMHhCRSwgMHg0RSwgMHhDNCwgMHhENiwgMHhEQSwgMHg5RSwgMHhERSwgMHg0OSwgMHhBMCwgMHhGQiwgMHhGNSwgMHg4RSwgMHhCQiwgMHgyRiwgMHhFRSwgMHg3QSwKCiAgMHhBOSwgMHg2OCwgMHg3OSwgMHg5MSwgMHgxNSwgMHhCMiwgMHgwNywgMHgzRiwgMHg5NCwgMHhDMiwgMHgxMCwgMHg4OSwgMHgwQiwgMHgyMiwgMHg1RiwgMHgyMSwKCiAgMHg4MCwgMHg3RiwgMHg1RCwgMHg5QSwgMHg1QSwgMHg5MCwgMHgzMiwgMHgyNywgMHgzNSwgMHgzRSwgMHhDQywgMHhFNywgMHhCRiwgMHhGNywgMHg5NywgMHgwMywKCiAgMHhGRiwgMHgxOSwgMHgzMCwgMHhCMywgMHg0OCwgMHhBNSwgMHhCNSwgMHhEMSwgMHhENywgMHg1RSwgMHg5MiwgMHgyQSwgMHhBQywgMHg1NiwgMHhBQSwgMHhDNiwKCiAgMHg0RiwgMHhCOCwgMHgzOCwgMHhEMiwgMHg5NiwgMHhBNCwgMHg3RCwgMHhCNiwgMHg3NiwgMHhGQywgMHg2QiwgMHhFMiwgMHg5QywgMHg3NCwgMHgwNCwgMHhGMSwKCiAgMHg0NSwgMHg5RCwgMHg3MCwgMHg1OSwgMHg2NCwgMHg3MSwgMHg4NywgMHgyMCwgMHg4NiwgMHg1QiwgMHhDRiwgMHg2NSwgMHhFNiwgMHgyRCwgMHhBOCwgMHgwMiwKCiAgMHgxQiwgMHg2MCwgMHgyNSwgMHhBRCwgMHhBRSwgMHhCMCwgMHhCOSwgMHhGNiwgMHgxQywgMHg0NiwgMHg2MSwgMHg2OSwgMHgzNCwgMHg0MCwgMHg3RSwgMHgwRiwKCiAgMHg1NSwgMHg0NywgMHhBMywgMHgyMywgMHhERCwgMHg1MSwgMHhBRiwgMHgzQSwgMHhDMywgMHg1QywgMHhGOSwgMHhDRSwgMHhCQSwgMHhDNSwgMHhFQSwgMHgyNiwKCiAgMHgyQywgMHg1MywgMHgwRCwgMHg2RSwgMHg4NSwgMHgyOCwgMHg4NCwgMHgwOSwgMHhEMywgMHhERiwgMHhDRCwgMHhGNCwgMHg0MSwgMHg4MSwgMHg0RCwgMHg1MiwKCiAgMHg2QSwgMHhEQywgMHgzNywgMHhDOCwgMHg2QywgMHhDMSwgMHhBQiwgMHhGQSwgMHgyNCwgMHhFMSwgMHg3QiwgMHgwOCwgMHgwQywgMHhCRCwgMHhCMSwgMHg0QSwKCiAgMHg3OCwgMHg4OCwgMHg5NSwgMHg4QiwgMHhFMywgMHg2MywgMHhFOCwgMHg2RCwgMHhFOSwgMHhDQiwgMHhENSwgMHhGRSwgMHgzQiwgMHgwMCwgMHgxRCwgMHgzOSwKCiAgMHhGMiwgMHhFRiwgMHhCNywgMHgwRSwgMHg2NiwgMHg1OCwgMHhEMCwgMHhFNCwgMHhBNiwgMHg3NywgMHg3MiwgMHhGOCwgMHhFQiwgMHg3NSwgMHg0QiwgMHgwQSwKCiAgMHgzMSwgMHg0NCwgMHg1MCwgMHhCNCwgMHg4RiwgMHhFRCwgMHgxRiwgMHgxQSwgMHhEQiwgMHg5OSwgMHg4RCwgMHgzMywgMHg5RiwgMHgxMSwgMHg4MywgMHgxNCB9OwoKCgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCgoKbG9jYWwgTUQyID0gZnVuY3Rpb24oc3RyZWFtKQoKICAgIGxvY2FsIHF1ZXVlID0gUXVldWUoKTsKCiAgICBsb2NhbCBwdWJsaWMgPSB7fQoKCgogICAgbG9jYWwgWCA9IHt9OwoKICAgIGZvciBpID0gMCwgNDcgZG8KCiAgICAgICAgWFtpXSA9IDB4MDA7CgogICAgZW5kCgoKCiAgICBsb2NhbCBDID0ge307CgogICAgZm9yIGkgPSAwLCAxNSBkbwoKICAgICAgICBDW2ldID0gMHgwMDsKCiAgICBlbmQKCgoKICAgIGxvY2FsIHByb2Nlc3NCbG9jayA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgYmxvY2sgPSB7fTsKCgoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICBibG9ja1tpXSA9IHF1ZXVlLnBvcCgpOwoKICAgICAgICBlbmQKCgoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICBYW2kgKyAxNl0gPSBibG9ja1tpXTsKCiAgICAgICAgICAgIFhbaSArIDMyXSA9IFhPUihYW2ldLCBibG9ja1tpXSk7IC0tbWl4CgogICAgICAgIGVuZAoKCgogICAgICAgIGxvY2FsIHQ7CgoKCiAgICAgICAgLS11cGRhdGUgYmxvY2sKCiAgICAgICAgdCA9IDA7CgogICAgICAgIGZvciBpID0gMCwgMTcgZG8KCiAgICAgICAgICAgIGZvciBqID0gMCwgNDcgZG8KCiAgICAgICAgICAgICAgICBYW2pdID0gWE9SKFhbal0sIFNVQlNUW3QgKyAxXSk7CgogICAgICAgICAgICAgICAgdCA9IFhbal07CgogICAgICAgICAgICBlbmQKCiAgICAgICAgICAgIHQgPSAodCArIGkpICUgMjU2OwoKICAgICAgICBlbmQKCgoKICAgICAgICAtLXVwZGF0ZSBjaGVja3N1bQoKICAgICAgICB0ID0gQ1sxNV07CgogICAgICAgIGZvciBpID0gMCwgMTUgZG8KCiAgICAgICAgICAgIENbaV0gPSBYT1IoQ1tpXSwgU1VCU1RbWE9SKGJsb2NrW2ldLCB0KSArIDFdKTsKCiAgICAgICAgICAgIHQgPSBDW2ldOwoKICAgICAgICBlbmQKCgoKICAgIGVuZAoKCgogICAgZm9yIGIgaW4gc3RyZWFtIGRvCgogICAgICAgIHF1ZXVlLnB1c2goYik7CgogICAgICAgIGlmKHF1ZXVlLnNpemUoKSA+PSAxNikgdGhlbiBwcm9jZXNzQmxvY2soKTsgZW5kCgogICAgZW5kCgoKCiAgICBsb2NhbCBpID0gMTYgLSBxdWV1ZS5zaXplKCk7CgoKCiAgICB3aGlsZSBxdWV1ZS5zaXplKCkgPCAxNiBkbwoKICAgICAgICBxdWV1ZS5wdXNoKGkpOwoKICAgIGVuZAoKCgogICAgcHJvY2Vzc0Jsb2NrKCk7CgoKCiAgICBxdWV1ZS5wdXNoKENbIDBdKTsgcXVldWUucHVzaChDWyAxXSk7IHF1ZXVlLnB1c2goQ1sgMl0pOyBxdWV1ZS5wdXNoKENbIDNdKTsKCiAgICBxdWV1ZS5wdXNoKENbIDRdKTsgcXVldWUucHVzaChDWyA1XSk7IHF1ZXVlLnB1c2goQ1sgNl0pOyBxdWV1ZS5wdXNoKENbIDddKTsKCiAgICBxdWV1ZS5wdXNoKENbIDhdKTsgcXVldWUucHVzaChDWyA5XSk7IHF1ZXVlLnB1c2goQ1sxMF0pOyBxdWV1ZS5wdXNoKENbMTFdKTsKCiAgICBxdWV1ZS5wdXNoKENbMTJdKTsgcXVldWUucHVzaChDWzEzXSk7IHF1ZXVlLnB1c2goQ1sxNF0pOyBxdWV1ZS5wdXNoKENbMTVdKTsKCgoKICAgIHByb2Nlc3NCbG9jaygpOwoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiB7WFsgMF0sIFhbIDFdLCBYWyAyXSwgWFsgM10sIFhbIDRdLCBYWyA1XSwgWFsgNl0sIFhbIDddLAoKICAgICAgICAgICAgICAgIFhbIDhdLCBYWyA5XSwgWFsxMF0sIFhbMTFdLCBYWzEyXSwgWFsxM10sIFhbMTRdLCBYWzE1XX07CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBzdHJpbmcuZm9ybWF0KCIlMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiwKCiAgICAgICAgICAgICAgICBYWyAwXSwgWFsgMV0sIFhbIDJdLCBYWyAzXSwgWFsgNF0sIFhbIDVdLCBYWyA2XSwgWFsgN10sCgogICAgICAgICAgICAgICAgWFsgOF0sIFhbIDldLCBYWzEwXSwgWFsxMV0sIFhbMTJdLCBYWzEzXSwgWFsxNF0sIFhbMTVdKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIHN0cmluZy5wYWNrKHN0cmluZy5yZXAoJ0InLCAxNiksCgogICAgICAgICAgICAgICAgWFsgMF0sIFhbIDFdLCBYWyAyXSwgWFsgM10sIFhbIDRdLCBYWyA1XSwgWFsgNl0sIFhbIDddLAoKICAgICAgICAgICAgICAgIFhbIDhdLCBYWyA5XSwgWFsxMF0sIFhbMTFdLCBYWzEyXSwgWFsxM10sIFhbMTRdLCBYWzE1XSk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKcmV0dXJuIE1EMjsAAAAAAGxvY2FsIEJpdCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5iaXQiKTsKCmxvY2FsIFF1ZXVlID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnF1ZXVlIik7CgoKCmxvY2FsIEFORCA9IEJpdC5iYW5kOwoKbG9jYWwgT1IgID0gQml0LmJvcjsKCmxvY2FsIE5PVCA9IEJpdC5ibm90OwoKbG9jYWwgWE9SID0gQml0LmJ4b3I7Cgpsb2NhbCBMUk9UID0gQml0Lmxyb3RhdGU7Cgpsb2NhbCBMU0hJRlQgPSBCaXQubHNoaWZ0OwoKbG9jYWwgUlNISUZUID0gQml0LnJzaGlmdDsKCgoKLS1NRDQgaXMgbGl0dGxlLWVuZGlhbgoKbG9jYWwgYnl0ZXMyd29yZCA9IGZ1bmN0aW9uKGIwLCBiMSwgYjIsIGIzKQoKICAgIGxvY2FsIGkgPSBiMzsgaSA9IExTSElGVChpLCA4KTsKCiAgICBpID0gT1IoaSwgYjIpOyBpID0gTFNISUZUKGksIDgpOwoKICAgIGkgPSBPUihpLCBiMSk7IGkgPSBMU0hJRlQoaSwgOCk7CgogICAgaSA9IE9SKGksIGIwKTsKCiAgICByZXR1cm4gaTsKCmVuZAoKCgpsb2NhbCB3b3JkMmJ5dGVzID0gZnVuY3Rpb24od29yZCkKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMzsKCiAgICBiMCA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMSA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMiA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMyA9IEFORCh3b3JkLCAweEZGKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjM7CgplbmQKCgoKbG9jYWwgZHdvcmQyYnl0ZXMgPSBmdW5jdGlvbihpKQoKICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhtYXRoLmZsb29yKGkgLyAweDEwMDAwMDAwMCkpOwoKICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzID0gd29yZDJieXRlcyhpKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3OwoKZW5kCgoKCmxvY2FsIEYgPSBmdW5jdGlvbih4LCB5LCB6KSByZXR1cm4gT1IoQU5EKHgsIHkpLCBBTkQoTk9UKHgpLCB6KSk7IGVuZAoKbG9jYWwgRyA9IGZ1bmN0aW9uKHgsIHksIHopIHJldHVybiBPUihBTkQoeCwgeSksIE9SKEFORCh4LCB6KSwgQU5EKHksIHopKSk7IGVuZAoKbG9jYWwgSCA9IGZ1bmN0aW9uKHgsIHksIHopIHJldHVybiBYT1IoeCwgWE9SKHksIHopKTsgZW5kCgoKCgoKbG9jYWwgTUQ0ID0gZnVuY3Rpb24oc3RyZWFtKQoKCgogICAgbG9jYWwgcXVldWUgPSBRdWV1ZSgpOwoKCgogICAgbG9jYWwgQSA9IDB4Njc0NTIzMDE7CgogICAgbG9jYWwgQiA9IDB4ZWZjZGFiODk7CgogICAgbG9jYWwgQyA9IDB4OThiYWRjZmU7CgogICAgbG9jYWwgRCA9IDB4MTAzMjU0NzY7CgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBwcm9jZXNzQmxvY2sgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGEgPSBBOwoKICAgICAgICBsb2NhbCBiID0gQjsKCiAgICAgICAgbG9jYWwgYyA9IEM7CgogICAgICAgIGxvY2FsIGQgPSBEOwoKCgogICAgICAgIGxvY2FsIFggPSB7fTsKCgoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICBYW2ldID0gYnl0ZXMyd29yZChxdWV1ZS5wb3AoKSwgcXVldWUucG9wKCksIHF1ZXVlLnBvcCgpLCBxdWV1ZS5wb3AoKSk7CgogICAgICAgIGVuZAoKCgogICAgICAgIGEgPSBMUk9UKGEgKyBGKGIsIGMsIGQpICsgWFswXSwgMyk7CgogICAgICAgIGQgPSBMUk9UKGQgKyBGKGEsIGIsIGMpICsgWFsxXSwgNyk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBGKGQsIGEsIGIpICsgWFsyXSwgMTEpOwoKICAgICAgICBiID0gTFJPVChiICsgRihjLCBkLCBhKSArIFhbM10sIDE5KTsKCgoKICAgICAgICBhID0gTFJPVChhICsgRihiLCBjLCBkKSArIFhbNF0sIDMpOwoKICAgICAgICBkID0gTFJPVChkICsgRihhLCBiLCBjKSArIFhbNV0sIDcpOwoKICAgICAgICBjID0gTFJPVChjICsgRihkLCBhLCBiKSArIFhbNl0sIDExKTsKCiAgICAgICAgYiA9IExST1QoYiArIEYoYywgZCwgYSkgKyBYWzddLCAxOSk7CgoKCiAgICAgICAgYSA9IExST1QoYSArIEYoYiwgYywgZCkgKyBYWzhdLCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEYoYSwgYiwgYykgKyBYWzldLCA3KTsKCiAgICAgICAgYyA9IExST1QoYyArIEYoZCwgYSwgYikgKyBYWzEwXSwgMTEpOwoKICAgICAgICBiID0gTFJPVChiICsgRihjLCBkLCBhKSArIFhbMTFdLCAxOSk7CgoKCiAgICAgICAgYSA9IExST1QoYSArIEYoYiwgYywgZCkgKyBYWzEyXSwgMyk7CgogICAgICAgIGQgPSBMUk9UKGQgKyBGKGEsIGIsIGMpICsgWFsxM10sIDcpOwoKICAgICAgICBjID0gTFJPVChjICsgRihkLCBhLCBiKSArIFhbMTRdLCAxMSk7CgogICAgICAgIGIgPSBMUk9UKGIgKyBGKGMsIGQsIGEpICsgWFsxNV0sIDE5KTsKCgoKCgogICAgICAgIGEgPSBMUk9UKGEgKyBHKGIsIGMsIGQpICsgWFswXSArIDB4NUE4Mjc5OTksIDMpOwoKICAgICAgICBkID0gTFJPVChkICsgRyhhLCBiLCBjKSArIFhbNF0gKyAweDVBODI3OTk5LCA1KTsKCiAgICAgICAgYyA9IExST1QoYyArIEcoZCwgYSwgYikgKyBYWzhdICsgMHg1QTgyNzk5OSwgOSk7CgogICAgICAgIGIgPSBMUk9UKGIgKyBHKGMsIGQsIGEpICsgWFsxMl0gKyAweDVBODI3OTk5LCAxMyk7CgoKCiAgICAgICAgYSA9IExST1QoYSArIEcoYiwgYywgZCkgKyBYWzFdICsgMHg1QTgyNzk5OSwgMyk7CgogICAgICAgIGQgPSBMUk9UKGQgKyBHKGEsIGIsIGMpICsgWFs1XSArIDB4NUE4Mjc5OTksIDUpOwoKICAgICAgICBjID0gTFJPVChjICsgRyhkLCBhLCBiKSArIFhbOV0gKyAweDVBODI3OTk5LCA5KTsKCiAgICAgICAgYiA9IExST1QoYiArIEcoYywgZCwgYSkgKyBYWzEzXSArIDB4NUE4Mjc5OTksIDEzKTsKCgoKICAgICAgICBhID0gTFJPVChhICsgRyhiLCBjLCBkKSArIFhbMl0gKyAweDVBODI3OTk5LCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEcoYSwgYiwgYykgKyBYWzZdICsgMHg1QTgyNzk5OSwgNSk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBHKGQsIGEsIGIpICsgWFsxMF0gKyAweDVBODI3OTk5LCA5KTsKCiAgICAgICAgYiA9IExST1QoYiArIEcoYywgZCwgYSkgKyBYWzE0XSArIDB4NUE4Mjc5OTksIDEzKTsKCgoKICAgICAgICBhID0gTFJPVChhICsgRyhiLCBjLCBkKSArIFhbM10gKyAweDVBODI3OTk5LCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEcoYSwgYiwgYykgKyBYWzddICsgMHg1QTgyNzk5OSwgNSk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBHKGQsIGEsIGIpICsgWFsxMV0gKyAweDVBODI3OTk5LCA5KTsKCiAgICAgICAgYiA9IExST1QoYiArIEcoYywgZCwgYSkgKyBYWzE1XSArIDB4NUE4Mjc5OTksIDEzKTsKCgoKCgogICAgICAgIGEgPSBMUk9UKGEgKyBIKGIsIGMsIGQpICsgWFswXSArIDB4NkVEOUVCQTEsIDMpOwoKICAgICAgICBkID0gTFJPVChkICsgSChhLCBiLCBjKSArIFhbOF0gKyAweDZFRDlFQkExLCA5KTsKCiAgICAgICAgYyA9IExST1QoYyArIEgoZCwgYSwgYikgKyBYWzRdICsgMHg2RUQ5RUJBMSwgMTEpOwoKICAgICAgICBiID0gTFJPVChiICsgSChjLCBkLCBhKSArIFhbMTJdICsgMHg2RUQ5RUJBMSwgMTUpOwoKCgogICAgICAgIGEgPSBMUk9UKGEgKyBIKGIsIGMsIGQpICsgWFsyXSArIDB4NkVEOUVCQTEsIDMpOwoKICAgICAgICBkID0gTFJPVChkICsgSChhLCBiLCBjKSArIFhbMTBdICsgMHg2RUQ5RUJBMSwgOSk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBIKGQsIGEsIGIpICsgWFs2XSArIDB4NkVEOUVCQTEsIDExKTsKCiAgICAgICAgYiA9IExST1QoYiArIEgoYywgZCwgYSkgKyBYWzE0XSArIDB4NkVEOUVCQTEsIDE1KTsKCgoKICAgICAgICBhID0gTFJPVChhICsgSChiLCBjLCBkKSArIFhbMV0gKyAweDZFRDlFQkExLCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEgoYSwgYiwgYykgKyBYWzldICsgMHg2RUQ5RUJBMSwgOSk7CgogICAgICAgIGMgPSBMUk9UKGMgKyBIKGQsIGEsIGIpICsgWFs1XSArIDB4NkVEOUVCQTEsIDExKTsKCiAgICAgICAgYiA9IExST1QoYiArIEgoYywgZCwgYSkgKyBYWzEzXSArIDB4NkVEOUVCQTEsIDE1KTsKCgoKICAgICAgICBhID0gTFJPVChhICsgSChiLCBjLCBkKSArIFhbM10gKyAweDZFRDlFQkExLCAzKTsKCiAgICAgICAgZCA9IExST1QoZCArIEgoYSwgYiwgYykgKyBYWzExXSArIDB4NkVEOUVCQTEsIDkpOwoKICAgICAgICBjID0gTFJPVChjICsgSChkLCBhLCBiKSArIFhbN10gKyAweDZFRDlFQkExLCAxMSk7CgogICAgICAgIGIgPSBMUk9UKGIgKyBIKGMsIGQsIGEpICsgWFsxNV0gKyAweDZFRDlFQkExLCAxNSk7CgoKCgoKICAgICAgICBBID0gQU5EKEEgKyBhLCAweEZGRkZGRkZGKTsKCiAgICAgICAgQiA9IEFORChCICsgYiwgMHhGRkZGRkZGRik7CgogICAgICAgIEMgPSBBTkQoQyArIGMsIDB4RkZGRkZGRkYpOwoKICAgICAgICBEID0gQU5EKEQgKyBkLCAweEZGRkZGRkZGKTsKCiAgICBlbmQKCiAgICAKCgoKICAgIGZvciBzIGluIHN0cmVhbSBkbwoKICAgICAgICBxdWV1ZS5wdXNoKHMpOwoKICAgICAgICBpZiAocXVldWUuc2l6ZSgpID49IDY0KSB0aGVuIHByb2Nlc3NCbG9jaygpOyBlbmQKCiAgICBlbmQKCiAgICAKCiAgICBsb2NhbCBiaXRzID0gcXVldWUuZ2V0SGVhZCgpICogODsKCgoKICAgIHF1ZXVlLnB1c2goMHg4MCk7CgogICAgd2hpbGUgKChxdWV1ZS5zaXplKCkgKyA3KSAlIDY0KSA8IDYzIGRvCgogICAgICAgIHF1ZXVlLnB1c2goMHgwMCk7CgogICAgZW5kCgoKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcgPSBkd29yZDJieXRlcyhiaXRzKTsKCgoKICAgIHF1ZXVlLnB1c2goYjApOwoKICAgIHF1ZXVlLnB1c2goYjEpOwoKICAgIHF1ZXVlLnB1c2goYjIpOwoKICAgIHF1ZXVlLnB1c2goYjMpOwoKICAgIHF1ZXVlLnB1c2goYjQpOwoKICAgIHF1ZXVlLnB1c2goYjUpOwoKICAgIHF1ZXVlLnB1c2goYjYpOwoKICAgIHF1ZXVlLnB1c2goYjcpOwoKCgogICAgd2hpbGUgcXVldWUuc2l6ZSgpID4gMCBkbwoKICAgICAgICBwcm9jZXNzQmxvY2soKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKEEpOwoKICAgICAgICBsb2NhbCAgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKEIpOwoKICAgICAgICBsb2NhbCAgYjgsIGI5LCBiMTAsIGIxMSA9IHdvcmQyYnl0ZXMoQyk7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoRCk7CgoKCiAgICAgICAgcmV0dXJuIHtiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcsIGI4LCBiOSwgYjEwLCBiMTEsIGIxMiwgYjEzLCBiMTQsIGIxNX07CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsICBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoQSk7CgogICAgICAgIGxvY2FsICBiNCwgYjUsIGI2LCBiNyA9IHdvcmQyYnl0ZXMoQik7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhDKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhEKTsKCgoKICAgICAgICByZXR1cm4gc3RyaW5nLmZvcm1hdCgiJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCgogICAgICAgICAgICAgICAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUpOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKEEpOwoKICAgICAgICBsb2NhbCAgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKEIpOwoKICAgICAgICBsb2NhbCAgYjgsIGI5LCBiMTAsIGIxMSA9IHdvcmQyYnl0ZXMoQyk7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoRCk7CgoKCiAgICAgICAgcmV0dXJuIHN0cmluZy5wYWNrKHN0cmluZy5yZXAoJ0InLCAxNiksCgogICAgICAgICAgICAgICAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCnJldHVybiBNRDQ7AEKQvxELld0BbG9jYWwgQml0ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmJpdCIpOwoKbG9jYWwgUXVldWUgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwucXVldWUiKTsKCgoKbG9jYWwgU0hJRlQgPSB7CgogICAgNywgMTIsIDE3LCAyMiwgIDcsIDEyLCAxNywgMjIsICA3LCAxMiwgMTcsIDIyLCAgNywgMTIsIDE3LCAyMiwKCiAgICA1LCAgOSwgMTQsIDIwLCAgNSwgIDksIDE0LCAyMCwgIDUsICA5LCAxNCwgMjAsICA1LCAgOSwgMTQsIDIwLAoKICAgIDQsIDExLCAxNiwgMjMsICA0LCAxMSwgMTYsIDIzLCAgNCwgMTEsIDE2LCAyMywgIDQsIDExLCAxNiwgMjMsCgogICAgNiwgMTAsIDE1LCAyMSwgIDYsIDEwLCAxNSwgMjEsICA2LCAxMCwgMTUsIDIxLCAgNiwgMTAsIDE1LCAyMX07CgoKCmxvY2FsIENPTlNUQU5UUyA9IHsKCiAgICAweGQ3NmFhNDc4LCAweGU4YzdiNzU2LCAweDI0MjA3MGRiLCAweGMxYmRjZWVlLAoKICAgIDB4ZjU3YzBmYWYsIDB4NDc4N2M2MmEsIDB4YTgzMDQ2MTMsIDB4ZmQ0Njk1MDEsCgogICAgMHg2OTgwOThkOCwgMHg4YjQ0ZjdhZiwgMHhmZmZmNWJiMSwgMHg4OTVjZDdiZSwKCiAgICAweDZiOTAxMTIyLCAweGZkOTg3MTkzLCAweGE2Nzk0MzhlLCAweDQ5YjQwODIxLAoKICAgIDB4ZjYxZTI1NjIsIDB4YzA0MGIzNDAsIDB4MjY1ZTVhNTEsIDB4ZTliNmM3YWEsCgogICAgMHhkNjJmMTA1ZCwgMHgwMjQ0MTQ1MywgMHhkOGExZTY4MSwgMHhlN2QzZmJjOCwKCiAgICAweDIxZTFjZGU2LCAweGMzMzcwN2Q2LCAweGY0ZDUwZDg3LCAweDQ1NWExNGVkLAoKICAgIDB4YTllM2U5MDUsIDB4ZmNlZmEzZjgsIDB4Njc2ZjAyZDksIDB4OGQyYTRjOGEsCgogICAgMHhmZmZhMzk0MiwgMHg4NzcxZjY4MSwgMHg2ZDlkNjEyMiwgMHhmZGU1MzgwYywKCiAgICAweGE0YmVlYTQ0LCAweDRiZGVjZmE5LCAweGY2YmI0YjYwLCAweGJlYmZiYzcwLAoKICAgIDB4Mjg5YjdlYzYsIDB4ZWFhMTI3ZmEsIDB4ZDRlZjMwODUsIDB4MDQ4ODFkMDUsCgogICAgMHhkOWQ0ZDAzOSwgMHhlNmRiOTllNSwgMHgxZmEyN2NmOCwgMHhjNGFjNTY2NSwKCiAgICAweGY0MjkyMjQ0LCAweDQzMmFmZjk3LCAweGFiOTQyM2E3LCAweGZjOTNhMDM5LAoKICAgIDB4NjU1YjU5YzMsIDB4OGYwY2NjOTIsIDB4ZmZlZmY0N2QsIDB4ODU4NDVkZDEsCgogICAgMHg2ZmE4N2U0ZiwgMHhmZTJjZTZlMCwgMHhhMzAxNDMxNCwgMHg0ZTA4MTFhMSwKCiAgICAweGY3NTM3ZTgyLCAweGJkM2FmMjM1LCAweDJhZDdkMmJiLCAweGViODZkMzkxfTsKCgoKbG9jYWwgQU5EID0gQml0LmJhbmQ7Cgpsb2NhbCBPUiAgPSBCaXQuYm9yOwoKbG9jYWwgTk9UID0gQml0LmJub3Q7Cgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCmxvY2FsIExST1QgPSBCaXQubHJvdGF0ZTsKCmxvY2FsIExTSElGVCA9IEJpdC5sc2hpZnQ7Cgpsb2NhbCBSU0hJRlQgPSBCaXQucnNoaWZ0OwoKCgotLU1ENSBpcyBsaXR0bGUtZW5kaWFuCgpsb2NhbCBieXRlczJ3b3JkID0gZnVuY3Rpb24oYjAsIGIxLCBiMiwgYjMpCgogICAgbG9jYWwgaSA9IGIzOyBpID0gTFNISUZUKGksIDgpOwoKICAgIGkgPSBPUihpLCBiMik7IGkgPSBMU0hJRlQoaSwgOCk7CgogICAgaSA9IE9SKGksIGIxKTsgaSA9IExTSElGVChpLCA4KTsKCiAgICBpID0gT1IoaSwgYjApOwoKICAgIHJldHVybiBpOwoKZW5kCgoKCmxvY2FsIHdvcmQyYnl0ZXMgPSBmdW5jdGlvbih3b3JkKQoKICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzOwoKICAgIGIwID0gQU5EKHdvcmQsIDB4RkYpOyB3b3JkID0gUlNISUZUKHdvcmQsIDgpOwoKICAgIGIxID0gQU5EKHdvcmQsIDB4RkYpOyB3b3JkID0gUlNISUZUKHdvcmQsIDgpOwoKICAgIGIyID0gQU5EKHdvcmQsIDB4RkYpOyB3b3JkID0gUlNISUZUKHdvcmQsIDgpOwoKICAgIGIzID0gQU5EKHdvcmQsIDB4RkYpOwoKICAgIHJldHVybiBiMCwgYjEsIGIyLCBiMzsKCmVuZAoKCgpsb2NhbCBkd29yZDJieXRlcyA9IGZ1bmN0aW9uKGkpCgogICAgbG9jYWwgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKG1hdGguZmxvb3IoaSAvIDB4MTAwMDAwMDAwKSk7CgogICAgbG9jYWwgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKGkpOwoKICAgIHJldHVybiBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjc7CgplbmQKCgoKbG9jYWwgRiA9IGZ1bmN0aW9uKHgsIHksIHopIHJldHVybiBPUihBTkQoeCwgeSksIEFORChOT1QoeCksIHopKTsgZW5kCgpsb2NhbCBHID0gZnVuY3Rpb24oeCwgeSwgeikgcmV0dXJuIE9SKEFORCh4LCB6KSwgQU5EKHksIE5PVCh6KSkpOyBlbmQKCmxvY2FsIEggPSBmdW5jdGlvbih4LCB5LCB6KSByZXR1cm4gWE9SKHgsIFhPUih5LCB6KSk7IGVuZAoKbG9jYWwgSSA9IGZ1bmN0aW9uKHgsIHksIHopIHJldHVybiBYT1IoeSwgT1IoeCwgTk9UKHopKSk7IGVuZAoKCgpsb2NhbCBNRDUgPSBmdW5jdGlvbihzdHJlYW0pCgoKCiAgICBsb2NhbCBxdWV1ZSA9IFF1ZXVlKCk7CgoKCiAgICBsb2NhbCBBID0gMHg2NzQ1MjMwMTsKCiAgICBsb2NhbCBCID0gMHhlZmNkYWI4OTsKCiAgICBsb2NhbCBDID0gMHg5OGJhZGNmZTsKCiAgICBsb2NhbCBEID0gMHgxMDMyNTQ3NjsKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIHByb2Nlc3NCbG9jayA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgYSA9IEE7CgogICAgICAgIGxvY2FsIGIgPSBCOwoKICAgICAgICBsb2NhbCBjID0gQzsKCiAgICAgICAgbG9jYWwgZCA9IEQ7CgoKCiAgICAgICAgbG9jYWwgWCA9IHt9OwoKCgogICAgICAgIGZvciBpID0gMSwgMTYgZG8KCiAgICAgICAgICAgIFhbaV0gPSBieXRlczJ3b3JkKHF1ZXVlLnBvcCgpLCBxdWV1ZS5wb3AoKSwgcXVldWUucG9wKCksIHF1ZXVlLnBvcCgpKTsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgZm9yIGkgPSAwLCA2MyBkbwoKICAgICAgICAgICAgbG9jYWwgZiwgZywgdGVtcDsKCgoKICAgICAgICAgICAgaWYgKDAgPD0gaSkgYW5kIChpIDw9IDE1KSB0aGVuCgogICAgICAgICAgICAgICAgZiA9IEYoYiwgYywgZCk7CgogICAgICAgICAgICAgICAgZyA9IGk7CgogICAgICAgICAgICBlbHNlaWYgKDE2IDw9IGkpIGFuZCAoaSA8PSAzMSkgdGhlbgoKICAgICAgICAgICAgICAgIGYgPSBHKGIsIGMsIGQpOwoKICAgICAgICAgICAgICAgIGcgPSAoNSAqIGkgKyAxKSAlIDE2OwoKICAgICAgICAgICAgZWxzZWlmICgzMiA8PSBpKSBhbmQgKGkgPD0gNDcpIHRoZW4KCiAgICAgICAgICAgICAgICBmID0gSChiLCBjLCBkKTsKCiAgICAgICAgICAgICAgICBnID0gKDMgKiBpICsgNSkgJSAxNjsKCiAgICAgICAgICAgIGVsc2VpZiAoNDggPD0gaSkgYW5kIChpIDw9IDYzKSB0aGVuCgogICAgICAgICAgICAgICAgZiA9IEkoYiwgYywgZCk7CgogICAgICAgICAgICAgICAgZyA9ICg3ICogaSkgJSAxNjsKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgdGVtcCA9IGQ7CgogICAgICAgICAgICBkID0gYzsKCiAgICAgICAgICAgIGMgPSBiOwoKICAgICAgICAgICAgYiA9IGIgKyBMUk9UKChhICsgZiArIENPTlNUQU5UU1tpICsgMV0gKyBYW2cgKyAxXSksIFNISUZUW2kgKyAxXSk7CgogICAgICAgICAgICBhID0gdGVtcDsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgQSA9IEFORChBICsgYSwgMHhGRkZGRkZGRik7CgogICAgICAgIEIgPSBBTkQoQiArIGIsIDB4RkZGRkZGRkYpOwoKICAgICAgICBDID0gQU5EKEMgKyBjLCAweEZGRkZGRkZGKTsKCiAgICAgICAgRCA9IEFORChEICsgZCwgMHhGRkZGRkZGRik7CgogICAgZW5kCgoKCiAgICBmb3IgcyBpbiBzdHJlYW0gZG8KCiAgICAgICAgcXVldWUucHVzaChzKTsKCiAgICAgICAgaWYgKHF1ZXVlLnNpemUoKSA+PSA2NCkgdGhlbiBwcm9jZXNzQmxvY2soKTsgZW5kCgogICAgZW5kCgoKCiAgICBsb2NhbCBiaXRzID0gcXVldWUuZ2V0SGVhZCgpICogODsKCgoKICAgIHF1ZXVlLnB1c2goMHg4MCk7CgogICAgd2hpbGUgKChxdWV1ZS5zaXplKCkgKyA3KSAlIDY0KSA8IDYzIGRvCgogICAgICAgIHF1ZXVlLnB1c2goMHgwMCk7CgogICAgZW5kCgoKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcgPSBkd29yZDJieXRlcyhiaXRzKTsKCgoKICAgIHF1ZXVlLnB1c2goYjApOwoKICAgIHF1ZXVlLnB1c2goYjEpOwoKICAgIHF1ZXVlLnB1c2goYjIpOwoKICAgIHF1ZXVlLnB1c2goYjMpOwoKICAgIHF1ZXVlLnB1c2goYjQpOwoKICAgIHF1ZXVlLnB1c2goYjUpOwoKICAgIHF1ZXVlLnB1c2goYjYpOwoKICAgIHF1ZXVlLnB1c2goYjcpOwoKCgogICAgd2hpbGUgcXVldWUuc2l6ZSgpID4gMCBkbwoKICAgICAgICBwcm9jZXNzQmxvY2soKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKEEpOwoKICAgICAgICBsb2NhbCAgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKEIpOwoKICAgICAgICBsb2NhbCAgYjgsIGI5LCBiMTAsIGIxMSA9IHdvcmQyYnl0ZXMoQyk7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoRCk7CgoKCiAgICAgICAgcmV0dXJuIHtiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcsIGI4LCBiOSwgYjEwLCBiMTEsIGIxMiwgYjEzLCBiMTQsIGIxNX07CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsICBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoQSk7CgogICAgICAgIGxvY2FsICBiNCwgYjUsIGI2LCBiNyA9IHdvcmQyYnl0ZXMoQik7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhDKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhEKTsKCgoKICAgICAgICByZXR1cm4gc3RyaW5nLmZvcm1hdCgiJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCgogICAgICAgICAgICAgICAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUpOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoQSk7CgogICAgICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhCKTsKCiAgICAgICAgbG9jYWwgYjgsIGI5LCBiMTAsIGIxMSA9IHdvcmQyYnl0ZXMoQyk7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoRCk7CgoKCiAgICAgICAgcmV0dXJuIHN0cmluZy5wYWNrKHN0cmluZy5yZXAoJ0InLCAxNiksCgogICAgICAgICAgICBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcsIGI4LAoKICAgICAgICAgICAgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUKCiAgICAgICAgKQoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCgoKZW5kCgoKCnJldHVybiBNRDU7AABsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBBTkQgPSBCaXQuYmFuZDsKCmxvY2FsIE9SICA9IEJpdC5ib3I7Cgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCmxvY2FsIExST1QgPSBCaXQubHJvdGF0ZTsKCmxvY2FsIExTSElGVCA9IEJpdC5sc2hpZnQ7Cgpsb2NhbCBSU0hJRlQgPSBCaXQucnNoaWZ0OwoKCgotLVNIQTEgaXMgYmlnLWVuZGlhbgoKbG9jYWwgYnl0ZXMyd29yZCA9IGZ1bmN0aW9uKGIwLCBiMSwgYjIsIGIzKQoKICAgIGxvY2FsIGkgPSBiMDsgaSA9IExTSElGVChpLCA4KTsKCiAgICBpID0gT1IoaSwgYjEpOyBpID0gTFNISUZUKGksIDgpOwoKICAgIGkgPSBPUihpLCBiMik7IGkgPSBMU0hJRlQoaSwgOCk7CgogICAgaSA9IE9SKGksIGIzKTsKCiAgICByZXR1cm4gaTsKCmVuZAoKCgpsb2NhbCB3b3JkMmJ5dGVzID0gZnVuY3Rpb24od29yZCkKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMzsKCiAgICBiMyA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMiA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMSA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMCA9IEFORCh3b3JkLCAweEZGKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjM7CgplbmQKCgoKbG9jYWwgZHdvcmQyYnl0ZXMgPSBmdW5jdGlvbihpKQoKICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhpKTsKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMobWF0aC5mbG9vcihpIC8gMHgxMDAwMDAwMDApKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3OwoKZW5kCgoKCmxvY2FsIEYgPSBmdW5jdGlvbih4LCB5LCB6KSByZXR1cm4gWE9SKHosIEFORCh4LCBYT1IoeSwgeikpKTsgZW5kCgpsb2NhbCBHID0gZnVuY3Rpb24oeCwgeSwgeikgcmV0dXJuIFhPUih4LCBYT1IoeSwgeikpOyBlbmQKCmxvY2FsIEggPSBmdW5jdGlvbih4LCB5LCB6KSByZXR1cm4gT1IoQU5EKHgsIE9SKHksIHopKSwgQU5EKHksIHopKTsgZW5kCgpsb2NhbCBJID0gZnVuY3Rpb24oeCwgeSwgeikgcmV0dXJuIFhPUih4LCBYT1IoeSwgeikpOyBlbmQKCgoKbG9jYWwgU0hBMSA9IGZ1bmN0aW9uKCkKCgoKICAgIGxvY2FsIHF1ZXVlID0gUXVldWUoKTsKCgoKICAgIGxvY2FsIGgwID0gMHg2NzQ1MjMwMTsKCiAgICBsb2NhbCBoMSA9IDB4RUZDREFCODk7CgogICAgbG9jYWwgaDIgPSAweDk4QkFEQ0ZFOwoKICAgIGxvY2FsIGgzID0gMHgxMDMyNTQ3NjsKCiAgICBsb2NhbCBoNCA9IDB4QzNEMkUxRjA7CgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIGxvY2FsIHByb2Nlc3NCbG9jayA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgYSA9IGgwOwoKICAgICAgICBsb2NhbCBiID0gaDE7CgogICAgICAgIGxvY2FsIGMgPSBoMjsKCiAgICAgICAgbG9jYWwgZCA9IGgzOwoKICAgICAgICBsb2NhbCBlID0gaDQ7CgogICAgICAgIGxvY2FsIHRlbXA7CgogICAgICAgIGxvY2FsIGs7CgoKCiAgICAgICAgbG9jYWwgdyA9IHt9OwoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICB3W2ldID0gYnl0ZXMyd29yZChxdWV1ZS5wb3AoKSwgcXVldWUucG9wKCksIHF1ZXVlLnBvcCgpLCBxdWV1ZS5wb3AoKSk7CgogICAgICAgIGVuZAoKCgogICAgICAgIGZvciBpID0gMTYsIDc5IGRvCgogICAgICAgICAgICB3W2ldID0gTFJPVCgoWE9SKFhPUih3W2kgLSAzXSwgd1tpIC0gOF0pLCBYT1Iod1tpIC0gMTRdLCB3W2kgLSAxNl0pKSksIDEpOwoKICAgICAgICBlbmQKCgoKICAgICAgICBmb3IgaSA9IDAsIDc5IGRvCgogICAgICAgICAgICBpZiAoaSA8PSAxOSkgdGhlbgoKICAgICAgICAgICAgICAgIHRlbXAgPSBGKGIsIGMsIGQpOwoKICAgICAgICAgICAgICAgIGsgPSAweDVBODI3OTk5OwoKICAgICAgICAgICAgZWxzZWlmIChpIDw9IDM5KSB0aGVuCgogICAgICAgICAgICAgICAgdGVtcCA9IEcoYiwgYywgZCk7CgogICAgICAgICAgICAgICAgayA9IDB4NkVEOUVCQTE7CgogICAgICAgICAgICBlbHNlaWYgKGkgPD0gNTkpIHRoZW4KCiAgICAgICAgICAgICAgICB0ZW1wID0gSChiLCBjLCBkKTsKCiAgICAgICAgICAgICAgICBrID0gMHg4RjFCQkNEQzsKCiAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICB0ZW1wID0gSShiLCBjLCBkKTsKCiAgICAgICAgICAgICAgICBrID0gMHhDQTYyQzFENjsKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgdGVtcCA9IExST1QoYSwgNSkgKyB0ZW1wICsgZSArIGsgKyB3W2ldOwoKICAgICAgICAgICAgZSA9IGQ7CgogICAgICAgICAgICBkID0gYzsKCiAgICAgICAgICAgIGMgPSBMUk9UKGIsIDMwKTsKCiAgICAgICAgICAgIGIgPSBhOwoKICAgICAgICAgICAgYSA9IHRlbXA7CgogICAgICAgIGVuZAoKCgogICAgICAgIGgwID0gQU5EKGgwICsgYSwgMHhGRkZGRkZGRik7CgogICAgICAgIGgxID0gQU5EKGgxICsgYiwgMHhGRkZGRkZGRik7CgogICAgICAgIGgyID0gQU5EKGgyICsgYywgMHhGRkZGRkZGRik7CgogICAgICAgIGgzID0gQU5EKGgzICsgZCwgMHhGRkZGRkZGRik7CgogICAgICAgIGg0ID0gQU5EKGg0ICsgZSwgMHhGRkZGRkZGRik7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcXVldWUucmVzZXQoKTsKCiAgICAgICAgaDAgPSAweDY3NDUyMzAxOwoKICAgICAgICBoMSA9IDB4RUZDREFCODk7CgogICAgICAgIGgyID0gMHg5OEJBRENGRTsKCiAgICAgICAgaDMgPSAweDEwMzI1NDc2OwoKICAgICAgICBoNCA9IDB4QzNEMkUxRjA7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCgoKICAgIHB1YmxpYy51cGRhdGUgPSBmdW5jdGlvbihieXRlcykKCiAgICAgICAgZm9yIGIgaW4gYnl0ZXMgZG8KCiAgICAgICAgICAgIHF1ZXVlLnB1c2goYik7CgogICAgICAgICAgICBpZiBxdWV1ZS5zaXplKCkgPj0gNjQgdGhlbiBwcm9jZXNzQmxvY2soKTsgZW5kCgogICAgICAgIGVuZAoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBiaXRzID0gcXVldWUuZ2V0SGVhZCgpICogODsKCgoKICAgICAgICBxdWV1ZS5wdXNoKDB4ODApOwoKICAgICAgICB3aGlsZSAoKHF1ZXVlLnNpemUoKSArIDcpICUgNjQpIDwgNjMgZG8KCiAgICAgICAgICAgIHF1ZXVlLnB1c2goMHgwMCk7CgogICAgICAgIGVuZAoKCgogICAgICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNyA9IGR3b3JkMmJ5dGVzKGJpdHMpOwoKCgogICAgICAgIHF1ZXVlLnB1c2goYjApOwoKICAgICAgICBxdWV1ZS5wdXNoKGIxKTsKCiAgICAgICAgcXVldWUucHVzaChiMik7CgogICAgICAgIHF1ZXVlLnB1c2goYjMpOwoKICAgICAgICBxdWV1ZS5wdXNoKGI0KTsKCiAgICAgICAgcXVldWUucHVzaChiNSk7CgogICAgICAgIHF1ZXVlLnB1c2goYjYpOwoKICAgICAgICBxdWV1ZS5wdXNoKGI3KTsKCgoKICAgICAgICB3aGlsZSBxdWV1ZS5zaXplKCkgPiAwIGRvCgogICAgICAgICAgICBwcm9jZXNzQmxvY2soKTsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc0J5dGVzID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKGgwKTsKCiAgICAgICAgbG9jYWwgIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhoMSk7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhoMik7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoaDMpOwoKICAgICAgICBsb2NhbCBiMTYsIGIxNywgYjE4LCBiMTkgPSB3b3JkMmJ5dGVzKGg0KTsKCgoKICAgICAgICByZXR1cm4ge2IwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNywgYjgsIGI5LCBiMTAsIGIxMSwgYjEyLCBiMTMsIGIxNCwgYjE1LCBiMTYsIGIxNywgYjE4LCBiMTl9OwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKGgwKTsKCiAgICAgICAgbG9jYWwgIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhoMSk7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhoMik7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoaDMpOwoKICAgICAgICBsb2NhbCBiMTYsIGIxNywgYjE4LCBiMTkgPSB3b3JkMmJ5dGVzKGg0KTsKCgoKICAgICAgICByZXR1cm4gc3RyaW5nLmZvcm1hdCgiJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMngiLAoKICAgICAgICAgICAgICAgIGIwLCBiMSwgYjIsIGIzLCBiNCwgYjUsIGI2LCBiNywgYjgsIGI5LCBiMTAsIGIxMSwgYjEyLCBiMTMsIGIxNCwgYjE1LCBiMTYsIGIxNywgYjE4LCBiMTkpOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCAgYjAsIGIxLCBiMiwgYjMgPSB3b3JkMmJ5dGVzKGgwKTsKCiAgICAgICAgbG9jYWwgIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhoMSk7CgogICAgICAgIGxvY2FsICBiOCwgYjksIGIxMCwgYjExID0gd29yZDJieXRlcyhoMik7CgogICAgICAgIGxvY2FsIGIxMiwgYjEzLCBiMTQsIGIxNSA9IHdvcmQyYnl0ZXMoaDMpOwoKICAgICAgICBsb2NhbCBiMTYsIGIxNywgYjE4LCBiMTkgPSB3b3JkMmJ5dGVzKGg0KTsKCgoKICAgICAgICByZXR1cm4gc3RyaW5nLnBhY2soc3RyaW5nLnJlcCgnQicsIDIwKSwKCiAgICAgICAgICAgICAgICBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcsIGI4LCBiOSwgYjEwLCBiMTEsIGIxMiwgYjEzLCBiMTQsIGIxNSwgYjE2LCBiMTcsIGIxOCwgYjE5KTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBwdWJsaWM7CgplbmQKCgoKCgpsb2NhbCBzaGExID0gZnVuY3Rpb24oc3RyZWFtKQoKICAgIGxvY2FsIHJlc3VsdCA9IFNIQTEoKQoKICAgICAgICAgICAgLnVwZGF0ZShzdHJlYW0pCgogICAgICAgICAgICAuZmluaXNoKCkKCiAgICByZXR1cm4gcmVzdWx0CgplbmQKCgoKcmV0dXJuIHsKCiAgICBzaGExID0gc2hhMSwKCiAgICBTSEExID0gU0hBMQoKfQAAAAAAAABsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKbG9jYWwgU3RyZWFtID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnN0cmVhbSIpOwoKCgpsb2NhbCBDT05TVEFOVFMgPSB7CgogICAweDQyOGEyZjk4LCAweDcxMzc0NDkxLCAweGI1YzBmYmNmLCAweGU5YjVkYmE1LCAweDM5NTZjMjViLCAweDU5ZjExMWYxLCAweDkyM2Y4MmE0LCAweGFiMWM1ZWQ1LAoKICAgMHhkODA3YWE5OCwgMHgxMjgzNWIwMSwgMHgyNDMxODViZSwgMHg1NTBjN2RjMywgMHg3MmJlNWQ3NCwgMHg4MGRlYjFmZSwgMHg5YmRjMDZhNywgMHhjMTliZjE3NCwKCiAgIDB4ZTQ5YjY5YzEsIDB4ZWZiZTQ3ODYsIDB4MGZjMTlkYzYsIDB4MjQwY2ExY2MsIDB4MmRlOTJjNmYsIDB4NGE3NDg0YWEsIDB4NWNiMGE5ZGMsIDB4NzZmOTg4ZGEsCgogICAweDk4M2U1MTUyLCAweGE4MzFjNjZkLCAweGIwMDMyN2M4LCAweGJmNTk3ZmM3LCAweGM2ZTAwYmYzLCAweGQ1YTc5MTQ3LCAweDA2Y2E2MzUxLCAweDE0MjkyOTY3LAoKICAgMHgyN2I3MGE4NSwgMHgyZTFiMjEzOCwgMHg0ZDJjNmRmYywgMHg1MzM4MGQxMywgMHg2NTBhNzM1NCwgMHg3NjZhMGFiYiwgMHg4MWMyYzkyZSwgMHg5MjcyMmM4NSwKCiAgIDB4YTJiZmU4YTEsIDB4YTgxYTY2NGIsIDB4YzI0YjhiNzAsIDB4Yzc2YzUxYTMsIDB4ZDE5MmU4MTksIDB4ZDY5OTA2MjQsIDB4ZjQwZTM1ODUsIDB4MTA2YWEwNzAsCgogICAweDE5YTRjMTE2LCAweDFlMzc2YzA4LCAweDI3NDg3NzRjLCAweDM0YjBiY2I1LCAweDM5MWMwY2IzLCAweDRlZDhhYTRhLCAweDViOWNjYTRmLCAweDY4MmU2ZmYzLAoKICAgMHg3NDhmODJlZSwgMHg3OGE1NjM2ZiwgMHg4NGM4NzgxNCwgMHg4Y2M3MDIwOCwgMHg5MGJlZmZmYSwgMHhhNDUwNmNlYiwgMHhiZWY5YTNmNywgMHhjNjcxNzhmMiAgfTsKCgoKbG9jYWwgZm10ID0gIiUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiAuLgoKICAgICAgICAgICAgIiUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIKCgoKbG9jYWwgQU5EID0gQml0LmJhbmQ7Cgpsb2NhbCBPUiAgPSBCaXQuYm9yOwoKbG9jYWwgTk9UID0gQml0LmJub3Q7Cgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCmxvY2FsIFJST1QgPSBCaXQucnJvdGF0ZTsKCmxvY2FsIExTSElGVCA9IEJpdC5sc2hpZnQ7Cgpsb2NhbCBSU0hJRlQgPSBCaXQucnNoaWZ0OwoKCgotLVNIQTIgaXMgYmlnLWVuZGlhbgoKbG9jYWwgYnl0ZXMyd29yZCA9IGZ1bmN0aW9uKGIwLCBiMSwgYjIsIGIzKQoKICAgIGxvY2FsIGkgPSBiMDsgaSA9IExTSElGVChpLCA4KTsKCiAgICBpID0gT1IoaSwgYjEpOyBpID0gTFNISUZUKGksIDgpOwoKICAgIGkgPSBPUihpLCBiMik7IGkgPSBMU0hJRlQoaSwgOCk7CgogICAgaSA9IE9SKGksIGIzKTsKCiAgICByZXR1cm4gaTsKCmVuZAoKCgpsb2NhbCB3b3JkMmJ5dGVzID0gZnVuY3Rpb24od29yZCkKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMzsKCiAgICBiMyA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMiA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMSA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMCA9IEFORCh3b3JkLCAweEZGKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjM7CgplbmQKCgoKbG9jYWwgZHdvcmQyYnl0ZXMgPSBmdW5jdGlvbihpKQoKICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhpKTsKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMobWF0aC5mbG9vcihpIC8gMHgxMDAwMDAwMDApKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3OwoKZW5kCgoKCgoKbG9jYWwgU0hBMl8yNTYgPSBmdW5jdGlvbigpCgoKCiAgICBsb2NhbCBxdWV1ZSA9IFF1ZXVlKCk7CgoKCiAgICBsb2NhbCBoMCA9IDB4NmEwOWU2Njc7CgogICAgbG9jYWwgaDEgPSAweGJiNjdhZTg1OwoKICAgIGxvY2FsIGgyID0gMHgzYzZlZjM3MjsKCiAgICBsb2NhbCBoMyA9IDB4YTU0ZmY1M2E7CgogICAgbG9jYWwgaDQgPSAweDUxMGU1MjdmOwoKICAgIGxvY2FsIGg1ID0gMHg5YjA1Njg4YzsKCiAgICBsb2NhbCBoNiA9IDB4MWY4M2Q5YWI7CgogICAgbG9jYWwgaDcgPSAweDViZTBjZDE5OwoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBwcm9jZXNzQmxvY2sgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGEgPSBoMDsKCiAgICAgICAgbG9jYWwgYiA9IGgxOwoKICAgICAgICBsb2NhbCBjID0gaDI7CgogICAgICAgIGxvY2FsIGQgPSBoMzsKCiAgICAgICAgbG9jYWwgZSA9IGg0OwoKICAgICAgICBsb2NhbCBmID0gaDU7CgogICAgICAgIGxvY2FsIGcgPSBoNjsKCiAgICAgICAgbG9jYWwgaCA9IGg3OwoKCgogICAgICAgIGxvY2FsIHcgPSB7fTsKCgoKICAgICAgICBmb3IgaSA9IDAsIDE1IGRvCgogICAgICAgICAgICB3W2ldID0gYnl0ZXMyd29yZChxdWV1ZS5wb3AoKSwgcXVldWUucG9wKCksIHF1ZXVlLnBvcCgpLCBxdWV1ZS5wb3AoKSk7CgogICAgICAgIGVuZAoKCgogICAgICAgIGZvciBpID0gMTYsIDYzIGRvCgogICAgICAgICAgICBsb2NhbCBzMCA9IFhPUihSUk9UKHdbaSAtIDE1XSwgNyksIFhPUihSUk9UKHdbaSAtIDE1XSwgMTgpLCBSU0hJRlQod1tpIC0gMTVdLCAzKSkpOwoKICAgICAgICAgICAgbG9jYWwgczEgPSBYT1IoUlJPVCh3W2kgLSAyXSwgMTcpLCBYT1IoUlJPVCh3W2kgLSAgMl0sIDE5KSwgUlNISUZUKHdbaSAtIDJdLCAxMCkpKTsKCiAgICAgICAgICAgIHdbaV0gPSBBTkQod1tpIC0gMTZdICsgczAgKyB3W2kgLSA3XSArIHMxLCAweEZGRkZGRkZGKTsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgZm9yIGkgPSAwLCA2MyBkbwoKICAgICAgICAgICAgbG9jYWwgczEgPSBYT1IoUlJPVChlLCA2KSwgWE9SKFJST1QoZSwgMTEpLCBSUk9UKGUsIDI1KSkpOwoKICAgICAgICAgICAgbG9jYWwgY2ggPSBYT1IoQU5EKGUsIGYpLCBBTkQoTk9UKGUpLCBnKSk7CgogICAgICAgICAgICBsb2NhbCB0ZW1wMSA9IGggKyBzMSArIGNoICsgQ09OU1RBTlRTW2kgKyAxXSArIHdbaV07CgogICAgICAgICAgICBsb2NhbCBzMCA9IFhPUihSUk9UKGEsIDIpLCBYT1IoUlJPVChhLCAxMyksIFJST1QoYSwgMjIpKSk7CgogICAgICAgICAgICBsb2NhbCBtYWogPSBYT1IoQU5EKGEsIGIpLCBYT1IoQU5EKGEsIGMpLCBBTkQoYiwgYykpKTsKCiAgICAgICAgICAgIGxvY2FsIHRlbXAyID0gczAgKyBtYWo7CgoKCiAgICAgICAgICAgIGggPSBnOwoKICAgICAgICAgICAgZyA9IGY7CgogICAgICAgICAgICBmID0gZTsKCiAgICAgICAgICAgIGUgPSBkICsgdGVtcDE7CgogICAgICAgICAgICBkID0gYzsKCiAgICAgICAgICAgIGMgPSBiOwoKICAgICAgICAgICAgYiA9IGE7CgogICAgICAgICAgICBhID0gdGVtcDEgKyB0ZW1wMjsKCiAgICAgICAgZW5kCgoKCiAgICAgICAgaDAgPSBBTkQoaDAgKyBhLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDEgPSBBTkQoaDEgKyBiLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDIgPSBBTkQoaDIgKyBjLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDMgPSBBTkQoaDMgKyBkLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDQgPSBBTkQoaDQgKyBlLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDUgPSBBTkQoaDUgKyBmLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDYgPSBBTkQoaDYgKyBnLCAweEZGRkZGRkZGKTsKCiAgICAgICAgaDcgPSBBTkQoaDcgKyBoLCAweEZGRkZGRkZGKTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5pbml0ID0gZnVuY3Rpb24oKQoKICAgICAgICBxdWV1ZS5yZXNldCgpOwoKCgogICAgICAgIGgwID0gMHg2YTA5ZTY2NzsKCiAgICAgICAgaDEgPSAweGJiNjdhZTg1OwoKICAgICAgICBoMiA9IDB4M2M2ZWYzNzI7CgogICAgICAgIGgzID0gMHhhNTRmZjUzYTsKCiAgICAgICAgaDQgPSAweDUxMGU1MjdmOwoKICAgICAgICBoNSA9IDB4OWIwNTY4OGM7CgogICAgICAgIGg2ID0gMHgxZjgzZDlhYjsKCiAgICAgICAgaDcgPSAweDViZTBjZDE5OwoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMudXBkYXRlID0gZnVuY3Rpb24oYnl0ZXMpCgogICAgICAgIGZvciBiIGluIGJ5dGVzIGRvCgogICAgICAgICAgICBxdWV1ZS5wdXNoKGIpOwoKICAgICAgICAgICAgaWYgcXVldWUuc2l6ZSgpID49IDY0IHRoZW4gcHJvY2Vzc0Jsb2NrKCk7IGVuZAoKICAgICAgICBlbmQKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmZpbmlzaCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgYml0cyA9IHF1ZXVlLmdldEhlYWQoKSAqIDg7CgoKCiAgICAgICAgcXVldWUucHVzaCgweDgwKTsKCiAgICAgICAgd2hpbGUgKChxdWV1ZS5zaXplKCkgKyA3KSAlIDY0KSA8IDYzIGRvCgogICAgICAgICAgICBxdWV1ZS5wdXNoKDB4MDApOwoKICAgICAgICBlbmQKCgoKICAgICAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMywgYjQsIGI1LCBiNiwgYjcgPSBkd29yZDJieXRlcyhiaXRzKTsKCgoKICAgICAgICBxdWV1ZS5wdXNoKGIwKTsKCiAgICAgICAgcXVldWUucHVzaChiMSk7CgogICAgICAgIHF1ZXVlLnB1c2goYjIpOwoKICAgICAgICBxdWV1ZS5wdXNoKGIzKTsKCiAgICAgICAgcXVldWUucHVzaChiNCk7CgogICAgICAgIHF1ZXVlLnB1c2goYjUpOwoKICAgICAgICBxdWV1ZS5wdXNoKGI2KTsKCiAgICAgICAgcXVldWUucHVzaChiNyk7CgoKCiAgICAgICAgd2hpbGUgcXVldWUuc2l6ZSgpID4gMCBkbwoKICAgICAgICAgICAgcHJvY2Vzc0Jsb2NrKCk7CgogICAgICAgIGVuZAoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgbG9jYWwgIGIwLCBiMSwgYjIsIGIzID0gd29yZDJieXRlcyhoMCk7CgogICAgICAgIGxvY2FsICBiNCwgYjUsIGI2LCBiNyA9IHdvcmQyYnl0ZXMoaDEpOwoKICAgICAgICBsb2NhbCAgYjgsIGI5LCBiMTAsIGIxMSA9IHdvcmQyYnl0ZXMoaDIpOwoKICAgICAgICBsb2NhbCBiMTIsIGIxMywgYjE0LCBiMTUgPSB3b3JkMmJ5dGVzKGgzKTsKCiAgICAgICAgbG9jYWwgYjE2LCBiMTcsIGIxOCwgYjE5ID0gd29yZDJieXRlcyhoNCk7CgogICAgICAgIGxvY2FsIGIyMCwgYjIxLCBiMjIsIGIyMyA9IHdvcmQyYnl0ZXMoaDUpOwoKICAgICAgICBsb2NhbCBiMjQsIGIyNSwgYjI2LCBiMjcgPSB3b3JkMmJ5dGVzKGg2KTsKCiAgICAgICAgbG9jYWwgYjI4LCBiMjksIGIzMCwgYjMxID0gd29yZDJieXRlcyhoNyk7CgoKCgoKICAgICAgICByZXR1cm4geyAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUKCiAgICAgICAgICAgICAgICAsIGIxNiwgYjE3LCBiMTgsIGIxOSwgYjIwLCBiMjEsIGIyMiwgYjIzLCBiMjQsIGIyNSwgYjI2LCBiMjcsIGIyOCwgYjI5LCBiMzAsIGIzMX07CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsICBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoaDApOwoKICAgICAgICBsb2NhbCAgYjQsIGI1LCBiNiwgYjcgPSB3b3JkMmJ5dGVzKGgxKTsKCiAgICAgICAgbG9jYWwgIGI4LCBiOSwgYjEwLCBiMTEgPSB3b3JkMmJ5dGVzKGgyKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhoMyk7CgogICAgICAgIGxvY2FsIGIxNiwgYjE3LCBiMTgsIGIxOSA9IHdvcmQyYnl0ZXMoaDQpOwoKICAgICAgICBsb2NhbCBiMjAsIGIyMSwgYjIyLCBiMjMgPSB3b3JkMmJ5dGVzKGg1KTsKCiAgICAgICAgbG9jYWwgYjI0LCBiMjUsIGIyNiwgYjI3ID0gd29yZDJieXRlcyhoNik7CgogICAgICAgIGxvY2FsIGIyOCwgYjI5LCBiMzAsIGIzMSA9IHdvcmQyYnl0ZXMoaDcpOwoKCgogICAgICAgIHJldHVybiBzdHJpbmcuZm9ybWF0KGZtdCwgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwgYjksIGIxMCwgYjExLCBiMTIsIGIxMywgYjE0LCBiMTUKCiAgICAgICAgICAgICAgICAsIGIxNiwgYjE3LCBiMTgsIGIxOSwgYjIwLCBiMjEsIGIyMiwgYjIzLCBiMjQsIGIyNSwgYjI2LCBiMjcsIGIyOCwgYjI5LCBiMzAsIGIzMSk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIGxvY2FsIGIwLCBiMSwgYjIsIGIzID0gd29yZDJieXRlcyhoMCk7CgogICAgICAgIGxvY2FsIGI0LCBiNSwgYjYsIGI3ID0gd29yZDJieXRlcyhoMSk7CgogICAgICAgIGxvY2FsIGI4LCBiOSwgYjEwLCBiMTEgPSB3b3JkMmJ5dGVzKGgyKTsKCiAgICAgICAgbG9jYWwgYjEyLCBiMTMsIGIxNCwgYjE1ID0gd29yZDJieXRlcyhoMyk7CgogICAgICAgIGxvY2FsIGIxNiwgYjE3LCBiMTgsIGIxOSA9IHdvcmQyYnl0ZXMoaDQpOwoKICAgICAgICBsb2NhbCBiMjAsIGIyMSwgYjIyLCBiMjMgPSB3b3JkMmJ5dGVzKGg1KTsKCiAgICAgICAgbG9jYWwgYjI0LCBiMjUsIGIyNiwgYjI3ID0gd29yZDJieXRlcyhoNik7CgogICAgICAgIGxvY2FsIGIyOCwgYjI5LCBiMzAsIGIzMSA9IHdvcmQyYnl0ZXMoaDcpOwoKCgogICAgICAgIHJldHVybiBzdHJpbmcucGFjayhzdHJpbmcucmVwKCdCJywgMzIpLAoKICAgICAgICAgICAgYjAsIGIxLCBiMiwgYjMsIGI0LCBiNSwgYjYsIGI3LCBiOCwKCiAgICAgICAgICAgIGI5LCBiMTAsIGIxMSwgYjEyLCBiMTMsIGIxNCwgYjE1LAoKICAgICAgICAgICAgYjE2LCBiMTcsIGIxOCwgYjE5LCBiMjAsIGIyMSwgYjIyLCBiMjMsIGIyNCwKCiAgICAgICAgICAgIGIyNSwgYjI2LCBiMjcsIGIyOCwgYjI5LCBiMzAsIGIzMSk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKCgplbmQKCgoKLS0tIEBjbGFzcyBTdHJlYW0gOiB0YWJsZQoKCgotLS0gQHBhcmFtIHN0cmVhbSAoU3RyZWFtKSAtIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBuZXh0IGJ5dGUgb2YgdGhlIHN0cmVhbSwgb3IgbmlsIGlmIHRoZSBzdHJlYW0gaGFzIGVuZGVkLgoKLS0tIEByZXR1cm5zIHRhYmxlIC0gQSB0YWJsZSBjb250YWluaW5nIHRoZSBoYXNoIGluIGJ5dGVzLCBzdHJpbmcsIGFuZCBoZXggZm9ybWF0cy4KCmxvY2FsIHNoYTJfMjU2ID0gZnVuY3Rpb24oc3RyZWFtKQoKICAgIGxvY2FsIHJlc3VsdCA9IFNIQTJfMjU2KCkKCiAgICAgICAgICAgIC51cGRhdGUoc3RyZWFtKQoKICAgICAgICAgICAgLmZpbmlzaCgpCgogICAgcmV0dXJuIHJlc3VsdAoKZW5kCgoKCnJldHVybiB7CgogICAgc2hhMl8yNTYgPSBzaGEyXzI1NiwKCiAgICBTSEEyXzI1NiA9IFNIQTJfMjU2Cgp9OwoAAGxvY2FsIEhleCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5oZXgiKQoKCgpsb2NhbCBrNTEyID0gewoKMHg0MjhhMmY5OGQ3MjhhZTIyLDB4NzEzNzQ0OTEyM2VmNjVjZCwweGI1YzBmYmNmZWM0ZDNiMmYsMHhlOWI1ZGJhNTgxODlkYmJjLAoKMHgzOTU2YzI1YmYzNDhiNTM4LDB4NTlmMTExZjFiNjA1ZDAxOSwweDkyM2Y4MmE0YWYxOTRmOWIsMHhhYjFjNWVkNWRhNmQ4MTE4LAoKMHhkODA3YWE5OGEzMDMwMjQyLDB4MTI4MzViMDE0NTcwNmZiZSwweDI0MzE4NWJlNGVlNGIyOGMsMHg1NTBjN2RjM2Q1ZmZiNGUyLAoKMHg3MmJlNWQ3NGYyN2I4OTZmLDB4ODBkZWIxZmUzYjE2OTZiMSwweDliZGMwNmE3MjVjNzEyMzUsMHhjMTliZjE3NGNmNjkyNjk0LAoKMHhlNDliNjljMTllZjE0YWQyLDB4ZWZiZTQ3ODYzODRmMjVlMywweDBmYzE5ZGM2OGI4Y2Q1YjUsMHgyNDBjYTFjYzc3YWM5YzY1LAoKMHgyZGU5MmM2ZjU5MmIwMjc1LDB4NGE3NDg0YWE2ZWE2ZTQ4MywweDVjYjBhOWRjYmQ0MWZiZDQsMHg3NmY5ODhkYTgzMTE1M2I1LAoKMHg5ODNlNTE1MmVlNjZkZmFiLDB4YTgzMWM2NmQyZGI0MzIxMCwweGIwMDMyN2M4OThmYjIxM2YsMHhiZjU5N2ZjN2JlZWYwZWU0LAoKMHhjNmUwMGJmMzNkYTg4ZmMyLDB4ZDVhNzkxNDc5MzBhYTcyNSwweDA2Y2E2MzUxZTAwMzgyNmYsMHgxNDI5Mjk2NzBhMGU2ZTcwLAoKMHgyN2I3MGE4NTQ2ZDIyZmZjLDB4MmUxYjIxMzg1YzI2YzkyNiwweDRkMmM2ZGZjNWFjNDJhZWQsMHg1MzM4MGQxMzlkOTViM2RmLAoKMHg2NTBhNzM1NDhiYWY2M2RlLDB4NzY2YTBhYmIzYzc3YjJhOCwweDgxYzJjOTJlNDdlZGFlZTYsMHg5MjcyMmM4NTE0ODIzNTNiLAoKMHhhMmJmZThhMTRjZjEwMzY0LDB4YTgxYTY2NGJiYzQyMzAwMSwweGMyNGI4YjcwZDBmODk3OTEsMHhjNzZjNTFhMzA2NTRiZTMwLAoKMHhkMTkyZTgxOWQ2ZWY1MjE4LDB4ZDY5OTA2MjQ1NTY1YTkxMCwweGY0MGUzNTg1NTc3MTIwMmEsMHgxMDZhYTA3MDMyYmJkMWI4LAoKMHgxOWE0YzExNmI4ZDJkMGM4LDB4MWUzNzZjMDg1MTQxYWI1MywweDI3NDg3NzRjZGY4ZWViOTksMHgzNGIwYmNiNWUxOWI0OGE4LAoKMHgzOTFjMGNiM2M1Yzk1YTYzLDB4NGVkOGFhNGFlMzQxOGFjYiwweDViOWNjYTRmNzc2M2UzNzMsMHg2ODJlNmZmM2Q2YjJiOGEzLAoKMHg3NDhmODJlZTVkZWZiMmZjLDB4NzhhNTYzNmY0MzE3MmY2MCwweDg0Yzg3ODE0YTFmMGFiNzIsMHg4Y2M3MDIwODFhNjQzOWVjLAoKMHg5MGJlZmZmYTIzNjMxZTI4LDB4YTQ1MDZjZWJkZTgyYmRlOSwweGJlZjlhM2Y3YjJjNjc5MTUsMHhjNjcxNzhmMmUzNzI1MzJiLAoKMHhjYTI3M2VjZWVhMjY2MTljLDB4ZDE4NmI4YzcyMWMwYzIwNywweGVhZGE3ZGQ2Y2RlMGViMWUsMHhmNTdkNGY3ZmVlNmVkMTc4LAoKMHgwNmYwNjdhYTcyMTc2ZmJhLDB4MGE2MzdkYzVhMmM4OThhNiwweDExM2Y5ODA0YmVmOTBkYWUsMHgxYjcxMGIzNTEzMWM0NzFiLAoKMHgyOGRiNzdmNTIzMDQ3ZDg0LDB4MzJjYWFiN2I0MGM3MjQ5MywweDNjOWViZTBhMTVjOWJlYmMsMHg0MzFkNjdjNDljMTAwZDRjLAoKMHg0Y2M1ZDRiZWNiM2U0MmI2LDB4NTk3ZjI5OWNmYzY1N2UyYSwweDVmY2I2ZmFiM2FkNmZhZWMsMHg2YzQ0MTk4YzRhNDc1ODE3Cgp9CgoKCmxvY2FsIGZ1bmN0aW9uIHBhZDEyOChtc2csIGxlbikKCglsb2NhbCBleHRyYSA9IDEyOCAtICgobGVuICsgMSArIDgpICUgMTI4KQoKCWxlbiA9IHN0cmluZy5wYWNrKCI+STgiLCBsZW4gKiA4KQoKCW1zZyA9IG1zZyAuLiAiXDEyOCIgLi4gc3RyaW5nLnJlcCgiXDAiLCBleHRyYSkgLi4gbGVuCgoJYXNzZXJ0KCNtc2cgJSAxMjggPT0gMCkKCglyZXR1cm4gbXNnCgplbmQKCgoKbG9jYWwgd3c1MTIgPSB7fQoKCgotLS0gU0hBLTUxMiBoYXNoIGZ1bmN0aW9uLgoKLS0tIEBwYXJhbSBtc2cgc3RyaW5nIC0gVGhlIG1lc3NhZ2UgdG8gaGFzaC4KCi0tLSBAcmV0dXJucyB0YWJsZSAtIEEgdGFibGUgY29udGFpbmluZyB0aGUgaGFzaCBpbiBieXRlcywgc3RyaW5nLCBhbmQgaGV4IGZvcm1hdHMuCgpsb2NhbCBmdW5jdGlvbiBzaGE1MTIgKG1zZykKCgltc2cgPSBwYWQxMjgobXNnLCAjbXNnKQoKCWxvY2FsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGg3LCBoOCA9IAoKCQkweDZhMDllNjY3ZjNiY2M5MDgsIDB4YmI2N2FlODU4NGNhYTczYiwKCgkJMHgzYzZlZjM3MmZlOTRmODJiLCAweGE1NGZmNTNhNWYxZDM2ZjEsCgoJCTB4NTEwZTUyN2ZhZGU2ODJkMSwgMHg5YjA1Njg4YzJiM2U2YzFmLAoKCQkweDFmODNkOWFiZmI0MWJkNmIsIDB4NWJlMGNkMTkxMzdlMjE3OQoKCWxvY2FsIGsgPSBrNTEyCgoJbG9jYWwgdyA9IHd3NTEyCgoJbG9jYWwgbWxlbiA9ICNtc2cKCgoKCWZvciBpID0gMSwgbWxlbiwgMTI4IGRvCgoJCXdbMV0sIHdbMl0sIHdbM10sIHdbNF0sIHdbNV0sIHdbNl0sIHdbN10sIHdbOF0sIAoKCQl3WzldLCB3WzEwXSwgd1sxMV0sIHdbMTJdLCB3WzEzXSwgd1sxNF0sIHdbMTVdLCB3WzE2XQoKCQk9IHN0cmluZy51bnBhY2soIj5pOGk4aThpOGk4aThpOGk4aThpOGk4aThpOGk4aThpOCIsIG1zZywgaSkKCgkJLS0gbWl4IG1zZyBibG9jayBpbiBzdGF0ZQoKCgoJCWZvciBqID0gMTcsIDgwIGRvCgoJCQlsb2NhbCBhID0gd1tqLTE1XQoKCQkJbG9jYWwgYiA9IHdbai0yXQoKCQkJd1tqXSA9IChhID4+IDEgfiBhID4+IDcgfiBhID4+IDggfiBhIDw8IDU2IH4gYSA8PCA2MykKCgkJCSAgKyAoYiA+PiA2IH4gYiA+PiAxOSB+IGIgPj4gNjEgfiBiIDw8IDMgfiBiIDw8IDQ1KSAKCgkJCSAgKyB3W2otN10gKyB3W2otMTZdCgoJCWVuZAoKCQlsb2NhbCBhLCBiLCBjLCBkLCBlLCBmLCBnLCBoID0gaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaDcsIGg4CgoJCS0tIG1haW4gc3RhdGUgcGVybXV0YXRpb24KCgkJZm9yIGogPSAxLCA4MCBkbwoKCQkJbG9jYWwgeiA9IChlID4+IDE0IH4gZSA+PiAxOCB+IGUgPj4gNDEgfiBlIDw8IDIzIAoKCQkJCSAgIH4gZSA8PCA0NiB+IGUgPDwgNTApIAoKCQkJCSsgKGcgfiBlICYgKGYgfiBnKSkgKyBoICsga1tqXSArIHdbal0KCgkJCWggPSBnCgoJCQlnID0gZgoKCQkJZiA9IGUKCgkJCWUgPSB6ICsgZAoKCQkJZCA9IGMKCgkJCWMgPSBiCgoJCQliID0gYQoKCQkJYSA9IHogKyAoKGEgfiBjKSAmIGQgfiBhICYgYykgCgoJCQkgICAgICArIChhID4+IDI4IH4gYSA+PiAzNCB+IGEgPj4gMzkgfiBhIDw8IDI1IAoKCQkJCX4gYSA8PCAzMCB+IGEgPDwgMzYpCgoJCWVuZAoKCQloMSA9IGgxICsgYQoKCQloMiA9IGgyICsgYiAKCgkJaDMgPSBoMyArIGMgCgoJCWg0ID0gaDQgKyBkIAoKCQloNSA9IGg1ICsgZSAKCgkJaDYgPSBoNiArIGYgCgoJCWg3ID0gaDcgKyBnIAoKCQloOCA9IGg4ICsgaCAKCgllbmQKCgoKCWxvY2FsIHB1YmxpYyA9IHt9CgoKCglwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCgkJcmV0dXJuIHsgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaDcsIGg4fQoKCWVuZAoKCgoJcHVibGljLmFzU3RyaW5nID0gZnVuY3Rpb24oKQoKCQlyZXR1cm4gc3RyaW5nLnBhY2soIj5pOGk4aThpOGk4aThpOGk4IiwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaDcsIGg4KQoKCWVuZAoKCgoJcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKCQlyZXR1cm4gSGV4LnN0cmluZ1RvSGV4KHN0cmluZy5wYWNrKCI+aThpOGk4aThpOGk4aThpOCIsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGg3LCBoOCkpCgoJZW5kCgoKCglyZXR1cm4gcHVibGljCgplbmQKCgoKcmV0dXJuIHNoYTUxMgoAAAAAAAAAAGxvY2FsIEhleCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5oZXgiKTsKCgoKbG9jYWwgUk9VTkRTID0gMjQKCgoKbG9jYWwgcm91bmRDb25zdGFudHMgPSB7CgoweDAwMDAwMDAwMDAwMDAwMDEsCgoweDAwMDAwMDAwMDAwMDgwODIsCgoweDgwMDAwMDAwMDAwMDgwOEEsCgoweDgwMDAwMDAwODAwMDgwMDAsCgoweDAwMDAwMDAwMDAwMDgwOEIsCgoweDAwMDAwMDAwODAwMDAwMDEsCgoweDgwMDAwMDAwODAwMDgwODEsCgoweDgwMDAwMDAwMDAwMDgwMDksCgoweDAwMDAwMDAwMDAwMDAwOEEsCgoweDAwMDAwMDAwMDAwMDAwODgsCgoweDAwMDAwMDAwODAwMDgwMDksCgoweDAwMDAwMDAwODAwMDAwMEEsCgoweDAwMDAwMDAwODAwMDgwOEIsCgoweDgwMDAwMDAwMDAwMDAwOEIsCgoweDgwMDAwMDAwMDAwMDgwODksCgoweDgwMDAwMDAwMDAwMDgwMDMsCgoweDgwMDAwMDAwMDAwMDgwMDIsCgoweDgwMDAwMDAwMDAwMDAwODAsCgoweDAwMDAwMDAwMDAwMDgwMEEsCgoweDgwMDAwMDAwODAwMDAwMEEsCgoweDgwMDAwMDAwODAwMDgwODEsCgoweDgwMDAwMDAwMDAwMDgwODAsCgoweDAwMDAwMDAwODAwMDAwMDEsCgoweDgwMDAwMDAwODAwMDgwMDgKCn0KCgoKbG9jYWwgcm90YXRpb25PZmZzZXRzID0gewoKLS0gb3JkZXJlZCBmb3IgW3hdW3ldIGRlcmVmZXJlbmNpbmcsIHNvIGFwcGVhciBmbGlwcGVkIGhlcmU6Cgp7MCwgMzYsIDMsIDQxLCAxOH0sCgp7MSwgNDQsIDEwLCA0NSwgMn0sCgp7NjIsIDYsIDQzLCAxNSwgNjF9LAoKezI4LCA1NSwgMjUsIDIxLCA1Nn0sCgp7MjcsIDIwLCAzOSwgOCwgMTR9Cgp9CgoKCgoKCgotLSB0aGUgZnVsbCBwZXJtdXRhdGlvbiBmdW5jdGlvbgoKbG9jYWwgZnVuY3Rpb24ga2VjY2FrRihzdCkKCglsb2NhbCBwZXJtdXRlZCA9IHN0LnBlcm11dGVkCgoJbG9jYWwgcGFyaXRpZXMgPSBzdC5wYXJpdGllcwoKCWZvciByb3VuZCA9IDEsIFJPVU5EUyBkbwoKCQktLSB0aGV0YSgpCgoJCWZvciB4ID0gMSw1IGRvCgoJCQlwYXJpdGllc1t4XSA9IDAKCgkJCWxvY2FsIHN4ID0gc3RbeF0KCgkJCWZvciB5ID0gMSw1IGRvIHBhcml0aWVzW3hdID0gcGFyaXRpZXNbeF0gfiBzeFt5XSBlbmQKCgkJZW5kCgoJCS0tCgoJCS0tIHVucm9sbCB0aGUgZm9sbG93aW5nIGxvb3AKCgkJLS1mb3IgeCA9IDEsNSBkbwoKCQktLQlsb2NhbCBwNSA9IHBhcml0aWVzWyh4KSU1ICsgMV0KCgkJLS0JbG9jYWwgZmxpcCA9IHBhcml0aWVzWyh4LTIpJTUgKyAxXSB+ICggcDUgPDwgMSB8IHA1ID4+IDYzKQoKCQktLQlmb3IgeSA9IDEsNSBkbyBzdFt4XVt5XSA9IHN0W3hdW3ldIH4gZmxpcCBlbmQKCgkJLS1lbmQKCgkJbG9jYWwgcDUsIGZsaXAsIHMKCgkJLS14PTEKCgkJcDUgPSBwYXJpdGllc1syXQoKCQlmbGlwID0gcGFyaXRpZXNbNV0gfiAocDUgPDwgMSB8IHA1ID4+IDYzKQoKCQlzID0gc3RbMV0KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHNbeV0gfiBmbGlwIGVuZAoKCQktLXg9MgoKCQlwNSA9IHBhcml0aWVzWzNdCgoJCWZsaXAgPSBwYXJpdGllc1sxXSB+IChwNSA8PCAxIHwgcDUgPj4gNjMpCgoJCXMgPSBzdFsyXQoKCQlmb3IgeSA9IDEsNSBkbyBzW3ldID0gc1t5XSB+IGZsaXAgZW5kCgoJCS0teD0zCgoJCXA1ID0gcGFyaXRpZXNbNF0KCgkJZmxpcCA9IHBhcml0aWVzWzJdIH4gKHA1IDw8IDEgfCBwNSA+PiA2MykKCgkJcyA9IHN0WzNdCgoJCWZvciB5ID0gMSw1IGRvIHNbeV0gPSBzW3ldIH4gZmxpcCBlbmQKCgkJLS14PTQKCgkJcDUgPSBwYXJpdGllc1s1XQoKCQlmbGlwID0gcGFyaXRpZXNbM10gfiAocDUgPDwgMSB8IHA1ID4+IDYzKQoKCQlzID0gc3RbNF0KCgkJZm9yIHkgPSAxLDUgZG8gc1t5XSA9IHNbeV0gfiBmbGlwIGVuZAoKCQktLXg9NQoKCQlwNSA9IHBhcml0aWVzWzFdCgoJCWZsaXAgPSBwYXJpdGllc1s0XSB+IChwNSA8PCAxIHwgcDUgPj4gNjMpCgoJCXMgPSBzdFs1XQoKCQlmb3IgeSA9IDEsNSBkbyBzW3ldID0gc1t5XSB+IGZsaXAgZW5kCgoKCgkJLS0gcmhvcGkoKQoKCQlmb3IgeSA9IDEsNSBkbwoKCQkJbG9jYWwgcHkgPSBwZXJtdXRlZFt5XQoKCQkJbG9jYWwgcgoKCQkJZm9yIHggPSAxLDUgZG8KCgkJCQlzLCByID0gc3RbeF1beV0sIHJvdGF0aW9uT2Zmc2V0c1t4XVt5XQoKCQkJCXB5WygyKnggKyAzKnkpJTUgKyAxXSA9IChzIDw8IHIgfCBzID4+ICg2NC1yKSkKCgkJCWVuZAoKCQllbmQKCgoKCQktLSBjaGkoKSAtIHVucm9sbCB0aGUgbG9vcAoKCQktLWZvciB4ID0gMSw1IGRvCgoJCS0tCWZvciB5ID0gMSw1IGRvCgoJCS0tCQlsb2NhbCBjb21iaW5lZCA9ICh+IHBlcm11dGVkWyh4KSU1ICsxXVt5XSkgJiBwZXJtdXRlZFsoeCsxKSU1ICsxXVt5XQoKCQktLQkJc3RbeF1beV0gPSBwZXJtdXRlZFt4XVt5XSB+IGNvbWJpbmVkCgoJCS0tCWVuZAoKCQktLWVuZAoKCgoJCWxvY2FsIHAsIHAxLCBwMgoKCQktLXg9MQoKCQlzLCBwLCBwMSwgcDIgPSBzdFsxXSwgcGVybXV0ZWRbMV0sIHBlcm11dGVkWzJdLCBwZXJtdXRlZFszXQoKCQlmb3IgeSA9IDEsNSBkbyBzW3ldID0gcFt5XSB+ICh+IHAxW3ldKSAmIHAyW3ldIGVuZAoKCQktLXg9MgoKCQlzLCBwLCBwMSwgcDIgPSBzdFsyXSwgcGVybXV0ZWRbMl0sIHBlcm11dGVkWzNdLCBwZXJtdXRlZFs0XQoKCQlmb3IgeSA9IDEsNSBkbyBzW3ldID0gcFt5XSB+ICh+IHAxW3ldKSAmIHAyW3ldIGVuZAoKCQktLXg9MwoKCQlzLCBwLCBwMSwgcDIgPSBzdFszXSwgcGVybXV0ZWRbM10sIHBlcm11dGVkWzRdLCBwZXJtdXRlZFs1XQoKCQlmb3IgeSA9IDEsNSBkbyBzW3ldID0gcFt5XSB+ICh+IHAxW3ldKSAmIHAyW3ldIGVuZAoKCQktLXg9NAoKCQlzLCBwLCBwMSwgcDIgPSBzdFs0XSwgcGVybXV0ZWRbNF0sIHBlcm11dGVkWzVdLCBwZXJtdXRlZFsxXQoKCQlmb3IgeSA9IDEsNSBkbyBzW3ldID0gcFt5XSB+ICh+IHAxW3ldKSAmIHAyW3ldIGVuZAoKCQktLXg9NQoKCQlzLCBwLCBwMSwgcDIgPSBzdFs1XSwgcGVybXV0ZWRbNV0sIHBlcm11dGVkWzFdLCBwZXJtdXRlZFsyXQoKCQlmb3IgeSA9IDEsNSBkbyBzW3ldID0gcFt5XSB+ICh+IHAxW3ldKSAmIHAyW3ldIGVuZAoKCgoJCS0tIGlvdGEoKQoKCQlzdFsxXVsxXSA9IHN0WzFdWzFdIH4gcm91bmRDb25zdGFudHNbcm91bmRdCgoJZW5kCgplbmQKCgoKCgpsb2NhbCBmdW5jdGlvbiBhYnNvcmIoc3QsIGJ1ZmZlciwgYWxnb3JpdGhtKQoKCgoJbG9jYWwgYmxvY2tCeXRlcyA9IHN0LnJhdGUgLyA4CgoJbG9jYWwgYmxvY2tXb3JkcyA9IGJsb2NrQnl0ZXMgLyA4CgoKCgktLSBhcHBlbmQgMHgwMSBieXRlIGFuZCBwYWQgd2l0aCB6ZXJvcyB0byBibG9jayBzaXplIChyYXRlLzggYnl0ZXMpCgoJbG9jYWwgdG90YWxCeXRlcyA9ICNidWZmZXIgKyAxCgoJLS0gZm9yIGtlY2NhayAoMjAxMiBzdWJtaXNzaW9uKSwgdGhlIHBhZGRpbmcgaXMgYnl0ZSAweDAxIGZvbGxvd2VkIGJ5IHplcm9zCgoJLS0gZm9yIFNIQTMgKE5JU1QsIDIwMTUpLCB0aGUgcGFkZGluZyBpcyBieXRlIDB4MDYgZm9sbG93ZWQgYnkgemVyb3MKCgoKCWlmIGFsZ29yaXRobSA9PSAia2VjY2FrIiB0aGVuCgoJCWJ1ZmZlciA9IGJ1ZmZlciAuLiAoICdceDAxJyAuLiBzdHJpbmcuY2hhcigwKTpyZXAoYmxvY2tCeXRlcyAtICh0b3RhbEJ5dGVzICUgYmxvY2tCeXRlcykpKQoKCWVuZAoKCQoKCWlmIGFsZ29yaXRobSA9PSAic2hhMyIgdGhlbgoKCQlidWZmZXIgPSBidWZmZXIgLi4gKCAnXHgwNicgLi4gc3RyaW5nLmNoYXIoMCk6cmVwKGJsb2NrQnl0ZXMgLSAodG90YWxCeXRlcyAlIGJsb2NrQnl0ZXMpKSkKCgllbmQKCgoKCXRvdGFsQnl0ZXMgPSAjYnVmZmVyCgoKCgktLWNvbnZlcnQgZGF0YSB0byBhbiBhcnJheSBvZiB1NjQKCglsb2NhbCB3b3JkcyA9IHt9CgoJZm9yIGkgPSAxLCB0b3RhbEJ5dGVzIC0gKHRvdGFsQnl0ZXMgJSA4KSwgOCBkbwoKCQl3b3Jkc1sjd29yZHMgKyAxXSA9IHN0cmluZy51bnBhY2soJzxJOCcsIGJ1ZmZlciwgaSkKCgllbmQKCgoKCWxvY2FsIHRvdGFsV29yZHMgPSAjd29yZHMKCgktLSBPUiBmaW5hbCB3b3JkIHdpdGggMHg4MDAwMDAwMCB0byBzZXQgbGFzdCBiaXQgb2Ygc3RhdGUgdG8gMQoKCXdvcmRzW3RvdGFsV29yZHNdID0gd29yZHNbdG90YWxXb3Jkc10gfCAweDgwMDAwMDAwMDAwMDAwMDAKCgoKCS0tIFhPUiBibG9ja3MgaW50byBzdGF0ZQoKCWZvciBzdGFydEJsb2NrID0gMSwgdG90YWxXb3JkcywgYmxvY2tXb3JkcyBkbwoKCQlsb2NhbCBvZmZzZXQgPSAwCgoJCWZvciB5ID0gMSwgNSBkbwoKCQkJZm9yIHggPSAxLCA1IGRvCgoJCQkJaWYgb2Zmc2V0IDwgYmxvY2tXb3JkcyB0aGVuCgoJCQkJCWxvY2FsIGluZGV4ID0gc3RhcnRCbG9jaytvZmZzZXQKCgkJCQkJc3RbeF1beV0gPSBzdFt4XVt5XSB+IHdvcmRzW2luZGV4XQoKCQkJCQlvZmZzZXQgPSBvZmZzZXQgKyAxCgoJCQkJZW5kCgoJCQllbmQKCgkJZW5kCgoJCWtlY2Nha0Yoc3QpCgoJZW5kCgplbmQKCgoKCgotLSByZXR1cm5zIFtyYXRlXSBiaXRzIGZyb20gdGhlIHN0YXRlLCB3aXRob3V0IHBlcm11dGluZyBhZnRlcndhcmQuCgotLSBPbmx5IGZvciB1c2Ugd2hlbiB0aGUgc3RhdGUgd2lsbCBpbW1lZGlhdGVseSBiZSB0aHJvd24gYXdheSwKCi0tIGFuZCBub3QgdXNlZCBmb3IgbW9yZSBvdXRwdXQgbGF0ZXIKCmxvY2FsIGZ1bmN0aW9uIHNxdWVlemUoc3QpCgoJbG9jYWwgYmxvY2tCeXRlcyA9IHN0LnJhdGUgLyA4CgoJbG9jYWwgYmxvY2tXb3JkcyA9IGJsb2NrQnl0ZXMgLyA0CgoJLS0gZmV0Y2ggYmxvY2tzIG91dCBvZiBzdGF0ZQoKCWxvY2FsIGhhc2h0ID0ge30KCglsb2NhbCBvZmZzZXQgPSAxCgoJZm9yIHkgPSAxLCA1IGRvCgoJCWZvciB4ID0gMSwgNSBkbwoKCQkJaWYgb2Zmc2V0IDwgYmxvY2tXb3JkcyB0aGVuCgoJCQkJaGFzaHRbb2Zmc2V0XSA9IHN0cmluZy5wYWNrKCI8STgiLCBzdFt4XVt5XSkKCgkJCQlvZmZzZXQgPSBvZmZzZXQgKyAxCgoJCQllbmQKCgkJZW5kCgoJZW5kCgoJcmV0dXJuIHRhYmxlLmNvbmNhdChoYXNodCkKCmVuZAoKCgotLSBwcmltaXRpdmUgZnVuY3Rpb25zIChhc3N1bWUgcmF0ZSBpcyBhIHdob2xlIG11bHRpcGxlIG9mIDY0IGFuZCBsZW5ndGggaXMgYSB3aG9sZSBtdWx0aXBsZSBvZiA4KQoKbG9jYWwgZnVuY3Rpb24ga2VjY2FrSGFzaChyYXRlLCBsZW5ndGgsIGRhdGEsIGFsZ29yaXRobSkKCglsb2NhbCBzdGF0ZSA9IHsJezAsMCwwLDAsMH0sCgoJCQkJCXswLDAsMCwwLDB9LAoKCQkJCQl7MCwwLDAsMCwwfSwKCgkJCQkJezAsMCwwLDAsMH0sCgoJCQkJCXswLDAsMCwwLDB9LAoKCX0KCglzdGF0ZS5yYXRlID0gcmF0ZQoKCS0tIHRoZXNlIGFyZSBhbGxvY2F0ZWQgb25jZSwgYW5kIHJldXNlZAoKCXN0YXRlLnBlcm11dGVkID0geyB7fSwge30sIHt9LCB7fSwge30sIH0KCglzdGF0ZS5wYXJpdGllcyA9IHswLDAsMCwwLDB9CgoJYWJzb3JiKHN0YXRlLCBkYXRhLCBhbGdvcml0aG0pCgoJbG9jYWwgZW5jb2RlZCA9IHNxdWVlemUoc3RhdGUpOnN1YigxLGxlbmd0aC84KTsKCgoKCWxvY2FsIHB1YmxpYyA9IHt9CgoKCglwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgoJCXJldHVybiBlbmNvZGVkCgoJZW5kCgoKCglwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgoJCXJldHVybiBIZXguc3RyaW5nVG9IZXgoZW5jb2RlZCkKCgllbmQKCgoKCXJldHVybiBwdWJsaWMKCmVuZAoKCgotLSBvdXRwdXQgdGFibGVzIGZvciBnZXR0aW5nIHRoZSBoYXNoIGFzIGJ5dGVzLCBzdHJpbmcsIG9yIGhleAoKbG9jYWwgZnVuY3Rpb24gc2hhM18yNTYoZGF0YSkgcmV0dXJuIGtlY2Nha0hhc2goMTA4OCwgMjU2LCBkYXRhLCAnc2hhMycpIGVuZAoKbG9jYWwgZnVuY3Rpb24gc2hhM181MTIoZGF0YSkgcmV0dXJuIGtlY2Nha0hhc2goNTc2LCA1MTIsIGRhdGEsICdzaGEzJykgZW5kCgpsb2NhbCBmdW5jdGlvbiBrZWNjYWsyNTYoZGF0YSkgcmV0dXJuIGtlY2Nha0hhc2goMTA4OCwgMjU2LCBkYXRhLCAna2VjY2FrJykgZW5kCgpsb2NhbCBmdW5jdGlvbiBrZWNjYWs1MTIoZGF0YSkgcmV0dXJuIGtlY2Nha0hhc2goNTc2LCA1MTIsIGRhdGEsICdrZWNjYWsnKSBlbmQKCgoKcmV0dXJuIHsKCglzaGEzXzI1NiA9IHNoYTNfMjU2LAoKCXNoYTNfNTEyID0gc2hhM181MTIsCgoJa2VjY2FrMjU2ID0ga2VjY2FrMjU2LAoKCWtlY2NhazUxMiA9IGtlY2NhazUxMgoKfQAAAAAAbG9jYWwgUEJLREYyID0gcmVxdWlyZSgiLmNyeXB0by5rZGYucGJrZGYyIikKCgoKbG9jYWwga2RmID0gewoKICAgIF92ZXJzaW9uID0gIjAuMC4xIiwKCiAgICBwYmtkZjIgPSBQQktERjIucGJrZGYyLAoKfTsKCgoKcmV0dXJuIGtkZgBCsJwTC9UdbG9jYWwgQml0ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmJpdCIpOwoKbG9jYWwgQXJyYXkgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYXJyYXkiKTsKCmxvY2FsIFN0cmVhbSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5zdHJlYW0iKTsKCmxvY2FsIEhNQUMgPSByZXF1aXJlKCIuY3J5cHRvLm1hYy5obWFjIikKCgoKbG9jYWwgU0hBMSA9IHJlcXVpcmUoIi5jcnlwdG8uZGlnZXN0LnNoYTEiKTsKCmxvY2FsIFNIQTJfMjU2ID0gcmVxdWlyZSgiLmNyeXB0by5kaWdlc3Quc2hhMl8yNTYiKTsKCgoKbG9jYWwgQU5EID0gQml0LmJhbmQ7Cgpsb2NhbCBSU0hJRlQgPSBCaXQucnNoaWZ0OwoKCgpsb2NhbCB3b3JkMmJ5dGVzID0gZnVuY3Rpb24od29yZCkKCiAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMzsKCiAgICBiMyA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMiA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMSA9IEFORCh3b3JkLCAweEZGKTsgd29yZCA9IFJTSElGVCh3b3JkLCA4KTsKCiAgICBiMCA9IEFORCh3b3JkLCAweEZGKTsKCiAgICByZXR1cm4gYjAsIGIxLCBiMiwgYjM7CgplbmQKCgoKbG9jYWwgUEJLREYyID0gZnVuY3Rpb24oKQoKCgogICAgbG9jYWwgcHVibGljID0ge307CgoKCiAgICBsb2NhbCBibG9ja0xlbiA9IDE2OwoKICAgIGxvY2FsIGRLZXlMZW4gPSAyNTY7CgogICAgbG9jYWwgaXRlcmF0aW9ucyA9IDQwOTY7CgoKCiAgICBsb2NhbCBzYWx0OwoKICAgIGxvY2FsIHBhc3N3b3JkOwoKCgoKCiAgICBsb2NhbCBQUkY7CgoKCiAgICBsb2NhbCBkS2V5OwoKCgoKCiAgICBwdWJsaWMuc2V0QmxvY2tMZW4gPSBmdW5jdGlvbihsZW4pCgogICAgICAgIGJsb2NrTGVuID0gbGVuOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldERLZXlMZW4gPSBmdW5jdGlvbihsZW4pCgogICAgICAgIGRLZXlMZW4gPSBsZW4KCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRJdGVyYXRpb25zID0gZnVuY3Rpb24oaXRlcikKCiAgICAgICAgaXRlcmF0aW9ucyA9IGl0ZXI7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0U2FsdCA9IGZ1bmN0aW9uKHNhbHRCeXRlcykKCiAgICAgICAgc2FsdCA9IHNhbHRCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQYXNzd29yZCA9IGZ1bmN0aW9uKHBhc3N3b3JkQnl0ZXMpCgogICAgICAgIHBhc3N3b3JkID0gcGFzc3dvcmRCeXRlczsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5zZXRQUkYgPSBmdW5jdGlvbihwcmYpCgogICAgICAgIFBSRiA9IHByZjsKCiAgICAgICAgcmV0dXJuIHB1YmxpYzsKCiAgICBlbmQKCgoKICAgIGxvY2FsIGJ1aWxkQmxvY2sgPSBmdW5jdGlvbihpKQoKICAgICAgICBsb2NhbCBiMCwgYjEsIGIyLCBiMyA9IHdvcmQyYnl0ZXMoaSk7CgogICAgICAgIGxvY2FsIGlpID0ge2IwLCBiMSwgYjIsIGIzfTsKCiAgICAgICAgbG9jYWwgcyA9IEFycmF5LmNvbmNhdChzYWx0LCBpaSk7CgoKCiAgICAgICAgbG9jYWwgb3V0ID0ge307CgoKCiAgICAgICAgUFJGLnNldEtleShwYXNzd29yZCk7CgogICAgICAgIGZvciBjID0gMSwgaXRlcmF0aW9ucyBkbwoKICAgICAgICAgICAgUFJGLmluaXQoKQoKICAgICAgICAgICAgICAgIC51cGRhdGUoU3RyZWFtLmZyb21BcnJheShzKSk7CgoKCiAgICAgICAgICAgIHMgPSBQUkYuZmluaXNoKCkuYXNCeXRlcygpOwoKICAgICAgICAgICAgaWYoYyA+IDEpIHRoZW4KCiAgICAgICAgICAgICAgICBvdXQgPSBBcnJheS5YT1Iob3V0LCBzKTsKCiAgICAgICAgICAgIGVsc2UKCiAgICAgICAgICAgICAgICBvdXQgPSBzOwoKICAgICAgICAgICAgZW5kCgogICAgICAgIGVuZAoKCgogICAgICAgIHJldHVybiBvdXQ7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBibG9ja3MgPSBtYXRoLmNlaWwoZEtleUxlbiAvIGJsb2NrTGVuKTsKCgoKICAgICAgICBkS2V5ID0ge307CgoKCiAgICAgICAgZm9yIGIgPSAxLCBibG9ja3MgZG8KCiAgICAgICAgICAgIGxvY2FsIGJsb2NrID0gYnVpbGRCbG9jayhiKTsKCiAgICAgICAgICAgIGRLZXkgPSBBcnJheS5jb25jYXQoZEtleSwgYmxvY2spOwoKICAgICAgICBlbmQKCgoKICAgICAgICBpZihBcnJheS5zaXplKGRLZXkpID4gZEtleUxlbikgdGhlbiBkS2V5ID0gQXJyYXkudHJ1bmNhdGUoZEtleSwgZEtleUxlbik7IGVuZAoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNCeXRlcyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGRLZXk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNIZXggPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBBcnJheS50b0hleChkS2V5KTsKCiAgICBlbmQKCgoKICAgIHB1YmxpYy5hc1N0cmluZyA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIEFycmF5LnRvU3RyaW5nKGRLZXkpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHB1YmxpYzsKCmVuZAoKCgotLS0gQGNsYXNzIEFycmF5IDogdGFibGUKCgoKLS0tIFBCS0RGMiBrZXkgZGVyaXZhdGlvbiBmdW5jdGlvbgoKLS0tIEBwYXJhbSBwYXNzd29yZCAoQXJyYXkpIC0gVGhlIHBhc3N3b3JkIHRvIGRlcml2ZSB0aGUga2V5IGZyb20KCi0tLSBAcGFyYW0gc2FsdCAoQXJyYXkpIC0gVGhlIHNhbHQgdG8gdXNlCgotLS0gQHBhcmFtIGl0ZXJhdGlvbnMgbnVtYmVyIC0gVGhlIG51bWJlciBvZiBpdGVyYXRpb25zIHRvIHBlcmZvcm0KCi0tLSBAcGFyYW0ga2V5TGVuIG51bWJlciAtIFRoZSBsZW5ndGggb2YgdGhlIGtleSB0byBkZXJpdmUKCi0tLSBAcGFyYW0gZGlnZXN0PyBzdHJpbmcgLSBUaGUgZGlnZXN0IGFsZ29yaXRobSB0byB1c2UgKHNoYTEsIHNoYTI1NikuIERlZmF1bHRzIHRvIHNoYTEuCgotLS0gQHJldHVybnMgc3RyaW5nIC0gVGhlIGRlcml2ZWQga2V5Cgpsb2NhbCBwYmtkZjIgPSBmdW5jdGlvbihwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5TGVuLCBkaWdlc3QpCgogICAgbG9jYWwgRGlnZXN0ID0gbmlsCgogICAgaWYgZGlnZXN0ID09ICJzaGExIiB0aGVuCgogICAgICAgIERpZ2VzdCA9IFNIQTEuU0hBMQoKICAgIGVsc2VpZiBkaWdlc3QgPT0gInNoYTI1NiIgdGhlbgoKICAgICAgICBEaWdlc3QgPSBTSEEyXzI1Ni5TSEEyXzI1NgoKICAgIGVsc2VpZiBkaWdlc3QgPT0gbmlsIHRoZW4KCiAgICAgICAgRGlnZXN0ID0gU0hBMS5TSEExCgogICAgZWxzZQoKICAgICAgICBlcnJvcigiVW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAiIC4uIGRpZ2VzdCkKCiAgICBlbmQKCgoKICAgIGxvY2FsIHByZiA9IEhNQUMuSE1BQygpLnNldEJsb2NrU2l6ZSg2NCkuc2V0RGlnZXN0KERpZ2VzdCk7CgoKCiAgICBsb2NhbCByZXMgPSBQQktERjIoKQoKICAgICAgICAgICAgLnNldFBSRihwcmYpCgogICAgICAgICAgICAuc2V0QmxvY2tMZW4oMTYpCgogICAgICAgICAgICAuc2V0REtleUxlbihrZXlMZW4pCgogICAgICAgICAgICAuc2V0SXRlcmF0aW9ucyhpdGVyYXRpb25zKQoKICAgICAgICAgICAgLnNldFNhbHQoc2FsdCkKCiAgICAgICAgICAgIC5zZXRQYXNzd29yZChwYXNzd29yZCkKCiAgICAgICAgICAgIC5maW5pc2goKQoKCgogICAgcmV0dXJuIHJlcwoKZW5kCgoKCnJldHVybiB7CgogICAgUEJLREYyID0gUEJLREYyLAoKICAgIHBia2RmMiA9IHBia2RmMgoKfTsAQpC6EwvSGWxvY2FsIEJpdCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5iaXQiKTsKCmxvY2FsIFN0cmVhbSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5zdHJlYW0iKTsKCmxvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5Iik7CgoKCmxvY2FsIFNIQTEgPSByZXF1aXJlKCIuY3J5cHRvLmRpZ2VzdC5zaGExIik7Cgpsb2NhbCBTSEEyXzI1NiA9IHJlcXVpcmUoIi5jcnlwdG8uZGlnZXN0LnNoYTJfMjU2Iik7CgoKCmxvY2FsIFhPUiA9IEJpdC5ieG9yOwoKCgpsb2NhbCBITUFDID0gZnVuY3Rpb24oKQoKICAgIGxvY2FsIHB1YmxpYyA9IHt9OwoKICAgIGxvY2FsIGJsb2NrU2l6ZSA9IDY0OwoKICAgIGxvY2FsIERpZ2VzdCA9IG5pbDsKCiAgICBsb2NhbCBvdXRlclBhZGRpbmcgPSB7fTsKCiAgICBsb2NhbCBpbm5lclBhZGRpbmcgPSB7fQoKICAgIGxvY2FsIGRpZ2VzdDsKCgoKICAgIHB1YmxpYy5zZXRCbG9ja1NpemUgPSBmdW5jdGlvbihieXRlcykKCiAgICAgICAgYmxvY2tTaXplID0gYnl0ZXM7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2V0RGlnZXN0ID0gZnVuY3Rpb24oZGlnZXN0TW9kdWxlKQoKICAgICAgICBEaWdlc3QgPSBkaWdlc3RNb2R1bGU7CgogICAgICAgIGRpZ2VzdCA9IERpZ2VzdCgpOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnNldEtleSA9IGZ1bmN0aW9uKGtleSkKCiAgICAgICAgbG9jYWwga2V5U3RyZWFtOwoKICAgICAgICBpZiBEaWdlc3QgPT0gbmlsIHRoZW4KCiAgICAgICAgICAgIGVycm9yKCJEaWdlc3Qgbm90IHNldCIpOwoKICAgICAgICBlbmQKCiAgICAgICAgaWYgKEFycmF5LnNpemUoa2V5KSA+IGJsb2NrU2l6ZSkgdGhlbgoKICAgICAgICAgICAga2V5U3RyZWFtID0gU3RyZWFtLmZyb21BcnJheShEaWdlc3QoKQoKICAgICAgICAgICAgICAgIC51cGRhdGUoU3RyZWFtLmZyb21BcnJheShrZXkpKQoKICAgICAgICAgICAgICAgIC5maW5pc2goKQoKICAgICAgICAgICAgICAgIC5hc0J5dGVzKCkpOwoKICAgICAgICBlbHNlCgogICAgICAgICAgICBrZXlTdHJlYW0gPSBTdHJlYW0uZnJvbUFycmF5KGtleSk7CgogICAgICAgIGVuZAoKCgogICAgICAgIG91dGVyUGFkZGluZyA9IHt9OwoKICAgICAgICBpbm5lclBhZGRpbmcgPSB7fTsKCgoKICAgICAgICBmb3IgaSA9IDEsIGJsb2NrU2l6ZSBkbwoKICAgICAgICAgICAgbG9jYWwgYnl0ZSA9IGtleVN0cmVhbSgpOwoKICAgICAgICAgICAgaWYgYnl0ZSA9PSBuaWwgdGhlbiBieXRlID0gMHgwMDsgZW5kCgogICAgICAgICAgICBvdXRlclBhZGRpbmdbaV0gPSBYT1IoMHg1QywgYnl0ZSk7CgogICAgICAgICAgICBpbm5lclBhZGRpbmdbaV0gPSBYT1IoMHgzNiwgYnl0ZSk7CgogICAgICAgIGVuZAoKCgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuaW5pdCA9IGZ1bmN0aW9uKCkKCiAgICAgICAgZGlnZXN0LmluaXQoKQoKICAgICAgICAgICAgLnVwZGF0ZShTdHJlYW0uZnJvbUFycmF5KGlubmVyUGFkZGluZykpOwoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLnVwZGF0ZSA9IGZ1bmN0aW9uKG1lc3NhZ2VTdHJlYW0pCgogICAgICAgIGRpZ2VzdC51cGRhdGUobWVzc2FnZVN0cmVhbSk7CgogICAgICAgIHJldHVybiBwdWJsaWM7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuZmluaXNoID0gZnVuY3Rpb24oKQoKICAgICAgICBsb2NhbCBpbm5lciA9IGRpZ2VzdC5maW5pc2goKS5hc0J5dGVzKCk7CgogICAgICAgIGRpZ2VzdC5pbml0KCkKCiAgICAgICAgICAgIC51cGRhdGUoU3RyZWFtLmZyb21BcnJheShvdXRlclBhZGRpbmcpKQoKICAgICAgICAgICAgLnVwZGF0ZShTdHJlYW0uZnJvbUFycmF5KGlubmVyKSkKCiAgICAgICAgICAgIC5maW5pc2goKTsKCgoKICAgICAgICByZXR1cm4gcHVibGljOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzQnl0ZXMgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBkaWdlc3QuYXNCeXRlcygpOwoKICAgIGVuZAoKCgogICAgcHVibGljLmFzSGV4ID0gZnVuY3Rpb24oKQoKICAgICAgICByZXR1cm4gZGlnZXN0LmFzSGV4KCk7CgogICAgZW5kCgoKCiAgICBwdWJsaWMuYXNTdHJpbmcgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBkaWdlc3QuYXNTdHJpbmcoKTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBwdWJsaWM7CgplbmQKCgoKLS0tIEBjbGFzcyBBcnJheSA6IHRhYmxlCgotLS0gQGNsYXNzIFN0cmVhbSA6IHRhYmxlCgoKCi0tLSBITUFDIGZ1bmN0aW9uIGZvciBnZW5lcmF0aW5nIGEgaGFzaC1iYXNlZCBtZXNzYWdlIGF1dGhlbnRpY2F0aW9uIGNvZGUKCi0tLSBAcGFyYW0gZGF0YSAoU3RyZWFtKSAtIFRoZSBkYXRhIHRvIGhhc2ggYW5kIGF1dGhlbnRpY2F0ZQoKLS0tIEBwYXJhbSBrZXkgKEFycmF5KSAtIFRoZSBrZXkgdG8gdXNlIGZvciB0aGUgSE1BQwoKLS0tIEBwYXJhbSBhbGdvcml0aG0/IChzdHJpbmcpIC0gVGhlIGFsZ29yaXRobSB0byB1c2UgZm9yIHRoZSBITUFDIChzaGExLCBzaGEyNTYpLiBEZWZhdWx0cyB0byAic2hhMSIKCi0tLSBAcmV0dXJucyB0YWJsZSAtIEEgdGFibGUgY29udGFpbmluZyB0aGUgSE1BQyBpbiBieXRlcywgc3RyaW5nLCBhbmQgaGV4IGZvcm1hdHMuCgpsb2NhbCBobWFjID0gZnVuY3Rpb24oZGF0YSwga2V5LCBhbGdvcml0aG0pCgogICAgbG9jYWwgZGlnZXN0ID0gbmlsCgogICAgaWYgYWxnb3JpdGhtID09ICJzaGExIiB0aGVuCgogICAgICAgIGRpZ2VzdCA9IFNIQTEuU0hBMQoKICAgIGVsc2VpZiBhbGdvcml0aG0gPT0gInNoYTI1NiIgdGhlbgoKICAgICAgICBkaWdlc3QgPSBTSEEyXzI1Ni5TSEEyXzI1NgoKICAgIGVsc2VpZiBhbGdvcml0aG0gPT0gbmlsIHRoZW4KCiAgICAgICAgZGlnZXN0ID0gU0hBMS5TSEExCgogICAgZWxzZQoKICAgICAgICBlcnJvcigiVW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAiIC4uIGFsZ29yaXRobSkKCiAgICBlbmQKCgoKICAgIGxvY2FsIHJlcyA9IEhNQUMoKQoKICAgICAgICAgICAgICAgIC5zZXRCbG9ja1NpemUoMzIpCgogICAgICAgICAgICAgICAgLnNldERpZ2VzdChkaWdlc3QpCgogICAgICAgICAgICAgICAgLnNldEtleShrZXkpCgogICAgICAgICAgICAgICAgLmluaXQoKQoKICAgICAgICAgICAgICAgIC51cGRhdGUoZGF0YSkKCiAgICAgICAgICAgICAgICAuZmluaXNoKCkKCgoKCXJldHVybiByZXMKCmVuZAoKCgpyZXR1cm4gewoKICAgIGhtYWMgPSBobWFjLAoKICAgIEhNQUMgPSBITUFDCgp9OwBC8NMTC4EBbG9jYWwgSG1hYyA9IHJlcXVpcmUoIi5jcnlwdG8ubWFjLmhtYWMiKQoKCgpsb2NhbCBtYWMgPSB7CgogICAgX3ZlcnNpb24gPSAiMC4wLjEiLAoKICAgIGNyZWF0ZUhtYWMgPSBIbWFjLmhtYWMsCgp9OwoKCgpyZXR1cm4gbWFjAEKA1RMLpTpsb2NhbCBaZXJvUGFkZGluZyA9IGZ1bmN0aW9uKGJsb2NrU2l6ZSwgYnl0ZUNvdW50KQoKCgogICAgbG9jYWwgcGFkZGluZ0NvdW50ID0gYmxvY2tTaXplIC0gKChieXRlQ291bnQgLTEpICUgYmxvY2tTaXplKSArIDE7CgogICAgbG9jYWwgYnl0ZXNMZWZ0ID0gcGFkZGluZ0NvdW50OwoKCgogICAgbG9jYWwgc3RyZWFtID0gZnVuY3Rpb24oKQoKICAgICAgICBpZiBieXRlc0xlZnQgPiAwIHRoZW4KCiAgICAgICAgICAgIGJ5dGVzTGVmdCA9IGJ5dGVzTGVmdCAtIDE7CgogICAgICAgICAgICByZXR1cm4gMHgwMDsKCiAgICAgICAgZWxzZQoKICAgICAgICAgICAgcmV0dXJuIG5pbDsKCiAgICAgICAgZW5kCgogICAgZW5kCgogICAgcmV0dXJuIHN0cmVhbTsKCmVuZAoKCgpyZXR1cm4gWmVyb1BhZGRpbmc7Cgpsb2NhbCBCaXQgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuYml0Iik7Cgpsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBYT1IgPSBCaXQuYnhvcjsKCgoKbG9jYWwgQXJyYXkgPSB7fTsKCgoKQXJyYXkuc2l6ZSA9IGZ1bmN0aW9uKGFycmF5KQoKICAgIHJldHVybiAjYXJyYXk7CgplbmQKCgoKQXJyYXkuZnJvbVN0cmluZyA9IGZ1bmN0aW9uKHN0cmluZykKCiAgICBsb2NhbCBieXRlcyA9IHt9OwoKCgogICAgbG9jYWwgaSA9IDE7CgogICAgbG9jYWwgYnl0ZSA9IHN0cmluZy5ieXRlKHN0cmluZywgaSk7CgogICAgd2hpbGUgYnl0ZSB+PSBuaWwgZG8KCiAgICAgICAgYnl0ZXNbaV0gPSBieXRlOwoKICAgICAgICBpID0gaSArIDE7CgogICAgICAgIGJ5dGUgPSBzdHJpbmcuYnl0ZShzdHJpbmcsIGkpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIGJ5dGVzOwoKCgplbmQKCgoKQXJyYXkudG9TdHJpbmcgPSBmdW5jdGlvbihieXRlcykKCiAgICBsb2NhbCBjaGFycyA9IHt9OwoKICAgIGxvY2FsIGkgPSAxOwoKCgogICAgbG9jYWwgYnl0ZSA9IGJ5dGVzW2ldOwoKICAgIHdoaWxlIGJ5dGUgfj0gbmlsIGRvCgogICAgICAgIGNoYXJzW2ldID0gc3RyaW5nLmNoYXIoYnl0ZSk7CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgYnl0ZSA9IGJ5dGVzW2ldOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIHRhYmxlLmNvbmNhdChjaGFycywgIiIpOwoKZW5kCgoKCkFycmF5LmZyb21TdHJlYW0gPSBmdW5jdGlvbihzdHJlYW0pCgogICAgbG9jYWwgYXJyYXkgPSB7fTsKCiAgICBsb2NhbCBpID0gMTsKCgoKICAgIGxvY2FsIGJ5dGUgPSBzdHJlYW0oKTsKCiAgICB3aGlsZSBieXRlIH49IG5pbCBkbwoKICAgICAgICBhcnJheVtpXSA9IGJ5dGU7CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgYnl0ZSA9IHN0cmVhbSgpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIGFycmF5OwoKZW5kCgoKCkFycmF5LnJlYWRGcm9tUXVldWUgPSBmdW5jdGlvbihxdWV1ZSwgc2l6ZSkKCiAgICBsb2NhbCBhcnJheSA9IHt9OwoKCgogICAgZm9yIGkgPSAxLCBzaXplIGRvCgogICAgICAgIGFycmF5W2ldID0gcXVldWUucG9wKCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gYXJyYXk7CgplbmQKCgoKQXJyYXkud3JpdGVUb1F1ZXVlID0gZnVuY3Rpb24ocXVldWUsIGFycmF5KQoKICAgIGxvY2FsIHNpemUgPSBBcnJheS5zaXplKGFycmF5KTsKCgoKICAgIGZvciBpID0gMSwgc2l6ZSBkbwoKICAgICAgICBxdWV1ZS5wdXNoKGFycmF5W2ldKTsKCiAgICBlbmQKCmVuZAoKCgpBcnJheS50b1N0cmVhbSA9IGZ1bmN0aW9uKGFycmF5KQoKICAgIGxvY2FsIHF1ZXVlID0gUXVldWUoKTsKCiAgICBsb2NhbCBpID0gMTsKCgoKICAgIGxvY2FsIGJ5dGUgPSBhcnJheVtpXTsKCiAgICB3aGlsZSBieXRlIH49IG5pbCBkbwoKICAgICAgICBxdWV1ZS5wdXNoKGJ5dGUpOwoKICAgICAgICBpID0gaSArIDE7CgogICAgICAgIGJ5dGUgPSBhcnJheVtpXTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBxdWV1ZS5wb3A7CgplbmQKCgoKCgpsb2NhbCBmcm9tSGV4VGFibGUgPSB7fTsKCmZvciBpID0gMCwgMjU1IGRvCgogICAgZnJvbUhleFRhYmxlW3N0cmluZy5mb3JtYXQoIiUwMlgiLCBpKV0gPSBpOwoKICAgIGZyb21IZXhUYWJsZVtzdHJpbmcuZm9ybWF0KCIlMDJ4IiwgaSldID0gaTsKCmVuZAoKCgpBcnJheS5mcm9tSGV4ID0gZnVuY3Rpb24oaGV4KQoKICAgIGxvY2FsIGFycmF5ID0ge307CgoKCiAgICBmb3IgaSA9IDEsIHN0cmluZy5sZW4oaGV4KSAvIDIgZG8KCiAgICAgICAgbG9jYWwgaCA9IHN0cmluZy5zdWIoaGV4LCBpICogMiAtIDEsIGkgKiAyKTsKCiAgICAgICAgYXJyYXlbaV0gPSBmcm9tSGV4VGFibGVbaF07CgogICAgZW5kCgoKCiAgICByZXR1cm4gYXJyYXk7CgplbmQKCgoKCgpsb2NhbCB0b0hleFRhYmxlID0ge307Cgpmb3IgaSA9IDAsIDI1NSBkbwoKICAgIHRvSGV4VGFibGVbaV0gPSBzdHJpbmcuZm9ybWF0KCIlMDJYIiwgaSk7CgplbmQKCgoKQXJyYXkudG9IZXggPSBmdW5jdGlvbihhcnJheSkKCiAgICBsb2NhbCBoZXggPSB7fTsKCiAgICBsb2NhbCBpID0gMTsKCgoKICAgIGxvY2FsIGJ5dGUgPSBhcnJheVtpXTsKCiAgICB3aGlsZSBieXRlIH49IG5pbCBkbwoKICAgICAgICBoZXhbaV0gPSB0b0hleFRhYmxlW2J5dGVdOwoKICAgICAgICBpID0gaSArIDE7CgogICAgICAgIGJ5dGUgPSBhcnJheVtpXTsKCiAgICBlbmQKCgoKICAgIHJldHVybiB0YWJsZS5jb25jYXQoaGV4LCAiIik7CgoKCmVuZAoKCgpBcnJheS5jb25jYXQgPSBmdW5jdGlvbihhLCBiKQoKICAgIGxvY2FsIGNvbmNhdCA9IHt9OwoKICAgIGxvY2FsIG91dCA9IDE7CgoKCiAgICBsb2NhbCBpID0gMTsKCiAgICBsb2NhbCBieXRlID0gYVtpXTsKCiAgICB3aGlsZSBieXRlIH49IG5pbCBkbwoKICAgICAgICBjb25jYXRbb3V0XSA9IGJ5dGU7CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgb3V0ID0gb3V0ICsgMTsKCiAgICAgICAgYnl0ZSA9IGFbaV07CgogICAgZW5kCgoKCiAgICBpID0gMTsKCiAgICBieXRlID0gYltpXTsKCiAgICB3aGlsZSBieXRlIH49IG5pbCBkbwoKICAgICAgICBjb25jYXRbb3V0XSA9IGJ5dGU7CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgb3V0ID0gb3V0ICsgMTsKCiAgICAgICAgYnl0ZSA9IGJbaV07CgogICAgZW5kCgoKCiAgICByZXR1cm4gY29uY2F0OwoKZW5kCgoKCkFycmF5LnRydW5jYXRlID0gZnVuY3Rpb24oYSwgbmV3U2l6ZSkKCiAgICBsb2NhbCB4ID0ge307CgoKCiAgICBmb3IgaSA9IDEsIG5ld1NpemUgZG8KCiAgICAgICAgeFtpXSA9IGFbaV07CgogICAgZW5kCgoKCiAgICByZXR1cm4geDsKCmVuZAoKCgpBcnJheS5YT1IgPSBmdW5jdGlvbihhLCBiKQoKICAgIGxvY2FsIHggPSB7fTsKCgoKICAgIGZvciBrLCB2IGluIHBhaXJzKGEpIGRvCgogICAgICAgIHhba10gPSBYT1IodiwgYltrXSk7CgogICAgZW5kCgoKCiAgICByZXR1cm4geDsKCmVuZAoKCgpBcnJheS5zdWJzdGl0dXRlID0gZnVuY3Rpb24oaW5wdXQsIHNib3gpCgogICAgbG9jYWwgb3V0ID0ge307CgoKCiAgICBmb3IgaywgdiBpbiBwYWlycyhpbnB1dCkgZG8KCiAgICAgICAgb3V0W2tdID0gc2JveFt2XTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBvdXQ7CgplbmQKCgoKQXJyYXkucGVybXV0ZSA9IGZ1bmN0aW9uKGlucHV0LCBwYm94KQoKICAgIGxvY2FsIG91dCA9IHt9OwoKCgogICAgZm9yIGssIHYgaW4gcGFpcnMocGJveCkgZG8KCiAgICAgICAgb3V0W2tdID0gaW5wdXRbdl07CgogICAgZW5kCgoKCiAgICByZXR1cm4gb3V0OwoKZW5kCgoKCkFycmF5LmNvcHkgPSBmdW5jdGlvbihpbnB1dCkKCiAgICBsb2NhbCBvdXQgPSB7fTsKCgoKICAgIGZvciBrLCB2IGluIHBhaXJzKGlucHV0KSBkbwoKICAgICAgICBvdXRba10gPSB2OwoKICAgIGVuZAoKICAgIHJldHVybiBvdXQ7CgplbmQKCgoKQXJyYXkuc2xpY2UgPSBmdW5jdGlvbihpbnB1dCwgc3RhcnQsIHN0b3ApCgogICAgbG9jYWwgb3V0ID0ge307CgoKCiAgICBpZiBzdGFydCA9PSBuaWwgdGhlbgoKICAgICAgICBzdGFydCA9IDEKCiAgICBlbHNlaWYgc3RhcnQgPCAwIHRoZW4KCiAgICAgICAgc3RhcnQgPSAjaW5wdXQgKyBzdGFydCArIDEKCiAgICBlbmQKCiAgICBpZiBzdG9wID09IG5pbCB0aGVuCgogICAgICAgIHN0b3AgPSAjaW5wdXQKCiAgICBlbHNlaWYgc3RvcCA8IDAgdGhlbgoKICAgICAgICBzdG9wID0gI2lucHV0ICsgc3RvcCArIDEKCiAgICBlbmQKCgoKICAgIGZvciBpID0gc3RhcnQsIHN0b3AgZG8KCiAgICAgICAgdGFibGUuaW5zZXJ0KG91dCwgaW5wdXRbaV0pCgogICAgZW5kCgoKCiAgICByZXR1cm4gb3V0OwoKZW5kCgoKCnJldHVybiBBcnJheTsAAAAAbG9jYWwgb2ssIGUKCm9rID0gbmlsCgppZiBub3Qgb2sgdGhlbgoKICAgIG9rLCBlID0gcGNhbGwocmVxdWlyZSwgImJpdCIpIC0tIHRoZSBMdWFKSVQgb25lID8KCmVuZAoKaWYgbm90IG9rIHRoZW4KCiAgICBvaywgZSA9IHBjYWxsKHJlcXVpcmUsICJiaXQzMiIpIC0tIEx1YSA1LjIKCmVuZAoKaWYgbm90IG9rIHRoZW4KCiAgICBvaywgZSA9IHBjYWxsKHJlcXVpcmUsICJiaXQubnVtYmVybHVhIikgLS0gZm9yIEx1YSA1LjEsIGh0dHBzOi8vZ2l0aHViLmNvbS90c3QyMDA1L2x1YS1iaXQtbnVtYmVybHVhLwoKZW5kCgppZiBub3Qgb2sgdGhlbgoKICAgIGVycm9yKCJubyBiaXR3aXNlIHN1cHBvcnQgZm91bmQiLCAyKQoKZW5kCgphc3NlcnQodHlwZShlKSA9PSAidGFibGUiLCAiaW52YWxpZCBiaXQgbW9kdWxlIikKCgoKLS0gV29ya2Fyb3VuZCB0byBzdXBwb3J0IEx1YSA1LjIgYml0MzIgQVBJIHdpdGggdGhlIEx1YUpJVCBiaXQgb25lCgppZiBlLnJvbCBhbmQgbm90IGUubHJvdGF0ZSB0aGVuCgogICAgZS5scm90YXRlID0gZS5yb2wKCmVuZAoKaWYgZS5yb3IgYW5kIG5vdCBlLnJyb3RhdGUgdGhlbgoKICAgIGUucnJvdGF0ZSA9IGUucm9yCgplbmQKCgoKLS0gV29ya2Fyb3VuZCB0byBzdXBwb3J0IGluY29tcGxldGUgYml0IG9wZXJhdGlvbnMgc2V0CgppZiBub3QgZS5yb3IgYW5kIG5vdCBlLnJyb3RhdGUgdGhlbgoKICAgIGxvY2FsIHJvciA9IGZ1bmN0aW9uKGIsIG4pCgogICAgICAgIHJldHVybiBlLmJvcihlLnJzaGlmdChiLCBuKSwgZS5sc2hpZnQoYiwgMzIgLSBuKSkKCiAgICBlbmQKCgoKICAgIGUucm9yID0gcm9yCgogICAgZS5ycm90YXRlID0gcm9yCgplbmQKCgoKaWYgbm90IGUucm9sIGFuZCBub3QgZS5scm90YXRlIHRoZW4KCiAgICBsb2NhbCByb2wgPSBmdW5jdGlvbihiLCBuKQoKICAgICAgICByZXR1cm4gZS5ib3IoZS5sc2hpZnQoYiwgbiksIGUucnNoaWZ0KGIsIDMyIC0gbikpCgogICAgZW5kCgoKCiAgICBlLnJvbCA9IHJvbAoKICAgIGUubHJvdGF0ZSA9IHJvbAoKZW5kCgoKCnJldHVybiBlAAAAAAAKCi0tLSBDb252ZXJ0cyBhIHN0cmluZyB0byBpdHMgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24uCgotLS0gQHBhcmFtIHMgc3RyaW5nIFRoZSBpbnB1dCBzdHJpbmcuCgotLS0gQHBhcmFtIGxuPyBudW1iZXIgLSBUaGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcGVyIGxpbmUuIElmIG5vdCBwcm92aWRlZCwgdGhlIG91dHB1dCB3aWxsIGJlIGEgc2luZ2xlIGxpbmUuCgotLS0gQHBhcmFtIHNlcD8gc3RyaW5nIC0gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGVhY2ggcGFpciBvZiBoZXhhZGVjaW1hbCBjaGFyYWN0ZXJzLiBEZWZhdWx0cyB0byBhbiBlbXB0eSBzdHJpbmcuCgotLS0gQHJldHVybiBzdHJpbmcgVGhlIC0gaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGlucHV0IHN0cmluZy4KCmxvY2FsIGZ1bmN0aW9uIHN0cmluZ1RvSGV4KHMsIGxuLCBzZXApCgoJaWYgI3MgPT0gMCB0aGVuIHJldHVybiAiIiBlbmQKCglpZiBub3QgbG4gdGhlbgoKCQlyZXR1cm4gKHM6Z3N1YignLicsCgoJCQlmdW5jdGlvbihjKSByZXR1cm4gc3RyaW5nLmZvcm1hdCgnJTAyeCcsIHN0cmluZy5ieXRlKGMpKSBlbmQKCgkJKSkKCgllbmQKCglzZXAgPSBzZXAgb3IgIiIKCglsb2NhbCB0ID0ge30KCglmb3IgaSA9IDEsICNzIC0gMSBkbwoKCQl0WyN0ICsgMV0gPSBzdHJpbmcuZm9ybWF0KCIlMDJ4JXMiLCBzOmJ5dGUoaSksCgoJCQkoaSAlIGxuID09IDApIGFuZCAnXG4nIG9yIHNlcCkKCgllbmQKCgl0WyN0ICsgMV0gPSBzdHJpbmcuZm9ybWF0KCIlMDJ4IiwgczpieXRlKCNzKSkKCglyZXR1cm4gdGFibGUuY29uY2F0KHQpCgplbmQKCgoKLS0tIENvbnZlcnRzIGEgaGV4IGVuY29kZWQgc3RyaW5nIHRvIGl0cyBjb3JyZXNwb25kaW5nIGRlY29kZWQgc3RyaW5nLgoKLS0tIElmIHRoZSBvcHRpb25hbCBwYXJhbWV0ZXIgYHVuc2FmZWAgaXMgZGVmaW5lZCwgaXQgYXNzdW1lcyB0aGF0IHRoZSBoZXggc3RyaW5nIGlzIHdlbGwtZm9ybWVkCgotLS0gKG5vIGNoZWNrcywgbm8gd2hpdGVzcGFjZSByZW1vdmFsKS4gQnkgZGVmYXVsdCwgaXQgcmVtb3ZlcyB3aGl0ZXNwYWNlIChpbmNsdWRpbmcgbmV3bGluZXMpCgotLS0gYW5kIGNoZWNrcyB0aGF0IHRoZSBoZXggc3RyaW5nIGlzIHdlbGwtZm9ybWVkLgoKLS0tIEBwYXJhbSBocyAoc3RyaW5nKSBUaGUgaGV4IGVuY29kZWQgc3RyaW5nIHRvIGJlIGRlY29kZWQuCgotLS0gQHBhcmFtIHVuc2FmZSAoYm9vbGVhbikgW29wdGlvbmFsXSBJZiB0cnVlLCBhc3N1bWVzIHRoZSBoZXggc3RyaW5nIGlzIHdlbGwtZm9ybWVkLgoKLS0tIEByZXR1cm4gKHN0cmluZykgVGhlIGRlY29kZWQgc3RyaW5nLgoKbG9jYWwgZnVuY3Rpb24gaGV4VG9TdHJpbmcoaHMsIHVuc2FmZSkKCglsb2NhbCB0b251bWJlciA9IHRvbnVtYmVyCgoJaWYgbm90IHVuc2FmZSB0aGVuCgoJCWhzID0gc3RyaW5nLmdzdWIoaHMsICIlcysiLCAiIikgLS0gcmVtb3ZlIHdoaXRlc3BhY2VzCgoJCWlmIHN0cmluZy5maW5kKGhzLCAnW14wLTlBLVphLXpdJykgb3IgI2hzICUgMiB+PSAwIHRoZW4KCgkJCWVycm9yKCJpbnZhbGlkIGhleCBzdHJpbmciKQoKCQllbmQKCgllbmQKCglsb2NhbCBjb3VudCA9ICBzdHJpbmcuZ3N1YihocywgJygleCV4KScsZnVuY3Rpb24oYykgcmV0dXJuIHN0cmluZy5jaGFyKHRvbnVtYmVyKGMsIDE2KSkgZW5kKQoKCXJldHVybiBjb3VudAoKZW5kCgoKCnJldHVybiB7CgoJc3RyaW5nVG9IZXggPSBzdHJpbmdUb0hleCwKCgloZXhUb1N0cmluZyA9IGhleFRvU3RyaW5nLAoKfWxvY2FsIEJpdCA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5iaXQiKQoKbG9jYWwgUXVldWUgPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwucXVldWUiKQoKbG9jYWwgU3RyZWFtID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLnN0cmVhbSIpCgpsb2NhbCBIZXggPSByZXF1aXJlKCIuY3J5cHRvLnV0aWwuaGV4IikKCmxvY2FsIEFycmF5ID0gcmVxdWlyZSgiLmNyeXB0by51dGlsLmFycmF5IikKCgoKbG9jYWwgdXRpbCA9IHsKCiAgICBfdmVyc2lvbiA9ICIwLjAuMSIsCgogICAgYml0ID0gQml0LAoKICAgIHF1ZXVlID0gUXVldWUsCgogICAgc3RyZWFtID0gU3RyZWFtLAoKICAgIGhleCA9IEhleCwKCiAgICBhcnJheSA9IEFycmF5LAoKfQoKCgpyZXR1cm4gdXRpbAoAQrCPFAvVXGxvY2FsIFF1ZXVlID0gZnVuY3Rpb24oKQoKICAgIGxvY2FsIHF1ZXVlID0ge307CgogICAgbG9jYWwgdGFpbCA9IDA7CgogICAgbG9jYWwgaGVhZCA9IDA7CgoKCiAgICBsb2NhbCBwdWJsaWMgPSB7fTsKCgoKICAgIHB1YmxpYy5wdXNoID0gZnVuY3Rpb24ob2JqKQoKICAgICAgICBxdWV1ZVtoZWFkXSA9IG9iajsKCiAgICAgICAgaGVhZCA9IGhlYWQgKyAxOwoKICAgICAgICByZXR1cm47CgogICAgZW5kCgoKCiAgICBwdWJsaWMucG9wID0gZnVuY3Rpb24oKQoKICAgICAgICBpZiB0YWlsIDwgaGVhZAoKICAgICAgICB0aGVuCgogICAgICAgICAgICBsb2NhbCBvYmogPSBxdWV1ZVt0YWlsXTsKCiAgICAgICAgICAgIHF1ZXVlW3RhaWxdID0gbmlsOwoKICAgICAgICAgICAgdGFpbCA9IHRhaWwgKyAxOwoKICAgICAgICAgICAgcmV0dXJuIG9iajsKCiAgICAgICAgZWxzZQoKICAgICAgICAgICAgcmV0dXJuIG5pbDsKCiAgICAgICAgZW5kCgogICAgZW5kCgoKCiAgICBwdWJsaWMuc2l6ZSA9IGZ1bmN0aW9uKCkKCiAgICAgICAgcmV0dXJuIGhlYWQgLSB0YWlsOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldEhlYWQgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiBoZWFkOwoKICAgIGVuZAoKCgogICAgcHVibGljLmdldFRhaWwgPSBmdW5jdGlvbigpCgogICAgICAgIHJldHVybiB0YWlsOwoKICAgIGVuZAoKCgogICAgcHVibGljLnJlc2V0ID0gZnVuY3Rpb24oKQoKICAgICAgICBxdWV1ZSA9IHt9OwoKICAgICAgICBoZWFkID0gMDsKCiAgICAgICAgdGFpbCA9IDA7CgogICAgZW5kCgoKCiAgICByZXR1cm4gcHVibGljOwoKZW5kCgoKCnJldHVybiBRdWV1ZTtsb2NhbCBRdWV1ZSA9IHJlcXVpcmUoIi5jcnlwdG8udXRpbC5xdWV1ZSIpOwoKCgpsb2NhbCBTdHJlYW0gPSB7fTsKCgoKCgpTdHJlYW0uZnJvbVN0cmluZyA9IGZ1bmN0aW9uKHN0cmluZykKCiAgICBsb2NhbCBpID0gMDsKCiAgICByZXR1cm4gZnVuY3Rpb24oKQoKICAgICAgICBpID0gaSArIDE7CgogICAgICAgIHJldHVybiBzdHJpbmcuYnl0ZShzdHJpbmcsIGkpOwoKICAgIGVuZAoKZW5kCgoKCgoKU3RyZWFtLnRvU3RyaW5nID0gZnVuY3Rpb24oc3RyZWFtKQoKICAgIGxvY2FsIGFycmF5ID0ge307CgogICAgbG9jYWwgaSA9IDE7CgoKCiAgICBsb2NhbCBieXRlID0gc3RyZWFtKCk7CgogICAgd2hpbGUgYnl0ZSB+PSBuaWwgZG8KCiAgICAgICAgYXJyYXlbaV0gPSBzdHJpbmcuY2hhcihieXRlKTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBieXRlID0gc3RyZWFtKCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gdGFibGUuY29uY2F0KGFycmF5KTsKCmVuZAoKCgoKClN0cmVhbS5mcm9tQXJyYXkgPSBmdW5jdGlvbihhcnJheSkKCiAgICBsb2NhbCBxdWV1ZSA9IFF1ZXVlKCk7CgogICAgbG9jYWwgaSA9IDE7CgoKCiAgICBsb2NhbCBieXRlID0gYXJyYXlbaV07CgogICAgd2hpbGUgYnl0ZSB+PSBuaWwgZG8KCiAgICAgICAgcXVldWUucHVzaChieXRlKTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBieXRlID0gYXJyYXlbaV07CgogICAgZW5kCgoKCiAgICByZXR1cm4gcXVldWUucG9wOwoKZW5kCgoKCgoKU3RyZWFtLnRvQXJyYXkgPSBmdW5jdGlvbihzdHJlYW0pCgogICAgbG9jYWwgYXJyYXkgPSB7fTsKCiAgICBsb2NhbCBpID0gMTsKCgoKICAgIGxvY2FsIGJ5dGUgPSBzdHJlYW0oKTsKCiAgICB3aGlsZSBieXRlIH49IG5pbCBkbwoKICAgICAgICBhcnJheVtpXSA9IGJ5dGU7CgogICAgICAgIGkgPSBpICsgMTsKCiAgICAgICAgYnl0ZSA9IHN0cmVhbSgpOwoKICAgIGVuZAoKCgogICAgcmV0dXJuIGFycmF5OwoKZW5kCgoKCgoKbG9jYWwgZnJvbUhleFRhYmxlID0ge307Cgpmb3IgaSA9IDAsIDI1NSBkbwoKICAgIGZyb21IZXhUYWJsZVtzdHJpbmcuZm9ybWF0KCIlMDJYIiwgaSldID0gaTsKCiAgICBmcm9tSGV4VGFibGVbc3RyaW5nLmZvcm1hdCgiJTAyeCIsIGkpXSA9IGk7CgplbmQKCgoKU3RyZWFtLmZyb21IZXggPSBmdW5jdGlvbihoZXgpCgogICAgbG9jYWwgcXVldWUgPSBRdWV1ZSgpOwoKCgogICAgZm9yIGkgPSAxLCBzdHJpbmcubGVuKGhleCkgLyAyIGRvCgogICAgICAgIGxvY2FsIGggPSBzdHJpbmcuc3ViKGhleCwgaSAqIDIgLSAxLCBpICogMik7CgogICAgICAgIHF1ZXVlLnB1c2goZnJvbUhleFRhYmxlW2hdKTsKCiAgICBlbmQKCgoKICAgIHJldHVybiBxdWV1ZS5wb3A7CgplbmQKCgoKCgoKCmxvY2FsIHRvSGV4VGFibGUgPSB7fTsKCmZvciBpID0gMCwgMjU1IGRvCgogICAgdG9IZXhUYWJsZVtpXSA9IHN0cmluZy5mb3JtYXQoIiUwMlgiLCBpKTsKCmVuZAoKCgpTdHJlYW0udG9IZXggPSBmdW5jdGlvbihzdHJlYW0pCgogICAgbG9jYWwgaGV4ID0ge307CgogICAgbG9jYWwgaSA9IDE7CgoKCiAgICBsb2NhbCBieXRlID0gc3RyZWFtKCk7CgogICAgd2hpbGUgYnl0ZSB+PSBuaWwgZG8KCiAgICAgICAgaGV4W2ldID0gdG9IZXhUYWJsZVtieXRlXTsKCiAgICAgICAgaSA9IGkgKyAxOwoKICAgICAgICBieXRlID0gc3RyZWFtKCk7CgogICAgZW5kCgoKCiAgICByZXR1cm4gdGFibGUuY29uY2F0KGhleCk7CgplbmQKCgoKcmV0dXJuIFN0cmVhbTsAAAAAAGxvY2FsIGpzb24gPSB7X3ZlcnNpb24gPSAiMC4yLjAifQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSBFbmNvZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbG9jYWwgZW5jb2RlCgoKCmxvY2FsIGVzY2FwZV9jaGFyX21hcCA9IHsKCiAgICBbIlxcIl0gPSAiXFwiLAoKICAgIFsiXCIiXSA9ICJcIiIsCgogICAgWyJcYiJdID0gImIiLAoKICAgIFsiXGYiXSA9ICJmIiwKCiAgICBbIlxuIl0gPSAibiIsCgogICAgWyJcciJdID0gInIiLAoKICAgIFsiXHQiXSA9ICJ0IgoKfQoKCgpsb2NhbCBlc2NhcGVfY2hhcl9tYXBfaW52ID0ge1siLyJdID0gIi8ifQoKZm9yIGssIHYgaW4gcGFpcnMoZXNjYXBlX2NoYXJfbWFwKSBkbyBlc2NhcGVfY2hhcl9tYXBfaW52W3ZdID0gayBlbmQKCgoKbG9jYWwgZnVuY3Rpb24gZXNjYXBlX2NoYXIoYykKCiAgICByZXR1cm4gIlxcIiAuLiAoZXNjYXBlX2NoYXJfbWFwW2NdIG9yIHN0cmluZy5mb3JtYXQoInUlMDR4IiwgYzpieXRlKCkpKQoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGVuY29kZV9uaWwodmFsKSByZXR1cm4gIm51bGwiIGVuZAoKCgpsb2NhbCBmdW5jdGlvbiBlbmNvZGVfdGFibGUodmFsLCBzdGFjaykKCiAgICBsb2NhbCByZXMgPSB7fQoKICAgIHN0YWNrID0gc3RhY2sgb3Ige30KCgoKICAgIC0tIENpcmN1bGFyIHJlZmVyZW5jZT8KCiAgICBpZiBzdGFja1t2YWxdIHRoZW4gZXJyb3IoImNpcmN1bGFyIHJlZmVyZW5jZSIpIGVuZAoKCgogICAgc3RhY2tbdmFsXSA9IHRydWUKCgoKICAgIGlmIHJhd2dldCh2YWwsIDEpIH49IG5pbCBvciBuZXh0KHZhbCkgPT0gbmlsIHRoZW4KCiAgICAgICAgLS0gVHJlYXQgYXMgYXJyYXkgLS0gY2hlY2sga2V5cyBhcmUgdmFsaWQgYW5kIGl0IGlzIG5vdCBzcGFyc2UKCiAgICAgICAgbG9jYWwgbiA9IDAKCiAgICAgICAgZm9yIGsgaW4gcGFpcnModmFsKSBkbwoKICAgICAgICAgICAgaWYgdHlwZShrKSB+PSAibnVtYmVyIiB0aGVuCgogICAgICAgICAgICAgICAgZXJyb3IoImludmFsaWQgdGFibGU6IG1peGVkIG9yIGludmFsaWQga2V5IHR5cGVzIikKCiAgICAgICAgICAgIGVuZAoKICAgICAgICAgICAgbiA9IG4gKyAxCgogICAgICAgIGVuZAoKICAgICAgICBpZiBuIH49ICN2YWwgdGhlbiBlcnJvcigiaW52YWxpZCB0YWJsZTogc3BhcnNlIGFycmF5IikgZW5kCgogICAgICAgIC0tIEVuY29kZQoKICAgICAgICBmb3IgaSA9IDEsICN2YWwgZG8gcmVzW2ldID0gZW5jb2RlKHZhbFtpXSwgc3RhY2spIGVuZAoKICAgICAgICBzdGFja1t2YWxdID0gbmlsCgogICAgICAgIHJldHVybiAiWyIgLi4gdGFibGUuY29uY2F0KHJlcywgIiwiKSAuLiAiXSIKCiAgICBlbHNlCgogICAgICAgIC0tIFRyZWF0IGFzIGFuIG9iamVjdAoKICAgICAgICBsb2NhbCBpID0gMQoKICAgICAgICBmb3IgaywgdiBpbiBwYWlycyh2YWwpIGRvCgogICAgICAgICAgICBpZiB0eXBlKGspIH49ICJzdHJpbmciIHRoZW4KCiAgICAgICAgICAgICAgICBlcnJvcigiaW52YWxpZCB0YWJsZTogbWl4ZWQgb3IgaW52YWxpZCBrZXkgdHlwZXMiKQoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBpZiB0eXBlKHYpIH49ICJmdW5jdGlvbiIgdGhlbgoKICAgICAgICAgICAgICAgIHJlc1tpXSA9IGVuY29kZShrLCBzdGFjaykgLi4gIjoiIC4uIGVuY29kZSh2LCBzdGFjaykKCiAgICAgICAgICAgICAgICBpID0gaSArIDEKCiAgICAgICAgICAgIGVuZAoKICAgICAgICBlbmQKCiAgICAgICAgc3RhY2tbdmFsXSA9IG5pbAoKICAgICAgICByZXR1cm4gInsiIC4uIHRhYmxlLmNvbmNhdChyZXMsICIsIikgLi4gIn0iCgogICAgZW5kCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gZW5jb2RlX3N0cmluZyh2YWwpCgogICAgcmV0dXJuICciJyAuLiB2YWw6Z3N1YignWyV6XDEtXDMxXFwiXScsIGVzY2FwZV9jaGFyKSAuLiAnIicKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBlbmNvZGVfbnVtYmVyKHZhbCkKCiAgICAtLSBDaGVjayBmb3IgTmFOLCAtaW5mIGFuZCBpbmYKCiAgICBpZiB2YWwgfj0gdmFsIG9yIHZhbCA8PSAtbWF0aC5odWdlIG9yIHZhbCA+PSBtYXRoLmh1Z2UgdGhlbgoKICAgICAgICBlcnJvcigidW5leHBlY3RlZCBudW1iZXIgdmFsdWUgJyIgLi4gdG9zdHJpbmcodmFsKSAuLiAiJyIpCgogICAgZW5kCgogICAgcmV0dXJuIHN0cmluZy5mb3JtYXQoIiUuMTRnIiwgdmFsKQoKZW5kCgoKCmxvY2FsIHR5cGVfZnVuY19tYXAgPSB7CgogICAgWyJuaWwiXSA9IGVuY29kZV9uaWwsCgogICAgWyJ0YWJsZSJdID0gZW5jb2RlX3RhYmxlLAoKICAgIFsic3RyaW5nIl0gPSBlbmNvZGVfc3RyaW5nLAoKICAgIFsibnVtYmVyIl0gPSBlbmNvZGVfbnVtYmVyLAoKICAgIFsiYm9vbGVhbiJdID0gdG9zdHJpbmcKCn0KCgoKZW5jb2RlID0gZnVuY3Rpb24odmFsLCBzdGFjaykKCiAgICBsb2NhbCB0ID0gdHlwZSh2YWwpCgogICAgbG9jYWwgZiA9IHR5cGVfZnVuY19tYXBbdF0KCiAgICBpZiBmIHRoZW4gcmV0dXJuIGYodmFsLCBzdGFjaykgZW5kCgogICAgZXJyb3IoInVuZXhwZWN0ZWQgdHlwZSAnIiAuLiB0IC4uICInIikKCmVuZAoKCgpmdW5jdGlvbiBqc29uLmVuY29kZSh2YWwpIHJldHVybiAoZW5jb2RlKHZhbCkpIGVuZAoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSBEZWNvZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbG9jYWwgcGFyc2UKCgoKbG9jYWwgZnVuY3Rpb24gY3JlYXRlX3NldCguLi4pCgogICAgbG9jYWwgcmVzID0ge30KCiAgICBmb3IgaSA9IDEsIHNlbGVjdCgiIyIsIC4uLikgZG8gcmVzW3NlbGVjdChpLCAuLi4pXSA9IHRydWUgZW5kCgogICAgcmV0dXJuIHJlcwoKZW5kCgoKCmxvY2FsIHNwYWNlX2NoYXJzID0gY3JlYXRlX3NldCgiICIsICJcdCIsICJcciIsICJcbiIpCgpsb2NhbCBkZWxpbV9jaGFycyA9IGNyZWF0ZV9zZXQoIiAiLCAiXHQiLCAiXHIiLCAiXG4iLCAiXSIsICJ9IiwgIiwiKQoKbG9jYWwgZXNjYXBlX2NoYXJzID0gY3JlYXRlX3NldCgiXFwiLCAiLyIsICciJywgImIiLCAiZiIsICJuIiwgInIiLCAidCIsICJ1IikKCmxvY2FsIGxpdGVyYWxzID0gY3JlYXRlX3NldCgidHJ1ZSIsICJmYWxzZSIsICJudWxsIikKCgoKbG9jYWwgbGl0ZXJhbF9tYXAgPSB7WyJ0cnVlIl0gPSB0cnVlLCBbImZhbHNlIl0gPSBmYWxzZSwgWyJudWxsIl0gPSBuaWx9CgoKCmxvY2FsIGZ1bmN0aW9uIG5leHRfY2hhcihzdHIsIGlkeCwgc2V0LCBuZWdhdGUpCgogICAgZm9yIGkgPSBpZHgsICNzdHIgZG8gaWYgc2V0W3N0cjpzdWIoaSwgaSldIH49IG5lZ2F0ZSB0aGVuIHJldHVybiBpIGVuZCBlbmQKCiAgICByZXR1cm4gI3N0ciArIDEKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBkZWNvZGVfZXJyb3Ioc3RyLCBpZHgsIG1zZykKCiAgICBsb2NhbCBsaW5lX2NvdW50ID0gMQoKICAgIGxvY2FsIGNvbF9jb3VudCA9IDEKCiAgICBmb3IgaSA9IDEsIGlkeCAtIDEgZG8KCiAgICAgICAgY29sX2NvdW50ID0gY29sX2NvdW50ICsgMQoKICAgICAgICBpZiBzdHI6c3ViKGksIGkpID09ICJcbiIgdGhlbgoKICAgICAgICAgICAgbGluZV9jb3VudCA9IGxpbmVfY291bnQgKyAxCgogICAgICAgICAgICBjb2xfY291bnQgPSAxCgogICAgICAgIGVuZAoKICAgIGVuZAoKICAgIGVycm9yKHN0cmluZy5mb3JtYXQoIiVzIGF0IGxpbmUgJWQgY29sICVkIiwgbXNnLCBsaW5lX2NvdW50LCBjb2xfY291bnQpKQoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIGNvZGVwb2ludF90b191dGY4KG4pCgogICAgbG9jYWwgZiA9IG1hdGguZmxvb3IKCiAgICBpZiBuIDw9IDB4N2YgdGhlbgoKICAgICAgICByZXR1cm4gc3RyaW5nLmNoYXIobikKCiAgICBlbHNlaWYgbiA8PSAweDdmZiB0aGVuCgogICAgICAgIHJldHVybiBzdHJpbmcuY2hhcihmKG4gLyA2NCkgKyAxOTIsIG4gJSA2NCArIDEyOCkKCiAgICBlbHNlaWYgbiA8PSAweGZmZmYgdGhlbgoKICAgICAgICByZXR1cm4gc3RyaW5nLmNoYXIoZihuIC8gNDA5NikgKyAyMjQsIGYobiAlIDQwOTYgLyA2NCkgKyAxMjgsCgogICAgICAgICAgICAgICAgICAgICAgICAgICBuICUgNjQgKyAxMjgpCgogICAgZWxzZWlmIG4gPD0gMHgxMGZmZmYgdGhlbgoKICAgICAgICByZXR1cm4gc3RyaW5nLmNoYXIoZihuIC8gMjYyMTQ0KSArIDI0MCwgZihuICUgMjYyMTQ0IC8gNDA5NikgKyAxMjgsCgogICAgICAgICAgICAgICAgICAgICAgICAgICBmKG4gJSA0MDk2IC8gNjQpICsgMTI4LCBuICUgNjQgKyAxMjgpCgogICAgZW5kCgogICAgZXJyb3Ioc3RyaW5nLmZvcm1hdCgiaW52YWxpZCB1bmljb2RlIGNvZGVwb2ludCAnJXgnIiwgbikpCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gcGFyc2VfdW5pY29kZV9lc2NhcGUocykKCiAgICBsb2NhbCBuMSA9IHRvbnVtYmVyKHM6c3ViKDEsIDQpLCAxNikKCiAgICBsb2NhbCBuMiA9IHRvbnVtYmVyKHM6c3ViKDcsIDEwKSwgMTYpCgogICAgaWYgbjIgdGhlbgoKICAgICAgICByZXR1cm4KCiAgICAgICAgICAgIGNvZGVwb2ludF90b191dGY4KChuMSAtIDB4ZDgwMCkgKiAweDQwMCArIChuMiAtIDB4ZGMwMCkgKyAweDEwMDAwKQoKICAgIGVsc2UKCiAgICAgICAgcmV0dXJuIGNvZGVwb2ludF90b191dGY4KG4xKQoKICAgIGVuZAoKZW5kCgoKCmxvY2FsIGZ1bmN0aW9uIHBhcnNlX3N0cmluZyhzdHIsIGkpCgogICAgbG9jYWwgcmVzID0ge30KCiAgICBsb2NhbCBqID0gaSArIDEKCiAgICBsb2NhbCBrID0gagoKCgogICAgd2hpbGUgaiA8PSAjc3RyIGRvCgogICAgICAgIGxvY2FsIHggPSBzdHI6Ynl0ZShqKQoKCgogICAgICAgIGlmIHggPCAzMiB0aGVuCgogICAgICAgICAgICBkZWNvZGVfZXJyb3Ioc3RyLCBqLCAiY29udHJvbCBjaGFyYWN0ZXIgaW4gc3RyaW5nIikKCiAgICAgICAgZWxzZWlmIHggPT0gOTIgdGhlbiAtLSBgXGA6IEVzY2FwZQoKICAgICAgICAgICAgcmVzWyNyZXMgKyAxXSA9IHN0cjpzdWIoaywgaiAtIDEpCgogICAgICAgICAgICBqID0gaiArIDEKCiAgICAgICAgICAgIGxvY2FsIGMgPSBzdHI6c3ViKGosIGopCgogICAgICAgICAgICBpZiBjID09ICJ1IiB0aGVuCgogICAgICAgICAgICAgICAgbG9jYWwgaGV4ID0gc3RyOm1hdGNoKCJeW2REXVs4OWFBYkJdJXgleFxcdSV4JXgleCV4IiwgaiArIDEpIG9yCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cjptYXRjaCgiXiV4JXgleCV4IiwgaiArIDEpIG9yCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9lcnJvcihzdHIsIGogLSAxLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImludmFsaWQgdW5pY29kZSBlc2NhcGUgaW4gc3RyaW5nIikKCiAgICAgICAgICAgICAgICByZXNbI3JlcyArIDFdID0gcGFyc2VfdW5pY29kZV9lc2NhcGUoaGV4KQoKICAgICAgICAgICAgICAgIGogPSBqICsgI2hleAoKICAgICAgICAgICAgZWxzZQoKICAgICAgICAgICAgICAgIGlmIG5vdCBlc2NhcGVfY2hhcnNbY10gdGhlbgoKICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZXJyb3Ioc3RyLCBqIC0gMSwKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIGVzY2FwZSBjaGFyICciIC4uIGMgLi4gIicgaW4gc3RyaW5nIikKCiAgICAgICAgICAgICAgICBlbmQKCiAgICAgICAgICAgICAgICByZXNbI3JlcyArIDFdID0gZXNjYXBlX2NoYXJfbWFwX2ludltjXQoKICAgICAgICAgICAgZW5kCgogICAgICAgICAgICBrID0gaiArIDEKCiAgICAgICAgZWxzZWlmIHggPT0gMzQgdGhlbiAtLSBgImA6IEVuZCBvZiBzdHJpbmcKCiAgICAgICAgICAgIHJlc1sjcmVzICsgMV0gPSBzdHI6c3ViKGssIGogLSAxKQoKICAgICAgICAgICAgcmV0dXJuIHRhYmxlLmNvbmNhdChyZXMpLCBqICsgMQoKICAgICAgICBlbmQKCiAgICAgICAgaiA9IGogKyAxCgogICAgZW5kCgoKCiAgICBkZWNvZGVfZXJyb3Ioc3RyLCBpLCAiZXhwZWN0ZWQgY2xvc2luZyBxdW90ZSBmb3Igc3RyaW5nIikKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBwYXJzZV9udW1iZXIoc3RyLCBpKQoKICAgIGxvY2FsIHggPSBuZXh0X2NoYXIoc3RyLCBpLCBkZWxpbV9jaGFycykKCiAgICBsb2NhbCBzID0gc3RyOnN1YihpLCB4IC0gMSkKCiAgICBsb2NhbCBuID0gdG9udW1iZXIocykKCiAgICBpZiBub3QgbiB0aGVuIGRlY29kZV9lcnJvcihzdHIsIGksICJpbnZhbGlkIG51bWJlciAnIiAuLiBzIC4uICInIikgZW5kCgogICAgcmV0dXJuIG4sIHgKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBwYXJzZV9saXRlcmFsKHN0ciwgaSkKCiAgICBsb2NhbCB4ID0gbmV4dF9jaGFyKHN0ciwgaSwgZGVsaW1fY2hhcnMpCgogICAgbG9jYWwgd29yZCA9IHN0cjpzdWIoaSwgeCAtIDEpCgogICAgaWYgbm90IGxpdGVyYWxzW3dvcmRdIHRoZW4KCiAgICAgICAgZGVjb2RlX2Vycm9yKHN0ciwgaSwgImludmFsaWQgbGl0ZXJhbCAnIiAuLiB3b3JkIC4uICInIikKCiAgICBlbmQKCiAgICByZXR1cm4gbGl0ZXJhbF9tYXBbd29yZF0sIHgKCmVuZAoKCgpsb2NhbCBmdW5jdGlvbiBwYXJzZV9hcnJheShzdHIsIGkpCgogICAgbG9jYWwgcmVzID0ge30KCiAgICBsb2NhbCBuID0gMQoKICAgIGkgPSBpICsgMQoKICAgIHdoaWxlIHRydWUgZG8KCiAgICAgICAgbG9jYWwgeAoKICAgICAgICBpID0gbmV4dF9jaGFyKHN0ciwgaSwgc3BhY2VfY2hhcnMsIHRydWUpCgogICAgICAgIGlmIHN0cjpzdWIoaSwgaSkgPT0gIl0iIHRoZW4KCiAgICAgICAgICAgIGkgPSBpICsgMQoKICAgICAgICAgICAgYnJlYWsKCiAgICAgICAgZW5kCgogICAgICAgIHgsIGkgPSBwYXJzZShzdHIsIGkpCgogICAgICAgIHJlc1tuXSA9IHgKCiAgICAgICAgbiA9IG4gKyAxCgogICAgICAgIGkgPSBuZXh0X2NoYXIoc3RyLCBpLCBzcGFjZV9jaGFycywgdHJ1ZSkKCiAgICAgICAgbG9jYWwgY2hyID0gc3RyOnN1YihpLCBpKQoKICAgICAgICBpID0gaSArIDEKCiAgICAgICAgaWYgY2hyID09ICJdIiB0aGVuIGJyZWFrIGVuZAoKICAgICAgICBpZiBjaHIgfj0gIiwiIHRoZW4gZGVjb2RlX2Vycm9yKHN0ciwgaSwgImV4cGVjdGVkICddJyBvciAnLCciKSBlbmQKCiAgICBlbmQKCiAgICByZXR1cm4gcmVzLCBpCgplbmQKCgoKbG9jYWwgZnVuY3Rpb24gcGFyc2Vfb2JqZWN0KHN0ciwgaSkKCiAgICBsb2NhbCByZXMgPSB7fQoKICAgIGkgPSBpICsgMQoKICAgIHdoaWxlIHRydWUgZG8KCiAgICAgICAgbG9jYWwga2V5LCB2YWwKCiAgICAgICAgaSA9IG5leHRfY2hhcihzdHIsIGksIHNwYWNlX2NoYXJzLCB0cnVlKQoKICAgICAgICBpZiBzdHI6c3ViKGksIGkpID09ICJ9IiB0aGVuCgogICAgICAgICAgICBpID0gaSArIDEKCiAgICAgICAgICAgIGJyZWFrCgogICAgICAgIGVuZAoKICAgICAgICBpZiBzdHI6c3ViKGksIGkpIH49ICciJyB0aGVuCgogICAgICAgICAgICBkZWNvZGVfZXJyb3Ioc3RyLCBpLCAiZXhwZWN0ZWQgc3RyaW5nIGZvciBrZXkiKQoKICAgICAgICBlbmQKCiAgICAgICAga2V5LCBpID0gcGFyc2Uoc3RyLCBpKQoKICAgICAgICBpID0gbmV4dF9jaGFyKHN0ciwgaSwgc3BhY2VfY2hhcnMsIHRydWUpCgogICAgICAgIGlmIHN0cjpzdWIoaSwgaSkgfj0gIjoiIHRoZW4KCiAgICAgICAgICAgIGRlY29kZV9lcnJvcihzdHIsIGksICJleHBlY3RlZCAnOicgYWZ0ZXIga2V5IikKCiAgICAgICAgZW5kCgogICAgICAgIGkgPSBuZXh0X2NoYXIoc3RyLCBpICsgMSwgc3BhY2VfY2hhcnMsIHRydWUpCgogICAgICAgIHZhbCwgaSA9IHBhcnNlKHN0ciwgaSkKCiAgICAgICAgcmVzW2tleV0gPSB2YWwKCiAgICAgICAgaSA9IG5leHRfY2hhcihzdHIsIGksIHNwYWNlX2NoYXJzLCB0cnVlKQoKICAgICAgICBsb2NhbCBjaHIgPSBzdHI6c3ViKGksIGkpCgogICAgICAgIGkgPSBpICsgMQoKICAgICAgICBpZiBjaHIgPT0gIn0iIHRoZW4gYnJlYWsgZW5kCgogICAgICAgIGlmIGNociB+PSAiLCIgdGhlbiBkZWNvZGVfZXJyb3Ioc3RyLCBpLCAiZXhwZWN0ZWQgJ30nIG9yICcsJyIpIGVuZAoKICAgIGVuZAoKICAgIHJldHVybiByZXMsIGkKCmVuZAoKCgpsb2NhbCBjaGFyX2Z1bmNfbWFwID0gewoKICAgIFsnIiddID0gcGFyc2Vfc3RyaW5nLAoKICAgIFsiMCJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiMSJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiMiJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiMyJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiNCJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiNSJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiNiJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiNyJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiOCJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiOSJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsiLSJdID0gcGFyc2VfbnVtYmVyLAoKICAgIFsidCJdID0gcGFyc2VfbGl0ZXJhbCwKCiAgICBbImYiXSA9IHBhcnNlX2xpdGVyYWwsCgogICAgWyJuIl0gPSBwYXJzZV9saXRlcmFsLAoKICAgIFsiWyJdID0gcGFyc2VfYXJyYXksCgogICAgWyJ7Il0gPSBwYXJzZV9vYmplY3QKCn0KCgoKcGFyc2UgPSBmdW5jdGlvbihzdHIsIGlkeCkKCiAgICBsb2NhbCBjaHIgPSBzdHI6c3ViKGlkeCwgaWR4KQoKICAg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AAAATm8gZXJyb3IgaW5mb3JtYXRpb24ASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATXVsdGlob3AgYXR0ZW1wdGVkAFJlcXVpcmVkIGtleSBub3QgYXZhaWxhYmxlAEtleSBoYXMgZXhwaXJlZABLZXkgaGFzIGJlZW4gcmV2b2tlZABLZXkgd2FzIHJlamVjdGVkIGJ5IHNlcnZpY2UAQsL4FQuWAaUCWwDwAbUFjAUlAYMGHQOUBP8AxwMxAwsGvAGPAX8DygQrANoGrwBCA04D3AEOBBUAoQYNAZQCCwI4BmQCvAL/Al0D5wQLB88CywXvBdsF4QIeBkUChQCCAmwDbwTxAPMDGAXZANoDTAZUAnsBnQO9BAAAUQAVArsAswNtAP8BhQQvBfkEOABlAUYBnwC3BqgBcwJTAQBCiPoVCwwhBAAAAAAAAAAALwIAQqj6FQsGNQRHBFYEAEK++hULAqAEAELS+hULIkYFYAVuBWEGAADPAQAAAAAAAAAAyQbpBvkGHgc5B0kHXgcAQoD7FQtj0XSeAFedvSqAcFIP//8+JwoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAAvdG1wL3RtcGZpbGVfWFhYWFhYAELw+xULEi90bXAvdG1wbmFtX1hYWFhYWABCkPwVC0EZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBC4fwVCyEOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQpv9FQsBDABCp/0VCxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQtX9FQsBEABC4f0VCxUPAAAABA8AAAAACRAAAAAAABAAABAAQo/+FQsBEgBCm/4VCx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQtL+FQsOGgAAABoaGgAAAAAAAAkAQoP/FQsBFABCj/8VCxUXAAAAABcAAAAACRQAAAAAABQAABQAQr3/FQsBFgBCyf8VCycVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYAQvD/FQsBBQBCiIAWCwHGAEK4gBYLE8QAAAAAAAAAwwAAAAAAAACgrgUAQuiAFgsBAgBC/IAWCwj//////////wBC2IEWCwnwfwUAAAAAAAkAQviBFgsBxgBCoIIWCwHFAEKwghYLEsMAAAAAAAAAqK4FAAAAAAAABABC7IIWCwT/////AELIgxYLAQUAQuCDFgsBxwBCkIQWCxrEAAAAAAAAAMgAAAAAAAAAuLIFAAAAAAAABABCwIQWCwEBAELUhBYLBf////8KAEKwhRYLDMiBBQAAAAAAMLsFBACaWgRuYW1lAA0McHJvY2Vzcy53YXNtAZVD9wQACmludm9rZV92amoBCHN0cmZ0aW1lAgRleGl0Aw93ZWF2ZWRyaXZlX29wZW4ED3dlYXZlZHJpdmVfcmVhZAUQd2VhdmVkcml2ZV9jbG9zZQYRX19zeXNjYWxsX2ZjbnRsNjQHD19fc3lzY2FsbF9pb2N0bAgPX193YXNpX2ZkX2Nsb3NlCQ5fX3dhc2lfZmRfcmVhZAoPX193YXNpX2ZkX3dyaXRlCwlfYWJvcnRfanMMFV9lbXNjcmlwdGVuX21lbWNweV9qcw0TZW1zY3JpcHRlbl9kYXRlX25vdw4gX2Vtc2NyaXB0ZW5fZ2V0X25vd19pc19tb25vdG9uaWMPDl9fc3lzY2FsbF9kdXAzEBhfX3dhc2lfZW52aXJvbl9zaXplc19nZXQREl9fd2FzaV9lbnZpcm9uX2dldBIOX193YXNpX2ZkX3NlZWsTCl9ta3RpbWVfanMUDV9sb2NhbHRpbWVfanMVCl9nbXRpbWVfanMWEl9fc3lzY2FsbF91bmxpbmthdBcPX19zeXNjYWxsX3JtZGlyGBJfX3N5c2NhbGxfcmVuYW1lYXQZEl9lbXNjcmlwdGVuX3N5c3RlbRoQX19zeXNjYWxsX29wZW5hdBsUX19zeXNjYWxsX3JlYWRsaW5rYXQcCV90enNldF9qcx0WZW1zY3JpcHRlbl9yZXNpemVfaGVhcB4ZX2Vtc2NyaXB0ZW5fdGhyb3dfbG9uZ2ptcB8RX193YXNtX2NhbGxfY3RvcnMgC2x1YU9faW50MmZiIQ1sdWFPX2NlaWxsb2cyIghpbnRhcml0aCMMbHVhT19zdHIybnVtJA1sdWFPX3Rvc3RyaW5nJRFsdWFPX3B1c2h2ZnN0cmluZyYQbHVhT19wdXNoZnN0cmluZycMbHVhT19jaHVua2lkKA5sdWFWX3RvbnVtYmVyXykObHVhVl90b2ludGVnZXIqDmx1YVZfZmluaXNoZ2V0Kw5sdWFWX2ZpbmlzaHNldCwNbHVhVl9sZXNzdGhhbi0ObHVhVl9sZXNzZXF1YWwuDWx1YVZfZXF1YWxvYmovC2x1YVZfY29uY2F0MAtsdWFWX29iamxlbjELbHVhVl9zaGlmdGwyDGx1YVZfZXhlY3V0ZTMMbWFpbnBvc2l0aW9uNAtsdWFIX3Jlc2l6ZTULbHVhSF9uZXdrZXk2CGx1YUhfZ2V0NwtsdWFIX3NldGludDgIbHVhSF9zZXQ5CGx1YUhfbmV3OgtsdWFIX2dldGludDsQbHVhSF9nZXRzaG9ydHN0cjwLbHVhSF9nZXRzdHI9CWx1YUhfZ2V0bj4KbHVhVF9nZXR0bT8PbHVhVF9nZXR0bWJ5b2JqQBBsdWFUX29ianR5cGVuYW1lQQtsdWFUX2NhbGxUTUIObHVhVF9jYWxsYmluVE1DDWx1YVRfdHJ5YmluVE1EEGx1YVRfY2FsbG9yZGVyVE1FCWx1YVpfZmlsbEYJbHVhWl9yZWFkRw5sdWFYX3Rva2VuMnN0ckgQbHVhWF9zeW50YXhlcnJvckkIbGV4ZXJyb3JKDmx1YVhfbmV3c3RyaW5nSwlsdWFYX25leHRMBGxsZXhNDWluY2xpbmVudW1iZXJOCHNraXBfc2VwTxByZWFkX2xvbmdfc3RyaW5nUAtjaGVja19uZXh0MVEHZ2V0aGV4YVIEc2F2ZVMLY2hlY2tfbmV4dDJUDGx1YUVfc2V0ZGVidFUNbHVhRV9leHRlbmRDSVYLbHVhRV9mcmVlQ0lXDWx1YUVfc2hyaW5rQ0lYDWx1YV9uZXd0aHJlYWRZDGx1YV9uZXdzdGF0ZVoJZl9sdWFvcGVuWwtjbG9zZV9zdGF0ZVwJbHVhX2Nsb3NlXQ1sdWFDX2JhcnJpZXJfXhByZWFsbHltYXJrb2JqZWN0XxJsdWFDX3VwdmFsYmFycmllcl9gCGx1YUNfZml4YQtsdWFDX25ld29iamITbHVhQ19jaGVja2ZpbmFsaXplcmMJc3dlZXBsaXN0ZARHQ1RNZQpzaW5nbGVzdGVwZgZtYXJrbXRnDXByb3BhZ2F0ZW1hcmtoEXRyYXZlcnNlZXBoZW1lcm9uaQtjbGVhcnZhbHVlc2oJbHVhQ19zdGVwawtsdWFDX2Z1bGxnY2wJZG90aGVjYWxsbRBsdWFGX25ld0xjbG9zdXJlbgpsdWFGX2Nsb3Nlbw1sdWFGX25ld3Byb3RvcBFsdWFGX2dldGxvY2FsbmFtZXELbHVhX3NldGhvb2tyDGx1YV9nZXRzdGFja3MMbHVhX2dldGxvY2FsdAlmaW5kbG9jYWx1C2x1YV9nZXRpbmZvdgpnZXRvYmpuYW1ldw5sdWFHX3R5cGVlcnJvcngHdmFyaW5mb3kNbHVhR19ydW5lcnJvcnoNbHVhR19lcnJvcm1zZ3sPbHVhR19vcGludGVycm9yfA9sdWFHX29yZGVyZXJyb3J9DWx1YU1fZ3Jvd2F1eF9+DWx1YU1fcmVhbGxvY19/C2x1YU1fdG9vYmlngAELbHVhU19yZXNpemWBAQxsdWFTX25ld2xzdHKCARRsdWFTX2NyZWF0ZWxuZ3N0cm9iaoMBCGx1YVNfbmV3hAEMTG9hZEZ1bmN0aW9uhQEFZXJyb3KGAQpMb2FkU3RyaW5nhwEJbHVhS19jb2RliAEMbHVhS19jb2RlQUJDiQEJbHVhS19qdW1wigEMbHVhS19jb2RlQUJ4iwEIbHVhS19yZXSMARBsdWFLX3BhdGNodG9oZXJljQEObHVhS19wYXRjaGxpc3SOAQxwYXRjaGxpc3RhdXiPAQ9sdWFLX3BhdGNoY2xvc2WQARBsdWFLX3Jlc2VydmVyZWdzkQEMbHVhS19zdHJpbmdLkgEEYWRka5MBD2x1YUtfc2V0cmV0dXJuc5QBEmx1YUtfZGlzY2hhcmdldmFyc5UBEGx1YUtfZXhwMm5leHRyZWeWAQdleHAycmVnlwENZGlzY2hhcmdlMnJlZ5gBD2x1YUtfZXhwMmFueXJlZ5kBEWx1YUtfZXhwMmFueXJlZ3VwmgEMbHVhS19leHAydmFsmwELbHVhS19leHAyUkucAQ1sdWFLX3N0b3JldmFynQENbHVhS19nb2lmdHJ1ZZ4BCmp1bXBvbmNvbmSfAQhjb25kanVtcKABDmx1YUtfZ29pZmZhbHNloQEMbHVhS19pbmRleGVkogEMY29uc3Rmb2xkaW5nowENY29kZWJpbmV4cHZhbKQBDGx1YUtfc2V0bGlzdKUBCm5ld3VwdmFsdWWmAQlzdGF0ZW1lbnSnAQpjbG9zZV9mdW5jqAEOZXJyb3JfZXhwZWN0ZWSpAQplcnJvcmxpbWl0qgEKbGVhdmVibG9ja6sBB3N1YmV4cHKsAQhnb3Rvc3RhdK0BC3N1ZmZpeGVkZXhwrgEKYXNzaWdubWVudK8BB2V4cGxpc3SwAQhzZW1lcnJvcrEBCWNsb3NlZ290b7IBDG5ld19sb2NhbHZhcrMBBGJvZHm0AQ1hZGp1c3RfYXNzaWdutQEJc2luZ2xldmFytgEIZmllbGRzZWy3AQtjaGVja19tYXRjaLgBB2ZvcmJvZHm5AQtjb25zdHJ1Y3RvcroBCGZ1bmNhcmdzuwEMc2luZ2xldmFyYXV4vAEKbHVhRF90aHJvd70BFGx1YURfcmF3cnVucHJvdGVjdGVkvgERbHVhRF9yZWFsbG9jc3RhY2u/AQ5sdWFEX2dyb3dzdGFja8ABC2x1YURfaW5jdG9wwQEJbHVhRF9ob29rwgEMbHVhRF9wb3NjYWxswwEMbHVhRF9wcmVjYWxsxAEJbHVhRF9jYWxsxQEQbHVhRF9jYWxsbm95aWVsZMYBBnJlc3VtZccBBnVucm9sbMgBCmx1YURfcGNhbGzJAQhmX3BhcnNlcsoBDER1bXBGdW5jdGlvbssBCkR1bXBTdHJpbmfMAQ5sdWFfY2hlY2tzdGFja80BCWdyb3dzdGFja84BCWx1YV94bW92Zc8BCmx1YV9zZXR0b3DQAQpsdWFfcm90YXRl0QEIbHVhX2NvcHnSAQ1sdWFfcHVzaHZhbHVl0wEIbHVhX3R5cGXUAQ9sdWFfaXNjZnVuY3Rpb27VAQ1sdWFfaXNpbnRlZ2Vy1gEMbHVhX2lzbnVtYmVy1wEMbHVhX2lzc3RyaW5n2AEMbHVhX3Jhd2VxdWFs2QELbHVhX2NvbXBhcmXaARJsdWFfc3RyaW5ndG9udW1iZXLbAQ1sdWFfdG9udW1iZXJ43AEObHVhX3RvaW50ZWdlcnjdAQ1sdWFfdG9ib29sZWFu3gENbHVhX3RvbHN0cmluZ98BCmx1YV9yYXdsZW7gAQ5sdWFfdG91c2VyZGF0YeEBDGx1YV90b3RocmVhZOIBDWx1YV90b3BvaW50ZXLjAQ9sdWFfcHVzaGxzdHJpbmfkAQ5sdWFfcHVzaHN0cmluZ+UBD2x1YV9wdXNoZnN0cmluZ+YBEGx1YV9wdXNoY2Nsb3N1cmXnAQ1sdWFfZ2V0Z2xvYmFs6AEMbHVhX2dldGZpZWxk6QEIbHVhX2dldGnqAQpsdWFfcmF3Z2V06wELbHVhX3Jhd2dldGnsAQtsdWFfcmF3Z2V0cO0BD2x1YV9jcmVhdGV0YWJsZe4BEGx1YV9nZXRtZXRhdGFibGXvAQlhdXhzZXRzdHLwAQxsdWFfc2V0ZmllbGTxAQhsdWFfc2V0afIBCmx1YV9yYXdzZXTzAQtsdWFfcmF3c2V0afQBC2x1YV9yYXdzZXRw9QEQbHVhX3NldG1ldGF0YWJsZfYBCWx1YV9jYWxsa/cBCmx1YV9wY2FsbGv4AQZmX2NhbGz5AQhsdWFfbG9hZPoBBmx1YV9nY/sBCWx1YV9lcnJvcvwBCGx1YV9uZXh0/QEKbHVhX2NvbmNhdP4BD2x1YV9uZXd1c2VyZGF0Yf8BDmx1YV9nZXR1cHZhbHVlgAIObHVhX3NldHVwdmFsdWWBAgpsdWFMX2Vycm9yggIScHVzaGdsb2JhbGZ1bmNuYW1lgwIPbHVhTF9jaGVja3N0YWNrhAINbHVhTF9hcmdlcnJvcoUCCWZpbmRmaWVsZIYCCmx1YUxfd2hlcmWHAg9sdWFMX2ZpbGVyZXN1bHSIAg9sdWFMX2V4ZWNyZXN1bHSJAhFsdWFMX25ld21ldGF0YWJsZYoCEWx1YUxfc2V0bWV0YXRhYmxliwIPbHVhTF9jaGVja3VkYXRhjAIJdHlwZWVycm9yjQIQbHVhTF9jaGVja29wdGlvbo4CD2x1YUxfb3B0bHN0cmluZ48CEWx1YUxfY2hlY2tsc3RyaW5nkAIObHVhTF9jaGVja3R5cGWRAg1sdWFMX2NoZWNrYW55kgIQbHVhTF9jaGVja251bWJlcpMCEWx1YUxfY2hlY2tpbnRlZ2VylAIPbHVhTF9vcHRpbnRlZ2VylQIRbHVhTF9wcmVwYnVmZnNpemWWAglyZXNpemVib3iXAgVib3hnY5gCD2x1YUxfYWRkbHN0cmluZ5kCD2x1YUxfcHVzaHJlc3VsdJoCE2x1YUxfcHVzaHJlc3VsdHNpemWbAg1sdWFMX2FkZHZhbHVlnAIRbHVhTF9idWZmaW5pdHNpemWdAg5sdWFMX2xvYWRmaWxleJ4CC3NraXBjb21tZW50nwIEZ2V0RqACEGx1YUxfbG9hZGJ1ZmZlcnihAgRnZXRTogIRbHVhTF9nZXRtZXRhZmllbGSjAg1sdWFMX2NhbGxtZXRhpAIIbHVhTF9sZW6lAg5sdWFMX3RvbHN0cmluZ6YCDWx1YUxfc2V0ZnVuY3OnAhBsdWFMX2dldHN1YnRhYmxlqAINbHVhTF9yZXF1aXJlZqkCCWx1YUxfZ3N1YqoCDWx1YUxfbmV3c3RhdGWrAgdsX2FsbG9jrAIFcGFuaWOtAhJsdWFMX2NoZWNrdmVyc2lvbl+uAgxsdWFvcGVuX2Jhc2WvAgtsdWFCX2Fzc2VydLACCmx1YUJfZXJyb3KxAhNsdWFCX2NvbGxlY3RnYXJiYWdlsgILbHVhQl9kb2ZpbGWzAgpkb2ZpbGVjb250tAIRbHVhQl9nZXRtZXRhdGFibGW1AgtsdWFCX2lwYWlyc7YCCWlwYWlyc2F1eLcCCXBhaXJzbWV0YbgCDWx1YUJfbG9hZGZpbGW5AglsdWFCX2xvYWS6Ag5nZW5lcmljX3JlYWRlcrsCCWx1YUJfbmV4dLwCCmx1YUJfcGFpcnO9AgpsdWFCX3BjYWxsvgILZmluaXNocGNhbGy/AgpsdWFCX3ByaW50wAINbHVhQl9yYXdlcXVhbMECC2x1YUJfcmF3bGVuwgILbHVhQl9yYXdnZXTDAgtsdWFCX3Jhd3NldMQCC2x1YUJfc2VsZWN0xQIRbHVhQl9zZXRtZXRhdGFibGXGAg1sdWFCX3RvbnVtYmVyxwINbHVhQl90b3N0cmluZ8gCCWx1YUJfdHlwZckCC2x1YUJfeHBjYWxsygIPbHVhb3Blbl9wYWNrYWdlywIEZ2N0bcwCEHNlYXJjaGVyX3ByZWxvYWTNAgxzZWFyY2hlcl9MdWHOAgpzZWFyY2hlcl9DzwIOc2VhcmNoZXJfQ3Jvb3TQAgdzZXRwYXRo0QIKbGxfbG9hZGxpYtICC2xvb2tmb3JmdW5j0wINbGxfc2VhcmNocGF0aNQCCnNlYXJjaHBhdGjVAghsb2FkZnVuY9YCCmxsX3JlcXVpcmXXAhFsdWFvcGVuX2Nvcm91dGluZdgCDWx1YUJfY29jcmVhdGXZAg1sdWFCX2NvcmVzdW1l2gIJYXV4cmVzdW1l2wIObHVhQl9jb3J1bm5pbmfcAg1sdWFCX2Nvc3RhdHVz3QILbHVhQl9jb3dyYXDeAgxsdWFCX2F1eHdyYXDfAgpsdWFCX3lpZWxk4AIObHVhQl95aWVsZGFibGXhAg1sdWFvcGVuX3RhYmxl4gIHdGNvbmNhdOMCCGNoZWNrdGFi5AIHdGluc2VydOUCBHBhY2vmAgZ1bnBhY2vnAgd0cmVtb3Zl6AIFdG1vdmXpAgRzb3J06gIHYXV4c29ydOsCCXNvcnRfY29tcOwCCmx1YW9wZW5faW/tAgppb19ub2Nsb3Nl7gIIaW9fY2xvc2XvAghpb19mbHVzaPACCGlvX2lucHV08QIIZ19pb2ZpbGXyAghpb19saW5lc/MCCW9wZW5jaGVja/QCCWF1eF9saW5lc/UCB2lvX29wZW72Aglpb19mY2xvc2X3Aglpb19vdXRwdXT4Aghpb19wb3BlbvkCCWlvX3BjbG9zZfoCB2lvX3JlYWT7AgZnX3JlYWT8Agppb190bXBmaWxl/QIHaW9fdHlwZf4CCGlvX3dyaXRl/wIHZ193cml0ZYADC2lvX3JlYWRsaW5lgQMJcmVhZF9saW5lggMHZl9mbHVzaIMDB2ZfbGluZXOEAwZmX3JlYWSFAwZmX3NlZWuGAwlmX3NldHZidWaHAwdmX3dyaXRliAMEZl9nY4kDCmZfdG9zdHJpbmeKAwpsdWFvcGVuX29ziwMIb3NfY2xvY2uMAwdvc19kYXRljQMMc2V0YWxsZmllbGRzjgMLb3NfZGlmZnRpbWWPAwpvc19leGVjdXRlkAMHb3NfZXhpdJEDCW9zX2dldGVudpIDCW9zX3JlbW92ZZMDCW9zX3JlbmFtZZQDDG9zX3NldGxvY2FsZZUDB29zX3RpbWWWAwhnZXRmaWVsZJcDCm9zX3RtcG5hbWWYAw5sdWFvcGVuX3N0cmluZ5kDCHN0cl9ieXRlmgMIc3RyX2NoYXKbAwhzdHJfZHVtcJwDBndyaXRlcp0DCHN0cl9maW5kngMMc3RyX2ZpbmRfYXV4nwMKc3RyX2Zvcm1hdKADBmdtYXRjaKEDCmdtYXRjaF9hdXiiAwhzdHJfZ3N1YqMDBW1hdGNopAMPcHVzaF9vbmVjYXB0dXJlpQMHc3RyX2xlbqYDCXN0cl9sb3dlcqcDCXN0cl9tYXRjaKgDB3N0cl9yZXCpAwtzdHJfcmV2ZXJzZaoDB3N0cl9zdWKrAwlzdHJfdXBwZXKsAwhzdHJfcGFja60DCmdldGRldGFpbHOuAwxzdHJfcGFja3NpemWvAwpzdHJfdW5wYWNrsAMLbWF0Y2hfY2xhc3OxAwtzaW5nbGVtYXRjaLIDCWdldG9wdGlvbrMDDGx1YW9wZW5fbWF0aLQDCG1hdGhfYWJztQMJbWF0aF9hY29ztgMJbWF0aF9hc2lutwMJbWF0aF9hdGFuuAMJbWF0aF9jZWlsuQMIbWF0aF9jb3O6AwhtYXRoX2RlZ7sDCG1hdGhfZXhwvAMKbWF0aF90b2ludL0DCm1hdGhfZmxvb3K+AwltYXRoX2Ztb2S/AwhtYXRoX3VsdMADCG1hdGhfbG9nwQMIbWF0aF9tYXjCAwhtYXRoX21pbsMDCW1hdGhfbW9kZsQDCG1hdGhfcmFkxQMLbWF0aF9yYW5kb23GAw9tYXRoX3JhbmRvbXNlZWTHAwhtYXRoX3NpbsgDCW1hdGhfc3FydMkDCG1hdGhfdGFuygMJbWF0aF90eXBlywMJbWF0aF9jb3NozAMJbWF0aF9zaW5ozQMJbWF0aF90YW5ozgMIbWF0aF9wb3fPAwptYXRoX2ZyZXhw0AMKbWF0aF9sZGV4cNEDCm1hdGhfbG9nMTDSAwxsdWFvcGVuX3V0ZjjTAwpieXRlb2Zmc2V01AMJY29kZXBvaW501QMHdXRmY2hhctYDBnV0ZmxlbtcDCml0ZXJfY29kZXPYAwhpdGVyX2F1eNkDDWx1YW9wZW5fZGVidWfaAwhkYl9kZWJ1Z9sDD2RiX2dldHVzZXJ2YWx1ZdwDCmRiX2dldGhvb2vdAwVob29rZt4DCmRiX2dldGluZm/fAwtkYl9nZXRsb2NhbOADDmRiX2dldHJlZ2lzdHJ54QMPZGJfZ2V0bWV0YXRhYmxl4gMNZGJfZ2V0dXB2YWx1ZeMDDmRiX3VwdmFsdWVqb2lu5AMMZGJfdXB2YWx1ZWlk5QMPZGJfc2V0dXNlcnZhbHVl5gMKZGJfc2V0aG9va+cDC2RiX3NldGxvY2Fs6AMPZGJfc2V0bWV0YXRhYmxl6QMNZGJfc2V0dXB2YWx1ZeoDDGRiX3RyYWNlYmFja+sDDWx1YW9wZW5fYml0MzLsAwliX2Fyc2hpZnTtAwViX2FuZO4DBWJfbm907wMEYl9vcvADBWJfeG9y8QMGYl90ZXN08gMJYl9leHRyYWN08wMGYl9scm909AMIYl9sc2hpZnT1AwliX3JlcGxhY2X2AwZiX3Jyb3T3AwhiX3JzaGlmdPgDBmhhbmRsZfkDCGJvb3RfbHVh+gMKbXNnaGFuZGxlcvsDB2xhY3Rpb278AwVsc3RvcP0DBG1haW7+AwVmb3Blbv8DBWZyZWFkgAQGZmNsb3NlgQQGbWFsbG9jggQIX19mZG9wZW6DBA1fX3N0ZGlvX2Nsb3NlhAQMX19zdGRpb19yZWFkhQQMX19zdGRpb19zZWVrhgQNX19zdGRpb193cml0ZYcEAVKIBARhdGFuiQQFX19jb3OKBApfX3JlbV9waW8yiwQFX19zaW6MBAdfX2V4cG8yjQQIX19tZW1jcHmOBAhfX21lbXNldI8EB19fY2xvY2uQBAZfX3RpbWWRBANleHCSBAVleHBtMZMEBmZmbHVzaJQECF9fdG9yZWFklQQHX191Zmxvd5YEBWZnZXRzlwQGZmlsZW5vmAQEZm1vZJkECGZpcHJpbnRmmgQJX190b3dyaXRlmwQKX19vdmVyZmxvd5wEB2RvX3B1dGOdBAVmcmV4cJ4EEV9fZnNlZWtvX3VubG9ja2VknwQRX19mdGVsbG9fdW5sb2NrZWSgBAlfX2Z3cml0ZXihBAZmd3JpdGWiBAdkb19nZXRjowQGZ2V0ZW52pAQUX19wdGhyZWFkX211dGV4X2xvY2ulBANsb2emBAVsb2cxMKcEBm1lbWNocqgEBm1lbWNtcKkEA3Bvd6oECGNoZWNraW50qwQHaXByaW50ZqwEBHB1dHOtBAZzY2FsYm6uBAVzd2FwY68EDF9fZ2V0X2xvY2FsZbAEBnNpZ25hbLEECHNucHJpbnRmsgQYX19lbXNjcmlwdGVuX3N0ZG91dF9zZWVrswQGc3RyY2hytAQLX19zdHJjaHJudWy1BAZzdHJjbXC2BAZzdHJjcHm3BAhzdHJlcnJvcrgEBnN0cmxlbrkEB3N0cm5jbXC6BAdzdHJwYnJruwQGc3Ryc3BuvAQGc3Ryc3RyvQQIX19zaGdldGO+BAljb3B5c2lnbmy/BAdzY2FsYm5swAQFZm1vZGzBBAdzY2FuZXhwwgQGc3RydG9kwwQFX190YW7EBApfX3JhbmRuYW1lxQQFdHpzZXTGBAZ1bmdldGPHBBNfX3ZmcHJpbnRmX2ludGVybmFsyAQLcHJpbnRmX2NvcmXJBANvdXTKBAZnZXRpbnTLBAdwb3BfYXJnzAQFZm10X3XNBANwYWTOBAZmbXRfZnDPBBNwb3BfYXJnX2xvbmdfZG91Ymxl0AQIc25fd3JpdGXRBAZ3Y3RvbWLSBARzYnJr0wQZZW1zY3JpcHRlbl9idWlsdGluX21hbGxvY9QEF2Vtc2NyaXB0ZW5fYnVpbHRpbl9mcmVl1QQRaW50ZXJuYWxfbWVtYWxpZ27WBA1kaXNwb3NlX2NodW5r1wQIX19hZGR0ZjPYBAlfX2FzaGx0aTPZBAdfX2xldGYy2gQHX19nZXRmMtsECF9fZGl2dGYz3AQIc2V0VGhyZXfdBBJlbXNjcmlwdGVuX2xvbmdqbXDeBA1fX2V4dGVuZGRmdGYy3wQLX19mbG9hdHNpdGbgBA1fX2Zsb2F0dW5zaXRm4QQJX19sc2hydGkz4gQIX19tdWx0ZjPjBAhfX211bHRpM+QECF9fc3VidGYz5QQMX190cnVuY3RmZGYy5gQZX2Vtc2NyaXB0ZW5fc3RhY2tfcmVzdG9yZecEF19lbXNjcmlwdGVuX3N0YWNrX2FsbG9j6AQcZW1zY3JpcHRlbl9zdGFja19nZXRfY3VycmVudOkEFWVtc2NyaXB0ZW5fc3RhY2tfaW5pdOoEGWVtc2NyaXB0ZW5fc3RhY2tfZ2V0X2ZyZWXrBBllbXNjcmlwdGVuX3N0YWNrX2dldF9iYXNl7AQYZW1zY3JpcHRlbl9zdGFja19nZXRfZW5k7QQLZHluQ2FsbF9qamruBAtkeW5DYWxsX3Zqau8ECmR5bkNhbGxfaWrwBAxkeW5DYWxsX2pqamrxBA1keW5DYWxsX2pqampq8gQMZHluQ2FsbF9pamlq8wQNZHluQ2FsbF9pampqavQECmR5bkNhbGxfdmn1BAxkeW5DYWxsX2pqamn2BA9keW5DYWxsX2lqZGlpaWkHNwQAD19fc3RhY2tfcG9pbnRlcgEIdGVtcFJldDACC19fc3RhY2tfZW5kAwxfX3N0YWNrX2Jhc2UJshbiAQAHLnJvZGF0YQEJLnJvZGF0YS4xAgkucm9kYXRhLjIDCS5yb2RhdGEuMwQJLnJvZGF0YS40BQkucm9kYXRhLjUGCS5yb2RhdGEuNgcJLnJvZGF0YS43CAkucm9kYXRhLjgJCS5yb2RhdGEuOQoKLnJvZGF0YS4xMAsKLnJvZGF0YS4xMQwKLnJvZGF0YS4xMg0KLnJvZGF0YS4xMw4KLnJvZGF0YS4xNA8KLnJvZGF0YS4xNRAKLnJvZGF0YS4xNhEKLnJvZGF0YS4xNxIKLnJvZGF0YS4xOBMKLnJvZGF0YS4xORQKLnJvZGF0YS4yMBUKLnJvZGF0YS4yMRYKLnJvZGF0YS4yMhcKLnJvZGF0YS4yMxgKLnJvZGF0YS4yNBkKLnJvZGF0YS4yNRoKLnJvZGF0YS4yNhsKLnJvZGF0YS4yNxwKLnJvZGF0YS4yOB0KLnJvZGF0YS4yOR4KLnJvZGF0YS4zMB8KLnJvZGF0YS4zMSAKLnJvZGF0YS4zMiEKLnJvZGF0YS4zMyIKLnJvZGF0YS4zNCMKLnJvZGF0YS4zNSQKLnJvZGF0YS4zNiUKLnJvZGF0YS4zNyYKLnJvZGF0YS4zOCcKLnJvZGF0YS4zOSgKLnJvZGF0YS40MCkKLnJvZGF0YS40MSoKLnJvZGF0YS40MisKLnJvZGF0YS40MywKLnJvZGF0YS40NC0KLnJvZGF0YS40NS4KLnJvZGF0YS40Ni8KLnJvZGF0YS40NzAKLnJvZGF0YS40ODEKLnJvZGF0YS40OTIKLnJvZGF0YS41MDMKLnJvZGF0YS41MTQKLnJvZGF0YS41MjUKLnJvZGF0YS41MzYKLnJvZGF0YS41NDcKLnJvZGF0YS41NTgKLnJvZGF0YS41NjkKLnJvZGF0YS41NzoKLnJvZGF0YS41ODsKLnJvZGF0YS41OTwKLnJvZGF0YS42MD0KLnJvZGF0YS42MT4KLnJvZGF0YS42Mj8KLnJvZGF0YS42M0AKLnJvZGF0YS42NEEKLnJvZGF0YS42NUIKLnJvZGF0YS42NkMKLnJvZGF0YS42N0QKLnJvZGF0YS42OEUKLnJvZGF0YS42OUYKLnJvZGF0YS43MEcKLnJvZGF0YS43MUgKLnJvZGF0YS43MkkKLnJvZGF0YS43M0oKLnJvZGF0YS43NEsKLnJvZGF0YS43NUwKLnJvZGF0YS43Nk0KLnJvZGF0YS43N04KLnJvZGF0YS43OE8KLnJvZGF0YS43OVAKLnJvZGF0YS44MFEKLnJvZGF0YS44MVIKLnJvZGF0YS44MlMKLnJvZGF0YS44M1QKLnJvZGF0YS44NFUKLnJvZGF0YS44NVYKLnJvZGF0YS44NlcKLnJvZGF0YS44N1gKLnJvZGF0YS44OFkKLnJvZGF0YS44OVoKLnJvZGF0YS45MFsKLnJvZGF0YS45MVwKLnJvZGF0YS45Ml0KLnJvZGF0YS45M14KLnJvZGF0YS45NF8KLnJvZGF0YS45NWAKLnJvZGF0YS45NmEKLnJvZGF0YS45N2IKLnJvZGF0YS45OGMKLnJvZGF0YS45OWQLLnJvZGF0YS4xMDBlCy5yb2RhdGEuMTAxZgsucm9kYXRhLjEwMmcLLnJvZGF0YS4xMDNoCy5yb2RhdGEuMTA0aQsucm9kYXRhLjEwNWoLLnJvZGF0YS4xMDZrCy5yb2RhdGEuMTA3bAsucm9kYXRhLjEwOG0LLnJvZGF0YS4xMDluCy5yb2RhdGEuMTEwbwsucm9kYXRhLjExMXALLnJvZGF0YS4xMTJxCy5yb2RhdGEuMTEzcgsucm9kYXRhLjExNHMLLnJvZGF0YS4xMTV0Cy5yb2RhdGEuMTE2dQsucm9kYXRhLjExN3YLLnJvZGF0YS4xMTh3Cy5yb2RhdGEuMTE5eAsucm9kYXRhLjEyMHkLLnJvZGF0YS4xMjF6Cy5yb2RhdGEuMTIyewsucm9kYXRhLjEyM3wLLnJvZGF0YS4xMjR9Cy5yb2RhdGEuMTI1fgsucm9kYXRhLjEyNn8LLnJvZGF0YS4xMjeAAQsucm9kYXRhLjEyOIEBCy5yb2RhdGEuMTI5ggELLnJvZGF0YS4xMzCDAQsucm9kYXRhLjEzMYQBCy5yb2RhdGEuMTMyhQELLnJvZGF0YS4xMzOGAQsucm9kYXRhLjEzNIcBCy5yb2RhdGEuMTM1iAELLnJvZGF0YS4xMzaJAQsucm9kYXRhLjEzN4oBCy5yb2RhdGEuMTM4iwELLnJvZGF0YS4xMzmMAQsucm9kYXRhLjE0MI0BCy5yb2RhdGEuMTQxjgELLnJvZGF0YS4xNDKPAQsucm9kYXRhLjE0M5ABCy5yb2RhdGEuMTQ0kQELLnJvZGF0YS4xNDWSAQsucm9kYXRhLjE0NpMBCy5yb2RhdGEuMTQ3lAELLnJvZGF0YS4xNDiVAQsucm9kYXRhLjE0OZYBCy5yb2RhdGEuMTUwlwELLnJvZGF0YS4xNTGYAQsucm9kYXRhLjE1MpkBCy5yb2RhdGEuMTUzmgELLnJvZGF0YS4xNTSbAQsucm9kYXRhLjE1NZwBCy5yb2RhdGEuMTU2nQELLnJvZGF0YS4xNTeeAQsucm9kYXRhLjE1OJ8BCy5yb2RhdGEuMTU5oAELLnJvZGF0YS4xNjChAQsucm9kYXRhLjE2MaIBCy5yb2RhdGEuMTYyowELLnJvZGF0YS4xNjOkAQsucm9kYXRhLjE2NKUBCy5yb2RhdGEuMTY1pgELLnJvZGF0YS4xNjanAQsucm9kYXRhLjE2N6gBCy5yb2RhdGEuMTY4qQELLnJvZGF0YS4xNjmqAQsucm9kYXRhLjE3MKsBCy5yb2RhdGEuMTcxrAELLnJvZGF0YS4xNzKtAQsucm9kYXRhLjE3M64BCy5yb2RhdGEuMTc0rwELLnJvZGF0YS4xNzWwAQsucm9kYXRhLjE3NrEBCy5yb2RhdGEuMTc3sgELLnJvZGF0YS4xNzizAQsucm9kYXRhLjE3ObQBCy5yb2RhdGEuMTgwtQELLnJvZGF0YS4xODG2AQsucm9kYXRhLjE4MrcBCy5yb2RhdGEuMTgzuAELLnJvZGF0YS4xODS5AQsucm9kYXRhLjE4NboBCy5yb2RhdGEuMTg2uwELLnJvZGF0YS4xODe8AQsucm9kYXRhLjE4OL0BCy5yb2RhdGEuMTg5vgELLnJvZGF0YS4xOTC/AQsucm9kYXRhLjE5McABCy5yb2RhdGEuMTkywQELLnJvZGF0YS4xOTPCAQsucm9kYXRhLjE5NMMBCy5yb2RhdGEuMTk1xAELLnJvZGF0YS4xOTbFAQsucm9kYXRhLjE5N8YBCy5yb2RhdGEuMTk4xwELLnJvZGF0YS4xOTnIAQsucm9kYXRhLjIwMMkBCy5yb2RhdGEuMjAxygELLnJvZGF0YS4yMDLLAQsucm9kYXRhLjIwM8wBCy5yb2RhdGEuMjA0zQELLnJvZGF0YS4yMDXOAQsucm9kYXRhLjIwNs8BCy5yb2RhdGEuMjA30AELLnJvZGF0YS4yMDjRAQsucm9kYXRhLjIwOdIBBS5kYXRh0wEHLmRhdGEuMdQBBy5kYXRhLjLVAQcuZGF0YS4z1gEHLmRhdGEuNNcBBy5kYXRhLjXYAQcuZGF0YS422QEHLmRhdGEuN9oBBy5kYXRhLjjbAQcuZGF0YS453AEILmRhdGEuMTDdAQguZGF0YS4xMd4BCC5kYXRhLjEy3wEILmRhdGEuMTPgAQguZGF0YS4xNOEBCC5kYXRhLjE1"