@4thtech-io/agentlink 0.4.1 → 0.4.2

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 (2) hide show
  1. package/dist/agentlink.js +23 -3
  2. package/package.json +1 -1
package/dist/agentlink.js CHANGED
@@ -54245,9 +54245,29 @@ function embeddedLocalUiAssets() {
54245
54245
  return localUiAssets([
54246
54246
  ["assets/Geist-Variable-p2GUc8qZ.woff2", "d09GMgABAAAAAN3gABEAAAAB5nAAAN15AAEzMwAAAAAAAAAAAAAAAAAAAAAAAAAAGotoG_0YHJocBmA_U1RBVIE4Jy4AkAYvfgqCpFiB7Ekwg4lSATYCJAOYOguMIAAEIAWLCAe0WlsWw5EEKjKWvbZwGHpQdQ4x2VRbQIcgv88HxDE2PIilp5iFgpGfkdSwcWXPoDsO6JH60tn______1uSSYztNvS2Pfw_D0iqmqlJlUrQpAdSsFcGY1ZopZocaZpZl6YUtQdHZZojRNCcwTloCM4hZodJN5HgyxCBAwrMV6SPxcCjq2RIuqukurJLUnjKEytR2sQAiWzCiGqmmZkWNILgObmD4MXhLkJM4f5BXAOZjS0LM5Om3lp10VBkL7zPyJSUZ4pEhZz7OqN9LrmuMBc5D8iyod4xLFi-2lDa4xkI8YKLWeFFWcU6Kt84l-PKPvB-3U7XXtzTppmZZmba2r2mbC9ep2lG4CSeddmSjJ_yowx6UK069d_bwQuFvV0-RR-O-6eIp0qqpGrszE15mPjWqF-5L1ZQQFxGNJf2NvV9F0fCSw9SpgOCgkPuUOuaxSkCcxMPIkTA9zAqb1Hxl_6pDJvKd2dSpe3gpbfHdhxF2r-raqwHpF8R90AkEaGSKqmSXXtxVk2N8Trml3SRlUFQVOR8zMog_nbQi5v4TqXs4LCDi07164DN2MmmFe6CIKmYoCSKiSK8e1tiXCZsy2cWFbHo7Fx0drAdXNTtS32Se-e6dbA9eYB4bAcFKXroJcc9EipfCD7_-r6q53HwevdOz8UKkU8uIUikiPgCImVkpCD5_jGXfT2ZyuWihBt4AAjt6vTw7m0Pxz3tbQCwk4bs74QL0GWUbcmWZGuA5tYxkSpHqkQbjDToMXLEQDbmqAFj9CYDBq1SOUa3IFIG8UJvpAMxalTYL1EGw7-bfX9CoOqj66Y_HxNyu7vP9XNVZubaSB0LkoQQtZM4EKDQ4j_Pr-1_7XPuBOMQEv0BFZ5YDIMYhNU8HKPHxvyKHWAGRgYo1RZl4zNyGGQGZkSYQWQoUIf-WQ4OhjRSh2mlU_9c64W2Oc5-EqbC3DygSNxOjQRAZcsTfH9VfyJuZnX12PwjY_1X1ArSEnS_bWaGPWNwjJ-K8hxy-TFPv8OCDuQDaV_AheoDwA91r6eO7_xToCCBoEjLnq1zALFAKNttAQRszal1IYUB_8hl3_QLnE_JyN2c2w80Z_9_ZjyTZCQjmclMxIkSQhK0gRpdaraiV8wbsn3fVLiib53tUlmqsFAClGAFBoqECM____H_m2vtc-_7oSTc8MCy8G8ZZoE2PJBAf989PE3nP2hDkULrlNIkbdq0jYjeJbm73F2Sy-UiVk2dGmIFihSZsjmif5XJ39iGTZzCxD8zYIMxoDDvxP7A_-fmm7zwXm0Sr2mQR5AG3PFN0fxrgkBr24vdmyIWKilTCS1RO_u_d1r9hSKVwIABaqJZhOwj5POvkuKBJaJMv-kBbqA0UprQQTu2VAD_Jmwr5EamBDJ5FYnLiL8YLvdiFo21Ut_Ym1lHNatVEhFK8cb_6Ur_H43u3vtf8oXuwl06gg6AZjRazZ7Ga92unJMZVq0mgNQBVeEWF2wrbEiVlz6B-NT11ZIsS7ZHHkB_YIy3Nk3eG1gIAzjg9KLskuSIh9_v18EsQuUmShZPldLmCZ_YqCQRXRGLe7WmaSU7YtnxFQbHs6vSqYws812IH-4BA7i3W4An3q6q31iAtQAjOMo2Sd86jkHfuacHsq_pj8sm_e2VlqU0I7Fg8QgjUCg-RmAc44Exne17syKgCjexp2IPAehF3VfhWeOTVkk-oI-h5aq9S4AAgbAoAAFw6NyeQAE1IdRbIABg4OC8kEcecGj19nHmj5caLK1o3bI9dyaWJ9veGOx1iBTxYbDYWv3Tn_9S1a7zRyMRlLX7SMlxkA5uhbYi7Q5plHrb0sqtzp9B-zMAOTMkZfyhCgaSHAxVPB-ULAwpOSTI-EEk7aVo7XtqL0ulyoqr7DSl_QEpB6DkaEClAFb2PSmta0-bPTlMV9K92dqupR3Oe9zLcS_Hza3saYdUTVecKESkO906n4-0OiwvJX0qpY4ecQWQD4cTA5a3Iag1kPp8QFLJ80knIEjZIES3Xkh-0yullvEnbyl1-ynDljHLnjFjRsdTRo9Zyxief3_Y0u8fRUZBtwRFxhisbOVSalFtu1ytNiMkxu3imnk7Ajfnrk0yJOMnVNLmqDfC___TmbWr-S_5awUUZCXcNAtdckQ0M1npjb7sWdatFSJDyAqBvGH7CLxXMXRMFXB1L9W9a-_1CEVz905fafIvU06nQMeCebyAxOzgMWj5n51-y5e9aDdNNtNn6la3ygIDaOfkqH7vMsXrne_UKx2ldEIlBaCEIe9Koyv2rN-7Pbmn9bbMJigAt0JR_P9fa3XkLvRJtDhyGyVS0o6u_MUqjSQa4pz5s_4aYk294SETCpHSCRkQXGLaMP0NJLl27U0jxnKexZ48bW35f0Oe3yl_g_fYzMz-_kxyJUmSpD-ZSea5IS1xXzFhXsUg2-rBjIk1kLE1kdpsyHnff_vpf3PQ24w3r66kYUOCKCgqIrY4-7W_C0_bG1W_qpm9rtDIEIogQUREgkghRfb4-NlD1iwH317rlh7b2udjKSJihIiIMYQQQggRvYfCbSx0YxuCzeOPkRpZfemb4S8F5gs0kciYZHwTkknrP8mU5pEFlpBl1pFN9pB9DpLDjpOTzpLzniPPe0HgRe-Q93xIPvY5-YLfdvFlBNCzLHyACiiFyqiAKqmGauieesAX9CFJ_QWkRD5KAwWlZOFplOj0nriUQmuaIy8tUJiWkqQVqtN6WtNGzWmrR2k7rWmnx-kzfekASIeTdNRR-pIkfY1LF0C6_GW6yUt3YO2AEFOOCfWsAtaw6vMxLOoMhEYQuwOLRh2BuxYi-lc3Duv2Zmm_PdRDLYVOI3QesXupzYQ-QPxFaZmoP3qCIwwgB3hiWDX9Cuz33SXCUKt7CCB5RUND2CddrrQBQNcHoQ6LMG82eGX2CvgGpEIMzRGIBCxwI0BwmvsGmcJMtwpEDOfvSSL5k78NPCaTJsucEqbAKVbSRUghx0zCRFUcA24xMwSljQEIRGwpAIWNkkwuPhrZR1ksnm4E1MIeiN6IZY0dBIxCL5WI-_HZUJLPS5M7sHGTAW_wpRGnwAgYB84W8xjABWzzAkF_TSbHvFJGQPTw3yAQI_g0kumEQQ-uV-dw0INxD6XGrHDS_vNDHpPaGGE18H6ONqNO5Oe-AeAMcdrd25ueEU8hca3qO0XwgyPCiDIRnKiX97h7jKEumKrAMcG-7QhwvL07PZGc3sKKOrTpI_iIZcF2bhpZGInd0dGelw8odc8v3_-CPa09Q0-QEqcZocg3RI04jrgoZGrX0LmMHFPfa5WjgHg693NtU2QaSPcwJrYldyVmnHq-1gZ5D70wFAO0_-qVscrbP-F7KfhCGvj351vnsgnnT50nfRUM6652z8fZgf5T4Ay3sMBlTIZLThJfW4NOznj6hBnkgVCb7WA-BKLqjl32PcKUdeToEbXvAuuUG66pLeWbOKv-PuEVDniInU9lHxB3qWNBvPuoT9Y3cST9PFTItaP4B4cnHMVU5M5oInp78P4JIvujFk3nrPHKmbN7rj71_MTRA4dHMl2fTxWPVmHfIfpFMLC14O3pNP86kp7JaLCJW1GKADLRkrEjjjrhDDbXX3L7jez1B4Ry15zDMVclcBtT9JKw-kAstXEgzT68FYHDrfY-YinKQTdTXge5BRZpoDkl7K0AK6hYdN0Vt97Ihz3L00_deh3_8FduYH0JauZhTPELERGTkLIi04icNZsE-t4RO435DofftVGZ0j4tPrUEXT4jPj9vemL8vgEhFeEi4Sv7a56hBvYBjLUmF_YEcO7TZ0l4O9ewCJRf4PsBLD3lzwjQeUkl0QgAS95W4_vLQrb4Bkh9sbunLVznVWgZtFp3i833T7-26N6at2hTe7eN-20LlOoapLDYdWSvXeagbeeTC7hzRi3eH1h_YpVf2cvBpRfxLVEXjESAdwlCvIdL8AGSKkdXITYkJiDEklDvFESYAIw1zjZFsQtXhpoxQauf1q0RhqGRELSONck9ynQicY4QHEUrd6xVcFKAzkCALkOAruAoKl40mCcauRYAaVaAkNWE1gBR1nOf7QyVaX9BlIPEoGiwkPMl00WEKgCPnlAVYDEEwd2OlaX5LYidtiy1hmVBc0QUM0K2xgVBxUsBSzq2hLagSIVK01gPgPAwAJIFlWwhvvsW1xq95X-xfOP8ZdqWjMsvxSME0av1wsSiHUYxi-5TfG8R_7T7P27cefD0P168-WiiKV_DjBJliqmmmW6F407Q5iyJSUJS2lJO9aVtdaRo-kIWs5q1fMW47bKpBglE059iBdMB4PshmqWV7dAlol12v-TPLh5OvxIjkUmSLEWqNOkyZMqSLUeuPPkeeeyJp54pVKRYiedeeOkVE7M6f9T7q6FZOgGwYMWJCzcevPgYgjICY8yEKTPmLMDZucUeklNz_zLA5mEgbPrfEY5Y5Nr0qjOud2646Zbb7rjrnvviJXQ_nBidlyhJshSp0qTLkClLthy58uR75LEnnnqmUJFiJZ574aVX3VpgnxQE5Emkunr6MoMMlTOCc2MTFy7btIMAXCXsIoyIE0lFg4kniQVfIBR111pEeQmpa2gaMGjIsBGjxuIBlZlVdfB2WTSMlo6egZGJmYV11YZdFjs4OEFgLm4eCDQ-HfwCKEGxxO1NmtT0CfceAPvXADhwdtX4I-m9tw22Zpl-xu7bs5AkWYpUadJlyJQlW45cefI98tgTTz1TqEixEs-98NIrJmZ1_qj3V0OzdAjAghUnLtx48OJjCMoIjDETpsyYswBn5xZ7SE7NvQe6ejitJl5iJ0myFKnSpMuQKUu2HLny5HvksSeeeqZQkWIlnnvhpVdMzOr8Ue-vhmbpBMCCFScu3Hjw4vuoNc1AB3NQRmCMmcQUzJizAGfnFntITs29C1UAnF4DmSsA5Sms8aQtr6Z_TzqQAlxeA1upSk-w_dnq8_DUFIAtpk6VPp3rDnbKQMevbc4S5K-aGVwAqjhGrlqAL2qVHW2tIGULA9OfMFoSFmMj1N8gW7KO29Z4PlGUUhbapPesVx9pC0z7mPrqpVzglSL-5SxcxfjP1Ddz0Z3VMt3L_5crJSI63vni1R97Yf0EkNi4VSNRSq6RVDqX6CYc7hhYOJ55fPxDWDAxGlg0f_ddqtWpMhIr9o_qo8Ntw0CbE5Y7m6gwfVV9j_ARRoNFmPwOQdsOggvOiCQ6j9Izew0f9QbOnR9eAKjWaJx2Cr9ew1rE5Yu6qP-IcPCMQjhGZ3U6W32o0ar9vqatnQFqDDj0kC3i6lyyWFq1vJWUDghMJMeanTmOSf3by3XjhExVHAofxWQ_u9cwkGxxVRoXHP-2oWXH6yFCB7qK6uG3QyoVEGvVcr2NOZx23u7dgufRAA3G6HkTCVD-PuKN9T_L_FsHyJpvgCvrFEk-1AOIUZg7zjEB-PL0IM9f1UVhjLPqGPvjgeU14FGKKLmqrpzyRLizbGnbHD50-ikSo4ZIKfPt20rnzlQ5ZfiO6A7mWjii8e11VxuoKl3IdcB7hkSzEcQ0Za6VrACMsxZDG_p9dooTb_PJs1HNnVMA5Wby9Hud2B7t7QsjkXnwgiW6asl1B7kQA33DsMN7juuKgWrecT_rqbEdurV4m84Vp4Vxk_zPXEc9AErDJhvNOMyPRQAg57AU5Pez1Z6RZXrPUgy4gCdtnJsXxUeAqzJ3CO5eEH9mPArf99QUzROSTGuyi2-Mw0AY3Uf5vyjGzrGhWhwvFiGZ8D1EBag6us0d5gNA9561rNrEbCAGoxgJttrpy6V1danKr3gqeGdSgF2HSDthzG0ZvpK529M9ijd0Uf5w6IFQi7tYsiPVSjG0wRGQgTiBDrjNAdi3TsQ1yWRwLwU0DrQZ39tCWhmkiJF8z1W2okthKoeJK8AP11Tj_0FaEdWGB3XxUyszPvyZIwgTOiMkQkuG7SlNrsxZoMIdVYiGq_ncItRrEqlZr7v-M-Xvvejs__cSRzCZXHH2K9-d2gRkMtso0cmkpVQcIiwDczYGR4wDDY8fJY0gabTdIGms7lCiNqdhLrLmUc4mR2w5ui8rlHDTFK_NmBK-IBWaUpE2AtlSolUjQULYChW-r9xJF9a66kmslwFs20VMiWEsyg1n0rpOocQoalbVnZBkOZkZFmhkoWXklrPlrK2wltw6sWxs7KJimwptbbaNVTUotCKqAymsIqFw1lfklNNsa0JY4uz0yI2cc57cBcUmaEDkFs9eglSO0tDXVqZnHBtUmMYXyCsuXnvLQanvbGmUsaX1k5sKOvYqVS10g1oOTMQnBxLWngegcJaFA-jgZOEDEgHB5ISVoiCtAiXFVKSi5FVKKqoxhEZqJqOpAW2GwitYsipqA4ETKFtJGTv2JcgkFVAcizoFJc5JBReulbBBQ7ihNndU8KgbHHVJOV9-qb-96hIQ-aCRxjWDG7UqZLdKFlo0zFMtI0QVa2buNQaK3o366medcFw3VlzNKpp7TShqmVg3NJ67xSYtTcfTKkNWi457zS4KUrnPcuRKVFAyFSJ2ixSnJaJWHc69lnmoabmKWmlR1OzWWtQ3tErnXhsbxVqde232ZpkWD0tatdfR4XHJk6DK06TkmZ4Kvdmr8p_-XQNQMrhX25CH0Iio0wjkEg1K6A9VxpUrUpBLaZ8seY3e9XYo-g61vUfJB1T4iNqYUdVE5GRRUmmJUmUldbFetq20DlU2UGETtW2h6DZKPqPC19fKGqRr7qjbj3VN94IKl1JvxwqpECkiplgPt4a-htjMc-pTohcmd3LSLCPgCqcvlOI1PL-63qYdqaqnJ_q5vPPBDwGB0WRxZsmtUUIHNV4lSGsCAlMWFtR-j4vPaTa5n7_XLvgoP79Ma3vx-E_9NFUtO_2nkdClZyAGhgwFSdZkT3X8qckEN7AmNxLVOg0JJdmTFe0fgylTW8X7Y8l3SSyu-p2S4uSseDwRe549FgkqTCMwmuHns6TpVObuDXYk9CkVkjiuip4xleNq6ZejQ3BCLW_KnVUM6lxCW_rP6ihgUOt4C7rKUCs-9TJJu3bfc7Di6RBr6QshyFjt3-9JTRxjnv5oWS7YmKBwzH1zuyzFkal0ZN7ZpeTWsPL4jNYyyVql00VKa2TJrQZKCktqMnAVme0FUkj3uUYX562bTQd-9AtbBnDZRliaL3wzCiWD5gNRnnOdH-zuIK4dYaK4Ag3HdHa4iyo8tepxCEhIySiUU2HR0TMwEjOxsLKRs3NwgqjBPFAYLw0cwccvgELL4iY0W7VKQQyzsApzlMoVoTUfYhZSDDBPXJmEGjMl8bmERC2WygnUNS5RAUCkaI0XybE13qM94lDb2vVW7YuMmV6HoktuWoW9VdySlsaI1dCP_dSv9PsRCRgHiAasBmx2yA1AqgIfAHpAA9BKwAA4QuWY_s13ExqPX8X3zN323nDT_LmocbVC1AHY-TBR4-aR7bKUYBPikehTVKOEn_Y9hR5cywMiDxMAgFdFO_I6ogt49_Ej3nrXAQLw0T1TRn4MzzB_Sx4FAEeBUDAmncC22aMBwlJEoywwaOTIQqo5sy2VsaPQJDpnPo-dq1li6Em6qHmsc5_zgTSzD1palv1KN8msW8fGAYgCkQQVebDXwhuoYa_dz_GQwfydlNc8DXuYlWHfqVq9Rk0eaG7x-cLadery2DPdevTqM2C45UdrZkbYt2N0sDgiJbvBfvMuyGvW6v8xzM-eQX1iHXYIb2F7o-Pz6ns46kd27L5Q_3OeO0slR_d8_SdO0sZtQtv3QDjGq-ppRutXsZ7cbQzKkT4s7pQczb8_jKUw-LM_Ha2sRTh8ALCbfxqtPUDYuyNeoLniNvloAMv3WxONLeHbhjQou6AJlabGWWz9yf3rS6dhMgAdW3cENS0GPUh0Mbj67pFdag-EOLECAe5OOQotHeEebadO1zm6w1VNpMI15Ic73ogTJEQ9ux_u70gN9mV4wNidn37_ba4WeJpsSfYu8Iy-IYNnQdaeBR4mqeMjpwYPxagxJ2q2SMpbxdNvFZpOd7oUzve9c-LsAX3iV0Tq7HrN0SgiL-o0kJ1Y6eoEev1zf2qNnr0J2uBl__0k4sYqjNiexXkhNmYYfwbyAk14E-FwyMorIkmFWm20OwISWoqm5DWExWy9g6BofYLtmJfNvNzzrvDH3MvkmlzT5zI0H6-nGRguESn2uy6zE-0fsB5H7SeA24XeF8j9ECYjBEQkse40WhX7H19i4D8W9RQtyKvvBzhWY3ptqta7Zlfz-8VNYFioHzra1RNXK4XMwU5P1nrWOC1re9vlLCE96pYe97MGffjekA4dSzp3UbpU2ecOdubGKKWeuxdDu1_vbuiLwub4nvvFtdexJa7rQemTjs2XEwbvJz_IKLbZOdHtyCBXMH-qqo8OJTLkG-sd0G2chyQPTBqZoeidAl2deP-BmoSU2FBTWlRauvZi951yV2BhnmRgffqJzOdbVufT-9OKZTsN6Te-nYvMV5vBLA4bM9zhBx861MgyhavCrQdn5WtlR8nzzQxvZu90RDR-zRa2ui1xI_zjhr3Merh6DRc-ddxzbHfMr_92uhKX8fS4yCBB97t-4IE-KoOHeBoSV58_IRMrBjMdRWK7glYcKQX6AyBu1hgoOeMXup8qfIMJZCt6AdJ4NgRQxALnSZChR1gCmdlFgFwEWXbV4zLI0eNM4iA_VygwzQoXAHl6AAn7-3OZhL0SMC_SBOBlc01SE7k9ErCXQo52X0C6Xq8PsmCR7Q_IxgiMgIgVAoAnnh-qevk9jKY9wtmdOl62w1aYrrv4Abbp-UeWFLWp9BnWlgPhDDYtKt1uDAds1HnW6DxlegQdJsQwmI8u6MIe9_bW8tZ_aptLj1nJds_rrgrgM99cBs82alWhEbWUC1gI_GbFjZwqxPH2ANown8Bl1qrFcc_ZwYBzb7SwQmSLuYCiY6plFFRb3pKewT8vFGyq5eYDiqd0AVAmEBMMes70TRvhBcXb04SzuRxertUMkKr4y2Rn0QALgXQ296bTHRHBXLA3hZYDbQCUbXteDOCtkCdoX5DVUy2PZ1mySsApJp9q6SXA6ZZUKJ9UlnTdFbs7IRscw_JcLKCEa83sT95Ubli4aibg1byNwMI5v7H0nDByJ1DO3QfQKue3pRq4YoR2BordTMbNvmdY0hlwKGHjLD9cHFsCok7sGLq8tCUEvdBldHy6hQbAmV0zZZUe8G1XW9d_AJwttoccrwxfK0b8BESTp7Dpic0F_AdHmkrBBbwna832WsBJcGwiYS7gA8lJ9nDAay2TwUfwsdsDPhX8DyQLQP5K6Z5uDwdkuhOYCy03WwgUgBE9Go8B0mTIR9dCafoHwbo0Xo89B_4T69j7qiwfoFXf-cOnW4qnSVzI5lWAK6n2JuGEbMEOUBB0cTxPAOAL7Mdi9nVkriR0n4U3GnNestX8k50Yp_sDuOUChXB6_o56226_ls_c1PaBm4Kftqn9o3a0o4suCbkzUNhtYaM-Sn0zOGMLxj46R8dFK3Azno-nXJNbsbc2xFj_cPxzbopb3G22dY6fZhSRehRnOE-fbq43aJNkeSofwz2zh-POcfjo1B4-IV31j9Q_TzHaY71QvNs83gRh1wN3juyGlXXsx9Bhx3XccIBmsf05ycRwl91rGYGEcYGAsr16VdBNRmdlY-0At9LAbW45B3d05RG0-JmVWxXv8zPmzPGiasxMGJEqhHpGkjNRjSDrtNE2LNl3GtRx5ofqa3oDhtS3QlN1IaAi8DTzkh466wg6LKjLENx_OCtKGMaUiPP-rZtiWgeP4f3xvv2bPiSuuScaI9wVV4PnAIgEjARMBywFbAYcAvZWwANAPuDNZba1CWgRNBbPxtrX3g20DtA2uKTP-rHJxd2xy1uMwJgjLMFLsBSHwjLcD8vxAazAZFiJSbAIt8EqfAar8T6swcml1srqioUNUalwy7Fz6M73Ece55tmm9rGkZLHGEuPXi8PIOPIV8BjF8oOxVRG31qzOBuNyPa2YDZQz9q4p1YyWD14QgrrKStVEyUc1IvYCEKoJAcR42uT2KdgBrr4f4PgaiIARczYqkfcBlJqSyNkBflNLfTeQsUfcIbBaLcLEXgQBraYv1Vpr0C1WetcQzLyPVOu4JFhJhs8YVM5kNOnq2roVCCXKQfKM9qwAQDwb-KW-rLKldkcBMBtVSowckaHvMzsjXkb_QEKxbe19AsB-Dj2h_tvxf-hXAtxtq431c7mUYzLGVU9MFUWVNA3rjOTnJoCsk8bcm3TqamptWKQ14G15KGL7Djxnz4FjfVr0sTeqzgt2mA6HIJ-ZTFI2CWNSqkk9l9jTton6mSFmz8dm0Tnzt5GlkbWR1kg10hs5Gtnq6V170zKRl2Cq6tlNlwf1fGl5K2FQY1eKdWrq7wNv1dz17JJ6izWZodXPffsm8aR-3Ewtq4MHaaz-POUCh99AXZTwRJlIVEhH1eWo0Yo6g2iweO7C_ml9WXIRBgP3p2mzS76BAIQfvXB_hMDqnA9yfRi86lk3y_UA4dcJcZBWpz56kMFhe4tnYYq3w048hXm8ExbxPCzjRVjFy3BIaRUOBfzmQPr55zLA8KZN1CydQ5Oa2cuz2376Wt1fdw4QG_TAHVFH7jG0PrqwK2xRVuN6-wZ95YMYHfb8sivf7z6sSXLUv3Ii7GLhYOFhERCsmJLKquhlIWqpo4EwZqXLfzL2Q0I0J1g43vzdESxMlHviJUtHUahcrQfaPPPciDMESodAYYBCqRqldFKAzZiUyZl9RSpRycpWsZcLqUavV6cGhdW66GLr3TsN670ml9LClraytW1sS9va1Wft60BHSu9UX59-Fn3bj13sajf7pT-60wM7TPu1qaKs2HLEZWwDO1cnQ1uRMiqnCqqkAiqkIioWlHiESimTsnif-P8126MCqscoh3Ipj_JJF0mmFKqlVEqjdMogHOKL1FE9NVAjNdEDalbbWqsNq2nHajuwuk6sPoQ3hNtijV1YUzfW3IO1RLDWKOpHAyiFBjFLUWgIZdAwGsFsdUQx1IviWGUCJVEVmkFj6ALAshiNowk0iabQNNqgnOgSeRz8ZiEXfRo-rTxy2_MIJvYyzn9P8dcJTOJtCpN8n8GkPuYw6c8FTPvXEtImlAm1BbUN9QxqB2oXag9qH6oGOatzOq8LuqhLuqwruqpb5Da5Qz4mE-QuuUfukwfkIdmH6Ptf8Aw6Dd4C7qiw3iVuHmERbWLiEjKyOuXkFXTploAQoXroJ8JAo4w2htoE08y21GqxdtntsGuuu-GmW26746577ouXKk--F0p98NEX33xvcwzpV2Yuk-NtiJgorW4Mv7WZ-TsQ-mzQdocdpNrCcDSeTGfzxbIAVrvjej4E4V_VdGE8PDg8sp0eF-XJkFKW_PnwUwJINNISAdxPpDgiuD5Cvv8USy2lTBk2yDoTlknxxBQoXUYrEGGhmAih3-Z8fkSKsSGYZHr4yBERPIk84JaubEdko03RiGb3EZH3P7bS7-4R57bCBoyMp_owCVIdBjxOvf9TFC6ZAO0O5_DR5Z43aTXRL29yKlPNv9BXduTJV-tewBuR3V5c99mr1D77ldnnoLLFx4hQL_lxMGI29SH55T5-373Hj4uCPnyQo-vHkCFNISsvG9cvyCYx14R9TzpnBJMz3HH9U4Tux5lqgJDewdnM1MNQG1dChxq0zj4YiiEnAOGDZu5150A8dwUTuIlXr8kwM4jLrSSw4S_IYJz029kxHpiC4DClMdOpAhEShcVOXmrPvbqEjphyD6qHr8fqY2-KYBaGI9NYqTx2HzIeRwL32AiLzIIIcH-zQ8wxb7vci-yD25Y93I6Mg-_4HqKQ4pVHUXdiXFnZboedmaB8j7322Y_5wwqEVm4_UTvbE4tzwEGHHL6EGsX5p8pYl9ObNqljhZMEOOrY81boJDiTO-e8C0P2cmxj93QVCbK9Q9C5HUwc4xTn5kfYX7db3ItoR8od92Rw5MZEQM9aZsKggdlu6duZreFPHquVn1AuQn2Vc1kvhOW8DLpDMYgiBDeKu1wulGHCaIS9QwdtCC2baFbubkn56ka4xkTo0FCJSLu1GMCA9fbpIkHhxLjzaWx6djbeRLzZhj8-_ATpfP4oZw6tvKiZC5sPHASArVY6wIeATPcAjlaf2he766qrbw8AzHh2yfURjLhT-2ito76GmmCWpWKxDRREFahPoYH8fe2cWufop2ZYdgP7qHj9EqpmylJ3IihdXv7AFblPz8o8Vk-SWoTiMRTZ7FaflO7lmfOVXw0CAPnXfOuW-raaijpH6TeHCnqFOyhpaQyOhCVGQL21xFZSCLHatZzLlRTl_yeMRWxyL9nJDSOfe7436tjePu9EFwYrl3I5tx-KQ3lcG2XTPP_N0NJhiQtB2ukkTw-9HMUNTwIIJY8iyqjjMd38xxB1WHRcIn_LpPxJpfTLruxDwgwCRWILuzjBKUiIRBpa0Ion6EW_p6pyqhZW8apCVamqh6v2Vj1adaTqaNWVqmu8mbxZvDxeIa-cx-GJeAivgSf6lGCBL4_81aFy31Plg1smbJmyZYbfjN_sPzrNV2e42qqBLoGeF583WXhPJfARKNQpNyISSLRjFMvYOf6NL7Jesc30vh9AuSoiXMkdWFzaXAmRIUehO9s-joHDn2CoFFJKLW08o69bvoOGQ9gK-Zz-uezIHkRMsAC6ZTs4_o5kxIJD2wudSf32zezgY0L9Fr4qiFrGLf-GR_7AlvFbJm-Z7jfVqt18ceui2hrgOTYHp08ZNzW8jvLtqd7bsBAGi4QaLf2JMc1Oo8sC1fOrxzU8CgD-XjiDe8CDN_4w8PX1P7sow6NXHwQAN6NPA90D09XtgvaXB-qBTb2vPphq-2n_9xSpjmqqiuIC6vsD9cbxVlRWvapL1ZSK4ih_6V3vnQfqlff29Tb1pvQ8ZDbw4YvA-7e892DWA06-X555bOnGEslbEyg5GIDVE1cPpB5onVSnp_Ft7UAn-rZMAPge4_p4cXji_KABG9YDNd4AQsHueOD3An9xnvvzMzLGBn3MjPnxerwd78fqWAdgNcfm2N7cfjW-AP_L2BsHeNb_MU7GS9Ju_ot5rF-JB5-7-I-YtLd8byzGzEYkeOwwFP33XKk9GlWrlra3yY2uS10Lb20Ne7sGtc77bc1t7AMlKTsPtOXEjS-_l07v3FCddNVLbxGGG2mUsaLMsNAiy62wru61qUc76tS_rnngoTRZChR6fSW8P2lVMDAyBUQCiciK7CIc6chEMUpRKbbUurWtOjVpcatb0prmNLW_mxavhrW96XOW7WhrNarZf-1pSs0HG1PGu-GV6oVK14wUJ8Z0Eo1Ys-fN_Tkk1f6W8CWoq_5U_hVpqIGtN0S0mWaZbaUR4ccd190S77b7EiR7JFuuPJ_8570PMtWoZ1YXAH_awIJcEYlYxKOcM9SSlbsEN8jcYyeRgxSOUjWWxFk6Fxl8POYlXxNPeMjhr8Q_irT0QgvPKbwV4I0QX3XwWUdftPOO0jfhynTxUzc6PVTqTq-nKn380s9vfVUboNZgDQb5a1hYMDpsUIcDY8KOceHCxPBiQngwPtyYFm-fqREyJYIWRMrcXPD_iJofSXNy3rxctCRyVuWS1dYHIjZqYqL6rXhTa680V6yzcpOSCtMDHgAPlz_dTNT7cy6aBeVLMEhgoWPHFtcmPxoYry4aMLvttnzmrPnDx03t815LetJAgUMqpF33bOInTJo4ecqM6dNS-7Pv2Lk3Lf3E8ZOnMr4481Urrsiu_vjR-Rbd32uz577bt-fY6cU_LclcemHZxYRtiduXX1pxeeWVVVdXX1tzfe2NdTc33N7486ZfPviVyEurKlhc1tLymnpq_SvW5o3yUVkq3cD993TnF5vnVL36uCbuf2dz8IRu_OWVs8vzR5R3nqwrhmqKvPB1neWpqeqEirLRkoE2RB0B7LBixrAiK3EKRQG9DJzYi1BwRmUymJiUOsA20gIY8UEQRzLwb0CLZAUUY2uWo0YlzmloBbIG-CZAK5GtXpJWAYAf5g6INwL2Q_C-B9DqM8DxLVi_yfhLkgHYdAeKo6-03CTyzGkBEtnT_8IkicEsTuU7as_GOMMkNNDO1VzG0GYpdXBp0RHVoHBCOWr82XOGRX1QID5heGCHHPFrTt6n_aGYMGFypblYTO-LI-uCSqL0NngSVGWUwGPKjIml_lnoNgRjscqYn3IzX601bEY8FoVgIg6YMMG_c26-TCC5tSXEgxXXAoyePAecXCBn7TKlA_Rn4j5V0RJKA2vcZRjuZyIqmQeRNhEU_BLthMlkWAGLdEoEtGMqWGD8OBVtY8JYqO6QMRASccwCM-FD35kJ-QkdBTL5nPkfzt8ikoiCaSpETIbnN1emI9KU7Jnb6c4TnXzAxAE6xwxcnyaPF3aeGVDuZI2agqW1qY0M_XVp9uoFwZK6qlCsd0UA92tYW9ntju3ry7r1Ukyt52h68VJXP5XNJwDpHloJYR3EU7fVPaCahN7ttQ-BzME3ly0-fBUA7aVQl37TzoHnQ7VMI2fIj4UfxvfeA19c1CWCY8XaWK2xhkCdRI4jRNHb_UTe4adGnB-ZfQHSAkc8712zlQwlMPr7TpRN6sFrKCRmRNYQGDdubL3ytrdTKZrvcA5BSylrKTRT5e35MDvfIsbTjyM9v_uY0q1YNUbW3GqfH0Z6dtc4oWTlABycpAgx8ZWlJl_pU_Yu11Jev64127E9Kpb58JB3FdpJE4eIvniEFBtH-hs3uvkPd-IpNW-xUVo6V4d6M0dHZq3VyoyioXydcDlh7Wx57h-g2UnRJ2pV4J_udrvmepN2OaHxKQ4y4UpyZMVlkG3dU4K1eshYktPDS0mgntTR8zI8pYjY3aULpRz3iCzg_k_BvjV3FxgVISe7NgYgdSXgKGzBw4MI-ZYO8sMhQiFZHRlzjxUvUhIpKrO0isEBIOPp9AGljr2kobVY2N0tosMkagQBtz3yT_RETT5ViJITDw1Y0nXZk1EiUe5u0OT4JdsYHBtQ6kKGyjbo2PGJpB6pp2ojCYDQZxzFpe25kl3hjE6RR72f_6HnxwFjQcn8HVjIKDFIgteZRx2OY4GFl3GWFFwuVm2_quU_Y-0cBGXKfefG6AnDt0AELN45x0YlL_UpU-B5UqW8LfRKG6QdLz6TCbuUy7zm-0JxRddoj70ikDsjpqLb3JuKWtonsp23kKfH-G9WI3q0zBfFtCthEQn6eyDSgk27xC2FvfTMOUv6c6ip9CeSipJJkmb9vbhucSb_TEyqAjd_sSVYDG2reUV7D6uznvYEzlbyxcFbvOkqV6ltfieO4dr5JGUG2dPbt48jJRZnDjUdEhQ4wjmA1J3okaKB2WHy434LNFxlvwYDB2haorZ_lg0rZ8_tp5bVFPErHyzVtYttuWM57VCW3jcVZKoIY7g3sEuQQY5xJRlKNXpsCokphGSj3qXx542paWNqSku4ZvswAhlkhoEBNJaYPzV8m6L65hnJdx6Xp_rMtSZ59TzY-iLPcVY-v0Hyu2lMtUCrRi_KOqmdYD8i8CdmSoQM2yOK-66P48VujJzzuN8vyIpTMzKrlFvLECwpeX-UQf9O4ooBvxTIuuLCY9cwhPF5U3JghBNVoF_l12zJYvLa_aKLOpdmlHr7rlvz_OfZC88cE2vNgCZOGYUqBicojTSTTfYkUM6GRnFDDEuCYc9ryKWddAeYc47Fwtm-GhIUtOqOEOQYYFJNSUrOinERshx2MN8cpDqUmL4nvpzDb2aAbZP_IFngWC882gbHz-hDKfPUDXtFhQKpypkee-GWlsxzmx0P0PlVvHqectFQbb5c-oIG_0SeHVwPXM6pajxeVoOZlHutXjB_rKPp25Bz6oDlxKiI0kUMaIIdiWns7CMrbYuafWn0vDcBtknwIm2cw58bwGvo97u60wp1Z59yy8vPH7j0fntflWTwqktSHnsH613L1wA8ijySjeO5aFISzq8fUx3L3QhfN8pSshlr43Y6JYo0ex528VCek_d8A2RK96PfEuXtMPCat1THUbit77Tn028plsZDLf4T2pao202mTqJZSuZnIRuNLuarN34WYfj1r8FVbkFZKLBetoDGoOFrdiy2D-pCHxWcA5eW9M-63Qyw3dRCkmFvm4uxfGuFKwDrwyh9Ph28thpUIdtyn_I7HeD-PkS15fe8fCn0RzfSBb75QXtSmHMuXE0hy1Jc187_4TV-ocJeieKXQTRa7GklvtSwT0W5gKTq80YW5OZuWLlz8jDTDyfm8GJclLOk8nTjxRMJO3x4tSU5GctQuCLcyoDEVgsl4RwEVWfSLUG7ksBoRZbCdwonVvDhsCMWbrxtqZ2JHUw9wOQgLF1S3GtXbzgMjwDZ16SLmhNq208poROeDXm6f4qAEYJyEg9BGRrelWHA0Y4siwNqhlKyRa7BLLNgNm045alzoCfRqsHV0ejPt-0z-27OeSTPMlDzFaxgDYvhzZLllPZ9i9qWfZOHtpdlgVs6THpLSdOPNg48_QDjF4JkfZUX7Qeux1Kzu_251CZTpuvBPzA9RAbt2ouinhkwGxBc2L0zQdBEbmJo73piDqo-OcbKF9QjzdeXwjwAzfabVYmPfWb-8s4R-muBW3mhLbRGgKcXskmnFOlY2NQpDlPgKSLiLArItixkMHHUhOGS064BHZBWdGiM2rwge4vW_5d-9lEFw00jeGaaHNr6s1Jm4VhYfS2R2rK7LuxmMYOera2oMjYwEUS3BNld2wUVNF2_LljOM3a9l-DgtYnCPmpj0DZALNQAz_kE53VMSgJb9VLbsnBYG5SwVrZ_HFbt6FC4T4LMX-luGPaOVtpzfpbhlcWlHz6domWEpMgYXF2b-L73QSvcwPRmg-0qPVhITJcbAgMIp8xQ1tplnjFjTYZVRbu-LBM-lxatMTzUhJc8odz8_w1JomOpmfDUImsYYlCBENmwPH7IAm4jA8zjGjli8meLOhLeTDZhyRa03s2Vtng4OQ_Dnxe4TcUMDnrb3hicB6ovQp-dybRVjuzD1znnQ643JKuX707pgZTGjTIF5dpT6j2mKaTswQq5dWr7jOS1W9REN3xnX91uH3uqUs9gJ-j1WogqTSrb7dKmc4yybcKv-Ko_Ka0Nb3NGm1GnW4dQdfwRNuhnpKjijywiLFkwAIDBEhdiZek6PEe6kPr0jY9g8Fgqu0AyMXfk2cz03zgYg_2hhp3LhNTad3rNYUPS2L6m6Po48ComATh9VukGbZYXpT80ktw6RMX7aunXfm5GrQ631Y-HmKvqvB0hWFBLJo2nRM0Me-AGl7m94uQvNZjBaWtvQptGK2ypWtc3vBxddWg5-Ibp8Vfxh-Y_FZ9gCS1DcA1UrRfLYzVvwe7LqZ76ZN_cPc98Q9vzjIh60ytqyjvhzykUKCt5xlbDn9dYOg26FoC2_oxdtJTcVLKNel1FwySpKW-Hsv00IptMudzbcSNlNK09Ht7V4IiIeondtrth1267TS_RP4ldZIdNJ0ZOGAYwHefT9tWpuCkbLaEYYPUr25VfjuKMAcKWup6KaeNV3gp2fhU_ShOzMa0qTvsKQGj7CNYQcnKnNrdnF-rbEmVZOSqt2uqPxypyGNgvteId1NvFO8dPRK2w_yZZQbswJculwid2kTltxxGTUk1GTa9Ok6yhVbRUlaYI8ZpyvV47DSB-ZUm27fGRY4yz_xa_tD55JlWufehCP89D9tSlRpieGD5wBN1e4HFUOv1SrLMv4vENsX-V5TGDB7QSh-nbNiCuIdI4ppzBJvFdUQ2NUZMk387ffZ4ES8927JyFnuW3JOUZHBLyDNlazeekbcad9OrZeBRVfr8OzES7YxqFwLL5dk1o7lZC36VNkNyrpepXCDIBI0mhIq_fYIZFTTNLia64m7AGRcm2wiRoWGnrKXbIKVk-IALS9vOs7ysFr5mC1Frd6B7wHm2jPYR0goHWlSwG7wZnBngiDuZusIDt8CjnIDoalJ2JevssxnfZE5f-KFh3iImaV6Dfw6nD6MU-t-8ecfwyWIxUlPieCOo-x2fwfRPDDqIiS_95C2haNI326taOgohTB6yebl8LEFFY_kAZ5pnsj1OdTVf-pvGIemGpVtIvQ7rCFZcAU0rT35hGWrF924_sZrR1ilxIkoJmoKIZDumtieb8OcqeWG-skFmvBQ8JZWK-yn_sZKwtI1wjOVFKv_dNSOMRcqonQHeSkf-dfT9KTbB6ifb180TGvnkfK9JICHDvuggImOdU3zDklVmCntSoUUWLHS2B54vAP31U2o5nyJHTwNouNoignyY7GoKg_8US29qn6XpClVFfWDLgbKQ6p0LuamdL4CCWEVyIa9DTqLRLJDO6DxP3uuanbYne2rbWDhfV9NHM_M7qWrfNvfqubAdW0d3JPykn75QX8aWFPYhVhGDSxk_dah-jDWTXUIYnTrEptXCWcA6ct_UfLUuIm0dCjXfqCdtmRBYKEdYgh-YgqAGgiScoelO0DhDlsV48qYOkbnGtGUI-7ezTsTA2mAx5ZpoBryBbHIBrGHkDGoncnR_cgqqHftChFwAArWrsKrCVKWAV9mClwULu2h54UTC3fllrYxAzLGe2TTV1gTE0aSpv5z-5kjL__c0-J3gIGOmpaP8TvUserqae1juFlmJrRWaQuXZJSlhdGpfI2aemlkGW25r1EVlbWHi_g-_Rbz7cF3Wv8AFk78oiMpe-8zDn-6pgt_DjK7hrrTaOF43NdN79dGDO0CwYNDYruFQnLQRhxxR3aLcWHjZ-Th2Gz0PONOf4_z_5CAr943FT1pcwbt2Gz0i34Gq7HronTrRCCV_aeF-X7qspRuM9GryyR36zltWUPgBfz2oJyz4MWNLmpQH2y4GksIgyI3p26Z7yNYXKi3J3GxQ6SnuDe62rS1iBHcKcDydDn5x49iHxzUY4XiO_5HEm4oX7hDfaN0J-qzHams7jCZhApZUOrrkOYzAYj6-IMNZV8gKOlS1kTjXGBTySJmGtaDMjKWhgOhz4kVCGqikpKemp7eJQY7A6MZbKPomoCDhRLKzRSfpMkxTZ0LzR6HIIY4SKuem06g_n0RqIUSuM4O7_ND0Nftf7ryc_nifG66mLwuAE3_5JefhhAX62NvwIn746I7xhEX1JF3p2LstVqdBDZczPdY5xPXNVFBgvIz81hU7UOK8sDu2pYK7OA1vVzJXy8F6A-qgNH-XTZ4W-iUX0J7XQhMD_sSkV0XBcuzry0_19a9o744PZEPdmWkZ4sGnmCHe0LRitTTU0vgHolL0OQGghrYRummTaNN6b-arFc_VX8zrq_h9wPaNPW0vPFEdHISxViCOfKtz_CHfGQ-bOOS7NByohm5oHZFfqyhNnGZJe3Rvz5l2G5pmPvigrfJZxi-1XZCHz459Z0J3CP1PDwInDCpr7_jNmHUX_2W0pgByTXt0asLeL401L0rbXNFWl3D6Jc33bGrSuq9qb3qPnWqut3LRTy6UM3GruV817K61QchXXEsD2Bjv2nJFyOsSubTU6xRwuKKYtvXUqd78p5FzqCHtFIh7NgHrqD41esVCWawF67C2BtjcbP2OHVUcY4Ez7df3aRJO0zoXVKlmxjrSvYW3TsoqWIGnS60krOvktXcEaNGr0fm1g31eVgAD_XRjfWH-_b_wux_TQ3UOlgzHWAqIlxMBtsH44GtVvaIPgeCY5PxRjFS3ftSNG-Wdxvr6j52HLo-6aVUxwaGRr6t2t-VvCGQFqKQPYwMathB3HmfYSqv1Kgkpc66MnQR63yTK4jxU5ozjLbRtocZjsTZ5yOJVT5Ag2DqidDXfFyLG-bv_43a5JczClM3XM9R6bbaXrCOuMSh7V9z5m9tiw_fBjWAZwc3divWNdXfj4XW5Nq-5YX9wRZc1HkwFmsP_QEC1fn0EJS0KnTM9-x76izc463D8IwxqEWrCA2-nhHWvv8I7f7dGy5J7VC1uirEJnA-klM7hio9-v2NCGE9aIRpYsf5PmituhezcgYt_TGB16CyZ65MVOR2aSSe5sVwYY0qB2dpMsvvfvck_UPE4_TvNZTjJgjctYDX1ImAUGmYcdMJJk3os8v3ZFxuYibq_R2tBToqrf2fFXIN7yPXP6Kfc9RkGdBALBqrtqvOq74H39bTjTVn7ddqlt5SRT-xZ_kFotpVdTZnWqt4-Z3IBpbvH4l6Vq62phhkIMI3a0cXPZzUyTw0-42sqYuhNDjA4MEGM7HVtaJfQQehrdiWlFgh2QbkM0qhvugFG0HQa0PuJuaIdQgH5D1VwJfiMytEgvHL7csDR9gMauWCnrNYoeTy9dbsCxYJtXPewPqIbbca-3DVcNB_y25sVmXm8d5ipNDRBsaupTkRPFDNnmhyCHPwZMzG0GyNunb7lntQdO06dXbO5rbds8uOJ0mTyXp3bnmTVHmmid7__YeEez-7BdHl6SMHpxc2dmQ8LbPEu-Jmj9Lz8f61YZGx1SkdctDkScqJllL_ogXHDavNLyHoeJ9HsdFivpRI-DEZjJrTJ7elieKKtFhvr5Bm_AoK3--baAKg4WpxRCt9akj3cqEbzP4GzNcURZcZETrVE7CauKdx2vJArDJe0mCamx2GJ9CgQ4O3T1JqoT-T--g2JthqBph8PS3K_DR-gRJVq5pt7ejISAF-DAdrX3x40nLb-hfwP737pA59MXBhjAxq202Vf432cCp5JhgJjjXey3r1hpCwRX3G7XsPOVReXf2M8PlfJ9NZXgbflz5lj4faZ_6lzbF20pQPsW7N3pu9vXtLGlnztFuI0fXrrAmc9cbcycYB9jt1xN32jNPFdloS2A3_93XeZlbyLT03gMkLi9ZlEv_WEky47QU0Cuvy2yLXdUv2Lv1Rjb3-olW5HCCWH6EJs1a0KSwfspu9VKOcn_-TA_asghzgoapldwhmj_efQh3btzaGFXlFWANgTw6_OLJqDMc_PCsI9g8p6XhawOm9YueykyawG-NBZp7e7PnCt8L68E8_80V_exeec9ATBsQr31dW5x7WNc_TiPr5eB43PRNQpYqplPcaDcXReA3QQyySH1w7FZed7lcaq5v7-76uhagzNWs0GLuGrr3fKataVvjLwYlqo-2OR190DGtXTQONQFIa4Ou3EovGg4C-ln3Cqn9PPorGJkeYTadKcltqjHOwfhg3nWkKxrpg-fpG9CIYXalYF0a2laXjKQy-IjOuIJvN2pcElrIhazUWGZHHxm7YFMQ8GgeeqBUEtKaKK2h1mbLAw6NNCWTFotqA4x7wizdugyaZkZvGVthTTSBPwjZysEaxlJ-CY9ic_0xaJyvdXnkFWFLZaqiF0qc1PtiTjV4QbmOf9i_64NCuQ-nFF0rWc9H4zoHV5LN-QUoatzH4qCJjfb5VwX6rGYBn0-r6_HgrqW4JZBbdC0stuKoj5fMkkGIgjmj4dC9pzEwDtrsV2n1G_Hzrn_j3KXdgTi9jlUS-0vAvm37EHLH1jx6AIJsGmdy-2mMZJ7kWumnR5ZFVYFLv8rF77F9USYdfrdGfJPqQYjY6AUaqjdblzq9RqWZuxOfUS1mPb_kFzT3iOcDwn5Pi2rxgcLpS4iRVFkCgafO4JYkLVdxt_DbGm0YOdXjlYnneiJh2gLrsX0Tq8PMdNAN-cmdlM7RJqTrSBdSAPWU6LCXZ8L19D17s8Rlaq_sR_OqOj74OIHtczjf7T17KBBap8KNKLi-SAfgpnAnO9cynCcF9syMlT9PkFi5pbH6bNGvHoXg82Ff5oHBTFIT0rrovYQDSG6OBt-MxuSWWgLqiIM_EE2LLXQPG4jxbzGCZcjHO-Nxs7h1XhNNpxEMAN4TwXZNdxm-iV1uIEXx-ikiz69lqYFrRIE2hHE529PJLwdPf9fbgDTHf5AEH6XtbKtIDmj_6ggYbHiGUwxhONOZDBc4F78-cHiQEk_97EIHuKSQuLqsN2OnWJZAe7G_JHx1xnQFua6WjBU76vd_Ala-bm3j2a8A4Qa1nFjWjU3CrcPABy5n6M_FmS2WCD_pNaERXB0RhA5_twHmNpNkFjqigom6YsglrUleI7TYTOo_ap6fEJkpwHD2iLW-tVhVj-kdegv15Zim7db5oYFXhHSEU0lutK5aJh1G1Sl1q2uLt9A5_jnR2oRMbI0EAO22trmRpXFkharA1oomESyQExcrg7pbHB0QALb_XYxtviMQPwtWfFTR-CpDR3bcgLEpKrbv0Dld9TvYOqYwz2Lzq7-jodj9BcFMkwGtAbOjdzzK7L-J-a5dqZCtJXQIgabx-8x04X-TZP89qgbBsKCiYefj6zLKwWdMLfm5NDJGAvWnkwcLuhcdo-_jTrAL-4EC27H6eRx_LGsQV7czrO5b_DA28qy-MBAFfvVnMTek4W9Lp_QN45fc4GbSHLQhR2k8xaEsWdA2qN_nt34zN7hxhUBruSuf15OWVtQxRBByNc2Y5ghKG7H6EI8a8XJsrjdBfvs2oqIRifPdrXaS_SGgng_Dpxp9CQNbIMvtXGdpmvv97wNfUg_CkXpWHdJ5UW29mAoazNCb_NgLsey-Ts4ucxPF_IaBS19U_LVb_EL_fmbWwoKN5WC4b5YkiTg82I-gqyCVTuXKxXLa_hb5Yqt_DDmyBRPLN882AaZGvqU5C1yiN_hgPyQRmT96_-c_pxofYbaOMDsWnaiTKcpeqaR-ZEB5kEP0A8gY-i61ZEC_rocWPX9seDIDeaB4geYguucAvFhj-g3AIZbVkf5fm01QzYtrUNmzikyO1u-aFpW1zJwxK1ReqKCCMvTag8YgpVvCyS5ZMVTKHBAA1BY2ahIxmgwOKTojLL8MNEtgtB-qS14bv3JBqkFIDGkEflVFld6rcYP1PCR5g2T6L5U7-pJl9cSKM8LC42KJ6ur9yuMQgy2gEeblpEu702Oee-pUDgJtcGQxvJPqiT1z0-iB4rrvmS5bLjNk16U40XxzDlQyEDRcFM5fGl4S-47XtrtemngxoMqCXDdYsyTXE9REnqrq3vck4KCC17YHQquk8FRsxkCLCY0JIOgCkVhhOrrK7GRD18_L9IhDQJT_-rVXdPMtAvHUWOUr3CIfo6RATpPRahO5sSu_cwNZu_1FtSjNX6V_hJ50KnwZBjymECzgyYdXPKLC_oesoIT9ATQkmKOMbNVCUVQ5W7gCbJPZWqCy3qHSd02d8KuvHVQL3Q9psm__Oa011Gvv4aU4nnXE0f2o_af8KGKGg6JQQmYpXXd4R2iQ4mS0EAqhHbU-ZkInEJv1RI6sXDt4R33_vLQGhp846iYtQvprg2RZoJoMSEwJDYllowOfugbd2toDSij_YD6YWF5gUfi_AJ7-4uoF5OIYVLLrmeCxXboYnpCiBSSrd7Wzf3LU0r0g2aSctZAd7ST4OM76N6oTVen0cT9KlxdGwxhOtFGIS7CBydCfjWeL3Vg8bLRtjefybs3UhX1If_52g-r-isb0n-8PC58X8mJl7F_NPRVTjSHt4TP9mfOWjOTVuc5fc8ZVFYz7Zy_zGy6bDsv1162UTXw2nRjVuoz1sybV7kSfN5ru67B7IY6_R_crY99Y0m5lEK6gH9c9WpJP7i27GbOM-V_3vSakil-0rV_XoWyLeqgXCjRBL5j75vj9Pi4niEg8d9Y9V8NBll2se9IdkW_ADtlamnt0VJu8DcXrfGE-MN0Y_U6H-WsqCWEIaCvHnzewdlaG_u7JBflP_-cqJS4O63GPgS39fdbUJkPFdUTSnkt7haK5bhQhMtn1BOoSA58gucTXT5IRZqgbCIGGV1t_uhfdejK6to1skf2NYCvnZTjHVNueyCViRjEkOEbqP1rgGK_naGnH2euMEBXXYkpjQL0-VKCy7iWRllbUyF95rVL_LkezOmWienP6Yt2zJ6L0hdpIM7Rf4NySGvLELN7byAzp6D3YrY8PDvIaz9omUcOZaHhLL5LYjC5RHyRXeFviMY_aOdVPquS7jTHsnu7UDrR6XOJEMv1XNc8itQjS4MtMWqEvudKjmchveNimi-onB2UP3tlpIApZMiC5dlSnbpIxaI3lHXLNifKeVlanYPaEKNF4J6WHj5Z2xtSSC-_Y1nHncuW65MysbH4YgqjvOgwvcd_ztDg-3uDlh9jL59xADvqkMXV4_FI6Cf4A9AeCAVbQijqXUzIvgCh-kgoEQJPOC-IxAgukCa613TeSd_psvk1clcNH5LeEYUB6gpUJwoxw-HTqIt06qvl2PI4qNjq8BcWhApFjw5mc2_y9WNIPRtl3vHAoJ-hqTE5Irf99dtJK5iAX6fsu1iHeSRSmUeK3P5cJhCasRGSfvl0BcewMRqVknXXzSD3Y_u9uRRDddm7ia1pL4rHrmFmbY3UgxY1XYkVxVZnYh__aPkdBgbmTcJySuwKasK3YOZrR8fXtMdQOVsWGr7Dvgv_BadaMolNan7UgS-iwp-shIrooTIfFtLvrlv5TtOGc-90nh4yfS8SfW8CAzRa8NKfCb2FauhOhGgdrsMMdi-J6OhvvYLCgxdF_kD94YIJh6pQVW-SwJeYhmrOdjrOhCTArMEw9XXgQeO6_b1Mh3IbbQOjf9tr-eP8Rs_KfNLgf2r0pdhw2aujQ6JhOf1-S4bHnD3t_c7n3u9_7vzjTHUWlgWiTV87Ap27W6TwGX_DoHIm9WUlN-lkP36jmnQslEXfo0zlHIUFY7tPkhyGoMWwEJvL--Z_6Xc7weKFs89v7Lvx5Nf4STX7bhv5O2qSvWO3hKg-8XhcEqe3C2gZfYoGBHkbZmO0CHld6MamH9F0ZVDgvhPP3hIvQG4qm7BNK6s20o6snlsdNaSABnLzbt0gt9PSQxy-G9PYeId92x3usXA7TcHdm1HzaSWFydYTYc3aNgeKZhyatWFCtp7CFHQu-DYL_nEsub2fEVGuwWSC1asq5_e5xDj34mqMV1nw0tPzGPDvJO5qppt5miouxp34mZ6mOwu0mBac55ZqbGmLSuAPap4DdnwBCtYagx1S2DGsQXXwr00yidixSFopGs8LJff7_JXeqr1CwV4vT6XuVws07p47DSg45tZF4dH-fnhsXSzEWL6xgcRoT2PMwZBTvD6eEG8wv8VCO_2JuHj9lzcW8Pz8fEtz_cc2ITzJAF0b2YrlXe06744D8noEcmFhfC4SZc3r2LZqAGlXaRMWXTVOQd66hLy1XbCd_gX05MURsqMRVpI2evC0FZLuwdlqPa2HSLVR59G7XR5VQ5Q1J7Cmob17TSbqpPz-BYXM3NYMCTnSy5UEKH3Yj2y6kPgsQkd2MT_QAAlMcJsJOdEoqzNkcXnDtBdnGFJJCrMT0jvvRNm4rFv_NlZmcndbTb1uj23JgAUDg3kJdcUx2hfX9LbGuiIlZDTnHcbNWNNfVHA9N7sLR12dJmMPQjzJ3vZmFAmGoyQaZCC5t1aEyBW1XkQoB6f-dYLJiu27UH-SIw9HCZ-JgGVuudyRgvBoK1FQ9JM5adfrIxkFDEso9ejtHvKnIqIg2opDjtRyOeEPxhxOewhhGFSyO2OOgDPhNujVbiMEmarWz__JFgJTXH-wCI7NevZAHUvuBGXQImcGccFdFlMfilv7-yye4XVP7B6-f-5eAzfGFyBKRS2OiBRyt5DvVSj4KFwnAUe6g9WFdHdH-aplyG6v9QeqOHPwDn2dhaBAAylqkja7_JBSKjVrknYbfN9XSB-VEm7Zvg2z6my2gCOSEohk7wYGMKSfBupiogsi5WYIXI2WxiHxrzWDpWX_F-PymqY7UEivcVoVtVL7l0-vK4KXTLPBPvX3FGda9GUud9NizomqRYZF5fLihXn5RbO04BcMopWpXSYxu2pKeK6mUvsDH3z313s1TrFU_141iXH71m1eW0GMutcin7a4YzFnTTVviFN6c8vCufSe7sO5nj_8W1Kz6WZtvfS1erBV-yo7qLRx2hw2pdApf-cs-fWFi9K04hd6BW_jTYHdixvLzXy-sIrTlZWdqARLSqyjevRNU7HYQsJPxO0g5rrPpuWvsDx_-qLMbVGpXRYZ-_TzBitqghqwCHeyK8d4vLFK9s7qRS_dXLTwb4nyv0UX3ZTggSHdzRX8xwtrfmj_5pOLXU38YUJO4a5ud-gk_FdvB50Z4lZFTAJL2vYOAAEKUvz1Gk2vRlu39QKvzhZIko2p1gMAYa8H7OoBhXckZ5IzQQCpv6QBTrPNtdk0oQTEORWrr-4qc7WW1V_NcuvYcVwmnWG5V1p_bZC_jtWn0ql3utW_cWJavrL5GlfjcppRH5ZzO8-V5bBluvWIvVmlS5gETzgvrHpTw-SGab2GMc60nheNiMTLRRW7z1wEzVXO1pX2lS1f4eh0diogFwNVcnY4OgBxORk77Th52iWaAtI0ZBP7XZt7ktv05BFgvJj1bzmA-O4vHEz4gRNxC4EN2J7Nez00m-VPYuCvNb1C_Cji4OaJWMnaa8w1fnZYwMvy6OZ8RHKuRWd5eILsMH8wsJaVFPGsxo9uzSWG2cEPRF3q7CeExTUzCZvD4gt8Vvgcp22ZjNHi6lKaosbq3avf01fBImqRTEtq6fV5ndY_yD_eVipSBWRvyLNA_SV8cg9geY6tpIQvyyCnuVFm4pJFP77nW7dIilVL5fbutj6g5v7SDobV_5-IDV4gQdxpO9479QgsDA6IJIQyWL_v0hzyg0uVykGlhLA61VKSnOkUaBIQFIvN6HTG4YTaKSBnkFJQHkyC5hSoE7Az3jkjBhUtoUEzM8ehllMWxImJn_ADb1Rbgxon8dPKBiAexz66RduzV7cAJMijLirwww8LR85OJ78Fjj4I9Y3Q-0WDmVu9UvLLGX7mCXkfi1Wwrf5zUX_-1NrixE0gxZTMGpN2c2dU_73C5So7cFdndXjdkbvsvpohd8GcXdp-3d92ZpfyLvnw32CpF5UWFdrO3O_zJjhUNHHaZ_shS6734Z4-rgE93j2a8E8APiO_sYFaqD-SxTLvZGH8pUctQB6JR_Dck_rABLdXfCuUv5QDwyAnQANw7OLvhAq3CQGSvUFxUaDAmfZu5HBrWiSAML6MFWuPkYnh7t7fjEG_RacnLcj-b6vgH3g3eHu_p_QaLWUkV3y1ApCvaLUaba9Go9UN5hV2sRPxWjSAZNPt-hRE1If56P1Aa82sO6ALIHt_SqYuAhIEgxvO7pjXG1KAI3mQSiKpmoc0fTKBa5pobWkan8C1tMC28ZbWpokKAXSEJEeoALl1xIaiUI3YGqCIkREEtbzhnZLit9dHF5e8U3zcrgC6axMyc6jF9azfqdF4-ln30u__kIRMm_mv_KNt3sIRof0lxIPRZwf-NwDEPNd0HyYTewa2D37wZtC6vvF0bLQ9olkW1Erkr0uuiVusOr1PVhdQQtruRptNjYkfeZjNHi24UiBYeMfiRdc4jCMGj2yzbFwy2hh_qj_uHtpsj_fF6vKhfaehci4u4q-U14vskipcotd6TGBPHrkpDpvTpM5fhYnxRDigxmpqIZnBGfVrDr6nngnmzK3u_ZjOtOLnW7luow8uLXzygoPEJVXDBk_J9s90ymuW1dSfrOVuuwY8otjYnUza76e-c5NWq12rvUrwzVdbJVY_xLB6Cb1Ba6_jLb7mv4bmh-pba4US-68fvyGv0LgTNQZJsh7Cm0OstW6lkTPjZXBJPFxBFoZFCVntA_tp-iKZ0ZGq0uisDn6VMFyvkk5yeM87ZoFO3KXR2dJSAqUtsACnNuL4JoIo6kbrHGy_HbVIXKNqsFpU6bjGpPDVKlxmIjt0oL5m461OuVV24akokU0q0YBAAa5NBkPQUhcMDQ5ALtePtkHYBS2lIVG1OqbRqCNRNaAFIiD2l-Fmb1zzTj37j2fuPqOtQ9SpGrrvFLjo9cXygFwSQ2vqC9f53lqhisZOnjJcaitdZrNuSmH9SVPK1Jsq15d7daa0yZjaEGDPFpP6-rUgyR4EB3CQdyor3-FyHXgrG76Ez8LNvgdAObD_jm_S93DBRmzjkUn0_hBvtTHbXU2j-g6ogEdoNDzcLhCLhwAHxMS_bn4LQFtJPEUbPPReXSZV8KoqZbKqKuClvqN-4kLRh3b1Jz-v0_g_xNP6fdFnz9frNIFcpa_vfDxLKNlyASEauTuL9fjbx-tf2noAzVBNVMaOyDQtqPZPzbTiZ_X0IhXIJ3ut73tnkZ8fC354I67RxLVaTY1rtFpYUIXsFPJ4wp2QD-6oB3m_GK5bB68bujkEWxpa1z5q0DpHADEEA6EQ_gPtv0019rU7xZV_Mw4dz7QhE70nJjGyprQ5ysp3hHwGe4yQbvSR8hrD7eZIdIEnzirs3LYZvwLumIumvhlq_64-AHQYu2YGwFWQky1UkuYVqdml4XVtjLdXbo6a83ZS1DHR6bsDFZaIYfHpOkyE_ae-vIqCFot1YZ21KWchtT2dBiqjZsw84P3GQyXnc_RrGoRtFouMngrta4shlPcelxatFBfM986_FbbOBzzOfPbCBcC-xshdPr8rf-yUwO6iuZ_ZxQYVzwcZQI4wpKzzFg9gjcFSt0ynizaojHCjVIetaZ51xkQmrrpbULOAhlZ1Po0dtC-MGNz_ewT108wwCGDuQ-z7Eux9GNSuZ9-XyPPkZDGI80Bqc97nIAKceG5c85h4dukEU7yHJG9gvRYiSOz-lxj6jzcnD9v2JA_96Mm3_DEg_eok0T4qgOxUdOfuJQbObfJ3BRkSkj8kbm2FZ45AnTuAAAYQygy9Dy7w5HcETQJDla96XKVHiyseUPh87iYT_wLavvB0ScUjCh_paTLVf_FhNts7cMX9bkgoU_lI4a47RI-VVIz2Gmk2AfjrOaWvZx0DVzyo8gXcGVP9xZR3vLRizMN4PIC2bwZy618kyD3g31xF4d_kkkKB1hQplfrlclUjpTJrp-3P4w_LTxBcKvELeBviUqltieXzqQCrVeXFVC-_DFceqO8UCDrrHwGOl-qj_gNe5SuvWKkOgIJZlj8f-P6yPZjj9EJOMLfc7sMDf0SOYA3AA1Bs8-eKvj9WkI3zifPyC3Kw7VVAasnuBeSCl0oOSCCPLogs6hy9apeIvDYOVDT_3OaEb-UVf_MV37zDLguxheBNotOlHmC5WBjccQ28o1nKt39YAhiTrev8oZwi_HTxwTIxQSG9gcWHJQgpUyQtobFbz3fRarFH5uB4HZI3QFSQNuNar86OBNyf9LxHJF6NjH_wnUkUcHiTZl1y86xySGpJmVxZh6SuDl4ml9E4GCyWwFwuLBHnxNiJwNI6ZsggkhQumwWSRhK-Dfgr1P_XkoazR3OYZAat0fRqNXqPIz1I3UeBSu2yHk2vRqPTzufeR90HtpHjQDdBHDsB8Pyl-ZclXA-0XdabdO58fJsa__FuwA56tvO8nC_xqwCdUXN9ShtMy5wMS9O_r8pN_hcxt1x8ZNEd0A1qk5tILAoVDboq3xAOVd8G1dW7-9QS9VNncSXfgcONLx8AjDSbyRHyxPVMxO0ABnq5eqh6Q2aEHIF3k7eTALdP1tXZefGamkRS6urIOkuzzpg2Vlq6WWs5sn50tL4hQDs2NQGzz5q1yB6dpY6DSXDx2n6sG_1PwH8eaWz0BxJ5h-1_u0pdf2Eo0kJAffM36vB9ysnF52K4Gmhevoo8vY5ctdoBql8BumnBuc3nP1q9stb1QYTKIiKZV14ZHvKJALW96leqhieiqRQFXgqzBygIW0lRKcAi_7V2CRh_vLWEGFAjRmJAV5Yjd1Oj_1Vy6fIDoEc6vHogomXlq5mtEJFZCaDcj2Obxjo6m8Z7raMDto13djSNjbBDod07cN9IKOTb5kLCDtgGRt6XQMmLY-P6j_JeDp_Mxq9PDG9aglU8N6tlMntK3Pnwb_PcerjGA6T93Qt2vGOd73qAi3TddRFW_jzuzp0FW9YM95U7d_35KG_lG6fjIqwGR-W8NX8M6dy5oYuOcsMFLlLOrq1yCqKlCogPeu0897hKz_u36jza-5WjIj64PvHRSVZgn2PCER53jDf2hDzhrgwenSqhaYL4-CnPUy1AK37ykiumAcWeSL6J3uFRouBc3jnsttKWM1deMKjFl06TPDqVwD4uE5uAlB5pijzRuIkcCwHkY8qx3g1IHYg67GhB1c_6YNsit9mNNedzoxuQP-6FHRwdFNx1-rp2W7MhXFe3fnjBisLCCw5--xSHIxMsKOqeoc4xC0tlsv875RaZa9T1VhGQ9uRa5IKAVnO7UdtQE2sBXkEOotxvPbDs03O1cls-Fl_0RlHJ71dfjNvZP5926mUFSL-cV1Nuxf6A54inKubf_A5PlTWxjVijSn8RT77nIvLOWbTzxpsNZSZsQAOro-Fh-PINh1cq7KFJ8TvCZhhA0nJ_3FvsDK20n-rtozoHqcZxqnXxjNGRI3hrM6MXrZKlDZaCbVgeCc7o3bnOWyOjAedDnfgiXZZz4lTTuWkRBNdScXvgqtZ9Q_XWUZ0NVGMbLfMl48aRGd1MjuvVSxvMFb-JQgKr6MdmzugkXuetDnsDzodlES3SRinSpgau9Qe6IDR8EvjQ0bZq1J9mDdVMb2iZ1lQ7LZ0xTndus9b-HX6ZMkzjSujC3HTVuihKp2eObsc8LFHV3nXAXG7zIcOrfF4EBV29k0BYzujlGnC4tMF9iahxZUR0s2NE40GGaj2jP32mRuna4JKMGt_9yxm9uBz41TU2UcNkRneSCWscKQp19uZ1tU-7ogCspr-deT1M4ezxmpvzcoiXGROAs2xopRNU57RoNpihWrfpTznU6BytUiCGdcuizm6IUF34qSbCWhupeoX4NFCdGKqxRbQBxWiDaFnXwM2G6o0JyiR776Db9jmq3iwJU_fm0d3GkPgs24tgAwvVaUI1mtMyq6mW8oyR72HeWtnNtYG8PS5U2uNiJB2XjkvHARNzVHOQ6rpwi1t-X8AZfKWRJnWLhEDXHBVGi_HrCIr9kRnGPbdyao5QaLZxPWGdezMZas7z7uLHlGPsZQBueyvdnxvobFy70nI5EWvlRd8h_YVIdwnSXIW0t3jGyxtGtXEiUZWdflWGE-RhZ_ZYrhGr_srvUM0tnu7aYl0mz6aJruhZyfLacsH0j5a40b5fkO7a45qbKwn7i5H2XmS8oc9wZgf_B3qjQp-EsJnCOTmXKdJfelx35RG8vyT5_kyZrA1W4zXI6xcJRuy77GrZxoCg8q2Q7tPP13wRpUj77ePGz1VN7w-BtfaXN8rw7h-VArjvykHYzI9Wzs4nKt_L6trW2p1PpoFuLaR1V_CLl5vbvBXO5TdYq_f_RYyLnymkBueqLK32QBnOaje5xTW5gk-kudnT3lssP53HIOMNxw1n3sVlJQtJznrlN59Iv6iqVxbOIWbu-9UUOCcqqjnf051arKud_pgAQNIKWYar-XV2X6iqfkiEO8zk04i18hJBusuR5lpPe3sl_WmzZ7wqG9VGg4ZV9pQow5EgE5XHDFTnC9Uo01pGURp59CERq-7M75DmfKS9QhkOEZXKmXQSserPydqyli9SbPBT4ZrpaLXYZyLWylO_Q_pTkO4MpDkPaS_3jGc3jGojT6Iq6_yqDAeLYeeZp8TgXPEL0l-OdFcjzY1Ie7dnvK5hVBs4jarE-VUZThfLDWwENSVn-SZgcNaPYmS-XOp2mCNv1Bx_lSTbDEkpLPGShIhXt_b5QPPnclVTyuip8_-ACEd5Fzde3dY76Zlv8CEyXxWaffeTa3ZEWOf2_D3z2dPoN1-3SQGAK2gxbGhpKKsVidrLa_y9KhAQCjZhA_GfaGf1Ighu17bA_wQVpvjv0nTCSqHe9mpi23xCBAwHWxvVCGIXfxhczKNAhN6SnzDWDfyPzaJmWsGGZj-5AoSVKbaZpX-yaLFo1sSS9ZTR1bKPNhoN19zWSKv7Tk2l81WcvafhVJr762d-nr0UKO2dB970rYUJhBLDYLDNG9pRmfhxyuWb_4CweWbSDmBJ8r21KvZLvXXVd9V-z9k3n43Xb1B_eJeLMTzjtR3-xXgOCFtXzX8TFhvWgLCZ7oGkSr-nd5rBIJWT82Bb2sktDFZSFLZTkW-1l17XsAMTtKMfEqLA1xxmWKkyPOUYaT4m474sKknzpfnSfEP53gYiww-BUGZ3JZwTv6ZPVf0v-xtVs0zV_k-Z1lDmv7TqLv9h8563FdC06qsDvP55BcJmPX_K9-VwtEU6FJ3aAWhmXVjnQTNRbmm1TFN8uHE5Q9RWuWypVVZ6KBe3AvJiuBNJhc28ut25AckCtZs67Ze48XCH1SGsYx4NH0mRMvqYBFlpiwTnonbRx6P20YfQQTrKZAj_kq3BjoCknbVJ2lHSy7B22RF5O84Ety21zgn-wsqsV69V65MQKq4ETDPZIuqjyMgrTQM8Y3vGiAZCYiMyIauGnooE1F62TE1mX926eT1dBDBJixZnJSt3uKxL7Zb5iajO6Z1L8vzbatjy1d7kszxhAvmEJX2BnTeTbUTBT_kxnaxhOd4oBcC68zkIT7V2HaO0Y7c7aUcYtD_hv7XNHKZsXV66rgDyYtPDb9-_Ew7kG0eJR_fNK7PHrYy323-qc9Mjg5v8-Dne1f_xc141nnhf5anmOzmdnrLKMVNfIkuJuYJqvHMR31lR-29i-23Idup2BmKau5R90ir3k25T3_K0rAoGRjVqmdV1Gz_zneD9kw98Naw_nKcpC9tKu1uYtIRL-c9lxV2_q-8tf-61-q3UMIv1X9psHU-n_z71j0tUy5Ei-dl5ZziyxZ_8F83-Hgotp3wNHR2xDMBBCjaL0rmHVGDmNjUAJ2DPTHYKirYC8VmWbS2dt3LUFMrdWzbZgpxW3-byo6mBvSDPAOznpV-QzQZV-opRRbgzu6xpLWm9NEUFKCMMUyYaRgTcsFq9-xBxUPmu_YewSoRAlyu1xwDuYtsA7mAT0Iq1pb5LL0ufPrPhFoOix-51hBPwWaUGdkt4oYzI18xpa1qIKCw-hxOkJ4PMVOxzSTPRIhIZRfilLcVLAc4O27024kqCnLJvYbDFbsC2LV2gULcSrKmFxP7dvfg6UjPRiESxtZjCCfi93nJLQ7ScNruEoGjuG4UHsMF34VsxY_dM-dUzEa8GvvNKoEc86U59Ras5NONRpr6GrEjMIUmA4jkxR5Yg7hTZhaBIb_MobzojEdBiSWwIIFlduTpb94zwLMhTg5aNSmpoTpp3AmHjlf3OzDQ6TrGXivYTniWgV2J1KikehT6KZwhAgrxypNU-zaVfEA72VvrKUUVMEN-g1vvYPVtLMtxZxLzlHu4voL-PbJGACx_PqAL87ic6sA8Bf1HvYgQ4B_aeG_sQ56W87MQEerIduXmq7fzv6aPiE01vDDj3SN-BbTyyqRZJl94LWYh2DFML1TlKI7hSZMElhcxWBLukmXERe3FNZhS0oCfDOyTaubVME9LdsqYAxC9pQ0BiXzUu6HBnepeiIVCVsJ-j1pRmxnOg91hWaAri0X37yBn4hv2kvnFSm3vJQ4Ly5L6VCgH6XT9xa-OUibJl5sqM7ZZ7yQqL0KBxC3pHWdZa8QhrpmyrqDMF5VmyW-IlkQ2wzauBEllPRaeXrn9Gxg6pOxp8Zmd4lueXy9EbcLO0aQ_w50Oxipfh3UGbpxR5mKfVJsCr842vQJk1mWWCNhP1KYXhwJ4oPfE9LLgRdBh6vZToUyKYX6t8jygO3uyfAiQS9Zvuduer0hsSjsJU3wo_y_rL3izgxJe-AfR8PtwDhCPfPlITwZ1CO6C1RvSbzTngl_TQLxdcglqDajCCPxnhMj579mS3-GdWyDlWVxVl6I7_freVdAzbdFdh7ezmVYpK7jXjhL2nbQWw9ez6cOBf2NmEZERdgwMtjSA888Q6kUKekLgVuUTY76MMtcZR8fg0BPs2xZx2r0V2DdCyFR4EbCfaMgeumEq4k9FQBZq0I0CVeFAG3KmiVSlUAl9keSvVd1JmQKQLRF_37caeRyKCuWquWz5Lr8Z-L12bPeKcHF6AjCRqo2hPa7XZPTBBwcjnAunRSxLT6Sab1_6TTcIHMifGdGrAs5xQb5j6KoCtZt4uYzYWrJbJqfjdbX4pyGwJfhkGW18FmwkIdTc4HQ-KLXXNNpsLF8c1a2HzhbLGOGNeWhxzXybFp2npR56ylzmDBgidphCRL2GG1FlhP1E2x8quMDPd2UG4V5NO0Naqhy0JsPaqMLFOq0aQ5PTd3eBZr5a0Pemb8rTxts6_3i0hfde6OWZiYu2thQvT6ESxud5xLvfKtctsiowymEjNkUXHiFhLA0oTrdAifwQ9QdHdgTYJmMygTyne62o3h0prjQnEorOVgXiPs8lGLhX-Ypbw115Pg00QbaWtDrngnoroJTaUlKclPaHnZ_6Wk4XVofiGNL45rW57BzrTT-PqsB010z79Mz0-jK2xP7Odhc_yz92Ous7b_v7EmDFnX2ZHczaR41x2rjbHzgnzqHn5peXSc5mbL86_zU8Wzi9AF1wXAhYiF1KuBdepA845ZFBFHysc8eEJw5GLUyjZrkahRdSl9L7qSn_2b_etd428-FFXeUlvX9Iu7OuOh15aYz-Co2MMjH852sbzMT8yZdopqKyeV5DuK0tlala35qUo1MRWC1qHfd1iLN2KrcuGjDDBoA09950H_Nse6xQv9xbvcbpTrnvqGlQI5C3OE-Tp8tx5dF5TXl_eurzb-Mv4WwRK8_n56nwon8pvzO_LX59_R_7u_EcL3AV3F3xS0MCF9e0VdEVw-BxfLfxp4a3NlPiDor9Y-UeV_1z5TeXG5iebT7c-W_y94nL1f9ScckTOy8dKLpV8quSbJY_3HkcpYZd3N9dfJe_uwjaDm9imw9ntPLHw6sIfLvyzxt9tjDbe2f14d3bPdubzZf-g-e-b_6_51t6Ba1G1y3gSTBxUqmjjZ_uq_7-VxH8P769v9IJ-XKSPHbauqOeo_1EaiUwtMoRdxZazbWySnWR3s9ewd7AfYo-xj7LfYU9LzuDkc7gcKSfAGeLcztnNeZRzknOGc5lzg9JJgxs6V8DVce8dLyMzDG_dK3kD76RsaJV1lctLizO8IgvT1_DJvsA3WXvQ6r9ymYc8I5ZExjCLlXzE55wmR8iR0oGjpu7rqSIVp0Eaq9laqY9MyE7NzrKsxB5ar700x697-6GfO8mZPopcPIRrJEVOVERz9Mdk0KHmamTme4blw5xMveajr-q1Supdmf283u_fftVyBz1azi__L0-ubK48rTxYlVu9Xo1erVydXmVWR2uRtTens7hXvEa8VXy_-Ir4VxUgCZQ8J_lIcknyF6RISksbpP3SjdLjsiKZUmaTEbIlsiHZqOwt2ZTsV7VceZm8Rm6Qu-RB-SH5f-VXFFmKekVcsVQxpris5CjFyiXK1crXVHNVpaoalVxlVm1TvaQuVrvUuzXzNCpNn2aX5kXNeW22Vq7t0a7SbtHeqz2kvaydvjFb16R7TPeVHtHfoX9c_7t2xLDScNooMGLG10y1Jo0JMgV0BL6s6jGtMW03PWh6xPSM6VXT-6bzpuumP_RY5kJzpVlqNpm3m4-YXzS_aT5rvmT-3vyXPstSYGFbBBadxW0JWVosg5aNlp2WA5YnLS9Z3rV8brli-c7yi_6tIlsLrYusldY6a5_1NuvbNr7NZbvbdt2eY19if93-lv2qY6aD45A6EEfU0eFY6TjseN9Z4RQ4dc6oc4dzn_Nd5wXn99B8iANJISs0BL0Es2ERbIAxOA53w0Pwi_DH8A2X07XL9aTrdddZ1zXXn-457gq30O1yU-4e9zb3bveEe9J92f2TB5if81R7lJ72pHV4lnpu8xzyvO45h5Qi3chW5BDyEnINTaIfrIscW4X94y3xPoWX40P4p_gtogMBERTRRCwndhD_IbNJOdlIbiDf8gl9D_m-80f9D_uvBbiBDYHHAq8GPgpcohZTCoqm-qk7qSPUWeqHYFfwv8FXgp_RLnoF_UC7_2qf0H-EqNAWZjbzFnON-d1Ee_XisDJMhfvD94RfC38Y4UTsjSAb3xP5JPJrtChaGbVGk9Ht0UPRI9FXou9Hp2JZMU5MH4u2uPK6NPZQPBrvjw_Ft8fvjx-Mn4i_H78a_3c1lChMVCZUCXeCSrQk1id2JV5N_JiUJs3JUHLJ4A0_ljyf_Db5d6osVZOSp8wpJEWnGlI9qVWpLamdqb2pidTR1Kupd1OXUt-nWemCNCFmvAi62L1mgAYCAIEpjQlsoAkChgAtu-N5sHl6gmKzh-BdKfr9JVp5wQoekP_dnxM53zuL7_8CCP92hv_yLQc_p28tgJ-BAQUoLHZ3KbMVk_KTyRbgzm3wpjkrr2-8VHicg7c23npU3DJvhtvmHeSe8fZwjbB-kJohrwDDyI9_9LnPObCDbvUE9RzVu9CqThcKT6yrrrEyhm53iRdf0bmIR3ZAbQYhPAYB-XOASsurHfrP9s7qH147tCEfXTv5PjC0ifH_-0kdogLDgnaAHWeuidPqUCTVWeRsN4_VJGpzgnAvn9mWC7gnsU3UKghQGONOaUzoKxLBY2Up0d2FkGkJX1PZC_VYg6gX9w5zIXZg1iUs5Lx_xtOhz18z8iGyEkoJtBW9pEQtckdETtwdwW93ljbm1L01daWMGugHA5n1PwxZ2I09RRS2xdqjNkp6b8j-eF2ekkwffMJRCygt1YSs5wiKcrB5WQ1xEfzhMZJhOlHZiVz-nZK3EhhupB6s2uYe3X9FysNAgFi0JDQknLJ5xJfvEPSSDdSx4WMp3Aa5lV4IiwYC2l6meFomne68TY7iFccrhhcNErYBAiCQ6zvYMwv4qYaNVMLwNpHCE4-aMQ_Iw4SMlfFKZVGLBVzWgfUYeXXxvH8e6J7mMA853caD_vKxmyJCRwJDQNWfRAEQgLApW6acwhVxAwmQ0MbG9ss53woEXR0ftfBkp971eRNehjvKpjgaJkLa2wN9b8qRdLv10_nBOTR4ev8uUI5ps5yjBLi-HEBQSIDVDeLBNV-5xYX5vTFMZc8PspWnXONMnRwedjDxuFQWqIjhtBtTBXhpeTS5-VbHrwVrCvG922Tnm25i-WpN9aZ6EwVc8KuM_BoNxk1EUwucrONUAHZCCQNkbVuQbwanxzmEKMsCL-9xXjWDqci7D-vBJayKkKqHX7RBYJBH1ThLpIWGQHXvM5fcbtu4VsPXCPthivfYZDXQ_ULjdIZEjzc3hHeV10OPmo3vdUaNAegmjhw6u6E079yhtsMJJqUjWhWg5MywZOdmLXvE7pVGKYOKZGtxw917pceePFSOcuVEWPvyNP-fRZUXJPZbycJfg-q-6-h0Tn5Nk_yPMADOFJwMwJ5XoqgrSdQTpV1-NxqWuAAdB_bBEt2PTqQcDkSAt8GMWBxwoFRSQTN6JqY5P6xdVK3czs5qczrGuSMK8fq61iGGWhh8uND_YSNdKX6KRgMypXHf0dkq95Z-xiiKok2DNDE2xFalPjWbkLsCxIFh51-431fXhRKvZrnYIvjsDKKXK57Tk6o7b42TeDc4htfK0byr3G4YAy4JxwZw4EuMntNoIIg7_E7ksSUorBcXdYGLokNUyX5qucfE8EAs9ihYTNJAJRrApJVWYel0vJi_XDMo5XHALG_gW_dlQSgJ9xy6QfaX0xfGQRKhfnh6AilFrV5ug3tcJwcRYtGoAKGksTfVG0lqHUiAe-XYVaOx7bJDqsU2B-0oiQD-Cn4Bus42kcyX7ceZo99I9iJm0iMTt_1CmZlVAWarVPmoX7Bw76ktSfUrz8tIDDsjs2vDbJfNIyHdmgJBE2R7VEBD7GTIjC2t0OgKrplULFy7HwD9wiumPzSHfqiyXhb3_hZHgcVgJ6-YBSywWBYAPIJEHu54RCJyzK8hyyPBlt4Bo4fMwmfZBfYO2gpS3H1V7ZzKe59DeNc5lNfKbfDauRavl9sP40GkT5sAfT9pMkaqOGNmKxhBCgtiUxeoOalS2cDxoNyqIHNd-zCp0qEC89GyjnodssQe0wyGM8jx19hssnkiyqUcLIxpojO61x3oli5A-pX3rBlKe_ZBmlVZ4KBN4dTGeH0rjDjvxssrmavZVJz3FyhY4BD85YyVdIeNUB_FrSTpHkZHM18PURwRpRlBa-XyvomMmBcIVAD36VDIL6NZg6vwcMnH7iVD2XEQcHzJXhDgerVdArTEDz95p__7p2c5rg8f45XD3oUN-ZwElVcWV4MvxEtTqTXggs3N1keEgFvxEfZrP5feb1bddX54NfmIsXpSvDplF1Hlh9yPv5T8cf0F4pwZcJnUMJucZiIYPyrX74Fc1ilAJbaXHVPCi1YBHpefqMGkrSov_u2OTfH5ZVkbWB7dNXZoxzeEQ94BNtIpufNOcRbeXc4MWwfJ_A4Bxs4fMi_aRXINsqJn5J5gjLbcXjIDO3GsajI8OXH7NxqVV_zxwUva37rPrFfODmVe0uvmQsBvCajNtCr5gsFWfWuKyN0I3QQDeccDsOlTPFufRHNNGkGaG_OmEmTj0ZgshZBmDDNiRI86ha5wg0uBW5ezTIQD86paxSesRWMbayi-jh6tDp_SYiJlE6b11LlG3X0SBRLEAkFoSQquS1gBMaxTYGWXJD-vXR5QRljIdpxOjTdBw4Zz57y8E5yFl-YU3qk4fYtD6ijHU7BbtGhvmUUZKorRqsQJ-Yj0wHQYRFNPrR_flXXVB5OmMFewlnxSe4t9MTAoqzmMVD4oZTgO9k6COuOV2KkkNEv3HIAoU9hbSCSnkzA7eJl8OQAnITScCfb_KE5R3MuPRUf4WE4kovWd3kbTaM74GIfZLCNqDEiV4MPbxansvLGn8o3aybp4tLVc4OxuSzth6ax9C23eBfV9_632eNwRPlaQU2B6dZYIlM6ze4SPFHWk6bOBeiczJk7w-9DhgmIkZguWV4Ago2TyRQYHrh12w_ReJcZUCM6F8liiEWVLLre9JbM4tkqUhYs23qhsutNd6mn38UFk6Eg9f96fDSG_tr2FIVG1KWgqzVF1fXG-EaQLkwowjs4nV6ejPh_zueW6TtdYK2CiUjkX98FaiEisBZ8TFXf6C5EdEFGOrpU49Ifeu2a9lioUUoHKR6uZl6BfjCKg_o4swiytO4xF6aJNpOE8yoqwQZmbHFPILnnAjCQhzyWAnTC3idurYIU7dJQa2Y0hhZvaclMJdHQ3X4MwWereD7JHktNdkYyvLoNxMnwcgDUVWxOGu6w55Jei3FQAx1yOBmDTmUHHsMtylSqrqeKmIsPq8Sox7GZ8QhBOib8i7gdaYL-qMmyLWl2TKJm5oRW4K5zT8YnKc1PdRd2PQdreI06H5QbVtvtppFYbIh-8_QVxUg-TCAdelqXUFtMsZTBm3LhH3Zk0wiNucRCqRQgBTZcqDsnz7rwxx8JM8BnhuIPLhZyjnQ-rRnjBndpUKwmBlc2F4JmrXfUZll6GImpUW3MsqOCGwBZXUdjLkpMqOgTdaJVXeDYymAzqlelXjgA1G3Se-GEQZTkvt15JLsSYZd4W9QiU_bPy2PR8QKhHswJfDmSPejwX53vtQN9LBFEGV6z3sGWOKdC5ejui-9FYz5BUkUSEQqtFq36Xaz-IZxZ38pjzezw8N0RPwK8rrNYiD-zWIXehk7xK7rwIh_Jq4-XD44gwEZye5VwAdh3Ph7B995BiNxtQ7mX3wsWf3YTPca_RhN7yODwEEssm6dpchL2YCKc4BqUN-y1Vcz15SgFPWU8JLq4II1b5kdWr7SCea_JEWwhNk0a_31ib8xsZmN9vMCCP7v6vvwYCceDLCMcojQUQEESp-agUQ8Wcb2kkzskJsvlz9GfPigYSisC62QrghQjhfiJ4abBXUwpQQOB_2Pr722aOQreyUGztu2iHl5Jhd16Bk3jjnDMsBNpckgIMvVLDBY66lZRNaHUSnBdjU3QF08tY29WrrVrre3E3I7J6ZzGvrphQraASE24jp9iNw9xVAtYm1goGEy38dDhGXXLnbYxXCcL5eT8YrzU8TuW9ze2HtcALz_OVAJxgCA2f0rZnXzk9HJS17kwPzxw3Hiecate_tSIh8thd5KufPqhsbSXwbduyx90tGFUf2Bkl296eTqf8msMKtjY6KY2jLaEJF1qKDgftyCgNkU-itFVL8mE9umSKkljMxqRizaFhKOBm5AWIvDO9WKleYZvP3DHkf5ktnxtgwY_opNjPvIrEaFfjl5LG3fDqVGNpY3cVZgbo4d9znMG9NpH_g9W-YRJ_vmLx0a4FMJhEkEsdyGCWTBBSlFoYuE50_2jwPNwyIo_IfB8Qgch8L8xDyuDg37tpmP7n8GFPueTR9b-hsA2AHLwF_4DLa4JHv4mXHgGFpJFv1NN2EG9QGEyhJoBo6FpwThdKEaD0-Plw7wFJzsOkBOjrtmX8n27vg0uW3MIsbAPrx9HbFGAnkfDn8Sw4-uHdOTfvM47ijXHNsDTg_nZ3CAQFCBESK96IuUcwyL_7aujdwhh9Ul-2g2zzYjy7fxTGVoZzObv2XUTh5aQOvCJnDSOSDiTyCYgzzQ7P7gZsjsiKWNYmZtDEMqYFu9BWieRp5CZHzE-BQmFBgCUHu3Z57TK9gcqiIaAWUMz4rgKznl8ssYv9uHxgeszBymZ0Tp6Muj-uV0Ab0PyJRTEKiEynU-yHw8TH-J69HWbcqNsqcgxDHNnxMVcoX9LlzvuMs4XRxYXWrpeQv_bt9-BfF2OvhsJg_p-kLwmh00_DX3Kc7g90Z80k-OuYGaMPxrvizoVEeA-5U96E6_F2uG3eZe53vGe4e2FrcTlTTKjoG8lLxPqTduAEmBIo_pDNjG7s1QqJEsNaD9y59VAquUbFiMnd6tkYPCTZGOrDiU_GN8VlJtfceSPO4m1xJq_HUV4rKo_kbSQVuVCYNqyMge9ek7kiXkC0qDAzZiIqjgoCeWec4FWjfDvvOMoirORgKI0YdYWCDCWovEaU_PGejWZ1Xo87WEkthhN2atSEMJeU0RR6s6abdQfCm-V1L8nSsgFJzieL1oL97AF1F2Swqtn-hkLN98sVlBZTTxnMBrOp7XRzqyrxBHYLVjq9M6tYSe7BojhUsjQKuhtZaBqWq0nbgP0BRTNAKoIt8ly1K8D0sirhy5P_ZfBXNrHVSqXrzKqDBgoXo9NYDxxmBpWjMb-fUCeTtmbRsoKe2Z3R8sYrjZVccjhOxjFNKevdP-DB7pBa_t5TspkWaEYqAgs1_IwbZ5M4AXbEQTxcisFVlJOA4UwKXB5cfRU4zrkKyPjFUDnPKkyOn46S21mpEGNZJQDewZxYGDMOLUSutYIE_g75DwB4_8d3fs0CH6zJZHxcqaJg_g0EYVgyHJct2bq56bvtnW7qicXvATau7oUmr_5zk1ldz-brpWHx3hq2JPvS6wF1LjwggR_56UqW82dgsiswKDTa7Mp9awS-clWmORm2GUBqqEWcYI-bsry_Dan3CmErYok8cmrjb6_Lvc51bkqmNR_IXoxMx2rwaJwpthnUvVCb2PYzkgMX9xGNjCsOrMRUoof418bpgFJBJup73CLLygKipM_QF6GbtzUBpU6hourBXrQ0GhWNiGWzySs5zu_NrSiOw5EuBv2ASqmMB0Ed4gcblR2kT2AVp9Zp9tpw0UqrwWFiKABbt40J1AJxsg3BsTgAU7cchCUwYeVtx7XWjh2AeTEGCmV8X8fh9Ho47gI5djQ_A9s3BIGvuhyNnKp-monQocu6Fgz4qND_TwKTjfgQU8ktUmGAGFtV1yMDi89IklzYZxB-2NuLmS6l-vrSERSXHwzA-j8Gd9ojB6Zi3pDQuF9FTVSXr2o6UQIr4sNJTHai1ECUP4YIlmEF9_lmVpQ3xuSTmausBXMXmxp-TpeCAwOfLThz_O5mWheEi2QQ1ZLHylxZ7CyV8Qvuvo5Oh8MumlQtYNYQsMJ9jXkxOyY1j5VSMeogAfAVD3PVZc6ywn7qeHphyVDcFJIbtJ-V5Rn5WDIFexlPpoWGUjLpUpRekQrSUyY4c4Zjr68Ujgs9oMfxJC-nGV5LsO0PvHju_Ez46hMTems7b9ms4y9iS_YPCQ9hqbwR4akUmxVYMYEoetN1XsEHgErZ1HfAfCf2UJk4yuAMOPt8K64IggnQNmZ5Us7rAajfwnVLX4hfR_9lfFSN4IMY4gAugpeqHzsiyNYliniRrSjbuxLZ3pzGgSWSyfgJUotlx3OCOXHQul_ooO5Lw6anwt4m24rQcvxx_xCR9srZ8c3LT41slJaDfXThuVDo38ZRwUYbwVD_lQIBc5CY-GeDhxvrcVTDCcsze_z9xRmqBZBe1eqFg3-hp0tQ4TTEzPa7HAsnP-N2dkVbXV1lMTw4ltkIlqpBPUJY5s2pcqZnpjewBLvkoY6d3knlObB-2IycYHWOS4dOrh7Kn6LnF5qmtL2GS8NP0QbfVifU_3LTDzBEqseXOIsUyz1wnQaA0vsFQ6OBZ5O2KtT1k4M3-VZltsmyKvtNzKrITXsrOsE3wDevzx321Uiq4I6s-nSOytO6yK1nUaeakSYLhyts0IYJi3tySMVZNBsvE9ddtJcd5dellOqiDVZcuuz1Uy9dP4EiMObWJNNv4XCV-QJaLG9YUIdFSYVmZbtoqjYhK7oACWjN3hvhKRr6Q3wEwiAMI7LNH_LpsFOFFVZe0gowDXgTkcYe1EogAr4o5ZK5lPl0UyLRaHoaz67CKbiMrUr8yd2PjzDxruP84hthgk-BT9POA0xnj1WtHlLsFQhKq0OX4Nxgy45pOdir2ooi20QyHLd0YYGooCplXnKbg82oWItVGxeAUoKLFIai1Q4_7MRgXZUGsypQ3a_gD1kITd8bt7VZBsLWYJT8BVHgh5rjfDaqsc154EJ3tBE71ggdFsAgGW6dMEWOE_C5VlIexATCtC0fBtYO03aYDnDqEhZwiKoxLkYHfqZqsvUNIxQt9Yk8CBYygYP2DbboeRUESSDseTzml6wvn-XVnA5SYK6qecTvXCrc5atPBYPelPjQfUyQxiKB1MAHcZByjtydOl3jTUvUCXOFToY0pGIBFjma14Ii_FuR3JYsHtmqV5mfnN3pRDCZ8_5BO3W1_xRkcbpRSEbIppza2r9v16mQd2zvFN64upzrzBGKaynQq8aBVUTYmo75kjULUFECKr4mbbBaCHOY727wYzhOEQJ4Qskgatcb9U5DL0wBweUi7KW43Yi9HrDPe9qMg8LEnmdQTG_TMm8bByg-1gteC48witST_2CqCIzLwlFQz34O5KwHNOITLVI5AEYI2PSIipZzLCKA3O3KwzE_e8B40FRA1AYq4doWnbVOgP9_J7AIg3mKy6hYT1SSjlspt0qqJeWGwleDw5pVrIfYj1R5pwod59zGWnVD4aOBgA_jCMh-MLOvw9nB1WJgnFBx4Mhc5meq_iwSzrZCdpAHnxFX2YFpmvecmWP4wuW0RasW84L56ws54J6d9-sH2xr_un92Zl4_cf7BXKZUwsqOhRyBICDMR3FI6u5hakyVMZuWdKKWoiprMkwE7otx18PEAo8FYj_Erzs246QmMwdXw0l3n_eIdsEV_-HEwux9tP-T4kNubswu4UYShxI5CAiBkLPrZsNUF0XHAf0x2N2xeQFzlLnY1AE5Sqn6Pvjy1j2m_c5UPHTmsRB6UJzfqQBJcAFcreHI3aV4itGhwrd5xg10wWI2AliZ9UlmvmeliHg17zDL8ZMkLhyu8hIs0kFe2nrXSkq4YHdZOp5Jg76xqfo-_EhgQ90O86GerRdy0mWxNhnnHOmXRDUD0WIcmtsURCgzVlmRuBnSD3AY4hvl9Ezzfv4uzsT0AvOynjf31cxAeveRu0t2mqJlksEwTDzzut8R_Gwm7ka9-j7Sbuo95hw9YNSJEx5jr0hjAIXmycbkB_g8kqTIETCHy7hJ3WOl9ZginwRjcqSsBLuLQ6pfFcjcMsKMC4zRYYUTFD9kSLGiKh7tcT2m5ipmqApf4d1hGeJMrJFhcdSQ-xyGm3MSQBz5kupySIGLkFHwb4UeLI4ytckXPwhRVYRU9X0zDndKGnkrBBALEO_IjyIvJnK5VUBEq8sdGKmmyhmQG863nShEdWnK4iZBX9UMln_HAL6Xm-M9MX7Zg_OtwizHrILMOVdhidtbwQk62SP2jVsN8CyuFNTPIs-QA4Yfg9MPGw_lV6bEcMuH_HEIlJLZtgnsUjFQYYCy90YIUSYRLI9Fqg3yYcg8QGVSxUQXC32p0qAoahwyqgvxmGIWy5a0BF_glON0Adh1bzf3JhzokgiGlI3IYVtUmiCqKuZBRObzrUJM3Ry9dSAVBWVg7-AfIHcW-0rhuFfWtDwEHDxNlaY2QZKcJD-pxKsCcsMv4WgkQuFegsC8rzdFiMGpqeaJ9IKrHtGAk2lYz9ooyAQgwmTQp8v13iP70GsfEhUxro3QTVnWEy5sGuTGSboKmDGXUUrAh4QnnPc-X3DTdWrjKGhkS-FHGnB1ZAXssHGh_I5WnTZsAUNbItc_rFyirXgxP6hrNY1gPY57CxUKkA6hM6UzY2mZlfo2B7nTVcT08U7oUFeXC6fxTZijFMu8wyoyIFhL4ZLK086NM3LPrFgAsiJWZFncV-yU67LOnAOtE5o-OCyG49oYiNHMEMFcB99AEGcJSmssydTIXoZxmvh13rU5nyleGq59qrF2wNk0cYR6oslaDO7uW-grmarDp2KuI0AzprtLNVjZbrclhTmCOB9y9NjsOrIy-NQexmyVqp9PMPF4KhKJM6HjROFJibFXzYkV88yhKrxKwtof0qjh85HksVJvjL5JUKJA6kUBiMtJFFDefWyE32_KDS2dmifAR_bHeVfTrhn0gkqS1VJTz2FLXYcZLIvLLZbi0am6upYKq6aqos3qpEuH4SBOvbrJHvZcL4hTurWF62L8DjsQZG4WlCh1YhnTWm5T-tqa_5lRofA2EhSGlUYimu_iAS_aZH2mlavUjGbBDg7iIGW6HQFu44U0n9GkVnX7g16JlWzs0hoso9oKhmM4JHfeZW6Z98Hj3QyPWwu7Bt5w-2zApcxJ7NsCXouu19syDcG259sto3ZT51ZemzMrRz6Ys02rFSQsQCGcQFZwQAchGeWqTEbjWSHsFaIymPdMJwN1n6H5LI9cVgf0sB103_ppdTFMZuUCd4ZJaLFXF6TrPKE39mjZ46zM4fHvUd47vlXwLeZe6gQH2HXTMErSgoddp3F6WrYgXz-NvmDXqVK-VP-zt_eT_3_aweCM-WEjqlmTmbbpVqvlFw69AHfFuHGEiSmmpYKX3FWCqL2_5dK0hOMrq7pOwVVixLi99XN2xscsMWNLcB2g7NubVoBhOMOFqyjOsEjYqyP7wQlIaEP411PE2lwyLWWfnbo6u-6BNcHRMUvE7AFCHHkZWQ0OQX4FpRsDA7k7excl_lQckuKvsHBHGzMEbbGtHpSpC6Ni1bmpi7pAwJoptTOnoAXTlNiabau-6MB82m_y4T1PHyZ_mqeMeaBAHLRUa5sdpzhxqY-xHEWTjvyeZKVy8q5fAo2lKA-Ck3uCIUZMysVQ4SPmgPgKqaZYBKa7OKawCrRAkFyeRO3jF4j0kpl__3AWxjigd0zrY0X-p8uz4ccyxv7bXKbF53wrJEBNL0UL487axPHianUd7vmv3vykhltt3XpPqnWNvvuqQwfnenehE2TsJKA8Hu0geyGpsl7Vt3-ow4Oc84CLeADcY0PG-aU6VP6HJ6s3T2pL1YMc3AQnwDz4A8hRYY--Q23_wkDvnO4v3MJsTiIZ-wbGIgdTg1RQe8TR-3vkjQAvJYbbxj2i0qISeEDkOSz1uvcNIJbdKNsv6U6FIfLv4-ufakkF4PlwSTyks_39hnHvS3STDjFcKKJWAgERP2Snp1OlPRAglmAj3MA8gWLloK9pMxr_I0m0sRdD4Yix1m_5_F-lm3NEdveHC3feUgrPscPWoTiciUz5h76sTVtCXzLJ6Yda8yMCpXnR0jxO6zJHuakcSMWv2hB4JvaVNDxg4UWQiTvnEsha8HE3Nh4Hk-wZPtZ-G8Wg8pNsvuCgqdZ7MFk8UXvUi2xUORese-AMUZOvhYrLRF9ejxLUdzNlKiIwH1BM3hS681zOycSjO8-55oET-ScDtpUu7E4oDOrStA3WRUlC4Gn3l_wk70WCVd2oCzySFUBpZ6-M0xP7guMYCcHmpqQB3IK5eiOBeIp9H9Jxg07TW5q7PajbnDgSOv40flnpflRqlLXOqv3yJhaxy_6Q8yGxPsgJNXWYJRFQgytVeRBrOEsY8vVQcYXoya0okftupCxBBOYDdeLR6I64BOQ52yFtxtIai9ZwAmbE-uHwlcGYlmCqjLhUSNnGras2gAmveP4Lf8GrfoK8PPexwGU4yvF2Xn0HlD6IVYXLrD12rWyNMUdxr72YIAgkmYRqiGLlFiEw8VQbLAeVv_6WlgX79XfgmXgUQNPHvFgVwRHhayIIIcyE3SJWE0ZAsMQmJBSRqCkbfRJI1CshcoSZ5B7fTdvSmEqAWIlryLQymjMN_rd5eUiuh1MFfzBfDmhwboB_lU0AvrtoCrxGvh6AM7duu1NNJpM7xDzdSybsAIlCiv5OyuoWzX0wwqGtys0fK0gRWOL8Zk5SuhKdFEqnJELxlibgA6g3QLVy9pNEnHHweLEQRXwbY0DxAuagHoqRtVvzR6FSWywSCaoa1ymyHb_AtIy1JcsFdMjhDEIsJMEmscuUCFvSlPmqYPmgeXogoIkVSJmLEpF-ScAeyOcFFKCJVvVq8WzTdSfR4cVo3N9gXU3m1agpMSEkr2z_bjAtS7D-1hJb3-7SuLUAyiwlEpFXYc4lyPtnMq7CNYMqsm1Rl4DJYOmLwgcpDnduE9P9nCBtVea0dogFjznFdbp4GZeJGdMzXSzlGCtjWCiUB49ZXUWB1mVaxZqwlkm9sYeaa07VXrnIgl1PzLBEMMtAx_s-dNiMTqfIsG8XKUbJop5xbD6PeWk7X_s2XId7z3996Bp0K2Vla1csgkOA3cAC5NjoTyTPEvlPNh8HL4O9QPy7_-uv3Zq7kh4chRtgL7X7dV7Nb_7jMlUXrk0N6alEuQ57wNQ0lZYFOsYZpGzbw1k7d0WboBau_o9o-uhx-E60TU3bGN7V99XYqwuL4mkZj3E9dUruDg9zU1OBvWBSvPr7-_rB7bhsuIYPHdb6PcFZ8OPH4QiCMoXs6iKp68QUxrBGNoA3tbkIAOnBf_0l3_1YyoZqldZo_1H7PxZeFvqn90sX3HnkoMA4ZmXlDoW9Kx25GwzSuBftfU93j2ZObMwxX0dX8Y8cRAVMrjYN0DbEFSOwB0krQ7UaKk0jeFqM9SHNQVdrJ-DbKyVrXtCwUGF1OgyrLhxhj4Bpx6NCDi0d7OHVOtEFKnl9vmXoDRDITZYb8to8K1tRXS5VxTnI1rzxah4pig9lrB5qIhVxOLOKpim028GP62iz_Vzw-nKvYST6a10spwt2wbZlThjQv_osfT4e75DGZo0bTLoYzIqh7h9rO866ixXckROgBITxlgthxiaageI602Uazl96lsPkC2fVHKiCieTEmv-nhy9alEJRLre3A088Obl6ueU10HlUHiQATaAzXNTFZSvqFaq8oni9MMgq7BjmbquaF3GusikU0ibMj_EgCG-6BYaX6YOiGhNBrgr9cSumAB_XrvhBTkoJqPYmcnM_9tlbDMWsK__n9oN_pe8Du2nQFq7-VrjQdt_4ZtrzwPG7YnlI2SSuE6imRT_ILESFaRdh4qy4Kd6uVho8ymz2VqWhgUIB6uuaaog0Cl_Xc6P6XhytU1T0LK16EI85Or1Z-7O8zm4sMijmxiPGLu1xOfPbGQAvAO11YCEu7o6bGFxHVF793kfLStpog4Kyy2PIh8lujaHixp4scgZBkDyrXvLN4lgjy9g_ks4EUS2Xp_A6Ec6bmHWBBmnxsE0m8v29CdT4b7jsCIgni1T3rYQYBpOq6kjzZre53SUIZHT7DeqmoDyepEDXnmZ1HS4q_2uGRSDsivwtJAt4I3P16RAhy0Ggc5wejFYcc6XS3AR_ixtCw5zFRK-EsW_rBWG9uJbO9WCxM5xv7tibDzth-kTYA5zdWurVpc4n70WuQopYNEvAKFmxGzQSdmFYr8DyzkHyInZCoIwOo1uxtIAE-1dPKtYpsgja8yeRyHcd2FQVHvFzCgwzlpe_HJ3D-8honaa45WN6ja9Abwfn32nediwLev0C5kMBRCItN3NvGbgN_NKtQ5yW4M4C023ZYx5hSEb_AhvbXRgNEWG8Bcz-3dn87-cj-POMVTQGxpjzpwuVr00jOBp4ZYeBpkiUNmwsDKAqC9OzEfvFvO3o5icqBp1EXHvg6633ZH-bHmYGnJs1gRRIBCIBthEFTy0GUu5FiWGqGW-bVFolVoAliZ-u2wDejFnAp-hEWbVb9OPLaO-6kFsHY7UmwWSKoY68HfWD75VA_xvS5NitpuHvInMb3BPruWawoozJ1Ghj5dO0Vm6cnmMtwEU9vWT2HM7Sse4sNBkwZLprlt-3Xm2gmkggB7pvzvLzr741G9l3_T90KgeXJkHh2pdJLFL0wyAjBNDFdmHnTwdVTzjDPrm2gpSY9DtUb2_-QbQQmOdsoQBrdhmqjIrBezxzpXBNay4sMfvs1P45kKCY3Bj0ZQ5zdBqiHWLshF2_YgnYwSFwSF4nrM5xyyJUtYD0MrUhENGeUiuoPHW-SsAWaVAgGB4xeewY7HT9t-8MFgr7qsQaGRJW6Eyml0u_y9wFAbPks5rLLUP0ipGuRZrgOfBcatugxcDQkuQ9Z-vnfEcWr5cRTevqtGhGBweSBDCjiBkhtFIHURE9d1KXb5UUzxvZfH7BvFbetq4kzcQbtUhP73u1bD2hLX8Geefm6eu7IzIuVjgkw9hYy7K9Dhl826_LDUcYqzzW-LqxgCPmXFFpZ1lNRIu1dbX34n7pDKFu7OoS23wdJsqoB7Ws8v7CU1DpYhODES4eUSRSJwFhiJp5bTiAnCdf8QfSWifSeHgaxFl4vXU6MZz-bjgcfmdHW1sHJMIwScuuQ6VLK3cYcdWJfsYsuGGjm_hk58fQEMElbbx02O-K0ay4_1Semaav2Ic8-ruXy0S9du87MbMBplZ6-KTHueS30K1OFArzCJKivVLSYjhP5bhIfmcYf7Y9-7JlYKCvN5OE-f2Gs8PlvkZdFT8JFHBydHphnAgHmRrpB8QTbniZYn9MUsBp5kqnVkbSJKllipsCiL_hfQNNfPtn-48q9aM73_7-9C7OMLh7P_rCxz72hR99J0HLXAMkjRC4cZcm9oAImFdV4ConRJHlpbG0KmjXxVSrfFSdS0ci6ZN0a09PK42p-Gb1uE85QMGim5PpYR-eRJBcOj6XCNF5wzpY2Zi-tTMMeA6nQWfrtSe7-n7loWmKlcpH9ez3hewUwU0xa1RXSfDWuuXUzL0aw0NTjUXKnP6KfNcb3z9yJ2pNX7VFZu4l5zrUfLJhMm6raBdr3TwcdYWz9YdgDlJHVKbRFvNLvlyulQ8f3M531uMv1mrs8U0lD3-L6SPuOAv-hzoCxxQ3C17Z9gCWR0xpNiaSXc4Hr3ryyd1k9Rfy-Y6xLRby-Z79qayQdXp3lpiKOUji2KoxdwSulSBnh1EezOyyKS_U6jgf1NFN7kSyMgJCe9c8FkxLW9IRr3CFvfSSdlO0lHJ2gf_48Cs9d_BzP4jP6QBzaPESPZRG4Cy4dB52s-rh4TbZEq6wtfnJaMG2TlDWP0ItYs8-RD1Twk3skCjMUDv-cPlMOk3VgvkyZVNrONdBip5KWRJX2I_v9898ygkS_pVxeO37Cy9jpkFzfyqe_tTM-0tf7c4l_6RxvufbXQvJzw7Mgh_K587t5YdVTP_yien8Jx53dOOcdYyin-IcqcwojcC3wA-u15PZHnSCvSqWYeiGP7bI9rEsqMLvI0SOkzv0WekG7HlugC9MmiJLTvZQUVY03fD6AsHQKv4mQz-BtOHSA_cDnxZ9Kxxtumtn1XCmp_dQoQuglW4g56u64WpLUStntmPZ8WyLaTNNa4n6tawBfMDXQMf-R_qomF2dS_wekXs12MHRn7_aPyIOi-pHYls65KfMTT11KZ1uToQTeEWf82r5-RfrMJqJO16W9oDszW3t_8-P7-cDCzadcT0K_IzMr99qX8IP7vQabkg-zDmB0E3H9_d-MJ8b2Ryn-6BcNJjUbOBKGCMWJGEIHXsUxkGbvKJW3Djdd_iT1rHbr6vur4E6uVtIe8TcFyPb7KdFBKAB90064u7038XsLOrAHxU15adMD_4aNezxy80gnolNIstyQ7XxD7gnHecYzUj72hf_jnb5cifapbH3qU4CcbOut458soi9PtSDxoxvVt9Gv38UsuXwtQxf0B6k1M-SrTuTf4gJiuGXitDMQW7stzEI501ammREjNgOArBA54miznMYzhKEcuH6epTftZ35gS6OFNvkMEhTPm0djlqKTHBDlnOxwibR0Ut7uvVTjaUJ4v5T1GoQn8bVlF6erjgjwK4uskh9XjWevP4Bw4mOhoo6TsXd5Wqp-eRzp22CNCNH5gtS3GhsiUEMC8127bzSVgJTYsvWHBRsfIdRXyt5XFN2LlYYWkq3ECNXGOdT4NZmqRDmwLwmCPzVjO-EKR6zDPuO86JUxJeI9_SHPZrLkxwYxnLIfHY_IsObd5X7Gm_yK73QRzxqO6tzhozqiiSw7QyHPbdvUNp4lqsRhK7QlxRxcoSSJQ40MVnbo8A4NcCdzjQoBAwlsUBKaGmKK8SJHZKcUTd3Ek2tE8c76fAWkTZ3AuvABBVMLC2ZXAtA8GMtdxwz0tQUe8IqoZpLSSFFL0Zn7D77Bg3bPEgRMLNykWpEhnoI6zml7ojG5AQ_udvR-n_QmrjhEIMQDgWIMuKo0mxfSiY91yWeAeZRrBKvTkmotWdOsovIn0myozCpqChRvV7f6lOXZa4ymfv0tqtTxdtvJKw9wHZGBSFuvAAg_YE-l-0uPMlvX4FkDWXS1Zvca7_hcePltUcA9HD95a1L2zxkV7mDlWqFFyBqmMGOg79iV-ERzudket0kk9AQnyHeS5-gHLw_sk-1ykH45dSP668cRvWdhzf6i95rVPi5F56XF-1QxnLmw4okeiicMwy0LopOUWLIVo7WR9AiSTJiEhpFpL5idJLhNIH3HPdMeXNNNUi3_XEiW33XtS_Xu8pkUD6-2LlwLDxq36cWwG6Ro2Pl-CWTeiScf3DvYJc67-N52WHevzh3zU6_dPyP0dX2-s6KOrlkC-ZGF4mcaCRgCBjphOGRaG54v0xLfoW7tmBt5D3TfJU-PQbIXZU8MXG2UemJ2pLAiXgAJ6geDbo9aY153Gu-l6mNLF6d0JQpouYOovAjx0sE8YZetdm_B3EMjrnbeaadH6905MYJB2xtNaBbvKE4VUKg3ck6bszbloMeUrvAZLgoW2zBKOyQ4FtWalFflGaS0vOYDDSyRlYeqG8zeOa7BZgDpoHxyVY_zfytvr3xhVUQaYACiqe4yWluukVMWrFriPJRHJJW9zAyJdDnRtPM3720TOyrFewv_90MeN_7ADkNnoXPZVU_FZrCPvf2FHsJeCa5wkldLM-ggyBSyCWfsYCfCArQdTXbTkPL7dvvRSRJi34Bfi86ZGx_Mnmgoep-XrVy-vTA__nRpo6OaKAKGKf00vSu7nVt-rCC4sLDuImerPzpg4djSP9oO2eL98y4irO9tHX1w-VPPkR8OX1Nu8pMQR6h8ls3aLlz5YrrwhdWixqovc9KHtiaHs90nJZ3RDKX8g-mBm6_dPY5ZAMYCL0BEt--lkdYoFNQchMTSAbkua2b-uqrdJs1j7935epUP2rBh8Jg18cwpJrs10X2RY1whZyhFmdySUi-BObTzl5Mof9eCJV9PwaK7iZR2SDyuseEjBDAOWPzn9Bi7MSRDkJWD2LlOKFHx-byNsfWXXqh-2dKowSME4ExvAnbH7OBxng6NVjcK__YBJFTz0AUPNIIg0TyHqzE3qecpryB-45iLbO8YFDZV7rKYDBJOlQrSt1e4ssJdr1fmHusRsT3PPFE17LZEjZKzpydXURMpVnYXSYFtL7swUz9LifBCHXMrVPCBsyKGtkdVSbU-Bi231uy1_pJoIRnOjVB-gQy3Yfa_oRzBrxPpNugmxazLV9Ze7Qpm2Is2fmeorhR3GcKCm-NbJjIhHOeABPk1SuXp76fUwJsfx52pBh_ZgkGPk2fNKSh8oBUsB_bmtYnvm5X6IJ_MDUIkm31OzlPJzPq12cxUBQGmJQFYWdOAfrhPx-OttUoEOfCwO1l6WDoeRMmKAF05L9aXBnaVinCTSZBnc2t-iRWTaUGQUZZbKxhPRSRhw01wKMfX44nMZfbgYn6oBC30ezHUX9Sghrn4pRA7EfslsLOhrZz8jELZjmVUEohSsfc9SatwDDv0ngt8dO8XNFALlCNGvnR0lUmFzIEPRFK8TlzTEbFgjYx4xggA_q05rkyZfhIoHx5OBCFkYnidePDWGQ9g4k9ro0wyq6cynO6Orl6GBG2UrwhCtNy5w91O2fPUtfq7_KtW1ESdnxRwt1Py9G6Ae1jml9f-ESQ2yF2Nzu8Cz4Dpfrzv3vnQApfEXZkEcZyaw__qU2_agb8ga4epaddvfz9aQg6jhKxQ61I04E9L4VwmPClILYLO9fukTsZaFOUxdMH31xkLkRGwGBuMXfdj_eeWdwGFbT6zi-CjNnYtKJ5kv2yyAr1_wJDU_oFuFZ4F_8q1cZMVMZceU9uR7-SmsiqOgN9UcOKVHOkHYvcx2l9BssT4G-ZsaD7Av3N0pJGhsM6Nz7p11U4fLSmwRBpts6YhW1v1J3DZsKSRNtsnlFNFBOHUEkAEhglQ0nrc95Txwg9QU4nEt8so3unmV65FdSyQVgbe9vZrNtWc3S7YS7B702ag9S4R5wN9r7aNJ21gx0naOY8imAquLE1Tq9J4fWbbsK7mzV6KWiOUL4NxHLdrtdL6BNn3a6Q4ntLou3FWywRTiuw24AOLQLdyctlew2Ub6u1iHZ6mdj59fUW03r0x9uP-j79l8997ifTDpd3tIkQB6bTXx4aRcuZP5jq7elOJLpfgUAclAdHnH_FzvVecJ8BSsEay0YkdnSqHK6VkTTyxRXktq9DQFDSjqhbEIUs5bmtd08KaHXzn8kQ2WNbsvawxAoF1N8XUTptl-lriy8bmpq708893izNVQ_9qFbJNIZQh09DzKtdubvVOW_5fGnuOxtwYff9jF1KaAp-oE-7mIxMZmXJbcGvRje2tG5PAasczdOwCH-WFdmJAyZtjz_ehbYBnwfPljvil9e3tUVoe5UILC1oeZlUGmmW9dXQWEmLXLhpRNne6u90x5ZUP-_6SqhoOyRlzBtsZkt3bsV7pTjC9rAnskPKS1zySg9QLWfCRJ5kSd3-5FSvFx4XhZy8S5exgZtvLlo2cqqpWHYYcY58DBKz77wqUNF22zKMSZBLVZ9RcJOtyYwJcBpcrLob5sqkZuj8VU2Cjd9Sl9lzzdUaH5OL6HP8NX3yIIee5nPwCbV-9CCixJHWhl3W6tCmH2A6mcRUR3V4X_CyGFcH7xh0gGTi167cfERnPh31-aNXb5U03xS-Kd8xeHP1ClPccrhyC0PkKwPLWuiYfsqbwmkmwGjunzzbv9PyPEddYO4omt2fjlGFe3F3dNKWwqyUy55pjoQIRPLooOmNGNErtzIS--ak0ww65whD_jQ0n1iOH0RpQuhC3owGPIbqlAUh1IX8dyuwP8df95IuE0wqTIOWZlKQV7xqMnLYy6QyYc2wP59P2HNIus_dluns6hu0oXpOQsOQ-U6juQFtxgaJ8thAdesf5iJ1f8iybZqhD2dhctDy3nUeJe1E2IKW_yHMWt__qvmNrZnl2fAyB5z9p89M66Sxf6XeEuaxJ5_1F_7-vS9wWMSnflY8_z9c_5Gy1p3_QSLYL8tbca4FZG_aDf3pYMhFFLztQyAxCVLXpMbFTTAGFj2GhhvhKVjALkXyQrQHCWm6xlz6NXu--A-tITLfrt--zKIf-Toa9afACVzI41fYSrkcnQCdDkZrfGLtB8lq43-6dBb5fyeiF8D82U0ddndfT51jFPd4Pgoc0cKPrkIrUmfrKrKao6LXO6uuapBAkI0f-f2Xn9xS1UejMPhWBbCJ-LV3khrti8UT2WKqBJrux8WBbO-z9Pirb11kgdv_Jwy9vVnDzJdXzi0Ip99gGlFheFgZ5PXSEAeO2DRIcR1PkX8VYQEwepxHCwh5CBU7WFyoaMQW-XVIuQiZHKoaCrWMHWcxxRp0W1Ljm4bqEyDekmOPbjXObaHwrhSurBnyb5qA1tIs-KJZhXrHdeEEuGQ7NI-NO5CCekngyly69IdvXEYYDs3n91IksCgJhqmHITKvrsfK9w-kgGCiEQRz_34W7Fv8iLJHwNZbTMPC_jtV29-4aZ2tq1e0FG-7fMIRCfT10WbnuLBpEy42MufTvUF8qnB4ExLoYZexPZXRcEcTA5lUe-9xdLgzTBgVeLLVh9c2CyjjZxQfQB8zXANrf8oWV3aINItUbDFQOCHiNKLAC0KsTlZQmYrV4o6oV-g5kyOIsBMHLpV9OxZBbs3vTIb9UU9_d2d7R8cxEEciGeSQF7-7cvXqtUNDmuAgKLHfmwWDSVDbUj2_1_7fOyRpjmJQS_Er3HZ2_VjQGqHXtcaSgS6NqRTTavGzt5uzxMGGLh-Lzbq0yp1sn7h7MXQ4ynRKYjZStAcggt9Rb2w-Px5yhx3hx8-s7lyTcm7nqQMDJbEHzG7yAV4Hn8tc2XWbVWZJTZFdC1fZTaK-moODxJPi5mC9cVnytP_agNLlchldYmMOq1IlVcX9XG-tHmAqIVQ5aAOkEwTBDbch4v3ooEEoraxw66rBi-WAstbrUHlV85pbqeYPZvpwJGRrTzQG2q03QLtm5bvdFYc1A6uTAEntadgvMBeVTNz18KCEB1NxRw1-WmzDboKlRttpbmq-yFPpCI4Ymwsi4xlZ5BqYsnQYswb_1GPtRpmOJIaUFcOM1FN5rNeGZvvaJWG7MWEppGCmpfgzAhqtww_w5yJIygGCqyFuhExt4eNwhWG1CKv7-9S2PT4QB3uvAipQ7S3f2gxaif-0qM0zVCRyjrwy3wnInqhqkmEQVOur8n_-2eqIbqMrj-g-GhP8REbH61q-zObmaPpUY47RGSMGi2ye4zMnRz_lLWhS2J4JTcYcKoZQNReCp5psSxIDZuhqubw_0ZD3pjh6R5RJ17veyPyZqqKfP7QdOo4nV6_-Kd-AHgrOVNTQHQgucJ1pv-5kjm1QjNMS6Nf22BLrZcJ5mtOyB1sRqggCSY9FxLFY1YF24dFqKO24BDRvUpEdS5IjoqeWKtSJBw9oOq8WiBCi6mOW_Xn7UG5OfklgHIt5KtcIGnEFbW0Vmj9mnAL60JBgySeKPuS0APH0Xgl__3T-SZwxgFMUjVkuXQyOrDYrxON9tb1Yam0cYxILU1_q9dJ3zy_zUlS0B2lBcoIrBUX0gZSUFKOkyd9iSGaIubpgm9duJKY8C2bG4dwzoG-P_vZ5KvbdC97Zs8-F-CP4t0eg4pGf0rAHKXhR-q7ON_EBOUfcCVrlVt0Mk3DrXMNBCVvEhTpJhpbhAKEltMnzpaBJBBasS1tSxKSsplnx_oy9xjLWvRDpPM9Mk9dSGE0x_24blQlqYdoQnArDpGrOdIx1AXumRBprmlgwOg2vzFM4j8U2EnnqpE98qydfLIUOfIaPXHKbjQ7r9LMkJkCkrMWywkF8rPc2a1eFmh0zrYRMHJj0znhm4cfa8NyiiQqhS_-xLlcwkaI3IJDkqB8QlS50aRh66gT8U2S4-hy107StfxB2GbC2B9DTwOVm7Lm4hcvdcGi1flvNYc1tDiTicQO3tiTMy8VUMGGuqNdOHohqJZq1yWJxHO9ZiD4Y9DHWNXs0Mq7CJn729YVCa_ZITn7tdqc4r_dJPxOS_oObd6Yf8JvZWfAt8lsBkDsyCcymzyc9ZaGKvCoVBM2ZKJpgElGt7bvYnoUYwM5l-61VaC708DKzNu6rnAGBWivriaTSPKuURglNld34hnNeV_rFlu5sf8bT5khyOd22PIzw17vxhNFqFeohFKQMu0tDtvfhpnD43-Vg688QmvKZ-ks0oXbdr_lXo2bYGiKjSWpA59qoFAiVKBWZVzkCnKAqApBuJRn7oiJ3Uqdjt6SgQ10nMWdj3LjL1oPmxaYTW-BV4ZwWnJZ1fdYaG81kIhgUzAKaKmPxMFAYdiy52UN145NdzspseScOlCRzha1Bl228GlZAo3LIqnCufc_Iqsaas2XW-GzIMPhWhcrfmh5OiqueYw8ZzWNpVo2BjrbVZiYpbqV5Nu6sypv9tC52ReHYik3LulghQ-SsD1vOXKbo5dxqYUPL_pgIm0W7B3TxRZDhpLGmo6OsFF-VAoDgIB3IFPP-Li7mR4_1gDAmueMU3hmn8U65Jm_AtXgn41Wj4szx4iA36Cg8rvZdlCBzF0bJhyUE3CDJXUx-LYU1puYexccNKEOL3o3ZgLHVWI0AUsd4wVu6G5zilqg85otuhaoRnOpv6dqd813i6f4uLqRECKf8iFAq6RODr2U8POuu0CzeE464vuc9HPxO_QvQfp05Xhz25UnaGDTFCPT9rh225E-CiVKcpHDFhNuhm85pWeoedwOrfHug5FsCFV8DDPkKMUo-AyS-9nh6KILWeGgYg1GJZYbTuPHNk-X0M_eQsWb3kUGK5q9w9k2jcjVP-rCo8Bnwuk8ebYtoFhg_6bK5Cq7lxAUIrP-krUIblOWyO8gdcPGTc8wBE3csysDzupQyIR-s9cOUfvIHmQ-AdNscOgraP_ks3QFiG-JN4P3kersBWts5AoGbP7ksMViNUQZdjl88NG5Ct9NFYPd4jI5JrZtYL97HUmQ3_zCc__FUVGDG5QwHIHvuhDq2EUXqCOPuYvoyMVql4EVZPVdwUWsUQl_yJs1e3K8r3oA9OwbE0ZqClgPEtQc90DebA-0mla2wcL6cmqZMGiKIik6DgJNndR6iDassRzW3rK490qw3OaUoa2tvMLD6_laV5W63D2Jzs8sqlhsHmPosp_SQj31GXg1QA9Mj-a-PiZhYKmjpMS96zYmK6rEuRQCkRswFNsFFgJ2BkiN0EYXKKKvwfZ0f-dwLgh4DbiwH-0jQy4LDxnPZ991gS7LC_qqp6B4EPd0tCkXVdX8kIMsltrNWwyDwoJag6ZaKUjheyUtJfrsUhQNPnVMREEkUIc-oXeCKqIQdCAnss2zbkCo4tBI0p8xBRFOyOYZdMfGaFmohpu2vrLJ3zraWlyCzsrSxki2kzu5A1x1WZm0sT2uPUXRRTFHTmpViCgPd7j1iB-tDngwiQqnmmpizJBZNmPkzlrqfVHGWMccgaErQGFoPM-Ue6GavB5Xc8_xcZQu2V2H4N6_BWciN4uJ4OphbWgf7EjweG3QfjSGnwj6Cx0_uCEWjMneinnxREtLrkG4aBz70MCGwKgbUlUkffx_YEe9M6i57Z72iQAQotaDduq5yHveorHpRydkE75jqVlXJITmhCxYPnE4KmtaFOphV-ZaVyTi3fRdu2DR0K6n0kLookK7NSJn0aAsotEY1Bmq-ZhgZT9vrhAhsEDo9NLFYyWtlSiqY0A5Ak1IAGmE_iHvQ84vsANRV_QyYz7VYYaev4liXyS4VBmVN3OFzhxEIeGSuLI0xq3HnZJAt6ekikwpSqxdSJGXOirQoOD3TrWqBuGrDCs8ye4e1ZzygucgA2KovUgp06q9lmq7Bjs1o2OstmSXpzwQzH6fakP6mI7ELMfLGpr6q_Bk4m_8T1LReYktAE0tJ7jSR_Q5zsHmCVtK3pSyYdV6PjQINBA1DyyTqWvUByQB149lE6KVkIr-bfaCKsa6Bp-BZ1gUqsXpgkn0yquVsLPHKo7jFQthE1b-wzJq3Vh3VdIk9zE2jspiWZaYkKsw5IMHEa4q444Q0I8o1uVaOfehRQZrL3Lz3vT4fUEukS_alXvbqLkYKSpwEwZ0IsfR3hZalcXD2RDf2NGime9Qc8mPSiFMYmg6qPFX1e-BHYXZZjZHWV8d00U7zOJWKMRlTUVicZB1WT-Z42UdekfKO5ZlKB4diH1xgW9Bqs6ShtMNgKHEY7goMgHqWYkdGASS2tcGxmX-hMbmpWHJ3ndCcQek2sLAximfBr1cmy713WVyYLAZJRv8Y8EXpIv0lLikug3iKxF3rvwD_7Xv8e-AmSuUjygIz70NvgVvo-PST4CivpKiMUAF_3yAPNgwMXnHiVeX8srcsmTZ-gUtTghufj3UUyq4LRa02hwh3esErvBHl1ANhtNa9nQGnER4A8OofJ8IoPQO2ajPmPByD5TTIl0nTb6JH3FBmOlKiRPkEbtLZolYEbmA8m_oYr1qXWglvNfZL65Cjhx1UmwQC_bqpaHpEYX9Y10ta1wKvKeGj0BaFB0dYgO5psx5eAsnoM7KAIdYWc11xSSWWNFTYmMm8WTqKECO4WgyjniWOe8WkLNmdWSbM1yYe_O73eKROkEP7tlUSKVX0-RFzWkKRJddQ21UyjUaZuLUc6mC4KYsRRLGWlCBjPKsTkyolARbWnW7dIbBScnJ_dUU1ZK5-3HW40vVKwzQmmiNelPVh2A0bAp7169W3DKyCLFG-kAzIJFMiq35hipgGDcEIQ2Q4HI1ubxF1W3RgrYJjZPVR8pU5wJ3u3m74yFYDgzFMWiOPEsLZ9aJ67-HPd7Z_pdmTDx-yV13uOvGN4GlzfP_uK4rQiZyPkkue-QcPwk7FpRT19wt0TB1yIL6nhnMLlG91W7wMpOs21-WtxFo-HVrP3_x1ubkU58v9BSrFu-ba3unCYF2cY84Pl-Cp0tY-syns1tdYlpbF-2y3f6ri2tbeKXq_PYIe_6_vnQP_q-_yomWufYGqp9jngcxXxE_KI1dyrysr3mYdcJB--FuLzqnUZEXlMq8F23IZbkyCeia7XuV4Fq3UW8V8lx0kGtV1GDRR1fvNJerVlF2u989wzmYfK1k8K-ZWHY_XekRuf7BlGobMb8S8lvcVR0UDlW-z4n4hCSx8sgKP51wSMiNL5nN1sYU-EWqJHVLt_DVnpJ8WcUIav77kaz_COqmPl_YOyYVfOwFrLcCu9K2fOjAO-FpmgFv4NkUHJoRTG-bvTcp-HkxjzG2qSy6ElpnD6IFoa7ToLFUz5udSLxzIXWZ2sRT6ZoCJNcM0laLZnDTxzfBWsqVGsEAFmuMjAoQX_XuVKKFVSShCJvcD6EVY_aLLKJUNzaLQukjcuno14nW9fFC3kGxo9RGlu61GPQ_D4muD5LjeU--sI1cNwy0ha4Ysqghan-NBX_QSgXXDDdiYkoKtNzKHa69FPppmdGpgpXkrzshBfqPXOpi2ziixhuMOPA9enJMc4VWNEIIfTMmzCooseb52xQKFZy2KJAhgmjrb0xjLdg5_JEvOVCKww58NDyp1kVSxmvULI5rErYqAm9o2P9Y9W2y36fH57tcaphPe8rR15XTsIgJd8GkXrcUC3NDjn6oIdchSyGfiAQmjJxt4yS5PkSmpNwtKuMmV_Uk3KGXjuf8w4LQ7ZeaBGAMp_RCknaYYnywX0LncJyuA6nahhKeAJ5huKZnqE2Zy2S3MTLmGv4SMB_qtlYMG0ZRJ7NiSIbpEEvYcqkTjzy8SYFQTbMmkyF3ebksTBc-lk2B_uIEQCZQt1HUzU5iyy2-zVlWxRK-pDEgMTnMdVpTAr131hkyf5gs-3YHXsyhJuAr260tEvH774u3r4FeK9PJ3jYm9DzUQ38E5hux-F812XnpH8gn09t3HZ_y5p7hnvmnQe7nPJJPN400zrBmYT11gV839iELbeYoRWb2Q1M33OmoHspJhSAv47kIPYVIRhZbiFRWXvuj4aQEYJZRJ2eygwRGiJdHCbiuHputpT7Ty7B7G6fSF9Odcut41BFlFINCxoOp03QVu1q4PNJvUhb523aBjjFmNpWD740_sHFCmrB1J_bqBYnH9elHiqJq22lWHnX16tgrxnTmrsqSVR3c4rkO_3EtW1cEkHz1E9RVUasSV0ibb1sxICVVh3-xnv2suhbcoOaBqospVZpj1x9xbkFYO5VrHIORpY4lErPDSo5AxVMk3FwcKlEGIEZT-4_HHt4Ob7mIcm4ZRUfvxgIL4saMeZ0PFd4785vsxpu_MU-VDOOHbYP7nbz1iBiDi63NyBv2v_D_xzotHBEb_PvPcjPNPTSE0g8DK85cchfse0-bxh1vICzDoq7c4jsCPO0rfRzYvYcbTjtBPKuKrblGbGNkChC0em_08VSdFSDuCbtS0yefRXRLd_DZlegHrLpveLapMc_6yB7Apr1YfDFLaZtVITOLxWfi-gV8MOsFYHuXtJhbru_V9LBug0dRXtgVhXBe0UgoL6blgvn-rRdZDcAccI_zSE2HS9czOZPA8iWGPhJd7TeXNAAscy-fALtXrxqPwlLXlL-E-3GZkWNA6HlZsqftjiLmE4wz7K4a-HcvfXpyPJqM6agKtCkhRABwHn6hAc_MCSGQWHIYrYPgsd8Dexg_v6kq6NLJTUOChJW2L6lrFA7VShK1-p2AZiOjAhyfNDtcktCZ8g7IMs2acEVuQlTQ1rmNmolztx6FYQXxlUoY4ExX6TAGs7g78UUbN-A3XJkDa_TPF7bQbQpjp3l0zIVaEDjDiRh66Vl90Dv-ArgCjWTqgnqlYUpz52BvjFwD0nIiDVOlBcLc28wsMc4Q-QV9Wgss7bzrO6_hSDAJDmXiY5o-DL_2SvKWnJ_pLcCvB6t6b1mjXiadZx9T6cQCugBajsvxjQ7ax8dU0gP14MLX6Y59F1ue8bkz85u7uyDSUTMONSbs8VYgzrfQP__j-zzwFOQrcDkWRBHM5yr6JrwW2OjW2_XjIAL9Bnrujpi_fxWs2jR5wfpwZ3cmSFaCCPCP_Fkj9sII8yLk0btDXKa26i7PjyIY-ZkaJdexjofBQeUpGKDSSQFIjUgZMEiavZcsDVV3k-WbTtJ-r_QHrkTPJWPXJj_U7kEAxBYSPnI4dpd_8yn7ww8ie8CT_v59OBVLgnHHg4GaKlqEIorowUqxVcsh4Z0xTalPCbJ-uzGPCYpq6xB6YpZljxvgeuqac7XAz3a15psaGyqJJWRRsQIYSi5zSOphbT5sVDTNY8Vwubn_nW_LjKuheVZYC1LuynLSAfdccqVNA8AilsejMYVzhZ9sHBuzpHU-38ZbXgAEohaO9ACMp5iG35oQKIKrz5kQHk4GSqeebzDGvftTIBAPgkDsVERWyMujOOm-i5nOXasP33ly8BxAXR1OyNCmDRzyasDIdzRP4m184CqxOIWZmpx__Hm8FviD8aL1fASV2tqHYMYvOw69TjNeAzB-ckFbpDoIFE-m0H_dt3THDmOe1Yi1ybCmaMX4gV6qqvSbE3rPDxIvMGkkk3Mxin1qrxTW4CqLrkGspIFAQI7_uQeuxSDDi0_lfZ5e9WQg218QVs1gxgobDWuRZ3zdSGj80FbXFJHpYE-qiU8j84PJPjeBoOvYD59xmRUpyLcFigToO_D0onk3fidyMg8DAous04VlQN3EJHxKqjMOzIOzbDbw80MJrZhqK23Hr2Ut_jcV6TbzH6pOXPqeU1nVWqwl7zfevcf4bgN0rGa8mNpaYa370aiCWiMQCQRU1nqCMZ9mOBKOJ0sHOzgSi6Q5Vg1C9zRuqh90Z0kWVUJCMw_6IDI4lNF24Rg-HPdbc0WpxxK0CgZFIh4K0AUKZDB3W6eI662rqTpAfJMVaJMjj8qpkr59cO6v5mSx3n4bJvlcpZnt7Khsi2iPI8qxQbSTi7iGnQsSuKKtUKWTi-kFlsUwmEZaVGYwmo1Etr68oJqikUmYPhCk05pCYe_Hn8uN2RNZO5E7I2u1xO7CRb0vVJJHuDhCNQkOkCIRVgdItZiHUe0qW10rr3Z5C2meQTmfj-mEQA9ytHfnQ3N5jvUTu8Q2sjGrtdSIEDHwHvCk_NH_NDGm0NgOLE4FseqvXLhFzgqSF1mqD5FAv9u-PWwSic6ZZ4A8SVd8RDARTYtMSQOOAU7E6AW6sZ_xDzN0dB6KhjRpr12-Z2UP9tJg0GqnQWdMlhUGFb22WA64jRBmur8-a5-C2uEBac3RhueSCnJkGIgkMqt4h6neu5RUchZivXPTzF12wqYFJa71avXtsxZOqCHntKQAFCqIPIZH158o36__T9598zVz5jvXks-YU5eHb3puFhrTvXWHj6Gk6948K-HaDuZ12crDgKgs3gOZl4a-3vv_9o3QR0vQDsN68Q8Z6VSGVSibHCfA1hrd9H_QWwd8Ff4_27lUI2VszwosHFCQeBNMAcTOhPpaPhW4cxBOeW_GXkhl9AQg5O7TdcODmA8oyoyQo_NyQ6W4TaFc_BJF4AGVoeqlTuz6qakHRnpdAmj7TCxqTpToHrNrk5pRh0YLzYUKEGmJecdSmKzcfG3agQstyoLn427mOtnd0e4KWm7qxgpcEfpRMOsoHj0nDI7XOEBP54ed8kRaLROO0VVBnCQqvvwtCIOISsq4EwLMljhQdqgQoYSevb0ih6inKutkgo9hPgM7weUzTfVYaxBLPV8g6OpoTDRWvoti0NkpHFbtw1WUBuyexJRzVBr1qoeAl5muGeximSVSZT-Kwi-XifYVoGInW5SPs3GGNR_oFpQ8MsTiDRGsiu7RAFDc3ePCs1-TCMHkAEGnDZjxuO9Z2uhmr7NUBlCR5zJIoQRpalSG9aatM-4Ifp2Y7FyLHhP7tTE_RcCplIO3h8WGf0AyPbk0ggKy44w0OMxKFEB4fbYwxbIynzWiiJO7If4XVGht81ojLjr4xFDXKnjySRJmkbYmu3UdjmNkT7zvkg9BxohmdchZdk1dXdtqFZdXtGRG3JMgrwdSo6hK57GMkZWVbCf4_aarSWgCuDyEsJP_en5i3RuatrEhDmxgnviENDVwWJKk2odzhe43TfLRwz8QbEtf1zztLg5MzifkSX1tqBOaciQH4NO9QbIeMBIyC4oZfGXFrudkztMtbBUvDw4gG3z3pbr2DNz2sfqYlRnFaWCfZYP6OiZeRXi3YBg81dzdt09gv2tGDeNPxLPsP5RAXolMj7NvvwbPaX2nWl8OL6lSG1QH9j2a7cDPqlLMlVUH2xzVD_W_iD3JMppMv1CZEWmnByd8Y5EJX7R4RxwJMYldiGOls9TUG2TeGD_GqPxYzVB64CFCb5Mi0sTlo1vN-akW_4XcGbDPWsB0tT5ogeq5EmFbRCoIkRMxkLbUH_r13hprvBtBkXluR7yjNPvR9kl5UiItqRa-o9-J3eVE_o7_LKN_nGxOJ8JydXyliEvAjr0tWlkfwz4F2fMzMmegLTl8rTNxDISnkkdd1Lr2wsl0Sx2eD_-4X0kdrOlZny3q9UGusuR-tRde0g9YtX8L8cehrdD8C80icQpXP2dLjP2H7J3ax7rCqLnpHlDzYMf8Wy_L6SHCP8CuHb_Y7-YGd_ojxPsH98onIZfHYznZ2am6nnZ7I1aVMHwGPa1_0-jyGx-d7XOd1u6-bx6VkLnlK1QNDHtePb0fzhCKRshgbeUa7hoAhIiM_2eKCeH52AgvwLLMd3wbRGd52wFg7MMsyinLVDphwEjGbNmp-jrVpk7YgqCdxLrkWeKw86mz02tBbT4dZMeFTGfOv-tk2fmSajf6STs8q5kVbfSFy-lObE8MoRW2lzhGj0cNicLfVUKdWosNkig8A0imVjtHF-eGGOAKTWkIu-XPJCzrG9VhcfxhR052iS4_wWxzH9nDPLUNLt2xbneZn-nde1albtjoQjwf6eH4c5iz4Lpa-nyrgGgDhkNyDyLhkEzSw2RnkGke92alEOX__0tOQi8ga9FIeL947p99qzoEbG90wd53sRGsbt-JOaXOpg7u_kgXvKHE7bkKSQoR51jS6YtveRDNGLG3nJtB2XuWYltSBb3MKb25zPSjZ5Eoa9u8tbkQUdmGZVHk0H6S-YG5VvuUEr-trc3k8Tt3arxU9HvH6XB7v8_aT-noptAes4OjBUQey2NisgQzV4m1PE4TY1xAzDWHdo2U0Q4MbbCUkWL2MT545VXKbEvmIjlneX1MbPZfTwp7ZUH_7jxwVFDZPFiLuSfemKyzOY3s2IJwIIQDjpGcedlTWsgdTYK914TTtPrfFBUOtcF12GXOX-hz-zWvkQqLT-Xp8Wq4shlAPTKMQshSGSN_wg5sI3g35pkc-GKxGQ_Nqj8K6cGpHhbAey-HRjQCeRKmF2dy2N8Vy1z6kr0cnYoqq9qo2Qd2tV5tjTdGMbqPJx5NnI78VTSN5RIRQQMcoarp1gGfaTfHfs2YaUilC4bUM5Q8TagOOSQiuBBabyF5TJpPRg9iNxghZyAAP67SUvn_MoB7qk6msq-faisGgB_Q4l_2fTy_insBoVBYwgvLEjnbSCs09r7kAxltAjeCCg5xDuyuO3VuIdbggig0rMlohXjiEOpO-DBMcS-2zLF95EDghnEKALUe7Bi_a4f7cfoV9ogmjTIu1f_HSOn4s5h0b3OOLa2aHCtCX01Mwoms5CBq0T4m306v-9on2VRXtmsWTDPXn9Ir2vOxRsgykjJ1j_-9L73J97fRCFv8jtRvTlcgHSOQnetc1ZHrDNF5oMI8wbJV0zfpCWr49rDrbhN3VO1FYxOAzfK_NTZ8MuKPLCrcKxOFMC_6usFJSmsv10Aaoo0iCCVkQMY9c_KcxuWfkwf8B2OfP7Etaw7r5aSHUxikjJS1vf0lVXVWDo9eJ4ISuxFGOxsWFqT0rrjfwuaVcDUvxELzgeAqDWP1gnX97BPZ9vxyYQCt1ESJXGs2U83ho5cxKNaq8tXN6egEf1VvMeMKhHAPOraF_cVO--34vD8UZPXaBC9OkG5uNvS9RgYZ-GXr5ToIAD_RChhBAcgnRaMxJ8nScv9McYEZhz9rFiAyi6DAqv0AARLp7v-whBrVgtXjenvr-2TDvVqu3HB5G-c6Qy0zpjTXmQihiXitJxtrUD2JMxv10cBVlJRbJyQrg-3dNPMq38cZHUiroJ01HCkLvg-Tq4xOFs3icBFZrugKqY0menkz0xdhpD2TmBqP47ePgayf8dX9cxQjka3UBXZf3yuSmnvlahATZjy1MKpu4jhMWyldj89bn1WgjNd83zfykfXDwpvP-_rSHsXGLSj-gnTXi3IolFjR3OMxvW5h7GpI6U7EjqV51djC7P5Bupk-klcjZKU1_21HePcqdcR62IxcemV4w58zTf6ZCOZ8Cf50LHPchuEQR7Nl6kBNrNvrPUsoFLgqMGcOwSj8tNd28Hp-NhIBSIBtzpzjgjgp1v-kDZuP743QJztQkGaL1bfvPN25LL-qL9110Td6cwJgIaWdxD-Etrd4zieYUE0Nsf8Awz_uAMmy_f9tuXCcZcO-chGA-zcd9fsv7P54-HMPjBbh18sgqPnDb-ntlM660GjC88qZJ4JjJJo2VZefB1Rm-vrf8I_kFc7fd17M8PPu0JxIl8H3w_bfAY5azPPUju02huhMahg2DOMxq3qm2GYHzioTfa65_kF0ZJbf5otc7Za507TsJfqvEjQK-58IgkYjGhUcs28tKT6YgSZT822ZJsu5GVUmDcHJWKz9uRBhThQ_4LPlNnCvLlJJozDeOjlIcGEmcfb9Tr5RdgsdOYHg9sex7aiMVw5_KZnCmERaNFi8uEoKZLtWSp5_gc8FUKittVoSteLo0moqZoa4sUpLrXqOTxDhabNvRqqLZ0WS5Qd3t1hRTUBSS8cB-HNj3KXbh-LxeXlnxve4GHrGQpuGEGCRXqKvSnYQnULBZ9rSgGorAXjT0EiD0MbyShEziMN41kPttJydThIxZZldp5GokCjecRS5wvcCPSFmjXhO8nyZKqZwHvt59yzaJxEIA8tuDYARcMgHmNSOahW_W9EN0uLc-A1nx1XCCgHJfGAcJesx2Kqwbf2yD3S1oTiCQp2q5YG9bKqFA9YLEX4tfCQLSmgwRFaei-NsJc9V2vyKpIldkX6FZmu2HCaYWnzn80DyVF1bP2qP2hSF4trteTwugolIZI6Q7bhurYR-HprFv8IZVnyfDyg3DJMBtjLVxYHazfzQESnuspz1KQgDtm7llm28HX10xU49nWY6VwYKYP6aoEENUOE4lk0IJm-J6TfE4HTxP1Ybcn4u2DSh9ffE4iCbqHFmSnI5kGOAHe_PX9fmmLbk-FUeqb_8u2FJREraTbr3kFm7Jhav1cgUXFgsgAyreLgRK_WHrFUuuILswX9_ZuERKljXQQ5U3hEOddLoqdyJQ18aLwKiPEJEC53FG9_v7b-5f_ThQ9Qhb49XJLkIbP4o1qLigNjuOjI4cMlvrU8ElPCJ0vwcRAU6st2uKvkmg4m8xFv0fKAR5CwuhizR02f_eHDFFV0zhod1edAbPQW_aQh3vkAdD84YB8PPQtlWpdrnh9mQqZnBqO0Gf7zGaSKVzSRFLj4laleuqjbRlFLa5t-LdQ30lloaDcNW9nDFXQU03Mh3ZKA97z9mldaNV5BUazRk7M-S5iitt2e7efEIgBuXTqoY4oqcaGpspmQYR5AG_Js8_-VHMKh30KHreVpEFWoViN5vPyLPT41YI-Lbe_rLZHl36huy1nnFi6j-n78ou1Fca7d2JNU61oqKXezhN0cU4KISuN9ZFeRlE7dqt_wda_2ZaqPt4tJs51ONPi_fUMRGaeFntNtmwLpeQLcBPwM_7vJp_lZFVLlDzDPGHUIAQDDfxzw2Z2WfZcKeC96Ubn7OmQ5pFSvUGQunic8hifyiapFw05Nd12Hnjmw-vYIvW5K3M9j9medmwvMyzJIlXrR_tnEd1ktCo8dolOTgjGs84JWZJKcebCj9b3WWj-_zp4r__b_6ng4nzx-73se-wKtNHWuSBoorIuJmsylIiJhsItN72qqpTzjOn45I8D1qAmAmRyL5Z1obADDvrKiSujgJJ8voyd_MYEPIIrEIvvaVUNZZiD9F3Q-Ug4uJueMd3firjyPaYmO2JKNfNUMFMW5Jnw3ypdvHmzYvH4-KOb1wr3vxWQgZOspta9y0Oybq2U2ePJs3xJjeZwJHoAfGlf_s2iy5MiO-7pf52ulvuO0aMbeIcfkBxb9dxcq5sdfWBOxrwwFFibLFn2LNFjNx76lr5qUzIG6ovwRbOV2hkrcRMD28KIqxV_QUy9DEjCq1HVrwbQDutmNtnAdtSBJ5ORElL9sG_u4w2yh0FYxJb7oAN5kxLAJiD7K-ARwsCyrC3mDC_0l9yOxgDWoFt19BR9BhORCtpJJ0vCnb-XVcEYDTUblENaUkpWLNLXCQgM006Muccq8dOY2dpJtapYYj7_gvvHwqqRfM_gBG3ZCbwv_rh5Uv5Zdl6UsHFZ0s88-QzyFaCAHWxwZRiMKqWIb5m4sndUXNUyHcH35UDybxDHGk0NuhRFHE5r44g05t0GPshoPgosPFG8gx13S8y3_cRwf4pT7jWPBC-r8NS6RbZ2JpVSRIJYwKPsAuXpyUAnU6fSSEFN6qP5V_OkoYRu-xpjPS7eJowNPOa3VooGOvhutHNAI6jyLdcnaEQS_eIPC1XmzQteN7BmRHE_fq4PtexSDwRi0Yi4Ri1ri1upaVmCRQL2P_fMDKJjePVcgi-MPQWDRVRN9NCiCyhjIS2JOTRJydmGVT9Y0fzLJqKtbPDpqoG3SjKaqI3nS2kYg67qkYSnJZvs6H45J9-tFPdkdETnTvwAaFnnlsuQ--wp5YNBYL6zyO9dMEwle2nPpmtn_9kIjYqIHi5dRBJM090EGRVYNA8lUPqOAIy2QV6d1Q2evj__Cq9Hhdgs7lIjoiL7y8AFbCsO3YjPxhcQa7OHqphfikCge6SoRqzwKcw638nhJIJJQuCNQ6s1YMwnIq7fUweEo3tdFyu_fGejPb4JheAC2hEtwFQFGWglIBz6CJkyRdIYfAw-82AWH6KOCnbTwdg_cNIBNEvDBCvpzmXQpuatLfecjx3swZw3Jd1qLK6YALXm7W-kriKvuYUG4_RJz8HcsCBeezy4VrER88u2w9e0Vlj_2QZs7CKy61TR7DjpoAUqC4l4mWjVluYWwimx_pyg2UQo7pYE_9y--rgH7q_X3IeY62qVQd0yE3VIpHp3WNKzSuGDrUcQNAN90p0EoEpanG71wIMH3CP2F-3sR889pP23aXmQX9UQ5BXZUPhN2EaM6tjyul8hDwaiFvjBxF59Cg19rjOD0ovMvVYjx8GN9MBAiBmto-hb9VgVjomSd0__-vXvw6pKnp76zuopO4sMG-q9xBObvLVTlBCAgnRfc7n8Uf8fgBNlYob1R2CMJWb0_krX1k2oeh3CPC30Jk7C38-7MMvVUQhWh-4Ls0n_Aj4rw4TIPuf0PHbjlbebfFgk9loMYEZW57gLlxYqbJ8LBizyR5aKNcuooHPIKMjEaixeMiC6adHRN78CmCjJmJbDjCZ36yB5SQi7o33xqsh1qJa_2ou798X4sYUbyt77t-bgPl6Bx-mHy1c4WvISQFCTnHIjIwAunyoBT90yNrofa5z-okFhHdSm4__bzt2yAs6RIvYC8ToXhxNnhN5IUaOvtnb_rl58eKy48v-5-Qv5u9fJsS5U9zzYugWnioAcx56xnWFXFTXo1buuc7v1944hHEJAQQP-Tlt4diM3--t3sNWy1kwyvxBhfh3swYAV_CEJgWDyKE5imkdsN4M8I7Su0KwxmCTPdvLlGvqwVJbm20PWAzwBglmFKZ9ePsLp198TDp_S58zOv_Xi7u9EDb4TfCvAHhvjJO4GkHn46BlP-MjNPvYeh_nfWeaLaTXwCE68tZcN7QKglPUeQ66F1nIKzJ4Atn6wVRL6JUj4dLs1sLleGxibDX01WJA3fTtWIQZdMwwRfJds0i7ZLMoJc3g9lkRbpPLjAcTt0WYQFcDrhH_sHQUNqkD6-TV7dUBFj-xaFv7iH24ro_Y1VhshGD6PiOlEf0UaxKecV2pR1l0FaLixoSnBiUFVH9rnpjMrEvT3k4w97kUXzUPR50pfSdcsvljfc6vUD_UwUsfGLATJQjOLvPSiLWiL6fddKrlTJVwTKob1XnKBMjVERRnwwQ7cg59gIgEi_OzqoMx76LrFGk-wA4R39-eUWpuGae55Iok8Bws4zoQ-KP3habh_jK0iV9Tidl_2KDM4MeR1cGNwLn5hH76DBzML0CLF5IxNUEmVOI_yP4fwOYSuvXVD8qazPqy_ALg-bj_qac-8o-aQ8YJMen_9b8JQLkUzz49owqOt95ag7ERVL-kRs3PDAl3ifiDZf_yFZkl8svHPn_0Wwo-8av_watBcNlZ0IVPfe-LO8GO0b6akozENCqYsO9D_8VRdKuzDOQ3ps-hkLlu12cdSvgdFpFwH4p43-RvppFlVghIQmo4frk26q71lRYKqcMvvszscivs-S3u4-HePgZ9cpM3xiTD8yBM1q0YztQLpec8x8eEabdGjyi7-tu6mdfJtgnidX4Cbv9xUeFYNA0qB0HZYQvSIF6d-fSOpNnVrfC2PxGnaIBvepJT1DvbUe-XN_Al_-Eduu8lf93S-6U12nJPF5c09UyeNcNurojLMux2z5XnliTG1_wyq3u8KdnkbNorXpyJWGDEDD9FH1wKiyrfsznOTu2qnuf5q0VsbmJ11eJuXg365tTUTKJK8ix0W6vjPS0QuuahsraK6kiCbk_dADQ3ozRPIs91UdmNouBlOY4LYaOoAh8fkCRFVjNkRenyRM8JMIVlVKVyo-oi6zoBc1bNWDSjisxp6gt2JajgabMRprMWbDjFisAfu92Bs47emYCqUvejbpZh7vmvbSLr9m48oLDVcr5bFptNNM1n9bppYsw1x-HTIqGQ2QWLyyLts0Q97hvfF6L3SgjmmrQMuw4SbPOj6Gn-x1K_--MmPKrVUlndLMpoCfF10w0zUUiKYW-X44R8J8TrPJ5dNMXcMQXSmB5jaVoBUeTLUtvBDau4VJYF66LfxE2YDp5Ikxf1FH_Az2Ak5YyZLjdFDlFWAmlnGoBBR7WOFN0djob71U7RVIayQ7zqICiT1AFLlvsXy2QMsJGdJvgxPfX6O6u3qzObzmW8SnmwzTTtKQJroSpf6pLb2NvUOMDnDj8xfq9j3UPkMmUmYZBmV517oZFPL5s4zmzd4pdGCEAFkVhUZ9tG3pvrdetGZ7-dgbqN14NdXUGZys-3t-stz8-fhfBIAJTafvWCE40LNM4Z9PZyewlBuh6-kOiuvl7WvagzwGkfZBtc5mIobKEMh8Ve1SN0nXf6fizDD_t-7DO2s7Dr8WYful9yFFo28_1b7RFMIHlMVkI_051Sp-lMnfx4xaHJ_7thFDFNguY54KdlS13YEBrW3pxDJdouxrWgyey9A7EAayJ7K1xuEHsXtWuq-WsVJeE_8_BNX915MvvB0ut5ukL1_g78P_Rv0ZetJewXHyhjb2kn-aWyoxUgwe4Mkv-tiavcuU_tsuoN-ZEt4n_8h_CV6J2R6oC9kdNRPYzL3QfUHafsN0A9bEQoT3ydqdVLGYug7thOYewUTlIPgJapKXyn78k1miwVVUICYwwbg5RvbuW8DnocgzOp6zLJ4DQeIuW2MFaP2FdK_yeJY5BJpy4BtUHXamoOP1XYeX9KXRi3o6bTv6dTwWmyhzaMR_1OSjIfZ6FEyjmI55ZolBOVLsoD0n7hnb3HvTB7jHI9NGR2fPSGMeU4Ra1i8xHl2HE6nv6tDsXhm_pfcdFUVaZYiAYZwPjxdIMIRXgdGBEgspopVbHCazodqkV-cCrRdk_0iggm1TjTcpQfR4TVwg9_EVT6tKTJcoG-l8jGbKo-w5IyftawGFrkqXvGZhSRr1fkHhXogDtXiGERRzlohg5oNeQ64acQ4zyaROEUFU_D8h0UhGQlUs5BeurTR11LKUWv_2nh-4cH6s39E0XlsVJlT0DdpFrvVcJUoziQc5YQeNaWIdWz1PHV_na78MYfoLBTrw4p0SLFmu-KlU8ds9xGANutxes78oJi0zHdPJp1tVaNkH3Sqa2_ekQZH4wtPpij_aBYYZJ7ZjqNuTx3KI9m8h-QMYUH_1AD-0fm9nHX9D0JehzT-BpcoVQSu0nYxerTDDfcZnWwQaezrF907giPvvZrTjMFLVHwQ40eUGIO81cc4fgNQOOjcjRazJCijuvsqLJ9CO33UnHh7eS_k1sdF4qKCqo-FaLdJ9YJL4OqsJ1IqKLBr-41mgKD99tLVYoxEgdzL5fp5tbRVOFzgFVAtQe6Lso-M75uuPeOAVPVRmO-wtvMR_Zu01acB0dRDFVzdwDLvC9Fi32MfIafxPVHRWMhPzjXKKvHqaZVh9rxb5X2iU2lAcLrJajRBw0-KYmYBf-6QB4zA6UA93R2ciuGE2ANCAMtgRKEgo4gnLur03qEUI4cwA3wAAWAAKbAHTgIki2Sqk1A8AouUTJ2huDgoZ5Qqxy6Ul-Oj5LPSx1YvUHnGw50Ph06K6Q4Ds4l6uerEYX32h_caxT4jioCngDyZ7c4HWSZfxYEK6LIZeqo55lqTKGovw6J3hwHy04ORTUpBkMRWTKNeaSAMuYRH-q4R7wpRFJ35m7lfUXJ6vb5IJ5TJgJZRKriXhlWxBYLT_mmHwlCeGPR89Ec8DwE9v51bhtDOvZSlsC_NppVJUVjQlmno8VEUSedQp3kx1CGHWp2q074wOaLMXDWz4L3yrKkjAq6pKDmuWcFtIl6zhr1sWj_lfc6nc2EIw9xXZcoq_Cuq88CGzaVYuDytUcBe45TfblVkEdxnOugZW8ZPQAUxwQ2F2-mcpRFCMNWDIO5zAFfaR686RCL1qzU61J2JDnlBK46G56WzrON1ONDHUbPs9CV09ygToFOXBGAQpttm6_JwEoiwYN4vYFTJs5rIJSKAEqAPzAG_DEvCnmDBdquOy3BIytQIOArYwI74-O6b307jBcJCABwIkCL7OBoZvXTFLybjM1AIHGBXP2CXBLprK8k5m6jJLXbKcnKhKhJjQSG6pfDb6fP39ikz020gAB50jmjZ3sCicExrwEXtyUBPvkjiSCrpySGcxUlCeQNl6RwrQW0JlN3SDJ4liQ1grTbJTkcmy9ZQ9ZLkg2c20Vt5eKEZMenzJnG5LVLsN99SCUH9iNEHUWiL3ViYgB1htgRuIjdgasYIblxHLTkznn8qcfeOnZ6Qwt58ROCzH5b3kcoAg_B1EkpyadSE4Y9Y9ZwEYNUBhPNa7n3EH4C3SGtupIHQSQSXyGkqYRmpfrtjlVSMxDopLDFDuGFOOfuIIMQrFB4I-AqMZrz5IVwtB3uwA_ss6Fyp2B-fHgoMj8p9Xyp3yCzpLl7mYxGLsxDRonVIvMCi1ng9OAjUBQWacsiTdet2_RFnnIkIXSStfkmU5aqsNeYjwpFLef2c8eT6pk6fBnZSMKaWkWpKavj64Jlw8uGc4cifqtEDGm30w9MIMKniuIpril34bYRePAUMKgCl-11kGrKTDgyOhH48WQvEDFADBESJKR-nEoPzEitauvp7qF6UL-HTIOnXKBwIdpZaFxQrzksbTQQmcSWeIrjEigFajz_0wl6UWhK8sz3rFDImyGO9-A8cm7mPqONbspi8_4tJRkWVW4euURZ6zjeNwXah4OJm0fGvM3H7f0CAsFQOCKRxiRzNzxToM5OLZmSqjPSbU67c_QbjyoCdUxKy3x-RNYtxab5drTS39Lr_lTZmmD5VXWNwta8P1P1DbqOTc0tuk3MuWu6H-bbOzqvbRv8GQ7917CpuUWYcD8bSGrYrlOHH2GNmzRt1rxFeMtWrdtEoGU32SOuZ3yv3obQST3NqJiS9cc_y8yERNFmO2W-3hoC4HcG6pOUBXyBmDvIfAsGm6cL7aif_syXjBiJx__CYgx49z0RXltqsSXvW6TI_0bjJ1g-cdJkK6ZMtXLa9Bn-4DfIJPqNUxybbY1lVlhJRpeHmhynrXLbEHpDDYOK_mTyDU-B7-pTmCJbjEhxSlKaMiOtTrm11lnDzs-vMcro1CYUpNKg881WpFEiQD_P2DTTtDKsuRselOzQ01c-yVOIvvdfQAGfeIONDA0pQsIyqsanYtT0JHwRBmD00V5mPq9w-u_1SbqMMB13IgtZhHA5K6lCXdazIdX_GfMt3_MjP_M_4fet8jt_8jf_cvpz_GHr_5gESVKkyZBHlnwKKKSIClSE_YZKc0b3j_MhJmmWF2VVN23XD-MESf0467Yf53U_75eE1CnV9ueyCG_ZqnUb6e3mt2M6duoMWv17sd2694jrGW-8F3xZAkhD33780TQhcb7zpEGDhyQPHTZ8xMhRo8e8-977Y8eNnzBxkt_afmOKZ_C706bPyA6IUmanznGVrp2_YOGi_oCPW7Z8xcpVq9esXbeeIA-Q-1Ueg6sTcMhb1GH_FSQhtv-m3qs33PLh1o-24fnCuSPtrLffnHv5xOwdO3d9_Mmnn-3eszd6fS7hZtl_oEvW8OYJLrsiVZrDudQFpHCUphkrm0sdBOR6_24X0_FOGK_Mepmd7FSnOyNWCkmfldHZzvWlDQ6wcQ9_xAd87NKEtzj77XPRROdsx1_tWOcdcdh5h_qKVO6Do-g202FTCD6mIEqyomq6YVpMXYFQXd3zg3BKsUSVEjZ1YS9QuXRXyHVfV6kiA1UBQ6atrYAlK9bs3dXYss9BDcXXi7jARayEleGvM5V3ZAcz6UQNHzGseXd1paeCVbGaUva33cCa2MA_wnZ6gSkYIbzAPoyTrRMm43BggsmG51Bcy-ME83XPc7XOAVXtO9vVGXgUEbZVAxGsAy2W3QbK4EAse-PlbG-r2BBrCpknbISCI-lTiPahAIljCUFgysOon7ARvW9djr-YuBYu7qfjisnDhn-iIBUY8LD57JqBC9nSzrpW4ZZUiWZc3tIh_EAVfQAUto6xUcguLSfbqjlW3KUvrOGXDWrpiibbuFZ9GSFxOct8eGvNRH0Lu43oPTWpQdl7S9XGqS6jmjpgRQlS0KrBXfpRWdjjs7H28AgCBYt-BLFT2HjldOpXPCLJhvUhvZ_de_2t_a2v76MtXbLL-eMXl76__kR-tegu-jL68eNCDjqI3qUGSZA6akM66SmO1ushZttPr5-qI8VW51jhb_7Wm11iZZjPqmxBjkPPD65DmMEGFoYpjBbtEOrT3guun1Q4ZQrmRA-fLmF1Nic1QwufZEe2PWPxVogM3wZ4XLmviYaaYnnkIyrI6tHw0F8Fy1vMa-661CZfd69Zd3pc0y18b-t0n0cvP2JYVZdPNDqO1jQIVLWiKZmkaHadUoMh3ldpxojfbSctyZjNXnlvgHV9mClZvpaP2eR_vTuYvDLKc52by9Jy_vQ9Yp9DyMwFStNTpVXNnhqtqdkD0lu0NGhD0xObeaE8tHOHZsHNlkQXCCQWEprUadVEk7poS_MxrcYV3dRX2Rh28IDJvWunU4jyPh8Krp9N2WWY0aCTp7qOYcJLCMnDQ7CAe2wzF-7OEVMohUoqaWQkA6mkkUYKqVSnVHX4UCX37mxKnGjTpW4ryZb4mPpXikU7ktdQnoEKFkOOUs6h59N56tjgo2PelKOxyZ-4XFSQW3iNPBomfSlaVsf1mCF-UjKmr2_Tbjz6-C7YVdvVi50M-2o1QcBAEDGgVMDTRIBUADIQARNHCBSqATpIA09iYNIaCAAI8qoya4kECodJIFYlA9EMoIxU9Cye9G32dbCqAggAyECUV43rWg-UGWYITkBSKsY0VKmiQgMEgjFI99aPCJOQJ1kEODACiFjUKxVkCCxAWlLwImDigKASdACrGrST0jwPnsWryl0YBDAQxEiUtSQChcMkkFfJi0ZH8yp6Fk9CfR0yQMyDM8pUlFdNVvBjQRhLA2EQBXGQBsIgKwDB4sCs0lnCKB5DNsn--iJwJPfeBru4llSNrnCEH7mSdfX2uRuGI1BQ0dAx4tmUWUsGQBAYAoXB_xa7lUOD8OjHj4uybQneJjfxhZ-v9XsSDe3sfHrVRoGPMyblJjjHKa3OOD_NMAW6nCYMsZ7qDZLTg7OKBEPO6K4lYMvjplh3H5YNkQyTm2c-WZ59EICBIDAECoMjqKx12HABrYBYFBwOh8PFef9Dhcdv_w0RqIuuDAK2giwrb_ks_U0Hyb8ZIbwG4EMHguzXqqN7zWlJ_0xkhoyP150oJRzWwkMHmrvRyIu2ve_zPGO6pm9QKvJkN0SXNnVXV7qOLoFAnU4NtwLNXAPpZv4kSwALgmfBkArSQASLAqasnhi4CXnP5PX646tStGY18_JJ7JGs3bx6JE87faym_3BlXHacMcHYOkiEDw_2ezmipxppr30Ng2PyGWxVrrHHrrhP8or2EJrw5z5ogjGorKtVaF38FjTdoAjP2lDyYvE9OZApwD_WxS4dJg6oJOp6OtnRnmu87m-DZ5waKEzBpKVaqLolMwEgeF6yLu87aAMI1CZURvBjJamhjPz4Y9IfXlrUfyQnjunckkcCtaRtegRUS1v38GPaRAv2fFj7qvfbIQFa6MZKzR27pM1I1ss-7ZAljOE0ah33d10w2PnFP_MlAbnvdu5nHOd-bf-dXjl71A74XD8_-1iTJdowwPK629A_zDklSJB5H9kC_iDEWeKIldnHelTO7bhZRguvOe2hH7Nnts8K_bubkGP8CvU4fpJ1k7dd-Ynff7jsbxWeAA"],
54247
54247
  ["assets/GeistMono-Variable-bOGSM49p.woff2", "d09GMgABAAAAAOLAABEAAAAB7hwAAOJWAAEzMwAAAAAAAAAAAAAAAAAAAAAAAAAAGokMG7UsHJsEBmA_U1RBVIE4Jy4AkDovfgqC2TyCkE4wg6A6ATYCJAOZPguMdAAEIAWLYAe_N1sQwpEEnz_u39VWCx6kmwygYLfNVH-L6wCbDmz2utsGVnOjHfPTVrBdebgd4528y0H2_____396UhlD0zLTFlBQvXP67_7TaeagCIcpFMwocFGIitHEJCmaEqOoaOzCC-WcsYiGrJfH5XTr4GpofXjbKGy2-iUpl32FKVF8NelPlVRJlUdqDqLwsWQawRfFi-KcYUrmabZmRw48iUt8K_vl-JFMN31OGCeMTzFusQZmZCbzVJlgye_vioCvPI6M30ChL32Je7cp12ke21_rre4TnAFO4dG7e7nwbxiX6uLdDTc25DdzvDJVUuX5OEvmjVsjTOVQ5ql9uXS8KQw0NcwIin9JnDBpqMKS-05MIMaPNOIwbS2mLRRPzcWmRMKBS-5m3a4LmXC4gdIIBkUmkfVTNxFh2nbWMUbaYrAchkoLojj816L0VaNrHrOsBMWCMLWWgy1WZ_NoeG1RP-YLZ_-Ajv4SzTAJPrFcHVNm4iRuMWs39UMysWvvBNP7qCxiv-7ZNvlC7cQ6xHlblKW2f_zg-NXLAD3USzVycKabauTgProlcCBrjF0DQjUZEmZPPe15Xrd-zn0v7RGSEAIkMcQQikgzixFp0gREUERFjaXCIpZtrgWx0S1YKiqyLDZsFVdxC_j9rBU7siyyWFfchg07_F9NrQ_Vhd0qSS20LI7lcZiUZN7e9oS38y-1FA8v4rvvCZkCyNNDfwn9qbqdpNMdDQyuZgVyB-IL4zc86eY_RpQlmKCCsAMhIXuRMS_JZV0uk2HYga0CskVExTHrXt9-3dVOV9Auq22ldVZr1arV2tbWsbZsqeR0kt09kQl5IYRVijJc9AbGAODdmabPvHO9OeX6_Ef7XSGHhUPK2qzNFUMHbOQUo5qamprk56cmJA-9m_XMRAmFQtFSMXZLIRuoLNW7rvbUpHe_T03Ylho1o45UIAmRSQYlZK2XDfBF__9a6ndfUbcaBZZMYTloGfAD0jab9aCrnpRk4Oxn1sAU_HZmvlEEDVT4gO9f5x5r8xHxYWRkGdlm2mHGtWpfIjUgRnL_DimA_wIIiICBcSo2IVWFLHgUTiL9IXC4lk0IhWv7QtkDIc0HeDYwatMgcHuLhplMVhUMkjBwWXGpTv6r2qDF3KRlSwc8Lr9fO7X5s6_bCYRCDYRCSIH5clpfybZkW0BVIrAsWwbZnDTQB-DjwnEP91Yq-QTHfXu4A58-wQ72TONMp5MOsJ2wg479_89pvi9IznlXSkqw7qqr8goAPkj6jjQe2VYmGsK45C6lEvF2ZroCiqO2KqUASJDbzhGLI7YXhuVBN0z-31qaFOZ4t2Xj7n2gkWx8EcPX1KwyXEixdQql_SFXP71mhdZo5xDoFzj_YU7jf0YjsizLTuIkbYq7_ADh-gHgcOZ11D463f8_P-Yl7BIWKOTY1vA51_-flGIFCkxL8YHR6yPffa072ez-esJhnvj6i-swg1Y0TZM2SWN2IlaldbJZDH0HFEdYSOH5x-IWPyKuBvgHDHi43--bJRMWUQ_Rmkmoo49DR2ZHSJT4JNuhi98uFea_VK2u9cEgSJ1IeQLUM7sLTYQmYvJVgZPyaU_z9rbXzfV_FQr4VSgQVSQlVIESUSBpoUDJQhUlGwU6ACAoAyCopSi5R017ZmR3cn5qyZ3UqapIWQBlrQDIgZQ6SHJPh2hvtDcqdFRPSPm0IZ9m9zR7Ou5tj3tM6XC47O2-_tN-vyrMwSVZIxH6xBPrGDaIWHWL95EGiB7izyTWNOcNcVuCQC7RpM-nqq44nU81DWFao2G49AybrZenOS_DlOdlwt2BBx-PXwhN0n4UBJdO03QhRZdOKQVGupQ-5WWSnVKn0ts0tjFjxjoOeekFFHhkk5fLdPjfIfsRN4BfKPFtkYBO515ZetuV5IykdJYJQIENQE9YQlH8r7XVE6VqiYS6bwhlW7xbRH9GLJOuItr-G0IhEhvQ_xqsvLjTXDAYsoYS5D8QbhYO7sdNhlQu6PdO5zNedbcuoMT9ExLnwhjbqVQlqsS1WMByVZabSPkaemCv2SjXUPUfko4pZWydS1UqYRkTgl74jSmla8L_FtF8DhERhPrHdbmbuiK_-b7x5ozA6WNDE4wrjBFmKgYhxCAGIYzw9T66pI_PO4yp_R-Ojv1KrUmMUVScTAXHTq7994_YJo-wyNswCgwMyknUJ1HrQ9bsv3jscdrlbd3jcrssIkabIoYIIZmEYRgp7_1vRp2TA1gY_3qb0SActWaJ9GVgu2ASMHJEyYx48kX826cD6aU_Emc4MspkJM0sZLYsJFs-UmgfcsAJpMovSK3nSIcuINarQlFnEoo2uSjusYEtTs6ZoLPEP0_KlkjVCgmtk84gGYgLDZmgefFoSRaFlmWg1XloQxHaWon2xoU-NEH7m9FnMUEnT6BwXOhLF_qmAfT9HYRoSx7g8yiPEXH5sp8qBquhnIAVF75BEIEQIAJhQHRGV5UaVzPqYOAWSAG6wDAgOlPrMs9oHersbsdaiQm-h3oY9ZjBLVCFCdafWoNaZy7USy7Uyxp8r7beBW4BEWiBJDzEewg0qsnHIRxABTABfDBsHGYicKebTCIMjXFyAQwnZ9i5xOM--ewRNDsdMCDss71k1mrA1Vd5PRWkmeHzrLQkCER2S3xk3gk7TByWS9FSn_gEUWDZ-QNYApuWaehblJIPbWVgecjaA4G4YharQ5GiVtlspFgtB6sKVkyqlWYgsO4wUp5gQaYRc4iya5ZJd4tWqTlUbKfzVySApdP6lF6ZKQp2545sCV-ogJHldoDDKC4cptWQWHFtYB_Suq2cuTerMw1ZWqOygiL7iRaSd26ck6oLpVg7hoc8pgjzzJyKNGJoZx5HrHrD1YTLhQzpl3Y2tcGCGbPmCG_S1wNGohD6fTda0WKiLZMUilJt0tRIyTbSAjirawuH1ffiPKgJWjqBt_KuKQ6BldbINNQWktXalqCHJWvmFjf4N3ac8TN2KgCnjkmL1FtRQ-DYYVg_znLjG3sua9B5be1BYIPd7Uv7sWtf12wCxYPvIRKglggIJbvGHaGC-GvVm0vgRgfEypuoxeWO2XlT0-i8pWOtvLXaXF6v7ARdXbjr_RugY_MPug9LgP4hk1kITOScEQet_UvZylHCaJ6ImMTqs2VkBHa06R767qRd7u7aU61vnTudShus3Q_sY24pRisWcNqP6czTmtEjXgBvvv4p4C-cjwgDhUoyXLwR0gzxuXMmOO9XP7rouho3Nbmg2Z9uaAvhXjhK0RFTnyQ2r1_eyeW2JdZOxT6Vha3sgaweLaXZ-P9WpaQ_9W629bc251Rb2pbqvh5GdeMwuflx3IeTu5g-EAgEAoFAIBAIBFKkAUEQNDT-XoUAhRACEKRUC8KDvR9EOz7k2M6PrBjx2DUYr0aazyjGKFVRzQ914px8wBjAdMBswGKrbQHscJz_PucAVwBAg1ZAu_cRADo1xH646pP1uvgAXTyK2FJ2klckpxnAxa84gidywtLpklntv_bFYo0pccp6_dk-zg8s88DJi54zXaI39IqZcJABEMubXJd9i8Egy7cyfzj7ju7TMRCw35Q3J6UPI6e6vriDyLgVWjp4xlI7y2PgFO3homJEaaiKKsV1aXAJ6Ahv1AlxLwipYxgco5qeOOI0jQwvrln9k_W9VwLWI9FxBo07nnjjTyDFKcuUBFN-3vOpVpf6NOC1utKdnvSmLwP3q5ZnRYo5rlqfDdnIXW1rSrMNdnm-v_rO7MruVGY__-DTVTWpzTk-_ZSLuZKbuZXbuZOG3BV91Ap0ArTrDzwB4c9bhcxDArycWU8FfeuF1POmU-_1jZunfiPuAGwUzrlJDTtwmLMBXTpyCUnO3zVtga08jengOVX6GypefFSWU0DvBH_gl0Hx5aPm7TMJbGwsoI--S35e-yM4vbpE88GjU8fxgL3sH3wYPGjcageA_KlovjTQXytIxpAe5NfWXSSfA1jQpIqU1wGX-Fm0aTzMWDd1ZFO_X-nFGTRvMIsIhwkAj_aGQWwY1Gjjg9DQCdQ3dA2pn-UbneqFdQvIn39kVLxgRpCPuluWwmGHtw7pVZpTL1vfCUc49fkBWJ4OoXN6AIGt_r26H3jqYOzE0Zyqc38Y4dQ3BBAcz6fIFzjVrwHRYXDJ4Zijy2POFwH9m92LO2o-1UkrNmH7TTIMKDQNtz57qtIe7ztclqXDC9RPSZmBjg5A31Fplo5VAojS73zR3_GSbOph0a-8R5soj1uP218DJ8hcXZVCMv4IwISzI-9PNBAAKU9XgE9Pb8aU-_u6x3JHHbALSQmu-DrY6c5LD-GSjJRhhjlK7XTYL7V5VydH8x0SwxFHFMQR1GcGHH4K6vMCDv827_wzqBsKXhIOvNg3Lgs6xcVJbPq6JOjqtyXBZh8IIVI2yMEpnIs9UoffNxFeoW__fu4LpJf4PqS5YmdAKKDQhyGlZP8IearBZhrpwAklN9zzr4xmHOzbOYm5ocA8a_3CMuHjg-zA3D-6wlKuCHi8Jg200u5-q8WN7oeA9OoSKXPDgKt5m-WEmZLmFRrQoWH5QGp9isekLyT_jS4xsZbawbJmvZuxb7Vt2wkyaY2oVdRUa7Te8zNtvN6D8lq_2Rd-3FRbO1oysZZcGSlvrpuGdkyD75in6uD-wFPVzJNp7zrCKfTWdMlLkXmV51mvDo5zsnpnAgp9MYlp-ftnyo2RxxcAgEoM4nQFSC8akd0NxOtmrJCb3k2JjZCOHCcoOx9fj_me5v4jThFni3kj4PGusWNix8fmxJJjxXG-uIpYyAQ8yrEIPEQ95dh3dQmaJC4mlLFaa2xNbAnR1nkHZDtl62XLlt-5omOyi7Ejc1-Nr4pvjn0mvMIUsd7KH-4FJtQxZpsDwin_MCM3dubtL9-WbryW9NoCUSuvZY_t3m31ZrYL34EpNov3e2wvbZs2yxCuA1Nt1rvOHufHIzq--bFneG8E7Z5WAHaXbZucR24LdajalG5V-idtn23f4xIwixqxcx4X_-ki1AMw9NRR5yYd3tObpoapMTqiZwwdWY-YxeXvZhTsftOdVQFsa4HRgoG0ULfX813Mjbbbi4uPlgWyETC--casptnJWoOitGeTAeABoRM7Y8LrLGbCdgxgYniQNbPahVUTSPT-9dsonDI5nRIm10DTtB9GTq4qV48NByXbBGjj3jauloWWsj1G-nmXZcymBZBRlZQXSi4gMXdF15Uc0R48-5bJ2ewtGMHuzyk7urYGK5UHjk4Ko1VOMvnpF53u9ILdxeYg8yziPb9aNwOM--CSZcwqHStgqvYPR_ZvPCDsn4cKMD0ChsVOuLJT-54w6hlH9FwC7V6QMIFgEtPT6y6MCYPY8FjlDyG8URfSzB5_Oq3d0KsTsPlmtT0266-2ryqa8QmEdAYJiXw2G79aHHuOsLEBZl7INq8ebgLKDvA_rwf255HfzReIP2u4LqqofPl0wUCfDAdd5UqrzakcOSmNp1_lexZdYL8F8I3ls63d-0fau9MEiOxWGWZVgNgIiJK2J_Zqf9xvWu3j-_vNwHzOCkCYWemcbECEXiWyt-xXDvfp17MV0m-7-uyz9gHM7vvLkpy9F8-7tSqMAp3XGgXcF-Fq__xwhPW_gPlf5ZBt0I6r8djPX-dZzEnbO900vFcZ93OG9ofIDM_hVAIW5u3RtrcR4N17XF5dX7cGoAHOLEAIDXAmAULDCT3Pbd44-WvDXsadcMDids9ezdr1hDUqWmf3w-6rIH04yNWtXpcnax0Y_XJNvfyXsjhj3s_yZ7RmAPwPZPecCvtgX-2Fo9n73BqYRBeInHHU3iuyg_a-IqbzB-3dWxuzd2xAyCQYARTWhZGoWt2ZRdAAu-cbGYoj7A0DBECPC3pFhLCjyHYdIFQBw3jy0d7UGvbRGO5D3k8g7L4AfP104Cws-VFAVtHXuAnoR0TRbZwDzPL7PDia3UMCo1jiB4G7tgC8iiGudfJcDkjK8HRfAniOoDnG1OckA3J7nJAXJMxfQSFWY8BUR8nzXdXIIDaExoyRidQfkGYqkcL20wmOOcHOPfcpQiSCY_LyKrSRpIhuIvIVYEQAMYpfMnU3CS6MkmJPUnl-hpIL5yoyJWqBI0fVhevMlNOi2C8BJwoJlCilXHF4LARjAHHSRHWdREAW9WmEAhYZEDjHBzA3AvRVIKHMqgD5MSDtO3018B_1VSbPMuIGdUlIdfFaWwRzkmkWo3VtrZ422MhHic38bIXRAcrt06sArC_MFXfEZwyppIQQsbFRUNU3UUVtVrQxmB1T5pAVa2zmoyR7uwu8xW8u0vVrN4j3DaT7JveI746dmu9Old4NL9pw-YYPczbDWaagzlZcreQ2rgZO1bmLxBEpro8AuKxQqqVT-UOoZb2qACHYGKKWT9VLQyW15BQtBmFwsQXJQ2-lWlFdHsXF8ptWVhz-rEaijERonDGSyLMxBxHEkEEBx5JBE21fhdNaNaEJgM1PB53YVltPdSqen670wtkKzi-1H9VMZQTE1mxWV5PXhi15BVgFI8X1HwHWzLwNWDuQXc55wPp4TGssoxvMRsasFTjlgHWm1DmrAZvo1uxiQMlVYipUQiY9tTNikPrLXJGsbXiAev4kLcAbxQ_ApZ_hxpA5nBIS11HCXwByTHJcMcqeGzPi5-0vgDsYGjX9BCgBCwERgCJAMsAGmBJi4YyZ_p2LACWASsCpn8GdZQDOSr3YDlkW2-CwL1fCrzspXbh7DED_o1sMJJ4hrYIoALGme7jLAujmcpewUEjyQZ2NQ1-2C_Qsos583xaEa8JVKXUxfRnK6iaANgx5AdWRz0YIOmey0f5OtWwEnUSX0aNdjf0E-onUT7Z-6higzXEdfnP6ovYUlFQcqDnScOLMhdb1NO4I_j4UoqEQD4XdUAhDIR8K2VBIrpn03143gBH5udHUfN0cHM39pDs8TdfS22XZd_T9Z_nwcF8-blrDp-1P9PPNJr_a7A-boKzosIMI2H0pzg6mCUuHUNaj5lzjOZKVrab7bdKQrxMZnNawrwd4F0D9TlYXAdgvlhFAvyq3EgXQqVZHCXRqRwV0GscB6LSOGuh0jiPQ6R0N0BneygnojAAiHv4ZqaVjnWXTOH-vFLx1FXqZdqyGdvQ7wZ3BncNreyw_rm-v_97nZQH7uk20oN0wN5DOv5alqCulueK62xo1a_XIU39r1-G9zjASk0B1UZA6k5KWrOBTEHLoYYcfceTRxRxHPClJVerTmo70ZjDLfitKbkxpyt8HsczBHM3JnM7POZcp81LqczMNaXrf4z9PeZJn-Tcd-TjRkIUO6NGbvPws1uDwKKNoVpvd4dQLokwst0dwaE4sKEORdch6ZAOyESlGViKrkNWYNTYha5ESZDMSihQiRcgWZCmCvwYsR1Ygk5GpyFakFNmGlCHf4TI0hDCxeIWFpUfYWLzDwdIz3GujFS8KLL7hY9N_LQRY_CPEEhARll4Ro0SjxKD0R4nF3EgcSjzKAJQETGMGooShhKP0w-IeOUokigfKMJREpAsYEShJKINQBqMkowxBScFVwhzyGjt1n-2sMuaIVWAarHbMCaucOWO1Zy5YFUyLVcl0WFVNQ41FjUONRx2AmoA6EDURNQl1EOpr1A7UN6hvUd-hvkf9gPoR9RNqJxr3CXs8RndHE4h-Y_5rNw0joeHKyJMXbz358NWbVYgYCZIksxltjLEmyjDTPIvkW6Pc9ypst8NOu-xWaY-9jjqjWl134xt3bYN7WvxBVvc90eZvn8LTiFPSk9so-xtpyR9pzf08yMM3kd4HeVJr-RVUWFHFlVRaWW_1fh_0YR_1cZ_0zz5t2zgMbrKGMAWnfz8j_1J9UgBJQHwQwHn3uWpEe--ENLw91E2XO04cDJAre1tGgTfZVF3Ec7wRsI7sKKf60pUsinvyDUalRGTe7lZPxjg2DqddMRiBIT0mn6XGgMtu-XqlBi2V-MEDr7NeRQ9eTEQlVor7orOIyGkYePDLW1xj8ks6feZWkbldlvm13Ni7CJ-u-FEYMUVJlOA_7lrR1iOGqHXRgzyqcDMjeFer4DdWN4HA9DrDlLNz1IgB7N0Jg_gDk7TVBY3_vXyrcNpqRUhcFAbjhWLiqge_Ds7AOhihJRC9QRspmEVJ_G0v2uLgWw-HR2QgP7a09WfkwSraFuBqfRmib_263lgvlzc9V19iO5eqL79afbCGlfLhayABOoyKNGyQkzB0NGkWsil1lIkUMXrnMYEZvoiEip6Zj0DBIpqFryn6tt2rq35bN6evvrQ7dD2qJiywzVjdA-strcQz_Vgm0qaPOQ82m8yrH-vlZvnXuto5WEd0BravZ2O9ml7XMvH-muxRm4lrTAQLNZtFPr7aJZpYjlmQThfzGt-SMyMvAaydVRaFSbQoGtw5vna5eVhgBq1odRYgVOwY-uBJMn0tS45l1tqiYuBkTqs5_KbGriJqiFWRpQveXxQrllTspd5I5nI5810F8bdd3jMY1mOKfXSha6zwEusswYZK2SZT4qP6bkE0uGtgX-4251avtsxLs6wOsig61vVmdG0utbRJviVHG5h5C-i2NFMuJ5syla2g28MdjSW76i2IYlTuLaqkyqrIIG2sXm19jmTLwDCaU_aE8Xb0egwpt_cQKo5OuK577tNe17YZW2XU98OLrbTKamvO-JPF5wj6OckOpz-5rW0bPY6vddb_3NKyCWyxK7VNme8SFeVPKsujIVlIH0OMgWKKOZbAP600UU211VVfQ42Faqr5a17PsE-3bt-J8znRipNPr8l2nlQlf59L45xB1HmDppyKbmpEKPfQV1AODJwOibmiocrRAiZUI7tuiF6Bz9A45kGEH4Fs-f0ReyJriUi7ojZAkj803VVgYvH8qtuxBfiuv_lBGXlL3QQ1TH9ODCwh6fMszASbAWCn7AjAdMLtJMUA71ac2AN73P0CkQPAtEejKIftmbfFxE-wBKkmmSlLAQKAgvRL-lYaXNiCO1_jjwtgWNYC-yQ_sEeviNuvh0bxNv7ph5wpeswV5BkioDe4i-mLQUT2Wem8cxtnNu0RAPlXnGcodS4ycO8n9W4vh4njKqSyzAkNfu0FtCa88fh_hb2EWOxgHEMJK4LIY4glvVmc9alPW7tVUG9P9Mde6L2qOqXXh_VljVSmCk3Rv2zfzq6Gr28KL_IW7_Epfovf5h_nE3kan8Hn8A0222anE35wVg2vcZpL3OCu-_FVN2OhhR7yhzvzc5PeZDSZTV4mi6m3KdQU6zf7M_x5rW1927uvh-Jf6LuZ3UYUSgprIog2ljhy5bZjhoEM0qBt1puNZl9zQlAWVBaJ7r7u9R4V4SmPzPChp8WzJVvKPQ2eJ8Y1QzPmOeI51uPtdlS7ZXGxGPb803eeTxvWWYSq8O44YxP7eAs_iomYYsLnX0WZ7X3FOkYRYLk-rR1ZA-U2lYe8zft8-qbe4Z_gU74inWgWX6tEqR0OO6Uaa1Jc5Dp3Ok3GnLkH_e5O_Y5JazKYTLdrAk0h33ma3w96q4cX_IUlX1oTc2y5XLt1TUWxANiISS_wwF_2-DhncEY9k-DlTt3OW7_bw_87z-FmBfx8PfRmWwULZf0LLn6LuNaT_UTTbrzGAgDUxhlUgtC-6-H5udXFhxxudMwFADw67_oeh3krdeaI2CPy1k8LW16NzRHTMpqMvWhEwV-HR8XAw704q8GCRihaj1iXCAl_p_Vm6yV4WNt6mt_HD_NlLR-s5h7D_Q3sMnYsbiFnw7LY-i88z8WWZWFWU0ZuAHDzMoDszShSgM6dfTnf1T3dn8tJ69vcBwBwVxzp6OBycdcewzjGNyVukOFD35Hxr56bf-VcmEtzZW5O4zRN87TM03kGgE-Zv-dfwHTagfvzvJ-PYPd3BX6FZx_3L5js3_js_RD323nqfdT9ywlpuK51HswjiPOqOPWPs6WGtLnKftGW7uk3ddTZop5rn1rKreqU4C6cuSTczmH-15KSEx0PnvxZhAgXKVacJCOMYjNOmkzfmm2-bDkdWXXdvdyUISq33wHHVKlR6-IZYt_kngceavPS658KhNA01iG4pCQ1WWe-1Yj-0G4V97P-v03v27oe777x7N4MbX1_7IHp1f_3Rh07YUi90b3tN8zi4mhDAf2jxMJJccTkJD981VbrTs8wbGTiYWHjTE9vI4fJ0mD3Sw4xIhTZaAdgu-_tsNdOe-xz2FmnnHbGTRd856Ij_vTYQ4_8hSj-7iXtsSMJyUggnVfpdjPuxqsgqHzgg4SP4P82j3JwiLPjXJxg8iOjam5-0s0PvJ3n5RwfdXr6v14uC3BJsDuC3NLXbVZXhflNhGZRWsRoFe0P_d0X75EETwzwWKKnhvpPin-lemG0N8Z6Z4y3xvtgkk4TfTLBRxmJxueJQnoiMSvjfZVxmJ4YfJMkfJkEfJ1EzM0EC5Nmkdx0lx83eTER2c7PBYU7n__hKn7HPXTRRetvqtM0xVSmBnWoSVWChEgji2wySCaJTFJIf5Ny1_zmeMae3W8NvzWdu4KXrNs6Zeq06bPnzF_wxnHt-g2bNm7esmP7ttvZQ0LzCypaWtvbOjr37-s-cvLUW5o7pnMOv2H8X6aBgycqy5u7ws9EnI08F3V-Zu6svOgLMRdjL8Vdjr-ScDXxWtL1lJupt9Jup9_h61dZI8wZat5wZj9bPM6S8euR6nIwu6J4ll2Cg37-5va3eCL5x4DF0Qgkiq5bdTX_xW2Qa27W-gS3d2ZHd2b_vHpyO7j09nGadWaW54ld1rWPilYqiBkBVNgFSJYRrkXpIB3o5cCBJgQOe1xiQatoRSKIIdoFE66COBLuf64bURlwgevfkN216BHogOwB7uxAR6TMe_Z0AgB3BQDEjwTuy9DjQkDQt8DxAEA-wI4MAoAtz1eCcCikltx9tqwMcdTudvilS0gjZ8mbOgNS04NLDqFjKFgGs8m0mLJgNEBa0XtThkjFceabCrNsHSPF4FCd28jkpGIhnR_Gto1Ud48jzr01pBuRzkTrSzAH3CYMbCJ99RgYr_SgDDm03Ys7B14Fb5D578AucEQm9uImqRJGozkMyBd8eWvyV4iUaC5dAben5EC7EEy1mM2zgOar2ijtdJTd8__tXi9-xWXYW6oE__dPA9dRrKVkcmGNE9eU0zHnejij45EQSX3xoQJ6B-t5M05YccF3IR9GeDneatIP64qoOU70OOLwMbKJVkcvx80Zp8RYIIWeDpdJ8cxwJ3UrYuNWOFM9jTnKaawVxTxbwR-KSOo2ltl6V7jGGP7dYhHcV1Qac4r1NIsmyGYMLFT8VTsO0wjXd5RjAwyKwBxhaIhMs0DOMnIoZbOC4cOcDUZEU6oZ0BpZpIlj3V15LFMzGUVDQ1Zrdvs5tuoEgC-rxn4k5jXcQXYAJIFO6q7DjhEQXTl2qzliwOUeMUcnFjZ0xFY9F1YZXykSYMofER_ul2rFn8lSw4h-giYVyYLE6ZYlAzKFS33wTW7IBMW2AR5wkJ1CMQgKicFsWYIIo03k9ypi1VFj86VYzuVk6FVFc3e-YYzUZmyo0ikIg7JO7Rs_8GHiJy9Ig3uzJ-6DH2bImF-yW01rnpL35alW3nycAtnpl3UcO1egT9p0To9CUAfr9JjdfMLsj8bEhwmyy30_aLmHkaJE6frf2gmbF0VWYKZ5HDFR3W5TCh_qoCOoeh-Y5IpT2kM0YfjkUP4nq9XpXhHiB6XnJzP1K59Si8dySknls--KkJxZ_f3__9lnWT6HXAK_3_9t_aqbzPopsZXjqlaxppBk3NXI5ExjKqXsPUQ0eUXliWn6gQ9gOhqgyGqg1puIAMSRxPF2mxsYjYYhjcl2cOEpPevCmD3gh0_UlKGtdeIc8BnuBp4bHF1psQMRVYvW8IIY2l2uylmmSg4Q-10wpLH-w4pGER2KF5IFtLsaxIJ7NTlcPIDHVSxwWjcH4QMWmVh5Iox9hhlOO2xDFWThOwVPJxAsuXA5ylBrEDBIuA9L_DnhCIkJra0do4UjOkrkJcUiUgWGVptck5ZZUGraZtIdmYckpMCiQMYTHD1GS0VFWLlFM9RR0TQu9Jw6nDOfokeHlTmVEQXGo2hCOKwPeCgwAYHBUKfyqIYUZChQX3KOPXaPLFYt4fEcxBatT6ZpysDH6WcPNHI6exJdOJcwa3QK9PqcSMdjPdK2JblaZp9gYBv7mGEXdIQZ35gj9biLOo0CAu6eR2RR62d8Oo7IfiAlZrmOHyc7tKAFrRJu7ux66nf463vZgWELnfoE6v-Nk8LjHDEvVsnozSXmOEwtJet7_FwpqXF324d8h6OSpYoakuIOJG84a0qz6Ot_QhySvPscFKlOE4UQhqsQiN2SxTSxx2OsidwGQfLmOy7t4RTObxPEFlHMScQFyHTYlIEIabautgqQ1F8skpSt6J-QMtHRotbijro-lfARAOSIQdclqiiKJ6SWKeQODuLx0ivFv-infEQVbENFn-XQnom_7DbUpOo44TlTzsb_rxqLrEeSJsgHPVnb-VVhS6SYUoI71xQtO8crS0X2WD9Wp9B6FXEJ4g8TDGf5QddbxUtrwisadS9HL3sgFxvFK9cygiPqex4QVxwU-3JAMAb0qMc1oaiwpCIC1TFuX5bdiwvsr7v3RjI4e00Ltp_YJfBIiTMQm1C2ZBxpCIRpCnUefXj0E2fDx7EKyJi1pLjvZcdRFPsRuDdrlGyD_RlU7tMkVUGU9n7dOKIkZY9ouLaLWvUbk6aRBXf-AgaPrLgCdLHSy7B9SojILNqO3aXCvwFnWE-f1T9MLY6_R9fdcyRstMPItGn2FpWN5jgJ4mogItQgBh_EY7SihpeH4zrA0fvXOgvf3gG_FVUuyNuXWlO_saDFUDGb8HwYYAy2lZODubtfJx6Lj7qXY21rBIN47h6NDeXGwTyDUNJjsafx2BNbC35TRzGJeqEVysylJSvUaW82XY3Q3eYSm6I3CvaUn-oFENehEHRT-2N6kIm1YR_dLW8yiNWx3PvBq9EijuJ8_SRHVcOlpnstSQaYKmG7epLue4UUfAuSIEDbpTWKKhPEmqCnGWdc2ezHzmSCkKM9HoJ4-ZG38iMxGNSOvhR6zycQAXHuc3RbwXWJoylTtYg59fDA9deur4ZeKFDdj6UtgI9gf322ey8i9Dvsw8vgHW3-wyWPNrluB_viqEV_qpdL9MjoyAevYa6eW-jW8ESTd2Daq5un0qYz7JTC42J_7easTkpPD6qAxxkJRniBvwLEGkZLeLKAIRSnef18joNcfj5bBZlsN8IZr0PNaIUKooay8bFpRpfx7CXizNkFIpaOwIJ4KR4L1yWN5gWg5HF4jIpHR1oRpwuSVzDpNbv3mQxCvheQwKdG8ZJ-heZKZh0TaRp6PsYbDl2uEhFbMg6Cl7g9e8k-jTOLqCnvAtW02TZm1N-ZF0jf8k5cvboEWQOn7llWSUT0L2Pt7rzONT924_tfnLBra6en9jCm59GGJ0uk4RnOnp3kekKXG3WygZ7TqCy1RP5y8_NU1HVCZgmDIouT2Q3yV5KqIEo1ISIHx1j2Mtbd_E2heQM0fHcNGbceYxe9a_6XtXEgAvi-hdAc6Bl8H5UDgI_8oD1pDWoVfSmCMVoXZQFa3LFTTBQwEMhK324pOMKaX5twz1ewsXIHrkGBGieVScrgWIFNErX07KqowZnC4JOSIE24cLksPupwsQWYitPyl03ktVY6cNv6IOPFBoGBOf5iY_JpNiIri21ZdrC9CRWdfjxc6oXikgHLCIrv7hExIUgZqC0y6BwjZzGJXq7RAvzdTQJf1g3dFYiXROfv1tki5JpuPwc8FizZGDFyV-At1tDoWTS-kiqhftDPMBqbpYYYNd0vu7TDZCRQbCB5oxdu9_ipOfbLx2z8_r48SFQ9NdeLmWkkqJM11RbEtjN_2_nOl8ypGD03UAWIzWVReu5r1_75AuUvQMG67ZyhIDqpzf8sBq8kOKwCBhZ1-88kvvzzZeDJykVZsaK2oxf2HFwsbEvPjfjyhQ618GEHfSMUna_cTfXuguVSsfZs-xzEMvPrQVcHr0-vOq6pXD6H9W4yUz1dGpvb6zj7DjQxpL8F2_xMEyrloDDAx3qf0roXtDexjBZm4fUJrOrjyANRwAExsXCj2QWNzaXI8oBor_WHovH2b8Ud_h0Scdsrr4dp_nW4CGnhB1aFe7m_srqvBm_jVNKulgraDVBLSJYw83PSyct5HLU0MFTX_526IGGBuxiCVArUCuHg6pYwUD8oQoKjjQl1gDO_59SNq2LG7FrOD9RnmstW-VcUMUXtlLOwoAaYXcikqjxxe2ax4ixaiaiiZiJqWO2XN75gTv6du-vhyMmfy80_uEx-LCx_UfrRHERw0-Yp0OAHtskDayqf0XcrFbmbJbU7C5dJk4oHYQPh3xJkK_EObU-MSvFU3irEnmmJLS1ep9IKb2MbtSTZXzNUrmvDN9zey9vky-kbKdPystvEQNHNNifCUQMNqvytLPx3y92iguP46oaQgtUQDME8WDOPHVLnggH6Pel0z_vvcv3uoA5yw2uOw_O7guqI4ilwBjas0951xbVIHXzjuoy4BKiSaUPv0118hVMw-aIduFE1uJO28V4H4kUXlktOCNcE8TQTDzHBW9Dh5cWybtHQ2756SJ0E8Qy_moQyyFxgcX_w7_kfl_4vyZS0OQYbWtWMt3LmYpOZ8qCBKuoJ-dobOvU3K1Oj2vwQGlmiuxQn1O3Lk-uDOEWPr8YfZkvtz9T4BGBZ-F1wUAD_eYSjWOoakJCseWlAn63MmRLE6gwtC0jWMC_ttiW2cnce25YkjmS3Kwinr1fGyLi7b2SNTORwcffyKDmDwfHNoyBXxd2opfLkZwrvJavkXntvgOzM3BdbuWC4dp9_FsXN9ahyU7omlHfAR2Hs4gfXQXrnSmhQ83emeeHnRJJq_k8Vj3-PRT222O3vpi-ClaE1xCkxpgi5Hl9N2o8CN1tJscx6mIwp5exVk3vcnLraHZ0I7DqCVVdMcYTWLCTl5ymFYodJghzDJW8LGt-cKx11jjKuPl958u5GDhsXgr1MOy2mNE8g6yOYSR4nRaGhCBH09665FgZShYglkKyYQVH6IEKsvvlLOz7aV9d5A9RVGynnFOdvWNy9KzAOeN_iC7Jbiq0bCwaTmMg3UCtto44JmOHOyEPPs167OR9ercHYhXnQJfO7pq_T3HwbK_Yh2WSFQDy_SDRsxK5gUA4uXk3S1lAjraJ6NMmHvgmkzKBYZeW-RQQtNiyaLkbNxe6QDW2yRkFaDZUPCMDLA8yxe1gN8rMDQJnc0EBM4q5Hfibm7NOkWuKE4jIuiSE10zracc_x0HWLvH4E2aGsR62j5myxAQ0tia1gGjKPBEDTxuv-hvWf7cVayiXMDYP0cXQTDTUwkFszpjWlUZC6VLaJHB6yiuU6TNrPG0xfkNV26WH9af6-lf1tty_5h1l5gMcQu397csYcT_fiHU7HK27EYi9j74XGgD2-mVzgOZJIfjWQ97-5B59KKZjcvGB5K2kO3uPOPWzlgVgjMtYtQqiapV9h3RMRlxRLebwh_RhZ0dP0j-umO8jirjuuSR8tXa8DErUzt33twgBLjbj0U9YSKloUP6aDliiM5TFKMfSl8PBjJzCIbVD8a9HTz5fh1-Cjdjn7_5JMORImiWjN8bgjFEo0LeF3TKQuSi9vzi-XAvhhw02YhgK0wyjrCN1RzOHkhsm-R5An0dIVc9_VdSUK8AiJPsT25qrLpusgdw0RrQ_U1fVgKcAXtxzJX-1Lpal0Z5X7QZuhEWiQj1JAPoYUSUctADVfXnUQruTQIHtzmbcX-h8XU8_W7SM-e-xuplpHe321H39A8VP771FoV37aYMGWzIJDB90QoueOaMs_JbkFyooK-jdk1HqYi29crK8p9262eILam9V5SdJM3KQfhHdiQpq9XHrgy91BbrCjAAg7_lkd_pr07IUjLnHRGIZLnF7CLSY0roGSuqlBXQ0SYtcKJjt8PY1fM7BqVBDxnSs3GluwTgRQKEBTBYgPBB9nLyE9M2bT3lTuB56ZrOE0rTnH2tALLjZHsbat4IdxZJPACwdvCDGHLQghRagd7U6xwqV25BBrkFTqegvNNmeQiIWSjnmpjxN2zCtblIfYBJA-gu8QPCD94MRtrDSc7Eby2aOLHmTUoMOkTQCxMGjDGy9gAtTxoH165NLGMOXyiS0STsM_5LKQ0uXE8Zw53nH9593Wg0S_992b7PPcNGGFuSnXVEj5DkMpkDUoiT0nwGUauuHQQYj9xu59V9BHTnVmH1xm4LvBKIiAZeTBRqWEEyWGc1zTvI1zzMxyH5icHNGI2xIhjzcTY9so3u9HaN4GcVkJ2Jisi4u0ur-VtDTgsaPeZSDRvrjZmGFBhq-VuLGlHjV3ZQKTUbe9KEUCSZZ-DKSuk67PW2HaClATpK_5cd2H_bwrXZi4OTdlVcdLfdhs2nvtiGSuyJt7dV02QOkMM5SYp52sERWe4EkoG5tIqyeOREBsjSPm4bOClj5KO7j78cL9F224wJYOIO_yE4wes7_m7YHhm9Bm7rWbfJCYZOV7QNiNqfTzrlnpV2gqW_bW2dnkiRyRuSNZHqO68pW-7ImiT1V_haJGMbSv-cQ29AaiXyQe-2HgGqdre-cV-SLu_FouVEHUHZzftwYy1FCSTaDYCOVKYRShzBDyMOfpmxm6lrPgo07SVOFh0T96FTsbpEsDmrRR1sQ9H1IPd6GkctnV2rKRwvaAg5MPCFKXElLNC7H5al8QnjhTNdIEncMDE0PX4k6p5O80tB7rrtziHEe5s9qU_XUcjiP5pK_lB_ulcWuUvs4qKnmjQc51zjc-mUD4BoncWYuQshGSXTOKF0oKJmPnUsm9K3YgAf6J1D9N598S7qQbV5Pkt8hFewjM0SzTmsnSy3zODkJO3W7UaW4Tc4_ERdwzr56qu7srhbWdy75Hke1OhX4SfDzy2XfTtevrvifIHc7H303TrwHCaEHeDgLzcpp1z2RD4pw9hdIznfe0tkyqKxPbK6qaqqrrnpDuw1ep0p9wn6yYElUdX7g0bonv8ifEu-Jj4mL6QoLOLs4F9KA5-sqia9oBvjf6S2C0-FErmjtcx3HD3l-LR8cKdu6MGzbFbTORqwgfNDvhwdz1EG9wihU_ePsrepHRlBExszqf7uRJtyHvOx7XttafoDBc0t2rg8t4vl_0rDhSHR3r0d6ImQfi5-8DObutvqnd7tqU5776Zm-iH6Pfm1O3oS7LVEorLTrNy52UXfOOaM4OVJsq783dULpemC3Pk2eXqlSrRJSdl_1L-YYcubp4RrYMwW1Aa9afz1YpqWdVpqioWdngr_Dsn8KeE-35VPYMpyRm2iHwT3gwsvfuNse2-_sRzFcbi7708jPdExtR4A2fn9pRGaAWak1E5hh_jR8O9Nc23ybbzVKB2FxkXPBkAatIK-ILtGJD269t4EpSm1e6o3WqdOfUiZTM6pzY4MeMh-xWkdCiIvYH_MQ-sxYWIe5Ehy86edrswYrCfwu6OzDXAW1uboY2zbUHdsfbW4ZnD7XMr7XgLSB2ThSkGJ4T--z0hg84fPdgB_ww6DgO7iZN96q2RFRHhKONrBZ7EZfnhMf5xiYr9VPKuEJnb7F2d321YU_fFCvLaeKzQvGm6lgTJaTlM0B5-Lhj0QndJ92O7k9KUHAjaTqi3NHeKt_V5nWUzuxKqfZisBqrTSawqEhMdBT2WRfFhHjkkrS9jldVtqhdZ1IcpT4buJbUN0W_p6pahr6gvWx-d0owlVPhO78S1EKdBcPUmahFwofZhYGi_UgctVKxot1mf4yH8EAdRr0Hug940RG02FWLUbAz7LGmr9NJWp6HDDjySQgJWO0H8Qcdxx32eQZXkmqkosYIo3NsJGp0QCajC_kZ_bmtd049kIRRcbYoNK4wd13on9IidQbKoIJu3LMwTYqulbM4z6S-qo0XJsunx7ShIwMz9aQ68cAI2hbTRTADbbjjrRNBR5wfB5CgrM5-k1nuDiptFm11wtRARI2fkqa5pDva2qU7p7kQxFu9s71NumMhvtOsJPYFAsR-s0ogMGsAEfhoa1YKwLXLjsN3kUNZ1OVJfi9Tv1KYO_1ehUIaxs6prYwdXhWpk79s_gL-cplMsHzBMDVk02dGIP-7u92x_f4BZIyapP0MNbAlZWo15JhAA6loTq1NrVSyRGdHXAdo_f2c3aZWK20K-znkXPtgc2X14NT2c6lM0b_pgqjvyjZNLPuaR-j_AmjDPzfPbC5nUmEdLWiBolQSjBr7tXv8SeX6ohU5aE4LrJLJYbVxIHIAfydNk2obMHovpoJuhAhsliY1B5__FKHYJ5kmelgkHU8i9IfYBn2NSFY5VunF-AtUynyGyiLn4L_UZWuT3akVYppdKpChjQwDyHPVNQXyAtdOwWAGU1UsU8rKWwTmIWSIbcypIymCBheoBK7RTw8J9sv-Rf8FYOoVR4zjyjQUfJLUt7DzAnrBDQdMJsfuk1ln38JmkBIOnFmYWlUC18LNgBj2CZbHWdUeC8TdqT51eMDEyCB9ALyu-KKsYllWegW_mHKmvGIl3jsIInIvbwtuKKoS_GEbHgUs1_zMTsdVtJtY4XgG3svmeuaOOyMFuvCotbl-fjUAwVUG3G5y6ZbMMWP6jWhei1MpkztVcD_I6VxPGXA43ppHU5LVVpN7_ME8tUQl5v_5uWdMornV5ymrba28jnuMxUN_ZfA4seOXh9RaqdGQn6ek0bdkG3fhCSQaQOM9i4aG9MxycLRiwrRID-Zl2k7xFGTGbEodg3PrjGo4wmzXiiFEkYRMNGUp8nK-63WMSXBCTgUENTblH43R6i0tHAdRb067ULMkG_9iqUOTp8ktIGrGWLcAu3gXoy7Sah5B3qldLK62Ss3vRhCrp0qtlVnNtf6AqUbF0tLzPTKpmWoYTPA0vlEt6XE6ra5GtVHiJ0vse92Yw_EijtFREwjYx2vkGWQn3Jjxno4aD_guvqg6uS6W-h0yYo601rkYAq5Vw8j3SGX8TFJLZ6lMNQG_uVYN9EvfQm_bnRkSv1lYdX21mItD0m3dSNnYZGNnwups9cigbewDXINMMtVq9cU1yIzaRrNsKt8p6aiXG41Wa3ExbPcYIJvf5bI6IPAwvkEt7kac4p46tUEbUkyj7skDUU4bquOo6Fe8YyYY2jyOwUUmqNWYmWINBeB-pxGCVua_mJqNwXMR7pbc09Bp8HRLgCDTfujGnPtJYjSJxKjIweKqaxTiaSaTaFqVQiX0cNIR25PirpoG8jg1mWDlY_KtGjJdaylxOOASDSiQZ0PZvJV5LLY8jBQu_cUrVyKBBr8LkZn5kFBpshqkCEhd-g6isp44y3wsgkN-NN6CbsVi6ThPoMH0SfqrXByC02psyrOxuwxQBvCGkUsRGc0Xb11lVn34vLphOI3GzcnpgWbKQ2NkI8IfH2dNBb-23q7OUmkffCL6HUbEWiKnLx2WaGh0jhqjjFsYoWcqRN6qEgTRXs2Z9Hoy1YEgmq9zjwIoTWo1tGWcOqBVun1NXnK9TVyTpMgMG2Q_ZDNMzqwJ2eVIUGUza-2f7kqW9mt8vVrSjSDaXq82Gho8TYPaYLDalJewJYy26uJif9MxguuZ7hOF7pO4U_K2U4UBqYlpyeWC1GwOJnmAlMohWCm1fj8eBQRKyOdbJEFdRDLm4YlGDLQFDMHCEe1HqQGF3FwJsXrMZtNUQuZCXfoPBtQYhH4Frph0Ly1dTc1zKxRvmioqA1jDcAQF_3Ud_iDms5xIXXqhdUx5QEE9GtEO7_74igpvWE2la7P-fxpwB6sbO_ubWJVSIWow1xNL_kdRIPOMQ9AQ7jh0HLyIr6CLbGw3pkXPl0v_zksNbN9jSkALTTQ63eAjFRX5qFxznxszP4bDFa7LT98YJNkTvEQxXTvdFgAmEb98CkcmL6Fy7XyNI2CIAsM-JtclKNJ4W2gahU1BNaafL6Q-smQ8PWA_YPsUg2dqpALipne0_1z_AZpJDyUgCQRc3iJokR47Co0Cpfwz6LOHz0IX_1F8cajEhcgtfINIrrfppQjONmskSeHVaQAPG1jzSZoHTmJDIBkbUJ0wNfmKvFIC1diQ1uj11IIXSccpOHxuzrmKj6JOjgsuu2yLrwDzTLL0za25mWfHBjafWHkiMIo8_IinBXandaoO2oq05IGO9I0j9lyGgjYyvCdO5AOlQiUVXtrnGTMebvZ4gk3NDQoIYxf4eQqh0ZRfoOfk78nt7MDn6yng6_gKiFlDpOqugCCxrbBah-DMkSYvQpNqrBp-tpdrS_dpBFyLqRVFTM0WYDbqlHJEnvNZ9iZokyL8qukV2NsyQfY--hjop8R3zQoOuUD5snpC3q9ZGTFuXXR_gkhYpNYrOxLW2OGkSyfkOaNjlZ-QX513T3WNryjHJQ-mgLvNSDFsQYq1WlexBfZ0bdMeNns3sWB3X9KeAmANf4J84nKmDsyFdv15xFUb1-G8h33WI5xFGltRkHlmCvon2u707YxrWYmstO2yFh3vLCT0jtVwHtNbPQ_RlQtWovMeZM2jbtNT_gUfBot3Fvdy6UqdYrHh4vW9QhJcDPg1qZ2t8xZ6MLqgEuJacz4l0d5AGWVG4Frvm6e_l1CyA5pUqszBrvVibGpLDUWuaaDLnXy10-lIBH9w8Sg2jkxT2sEzgU-Rt86OERTknp0BjpNk0pDFrP15eftZYrJJIwNzg03SYMs8emJ94Rb25xJAslOcNppLI9WPoK1h4k2MtshcpAfa8Df3OIe7RS9wyib0l6dq8CfHlm78aM1HJbdbH66iacFPhi6NqhdFRc5mJ9LtkaQiLmd5bSCw-lwuIFBIFZ0h-KTxOoVvCBTyZQEBp0b7N_q3SmXl8VwEpor8V6S4NPy60Mg3I8da0Ifohgd7kb3gEpGa5c6HyMORA_ulbx_gWFDAOLFP4niwB9kDkI0eQ8c4A8XccbA_XL9nhA-7JzDbBqdWVw62tM35yWlVKtVWtZ0Zx-S2lPQqyAxvR7ZvVRFjtDMjfRQ7mfRcWufJlnwzUqO0KAqxYRQkZ5TVTK2uqmkum7rNyVWoNFyVODkuGfxSol3BtNaW2prWxmk9X1N_VUQLLyAXnHefaHRyBZwZl7mNmK925lByfyARdQYUs2rgr08lUDgDSagf1zcwp_aBHklBwOmkx7W4Pn9SIhJ6IQ6N15GIBpL7Zw7VLtZPTV2XgqSA9jDadJ1CM8CFjHoxURjsIoqKQFBSrPHWsB_xg4wk_4FTp_0HKysDB0-fChyobLj8x1S04DPkM--z85rumlot6csCwvnkntra5K7zBPBJVv-YMVtcS3eTDTi4CpKaq5ltHT1WC-iHnSq5zKmEy_15oRhMhTR1rVhSqzFq6_pFbiRQ7TBoLVYlVVP-Q59YWYwUHz_cDE9Sp2Mm_n95LdianID7-Rcdyf3Jq_ejzwPVOavK0dnoyZaKM_KK_XLnd2aX_Yz8DJr2tdyxxicoUgc4rbd3HPHyByLffSubZo4_ffKDI76Oj7Y5F2xc2H9uCWNjUrpOQ6Ejibnuf7ZNnAKea9HrqO2Fd1PQ-2fYMeIwBE-x2LBvpbsYQd8HIvg9esbaF22T_Tts1vQ7gTXxK68U7kZ2r5WuJtjHePt6_mrTQRVwW7TRne_Vl7vgKnJ1q4Hfd8PrJFu-3kWYiZTh-yDHH0Qz2QWkLNsXt_MJvghnRIJFn0NTVslFzQazvKVepqVY62-4AgubRTCpyBSqjkw0sSIIFg2FCrzY64E6q5oDS9TRFp9arK22eV8SjR15BV2MHRt3TLh_Ig9_jD135VywETsVMsx8iICD-9C7aIbR98VJLDbEris8V8lGRrZsCqOahUPOLy0kxOkhlY5BRa4gt5KgpGtG5BYCdsWUrYf9b4HJWU4xDLZsZa-Qx9QJzsdPc0UZ3VEELU0k0VIIFAXLVpa1L9bgc45w6EulvuimOiMSCDFzLg2yBwnaeAcsNExzVoBiLLLs7tJyHDJ8a14N2BPTMj6mw4NFcSiMbYv-ZgFSnazJZ9nE6VVUnWk4hzvWWGQQywAN27Ri7_K9jTjEO8NT2108thgBPluIoI6Egol-hOLB2_HrfPM5FUSc-wL6AfrivAtcTe2RaRv0epEzzWb3Uu0uZ4XLaPRe1GVcABfJ4wq4wJ6sTylUg7mQHqjvCi1CFmmLbDymNp-gpi_MX_wQ-7AQbjtuzTnkFlLySxvUBgQkhKH7qTuPdeFcX_rGDW6iG7F3jchADiPOXfksDdiwyJkFze2o3daONt8iQnoanaGnGxZ8vACYw9utz9_2MGn92Jo2UsVDF4vdAG1wGbNGeWesIMG_bYgwMS7HTpGn-BMuRj0LT0BJVBqgiT4WAUwo95dob8DMh_L3rIuedi9-Xm1t9HXVJPt99yEp32i3CXsdfKPkri_Z11nl--FP6A8IfBv_IM-DfHeNkugOSHr_7v6uGp8xnyopoj-gPwA13ldE7_J6td1XpFT6PcIveDPpMEuibYQ2ztwkqSopcQ-hQFJZWvq0EoBVT-UWjqXBUXUJh3zb2_FNsP_aT-JDPZLHFMpjCSgJI4WfvwgIZY6y-oALEZgFkEhhgg0C5JGpELfl1qTnyHOtxqLkJOeRtloq6Asj5YKM-FGXkyj5EMTtMnXwtAsuLHClFSFFoPG1kkDcTdzmPzpGy6QH2m-lzZx8q_0OlJ1zb4JQPHr5XNU3V6q-u-L8jkxeFBQFntaePqiIW-eMO2zb3BbpuJmTXazK3Pdwc_MxVxSynr1maTIf61t3olkpcspEKVAc_rcfh3tC4KVG7bd9YyelOvKM7I1djH0cNsOyXe0H84oP7Mur4vsaizCQMALm5xdBRS5-CPtbpn092rGQZp8g919zpP28-pTSZkGzBv5k2bcXHejMOjwgzjlYK_XmNvBrjdtn-V0ukVN3LT-3QeqtHUReIlQjRO6z2Nk9fp1YDMni7BZynxGiIi_BLzjJXbB57mcL9qYVQcIirXSS4Xg3SYYGU_Ig_Avs_w997wE_QWZtOVKOJ-TmQNl7_kL-RkJYPsQH95Om8YpKZZxCm4P3MUhJvN79Gr7YWUPXqPp5RoHmWZBBoyom03Moq5WTmTarbbw5dyG5cIMJz-a2cAt5uoaFIgjcTGrySHe2tkp3NXvN5kUu6NW1s8ljYTn1GkK_x0OYadCyWAYtEJj06zXs8mxrVMpb_a87qBn3cWJZwV0rSTeC_mK_5bgFWBZGe1tdjcA0vDlfaFBrIbc5zuDFxNfOndFqqOHwAzJBntmhNhEDzMqawmHkGTiS1FMf7fVgiu1itaFYrqYvMGQyhIhQauKJBFqhSqXllHkxsfYZZZWaKjofFascNlsiDo2rrILVytKpbAjMWhOAXTcCP6MIuhZ9gvzjBHeTqllSL-TFhCyyIp3dBZmsqI5iKowO0Bd1IpRszHvrY7DU1XJho04va2yQ6cDRpFk7V3fzP-tqqvTVeSbC3rHfXBBKEBVtKKI8OabObNTWSEQNBouspVlqNDgRL2y0oWqmqYBiYLIKTAYyE5zaOkvTPm8AuQUPrekkH_aAO0nNTEWJ2uyttGCTn-phhYDvCbLlcmuQ7xEo9PDTZAvWW2lWK0qamQaDE90Ax-wGGKaaQomqjOKASiTkqCVisakcoVokridnixe0kCNbLC0At_iP5bUwnQYtsd_tIQKCGHADvQT4L5z6oNLBjTA8_B7eNNK_D9_BcTxWQE19tqV8UmpWarYmeKjWoBbwlHJWHkN7_eAPpMgvQmLWxQQBNZVyg8IYlKX8LY87yaagn065nZ39QXrml7mTRZPTbRNSWJPTDNgzHgOfwdVKqJm5v5Ov5efwnxDwjjy-7vy3cfcwtbl5_1Syx_QpO4zhvF8TUc2y2csaln77GRH5sV5k7_ZTlVvMb5GMSSYZ81fDpvSshXn4xVkTx9-XZt2-IFqTUPnkrZ2vg8Uk-mkSThzvEUOStYhPaJd9ci6ToZNxuFoZI_PcJ_L2fL61SEbalpnzER7_UU7mtrzJnyelpSSkpSWkpB3-6Pjyuq1GI_m3dhXfOwazhG-F0haTd0i2S2j8UjSBKrPq9vll4C7P1lRaZmvW6RQuK32m6PbSLToDTgpFMOjc19WYujO2d_c44G0Ht3VTpxa-6EpcxmYqWqR-32fwitUAfwC955_KdLKLsqqVRWyyivnNjgpMymSbi_XPiAE_8K5QYTKLY0oIBGluVk9UdG82eL6W_Rf5E74UN4MX_JK-ZD5dUfPbaKZAvUSKhS6vRimgEb5YFFkel1N2nWDmlEPwIYzlIHwQJB0MjsAjagUcTmGy5UsLZFPm5wAYGuZsJkVFhaKiwQ4AqiKkZ1r7JWrlZpBsHADFzDD1LCUSjkz0HSRR0U73U2hci_STop-igMmKPn5UdHSddCklG84GroMB2yCWMgwPa5jE6Oha8G4KgW9EJqxmhHWUSlyueF6FS7vBd0LKdiP1KGtEg8VVPVcsJ5rAdq-dQrWw7azX6nSb07bP0WuWjU212Cncq_AJPfiS41Wrfb6IkMqv8bG_0oMT8NVJUQFHWoMugvMLgqN3lAtzM2AcSLYWXGg-XVtzEsCAf-yCJ8CaAJvDhlmVcS_uuJ32-EHgrcC8NWPI_oD_APYlTfDr9GxthKsada_J3n_4VuKG_3rZD_fvUdqSowK2yzwmzAR_vypuBjDs3a1AqHxPP0gGMfzZ3hERUMDfQyH5HvZ5lcx_8GxMI_Eeeo-Aaca7IgDVeWGC-6InYZoKnl1ETCNbBH9gLmV8EhVhtiOjOTyNSmI0Q2MNXkxMxazuOkVwJlBLUrhB9e2ML3koACPXKdTPyDdUSqeBo5tUle2K9q1nKUOqEEt9RlKLpapV1gLvrWLvOaXkXMDcH7CPzSjY9pgNGaxreIPwegCHwU-e_GkKEuLxFExxwX30fsH1Sih4OT_i-6hZdKjcLuWABd9jiCWXR-vT8yPhIoXMar-d-eNcWlRVJZZp69gSrzhvXedNYY6G4sCmOWcfGKkwFZRDS-AloAcUA8eAa4_Dx0Hxfz86NfySnZy5ZteaUwERO-2sQ3KROSFz3kdrcsoUk3PBmzwXIz27egzNA2Yy2VsNYKXXI_-iY6JgZok-pjlZ8br0A84Duz-e5QRfQwi7IjWFvEA4wD3TXBGwENSWwEN-pXMDGpU_FOFTpxDghRORFXFzsge7vYFc-NLJSzBYGP8dyD1TwN4px763VcqxH2xgR0v7zszBcXkHbujy10OjIHkVp7qM68CBuG2hDPhmhB04k4eSHqrbwH5r3oubwdfDd26eF4IOjwfuPAPCl6j7q9up7DYvPri5g3hwse1WRLEtsTYf_vVB9fl1pHXAUHwitiP2FvEgX8gPky_B6eQ956rnboVqoDr73KkfWE0HvCc4DUDxFxYgYY9t0n-yD_-zeaJ0MvB-htljHvfqLmBDtemvyczPx6oglToEtaS_IbPOVLUKTMLdAPgoCJTlBFO_KfZM7i9OxDfegWLgK7ZP9FEv50tAg2Lb0NJqx4cGkBQAnBcnJJSKMP-ih6BiCcMA9MmeDxflng4jeQZI6WK4JAxCPsOFfWpWlObs2RXwigwTplhH5rQvgYA3uAOpBzQxsDftEEWN6RgTHaEZP3IHvpNhnszQ3B86G66LDYVPh4BslA4-w5UFJ78b8obBaHR0f37oPc1wNgxq7ga02DF9vSaN4rIBGJqCqJ-ahxOa5yEHtoYqZjmwxdG5zBm1_eHQmTMhACo1nA2N77MrAAz5DDcVZIqjomujY0dULSjEFK0-oWyAN1DCRTBhERUha4fvwDDzgqP4p-jO5ieF_VouyNoGlPyoqKnjsDDSG3AkfIFGqtzRa0C5JCJOQ6KU3AIw7AO5KQLRMQ0-EClXg5scamEgwwZd47kltWnRdawjl9yAx8FN64ZgmNjZuQSauwOIm2iKE0TUSIwACrQP8FvwCBQjjhFwFwW2s5vQMbkN2Q2xO3KPFipJvJTu-AJBkVYKr4j1dHykeV5C87DzQKTjwBanvALR0X-hDdZC7oLbD2TiUI-ouuCZTiaEfIaxuWeJoolL65rbL16YV-zbs0gZEPIZbk41kiknQi9WnT3L1JA15LBdgHWCdlOAe3ju_gR3oSNfhaivIHqRk4M45cYMYxCGLt64vGF0FAYDTguj-qPa4BbCXXAHTFhDuAaIvFoQfbyE2qjozeqq5_ZlxFmFhnZZeU-DnW9cEkJL8zxikw7bYiqTFyIZ2LznD-kYDkvnGNHRTDVWc095mYamcVzbFD-1bddeZoUpqNHWk3cebD9wUN8vIhQd1U7Clf1lWFsqJOBzKUdUo1zaJJLHwstZx47UgTCf2F0PHNz-4M5Ja4KPlpQw67IWi2v7SbGN-tfCHVUdoRCX2aldzFrDX2U4Unt0NDiNH3Gnngmg6z8I5X6Fju5PqH70qcsVcr8KvhhY9YjR12FUtkNO_o00ov-haoLBh_HTJpXUByglzwiT3YN5Buxd4fHxaRlolD_ST1nghuUiD5dVLJ2iLdPBmXEiu7avR2dzdpRK9kU2Rs9J667PGqu-15el-F2aJbB4qsEDeygOjHKMKt2ZlUVzzvnBKLMcWWDWMoVnGgtimsfPmariqxMLuY7Mu3inSO1pZ1mYFoSD7WLDmUc1Y-KPJR_LgEcB-ix5HvHwebTorSpjbIdJ7EdpHhrC3HhNTEmve3M_dj9OnAC_pYrb3xAF1NLLAxRfkujDxAiagOK91loAiqrIQ2T4rFvVdbn1x1YwxLIkE_UtdtW6ukbdyMKeSn2DT7q1xpTXVaQj5kY1xd2cTmTLfJAAP11rZaVy88esFTuM2LvGc7jJWbWlLvIss4ED19Vwd_i8tG6HnCdW5mcqevflaRI9OZyPJ2cQFFgUz72Rds33qdlMk3sV7GxV5ryGK6NpbJbFSjwTbRZle5-eizEztl0cm-ikuMdK8E1nkKoq6TVPBjffcvSffVdvbqIS2oyZbMxwX0VuXnEEC0RN7lwODrIG6ouLeeY1XxuBOnWdJjZ4WV9Jk9vUbkyTRSjiKYn4rGtarHE8SqosINMVz364nc_i6wL5IlqApDaXuzDdOrY4K-ILzUS_mwrj3JQAg7BzyWUZhSFWluTyBHIlIZfsJnHpI1n4T1RjQDp-9nhoV12dkbMZRYc8EjNUo6kyCOb4A4IhC2u1rMEfCvj5cxZjMJR2VmsoVbCAR9Tm0zRmTbQ3IZ_Hs1nMWgKPML5BEx2j96NycO9aq1o9TatRT21Va7Vg9VSNVj3NzODlcn08Htfj5TYEwAN8vxIuN_l535Aynx_TNYuLaikhTs-K8ITkM-lMOzMnAlmQe4NIWssnhzjdKy5PSP4hrYilJYXlNYqckELeVqLGF0tKJPaSW8Jbb_IlpZLnJV8aEDU7lkT6JEUZWd6YLMM3OTnfZGc7diDj12KvUQXGcyK3YJroMFwOr4R2ABOGR-C12AFoIORGAXjNkwHTQPR5vVM7Hj5CRpq6_3mGNFouwhe1C0JZFi7Xh2rx-Nrj-Qvhk02DVOqsCcmDFOpgMiiwNjc2Wz9PAFcs-YZ1_MaqK_tZ-69sY7-h-zofr3pQz4NtHDAuLB2R_qeRHpLqTv3xR1U1Kvij_fHjdhBVtqbi0Miheo1U3p3VnZESsQJ9lPrH42oQM3LozXZNmWVKd5ZcKo9rRzMF-H9CsAQQRSvk1D17W_vsXZ18pGh60ecIjPx-Hj7_ufc7XDNIsBxeI4MT4M74U_ApwJnO8zIyPQxehZH_glPK-otVOpkDCNNM8u9MsfAv89Kelfl5PD-fr7Cf19lmtb9jeno1vT23pi4l4_Hkpe7cklYlbQv-bzmnt0dz9Kimp_cO1LwHOPMfHzB-GwHqhyZDvx9Ni70wNc5YYyvd36_IlVc_6_6n6hMvrP3m8wm5GlUGmQ1L24tjHqpdJXSRqYkp9UrHL13IhqjnljSyZB5R5lEiRIV2pKTnOtTpFIFHIJ8y9r_PWGsoRSDnzJumN2bTz3ar5Scjp3n6TAmNItZn8E4fHPwD0vOmkQSbObCZnjyDgk0wJbwPoATwczL6864MkMlzM7U2m_b1hvCbGrfWB-jajIiMXVPdoKZDVCL_vwX_ARQb0wpNcR7aM1kg8JZxxJopdAHUFRzzpYZOy11SmB9PpPn-PAhtUUzyiHU_7kCeRrp_36rZdn0jvPEm9AJ8FnwdHpmw9TqQ1TvTf_xqRTs9ddqZBKxnVrPsYuNmw0mWdW8t1av9JQlLqgOB_r1tJsNs-CJhw0zHtVmh4qrLwMJjwPEzkPBrzH7tCIwEZC1PeDpcyshFGIFBKe2XHmjXpIydLNiqC0ryr_tmjD123smE4TlIVy8tJh6bkLGD9UfN2RFJTI1x7LpRuQRYeMp24wTJ7Oz4R8J6nGBZrAie8xIG_4Wnz-pAQuKEMkFAQ6uyMF9HoYic-QrJdv6ChXYulfTi8oK_JFGc3N5eB5ecaXqDz31z0RjIywtkGYAUjzcduPi6W62gXgQNK8ZAf21-S1Y4t4wRNbh4gtttyhSQ2PubrrlS-sQvLdeZaQr625thPlyfCCd-rgTQOo8m4oFcR2YcSfxPxAzkOqCH7XHlAVvHXXv5XVv8tnGpUCo4hQlpua0YLQbS1DazDBj2109-iRjctHMgPtl8bsKWVKrFYWiyp2-jGWAGq1jmWvU-eNiQR9UzlFkmBe0sKMEiUjPPJFAY7DqpC2f30CAeo2DpN18i4MfLpadul66IX2CAWawMywIisbvh8QnA3cRJpq10-paU1H4GY2ZqfS6qm4j3FE0xLaUzlqamLKPTl6aA7suejtuejHiRR60ReVkMLmI0cJ2MNE03mdwzaWI9hVw_sVzDcRqMHITBEnk1apGHlahZWEheOHFSgEIOTFqrl3g0Gglcvmuhlbj5EzU9ZHJ3NrKfWMNEQDaNGxdKHJeYGOLp4FYY3BNvEdIvUsbB40BfTmLUPy40blxS4n1yK9wKTvT3QVBvH6C3f_xxVc0CBP7qKQq02tjPBH3t9DRCt2ypndHJ9kDtnbJ1W21nNxuvWtC3NTR78JV3aN__9u4NzZr1KhDiKQu4LzfK49OkJ2MXxl5xztJZApNdyVO1OWfJPXnz1USSrplL4x64HJz4B-gSndwMogvL4SH4wwcD8ADQXz25-dTma7lD8BBjHTwAA_W_MJGowJvy881tQiTCRFm5QFwqjsdUWs6XHerbuXP7jrod23fuAkf-LeeHRgUyYgrC3Gpq6k_iju1123fs3BkCjz5YDt_-Db7yaaWZIOu32_DylanFFX5ioKhtBny-19rRqQCbTwJRGN2k31mSMPTTffbP9-uWylgwCzMCn4P__KqRMzJVMpUnDklCYPjZ5oQZ57rgEhgsiMyyqM5zz9ueAwp280klmHG7BC4B_ZNe3nnwbnnfvqqSgWwKBY_QNQN-DgNB-KXj1zv_e4cUJK6U0tnOU7kZO0c6wfCxzrWdVuxk5_rOnQ6uwzN1UK_VJtdMvc0ahnobeqLOivyu9FBPoAczqwgq5vD8YgkvMC6xuITjkoh5_meyGDy4eDbx5Q-Hy5VtHSz_99WVl1x7L_26oylde9wx7_mrfHGad75yl3pXQaYkU7GqYpZl9UJM18qnjZla3fLKGfgziTXBDF5N49NlPGhu5WpXVA8rbvKR3YwIz_z6PPHOW7_N--FN7vTgpQj5Gq06sOjSJWQeOKbco3TvVqboPv7F7jlPB-QXeS_0AA63in8BFiqfFDwg-4KZ54zbM7ZlALgOGcZXHVEjoESZVOEzthsBWIEuyIXdqBsQV_Sj_UCV_A96BEUvyMfwM_QR-k1FV3k_Ygt6wLUrJco-HcgEeKtiw07OXzLw5uqEwKDOUj6-hnTg7pWDEBgMmRX86_uB4nXRRg2RaP5xbDsO93cRcE3JymIUJhbSuWPN5EkMxhtfQrI0n0uSU8CO4wmGBHCsC--rQIuKhSD5mvzO7EmvJ00ampB69PkR454JFDspbc35dBB16VXsZKbxuSaWmvLtuKR3fMLKue2f3MgA5col0BLg5Hm_MulP358p1-yIC2mzkvpHa3a1tIicsNsdyXlqE-0WaL_B5aS7dgtOFMYSPWe2378mpf8OtmDC3jz2f73SdIA_JwaQjIaPk3dbB6i1XZYuduBtx6VRG0Sd3Li5CaxPkW5OlDq0H9parGJj-if22wVJRE3ilOCwYdCWE13OQ7gqKtBq2C4c2IFHte24PDMNrj59spR0yxB6is6IfoDatsvSWbExLmBNtTOzT-zfBLY075OFHzaoD1QP24WW2BJWsoXiEH0tqLvYNQ-nxdKGgprxP8LIumZZ5VCxcb48pprxNBxXB8f13jxOYhiq4aQETqoekzip3n5gO_FmQ8qQYps2UFu7VMovSk0Bl3GSsCePa7NzP4zGPRq2XI-r6j4NQNIMkdtL7TotVaeJObNyzjy8nGkDZmImZmKmC34YTecLcUkfGsSzVfDssjgbZ3N2CmZjdrfs4QNzOMc2zun6frelQ7kFIEuTQ1P_0U6h48ioHwOSYntD6pNYEYdSYqBGtoDb0BNX04fEmJvr-PeRwzFIOI4ve8DR5-xtZ28Eu73DgHMySDHOrqCr5QAjHmCivK8nsj0JHNEvh1o8B9EE53GXRRzrhgPEH6KU0FiRWeBHjgFEihXA1SpAEr-7E5QkmZDA6Uh0X2_N0x_rvTUtL91RG1P_EFN_rVGi2fREVlMXS-Riw8DFg4Ep_VcFUysg4i9L4x6GVUiJxsWt72TcNSSpRyzW9IK7g3-_5SBiKMbCBpoODkYXNKkoe--I2qAzkcJRukZafPhB_G5KUu9R0Ub8VrJAAES3SM7LJkVFR8J_AErnyvpHeE_8dkqMxgMyLO3ZF5BYAEjS__jWzWDqBFDWvxcU8SnKM7KpBI7oMsmJoUa2sUmJhyyJsW5CNjPAIcAhwKEc9YTfATJGQER3Y-XgJvw2UMLcCOBsse4PfSgdZIqlwp4ok568Ir2klzyqGstBNMEOrCxir7ugLVYd5WM9kR1J4Ih-O9Titmiy30MWcaxb5s4xcg-LhWrQBZQnvjcUk0jGILlA9NfGRXPsZYyOe32F6zvpro8L3E3iH45T4qG7yKeeK9AFa3gSaLInj5843fDf-IIBXyjcBlAL8mPnGHT7jP-qHoJwqZ9IUAqPGJsl-i9IwggoY1om1M-p8GLMxzhpuR7DQbG_8UU28Mf0dT0d-axornDPlSm7XIXM9QZcLI_2r-6oPTcBX1TtxIaTJ2zudBrP1n6bCqAyxx8M7ThOc0Vb2fhyUQfGSJvv1H4AG9Xsokskvnd3XHFuzBUNhEtDF6u-fr6FstKQc9TQ6gsffux8xULXBGz6kl1WIal63x10OJIsYzs00DUx6yTKOvM4fJd0PGpRJ3qEQnHIx0IdKEQhClGIQhSi0BT2FIh_Oz_hh3p8SsdQDXTihvP49HAZH0OrjrKU08PgXq5tAOdRD4DzWE0A_mLa5ZL6W3VifU7827lensd8aPpueV6NnLf83100ADXznquSYgGsIWe9tdDcYecBf075CsDDXQrgelb94qiyXgXXKFe4zmgVxDmpuuEyRM9c9fCDWPvItdxlAMAM9NFpdWaOYxZWT7mfxSeMwsuVuZp0uAh0HyDP3huOtmlWaMLFjkKST03sJDUW8Ga3elw9_UE4Z787CYM1-14JP4WBmdhdfkXVW1dk3BRM5Qjpq6cCu9XmjLp3LRlW-DY-H1i_vCXYzjQbMKAHl2qpVwfW763c27kKAab2YD0lPsLi4S69wshcB-UAuM6v0IhkZ5Mh2npJnNYIWxOkiALWY5d4ZH5dCQDWyxeUlN48LcC13BhBYv97gQFZs-f112Ul0lwk-qYSmTD8U1oXZ_Z_gUjZL99UpA9vJfvvwN7zeX293CcCr5fV1Fo6XNelroMaUQC3rqSn3CgeGNybroweM-HjADb_dcEfc8Z6yvgs_pxa6GLVLH_20q-0FJSN9eUaVNcM3wWAhFoupOHEZdoyL-brAlUzmnjRbu3V7_xnuf4A1v58Gfnk-f9-4M531-fV-rRNv_nfeyNpZ1iq8-Urfzx5MROXL_rwD9p_jzcZIueAHhz-ZcABrWK1wydwoVY0P-YFfeNqQdSZMpeuAgCsceDq3Nw1_z5_kdMtKGekEWP8bcEwDThLLlI4axw6sVMLHlp0VqjSATH8YHBHGjhmoenoxqFWu3Ecex_sXsG6fXjCbqrIHc67pAmtSE6DB8B9tHRtqhlko9K0uSmkAVTMkrwkmVecJgGH_uCbQVJqIS2lg1cbq6CGUDoBzgkyOs0JA-6WrQqN4ToxTANSCCVO0VFn9BbZ0hi1JSfAbw2jephIGJHQLEnWVAi5XC0Z6UPfDYZpEFMg0gg1-9TjBCWkYxgCN0pFqySGaUAeK2ZTrwRYnbM20tMbgZOwYxMeuDMIK1LpIASA977sdaaheg-vDneA6g1ogmoNdM1MQ2tnGqrEduWyRSqd-NvCYRpxxJ8l7FWsmVSM6E7uOxKCIMZVwkb9rTEV0kZg48EiFSOuGcqpHJFWmxXOvVu1nDIJz5wsCA_0RR7F2FICm6QxN27M-Ec0eUTNjT0-XsmX5cM27XKiB5hPSnNHPW9xuZ5_qjLKpyaecx6hwG5xkQDjNIJC6CPy0YqAZK9Wq25O-UItgSMhiNCwJgFzSYuivkvG9Ienkbovcf5zCQzGaeQUjD9SR7ut0tkrtXsCjSXGIXEx_-M9KIhxGpHHih1U_HQ0y86F1TlrMzdN9Om2cJhGHPHXCtOpa9KpGOGHFX9bOEwjzj9SbJlVhiu9NlGv-EeOWXVE2C-CHkeUonzChrJ3TdSzOiC_V2BbwSyspcwiqpHZgh3LcFUuRcIvFRFvKcZPvba7oVuovoxAeKqSKZKjlKWO6uC83Y5UYawxVFjMYSrVlDoqwnWq7Fqwajr7crYgXlfptBuWduEdTYFoMIkGX0ZZNkk0YVoW93i0TwD6W3-_jJqMnULFnIgd87gJxA_1fZfAUXYbsHPGXrqRYxSHQGfrSemuydTmc50_Nc6YrJ0QuLRf2qOU_1eJ8N6blqP5X9Y5AXSrDKoA_dZurWI5nCrUBajfptK7MTqZQpmby_pE1qhc8KfJ9z2CM3gvEqfqSDGIniwrkdi680_O25Hl83HsXQFzvt5JLO-kUZkIrrl6IYhfAxrMLt0R7UD3z6s8Z3mwkb7AziFL_-XuTixXu5eqQB3LF437SacjlFGv5T2zWQteldGGgucnr7Vk-Tw6nKdGLh_xeK5PV3qmY4jaKEu5BJ_WLsuhVLdWeX7Ij72sTYDJoAN8eX6GGNRYamYg7F7q9fQF6RM7kvzlO-GDYdQHxOcCwur092uw3daV0uWzcV9e7VVtsDpbc7kPLZbaMfQ7rSuxCDzx2VxUjTKrk9hL1WICVOv1khSTM13OT0wJl2tWdGyO93fuc0pWK-mYnG6T9g5NzWBwLpGHWVaUdUI-a72OECDhETTrgm4GmaGbKzrSJBjR3TSF8XoTM3cYVnfxV9hYZb_JoZ5Ru-RnNcHthZ7BS2YqY0dHJ9iw5z4D0xjsI383XZ_4-X9RSO-LNefHyFegEPGGmWCGeQoUqwpHcXGkNHXpyGza4dq27rdVNbv0ymquv6HO6Oxu7IOpZ9zwKZuG6Zyh2TAVUzff8lV-k3-Sj-fT-Tyeb60y-1T50RMeBgxggoYIKwFqmMZyztLAQ_6jQxZedjvPEnd42Gp_TVN6U9uZllyJKYipj5kRMyRdJn2TT21cbFYsJVYQOyhbKdsq2yM7iv_Zuh77IPZp_i0dGzcxLjeOHieO08fBcZVxC4W1wi7hsPCFcDPuXPGXwdiFfZzA6VwPCYtZXIzauMZ402iNb4w_2I3g7KATzAabgktZzW5iD7IX2Hb2Ghuzj9nX7BdWgFnCrvfrX1JQcesrb3cHO935pJ503G-4Pb_NxSner_ecltJ_Suenl4LpfllyHXQzHzYq7Ewwzir7PAMUcL2tYTEllVH9mnZX1YPeYK2dXveKs5YJJn_Jv7vZLbj73PenMZ1ZG1VsOchuRNI56nl3TDMwMzM1qw15726obe3pYHFldSvKvfZu_jqSp-8gnl2ytMEiF7_-dKO3tK7anlqLdvMzpi0ZzHDGQJdooEaxUWtMN2aCAA4UsMCNJd2RUZuRmeld9MH6yWaDOcOcTQoFdHBM_z99Ghe9qN_pNtgtyXJb5VaT1WYNiCiuJDLo1-Z2ZrARb4PVEGYYYDvtUrvOXrEl24Dn69iQNciOcHJXk6ufa7BrrGN3ip0Kp85pdXqd2YdyBPZxPwpgtvdsU632sN8egwfdj713dN98rffeZMlmzRmXw4E27erGnK6cLY2M5vydG5dLy9Xndubuz32A5-NbofNkXiJIa8ydtz7vSn5Ovi__QwKJABNaCAsIH8Hn_kR4WyBy6wpWFWyvQcQSvcQmYhdxOfF_xEfQ6CtSLIlFmk_aSfqQdIR0kXS9MKowv7AIWlygpnNa4ceN_EmOJ1PIbnIjeRP5MiWR4qcsh86fqVkt5LOZTt1FfU0j07pp9-nj6BJ6Mb2HvpZ-kn6fgYcno5DBZLQyehnLGA-ZhUw_8zRrAkvEmsn6lfX-Osw-wL7AUcP6IGBf7eGUcqo-u4EzjdP1k_Us53sui7uTp-bN5mP4tfxHgtVCj_AmNCTCiqiiGtFnoqviHPEM8UrxG4kTFlUp6ZGsl3ws-Vk6VkqQuqTbZUA2TpYpI8n4MlSPbFC2BGusloXlGDlBrpRb5dXyH5RtkA_Jj8p_K2Lgu1Fc5C8aLlpfdKroYtEtRYRinCJdQVJUKLYq3injlBOVeUqWskhpUS5T7lOeU2WqpqqGVKtVu1XHVV-Njaruq56oo9Xx6ny1TG1Vo-pm9TCe3Ur1FvU-9Ufq0-oL6ieaKE2qhquBNLM0lzW_aRXwHtZrndoWbY92ufaE9hfdJB2qa9Yt1B3XjerH6WX6Lv1q_VH9fQPOUGzYbRgxPDJijQpjsXHAeNT4J1QAfRFew9ARk8yMM9-3pFqq4Vy4DX7_nVab3gbjf56e2FvsixwFjvWO106rc4Zzn_NT53nnqPN35ysEizQig8hx5IYrxsVydbhWuW6gInQX-tJd7d7qfuzJ9cz1HPKc9Xzv-cWb7qV7Td4q70zvOu9R79c-pa_ft8S32x_vl_q9_hb_Mv--QHSAF9hfbCkOFU8vXlG8qfiz4mvFr0omlyhKqksOlVwqeVpaWBos7S1dCfUfKv2qLK4st4xWpiuzl9WWDZStKztS9kPZX_kSGBQVk-9O8ZcXK-tesBK8E_xscW5xdXEvLAYT3BzcH_wpWBekgmFJLe395f9YIi0_Wn62_HY-Qio2079YmlpaUooAsBbsft_fVYAaPL3IoYugB2DO3b5HyuYjsFc4nRs1fQVCwofZS2XsswX2l-Dm8eorbR9X11xFzEvMv32gGgYowC4gAKuNAFEJyFhWMfV4sk0nzwAH2BtUyhaKwNQ7l4MX69cnZIRl5axMtdF24P3B2L5g7d_FN1jkABsSjKdLtoP8D5d_tzp6dDGk7J03OrF-8AZwnIQ6exvr5_UPto8OzzQuUPrOhzpd2P4cjEyc0s3CtOASqioeo2eC6VGltu1RdyDMoOkpE9eIlNQKC6Nn5hJeeZKDxtGbsaSR7A-83PONIhdFK9NeCxycLY2RUVt8Y-cvE3q0zRfR8NEZ_XhXOrkAH45hxkoRKYAPpKySiDt81SvPV201Mz6p9xVUL4KLQJ80ZJwZcxczPCjW6lpqftysNHnitSv1w_xU86IAA9MNm5RQy308Qhqk7bK3OOB6Ywjm1Fwh3tPkF_wk6Dem01hDy4weNtaFLOMFsdto5ukONaLKBZBMXb4337PZzbAEyXCNRxYH3CDJ7isnUUPsICalzOQVIAzCaknvxnwrVE5mGd66Brg9gnDhCnACYGVHdKBtk-GtMiyXQDZ4So0VLKnedqrz4ESHgEpcI157d-ZXbZo6mLWsoB3E7xt8anHT3gdnzYK6dpMO01WyW1jOxnpYjVtayaABw5hlWs6Y_BtBHQGH3gEWnSGTkhjfb60aF1TXyu5bgPTvhZ3Hd9T43uYrm5exvTJeLNM0HH1ZPW3ihstt0oaVv1ylYV-3B1l0cdjbyxNwAwyBy_As260jtu_q1ZQ8rBEbbOoiNiPWq6Oo27jZfq_EjOd8DQibbWjT5_o5l75g-GYBKoPwd9qG43AvKhU4g8Eh_P5nyCjKe7euhAmk4ph6ZSSPN2_-70WfbmpZLzUYtSAknjTyaLUoCDZRBAdVxTbmT47luR9rhRME5wwCgNyPqbhPjM5PL4OTSUxDMLEfB9_P5YaR7-1SgEfKG4_X52BgbptfcgxcYbgUAOmTpjGVjcnzV8vwmh40s1TWt1E_CBJTLC6UVS3NvChKgq6TFsf4SfdSClko75bBrDmbVRmn5rI2d8CcxYpwrPU9dyoTeu0aYZdU09jpVrU61Q1znHEjIi9Iis2W2hPZSVTGAzef85cTHvTUdbagXWfIC13TC1Q60KQsYziYDdDjahcgwHXa6wBYZOzO2ZzlNOppp0aepn1GE23oy47rpulZwmh8ah9XvhelEIjdsEsEtOS31S0T9Otz9BcMY0UaSBMvdREvyFEFGwNGR7-sOinU_ahjOlBqu_ru_fgvTmtIsdIFiUXpHLQeds2-1J8nqjgCNdyLmBX54Jpxm2xiPn0ticKgwbYBAMTWAoddvxDMjcVdo_tcHiemtu1FzNzJgN6M-Y8rvbcpKo86XPnuDx68zeXIET9cPJYDXwFHaiVYrAEoplNT8eFU887SRVzx1uH84ZS9trW_lq6jEvP_f-t__07XeVnJtUSPTzzEr78P3H7D9ZuksfrQhu9-BB69ApnHrZRdTEj761ZnPS_h-0wGErRUCwGAelobc4vyzXwsMTIxBicLWTMupw5nK0EnuVlHlNCPTjvpV9WAjAnz4uheGNaaOUyLL9DBIsTh3eABZU9RAUG1Wg0AAhVG_eDJw-Tj1zSwgt8lUGJszGyGR6Pe2fsY97c8AY4eGhMoxvifarw4nJMaPnBYQyjCgpWEaRi0v0YMKG34RPli8a2Wr3eHGXp8d3bw7rZhx9EGfY58iRC_a1EhrAoFctxH7vzpbx_j2zemYdxjzn2Inlq3pde--WOS_fw5nFGbm-EvdnqyaQNfHygh_swzSfSHqPXJmLELtwsYz5wZxox4KX0Ym--fpH107T1dMuncyhm-7szOscNQNOFtwPHrMwXcei8AcP6HAec-u6vOhJ9VcG2hk08FmNvm6MO_BtXVNafzxGQc2f25ro-gNN14oFmQBlKBtvQoAGgjfqEucXwguJZVYZtk5755fW3E6_Yl2s7XfQZi70BVF20NWxdhVvYsBNuwGpwhSQJGWSNfqEClsgCb_6UUWBD3muj70booUiSVBRRSIFQRR5gY7IEss4WNw5EpXskW2DiqYnD42DKV8iCrpBahIg5-PsGdnDXxIgelneznvtgQknku9oeAOQriB_rF14UMht5YQwDMtG12zU9fq_UDmq1kw2NffS3X4zAXk_Biu8sx0mN0SNf_9z3uj3-L5nQXRxOldIJG88nfffCh0fLjO93n1WYQ2aFiIyjzOIwIwNvMpAf2y-WDFGVdPTCXYHSXwr91LObTXNONBHPwxOU3Tt3buUhXHntP57TeCosyDBAPFWRgmjjEWJD-j5PFYI61EpMmCuq2-XlMPWfE7xHAB3Mi4P0UemHB0ObXlNrdfLZRZ-Z-OvG0WwQng2f6_TVlZ5AClFcSABd0mC0SZsdPkwu8MuWJZfIUSdxy9fRe6svQIQV8Og8A2sReKipDag8j9mzXPRUxOobCjeVyxRDPiSG8CpSoP2hLwdORNUr6hDSjqYxRPBo8DTdhI8ySft17FMAUG-eRGd4EenwPmwvcwfe0XH9YHU2WCjgF-s6OxEjMNcWogxZ9mUPIfhKGiL3T3dJqCevUs54lvHKs1QKQBuRCsckCmsRmktapdUEeVYbFuhV1ODXXQU9FTynaHF5uHp6UY6KAZnN25UwrYsK5FjRWOxoXT9w6cH-vfrtZ3vPkpHRsV8YyKKFtEVDSBnig5gMAHM8I7a5XqcAGC26klAwoi6xVNFZaVZOntYCuRkQ8aFHzaGGeE4ulDUEh5V45ddLO1M80XZVEmWbDFrL1uFPuZxEOy0YzBzmx1nbjeLFS-kavSM9Grdt4VJQFKrAq2hOkrL1C8FG40ItHyyUBKpkaMX6Kit2g2sS86sg0HB6zghMJSypWlIx7Ta68ntgg7rkWFBmxyX1FtioI45dxOSyolN6Tb7ASK0tm114Y2lpMlbFR6u--b_vNcqI6wkHF6-zv7-s_sE_6dewoGIIzht9PQ5ZTncRkvEkzbi8Y5vr3Ve26CdThaWG6Uij8_ZUtbLxVw14ITkdkKWwtvWLbBafKwkMEQU3MP-OhEmhtknhILAls5wHCI57Yzqk4bLtH_4dUCYtiZF6dArcO0x8Et0GM9csLj8AjH_CbrZ18lRez3Hao7Yaz1u85Bg6VBaAeNcxRyXzBmw8G4ztah9-WwSVkp5TmQENdE_TyPItoQ2qSRrjfglcfdh9hRTbqbv9GJ7IsbcL3_SpQqsCBysW7AIDxvx_W3zvafI4TLnS_bOSPp5r_zci7MF2HtbNov6hpaan24RQG6yCzGDSfU-Xmi2DcOcBTBWLfbbHQc1m99l473Xyu4XU2NdD_BKyf_3sC8Utv22QHILgIPwAIE_73WPtwP7k9-SCDgUowiwPkicfmwoz5irhSqKF35u08BJCgfxb--9Y33h4AYLfo34P_p38sH-AV_O0rNpPcBu9lXHcZghJDXwLKhjPjBM9fzmE4DiBh835iHyThLwEfDd_6R27jFzncbYR2Ov3fEjoBgGKAyGhhU99KS6BLcj-bF-U9CKWYSiMTFgrj5MwgkZEAAH2Yqhan1QmtPJYEtsXmtIjE2lWVFF5lQBgdZwkHDT0Tu5HUV6e9VyTYP-pqIU07Re15kGeXGgcH1wkLGJgY4KGVBRMCrwmSRCXb320w86ZgW0GlamVGwVVqMI-_8jzRGsUE6xP7szGrTHyDvUZhVYnPcK9HZgGV2g0CBzkpdDFIKPObGVd7HMxKdvsElW_LQQPjVAgrV2qhk0sGi_W68ziTZ62s3_yjAGBy06ZigouREtyrfxCAY2n5eYYa6XVfKAf1xmqultWoqepLSiW4oatyhmPbT8dV2qyiTbHUsLGkzKrT3ZgZ6eAPNQPomEjd5-RwpgjpfiCf1ZXMtEcQ8BisaAx6RJLWrHum-FSEncuwqoRow9hkqCnmDE12yQhLgakqDu9lAqOMcdaMdulx53l6QkNXp4kT6J8CWs7pIvBurhwFLMjcOI729RBAy9PJz3PU7iZHf121q1JBlaHxMoZJsE1IA7yt-wAssEwf7tTDglGcPWqrKanauTLCG9fFWL2ogzoetYhlsqpSw1gV2DEM6Dg8JOqWomtmardFvsBCOoQk16tqCW5WU0WMhD_MFVpOnNFCN43p6bDRTjhjuBjCOUMmx3uV6qIqFfQ1uCyOqCsgla0JnhiQxqqUzh4Tq1KniV5qsecW7EsZSBFF22qA6ixNQeZ6vio8tWPPpo-gNFnBPsqcUjEXlnnmL1lQSfZMxDJkoodz-cRvQMjfSDN4q3I-9SvfLTfiA_Vmv-MCCQY15wCYDN4UzqNW-9aAFPmkUhA2f_AnCyUpDBrTEo0Fm6cx_k-CgNeLlAGULWmwQIO4Xa3CSWOlWhvYz8sV30E5kdC5s3Cpm_W8QdnWTB9iQcNix6T5mI0UHItCQOSIN6VRmNWr6VgB_doBALCdihnWkmE4zyfOc1_AA2jYR-5EODBHyIuiJWgyaRigwupGSCoY-T9dSYTd2JayiRqPcNvuVZBiaDhfY0F-OmkTWzAzxdIHJFSRqDYTVRbGlIJw4eV9Rq4tzbHiJAa5HGASTVWqfS4kCyuBJM2D_nsaiiHCuNRtLo66BdeyGqC8WZwqBiMPvtO7QS_wFWCMG7cQE0FSpJgIzNQHZAUMiyGSH1qr84nEU91uHj3rULx03-vGrc7mi3fDAU_SAS7k8WtS5dE0SC2K5Kx_uyUO8yhLxNIMOAgufWNeCcCBPVV1xaSB-EL3Nu1A6scfvBMjZXUcTQxBko6dRV4w7KU9KW532Yg_-caJarhG0GEBe83BElxb61YA9mS6Ck4FSqY0hUPpCZmUrSU4EXR1U51AujReSuIkLR2xdudYcrwaupxbb4JUMicob3FFBlwSUvZJLilgfHPSvXS93v7vr0huBpSr6t-DVefQilxF8eDfXD8M5tv1i4c4L2TzL6N9igTEPV0vcqxoPrVjGjitRRHahP3N9xF6SQbzCRw6De9FUtoNVSGKgLQPWw4Gaw3MkIHe7xBvGuTrku9Q2lxR9a5yHut1UiR0rKsWQEkjOVNVjysd5v_NV2N42idaGxSU7yqTxbjxHpQW4EI_hBojWXArcV9btFC-0MXnWaN2UksDACAw1g94fM_aGhMFN-9a9Hxpvj7Mrw8tWPuLHtj67YSPINRiDQnbXCQI1azeXz6yaXe7As4ZFWANxJUEQgkKTRzX5KhhbEokrF7zySk0wmAkiozfVNJxlc3Q95jswD1kmwOOXCHbfdVCk_qKIzrb2LAgUljSNYwN7HwVdh3HhulyBD2YjLGUkFgzqeIenI7g-PSUBkZD3CFwdDNFcYHyIJ5Vg7UGpRI8ogmtbnVt4kUduQVWcpIvMxX71G25nongePe_eI2JQwSChUV6CdgCb2RaG0_fJ0mBjQmTVEutMe-Wk6JeoerqhPGI3fvmqovr20rs9XAldi25AYdD3kNVSfNsAo84Hnl5HpcpyJbtVVF7DshXI8cZBSUarrlcVy7278DdJRnN_TJqj2pcXN0tRMq081_KbduZLTd400bXuK7JkQnkzIfDC-gCHZcZM3aOwcoeWZ2ktbYlTrQpojMwcVbJCagisdkS46bSqToaHoFMi6SPFpOq9hgn41iC7iQTXWhwrg_o0QaCgu169VJ0ZQrZU1o8_06q9PZ__e799P37dz_a24hciVXXcO7k_Y6M5_07yHPLMphDalhqvYSDBpTD4vT6O_l8EGUQKD3u0pqdX8snMImD4PP8JK6s5AfYYJEGATR-BkLVkzBlyJ9Hvk3lSagub1LGrqaTFZwhoB305UTa-JuClPA3n1dC5VXKGBVZII28sxbUuTa2JebpKDKeuxoNQlDX9VE8_9_f7Nb_Fmj7vS1N9RG00f9aW3dp89n6GZ7lQ3pNSc3bH-5M7y2LP3T4ePrp8QPvIWKUMJwhOX371J_PK_JbAYF13HwNx4n9WMpgBCaFkcPdLoEm0GSIA01CiBkVsTMOLTSw85g9uA3MoLOcUOj95tu4LGu2jRZqPoyvWDuPBpDng-PozzBP4rT0opl7ZT742pEv01a8bfUgr7WBNstkHi8vT6-WKRSCXMbisuj1itRUBQeqYZOzclAkQ_nHRfP_fZOkuetwPOcVvVjjlqj70Di5uRUNXAmurbmgb1NdlhUNx7HdSFJErA26vDw8-lFWriz3Cc9nA7TGxwnnCcI5QxwUhhscpDFJNtSOeUNGhm0u8gVDVj3XsXzdNnQ1SQTmdaOJ37aJVXfomcXQewDrnFGRNaqz1pm1uC0MbHxLyjBYtO77hORD4Zo5WvwWI3RV17GbgJIwH9bvZGZxImkSvqk881rhKy3ltbj8c3lhXRaaiNbMrs04w44zk8LlFTeFNrb9EvVwAyDw8ZSzvAFc7LZNoA-cHZowsqVEd2AYxUeBbRCzggd3r2T9eJSJsdVlctHUkPfD1ceGbWnWkQtRV8mI4WH6w16gX94irQdYECB4krojDVnkEkH25Bbe-itDygSqKRrbMlmBB7NAzrkjgr26ywBa-1ptVnIzeY2JrVUFQScPf_jhonG_h3Z8nZVjs9URu_p3fln_ucBy38WDW38Tl-eto2Rey2fm_R4dZOTTI_1arsEL4KXI-UxifZrA1II_JrUFudYdW-mPkY4HjvNxv-PuW76zcsgPCvwN4F91c_sPOi9b_LRfMDj0EuriZkoGtntFBUfVamaOSW5cOH9Yp9uQV-QqJBbrphhKQoo8KDwopKnAlNT5gaIlnzCXsUGQrvn6CPyRnYApHlj5INw4k7dgrSIlCIsmj8gxfdYMwk4cH8-7I-uevwxzZzGnb5A0rQYDmfOxUoxoynVogsiwDsXpstg_xNOPNU70_1vhTDEaFJGwt3f_TlKkrPaP6pKgH96azeSrvU4_Kuu81cYtlKvdftxuj2zvhAmEnTbakjibc4ZrJAsmVjQGE2GiohBU8lhvbE3CvGynIdH-3br0ZoppkUdyxjiOqgFk-1Y2trR1fhBFtdqINtdCI-Hzcnzg2xcFXrj_fk-ZUSoHbYa0fnt3VqTECYjRSWwzG68T5WqnqwftRatBly7XKvUMvb_12tPzS3stdVbIasgPDBvaxIDWcmNAKEcvMggHorAnOT5usFl3jR1dRqGa2FE1FpnH7NPbdoYu5UUhoUZJJpjh0LrAySZsFni1todacuNiMrJ82PX2SpLGIOOdYalgwzXIopu0bCpIzIRK9s2USvJQXZ4gJrgD3GlRkIjM5bKBGf6oVlCyzaRsSyuDrPL8tboGslw0pWtOGaHaROilNFhVHNu7TSS20dU1mdGahk3CJMmgBDSVC-XIsJyA843DOmd0LYbX2F2JVKJKLaQ7LFDc09CCOAyWXEtWKxWdUSFjg2UPMIa9LXYWy6ZVxZXRVgpxNpfS-L1s7qyeiby1sZWbbyczYdDySA9WgqGkyQwNy9MpnXebwP3JkQMQ3ZICvIZxDPJuGObIV3hdkiliO7qF26tQvxDT08fLu8GL4pDOEpWO-yZMGGHKF5BiGrfraXRX7BWj3fbzEFtUknrU1ks1bdu1ZxHPRbiout8x6BiXI64-XibsWS23sVzsQ5wJklyZWW7OrfcrobQb1nRqVaFGe38wSklnRFMEglG0S_nuBoe_lZxQMwYsnHUlFjtU3caZ9wwsKO7iaqEhRJXOSNztDXjAiG4idNaaPjqxrnBsrrabpRHhUlp4Sgoi4RsdY3Z_hcyeXuhyrwug2t12yhkI8HBp5X_9EBRIT2yQfRZEAFZBHnDle9TBUaxk2wZu3wsdN5cwDcQ1lzXtnLbedZ4WjILG-LWWhzvM0ByTo8tutrYTiKtRK7XdUcbqRr0n8TSUXBGnsksYlzeASJuCWmMNXJwSY6NUAsyqSrByV6Jv6opcUNaVVECi5bAi5QgM7GlOAKBHy2DVxT3GCf7zZZ3_GDzOF19BxZkvp3vTQnnvNAOA3P9-7maw7mj7Mdh9ghP_J535OYQbC3N5TTurvyIy9CG4_2PkzKctW5DkH_-Dw5kCvrMxkHJQ5icMY-PDeXm7Lz8h7h1h0OzXZlAMLXNhXfx8cv_Is9-f1zehFg58ch0sCxixghpoAQB1ct8luV7S5xfK22ICFxexq8maizD8B0eieaO-gISgBXTWfD7ZLBRtcrIJC3dVStN1afPXa-YTnOXZFWslrBldCa3lK4Gb1mXyhrVN9Xtz07vD8NcvwO33c8X_8S__2PpcFfnO-cz8i6zLkGWjAlCiK4C2W0G2ALhWez0ACyrm3zU6czYyU53n1G2WGmiA0T0TWKyM_BlCpqSNepTGUoPoo2PLWjtgwlq6iIQhoWnuy0oRfVpXqemgc6EzLzmq1szpfDlRao9rvV6rljupHlcpnxyw3CXtslxbBNRPokgWKIo48A6xqwfMb3uBOAexh1i1K2hTN0TzZ83KUxKbGkqZZ1O3A1LYTToInFPPAzDpC0WarqlCKyqV9txO8YW06azj5htbbZpFFotTOaisTrXNa4gJLylGKQ-SWT2SCQ6HisiTwiCqOhWoerO5xlysVWkh2GrF3QuCtanrvIyXYGqJihTfCFcF7zKiHr9KSdj273FL8iSeVw5qD7k2VULDnd1k0ix5VeCCl8ZLWWrHi-fLcEpOwfhmvdkT3UXpiTg-m9iDU4fFKSy4S-NqvlVHoxYLPoXaDkJwcOwMoKCnn6hwLAsYj5gwEig7xNTeACIWEQBQ0mbCmtkNpj67Usyc0cpxtYI1vFIGiJFajv5A72_hoeDIxhBF4eW-sQn1eu1gqQjEyYaQK0EKMgknNzGBgspVMGR9PNsMqKQp_Uq8TVMKk2YBiy1iQ8wRTVLpzDxKXrA-3VCtAqfClUTCti-C18mWwREtWCvSy3ZSZztM3WDNMrAuGefMmY7acYKZxJarURfzsfzIWAlGKtZdjbvNAqAbwezJNtWdJuBTs_Bbwe3Uk8BG7A4-okw1WhSFALyqudIWKJOrSUWEWAvOpHsgi3R4jZa3kV7AxYo7q8qt4qZHqxgs1FFbHZ4F7ZZS0YgGAyA8ygjcSL04AehmiS6BdekyqHvCleLhXl0FwUKNwxVhsHG47TjtxrQVZvQTXFjwFIuChDixvhAqP2TTjKN6K6fTMMmgazBXv9dN83Fem-huAUCsJaWx2GhxBuiqJkfBu5OyVAsvMbFel4gLKrGhBTLW_UutVy3LGNXU-HqXNSljrwjGjteEzAs-06ClcfITDVDRr_dVBeW9NTbvqgjTY1QOx9bHJ3v24dJDTABPvfPwDk4A5V7LBBXJCrBkKl2c8dmVtBQ2VA7UL9MTzDzPl2z50cLKzLPD5XvEpwcLW36suJY6FI0omkPiWudRfenSP2s03v17pSgXsoYjMeYcJL9veoO9KcK2-ahn6PqmIMSv7n7o9vXPWnthKQyxio3YVCvB_aY5p2PvNV62Wy2a5GSle3g_NlFTfsX35oJVXtvQ9j88PDk1_vO_LLxZ-MrwG8sf_fa7Lg9bGT7C8TeoVHv9G3XHF1f-pnpjOnAfeNhKahVt8RllT-tLOaDBY6bxRGmdSDjWDhOqAyavSWQwpPxMFXRNNmZyJPUZojBWHUT5QpRzj1qe72-b1gCBAy29BI-NIrGpyanxJYW3TpKNlJ-8bYD8Yau6dNrxrM3G1I1VOr5rxXqHZaEbSaxClILxZ2bGGp9GXFfxW3iUYHY-s4gdD76aylTjJ0bfsiKTKGy1EnHGSFICNyk78uH4d-2ehX5C7sAC1-bDz266VDVfFtVBhvYy6GUYX4Nq7QXaQUdRN0U6SvRLM-QmOpsld5g-c1VUaqJyimiCWKfLok52xmlRtGICg5SLbdQbWx-zKnKhMdbEdy7HFiRXLSr8-nf-26ctCbuV17_za_jKEPm7qg-cT2u7vQd_F7nnjRz0WpyfJKjzO6NaZED7Uc-bzY6QKZPW3BBzYhqYN6I-djGPeTu53HhWjTJHCqvLPLpLLh3m2c5nxveR1QA8qb37dB7Ho_J_f7j4KMEJq8B11Rs056sa84vhpshz3HRnsQTDv3GyvKGMYjmuxsnPJk_2mzV4fQh1DF5Xx3ESuDMXa6IS1minTmq0cDb5VvU-aHogM1IMlojMoKjUjclPK3NrC6pAX9sq497KSRCS9GhYNEcCn10d3lk5wRzbbhSSHIAAhBt3A10RGc1Fi3jQXJEcd3ytx5hqJw6TmiLcFKjW6bVIe_ym-VePFr2C6sS1aFEilbjb1agBHP4F2bbE0ZD0fIybcB2DDcVR9INnQRcWWrQmQqt3gXr-4uyp0VrlJnjvjJPgDZCNv1t9vPj_LANaMxwDV4C9GbRTNGndJ6p1P-hpvT5cwyF5bpb333u58WRnJ4HYbFLg-zwfgDxg0uzj91_b12rHV87p2uijaaid2TM_WP_r9x28PNgif1W6-2sqRwc4Pf40t0_lNDw7nH-6-yC1d5n-4Gf8yUlhUYDe2IyQ3VGKTgnWCaK9H73uUwtp2GyiDNUHA0ql8nbb3-yPKxfPbxeLuRDkKSyVvtr6nriNWCLu01-8T2GoS5_WHNHLOGUbmFiJSWxSSsLFmLxR_HI3_1GUwd24scw29bfCj9II9Y6FR0IOM1JUMiixQKF6gn-frrR-UMtd7Z2tszOiqDfPnml85lLBvTE5eKl88Go1jTI2IZF20C1yuVviNnGTOUOvEGWmsjXzF1SWf9RskALgf9QJGH1RWNHpJbdt6uWjziSi1VjU60fc6SbyGjkJ6oZz40RHdv_zeD9bLpYm0_tsrV7QKd0LhX39eGS6Wq8Xz_fWS0VzVhKdvpIjN5eNWjF_EkMtDGCTHdYe5T7K9YpK2bQsfe2GAjMWUySc1AXMayRv5qXy1eobauK91A3w1XhBQqBaFSb0lcroo4fFR48c3xaebbeNh99oK-xXcr-2qYdBC1mKcc_yNBs106wUiFl5KeJB3C2NsuQicIv4KI2glIUspvfhtibdgQWKlFPcGlXmLGsYX_424mlfqevx3PyugQhS84JpvZTJExB8VJLjFVUmTQYsfNLQgw3BzlpaI6t0wbsenAGCWBq2xV3rBkfAsLQNWCg-aW2ILKiM_cNWwPso-T4sTWVsUex7e1EPrmsLEFL9ulj2pt4CTw1Gb7UheesGnVZvVOleXYr9oWlbobBKLXoEOiGUdjyGFQ8aE6UJkFnBT1PRkeeh7iKcBy1wuuVTrpVXV7ZT066WXL4XeY1EmxjhiWnBxLhrAqqxBimPiWnsqJnRciyZN3xYYLxEP6qf7lrfCN7dnk0snQQmISrtJmauU8-hiA4NcaJRiM6TfmQ-ynDRMqc9eXn6pFxc6Gm_jYefOTq4-lfh80II2BELakIq6E0pGc1b3AD0PMiUIA9KEMqw6arU-5GRQmL2_hsBtmgp1Pwjg18sNtVq3eWpBw-m5kJg62VF2aEaHatQAXSAzGLxOk-5w8gCORTeTJEBDwtzqjHDwvFWMpOMImiMQG83kojs5sZ0AJOp1pbg3rLForEJxfNu-icy9_oQvMkZFA0gNVMFK0oJW0lS2uR5Rjo4RXYUMJG8GnuRDskjjlxPPW3uws5Xw4ffeoNNoWzsk0VptPzBS6uPgbltODo9bLJd1z34d-_UH9ZPFQMR2ipSSc4KH2upgHxOwtUejSzttuGE9BvsUZ3hZfGiS0m47lPj8H4-MiHPReSZ0sR4ygSr3SvjFjndvOEN1x3g3J6UEnQ3fyV6U5nLUO9UIKHpLZbSWPujo14pDa2Hmtmf17dvn6evsjNR81qewpqJKwzTLeqVbEH4SOpxKjYaMZtIorl5qsI-7XS64O17FESEyD8C7jZrTcafuPjHLyx9mtaipWC9N4Y1h2Xc_O6zJbMP_5FoZCxjM9G4obgIl4r0IgjFAed2aYDWqeu4o2ZPBQNTs1nNl0kV-_2emw2O8pahqbLI9_uad0FRVMOyPR9uyyYgdP4ydM7r6ny2LessIyuu4gwOV5gTzQjxvJ_nL-cjIoNI9kvlcnTrE6xYZSnfZ9nu5b_dsdA_Q40GYz369_ZScXzvu7XKy3lHJ-StwfBLxIIa8xYNBcV8DzH240c78udbz6MCf6N-94TmWvw_-3_DhB69c79wBgbE6EMI_csR8fNnhe-4Z0dHnpPfty_7bNipN_ziiVvwuv6mkPn_f56mL3R8LZqh85lvdA15_i0_PAzR-_xWcx102NTxVjNXea-ZPvrLjbF4d_vP_gpfG_9fgLI9_Q47Jp_6q42V7zSm6P4VbhIcty3ZG-R6cYi2uPd02mYCl2XuvfCGJ0MtUxn692en1P9cr6-zLVx9ZhPKpAQPl-G3pUCNK-e7vSRzEeud1iao9CHS1t3y9Jb4hLh1baKJxst8zB2wVqh0hy6Wu2SjMLZl_vnpO-s-_dP4pWVBupOeY1nWPu5-ZAe609CJQs_UIMqtIOUdGZ32486xTo4brrbwL7z3r___AcFayDcmIN1OBNLVw_83el__t3wKNWDzYeayiT7gcnD5yzZjtCa-s06bT0gFHtCsY1n8rtP91dLZ4nsMYAwox6K-wIOOR5d0XBK1jDNJm89VdbEvcNJdpSlQ4jhgNd5QrcfzCLuqFZQrT1gXS2lU9-IdXTkLRwWaJURB4Ry5Ym6UOm022ECCFTHVC8DtHK-UeCjWR2rgCX2kIyG5wYEqh5JUUAUa-N22LuUp1FsQ3AxNDskLIYRmbi2OGz6LXka2tsrLqtaDQurc6Fj0j7xIozaqRSbiDIvIF3heDlh2GJPArcPzvQO-cTJPKQMfBSOO_lv0UsE2GoIXiCKwC2C0KEjcxx4SbUISbItPCDRtLMbxED0iX8RVlHpLoqeJXnHxxQWajvpj99e5uZP1ovs47xJfLXKaVR5VSaOjaLKz8rzehaAcUNNy0LL9TdjpA9DlwJ6_YnM4ER-7c4pAhozM_LWtBfrGCghaHoVtoIIiYfupNam5hyoO1lxE_5sMBhbZe8_zJv2K_bpez3-KPH7uOd3zF1DX-G4KyMID-pk3Z8yIXKx_2CbbSkbNEMox9e0jchFzWq9g3fIxMENdr4djmogTbwe2NyaLUNaYK818ta5BZv7p_qVaUS8_WCR_C3VX4A_1p5kinyF_ukcl7fbtsbnZT3jc5rFBmk8Av877Aalk-dXAm-ma1HLz7x-c7Jz92Z9W3t37anXPEv6NXpwdHzuruTu5K9X0HXh1fXgFkRIFegetCSMKEWfxRICbM_f4FWdNC9Qc5g-PAdfnZnRTHIvHLtNkRwSUhdVphjvB0icZoJMkbdru7Jcc2lbi--br1YB1HomQIKSv7iknypOClDk-VGN6CPdHczVA8aLdkSUStbxyq0Las1Ux62WhD4cxdgWdnmvTSTOyxh_2eJJB7yJiK0lIk1gF8Sz3-fHyFfukC13KkxxO8G1GHinUFBiJH55i-9lG_uU-af6Js3wnaNqmgUpHreXv_uDHp_prfs__8A9-Vx1z3KovuZ6xefSK3P5SlQSLWHL5wlUlCn7W0dQxlpX5vIP85WiI3EG05ihZigaZjy-Dr0TwVJFlflO4QW7rhphHr_sSiZXaDu42Qy5QX0HDsrWv5wq_uX-KvbnUeH7y1nA0xJ8aficXXi_Ms4XL_XX2amsqX2wcY8WZz55-A_hMgk9sLH0_rpnA4-UL0nEwwDFbSBZzry8m1fOvFxmo38mAFKByo9OHhFz54PECz_fAn4dObu0uLNAwA8QD3EYOfvPTQGcgH6bfDtaA___G8urCW5m3ArX8oMEcG6eTXA-OsKmm_ZFFGiu82-UQDmatq4eDiqwiCIxEUgPGNJIB-iUA4rhY6aagEJJSLhlyQBASfUTPqiYSTw-tVTjQmArTjlSmUBBzJuULIlkOc4NxmAXBDyBfEL9RJ9CVXCUjHMmdnLHrOItElBe4nwLCPQ-1M-Mim5mDfCRsEExY8viIFIZpKmw5CzBLeJZlwywFjWsrvkmjlIGzpAosesvF_ceD_B9HMaTPOA2egCxfz76x9Pb19XKfBu40uFEkwL9XrR9puov2jr0WmQdA-nxbtdTa-tH63vbRyjINHaDxRqcFoRnDPnjEpI-Le56XBZX7RjZsCa3-CrHbGuzMHg7-F_z13bu1LR7QNb4BrOfwg4nPDo9FSI0Vm6xudXfr8cIiAUfhD745orCQFEQrnBc3pBK5o5dhypoEBm0SO21N24FufNqG5eGr1ciI1IQR7ZcPNAkXqlUJG84kMeHEh7bDzh1uZdp3dUGklvb4NWKdET1mzelPlBBi9UPxiK7l8B2l1tovd49eq53mOVXA2-H__VNHviB8Wlt6JOlcMmJqEt9u5brybXzdwYI4232-08qCbxsJGWw07ujSDSKDZiqfuTQsEtnDggeUagPXrY28zN50_BpQN_vd0MEddi_t_pWcPdXv2zhw5gZ5YNkgErK0deSSW69XdKBmRDmkWX2qoHkjJe8_Zb-IRGBf6HN1TtGGXD_FmHajHS8QlW44BJnwcHJeumNCSf_Z4KDeCuzh80ldh7Tdfp5_ay2q0TBDLpCF897OhNCeO9wuWyBBCM4FkW61w0fK91QdM3OVVf18Z39l_ELqLamtL_mNkiWhS4z8wtPN59EsBztm6Tm8DSY7jN_UdXOnQW5HcQ743Z1RUsC9D1_uHABNKcP7EI_AHom15PPZRyHINrvMhQtEuyM1wSNjV7pdZQdfmx5LeF3wJix3LHMhbItPOoiulqlOZhSxLZPhvw5HkuwRSlDzVK4o7csq-mF3wnl8ReEL3nscbJW27j4hukH-lDBWUrBWtv0BG0DWJ9ALbNMPsruLSNLI4QXorZ1u12GVLs7wLmfu5xWZ6DVkamKwGu_PJgijVG2EWGaZ9Ibi6Cq-w5JBHjxh2--oLgUBsYSCL-I2GJBigsoMOCu5f-o162N1N-Q26ZjcSZNC3KYx8aYu8ejB37HfB8kW4CyINFFyBdZvRlBaeccGiNLPAcG0WoUtN0G3PhZejkVPbnSiWDBVpNqt0WehwN5hNjOzj33v9l6YktpozoCDhsHnaLTLxcuxQD2tvt20LdYAIEBBK1BHYoEX3__e4cyqKHq890ZxlVo4-WmMpnJDaRfrO0T2oq674O2D1tHsZuXjZ9n3lNaAfQfPtEedcXudQxNcKxxwKz0GTzxAf57S8ehp62n1oSuc7gDcPI2aWAWUrifabJtngBJNEzRlqnBt3501IIqAJKRTmx37F4dOdXemQ-ECniCd1fBTjti3e12q8o-nOO-Rl9Jg057U99RMeWr5hfNrtcvPrvN4vd29qb82x0PtpNIliK_TIzpnARrxIpXphWX_1YOufrQ_k3njp-0i0C5u9M4YUplweWhXFRHr9Yj5x25dYmNPHGM5iWHeblMHVRRMMTyVidDl0Ex9fJoPg5KgT0eLYgoPdtoXgB3G4hg9QV80hkQe5cYkjn2N4ycZ1wdbekhHU4QbPk5THC5wN4nn87xR8Mph6qLrS1ETLmuPty61NbEa87g9e_oYNRZ5XUiN1tyRcbPAiQLX9d2MIY_DDJnQGFV1PvHAXeCJRk-OtjkniVxXY2uzgBA1GjNdYyFNForsx90E_RPLRm5QUrmXiwLX1jVFksIbRO-Gn7pPDroa3xln-ZC-bqNZvTklvGXq3ievHuwHUHvHhSzfrbZ7Nx48SMlAM97tIWaoWuMB6B-QxVEIGhuvtV8OnzHT44lt6KZOHuBE_z0SZxQPTZTmatrH2CuU3xRCapeuXbS7Yv8-5zcgfttXbypwqAaX_ZL71_amHSC-tWuL1HkhfXy2leXvLkb7__6_f_-InF9cuYBopYU9EHJjaGvG2_Tm2h_-5JGxJOwXXv7h76tjPuGth-5a7stVz7kdZaHz4MvubGij2AFFAfOEo-f9av4_BqcDZr-az14tPLXN3WfLBJidVP7ACwIaX34AomFJAgXCLAT_hLitvvXZL8DPCsZGKwcZuuCv7wJ7bs5J-MX9mKakyYW-v79H7cL3Tr25Ddk2eIh2ZjtZJryj-c7uamsVUZm7vGdc2lHmu1UiieR0rfQHmUHP_dq6_J-riWE57tJ8a2qNuXrDMSzXFT2JVbdE7T-4eUOM5duwB7A2TUzKyjkqEiywBq7C5FAF1NPl1wOjFyWCIZJ27WV4K7X0ixSmsoDSacrC4g32Qm3kByZlFurNzTuIgJFDeKcnQpYz8bnjW1ALmGp24dYGgFDnBlReBUo43PbPokCDdkOyDzTvvT2uIDqni53412D6hOl-k2_DeqWYDgfpj7WNWlACQ8hyv36lT4RWQMiTAQ_F3c6r2DUuzZtk8aJkgQwPDcEhV7ooFvH6KKGNoVMruFepQSD7ROXtrrFEsyD2LAtbhElDJ6nUhA1r7-LRcIHUfJBoqTld48XHrUa97dFe3Fq73mjFsb79Vtdmq0NWnUNNW8u9W525sAToUwbsoJ7aFyoaNLhhdjZGCZWcllebQTODE2iJQuZF2gwQSZkTQvUMWuYGxfCY2BWluTTJz-cFl4mSJIuKAo5OiytQWkysl8mHgkxse4jce9vtzsEJeiXMm4MPMwOI1Rtbjq77T29ox5aVZA-4DI9JDydxrJKxZu8tC5exsOEaae_jyt6cwHBUqm-awLd1piB5rSQv2Ku85jU3xcYn5Nw5at-zLX9maUVDhtoKSQ09wdFi3y8rwqy_PANliERTe9mPka809iXVPNwcqsXTlaCCwgK4S4AQlVrJ1NkmHk5v89n05vEyKV1DekLwIxsqEO_sunOq68nSl0VqwqLOlyVXIdUMnQ1OzLDkQKhIgSoKpa0bDo3sv4rpK4XgjVEzG8SyhwPYbqV7t_49MbtpMIArgvNTt0cA0jbJJMQTdnyFBXE_Ue3Mx3D2eHPdr3hCTSVKlyCzohxhE4gdni4G5B39Ontc4bnxKKtcA7foeZo-xYdUAjPH5yVRyBTRvjo4oFGl4NMg5yMlYNw9eH-0pdYqjnpD7VxEacF5kzLVe1XSx8uuyCXFXZSMtYyuU6yoqmXXFHFV0r_7EPuHLRM_jy44DU5rx3QixtFyA4-VeD0l6iu0aniBd3QDWSeuLxXIIooDptFRhl7vygSTCErOq4lCWPbCIf1YLvtMl2zCCgvo8yWShfC45sFvpqUGN27QZoyjvY_4RIM65g6R_EqdfAslBJfaW6OpgjvA7aMPy5y51AzICNqAC1Xles2jqUqePeP37MPiFRuUiWW5ioX0jZctnVVDYpnwkMh9iW15gVvyyC4FSfQwQBmpELCgjcc2D2NGb3RMak9KY0c1RLVXwVSdK9F41x04GSdxd3RdoSWXSGtlpquRvBIFHve0giZiPRrYUuCMQMQ-XHcV2joGkPM5VGXhB6Ed9K5BdZ5-5yEtXnlrWVkCizvgO38sP0n-oc5lT06z2_vg3AA8OuBBAZdmzvJxbC4Rfm0YmTrMzPFma4WM4yvFZksbakmdS_nKS92UtDxi4MQwu1u5opjYxPQqo8_lqjEiszFTU9v-vC6nDu6nDgPkh8Gm9ayk2kiXkKahSJBhdqAODXj52kQzZ1vYKG4Y55PNVYr2_GCpCAsF3CEdkhFY5icDjt9XAav6vbwp4cQkn-AOncjDIemS9AYxs_bCilVuWEIRLYRF3D95SAbsWKVdNUUxosyWKFc8EKmJd0A4VDy_odg1USbcpPRZZ71Ssx1ZaEHHZEGBPlSccTjoHiK5-cpaFx1HMiplkwCEOGhUV5Y8aGtsXAjiOEtiO6TYtk8aY3wAPWfnn-i2aDOm9cMiJART4NiEOj5Gf-jzYqMUtshXBpAV8jGCY1r_UjrwNHjadToljbLg-2gaFQHG2FAmgmAgWVoYgE6WQBpuFoC06lTByNI5l0BQAwKVOrUxMQyUMVIqFGD6VHRHtHG9bacxV_bLZRewI38yuiwcuPC0OAF3JGV57GFEYLv2al5Km7tYyBEuHeixSwETxuUAOcTQJVNsLKLgNAoIg8E0Vrvg4TQuEXf4MB4mc36l3TbSB8f13FP2_UXDXCjVkbulxnd5Nq9rVoqjcdIgqfq5qDkKDRKVoGEsumXXC1-3EMRFnVXR-iImoqNSVMmu4nD0BNBgV4yEaCUB6tRAbEy_IiY8th_5cTGAAcyxeXKwu4H3eR3zrnGwjL-NCyh5jHscP1cWmLKHXHfSiS8GB0qr4QYCJPH69mC_KctZE0X7Wdcn1jclDmhynTMmIR1GVf6rBuaSRO8fSXhW62StOvvqsd1VbdRbVo7dhJDUMzMFcUudOBQ8aY2qJGmpCiVD6jiWE5Ytuwf3a3T-CgedYdZHtTGJM5UBRsJlYpLlrMSD-koneA48GbpIuSFnzLZz31i8hqnR6DQ1_Y6lUWk4QJkPHEGJIXfmj60BgqdKygPhnInUBMy4LB4tl6eDlDh02UbbOT67mWEI1pgYTcdR-zSAiPdVVvyeOVX7iDTPMdNe1FUmcRcKbZIg5RwoCblLfaoPiHTmLlriBMZJYAhGO4gQr1sDwAgAbzyAz4LPtC8zMlK-NEdRd39ZpeJYdnYeNTJVjY2lDyyg1Bhw0pWWwbjQXPWvJE7IkTAXQsBDKh5Shz2GeS-koTe9XTYwGdFlDy0CQSIDzxTGYgyqhGNrgYgRCQkzcAwsRUjbtzANuW_dpDsRTNp403BCRC5pLBNQwXpCd0VwsaOXkVoKdZCrvrZJQSLKXtSB9Jjc8ChmmV7bEyt_jtZ2-1hb-XTUMIQXOI6Srsp-IlRmywkzasJiyzxdbjj-rX-tr2BZfcYal-z5kGyPjkmuLXODa2MqR4dZ-wNbKAmunJfg0sQTCNSEm20_Nk-RH5iFR9fxmow9IyWEKoc_rpFESTLhXJqEDOWGZCrBHBhOFTRN8GsDDH_3PzOH-iA9G5s3RujH_Zibo9nYXM4WPiuy4WzgrrmKTcdcBZMvyTG423rH9VznLFlq_oQZeNQi208YAp_1FcNDMQanjMtTLP7Fr5JnJv54Mc15O1wNXspVTFMgWFBrY7-fLcbqzwAR62s4sMEvgJ9rt82FhGoTDakGtqIJ5UkPQeefGlZATnkrHRTj8LMUy8AgMFFNDK1QsgZ8BCwNj_wTrn2MosqPJEZqWS1uzxROGIf-dhbWIiRtjSMr4KSyDMQ4iGK5JMiapEB6nQLURgkcs8gOEy08_CKQxWOAkyyG80b81kt1mc_EbCxpyDtLUIZ_8Htd_52unTJCq52PStNe5hUzwlD_KXxULbSMOZ5oRgZDYsJ4qXSpX-iJ8b2xefahMhbbzi61JChjLQXks2tbq2Uos1LBvvmm9LrUn0AJ85mj4J8r_1updnG5G_RHMS13r4QnXMHcOiWTqYKmtrwcX-pdO7mbNBS4U_kvyb6LB3RRxx7TyWoKc7Lt2uDNZjBcKTBTviI_iRez-4dAWK_jpg9RlwY3m7Isi2l7zFsErjlfnkQGxHUxsNplIR6IMbBL2RJQ_fMhfDY-jsCsOEEM1aGYuc4Y5zFJ71cECUdT8awm8rzWTSsdBIVL5SwHiQchB3DKeQoe1pVqL3ZJclwteU1-WVyttdAIDcwaa2D-CvolKdnYMqD8EGrB-Fh8E_xER4_oN8wTnYQppZlpZoJaXa0oGPjGN6p2rq31lDIiwLfAdzLgUdw-lEvov6ZJIMyg7T5hf9ifSBhcQqdMJohsQ84W7dv1lJhXJlhlO9ErjWMV1XPUqFRBC0xOsLBqD_VL8TgW-7uiC8wtGC_fXy6PYLwEn2nxGuvU3HRJTZZB3YanylACn51Ko3aGV1ZohTsVqTinLroQfB_8YGmYiWGzbsAgd74jQE7F42O6tU0KhLYiWj7AjJNQjD6aAd7Kz4HlBV_rYN9OuDHAUniSgDGKMeCjTxc5DeeBgMDxvRCDZs9aWnBa7xm1xzHpN7qqMXlRp6aTGvqpFGXGgiJoyCEHC5hClgXx4w5QddFjm8DKIJX-2cA8OfDSTuasvigKgmAWXSVgdrb5jSPw-p4CY2I_vqJdutR9UeKj2mSfG1KBdKnrszX577AELLiLtT3UFO0u633FMNBMJSP4tMdCn1VZzzMPU_rE4jjY6sgTB2M0ZEZgEyTaCE-iR6zFWO-iCq3IGsdjY0zPh3IEhWyRuDmJKnNJr9ERYmZVQkuVZETYSDKIDNx1fJwezZhRxQWaoKlj7PGsWeO3xPgL4mdNQF9TiiA-r9iOC5EaL7ytFA-3vjxoJpDizL-aZzSw3-jEOhwM3h1D9UnsMuKWeK61IBSLvVACv_lMGoDPQBfQV-WZlBYhKTJoU20DndqGW6C_78U2CgB6z90r9OrWTgcioLXNfXw_TLVEowDep7NDZ05Z8qq4Fd8x8G5bp5pdw6mu7uDdz_zfp95UEW_Vd0h5FpHLDwDDnwavolYS-cf_AS_N38CKJJSjzZdOGDMGeebBBzR0dqitcBnZTLDflvK4BR4-Or2_kOcl9-JovmZgygWn6hH3tJWzfOqVyiUBtTqsOdvmdSPI1NSscAVPc7pcf6pIloNWCV2SvPO4oNBSJCgr6ALhaQG7NoBQLoqqyKeGKO4oZ9OE0bJiSlut0Q6cDlYWsQUsyS0W5YSe0zOHKz9mCInVAuQ7cnAT2XHAoTTErxd5a4x1nw0M4ZnSjiMA1gRptMZOdegSiE9xyaewRNOAynPdWFPNgAHRMHxxj8KDqdywDqngo_-v179qbAdHoHOxZAr2Phv85voQ5YohiqOsyte6AA7R6QBAXLpE63KdU4eH0rHDTYsH8iBpjFZKV7cDYYMSpP0FsbP0ej-i3HfSLbgXKoKr6JoCECVOxehTZ8nmNo9Z8_w-QALyehsIzG5gAwNhYayBuAhwrNEaebCuAb6NqPj1GJNiIZ7uqvs_QcgKs6vv6fGPKebCqbn-dbQnhXHDxf6ntVMGpYJOHY92pMIvUpybgPRaPLCP7Je9ddY_qQvoz_yW0R8_6T9sTNKl9LX963b-XANF65-2VIGPEarT5UdAnK9kuEcJb0FHyQ9AyWXL42ujEuGPqZ59eU9R7pVrzdp9Vb2_1htP2_u44iEdzgBnBbSjPKq_lWb3592Xn5g6OdppjsTHekeDNsEDTlKZPpGgCZq7zkruqDwqvidg1-wwHdPkf0q10tXgJ1da3z517tJzt8bb31lfjc4997sxaSAT0aBt7Egdkp3M_j8k-C1AT7i_v1s_2jpUnn6IOzfoffiYPDCfQWJAjUkFtckbBJoN-gAgS4rKV-2jH2T_voqJ1jHP-7Flwq8_Boxd0ODhnr8JJKL8X4iuBVPG4cz6E9axDRU0-NG2EsCd9VdOe3uv0H7po1A9l7idJ24BojXAKmRXFhzPmoE9XsKpycly_KyHtTyx84g7MBx2uJJqLB6dyVEx4wosp6Bi-sp5sX7aXzGFGf0ZN9xR8jLSMATEHmdiWMjdwjhH4Qqjqm_jOq9MUdAaN_xbkq7KqRESP8RHym31fLBWQUXKmUJzsqWYHs2XMVS2oT1kGcOfLkFDsojFhisgoBAMUJJ5jEzwuG8g1S7ohq1A2xVZ1Y1jvOcosKRa7ojuIvPUUoWM-86DeR-JnbRUYcEzP8zqbKe_r5K1zPoqpilpzlGHkVEDI-rHbZUIJ2npwDfZE0lPcyxZ4tPUTw5KVSWZ64KpM14MywPbl80uymhNUw3bXj9Gk1p9wVZZCaVtPnEbpMg7AIYF7jKEsMyvtwamWgNmrLfaJ8CcidEACJGj7PR6EPzUXgpSt__7o9xMH6K4I-BGpAkbYVL01JwDVXbAesLIcbEYFxIdEEZg_jXA1a7XAAk3zGXlqGxM94aNk7KsXM_XRH6Q5Nm9mSUtKM2109TOH4GtGurEyuTnYYecz5k39ig79G4YQ8No_G-EreZ-9AHlIqizRer2mG3BZ0OhjgZcpsD4FXB4B2f8-vx38OPAce-0f3X81F0oz04vio_t-TPfwd0Q05xkwAJ8pugwIr3BZ8gmuC8GfY9qD2QoKrG-RT_VwwLZcmThshEm7YoDyJH0Jst0rq46TuYk3GMxxH29mI2A5nK3dq8uyldaXVai1i43E4yI4kOqxZ3YzjR7XmOsfGzdMst3EYqGelBRVYcwRW_eyGfZfWpGitbVnmMrCFcFxXaMM7svovGqIzpve9Ptas0JGtsNtjUtebHXlipILep20qzVDaqeLPcQ_GQLKs-h_allKlVcVaBoqvbEkLO00QceqmEjAnNbgTqBHa_eB9qq7kECfS9cr3cdhU4PVtttaoccvG1mPVtQx31dxhubujbuddOnE1rN3UV7EPB6nyI3KIajqUUIW5uBvCAfmSIp5uYHFlRF0_a5uBzjcHysbYx8tAapvMgsh9x-DFIh5MMWoUycrhhI6EDwgKh7KxRdqSuyr1uY1mzteZUO4wxZrrWrvuMsBFbFAlPvaZmrcYw6OpfQpHfsJ9OcE5x8GzFtax25IC-eVsyjg99BwBjCuFYn1tB4u_MQdPSKrY2ZteHmrzZu4P0sYcZMGUrd5xUuy_vzkv3aEGXX-RDiA29gxsIl-0IBbKfbfBy8WZXPtkQgzDQgEGomU_ZzhpTfDkBZNqa1IVYyCEvFRkgLDptuZxq2dR1vS7Qvm1qk08UJ8aM4PAdr-uyLPpYTJcPbWRvZPW2wboA-qCAI0XSHrgOZjRDGu6zFXyNuu2RLy7qti9uYKNB_1e1Nhs21Yr_IXIFkh1JMZYjC8aw_-btspCPd3ZN7sgs3pINYO2mnzMaXNbLfxEJWKMdUgmRtkZHdD9gxIB1CW6o8Ekwe4qppyuumTEHAcB0C9qJMM60N3QqE6ehB8QZX5AsgVJyx4_vNVMrvaN5GfYOLOC93Pyf74w4iPSEpEccVWj8mSKDz9XXzvtXwoxaR5ZuhZDR-3Ne3uunGY5-Js4YMlwTrkRJT8TzVh7itqtY6qXrexLQ19VleUVrlny8YMc4HeIWIPMYV4tzGZH9He6YBCdRirGuHpibmWQAxRez6VyTdOWvDWovmkyI60YLBgNO6B73SKlCHl1k1JxvGOcvHcWrqt9eVSk5ZPm5LxqzjrrWkoW3Vo5s8tBGvjz7KPHpD8Uev19-fNUoPafS7x3_8caDx1b-8Ii69Sniql3uJ9d7G71cg6-kJ5vLs4aczcTdXgQvwabgPJiCYEKH8JQoUesyefC47oZBwV8Ts4FmxQNaif_qNszP6EhJxzoUc_qKO4ycZj_jtlFoBmzNzgMIDgLFH_BwwtJj0RyjbTv___6zH_9bQr34yfnnjN8u_4XgFuLDhH97-XS-frmNQY9WE1pkpNmJF5tpyboRXnIta3dnEDqdSCplc6WERYV5S84UEVXRKZeYMmtbGnr3s8fjLcCTLuYknMMxMK3X55AZDRTitoZoBqhDNep2-Ol0AxUAjkenA1AWSG-PmYXFxerqu6xnnuN9ktvFQPmVxci-GkMZ2igBn-ZtSO8tfDwo90KfSYXh3rKTZtQM6sVzpPmKay9KJIDQjUW0oDmvK3ZbMn9fyR3ZGcnWMgpsUbeWZaZI7dxq8wmxhVqs5V-xoD3s9d6NSSRtG5ndbpd29WZSH4JgK-rCux0OtoKBv-8t65e6OswfqZgtsfjnR6BI-0XUit311Tuesx4N6uZ0ss0ctd_gtbr99Q8QfvZmL3iopXAJbSTAkez8G10cSRjyFiTVCVIwSwZkHnSpzqZu6N4-BTkBvRmT0Jwt1ciXFc7qE3qyNMOUUYaMjQRCtlLCDNrEBPXM0gQ96YgvkoyDwHWIncaVjjablf-rYukfxF1-Swh_H1-mgGTZkeCBdf-qwSHTld4nNLFfwrv5P76nQdw94wTzk16bm8bW7yS5OxAlPz-Pr4mYWYRPsARU0lDWhB_Vlb0f2IG5AaKyHZeVlTxc7irbiPXBU_scFFB6vN_04ECI4oSy4o-32TIQE5WKkKvs6YhUY9le23XDIMXLcHonJTMeiHHwdO-71jjSJc7zwWRZG-yN1NIKl0dmbunUzJ0ELGsHeuSrhZRClgLfFmNciBrXkbXb-63TJ7g9HOvIrwfK_ZKHPlNmAZb_BhX-ceLtOQmdHu-gQ69SceC_YffzD0APhzZsI3bz46I0LrLvl3TsQzn9FsZbfmpuRLqcgIL4yOA0YBwLMG6WmwhVsfdTZFGp_hnLPgHWx1WKC3TtbuNcQChbN_KAdwrWSZTgvHur3Urr-NMC7Pk2Y-UOTDd9SEiaKvf56LnWTiIJcvrdIJe-dVXYpWVnt7Sm7NzeYW6sYzzZWXp6IsXDddYZe9poDb4-pRCGMs7jIcd3O6zo-ajCmDX8LocEAg_6c4iXkVsF8SiKVW3ez_PbWWhGSI9nIhbCpG6HD2I4diaoWXHO1uHT2-u7Qic8O6G7mpbUVDLHjG6gXMZwrLhoAOWhEIsfPRuxcRQ-XYptL-eHyaUhWoFv0tZMC9vFYzQ2iCfj75bup3nCSlE88vyxuYdEIPhvxkTpnzgGYccvTPR3KDIXoCbRcH-ZK_OPHP3z36Pb0Abya7a5tjbZj85k798YXnpFPcXR3RxnjHzetuqWIrxEfS1UUl5AaSC03QmGmO3d7J962lfh-DAVN--vhssT15KBFDorCg4gpvyhe0LY7f_Mp3P_9b_7KPym-jjfC9ulD0qv1KZRzGtmiMv4DRa5XOVTYRsNhJuG2gBhj_RRiQhzkD5cse76YPSEEUFXw19U3wmekN3Spp_KL4HTuGu8BmBPlKhUKIFhJVA9pBAyOqzApMNaar1DiFRUJY5PP910fCr24-PMj0PeK-nY9kdq6gIAu87jFSybkYtyMFo3GZqzJpY1GEd6Y3yZwGoEFoAMMvCyDS8RXNRlI_8k6_6JooX9u5j3oT1c573tvpVR8tyy1Zo-mv9PIQNP-iy_v32z49KdJKFpe8hd9QhhIX1tis6Bk0dnGvGXxhBaSXmZH_vJKC6b-_NkhhhyGMLQp-Chgtpit0faPVxcLFL21Ns_AmBUvMsSvVV_En4OVtsHD2BqZzufncaPmqDxvWO6YM-jCIp_GUdSs7MeDy0YBTNuwydW038-q3YK6a-qqInGidS1T34HxociUXGFQ2r-FBPLXUqbetOUl4YEM5VUlns0LoEuEuyl5-_YWoY7d3S5RfPGlp-Bd58ENvokZpiSmQ9d686eVzhnAXj5mgByP_kzK_LR-KVtGuRnN-J3yTe6b1l-GWjmMmXqXyW4Xbcvcw7X6lwdR1a-UIUqeDrPq9LnYZsayGxROvGXY6DFOHm7Ul8HyZ9yN-OxNkDtTCz6oCxV87GKGDuOzX4cboeFlL3tlpyf2jnmEK4Ts64F6lzmY3f5scHGzeIzJCD4ljLEsjt37tihipuJjlDHYGha1pwCXUPAQGPmm7CBKcyvJ9PyT4nzsCwcGy0AVo0np72QszW0mJ-cmGgexL0QYKrUprUXp74r8OE2T86qvW_nnn31SnY_zqv9Blc3rzYGSUgfEzU39YM7kx7G7fPqbqS2CbfnY_sSNXvDDSLD8ij314z7c1ggHHwjJwuWiF7ezt_3d3_4T_Osn4PBKa8-dD8A2nIEDcAz8MphxO1OwwUuUTIHk9gfUuvA2ZlKZ0_sHz9TSknchwx4XsCCjCsVqUHiMqtiIjerR8KS6aPQ_8bbCFX8L4vUVr-Fv3g0q0efVH79BiCAxYvQZUmf6M1PQie7uXFIcWQVy6iIxP6psi6OVN9twKmpn7Kt97Pm0rE2i9kFefpmbTs-rug4W4jtQgsFc1DJJpYmKQR5uJmVvwykEFxw2FfkWYAbMnPlVvq3b_aIW71q1jmiYGtco1dp9WfdKWowYotNTzCE99S1r9sxQMDI1lV670ZFtb2qKHF0pXl-X4FX9nTK2HH-s6EJ-ak1DztcUXZL0lIVLkWUlKgmdCMCaotDWDHy1-oNeZ_9z7Y0YnUnkOm7Bdwxd1XVIc2JgiKK4EKoU8hA06zqqhiBygsAPilEtqgaei68CCaZejOOiyWFF0-WwhxnmVy1Zip7Tc-5KLPo-0igj-zPAXtuVrSHkDFIg9fRZNtoH6XhXQn414chmm-JlIxSGjUSWV2yPOK5xNDVsd6DA1GWJyd4nGlvww_kVLdJQ1d0pmpckH6pBaKG9IFNT5XqUi4_EyqnEMUSjXK741_BSYrk-4ZyvazsjkXbIVFwvrnc7taIbNuaLS6AWIy8yB7_Cgt_SDeuE4OVK9-iLV7aGYbFc0CFESObjKHEJD9b5WRpjXLBsbM56TFWSRIGuyh8F4WqTYHheiJnq-Ku7CHklIUsnPSKGlIImo8j1dQ0quu26tuPZ83BJCkG5i9UCLa_U9aur774aqCPNakHTTAXEsBwLufGHe7S6LfYk2R6u8ZMFGKwcj6StKPFIa_kL6Zkh8dn7VLNO9GQDxVyxVGJ4xY2444qVU83yFfA8bfNympUMybxcPixmgyjtQikvcZKvDkPQeSQbSUaKqEcaGlWmJt8lGcMnRapJK-82gyX17h4CKkt1uVkJL7i0F51aSpKQr9pUtElyi7WBdw2cU7zc0qRnH-m_cefu3VtT_d4fHDhPUalciULf9XzPlIU2giKbxDaWNWO0yqequqfTJckB5gemI6NPkTpTVMXdT3Y4rGpRq7e6vXarfeuepH_w8cTNEl6eKcll1QsrCuIwB9Ll4tfOzC7tKzQVp7U3_cn-a3QeDZQ9dh4T5cxwuouZ64A3K40VaU9VafNM6fTROfOEDI0Yw1S-TGVsg8vtA3PNsqJq_sJmjpjr-dKe1KYaZqrlfAgMa65rqJBRbFrMIhT361gSQiSSDAqqrLitJ69NsgoASR3vh1G-Qjs_h3iKA864iGxiItPJvbEeuhoUnHUuAgxEYclt7qs6fMc7UNcL2qYlZcBO8AvwK2lpmndaTYV2vdmK92Lb6a88WPN1YSIlsWbcK-kR2DqihbjcGRLqHZdxuS6TNVegQtzXHFOhBc5oyVx4im80Xb6ZWMak44UTKC3BfemsI-6UewStsP7jZpwdpS1rxzIla5gYUgB45CWy2KlgciuN-A7rYGMt30TAHZaFS_r_qtJYVZVFJBXg7l1NIATai3ooKKooaShBUSfheltMbQM5Jlzy1DJNy1AEY3fHnmE31CPPiGB9V6CifiaNXhCyIsePhW3WEaBjuYs6MZsuLhBScH4h5EqPhobWwPmDQxffCdkoV8YsaltheMbHbLsSiexbhyWULGhjto9BtRV5U2hLwlRjSrAgtUMklbTNXrHJFOOmfbUx-0gEmW1Xq9hPmtg-enI24Id1tWd9rQFXBZ32vYpzX-CpKkrAsSXDpq1q2jeFi_S9Z9nq3HTJRTGbzkzeb9xN-54wNUoXO2PcPxZFjd6nr77xxsuF-H15ClIW52rFj8HLl1D_1r59e7oXBa4KRWRXW_WSlYh1kUp6peaIeLXqPatUjUOVN0mm24XBxz-xWoGham61o8hPyNaDKXzVLwtZ5c_JX3tTL0_w8WoYVH3Rhh2kv3j9uwHPN0mzHM9xko1sw0RBSalw5YhhsrwiMI2mU103dU3i-6Ik0gScqlX7tz9-Uoo2RHhVGctd_BGNRWpherk6NwZCW-yyRHdfWp4MuDqaiql_-SdpWU_wFN_Ol_kYuQPporTDgVIx6VXeZ9ExFEEAqvJZIOsZFwU56Xaz-FTg-gAncZBWlC4uD2tIrIsW77tThUmrxWgteNDKuoZkWZ6llsbzOZg-GEekygsipJLSaZdmsmL4_hCeovShLAsPdIOipqQPfxqrPhSz6kNedy2mc_a0IfFx2g9rZV-VOMGAzBdcS2VkdKzikJQh2UWzFFm-nGvz7k7XHrsoyXJlMfMrfWdGpV0DUltopG3L8kNHygsddzQMntZuVpr7RfoCrBIXX4Oh8EVBp0uFT4ySTwk1QNql_q_4v5_-ACY39Ua9Um20yU4SjKTKcjdlGpZpeVxxxqQFRiKWY1uhMShYE0VUkoqU1er-FDn-TOU5JJFnvqVX7NFmUu1y6eby8uru6l3v2LBewuUBcTnQCYV8l4UcI-vi7Gu-U08ahPEtX_qGuuRlP3LXVUJPVRCV_gDU82qH4HPgizqHjAX_SbfJqljSXlOinqK6hRmTRT7WM5IyWQoKcGfMT3oeHiYD5QFvkH0nMzDXMyaEUB4zxK0ZtvhWc8ZAZMMAcdZ0AZN62maH7GgJaqeV9inpbCbt0ONOrr-UtLIgHV_DUQGvpPCiyaFYClPh66QsVaP4AZK-ZcbRt-0EnDMZZawROBcBw_lpVU1pDKrCQwIrWjyO1lMYHA-NzFJC3ejRKZUlb82RmUPMhGFgYtGGZA5NHBse5_oK38W8D7HyXhlppYmNrbU1edR4-aqaq7Tyxokf9sJvIvwmil3KL7h6lNoNz2LPqJlZIsU5k-JwS7bDXd32e0-lfMNrZ6bphoTiC37KM--p6-yYpiiUwjKEDWVOsjaVaVIm-HrQ7FVN4Rr5_j8_9o2AxVjNF51JObpoEuPJbw1qdp5NT9y6MVUzhKYHLxWz1HFcxHDeg_PCo4EE09SD8En5-uZeWxv9muoo0aOL_7tb-dZGyx8fWsOWJTHwXBfEjLuLpGJrrAUkldRaCiGNUbT40TeaWWW7KM4jVaOjVpq3kqhb6_fo0eir_w95x5geysE64BeK5aeykZ3y_7uwPGu8bIaFEPDni7S3OsnF-gmpqn_9RIVO9hvAUAM-Bj5hthzXjLnWtpPoHcjqqEbRl9Z7_sSazShPZWkXAZ3vfhdXvO_RdEByafOOkRUmaPto2UmLp4SEuhMne5DAvAZi09LIRRkXDEhbyzBVONxCCqh1bVcF5vHYhjHaT8C0Cg1AmNibRGZRQ346Ew241PLH5I02JHblZAw9djzT2-VetDVmJ7buYvuLoj7PDcpRpVJ0WR0rY8t1Q1DpCPjSXdnByIGMzKQLvPQqhm3XP1J1nHBhpqKEs0JYF5RyFA9ASk2pt523Q-nHLhci15KFtFdwdEWpmlw9RYvDaa1bnvwDeAy8LF3KxC6JMa8tyOFRaRB1LSmSgPKyJWiw3tpZ64gF91KLNMlvG_BdK1SeOD_gV7bm1SGoLe81YFKg9mgaTADRA0jevSXGQ_GJ3ggHvHHJMI4aqjGAwMcIykdAyyM89hgUOJBnmllleVFss4HunmaMUBW7TFCYyWPBoyByERwQW_4xr_81ILRLzbqOta42pRhi64YYzgOnDbiPuG7NZ90UKhT00HObCQn5yOGdC1cnTlCdfBefCw9WKE3WWpBFuL0eGA2x_HX6YY4hnKA5lVuImk5xNdPGDsPOwGluLO2hSRAXNObYAfo-0APXNWYbF6DMx4uQFxENPZuWA6w-xHJ6-gp3PEI5HXcnsIB0GOadF_PjmbKSg_fB2xh5ZnzaFpzJmBK-zLLYsYUMVrqM96owW_rVwhs99BgFBy_uPEQFZRGivV2rewqueECyv66Oly9wY0_7tBTRz8ANWt5r3bMtZy6J_SX-IO-ImQgnm93B4glZxAkP3K9itfGTrm0gHg8GHuQw4k3MGKEtO47hflKS6w7cr4OFQ7En7C-CrAcUlKH6TnE9Tz0bCcMoSWRZlrLzfpuqo-V7ol6oVm1dZGMA_HO_MKSMJ0NBGMyteVoeQ_MKrY06btanm14GmL3ByXZwevfX85zdZF5HWfgCMHx-aSnEpEGOWhnvs0OWSe7HJMa7W8ZuDFF8_cRbipioiB1lh-BPuLfpd4bApx89DF_iqL8zFox_BJZYf8vvzNMpeGYB8OT9w8rCo-c4n7Lr7yTkbwkqLyj059NdyXzgrTKgiZmIqphiI0mAdQPpXs2lUqMDuzjy6ZrT42uwx4xPxwcmG9DF_34_ho9-hdYH1n7I9QYkrDmarNfhHoaH_FjiY_2E-TQRlGaUENohlRuD5qlrqJ1uKmic4Lp8-FzCejcZeBRVQTitIPoccE5Y4QdcQv5yHGbZYyCZ2x-N7sA4fvOV04Pa7A45geCFEXg_o1YAEaS7lAtOnthJuzNAIrHhDrgT1DsFIkiCisfQV1MfwxgvFB93I6HCYyZ5pdc_l3mDQ8dZhRof0KvmaS-znpzDVZjXG7TheXrptL-mWGbNgnohIzkPxVzCPhTJqsrZIlmFeRoUaEiKhihK3UhZMT196mzu7XidW1UElo0I4LjAI3NdZcJ40MR4MjGHFl4moErjIjrUC1n49rRSXAdLn14_oWf0vrJyWn9KwM3-1nl41s9sDM4zPkUA4C_Rinoy1yVaGrncFO3zTQ7NAtW6KmoFAM4QpwaXEUCrNkZXB8lcPCzsRNESCzvbS9v7LRQeocOl2Z1i7SD6QDmBo6PtvWN654xc4DKCgOkyd-XRuc7zpw8S4_TO_bjqvO-lh-lMZ2d811qZN0fF9viIscCcZR4sE34a4YLzAM4AV5FMG34f3TDRLOeEWT3lCSBMEQZ3waiDo3wMwg9g4h6Vz0zvpqvrBzAhreVTvPnarcGQ80FTxivHzt2q31zlp1EYkI4KAGlSDOm_fopeXrbd94oHi_iV46N77tavhHh4SKtzys39xe7-h163dTDfwZMG8KgcApEYR4ZTetXc2mWWqTATyRJJ3GJXzWLRzH-Nl06GOPjs78R59rPaGO-oA3O0mYlo-TETHKl-2thz91Mk7dUy6WmvVzFZ1CSRf2sepBTF6HHFz5WDJh4dXnGi7MFMQ43Xk2mrfhrVdZWXUl3vBvnpsHnDtrKcIpunqZrJZBxfbvXDgFk82nQyVY7Mar6L3T2hNv6q0QveODt07RtT-WYqrWyhKiiuFEypNbmDikJHgpsVHyyFY7kiPuNGXrd-1AnqSurofi3DOeY9JbTF_iuYYit4GDymnKTtAitla5DloEXkkKDFhIVTYJpZoUO6DlvoHY2P-axmpBiWW_HQCu16bUdzF7leRcJ1EgBpaHGQhJGm5SBu2pasPbfjPBQ3xWanOPaGTqEHlaurW8qO3WLr_lj3uXYgRDZjRQgVwI_VfMDf1u92Anpe7BBLQpuc4lqFFUc9niFuqcKAVjIZ6_koCK0tJVDezXPeUzM86bq1MqODK55j8CO3d-dM8u_H0z2870yzjD_OVipc83iGXhee6h-7P3G4Qp7u3_3mnNXvT_kvi3ahoFPZETQlvmRLPOz_aieLxuAffvAY7Tr5WMLB7b_q0Ad21kEsbcZoHFp-0VEJi9XzBfRa6kThYtC8RWrqo2VEepqxKsru3Tvj7SSO4XD0HB46NRnRjRNBjaFmRZHHbNqy7G7nJ4Y72lIKO5ZvOoUqhRT_-frFVIDYxVShNHERJ76AmQmB2ICB2T8Vbo4bmeI4FpCrNiwpG6PKpxBdwfOieOcCOsXvc7HIYAxUcJ94VBwBTRMGBSZ-23fHkNbwZAak1H7RC7NVPpOadd2oGb8OqpGAEXHs48QIpNZ56Z8DTBwEvEXxMNCbPhKBs0Ypha1ydO_m5h5-B4-u9vvA6CQFIW_qblqSb2pMteALYehHg2rc6PbudnS97NmVKfSwBJjXc4B4PtM0jKAqRojDrnJMEPUAU3poIIJ4Xox4oSULUbOZAB_xTWO-dNen08ZPVmhabdx5_7Qb_O12yHF9jJa480Dejf0TbUuJjSZHJsxYjCVWc8wW-1s4Y9ffJZ4ffJrp7DZCftWOtqsh7FOeaBjgMf7Alzf2dvpcn311gU_TZ8oOIysKCojv7sdyM_-Rm6ZQm-7Zuy4ksFPDHWpFMXwVNwa7FS4bVTmkJj2mcXm5boTN2zmiZmiw1mOpw-PG9KIXu4OjtJrdm39qv3uP3O675CdVb1MvJGTVCiVms6yoKMWOWhSVMhVDCzyeyU6HpJir0Bt_Rdwgn_TFQIWNX6IcpIB34W2mN2ETbGbN7LBqE3Bvwsu8F-fMSn8me8TuLZcaiNWThweX5D1ouLhfd301Ptw6J_Hv680lB1VU5y3zOeqrPvgsXj1ndyeAeF7ZGsf30hdvTTpvvZ2Bzt6s4e6nJkvIfCwwWdzcW8iOaFjfn2NqqfRgfW8NTwaeIZ5dCEZCZHUD04Ga12mg85_U-sD0zIGeQItJo6L89edpJgCgWT_jV4QMe0MNk4XtpGXpJlIYPZqc1gyFgx3jEkLZa1BJnGJy1zBt2k7PGtgaBkRtIfxX950enVFSUKgGbLOJEVXhGk-lvybil6Bjh3WRxGeo6bRHTMKeT1CpO0wyu2oGCWxCIacTsRM3mk-8udvjPb-GZgOR9JRHVH4b7kMEWF4SA27iD5EN-A4UBBSrhAdw3-lkzu3Hi6Dkt7O_cV_DxipJ8pF57KRnnpJSx2lPXYF9xmHs67dbLoOFfSpH4ek_jgKE1OKWgUMmddBFhChwn74Zrgi5TDU9wRVG63Nm49jeDTrtVYjP7w64ZXB78O5SgYda0wVRoMeA18cYagECwWPpFgKgjewAkbXvTMdDUZeMe_wUSbMoAXCT7G2u6E5aQG02W_KfnXYDAdhpNRCYtJpwX0HEYN8aGvbx1vzTT5dF--p6bPHpnS2ABt00G03hqYNIA2ewljQVTnpZzmMdQaZB5iMOxD2O9WFgfjRsLcs1Esi37wj4KO5PW_IO6K4BDcPDAsqhpukagsJTBOHgCHnBHQis5QRNvV7Oc7Ymy53-JfJyoXzUbQUBZwWdGHlMHWaJTt5VqZQVMZk17K2nVzL0-GXwBMJX0_vPJ42_fAQtGu9mePUIq2M4kYCQEP_bw8OMvQzFP7PgrdzwkHw3uLUJbzVW5p-uLL4NbujIP12FdL9Cm6Pyn37535ex4WkDuIlK5N-mxbfh6K6ft-wHlCmsDjB1gQ9wNdEAXYXyYE4XCvmd7jp3t7fBTnnLP11TWwf7Zy71jF4r7j2mzUnjbMkinIQBy6zCiVs2p2_0p6saU6q5-XuxV52avtszmeq4TbSESdMLgISGiT3O73_wX24CJSyOk21GCFbanW4kAn5EtODCGBri3NhQTXbKxf__YVh3ae7q-UrsVSq1_rCW12_dvtPSs34Bxm8MYDoE0KjfY35-CS5QkmUC-kCFL6fdWrVC-5CVe1N4pHqxLTjWhLSadRc-LF4u1aSrbI-mN3HSOBsI03KOMUgP0RXOtcWSSsljD8s8LdeYmx1u1FpstNvHR7GQZTosMJxbXp8uJQheBc-kXbqTubaW1soRTfMybdJHVH2AKzdPe7I7aV-pXJU4UfOrjHMTtrg9BXKa-c2GoV_n5X6v9u7ftfpUracN4t3Jbo_dLjA9dlz3C4PtUM9B-RYLYfvBZy4NFsNS6WuVclg0TXzpl9__tX6KoxEuxQpEyJILVpOYE7ZLnBWVhMlkraRxOqilqhiOMAqp63COb1qbMw19tDIETWuHLIoaY91X6thKSgTYnr7FOtBroc-zASYn97jsh_MOkqBdBNk1Xd3Gzb_1fLExKoRI8qiDhLmLnBf7rkC1HBKIRNZhTIOVeDE_BU98QLGliYxrjX17GLfnNdt32JhNNJoGZ5P-rj-dbIfxfF6VP7GRm0Jo5aJfPJXmhslvgwTGvCxtUeOPUFtCrDXGpK5gIrb1xqUgk9ETE9ggaX7AnpG7MjwXZBSRXI84l1XjjSDhxFGg4Y0BrqAMxKLFMAyn6SjElAKwaRTCYc7gAq5I0rAAsKoDIIkaAT-c9wLMao_a5qxzl4K6WIObG11_knebYvmKdb0Dcx0aTNxdkZ8plSg6AvxLCXkJjYzVf0nu8q0LIz42btkaD7lxRdzfLpdS_KeTu9UJXvqzA_9ptzJIT9kx7CG8GdSwJZBkenBYrDsE7-HNoAotQozNCm5NpVt6k3ePBGVWLbs4GfJmi9iinrvQHTH2YsnPv4t-uu3otFebrWHupoyPQ2dI_uLyhimwxGOQr4hDVn7yIwPdLin8c3_KGnURbUjyqTpyHlDcsJGoiuZ5Rq2cpeQN88VsdYyBTlr4Pti5RbnRHUHj4iQX9v_wFfPvgfc2v_WDf8dwAd7Z3DZftogrzT2964UFnq11HsVLYOnk3mtmG0quq7NG3E7K52q-jGCeGt7Tq0GsVNo2n5cJX7Ss_vlLlp9OHxW-9t3fXkKikOkUwULHU5KrF3BhPdt6uxO70aPai3KuwQOflzES-cQarnCUPxvpF_mJbrphKeeih2qKcY9pOD7-PwA0tXK5VG1_FXvDzMQEkZXEQS2by-36_s4mjqCWuOf86cCtla9BWF0UULB5NdK3ODYfYIQfwxlJdbZy-6EpCKjP0cddRR2v2ZluVGWO5EpdkHVz1T4A__fr6_yqnH_TtkuQ4L2Prxaw056ODQ3u_Ksi43e3J138Eo3OvZrq5eWUyYvwtm0PHBCemmL5UgoHVDrCDOaSl-IPfRT-QQevIgdwRn2i7wbtnIgLcP8MrTkDBKXwVuZtO2UrtQWaiWH6S8D3wcED6d7rESJn5PxpqOUcjnpEzwx8TYeSqcv1poStrwo8nyh78vlUvQeuwIDcKAsS0z01Oz0yBuQt0Feexg93iH62sAIYLlDUT8jGFGRenlFrzE2nV4pLKv8k-7S5mJdXtofLsr5mA6hK1M6KjCEOvNgSd2UHHTMplmVSiMkZLjzHNv0Tp9grCW7fxvwEg-9jBtvfhSP6BVAsKhp_whydPEW-3AOboExO__3zv4C_LJrroAPu5eG94N2IvNTbzP4SUecMEY5z3XP73_lEyrcv5kvQjFYw4r3dsDR78_bsZJzVtdVFfROUweZi7tPpHwIfJ58fgHugY9G1nsoFS0lPfKF2sbz7Hiw-Wtley-1VX4OpDQ27SbB2ay1P0C-4R7cmDmG4_5Hth2vx2WchXzn_-H3dv3VoPWEbtI0pZi1j7-sluCHFn2X-Kz1MdfsRw0hGAegFcff0MqhW8HIQzGnPUZUtVr4y_X8_PmkLQN4MbmEAFdB60Wf5_YYIen61On7GHWO9slAd2Acm1sn0G5P_uJhgzV-9v6Msi_oV_LOd8_N_RPHsy3NlTlHzNFjgziUbe12tHq6ovtvgC_3z9GyK89h2JvDE782F6SP36sn68_UeuAIlu5IpHH-sCif2VFusKC6kFeL-J6Y3SbTo9vSDB6SYS2tvinLemdZdWzVSj0a2pcAPSpXcPlrty2hn9y67cVjaX__j_36b07ey2Hm3PALRF4IO3rMsJhUZRoQdAhDY9EsFO29UynuvSmquPLYodaFpZdDIG-iRmKNOvLNFHnmOrW8OqUQanHVeZVOfDXLwE-g95BuVbwmtNCMU4lSb26oD8ucbrSJ3eYnMMhy3pR3dXy_EBfLtj2h_o5Af-C_436KXb3ay1CH6SHrCGPZMlAdZ6_C2jaKx2euuPSe5DW8A05RBQ9oY6cqbRa_LX13Btda1n3-VjNLscPrJS0XsWbDIMH2XK6GKICCdE6_Km0YryxweW1vat6qdbSevx-lZEjN7oAUVWcnSigZNHf9okL1a7YYahVnrdHXwQssnTRE0SwXip3sWg1NvxbkVcK_guNyXlHwtrXGEMjEcVoJ5Y-4xu_ys_nDHJK4LYig5vROKBaVkuHu9CA3n2oKUcoDIOWFk5XyWztoqhwN3SiII89BT2NlWy0rJcVtHLjwU5Dyttp7jVY4ECumUjFYPVXKp-xZqtosVM_roXUbgbg6vz8WurpN7EBBoITZRygdBxRp-LKOnCCBWh-OkboQvZr7JaFjCiq6wnKxWlP7V9KTz93jpgeH_eoLvBFTIFV7xB50_OMyvAN-681VzFFzQvxuu8NcvXtznivBX_h4Uij07BOcvJ1hz9bfAVgCcfEAXNWI9CfJljk_Tp1I_H5e-KeIVfT1-aZ_3EBMizYXa4N4eYD2ZY9erXTD0pWVG8e3A4uioUWp65Izno7jUZ4fEURdXVjDyQI4Lc-uVncdM8kzEnD9Ag4uNH07wJ_gG88GK7fzBDrfrTMEVo1k3QshMaFfHvR3_FPZFaTBvHaD1JfwmqXzwlteBeSqVru0rXgSp2ta2ZWu9Xu2uoIzgkHTrmHI-HQR_ijUfGd-7xVyozRsbBEnCvWhZwmr3lXRUGe8yMTgjqZrkrivuFwpE7cw6HnwnqFEmn5bGSDEytVrbjlyba0I0UPCV0foSNjAifEClGudgG4LmtKnW2jRlbxwpM9YaRjttQEQfqNvRSUVp0DDEHUujMKm9VotlsfrgZHOxoMxo_AvKFtpFsvADO5OSM5QJTmQ_g1LcO5X3uhNWZ3tdW0VOV4RoODqFfE8qiZxn9THhwBQHq2XuM7qtGtzT6in_xoyJFkvMO121tnazTLHn5GM-WfEiN1PzDdkftMvO6o6qoas8kdSP16vucfXsO94RXJWPqiP-Guo_BYRL-07fvO8mjMSVQXFaKWs9fatjLinz1GY00RZ32zLM_OwSFIjcBQtj5YC5JPGqHqgBF3W-R8d9wRYXx_i2aUny3b5f5lvjXFhrPheRD3VbiWo8PCwfdUgoeuDRTx6j2UBJi1KywN6C4vaiZMFqILIVTbcrw2GzoF5s22cPhXq8GdRCt1vxhFqXthx9W1ovZAxhzAUhtsDGnTzzsQ0F91tR3L4fNh_xXcUwwlhOuQOPWhgpTvx50pzgXbRIEbCL0LJvSIGleaOUMkigFAeqWMIAPLLdCE9AKfAx7_Ltax3iZRAgU1Ccy4pQGGdBH5RR74uTN_3BZ-gZAg1o7Hr9bXD819-k_cpqAf8lrFsV4Y5IAwZq2N55CmRs6BiBRUXF1l8Z8fQBGxfKaZ3GAwKAH9-b55tXJ0-Sf-AE6P-e7tBvzs1aa2F7gcmxPeE_lggABjxYYcyVjvpzJw673_3jnHkqR_YT8x_wPkq5d9nqAXZ7-hkIYExXvFrHPHeRmXBiAIZK03MiAA2I5bV-qilY23vt8PWk9y3bXCXx-Np6FUtqmcwrvRI_KuehcVytE6JKtOmVBpYsE0h9AVbcW3w9BqArmjL6llPE2I42PhxMKaDZU0Ezb5-noJbk6H8wQusR45g2T8hSkA50e4L1GnLr-3LbmHoW1eeX8enWVDLJdTW0PcLdJYVctxZ4rG6UxlsZ1P6JU2_0fFuCeuJGtzNlGFUCtDxRk-qRjKEKGrduDKG0-H6YsI0IdUmNdlW6saY2644AS-kYK6dzrIfcrumS2rhBtRKa8oilZPxxanjXwzondW1qhNejbx8oqdgaxnqI8sEvfRL_jkQVQ8DWUNaGZFBobFjq0ScdvuVUmXJKRzaLh9UOZVVy04yeZTqOH-zSkxMcG1vWdSQmx-ZSIyDZv6Vw8YiLI3gWG4bqTAp1Pr-UevSrR0R7oYth6Aah_kZoPTx1YoyWjp4SJZEOhOtHKP_79fWQ1SasHqp69G6Xal3SO-zg_kvKuWzpGIU3oPFpDnsVHr2pNidqU-HcgtrsfnlV1ub72uyVvDb491q4F4Ol-5NEeB3hxoW-OmdX7kmpWDMiO1be5a5RxHWmFzl0w2b5FMkKMvN0M-vRPif7EvpD4Oj_1SavNttbhJl0o9KqUfVcxnzcpaTj-qen1ENcmz212VybifWYXo99tVldmwP1_7lnarOqNvtrs6QeqfUYWY-jtZnP4UzubEdtylHm0bbHkBm_6ua54wA2rjfsxcBg01We-2URFCl_1n1CYY0-Qfnt1nVYPV640pOpwnOK8saWDWyPkwr9GPoJSHj-Q1y1NJeWXLeRInJE1876mSPXrIJVFvGc8k3g_mj3ekhr4zy64GMv-N4VMxzsKbS4YqLIxTCbGWKDl0VQpEHqYR0dJBi9jrcoAzdAw8FvNIg5bfGYIAOTCTFElEHyaCDfQjJOoNSKeA9zf8BeC3GFlodniJBUISeM5NxF3TMVDrPYwwgoQsJQXLvKx4oh1AzpHqoZTDvnKksyhk2e-Vm9i4lAYQ7-fBmAikUIgOZpJYBXvMRvvw5YDagEtN8-qBZwG5AOKIP-rlUEaH5lSlR8tutWq1TrtjIdnmsOoLx9SQLuCtKpZJEjjJHE5zjD_bPqnXvrWlrJ_m_j8lFlFHcfLieYOcnHXZEIY7R4wha4UmtVuzKTArl2LNmblLukKl_SoeQsHXWuthEgz9_kEqR56zIYClwOmma4PLzLNKKG-nDFMDboSiBvjiuFqQu4mkr3wRXg0U9dO0jb6sph6O-uPYThXQWMk-gqoRmqq-I9CteBfDK1Oo3Ndh2pp1drOLZWOxEbwZUSZ7aLuLDDWluG_b2rM6l8gOiTq5daDulhBCcoLFKJVB3mkyIIc4mO_YaIUQJVpzPXrBRmKncKqQ0vUY7ESpUcRr3ISiZAVMFhpRyklWP_yc1PtTA31haVw-J5JCGcCaOSVwyc0MVHXFgUqkoJ7879LDhWhSF8KJEjUax_YHIniSp0EwkJXi0cimGLjwoYnE-BFvGl1piglgmWLji3FBCvNTPcFUblwVKTnZvHdXYkKAtuLrdPJBYzPG49OFG-20wZVzquZAKPLEQtWO3tS_EjJ8Y1KpUI7eP2I540b7xgWRYemgjiCu9MJKvGCYjHlUglAtoI4ap_cHHLObvJiMXkPqKYQk3LWZfVL3MU6yWYvUZSCzwnJ_sL49mpGEkJjfKbuYDhOns6lP4UxnPu6_2IQJ4YFRKdAB6-PIjDr4JeYMEeSfPSWkDuurdCL8T1QILtbkNSqeCCr4j99L8RBQPbnShCoUB__7UAo4potYY3YlSKJthrNJ1otQmdrlivvyAjrn2wOPTwkg7U7U-5R2xcjHzcfgdwFHQ5ubK6JrFuk35tY1P31vbOrh7pp0x71PbTp06_8aZefW9tjzvv6vfDKfeKP_70By76Edfw3ino7QyubpopG_33wupnIIi7dUKRGcLuJ1UidlucvP8BmlJ2ikKCI_CMQZZyDE8Fmkp2bW5Zo6Ts11qebd6RjSpp2sz03TRzi7SQaT31NFamb9vOTscZHE5udvKDTQ2vN8Gu3zArG1trbN5jbLfIG8MxgT_eVvMQFh5hZKTHPr4ZbblRXN5g13CPMUGOXEsSk5JTUo12R4Zv7JjGurN_yVLN9s0Y43P9mYfmGwH4PlBcwvvNiVTVNbV19Q2NHOAgfN_YpiLCLiXatx_U946hw0f4wcGT6s_H9Jmz5877TvmFi5cuX7l6jTmcK3j33v0HDxH9P8lv3r57_-Hjp89fvuZFWRHKuJBKG1TfvoeN_WtxZPSv53C6PDy9vH183X7-kgyRomq6YVq243p-ISiGpXJUqdbqcaPZane6vf4UfwAj9x98BI_9JGpc9FeFBczKxs7RNg2GFE6AZPcbXFBuYODX-PgROPBrykyB9MxVpVpNP1aQUK9rTtNnFCdpRhkXcr5Yrtab7W5_OIKAgoFDQEJBw8DCwSMgIiGjoKKhY2BiYePg4uGHlffd04wOiPZb8HY4A2Vcv9wYiyJbTkRMQkpGTkHZeMcdpnpU_LPF4F2TrajHNLR09NwCjWFiZmHFLf7XjqOzptgddcxH9thrqfzsFyKCyjq5uPXpN2DQkGEjRl1474NLV67duHWnqKQMJf8XT01dQ1MLoY3UQaF19TBYnD7bA8-63B3LFCm2onetlN97VhPp5TnHhjhcnv-S3NdPJP0fVdMN-1KohMJ_2p1msoab7jbZaIM9Jtsl2nplfafUVrtt6Xu7jrp-6Md-ame7OODCMU70RoanJ-YknJSTcQJnx8k5e07BKTkVFnwE6lw7cSZNyqSqbBqy8xM4M66TNdmTM7mDx5LPEVDJR0lTiPrcSB3a0IcxTPXZzB7OcIc3_BGMcEQjHslIRzZyqzXrb5U_NLrvd_f8pkmL1okcxShHNerRzIZDoaaMZ5TS0jW2LtUCFDsrVaedxVNdV8QqFu8G_9f0zAVQCm0QhoIuTDLJHnYQlK2AVVM12G5CwkEUQDvo9ZtRP41iLWYqdJ3UC0P2jV8R7QtDcH1UELQPeVJM03pRGSiNoqB0SpQCmQzr0ltBCjDgoayNj0iPsyUTVAz44yYkNGmoydbtd0UfQ6ubTh6tzrlYGIhBOiMeF_Vu9fqaWmoId9Uboy4n3HEz8njSnJVUNK0Jo_ZzJbVWye1ma2wFrXHZmtUzFy0mq0VrhsdFZ2Ra519UOxkhoycvOprhjPVeizHRq_UTsjafU7_X27X-kt94fYq6LpNz559_lPnz-r26SvScqF9eXV3LYRGE0s2Qo4HjwnDmaCokc3YozJkr5bP172p8x2NEFWLdErpb2M3B0eSizps1lrAdq95dRyzQZaBtsB2xlDr1lQR0AkurkulgL7D2h-N7NUfjBl8J7YX5kEgj6hJXeWucNGp41W1xvy7e_eTnAWlOPu8P5b2vMdEnAQnOVbINmD-1cZVkZIqcBdkmJ8aFfYdUxs90zjxFEGUtJZDE9hhjqlPFgGWeOM9f-YnYEUFozmqSKLXUUkol1YIuooVa0BWsspe0Zte6cS0ygUo8IFPOd7QNCuc2KgLP3u11LVzQFmt6Gk_QhKZb4rRiMrtjOu3RPE87Hs_4mCYTQYkSEEsMUQICIkQpoRSVfIhMOT80KTYLc9Kw7w343DL-rljdQ4EHt2JwYPWrL4n0gWS_7Dhjo3Eks_KJNHOY1CMrmQWuAut6Ajwvgbe2bi8lRuOe_4WOIHgQmgysDIkpmCpgQw5Mp5Qiz7KgWZGQzpizCQBC0VrSRYLimEGlZUPuArRJYyQJU3NKlFaBAGBDrmirUlegbb7QTpiyslWMYsnVFQjCCjZ37dGDKGHlgJsR0GTVrYyFZsHUpZAcmA6iLG3tVFpbW2j1QSTRWha2gAehIlW6RFAcMyiakptGjcZIEqIpYYfm8KKtuaLNifSC7K2QoUKHFTKcAGEdJbVJumdX2CN8z6vzZ149_vbkklP-VezwT5U53XE3jxNkCpVGv4y7jLIMQAhGUAz_Ert_VxnZXV5dXRc_qAzkX905i0g6D3mjmnF7-Pp1Ot8aHLW7335lORDgghCMoBhOzPzjunugZgBVUTiO47ie9UuBF18fyhxt8j3Tf3r585uG6aVCzt2-kGhGCMix7zl7flc_OGOun9vOhUHv3yaHAtGOboJXROM8PP-l9_4_KDT4HpIUmKef__3E5LLkG0FlgryB_yIYq94N_LDz4Y9x1loy-HSvDBTJQ-gDOZuFQwQoxm8SNYyMQOr6OiwQ99-Pv2-KFNmTtsmJGkKG70WbWRfKMYL5h_uSEhitxIhRnP9IkI8uZNirUlq6A-CDPG9cXV3HXkh4-m7xWND5Yyc0hspZSX8QCi-a0DvK3AeW5RfA8Nxn4_qXVb2h0AZkzGYrm3cwO9i-Az-16g4FFFwRBIduAVaguCpgOE0NUJd6y98fPN--f8eqDyYq5A0mnQfDTYIMVcKhFyJ1LIpTacVXO3H1jqrJCxk2NdFERC6nZzq8GYRaJ4UE1Wjop5ZDS2UeDFBh0CJ9ObvUZm1OmqqgOkNL4SHZEi8fXyjU1ESVWgyfLf9u9cbtP1LQ-x2jFMaoaQayoeuzgalhDKFIHLUF09nQL82ZS509H8co1OTAck-kRqQUFHY2QEi9x6fQ4F5bAJ1zdR0RSkl0kz4qkI-SS4qKXiEuvOTDS9nHp9DynjMy3r0LD0jzlb-fWKENiWt73K2vz8up-xE9FWT3OB7hqJzNELzIWSSmvm7zlrc4ndvWxrbawHmgPoGR3cMRVDHa3uSFUjytZK6Dqhtgdh-xNC8w-96PQx2_L8QOBm9-ajJMNwwau0xdyI_Hscww--6OhzQ6LrkptMXpQIst_1MWBcwEGhlDZJvHlh9LOb28uro-6N05yFb6VcQoVhZO1NNkxmlUgkkD7uQ5sIgA3_6gbQqXWBkEjzYpmEBL9lCrPbNYjrQByrPbetMXG3L9L8O4NLktQ-vLzr_e9uBhBjt_eJAnH-6G73ZebihXpNX9EzgyerMe3Fvt_O5nCI5pw6C1jbLTb5mxF8Mj9hHZCsxOFqO8G0zNEeuROtoxYRIRVE57IYG9D0zr6QaEp7n0NdTimBpQp08y_yLrnd33N7A7IQAAAA"],
54248
- ["assets/index-UMluwEjo.js", "dmFyIGU9KGUsdCk9PigpPT4odHx8KGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLGU9bnVsbCksdC5leHBvcnRzKSx0PWUoKGU9Pnt2YXIgdD1TeW1ib2wuZm9yKGByZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudGApLG49U3ltYm9sLmZvcihgcmVhY3QucG9ydGFsYCkscj1TeW1ib2wuZm9yKGByZWFjdC5mcmFnbWVudGApLGk9U3ltYm9sLmZvcihgcmVhY3Quc3RyaWN0X21vZGVgKSxhPVN5bWJvbC5mb3IoYHJlYWN0LnByb2ZpbGVyYCksbz1TeW1ib2wuZm9yKGByZWFjdC5jb25zdW1lcmApLHM9U3ltYm9sLmZvcihgcmVhY3QuY29udGV4dGApLGM9U3ltYm9sLmZvcihgcmVhY3QuZm9yd2FyZF9yZWZgKSxsPVN5bWJvbC5mb3IoYHJlYWN0LnN1c3BlbnNlYCksdT1TeW1ib2wuZm9yKGByZWFjdC5tZW1vYCksZD1TeW1ib2wuZm9yKGByZWFjdC5sYXp5YCksZj1TeW1ib2wuZm9yKGByZWFjdC5hY3Rpdml0eWApLHA9U3ltYm9sLmZvcihgcmVhY3Qudmlld190cmFuc2l0aW9uYCksbT1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gaChlKXtyZXR1cm4gdHlwZW9mIGUhPWBvYmplY3RgfHwhZT9udWxsOihlPW0mJmVbbV18fGVbYEBAaXRlcmF0b3JgXSx0eXBlb2YgZT09YGZ1bmN0aW9uYD9lOm51bGwpfXZhciBnPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxfPU9iamVjdC5hc3NpZ24sdj17fTtmdW5jdGlvbiB5KGUsdCxuKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPXYsdGhpcy51cGRhdGVyPW58fGd9eS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSx5LnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiBlIT1gb2JqZWN0YCYmdHlwZW9mIGUhPWBmdW5jdGlvbmAmJmUhPW51bGwpdGhyb3cgRXJyb3IoYHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLmApO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLHQsYHNldFN0YXRlYCl9LHkucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLGBmb3JjZVVwZGF0ZWApfTtmdW5jdGlvbiBiKCl7fWIucHJvdG90eXBlPXkucHJvdG90eXBlO2Z1bmN0aW9uIHgoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9dix0aGlzLnVwZGF0ZXI9bnx8Z312YXIgUz14LnByb3RvdHlwZT1uZXcgYjtTLmNvbnN0cnVjdG9yPXgsXyhTLHkucHJvdG90eXBlKSxTLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBDPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdygpe312YXIgVD17SDpudWxsLEE6bnVsbCxUOm51bGwsUzpudWxsfSxFPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gRChlLG4scil7dmFyIGk9ci5yZWY7cmV0dXJueyQkdHlwZW9mOnQsdHlwZTplLGtleTpuLHJlZjppPT09dm9pZCAwP251bGw6aSxwcm9wczpyfX1mdW5jdGlvbiBlZShlLHQpe3JldHVybiBEKGUudHlwZSx0LGUucHJvcHMpfWZ1bmN0aW9uIE8oZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiZlLiQkdHlwZW9mPT09dH1mdW5jdGlvbiB0ZShlKXt2YXIgdD17Ij0iOmA9MGAsIjoiOmA9MmB9O3JldHVybmAkYCtlLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pfXZhciBuZT0vXC8rL2c7ZnVuY3Rpb24gcmUoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PWBvYmplY3RgJiZlJiZlLmtleSE9bnVsbD90ZShgYCtlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gaWUoZSl7c3dpdGNoKGUuc3RhdHVzKXtjYXNlYGZ1bGZpbGxlZGA6cmV0dXJuIGUudmFsdWU7Y2FzZWByZWplY3RlZGA6dGhyb3cgZS5yZWFzb247ZGVmYXVsdDpzd2l0Y2godHlwZW9mIGUuc3RhdHVzPT1gc3RyaW5nYD9lLnRoZW4odyx3KTooZS5zdGF0dXM9YHBlbmRpbmdgLGUudGhlbihmdW5jdGlvbih0KXtlLnN0YXR1cz09PWBwZW5kaW5nYCYmKGUuc3RhdHVzPWBmdWxmaWxsZWRgLGUudmFsdWU9dCl9LGZ1bmN0aW9uKHQpe2Uuc3RhdHVzPT09YHBlbmRpbmdgJiYoZS5zdGF0dXM9YHJlamVjdGVkYCxlLnJlYXNvbj10KX0pKSxlLnN0YXR1cyl7Y2FzZWBmdWxmaWxsZWRgOnJldHVybiBlLnZhbHVlO2Nhc2VgcmVqZWN0ZWRgOnRocm93IGUucmVhc29ufX10aHJvdyBlfWZ1bmN0aW9uIGsoZSxyLGksYSxvKXt2YXIgcz10eXBlb2YgZTsocz09PWB1bmRlZmluZWRgfHxzPT09YGJvb2xlYW5gKSYmKGU9bnVsbCk7dmFyIGM9ITE7aWYoZT09PW51bGwpYz0hMDtlbHNlIHN3aXRjaChzKXtjYXNlYGJpZ2ludGA6Y2FzZWBzdHJpbmdgOmNhc2VgbnVtYmVyYDpjPSEwO2JyZWFrO2Nhc2Vgb2JqZWN0YDpzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSB0OmNhc2UgbjpjPSEwO2JyZWFrO2Nhc2UgZDpyZXR1cm4gYz1lLl9pbml0LGsoYyhlLl9wYXlsb2FkKSxyLGksYSxvKX19aWYoYylyZXR1cm4gbz1vKGUpLGM9YT09PWBgP2AuYCtyZShlLDApOmEsQyhvKT8oaT1gYCxjIT1udWxsJiYoaT1jLnJlcGxhY2UobmUsYCQmL2ApK2AvYCksayhvLHIsaSxgYCxmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTpvIT1udWxsJiYoTyhvKSYmKG89ZWUobyxpKyhvLmtleT09bnVsbHx8ZSYmZS5rZXk9PT1vLmtleT9gYDooYGArby5rZXkpLnJlcGxhY2UobmUsYCQmL2ApK2AvYCkrYykpLHIucHVzaChvKSksMTtjPTA7dmFyIGw9YT09PWBgP2AuYDphK2A6YDtpZihDKGUpKWZvcih2YXIgdT0wO3U8ZS5sZW5ndGg7dSsrKWE9ZVt1XSxzPWwrcmUoYSx1KSxjKz1rKGEscixpLHMsbyk7ZWxzZSBpZih1PWgoZSksdHlwZW9mIHU9PWBmdW5jdGlvbmApZm9yKGU9dS5jYWxsKGUpLHU9MDshKGE9ZS5uZXh0KCkpLmRvbmU7KWE9YS52YWx1ZSxzPWwrcmUoYSx1KyspLGMrPWsoYSxyLGkscyxvKTtlbHNlIGlmKHM9PT1gb2JqZWN0YCl7aWYodHlwZW9mIGUudGhlbj09YGZ1bmN0aW9uYClyZXR1cm4gayhpZShlKSxyLGksYSxvKTt0aHJvdyByPVN0cmluZyhlKSxFcnJvcihgT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiBgKyhyPT09YFtvYmplY3QgT2JqZWN0XWA_YG9iamVjdCB3aXRoIGtleXMge2ArT2JqZWN0LmtleXMoZSkuam9pbihgLCBgKStgfWA6cikrYCkuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC5gKX1yZXR1cm4gY31mdW5jdGlvbiBBKGUsdCxuKXtpZihlPT1udWxsKXJldHVybiBlO3ZhciByPVtdLGk9MDtyZXR1cm4gayhlLHIsYGAsYGAsZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2FsbChuLGUsaSsrKX0pLHJ9ZnVuY3Rpb24gYWUoZSl7aWYoZS5fc3RhdHVzPT09LTEpe3ZhciB0PWUuX3Jlc3VsdCxuPXQoKTtuLnRoZW4oZnVuY3Rpb24odCl7KGUuX3N0YXR1cz09PTB8fGUuX3N0YXR1cz09PS0xKSYmKGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10LG4uc3RhdHVzPT09dm9pZCAwJiYobi5zdGF0dXM9YGZ1bGZpbGxlZGAsbi52YWx1ZT10KSl9LGZ1bmN0aW9uKHQpeyhlLl9zdGF0dXM9PT0wfHxlLl9zdGF0dXM9PT0tMSkmJihlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCxuLnN0YXR1cz09PXZvaWQgMCYmKG4uc3RhdHVzPWByZWplY3RlZGAsbi5yZWFzb249dCkpfSksZS5fc3RhdHVzPT09LTEmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9bil9aWYoZS5fc3RhdHVzPT09MSlyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBvZT10eXBlb2YgcmVwb3J0RXJyb3I9PWBmdW5jdGlvbmA_cmVwb3J0RXJyb3I6ZnVuY3Rpb24oZSl7aWYodHlwZW9mIHdpbmRvdz09YG9iamVjdGAmJnR5cGVvZiB3aW5kb3cuRXJyb3JFdmVudD09YGZ1bmN0aW9uYCl7dmFyIHQ9bmV3IHdpbmRvdy5FcnJvckV2ZW50KGBlcnJvcmAse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxtZXNzYWdlOnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmdHlwZW9mIGUubWVzc2FnZT09YHN0cmluZ2A_U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PWBvYmplY3RgJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT1gZnVuY3Rpb25gKXtwcm9jZXNzLmVtaXQoYHVuY2F1Z2h0RXhjZXB0aW9uYCxlKTtyZXR1cm59Y29uc29sZS5lcnJvcihlKX07ZnVuY3Rpb24gc2UoZSl7dmFyIHQ9VC5ULG49e307bi50eXBlcz10PT09bnVsbD9udWxsOnQudHlwZXMsVC5UPW47dHJ5e3ZhciByPWUoKSxpPVQuUztpIT09bnVsbCYmaShuLHIpLHR5cGVvZiByPT1gb2JqZWN0YCYmciYmdHlwZW9mIHIudGhlbj09YGZ1bmN0aW9uYCYmci50aGVuKHcsb2UpfWNhdGNoKGUpe29lKGUpfWZpbmFsbHl7dCE9PW51bGwmJm4udHlwZXMhPT1udWxsJiYodC50eXBlcz1uLnR5cGVzKSxULlQ9dH19ZnVuY3Rpb24gY2UoZSl7dmFyIHQ9VC5UO2lmKHQhPT1udWxsKXt2YXIgbj10LnR5cGVzO249PT1udWxsP3QudHlwZXM9W2VdOm4uaW5kZXhPZihlKT09PS0xJiZuLnB1c2goZSl9ZWxzZSBzZShjZS5iaW5kKG51bGwsZSkpfXZhciBsZT17bWFwOkEsZm9yRWFjaDpmdW5jdGlvbihlLHQsbil7QShlLGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LG4pfSxjb3VudDpmdW5jdGlvbihlKXt2YXIgdD0wO3JldHVybiBBKGUsZnVuY3Rpb24oKXt0Kyt9KSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBBKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGV9KXx8W119LG9ubHk6ZnVuY3Rpb24oZSl7aWYoIU8oZSkpdGhyb3cgRXJyb3IoYFJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLmApO3JldHVybiBlfX07ZS5BY3Rpdml0eT1mLGUuQ2hpbGRyZW49bGUsZS5Db21wb25lbnQ9eSxlLkZyYWdtZW50PXIsZS5Qcm9maWxlcj1hLGUuUHVyZUNvbXBvbmVudD14LGUuU3RyaWN0TW9kZT1pLGUuU3VzcGVuc2U9bCxlLlZpZXdUcmFuc2l0aW9uPXAsZS5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREU9VCxlLl9fQ09NUElMRVJfUlVOVElNRT17X19wcm90b19fOm51bGwsYzpmdW5jdGlvbihlKXtyZXR1cm4gVC5ILnVzZU1lbW9DYWNoZShlKX19LGUuYWRkVHJhbnNpdGlvblR5cGU9Y2UsZS5jYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxlLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihlPT1udWxsKXRocm93IEVycm9yKGBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkIGArZStgLmApO3ZhciByPV8oe30sZS5wcm9wcyksaT1lLmtleTtpZih0IT1udWxsKWZvcihhIGluIHQua2V5IT09dm9pZCAwJiYoaT1gYCt0LmtleSksdCkhRS5jYWxsKHQsYSl8fGE9PT1ga2V5YHx8YT09PWBfX3NlbGZgfHxhPT09YF9fc291cmNlYHx8YT09PWByZWZgJiZ0LnJlZj09PXZvaWQgMHx8KHJbYV09dFthXSk7dmFyIGE9YXJndW1lbnRzLmxlbmd0aC0yO2lmKGE9PT0xKXIuY2hpbGRyZW49bjtlbHNlIGlmKDE8YSl7Zm9yKHZhciBvPUFycmF5KGEpLHM9MDtzPGE7cysrKW9bc109YXJndW1lbnRzW3MrMl07ci5jaGlsZHJlbj1vfXJldHVybiBEKGUudHlwZSxpLHIpfSxlLmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9eyQkdHlwZW9mOnMsX2N1cnJlbnRWYWx1ZTplLF9jdXJyZW50VmFsdWUyOmUsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsfSxlLlByb3ZpZGVyPWUsZS5Db25zdW1lcj17JCR0eXBlb2Y6byxfY29udGV4dDplfSxlfSxlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9e30sYT1udWxsO2lmKHQhPW51bGwpZm9yKHIgaW4gdC5rZXkhPT12b2lkIDAmJihhPWBgK3Qua2V5KSx0KUUuY2FsbCh0LHIpJiZyIT09YGtleWAmJnIhPT1gX19zZWxmYCYmciE9PWBfX3NvdXJjZWAmJihpW3JdPXRbcl0pO3ZhciBvPWFyZ3VtZW50cy5sZW5ndGgtMjtpZihvPT09MSlpLmNoaWxkcmVuPW47ZWxzZSBpZigxPG8pe2Zvcih2YXIgcz1BcnJheShvKSxjPTA7YzxvO2MrKylzW2NdPWFyZ3VtZW50c1tjKzJdO2kuY2hpbGRyZW49c31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IociBpbiBvPWUuZGVmYXVsdFByb3BzLG8paVtyXT09PXZvaWQgMCYmKGlbcl09b1tyXSk7cmV0dXJuIEQoZSxhLGkpfSxlLmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSxlLmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOmMscmVuZGVyOmV9fSxlLmlzVmFsaWRFbGVtZW50PU8sZS5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpkLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6YWV9fSxlLm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6dSx0eXBlOmUsY29tcGFyZTp0PT09dm9pZCAwP251bGw6dH19LGUuc3RhcnRUcmFuc2l0aW9uPXNlLGUudW5zdGFibGVfdXNlQ2FjaGVSZWZyZXNoPWZ1bmN0aW9uKCl7cmV0dXJuIFQuSC51c2VDYWNoZVJlZnJlc2goKX0sZS51c2U9ZnVuY3Rpb24oZSl7cmV0dXJuIFQuSC51c2UoZSl9LGUudXNlQWN0aW9uU3RhdGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBULkgudXNlQWN0aW9uU3RhdGUoZSx0LG4pfSxlLnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFQuSC51c2VDYWxsYmFjayhlLHQpfSxlLnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFQuSC51c2VDb250ZXh0KGUpfSxlLnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LGUudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlLHQpe3JldHVybiBULkgudXNlRGVmZXJyZWRWYWx1ZShlLHQpfSxlLnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBULkgudXNlRWZmZWN0KGUsdCl9LGUudXNlRWZmZWN0RXZlbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFQuSC51c2VFZmZlY3RFdmVudChlKX0sZS51c2VJZD1mdW5jdGlvbigpe3JldHVybiBULkgudXNlSWQoKX0sZS51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVC5ILnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LG4pfSxlLnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBULkgudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LGUudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFQuSC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sZS51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFQuSC51c2VNZW1vKGUsdCl9LGUudXNlT3B0aW1pc3RpYz1mdW5jdGlvbihlLHQpe3JldHVybiBULkgudXNlT3B0aW1pc3RpYyhlLHQpfSxlLnVzZVJlZHVjZXI9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBULkgudXNlUmVkdWNlcihlLHQsbil9LGUudXNlUmVmPWZ1bmN0aW9uKGUpe3JldHVybiBULkgudXNlUmVmKGUpfSxlLnVzZVN0YXRlPWZ1bmN0aW9uKGUpe3JldHVybiBULkgudXNlU3RhdGUoZSl9LGUudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBULkgudXNlU3luY0V4dGVybmFsU3RvcmUoZSx0LG4pfSxlLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gVC5ILnVzZVRyYW5zaXRpb24oKX0sZS52ZXJzaW9uPWAxOS4zLjFgfSkpLG49ZSgoKGUsbik9PntuLmV4cG9ydHM9dCgpfSkpLHI9ZSgoZT0-e2Z1bmN0aW9uIHQoZSx0KXt2YXIgbj1lLmxlbmd0aDtlLnB1c2godCk7YTpmb3IoOzA8bjspe3ZhciByPW4tMT4-PjEsYT1lW3JdO2lmKDA8aShhLHQpKWVbcl09dCxlW25dPWEsbj1yO2Vsc2UgYnJlYWsgYX19ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6ZVswXX1mdW5jdGlvbiByKGUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt2YXIgdD1lWzBdLG49ZS5wb3AoKTtpZihuIT09dCl7ZVswXT1uO2E6Zm9yKHZhciByPTAsYT1lLmxlbmd0aCxvPWE-Pj4xO3I8bzspe3ZhciBzPTIqKHIrMSktMSxjPWVbc10sbD1zKzEsdT1lW2xdO2lmKDA-aShjLG4pKWw8YSYmMD5pKHUsYyk_KGVbcl09dSxlW2xdPW4scj1sKTooZVtyXT1jLGVbc109bixyPXMpO2Vsc2UgaWYobDxhJiYwPmkodSxuKSllW3JdPXUsZVtsXT1uLHI9bDtlbHNlIGJyZWFrIGF9fXJldHVybiB0fWZ1bmN0aW9uIGkoZSx0KXt2YXIgbj1lLnNvcnRJbmRleC10LnNvcnRJbmRleDtyZXR1cm4gbj09PTA_ZS5pZC10LmlkOm59aWYoZS51bnN0YWJsZV9ub3c9dm9pZCAwLHR5cGVvZiBwZXJmb3JtYW5jZT09YG9iamVjdGAmJnR5cGVvZiBwZXJmb3JtYW5jZS5ub3c9PWBmdW5jdGlvbmApe3ZhciBhPXBlcmZvcm1hbmNlO2UudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIGEubm93KCl9fWVsc2V7dmFyIG89RGF0ZSxzPW8ubm93KCk7ZS51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gby5ub3coKS1zfX12YXIgYz1bXSxsPVtdLHU9MSxkPW51bGwsZj0zLHA9ITEsbT0hMSxoPSExLGc9ITEsXz10eXBlb2Ygc2V0VGltZW91dD09YGZ1bmN0aW9uYD9zZXRUaW1lb3V0Om51bGwsdj10eXBlb2YgY2xlYXJUaW1lb3V0PT1gZnVuY3Rpb25gP2NsZWFyVGltZW91dDpudWxsLHk9dHlwZW9mIHNldEltbWVkaWF0ZTxgdWA_c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gYihlKXtmb3IodmFyIGk9bihsKTtpIT09bnVsbDspe2lmKGkuY2FsbGJhY2s9PT1udWxsKXIobCk7ZWxzZSBpZihpLnN0YXJ0VGltZTw9ZSlyKGwpLGkuc29ydEluZGV4PWkuZXhwaXJhdGlvblRpbWUsdChjLGkpO2Vsc2UgYnJlYWs7aT1uKGwpfX1mdW5jdGlvbiB4KGUpe2lmKGg9ITEsYihlKSwhbSl7aWYobihjKSE9PW51bGwpbT0hMCxTfHwoUz0hMCxlZSgpKTtlbHNle3ZhciB0PW4obCk7dCE9PW51bGwmJm5lKHgsdC5zdGFydFRpbWUtZSl9fX12YXIgUz0hMSxDPS0xLHc9NSxUPS0xO2Z1bmN0aW9uIEUoKXtyZXR1cm4gZz8hMDohKGUudW5zdGFibGVfbm93KCktVDx3KX1mdW5jdGlvbiBEKCl7aWYoZz0hMSxTKXt2YXIgdD1lLnVuc3RhYmxlX25vdygpO1Q9dDt2YXIgaT0hMDt0cnl7YTp7bT0hMSxoJiYoaD0hMSx2KEMpLEM9LTEpLHA9ITA7dmFyIGE9Zjt0cnl7Yjp7Zm9yKGIodCksZD1uKGMpO2QhPT1udWxsJiYhKGQuZXhwaXJhdGlvblRpbWU-dCYmRSgpKTspe3ZhciBvPWQuY2FsbGJhY2s7aWYodHlwZW9mIG89PWBmdW5jdGlvbmApe2QuY2FsbGJhY2s9bnVsbCxmPWQucHJpb3JpdHlMZXZlbDt2YXIgcz1vKGQuZXhwaXJhdGlvblRpbWU8PXQpO2lmKHQ9ZS51bnN0YWJsZV9ub3coKSx0eXBlb2Ygcz09YGZ1bmN0aW9uYCl7ZC5jYWxsYmFjaz1zLGIodCksaT0hMDticmVhayBifWQ9PT1uKGMpJiZyKGMpLGIodCl9ZWxzZSByKGMpO2Q9bihjKX1pZihkIT09bnVsbClpPSEwO2Vsc2V7dmFyIHU9bihsKTt1IT09bnVsbCYmbmUoeCx1LnN0YXJ0VGltZS10KSxpPSExfX1icmVhayBhfWZpbmFsbHl7ZD1udWxsLGY9YSxwPSExfWk9dm9pZCAwfX1maW5hbGx5e2k_ZWUoKTpTPSExfX19dmFyIGVlO2lmKHR5cGVvZiB5PT1gZnVuY3Rpb25gKWVlPWZ1bmN0aW9uKCl7eShEKX07ZWxzZSBpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWw8YHVgKXt2YXIgTz1uZXcgTWVzc2FnZUNoYW5uZWwsdGU9Ty5wb3J0MjtPLnBvcnQxLm9ubWVzc2FnZT1ELGVlPWZ1bmN0aW9uKCl7dGUucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgZWU9ZnVuY3Rpb24oKXtfKEQsMCl9O2Z1bmN0aW9uIG5lKHQsbil7Qz1fKGZ1bmN0aW9uKCl7dChlLnVuc3RhYmxlX25vdygpKX0sbil9ZS51bnN0YWJsZV9JZGxlUHJpb3JpdHk9NSxlLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5PTEsZS51bnN0YWJsZV9Mb3dQcmlvcml0eT00LGUudW5zdGFibGVfTm9ybWFsUHJpb3JpdHk9MyxlLnVuc3RhYmxlX1Byb2ZpbGluZz1udWxsLGUudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHk9MixlLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sZS51bnN0YWJsZV9mb3JjZUZyYW1lUmF0ZT1mdW5jdGlvbihlKXswPmV8fDEyNTxlP2NvbnNvbGUuZXJyb3IoYGZvcmNlRnJhbWVSYXRlIHRha2VzIGEgcG9zaXRpdmUgaW50IGJldHdlZW4gMCBhbmQgMTI1LCBmb3JjaW5nIGZyYW1lIHJhdGVzIGhpZ2hlciB0aGFuIDEyNSBmcHMgaXMgbm90IHN1cHBvcnRlZGApOnc9MDxlP01hdGguZmxvb3IoMWUzL2UpOjV9LGUudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gZn0sZS51bnN0YWJsZV9uZXh0PWZ1bmN0aW9uKGUpe3N3aXRjaChmKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzp2YXIgdD0zO2JyZWFrO2RlZmF1bHQ6dD1mfXZhciBuPWY7Zj10O3RyeXtyZXR1cm4gZSgpfWZpbmFsbHl7Zj1ufX0sZS51bnN0YWJsZV9yZXF1ZXN0UGFpbnQ9ZnVuY3Rpb24oKXtnPSEwfSxlLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciBuPWY7Zj1lO3RyeXtyZXR1cm4gdCgpfWZpbmFsbHl7Zj1ufX0sZS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKHIsaSxhKXt2YXIgbz1lLnVuc3RhYmxlX25vdygpO3N3aXRjaCh0eXBlb2YgYT09YG9iamVjdGAmJmE_KGE9YS5kZWxheSxhPXR5cGVvZiBhPT1gbnVtYmVyYCYmMDxhP28rYTpvKTphPW8scil7Y2FzZSAxOnZhciBzPS0xO2JyZWFrO2Nhc2UgMjpzPTI1MDticmVhaztjYXNlIDU6cz0xMDczNzQxODIzO2JyZWFrO2Nhc2UgNDpzPTFlNDticmVhaztkZWZhdWx0OnM9NWUzfXJldHVybiBzPWErcyxyPXtpZDp1KyssY2FsbGJhY2s6aSxwcmlvcml0eUxldmVsOnIsc3RhcnRUaW1lOmEsZXhwaXJhdGlvblRpbWU6cyxzb3J0SW5kZXg6LTF9LGE-bz8oci5zb3J0SW5kZXg9YSx0KGwsciksbihjKT09PW51bGwmJnI9PT1uKGwpJiYoaD8odihDKSxDPS0xKTpoPSEwLG5lKHgsYS1vKSkpOihyLnNvcnRJbmRleD1zLHQoYyxyKSxtfHxwfHwobT0hMCxTfHwoUz0hMCxlZSgpKSkpLHJ9LGUudW5zdGFibGVfc2hvdWxkWWllbGQ9RSxlLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgdD1mO3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWY7Zj10O3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtmPW59fX19KSksaT1lKCgoZSx0KT0-e3QuZXhwb3J0cz1yKCl9KSksYT1lKChlPT57dmFyIHQ9bigpO2Z1bmN0aW9uIHIoZSl7dmFyIHQ9YGh0dHBzOi8vcmVhY3QuZGV2L2Vycm9ycy9gK2U7aWYoMTxhcmd1bWVudHMubGVuZ3RoKXt0Kz1gP2FyZ3NbXT1gK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbMV0pO2Zvcih2YXIgbj0yO248YXJndW1lbnRzLmxlbmd0aDtuKyspdCs9YCZhcmdzW109YCtlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW25dKX1yZXR1cm5gTWluaWZpZWQgUmVhY3QgZXJyb3IgI2ArZStgOyB2aXNpdCBgK3QrYCBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuYH1mdW5jdGlvbiBpKCl7fXZhciBhPXtkOntmOmkscjpmdW5jdGlvbigpe3Rocm93IEVycm9yKHIoNTIyKSl9LEQ6aSxDOmksTDppLG06aSxYOmksUzppLE06aX0scDowLGZpbmRET01Ob2RlOm51bGx9LG89U3ltYm9sLmZvcihgcmVhY3QucG9ydGFsYCkscz1TeW1ib2wuZm9yKGByZWFjdC5yZWNvdmVyYWJsZWApLGM9U3ltYm9sLmZvcihgcmVhY3Qub3B0aW1pc3RpY19rZXlgKTtmdW5jdGlvbiBsKGUsdCxuKXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJmFyZ3VtZW50c1szXSE9PXZvaWQgMD9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6byxrZXk6cj09bnVsbD9udWxsOnI9PT1jP2M6YGArcixjaGlsZHJlbjplLGNvbnRhaW5lckluZm86dCxpbXBsZW1lbnRhdGlvbjpufX12YXIgdT10Ll9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBkKGUsdCl7aWYoZT09PWBmb250YClyZXR1cm5gYDtpZih0eXBlb2YgdD09YHN0cmluZ2ApcmV0dXJuIHQ9PT1gdXNlLWNyZWRlbnRpYWxzYD90OmBgfWUuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWEsZS5icm93c2VyPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpzLF9yZWFzb246ZX19LGUuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsdCl7dmFyIG49Mjxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMl0hPT12b2lkIDA_YXJndW1lbnRzWzJdOm51bGw7aWYoIXR8fHQubm9kZVR5cGUhPT0xJiZ0Lm5vZGVUeXBlIT09OSYmdC5ub2RlVHlwZSE9PTExKXRocm93IEVycm9yKHIoMjk5KSk7cmV0dXJuIGwoZSx0LG51bGwsbil9LGUuZmx1c2hTeW5jPWZ1bmN0aW9uKGUpe3ZhciB0PXUuVCxuPWEucDt0cnl7aWYodS5UPW51bGwsYS5wPTIsZSlyZXR1cm4gZSgpfWZpbmFsbHl7dS5UPXQsYS5wPW4sYS5kLmYoKX19LGUucHJlY29ubmVjdD1mdW5jdGlvbihlLHQpe3R5cGVvZiBlPT1gc3RyaW5nYCYmKHQ_KHQ9dC5jcm9zc09yaWdpbix0PXR5cGVvZiB0PT1gc3RyaW5nYD90PT09YHVzZS1jcmVkZW50aWFsc2A_dDpgYDp2b2lkIDApOnQ9bnVsbCxhLmQuQyhlLHQpKX0sZS5wcmVmZXRjaEROUz1mdW5jdGlvbihlKXt0eXBlb2YgZT09YHN0cmluZ2AmJmEuZC5EKGUpfSxlLnByZWluaXQ9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZT09YHN0cmluZ2AmJnQmJnR5cGVvZiB0LmFzPT1gc3RyaW5nYCl7dmFyIG49dC5hcyxyPWQobix0LmNyb3NzT3JpZ2luKSxpPXR5cGVvZiB0LmludGVncml0eT09YHN0cmluZ2A_dC5pbnRlZ3JpdHk6dm9pZCAwLG89dHlwZW9mIHQuZmV0Y2hQcmlvcml0eT09YHN0cmluZ2A_dC5mZXRjaFByaW9yaXR5OnZvaWQgMDtuPT09YHN0eWxlYD9hLmQuUyhlLHR5cGVvZiB0LnByZWNlZGVuY2U9PWBzdHJpbmdgP3QucHJlY2VkZW5jZTp2b2lkIDAse2Nyb3NzT3JpZ2luOnIsaW50ZWdyaXR5OmksZmV0Y2hQcmlvcml0eTpvfSk6bj09PWBzY3JpcHRgJiZhLmQuWChlLHtjcm9zc09yaWdpbjpyLGludGVncml0eTppLGZldGNoUHJpb3JpdHk6byxub25jZTp0eXBlb2YgdC5ub25jZT09YHN0cmluZ2A_dC5ub25jZTp2b2lkIDB9KX19LGUucHJlaW5pdE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiBlPT1gc3RyaW5nYCl7aWYodHlwZW9mIHQ9PWBvYmplY3RgJiZ0KXtpZih0LmFzPT1udWxsfHx0LmFzPT09YHNjcmlwdGApe3ZhciBuPWQodC5hcyx0LmNyb3NzT3JpZ2luKTthLmQuTShlLHtjcm9zc09yaWdpbjpuLGludGVncml0eTp0eXBlb2YgdC5pbnRlZ3JpdHk9PWBzdHJpbmdgP3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZTp0eXBlb2YgdC5ub25jZT09YHN0cmluZ2A_dC5ub25jZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgdC5mZXRjaFByaW9yaXR5PT1gc3RyaW5nYD90LmZldGNoUHJpb3JpdHk6dm9pZCAwfSl9fWVsc2UgdD8_YS5kLk0oZSl9fSxlLnByZWxvYWQ9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZT09YHN0cmluZ2AmJnR5cGVvZiB0PT1gb2JqZWN0YCYmdCYmdHlwZW9mIHQuYXM9PWBzdHJpbmdgKXt2YXIgbj10LmFzLHI9ZChuLHQuY3Jvc3NPcmlnaW4pO2EuZC5MKGUsbix7Y3Jvc3NPcmlnaW46cixpbnRlZ3JpdHk6dHlwZW9mIHQuaW50ZWdyaXR5PT1gc3RyaW5nYD90LmludGVncml0eTp2b2lkIDAsbm9uY2U6dHlwZW9mIHQubm9uY2U9PWBzdHJpbmdgP3Qubm9uY2U6dm9pZCAwLHR5cGU6dHlwZW9mIHQudHlwZT09YHN0cmluZ2A_dC50eXBlOnZvaWQgMCxmZXRjaFByaW9yaXR5OnR5cGVvZiB0LmZldGNoUHJpb3JpdHk9PWBzdHJpbmdgP3QuZmV0Y2hQcmlvcml0eTp2b2lkIDAscmVmZXJyZXJQb2xpY3k6dHlwZW9mIHQucmVmZXJyZXJQb2xpY3k9PWBzdHJpbmdgP3QucmVmZXJyZXJQb2xpY3k6dm9pZCAwLGltYWdlU3JjU2V0OnR5cGVvZiB0LmltYWdlU3JjU2V0PT1gc3RyaW5nYD90LmltYWdlU3JjU2V0OnZvaWQgMCxpbWFnZVNpemVzOnR5cGVvZiB0LmltYWdlU2l6ZXM9PWBzdHJpbmdgP3QuaW1hZ2VTaXplczp2b2lkIDAsbWVkaWE6dHlwZW9mIHQubWVkaWE9PWBzdHJpbmdgP3QubWVkaWE6dm9pZCAwfSl9fSxlLnByZWxvYWRNb2R1bGU9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZT09YHN0cmluZ2Ape2lmKHQpe3ZhciBuPWQodC5hcyx0LmNyb3NzT3JpZ2luKTthLmQubShlLHthczp0eXBlb2YgdC5hcz09YHN0cmluZ2AmJnQuYXMhPT1gc2NyaXB0YD90LmFzOnZvaWQgMCxjcm9zc09yaWdpbjpuLGludGVncml0eTp0eXBlb2YgdC5pbnRlZ3JpdHk9PWBzdHJpbmdgP3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZTp0eXBlb2YgdC5ub25jZT09YHN0cmluZ2A_dC5ub25jZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgdC5mZXRjaFByaW9yaXR5PT1gc3RyaW5nYD90LmZldGNoUHJpb3JpdHk6dm9pZCAwfSl9ZWxzZSBhLmQubShlKX19LGUucmVxdWVzdEZvcm1SZXNldD1mdW5jdGlvbihlKXthLmQucihlKX0sZS51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1mdW5jdGlvbihlLHQpe3JldHVybiBlKHQpfSxlLnVzZUZvcm1TdGF0ZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHUuSC51c2VGb3JtU3RhdGUoZSx0LG4pfSxlLnVzZUZvcm1TdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ILnVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzKCl9LGUudmVyc2lvbj1gMTkuMy4xYH0pKSxvPWUoKChlLHQpPT57ZnVuY3Rpb24gbigpe2lmKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX188YHVgJiZ0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFPT1gZnVuY3Rpb25gKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0Uobil9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19bigpLHQuZXhwb3J0cz1hKCl9KSkscz1lKChlPT57dmFyIHQ9aSgpLHI9bigpLGE9bygpO2Z1bmN0aW9uIHMoZSl7dmFyIHQ9YGh0dHBzOi8vcmVhY3QuZGV2L2Vycm9ycy9gK2U7aWYoMTxhcmd1bWVudHMubGVuZ3RoKXt0Kz1gP2FyZ3NbXT1gK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbMV0pO2Zvcih2YXIgbj0yO248YXJndW1lbnRzLmxlbmd0aDtuKyspdCs9YCZhcmdzW109YCtlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW25dKX1yZXR1cm5gTWluaWZpZWQgUmVhY3QgZXJyb3IgI2ArZStgOyB2aXNpdCBgK3QrYCBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuYH1mdW5jdGlvbiBjKGUpe3JldHVybiEoIWV8fGUubm9kZVR5cGUhPT0xJiZlLm5vZGVUeXBlIT09OSYmZS5ub2RlVHlwZSE9PTExKX1mdW5jdGlvbiBsKGUpe2Zvcih2YXIgdD1lLG49dDtuJiYhbi5hbHRlcm5hdGU7KXQ9bix0LmZsYWdzJjQwOTgmJihlPXQucmV0dXJuKSxuPXQucmV0dXJuO2Zvcig7dC5yZXR1cm47KXQ9dC5yZXR1cm47cmV0dXJuIHQudGFnPT09Mz9lOm51bGx9ZnVuY3Rpb24gdShlKXtpZihlLnRhZz09PTEzKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYodD09PW51bGwmJihlPWUuYWx0ZXJuYXRlLGUhPT1udWxsJiYodD1lLm1lbW9pemVkU3RhdGUpKSx0IT09bnVsbClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIGQoZSl7aWYoZS50YWc9PT0zMSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKHQ9PT1udWxsJiYoZT1lLmFsdGVybmF0ZSxlIT09bnVsbCYmKHQ9ZS5tZW1vaXplZFN0YXRlKSksdCE9PW51bGwpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBmKGUpe2lmKGwoZSkhPT1lKXRocm93IEVycm9yKHMoMTg4KSl9ZnVuY3Rpb24gcChlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZighdCl7aWYodD1sKGUpLHQ9PT1udWxsKXRocm93IEVycm9yKHMoMTg4KSk7cmV0dXJuIHQ9PT1lP2U6bnVsbH1mb3IodmFyIG49ZSxyPXQ7Oyl7dmFyIGk9bi5yZXR1cm47aWYoaT09PW51bGwpYnJlYWs7dmFyIGE9aS5hbHRlcm5hdGU7aWYoYT09PW51bGwpe2lmKHI9aS5yZXR1cm4sciE9PW51bGwpe249cjtjb250aW51ZX1icmVha31pZihpLmNoaWxkPT09YS5jaGlsZCl7Zm9yKGE9aS5jaGlsZDthOyl7aWYoYT09PW4pcmV0dXJuIGYoaSksZTtpZihhPT09cilyZXR1cm4gZihpKSx0O2E9YS5zaWJsaW5nfXRocm93IEVycm9yKHMoMTg4KSl9aWYobi5yZXR1cm4hPT1yLnJldHVybiluPWkscj1hO2Vsc2V7Zm9yKHZhciBvPSExLGM9aS5jaGlsZDtjOyl7aWYoYz09PW4pe289ITAsbj1pLHI9YTticmVha31pZihjPT09cil7bz0hMCxyPWksbj1hO2JyZWFrfWM9Yy5zaWJsaW5nfWlmKCFvKXtmb3IoYz1hLmNoaWxkO2M7KXtpZihjPT09bil7bz0hMCxuPWEscj1pO2JyZWFrfWlmKGM9PT1yKXtvPSEwLHI9YSxuPWk7YnJlYWt9Yz1jLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IocygxODkpKX19aWYobi5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKHMoMTkwKSl9aWYobi50YWchPT0zKXRocm93IEVycm9yKHMoMTg4KSk7cmV0dXJuIG4uc3RhdGVOb2RlLmN1cnJlbnQ9PT1uP2U6dH1mdW5jdGlvbiBtKGUpe3ZhciB0PWUudGFnO2lmKHQ9PT01fHx0PT09MjZ8fHQ9PT0yN3x8dD09PTYpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2lmKHQ9bShlKSx0IT09bnVsbClyZXR1cm4gdDtlPWUuc2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKGUsdCxuLHIsaSxhKXtmb3IoO2UhPT1udWxsOyl7aWYoKGUudGFnPT09NXx8ZS50YWc9PT0yN3x8ZS50YWc9PT02KSYmbihlLHIsaSxhKXx8KGUudGFnIT09MjJ8fGUubWVtb2l6ZWRTdGF0ZT09PW51bGwpJiYodHx8ZS50YWchPT01JiZlLnRhZyE9PTI3KSYmaChlLmNoaWxkLHQsbixyLGksYSkpcmV0dXJuITA7ZT1lLnNpYmxpbmd9cmV0dXJuITF9ZnVuY3Rpb24gZyhlKXtmb3IoZT1lLnJldHVybjtlIT09bnVsbDspe2lmKGUudGFnPT09M3x8ZS50YWc9PT01fHxlLnRhZz09PTI3KXJldHVybiBlO2U9ZS5yZXR1cm59cmV0dXJuIG51bGx9ZnVuY3Rpb24gXyhlKXt2YXIgdD0hMTtmb3IoZT1lLnJldHVybjtlIT09bnVsbCYmKGUudGFnPT09NCYmKHQ9ITApLGUudGFnIT09MyYmZS50YWchPT01JiZlLnRhZyE9PTI3KTspZT1lLnJldHVybjtyZXR1cm4gdH1mdW5jdGlvbiB2KGUpe3ZhciB0PVtudWxsLG51bGxdLG49ZyhlKTtyZXR1cm4gbj09PW51bGx8fHkodCxlLG4uY2hpbGQse2ZvdW5kU2VsZjohMX0pLHR9ZnVuY3Rpb24geShlLHQsbixyKXtmb3IoO24hPT1udWxsOyl7aWYobj09PXQpci5mb3VuZFNlbGY9ITA7ZWxzZSBpZihuLnRhZz09PTV8fG4udGFnPT09Mjd8fG4udGFnPT09Nil7aWYoci5mb3VuZFNlbGYpcmV0dXJuIGVbMV09biwhMDtlWzBdPW59ZWxzZSBpZigobi50YWchPT0yMnx8bi5tZW1vaXplZFN0YXRlPT09bnVsbCkmJnkoZSx0LG4uY2hpbGQscikpcmV0dXJuITA7bj1uLnNpYmxpbmd9cmV0dXJuITF9ZnVuY3Rpb24gYihlKXtzd2l0Y2goZS50YWcpe2Nhc2UgNTpjYXNlIDI3OmNhc2UgNjpyZXR1cm4gZS5zdGF0ZU5vZGU7Y2FzZSAzOnJldHVybiBlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2RlZmF1bHQ6dGhyb3cgRXJyb3Iocyg1NTkpKX19dmFyIHg9bnVsbCxTPW51bGw7ZnVuY3Rpb24gQyhlLHQsbil7cmV0dXJuIGU9PT1ufHxlPT09dCYmKHg9ZSwhMCl9ZnVuY3Rpb24gdyhlLHQsbil7cmV0dXJuIGU9PT1uPyhTPWUsITEpOmU9PT10JiYoUyE9PW51bGwmJih4PWUpLCEwKX1mdW5jdGlvbiBUKGUpe2lmKGU9PT1udWxsKXJldHVybiBudWxsO2RvIGU9ZT09PW51bGw_bnVsbDplLnJldHVybjt3aGlsZShlJiZlLnRhZyE9PTUmJmUudGFnIT09MjcmJmUudGFnIT09Myk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gRShlLHQsbil7Zm9yKHZhciByPTAsaT1lO2k7aT1uKGkpKXIrKztpPTA7Zm9yKHZhciBhPXQ7YTthPW4oYSkpaSsrO2Zvcig7MDxyLWk7KWU9bihlKSxyLS07Zm9yKDswPGktcjspdD1uKHQpLGktLTtmb3IoO3ItLTspe2lmKGU9PT10fHx0IT09bnVsbCYmZT09PXQuYWx0ZXJuYXRlKXJldHVybiBlO2U9bihlKSx0PW4odCl9cmV0dXJuIG51bGx9dmFyIEQ9T2JqZWN0LmFzc2lnbixlZT1TeW1ib2wuZm9yKGByZWFjdC5lbGVtZW50YCksTz1TeW1ib2wuZm9yKGByZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudGApLHRlPVN5bWJvbC5mb3IoYHJlYWN0LnBvcnRhbGApLG5lPVN5bWJvbC5mb3IoYHJlYWN0LmZyYWdtZW50YCkscmU9U3ltYm9sLmZvcihgcmVhY3Quc3RyaWN0X21vZGVgKSxpZT1TeW1ib2wuZm9yKGByZWFjdC5wcm9maWxlcmApLGs9U3ltYm9sLmZvcihgcmVhY3QuY29uc3VtZXJgKSxBPVN5bWJvbC5mb3IoYHJlYWN0LmNvbnRleHRgKSxhZT1TeW1ib2wuZm9yKGByZWFjdC5mb3J3YXJkX3JlZmApLG9lPVN5bWJvbC5mb3IoYHJlYWN0LnN1c3BlbnNlYCksc2U9U3ltYm9sLmZvcihgcmVhY3Quc3VzcGVuc2VfbGlzdGApLGNlPVN5bWJvbC5mb3IoYHJlYWN0Lm1lbW9gKSxsZT1TeW1ib2wuZm9yKGByZWFjdC5sYXp5YCksdWU9U3ltYm9sLmZvcihgcmVhY3QuYWN0aXZpdHlgKSxkZT1TeW1ib2wuZm9yKGByZWFjdC5sZWdhY3lfaGlkZGVuYCksZmU9U3ltYm9sLmZvcihgcmVhY3QubWVtb19jYWNoZV9zZW50aW5lbGApLHBlPVN5bWJvbC5mb3IoYHJlYWN0LnZpZXdfdHJhbnNpdGlvbmApLG1lPVN5bWJvbC5mb3IoYHJlYWN0LnJlY292ZXJhYmxlYCksaGU9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIGdlKGUpe3JldHVybiB0eXBlb2YgZSE9YG9iamVjdGB8fCFlP251bGw6KGU9aGUmJmVbaGVdfHxlW2BAQGl0ZXJhdG9yYF0sdHlwZW9mIGU9PWBmdW5jdGlvbmA_ZTpudWxsKX12YXIgX2U9U3ltYm9sLmZvcihgcmVhY3QuY2xpZW50LnJlZmVyZW5jZWApO2Z1bmN0aW9uIHZlKGUpe2lmKGU9PW51bGwpcmV0dXJuIG51bGw7aWYodHlwZW9mIGU9PWBmdW5jdGlvbmApcmV0dXJuIGUuJCR0eXBlb2Y9PT1fZT9udWxsOmUuZGlzcGxheU5hbWV8fGUubmFtZXx8bnVsbDtpZih0eXBlb2YgZT09YHN0cmluZ2ApcmV0dXJuIGU7c3dpdGNoKGUpe2Nhc2UgbmU6cmV0dXJuYEZyYWdtZW50YDtjYXNlIGllOnJldHVybmBQcm9maWxlcmA7Y2FzZSByZTpyZXR1cm5gU3RyaWN0TW9kZWA7Y2FzZSBvZTpyZXR1cm5gU3VzcGVuc2VgO2Nhc2Ugc2U6cmV0dXJuYFN1c3BlbnNlTGlzdGA7Y2FzZSB1ZTpyZXR1cm5gQWN0aXZpdHlgO2Nhc2UgcGU6cmV0dXJuYFZpZXdUcmFuc2l0aW9uYH1pZih0eXBlb2YgZT09YG9iamVjdGApc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgdGU6cmV0dXJuYFBvcnRhbGA7Y2FzZSBBOnJldHVybiBlLmRpc3BsYXlOYW1lfHxgQ29udGV4dGA7Y2FzZSBrOnJldHVybihlLl9jb250ZXh0LmRpc3BsYXlOYW1lfHxgQ29udGV4dGApK2AuQ29uc3VtZXJgO2Nhc2UgYWU6dmFyIHQ9ZS5yZW5kZXI7cmV0dXJuIGU9ZS5kaXNwbGF5TmFtZSxlfHw9KGU9dC5kaXNwbGF5TmFtZXx8dC5uYW1lfHxgYCxlPT09YGA_YEZvcndhcmRSZWZgOmBGb3J3YXJkUmVmKGArZStgKWApLGU7Y2FzZSBjZTpyZXR1cm4gdD1lLmRpc3BsYXlOYW1lfHxudWxsLHQ9PT1udWxsP3ZlKGUudHlwZSl8fGBNZW1vYDp0O2Nhc2UgbGU6dD1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIHZlKGUodCkpfWNhdGNoe319cmV0dXJuIG51bGx9dmFyIHllPUFycmF5LmlzQXJyYXksaj1yLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxNPWEuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLGJlPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0seGU9W10sU2U9LTE7ZnVuY3Rpb24gQ2UoZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gd2UoZSl7MD5TZXx8KGUuY3VycmVudD14ZVtTZV0seGVbU2VdPW51bGwsU2UtLSl9ZnVuY3Rpb24gVGUoZSx0KXtTZSsrLHhlW1NlXT1lLmN1cnJlbnQsZS5jdXJyZW50PXR9dmFyIEVlPUNlKG51bGwpLERlPUNlKG51bGwpLE9lPUNlKG51bGwpLGtlPUNlKG51bGwpO2Z1bmN0aW9uIEFlKGUsdCl7c3dpdGNoKFRlKE9lLHQpLFRlKERlLGUpLFRlKEVlLG51bGwpLHQubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOmU9KGU9dC5kb2N1bWVudEVsZW1lbnQpJiYoZT1lLm5hbWVzcGFjZVVSSSk_dXAoZSk6MDticmVhaztkZWZhdWx0OmlmKGU9dC50YWdOYW1lLHQ9dC5uYW1lc3BhY2VVUkkpdD11cCh0KSxlPWRwKHQsZSk7ZWxzZSBzd2l0Y2goZSl7Y2FzZWBzdmdgOmU9MTticmVhaztjYXNlYG1hdGhgOmU9MjticmVhaztkZWZhdWx0OmU9MH19d2UoRWUpLFRlKEVlLGUpfWZ1bmN0aW9uIGplKCl7d2UoRWUpLHdlKERlKSx3ZShPZSl9ZnVuY3Rpb24gTWUoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO3QhPT1udWxsJiYoc2guX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsVGUoa2UsZSkpLHQ9RWUuY3VycmVudDt2YXIgbj1kcCh0LGUudHlwZSk7dCE9PW4mJihUZShEZSxlKSxUZShFZSxuKSl9ZnVuY3Rpb24gTmUoZSl7RGUuY3VycmVudD09PWUmJih3ZShFZSksd2UoRGUpKSxrZS5jdXJyZW50PT09ZSYmKHdlKGtlKSxzaC5fY3VycmVudFZhbHVlPWJlKX12YXIgUGUsRmU7ZnVuY3Rpb24gSWUoZSl7aWYoUGU9PT12b2lkIDApdHJ5e3Rocm93IEVycm9yKCl9Y2F0Y2goZSl7dmFyIHQ9ZS5zdGFjay50cmltKCkubWF0Y2goL1xuKCAqKGF0ICk_KS8pO1BlPXQmJnRbMV18fGBgLEZlPS0xPGUuc3RhY2suaW5kZXhPZihgCiAgICBhdGApP2AgKDxhbm9ueW1vdXM-KWA6LTE8ZS5zdGFjay5pbmRleE9mKGBAYCk_YEB1bmtub3duOjA6MGA6YGB9cmV0dXJuYApgK1BlK2UrRmV9dmFyIExlPSExO2Z1bmN0aW9uIFJlKGUsdCl7aWYoIWV8fExlKXJldHVybmBgO0xlPSEwO3ZhciBuPUVycm9yLnByZXBhcmVTdGFja1RyYWNlO0Vycm9yLnByZXBhcmVTdGFja1RyYWNlPXZvaWQgMDt0cnl7dmFyIHI9e0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdDpmdW5jdGlvbigpe3RyeXtpZih0KXt2YXIgbj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9O2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLHR5cGVvZiBSZWZsZWN0PT1gb2JqZWN0YCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfW49ITE7dHJ5e3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5wcm90b3R5cGUsYHByb3BzYCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwcm9wcyIse2NvbmZpZ3VyYWJsZTohMCxzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLG49ITAsbmV3IGV9ZmluYWxseXtuJiYoaT09PXZvaWQgMD9kZWxldGUgZS5wcm90b3R5cGUucHJvcHM6T2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwcm9wcyIsaSkpfX19ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9KG49ZSgpKSYmdHlwZW9mIG4uY2F0Y2g9PWBmdW5jdGlvbmAmJm4uY2F0Y2goZnVuY3Rpb24oKXt9KX19Y2F0Y2goZSl7aWYoZSYmciYmdHlwZW9mIGUuc3RhY2s9PWBzdHJpbmdgKXJldHVybltlLnN0YWNrLHIuc3RhY2tdfXJldHVybltudWxsLG51bGxdfX07ci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWU9YERldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdGA7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCxgbmFtZWApO2kmJmkuY29uZmlndXJhYmxlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsIm5hbWUiLHt2YWx1ZTpgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290YH0pO3ZhciBhPXIuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290KCksbz1hWzBdLHM9YVsxXTtpZihvJiZzKXt2YXIgYz1vLnNwbGl0KGAKYCksbD1zLnNwbGl0KGAKYCk7Zm9yKGk9cj0wO3I8Yy5sZW5ndGgmJiFjW3JdLmluY2x1ZGVzKGBEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3RgKTspcisrO2Zvcig7aTxsLmxlbmd0aCYmIWxbaV0uaW5jbHVkZXMoYERldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdGApOylpKys7aWYocj09PWMubGVuZ3RofHxpPT09bC5sZW5ndGgpZm9yKHI9Yy5sZW5ndGgtMSxpPWwubGVuZ3RoLTE7MTw9ciYmMDw9aSYmY1tyXSE9PWxbaV07KWktLTtmb3IoOzE8PXImJjA8PWk7ci0tLGktLSlpZihjW3JdIT09bFtpXSl7aWYociE9PTF8fGkhPT0xKWRvIGlmKHItLSxpLS0sMD5pfHxjW3JdIT09bFtpXSl7dmFyIHU9YApgK2Nbcl0ucmVwbGFjZShgIGF0IG5ldyBgLGAgYXQgYCk7cmV0dXJuIGUuZGlzcGxheU5hbWUmJnUuaW5jbHVkZXMoYDxhbm9ueW1vdXM-YCkmJih1PXUucmVwbGFjZShgPGFub255bW91cz5gLGUuZGlzcGxheU5hbWUpKSx1fXdoaWxlKDE8PXImJjA8PWkpO2JyZWFrfX19ZmluYWxseXtMZT0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT1ufXJldHVybihuPWU_ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOmBgKT9JZShuKTpgYH1mdW5jdGlvbiB6ZShlLHQpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gSWUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBJZShgTGF6eWApO2Nhc2UgMTM6cmV0dXJuIGUuY2hpbGQhPT10JiZ0IT09bnVsbD9JZShgU3VzcGVuc2UgRmFsbGJhY2tgKTpJZShgU3VzcGVuc2VgKTtjYXNlIDE5OnJldHVybiBJZShgU3VzcGVuc2VMaXN0YCk7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIFJlKGUudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gUmUoZS50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBSZShlLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIEllKGBBY3Rpdml0eWApO2Nhc2UgMzA6cmV0dXJuIEllKGBWaWV3VHJhbnNpdGlvbmApO2RlZmF1bHQ6cmV0dXJuYGB9fWZ1bmN0aW9uIEJlKGUpe3RyeXt2YXIgdD1gYCxuPW51bGw7ZG8gdCs9emUoZSxuKSxuPWUsZT1lLnJldHVybjt3aGlsZShlKTtyZXR1cm4gdH1jYXRjaChlKXtyZXR1cm5gCkVycm9yIGdlbmVyYXRpbmcgc3RhY2s6IGArZS5tZXNzYWdlK2AKYCtlLnN0YWNrfX12YXIgVmU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxIZT10LnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssVWU9dC51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxXZT10LnVuc3RhYmxlX3Nob3VsZFlpZWxkLEdlPXQudW5zdGFibGVfcmVxdWVzdFBhaW50LEtlPXQudW5zdGFibGVfbm93LHFlPXQudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsSmU9dC51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxZZT10LnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LFhlPXQudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksWmU9dC51bnN0YWJsZV9Mb3dQcmlvcml0eSxRZT10LnVuc3RhYmxlX0lkbGVQcmlvcml0eSwkZT10LmxvZyxldD10LnVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlLHR0PW51bGwsbnQ9bnVsbDtmdW5jdGlvbiBydChlKXtpZih0eXBlb2YgJGU9PWBmdW5jdGlvbmAmJmV0KGUpLG50JiZ0eXBlb2YgbnQuc2V0U3RyaWN0TW9kZT09YGZ1bmN0aW9uYCl0cnl7bnQuc2V0U3RyaWN0TW9kZSh0dCxlKX1jYXRjaHt9fXZhciBpdD1NYXRoLmNsejMyP01hdGguY2x6MzI6c3QsYXQ9TWF0aC5sb2csb3Q9TWF0aC5MTjI7ZnVuY3Rpb24gc3QoZSl7cmV0dXJuIGU-Pj49MCxlPT09MD8zMjozMS0oYXQoZSkvb3R8MCl8MH12YXIgY3Q9MjU2LGx0PTI2MjE0NCx1dD00MTk0MzA0O2Z1bmN0aW9uIGR0KGUpe3ZhciB0PWUmNDI7aWYodCE9PTApcmV0dXJuIHQ7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OnJldHVybiA2NDtjYXNlIDEyODpyZXR1cm4gMTI4O2Nhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpyZXR1cm4gZSYtZTtjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBlJjM5MzIxNjA7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuIGUmNjI5MTQ1NjA7Y2FzZSA2NzEwODg2NDpyZXR1cm4gNjcxMDg4NjQ7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGZ0KGUsdCxuKXt2YXIgcj1lLnBlbmRpbmdMYW5lcztpZihyPT09MClyZXR1cm4gMDt2YXIgaT0wLGE9ZS5zdXNwZW5kZWRMYW5lcyxvPWUucGluZ2VkTGFuZXM7ZT1lLndhcm1MYW5lczt2YXIgcz1yJjEzNDIxNzcyNztyZXR1cm4gcz09PTA_KHM9ciZ-YSxzPT09MD9vPT09MD9ufHwobj1yJn5lLG4hPT0wJiYoaT1kdChuKSkpOmk9ZHQobyk6aT1kdChzKSk6KHI9cyZ-YSxyPT09MD8obyY9cyxvPT09MD9ufHwobj1zJn5lLG4hPT0wJiYoaT1kdChuKSkpOmk9ZHQobykpOmk9ZHQocikpLGk9PT0wPzA6dCE9PTAmJnQhPT1pJiYodCZhKT09PTAmJihhPWkmLWksbj10Ji10LGE-PW58fGE9PT0zMiYmbiY0MTk0MDQ4KT90Oml9ZnVuY3Rpb24gcHQoZSx0KXtyZXR1cm4oZS5wZW5kaW5nTGFuZXMmfihlLnN1c3BlbmRlZExhbmVzJn5lLnBpbmdlZExhbmVzKSZ0KT09PTB9ZnVuY3Rpb24gbXQoZSx0KXt0JjgmJih0fD10JjMyKTt2YXIgbj1lLmVudGFuZ2xlZExhbmVzO2lmKG4hPT0wKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj10OzA8bjspe3ZhciByPTMxLWl0KG4pLGk9MTw8cjt0fD1lW3JdLG4mPX5pfXJldHVybiB0fWZ1bmN0aW9uIGh0KGUsdCl7c3dpdGNoKGUpe2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OmNhc2UgODpjYXNlIDY0OnJldHVybiB0KzI1MDtjYXNlIDE2OmNhc2UgMzI6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIHQrNWUzO2Nhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOnJldHVybi0xO2Nhc2UgNjcxMDg4NjQ6Y2FzZSAxMzQyMTc3Mjg6Y2FzZSAyNjg0MzU0NTY6Y2FzZSA1MzY4NzA5MTI6Y2FzZSAxMDczNzQxODI0OnJldHVybi0xO2RlZmF1bHQ6cmV0dXJuLTF9fWZ1bmN0aW9uIGd0KCl7dmFyIGU9dXQ7cmV0dXJuIHV0PDw9MSwhKHV0JjYyOTE0NTYwKSYmKHV0PTQxOTQzMDQpLGV9ZnVuY3Rpb24gX3QoZSl7Zm9yKHZhciB0PVtdLG49MDszMT5uO24rKyl0LnB1c2goZSk7cmV0dXJuIHR9ZnVuY3Rpb24gdnQoZSx0KXtlLnBlbmRpbmdMYW5lc3w9dCx0IT09MjY4NDM1NDU2JiYoZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLndhcm1MYW5lcz0wKX1mdW5jdGlvbiB5dChlLHQsbixyLGksYSl7dmFyIG89ZS5wZW5kaW5nTGFuZXM7ZS5wZW5kaW5nTGFuZXM9bixlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5lbnRhbmdsZWRMYW5lcyY9bixlLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzJj1uLGUuc2hlbGxTdXNwZW5kQ291bnRlcj0wO3ZhciBzPWUuZW50YW5nbGVtZW50cyxjPWUuZXhwaXJhdGlvblRpbWVzLGw9ZS5oaWRkZW5VcGRhdGVzO2ZvcihuPW8mfm47MDxuOyl7dmFyIHU9MzEtaXQobiksZD0xPDx1O3NbdV09MCxjW3VdPS0xO3ZhciBmPWxbdV07aWYoZiE9PW51bGwpZm9yKGxbdV09bnVsbCx1PTA7dTxmLmxlbmd0aDt1Kyspe3ZhciBwPWZbdV07cCE9PW51bGwmJihwLmxhbmUmPS01MzY4NzA5MTMpfW4mPX5kfXIhPT0wJiZidChlLHIsMCksYSE9PTAmJmk9PT0wJiZlLnRhZyE9PTAmJihlLnN1c3BlbmRlZExhbmVzfD1hJn4obyZ-dCkpfWZ1bmN0aW9uIGJ0KGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCxlLnN1c3BlbmRlZExhbmVzJj1-dDt2YXIgcj0zMS1pdCh0KTtlLmVudGFuZ2xlZExhbmVzfD10LGUuZW50YW5nbGVtZW50c1tyXT1lLmVudGFuZ2xlbWVudHNbcl18MTA3Mzc0MTgyNHxuJjI2MTkzMH1mdW5jdGlvbiB4dChlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgcj0zMS1pdChuKSxpPTE8PHI7aSZ0fGVbcl0mdCYmKGVbcl18PXQpLG4mPX5pfX1mdW5jdGlvbiBTdChlLHQpe3ZhciBuPXQmLXQ7cmV0dXJuIG49biY0Mj8xOkN0KG4pLChuJihlLnN1c3BlbmRlZExhbmVzfHQpKT09PTA_bjowfWZ1bmN0aW9uIEN0KGUpe3N3aXRjaChlKXtjYXNlIDI6ZT0xO2JyZWFrO2Nhc2UgODplPTQ7YnJlYWs7Y2FzZSAzMjplPTE2O2JyZWFrO2Nhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOmNhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmU9MTI4O2JyZWFrO2Nhc2UgMjY4NDM1NDU2OmU9MTM0MjE3NzI4O2JyZWFrO2RlZmF1bHQ6ZT0wfXJldHVybiBlfWZ1bmN0aW9uIHd0KGUpe3JldHVybiBlJj0tZSwyPGU_ODxlP2UmMTM0MjE3NzI3PzMyOjI2ODQzNTQ1Njo4OjJ9ZnVuY3Rpb24gVHQoKXt2YXIgZT1NLnA7cmV0dXJuIGU9PT0wPyhlPXdpbmRvdy5ldmVudCxlPT09dm9pZCAwPzMyOkNoKGUudHlwZSkpOmV9ZnVuY3Rpb24gRXQoZSx0KXt2YXIgbj1NLnA7dHJ5e3JldHVybiBNLnA9ZSx0KCl9ZmluYWxseXtNLnA9bn19dmFyIE49TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksRHQ9YF9fcmVhY3RGaWJlciRgK04sT3Q9YF9fcmVhY3RQcm9wcyRgK04sa3Q9YF9fcmVhY3RDb250YWluZXIkYCtOLEF0PWBfX3JlYWN0RXZlbnRzJGArTixqdD1gX19yZWFjdExpc3RlbmVycyRgK04sTXQ9YF9fcmVhY3RIYW5kbGVzJGArTixOdD1gX19yZWFjdFJlc291cmNlcyRgK04sUHQ9YF9fcmVhY3RNYXJrZXIkYCtOLEZ0PWBfX3JlYWN0TG9hZCRgK047ZnVuY3Rpb24gSXQoZSl7ZGVsZXRlIGVbRHRdLGRlbGV0ZSBlW090XSxkZWxldGUgZVtqdF0sZGVsZXRlIGVbTXRdfWZ1bmN0aW9uIEx0KGUpe3ZhciB0O2lmKHQ9ZVtEdF0pcmV0dXJuIHQ7Zm9yKHZhciBuPWUucGFyZW50Tm9kZTtuOyl7aWYodD1uW2t0XXx8bltEdF0pe2lmKG49dC5hbHRlcm5hdGUsdC5jaGlsZCE9PW51bGx8fG4hPT1udWxsJiZuLmNoaWxkIT09bnVsbClmb3IoZT1mbShlKTtlIT09bnVsbDspe2lmKG49ZVtEdF0pcmV0dXJuIG47ZT1mbShlKX1yZXR1cm4gdH1lPW4sbj1lLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUnQoZSl7aWYoZT1lW0R0XXx8ZVtrdF0pe3ZhciB0PWUudGFnO2lmKHQ9PT01fHx0PT09Nnx8dD09PTEzfHx0PT09MzF8fHQ9PT0yNnx8dD09PTI3fHx0PT09MylyZXR1cm4gZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB6dChlKXt2YXIgdD1lLnRhZztpZih0PT09NXx8dD09PTI2fHx0PT09Mjd8fHQ9PT02KXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihzKDMzKSl9ZnVuY3Rpb24gQnQoZSl7dmFyIHQ9ZVtOdF07cmV0dXJuIHR8fD1lW050XT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSx0fWZ1bmN0aW9uIFZ0KGUpe2VbUHRdPSEwfWZ1bmN0aW9uIEh0KGUpe2VbRnRdPXZvaWQgMH12YXIgVXQ9bmV3IFNldCxXdD17fTtmdW5jdGlvbiBHdChlLHQpe0t0KGUsdCksS3QoZStgQ2FwdHVyZWAsdCl9ZnVuY3Rpb24gS3QoZSx0KXtmb3IoV3RbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspVXQuYWRkKHRbZV0pfXZhciBxdD1SZWdFeHAoYF5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiRgKSxKdD17fSxZdD17fTtmdW5jdGlvbiBYdChlKXtyZXR1cm4gVmUuY2FsbChZdCxlKT8hMDpWZS5jYWxsKEp0LGUpPyExOnF0LnRlc3QoZSk_WXRbZV09ITA6KEp0W2VdPSEwLCExKX12YXIgUD0hMTtmdW5jdGlvbiBadCgpe3ZhciBlPVA7cmV0dXJuIFA9ITEsZX1mdW5jdGlvbiBRdChlLHQsbil7aWYoWHQodCkpe2lmKG49PT1udWxsKWUucmVtb3ZlQXR0cmlidXRlKHQpO2Vsc2V7c3dpdGNoKHR5cGVvZiBuKXtjYXNlYHVuZGVmaW5lZGA6Y2FzZWBmdW5jdGlvbmA6Y2FzZWBzeW1ib2xgOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybjtjYXNlYGJvb2xlYW5gOnZhciByPXQudG9Mb3dlckNhc2UoKS5zbGljZSgwLDUpO2lmKHIhPT1gZGF0YS1gJiZyIT09YGFyaWEtYCl7ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJufX1lLnNldEF0dHJpYnV0ZSh0LG4pfX19ZnVuY3Rpb24gJHQoZSx0LG4pe2lmKG49PT1udWxsKWUucmVtb3ZlQXR0cmlidXRlKHQpO2Vsc2V7c3dpdGNoKHR5cGVvZiBuKXtjYXNlYHVuZGVmaW5lZGA6Y2FzZWBmdW5jdGlvbmA6Y2FzZWBzeW1ib2xgOmNhc2VgYm9vbGVhbmA6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJufWUuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIGVuKGUsdCxuLHIpe2lmKHI9PT1udWxsKWUucmVtb3ZlQXR0cmlidXRlKG4pO2Vsc2V7c3dpdGNoKHR5cGVvZiByKXtjYXNlYHVuZGVmaW5lZGA6Y2FzZWBmdW5jdGlvbmA6Y2FzZWBzeW1ib2xgOmNhc2VgYm9vbGVhbmA6ZS5yZW1vdmVBdHRyaWJ1dGUobik7cmV0dXJufWUuc2V0QXR0cmlidXRlTlModCxuLHIpfX1mdW5jdGlvbiB0bihlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2VgYmlnaW50YDpjYXNlYGJvb2xlYW5gOmNhc2VgbnVtYmVyYDpjYXNlYHN0cmluZ2A6Y2FzZWB1bmRlZmluZWRgOnJldHVybiBlO2Nhc2Vgb2JqZWN0YDpyZXR1cm4gZTtkZWZhdWx0OnJldHVybmBgfX1mdW5jdGlvbiBubihlKXt2YXIgdD1lLnR5cGU7cmV0dXJuKGU9ZS5ub2RlTmFtZSkmJmUudG9Mb3dlckNhc2UoKT09PWBpbnB1dGAmJih0PT09YGNoZWNrYm94YHx8dD09PWByYWRpb2ApfWZ1bmN0aW9uIHJuKGUsdCxuKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUuY29uc3RydWN0b3IucHJvdG90eXBlLHQpO2lmKCFlLmhhc093blByb3BlcnR5KHQpJiZyIT09dm9pZCAwJiZ0eXBlb2Ygci5nZXQ9PWBmdW5jdGlvbmAmJnR5cGVvZiByLnNldD09YGZ1bmN0aW9uYCl7dmFyIGk9ci5nZXQsYT1yLnNldDtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLmNhbGwodGhpcyl9LHNldDpmdW5jdGlvbihlKXtuPWBgK2UsYS5jYWxsKHRoaXMsZSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7ZW51bWVyYWJsZTpyLmVudW1lcmFibGV9KSx7Z2V0VmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sc2V0VmFsdWU6ZnVuY3Rpb24oZSl7bj1gYCtlfSxzdG9wVHJhY2tpbmc6ZnVuY3Rpb24oKXtlLl92YWx1ZVRyYWNrZXI9bnVsbCxkZWxldGUgZVt0XX19fX1mdW5jdGlvbiBhbihlKXtpZighZS5fdmFsdWVUcmFja2VyKXt2YXIgdD1ubihlKT9gY2hlY2tlZGA6YHZhbHVlYDtlLl92YWx1ZVRyYWNrZXI9cm4oZSx0LGBgK2VbdF0pfX1mdW5jdGlvbiBvbihlKXtpZighZSlyZXR1cm4hMTt2YXIgdD1lLl92YWx1ZVRyYWNrZXI7aWYoIXQpcmV0dXJuITA7dmFyIG49dC5nZXRWYWx1ZSgpLHI9YGA7cmV0dXJuIGUmJihyPW5uKGUpP2UuY2hlY2tlZD9gdHJ1ZWA6YGZhbHNlYDplLnZhbHVlKSxlPXIsZSE9PW4mJih0LnNldFZhbHVlKGUpLCEwKX12YXIgc249L1tcbiJcXF0vZztmdW5jdGlvbiBjbihlKXtyZXR1cm4gZS5yZXBsYWNlKHNuLGZ1bmN0aW9uKGUpe3JldHVybmBcXGArZS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KStgIGB9KX1mdW5jdGlvbiBsbihlLHQsbixyLGksYSxvLHMpe2UubmFtZT1gYCxvIT1udWxsJiZ0eXBlb2YgbyE9YGZ1bmN0aW9uYCYmdHlwZW9mIG8hPWBzeW1ib2xgJiZ0eXBlb2YgbyE9YGJvb2xlYW5gP2UudHlwZT1vOmUucmVtb3ZlQXR0cmlidXRlKGB0eXBlYCksdD09bnVsbD9vIT09YHN1Ym1pdGAmJm8hPT1gcmVzZXRgfHxlLnJlbW92ZUF0dHJpYnV0ZShgdmFsdWVgKTpvPT09YG51bWJlcmA_KHQ9PT0wJiZlLnZhbHVlPT09YGB8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT1gYCt0bih0KSk6ZS52YWx1ZSE9PWBgK3RuKHQpJiYoZS52YWx1ZT1gYCt0bih0KSksdD09bnVsbD9uPT1udWxsP3IhPW51bGwmJmUucmVtb3ZlQXR0cmlidXRlKGB2YWx1ZWApOmRuKGUsdG4obikpOm89PT1gbnVtYmVyYCYmZS52YWx1ZT09dD9kbihlLHRuKGUudmFsdWUpKTpkbihlLHRuKHQpKSxpPT1udWxsJiZhIT1udWxsJiYoZS5kZWZhdWx0Q2hlY2tlZD0hIWEpLGkhPW51bGwmJihlLmNoZWNrZWQ9aSYmdHlwZW9mIGkhPWBmdW5jdGlvbmAmJnR5cGVvZiBpIT1gc3ltYm9sYCkscyE9bnVsbCYmdHlwZW9mIHMhPWBmdW5jdGlvbmAmJnR5cGVvZiBzIT1gc3ltYm9sYCYmdHlwZW9mIHMhPWBib29sZWFuYD9lLm5hbWU9YGArdG4ocyk6ZS5yZW1vdmVBdHRyaWJ1dGUoYG5hbWVgKX1mdW5jdGlvbiB1bihlLHQsbixyLGksYSxvLHMpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT1gZnVuY3Rpb25gJiZ0eXBlb2YgYSE9YHN5bWJvbGAmJnR5cGVvZiBhIT1gYm9vbGVhbmAmJihlLnR5cGU9YSksdCE9bnVsbHx8biE9bnVsbCl7aWYoIShhIT09YHN1Ym1pdGAmJmEhPT1gcmVzZXRgfHx0IT1udWxsKSl7YW4oZSk7cmV0dXJufW49bj09bnVsbD9gYDpgYCt0bihuKSx0PXQ9PW51bGw_bjpgYCt0bih0KSxzfHx0PT09ZS52YWx1ZXx8KGUudmFsdWU9dCksZS5kZWZhdWx0VmFsdWU9dH1yPz89aSxyPXR5cGVvZiByIT1gZnVuY3Rpb25gJiZ0eXBlb2YgciE9YHN5bWJvbGAmJiEhcixlLmNoZWNrZWQ9cz9lLmNoZWNrZWQ6ISFyLGUuZGVmYXVsdENoZWNrZWQ9ISFyLG8hPW51bGwmJnR5cGVvZiBvIT1gZnVuY3Rpb25gJiZ0eXBlb2YgbyE9YHN5bWJvbGAmJnR5cGVvZiBvIT1gYm9vbGVhbmAmJihlLm5hbWU9byksYW4oZSl9ZnVuY3Rpb24gZG4oZSx0KXtlLmRlZmF1bHRWYWx1ZSE9PWBgK3QmJihlLmRlZmF1bHRWYWx1ZT1gYCt0KX1mdW5jdGlvbiBmbihlLHQsbixyKXtpZihlPWUub3B0aW9ucyx0KXt0PXt9O2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXRbYCRgK25baV1dPSEwO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspaT10Lmhhc093blByb3BlcnR5KGAkYCtlW25dLnZhbHVlKSxlW25dLnNlbGVjdGVkIT09aSYmKGVbbl0uc2VsZWN0ZWQ9aSksaSYmciYmKGVbbl0uZGVmYXVsdFNlbGVjdGVkPSEwKX1lbHNle2ZvcihuPWBgK3RuKG4pLHQ9bnVsbCxpPTA7aTxlLmxlbmd0aDtpKyspe2lmKGVbaV0udmFsdWU9PT1uKXtlW2ldLnNlbGVjdGVkPSEwLHImJihlW2ldLmRlZmF1bHRTZWxlY3RlZD0hMCk7cmV0dXJufXQhPT1udWxsfHxlW2ldLmRpc2FibGVkfHwodD1lW2ldKX10IT09bnVsbCYmKHQuc2VsZWN0ZWQ9ITApfX1mdW5jdGlvbiBwbihlLHQsbil7dCE9bnVsbCYmKHQ9YGArdG4odCksdCE9PWUudmFsdWUmJihlLnZhbHVlPXQpLG49PW51bGwpP2UuZGVmYXVsdFZhbHVlIT09dCYmKGUuZGVmYXVsdFZhbHVlPXQpOmUuZGVmYXVsdFZhbHVlPW49PW51bGw_YGA6YGArdG4obil9ZnVuY3Rpb24gbW4oZSx0LG4scil7aWYodD09bnVsbCl7aWYociE9bnVsbCl7aWYobiE9bnVsbCl0aHJvdyBFcnJvcihzKDkyKSk7aWYoeWUocikpe2lmKDE8ci5sZW5ndGgpdGhyb3cgRXJyb3Iocyg5MykpO3I9clswXX1uPXJ9bj8_PWBgLHQ9bn1uPXRuKHQpLGUuZGVmYXVsdFZhbHVlPW4scj1lLnRleHRDb250ZW50LHI9PT1uJiZyIT09YGAmJnIhPT1udWxsJiYoZS52YWx1ZT1yKSxhbihlKX1mdW5jdGlvbiBobihlLHQpe2lmKHQpe3ZhciBuPWUuZmlyc3RDaGlsZDtpZihuJiZuPT09ZS5sYXN0Q2hpbGQmJm4ubm9kZVR5cGU9PT0zKXtuLm5vZGVWYWx1ZT10O3JldHVybn19ZS50ZXh0Q29udGVudD10fXZhciBnbj1uZXcgU2V0KGBhbmltYXRpb25JdGVyYXRpb25Db3VudCBhc3BlY3RSYXRpbyBib3JkZXJJbWFnZU91dHNldCBib3JkZXJJbWFnZVNsaWNlIGJvcmRlckltYWdlV2lkdGggYm94RmxleCBib3hGbGV4R3JvdXAgYm94T3JkaW5hbEdyb3VwIGNvbHVtbkNvdW50IGNvbHVtbnMgZmxleCBmbGV4R3JvdyBmbGV4UG9zaXRpdmUgZmxleFNocmluayBmbGV4TmVnYXRpdmUgZmxleE9yZGVyIGdyaWRBcmVhIGdyaWRSb3cgZ3JpZFJvd0VuZCBncmlkUm93U3BhbiBncmlkUm93U3RhcnQgZ3JpZENvbHVtbiBncmlkQ29sdW1uRW5kIGdyaWRDb2x1bW5TcGFuIGdyaWRDb2x1bW5TdGFydCBmb250V2VpZ2h0IGxpbmVDbGFtcCBsaW5lSGVpZ2h0IG9wYWNpdHkgb3JkZXIgb3JwaGFucyBzY2FsZSB0YWJTaXplIHdpZG93cyB6SW5kZXggem9vbSBmaWxsT3BhY2l0eSBmbG9vZE9wYWNpdHkgc3RvcE9wYWNpdHkgc3Ryb2tlRGFzaGFycmF5IHN0cm9rZURhc2hvZmZzZXQgc3Ryb2tlTWl0ZXJsaW1pdCBzdHJva2VPcGFjaXR5IHN0cm9rZVdpZHRoIE1vekFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IE1vekJveEZsZXggTW96Qm94RmxleEdyb3VwIE1vekxpbmVDbGFtcCBtc0FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IG1zRmxleCBtc1pvb20gbXNGbGV4R3JvdyBtc0ZsZXhOZWdhdGl2ZSBtc0ZsZXhPcmRlciBtc0ZsZXhQb3NpdGl2ZSBtc0ZsZXhTaHJpbmsgbXNHcmlkQ29sdW1uIG1zR3JpZENvbHVtblNwYW4gbXNHcmlkUm93IG1zR3JpZFJvd1NwYW4gV2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgV2Via2l0Qm94RmxleCBXZWJLaXRCb3hGbGV4R3JvdXAgV2Via2l0Qm94T3JkaW5hbEdyb3VwIFdlYmtpdENvbHVtbkNvdW50IFdlYmtpdENvbHVtbnMgV2Via2l0RmxleCBXZWJraXRGbGV4R3JvdyBXZWJraXRGbGV4UG9zaXRpdmUgV2Via2l0RmxleFNocmluayBXZWJraXRMaW5lQ2xhbXBgLnNwbGl0KGAgYCkpO2Z1bmN0aW9uIF9uKGUsdCxuKXt2YXIgcj10LmluZGV4T2YoYC0tYCk9PT0wO249PW51bGx8fHR5cGVvZiBuPT1gYm9vbGVhbmB8fG49PT1gYD9yP2Uuc2V0UHJvcGVydHkodCxgYCk6dD09PWBmbG9hdGA_ZS5jc3NGbG9hdD1gYDplW3RdPWBgOnI_ZS5zZXRQcm9wZXJ0eSh0LG4pOnR5cGVvZiBuIT1gbnVtYmVyYHx8bj09PTB8fGduLmhhcyh0KT90PT09YGZsb2F0YD9lLmNzc0Zsb2F0PW46ZVt0XT0oYGArbikudHJpbSgpOmVbdF09bitgcHhgfWZ1bmN0aW9uIHZuKGUsdCxuKXtpZih0IT1udWxsJiZ0eXBlb2YgdCE9YG9iamVjdGApdGhyb3cgRXJyb3Iocyg2MikpO2lmKGU9ZS5zdHlsZSxuIT1udWxsKXtmb3IodmFyIHIgaW4gbikhbi5oYXNPd25Qcm9wZXJ0eShyKXx8dCE9bnVsbCYmdC5oYXNPd25Qcm9wZXJ0eShyKXx8KHIuaW5kZXhPZihgLS1gKT09PTA_ZS5zZXRQcm9wZXJ0eShyLGBgKTpyPT09YGZsb2F0YD9lLmNzc0Zsb2F0PWBgOmVbcl09YGAsUD0hMCk7Zm9yKHZhciBpIGluIHQpcj10W2ldLHQuaGFzT3duUHJvcGVydHkoaSkmJm5baV0hPT1yJiYoX24oZSxpLHIpLFA9ITApfWVsc2UgZm9yKHZhciBhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmX24oZSxhLHRbYV0pfWZ1bmN0aW9uIHluKGUpe2lmKGUuaW5kZXhPZihgLWApPT09LTEpcmV0dXJuITE7c3dpdGNoKGUpe2Nhc2VgYW5ub3RhdGlvbi14bWxgOmNhc2VgY29sb3ItcHJvZmlsZWA6Y2FzZWBmb250LWZhY2VgOmNhc2VgZm9udC1mYWNlLXNyY2A6Y2FzZWBmb250LWZhY2UtdXJpYDpjYXNlYGZvbnQtZmFjZS1mb3JtYXRgOmNhc2VgZm9udC1mYWNlLW5hbWVgOmNhc2VgbWlzc2luZy1nbHlwaGA6cmV0dXJuITE7ZGVmYXVsdDpyZXR1cm4hMH19dmFyIGJuPW5ldyBNYXAoW1tgYWNjZXB0Q2hhcnNldGAsYGFjY2VwdC1jaGFyc2V0YF0sW2BodG1sRm9yYCxgZm9yYF0sW2BodHRwRXF1aXZgLGBodHRwLWVxdWl2YF0sW2Bjcm9zc09yaWdpbmAsYGNyb3Nzb3JpZ2luYF0sW2BhY2NlbnRIZWlnaHRgLGBhY2NlbnQtaGVpZ2h0YF0sW2BhbGlnbm1lbnRCYXNlbGluZWAsYGFsaWdubWVudC1iYXNlbGluZWBdLFtgYXJhYmljRm9ybWAsYGFyYWJpYy1mb3JtYF0sW2BiYXNlbGluZVNoaWZ0YCxgYmFzZWxpbmUtc2hpZnRgXSxbYGNhcEhlaWdodGAsYGNhcC1oZWlnaHRgXSxbYGNsaXBQYXRoYCxgY2xpcC1wYXRoYF0sW2BjbGlwUnVsZWAsYGNsaXAtcnVsZWBdLFtgY29sb3JJbnRlcnBvbGF0aW9uYCxgY29sb3ItaW50ZXJwb2xhdGlvbmBdLFtgY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyc2AsYGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVyc2BdLFtgY29sb3JQcm9maWxlYCxgY29sb3ItcHJvZmlsZWBdLFtgY29sb3JSZW5kZXJpbmdgLGBjb2xvci1yZW5kZXJpbmdgXSxbYGRvbWluYW50QmFzZWxpbmVgLGBkb21pbmFudC1iYXNlbGluZWBdLFtgZW5hYmxlQmFja2dyb3VuZGAsYGVuYWJsZS1iYWNrZ3JvdW5kYF0sW2BmaWxsT3BhY2l0eWAsYGZpbGwtb3BhY2l0eWBdLFtgZmlsbFJ1bGVgLGBmaWxsLXJ1bGVgXSxbYGZsb29kQ29sb3JgLGBmbG9vZC1jb2xvcmBdLFtgZmxvb2RPcGFjaXR5YCxgZmxvb2Qtb3BhY2l0eWBdLFtgZm9udEZhbWlseWAsYGZvbnQtZmFtaWx5YF0sW2Bmb250U2l6ZWAsYGZvbnQtc2l6ZWBdLFtgZm9udFNpemVBZGp1c3RgLGBmb250LXNpemUtYWRqdXN0YF0sW2Bmb250U3RyZXRjaGAsYGZvbnQtc3RyZXRjaGBdLFtgZm9udFN0eWxlYCxgZm9udC1zdHlsZWBdLFtgZm9udFZhcmlhbnRgLGBmb250LXZhcmlhbnRgXSxbYGZvbnRXZWlnaHRgLGBmb250LXdlaWdodGBdLFtgZ2x5cGhOYW1lYCxgZ2x5cGgtbmFtZWBdLFtgZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWxgLGBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsYF0sW2BnbHlwaE9yaWVudGF0aW9uVmVydGljYWxgLGBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbGBdLFtgaG9yaXpBZHZYYCxgaG9yaXotYWR2LXhgXSxbYGhvcml6T3JpZ2luWGAsYGhvcml6LW9yaWdpbi14YF0sW2BpbWFnZVJlbmRlcmluZ2AsYGltYWdlLXJlbmRlcmluZ2BdLFtgbGV0dGVyU3BhY2luZ2AsYGxldHRlci1zcGFjaW5nYF0sW2BsaWdodGluZ0NvbG9yYCxgbGlnaHRpbmctY29sb3JgXSxbYG1hcmtlckVuZGAsYG1hcmtlci1lbmRgXSxbYG1hcmtlck1pZGAsYG1hcmtlci1taWRgXSxbYG1hcmtlclN0YXJ0YCxgbWFya2VyLXN0YXJ0YF0sW2BtYXNrVHlwZWAsYG1hc2stdHlwZWBdLFtgb3ZlcmxpbmVQb3NpdGlvbmAsYG92ZXJsaW5lLXBvc2l0aW9uYF0sW2BvdmVybGluZVRoaWNrbmVzc2AsYG92ZXJsaW5lLXRoaWNrbmVzc2BdLFtgcGFpbnRPcmRlcmAsYHBhaW50LW9yZGVyYF0sW2BwYW5vc2UtMWAsYHBhbm9zZS0xYF0sW2Bwb2ludGVyRXZlbnRzYCxgcG9pbnRlci1ldmVudHNgXSxbYHJlbmRlcmluZ0ludGVudGAsYHJlbmRlcmluZy1pbnRlbnRgXSxbYHNoYXBlUmVuZGVyaW5nYCxgc2hhcGUtcmVuZGVyaW5nYF0sW2BzdG9wQ29sb3JgLGBzdG9wLWNvbG9yYF0sW2BzdG9wT3BhY2l0eWAsYHN0b3Atb3BhY2l0eWBdLFtgc3RyaWtldGhyb3VnaFBvc2l0aW9uYCxgc3RyaWtldGhyb3VnaC1wb3NpdGlvbmBdLFtgc3RyaWtldGhyb3VnaFRoaWNrbmVzc2AsYHN0cmlrZXRocm91Z2gtdGhpY2tuZXNzYF0sW2BzdHJva2VEYXNoYXJyYXlgLGBzdHJva2UtZGFzaGFycmF5YF0sW2BzdHJva2VEYXNob2Zmc2V0YCxgc3Ryb2tlLWRhc2hvZmZzZXRgXSxbYHN0cm9rZUxpbmVjYXBgLGBzdHJva2UtbGluZWNhcGBdLFtgc3Ryb2tlTGluZWpvaW5gLGBzdHJva2UtbGluZWpvaW5gXSxbYHN0cm9rZU1pdGVybGltaXRgLGBzdHJva2UtbWl0ZXJsaW1pdGBdLFtgc3Ryb2tlT3BhY2l0eWAsYHN0cm9rZS1vcGFjaXR5YF0sW2BzdHJva2VXaWR0aGAsYHN0cm9rZS13aWR0aGBdLFtgdGV4dEFuY2hvcmAsYHRleHQtYW5jaG9yYF0sW2B0ZXh0RGVjb3JhdGlvbmAsYHRleHQtZGVjb3JhdGlvbmBdLFtgdGV4dFJlbmRlcmluZ2AsYHRleHQtcmVuZGVyaW5nYF0sW2B0cmFuc2Zvcm1PcmlnaW5gLGB0cmFuc2Zvcm0tb3JpZ2luYF0sW2B1bmRlcmxpbmVQb3NpdGlvbmAsYHVuZGVybGluZS1wb3NpdGlvbmBdLFtgdW5kZXJsaW5lVGhpY2tuZXNzYCxgdW5kZXJsaW5lLXRoaWNrbmVzc2BdLFtgdW5pY29kZUJpZGlgLGB1bmljb2RlLWJpZGlgXSxbYHVuaWNvZGVSYW5nZWAsYHVuaWNvZGUtcmFuZ2VgXSxbYHVuaXRzUGVyRW1gLGB1bml0cy1wZXItZW1gXSxbYHZBbHBoYWJldGljYCxgdi1hbHBoYWJldGljYF0sW2B2SGFuZ2luZ2AsYHYtaGFuZ2luZ2BdLFtgdklkZW9ncmFwaGljYCxgdi1pZGVvZ3JhcGhpY2BdLFtgdk1hdGhlbWF0aWNhbGAsYHYtbWF0aGVtYXRpY2FsYF0sW2B2ZWN0b3JFZmZlY3RgLGB2ZWN0b3ItZWZmZWN0YF0sW2B2ZXJ0QWR2WWAsYHZlcnQtYWR2LXlgXSxbYHZlcnRPcmlnaW5YYCxgdmVydC1vcmlnaW4teGBdLFtgdmVydE9yaWdpbllgLGB2ZXJ0LW9yaWdpbi15YF0sW2B3b3JkU3BhY2luZ2AsYHdvcmQtc3BhY2luZ2BdLFtgd3JpdGluZ01vZGVgLGB3cml0aW5nLW1vZGVgXSxbYHhtbG5zWGxpbmtgLGB4bWxuczp4bGlua2BdLFtgeEhlaWdodGAsYHgtaGVpZ2h0YF1dKSx4bj0vXltcdTAwMDAtXHUwMDFGIF0qaltcclxuXHRdKmFbXHJcblx0XSp2W1xyXG5cdF0qYVtcclxuXHRdKnNbXHJcblx0XSpjW1xyXG5cdF0qcltcclxuXHRdKmlbXHJcblx0XSpwW1xyXG5cdF0qdFtcclxuXHRdKjovaTtmdW5jdGlvbiBTbihlKXtyZXR1cm4geG4udGVzdChgYCtlKT9gamF2YXNjcmlwdDp0aHJvdyBuZXcgRXJyb3IoJ1JlYWN0IGhhcyBibG9ja2VkIGEgamF2YXNjcmlwdDogVVJMIGFzIGEgc2VjdXJpdHkgcHJlY2F1dGlvbi4nKWA6ZX1mdW5jdGlvbiBDbigpe312YXIgd249bnVsbDtmdW5jdGlvbiBUbihlKXtyZXR1cm4gZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3csZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKGU9ZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksZS5ub2RlVHlwZT09PTM_ZS5wYXJlbnROb2RlOmV9dmFyIEVuPW51bGwsRG49bnVsbDtmdW5jdGlvbiBPbihlKXt2YXIgdD1SdChlKTtpZih0JiYoZT10LnN0YXRlTm9kZSkpe3ZhciBuPWVbT3RdfHxudWxsO2E6c3dpdGNoKGU9dC5zdGF0ZU5vZGUsdC50eXBlKXtjYXNlYGlucHV0YDppZihsbihlLG4udmFsdWUsbi5kZWZhdWx0VmFsdWUsbi5kZWZhdWx0VmFsdWUsbi5jaGVja2VkLG4uZGVmYXVsdENoZWNrZWQsbi50eXBlLG4ubmFtZSksdD1uLm5hbWUsbi50eXBlPT09YHJhZGlvYCYmdCE9bnVsbCl7Zm9yKG49ZTtuLnBhcmVudE5vZGU7KW49bi5wYXJlbnROb2RlO2ZvcihuPW4ucXVlcnlTZWxlY3RvckFsbChgaW5wdXRbbmFtZT0iYCtjbihgYCt0KStgIl1bdHlwZT0icmFkaW8iXWApLHQ9MDt0PG4ubGVuZ3RoO3QrKyl7dmFyIHI9blt0XTtpZihyIT09ZSYmci5mb3JtPT09ZS5mb3JtKXt2YXIgaT1yW090XXx8bnVsbDtpZighaSl0aHJvdyBFcnJvcihzKDkwKSk7bG4ocixpLnZhbHVlLGkuZGVmYXVsdFZhbHVlLGkuZGVmYXVsdFZhbHVlLGkuY2hlY2tlZCxpLmRlZmF1bHRDaGVja2VkLGkudHlwZSxpLm5hbWUpfX1mb3IodD0wO3Q8bi5sZW5ndGg7dCsrKXI9blt0XSxyLmZvcm09PT1lLmZvcm0mJm9uKHIpfWJyZWFrIGE7Y2FzZWB0ZXh0YXJlYWA6cG4oZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlKTticmVhayBhO2Nhc2Vgc2VsZWN0YDp0PW4udmFsdWUsdCE9bnVsbCYmZm4oZSwhIW4ubXVsdGlwbGUsdCwhMSl9fX12YXIga249ITE7ZnVuY3Rpb24gQW4oZSx0LG4pe2lmKGtuKXJldHVybiBlKHQsbik7a249ITA7dHJ5e3JldHVybiBlKHQpfWZpbmFsbHl7aWYoa249ITEsKEVuIT09bnVsbHx8RG4hPT1udWxsKSYmKFJkKCksRW4mJih0PUVuLGU9RG4sRG49RW49bnVsbCxPbih0KSxlKSkpZm9yKHQ9MDt0PGUubGVuZ3RoO3QrKylPbihlW3RdKX19ZnVuY3Rpb24gam4oZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtpZihuPT09bnVsbClyZXR1cm4gbnVsbDt2YXIgcj1uW090XXx8bnVsbDtpZihyPT09bnVsbClyZXR1cm4gbnVsbDtuPXJbdF07YTpzd2l0Y2godCl7Y2FzZWBvbkNsaWNrYDpjYXNlYG9uQ2xpY2tDYXB0dXJlYDpjYXNlYG9uRG91YmxlQ2xpY2tgOmNhc2Vgb25Eb3VibGVDbGlja0NhcHR1cmVgOmNhc2Vgb25Nb3VzZURvd25gOmNhc2Vgb25Nb3VzZURvd25DYXB0dXJlYDpjYXNlYG9uTW91c2VNb3ZlYDpjYXNlYG9uTW91c2VNb3ZlQ2FwdHVyZWA6Y2FzZWBvbk1vdXNlVXBgOmNhc2Vgb25Nb3VzZVVwQ2FwdHVyZWA6Y2FzZWBvbk1vdXNlRW50ZXJgOihyPSFyLmRpc2FibGVkKXx8KGU9ZS50eXBlLHI9ZSE9PWBidXR0b25gJiZlIT09YGlucHV0YCYmZSE9PWBzZWxlY3RgJiZlIT09YHRleHRhcmVhYCksZT0hcjticmVhayBhO2RlZmF1bHQ6ZT0hMX1pZihlKXJldHVybiBudWxsO2lmKG4mJnR5cGVvZiBuIT1gZnVuY3Rpb25gKXRocm93IEVycm9yKHMoMjMxLHQsdHlwZW9mIG4pKTtyZXR1cm4gbn12YXIgTW49dHlwZW9mIHdpbmRvdzxgdWAmJndpbmRvdy5kb2N1bWVudCE9PXZvaWQgMCYmd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQhPT12b2lkIDAsTm49ITE7aWYoTW4pdHJ5e3ZhciBQbj17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoUG4sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtObj0hMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihgdGVzdGAsUG4sUG4pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGB0ZXN0YCxQbixQbil9Y2F0Y2h7Tm49ITF9dmFyIEZuPW51bGwsSW49bnVsbCxMbj1udWxsO2Z1bmN0aW9uIFJuKCl7aWYoTG4pcmV0dXJuIExuO3ZhciBlLHQ9SW4sbj10Lmxlbmd0aCxyLGk9YHZhbHVlYGluIEZuP0ZuLnZhbHVlOkZuLnRleHRDb250ZW50LGE9aS5sZW5ndGg7Zm9yKGU9MDtlPG4mJnRbZV09PT1pW2VdO2UrKyk7dmFyIG89bi1lO2ZvcihyPTE7cjw9byYmdFtuLXJdPT09aVthLXJdO3IrKyk7cmV0dXJuIExuPWkuc2xpY2UoZSwxPHI_MS1yOnZvaWQgMCl9ZnVuY3Rpb24gem4oZSl7dmFyIHQ9ZS5rZXlDb2RlO3JldHVybmBjaGFyQ29kZWBpbiBlPyhlPWUuY2hhckNvZGUsZT09PTAmJnQ9PT0xMyYmKGU9MTMpKTplPXQsZT09PTEwJiYoZT0xMyksMzI8PWV8fGU9PT0xMz9lOjB9ZnVuY3Rpb24gQm4oKXtyZXR1cm4hMH1mdW5jdGlvbiBWbigpe3JldHVybiExfWZ1bmN0aW9uIEhuKGUpe2Z1bmN0aW9uIHQodCxuLHIsaSxhKXtmb3IodmFyIG8gaW4gdGhpcy5fcmVhY3ROYW1lPXQsdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT1uLHRoaXMubmF0aXZlRXZlbnQ9aSx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eShvKSYmKHQ9ZVtvXSx0aGlzW29dPXQ_dChpKTppW29dKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KGkuZGVmYXVsdFByZXZlbnRlZD09bnVsbD8hMT09PWkucmV0dXJuVmFsdWU6aS5kZWZhdWx0UHJldmVudGVkKT9CbjpWbix0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPVZuLHRoaXN9cmV0dXJuIEQodC5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ_ZS5wcmV2ZW50RGVmYXVsdCgpOnR5cGVvZiBlLnJldHVyblZhbHVlIT1gdW5rbm93bmAmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1Cbil9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6dHlwZW9mIGUuY2FuY2VsQnViYmxlIT1gdW5rbm93bmAmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1Cbil9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpCbn0pLHR9dmFyIFVuPXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LFduPUhuKFVuKSxHbj1EKHt9LFVuLHt2aWV3OjAsZGV0YWlsOjB9KSxLbj1IbihHbikscW4sSm4sWW4sWG49RCh7fSxHbix7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpzcixidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZWxhdGVkVGFyZ2V0PT09dm9pZCAwP2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ_ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm5gbW92ZW1lbnRYYGluIGU_ZS5tb3ZlbWVudFg6KGUhPT1ZbiYmKFluJiZlLnR5cGU9PT1gbW91c2Vtb3ZlYD8ocW49ZS5zY3JlZW5YLVluLnNjcmVlblgsSm49ZS5zY3JlZW5ZLVluLnNjcmVlblkpOkpuPXFuPTAsWW49ZSkscW4pfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuYG1vdmVtZW50WWBpbiBlP2UubW92ZW1lbnRZOkpufX0pLFpuPUhuKFhuKSxRbj1IbihEKHt9LFhuLHtkYXRhVHJhbnNmZXI6MH0pKSwkbj1IbihEKHt9LEduLHtyZWxhdGVkVGFyZ2V0OjB9KSksZXI9SG4oRCh7fSxVbix7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHRyPUhuKEQoe30sVW4se2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuYGNsaXBib2FyZERhdGFgaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSkpLG5yPUhuKEQoe30sVW4se2RhdGE6MH0pKSxycj17RXNjOmBFc2NhcGVgLFNwYWNlYmFyOmAgYCxMZWZ0OmBBcnJvd0xlZnRgLFVwOmBBcnJvd1VwYCxSaWdodDpgQXJyb3dSaWdodGAsRG93bjpgQXJyb3dEb3duYCxEZWw6YERlbGV0ZWAsV2luOmBPU2AsTWVudTpgQ29udGV4dE1lbnVgLEFwcHM6YENvbnRleHRNZW51YCxTY3JvbGw6YFNjcm9sbExvY2tgLE1velByaW50YWJsZUtleTpgVW5pZGVudGlmaWVkYH0saXI9ezg6YEJhY2tzcGFjZWAsOTpgVGFiYCwxMjpgQ2xlYXJgLDEzOmBFbnRlcmAsMTY6YFNoaWZ0YCwxNzpgQ29udHJvbGAsMTg6YEFsdGAsMTk6YFBhdXNlYCwyMDpgQ2Fwc0xvY2tgLDI3OmBFc2NhcGVgLDMyOmAgYCwzMzpgUGFnZVVwYCwzNDpgUGFnZURvd25gLDM1OmBFbmRgLDM2OmBIb21lYCwzNzpgQXJyb3dMZWZ0YCwzODpgQXJyb3dVcGAsMzk6YEFycm93UmlnaHRgLDQwOmBBcnJvd0Rvd25gLDQ1OmBJbnNlcnRgLDQ2OmBEZWxldGVgLDExMjpgRjFgLDExMzpgRjJgLDExNDpgRjNgLDExNTpgRjRgLDExNjpgRjVgLDExNzpgRjZgLDExODpgRjdgLDExOTpgRjhgLDEyMDpgRjlgLDEyMTpgRjEwYCwxMjI6YEYxMWAsMTIzOmBGMTJgLDE0NDpgTnVtTG9ja2AsMTQ1OmBTY3JvbGxMb2NrYCwyMjQ6YE1ldGFgfSxhcj17QWx0OmBhbHRLZXlgLENvbnRyb2w6YGN0cmxLZXlgLE1ldGE6YG1ldGFLZXlgLFNoaWZ0OmBzaGlmdEtleWB9O2Z1bmN0aW9uIG9yKGUpe3ZhciB0PXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIHQuZ2V0TW9kaWZpZXJTdGF0ZT90LmdldE1vZGlmaWVyU3RhdGUoZSk6KGU9YXJbZV0pPyEhdFtlXTohMX1mdW5jdGlvbiBzcigpe3JldHVybiBvcn12YXIgY3I9SG4oRCh7fSxHbix7a2V5OmZ1bmN0aW9uKGUpe2lmKGUua2V5KXt2YXIgdD1ycltlLmtleV18fGUua2V5O2lmKHQhPT1gVW5pZGVudGlmaWVkYClyZXR1cm4gdH1yZXR1cm4gZS50eXBlPT09YGtleXByZXNzYD8oZT16bihlKSxlPT09MTM_YEVudGVyYDpTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTplLnR5cGU9PT1ga2V5ZG93bmB8fGUudHlwZT09PWBrZXl1cGA_aXJbZS5rZXlDb2RlXXx8YFVuaWRlbnRpZmllZGA6YGB9LGNvZGU6MCxsb2NhdGlvbjowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxyZXBlYXQ6MCxsb2NhbGU6MCxnZXRNb2RpZmllclN0YXRlOnNyLGNoYXJDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT1ga2V5cHJlc3NgP3puKGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PWBrZXlkb3duYHx8ZS50eXBlPT09YGtleXVwYD9lLmtleUNvZGU6MH0sd2hpY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PWBrZXlwcmVzc2A_em4oZSk6ZS50eXBlPT09YGtleWRvd25gfHxlLnR5cGU9PT1ga2V5dXBgP2Uua2V5Q29kZTowfX0pKSxscj1IbihEKHt9LFhuLHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pKSx1cj1IbihEKHt9LFVuLHtzdWJtaXR0ZXI6MH0pKSxkcj1IbihEKHt9LEduLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6c3J9KSksZnI9SG4oRCh7fSxVbix7cHJvcGVydHlOYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSkscHI9SG4oRCh7fSxYbix7ZGVsdGFYOmZ1bmN0aW9uKGUpe3JldHVybmBkZWx0YVhgaW4gZT9lLmRlbHRhWDpgd2hlZWxEZWx0YVhgaW4gZT8tZS53aGVlbERlbHRhWDowfSxkZWx0YVk6ZnVuY3Rpb24oZSl7cmV0dXJuYGRlbHRhWWBpbiBlP2UuZGVsdGFZOmB3aGVlbERlbHRhWWBpbiBlPy1lLndoZWVsRGVsdGFZOmB3aGVlbERlbHRhYGluIGU_LWUud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pKSxtcj1IbihEKHt9LFVuLHtuZXdTdGF0ZTowLG9sZFN0YXRlOjAsc291cmNlOjB9KSksaHI9WzksMTMsMjcsMzJdLGdyPU1uJiZgQ29tcG9zaXRpb25FdmVudGBpbiB3aW5kb3csX3I9bnVsbDtNbiYmYGRvY3VtZW50TW9kZWBpbiBkb2N1bWVudCYmKF9yPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIHZyPU1uJiZgVGV4dEV2ZW50YGluIHdpbmRvdyYmIV9yLHlyPU1uJiYoIWdyfHxfciYmODxfciYmMTE-PV9yKSxicj1gIGAseHI9ITE7ZnVuY3Rpb24gU3IoZSx0KXtzd2l0Y2goZSl7Y2FzZWBrZXl1cGA6cmV0dXJuIGhyLmluZGV4T2YodC5rZXlDb2RlKSE9PS0xO2Nhc2Vga2V5ZG93bmA6cmV0dXJuIHQua2V5Q29kZSE9PTIyOTtjYXNlYGtleXByZXNzYDpjYXNlYG1vdXNlZG93bmA6Y2FzZWBmb2N1c291dGA6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQ3IoZSl7cmV0dXJuIGU9ZS5kZXRhaWwsdHlwZW9mIGU9PWBvYmplY3RgJiZgZGF0YWBpbiBlP2UuZGF0YTpudWxsfXZhciB3cj0hMTtmdW5jdGlvbiBUcihlLHQpe3N3aXRjaChlKXtjYXNlYGNvbXBvc2l0aW9uZW5kYDpyZXR1cm4gQ3IodCk7Y2FzZWBrZXlwcmVzc2A6cmV0dXJuIHQud2hpY2g9PT0zMj8oeHI9ITAsYnIpOm51bGw7Y2FzZWB0ZXh0SW5wdXRgOnJldHVybiBlPXQuZGF0YSxlPT09YnImJnhyP251bGw6ZTtkZWZhdWx0OnJldHVybiBudWxsfX1mdW5jdGlvbiBFcihlLHQpe2lmKHdyKXJldHVybiBlPT09YGNvbXBvc2l0aW9uZW5kYHx8IWdyJiZTcihlLHQpPyhlPVJuKCksTG49SW49Rm49bnVsbCx3cj0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlYHBhc3RlYDpyZXR1cm4gbnVsbDtjYXNlYGtleXByZXNzYDppZighKHQuY3RybEtleXx8dC5hbHRLZXl8fHQubWV0YUtleSl8fHQuY3RybEtleSYmdC5hbHRLZXkpe2lmKHQuY2hhciYmMTx0LmNoYXIubGVuZ3RoKXJldHVybiB0LmNoYXI7aWYodC53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSh0LndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlYGNvbXBvc2l0aW9uZW5kYDpyZXR1cm4geXImJnQubG9jYWxlIT09YGtvYD9udWxsOnQuZGF0YTtkZWZhdWx0OnJldHVybiBudWxsfX12YXIgRHI9e2NvbG9yOiEwLGRhdGU6ITAsZGF0ZXRpbWU6ITAsImRhdGV0aW1lLWxvY2FsIjohMCxlbWFpbDohMCxtb250aDohMCxudW1iZXI6ITAscGFzc3dvcmQ6ITAscmFuZ2U6ITAsc2VhcmNoOiEwLHRlbDohMCx0ZXh0OiEwLHRpbWU6ITAsdXJsOiEwLHdlZWs6ITB9O2Z1bmN0aW9uIE9yKGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdD09PWBpbnB1dGA_ISFEcltlLnR5cGVdOnQ9PT1gdGV4dGFyZWFgfWZ1bmN0aW9uIGtyKGUsdCxuLHIpe0VuP0RuP0RuLnB1c2gocik6RG49W3JdOkVuPXIsdD1xZih0LGBvbkNoYW5nZWApLDA8dC5sZW5ndGgmJihuPW5ldyBXbihgb25DaGFuZ2VgLGBjaGFuZ2VgLG51bGwsbixyKSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnR9KSl9dmFyIEFyPW51bGwsanI9bnVsbDtmdW5jdGlvbiBNcihlKXtCZihlLDApfWZ1bmN0aW9uIE5yKGUpe2lmKG9uKHp0KGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBQcihlLHQpe2lmKGU9PT1gY2hhbmdlYClyZXR1cm4gdH12YXIgRnI9ITE7aWYoTW4pe3ZhciBJcjtpZihNbil7dmFyIExyPWBvbmlucHV0YGluIGRvY3VtZW50O2lmKCFMcil7dmFyIFJyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGRpdmApO1JyLnNldEF0dHJpYnV0ZShgb25pbnB1dGAsYHJldHVybjtgKSxMcj10eXBlb2YgUnIub25pbnB1dD09YGZ1bmN0aW9uYH1Jcj1Mcn1lbHNlIElyPSExO0ZyPUlyJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIHpyKCl7QXImJihBci5kZXRhY2hFdmVudChgb25wcm9wZXJ0eWNoYW5nZWAsQnIpLGpyPUFyPW51bGwpfWZ1bmN0aW9uIEJyKGUpe2lmKGUucHJvcGVydHlOYW1lPT09YHZhbHVlYCYmTnIoanIpKXt2YXIgdD1bXTtrcih0LGpyLGUsVG4oZSkpLEFuKE1yLHQpfX1mdW5jdGlvbiBWcihlLHQsbil7ZT09PWBmb2N1c2luYD8oenIoKSxBcj10LGpyPW4sQXIuYXR0YWNoRXZlbnQoYG9ucHJvcGVydHljaGFuZ2VgLEJyKSk6ZT09PWBmb2N1c291dGAmJnpyKCl9ZnVuY3Rpb24gSHIoZSl7aWYoZT09PWBzZWxlY3Rpb25jaGFuZ2VgfHxlPT09YGtleXVwYHx8ZT09PWBrZXlkb3duYClyZXR1cm4gTnIoanIpfWZ1bmN0aW9uIFVyKGUsdCl7aWYoZT09PWBjbGlja2ApcmV0dXJuIE5yKHQpfWZ1bmN0aW9uIFdyKGUsdCl7aWYoZT09PWBpbnB1dGB8fGU9PT1gY2hhbmdlYClyZXR1cm4gTnIodCl9ZnVuY3Rpb24gR3IoZSx0KXtyZXR1cm4gZT09PXQmJihlIT09MHx8MS9lPT0xL3QpfHxlIT09ZSYmdCE9PXR9dmFyIEtyPXR5cGVvZiBPYmplY3QuaXM9PWBmdW5jdGlvbmA_T2JqZWN0LmlzOkdyO2Z1bmN0aW9uIHFyKGUsdCl7aWYoS3IoZSx0KSlyZXR1cm4hMDtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHx0eXBlb2YgdCE9YG9iamVjdGB8fCF0KXJldHVybiExO3ZhciBuPU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXModCk7aWYobi5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1uW3JdO2lmKCFWZS5jYWxsKHQsaSl8fCFLcihlW2ldLHRbaV0pKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIEpyKGUpe2lmKGV8fD10eXBlb2YgZG9jdW1lbnQ8YHVgP2RvY3VtZW50OnZvaWQgMCxlPT09dm9pZCAwKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2h7cmV0dXJuIGUuYm9keX19ZnVuY3Rpb24gWXIoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIEYoZSx0KXt2YXIgbj1ZcihlKTtlPTA7Zm9yKHZhciByO247KXtpZihuLm5vZGVUeXBlPT09Myl7aWYocj1lK24udGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJnI-PXQpcmV0dXJue25vZGU6bixvZmZzZXQ6dC1lfTtlPXJ9YTp7Zm9yKDtuOyl7aWYobi5uZXh0U2libGluZyl7bj1uLm5leHRTaWJsaW5nO2JyZWFrIGF9bj1uLnBhcmVudE5vZGV9bj12b2lkIDB9bj1ZcihuKX19ZnVuY3Rpb24gWHIoZSx0KXtyZXR1cm4gZSYmdD9lPT09dD8hMDplJiZlLm5vZGVUeXBlPT09Mz8hMTp0JiZ0Lm5vZGVUeXBlPT09Mz9YcihlLHQucGFyZW50Tm9kZSk6YGNvbnRhaW5zYGluIGU_ZS5jb250YWlucyh0KTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPyEhKGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmMTYpOiExOiExfWZ1bmN0aW9uIFpyKGUpe2U9ZSE9bnVsbCYmZS5vd25lckRvY3VtZW50IT1udWxsJiZlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXchPW51bGw_ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3OndpbmRvdztmb3IodmFyIHQ9SnIoZS5kb2N1bWVudCk7dCBpbnN0YW5jZW9mIGUuSFRNTElGcmFtZUVsZW1lbnQ7KXt0cnl7dmFyIG49dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmPT1gc3RyaW5nYH1jYXRjaHtuPSExfWlmKG4pZT10LmNvbnRlbnRXaW5kb3c7ZWxzZSBicmVhazt0PUpyKGUuZG9jdW1lbnQpfXJldHVybiB0fWZ1bmN0aW9uIFFyKGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdCYmKHQ9PT1gaW5wdXRgJiYoZS50eXBlPT09YHRleHRgfHxlLnR5cGU9PT1gc2VhcmNoYHx8ZS50eXBlPT09YHRlbGB8fGUudHlwZT09PWB1cmxgfHxlLnR5cGU9PT1gcGFzc3dvcmRgKXx8dD09PWB0ZXh0YXJlYWB8fGUuY29udGVudEVkaXRhYmxlPT09YHRydWVgKX12YXIgJHI9TW4mJmBkb2N1bWVudE1vZGVgaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZWk9bnVsbCx0aT1udWxsLG5pPW51bGwscmk9ITE7ZnVuY3Rpb24gaWkoZSx0LG4pe3ZhciByPW4ud2luZG93PT09bj9uLmRvY3VtZW50Om4ubm9kZVR5cGU9PT05P246bi5vd25lckRvY3VtZW50O3JpfHxlaT09bnVsbHx8ZWkhPT1KcihyKXx8KHI9ZWksYHNlbGVjdGlvblN0YXJ0YGluIHImJlFyKHIpP3I9e3N0YXJ0OnIuc2VsZWN0aW9uU3RhcnQsZW5kOnIuc2VsZWN0aW9uRW5kfToocj0oci5vd25lckRvY3VtZW50JiZyLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKCkscj17YW5jaG9yTm9kZTpyLmFuY2hvck5vZGUsYW5jaG9yT2Zmc2V0OnIuYW5jaG9yT2Zmc2V0LGZvY3VzTm9kZTpyLmZvY3VzTm9kZSxmb2N1c09mZnNldDpyLmZvY3VzT2Zmc2V0fSksbmkmJnFyKG5pLHIpfHwobmk9cixyPXFmKHRpLGBvblNlbGVjdGApLDA8ci5sZW5ndGgmJih0PW5ldyBXbihgb25TZWxlY3RgLGBzZWxlY3RgLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOnJ9KSx0LnRhcmdldD1laSkpKX1mdW5jdGlvbiBhaShlLHQpe3ZhciBuPXt9O3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09dC50b0xvd2VyQ2FzZSgpLG5bYFdlYmtpdGArZV09YHdlYmtpdGArdCxuW2BNb3pgK2VdPWBtb3pgK3Qsbn12YXIgb2k9e2FuaW1hdGlvbmVuZDphaShgQW5pbWF0aW9uYCxgQW5pbWF0aW9uRW5kYCksYW5pbWF0aW9uaXRlcmF0aW9uOmFpKGBBbmltYXRpb25gLGBBbmltYXRpb25JdGVyYXRpb25gKSxhbmltYXRpb25zdGFydDphaShgQW5pbWF0aW9uYCxgQW5pbWF0aW9uU3RhcnRgKSx0cmFuc2l0aW9ucnVuOmFpKGBUcmFuc2l0aW9uYCxgVHJhbnNpdGlvblJ1bmApLHRyYW5zaXRpb25zdGFydDphaShgVHJhbnNpdGlvbmAsYFRyYW5zaXRpb25TdGFydGApLHRyYW5zaXRpb25jYW5jZWw6YWkoYFRyYW5zaXRpb25gLGBUcmFuc2l0aW9uQ2FuY2VsYCksdHJhbnNpdGlvbmVuZDphaShgVHJhbnNpdGlvbmAsYFRyYW5zaXRpb25FbmRgKX0sc2k9e30sY2k9e307TW4mJihjaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBkaXZgKS5zdHlsZSxgQW5pbWF0aW9uRXZlbnRgaW4gd2luZG93fHwoZGVsZXRlIG9pLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIG9pLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIG9pLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksYFRyYW5zaXRpb25FdmVudGBpbiB3aW5kb3d8fGRlbGV0ZSBvaS50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO2Z1bmN0aW9uIGxpKGUpe2lmKHNpW2VdKXJldHVybiBzaVtlXTtpZighb2lbZV0pcmV0dXJuIGU7dmFyIHQ9b2lbZV0sbjtmb3IobiBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkobikmJm4gaW4gY2kpcmV0dXJuIHNpW2VdPXRbbl07cmV0dXJuIGV9dmFyIHVpPWxpKGBhbmltYXRpb25lbmRgKSxkaT1saShgYW5pbWF0aW9uaXRlcmF0aW9uYCksZmk9bGkoYGFuaW1hdGlvbnN0YXJ0YCkscGk9bGkoYHRyYW5zaXRpb25ydW5gKSxtaT1saShgdHJhbnNpdGlvbnN0YXJ0YCksaGk9bGkoYHRyYW5zaXRpb25jYW5jZWxgKSxnaT1saShgdHJhbnNpdGlvbmVuZGApLF9pPW5ldyBNYXAsdmk9YGFib3J0IGF1eENsaWNrIGJlZm9yZVRvZ2dsZSBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBmdWxsc2NyZWVuQ2hhbmdlIGZ1bGxzY3JlZW5FcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbGAuc3BsaXQoYCBgKTt2aS5wdXNoKGBzY3JvbGxFbmRgKTtmdW5jdGlvbiB5aShlLHQpe19pLnNldChlLHQpLEd0KHQsW2VdKX12YXIgYmk9MDtmdW5jdGlvbiB4aShlLHQpe2lmKGUubmFtZSE9bnVsbCYmZS5uYW1lIT09YGF1dG9gKXJldHVybiBlLm5hbWU7aWYodC5hdXRvTmFtZSE9PW51bGwpcmV0dXJuIHQuYXV0b05hbWU7ZT15ZC5pZGVudGlmaWVyUHJlZml4O3ZhciBuPWJpKys7cmV0dXJuIGU9YF9gK2UrYHRfYCtuLnRvU3RyaW5nKDMyKStgX2AsdC5hdXRvTmFtZT1lfWZ1bmN0aW9uIFNpKGUpe2lmKGU9PW51bGx8fHR5cGVvZiBlPT1gc3RyaW5nYClyZXR1cm4gZTt2YXIgdD1udWxsLG49RGQ7aWYobiE9PW51bGwpZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBpPWVbbltyXV07aWYoaSE9bnVsbCl7aWYoaT09PWBub25lYClyZXR1cm5gbm9uZWA7dD10PT1udWxsP2k6dCsoYCBgK2kpfX1yZXR1cm4gdD8_ZS5kZWZhdWx0fWZ1bmN0aW9uIENpKGUsdCl7cmV0dXJuIGU9U2koZSksdD1TaSh0KSx0PT1udWxsP2U9PT1gYXV0b2A_bnVsbDplOnQ9PT1gYXV0b2A_bnVsbDp0fXZhciB3aT10eXBlb2YgcmVwb3J0RXJyb3I9PWBmdW5jdGlvbmA_cmVwb3J0RXJyb3I6ZnVuY3Rpb24oZSl7aWYodHlwZW9mIHdpbmRvdz09YG9iamVjdGAmJnR5cGVvZiB3aW5kb3cuRXJyb3JFdmVudD09YGZ1bmN0aW9uYCl7dmFyIHQ9bmV3IHdpbmRvdy5FcnJvckV2ZW50KGBlcnJvcmAse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxtZXNzYWdlOnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmdHlwZW9mIGUubWVzc2FnZT09YHN0cmluZ2A_U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PWBvYmplY3RgJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT1gZnVuY3Rpb25gKXtwcm9jZXNzLmVtaXQoYHVuY2F1Z2h0RXhjZXB0aW9uYCxlKTtyZXR1cm59Y29uc29sZS5lcnJvcihlKX0sVGk9W10sRWk9MCxEaT0wO2Z1bmN0aW9uIE9pKCl7Zm9yKHZhciBlPUVpLHQ9RGk9RWk9MDt0PGU7KXt2YXIgbj1UaVt0XTtUaVt0KytdPW51bGw7dmFyIHI9VGlbdF07VGlbdCsrXT1udWxsO3ZhciBpPVRpW3RdO1RpW3QrK109bnVsbDt2YXIgYT1UaVt0XTtpZihUaVt0KytdPW51bGwsciE9PW51bGwmJmkhPT1udWxsKXt2YXIgbz1yLnBlbmRpbmc7bz09PW51bGw_aS5uZXh0PWk6KGkubmV4dD1vLm5leHQsby5uZXh0PWkpLHIucGVuZGluZz1pfWEhPT0wJiZNaShuLGksYSl9fWZ1bmN0aW9uIGtpKGUsdCxuLHIpe1RpW0VpKytdPWUsVGlbRWkrK109dCxUaVtFaSsrXT1uLFRpW0VpKytdPXIsRGl8PXIsZS5sYW5lc3w9cixlPWUuYWx0ZXJuYXRlLGUhPT1udWxsJiYoZS5sYW5lc3w9cil9ZnVuY3Rpb24gQWkoZSx0LG4scil7cmV0dXJuIGtpKGUsdCxuLHIpLE5pKGUpfWZ1bmN0aW9uIGppKGUsdCl7cmV0dXJuIGtpKGUsbnVsbCxudWxsLHQpLE5pKGUpfWZ1bmN0aW9uIE1pKGUsdCxuKXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO3IhPT1udWxsJiYoci5sYW5lc3w9bik7Zm9yKHZhciBpPSExLGE9ZS5yZXR1cm47YSE9PW51bGw7KWEuY2hpbGRMYW5lc3w9bixyPWEuYWx0ZXJuYXRlLHIhPT1udWxsJiYoci5jaGlsZExhbmVzfD1uKSxhLnRhZz09PTIyJiYoZT1hLnN0YXRlTm9kZSxlPT09bnVsbHx8ZS5fdmlzaWJpbGl0eSYxfHwoaT0hMCkpLGU9YSxhPWEucmV0dXJuO3JldHVybiBlLnRhZz09PTM_KGE9ZS5zdGF0ZU5vZGUsaSYmdCE9PW51bGwmJihpPTMxLWl0KG4pLGU9YS5oaWRkZW5VcGRhdGVzLHI9ZVtpXSxyPT09bnVsbD9lW2ldPVt0XTpyLnB1c2godCksdC5sYW5lPW58NTM2ODcwOTEyKSxhKTpudWxsfWZ1bmN0aW9uIE5pKGUpe2lmKDUwPE9kKXRocm93IE9kPTAsa2Q9bnVsbCxFcnJvcihzKDE4NSkpO2Zvcih2YXIgdD1lLnJldHVybjt0IT09bnVsbDspZT10LHQ9ZS5yZXR1cm47cmV0dXJuIGUudGFnPT09Mz9lLnN0YXRlTm9kZTpudWxsfXZhciBQaT17fTtmdW5jdGlvbiBGaShlLHQsbixyKXt0aGlzLnRhZz1lLHRoaXMua2V5PW4sdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWZDbGVhbnVwPXRoaXMucmVmPW51bGwsdGhpcy5wZW5kaW5nUHJvcHM9dCx0aGlzLmRlcGVuZGVuY2llcz10aGlzLm1lbW9pemVkU3RhdGU9dGhpcy51cGRhdGVRdWV1ZT10aGlzLm1lbW9pemVkUHJvcHM9bnVsbCx0aGlzLm1vZGU9cix0aGlzLnN1YnRyZWVGbGFncz10aGlzLmZsYWdzPTAsdGhpcy5kZWxldGlvbnM9bnVsbCx0aGlzLmNoaWxkTGFuZXM9dGhpcy5sYW5lcz0wLHRoaXMuYWx0ZXJuYXRlPW51bGx9ZnVuY3Rpb24gSWkoZSx0LG4scil7cmV0dXJuIG5ldyBGaShlLHQsbixyKX1mdW5jdGlvbiBMaShlKXtyZXR1cm4gZT1lLnByb3RvdHlwZSwhKCFlfHwhZS5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiBSaShlLHQpe3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBuPT09bnVsbD8obj1JaShlLnRhZyx0LGUua2V5LGUubW9kZSksbi5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLG4udHlwZT1lLnR5cGUsbi5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsbi5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1uKToobi5wZW5kaW5nUHJvcHM9dCxuLnR5cGU9ZS50eXBlLG4uZmxhZ3M9MCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLG4uZmxhZ3M9ZS5mbGFncyYxMjA2OTEwOTc2LG4uY2hpbGRMYW5lcz1lLmNoaWxkTGFuZXMsbi5sYW5lcz1lLmxhbmVzLG4uY2hpbGQ9ZS5jaGlsZCxuLm1lbW9pemVkUHJvcHM9ZS5tZW1vaXplZFByb3BzLG4ubWVtb2l6ZWRTdGF0ZT1lLm1lbW9pemVkU3RhdGUsbi51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQ9ZS5kZXBlbmRlbmNpZXMsbi5kZXBlbmRlbmNpZXM9dD09PW51bGw_bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9LG4uc2libGluZz1lLnNpYmxpbmcsbi5pbmRleD1lLmluZGV4LG4ucmVmPWUucmVmLG4ucmVmQ2xlYW51cD1lLnJlZkNsZWFudXAsbn1mdW5jdGlvbiB6aShlLHQpe2UuZmxhZ3MmPTEyMDY5MTA5Nzg7dmFyIG49ZS5hbHRlcm5hdGU7cmV0dXJuIG49PT1udWxsPyhlLmNoaWxkTGFuZXM9MCxlLmxhbmVzPXQsZS5jaGlsZD1udWxsLGUuc3VidHJlZUZsYWdzPTAsZS5tZW1vaXplZFByb3BzPW51bGwsZS5tZW1vaXplZFN0YXRlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsLGUuZGVwZW5kZW5jaWVzPW51bGwsZS5zdGF0ZU5vZGU9bnVsbCk6KGUuY2hpbGRMYW5lcz1uLmNoaWxkTGFuZXMsZS5sYW5lcz1uLmxhbmVzLGUuY2hpbGQ9bi5jaGlsZCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGwsZS5tZW1vaXplZFByb3BzPW4ubWVtb2l6ZWRQcm9wcyxlLm1lbW9pemVkU3RhdGU9bi5tZW1vaXplZFN0YXRlLGUudXBkYXRlUXVldWU9bi51cGRhdGVRdWV1ZSxlLnR5cGU9bi50eXBlLHQ9bi5kZXBlbmRlbmNpZXMsZS5kZXBlbmRlbmNpZXM9dD09PW51bGw_bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9KSxlfWZ1bmN0aW9uIEJpKGUsdCxuLHIsaSxhKXt2YXIgbz0wO2lmKHI9ZSx0eXBlb2Ygcj09YGZ1bmN0aW9uYClMaShyKSYmKG89MSk7ZWxzZSBpZih0eXBlb2Ygcj09YHN0cmluZ2Apbz1xbShlLG4sRWUuY3VycmVudCk_MjY6ZT09PWBodG1sYHx8ZT09PWBoZWFkYHx8ZT09PWBib2R5YD8yNzo1O2Vsc2UgYTpzd2l0Y2gocil7Y2FzZSB1ZTpyZXR1cm4gZT1JaSgzMSxuLHQsaSksZS5lbGVtZW50VHlwZT11ZSxlLmxhbmVzPWEsZTtjYXNlIG5lOnJldHVybiBWaShuLmNoaWxkcmVuLGksYSx0KTtjYXNlIHJlOm89OCxpfD0yNDticmVhaztjYXNlIGllOnJldHVybiBlPUlpKDEyLG4sdCxpfDIpLGUuZWxlbWVudFR5cGU9aWUsZS5sYW5lcz1hLGU7Y2FzZSBvZTpyZXR1cm4gZT1JaSgxMyxuLHQsaSksZS5lbGVtZW50VHlwZT1vZSxlLmxhbmVzPWEsZTtjYXNlIHNlOnJldHVybiBlPUlpKDE5LG4sdCxpKSxlLmVsZW1lbnRUeXBlPXNlLGUubGFuZXM9YSxlO2Nhc2UgZGU6Y2FzZSBwZTpyZXR1cm4gZT1pfDMyLGU9SWkoMzAsbix0LGUpLGUuZWxlbWVudFR5cGU9cGUsZS5sYW5lcz1hLGUuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSxlO2RlZmF1bHQ6aWYodHlwZW9mIHI9PWBvYmplY3RgJiZyKXN3aXRjaChyLiQkdHlwZW9mKXtjYXNlIEE6bz0xMDticmVhayBhO2Nhc2UgazpvPTk7YnJlYWsgYTtjYXNlIGFlOm89MTE7YnJlYWsgYTtjYXNlIGNlOm89MTQ7YnJlYWsgYTtjYXNlIGxlOm89MTYscj1udWxsO2JyZWFrIGF9bz0yOSxuPUVycm9yKHMoMTMwLGU9PT1udWxsP2BudWxsYDp0eXBlb2YgZSxgYCkpLHI9bnVsbH1yZXR1cm4gdD1JaShvLG4sdCxpKSx0LmVsZW1lbnRUeXBlPWUsdC50eXBlPXIsdC5sYW5lcz1hLHR9ZnVuY3Rpb24gVmkoZSx0LG4scil7cmV0dXJuIGU9SWkoNyxlLHIsdCksZS5sYW5lcz1uLGV9ZnVuY3Rpb24gSGkoZSx0LG4pe3JldHVybiBlPUlpKDYsZSxudWxsLHQpLGUubGFuZXM9bixlfWZ1bmN0aW9uIFVpKGUpe3ZhciB0PUlpKDE4LG51bGwsbnVsbCwwKTtyZXR1cm4gdC5zdGF0ZU5vZGU9ZSx0fWZ1bmN0aW9uIFdpKGUsdCxuKXtyZXR1cm4gdD1JaSg0LGUuY2hpbGRyZW49PT1udWxsP1tdOmUuY2hpbGRyZW4sZS5rZXksdCksdC5sYW5lcz1uLHQuc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSx0fXZhciBHaT1uZXcgV2Vha01hcDtmdW5jdGlvbiBLaShlLHQpe2lmKHR5cGVvZiBlPT1gb2JqZWN0YCYmZSl7dmFyIG49R2kuZ2V0KGUpO3JldHVybiBuPT09dm9pZCAwPyh0PXt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOkJlKHQpfSxHaS5zZXQoZSx0KSx0KTpufXJldHVybnt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOkJlKHQpfX12YXIgcWk9W10sSmk9MCxJPW51bGwsWWk9MCxYaT1bXSxaaT0wLFFpPW51bGwsJGk9MSxlYT1gYDtmdW5jdGlvbiB0YShlLHQpe3FpW0ppKytdPVlpLHFpW0ppKytdPUksST1lLFlpPXR9ZnVuY3Rpb24gbmEoZSx0LG4pe1hpW1ppKytdPSRpLFhpW1ppKytdPWVhLFhpW1ppKytdPVFpLFFpPWU7dmFyIHI9JGk7ZT1lYTt2YXIgaT0zMi1pdChyKS0xO3ImPX4oMTw8aSksbis9MTt2YXIgYT0zMi1pdCh0KStpO2lmKDMwPGEpe3ZhciBvPWktaSU1O2E9KHImKDE8PG8pLTEpLnRvU3RyaW5nKDMyKSxyPj49byxpLT1vLCRpPTE8PDMyLWl0KHQpK2l8bjw8aXxyLGVhPWErZX1lbHNlICRpPTE8PGF8bjw8aXxyLGVhPWV9ZnVuY3Rpb24gcmEoZSl7ZS5yZXR1cm4hPT1udWxsJiYodGEoZSwxKSxuYShlLDEsMCkpfWZ1bmN0aW9uIGlhKGUpe2Zvcig7ZT09PUk7KUk9cWlbLS1KaV0scWlbSmldPW51bGwsWWk9cWlbLS1KaV0scWlbSmldPW51bGw7Zm9yKDtlPT09UWk7KVFpPVhpWy0tWmldLFhpW1ppXT1udWxsLGVhPVhpWy0tWmldLFhpW1ppXT1udWxsLCRpPVhpWy0tWmldLFhpW1ppXT1udWxsfWZ1bmN0aW9uIGFhKGUsdCl7WGlbWmkrK109JGksWGlbWmkrK109ZWEsWGlbWmkrK109UWksJGk9dC5pZCxlYT10Lm92ZXJmbG93LFFpPWV9dmFyIG9hPW51bGwsc2E9bnVsbCxMPSExLGNhPW51bGwsbGE9ITEsdWE9RXJyb3Iocyg1MTkpKTtmdW5jdGlvbiBkYShlKXt0aHJvdyBfYShLaShFcnJvcihzKDQxOCwxPGFyZ3VtZW50cy5sZW5ndGgmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMCYmYXJndW1lbnRzWzFdP2B0ZXh0YDpgSFRNTGAsYGApKSxlKSksdWF9ZnVuY3Rpb24gZmEoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGUsbj1lLnR5cGUscj1lLm1lbW9pemVkUHJvcHM7c3dpdGNoKHRbRHRdPWUsdFtPdF09cixuKXtjYXNlYGRpYWxvZ2A6JChgY2FuY2VsYCx0KSwkKGBjbG9zZWAsdCk7YnJlYWs7Y2FzZWBpZnJhbWVgOmNhc2Vgb2JqZWN0YDpjYXNlYGVtYmVkYDokKGBsb2FkYCx0KTticmVhaztjYXNlYHZpZGVvYDpjYXNlYGF1ZGlvYDpmb3Iobj0wO248UmYubGVuZ3RoO24rKykkKFJmW25dLHQpO2JyZWFrO2Nhc2Vgc291cmNlYDokKGBlcnJvcmAsdCk7YnJlYWs7Y2FzZWBpbWdgOmNhc2VgaW1hZ2VgOmNhc2VgbGlua2A6JChgZXJyb3JgLHQpLCQoYGxvYWRgLHQpO2JyZWFrO2Nhc2VgZGV0YWlsc2A6JChgdG9nZ2xlYCx0KTticmVhaztjYXNlYGlucHV0YDokKGBpbnZhbGlkYCx0KSx1bih0LHIudmFsdWUsci5kZWZhdWx0VmFsdWUsci5jaGVja2VkLHIuZGVmYXVsdENoZWNrZWQsci50eXBlLHIubmFtZSwhMCk7YnJlYWs7Y2FzZWBzZWxlY3RgOiQoYGludmFsaWRgLHQpO2JyZWFrO2Nhc2VgdGV4dGFyZWFgOiQoYGludmFsaWRgLHQpLG1uKHQsci52YWx1ZSxyLmRlZmF1bHRWYWx1ZSxyLmNoaWxkcmVuKX1uPXIuY2hpbGRyZW4sdHlwZW9mIG4hPWBzdHJpbmdgJiZ0eXBlb2YgbiE9YG51bWJlcmAmJnR5cGVvZiBuIT1gYmlnaW50YHx8dC50ZXh0Q29udGVudD09PWBgK258fCEwPT09ci5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmd8fCRmKHQudGV4dENvbnRlbnQsbik_KHIucG9wb3ZlciE9bnVsbCYmKCQoYGJlZm9yZXRvZ2dsZWAsdCksJChgdG9nZ2xlYCx0KSksci5vblNjcm9sbCE9bnVsbCYmJChgc2Nyb2xsYCx0KSxyLm9uU2Nyb2xsRW5kIT1udWxsJiYkKGBzY3JvbGxlbmRgLHQpLHIub25DbGljayE9bnVsbCYmKHQub25jbGljaz1DbiksdD0hMCk6dD0hMSx0fHxkYShlLCEwKX1mdW5jdGlvbiBwYShlKXtmb3Iob2E9ZS5yZXR1cm47b2E7KXN3aXRjaChvYS50YWcpe2Nhc2UgNTpjYXNlIDMxOmNhc2UgMTM6bGE9ITE7cmV0dXJuO2Nhc2UgMjc6Y2FzZSAzOmxhPSEwO3JldHVybjtkZWZhdWx0Om9hPW9hLnJldHVybn19ZnVuY3Rpb24gbWEoZSl7aWYoZSE9PW9hKXJldHVybiExO2lmKCFMKXJldHVybiBwYShlKSxMPSEwLCExO3ZhciB0PWUudGFnLG47aWYoKG49dCE9PTMmJnQhPT0yNykmJigobj10PT09NSkmJihuPWUudHlwZSxuPW49PT1gZm9ybWB8fG49PT1gYnV0dG9uYHx8cHAoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG49IW4pLG4mJnNhJiZkYShlKSxwYShlKSx0PT09MTMpe2lmKGU9ZS5tZW1vaXplZFN0YXRlLGU9ZT09PW51bGw_bnVsbDplLmRlaHlkcmF0ZWQsIWUpdGhyb3cgRXJyb3IocygzMTcpKTtzYT1kbShlKX1lbHNlIGlmKHQ9PT0zMSl7aWYoZT1lLm1lbW9pemVkU3RhdGUsZT1lPT09bnVsbD9udWxsOmUuZGVoeWRyYXRlZCwhZSl0aHJvdyBFcnJvcihzKDMxNykpO3NhPWRtKGUpfWVsc2UgdD09PTI3Pyh0PXNhLFNwKGUudHlwZSk_KGU9dW0sdW09bnVsbCxzYT1lKTpzYT10KTpzYT1vYT9sbShlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBoYSgpe3NhPW9hPW51bGwsTD0hMX1mdW5jdGlvbiBnYSgpe3ZhciBlPWNhO3JldHVybiBlIT09bnVsbCYmKGRkPT09bnVsbD9kZD1lOmRkLnB1c2guYXBwbHkoZGQsZSksY2E9bnVsbCksZX1mdW5jdGlvbiBfYShlKXtjYT09PW51bGw_Y2E9W2VdOmNhLnB1c2goZSl9dmFyIHZhPUNlKG51bGwpLHlhPW51bGwsYmE9bnVsbDtmdW5jdGlvbiB4YShlLHQsbil7VGUodmEsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9bn1mdW5jdGlvbiBTYShlKXtlLl9jdXJyZW50VmFsdWU9dmEuY3VycmVudCx3ZSh2YSl9ZnVuY3Rpb24gQ2EoZSx0LG4pe2Zvcig7ZSE9PW51bGw7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJnQpPT09dD9yIT09bnVsbCYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpOihlLmNoaWxkTGFuZXN8PXQsciE9PW51bGwmJihyLmNoaWxkTGFuZXN8PXQpKSxlPT09bilicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiB3YShlLHQsbixyKXt2YXIgaT1lLmNoaWxkO2ZvcihpIT09bnVsbCYmKGkucmV0dXJuPWUpO2khPT1udWxsOyl7dmFyIGE9aS5kZXBlbmRlbmNpZXM7aWYoYSE9PW51bGwpe3ZhciBvPWkuY2hpbGQ7YT1hLmZpcnN0Q29udGV4dDthOmZvcig7YSE9PW51bGw7KXt2YXIgYz1hO2E9aTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKylpZihjLmNvbnRleHQ9PT10W2xdKXthLmxhbmVzfD1uLGM9YS5hbHRlcm5hdGUsYyE9PW51bGwmJihjLmxhbmVzfD1uKSxDYShhLnJldHVybixuLGUpLHJ8fChvPW51bGwpO2JyZWFrIGF9YT1jLm5leHR9fWVsc2UgaWYoaS50YWc9PT0xOCl7aWYobz1pLnJldHVybixvPT09bnVsbCl0aHJvdyBFcnJvcihzKDM0MSkpO28ubGFuZXN8PW4sYT1vLmFsdGVybmF0ZSxhIT09bnVsbCYmKGEubGFuZXN8PW4pLENhKG8sbixlKSxvPW51bGx9ZWxzZSBpLnRhZz09PTEzJiZpLm1lbW9pemVkU3RhdGUhPT1udWxsJiZpLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZD09PW51bGw_KGkubGFuZXN8PW4sbz1pLmFsdGVybmF0ZSxvIT09bnVsbCYmKG8ubGFuZXN8PW4pLENhKGkucmV0dXJuLG4sZSksbz1pLmNoaWxkLG89bz09PW51bGw_bnVsbDpvLnNpYmxpbmcpOm89aS5jaGlsZDtpZihvIT09bnVsbClvLnJldHVybj1pO2Vsc2UgZm9yKG89aTtvIT09bnVsbDspe2lmKG89PT1lKXtvPW51bGw7YnJlYWt9aWYoaT1vLnNpYmxpbmcsaSE9PW51bGwpe2kucmV0dXJuPW8ucmV0dXJuLG89aTticmVha31vPW8ucmV0dXJufWk9b319ZnVuY3Rpb24gVGEoZSx0LG4scil7ZT1udWxsO2Zvcih2YXIgaT10LGE9ITE7aSE9PW51bGw7KXtpZighYSl7aWYoaS5mbGFncyY1MjQyODgpYT0hMDtlbHNlIGlmKGkuZmxhZ3MmMjYyMTQ0KWJyZWFrfWlmKGkudGFnPT09MTApe3ZhciBvPWkuYWx0ZXJuYXRlO2lmKG89PT1udWxsKXRocm93IEVycm9yKHMoMzg3KSk7aWYobz1vLm1lbW9pemVkUHJvcHMsbyE9PW51bGwpe3ZhciBjPWkudHlwZTtLcihpLnBlbmRpbmdQcm9wcy52YWx1ZSxvLnZhbHVlKXx8KGU9PT1udWxsP2U9W2NdOmUucHVzaChjKSl9fWVsc2UgaWYoaT09PWtlLmN1cnJlbnQpe2lmKG89aS5hbHRlcm5hdGUsbz09PW51bGwpdGhyb3cgRXJyb3IocygzODcpKTtvLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSE9PWkubWVtb2l6ZWRTdGF0ZS5tZW1vaXplZFN0YXRlJiYoZT09PW51bGw_ZT1bc2hdOmUucHVzaChzaCkpfWk9aS5yZXR1cm59cmV0dXJuIGUhPT1udWxsJiZ3YSh0LGUsbixyKSx0LmZsYWdzfD0yNjIxNDQsZSE9PW51bGx9ZnVuY3Rpb24gRWEoZSl7Zm9yKGU9ZS5maXJzdENvbnRleHQ7ZSE9PW51bGw7KXtpZighS3IoZS5jb250ZXh0Ll9jdXJyZW50VmFsdWUsZS5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtlPWUubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBEYShlKXt5YT1lLGJhPW51bGwsZT1lLmRlcGVuZGVuY2llcyxlIT09bnVsbCYmKGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIE9hKGUpe3JldHVybiBBYSh5YSxlKX1mdW5jdGlvbiBrYShlLHQpe3JldHVybiB5YT09PW51bGwmJkRhKGUpLEFhKGUsdCl9ZnVuY3Rpb24gQWEoZSx0KXt2YXIgbj10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LGJhPT09bnVsbCl7aWYoZT09PW51bGwpdGhyb3cgRXJyb3IocygzMDgpKTtiYT10LGUuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxlLmZsYWdzfD01MjQyODh9ZWxzZSBiYT1iYS5uZXh0PXQ7cmV0dXJuIG59dmFyIGphPXR5cGVvZiBBYm9ydENvbnRyb2xsZXI8YHVgP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LG4pe2UucHVzaChuKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX19LE1hPXQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxOYT10LnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LFBhPXskJHR5cGVvZjpBLENvbnN1bWVyOm51bGwsUHJvdmlkZXI6bnVsbCxfY3VycmVudFZhbHVlOm51bGwsX2N1cnJlbnRWYWx1ZTI6bnVsbCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gRmEoKXtyZXR1cm57Y29udHJvbGxlcjpuZXcgamEsZGF0YTpuZXcgTWFwLHJlZkNvdW50OjB9fWZ1bmN0aW9uIElhKGUpe2UucmVmQ291bnQtLSxlLnJlZkNvdW50PT09MCYmTWEoTmEsZnVuY3Rpb24oKXtlLmNvbnRyb2xsZXIuYWJvcnQoKX0pfWZ1bmN0aW9uIExhKGUsdCl7aWYoZS5wZW5kaW5nTGFuZXMmNDE5NDA0OCl7dmFyIG49ZS50cmFuc2l0aW9uVHlwZXM7Zm9yKG49PT1udWxsJiYobj1lLnRyYW5zaXRpb25UeXBlcz1bXSksZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO24uaW5kZXhPZihyKT09PS0xJiZuLnB1c2gocil9fX12YXIgUmE9bnVsbDtmdW5jdGlvbiB6YShlKXt2YXIgdD1lLnRyYW5zaXRpb25UeXBlcztyZXR1cm4gZS50cmFuc2l0aW9uVHlwZXM9bnVsbCx0fXZhciBCYT1udWxsLFZhPTAsSGE9MCxVYT1udWxsO2Z1bmN0aW9uIFIoZSx0KXtpZihCYT09PW51bGwpe3ZhciBuPUJhPVtdO1ZhPTAsSGE9TmYoKSxVYT17c3RhdHVzOmBwZW5kaW5nYCx2YWx1ZTp2b2lkIDAsdGhlbjpmdW5jdGlvbihlKXtuLnB1c2goZSl9fX1yZXR1cm4gVmErKyx0LnRoZW4oV2EsV2EpLHR9ZnVuY3Rpb24gV2EoKXtpZigtLVZhPT09MCYmKFJhPW51bGwsQmEhPT1udWxsKSl7VWEhPT1udWxsJiYoVWEuc3RhdHVzPWBmdWxmaWxsZWRgKTt2YXIgZT1CYTtCYT1udWxsLEhhPTAsVWE9bnVsbDtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKykoMCxlW3RdKSgpfX1mdW5jdGlvbiBHYShlLHQpe3ZhciBuPVtdLHI9e3N0YXR1czpgcGVuZGluZ2AsdmFsdWU6bnVsbCxyZWFzb246bnVsbCx0aGVuOmZ1bmN0aW9uKGUpe24ucHVzaChlKX19O3JldHVybiBlLnRoZW4oZnVuY3Rpb24oKXtyLnN0YXR1cz1gZnVsZmlsbGVkYCxyLnZhbHVlPXQ7Zm9yKHZhciBlPTA7ZTxuLmxlbmd0aDtlKyspKDAsbltlXSkodCl9LGZ1bmN0aW9uKGUpe2ZvcihyLnN0YXR1cz1gcmVqZWN0ZWRgLHIucmVhc29uPWUsZT0wO2U8bi5sZW5ndGg7ZSsrKSgwLG5bZV0pKHZvaWQgMCl9KSxyfXZhciBLYT1qLlM7ai5TPWZ1bmN0aW9uKGUsdCl7aWYobWQ9S2UoKSx0eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmAmJlIoZSx0KSxSYSE9PW51bGwpZm9yKHZhciBuPXlmO24hPT1udWxsOylMYShuLFJhKSxuPW4ubmV4dDtpZihuPWUudHlwZXMsbiE9PW51bGwpe2Zvcih2YXIgcj15ZjtyIT09bnVsbDspTGEocixuKSxyPXIubmV4dDtpZihIYSE9PTApe3I9UmEscj09PW51bGwmJihyPVJhPVtdKTtmb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIGE9bltpXTtyLmluZGV4T2YoYSk9PT0tMSYmci5wdXNoKGEpfX19S2EhPT1udWxsJiZLYShlLHQpfTt2YXIgcWE9Q2UobnVsbCk7ZnVuY3Rpb24gSmEoKXt2YXIgZT1xYS5jdXJyZW50O3JldHVybiBlPT09bnVsbD9RdS5wb29sZWRDYWNoZTplfWZ1bmN0aW9uIFlhKGUsdCl7dD09PW51bGw_VGUocWEscWEuY3VycmVudCk6VGUocWEsdC5wb29sKX1mdW5jdGlvbiBYYSgpe3ZhciBlPUphKCk7cmV0dXJuIGU9PT1udWxsP251bGw6e3BhcmVudDpQYS5fY3VycmVudFZhbHVlLHBvb2w6ZX19dmFyIFphPUVycm9yKHMoNDYwKSksUWE9RXJyb3Iocyg0NzQpKSwkYT1FcnJvcihzKDU0MikpLGVvPXt0aGVuOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gdG8oZSl7cmV0dXJuIGU9ZS5zdGF0dXMsZT09PWBmdWxmaWxsZWRgfHxlPT09YHJlamVjdGVkYH1mdW5jdGlvbiBubyhlLHQsbil7c3dpdGNoKG49ZVtuXSxuPT09dm9pZCAwP2UucHVzaCh0KTpuIT09dCYmKHQudGhlbihDbixDbiksdD1uKSx0LnN0YXR1cyl7Y2FzZWBmdWxmaWxsZWRgOnJldHVybiB0LnZhbHVlO2Nhc2VgcmVqZWN0ZWRgOnRocm93IGU9dC5yZWFzb24sb28oZSksZT09PXZvaWQgMCYmIShgcmVhc29uYGluIHQpP0Vycm9yKHMoNjAwKSk6ZTtkZWZhdWx0OmlmKHR5cGVvZiB0LnN0YXR1cz09YHN0cmluZ2ApdC50aGVuKENuLENuKTtlbHNle2lmKGU9UXUsZSE9PW51bGwmJjEwMDxlLnNoZWxsU3VzcGVuZENvdW50ZXIpdGhyb3cgRXJyb3Iocyg0ODIpKTtlPXQsZS5zdGF0dXM9YHBlbmRpbmdgLGUudGhlbihmdW5jdGlvbihlKXtpZih0LnN0YXR1cz09PWBwZW5kaW5nYCl7dmFyIG49dDtuLnN0YXR1cz1gZnVsZmlsbGVkYCxuLnZhbHVlPWV9fSxmdW5jdGlvbihlKXtpZih0LnN0YXR1cz09PWBwZW5kaW5nYCl7dmFyIG49dDtuLnN0YXR1cz1gcmVqZWN0ZWRgLG4ucmVhc29uPWV9fSl9c3dpdGNoKHQuc3RhdHVzKXtjYXNlYGZ1bGZpbGxlZGA6cmV0dXJuIHQudmFsdWU7Y2FzZWByZWplY3RlZGA6dGhyb3cgZT10LnJlYXNvbixvbyhlKSxlfXRocm93IGlvPXQsWmF9fWZ1bmN0aW9uIHJvKGUpe3RyeXt2YXIgdD1lLl9pbml0O3JldHVybiB0KGUuX3BheWxvYWQpfWNhdGNoKGUpe3Rocm93IHR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmdHlwZW9mIGUudGhlbj09YGZ1bmN0aW9uYD8oaW89ZSxaYSk6ZX19dmFyIGlvPW51bGw7ZnVuY3Rpb24gYW8oKXtpZihpbz09PW51bGwpdGhyb3cgRXJyb3Iocyg0NTkpKTt2YXIgZT1pbztyZXR1cm4gaW89bnVsbCxlfWZ1bmN0aW9uIG9vKGUpe2lmKGU9PT1aYXx8ZT09PSRhKXRocm93IEVycm9yKHMoNDgzKSl9dmFyIHNvPW51bGwsY289MDtmdW5jdGlvbiBsbyhlKXt2YXIgdD1jbztyZXR1cm4gY28rPTEsc289PT1udWxsJiYoc289W10pLG5vKHNvLGUsdCl9ZnVuY3Rpb24gdW8oZSx0KXt0PXQucHJvcHMucmVmLGUucmVmPXQ9PT12b2lkIDA_bnVsbDp0fWZ1bmN0aW9uIGZvKGUsdCl7dGhyb3cgdC4kJHR5cGVvZj09PWVlP0Vycm9yKHMoNTI1KSk6KGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLEVycm9yKHMoMzEsZT09PWBbb2JqZWN0IE9iamVjdF1gP2BvYmplY3Qgd2l0aCBrZXlzIHtgK09iamVjdC5rZXlzKHQpLmpvaW4oYCwgYCkrYH1gOmUpKSl9ZnVuY3Rpb24gcG8oZSl7ZnVuY3Rpb24gdCh0LG4pe2lmKGUpe3ZhciByPXQuZGVsZXRpb25zO3I9PT1udWxsPyh0LmRlbGV0aW9ucz1bbl0sdC5mbGFnc3w9MTYpOnIucHVzaChuKX19ZnVuY3Rpb24gbihuLHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7ciE9PW51bGw7KXQobixyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUpe2Zvcih2YXIgdD1uZXcgTWFwO2UhPT1udWxsOyllLmtleT09PW51bGw_dC5zZXQoZS5pbmRleCxlKTp0LnNldChlLmtleSxlKSxlPWUuc2libGluZztyZXR1cm4gdH1mdW5jdGlvbiBpKGUsdCl7cmV0dXJuIGU9UmkoZSx0KSxlLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiBhKHQsbixyKXtyZXR1cm4gdC5pbmRleD1yLGU_KHI9dC5hbHRlcm5hdGUscj09PW51bGw_KHQuZmxhZ3N8PTEzNDIxNzczMCxuKToocj1yLmluZGV4LHI8bj8odC5mbGFnc3w9MixuKTpyKSk6KHQuZmxhZ3N8PTEwNDg1NzYsbil9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZSYmdC5hbHRlcm5hdGU9PT1udWxsJiYodC5mbGFnc3w9MTM0MjE3NzMwKSx0fWZ1bmN0aW9uIGMoZSx0LG4scil7cmV0dXJuIHQ9PT1udWxsfHx0LnRhZyE9PTY_KHQ9SGkobixlLm1vZGUsciksdC5yZXR1cm49ZSx0KToodD1pKHQsbiksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBsKGUsdCxuLHIpe3ZhciBhPW4udHlwZTtyZXR1cm4gYT09PW5lPyhlPWQoZSx0LG4ucHJvcHMuY2hpbGRyZW4scixuLmtleSksdW8oZSxuKSxlKTp0IT09bnVsbCYmKHQuZWxlbWVudFR5cGU9PT1hfHx0eXBlb2YgYT09YG9iamVjdGAmJmEmJmEuJCR0eXBlb2Y9PT1sZSYmcm8oYSk9PT10LnR5cGUpPyh0PWkodCxuLnByb3BzKSx1byh0LG4pLHQucmV0dXJuPWUsdCk6KHQ9Qmkobi50eXBlLG4ua2V5LG4ucHJvcHMsbnVsbCxlLm1vZGUsciksdW8odCxuKSx0LnJldHVybj1lLHQpfWZ1bmN0aW9uIHUoZSx0LG4scil7cmV0dXJuIHQ9PT1udWxsfHx0LnRhZyE9PTR8fHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8hPT1uLmNvbnRhaW5lckluZm98fHQuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uIT09bi5pbXBsZW1lbnRhdGlvbj8odD1XaShuLGUubW9kZSxyKSx0LnJldHVybj1lLHQpOih0PWkodCxuLmNoaWxkcmVufHxbXSksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBkKGUsdCxuLHIsYSl7cmV0dXJuIHQ9PT1udWxsfHx0LnRhZyE9PTc_KHQ9VmkobixlLm1vZGUscixhKSx0LnJldHVybj1lLHQpOih0PWkodCxuKSx0LnJldHVybj1lLHQpfWZ1bmN0aW9uIGYoZSx0LG4pe2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmdCE9PWBgfHx0eXBlb2YgdD09YG51bWJlcmB8fHR5cGVvZiB0PT1gYmlnaW50YClyZXR1cm4gdD1IaShgYCt0LGUubW9kZSxuKSx0LnJldHVybj1lLHQ7aWYodHlwZW9mIHQ9PWBvYmplY3RgJiZ0KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBPOnJldHVybiBuPUJpKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLG4pLHVvKG4sdCksbi5yZXR1cm49ZSxuO2Nhc2UgdGU6cmV0dXJuIHQ9V2kodCxlLm1vZGUsbiksdC5yZXR1cm49ZSx0O2Nhc2UgbGU6cmV0dXJuIHQ9cm8odCksZihlLHQsbil9aWYoeWUodCl8fGdlKHQpKXJldHVybiB0PVZpKHQsZS5tb2RlLG4sbnVsbCksdC5yZXR1cm49ZSx0O2lmKHR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmApcmV0dXJuIGYoZSxsbyh0KSxuKTtpZih0LiQkdHlwZW9mPT09QSlyZXR1cm4gZihlLGthKGUsdCksbik7Zm8oZSx0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsdCxuLHIpe3ZhciBpPXQ9PT1udWxsP251bGw6dC5rZXk7aWYodHlwZW9mIG49PWBzdHJpbmdgJiZuIT09YGB8fHR5cGVvZiBuPT1gbnVtYmVyYHx8dHlwZW9mIG49PWBiaWdpbnRgKXJldHVybiBpPT09bnVsbD9jKGUsdCxgYCtuLHIpOm51bGw7aWYodHlwZW9mIG49PWBvYmplY3RgJiZuKXtzd2l0Y2gobi4kJHR5cGVvZil7Y2FzZSBPOnJldHVybiBuLmtleT09PWk_bChlLHQsbixyKTpudWxsO2Nhc2UgdGU6cmV0dXJuIG4ua2V5PT09aT91KGUsdCxuLHIpOm51bGw7Y2FzZSBsZTpyZXR1cm4gbj1ybyhuKSxwKGUsdCxuLHIpfWlmKHllKG4pfHxnZShuKSlyZXR1cm4gaT09PW51bGw_ZChlLHQsbixyLG51bGwpOm51bGw7aWYodHlwZW9mIG4udGhlbj09YGZ1bmN0aW9uYClyZXR1cm4gcChlLHQsbG8obikscik7aWYobi4kJHR5cGVvZj09PUEpcmV0dXJuIHAoZSx0LGthKGUsbikscik7Zm8oZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBtKGUsdCxuLHIsaSl7aWYodHlwZW9mIHI9PWBzdHJpbmdgJiZyIT09YGB8fHR5cGVvZiByPT1gbnVtYmVyYHx8dHlwZW9mIHI9PWBiaWdpbnRgKXJldHVybiBlPWUuZ2V0KG4pfHxudWxsLGModCxlLGBgK3IsaSk7aWYodHlwZW9mIHI9PWBvYmplY3RgJiZyKXtzd2l0Y2goci4kJHR5cGVvZil7Y2FzZSBPOnJldHVybiBlPWUuZ2V0KHIua2V5PT09bnVsbD9uOnIua2V5KXx8bnVsbCxsKHQsZSxyLGkpO2Nhc2UgdGU6cmV0dXJuIGU9ZS5nZXQoci5rZXk9PT1udWxsP246ci5rZXkpfHxudWxsLHUodCxlLHIsaSk7Y2FzZSBsZTpyZXR1cm4gcj1ybyhyKSxtKGUsdCxuLHIsaSl9aWYoeWUocil8fGdlKHIpKXJldHVybiBlPWUuZ2V0KG4pfHxudWxsLGQodCxlLHIsaSxudWxsKTtpZih0eXBlb2Ygci50aGVuPT1gZnVuY3Rpb25gKXJldHVybiBtKGUsdCxuLGxvKHIpLGkpO2lmKHIuJCR0eXBlb2Y9PT1BKXJldHVybiBtKGUsdCxuLGthKHQsciksaSk7Zm8odCxyKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKGksbyxzLGMpe2Zvcih2YXIgbD1udWxsLHU9bnVsbCxkPW8saD1vPTAsZz1udWxsO2QhPT1udWxsJiZoPHMubGVuZ3RoO2grKyl7ZC5pbmRleD5oPyhnPWQsZD1udWxsKTpnPWQuc2libGluZzt2YXIgXz1wKGksZCxzW2hdLGMpO2lmKF89PT1udWxsKXtkPT09bnVsbCYmKGQ9Zyk7YnJlYWt9ZSYmZCYmXy5hbHRlcm5hdGU9PT1udWxsJiZ0KGksZCksbz1hKF8sbyxoKSx1PT09bnVsbD9sPV86dS5zaWJsaW5nPV8sdT1fLGQ9Z31pZihoPT09cy5sZW5ndGgpcmV0dXJuIG4oaSxkKSxMJiZ0YShpLGgpLGw7aWYoZD09PW51bGwpe2Zvcig7aDxzLmxlbmd0aDtoKyspZD1mKGksc1toXSxjKSxkIT09bnVsbCYmKG89YShkLG8saCksdT09PW51bGw_bD1kOnUuc2libGluZz1kLHU9ZCk7cmV0dXJuIEwmJnRhKGksaCksbH1mb3IoZD1yKGQpO2g8cy5sZW5ndGg7aCsrKWc9bShkLGksaCxzW2hdLGMpLGchPT1udWxsJiYoZSYmKF89Zy5hbHRlcm5hdGUsXyE9PW51bGwmJmQuZGVsZXRlKF8ua2V5PT09bnVsbD9oOl8ua2V5KSksbz1hKGcsbyxoKSx1PT09bnVsbD9sPWc6dS5zaWJsaW5nPWcsdT1nKTtyZXR1cm4gZSYmZC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGksZSl9KSxMJiZ0YShpLGgpLGx9ZnVuY3Rpb24gZyhpLG8sYyxsKXtpZihjPT1udWxsKXRocm93IEVycm9yKHMoMTUxKSk7Zm9yKHZhciB1PW51bGwsZD1udWxsLGg9byxnPW89MCxfPW51bGwsdj1jLm5leHQoKTtoIT09bnVsbCYmIXYuZG9uZTtnKyssdj1jLm5leHQoKSl7aC5pbmRleD5nPyhfPWgsaD1udWxsKTpfPWguc2libGluZzt2YXIgeT1wKGksaCx2LnZhbHVlLGwpO2lmKHk9PT1udWxsKXtoPT09bnVsbCYmKGg9Xyk7YnJlYWt9ZSYmaCYmeS5hbHRlcm5hdGU9PT1udWxsJiZ0KGksaCksbz1hKHksbyxnKSxkPT09bnVsbD91PXk6ZC5zaWJsaW5nPXksZD15LGg9X31pZih2LmRvbmUpcmV0dXJuIG4oaSxoKSxMJiZ0YShpLGcpLHU7aWYoaD09PW51bGwpe2Zvcig7IXYuZG9uZTtnKyssdj1jLm5leHQoKSl2PWYoaSx2LnZhbHVlLGwpLHYhPT1udWxsJiYobz1hKHYsbyxnKSxkPT09bnVsbD91PXY6ZC5zaWJsaW5nPXYsZD12KTtyZXR1cm4gTCYmdGEoaSxnKSx1fWZvcihoPXIoaCk7IXYuZG9uZTtnKyssdj1jLm5leHQoKSl2PW0oaCxpLGcsdi52YWx1ZSxsKSx2IT09bnVsbCYmKGUmJihfPXYuYWx0ZXJuYXRlLF8hPT1udWxsJiZoLmRlbGV0ZShfLmtleT09PW51bGw_ZzpfLmtleSkpLG89YSh2LG8sZyksZD09PW51bGw_dT12OmQuc2libGluZz12LGQ9dik7cmV0dXJuIGUmJmguZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gdChpLGUpfSksTCYmdGEoaSxnKSx1fWZ1bmN0aW9uIF8oZSxyLGEsYyl7aWYodHlwZW9mIGE9PWBvYmplY3RgJiZhJiZhLnR5cGU9PT1uZSYmYS5rZXk9PT1udWxsJiZhLnByb3BzLnJlZj09PXZvaWQgMCYmKGE9YS5wcm9wcy5jaGlsZHJlbiksdHlwZW9mIGE9PWBvYmplY3RgJiZhKXtzd2l0Y2goYS4kJHR5cGVvZil7Y2FzZSBPOmE6e2Zvcih2YXIgbD1hLmtleTtyIT09bnVsbDspe2lmKHIua2V5PT09bCl7aWYobD1hLnR5cGUsbD09PW5lKXtpZihyLnRhZz09PTcpe24oZSxyLnNpYmxpbmcpLGM9aShyLGEucHJvcHMuY2hpbGRyZW4pLHVvKGMsYSksYy5yZXR1cm49ZSxlPWM7YnJlYWsgYX19ZWxzZSBpZihyLmVsZW1lbnRUeXBlPT09bHx8dHlwZW9mIGw9PWBvYmplY3RgJiZsJiZsLiQkdHlwZW9mPT09bGUmJnJvKGwpPT09ci50eXBlKXtuKGUsci5zaWJsaW5nKSxjPWkocixhLnByb3BzKSx1byhjLGEpLGMucmV0dXJuPWUsZT1jO2JyZWFrIGF9bihlLHIpO2JyZWFrfXQoZSxyKSxyPXIuc2libGluZ31hLnR5cGU9PT1uZT8oYz1WaShhLnByb3BzLmNoaWxkcmVuLGUubW9kZSxjLGEua2V5KSx1byhjLGEpLGMucmV0dXJuPWUsZT1jKTooYz1CaShhLnR5cGUsYS5rZXksYS5wcm9wcyxudWxsLGUubW9kZSxjKSx1byhjLGEpLGMucmV0dXJuPWUsZT1jKX1yZXR1cm4gbyhlKTtjYXNlIHRlOmE6e2ZvcihsPWEua2V5O3IhPT1udWxsOyl7aWYoci5rZXk9PT1sKXtpZihyLnRhZz09PTQmJnIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1hLmNvbnRhaW5lckluZm8mJnIuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09YS5pbXBsZW1lbnRhdGlvbil7bihlLHIuc2libGluZyksYz1pKHIsYS5jaGlsZHJlbnx8W10pLGMucmV0dXJuPWUsZT1jO2JyZWFrIGF9bihlLHIpO2JyZWFrfXQoZSxyKSxyPXIuc2libGluZ31jPVdpKGEsZS5tb2RlLGMpLGMucmV0dXJuPWUsZT1jfXJldHVybiBvKGUpO2Nhc2UgbGU6cmV0dXJuIGE9cm8oYSksXyhlLHIsYSxjKX1pZih5ZShhKSlyZXR1cm4gaChlLHIsYSxjKTtpZihnZShhKSl7aWYobD1nZShhKSx0eXBlb2YgbCE9YGZ1bmN0aW9uYCl0aHJvdyBFcnJvcihzKDE1MCkpO3JldHVybiBhPWwuY2FsbChhKSxnKGUscixhLGMpfWlmKHR5cGVvZiBhLnRoZW49PWBmdW5jdGlvbmApcmV0dXJuIF8oZSxyLGxvKGEpLGMpO2lmKGEuJCR0eXBlb2Y9PT1BKXJldHVybiBfKGUscixrYShlLGEpLGMpO2ZvKGUsYSl9cmV0dXJuIHR5cGVvZiBhPT1gc3RyaW5nYCYmYSE9PWBgfHx0eXBlb2YgYT09YG51bWJlcmB8fHR5cGVvZiBhPT1gYmlnaW50YD8oYT1gYCthLHIhPT1udWxsJiZyLnRhZz09PTY_KG4oZSxyLnNpYmxpbmcpLGM9aShyLGEpLGMucmV0dXJuPWUsZT1jKToobihlLHIpLGM9SGkoYSxlLm1vZGUsYyksYy5yZXR1cm49ZSxlPWMpLG8oZSkpOm4oZSxyKX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4scil7dHJ5e2NvPTA7dmFyIGk9XyhlLHQsbixyKTtyZXR1cm4gc289bnVsbCxpfWNhdGNoKHQpe2lmKHQ9PT1aYXx8dD09PSRhKXRocm93IHQ7dmFyIGE9SWkoMjksdCxudWxsLGUubW9kZSk7cmV0dXJuIGEubGFuZXM9cixhLnJldHVybj1lLGF9fX12YXIgbW89cG8oITApLGhvPXBvKCExKSxnbz0hMTtmdW5jdGlvbiBfbyhlKXtlLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5tZW1vaXplZFN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpudWxsLGxhc3RCYXNlVXBkYXRlOm51bGwsc2hhcmVkOntwZW5kaW5nOm51bGwsbGFuZXM6MCxoaWRkZW5DYWxsYmFja3M6bnVsbH0sY2FsbGJhY2tzOm51bGx9fWZ1bmN0aW9uIHZvKGUsdCl7ZT1lLnVwZGF0ZVF1ZXVlLHQudXBkYXRlUXVldWU9PT1lJiYodC51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmUuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTplLmZpcnN0QmFzZVVwZGF0ZSxsYXN0QmFzZVVwZGF0ZTplLmxhc3RCYXNlVXBkYXRlLHNoYXJlZDplLnNoYXJlZCxjYWxsYmFja3M6bnVsbH0pfWZ1bmN0aW9uIHlvKGUpe3JldHVybntsYW5lOmUsdGFnOjAscGF5bG9hZDpudWxsLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfX1mdW5jdGlvbiBibyhlLHQsbil7dmFyIHI9ZS51cGRhdGVRdWV1ZTtpZihyPT09bnVsbClyZXR1cm4gbnVsbDtpZihyPXIuc2hhcmVkLEomMil7dmFyIGk9ci5wZW5kaW5nO3JldHVybiBpPT09bnVsbD90Lm5leHQ9dDoodC5uZXh0PWkubmV4dCxpLm5leHQ9dCksci5wZW5kaW5nPXQsdD1OaShlKSxNaShlLG51bGwsbiksdH1yZXR1cm4ga2koZSxyLHQsbiksTmkoZSl9ZnVuY3Rpb24geG8oZSx0LG4pe2lmKHQ9dC51cGRhdGVRdWV1ZSx0IT09bnVsbCYmKHQ9dC5zaGFyZWQsbiY0MTk0MDQ4KSl7dmFyIHI9dC5sYW5lcztyJj1lLnBlbmRpbmdMYW5lcyxufD1yLHQubGFuZXM9bix4dChlLG4pfX1mdW5jdGlvbiBTbyhlLHQpe3ZhciBuPWUudXBkYXRlUXVldWUscj1lLmFsdGVybmF0ZTtpZihyIT09bnVsbCYmKHI9ci51cGRhdGVRdWV1ZSxuPT09cikpe3ZhciBpPW51bGwsYT1udWxsO2lmKG49bi5maXJzdEJhc2VVcGRhdGUsbiE9PW51bGwpe2Rve3ZhciBvPXtsYW5lOm4ubGFuZSx0YWc6bi50YWcscGF5bG9hZDpuLnBheWxvYWQsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9O2E9PT1udWxsP2k9YT1vOmE9YS5uZXh0PW8sbj1uLm5leHR9d2hpbGUobiE9PW51bGwpO2E9PT1udWxsP2k9YT10OmE9YS5uZXh0PXR9ZWxzZSBpPWE9dDtuPXtiYXNlU3RhdGU6ci5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmksbGFzdEJhc2VVcGRhdGU6YSxzaGFyZWQ6ci5zaGFyZWQsY2FsbGJhY2tzOnIuY2FsbGJhY2tzfSxlLnVwZGF0ZVF1ZXVlPW59ZWxzZSBlPW4ubGFzdEJhc2VVcGRhdGUsZT09PW51bGw_bi5maXJzdEJhc2VVcGRhdGU9dDplLm5leHQ9dCxuLmxhc3RCYXNlVXBkYXRlPXR9dmFyIENvPSExO2Z1bmN0aW9uIHdvKCl7aWYoQ28pe3ZhciBlPVVhO2lmKGUhPT1udWxsKXRocm93IGV9fWZ1bmN0aW9uIFRvKGUsdCxuLHIpe0NvPSExO3ZhciBpPWUudXBkYXRlUXVldWU7Z289ITE7dmFyIGE9aS5maXJzdEJhc2VVcGRhdGUsbz1pLmxhc3RCYXNlVXBkYXRlLHM9aS5zaGFyZWQucGVuZGluZztpZihzIT09bnVsbCl7aS5zaGFyZWQucGVuZGluZz1udWxsO3ZhciBjPXMsbD1jLm5leHQ7Yy5uZXh0PW51bGwsbz09PW51bGw_YT1sOm8ubmV4dD1sLG89Yzt2YXIgdT1lLmFsdGVybmF0ZTt1IT09bnVsbCYmKHU9dS51cGRhdGVRdWV1ZSxzPXUubGFzdEJhc2VVcGRhdGUscyE9PW8mJihzPT09bnVsbD91LmZpcnN0QmFzZVVwZGF0ZT1sOnMubmV4dD1sLHUubGFzdEJhc2VVcGRhdGU9YykpfWlmKGEhPT1udWxsKXt2YXIgZD1pLmJhc2VTdGF0ZTtvPTAsdT1sPWM9bnVsbCxzPWE7ZG97dmFyIGY9cy5sYW5lJi01MzY4NzA5MTMscD1mIT09cy5sYW5lO2lmKHA_KFgmZik9PT1mOihyJmYpPT09Zil7ZiE9PTAmJmY9PT1IYSYmKENvPSEwKSx1IT09bnVsbCYmKHU9dS5uZXh0PXtsYW5lOjAsdGFnOnMudGFnLHBheWxvYWQ6cy5wYXlsb2FkLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfSk7YTp7dmFyIG09ZSxoPXM7Zj10O3ZhciBnPW47c3dpdGNoKGgudGFnKXtjYXNlIDE6aWYobT1oLnBheWxvYWQsdHlwZW9mIG09PWBmdW5jdGlvbmApe2Q9bS5jYWxsKGcsZCxmKTticmVhayBhfWQ9bTticmVhayBhO2Nhc2UgMzptLmZsYWdzPW0uZmxhZ3MmLTY1NTM3fDEyODtjYXNlIDA6aWYobT1oLnBheWxvYWQsZj10eXBlb2YgbT09YGZ1bmN0aW9uYD9tLmNhbGwoZyxkLGYpOm0sZj09bnVsbClicmVhayBhO2Q9RCh7fSxkLGYpO2JyZWFrIGE7Y2FzZSAyOmdvPSEwfX1mPXMuY2FsbGJhY2ssZiE9PW51bGwmJihlLmZsYWdzfD02NCxwJiYoZS5mbGFnc3w9ODE5MikscD1pLmNhbGxiYWNrcyxwPT09bnVsbD9pLmNhbGxiYWNrcz1bZl06cC5wdXNoKGYpKX1lbHNlIHA9e2xhbmU6Zix0YWc6cy50YWcscGF5bG9hZDpzLnBheWxvYWQsY2FsbGJhY2s6cy5jYWxsYmFjayxuZXh0Om51bGx9LHU9PT1udWxsPyhsPXU9cCxjPWQpOnU9dS5uZXh0PXAsb3w9ZjtpZihzPXMubmV4dCxzPT09bnVsbCl7aWYocz1pLnNoYXJlZC5wZW5kaW5nLHM9PT1udWxsKWJyZWFrO3A9cyxzPXAubmV4dCxwLm5leHQ9bnVsbCxpLmxhc3RCYXNlVXBkYXRlPXAsaS5zaGFyZWQucGVuZGluZz1udWxsfX13aGlsZSgxKTt1PT09bnVsbCYmKGM9ZCksaS5iYXNlU3RhdGU9YyxpLmZpcnN0QmFzZVVwZGF0ZT1sLGkubGFzdEJhc2VVcGRhdGU9dSxhPT09bnVsbCYmKGkuc2hhcmVkLmxhbmVzPTApLGFkfD1vLGUubGFuZXM9byxlLm1lbW9pemVkU3RhdGU9ZH19ZnVuY3Rpb24gRW8oZSx0KXtpZih0eXBlb2YgZSE9YGZ1bmN0aW9uYCl0aHJvdyBFcnJvcihzKDE5MSxlKSk7ZS5jYWxsKHQpfWZ1bmN0aW9uIERvKGUsdCl7dmFyIG49ZS5jYWxsYmFja3M7aWYobiE9PW51bGwpZm9yKGUuY2FsbGJhY2tzPW51bGwsZT0wO2U8bi5sZW5ndGg7ZSsrKUVvKG5bZV0sdCl9dmFyIE9vPUNlKG51bGwpLGtvPUNlKDApO2Z1bmN0aW9uIEFvKGUsdCl7ZT1yZCxUZShrbyxlKSxUZShPbyx0KSxyZD1lfHQuYmFzZUxhbmVzfWZ1bmN0aW9uIGpvKCl7VGUoa28scmQpLFRlKE9vLE9vLmN1cnJlbnQpfWZ1bmN0aW9uIE1vKCl7cmQ9a28uY3VycmVudCx3ZShPbyksd2Uoa28pfXZhciBObz1DZShudWxsKSxQbz1udWxsO2Z1bmN0aW9uIEZvKGUpe3ZhciB0PWUuYWx0ZXJuYXRlO1RlKEJvLEJvLmN1cnJlbnQmMSksVGUoTm8sZSksUG89PT1udWxsJiYodD09PW51bGx8fE9vLmN1cnJlbnQhPT1udWxsfHx0Lm1lbW9pemVkU3RhdGUhPT1udWxsKSYmKFBvPWUpfWZ1bmN0aW9uIElvKGUpe1RlKEJvLEJvLmN1cnJlbnQpLFRlKE5vLGUpLFBvPT09bnVsbCYmKFBvPWUpfWZ1bmN0aW9uIExvKGUpe2UudGFnPT09MjI_KFRlKEJvLEJvLmN1cnJlbnQpLFRlKE5vLGUpLFBvPT09bnVsbCYmKFBvPWUpKTpSbygpfWZ1bmN0aW9uIFJvKCl7VGUoQm8sQm8uY3VycmVudCksVGUoTm8sTm8uY3VycmVudCl9ZnVuY3Rpb24gem8oZSl7d2UoTm8pLFBvPT09ZSYmKFBvPW51bGwpLHdlKEJvKX12YXIgQm89Q2UoMCk7ZnVuY3Rpb24gVm8oZSx0KXtUZShObyxOby5jdXJyZW50KSxUZShCbyx0KX1mdW5jdGlvbiBIbyhlKXt3ZShCbyksd2UoTm8pLFBvPT09ZSYmKFBvPW51bGwpfWZ1bmN0aW9uIFVvKGUpe2Zvcih2YXIgdD1lO3QhPT1udWxsOyl7aWYodC50YWc9PT0xMyl7dmFyIG49dC5tZW1vaXplZFN0YXRlO2lmKG4hPT1udWxsJiYobj1uLmRlaHlkcmF0ZWQsbj09PW51bGx8fG9tKG4pfHxzbShuKSkpcmV0dXJuIHR9ZWxzZSBpZih0LnRhZz09PTE5JiZ0Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIhPT1gaW5kZXBlbmRlbnRgKXtpZih0LmZsYWdzJjEyOClyZXR1cm4gdH1lbHNlIGlmKHQuY2hpbGQhPT1udWxsKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09ZSlicmVhaztmb3IoO3Quc2libGluZz09PW51bGw7KXtpZih0LnJldHVybj09PW51bGx8fHQucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIFdvPTAsej1udWxsLEdvPW51bGwsS289bnVsbCxxbz0hMSxKbz0hMSxZbz0hMSxYbz0wLFpvPTAsUW89bnVsbCwkbz0wO2Z1bmN0aW9uIGVzKCl7dGhyb3cgRXJyb3IocygzMjEpKX1mdW5jdGlvbiB0cyhlLHQpe2lmKHQ9PT1udWxsKXJldHVybiExO2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJm48ZS5sZW5ndGg7bisrKWlmKCFLcihlW25dLHRbbl0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIG5zKGUsdCxuLHIsaSxhKXtyZXR1cm4gV289YSx6PXQsdC5tZW1vaXplZFN0YXRlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsLHQubGFuZXM9MCxqLkg9ZT09PW51bGx8fGUubWVtb2l6ZWRTdGF0ZT09PW51bGw_dmM6eWMsWW89ITEsYT1uKHIsaSksWW89ITEsSm8mJihhPWlzKHQsbixyLGkpKSxycyhlKSxhfWZ1bmN0aW9uIHJzKGUpe2ouSD1fYzt2YXIgdD1HbyE9PW51bGwmJkdvLm5leHQhPT1udWxsO2lmKFdvPTAsS289R289ej1udWxsLHFvPSExLFpvPTAsUW89bnVsbCx0KXRocm93IEVycm9yKHMoMzAwKSk7ZT09PW51bGx8fFBjfHwoZT1lLmRlcGVuZGVuY2llcyxlIT09bnVsbCYmRWEoZSkmJihQYz0hMCkpfWZ1bmN0aW9uIGlzKGUsdCxuLHIpe3o9ZTt2YXIgaT0wO2Rve2lmKEpvJiYoUW89bnVsbCksWm89MCxKbz0hMSwyNTw9aSl0aHJvdyBFcnJvcihzKDMwMSkpO2lmKGkrPTEsS289R289bnVsbCxlLnVwZGF0ZVF1ZXVlIT1udWxsKXt2YXIgYT1lLnVwZGF0ZVF1ZXVlO2EubGFzdEVmZmVjdD1udWxsLGEuZXZlbnRzPW51bGwsYS5zdG9yZXM9bnVsbCxhLm1lbW9DYWNoZSE9bnVsbCYmKGEubWVtb0NhY2hlLmluZGV4PTApfWouSD1iYyxhPXQobixyKX13aGlsZShKbyk7cmV0dXJuIGF9ZnVuY3Rpb24gYXMoKXt2YXIgZT1qLkgsdD1lLnVzZVN0YXRlKClbMF07cmV0dXJuIHQ9dHlwZW9mIHQudGhlbj09YGZ1bmN0aW9uYD9mcyh0KTp0LGU9ZS51c2VTdGF0ZSgpWzBdLChHbz09PW51bGw_bnVsbDpHby5tZW1vaXplZFN0YXRlKSE9PWUmJih6LmZsYWdzfD0xMDI0KSx0fWZ1bmN0aW9uIG9zKCl7dmFyIGU9WG8hPT0wO3JldHVybiBYbz0wLGV9ZnVuY3Rpb24gc3MoZSx0LG4pe3QudXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0LmZsYWdzJj0tMjA1MyxlLmxhbmVzJj1-bn1mdW5jdGlvbiBjcyhlKXtpZihxbyl7Zm9yKGU9ZS5tZW1vaXplZFN0YXRlO2UhPT1udWxsOyl7dmFyIHQ9ZS5xdWV1ZTt0IT09bnVsbCYmKHQucGVuZGluZz1udWxsKSxlPWUubmV4dH1xbz0hMX1Xbz0wLEtvPUdvPXo9bnVsbCxKbz0hMSxabz1Ybz0wLFFvPW51bGx9ZnVuY3Rpb24gbHMoKXt2YXIgZT17bWVtb2l6ZWRTdGF0ZTpudWxsLGJhc2VTdGF0ZTpudWxsLGJhc2VRdWV1ZTpudWxsLHF1ZXVlOm51bGwsbmV4dDpudWxsfTtyZXR1cm4gS289PT1udWxsP3oubWVtb2l6ZWRTdGF0ZT1Lbz1lOktvPUtvLm5leHQ9ZSxLb31mdW5jdGlvbiB1cygpe2lmKEdvPT09bnVsbCl7dmFyIGU9ei5hbHRlcm5hdGU7ZT1lPT09bnVsbD9udWxsOmUubWVtb2l6ZWRTdGF0ZX1lbHNlIGU9R28ubmV4dDt2YXIgdD1Lbz09PW51bGw_ei5tZW1vaXplZFN0YXRlOktvLm5leHQ7aWYodCE9PW51bGwpS289dCxHbz1lO2Vsc2V7aWYoZT09PW51bGwpdGhyb3cgei5hbHRlcm5hdGU9PT1udWxsP0Vycm9yKHMoNDY3KSk6RXJyb3IocygzMTApKTtHbz1lLGU9e21lbW9pemVkU3RhdGU6R28ubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6R28uYmFzZVN0YXRlLGJhc2VRdWV1ZTpHby5iYXNlUXVldWUscXVldWU6R28ucXVldWUsbmV4dDpudWxsfSxLbz09PW51bGw_ei5tZW1vaXplZFN0YXRlPUtvPWU6S289S28ubmV4dD1lfXJldHVybiBLb31mdW5jdGlvbiBkcygpe3JldHVybntsYXN0RWZmZWN0Om51bGwsZXZlbnRzOm51bGwsc3RvcmVzOm51bGwsbWVtb0NhY2hlOm51bGx9fWZ1bmN0aW9uIGZzKGUpe3ZhciB0PVpvO3JldHVybiBabys9MSxRbz09PW51bGwmJihRbz1bXSksZT1ubyhRbyxlLHQpLHQ9eiwoS289PT1udWxsP3QubWVtb2l6ZWRTdGF0ZTpLby5uZXh0KT09PW51bGwmJih0PXQuYWx0ZXJuYXRlLGouSD10PT09bnVsbHx8dC5tZW1vaXplZFN0YXRlPT09bnVsbD92Yzp5YyksZX1mdW5jdGlvbiBCKGUpe2lmKHR5cGVvZiBlPT1gb2JqZWN0YCYmZSl7aWYodHlwZW9mIGUudGhlbj09YGZ1bmN0aW9uYClyZXR1cm4gZnMoZSk7aWYoZS4kJHR5cGVvZj09PW1lKXJldHVybjtpZihlLiQkdHlwZW9mPT09QSlyZXR1cm4gT2EoZSl9dGhyb3cgRXJyb3Iocyg0MzgsU3RyaW5nKGUpKSl9ZnVuY3Rpb24gcHMoZSl7dmFyIHQ9bnVsbCxuPXoudXBkYXRlUXVldWU7aWYobiE9PW51bGwmJih0PW4ubWVtb0NhY2hlKSx0PT1udWxsKXt2YXIgcj16LmFsdGVybmF0ZTtyIT09bnVsbCYmKHI9ci51cGRhdGVRdWV1ZSxyIT09bnVsbCYmKHI9ci5tZW1vQ2FjaGUsciE9bnVsbCYmKHQ9e2RhdGE6ci5kYXRhLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5zbGljZSgpfSksaW5kZXg6MH0pKSl9aWYodD8_PXtkYXRhOltdLGluZGV4OjB9LG49PT1udWxsJiYobj1kcygpLHoudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCxuPXQuZGF0YVt0LmluZGV4XSxuPT09dm9pZCAwKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPWZlO3JldHVybiB0LmluZGV4Kyssbn1mdW5jdGlvbiBtcyhlLHQpe3JldHVybiB0eXBlb2YgdD09YGZ1bmN0aW9uYD90KGUpOnR9ZnVuY3Rpb24gaHMoZSl7cmV0dXJuIGdzKHVzKCksR28sZSl9ZnVuY3Rpb24gZ3MoZSx0LG4pe3ZhciByPWUucXVldWU7aWYocj09PW51bGwpdGhyb3cgRXJyb3IocygzMTEpKTtyLmxhc3RSZW5kZXJlZFJlZHVjZXI9bjt2YXIgaT1lLmJhc2VRdWV1ZSxhPXIucGVuZGluZztpZihhIT09bnVsbCl7aWYoaSE9PW51bGwpe3ZhciBvPWkubmV4dDtpLm5leHQ9YS5uZXh0LGEubmV4dD1vfXQuYmFzZVF1ZXVlPWk9YSxyLnBlbmRpbmc9bnVsbH1pZihhPWUuYmFzZVN0YXRlLGk9PT1udWxsKWUubWVtb2l6ZWRTdGF0ZT1hO2Vsc2V7dD1pLm5leHQ7dmFyIGM9bz1udWxsLGw9bnVsbCx1PXQsZD0hMTtkb3t2YXIgZj11LmxhbmUmLTUzNjg3MDkxMztpZihmPT09dS5sYW5lPyhXbyZmKT09PWY6KFgmZik9PT1mKXt2YXIgcD11LnJldmVydExhbmU7aWYocD09PTApbCE9PW51bGwmJihsPWwubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOnUuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6dS5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6dS5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLGY9PT1IYSYmKGQ9ITApO2Vsc2UgaWYoKFdvJnApPT09cCl7dT11Lm5leHQscD09PUhhJiYoZD0hMCk7Y29udGludWV9ZWxzZSBmPXtsYW5lOjAscmV2ZXJ0TGFuZTp1LnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjp1LmFjdGlvbixoYXNFYWdlclN0YXRlOnUuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOnUuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LGw9PT1udWxsPyhjPWw9ZixvPWEpOmw9bC5uZXh0PWYsei5sYW5lc3w9cCxhZHw9cDtmPXUuYWN0aW9uLFlvJiZuKGEsZiksYT11Lmhhc0VhZ2VyU3RhdGU_dS5lYWdlclN0YXRlOm4oYSxmKX1lbHNlIHA9e2xhbmU6ZixyZXZlcnRMYW5lOnUucmV2ZXJ0TGFuZSxnZXN0dXJlOnUuZ2VzdHVyZSxhY3Rpb246dS5hY3Rpb24saGFzRWFnZXJTdGF0ZTp1Lmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTp1LmVhZ2VyU3RhdGUsbmV4dDpudWxsfSxsPT09bnVsbD8oYz1sPXAsbz1hKTpsPWwubmV4dD1wLHoubGFuZXN8PWYsYWR8PWY7dT11Lm5leHR9d2hpbGUodSE9PW51bGwmJnUhPT10KTtpZihsPT09bnVsbD9vPWE6bC5uZXh0PWMsIUtyKGEsZS5tZW1vaXplZFN0YXRlKSYmKFBjPSEwLGQmJihuPVVhLG4hPT1udWxsKSkpdGhyb3cgbjtlLm1lbW9pemVkU3RhdGU9YSxlLmJhc2VTdGF0ZT1vLGUuYmFzZVF1ZXVlPWwsci5sYXN0UmVuZGVyZWRTdGF0ZT1hfXJldHVybiBpPT09bnVsbCYmKHIubGFuZXM9MCksW2UubWVtb2l6ZWRTdGF0ZSxyLmRpc3BhdGNoXX1mdW5jdGlvbiBfcyhlKXt2YXIgdD11cygpLG49dC5xdWV1ZTtpZihuPT09bnVsbCl0aHJvdyBFcnJvcihzKDMxMSkpO24ubGFzdFJlbmRlcmVkUmVkdWNlcj1lO3ZhciByPW4uZGlzcGF0Y2gsaT1uLnBlbmRpbmcsYT10Lm1lbW9pemVkU3RhdGU7aWYoaSE9PW51bGwpe24ucGVuZGluZz1udWxsO3ZhciBvPWk9aS5uZXh0O2RvIGE9ZShhLG8uYWN0aW9uKSxvPW8ubmV4dDt3aGlsZShvIT09aSk7S3IoYSx0Lm1lbW9pemVkU3RhdGUpfHwoUGM9ITApLHQubWVtb2l6ZWRTdGF0ZT1hLHQuYmFzZVF1ZXVlPT09bnVsbCYmKHQuYmFzZVN0YXRlPWEpLG4ubGFzdFJlbmRlcmVkU3RhdGU9YX1yZXR1cm5bYSxyXX1mdW5jdGlvbiB2cyhlLHQsbil7dmFyIHI9eixpPXVzKCksYT1MO2lmKGEpe2lmKG49PT12b2lkIDApdGhyb3cgRXJyb3Iocyg0MDcpKTtuPW4oKX1lbHNlIG49dCgpO3ZhciBvPSFLcigoR298fGkpLm1lbW9pemVkU3RhdGUsbik7aWYobyYmKGkubWVtb2l6ZWRTdGF0ZT1uLFBjPSEwKSxpPWkucXVldWUsVXMoeHMuYmluZChudWxsLHIsaSxlKSxbZV0pLGU9aS5nZXRTbmFwc2hvdCE9PXR8fG98fEtvIT09bnVsbCYmISEoS28ubWVtb2l6ZWRTdGF0ZS50YWcmMSksUnMoZT85Ojgse2Rlc3Ryb3k6dm9pZCAwfSxicy5iaW5kKG51bGwscixpLG4sdCksbnVsbCksZSl7aWYoci5mbGFnc3w9MjA0OCxRdT09PW51bGwpdGhyb3cgRXJyb3IocygzNDkpKTthfHxXbyYxMjd8fHlzKHIsdCxuKX1yZXR1cm4gbn1mdW5jdGlvbiB5cyhlLHQsbil7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6dCx2YWx1ZTpufSx0PXoudXBkYXRlUXVldWUsdD09PW51bGw_KHQ9ZHMoKSx6LnVwZGF0ZVF1ZXVlPXQsdC5zdG9yZXM9W2VdKToobj10LnN0b3JlcyxuPT09bnVsbD90LnN0b3Jlcz1bZV06bi5wdXNoKGUpKX1mdW5jdGlvbiBicyhlLHQsbixyKXt0LnZhbHVlPW4sdC5nZXRTbmFwc2hvdD1yLFNzKHQpJiZDcyhlKX1mdW5jdGlvbiB4cyhlLHQsbil7cmV0dXJuIG4oZnVuY3Rpb24oKXtTcyh0KSYmQ3MoZSl9KX1mdW5jdGlvbiBTcyhlKXt2YXIgdD1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIG49dCgpO3JldHVybiFLcihlLG4pfWNhdGNoe3JldHVybiEwfX1mdW5jdGlvbiBDcyhlKXt2YXIgdD1qaShlLDIpO3QhPT1udWxsJiZOZCh0LGUsMil9ZnVuY3Rpb24gd3MoZSl7dmFyIHQ9bHMoKTtpZih0eXBlb2YgZT09YGZ1bmN0aW9uYCl7dmFyIG49ZTtpZihlPW4oKSxZbyl7cnQoITApO3RyeXtuKCl9ZmluYWxseXtydCghMSl9fX1yZXR1cm4gdC5tZW1vaXplZFN0YXRlPXQuYmFzZVN0YXRlPWUsdC5xdWV1ZT17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOm1zLGxhc3RSZW5kZXJlZFN0YXRlOmV9LHR9ZnVuY3Rpb24gVHMoZSx0LG4scil7cmV0dXJuIGUuYmFzZVN0YXRlPW4sZ3MoZSxHbyx0eXBlb2Ygcj09YGZ1bmN0aW9uYD9yOm1zKX1mdW5jdGlvbiBFcyhlLHQsbixyLGkpe2lmKG1jKGUpKXRocm93IEVycm9yKHMoNDg1KSk7aWYoZT10LmFjdGlvbixlIT09bnVsbCl7dmFyIGE9e3BheWxvYWQ6aSxhY3Rpb246ZSxuZXh0Om51bGwsaXNUcmFuc2l0aW9uOiEwLHN0YXR1czpgcGVuZGluZ2AsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxsaXN0ZW5lcnM6W10sdGhlbjpmdW5jdGlvbihlKXthLmxpc3RlbmVycy5wdXNoKGUpfX07ai5UPT09bnVsbD9hLmlzVHJhbnNpdGlvbj0hMTpuKCEwKSxyKGEpLG49dC5wZW5kaW5nLG49PT1udWxsPyhhLm5leHQ9dC5wZW5kaW5nPWEsRHModCxhKSk6KGEubmV4dD1uLm5leHQsdC5wZW5kaW5nPW4ubmV4dD1hKX19ZnVuY3Rpb24gRHMoZSx0KXt2YXIgbj10LmFjdGlvbixyPXQucGF5bG9hZCxpPWUuc3RhdGU7aWYodC5pc1RyYW5zaXRpb24pe3ZhciBhPWouVCxvPXt9O28udHlwZXM9YT09PW51bGw_bnVsbDphLnR5cGVzLGouVD1vO3RyeXt2YXIgcz1uKGksciksYz1qLlM7YyE9PW51bGwmJmMobyxzKSxPcyhlLHQscyl9Y2F0Y2gobil7QXMoZSx0LG4pfWZpbmFsbHl7YSE9PW51bGwmJm8udHlwZXMhPT1udWxsJiYoYS50eXBlcz1vLnR5cGVzKSxqLlQ9YX19ZWxzZSB0cnl7YT1uKGksciksT3MoZSx0LGEpfWNhdGNoKG4pe0FzKGUsdCxuKX19ZnVuY3Rpb24gT3MoZSx0LG4pe3R5cGVvZiBuPT1gb2JqZWN0YCYmbiYmdHlwZW9mIG4udGhlbj09YGZ1bmN0aW9uYD9uLnRoZW4oZnVuY3Rpb24obil7a3MoZSx0LG4pfSxmdW5jdGlvbihuKXtyZXR1cm4gQXMoZSx0LG4pfSk6a3MoZSx0LG4pfWZ1bmN0aW9uIGtzKGUsdCxuKXt0LnN0YXR1cz1gZnVsZmlsbGVkYCx0LnZhbHVlPW4sanModCksZS5zdGF0ZT1uLHQ9ZS5wZW5kaW5nLHQhPT1udWxsJiYobj10Lm5leHQsbj09PXQ_ZS5wZW5kaW5nPW51bGw6KG49bi5uZXh0LHQubmV4dD1uLERzKGUsbikpKX1mdW5jdGlvbiBBcyhlLHQsbil7dmFyIHI9ZS5wZW5kaW5nO2lmKGUucGVuZGluZz1udWxsLHIhPT1udWxsKXtyPXIubmV4dDtkbyB0LnN0YXR1cz1gcmVqZWN0ZWRgLHQucmVhc29uPW4sanModCksdD10Lm5leHQ7d2hpbGUodCE9PXIpfWUuYWN0aW9uPW51bGx9ZnVuY3Rpb24ganMoZSl7ZT1lLmxpc3RlbmVycztmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKykoMCxlW3RdKSgpfWZ1bmN0aW9uIE1zKGUsdCl7cmV0dXJuIHR9ZnVuY3Rpb24gTnMoZSx0KXtpZihMKXt2YXIgbj1RdS5mb3JtU3RhdGU7aWYobiE9PW51bGwpe2E6e3ZhciByPXo7aWYoTCl7aWYoc2Epe2I6e2Zvcih2YXIgaT1zYSxhPWxhO2kubm9kZVR5cGUhPT04OylpZighYXx8KGk9bG0oaS5uZXh0U2libGluZyksaT09PW51bGwpKXtpPW51bGw7YnJlYWsgYn1hPWkuZGF0YSxpPWE9PT1gRiFgfHxhPT09YEZgP2k6bnVsbH1pZihpKXtzYT1sbShpLm5leHRTaWJsaW5nKSxyPWkuZGF0YT09PWBGIWA7YnJlYWsgYX19ZGEocil9cj0hMX1yJiYodD1uWzBdKX19cmV0dXJuIG49bHMoKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9dCxyPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6TXMsbGFzdFJlbmRlcmVkU3RhdGU6dH0sbi5xdWV1ZT1yLG49ZGMuYmluZChudWxsLHosciksci5kaXNwYXRjaD1uLHI9d3MoITEpLGE9cGMuYmluZChudWxsLHosITEsci5xdWV1ZSkscj1scygpLGk9e3N0YXRlOnQsZGlzcGF0Y2g6bnVsbCxhY3Rpb246ZSxwZW5kaW5nOm51bGx9LHIucXVldWU9aSxuPUVzLmJpbmQobnVsbCx6LGksYSxuKSxpLmRpc3BhdGNoPW4sci5tZW1vaXplZFN0YXRlPWUsW3QsbiwhMV19ZnVuY3Rpb24gUHMoZSl7cmV0dXJuIEZzKHVzKCksR28sZSl9ZnVuY3Rpb24gRnMoZSx0LG4pe2lmKHQ9Z3MoZSx0LE1zKVswXSxlPWhzKG1zKVswXSx0eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmApdHJ5e3ZhciByPWZzKHQpfWNhdGNoKGUpe3Rocm93IGU9PT1aYT8kYTplfWVsc2Ugcj10O3Q9dXMoKTt2YXIgaT10LnF1ZXVlLGE9aS5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKHouZmxhZ3N8PTIwNDgsUnMoOSx7ZGVzdHJveTp2b2lkIDB9LElzLmJpbmQobnVsbCxpLG4pLG51bGwpKSxbcixhLGVdfWZ1bmN0aW9uIElzKGUsdCl7ZS5hY3Rpb249dH1mdW5jdGlvbiBMcyhlKXt2YXIgdD11cygpLG49R287aWYobiE9PW51bGwpcmV0dXJuIEZzKHQsbixlKTt1cygpLHQ9dC5tZW1vaXplZFN0YXRlLG49dXMoKTt2YXIgcj1uLnF1ZXVlLmRpc3BhdGNoO3JldHVybiBuLm1lbW9pemVkU3RhdGU9ZSxbdCxyLCExXX1mdW5jdGlvbiBScyhlLHQsbixyKXtyZXR1cm4gZT17dGFnOmUsY3JlYXRlOm4sZGVwczpyLGluc3Q6dCxuZXh0Om51bGx9LHQ9ei51cGRhdGVRdWV1ZSx0PT09bnVsbCYmKHQ9ZHMoKSx6LnVwZGF0ZVF1ZXVlPXQpLG49dC5sYXN0RWZmZWN0LG49PT1udWxsP3QubGFzdEVmZmVjdD1lLm5leHQ9ZToocj1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PXIsdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24genMoKXtyZXR1cm4gdXMoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIEJzKGUsdCxuLHIpe3ZhciBpPWxzKCk7ei5mbGFnc3w9ZSxpLm1lbW9pemVkU3RhdGU9UnMoMXx0LHtkZXN0cm95OnZvaWQgMH0sbixyPT09dm9pZCAwP251bGw6cil9ZnVuY3Rpb24gVnMoZSx0LG4scil7dmFyIGk9dXMoKTtyPXI9PT12b2lkIDA_bnVsbDpyO3ZhciBhPWkubWVtb2l6ZWRTdGF0ZS5pbnN0O0dvIT09bnVsbCYmciE9PW51bGwmJnRzKHIsR28ubWVtb2l6ZWRTdGF0ZS5kZXBzKT9pLm1lbW9pemVkU3RhdGU9UnModCxhLG4scik6KHouZmxhZ3N8PWUsaS5tZW1vaXplZFN0YXRlPVJzKDF8dCxhLG4scikpfWZ1bmN0aW9uIEhzKGUsdCl7QnMoODM5MDY1Niw4LGUsdCl9ZnVuY3Rpb24gVXMoZSx0KXtWcygyMDQ4LDgsZSx0KX1mdW5jdGlvbiBXcyhlKXt6LmZsYWdzfD00O3ZhciB0PXoudXBkYXRlUXVldWU7aWYodD09PW51bGwpdD1kcygpLHoudXBkYXRlUXVldWU9dCx0LmV2ZW50cz1bZV07ZWxzZXt2YXIgbj10LmV2ZW50cztuPT09bnVsbD90LmV2ZW50cz1bZV06bi5wdXNoKGUpfX1mdW5jdGlvbiBHcyhlKXt2YXIgdD11cygpLm1lbW9pemVkU3RhdGU7cmV0dXJuIFdzKHtyZWY6dCxuZXh0SW1wbDplfSksZnVuY3Rpb24oKXtpZihKJjIpdGhyb3cgRXJyb3Iocyg0NDApKTtyZXR1cm4gdC5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX1mdW5jdGlvbiBLcyhlLHQpe3JldHVybiBWcyg0LDIsZSx0KX1mdW5jdGlvbiBxcyhlLHQpe3JldHVybiBWcyg0LDQsZSx0KX1mdW5jdGlvbiBKcyhlLHQpe2lmKHR5cGVvZiB0PT1gZnVuY3Rpb25gKXtlPWUoKTt2YXIgbj10KGUpO3JldHVybiBmdW5jdGlvbigpe3R5cGVvZiBuPT1gZnVuY3Rpb25gP24oKTp0KG51bGwpfX1pZih0IT1udWxsKXJldHVybiBlPWUoKSx0LmN1cnJlbnQ9ZSxmdW5jdGlvbigpe3QuY3VycmVudD1udWxsfX1mdW5jdGlvbiBZcyhlLHQsbil7bj1uPT1udWxsP251bGw6bi5jb25jYXQoW2VdKSxWcyg0LDQsSnMuYmluZChudWxsLHQsZSksbil9ZnVuY3Rpb24gWHMoKXt9ZnVuY3Rpb24gWnMoZSx0KXt2YXIgbj11cygpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIHI9bi5tZW1vaXplZFN0YXRlO3JldHVybiB0IT09bnVsbCYmdHModCxyWzFdKT9yWzBdOihuLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9ZnVuY3Rpb24gUXMoZSx0KXt2YXIgbj11cygpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIHI9bi5tZW1vaXplZFN0YXRlO2lmKHQhPT1udWxsJiZ0cyh0LHJbMV0pKXJldHVybiByWzBdO2lmKHI9ZSgpLFlvKXtydCghMCk7dHJ5e2UoKX1maW5hbGx5e3J0KCExKX19cmV0dXJuIG4ubWVtb2l6ZWRTdGF0ZT1bcix0XSxyfWZ1bmN0aW9uICRzKGUsdCxuKXtyZXR1cm4gbj09PXZvaWQgMHx8V28mMTA3Mzc0MTgyNCYmIShYJjI2MTkzMCk_ZS5tZW1vaXplZFN0YXRlPXQ6KGUubWVtb2l6ZWRTdGF0ZT1uLGU9amQoKSx6LmxhbmVzfD1lLGFkfD1lLG4pfWZ1bmN0aW9uIGVjKGUsdCxuLHIpe3JldHVybiBLcihuLHQpP246T28uY3VycmVudD09PW51bGw_IShXbyYxMDYpfHxXbyYxMDczNzQxODI0JiYhKFgmMjYxOTMwKT8oUGM9ITAsZS5tZW1vaXplZFN0YXRlPW4pOihlPWpkKCksei5sYW5lc3w9ZSxhZHw9ZSx0KTooZT0kcyhlLG4sciksS3IoZSx0KXx8KFBjPSEwKSxlKX1mdW5jdGlvbiB0YyhlLHQsbixyLGkpe3ZhciBhPU0ucDtNLnA9YSE9PTAmJjg-YT9hOjg7dmFyIG89ai5ULHM9e307cy50eXBlcz1vPT09bnVsbD9udWxsOm8udHlwZXMsai5UPXMscGMoZSwhMSx0LG4pO3RyeXt2YXIgYz1pKCksbD1qLlM7bCE9PW51bGwmJmwocyxjKSx0eXBlb2YgYz09YG9iamVjdGAmJmMmJnR5cGVvZiBjLnRoZW49PWBmdW5jdGlvbmA_ZmMoZSx0LEdhKGMsciksQWQoZSkpOmZjKGUsdCxyLEFkKGUpKX1jYXRjaChuKXtmYyhlLHQse3RoZW46ZnVuY3Rpb24oKXt9LHN0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjpufSxBZCgpKX1maW5hbGx5e00ucD1hLG8hPT1udWxsJiZzLnR5cGVzIT09bnVsbCYmKG8udHlwZXM9cy50eXBlcyksai5UPW99fWZ1bmN0aW9uIG5jKCl7fWZ1bmN0aW9uIHJjKGUsdCxuLHIpe2lmKGUudGFnIT09NSl0aHJvdyBFcnJvcihzKDQ3NikpO3ZhciBpPWljKGUpLnF1ZXVlO3RjKGUsaSx0LGJlLG49PT1udWxsP25jOmZ1bmN0aW9uKCl7cmV0dXJuIGFjKGUpLG4ocil9KX1mdW5jdGlvbiBpYyhlKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYodCE9PW51bGwpcmV0dXJuIHQ7dD17bWVtb2l6ZWRTdGF0ZTpiZSxiYXNlU3RhdGU6YmUsYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjptcyxsYXN0UmVuZGVyZWRTdGF0ZTpiZX0sbmV4dDpudWxsfTt2YXIgbj17fTtyZXR1cm4gdC5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjptcyxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LGU9ZS5hbHRlcm5hdGUsZSE9PW51bGwmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBhYyhlKXt2YXIgdD1pYyhlKTt0Lm5leHQ9PT1udWxsJiYodD1lLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxmYyhlLHQubmV4dC5xdWV1ZSx7fSxBZCgpKX1mdW5jdGlvbiBvYygpe3JldHVybiBPYShzaCl9ZnVuY3Rpb24gc2MoKXtyZXR1cm4gdXMoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIGNjKCl7cmV0dXJuIHVzKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBsYyhlKXtmb3IodmFyIHQ9ZS5yZXR1cm47dCE9PW51bGw7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPUFkKCk7ZT15byhuKTt2YXIgcj1ibyh0LGUsbik7ciE9PW51bGwmJihOZChyLHQsbikseG8ocix0LG4pKSx0PXtjYWNoZTpGYSgpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gdWMoZSx0LG4pe3ZhciByPUFkKCk7bj17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxtYyhlKT9oYyh0LG4pOihuPUFpKGUsdCxuLHIpLG4hPT1udWxsJiYoTmQobixlLHIpLGdjKG4sdCxyKSkpfWZ1bmN0aW9uIGRjKGUsdCxuKXtmYyhlLHQsbixBZCgpKX1mdW5jdGlvbiBmYyhlLHQsbixyKXt2YXIgaT17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfTtpZihtYyhlKSloYyh0LGkpO2Vsc2V7dmFyIGE9ZS5hbHRlcm5hdGU7aWYoZS5sYW5lcz09PTAmJihhPT09bnVsbHx8YS5sYW5lcz09PTApJiYoYT10Lmxhc3RSZW5kZXJlZFJlZHVjZXIsYSE9PW51bGwpKXRyeXt2YXIgbz10Lmxhc3RSZW5kZXJlZFN0YXRlLHM9YShvLG4pO2lmKGkuaGFzRWFnZXJTdGF0ZT0hMCxpLmVhZ2VyU3RhdGU9cyxLcihzLG8pKXJldHVybiBraShlLHQsaSwwKSxRdT09PW51bGwmJk9pKCksITF9Y2F0Y2h7fWlmKG49QWkoZSx0LGksciksbiE9PW51bGwpcmV0dXJuIE5kKG4sZSxyKSxnYyhuLHQsciksITB9cmV0dXJuITF9ZnVuY3Rpb24gcGMoZSx0LG4scil7aWYocj17bGFuZToyLHJldmVydExhbmU6TmYoKSxnZXN0dXJlOm51bGwsYWN0aW9uOnIsaGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxtYyhlKSl7aWYodCl0aHJvdyBFcnJvcihzKDQ3OSkpfWVsc2UgdD1BaShlLG4sciwyKSx0IT09bnVsbCYmTmQodCxlLDIpfWZ1bmN0aW9uIG1jKGUpe3ZhciB0PWUuYWx0ZXJuYXRlO3JldHVybiBlPT09enx8dCE9PW51bGwmJnQ9PT16fWZ1bmN0aW9uIGhjKGUsdCl7Sm89cW89ITA7dmFyIG49ZS5wZW5kaW5nO249PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9bi5uZXh0LG4ubmV4dD10KSxlLnBlbmRpbmc9dH1mdW5jdGlvbiBnYyhlLHQsbil7aWYobiY0MTk0MDQ4KXt2YXIgcj10LmxhbmVzO3ImPWUucGVuZGluZ0xhbmVzLG58PXIsdC5sYW5lcz1uLHh0KGUsbil9fXZhciBfYz17cmVhZENvbnRleHQ6T2EsdXNlOkIsdXNlQ2FsbGJhY2s6ZXMsdXNlQ29udGV4dDplcyx1c2VFZmZlY3Q6ZXMsdXNlSW1wZXJhdGl2ZUhhbmRsZTplcyx1c2VMYXlvdXRFZmZlY3Q6ZXMsdXNlSW5zZXJ0aW9uRWZmZWN0OmVzLHVzZU1lbW86ZXMsdXNlUmVkdWNlcjplcyx1c2VSZWY6ZXMsdXNlU3RhdGU6ZXMsdXNlRGVidWdWYWx1ZTplcyx1c2VEZWZlcnJlZFZhbHVlOmVzLHVzZVRyYW5zaXRpb246ZXMsdXNlU3luY0V4dGVybmFsU3RvcmU6ZXMsdXNlSWQ6ZXMsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6ZXMsdXNlRm9ybVN0YXRlOmVzLHVzZUFjdGlvblN0YXRlOmVzLHVzZU9wdGltaXN0aWM6ZXMsdXNlTWVtb0NhY2hlOmVzLHVzZUNhY2hlUmVmcmVzaDplcyx1c2VFZmZlY3RFdmVudDplc30sdmM9e3JlYWRDb250ZXh0Ok9hLHVzZTpCLHVzZUNhbGxiYWNrOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGxzKCkubWVtb2l6ZWRTdGF0ZT1bZSx0PT09dm9pZCAwP251bGw6dF0sZX0sdXNlQ29udGV4dDpPYSx1c2VFZmZlY3Q6SHMsdXNlSW1wZXJhdGl2ZUhhbmRsZTpmdW5jdGlvbihlLHQsbil7bj1uPT1udWxsP251bGw6bi5jb25jYXQoW2VdKSxCcyg0MTk0MzA4LDQsSnMuYmluZChudWxsLHQsZSksbil9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLHQpe3JldHVybiBCcyg0MTk0MzA4LDQsZSx0KX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsdCl7QnMoNCwyLGUsdCl9LHVzZU1lbW86ZnVuY3Rpb24oZSx0KXt2YXIgbj1scygpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIHI9ZSgpO2lmKFlvKXtydCghMCk7dHJ5e2UoKX1maW5hbGx5e3J0KCExKX19cmV0dXJuIG4ubWVtb2l6ZWRTdGF0ZT1bcix0XSxyfSx1c2VSZWR1Y2VyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1scygpO2lmKG4hPT12b2lkIDApe3ZhciBpPW4odCk7aWYoWW8pe3J0KCEwKTt0cnl7bih0KX1maW5hbGx5e3J0KCExKX19fWVsc2UgaT10O3JldHVybiByLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9aSxlPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6ZSxsYXN0UmVuZGVyZWRTdGF0ZTppfSxyLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPXVjLmJpbmQobnVsbCx6LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXt2YXIgdD1scygpO3JldHVybiBlPXtjdXJyZW50OmV9LHQubWVtb2l6ZWRTdGF0ZT1lfSx1c2VTdGF0ZTpmdW5jdGlvbihlKXtlPXdzKGUpO3ZhciB0PWUucXVldWUsbj1kYy5iaW5kKG51bGwseix0KTtyZXR1cm4gdC5kaXNwYXRjaD1uLFtlLm1lbW9pemVkU3RhdGUsbl19LHVzZURlYnVnVmFsdWU6WHMsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiAkcyhscygpLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT13cyghMSk7cmV0dXJuIGU9dGMuYmluZChudWxsLHosZS5xdWV1ZSwhMCwhMSksbHMoKS5tZW1vaXplZFN0YXRlPWUsWyExLGVdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9eixpPWxzKCk7aWYoTCl7aWYobj09PXZvaWQgMCl0aHJvdyBFcnJvcihzKDQwNykpO249bigpfWVsc2V7aWYobj10KCksUXU9PT1udWxsKXRocm93IEVycm9yKHMoMzQ5KSk7WCYxMjd8fHlzKHIsdCxuKX1pLm1lbW9pemVkU3RhdGU9bjt2YXIgYT17dmFsdWU6bixnZXRTbmFwc2hvdDp0fTtyZXR1cm4gaS5xdWV1ZT1hLEhzKHhzLmJpbmQobnVsbCxyLGEsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFJzKDkse2Rlc3Ryb3k6dm9pZCAwfSxicy5iaW5kKG51bGwscixhLG4sdCksbnVsbCksbn0sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgZT1scygpLHQ9UXUuaWRlbnRpZmllclByZWZpeDtpZihMKXt2YXIgbj1lYSxyPSRpO249KHImfigxPDwzMi1pdChyKS0xKSkudG9TdHJpbmcoMzIpK24sdD1gX2ArdCtgUl9gK24sbj1YbysrLDA8biYmKHQrPWBIYCtuLnRvU3RyaW5nKDMyKSksdCs9YF9gfWVsc2Ugbj0kbysrLHQ9YF9gK3QrYHJfYCtuLnRvU3RyaW5nKDMyKStgX2A7cmV0dXJuIGUubWVtb2l6ZWRTdGF0ZT10fSx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czpvYyx1c2VGb3JtU3RhdGU6TnMsdXNlQWN0aW9uU3RhdGU6TnMsdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihlKXt2YXIgdD1scygpO3QubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lO3ZhciBuPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6bnVsbCxsYXN0UmVuZGVyZWRTdGF0ZTpudWxsfTtyZXR1cm4gdC5xdWV1ZT1uLHQ9cGMuYmluZChudWxsLHosITAsbiksbi5kaXNwYXRjaD10LFtlLHRdfSx1c2VNZW1vQ2FjaGU6cHMsdXNlQ2FjaGVSZWZyZXNoOmZ1bmN0aW9uKCl7cmV0dXJuIGxzKCkubWVtb2l6ZWRTdGF0ZT1sYy5iaW5kKG51bGwseil9LHVzZUVmZmVjdEV2ZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWxzKCksbj17aW1wbDplfTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPW4sZnVuY3Rpb24oKXtpZihKJjIpdGhyb3cgRXJyb3Iocyg0NDApKTtyZXR1cm4gbi5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LHljPXtyZWFkQ29udGV4dDpPYSx1c2U6Qix1c2VDYWxsYmFjazpacyx1c2VDb250ZXh0Ok9hLHVzZUVmZmVjdDpVcyx1c2VJbXBlcmF0aXZlSGFuZGxlOllzLHVzZUluc2VydGlvbkVmZmVjdDpLcyx1c2VMYXlvdXRFZmZlY3Q6cXMsdXNlTWVtbzpRcyx1c2VSZWR1Y2VyOmhzLHVzZVJlZjp6cyx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBocyhtcyl9LHVzZURlYnVnVmFsdWU6WHMsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlYyh1cygpLEdvLm1lbW9pemVkU3RhdGUsZSx0KX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPWhzKG1zKVswXSx0PXVzKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bdHlwZW9mIGU9PWBib29sZWFuYD9lOmZzKGUpLHRdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTp2cyx1c2VJZDpzYyx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czpvYyx1c2VGb3JtU3RhdGU6UHMsdXNlQWN0aW9uU3RhdGU6UHMsdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihlLHQpe3JldHVybiBUcyh1cygpLEdvLGUsdCl9LHVzZU1lbW9DYWNoZTpwcyx1c2VDYWNoZVJlZnJlc2g6Y2MsdXNlRWZmZWN0RXZlbnQ6R3N9LGJjPXtyZWFkQ29udGV4dDpPYSx1c2U6Qix1c2VDYWxsYmFjazpacyx1c2VDb250ZXh0Ok9hLHVzZUVmZmVjdDpVcyx1c2VJbXBlcmF0aXZlSGFuZGxlOllzLHVzZUluc2VydGlvbkVmZmVjdDpLcyx1c2VMYXlvdXRFZmZlY3Q6cXMsdXNlTWVtbzpRcyx1c2VSZWR1Y2VyOl9zLHVzZVJlZjp6cyx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBfcyhtcyl9LHVzZURlYnVnVmFsdWU6WHMsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPXVzKCk7cmV0dXJuIEdvPT09bnVsbD8kcyhuLGUsdCk6ZWMobixHby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1fcyhtcylbMF0sdD11cygpLm1lbW9pemVkU3RhdGU7cmV0dXJuW3R5cGVvZiBlPT1gYm9vbGVhbmA_ZTpmcyhlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6dnMsdXNlSWQ6c2MsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2MsdXNlRm9ybVN0YXRlOkxzLHVzZUFjdGlvblN0YXRlOkxzLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXt2YXIgbj11cygpO3JldHVybiBHbz09PW51bGw_KG4uYmFzZVN0YXRlPWUsW2Usbi5xdWV1ZS5kaXNwYXRjaF0pOlRzKG4sR28sZSx0KX0sdXNlTWVtb0NhY2hlOnBzLHVzZUNhY2hlUmVmcmVzaDpjYyx1c2VFZmZlY3RFdmVudDpHc307ZnVuY3Rpb24geGMoZSx0LG4scil7dD1lLm1lbW9pemVkU3RhdGUsbj1uKHIsdCksbj1uPT1udWxsP3Q6RCh7fSx0LG4pLGUubWVtb2l6ZWRTdGF0ZT1uLGUubGFuZXM9PT0wJiYoZS51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9bil9dmFyIFNjPXtlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oZSx0LG4pe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIHI9QWQoKSxpPXlvKHIpO2kucGF5bG9hZD10LG4hPW51bGwmJihpLmNhbGxiYWNrPW4pLHQ9Ym8oZSxpLHIpLHQhPT1udWxsJiYoTmQodCxlLHIpLHhvKHQsZSxyKSl9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oZSx0LG4pe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIHI9QWQoKSxpPXlvKHIpO2kudGFnPTEsaS5wYXlsb2FkPXQsbiE9bnVsbCYmKGkuY2FsbGJhY2s9biksdD1ibyhlLGksciksdCE9PW51bGwmJihOZCh0LGUscikseG8odCxlLHIpKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKGUsdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgbj1BZCgpLHI9eW8obik7ci50YWc9Mix0IT1udWxsJiYoci5jYWxsYmFjaz10KSx0PWJvKGUscixuKSx0IT09bnVsbCYmKE5kKHQsZSxuKSx4byh0LGUsbikpfX07ZnVuY3Rpb24gQ2MoZSx0LG4scixpLGEsbyl7cmV0dXJuIGU9ZS5zdGF0ZU5vZGUsdHlwZW9mIGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPT1gZnVuY3Rpb25gP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSxvKTp0LnByb3RvdHlwZSYmdC5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQ_IXFyKG4scil8fCFxcihpLGEpOiEwfWZ1bmN0aW9uIHdjKGUsdCxuLHIpe2U9dC5zdGF0ZSx0eXBlb2YgdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzPT1gZnVuY3Rpb25gJiZ0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobixyKSx0eXBlb2YgdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcz09YGZ1bmN0aW9uYCYmdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLHQuc3RhdGUhPT1lJiZTYy5lbnF1ZXVlUmVwbGFjZVN0YXRlKHQsdC5zdGF0ZSxudWxsKX1mdW5jdGlvbiBUYyhlLHQpe3ZhciBuPXQ7aWYoYHJlZmBpbiB0KWZvcih2YXIgciBpbiBuPXt9LHQpciE9PWByZWZgJiYobltyXT10W3JdKTtpZihlPWUuZGVmYXVsdFByb3BzKWZvcih2YXIgaSBpbiBuPT09dCYmKG49RCh7fSxuKSksZSluW2ldPT09dm9pZCAwJiYobltpXT1lW2ldKTtyZXR1cm4gbn1mdW5jdGlvbiBFYyhlKXt3aShlKX1mdW5jdGlvbiBWKGUpe2NvbnNvbGUuZXJyb3IoZSl9ZnVuY3Rpb24gRGMoZSl7d2koZSl9ZnVuY3Rpb24gSChlLHQpe3RyeXt2YXIgbj1lLm9uVW5jYXVnaHRFcnJvcjtuKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOnQuc3RhY2t9KX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX1mdW5jdGlvbiBPYyhlLHQsbil7dHJ5e3ZhciByPWUub25DYXVnaHRFcnJvcjtyKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm4uc3RhY2ssZXJyb3JCb3VuZGFyeTp0LnRhZz09PTE_dC5zdGF0ZU5vZGU6bnVsbH0pfWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9fWZ1bmN0aW9uIGtjKGUsdCxuKXtyZXR1cm4gbj15byhuKSxuLnRhZz0zLG4ucGF5bG9hZD17ZWxlbWVudDpudWxsfSxuLmNhbGxiYWNrPWZ1bmN0aW9uKCl7SChlLHQpfSxufWZ1bmN0aW9uIEFjKGUpe3JldHVybiBlPXlvKGUpLGUudGFnPTMsZX1mdW5jdGlvbiBqYyhlLHQsbixyKXt2YXIgaT1uLnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yO2lmKHR5cGVvZiBpPT1gZnVuY3Rpb25gKXt2YXIgYT1yLnZhbHVlO2UucGF5bG9hZD1mdW5jdGlvbigpe3JldHVybiBpKGEpfSxlLmNhbGxiYWNrPWZ1bmN0aW9uKCl7T2ModCxuLHIpfX12YXIgbz1uLnN0YXRlTm9kZTtvIT09bnVsbCYmdHlwZW9mIG8uY29tcG9uZW50RGlkQ2F0Y2g9PWBmdW5jdGlvbmAmJihlLmNhbGxiYWNrPWZ1bmN0aW9uKCl7T2ModCxuLHIpLHR5cGVvZiBpIT1gZnVuY3Rpb25gJiYoX2Q9PT1udWxsP19kPW5ldyBTZXQoW3RoaXNdKTpfZC5hZGQodGhpcykpO3ZhciBlPXIuc3RhY2s7dGhpcy5jb21wb25lbnREaWRDYXRjaChyLnZhbHVlLHtjb21wb25lbnRTdGFjazplPT09bnVsbD9gYDplfSl9KX1mdW5jdGlvbiBNYyhlLHQsbixyLGkpe2lmKG4uZmxhZ3N8PTMyNzY4LHR5cGVvZiByPT1gb2JqZWN0YCYmciYmdHlwZW9mIHIudGhlbj09YGZ1bmN0aW9uYCl7aWYodD1uLmFsdGVybmF0ZSx0IT09bnVsbCYmVGEodCxuLGksITApLG49Tm8uY3VycmVudCxuIT09bnVsbCl7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gUG89PT1udWxsP0dkKCk6bi5hbHRlcm5hdGU9PT1udWxsJiZpZD09PTAmJihpZD0zKSxuLmZsYWdzJj0tMjU3LG4uZmxhZ3N8PTY1NTM2LG4ubGFuZXM9aSxyPT09ZW8_bi5mbGFnc3w9MTYzODQ6KHQ9bi51cGRhdGVRdWV1ZSx0PT09bnVsbD9uLnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW3JdKTp0LmFkZChyKSxwZihlLHIsaSkpLCExO2Nhc2UgMjI6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LHI9PT1lbz9uLmZsYWdzfD0xNjM4NDoodD1uLnVwZGF0ZVF1ZXVlLHQ9PT1udWxsPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbcl0pfSxuLnVwZGF0ZVF1ZXVlPXQpOihuPXQucmV0cnlRdWV1ZSxuPT09bnVsbD90LnJldHJ5UXVldWU9bmV3IFNldChbcl0pOm4uYWRkKHIpKSxwZihlLHIsaSkpLCExfXRocm93IEVycm9yKHMoNDM1LG4udGFnKSl9cmV0dXJuIHBmKGUscixpKSxHZCgpLCExfWlmKEwpcmV0dXJuIHQ9Tm8uY3VycmVudCx0PT09bnVsbD8ociE9PXVhJiYodD1FcnJvcihzKDQyMykse2NhdXNlOnJ9KSxfYShLaSh0LG4pKSksZT1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmxhZ3N8PTY1NTM2LGkmPS1pLGUubGFuZXN8PWkscj1LaShyLG4pLGk9a2MoZS5zdGF0ZU5vZGUscixpKSxTbyhlLGkpLGlkIT09NCYmKGlkPTIpKTooISh0LmZsYWdzJjY1NTM2KSYmKHQuZmxhZ3N8PTI1NiksdC5mbGFnc3w9NjU1MzYsdC5sYW5lcz1pLHIhPT11YSYmKGU9RXJyb3Iocyg0MjIpLHtjYXVzZTpyfSksX2EoS2koZSxuKSkpKSwhMTt2YXIgYT1FcnJvcihzKDUyMCkse2NhdXNlOnJ9KTtpZihhPUtpKGEsbiksdWQ9PT1udWxsP3VkPVthXTp1ZC5wdXNoKGEpLGlkIT09NCYmKGlkPTIpLHQ9PT1udWxsKXJldHVybiEwO3I9S2kocixuKSxuPXQ7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LGU9aSYtaSxuLmxhbmVzfD1lLGU9a2Mobi5zdGF0ZU5vZGUscixlKSxTbyhuLGUpLCExO2Nhc2UgMTppZih0PW4udHlwZSxhPW4uc3RhdGVOb2RlLCEobi5mbGFncyYxMjgpJiYodHlwZW9mIHQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yPT1gZnVuY3Rpb25gfHxhIT09bnVsbCYmdHlwZW9mIGEuY29tcG9uZW50RGlkQ2F0Y2g9PWBmdW5jdGlvbmAmJihfZD09PW51bGx8fCFfZC5oYXMoYSkpKSlyZXR1cm4gbi5mbGFnc3w9NjU1MzYsaSY9LWksbi5sYW5lc3w9aSxpPUFjKGkpLGpjKGksZSxuLHIpLFNvKG4saSksITE7YnJlYWs7Y2FzZSAyMjppZihuLm1lbW9pemVkU3RhdGUhPT1udWxsKXJldHVybiBuLmZsYWdzfD02NTUzNiwhMX1uPW4ucmV0dXJufXdoaWxlKG4hPT1udWxsKTtyZXR1cm4hMX12YXIgTmM9RXJyb3Iocyg0NjEpKSxQYz0hMTtmdW5jdGlvbiBGYyhlLHQsbixyKXt0LmNoaWxkPWU9PT1udWxsP2hvKHQsbnVsbCxuLHIpOm1vKHQsZS5jaGlsZCxuLHIpfWZ1bmN0aW9uIEljKGUsdCxuLHIsaSl7bj1uLnJlbmRlcjt2YXIgYT10LnJlZjtpZihgcmVmYGluIHIpe3ZhciBvPXt9O2Zvcih2YXIgcyBpbiByKXMhPT1gcmVmYCYmKG9bc109cltzXSl9ZWxzZSBvPXI7cmV0dXJuIERhKHQpLHI9bnMoZSx0LG4sbyxhLGkpLHM9b3MoKSxlIT09bnVsbCYmIVBjPyhzcyhlLHQsaSksdWwoZSx0LGkpKTooTCYmcyYmcmEodCksdC5mbGFnc3w9MSxGYyhlLHQscixpKSx0LmNoaWxkKX1mdW5jdGlvbiBMYyhlLHQsbixyLGkpe2lmKGU9PT1udWxsKXt2YXIgYT1uLnR5cGU7cmV0dXJuIHR5cGVvZiBhPT1gZnVuY3Rpb25gJiYhTGkoYSkmJmEuZGVmYXVsdFByb3BzPT09dm9pZCAwJiZuLmNvbXBhcmU9PT1udWxsPyh0LnRhZz0xNSx0LnR5cGU9YSxSYyhlLHQsYSxyLGkpKTooZT1CaShuLnR5cGUsbnVsbCxyLHQsdC5tb2RlLGkpLGUucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lKX1pZihhPWUuY2hpbGQsIWRsKGUsaSkpe3ZhciBvPWEubWVtb2l6ZWRQcm9wcztpZihuPW4uY29tcGFyZSxuPW49PT1udWxsP3FyOm4sbihvLHIpJiZlLnJlZj09PXQucmVmKXJldHVybiB1bChlLHQsaSl9cmV0dXJuIHQuZmxhZ3N8PTEsZT1SaShhLHIpLGUucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lfWZ1bmN0aW9uIFJjKGUsdCxuLHIsaSl7aWYoZSE9PW51bGwpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihxcihhLHIpJiZlLnJlZj09PXQucmVmKXtpZihQYz0hMSx0LnBlbmRpbmdQcm9wcz1yPWEsZGwoZSxpKSllLmZsYWdzJjEzMTA3MiYmKFBjPSEwKTtlbHNlIHJldHVybiB0LmxhbmVzPWUubGFuZXMsdWwoZSx0LGkpfX1yZXR1cm4gS2MoZSx0LG4scixpKX1mdW5jdGlvbiB6YyhlLHQsbixyKXt2YXIgaT1yLmNoaWxkcmVuLGE9ZT09PW51bGw_bnVsbDplLm1lbW9pemVkU3RhdGU7aWYoZT09PW51bGwmJnQuc3RhdGVOb2RlPT09bnVsbCYmKHQuc3RhdGVOb2RlPXtfdmlzaWJpbGl0eToxLF9wZW5kaW5nTWFya2VyczpudWxsLF9yZXRyeUNhY2hlOm51bGwsX3RyYW5zaXRpb25zOm51bGx9KSxyLm1vZGU9PT1gaGlkZGVuYCl7aWYodC5mbGFncyYxMjgpe2lmKGE9YT09PW51bGw_bjphLmJhc2VMYW5lc3xuLGUhPT1udWxsKXtmb3Iocj10LmNoaWxkPWUuY2hpbGQsaT0wO3IhPT1udWxsOylpPWl8ci5sYW5lc3xyLmNoaWxkTGFuZXMscj1yLnNpYmxpbmc7cj1pJn5hfWVsc2Ugcj0wLHQuY2hpbGQ9bnVsbDtyZXR1cm4gVmMoZSx0LGEsbixyKX1pZihuJjUzNjg3MDkxMil0Lm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsfSxlIT09bnVsbCYmWWEodCxhPT09bnVsbD9udWxsOmEuY2FjaGVQb29sKSxhPT09bnVsbD9qbygpOkFvKHQsYSksTG8odCk7ZWxzZSByZXR1cm4gcj10LmxhbmVzPTUzNjg3MDkxMixWYyhlLHQsYT09PW51bGw_bjphLmJhc2VMYW5lc3xuLG4scil9ZWxzZSBhPT09bnVsbD8oZSE9PW51bGwmJllhKHQsbnVsbCksam8oKSxSbygpKTooWWEodCxhLmNhY2hlUG9vbCksQW8odCxhKSxSbygpLHQubWVtb2l6ZWRTdGF0ZT1udWxsKTtyZXR1cm4gRmMoZSx0LGksbiksdC5jaGlsZH1mdW5jdGlvbiBCYyhlLHQpe3JldHVybiBlIT09bnVsbCYmZS50YWc9PT0yMnx8dC5zdGF0ZU5vZGUhPT1udWxsfHwodC5zdGF0ZU5vZGU9e192aXNpYmlsaXR5OjEsX3BlbmRpbmdNYXJrZXJzOm51bGwsX3JldHJ5Q2FjaGU6bnVsbCxfdHJhbnNpdGlvbnM6bnVsbH0pLHQuc2libGluZ31mdW5jdGlvbiBWYyhlLHQsbixyLGkpe3ZhciBhPUphKCk7cmV0dXJuIGE9YT09PW51bGw_bnVsbDp7cGFyZW50OlBhLl9jdXJyZW50VmFsdWUscG9vbDphfSx0Lm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczpuLGNhY2hlUG9vbDphfSxlIT09bnVsbCYmWWEodCxudWxsKSxqbygpLExvKHQpLGUhPT1udWxsJiZUYShlLHQsciwhMCksdC5jaGlsZExhbmVzPWksbnVsbH1mdW5jdGlvbiBIYyhlLHQpe3JldHVybiB0PXRsKHttb2RlOnQubW9kZSxjaGlsZHJlbjp0LmNoaWxkcmVufSxlLm1vZGUpLHQucmVmPWUucmVmLGUuY2hpbGQ9dCx0LnJldHVybj1lLHR9ZnVuY3Rpb24gVWMoZSx0LG4pe3JldHVybiBtbyh0LGUuY2hpbGQsbnVsbCxuKSxlPUhjKHQsdC5wZW5kaW5nUHJvcHMpLGUuZmxhZ3N8PTIsem8odCksdC5tZW1vaXplZFN0YXRlPW51bGwsZX1mdW5jdGlvbiBXYyhlLHQsbil7dmFyIHI9dC5wZW5kaW5nUHJvcHMsaT0hISh0LmZsYWdzJjEyOCk7aWYodC5mbGFncyY9LTEyOSxlPT09bnVsbCl7aWYoTCl7aWYoci5tb2RlPT09YGhpZGRlbmApcmV0dXJuIGU9SGModCxyKSx0LmxhbmVzPTUzNjg3MDkxMixlLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsfSxCYyhudWxsLGUpO2lmKElvKHQpLChlPXNhKT8oZT1hbShlLGxhKSxlPWUhPT1udWxsJiZlLmRhdGE9PT1gJmA_ZTpudWxsLGUhPT1udWxsJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmUsdHJlZUNvbnRleHQ6UWk9PT1udWxsP251bGw6e2lkOiRpLG92ZXJmbG93OmVhfSxyZXRyeUxhbmU6NTM2ODcwOTEyLGh5ZHJhdGlvbkVycm9yczpudWxsfSxuPVVpKGUpLG4ucmV0dXJuPXQsdC5jaGlsZD1uLG9hPXQsc2E9bnVsbCkpOmU9bnVsbCxlPT09bnVsbCl0aHJvdyBkYSh0KTtyZXR1cm4gdC5sYW5lcz01MzY4NzA5MTIsbnVsbH1yZXR1cm4gSGModCxyKX12YXIgYT1lLm1lbW9pemVkU3RhdGU7aWYoYSE9PW51bGwpe3ZhciBvPWEuZGVoeWRyYXRlZDtpZihJbyh0KSxpKXtpZih0LmZsYWdzJjI1Nil0LmZsYWdzJj0tMjU3LHQ9VWMoZSx0LG4pO2Vsc2UgaWYodC5tZW1vaXplZFN0YXRlIT09bnVsbCl0LmNoaWxkPWUuY2hpbGQsdC5mbGFnc3w9MTI4LHQ9bnVsbDtlbHNlIHRocm93IEVycm9yKHMoNTU4KSl9ZWxzZSBpZihQY3x8VGEoZSx0LG4sITEpLGk9KG4mZS5jaGlsZExhbmVzKSE9PTAsUGN8fGkpe2lmKE9vLmN1cnJlbnQ9PT1udWxsKXtpZihyPVF1LHIhPT1udWxsJiYobz1TdChyLG4pLG8hPT0wJiZvIT09YS5yZXRyeUxhbmUpKXRocm93IGEucmV0cnlMYW5lPW8samkoZSxvKSxOZChyLGUsbyksTmM7R2QoKX10PVVjKGUsdCxuKX1lbHNlIGU9YS50cmVlQ29udGV4dCxzYT1sbShvLm5leHRTaWJsaW5nKSxvYT10LEw9ITAsY2E9bnVsbCxsYT0hMSxlIT09bnVsbCYmYWEodCxlKSx0PUhjKHQsciksdC5mbGFnc3w9MTM0MjIxODI0O3JldHVybiB0fXJldHVybiBlPVJpKGUuY2hpbGQse21vZGU6ci5tb2RlLGNoaWxkcmVuOnIuY2hpbGRyZW59KSxlLnJlZj10LnJlZix0LmNoaWxkPWUsZS5yZXR1cm49dCxlfWZ1bmN0aW9uIEdjKGUsdCl7dmFyIG49dC5yZWY7aWYobj09PW51bGwpZSE9PW51bGwmJmUucmVmIT09bnVsbCYmKHQuZmxhZ3N8PTQxOTQ4MTYpO2Vsc2V7aWYodHlwZW9mIG4hPWBmdW5jdGlvbmAmJnR5cGVvZiBuIT1gb2JqZWN0YCl0aHJvdyBFcnJvcihzKDI4NCkpOyhlPT09bnVsbHx8ZS5yZWYhPT1uKSYmKHQuZmxhZ3N8PTQxOTQ4MTYpfX1mdW5jdGlvbiBLYyhlLHQsbixyLGkpe3JldHVybiBEYSh0KSxuPW5zKGUsdCxuLHIsdm9pZCAwLGkpLHI9b3MoKSxlIT09bnVsbCYmIVBjPyhzcyhlLHQsaSksdWwoZSx0LGkpKTooTCYmciYmcmEodCksdC5mbGFnc3w9MSxGYyhlLHQsbixpKSx0LmNoaWxkKX1mdW5jdGlvbiBxYyhlLHQsbixyLGksYSl7cmV0dXJuIERhKHQpLHQudXBkYXRlUXVldWU9bnVsbCxuPWlzKHQscixuLGkpLHJzKGUpLHI9b3MoKSxlIT09bnVsbCYmIVBjPyhzcyhlLHQsYSksdWwoZSx0LGEpKTooTCYmciYmcmEodCksdC5mbGFnc3w9MSxGYyhlLHQsbixhKSx0LmNoaWxkKX1mdW5jdGlvbiBKYyhlLHQsbixyLGkpe2lmKERhKHQpLHQuc3RhdGVOb2RlPT09bnVsbCl7dmFyIGE9UGksbz1uLmNvbnRleHRUeXBlO3R5cGVvZiBvPT1gb2JqZWN0YCYmbyYmKGE9T2EobykpLGE9bmV3IG4ocixhKSx0Lm1lbW9pemVkU3RhdGU9YS5zdGF0ZSE9PW51bGwmJmEuc3RhdGUhPT12b2lkIDA_YS5zdGF0ZTpudWxsLGEudXBkYXRlcj1TYyx0LnN0YXRlTm9kZT1hLGEuX3JlYWN0SW50ZXJuYWxzPXQsYT10LnN0YXRlTm9kZSxhLnByb3BzPXIsYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsYS5yZWZzPXt9LF9vKHQpLG89bi5jb250ZXh0VHlwZSxhLmNvbnRleHQ9dHlwZW9mIG89PWBvYmplY3RgJiZvP09hKG8pOlBpLGEuc3RhdGU9dC5tZW1vaXplZFN0YXRlLG89bi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsdHlwZW9mIG89PWBmdW5jdGlvbmAmJih4Yyh0LG4sbyxyKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksdHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1gZnVuY3Rpb25gfHx0eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZT09YGZ1bmN0aW9uYHx8dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCE9YGZ1bmN0aW9uYCYmdHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50IT1gZnVuY3Rpb25gfHwobz1hLnN0YXRlLHR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudD09YGZ1bmN0aW9uYCYmYS5jb21wb25lbnRXaWxsTW91bnQoKSx0eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50PT1gZnVuY3Rpb25gJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxvIT09YS5zdGF0ZSYmU2MuZW5xdWV1ZVJlcGxhY2VTdGF0ZShhLGEuc3RhdGUsbnVsbCksVG8odCxyLGEsaSksd28oKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksdHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQ9PWBmdW5jdGlvbmAmJih0LmZsYWdzfD00MTk0MzA4KSxyPSEwfWVsc2UgaWYoZT09PW51bGwpe2E9dC5zdGF0ZU5vZGU7dmFyIHM9dC5tZW1vaXplZFByb3BzLGM9VGMobixzKTthLnByb3BzPWM7dmFyIGw9YS5jb250ZXh0LHU9bi5jb250ZXh0VHlwZTtvPVBpLHR5cGVvZiB1PT1gb2JqZWN0YCYmdSYmKG89T2EodSkpO3ZhciBkPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO3U9dHlwZW9mIGQ9PWBmdW5jdGlvbmB8fHR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT1gZnVuY3Rpb25gLHM9dC5wZW5kaW5nUHJvcHMhPT1zLHV8fHR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT1gZnVuY3Rpb25gJiZ0eXBlb2YgYS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIT1gZnVuY3Rpb25gfHwoc3x8bCE9PW8pJiZ3Yyh0LGEscixvKSxnbz0hMTt2YXIgZj10Lm1lbW9pemVkU3RhdGU7YS5zdGF0ZT1mLFRvKHQscixhLGkpLHdvKCksbD10Lm1lbW9pemVkU3RhdGUsc3x8ZiE9PWx8fGdvPyh0eXBlb2YgZD09YGZ1bmN0aW9uYCYmKHhjKHQsbixkLHIpLGw9dC5tZW1vaXplZFN0YXRlKSwoYz1nb3x8Q2ModCxuLGMscixmLGwsbykpPyh1fHx0eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IT1gZnVuY3Rpb25gJiZ0eXBlb2YgYS5jb21wb25lbnRXaWxsTW91bnQhPWBmdW5jdGlvbmB8fCh0eXBlb2YgYS5jb21wb25lbnRXaWxsTW91bnQ9PWBmdW5jdGlvbmAmJmEuY29tcG9uZW50V2lsbE1vdW50KCksdHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudD09YGZ1bmN0aW9uYCYmYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCkpLHR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50PT1gZnVuY3Rpb25gJiYodC5mbGFnc3w9NDE5NDMwOCkpOih0eXBlb2YgYS5jb21wb25lbnREaWRNb3VudD09YGZ1bmN0aW9uYCYmKHQuZmxhZ3N8PTQxOTQzMDgpLHQubWVtb2l6ZWRQcm9wcz1yLHQubWVtb2l6ZWRTdGF0ZT1sKSxhLnByb3BzPXIsYS5zdGF0ZT1sLGEuY29udGV4dD1vLHI9Yyk6KHR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50PT1gZnVuY3Rpb25gJiYodC5mbGFnc3w9NDE5NDMwOCkscj0hMSl9ZWxzZXthPXQuc3RhdGVOb2RlLHZvKGUsdCksbz10Lm1lbW9pemVkUHJvcHMsdT1UYyhuLG8pLGEucHJvcHM9dSxkPXQucGVuZGluZ1Byb3BzLGY9YS5jb250ZXh0LGw9bi5jb250ZXh0VHlwZSxjPVBpLHR5cGVvZiBsPT1gb2JqZWN0YCYmbCYmKGM9T2EobCkpLHM9bi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsKGw9dHlwZW9mIHM9PWBmdW5jdGlvbmB8fHR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT1gZnVuY3Rpb25gKXx8dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPWBmdW5jdGlvbmAmJnR5cGVvZiBhLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPWBmdW5jdGlvbmB8fChvIT09ZHx8ZiE9PWMpJiZ3Yyh0LGEscixjKSxnbz0hMSxmPXQubWVtb2l6ZWRTdGF0ZSxhLnN0YXRlPWYsVG8odCxyLGEsaSksd28oKTt2YXIgcD10Lm1lbW9pemVkU3RhdGU7byE9PWR8fGYhPT1wfHxnb3x8ZSE9PW51bGwmJmUuZGVwZW5kZW5jaWVzIT09bnVsbCYmRWEoZS5kZXBlbmRlbmNpZXMpPyh0eXBlb2Ygcz09YGZ1bmN0aW9uYCYmKHhjKHQsbixzLHIpLHA9dC5tZW1vaXplZFN0YXRlKSwodT1nb3x8Q2ModCxuLHUscixmLHAsYyl8fGUhPT1udWxsJiZlLmRlcGVuZGVuY2llcyE9PW51bGwmJkVhKGUuZGVwZW5kZW5jaWVzKSk_KGx8fHR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIT1gZnVuY3Rpb25gJiZ0eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlIT1gZnVuY3Rpb25gfHwodHlwZW9mIGEuY29tcG9uZW50V2lsbFVwZGF0ZT09YGZ1bmN0aW9uYCYmYS5jb21wb25lbnRXaWxsVXBkYXRlKHIscCxjKSx0eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZT09YGZ1bmN0aW9uYCYmYS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLHAsYykpLHR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZT09YGZ1bmN0aW9uYCYmKHQuZmxhZ3N8PTQpLHR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT1gZnVuY3Rpb25gJiYodC5mbGFnc3w9MTAyNCkpOih0eXBlb2YgYS5jb21wb25lbnREaWRVcGRhdGUhPWBmdW5jdGlvbmB8fG89PT1lLm1lbW9pemVkUHJvcHMmJmY9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD00KSx0eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9YGZ1bmN0aW9uYHx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZj09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTEwMjQpLHQubWVtb2l6ZWRQcm9wcz1yLHQubWVtb2l6ZWRTdGF0ZT1wKSxhLnByb3BzPXIsYS5zdGF0ZT1wLGEuY29udGV4dD1jLHI9dSk6KHR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZSE9YGZ1bmN0aW9uYHx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZj09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLHR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT1gZnVuY3Rpb25gfHxvPT09ZS5tZW1vaXplZFByb3BzJiZmPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIGE9cixHYyhlLHQpLHI9ISEodC5mbGFncyYxMjgpLGF8fHI_KGE9dC5zdGF0ZU5vZGUsbj1yJiZ0eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IhPWBmdW5jdGlvbmA_bnVsbDphLnJlbmRlcigpLHQuZmxhZ3N8PTEsZSE9PW51bGwmJnI_KHQuY2hpbGQ9bW8odCxlLmNoaWxkLG51bGwsaSksdC5jaGlsZD1tbyh0LG51bGwsbixpKSk6RmMoZSx0LG4saSksdC5tZW1vaXplZFN0YXRlPWEuc3RhdGUsZT10LmNoaWxkKTplPXVsKGUsdCxpKSxlfWZ1bmN0aW9uIFljKGUsdCxuLHIpe3JldHVybiBoYSgpLHQuZmxhZ3N8PTI1NixGYyhlLHQsbixyKSx0LmNoaWxkfXZhciBYYz17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjAsaHlkcmF0aW9uRXJyb3JzOm51bGx9O2Z1bmN0aW9uIFpjKGUpe3JldHVybntiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6WGEoKX19ZnVuY3Rpb24gUWMoZSx0LG4pe3JldHVybiBlPWU9PT1udWxsPzA6ZS5jaGlsZExhbmVzJn5uLHQmJihlfD1jZCksZX1mdW5jdGlvbiAkYyhlLHQsbil7dmFyIHI9dC5wZW5kaW5nUHJvcHMsaT0hMSxhPSEhKHQuZmxhZ3MmMTI4KSxvO2lmKChvPWEpfHwobz1lIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlPT09bnVsbD8hMTohIShCby5jdXJyZW50JjIpKSxvJiYoaT0hMCx0LmZsYWdzJj0tMTI5KSxvPSEhKHQuZmxhZ3MmMzIpLHQuZmxhZ3MmPS0zMyxlPT09bnVsbCl7aWYoTCl7aWYoaT9Gbyh0KTpSbygpLChlPXNhKT8oZT1hbShlLGxhKSxlPWUhPT1udWxsJiZlLmRhdGEhPT1gJmA_ZTpudWxsLGUhPT1udWxsJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmUsdHJlZUNvbnRleHQ6UWk9PT1udWxsP251bGw6e2lkOiRpLG92ZXJmbG93OmVhfSxyZXRyeUxhbmU6NTM2ODcwOTEyLGh5ZHJhdGlvbkVycm9yczpudWxsfSxuPVVpKGUpLG4ucmV0dXJuPXQsdC5jaGlsZD1uLG9hPXQsc2E9bnVsbCkpOmU9bnVsbCxlPT09bnVsbCl0aHJvdyBkYSh0KTtyZXR1cm4gdC5sYW5lcz1zbShlKT8zMjo1MzY4NzA5MTIsbnVsbH1yZXR1cm4gYT1yLmNoaWxkcmVuLHI9ci5mYWxsYmFjayxpPyhSbygpLGk9dC5tb2RlLGE9dGwoe21vZGU6YGhpZGRlbmAsY2hpbGRyZW46YX0saSkscj1WaShyLGksbixudWxsKSxhLnJldHVybj10LHIucmV0dXJuPXQsYS5zaWJsaW5nPXIsdC5jaGlsZD1hLHI9dC5jaGlsZCxyLm1lbW9pemVkU3RhdGU9WmMobiksci5jaGlsZExhbmVzPVFjKGUsbyxuKSx0Lm1lbW9pemVkU3RhdGU9WGMsQmMobnVsbCxyKSk6KEZvKHQpLGVsKHQsYSkpfXZhciBzPWUubWVtb2l6ZWRTdGF0ZTtpZihzIT09bnVsbCl7dmFyIGM9cy5kZWh5ZHJhdGVkO2lmKGMhPT1udWxsKXJldHVybiBybChlLHQsYSxvLHIsYyxzLG4pfXJldHVybiBpPyhSbygpLGk9ci5mYWxsYmFjayxhPXQubW9kZSxzPWUuY2hpbGQsYz1zLnNpYmxpbmcscj1SaShzLHttb2RlOmBoaWRkZW5gLGNoaWxkcmVuOnIuY2hpbGRyZW59KSxyLnN1YnRyZWVGbGFncz1zLnN1YnRyZWVGbGFncyYxMjA2OTEwOTc2LGM9PT1udWxsPyhpPVZpKGksYSxuLG51bGwpLGkuZmxhZ3N8PTIpOmk9UmkoYyxpKSxpLnJldHVybj10LHIucmV0dXJuPXQsci5zaWJsaW5nPWksdC5jaGlsZD1yLEJjKG51bGwscikscj10LmNoaWxkLGk9ZS5jaGlsZC5tZW1vaXplZFN0YXRlLGk9PT1udWxsP2k9WmMobik6KGE9aS5jYWNoZVBvb2wsYT09PW51bGw_YT1YYSgpOihzPVBhLl9jdXJyZW50VmFsdWUsYT1hLnBhcmVudD09PXM_YTp7cGFyZW50OnMscG9vbDpzfSksaT17YmFzZUxhbmVzOmkuYmFzZUxhbmVzfG4sY2FjaGVQb29sOmF9KSxyLm1lbW9pemVkU3RhdGU9aSxyLmNoaWxkTGFuZXM9UWMoZSxvLG4pLHQubWVtb2l6ZWRTdGF0ZT1YYyxCYyhlLmNoaWxkLHIpKTooRm8odCksbj1lLmNoaWxkLGU9bi5zaWJsaW5nLG49Umkobix7bW9kZTpgdmlzaWJsZWAsY2hpbGRyZW46ci5jaGlsZHJlbn0pLG4ucmV0dXJuPXQsbi5zaWJsaW5nPW51bGwsZSE9PW51bGwmJihvPXQuZGVsZXRpb25zLG89PT1udWxsPyh0LmRlbGV0aW9ucz1bZV0sdC5mbGFnc3w9MTYpOm8ucHVzaChlKSksdC5jaGlsZD1uLHQubWVtb2l6ZWRTdGF0ZT1udWxsLG4pfWZ1bmN0aW9uIGVsKGUsdCl7cmV0dXJuIHQ9dGwoe21vZGU6YHZpc2libGVgLGNoaWxkcmVuOnR9LGUubW9kZSksdC5yZXR1cm49ZSxlLmNoaWxkPXR9ZnVuY3Rpb24gdGwoZSx0KXtyZXR1cm4gZT1JaSgyMixlLG51bGwsdCksZS5sYW5lcz0wLGV9ZnVuY3Rpb24gbmwoZSx0LG4pe3JldHVybiBtbyh0LGUuY2hpbGQsbnVsbCxuKSxlPWVsKHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pLGUuZmxhZ3N8PTIsdC5tZW1vaXplZFN0YXRlPW51bGwsZX1mdW5jdGlvbiBybChlLHQsbixyLGksYSxvLGMpe2lmKG4pcmV0dXJuIHQuZmxhZ3MmMjU2PyhGbyh0KSx0LmZsYWdzJj0tMjU3LG5sKGUsdCxjKSk6dC5tZW1vaXplZFN0YXRlPT09bnVsbD8oUm8oKSxhPWkuZmFsbGJhY2ssbz10Lm1vZGUsaT10bCh7bW9kZTpgdmlzaWJsZWAsY2hpbGRyZW46aS5jaGlsZHJlbn0sbyksYT1WaShhLG8sYyxudWxsKSxhLmZsYWdzfD0yLGkucmV0dXJuPXQsYS5yZXR1cm49dCxpLnNpYmxpbmc9YSx0LmNoaWxkPWksbW8odCxlLmNoaWxkLG51bGwsYyksaT10LmNoaWxkLGkubWVtb2l6ZWRTdGF0ZT1aYyhjKSxpLmNoaWxkTGFuZXM9UWMoZSxyLGMpLHQubWVtb2l6ZWRTdGF0ZT1YYyxCYyhudWxsLGkpKTooUm8oKSx0LmNoaWxkPWUuY2hpbGQsdC5mbGFnc3w9MTI4LG51bGwpO2lmKEZvKHQpLHNtKGEpKXtpZihyPWEubmV4dFNpYmxpbmcmJmEubmV4dFNpYmxpbmcuZGF0YXNldCxyKXZhciBsPXIuZGdzdDtyZXR1cm4gcj1sLHIhPT1gYCYmKGk9RXJyb3Iocyg0MTkpKSxpLnN0YWNrPWBgLGkuZGlnZXN0PXIsX2Eoe3ZhbHVlOmksc291cmNlOm51bGwsc3RhY2s6bnVsbH0pKSxubChlLHQsYyl9aWYoUGN8fFRhKGUsdCxjLCExKSxyPShjJmUuY2hpbGRMYW5lcykhPT0wLFBjfHxyKXtpZihPby5jdXJyZW50IT09bnVsbClyZXR1cm4gbmwoZSx0LGMpO2lmKHI9UXUsciE9PW51bGwmJihpPVN0KHIsYyksaSE9PTAmJmkhPT1vLnJldHJ5TGFuZSkpdGhyb3cgby5yZXRyeUxhbmU9aSxqaShlLGkpLE5kKHIsZSxpKSxOYztyZXR1cm4gb20oYSl8fEdkKCksbmwoZSx0LGMpfXJldHVybiBvbShhKT8odC5mbGFnc3w9MTkyLHQuY2hpbGQ9ZS5jaGlsZCxudWxsKTooZT1vLnRyZWVDb250ZXh0LHNhPWxtKGEubmV4dFNpYmxpbmcpLG9hPXQsTD0hMCxjYT1udWxsLGxhPSExLGUhPT1udWxsJiZhYSh0LGUpLHQ9ZWwodCxpLmNoaWxkcmVuKSx0LmZsYWdzfD0xMzQyMjE4MjQsdCl9ZnVuY3Rpb24gaWwoZSx0LG4pe2UubGFuZXN8PXQ7dmFyIHI9ZS5hbHRlcm5hdGU7ciE9PW51bGwmJihyLmxhbmVzfD10KSxDYShlLnJldHVybix0LG4pfWZ1bmN0aW9uIGFsKGUpe2Zvcih2YXIgdD1udWxsO2UhPT1udWxsOyl7dmFyIG49ZS5hbHRlcm5hdGU7biE9PW51bGwmJlVvKG4pPT09bnVsbCYmKHQ9ZSksZT1lLnNpYmxpbmd9cmV0dXJuIHR9ZnVuY3Rpb24gb2woZSx0LG4scixpLGEpe3ZhciBvPWUubWVtb2l6ZWRTdGF0ZTtvPT09bnVsbD9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOnQscmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6bix0YWlsTW9kZTppLHRyZWVGb3JrQ291bnQ6YX06KG8uaXNCYWNrd2FyZHM9dCxvLnJlbmRlcmluZz1udWxsLG8ucmVuZGVyaW5nU3RhcnRUaW1lPTAsby5sYXN0PXIsby50YWlsPW4sby50YWlsTW9kZT1pLG8udHJlZUZvcmtDb3VudD1hKX1mdW5jdGlvbiBzbChlKXt2YXIgdD1lLmNoaWxkO2ZvcihlLmNoaWxkPW51bGw7dCE9PW51bGw7KXt2YXIgbj10LnNpYmxpbmc7dC5zaWJsaW5nPWUuY2hpbGQsZS5jaGlsZD10LHQ9bn19ZnVuY3Rpb24gY2woZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzLGk9ci5yZXZlYWxPcmRlcixhPXIudGFpbDtyPXIuY2hpbGRyZW47dmFyIG89Qm8uY3VycmVudDtpZih0LmZsYWdzJjEyOClyZXR1cm4gVm8odCxvKSxudWxsO3ZhciBzPSEhKG8mMik7aWYocz8obz1vJjF8Mix0LmZsYWdzfD0xMjgpOm8mPTEsVm8odCxvKSxpPT09YGJhY2t3YXJkc2AmJmUhPT1udWxsPyhzbChlKSxGYyhlLHQscixuKSxzbChlKSk6RmMoZSx0LHIsbikscj1MP1lpOjAsIXMmJmUhPT1udWxsJiZlLmZsYWdzJjEyOClhOmZvcihlPXQuY2hpbGQ7ZSE9PW51bGw7KXtpZihlLnRhZz09PTEzKWUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJmlsKGUsbix0KTtlbHNlIGlmKGUudGFnPT09MTkpaWwoZSxuLHQpO2Vsc2UgaWYoZS5jaGlsZCE9PW51bGwpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT10KWJyZWFrIGE7Zm9yKDtlLnNpYmxpbmc9PT1udWxsOyl7aWYoZS5yZXR1cm49PT1udWxsfHxlLnJldHVybj09PXQpYnJlYWsgYTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9c3dpdGNoKGkpe2Nhc2VgYmFja3dhcmRzYDpuPWFsKHQuY2hpbGQpLG49PT1udWxsPyhpPXQuY2hpbGQsdC5jaGlsZD1udWxsKTooaT1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwsc2wodCkpLG9sKHQsITAsaSxudWxsLGEscik7YnJlYWs7Y2FzZWB1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzYDpmb3Iobj1udWxsLGk9dC5jaGlsZCx0LmNoaWxkPW51bGw7aSE9PW51bGw7KXtpZihlPWkuYWx0ZXJuYXRlLGUhPT1udWxsJiZVbyhlKT09PW51bGwpe3QuY2hpbGQ9aTticmVha31lPWkuc2libGluZyxpLnNpYmxpbmc9bixuPWksaT1lfW9sKHQsITAsbixudWxsLGEscik7YnJlYWs7Y2FzZWB0b2dldGhlcmA6b2wodCwhMSxudWxsLG51bGwsdm9pZCAwLHIpO2JyZWFrO2Nhc2VgaW5kZXBlbmRlbnRgOnQubWVtb2l6ZWRTdGF0ZT1udWxsO2JyZWFrO2RlZmF1bHQ6bj1hbCh0LmNoaWxkKSxuPT09bnVsbD8oaT10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGk9bi5zaWJsaW5nLG4uc2libGluZz1udWxsKSxvbCh0LCExLGksbixhLHIpfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIGxsKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcztyZXR1cm4geGEodCx0LnR5cGUsci52YWx1ZSksRmMoZSx0LHIuY2hpbGRyZW4sbiksdC5jaGlsZH1mdW5jdGlvbiB1bChlLHQsbil7aWYoZSE9PW51bGwmJih0LmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksYWR8PXQubGFuZXMsKG4mdC5jaGlsZExhbmVzKT09PTApe2lmKGUhPT1udWxsKXtpZihUYShlLHQsbiwhMSksKG4mdC5jaGlsZExhbmVzKT09PTApcmV0dXJuIG51bGx9ZWxzZSByZXR1cm4gbnVsbH1pZihlIT09bnVsbCYmdC5jaGlsZCE9PWUuY2hpbGQpdGhyb3cgRXJyb3IocygxNTMpKTtpZih0LmNoaWxkIT09bnVsbCl7Zm9yKGU9dC5jaGlsZCxuPVJpKGUsZS5wZW5kaW5nUHJvcHMpLHQuY2hpbGQ9bixuLnJldHVybj10O2Uuc2libGluZyE9PW51bGw7KWU9ZS5zaWJsaW5nLG49bi5zaWJsaW5nPVJpKGUsZS5wZW5kaW5nUHJvcHMpLG4ucmV0dXJuPXQ7bi5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gZGwoZSx0KXtyZXR1cm4oZS5sYW5lcyZ0KSE9PTB8fChlPWUuZGVwZW5kZW5jaWVzLCEhKGUhPT1udWxsJiZFYShlKSkpfWZ1bmN0aW9uIGZsKGUsdCxuKXtzd2l0Y2godC50YWcpe2Nhc2UgMzpBZSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHhhKHQsUGEsZS5tZW1vaXplZFN0YXRlLmNhY2hlKSxoYSgpO2JyZWFrO2Nhc2UgMjc6Y2FzZSA1Ok1lKHQpO2JyZWFrO2Nhc2UgNDpBZSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO2JyZWFrO2Nhc2UgMTA6eGEodCx0LnR5cGUsdC5tZW1vaXplZFByb3BzLnZhbHVlKTticmVhaztjYXNlIDMxOmlmKHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwpcmV0dXJuIHQuZmxhZ3N8PTEyOCxJbyh0KSxudWxsO2JyZWFrO2Nhc2UgMTM6dmFyIHI9dC5tZW1vaXplZFN0YXRlO2lmKHIhPT1udWxsKXtpZihyLmRlaHlkcmF0ZWQhPT1udWxsKXJldHVybiBGbyh0KSx0LmZsYWdzfD0xMjgsbnVsbDtyPVRhKGUsdCxuLCExKTt2YXIgaT10LmNoaWxkLmNoaWxkTGFuZXM7cmV0dXJuIHJ8fChuJmkpIT09MD8kYyhlLHQsbik6KEZvKHQpLGU9dWwoZSx0LG4pLGU9PT1udWxsP251bGw6ZS5zaWJsaW5nKX1Gbyh0KTticmVhaztjYXNlIDE5OmlmKHQuZmxhZ3MmMTI4KXJldHVybiBjbChlLHQsbik7aWYoaT0hIShlLmZsYWdzJjEyOCkscj0obiZ0LmNoaWxkTGFuZXMpIT09MCxyfHw9KFRhKGUsdCxuLCExKSwobiZ0LmNoaWxkTGFuZXMpIT09MCksaSl7aWYocilyZXR1cm4gY2woZSx0LG4pO3QuZmxhZ3N8PTEyOH1pZihpPXQubWVtb2l6ZWRTdGF0ZSxpIT09bnVsbCYmKGkucmVuZGVyaW5nPW51bGwsaS50YWlsPW51bGwsaS5sYXN0RWZmZWN0PW51bGwpLFZvKHQsQm8uY3VycmVudCkscilicmVhaztyZXR1cm4gbnVsbDtjYXNlIDIyOnJldHVybiB0LmxhbmVzPTAsemMoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6eGEodCxQYSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiB1bChlLHQsbil9ZnVuY3Rpb24gcGwoZSx0LG4pe2lmKGUhPT1udWxsKXtpZihlLm1lbW9pemVkUHJvcHMhPT10LnBlbmRpbmdQcm9wcylQYz0hMDtlbHNle2lmKCFkbChlLG4pJiYhKHQuZmxhZ3MmMTI4KSlyZXR1cm4gUGM9ITEsZmwoZSx0LG4pO1BjPSEhKGUuZmxhZ3MmMTMxMDcyKX19ZWxzZSBQYz0hMSxMJiZ0LmZsYWdzJjEwNDg1NzYmJm5hKHQsWWksdC5pbmRleCk7c3dpdGNoKHQubGFuZXM9MCx0LnRhZyl7Y2FzZSAxNjphOnt2YXIgcj10LnBlbmRpbmdQcm9wcztpZihlPXJvKHQuZWxlbWVudFR5cGUpLHQudHlwZT1lLHR5cGVvZiBlPT1gZnVuY3Rpb25gKUxpKGUpPyhyPVRjKGUsciksdC50YWc9MSx0PUpjKG51bGwsdCxlLHIsbikpOih0LnRhZz0wLHQ9S2MobnVsbCx0LGUscixuKSk7ZWxzZXtpZihlIT1udWxsKXt2YXIgaT1lLiQkdHlwZW9mO2lmKGk9PT1hZSl7dC50YWc9MTEsdD1JYyhudWxsLHQsZSxyLG4pO2JyZWFrIGF9aWYoaT09PWNlKXt0LnRhZz0xNCx0PUxjKG51bGwsdCxlLHIsbik7YnJlYWsgYX1pZihpPT09QSl7dC50YWc9MTAsdC50eXBlPWUsdD1sbChudWxsLHQsbik7YnJlYWsgYX19dGhyb3cgdD12ZShlKXx8ZSxFcnJvcihzKDMwNix0LGBgKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gS2MoZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIHI9dC50eXBlLGk9VGMocix0LnBlbmRpbmdQcm9wcyksSmMoZSx0LHIsaSxuKTtjYXNlIDM6YTp7aWYoQWUodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxlPT09bnVsbCl0aHJvdyBFcnJvcihzKDM4NykpO3I9dC5wZW5kaW5nUHJvcHM7dmFyIGE9dC5tZW1vaXplZFN0YXRlO2k9YS5lbGVtZW50LHZvKGUsdCksVG8odCxyLG51bGwsbik7dmFyIG89dC5tZW1vaXplZFN0YXRlO2lmKHI9by5jYWNoZSx4YSh0LFBhLHIpLHIhPT1hLmNhY2hlJiZ3YSh0LFtQYV0sbiwhMCksd28oKSxyPW8uZWxlbWVudCxhLmlzRGVoeWRyYXRlZCl7aWYoYT17ZWxlbWVudDpyLGlzRGVoeWRyYXRlZDohMSxjYWNoZTpvLmNhY2hlfSx0LnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1hLHQubWVtb2l6ZWRTdGF0ZT1hLHQuZmxhZ3MmMjU2KXt0PVljKGUsdCxyLG4pO2JyZWFrIGF9aWYociE9PWkpe2k9S2koRXJyb3Iocyg0MjQpKSx0KSxfYShpKSx0PVljKGUsdCxyLG4pO2JyZWFrIGF9c3dpdGNoKGU9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxlLm5vZGVUeXBlKXtjYXNlIDk6ZT1lLmJvZHk7YnJlYWs7ZGVmYXVsdDplPWUubm9kZU5hbWU9PT1gSFRNTGA_ZS5vd25lckRvY3VtZW50LmJvZHk6ZX1mb3Ioc2E9bG0oZS5maXJzdENoaWxkKSxvYT10LEw9ITAsY2E9bnVsbCxsYT0hMCxuPWhvKHQsbnVsbCxyLG4pLHQuY2hpbGQ9bjtuOyluLmZsYWdzPW4uZmxhZ3MmLTN8MTM0MjIxODI0LG49bi5zaWJsaW5nfWVsc2V7aWYoaGEoKSxyPT09aSl7dD11bChlLHQsbik7YnJlYWsgYX1GYyhlLHQscixuKX10PXQuY2hpbGR9cmV0dXJuIHQ7Y2FzZSAyNjpyZXR1cm4gR2MoZSx0KSxlPT09bnVsbD8obj1ObSh0LnR5cGUsbnVsbCx0LnBlbmRpbmdQcm9wcyxudWxsKSk_dC5tZW1vaXplZFN0YXRlPW46THx8KHQuc3RhdGVOb2RlPWZwKHQudHlwZSx0LnBlbmRpbmdQcm9wcyxPZS5jdXJyZW50LHQpKTp0Lm1lbW9pemVkU3RhdGU9Tm0odC50eXBlLGUubWVtb2l6ZWRQcm9wcyx0LnBlbmRpbmdQcm9wcyxlLm1lbW9pemVkU3RhdGUpLG51bGw7Y2FzZSAyNzpyZXR1cm4gTWUodCksZT09PW51bGwmJkwmJihyPXQuc3RhdGVOb2RlPWhtKHQudHlwZSx0LnBlbmRpbmdQcm9wcyxPZS5jdXJyZW50KSxvYT10LGxhPSEwLGk9c2EsU3AodC50eXBlKT8odW09aSxzYT1sbShyLmZpcnN0Q2hpbGQpKTpzYT1pKSxGYyhlLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbiksR2MoZSx0KSxlPT09bnVsbCYmKHQuZmxhZ3N8PTQxOTQzMDQpLHQuY2hpbGQ7Y2FzZSA1OnJldHVybiBlPT09bnVsbCYmTCYmKChpPXI9c2EpJiYocj1ybShyLHQudHlwZSx0LnBlbmRpbmdQcm9wcyxsYSkscj09PW51bGw_aT0hMToodC5zdGF0ZU5vZGU9cixvYT10LHNhPWxtKHIuZmlyc3RDaGlsZCksbGE9ITEsaT0hMCkpLGl8fGRhKHQpKSxNZSh0KSxpPXQudHlwZSxhPXQucGVuZGluZ1Byb3BzLG89ZT09PW51bGw_bnVsbDplLm1lbW9pemVkUHJvcHMscj1hLmNoaWxkcmVuLHBwKGksYSk_cj1udWxsOm8hPT1udWxsJiZwcChpLG8pJiYodC5mbGFnc3w9MzIpLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJihpPW5zKGUsdCxhcyxudWxsLG51bGwsbiksc2guX2N1cnJlbnRWYWx1ZT1pKSxHYyhlLHQpLEZjKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBlPT09bnVsbCYmTCYmKChlPW49c2EpJiYobj1pbShuLHQucGVuZGluZ1Byb3BzLGxhKSxuPT09bnVsbD9lPSExOih0LnN0YXRlTm9kZT1uLG9hPXQsc2E9bnVsbCxlPSEwKSksZXx8ZGEodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gJGMoZSx0LG4pO2Nhc2UgNDpyZXR1cm4gQWUodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyPXQucGVuZGluZ1Byb3BzLGU9PT1udWxsP3QuY2hpbGQ9bW8odCxudWxsLHIsbik6RmMoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDExOnJldHVybiBJYyhlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgNzpyZXR1cm4gcj10LnBlbmRpbmdQcm9wcyxHYyhlLHQpLEZjKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA4OnJldHVybiBGYyhlLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDEyOnJldHVybiBGYyhlLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDEwOnJldHVybiBsbChlLHQsbik7Y2FzZSA5OnJldHVybiBpPXQudHlwZS5fY29udGV4dCxyPXQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLERhKHQpLGk9T2EoaSkscj1yKGkpLHQuZmxhZ3N8PTEsRmMoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBMYyhlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTU6cmV0dXJuIFJjKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxOTpyZXR1cm4gY2woZSx0LG4pO2Nhc2UgMzE6cmV0dXJuIFdjKGUsdCxuKTtjYXNlIDIyOnJldHVybiB6YyhlLHQsbix0LnBlbmRpbmdQcm9wcyk7Y2FzZSAyNDpyZXR1cm4gRGEodCkscj1PYShQYSksZT09PW51bGw_KGk9SmEoKSxpPT09bnVsbCYmKGk9UXUsYT1GYSgpLGkucG9vbGVkQ2FjaGU9YSxhLnJlZkNvdW50KyssYSE9PW51bGwmJihpLnBvb2xlZENhY2hlTGFuZXN8PW4pLGk9YSksdC5tZW1vaXplZFN0YXRlPXtwYXJlbnQ6cixjYWNoZTppfSxfbyh0KSx4YSh0LFBhLGkpKTooKGUubGFuZXMmbikhPT0wJiYodm8oZSx0KSxUbyh0LG51bGwsbnVsbCxuKSx3bygpKSxpPWUubWVtb2l6ZWRTdGF0ZSxhPXQubWVtb2l6ZWRTdGF0ZSxpLnBhcmVudD09PXI_KHI9YS5jYWNoZSx4YSh0LFBhLHIpLHIhPT1pLmNhY2hlJiZ3YSh0LFtQYV0sbiwhMCkpOihpPXtwYXJlbnQ6cixjYWNoZTpyfSx0Lm1lbW9pemVkU3RhdGU9aSx0LmxhbmVzPT09MCYmKHQubWVtb2l6ZWRTdGF0ZT10LnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1pKSx4YSh0LFBhLHIpKSksRmMoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAzMDpyZXR1cm4gdC5zdGF0ZU5vZGU9PT1udWxsJiYodC5zdGF0ZU5vZGU9e2F1dG9OYW1lOm51bGwscGFpcmVkOm51bGwsY2xvbmVzOm51bGwscmVmOm51bGx9KSxyPXQucGVuZGluZ1Byb3BzLHIubmFtZSE9bnVsbCYmci5uYW1lIT09YGF1dG9gP3QuZmxhZ3N8PWU9PT1udWxsPzE4ODgyNTYwOjE4ODc0MzY4OkwmJnJhKHQpLGUhPT1udWxsJiZlLm1lbW9pemVkUHJvcHMubmFtZSE9PXIubmFtZT90LmZsYWdzfD00MTk0ODE2OkdjKGUsdCksRmMoZSx0LHIuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDI5OnRocm93IHQucGVuZGluZ1Byb3BzfXRocm93IEVycm9yKHMoMTU2LHQudGFnKSl9ZnVuY3Rpb24gbWwoZSl7ZS5mbGFnc3w9NH1mdW5jdGlvbiBobChlLHQsbixyLGkpe3ZhciBhO2lmKChhPSEhKGUubW9kZSYzMikpJiYoYT1uPT09bnVsbD9KbSh0LHIpOkptKHQscikmJihyLnNyYyE9PW4uc3JjfHxyLnNyY1NldCE9PW4uc3JjU2V0KSksYSl7aWYoZS5mbGFnc3w9MTY3NzcyMTYsKGkmMzM1NTQ0MTI4KT09PWkpe2lmKGUuc3RhdGVOb2RlLmNvbXBsZXRlKWUuZmxhZ3N8PTgxOTI7ZWxzZSBpZihIZCgpKWUuZmxhZ3N8PTgxOTI7ZWxzZSB0aHJvdyBpbz1lbyxRYX19ZWxzZSBlLmZsYWdzJj0tMTY3NzcyMTd9ZnVuY3Rpb24gZ2woZSx0KXtpZih0LnR5cGUhPT1gc3R5bGVzaGVldGB8fHQuc3RhdGUubG9hZGluZyY0KWUuZmxhZ3MmPS0xNjc3NzIxNztlbHNlIGlmKGUuZmxhZ3N8PTE2Nzc3MjE2LCFZbSh0KSl7aWYoSGQoKSllLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgaW89ZW8sUWF9fWZ1bmN0aW9uIF9sKGUsdCl7dCE9PW51bGwmJihlLmZsYWdzfD00KSxlLmZsYWdzJjE2Mzg0JiYodD1lLnRhZz09PTIyPzUzNjg3MDkxMjpndCgpLGUubGFuZXN8PXQsbGR8PXQpfWZ1bmN0aW9uIHZsKGUsdCl7aWYoIUwpc3dpdGNoKGUudGFpbE1vZGUpe2Nhc2VgdmlzaWJsZWA6YnJlYWs7Y2FzZWBjb2xsYXBzZWRgOmZvcih2YXIgbj1lLnRhaWwscj1udWxsO24hPT1udWxsOyluLmFsdGVybmF0ZSE9PW51bGwmJihyPW4pLG49bi5zaWJsaW5nO3I9PT1udWxsP3R8fGUudGFpbD09PW51bGw_ZS50YWlsPW51bGw6ZS50YWlsLnNpYmxpbmc9bnVsbDpyLnNpYmxpbmc9bnVsbDticmVhaztkZWZhdWx0OmZvcih0PWUudGFpbCxuPW51bGw7dCE9PW51bGw7KXQuYWx0ZXJuYXRlIT09bnVsbCYmKG49dCksdD10LnNpYmxpbmc7bj09PW51bGw_ZS50YWlsPW51bGw6bi5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uIFUoZSl7dmFyIHQ9ZS5hbHRlcm5hdGUhPT1udWxsJiZlLmFsdGVybmF0ZS5jaGlsZD09PWUuY2hpbGQsbj0wLHI9MDtpZih0KWZvcih2YXIgaT1lLmNoaWxkO2khPT1udWxsOylufD1pLmxhbmVzfGkuY2hpbGRMYW5lcyxyfD1pLnN1YnRyZWVGbGFncyYxMjA2OTEwOTc2LHJ8PWkuZmxhZ3MmMTIwNjkxMDk3NixpLnJldHVybj1lLGk9aS5zaWJsaW5nO2Vsc2UgZm9yKGk9ZS5jaGlsZDtpIT09bnVsbDspbnw9aS5sYW5lc3xpLmNoaWxkTGFuZXMscnw9aS5zdWJ0cmVlRmxhZ3Mscnw9aS5mbGFncyxpLnJldHVybj1lLGk9aS5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9bix0fWZ1bmN0aW9uIHlsKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcztzd2l0Y2goaWEodCksdC50YWcpe2Nhc2UgMTY6Y2FzZSAxNTpjYXNlIDA6Y2FzZSAxMTpjYXNlIDc6Y2FzZSA4OmNhc2UgMTI6Y2FzZSA5OmNhc2UgMTQ6cmV0dXJuIFUodCksbnVsbDtjYXNlIDE6cmV0dXJuIFUodCksbnVsbDtjYXNlIDM6cmV0dXJuIG49dC5zdGF0ZU5vZGUscj1udWxsLGUhPT1udWxsJiYocj1lLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQubWVtb2l6ZWRTdGF0ZS5jYWNoZSE9PXImJih0LmZsYWdzfD0yMDQ4KSxTYShQYSksamUoKSxuLnBlbmRpbmdDb250ZXh0JiYobi5jb250ZXh0PW4ucGVuZGluZ0NvbnRleHQsbi5wZW5kaW5nQ29udGV4dD1udWxsKSwoZT09PW51bGx8fGUuY2hpbGQ9PT1udWxsKSYmKG1hKHQpP21sKHQpOmU9PT1udWxsfHxlLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYhKHQuZmxhZ3MmMjU2KXx8KHQuZmxhZ3N8PTEwMjQsZ2EoKSkpLFUodCksbnVsbDtjYXNlIDI2OnZhciBpPXQudHlwZSxhPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gZT09PW51bGw_KG1sKHQpLGE9PT1udWxsPyhVKHQpLGhsKHQsaSxudWxsLHIsbikpOihVKHQpLGdsKHQsYSkpKTphP2E9PT1lLm1lbW9pemVkU3RhdGU_KFUodCksdC5mbGFncyY9LTE2Nzc3MjE3KToobWwodCksVSh0KSxnbCh0LGEpKTooZT1lLm1lbW9pemVkUHJvcHMsZSE9PXImJm1sKHQpLFUodCksaGwodCxpLGUscixuKSksbnVsbDtjYXNlIDI3OmlmKE5lKHQpLG49T2UuY3VycmVudCxpPXQudHlwZSxlIT09bnVsbCYmdC5zdGF0ZU5vZGUhPW51bGwpZS5tZW1vaXplZFByb3BzIT09ciYmbWwodCk7ZWxzZXtpZighcil7aWYodC5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKHMoMTY2KSk7cmV0dXJuIFUodCksdC5zdWJ0cmVlRmxhZ3MmPS0zMzU1NDQzMyxudWxsfWU9RWUuY3VycmVudCxtYSh0KT9mYSh0LGUpOihlPWhtKGkscixuKSx0LnN0YXRlTm9kZT1lLG1sKHQpKX1yZXR1cm4gVSh0KSx0LnN1YnRyZWVGbGFncyY9LTMzNTU0NDMzLG51bGw7Y2FzZSA1OmlmKE5lKHQpLGk9dC50eXBlLGUhPT1udWxsJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1yJiZtbCh0KTtlbHNle2lmKCFyKXtpZih0LnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IocygxNjYpKTtyZXR1cm4gVSh0KSx0LnN1YnRyZWVGbGFncyY9LTMzNTU0NDMzLG51bGx9aWYoYT1FZS5jdXJyZW50LG1hKHQpKWZhKHQsYSk7ZWxzZXt2YXIgbz1scChPZS5jdXJyZW50KTtzd2l0Y2goYSl7Y2FzZSAxOmE9by5jcmVhdGVFbGVtZW50TlMoYGh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnYCxpKTticmVhaztjYXNlIDI6YT1vLmNyZWF0ZUVsZW1lbnROUyhgaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTGAsaSk7YnJlYWs7ZGVmYXVsdDpzd2l0Y2goaSl7Y2FzZWBzdmdgOmE9by5jcmVhdGVFbGVtZW50TlMoYGh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnYCxpKTticmVhaztjYXNlYG1hdGhgOmE9by5jcmVhdGVFbGVtZW50TlMoYGh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxgLGkpO2JyZWFrO2Nhc2Vgc2NyaXB0YDphPW8uY3JlYXRlRWxlbWVudChgZGl2YCksYS5pbm5lckhUTUw9YDxzY3JpcHQ-PFwvc2NyaXB0PmAsYT1hLnJlbW92ZUNoaWxkKGEuZmlyc3RDaGlsZCk7YnJlYWs7Y2FzZWBzZWxlY3RgOmE9dHlwZW9mIHIuaXM9PWBzdHJpbmdgP28uY3JlYXRlRWxlbWVudChgc2VsZWN0YCx7aXM6ci5pc30pOm8uY3JlYXRlRWxlbWVudChgc2VsZWN0YCksci5tdWx0aXBsZT9hLm11bHRpcGxlPSEwOnIuc2l6ZSYmKGEuc2l6ZT1yLnNpemUpO2JyZWFrO2RlZmF1bHQ6YT10eXBlb2Ygci5pcz09YHN0cmluZ2A_by5jcmVhdGVFbGVtZW50KGkse2lzOnIuaXN9KTpvLmNyZWF0ZUVsZW1lbnQoaSl9fWFbRHRdPXQsYVtPdF09cjthOmZvcihvPXQuY2hpbGQ7byE9PW51bGw7KXtpZihvLnRhZz09PTV8fG8udGFnPT09NilhLmFwcGVuZENoaWxkKG8uc3RhdGVOb2RlKTtlbHNlIGlmKG8udGFnIT09NCYmby50YWchPT0yNyYmby5jaGlsZCE9PW51bGwpe28uY2hpbGQucmV0dXJuPW8sbz1vLmNoaWxkO2NvbnRpbnVlfWlmKG89PT10KWJyZWFrIGE7Zm9yKDtvLnNpYmxpbmc9PT1udWxsOyl7aWYoby5yZXR1cm49PT1udWxsfHxvLnJldHVybj09PXQpYnJlYWsgYTtvPW8ucmV0dXJufW8uc2libGluZy5yZXR1cm49by5yZXR1cm4sbz1vLnNpYmxpbmd9dC5zdGF0ZU5vZGU9YTthOnN3aXRjaChucChhLGksciksaSl7Y2FzZWBidXR0b25gOmNhc2VgaW5wdXRgOmNhc2Vgc2VsZWN0YDpjYXNlYHRleHRhcmVhYDpyPSEhci5hdXRvRm9jdXM7YnJlYWsgYTtjYXNlYGltZ2A6cj0hMDticmVhayBhO2RlZmF1bHQ6cj0hMX1yJiZtbCh0KX19cmV0dXJuIFUodCksdC5zdWJ0cmVlRmxhZ3MmPS0zMzU1NDQzMyxobCh0LHQudHlwZSxlPT09bnVsbD9udWxsOmUubWVtb2l6ZWRQcm9wcyx0LnBlbmRpbmdQcm9wcyxuKSxudWxsO2Nhc2UgNjppZihlJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1yJiZtbCh0KTtlbHNle2lmKHR5cGVvZiByIT1gc3RyaW5nYCYmdC5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKHMoMTY2KSk7aWYoZT1PZS5jdXJyZW50LG1hKHQpKXtpZihlPXQuc3RhdGVOb2RlLG49dC5tZW1vaXplZFByb3BzLHI9bnVsbCxpPW9hLGkhPT1udWxsKXN3aXRjaChpLnRhZyl7Y2FzZSAyNzpjYXNlIDU6cj1pLm1lbW9pemVkUHJvcHN9ZVtEdF09dCxlPSEhKGUubm9kZVZhbHVlPT09bnx8ciE9PW51bGwmJiEwPT09ci5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmd8fCRmKGUubm9kZVZhbHVlLG4pKSxlfHxkYSh0LCEwKX1lbHNlIGU9bHAoZSkuY3JlYXRlVGV4dE5vZGUociksZVtEdF09dCx0LnN0YXRlTm9kZT1lfXJldHVybiBVKHQpLG51bGw7Y2FzZSAzMTppZihuPXQubWVtb2l6ZWRTdGF0ZSxlPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlIT09bnVsbCl7aWYocj1tYSh0KSxuIT09bnVsbCl7aWYoZT09PW51bGwpe2lmKCFyKXRocm93IEVycm9yKHMoMzE4KSk7aWYoZT10Lm1lbW9pemVkU3RhdGUsZT1lPT09bnVsbD9udWxsOmUuZGVoeWRyYXRlZCwhZSl0aHJvdyBFcnJvcihzKDU1NykpO2VbRHRdPXR9ZWxzZSBoYSgpLCEodC5mbGFncyYxMjgpJiYodC5tZW1vaXplZFN0YXRlPW51bGwpLHQuZmxhZ3N8PTQ7VSh0KSxlPSExfWVsc2Ugbj1nYSgpLGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1uKSxlPSEwO2lmKCFlKXJldHVybiB0LmZsYWdzJjI1Nj8oem8odCksdCk6KHpvKHQpLG51bGwpO2lmKHQuZmxhZ3MmMTI4KXRocm93IEVycm9yKHMoNTU4KSl9cmV0dXJuIFUodCksbnVsbDtjYXNlIDEzOmlmKHI9dC5tZW1vaXplZFN0YXRlLGU9PT1udWxsfHxlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCE9PW51bGwpe2lmKGk9bWEodCksciE9PW51bGwmJnIuZGVoeWRyYXRlZCE9PW51bGwpe2lmKGU9PT1udWxsKXtpZighaSl0aHJvdyBFcnJvcihzKDMxOCkpO2lmKGk9dC5tZW1vaXplZFN0YXRlLGk9aT09PW51bGw_bnVsbDppLmRlaHlkcmF0ZWQsIWkpdGhyb3cgRXJyb3IocygzMTcpKTtpW0R0XT10fWVsc2UgaGEoKSwhKHQuZmxhZ3MmMTI4KSYmKHQubWVtb2l6ZWRTdGF0ZT1udWxsKSx0LmZsYWdzfD00O1UodCksaT0hMX1lbHNlIGk9Z2EoKSxlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmKGUubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9aSksaT0hMDtpZighaSlyZXR1cm4gdC5mbGFncyYyNTY_KHpvKHQpLHQpOih6byh0KSxudWxsKX1yZXR1cm4gem8odCksdC5mbGFncyYxMjg_KHQubGFuZXM9bix0KToobj1yIT09bnVsbCxlPWUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsLG4mJihyPXQuY2hpbGQsaT1udWxsLHIuYWx0ZXJuYXRlIT09bnVsbCYmci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCYmKGk9ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksYT1udWxsLHIubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnIubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoYT1yLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGEhPT1pJiYoci5mbGFnc3w9MjA0OCkpLG4hPT1lJiZuJiYodC5jaGlsZC5mbGFnc3w9ODE5MiksX2wodCx0LnVwZGF0ZVF1ZXVlKSxVKHQpLG51bGwpO2Nhc2UgNDpyZXR1cm4gamUoKSxlPT09bnVsbCYmVWYodC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksdC5mbGFnc3w9NjcxMDg4NjQsVSh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKHQudHlwZSksVSh0KSxudWxsO2Nhc2UgMTk6aWYoSG8odCkscj10Lm1lbW9pemVkU3RhdGUscj09PW51bGwpcmV0dXJuIFUodCksbnVsbDtpZihpPSEhKHQuZmxhZ3MmMTI4KSxhPXIucmVuZGVyaW5nLGE9PT1udWxsKXtpZihpKXZsKHIsITEpO2Vsc2V7aWYoaWQhPT0wfHxlIT09bnVsbCYmZS5mbGFncyYxMjgpZm9yKGU9dC5jaGlsZDtlIT09bnVsbDspe2lmKGE9VW8oZSksYSE9PW51bGwpe2Zvcih0LmZsYWdzfD0xMjgsdmwociwhMSksZT1hLnVwZGF0ZVF1ZXVlLHQudXBkYXRlUXVldWU9ZSxfbCh0LGUpLHQuc3VidHJlZUZsYWdzPTAsZT1uLG49dC5jaGlsZDtuIT09bnVsbDspemkobixlKSxuPW4uc2libGluZztyZXR1cm4gVm8odCxCby5jdXJyZW50JjF8MiksTCYmdGEodCxyLnRyZWVGb3JrQ291bnQpLHQuY2hpbGR9ZT1lLnNpYmxpbmd9ci50YWlsIT09bnVsbCYmS2UoKT5oZCYmKHQuZmxhZ3N8PTEyOCxpPSEwLHZsKHIsITEpLHQubGFuZXM9NDE5NDMwNCl9fWVsc2V7aWYoIWkpe2lmKGU9VW8oYSksZSE9PW51bGwpe2lmKHQuZmxhZ3N8PTEyOCxpPSEwLGU9ZS51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPWUsX2wodCxlKSx2bChyLCEwKSxyLnRhaWw9PT1udWxsJiZyLnRhaWxNb2RlIT09YGNvbGxhcHNlZGAmJnIudGFpbE1vZGUhPT1gdmlzaWJsZWAmJiFhLmFsdGVybmF0ZSYmIUwpcmV0dXJuIFUodCksbnVsbH1lbHNlIDIqS2UoKS1yLnJlbmRlcmluZ1N0YXJ0VGltZT5oZCYmbiE9PTUzNjg3MDkxMiYmKHQuZmxhZ3N8PTEyOCxpPSEwLHZsKHIsITEpLHQubGFuZXM9NDE5NDMwNCl9ci5pc0JhY2t3YXJkcz8oYS5zaWJsaW5nPXQuY2hpbGQsdC5jaGlsZD1hKTooZT1yLmxhc3QsZT09PW51bGw_dC5jaGlsZD1hOmUuc2libGluZz1hLHIubGFzdD1hKX1pZihyLnRhaWwhPT1udWxsKXtlPXIudGFpbDthOntmb3Iobj1lO24hPT1udWxsOyl7aWYobi5hbHRlcm5hdGUhPT1udWxsKXtuPSExO2JyZWFrIGF9bj1uLnNpYmxpbmd9bj0hMH1yZXR1cm4gci5yZW5kZXJpbmc9ZSxyLnRhaWw9ZS5zaWJsaW5nLHIucmVuZGVyaW5nU3RhcnRUaW1lPUtlKCksZS5zaWJsaW5nPW51bGwsYT1Cby5jdXJyZW50LGE9aT9hJjF8MjphJjEsci50YWlsTW9kZT09PWB2aXNpYmxlYHx8ci50YWlsTW9kZT09PWBjb2xsYXBzZWRgfHwhbnx8TD9Wbyh0LGEpOihuPWEsVGUoTm8sdCksVGUoQm8sbiksUG89PT1udWxsJiYoUG89dCkpLEwmJnRhKHQsci50cmVlRm9ya0NvdW50KSxlfXJldHVybiBVKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiB6byh0KSxNbygpLHI9dC5tZW1vaXplZFN0YXRlIT09bnVsbCxlPT09bnVsbD9yJiYodC5mbGFnc3w9ODE5Mik6ZS5tZW1vaXplZFN0YXRlIT09bnVsbCE9PXImJih0LmZsYWdzfD04MTkyKSxyP24mNTM2ODcwOTEyJiYhKHQuZmxhZ3MmMTI4KSYmKFUodCksdC5zdWJ0cmVlRmxhZ3MmNiYmKHQuZmxhZ3N8PTgxOTIpKTpVKHQpLG49dC51cGRhdGVRdWV1ZSxuIT09bnVsbCYmX2wodCxuLnJldHJ5UXVldWUpLG49bnVsbCxlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCkscj1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYocj10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHIhPT1uJiYodC5mbGFnc3w9MjA0OCksZSE9PW51bGwmJndlKHFhKSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG49bnVsbCxlIT09bnVsbCYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1uJiYodC5mbGFnc3w9MjA0OCksU2EoUGEpLFUodCksbnVsbDtjYXNlIDI1OnJldHVybiBudWxsO2Nhc2UgMzA6cmV0dXJuIHQuZmxhZ3N8PTMzNTU0NDMyLFUodCksbnVsbH10aHJvdyBFcnJvcihzKDE1Nix0LnRhZykpfWZ1bmN0aW9uIGJsKGUsdCl7c3dpdGNoKGlhKHQpLHQudGFnKXtjYXNlIDE6cmV0dXJuIGU9dC5mbGFncyxlJjY1NTM2Pyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gU2EoUGEpLGplKCksZT10LmZsYWdzLGUmNjU1MzYmJiEoZSYxMjgpPyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6cmV0dXJuIE5lKHQpLG51bGw7Y2FzZSAzMTppZih0Lm1lbW9pemVkU3RhdGUhPT1udWxsKXtpZih6byh0KSx0LmFsdGVybmF0ZT09PW51bGwpdGhyb3cgRXJyb3IocygzNDApKTtoYSgpfXJldHVybiBlPXQuZmxhZ3MsZSY2NTUzNj8odC5mbGFncz1lJi02NTUzN3wxMjgsdCk6bnVsbDtjYXNlIDEzOmlmKHpvKHQpLGU9dC5tZW1vaXplZFN0YXRlLGUhPT1udWxsJiZlLmRlaHlkcmF0ZWQhPT1udWxsKXtpZih0LmFsdGVybmF0ZT09PW51bGwpdGhyb3cgRXJyb3IocygzNDApKTtoYSgpfXJldHVybiBlPXQuZmxhZ3MsZSY2NTUzNj8odC5mbGFncz1lJi02NTUzN3wxMjgsdCk6bnVsbDtjYXNlIDE5OnJldHVybiBIbyh0KSxlPXQuZmxhZ3MsZSY2NTUzNj8odC5mbGFncz1lJi02NTUzN3wxMjgsZT10Lm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJihlLnJlbmRlcmluZz1udWxsLGUudGFpbD1udWxsKSx0LmZsYWdzfD00LHQpOm51bGw7Y2FzZSA0OnJldHVybiBqZSgpLG51bGw7Y2FzZSAxMDpyZXR1cm4gU2EodC50eXBlKSxudWxsO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gem8odCksTW8oKSxlIT09bnVsbCYmd2UocWEpLGU9dC5mbGFncyxlJjY1NTM2Pyh0LmZsYWdzPWUmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMjQ6cmV0dXJuIFNhKFBhKSxudWxsO2Nhc2UgMjU6cmV0dXJuIG51bGw7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24geGwoZSx0KXtzd2l0Y2goaWEodCksdC50YWcpe2Nhc2UgMzpTYShQYSksamUoKTticmVhaztjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1Ok5lKHQpO2JyZWFrO2Nhc2UgNDpqZSgpO2JyZWFrO2Nhc2UgMzE6dC5tZW1vaXplZFN0YXRlIT09bnVsbCYmem8odCk7YnJlYWs7Y2FzZSAxMzp6byh0KTticmVhaztjYXNlIDE5OkhvKHQpO2JyZWFrO2Nhc2UgMTA6U2EodC50eXBlKTticmVhaztjYXNlIDIyOmNhc2UgMjM6em8odCksTW8oKSxlIT09bnVsbCYmd2UocWEpO2JyZWFrO2Nhc2UgMjQ6U2EoUGEpfX1mdW5jdGlvbiBTbChlLHQpe3RyeXt2YXIgbj10LnVwZGF0ZVF1ZXVlLHI9bj09PW51bGw_bnVsbDpuLmxhc3RFZmZlY3Q7aWYociE9PW51bGwpe3ZhciBpPXIubmV4dDtuPWk7ZG97aWYoKG4udGFnJmUpPT09ZSl7cj12b2lkIDA7dmFyIGE9bi5jcmVhdGUsbz1uLmluc3Q7cj1hKCksby5kZXN0cm95PXJ9bj1uLm5leHR9d2hpbGUobiE9PWkpfX1jYXRjaChlKXtmZih0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBDbChlLHQsbil7dHJ5e3ZhciByPXQudXBkYXRlUXVldWUsaT1yPT09bnVsbD9udWxsOnIubGFzdEVmZmVjdDtpZihpIT09bnVsbCl7dmFyIGE9aS5uZXh0O3I9YTtkb3tpZigoci50YWcmZSk9PT1lKXt2YXIgbz1yLmluc3Qscz1vLmRlc3Ryb3k7aWYocyE9PXZvaWQgMCl7by5kZXN0cm95PXZvaWQgMCxpPXQ7dmFyIGM9bixsPXM7dHJ5e2woKX1jYXRjaChlKXtmZihpLGMsZSl9fX1yPXIubmV4dH13aGlsZShyIT09YSl9fWNhdGNoKGUpe2ZmKHQsdC5yZXR1cm4sZSl9fWZ1bmN0aW9uIHdsKGUpe3ZhciB0PWUudXBkYXRlUXVldWU7aWYodCE9PW51bGwpe3ZhciBuPWUuc3RhdGVOb2RlO3RyeXtEbyh0LG4pfWNhdGNoKHQpe2ZmKGUsZS5yZXR1cm4sdCl9fX1mdW5jdGlvbiBUbChlLHQsbil7bi5wcm9wcz1UYyhlLnR5cGUsZS5tZW1vaXplZFByb3BzKSxuLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZTt0cnl7bi5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKG4pe2ZmKGUsdCxuKX19ZnVuY3Rpb24gRWwoZSx0KXt0cnl7dmFyIG49ZS5yZWY7aWYobiE9PW51bGwpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTp2YXIgcj1lLnN0YXRlTm9kZTticmVhaztjYXNlIDMwOnZhciBpPWUuc3RhdGVOb2RlLGE9eGkoZS5tZW1vaXplZFByb3BzLGkpOyhpLnJlZj09PW51bGx8fGkucmVmLm5hbWUhPT1hKSYmKGkucmVmPVBwKGEpKSxyPWkucmVmO2JyZWFrO2Nhc2UgNzppZihlLnN0YXRlTm9kZT09PW51bGwpe3ZhciBvPW5ldyBGcChlKTtoKGUuY2hpbGQsITEsUXAsbyx2b2lkIDAsdm9pZCAwKSxlLnN0YXRlTm9kZT1vfXI9ZS5zdGF0ZU5vZGU7YnJlYWs7ZGVmYXVsdDpyPWUuc3RhdGVOb2RlfXR5cGVvZiBuPT1gZnVuY3Rpb25gP2UucmVmQ2xlYW51cD1uKHIpOm4uY3VycmVudD1yfX1jYXRjaChuKXtmZihlLHQsbil9fWZ1bmN0aW9uIERsKGUsdCl7dmFyIG49ZS5yZWYscj1lLnJlZkNsZWFudXA7aWYobiE9PW51bGwpe2lmKHR5cGVvZiByPT1gZnVuY3Rpb25gKXRyeXtyKCl9Y2F0Y2gobil7ZmYoZSx0LG4pfWZpbmFsbHl7ZS5yZWZDbGVhbnVwPW51bGwsZT1lLmFsdGVybmF0ZSxlIT1udWxsJiYoZS5yZWZDbGVhbnVwPW51bGwpfWVsc2UgaWYodHlwZW9mIG49PWBmdW5jdGlvbmApdHJ5e24obnVsbCl9Y2F0Y2gobil7ZmYoZSx0LG4pfWVsc2Ugbi5jdXJyZW50PW51bGx9fWZ1bmN0aW9uIE9sKGUsdCl7aWYoKGUudGFnPT09NXx8ZS50YWc9PT0yN3x8ZS50YWc9PT02KSYmZS5hbHRlcm5hdGU9PT1udWxsJiZ0IT09bnVsbClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyllbShlLnN0YXRlTm9kZSx0W25dKX1mdW5jdGlvbiBrbChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47dCE9PW51bGwmJihNbCh0KSYmZW0oZS5zdGF0ZU5vZGUsdC5zdGF0ZU5vZGUpLCFqbCh0KSk7KXQ9dC5yZXR1cm59ZnVuY3Rpb24gQWwoZSl7Zm9yKHZhciB0PWUucmV0dXJuO3QhPT1udWxsJiYoTWwodCkmJnRtKGUuc3RhdGVOb2RlLHQuc3RhdGVOb2RlKSwhamwodCkpOyl0PXQucmV0dXJufWZ1bmN0aW9uIGpsKGUpe3JldHVybiBlLnRhZz09PTV8fGUudGFnPT09M3x8ZS50YWc9PT0yN31mdW5jdGlvbiBNbChlKXtyZXR1cm4gZSYmZS50YWc9PT03JiZlLnN0YXRlTm9kZSE9PW51bGx9ZnVuY3Rpb24gTmwoZSl7dmFyIHQ9ZS50eXBlLG49ZS5tZW1vaXplZFByb3BzLHI9ZS5zdGF0ZU5vZGU7dHJ5e2E6c3dpdGNoKHQpe2Nhc2VgYnV0dG9uYDpjYXNlYGlucHV0YDpjYXNlYHNlbGVjdGA6Y2FzZWB0ZXh0YXJlYWA6bi5hdXRvRm9jdXMmJnIuZm9jdXMoKTticmVhayBhO2Nhc2VgaW1nYDpuLnNyYz9yLnNyYz1uLnNyYzpuLnNyY1NldCYmKHIuc3Jjc2V0PW4uc3JjU2V0KX19Y2F0Y2godCl7ZmYoZSxlLnJldHVybix0KX19ZnVuY3Rpb24gUGwoZSx0LG4pe3RyeXt2YXIgcj1lLnN0YXRlTm9kZTtpcChyLGUudHlwZSxuLHQpLHJbT3RdPXR9Y2F0Y2godCl7ZmYoZSxlLnJldHVybix0KX19ZnVuY3Rpb24gRmwoZSl7cmV0dXJuIGUudGFnPT09NXx8ZS50YWc9PT0zfHxlLnRhZz09PTI2fHxlLnRhZz09PTI3JiZTcChlLnR5cGUpfHxlLnRhZz09PTR9ZnVuY3Rpb24gSWwoZSl7YTpmb3IoOzspe2Zvcig7ZS5zaWJsaW5nPT09bnVsbDspe2lmKGUucmV0dXJuPT09bnVsbHx8RmwoZS5yZXR1cm4pKXJldHVybiBudWxsO2U9ZS5yZXR1cm59Zm9yKGUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmc7ZS50YWchPT01JiZlLnRhZyE9PTYmJmUudGFnIT09MTg7KXtpZihlLnRhZz09PTI3JiZTcChlLnR5cGUpfHxlLmZsYWdzJjJ8fGUuY2hpbGQ9PT1udWxsfHxlLnRhZz09PTQpY29udGludWUgYTtlLmNoaWxkLnJldHVybj1lLGU9ZS5jaGlsZH1pZighKGUuZmxhZ3MmMikpcmV0dXJuIGUuc3RhdGVOb2RlfX1mdW5jdGlvbiBMbChlLHQsbixyKXt2YXIgaT1lLnRhZztpZihpPT09NXx8aT09PTYpaT1lLnN0YXRlTm9kZSx0PyhuLm5vZGVUeXBlPT09OT9uLmJvZHk6bi5ub2RlTmFtZT09PWBIVE1MYD9uLm93bmVyRG9jdW1lbnQuYm9keTpuKS5pbnNlcnRCZWZvcmUoaSx0KToodD1uLm5vZGVUeXBlPT09OT9uLmJvZHk6bi5ub2RlTmFtZT09PWBIVE1MYD9uLm93bmVyRG9jdW1lbnQuYm9keTpuLHQuYXBwZW5kQ2hpbGQoaSksbj1uLl9yZWFjdFJvb3RDb250YWluZXIsbiE9bnVsbHx8dC5vbmNsaWNrIT09bnVsbHx8KHQub25jbGljaz1DbikpLE9sKGUsciksUD0hMDtlbHNlIGlmKGkhPT00JiYoaT09PTI3JiYoT2woZSxyKSxyPW51bGwsU3AoZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUsdD1udWxsKSksZT1lLmNoaWxkLGUhPT1udWxsKSlmb3IoTGwoZSx0LG4sciksZT1lLnNpYmxpbmc7ZSE9PW51bGw7KUxsKGUsdCxuLHIpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIFJsKGUsdCxuLHIpe3ZhciBpPWUudGFnO2lmKGk9PT01fHxpPT09NilpPWUuc3RhdGVOb2RlLHQ_bi5pbnNlcnRCZWZvcmUoaSx0KTpuLmFwcGVuZENoaWxkKGkpLE9sKGUsciksUD0hMDtlbHNlIGlmKGkhPT00JiYoaT09PTI3JiYoT2woZSxyKSxyPW51bGwsU3AoZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpKSxlPWUuY2hpbGQsZSE9PW51bGwpKWZvcihSbChlLHQsbixyKSxlPWUuc2libGluZztlIT09bnVsbDspUmwoZSx0LG4sciksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gemwoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGUsbj1lLm1lbW9pemVkUHJvcHM7dHJ5e2Zvcih2YXIgcj1lLnR5cGUsaT10LmF0dHJpYnV0ZXM7aS5sZW5ndGg7KXQucmVtb3ZlQXR0cmlidXRlTm9kZShpWzBdKTtucCh0LHIsbiksdFtEdF09ZSx0W090XT1ufWNhdGNoKHQpe2ZmKGUsZS5yZXR1cm4sdCl9fXZhciBCbD0hMSxWbD1udWxsO2Z1bmN0aW9uIEhsKGUpeyhlLnRhZz09PTMwfHxlLnN1YnRyZWVGbGFncyYzMzU1NDQzMikmJihCbD0hMCl9dmFyIFVsPW51bGw7ZnVuY3Rpb24gV2woKXt2YXIgZT1VbDtyZXR1cm4gVWw9bnVsbCxlfXZhciBHbD0wO2Z1bmN0aW9uIEtsKGUsdCxuLHIsaSl7cmV0dXJuIEdsPTAsVyhlLmNoaWxkLHQsbixyLGkpfWZ1bmN0aW9uIFcoZSx0LG4scixpKXtmb3IodmFyIGE9ITE7ZSE9PW51bGw7KXtpZihlLnRhZz09PTUpe3ZhciBvPWUuc3RhdGVOb2RlO2lmKHIhPT1udWxsKXt2YXIgcz1PcChvKTtyLnB1c2gocykscy52aWV3JiYoYT0hMCl9ZWxzZSBhfHxPcChvKS52aWV3JiYoYT0hMCk7Qmw9ITAsVHAobyxHbD09PTA_dDp0K2BfYCtHbCxuKSxHbCsrfWVsc2UoZS50YWchPT0yMnx8ZS5tZW1vaXplZFN0YXRlPT09bnVsbCkmJihlLnRhZz09PTMwJiZpfHxXKGUuY2hpbGQsdCxuLHIsaSkmJihhPSEwKSk7ZT1lLnNpYmxpbmd9cmV0dXJuIGF9ZnVuY3Rpb24gcWwoZSx0KXtmb3IoO2UhPT1udWxsOyllLnRhZz09PTU_RXAoZS5zdGF0ZU5vZGUsZS5tZW1vaXplZFByb3BzKTooZS50YWchPT0yMnx8ZS5tZW1vaXplZFN0YXRlPT09bnVsbCkmJihlLnRhZz09PTMwJiZ0fHxxbChlLmNoaWxkLHQpKSxlPWUuc2libGluZ31mdW5jdGlvbiBKbChlKXtpZihlLnN1YnRyZWVGbGFncyYxODg3NDM2OClmb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7aWYoKGUudGFnIT09MjJ8fGUubWVtb2l6ZWRTdGF0ZT09PW51bGwpJiYoSmwoZSksZS50YWc9PT0zMCYmZS5mbGFncyYxODg3NDM2OCYmZS5zdGF0ZU5vZGUucGFpcmVkKSl7dmFyIHQ9ZS5tZW1vaXplZFByb3BzO2lmKHQubmFtZT09bnVsbHx8dC5uYW1lPT09YGF1dG9gKXRocm93IEVycm9yKHMoNTQ0KSk7dmFyIG49dC5uYW1lO3Q9Q2kodC5kZWZhdWx0LHQuc2hhcmUpLHQhPT1gbm9uZWAmJihLbChlLG4sdCxudWxsLCExKXx8cWwoZS5jaGlsZCwhMSkpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBZbChlLHQpe2lmKGUudGFnPT09MzApe3ZhciBuPWUuc3RhdGVOb2RlLHI9ZS5tZW1vaXplZFByb3BzLGk9eGkocixuKSxhPUNpKHIuZGVmYXVsdCxuLnBhaXJlZD9yLnNoYXJlOnIuZW50ZXIpO2E9PT1gbm9uZWA_SmwoZSk6S2woZSxpLGEsbnVsbCwhMSk_KEpsKGUpLG4ucGFpcmVkfHx0fHxNZChlLHIub25FbnRlcikpOnFsKGUuY2hpbGQsITEpfWVsc2UgaWYoZS5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspWWwoZSx0KSxlPWUuc2libGluZztlbHNlIEpsKGUpfWZ1bmN0aW9uIFhsKGUpe2lmKFZsIT09bnVsbCYmVmwuc2l6ZSE9PTApe3ZhciB0PVZsO2lmKGUuc3VidHJlZUZsYWdzJjE4ODc0MzY4KWZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KXtpZihlLnRhZyE9PTIyfHxlLm1lbW9pemVkU3RhdGU9PT1udWxsKXtpZihlLnRhZz09PTMwJiZlLmZsYWdzJjE4ODc0MzY4KXt2YXIgbj1lLm1lbW9pemVkUHJvcHMscj1uLm5hbWU7aWYociE9bnVsbCYmciE9PWBhdXRvYCl7dmFyIGk9dC5nZXQocik7aWYoaSE9PXZvaWQgMCl7dmFyIGE9Q2kobi5kZWZhdWx0LG4uc2hhcmUpO2lmKGEhPT1gbm9uZWAmJihLbChlLHIsYSxudWxsLCExKT8oYT1lLnN0YXRlTm9kZSxpLnBhaXJlZD1hLGEucGFpcmVkPWksTWQoZSxuLm9uU2hhcmUpKTpxbChlLmNoaWxkLCExKSksdC5kZWxldGUociksdC5zaXplPT09MClicmVha319fVhsKGUpfWU9ZS5zaWJsaW5nfX19ZnVuY3Rpb24gWmwoZSl7aWYoZS50YWc9PT0zMCl7dmFyIHQ9ZS5tZW1vaXplZFByb3BzLG49eGkodCxlLnN0YXRlTm9kZSkscj1WbD09PW51bGw_dm9pZCAwOlZsLmdldChuKSxpPUNpKHQuZGVmYXVsdCxyPT09dm9pZCAwP3QuZXhpdDp0LnNoYXJlKTtpIT09YG5vbmVgJiYoS2woZSxuLGksbnVsbCwhMSk_cj09PXZvaWQgMD9NZChlLHQub25FeGl0KTooaT1lLnN0YXRlTm9kZSxyLnBhaXJlZD1pLGkucGFpcmVkPXIsVmwuZGVsZXRlKG4pLE1kKGUsdC5vblNoYXJlKSk6cWwoZS5jaGlsZCwhMSkpLFZsIT09bnVsbCYmWGwoZSl9ZWxzZSBpZihlLnN1YnRyZWVGbGFncyYzMzU1NDQzMilmb3IoZT1lLmNoaWxkO2UhPT1udWxsOylabChlKSxlPWUuc2libGluZztlbHNlIFZsIT09bnVsbCYmWGwoZSl9ZnVuY3Rpb24gUWwoZSl7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2lmKGUudGFnPT09MzApe3ZhciB0PWUubWVtb2l6ZWRQcm9wcyxuPXhpKHQsZS5zdGF0ZU5vZGUpO3Q9Q2kodC5kZWZhdWx0LHQudXBkYXRlKSxlLmZsYWdzJj0tNSx0IT09YG5vbmVgJiZLbChlLG4sdCxlLm1lbW9pemVkU3RhdGU9W10sITEpfWVsc2UgZS5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzImJlFsKGUpO2U9ZS5zaWJsaW5nfX1mdW5jdGlvbiAkbChlKXtpZihlLnN1YnRyZWVGbGFncyYxODg3NDM2OClmb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7aWYoZS50YWchPT0yMnx8ZS5tZW1vaXplZFN0YXRlPT09bnVsbCl7aWYoZS50YWc9PT0zMCYmZS5mbGFncyYxODg3NDM2OCl7dmFyIHQ9ZS5zdGF0ZU5vZGU7dC5wYWlyZWQhPT1udWxsJiYodC5wYWlyZWQ9bnVsbCxxbChlLmNoaWxkLCExKSl9JGwoZSl9ZT1lLnNpYmxpbmd9fWZ1bmN0aW9uIGV1KGUpe2lmKGUudGFnPT09MzApZS5zdGF0ZU5vZGUucGFpcmVkPW51bGwscWwoZS5jaGlsZCwhMSksJGwoZSk7ZWxzZSBpZihlLnN1YnRyZWVGbGFncyYzMzU1NDQzMilmb3IoZT1lLmNoaWxkO2UhPT1udWxsOylldShlKSxlPWUuc2libGluZztlbHNlICRsKGUpfWZ1bmN0aW9uIHR1KGUpe2ZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KWUudGFnPT09MzA_cWwoZS5jaGlsZCwhMSk6ZS5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzImJnR1KGUpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIG51KGUsdCxuLHIsaSxhLG8pe2Zvcih2YXIgcz0hMTt0IT09bnVsbDspe2lmKHQudGFnPT09NSl7dmFyIGM9dC5zdGF0ZU5vZGU7aWYoYSE9PW51bGwmJkdsPGEubGVuZ3RoKXt2YXIgbD1hW0dsXSx1PU9wKGMpOyhsLnZpZXd8fHUudmlldykmJihzPSEwKTt2YXIgZDtpZihkPSEoZS5mbGFncyY0KSl7aWYodS5jbGlwKWQ9ITA7ZWxzZXtkPWwucmVjdDt2YXIgZj11LnJlY3Q7ZD1kLnkhPT1mLnl8fGQueCE9PWYueHx8ZC5oZWlnaHQhPT1mLmhlaWdodHx8ZC53aWR0aCE9PWYud2lkdGh9fWQmJihlLmZsYWdzfD00KSx1LmFicz91PSFsLmFiczoobD1sLnJlY3QsdT11LnJlY3QsdT1sLmhlaWdodCE9PXUuaGVpZ2h0fHxsLndpZHRoIT09dS53aWR0aCksdSYmKGUuZmxhZ3N8PTMyKX1lbHNlIGUuZmxhZ3N8PTMyO2UuZmxhZ3MmNCYmVHAoYyxHbD09PTA_bjpuK2BfYCtHbCxpKSxzJiZlLmZsYWdzJjR8fChVbD09PW51bGwmJihVbD1bXSksVWwucHVzaChjLEdsPT09MD9yOnIrYF9gK0dsLHQubWVtb2l6ZWRQcm9wcykpLEdsKyt9ZWxzZSh0LnRhZyE9PTIyfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsKSYmKHQudGFnPT09MzAmJm8_ZS5mbGFnc3w9dC5mbGFncyYzMjpudShlLHQuY2hpbGQsbixyLGksYSxvKSYmKHM9ITApKTt0PXQuc2libGluZ31yZXR1cm4gc31mdW5jdGlvbiBydShlLHQpe2ZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KXtpZihlLnRhZz09PTMwKXt2YXIgbj1lLm1lbW9pemVkUHJvcHMscj1lLnN0YXRlTm9kZSxpPXhpKG4sciksYT1DaShuLmRlZmF1bHQsbi51cGRhdGUpO2lmKHQpe3I9ci5jbG9uZXM7dmFyIG89cj09PW51bGw_bnVsbDpyLm1hcChrcCl9ZWxzZSBvPWUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkU3RhdGU9bnVsbDtyPWU7dmFyIHM9ZS5jaGlsZDtHbD0wLGk9bnUocixzLGksaSxhLG8sITEpLGUuZmxhZ3MmNCYmaSYmKHR8fE1kKGUsbi5vblVwZGF0ZSkpfWVsc2UgZS5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzImJnJ1KGUsdCk7ZT1lLnNpYmxpbmd9fXZhciBpdT0hMSxHPSExLGF1PSExLG91PSExLHN1PXR5cGVvZiBXZWFrU2V0PT1gZnVuY3Rpb25gP1dlYWtTZXQ6U2V0LGN1PW51bGwsbHU9ITEsdXU9ITEsZHU9ITEsZnU9ITE7ZnVuY3Rpb24gcHUoZSx0LG4pe2lmKGU9ZS5jb250YWluZXJJbmZvLHNwPWdoLGU9WnIoZSksUXIoZSkpe2lmKGBzZWxlY3Rpb25TdGFydGBpbiBlKXZhciByPXtzdGFydDplLnNlbGVjdGlvblN0YXJ0LGVuZDplLnNlbGVjdGlvbkVuZH07ZWxzZSBhOntyPShyPWUub3duZXJEb2N1bWVudCkmJnIuZGVmYXVsdFZpZXd8fHdpbmRvdzt2YXIgaT1yLmdldFNlbGVjdGlvbiYmci5nZXRTZWxlY3Rpb24oKTtpZihpJiZpLnJhbmdlQ291bnQhPT0wKXtyPWkuYW5jaG9yTm9kZTt2YXIgYT1pLmFuY2hvck9mZnNldCxvPWkuZm9jdXNOb2RlO2k9aS5mb2N1c09mZnNldDt0cnl7ci5ub2RlVHlwZSxvLm5vZGVUeXBlfWNhdGNoe3I9bnVsbDticmVhayBhfXZhciBzPTAsYz0tMSxsPS0xLHU9MCxkPTAsZj1lLHA9bnVsbDtiOmZvcig7Oyl7Zm9yKHZhciBtO2YhPT1yfHxhIT09MCYmZi5ub2RlVHlwZSE9PTN8fChjPXMrYSksZiE9PW98fGkhPT0wJiZmLm5vZGVUeXBlIT09M3x8KGw9cytpKSxmLm5vZGVUeXBlPT09MyYmKHMrPWYubm9kZVZhbHVlLmxlbmd0aCksKG09Zi5maXJzdENoaWxkKSE9PW51bGw7KXA9ZixmPW07Zm9yKDs7KXtpZihmPT09ZSlicmVhayBiO2lmKHA9PT1yJiYrK3U9PT1hJiYoYz1zKSxwPT09byYmKytkPT09aSYmKGw9cyksKG09Zi5uZXh0U2libGluZykhPT1udWxsKWJyZWFrO2Y9cCxwPWYucGFyZW50Tm9kZX1mPW19cj1jPT09LTF8fGw9PT0tMT9udWxsOntzdGFydDpjLGVuZDpsfX1lbHNlIHI9bnVsbH1yfHw9e3N0YXJ0OjAsZW5kOjB9fWVsc2Ugcj1udWxsO2ZvcihjcD17Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTpyfSxnaD0hMSxuPShuJjMzNTU0NDA2NCk9PT1uLGN1PXQsdD1uPzkyNzA6MTAyNDtjdSE9PW51bGw7KXtpZihlPWN1LG4mJihyPWUuZGVsZXRpb25zLHIhPT1udWxsKSlmb3IoYT0wO2E8ci5sZW5ndGg7YSsrKW4mJlpsKHJbYV0pO2lmKGUuYWx0ZXJuYXRlPT09bnVsbCYmZS5mbGFncyYyKW4mJkhsKGUpLG11KG4pO2Vsc2V7aWYoZS50YWc9PT0yMil7aWYocj1lLmFsdGVybmF0ZSxlLm1lbW9pemVkU3RhdGUhPT1udWxsKXtyIT09bnVsbCYmci5tZW1vaXplZFN0YXRlPT09bnVsbCYmbiYmWmwociksbXUobik7Y29udGludWV9aWYociE9PW51bGwmJnIubWVtb2l6ZWRTdGF0ZSE9PW51bGwpe24mJkhsKGUpLG11KG4pO2NvbnRpbnVlfX1yPWUuY2hpbGQsKGUuc3VidHJlZUZsYWdzJnQpIT09MCYmciE9PW51bGw_KHIucmV0dXJuPWUsY3U9cik6KG4mJlFsKGUpLG11KG4pKX19Vmw9bnVsbH1mdW5jdGlvbiBtdShlKXtmb3IoO2N1IT09bnVsbDspe3ZhciB0PWN1LG49ZSxyPXQuYWx0ZXJuYXRlLGk9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6YnJlYWs7Y2FzZSAxOmlmKGkmMTAyNCYmciE9PW51bGwpe249dm9pZCAwLGk9ci5tZW1vaXplZFByb3BzLHI9ci5tZW1vaXplZFN0YXRlO3ZhciBhPXQuc3RhdGVOb2RlO3RyeXt2YXIgbz1UYyh0LnR5cGUsaSk7bj1hLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKG8sciksYS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1ufWNhdGNoKGUpe2ZmKHQsdC5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgMzppZihpJjEwMjQpe2lmKHI9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxuPXIubm9kZVR5cGUsbj09PTkpbm0ocik7ZWxzZSBpZihuPT09MSlzd2l0Y2goci5ub2RlTmFtZSl7Y2FzZWBIRUFEYDpjYXNlYEhUTUxgOmNhc2VgQk9EWWA6bm0ocik7YnJlYWs7ZGVmYXVsdDpyLnRleHRDb250ZW50PWBgfX1icmVhaztjYXNlIDU6Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDMwOm4mJnIhPT1udWxsJiYobj14aShyLm1lbW9pemVkUHJvcHMsci5zdGF0ZU5vZGUpLGk9dC5tZW1vaXplZFByb3BzLGk9Q2koaS5kZWZhdWx0LGkudXBkYXRlKSxpIT09YG5vbmVgJiZLbChyLG4saSxyLm1lbW9pemVkU3RhdGU9W10sITApKTticmVhaztkZWZhdWx0OmlmKGkmMTAyNCl0aHJvdyBFcnJvcihzKDE2MykpfWlmKHI9dC5zaWJsaW5nLHIhPT1udWxsKXtyLnJldHVybj10LnJldHVybixjdT1yO2JyZWFrfWN1PXQucmV0dXJufX1mdW5jdGlvbiBodShlLHQsbil7dmFyIHI9bi5mbGFncztzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UHUoZSxuKSxyJjQmJlNsKDUsbik7YnJlYWs7Y2FzZSAxOmlmKFB1KGUsbiksciY0KXtpZihlPW4uc3RhdGVOb2RlLHQ9PT1udWxsKXRyeXtlLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7ZmYobixuLnJldHVybixlKX1lbHNle3ZhciBpPVRjKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO3Q9dC5tZW1vaXplZFN0YXRlO3RyeXtlLmNvbXBvbmVudERpZFVwZGF0ZShpLHQsZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSl9Y2F0Y2goZSl7ZmYobixuLnJldHVybixlKX19fXImNjQmJndsKG4pLHImNTEyJiZFbChuLG4ucmV0dXJuKTticmVhaztjYXNlIDM6aWYoUHUoZSxuKSxyJjY0JiYoZT1uLnVwZGF0ZVF1ZXVlLGUhPT1udWxsKSl7aWYodD1udWxsLG4uY2hpbGQhPT1udWxsKXN3aXRjaChuLmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6dD1uLmNoaWxkLnN0YXRlTm9kZTticmVhaztjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX10cnl7RG8oZSx0KX1jYXRjaChlKXtmZihuLG4ucmV0dXJuLGUpfX1icmVhaztjYXNlIDI3OnQ9PT1udWxsJiZyJjQmJnpsKG4pO2Nhc2UgMjY6Y2FzZSA1OlB1KGUsbiksdD09PW51bGwmJnImNCYmTmwobiksciY1MTImJkVsKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMTI6UHUoZSxuKTticmVhaztjYXNlIDMxOlB1KGUsbiksciY0JiZDdShlLG4pO2JyZWFrO2Nhc2UgMTM6UHUoZSxuKSxyJjQmJnd1KGUsbiksciY2NCYmKGU9bi5tZW1vaXplZFN0YXRlLGUhPT1udWxsJiYoZT1lLmRlaHlkcmF0ZWQsZSE9PW51bGwmJihuPWdmLmJpbmQobnVsbCxuKSxjbShlLG4pKSkpO2JyZWFrO2Nhc2UgMjI6aWYocj1uLm1lbW9pemVkU3RhdGUhPT1udWxsfHxpdSwhcil7dmFyIGE9dCE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fEc7dD1pdSxpPUcsaXU9ciwoRz1hKSYmIWk_KHI9MixuLnN1YnRyZWVGbGFncyY4NzcyJiYocnw9MSksSXUoZSxuLHIpKTpQdShlLG4pLGl1PXQsRz1pfWJyZWFrO2Nhc2UgMzA6UHUoZSxuKSxyJjUxMiYmRWwobixuLnJldHVybik7YnJlYWs7Y2FzZSA3OnImNTEyJiZFbChuLG4ucmV0dXJuKTtkZWZhdWx0OlB1KGUsbil9fWZ1bmN0aW9uIGd1KGUsdCl7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspSyhlLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIEsoZSx0KXtzd2l0Y2goZS50YWcpe2Nhc2UgNTpjYXNlIDI2OnRyeXt2YXIgbj1lLnN0YXRlTm9kZTtpZih0KXt2YXIgcj1uLnN0eWxlO3R5cGVvZiByLnNldFByb3BlcnR5PT1gZnVuY3Rpb25gP3Iuc2V0UHJvcGVydHkoYGRpc3BsYXlgLGBub25lYCxgaW1wb3J0YW50YCk6ci5kaXNwbGF5PWBub25lYH1lbHNle3ZhciBpPWUuc3RhdGVOb2RlLGE9ZS5tZW1vaXplZFByb3BzLnN0eWxlLG89YSE9bnVsbCYmYS5oYXNPd25Qcm9wZXJ0eShgZGlzcGxheWApP2EuZGlzcGxheTpudWxsO2kuc3R5bGUuZGlzcGxheT1vPT1udWxsfHx0eXBlb2Ygbz09YGJvb2xlYW5gP2BgOihgYCtvKS50cmltKCl9fWNhdGNoKHQpe2ZmKGUsZS5yZXR1cm4sdCl9X3UoZSx0KTticmVhaztjYXNlIDY6dHJ5e2Uuc3RhdGVOb2RlLm5vZGVWYWx1ZT10P2BgOmUubWVtb2l6ZWRQcm9wcyxQPSEwfWNhdGNoKHQpe2ZmKGUsZS5yZXR1cm4sdCl9YnJlYWs7Y2FzZSAxODp0cnl7dmFyIHM9ZS5zdGF0ZU5vZGU7dD93cChzLCEwKTp3cChlLnN0YXRlTm9kZSwhMSl9Y2F0Y2godCl7ZmYoZSxlLnJldHVybix0KX1icmVhaztjYXNlIDIyOmNhc2UgMjM6ZS5tZW1vaXplZFN0YXRlPT09bnVsbCYmZ3UoZSx0KTticmVhaztkZWZhdWx0Omd1KGUsdCl9fWZ1bmN0aW9uIF91KGUsdCl7aWYoZS5zdWJ0cmVlRmxhZ3MmNjcxMDg4NjQpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2E6e3ZhciBuPWUscj10O3N3aXRjaChuLnRhZyl7Y2FzZSA0OksobixyKTticmVhayBhO2Nhc2UgMjI6bi5tZW1vaXplZFN0YXRlPT09bnVsbCYmX3UobixyKTticmVhayBhO2RlZmF1bHQ6X3UobixyKX19ZT1lLnNpYmxpbmd9fWZ1bmN0aW9uIHZ1KGUpe3ZhciB0PWUuYWx0ZXJuYXRlO3QhPT1udWxsJiYoZS5hbHRlcm5hdGU9bnVsbCx2dSh0KSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsZS50YWc9PT01JiYodD1lLnN0YXRlTm9kZSx0IT09bnVsbCYmSXQodCkpLGUuc3RhdGVOb2RlPW51bGwsZS5yZXR1cm49bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUucGVuZGluZ1Byb3BzPW51bGwsZS5zdGF0ZU5vZGU9bnVsbCxlLnVwZGF0ZVF1ZXVlPW51bGx9dmFyIHl1PW51bGwsYnU9ITE7ZnVuY3Rpb24geHUoZSx0LG4pe2ZvcihuPW4uY2hpbGQ7biE9PW51bGw7KVN1KGUsdCxuKSxuPW4uc2libGluZ31mdW5jdGlvbiBTdShlLHQsbil7aWYobnQmJnR5cGVvZiBudC5vbkNvbW1pdEZpYmVyVW5tb3VudD09YGZ1bmN0aW9uYCl0cnl7bnQub25Db21taXRGaWJlclVubW91bnQodHQsbil9Y2F0Y2h7fXN3aXRjaChuLnRhZyl7Y2FzZSAyNjpHfHxEbChuLHQpLHh1KGUsdCxuKSxuLm1lbW9pemVkU3RhdGU_bi5tZW1vaXplZFN0YXRlLmNvdW50LS06bi5zdGF0ZU5vZGUmJiFHJiYobj1uLnN0YXRlTm9kZSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobikpO2JyZWFrO2Nhc2UgMjc6R3x8RGwobix0KSxBbChuKTt2YXIgcj15dSxpPWJ1O1NwKG4udHlwZSkmJih5dT1uLnN0YXRlTm9kZSxidT0hMSkseHUoZSx0LG4pLGdtKG4uc3RhdGVOb2RlLG4udHlwZSxuLm1lbW9pemVkUHJvcHMpLHl1PXIsYnU9aTticmVhaztjYXNlIDU6R3x8RGwobix0KSxBbChuKTtjYXNlIDY6aWYobi50YWc9PT02JiZBbChuKSxyPXl1LGk9YnUseXU9bnVsbCx4dShlLHQsbikseXU9cixidT1pLHl1IT09bnVsbCl7aWYoYnUpdHJ5eyh5dS5ub2RlVHlwZT09PTk_eXUuYm9keTp5dS5ub2RlTmFtZT09PWBIVE1MYD95dS5vd25lckRvY3VtZW50LmJvZHk6eXUpLnJlbW92ZUNoaWxkKG4uc3RhdGVOb2RlKSxQPSEwfWNhdGNoKGUpe2ZmKG4sdCxlKX1lbHNlIHRyeXt5dS5yZW1vdmVDaGlsZChuLnN0YXRlTm9kZSksUD0hMH1jYXRjaChlKXtmZihuLHQsZSl9fWJyZWFrO2Nhc2UgMTg6eXUhPT1udWxsJiYoYnU_KGU9eXUsQ3AoZS5ub2RlVHlwZT09PTk_ZS5ib2R5OmUubm9kZU5hbWU9PT1gSFRNTGA_ZS5vd25lckRvY3VtZW50LmJvZHk6ZSxuLnN0YXRlTm9kZSksSGgoZSkpOkNwKHl1LG4uc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSA0OnI9eXUsaT1idSx5dT1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGJ1PSEwLHh1KGUsdCxuKSx5dT1yLGJ1PWk7YnJlYWs7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OkNsKDIsbix0KSxHfHxDbCg0LG4sdCkseHUoZSx0LG4pO2JyZWFrO2Nhc2UgMTpHfHwoRGwobix0KSxyPW4uc3RhdGVOb2RlLHR5cGVvZiByLmNvbXBvbmVudFdpbGxVbm1vdW50PT1gZnVuY3Rpb25gJiZUbChuLHQscikpLHh1KGUsdCxuKTticmVhaztjYXNlIDIxOnh1KGUsdCxuKTticmVhaztjYXNlIDIyOkc9KHI9Ryl8fG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwseHUoZSx0LG4pLEc9cjticmVhaztjYXNlIDMwOkRsKG4sdCkseHUoZSx0LG4pO2JyZWFrO2Nhc2UgNzpHfHxEbChuLHQpLHh1KGUsdCxuKTticmVhaztkZWZhdWx0Onh1KGUsdCxuKX19ZnVuY3Rpb24gQ3UoZSx0KXtpZih0Lm1lbW9pemVkU3RhdGU9PT1udWxsJiYoZT10LmFsdGVybmF0ZSxlIT09bnVsbCYmKGU9ZS5tZW1vaXplZFN0YXRlLGUhPT1udWxsKSkpe2U9ZS5kZWh5ZHJhdGVkO3RyeXtIaChlKX1jYXRjaChlKXtmZih0LHQucmV0dXJuLGUpfX19ZnVuY3Rpb24gd3UoZSx0KXtpZih0Lm1lbW9pemVkU3RhdGU9PT1udWxsJiYoZT10LmFsdGVybmF0ZSxlIT09bnVsbCYmKGU9ZS5tZW1vaXplZFN0YXRlLGUhPT1udWxsJiYoZT1lLmRlaHlkcmF0ZWQsZSE9PW51bGwpKSkpdHJ5e0hoKGUpfWNhdGNoKGUpe2ZmKHQsdC5yZXR1cm4sZSl9fWZ1bmN0aW9uIFR1KGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOmNhc2UgMTk6dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIHQ9PT1udWxsJiYodD1lLnN0YXRlTm9kZT1uZXcgc3UpLHQ7Y2FzZSAyMjpyZXR1cm4gZT1lLnN0YXRlTm9kZSx0PWUuX3JldHJ5Q2FjaGUsdD09PW51bGwmJih0PWUuX3JldHJ5Q2FjaGU9bmV3IHN1KSx0O2RlZmF1bHQ6dGhyb3cgRXJyb3Iocyg0MzUsZS50YWcpKX19ZnVuY3Rpb24gRXUoZSx0KXt2YXIgbj1UdShlKTt0LmZvckVhY2goZnVuY3Rpb24odCl7aWYoIW4uaGFzKHQpKXtuLmFkZCh0KTt2YXIgcj1fZi5iaW5kKG51bGwsZSx0KTt0LnRoZW4ocixyKX19KX1mdW5jdGlvbiBEdShlLHQsbil7dmFyIHI9dC5kZWxldGlvbnM7aWYociE9PW51bGwpZm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBhPXJbaV0sbz1lLGM9dCxsPWM7YTpmb3IoO2whPT1udWxsOyl7c3dpdGNoKGwudGFnKXtjYXNlIDI3OmlmKFNwKGwudHlwZSkpe3l1PWwuc3RhdGVOb2RlLGJ1PSExO2JyZWFrIGF9YnJlYWs7Y2FzZSA1Onl1PWwuc3RhdGVOb2RlLGJ1PSExO2JyZWFrIGE7Y2FzZSAzOmNhc2UgNDp5dT1sLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGJ1PSEwO2JyZWFrIGF9bD1sLnJldHVybn1pZih5dT09PW51bGwpdGhyb3cgRXJyb3IocygxNjApKTtTdShvLGMsYSkseXU9bnVsbCxidT0hMSxvPWEuYWx0ZXJuYXRlLG8hPT1udWxsJiYoby5yZXR1cm49bnVsbCksYS5yZXR1cm49bnVsbH1pZih0LnN1YnRyZWVGbGFncyYxMzg4Nilmb3IodD10LmNoaWxkO3QhPT1udWxsOylrdSh0LGUsbiksdD10LnNpYmxpbmd9dmFyIE91PW51bGw7ZnVuY3Rpb24ga3UoZSx0LG4pe3ZhciByPWUuYWx0ZXJuYXRlLGk9ZS5mbGFncztzd2l0Y2goZS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZihpJjQmJihyPWUudXBkYXRlUXVldWUscj1yPT09bnVsbD9udWxsOnIuZXZlbnRzLHIhPT1udWxsKSlmb3IodmFyIGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIG89clthXTtvLnJlZi5pbXBsPW8ubmV4dEltcGx9RHUodCxlLG4pLEF1KGUpLGkmNCYmKENsKDMsZSxlLnJldHVybiksU2woMyxlKSxDbCg1LGUsZS5yZXR1cm4pKTticmVhaztjYXNlIDE6RHUodCxlLG4pLEF1KGUpLGkmNTEyJiYoR3x8cj09PW51bGx8fERsKHIsci5yZXR1cm4pKSxpJjY0JiZpdSYmKGU9ZS51cGRhdGVRdWV1ZSxlIT09bnVsbCYmKHQ9ZS5jYWxsYmFja3MsdCE9PW51bGwmJihuPWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bj09PW51bGw_dDpuLmNvbmNhdCh0KSkpKTticmVhaztjYXNlIDI2OmlmKGE9T3UsRHUodCxlLG4pLEF1KGUpLGkmNTEyJiYoR3x8cj09PW51bGx8fERsKHIsci5yZXR1cm4pKSxpJjQpe2lmKGk9cj09PW51bGw_bnVsbDpyLm1lbW9pemVkU3RhdGUsbj1lLm1lbW9pemVkU3RhdGUscj09PW51bGwpe2lmKG49PT1udWxsKXtpZihlLnN0YXRlTm9kZT09PW51bGwpe2lmKGl1KWUuc3RhdGVOb2RlPWZwKGUudHlwZSxlLm1lbW9pemVkUHJvcHMsdC5jb250YWluZXJJbmZvLGUpO2Vsc2V7YTp7dD1lLnR5cGUsbj1lLm1lbW9pemVkUHJvcHMsaT1hLm93bmVyRG9jdW1lbnR8fGE7Yjpzd2l0Y2godCl7Y2FzZWB0aXRsZWA6cj1pLmdldEVsZW1lbnRzQnlUYWdOYW1lKGB0aXRsZWApWzBdLCghcnx8cltQdF18fHJbRHRdfHxyLm5hbWVzcGFjZVVSST09PWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2B8fHIuaGFzQXR0cmlidXRlKGBpdGVtcHJvcGApKSYmKHI9aS5jcmVhdGVFbGVtZW50KHQpLGkuaGVhZC5pbnNlcnRCZWZvcmUocixpLnF1ZXJ5U2VsZWN0b3IoYGhlYWQgPiB0aXRsZWApKSksbnAocix0LG4pLHJbRHRdPWUsVnQociksdD1yO2JyZWFrIGE7Y2FzZWBsaW5rYDppZihhPUdtKGBsaW5rYCxgaHJlZmAsaSkuZ2V0KHQrKG4uaHJlZnx8YGApKSl7Zm9yKG89MDtvPGEubGVuZ3RoO28rKylpZihyPWFbb10sci5nZXRBdHRyaWJ1dGUoYGhyZWZgKT09PShuLmhyZWY9PW51bGx8fG4uaHJlZj09PWBgP251bGw6bi5ocmVmKSYmci5nZXRBdHRyaWJ1dGUoYHJlbGApPT09KG4ucmVsPT1udWxsP251bGw6bi5yZWwpJiZyLmdldEF0dHJpYnV0ZShgdGl0bGVgKT09PShuLnRpdGxlPT1udWxsP251bGw6bi50aXRsZSkmJnIuZ2V0QXR0cmlidXRlKGBjcm9zc29yaWdpbmApPT09KG4uY3Jvc3NPcmlnaW49PW51bGw_bnVsbDpuLmNyb3NzT3JpZ2luKSl7YS5zcGxpY2UobywxKTticmVhayBifX1yPWkuY3JlYXRlRWxlbWVudCh0KSxucChyLHQsbiksaS5oZWFkLmFwcGVuZENoaWxkKHIpO2JyZWFrO2Nhc2VgbWV0YWA6aWYoYT1HbShgbWV0YWAsYGNvbnRlbnRgLGkpLmdldCh0KyhuLmNvbnRlbnR8fGBgKSkpe2ZvcihvPTA7bzxhLmxlbmd0aDtvKyspaWYocj1hW29dLHIuZ2V0QXR0cmlidXRlKGBjb250ZW50YCk9PT0obi5jb250ZW50PT1udWxsP251bGw6YGArbi5jb250ZW50KSYmci5nZXRBdHRyaWJ1dGUoYG5hbWVgKT09PShuLm5hbWU9PW51bGw_bnVsbDpuLm5hbWUpJiZyLmdldEF0dHJpYnV0ZShgcHJvcGVydHlgKT09PShuLnByb3BlcnR5PT1udWxsP251bGw6bi5wcm9wZXJ0eSkmJnIuZ2V0QXR0cmlidXRlKGBodHRwLWVxdWl2YCk9PT0obi5odHRwRXF1aXY9PW51bGw_bnVsbDpuLmh0dHBFcXVpdikmJnIuZ2V0QXR0cmlidXRlKGBjaGFyc2V0YCk9PT0obi5jaGFyU2V0PT1udWxsP251bGw6bi5jaGFyU2V0KSl7YS5zcGxpY2UobywxKTticmVhayBifX1yPWkuY3JlYXRlRWxlbWVudCh0KSxucChyLHQsbiksaS5oZWFkLmFwcGVuZENoaWxkKHIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3Iocyg0NjgsdCkpfXJbRHRdPWUsVnQociksdD1yfWUuc3RhdGVOb2RlPXR9fWVsc2UgaXV8fEttKGEsZS50eXBlLGUuc3RhdGVOb2RlKX1lbHNlIGUuc3RhdGVOb2RlPUJtKGEsbixlLm1lbW9pemVkUHJvcHMpfWVsc2UgaT09PW4_bj09PW51bGwmJmUuc3RhdGVOb2RlIT09bnVsbCYmUGwoZSxlLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFByb3BzKTooaT09PW51bGw_KHQ9ci5zdGF0ZU5vZGUsdD09PW51bGx8fEd8fHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSk6aS5jb3VudC0tLG49PT1udWxsP2l1fHxLbShhLGUudHlwZSxlLnN0YXRlTm9kZSk6Qm0oYSxuLGUubWVtb2l6ZWRQcm9wcykpfWJyZWFrO2Nhc2UgMjc6RHUodCxlLG4pLEF1KGUpLGkmNTEyJiYoR3x8cj09PW51bGx8fERsKHIsci5yZXR1cm4pKSxyIT09bnVsbCYmaSY0JiZQbChlLGUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgNTppZihhPWF1LGF1PSExLER1KHQsZSxuKSxhdT1hLEF1KGUpLGkmNTEyJiYoR3x8cj09PW51bGx8fERsKHIsci5yZXR1cm4pKSxlLmZsYWdzJjMyKXt0PWUuc3RhdGVOb2RlO3RyeXtobih0LGBgKSxQPSEwfWNhdGNoKHQpe2ZmKGUsZS5yZXR1cm4sdCl9fWkmNCYmZS5zdGF0ZU5vZGUhPW51bGwmJih0PWUubWVtb2l6ZWRQcm9wcyxQbChlLHQscj09PW51bGw_dDpyLm1lbW9pemVkUHJvcHMpKSxpJjEwMjQmJihvdT0hMCk7YnJlYWs7Y2FzZSA2OmlmKER1KHQsZSxuKSxBdShlKSxpJjQpe2lmKGUuc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcihzKDE2MikpO3Q9ZS5tZW1vaXplZFByb3BzLG49ZS5zdGF0ZU5vZGU7dHJ5e24ubm9kZVZhbHVlPXQsUD0hMH1jYXRjaCh0KXtmZihlLGUucmV0dXJuLHQpfX1icmVhaztjYXNlIDM6aWYoUD0hMSxXbT1udWxsLGE9T3UsT3U9Ym0odC5jb250YWluZXJJbmZvKSxEdSh0LGUsbiksT3U9YSxBdShlKSxpJjQmJnIhPT1udWxsJiZyLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXRyeXtIaCh0LmNvbnRhaW5lckluZm8pfWNhdGNoKHQpe2ZmKGUsZS5yZXR1cm4sdCl9b3UmJihvdT0hMSxqdShlKSksUD0hMTticmVhaztjYXNlIDQ6aT1hdSxhdT1pdSxyPVp0KCksYT1PdSxPdT1ibShlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxEdSh0LGUsbiksQXUoZSksT3U9YSxQJiZ1dSYmKGR1PSEwKSxQPXIsYXU9aTticmVhaztjYXNlIDEyOkR1KHQsZSxuKSxBdShlKTticmVhaztjYXNlIDMxOkR1KHQsZSxuKSxBdShlKSxpJjQmJih0PWUudXBkYXRlUXVldWUsdCE9PW51bGwmJihlLnVwZGF0ZVF1ZXVlPW51bGwsRXUoZSx0KSkpO2JyZWFrO2Nhc2UgMTM6RHUodCxlLG4pLEF1KGUpLGUuY2hpbGQuZmxhZ3MmODE5MiYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCE9KHIhPT1udWxsJiZyLm1lbW9pemVkU3RhdGUhPT1udWxsKSYmKHBkPUtlKCkpLGkmNCYmKHQ9ZS51cGRhdGVRdWV1ZSx0IT09bnVsbCYmKGUudXBkYXRlUXVldWU9bnVsbCxFdShlLHQpKSk7YnJlYWs7Y2FzZSAyMjphPWUubWVtb2l6ZWRTdGF0ZSE9PW51bGwsbz1yIT09bnVsbCYmci5tZW1vaXplZFN0YXRlIT09bnVsbDt2YXIgYz1pdSxsPUcsdT1hdTtpdT1jfHxhLGF1PXV8fGEsRz1sfHxvLER1KHQsZSxuKSxHPWwsYXU9dSxpdT1jLEF1KGUpLGkmODE5MiYmKHQ9ZS5zdGF0ZU5vZGUsdC5fdmlzaWJpbGl0eT1hP3QuX3Zpc2liaWxpdHkmLTI6dC5fdmlzaWJpbGl0eXwxLCFhfHxyPT09bnVsbHx8b3x8aXV8fEd8fCh0PW98fEcsbj1pdSxyPUcsaXU9YXx8aXUsRz10LEZ1KGUsMiksaXU9bixHPXIpLCFhJiZhdXx8Z3UoZSxhKSksaSY0JiYodD1lLnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYobj10LnJldHJ5UXVldWUsbiE9PW51bGwmJih0LnJldHJ5UXVldWU9bnVsbCxFdShlLG4pKSkpO2JyZWFrO2Nhc2UgMTk6RHUodCxlLG4pLEF1KGUpLGkmNCYmKHQ9ZS51cGRhdGVRdWV1ZSx0IT09bnVsbCYmKGUudXBkYXRlUXVldWU9bnVsbCxFdShlLHQpKSk7YnJlYWs7Y2FzZSAzMDppJjUxMiYmKEd8fHI9PT1udWxsfHxEbChyLHIucmV0dXJuKSksaT1adCgpLGE9dXUsbz0obiYzMzU1NDQwNjQpPT09bixjPWUubWVtb2l6ZWRQcm9wcyx1dT1vJiZDaShjLmRlZmF1bHQsYy51cGRhdGUpIT09YG5vbmVgLER1KHQsZSxuKSxBdShlKSxvJiZyIT09bnVsbCYmUCYmKGUuZmxhZ3N8PTQpLHV1PWEsUD1pO2JyZWFrO2Nhc2UgMjE6YnJlYWs7Y2FzZSA3OmkmNTEyJiYoR3x8cj09PW51bGx8fERsKHIsci5yZXR1cm4pKSxyJiZyLnN0YXRlTm9kZSE9PW51bGwmJihyLnN0YXRlTm9kZS5fZnJhZ21lbnRGaWJlcj1lKTtkZWZhdWx0OkR1KHQsZSxuKSxBdShlKX19ZnVuY3Rpb24gQXUoZSl7dmFyIHQ9ZS5mbGFncztpZih0JjIpe3RyeXtmb3IodmFyIG4scj1lLnJldHVybjtyIT09bnVsbDspe2lmKEZsKHIpKXtuPXI7YnJlYWt9cj1yLnJldHVybn1yPW51bGw7Zm9yKHZhciBpPWUucmV0dXJuO2khPT1udWxsOyl7aWYoTWwoaSkpe3ZhciBhPWkuc3RhdGVOb2RlO3I9PT1udWxsP3I9W2FdOnIucHVzaChhKX1pZihqbChpKSlicmVhaztpPWkucmV0dXJufXZhciBvPXI7aWYobj09bnVsbCl0aHJvdyBFcnJvcihzKDE2MCkpO3N3aXRjaChuLnRhZyl7Y2FzZSAyNzp2YXIgYz1uLnN0YXRlTm9kZTtSbChlLElsKGUpLGMsbyk7YnJlYWs7Y2FzZSA1OnZhciBsPW4uc3RhdGVOb2RlO24uZmxhZ3MmMzImJihobihsLGBgKSxuLmZsYWdzJj0tMzMpLFJsKGUsSWwoZSksbCxvKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PW4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm87TGwoZSxJbChlKSx1LG8pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IocygxNjEpKX19Y2F0Y2godCl7ZmYoZSxlLnJldHVybix0KX1lLmZsYWdzJj0tM310JjQwOTYmJihlLmZsYWdzJj0tNDA5Nyl9ZnVuY3Rpb24ganUoZSl7aWYoZS5zdWJ0cmVlRmxhZ3MmMTAyNClmb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7dmFyIHQ9ZTtqdSh0KSx0LnRhZz09PTUmJnQuZmxhZ3MmMTAyNCYmKHQ9dC5zdGF0ZU5vZGUsZ2g9ITAsdC5yZXNldCgpLGdoPSExKSxlPWUuc2libGluZ319ZnVuY3Rpb24gTXUoZSx0KXtpZih0LnN1YnRyZWVGbGFncyY5MjcwKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KU51KHQsZSksdD10LnNpYmxpbmc7ZWxzZSBydSh0LCExKX1mdW5jdGlvbiBOdShlLHQpe3ZhciBuPWUuYWx0ZXJuYXRlO2lmKG49PT1udWxsKVlsKGUsITEpO2Vsc2Ugc3dpdGNoKGUudGFnKXtjYXNlIDM6aWYoZnU9bHU9ITEsV2woKSxNdSh0LGUpLCFsdSYmIWR1KXtpZihlPVVsLGUhPT1udWxsKWZvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cis9Myl7bj1lW3JdO3ZhciBpPWVbcisxXTtFcChuLGVbcisyXSksbj1uLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG4hPT1udWxsJiZuLmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbYG5vbmVgLGBub25lYF19LHtkdXJhdGlvbjowLGZpbGw6YGZvcndhcmRzYCxwc2V1ZG9FbGVtZW50OmA6OnZpZXctdHJhbnNpdGlvbi1ncm91cChgK2krYClgfSl9ZT10LmNvbnRhaW5lckluZm8sZT1lLm5vZGVUeXBlPT09OT9lLmRvY3VtZW50RWxlbWVudDplLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGUhPT1udWxsJiZlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT09PWBgJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9YG5vbmVgLGUuYW5pbWF0ZSh7b3BhY2l0eTpbMCwwXSxwb2ludGVyRXZlbnRzOltgbm9uZWAsYG5vbmVgXX0se2R1cmF0aW9uOjAsZmlsbDpgZm9yd2FyZHNgLHBzZXVkb0VsZW1lbnQ6YDo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHJvb3QpYH0pLGUuYW5pbWF0ZSh7d2lkdGg6WzAsMF0saGVpZ2h0OlswLDBdfSx7ZHVyYXRpb246MCxmaWxsOmBmb3J3YXJkc2AscHNldWRvRWxlbWVudDpgOjp2aWV3LXRyYW5zaXRpb25gfSkpLGZ1PSEwfVVsPW51bGw7YnJlYWs7Y2FzZSA1Ok11KHQsZSk7YnJlYWs7Y2FzZSA0OnI9bHUsbHU9ITEsTXUodCxlKSxsdSYmKGR1PSEwKSxsdT1yO2JyZWFrO2Nhc2UgMjI6ZS5tZW1vaXplZFN0YXRlPT09bnVsbCYmKG4ubWVtb2l6ZWRTdGF0ZT09PW51bGw_TXUodCxlKTpZbChlLCExKSk7YnJlYWs7Y2FzZSAzMDpyPWx1LGk9V2woKSxsdT0hMSxNdSh0LGUpLGx1JiYoZS5mbGFnc3w9NCk7dmFyIGE9ZS5tZW1vaXplZFByb3BzLG89ZS5zdGF0ZU5vZGU7dD14aShhLG8pLG89eGkobi5tZW1vaXplZFByb3BzLG8pO3ZhciBzPUNpKGEuZGVmYXVsdCxhLnVwZGF0ZSk7cz09PWBub25lYD90PSExOihhPW4ubWVtb2l6ZWRTdGF0ZSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuPWUuY2hpbGQsR2w9MCx0PW51KGUsbix0LG8scyxhLCEwKSxHbCE9PShhPT09bnVsbD8wOmEubGVuZ3RoKSYmKGUuZmxhZ3N8PTMyKSksZS5mbGFncyY0JiZ0PyhNZChlLGUubWVtb2l6ZWRQcm9wcy5vblVwZGF0ZSksVWw9aSk6aSE9PW51bGwmJihpLnB1c2guYXBwbHkoaSxVbCksVWw9aSksbHU9ZS5mbGFncyYzMj8hMDpyO2JyZWFrO2RlZmF1bHQ6TXUodCxlKX19ZnVuY3Rpb24gUHUoZSx0KXtpZih0LnN1YnRyZWVGbGFncyY4NzcyKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KWh1KGUsdC5hbHRlcm5hdGUsdCksdD10LnNpYmxpbmd9ZnVuY3Rpb24gRnUoZSx0KXtmb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7dmFyIG49ZSxyPXQ7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6Q2woNCxuLG4ucmV0dXJuKSxGdShuLHIpO2JyZWFrO2Nhc2UgMTpEbChuLG4ucmV0dXJuKTt2YXIgaT1uLnN0YXRlTm9kZTt0eXBlb2YgaS5jb21wb25lbnRXaWxsVW5tb3VudD09YGZ1bmN0aW9uYCYmVGwobixuLnJldHVybixpKSxGdShuLHIpO2JyZWFrO2Nhc2UgMjc6ciYyJiZnbShuLnN0YXRlTm9kZSxuLnR5cGUsbi5tZW1vaXplZFByb3BzKTtjYXNlIDU6RGwobixuLnJldHVybiksbi50YWchPT01JiZuLnRhZyE9PTI3fHxBbChuKSxGdShuLHIpO2JyZWFrO2Nhc2UgNjpBbChuKTticmVhaztjYXNlIDI2OkRsKG4sbi5yZXR1cm4pLGk9bi5zdGF0ZU5vZGUsbi5tZW1vaXplZFN0YXRlIT09bnVsbHx8aT09PW51bGx8fEd8fGkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKSxGdShuLHIpO2JyZWFrO2Nhc2UgMjI6bi5tZW1vaXplZFN0YXRlPT09bnVsbCYmRnUobixyKTticmVhaztjYXNlIDMwOkRsKG4sbi5yZXR1cm4pLEZ1KG4scik7YnJlYWs7Y2FzZSA3OkRsKG4sbi5yZXR1cm4pO2RlZmF1bHQ6RnUobixyKX1lPWUuc2libGluZ319ZnVuY3Rpb24gSXUoZSx0LG4pe2ZvcihuPXQuc3VidHJlZUZsYWdzJjg3NzI_bjpuJi0yLHQ9dC5jaGlsZDt0IT09bnVsbDspe3ZhciByPXQuYWx0ZXJuYXRlLGk9ZSxhPXQsbz1hLmZsYWdzLHM9ISEobiYxKTtzd2l0Y2goYS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6SXUoaSxhLG4pLFNsKDQsYSk7YnJlYWs7Y2FzZSAxOmlmKEl1KGksYSxuKSxyPWEsaT1yLnN0YXRlTm9kZSx0eXBlb2YgaS5jb21wb25lbnREaWRNb3VudD09YGZ1bmN0aW9uYCl0cnl7aS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe2ZmKHIsci5yZXR1cm4sZSl9aWYocj1hLGk9ci51cGRhdGVRdWV1ZSxpIT09bnVsbCl7dmFyIGM9ci5zdGF0ZU5vZGU7dHJ5e3ZhciBsPWkuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihsIT09bnVsbClmb3IoaS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsaT0wO2k8bC5sZW5ndGg7aSsrKUVvKGxbaV0sYyl9Y2F0Y2goZSl7ZmYocixyLnJldHVybixlKX19cyYmbyY2NCYmd2woYSksRWwoYSxhLnJldHVybik7YnJlYWs7Y2FzZSAyNzpuJjImJnpsKGEpO2Nhc2UgNTphLnRhZyE9PTUmJmEudGFnIT09Mjd8fGtsKGEpLEl1KGksYSxuKSxzJiZyPT09bnVsbCYmbyY0JiZObChhKSxFbChhLGEucmV0dXJuKTticmVhaztjYXNlIDY6a2woYSk7YnJlYWs7Y2FzZSAyNjpjPWEuc3RhdGVOb2RlLGEubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fGM9PT1udWxsfHxpdXx8S20oYm0oYy5vd25lckRvY3VtZW50KSxhLnR5cGUsYyksSXUoaSxhLG4pLHMmJnI9PT1udWxsJiZvJjQmJk5sKGEpLEVsKGEsYS5yZXR1cm4pO2JyZWFrO2Nhc2UgMTI6SXUoaSxhLG4pO2JyZWFrO2Nhc2UgMzE6SXUoaSxhLG4pLHMmJm8mNCYmQ3UoaSxhKTticmVhaztjYXNlIDEzOkl1KGksYSxuKSxzJiZvJjQmJnd1KGksYSk7YnJlYWs7Y2FzZSAyMjphLm1lbW9pemVkU3RhdGU9PT1udWxsJiZJdShpLGEsbiksRWwoYSxhLnJldHVybik7YnJlYWs7Y2FzZSAzMDpJdShpLGEsbiksRWwoYSxhLnJldHVybik7YnJlYWs7Y2FzZSA3OkVsKGEsYS5yZXR1cm4pO2RlZmF1bHQ6SXUoaSxhLG4pfXQ9dC5zaWJsaW5nfX1mdW5jdGlvbiBMdShlLHQpe3ZhciBuPW51bGw7ZSE9PW51bGwmJmUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJmUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGU9bnVsbCx0Lm1lbW9pemVkU3RhdGUhPT1udWxsJiZ0Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCYmKGU9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxlIT09biYmKGUhPW51bGwmJmUucmVmQ291bnQrKyxuIT1udWxsJiZJYShuKSl9ZnVuY3Rpb24gUnUoZSx0KXtlPW51bGwsdC5hbHRlcm5hdGUhPT1udWxsJiYoZT10LmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSx0IT09ZSYmKHQucmVmQ291bnQrKyxlIT1udWxsJiZJYShlKSl9ZnVuY3Rpb24genUoZSx0LG4scil7dmFyIGk9KG4mMzM1NTQ0MDY0KT09PW47aWYodC5zdWJ0cmVlRmxhZ3MmKGk_MTAyNjI6MTAyNTYpKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KUJ1KGUsdCxuLHIpLHQ9dC5zaWJsaW5nO2Vsc2UgaSYmdHUodCl9ZnVuY3Rpb24gQnUoZSx0LG4scil7dmFyIGk9KG4mMzM1NTQ0MDY0KT09PW47aSYmdC5hbHRlcm5hdGU9PT1udWxsJiZ0LnJldHVybiE9PW51bGwmJnQucmV0dXJuLmFsdGVybmF0ZSE9PW51bGwmJmV1KHQpO3ZhciBhPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1Onp1KGUsdCxuLHIpLGEmMjA0OCYmU2woOSx0KTticmVhaztjYXNlIDE6enUoZSx0LG4scik7YnJlYWs7Y2FzZSAzOnp1KGUsdCxuLHIpLGkmJmZ1JiYoZT1lLmNvbnRhaW5lckluZm8sZT1lLm5vZGVUeXBlPT09OT9lLmJvZHk6ZS5ub2RlTmFtZT09PWBIVE1MYD9lLm93bmVyRG9jdW1lbnQuYm9keTplLGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPT09YHJvb3RgJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9YGApLGU9ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxlIT09bnVsbCYmZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9PT1gbm9uZWAmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT1gYCkpLGEmMjA0OCYmKGE9bnVsbCx0LmFsdGVybmF0ZSE9PW51bGwmJihhPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQ9dC5tZW1vaXplZFN0YXRlLmNhY2hlLHQhPT1hJiYodC5yZWZDb3VudCsrLGEhPW51bGwmJklhKGEpKSk7YnJlYWs7Y2FzZSAxMjppZihhJjIwNDgpe3p1KGUsdCxuLHIpLGE9dC5zdGF0ZU5vZGU7dHJ5e3ZhciBvPXQubWVtb2l6ZWRQcm9wcyxzPW8uaWQsYz1vLm9uUG9zdENvbW1pdDt0eXBlb2YgYz09YGZ1bmN0aW9uYCYmYyhzLHQuYWx0ZXJuYXRlPT09bnVsbD9gbW91bnRgOmB1cGRhdGVgLGEucGFzc2l2ZUVmZmVjdER1cmF0aW9uLC0wKX1jYXRjaChlKXtmZih0LHQucmV0dXJuLGUpfX1lbHNlIHp1KGUsdCxuLHIpO2JyZWFrO2Nhc2UgMzE6enUoZSx0LG4scik7YnJlYWs7Y2FzZSAxMzp6dShlLHQsbixyKTticmVhaztjYXNlIDIzOmJyZWFrO2Nhc2UgMjI6bz10LnN0YXRlTm9kZSxzPXQuYWx0ZXJuYXRlLHQubWVtb2l6ZWRTdGF0ZT09PW51bGw_KGkmJnMhPT1udWxsJiZzLm1lbW9pemVkU3RhdGUhPT1udWxsJiZldSh0KSxvLl92aXNpYmlsaXR5JjI_enUoZSx0LG4scik6KG8uX3Zpc2liaWxpdHl8PTIsVnUoZSx0LG4sciwhISh0LnN1YnRyZWVGbGFncyYxMDI1Nil8fCExKSkpOihpJiZzIT09bnVsbCYmcy5tZW1vaXplZFN0YXRlPT09bnVsbCYmZXUocyksby5fdmlzaWJpbGl0eSYyP3p1KGUsdCxuLHIpOkh1KGUsdCkpLGEmMjA0OCYmTHUocyx0KTticmVhaztjYXNlIDI0Onp1KGUsdCxuLHIpLGEmMjA0OCYmUnUodC5hbHRlcm5hdGUsdCk7YnJlYWs7Y2FzZSAzMDppJiYoYT10LmFsdGVybmF0ZSxhIT09bnVsbCYmKHFsKGEuY2hpbGQsITApLHFsKHQuY2hpbGQsITApKSksenUoZSx0LG4scik7YnJlYWs7ZGVmYXVsdDp6dShlLHQsbixyKX19ZnVuY3Rpb24gVnUoZSx0LG4scixpKXtmb3IoaSYmPSEhKHQuc3VidHJlZUZsYWdzJjEwMjU2KXx8ITEsdD10LmNoaWxkO3QhPT1udWxsOyl7dmFyIGE9ZSxvPXQscz1uLGM9cixsPW8uZmxhZ3M7c3dpdGNoKG8udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OlZ1KGEsbyxzLGMsaSksU2woOCxvKTticmVhaztjYXNlIDIzOmJyZWFrO2Nhc2UgMjI6dmFyIHU9by5zdGF0ZU5vZGU7by5tZW1vaXplZFN0YXRlPT09bnVsbD8odS5fdmlzaWJpbGl0eXw9MixWdShhLG8scyxjLGkpKTp1Ll92aXNpYmlsaXR5JjI_VnUoYSxvLHMsYyxpKTpIdShhLG8pLGkmJmwmMjA0OCYmTHUoby5hbHRlcm5hdGUsbyk7YnJlYWs7Y2FzZSAyNDpWdShhLG8scyxjLGkpLGkmJmwmMjA0OCYmUnUoby5hbHRlcm5hdGUsbyk7YnJlYWs7ZGVmYXVsdDpWdShhLG8scyxjLGkpfXQ9dC5zaWJsaW5nfX1mdW5jdGlvbiBIdShlLHQpe2lmKHQuc3VidHJlZUZsYWdzJjEwMjU2KWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KXt2YXIgbj1lLHI9dCxpPXIuZmxhZ3M7c3dpdGNoKHIudGFnKXtjYXNlIDIyOkh1KG4sciksaSYyMDQ4JiZMdShyLmFsdGVybmF0ZSxyKTticmVhaztjYXNlIDI0Okh1KG4sciksaSYyMDQ4JiZSdShyLmFsdGVybmF0ZSxyKTticmVhaztkZWZhdWx0Okh1KG4scil9dD10LnNpYmxpbmd9fXZhciBVdT04MTkyO2Z1bmN0aW9uIFd1KGUsdCxuKXtpZihlLnN1YnRyZWVGbGFncyZVdSlmb3IoZT1lLmNoaWxkO2UhPT1udWxsOylHdShlLHQsbiksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gR3UoZSx0LG4pe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpXdShlLHQsbiksZS5mbGFncyZVdSYmKGUubWVtb2l6ZWRTdGF0ZT09PW51bGw_KGU9ZS5zdGF0ZU5vZGUsKHQmMzM1NTQ0MTI4KT09PXQmJlptKG4sZSkpOlFtKG4sT3UsZS5tZW1vaXplZFN0YXRlLGUubWVtb2l6ZWRQcm9wcykpO2JyZWFrO2Nhc2UgNTpXdShlLHQsbiksZS5mbGFncyZVdSYmKGU9ZS5zdGF0ZU5vZGUsKHQmMzM1NTQ0MTI4KT09PXQmJlptKG4sZSkpO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIHI9T3U7T3U9Ym0oZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksV3UoZSx0LG4pLE91PXI7YnJlYWs7Y2FzZSAyMjplLm1lbW9pemVkU3RhdGU9PT1udWxsJiYocj1lLmFsdGVybmF0ZSxyIT09bnVsbCYmci5tZW1vaXplZFN0YXRlIT09bnVsbD8ocj1VdSxVdT0xNjc3NzIxNixXdShlLHQsbiksVXU9cik6V3UoZSx0LG4pKTticmVhaztjYXNlIDMwOmlmKChlLmZsYWdzJlV1KSE9PTAmJihyPWUubWVtb2l6ZWRQcm9wcy5uYW1lLHIhPW51bGwmJnIhPT1gYXV0b2ApKXt2YXIgaT1lLnN0YXRlTm9kZTtpLnBhaXJlZD1udWxsLFZsPT09bnVsbCYmKFZsPW5ldyBNYXApLFZsLnNldChyLGkpfVd1KGUsdCxuKTticmVhaztkZWZhdWx0Old1KGUsdCxuKX19ZnVuY3Rpb24gS3UoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYodCE9PW51bGwmJihlPXQuY2hpbGQsZSE9PW51bGwpKXt0LmNoaWxkPW51bGw7ZG8gdD1lLnNpYmxpbmcsZS5zaWJsaW5nPW51bGwsZT10O3doaWxlKGUhPT1udWxsKX19ZnVuY3Rpb24gcXUoZSl7dmFyIHQ9ZS5kZWxldGlvbnM7aWYoZS5mbGFncyYxNil7aWYodCE9PW51bGwpZm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07Y3U9cixYdShyLGUpfUt1KGUpfWlmKGUuc3VidHJlZUZsYWdzJjEwMjU2KWZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KUp1KGUpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIEp1KGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpxdShlKSxlLmZsYWdzJjIwNDgmJkNsKDksZSxlLnJldHVybik7YnJlYWs7Y2FzZSAzOnF1KGUpO2JyZWFrO2Nhc2UgMTI6cXUoZSk7YnJlYWs7Y2FzZSAyMjp2YXIgdD1lLnN0YXRlTm9kZTtlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZ0Ll92aXNpYmlsaXR5JjImJihlLnJldHVybj09PW51bGx8fGUucmV0dXJuLnRhZyE9PTEzKT8odC5fdmlzaWJpbGl0eSY9LTMsWXUoZSkpOnF1KGUpO2JyZWFrO2RlZmF1bHQ6cXUoZSl9fWZ1bmN0aW9uIFl1KGUpe3ZhciB0PWUuZGVsZXRpb25zO2lmKGUuZmxhZ3MmMTYpe2lmKHQhPT1udWxsKWZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2N1PXIsWHUocixlKX1LdShlKX1mb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7c3dpdGNoKHQ9ZSx0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpDbCg4LHQsdC5yZXR1cm4pLFl1KHQpO2JyZWFrO2Nhc2UgMjI6bj10LnN0YXRlTm9kZSxuLl92aXNpYmlsaXR5JjImJihuLl92aXNpYmlsaXR5Jj0tMyxZdSh0KSk7YnJlYWs7ZGVmYXVsdDpZdSh0KX1lPWUuc2libGluZ319ZnVuY3Rpb24gWHUoZSx0KXtmb3IoO2N1IT09bnVsbDspe3ZhciBuPWN1O3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpDbCg4LG4sdCk7YnJlYWs7Y2FzZSAyMzpjYXNlIDIyOmlmKG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJm4ubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsKXt2YXIgcj1uLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2w7ciE9bnVsbCYmci5yZWZDb3VudCsrfWJyZWFrO2Nhc2UgMjQ6SWEobi5tZW1vaXplZFN0YXRlLmNhY2hlKX1pZihyPW4uY2hpbGQsciE9PW51bGwpci5yZXR1cm49bixjdT1yO2Vsc2UgYTpmb3Iobj1lO2N1IT09bnVsbDspe3I9Y3U7dmFyIGk9ci5zaWJsaW5nLGE9ci5yZXR1cm47aWYodnUocikscj09PW4pe2N1PW51bGw7YnJlYWsgYX1pZihpIT09bnVsbCl7aS5yZXR1cm49YSxjdT1pO2JyZWFrIGF9Y3U9YX19fXZhciBxPXtnZXRDYWNoZUZvclR5cGU6ZnVuY3Rpb24oZSl7dmFyIHQ9T2EoUGEpLG49dC5kYXRhLmdldChlKTtyZXR1cm4gbj09PXZvaWQgMCYmKG49ZSgpLHQuZGF0YS5zZXQoZSxuKSksbn0sY2FjaGVTaWduYWw6ZnVuY3Rpb24oKXtyZXR1cm4gT2EoUGEpLmNvbnRyb2xsZXIuc2lnbmFsfX0sWnU9dHlwZW9mIFdlYWtNYXA9PWBmdW5jdGlvbmA_V2Vha01hcDpNYXAsSj0wLFF1PW51bGwsWT1udWxsLFg9MCxaPTAsJHU9bnVsbCxlZD0hMSx0ZD0hMSxuZD0hMSxyZD0wLGlkPTAsYWQ9MCxvZD0wLHNkPTAsY2Q9MCxsZD0wLHVkPW51bGwsZGQ9bnVsbCxmZD0hMSxwZD0wLG1kPTAsaGQ9MS8wLGdkPW51bGwsX2Q9bnVsbCx2ZD0wLHlkPW51bGwsYmQ9bnVsbCx4ZD0wLFNkPTAsQ2Q9bnVsbCx3ZD1udWxsLFRkPW51bGwsRWQ9bnVsbCxEZD1udWxsLE9kPTAsa2Q9bnVsbDtmdW5jdGlvbiBBZCgpe3JldHVybiBKJjImJlghPT0wP1gmLVg6ai5UPT09bnVsbD9UdCgpOk5mKCl9ZnVuY3Rpb24gamQoKXtpZihjZD09PTApe2lmKCEoWCY1MzY4NzA5MTIpfHxMKXt2YXIgZT1sdDtsdDw8PTEsIShsdCYzOTMyMTYwKSYmKGx0PTI2MjE0NCksY2Q9ZX1lbHNlIGNkPTUzNjg3MDkxMn1yZXR1cm4gZT1Oby5jdXJyZW50LGUhPT1udWxsJiYoZS5mbGFnc3w9MzIpLGNkfWZ1bmN0aW9uIE1kKGUsdCl7aWYodCE9bnVsbCl7dmFyIG49ZS5zdGF0ZU5vZGUscj1uLnJlZjtyPT09bnVsbCYmKHI9bi5yZWY9UHAoeGkoZS5tZW1vaXplZFByb3BzLG4pKSksRWQ9PT1udWxsJiYoRWQ9W10pLEVkLnB1c2godC5iaW5kKG51bGwscikpfX1mdW5jdGlvbiBOZChlLHQsbil7KGU9PT1RdSYmKFo9PT0yfHxaPT09OSl8fGUuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGwpJiYoQmQoZSwwKSxMZChlLFgsY2QsITEpKSx2dChlLG4pLCghKEomMil8fGUhPT1RdSkmJihlPT09UXUmJighKEomMikmJihvZHw9biksaWQ9PT00JiZMZChlLFgsY2QsITEpKSxUZihlKSl9ZnVuY3Rpb24gUGQoZSx0LG4pe2lmKEomNil0aHJvdyBFcnJvcihzKDMyNykpO3ZhciByPSFuJiYhKHQmMTI3KSYmKHQmZS5leHBpcmVkTGFuZXMpPT09MHx8cHQoZSx0KSxpPXI_SmQoZSx0KTpLZChlLHQsITApLGE9cjtkb3tpZihpPT09MCl7dGQmJiFyJiZMZChlLHQsMCwhMSk7YnJlYWt9aWYobj1lLmN1cnJlbnQuYWx0ZXJuYXRlLGEmJiFJZChuKSlpPUtkKGUsdCwhMSksYT0hMTtlbHNle2lmKGk9PT0yKXtpZihhPXQsZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyZhKXZhciBvPTA7ZWxzZSBvPWUucGVuZGluZ0xhbmVzJi01MzY4NzA5MTMsbz1vPT09MD9vJjUzNjg3MDkxMj81MzY4NzA5MTI6MDpvO2lmKG8hPT0wKXt0PW87YTp7dmFyIGM9ZTtpPXVkO3ZhciBsPWMuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZDtpZihsJiYoQmQoYyxvKS5mbGFnc3w9MjU2KSxvPUtkKGMsbywhMSksbyE9PTImJm8hPT02KXtpZihuZCYmIWwpe2MuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXN8PWEsb2R8PWEsaT00O2JyZWFrIGF9YT1kZCxkZD1pLGEhPT1udWxsJiYoZGQ9PT1udWxsP2RkPWE6ZGQucHVzaC5hcHBseShkZCxhKSl9aT1vfWlmKGE9ITEsaSE9PTIpY29udGludWV9fWlmKGk9PT0xKXtCZChlLDApLExkKGUsdCwwLCEwKTticmVha31hOntzd2l0Y2gocj1lLGE9aSxhKXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKHMoMzQ1KSk7Y2FzZSA0OmlmKCh0JjQxOTQwNDgpIT09dCYmKHQmNjI5MTQ1NjApIT09dClicmVhaztjYXNlIDY6TGQocix0LGNkLCFlZCk7YnJlYWsgYTtjYXNlIDI6ZGQ9bnVsbDticmVhaztjYXNlIDM6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IocygzMjkpKX1pZigodCY2MjkxNDU2MCk9PT10JiYoaT1wZCszMDAtS2UoKSwxMDxpKSl7aWYoTGQocix0LGNkLCFlZCksZnQociwwLCEwKSE9PTApYnJlYWsgYTt4ZD10LHIudGltZW91dEhhbmRsZT1ncChGZC5iaW5kKG51bGwscixuLGRkLGdkLGZkLHQsY2Qsb2QsbGQsZWQsYSxgVGhyb3R0bGVkYCwtMCwwKSxpKTticmVhayBhfUZkKHIsbixkZCxnZCxmZCx0LGNkLG9kLGxkLGVkLGEsbnVsbCwtMCwwKX1icmVha319d2hpbGUoMSk7VGYoZSl9ZnVuY3Rpb24gRmQoZSx0LG4scixpLGEsbyxzLGMsbCx1LGQsZixwKXtlLnRpbWVvdXRIYW5kbGU9LTE7dmFyIG09dC5zdWJ0cmVlRmxhZ3MsaD0oYSYzMzU1NDQwNjQpPT09YTtkPW51bGwsKGh8fG0mODE5Mnx8KG0mMTY3ODU0MDgpPT0xNjc4NTQwOCkmJihkPXtzdHlsZXNoZWV0czpudWxsLGNvdW50OjAsaW1nQ291bnQ6MCxpbWdCeXRlczowLHN1c3BlbnNleUltYWdlczpbXSx3YWl0aW5nRm9ySW1hZ2VzOiEwLHdhaXRpbmdGb3JWaWV3VHJhbnNpdGlvbjohMSx1bnN1c3BlbmQ6Q259LFZsPW51bGwsR3UodCxhLGQpLGgmJihtPWQsaD1lLmNvbnRhaW5lckluZm8saD0oaC5ub2RlVHlwZT09PTk_aDpoLm93bmVyRG9jdW1lbnQpLl9fcmVhY3RWaWV3VHJhbnNpdGlvbixoIT1udWxsJiYobS5jb3VudCsrLG0ud2FpdGluZ0ZvclZpZXdUcmFuc2l0aW9uPSEwLG09bmguYmluZChtKSxoLmZpbmlzaGVkLnRoZW4obSxtKSkpLG09KGEmNjI5MTQ1NjApPT09YT9wZC1LZSgpOihhJjQxOTQwNDgpPT09YT9tZC1LZSgpOjAsbT1laChkLG0pLG0hPT1udWxsKT8oeGQ9YSxlLmNhbmNlbFBlbmRpbmdDb21taXQ9bShRLmJpbmQobnVsbCxlLHQsYSxuLHIsaSxvLHMsYyxsLHUsZCxudWxsLGYscCkpLExkKGUsYSxvLCFsKSk6UShlLHQsYSxuLHIsaSxvLHMsYyxsLHUsZCl9ZnVuY3Rpb24gSWQoZSl7Zm9yKHZhciB0PWU7Oyl7dmFyIG49dC50YWc7aWYoKG49PT0wfHxuPT09MTF8fG49PT0xNSkmJnQuZmxhZ3MmMTYzODQmJihuPXQudXBkYXRlUXVldWUsbiE9PW51bGwmJihuPW4uc3RvcmVzLG4hPT1udWxsKSkpZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBpPW5bcl0sYT1pLmdldFNuYXBzaG90O2k9aS52YWx1ZTt0cnl7aWYoIUtyKGEoKSxpKSlyZXR1cm4hMX1jYXRjaHtyZXR1cm4hMX19aWYobj10LmNoaWxkLHQuc3VidHJlZUZsYWdzJjE2Mzg0JiZuIT09bnVsbCluLnJldHVybj10LHQ9bjtlbHNle2lmKHQ9PT1lKWJyZWFrO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1lKXJldHVybiEwO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ319cmV0dXJuITB9ZnVuY3Rpb24gTGQoZSx0LG4scil7dD1tdChlLHQpLHQmPX5zZCx0Jj1-b2QsZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1-dCxyJiYoZS53YXJtTGFuZXN8PXQpLHI9ZS5leHBpcmF0aW9uVGltZXM7Zm9yKHZhciBpPXQ7MDxpOyl7dmFyIGE9MzEtaXQoaSksbz0xPDxhO3JbYV09LTEsaSY9fm99biE9PTAmJmJ0KGUsbix0KX1mdW5jdGlvbiBSZCgpe3JldHVybiBKJjY_ITA6KEVmKDAsITEpLCExKX1mdW5jdGlvbiB6ZCgpe2lmKFkhPT1udWxsKXtpZihaPT09MCl2YXIgZT1ZLnJldHVybjtlbHNlIGU9WSxiYT15YT1udWxsLGNzKGUpLHNvPW51bGwsY289MCxlPVk7Zm9yKDtlIT09bnVsbDspeGwoZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjtZPW51bGx9fWZ1bmN0aW9uIEJkKGUsdCl7dmFyIG49ZS50aW1lb3V0SGFuZGxlO3JldHVybiBuIT09LTEmJihlLnRpbWVvdXRIYW5kbGU9LTEsX3AobikpLG49ZS5jYW5jZWxQZW5kaW5nQ29tbWl0LG4hPT1udWxsJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSx4ZD0wLHpkKCksUXU9ZSxZPW49UmkoZS5jdXJyZW50LG51bGwpLFg9dCxaPTAsJHU9bnVsbCxlZD0hMSx0ZD1wdChlLHQpLG5kPSExLGxkPWNkPXNkPW9kPWFkPWlkPTAsZGQ9dWQ9bnVsbCxmZD0hMSxyZD1tdChlLHQpLE9pKCksbn1mdW5jdGlvbiBWZChlLHQpe3o9bnVsbCxqLkg9X2MsdD09PVphfHx0PT09JGE_KHQ9YW8oKSxaPTMpOnQ9PT1RYT8odD1hbygpLFo9NCk6Wj10PT09TmM_ODp0eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmA_NjoxLCR1PXQsWT09PW51bGwmJihpZD0xLEgoZSxLaSh0LGUuY3VycmVudCkpKX1mdW5jdGlvbiBIZCgpe3ZhciBlPU5vLmN1cnJlbnQ7cmV0dXJuIGU9PT1udWxsPyEwOihYJjQxOTQwNDgpPT09WD9Qbz09PW51bGw6KFgmNjI5MTQ1NjApPT09WHx8WCY1MzY4NzA5MTI_ZT09PVBvOiExfWZ1bmN0aW9uIFVkKCl7dmFyIGU9ai5IO3JldHVybiBqLkg9X2MsZT09PW51bGw_X2M6ZX1mdW5jdGlvbiBXZCgpe3ZhciBlPWouQTtyZXR1cm4gai5BPXEsZX1mdW5jdGlvbiBHZCgpe2lkPTQsZWR8fChYJjQxOTQwNDgpIT09WCYmTm8uY3VycmVudCE9PW51bGx8fCh0ZD0hMCksIShhZCYxMzQyMTc3MjcpJiYhKG9kJjEzNDIxNzcyNyl8fFF1PT09bnVsbHx8TGQoUXUsWCxjZCwhMSl9ZnVuY3Rpb24gS2QoZSx0LG4pe3ZhciByPUo7Snw9Mjt2YXIgaT1VZCgpLGE9V2QoKTsoUXUhPT1lfHxYIT09dCkmJihnZD1udWxsLEJkKGUsdCkpLHQ9ITE7dmFyIG89aWQ7YTpkbyB0cnl7aWYoWiE9PTAmJlkhPT1udWxsKXt2YXIgcz1ZLGM9JHU7c3dpdGNoKFope2Nhc2UgODp6ZCgpLG89NjticmVhayBhO2Nhc2UgMzpjYXNlIDI6Y2FzZSA5OmNhc2UgNjpOby5jdXJyZW50PT09bnVsbCYmKHQ9ITApO3ZhciBsPVo7aWYoWj0wLCR1PW51bGwsUWQoZSxzLGMsbCksbiYmdGQpe289MDticmVhayBhfWJyZWFrO2RlZmF1bHQ6bD1aLFo9MCwkdT1udWxsLFFkKGUscyxjLGwpfX1xZCgpLG89aWQ7YnJlYWt9Y2F0Y2godCl7VmQoZSx0KX13aGlsZSgxKTtyZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKyssYmE9eWE9bnVsbCxKPXIsai5IPWksai5BPWEsWT09PW51bGwmJihRdT1udWxsLFg9MCxPaSgpKSxvfWZ1bmN0aW9uIHFkKCl7Zm9yKDtZIT09bnVsbDspWGQoWSl9ZnVuY3Rpb24gSmQoZSx0KXt2YXIgbj1KO0p8PTI7dmFyIHI9VWQoKSxpPVdkKCk7UXUhPT1lfHxYIT09dD8oZ2Q9bnVsbCxoZD1LZSgpKzUwMCxCZChlLHQpKTp0ZD1wdChlLHQpO2E6ZG8gdHJ5e2lmKFohPT0wJiZZIT09bnVsbCl7dD1ZO3ZhciBhPSR1O2I6c3dpdGNoKFope2Nhc2UgMTpaPTAsJHU9bnVsbCxRZChlLHQsYSwxKTticmVhaztjYXNlIDI6Y2FzZSA5OmlmKHRvKGEpKXtaPTAsJHU9bnVsbCxaZCh0KTticmVha310PWZ1bmN0aW9uKCl7WiE9PTImJlohPT05fHxRdSE9PWV8fChaPTcpLFRmKGUpfSxhLnRoZW4odCx0KTticmVhayBhO2Nhc2UgMzpaPTc7YnJlYWsgYTtjYXNlIDQ6Wj01O2JyZWFrIGE7Y2FzZSA3OnRvKGEpPyhaPTAsJHU9bnVsbCxaZCh0KSk6KFo9MCwkdT1udWxsLFFkKGUsdCxhLDcpKTticmVhaztjYXNlIDU6dmFyIG89bnVsbDtzd2l0Y2goWS50YWcpe2Nhc2UgMjY6bz1ZLm1lbW9pemVkU3RhdGU7Y2FzZSA1OmNhc2UgMjc6dmFyIGM9WTtpZihvP1ltKG8pOmMuc3RhdGVOb2RlLmNvbXBsZXRlKXtaPTAsJHU9bnVsbDt2YXIgbD1jLnNpYmxpbmc7aWYobCE9PW51bGwpWT1sO2Vsc2V7dmFyIHU9Yy5yZXR1cm47dT09PW51bGw_WT1udWxsOihZPXUsJGQodSkpfWJyZWFrIGJ9fVo9MCwkdT1udWxsLFFkKGUsdCxhLDUpO2JyZWFrO2Nhc2UgNjpaPTAsJHU9bnVsbCxRZChlLHQsYSw2KTticmVhaztjYXNlIDg6emQoKSxpZD02O2JyZWFrIGE7ZGVmYXVsdDp0aHJvdyBFcnJvcihzKDQ2MikpfX1ZZCgpO2JyZWFrfWNhdGNoKHQpe1ZkKGUsdCl9d2hpbGUoMSk7cmV0dXJuIGJhPXlhPW51bGwsai5IPXIsai5BPWksSj1uLFk9PT1udWxsPyhRdT1udWxsLFg9MCxPaSgpLGlkKTowfWZ1bmN0aW9uIFlkKCl7Zm9yKDtZIT09bnVsbCYmIVdlKCk7KVhkKFkpfWZ1bmN0aW9uIFhkKGUpe3ZhciB0PXBsKGUuYWx0ZXJuYXRlLGUscmQpO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyx0PT09bnVsbD8kZChlKTpZPXR9ZnVuY3Rpb24gWmQoZSl7dmFyIHQ9ZSxuPXQuYWx0ZXJuYXRlO3N3aXRjaCh0LnRhZyl7Y2FzZSAxNTpjYXNlIDA6dD1xYyhuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLHZvaWQgMCxYKTticmVhaztjYXNlIDExOnQ9cWMobix0LHQucGVuZGluZ1Byb3BzLHQudHlwZS5yZW5kZXIsdC5yZWYsWCk7YnJlYWs7Y2FzZSA1OmNzKHQpO3ZhciByPXQ7cj09PW9hJiYoTD8ocGEociksci50YWc9PT01JiZyLnN0YXRlTm9kZSE9bnVsbCYmKHNhPXIuc3RhdGVOb2RlKSk6KHBhKHIpLEw9ITApKTtkZWZhdWx0OnhsKG4sdCksdD1ZPXppKHQscmQpLHQ9cGwobix0LHJkKX1lLm1lbW9pemVkUHJvcHM9ZS5wZW5kaW5nUHJvcHMsdD09PW51bGw_JGQoZSk6WT10fWZ1bmN0aW9uIFFkKGUsdCxuLHIpe2JhPXlhPW51bGwsY3ModCksc289bnVsbCxjbz0wO3ZhciBpPXQucmV0dXJuO3RyeXtpZihNYyhlLGksdCxuLFgpKXtpZD0xLEgoZSxLaShuLGUuY3VycmVudCkpLFk9bnVsbDtyZXR1cm59fWNhdGNoKHQpe2lmKGkhPT1udWxsKXRocm93IFk9aSx0O2lkPTEsSChlLEtpKG4sZS5jdXJyZW50KSksWT1udWxsO3JldHVybn10LmZsYWdzJjMyNzY4PyhMfHxyPT09MT9lPSEwOnRkfHxYJjUzNjg3MDkxMj9lPSExOihlZD1lPSEwLChyPT09Mnx8cj09PTl8fHI9PT0zfHxyPT09NikmJihyPU5vLmN1cnJlbnQsciE9PW51bGwmJnIudGFnPT09MTMmJihyLmZsYWdzfD0xNjM4NCkpKSxlZih0LGUpKTokZCh0KX1mdW5jdGlvbiAkZChlKXt2YXIgdD1lO2Rve2lmKHQuZmxhZ3MmMzI3Njgpe2VmKHQsZWQpO3JldHVybn1lPXQucmV0dXJuO3ZhciBuPXlsKHQuYWx0ZXJuYXRlLHQscmQpO2lmKG4hPT1udWxsKXtZPW47cmV0dXJufWlmKHQ9dC5zaWJsaW5nLHQhPT1udWxsKXtZPXQ7cmV0dXJufVk9dD1lfXdoaWxlKHQhPT1udWxsKTtpZD09PTAmJihpZD01KX1mdW5jdGlvbiBlZihlLHQpe2Rve3ZhciBuPWJsKGUuYWx0ZXJuYXRlLGUpO2lmKG4hPT1udWxsKXtuLmZsYWdzJj0zMjc2NyxZPW47cmV0dXJufWlmKG49ZS5yZXR1cm4sbiE9PW51bGwmJihuLmZsYWdzfD0zMjc2OCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLCF0JiYoZT1lLnNpYmxpbmcsZSE9PW51bGwpKXtZPWU7cmV0dXJufVk9ZT1ufXdoaWxlKGUhPT1udWxsKTtpZD02LFk9bnVsbH1mdW5jdGlvbiBRKGUsdCxuLHIsaSxhLG8sYyxsLHUsZCxmKXtlLmNhbmNlbFBlbmRpbmdDb21taXQ9bnVsbDtkbyBsZigpO3doaWxlKHZkIT09MCk7aWYoSiY2KXRocm93IEVycm9yKHMoMzI3KSk7aWYodCE9PW51bGwpe2lmKHQ9PT1lLmN1cnJlbnQpdGhyb3cgRXJyb3IocygxNzcpKTtlPT09UXUmJihZPVF1PW51bGwsWD0wKSxiZD10LHlkPWUseGQ9bixDZD1pLHdkPXIsdGYoZSx0LG4sbyxjLGwsZil9fWZ1bmN0aW9uIHRmKGUsdCxuLHIsaSxhLG8pe3ZhciBzPXQubGFuZXN8dC5jaGlsZExhbmVzO2lmKFNkPXMsc3w9RGkseXQoZSxuLHMscixpLGEpLEVkPW51bGwsKG4mMzM1NTQ0MDY0KT09PW4_KERkPXphKGUpLHI9MTAyNjIpOihEZD1udWxsLHI9MTAyNTYpLCh0LnN1YnRyZWVGbGFncyZyKSE9PTB8fCh0LmZsYWdzJnIpIT09MD8oZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCx2ZihYZSxmdW5jdGlvbigpe3JldHVybiB1ZigpLG51bGx9KSk6KGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTApLEJsPSExLHI9ISEodC5mbGFncyYxMzg3OCksdC5zdWJ0cmVlRmxhZ3MmMTM4Nzh8fHIpe3I9ai5ULGouVD1udWxsLGk9TS5wLE0ucD0yLGE9SixKfD00O3RyeXtwdShlLHQsbil9ZmluYWxseXtKPWEsTS5wPWksai5UPXJ9fXZkPTEsQmw_VGQ9TXAobyxlLmNvbnRhaW5lckluZm8sRGQsYWYsb2YscmYsc2YsdWYsbmYsbnVsbCxudWxsKTooYWYoKSxvZigpLHNmKCkpfWZ1bmN0aW9uIG5mKGUpe2lmKHZkIT09MCl7dmFyIHQ9eWQub25SZWNvdmVyYWJsZUVycm9yO3QoZSx7Y29tcG9uZW50U3RhY2s6bnVsbH0pfX1mdW5jdGlvbiByZigpe3ZkPT09MyYmKHZkPTAsTnUoYmQseWQpLHZkPTQpfWZ1bmN0aW9uIGFmKCl7aWYodmQ9PT0xKXt2ZD0wO3ZhciBlPXlkLHQ9YmQsbj14ZCxyPSEhKHQuZmxhZ3MmMTM4NzgpO2lmKHQuc3VidHJlZUZsYWdzJjEzODc4fHxyKXtyPWouVCxqLlQ9bnVsbDt2YXIgaT1NLnA7TS5wPTI7dmFyIGE9SjtKfD00O3RyeXt1dT1kdT0hMSxrdSh0LGUsbiksbj1jcDt2YXIgbz1acihlLmNvbnRhaW5lckluZm8pLHM9bi5mb2N1c2VkRWxlbSxjPW4uc2VsZWN0aW9uUmFuZ2U7aWYobyE9PXMmJnMmJnMub3duZXJEb2N1bWVudCYmWHIocy5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxzKSl7aWYoYyE9PW51bGwmJlFyKHMpKXt2YXIgbD1jLnN0YXJ0LHU9Yy5lbmQ7aWYodT09PXZvaWQgMCYmKHU9bCksYHNlbGVjdGlvblN0YXJ0YGluIHMpcy5zZWxlY3Rpb25TdGFydD1sLHMuc2VsZWN0aW9uRW5kPU1hdGgubWluKHUscy52YWx1ZS5sZW5ndGgpO2Vsc2V7dmFyIGQ9cy5vd25lckRvY3VtZW50fHxkb2N1bWVudCxmPWQmJmQuZGVmYXVsdFZpZXd8fHdpbmRvdztpZihmLmdldFNlbGVjdGlvbil7dmFyIHA9Zi5nZXRTZWxlY3Rpb24oKSxtPXMudGV4dENvbnRlbnQubGVuZ3RoLGg9TWF0aC5taW4oYy5zdGFydCxtKSxnPWMuZW5kPT09dm9pZCAwP2g6TWF0aC5taW4oYy5lbmQsbSk7IXAuZXh0ZW5kJiZoPmcmJihvPWcsZz1oLGg9byk7dmFyIF89RihzLGgpLHY9RihzLGcpO2lmKF8mJnYmJihwLnJhbmdlQ291bnQhPT0xfHxwLmFuY2hvck5vZGUhPT1fLm5vZGV8fHAuYW5jaG9yT2Zmc2V0IT09Xy5vZmZzZXR8fHAuZm9jdXNOb2RlIT09di5ub2RlfHxwLmZvY3VzT2Zmc2V0IT09di5vZmZzZXQpKXt2YXIgeT1kLmNyZWF0ZVJhbmdlKCk7eS5zZXRTdGFydChfLm5vZGUsXy5vZmZzZXQpLHAucmVtb3ZlQWxsUmFuZ2VzKCksaD5nPyhwLmFkZFJhbmdlKHkpLHAuZXh0ZW5kKHYubm9kZSx2Lm9mZnNldCkpOih5LnNldEVuZCh2Lm5vZGUsdi5vZmZzZXQpLHAuYWRkUmFuZ2UoeSkpfX19fWZvcihkPVtdLHA9cztwPXAucGFyZW50Tm9kZTspcC5ub2RlVHlwZT09PTEmJmQucHVzaCh7ZWxlbWVudDpwLGxlZnQ6cC5zY3JvbGxMZWZ0LHRvcDpwLnNjcm9sbFRvcH0pO2Zvcih0eXBlb2Ygcy5mb2N1cz09YGZ1bmN0aW9uYCYmcy5mb2N1cygpLHM9MDtzPGQubGVuZ3RoO3MrKyl7dmFyIGI9ZFtzXTtiLmVsZW1lbnQuc2Nyb2xsTGVmdD1iLmxlZnQsYi5lbGVtZW50LnNjcm9sbFRvcD1iLnRvcH19Z2g9ISFzcCxjcD1zcD1udWxsfWZpbmFsbHl7Sj1hLE0ucD1pLGouVD1yfX1lLmN1cnJlbnQ9dCx2ZD0yfX1mdW5jdGlvbiBvZigpe2lmKHZkPT09Mil7dmQ9MDt2YXIgZT15ZCx0PWJkLG49ISEodC5mbGFncyY4NzcyKTtpZih0LnN1YnRyZWVGbGFncyY4NzcyfHxuKXtuPWouVCxqLlQ9bnVsbDt2YXIgcj1NLnA7TS5wPTI7dmFyIGk9SjtKfD00O3RyeXtodShlLHQuYWx0ZXJuYXRlLHQpfWZpbmFsbHl7Sj1pLE0ucD1yLGouVD1ufX12ZD0zfX1mdW5jdGlvbiBzZigpe2lmKHZkPT09NHx8dmQ9PT0zKXt2ZD0wO3ZhciBlPVRkO1RkPW51bGwsR2UoKTt2YXIgdD15ZCxuPWJkLHI9eGQsaT13ZCxhPShyJjMzNTU0NDA2NCk9PT1yPzEwMjYyOjEwMjU2O2lmKChuLnN1YnRyZWVGbGFncyZhKSE9PTB8fChuLmZsYWdzJmEpIT09MD92ZD01Oih2ZD0wLGJkPXlkPW51bGwsY2YodCx0LnBlbmRpbmdMYW5lcykpLGE9dC5wZW5kaW5nTGFuZXMsYT09PTAmJihfZD1udWxsKSx3dChyKSxuPW4uc3RhdGVOb2RlLG50JiZ0eXBlb2YgbnQub25Db21taXRGaWJlclJvb3Q9PWBmdW5jdGlvbmApdHJ5e250Lm9uQ29tbWl0RmliZXJSb290KHR0LG4sdm9pZCAwLChuLmN1cnJlbnQuZmxhZ3MmMTI4KT09MTI4KX1jYXRjaHt9aWYoaSE9PW51bGwpe249ai5ULGE9TS5wLE0ucD0yLGouVD1udWxsO3RyeXtmb3IodmFyIG89dC5vblJlY292ZXJhYmxlRXJyb3Iscz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO28oYy52YWx1ZSx7Y29tcG9uZW50U3RhY2s6Yy5zdGFja30pfX1maW5hbGx5e2ouVD1uLE0ucD1hfX1pZihpPUVkLG89RGQsRGQ9bnVsbCxpIT09bnVsbCYmKEVkPW51bGwsbz09PW51bGwmJihvPVtdKSxlIT09bnVsbCkpZm9yKGM9MDtjPGkubGVuZ3RoO2MrKyluPSgwLGlbY10pKG8pLG4hPT12b2lkIDAmJmUuZmluaXNoZWQuZmluYWxseShuKTt4ZCYzJiZsZigpLFRmKHQpLGE9dC5wZW5kaW5nTGFuZXMsciYyNjE5MzAmJmEmNDI_dD09PWtkP09kKys6KE9kPTAsa2Q9dCk6KE9kPTAsa2Q9bnVsbCksRWYoMCwhMSl9fWZ1bmN0aW9uIGNmKGUsdCl7KGUucG9vbGVkQ2FjaGVMYW5lcyY9dCk9PT0wJiYodD1lLnBvb2xlZENhY2hlLHQhPW51bGwmJihlLnBvb2xlZENhY2hlPW51bGwsSWEodCkpKX1mdW5jdGlvbiBsZigpe3JldHVybiBUZCE9PW51bGwmJihUZC5za2lwVHJhbnNpdGlvbigpLFRkPW51bGwpLGFmKCksb2YoKSxzZigpLHVmKCl9ZnVuY3Rpb24gdWYoKXtpZih2ZCE9PTUpcmV0dXJuITE7dmFyIGU9eWQsdD1TZDtTZD0wO3ZhciBuPXd0KHhkKSxyPWouVCxpPU0ucDt0cnl7TS5wPTMyPm4_MzI6bixqLlQ9bnVsbCxuPUNkLENkPW51bGw7dmFyIGE9eWQsbz14ZDtpZih2ZD0wLGJkPXlkPW51bGwseGQ9MCxKJjYpdGhyb3cgRXJyb3IocygzMzEpKTt2YXIgYz1KO2lmKEp8PTQsSnUoYS5jdXJyZW50KSxCdShhLGEuY3VycmVudCxvLG4pLEo9YyxFZigwLCExKSxudCYmdHlwZW9mIG50Lm9uUG9zdENvbW1pdEZpYmVyUm9vdD09YGZ1bmN0aW9uYCl0cnl7bnQub25Qb3N0Q29tbWl0RmliZXJSb290KHR0LGEpfWNhdGNoe31yZXR1cm4hMH1maW5hbGx5e00ucD1pLGouVD1yLGNmKGUsdCl9fWZ1bmN0aW9uIGRmKGUsdCxuKXt0PUtpKG4sdCksdD1rYyhlLnN0YXRlTm9kZSx0LDIpLGU9Ym8oZSx0LDIpLGUhPT1udWxsJiYodnQoZSwyKSxUZihlKSl9ZnVuY3Rpb24gZmYoZSx0LG4pe2lmKGUudGFnPT09MylkZihlLGUsbik7ZWxzZSBmb3IoO3QhPT1udWxsOyl7aWYodC50YWc9PT0zKXtkZih0LGUsbik7YnJlYWt9aWYodC50YWc9PT0xKXt2YXIgcj10LnN0YXRlTm9kZTtpZih0eXBlb2YgdC50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcj09YGZ1bmN0aW9uYHx8dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2g9PWBmdW5jdGlvbmAmJihfZD09PW51bGx8fCFfZC5oYXMocikpKXtlPUtpKG4sZSksbj1BYygyKSxyPWJvKHQsbiwyKSxyIT09bnVsbCYmKGpjKG4scix0LGUpLHZ0KHIsMiksVGYocikpO2JyZWFrfX10PXQucmV0dXJufX1mdW5jdGlvbiBwZihlLHQsbil7dmFyIHI9ZS5waW5nQ2FjaGU7aWYocj09PW51bGwpe3I9ZS5waW5nQ2FjaGU9bmV3IFp1O3ZhciBpPW5ldyBTZXQ7ci5zZXQodCxpKX1lbHNlIGk9ci5nZXQodCksaT09PXZvaWQgMCYmKGk9bmV3IFNldCxyLnNldCh0LGkpKTtpLmhhcyhuKXx8KG5kPSEwLGkuYWRkKG4pLGU9bWYuYmluZChudWxsLGUsdCxuKSx0LnRoZW4oZSxlKSl9ZnVuY3Rpb24gbWYoZSx0LG4pe3ZhciByPWUucGluZ0NhY2hlO3IhPT1udWxsJiZyLmRlbGV0ZSh0KSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJm4sZS53YXJtTGFuZXMmPX5uLFF1PT09ZSYmKFgmbik9PT1uJiYoaWQ9PT00fHxpZD09PTMmJihYJjYyOTE0NTYwKT09PVgmJjMwMD5LZSgpLXBkP0omMj9zZHw9bjpCZChlLDApOnNkfD1uLGxkPT09WCYmKGxkPTApKSxUZihlKX1mdW5jdGlvbiBoZihlLHQpe3Q9PT0wJiYodD1ndCgpKSxlPWppKGUsdCksZSE9PW51bGwmJih2dChlLHQpLFRmKGUpKX1mdW5jdGlvbiBnZihlKXt2YXIgdD1lLm1lbW9pemVkU3RhdGUsbj0wO3QhPT1udWxsJiYobj10LnJldHJ5TGFuZSksaGYoZSxuKX1mdW5jdGlvbiBfZihlLHQpe3ZhciBuPTA7c3dpdGNoKGUudGFnKXtjYXNlIDMxOmNhc2UgMTM6dmFyIHI9ZS5zdGF0ZU5vZGUsaT1lLm1lbW9pemVkU3RhdGU7aSE9PW51bGwmJihuPWkucmV0cnlMYW5lKTticmVhaztjYXNlIDE5OnI9ZS5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAyMjpyPWUuc3RhdGVOb2RlLl9yZXRyeUNhY2hlO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IocygzMTQpKX1yIT09bnVsbCYmci5kZWxldGUodCksaGYoZSxuKX1mdW5jdGlvbiB2ZihlLHQpe3JldHVybiBIZShlLHQpfXZhciB5Zj1udWxsLGJmPW51bGwseGY9ITEsU2Y9ITEsQ2Y9ITEsd2Y9MDtmdW5jdGlvbiBUZihlKXtlIT09YmYmJmUubmV4dD09PW51bGwmJihiZj09PW51bGw_eWY9YmY9ZTpiZj1iZi5uZXh0PWUpLFNmPSEwLHhmfHwoeGY9ITAsTWYoKSl9ZnVuY3Rpb24gRWYoZSx0KXtpZighQ2YmJlNmKXtDZj0hMDtkbyBmb3IodmFyIG49ITEscj15ZjtyIT09bnVsbDspe2lmKCF0KXtpZihlIT09MCl7dmFyIGk9ci5wZW5kaW5nTGFuZXM7aWYoaT09PTApdmFyIGE9MDtlbHNle3ZhciBvPXIuc3VzcGVuZGVkTGFuZXMscz1yLnBpbmdlZExhbmVzO2E9KDE8PDMxLWl0KDQyfGUpKzEpLTEsYSY9aSZ-KG8mfnMpLGE9YSYyMDEzMjY3NDE_YSYyMDEzMjY3NDF8MTphP2F8MjowfWEhPT0wJiYobj0hMCxqZihyLGEpKX1lbHNlIGE9WCxhPWZ0KHIscj09PVF1P2E6MCxyLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsfHxyLnRpbWVvdXRIYW5kbGUhPT0tMSksIShhJjMpfHxwdChyLGEpfHwobj0hMCxqZihyLGEpKX1yPXIubmV4dH13aGlsZShuKTtDZj0hMX19ZnVuY3Rpb24gRGYoKXtPZigpfWZ1bmN0aW9uIE9mKCl7U2Y9eGY9ITE7dmFyIGU9MDt3ZiE9PTAmJmhwKCkmJihlPXdmKTtmb3IodmFyIHQ9S2UoKSxuPW51bGwscj15ZjtyIT09bnVsbDspe3ZhciBpPXIubmV4dCxhPWtmKHIsdCk7YT09PTA_KHIubmV4dD1udWxsLG49PT1udWxsP3lmPWk6bi5uZXh0PWksaT09PW51bGwmJihiZj1uKSk6KG49ciwoZSE9PTB8fGEmMykmJihTZj0hMCkpLHI9aX12ZCE9PTAmJnZkIT09NXx8RWYoZSwhMSksd2YhPT0wJiYod2Y9MCl9ZnVuY3Rpb24ga2YoZSx0KXtmb3IodmFyIG49ZS5zdXNwZW5kZWRMYW5lcyxyPWUucGluZ2VkTGFuZXMsaT1lLmV4cGlyYXRpb25UaW1lcyxhPWUucGVuZGluZ0xhbmVzJi02MjkxNDU2MTswPGE7KXt2YXIgbz0zMS1pdChhKSxzPTE8PG8sYz1pW29dO2M9PT0tMT8oKHMmbik9PT0wfHwocyZyKSE9PTApJiYoaVtvXT1odChzLHQpKTpjPD10JiYoZS5leHBpcmVkTGFuZXN8PXMpLGEmPX5zfWlmKHQ9UXUsbj1YLG49ZnQoZSxlPT09dD9uOjAsZS5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbHx8ZS50aW1lb3V0SGFuZGxlIT09LTEpLHI9ZS5jYWxsYmFja05vZGUsbj09PTB8fGU9PT10JiYoWj09PTJ8fFo9PT05KXx8ZS5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbClyZXR1cm4gciE9PW51bGwmJnIhPT1udWxsJiZVZShyKSxlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wO2lmKCEobiYzKXx8cHQoZSxuKSl7aWYodD1uJi1uLHQ9PT1lLmNhbGxiYWNrUHJpb3JpdHkpcmV0dXJuIHQ7c3dpdGNoKHIhPT1udWxsJiZVZShyKSx3dChuKSl7Y2FzZSAyOmNhc2UgODpuPVllO2JyZWFrO2Nhc2UgMzI6bj1YZTticmVhaztjYXNlIDI2ODQzNTQ1NjpuPVFlO2JyZWFrO2RlZmF1bHQ6bj1YZX1yZXR1cm4gcj1BZi5iaW5kKG51bGwsZSksbj1IZShuLHIpLGUuY2FsbGJhY2tQcmlvcml0eT10LGUuY2FsbGJhY2tOb2RlPW4sdH1yZXR1cm4gciE9PW51bGwmJnIhPT1udWxsJiZVZShyKSxlLmNhbGxiYWNrUHJpb3JpdHk9MixlLmNhbGxiYWNrTm9kZT1udWxsLDJ9ZnVuY3Rpb24gQWYoZSx0KXtpZih2ZCE9PTAmJnZkIT09NSlyZXR1cm4gZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCxudWxsO3ZhciBuPWUuY2FsbGJhY2tOb2RlO2lmKGxmKCkmJmUuY2FsbGJhY2tOb2RlIT09bilyZXR1cm4gbnVsbDt2YXIgcj1YO3JldHVybiByPWZ0KGUsZT09PVF1P3I6MCxlLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsfHxlLnRpbWVvdXRIYW5kbGUhPT0tMSkscj09PTA_bnVsbDooUGQoZSxyLHQpLGtmKGUsS2UoKSksZS5jYWxsYmFja05vZGUhPW51bGwmJmUuY2FsbGJhY2tOb2RlPT09bj9BZi5iaW5kKG51bGwsZSk6bnVsbCl9ZnVuY3Rpb24gamYoZSx0KXtpZihsZigpKXJldHVybiBudWxsO1BkKGUsdCwhMCl9ZnVuY3Rpb24gTWYoKXticChmdW5jdGlvbigpe0omNj9IZShKZSxEZik6T2YoKX0pfWZ1bmN0aW9uIE5mKCl7aWYod2Y9PT0wKXt2YXIgZT1IYTtlPT09MCYmKGU9Y3QsY3Q8PD0xLCEoY3QmMjYxODg4KSYmKGN0PTI1NikpLHdmPWV9cmV0dXJuIHdmfWZ1bmN0aW9uIFBmKGUpe3JldHVybiBlPT1udWxsfHx0eXBlb2YgZT09YHN5bWJvbGB8fHR5cGVvZiBlPT1gYm9vbGVhbmA_bnVsbDp0eXBlb2YgZT09YGZ1bmN0aW9uYD9lOlNuKGUpfWZ1bmN0aW9uIEZmKGUsdCxuLHIsaSl7aWYodD09PWBzdWJtaXRgJiZuJiZuLnN0YXRlTm9kZT09PWkpe3ZhciBhPVBmKChpW090XXx8bnVsbCkuYWN0aW9uKSxvPXIuc3VibWl0dGVyO28mJih0PSh0PW9bT3RdfHxudWxsKT9QZih0LmZvcm1BY3Rpb24pOm8uZ2V0QXR0cmlidXRlKGBmb3JtQWN0aW9uYCksdCE9PW51bGwmJihhPXQsbz1udWxsKSk7dmFyIHM9bmV3IFduKGBhY3Rpb25gLGBhY3Rpb25gLG51bGwscixpKTtlLnB1c2goe2V2ZW50OnMsbGlzdGVuZXJzOlt7aW5zdGFuY2U6bnVsbCxsaXN0ZW5lcjpmdW5jdGlvbigpe2lmKHIuZGVmYXVsdFByZXZlbnRlZCl7aWYod2YhPT0wKXt2YXIgZT1uZXcgRm9ybURhdGEoaSxvKTtyYyhuLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6aS5tZXRob2QsYWN0aW9uOmF9LG51bGwsZSl9fWVsc2UgdHlwZW9mIGE9PWBmdW5jdGlvbmAmJihzLnByZXZlbnREZWZhdWx0KCksZT1uZXcgRm9ybURhdGEoaSxvKSxyYyhuLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6aS5tZXRob2QsYWN0aW9uOmF9LGEsZSkpfSxjdXJyZW50VGFyZ2V0Oml9XX0pfX1mb3IodmFyIElmPTA7SWY8dmkubGVuZ3RoO0lmKyspe3ZhciBMZj12aVtJZl07eWkoTGYudG9Mb3dlckNhc2UoKSxgb25gKyhMZlswXS50b1VwcGVyQ2FzZSgpK0xmLnNsaWNlKDEpKSl9eWkodWksYG9uQW5pbWF0aW9uRW5kYCkseWkoZGksYG9uQW5pbWF0aW9uSXRlcmF0aW9uYCkseWkoZmksYG9uQW5pbWF0aW9uU3RhcnRgKSx5aShgZGJsY2xpY2tgLGBvbkRvdWJsZUNsaWNrYCkseWkoYGZvY3VzaW5gLGBvbkZvY3VzYCkseWkoYGZvY3Vzb3V0YCxgb25CbHVyYCkseWkocGksYG9uVHJhbnNpdGlvblJ1bmApLHlpKG1pLGBvblRyYW5zaXRpb25TdGFydGApLHlpKGhpLGBvblRyYW5zaXRpb25DYW5jZWxgKSx5aShnaSxgb25UcmFuc2l0aW9uRW5kYCksS3QoYG9uTW91c2VFbnRlcmAsW2Btb3VzZW91dGAsYG1vdXNlb3ZlcmBdKSxLdChgb25Nb3VzZUxlYXZlYCxbYG1vdXNlb3V0YCxgbW91c2VvdmVyYF0pLEt0KGBvblBvaW50ZXJFbnRlcmAsW2Bwb2ludGVyb3V0YCxgcG9pbnRlcm92ZXJgXSksS3QoYG9uUG9pbnRlckxlYXZlYCxbYHBvaW50ZXJvdXRgLGBwb2ludGVyb3ZlcmBdKSxHdChgb25DaGFuZ2VgLGBjaGFuZ2UgY2xpY2sgZm9jdXNpbiBmb2N1c291dCBpbnB1dCBrZXlkb3duIGtleXVwIHNlbGVjdGlvbmNoYW5nZWAuc3BsaXQoYCBgKSksR3QoYG9uU2VsZWN0YCxgZm9jdXNvdXQgY29udGV4dG1lbnUgZHJhZ2VuZCBmb2N1c2luIGtleWRvd24ga2V5dXAgbW91c2Vkb3duIG1vdXNldXAgc2VsZWN0aW9uY2hhbmdlYC5zcGxpdChgIGApKSxHdChgb25CZWZvcmVJbnB1dGAsW2Bjb21wb3NpdGlvbmVuZGAsYGtleXByZXNzYCxgdGV4dElucHV0YCxgcGFzdGVgXSksR3QoYG9uQ29tcG9zaXRpb25FbmRgLGBjb21wb3NpdGlvbmVuZCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93bmAuc3BsaXQoYCBgKSksR3QoYG9uQ29tcG9zaXRpb25TdGFydGAsYGNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd25gLnNwbGl0KGAgYCkpLEd0KGBvbkNvbXBvc2l0aW9uVXBkYXRlYCxgY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd25gLnNwbGl0KGAgYCkpO3ZhciBSZj1gYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmdgLnNwbGl0KGAgYCksemY9bmV3IFNldChgYmVmb3JldG9nZ2xlIGNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHNjcm9sbGVuZCB0b2dnbGVgLnNwbGl0KGAgYCkuY29uY2F0KFJmKSk7ZnVuY3Rpb24gQmYoZSx0KXt0PSEhKHQmNCk7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl0saT1yLmV2ZW50O3I9ci5saXN0ZW5lcnM7YTp7dmFyIGE9dm9pZCAwO2lmKHQpZm9yKHZhciBvPXIubGVuZ3RoLTE7MDw9bztvLS0pe3ZhciBzPXJbb10sYz1zLmluc3RhbmNlLGw9cy5jdXJyZW50VGFyZ2V0O2lmKHM9cy5saXN0ZW5lcixjIT09YSYmaS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGE7YT1zLGkuY3VycmVudFRhcmdldD1sO3RyeXthKGkpfWNhdGNoKGUpe3dpKGUpfWkuY3VycmVudFRhcmdldD1udWxsLGE9Y31lbHNlIGZvcihvPTA7bzxyLmxlbmd0aDtvKyspe2lmKHM9cltvXSxjPXMuaW5zdGFuY2UsbD1zLmN1cnJlbnRUYXJnZXQscz1zLmxpc3RlbmVyLGMhPT1hJiZpLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgYTthPXMsaS5jdXJyZW50VGFyZ2V0PWw7dHJ5e2EoaSl9Y2F0Y2goZSl7d2koZSl9aS5jdXJyZW50VGFyZ2V0PW51bGwsYT1jfX19fWZ1bmN0aW9uICQoZSx0KXt2YXIgbj10W0F0XTtuPT09dm9pZCAwJiYobj10W0F0XT1uZXcgU2V0KTt2YXIgcj1lK2BfX2J1YmJsZWA7bi5oYXMocil8fChXZih0LGUsMiwhMSksbi5hZGQocikpfWZ1bmN0aW9uIFZmKGUsdCxuKXt2YXIgcj0wO3QmJihyfD00KSxXZihuLGUscix0KX12YXIgSGY9YF9yZWFjdExpc3RlbmluZ2ArTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMik7ZnVuY3Rpb24gVWYoZSl7aWYoIWVbSGZdKXtlW0hmXT0hMCxVdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QhPT1gc2VsZWN0aW9uY2hhbmdlYCYmKHpmLmhhcyh0KXx8VmYodCwhMSxlKSxWZih0LCEwLGUpKX0pO3ZhciB0PWUubm9kZVR5cGU9PT05P2U6ZS5vd25lckRvY3VtZW50O3Q9PT1udWxsfHx0W0hmXXx8KHRbSGZdPSEwLFZmKGBzZWxlY3Rpb25jaGFuZ2VgLCExLHQpKX19ZnVuY3Rpb24gV2YoZSx0LG4scil7c3dpdGNoKENoKHQpKXtjYXNlIDI6dmFyIGk9X2g7YnJlYWs7Y2FzZSA4Omk9dmg7YnJlYWs7ZGVmYXVsdDppPXlofW49aS5iaW5kKG51bGwsdCxuLGUpLGk9dm9pZCAwLCFObnx8dCE9PWB0b3VjaHN0YXJ0YCYmdCE9PWB0b3VjaG1vdmVgJiZ0IT09YHdoZWVsYHx8KGk9ITApLHI_aT09PXZvaWQgMD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLCEwKTplLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtjYXB0dXJlOiEwLHBhc3NpdmU6aX0pOmk9PT12b2lkIDA_ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbix7cGFzc2l2ZTppfSl9ZnVuY3Rpb24gR2YoZSx0LG4scixpKXt2YXIgYT1yO2lmKCEodCYxKSYmISh0JjIpJiZyIT09bnVsbClhOmZvcig7Oyl7aWYocj09PW51bGwpcmV0dXJuO3ZhciBvPXIudGFnO2lmKG89PT0zfHxvPT09NCl7dmFyIHM9ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihzPT09aSlicmVhaztpZihvPT09NClmb3Iobz1yLnJldHVybjtvIT09bnVsbDspe3ZhciBjPW8udGFnO2lmKChjPT09M3x8Yz09PTQpJiZvLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09aSlyZXR1cm47bz1vLnJldHVybn1mb3IoO3MhPT1udWxsOyl7aWYobz1MdChzKSxvPT09bnVsbClyZXR1cm47aWYoYz1vLnRhZyxjPT09NXx8Yz09PTZ8fGM9PT0yNnx8Yz09PTI3KXtyPWE9bztjb250aW51ZSBhfXM9cy5wYXJlbnROb2RlfX1yPXIucmV0dXJufUFuKGZ1bmN0aW9uKCl7dmFyIHI9YSxpPVRuKG4pLG89W107YTp7dmFyIHM9X2kuZ2V0KGUpO2lmKHMhPT12b2lkIDApe3ZhciBjPVduLHU9ZTtzd2l0Y2goZSl7Y2FzZWBrZXlwcmVzc2A6aWYoem4obik9PT0wKWJyZWFrIGE7Y2FzZWBrZXlkb3duYDpjYXNlYGtleXVwYDpjPWNyO2JyZWFrO2Nhc2VgZm9jdXNpbmA6dT1gZm9jdXNgLGM9JG47YnJlYWs7Y2FzZWBmb2N1c291dGA6dT1gYmx1cmAsYz0kbjticmVhaztjYXNlYGJlZm9yZWJsdXJgOmNhc2VgYWZ0ZXJibHVyYDpjPSRuO2JyZWFrO2Nhc2VgY2xpY2tgOmlmKG4uYnV0dG9uPT09MilicmVhayBhO2Nhc2VgYXV4Y2xpY2tgOmNhc2VgZGJsY2xpY2tgOmNhc2VgbW91c2Vkb3duYDpjYXNlYG1vdXNlbW92ZWA6Y2FzZWBtb3VzZXVwYDpjYXNlYG1vdXNlb3V0YDpjYXNlYG1vdXNlb3ZlcmA6Y2FzZWBjb250ZXh0bWVudWA6Yz1abjticmVhaztjYXNlYGRyYWdgOmNhc2VgZHJhZ2VuZGA6Y2FzZWBkcmFnZW50ZXJgOmNhc2VgZHJhZ2V4aXRgOmNhc2VgZHJhZ2xlYXZlYDpjYXNlYGRyYWdvdmVyYDpjYXNlYGRyYWdzdGFydGA6Y2FzZWBkcm9wYDpjPVFuO2JyZWFrO2Nhc2VgdG91Y2hjYW5jZWxgOmNhc2VgdG91Y2hlbmRgOmNhc2VgdG91Y2htb3ZlYDpjYXNlYHRvdWNoc3RhcnRgOmM9ZHI7YnJlYWs7Y2FzZSB1aTpjYXNlIGRpOmNhc2UgZmk6Yz1lcjticmVhaztjYXNlIGdpOmM9ZnI7YnJlYWs7Y2FzZWBzY3JvbGxgOmNhc2Vgc2Nyb2xsZW5kYDpjPUtuO2JyZWFrO2Nhc2Vgd2hlZWxgOmM9cHI7YnJlYWs7Y2FzZWBjb3B5YDpjYXNlYGN1dGA6Y2FzZWBwYXN0ZWA6Yz10cjticmVhaztjYXNlYGdvdHBvaW50ZXJjYXB0dXJlYDpjYXNlYGxvc3Rwb2ludGVyY2FwdHVyZWA6Y2FzZWBwb2ludGVyY2FuY2VsYDpjYXNlYHBvaW50ZXJkb3duYDpjYXNlYHBvaW50ZXJtb3ZlYDpjYXNlYHBvaW50ZXJvdXRgOmNhc2VgcG9pbnRlcm92ZXJgOmNhc2VgcG9pbnRlcnVwYDpjPWxyO2JyZWFrO2Nhc2Vgc3VibWl0YDpjPXVyO2JyZWFrO2Nhc2VgdG9nZ2xlYDpjYXNlYGJlZm9yZXRvZ2dsZWA6Yz1tcn12YXIgZD0hISh0JjQpLGY9IWQmJihlPT09YHNjcm9sbGB8fGU9PT1gc2Nyb2xsZW5kYCkscD1kP3M9PT1udWxsP251bGw6cytgQ2FwdHVyZWA6cztkPVtdO2Zvcih2YXIgbT1yLGg7bSE9PW51bGw7KXt2YXIgZz1tO2lmKGg9Zy5zdGF0ZU5vZGUsZz1nLnRhZyxnIT09NSYmZyE9PTI2JiZnIT09Mjd8fGg9PT1udWxsfHxwPT09bnVsbHx8KGc9am4obSxwKSxnIT1udWxsJiZkLnB1c2goS2YobSxnLGgpKSksZilicmVhazttPW0ucmV0dXJufTA8ZC5sZW5ndGgmJihzPW5ldyBjKHMsdSxudWxsLG4saSksby5wdXNoKHtldmVudDpzLGxpc3RlbmVyczpkfSkpfX1pZighKHQmNykpe2E6e2lmKGM9ZT09PWBtb3VzZW92ZXJgfHxlPT09YHBvaW50ZXJvdmVyYCxzPWU9PT1gbW91c2VvdXRgfHxlPT09YHBvaW50ZXJvdXRgLGMmJm4hPT13biYmKHU9bi5yZWxhdGVkVGFyZ2V0fHxuLmZyb21FbGVtZW50KSYmKEx0KHUpfHx1W2t0XSkpYnJlYWsgYTsoc3x8YykmJih1PWkud2luZG93PT09aT9pOihjPWkub3duZXJEb2N1bWVudCk_Yy5kZWZhdWx0Vmlld3x8Yy5wYXJlbnRXaW5kb3c6d2luZG93LHM_KGM9bi5yZWxhdGVkVGFyZ2V0fHxuLnRvRWxlbWVudCxzPXIsYz1jP0x0KGMpOm51bGwsYyE9PW51bGwmJihmPWwoYyksZD1jLnRhZyxjIT09Znx8ZCE9PTUmJmQhPT0yNyYmZCE9PTYpJiYoYz1udWxsKSk6KHM9bnVsbCxjPXIpLHMhPT1jJiYoZD1abixnPWBvbk1vdXNlTGVhdmVgLHA9YG9uTW91c2VFbnRlcmAsbT1gbW91c2VgLChlPT09YHBvaW50ZXJvdXRgfHxlPT09YHBvaW50ZXJvdmVyYCkmJihkPWxyLGc9YG9uUG9pbnRlckxlYXZlYCxwPWBvblBvaW50ZXJFbnRlcmAsbT1gcG9pbnRlcmApLGY9cz09bnVsbD91Onp0KHMpLGg9Yz09bnVsbD91Onp0KGMpLHU9bmV3IGQoZyxtK2BsZWF2ZWAscyxuLGkpLHUudGFyZ2V0PWYsdS5yZWxhdGVkVGFyZ2V0PWgsZz1udWxsLEx0KGkpPT09ciYmKGQ9bmV3IGQocCxtK2BlbnRlcmAsYyxuLGkpLGQudGFyZ2V0PWgsZC5yZWxhdGVkVGFyZ2V0PWYsZz1kKSxmPWcsZD1zJiZjP0UocyxjLEpmKTpudWxsLHMhPT1udWxsJiZZZihvLHUscyxkLCExKSxjIT09bnVsbCYmZiE9PW51bGwmJllmKG8sZixjLGQsITApKSl9YTp7aWYocz1yP3p0KHIpOndpbmRvdyxjPXMubm9kZU5hbWUmJnMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxjPT09YHNlbGVjdGB8fGM9PT1gaW5wdXRgJiZzLnR5cGU9PT1gZmlsZWApdmFyIF89UHI7ZWxzZSBpZihPcihzKSl7aWYoRnIpXz1XcjtlbHNle189SHI7dmFyIHY9VnJ9fWVsc2UgYz1zLm5vZGVOYW1lLCFjfHxjLnRvTG93ZXJDYXNlKCkhPT1gaW5wdXRgfHxzLnR5cGUhPT1gY2hlY2tib3hgJiZzLnR5cGUhPT1gcmFkaW9gP3ImJnluKHIuZWxlbWVudFR5cGUpJiYoXz1Qcik6Xz1VcjtpZihfJiY9XyhlLHIpKXtrcihvLF8sbixpKTticmVhayBhfXYmJnYoZSxzLHIpfXN3aXRjaCh2PXI_enQocik6d2luZG93LGUpe2Nhc2VgZm9jdXNpbmA6KE9yKHYpfHx2LmNvbnRlbnRFZGl0YWJsZT09PWB0cnVlYCkmJihlaT12LHRpPXIsbmk9bnVsbCk7YnJlYWs7Y2FzZWBmb2N1c291dGA6bmk9dGk9ZWk9bnVsbDticmVhaztjYXNlYG1vdXNlZG93bmA6cmk9ITA7YnJlYWs7Y2FzZWBjb250ZXh0bWVudWA6Y2FzZWBtb3VzZXVwYDpjYXNlYGRyYWdlbmRgOnJpPSExLGlpKG8sbixpKTticmVhaztjYXNlYHNlbGVjdGlvbmNoYW5nZWA6aWYoJHIpYnJlYWs7Y2FzZWBrZXlkb3duYDpjYXNlYGtleXVwYDppaShvLG4saSl9dmFyIHk7aWYoZ3IpYjp7c3dpdGNoKGUpe2Nhc2VgY29tcG9zaXRpb25zdGFydGA6dmFyIGI9YG9uQ29tcG9zaXRpb25TdGFydGA7YnJlYWsgYjtjYXNlYGNvbXBvc2l0aW9uZW5kYDpiPWBvbkNvbXBvc2l0aW9uRW5kYDticmVhayBiO2Nhc2VgY29tcG9zaXRpb251cGRhdGVgOmI9YG9uQ29tcG9zaXRpb25VcGRhdGVgO2JyZWFrIGJ9Yj12b2lkIDB9ZWxzZSB3cj9TcihlLG4pJiYoYj1gb25Db21wb3NpdGlvbkVuZGApOmU9PT1ga2V5ZG93bmAmJm4ua2V5Q29kZT09PTIyOSYmKGI9YG9uQ29tcG9zaXRpb25TdGFydGApO2ImJih5ciYmbi5sb2NhbGUhPT1ga29gJiYod3J8fGIhPT1gb25Db21wb3NpdGlvblN0YXJ0YD9iPT09YG9uQ29tcG9zaXRpb25FbmRgJiZ3ciYmKHk9Um4oKSk6KEZuPWksSW49YHZhbHVlYGluIEZuP0ZuLnZhbHVlOkZuLnRleHRDb250ZW50LHdyPSEwKSksdj1xZihyLGIpLDA8di5sZW5ndGgmJihiPW5ldyBucihiLGUsbnVsbCxuLGkpLG8ucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk_Yi5kYXRhPXk6KHk9Q3IobikseSE9PW51bGwmJihiLmRhdGE9eSkpKSksKHk9dnI_VHIoZSxuKTpFcihlLG4pKSYmKGI9cWYocixgb25CZWZvcmVJbnB1dGApLDA8Yi5sZW5ndGgmJih2PW5ldyBucihgb25CZWZvcmVJbnB1dGAsYGJlZm9yZWlucHV0YCxudWxsLG4saSksby5wdXNoKHtldmVudDp2LGxpc3RlbmVyczpifSksdi5kYXRhPXkpKSxGZihvLGUscixuLGkpfUJmKG8sdCl9KX1mdW5jdGlvbiBLZihlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIHFmKGUsdCl7Zm9yKHZhciBuPXQrYENhcHR1cmVgLHI9W107ZSE9PW51bGw7KXt2YXIgaT1lLGE9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxpIT09NSYmaSE9PTI2JiZpIT09Mjd8fGE9PT1udWxsfHwoaT1qbihlLG4pLGkhPW51bGwmJnIudW5zaGlmdChLZihlLGksYSkpLGk9am4oZSx0KSxpIT1udWxsJiZyLnB1c2goS2YoZSxpLGEpKSksZS50YWc9PT0zKXJldHVybiByO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24gSmYoZSl7aWYoZT09PW51bGwpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiZlLnRhZyE9PTUmJmUudGFnIT09MjcpO3JldHVybiBlfHxudWxsfWZ1bmN0aW9uIFlmKGUsdCxuLHIsaSl7Zm9yKHZhciBhPXQuX3JlYWN0TmFtZSxvPVtdO24hPT1udWxsJiZuIT09cjspe3ZhciBzPW4sYz1zLmFsdGVybmF0ZSxsPXMuc3RhdGVOb2RlO2lmKHM9cy50YWcsYyE9PW51bGwmJmM9PT1yKWJyZWFrO3MhPT01JiZzIT09MjYmJnMhPT0yN3x8bD09PW51bGx8fChjPWwsaT8obD1qbihuLGEpLGwhPW51bGwmJm8udW5zaGlmdChLZihuLGwsYykpKTppfHwobD1qbihuLGEpLGwhPW51bGwmJm8ucHVzaChLZihuLGwsYykpKSksbj1uLnJldHVybn1vLmxlbmd0aCE9PTAmJmUucHVzaCh7ZXZlbnQ6dCxsaXN0ZW5lcnM6b30pfXZhciBYZj0vXHJcbj8vZyxaZj0vXHUwMDAwfFx1RkZGRC9nO2Z1bmN0aW9uIFFmKGUpe3JldHVybih0eXBlb2YgZT09YHN0cmluZ2A_ZTpgYCtlKS5yZXBsYWNlKFhmLGAKYCkucmVwbGFjZShaZixgYCl9ZnVuY3Rpb24gJGYoZSx0KXtyZXR1cm4gdD1RZih0KSxRZihlKT09PXR9ZnVuY3Rpb24gZXAoZSx0LG4scixpLGEpe3N3aXRjaChuKXtjYXNlYGNoaWxkcmVuYDppZih0eXBlb2Ygcj09YHN0cmluZ2ApdD09PWBib2R5YHx8dD09PWB0ZXh0YXJlYWAmJnI9PT1gYHx8aG4oZSxyKTtlbHNlIGlmKHR5cGVvZiByPT1gbnVtYmVyYHx8dHlwZW9mIHI9PWBiaWdpbnRgKXQhPT1gYm9keWAmJmhuKGUsYGArcik7ZWxzZSByZXR1cm47YnJlYWs7Y2FzZWBjbGFzc05hbWVgOiR0KGUsYGNsYXNzYCxyKTticmVhaztjYXNlYHRhYkluZGV4YDokdChlLGB0YWJpbmRleGAscik7YnJlYWs7Y2FzZWBkaXJgOmNhc2Vgcm9sZWA6Y2FzZWB2aWV3Qm94YDpjYXNlYHdpZHRoYDpjYXNlYGhlaWdodGA6JHQoZSxuLHIpO2JyZWFrO2Nhc2Vgc3R5bGVgOnZuKGUscixhKTtyZXR1cm47Y2FzZWBkYXRhYDppZih0IT09YG9iamVjdGApeyR0KGUsYGRhdGFgLHIpO2JyZWFrfWNhc2Vgc3JjYDpjYXNlYGhyZWZgOmlmKHI9PT1gYCYmKHQhPT1gYWB8fG4hPT1gaHJlZmApfHxyPT1udWxsfHx0eXBlb2Ygcj09YGZ1bmN0aW9uYHx8dHlwZW9mIHI9PWBzeW1ib2xgfHx0eXBlb2Ygcj09YGJvb2xlYW5gKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31yPVNuKHIpLGUuc2V0QXR0cmlidXRlKG4scik7YnJlYWs7Y2FzZWBhY3Rpb25gOmNhc2VgZm9ybUFjdGlvbmA6aWYodHlwZW9mIHI9PWBmdW5jdGlvbmApe2Uuc2V0QXR0cmlidXRlKG4sYGphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdBIFJlYWN0IGZvcm0gd2FzIHVuZXhwZWN0ZWRseSBzdWJtaXR0ZWQuIElmIHlvdSBjYWxsZWQgZm9ybS5zdWJtaXQoKSBtYW51YWxseSwgY29uc2lkZXIgdXNpbmcgZm9ybS5yZXF1ZXN0U3VibWl0KCkgaW5zdGVhZC4gSWYgeW91XFwncmUgdHJ5aW5nIHRvIHVzZSBldmVudC5zdG9wUHJvcGFnYXRpb24oKSBpbiBhIHN1Ym1pdCBldmVudCBoYW5kbGVyLCBjb25zaWRlciBhbHNvIGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKS4nKWApO2JyZWFrfWlmKHR5cGVvZiBhPT1gZnVuY3Rpb25gJiYobj09PWBmb3JtQWN0aW9uYD8odCE9PWBpbnB1dGAmJmVwKGUsdCxgbmFtZWAsaS5uYW1lLGksbnVsbCksZXAoZSx0LGBmb3JtRW5jVHlwZWAsaS5mb3JtRW5jVHlwZSxpLG51bGwpLGVwKGUsdCxgZm9ybU1ldGhvZGAsaS5mb3JtTWV0aG9kLGksbnVsbCksZXAoZSx0LGBmb3JtVGFyZ2V0YCxpLmZvcm1UYXJnZXQsaSxudWxsKSk6KGVwKGUsdCxgZW5jVHlwZWAsaS5lbmNUeXBlLGksbnVsbCksZXAoZSx0LGBtZXRob2RgLGkubWV0aG9kLGksbnVsbCksZXAoZSx0LGB0YXJnZXRgLGkudGFyZ2V0LGksbnVsbCkpKSxyPT1udWxsfHx0eXBlb2Ygcj09YHN5bWJvbGB8fHR5cGVvZiByPT1gYm9vbGVhbmApe2UucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrfXI9U24ociksZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlYG9uQ2xpY2tgOnIhPW51bGwmJihlLm9uY2xpY2s9Q24pO3JldHVybjtjYXNlYG9uU2Nyb2xsYDpyIT1udWxsJiYkKGBzY3JvbGxgLGUpO3JldHVybjtjYXNlYG9uU2Nyb2xsRW5kYDpyIT1udWxsJiYkKGBzY3JvbGxlbmRgLGUpO3JldHVybjtjYXNlYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYDppZihyIT1udWxsKXtpZih0eXBlb2YgciE9YG9iamVjdGB8fCEoYF9faHRtbGBpbiByKSl0aHJvdyBFcnJvcihzKDYxKSk7aWYobj1yLl9faHRtbCxuIT1udWxsKXtpZihpLmNoaWxkcmVuIT1udWxsKXRocm93IEVycm9yKHMoNjApKTthPy5fX2h0bWwhPT1uJiYoZS5pbm5lckhUTUw9bil9fWJyZWFrO2Nhc2VgbXVsdGlwbGVgOmUubXVsdGlwbGU9ciYmdHlwZW9mIHIhPWBmdW5jdGlvbmAmJnR5cGVvZiByIT1gc3ltYm9sYDticmVhaztjYXNlYG11dGVkYDplLm11dGVkPXImJnR5cGVvZiByIT1gZnVuY3Rpb25gJiZ0eXBlb2YgciE9YHN5bWJvbGA7YnJlYWs7Y2FzZWBzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmdgOmNhc2Vgc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nYDpjYXNlYGRlZmF1bHRWYWx1ZWA6Y2FzZWBkZWZhdWx0Q2hlY2tlZGA6Y2FzZWBpbm5lckhUTUxgOmNhc2VgcmVmYDpicmVhaztjYXNlYGF1dG9Gb2N1c2A6YnJlYWs7Y2FzZWB4bGlua0hyZWZgOmlmKHI9PW51bGx8fHR5cGVvZiByPT1gZnVuY3Rpb25gfHx0eXBlb2Ygcj09YGJvb2xlYW5gfHx0eXBlb2Ygcj09YHN5bWJvbGApe2UucmVtb3ZlQXR0cmlidXRlKGB4bGluazpocmVmYCk7YnJlYWt9bj1TbihyKSxlLnNldEF0dHJpYnV0ZU5TKGBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rYCxgeGxpbms6aHJlZmAsbik7YnJlYWs7Y2FzZWBjb250ZW50RWRpdGFibGVgOmNhc2Vgc3BlbGxDaGVja2A6Y2FzZWBkcmFnZ2FibGVgOmNhc2VgdmFsdWVgOmNhc2VgYXV0b1JldmVyc2VgOmNhc2VgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZGA6Y2FzZWBmb2N1c2FibGVgOmNhc2VgcHJlc2VydmVBbHBoYWA6ciE9bnVsbCYmdHlwZW9mIHIhPWBmdW5jdGlvbmAmJnR5cGVvZiByIT1gc3ltYm9sYD9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2VgaW5lcnRgOmNhc2VgYWxsb3dGdWxsU2NyZWVuYDpjYXNlYGFzeW5jYDpjYXNlYGF1dG9QbGF5YDpjYXNlYGNvbnRyb2xzYDpjYXNlYGNyZWRlbnRpYWxsZXNzYDpjYXNlYGRlZmF1bHRgOmNhc2VgZGVmZXJgOmNhc2VgZGlzYWJsZWRgOmNhc2VgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmVgOmNhc2VgZGlzYWJsZVJlbW90ZVBsYXliYWNrYDpjYXNlYGZvcm1Ob1ZhbGlkYXRlYDpjYXNlYGhpZGRlbmA6Y2FzZWBsb29wYDpjYXNlYG5vTW9kdWxlYDpjYXNlYG5vVmFsaWRhdGVgOmNhc2Vgb3BlbmA6Y2FzZWBwbGF5c0lubGluZWA6Y2FzZWByZWFkT25seWA6Y2FzZWByZXF1aXJlZGA6Y2FzZWByZXZlcnNlZGA6Y2FzZWBzY29wZWRgOmNhc2Vgc2VhbWxlc3NgOmNhc2VgaXRlbVNjb3BlYDpyJiZ0eXBlb2YgciE9YGZ1bmN0aW9uYCYmdHlwZW9mIHIhPWBzeW1ib2xgP2Uuc2V0QXR0cmlidXRlKG4sYGApOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2VgY2FwdHVyZWA6Y2FzZWBkb3dubG9hZGA6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sYGApOiExIT09ciYmciE9bnVsbCYmdHlwZW9mIHIhPWBmdW5jdGlvbmAmJnR5cGVvZiByIT1gc3ltYm9sYD9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2VgY29sc2A6Y2FzZWByb3dzYDpjYXNlYHNpemVgOmNhc2Vgc3BhbmA6ciE9bnVsbCYmdHlwZW9mIHIhPWBmdW5jdGlvbmAmJnR5cGVvZiByIT1gc3ltYm9sYCYmIWlzTmFOKHIpJiYxPD1yP2Uuc2V0QXR0cmlidXRlKG4scik6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZWByb3dTcGFuYDpjYXNlYHN0YXJ0YDpyPT1udWxsfHx0eXBlb2Ygcj09YGZ1bmN0aW9uYHx8dHlwZW9mIHI9PWBzeW1ib2xgfHxpc05hTihyKT9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLHIpO2JyZWFrO2Nhc2VgcG9wb3ZlcmA6JChgYmVmb3JldG9nZ2xlYCxlKSwkKGB0b2dnbGVgLGUpLFF0KGUsYHBvcG92ZXJgLHIpO2JyZWFrO2Nhc2VgeGxpbmtBY3R1YXRlYDplbihlLGBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rYCxgeGxpbms6YWN0dWF0ZWAscik7YnJlYWs7Y2FzZWB4bGlua0FyY3JvbGVgOmVuKGUsYGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtgLGB4bGluazphcmNyb2xlYCxyKTticmVhaztjYXNlYHhsaW5rUm9sZWA6ZW4oZSxgaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua2AsYHhsaW5rOnJvbGVgLHIpO2JyZWFrO2Nhc2VgeGxpbmtTaG93YDplbihlLGBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rYCxgeGxpbms6c2hvd2Ascik7YnJlYWs7Y2FzZWB4bGlua1RpdGxlYDplbihlLGBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rYCxgeGxpbms6dGl0bGVgLHIpO2JyZWFrO2Nhc2VgeGxpbmtUeXBlYDplbihlLGBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rYCxgeGxpbms6dHlwZWAscik7YnJlYWs7Y2FzZWB4bWxCYXNlYDplbihlLGBodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2VgLGB4bWw6YmFzZWAscik7YnJlYWs7Y2FzZWB4bWxMYW5nYDplbihlLGBodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2VgLGB4bWw6bGFuZ2Ascik7YnJlYWs7Y2FzZWB4bWxTcGFjZWA6ZW4oZSxgaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlYCxgeG1sOnNwYWNlYCxyKTticmVhaztjYXNlYGlzYDpRdChlLGBpc2Ascik7YnJlYWs7Y2FzZWBpbm5lclRleHRgOmNhc2VgdGV4dENvbnRlbnRgOnJldHVybjtkZWZhdWx0OmlmKCEoMjxuLmxlbmd0aCl8fG5bMF0hPT1gb2AmJm5bMF0hPT1gT2B8fG5bMV0hPT1gbmAmJm5bMV0hPT1gTmApbj1ibi5nZXQobil8fG4sUXQoZSxuLHIpO2Vsc2UgcmV0dXJufVA9ITB9ZnVuY3Rpb24gdHAoZSx0LG4scixpLGEpe3N3aXRjaChuKXtjYXNlYHN0eWxlYDp2bihlLHIsYSk7cmV0dXJuO2Nhc2VgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgOmlmKHIhPW51bGwpe2lmKHR5cGVvZiByIT1gb2JqZWN0YHx8IShgX19odG1sYGluIHIpKXRocm93IEVycm9yKHMoNjEpKTtpZihuPXIuX19odG1sLG4hPW51bGwpe2lmKGkuY2hpbGRyZW4hPW51bGwpdGhyb3cgRXJyb3Iocyg2MCkpO2E_Ll9faHRtbCE9PW4mJihlLmlubmVySFRNTD1uKX19YnJlYWs7Y2FzZWBjaGlsZHJlbmA6aWYodHlwZW9mIHI9PWBzdHJpbmdgKWhuKGUscik7ZWxzZSBpZih0eXBlb2Ygcj09YG51bWJlcmB8fHR5cGVvZiByPT1gYmlnaW50YClobihlLGBgK3IpO2Vsc2UgcmV0dXJuO2JyZWFrO2Nhc2Vgb25TY3JvbGxgOnIhPW51bGwmJiQoYHNjcm9sbGAsZSk7cmV0dXJuO2Nhc2Vgb25TY3JvbGxFbmRgOnIhPW51bGwmJiQoYHNjcm9sbGVuZGAsZSk7cmV0dXJuO2Nhc2Vgb25DbGlja2A6ciE9bnVsbCYmKGUub25jbGljaz1Dbik7cmV0dXJuO2Nhc2Vgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nYDpjYXNlYHN1cHByZXNzSHlkcmF0aW9uV2FybmluZ2A6Y2FzZWBpbm5lckhUTUxgOmNhc2VgcmVmYDpyZXR1cm47Y2FzZWBpbm5lclRleHRgOmNhc2VgdGV4dENvbnRlbnRgOnJldHVybjtkZWZhdWx0OmlmKCFXdC5oYXNPd25Qcm9wZXJ0eShuKSlhOntpZihuWzBdPT09YG9gJiZuWzFdPT09YG5gJiYoaT1uLmVuZHNXaXRoKGBDYXB0dXJlYCksYT1uLnNsaWNlKDIsaT9uLmxlbmd0aC03OnZvaWQgMCksdD1lW090XXx8bnVsbCx0PXQ9PW51bGw_bnVsbDp0W25dLHR5cGVvZiB0PT1gZnVuY3Rpb25gJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSx0LGkpLHR5cGVvZiByPT1gZnVuY3Rpb25gKSl7dHlwZW9mIHQhPWBmdW5jdGlvbmAmJnQhPT1udWxsJiYobiBpbiBlP2Vbbl09bnVsbDplLmhhc0F0dHJpYnV0ZShuKSYmZS5yZW1vdmVBdHRyaWJ1dGUobikpLGUuYWRkRXZlbnRMaXN0ZW5lcihhLHIsaSk7YnJlYWsgYX1QPSEwLG4gaW4gZT9lW25dPXI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sYGApOlF0KGUsbixyKX1yZXR1cm59UD0hMH1mdW5jdGlvbiBucChlLHQsbil7c3dpdGNoKHQpe2Nhc2VgZGl2YDpjYXNlYHNwYW5gOmNhc2Vgc3ZnYDpjYXNlYHBhdGhgOmNhc2VgYWA6Y2FzZWBnYDpjYXNlYHBgOmNhc2VgbGlgOmJyZWFrO2Nhc2VgaW1nYDokKGBlcnJvcmAsZSksJChgbG9hZGAsZSk7dmFyIHI9ITEsaT0hMSxhO2ZvcihhIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShhKSl7dmFyIG89blthXTtpZihvIT1udWxsKXN3aXRjaChhKXtjYXNlYHNyY2A6cj0hMDticmVhaztjYXNlYHNyY1NldGA6aT0hMDticmVhaztjYXNlYGNoaWxkcmVuYDpjYXNlYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYDp0aHJvdyBFcnJvcihzKDEzNyx0KSk7ZGVmYXVsdDplcChlLHQsYSxvLG4sbnVsbCl9fWkmJmVwKGUsdCxgc3JjU2V0YCxuLnNyY1NldCxuLG51bGwpLHImJmVwKGUsdCxgc3JjYCxuLnNyYyxuLG51bGwpO3JldHVybjtjYXNlYGlucHV0YDokKGBpbnZhbGlkYCxlKTt2YXIgYz1hPW89aT1udWxsLGw9bnVsbCx1PW51bGw7Zm9yKHIgaW4gbilpZihuLmhhc093blByb3BlcnR5KHIpKXt2YXIgZD1uW3JdO2lmKGQhPW51bGwpc3dpdGNoKHIpe2Nhc2VgbmFtZWA6aT1kO2JyZWFrO2Nhc2VgdHlwZWA6bz1kO2JyZWFrO2Nhc2VgY2hlY2tlZGA6bD1kO2JyZWFrO2Nhc2VgZGVmYXVsdENoZWNrZWRgOnU9ZDticmVhaztjYXNlYHZhbHVlYDphPWQ7YnJlYWs7Y2FzZWBkZWZhdWx0VmFsdWVgOmM9ZDticmVhaztjYXNlYGNoaWxkcmVuYDpjYXNlYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYDppZihkIT1udWxsKXRocm93IEVycm9yKHMoMTM3LHQpKTticmVhaztkZWZhdWx0OmVwKGUsdCxyLGQsbixudWxsKX19dW4oZSxhLGMsbCx1LG8saSwhMSk7cmV0dXJuO2Nhc2Vgc2VsZWN0YDpmb3IoaSBpbiAkKGBpbnZhbGlkYCxlKSxyPW89YT1udWxsLG4paWYobi5oYXNPd25Qcm9wZXJ0eShpKSYmKGM9bltpXSxjIT1udWxsKSlzd2l0Y2goaSl7Y2FzZWB2YWx1ZWA6YT1jO2JyZWFrO2Nhc2VgZGVmYXVsdFZhbHVlYDpvPWM7YnJlYWs7Y2FzZWBtdWx0aXBsZWA6cj1jO2RlZmF1bHQ6ZXAoZSx0LGksYyxuLG51bGwpfXQ9YSxuPW8sZS5tdWx0aXBsZT0hIXIsdD09bnVsbD9uIT1udWxsJiZmbihlLCEhcixuLCEwKTpmbihlLCEhcix0LCExKTtyZXR1cm47Y2FzZWB0ZXh0YXJlYWA6Zm9yKG8gaW4gJChgaW52YWxpZGAsZSksYT1pPXI9bnVsbCxuKWlmKG4uaGFzT3duUHJvcGVydHkobykmJihjPW5bb10sYyE9bnVsbCkpc3dpdGNoKG8pe2Nhc2VgdmFsdWVgOnI9YzticmVhaztjYXNlYGRlZmF1bHRWYWx1ZWA6aT1jO2JyZWFrO2Nhc2VgY2hpbGRyZW5gOmE9YzticmVhaztjYXNlYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYDppZihjIT1udWxsKXRocm93IEVycm9yKHMoOTEpKTticmVhaztkZWZhdWx0OmVwKGUsdCxvLGMsbixudWxsKX1tbihlLHIsaSxhKTtyZXR1cm47Y2FzZWBvcHRpb25gOmZvcihsIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShsKSYmKHI9bltsXSxyIT1udWxsKSlzd2l0Y2gobCl7Y2FzZWBzZWxlY3RlZGA6ZS5zZWxlY3RlZD1yJiZ0eXBlb2YgciE9YGZ1bmN0aW9uYCYmdHlwZW9mIHIhPWBzeW1ib2xgO2JyZWFrO2RlZmF1bHQ6ZXAoZSx0LGwscixuLG51bGwpfXJldHVybjtjYXNlYGRpYWxvZ2A6JChgYmVmb3JldG9nZ2xlYCxlKSwkKGB0b2dnbGVgLGUpLCQoYGNhbmNlbGAsZSksJChgY2xvc2VgLGUpO2JyZWFrO2Nhc2VgaWZyYW1lYDpjYXNlYG9iamVjdGA6JChgbG9hZGAsZSk7YnJlYWs7Y2FzZWB2aWRlb2A6Y2FzZWBhdWRpb2A6Zm9yKHI9MDtyPFJmLmxlbmd0aDtyKyspJChSZltyXSxlKTticmVhaztjYXNlYGltYWdlYDokKGBlcnJvcmAsZSksJChgbG9hZGAsZSk7YnJlYWs7Y2FzZWBkZXRhaWxzYDokKGB0b2dnbGVgLGUpO2JyZWFrO2Nhc2VgZW1iZWRgOmNhc2Vgc291cmNlYDpjYXNlYGxpbmtgOiQoYGVycm9yYCxlKSwkKGBsb2FkYCxlKTtjYXNlYGFyZWFgOmNhc2VgYmFzZWA6Y2FzZWBicmA6Y2FzZWBjb2xgOmNhc2VgaHJgOmNhc2Vga2V5Z2VuYDpjYXNlYG1ldGFgOmNhc2VgcGFyYW1gOmNhc2VgdHJhY2tgOmNhc2Vgd2JyYDpjYXNlYG1lbnVpdGVtYDpmb3IodSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkodSkmJihyPW5bdV0sciE9bnVsbCkpc3dpdGNoKHUpe2Nhc2VgY2hpbGRyZW5gOmNhc2VgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgOnRocm93IEVycm9yKHMoMTM3LHQpKTtkZWZhdWx0OmVwKGUsdCx1LHIsbixudWxsKX1yZXR1cm47ZGVmYXVsdDppZih5bih0KSl7Zm9yKGQgaW4gbiluLmhhc093blByb3BlcnR5KGQpJiYocj1uW2RdLHIhPT12b2lkIDAmJnRwKGUsdCxkLHIsbix2b2lkIDApKTtyZXR1cm59fWZvcihjIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShjKSYmKHI9bltjXSxyIT1udWxsJiZlcChlLHQsYyxyLG4sbnVsbCkpfXZhciBycD17fTtmdW5jdGlvbiBpcChlLHQsbixyKXtzd2l0Y2godCl7Y2FzZWBkaXZgOmNhc2Vgc3BhbmA6Y2FzZWBzdmdgOmNhc2VgcGF0aGA6Y2FzZWBhYDpjYXNlYGdgOmNhc2VgcGA6Y2FzZWBsaWA6YnJlYWs7Y2FzZWBpbnB1dGA6dmFyIGk9bnVsbCxhPW51bGwsbz1udWxsLGM9bnVsbCxsPW51bGwsdT1udWxsLGQ9bnVsbDtmb3IobSBpbiBuKXt2YXIgZj1uW21dO2lmKG4uaGFzT3duUHJvcGVydHkobSkmJmYhPW51bGwpc3dpdGNoKG0pe2Nhc2VgY2hlY2tlZGA6YnJlYWs7Y2FzZWB2YWx1ZWA6YnJlYWs7Y2FzZWBkZWZhdWx0VmFsdWVgOmw9ZjtkZWZhdWx0OnIuaGFzT3duUHJvcGVydHkobSl8fGVwKGUsdCxtLG51bGwscixmKX19Zm9yKHZhciBwIGluIHIpe3ZhciBtPXJbcF07aWYoZj1uW3BdLHIuaGFzT3duUHJvcGVydHkocCkmJihtIT1udWxsfHxmIT1udWxsKSlzd2l0Y2gocCl7Y2FzZWB0eXBlYDptIT09ZiYmKFA9ITApLGE9bTticmVhaztjYXNlYG5hbWVgOm0hPT1mJiYoUD0hMCksaT1tO2JyZWFrO2Nhc2VgY2hlY2tlZGA6bSE9PWYmJihQPSEwKSx1PW07YnJlYWs7Y2FzZWBkZWZhdWx0Q2hlY2tlZGA6bSE9PWYmJihQPSEwKSxkPW07YnJlYWs7Y2FzZWB2YWx1ZWA6bSE9PWYmJihQPSEwKSxvPW07YnJlYWs7Y2FzZWBkZWZhdWx0VmFsdWVgOm0hPT1mJiYoUD0hMCksYz1tO2JyZWFrO2Nhc2VgY2hpbGRyZW5gOmNhc2VgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgOmlmKG0hPW51bGwpdGhyb3cgRXJyb3IocygxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6bSE9PWYmJmVwKGUsdCxwLG0scixmKX19bG4oZSxvLGMsbCx1LGQsYSxpKTtyZXR1cm47Y2FzZWBzZWxlY3RgOmZvcihhIGluIG09bz1jPXA9bnVsbCxuKWlmKGw9blthXSxuLmhhc093blByb3BlcnR5KGEpJiZsIT1udWxsKXN3aXRjaChhKXtjYXNlYHZhbHVlYDpicmVhaztjYXNlYG11bHRpcGxlYDptPWw7ZGVmYXVsdDpyLmhhc093blByb3BlcnR5KGEpfHxlcChlLHQsYSxudWxsLHIsbCl9Zm9yKGkgaW4gcilpZihhPXJbaV0sbD1uW2ldLHIuaGFzT3duUHJvcGVydHkoaSkmJihhIT1udWxsfHxsIT1udWxsKSlzd2l0Y2goaSl7Y2FzZWB2YWx1ZWA6YSE9PWwmJihQPSEwKSxwPWE7YnJlYWs7Y2FzZWBkZWZhdWx0VmFsdWVgOmEhPT1sJiYoUD0hMCksYz1hO2JyZWFrO2Nhc2VgbXVsdGlwbGVgOmEhPT1sJiYoUD0hMCksbz1hO2RlZmF1bHQ6YSE9PWwmJmVwKGUsdCxpLGEscixsKX10PWMsbj1vLHI9bSxwPT1udWxsPyEhciE9ISFuJiYodD09bnVsbD9mbihlLCEhbixuP1tdOmBgLCExKTpmbihlLCEhbix0LCEwKSk6Zm4oZSwhIW4scCwhMSk7cmV0dXJuO2Nhc2VgdGV4dGFyZWFgOmZvcihjIGluIG09cD1udWxsLG4paWYoaT1uW2NdLG4uaGFzT3duUHJvcGVydHkoYykmJmkhPW51bGwmJiFyLmhhc093blByb3BlcnR5KGMpKXN3aXRjaChjKXtjYXNlYHZhbHVlYDpicmVhaztjYXNlYGNoaWxkcmVuYDpicmVhaztkZWZhdWx0OmVwKGUsdCxjLG51bGwscixpKX1mb3IobyBpbiByKWlmKGk9cltvXSxhPW5bb10sci5oYXNPd25Qcm9wZXJ0eShvKSYmKGkhPW51bGx8fGEhPW51bGwpKXN3aXRjaChvKXtjYXNlYHZhbHVlYDppIT09YSYmKFA9ITApLHA9aTticmVhaztjYXNlYGRlZmF1bHRWYWx1ZWA6aSE9PWEmJihQPSEwKSxtPWk7YnJlYWs7Y2FzZWBjaGlsZHJlbmA6YnJlYWs7Y2FzZWBkYW5nZXJvdXNseVNldElubmVySFRNTGA6aWYoaSE9bnVsbCl0aHJvdyBFcnJvcihzKDkxKSk7YnJlYWs7ZGVmYXVsdDppIT09YSYmZXAoZSx0LG8saSxyLGEpfXBuKGUscCxtKTtyZXR1cm47Y2FzZWBvcHRpb25gOmZvcih2YXIgaCBpbiBuKWlmKHA9bltoXSxuLmhhc093blByb3BlcnR5KGgpJiZwIT1udWxsJiYhci5oYXNPd25Qcm9wZXJ0eShoKSlzd2l0Y2goaCl7Y2FzZWBzZWxlY3RlZGA6ZS5zZWxlY3RlZD0hMTticmVhaztkZWZhdWx0OmVwKGUsdCxoLG51bGwscixwKX1mb3IobCBpbiByKWlmKHA9cltsXSxtPW5bbF0sci5oYXNPd25Qcm9wZXJ0eShsKSYmcCE9PW0mJihwIT1udWxsfHxtIT1udWxsKSlzd2l0Y2gobCl7Y2FzZWBzZWxlY3RlZGA6cCE9PW0mJihQPSEwKSxlLnNlbGVjdGVkPXAmJnR5cGVvZiBwIT1gZnVuY3Rpb25gJiZ0eXBlb2YgcCE9YHN5bWJvbGA7YnJlYWs7ZGVmYXVsdDplcChlLHQsbCxwLHIsbSl9cmV0dXJuO2Nhc2VgaW1nYDpjYXNlYGxpbmtgOmNhc2VgYXJlYWA6Y2FzZWBiYXNlYDpjYXNlYGJyYDpjYXNlYGNvbGA6Y2FzZWBlbWJlZGA6Y2FzZWBocmA6Y2FzZWBrZXlnZW5gOmNhc2VgbWV0YWA6Y2FzZWBwYXJhbWA6Y2FzZWBzb3VyY2VgOmNhc2VgdHJhY2tgOmNhc2Vgd2JyYDpjYXNlYG1lbnVpdGVtYDpmb3IodmFyIGcgaW4gbilwPW5bZ10sbi5oYXNPd25Qcm9wZXJ0eShnKSYmcCE9bnVsbCYmIXIuaGFzT3duUHJvcGVydHkoZykmJmVwKGUsdCxnLG51bGwscixwKTtmb3IodSBpbiByKWlmKHA9clt1XSxtPW5bdV0sci5oYXNPd25Qcm9wZXJ0eSh1KSYmcCE9PW0mJihwIT1udWxsfHxtIT1udWxsKSlzd2l0Y2godSl7Y2FzZWBjaGlsZHJlbmA6Y2FzZWBkYW5nZXJvdXNseVNldElubmVySFRNTGA6aWYocCE9bnVsbCl0aHJvdyBFcnJvcihzKDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDplcChlLHQsdSxwLHIsbSl9cmV0dXJuO2RlZmF1bHQ6aWYoeW4odCkpe2Zvcih2YXIgXyBpbiBuKXA9bltfXSxuLmhhc093blByb3BlcnR5KF8pJiZwIT09dm9pZCAwJiYhci5oYXNPd25Qcm9wZXJ0eShfKSYmdHAoZSx0LF8sdm9pZCAwLHIscCk7Zm9yKGQgaW4gcilwPXJbZF0sbT1uW2RdLCFyLmhhc093blByb3BlcnR5KGQpfHxwPT09bXx8cD09PXZvaWQgMCYmbT09PXZvaWQgMHx8dHAoZSx0LGQscCxyLG0pO3JldHVybn19Zm9yKHZhciB2IGluIG4pcD1uW3ZdLG4uaGFzT3duUHJvcGVydHkodikmJnAhPW51bGwmJiFyLmhhc093blByb3BlcnR5KHYpJiZlcChlLHQsdixudWxsLHIscCk7Zm9yKGYgaW4gcilwPXJbZl0sbT1uW2ZdLCFyLmhhc093blByb3BlcnR5KGYpfHxwPT09bXx8cD09bnVsbCYmbT09bnVsbHx8ZXAoZSx0LGYscCxyLG0pfWZ1bmN0aW9uIGFwKGUpe3N3aXRjaChlKXtjYXNlYGNzc2A6Y2FzZWBzY3JpcHRgOmNhc2VgZm9udGA6Y2FzZWBpbWdgOmNhc2VgaW1hZ2VgOmNhc2VgaW5wdXRgOmNhc2VgbGlua2A6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gb3AoKXtpZih0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZT09YGZ1bmN0aW9uYCl7Zm9yKHZhciBlPTAsdD0wLG49cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShgcmVzb3VyY2VgKSxyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBpPW5bcl0sYT1pLnRyYW5zZmVyU2l6ZSxvPWkuaW5pdGlhdG9yVHlwZSxzPWkuZHVyYXRpb247aWYoYSYmcyYmYXAobykpe2ZvcihvPTAscz1pLnJlc3BvbnNlRW5kLHIrPTE7cjxuLmxlbmd0aDtyKyspe3ZhciBjPW5bcl0sbD1jLnN0YXJ0VGltZTtpZihsPnMpYnJlYWs7dmFyIHU9Yy50cmFuc2ZlclNpemUsZD1jLmluaXRpYXRvclR5cGU7dSYmYXAoZCkmJihjPWMucmVzcG9uc2VFbmQsbys9dSooYzxzPzE6KHMtbCkvKGMtbCkpKX1pZigtLXIsdCs9OCooYStvKS8oaS5kdXJhdGlvbi8xZTMpLGUrKywxMDxlKWJyZWFrfX1pZigwPGUpcmV0dXJuIHQvZS8xZTZ9cmV0dXJuIG5hdmlnYXRvci5jb25uZWN0aW9uJiYoZT1uYXZpZ2F0b3IuY29ubmVjdGlvbi5kb3dubGluayx0eXBlb2YgZT09YG51bWJlcmApP2U6NX12YXIgc3A9bnVsbCxjcD1udWxsO2Z1bmN0aW9uIGxwKGUpe3JldHVybiBlLm5vZGVUeXBlPT09OT9lOmUub3duZXJEb2N1bWVudH1mdW5jdGlvbiB1cChlKXtzd2l0Y2goZSl7Y2FzZWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2A6cmV0dXJuIDE7Y2FzZWBodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MYDpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBkcChlLHQpe2lmKGU9PT0wKXN3aXRjaCh0KXtjYXNlYHN2Z2A6cmV0dXJuIDE7Y2FzZWBtYXRoYDpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiBlPT09MSYmdD09PWBmb3JlaWduT2JqZWN0YD8wOmV9ZnVuY3Rpb24gZnAoZSx0LG4scil7cmV0dXJuIG49bHAobikuY3JlYXRlRWxlbWVudChlKSxuW0R0XT1yLG5bT3RdPXQsbnAobixlLHQpLFZ0KG4pLG59ZnVuY3Rpb24gcHAoZSx0KXtyZXR1cm4gZT09PWB0ZXh0YXJlYWB8fGU9PT1gbm9zY3JpcHRgfHx0eXBlb2YgdC5jaGlsZHJlbj09YHN0cmluZ2B8fHR5cGVvZiB0LmNoaWxkcmVuPT1gbnVtYmVyYHx8dHlwZW9mIHQuY2hpbGRyZW49PWBiaWdpbnRgfHx0eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTD09YG9iamVjdGAmJnQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPT1udWxsJiZ0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCE9bnVsbH12YXIgbXA9bnVsbDtmdW5jdGlvbiBocCgpe3ZhciBlPXdpbmRvdy5ldmVudDtyZXR1cm4gZSYmZS50eXBlPT09YHBvcHN0YXRlYD9lIT09bXAmJihtcD1lLCEwKToobXA9bnVsbCwhMSl9dmFyIGdwPXR5cGVvZiBzZXRUaW1lb3V0PT1gZnVuY3Rpb25gP3NldFRpbWVvdXQ6dm9pZCAwLF9wPXR5cGVvZiBjbGVhclRpbWVvdXQ9PWBmdW5jdGlvbmA_Y2xlYXJUaW1lb3V0OnZvaWQgMCx2cD10eXBlb2YgUHJvbWlzZT09YGZ1bmN0aW9uYD9Qcm9taXNlOnZvaWQgMCx5cD10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lPT1gZnVuY3Rpb25gP3JlcXVlc3RBbmltYXRpb25GcmFtZTpncCxicD10eXBlb2YgcXVldWVNaWNyb3Rhc2s9PWBmdW5jdGlvbmA_cXVldWVNaWNyb3Rhc2s6dnA9PT12b2lkIDA_Z3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHZwLnJlc29sdmUobnVsbCkudGhlbihlKS5jYXRjaCh4cCl9O2Z1bmN0aW9uIHhwKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9ZnVuY3Rpb24gU3AoZSl7cmV0dXJuIGU9PT1gaGVhZGB9ZnVuY3Rpb24gQ3AoZSx0KXt2YXIgbj10LHI9MDtkb3t2YXIgaT1uLm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQobiksaSYmaS5ub2RlVHlwZT09PTgpe2lmKG49aS5kYXRhLG49PT1gLyRgfHxuPT09YC8mYCl7aWYocj09PTApe2UucmVtb3ZlQ2hpbGQoaSksSGgodCk7cmV0dXJufXItLX1lbHNlIGlmKG49PT1gJGB8fG49PT1gJD9gfHxuPT09YCR-YHx8bj09PWAkIWB8fG49PT1gJmApcisrO2Vsc2UgaWYobj09PWBodG1sYClfbShlLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtlbHNlIGlmKG49PT1gaGVhZGApe249ZS5vd25lckRvY3VtZW50LmhlYWQsX20obik7Zm9yKHZhciBhPW4uZmlyc3RDaGlsZDthOyl7dmFyIG89YS5uZXh0U2libGluZyxzPWEubm9kZU5hbWU7YVtQdF18fHM9PT1gU0NSSVBUYHx8cz09PWBTVFlMRWB8fHM9PT1gTElOS2AmJmEucmVsLnRvTG93ZXJDYXNlKCk9PT1gc3R5bGVzaGVldGB8fG4ucmVtb3ZlQ2hpbGQoYSksYT1vfX1lbHNlIG49PT1gYm9keWAmJl9tKGUub3duZXJEb2N1bWVudC5ib2R5KX1uPWl9d2hpbGUobik7SGgodCl9ZnVuY3Rpb24gd3AoZSx0KXt2YXIgbj1lO2U9MDtkb3t2YXIgcj1uLm5leHRTaWJsaW5nO2lmKG4ubm9kZVR5cGU9PT0xP3Q_KG4uX3N0YXNoZWREaXNwbGF5PW4uc3R5bGUuZGlzcGxheSxuLnN0eWxlLmRpc3BsYXk9YG5vbmVgKToobi5zdHlsZS5kaXNwbGF5PW4uX3N0YXNoZWREaXNwbGF5fHxgYCxuLmdldEF0dHJpYnV0ZShgc3R5bGVgKT09PWBgJiZuLnJlbW92ZUF0dHJpYnV0ZShgc3R5bGVgKSk6bi5ub2RlVHlwZT09PTMmJih0PyhuLl9zdGFzaGVkVGV4dD1uLm5vZGVWYWx1ZSxuLm5vZGVWYWx1ZT1gYCk6bi5ub2RlVmFsdWU9bi5fc3Rhc2hlZFRleHR8fGBgKSxyJiZyLm5vZGVUeXBlPT09OCl7aWYobj1yLmRhdGEsbj09PWAvJGApe2lmKGU9PT0wKWJyZWFrO2UtLX1lbHNlIG4hPT1gJGAmJm4hPT1gJD9gJiZuIT09YCR-YCYmbiE9PWAkIWB8fGUrK31uPXJ9d2hpbGUobil9ZnVuY3Rpb24gVHAoZSx0LG4pe2lmKHQ9Q1NTLmVzY2FwZSh0KT09PXQ_dDpgci1gK2J0b2EodCkucmVwbGFjZSgvPS9nLGBgKSxlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT10LG4hPW51bGwmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uQ2xhc3M9biksbj1nZXRDb21wdXRlZFN0eWxlKGUpLG4uZGlzcGxheT09PWBpbmxpbmVgKXtpZih0PWUuZ2V0Q2xpZW50UmVjdHMoKSx0Lmxlbmd0aD09PTEpdmFyIHI9MTtlbHNlIGZvcih2YXIgaT1yPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV07MDxhLndpZHRoJiYwPGEuaGVpZ2h0JiZyKyt9cj09PTEmJihlPWUuc3R5bGUsZS5kaXNwbGF5PXQubGVuZ3RoPT09MT9gaW5saW5lLWJsb2NrYDpgYmxvY2tgLGUubWFyZ2luVG9wPWAtYCtuLnBhZGRpbmdUb3AsZS5tYXJnaW5Cb3R0b209YC1gK24ucGFkZGluZ0JvdHRvbSl9fWZ1bmN0aW9uIEVwKGUsdCl7ZT1lLnN0eWxlLHQ9dC5zdHlsZTt2YXIgbj10PT1udWxsP251bGw6dC5oYXNPd25Qcm9wZXJ0eShgdmlld1RyYW5zaXRpb25OYW1lYCk_dC52aWV3VHJhbnNpdGlvbk5hbWU6dC5oYXNPd25Qcm9wZXJ0eShgdmlldy10cmFuc2l0aW9uLW5hbWVgKT90W2B2aWV3LXRyYW5zaXRpb24tbmFtZWBdOm51bGw7ZS52aWV3VHJhbnNpdGlvbk5hbWU9bj09bnVsbHx8dHlwZW9mIG49PWBib29sZWFuYD9gYDooYGArbikudHJpbSgpLG49dD09bnVsbD9udWxsOnQuaGFzT3duUHJvcGVydHkoYHZpZXdUcmFuc2l0aW9uQ2xhc3NgKT90LnZpZXdUcmFuc2l0aW9uQ2xhc3M6dC5oYXNPd25Qcm9wZXJ0eShgdmlldy10cmFuc2l0aW9uLWNsYXNzYCk_dFtgdmlldy10cmFuc2l0aW9uLWNsYXNzYF06bnVsbCxlLnZpZXdUcmFuc2l0aW9uQ2xhc3M9bj09bnVsbHx8dHlwZW9mIG49PWBib29sZWFuYD9gYDooYGArbikudHJpbSgpLGUuZGlzcGxheT09PWBpbmxpbmUtYmxvY2tgJiYodD09bnVsbD9lLmRpc3BsYXk9ZS5tYXJnaW49YGA6KG49dC5kaXNwbGF5LGUuZGlzcGxheT1uPT1udWxsfHx0eXBlb2Ygbj09YGJvb2xlYW5gP2BgOm4sbj10Lm1hcmdpbixuPT1udWxsPyhuPXQuaGFzT3duUHJvcGVydHkoYG1hcmdpblRvcGApP3QubWFyZ2luVG9wOnRbYG1hcmdpbi10b3BgXSxlLm1hcmdpblRvcD1uPT1udWxsfHx0eXBlb2Ygbj09YGJvb2xlYW5gP2BgOm4sdD10Lmhhc093blByb3BlcnR5KGBtYXJnaW5Cb3R0b21gKT90Lm1hcmdpbkJvdHRvbTp0W2BtYXJnaW4tYm90dG9tYF0sZS5tYXJnaW5Cb3R0b209dD09bnVsbHx8dHlwZW9mIHQ9PWBib29sZWFuYD9gYDp0KTplLm1hcmdpbj1uKSl9ZnVuY3Rpb24gRHAoZSx0LG4pe3JldHVybiBuPW4ub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldyx7cmVjdDplLGFiczp0LnBvc2l0aW9uPT09YGFic29sdXRlYHx8dC5wb3NpdGlvbj09PWBmaXhlZGAsY2xpcDp0LmNsaXBQYXRoIT09YG5vbmVgfHx0Lm92ZXJmbG93IT09YHZpc2libGVgfHx0LmZpbHRlciE9PWBub25lYHx8dC5tYXNrIT09YG5vbmVgfHx0Lm1hc2shPT1gbm9uZWB8fHQuYm9yZGVyUmFkaXVzIT09YDBweGAsdmlldzowPD1lLmJvdHRvbSYmMDw9ZS5yaWdodCYmZS50b3A8PW4uaW5uZXJIZWlnaHQmJmUubGVmdDw9bi5pbm5lcldpZHRofX1mdW5jdGlvbiBPcChlKXtyZXR1cm4gRHAoZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxnZXRDb21wdXRlZFN0eWxlKGUpLGUpfWZ1bmN0aW9uIGtwKGUpe3ZhciB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dD1uZXcgRE9NUmVjdCh0LngrMmU0LHQueSsyZTQsdC53aWR0aCx0LmhlaWdodCk7dmFyIG49Z2V0Q29tcHV0ZWRTdHlsZShlKTtyZXR1cm4gRHAodCxuLGUpfWZ1bmN0aW9uIEFwKGUpe3JldHVybiBlLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR9ZnVuY3Rpb24ganAoZSl7dGhpcy5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCxlKX1mdW5jdGlvbiBNcChlLHQsbixyLGksYSxvLHMsYyl7dmFyIGw9dC5ub2RlVHlwZT09PTk_dDp0Lm93bmVyRG9jdW1lbnQ7dHJ5e3ZhciB1PWwuc3RhcnRWaWV3VHJhbnNpdGlvbih7dXBkYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9bC5kZWZhdWx0VmlldyxuPXQubmF2aWdhdGlvbiYmdC5uYXZpZ2F0aW9uLnRyYW5zaXRpb24sbz1sLmZvbnRzLnN0YXR1cztyKCk7dmFyIHM9W107aWYobz09PWBsb2FkZWRgJiYoQXAobCksbC5mb250cy5zdGF0dXM9PT1gbG9hZGluZ2AmJnMucHVzaChsLmZvbnRzLnJlYWR5KSksbz1zLmxlbmd0aCxlIT09bnVsbClmb3IodmFyIGM9ZS5zdXNwZW5zZXlJbWFnZXMsdT0wLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGY9Y1tkXTtpZighZi5jb21wbGV0ZSl7dmFyIHA9Zi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZigwPHAuYm90dG9tJiYwPHAucmlnaHQmJnAudG9wPHQuaW5uZXJIZWlnaHQmJnAubGVmdDx0LmlubmVyV2lkdGgpe2lmKHUrPVhtKGYpLHU-JG0pe3MubGVuZ3RoPW87YnJlYWt9Zj1uZXcgUHJvbWlzZShqcC5iaW5kKGYpKSxzLnB1c2goZil9fX1pZigwPHMubGVuZ3RoKXJldHVybiB0PVByb21pc2UucmFjZShbUHJvbWlzZS5hbGwocyksbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MDApfSldKS50aGVuKGksaSksKG4_UHJvbWlzZS5hbGxTZXR0bGVkKFtuLmZpbmlzaGVkLHRdKTp0KS50aGVuKGEsYSk7aWYoaSgpLG4pcmV0dXJuIG4uZmluaXNoZWQudGhlbihhLGEpO2EoKX0sdHlwZXM6bn0pO2wuX19yZWFjdFZpZXdUcmFuc2l0aW9uPXU7dmFyIGQ9W107cmV0dXJuIHUucmVhZHkudGhlbihmdW5jdGlvbigpe2Zvcih2YXIgZT1sLmRvY3VtZW50RWxlbWVudC5nZXRBbmltYXRpb25zKHtzdWJ0cmVlOiEwfSksdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgbj1lW3RdLHI9bi5lZmZlY3QsaT1yLnBzZXVkb0VsZW1lbnQ7aWYoaSE9bnVsbCYmaS5zdGFydHNXaXRoKGA6OnZpZXctdHJhbnNpdGlvbmApKXtkLnB1c2gobiksbj1yLmdldEtleWZyYW1lcygpO2Zvcih2YXIgYT1pPXZvaWQgMCxzPSEwLGM9MDtjPG4ubGVuZ3RoO2MrKyl7dmFyIHU9bltjXSxmPXUud2lkdGg7aWYoaT09PXZvaWQgMClpPWY7ZWxzZSBpZihpIT09Zil7cz0hMTticmVha31pZihmPXUuaGVpZ2h0LGE9PT12b2lkIDApYT1mO2Vsc2UgaWYoYSE9PWYpe3M9ITE7YnJlYWt9ZGVsZXRlIHUud2lkdGgsZGVsZXRlIHUuaGVpZ2h0LHUudHJhbnNmb3JtPT09YG5vbmVgJiZkZWxldGUgdS50cmFuc2Zvcm19cyYmaSE9PXZvaWQgMCYmYSE9PXZvaWQgMCYmKHIuc2V0S2V5ZnJhbWVzKG4pLHM9Z2V0Q29tcHV0ZWRTdHlsZShyLnRhcmdldCxyLnBzZXVkb0VsZW1lbnQpLHMud2lkdGghPT1pfHxzLmhlaWdodCE9PWEpJiYocz1uWzBdLHMud2lkdGg9aSxzLmhlaWdodD1hLHM9bltuLmxlbmd0aC0xXSxzLndpZHRoPWkscy5oZWlnaHQ9YSxyLnNldEtleWZyYW1lcyhuKSl9fW8oKX0sZnVuY3Rpb24oZSl7bC5fX3JlYWN0Vmlld1RyYW5zaXRpb249PT11JiYobC5fX3JlYWN0Vmlld1RyYW5zaXRpb249bnVsbCk7dHJ5e2lmKHR5cGVvZiBlPT1gb2JqZWN0YCYmZSlzd2l0Y2goZS5uYW1lKXtjYXNlYEludmFsaWRTdGF0ZUVycm9yYDooZS5tZXNzYWdlPT09YFZpZXcgdHJhbnNpdGlvbiB3YXMgc2tpcHBlZCBiZWNhdXNlIGRvY3VtZW50IHZpc2liaWxpdHkgc3RhdGUgaXMgaGlkZGVuLmB8fGUubWVzc2FnZT09PWBTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGhhcyBiZWNvbWUgaGlkZGVuLmB8fGUubWVzc2FnZT09PWBTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSB2aWV3cG9ydCBzaXplIGNoYW5nZWQuYHx8ZS5tZXNzYWdlPT09YFRyYW5zaXRpb24gd2FzIGFib3J0ZWQgYmVjYXVzZSBvZiBpbnZhbGlkIHN0YXRlYCkmJihlPW51bGwpfWUhPT1udWxsJiZjKGUpfWZpbmFsbHl7cigpLGkoKSxvKCl9fSksdS5maW5pc2hlZC5maW5hbGx5KGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDtlKyspZFtlXS5jYW5jZWwoKTtsLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PXUmJihsLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKSxzKCl9KSx1fWNhdGNoe3JldHVybiByKCksaSgpLG8oKSxudWxsfX1mdW5jdGlvbiBOcChlLHQpe3RoaXMuX3Njb3BlPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLl9zZWxlY3Rvcj1gOjp2aWV3LXRyYW5zaXRpb24tYCtlK2AoYCt0K2ApYH1OcC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbihlLHQpe3JldHVybiB0PXR5cGVvZiB0PT1gbnVtYmVyYD97ZHVyYXRpb246dH06RCh7fSx0KSx0LnBzZXVkb0VsZW1lbnQ9dGhpcy5fc2VsZWN0b3IsdGhpcy5fc2NvcGUuYW5pbWF0ZShlLHQpfSxOcC5wcm90b3R5cGUuZ2V0QW5pbWF0aW9ucz1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLl9zY29wZSx0PXRoaXMuX3NlbGVjdG9yLG49ZS5nZXRBbmltYXRpb25zKHtzdWJ0cmVlOiEwfSkscj1bXSxpPTA7aTxuLmxlbmd0aDtpKyspe3ZhciBhPW5baV0uZWZmZWN0O2EhPT1udWxsJiZhLnRhcmdldD09PWUmJmEucHNldWRvRWxlbWVudD09PXQmJnIucHVzaChuW2ldKX1yZXR1cm4gcn0sTnAucHJvdG90eXBlLmdldENvbXB1dGVkU3R5bGU9ZnVuY3Rpb24oKXtyZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9zY29wZSx0aGlzLl9zZWxlY3Rvcil9O2Z1bmN0aW9uIFBwKGUpe3JldHVybntuYW1lOmUsZ3JvdXA6bmV3IE5wKGBncm91cGAsZSksaW1hZ2VQYWlyOm5ldyBOcChgaW1hZ2UtcGFpcmAsZSksb2xkOm5ldyBOcChgb2xkYCxlKSxuZXc6bmV3IE5wKGBuZXdgLGUpfX1mdW5jdGlvbiBGcChlKXt0aGlzLl9mcmFnbWVudEZpYmVyPWUsdGhpcy5fb2JzZXJ2ZXJzPXRoaXMuX2V2ZW50TGlzdGVuZXJzPW51bGx9RnAucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW51bGwsaT1udWxsO2lmKCEobiE9bnVsbCYmdHlwZW9mIG4hPWBib29sZWFuYCYmKHI9bi5zaWduYWx8fG51bGwsciE9PW51bGwmJnIuYWJvcnRlZCkpKXt0aGlzLl9ldmVudExpc3RlbmVycz09PW51bGwmJih0aGlzLl9ldmVudExpc3RlbmVycz1bXSk7dmFyIGE9dGhpcy5fZXZlbnRMaXN0ZW5lcnM7aWYoQnAoYSxlLHQsbik9PT0tMSl7dmFyIG89dGhpcyxzPXQ7biE9bnVsbCYmdHlwZW9mIG4hPWBib29sZWFuYCYmITA9PT1uLm9uY2UmJihzPWZ1bmN0aW9uKHIpe28ucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQsbiksdHlwZW9mIHQ9PWBmdW5jdGlvbmA_dC5jYWxsKHRoaXMscik6dC5oYW5kbGVFdmVudChyKX0pLHIhPT1udWxsJiYoaT1vLnJlbW92ZUV2ZW50TGlzdGVuZXIuYmluZChvLGUsdCxuKSxyLmFkZEV2ZW50TGlzdGVuZXIoYGFib3J0YCxpLHtvbmNlOiEwfSksaT1yLnJlbW92ZUV2ZW50TGlzdGVuZXIuYmluZChyLGBhYm9ydGAsaSkpLHI9UnAobiksYS5wdXNoKHt0eXBlOmUsbGlzdGVuZXI6dCxvcHRpb25zT3JVc2VDYXB0dXJlOm4sYXR0YWNoZWRMaXN0ZW5lcjpzLGNsZWFudXA6aX0pLGgodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxJcCxlLHMscil9dGhpcy5fZXZlbnRMaXN0ZW5lcnM9YX19O2Z1bmN0aW9uIElwKGUsdCxuLHIpe3JldHVybiBiKGUpLmFkZEV2ZW50TGlzdGVuZXIodCxuLHIpLCExfUZwLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLl9ldmVudExpc3RlbmVycztpZihyIT09bnVsbCYmKHQ9QnAocixlLHQsbiksdCE9PS0xKSl7dmFyIGk9clt0XTtuPWkuYXR0YWNoZWRMaXN0ZW5lcjt2YXIgYT1pLmNsZWFudXA7aT1ScChpLm9wdGlvbnNPclVzZUNhcHR1cmUpLGgodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxMcCxlLG4saSksci5zcGxpY2UodCwxKSxhIT09bnVsbCYmYSgpfX07ZnVuY3Rpb24gTHAoZSx0LG4scil7cmV0dXJuIGIoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gUnAoZSl7cmV0dXJuIGUhPW51bGwmJnR5cGVvZiBlIT1gYm9vbGVhbmAmJighMD09PWUub25jZXx8ZS5zaWduYWwgaW5zdGFuY2VvZiBBYm9ydFNpZ25hbCk_e2NhcHR1cmU6ZS5jYXB0dXJlLHBhc3NpdmU6ZS5wYXNzaXZlfTplfWZ1bmN0aW9uIHpwKGUpe3JldHVybiBlPT1udWxsP2BjPTBgOnR5cGVvZiBlPT1gYm9vbGVhbmA_YGM9YCsoZT9gMWA6YDBgKTpgYz1gKyhlLmNhcHR1cmU_YDFgOmAwYCl9ZnVuY3Rpb24gQnAoZSx0LG4scil7aWYoZS5sZW5ndGg9PT0wKXJldHVybi0xO3I9enAocik7Zm9yKHZhciBpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBhPWVbaV07aWYoYS50eXBlPT09dCYmYS5saXN0ZW5lcj09PW4mJnpwKGEub3B0aW9uc09yVXNlQ2FwdHVyZSk9PT1yKXJldHVybiBpfXJldHVybi0xfUZwLnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGUpe3ZhciB0PWcodGhpcy5fZnJhZ21lbnRGaWJlcik7aWYodD09PW51bGwpcmV0dXJuITA7dD1iKHQpO3ZhciBuPXRoaXMuX2V2ZW50TGlzdGVuZXJzO2lmKG4hPT1udWxsJiYwPG4ubGVuZ3RofHwhZS5idWJibGVzKXt2YXIgcj10Lm5vZGVUeXBlPT09OT90LmNyZWF0ZUNvbW1lbnQoYGApOmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGBgKTtpZihuKWZvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgYT1uW2ldO3IuYWRkRXZlbnRMaXN0ZW5lcihhLnR5cGUsYS5hdHRhY2hlZExpc3RlbmVyLFJwKGEub3B0aW9uc09yVXNlQ2FwdHVyZSkpfWlmKHQuYXBwZW5kQ2hpbGQociksZT1yLmRpc3BhdGNoRXZlbnQoZSksbilmb3IoaT0wO2k8bi5sZW5ndGg7aSsrKWE9bltpXSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoYS50eXBlLGEuYXR0YWNoZWRMaXN0ZW5lcixScChhLm9wdGlvbnNPclVzZUNhcHR1cmUpKTtyZXR1cm4gdC5yZW1vdmVDaGlsZChyKSxlfXJldHVybiB0LmRpc3BhdGNoRXZlbnQoZSl9LEZwLnByb3RvdHlwZS5mb2N1cz1mdW5jdGlvbihlKXtoKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITAsVnAsZSx2b2lkIDAsdm9pZCAwKX07ZnVuY3Rpb24gVnAoZSx0KXtyZXR1cm4gZS50YWchPT02JiYoZT1iKGUpLHBtKGUsdCkpfUZwLnByb3RvdHlwZS5mb2N1c0xhc3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9W107aCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCEwLEhwLHQsdm9pZCAwLHZvaWQgMCk7Zm9yKHZhciBuPXQubGVuZ3RoLTE7MDw9biYmIVZwKHRbbl0sZSk7bi0tKTt9O2Z1bmN0aW9uIEhwKGUsdCl7cmV0dXJuIHQucHVzaChlKSwhMX1GcC5wcm90b3R5cGUuYmx1cj1mdW5jdGlvbigpe3ZhciBlPWcodGhpcy5fZnJhZ21lbnRGaWJlcik7ZSE9PW51bGwmJihlPWIoZSksZT1scChlKS5hY3RpdmVFbGVtZW50LGUhPT1udWxsJiZoKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsVXAsZSx2b2lkIDAsdm9pZCAwKSl9O2Z1bmN0aW9uIFVwKGUsdCl7cmV0dXJuIGUudGFnIT09NiYmKGU9YihlKSxlPT09dHx8ZS5jb250YWlucyh0KT8odC5ibHVyKCksITApOiExKX1GcC5wcm90b3R5cGUub2JzZXJ2ZVVzaW5nPWZ1bmN0aW9uKGUpe3RoaXMuX29ic2VydmVycz09PW51bGwmJih0aGlzLl9vYnNlcnZlcnM9bmV3IFNldCksdGhpcy5fb2JzZXJ2ZXJzLmFkZChlKSxoKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsV3AsZSx2b2lkIDAsdm9pZCAwKX07ZnVuY3Rpb24gV3AoZSx0KXtyZXR1cm4gZS50YWc9PT02fHwoZT1iKGUpLHQub2JzZXJ2ZShlKSksITF9RnAucHJvdG90eXBlLnVub2JzZXJ2ZVVzaW5nPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX29ic2VydmVycztpZih0IT09bnVsbCYmdC5oYXMoZSkpe3QuZGVsZXRlKGUpLGgodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxHcCxlLHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgbj10PTA7bjxLcC5sZW5ndGg7bisrKXt2YXIgcj1LcFtuXTtyLmZyYWdtZW50SW5zdGFuY2U9PT10aGlzJiZyLm9ic2VydmVyPT09ZT9lLnVub2JzZXJ2ZShyLmluc3RhbmNlKTpLcFt0KytdPXJ9S3AubGVuZ3RoPXR9fTtmdW5jdGlvbiBHcChlLHQpe3JldHVybiBlLnRhZz09PTZ8fChlPWIoZSksdC51bm9ic2VydmUoZSkpLCExfXZhciBLcD1bXSxxcD0hMTtmdW5jdGlvbiBKcChlLHQsbil7S3AucHVzaCh7ZnJhZ21lbnRJbnN0YW5jZTplLG9ic2VydmVyOnQsaW5zdGFuY2U6bn0pLHFwfHwocXA9ITAsbW0oZnVuY3Rpb24oKXtxcD0hMTt2YXIgZT1LcDtLcD1bXTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIG49ZVt0XTtuLm9ic2VydmVyLnVub2JzZXJ2ZShuLmluc3RhbmNlKX19KSl9RnAucHJvdG90eXBlLmdldENsaWVudFJlY3RzPWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIGgodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxZcCxlLHZvaWQgMCx2b2lkIDApLGV9O2Z1bmN0aW9uIFlwKGUsdCl7aWYoZS50YWc9PT02KXtlPWUuc3RhdGVOb2RlO3ZhciBuPWUub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpO24uc2VsZWN0Tm9kZUNvbnRlbnRzKGUpLHQucHVzaC5hcHBseSh0LG4uZ2V0Q2xpZW50UmVjdHMoKSl9ZWxzZSBlPWIoZSksdC5wdXNoLmFwcGx5KHQsZS5nZXRDbGllbnRSZWN0cygpKTtyZXR1cm4hMX1GcC5wcm90b3R5cGUuZ2V0Um9vdE5vZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9Zyh0aGlzLl9mcmFnbWVudEZpYmVyKTtyZXR1cm4gdD09PW51bGw_dGhpczpiKHQpLmdldFJvb3ROb2RlKGUpfSxGcC5wcm90b3R5cGUuY29tcGFyZURvY3VtZW50UG9zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9Zyh0aGlzLl9mcmFnbWVudEZpYmVyKTtpZih0PT09bnVsbClyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7dmFyIG49W107aCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLEhwLG4sdm9pZCAwLHZvaWQgMCk7dmFyIHI9Yih0KTtpZihuLmxlbmd0aD09PTApe2lmKG49cixfKHRoaXMuX2ZyYWdtZW50RmliZXIpKXthOntmb3IodD10aGlzLl9mcmFnbWVudEZpYmVyLnJldHVybjt0IT09bnVsbDspe2lmKHQudGFnPT09NCl7dD10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2JyZWFrIGF9aWYodC50YWc9PT0zfHx0LnRhZz09PTV8fHQudGFnPT09MjcpYnJlYWs7dD10LnJldHVybn10PW51bGx9dCE9bnVsbCYmKG49dCl9dD10aGlzLl9mcmFnbWVudEZpYmVyO3ZhciBpPXI9bi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKTtyZXR1cm4gbj09PWU_aT1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TOnImTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkmJihuPXYodClbMV0sbj09PW51bGw_aT1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORzooZT1iKG4pLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpLGk9ZT09PTB8fGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc_Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpKSxpfD1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDfXQ9YihuWzBdKSxpPWIobltuLmxlbmd0aC0xXSk7dmFyIGE9Xyh0aGlzLl9mcmFnbWVudEZpYmVyKT90LnBhcmVudEVsZW1lbnQ6cjtpZihhPT1udWxsKXJldHVybiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRDtyPWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlksYT1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGkpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZO3ZhciBvPXQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkscz1pLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpLGM9byZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWXx8cyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWTtyZXR1cm4gcz1yJiZhJiZvJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HJiZzJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HLHQ9ciYmdD09PWV8fGEmJmk9PT1lfHxjfHxzP05vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZOiFyJiZ0PT09ZXx8IWEmJmk9PT1lP05vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUM6byx0Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEfHx0Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUN8fFhwKHQsdGhpcy5fZnJhZ21lbnRGaWJlcixuWzBdLG5bbi5sZW5ndGgtMV0sZSk_dDpOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDfTtmdW5jdGlvbiBYcChlLHQsbixyLGkpe3ZhciBhPUx0KGkpO2lmKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpe2lmKG49ISFhKWE6e2Zvcig7YSE9PW51bGw7KXtpZihhLnRhZz09PTcmJihhPT09dHx8YS5hbHRlcm5hdGU9PT10KSl7bj0hMDticmVhayBhfWE9YS5yZXR1cm59bj0hMX1yZXR1cm4gbn1pZihlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlMpe2lmKGE9PT1udWxsKXJldHVybiBhPWkub3duZXJEb2N1bWVudCxpPT09YXx8aT09PWEuZG9jdW1lbnRFbGVtZW50fHxpPT09YS5ib2R5O2E6e2ZvcihhPXQsdD1nKHQpO2EhPT1udWxsOyl7aWYoIShhLnRhZyE9PTUmJmEudGFnIT09MyYmYS50YWchPT0yN3x8YSE9PXQmJmEuYWx0ZXJuYXRlIT09dCkpe2E9ITA7YnJlYWsgYX1hPWEucmV0dXJufWE9ITF9cmV0dXJuIGF9cmV0dXJuIGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkc_KCh0PSEhYSkmJiEodD1hPT09bikmJih0PUUobixhLFQpLHQ9PT1udWxsP3Q9ITE6KGgodCwhMCxDLGEsbiksYT14LHg9bnVsbCx0PWEhPT1udWxsKSksdCk6ZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8oKHQ9ISFhKSYmISh0PWE9PT1yKSYmKHQ9RShyLGEsVCksdD09PW51bGw_dD0hMTooaCh0LCEwLHcsYSxyKSxhPXgsUz14PW51bGwsdD1hIT09bnVsbCkpLHQpOiExfWZ1bmN0aW9uIFpwKGUsdCl7dmFyIG49ZS5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7bi5zZWxlY3ROb2RlQ29udGVudHMoZSksZT1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHdpbmRvdy5zY3JvbGxUbyh3aW5kb3cuc2Nyb2xsWCtlLmxlZnQsdD93aW5kb3cuc2Nyb2xsWStlLnRvcDp3aW5kb3cuc2Nyb2xsWStlLmJvdHRvbS13aW5kb3cuaW5uZXJIZWlnaHQpfUZwLnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldz1mdW5jdGlvbihlKXtpZih0eXBlb2YgZT09YG9iamVjdGApdGhyb3cgRXJyb3Iocyg1NjYpKTt2YXIgdD1bXTtoKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsSHAsdCx2b2lkIDAsdm9pZCAwKTt2YXIgbj0hMSE9PWU7aWYodC5sZW5ndGg9PT0wKXt2YXIgcj12KHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKHI9bj9yWzFdfHxyWzBdfHxnKHRoaXMuX2ZyYWdtZW50RmliZXIpOnJbMF18fHJbMV0scj09PW51bGwpcmV0dXJuO2lmKHIudGFnPT09Nil7ZT1iKHIpLFpwKGUsbik7cmV0dXJufWlmKHI9YihyKSxyLm5vZGVUeXBlIT09OSl7aWYoci5ub2RlVHlwZT09PTExKXtuPWBob3N0YGluIHI_ci5ob3N0Om51bGwsbiE9PW51bGwmJm4uc2Nyb2xsSW50b1ZpZXcoZSk7cmV0dXJufXIuc2Nyb2xsSW50b1ZpZXcoZSl9fWZvcihyPW4_dC5sZW5ndGgtMTowO3IhPT0obj8tMTp0Lmxlbmd0aCk7KXt2YXIgaT10W3JdO2kudGFnPT09Nj8oaT1iKGkpLFpwKGksbikpOmIoaSkuc2Nyb2xsSW50b1ZpZXcoZSkscis9bj8tMToxfX07ZnVuY3Rpb24gUXAoZSx0KXtyZXR1cm4gZT1iKGUpLCRwKGUsdCksITF9ZnVuY3Rpb24gJHAoZSx0KXtlLnJlYWN0RnJhZ21lbnRzPz89bmV3IFNldCxlLnJlYWN0RnJhZ21lbnRzLmFkZCh0KX1mdW5jdGlvbiBlbShlLHQpe3ZhciBuPXQuX2V2ZW50TGlzdGVuZXJzO2lmKG4hPT1udWxsKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1uW3JdO2UuYWRkRXZlbnRMaXN0ZW5lcihpLnR5cGUsaS5hdHRhY2hlZExpc3RlbmVyLFJwKGkub3B0aW9uc09yVXNlQ2FwdHVyZSkpfWUubm9kZVR5cGUhPT0zJiYobj10Ll9vYnNlcnZlcnMsbiE9PW51bGwmJm4uZm9yRWFjaChmdW5jdGlvbihuKXtmb3IodmFyIHI9MCxpPTA7aTxLcC5sZW5ndGg7aSsrKXt2YXIgYT1LcFtpXTsoYS5mcmFnbWVudEluc3RhbmNlIT09dHx8YS5vYnNlcnZlciE9PW58fGEuaW5zdGFuY2UhPT1lKSYmKEtwW3IrK109YSl9S3AubGVuZ3RoPXIsbi5vYnNlcnZlKGUpfSksJHAoZSx0KSl9ZnVuY3Rpb24gdG0oZSx0KXt2YXIgbj10Ll9ldmVudExpc3RlbmVycztpZihuIT09bnVsbClmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGk9bltyXTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoaS50eXBlLGkuYXR0YWNoZWRMaXN0ZW5lcixScChpLm9wdGlvbnNPclVzZUNhcHR1cmUpKX1lLm5vZGVUeXBlIT09MyYmKG49dC5fb2JzZXJ2ZXJzLG4hPT1udWxsJiZuLmZvckVhY2goZnVuY3Rpb24obil7dHlwZW9mIG4ucm9vdE1hcmdpbj09YHN0cmluZ2A_SnAodCxuLGUpOm4udW5vYnNlcnZlKGUpfSksZS5yZWFjdEZyYWdtZW50cyE9bnVsbCYmZS5yZWFjdEZyYWdtZW50cy5kZWxldGUodCkpfWZ1bmN0aW9uIG5tKGUpe3ZhciB0PWUuZmlyc3RDaGlsZDtmb3IodCYmdC5ub2RlVHlwZT09PTEwJiYodD10Lm5leHRTaWJsaW5nKTt0Oyl7dmFyIG49dDtzd2l0Y2godD10Lm5leHRTaWJsaW5nLG4ubm9kZU5hbWUpe2Nhc2VgSFRNTGA6Y2FzZWBIRUFEYDpjYXNlYEJPRFlgOm5tKG4pLEl0KG4pO2NvbnRpbnVlO2Nhc2VgU0NSSVBUYDpjYXNlYFNUWUxFYDpjb250aW51ZTtjYXNlYExJTktgOmlmKG4ucmVsLnRvTG93ZXJDYXNlKCk9PT1gc3R5bGVzaGVldGApY29udGludWV9ZS5yZW1vdmVDaGlsZChuKX19ZnVuY3Rpb24gcm0oZSx0LG4scil7Zm9yKDtlLm5vZGVUeXBlPT09MTspe3ZhciBpPW47aWYoZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09dC50b0xvd2VyQ2FzZSgpKXtpZighciYmKGUubm9kZU5hbWUhPT1gSU5QVVRgfHxlLnR5cGUhPT1gaGlkZGVuYCkpYnJlYWt9ZWxzZSBpZighcil7aWYodD09PWBpbnB1dGAmJmUudHlwZT09PWBoaWRkZW5gKXt2YXIgYT1pLm5hbWU9PW51bGw_bnVsbDpgYCtpLm5hbWU7aWYoaS50eXBlPT09YGhpZGRlbmAmJmUuZ2V0QXR0cmlidXRlKGBuYW1lYCk9PT1hKXJldHVybiBlfWVsc2UgcmV0dXJuIGV9ZWxzZSBpZighZVtQdF0pc3dpdGNoKHQpe2Nhc2VgbWV0YWA6aWYoIWUuaGFzQXR0cmlidXRlKGBpdGVtcHJvcGApKWJyZWFrO3JldHVybiBlO2Nhc2VgbGlua2A6aWYoYT1lLmdldEF0dHJpYnV0ZShgcmVsYCksYT09PWBzdHlsZXNoZWV0YCYmZS5oYXNBdHRyaWJ1dGUoYGRhdGEtcHJlY2VkZW5jZWApfHxhIT09aS5yZWx8fGUuZ2V0QXR0cmlidXRlKGBocmVmYCkhPT0oaS5ocmVmPT1udWxsfHxpLmhyZWY9PT1gYD9udWxsOmkuaHJlZil8fGUuZ2V0QXR0cmlidXRlKGBjcm9zc29yaWdpbmApIT09KGkuY3Jvc3NPcmlnaW49PW51bGw_bnVsbDppLmNyb3NzT3JpZ2luKXx8ZS5nZXRBdHRyaWJ1dGUoYHRpdGxlYCkhPT0oaS50aXRsZT09bnVsbD9udWxsOmkudGl0bGUpKWJyZWFrO3JldHVybiBlO2Nhc2Vgc3R5bGVgOmlmKGUuaGFzQXR0cmlidXRlKGBkYXRhLXByZWNlZGVuY2VgKSlicmVhaztyZXR1cm4gZTtjYXNlYHNjcmlwdGA6aWYoYT1lLmdldEF0dHJpYnV0ZShgc3JjYCksKGEhPT0oaS5zcmM9PW51bGw_bnVsbDppLnNyYyl8fGUuZ2V0QXR0cmlidXRlKGB0eXBlYCkhPT0oaS50eXBlPT1udWxsP251bGw6aS50eXBlKXx8ZS5nZXRBdHRyaWJ1dGUoYGNyb3Nzb3JpZ2luYCkhPT0oaS5jcm9zc09yaWdpbj09bnVsbD9udWxsOmkuY3Jvc3NPcmlnaW4pKSYmYSYmZS5oYXNBdHRyaWJ1dGUoYGFzeW5jYCkmJiFlLmhhc0F0dHJpYnV0ZShgaXRlbXByb3BgKSlicmVhaztyZXR1cm4gZTtkZWZhdWx0OnJldHVybiBlfWlmKGU9bG0oZS5uZXh0U2libGluZyksZT09PW51bGwpYnJlYWt9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaW0oZSx0LG4pe2lmKHQ9PT1gYClyZXR1cm4gbnVsbDtmb3IoO2Uubm9kZVR5cGUhPT0zOylpZigoZS5ub2RlVHlwZSE9PTF8fGUubm9kZU5hbWUhPT1gSU5QVVRgfHxlLnR5cGUhPT1gaGlkZGVuYCkmJiFufHwoZT1sbShlLm5leHRTaWJsaW5nKSxlPT09bnVsbCkpcmV0dXJuIG51bGw7cmV0dXJuIGV9ZnVuY3Rpb24gYW0oZSx0KXtmb3IoO2Uubm9kZVR5cGUhPT04OylpZigoZS5ub2RlVHlwZSE9PTF8fGUubm9kZU5hbWUhPT1gSU5QVVRgfHxlLnR5cGUhPT1gaGlkZGVuYCkmJiF0fHwoZT1sbShlLm5leHRTaWJsaW5nKSxlPT09bnVsbCkpcmV0dXJuIG51bGw7cmV0dXJuIGV9ZnVuY3Rpb24gb20oZSl7cmV0dXJuIGUuZGF0YT09PWAkP2B8fGUuZGF0YT09PWAkfmB9ZnVuY3Rpb24gc20oZSl7cmV0dXJuIGUuZGF0YT09PWAkIWB8fGUuZGF0YT09PWAkP2AmJmUub3duZXJEb2N1bWVudC5yZWFkeVN0YXRlIT09YGxvYWRpbmdgfWZ1bmN0aW9uIGNtKGUsdCl7dmFyIG49ZS5vd25lckRvY3VtZW50O2lmKGUuZGF0YT09PWAkfmApZS5fcmVhY3RSZXRyeT10O2Vsc2UgaWYoZS5kYXRhIT09YCQ_YHx8bi5yZWFkeVN0YXRlIT09YGxvYWRpbmdgKXQoKTtlbHNle3ZhciByPWZ1bmN0aW9uKCl7dCgpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihgRE9NQ29udGVudExvYWRlZGAscil9O24uYWRkRXZlbnRMaXN0ZW5lcihgRE9NQ29udGVudExvYWRlZGAsciksZS5fcmVhY3RSZXRyeT1yfX1mdW5jdGlvbiBsbShlKXtmb3IoO2UhPW51bGw7ZT1lLm5leHRTaWJsaW5nKXt2YXIgdD1lLm5vZGVUeXBlO2lmKHQ9PT0xfHx0PT09MylicmVhaztpZih0PT09OCl7aWYodD1lLmRhdGEsdD09PWAkYHx8dD09PWAkIWB8fHQ9PT1gJD9gfHx0PT09YCR-YHx8dD09PWAmYHx8dD09PWBGIWB8fHQ9PT1gRmApYnJlYWs7aWYodD09PWAvJGB8fHQ9PT1gLyZgKXJldHVybiBudWxsfX1yZXR1cm4gZX12YXIgdW09bnVsbDtmdW5jdGlvbiBkbShlKXtlPWUubmV4dFNpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKGUubm9kZVR5cGU9PT04KXt2YXIgbj1lLmRhdGE7aWYobj09PWAvJGB8fG49PT1gLyZgKXtpZih0PT09MClyZXR1cm4gbG0oZS5uZXh0U2libGluZyk7dC0tfWVsc2UgbiE9PWAkYCYmbiE9PWAkIWAmJm4hPT1gJD9gJiZuIT09YCR-YCYmbiE9PWAmYHx8dCsrfWU9ZS5uZXh0U2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBmbShlKXtlPWUucHJldmlvdXNTaWJsaW5nO2Zvcih2YXIgdD0wO2U7KXtpZihlLm5vZGVUeXBlPT09OCl7dmFyIG49ZS5kYXRhO2lmKG49PT1gJGB8fG49PT1gJCFgfHxuPT09YCQ_YHx8bj09PWAkfmB8fG49PT1gJmApe2lmKHQ9PT0wKXJldHVybiBlO3QtLX1lbHNlIG4hPT1gLyRgJiZuIT09YC8mYHx8dCsrfWU9ZS5wcmV2aW91c1NpYmxpbmd9cmV0dXJuIG51bGx9ZnVuY3Rpb24gcG0oZSx0KXtmdW5jdGlvbiBuKCl7cj0hMH1pZihlLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWUpcmV0dXJuITA7dmFyIHI9ITE7dHJ5e2Uub3duZXJEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGBmb2N1c2AsbiwhMCksKGUuZm9jdXN8fEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cykuY2FsbChlLHQpfWZpbmFsbHl7ZS5vd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoYGZvY3VzYCxuLCEwKX1yZXR1cm4gcn1mdW5jdGlvbiBtbShlKXt5cChmdW5jdGlvbigpe3lwKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSl9KX1mdW5jdGlvbiBobShlLHQsbil7c3dpdGNoKHQ9bHAobiksZSl7Y2FzZWBodG1sYDppZihlPXQuZG9jdW1lbnRFbGVtZW50LCFlKXRocm93IEVycm9yKHMoNDUyKSk7cmV0dXJuIGU7Y2FzZWBoZWFkYDppZihlPXQuaGVhZCwhZSl0aHJvdyBFcnJvcihzKDQ1MykpO3JldHVybiBlO2Nhc2VgYm9keWA6aWYoZT10LmJvZHksIWUpdGhyb3cgRXJyb3Iocyg0NTQpKTtyZXR1cm4gZTtkZWZhdWx0OnRocm93IEVycm9yKHMoNDUxKSl9fWZ1bmN0aW9uIGdtKGUsdCxuKXtmb3IodmFyIHIgaW4gbil7dmFyIGk9bltyXTtuLmhhc093blByb3BlcnR5KHIpJiZpIT1udWxsJiZlcChlLHQscixudWxsLHJwLGkpfW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPW51bGwmJihlLnRleHRDb250ZW50PWBgKSxlLm9uY2xpY2s9PT1DbiYmKGUub25jbGljaz1udWxsKSxJdChlKX1mdW5jdGlvbiBfbShlKXtmb3IodmFyIHQ9ZS5hdHRyaWJ1dGVzO3QubGVuZ3RoOyllLnJlbW92ZUF0dHJpYnV0ZU5vZGUodFswXSk7SXQoZSl9dmFyIHZtPW5ldyBNYXAseW09bmV3IFNldDtmdW5jdGlvbiBibShlKXtpZih0eXBlb2YgZS5nZXRSb290Tm9kZT09YGZ1bmN0aW9uYCl7dmFyIHQ9ZS5nZXRSb290Tm9kZSgpO2lmKHQubm9kZVR5cGU9PT05fHx0Lm5vZGVUeXBlPT09MTEpcmV0dXJuIHR9cmV0dXJuIGUubm9kZVR5cGU9PT05P2U6ZS5vd25lckRvY3VtZW50fXZhciB4bT1NLmQ7TS5kPXtmOlNtLHI6Q20sRDpFbSxDOkRtLEw6T20sbTprbSxYOmptLFM6QW0sTTpNbX07ZnVuY3Rpb24gU20oKXt2YXIgZT14bS5mKCksdD1SZCgpO3JldHVybiBlfHx0fWZ1bmN0aW9uIENtKGUpe3ZhciB0PVJ0KGUpO3QhPT1udWxsJiZ0LnRhZz09PTUmJnQudHlwZT09PWBmb3JtYD9hYyh0KTp4bS5yKGUpfXZhciB3bT10eXBlb2YgZG9jdW1lbnQ-YHVgP251bGw6ZG9jdW1lbnQ7ZnVuY3Rpb24gVG0oZSx0LG4pe3ZhciByPXdtO2lmKHImJnR5cGVvZiB0PT1gc3RyaW5nYCYmdCl7dmFyIGk9Y24odCk7aT1gbGlua1tyZWw9ImArZStgIl1baHJlZj0iYCtpK2AiXWAsdHlwZW9mIG49PWBzdHJpbmdgJiYoaSs9YFtjcm9zc29yaWdpbj0iYCtuK2AiXWApLHltLmhhcyhpKXx8KHltLmFkZChpKSxlPXtyZWw6ZSxjcm9zc09yaWdpbjpuLGhyZWY6dH0sci5xdWVyeVNlbGVjdG9yKGkpPT09bnVsbCYmKHQ9ci5jcmVhdGVFbGVtZW50KGBsaW5rYCksbnAodCxgbGlua2AsZSksVnQodCksci5oZWFkLmFwcGVuZENoaWxkKHQpKSl9fWZ1bmN0aW9uIEVtKGUpe3htLkQoZSksVG0oYGRucy1wcmVmZXRjaGAsZSxudWxsKX1mdW5jdGlvbiBEbShlLHQpe3htLkMoZSx0KSxUbShgcHJlY29ubmVjdGAsZSx0KX1mdW5jdGlvbiBPbShlLHQsbil7eG0uTChlLHQsbik7dmFyIHI9d207aWYociYmZSYmdCl7dmFyIGk9YGxpbmtbcmVsPSJwcmVsb2FkIl1bYXM9ImArY24odCkrYCJdYDt0PT09YGltYWdlYCYmbiYmbi5pbWFnZVNyY1NldD8oaSs9YFtpbWFnZXNyY3NldD0iYCtjbihuLmltYWdlU3JjU2V0KStgIl1gLHR5cGVvZiBuLmltYWdlU2l6ZXM9PWBzdHJpbmdgJiYoaSs9YFtpbWFnZXNpemVzPSJgK2NuKG4uaW1hZ2VTaXplcykrYCJdYCkpOmkrPWBbaHJlZj0iYCtjbihlKStgIl1gO3ZhciBhPWk7c3dpdGNoKHQpe2Nhc2Vgc3R5bGVgOmE9UG0oZSk7YnJlYWs7Y2FzZWBzY3JpcHRgOmE9Um0oZSl9aWYoISh2bS5oYXMoYSl8fChlPUQoe3JlbDpgcHJlbG9hZGAsaHJlZjp0PT09YGltYWdlYCYmbiYmbi5pbWFnZVNyY1NldD92b2lkIDA6ZSxhczp0fSxuKSx2bS5zZXQoYSxlKSxyLnF1ZXJ5U2VsZWN0b3IoaSkhPT1udWxsfHx0PT09YHN0eWxlYCYmci5xdWVyeVNlbGVjdG9yKEZtKGEpKXx8dD09PWBzY3JpcHRgJiZyLnF1ZXJ5U2VsZWN0b3Ioem0oYSkpKSkpe3ZhciBvPXIuY3JlYXRlRWxlbWVudChgbGlua2ApO25wKG8sYGxpbmtgLGUpLHQ9PT1gc3R5bGVgJiYob1tGdF09ITAsby5vbmxvYWQ9by5vbmVycm9yPWZ1bmN0aW9uKCl7SHQobyl9KSxWdChvKSxyLmhlYWQuYXBwZW5kQ2hpbGQobyl9fX1mdW5jdGlvbiBrbShlLHQpe3htLm0oZSx0KTt2YXIgbj13bTtpZihuJiZlKXt2YXIgcj10JiZ0eXBlb2YgdC5hcz09YHN0cmluZ2A_dC5hczpgc2NyaXB0YCxpPWBsaW5rW3JlbD0ibW9kdWxlcHJlbG9hZCJdW2FzPSJgK2NuKHIpK2AiXVtocmVmPSJgK2NuKGUpK2AiXWAsYT1pO3N3aXRjaChyKXtjYXNlYGF1ZGlvd29ya2xldGA6Y2FzZWBwYWludHdvcmtsZXRgOmNhc2Vgc2VydmljZXdvcmtlcmA6Y2FzZWBzaGFyZWR3b3JrZXJgOmNhc2Vgd29ya2VyYDpjYXNlYHNjcmlwdGA6YT1SbShlKX1pZighdm0uaGFzKGEpJiYoZT1EKHtyZWw6YG1vZHVsZXByZWxvYWRgLGhyZWY6ZX0sdCksdm0uc2V0KGEsZSksbi5xdWVyeVNlbGVjdG9yKGkpPT09bnVsbCkpe3N3aXRjaChyKXtjYXNlYGF1ZGlvd29ya2xldGA6Y2FzZWBwYWludHdvcmtsZXRgOmNhc2Vgc2VydmljZXdvcmtlcmA6Y2FzZWBzaGFyZWR3b3JrZXJgOmNhc2Vgd29ya2VyYDpjYXNlYHNjcmlwdGA6aWYobi5xdWVyeVNlbGVjdG9yKHptKGEpKSlyZXR1cm59cj1uLmNyZWF0ZUVsZW1lbnQoYGxpbmtgKSxucChyLGBsaW5rYCxlKSxWdChyKSxuLmhlYWQuYXBwZW5kQ2hpbGQocil9fX1mdW5jdGlvbiBBbShlLHQsbil7eG0uUyhlLHQsbik7dmFyIHI9d207aWYociYmZSl7dmFyIGk9QnQocikuaG9pc3RhYmxlU3R5bGVzLGE9UG0oZSk7dHx8PWBkZWZhdWx0YDt2YXIgbz1pLmdldChhKTtpZighbyl7dmFyIHM9e2xvYWRpbmc6MCxwcmVsb2FkOm51bGx9O2lmKG89ci5xdWVyeVNlbGVjdG9yKEZtKGEpKSlzLmxvYWRpbmc9NTtlbHNle2U9RCh7cmVsOmBzdHlsZXNoZWV0YCxocmVmOmUsImRhdGEtcHJlY2VkZW5jZSI6dH0sbiksKG49dm0uZ2V0KGEpKSYmSG0oZSxuKTt2YXIgYz1vPXIuY3JlYXRlRWxlbWVudChgbGlua2ApO1Z0KGMpLG5wKGMsYGxpbmtgLGUpLGMuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZSx0KXtjLm9ubG9hZD1lLGMub25lcnJvcj10fSksYy5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxmdW5jdGlvbigpe3MubG9hZGluZ3w9MX0pLGMuYWRkRXZlbnRMaXN0ZW5lcihgZXJyb3JgLGZ1bmN0aW9uKCl7cy5sb2FkaW5nfD0yfSkscy5sb2FkaW5nfD00LFZtKG8sdCxyKX1vPXt0eXBlOmBzdHlsZXNoZWV0YCxpbnN0YW5jZTpvLGNvdW50OjEsc3RhdGU6c30saS5zZXQoYSxvKX19fWZ1bmN0aW9uIGptKGUsdCl7eG0uWChlLHQpO3ZhciBuPXdtO2lmKG4mJmUpe3ZhciByPUJ0KG4pLmhvaXN0YWJsZVNjcmlwdHMsaT1SbShlKSxhPXIuZ2V0KGkpO2F8fChhPW4ucXVlcnlTZWxlY3Rvcih6bShpKSksYXx8KGU9RCh7c3JjOmUsYXN5bmM6ITB9LHQpLCh0PXZtLmdldChpKSkmJlVtKGUsdCksYT1uLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApLFZ0KGEpLG5wKGEsYGxpbmtgLGUpLG4uaGVhZC5hcHBlbmRDaGlsZChhKSksYT17dHlwZTpgc2NyaXB0YCxpbnN0YW5jZTphLGNvdW50OjEsc3RhdGU6bnVsbH0sci5zZXQoaSxhKSl9fWZ1bmN0aW9uIE1tKGUsdCl7eG0uTShlLHQpO3ZhciBuPXdtO2lmKG4mJmUpe3ZhciByPUJ0KG4pLmhvaXN0YWJsZVNjcmlwdHMsaT1SbShlKSxhPXIuZ2V0KGkpO2F8fChhPW4ucXVlcnlTZWxlY3Rvcih6bShpKSksYXx8KGU9RCh7c3JjOmUsYXN5bmM6ITAsdHlwZTpgbW9kdWxlYH0sdCksKHQ9dm0uZ2V0KGkpKSYmVW0oZSx0KSxhPW4uY3JlYXRlRWxlbWVudChgc2NyaXB0YCksVnQoYSksbnAoYSxgbGlua2AsZSksbi5oZWFkLmFwcGVuZENoaWxkKGEpKSxhPXt0eXBlOmBzY3JpcHRgLGluc3RhbmNlOmEsY291bnQ6MSxzdGF0ZTpudWxsfSxyLnNldChpLGEpKX19ZnVuY3Rpb24gTm0oZSx0LG4scil7dmFyIGk9KGk9T2UuY3VycmVudCk_Ym0oaSk6bnVsbDtpZighaSl0aHJvdyBFcnJvcihzKDQ0NikpO3N3aXRjaChlKXtjYXNlYG1ldGFgOmNhc2VgdGl0bGVgOnJldHVybiBudWxsO2Nhc2Vgc3R5bGVgOnJldHVybiB0eXBlb2Ygbi5wcmVjZWRlbmNlPT1gc3RyaW5nYCYmdHlwZW9mIG4uaHJlZj09YHN0cmluZ2A_KG49UG0obi5ocmVmKSx0PUJ0KGkpLmhvaXN0YWJsZVN0eWxlcyxyPXQuZ2V0KG4pLHJ8fChyPXt0eXBlOmBzdHlsZWAsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LHQuc2V0KG4scikpLHIpOnt0eXBlOmB2b2lkYCxpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07Y2FzZWBsaW5rYDppZihuLnJlbD09PWBzdHlsZXNoZWV0YCYmdHlwZW9mIG4uaHJlZj09YHN0cmluZ2AmJnR5cGVvZiBuLnByZWNlZGVuY2U9PWBzdHJpbmdgKXtlPVBtKG4uaHJlZik7dmFyIGE9QnQoaSkuaG9pc3RhYmxlU3R5bGVzLG89YS5nZXQoZSk7aWYob3x8KGk9aS5vd25lckRvY3VtZW50fHxpLG89e3R5cGU6YHN0eWxlc2hlZXRgLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LGEuc2V0KGUsbyksKGE9aS5xdWVyeVNlbGVjdG9yKEZtKGUpKSk_YS5fcHx8KG8uaW5zdGFuY2U9YSxvLnN0YXRlLmxvYWRpbmc9NSk6KGE9dm0uZ2V0KGUpLGF8fChhPXtyZWw6YHByZWxvYWRgLGFzOmBzdHlsZWAsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LHZtLnNldChlLGEpKSxMbShpLGUsYSxvLnN0YXRlKSkpLHQmJnI9PT1udWxsKXRocm93IEVycm9yKHMoNTI4LGBgKSk7cmV0dXJuIG99aWYodCYmciE9PW51bGwpdGhyb3cgRXJyb3Iocyg1MjksYGApKTtyZXR1cm4gbnVsbDtjYXNlYHNjcmlwdGA6cmV0dXJuIHQ9bi5hc3luYyxuPW4uc3JjLHR5cGVvZiBuPT1gc3RyaW5nYCYmdCYmdHlwZW9mIHQhPWBmdW5jdGlvbmAmJnR5cGVvZiB0IT1gc3ltYm9sYD8obj1SbShuKSx0PUJ0KGkpLmhvaXN0YWJsZVNjcmlwdHMscj10LmdldChuKSxyfHwocj17dHlwZTpgc2NyaXB0YCxpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH0sdC5zZXQobixyKSkscik6e3R5cGU6YHZvaWRgLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfTtkZWZhdWx0OnRocm93IEVycm9yKHMoNDQ0LGUpKX19ZnVuY3Rpb24gUG0oZSl7cmV0dXJuYGhyZWY9ImArY24oZSkrYCJgfWZ1bmN0aW9uIEZtKGUpe3JldHVybmBsaW5rW3JlbD0ic3R5bGVzaGVldCJdW2ArZStgXWB9ZnVuY3Rpb24gSW0oZSl7cmV0dXJuIEQoe30sZSx7ImRhdGEtcHJlY2VkZW5jZSI6ZS5wcmVjZWRlbmNlLHByZWNlZGVuY2U6bnVsbH0pfWZ1bmN0aW9uIExtKGUsdCxuLHIpe2lmKHQ9ZS5xdWVyeVNlbGVjdG9yKGBsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdW2ArdCtgXWApKXtpZighMCE9PXRbRnRdKXtyLmxvYWRpbmc9MTtyZXR1cm59fWVsc2UgdD1lLmNyZWF0ZUVsZW1lbnQoYGxpbmtgKSx0W0Z0XT0hMCx0Lm9ubG9hZD10Lm9uZXJyb3I9SHQuYmluZChudWxsLHQpLG5wKHQsYGxpbmtgLG4pLFZ0KHQpLGUuaGVhZC5hcHBlbmRDaGlsZCh0KTtyLnByZWxvYWQ9dCx0LmFkZEV2ZW50TGlzdGVuZXIoYGxvYWRgLGZ1bmN0aW9uKCl7cmV0dXJuIHIubG9hZGluZ3w9MX0pLHQuYWRkRXZlbnRMaXN0ZW5lcihgZXJyb3JgLGZ1bmN0aW9uKCl7cmV0dXJuIHIubG9hZGluZ3w9Mn0pfWZ1bmN0aW9uIFJtKGUpe3JldHVybmBbc3JjPSJgK2NuKGUpK2AiXWB9ZnVuY3Rpb24gem0oZSl7cmV0dXJuYHNjcmlwdFthc3luY11gK2V9ZnVuY3Rpb24gQm0oZSx0LG4pe2lmKHQuY291bnQrKyx0Lmluc3RhbmNlPT09bnVsbClzd2l0Y2godC50eXBlKXtjYXNlYHN0eWxlYDp2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoYHN0eWxlW2RhdGEtaHJlZn49ImArY24obi5ocmVmKStgIl1gKTtpZihyKXJldHVybiB0Lmluc3RhbmNlPXIsVnQocikscjt2YXIgaT1EKHt9LG4seyJkYXRhLWhyZWYiOm4uaHJlZiwiZGF0YS1wcmVjZWRlbmNlIjpuLnByZWNlZGVuY2UsaHJlZjpudWxsLHByZWNlZGVuY2U6bnVsbH0pO3JldHVybiByPShlLm93bmVyRG9jdW1lbnR8fGUpLmNyZWF0ZUVsZW1lbnQoYHN0eWxlYCksVnQociksbnAocixgc3R5bGVgLGkpLFZtKHIsbi5wcmVjZWRlbmNlLGUpLHQuaW5zdGFuY2U9cjtjYXNlYHN0eWxlc2hlZXRgOmk9UG0obi5ocmVmKTt2YXIgYT1lLnF1ZXJ5U2VsZWN0b3IoRm0oaSkpO2lmKGEpcmV0dXJuIHQuc3RhdGUubG9hZGluZ3w9NCx0Lmluc3RhbmNlPWEsVnQoYSksYTtyPUltKG4pLChpPXZtLmdldChpKSkmJkhtKHIsaSksYT0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KGBsaW5rYCksVnQoYSk7dmFyIG89YTtyZXR1cm4gby5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxucChhLGBsaW5rYCxyKSx0LnN0YXRlLmxvYWRpbmd8PTQsVm0oYSxuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1hO2Nhc2Vgc2NyaXB0YDpyZXR1cm4gYT1SbShuLnNyYyksKGk9ZS5xdWVyeVNlbGVjdG9yKHptKGEpKSk_KHQuaW5zdGFuY2U9aSxWdChpKSxpKToocj1uLChpPXZtLmdldChhKSkmJihyPUQoe30sbiksVW0ocixpKSksZT1lLm93bmVyRG9jdW1lbnR8fGUsaT1lLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApLFZ0KGkpLG5wKGksYGxpbmtgLHIpLGUuaGVhZC5hcHBlbmRDaGlsZChpKSx0Lmluc3RhbmNlPWkpO2Nhc2Vgdm9pZGA6cmV0dXJuIG51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcihzKDQ0Myx0LnR5cGUpKX1lbHNlIHQudHlwZT09PWBzdHlsZXNoZWV0YCYmISh0LnN0YXRlLmxvYWRpbmcmNCkmJihyPXQuaW5zdGFuY2UsdC5zdGF0ZS5sb2FkaW5nfD00LFZtKHIsbi5wcmVjZWRlbmNlLGUpKTtyZXR1cm4gdC5pbnN0YW5jZX1mdW5jdGlvbiBWbShlLHQsbil7Zm9yKHZhciByPW4ucXVlcnlTZWxlY3RvckFsbChgbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV1gKSxpPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06bnVsbCxhPWksbz0wO288ci5sZW5ndGg7bysrKXt2YXIgcz1yW29dO2lmKHMuZGF0YXNldC5wcmVjZWRlbmNlPT09dClhPXM7ZWxzZSBpZihhIT09aSlicmVha31hP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxhLm5leHRTaWJsaW5nKToodD1uLm5vZGVUeXBlPT09OT9uLmhlYWQ6bix0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCkpfWZ1bmN0aW9uIEhtKGUsdCl7ZS5jcm9zc09yaWdpbj8_PXQuY3Jvc3NPcmlnaW4sZS5yZWZlcnJlclBvbGljeT8_PXQucmVmZXJyZXJQb2xpY3ksZS50aXRsZT8_PXQudGl0bGV9ZnVuY3Rpb24gVW0oZSx0KXtlLmNyb3NzT3JpZ2luPz89dC5jcm9zc09yaWdpbixlLnJlZmVycmVyUG9saWN5Pz89dC5yZWZlcnJlclBvbGljeSxlLmludGVncml0eT8_PXQuaW50ZWdyaXR5fXZhciBXbT1udWxsO2Z1bmN0aW9uIEdtKGUsdCxuKXtpZihXbT09PW51bGwpe3ZhciByPW5ldyBNYXAsaT1XbT1uZXcgTWFwO2kuc2V0KG4scil9ZWxzZSBpPVdtLHI9aS5nZXQobikscnx8KHI9bmV3IE1hcCxpLnNldChuLHIpKTtpZihyLmhhcyhlKSlyZXR1cm4gcjtmb3Ioci5zZXQoZSxudWxsKSxuPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSksaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgYT1uW2ldO2lmKCEoYVtQdF18fGFbRHRdfHxlPT09YGxpbmtgJiZhLmdldEF0dHJpYnV0ZShgcmVsYCk9PT1gc3R5bGVzaGVldGApJiZhLm5hbWVzcGFjZVVSSSE9PWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2Ape3ZhciBvPWEuZ2V0QXR0cmlidXRlKHQpfHxgYDtvPWUrbzt2YXIgcz1yLmdldChvKTtzP3MucHVzaChhKTpyLnNldChvLFthXSl9fXJldHVybiByfWZ1bmN0aW9uIEttKGUsdCxuKXtlPWUub3duZXJEb2N1bWVudHx8ZSxlLmhlYWQuaW5zZXJ0QmVmb3JlKG4sdD09PWB0aXRsZWA_ZS5xdWVyeVNlbGVjdG9yKGBoZWFkID4gdGl0bGVgKTpudWxsKX1mdW5jdGlvbiBxbShlLHQsbil7aWYobj09PTF8fHQuaXRlbVByb3AhPW51bGwpcmV0dXJuITE7c3dpdGNoKGUpe2Nhc2VgbWV0YWA6Y2FzZWB0aXRsZWA6cmV0dXJuITA7Y2FzZWBzdHlsZWA6aWYodHlwZW9mIHQucHJlY2VkZW5jZSE9YHN0cmluZ2B8fHR5cGVvZiB0LmhyZWYhPWBzdHJpbmdgfHx0LmhyZWY9PT1gYClicmVhaztyZXR1cm4hMDtjYXNlYGxpbmtgOmlmKHR5cGVvZiB0LnJlbCE9YHN0cmluZ2B8fHR5cGVvZiB0LmhyZWYhPWBzdHJpbmdgfHx0LmhyZWY9PT1gYHx8dC5vbkxvYWR8fHQub25FcnJvcilicmVhaztzd2l0Y2godC5yZWwpe2Nhc2Vgc3R5bGVzaGVldGA6cmV0dXJuIGU9dC5kaXNhYmxlZCx0eXBlb2YgdC5wcmVjZWRlbmNlPT1gc3RyaW5nYCYmZT09bnVsbDtkZWZhdWx0OnJldHVybiEwfWNhc2Vgc2NyaXB0YDppZih0LmFzeW5jJiZ0eXBlb2YgdC5hc3luYyE9YGZ1bmN0aW9uYCYmdHlwZW9mIHQuYXN5bmMhPWBzeW1ib2xgJiYhdC5vbkxvYWQmJiF0Lm9uRXJyb3ImJnQuc3JjJiZ0eXBlb2YgdC5zcmM9PWBzdHJpbmdgKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIEptKGUsdCl7cmV0dXJuIGU9PT1gaW1nYCYmdC5zcmMhPW51bGwmJnQuc3JjIT09YGAmJnQub25Mb2FkPT1udWxsJiZ0LmxvYWRpbmchPT1gbGF6eWB9ZnVuY3Rpb24gWW0oZSl7cmV0dXJuIShlLnR5cGU9PT1gc3R5bGVzaGVldGAmJiEoZS5zdGF0ZS5sb2FkaW5nJjMpKX1mdW5jdGlvbiBYbShlKXtyZXR1cm4oZS53aWR0aHx8MTAwKSooZS5oZWlnaHR8fDEwMCkqKHR5cGVvZiBkZXZpY2VQaXhlbFJhdGlvPT1gbnVtYmVyYD9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBabShlLHQpe3R5cGVvZiB0LmRlY29kZT09YGZ1bmN0aW9uYCYmKGUuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwoZS5pbWdCeXRlcys9WG0odCksZS5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksZT1yaC5iaW5kKGUpLHQuZGVjb2RlKCkudGhlbihlLGUpKX1mdW5jdGlvbiBRbShlLHQsbixyKXtpZihuLnR5cGU9PT1gc3R5bGVzaGVldGAmJih0eXBlb2Ygci5tZWRpYSE9YHN0cmluZ2B8fCExIT09bWF0Y2hNZWRpYShyLm1lZGlhKS5tYXRjaGVzKSYmIShuLnN0YXRlLmxvYWRpbmcmNCkpe2lmKG4uaW5zdGFuY2U9PT1udWxsKXt2YXIgaT1QbShyLmhyZWYpLGE9dC5xdWVyeVNlbGVjdG9yKEZtKGkpKTtpZihhKXt0PWEuX3AsdHlwZW9mIHQ9PWBvYmplY3RgJiZ0JiZ0eXBlb2YgdC50aGVuPT1gZnVuY3Rpb25gJiYoZS5jb3VudCsrLGU9bmguYmluZChlKSx0LnRoZW4oZSxlKSksbi5zdGF0ZS5sb2FkaW5nfD00LG4uaW5zdGFuY2U9YSxWdChhKTtyZXR1cm59YT10Lm93bmVyRG9jdW1lbnR8fHQscj1JbShyKSwoaT12bS5nZXQoaSkpJiZIbShyLGkpLGE9YS5jcmVhdGVFbGVtZW50KGBsaW5rYCksVnQoYSk7dmFyIG89YTtvLl9wPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7by5vbmxvYWQ9ZSxvLm9uZXJyb3I9dH0pLG5wKGEsYGxpbmtgLHIpLG4uaW5zdGFuY2U9YX1lLnN0eWxlc2hlZXRzPT09bnVsbCYmKGUuc3R5bGVzaGVldHM9bmV3IE1hcCksZS5zdHlsZXNoZWV0cy5zZXQobix0KSwodD1uLnN0YXRlLnByZWxvYWQpJiYhKG4uc3RhdGUubG9hZGluZyYzKSYmKGUuY291bnQrKyxuPW5oLmJpbmQoZSksdC5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxuKSx0LmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCxuKSl9fXZhciAkbT0wO2Z1bmN0aW9uIGVoKGUsdCl7cmV0dXJuIGUuc3R5bGVzaGVldHMmJmUuY291bnQ9PT0wJiZhaChlLGUuc3R5bGVzaGVldHMpLDA8ZS5jb3VudHx8MDxlLmltZ0NvdW50P2Z1bmN0aW9uKG4pe3ZhciByPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihlLnN0eWxlc2hlZXRzJiZhaChlLGUuc3R5bGVzaGVldHMpLGUudW5zdXNwZW5kKXt2YXIgdD1lLnVuc3VzcGVuZDtlLnVuc3VzcGVuZD1udWxsLHQoKX19LDZlNCt0KTswPGUuaW1nQnl0ZXMmJiRtPT09MCYmKCRtPTYyNTAwKm9wKCkpO3ZhciBpPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihlLndhaXRpbmdGb3JJbWFnZXM9ITEsZS5jb3VudD09PTAmJihlLnN0eWxlc2hlZXRzJiZhaChlLGUuc3R5bGVzaGVldHMpLGUudW5zdXNwZW5kKSl7dmFyIHQ9ZS51bnN1c3BlbmQ7ZS51bnN1c3BlbmQ9bnVsbCx0KCl9fSwoZS5pbWdCeXRlcz4kbT81MDo4MDApK3QpO3JldHVybiBlLnVuc3VzcGVuZD1uLGZ1bmN0aW9uKCl7ZS51bnN1c3BlbmQ9bnVsbCxjbGVhclRpbWVvdXQociksY2xlYXJUaW1lb3V0KGkpfX06bnVsbH1mdW5jdGlvbiB0aChlKXtpZihlLmNvdW50PT09MCYmKGUuaW1nQ291bnQ9PT0wfHwhZS53YWl0aW5nRm9ySW1hZ2VzKSl7aWYoZS5zdHlsZXNoZWV0cylhaChlLGUuc3R5bGVzaGVldHMpO2Vsc2UgaWYoZS51bnN1c3BlbmQpe3ZhciB0PWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsdCgpfX19ZnVuY3Rpb24gbmgoKXt0aGlzLmNvdW50LS0sdGgodGhpcyl9ZnVuY3Rpb24gcmgoKXt0aGlzLmltZ0NvdW50LS0sdGgodGhpcyl9dmFyIGloPW51bGw7ZnVuY3Rpb24gYWgoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsZS51bnN1c3BlbmQhPT1udWxsJiYoZS5jb3VudCsrLGloPW5ldyBNYXAsdC5mb3JFYWNoKG9oLGUpLGloPW51bGwsbmguY2FsbChlKSl9ZnVuY3Rpb24gb2goZSx0KXtpZighKHQuc3RhdGUubG9hZGluZyY0KSl7dmFyIG49aWguZ2V0KGUpO2lmKG4pdmFyIHI9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsaWguc2V0KGUsbik7Zm9yKHZhciBpPWUucXVlcnlTZWxlY3RvckFsbChgbGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV1gKSxhPTA7YTxpLmxlbmd0aDthKyspe3ZhciBvPWlbYV07KG8ubm9kZU5hbWU9PT1gTElOS2B8fG8uZ2V0QXR0cmlidXRlKGBtZWRpYWApIT09YG5vdCBhbGxgKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLHI9byl9ciYmbi5zZXQobnVsbCxyKX1pPXQuaW5zdGFuY2Usbz1pLmdldEF0dHJpYnV0ZShgZGF0YS1wcmVjZWRlbmNlYCksYT1uLmdldChvKXx8cixhPT09ciYmbi5zZXQobnVsbCxpKSxuLnNldChvLGkpLHRoaXMuY291bnQrKyxyPW5oLmJpbmQodGhpcyksaS5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxyKSxpLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCxyKSxhP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxhLm5leHRTaWJsaW5nKTooZT1lLm5vZGVUeXBlPT09OT9lLmhlYWQ6ZSxlLmluc2VydEJlZm9yZShpLGUuZmlyc3RDaGlsZCkpLHQuc3RhdGUubG9hZGluZ3w9NH19dmFyIHNoPXskJHR5cGVvZjpBLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfY3VycmVudFZhbHVlOmJlLF9jdXJyZW50VmFsdWUyOmJlLF90aHJlYWRDb3VudDowfTtmdW5jdGlvbiBjaChlLHQsbixyLGksYSxvLHMsYyl7dGhpcy50YWc9MSx0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5uZXh0PXRoaXMucGVuZGluZ0NvbnRleHQ9dGhpcy5jb250ZXh0PXRoaXMuY2FuY2VsUGVuZGluZ0NvbW1pdD1udWxsLHRoaXMuY2FsbGJhY2tQcmlvcml0eT0wLHRoaXMuZXhwaXJhdGlvblRpbWVzPV90KC0xKSx0aGlzLmVudGFuZ2xlZExhbmVzPXRoaXMuc2hlbGxTdXNwZW5kQ291bnRlcj10aGlzLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzPXRoaXMuZXhwaXJlZExhbmVzPXRoaXMud2FybUxhbmVzPXRoaXMucGluZ2VkTGFuZXM9dGhpcy5zdXNwZW5kZWRMYW5lcz10aGlzLnBlbmRpbmdMYW5lcz0wLHRoaXMuZW50YW5nbGVtZW50cz1fdCgwKSx0aGlzLmhpZGRlblVwZGF0ZXM9X3QobnVsbCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblVuY2F1Z2h0RXJyb3I9aSx0aGlzLm9uQ2F1Z2h0RXJyb3I9YSx0aGlzLm9uUmVjb3ZlcmFibGVFcnJvcj1vLHRoaXMucG9vbGVkQ2FjaGU9bnVsbCx0aGlzLnBvb2xlZENhY2hlTGFuZXM9MCx0aGlzLmZvcm1TdGF0ZT1jLHRoaXMudHJhbnNpdGlvblR5cGVzPW51bGwsdGhpcy5pbmNvbXBsZXRlVHJhbnNpdGlvbnM9bmV3IE1hcH1mdW5jdGlvbiBsaChlLHQsbixyLGksYSxvLHMsYyxsLHUsZCl7cmV0dXJuIGU9bmV3IGNoKGUsdCxuLG8sYyxsLHUsZCxzKSx0PTEsITA9PT1hJiYodHw9MjQpLGE9SWkoMyxudWxsLG51bGwsdCksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSx0PUZhKCksdC5yZWZDb3VudCsrLGUucG9vbGVkQ2FjaGU9dCx0LnJlZkNvdW50KyssYS5tZW1vaXplZFN0YXRlPXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOm4sY2FjaGU6dH0sX28oYSksZX1mdW5jdGlvbiB1aChlKXtyZXR1cm4gZT8oZT1QaSxlKTpQaX1mdW5jdGlvbiBkaChlLHQsbixyLGksYSl7aT11aChpKSxyLmNvbnRleHQ9PT1udWxsP3IuY29udGV4dD1pOnIucGVuZGluZ0NvbnRleHQ9aSxyPXlvKHQpLHIucGF5bG9hZD17ZWxlbWVudDpufSxhPWE9PT12b2lkIDA_bnVsbDphLGEhPT1udWxsJiYoci5jYWxsYmFjaz1hKSxuPWJvKGUscix0KSxuIT09bnVsbCYmKE5kKG4sZSx0KSx4byhuLGUsdCkpfWZ1bmN0aW9uIGZoKGUsdCl7aWYoZT1lLm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJmUuZGVoeWRyYXRlZCE9PW51bGwpe3ZhciBuPWUucmV0cnlMYW5lO2UucmV0cnlMYW5lPW4hPT0wJiZuPHQ_bjp0fX1mdW5jdGlvbiBwaChlLHQpe2ZoKGUsdCksKGU9ZS5hbHRlcm5hdGUpJiZmaChlLHQpfWZ1bmN0aW9uIG1oKGUpe2lmKGUudGFnPT09MTN8fGUudGFnPT09MzEpe3ZhciB0PWppKGUsNjcxMDg4NjQpO3QhPT1udWxsJiZOZCh0LGUsNjcxMDg4NjQpLHBoKGUsNjcxMDg4NjQpfX1mdW5jdGlvbiBoaChlKXtpZihlLnRhZz09PTEzfHxlLnRhZz09PTMxKXt2YXIgdD1BZCgpO3Q9Q3QodCk7dmFyIG49amkoZSx0KTtuIT09bnVsbCYmTmQobixlLHQpLHBoKGUsdCl9fXZhciBnaD0hMDtmdW5jdGlvbiBfaChlLHQsbixyKXt2YXIgaT1qLlQ7ai5UPW51bGw7dmFyIGE9TS5wO3RyeXtNLnA9Mix5aChlLHQsbixyKX1maW5hbGx5e00ucD1hLGouVD1pfX1mdW5jdGlvbiB2aChlLHQsbixyKXt2YXIgaT1qLlQ7ai5UPW51bGw7dmFyIGE9TS5wO3RyeXtNLnA9OCx5aChlLHQsbixyKX1maW5hbGx5e00ucD1hLGouVD1pfX1mdW5jdGlvbiB5aChlLHQsbixyKXtpZihnaCl7dmFyIGk9Ymgocik7aWYoaT09PW51bGwpR2YoZSx0LHIseGgsbiksTWgoZSxyKTtlbHNlIGlmKFBoKGksZSx0LG4scikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKE1oKGUsciksdCY0JiYtMTxqaC5pbmRleE9mKGUpKXtmb3IoO2khPT1udWxsOyl7dmFyIGE9UnQoaSk7aWYoYSE9PW51bGwpc3dpdGNoKGEudGFnKXtjYXNlIDM6aWYoYT1hLnN0YXRlTm9kZSxhLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBvPWR0KGEucGVuZGluZ0xhbmVzKTtpZihvIT09MCl7dmFyIHM9YTtmb3Iocy5wZW5kaW5nTGFuZXN8PTIscy5lbnRhbmdsZWRMYW5lc3w9MjtvOyl7dmFyIGM9MTw8MzEtaXQobyk7cy5lbnRhbmdsZW1lbnRzWzFdfD1jLG8mPX5jfVRmKGEpLCEoSiY2KSYmKGhkPUtlKCkrNTAwLEVmKDAsITEpKX19YnJlYWs7Y2FzZSAzMTpjYXNlIDEzOnM9amkoYSwyKSxzIT09bnVsbCYmTmQocyxhLDIpLFJkKCkscGgoYSwyKX1pZihhPWJoKHIpLGE9PT1udWxsJiZHZihlLHQscix4aCxuKSxhPT09aSlicmVhaztpPWF9aSE9PW51bGwmJnIuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBHZihlLHQscixudWxsLG4pfX1mdW5jdGlvbiBiaChlKXtyZXR1cm4gZT1UbihlKSxTaChlKX12YXIgeGg9bnVsbDtmdW5jdGlvbiBTaChlKXtpZih4aD1udWxsLGU9THQoZSksZSE9PW51bGwpe3ZhciB0PWwoZSk7aWYodD09PW51bGwpZT1udWxsO2Vsc2V7dmFyIG49dC50YWc7aWYobj09PTEzKXtpZihlPXUodCksZSE9PW51bGwpcmV0dXJuIGU7ZT1udWxsfWVsc2UgaWYobj09PTMxKXtpZihlPWQodCksZSE9PW51bGwpcmV0dXJuIGU7ZT1udWxsfWVsc2UgaWYobj09PTMpe2lmKHQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHQudGFnPT09Mz90LnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7ZT1udWxsfWVsc2UgdCE9PWUmJihlPW51bGwpfX1yZXR1cm4geGg9ZSxudWxsfWZ1bmN0aW9uIENoKGUpe3N3aXRjaChlKXtjYXNlYGJlZm9yZXRvZ2dsZWA6Y2FzZWBjYW5jZWxgOmNhc2VgY2xpY2tgOmNhc2VgY2xvc2VgOmNhc2VgY29udGV4dG1lbnVgOmNhc2VgY29weWA6Y2FzZWBjdXRgOmNhc2VgYXV4Y2xpY2tgOmNhc2VgZGJsY2xpY2tgOmNhc2VgZHJhZ2VuZGA6Y2FzZWBkcmFnc3RhcnRgOmNhc2VgZHJvcGA6Y2FzZWBmb2N1c2luYDpjYXNlYGZvY3Vzb3V0YDpjYXNlYGlucHV0YDpjYXNlYGludmFsaWRgOmNhc2Vga2V5ZG93bmA6Y2FzZWBrZXlwcmVzc2A6Y2FzZWBrZXl1cGA6Y2FzZWBtb3VzZWRvd25gOmNhc2VgbW91c2V1cGA6Y2FzZWBwYXN0ZWA6Y2FzZWBwYXVzZWA6Y2FzZWBwbGF5YDpjYXNlYHBvaW50ZXJjYW5jZWxgOmNhc2VgcG9pbnRlcmRvd25gOmNhc2VgcG9pbnRlcnVwYDpjYXNlYHJhdGVjaGFuZ2VgOmNhc2VgcmVzZXRgOmNhc2Vgc2Vla2VkYDpjYXNlYHN1Ym1pdGA6Y2FzZWB0b2dnbGVgOmNhc2VgdG91Y2hjYW5jZWxgOmNhc2VgdG91Y2hlbmRgOmNhc2VgdG91Y2hzdGFydGA6Y2FzZWB2b2x1bWVjaGFuZ2VgOmNhc2VgY2hhbmdlYDpjYXNlYHNlbGVjdGlvbmNoYW5nZWA6Y2FzZWB0ZXh0SW5wdXRgOmNhc2VgY29tcG9zaXRpb25zdGFydGA6Y2FzZWBjb21wb3NpdGlvbmVuZGA6Y2FzZWBjb21wb3NpdGlvbnVwZGF0ZWA6Y2FzZWBiZWZvcmVibHVyYDpjYXNlYGFmdGVyYmx1cmA6Y2FzZWBiZWZvcmVpbnB1dGA6Y2FzZWBibHVyYDpjYXNlYGZ1bGxzY3JlZW5jaGFuZ2VgOmNhc2VgZnVsbHNjcmVlbmVycm9yYDpjYXNlYGZvY3VzYDpjYXNlYGhhc2hjaGFuZ2VgOmNhc2VgcG9wc3RhdGVgOmNhc2Vgc2VsZWN0YDpjYXNlYHNlbGVjdHN0YXJ0YDpyZXR1cm4gMjtjYXNlYGRyYWdgOmNhc2VgZHJhZ2VudGVyYDpjYXNlYGRyYWdleGl0YDpjYXNlYGRyYWdsZWF2ZWA6Y2FzZWBkcmFnb3ZlcmA6Y2FzZWBtb3VzZW1vdmVgOmNhc2VgbW91c2VvdXRgOmNhc2VgbW91c2VvdmVyYDpjYXNlYHBvaW50ZXJtb3ZlYDpjYXNlYHBvaW50ZXJvdXRgOmNhc2VgcG9pbnRlcm92ZXJgOmNhc2VgcmVzaXplYDpjYXNlYHNjcm9sbGA6Y2FzZWB0b3VjaG1vdmVgOmNhc2Vgd2hlZWxgOmNhc2VgbW91c2VlbnRlcmA6Y2FzZWBtb3VzZWxlYXZlYDpjYXNlYHBvaW50ZXJlbnRlcmA6Y2FzZWBwb2ludGVybGVhdmVgOnJldHVybiA4O2Nhc2VgbWVzc2FnZWA6c3dpdGNoKHFlKCkpe2Nhc2UgSmU6cmV0dXJuIDI7Y2FzZSBZZTpyZXR1cm4gODtjYXNlIFhlOmNhc2UgWmU6cmV0dXJuIDMyO2Nhc2UgUWU6cmV0dXJuIDI2ODQzNTQ1NjtkZWZhdWx0OnJldHVybiAzMn1kZWZhdWx0OnJldHVybiAzMn19dmFyIHdoPSExLFRoPW51bGwsRWg9bnVsbCxEaD1udWxsLE9oPW5ldyBNYXAsa2g9bmV3IE1hcCxBaD1bXSxqaD1gbW91c2Vkb3duIG1vdXNldXAgdG91Y2hjYW5jZWwgdG91Y2hlbmQgdG91Y2hzdGFydCBhdXhjbGljayBkYmxjbGljayBwb2ludGVyY2FuY2VsIHBvaW50ZXJkb3duIHBvaW50ZXJ1cCBkcmFnZW5kIGRyYWdzdGFydCBkcm9wIGNvbXBvc2l0aW9uZW5kIGNvbXBvc2l0aW9uc3RhcnQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCB0ZXh0SW5wdXQgY29weSBjdXQgcGFzdGUgY2xpY2sgY2hhbmdlIGNvbnRleHRtZW51IHJlc2V0YC5zcGxpdChgIGApO2Z1bmN0aW9uIE1oKGUsdCl7c3dpdGNoKGUpe2Nhc2VgZm9jdXNpbmA6Y2FzZWBmb2N1c291dGA6VGg9bnVsbDticmVhaztjYXNlYGRyYWdlbnRlcmA6Y2FzZWBkcmFnbGVhdmVgOkVoPW51bGw7YnJlYWs7Y2FzZWBtb3VzZW92ZXJgOmNhc2VgbW91c2VvdXRgOkRoPW51bGw7YnJlYWs7Y2FzZWBwb2ludGVyb3ZlcmA6Y2FzZWBwb2ludGVyb3V0YDpPaC5kZWxldGUodC5wb2ludGVySWQpO2JyZWFrO2Nhc2VgZ290cG9pbnRlcmNhcHR1cmVgOmNhc2VgbG9zdHBvaW50ZXJjYXB0dXJlYDpraC5kZWxldGUodC5wb2ludGVySWQpfX1mdW5jdGlvbiBOaChlLHQsbixyLGksYSl7cmV0dXJuIGU9PT1udWxsfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOnQsZG9tRXZlbnROYW1lOm4sZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbaV19LHQhPT1udWxsJiYodD1SdCh0KSx0IT09bnVsbCYmbWgodCkpLGUpOihlLmV2ZW50U3lzdGVtRmxhZ3N8PXIsdD1lLnRhcmdldENvbnRhaW5lcnMsaSE9PW51bGwmJnQuaW5kZXhPZihpKT09PS0xJiZ0LnB1c2goaSksZSl9ZnVuY3Rpb24gUGgoZSx0LG4scixpKXtzd2l0Y2godCl7Y2FzZWBmb2N1c2luYDpyZXR1cm4gVGg9TmgoVGgsZSx0LG4scixpKSwhMDtjYXNlYGRyYWdlbnRlcmA6cmV0dXJuIEVoPU5oKEVoLGUsdCxuLHIsaSksITA7Y2FzZWBtb3VzZW92ZXJgOnJldHVybiBEaD1OaChEaCxlLHQsbixyLGkpLCEwO2Nhc2VgcG9pbnRlcm92ZXJgOnZhciBhPWkucG9pbnRlcklkO3JldHVybiBPaC5zZXQoYSxOaChPaC5nZXQoYSl8fG51bGwsZSx0LG4scixpKSksITA7Y2FzZWBnb3Rwb2ludGVyY2FwdHVyZWA6cmV0dXJuIGE9aS5wb2ludGVySWQsa2guc2V0KGEsTmgoa2guZ2V0KGEpfHxudWxsLGUsdCxuLHIsaSkpLCEwfXJldHVybiExfWZ1bmN0aW9uIEZoKGUpe3ZhciB0PUx0KGUudGFyZ2V0KTtpZih0IT09bnVsbCl7dmFyIG49bCh0KTtpZihuIT09bnVsbCl7aWYodD1uLnRhZyx0PT09MTMpe2lmKHQ9dShuKSx0IT09bnVsbCl7ZS5ibG9ja2VkT249dCxFdChlLnByaW9yaXR5LGZ1bmN0aW9uKCl7aGgobil9KTtyZXR1cm59fWVsc2UgaWYodD09PTMxKXtpZih0PWQobiksdCE9PW51bGwpe2UuYmxvY2tlZE9uPXQsRXQoZS5wcmlvcml0eSxmdW5jdGlvbigpe2hoKG4pfSk7cmV0dXJufX1lbHNlIGlmKHQ9PT0zJiZuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXtlLmJsb2NrZWRPbj1uLnRhZz09PTM_bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO3JldHVybn19fWUuYmxvY2tlZE9uPW51bGx9ZnVuY3Rpb24gSWgoZSl7aWYoZS5ibG9ja2VkT24hPT1udWxsKXJldHVybiExO2Zvcih2YXIgdD1lLnRhcmdldENvbnRhaW5lcnM7MDx0Lmxlbmd0aDspe3ZhciBuPWJoKGUubmF0aXZlRXZlbnQpO2lmKG49PT1udWxsKXtuPWUubmF0aXZlRXZlbnQ7dmFyIHI9bmV3IG4uY29uc3RydWN0b3Iobi50eXBlLG4pO3duPXIsbi50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSx3bj1udWxsfWVsc2UgcmV0dXJuIHQ9UnQobiksdCE9PW51bGwmJm1oKHQpLGUuYmxvY2tlZE9uPW4sITE7dC5zaGlmdCgpfXJldHVybiEwfWZ1bmN0aW9uIExoKGUsdCxuKXtJaChlKSYmbi5kZWxldGUodCl9ZnVuY3Rpb24gUmgoKXt3aD0hMSxUaCE9PW51bGwmJkloKFRoKSYmKFRoPW51bGwpLEVoIT09bnVsbCYmSWgoRWgpJiYoRWg9bnVsbCksRGghPT1udWxsJiZJaChEaCkmJihEaD1udWxsKSxPaC5mb3JFYWNoKExoKSxraC5mb3JFYWNoKExoKX1mdW5jdGlvbiB6aChlLG4pe2UuYmxvY2tlZE9uPT09biYmKGUuYmxvY2tlZE9uPW51bGwsd2h8fCh3aD0hMCx0LnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2sodC51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxSaCkpKX12YXIgQmg9bnVsbDtmdW5jdGlvbiBWaChlKXtCaCE9PWUmJihCaD1lLHQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayh0LnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGZ1bmN0aW9uKCl7Qmg9PT1lJiYoQmg9bnVsbCk7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0zKXt2YXIgbj1lW3RdLHI9ZVt0KzFdLGk9ZVt0KzJdO2lmKHR5cGVvZiByIT1gZnVuY3Rpb25gKXtpZihTaChyfHxuKT09PW51bGwpY29udGludWU7YnJlYWt9dmFyIGE9UnQobik7YSE9PW51bGwmJihlLnNwbGljZSh0LDMpLHQtPTMscmMoYSx7cGVuZGluZzohMCxkYXRhOmksbWV0aG9kOm4ubWV0aG9kLGFjdGlvbjpyfSxyLGkpKX19KSl9ZnVuY3Rpb24gSGgoZSl7ZnVuY3Rpb24gdCh0KXtyZXR1cm4gemgodCxlKX1UaCE9PW51bGwmJnpoKFRoLGUpLEVoIT09bnVsbCYmemgoRWgsZSksRGghPT1udWxsJiZ6aChEaCxlKSxPaC5mb3JFYWNoKHQpLGtoLmZvckVhY2godCk7Zm9yKHZhciBuPTA7bjxBaC5sZW5ndGg7bisrKXt2YXIgcj1BaFtuXTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX1mb3IoOzA8QWgubGVuZ3RoJiYobj1BaFswXSxuLmJsb2NrZWRPbj09PW51bGwpOylGaChuKSxuLmJsb2NrZWRPbj09PW51bGwmJkFoLnNoaWZ0KCk7aWYobj0oZS5vd25lckRvY3VtZW50fHxlKS4kJHJlYWN0Rm9ybVJlcGxheSxuIT1udWxsKWZvcihyPTA7cjxuLmxlbmd0aDtyKz0zKXt2YXIgaT1uW3JdLGE9bltyKzFdLG89aVtPdF18fG51bGw7aWYodHlwZW9mIGE9PWBmdW5jdGlvbmApb3x8Vmgobik7ZWxzZSBpZihvKXt2YXIgcz1udWxsO2lmKGEmJmEuaGFzQXR0cmlidXRlKGBmb3JtQWN0aW9uYCkpe2lmKGk9YSxvPWFbT3RdfHxudWxsKXM9by5mb3JtQWN0aW9uO2Vsc2UgaWYoU2goaSkhPT1udWxsKWNvbnRpbnVlfWVsc2Ugcz1vLmFjdGlvbjt0eXBlb2Ygcz09YGZ1bmN0aW9uYD9uW3IrMV09czoobi5zcGxpY2UociwzKSxyLT0zKSxWaChuKX19fWZ1bmN0aW9uIFVoKCl7ZnVuY3Rpb24gZShlKXtlLmNhbkludGVyY2VwdCYmZS5pbmZvPT09YHJlYWN0LXRyYW5zaXRpb25gJiZlLmludGVyY2VwdCh7aGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtyZXR1cm4gaT1lfSl9LGZvY3VzUmVzZXQ6YG1hbnVhbGAsc2Nyb2xsOmBtYW51YWxgfSl9ZnVuY3Rpb24gdCgpe2khPT1udWxsJiYoaSgpLGk9bnVsbCkscnx8c2V0VGltZW91dChuLDIwKX1mdW5jdGlvbiBuKCl7aWYoIXImJiFuYXZpZ2F0aW9uLnRyYW5zaXRpb24pe3ZhciBlPW5hdmlnYXRpb24uY3VycmVudEVudHJ5O2UmJmUudXJsIT1udWxsJiZuYXZpZ2F0aW9uLm5hdmlnYXRlKGUudXJsLHtzdGF0ZTplLmdldFN0YXRlKCksaW5mbzpgcmVhY3QtdHJhbnNpdGlvbmAsaGlzdG9yeTpgcmVwbGFjZWB9KX19aWYodHlwZW9mIG5hdmlnYXRpb249PWBvYmplY3RgKXt2YXIgcj0hMSxpPW51bGw7cmV0dXJuIG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcihgbmF2aWdhdGVgLGUpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcihgbmF2aWdhdGVzdWNjZXNzYCx0KSxuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoYG5hdmlnYXRlZXJyb3JgLHQpLHNldFRpbWVvdXQobiwxMDApLGZ1bmN0aW9uKCl7cj0hMCxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoYG5hdmlnYXRlYCxlKSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoYG5hdmlnYXRlc3VjY2Vzc2AsdCksbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKGBuYXZpZ2F0ZWVycm9yYCx0KSxpIT09bnVsbCYmKGkoKSxpPW51bGwpfX19ZnVuY3Rpb24gV2goZSl7dGhpcy5faW50ZXJuYWxSb290PWV9R2gucHJvdG90eXBlLnJlbmRlcj1XaC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZih0PT09bnVsbCl0aHJvdyBFcnJvcihzKDQwOSkpO3ZhciBuPXQuY3VycmVudDtkaChuLEFkKCksZSx0LG51bGwsbnVsbCl9LEdoLnByb3RvdHlwZS51bm1vdW50PVdoLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKGUhPT1udWxsKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgdD1lLmNvbnRhaW5lckluZm87ZGgoZS5jdXJyZW50LDIsbnVsbCxlLG51bGwsbnVsbCksUmQoKSx0W2t0XT1udWxsfX07ZnVuY3Rpb24gR2goZSl7dGhpcy5faW50ZXJuYWxSb290PWV9R2gucHJvdG90eXBlLnVuc3RhYmxlX3NjaGVkdWxlSHlkcmF0aW9uPWZ1bmN0aW9uKGUpe2lmKGUpe3ZhciB0PVR0KCk7ZT17YmxvY2tlZE9uOm51bGwsdGFyZ2V0OmUscHJpb3JpdHk6dH07Zm9yKHZhciBuPTA7bjxBaC5sZW5ndGgmJnQhPT0wJiZ0PEFoW25dLnByaW9yaXR5O24rKyk7QWguc3BsaWNlKG4sMCxlKSxuPT09MCYmRmgoZSl9fTt2YXIgS2g9ci52ZXJzaW9uO2lmKEtoIT09YDE5LjMuMWApdGhyb3cgRXJyb3Iocyg1MjcsS2gsYDE5LjMuMWApKTtNLmZpbmRET01Ob2RlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3JlYWN0SW50ZXJuYWxzO2lmKHQ9PT12b2lkIDApdGhyb3cgdHlwZW9mIGUucmVuZGVyPT1gZnVuY3Rpb25gP0Vycm9yKHMoMTg4KSk6KGU9T2JqZWN0LmtleXMoZSkuam9pbihgLGApLEVycm9yKHMoMjY4LGUpKSk7cmV0dXJuIGU9cCh0KSxlPWU9PT1udWxsP251bGw6bShlKSxlPWU9PT1udWxsP251bGw6ZS5zdGF0ZU5vZGUsZX07dmFyIHFoPXtidW5kbGVUeXBlOjAsdmVyc2lvbjpgMTkuMy4xYCxyZW5kZXJlclBhY2thZ2VOYW1lOmByZWFjdC1kb21gLGN1cnJlbnREaXNwYXRjaGVyUmVmOmoscmVjb25jaWxlclZlcnNpb246YDE5LjMuMWB9O2lmKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX188YHVgKXt2YXIgSmg9X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fO2lmKCFKaC5pc0Rpc2FibGVkJiZKaC5zdXBwb3J0c0ZpYmVyKXRyeXt0dD1KaC5pbmplY3QocWgpLG50PUpofWNhdGNoe319ZS5jcmVhdGVSb290PWZ1bmN0aW9uKGUsdCl7aWYoIWMoZSkpdGhyb3cgRXJyb3IocygyOTkpKTt2YXIgbj0hMSxyPWBgLGk9RWMsYT1WLG89RGM7cmV0dXJuIHQhPW51bGwmJighMD09PXQudW5zdGFibGVfc3RyaWN0TW9kZSYmKG49ITApLHQuaWRlbnRpZmllclByZWZpeCE9PXZvaWQgMCYmKHI9dC5pZGVudGlmaWVyUHJlZml4KSx0Lm9uVW5jYXVnaHRFcnJvciE9PXZvaWQgMCYmKGk9dC5vblVuY2F1Z2h0RXJyb3IpLHQub25DYXVnaHRFcnJvciE9PXZvaWQgMCYmKGE9dC5vbkNhdWdodEVycm9yKSx0Lm9uUmVjb3ZlcmFibGVFcnJvciE9PXZvaWQgMCYmKG89dC5vblJlY292ZXJhYmxlRXJyb3IpKSx0PWxoKGUsMSwhMSxudWxsLG51bGwsbixyLG51bGwsaSxhLG8sVWgpLGVba3RdPXQuY3VycmVudCxVZihlKSxuZXcgV2godCl9fSkpLGM9ZSgoKGUsdCk9PntmdW5jdGlvbiBuKCl7aWYodHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXzxgdWAmJnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0U9PWBmdW5jdGlvbmApdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShuKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX1uKCksdC5leHBvcnRzPXMoKX0pKSxsPW4oKSx1PWMoKTtmdW5jdGlvbiBkKGUpe2xldCB0PWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdC5zdGFydHNXaXRoKGBtYWNgKT9gbWFjb3NgOnQuc3RhcnRzV2l0aChgd2luYCk_YHdpbmRvd3NgOnQuc3RhcnRzV2l0aChgbGludXhgKT9gbGludXhgOmBvdGhlcmB9ZnVuY3Rpb24gZihlKXtsZXQgdD1lPz8odHlwZW9mIG5hdmlnYXRvcj5gdWA_dm9pZCAwOm5hdmlnYXRvcik7aWYodD09PXZvaWQgMClyZXR1cm5gb3RoZXJgO2xldCBuPXQudXNlckFnZW50RGF0YT8ucGxhdGZvcm07aWYodHlwZW9mIG49PWBzdHJpbmdgJiZuIT09YGApcmV0dXJuIGQobik7bGV0IHI9dC5wbGF0Zm9ybT8_YGA7cmV0dXJuIHIuc3RhcnRzV2l0aChgTWFjYCkmJih0Lm1heFRvdWNoUG9pbnRzPz8wKT4xP2BvdGhlcmA6ZChyKX1mdW5jdGlvbiBwKGUpe2xldCB0PWYoZSksbj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIHQ9PT1gb3RoZXJgP24ucmVtb3ZlQXR0cmlidXRlKGBkYXRhLW9zYCk6bi5zZXRBdHRyaWJ1dGUoYGRhdGEtb3NgLHQpLHR9dmFyIG09ZSgoZT0-e3ZhciB0PVN5bWJvbC5mb3IoYHJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50YCksbj1TeW1ib2wuZm9yKGByZWFjdC5mcmFnbWVudGApO2Z1bmN0aW9uIHIoZSxuLHIpe3ZhciBpPW51bGw7aWYociE9PXZvaWQgMCYmKGk9YGArciksbi5rZXkhPT12b2lkIDAmJihpPWBgK24ua2V5KSxga2V5YGluIG4pZm9yKHZhciBhIGluIHI9e30sbilhIT09YGtleWAmJihyW2FdPW5bYV0pO2Vsc2Ugcj1uO3JldHVybiBuPXIucmVmLHskJHR5cGVvZjp0LHR5cGU6ZSxrZXk6aSxyZWY6bj09PXZvaWQgMD9udWxsOm4scHJvcHM6cn19ZS5GcmFnbWVudD1uLGUuanN4PXIsZS5qc3hzPXJ9KSksaD1lKCgoZSx0KT0-e3QuZXhwb3J0cz1tKCl9KSksZz17Y2hlY2s6W1tgcGF0aGAse2Q6YE0yMCA2IDkgMTdsLTUtNWB9XV0seDpbW2BwYXRoYCx7ZDpgTTE4IDYgNiAxOGB9XSxbYHBhdGhgLHtkOmBtNiA2IDEyIDEyYH1dXSxjb3B5OltbYHJlY3RgLHt3aWR0aDpgMTRgLGhlaWdodDpgMTRgLHg6YDhgLHk6YDhgLHJ4OmAyYCxyeTpgMmB9XSxbYHBhdGhgLHtkOmBNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyYH1dXSxjbG9jazpbW2BjaXJjbGVgLHtjeDpgMTJgLGN5OmAxMmAscjpgMTBgfV0sW2Bwb2x5bGluZWAse3BvaW50czpgMTIgNiAxMiAxMiAxNiAxNGB9XV0sInRyaWFuZ2xlLWFsZXJ0IjpbW2BwYXRoYCx7ZDpgbTIxLjczIDE4LTgtMTRhMiAyIDAgMCAwLTMuNDggMGwtOCAxNEEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS43My0zYH1dLFtgcGF0aGAse2Q6YE0xMiA5djRgfV0sW2BwYXRoYCx7ZDpgTTEyIDE3aC4wMWB9XV0saW5mbzpbW2BjaXJjbGVgLHtjeDpgMTJgLGN5OmAxMmAscjpgMTBgfV0sW2BwYXRoYCx7ZDpgTTEyIDE2di00YH1dLFtgcGF0aGAse2Q6YE0xMiA4aC4wMWB9XV0sZmlsZTpbW2BwYXRoYCx7ZDpgTTE1IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY3WmB9XSxbYHBhdGhgLHtkOmBNMTQgMnY0YTIgMiAwIDAgMCAyIDJoNGB9XV0sZm9sZGVyOltbYHBhdGhgLHtkOmBNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaYH1dXSxzZWFyY2g6W1tgY2lyY2xlYCx7Y3g6YDExYCxjeTpgMTFgLHI6YDhgfV0sW2BwYXRoYCx7ZDpgbTIxIDIxLTQuMy00LjNgfV1dLHNldHRpbmdzOltbYHBhdGhgLHtkOmBNMTIuMjIgMmgtLjQ0YTIgMiAwIDAgMC0yIDJ2LjE4YTIgMiAwIDAgMS0xIDEuNzNsLS40My4yNWEyIDIgMCAwIDEtMiAwbC0uMTUtLjA4YTIgMiAwIDAgMC0yLjczLjczbC0uMjIuMzhhMiAyIDAgMCAwIC43MyAyLjczbC4xNS4xYTIgMiAwIDAgMSAxIDEuNzJ2LjUxYTIgMiAwIDAgMS0xIDEuNzRsLS4xNS4wOWEyIDIgMCAwIDAtLjczIDIuNzNsLjIyLjM4YTIgMiAwIDAgMCAyLjczLjczbC4xNS0uMDhhMiAyIDAgMCAxIDIgMGwuNDMuMjVhMiAyIDAgMCAxIDEgMS43M1YyMGEyIDIgMCAwIDAgMiAyaC40NGEyIDIgMCAwIDAgMi0ydi0uMThhMiAyIDAgMCAxIDEtMS43M2wuNDMtLjI1YTIgMiAwIDAgMSAyIDBsLjE1LjA4YTIgMiAwIDAgMCAyLjczLS43M2wuMjItLjM5YTIgMiAwIDAgMC0uNzMtMi43M2wtLjE1LS4wOGEyIDIgMCAwIDEtMS0xLjc0di0uNWEyIDIgMCAwIDEgMS0xLjc0bC4xNS0uMDlhMiAyIDAgMCAwIC43My0yLjczbC0uMjItLjM4YTIgMiAwIDAgMC0yLjczLS43M2wtLjE1LjA4YTIgMiAwIDAgMS0yIDBsLS40My0uMjVhMiAyIDAgMCAxLTEtMS43M1Y0YTIgMiAwIDAgMC0yLTJ6YH1dLFtgY2lyY2xlYCx7Y3g6YDEyYCxjeTpgMTJgLHI6YDNgfV1dLCJjaGV2cm9uLXJpZ2h0IjpbW2BwYXRoYCx7ZDpgbTkgMTggNi02LTYtNmB9XV0sImNoZXZyb24tZG93biI6W1tgcGF0aGAse2Q6YG02IDkgNiA2IDYtNmB9XV0scGF1c2U6W1tgcmVjdGAse3g6YDE0YCx5OmA0YCx3aWR0aDpgNGAsaGVpZ2h0OmAxNmAscng6YDFgfV0sW2ByZWN0YCx7eDpgNmAseTpgNGAsd2lkdGg6YDRgLGhlaWdodDpgMTZgLHJ4OmAxYH1dXSxwbGF5OltbYHBvbHlnb25gLHtwb2ludHM6YDYgMyAyMCAxMiA2IDIxIDYgM2B9XV0sInJlZnJlc2gtY3ciOltbYHBhdGhgLHtkOmBNMyAxMmE5IDkgMCAwIDEgOS05IDkuNzUgOS43NSAwIDAgMSA2Ljc0IDIuNzRMMjEgOGB9XSxbYHBhdGhgLHtkOmBNMjEgM3Y1aC01YH1dLFtgcGF0aGAse2Q6YE0yMSAxMmE5IDkgMCAwIDEtOSA5IDkuNzUgOS43NSAwIDAgMS02Ljc0LTIuNzRMMyAxNmB9XSxbYHBhdGhgLHtkOmBNOCAxNkgzdjVgfV1dLGRvd25sb2FkOltbYHBhdGhgLHtkOmBNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNGB9XSxbYHBvbHlsaW5lYCx7cG9pbnRzOmA3IDEwIDEyIDE1IDE3IDEwYH1dLFtgbGluZWAse3gxOmAxMmAseDI6YDEyYCx5MTpgMTVgLHkyOmAzYH1dXSxwcmludGVyOltbYHBhdGhgLHtkOmBNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMmB9XSxbYHBhdGhgLHtkOmBNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjZgfV0sW2ByZWN0YCx7eDpgNmAseTpgMTRgLHdpZHRoOmAxMmAsaGVpZ2h0OmA4YCxyeDpgMWB9XV0sInVzZXItcGx1cyI6W1tgcGF0aGAse2Q6YE0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyYH1dLFtgY2lyY2xlYCx7Y3g6YDlgLGN5OmA3YCxyOmA0YH1dLFtgbGluZWAse3gxOmAxOWAseDI6YDE5YCx5MTpgOGAseTI6YDE0YH1dLFtgbGluZWAse3gxOmAyMmAseDI6YDE2YCx5MTpgMTFgLHkyOmAxMWB9XV0sYmFuOltbYGNpcmNsZWAse2N4OmAxMmAsY3k6YDEyYCxyOmAxMGB9XSxbYHBhdGhgLHtkOmBtNC45IDQuOSAxNC4yIDE0LjJgfV1dLHBsdXM6W1tgcGF0aGAse2Q6YE01IDEyaDE0YH1dLFtgcGF0aGAse2Q6YE0xMiA1djE0YH1dXSx0ZXJtaW5hbDpbW2Bwb2x5bGluZWAse3BvaW50czpgNCAxNyAxMCAxMSA0IDVgfV0sW2BsaW5lYCx7eDE6YDEyYCx4MjpgMjBgLHkxOmAxOWAseTI6YDE5YH1dXSxpbmJveDpbW2Bwb2x5bGluZWAse3BvaW50czpgMjIgMTIgMTYgMTIgMTQgMTUgMTAgMTUgOCAxMiAyIDEyYH1dLFtgcGF0aGAse2Q6YE01LjQ1IDUuMTEgMiAxMnY2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNmwtMy40NS02Ljg5QTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXpgfV1dLGFjdGl2aXR5OltbYHBhdGhgLHtkOmBNMjIgMTJoLTIuNDhhMiAyIDAgMCAwLTEuOTMgMS40NmwtMi4zNSA4LjM2YS4yNS4yNSAwIDAgMS0uNDggMEw5LjI0IDIuMThhLjI1LjI1IDAgMCAwLS40OCAwbC0yLjM1IDguMzZBMiAyIDAgMCAxIDQuNDkgMTJIMmB9XV0sdXNlcnM6W1tgcGF0aGAse2Q6YE0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyYH1dLFtgY2lyY2xlYCx7Y3g6YDlgLGN5OmA3YCxyOmA0YH1dLFtgcGF0aGAse2Q6YE0yMiAyMXYtMmE0IDQgMCAwIDAtMy0zLjg3YH1dLFtgcGF0aGAse2Q6YE0xNiAzLjEzYTQgNCAwIDAgMSAwIDcuNzVgfV1dLCJoYXJkLWRyaXZlIjpbW2BsaW5lYCx7eDE6YDIyYCx4MjpgMmAseTE6YDEyYCx5MjpgMTJgfV0sW2BwYXRoYCx7ZDpgTTUuNDUgNS4xMSAyIDEydjZhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi02bC0zLjQ1LTYuODlBMiAyIDAgMCAwIDE2Ljc2IDRINy4yNGEyIDIgMCAwIDAtMS43OSAxLjExemB9XSxbYGxpbmVgLHt4MTpgNmAseDI6YDYuMDFgLHkxOmAxNmAseTI6YDE2YH1dLFtgbGluZWAse3gxOmAxMGAseDI6YDEwLjAxYCx5MTpgMTZgLHkyOmAxNmB9XV0sInNsaWRlcnMtaG9yaXpvbnRhbCI6W1tgbGluZWAse3gxOmAyMWAseDI6YDE0YCx5MTpgNGAseTI6YDRgfV0sW2BsaW5lYCx7eDE6YDEwYCx4MjpgM2AseTE6YDRgLHkyOmA0YH1dLFtgbGluZWAse3gxOmAyMWAseDI6YDEyYCx5MTpgMTJgLHkyOmAxMmB9XSxbYGxpbmVgLHt4MTpgOGAseDI6YDNgLHkxOmAxMmAseTI6YDEyYH1dLFtgbGluZWAse3gxOmAyMWAseDI6YDE2YCx5MTpgMjBgLHkyOmAyMGB9XSxbYGxpbmVgLHt4MTpgMTJgLHgyOmAzYCx5MTpgMjBgLHkyOmAyMGB9XSxbYGxpbmVgLHt4MTpgMTRgLHgyOmAxNGAseTE6YDJgLHkyOmA2YH1dLFtgbGluZWAse3gxOmA4YCx4MjpgOGAseTE6YDEwYCx5MjpgMTRgfV0sW2BsaW5lYCx7eDE6YDE2YCx4MjpgMTZgLHkxOmAxOGAseTI6YDIyYH1dXSwid2lmaS1vZmYiOltbYHBhdGhgLHtkOmBNMTIgMjBoLjAxYH1dLFtgcGF0aGAse2Q6YE04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDBgfV0sW2BwYXRoYCx7ZDpgTTUgMTIuODU5YTEwIDEwIDAgMCAxIDUuMTctMi42OWB9XSxbYHBhdGhgLHtkOmBNMTkgMTIuODU5YTEwIDEwIDAgMCAwLTIuMDA3LTEuNTIzYH1dLFtgcGF0aGAse2Q6YE0yIDguODJhMTUgMTUgMCAwIDEgNC4xNzctMi42NDNgfV0sW2BwYXRoYCx7ZDpgTTIyIDguODJhMTUgMTUgMCAwIDAtMTEuMjg4LTMuNzY0YH1dLFtgcGF0aGAse2Q6YG0yIDIgMjAgMjBgfV1dLGVsbGlwc2lzOltbYGNpcmNsZWAse2N4OmAxMmAsY3k6YDEyYCxyOmAxYH1dLFtgY2lyY2xlYCx7Y3g6YDE5YCxjeTpgMTJgLHI6YDFgfV0sW2BjaXJjbGVgLHtjeDpgNWAsY3k6YDEyYCxyOmAxYH1dXSxjaXJjbGU6W1tgY2lyY2xlYCx7Y3g6YDEyYCxjeTpgMTJgLHI6YDEwYH1dXSwiY2lyY2xlLWFsZXJ0IjpbW2BjaXJjbGVgLHtjeDpgMTJgLGN5OmAxMmAscjpgMTBgfV0sW2BsaW5lYCx7eDE6YDEyYCx4MjpgMTJgLHkxOmA4YCx5MjpgMTJgfV0sW2BsaW5lYCx7eDE6YDEyYCx4MjpgMTIuMDFgLHkxOmAxNmAseTI6YDE2YH1dXSwiZXh0ZXJuYWwtbGluayI6W1tgcGF0aGAse2Q6YE0xNSAzaDZ2NmB9XSxbYHBhdGhgLHtkOmBNMTAgMTQgMjEgM2B9XSxbYHBhdGhgLHtkOmBNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNmB9XV0sImFycm93LXJpZ2h0IjpbW2BwYXRoYCx7ZDpgTTUgMTJoMTRgfV0sW2BwYXRoYCx7ZDpgbTEyIDUgNyA3LTcgN2B9XV0sImtleS1yb3VuZCI6W1tgcGF0aGAse2Q6YE0yLjU4NiAxNy40MTRBMiAyIDAgMCAwIDIgMTguODI4VjIxYTEgMSAwIDAgMCAxIDFoM2ExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoMWExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoLjE3MmEyIDIgMCAwIDAgMS40MTQtLjU4NmwuODE0LS44MTRhNi41IDYuNSAwIDEgMC00LTR6YH1dLFtgY2lyY2xlYCx7Y3g6YDE2LjVgLGN5OmA3LjVgLHI6YC41YCxmaWxsOmBjdXJyZW50Q29sb3JgfV1dLCJsaWZlLWJ1b3kiOltbYGNpcmNsZWAse2N4OmAxMmAsY3k6YDEyYCxyOmAxMGB9XSxbYHBhdGhgLHtkOmBtNC45MyA0LjkzIDQuMjQgNC4yNGB9XSxbYHBhdGhgLHtkOmBtMTQuODMgOS4xNyA0LjI0LTQuMjRgfV0sW2BwYXRoYCx7ZDpgbTE0LjgzIDE0LjgzIDQuMjQgNC4yNGB9XSxbYHBhdGhgLHtkOmBtOS4xNyAxNC44My00LjI0IDQuMjRgfV0sW2BjaXJjbGVgLHtjeDpgMTJgLGN5OmAxMmAscjpgNGB9XV0sbWludXM6W1tgcGF0aGAse2Q6YE01IDEyaDE0YH1dXSwiZXllLW9mZiI6W1tgcGF0aGAse2Q6YE0xMC43MzMgNS4wNzZhMTAuNzQ0IDEwLjc0NCAwIDAgMSAxMS4yMDUgNi41NzUgMSAxIDAgMCAxIDAgLjY5NiAxMC43NDcgMTAuNzQ3IDAgMCAxLTEuNDQ0IDIuNDlgfV0sW2BwYXRoYCx7ZDpgTTE0LjA4NCAxNC4xNThhMyAzIDAgMCAxLTQuMjQyLTQuMjQyYH1dLFtgcGF0aGAse2Q6YE0xNy40NzkgMTcuNDk5YTEwLjc1IDEwLjc1IDAgMCAxLTE1LjQxNy01LjE1MSAxIDEgMCAwIDEgMC0uNjk2IDEwLjc1IDEwLjc1IDAgMCAxIDQuNDQ2LTUuMTQzYH1dLFtgcGF0aGAse2Q6YG0yIDIgMjAgMjBgfV1dLCJwcm9vZi1zZWFsIjpbW2BwYXRoYCx7ZDpgTTEyIDIuNSAyMS41IDEyIDEyIDIxLjUgMi41IDEyWmB9XSxbYHBhdGhgLHtkOmBNMTIgOC41IDE1LjUgMTIgMTIgMTUuNSA4LjUgMTJaYH1dXSwicmVjZWlwdC1yZWNvcmRlZCI6W1tgcGF0aGAse2Q6YE0xMiAyLjUgMjEuNSAxMiAxMiAyMS41IDIuNSAxMlpgfV0sW2BwYXRoYCx7ZDpgTTEyIDh2NGwyIDJgfV1dLCJyZWNlaXB0LWRlbGl2ZXJlZCI6W1tgcGF0aGAse2Q6YE0xMiAzdjEwYH1dLFtgcGF0aGAse2Q6YG04IDkgNCA0IDQtNGB9XSxbYHBhdGhgLHtkOmBNNCAxNXY1aDE2di01YH1dXSwicmVjZWlwdC1vcGVuZWQiOltbYHBhdGhgLHtkOmBNMi41IDEyUzYgNS41IDEyIDUuNSAyMS41IDEyIDIxLjUgMTIgMTggMTguNSAxMiAxOC41IDIuNSAxMiAyLjUgMTJaYH1dLFtgY2lyY2xlYCx7Y3g6YDEyYCxjeTpgMTJgLHI6YDIuNWB9XV0sInJlY2VpcHQtYWNjZXB0ZWQiOltbYHBhdGhgLHtkOmBNMTIgMi41IDIxLjUgMTIgMTIgMjEuNSAyLjUgMTJaYH1dLFtgcGF0aGAse2Q6YG04LjUgMTIgMi41IDIuNSA0LjUtNC41YH1dXSwicmVjZWlwdC1yZWplY3RlZCI6W1tgcGF0aGAse2Q6YE0xMiAyLjUgMjEuNSAxMiAxMiAyMS41IDIuNSAxMlpgfV0sW2BwYXRoYCx7ZDpgbTkuNSA5LjUgNSA1YH1dLFtgcGF0aGAse2Q6YG0xNC41IDkuNS01IDVgfV1dLHVudHJ1c3RlZDpbW2BwYXRoYCx7ZDpgTTQgOFY0aDRgfV0sW2BwYXRoYCx7ZDpgTTE2IDRoNHY0YH1dLFtgcGF0aGAse2Q6YE0yMCAxNnY0aC00YH1dLFtgcGF0aGAse2Q6YE04IDIwSDR2LTRgfV0sW2BwYXRoYCx7ZDpgTTkgMTB2Mi41YH1dLFtgcGF0aGAse2Q6YE0xNSAxMHYyLjVgfV1dLCJzYWZldHktY29kZSI6W1tgcmVjdGAse3g6YDIuNWAseTpgNmAsd2lkdGg6YDE5YCxoZWlnaHQ6YDEyYCxyeDpgMmB9XSxbYHBhdGhgLHtkOmBNNyAxMmguMDFgfV0sW2BwYXRoYCx7ZDpgTTEwLjMgMTJoLjAxYH1dLFtgcGF0aGAse2Q6YE0xMy43IDEyaC4wMWB9XSxbYHBhdGhgLHtkOmBNMTcgMTJoLjAxYH1dXSwiaWRlbnRpdHktc2VsZmRlY2xhcmVkIjpbW2BjaXJjbGVgLHtjeDpgMTJgLGN5OmA4YCxyOmA0YH1dLFtgcGF0aGAse2Q6YE00LjUgMjAuNWMuOC0zLjYgMy44LTYgNy41LTZzNi43IDIuNCA3LjUgNmAsc3Ryb2tlRGFzaGFycmF5OmAyLjUgMi41YH1dXSwiaWRlbnRpdHktY2hlY2tlZCI6W1tgY2lyY2xlYCx7Y3g6YDEwYCxjeTpgOGAscjpgNGB9XSxbYHBhdGhgLHtkOmBNMyAyMC41Yy43LTMuNCAzLjUtNiA3LTYgMS4zIDAgMi41LjMgMy41LjlgfV0sW2BwYXRoYCx7ZDpgbTE1IDE4LjUgMiAyIDQtNGB9XV0sImlkZW50aXR5LXJlZ2lzdGVyZWQiOltbYGNpcmNsZWAse2N4OmAxMGAsY3k6YDhgLHI6YDRgfV0sW2BwYXRoYCx7ZDpgTTMgMjAuNWMuNy0zLjQgMy41LTYgNy02IDEuMyAwIDIuNS4zIDMuNS45YH1dLFtgcGF0aGAse2Q6YE0xOCAxNCAyMSAxNyAxOCAyMCAxNSAxN1pgfV1dLCJpZGVudGl0eS12ZXJpZmllZCI6W1tgcGF0aGAse2Q6YE0xNy40IDExQTcuNSA3LjUgMCAxIDAgMTAgMTcuNWB9XSxbYHBhdGhgLHtkOmBNMi41IDEwaDE1YH1dLFtgcGF0aGAse2Q6YE0xMCAyLjVjMiAyLjEgMyA0LjYgMyA3LjVgfV0sW2BwYXRoYCx7ZDpgTTEwIDIuNUM4IDQuNiA3IDcuMSA3IDEwczEgNS40IDMgNy41YH1dLFtgcGF0aGAse2Q6YG0xNC41IDE4LjUgMiAyIDQtNGB9XV0sImRvbWFpbi13YXJuaW5nIjpbW2BwYXRoYCx7ZDpgTTE3LjQgMTBBNy41IDcuNSAwIDEgMCAxMCAxNy41YH1dLFtgcGF0aGAse2Q6YE0yLjUgMTBoMTFgfV0sW2BwYXRoYCx7ZDpgTTEwIDIuNUM4IDQuNiA3IDcuMSA3IDEwczEgNS40IDMgNy41YH1dLFtgcGF0aGAse2Q6YE0xOS41IDEzdjRgfV0sW2BwYXRoYCx7ZDpgTTE5LjUgMjAuNWguMDFgfV1dLGNvbW1pdG1lbnQ6W1tgcGF0aGAse2Q6YE0xNCAyLjVINmExLjUgMS41IDAgMCAwLTEuNSAxLjV2MTZBMS41IDEuNSAwIDAgMCA2IDIxLjVoMTJhMS41IDEuNSAwIDAgMCAxLjUtMS41VjhaYH1dLFtgcGF0aGAse2Q6YE0xNCAyLjVWOGg1LjVgfV0sW2BwYXRoYCx7ZDpgTTguNSAxNS41aDdgfV0sW2BwYXRoYCx7ZDpgTTguNSAxMmg0YH1dXSxhcHByb3ZhbDpbW2BwYXRoYCx7ZDpgTTYuNSA1LjJBOCA4IDAgMCAxIDIwIDExdjJgfV0sW2BwYXRoYCx7ZDpgTTQgMTFhOCA4IDAgMCAxIC42LTNgfV0sW2BwYXRoYCx7ZDpgTTQgMTV2LTJgfV0sW2BwYXRoYCx7ZDpgTTggMjB2LTdhNCA0IDAgMCAxIDggMHYyYH1dLFtgcGF0aGAse2Q6YE0xMiAxM3Y4YH1dLFtgcGF0aGAse2Q6YE0xNiAxOXYyYH1dXSwiZW5jcnlwdGVkLWRyb3AiOltbYHBhdGhgLHtkOmBNMyA2LjVBMS41IDEuNSAwIDAgMSA0LjUgNUg5bDIgMi41aDguNUExLjUgMS41IDAgMCAxIDIxIDl2OS41YTEuNSAxLjUgMCAwIDEtMS41IDEuNWgtMTVBMS41IDEuNSAwIDAgMSAzIDE4LjVaYH1dLFtgcGF0aGAse2Q6YE0xMiAxMXY1YH1dLFtgcGF0aGAse2Q6YG05LjUgMTMuNSAyLjUgMi41IDIuNS0yLjVgfV1dLCJvd24tc3RvcmFnZSI6W1tgZWxsaXBzZWAse2N4OmAxMmAsY3k6YDUuNWAscng6YDhgLHJ5OmAzYH1dLFtgcGF0aGAse2Q6YE00IDUuNXYxM2MwIDEuNyAzLjYgMyA4IDNzOC0xLjMgOC0zdi0xM2B9XSxbYHBhdGhgLHtkOmBNNCAxMmMwIDEuNyAzLjYgMyA4IDNzOC0xLjMgOC0zYH1dXSxhZ2VudDpbW2ByZWN0YCx7eDpgMi41YCx5OmA0YCx3aWR0aDpgMTlgLGhlaWdodDpgMTZgLHJ4OmAyYH1dLFtgcGF0aGAse2Q6YG03IDkuNSAzIDIuNS0zIDIuNWB9XSxbYHBhdGhgLHtkOmBNMTIuNSAxNUgxN2B9XV0sImFpLWFwcCI6W1tgcmVjdGAse3g6YDIuNWAseTpgNGAsd2lkdGg6YDE5YCxoZWlnaHQ6YDE2YCxyeDpgMmB9XSxbYHBhdGhgLHtkOmBNMi41IDloMTlgfV0sW2BwYXRoYCx7ZDpgTTYgNi41aC4wMWB9XSxbYHBhdGhgLHtkOmBNOC41IDYuNWguMDFgfV1dLCJjbG91ZC1hZ2VudCI6W1tgcGF0aGAse2Q6YE03IDE5YTQuNSA0LjUgMCAwIDEtLjYtOUE2IDYgMCAwIDEgMTggOWE0IDQgMCAwIDEgLjUgMTBaYH1dLFtgcGF0aGAse2Q6YG0xMCAxMiAyLjUgMi0yLjUgMmB9XV0sImJyb3dzZXItYWdlbnQiOltbYHJlY3RgLHt4OmAyLjVgLHk6YDRgLHdpZHRoOmAxOWAsaGVpZ2h0OmAxNmAscng6YDJgfV0sW2BwYXRoYCx7ZDpgTTIuNSA5aDE5YH1dLFtgcGF0aGAse2Q6YG03IDEyLjUgMi41IDItMi41IDJgfV0sW2BwYXRoYCx7ZDpgTTEyIDE2LjVoNGB9XV19O2Z1bmN0aW9uIF8oLi4uZSl7cmV0dXJuIGUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oYCBgKX12YXIgdj1bWzAsMzFdLFsxMjcsMTU5XSxbODIwMyw4MjA3XSxbODIzNCw4MjM4XSxbODI4OCw4Mjk3XSxbNjUyNzksNjUyNzldLFs5MTc1MDQsOTE3NjMxXV07ZnVuY3Rpb24geShlKXtyZXR1cm4gdi5zb21lKChbdCxuXSk9PmU-PXQmJmU8PW4pfWZ1bmN0aW9uIGIoZSx0PTFlNCxuPSExKXtsZXQgcj1gYDtmb3IobGV0IGkgb2YgU3RyaW5nKGUpKXtsZXQgZT1pLmNvZGVQb2ludEF0KDApPz8wO2lmKG4mJihlPT09OXx8ZT09PTEwKT9yKz1pOnkoZSl8fChyKz1pKSxyLmxlbmd0aD49dClicmVha31yZXR1cm4gci5zbGljZSgwLHQpfWZ1bmN0aW9uIHgoZSl7bGV0IHQ9ZS5yZXBsYWNlKC8tL2csYCBgKTtyZXR1cm4gdC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpfXZhciBTPXt3aWR0aDoyMDYuNCxoZWlnaHQ6MzgsYmFzZWxpbmU6MjkscGF0aDpgTTkuMzIgLTI4LjQwMEgxNC42OEwyMy4xNiAwLjBIMTguNTZMMTYuNjQgLTYuNzJINy4zNkw1LjQ0IDAuMEgwLjg0Wk0xNS40OCAtMTAuNjQgMTIuMCAtMjIuOCA4LjUyIC0xMC42NFogTTI1LjcyIDAuMzIgMzAuMTYgMC4wUTMwLjY0IDEuNDAwIDMxLjcwMCAyLjA2UTMyLjc2MCAyLjcyIDM0LjY4IDIuNzJRMzcuMiAyLjcyIDM4LjU0MCAxLjZRMzkuODggMC40OCAzOS44OCAtMS43NlYtNC41NjBRMzkuMTIwIC0yLjk2IDM3LjU2IC0yLjA0UTM2LjAgLTEuMTIgMzMuODggLTEuMTJRMzEuMjggLTEuMTIgMjkuMjggLTIuNDJRMjcuMjggLTMuNzIgMjYuMTYgLTYuMDRRMjUuMDQgLTguMzYgMjUuMDQgLTExLjM2UTI1LjA0IC0xNC40OCAyNi4xNCAtMTYuODZRMjcuMjQwIC0xOS4yNDAgMjkuMjIwIC0yMC41NFEzMS4yMDAgLTIxLjg0IDMzLjc2MCAtMjEuODRRMzUuODggLTIxLjg0IDM3LjU0MCAtMjAuODRRMzkuMiAtMTkuODQgMzkuOTYgLTE4LjA0TDQwLjA0MCAtMjEuMzZINDQuMTZWLTIuMlE0NC4xNiAyLjAgNDEuNjggNC4yNFEzOS4yIDYuNDggMzQuNjggNi40OFEzMS4xNiA2LjQ4IDI4LjggNC44MlEyNi40NCAzLjE2IDI1LjcyIDAuMzJaTTM5Ljg4IC0xMS40OFEzOS44OCAtMTQuNDQgMzguNDYgLTE2LjE4UTM3LjA0IC0xNy45MiAzNC42OCAtMTcuOTJRMzIuMjggLTE3LjkyIDMwLjkyIC0xNi4xOFEyOS41NjAgLTE0LjQ0IDI5LjU2MCAtMTEuMzZRMjkuNTYwIC04LjMyIDMwLjk0IC02LjU2MFEzMi4zMiAtNC44IDM0LjY4IC00LjhRMzcuMDggLTQuOCAzOC40ODAgLTYuNThRMzkuODggLTguMzYgMzkuODggLTExLjQ4WiBNNDcuODggLTEwLjY4UTQ3Ljg4IC0xNC4wNDAgNDkuMSAtMTYuNTYwUTUwLjMyIC0xOS4wODAgNTIuNTYgLTIwLjQ2UTU0LjgwMCAtMjEuODQgNTcuNzIgLTIxLjg0UTYwLjQ4MCAtMjEuODQgNjIuNyAtMjAuNTRRNjQuOTIgLTE5LjI0MCA2Ni4xOCAtMTYuNzAwUTY3LjQ0IC0xNC4xNiA2Ny40NCAtMTAuNlYtOS41Nkg1Mi40UTUyLjY0IC02LjU2MCA1NC4wNCAtNS4wUTU1LjQ0IC0zLjQ0IDU3LjgwMCAtMy40NFE1OS41NiAtMy40NCA2MC43NjAgLTQuM1E2MS45NiAtNS4xNiA2Mi41MiAtNi43Mkw2Ny4wNCAtNi4zMlE2Ni4wOCAtMy4yNCA2My42NiAtMS4zODBRNjEuMjQgMC40OCA1Ny44MDAgMC40OFE1NC44NCAwLjQ4IDUyLjU4IC0wLjkwMFE1MC4zMiAtMi4yODAgNDkuMSAtNC44MDBRNDcuODggLTcuMzIgNDcuODggLTEwLjY4Wk01Ny43MiAtMTcuOTJRNTUuNiAtMTcuOTIgNTQuMjQgLTE2LjU4MFE1Mi44OCAtMTUuMjQgNTIuNDgwIC0xMi43Mkg2Mi43NjBRNjIuNDgwIC0xNS4yNCA2MS4xNCAtMTYuNTgwUTU5LjgwMCAtMTcuOTIgNTcuNzIgLTE3LjkyWiBNNzIuMTIgLTIxLjM2SDc2LjBMNzYuMTIgLTE3LjZRNzYuOTIgLTE5LjcyIDc4LjU4MCAtMjAuNzhRODAuMjQwIC0yMS44NCA4Mi40NDAgLTIxLjg0UTg1LjgwMCAtMjEuODQgODcuNTYgLTE5LjY0UTg5LjMyMCAtMTcuNDQgODkuMzIwIC0xMy44VjAuMEg4NS4wNFYtMTIuNjRRODUuMDQgLTE1LjQ0IDg0LjEyIC0xNi44UTgzLjIgLTE4LjE2IDgxLjE2MCAtMTguMTZRNzkuMDQgLTE4LjE2IDc3LjcyIC0xNi42NlE3Ni40IC0xNS4xNiA3Ni40IC0xMi40OFYwLjBINzIuMTJaIE05OS42MDAgLTYuNFYtMTcuNjhIOTMuMDRWLTIxLjM2SDk5LjYwMFYtMjYuNzZIMTAzLjg4Vi0yMS4zNkgxMTIuMzIwVi0xNy42OEgxMDMuODhWLTYuNjAwUTEwMy44OCAtMy42OCAxMDYuNzIgLTMuNjhIMTEyLjMyMFYwLjBIMTA2LjJRMTAyLjg0IDAuMCAxMDEuMjIgLTEuNTZROTkuNjAwIC0zLjEyIDk5LjYwMCAtNi40WiBNMTE3Ljg0IC0yOC40MDBIMTIyLjI0Vi00LjA0SDEzNS43NlYwLjBIMTE3Ljg0WiBNMTM5LjY4IC0zLjY4SDE0OC4wNDBWLTE3LjY4SDE0MC4wOFYtMjEuMzZIMTUyLjM2Vi0zLjY4SDE1OS41MlYwLjBIMTM5LjY4Wk0xNDcuOCAtMjguNTJIMTUyLjI4MFYtMjQuMjhIMTQ3LjhaIE0xNjMuMzIgLTIxLjM2SDE2Ny4yTDE2Ny4zMiAtMTcuNlExNjguMTIgLTE5LjcyIDE2OS43OCAtMjAuNzhRMTcxLjQ0IC0yMS44NCAxNzMuNjQgLTIxLjg0UTE3Ny4wIC0yMS44NCAxNzguNzYgLTE5LjY0UTE4MC41MTkgLTE3LjQ0IDE4MC41MTkgLTEzLjhWMC4wSDE3Ni4yNFYtMTIuNjRRMTc2LjI0IC0xNS40NCAxNzUuMzIgLTE2LjhRMTc0LjQgLTE4LjE2IDE3Mi4zNTkgLTE4LjE2UTE3MC4yNCAtMTguMTYgMTY4LjkyMCAtMTYuNjZRMTY3LjYgLTE1LjE2IDE2Ny42IC0xMi40OFYwLjBIMTYzLjMyWiBNMTg1LjYgLTI4LjQwMEgxODkuODhWLTExLjA4TDE5OS4xMiAtMjEuMzZIMjA0LjQ4MEwxOTYuMTIgLTEyLjI4MEwyMDQuODQgMC4wSDE5OS42NDBMMTkzLjI4IC05LjM2TDE4OS44OCAtNS42OFYwLjBIMTg1LjZaYH0sQz1oKCk7T2JqZWN0LmtleXMoZyk7ZnVuY3Rpb24gdyh7bmFtZTplLHNpemU6dD0xNixzdHJva2VXaWR0aDpuPTIsbGFiZWw6cixjbGFzc05hbWU6aX0pe2xldCBhPWdbZV0_P2cuY2lyY2xlPz9bXTtyZXR1cm4oMCxDLmpzeCkoYHN2Z2Ase2NsYXNzTmFtZTpfKGBhbC1pY29uYCxpKSx3aWR0aDp0LGhlaWdodDp0LHZpZXdCb3g6YDAgMCAyNCAyNGAsZmlsbDpgbm9uZWAsc3Ryb2tlOmBjdXJyZW50Q29sb3JgLHN0cm9rZVdpZHRoOm4sc3Ryb2tlTGluZWNhcDpgcm91bmRgLHN0cm9rZUxpbmVqb2luOmByb3VuZGAsImFyaWEtaGlkZGVuIjpyPT09dm9pZCAwP2B0cnVlYDp2b2lkIDAscm9sZTpyPT09dm9pZCAwP3ZvaWQgMDpgaW1nYCwiYXJpYS1sYWJlbCI6cixjaGlsZHJlbjphLm1hcCgoW2UsdF0sbik9PigwLGwuY3JlYXRlRWxlbWVudCkoZSx7a2V5Om4sLi4udH0pKX0pfWZ1bmN0aW9uIFQoe3NpemU6ZT0yNCxtb25vOnQsdGl0bGU6bj1gQWdlbnRMaW5rYCxjbGFzc05hbWU6cn0pe2xldCBpPWU8PTIwLGE9bj09PWBgP3siYXJpYS1oaWRkZW4iOmB0cnVlYH06e3JvbGU6YGltZ2AsImFyaWEtbGFiZWwiOm59LG89dD09PSEwP2BhbC1tYXJrLWlua2A6YGFsLW1hcmstc2VhbGA7cmV0dXJuIGk_KDAsQy5qc3hzKShgc3ZnYCx7Y2xhc3NOYW1lOl8oYGFsLW1hcmtgLHIpLHdpZHRoOmUsaGVpZ2h0OmUsdmlld0JveDpgMCAwIDE2IDE2YCwuLi5hLGNoaWxkcmVuOlsoMCxDLmpzeCkoYHBhdGhgLHtjbGFzc05hbWU6YGFsLW1hcmstaW5rYCxkOmBNMSAxLjVINVYzLjVIM1YxMi41SDVWMTQuNUgxWiBNMTUgMS41SDExVjMuNUgxM1YxMi41SDExVjE0LjVIMTVaYH0pLCgwLEMuanN4KShgcGF0aGAse2NsYXNzTmFtZTpvLGQ6YE04IDQuNUwxMS41IDhMOCAxMS41TDQuNSA4WmB9KV19KTooMCxDLmpzeHMpKGBzdmdgLHtjbGFzc05hbWU6XyhgYWwtbWFya2Asciksd2lkdGg6ZSozOC8zNixoZWlnaHQ6ZSx2aWV3Qm94OmA1IDYgMzggMzZgLC4uLmEsY2hpbGRyZW46WygwLEMuanN4KShgcGF0aGAse2NsYXNzTmFtZTpgYWwtbWFyay1pbmtgLGQ6YE01IDZIMTUuNVYxMUgxMFYzN0gxNS41VjQySDVaIE00MyA2SDMyLjVWMTFIMzhWMzdIMzIuNVY0Mkg0M1pgfSksKDAsQy5qc3gpKGBwYXRoYCx7Y2xhc3NOYW1lOm8sZDpgTTI0IDE1TDMzIDI0TDI0IDMzTDE1IDI0WmB9KV19KX1mdW5jdGlvbiBFKHtoZWlnaHQ6ZT0yMCxwcm9kdWN0TmFtZTp0PWBBZ2VudExpbmtgLGRlY29yYXRpdmU6bixjbGFzc05hbWU6cn0pe2xldCBpPW49PT0hMD97ImFyaWEtaGlkZGVuIjpgdHJ1ZWB9Ontyb2xlOmBpbWdgLCJhcmlhLWxhYmVsIjp0fTtyZXR1cm4oMCxDLmpzeCkoYHN2Z2Ase2NsYXNzTmFtZTpfKGBhbC13b3JkbWFya2AsciksaGVpZ2h0OmUsd2lkdGg6ZSpTLndpZHRoL1MuaGVpZ2h0LHZpZXdCb3g6YDAgMCAke1Mud2lkdGh9ICR7Uy5oZWlnaHR9YCwuLi5pLGNoaWxkcmVuOigwLEMuanN4KShgcGF0aGAse3RyYW5zZm9ybTpgdHJhbnNsYXRlKDAgJHtTLmJhc2VsaW5lfSlgLGQ6Uy5wYXRofSl9KX1mdW5jdGlvbiBEKHtzaXplOmU9MjQsbGF5b3V0OnQ9YGhvcml6b250YWxgLGVuZG9yc2VkOm4sbW9ubzpyLHByb2R1Y3ROYW1lOmk9YEFnZW50TGlua2AsY2xhc3NOYW1lOmF9KXtyZXR1cm4oMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOl8oYGFsLWxvY2t1cGAsYGFsLWxvY2t1cC0ke3R9YCxyPT09ITAmJmBhbC1sb2NrdXAtbW9ub2AsYSkscm9sZTpgaW1nYCwiYXJpYS1sYWJlbCI6bj09PSEwP2Ake2l9IGJ5IDR0aFRlY2hgOmksY2hpbGRyZW46WygwLEMuanN4KShULHtzaXplOnQ9PT1gc3RhY2tlZGA_ZSoyOmUsdGl0bGU6YGAsLi4ucj09PXZvaWQgMD97fTp7bW9ubzpyfX0pLCgwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWxvY2t1cC13b3Jkc2AsY2hpbGRyZW46WygwLEMuanN4KShFLHtoZWlnaHQ6ZSouODIsZGVjb3JhdGl2ZTohMH0pLG49PT0hMD8oMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWxvY2t1cC1ieSBhbC10ZXh0LWNhcHRpb25gLGNoaWxkcmVuOmBieSA0dGhUZWNoYH0pOm51bGxdfSldfSl9ZnVuY3Rpb24gZWUoe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCxDLmpzeCkoYGtiZGAse2NsYXNzTmFtZTpgYWwta2JkYCxjaGlsZHJlbjplfSl9ZnVuY3Rpb24gTyh7dmFyaWFudDplPWBzZWNvbmRhcnlgLHNpemU6dD1gbWRgLGljb246bixpY29uUmlnaHQ6cixrYmQ6aSxibG9jazphLGNsYXNzTmFtZTpvLGNoaWxkcmVuOnMsdHlwZTpjPWBidXR0b25gLGF1dG9Gb2N1czpsLC4uLnV9KXtyZXR1cm4oMCxDLmpzeHMpKGBidXR0b25gLHsuLi51LHR5cGU6YyxjbGFzc05hbWU6XyhgYWwtYnRuYCxgYWwtYnRuLSR7ZX1gLGBhbC1idG4tJHt0fWAsYT09PSEwJiZgYWwtYnRuLWJsb2NrYCxvKSxjaGlsZHJlbjpbbj09PXZvaWQgMD9udWxsOigwLEMuanN4KSh3LHtuYW1lOm4sc2l6ZTp0PT09YGxnYD8xODoxNn0pLHM9PW51bGw_bnVsbDooMCxDLmpzeCkoYHNwYW5gLHtjaGlsZHJlbjpzfSkscj09PXZvaWQgMD9udWxsOigwLEMuanN4KSh3LHtuYW1lOnIsc2l6ZToxNn0pLGk9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoZWUse2NoaWxkcmVuOml9KV19KX1mdW5jdGlvbiB0ZSh7bGFiZWw6ZSxoaW50OnQsZXJyb3I6bixtb25vOnIscHJlZml4OmksY2xhc3NOYW1lOmEsaWQ6bywuLi5zfSl7bGV0IGM9KDAsbC51c2VJZCkoKSx1PW8_P2MsZD1uIT09dm9pZCAwfHx0IT09dm9pZCAwO3JldHVybigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpfKGBhbC1maWVsZGAsbiE9PXZvaWQgMCYmYGlzLWVycm9yYCxhKSxjaGlsZHJlbjpbZT09PXZvaWQgMD9udWxsOigwLEMuanN4KShgbGFiZWxgLHtodG1sRm9yOnUsY2xhc3NOYW1lOmBhbC1maWVsZC1sYWJlbCBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOmV9KSwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWlucHV0LXdyYXBgLGNoaWxkcmVuOltpPT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1pbnB1dC1wcmVmaXggYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjppfSksKDAsQy5qc3gpKGBpbnB1dGAsey4uLnMsaWQ6dSxjbGFzc05hbWU6XyhgYWwtaW5wdXRgLHI9PT0hMCYmYGFsLXRleHQtY29kZWApLCJhcmlhLWludmFsaWQiOm49PT12b2lkIDA_dm9pZCAwOmB0cnVlYCwiYXJpYS1kZXNjcmliZWRieSI6ZD9gJHt1fS1kYDp2b2lkIDB9KV19KSxkPygwLEMuanN4cykoYGRpdmAse2lkOmAke3V9LWRgLGNsYXNzTmFtZTpfKGBhbC1maWVsZC1oaW50IGFsLXRleHQtY2FwdGlvbmAsbiE9PXZvaWQgMCYmYGlzLWVycm9yYCksY2hpbGRyZW46W249PT12b2lkIDA_bnVsbDooMCxDLmpzeCkodyx7bmFtZTpgY2lyY2xlLWFsZXJ0YCxzaXplOjE0fSksbj8_dF19KTpudWxsXX0pfWZ1bmN0aW9uIG5lKHtsYWJlbDplLGRlc2NyaXB0aW9uOnQsY2hlY2tlZDpuLGRlZmF1bHRDaGVja2VkOnIsZGlzYWJsZWQ6aSxvbkNoYW5nZTphfSl7bGV0W28sc109KDAsbC51c2VTdGF0ZSkocj09PSEwKSxjPW4_P28sdT0oMCxsLnVzZUlkKSgpO3JldHVybigwLEMuanN4cykoYGxhYmVsYCx7Y2xhc3NOYW1lOl8oYGFsLXN3aXRjaC1yb3dgLGk9PT0hMCYmYGlzLWRpc2FibGVkYCksY2hpbGRyZW46WygwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXN3aXRjaC10ZXh0YCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7aWQ6YCR7dX0tbGAsY2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmV9KSx0PT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGBzcGFuYCx7aWQ6YCR7dX0tZGAsY2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOnR9KV19KSwoMCxDLmpzeHMpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLHJvbGU6YHN3aXRjaGAsImFyaWEtY2hlY2tlZCI6Yz9gdHJ1ZWA6YGZhbHNlYCwiYXJpYS1sYWJlbGxlZGJ5IjpgJHt1fS1sYCwiYXJpYS1kZXNjcmliZWRieSI6dD09PXZvaWQgMD92b2lkIDA6YCR7dX0tZGAsY2xhc3NOYW1lOl8oYGFsLXN3aXRjaGAsYyYmYGlzLW9uYCksb25DbGljazooKT0-e2khPT0hMCYmKG49PT12b2lkIDAmJnMoIWMpLGE_LighYykpfSxkaXNhYmxlZDppLGNoaWxkcmVuOlsoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXN3aXRjaC1rbm9iYH0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtc3dpdGNoLXN0YXRlIGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOmM_YE9uYDpgT2ZmYH0pXX0pXX0pfWZ1bmN0aW9uIHJlKHtsYWJlbDplLGxhYmVsbGVkQnk6dCxvcHRpb25zOm4sdmFsdWU6cixkZWZhdWx0VmFsdWU6aSxvbkNoYW5nZTphfSl7bGV0W28sc109KDAsbC51c2VTdGF0ZSkoaT8_blswXT8udmFsdWUpLGM9cj8_byx1PSgwLGwudXNlUmVmKShbXSksZD1NYXRoLm1heCgwLG4uZmluZEluZGV4KGU9PmUudmFsdWU9PT1jKSksZj1lPT57cj09PXZvaWQgMCYmcyhlKSxhPy4oZSl9LHA9KGUsdCk9PntsZXQgcj1lLmtleT09PWBBcnJvd1JpZ2h0YHx8ZS5rZXk9PT1gQXJyb3dEb3duYD8xOmUua2V5PT09YEFycm93TGVmdGB8fGUua2V5PT09YEFycm93VXBgPy0xOjA7aWYocj09PTApcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtsZXQgaT0odCtyK24ubGVuZ3RoKSVuLmxlbmd0aCxhPW5baV07YSE9PXZvaWQgMCYmKGYoYS52YWx1ZSksdS5jdXJyZW50W2ldPy5mb2N1cygpKX07cmV0dXJuKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNlZ2Ascm9sZTpgcmFkaW9ncm91cGAsImFyaWEtbGFiZWwiOmUsImFyaWEtbGFiZWxsZWRieSI6dCxjaGlsZHJlbjpuLm1hcCgoZSx0KT0-e2xldCBuPWUudmFsdWU9PT1jO3JldHVybigwLEMuanN4cykoYGJ1dHRvbmAse3JlZjplPT57dS5jdXJyZW50W3RdPWV9LHR5cGU6YGJ1dHRvbmAscm9sZTpgcmFkaW9gLCJhcmlhLWNoZWNrZWQiOm4_YHRydWVgOmBmYWxzZWAsdGFiSW5kZXg6dD09PWQ_MDotMSxjbGFzc05hbWU6XyhgYWwtc2VnLW9wdCBhbC10ZXh0LWJvZHktc21gLG4mJmBpcy1vbmApLG9uQ2xpY2s6KCk9PmYoZS52YWx1ZSksb25LZXlEb3duOmU9PnAoZSx0KSxjaGlsZHJlbjpbbj8oMCxDLmpzeCkodyx7bmFtZTpgY2hlY2tgLHNpemU6MTR9KTpudWxsLGUubGFiZWwsZS5oaW50PT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1zZWctaGludGAsY2hpbGRyZW46ZS5oaW50fSldfSxlLnZhbHVlKX0pfSl9dmFyIGllPXtpbmZvOmBpbmZvYCxzdWNjZXNzOmBjaGVja2Asd2FybmluZzpgdHJpYW5nbGUtYWxlcnRgLGRhbmdlcjpgY2lyY2xlLWFsZXJ0YCxuZXV0cmFsOmBpbmZvYCxvZmZsaW5lOmB3aWZpLW9mZmAscHJvb2Y6YHByb29mLXNlYWxgfTtmdW5jdGlvbiBrKHt0b25lOmU9YGluZm9gLHRpdGxlOnQsaWNvbjpuLGFjdGlvbjpyLGNvbXBhY3Q6aSxjaGlsZHJlbjphfSl7cmV0dXJuKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOl8oYGFsLWJhbm5lcmAsYGFsLXRvbmUtJHtlPT09YG9mZmxpbmVgP2BuZXV0cmFsYDplfWAsaT09PSEwJiZgaXMtY29tcGFjdGApLHJvbGU6ZT09PWBkYW5nZXJgfHxlPT09YHdhcm5pbmdgP2BhbGVydGA6YHN0YXR1c2AsY2hpbGRyZW46WygwLEMuanN4KSh3LHtuYW1lOm4_P2llW2VdLHNpemU6MTZ9KSwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWJhbm5lci10ZXh0IGFsLXRleHQtYm9keWAsY2hpbGRyZW46W3Q9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHN0cm9uZ2Ase2NoaWxkcmVuOmAke3R9IGB9KSxhXX0pLHI9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtYmFubmVyLWFjdGAsY2hpbGRyZW46cn0pXX0pfWZ1bmN0aW9uIEEoe3RpdGxlOmUscHJvbXB0OnQsaWNvbjpuPWBpbmJveGAsYWN0aW9uOnJ9KXtyZXR1cm4oMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWVtcHR5YCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1lbXB0eS1pY2AsY2hpbGRyZW46KDAsQy5qc3gpKHcse25hbWU6bixzaXplOjIwfSl9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46ZX0pLHQ9PT12b2lkIDA_bnVsbDooMCxDLmpzeHMpKGBjb2RlYCx7Y2xhc3NOYW1lOmBhbC1lbXB0eS10cnkgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1tdXRlZGAsY2hpbGRyZW46YFRyeTogYH0pLHRdfSkscj8_bnVsbF19KX1hc3luYyBmdW5jdGlvbiBhZShlKXt0cnl7bGV0IHQ9dHlwZW9mIG5hdmlnYXRvcj5gdWA_dm9pZCAwOm5hdmlnYXRvci5jbGlwYm9hcmQ7cmV0dXJuIHQhPT12b2lkIDAmJihhd2FpdCB0LndyaXRlVGV4dChlKSwhMCl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIG9lKHtwcm9tcHQ6ZSxjb21tYW5kOnQsdGl0bGU6bixub3RlOnIsc2l6ZTppPWBkZWZhdWx0YH0pe2xldFthLG9dPSgwLGwudXNlU3RhdGUpKCExKTsoMCxsLnVzZUVmZmVjdCkoKCk9PntpZighYSlyZXR1cm47bGV0IGU9c2V0VGltZW91dCgoKT0-byghMSksMTYwMCk7cmV0dXJuKCk9PmNsZWFyVGltZW91dChlKX0sW2FdKTtsZXQgcz10IT09dm9pZCAwJiZlPT09dm9pZCAwO3JldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6XyhgYWwtY29weWAsaT09PWBoZXJvYCYmYGlzLWhlcm9gKSxjaGlsZHJlbjpbKDAsQy5qc3hzKShgaGVhZGVyYCx7Y2xhc3NOYW1lOmBhbC1jb3B5LWhlYWRgLGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jb3B5LXRpdGxlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6cz9gdGVybWluYWxgOmBhZ2VudGAsc2l6ZToxNH0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbGAsY2hpbGRyZW46bj8_KHM_YFRlcm1pbmFsYDpgUGFzdGUgdGhpcyB0byB5b3VyIGFnZW50YCl9KV19KSwoMCxDLmpzeCkoTyx7c2l6ZTpgc21gLHZhcmlhbnQ6aT09PWBoZXJvYD9gcHJpbWFyeWA6YGdob3N0YCxpY29uOmE_YGNoZWNrYDpgY29weWAsb25DbGljazooKT0-e2FlKGU_P3Q_P2BgKS50aGVuKGU9Pm8oZSkpfSxjaGlsZHJlbjphP2BDb3BpZWRgOmBDb3B5YH0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtc3Itb25seWAscm9sZTpgc3RhdHVzYCwiYXJpYS1saXZlIjpgcG9saXRlYCxjaGlsZHJlbjphP2BDb3BpZWRgOmBgfSldfSksKDAsQy5qc3gpKGBwcmVgLHtjbGFzc05hbWU6YGFsLWNvcHktYm9keSBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOnM_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jb3B5LXBzYCwiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjpgJCBgfSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jb3B5LWNtZGAsY2hpbGRyZW46dH0pXX0pOmV9KSxyPT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC1jb3B5LW5vdGUgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpyfSldfSl9dmFyIHNlPXtzZW50OltgaW5mb2AsYGFycm93LXJpZ2h0YCxgU2VudGBdLHJlY2VpdmVkOltgbmV1dHJhbGAsYGluYm94YCxgUmVjZWl2ZWRgXSxkZWxpdmVyZWQ6W2BzdWNjZXNzYCxgcmVjZWlwdC1kZWxpdmVyZWRgLGBEZWxpdmVyZWRgXSxvcGVuZWQ6W2BzdWNjZXNzYCxgcmVjZWlwdC1vcGVuZWRgLGBPcGVuZWRgXSxhY2NlcHRlZDpbYHN1Y2Nlc3NgLGByZWNlaXB0LWFjY2VwdGVkYCxgQWNjZXB0ZWRgXSxyZWplY3RlZDpbYG5ldXRyYWxgLGByZWNlaXB0LXJlamVjdGVkYCxgUmVqZWN0ZWRgXSwiZGVsaXZlcnktcmVxdWVzdGVkIjpbYGluZm9gLGByZWNlaXB0LWRlbGl2ZXJlZGAsYERlbGl2ZXJ5IHJlcXVlc3RlZGBdLHJlY29yZGluZzpbYGluZm9gLGByZWZyZXNoLWN3YCxgUmVjb3JkaW5nYF0scmVjb3JkZWQ6W2Bwcm9vZmAsYHByb29mLXNlYWxgLGBSZWNvcmRlZGBdLCJ3YWl0aW5nLXRvLXBvc3QiOltgbmV1dHJhbGAsYGNsb2NrYCxgV2FpdGluZyB0byBwb3N0YF0sIm5lZWRzLWFwcHJvdmFsIjpbYGFjY2VudGAsYGFwcHJvdmFsYCxgTmVlZHMgYXBwcm92YWxgXSxhcHByb3ZlZDpbYHN1Y2Nlc3NgLGBjaGVja2AsYEFwcHJvdmVkYF0sZGVuaWVkOltgbmV1dHJhbGAsYHhgLGBEZW5pZWRgXSxleHBpcmVkOltgbmV1dHJhbGAsYGNsb2NrYCxgRXhwaXJlZGBdLCJuZWVkcy1zZXR1cCI6W2B3YXJuaW5nYCxgc2V0dGluZ3NgLGBOZWVkcyBzZXR1cGBdLCJuZWVkcy1jcmVkaXRzIjpbYHdhcm5pbmdgLGBjaXJjbGUtYWxlcnRgLGBOZWVkcyBjcmVkaXRzYF0sZmFpbGVkOltgZGFuZ2VyYCxgdHJpYW5nbGUtYWxlcnRgLGBGYWlsZWRgXSxmbGFnZ2VkOltgd2FybmluZ2AsYHRyaWFuZ2xlLWFsZXJ0YCxgRmxhZ2dlZGBdLG9ubGluZTpbYHN1Y2Nlc3NgLGBjaXJjbGVgLGBPbmxpbmVgXSwibGFzdC1zZWVuIjpbYG5ldXRyYWxgLGBjbG9ja2AsYExhc3Qgc2VlbmBdLHBhdXNlZDpbYG5ldXRyYWxgLGBwYXVzZWAsYFBhdXNlZGBdLG9mZmxpbmU6W2BuZXV0cmFsYCxgd2lmaS1vZmZgLGBPZmZsaW5lYF19O2Z1bmN0aW9uIGNlKHtzdGF0dXM6ZSxkZXRhaWw6dCxjaGlsZHJlbjpuLGNsYXNzTmFtZTpyfSl7bGV0W2ksYSxvXT1zZVtlXT8_c2Uuc2VudDtyZXR1cm4oMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOl8oYGFsLWNoaXBgLGBhbC10b25lLSR7aX1gLHIpLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTphLHNpemU6MTIsc3Ryb2tlV2lkdGg6Mi4yNX0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbGAsY2hpbGRyZW46bj8_b30pLHQ9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWNoaXAtZGV0YWlsIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46dH0pXX0pfXZhciBsZT17c2VsZmRlY2xhcmVkOltgc2VsZmRlY2xhcmVkYCxgaWRlbnRpdHktc2VsZmRlY2xhcmVkYCxgU2VsZi1kZWNsYXJlZGBdLGNoZWNrZWQ6W2BjaGVja2VkYCxgaWRlbnRpdHktY2hlY2tlZGAsYFNhZmV0eSBjb2RlIGNoZWNrZWRgXSxyZWdpc3RlcmVkOltgcmVnaXN0ZXJlZGAsYGlkZW50aXR5LXJlZ2lzdGVyZWRgLGBSZWdpc3RlcmVkYF0sdmVyaWZpZWQ6W2B2ZXJpZmllZGAsYGlkZW50aXR5LXZlcmlmaWVkYCxgVmVyaWZpZWQgZG9tYWluYF0sImRvbWFpbi13YXJuaW5nIjpbYHdhcm5pbmdgLGBkb21haW4td2FybmluZ2AsYERvbWFpbiBubyBsb25nZXIgdmVyaWZpZWRgXX07ZnVuY3Rpb24gdWUoe2tpbmQ6ZSxkb21haW46dCxwdW55Y29kZTpuLGRhdGU6cixjbGFzc05hbWU6aX0pe2xldFthLG8sc109bGVbZV0_P2xlLnNlbGZkZWNsYXJlZCxjPWU9PT1gdmVyaWZpZWRgJiZ0IT09dm9pZCAwP2Ake3N9IMK3ICR7Yih0LDI1Myl9YDpzO3JldHVybigwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6XyhgYWwtaWRsYCxgYWwtaWRsLSR7YX1gLGkpLHRpdGxlOmU9PT1gc2VsZmRlY2xhcmVkYD9gTmFtZSBjaG9zZW4gYnkgaXRzIG93bmVyLiBDb21wYXJlIHRoZSBzYWZldHkgY29kZSB0byBiZSBzdXJlLmA6dm9pZCAwLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpvLHNpemU6MTIsc3Ryb2tlV2lkdGg6Mi4yNX0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpjfSksbj09PXZvaWQgMD9udWxsOigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtaWRsLXB1bnkgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjpiKG4sMjUzKX0pLHI9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWlkbC1kYXRlIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46cn0pXX0pfWZ1bmN0aW9uIGRlKHt2YWx1ZTplLHByZWZpeDp0LGNsYXNzTmFtZTpufSl7bGV0IHI9YihlLDY0KTtyZXR1cm4oMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOl8oYGFsLWZwYCxuKSxjaGlsZHJlbjpbdD09PXZvaWQgMD9udWxsOigwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46W3QsYCBgXX0pLCgwLEMuanN4KShgc3BhbmAse3JvbGU6YGltZ2AsY2xhc3NOYW1lOmBhbC10ZXh0LWNvZGVgLCJhcmlhLWxhYmVsIjpyLnNwbGl0KGBgKS5qb2luKGAgYCksY2hpbGRyZW46cn0pXX0pfXZhciBmZT1bYHZlcmlmaWVkYCxgcmVnaXN0ZXJlZGAsYHNlbGYtZGVjbGFyZWRgLGBzZWxmZGVjbGFyZWRgLGBzYWZldHkgY29kZWAsYGNoZWNrZWRgLGBhZ2VudGxpbmtgLGBzeXN0ZW1gLGBhcHByb3ZlZGAsYG93bmVyYF0scGU9L15bQS1aYS16MC05XHUwMEMwLVx1MDI0RiAuJ1x1MjAxOS1dKyQvLG1lPXt0ZXN0OmU9PnBlLnRlc3QoZSkmJiEvW1x1MDBEN1x1MDBGN10vLnRlc3QoZSl9O2Z1bmN0aW9uIGhlKGUpe2xldCB0PWIoZS5hbGlhcz8_YGAsMTAwKS50cmltKCk7aWYodCE9PWBgKXJldHVybntraW5kOmBhbGlhc2AsdGV4dDp0fTtsZXQgbj0oZS5uYW1lPz9gYCkubm9ybWFsaXplKGBORkNgKS50cmltKCkscj1uLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG49PT1gYHx8ZmUuc29tZShlPT5yLmluY2x1ZGVzKGUpKXx8IW1lLnRlc3Qobik_e2tpbmQ6YGZpbmdlcnByaW50YCx0ZXh0OmBDb250YWN0ICR7YihlLmZpbmdlcnByaW50Pz9g4oCUYCw2NCl9YH06e2tpbmQ6YHJlc3RyaWN0ZWRgLHRleHQ6YOKAnCR7bi5zbGljZSgwLDMyKX3igJ1gfX1mdW5jdGlvbiBnZSh7bGFiZWw6ZSxkb21haW46dCxzaG93TGFiZWw6bixjbGFzc05hbWU6ciwuLi5pfSl7bGV0IGE9aGUoaSksbz1lPz8oYS5raW5kPT09YHJlc3RyaWN0ZWRgP2BzZWxmZGVjbGFyZWRgOnZvaWQgMCkscz1vPT09dm9pZCAwfHxhLmtpbmQ9PT1gYWxpYXNgJiZuIT09ITA_bnVsbDpvPT09YHZlcmlmaWVkYD90PT09dm9pZCAwP251bGw6KDAsQy5qc3gpKHVlLHtraW5kOmB2ZXJpZmllZGAsZG9tYWluOnR9KTooMCxDLmpzeCkodWUse2tpbmQ6bywuLi50PT09dm9pZCAwP3t9Ontkb21haW46dH19KTtyZXR1cm4oMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOl8oYGFsLWNuYW1lYCxgYWwtY25hbWUtJHthLmtpbmR9YCxyKSxjaGlsZHJlbjpbYS5raW5kPT09YGZpbmdlcnByaW50YD8oMCxDLmpzeCkoZGUse3ByZWZpeDpgQ29udGFjdGAsdmFsdWU6YihpLmZpbmdlcnByaW50Pz9g4oCUYCw2NCl9KTooMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWNuYW1lLXRleHRgLGNoaWxkcmVuOmEudGV4dH0pLHNdfSl9dmFyIF9lPS8oaHR0cHM_OlwvXC9bXlxzXSspL2c7ZnVuY3Rpb24gdmUoZSl7dHJ5e3JldHVybiBuZXcgVVJMKGUpLmhvc3RuYW1lfWNhdGNoe3JldHVybmBsaW5rYH19ZnVuY3Rpb24geWUoZSl7cmV0dXJuIGUuc3BsaXQoX2UpLm1hcCgoZSx0KT0-e2lmKHQlMj09MClyZXR1cm4gZTtsZXQgbj1iKHZlKGUpLDI1Myk7cmV0dXJuKDAsQy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgYWwtaW5lcnQtbGlua2AsdGl0bGU6YExpbmsgbm90IG9wZW5lZC4gRG9tYWluOiAke259YCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6YGV5ZS1vZmZgLHNpemU6MTJ9KSxuXX0sdCl9KX1mdW5jdGlvbiBqKHtmcm9tOmUsdW5rbm93bjp0LGZpbmdlcnByaW50Om4sa2luZDpyLGZpbGVOYW1lOmksY2hpbGRyZW46YSxjbGFzc05hbWU6b30pe2xldCBzPXQ9PT0hMCxjPXM_YFJlcXVlc3QgZnJvbSBhbiB1bmtub3duIHNlbmRlciR7bj09PXZvaWQgMD9gYDpgIMK3ICR7YihuLDY0KX1gfTogdGhlaXIgd29yZHMsIG5vdCBpbnN0cnVjdGlvbnNgOmBGcm9tICR7YihlPz9gdGhpcyBzZW5kZXJgLDEwMCl9OiB0aGVpciB3b3Jkcywgbm90IGluc3RydWN0aW9uc2A7cmV0dXJuKDAsQy5qc3hzKShgZmlndXJlYCx7Y2xhc3NOYW1lOl8oYGFsLXVudHJ1c3RlZGAscyYmYGlzLXVua25vd25gLG8pLHJvbGU6YGdyb3VwYCwiYXJpYS1sYWJlbCI6YyxjaGlsZHJlbjpbKDAsQy5qc3hzKShgZmlnY2FwdGlvbmAse2NsYXNzTmFtZTpgYWwtdW50cnVzdGVkLWxhYmVsIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46WygwLEMuanN4KSh3LHtuYW1lOmB1bnRydXN0ZWRgLHNpemU6MTR9KSwoMCxDLmpzeCkoYHNwYW5gLHtjaGlsZHJlbjpjfSkscj09PXZvaWQgMD9udWxsOigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdW50cnVzdGVkLWtpbmQgYWwtdGV4dC1sYWJlbGAsY2hpbGRyZW46eChyKX0pXX0pLCgwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC11bnRydXN0ZWQtYm9keSBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmk9PT12b2lkIDA_eWUoYihhPz9gYCwxZTQsITApKTooMCxDLmpzeCkoYGNvZGVgLHtjbGFzc05hbWU6YGFsLXRleHQtY29kZWAsY2hpbGRyZW46YihpLDgwKX0pfSldfSl9dmFyIE09e3RpdGxlOmBVbmRlciB0aGUgaG9vZGAsdG9vbHRpcDpgU2hvdyB0aGUgdGVjaG5pY2FsIGRldGFpbHMuIE5vdGhpbmcgaGVyZSBjaGFuZ2VzIGhvdyB0aGUgYXBwIHdvcmtzLmAsZW1wdHk6YE5vdGhpbmcgdGVjaG5pY2FsIHRvIHNob3cgaGVyZSB5ZXQuYCxoaWRlOmBIaWRlIHRlY2huaWNhbCBkZXRhaWxzYCxzaG93OmBTaG93IHRlY2huaWNhbCBkZXRhaWxzYCxwcm9vZkxpbms6YE9wZW4gdGhlIHB1YmxpYyByZWNvcmRgLHByZXZpZXdUaXRsZTpgUHJldmlld2AscHJldmlld1RyeTpgVHJ5IGl0YCxwcmV2aWV3U3RpbGw6YFRoZSBzYW1wbGUgc2l0cyBzdGlsbC5gLHByZXZpZXdNb3ZlZDpgVGhlIHNhbXBsZSBoYXMgbW92ZWQuIFdpdGggcmVkdWNlZCBtb3Rpb24gaXQganVtcHMgaW5zdGVhZCBvZiBnbGlkaW5nLmB9LGJlPW5ldyBTZXQoW2B0ZXh0YCxgaWRgLGBzaXplYCxgdGltZWAsYGNvdW50YCxgcGF0aGBdKSx4ZT1bYHNlcG9saWEuYmFzZXNjYW4ub3JnYCxgZ25vc2lzLWNoaWFkby5ibG9ja3Njb3V0LmNvbWAsYGJhc2VzY2FuLm9yZ2AsYGdub3Npc3NjYW4uaW9gXSxTZT0vXlwvdHhcLzB4WzAtOWEtZl17NjR9JC8sQ2U9e2lkOi9eW0EtWmEtejAtOS5fOi1dezEsNDB9JC8sc2l6ZTovXlxkW1xkLixdKlxzPyhCfEtCfE1CfEdCfGJ5dGVzPykkLyxjb3VudDovXlxkezEsOX0oIG9mIFxkezEsOX0pPyQvLHRpbWU6L15bXGQ6LiwrXC1UWiBdezEsNDB9JC8scGF0aDovXihcLyg_IVsvXFxdKXxbQS1aYS16XTpbXFwvXSlbXj8jXDBdKiQvfSx3ZT00MCxUZT0xMjAsRWU9MzAwLERlPTMwMCxPZT0va2V5fGNvZGV8dG9rZW58c2VjcmV0fHBhc3NwaHJhc2V8cGFzc3dvcmR8cGFzc2tleXxzZWVkfHNlc3Npb258bGlua3x1cmx8cHJlc2lnbnxzaWduYXR1cmV8dXBsb2FkfGRvd25sb2FkfFxiZHJvcFxifGNyZWRlbnRpYWx8Y29va2llfGF1dGhvcmlbc3pdL2ksa2U9L1tBLVphLXowLTlfXC0rLz1dezI0LH0vLEFlPVsvW2Etel1bYS16MC05Ky4tXSo6XC9cLy9pLC9eXHMqKGphdmFzY3JpcHR8ZGF0YXxibG9ifGZpbGV8dmJzY3JpcHQpOi9pLC9cYnd3d1wuL2ksa2UsL1xiYmVhcmVyXHMvaSwvXGIodG9rfHNrfHBrfGtleSlfW0EtWmEtejAtOV0vaSwvXGJleUpbQS1aYS16MC05Xy1dezYsfS8sL1xiW0EtWjAtOV17NH0oLVtBLVowLTldezR9KXsyLH1cYi8sL3gtYW16fHNpZ25hdHVyZT18dG9rZW49fHNlY3JldD18c2lnPS9pLC8oXnxbXHMtXSlbQS1aYS16MC05XXs0fShbIC1dW0EtWmEtejAtOV17NH0pezIsfSgkfFtccy1dKS8sL15ccyooW2Etel0rXHMrKXsxMSx9W2Etel0rXHMqJC8sLyNzPXwxMjdcLjBcLjBcLjF8bG9jYWxob3N0L2ldLGplPS80dGh0ZWNoXC5pb3w0dGhcLnRlY2h8d29ya2Vyc1wuZGV2fGFtYXpvbmF3c1wuY29tfGNsb3VkZmxhcmVzdG9yYWdlXC5jb218XGJyMlwuZGV2fHN0b3JhZ2VcLmdvb2dsZWFwaXNcLmNvbXxibG9iXC5jb3JlXC53aW5kb3dzXC5uZXQvaSxNZT0vKF58W15hLXowLTkuLV0pW2EtejAtOS1dKmRyb3BbYS16MC05LV0qKFwuW2EtejAtOS1dKykrWy9cXF0vaSxOZT1bLyhefFteYS16MC05Ky4tXSlbYS16XVthLXowLTkrLi1dKzpbL1xcXS9pLC9cYihodHRwcz98d3NzP3xmdHBzP3xmaWxlfHMzfGdzfGJsb2J8ZGF0YXxqYXZhc2NyaXB0fHZic2NyaXB0fGFnZW50bGluayk6L2ldLFBlPS8oXnxbXmEtejAtOS4tXSlbYS16MC05LV0rKFwuW2EtejAtOS1dKykqXC5bYS16XXsyLH1bL1xcXS9pLEZlPS9bXHUyMDQ0XHUyMjE1XHUyOUY4XHUyMjM2XHVBNzg5XHUwNTg5XHUwNUMzXHVGRTEzXHVGRTMwXHUwMkQwXHUyQ0Y5XS8sSWU9L1tccHtDY31ccHtDZn1cdTIwMjhcdTIwMjldL3UsTGU9L15bQS1aYS16MC05Xys9XXs0LH0kLyxSZT0vW1xzL1xcLiw6O3wtXSsvO2Z1bmN0aW9uIHplKGUsdD1SZSl7bGV0IG49MCxyPTA7Zm9yKGxldCBpIG9mIGUuc3BsaXQodCkpaWYoTGUudGVzdChpKSYmL1xkLy50ZXN0KGkpJiYvW0EtWmEtel0vLnRlc3QoaSkpe2lmKG4rPTEscis9aS5sZW5ndGgsbj49MyYmcj49MjQpcmV0dXJuITB9ZWxzZSBuPTAscj0wO3JldHVybiExfWZ1bmN0aW9uIEJlKGUpe2xldCB0PVtlXSxuPWUubm9ybWFsaXplKGBORktDYCk7dC5wdXNoKG4pO2ZvcihsZXQgZT0wO2U8NDtlKz0xKXtsZXQgZTt0cnl7ZT1kZWNvZGVVUklDb21wb25lbnQobil9Y2F0Y2h7ZT1uLnJlcGxhY2UoLyglWzAtOUEtRmEtZl17Mn0pKy9nLGU9Pnt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlKX1jYXRjaHtyZXR1cm4gZX19KX1pZihlPWUubm9ybWFsaXplKGBORktDYCksZT09PW4pcmV0dXJuIHQ7dC5wdXNoKGUpLG49ZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBWZShlLHQpe2lmKEllLnRlc3QoZSl8fEZlLnRlc3QoZSl8fGplLnRlc3QoZSl8fE1lLnRlc3QoZSl8fE5lLnNvbWUodD0-dC50ZXN0KGUpKXx8dCE9PWBpZGAmJnplKGUpKXJldHVybiEwO2lmKHQ9PT1gcGF0aGApcmV0dXJuIGUuc3BsaXQoL1tcXC9dLykuc29tZShlPT5lPT09YC4uYHx8a2UudGVzdChlKSk_ITA6QWUuc29tZSh0PT50IT09a2UmJnQudGVzdChlKSk7aWYoUGUudGVzdChlKSlyZXR1cm4hMDtpZih0PT09YGlkYCl7bGV0IHQ9ZS5yZXBsYWNlKC9eW2Etel17Miw4fV8vLGBgKTtyZXR1cm4ga2UudGVzdCh0KXx8emUodCwvWy46XSsvKT8hMDpBZS5zb21lKHQ9PnQhPT1rZSYmdC50ZXN0KGUpKX1yZXR1cm4gQWUuc29tZSh0PT50LnRlc3QoZSkpfWZ1bmN0aW9uIEhlKGUsdCl7bGV0IG49QmUoZSk7cmV0dXJuIG4hPT1udWxsJiYhbi5zb21lKGU9PlZlKGUsdCkpfWZ1bmN0aW9uIFVlKGUpe2xldCB0PUJlKGUpO3JldHVybiB0IT09bnVsbCYmIXQuc29tZShlPT5JZS50ZXN0KGUpfHxGZS50ZXN0KGUpfHxPZS50ZXN0KGUpKX1mdW5jdGlvbiBXZShlKXtyZXR1cm4gdHlwZW9mIGU9PWBvYmplY3RgJiYhIWUmJiFBcnJheS5pc0FycmF5KGUpfWZ1bmN0aW9uIEdlKGUsdCl7cmV0dXJuIHR5cGVvZiBlPT1gc3RyaW5nYCYmZS50cmltKCkhPT1gYCYmZS5sZW5ndGg8PXQmJiFJZS50ZXN0KGUpfWZ1bmN0aW9uIEtlKGUpe2xldCB0PWUudG9Mb3dlckNhc2UoKTtyZXR1cm4geGUuaW5jbHVkZXModCl9ZnVuY3Rpb24gcWUoZSl7aWYodHlwZW9mIGUhPWBzdHJpbmdgfHxlLmxlbmd0aD5EZXx8SWUudGVzdChlKSlyZXR1cm4gbnVsbDtsZXQgdDt0cnl7dD1uZXcgVVJMKGUpfWNhdGNoe3JldHVybiBudWxsfXJldHVybiB0LnByb3RvY29sIT09YGh0dHBzOmB8fHQudXNlcm5hbWUhPT1gYHx8dC5wYXNzd29yZCE9PWBgfHx0LnBvcnQhPT1gYHx8dC5zZWFyY2ghPT1gYHx8dC5oYXNoIT09YGB8fCFLZSh0Lmhvc3RuYW1lKXx8IVNlLnRlc3QodC5wYXRobmFtZSk_bnVsbDp0LmhyZWZ9ZnVuY3Rpb24gSmUoZSl7aWYoIVdlKGUpKXJldHVybiBudWxsO2xldCB0PWUua2luZDtpZih0PT09YHByb29mTGlua2Ape2xldCB0PXFlKGUuaHJlZik7cmV0dXJuIHQ9PT1udWxsP251bGw6e2tpbmQ6YHByb29mTGlua2AsaHJlZjp0fX1pZih0eXBlb2YgdCE9YHN0cmluZ2B8fCFiZS5oYXModCkpcmV0dXJuIG51bGw7bGV0IG49ZS5sYWJlbCxyPWUudmFsdWU7aWYoIUdlKG4sd2UpfHwhR2Uocix0PT09YHBhdGhgP0VlOlRlKXx8IVVlKG4pKXJldHVybiBudWxsO2xldCBpPUNlW3RdO3JldHVybiBpIT09dm9pZCAwJiYhaS50ZXN0KHIpfHwhSGUocix0KT9udWxsOntraW5kOnQsbGFiZWw6bix2YWx1ZTpyfX12YXIgWWU9KDAsbC5jcmVhdGVDb250ZXh0KSghMSk7ZnVuY3Rpb24gWGUoe3ZhbHVlOmUsY2hpbGRyZW46dH0pe3JldHVybigwLEMuanN4KShZZS5Qcm92aWRlcix7dmFsdWU6ZSxjaGlsZHJlbjp0fSl9ZnVuY3Rpb24gWmUoe2ZpZWxkczplfSl7bGV0IHQ9KDAsbC51c2VDb250ZXh0KShZZSksW24scl09KDAsbC51c2VTdGF0ZSkoITApLGk9KDAsbC51c2VJZCkoKTtpZighdClyZXR1cm4gbnVsbDtsZXQgYT1lLm1hcChKZSkuZmlsdGVyKGU9PmUhPT1udWxsKTtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBhbC1ob29kYCwiYXJpYS1sYWJlbCI6TS50aXRsZSxjaGlsZHJlbjpbKDAsQy5qc3hzKShgYnV0dG9uYCx7dHlwZTpgYnV0dG9uYCxjbGFzc05hbWU6YGFsLWhvb2QtaGVhZCBhbC10ZXh0LWxhYmVsYCwiYXJpYS1leHBhbmRlZCI6bj9gdHJ1ZWA6YGZhbHNlYCwiYXJpYS1jb250cm9scyI6YCR7aX0tYm9keWAsdGl0bGU6bj9NLmhpZGU6TS5zaG93LG9uQ2xpY2s6KCk9PnIoIW4pLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpgdGVybWluYWxgLHNpemU6MTR9KSwoMCxDLmpzeCkoYHNwYW5gLHtjaGlsZHJlbjpNLnRpdGxlfSksKDAsQy5qc3gpKHcse25hbWU6bj9gY2hldnJvbi1kb3duYDpgY2hldnJvbi1yaWdodGAsc2l6ZToxNCxjbGFzc05hbWU6YGFsLWhvb2QtY2hldmB9KV19KSxuPygwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1ob29kLWJvZHlgLGlkOmAke2l9LWJvZHlgLGNoaWxkcmVuOmEubGVuZ3RoPT09MD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLWhvb2QtZW1wdHlgLGNoaWxkcmVuOk0uZW1wdHl9KTooMCxDLmpzeCkoYGRsYCx7Y2xhc3NOYW1lOmBhbC1ob29kLWxpc3RgLGNoaWxkcmVuOmEubWFwKChlLHQpPT5lLmtpbmQ9PT1gcHJvb2ZMaW5rYD8oMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtaG9vZC1yb3dgLGNoaWxkcmVuOigwLEMuanN4KShgZGRgLHtjaGlsZHJlbjooMCxDLmpzeCkoYGFgLHtocmVmOmUuaHJlZix0YXJnZXQ6YF9ibGFua2AscmVsOmBub29wZW5lciBub3JlZmVycmVyYCxjaGlsZHJlbjpNLnByb29mTGlua30pfSl9LHQpOigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtaG9vZC1yb3dgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGR0YCx7Y2hpbGRyZW46ZS5sYWJlbH0pLCgwLEMuanN4KShgZGRgLHtjaGlsZHJlbjplLnZhbHVlfSldfSx0KSl9KX0pOm51bGxdfSl9ZnVuY3Rpb24gUWUoKXtsZXRbZSx0XT0oMCxsLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wcmV2aWV3LXRpbGUke2U_YCBpcy1tb3ZlZGA6YGB9YCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjpNLnByZXZpZXdUaXRsZX0pLCgwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wcmV2aWV3LXRyYWNrYCwiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjooMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXByZXZpZXctY2hpcGB9KX0pLCgwLEMuanN4KShgYnV0dG9uYCx7dHlwZTpgYnV0dG9uYCxjbGFzc05hbWU6YGFsLWJ0biBhbC1idG4tc2Vjb25kYXJ5IGFsLWJ0bi1zbWAsb25DbGljazooKT0-dCghZSksY2hpbGRyZW46TS5wcmV2aWV3VHJ5fSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOmU_TS5wcmV2aWV3TW92ZWQ6TS5wcmV2aWV3U3RpbGx9KV19KX1mdW5jdGlvbiAkZSgpe3JldHVybiB0eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5tb3Rpb249PT1gcmVkdWNlZGA_ITA6dHlwZW9mIHdpbmRvdz5gdWB8fHR5cGVvZiB3aW5kb3cubWF0Y2hNZWRpYSE9YGZ1bmN0aW9uYD8hMTp3aW5kb3cubWF0Y2hNZWRpYShgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSlgKS5tYXRjaGVzfXZhciBldD1uZXcgU2V0LHR0PW51bGw7ZnVuY3Rpb24gbnQoKXtsZXQgZT0oKT0-e2ZvcihsZXQgZSBvZlsuLi5ldF0pZSgpfSx0PXR5cGVvZiB3aW5kb3c8YHVgJiZ0eXBlb2Ygd2luZG93Lm1hdGNoTWVkaWE9PWBmdW5jdGlvbmA_d2luZG93Lm1hdGNoTWVkaWEoYChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpYCk6bnVsbDt0Py5hZGRFdmVudExpc3RlbmVyPy4oYGNoYW5nZWAsZSk7bGV0IG49bnVsbDtyZXR1cm4gdHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXI9PWBmdW5jdGlvbmAmJihuPW5ldyBNdXRhdGlvbk9ic2VydmVyKGUpLG4ub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQse2F0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOltgZGF0YS1tb3Rpb25gXX0pKSwoKT0-e3Q_LnJlbW92ZUV2ZW50TGlzdGVuZXI_LihgY2hhbmdlYCxlKSxuPy5kaXNjb25uZWN0KCl9fWZ1bmN0aW9uIHJ0KGUpe3JldHVybiBldC5hZGQoZSksdHQ_Pz1udCgpLCgpPT57ZXQuZGVsZXRlKGUpLGV0LnNpemU9PT0wJiYodHQ_LigpLHR0PW51bGwpfX1mdW5jdGlvbiBpdCgpe3JldHVybigwLGwudXNlU3luY0V4dGVybmFsU3RvcmUpKHJ0LCRlLCgpPT4hMSl9ZnVuY3Rpb24gYXQoKXtsZXRbZSx0XT0oMCxsLnVzZVN0YXRlKSgoKT0-dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuaGlkZGVuPT09ITApO3JldHVybigwLGwudXNlRWZmZWN0KSgoKT0-e2xldCBlPSgpPT50KGRvY3VtZW50LmhpZGRlbj09PSEwKTtyZXR1cm4gZSgpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLGUpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCxlKX0sW10pLGV9ZnVuY3Rpb24gb3QoZSx0KXtsZXRbbixyXT0oMCxsLnVzZVN0YXRlKShgYCk7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgpPT57aWYoIXQpe3IoYGApO3JldHVybn1sZXQgbj1zZXRUaW1lb3V0KCgpPT5yKGUpLDApO3JldHVybigpPT5jbGVhclRpbWVvdXQobil9LFtlLHRdKSxufWZ1bmN0aW9uIHN0KGUpe3RyeXtyZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoZSkudHJpbSgpfWNhdGNoe3JldHVybmBgfX1mdW5jdGlvbiBjdChlLHQpe2xldCBuPS9eKFtcZC5dKykobXN8cykkLy5leGVjKHN0KGUpKTtyZXR1cm4gbj09PW51bGw_dDpOdW1iZXIoblsxXSkqKG5bMl09PT1gc2A_MWUzOjEpfWZ1bmN0aW9uIGx0KGUsdCl7bGV0IG49c3QoZSk7cmV0dXJuIG49PT1gYD90Om59dmFyIHV0PWBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKWAsZHQ9YGN1YmljLWJlemllcigwLCAwLCAwLCAxKWAsZnQ9YGN1YmljLWJlemllcigwLjMsIDAsIDEsIDEpYCxwdD1gY3ViaWMtYmV6aWVyKDAuMDUsIDAuNywgMC4xLCAxKWAsbXQ9MTIwMCxodD00ZTM7ZnVuY3Rpb24gZ3QoZSx0LG4scil7cmV0dXJuIHJ8fGU9PW51bGx8fHR5cGVvZiBlLmFuaW1hdGUhPWBmdW5jdGlvbmA_bnVsbDplLmFuaW1hdGUodCx7ZmlsbDpgYm90aGAsLi4ubn0pfXZhciBfdD17Y2hlY2tpbmc6W2BuZXV0cmFsYCxgcmluZ2AsYENoZWNraW5n4oCmYF0sY29ubmVjdGVkOltgc3VjY2Vzc2AsYGRvdGAsYENvbm5lY3RlZGBdLHJlY29ubmVjdGluZzpbYHdhcm5pbmdgLGBoYWxmLXJpbmdgLGBSZWNvbm5lY3RpbmfigKZgXSxwYXVzZWQ6W2BuZXV0cmFsYCxgYmFyc2AsYFBhdXNlZGBdLCJub3QtcnVubmluZyI6W2B3YXJuaW5nYCxgc2xhc2hgLGBOb3QgcnVubmluZ2BdLCJuZWVkcy1zZXR1cCI6W2BhY2NlbnRgLGBtYXJrYCxgTmVlZHMgc2V0dXBgXX07ZnVuY3Rpb24gdnQoe3N0YXRlOmUsbGFiZWw6dCxsaXZlOm49ITEsY2xhc3NOYW1lOnJ9KXtsZXQgaT1pdCgpLGE9YXQoKSxbbyxzXT0oMCxsLnVzZVN0YXRlKSghMSk7KDAsbC51c2VFZmZlY3QpKCgpPT57aWYocyghMSksZSE9PWBjaGVja2luZ2ApcmV0dXJuO2xldCB0PXNldFRpbWVvdXQoKCk9PnMoITApLGh0KTtyZXR1cm4oKT0-Y2xlYXJUaW1lb3V0KHQpfSxbZV0pO2xldCBjPWU9PT1gY2hlY2tpbmdgJiZvP2Bub3QtcnVubmluZ2A6ZSxbdSxkLGZdPV90W2NdPz9fdFtgbm90LXJ1bm5pbmdgXSxwPW90KHQ_P2YsbiksbT0oMCxsLnVzZVJlZikobnVsbCksaD0oMCxsLnVzZVJlZikobnVsbCksZz0oMCxsLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgpPT57bGV0IGU9Zy5jdXJyZW50O2cuY3VycmVudD1jLGM9PT1gY29ubmVjdGVkYCYmZSE9PW51bGwmJmUhPT1gY29ubmVjdGVkYCYmZ3QobS5jdXJyZW50LFt7dHJhbnNmb3JtOmBzY2FsZSgxKWAsb3BhY2l0eTouNX0se3RyYW5zZm9ybTpgc2NhbGUoMi4yKWAsb3BhY2l0eTowfV0se2R1cmF0aW9uOmN0KGAtLWFsLWR1cmF0aW9uLW1vbWVudGAsNDgwKSxlYXNpbmc6bHQoYC0tYWwtZWFzaW5nLWVudGVyYCxkdCl9LGkpLGM9PT1gY2hlY2tpbmdgJiZlIT09YGNoZWNraW5nYCYmZ3QoaC5jdXJyZW50LFt7c3Ryb2tlRGFzaG9mZnNldDoxfSx7c3Ryb2tlRGFzaG9mZnNldDowfV0se2R1cmF0aW9uOmh0LGVhc2luZzpgbGluZWFyYH0saSl9LFtjLGldKSwoMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOl8oYGFsLWxpdmVkb3RgLGBhbC10b25lLSR7dX1gLHIpLCJkYXRhLXN0YXRlIjpjLCJkYXRhLXBhdXNlZCI6YT9gYDp2b2lkIDAsY2hpbGRyZW46WygwLEMuanN4cykoYHN2Z2Ase2NsYXNzTmFtZTpgYWwtbGQtc2hhcGVgLCJkYXRhLXNoYXBlIjpkLHdpZHRoOmAxNmAsaGVpZ2h0OmAxNmAsdmlld0JveDpgMCAwIDE2IDE2YCxmaWxsOmBub25lYCxzdHJva2U6YGN1cnJlbnRDb2xvcmAsc3Ryb2tlV2lkdGg6YDEuNWAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsZm9jdXNhYmxlOmBmYWxzZWAsY2hpbGRyZW46W2Q9PT1gcmluZ2A_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBjaXJjbGVgLHtjeDpgOGAsY3k6YDhgLHI6YDVgLG9wYWNpdHk6YDAuNGB9KSwoMCxDLmpzeCkoYGNpcmNsZWAse3JlZjpoLGNsYXNzTmFtZTpgYWwtbGQtYXJjYCxjeDpgOGAsY3k6YDhgLHI6YDVgLHBhdGhMZW5ndGg6MSxzdHJva2VEYXNoYXJyYXk6YDFgLHN0cm9rZURhc2hvZmZzZXQ6KyFpfSldfSk6bnVsbCxkPT09YGRvdGA_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBjaXJjbGVgLHtyZWY6bSxjbGFzc05hbWU6YGFsLWxkLXB1bHNlYCxjeDpgOGAsY3k6YDhgLHI6YDRgLG9wYWNpdHk6YDBgfSksKDAsQy5qc3gpKGBjaXJjbGVgLHtjeDpgOGAsY3k6YDhgLHI6YDRgLGZpbGw6YGN1cnJlbnRDb2xvcmAsc3Ryb2tlOmBub25lYH0pXX0pOm51bGwsZD09PWBoYWxmLXJpbmdgPygwLEMuanN4KShgZ2Ase2NsYXNzTmFtZTpgYWwtbGQtc3BpbmAsY2hpbGRyZW46KDAsQy5qc3gpKGBwYXRoYCx7ZDpgTTggM2E1IDUgMCAwIDEgMCAxMGAsc3Ryb2tlTGluZWNhcDpgcm91bmRgfSl9KTpudWxsLGQ9PT1gYmFyc2A_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGByZWN0YCx7eDpgNC43NWAseTpgNGAsd2lkdGg6YDJgLGhlaWdodDpgOGAscng6YDAuNWAsZmlsbDpgY3VycmVudENvbG9yYCxzdHJva2U6YG5vbmVgfSksKDAsQy5qc3gpKGByZWN0YCx7eDpgOS4yNWAseTpgNGAsd2lkdGg6YDJgLGhlaWdodDpgOGAscng6YDAuNWAsZmlsbDpgY3VycmVudENvbG9yYCxzdHJva2U6YG5vbmVgfSldfSk6bnVsbCxkPT09YHNsYXNoYD8oMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxDLmpzeCkoYGNpcmNsZWAse2N4OmA4YCxjeTpgOGAscjpgNC41YH0pLCgwLEMuanN4KShgcGF0aGAse2Q6YE00LjggMTEuMkwxMS4yIDQuOGAsc3Ryb2tlTGluZWNhcDpgcm91bmRgfSldfSk6bnVsbCxkPT09YG1hcmtgPygwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShgY2lyY2xlYCx7Y3g6YDhgLGN5OmA4YCxyOmA1YH0pLCgwLEMuanN4KShgY2lyY2xlYCx7Y3g6YDhgLGN5OmA4YCxyOmAxLjVgLGZpbGw6YGN1cnJlbnRDb2xvcmAsc3Ryb2tlOmBub25lYH0pXX0pOm51bGxdfSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1sZC13b3JkIGFsLXRleHQtbGFiZWxgLCJhcmlhLWhpZGRlbiI6bj9gdHJ1ZWA6dm9pZCAwLGNoaWxkcmVuOnQ_P2Z9KSxuPygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdmlzdWFsbHktaGlkZGVuIGFsLWxkLWxpdmVgLHJvbGU6YHN0YXR1c2AsImFyaWEtbGl2ZSI6YHBvbGl0ZWAsY2hpbGRyZW46cH0pOm51bGxdfSl9dmFyIHl0PXthcHByb3ZlZDpgQXBwcm92ZWRgLHByb29mOmBQcm9vZiByZWNvcmRlZGAsY29kZXM6YENvZGVzIG1hdGNoYCxmaWxlOmBGaWxlIHJlY2VpdmVkYH0sYnQ9YE0zLjUgOC41bDMgMyA2LTdgO2Z1bmN0aW9uIHh0KHtraW5kOmUsbGFiZWw6dCxjbGFzc05hbWU6bn0pe2xldCByPWl0KCksaT0oMCxsLnVzZVJlZikobnVsbCksYT1lIGluIHl0LG89b3QodD8_KGE_eXRbZV06YGApLGEpLHM9IXImJnR5cGVvZiBFbGVtZW50PGB1YCYmdHlwZW9mIEVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU9PWBmdW5jdGlvbmA7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgpPT57bGV0IHQ9aS5jdXJyZW50O2lmKHQ9PT1udWxsfHwhYSlyZXR1cm47bGV0IG49ZT0-dC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1hPSIke2V9Il1gKSxvPWN0KGAtLWFsLWR1cmF0aW9uLW1vbWVudGAsNDgwKSxzPWN0KGAtLWFsLWR1cmF0aW9uLXNsb3dgLDMyMCksYz1sdChgLS1hbC1lYXNpbmctZW1waGFzaXplZGAscHQpLGw9bHQoYC0tYWwtZWFzaW5nLWVudGVyYCxkdCksdT1sdChgLS1hbC1lYXNpbmctc3RhbmRhcmRgLHV0KTtpZihlPT09YGFwcHJvdmVkYClndChuKGBkcmF3YCksW3tzdHJva2VEYXNob2Zmc2V0OjF9LHtzdHJva2VEYXNob2Zmc2V0OjB9XSx7ZHVyYXRpb246byxlYXNpbmc6dX0sciksZ3QobihgYXJ0YCksW3t0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoLTRweClgfSx7dHJhbnNmb3JtOmB0cmFuc2xhdGVZKDApYH1dLHtkdXJhdGlvbjpvLGVhc2luZzp1fSxyKTtlbHNlIGlmKGU9PT1gcHJvb2ZgKWd0KG4oYGFydGApLFt7dHJhbnNmb3JtOmBzY2FsZSgxLjA2KWB9LHt0cmFuc2Zvcm06YHNjYWxlKDEpYH1dLHtkdXJhdGlvbjpzLGVhc2luZzpsfSxyKSxndChuKGByaW5nYCksW3tvcGFjaXR5OjB9LHtvcGFjaXR5OjF9XSx7ZHVyYXRpb246cyxlYXNpbmc6bH0scik7ZWxzZSBpZihlPT09YGNvZGVzYCl7bGV0IGU9ZT0-W3t0cmFuc2Zvcm06YHRyYW5zbGF0ZVgoJHtlfSlgLG9wYWNpdHk6MX0se3RyYW5zZm9ybTpgdHJhbnNsYXRlWCgwKWAsb3BhY2l0eToxLG9mZnNldDouN30se3RyYW5zZm9ybTpgdHJhbnNsYXRlWCgwKWAsb3BhY2l0eTowfV07Z3QobihgbGVmdGApLGUoYC0xMnB4YCkse2R1cmF0aW9uOm8sZWFzaW5nOmN9LHIpLGd0KG4oYHJpZ2h0YCksZShgMTJweGApLHtkdXJhdGlvbjpvLGVhc2luZzpjfSxyKX1lbHNlIGd0KG4oYGFydGApLFt7dHJhbnNmb3JtOmB0cmFuc2xhdGVZKC02cHgpYCxvcGFjaXR5OjB9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoMClgLG9wYWNpdHk6MX1dLHtkdXJhdGlvbjpzLGVhc2luZzpsfSxyKX0sW2UsYSxyXSksYT8oMCxDLmpzeHMpKGBzcGFuYCx7cmVmOmksY2xhc3NOYW1lOl8oYGFsLW1vbWVudGAsbiksImRhdGEta2luZCI6ZSwiZGF0YS1tb3Rpb24iOnI_YHJlZHVjZWRgOmBmdWxsYCxjaGlsZHJlbjpbKDAsQy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbW9tZW50LWFydGAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46W2U9PT1gYXBwcm92ZWRgPygwLEMuanN4KShgc3ZnYCx7ImRhdGEtYSI6YGFydGAsd2lkdGg6YDIwYCxoZWlnaHQ6YDIwYCx2aWV3Qm94OmAwIDAgMTYgMTZgLGZpbGw6YG5vbmVgLHN0cm9rZTpgY3VycmVudENvbG9yYCxzdHJva2VXaWR0aDpgMS43NWAsc3Ryb2tlTGluZWNhcDpgcm91bmRgLHN0cm9rZUxpbmVqb2luOmByb3VuZGAsZm9jdXNhYmxlOmBmYWxzZWAsY2hpbGRyZW46KDAsQy5qc3gpKGBwYXRoYCx7ImRhdGEtYSI6YGRyYXdgLGQ6YnQscGF0aExlbmd0aDoxLHN0cm9rZURhc2hhcnJheTpgMWB9KX0pOm51bGwsZT09PWBwcm9vZmA_KDAsQy5qc3hzKShgc3ZnYCx7ImRhdGEtYSI6YGFydGAsd2lkdGg6YDIwYCxoZWlnaHQ6YDIwYCx2aWV3Qm94OmAwIDAgMTYgMTZgLGZpbGw6YG5vbmVgLHN0cm9rZTpgY3VycmVudENvbG9yYCxzdHJva2VXaWR0aDpgMS41YCxzdHJva2VMaW5lY2FwOmByb3VuZGAsc3Ryb2tlTGluZWpvaW46YHJvdW5kYCxmb2N1c2FibGU6YGZhbHNlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBjaXJjbGVgLHsiZGF0YS1hIjpgcmluZ2AsY3g6YDhgLGN5OmA4YCxyOmA2LjVgfSksKDAsQy5qc3gpKGBwYXRoYCx7ZDpidH0pXX0pOm51bGwsZT09PWBjb2Rlc2A_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBzdmdgLHt3aWR0aDpgMjBgLGhlaWdodDpgMjBgLHZpZXdCb3g6YDAgMCAxNiAxNmAsZmlsbDpgbm9uZWAsc3Ryb2tlOmBjdXJyZW50Q29sb3JgLHN0cm9rZVdpZHRoOmAxLjc1YCxzdHJva2VMaW5lY2FwOmByb3VuZGAsc3Ryb2tlTGluZWpvaW46YHJvdW5kYCxmb2N1c2FibGU6YGZhbHNlYCxjaGlsZHJlbjooMCxDLmpzeCkoYHBhdGhgLHtkOmJ0fSl9KSxzPygwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbW9tZW50LWNvZGUgYWwtbW9tZW50LWxlZnRgLCJkYXRhLWEiOmBsZWZ0YH0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbW9tZW50LWNvZGUgYWwtbW9tZW50LXJpZ2h0YCwiZGF0YS1hIjpgcmlnaHRgfSldfSk6bnVsbF19KTpudWxsLGU9PT1gZmlsZWA_KDAsQy5qc3hzKShgc3ZnYCx7ImRhdGEtYSI6YGFydGAsd2lkdGg6YDIwYCxoZWlnaHQ6YDIwYCx2aWV3Qm94OmAwIDAgMTYgMTZgLGZpbGw6YG5vbmVgLHN0cm9rZTpgY3VycmVudENvbG9yYCxzdHJva2VXaWR0aDpgMS41YCxzdHJva2VMaW5lY2FwOmByb3VuZGAsc3Ryb2tlTGluZWpvaW46YHJvdW5kYCxmb2N1c2FibGU6YGZhbHNlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBwYXRoYCx7ZDpgTTQgMi41aDVsMyAzdjhINHpgfSksKDAsQy5qc3gpKGBwYXRoYCx7ZDpgTTkgMi41djNoM2B9KV19KTpudWxsXX0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbW9tZW50LXRleHQgYWwtdGV4dC1ib2R5LXNtYCwiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjp0Pz95dFtlXX0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdmlzdWFsbHktaGlkZGVuIGFsLW1vbWVudC1saXZlYCxyb2xlOmBzdGF0dXNgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOm99KV19KTpudWxsfWZ1bmN0aW9uIFN0KHtjb3VudDplLGxhYmVsOnQsY2xhc3NOYW1lOm59KXtsZXQgcj1pdCgpLGk9TnVtYmVyLmlzRmluaXRlKGUpP01hdGgubWF4KDAsTWF0aC5mbG9vcihlKSk6MCxhPWk-OTk_YDk5K2A6U3RyaW5nKGkpLG89KDAsbC51c2VSZWYpKGEpLFtzLGNdPSgwLGwudXNlU3RhdGUpKG51bGwpLFt1LGRdPSgwLGwudXNlU3RhdGUpKGEpO3UhPT1hJiYoZChhKSxjKHJ8fGk9PT0wP251bGw6by5jdXJyZW50KSksby5jdXJyZW50PWE7bGV0IGY9KDAsbC51c2VSZWYpKG51bGwpLHA9KDAsbC51c2VSZWYpKG51bGwpLG09KDAsbC51c2VSZWYpKDApLGg9KDAsbC51c2VSZWYpKG51bGwpO3JldHVybigwLGwudXNlRWZmZWN0KSgoKT0-KCk9PnttLmN1cnJlbnQrPTEsaC5jdXJyZW50Py5jYW5jZWwoKX0sW10pLCgwLGwudXNlRWZmZWN0KSgoKT0-e2lmKHM9PT1udWxsKXJldHVybjtsZXQgZT1tLmN1cnJlbnQrPTE7aC5jdXJyZW50Py5jYW5jZWwoKTtsZXQgdD1jdChgLS1hbC1kdXJhdGlvbi1iYXNlYCwyMDApO2d0KGYuY3VycmVudCxbe3RyYW5zZm9ybTpgdHJhbnNsYXRlWSg2MCUpYCxvcGFjaXR5OjB9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoMClgLG9wYWNpdHk6MX1dLHtkdXJhdGlvbjp0LGVhc2luZzpsdChgLS1hbC1lYXNpbmctZW50ZXJgLGR0KX0scik7bGV0IG49Z3QocC5jdXJyZW50LFt7dHJhbnNmb3JtOmB0cmFuc2xhdGVZKDApYCxvcGFjaXR5OjF9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoLTYwJSlgLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjp0LGVhc2luZzpsdChgLS1hbC1lYXNpbmctZXhpdGAsZnQpfSxyKTtuPT09bnVsbD9jKG51bGwpOihoLmN1cnJlbnQ9bixuLm9uZmluaXNoPSgpPT57ZT09PW0uY3VycmVudCYmYyhudWxsKX0pfSxbcyxyXSksaT09PTA_bnVsbDooMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOl8oYGFsLWNvdW50YCxuKSxjaGlsZHJlbjpbdD09PXZvaWQgMD9udWxsOigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdmlzdWFsbHktaGlkZGVuYCxjaGlsZHJlbjpgJHthfSAke3R9YH0pLCgwLEMuanN4KShgc3BhbmAse3JlZjpmLGNsYXNzTmFtZTpgYWwtY291bnQtaW5gLCJhcmlhLWhpZGRlbiI6dD09PXZvaWQgMD92b2lkIDA6YHRydWVgLGNoaWxkcmVuOmF9KSxzPT09bnVsbD9udWxsOigwLEMuanN4KShgc3BhbmAse3JlZjpwLGNsYXNzTmFtZTpgYWwtY291bnQtb3V0YCwiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjpzfSldfSl9ZnVuY3Rpb24gQ3QoZSx0PXt9KXtsZXQgbj1pdCgpLHI9KDAsbC51c2VSZWYpKG51bGwpLFtpLGFdPSgwLGwudXNlU3RhdGUpKGUpLFtvLHNdPSgwLGwudXNlU3RhdGUpKCExKTtpIT09ZSYmKGEoZSksIWUmJiFuJiZzKCEwKSk7bGV0W2MsdV09KDAsbC51c2VTdGF0ZSkoITEpLGQ9KDAsbC51c2VSZWYpKG51bGwpLGY9KDAsbC51c2VSZWYpKG51bGwpLHA9KDAsbC51c2VSZWYpKCEwKSxtPSgwLGwudXNlUmVmKShlKSxoPSgwLGwudXNlUmVmKShudWxsKSxnPSgwLGwudXNlUmVmKSh7cHJlc2VudDplLG9uR29uZTp0Lm9uR29uZX0pO3JldHVybiBnLmN1cnJlbnQ9e3ByZXNlbnQ6ZSxvbkdvbmU6dC5vbkdvbmV9LCgwLGwudXNlRWZmZWN0KSgoKT0-KCk9Pntmb3IobGV0IGUgb2ZbZi5jdXJyZW50LGguY3VycmVudF0pZSE9PW51bGwmJihlLm9uZmluaXNoPW51bGwsZS5jYW5jZWwoKSk7Zi5jdXJyZW50PW51bGwsaC5jdXJyZW50PW51bGx9LFtdKSwoMCxsLnVzZUVmZmVjdCkoKCk9PntpZighYylyZXR1cm47bGV0IGU9Z3QoZC5jdXJyZW50LFt7b3BhY2l0eTouN30se29wYWNpdHk6MH1dLHtkdXJhdGlvbjptdCxlYXNpbmc6YGxpbmVhcmB9LCExKTtpZihlPT09bnVsbCl1KCExKTtlbHNlIHJldHVybiBlLm9uZmluaXNoPSgpPT51KCExKSwoKT0-e2Uub25maW5pc2g9bnVsbCxlLmNhbmNlbCgpfX0sW2NdKSwoMCxsLnVzZUxheW91dEVmZmVjdCkoKCk9PntsZXQgaT1wLmN1cnJlbnQsYT1tLmN1cnJlbnQ7cC5jdXJyZW50PSExLG0uY3VycmVudD1lO2xldCBvPXIuY3VycmVudDtpZihlKXtpZihoLmN1cnJlbnQhPT1udWxsKXtoLmN1cnJlbnQucmV2ZXJzZSgpO3JldHVybn1pZighKGk_dC5pc05ldz09PSEwOiFhKXx8bz09PW51bGwpcmV0dXJuO28uY2xhc3NMaXN0LmFkZChgYWwtcm93LXByZXNlbmNlYCksZi5jdXJyZW50PWd0KG8sW3tvcGFjaXR5OjAsdHJhbnNmb3JtOmB0cmFuc2xhdGVZKC04cHgpYH0se29wYWNpdHk6MSx0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoMClgfV0se2R1cmF0aW9uOmN0KGAtLWFsLWR1cmF0aW9uLWJhc2VgLDIwMCksZWFzaW5nOmx0KGAtLWFsLWVhc2luZy1lbnRlcmAsZHQpfSxuKSwhbiYmdHlwZW9mIG8uYW5pbWF0ZT09YGZ1bmN0aW9uYCYmdSghMCk7cmV0dXJufWlmKGl8fCFhKXJldHVybjtpZihufHxvPT09bnVsbCl7cyghMSksZy5jdXJyZW50Lm9uR29uZT8uKCk7cmV0dXJufWxldCBjPW8ub2Zmc2V0SGVpZ2h0O28uc3R5bGUub3ZlcmZsb3c9YGhpZGRlbmA7bGV0IGw9Z3Qobyxbe2hlaWdodDpgJHtjfXB4YCxvcGFjaXR5OjF9LHtoZWlnaHQ6YDBweGAsb3BhY2l0eTowfV0se2R1cmF0aW9uOmN0KGAtLWFsLWR1cmF0aW9uLWJhc2VgLDIwMCksZWFzaW5nOmx0KGAtLWFsLWVhc2luZy1leGl0YCxmdCl9LCExKTtsPT09bnVsbD8ocyghMSksZy5jdXJyZW50Lm9uR29uZT8uKCkpOihoLmN1cnJlbnQ9bCxsLm9uZmluaXNoPSgpPT57aC5jdXJyZW50PW51bGwscyghMSksZy5jdXJyZW50LnByZXNlbnQ_KGwuY2FuY2VsKCksby5zdHlsZS5vdmVyZmxvdz1gYCk6Zy5jdXJyZW50Lm9uR29uZT8uKCl9KX0sW2VdKSx7cmVmOnIsaGlnaGxpZ2h0OmM_KDAsQy5qc3gpKGBzcGFuYCx7cmVmOmQsY2xhc3NOYW1lOmBhbC1yb3ctaGxgLCJhcmlhLWhpZGRlbiI6YHRydWVgfSk6bnVsbCxtb3VudGVkOmV8fG99fXZhciB3dD1uZXcgTWFwO2Z1bmN0aW9uIFR0KGUpe2xldCB0PVtdO2ZvcihsZXQgbj1lO24hPT1kb2N1bWVudC5ib2R5Oyl7bGV0IGU9bi5wYXJlbnRFbGVtZW50O2lmKGU9PT1udWxsKWJyZWFrO2ZvcihsZXQgciBvZiBBcnJheS5mcm9tKGUuY2hpbGRyZW4pKXtpZihyPT09biljb250aW51ZTtsZXQgZT13dC5nZXQocik7aWYoZT09PXZvaWQgMCl7aWYoci5oYXNBdHRyaWJ1dGUoYGluZXJ0YCkpY29udGludWU7ci5zZXRBdHRyaWJ1dGUoYGluZXJ0YCxgYCksd3Quc2V0KHIsMSl9ZWxzZSB3dC5zZXQocixlKzEpO3QucHVzaChyKX1uPWV9cmV0dXJuKCk9Pntmb3IobGV0IGUgb2YgdCl7bGV0IHQ9KHd0LmdldChlKT8_MSktMTt0PD0wPyh3dC5kZWxldGUoZSksZS5yZW1vdmVBdHRyaWJ1dGUoYGluZXJ0YCkpOnd0LnNldChlLHQpfX19dmFyIEV0PU9iamVjdC5mcmVlemUoe3RpdGxlUHJvb2Y6YFJlY29yZCBwcm9vZmAsdGl0bGVMaW1pdHM6YENoYW5nZSB5b3VyIHNwZW5kaW5nIGxpbWl0c2Ascm93Rm9yOmBGb3JgLGZvclByb29mOmBBIHByb29mIHdpdGgge25hbWV9YCxmb3JTZWxmOmBBIHByb29mIG9mIHlvdXIgb3duIG5vdGVgLHJvd1BhaWRGcm9tOmBQYWlkIGZyb21gLHBhaWRGcm9tOmBZb3VyIGNyZWRpdHNgLGNoYW5nZVByb29mczpgUHJvb2ZzYCxjaGFuZ2VCdWRnZXQ6YDI0LWhvdXIgYnVkZ2V0YCxjaGFuZ2VQZXJQcm9vZjpgUGVyLXByb29mIGxpbWl0YCxjaGFuZ2VDb250YWN0UHJvb2ZzOmBQcm9vZnMgZm9yIHtuYW1lfWAsY2hhbmdlQ29udGFjdFBlclByb29mOmBQZXItcHJvb2YgbGltaXQgZm9yIHtuYW1lfWAsYUNvbnRhY3Q6YGEgY29udGFjdGAsbm90U2V0OmBOb3Qgc2V0YCxydWxlQWxsb3c6YEF1dG9tYXRpY2AscnVsZUFwcHJvdmFsOmBBc2sgbWVgLHJ1bGVEZW55OmBOZXZlcmAsY2hhbmdlZFRvOmB7b2xkfSB0byB7bmV3fWAsdHJ1c3RDcmVkaXRzOmBZb3VyIGNyZWRpdHMgc3RheSB5b3VyczsgNHRoVGVjaCBuZXZlciBob2xkcyB0aGVtLmAsdHJ1c3RBaTpgWW91ciBBSSBjYW4ndCBjb25maXJtIHRoaXMgZm9yIHlvdS5gLHJlbWVtYmVyOmBSZW1lbWJlciBmb3IgdGhpcyBjb250YWN0YCxyZW1lbWJlckhpbnQ6YE5leHQgdGltZSwgcHJvb2ZzIGxpa2UgdGhpcyBmb3Ige25hbWV9IHJ1biB3aXRob3V0IGFza2luZy5gLGNhbmNlbDpgQ2FuY2VsYCx1c2VCYWNrdXA6YFVzZSBiYWNrdXAgY29kZSBpbnN0ZWFkYCxjb2RlTGFiZWw6YEJhY2t1cCBjb2RlYCxjb2RlSGludDpgVGhlIGJhY2t1cCBjb2RlIEFnZW50TGluayBzaG93ZWQgeW91IHdoZW4geW91IHNldCB1cC5gLGNvbmZpcm1Db2RlOmBDb25maXJtYCxjbG9zZTpgQ2xvc2VgLHJlY29yZGluZ1Byb29mOmBDb25maXJtaW5n4oCmYCxyZWNvcmRpbmdMaW1pdHM6YFNhdmluZyB5b3VyIGxpbWl0c-KApmAsZG9uZVByb29mOmBEb25lLiBZb3VyIEFJIHJlY29yZHMgdGhlIHByb29mIG5vdy5gLGRvbmVMaW1pdHM6YERvbmUuIFlvdXIgbGltaXRzIGFyZSBzYXZlZC5gLGNhbmNlbGxlZDpgTm90IGNvbmZpcm1lZC4gTm90aGluZyB3YXMgcGFpZC5gLG5vdFZlcmlmaWVkOmBDb3VsZG4ndCBjb25maXJtIGl0IHdhcyB5b3UuIFRyeSBhZ2Fpbi5gLGV4cGlyZWQ6YFRoaXMgcmVxdWVzdCBleHBpcmVkLmAsZGVjaWRlZDpgQWxyZWFkeSBkZWNpZGVkIG9uIGFub3RoZXIgc2NyZWVuLmAsY2hhbmdlZDpgU29tZXRoaW5nIGNoYW5nZWQgc2luY2UgeW91IG9wZW5lZCB0aGlzLiBDaGVjayBpdCBhZ2Fpbi5gLHVwZGF0ZU5lZWRlZDpgWW91ciBwYXNza2V5IG5lZWRzIHRvIGJlIHNldCB1cCBhZ2FpbiBmb3IgcGFpZCBhY3Rpb25zLiBVc2UgeW91ciBiYWNrdXAgY29kZSB0aGlzIHRpbWUuYCx3cm9uZ0NvZGU6YFRoYXQgYmFja3VwIGNvZGUgZGlkbid0IG1hdGNoLiBOb3RoaW5nIHdhcyBwYWlkLmAsdHJpZXNVc2VkOmBUb28gbWFueSB3cm9uZyBiYWNrdXAgY29kZXMuIE5vdGhpbmcgd2FzIHBhaWQuYCx3YWl0OmBUb28gbWFueSB3cm9uZyB0cmllcy4gV2FpdCB7c2Vjb25kc30gc2Vjb25kcywgdGhlbiB0cnkgYWdhaW4uIE5vdGhpbmcgd2FzIHBhaWQuYCxidXN5OmBBbm90aGVyIGNvbmZpcm1hdGlvbiBpcyBydW5uaW5nLiBUcnkgYWdhaW4gaW4gYSBtb21lbnQuYCxzdGlsbFdvcmtpbmc6YFN0aWxsIHdvcmtpbmcuIFlvdXIgQUkgd2lsbCBsZXQgeW91IGtub3cgd2hlbiBpdCdzIGRvbmUuIFlvdSBjYW4gY2xvc2UgdGhpcy5gLHJlZnVzZWRQcm9vZjpgQ291bGRuJ3QgYXBwcm92ZSB0aGlzLiBOb3RoaW5nIHdhcyBwYWlkLmAscmVmdXNlZExpbWl0czpgQ291bGRuJ3Qgc2F2ZSB5b3VyIGxpbWl0cy4gTm90aGluZyBjaGFuZ2VkLmAsZmFpbGVkU3RhcnQ6YFRoaXMgY2FuJ3QgYmUgY29uZmlybWVkIHJpZ2h0IG5vdy4gTm90aGluZyB3YXMgcGFpZC5gLG5vdE9mZmVyZWQ6YFJlbWVtYmVyaW5nIGlzbid0IGF2YWlsYWJsZSBmb3IgdGhpcyByZXF1ZXN0LmAsY2VudHM6YHtjZW50c30gY2VudHNgLGRvbGxhcnM6YHtkb2xsYXJzfSBkb2xsYXJzYCxkb2xsYXJzQ2VudHM6YHtkb2xsYXJzfSBkb2xsYXJzIGFuZCB7Y2VudHN9IGNlbnRzYH0pLE49RXQsRHQ9KGUsdCk9PmUucmVwbGFjZSgvXHsoW2Etel0rKVx9L2csKGUsbik9PnRbbl0_P2UpLE90PXsicHJvb2ZzLm5vdGFyaXplIjpgcnVsZWAsInByb29mcy5kYWlseUJ1ZGdldFVTRCI6YHVzZGAsInByb29mcy5wZXJBY3Rpb25NYXhVU0QiOmB1c2RgLCJjb250YWN0UnVsZXMucHJvb2ZzLm5vdGFyaXplIjpgcnVsZWAsImNvbnRhY3RSdWxlcy5wcm9vZnMucGVyQWN0aW9uTWF4VVNEIjpgdXNkYH0sa3Q9L14oMHxbMS05XVswLTldezAsOH0pKFwuWzAtOV17MSw2fSk_JC8sQXQ9L14oYWxsb3d8YXBwcm92YWx8ZGVueSkkLyxqdD1gYW1vdW50VXNkLGNoYW5nZXMsY291bnRlcnBhcnR5LGtpbmQscHVycG9zZSx2YCxNdD1lPT50eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSk7ZnVuY3Rpb24gTnQoZSl7aWYoIU10KGUpfHxPYmplY3Qua2V5cyhlKS5zb3J0KCkuam9pbihgLGApIT09anR8fGUudiE9PTEpcmV0dXJuO2xldHtraW5kOnQsYW1vdW50VXNkOm4scHVycG9zZTpyLGNvdW50ZXJwYXJ0eTppLGNoYW5nZXM6YX09ZTtpZih0IT09YHByb29mYCYmdCE9PWBwcm9vZl9yZW1lbWJlcmAmJnQhPT1gbGltaXRzYClyZXR1cm47aWYodD09PWBsaW1pdHNgKXtpZihuIT09bnVsbHx8ciE9PWBsaW1pdHNfY2hhbmdlYClyZXR1cm59ZWxzZSBpZih0eXBlb2YgbiE9YHN0cmluZ2B8fCFrdC50ZXN0KG4pfHxyIT09YHByb29mYClyZXR1cm47aWYoaSE9PW51bGwmJih0eXBlb2YgaSE9YHN0cmluZ2B8fGkubGVuZ3RoPT09MHx8aS5sZW5ndGg-MjAwKXx8IUFycmF5LmlzQXJyYXkoYSl8fGEubGVuZ3RoPjMyKXJldHVybjtsZXQgbz1bXTtmb3IobGV0IGUgb2YgYSl7aWYoIU10KGUpKXJldHVybjtsZXQgdD1lLmZpZWxkO2lmKHR5cGVvZiB0IT1gc3RyaW5nYHx8ISh0IGluIE90KSlyZXR1cm47bGV0IG49T3RbdF0scj1lPT5lPT09bnVsbHx8dHlwZW9mIGU9PWBzdHJpbmdgJiYobj09PWB1c2RgP2t0OkF0KS50ZXN0KGUpO2lmKCFyKGUub2xkKXx8IXIoZS5uZXcpKXJldHVybjtsZXQgaT1lLmNvbnRhY3Q7aWYoaSE9PXZvaWQgMCYmdHlwZW9mIGkhPWBzdHJpbmdgKXJldHVybjtvLnB1c2goe2ZpZWxkOnQsLi4uaT09PXZvaWQgMD97fTp7Y29udGFjdDppfSxvbGQ6ZS5vbGQsbmV3OmUubmV3fSl9cmV0dXJue3Y6MSxraW5kOnQsYW1vdW50VXNkOm4scHVycG9zZTpyLGNvdW50ZXJwYXJ0eTppLGNoYW5nZXM6b319ZnVuY3Rpb24gUHQoZSl7bGV0W3Qsbj1gYF09ZS5zcGxpdChgLmApO3JldHVybiBuPT09YGA_YCQke3Q_P2AwYH1gOmAkJHt0Pz9gMGB9LiR7bi5wYWRFbmQoMixgMGApfWB9ZnVuY3Rpb24gRnQoZSl7bGV0IHQ9ZS5sZW5ndGg7Zm9yKDt0PjAmJmVbdC0xXT09PWAwYDspLS10O3JldHVybiBlLnNsaWNlKDAsdCl9ZnVuY3Rpb24gSXQoZSl7bGV0W3Q9YDBgLG49YGBdPWUuc3BsaXQoYC5gKSxyPW4ucGFkRW5kKDIsYDBgKSxpPUZ0KHIuc2xpY2UoMikpLGE9YCR7U3RyaW5nKE51bWJlcihyLnNsaWNlKDAsMikpKX0ke2k9PT1gYD9gYDpgLiR7aX1gfWA7cmV0dXJuIHQ9PT1gMGA_RHQoTi5jZW50cyx7Y2VudHM6YX0pOmE9PT1gMGA_RHQoTi5kb2xsYXJzLHtkb2xsYXJzOnR9KTpEdChOLmRvbGxhcnNDZW50cyx7ZG9sbGFyczp0LGNlbnRzOmF9KX1mdW5jdGlvbiBMdChlLHQpe3JldHVybiB0PT09bnVsbD9OLm5vdFNldDpPdFtlXT09PWB1c2RgP1B0KHQpOnQ9PT1gYWxsb3dgP04ucnVsZUFsbG93OnQ9PT1gYXBwcm92YWxgP04ucnVsZUFwcHJvdmFsOk4ucnVsZURlbnl9ZnVuY3Rpb24gUnQoZSx0KXtsZXQgbj10Pz9OLmFDb250YWN0O3N3aXRjaChlKXtjYXNlYHByb29mcy5ub3Rhcml6ZWA6cmV0dXJuIE4uY2hhbmdlUHJvb2ZzO2Nhc2VgcHJvb2ZzLmRhaWx5QnVkZ2V0VVNEYDpyZXR1cm4gTi5jaGFuZ2VCdWRnZXQ7Y2FzZWBwcm9vZnMucGVyQWN0aW9uTWF4VVNEYDpyZXR1cm4gTi5jaGFuZ2VQZXJQcm9vZjtjYXNlYGNvbnRhY3RSdWxlcy5wcm9vZnMubm90YXJpemVgOnJldHVybiBEdChOLmNoYW5nZUNvbnRhY3RQcm9vZnMse25hbWU6bn0pO2RlZmF1bHQ6cmV0dXJuIER0KE4uY2hhbmdlQ29udGFjdFBlclByb29mLHtuYW1lOm59KX19ZnVuY3Rpb24genQoZSl7bGV0IHQ9ZS5raW5kPT09YGxpbWl0c2A7cmV0dXJue2tpbmQ6ZS5raW5kLHRpdGxlOnQ_Ti50aXRsZUxpbWl0czpOLnRpdGxlUHJvb2YsYW1vdW50OmUuYW1vdW50VXNkPT09bnVsbD9udWxsOlB0KGUuYW1vdW50VXNkKSxhbW91bnRTcG9rZW46ZS5hbW91bnRVc2Q9PT1udWxsP251bGw6SXQoZS5hbW91bnRVc2QpLHJvd3M6dD9bXTpbe2xhYmVsOk4ucm93Rm9yLHZhbHVlOmUuY291bnRlcnBhcnR5PT09bnVsbD9OLmZvclNlbGY6RHQoTi5mb3JQcm9vZix7bmFtZTplLmNvdW50ZXJwYXJ0eX0pfSx7bGFiZWw6Ti5yb3dQYWlkRnJvbSx2YWx1ZTpOLnBhaWRGcm9tfV0sY2hhbmdlczplLmNoYW5nZXMubWFwKHQ9Pih7bGFiZWw6UnQodC5maWVsZCxlLmNvdW50ZXJwYXJ0eSksb2xkOkx0KHQuZmllbGQsdC5vbGQpLG5ldzpMdCh0LmZpZWxkLHQubmV3KX0pKSxuYW1lOmUuY291bnRlcnBhcnR5fX12YXIgQnQ9e21hYzpgVG91Y2ggSURgLHdpbmRvd3M6YFdpbmRvd3MgSGVsbG9gLG90aGVyOmB5b3VyIHBhc3NrZXlgfTtmdW5jdGlvbiBWdChlKXtyZXR1cm57Y29uZmlybTpgQ29uZmlybSB3aXRoICR7QnRbZV19YCx3YWl0aW5nOmBXYWl0aW5nIGZvciAke0J0W2VdfWB9fWZ1bmN0aW9uIEh0KHtzdGF0ZTplfSl7cmV0dXJuKDAsQy5qc3hzKShgc3ZnYCx7Y2xhc3NOYW1lOmBhbC1wYXktcmluZ2AsImRhdGEtc3RhdGUiOmUsdmlld0JveDpgMCAwIDQ4IDQ4YCx3aWR0aDpgNDhgLGhlaWdodDpgNDhgLCJhcmlhLWhpZGRlbiI6YHRydWVgLGZvY3VzYWJsZTpgZmFsc2VgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGNpcmNsZWAse2NsYXNzTmFtZTpgYWwtcGF5LXJpbmctdHJhY2tgLGN4OmAyNGAsY3k6YDI0YCxyOmAyMGB9KSwoMCxDLmpzeCkoYGNpcmNsZWAse2NsYXNzTmFtZTpgYWwtcGF5LXJpbmctYXJjYCxjeDpgMjRgLGN5OmAyNGAscjpgMjBgLHBhdGhMZW5ndGg6MTAwfSksZT09PWBkb25lYD8oMCxDLmpzeCkoYHBhdGhgLHtjbGFzc05hbWU6YGFsLXBheS1jaGVja2AsZDpgTTE1IDI0LjVsNiA2IDEyLTEzYCxwYXRoTGVuZ3RoOjEwMH0pOm51bGxdfSl9dmFyIFV0PTEyMDA7ZnVuY3Rpb24gV3QoZSl7bGV0e3ZpZXc6dCxwbGF0Zm9ybTpuLHBoYXNlOnIsbm90aWNlOmksY2xvc2VkOmEsY2FuUGFzc2tleTpvLGJhY2t1cDpzLHJlbWVtYmVyOmMscmVkdWNlZE1vdGlvbjp1fT1lLGQ9KDAsbC51c2VJZCkoKSxmPSgwLGwudXNlUmVmKShudWxsKSxwPSgwLGwudXNlUmVmKShudWxsKSxtPSgwLGwudXNlUmVmKShudWxsKSxbaCxnXT0oMCxsLnVzZVN0YXRlKShgYCksXz1WdChuKSx2PXQ_LmtpbmQ9PT1gbGltaXRzYCx5PSgwLGwudXNlUmVmKShlLm9uQ2xvc2UpO3kuY3VycmVudD1lLm9uQ2xvc2UsKDAsbC51c2VMYXlvdXRFZmZlY3QpKCgpPT57aWYocC5jdXJyZW50IT09bnVsbClyZXR1cm4gVHQocC5jdXJyZW50KX0sW10pLCgwLGwudXNlRWZmZWN0KSgoKT0-KG0uY3VycmVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LGYuY3VycmVudD8uZm9jdXMoKSwoKT0-e2xldCBlPW0uY3VycmVudDtlIT09bnVsbCYmdHlwZW9mIGUuZm9jdXM9PWBmdW5jdGlvbmAmJmRvY3VtZW50LmNvbnRhaW5zKGUpJiZlLmZvY3VzKCl9KSxbXSksKDAsbC51c2VFZmZlY3QpKCgpPT57aWYociE9PWBkb25lYHx8dXx8YT09PSEwKXJldHVybjtsZXQgZT1zZXRUaW1lb3V0KCgpPT55LmN1cnJlbnQoKSxVdCk7cmV0dXJuKCk9PmNsZWFyVGltZW91dChlKX0sW3IsdSxhXSk7bGV0IGI9cj09PWB3YWl0aW5nYD9fLndhaXRpbmc6cj09PWByZWNvcmRpbmdgP3Y_Ti5yZWNvcmRpbmdMaW1pdHM6Ti5yZWNvcmRpbmdQcm9vZjpyPT09YGRvbmVgP3Y_Ti5kb25lTGltaXRzOk4uZG9uZVByb29mOmk_LnRvbmU9PT1gaW5mb2A_aS50ZXh0OmBgLHg9dD0-e2lmKHQua2V5PT09YEVzY2FwZWApe2lmKHI9PT1gcmVjb3JkaW5nYHx8cj09PWB3YWl0aW5nYClyZXR1cm47dC5wcmV2ZW50RGVmYXVsdCgpLGE9PT0hMHx8cj09PWBkb25lYD9lLm9uQ2xvc2UoKTplLm9uQ2FuY2VsKCk7cmV0dXJufWlmKHQua2V5IT09YFRhYmB8fHAuY3VycmVudD09PW51bGwpcmV0dXJuO2xldCBuPVsuLi5wLmN1cnJlbnQucXVlcnlTZWxlY3RvckFsbChgYnV0dG9uLCBpbnB1dCwgYVtocmVmXWApXS5maWx0ZXIoZT0-IWUuZGlzYWJsZWQpLGk9blswXSxvPW5bbi5sZW5ndGgtMV07aWYoaT09PXZvaWQgMHx8bz09PXZvaWQgMClyZXR1cm47bGV0IHM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt0LnNoaWZ0S2V5JiYocz09PWl8fHM9PT1mLmN1cnJlbnQpPyh0LnByZXZlbnREZWZhdWx0KCksby5mb2N1cygpKTohdC5zaGlmdEtleSYmcz09PW8mJih0LnByZXZlbnREZWZhdWx0KCksaS5mb2N1cygpKX0sUz1yPT09YGJhY2t1cGB8fHI9PT1gcmVhZHlgJiYhbyx3PXI9PT1gd2FpdGluZ2B8fHI9PT1gcmVjb3JkaW5nYHx8cj09PWBkb25lYD9yOm51bGwsVD1gJHtkfS1hbW91bnRgLEU9YCR7ZH0tZm9yYDtyZXR1cm4oMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtcGF5LW92ZXJsYXlgLGNoaWxkcmVuOigwLEMuanN4cykoYGRpdmAse3JlZjpwLGNsYXNzTmFtZTpgYWwtcGF5LXNoZWV0YCxyb2xlOmBkaWFsb2dgLCJhcmlhLW1vZGFsIjpgdHJ1ZWAsImFyaWEtbGFiZWxsZWRieSI6YCR7ZH0tdGl0bGVgLCJhcmlhLWRlc2NyaWJlZGJ5IjpgJHtUfSAke0V9YCwiZGF0YS1tb3Rpb24iOnU_YHJlZHVjZWRgOmBmdWxsYCxvbktleURvd246eCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXBheS1ncmFiYCwiYXJpYS1oaWRkZW4iOmB0cnVlYH0pLCgwLEMuanN4KShgaDJgLHtpZDpgJHtkfS10aXRsZWAscmVmOmYsdGFiSW5kZXg6LTEsY2xhc3NOYW1lOmBhbC1wYXktdGl0bGVgLGNoaWxkcmVuOnQ_LnRpdGxlPz9OLnRpdGxlUHJvb2Z9KSx0Py5hbW91bnQ9PW51bGw_bnVsbDooMCxDLmpzeCkoYHBgLHtpZDpULGNsYXNzTmFtZTpgYWwtcGF5LWFtb3VudGAsImFyaWEtbGFiZWwiOnQuYW1vdW50U3Bva2VuPz92b2lkIDAsY2hpbGRyZW46dC5hbW91bnR9KSx0PT09dm9pZCAwP251bGw6KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGxgLHtjbGFzc05hbWU6YGFsLXBheS1yb3dzYCxjaGlsZHJlbjpbdC5yb3dzLm1hcCgoZSx0KT0-KDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wYXktcm93YCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBkdGAse2NoaWxkcmVuOmUubGFiZWx9KSwoMCxDLmpzeCkoYGRkYCx7Li4udD09PTA_e2lkOkV9Ont9LGNoaWxkcmVuOmUudmFsdWV9KV19LGUubGFiZWwpKSx0LmNoYW5nZXMubWFwKGU9PigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtcGF5LXJvd2AsY2hpbGRyZW46WygwLEMuanN4KShgZHRgLHtjaGlsZHJlbjplLmxhYmVsfSksKDAsQy5qc3hzKShgZGRgLHtjbGFzc05hbWU6YGFsLXBheS1jaGFuZ2VgLCJhcmlhLWxhYmVsIjpEdChOLmNoYW5nZWRUbyx7b2xkOmUub2xkLG5ldzplLm5ld30pLGNoaWxkcmVuOlsoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXBheS1vbGRgLGNoaWxkcmVuOmUub2xkfSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1wYXktYXJyb3dgLCJhcmlhLWhpZGRlbiI6YHRydWVgLGNoaWxkcmVuOmAg4oaSIGB9KSwoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXBheS1uZXdgLGNoaWxkcmVuOmUubmV3fSldfSldfSxlLmxhYmVsKSldfSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wYXktdHJ1c3RgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYHBgLHtjaGlsZHJlbjpOLnRydXN0Q3JlZGl0c30pLCgwLEMuanN4KShgcGAse2NoaWxkcmVuOk4udHJ1c3RBaX0pXX0pXX0pLGMhPT12b2lkIDAmJmEhPT0hMCYmKHI9PT1gcmVhZHlgfHxyPT09YGJhY2t1cGApPygwLEMuanN4cykoYGxhYmVsYCx7Y2xhc3NOYW1lOmBhbC1jaGVjayBhbC1wYXktcmVtZW1iZXJgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGlucHV0YCx7dHlwZTpgY2hlY2tib3hgLGNoZWNrZWQ6Yy5jaGVja2VkLGRpc2FibGVkOmUuYnVzeT09PSEwLG9uQ2hhbmdlOmU9PmMub25DaGFuZ2UoZS5jdXJyZW50VGFyZ2V0LmNoZWNrZWQpfSksKDAsQy5qc3hzKShgc3BhbmAse2NoaWxkcmVuOlsoMCxDLmpzeCkoYHNwYW5gLHtjaGlsZHJlbjpOLnJlbWVtYmVyfSksdD8ubmFtZT09bnVsbD9udWxsOigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtZmllbGQtaGludCBhbC10ZXh0LWNhcHRpb25gLGNoaWxkcmVuOkR0KE4ucmVtZW1iZXJIaW50LHtuYW1lOnQubmFtZX0pfSldfSldfSk6bnVsbCwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXBheS1zdGF0dXNgLGNoaWxkcmVuOlt3PT09bnVsbD9udWxsOigwLEMuanN4KShIdCx7c3RhdGU6d30pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtcGF5LWxpdmVgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOmJ9KSxpPy50b25lPT09YGVycm9yYD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXBheS1hbGVydGAscm9sZTpgYWxlcnRgLGNoaWxkcmVuOmkudGV4dH0pOm51bGxdfSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wYXktYWN0aW9uc2AsY2hpbGRyZW46W2E9PT0hMHx8cj09PWBkb25lYCYmdT8oMCxDLmpzeCkoTyx7dmFyaWFudDpgcHJpbWFyeWAsc2l6ZTpgbGdgLGJsb2NrOiEwLG9uQ2xpY2s6ZS5vbkNsb3NlLGNoaWxkcmVuOk4uY2xvc2V9KTpyPT09YHJlYWR5YCYmdCE9PXZvaWQgMCYmbz8oMCxDLmpzeCkoTyx7dmFyaWFudDpgcHJpbWFyeWAsc2l6ZTpgbGdgLGJsb2NrOiEwLGljb246YGtleS1yb3VuZGAsZGlzYWJsZWQ6ZS5idXN5PT09ITAsb25DbGljazplLm9uQ29uZmlybSxjaGlsZHJlbjpfLmNvbmZpcm19KTpTJiZ0IT09dm9pZCAwPygwLEMuanN4cykoYGZvcm1gLHtjbGFzc05hbWU6YGFsLXBheS1jb2RlYCxvblN1Ym1pdDp0PT57dC5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPWg7ZyhgYCksbi5sZW5ndGg-MCYmZS5vbkNvZGUobil9LGNoaWxkcmVuOlsoMCxDLmpzeCkodGUse2xhYmVsOk4uY29kZUxhYmVsLGhpbnQ6Ti5jb2RlSGludCx0eXBlOmBwYXNzd29yZGAsYXV0b0NvbXBsZXRlOmBvZmZgLHNwZWxsQ2hlY2s6ITEsbW9ubzohMCx2YWx1ZTpoLG9uQ2hhbmdlOmU9PmcoZS5jdXJyZW50VGFyZ2V0LnZhbHVlKX0pLCgwLEMuanN4KShPLHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2AsYmxvY2s6ITAsdHlwZTpgc3VibWl0YCxkaXNhYmxlZDplLmJ1c3k9PT0hMCxjaGlsZHJlbjpOLmNvbmZpcm1Db2RlfSldfSk6bnVsbCxhIT09ITAmJnIhPT1gZG9uZWAmJnIhPT1gcmVjb3JkaW5nYD8oMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLGJsb2NrOiEwLG9uQ2xpY2s6ZS5vbkNhbmNlbCxjaGlsZHJlbjpOLmNhbmNlbH0pOm51bGwsYSE9PSEwJiZyPT09YHJlYWR5YCYmdCE9PXZvaWQgMCYmbyYmcz8oMCxDLmpzeCkoYGJ1dHRvbmAse3R5cGU6YGJ1dHRvbmAsY2xhc3NOYW1lOmBhbC1wYXktbGlua2Asb25DbGljazplLm9uVXNlQmFja3VwLGNoaWxkcmVuOk4udXNlQmFja3VwfSk6bnVsbF19KV19KX0pfXZhciBHdD17bG9hZGluZzpgTG9hZGluZ-KApmAsZG9uZTpgRG9uZWAsZXJyb3I6YFNvbWV0aGluZyB3ZW50IHdyb25nLiBUcnkgYWdhaW4uYH07ZnVuY3Rpb24gS3QoZSx0PTQwMCxuPTUwMCl7bGV0W3IsaV09KDAsbC51c2VTdGF0ZSkoITEpLGE9KDAsbC51c2VSZWYpKDApO3JldHVybigwLGwudXNlRWZmZWN0KSgoKT0-e2lmKGUmJiFyKXtsZXQgZT1zZXRUaW1lb3V0KCgpPT57YS5jdXJyZW50PURhdGUubm93KCksaSghMCl9LHQpO3JldHVybigpPT5jbGVhclRpbWVvdXQoZSl9aWYoIWUmJnIpe2xldCBlPU1hdGgubWF4KDAsbi0oRGF0ZS5ub3coKS1hLmN1cnJlbnQpKSx0PXNldFRpbWVvdXQoKCk9PmkoITEpLGUpO3JldHVybigpPT5jbGVhclRpbWVvdXQodCl9fSxbZSxyLHQsbl0pLHJ9ZnVuY3Rpb24gcXQoKXtsZXQgZT0oKT0-dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuaGlkZGVuLFt0LG5dPSgwLGwudXNlU3RhdGUpKGUpO3JldHVybigwLGwudXNlRWZmZWN0KSgoKT0-e2xldCB0PSgpPT5uKGUoKSk7cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCx0KX0sW10pLHR9dmFyIEp0PShlLHQsbik9Pk1hdGgubWluKG4sTWF0aC5tYXgodCxlKSksWXQ9ZT0-U3RyaW5nKE1hdGgucm91bmQoKDEtSnQoZSwwLDEpKSoxZTQpLzEwMCk7ZnVuY3Rpb24gWHQoe2FjdGlvbjplLGNoaWxkcmVuOnR9KXtyZXR1cm4oMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWlubGluZS1lcnJvcmAscm9sZTpgYWxlcnRgLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpgY2lyY2xlLWFsZXJ0YCxzaXplOjE2fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOnR9KSxlPT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1pbmxpbmUtZXJyb3ItYWN0YCxjaGlsZHJlbjplfSldfSl9ZnVuY3Rpb24gUCh7ZnJhY3Rpb246ZX0pe3JldHVybigwLEMuanN4KShgc3ZnYCx7Y2xhc3NOYW1lOmBhbC1wYi1zdmdgLHZpZXdCb3g6YDAgMCAxMDAgNGAscHJlc2VydmVBc3BlY3RSYXRpbzpgbm9uZWAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsZm9jdXNhYmxlOmBmYWxzZWAsY2hpbGRyZW46KDAsQy5qc3gpKGBsaW5lYCx7Y2xhc3NOYW1lOmBhbC1wYi1maWxsYCx4MTpgMGAseTE6YDJgLHgyOmAxMDBgLHkyOmAyYCxwYXRoTGVuZ3RoOmAxMDBgLHN0cm9rZURhc2hhcnJheTpgMTAwYCxzdHJva2VEYXNob2Zmc2V0Oll0KGUpfSl9KX1mdW5jdGlvbiBadCh7bGFiZWw6ZSxhbW91bnQ6dCx2YWx1ZTpuPTAsbWF4OnI9MTAwLGluZGV0ZXJtaW5hdGU6aT0hMSxzdGVwczphLGN1cnJlbnQ6bz0wLHN0YXRlOnM9YGFjdGl2ZWAsZXJyb3I6YyxkZWxheWVkOmw9ITF9KXtsZXQgdT1LdChsKSxkPXF0KCk7aWYobCYmIXUpcmV0dXJuIG51bGw7bGV0IGY9YT09PXZvaWQgMD92b2lkIDA6YS5zbGljZSgwLDQpLHA9ZiE9PXZvaWQgMCYmZi5sZW5ndGg-MCxtPWY_Lmxlbmd0aD8_MCxoPUp0KE1hdGguZmxvb3IobyksMCxtKSxnPXI-MD9yOjEwMCx2PUp0KG4sMCxnKSx5PXM9PT1gZXJyb3JgLGI9eT8hMTpwP3M9PT1gZG9uZWB8fGg-PW06cz09PWBkb25lYHx8IWkmJnY-PWcseD1wP2BzdGVwcGVkYDppP2BpbmRldGVybWluYXRlYDpgZGV0ZXJtaW5hdGVgLFM9Yj8xOnYvZyxUPXt9O3JldHVybiBwPyhUW2BhcmlhLXZhbHVlbWluYF09MSxUW2BhcmlhLXZhbHVlbWF4YF09bSxUW2BhcmlhLXZhbHVlbm93YF09TWF0aC5taW4oaCsxLG0pLFRbYGFyaWEtdmFsdWV0ZXh0YF09Yj9HdC5kb25lOmBTdGVwICR7TWF0aC5taW4oaCsxLG0pfSBvZiAke219OiAke2ZbTWF0aC5taW4oaCxtLTEpXX1gKTohaXx8Yj8oVFtgYXJpYS12YWx1ZW1pbmBdPTAsVFtgYXJpYS12YWx1ZW1heGBdPWcsVFtgYXJpYS12YWx1ZW5vd2BdPWI_Zzp2KTpUW2BhcmlhLWJ1c3lgXT0hMCwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6XyhgYWwtcGJgLGBpcy0ke3h9YCxiJiZgaXMtZG9uZWAseSYmYGlzLWVycm9yYCksImRhdGEtcGF1c2VkIjpkP2B0cnVlYDp2b2lkIDAsY2hpbGRyZW46WygwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtcGItaGVhZGAscm9sZTpgc3RhdHVzYCwiYXJpYS1saXZlIjpgcG9saXRlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1wYi1sYWJlbCBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmV9KSxiPygwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXBiLXN0YXRlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6YGNoZWNrYCxzaXplOjE0fSksR3QuZG9uZV19KTpudWxsLHQ9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXBiLWFtb3VudCBhbC10ZXh0LWNhcHRpb25gLGNoaWxkcmVuOnR9KV19KSwoMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpfKGBhbC1wYi10cmFja2AscCYmYGlzLXN0ZXBwZWRgKSxyb2xlOmBwcm9ncmVzc2JhcmAsImFyaWEtbGFiZWwiOmUsImFyaWEtaW52YWxpZCI6eT8hMDp2b2lkIDAsLi4uVCxjaGlsZHJlbjpwPygwLEMuanN4KShgb2xgLHtjbGFzc05hbWU6YGFsLXBiLXN0ZXBzYCxjaGlsZHJlbjpmLm1hcCgoZSx0KT0-e2xldCByPXkmJnQ9PT1oP2BlcnJvcmA6dDxofHxiP2Bkb25lYDp0PT09aD9gY3VycmVudGA6YHRvZG9gLGk9cj09PWBjdXJyZW50YCYmbj4wP3YvZzorKHI9PT1gZG9uZWApO3JldHVybigwLEMuanN4cykoYGxpYCx7Y2xhc3NOYW1lOl8oYGFsLXBiLXN0ZXBgLHI9PT1gY3VycmVudGAmJm48PTAmJmBpcy11bmtub3duYCksImRhdGEtc3RhdGUiOnIsImFyaWEtY3VycmVudCI6cj09PWBjdXJyZW50YD9gc3RlcGA6dm9pZCAwLGNoaWxkcmVuOlsoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXBiLXNlZ2AsY2hpbGRyZW46KDAsQy5qc3gpKFAse2ZyYWN0aW9uOml9KX0pLGVdfSxlKX0pfSk6aSYmIWI_KDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1wYi1zZWctZ2xpZGVgfSk6KDAsQy5qc3gpKFAse2ZyYWN0aW9uOlN9KX0pLHk_KDAsQy5qc3gpKFh0LHtjaGlsZHJlbjpjPz9HdC5lcnJvcn0pOm51bGxdfSl9ZnVuY3Rpb24gUXQoe2xhYmVsOmUsdmFsdWU6dCxtYXg6bix0ZXh0OnIsY291bnRkb3duOmk9ITEsc2l6ZTphPWBtZGAsY2hpbGRyZW46b30pe2xldCBzPW4-MD9uOjEsYz1KdCh0LDAscyksbD1jL3M7cmV0dXJuKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOl8oYGFsLXJpbmdgLGBpcy0ke2F9YCxpJiZgaXMtY291bnRkb3duYCxpJiZsPD0uMiYmYGlzLWxvd2ApLHJvbGU6YG1ldGVyYCwiYXJpYS1sYWJlbCI6ZSwiYXJpYS12YWx1ZW1pbiI6MCwiYXJpYS12YWx1ZW1heCI6cywiYXJpYS12YWx1ZW5vdyI6YywiYXJpYS12YWx1ZXRleHQiOnIsY2hpbGRyZW46WygwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXJpbmctZGlhbGAsY2hpbGRyZW46WygwLEMuanN4cykoYHN2Z2Ase3ZpZXdCb3g6YDAgMCAzNiAzNmAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsZm9jdXNhYmxlOmBmYWxzZWAsY2hpbGRyZW46WygwLEMuanN4KShgY2lyY2xlYCx7Y2xhc3NOYW1lOmBhbC1yaW5nLXRyYWNrYCxjeDpgMThgLGN5OmAxOGAscjpgMTZgfSksKDAsQy5qc3gpKGBjaXJjbGVgLHtjbGFzc05hbWU6YGFsLXJpbmctZmlsbGAsY3g6YDE4YCxjeTpgMThgLHI6YDE2YCxwYXRoTGVuZ3RoOmAxMDBgLHN0cm9rZURhc2hhcnJheTpgMTAwYCxzdHJva2VEYXNob2Zmc2V0Oll0KGwpfSldfSksbz09PXZvaWQgMD9udWxsOigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtcmluZy1jZW50ZXJgLGNoaWxkcmVuOm99KV19KSwoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXJpbmctdGV4dCBhbC10ZXh0LWNhcHRpb25gLGNoaWxkcmVuOnJ9KV19KX1mdW5jdGlvbiAkdCh7bG9hZGluZzplLGxhYmVsOnQ9R3QubG9hZGluZyxsaW5lczpuPTMsY2xhc3NOYW1lOnIsY2hpbGRyZW46aX0pe2xldCBhPUt0KGUpLG89cXQoKSxzPSgwLGwudXNlUmVmKSghMSk7cmV0dXJuIGEmJihzLmN1cnJlbnQ9ITApLGE_KDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOl8oYGFsLXNrZWxldG9uYCxyKSxyb2xlOmBzdGF0dXNgLCJhcmlhLWJ1c3kiOmB0cnVlYCwiZGF0YS1wYXVzZWQiOm8_YHRydWVgOnZvaWQgMCxjaGlsZHJlbjpbQXJyYXkuZnJvbSh7bGVuZ3RoOkp0KE1hdGguZmxvb3IobiksMSwxMil9LChlLHQpPT4oMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXNrZWxldG9uLWxpbmVgLCJhcmlhLWhpZGRlbiI6YHRydWVgfSx0KSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1zci1vbmx5YCxjaGlsZHJlbjp0fSldfSxgc2tlbGV0b25gKTplP251bGw6KDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6XyhgYWwtc2tlbGV0b24tY29udGVudGAscy5jdXJyZW50JiZgYWwtc2tlbGV0b24tcmV2ZWFsYCksY2hpbGRyZW46aX0sYGNvbnRlbnRgKX12YXIgZW49e3JlY29yZGluZzpbYHJlZnJlc2gtY3dgLGBSZWNvcmRpbmcgcHJvb2bigKZgXSxyZWNvcmRlZDpbYHByb29mLXNlYWxgLGBQcm9vZiByZWNvcmRlZGBdLGZhaWxlZDpbYHRyaWFuZ2xlLWFsZXJ0YCxgUHJvb2Ygd2Fzbid0IHJlY29yZGVkYF0sd2FpdGluZzpbYGFwcHJvdmFsYCxgUHJvb2Ygd2FpdGluZyBmb3IgYXBwcm92YWxgXSxzdWJtaXR0ZWQ6W2BhcnJvdy1yaWdodGAsYFByb29mIHN1Ym1pdHRlZGBdLCJuZWVkcy1jcmVkaXRzIjpbYGNpcmNsZS1hbGVydGAsYFByb29mIG5lZWRzIGNyZWRpdHNgXX07ZnVuY3Rpb24gdG4oe3N0YXRlOmU9YHJlY29yZGVkYCx0aW1lOnR9KXtsZXRbbixyXT1lbltlXT8_ZW4ucmVjb3JkZWQ7cmV0dXJuKDAsQy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpfKGBhbC1wcm9vZmAsYGlzLSR7ZX1gKSxyb2xlOmU9PT1gcmVjb3JkaW5nYD9gc3RhdHVzYDp2b2lkIDAsY2hpbGRyZW46WygwLEMuanN4KSh3LHtuYW1lOm4sc2l6ZToxNH0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpyfSksdD09PXZvaWQgMD9udWxsOigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtcHJvb2YtdGltZSBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOnR9KV19KX1mdW5jdGlvbiBubihlKXtyZXR1cm4gZT09PXZvaWQgMHx8L1tcdFxuXHJdLy50ZXN0KGUpP2AjYDplLnN0YXJ0c1dpdGgoYCNgKXx8ZS5zdGFydHNXaXRoKGBodHRwczpgKXx8ZS5zdGFydHNXaXRoKGAvYCkmJiFlLnN0YXJ0c1dpdGgoYC8vYCkmJiFlLnN0YXJ0c1dpdGgoYC9cXGApP2U6YCNgfXZhciBybj17Y29ubmVjdGVkOmBDb25uZWN0ZWRgLG9mZmxpbmU6YE9mZmxpbmUgwrcgc2hvd2luZyB3aGF0J3Mgc2F2ZWQgaGVyZWAscGF1c2VkOmBQYXVzZWRgLGNoZWNraW5nOmBDaGVja2luZ-KApmAsZGlzY29ubmVjdGVkOmBOb3QgY29ubmVjdGVkYCwibm90LXJ1bm5pbmciOmBOb3QgcnVubmluZ2AsIm5lZWRzLXNldHVwIjpgTmVlZHMgc2V0dXBgfTtmdW5jdGlvbiBhbih7b3M6ZSx0aXRsZTp0fSl7cmV0dXJuKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOl8oYGFsLXdpbi1iYXJgLGBpcy0ke2V9YCksImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46W2U9PT1gbWFjb3NgPygwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXdpbi1kb3RzYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBpYCx7fSksKDAsQy5qc3gpKGBpYCx7fSksKDAsQy5qc3gpKGBpYCx7fSldfSk6bnVsbCwoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXdpbi10aXRsZSBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOnR9KSxlPT09YG1hY29zYD9udWxsOigwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXdpbi1jdHJsc2AsY2hpbGRyZW46W2U9PT1gd2luZG93c2A_KDAsQy5qc3gpKHcse25hbWU6YG1pbnVzYCxzaXplOjE0fSk6bnVsbCxlPT09YHdpbmRvd3NgPygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtd2luLW1heGB9KTpudWxsLCgwLEMuanN4KSh3LHtuYW1lOmB4YCxzaXplOjE0fSldfSldfSl9ZnVuY3Rpb24gb24oe29zOmUsdGl0bGU6dD1gQWdlbnRMaW5rYCxwYWdlVGl0bGU6bix0b3BCYXJFbmQ6cixhZ2VudDppLG5hdjphPVtdLGNvbm5lY3Rpb246bz1gY29ubmVjdGVkYCxzdGF0dXNJdGVtczpzLHZlcnNpb246YyxjaGlsZHJlbjpsLGNsYXNzTmFtZTp1fSl7bGV0IGQ9YS5maW5kSW5kZXgoZT0-ZS5hY3RpdmU9PT0hMCk7cmV0dXJuKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOl8oYGFsLXNoZWxsYCx1KSxjaGlsZHJlbjpbZT09PXZvaWQgMD9udWxsOigwLEMuanN4KShhbix7b3M6ZSx0aXRsZTp0fSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1zaGVsbC1tYWluYCxjaGlsZHJlbjpbKDAsQy5qc3hzKShgbmF2YCx7Y2xhc3NOYW1lOmBhbC1zaWRlIGFsLWNocm9tZWAsImFyaWEtbGFiZWwiOmBNYWluYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNpZGUtYnJhbmRgLGNoaWxkcmVuOigwLEMuanN4KShELHtzaXplOjE4fSl9KSxpPT09dm9pZCAwP251bGw6KDAsQy5qc3hzKShgYnV0dG9uYCx7dHlwZTpgYnV0dG9uYCxjbGFzc05hbWU6YGFsLWFnZW50LXN3aXRjaGAsY2hpbGRyZW46WygwLEMuanN4KSh3LHtuYW1lOmBhZ2VudGAsc2l6ZToxNH0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjppfSksKDAsQy5qc3gpKHcse25hbWU6YGNoZXZyb24tZG93bmAsc2l6ZToxNH0pXX0pLCgwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtbmF2LXdyYXBgLCJkYXRhLWFjdGl2ZSI6ZDwwP3ZvaWQgMDpTdHJpbmcoZCksY2hpbGRyZW46WygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbmF2LXNsaWRlcmAsImFyaWEtaGlkZGVuIjpgdHJ1ZWB9KSwoMCxDLmpzeCkoYHVsYCx7Y2hpbGRyZW46YS5tYXAoKGUsdCk9PigwLEMuanN4KShgbGlgLHtjaGlsZHJlbjooMCxDLmpzeHMpKGBhYCx7aHJlZjpubihlLmhyZWYpLGNsYXNzTmFtZTpfKGBhbC1uYXZgLGUuYWN0aXZlPT09ITAmJmBpcy1hY3RpdmVgKSwiYXJpYS1jdXJyZW50IjplLmFjdGl2ZT09PSEwP2BwYWdlYDp2b2lkIDAsY2hpbGRyZW46WygwLEMuanN4KSh3LHtuYW1lOmUuaWNvbixzaXplOjE2fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmUubGFiZWx9KSxlLmNvdW50PT09dm9pZCAwfHxlLmNvdW50PT09MD9udWxsOigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbmF2LWNvdW50IGFsLXRleHQtY29kZWAsY2hpbGRyZW46ZS5jb3VudH0pXX0pfSx0KSl9KV19KV19KSwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNoZWxsLWJvZHlgLGNoaWxkcmVuOltuPT09dm9pZCAwP251bGw6KDAsQy5qc3hzKShgaGVhZGVyYCx7Y2xhc3NOYW1lOmBhbC10b3BiYXIgYWwtY2hyb21lYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10b3BiYXItdGl0bGUgYWwtdGV4dC10aXRsZS0zYCxjaGlsZHJlbjpufSksKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXRvcGJhci1lbmRgLGNoaWxkcmVuOnJ9KV19KSwoMCxDLmpzeCkoYG1haW5gLHtjbGFzc05hbWU6YGFsLXNoZWxsLWNvbnRlbnRgLGlkOmBhbC1tYWluYCxjaGlsZHJlbjpsfSldfSldfSksKDAsQy5qc3hzKShgZm9vdGVyYCx7Y2xhc3NOYW1lOmBhbC1zdGF0dXNiYXIgYWwtY2hyb21lIGFsLXRleHQtY29kZWAsY2hpbGRyZW46WygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtc2ItaXRlbWAscm9sZTpgc3RhdHVzYCwiYXJpYS1saXZlIjpgcG9saXRlYCwiYXJpYS1hdG9taWMiOmB0cnVlYCxjaGlsZHJlbjooMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1zYi1zdGF0ZWAsY2hpbGRyZW46WygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpfKGBhbC1kb3RgLGBpcy0ke299YCksImFyaWEtaGlkZGVuIjpgdHJ1ZWB9KSxybltvXV19LG8pfSksKHM_P1tdKS5tYXAoKGUsdCk9PigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtc2ItaXRlbWAsY2hpbGRyZW46ZX0sdCkpLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtc2Itc3BhY2VyYH0pLGM9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXNiLWl0ZW1gLGNoaWxkcmVuOmN9KV19KV19KX1mdW5jdGlvbiBzbih7bGV2ZWw6ZT0xLGludGVyYWN0aXZlOnQ9ITEsYXM6bj1gZGl2YCxjbGFzc05hbWU6cixjaGlsZHJlbjppLC4uLmF9KXtyZXR1cm4oMCxsLmNyZWF0ZUVsZW1lbnQpKG4sey4uLmEsY2xhc3NOYW1lOl8oYGFsLXN1cmZhY2VgLGBhbC1zdXJmYWNlLS0ke2U9PT1gcmVjZXNzZWRgP2ByZWNlc3NlZGA6YGwke2V9YH1gLHQmJmUhPT00JiZgYWwtc3VyZmFjZS0taW50ZXJhY3RpdmVgLHIpLCJkYXRhLWxldmVsIjpTdHJpbmcoZSl9LGkpfXZhciBjbj1gYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pYDtmdW5jdGlvbiBsbihlLHQsbixyKXtsZXQgaT0oMCxsLnVzZVJlZikocik7cmV0dXJuIGkuY3VycmVudD1yLCgwLGwudXNlTGF5b3V0RWZmZWN0KSgoKT0-e2lmKGUmJnQuY3VycmVudCE9PW51bGwpcmV0dXJuIFR0KHQuY3VycmVudCl9LFtlLHRdKSwoMCxsLnVzZUVmZmVjdCkoKCk9PntpZighZSlyZXR1cm47bGV0IHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtyZXR1cm4gbi5jdXJyZW50Py5mb2N1cygpLCgpPT57dCE9PW51bGwmJnR5cGVvZiB0LmZvY3VzPT1gZnVuY3Rpb25gJiZkb2N1bWVudC5jb250YWlucyh0KSYmdC5mb2N1cygpfX0sW2Usbl0pLGU9PntpZihlLmtleT09PWBFc2NhcGVgKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxpLmN1cnJlbnQoKTtyZXR1cm59aWYoZS5rZXkhPT1gVGFiYHx8dC5jdXJyZW50PT09bnVsbClyZXR1cm47bGV0IHI9Wy4uLnQuY3VycmVudC5xdWVyeVNlbGVjdG9yQWxsKGNuKV0uZmlsdGVyKGU9PiFlLmRpc2FibGVkKSxhPXJbMF0sbz1yW3IubGVuZ3RoLTFdO2lmKGE9PT12b2lkIDB8fG89PT12b2lkIDApcmV0dXJuO2xldCBzPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7ZS5zaGlmdEtleSYmKHM9PT1hfHxzPT09bi5jdXJyZW50KT8oZS5wcmV2ZW50RGVmYXVsdCgpLG8uZm9jdXMoKSk6IWUuc2hpZnRLZXkmJnM9PT1vJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGEuZm9jdXMoKSl9fWZ1bmN0aW9uIHVuKHtvcGVuOmUsdGl0bGU6dCxvbkNsb3NlOm4sY2xvc2VMYWJlbDpyPWBDbG9zZWAsY2xhc3NOYW1lOmksY2hpbGRyZW46YX0pe2xldCBvPSgwLGwudXNlSWQpKCkscz0oMCxsLnVzZVJlZikobnVsbCksYz0oMCxsLnVzZVJlZikobnVsbCksdT1sbihlLHMsYyxuKTtyZXR1cm4gZT8oMCxDLmpzeHMpKGBhc2lkZWAse3JlZjpzLGNsYXNzTmFtZTpfKGBhbC1zdXJmYWNlYCxgYWwtc3VyZmFjZS0tbDNgLGBhbC1zaGVldGAsaSksImRhdGEtbGV2ZWwiOmAzYCxyb2xlOmBkaWFsb2dgLCJhcmlhLW1vZGFsIjpgdHJ1ZWAsImFyaWEtbGFiZWxsZWRieSI6YCR7b30tdGl0bGVgLG9uS2V5RG93bjp1LGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBoZWFkZXJgLHtjbGFzc05hbWU6YGFsLXNoZWV0LWhlYWRgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7aWQ6YCR7b30tdGl0bGVgLHJlZjpjLGNsYXNzTmFtZTpgYWwtc2hlZXQtdGl0bGVgLHRhYkluZGV4Oi0xLGNoaWxkcmVuOnR9KSwoMCxDLmpzeCkoYGJ1dHRvbmAse3R5cGU6YGJ1dHRvbmAsY2xhc3NOYW1lOmBhbC1zaGVldC1jbG9zZWAsImFyaWEtbGFiZWwiOnIsb25DbGljazpuLGNoaWxkcmVuOigwLEMuanN4KShgc3BhbmAseyJhcmlhLWhpZGRlbiI6YHRydWVgLGNoaWxkcmVuOmDDl2B9KX0pXX0pLCgwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1zaGVldC1ib2R5YCxjaGlsZHJlbjphfSldfSk6bnVsbH12YXIgZG49YGFnZW50bGluay5wcmVmc2AsZm49e2hvb2Q6ITEsbW90aW9uOmBzeXN0ZW1gLHRyYW5zcGFyZW5jeTpgc3lzdGVtYCx0aGVtZTpgc3lzdGVtYH0scG49e21vdGlvbjpbYHN5c3RlbWAsYG9uYCxgb2ZmYF0sdHJhbnNwYXJlbmN5Oltgc3lzdGVtYCxgcmVkdWNlYF0sdGhlbWU6W2BzeXN0ZW1gLGBsaWdodGAsYGRhcmtgXX07ZnVuY3Rpb24gbW4oZSl7bGV0IHQ9ey4uLmZufTtpZihlPT09bnVsbClyZXR1cm4gdDtsZXQgbjt0cnl7bj1KU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybiB0fWlmKHR5cGVvZiBuIT1gb2JqZWN0YHx8IW4pcmV0dXJuIHQ7bGV0IHI9bjtyZXR1cm4gdHlwZW9mIHIuaG9vZD09YGJvb2xlYW5gJiYodC5ob29kPXIuaG9vZCkscG4ubW90aW9uLmluY2x1ZGVzKHIubW90aW9uKSYmKHQubW90aW9uPXIubW90aW9uKSxwbi50cmFuc3BhcmVuY3kuaW5jbHVkZXMoci50cmFuc3BhcmVuY3kpJiYodC50cmFuc3BhcmVuY3k9ci50cmFuc3BhcmVuY3kpLHBuLnRoZW1lLmluY2x1ZGVzKHIudGhlbWUpJiYodC50aGVtZT1yLnRoZW1lKSx0fWZ1bmN0aW9uIGhuKCl7dHJ5e3JldHVybiBtbih3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oZG4pKX1jYXRjaHtyZXR1cm57Li4uZm59fX1mdW5jdGlvbiBnbihlKXt0cnl7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKGRuLEpTT04uc3RyaW5naWZ5KGUpKX1jYXRjaHt9fWZ1bmN0aW9uIF9uKGUsdCl7bGV0IG49ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3Q9PT1udWxsP24ucmVtb3ZlQXR0cmlidXRlKGUpOm4uc2V0QXR0cmlidXRlKGUsdCl9ZnVuY3Rpb24gdm4oZSl7X24oYGRhdGEtbW90aW9uYCxlLm1vdGlvbj09PWBvbmA_YHJlZHVjZWRgOmUubW90aW9uPT09YG9mZmA_YGZ1bGxgOm51bGwpLF9uKGBkYXRhLXRyYW5zcGFyZW5jeWAsZS50cmFuc3BhcmVuY3k9PT1gcmVkdWNlYD9gcmVkdWNlZGA6bnVsbCksX24oYGRhdGEtdGhlbWVgLGUudGhlbWU9PT1gc3lzdGVtYD9udWxsOmUudGhlbWUpfXZhciB5bj1udWxsLGJuPW5ldyBTZXQ7ZnVuY3Rpb24geG4oKXtyZXR1cm4geW49PT1udWxsJiYoeW49aG4oKSx2bih5bikpLHlufWZ1bmN0aW9uIFNuKCl7cmV0dXJuIHhuKCl9ZnVuY3Rpb24gQ24oZSx0KXtsZXQgbj17Li4ueG4oKSxbZV06dH07eW49bixnbihuKSx2bihuKTtmb3IobGV0IGUgb2YgYm4pZSgpfWZ1bmN0aW9uIHduKGUpe3JldHVybiBibi5hZGQoZSksKCk9PmJuLmRlbGV0ZShlKX1mdW5jdGlvbiBUbigpe3JldHVybigwLGwudXNlU3luY0V4dGVybmFsU3RvcmUpKHduLHhuLHhuKX1mdW5jdGlvbiBFbih7Y2hpbGRyZW46ZX0pe2xldHtob29kOnR9PVRuKCk7cmV0dXJuKDAsQy5qc3gpKFhlLHt2YWx1ZTp0LGNoaWxkcmVuOmV9KX12YXIgRG49e2FwcE5hbWU6YEFnZW50TGlua2AsbmF2TGFiZWw6YE1haW5gLHNraXBUb0NvbnRlbnQ6YFNraXAgdG8gY29udGVudGAsbm90QXZhaWxhYmxlVGl0bGU6YFRoaXMgcGFnZSBpc24ndCBhdmFpbGFibGUgeWV0LmAsbm90QXZhaWxhYmxlSGludDpgSXQgYXJyaXZlcyBpbiBhbiB1cGRhdGUuIE5vdGhpbmcgaXMgbG9zdCB3aGlsZSB5b3Ugd2FpdC5gLG5vdEZvdW5kVGl0bGU6YFRoaXMgcGFnZSBpc24ndCBoZXJlLmAsbm90Rm91bmRIaW50OmBQaWNrIGEgcGFnZSBmcm9tIHRoZSBtZW51LmAsdGhlbWVOYW1lOmBUaGVtZWAsdGhlbWVDaGFuZ2U6YENoYW5nZWAsdGhlbWVTeXN0ZW06YFN5c3RlbWAsdGhlbWVMaWdodDpgTGlnaHRgLHRoZW1lRGFyazpgRGFya2Asb2ZmbGluZUNoaXA6YE5vdCBjb25uZWN0ZWRgfSxPbj17Zmlyc3RSdW46YFNldCB1cCBBZ2VudExpbmtgLGhvbWU6YEhvbWVgLGFwcHJvdmFsczpgQXBwcm92YWxzYCxhcHByb3ZlOmBBcHByb3ZhbGAsYWN0aXZpdHk6YEFjdGl2aXR5YCxtZXNzYWdlczpgTWVzc2FnZXNgLGNvbnRhY3RzOmBDb250YWN0c2AsZmlsZXM6YEZpbGVzYCxzdG9yYWdlOmBTdG9yYWdlYCxwcm9vZnM6YFByb29mcyAmIGNyZWRpdHNgLHJ1bGVzOmBSdWxlc2AsYmFja3VwOmBCYWNrdXBgLGFwcGVhcmFuY2U6YEFwcGVhcmFuY2VgLGFkdmFuY2VkOmBBZHZhbmNlZGAsYWJvdXQ6YEFib3V0YH0sa249IlNldCB1cCBiZWZvcmUgMC4zLjA_IFVzZSB0aGUgb3duZXIgY29kZSBmcm9tIGBucHggLXkgQDR0aHRlY2gtaW8vYWdlbnRsaW5rIG93bmVyIGluaXRgLiIsQW49YFNldHRpbmdzYCxqbj1gUGFzc2tleXNgLE1uPVt7aWQ6YGhvbWVgLGxhYmVsOk9uLmhvbWUsaWNvbjpgYWdlbnRgLHBhdGg6YC9zZXR0aW5ncy9ob21lYCxyb3V0ZWQ6ITB9LHtpZDpgYXBwcm92YWxzYCxsYWJlbDpPbi5hcHByb3ZhbHMsaWNvbjpgYXBwcm92YWxgLHBhdGg6YC9gLHJvdXRlZDohMH0se2lkOmBhY3Rpdml0eWAsbGFiZWw6T24uYWN0aXZpdHksaWNvbjpgYWN0aXZpdHlgLHBhdGg6YC9zZXR0aW5ncy9hY3Rpdml0eWAscm91dGVkOiEwfSx7aWQ6YG1lc3NhZ2VzYCxsYWJlbDpPbi5tZXNzYWdlcyxpY29uOmBpbmJveGAscGF0aDpgL3NldHRpbmdzL21lc3NhZ2VzYCxyb3V0ZWQ6ITB9LHtpZDpgY29udGFjdHNgLGxhYmVsOk9uLmNvbnRhY3RzLGljb246YHVzZXJzYCxwYXRoOmAvc2V0dGluZ3MvY29udGFjdHNgLHJvdXRlZDohMH0se2lkOmBmaWxlc2AsbGFiZWw6T24uZmlsZXMsaWNvbjpgZm9sZGVyYCxwYXRoOmAvc2V0dGluZ3MvZmlsZXNgLHJvdXRlZDohMH0se2lkOmBwcm9vZnNgLGxhYmVsOk9uLnByb29mcyxpY29uOmBwcm9vZi1zZWFsYCxwYXRoOmAvc2V0dGluZ3MvcHJvb2ZzYCxyb3V0ZWQ6ITB9LHtpZDpgcnVsZXNgLGxhYmVsOk9uLnJ1bGVzLGljb246YHNsaWRlcnMtaG9yaXpvbnRhbGAscGF0aDpgL3NldHRpbmdzL3J1bGVzYCxyb3V0ZWQ6ITB9LHtpZDpgc2V0dGluZ3NgLGxhYmVsOkFuLGljb246YHNldHRpbmdzYCxwYXRoOmAvc2V0dGluZ3MvYmFja3VwYCxyb3V0ZWQ6ITB9XSxObj1be2xhYmVsOk9uLmJhY2t1cCxwYXRoOmAvc2V0dGluZ3MvYmFja3VwYH0se2xhYmVsOmpuLHBhdGg6YC9zZXR0aW5ncy9wYXNza2V5c2B9LHtsYWJlbDpPbi5hcHBlYXJhbmNlLHBhdGg6YC9zZXR0aW5ncy9hcHBlYXJhbmNlYH0se2xhYmVsOk9uLmFkdmFuY2VkLHBhdGg6YC9zZXR0aW5ncy9hZHZhbmNlZGB9LHtsYWJlbDpPbi5hYm91dCxwYXRoOmAvc2V0dGluZ3MvYWJvdXRgfV0sUG49eyIvc2V0dGluZ3Mvc3RvcmFnZSI6YC9zZXR0aW5ncy9maWxlc2B9LEZuPXt1bmtub3duOntzdGF0ZTpgY2hlY2tpbmdgfSxjb25uZWN0ZWQ6e3N0YXRlOmBjb25uZWN0ZWRgfSxwYXVzZWQ6e3N0YXRlOmBwYXVzZWRgfSxub3RfcnVubmluZzp7c3RhdGU6YG5vdC1ydW5uaW5nYH0sbmVlZHNfc2V0dXA6e3N0YXRlOmBuZWVkcy1zZXR1cGB9LG9mZmxpbmU6e3N0YXRlOmBub3QtcnVubmluZ2AsbGFiZWw6RG4ub2ZmbGluZUNoaXB9fSxJbj17c3lzdGVtOkRuLnRoZW1lU3lzdGVtLGxpZ2h0OkRuLnRoZW1lTGlnaHQsZGFyazpEbi50aGVtZURhcmt9LExuPXtzeXN0ZW06YGxpZ2h0YCxsaWdodDpgZGFya2AsZGFyazpgc3lzdGVtYH07ZnVuY3Rpb24gUm4oe2Nvbm5lY3Rpb246ZX0pe2xldCB0PVRuKCksbj1GbltlXSxyPUluW3QudGhlbWVdO3JldHVybigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShgc3BhbmAse3RpdGxlOk0udG9vbHRpcCxjaGlsZHJlbjooMCxDLmpzeCkobmUse2xhYmVsOk0udGl0bGUsY2hlY2tlZDp0Lmhvb2Qsb25DaGFuZ2U6ZT0-Q24oYGhvb2RgLGUpfSl9KSwoMCxDLmpzeCkodnQse3N0YXRlOm4uc3RhdGUsLi4ubi5sYWJlbD09PXZvaWQgMD97fTp7bGFiZWw6bi5sYWJlbH19KSwoMCxDLmpzeHMpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLGNsYXNzTmFtZTpgYWwtYnRuIGFsLWJ0bi1naG9zdCBhbC1idG4tc20gYWwtdG9wYmFyLXRoZW1lYCwiYXJpYS1sYWJlbCI6YCR7RG4udGhlbWVOYW1lfTogJHtyfS4gJHtEbi50aGVtZUNoYW5nZX1gLG9uQ2xpY2s6KCk9PkNuKGB0aGVtZWAsTG5bdC50aGVtZV0pLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpgc2xpZGVycy1ob3Jpem9udGFsYCxzaXplOjE0fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10b3BiYXItdGhlbWUtdGV4dGAsY2hpbGRyZW46cn0pXX0pXX0pfXZhciB6bj1gWC1BZ2VudExpbmstQ1NSRmA7ZnVuY3Rpb24gQm4oZSl7bGV0IHQ9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUpLG49YGA7Zm9yKGxldCBlIG9mIHQpbis9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtyZXR1cm4gYnRvYShuKS5yZXBsYWNlKC9cKy9nLGAtYCkucmVwbGFjZSgvXC8vZyxgX2ApLnJlcGxhY2UoLz0rJC8sYGApfWZ1bmN0aW9uIFZuKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD5gdWA_YGA6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtuYW1lPSJhZ2VudGxpbmstY3NyZiJdYCk_LmdldEF0dHJpYnV0ZShgY29udGVudGApPz9gYH1mdW5jdGlvbiBIbihlKXtpZighZS5zdGFydHNXaXRoKGAvYXBpL2ApfHxlLnN0YXJ0c1dpdGgoYC8vYCl8fC9bXFxcdFxuXHJdLy50ZXN0KGUpKXRocm93IEVycm9yKGBhcGkgcGF0aCBtdXN0IHN0YXJ0IHdpdGggL2FwaS9gKTtpZigoZS5zcGxpdCgvWz8jXS8sMSlbMF0_P2BgKS5zcGxpdChgL2ApLnNvbWUoZT0-L14oPzpcLnwlMmUpezEsMn0kL2kudGVzdChlKSkpdGhyb3cgRXJyb3IoYGFwaSBwYXRoIG11c3Qgbm90IGNvbnRhaW4gZG90IHNlZ21lbnRzYCl9YXN5bmMgZnVuY3Rpb24gVW4oZSl7dHJ5e3JldHVybntvazohMCx2YWx1ZTphd2FpdCBlLmpzb24oKX19Y2F0Y2h7cmV0dXJue29rOiExfX19ZnVuY3Rpb24gV24oZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiZlLnN0YXR1cz09PWBwcmVzZW5jZV9yZXF1aXJlZGB9ZnVuY3Rpb24gR24oZT17fSl7bGV0IHQ9ZS5mZXRjaD8_KChlLHQpPT5nbG9iYWxUaGlzLmZldGNoKGUsdCkpO2FzeW5jIGZ1bmN0aW9uIG4obixyLGkpe0huKHIpO2xldCBhPW5ldyBIZWFkZXJzKHtbem5dOmUudG9rZW4_P1ZuKCl9KSxvPXttZXRob2Q6bixoZWFkZXJzOmEsY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfTtpIT09dm9pZCAwJiYoYS5zZXQoYGNvbnRlbnQtdHlwZWAsYGFwcGxpY2F0aW9uL2pzb25gKSxvLmJvZHk9SlNPTi5zdHJpbmdpZnkoaSkpO2xldCBzO3RyeXtzPWF3YWl0IHQocixvKX1jYXRjaHtyZXR1cm57a2luZDpgb2ZmbGluZWB9fWxldCBjPWF3YWl0IFVuKHMpO3JldHVybiBjLm9rJiZXbihjLnZhbHVlKT97a2luZDpgcHJlc2VuY2VfcmVxdWlyZWRgfTpzLnN0YXR1cz09PTQwMT97a2luZDpgc2Vzc2lvbl9leHBpcmVkYH06cy5zdGF0dXM9PT01MDE_e2tpbmQ6YG5vdF9hdmFpbGFibGVgfTpzLnN0YXR1cz09PTQwMz97a2luZDpgZm9yYmlkZGVuYH06IXMub2t8fCFjLm9rP3traW5kOmBlcnJvcmAsc3RhdHVzOnMuc3RhdHVzfTp7a2luZDpgb2tgLHN0YXR1czpzLnN0YXR1cyxkYXRhOmMudmFsdWV9fWFzeW5jIGZ1bmN0aW9uIHIobixyLGkpe0huKG4pO2xldCBhPW5ldyBIZWFkZXJzKHtbem5dOmUudG9rZW4_P1ZuKCksImNvbnRlbnQtdHlwZSI6YGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbWAsIlgtQWdlbnRMaW5rLUlucHV0IjpCbihKU09OLnN0cmluZ2lmeShyKSl9KSxvO3RyeXtvPWF3YWl0IHQobix7bWV0aG9kOmBQT1NUYCxoZWFkZXJzOmEsYm9keTppLGNyZWRlbnRpYWxzOmBzYW1lLW9yaWdpbmAsY2FjaGU6YG5vLXN0b3JlYH0pfWNhdGNoe3JldHVybntraW5kOmBvZmZsaW5lYH19bGV0IHM9YXdhaXQgVW4obyksYz1zLm9rP3MudmFsdWU6dm9pZCAwLGw9dHlwZW9mIGM9PWBvYmplY3RgJiZjP2Muc3RhdHVzOm51bGw7cmV0dXJuIG8uc3RhdHVzPT09NDAxP3traW5kOmBzZXNzaW9uX2V4cGlyZWRgfTpsPT09YHByZXNlbmNlX3JlcXVpcmVkYHx8bD09PWBwcmVzZW5jZV9yZWplY3RlZGB8fGw9PT1gd2FpdGB8fGw9PT1gYnVzeWA_e2tpbmQ6bH06cy5vaz9vLm9rP3traW5kOmBva2Asc3RhdHVzOm8uc3RhdHVzLGRhdGE6Y306e2tpbmQ6YGFuc3dlcmAsc3RhdHVzOm8uc3RhdHVzLGRhdGE6Y306e2tpbmQ6YGVycm9yYCxzdGF0dXM6by5zdGF0dXN9fXJldHVybntnZXQ6ZT0-bihgR0VUYCxlKSxwb3N0OihlLHQpPT5uKGBQT1NUYCxlLHQpLG93bmVyOnJ9fXZhciBLbj0vXltBLVphLXowLTkuXzp-LV17MSwxMjh9JC8scW49MWU1LEpuPTEwMjQsWW49YFVubmFtZWQgZmlsZWAsWG49NTAsWm49bmV3IFNldChbYHF1ZXVlZGAsYHNlbnRgLGBub3RfZGVsaXZlcmVkYF0pLFFuPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSwkbj1lPT50eXBlb2YgZT09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGUpJiZlPj0wO2Z1bmN0aW9uIGVyKGUpe2lmKCFRbihlKSlyZXR1cm47bGV0e2NvbnRhY3RJZDp0LG5hbWU6bixsYXN0QXQ6cixsYXN0SW5BdDppfT1lO2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmS24udGVzdCh0KSYmISh0eXBlb2YgbiE9YHN0cmluZ2B8fG4ubGVuZ3RoPT09MHx8bi5sZW5ndGg-MTI4KSYmKHI9PT1udWxsfHwkbihyKSkmJihpPT1udWxsfHwkbihpKSkpcmV0dXJue2NvbnRhY3RJZDp0LG5hbWU6bixsYXN0QXQ6cj8_MCxsYXN0SW5BdDppPz8wfX1mdW5jdGlvbiB0cihlKXtpZighUW4oZSkpcmV0dXJuO2xldHtuYW1lOnQsc2l6ZTpufT1lO2lmKCEodHlwZW9mIHQhPWBzdHJpbmdgfHx0Lmxlbmd0aD5KbikpcmV0dXJue25hbWU6dD09PWBgP1luOnQsc2l6ZTokbihuKT9uOjB9fWZ1bmN0aW9uIG5yKGUpe2lmKCFRbihlKSlyZXR1cm47bGV0e2lkOnQsYXQ6bix0ZXh0OnIsZmlsZXM6aSxzdGF0dXM6YSxyZWNlaXB0Om8scHJvb2Y6cyxzaXplOmN9PWU7aWYodHlwZW9mIHQhPWBzdHJpbmdgfHwhS24udGVzdCh0KXx8ISRuKG4pfHwhJG4oYyl8fHR5cGVvZiByIT1gc3RyaW5nYHx8ci5sZW5ndGg-cW58fCFBcnJheS5pc0FycmF5KGkpKXJldHVybjtsZXQgbD1bXTtmb3IobGV0IGUgb2YgaS5zbGljZSgwLFhuKSl7bGV0IHQ9dHIoZSk7dCE9PXZvaWQgMCYmbC5wdXNoKHQpfWlmKGEhPT12b2lkIDAmJih0eXBlb2YgYSE9YHN0cmluZ2B8fCFabi5oYXMoYSkpKXJldHVybjtsZXQgdT17aWQ6dCxhdDpuLHRleHQ6cixmaWxlczpsLHJlY2VpcHQ6bz09PSEwLHByb29mOnM9PT0hMCxzaXplOmN9O3JldHVybiBhPT09dm9pZCAwP3U6ey4uLnUsc3RhdHVzOmF9fWZ1bmN0aW9uIHJyKGUpe2lmKCFRbihlKXx8IUFycmF5LmlzQXJyYXkoZS5jb252ZXJzYXRpb25zKSlyZXR1cm47bGV0IHQ9W107Zm9yKGxldCBuIG9mIGUuY29udmVyc2F0aW9ucyl7bGV0IGU9ZXIobik7ZSE9PXZvaWQgMCYmdC5wdXNoKGUpfXJldHVybiB0fWZ1bmN0aW9uIGlyKGUpe2lmKCFRbihlKXx8IUFycmF5LmlzQXJyYXkoZS5pdGVtcykpcmV0dXJuO2xldCB0PWUubmV4dDtpZih0IT1udWxsJiYodHlwZW9mIHQhPWBzdHJpbmdgfHx0Lmxlbmd0aD09PTB8fHQubGVuZ3RoPjI1NikpcmV0dXJuO2xldCBuPVtdO2ZvcihsZXQgdCBvZiBlLml0ZW1zKXtsZXQgZT1ucih0KTtlIT09dm9pZCAwJiZuLnB1c2goZSl9cmV0dXJuIHR5cGVvZiB0PT1gc3RyaW5nYD97aXRlbXM6bixuZXh0OnR9OntpdGVtczpufX1mdW5jdGlvbiBhcihlKXtzd2l0Y2goZS5raW5kKXtjYXNlYG9mZmxpbmVgOnJldHVybmBvZmZsaW5lYDtjYXNlYHNlc3Npb25fZXhwaXJlZGA6Y2FzZWBmb3JiaWRkZW5gOnJldHVybmBzZXNzaW9uYDtjYXNlYGVycm9yYDpyZXR1cm4gZS5zdGF0dXM9PT00MDk_YG5vdF9zZXRfdXBgOmBlcnJvcmA7ZGVmYXVsdDpyZXR1cm5gZXJyb3JgfX1mdW5jdGlvbiBvcihlKXtyZXR1cm57YXN5bmMgY29udmVyc2F0aW9ucygpe2xldCB0PWF3YWl0IGUuZ2V0KGAvYXBpL3VpL21lc3NhZ2VzYCk7aWYodC5raW5kIT09YG9rYClyZXR1cm57b2s6ITEscHJvYmxlbTphcih0KX07bGV0IG49cnIodC5kYXRhKTtyZXR1cm4gbj09PXZvaWQgMD97b2s6ITEscHJvYmxlbTpgZXJyb3JgfTp7b2s6ITAsdmFsdWU6bn19LGFzeW5jIG1lc3NhZ2VzKHQsbixyKXtsZXQgaT1gP2JveD0ke259JmxpbWl0PTIwJHtyPT09dm9pZCAwP2BgOmAmY3Vyc29yPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHIpfWB9YCxhPWF3YWl0IGUuZ2V0KGAvYXBpL3VpL21lc3NhZ2VzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHQpfSR7aX1gKTtpZihhLmtpbmQhPT1gb2tgKXJldHVybntvazohMSxwcm9ibGVtOmFyKGEpfTtsZXQgbz1pcihhLmRhdGEpO3JldHVybiBvPT09dm9pZCAwP3tvazohMSxwcm9ibGVtOmBlcnJvcmB9OntvazohMCx2YWx1ZTpvfX19fXZhciBzcj1gYWdlbnRsaW5rLm1lc3NhZ2VzLnNlZW4udjFgLGNyPWBhZ2VudGxpbms6bWVzc2FnZXMtc2VlbmA7ZnVuY3Rpb24gbHIoKXt0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oc3IpO2lmKGU9PT1udWxsKXJldHVybnt9O2xldCB0PUpTT04ucGFyc2UoZSk7aWYodHlwZW9mIHQhPWBvYmplY3RgfHwhdHx8QXJyYXkuaXNBcnJheSh0KSlyZXR1cm57fTtsZXQgbj17fTtmb3IobGV0W2Uscl1vZiBPYmplY3QuZW50cmllcyh0KSl0eXBlb2Ygcj09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKHIpJiZyPj0wJiYobltlXT1yKTtyZXR1cm4gbn1jYXRjaHtyZXR1cm57fX19ZnVuY3Rpb24gdXIoZSx0KXtsZXQgbj1scigpO2lmKChuW2VdPz8tMSk-PXQpcmV0dXJuIG47bGV0IHI9ey4uLm4sW2VdOnR9O3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzcixKU09OLnN0cmluZ2lmeShyKSksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KGNyKSl9Y2F0Y2h7fXJldHVybiByfWZ1bmN0aW9uIGRyKGUsdCl7cmV0dXJuIGUuZmlsdGVyKGU9PmUubGFzdEluQXQ-KHRbZS5jb250YWN0SWRdPz8wKSkubGVuZ3RofXZhciBmcj1uZXcgU2V0KFtgL2ZpcnN0LXJ1bmBdKTtmdW5jdGlvbiBwcihlLHQpe2xldFtuLHJdPSgwLGwudXNlU3RhdGUpKFtdKSxbaSxhXT0oMCxsLnVzZVN0YXRlKSgwKSxbLG9dPSgwLGwudXNlU3RhdGUpKDApO3JldHVybigwLGwudXNlRWZmZWN0KSgoKT0-e2lmKGZyLmhhcyhlKSlyZXR1cm47bGV0IG49ITA7cmV0dXJuIHQ9PT12b2lkIDA_b3IoR24oKSkuY29udmVyc2F0aW9ucygpLnRoZW4oZT0-biYmcihlLm9rP2UudmFsdWU6W10pLCgpPT5uJiZyKFtdKSk6dCgpLnRoZW4oZT0-biYmYShlKSwoKT0-biYmYSgwKSksKCk9PntuPSExfX0sW2UsdF0pLCgwLGwudXNlRWZmZWN0KSgoKT0-e2xldCBlPSgpPT5vKGU9PmUrMSk7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGNyLGUpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihjcixlKX0sW10pLHQ9PT12b2lkIDA_ZHIobixscigpKTppfWZ1bmN0aW9uIG1yKCl7aWYodHlwZW9mIG5hdmlnYXRvcj5gdWApcmV0dXJuYG90aGVyYDtsZXQgZT1uYXZpZ2F0b3IudXNlckFnZW50RGF0YSx0PXR5cGVvZiBlPy5wbGF0Zm9ybT09YHN0cmluZ2A_ZS5wbGF0Zm9ybTpuYXZpZ2F0b3IudXNlckFnZW50O3JldHVybi9tYWMvaS50ZXN0KHQpP2BtYWNgOi93aW4vaS50ZXN0KHQpP2B3aW5kb3dzYDpgb3RoZXJgfWFzeW5jIGZ1bmN0aW9uIGhyKCl7aWYoIXZyKCkpcmV0dXJuYG5vYDtsZXQgZT13aW5kb3cuUHVibGljS2V5Q3JlZGVudGlhbDt0cnl7aWYodHlwZW9mIGUuaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlPT1gZnVuY3Rpb25gJiYhYXdhaXQgZS5pc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUoKSlyZXR1cm5gbm9gO2lmKHR5cGVvZiBlLmdldENsaWVudENhcGFiaWxpdGllcz09YGZ1bmN0aW9uYCl7bGV0IHQ9YXdhaXQgZS5nZXRDbGllbnRDYXBhYmlsaXRpZXMoKTtpZih0W2BleHRlbnNpb246cHJmYF09PT0hMSlyZXR1cm5gbm9gO2lmKHRbYGV4dGVuc2lvbjpwcmZgXT09PSEwKXJldHVybmB5ZXNgfX1jYXRjaHtyZXR1cm5gdW5rbm93bmB9cmV0dXJuYHVua25vd25gfWZ1bmN0aW9uIGdyKGUpe2xldCB0PWUucmVwbGFjZSgvLS9nLGArYCkucmVwbGFjZSgvXy9nLGAvYCksbj1hdG9iKHQrYD1gLnJlcGVhdCgoNC10Lmxlbmd0aCU0KSU0KSkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKz0xKXJbZV09bi5jaGFyQ29kZUF0KGUpO3JldHVybiByfWZ1bmN0aW9uIF9yKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUucmVkdWNlKChlLHQpPT5lKzIrdC5sZW5ndGgsMCkpLG49MDtmb3IobGV0IHIgb2YgZSl7aWYoci5sZW5ndGg-NjU1MzUpdGhyb3cgRXJyb3IoYGZpZWxkIHRvbyBsb25nYCk7dFtuXT1yLmxlbmd0aD4-OCx0W24rMV09ci5sZW5ndGgmMjU1LHQuc2V0KHIsbisyKSxuKz0yK3IubGVuZ3RofXJldHVybiB0fWZ1bmN0aW9uIHZyKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ0eXBlb2Ygd2luZG93LlB1YmxpY0tleUNyZWRlbnRpYWw9PWBmdW5jdGlvbmAmJnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IuY3JlZGVudGlhbHMhPT12b2lkIDAmJnR5cGVvZiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlPT1gZnVuY3Rpb25gfWZ1bmN0aW9uIHlyKGUpe3JldHVybiBlPT09dm9pZCAwP25ldyBVaW50OEFycmF5OmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9uZXcgVWludDhBcnJheShlLnNsaWNlKDApKTpuZXcgVWludDhBcnJheShlLmJ1ZmZlci5zbGljZShlLmJ5dGVPZmZzZXQsZS5ieXRlT2Zmc2V0K2UuYnl0ZUxlbmd0aCkpfWFzeW5jIGZ1bmN0aW9uIGJyKGUsdD17cGxhdGZvcm06ITB9KXtpZighdnIoKSlyZXR1cm57a2luZDpgdW5zdXBwb3J0ZWRgfTtsZXQgbjt0cnl7bj1hd2FpdCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKHtwdWJsaWNLZXk6e3JwOntpZDplLnJwSWQsbmFtZTplLnJwTmFtZX0sdXNlcjp7aWQ6Z3IoZS51c2VySWQpLG5hbWU6ZS51c2VyTmFtZSxkaXNwbGF5TmFtZTplLnVzZXJOYW1lfSxjaGFsbGVuZ2U6Z3IoZS5jaGFsbGVuZ2UpLHB1YktleUNyZWRQYXJhbXM6W3t0eXBlOmBwdWJsaWMta2V5YCxhbGc6LTd9LHt0eXBlOmBwdWJsaWMta2V5YCxhbGc6LTI1N31dLGF1dGhlbnRpY2F0b3JTZWxlY3Rpb246ey4uLnQucGxhdGZvcm0_e2F1dGhlbnRpY2F0b3JBdHRhY2htZW50OmBwbGF0Zm9ybWB9Ont9LHJlc2lkZW50S2V5OmByZXF1aXJlZGAsdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgfSwuLi50LnBsYXRmb3JtP3toaW50czpbYGNsaWVudC1kZXZpY2VgXX06e30sYXR0ZXN0YXRpb246YG5vbmVgLGV4dGVuc2lvbnM6e3ByZjp7ZXZhbDp7Zmlyc3Q6Z3IoZS5wcmZTYWx0KX19fX19KX1jYXRjaChlKXtsZXQgdD1lPy5uYW1lO3JldHVybiB0PT09YE5vdFN1cHBvcnRlZEVycm9yYHx8dD09PWBTZWN1cml0eUVycm9yYD97a2luZDpgdW5zdXBwb3J0ZWRgfTp7a2luZDpgY2FuY2VsbGVkYH19aWYobj09PW51bGx8fCEobiBpbnN0YW5jZW9mIFB1YmxpY0tleUNyZWRlbnRpYWwpKXJldHVybntraW5kOmBjYW5jZWxsZWRgfTtsZXQgcj1uLnJlc3BvbnNlO2lmKHR5cGVvZiByLmdldEF1dGhlbnRpY2F0b3JEYXRhIT1gZnVuY3Rpb25gKXJldHVybntraW5kOmB1bnN1cHBvcnRlZGB9O2xldCBpPXlyKG4uZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLnByZj8ucmVzdWx0cz8uZmlyc3QpO3RyeXtyZXR1cm57a2luZDpgb2tgLGJvZHk6X3IoW25ldyBVaW50OEFycmF5KG4ucmF3SWQpLG5ldyBVaW50OEFycmF5KHIuZ2V0QXV0aGVudGljYXRvckRhdGEoKSksbmV3IFVpbnQ4QXJyYXkoci5jbGllbnREYXRhSlNPTiksaS5sZW5ndGg9PT0zMj9pOm5ldyBVaW50OEFycmF5XSl9fWZpbmFsbHl7aS5maWxsKDApfX1mdW5jdGlvbiB4cigpe2xldCBlPW5ldyBVaW50OEFycmF5KDMyKTtyZXR1cm4gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhlKSxlfWZ1bmN0aW9uIFNyKGUpe2xldCB0PWU_Lm5hbWU7cmV0dXJuIHQ9PT1gTm90U3VwcG9ydGVkRXJyb3JgfHx0PT09YFNlY3VyaXR5RXJyb3JgP3traW5kOmB1bnN1cHBvcnRlZGB9OntraW5kOmBjYW5jZWxsZWRgfX1hc3luYyBmdW5jdGlvbiBDcihlLHQ9e3BsYXRmb3JtOiEwfSl7aWYoIXZyKCkpcmV0dXJue2tpbmQ6YHVuc3VwcG9ydGVkYH07bGV0IG49Z3IoZS51c2VySWQpLHI9e3ByZjp7ZXZhbDp7Zmlyc3Q6Z3IoZS5wcmZTYWx0KX19fSxpO3RyeXtpPWF3YWl0IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoe3B1YmxpY0tleTp7cnA6e2lkOmUucnBJZCxuYW1lOmBBZ2VudExpbmtgfSx1c2VyOntpZDpuLG5hbWU6YEFnZW50TGluayBvd25lcmAsZGlzcGxheU5hbWU6YEFnZW50TGluayBvd25lcmB9LGNoYWxsZW5nZTp4cigpLHB1YktleUNyZWRQYXJhbXM6W3t0eXBlOmBwdWJsaWMta2V5YCxhbGc6LTd9LHt0eXBlOmBwdWJsaWMta2V5YCxhbGc6LTI1N31dLGF1dGhlbnRpY2F0b3JTZWxlY3Rpb246ey4uLnQucGxhdGZvcm0_e2F1dGhlbnRpY2F0b3JBdHRhY2htZW50OmBwbGF0Zm9ybWB9Ont9LHJlc2lkZW50S2V5OmByZXF1aXJlZGAsdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgfSwuLi50LnBsYXRmb3JtP3toaW50czpbYGNsaWVudC1kZXZpY2VgXX06e30sYXR0ZXN0YXRpb246YG5vbmVgLGV4dGVuc2lvbnM6cn19KX1jYXRjaChlKXtyZXR1cm4gU3IoZSl9aWYoaT09PW51bGx8fCEoaSBpbnN0YW5jZW9mIFB1YmxpY0tleUNyZWRlbnRpYWwpKXJldHVybntraW5kOmBjYW5jZWxsZWRgfTtsZXQgYT1pLnJlc3BvbnNlO2lmKHR5cGVvZiBhLmdldEF1dGhlbnRpY2F0b3JEYXRhIT1gZnVuY3Rpb25gKXJldHVybntraW5kOmB1bnN1cHBvcnRlZGB9O2xldCBvPWkuZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLHM9eXIoby5wcmY_LnJlc3VsdHM_LmZpcnN0KTt0cnl7aWYocy5sZW5ndGg9PT0zMilyZXR1cm57a2luZDpgb2tgLGJvZHk6X3IoW25ldyBVaW50OEFycmF5KGkucmF3SWQpLG5ldyBVaW50OEFycmF5KGEuZ2V0QXV0aGVudGljYXRvckRhdGEoKSksbixzXSl9fWZpbmFsbHl7cy5maWxsKDApfWlmKG8ucHJmPy5lbmFibGVkIT09ITApcmV0dXJue2tpbmQ6YHVuc3VwcG9ydGVkYH07bGV0IGM7dHJ5e2M9YXdhaXQgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldCh7cHVibGljS2V5OntjaGFsbGVuZ2U6eHIoKSxycElkOmUucnBJZCxhbGxvd0NyZWRlbnRpYWxzOlt7dHlwZTpgcHVibGljLWtleWAsaWQ6bmV3IFVpbnQ4QXJyYXkoaS5yYXdJZCl9XSx1c2VyVmVyaWZpY2F0aW9uOmByZXF1aXJlZGAsZXh0ZW5zaW9uczpyfX0pfWNhdGNoKGUpe3JldHVybiBTcihlKX1pZihjPT09bnVsbHx8IShjIGluc3RhbmNlb2YgUHVibGljS2V5Q3JlZGVudGlhbCkpcmV0dXJue2tpbmQ6YGNhbmNlbGxlZGB9O2xldCBsPWMucmVzcG9uc2UsdT15cihjLmdldENsaWVudEV4dGVuc2lvblJlc3VsdHMoKS5wcmY_LnJlc3VsdHM_LmZpcnN0KTt0cnl7cmV0dXJuIHUubGVuZ3RoPT09MzI_e2tpbmQ6YG9rYCxib2R5Ol9yKFtuZXcgVWludDhBcnJheShjLnJhd0lkKSxuZXcgVWludDhBcnJheShsLmF1dGhlbnRpY2F0b3JEYXRhKSxsLnVzZXJIYW5kbGU9PT1udWxsP246bmV3IFVpbnQ4QXJyYXkobC51c2VySGFuZGxlKSx1LG5ldyBVaW50OEFycmF5KGEuZ2V0QXV0aGVudGljYXRvckRhdGEoKSldKX06e2tpbmQ6YHVuc3VwcG9ydGVkYH19ZmluYWxseXt1LmZpbGwoMCl9fWZ1bmN0aW9uIHdyKGUsdCl7aWYoZS5sZW5ndGg9PT0wfHxlLmxlbmd0aD4xMDI0KXRocm93IEVycm9yKGBjb2RlIGxlbmd0aGApO2xldCBuPW5ldyBVaW50OEFycmF5KDIrZS5sZW5ndGgrdC5sZW5ndGgpO3JldHVybiBuWzBdPWUubGVuZ3RoPj44LG5bMV09ZS5sZW5ndGgmMjU1LG4uc2V0KGUsMiksbi5zZXQodCwyK2UubGVuZ3RoKSxufXZhciBUcj1gL2FwaS91aS9maXJzdC1ydW5gLEVyPWAvYXBpL3VpL2ZpcnN0LXJ1bi9vd25lci9iZWdpbmAsRHI9YC9hcGkvdWkvZmlyc3QtcnVuL293bmVyL2ZpbmlzaGAsT3I9YFgtQWdlbnRMaW5rLUNTUkZgLGtyPWB0aGlzIGNvbXB1dGVyYCxBcj1uZXcgU2V0KFtgYWxsb3dlZGAsYG5vdF9jb25maXJtZWRgLGBub3RfYWxsb3dlZGBdKSxqcj1uZXcgU2V0KFtgZm9sZGVyX25vdF9lbXB0eWAsYGZvbGRlcl91bmF2YWlsYWJsZWBdKSxNcj0vXltBLVphLXowLTkgLl8tXXsxLDYzfSQvLE5yPW5ldyBTZXQoW2BleHBpcmVkYCxgbm90X3BlbmRpbmdgLGBidXN5YCxgd2FpdGAsYHByZXNlbmNlX3JlcXVpcmVkYCxgcHJlc2VuY2VfcmVqZWN0ZWRgLGBpbnZhbGlkYCxgdW5hdmFpbGFibGVgXSksUHI9bmV3IFNldChbYHJvbGxlZF9iYWNrYCxga2V5Y2hhaW5gLGBjaGVja19mYWlsZWRgLGBpbnRlcm5hbGBdKSxGcj0vXltBLVphLXowLTlfLV17MSwyMDQ4fSQvLElyPS9eW0EtWjAtOV17NH0oIFtBLVowLTldezR9KXsxLDE1fSQvLExyPS9eWzAtOUEtRl17NH0owrdbMC05QS1GXXs0fSl7MSw3fSQvO2Z1bmN0aW9uIFJyKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD5gdWA_YGA6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtuYW1lPSJhZ2VudGxpbmstY3NyZiJdYCk_LmdldEF0dHJpYnV0ZShgY29udGVudGApPz9gYH12YXIgenI9ZT0-dHlwZW9mIGU9PWBzdHJpbmdgP2U6dm9pZCAwO2Z1bmN0aW9uIEJyKGUpe2xldCB0PXpyKGUuanNvbj8uc3RhdHVzKTtpZih0PT09YGZvbGRlcl9yZWZ1c2VkYCl7bGV0IHQ9enIoZS5qc29uPy5yZWFzb24pO3JldHVybntraW5kOmBlcnJvcmAscHJvYmxlbTp0IT09dm9pZCAwJiZqci5oYXModCk_dDpgZm9sZGVyX3VuYXZhaWxhYmxlYH19aWYodD09PWBmYWlsZWRgKXtsZXQgdD16cihlLmpzb24_LnJlYXNvbik7cmV0dXJue2tpbmQ6YGVycm9yYCxwcm9ibGVtOnQhPT12b2lkIDAmJlByLmhhcyh0KT90OmBpbnRlcm5hbGB9fWlmKHQ9PT1gd2FpdGApe2xldCB0PWUuanNvbj8ucmV0cnlBZnRlcjtyZXR1cm57a2luZDpgZXJyb3JgLHByb2JsZW06YHdhaXRgLHJldHJ5QWZ0ZXI6dHlwZW9mIHQ9PWBudW1iZXJgJiZOdW1iZXIuaXNTYWZlSW50ZWdlcih0KSYmdD4wJiZ0PD04NjQwMD90OjF9fXJldHVybiB0IT09dm9pZCAwJiZOci5oYXModCk_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOnR9OmUuc3RhdHVzPT09NDAxP3traW5kOmBlcnJvcmAscHJvYmxlbTpgc2Vzc2lvbl9leHBpcmVkYH06ZS5zdGF0dXM9PT00MDM_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOmBmb3JiaWRkZW5gfTp7a2luZDpgZXJyb3JgLHByb2JsZW06YHVua25vd25gfX1mdW5jdGlvbiBWcihlKXtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlKXJldHVybjtsZXQgdD1lLG49enIodC5ycElkKSxyPXpyKHQucnBOYW1lKSxpPXpyKHQudXNlck5hbWUpLGE9enIodC51c2VySWQpLG89enIodC5jaGFsbGVuZ2UpLHM9enIodC5wcmZTYWx0KTtpZighKG4hPT1gbG9jYWxob3N0YHx8cj09PXZvaWQgMHx8ci5sZW5ndGg-NjR8fGk9PT12b2lkIDB8fGkubGVuZ3RoPjY0fHxhPT09dm9pZCAwfHwhRnIudGVzdChhKXx8bz09PXZvaWQgMHx8IUZyLnRlc3Qobyl8fHM9PT12b2lkIDB8fCFGci50ZXN0KHMpKSlyZXR1cm57cnBJZDpuLHJwTmFtZTpyLHVzZXJJZDphLHVzZXJOYW1lOmksY2hhbGxlbmdlOm8scHJmU2FsdDpzfX1hc3luYyBmdW5jdGlvbiBIcihlLHQsbixyLGkpe2xldCBhPW5ldyBIZWFkZXJzKHtbT3JdOnQ_P1JyKCl9KSxvPXttZXRob2Q6bixoZWFkZXJzOmEsY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSxzO249PT1gUE9TVGAmJihhLnNldChgY29udGVudC10eXBlYCxgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCkscz1pPT09dm9pZCAwP25ldyBVaW50OEFycmF5Om5ldyBVaW50OEFycmF5KGkpLG8uYm9keT1zKTtsZXQgYzt0cnl7Yz1hd2FpdCBlKHIsbyl9Y2F0Y2h7cmV0dXJuYG9mZmxpbmVgfWZpbmFsbHl7cz8uZmlsbCgwKX1sZXQgbDt0cnl7bGV0IGU9YXdhaXQgYy5qc29uKCk7bD10eXBlb2YgZT09YG9iamVjdGAmJmUmJiFBcnJheS5pc0FycmF5KGUpP2U6dm9pZCAwfWNhdGNoe2w9dm9pZCAwfXJldHVybntzdGF0dXM6Yy5zdGF0dXMsanNvbjpsfX1mdW5jdGlvbiBVcihlPXt9KXtsZXQgdD1lLmZldGNoPz8oKGUsdCk9Pmdsb2JhbFRoaXMuZmV0Y2goZSx0KSksbj0obixyLGkpPT5Icih0LGUudG9rZW4sbixyLGkpO3JldHVybnthc3luYyBzdGF0dXMoKXtsZXQgZT1hd2FpdCBuKGBHRVRgLFRyKTtpZihlPT09YG9mZmxpbmVgKXJldHVybntraW5kOmBlcnJvcmAscHJvYmxlbTpgb2ZmbGluZWB9O2lmKGUuc3RhdHVzIT09MjAwKXJldHVybiBCcihlKTtsZXQgdD16cihlLmpzb24_Lm93bmVyKTtyZXR1cm57a2luZDpgb2tgLG93bmVyOnQ9PT1gbWlzc2luZ2B8fHQ9PT1gc2V0X3VwYD90OmB1bmtub3duYH19LGFzeW5jIGJlZ2luKCl7bGV0IGU9YXdhaXQgbihgUE9TVGAsRXIpO2lmKGU9PT1gb2ZmbGluZWApcmV0dXJue2tpbmQ6YGVycm9yYCxwcm9ibGVtOmBvZmZsaW5lYH07bGV0IHQ9enIoZS5qc29uPy5zdGF0dXMpO2lmKHQ9PT1gb3duZXJfZXhpc3RzYClyZXR1cm57a2luZDpgb3duZXJfZXhpc3RzYH07aWYoZS5zdGF0dXM9PT0yMDAmJnQ9PT1gcmVhZHlgKXtsZXQgdD1WcihlLmpzb24_LnB1YmxpY0tleSk7cmV0dXJuIHQ9PT12b2lkIDA_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOmB1bmtub3duYH06e2tpbmQ6YHJlYWR5YCxwdWJsaWNLZXk6dH19cmV0dXJuIEJyKGUpfSxhc3luYyBmaW5pc2goZSl7bGV0IHQ9YXdhaXQgbihgUE9TVGAsRHIsZSk7aWYodD09PWBvZmZsaW5lYClyZXR1cm57a2luZDpgZXJyb3JgLHByb2JsZW06YG9mZmxpbmVgfTtsZXQgcj16cih0Lmpzb24_LnN0YXR1cyk7aWYocj09PWBvd25lcl9leGlzdHNgKXJldHVybntraW5kOmBvd25lcl9leGlzdHNgfTtpZih0LnN0YXR1cz09PTIwMCYmKHI9PT1gZG9uZWB8fHI9PT1gZG9uZV91bmNvbmZpcm1lZGApKXtsZXQgZT16cih0Lmpzb24_Lm93bmVyQ29kZSksbj16cih0Lmpzb24_LmZpbmdlcnByaW50KSxpPXQuanNvbj8ucGFzc2tleTtpZihlPT09dm9pZCAwfHwhSXIudGVzdChlKXx8bj09PXZvaWQgMHx8IUxyLnRlc3Qobil8fHR5cGVvZiBpIT1gYm9vbGVhbmApcmV0dXJue2tpbmQ6YGVycm9yYCxwcm9ibGVtOmB1bmtub3duYH07bGV0IGE9enIodC5qc29uPy5zZW5kRm9sZGVyKSxvPXpyKHQuanNvbj8uY29tcHV0ZXJOYW1lKTtyZXR1cm57a2luZDpgZG9uZWAsY29uZmlybWVkOnI9PT1gZG9uZWAscGFzc2tleTppLG93bmVyQ29kZTplLGZpbmdlcnByaW50Om4sc2VuZEZvbGRlcjphIT09dm9pZCAwJiZBci5oYXMoYSk_YTpgbm9uZWAsY29tcHV0ZXJOYW1lOm8hPT12b2lkIDAmJk1yLnRlc3Qobyk_bzprcn19cmV0dXJuIEJyKHQpfX19dmFyIFdyPWAvYXBpL293bmVyL3Bhc3NrZXlgLEdyPW5ldyBTZXQoW2BwcmVzZW5jZV9yZXF1aXJlZGAsYHByZXNlbmNlX3JlamVjdGVkYCxgcGFzc2tleV9leGlzdHNgLGBwYXNza2V5X3Vuc3VwcG9ydGVkYCxgYnVzeWAsYG5lZWRzX3NldHVwYCxgZmFpbGVkYF0pO2Z1bmN0aW9uIEtyKGU9e30pe2xldCB0PWUuZmV0Y2g_PygoZSx0KT0-Z2xvYmFsVGhpcy5mZXRjaChlLHQpKTtyZXR1cm57YXN5bmMgaW5mbygpe2xldCBuPWF3YWl0IEhyKHQsZS50b2tlbixgR0VUYCxXcik7aWYobj09PWBvZmZsaW5lYClyZXR1cm57a2luZDpgZXJyb3JgLHByb2JsZW06YG9mZmxpbmVgfTtpZihuLnN0YXR1cz09PTUwMylyZXR1cm57a2luZDpgbmVlZHNfc2V0dXBgfTtpZihuLnN0YXR1cyE9PTIwMClyZXR1cm4gQnIobik7bGV0IHI9bi5qc29uPy5wYXNza2V5LGk9dHlwZW9mIHI9PWBvYmplY3RgJiZyP3I6dm9pZCAwLGE9enIoaT8udXNlcklkKSxvPXpyKGk_LnByZlNhbHQpLHM9aT8ucmVnaXN0ZXJlZDtyZXR1cm4gaT8ucnBJZCE9PWBsb2NhbGhvc3RgfHx0eXBlb2YgcyE9YGJvb2xlYW5gfHxhPT09dm9pZCAwfHwhRnIudGVzdChhKXx8bz09PXZvaWQgMHx8IUZyLnRlc3Qobyk_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOmB1bmtub3duYH06e2tpbmQ6YG9rYCxyZWdpc3RlcmVkOnMsdmFsdWVzOntycElkOmBsb2NhbGhvc3RgLHVzZXJJZDphLHByZlNhbHQ6b319fSxhc3luYyByZWdpc3RlcihuKXtsZXQgcj1hd2FpdCBIcih0LGUudG9rZW4sYFBPU1RgLFdyLG4pO2lmKHI9PT1gb2ZmbGluZWApcmV0dXJue2tpbmQ6YGVycm9yYCxwcm9ibGVtOmBvZmZsaW5lYH07bGV0IGk9enIoci5qc29uPy5zdGF0dXMpO2lmKHIuc3RhdHVzPT09MjAwJiZpPT09YHJlZ2lzdGVyZWRgKXJldHVybntraW5kOmByZWdpc3RlcmVkYH07aWYoaT09PWB3YWl0YCl7bGV0IGU9ci5qc29uPy5yZXRyeUFmdGVyO3JldHVybntraW5kOmBlcnJvcmAscHJvYmxlbTpgd2FpdGAscmV0cnlBZnRlcjp0eXBlb2YgZT09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGUpJiZlPjAmJmU8PTg2NDAwP2U6MX19cmV0dXJuIGkhPT12b2lkIDAmJkdyLmhhcyhpKT97a2luZDpgZXJyb3JgLHByb2JsZW06aX06ci5zdGF0dXM9PT00MDE_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOmBzZXNzaW9uX2V4cGlyZWRgfTpyLnN0YXR1cz09PTQwMz97a2luZDpgZXJyb3JgLHByb2JsZW06YGZvcmJpZGRlbmB9OntraW5kOmBlcnJvcmAscHJvYmxlbTpgdW5rbm93bmB9fX19dmFyIHFyPVtgUHJvdGVjdCBhcHByb3ZhbHNgLGBCYWNrdXAgY29kZWAsYFJlY292ZXJ5IGtpdGAsYFJlYWR5YF0sSnI9e21hYzpgVG91Y2ggSURgLHdpbmRvd3M6YFdpbmRvd3MgSGVsbG9gLG90aGVyOmB5b3VyIHBhc3NrZXlgfSxZcj17bWFjOmBTYWZhcmlgLHdpbmRvd3M6YENocm9tZSBvciBFZGdlYCxvdGhlcjpgQ2hyb21lYH0sRj17c3RlcE9mOmU9PmBTdGVwICR7U3RyaW5nKGUpfSBvZiAke1N0cmluZyhxci5sZW5ndGgpfWAsbG9hZGluZzpgQ2hlY2tpbmcgdGhpcyBjb21wdXRlcuKApmAscHJvdGVjdFRpdGxlOmBQcm90ZWN0IHlvdXIgYXBwcm92YWxzYCxwcm90ZWN0Qm9keTplPT5gQXBwcm92YWxzIG5lZWQgeW91OiBlYWNoIGFwcHJvdmFsLCBvciBlYWNoIGxpc3Qgb2YgYXBwcm92YWxzIHlvdSByZXZpZXcgdG9nZXRoZXIsIGFza3MgZm9yICR7ZX0gKG9yIHlvdXIgYmFja3VwIGNvZGUpLCBhbmQgb25seSBhZnRlciB5b3UgY2xpY2sgQXBwcm92ZS4gTmV2ZXIgZ2l2ZSB5b3VyIGJhY2t1cCBjb2RlIHRvIHlvdXIgQUkuYCxmb2xkZXJzVGl0bGU6YFlvdXIgZm9sZGVyc2AsZm9sZGVyczpbW2BTZW5kIGZyb21gLGB-L0FnZW50TGluay9TZW5kYF0sW2BSZWNlaXZlIGludG9gLGB-L0FnZW50TGluay9JbmJveGBdLFtgUHJvb2ZzIGluYCxgfi9BZ2VudExpbmsvUHJvb2ZzYF1dLGZvbGRlcnNOb3RlOmBPbmUgY29uZmlybWF0aW9uIHByb3RlY3RzIGFwcHJvdmFscywgc2V0cyB1cCB0aGlzIGFnZW50IGFuZCBsZXRzIHlvdXIgQUkgc2VuZCBmaWxlcyB5b3UgcHV0IGluIHRoZSBTZW5kIGZvbGRlci4gQ2hhbmdpbmcgZm9sZGVycyBpcyBvcHRpb25hbCwgbGF0ZXIgaW4gRmlsZXMuYCx1c2VUb3VjaElkOmBVc2UgVG91Y2ggSURgLHVzZVdpbmRvd3NIZWxsbzpgVXNlIFdpbmRvd3MgSGVsbG9gLHVzZVBhc3NrZXk6YFVzZSBhIHBhc3NrZXlgLHBhc3NrZXlOb3RlOmBZb3VyIGJyb3dzZXIgc2hvd3MgaXRzIG93biBkaWFsb2cgZm9yIFRvdWNoIElELCBXaW5kb3dzIEhlbGxvIG9yIHlvdXIgcGFzc2tleS4gQWdlbnRMaW5rIG5ldmVyIGRyYXdzIHRoYXQgZGlhbG9nLmAsbm9QcmY6KGUsdCk9PmAke2V9IGRvZXNuJ3Qgd29yayBpbiB0aGlzIGJyb3dzZXIgZm9yIEFnZW50TGluay4gT3BlbiB0aGlzIHBhZ2UgaW4gJHt0fSB0byB1c2UgaXQsIG9yIGNvbnRpbnVlIHdpdGggYSBiYWNrdXAgY29kZSBvbmx5LmAsYmFja3VwT25seTpgQ29udGludWUgd2l0aCBhIGJhY2t1cCBjb2RlIG9ubHlgLGRlc2t0b3BUaXA6YFRpcDogdGhlIGRlc2t0b3AgYXBwIChjb21pbmcgc29vbikgcHJvdGVjdHMgYXBwcm92YWxzIG1vcmUgc3Ryb25nbHkuYCx3YWl0aW5nOmBXYWl0aW5nIGZvciB5b3VyIHBhc3NrZXnigKZgLHVudGlsVGl0bGU6YFVudGlsIHRoaXMgaXMgZG9uZWAsdW50aWxCb2R5OmBZb3VyIGFnZW50IGNhbiBzZW5kIGFuZCByZWNlaXZlIG1lc3NhZ2VzLCBidXQgYW55dGhpbmcgdGhhdCBuZWVkcyB5b3Ugd2FpdHMgaGVyZTogbmV3IGNvbnRhY3RzLCBwcm9vZnMgeW91ciBydWxlcyBhc2sgYWJvdXQsIGZvbGRlciBhY2Nlc3MsIGRvY3VtZW50IGtleXMgYW5kIGFjY2VwdGluZyB0ZXJtcy5gLGJhY2t1cFRpdGxlOmBZb3VyIGJhY2t1cCBjb2RlYCxkb25lQm9keTpgQXBwcm92YWxzIG9uIHRoaXMgY29tcHV0ZXIgYXJlIHByb3RlY3RlZC5gLGRvbmVOb1Bhc3NrZXlCb2R5OmBUaGlzIGJyb3dzZXIgY2FuJ3QgcHJvdGVjdCBhcHByb3ZhbHMgd2l0aCBhIHBhc3NrZXkgaGVyZSwgc28gdGhpcyBiYWNrdXAgY29kZSBpcyBob3cgeW91IGFwcHJvdmUgb24gdGhpcyBjb21wdXRlci5gLGJhY2t1cEJvZHk6ZT0-YFRoaXMgb3BlbnMgeW91ciBhcHByb3ZhbHMgaWYgJHtlfSBpc24ndCBhdmFpbGFibGUuIE5ldmVyIGdpdmUgaXQgdG8geW91ciBBSS5gLGJhY2t1cExvc3Q6YExvc3QgaXQ_IFlvdSBjYW4ndCBnZXQgdGhpcyBjb2RlIGJhY2suIFlvdXIgcmVjb3Zlcnkga2l0IHJlc3RvcmVzIGV2ZXJ5dGhpbmcgaW5zdGVhZC5gLHNhdmVUb01hbmFnZXI6YFNhdmUgaW4gbXkgcGFzc3dvcmQgbWFuYWdlcmAsc2F2ZUFza2VkOmBJZiB5b3VyIGJyb3dzZXIgb3IgcGFzc3dvcmQgbWFuYWdlciBvZmZlcmVkIHRvIHNhdmUgaXQsIGFjY2VwdCB0aGVyZS5gLHNhdmVkQXM6YFNhdmVkIGFzYCxzYXZlZEFzTGFiZWw6ZT0-YEFnZW50TGluayBiYWNrdXAgY29kZSDigJMgJHtlfWAsY2xpcGJvYXJkV2FybmluZzpgT3RoZXIgYXBwcyBjYW4gcmVhZCB5b3VyIGNsaXBib2FyZC5gLHNhdmVkSXQ6YEkgc2F2ZWQgaXRgLHNlbmRBbGxvd2VkOmBZb3VyIEFJIGNhbiBzZW5kIGZpbGVzIHlvdSBwdXQgaW4gfi9BZ2VudExpbmsvU2VuZC4gTm90aGluZyBlbHNlIG9uIHRoaXMgY29tcHV0ZXIgY2FuIGJlIHNlbnQuYCxzZW5kTm90QWxsb3dlZDpgQWdlbnRMaW5rIGNvdWxkbid0IGFsbG93IHlvdXIgU2VuZCBmb2xkZXIsIHNvIHlvdXIgQUkgY2FuJ3Qgc2VuZCBmaWxlcyB5ZXQuIFlvdSBjYW4gYWxsb3cgYSBmb2xkZXIgbGF0ZXIgaW4gRmlsZXMuYCxzZW5kTm90Q29uZmlybWVkOiJZb3VyIFNlbmQgZm9sZGVyIHdhcyBzZXQgdXAsIGJ1dCBBZ2VudExpbmsgY291bGRuJ3QgY29uZmlybSBpdC4gUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLGZpbmdlcnByaW50TGFiZWw6YFlvdXIgb3duZXIgZmluZ2VycHJpbnRgLGZpbmdlcnByaW50Tm90ZToiUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbDogaXQgc2hvd3MgdGhlIHNhbWUgZmluZ2VycHJpbnQuIixiYWNrdXBMYWJlbDpgQmFja3VwIGNvZGVgLHNob3duT25jZTpgU2hvd24gb25jZWAsY29weTpgQ29weWAsY29waWVkOmBDb3BpZWRgLHVuY29uZmlybWVkOmBTZXR1cCBmaW5pc2hlZCwgYnV0IHdlIGNvdWxkbid0IGNvbmZpcm0gb25lIHN0ZXAuIFlvdXIgYWdlbnQgbWF5IG5lZWQgYSByZXN0YXJ0LmAsdW5jb25maXJtZWRUaXRsZTpgQWxtb3N0IHRoZXJlLmAsa2l0VGl0bGU6YFNhdmUgeW91ciByZWNvdmVyeSBraXRgLGtpdEJvZHk6YElmIHRoaXMgY29tcHV0ZXIgaXMgbG9zdCwgdGhlIHJlY292ZXJ5IGtpdCBicmluZ3MgeW91ciBhZ2VudCBhbmQgaXRzIGNvbnRhY3RzIGJhY2suIE5vYm9keSBlbHNlIGhhcyBhIGNvcHksIGluY2x1ZGluZyA0dGhUZWNoLmAsc2F2ZUtpdDpgU2F2ZSBraXRgLHNhdmVLaXRTb29uOmBTYXZpbmcgdGhlIGtpdCBmcm9tIHRoaXMgcGFnZSBhcnJpdmVzIGluIGFuIHVwZGF0ZS5gLGxhdGVyOmBMYXRlcmAsbGF0ZXJOb3RlOmBXZSdsbCByZW1pbmQgeW91IHVudGlsIGl0J3Mgc2F2ZWQuYCxyZWFkeVRpdGxlOmBZb3UncmUgc2V0YCxyZWFkeUJvZHk6YEdvIGJhY2sgdG8geW91ciBBSSBhcHAgYW5kIHNheTpgLHJlYWR5UHJvbXB0OmBDcmVhdGUgYW4gQWdlbnRMaW5rIGludml0ZSBmb3IgYSBjb2xsZWFndWUuYCxyZWFkeVByb21wdFRpdGxlOmBTYXkgdGhpcyB0byB5b3VyIEFJYCxyZWFkeUNsb3NlOmBZb3UgY2FuIGNsb3NlIHRoaXMgdGFiLmAscmVhZHlSZXN0YXJ0OmBJZiB5b3VyIEFJIGFwcCBkb2Vzbid0IHNlZSBBZ2VudExpbmsgeWV0LCByZXN0YXJ0IGl0IGZpcnN0LmAsYWxyZWFkeVRpdGxlOmBBcHByb3ZhbHMgYXJlIGFscmVhZHkgcHJvdGVjdGVkIG9uIHRoaXMgY29tcHV0ZXJgLGFscmVhZHlCb2R5OiJJZiB5b3UgZGlkbid0IHNldCB0aGlzIHVwIHlvdXJzZWxmLCBkb24ndCB1c2UgdGhpcyBhZ2VudDogcnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbCBhbmQgY29tcGFyZSB0aGUgb3duZXIgZmluZ2VycHJpbnQuIix1bnN1cHBvcnRlZFRpdGxlOmBUaGlzIGJyb3dzZXIgY2FuJ3QgbWFrZSBhIHBhc3NrZXlgLHVuc3VwcG9ydGVkQm9keTpgT3BlbiB0aGlzIHBhZ2UgaW4gQ2hyb21lLCBFZGdlIG9yIFNhZmFyaSwgb3Igc2V0IHVwIGFwcHJvdmFscyBpbiB5b3VyIG93biB0ZXJtaW5hbDpgLHVuc3VwcG9ydGVkQ29tbWFuZDpgYWdlbnRsaW5rIG93bmVyIGluaXRgLHRyeUFnYWluOmBUcnkgYWdhaW5gLHN0YXJ0QWdhaW46YFN0YXJ0IGFnYWluYH0sWHI9e2NhbmNlbGxlZDpgVGhlIHBhc3NrZXkgd2Fzbid0IGNyZWF0ZWQuIE5vdGhpbmcgY2hhbmdlZC4gVHJ5IGFnYWluIHdoZW4geW91J3JlIHJlYWR5LmAsZXhwaXJlZDpgVGhpcyBzdGVwIHRvb2sgdG9vIGxvbmcuIE5vdGhpbmcgY2hhbmdlZC4gVHJ5IGFnYWluLmAsbm90X3BlbmRpbmc6YFRoaXMgc3RlcCB0b29rIHRvbyBsb25nLiBOb3RoaW5nIGNoYW5nZWQuIFRyeSBhZ2Fpbi5gLGJ1c3k6YEFub3RoZXIgc2V0dXAgb3IgYXBwcm92YWwgaXMgcnVubmluZy4gV2FpdCBhIG1vbWVudCwgdGhlbiB0cnkgYWdhaW4uYCx3YWl0OmU9PmBUb28gbWFueSB0cmllcy4gV2FpdCAke1N0cmluZyhlKX0gc2Vjb25kcywgdGhlbiB0cnkgYWdhaW4uYCxwcmVzZW5jZV9yZXF1aXJlZDpgWW91ciBicm93c2VyIGRpZG4ndCBzZW5kIHRoZSBwYXNza2V5LiBOb3RoaW5nIGNoYW5nZWQuIFRyeSBhZ2Fpbi5gLHByZXNlbmNlX3JlamVjdGVkOmBUaGF0IHBhc3NrZXkgY291bGRuJ3QgYmUgdXNlZCBoZXJlLiBOb3RoaW5nIGNoYW5nZWQuIFRyeSBhZ2Fpbi5gLGludmFsaWQ6YFNvbWV0aGluZyB3ZW50IHdyb25nIG9uIHRoaXMgcGFnZS4gUmVsb2FkIGl0IGFuZCB0cnkgYWdhaW4uYCx1bmF2YWlsYWJsZToiU2V0dXAgY2FuJ3QgcnVuIGZyb20gdGhpcyBwYWdlIHJpZ2h0IG5vdy4gQXNrIHlvdXIgQUkgdG8gb3BlbiBBZ2VudExpbmsgYWdhaW4sIG9yIHJ1biBgYWdlbnRsaW5rIG93bmVyIGluaXRgIGluIHlvdXIgb3duIHRlcm1pbmFsLiIscm9sbGVkX2JhY2s6YFNldHVwIGRpZG4ndCBmaW5pc2gsIHNvIG5vdGhpbmcgd2FzIGtlcHQuIFN0YXJ0IGFnYWluLmAsZm9sZGVyX25vdF9lbXB0eTpgVGhlIGZvbGRlciBBZ2VudExpbmsvU2VuZCBpbiB5b3VyIGhvbWUgZm9sZGVyIGFscmVhZHkgaG9sZHMgZmlsZXMuIE1vdmUgdGhlbSBvdXQsIHRoZW4gdHJ5IGFnYWluLiBOb3RoaW5nIGNoYW5nZWQuYCxmb2xkZXJfdW5hdmFpbGFibGU6YEFnZW50TGluayBjb3VsZG4ndCB1c2UgdGhlIGZvbGRlciBBZ2VudExpbmsvU2VuZCBpbiB5b3VyIGhvbWUgZm9sZGVyOiBpdCBtdXN0IGJlIGEgcGxhaW4gZm9sZGVyLCBub3QgYSBsaW5rIG9yIGEgZmlsZS4gRml4IGl0LCB0aGVuIHRyeSBhZ2Fpbi4gTm90aGluZyBjaGFuZ2VkLmAsa2V5Y2hhaW46IllvdXIgY29tcHV0ZXIncyBrZXljaGFpbiByZWZ1c2VkIHRoZSByZXF1ZXN0LiBVbmxvY2sgaXQsIHRoZW4gcnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLGNoZWNrX2ZhaWxlZDoiV2UgY291bGRuJ3QgY2hlY2sgdGhpcyBjb21wdXRlcidzIHNldHVwLiBSdW4gYGFnZW50bGluayBkb2N0b3JgIGluIHlvdXIgb3duIHRlcm1pbmFsLiIsaW50ZXJuYWw6IlNldHVwIGRpZG4ndCBmaW5pc2guIFJ1biBgYWdlbnRsaW5rIGRvY3RvcmAgaW4geW91ciBvd24gdGVybWluYWwuIixvZmZsaW5lOmBBZ2VudExpbmsgaXNuJ3QgYW5zd2VyaW5nLiBBc2sgeW91ciBBSSB0byBvcGVuIEFnZW50TGluayBhZ2Fpbi5gLHNlc3Npb25fZXhwaXJlZDpgVGhpcyBsaW5rIGhhcyBleHBpcmVkLiBBc2sgeW91ciBBSSB0byBvcGVuIEFnZW50TGluayBhZ2Fpbi5gLGZvcmJpZGRlbjpgVGhpcyBwYWdlIGNvdWxkbid0IGJlIGNoZWNrZWQuIEFzayB5b3VyIEFJIHRvIG9wZW4gQWdlbnRMaW5rIGFnYWluLmAsdW5rbm93bjoiU2V0dXAgZGlkbid0IGZpbmlzaC4gUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLGZpbmlzaGVkTm9Db2RlOiJTZXR1cCBwcm9iYWJseSBmaW5pc2hlZCwgYnV0IHRoZSBjb25uZWN0aW9uIGRyb3BwZWQgYmVmb3JlIHlvdXIgYmFja3VwIGNvZGUgY291bGQgYmUgc2hvd24uIEFwcHJvdmUgd2l0aCB5b3VyIHBhc3NrZXkuIElmIHlvdXIgcGFzc2tleSBkb2Vzbid0IHdvcmssIHJ1biBgYWdlbnRsaW5rIGRvY3RvcmAgaW4geW91ciBvd24gdGVybWluYWwuIixub3RGaW5pc2hlZDpgVGhlIGNvbm5lY3Rpb24gZHJvcHBlZCBhbmQgc2V0dXAgZGlkbid0IGZpbmlzaC4gTm90aGluZyB3YXMga2VwdC4gVHJ5IGFnYWluLmB9LFpyPXttYWM6YFN3aXRjaCB0byBUb3VjaCBJRGAsd2luZG93czpgU3dpdGNoIHRvIFdpbmRvd3MgSGVsbG9gLG90aGVyOmBTd2l0Y2ggdG8gYSBwYXNza2V5YH0sUXI9e21hYzpgVG91Y2ggSUQgaXMgb25gLHdpbmRvd3M6YFdpbmRvd3MgSGVsbG8gaXMgb25gLG90aGVyOmBZb3VyIHBhc3NrZXkgaXMgb25gfSwkcj17bWFjOmBBcHByb3ZlIHdpdGggVG91Y2ggSUQuYCx3aW5kb3dzOmBBcHByb3ZlIHdpdGggV2luZG93cyBIZWxsby5gLG90aGVyOmBBcHByb3ZlIHdpdGggYSBwYXNza2V5LmB9LGVpPXt0aXRsZTplPT5acltlXSxib2R5OmU9PmBFbnRlciB5b3VyIGJhY2t1cCBjb2RlIG9uY2UsIHRoZW4gYXBwcm92ZSB3aXRoICR7ZX0gaW5zdGVhZCBvZiB0eXBpbmcgaXQuIFlvdXIgYmFja3VwIGNvZGUga2VlcHMgd29ya2luZyB3aGVuICR7ZX0gaXNuJ3QgYXZhaWxhYmxlLiBOZXZlciBnaXZlIGl0IHRvIHlvdXIgQUkuYCxjb2RlTGFiZWw6YEJhY2t1cCBjb2RlYCxjb2RlSGludDprbixub1ByZjooZSx0KT0-YCR7ZX0gZG9lc24ndCB3b3JrIGluIHRoaXMgYnJvd3NlciBmb3IgQWdlbnRMaW5rLiBPcGVuIHRoaXMgcGFnZSBpbiAke3R9IHRvIHN3aXRjaC4gVW50aWwgdGhlbiwgYXBwcm92ZSB3aXRoIHlvdXIgYmFja3VwIGNvZGUuYCxkb25lVGl0bGU6ZT0-UXJbZV0sZG9uZUJvZHk6ZT0-YE5leHQgdGltZSwgYXBwcm92ZSB3aXRoICR7ZX0uIFlvdXIgYmFja3VwIGNvZGUgc3RpbGwgd29ya3MgaWYgJHtlfSBpc24ndCBhdmFpbGFibGUsIHNvIGtlZXAgaXQgc2F2ZWQuYCx0b0FwcHJvdmFsczpgR28gdG8gQXBwcm92YWxzYCxiYW5uZXJUaXRsZTplPT4kcltlXSxiYW5uZXJCb2R5OmBFbnRlciB5b3VyIGJhY2t1cCBjb2RlIG9uY2UgdG8gc3dpdGNoLiBJdCBrZWVwcyB3b3JraW5nIGFzIHlvdXIgYmFja3VwLmAsYmFubmVyQWN0aW9uOmU9PlpyW2VdfSx0aT17ZW1wdHk6YEVudGVyIHlvdXIgYmFja3VwIGNvZGUgZmlyc3QuYCxwcmVzZW5jZV9yZWplY3RlZDpgVGhhdCBiYWNrdXAgY29kZSBkaWRuJ3Qgd29yay4gQ2hlY2sgaXQgYW5kIHRyeSBhZ2Fpbi4gTm90aGluZyBjaGFuZ2VkLmAscHJlc2VuY2VfcmVxdWlyZWQ6YFlvdXIgYnJvd3NlciBkaWRuJ3Qgc2VuZCB0aGUgYmFja3VwIGNvZGUuIE5vdGhpbmcgY2hhbmdlZC4gVHJ5IGFnYWluLmAsY2FuY2VsbGVkOlhyLmNhbmNlbGxlZCx1bnN1cHBvcnRlZDplPT5gVGhpcyBwYXNza2V5IGNhbid0IHByb3RlY3QgYXBwcm92YWxzIGhlcmUuIE5vdGhpbmcgY2hhbmdlZC4gS2VlcCBhcHByb3Zpbmcgd2l0aCB5b3VyIGJhY2t1cCBjb2RlLCBvciBvcGVuIHRoaXMgcGFnZSBpbiAke2V9LmAsYnVzeTpYci5idXN5LHdhaXQ6WHIud2FpdCxmYWlsZWQ6IlRoZSBzd2l0Y2ggZGlkbid0IGZpbmlzaC4gUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLG9mZmxpbmU6WHIub2ZmbGluZSxzZXNzaW9uX2V4cGlyZWQ6WHIuc2Vzc2lvbl9leHBpcmVkLGZvcmJpZGRlbjpYci5mb3JiaWRkZW59LG5pPXtub3RBdmFpbGFibGVUaXRsZTpgVGhpcyBwYWdlIGlzbid0IGF2YWlsYWJsZSB5ZXQuYCxub3RBdmFpbGFibGVIaW50OmBJdCBhcnJpdmVzIGluIGFuIHVwZGF0ZS4gTm90aGluZyBpcyBsb3N0IHdoaWxlIHlvdSB3YWl0LmAsbm90Rm91bmRUaXRsZTpgVGhpcyBwYWdlIGlzbid0IGhlcmUuYCxub3RGb3VuZEhpbnQ6YFBpY2sgYSBwYWdlIGZyb20gdGhlIG1lbnUuYCxsaW5rRXhwaXJlZFRpdGxlOmBUaGlzIGxpbmsgaGFzIGV4cGlyZWRgLGxpbmtFeHBpcmVkQm9keTpgQXNrIHlvdXIgQUkgdG8gb3BlbiBBZ2VudExpbmsgYWdhaW4sIG9yIHJ1biB0aGlzIGluIGEgdGVybWluYWw6YCxsaW5rRXhwaXJlZENvbW1hbmQ6YGFnZW50bGluayB1aWAsbm90UnVubmluZ1RpdGxlOmBBZ2VudExpbmsgaXNuJ3QgcnVubmluZ2Asbm90UnVubmluZ0JvZHk6YFlvdXIgQUkgYXBwIHN0YXJ0cyBpdCB3aGVuIGl0IG5lZWRzIGl0LiBPcGVuIHlvdXIgQUkgYXBwLCB0aGVuIHRoaXMgcGFnZSBhZ2Fpbi4gTm90aGluZyBpcyBsb3N0IHdoaWxlIGl0J3Mgc3RvcHBlZDsgbWVzc2FnZXMgd2FpdCBvbiB0aGUgbmV0d29yay4gVG8gc2VlIHdoYXQncyB3cm9uZzpgLG5vdFJ1bm5pbmdDb21tYW5kOmBhZ2VudGxpbmsgZG9jdG9yYCxzZXR1cFVuZmluaXNoZWRUaXRsZTpgRmluaXNoIHNldHVwIHRvIGFwcHJvdmUuYCxzZXR1cFVuZmluaXNoZWRCb2R5OmBBbnl0aGluZyB0aGF0IG5lZWRzIHlvdSB3YWl0cyB1bnRpbCB5b3VyIGFwcHJvdmFscyBhcmUgcHJvdGVjdGVkLmAsY29udGludWVTZXR1cDpgQ29udGludWUgc2V0dXBgLGtpdFBlbmRpbmdUaXRsZTpgU2F2ZSB5b3VyIHJlY292ZXJ5IGtpdC5gLGtpdFBlbmRpbmdCb2R5OmBJZiB0aGlzIGNvbXB1dGVyIGlzIGxvc3QsIGl0IGJyaW5ncyB5b3VyIGFnZW50IGFuZCBpdHMgY29udGFjdHMgYmFjay5gLGtpdFBlbmRpbmdBZnRlckNvbnRhY3Q6YFlvdSBoYXZlIGEgY29udGFjdCBub3c6IHNhdmUgeW91ciByZWNvdmVyeSBraXQgc28geW91IGNhbiBnZXQgdGhlbSBiYWNrIGlmIHRoaXMgY29tcHV0ZXIgaXMgbG9zdC5gLHNhdmVLaXQ6YFNhdmUga2l0YCxuZXR3b3JrU2xvdzpgTWVzc2FnZXMgYXJlIGFycml2aW5nIHNsb3dseS4gU3RpbGwgdHJ5aW5nLmAsbmV0d29ya09mZmxpbmU6YENhbid0IHJlYWNoIHRoZSBtZXNzYWdlIG5ldHdvcmsuIFNob3dpbmcgd2hhdCdzIHNhdmVkIGhlcmUuYCxuZXR3b3JrQmFjazplPT5lPT09MD9gQmFjayBvbmxpbmUuYDpgQmFjayBvbmxpbmUuICR7U3RyaW5nKGUpfSBuZXcgJHtlPT09MT9gbWVzc2FnZWA6YG1lc3NhZ2VzYH0uYCxlbXB0eVRpdGxlOmBOb3RoaW5nIHdhaXRpbmcgZm9yIHlvdS5gLGVtcHR5UHJvbXB0OmBDcmVhdGUgYW4gQWdlbnRMaW5rIGludml0ZSBmb3IgYSBjb2xsZWFndWUuYCxsb2FkaW5nOmBDaGVja2luZyBmb3IgbmV3IG1lc3NhZ2Vz4oCmYCxyZXRyeTpgUmV0cnlgfSxyaT1gYWdlbnRsaW5rLnJlY292ZXJ5S2l0LmxhdGVyYDtmdW5jdGlvbiBpaSgpe3RyeXtyZXR1cm4gdHlwZW9mIGxvY2FsU3RvcmFnZT5gdWA_dm9pZCAwOmxvY2FsU3RvcmFnZX1jYXRjaHtyZXR1cm59fWZ1bmN0aW9uIGFpKGU9RGF0ZS5ub3coKSl7dHJ5e2lpKCk_LnNldEl0ZW0ocmksU3RyaW5nKE1hdGguZmxvb3IoZSkpKX1jYXRjaHt9fWZ1bmN0aW9uIG9pKCl7dHJ5e2xldCBlPWlpKCk_LmdldEl0ZW0ocmkpO3JldHVybiBlIT1udWxsJiYvXlswLTldezEsMTZ9JC8udGVzdChlKX1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gc2koe3RpdGxlOmV9KXtyZXR1cm4oMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxDLmpzeCkoYGgxYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOmV9KSwoMCxDLmpzeCkoQSx7aWNvbjpgaW5mb2AsdGl0bGU6YCR7bmkubm90QXZhaWxhYmxlVGl0bGV9ICR7bmkubm90QXZhaWxhYmxlSGludH1gfSldfSl9ZnVuY3Rpb24gY2koKXtyZXR1cm4oMCxDLmpzeCkoQSx7aWNvbjpgc2VhcmNoYCx0aXRsZTpgJHtuaS5ub3RGb3VuZFRpdGxlfSAke25pLm5vdEZvdW5kSGludH1gfSl9ZnVuY3Rpb24gbGkoKXtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGFsLXN0YXRlLWV4cGlyZWRgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgxYCx7aWQ6YGFsLXN0YXRlLWV4cGlyZWRgLGNsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0yYCxjaGlsZHJlbjpuaS5saW5rRXhwaXJlZFRpdGxlfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHkgYWwtbXV0ZWRgLGNoaWxkcmVuOm5pLmxpbmtFeHBpcmVkQm9keX0pLCgwLEMuanN4KShvZSx7Y29tbWFuZDpuaS5saW5rRXhwaXJlZENvbW1hbmR9KV19KX1mdW5jdGlvbiB1aSgpe3JldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgYWwtc3RhdGUtZG93bmAsY2hpbGRyZW46WygwLEMuanN4KShgaDFgLHtpZDpgYWwtc3RhdGUtZG93bmAsY2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTJgLGNoaWxkcmVuOm5pLm5vdFJ1bm5pbmdUaXRsZX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpuaS5ub3RSdW5uaW5nQm9keX0pLCgwLEMuanN4KShvZSx7Y29tbWFuZDpuaS5ub3RSdW5uaW5nQ29tbWFuZH0pXX0pfWZ1bmN0aW9uIGRpKHtwbGF0Zm9ybTplfSl7cmV0dXJuKDAsQy5qc3gpKGsse3RvbmU6YGluZm9gLGljb246YGtleS1yb3VuZGAsdGl0bGU6ZWkuYmFubmVyVGl0bGUoZSksYWN0aW9uOigwLEMuanN4KShgYWAse2NsYXNzTmFtZTpgYWwtYnRuIGFsLWJ0bi1wcmltYXJ5IGFsLWJ0bi1zbWAsaHJlZjpgL2ZpcnN0LXJ1bmAsY2hpbGRyZW46ZWkuYmFubmVyQWN0aW9uKGUpfSksY2hpbGRyZW46ZWkuYmFubmVyQm9keX0pfWZ1bmN0aW9uIGZpKHt0ZXh0OmU9bmkubG9hZGluZ30pe3JldHVybigwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOmV9KX12YXIgcGk9YC9hcGkvdWkvaGVhbHRoYCxtaT01ZTMsaGk9MmUzLGdpPTNlNCxfaT00ZTMsdmk9MWU0LHlpPU9iamVjdC5mcmVlemUoe3J1bm5pbmc6YGNvbm5lY3RlZGAscGF1c2VkOmBwYXVzZWRgLG5vdF9ydW5uaW5nOmBub3RfcnVubmluZ2AsbmVlZHNfc2V0dXA6YG5lZWRzX3NldHVwYH0pLGJpPS9eXGR7MSw0fVwuXGR7MSw0fVwuXGR7MSw2fSg_Oi1bMC05QS1aYS16XVswLTlBLVphLXouLV17MCwzMX0pPyQvO2Z1bmN0aW9uIHhpKGUpe2lmKGUua2luZCE9PWBva2ApcmV0dXJuO2xldCB0PWUuZGF0YTtpZih0eXBlb2YgdCE9YG9iamVjdGB8fCF0KXJldHVybjtsZXR7YWdlbnQ6bix2ZXJzaW9uOnJ9PXQ7aWYodHlwZW9mIG4hPWBzdHJpbmdgfHwhT2JqZWN0Lmhhc093bih5aSxuKSlyZXR1cm47bGV0IGk9eWlbbl07cmV0dXJuIHR5cGVvZiByPT1gc3RyaW5nYCYmYmkudGVzdChyKT97c3RhdGU6aSx2ZXJzaW9uOnJ9OntzdGF0ZTppfX12YXIgU2k9e3NldDooZSx0KT0-c2V0VGltZW91dChlLHQpLGNsZWFyOmU9PmNsZWFyVGltZW91dChlKX0sQ2k9KCk9PnR5cGVvZiBkb2N1bWVudDxgdWAmJmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PWBoaWRkZW5gLHdpPWU9PnR5cGVvZiBkb2N1bWVudD5gdWA_KCk9PnZvaWQgMDooZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihgdmlzaWJpbGl0eWNoYW5nZWAsZSksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLGUpKTtmdW5jdGlvbiBUaShlKXtsZXQgdD1lLnRpbWVycz8_U2ksbj1lLmhpZGRlbj8_Q2kscj0hMSxpPSExLGE9ITEsbz0wLHMsYyxsPSh0LG4pPT57KGM9PT12b2lkIDB8fGMuc3RhdGUhPT10fHxjLnZlcnNpb24hPT1uKSYmKGM9e3N0YXRlOnQsdmVyc2lvbjpufSxlLm9uU3RhdGUodCxuKSl9LHU9ZT0-e3J8fChzIT09dm9pZCAwJiZ0LmNsZWFyKHMpLHM9dC5zZXQoKCk9PntzPXZvaWQgMCxkKCl9LGUpKX0sZD1hc3luYygpPT57aWYocnx8aXx8bigpKXJldHVybjtpPSEwO2xldCBzPWF3YWl0IG5ldyBQcm9taXNlKG49PntsZXQgcj10LnNldCgoKT0-bih7a2luZDpgb2ZmbGluZWB9KSx2aSksaT1lPT57dC5jbGVhcihyKSxuKGUpfTt0cnl7ZS5yZWFkKCkudGhlbihpLCgpPT5pKHtraW5kOmBvZmZsaW5lYH0pKX1jYXRjaHtpKHtraW5kOmBvZmZsaW5lYH0pfX0pO2lmKGk9ITEscilyZXR1cm47YT0hMDtsZXQgZD14aShzKTtkPT09dm9pZCAwPyhsKGBub3RfcnVubmluZ2AsYz8udmVyc2lvbiksbz1vPT09MD9oaTpNYXRoLm1pbihvKjIsZ2kpLHUobykpOihvPTAsbChkLnN0YXRlLGQudmVyc2lvbiksdShtaSkpfSxmPXQuc2V0KCgpPT57IXImJiFhJiZsKGBub3RfcnVubmluZ2Asdm9pZCAwKX0sX2kpLHA9KGUub25WaXNpYmlsaXR5Pz93aSkoKCk9PntyfHxuKCl8fChzIT09dm9pZCAwJiYodC5jbGVhcihzKSxzPXZvaWQgMCksZCgpKX0pO3JldHVybiBkKCksKCk9PntyPSEwLHQuY2xlYXIoZikscyE9PXZvaWQgMCYmdC5jbGVhcihzKSxzPXZvaWQgMCxwKCl9fWZ1bmN0aW9uIEVpKCl7cmV0dXJuIEduKCkuZ2V0KHBpKX12YXIgRGk9bmV3IFNldCxPaSxraSxBaTtmdW5jdGlvbiBqaShlKXtmb3IobGV0IHQgb2ZbLi4uRGldKXRyeXtlKHQpfWNhdGNoe319ZnVuY3Rpb24gTWkoZSx0KXtyZXR1cm4gRGkuYWRkKHQpLE9pPT09dm9pZCAwP09pPVRpKHtyZWFkOmFzeW5jKCk9PntsZXQgdDt0cnl7dD1hd2FpdCBlKCl9Y2F0Y2h7dD17a2luZDpgb2ZmbGluZWB9fXJldHVybiBBaT10LGppKGU9PmUub25SZXN1bHQ_Lih0KSksdH0sb25TdGF0ZTooZSx0KT0-e2tpPXtzdGF0ZTplLHZlcnNpb246dH0samkobj0-bi5vblN0YXRlPy4oZSx0KSl9fSk6KEFpIT09dm9pZCAwJiZ0Lm9uUmVzdWx0Py4oQWkpLGtpIT09dm9pZCAwJiZ0Lm9uU3RhdGU_LihraS5zdGF0ZSxraS52ZXJzaW9uKSksKCk9PntEaS5kZWxldGUodCksRGkuc2l6ZT09PTAmJk9pIT09dm9pZCAwJiYoT2koKSxPaT12b2lkIDAsa2k9dm9pZCAwLEFpPXZvaWQgMCl9fXZhciBOaT1gdW5rbm93bmAsUGk9bmV3IFNldDtmdW5jdGlvbiBGaShlKXtpZihlIT09Tmkpe05pPWU7Zm9yKGxldCBlIG9mIFBpKWUoKX19ZnVuY3Rpb24gSWkoKXtsZXRbZSx0XT0oMCxsLnVzZVN0YXRlKShOaSk7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgpPT57bGV0IGU9KCk9PnQoTmkpLG49KCk9PkZpKGBvZmZsaW5lYCkscj0oKT0-e05pPT09YG9mZmxpbmVgJiZGaShgdW5rbm93bmApfTtyZXR1cm4gUGkuYWRkKGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGBvZmZsaW5lYCxuKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihgb25saW5lYCxyKSxlKCksKCk9PntQaS5kZWxldGUoZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoYG9mZmxpbmVgLG4pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGBvbmxpbmVgLHIpfX0sW10pLGV9dmFyIExpPSgpPT50eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLm9uTGluZT09PSExO2Z1bmN0aW9uIFJpKGU9RWkpe2xldFt0LG5dPSgwLGwudXNlU3RhdGUpKHZvaWQgMCk7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgpPT4oTmkhPT1gb2ZmbGluZWAmJkZpKGB1bmtub3duYCksTWkoZSx7b25TdGF0ZTooZSx0KT0-e0xpKCl8fEZpKGUpLG4odCl9fSkpLFtlXSksdH12YXIgemk9e3Vua25vd246YGNoZWNraW5nYCxjb25uZWN0ZWQ6YGNvbm5lY3RlZGAsb2ZmbGluZTpgZGlzY29ubmVjdGVkYCxwYXVzZWQ6YHBhdXNlZGAsbm90X3J1bm5pbmc6YG5vdC1ydW5uaW5nYCxuZWVkc19zZXR1cDpgbmVlZHMtc2V0dXBgfTtmdW5jdGlvbiBCaShlKXtyZXR1cm4gTm4uc29tZSh0PT50LnBhdGg9PT1lKX1mdW5jdGlvbiBWaShlKXtpZihlPT09YC9maXJzdC1ydW5gKXJldHVybiBPbi5maXJzdFJ1bjtsZXQgdD1Nbi5maW5kKHQ9PnQucGF0aD09PWUmJnQubGFiZWwhPT1gU2V0dGluZ3NgKTtpZih0IT09dm9pZCAwKXJldHVybiB0LmxhYmVsO2xldCBuPU5uLmZpbmQodD0-dC5wYXRoPT09ZSk7cmV0dXJuIG49PT12b2lkIDA_RG4uYXBwTmFtZTpuLmxhYmVsfWFzeW5jIGZ1bmN0aW9uIEhpKCl7aWYoIXZyKCkpcmV0dXJuITE7bGV0IGU9YXdhaXQgS3IoKS5pbmZvKCk7cmV0dXJuIGUua2luZD09PWBva2AmJiFlLnJlZ2lzdGVyZWR9dmFyIFVpPWAvZmlyc3QtcnVuYDtmdW5jdGlvbiBXaShlKXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBtYWluLmFsLXNoZWxsLWNvbnRlbnRgKTt0IT09bnVsbCYmKGUucHJldmVudERlZmF1bHQoKSx0LnNldEF0dHJpYnV0ZShgdGFiaW5kZXhgLGAtMWApLHQuZm9jdXMoKSl9ZnVuY3Rpb24gR2koe3BhdGg6ZSxjaGlsZHJlbjp0LG5leHRTdGVwOm49SGkscGxhdGZvcm06cix1bnNlZW5NZXNzYWdlczppLHJlYWRIZWFsdGg6YX0pe2xldCBvPUlpKCkscz1SaShhKSxjPXByKGUsaSksdT1CaShlKSxbZF09KDAsbC51c2VTdGF0ZSkoKCk9PnI_P21yKCkpLFtmLHBdPSgwLGwudXNlU3RhdGUpKCExKTsoMCxsLnVzZUVmZmVjdCkoKCk9PntpZihlPT09VWkpe3AoITEpO3JldHVybn1sZXQgdD0hMDtyZXR1cm4gbigpLnRoZW4oZT0-e3QmJnAoZSl9LCgpPT57dCYmcCghMSl9KSwoKT0-e3Q9ITF9fSxbZSxuXSk7bGV0IG09TW4ubWFwKHQ9Pih7aWNvbjp0Lmljb24sbGFiZWw6dC5sYWJlbCxocmVmOnQucGF0aCxhY3RpdmU6dC5yb3V0ZWQmJih0LmxhYmVsPT09YFNldHRpbmdzYD91OnQucGF0aD09PWUpLC4uLnQuaWQ9PT1gbWVzc2FnZXNgJiZjPjA_e2NvdW50OmN9Ont9fSkpO3JldHVybigwLEMuanN4cykoRW4se2NoaWxkcmVuOlsoMCxDLmpzeCkoYGFgLHtocmVmOmAjYWwtbWFpbmAsY2xhc3NOYW1lOmBhbC1za2lwIGFsLXRleHQtYm9keS1zbWAsb25DbGljazpXaSxjaGlsZHJlbjpEbi5za2lwVG9Db250ZW50fSksKDAsQy5qc3hzKShvbix7bmF2Om0scGFnZVRpdGxlOlZpKGUpLHRvcEJhckVuZDooMCxDLmpzeCkoUm4se2Nvbm5lY3Rpb246b30pLGNvbm5lY3Rpb246emlbb10sLi4ucz09PXZvaWQgMD97fTp7dmVyc2lvbjpzfSxjaGlsZHJlbjpbZiYmZSE9PVVpPygwLEMuanN4KShkaSx7cGxhdGZvcm06ZH0pOm51bGwsdT8oMCxDLmpzeCkoYG5hdmAseyJhcmlhLWxhYmVsIjpgU2V0dGluZ3NgLGNsYXNzTmFtZTpgYWwtc3VibmF2IGFsLWNocm9tZWAsY2hpbGRyZW46Tm4ubWFwKHQ9PigwLEMuanN4KShgYWAse2hyZWY6dC5wYXRoLGNsYXNzTmFtZTp0LnBhdGg9PT1lP2Bpcy1hY3RpdmVgOnZvaWQgMCwiYXJpYS1jdXJyZW50Ijp0LnBhdGg9PT1lP2BwYWdlYDp2b2lkIDAsY2hpbGRyZW46dC5sYWJlbH0sdC5wYXRoKSl9KTpudWxsLHRdfSldfSl9dmFyIEtpPW8oKTtmdW5jdGlvbiBxaSgpe3JldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5tb3Rpb249PT1gcmVkdWNlZGB8fHR5cGVvZiB3aW5kb3cubWF0Y2hNZWRpYT09YGZ1bmN0aW9uYCYmd2luZG93Lm1hdGNoTWVkaWEoYChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpYCkubWF0Y2hlc31mdW5jdGlvbiBKaShlKXtsZXQgdD1kb2N1bWVudDtpZih0eXBlb2YgdC5zdGFydFZpZXdUcmFuc2l0aW9uIT1gZnVuY3Rpb25gfHxxaSgpKWUoKTtlbHNlIHRyeXt0LnN0YXJ0Vmlld1RyYW5zaXRpb24oKCk9PnsoMCxLaS5mbHVzaFN5bmMpKGUpfSl9Y2F0Y2h7ZSgpfX12YXIgST17dGl0bGU6YEFjdGl2aXR5YCx0YWJsZUxhYmVsOmBBY3Rpdml0eSwgbmV3ZXN0IGZpcnN0YCxjb2xUaW1lOmBUaW1lYCxjb2xXaGF0OmBXaGF0YCxjb2xDb250YWN0OmBDb250YWN0YCxjb2xTdGF0dXM6YFN0YXR1c2AsbG9hZGluZzpgTG9hZGluZyBhY3Rpdml0eeKApmAsZmlsdGVyTGFiZWw6YFNob3dgLGZpbHRlckFsbDpgQWxsYCxmaWx0ZXJBcHByb3ZhbHM6YEFwcHJvdmFsc2AsZmlsdGVyUHJvb2ZzOmBQcm9vZnNgLGZpbHRlck90aGVyOmBCbG9ja3MgYW5kIHJ1bGVzYCxmaWx0ZXJFbXB0eTpgTm90aGluZyBvZiB0aGlzIGtpbmQgeWV0LmAsYXNPZjpgQXMgb2ZgLGFwcHJvdmVkOmBZb3UgYXBwcm92ZWQgYSByZXF1ZXN0YCxhcHByb3ZlZEJ5UnVsZXM6YEFwcHJvdmVkIGJ5IHlvdXIgcnVsZXNgLGRlbmllZDpgWW91IGRlbmllZCBhIHJlcXVlc3RgLGNhbmNlbGxlZDpgWW91IGNhbmNlbGxlZCBhIHJlcXVlc3RgLGNhbmNlbGxlZENoaXA6YENhbmNlbGxlZGAscHJvb2ZTZW50OmBQcm9vZiBmb3IgYSBtZXNzYWdlIHlvdSBzZW50YCxwcm9vZlJlY2VpdmVkOmBBIGNvbnRhY3QgYWRkZWQgcHJvb2YgdG8gYSBtZXNzYWdlIGZvciB5b3VgLHNlbmRlckJsb2NrZWQ6YFlvdSBibG9ja2VkIGFuIHVua25vd24gc2VuZGVyYCxzZW5kZXJQcmVmaXg6YFNlbmRlcmAsY29udGFjdEJsb2NrZWQ6YFlvdSBibG9ja2VkIGEgY29udGFjdGAscnVsZXNDaGFuZ2VkOmBZb3VyIHJ1bGVzIHdlcmUgdXBkYXRlZGAsbm9uZTpg4oCUYCxzaG93TW9yZTpgU2hvdyBtb3JlYCxsb2FkaW5nTW9yZTpgTG9hZGluZ-KApmAsZW1wdHlUaXRsZTpgTm90aGluZyBoZXJlIHlldC4gQXBwcm92YWxzLCBwcm9vZnMgYW5kIGJsb2NrZWQgc2VuZGVycyBzaG93IHVwIGhlcmUuYCxlbXB0eVByb21wdDpgYXNrIHlvdXIgQUkgdG8gc2VuZCBhIG1lc3NhZ2UgdG8gYSBjb250YWN0IHdpdGggcHJvb2ZgLHRyeUFnYWluOmBUcnkgYWdhaW5gLGVycm9yVGl0bGU6YEFjdGl2aXR5IGRpZG4ndCBsb2FkLmAsZXJyb3JCb2R5OmBOb3RoaW5nIGNoYW5nZWQuIFRyeSBhZ2FpbiBpbiBhIG1vbWVudC5gLG9mZmxpbmVUaXRsZTpgQ2FuJ3QgcmVhY2ggQWdlbnRMaW5rIG9uIHRoaXMgY29tcHV0ZXIuYCxvZmZsaW5lQm9keTpgQ2hlY2sgdGhhdCB5b3VyIEFJIGFwcCBpcyBzdGlsbCBvcGVuLCB0aGVuIHRyeSBhZ2Fpbi5gLHNlc3Npb25UaXRsZTpgVGhpcyBwYWdlIGhhcyBlbmRlZC5gLHNlc3Npb25Cb2R5OmBBc2sgeW91ciBBSSB0byBvcGVuIEFnZW50TGluayBhZ2Fpbi5gLG5vdFNldFVwVGl0bGU6YEFnZW50TGluayBpc24ndCBzZXQgdXAgb24gdGhpcyBjb21wdXRlciB5ZXQuYCxub3RTZXRVcFByb21wdDpgYXNrIHlvdXIgQUkgdG8gc2V0IHVwIEFnZW50TGlua2B9LFlpPWAvYXBpL3VpL2FjdGl2aXR5YCxYaT0yMCxaaT0yZTQsUWk9MiwkaT1uZXcgU2V0KFtgYXBwcm92ZWRgLGBhcHByb3ZlZF9ieV9ydWxlc2AsYGRlbmllZGAsYGNhbmNlbGxlZGBdKSxlYT1uZXcgU2V0KFtgc3VibWl0dGVkYCxgbmVlZHNfY3JlZGl0c2AsYGZhaWxlZGAsYHJlY29yZGVkYCxgcmVjZWl2ZWRgXSksdGE9NjQsbmE9ZT0-dHlwZW9mIGU9PWBvYmplY3RgJiYhIWUmJiFBcnJheS5pc0FycmF5KGUpO2Z1bmN0aW9uIHJhKGUpe2lmKCFuYShlKSlyZXR1cm47bGV0e2tpbmQ6dCxhdDpufT1lO2lmKCEodHlwZW9mIG4hPWBudW1iZXJgfHwhTnVtYmVyLmlzU2FmZUludGVnZXIobil8fG48MCkpc3dpdGNoKHQpe2Nhc2VgYXBwcm92YWxfZGVjaWRlZGA6cmV0dXJuIHR5cGVvZiBlLmRlY2lzaW9uPT1gc3RyaW5nYCYmJGkuaGFzKGUuZGVjaXNpb24pP3traW5kOnQsYXQ6bixkZWNpc2lvbjplLmRlY2lzaW9ufTp2b2lkIDA7Y2FzZWBwcm9vZmA6e2xldHtkaXJlY3Rpb246cixzdGF0ZTppfT1lO3JldHVybiByIT09YHNlbnRgJiZyIT09YHJlY2VpdmVkYHx8dHlwZW9mIGkhPWBzdHJpbmdgfHwhZWEuaGFzKGkpP3ZvaWQgMDp7a2luZDp0LGF0Om4sZGlyZWN0aW9uOnIsc3RhdGU6aX19Y2FzZWBzZW5kZXJfYmxvY2tlZGA6e2xldCByPWUuc2VuZGVyQ29kZTtyZXR1cm4gdHlwZW9mIHI9PWBzdHJpbmdgJiZyLmxlbmd0aD4wJiZyLmxlbmd0aDw9dGE_e2tpbmQ6dCxhdDpuLHNlbmRlckNvZGU6cn06dm9pZCAwfWNhc2VgY29udGFjdF9ibG9ja2VkYDpjYXNlYHJ1bGVzX2NoYW5nZWRgOnJldHVybntraW5kOnQsYXQ6bn07ZGVmYXVsdDpyZXR1cm59fWZ1bmN0aW9uIGlhKGUpe2lmKCFuYShlKXx8IUFycmF5LmlzQXJyYXkoZS5pdGVtcykpcmV0dXJuO2xldCB0PWUubmV4dEN1cnNvcjtpZih0IT09dm9pZCAwJiYodHlwZW9mIHQhPWBzdHJpbmdgfHx0Lmxlbmd0aD09PTApKXJldHVybjtsZXQgbj1bXTtmb3IobGV0IHQgb2YgZS5pdGVtcyl7bGV0IGU9cmEodCk7ZSE9PXZvaWQgMCYmbi5wdXNoKGUpfXJldHVybiB0PT09dm9pZCAwP3tpdGVtczpufTp7aXRlbXM6bixuZXh0Q3Vyc29yOnR9fWZ1bmN0aW9uIGFhKGUpe3N3aXRjaChlLmtpbmQpe2Nhc2Vgb2ZmbGluZWA6cmV0dXJuYG9mZmxpbmVgO2Nhc2Vgc2Vzc2lvbl9leHBpcmVkYDpjYXNlYGZvcmJpZGRlbmA6cmV0dXJuYHNlc3Npb25gO2Nhc2VgZXJyb3JgOnJldHVybiBlLnN0YXR1cz09PTQwOT9gbm90X3NldF91cGA6YGVycm9yYDtkZWZhdWx0OnJldHVybmBlcnJvcmB9fXZhciBvYT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YDItZGlnaXRgLG1pbnV0ZTpgMi1kaWdpdGB9KSxzYT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3dlZWtkYXk6YGxvbmdgLGRheTpgbnVtZXJpY2AsbW9udGg6YGxvbmdgfSksTD1be2lkOmBhbGxgLGxhYmVsOkkuZmlsdGVyQWxsfSx7aWQ6YGFwcHJvdmFsc2AsbGFiZWw6SS5maWx0ZXJBcHByb3ZhbHN9LHtpZDpgcHJvb2ZzYCxsYWJlbDpJLmZpbHRlclByb29mc30se2lkOmBvdGhlcmAsbGFiZWw6SS5maWx0ZXJPdGhlcn1dO2Z1bmN0aW9uIGNhKGUsdCl7c3dpdGNoKHQpe2Nhc2VgYWxsYDpyZXR1cm4hMDtjYXNlYGFwcHJvdmFsc2A6cmV0dXJuIGUua2luZD09PWBhcHByb3ZhbF9kZWNpZGVkYDtjYXNlYHByb29mc2A6cmV0dXJuIGUua2luZD09PWBwcm9vZmA7Y2FzZWBvdGhlcmA6cmV0dXJuIGUua2luZCE9PWBhcHByb3ZhbF9kZWNpZGVkYCYmZS5raW5kIT09YHByb29mYH19ZnVuY3Rpb24gbGEoZSl7bGV0IHQ9bmV3IE1hcDtyZXR1cm4gZS5tYXAoZT0-e2xldCBuPUpTT04uc3RyaW5naWZ5KGUpLHI9dC5nZXQobik_PzA7cmV0dXJuIHQuc2V0KG4scisxKSx7a2V5OmAke259IyR7U3RyaW5nKHIpfWAsaXRlbTplfX0pfWZ1bmN0aW9uIHVhKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlKXtsZXQgZT1uZXcgRGF0ZShuLml0ZW0uYXQqMWUzKSxyPWAke1N0cmluZyhlLmdldEZ1bGxZZWFyKCkpfS0ke1N0cmluZyhlLmdldE1vbnRoKCkpfS0ke1N0cmluZyhlLmdldERhdGUoKSl9YCxpPXRbdC5sZW5ndGgtMV07aSE9PXZvaWQgMCYmaS5kYXk9PT1yP2kucm93cy5wdXNoKG4pOnQucHVzaCh7ZGF5OnIsYXQ6bi5pdGVtLmF0LHJvd3M6W25dfSl9cmV0dXJuIHR9dmFyIGRhPXtzdWJtaXR0ZWQ6YHN1Ym1pdHRlZGAsbmVlZHNfY3JlZGl0czpgbmVlZHMtY3JlZGl0c2AsZmFpbGVkOmBmYWlsZWRgLHJlY29yZGVkOmByZWNvcmRlZGB9O2Z1bmN0aW9uIGZhKGUpe2xldCB0PSgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbXV0ZWRgLGNoaWxkcmVuOkkubm9uZX0pO3N3aXRjaChlLmtpbmQpe2Nhc2VgYXBwcm92YWxfZGVjaWRlZGA6c3dpdGNoKGUuZGVjaXNpb24pe2Nhc2VgYXBwcm92ZWRgOnJldHVybnt3aGF0OkkuYXBwcm92ZWQsY29udGFjdDp0LHN0YXR1czooMCxDLmpzeCkoY2Use3N0YXR1czpgYXBwcm92ZWRgfSl9O2Nhc2VgYXBwcm92ZWRfYnlfcnVsZXNgOnJldHVybnt3aGF0OkkuYXBwcm92ZWRCeVJ1bGVzLGNvbnRhY3Q6dCxzdGF0dXM6KDAsQy5qc3gpKGNlLHtzdGF0dXM6YGFwcHJvdmVkYH0pfTtjYXNlYGRlbmllZGA6cmV0dXJue3doYXQ6SS5kZW5pZWQsY29udGFjdDp0LHN0YXR1czooMCxDLmpzeCkoY2Use3N0YXR1czpgZGVuaWVkYH0pfTtjYXNlYGNhbmNlbGxlZGA6cmV0dXJue3doYXQ6SS5jYW5jZWxsZWQsY29udGFjdDp0LHN0YXR1czooMCxDLmpzeCkoY2Use3N0YXR1czpgZGVuaWVkYCxjaGlsZHJlbjpJLmNhbmNlbGxlZENoaXB9KX19YnJlYWs7Y2FzZWBwcm9vZmA6cmV0dXJuIGUuc3RhdGU9PT1gcmVjZWl2ZWRgP3t3aGF0OkkucHJvb2ZSZWNlaXZlZCxjb250YWN0OnQsc3RhdHVzOigwLEMuanN4KShjZSx7c3RhdHVzOmByZWNlaXZlZGB9KX06e3doYXQ6ZS5kaXJlY3Rpb249PT1gcmVjZWl2ZWRgP0kucHJvb2ZSZWNlaXZlZDpJLnByb29mU2VudCxjb250YWN0OnQsc3RhdHVzOigwLEMuanN4KSh0bix7c3RhdGU6ZGFbZS5zdGF0ZV19KX07Y2FzZWBzZW5kZXJfYmxvY2tlZGA6cmV0dXJue3doYXQ6SS5zZW5kZXJCbG9ja2VkLGNvbnRhY3Q6KDAsQy5qc3gpKGRlLHtwcmVmaXg6SS5zZW5kZXJQcmVmaXgsdmFsdWU6ZS5zZW5kZXJDb2RlfSksc3RhdHVzOnR9O2Nhc2VgY29udGFjdF9ibG9ja2VkYDpyZXR1cm57d2hhdDpJLmNvbnRhY3RCbG9ja2VkLGNvbnRhY3Q6dCxzdGF0dXM6dH07Y2FzZWBydWxlc19jaGFuZ2VkYDpyZXR1cm57d2hhdDpJLnJ1bGVzQ2hhbmdlZCxjb250YWN0OnQsc3RhdHVzOnR9fXJldHVybnt3aGF0OmBgLGNvbnRhY3Q6dCxzdGF0dXM6dH19ZnVuY3Rpb24gcGEoe2l0ZW06ZSxpc05ldzp0fSl7bGV0IG49bmV3IERhdGUoZS5hdCoxZTMpLHt3aGF0OnIsY29udGFjdDppLHN0YXR1czphfT1mYShlKSxvPUN0KCEwLHtpc05ldzp0fSk7cmV0dXJuKDAsQy5qc3hzKShgdHJgLHtyZWY6by5yZWYsY2hpbGRyZW46WygwLEMuanN4cykoYHRkYCx7Y2xhc3NOYW1lOmBhbC1hY3Rpdml0eS10aW1lIGFsLXRleHQtY29kZWAsY2hpbGRyZW46W28uaGlnaGxpZ2h0LCgwLEMuanN4KShgdGltZWAse2RhdGVUaW1lOm4udG9JU09TdHJpbmcoKSxjaGlsZHJlbjpvYS5mb3JtYXQobil9KV19KSwoMCxDLmpzeCkoYHRkYCx7Y2hpbGRyZW46cn0pLCgwLEMuanN4KShgdGRgLHtjaGlsZHJlbjppfSksKDAsQy5qc3gpKGB0ZGAse2NoaWxkcmVuOmF9KV19KX1mdW5jdGlvbiBtYSh7cHJvYmxlbTplLG9uUmV0cnk6dH0pe2xldCBuPSgwLEMuanN4KShPLHtzaXplOmBzbWAsb25DbGljazp0LGNoaWxkcmVuOkkudHJ5QWdhaW59KTtzd2l0Y2goZSl7Y2FzZWBub3Rfc2V0X3VwYDpyZXR1cm4oMCxDLmpzeCkoQSx7aWNvbjpgc2V0dGluZ3NgLHRpdGxlOkkubm90U2V0VXBUaXRsZSxwcm9tcHQ6SS5ub3RTZXRVcFByb21wdH0pO2Nhc2Vgc2Vzc2lvbmA6cmV0dXJuKDAsQy5qc3gpKGsse3RvbmU6YGluZm9gLHRpdGxlOkkuc2Vzc2lvblRpdGxlLGNoaWxkcmVuOkkuc2Vzc2lvbkJvZHl9KTtjYXNlYG9mZmxpbmVgOnJldHVybigwLEMuanN4KShrLHt0b25lOmBvZmZsaW5lYCx0aXRsZTpJLm9mZmxpbmVUaXRsZSxhY3Rpb246bixjaGlsZHJlbjpJLm9mZmxpbmVCb2R5fSk7Y2FzZWBlcnJvcmA6cmV0dXJuKDAsQy5qc3gpKGsse3RvbmU6YHdhcm5pbmdgLHRpdGxlOkkuZXJyb3JUaXRsZSxhY3Rpb246bixjaGlsZHJlbjpJLmVycm9yQm9keX0pfX1mdW5jdGlvbiBoYSh7YXBpOmV9KXtsZXQgdD0oMCxsLnVzZVJlZikoZT8_R24oKSksW24scl09KDAsbC51c2VTdGF0ZSkoe3N0YXRlOmBsb2FkaW5nYH0pLFtpLGFdPSgwLGwudXNlU3RhdGUpKGBhbGxgKSxvPSgwLGwudXNlUmVmKSghMCkscz1hdCgpLGM9KDAsbC51c2VDYWxsYmFjaykoYXN5bmMgZT0-e2xldCBuPWA_bGltaXQ9JHtTdHJpbmcoWGkpfSR7ZT09PXZvaWQgMD9gYDpgJmN1cnNvcj0ke2VuY29kZVVSSUNvbXBvbmVudChlKX1gfWAscj1hd2FpdCB0LmN1cnJlbnQuZ2V0KGAke1lpfSR7bn1gKTtyZXR1cm4gci5raW5kPT09YG9rYD9pYShyLmRhdGEpPz9gZXJyb3JgOmFhKHIpfSxbXSksdT0oMCxsLnVzZUNhbGxiYWNrKShhc3luYygpPT57cih7c3RhdGU6YGxvYWRpbmdgfSk7bGV0IGU9YXdhaXQgYygpO28uY3VycmVudCYmcih0eXBlb2YgZT09YHN0cmluZ2A_e3N0YXRlOmBmYWlsZWRgLHByb2JsZW06ZX06e3N0YXRlOmByZWFkeWAsaXRlbXM6ZS5pdGVtcywuLi5fYShlKSxtb3JlOmBpZGxlYCxhc09mOkRhdGUubm93KCksc3RhbGU6ITEsZW50ZXJpbmc6W119KX0sW2NdKSxkPSgwLGwudXNlQ2FsbGJhY2spKGFzeW5jIGU9PntpZihlLm5leHRDdXJzb3I9PT12b2lkIDApcmV0dXJuO3Ioey4uLmUsbW9yZTpgbG9hZGluZ2B9KTtsZXQgdD1hd2FpdCBjKGUubmV4dEN1cnNvcik7by5jdXJyZW50JiZyKHR5cGVvZiB0PT1gc3RyaW5nYD97Li4uZSxtb3JlOnR9OntzdGF0ZTpgcmVhZHlgLGFzT2Y6ZS5hc09mLHN0YWxlOmUuc3RhbGUsaXRlbXM6Wy4uLmUuaXRlbXMsLi4udC5pdGVtc10sLi4uX2EodCksbW9yZTpgaWRsZWAsZW50ZXJpbmc6W119KX0sW2NdKSxmPSgwLGwudXNlQ2FsbGJhY2spKGFzeW5jKCk9PntsZXQgZT1hd2FpdCBjKCk7by5jdXJyZW50JiZyKHQ9PntpZih0LnN0YXRlIT09YHJlYWR5YClyZXR1cm4gdDtpZih0eXBlb2YgZT09YHN0cmluZ2ApcmV0dXJuey4uLnQsc3RhbGU6ITB9O2xldCBuPW5ldyBTZXQobGEodC5pdGVtcykubWFwKGU9PmUua2V5KSkscj1sYShlLml0ZW1zKS5maWx0ZXIoZT0-IW4uaGFzKGUua2V5KSk7cmV0dXJuIHIubGVuZ3RoPT09MD97Li4udCxhc09mOkRhdGUubm93KCksc3RhbGU6ITEsZW50ZXJpbmc6W119OnsuLi50LGl0ZW1zOlsuLi5yLm1hcChlPT5lLml0ZW0pLC4uLnQuaXRlbXNdLGFzT2Y6RGF0ZS5ub3coKSxzdGFsZTohMSxlbnRlcmluZzpyLnNsaWNlKDAsUWkpLm1hcChlPT5lLmtleSl9fSl9LFtjXSk7KDAsbC51c2VFZmZlY3QpKCgpPT4oby5jdXJyZW50PSEwLHUoKSwoKT0-e28uY3VycmVudD0hMX0pLFt1XSk7bGV0IHA9bi5zdGF0ZT09PWByZWFkeWA7KDAsbC51c2VFZmZlY3QpKCgpPT57aWYoIXB8fHMpcmV0dXJuO2xldCBlPXNldEludGVydmFsKCgpPT52b2lkIGYoKSxaaSk7cmV0dXJuKCk9PmNsZWFySW50ZXJ2YWwoZSl9LFtwLHMsZl0pO2xldCBtPW4uc3RhdGU9PT1gbG9hZGluZ2A_YGNoZWNraW5nYDpuLnN0YXRlPT09YHJlYWR5YD9uLnN0YWxlP2ByZWNvbm5lY3RpbmdgOmBjb25uZWN0ZWRgOmBub3QtcnVubmluZ2A7cmV0dXJuKDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1hY3Rpdml0eS1oZWFkYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBoMWAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0xYCxjaGlsZHJlbjpJLnRpdGxlfSksKDAsQy5qc3gpKHZ0LHtzdGF0ZTptfSksbi5zdGF0ZT09PWByZWFkeWAmJm4uc3RhbGU_KDAsQy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgYWwtYWN0aXZpdHktYXNvZiBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOltJLmFzT2YsYCBgLCgwLEMuanN4KShgdGltZWAse2RhdGVUaW1lOm5ldyBEYXRlKG4uYXNPZikudG9JU09TdHJpbmcoKSxjaGlsZHJlbjpvYS5mb3JtYXQobi5hc09mKX0pXX0pOm51bGxdfSksbi5zdGF0ZT09PWBsb2FkaW5nYD8oMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZCBhbC1zci1vbmx5YCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOkkubG9hZGluZ30pLCgwLEMuanN4KShgZGl2YCx7ImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46KDAsQy5qc3gpKCR0LHtsb2FkaW5nOiEwLGxpbmVzOjYsbGFiZWw6SS5sb2FkaW5nfSl9KV19KTpuLnN0YXRlPT09YGZhaWxlZGA_KDAsQy5qc3gpKG1hLHtwcm9ibGVtOm4ucHJvYmxlbSxvblJldHJ5OigpPT52b2lkIHUoKX0pOm4uaXRlbXMubGVuZ3RoPT09MCYmbi5uZXh0Q3Vyc29yPT09dm9pZCAwPygwLEMuanN4KShBLHtpY29uOmBhY3Rpdml0eWAsdGl0bGU6SS5lbXB0eVRpdGxlLHByb21wdDpJLmVtcHR5UHJvbXB0fSk6KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LWNoaXBzYCxyb2xlOmBncm91cGAsImFyaWEtbGFiZWwiOkkuZmlsdGVyTGFiZWwsY2hpbGRyZW46TC5tYXAoZT0-KDAsQy5qc3gpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLGNsYXNzTmFtZTpgYWwtYWN0aXZpdHktY2hpcCBhbC10ZXh0LWJvZHktc21gLCJhcmlhLXByZXNzZWQiOmk9PT1lLmlkP2B0cnVlYDpgZmFsc2VgLG9uQ2xpY2s6KCk9PnthKGUuaWQpLHIoZT0-ZS5zdGF0ZT09PWByZWFkeWA_ey4uLmUsZW50ZXJpbmc6W119OmUpfSxjaGlsZHJlbjplLmxhYmVsfSxlLmlkKSl9KSwoMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtYWN0aXZpdHktc3RhZ2VgLGNoaWxkcmVuOigwLEMuanN4KShnYSx7ZmlsdGVyOmksaXRlbXM6bi5pdGVtcyxlbnRlcmluZzpuLmVudGVyaW5nfSxpKX0pLG4ubW9yZSE9PWBpZGxlYCYmbi5tb3JlIT09YGxvYWRpbmdgPygwLEMuanN4KShtYSx7cHJvYmxlbTpuLm1vcmUsb25SZXRyeTooKT0-dm9pZCBkKG4pfSk6bnVsbCxuLm5leHRDdXJzb3IhPT12b2lkIDAmJihuLm1vcmU9PT1gaWRsZWB8fG4ubW9yZT09PWBsb2FkaW5nYCk_KDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LW1vcmVgLGNoaWxkcmVuOigwLEMuanN4KShPLHtvbkNsaWNrOigpPT52b2lkIGQobiksZGlzYWJsZWQ6bi5tb3JlPT09YGxvYWRpbmdgLCJhcmlhLWJ1c3kiOm4ubW9yZT09PWBsb2FkaW5nYCxjaGlsZHJlbjpuLm1vcmU9PT1gbG9hZGluZ2A_SS5sb2FkaW5nTW9yZTpJLnNob3dNb3JlfSl9KTpudWxsXX0pLCgwLEMuanN4KShaZSx7ZmllbGRzOltdfSldfSl9ZnVuY3Rpb24gZ2Eoe2ZpbHRlcjplLGl0ZW1zOnQsZW50ZXJpbmc6bn0pe2xldCByPWxhKHQpLmZpbHRlcih0PT5jYSh0Lml0ZW0sZSkpLGk9bmV3IFNldChuKTtyZXR1cm4oMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtYWN0aXZpdHktbGlzdGAsImRhdGEtZmlsdGVyIjplLGNoaWxkcmVuOnIubGVuZ3RoPT09MD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZCBhbC1hY3Rpdml0eS1ub25lYCxjaGlsZHJlbjpJLmZpbHRlckVtcHR5fSk6dWEocikubWFwKGU9PigwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LXNlY3Rpb25gLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7Y2xhc3NOYW1lOmBhbC1hY3Rpdml0eS1kYXkgYWwtdGV4dC1sYWJlbGAsY2hpbGRyZW46c2EuZm9ybWF0KGUuYXQqMWUzKX0pLCgwLEMuanN4cykoYHRhYmxlYCx7Y2xhc3NOYW1lOmBhbC1hY3Rpdml0eS10YWJsZWAsY2hpbGRyZW46WygwLEMuanN4KShgY2FwdGlvbmAse2NsYXNzTmFtZTpgYWwtc3Itb25seWAsY2hpbGRyZW46YCR7SS50YWJsZUxhYmVsfSwgJHtzYS5mb3JtYXQoZS5hdCoxZTMpfWB9KSwoMCxDLmpzeCkoYHRoZWFkYCx7Y2xhc3NOYW1lOmBhbC1zci1vbmx5YCxjaGlsZHJlbjooMCxDLmpzeHMpKGB0cmAse2NoaWxkcmVuOlsoMCxDLmpzeCkoYHRoYCx7c2NvcGU6YGNvbGAsY2hpbGRyZW46SS5jb2xUaW1lfSksKDAsQy5qc3gpKGB0aGAse3Njb3BlOmBjb2xgLGNoaWxkcmVuOkkuY29sV2hhdH0pLCgwLEMuanN4KShgdGhgLHtzY29wZTpgY29sYCxjaGlsZHJlbjpJLmNvbENvbnRhY3R9KSwoMCxDLmpzeCkoYHRoYCx7c2NvcGU6YGNvbGAsY2hpbGRyZW46SS5jb2xTdGF0dXN9KV19KX0pLCgwLEMuanN4KShgdGJvZHlgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46ZS5yb3dzLm1hcChlPT4oMCxDLmpzeCkocGEse2l0ZW06ZS5pdGVtLGlzTmV3OmkuaGFzKGUua2V5KX0sZS5rZXkpKX0pXX0pXX0sZS5kYXkpKX0pfWZ1bmN0aW9uIF9hKGUpe3JldHVybiBlLm5leHRDdXJzb3I9PT12b2lkIDA_e306e25leHRDdXJzb3I6ZS5uZXh0Q3Vyc29yfX12YXIgdmE9YFgtQWdlbnRMaW5rLUNTUkZgLHlhPWAvYXBpL3VpL3BheS1jb25maXJtL2JlZ2luYCxiYT1gL2FwaS91aS9wYXktY29uZmlybS9maW5pc2hgLHhhPWU9PntsZXQgdD1lLnJlcGxhY2UoLy0vZyxgK2ApLnJlcGxhY2UoL18vZyxgL2ApLG49YXRvYih0K2A9YC5yZXBlYXQoKDQtdC5sZW5ndGglNCklNCkpO3JldHVybiBVaW50OEFycmF5LmZyb20obixlPT5lLmNoYXJDb2RlQXQoMCkpfTtmdW5jdGlvbiBTYShlKXtsZXQgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoZSkpLG49YGA7Zm9yKGxldCBlIG9mIHQpbis9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtyZXR1cm4gYnRvYShuKS5yZXBsYWNlKC9cKy9nLGAtYCkucmVwbGFjZSgvXC8vZyxgX2ApLnJlcGxhY2UoLz0rJC8sYGApfXZhciBDYT1lPT5lP25ldyBVaW50OEFycmF5KGUpOm5ldyBVaW50OEFycmF5O2Z1bmN0aW9uIHdhKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUucmVkdWNlKChlLHQpPT5lKzIrdC5sZW5ndGgsMCkpLG49MDtmb3IobGV0IHIgb2YgZSl0W25dPXIubGVuZ3RoPj44LHRbbisxXT1yLmxlbmd0aCYyNTUsdC5zZXQocixuKzIpLG4rPTIrci5sZW5ndGg7cmV0dXJuIHR9ZnVuY3Rpb24gVGEoKXtyZXR1cm4gdHlwZW9mIGRvY3VtZW50PmB1YD9gYDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBtZXRhW25hbWU9ImFnZW50bGluay1jc3JmIl1gKT8uZ2V0QXR0cmlidXRlKGBjb250ZW50YCk_P2BgfWZ1bmN0aW9uIEVhKGUpe2lmKHR5cGVvZiBlIT1gb2JqZWN0YHx8IWUpcmV0dXJuO2xldCB0PWUsbj10LmFsbG93Q3JlZGVudGlhbHM7aWYodHlwZW9mIHQucnBJZD09YHN0cmluZ2AmJnR5cGVvZiB0LmNoYWxsZW5nZT09YHN0cmluZ2AmJnR5cGVvZiB0LnByZlNhbHQ9PWBzdHJpbmdgJiZ0eXBlb2YgdC50aW1lb3V0TXM9PWBudW1iZXJgJiZBcnJheS5pc0FycmF5KG4pJiZuLmV2ZXJ5KGU9PnR5cGVvZiBlPT1gc3RyaW5nYCkpcmV0dXJue3JwSWQ6dC5ycElkLGNoYWxsZW5nZTp0LmNoYWxsZW5nZSxhbGxvd0NyZWRlbnRpYWxzOm4sdGltZW91dE1zOnQudGltZW91dE1zLHByZlNhbHQ6dC5wcmZTYWx0fX1mdW5jdGlvbiBEYShlPXt9KXtsZXQgdD1lLmZldGNoPz8oKGUsdCk9Pmdsb2JhbFRoaXMuZmV0Y2goZSx0KSksbj0oKT0-ZS50b2tlbj8_VGEoKSxyPSgpPT5lLmNyZWRlbnRpYWxzPz8odHlwZW9mIG5hdmlnYXRvcj5gdWA_dm9pZCAwOm5hdmlnYXRvci5jcmVkZW50aWFscyk7YXN5bmMgZnVuY3Rpb24gaShlLHIsaSxhKXtsZXQgbz17W3ZhXTpuKCksImNvbnRlbnQtdHlwZSI6YGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbWAsIlgtQWdlbnRMaW5rLUlucHV0IjpTYShyKX07YSYmKG9bYFgtQWdlbnRMaW5rLVByZXNlbmNlYF09YHBhc3NrZXlgKTt0cnl7bGV0IG49YXdhaXQgdChlLHttZXRob2Q6YFBPU1RgLGhlYWRlcnM6byxib2R5OmksY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSkscj1hd2FpdCBuLmpzb24oKTtyZXR1cm57c3RhdHVzOm4uc3RhdHVzLGpzb246dHlwZW9mIHI9PWBvYmplY3RgJiZyP3I6e319fWNhdGNoe3JldHVybn1maW5hbGx5e2kuZmlsbCgwKX19bGV0IGE9ZT0-e2lmKGU9PT12b2lkIDApcmV0dXJue2tpbmQ6YHVua25vd25gfTtsZXQgdD1lLmpzb24uc3RhdHVzO2lmKHR5cGVvZiB0IT1gc3RyaW5nYClyZXR1cm57a2luZDpgdW5rbm93bmB9O2xldCBuPWUuanNvbi5yZXRyeUFmdGVyO3JldHVybntraW5kOmBzdGF0dXNgLHN0YXR1czp0LC4uLnR5cGVvZiBuPT1gbnVtYmVyYD97cmV0cnlBZnRlcjpufTp7fX19O3JldHVybnthc3luYyBiZWdpbihlKXtsZXQgdD1hd2FpdCBpKHlhLGUsbmV3IFVpbnQ4QXJyYXksITEpO2lmKHQ9PT12b2lkIDApcmV0dXJue2tpbmQ6YGZhaWxlZGB9O2xldCBuPXQuanNvbjtpZihuLnN0YXR1cyE9PWByZWFkeWApcmV0dXJuIHR5cGVvZiBuLnN0YXR1cz09YHN0cmluZ2A_e2tpbmQ6YHJlZnVzZWRgLHN0YXR1czpuLnN0YXR1c306e2tpbmQ6YGZhaWxlZGB9O2xldCByPU50KG4uc3RhdGVtZW50KSxhPUVhKG4ucHVibGljS2V5KTtyZXR1cm4gcj09PXZvaWQgMHx8YT09PXZvaWQgMHx8dHlwZW9mIG4uY2VyZW1vbnkhPWBzdHJpbmdgP3traW5kOmBmYWlsZWRgfTp7a2luZDpgcmVhZHlgLGNlcmVtb255Om4uY2VyZW1vbnksdmlldzp6dChyKSxzdGF0ZW1lbnRKc29uOkpTT04uc3RyaW5naWZ5KHIpLHB1YmxpY0tleTphLHJlbWVtYmVyT2ZmZXJlZDpuLnJlbWVtYmVyT2ZmZXJlZD09PSEwfX0sYXN5bmMgZmluaXNoUGFzc2tleShlLHQsbil7bGV0IG89cigpO2lmKG89PT12b2lkIDApcmV0dXJue2tpbmQ6YGRpc21pc3NlZGB9O2xldCBzO3RyeXtzPWF3YWl0IG8uZ2V0KHtwdWJsaWNLZXk6e2NoYWxsZW5nZTp4YSh0LmNoYWxsZW5nZSkscnBJZDp0LnJwSWQsYWxsb3dDcmVkZW50aWFsczp0LmFsbG93Q3JlZGVudGlhbHMubWFwKGU9Pih7dHlwZTpgcHVibGljLWtleWAsaWQ6eGEoZSl9KSksdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgLHRpbWVvdXQ6dC50aW1lb3V0TXMsZXh0ZW5zaW9uczp7cHJmOntldmFsOntmaXJzdDp4YSh0LnByZlNhbHQpfX19fX0pfWNhdGNoe3JldHVybntraW5kOmBkaXNtaXNzZWRgfX1pZihzPT09bnVsbClyZXR1cm57a2luZDpgZGlzbWlzc2VkYH07bGV0IGM9cyxsPWMucmVzcG9uc2UsdT1DYShjLmdldENsaWVudEV4dGVuc2lvblJlc3VsdHMoKS5wcmY_LnJlc3VsdHM_LmZpcnN0KSxkPXdhKFtDYShjLnJhd0lkKSxDYShsLmF1dGhlbnRpY2F0b3JEYXRhKSxDYShsLmNsaWVudERhdGFKU09OKSxDYShsLnNpZ25hdHVyZSksQ2EobC51c2VySGFuZGxlKSx1XSk7cmV0dXJuIHUuZmlsbCgwKSxuPy4oKSxhKGF3YWl0IGkoYmEse2NlcmVtb255OmV9LGQsITApKX0sYXN5bmMgZmluaXNoQ29kZShlLHQpe2xldCBuPVVpbnQ4QXJyYXkuZnJvbShuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodCkpO3JldHVybiBhKGF3YWl0IGkoYmEse2NlcmVtb255OmV9LG4sITEpKX19fWZ1bmN0aW9uIE9hKCl7aWYodHlwZW9mIG5hdmlnYXRvcj5gdWApcmV0dXJuYG90aGVyYDtsZXQgZT1uYXZpZ2F0b3IudXNlckFnZW50RGF0YT8ucGxhdGZvcm0_P25hdmlnYXRvci5wbGF0Zm9ybTtyZXR1cm4vbWFjL2kudGVzdChlKT9gbWFjYDovd2luL2kudGVzdChlKT9gd2luZG93c2A6YG90aGVyYH1mdW5jdGlvbiBrYSgpe3JldHVybiB0eXBlb2Ygd2luZG93PGB1YCYmdHlwZW9mIHdpbmRvdy5tYXRjaE1lZGlhPT1gZnVuY3Rpb25gJiZ3aW5kb3cubWF0Y2hNZWRpYShgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSlgKS5tYXRjaGVzfWZ1bmN0aW9uIEFhKGUpe2xldCB0PSgwLGwudXNlTWVtbykoKCk9PmUuY2xpZW50Pz9EYSgpLFtlLmNsaWVudF0pLG49ZS5wbGF0Zm9ybT8_T2EoKSxyPWUucmVkdWNlZE1vdGlvbj8_a2EoKSxbaSxhXT0oMCxsLnVzZVN0YXRlKSh7cGhhc2U6YGxvYWRpbmdgLGNsb3NlZDohMSxiYWNrdXA6ITEsYnVzeTohMH0pLFtvLHNdPSgwLGwudXNlU3RhdGUpKCExKSxbYyx1XT0oMCxsLnVzZVN0YXRlKSghMSksZD0oMCxsLnVzZVJlZikodm9pZCAwKSxmPSgwLGwudXNlUmVmKShlLmlucHV0KSxwPSgwLGwudXNlUmVmKSghMSksbT1lLmlucHV0LmZsb3c9PT1gbGltaXRzYCxoPShlLHQ9YGluZm9gKT0-YShuPT4oey4uLm4scGhhc2U6YHJlYWR5YCxjbG9zZWQ6ITAsYnVzeTohMSxub3RpY2U6e3RvbmU6dCx0ZXh0OmV9fSkpLGc9KDAsbC51c2VDYWxsYmFjaykoYXN5bmMgZT0-e2xldCBuPWYuY3VycmVudCxyPW4uZmxvdz09PWBwcm9vZmAmJmU_ey4uLm4scmVtZW1iZXI6ITB9Om4saT1hd2FpdCB0LmJlZ2luKHIpO2lmKGkua2luZD09PWByZWZ1c2VkYCYmaS5zdGF0dXM9PT1gbm90X29mZmVyZWRgJiZlKXJldHVybiBzKCExKSx1KCExKSxhKGU9Pih7Li4uZSxub3RpY2U6e3RvbmU6YGluZm9gLHRleHQ6RXQubm90T2ZmZXJlZH19KSksZyghMSk7aWYoaS5raW5kIT09YHJlYWR5YClyZXR1cm4gaS5raW5kPT09YHJlZnVzZWRgJiZpLnN0YXR1cz09PWBub3RfcGVuZGluZ2A_aChFdC5kZWNpZGVkKTppLmtpbmQ9PT1gcmVmdXNlZGAmJmkuc3RhdHVzPT09YGJ1c3lgP2EoZT0-KHsuLi5lLGJ1c3k6ITEsbm90aWNlOnt0b25lOmBlcnJvcmAsdGV4dDpFdC5idXN5fX0pKTpoKEV0LmZhaWxlZFN0YXJ0KSwhMTtsZXQgbz1kLmN1cnJlbnQ_LnN0YXRlbWVudEpzb247ZC5jdXJyZW50PXtjZXJlbW9ueTppLmNlcmVtb255LHB1YmxpY0tleTppLnB1YmxpY0tleSxzdGF0ZW1lbnRKc29uOmkuc3RhdGVtZW50SnNvbixzdGFsZTohMX0sdShpLnJlbWVtYmVyT2ZmZXJlZCk7bGV0IGM9aS5wdWJsaWNLZXkuYWxsb3dDcmVkZW50aWFscy5sZW5ndGg-MCxsPW8hPT12b2lkIDAmJm8hPT1pLnN0YXRlbWVudEpzb247cmV0dXJuIGEoZT0-KHsuLi5lLHZpZXc6aS52aWV3LHBoYXNlOmUucGhhc2U9PT1gbG9hZGluZ2A_Yz9gcmVhZHlgOmBiYWNrdXBgOmUuYmFja3VwP2BiYWNrdXBgOmByZWFkeWAsYnVzeTohMSwuLi5sP3tub3RpY2U6e3RvbmU6YGluZm9gLHRleHQ6RXQuY2hhbmdlZH19Ont9fSkpLCFsfSxbdF0pOygwLGwudXNlRWZmZWN0KSgoKT0-e2coITEpfSxbZ10pO2xldCBfPWFzeW5jKCk9PmQuY3VycmVudD09PXZvaWQgMHx8ZC5jdXJyZW50LnN0YWxlP2cobyk6ITAsdj0odCxuKT0-e2lmKHQua2luZD09PWBkaXNtaXNzZWRgKXthKGU9Pih7Li4uZSxwaGFzZTpgcmVhZHlgLGJ1c3k6ITEsbm90aWNlOnt0b25lOmBpbmZvYCx0ZXh0OkV0LmNhbmNlbGxlZH19KSk7cmV0dXJufWlmKHQua2luZD09PWB1bmtub3duYClyZXR1cm4gaChFdC5zdGlsbFdvcmtpbmcpO2xldHtzdGF0dXM6cn09dDtpZihkLmN1cnJlbnQhPT12b2lkIDAmJihufHxyIT09YHByZXNlbmNlX3JlamVjdGVkYCkmJihkLmN1cnJlbnQuc3RhbGU9ITApLHI9PT1gYXBwbGllZGApe2EoZT0-KHsuLi5lLHBoYXNlOmBkb25lYCxidXN5OiExfSkpLHAuY3VycmVudHx8KHAuY3VycmVudD0hMCxlLm9uRG9uZSgpKTtyZXR1cm59bGV0IGk9KGUsdD17fSk9PmEobj0-KHsuLi5uLHBoYXNlOm4uYmFja3VwP2BiYWNrdXBgOmByZWFkeWAsYnVzeTohMSwuLi5lPT09dm9pZCAwP3t9Ontub3RpY2U6ZX0sLi4udH0pKTtzd2l0Y2gocil7Y2FzZWBwcmVzZW5jZV9yZWplY3RlZGA6cmV0dXJuIGkoe3RvbmU6YGVycm9yYCx0ZXh0Om4_RXQubm90VmVyaWZpZWQ6RXQud3JvbmdDb2RlfSk7Y2FzZWB2ZXJpZmljYXRpb25fcmVxdWlyZWRgOmNhc2VgcHJlc2VuY2VfcmVxdWlyZWRgOnJldHVybiBpKHt0b25lOmBlcnJvcmAsdGV4dDpFdC5ub3RWZXJpZmllZH0pO2Nhc2VgcGFzc2tleV91cGRhdGVfbmVlZGVkYDpyZXR1cm4gaSh7dG9uZTpgaW5mb2AsdGV4dDpFdC51cGRhdGVOZWVkZWR9LHtiYWNrdXA6ITAscGhhc2U6YGJhY2t1cGB9KTtjYXNlYHRyaWVzX2V4aGF1c3RlZGA6cmV0dXJuIGgoRXQudHJpZXNVc2VkKTtjYXNlYGV4cGlyZWRgOmNhc2VgdW5rbm93bmA6cmV0dXJuIGgoRXQuZXhwaXJlZCk7Y2FzZWBub3RfcGVuZGluZ2A6cmV0dXJuIGgoRXQuZGVjaWRlZCk7Y2FzZWBjaGFuZ2VkYDppKHt0b25lOmBpbmZvYCx0ZXh0OkV0LmNoYW5nZWR9KSxnKG8pO3JldHVybjtjYXNlYHdhaXRgOntsZXQgZT10LnJldHJ5QWZ0ZXIhPT12b2lkIDAmJnQucmV0cnlBZnRlcj4wP01hdGguY2VpbCh0LnJldHJ5QWZ0ZXIpOjE7cmV0dXJuIGkoe3RvbmU6YGVycm9yYCx0ZXh0OkV0LndhaXQucmVwbGFjZShge3NlY29uZHN9YCxTdHJpbmcoZSkpfSl9Y2FzZWBidXN5YDpyZXR1cm4gaSh7dG9uZTpgZXJyb3JgLHRleHQ6RXQuYnVzeX0pO2Nhc2VgcmVmdXNlZGA6cmV0dXJuIGgobT9FdC5yZWZ1c2VkTGltaXRzOkV0LnJlZnVzZWRQcm9vZixgZXJyb3JgKTtkZWZhdWx0OnJldHVybiBoKEV0LnN0aWxsV29ya2luZyl9fSx5PSgpPT57bGV0IGU9c2V0VGltZW91dCgoKT0-YShlPT4oey4uLmUscGhhc2U6YHJlY29yZGluZ2B9KSksNDAwKTtyZXR1cm4oKT0-Y2xlYXJUaW1lb3V0KGUpfSxiPWFzeW5jKCk9PntpZihhKGU9PntsZXR7bm90aWNlOnQsLi4ubn09ZTtyZXR1cm57Li4ubixidXN5OiEwfX0pLCFhd2FpdCBfKCl8fGQuY3VycmVudD09PXZvaWQgMClyZXR1cm47bGV0e2NlcmVtb255OmUscHVibGljS2V5Om59PWQuY3VycmVudDthKGU9Pih7Li4uZSxwaGFzZTpgd2FpdGluZ2B9KSk7bGV0IHIsaT1hd2FpdCB0LmZpbmlzaFBhc3NrZXkoZSxuLCgpPT57cj15KCl9KTtyPy4oKSx2KGksITApfSx4PWFzeW5jIGU9PntpZihhKGU9PntsZXR7bm90aWNlOnQsLi4ubn09ZTtyZXR1cm57Li4ubixidXN5OiEwfX0pLCFhd2FpdCBfKCl8fGQuY3VycmVudD09PXZvaWQgMClyZXR1cm47bGV0IG49eSgpLHI9YXdhaXQgdC5maW5pc2hDb2RlKGQuY3VycmVudC5jZXJlbW9ueSxlKTtuKCksdihyLCExKX0sUz1lPT57cyhlKSxhKGU9PntsZXR7bm90aWNlOnQsLi4ubn09ZTtyZXR1cm57Li4ubixidXN5OiEwfX0pLGcoZSl9LHc9KGQuY3VycmVudD8ucHVibGljS2V5LmFsbG93Q3JlZGVudGlhbHMubGVuZ3RoPz8wKT4wO3JldHVybigwLEMuanN4KShXdCx7dmlldzppLnZpZXcscGxhdGZvcm06bixwaGFzZTppLnBoYXNlLC4uLmkubm90aWNlPT09dm9pZCAwP3t9Ontub3RpY2U6aS5ub3RpY2V9LGNsb3NlZDppLmNsb3NlZCxjYW5QYXNza2V5OncsYmFja3VwOiEwLC4uLmM_e3JlbWVtYmVyOntjaGVja2VkOm8sb25DaGFuZ2U6U319Ont9LHJlZHVjZWRNb3Rpb246cixidXN5OmkuYnVzeSxvbkNvbmZpcm06KCk9PnZvaWQgYigpLG9uQ2FuY2VsOmUub25DbG9zZSxvblVzZUJhY2t1cDooKT0-YShlPT57bGV0e25vdGljZTp0LC4uLm59PWU7cmV0dXJuey4uLm4sYmFja3VwOiEwLHBoYXNlOmBiYWNrdXBgfX0pLG9uQ29kZTplPT52b2lkIHgoZSksb25DbG9zZTplLm9uQ2xvc2V9KX12YXIgamE9YFgtQWdlbnRMaW5rLUNTUkZgLE1hPS9eYXByX1tBLVphLXowLTlfLV17MjJ9JC8sTmE9L15bMC05YS1mXXs2NH0kLztmdW5jdGlvbiBQYSgpe3JldHVybiB0eXBlb2YgZG9jdW1lbnQ-YHVgP2BgOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYG1ldGFbbmFtZT0iYWdlbnRsaW5rLWNzcmYiXWApPy5nZXRBdHRyaWJ1dGUoYGNvbnRlbnRgKT8_YGB9dmFyIEZhPWU9PntsZXQgdD1lLnJlcGxhY2UoLy0vZyxgK2ApLnJlcGxhY2UoL18vZyxgL2ApLG49YXRvYih0K2A9YC5yZXBlYXQoKDQtdC5sZW5ndGglNCklNCkpO3JldHVybiBVaW50OEFycmF5LmZyb20obixlPT5lLmNoYXJDb2RlQXQoMCkpfSxJYT1lPT5lP25ldyBVaW50OEFycmF5KGUpOm5ldyBVaW50OEFycmF5O2Z1bmN0aW9uIExhKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUucmVkdWNlKChlLHQpPT5lKzIrdC5sZW5ndGgsMCkpLG49MDtmb3IobGV0IHIgb2YgZSl0W25dPXIubGVuZ3RoPj44LHRbbisxXT1yLmxlbmd0aCYyNTUsdC5zZXQocixuKzIpLG4rPTIrci5sZW5ndGg7cmV0dXJuIHR9dmFyIFJhPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSx6YT1lPT50eXBlb2YgZT09YHN0cmluZ2A7ZnVuY3Rpb24gQmEoZSl7aWYoIVJhKGUpKXJldHVybjtsZXR7d2hvOnQsd2hhdDpuLGNvc3Q6cixleHBpcmVzOmkscnVsZTphLGZyb21BaTpvLGhlYWRsaW5lOnMsdGVybXM6Y309ZTtpZih6YSh0KSYmemEobikmJnphKHIpJiZ6YShpKSYmemEoYSkmJkFycmF5LmlzQXJyYXkobykpcmV0dXJue3dobzp0LHdoYXQ6bixjb3N0OnIsZXhwaXJlczppLHJ1bGU6YSxmcm9tQWk6by5maWx0ZXIoZT0-UmEoZSkmJnphKGUubmFtZSkmJnphKGUudmFsdWUpKS5tYXAoZT0-KHtuYW1lOmUubmFtZSx2YWx1ZTplLnZhbHVlfSkpLC4uLnphKHMpP3toZWFkbGluZTpzfTp7fSwuLi5BcnJheS5pc0FycmF5KGMpP3t0ZXJtczpjLmZpbHRlcih6YSl9Ont9fX1mdW5jdGlvbiBWYShlKXtpZighUmEoZSkpcmV0dXJuO2xldHthcHByb3ZhbElkOnQsc3VtbWFyeTpuLGFjdGlvbkRpZ2VzdDpyLGV4cGlyZXNBdDppLGNvbW1pdG1lbnQ6YSxwYWlkOm8sZGV0YWlsczpzfT1lO2lmKCF6YSh0KXx8IU1hLnRlc3QodCl8fCF6YShuKXx8IXphKHIpfHwhTmEudGVzdChyKXx8dHlwZW9mIGkhPWBudW1iZXJgKXJldHVybjtsZXQgYz1CYShzKTtyZXR1cm57YXBwcm92YWxJZDp0LHN1bW1hcnk6bixhY3Rpb25EaWdlc3Q6cixleHBpcmVzQXQ6aSxjb21taXRtZW50OmE9PT0hMCxwYWlkOm89PT0hMCwuLi5jPT09dm9pZCAwP3t9OntkZXRhaWxzOmN9fX1mdW5jdGlvbiBIYShlPXt9KXtsZXQgdD1lLmZldGNoPz8oKGUsdCk9Pmdsb2JhbFRoaXMuZmV0Y2goZSx0KSksbj0oKT0-ZS50b2tlbj8_UGEoKSxyPSgpPT5lLmNyZWRlbnRpYWxzPz8odHlwZW9mIG5hdmlnYXRvcj5gdWA_dm9pZCAwOm5hdmlnYXRvci5jcmVkZW50aWFscyk7YXN5bmMgZnVuY3Rpb24gaShlKXt0cnl7bGV0IHI9YXdhaXQgdChlLHttZXRob2Q6YEdFVGAsaGVhZGVyczp7W2phXTpuKCl9LGNyZWRlbnRpYWxzOmBzYW1lLW9yaWdpbmAsY2FjaGU6YG5vLXN0b3JlYH0pLGk7dHJ5e2k9YXdhaXQgci5qc29uKCl9Y2F0Y2h7aT12b2lkIDB9cmV0dXJue3N0YXR1czpyLnN0YXR1cyxqc29uOml9fWNhdGNoe3JldHVybn19YXN5bmMgZnVuY3Rpb24gYShlLHIsaSl7dHJ5e2xldCBhPWF3YWl0KGF3YWl0IHQoZSx7bWV0aG9kOmBQT1NUYCxoZWFkZXJzOntbamFdOm4oKSwiQ29udGVudC1UeXBlIjpgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCwuLi5yfSxib2R5OmksY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSkpLmpzb24oKTtyZXR1cm4hUmEoYSl8fCF6YShhLnN0YXR1cyk_e2tpbmQ6YHN0YXR1c2Asc3RhdHVzOmByZWZ1c2VkYH06e2tpbmQ6YHN0YXR1c2Asc3RhdHVzOmEuc3RhdHVzLC4uLnphKGEuZGVjaXNpb24pP3tkZWNpc2lvbjphLmRlY2lzaW9ufTp7fSwuLi50eXBlb2YgYS5yZXRyeUFmdGVyPT1gbnVtYmVyYD97cmV0cnlBZnRlcjphLnJldHJ5QWZ0ZXJ9Ont9fX1jYXRjaHtyZXR1cm57a2luZDpgb2ZmbGluZWB9fWZpbmFsbHl7aS5maWxsKDApfX1hc3luYyBmdW5jdGlvbiBvKGUpe2xldCB0PXIoKTtpZih0PT09dm9pZCAwKXJldHVybjtsZXQgbj1uZXcgVWludDhBcnJheSgzMik7Z2xvYmFsVGhpcy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG4pO2xldCBpO3RyeXtpPWF3YWl0IHQuZ2V0KHtwdWJsaWNLZXk6e2NoYWxsZW5nZTpuLHJwSWQ6YGxvY2FsaG9zdGAsYWxsb3dDcmVkZW50aWFsczpbe3R5cGU6YHB1YmxpYy1rZXlgLGlkOkZhKGUuY3JlZGVudGlhbElkKX1dLHVzZXJWZXJpZmljYXRpb246YHJlcXVpcmVkYCx0aW1lb3V0OjEyZTQsZXh0ZW5zaW9uczp7cHJmOntldmFsOntmaXJzdDpGYShlLnByZlNhbHQpfX19fX0pfWNhdGNoe3JldHVybn1pZihpPT09bnVsbClyZXR1cm47bGV0IGE9aSxvPWEucmVzcG9uc2Uscz1JYShhLmdldENsaWVudEV4dGVuc2lvblJlc3VsdHMoKS5wcmY_LnJlc3VsdHM_LmZpcnN0KSxjPUxhKFtJYShhLnJhd0lkKSxJYShvLmF1dGhlbnRpY2F0b3JEYXRhKSxJYShvLnVzZXJIYW5kbGUpLHNdKTtyZXR1cm4gcy5maWxsKDApLGN9YXN5bmMgZnVuY3Rpb24gcyhlKXtpZihlLmtpbmQ9PT1gY29kZWApcmV0dXJue2JvZHk6VWludDhBcnJheS5mcm9tKG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShlLmNvZGUpKSxoZWFkZXJzOnt9fTtsZXQgdD1hd2FpdCBvKGUucGFzc2tleSk7cmV0dXJuIHQ9PT12b2lkIDA_dm9pZCAwOntib2R5OnQsaGVhZGVyczp7IlgtQWdlbnRMaW5rLVByZXNlbmNlIjpgcGFzc2tleWB9fX1yZXR1cm57YXN5bmMgcGFzc2tleSgpe2xldCBlPWF3YWl0IGkoYC9hcGkvb3duZXIvcGFzc2tleWApO2lmKGU_LnN0YXR1cz09PTUwMylyZXR1cm57a2luZDpgbmVlZHNfb3duZXJgfTtpZihlPT09dm9pZCAwfHxlLnN0YXR1cyE9PTIwMHx8IVJhKGUuanNvbikpcmV0dXJue2tpbmQ6YHJlYWR5YCxvZmZlcmVkOiExfTtsZXQgdD1lLmpzb24ucGFzc2tleTtpZighUmEodCl8fHQucnBJZCE9PWBsb2NhbGhvc3RgKXJldHVybntraW5kOmByZWFkeWAsb2ZmZXJlZDohMX07bGV0e2NyZWRlbnRpYWxJZDpuLHByZlNhbHQ6cn09dDtyZXR1cm4gdC5yZWdpc3RlcmVkPT09ITAmJnphKG4pJiZ6YShyKT97a2luZDpgcmVhZHlgLG9mZmVyZWQ6ITAscGFzc2tleTp7Y3JlZGVudGlhbElkOm4scHJmU2FsdDpyfX06e2tpbmQ6YHJlYWR5YCxvZmZlcmVkOiEwfX0sYXN5bmMgbGlzdCgpe2xldCBlPWF3YWl0IGkoYC9hcGkvYXBwcm92YWxzYCk7aWYoZT09PXZvaWQgMHx8ZS5zdGF0dXMhPT0yMDB8fCFSYShlLmpzb24pKXJldHVybntraW5kOmBvZmZsaW5lYH07bGV0IHQ9ZS5qc29uLmFwcHJvdmFscztyZXR1cm57a2luZDpgb2tgLGl0ZW1zOihBcnJheS5pc0FycmF5KHQpP3Q6W10pLm1hcChWYSkuZmlsdGVyKGU9PmUhPT12b2lkIDApfX0sYXN5bmMgb25lKGUpe2lmKCFNYS50ZXN0KGUpKXJldHVybntraW5kOmBub3RfcGVuZGluZ2B9O2xldCB0PWF3YWl0IGkoYC9hcGkvYXBwcm92YWxzLyR7ZX1gKTtpZih0PT09dm9pZCAwKXJldHVybntraW5kOmBvZmZsaW5lYH07aWYodC5zdGF0dXM9PT00MDQpcmV0dXJue2tpbmQ6YG5vdF9wZW5kaW5nYH07bGV0IG49UmEodC5qc29uKT9WYSh0Lmpzb24uYXBwcm92YWwpOnZvaWQgMDtyZXR1cm4gdC5zdGF0dXMhPT0yMDB8fG49PT12b2lkIDA_e2tpbmQ6YG9mZmxpbmVgfTp7a2luZDpgb2tgLGl0ZW06bn19LGFzeW5jIGRlY2lkZShlLHQsbil7aWYoIU1hLnRlc3QoZS5hcHByb3ZhbElkKSlyZXR1cm57a2luZDpgc3RhdHVzYCxzdGF0dXM6YHJlZnVzZWRgfTtsZXQgcj1hd2FpdCBzKG4pO3JldHVybiByPT09dm9pZCAwP3traW5kOmBkaXNtaXNzZWRgfTphKGAvYXBpL2FwcHJvdmFscy8ke2UuYXBwcm92YWxJZH0vJHt0fWAseyJYLUFnZW50TGluay1EaWdlc3QiOmUuYWN0aW9uRGlnZXN0LC4uLnIuaGVhZGVyc30sci5ib2R5KX0sYXN5bmMgcmV2aWV3KGUsdCl7bGV0IG49ZS5tYXAoZT0-YCR7ZS5pdGVtLmFwcHJvdmFsSWR9OiR7ZS5pdGVtLmFjdGlvbkRpZ2VzdH06JHtlLmRlY2lzaW9uPT09YGFwcHJvdmVgP2BhYDpgZGB9YCkuam9pbihgLGApLHI9YXdhaXQgcyh0KTtyZXR1cm4gcj09PXZvaWQgMD97a2luZDpgZGlzbWlzc2VkYH06YShgL2FwaS9hcHByb3ZhbHMvcmV2aWV3YCx7IlgtQWdlbnRMaW5rLUl0ZW1zIjpuLC4uLnIuaGVhZGVyc30sci5ib2R5KX19fXZhciBVYT1gbnB4IC15IEA0dGh0ZWNoLWlvL2FnZW50bGlua2AsUj1PYmplY3QuZnJlZXplKHtjYW5ub3RBcHByb3ZlOmBZb3VyIEFJIGNhbid0IGFwcHJvdmUgdGhpcyBmb3IgeW91LmAsbm90UnVubmluZzpgQWdlbnRMaW5rIGlzIG5vdCBydW5uaW5nLiBPcGVuIGl0IGFnYWluIGZyb20geW91ciBBSSwgb3IgcnVuICR7VWF9IGFwcHJvdmUgaW4geW91ciBvd24gdGVybWluYWwuYCxmaXJzdFJ1blRpdGxlOmBQcm90ZWN0IHlvdXIgYXBwcm92YWxzYCxmaXJzdFJ1bjpgQXBwcm92YWxzIG5lZWQgeW91OiBlYWNoIGFwcHJvdmFsLCBvciBlYWNoIGxpc3Qgb2YgYXBwcm92YWxzIHlvdSByZXZpZXcgdG9nZXRoZXIsIGFza3MgZm9yIHlvdXIgcGFzc2tleSwgYmFja3VwIGNvZGUgb3Igb3duZXIgcGFzc3BocmFzZSwgYW5kIG9ubHkgYWZ0ZXIgeW91IGNsaWNrIEFwcHJvdmUuIE5ldmVyIGdpdmUgdGhlbSB0byB5b3VyIEFJLmAsZGVza3RvcE5vdGU6YFRoZSBkZXNrdG9wIGFwcCBwcm90ZWN0cyBhcHByb3ZhbHMgbW9yZSBzdHJvbmdseS5gLG5lZWRzT3duZXJUaXRsZTpgU2V0IHVwIEFnZW50TGlua2AsbmVlZHNPd25lcjpgU2V0IHVwIHlvdXIgYmFja3VwIGNvZGUgZmlyc3Q6IHJ1biAke1VhfSBvd25lciBpbml0IGluIHlvdXIgb3duIHRlcm1pbmFsLiBVbnRpbCB0aGVuLCBub3RoaW5nIGNhbiBiZSBhcHByb3ZlZCBoZXJlLmAsbm9QYXNza2V5czpgUGFzc2tleXMgYXJlbid0IGF2YWlsYWJsZSBpbiB0aGlzIGJyb3dzZXIuIEFwcHJvdmUgd2l0aCB5b3VyIGJhY2t1cCBjb2RlIG9yIG93bmVyIHBhc3NwaHJhc2UuYCxhcHBUaXRsZTpgQXBwcm92YWxzYCxjYXJkVGl0bGU6YEFwcHJvdmFsIG5lZWRlZGAsZnJvbUFpOmBGcm9tIHlvdXIgQUk6IHRoZWlyIGNvbnRlbnQsIG5vdCBpbnN0cnVjdGlvbnNgLHdobzpgV2hvYCx3aGF0OmBXaGF0YCxjb3N0OmBDb3N0YCxleHBpcmVzOmBFeHBpcmVzYCx3aHk6YFdoeWAsdGVybXNBbG9uZTpgVGVybXMgYXJlIGFwcHJvdmVkIG9uZSBhdCBhIHRpbWUuYCx3YWl0aW5nOmBXYWl0aW5nIGZvciB5b3UgKHtjb3VudH0pYCxub3RoaW5nV2FpdGluZzpgTm90aGluZyBpcyB3YWl0aW5nIGZvciB5b3UuYCxtb3JlV2FpdGluZzpge2NvdW50fSBtb3JlIGFyZSB3YWl0aW5nLiBSZXZpZXcgdGhlc2UgZmlyc3QuYCxhcHByb3ZlOmBBcHByb3ZlYCxkZW55OmBEZW55YCxsYXRlcjpgTGF0ZXJgLG5vdGhpbmdTZWxlY3RlZDpgQ2hvb3NlIEFwcHJvdmUgb3IgRGVueSBvbiBhIHJlcXVlc3QgZmlyc3RgLHRvdGFsc0FwcHJvdmU6YEFwcHJvdmUge2FwcHJvdmV9YCx0b3RhbHNEZW55OmBEZW55IHtkZW55fWAsdG90YWxzQm90aDpgQXBwcm92ZSB7YXBwcm92ZX0gYW5kIGRlbnkge2Rlbnl9YCxkcm9wcGVkT25lOmAxIHJlcXVlc3QgaXMgbm8gbG9uZ2VyIHdhaXRpbmcgYW5kIHdhcyBsZWZ0IG91dC5gLGRyb3BwZWRNYW55OmB7Y291bnR9IHJlcXVlc3RzIGFyZSBubyBsb25nZXIgd2FpdGluZyBhbmQgd2VyZSBsZWZ0IG91dC5gLG5vdGhpbmdMZWZ0OmBOb25lIG9mIHlvdXIgY2hvaWNlcyBpcyBzdGlsbCB3YWl0aW5nLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAsY292ZXJzT25lOmBUaGlzIGNvdmVycyBleGFjdGx5IHRoaXMgb25lLiBBbnl0aGluZyBuZXcgd2FpdHMgZm9yIHlvdXIgbmV4dCByZXZpZXcuYCxjb3ZlcnNNYW55OmBUaGlzIGNvdmVycyBleGFjdGx5IHRoZXNlIHtjb3VudH0uIEFueXRoaW5nIG5ldyB3YWl0cyBmb3IgeW91ciBuZXh0IHJldmlldy5gLGxpbmVBcHByb3ZlOmBBcHByb3ZlOiB7c3VtbWFyeX1gLGxpbmVEZW55OmBEZW55OiB7c3VtbWFyeX1gLGNvbmZpcm1QYXNza2V5OmBDb25maXJtIHdpdGggeW91ciBwYXNza2V5YCxjb25maXJtOmBDb25maXJtYCxiYWNrOmBDaGFuZ2UgbXkgY2hvaWNlc2Asb3JDb2RlOmBPciB1c2UgeW91ciBiYWNrdXAgY29kZTpgLGNvZGVMYWJlbDpgQmFja3VwIGNvZGUgb3Igb3duZXIgcGFzc3BocmFzZWAsY29kZUhpbnQ6YFBhc3RlIHRoZSBiYWNrdXAgY29kZSBBZ2VudExpbmsgc2hvd2VkIHlvdSB3aGVuIHlvdSBzZXQgdXBgLHNob3c6YFNob3dgLGhpZGU6YEhpZGVgLGRvbmVBcHByb3ZlOmBEb25lOiBhcHByb3ZlZCB7YXBwcm92ZX0uYCxkb25lRGVueTpgRG9uZTogZGVuaWVkIHtkZW55fS5gLGRvbmVCb3RoOmBEb25lOiBhcHByb3ZlZCB7YXBwcm92ZX0gYW5kIGRlbmllZCB7ZGVueX0uYCxhcHByb3ZlV2l0aFBhc3NrZXk6YEFwcHJvdmUgd2l0aCB5b3VyIHBhc3NrZXlgLGRlbnlXaXRoUGFzc2tleTpgRGVueSB3aXRoIHlvdXIgcGFzc2tleWAsY29uZmlybUFwcHJvdmFsOmBDb25maXJtIGFwcHJvdmFsYCxjb25maXJtRGVuaWFsOmBDb25maXJtIGRlbmlhbGAsYXBwcm92ZWQ6YEFwcHJvdmVkLmAsZGVuaWVkOmBEZW5pZWQuYCxwcmVzZW5jZVJlcXVpcmVkOmBFbnRlciB5b3VyIGJhY2t1cCBjb2RlIG9yIG93bmVyIHBhc3NwaHJhc2UuIE5vdGhpbmcgd2FzIGNoYW5nZWQuYCxwcmVzZW5jZVJlamVjdGVkOmBUaGF0IGRpZG4ndCBtYXRjaCB5b3VyIHBhc3NrZXksIGJhY2t1cCBjb2RlIG9yIG93bmVyIHBhc3NwaHJhc2UuIE5vdGhpbmcgd2FzIGNoYW5nZWQuYCx3YWl0OmBUb28gbWFueSB3cm9uZyB0cmllcy4gV2FpdCB7c2Vjb25kc30gc2Vjb25kcywgdGhlbiB0cnkgYWdhaW4uIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFlvdSBjYW4gYWxzbyBydW4gJHtVYX0gYXBwcm92ZSBpbiB5b3VyIG93biB0ZXJtaW5hbC5gLG5vdFBlbmRpbmc6YFRoaXMgcmVxdWVzdCBpcyBubyBsb25nZXIgd2FpdGluZyBmb3IgeW91LmAsbGlzdE5vdFBlbmRpbmc6YFNvbWUgb2YgdGhlc2UgcmVxdWVzdHMgYXJlIG5vIGxvbmdlciB3YWl0aW5nIGZvciB5b3UuIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFJldmlldyB0aGUgbGlzdCBhZ2Fpbi5gLGNoYW5nZWQ6YFRoaXMgcmVxdWVzdCBjaGFuZ2VkLiBSZWxvYWQgdGhlIHBhZ2UgYW5kIGNoZWNrIGl0IGFnYWluLmAsbGlzdENoYW5nZWQ6YEEgcmVxdWVzdCBpbiB0aGlzIGxpc3QgY2hhbmdlZC4gTm90aGluZyB3YXMgY2hhbmdlZC4gUmV2aWV3IHRoZSBsaXN0IGFnYWluLmAsbGlzdFRlcm1zOmBUZXJtcyBhcmUgYXBwcm92ZWQgb25lIGF0IGEgdGltZS4gTm90aGluZyB3YXMgY2hhbmdlZC5gLGJ1c3k6YEFub3RoZXIgYXBwcm92YWwgaXMgYmVpbmcgY29uZmlybWVkLiBUcnkgYWdhaW4gaW4gYSBtb21lbnQuYCxyZWZ1c2VkOmBUaGlzIGRlY2lzaW9uIHdhcyBub3QgYXBwbGllZC4gTm90aGluZyB3YXMgY2hhbmdlZC5gLGxpc3RSZWZ1c2VkOmBUaGVzZSBkZWNpc2lvbnMgd2VyZSBub3QgYXBwbGllZC4gTm90aGluZyB3YXMgY2hhbmdlZC4gUmV2aWV3IHRoZSBsaXN0IGFnYWluLmAsbmVlZHNTZXR1cDpgU2V0IHVwIHlvdXIgYmFja3VwIGNvZGUgZmlyc3Q6IHJ1biAke1VhfSBvd25lciBpbml0IGluIHlvdXIgb3duIHRlcm1pbmFsLmAsbm90VXNlZDpgVGhlIHBhc3NrZXkgd2Fzbid0IHVzZWQuIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFlvdSBjYW4gZW50ZXIgeW91ciBiYWNrdXAgY29kZSBpbnN0ZWFkLmAscGFpZEFsb25lOmBUaGlzIGNvc3RzIGNyZWRpdHMuIEFwcHJvdmUgaXQgb24gaXRzIG93bi5gLGxpc3RQYWlkOmBBIHJlcXVlc3QgaW4gdGhpcyBsaXN0IGNvc3RzIGNyZWRpdHMgYW5kIGlzIGFwcHJvdmVkIG9uIGl0cyBvd24uIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFJldmlldyB0aGUgbGlzdCBhZ2Fpbi5gLGNvbmZpcm1SZXF1aXJlZDpgVGhpcyBjb3N0cyBjcmVkaXRzLiBBcHByb3ZlIGl0IG9uIGl0cyBvd24gY2FyZC4gTm90aGluZyB3YXMgY2hhbmdlZC5gLGxvYWRpbmc6YExvYWRpbmcgeW91ciBhcHByb3ZhbHNgLHRpbWVMZWZ0OmBUaW1lIGxlZnRgLGV4cGlyZWQ6YEV4cGlyZWRgLHVuZGVyTWludXRlOmBMZXNzIHRoYW4gYSBtaW51dGUgbGVmdGAsbWludXRlc0xlZnQ6YHttaW51dGVzfSBtaW4gbGVmdGAsaG91cnNMZWZ0OmBBYm91dCB7aG91cnN9IGggbGVmdGAsaG9vZEtpbmQ6YEtpbmRgLGhvb2RFeHBpcnk6YEV4cGlyZXMgYXRgLGtpbmRSZXF1ZXN0OmBSZXF1ZXN0YCxraW5kVGVybXM6YFRlcm1zYCxraW5kUGFpZDpgQ29zdHMgY3JlZGl0c2B9KTtmdW5jdGlvbiBXYShlLHQpe3JldHVybiBlLnJlcGxhY2UoL1x7KFthLXpdKylcfS9nLChlLG4pPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKT9TdHJpbmcodFtuXSk6ZSl9dmFyIEdhPXthcHBsaWVkX2FwcHJvdmU6Ui5hcHByb3ZlZCxhcHBsaWVkX2Rlbnk6Ui5kZW5pZWQscHJlc2VuY2VfcmVxdWlyZWQ6Ui5wcmVzZW5jZVJlcXVpcmVkLHByZXNlbmNlX3JlamVjdGVkOlIucHJlc2VuY2VSZWplY3RlZCxub3RfcGVuZGluZzpSLm5vdFBlbmRpbmcsY2hhbmdlZDpSLmNoYW5nZWQsYnVzeTpSLmJ1c3kscmVmdXNlZDpSLnJlZnVzZWQsbmVlZHNfc2V0dXA6Ui5uZWVkc1NldHVwLGNvbmZpcm1fcmVxdWlyZWQ6Ui5jb25maXJtUmVxdWlyZWR9LEthPW5ldyBTZXQoW2BwcmVzZW5jZV9yZWplY3RlZGAsYHByZXNlbmNlX3JlcXVpcmVkYCxgYnVzeWAsYHdhaXRgXSk7ZnVuY3Rpb24gcWEoZSl7bGV0IHQ9dHlwZW9mIGU9PWBudW1iZXJgJiZlPjA_TWF0aC5jZWlsKGUpOjE7cmV0dXJuIFdhKFIud2FpdCx7c2Vjb25kczp0fSl9ZnVuY3Rpb24gSmEoZSl7cmV0dXJuIGUua2luZD09PWBvZmZsaW5lYD9SLm5vdFJ1bm5pbmc6ZS5raW5kPT09YGRpc21pc3NlZGA_Ui5ub3RVc2VkOmUuc3RhdHVzPT09YHdhaXRgP3FhKGUucmV0cnlBZnRlcik6R2FbZS5zdGF0dXM9PT1gYXBwbGllZGA_YGFwcGxpZWRfJHtlLmRlY2lzaW9uPz9gYH1gOmUuc3RhdHVzXT8_Ui5yZWZ1c2VkfXZhciBZYT04NjQwMDtmdW5jdGlvbiBYYShlKXtyZXR1cm4gZTw9MD9SLmV4cGlyZWQ6ZTw2MD9SLnVuZGVyTWludXRlOmU8MzYwMD9XYShSLm1pbnV0ZXNMZWZ0LHttaW51dGVzOk1hdGguY2VpbChlLzYwKX0pOldhKFIuaG91cnNMZWZ0LHtob3VyczpNYXRoLnJvdW5kKGUvMzYwMCl9KX1mdW5jdGlvbiBaYSgpe2xldCBlPWF0KCksW3Qsbl09KDAsbC51c2VTdGF0ZSkoKCk9Pk1hdGguZmxvb3IoRGF0ZS5ub3coKS8xZTMpKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCk9PntpZihlKXJldHVybjtuKE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xZTMpKTtsZXQgdD1zZXRJbnRlcnZhbCgoKT0-bihNYXRoLmZsb29yKERhdGUubm93KCkvMWUzKSksNmU0KTtyZXR1cm4oKT0-Y2xlYXJJbnRlcnZhbCh0KX0sW2VdKSx0fWZ1bmN0aW9uIFFhKHtleHBpcmVzQXQ6ZX0pe2xldCB0PVphKCksbj1NYXRoLm1heCgwLE1hdGgubWluKFlhLE1hdGguZmxvb3IoZS10KSkpO3JldHVybigwLEMuanN4KShRdCx7bGFiZWw6Ui50aW1lTGVmdCx2YWx1ZTpuLG1heDpZYSx0ZXh0OlhhKG4pLGNvdW50ZG93bjohMCxzaXplOmBzbWB9KX1mdW5jdGlvbiAkYShlKXtsZXQgdD1be2tpbmQ6YHRleHRgLGxhYmVsOlIuaG9vZEtpbmQsdmFsdWU6ZS5jb21taXRtZW50P1Iua2luZFRlcm1zOmUucGFpZD9SLmtpbmRQYWlkOlIua2luZFJlcXVlc3R9XSxuPW5ldyBEYXRlKGUuZXhwaXJlc0F0KjFlMyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuLmdldFRpbWUoKSkmJnQucHVzaCh7a2luZDpgdGltZWAsbGFiZWw6Ui5ob29kRXhwaXJ5LHZhbHVlOm4udG9JU09TdHJpbmcoKX0pLHR9ZnVuY3Rpb24gZW8oKXtyZXR1cm4oMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFwLW1vbWVudGAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46KDAsQy5qc3gpKHh0LHtraW5kOmBhcHByb3ZlZGB9KX0pfWZ1bmN0aW9uIHRvKHtsaW5lczplfSl7cmV0dXJuIGUubGVuZ3RoPT09MD9udWxsOigwLEMuanN4KShDLkZyYWdtZW50LHtjaGlsZHJlbjplLm1hcCgoZSx0KT0-KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC1zdGF0dXNgLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46ZX0sdCkpfSl9ZnVuY3Rpb24gbm8oe2l0ZW06ZX0pe2xldCB0PWUuZGV0YWlscztyZXR1cm4oMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFwcHJvdmFsLXRvcGAsY2hpbGRyZW46WygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtYXBwcm92YWwtdHlwZWAsY2hpbGRyZW46Ui5jYXJkVGl0bGV9KSwoMCxDLmpzeCkoUWEse2V4cGlyZXNBdDplLmV4cGlyZXNBdH0pXX0pLHQ9PT12b2lkIDA_KDAsQy5qc3gpKGBoMmAse2NoaWxkcmVuOmUuc3VtbWFyeX0pOigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShgaDJgLHtjaGlsZHJlbjp0LmhlYWRsaW5lPz90LndoYXR9KSwoMCxDLmpzeCkoYGRsYCx7Y2xhc3NOYW1lOmBhbC1hcHByb3ZhbC1yb3dzYCxjaGlsZHJlbjpbW1Iud2hvLHQud2hvXSxbUi53aGF0LHQud2hhdF0sW1IuY29zdCx0LmNvc3RdLFtSLmV4cGlyZXMsdC5leHBpcmVzXSxbUi53aHksdC5ydWxlXV0ubWFwKChbZSx0XSk9PigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtYXJvd2AsY2hpbGRyZW46WygwLEMuanN4KShgZHRgLHtjaGlsZHJlbjplfSksKDAsQy5qc3gpKGBkZGAse2NoaWxkcmVuOnR9KV19LGUpKX0pLHQudGVybXMhPT12b2lkIDAmJnQudGVybXMubGVuZ3RoPjA_KDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXRlcm1zYCxjaGlsZHJlbjp0LnRlcm1zLm1hcCgoZSx0KT0-KDAsQy5qc3gpKGBwYCx7Y2hpbGRyZW46ZX0sdCkpfSk6bnVsbCx0LmZyb21BaS5sZW5ndGg-MD8oMCxDLmpzeHMpKGBmaWd1cmVgLHtjbGFzc05hbWU6YGFsLXVudHJ1c3RlZGAscm9sZTpgZ3JvdXBgLCJhcmlhLWxhYmVsIjpSLmZyb21BaSxjaGlsZHJlbjpbKDAsQy5qc3gpKGBmaWdjYXB0aW9uYCx7Y2xhc3NOYW1lOmBhbC11bnRydXN0ZWQtbGFiZWxgLGNoaWxkcmVuOlIuZnJvbUFpfSksKDAsQy5qc3gpKGBkbGAse2NsYXNzTmFtZTpgYWwtdW50cnVzdGVkLWJvZHlgLGNoaWxkcmVuOnQuZnJvbUFpLm1hcCgoZSx0KT0-KDAsQy5qc3hzKShgZGl2YCx7Y2hpbGRyZW46WygwLEMuanN4KShgZHRgLHtjaGlsZHJlbjplLm5hbWV9KSwoMCxDLmpzeCkoYGRkYCx7Y2hpbGRyZW46KDAsQy5qc3gpKGBwcmVgLHtjaGlsZHJlbjplLnZhbHVlfSl9KV19LHQpKX0pXX0pOm51bGxdfSldfSl9ZnVuY3Rpb24gcm8oKXtyZXR1cm4oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLWFwcHJvdmFsLWZvb3RgLGNoaWxkcmVuOlIuY2Fubm90QXBwcm92ZX0pfWZ1bmN0aW9uIGlvKHtsYWJlbDplLHN1Ym1pdDp0LG9uQ29kZTpufSl7bGV0IHI9KDAsbC51c2VJZCkoKSxpPWAke3J9LWhpbnRgLGE9KDAsbC51c2VSZWYpKG51bGwpLFtvLHNdPSgwLGwudXNlU3RhdGUpKCExKSxbYyx1XT0oMCxsLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsQy5qc3hzKShgZm9ybWAse2NsYXNzTmFtZTpgYWwtZmllbGQgYWwtY29kZWAsb25TdWJtaXQ6ZT0-e2UucHJldmVudERlZmF1bHQoKTtsZXQgdD1hLmN1cnJlbnQ7aWYodD09PW51bGx8fGMpcmV0dXJuO2xldCByPXQudmFsdWU7dC52YWx1ZT1gYCxzKCExKSx1KCEwKSxuKHIpLmZpbmFsbHkoKCk9PnUoITEpKX0sY2hpbGRyZW46WygwLEMuanN4KShgbGFiZWxgLHtjbGFzc05hbWU6YGFsLWZpZWxkLWxhYmVsYCxodG1sRm9yOnIsY2hpbGRyZW46ZX0pLCgwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtaW5wdXQtd3JhcGAsY2hpbGRyZW46WygwLEMuanN4KShgaW5wdXRgLHtyZWY6YSxpZDpyLGNsYXNzTmFtZTpgYWwtaW5wdXQgYWwtbW9ub2AsdHlwZTpvP2B0ZXh0YDpgcGFzc3dvcmRgLGF1dG9Db21wbGV0ZTpgb2ZmYCxzcGVsbENoZWNrOiExLGF1dG9DYXBpdGFsaXplOmBvZmZgLGF1dG9Db3JyZWN0OmBvZmZgLCJhcmlhLWRlc2NyaWJlZGJ5IjpgJHtpfSAke2l9LWVhcmxpZXJgfSksKDAsQy5qc3gpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLGNsYXNzTmFtZTpgYWwtYnRuIGFsLWJ0bi1naG9zdCBhbC1idG4tc20gYWwtdG9nZ2xlYCwiYXJpYS1wcmVzc2VkIjpvLCJhcmlhLWNvbnRyb2xzIjpyLG9uQ2xpY2s6KCk9PnMoZT0-IWUpLGNoaWxkcmVuOm8_Ui5oaWRlOlIuc2hvd30pXX0pLCgwLEMuanN4KShgcGAse2lkOmksY2xhc3NOYW1lOmBhbC1maWVsZC1oaW50YCxjaGlsZHJlbjpSLmNvZGVIaW50fSksKDAsQy5qc3gpKGBwYCx7aWQ6YCR7aX0tZWFybGllcmAsY2xhc3NOYW1lOmBhbC1maWVsZC1oaW50YCxjaGlsZHJlbjprbn0pLCgwLEMuanN4KShPLHt0eXBlOmBzdWJtaXRgLHZhcmlhbnQ6YHByaW1hcnlgLHNpemU6YGxnYCxibG9jazohMCxkaXNhYmxlZDpjLGNoaWxkcmVuOnR9KV19KX1mdW5jdGlvbiBhbyh7cGFzc2tleTplLHBhc3NrZXlMYWJlbDp0LGNvZGVTdWJtaXQ6bixsYWJlbDpyLG9uUGFzc2tleTppLG9uQ29kZTphLGNoaWxkcmVuOm99KXtsZXQgcz0oMCxsLnVzZVJlZikobnVsbCksW2MsdV09KDAsbC51c2VTdGF0ZSkoITEpO3JldHVybigwLGwudXNlRWZmZWN0KSgoKT0-e3MuY3VycmVudD8uZm9jdXMoKX0sW10pLCgwLEMuanN4cykoYGRpdmAse3JlZjpzLGNsYXNzTmFtZTpgYWwtc3RlcGAscm9sZTpgZ3JvdXBgLCJhcmlhLWxhYmVsIjpyLHRhYkluZGV4Oi0xLGNoaWxkcmVuOltvLGU_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKE8se3ZhcmlhbnQ6YHByaW1hcnlgLHNpemU6YGxnYCxibG9jazohMCxkaXNhYmxlZDpjLG9uQ2xpY2s6KCk9Pnt1KCEwKSxpKCkuZmluYWxseSgoKT0-dSghMSkpfSxjaGlsZHJlbjp0fSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC1vcmAsY2hpbGRyZW46Ui5vckNvZGV9KV19KTpudWxsLCgwLEMuanN4KShpbyx7bGFiZWw6Ui5jb2RlTGFiZWwsc3VibWl0Om4sb25Db2RlOmF9KV19KX1mdW5jdGlvbiBvbyh7aXRlbTplLG93bmVyOnQsY2xpZW50Om4sc2hlZXQ6cn0pe2xldFtpLGFdPSgwLGwudXNlU3RhdGUpKHZvaWQgMCksW28sc109KDAsbC51c2VTdGF0ZSkoITApLFtjLHVdPSgwLGwudXNlU3RhdGUpKFtdKSxbZCxmXT0oMCxsLnVzZVN0YXRlKSghMSksW3AsbV09KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxoPWU9PnUodD0-Wy4uLnQsZV0pLGc9ZT0-e2Uua2luZD09PWBkaXNtaXNzZWRgP2goUi5ub3RVc2VkKTooYSh2b2lkIDApLGUua2luZD09PWBzdGF0dXNgJiZlLnN0YXR1cz09PWBhcHBsaWVkYCYmKGUuZGVjaXNpb249PT1gYXBwcm92ZWA_bShgYXBwcm92ZWRgKTplLmRlY2lzaW9uPT09YGRlbnlgJiZtKGBkZW5pZWRgKSksaChKYShlKSksZS5raW5kPT09YHN0YXR1c2AmJkthLmhhcyhlLnN0YXR1cykmJnMoITApKX0sXz10PT57ZS5wYWlkJiZ0PT09YGFwcHJvdmVgP2YoITApOihzKCExKSxhKHQpKX07cmV0dXJuKDAsQy5qc3hzKShzbix7YXM6YHNlY3Rpb25gLGxldmVsOmkhPT12b2lkIDB8fGQ_MjoxLGNsYXNzTmFtZTpgYWwtYXBwcm92YWxgLC4uLk1hLnRlc3QoZS5hcHByb3ZhbElkKT97ImRhdGEtYXBwcm92YWwiOmUuYXBwcm92YWxJZH06e30sLi4ucD09PXZvaWQgMD97fTp7ImRhdGEtb3V0Y29tZSI6cH0sY2hpbGRyZW46WygwLEMuanN4KShubyx7aXRlbTplfSksZS5jb21taXRtZW50PygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtbm90ZWAsY2hpbGRyZW46Ui50ZXJtc0Fsb25lfSk6bnVsbCxlLnBhaWQ_KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC1ub3RlYCxjaGlsZHJlbjpSLnBhaWRBbG9uZX0pOm51bGwsKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1zbG90YCxjaGlsZHJlbjpbdC5yZWFkeSYmbz8oMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFwcHJvdmFsLWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoTyx7c2l6ZTpgbGdgLG9uQ2xpY2s6KCk9Pl8oYGRlbnlgKSxjaGlsZHJlbjpSLmRlbnl9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgcHJpbWFyeWAsc2l6ZTpgbGdgLG9uQ2xpY2s6KCk9Pl8oYGFwcHJvdmVgKSxjaGlsZHJlbjpSLmFwcHJvdmV9KV19KTpudWxsLHA9PT1gYXBwcm92ZWRgPygwLEMuanN4KShlbyx7fSk6bnVsbCwoMCxDLmpzeCkodG8se2xpbmVzOmN9KSxpPT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGFvLHtwYXNza2V5OnQucGFzc2tleSE9PXZvaWQgMCxwYXNza2V5TGFiZWw6aT09PWBhcHByb3ZlYD9SLmFwcHJvdmVXaXRoUGFzc2tleTpSLmRlbnlXaXRoUGFzc2tleSxjb2RlU3VibWl0Omk9PT1gYXBwcm92ZWA_Ui5jb25maXJtQXBwcm92YWw6Ui5jb25maXJtRGVuaWFsLGxhYmVsOmk9PT1gYXBwcm92ZWA_Ui5jb25maXJtQXBwcm92YWw6Ui5jb25maXJtRGVuaWFsLG9uUGFzc2tleTphc3luYygpPT57dC5wYXNza2V5IT09dm9pZCAwJiZnKGF3YWl0IG4uZGVjaWRlKGUsaSx7a2luZDpgcGFzc2tleWAscGFzc2tleTp0LnBhc3NrZXl9KSl9LG9uQ29kZTphc3luYyB0PT5nKGF3YWl0IG4uZGVjaWRlKGUsaSx7a2luZDpgY29kZWAsY29kZTp0fSkpfSldfSksKDAsQy5qc3gpKHJvLHt9KSwoMCxDLmpzeCkoWmUse2ZpZWxkczokYShlKX0pLGQ_KDAsQy5qc3gpKEFhLHsuLi5yLnBheUNvbmZpcm09PT12b2lkIDA_e306e2NsaWVudDpyLnBheUNvbmZpcm19LC4uLnIucGxhdGZvcm09PT12b2lkIDA_e306e3BsYXRmb3JtOnIucGxhdGZvcm19LC4uLnIucmVkdWNlZE1vdGlvbj09PXZvaWQgMD97fTp7cmVkdWNlZE1vdGlvbjpyLnJlZHVjZWRNb3Rpb259LGlucHV0OntmbG93OmBwcm9vZmAsYXBwcm92YWxJZDplLmFwcHJvdmFsSWR9LG9uRG9uZTooKT0-e3MoITEpLG0oYGFwcHJvdmVkYCksaChSLmFwcHJvdmVkKX0sb25DbG9zZTooKT0-ZighMSl9KTpudWxsXX0pfXZhciBzbz0yMDtmdW5jdGlvbiBjbygpe3JldHVybiB0eXBlb2Ygd2luZG93PGB1YCYmYFB1YmxpY0tleUNyZWRlbnRpYWxgaW4gd2luZG93JiZ0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLmNyZWRlbnRpYWxzIT09dm9pZCAwfWZ1bmN0aW9uIGxvKGUsdCl7bGV0W24scl09KDAsbC51c2VTdGF0ZSkodm9pZCAwKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCk9PntsZXQgbj0hMDtyZXR1cm4gZS5wYXNza2V5KCkudGhlbihlPT57biYmKGUua2luZD09PWBuZWVkc19vd25lcmA_cih7cmVhZHk6ITEsb2ZmZXJlZDohMX0pOnIoe3JlYWR5OiEwLG9mZmVyZWQ6ZS5vZmZlcmVkLC4uLnQmJmUucGFzc2tleSE9PXZvaWQgMD97cGFzc2tleTplLnBhc3NrZXl9Ont9fSkpfSksKCk9PntuPSExfX0sW2UsdF0pLG59ZnVuY3Rpb24gdW8oe293bmVyOmUsY2FuUGFzc2tleTp0LG5lZWRzT3duZXJPbmx5Om49ITF9KXtyZXR1cm4gZS5yZWFkeT9ufHxlLnBhc3NrZXkhPT12b2lkIDB8fHQmJmUub2ZmZXJlZD9udWxsOigwLEMuanN4cykoc24se2FzOmBzZWN0aW9uYCxsZXZlbDoxLGNsYXNzTmFtZTpgYWwtcGFuZWxgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7Y2hpbGRyZW46Ui5maXJzdFJ1blRpdGxlfSksKDAsQy5qc3gpKGBwYCx7Y2hpbGRyZW46Ui5maXJzdFJ1bn0pLCgwLEMuanN4KShgcGAse2NoaWxkcmVuOlIubm9QYXNza2V5c30pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtbm90ZWAsY2hpbGRyZW46Ui5kZXNrdG9wTm90ZX0pXX0pOigwLEMuanN4cykoc24se2FzOmBzZWN0aW9uYCxsZXZlbDoxLGNsYXNzTmFtZTpgYWwtcGFuZWxgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7Y2hpbGRyZW46Ui5uZWVkc093bmVyVGl0bGV9KSwoMCxDLmpzeCkoYHBgLHtjaGlsZHJlbjpSLm5lZWRzT3duZXJ9KV19KX1mdW5jdGlvbiBmbygpe3JldHVybigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46Ui5hcHBUaXRsZX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtbGVkZWAsY2hpbGRyZW46Ui5jYW5ub3RBcHByb3ZlfSldfSl9ZnVuY3Rpb24gcG8oZSx0KXtyZXR1cm4gZS5leHBpcmVzQXQ9PT10LmV4cGlyZXNBdD9lLmFwcHJvdmFsSWQ8dC5hcHByb3ZhbElkPy0xOisoZS5hcHByb3ZhbElkPnQuYXBwcm92YWxJZCk6ZS5leHBpcmVzQXQtdC5leHBpcmVzQXR9ZnVuY3Rpb24gbW8oZSl7bGV0IHQ9ZS5maWx0ZXIoZT0-ZS5kZWNpc2lvbj09PWBhcHByb3ZlYCkubGVuZ3RoO3JldHVybnthcHByb3ZlOnQsZGVueTplLmxlbmd0aC10fX1mdW5jdGlvbiBobyhlKXtyZXR1cm4gZS5kZW55PT09MD9XYShSLnRvdGFsc0FwcHJvdmUse2FwcHJvdmU6ZS5hcHByb3ZlfSk6ZS5hcHByb3ZlPT09MD9XYShSLnRvdGFsc0Rlbnkse2Rlbnk6ZS5kZW55fSk6V2EoUi50b3RhbHNCb3RoLHthcHByb3ZlOmUuYXBwcm92ZSxkZW55OmUuZGVueX0pfWZ1bmN0aW9uIGdvKGUpe3JldHVybiBlLmRlbnk9PT0wP1dhKFIuZG9uZUFwcHJvdmUse2FwcHJvdmU6ZS5hcHByb3ZlfSk6ZS5hcHByb3ZlPT09MD9XYShSLmRvbmVEZW55LHtkZW55OmUuZGVueX0pOldhKFIuZG9uZUJvdGgse2FwcHJvdmU6ZS5hcHByb3ZlLGRlbnk6ZS5kZW55fSl9dmFyIF9vPXtwcmVzZW5jZV9yZXF1aXJlZDpSLnByZXNlbmNlUmVxdWlyZWQscHJlc2VuY2VfcmVqZWN0ZWQ6Ui5wcmVzZW5jZVJlamVjdGVkLG5vdF9wZW5kaW5nOlIubGlzdE5vdFBlbmRpbmcsY2hhbmdlZDpSLmxpc3RDaGFuZ2VkLGNvbW1pdG1lbnQ6Ui5saXN0VGVybXMscGFpZF9pdGVtX2luX2JhdGNoOlIubGlzdFBhaWQsYnVzeTpSLmJ1c3kscmVmdXNlZDpSLmxpc3RSZWZ1c2VkLGludmFsaWQ6Ui5saXN0UmVmdXNlZCxuZWVkc19zZXR1cDpSLm5lZWRzU2V0dXB9LHZvPW5ldyBTZXQoW2BwcmVzZW5jZV9yZWplY3RlZGAsYHByZXNlbmNlX3JlcXVpcmVkYCxgYnVzeWAsYHdhaXRgXSk7ZnVuY3Rpb24geW8oZSl7cmV0dXJuIGUua2luZD09PWBvZmZsaW5lYD9SLm5vdFJ1bm5pbmc6ZS5raW5kPT09YGRpc21pc3NlZGA_Ui5ub3RVc2VkOmUuc3RhdHVzPT09YHdhaXRgP3FhKGUucmV0cnlBZnRlcik6X29bZS5zdGF0dXNdPz9SLmxpc3RSZWZ1c2VkfWZ1bmN0aW9uIGJvKHtpdGVtOmUsdmFsdWU6dCxkaXNhYmxlZDpuLG9uQ2hhbmdlOnJ9KXtsZXQgaT1bW2BhcHByb3ZlYCxSLmFwcHJvdmVdLFtgZGVueWAsUi5kZW55XSxbYGxhdGVyYCxSLmxhdGVyXV07cmV0dXJuKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWNob2ljZXNgLHJvbGU6YHJhZGlvZ3JvdXBgLGNoaWxkcmVuOmkubWFwKChbaSxhXSk9PigwLEMuanN4cykoYGxhYmVsYCx7Y2xhc3NOYW1lOmBhbC1jaG9pY2VgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGlucHV0YCx7dHlwZTpgcmFkaW9gLG5hbWU6YGNob2ljZS0ke2UuYXBwcm92YWxJZH1gLHZhbHVlOmksY2hlY2tlZDoodD8_YGxhdGVyYCk9PT1pLGRpc2FibGVkOm4sb25DaGFuZ2U6KCk9PnIoaT09PWBsYXRlcmA_dm9pZCAwOmkpfSksKDAsQy5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46YX0pXX0saSkpfSl9ZnVuY3Rpb24geG8oe2tlcHQ6ZSxvd25lcjp0LGNsaWVudDpuLG9uQmFjazpyLG9uRmluaXNoZWQ6aX0pe2xldFthLG9dPSgwLGwudXNlU3RhdGUpKFtdKSxzPWU9Pm8odD0-Wy4uLnQsZV0pLGM9dD0-e3Qua2luZD09PWBzdGF0dXNgJiZ0LnN0YXR1cz09PWBhcHBsaWVkYD9pKGdvKG1vKGUpKSxtbyhlKS5hcHByb3ZlKToocyh5byh0KSksdC5raW5kPT09YHN0YXR1c2AmJiF2by5oYXModC5zdGF0dXMpJiZpKHlvKHQpLDApKX07cmV0dXJuKDAsQy5qc3hzKShzbix7bGV2ZWw6MixjbGFzc05hbWU6YGFsLXBhbmVsYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGFvLHtwYXNza2V5OnQucGFzc2tleSE9PXZvaWQgMCxwYXNza2V5TGFiZWw6Ui5jb25maXJtUGFzc2tleSxjb2RlU3VibWl0OlIuY29uZmlybSxsYWJlbDpSLmNvbmZpcm0sb25QYXNza2V5OmFzeW5jKCk9Pnt0LnBhc3NrZXkhPT12b2lkIDAmJmMoYXdhaXQgbi5yZXZpZXcoZSx7a2luZDpgcGFzc2tleWAscGFzc2tleTp0LnBhc3NrZXl9KSl9LG9uQ29kZTphc3luYyB0PT5jKGF3YWl0IG4ucmV2aWV3KGUse2tpbmQ6YGNvZGVgLGNvZGU6dH0pKSxjaGlsZHJlbjooMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxDLmpzeCkoYHVsYCx7Y2xhc3NOYW1lOmBhbC1saW5lc2AsY2hpbGRyZW46ZS5tYXAoZT0-KDAsQy5qc3gpKGBsaWAse2NoaWxkcmVuOldhKGUuZGVjaXNpb249PT1gYXBwcm92ZWA_Ui5saW5lQXBwcm92ZTpSLmxpbmVEZW55LHtzdW1tYXJ5OmUuaXRlbS5zdW1tYXJ5fSl9LGUuaXRlbS5hcHByb3ZhbElkKSl9KSwoMCxDLmpzeCkoYHBgLHtjaGlsZHJlbjplLmxlbmd0aD09PTE_Ui5jb3ZlcnNPbmU6V2EoUi5jb3ZlcnNNYW55LHtjb3VudDplLmxlbmd0aH0pfSldfSl9KSwoMCxDLmpzeCkodG8se2xpbmVzOmF9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLGJsb2NrOiEwLG9uQ2xpY2s6cixjaGlsZHJlbjpSLmJhY2t9KV19KX1mdW5jdGlvbiBTbyh7b3duZXI6ZSxjbGllbnQ6dCxzaGVldDpufSl7bGV0W3IsaV09KDAsbC51c2VTdGF0ZSkoe2tpbmQ6YGxvYWRpbmdgfSksW2Esb109KDAsbC51c2VTdGF0ZSkoMCksW3MsY109KDAsbC51c2VTdGF0ZSkoe30pLFt1LGRdPSgwLGwudXNlU3RhdGUpKFtdKSxbZixwXT0oMCxsLnVzZVN0YXRlKSghMSksW20saF09KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxbZyxfXT0oMCxsLnVzZVN0YXRlKSghMSksdj1lPT5kKHQ9PlsuLi50LGVdKTsoMCxsLnVzZUVmZmVjdCkoKCk9PntsZXQgZT0hMDtyZXR1cm4gdC5saXN0KCkudGhlbih0PT57ZSYmKGMoe30pLGgodm9pZCAwKSxwKCExKSxpKHQua2luZD09PWBva2A_e2tpbmQ6YG9rYCxhbGw6Wy4uLnQuaXRlbXNdLnNvcnQocG8pfTp7a2luZDpgb2ZmbGluZWB9KSl9KSwoKT0-e2U9ITF9fSxbdCxhXSk7bGV0IHk9KDAsbC51c2VDYWxsYmFjaykoKCk9Pm8oZT0-ZSsxKSxbXSk7aWYoci5raW5kPT09YGxvYWRpbmdgKXJldHVybigwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1saXN0YCxjaGlsZHJlbjooMCxDLmpzeCkoJHQse2xvYWRpbmc6ITAsbGFiZWw6Ui5sb2FkaW5nLGxpbmVzOjR9KX0pO2lmKHIua2luZD09PWBvZmZsaW5lYClyZXR1cm4oMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtbGlzdGAsY2hpbGRyZW46KDAsQy5qc3gpKHRvLHtsaW5lczpbUi5ub3RSdW5uaW5nXX0pfSk7bGV0IGI9ci5hbGwseD1iLnNsaWNlKDAsc28pLFM9eC5maWx0ZXIoZT0-c1tlLmFwcHJvdmFsSWRdIT09dm9pZCAwKS5tYXAoZT0-KHtpdGVtOmUsZGVjaXNpb246c1tlLmFwcHJvdmFsSWRdfSkpLHc9Znx8bSE9PXZvaWQgMCxUPWFzeW5jKCk9PntpZihTLmxlbmd0aD09PTApcmV0dXJuO2QoW10pLF8oITEpLHAoITApO2xldCBlPWF3YWl0IHQubGlzdCgpO2lmKGUua2luZCE9PWBva2Ape3YoUi5ub3RSdW5uaW5nKSxwKCExKTtyZXR1cm59bGV0IG49bmV3IE1hcChlLml0ZW1zLm1hcChlPT5bZS5hcHByb3ZhbElkLGUuYWN0aW9uRGlnZXN0XSkpLHI9Uy5maWx0ZXIoZT0-bi5nZXQoZS5pdGVtLmFwcHJvdmFsSWQpPT09ZS5pdGVtLmFjdGlvbkRpZ2VzdCYmIWUuaXRlbS5jb21taXRtZW50JiYhZS5pdGVtLnBhaWQpLGk9Uy5sZW5ndGgtci5sZW5ndGg7aT09PTE_dihSLmRyb3BwZWRPbmUpOmk-MSYmdihXYShSLmRyb3BwZWRNYW55LHtjb3VudDppfSkpLHIubGVuZ3RoPT09MD8odihSLm5vdGhpbmdMZWZ0KSx5KCkpOihwKCExKSxoKHIpKX07cmV0dXJuKDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1ub3RpY2VzYCxjaGlsZHJlbjpbZz8oMCxDLmpzeCkoZW8se30pOm51bGwsKDAsQy5qc3gpKHRvLHtsaW5lczp1fSldfSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1saXN0YCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBoMmAse2NsYXNzTmFtZTpgYWwtc2VjdGlvbi10aXRsZWAsY2hpbGRyZW46V2EoUi53YWl0aW5nLHtjb3VudDpiLmxlbmd0aH0pfSksYi5sZW5ndGg9PT0wPygwLEMuanN4KSh0byx7bGluZXM6W1Iubm90aGluZ1dhaXRpbmddfSk6bnVsbCx4Lm1hcChyPT5yLmNvbW1pdG1lbnR8fHIucGFpZHx8IWUucmVhZHk_KDAsQy5qc3gpKG9vLHtpdGVtOnIsb3duZXI6ZSxjbGllbnQ6dCxzaGVldDpufSxgJHthfS0ke3IuYXBwcm92YWxJZH1gKTooMCxDLmpzeHMpKHNuLHthczpgc2VjdGlvbmAsbGV2ZWw6c1tyLmFwcHJvdmFsSWRdPT09dm9pZCAwPzE6MixjbGFzc05hbWU6YGFsLWFwcHJvdmFsYCwiZGF0YS1hcHByb3ZhbCI6ci5hcHByb3ZhbElkLGNoaWxkcmVuOlsoMCxDLmpzeCkobm8se2l0ZW06cn0pLCgwLEMuanN4KShibyx7aXRlbTpyLHZhbHVlOnNbci5hcHByb3ZhbElkXSxkaXNhYmxlZDp3LG9uQ2hhbmdlOmU9PmModD0-e2xldCBuPXsuLi50fTtyZXR1cm4gZT09PXZvaWQgMD9kZWxldGUgbltyLmFwcHJvdmFsSWRdOm5bci5hcHByb3ZhbElkXT1lLG59KX0pLCgwLEMuanN4KShybyx7fSksKDAsQy5qc3gpKFplLHtmaWVsZHM6JGEocil9KV19LHIuYXBwcm92YWxJZCkpLGIubGVuZ3RoPngubGVuZ3RoPygwLEMuanN4KSh0byx7bGluZXM6W1dhKFIubW9yZVdhaXRpbmcse2NvdW50OmIubGVuZ3RoLXgubGVuZ3RofSldfSk6bnVsbCxlLnJlYWR5JiZiLmxlbmd0aD4wPygwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtYmFyYCxjaGlsZHJlbjpbdz9udWxsOigwLEMuanN4KShPLHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2AsYmxvY2s6ITAsZGlzYWJsZWQ6Uy5sZW5ndGg9PT0wLG9uQ2xpY2s6KCk9PnZvaWQgVCgpLGNoaWxkcmVuOlMubGVuZ3RoPT09MD9SLm5vdGhpbmdTZWxlY3RlZDpobyhtbyhTKSl9KSxtPT09dm9pZCAwP251bGw6KDAsQy5qc3gpKHhvLHtrZXB0Om0sb3duZXI6ZSxjbGllbnQ6dCxvbkJhY2s6KCk9Pmgodm9pZCAwKSxvbkZpbmlzaGVkOihlLHQpPT57dihlKSxfKHQ-MCkseSgpfX0pXX0pOm51bGxdfSldfSl9ZnVuY3Rpb24gQ28oe2NsaWVudDplLHBheUNvbmZpcm06dCxjYW5QYXNza2V5Om4scGxhdGZvcm06cixyZWR1Y2VkTW90aW9uOml9KXtsZXQgYT0oMCxsLnVzZU1lbW8pKCgpPT5lPz9IYSgpLFtlXSksbz1uPz9jbygpLHM9bG8oYSxvKSxjPXsuLi50PT09dm9pZCAwP3t9OntwYXlDb25maXJtOnR9LC4uLnI9PT12b2lkIDA_e306e3BsYXRmb3JtOnJ9LC4uLmk9PT12b2lkIDA_e306e3JlZHVjZWRNb3Rpb246aX19O3JldHVybigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtYXBwcm92YWxzYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGZvLHt9KSxzPT09dm9pZCAwPygwLEMuanN4KSgkdCx7bG9hZGluZzohMCxsYWJlbDpSLmxvYWRpbmcsbGluZXM6NH0pOigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KSh1byx7b3duZXI6cyxjYW5QYXNza2V5Om99KSwoMCxDLmpzeCkoU28se293bmVyOnMsY2xpZW50OmEsc2hlZXQ6Y30pXX0pXX0pfXZhciB3bz0vXlwvYXBwcm92ZVwvKGFwcl9bQS1aYS16MC05Xy1dezIyfSkkLztmdW5jdGlvbiBUbyhlKXtsZXQgdD13by5leGVjKGUpPy5bMV07cmV0dXJuIHQhPT12b2lkIDAmJk1hLnRlc3QodCk_dDp2b2lkIDB9ZnVuY3Rpb24gRW8oZSx0KXtsZXRbbixyXT0oMCxsLnVzZVN0YXRlKSh7a2luZDpgbG9hZGluZ2B9KTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCk9PntpZih0PT09dm9pZCAwKXtyKHtraW5kOmBnb25lYH0pO3JldHVybn1sZXQgbj0hMDtyZXR1cm4gZS5vbmUodCkudGhlbihlPT57biYmcihlLmtpbmQ9PT1gb2tgP3traW5kOmBva2AsaXRlbTplLml0ZW19OmUua2luZD09PWBub3RfcGVuZGluZ2A_e2tpbmQ6YGdvbmVgfTp7a2luZDpgb2ZmbGluZWB9KX0pLCgpPT57bj0hMX19LFtlLHRdKSxufWZ1bmN0aW9uIERvKHtjbGllbnQ6ZSxwYXlDb25maXJtOnQsY2FuUGFzc2tleTpuLHBsYXRmb3JtOnIscmVkdWNlZE1vdGlvbjppfSl7bGV0IGE9KDAsbC51c2VNZW1vKSgoKT0-ZT8_SGEoKSxbZV0pLG89bj8_KHR5cGVvZiB3aW5kb3c8YHVgJiZgUHVibGljS2V5Q3JlZGVudGlhbGBpbiB3aW5kb3cmJm5hdmlnYXRvci5jcmVkZW50aWFscyE9PXZvaWQgMCkscz1sbyhhLG8pLGM9RW8oYSxUbyh0eXBlb2YgbG9jYXRpb24-YHVgP2BgOmxvY2F0aW9uLnBhdGhuYW1lKSksdT17Li4udD09PXZvaWQgMD97fTp7cGF5Q29uZmlybTp0fSwuLi5yPT09dm9pZCAwP3t9OntwbGF0Zm9ybTpyfSwuLi5pPT09dm9pZCAwP3t9OntyZWR1Y2VkTW90aW9uOml9fTtyZXR1cm4oMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFwcHJvdmFsc2AsY2hpbGRyZW46WygwLEMuanN4KShmbyx7fSkscz09PXZvaWQgMD8oMCxDLmpzeCkoJHQse2xvYWRpbmc6ITAsbGFiZWw6Ui5sb2FkaW5nLGxpbmVzOjR9KTooMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxDLmpzeCkodW8se293bmVyOnMsY2FuUGFzc2tleTpvLG5lZWRzT3duZXJPbmx5OiEwfSksYy5raW5kPT09YGxvYWRpbmdgPygwLEMuanN4KSgkdCx7bG9hZGluZzohMCxsYWJlbDpSLmxvYWRpbmcsbGluZXM6NH0pOm51bGwsYy5raW5kPT09YGdvbmVgPygwLEMuanN4KSh0byx7bGluZXM6W1Iubm90UGVuZGluZ119KTpudWxsLGMua2luZD09PWBvZmZsaW5lYD8oMCxDLmpzeCkodG8se2xpbmVzOltSLm5vdFJ1bm5pbmddfSk6bnVsbCxjLmtpbmQ9PT1gb2tgPygwLEMuanN4KShvbyx7aXRlbTpjLml0ZW0sb3duZXI6cyxjbGllbnQ6YSxzaGVldDp1fSk6bnVsbF19KV19KX12YXIgT289e3RpdGxlOmBBYm91dGAsaW50cm86YFByaXZhdGUsIHByb3ZhYmxlIGV4Y2hhbmdlIGJldHdlZW4gQUkgYWdlbnRzLmAsdmVyc2lvbjpgVmVyc2lvbmAsdmVyc2lvblVua25vd246YFRoZSB2ZXJzaW9uIGlzIG5vdCBhdmFpbGFibGUgcmlnaHQgbm93LmAsaG9vZFZlcnNpb246YFZlcnNpb25gLGxpY2VuY2VUaXRsZTpgTGljZW5jZWAsbGljZW5jZUJvZHk6YEFnZW50TGluayBpcyBvcGVuIHNvdXJjZSB1bmRlciB0aGUgTUlUIGxpY2VuY2UuIFlvdSBtYXkgdXNlLCBjb3B5IGFuZCBjaGFuZ2UgaXQgZnJlZWx5LmAsbGlua3NUaXRsZTpgRG9jcyBhbmQgc3VwcG9ydGAsbGlua3NJbnRybzpgR3VpZGVzLCBhbnN3ZXJzIGFuZCBhIHBsYWNlIHRvIHJlcG9ydCBhIHByb2JsZW0uYCxtYWRlQnk6YE1hZGUgYnkgNHRoVGVjaC5gfSxrbz1be2xhYmVsOmBSZWFkIHRoZSBndWlkZXNgLGhyZWY6YGh0dHBzOi8vd2lraS40dGh0ZWNoLmlvL3Byb2R1Y3RzL2FnZW50bGlua2B9LHtsYWJlbDpgUmVwb3J0IGEgcHJvYmxlbSBvciBhc2sgZm9yIGhlbHBgLGhyZWY6YGh0dHBzOi8vZ2l0aHViLmNvbS80dGh0ZWNoL2FnZW50bGluay9pc3N1ZXNgfSx7bGFiZWw6YFJlYWQgdGhlIGxpY2VuY2VgLGhyZWY6YGh0dHBzOi8vZ2l0aHViLmNvbS80dGh0ZWNoL2FnZW50bGluay9ibG9iL21haW4vTElDRU5TRWB9XTtmdW5jdGlvbiBBbyh7cmVhZDplPUVpfSl7bGV0W3Qsbl09KDAsbC51c2VTdGF0ZSkoe2xvYWRpbmc6ITB9KTsoMCxsLnVzZUVmZmVjdCkoKCk9PntsZXQgdD0hMDtyZXR1cm4gZSgpLnRoZW4oZT0-e2xldCByPXhpKGUpPy52ZXJzaW9uO3QmJm4ocj09PXZvaWQgMD97bG9hZGluZzohMX06e2xvYWRpbmc6ITEsdjpyfSl9LCgpPT57dCYmbih7bG9hZGluZzohMX0pfSksKCk9Pnt0PSExfX0sW2VdKTtsZXQgcj10LmxvYWRpbmc_dm9pZCAwOnQudjtyZXR1cm4oMCxDLmpzeHMpKGBtYWluYCx7Y2xhc3NOYW1lOmBhYi1wYWdlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBoMWAse2NsYXNzTmFtZTpgYWwtdGV4dC1oMWAsY2hpbGRyZW46T28udGl0bGV9KSwoMCxDLmpzeHMpKHNuLHthczpgc2VjdGlvbmAsbGV2ZWw6MSxjbGFzc05hbWU6YGFiLXNlY3Rpb25gLCJhcmlhLWxhYmVsbGVkYnkiOmBhYi1hYm91dGAsY2hpbGRyZW46WygwLEMuanN4KShgaDJgLHtpZDpgYWItYWJvdXRgLGNsYXNzTmFtZTpgYWwtdGV4dC1oM2AsY2hpbGRyZW46YEFnZW50TGlua2B9KSwoMCxDLmpzeCkoRCx7ZW5kb3JzZWQ6ITAsc2l6ZTozMn0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjpPby5pbnRyb30pLCgwLEMuanN4KSgkdCx7bG9hZGluZzp0LmxvYWRpbmcsbGluZXM6MSxjaGlsZHJlbjooMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZGAsY2hpbGRyZW46cj09PXZvaWQgMD9Pby52ZXJzaW9uVW5rbm93bjpgJHtPby52ZXJzaW9ufSAke3J9YH0pfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOk9vLm1hZGVCeX0pXX0pLCgwLEMuanN4cykoc24se2FzOmBzZWN0aW9uYCxsZXZlbDoxLGNsYXNzTmFtZTpgYWItc2VjdGlvbmAsImFyaWEtbGFiZWxsZWRieSI6YGFiLWxpY2VuY2VgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7aWQ6YGFiLWxpY2VuY2VgLGNsYXNzTmFtZTpgYWwtdGV4dC1oM2AsY2hpbGRyZW46T28ubGljZW5jZVRpdGxlfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOk9vLmxpY2VuY2VCb2R5fSldfSksKDAsQy5qc3hzKShzbix7YXM6YHNlY3Rpb25gLGxldmVsOjEsY2xhc3NOYW1lOmBhYi1zZWN0aW9uYCwiYXJpYS1sYWJlbGxlZGJ5IjpgYWItbGlua3NgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7aWQ6YGFiLWxpbmtzYCxjbGFzc05hbWU6YGFsLXRleHQtaDNgLGNoaWxkcmVuOk9vLmxpbmtzVGl0bGV9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZGAsY2hpbGRyZW46T28ubGlua3NJbnRyb30pLCgwLEMuanN4KShgdWxgLHtjbGFzc05hbWU6YGFiLWxpbmtzYCxjaGlsZHJlbjprby5tYXAoZT0-KDAsQy5qc3gpKGBsaWAse2NoaWxkcmVuOigwLEMuanN4KShgYWAse2hyZWY6ZS5ocmVmLHRhcmdldDpgX2JsYW5rYCxyZWw6YG5vb3BlbmVyIG5vcmVmZXJyZXJgLGNoaWxkcmVuOmUubGFiZWx9KX0sZS5ocmVmKSl9KV19KSwoMCxDLmpzeCkoWmUse2ZpZWxkczpyPT09dm9pZCAwP1tdOlt7a2luZDpgdGV4dGAsbGFiZWw6T28uaG9vZFZlcnNpb24sdmFsdWU6cn1dfSldfSl9ZnVuY3Rpb24gam8oKXtyZXR1cm4oMCxDLmpzeCkoc2kse3RpdGxlOk9uLmFkdmFuY2VkfSl9dmFyIE1vPXt0aXRsZTpgQXBwZWFyYW5jZWAsaW50cm86YFRoZXNlIGNob2ljZXMgYXJlIGtlcHQgaW4gdGhpcyBicm93c2VyIG9ubHkuYCx0aGVtZTpgVGhlbWVgLG1vdGlvbjpgUmVkdWNlIG1vdGlvbmAsdHJhbnNwYXJlbmN5OmBUcmFuc3BhcmVuY3lgLHN5c3RlbTpgU3lzdGVtYCxsaWdodDpgTGlnaHRgLGRhcms6YERhcmtgLG9uOmBPbmAsb2ZmOmBPZmZgLHJlZHVjZTpgUmVkdWNlYCxtb3Rpb25IaW50OmBPZmYgc3RpbGwgZm9sbG93cyB5b3VyIHN5c3RlbSBzZXR0aW5nIGlmIGl0IGFza3MgZm9yIGxlc3MgbW90aW9uLmAsaG9vZExhYmVsOmBTaG93IFVuZGVyIHRoZSBob29kIGJ5IGRlZmF1bHRgLGhvb2RIaW50OmBBZGRzIGEgc21hbGwgdGVjaG5pY2FsIHBhbmVsIHRvIGVhY2ggcGFnZS4gTm90aGluZyBpbiBpdCBjaGFuZ2VzIGhvdyB0aGUgYXBwIHdvcmtzLmB9O2Z1bmN0aW9uIE5vKCl7bGV0IGU9VG4oKSx0PSgwLGwudXNlSWQpKCksbj1lPT5gJHt0fS0ke2V9YDtyZXR1cm4oMCxDLmpzeHMpKGBtYWluYCx7Y2hpbGRyZW46WygwLEMuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtaDFgLGNoaWxkcmVuOk1vLnRpdGxlfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHkgYWwtbXV0ZWRgLGNoaWxkcmVuOk1vLmludHJvfSksKDAsQy5qc3gpKGBwYCx7aWQ6bihgdGhlbWVgKSxjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOk1vLnRoZW1lfSksKDAsQy5qc3gpKHJlLHtsYWJlbDpNby50aGVtZSxsYWJlbGxlZEJ5Om4oYHRoZW1lYCksdmFsdWU6ZS50aGVtZSxvcHRpb25zOlt7dmFsdWU6YHN5c3RlbWAsbGFiZWw6TW8uc3lzdGVtfSx7dmFsdWU6YGxpZ2h0YCxsYWJlbDpNby5saWdodH0se3ZhbHVlOmBkYXJrYCxsYWJlbDpNby5kYXJrfV0sb25DaGFuZ2U6ZT0-Q24oYHRoZW1lYCxlKX0pLCgwLEMuanN4KShgcGAse2lkOm4oYG1vdGlvbmApLGNsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbGAsY2hpbGRyZW46TW8ubW90aW9ufSksKDAsQy5qc3gpKHJlLHtsYWJlbDpNby5tb3Rpb24sbGFiZWxsZWRCeTpuKGBtb3Rpb25gKSx2YWx1ZTplLm1vdGlvbixvcHRpb25zOlt7dmFsdWU6YHN5c3RlbWAsbGFiZWw6TW8uc3lzdGVtfSx7dmFsdWU6YG9uYCxsYWJlbDpNby5vbn0se3ZhbHVlOmBvZmZgLGxhYmVsOk1vLm9mZn1dLG9uQ2hhbmdlOmU9PkNuKGBtb3Rpb25gLGUpfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOk1vLm1vdGlvbkhpbnR9KSwoMCxDLmpzeCkoYHBgLHtpZDpuKGB0cmFuc3BhcmVuY3lgKSxjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOk1vLnRyYW5zcGFyZW5jeX0pLCgwLEMuanN4KShyZSx7bGFiZWw6TW8udHJhbnNwYXJlbmN5LGxhYmVsbGVkQnk6bihgdHJhbnNwYXJlbmN5YCksdmFsdWU6ZS50cmFuc3BhcmVuY3ksb3B0aW9uczpbe3ZhbHVlOmBzeXN0ZW1gLGxhYmVsOk1vLnN5c3RlbX0se3ZhbHVlOmByZWR1Y2VgLGxhYmVsOk1vLnJlZHVjZX1dLG9uQ2hhbmdlOmU9PkNuKGB0cmFuc3BhcmVuY3lgLGUpfSksKDAsQy5qc3gpKG5lLHtsYWJlbDpNby5ob29kTGFiZWwsZGVzY3JpcHRpb246TW8uaG9vZEhpbnQsY2hlY2tlZDplLmhvb2Qsb25DaGFuZ2U6ZT0-Q24oYGhvb2RgLGUpfSksKDAsQy5qc3gpKFFlLHt9KV19KX1mdW5jdGlvbiBQbygpe3JldHVybigwLEMuanN4KShzaSx7dGl0bGU6T24uYmFja3VwfSl9dmFyIEZvPWAvYXBpL3VpL2NvbnRhY3RzYCxJbz0vXjB4WzAtOWEtZl17NDB9JC8sTG89L15bMC05XXs0fSBbMC05XXs0fSBbMC05XXs0fSQvLFJvPS9eWzAtOUEtRmEtZl17NH0oPzpbIMK3LV0_WzAtOUEtRmEtZl17NH0pezEsM30kLyx6bz1lPT4oZS5yZXBsYWNlKC9bIMK3LV0vZyxgYCkudG9VcHBlckNhc2UoKS5tYXRjaCgvLns0fS9nKT8_W10pLmpvaW4oYMK3YCksQm89MTI4LFZvPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxIbz0oZSx0KT0-dHlwZW9mIGU9PWBzdHJpbmdgJiZ0LmluY2x1ZGVzKGUpO2Z1bmN0aW9uIFVvKGUpe2lmKCFWbyhlKSlyZXR1cm47bGV0e3JlZjp0LG5hbWU6bixuYW1lU291cmNlOnIsZmluZ2VycHJpbnQ6aSxsYWJlbDphLHN0YXR1czpvLHBhaXJpbmc6cyxzaW5jZTpjLG9sZGVyU2FtZU93bmVyOmx9PWU7aWYodHlwZW9mIHQhPWBzdHJpbmdgfHwhSW8udGVzdCh0KXx8dHlwZW9mIG4hPWBzdHJpbmdgfHxuLmxlbmd0aD5Cb3x8IUhvKHIsW2Bvd25lcmAsYGNvdW50ZXJwYXJ0eWBdKXx8IUhvKGEsW2BzZWxmLWRlY2xhcmVkYCxgc2FmZXR5LWNvZGUtY2hlY2tlZGBdKXx8IUhvKG8sW2BhY3RpdmVgLGBibG9ja2VkYCxgcmV2b2tlZGBdKXx8IUhvKHMsW2BwZW5kaW5nYCxgY29tcGxldGVgLGBtaXNtYXRjaGBdKXx8dHlwZW9mIGMhPWBudW1iZXJgfHwhTnVtYmVyLmlzU2FmZUludGVnZXIoYyl8fGM8MClyZXR1cm47bGV0IHU9dHlwZW9mIGk9PWBzdHJpbmdgJiZSby50ZXN0KGkpP2k6bnVsbCxkPXR5cGVvZiBsPT1gc3RyaW5nYCYmSW8udGVzdChsKSYmbCE9PXQ_bDpudWxsO3JldHVybntyZWY6dCxuYW1lOm4sbmFtZVNvdXJjZTpyLGxhYmVsOmEsc3RhdHVzOm8scGFpcmluZzpzLHNpbmNlOmMsLi4udT09PW51bGw_e306e2ZpbmdlcnByaW50OnpvKHUpfSwuLi5kPT09bnVsbD97fTp7b2xkZXJTYW1lT3duZXI6ZH19fWZ1bmN0aW9uIFdvKGUpe2lmKCFWbyhlKXx8ZS5zdGF0dXMhPT1gb2tgfHwhQXJyYXkuaXNBcnJheShlLmNvbnRhY3RzKSlyZXR1cm57a2luZDpgZXJyb3JgfTtsZXQgdD1bXTtmb3IobGV0IG4gb2YgZS5jb250YWN0cyl7bGV0IGU9VW8obik7ZSE9PXZvaWQgMCYmdC5wdXNoKGUpfXJldHVybntraW5kOmBva2AsY29udGFjdHM6dH19ZnVuY3Rpb24geihlKXtyZXR1cm4gVm8oZSkmJmUuc3RhdHVzPT09YG9rYCYmdHlwZW9mIGUuY29kZT09YHN0cmluZ2AmJkxvLnRlc3QoZS5jb2RlKT97a2luZDpgb2tgLGNvZGU6ZS5jb2RlfTp7a2luZDpgdW5hdmFpbGFibGVgfX1mdW5jdGlvbiBHbyhlKXtyZXR1cm4gVm8oZSkmJmUuc3RhdHVzPT09YG9rYD97a2luZDpgb2tgfTpWbyhlKSYmZS5zdGF0dXM9PT1gcmVmdXNlZGAmJkhvKGUucmVhc29uLFtgYWxpYXNfaW52YWxpZGAsYGFsaWFzX3Rha2VuYCxgY29udGFjdF91bmtub3duYF0pP3traW5kOmByZWZ1c2VkYCxyZWFzb246ZS5yZWFzb259OntraW5kOmByZWZ1c2VkYCxyZWFzb246YHVuYXZhaWxhYmxlYH19ZnVuY3Rpb24gS28oZSx0KXtpZighSW8udGVzdChlKSl0aHJvdyBFcnJvcihgY29udGFjdCByZWYgaXMgbWFsZm9ybWVkYCk7cmV0dXJuYCR7Rm99LyR7ZX0vJHt0fWB9ZnVuY3Rpb24gcW8oZSx0KXtyZXR1cm5gJHtLbyhlLGByZW5hbWUtY2hlY2tgKX0_YWxpYXM9JHtlbmNvZGVVUklDb21wb25lbnQodCl9YH12YXIgSm89YGFnZW50bGluay5jb250YWN0cy5kdXBsaWNhdGVzLWtlcHQudjFgLFlvPS9eMHhbMC05YS1mXXs0MH0kLyxYbz0oZSx0KT0-YCR7ZX06JHt0fWA7ZnVuY3Rpb24gWm8oZSl7aWYodHlwZW9mIGUhPWBzdHJpbmdgKXJldHVybiExO2xldFt0LG4scl09ZS5zcGxpdChgOmApO3JldHVybiByPT09dm9pZCAwJiZ0IT09dm9pZCAwJiZuIT09dm9pZCAwJiZZby50ZXN0KHQpJiZZby50ZXN0KG4pfWZ1bmN0aW9uIFFvKCl7dHJ5e2xldCBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKEpvKTtpZihlPT09bnVsbClyZXR1cm4gbmV3IFNldDtsZXQgdD1KU09OLnBhcnNlKGUpO3JldHVybiBBcnJheS5pc0FycmF5KHQpP25ldyBTZXQodC5maWx0ZXIoWm8pLnNsaWNlKC0yMDApKTpuZXcgU2V0fWNhdGNoe3JldHVybiBuZXcgU2V0fX1mdW5jdGlvbiAkbyhlLHQsbil7cmV0dXJuIGUuaGFzKFhvKHQsbikpfWZ1bmN0aW9uIGVzKGUsdCxuKXtsZXQgcj1uZXcgU2V0KGUpO3IuYWRkKFhvKHQsbikpO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShKbyxKU09OLnN0cmluZ2lmeShbLi4ucl0uc2xpY2UoLTIwMCkpKX1jYXRjaHt9cmV0dXJuIHJ9dmFyIHRzPWBYLUFnZW50TGluay1DU1JGYCxucz0vXltBLVphLXowLTlfLV0rJC87ZnVuY3Rpb24gcnMoKXtyZXR1cm4gdHlwZW9mIGRvY3VtZW50PmB1YD9gYDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBtZXRhW25hbWU9ImFnZW50bGluay1jc3JmIl1gKT8uZ2V0QXR0cmlidXRlKGBjb250ZW50YCk_P2BgfWZ1bmN0aW9uIGlzKGUpe2xldCB0PWBgO2ZvcihsZXQgbiBvZiBlKXQrPVN0cmluZy5mcm9tQ2hhckNvZGUobik7cmV0dXJuIGJ0b2EodCkucmVwbGFjZSgvXCsvZyxgLWApLnJlcGxhY2UoL1wvL2csYF9gKS5yZXBsYWNlKC89KyQvLGBgKX1mdW5jdGlvbiBhcyhlKXtsZXQgdD1lLnJlcGxhY2UoLy0vZyxgK2ApLnJlcGxhY2UoL18vZyxgL2ApLG49YXRvYih0K2A9YC5yZXBlYXQoKDQtdC5sZW5ndGglNCklNCkpO3JldHVybiBVaW50OEFycmF5LmZyb20obixlPT5lLmNoYXJDb2RlQXQoMCkpfWZ1bmN0aW9uIG9zKGUpe2lmKCFlLnN0YXJ0c1dpdGgoYC9hcGkvdWkvYCl8fC9bXFxcdFxuXHJdLy50ZXN0KGUpKXRocm93IEVycm9yKGBvd25lciBwYXRoIG11c3Qgc3RhcnQgd2l0aCAvYXBpL3VpL2ApfWFzeW5jIGZ1bmN0aW9uIHNzKGUpe3RyeXtsZXQgdD1hd2FpdCBlLmpzb24oKTtyZXR1cm4gdHlwZW9mIHQ9PWBvYmplY3RgJiZ0P3Quc3RhdHVzPz90LmVycm9yOnZvaWQgMH1jYXRjaHtyZXR1cm59fWZ1bmN0aW9uIGNzKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cuUHVibGljS2V5Q3JlZGVudGlhbCE9PXZvaWQgMCYmdHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci5jcmVkZW50aWFscyE9PXZvaWQgMH1mdW5jdGlvbiBscyhlPXt9KXtsZXQgdD1lLmZldGNoPz8oKGUsdCk9Pmdsb2JhbFRoaXMuZmV0Y2goZSx0KSksbj0oKT0-ZS50b2tlbj8_cnMoKTtyZXR1cm57YXN5bmMgcGFzc2tleSgpe2lmKGNzKCkpdHJ5e2xldCBlPWF3YWl0IHQoYC9hcGkvb3duZXIvcGFzc2tleWAse21ldGhvZDpgR0VUYCxoZWFkZXJzOntbdHNdOm4oKX0sY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSk7aWYoZS5zdGF0dXMhPT0yMDApcmV0dXJuO2xldCByPShhd2FpdCBlLmpzb24oKSkucGFzc2tleTtyZXR1cm4gcj09PXZvaWQgMHx8ci5yZWdpc3RlcmVkIT09ITB8fHIucnBJZCE9PWBsb2NhbGhvc3RgfHx0eXBlb2Ygci5jcmVkZW50aWFsSWQhPWBzdHJpbmdgfHx0eXBlb2Ygci5wcmZTYWx0IT1gc3RyaW5nYHx8IW5zLnRlc3Qoci5jcmVkZW50aWFsSWQpfHwhbnMudGVzdChyLnByZlNhbHQpP3ZvaWQgMDp7Y3JlZGVudGlhbElkOnIuY3JlZGVudGlhbElkLHByZlNhbHQ6ci5wcmZTYWx0fX1jYXRjaHtyZXR1cm59fSxhc3luYyBwb3N0KGUscixpKXtvcyhlKTtsZXQgYT1uZXcgSGVhZGVycyh7W3RzXTpuKCksIkNvbnRlbnQtVHlwZSI6YGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbWB9KTtyIT09dm9pZCAwJiZhLnNldChgWC1BZ2VudExpbmstSW5wdXRgLGlzKG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShyKSkpKSxpLmtpbmQ9PT1gcGFzc2tleWAmJmEuc2V0KGBYLUFnZW50TGluay1QcmVzZW5jZWAsYHBhc3NrZXlgKTtsZXQgbz1pLmtpbmQ9PT1gcGFzc2tleWA_aS5ib2R5Om5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShpLmNvZGUpLHM7dHJ5e3M9YXdhaXQgdChlLHttZXRob2Q6YFBPU1RgLGhlYWRlcnM6YSxib2R5Om8sY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSl9Y2F0Y2h7cmV0dXJue2tpbmQ6YGZhaWxlZGB9fWZpbmFsbHl7by5maWxsKDApfWxldCBjPWF3YWl0IHNzKHMpO2lmKHMuc3RhdHVzPT09MjAwJiZjPT09YGRvbmVgKXJldHVybntraW5kOmBkb25lYH07aWYocy5zdGF0dXM9PT00MDEpcmV0dXJue2tpbmQ6YHNlc3Npb25gfTtpZihzLnN0YXR1cz09PTQwMyYmYz09PWBwcmVzZW5jZV9yZWplY3RlZGApcmV0dXJue2tpbmQ6YHJlamVjdGVkYH07aWYocy5zdGF0dXM9PT00MDMmJmM9PT1gcHJlc2VuY2VfcmVxdWlyZWRgKXJldHVybntraW5kOmByZXF1aXJlZGB9O2lmKHMuc3RhdHVzPT09NDAzKXJldHVybntraW5kOmBzZXNzaW9uYH07aWYocy5zdGF0dXM9PT00Mjkpe2xldCBlPU51bWJlcihzLmhlYWRlcnMuZ2V0KGByZXRyeS1hZnRlcmApKTtyZXR1cm57a2luZDpgd2FpdGAsc2Vjb25kczpOdW1iZXIuaXNTYWZlSW50ZWdlcihlKSYmZT4wP2U6MzB9fXJldHVybiBzLnN0YXR1cz09PTQwOSYmYz09PWBidXN5YD97a2luZDpgYnVzeWB9OnMuc3RhdHVzPT09NDA5JiZjPT09YG5vdF9hcHBsaWVkYD97a2luZDpgbm90X2FwcGxpZWRgfTpzLnN0YXR1cz09PTQwOT97a2luZDpgcmVmdXNlZGB9OntraW5kOmBmYWlsZWRgfX19fWZ1bmN0aW9uIHVzKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUucmVkdWNlKChlLHQpPT5lKzIrdC5sZW5ndGgsMCkpLG49MDtmb3IobGV0IHIgb2YgZSl0W25dPXIubGVuZ3RoPj44LHRbbisxXT1yLmxlbmd0aCYyNTUsdC5zZXQocixuKzIpLG4rPTIrci5sZW5ndGg7cmV0dXJuIHR9dmFyIGRzPWU9PmU_bmV3IFVpbnQ4QXJyYXkoZSk6bmV3IFVpbnQ4QXJyYXk7YXN5bmMgZnVuY3Rpb24gZnMoZSl7bGV0IHQ9bmV3IFVpbnQ4QXJyYXkoMzIpO2NyeXB0by5nZXRSYW5kb21WYWx1ZXModCk7dHJ5e2xldCBuPWF3YWl0IG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoe3B1YmxpY0tleTp7Y2hhbGxlbmdlOnQscnBJZDpgbG9jYWxob3N0YCxhbGxvd0NyZWRlbnRpYWxzOlt7dHlwZTpgcHVibGljLWtleWAsaWQ6YXMoZS5jcmVkZW50aWFsSWQpfV0sdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgLHRpbWVvdXQ6MTJlNCxleHRlbnNpb25zOntwcmY6e2V2YWw6e2ZpcnN0OmFzKGUucHJmU2FsdCl9fX19fSk7aWYobj09PW51bGwpcmV0dXJuO2xldCByPWRzKG4uZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLnByZj8ucmVzdWx0cz8uZmlyc3QpO2lmKHIubGVuZ3RoPT09MClyZXR1cm47bGV0IGk9bi5yZXNwb25zZSxhPXVzKFtkcyhuLnJhd0lkKSxkcyhpLmF1dGhlbnRpY2F0b3JEYXRhKSxkcyhpLnVzZXJIYW5kbGUpLHJdKTtyZXR1cm4gci5maWxsKDApLHtraW5kOmBwYXNza2V5YCxib2R5OmF9fWNhdGNoe3JldHVybn19dmFyIEI9e2xpc3RMYWJlbDpgWW91ciBjb250YWN0c2AsZGV0YWlsVGl0bGU6YENvbnRhY3RgLGNsb3NlU2hlZXQ6YENsb3NlYCxsb2FkaW5nOmBMb2FkaW5n4oCmYCxlbXB0eVRpdGxlOmBObyBjb250YWN0cyB5ZXQuIEFzayB5b3VyIEFJIHRvIGNyZWF0ZSBhbiBpbnZpdGUgYW5kIHNlbmQgaXQgdG8gc29tZW9uZSB5b3Ugd29yayB3aXRoLmAsZW1wdHlQcm9tcHQ6YENyZWF0ZSBhbiBBZ2VudExpbmsgaW52aXRlIGZvciBNYXJrby5gLG5vdFNldFVwOmBBZ2VudExpbmsgaXNuJ3Qgc2V0IHVwIG9uIHRoaXMgY29tcHV0ZXIgeWV0LiBBc2sgeW91ciBBSSB0byBzZXQgdXAgQWdlbnRMaW5rLmAsbGlzdFVuYXZhaWxhYmxlOmBZb3VyIGNvbnRhY3RzIGNhbid0IGJlIGxvYWRlZCByaWdodCBub3cuIFRyeSBhZ2FpbiBpbiBhIG1pbnV0ZS5gLGJsb2NrZWQ6YEJsb2NrZWRgLGJsb2NrZWREZXRhaWw6YEJsb2NrZWQuIE1lc3NhZ2VzIGZyb20gdGhpcyBjb250YWN0IGFyZSBkcm9wcGVkLmAscmV2b2tlZDpgTm8gbG9uZ2VyIGFjdGl2ZWAscmV2b2tlZERldGFpbDpgVGhpcyBjb250YWN0J3MgYWdlbnQgd2FzIHNodXQgZG93biBieSBpdHMgb3duZXIuIE1lc3NhZ2VzIGZyb20gaXQgYXJlIGRyb3BwZWQuYCx3YWl0aW5nOmBXYWl0aW5nIGZvciB0aGVpciBhZ2VudGAsd2FpdGluZ0RldGFpbDpgV2FpdGluZyBmb3IgdGhlaXIgYWdlbnQgdG8gYW5zd2VyIHRoZSBpbnZpdGUuIFRoZSBzYWZldHkgY29kZSBzaG93cyBoZXJlIG9uY2UgaXQgZG9lcy5gLG1pc21hdGNoQ2hpcDpgU2FmZXR5IGNvZGUgZGlkIG5vdCBtYXRjaGAsc2FmZXR5Q29kZTpgU2FmZXR5IGNvZGVgLHNhZmV0eUV4cGxhaW46YENvbXBhcmUgdGhlc2UgMTIgZGlnaXRzIHdpdGggdGhlIG90aGVyIHBlcnNvbiBieSBjYWxsIG9yIGluIHBlcnNvbjsgaWYgdGhleSBtYXRjaCwgaXTigJlzIHJlYWxseSB0aGVtLmAsc2FtZU5hbWU6YEFub3RoZXIgY29udGFjdCBoYXMgdGhlIHNhbWUgbmFtZS5gLGtlZXBCb3RoOmBLZWVwIGJvdGhgLHJlbW92ZU9sZGVyOmBSZW1vdmUgb2xkZXJgLGNvZGVMb2FkaW5nOmBMb2FkaW5nIHRoZSBzYWZldHkgY29kZeKApmAsY29kZVVuYXZhaWxhYmxlOmBDYW4ndCBzaG93IHRoZSBzYWZldHkgY29kZSByaWdodCBub3cuIFRyeSBhZ2FpbiBpbiBhIG1pbnV0ZS5gLHRoZXlNYXRjaDpgVGhleSBtYXRjaGAsdGhleURvbnRNYXRjaDpgVGhleSBkb24ndCBtYXRjaGAsc2tpcDpgU2tpcGAsY29tcGFyZUNvZGU6YENvbXBhcmUgc2FmZXR5IGNvZGVgLGNoZWNrZWQ6YFNhZmV0eSBjb2RlIGNoZWNrZWQuYCxtYXRjaGVkOmBNYXRjaGVkLiBUaGlzIGNvbnRhY3Qgbm93IHNob3dzIGFzIFNhZmV0eSBjb2RlIGNoZWNrZWQuYCxtaXNtYXRjaFRpdGxlOmBUaGUgY29kZXMgYXJlIGRpZmZlcmVudC5gLGtlZXA6YEtlZXAgZm9yIG5vd2AscmVuYW1lOmBSZW5hbWVgLHJlbmFtZUxhYmVsOmBOZXcgbmFtZWAscmVuYW1lSGludDpgVXAgdG8gMzIgbGV0dGVycy4gT25seSB5b3Ugc2VlIGl0LmAsc2F2ZU5hbWU6YFNhdmUgbmFtZWAscmVuYW1lZDpgUmVuYW1lZC5gLGFsaWFzSW52YWxpZDpgVXNlIGxldHRlcnMsIG51bWJlcnMgYW5kIHNwYWNlcywgdXAgdG8gMzIuYCxhbGlhc1Rha2VuOmBBbm90aGVyIGNvbnRhY3QgYWxyZWFkeSBoYXMgdGhpcyBuYW1lLiBQaWNrIGEgZGlmZmVyZW50IG9uZS5gLGNvbnRhY3RVbmtub3duOmBUaGlzIGNvbnRhY3QgaXMgbm8gbG9uZ2VyIGhlcmUuIFJlbG9hZCB0aGUgcGFnZS5gLHJlbmFtZVVuYXZhaWxhYmxlOmBUaGUgbmFtZSBjYW4ndCBiZSBjaGVja2VkIHJpZ2h0IG5vdy4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAscmVtb3ZlOmBSZW1vdmVgLHJlbW92ZUNvbnRhY3Q6YFJlbW92ZSBjb250YWN0YCxyZW1vdmVFeHBsYWluOmBSZW1vdmUgdGhpcyBjb250YWN0PyBNZXNzYWdlcyBmcm9tIGl0cyBhZ2VudCBhcmUgZHJvcHBlZC4gVG8gY29ubmVjdCBhZ2FpbiwgYXNrIHRoZW0gZm9yIGEgbmV3IGludml0ZS5gLHJlbW92ZWQ6YENvbnRhY3QgcmVtb3ZlZC5gLGNhbmNlbDpgQ2FuY2VsYCxwcmVzZW5jZUludHJvOmBDb25maXJtIGl04oCZcyB5b3UuIE5ldmVyIGdpdmUgeW91ciBiYWNrdXAgY29kZSB0byB5b3VyIEFJLmAsdXNlUGFzc2tleTpgQ29uZmlybSB3aXRoIHlvdXIgcGFzc2tleWAsdXNlQ29kZTpgVXNlIHlvdXIgYmFja3VwIGNvZGUgaW5zdGVhZGAsb3duZXJDb2RlOmBCYWNrdXAgY29kZWAsY29uZmlybTpgQ29uZmlybWAscHJlc2VuY2VSZWplY3RlZDpgVGhhdCBkaWRuJ3QgbWF0Y2ggeW91ciBiYWNrdXAgY29kZSBvciBwYXNza2V5LiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAscHJlc2VuY2VSZXF1aXJlZDpgRW50ZXIgeW91ciBiYWNrdXAgY29kZSBvciB1c2UgeW91ciBwYXNza2V5LiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAscGFzc2tleU5vdFVzZWQ6YFRoZSBwYXNza2V5IHdhc24ndCB1c2VkLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLiBZb3UgY2FuIGVudGVyIHlvdXIgYmFja3VwIGNvZGUuYCxidXN5OmBBbm90aGVyIGNoYW5nZSBpcyBpbiBwcm9ncmVzcy4gVHJ5IGFnYWluIGluIGEgbW9tZW50LmAscmVmdXNlZDpgTm90aGluZyB3YXMgY2hhbmdlZC4gSWYgeW91IHdlcmUgY29tcGFyaW5nIHRoZSBzYWZldHkgY29kZSwgaXQgbWF5IGhhdmUgY2hhbmdlZDogY29tcGFyZSBpdCBhZ2Fpbi5gLG5vdEFwcGxpZWQ6YE5vdGhpbmcgd2FzIGNoYW5nZWQuIFRyeSBhZ2Fpbi5gLHNlc3Npb25FeHBpcmVkOmBUaGlzIHBhZ2UgaGFzIGV4cGlyZWQuIEFzayB5b3VyIEFJIHRvIG9wZW4gQWdlbnRMaW5rIGFnYWluLmAsZmFpbGVkOmBUaGF0IGRpZG4ndCB3b3JrLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLiBUcnkgYWdhaW4gaW4gYSBtaW51dGUuYH0scHM9e2ZpbmdlcnByaW50OmBGaW5nZXJwcmludGAsaWRlbnRpdHk6YElkZW50aXR5IGxldmVsYCxwYWlyZWQ6YFBhaXJlZGAsY2hlY2tlZDpgU2FmZXR5IGNvZGUgY2hlY2tlZGAsc2VsZkRlY2xhcmVkOmBTZWxmLWRlY2xhcmVkYH07ZnVuY3Rpb24gbXMoZSl7cmV0dXJuIGU9PT0xP2AxIGNvbnRhY3RgOmAke1N0cmluZyhlKX0gY29udGFjdHNgfWZ1bmN0aW9uIGhzKGUpe3JldHVybmBXYW50IHRvIGJlIHN1cmUgaXTigJlzIHJlYWxseSAke2V9PyBDYWxsIHRoZW0gb3IgbWVldCwgYW5kIGNvbXBhcmUgdGhlc2UgMTIgZGlnaXRzLiBJdCB0YWtlcyBhYm91dCAzMCBzZWNvbmRzLiBCb3RoIHNjcmVlbnMgc2hvdWxkIHNob3cgdGhlIHNhbWUgY29kZS5gfWZ1bmN0aW9uIGdzKGUpe3JldHVybmBUaGUgaW52aXRlIG1heSBoYXZlIGJlZW4gY29waWVkIG9yIGNoYW5nZWQgb24gdGhlIHdheS4gUmVtb3ZlIHRoaXMgY29udGFjdCwgdGhlbiBhc2sgJHtlfSBmb3IgYSBuZXcgaW52aXRlIHRocm91Z2ggYSBjaGFubmVsIHlvdSB0cnVzdC5gfWZ1bmN0aW9uIF9zKGUsdCl7cmV0dXJuYExvb2tzIGxpa2UgYSBzZWNvbmQgY29ubmVjdGlvbiB3aXRoICR7ZX0gKHBhaXJlZCAke3R9KS4gS2VlcCBib3RoLCBvciByZW1vdmUgdGhlIG9sZGVyIG9uZT9gfWZ1bmN0aW9uIHZzKGUpe3JldHVybmBXYWl0aW5nIGZvciAke2V9YH1mdW5jdGlvbiB5cyhlKXtyZXR1cm5gQ29ubmVjdGVkICR7ZX1gfWZ1bmN0aW9uIGJzKGUpe3JldHVybmBUb28gbWFueSB3cm9uZyB0cmllcy4gV2FpdCAke1N0cmluZyhlKX0gc2Vjb25kcywgdGhlbiB0cnkgYWdhaW4uIE5vdGhpbmcgd2FzIGNoYW5nZWQuYH12YXIgeHM9e2NoZWNrOmU9PmBNYXJrICR7ZX0gYXMgU2FmZXR5IGNvZGUgY2hlY2tlZC5gLHJlbmFtZTooZSx0KT0-YFJlbmFtZSAke2V9IHRvIOKAnCR7dH3igJ0uYCxyZW1vdmU6ZT0-YFJlbW92ZSAke2V9LmB9LFNzPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHZvaWQgMCx7ZGF5OmBudW1lcmljYCxtb250aDpgc2hvcnRgLHllYXI6YG51bWVyaWNgfSksQ3M9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodm9pZCAwLHtkYXk6YG51bWVyaWNgLG1vbnRoOmBzaG9ydGB9KSx3cz1lPT5lLm5hbWVTb3VyY2U9PT1gb3duZXJgP3thbGlhczplLm5hbWV9OntuYW1lOmUubmFtZSwuLi5lLmZpbmdlcnByaW50PT09dm9pZCAwP3t9OntmaW5nZXJwcmludDplLmZpbmdlcnByaW50fX0sVHM9ZT0-aGUod3MoZSkpLnRleHQsRXM9ZT0-ZS5sYWJlbD09PWBzYWZldHktY29kZS1jaGVja2VkYD9gY2hlY2tlZGA6YHNlbGZkZWNsYXJlZGA7ZnVuY3Rpb24gRHMoZSl7bGV0IHQ9ZS5yZXBsYWNlKC9b4oCc4oCdIl0vZyxgYCkudHJpbSgpO3JldHVybiB0LnN0YXJ0c1dpdGgoYENvbnRhY3QgYCk_YCNgOnQuc3BsaXQoL1xzKy8pLm1hcChlPT5lLmNoYXJBdCgwKSkuam9pbihgYCkuc2xpY2UoMCwyKS50b1VwcGVyQ2FzZSgpfHxgP2B9ZnVuY3Rpb24gT3Moe2ljb246ZSx0b25lOnQsY2hpbGRyZW46bn0pe3JldHVybigwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWNoaXAgYWwtdG9uZS0ke3R9YCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6ZSxzaXplOjEyLHN0cm9rZVdpZHRoOjIuMjV9KSwoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOm59KV19KX1mdW5jdGlvbiBrcyh7Y29udGFjdDplfSl7cmV0dXJuIGUuc3RhdHVzPT09YGJsb2NrZWRgPygwLEMuanN4KShPcyx7aWNvbjpgYmFuYCx0b25lOmBuZXV0cmFsYCxjaGlsZHJlbjpCLmJsb2NrZWR9KTplLnN0YXR1cz09PWByZXZva2VkYD8oMCxDLmpzeCkoT3Mse2ljb246YHhgLHRvbmU6YG5ldXRyYWxgLGNoaWxkcmVuOkIucmV2b2tlZH0pOmUucGFpcmluZz09PWBwZW5kaW5nYD8oMCxDLmpzeCkoT3Mse2ljb246YGNsb2NrYCx0b25lOmBuZXV0cmFsYCxjaGlsZHJlbjpCLndhaXRpbmd9KTplLnBhaXJpbmc9PT1gbWlzbWF0Y2hgPygwLEMuanN4KShPcyx7aWNvbjpgdHJpYW5nbGUtYWxlcnRgLHRvbmU6YHdhcm5pbmdgLGNoaWxkcmVuOkIubWlzbWF0Y2hDaGlwfSk6bnVsbH1mdW5jdGlvbiBBcyhlKXtsZXQgdD1uZXcgU2V0LG49bmV3IFNldDtmb3IobGV0IHIgb2YgZSl7bGV0IGU9VHMocikudHJpbSgpLnRvTG93ZXJDYXNlKCk7dC5oYXMoZSkmJm4uYWRkKGUpLHQuYWRkKGUpfXJldHVybiBufWZ1bmN0aW9uIGpzKHtjb250YWN0czplLHNlbGVjdGVkOnQsb25TZWxlY3Q6bn0pe2xldCByPUFzKGUpO3JldHVybigwLEMuanN4KShzbix7YXM6YHVsYCxsZXZlbDoxLGNsYXNzTmFtZTpgY3QtbGlzdGAsImFyaWEtbGFiZWwiOkIubGlzdExhYmVsLGNoaWxkcmVuOmUubWFwKGU9PigwLEMuanN4KShgbGlgLHtjaGlsZHJlbjooMCxDLmpzeHMpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLGNsYXNzTmFtZTpgYWwtY29udGFjdCBjdC1yb3cke2Uuc3RhdHVzPT09YGFjdGl2ZWA_YGA6YCBpcy0ke2Uuc3RhdHVzfWB9YCwiYXJpYS1jdXJyZW50IjplLnJlZj09PXQ_YHRydWVgOnZvaWQgMCxvbkNsaWNrOigpPT5uKGUucmVmKSxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1hdmF0YXIgYWwtdGV4dC1sYWJlbGAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46RHMoVHMoZSkpfSksKDAsQy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgYWwtY29udGFjdC1tYWluYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jb250YWN0LW5hbWVgLGNoaWxkcmVuOigwLEMuanN4KShnZSx7Li4ud3MoZSksbGFiZWw6RXMoZSksc2hvd0xhYmVsOiEwfSl9KSxyLmhhcyhUcyhlKS50cmltKCkudG9Mb3dlckNhc2UoKSk_KDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWQgY3Qtc2FtZS1uYW1lYCxjaGlsZHJlbjpCLnNhbWVOYW1lfSk6bnVsbF19KSwoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWNvbnRhY3Qtc2lkZWAsY2hpbGRyZW46KDAsQy5qc3gpKGtzLHtjb250YWN0OmV9KX0pXX0pfSxlLnJlZikpfSl9ZnVuY3Rpb24gTXMoe3N1bW1hcnk6ZSxwYXNza2V5OnQsYnVzeTpuLGVycm9yOnIsb25TdWJtaXQ6aSxvbkNhbmNlbDphfSl7bGV0W28sc109KDAsbC51c2VTdGF0ZSkoYGApLFtjLHVdPSgwLGwudXNlU3RhdGUpKHQ9PT12b2lkIDApLFtkLGZdPSgwLGwudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBjdC1wcmVzZW5jZWAsImFyaWEtbGFiZWwiOkIucHJlc2VuY2VJbnRybyxjaGlsZHJlbjpbKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOigwLEMuanN4KShgc3Ryb25nYCx7Y2hpbGRyZW46ZX0pfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOkIucHJlc2VuY2VJbnRyb30pLGM_KDAsQy5qc3hzKShgZm9ybWAse2NsYXNzTmFtZTpgY3QtcHJlc2VuY2UtZm9ybWAsb25TdWJtaXQ6ZT0-e2lmKGUucHJldmVudERlZmF1bHQoKSxvPT09YGB8fG4pcmV0dXJuO2xldCB0PXtraW5kOmBjb2RlYCxjb2RlOm99O3MoYGApLGkodCl9LGNoaWxkcmVuOlsoMCxDLmpzeCkodGUse2xhYmVsOkIub3duZXJDb2RlLGhpbnQ6a24sbmFtZTpgb3duZXItY29kZWAsdHlwZTpgcGFzc3dvcmRgLGF1dG9Db21wbGV0ZTpgb2ZmYCxzcGVsbENoZWNrOiExLG1vbm86ITAsdmFsdWU6byxvbkNoYW5nZTplPT5zKGUuY3VycmVudFRhcmdldC52YWx1ZSl9KSwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoTyx7dHlwZTpgc3VibWl0YCx2YXJpYW50OmBwcmltYXJ5YCxkaXNhYmxlZDpufHxvPT09YGAsY2hpbGRyZW46Qi5jb25maXJtfSksKDAsQy5qc3gpKE8se3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOmEsZGlzYWJsZWQ6bixjaGlsZHJlbjpCLmNhbmNlbH0pXX0pXX0pOigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgY3QtYWN0aW9uc2AsY2hpbGRyZW46WygwLEMuanN4KShPLHt2YXJpYW50OmBwcmltYXJ5YCxpY29uOmBhcHByb3ZhbGAsb25DbGljazooKT0-e3Q9PT12b2lkIDB8fG58fChmKCExKSxmcyh0KS50aGVuKGU9PntlPT09dm9pZCAwP2YoITApOmkoZSl9KSl9LGRpc2FibGVkOm4sY2hpbGRyZW46Qi51c2VQYXNza2V5fSksKDAsQy5qc3gpKE8se3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOigpPT51KCEwKSxkaXNhYmxlZDpuLGNoaWxkcmVuOkIudXNlQ29kZX0pLCgwLEMuanN4KShPLHt2YXJpYW50OmBnaG9zdGAsb25DbGljazphLGRpc2FibGVkOm4sY2hpbGRyZW46Qi5jYW5jZWx9KV19KSxkPygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOkIucGFzc2tleU5vdFVzZWR9KTpudWxsLHI9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBjdC1lcnJvcmAscm9sZTpgYWxlcnRgLGNoaWxkcmVuOnJ9KV19KX1mdW5jdGlvbiBOcyh7Y29udGFjdDplLGNvZGU6dCxvbk1hdGNoOm4sb25NaXNtYXRjaDpyLG9uU2tpcDppfSl7aWYodC5raW5kIT09YG9rYClyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBhbC1zY2AsImFyaWEtbGFiZWwiOkIuc2FmZXR5Q29kZSxjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1zYy1oZWFkYCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6YHNhZmV0eS1jb2RlYCxzaXplOjE2fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjpCLnNhZmV0eUNvZGV9KV19KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZGAscm9sZTpgc3RhdHVzYCxjaGlsZHJlbjp0LmtpbmQ9PT1gbG9hZGluZ2A_Qi5jb2RlTG9hZGluZzpCLmNvZGVVbmF2YWlsYWJsZX0pXX0pO2xldCBhPXQuY29kZS5zcGxpdChgIGApO3JldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGFsLXNjYCwiYXJpYS1sYWJlbCI6Qi5zYWZldHlDb2RlLGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNjLWhlYWRgLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpgc2FmZXR5LWNvZGVgLHNpemU6MTZ9KSwoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOkIuc2FmZXR5Q29kZX0pXX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjpocyhUcyhlKSl9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Qi5zYWZldHlFeHBsYWlufSksKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNjLWNvZGUgYWwtdGV4dC1jb2RlLWxnYCxyb2xlOmBpbWdgLCJhcmlhLWxhYmVsIjphLm1hcChlPT5lLnNwbGl0KGBgKS5qb2luKGAgYCkpLmpvaW4oYCwgYCksY2hpbGRyZW46YS5tYXAoKGUsdCk9PigwLEMuanN4KShgc3BhbmAse2NoaWxkcmVuOmV9LHQpKX0pLCgwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2MtYWN0aW9ucyBjdC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsQy5qc3gpKE8se2ljb246YGNoZWNrYCxvbkNsaWNrOigpPT5uKHQuY29kZSksY2hpbGRyZW46Qi50aGV5TWF0Y2h9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLGljb246YHhgLG9uQ2xpY2s6cixjaGlsZHJlbjpCLnRoZXlEb250TWF0Y2h9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLG9uQ2xpY2s6aSxjaGlsZHJlbjpCLnNraXB9KV19KV19KX12YXIgUHM9e3JlamVjdGVkOkIucHJlc2VuY2VSZWplY3RlZCxyZXF1aXJlZDpCLnByZXNlbmNlUmVxdWlyZWQscmVmdXNlZDpCLnJlZnVzZWQsbm90X2FwcGxpZWQ6Qi5ub3RBcHBsaWVkLGJ1c3k6Qi5idXN5LHNlc3Npb246Qi5zZXNzaW9uRXhwaXJlZCxmYWlsZWQ6Qi5mYWlsZWR9O2Z1bmN0aW9uIEZzKHtjb250YWN0OmUsYXBpOnQsb3duZXI6bixwYXNza2V5OnIsb2xkZXI6aSxvbktlZXBCb3RoOmEsb25DaGFuZ2VkOm99KXtsZXQgcz1lLnJlZixjPVRzKGUpLHU9ZS5zdGF0dXM9PT1gYWN0aXZlYCYmZS5wYWlyaW5nPT09YGNvbXBsZXRlYCYmZS5sYWJlbD09PWBzZWxmLWRlY2xhcmVkYCxbZCxmXT0oMCxsLnVzZVN0YXRlKSh7a2luZDpgbG9hZGluZ2B9KSxbcCxtXT0oMCxsLnVzZVN0YXRlKSgwKSxbaCxnXT0oMCxsLnVzZVN0YXRlKSghMSksW18sdl09KDAsbC51c2VTdGF0ZSkoITEpLFt5LGJdPSgwLGwudXNlU3RhdGUpKCExKSxbeCxTXT0oMCxsLnVzZVN0YXRlKSghMSksW1QsRV09KDAsbC51c2VTdGF0ZSkoYGApLFtELGVlXT0oMCxsLnVzZVN0YXRlKSh2b2lkIDApLFtuZSxyZV09KDAsbC51c2VTdGF0ZSkoITEpLFtpZSxBXT0oMCxsLnVzZVN0YXRlKSghMSksYWU9KDAsbC51c2VJZCkoKSxvZT1pdCgpLFtzZSxjZV09KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxbbGUsdWVdPSgwLGwudXNlU3RhdGUpKCExKSxbZGUsZmVdPSgwLGwudXNlU3RhdGUpKHZvaWQgMCksW3BlLG1lXT0oMCxsLnVzZVN0YXRlKSh2b2lkIDApOygwLGwudXNlRWZmZWN0KSgoKT0-e2lmKCF1fHxoKXJldHVybjtsZXQgZT0hMDtyZXR1cm4gZih7a2luZDpgbG9hZGluZ2B9KSx0LmdldChLbyhzLGBzYWZldHktY29kZWApKS50aGVuKHQ9PntlJiZmKHQua2luZD09PWBva2A_eih0LmRhdGEpOntraW5kOmB1bmF2YWlsYWJsZWB9KX0pLCgpPT57ZT0hMX19LFt0LHMsdSxoLHBdKTtsZXQgaGU9ZT0-e2ZlKHZvaWQgMCksbWUodm9pZCAwKSxjZShlKX0sX2U9KDAsbC51c2VDYWxsYmFjaykoZT0-e3NlIT09dm9pZCAwJiYodWUoITApLGZlKHZvaWQgMCksbi5wb3N0KEtvKHNlLnJlZixzZS53aGF0KSxzZS5pbnB1dCxlKS50aGVuKGU9Pnt1ZSghMSksZS5raW5kPT09YGRvbmVgPyhjZSh2b2lkIDApLHNlLndoYXQ9PT1gY2hlY2tgJiZiKCEwKSxzZS53aGF0PT09YHJlbmFtZWAmJihTKCExKSxFKGBgKSxtZShCLnJlbmFtZWQpKSxvKHNlLndoYXQpKTplLmtpbmQ9PT1gd2FpdGA_ZmUoYnMoZS5zZWNvbmRzKSk6ZS5raW5kPT09YHJlamVjdGVkYHx8ZS5raW5kPT09YHJlcXVpcmVkYD9mZShQc1tlLmtpbmRdKTooY2Uodm9pZCAwKSxtZShQc1tlLmtpbmRdKSxzZS53aGF0PT09YGNoZWNrYCYmbShlPT5lKzEpKX0pKX0sW24sc2Usb10pLHZlPWU9PntlLnByZXZlbnREZWZhdWx0KCk7bGV0IG49VC50cmltKCk7bj09PWBgP2VlKEIuYWxpYXNJbnZhbGlkKTooZWUodm9pZCAwKSx0LmdldChxbyhzLG4pKS50aGVuKGU9PntsZXQgdD1lLmtpbmQ9PT1gb2tgP0dvKGUuZGF0YSk6e2tpbmQ6YHJlZnVzZWRgLHJlYXNvbjpgdW5hdmFpbGFibGVgfTt0LmtpbmQ9PT1gb2tgP2hlKHt3aGF0OmByZW5hbWVgLHJlZjpzLGlucHV0OnthbGlhczpufSxzdW1tYXJ5OnhzLnJlbmFtZShjLG4pfSk6ZWUodC5yZWFzb249PT1gYWxpYXNfdGFrZW5gP0IuYWxpYXNUYWtlbjp0LnJlYXNvbj09PWBhbGlhc19pbnZhbGlkYD9CLmFsaWFzSW52YWxpZDp0LnJlYXNvbj09PWBjb250YWN0X3Vua25vd25gP0IuY29udGFjdFVua25vd246Qi5yZW5hbWVVbmF2YWlsYWJsZSl9KSl9LHllPSgpPT5oZSh7d2hhdDpgcmVtb3ZlYCxyZWY6cyxzdW1tYXJ5OnhzLnJlbW92ZShjKX0pLGo9aT09PXZvaWQgMHx8c2UhPT12b2lkIDB8fHh8fG5lfHxpZT9udWxsOigwLEMuanN4KShzbix7bGV2ZWw6MyxjbGFzc05hbWU6YGN0LWR1cGAsY2hpbGRyZW46KDAsQy5qc3hzKShrLHt0b25lOmBpbmZvYCxpY29uOmB1c2Vyc2AsY2hpbGRyZW46WygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxpZDphZSxjaGlsZHJlbjpfcyhUcyhpKSxDcy5mb3JtYXQobmV3IERhdGUoaS5zaW5jZSoxZTMpKSl9KSwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLHNpemU6YHNtYCxvbkNsaWNrOmEsY2hpbGRyZW46Qi5rZWVwQm90aH0pLCgwLEMuanN4KShPLHt2YXJpYW50OmBkYW5nZXJgLHNpemU6YHNtYCwiYXJpYS1kZXNjcmliZWRieSI6YWUsb25DbGljazooKT0-QSghMCksY2hpbGRyZW46Qi5yZW1vdmVPbGRlcn0pXX0pXX0pfSksTT1udWxsO3JldHVybiB5fHxlLmxhYmVsPT09YHNhZmV0eS1jb2RlLWNoZWNrZWRgP009KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3hzKShgcGAse2NsYXNzTmFtZTpgYWwtc2Mtb2sgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6YGlkZW50aXR5LWNoZWNrZWRgLHNpemU6MTZ9KSx5P0IubWF0Y2hlZDpCLmNoZWNrZWRdfSkseT8oMCxDLmpzeCkoeHQse2tpbmQ6YGNvZGVzYH0pOm51bGxdfSk6ZS5zdGF0dXM9PT1gYWN0aXZlYCYmZS5wYWlyaW5nPT09YHBlbmRpbmdgP009KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3hzKShgcGAse2NsYXNzTmFtZTpgY3Qtd2FpdGluZyBhbC10ZXh0LWJvZHlgLCJkYXRhLW1vdGlvbiI6b2U_YHJlZHVjZWRgOmBmdWxsYCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6YGNsb2NrYCxzaXplOjE2fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46dnMoYyl9KV19KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZGAsY2hpbGRyZW46Qi53YWl0aW5nRGV0YWlsfSldfSk6dSYmXz9NPSgwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2Mtc3RvcCBhbC10b25lLXdhcm5pbmdgLHJvbGU6YGFsZXJ0YCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6YHRyaWFuZ2xlLWFsZXJ0YCxzaXplOjE2fSksKDAsQy5qc3hzKShgZGl2YCx7Y2hpbGRyZW46WygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjooMCxDLmpzeCkoYHN0cm9uZ2Ase2NoaWxkcmVuOkIubWlzbWF0Y2hUaXRsZX0pfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOmdzKGMpfSksc2U9PT12b2lkIDA_KDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBjdC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsQy5qc3gpKE8se3ZhcmlhbnQ6YGRhbmdlcmAsb25DbGljazp5ZSxjaGlsZHJlbjpCLnJlbW92ZUNvbnRhY3R9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLG9uQ2xpY2s6KCk9Pnt2KCExKSxnKCEwKX0sY2hpbGRyZW46Qi5rZWVwfSldfSk6bnVsbF19KV19KTp1JiZoP009KDAsQy5qc3gpKE8se3ZhcmlhbnQ6YGdob3N0YCxzaXplOmBzbWAsaWNvbjpgc2FmZXR5LWNvZGVgLG9uQ2xpY2s6KCk9PmcoITEpLGNoaWxkcmVuOkIuY29tcGFyZUNvZGV9KTp1JiZzZT09PXZvaWQgMCYmKE09KDAsQy5qc3gpKE5zLHtjb250YWN0OmUsY29kZTpkLG9uTWF0Y2g6ZT0-aGUoe3doYXQ6YGNoZWNrYCxyZWY6cyxpbnB1dDp7Y29kZTplfSxzdW1tYXJ5OnhzLmNoZWNrKGMpfSksb25NaXNtYXRjaDooKT0-dighMCksb25Ta2lwOigpPT5nKCEwKX0pKSwoMCxDLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBjdC1kZXRhaWxgLCJhcmlhLWxhYmVsIjpjLGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWRldGFpbC1oZWFkYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBoMmAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0yYCxjaGlsZHJlbjooMCxDLmpzeCkoZ2Usey4uLndzKGUpLGxhYmVsOkVzKGUpLHNob3dMYWJlbDohMH0pfSksc2U9PT12b2lkIDAmJiF4JiYhbmUmJiFpZT8oMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLHNpemU6YHNtYCxvbkNsaWNrOigpPT5TKCEwKSxjaGlsZHJlbjpCLnJlbmFtZX0pLGUuc3RhdHVzPT09YHJldm9rZWRgP251bGw6KDAsQy5qc3gpKE8se3ZhcmlhbnQ6YGdob3N0YCxzaXplOmBzbWAsb25DbGljazooKT0-cmUoITApLGNoaWxkcmVuOkIucmVtb3ZlfSldfSk6bnVsbF19KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46eXMoU3MuZm9ybWF0KG5ldyBEYXRlKGUuc2luY2UqMWUzKSkpfSksaixlLnN0YXR1cz09PWBibG9ja2VkYD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46Qi5ibG9ja2VkRGV0YWlsfSk6bnVsbCxlLnN0YXR1cz09PWByZXZva2VkYD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46Qi5yZXZva2VkRGV0YWlsfSk6bnVsbCxwZT09PXZvaWQgMD9udWxsOigwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOnBlfSkseCYmc2U9PT12b2lkIDA_KDAsQy5qc3hzKShgZm9ybWAse2NsYXNzTmFtZTpgY3QtcmVuYW1lYCxvblN1Ym1pdDp2ZSxjaGlsZHJlbjpbKDAsQy5qc3gpKHRlLHtsYWJlbDpCLnJlbmFtZUxhYmVsLGhpbnQ6Qi5yZW5hbWVIaW50LG5hbWU6YGFsaWFzYCxhdXRvQ29tcGxldGU6YG9mZmAsbWF4TGVuZ3RoOjMyLHZhbHVlOlQsb25DaGFuZ2U6ZT0-RShlLmN1cnJlbnRUYXJnZXQudmFsdWUpLC4uLkQ9PT12b2lkIDA_e306e2Vycm9yOkR9fSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBjdC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsQy5qc3gpKE8se3R5cGU6YHN1Ym1pdGAsdmFyaWFudDpgcHJpbWFyeWAsY2hpbGRyZW46Qi5zYXZlTmFtZX0pLCgwLEMuanN4KShPLHt2YXJpYW50OmBnaG9zdGAsb25DbGljazooKT0-e1MoITEpLGVlKHZvaWQgMCl9LGNoaWxkcmVuOkIuY2FuY2VsfSldfSldfSk6bnVsbCwobmV8fGllJiZpIT09dm9pZCAwKSYmc2U9PT12b2lkIDA_KDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBjdC1jb25maXJtYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOkIucmVtb3ZlRXhwbGFpbn0pLCgwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgY3QtYWN0aW9uc2AsY2hpbGRyZW46WygwLEMuanN4KShPLHt2YXJpYW50OmBkYW5nZXJgLG9uQ2xpY2s6KCk9PntpZSYmaSE9PXZvaWQgMD8oQSghMSksaGUoe3doYXQ6YHJlbW92ZWAscmVmOmkucmVmLHN1bW1hcnk6eHMucmVtb3ZlKFRzKGkpKX0pKToocmUoITEpLHllKCkpfSxjaGlsZHJlbjpCLnJlbW92ZUNvbnRhY3R9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLG9uQ2xpY2s6KCk9PntyZSghMSksQSghMSl9LGNoaWxkcmVuOkIuY2FuY2VsfSldfSldfSk6bnVsbCxzZT09PXZvaWQgMD9udWxsOigwLEMuanN4KShNcyx7c3VtbWFyeTpzZS5zdW1tYXJ5LHBhc3NrZXk6cixidXN5OmxlLGVycm9yOmRlLG9uU3VibWl0Ol9lLG9uQ2FuY2VsOigpPT57Y2Uodm9pZCAwKSxmZSh2b2lkIDApfX0pLE1dfSl9ZnVuY3Rpb24gSXMoZSl7cmV0dXJuWy4uLmUuZmluZ2VycHJpbnQ9PT12b2lkIDA_W106W3traW5kOmB0ZXh0YCxsYWJlbDpwcy5maW5nZXJwcmludCx2YWx1ZTplLmZpbmdlcnByaW50fV0se2tpbmQ6YHRleHRgLGxhYmVsOnBzLmlkZW50aXR5LHZhbHVlOmUubGFiZWw9PT1gc2FmZXR5LWNvZGUtY2hlY2tlZGA_cHMuY2hlY2tlZDpwcy5zZWxmRGVjbGFyZWR9LHtraW5kOmB0aW1lYCxsYWJlbDpwcy5wYWlyZWQsdmFsdWU6bmV3IERhdGUoZS5zaW5jZSoxZTMpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwxMCl9XX1mdW5jdGlvbiBMcyh7YXBpOmUsb3duZXI6dH09e30pe2xldCBuPSgwLGwudXNlTWVtbykoKCk9PmU_P0duKCksW2VdKSxyPSgwLGwudXNlTWVtbykoKCk9PnQ_P2xzKCksW3RdKSxbaSxhXT0oMCxsLnVzZVN0YXRlKSh7cGhhc2U6YGxvYWRpbmdgfSksW28sc109KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxbYyx1XT0oMCxsLnVzZVN0YXRlKSh2b2lkIDApLFtkLGZdPSgwLGwudXNlU3RhdGUpKDApLFtwLG1dPSgwLGwudXNlU3RhdGUpKCExKSxbaCxnXT0oMCxsLnVzZVN0YXRlKShRbyksW18sdl09KDAsbC51c2VTdGF0ZSkoITEpOygwLGwudXNlRWZmZWN0KSgoKT0-e2xldCBlPSEwO3JldHVybiBuLmdldChGbykudGhlbih0PT57aWYoIWUpcmV0dXJuO2lmKHQua2luZD09PWBlcnJvcmAmJnQuc3RhdHVzPT09NDA5KXthKHtwaGFzZTpgbm90X3NldF91cGB9KTtyZXR1cm59bGV0IG49dC5raW5kPT09YG9rYD9Xbyh0LmRhdGEpOntraW5kOmBlcnJvcmB9O24ua2luZD09PWBva2A_KGEoe3BoYXNlOmBva2AsY29udGFjdHM6bi5jb250YWN0c30pLHMoZT0-ZSE9PXZvaWQgMCYmbi5jb250YWN0cy5zb21lKHQ9PnQucmVmPT09ZSk_ZTpuLmNvbnRhY3RzWzBdPy5yZWYpKTphKHtwaGFzZTpgZXJyb3JgfSl9KSwoKT0-e2U9ITF9fSxbbixkXSksKDAsbC51c2VFZmZlY3QpKCgpPT57bGV0IGU9ITA7cmV0dXJuIHIucGFzc2tleSgpLnRoZW4odD0-e2UmJnUodCl9KSwoKT0-e2U9ITF9fSxbcl0pO2xldCB5PSgwLGwudXNlQ2FsbGJhY2spKGU9PnttKGU9PT1gcmVtb3ZlYCksZT09PWByZW1vdmVgJiZ2KCExKSxmKGU9PmUrMSl9LFtdKSxiPSgwLEMuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46T24uY29udGFjdHN9KTtpZihpLnBoYXNlPT09YG5vdF9zZXRfdXBgKXJldHVybigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46W2IsKDAsQy5qc3gpKEEse2ljb246YGluZm9gLHRpdGxlOkIubm90U2V0VXB9KV19KTtpZihpLnBoYXNlPT09YGxvYWRpbmdgKXJldHVybigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46W2IsKDAsQy5qc3gpKCR0LHtsb2FkaW5nOiEwLGxhYmVsOkIubG9hZGluZyxsaW5lczo0LGNsYXNzTmFtZTpgY3QtbG9hZGluZ2B9KV19KTtpZihpLnBoYXNlPT09YGVycm9yYClyZXR1cm4oMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOltiLCgwLEMuanN4KShBLHtpY29uOmBjaXJjbGUtYWxlcnRgLHRpdGxlOkIubGlzdFVuYXZhaWxhYmxlfSldfSk7aWYoaS5jb250YWN0cy5sZW5ndGg9PT0wKXJldHVybigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46W2IscD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAscm9sZTpgc3RhdHVzYCxjaGlsZHJlbjpCLnJlbW92ZWR9KTpudWxsLCgwLEMuanN4KShBLHtpY29uOmB1c2Vyc2AsdGl0bGU6Qi5lbXB0eVRpdGxlLHByb21wdDpCLmVtcHR5UHJvbXB0fSldfSk7bGV0IHg9aS5jb250YWN0cy5maW5kKGU9PmUucmVmPT09byk_P2kuY29udGFjdHNbMF0sUz14Py5vbGRlclNhbWVPd25lcix3PXg9PT12b2lkIDB8fFM9PT12b2lkIDB8fCRvKGgseC5yZWYsUyk_dm9pZCAwOmkuY29udGFjdHMuZmluZChlPT5lLnJlZj09PVMmJmUucmVmIT09eC5yZWYmJmUuc3RhdHVzPT09YGFjdGl2ZWApO3JldHVybigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbCBhbC1tdXRlZCBjdC1jb3VudGAsY2hpbGRyZW46bXMoaS5jb250YWN0cy5sZW5ndGgpfSksYixwPygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOkIucmVtb3ZlZH0pOm51bGwsKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWxheW91dGAsY2hpbGRyZW46KDAsQy5qc3gpKGpzLHtjb250YWN0czppLmNvbnRhY3RzLHNlbGVjdGVkOng_LnJlZixvblNlbGVjdDplPT57bSghMSkscyhlKSx2KCEwKX19KX0pLCgwLEMuanN4KSh1bix7b3BlbjpfJiZ4IT09dm9pZCAwLHRpdGxlOkIuZGV0YWlsVGl0bGUsY2xvc2VMYWJlbDpCLmNsb3NlU2hlZXQsb25DbG9zZTooKT0-dighMSksY2hpbGRyZW46eD09PXZvaWQgMD9udWxsOigwLEMuanN4KShGcyx7Y29udGFjdDp4LGFwaTpuLG93bmVyOnIscGFzc2tleTpjLG9sZGVyOncsb25LZWVwQm90aDooKT0-e1MhPT12b2lkIDAmJmcoZXMoaCx4LnJlZixTKSl9LG9uQ2hhbmdlZDp5fSx4LnJlZil9KSwoMCxDLmpzeCkoWmUse2ZpZWxkczp4PT09dm9pZCAwP1tdOklzKHgpfSldfSl9dmFyIFJzPWAvYXBpL3VpL2ZpbGVzYCx6cz1gL2FwaS91aS9maWxlcy9mb2xkZXJzYCxCcz0oZSx0LG4pPT5gL2FwaS91aS9maWxlcy9yZXZpZXc_JHtuZXcgVVJMU2VhcmNoUGFyYW1zKHtbZV06dCx2ZXJzaW9uOlN0cmluZyhuKX0pLnRvU3RyaW5nKCl9YCxWcz00MDk2LEhzPS9eW0EtWmEtejAtOV8tXXs0M30kLyxVcz0vXlthLXpfXXsxLDY0fSQvLFdzPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxHcz1lPT50eXBlb2YgZT09YHN0cmluZ2AmJmUubGVuZ3RoPjAmJmUubGVuZ3RoPD1WcztmdW5jdGlvbiBLcyhlKXtpZighV3MoZSl8fCFBcnJheS5pc0FycmF5KGUuZm9sZGVycykpcmV0dXJuO2xldCB0PWUudmVyc2lvbixuPXR5cGVvZiB0PT1gbnVtYmVyYCYmTnVtYmVyLmlzU2FmZUludGVnZXIodCkmJnQ-PTA_dDpudWxsLHI9W107Zm9yKGxldCB0IG9mIGUuZm9sZGVycyl7aWYoIVdzKHQpfHwhR3ModC5wYXRoKSljb250aW51ZTtsZXQgZT10LnJlc29sdmVkO3IucHVzaCh7cGF0aDp0LnBhdGgscmVzb2x2ZWQ6R3MoZSk_ZTpudWxsfSl9cmV0dXJue2ZvbGRlcnM6cix2ZXJzaW9uOm59fWZ1bmN0aW9uIHFzKGUpe2lmKCFXcyhlKSlyZXR1cm47bGV0e3Jldmlldzp0LGNoYW5nZTpuLGZvbGRlcjpyLHR5cGVkOmksZWxzZXdoZXJlOmEsd2FybmluZ3M6byxleHBpcmVzQXQ6c309ZTtpZih0eXBlb2YgdD09YHN0cmluZ2AmJkhzLnRlc3QodCkmJihuPT09YGFkZGB8fG49PT1gcmVtb3ZlYCkmJkdzKHIpJiZHcyhpKSYmdHlwZW9mIGE9PWBib29sZWFuYCYmISghQXJyYXkuaXNBcnJheShvKXx8by5sZW5ndGg-NjQpJiZvLmV2ZXJ5KGU9PnR5cGVvZiBlPT1gc3RyaW5nYCYmVXMudGVzdChlKSkmJnR5cGVvZiBzPT1gbnVtYmVyYCYmTnVtYmVyLmlzU2FmZUludGVnZXIocykpcmV0dXJue3Jldmlldzp0LGNoYW5nZTpuLGZvbGRlcjpyLHR5cGVkOmksZWxzZXdoZXJlOmEsd2FybmluZ3M6byxleHBpcmVzQXQ6c319ZnVuY3Rpb24gSnMoZSx0KXtsZXQgbj1Xcyh0KT90LmVycm9yOnZvaWQgMDtpZihlPT09NDIyJiZuPT09YGZvbGRlcl9yZWZ1c2VkYCYmV3ModCkpe2xldCBlPXR5cGVvZiB0LnJlYXNvbj09YHN0cmluZ2A_dC5yZWFzb246YHVua25vd25gLG49dC5wcm90ZWN0ZWRGb2xkZXI7cmV0dXJuIEdzKG4pP3traW5kOmBmb2xkZXJgLHJlYXNvbjplLHByb3RlY3RlZEZvbGRlcjpufTp7a2luZDpgZm9sZGVyYCxyZWFzb246ZX19c3dpdGNoKG4pe2Nhc2VgcnVsZXNfdW5yZWFkYWJsZWA6Y2FzZWByZWNlaXB0c19xdWVzdGlvbmA6Y2FzZWBjaGFuZ2VkYDpjYXNlYHN0YWxlYDpjYXNlYG5vdF9zZXRfdXBgOmNhc2VgdW5hdmFpbGFibGVgOnJldHVybntraW5kOm59O2RlZmF1bHQ6cmV0dXJue2tpbmQ6YGZhaWxlZGB9fX12YXIgWXM9YC9hcGkvdWkvZmlsZXMvcmVjZWl2ZWRgLFhzPWAvYXBpL3VpL2ZpbGVzL3NlbnRgLFpzPWAvYXBpL3VpL2ZpbGVzL3JlY2VpdmVkL3JldmVhbGAsUXM9UmVnRXhwKGBbXFx1MDAwMC1cXHUwMDFmXFx1MDA3Zi1cXHUwMDlmXFx1MDBhZFxcdTA2MWNcXHUxODBlXFx1MjAwYi1cXHUyMDBmXFx1MjAyOC1cXHUyMDJlXFx1MjA2MC1cXHUyMDZmXFx1ZmVmZlxcdWZmZjktXFx1ZmZmYl1gLGBnYCk7ZnVuY3Rpb24gJHMoZSx0PTI1NSl7bGV0IG49Wy4uLmUucmVwbGFjZShRcyxgYCkudHJpbSgpXTtyZXR1cm4gbi5sZW5ndGg-dD9gJHtuLnNsaWNlKDAsdC0xKS5qb2luKGBgKX3igKZgOm4uam9pbihgYCl9dmFyIGVjPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSx0Yz0oZSx0KT0-dHlwZW9mIGU9PWBzdHJpbmdgJiZlLmxlbmd0aD4wJiZlLmxlbmd0aDw9dD9lOnZvaWQgMCxuYz1lPT50eXBlb2YgZT09YG51bWJlcmAmJk51bWJlci5pc0Zpbml0ZShlKSYmZT49MD9lOnZvaWQgMCxyYz0oZSx0KT0-dHlwZW9mIGU9PWBzdHJpbmdgP3QuZmluZCh0PT50PT09ZSk6dm9pZCAwLGljPVtgc2F2ZWRgLGBub3Rfc2F2ZWRgLGBleHBpcmVkYCxgZGVsZXRlZGBdLGFjPVtgYXZhaWxhYmxlYCxgZXhwaXJlZGAsYGRlbGV0ZWRgXSxvYz1bYHF1ZXVlZGAsYHNlbnRgLGBub3RfZGVsaXZlcmVkYF07ZnVuY3Rpb24gc2MoZSl7aWYoIWVjKGUpKXJldHVybjtsZXQgdD10YyhlLmlkLDgwKSxuPXRjKGUuZnJvbSw0MDApLHI9dGMoZS5uYW1lLDEwMjQpLGk9bmMoZS5hdCksYT1uYyhlLnNpemUpLG89cmMoZS5zdGF0ZSxpYykscz1lLnByb29mO2lmKHQ9PT12b2lkIDB8fG49PT12b2lkIDB8fHI9PT12b2lkIDB8fGk9PT12b2lkIDB8fGE9PT12b2lkIDB8fG89PT12b2lkIDB8fHR5cGVvZiBzIT1gYm9vbGVhbmApcmV0dXJuO2xldCBjPW89PT1gc2F2ZWRgP3RjKGUuc2F2ZWROYW1lLDEwMjQpOnZvaWQgMDtyZXR1cm57aWQ6dCxmcm9tOiRzKG4sMTAwKSxhdDppLG5hbWU6JHMociksc2l6ZTphLHN0YXRlOm8sc2F2ZWROYW1lOmM9PT12b2lkIDA_bnVsbDokcyhjKSxwcm9vZjpzfX1mdW5jdGlvbiBjYyhlKXtpZighZWMoZSkpcmV0dXJuO2xldCB0PXRjKGUuaWQsODApLG49dGMoZS50byw0MDApLHI9dGMoZS5uYW1lLDEwMjQpLGk9bmMoZS5hdCksYT1uYyhlLnNpemUpLG89cmMoZS5zdGF0dXMsb2MpLHM9cmMoZS5zdGF0ZSxhYyksYz1lLnJlY2VpcHQ7aWYodCE9PXZvaWQgMCYmbiE9PXZvaWQgMCYmciE9PXZvaWQgMCYmaSE9PXZvaWQgMCYmYSE9PXZvaWQgMCYmbyE9PXZvaWQgMCYmcyE9PXZvaWQgMCYmdHlwZW9mIGM9PWBib29sZWFuYClyZXR1cm57aWQ6dCx0bzokcyhuLDEwMCksYXQ6aSxuYW1lOiRzKHIpLHNpemU6YSxzdGF0dXM6byxyZWNlaXB0OmMsc3RhdGU6cyxleHBpcmVzQXQ6bmMoZS5leHBpcmVzQXQpPz9udWxsfX1mdW5jdGlvbiBsYyhlLHQpe2lmKCFlYyhlKXx8IUFycmF5LmlzQXJyYXkoZS5pdGVtcykpcmV0dXJuO2xldCBuPVtdO2ZvcihsZXQgciBvZiBlLml0ZW1zKXtsZXQgZT10KHIpO2UhPT12b2lkIDAmJm4ucHVzaChlKX1sZXQgcj1lLm5leHRDdXJzb3I7aWYoIShyIT09dm9pZCAwJiYodHlwZW9mIHIhPWBzdHJpbmdgfHxyLmxlbmd0aD4yNTYpKSlyZXR1cm57aXRlbXM6bixuZXh0OnR5cGVvZiByPT1gc3RyaW5nYCYmci5sZW5ndGg-MD9yOm51bGx9fXZhciB1Yz1lPT5sYyhlLHNjKSxkYz1lPT5sYyhlLGNjKTtmdW5jdGlvbiBmYyhlLHQpe2xldCBuPW5ldyBVUkxTZWFyY2hQYXJhbXMoe2xpbWl0OmAyMGB9KTtyZXR1cm4gdCE9PW51bGwmJm4uc2V0KGBjdXJzb3JgLHQpLGAke2V9PyR7bi50b1N0cmluZygpfWB9YXN5bmMgZnVuY3Rpb24gcGMoZSx0LG4scil7bGV0IGk9YXdhaXQgZShmYyh0LG4pKTtpZihpLmtpbmQ9PT1gb2ZmbGluZWApcmV0dXJue2tpbmQ6YG9mZmxpbmVgfTtpZihpLnN0YXR1cz09PTQwOSlyZXR1cm57a2luZDpgbm90X3NldF91cGB9O2xldCBhPWkuc3RhdHVzPT09MjAwP3IoaS5qc29uKTp2b2lkIDA7cmV0dXJuIGE9PT12b2lkIDA_e2tpbmQ6YGVycm9yYH06e2tpbmQ6YG9rYCxmZWVkOmF9fXZhciBtYz1gWC1BZ2VudExpbmstQ1NSRmAsaGM9YC9hcGkvb3duZXIvcGFzc2tleWA7ZnVuY3Rpb24gZ2MoKXtyZXR1cm4gdHlwZW9mIGRvY3VtZW50PmB1YD9gYDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBtZXRhW25hbWU9ImFnZW50bGluay1jc3JmIl1gKT8uZ2V0QXR0cmlidXRlKGBjb250ZW50YCk_P2BgfXZhciBfYz1lPT50eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSk7ZnVuY3Rpb24gdmMoZSl7bGV0IHQ9YGA7Zm9yKGxldCBuIG9mIGUpdCs9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtyZXR1cm4gYnRvYSh0KS5yZXBsYWNlKC9cKy9nLGAtYCkucmVwbGFjZSgvXC8vZyxgX2ApLnJlcGxhY2UoLz0rJC8sYGApfWZ1bmN0aW9uIHljKGUpe2xldCB0PWUucmVwbGFjZSgvLS9nLGArYCkucmVwbGFjZSgvXy9nLGAvYCksbj1hdG9iKHQrYD1gLnJlcGVhdCgoNC10Lmxlbmd0aCU0KSU0KSkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKz0xKXJbZV09bi5jaGFyQ29kZUF0KGUpO3JldHVybiByfWZ1bmN0aW9uIGJjKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUucmVkdWNlKChlLHQpPT5lKzIrdC5sZW5ndGgsMCkpLG49MDtmb3IobGV0IHIgb2YgZSl7aWYoci5sZW5ndGg-NjU1MzUpdGhyb3cgRXJyb3IoYGZpZWxkIHRvbyBsb25nYCk7dFtuXT1yLmxlbmd0aD4-OCx0W24rMV09ci5sZW5ndGgmMjU1LHQuc2V0KHIsbisyKSxuKz0yK3IubGVuZ3RofXJldHVybiB0fXZhciB4Yz0vXltBLVphLXowLTlfLV17MSwxMDI0fSQvLFNjPVtgbm90X2ZvdW5kYCxgcmVmdXNlZGAsYHVuYXZhaWxhYmxlYCxgbm90X29wZW5lZGBdO2Z1bmN0aW9uIENjKGU9e30pe2xldCB0PWUuZmV0Y2g_PygoZSx0KT0-Z2xvYmFsVGhpcy5mZXRjaChlLHQpKSxuPSgpPT5lLnRva2VuPz9nYygpO2FzeW5jIGZ1bmN0aW9uIHIoZSxuKXtpZighZS5zdGFydHNXaXRoKGAvYXBpL2ApfHxlLnN0YXJ0c1dpdGgoYC8vYCkpdGhyb3cgRXJyb3IoYGFwaSBwYXRoYCk7bGV0IHI7dHJ5e3I9YXdhaXQgdChlLHsuLi5uLGNyZWRlbnRpYWxzOmBzYW1lLW9yaWdpbmAsY2FjaGU6YG5vLXN0b3JlYH0pfWNhdGNoe3JldHVybntraW5kOmBvZmZsaW5lYH19bGV0IGk7dHJ5e2k9YXdhaXQgci5qc29uKCl9Y2F0Y2h7aT12b2lkIDB9cmV0dXJue2tpbmQ6YGFuc3dlcmAsc3RhdHVzOnIuc3RhdHVzLGpzb246aX19cmV0dXJue2dldDplPT5yKGUse21ldGhvZDpgR0VUYCxoZWFkZXJzOm5ldyBIZWFkZXJzKHtbbWNdOm4oKX0pfSksYXN5bmMgcGFzc2tleSgpe2xldCBlPWF3YWl0IHIoaGMse21ldGhvZDpgR0VUYCxoZWFkZXJzOm5ldyBIZWFkZXJzKHtbbWNdOm4oKX0pfSk7aWYoZS5raW5kIT09YGFuc3dlcmB8fGUuc3RhdHVzIT09MjAwfHwhX2MoZS5qc29uKSlyZXR1cm47bGV0IHQ9ZS5qc29uLnBhc3NrZXk7aWYoIV9jKHQpfHx0LnJlZ2lzdGVyZWQhPT0hMClyZXR1cm47bGV0e2NyZWRlbnRpYWxJZDppLHByZlNhbHQ6YX09dDtpZih0eXBlb2YgaT09YHN0cmluZ2AmJnhjLnRlc3QoaSkmJnR5cGVvZiBhPT1gc3RyaW5nYCYmeGMudGVzdChhKSlyZXR1cm57Y3JlZGVudGlhbElkOmkscHJmU2FsdDphfX0sYXN5bmMgY29tbWl0KGUsdCxpKXtsZXQgYT1uZXcgSGVhZGVycyh7W21jXTpuKCksImNvbnRlbnQtdHlwZSI6YGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbWAsIlgtQWdlbnRMaW5rLUlucHV0Ijp2YyhuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkodCkpKX0pO2kua2luZD09PWBwYXNza2V5YCYmYS5zZXQoYFgtQWdlbnRMaW5rLVByZXNlbmNlYCxgcGFzc2tleWApO2xldCBvPWF3YWl0IHIoZSx7bWV0aG9kOmBQT1NUYCxoZWFkZXJzOmEsYm9keTppLmtpbmQ9PT1gcGFzc2tleWA_aS5ib2R5Om5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShpLmNvZGUpfSk7aWYoby5raW5kPT09YG9mZmxpbmVgKXJldHVybntraW5kOmBvZmZsaW5lYH07bGV0IHM9X2Moby5qc29uKT9vLmpzb246e307aWYoby5zdGF0dXM9PT0yMDAmJnMuc3RhdHVzPT09YGFwcGxpZWRgKXJldHVybntraW5kOmBhcHBsaWVkYCxjb25maXJtZWQ6cy5jb25maXJtZWQ9PT0hMH07aWYoby5zdGF0dXM9PT00MDEpcmV0dXJue2tpbmQ6YHNlc3Npb25fZXhwaXJlZGB9O2xldCBjPXMuc3RhdHVzLGw9cy5lcnJvcjtpZihjPT09YHdhaXRgKXtsZXQgZT1zLnJldHJ5QWZ0ZXI7cmV0dXJue2tpbmQ6YHdhaXRgLHNlY29uZHM6dHlwZW9mIGU9PWBudW1iZXJgJiZOdW1iZXIuaXNTYWZlSW50ZWdlcihlKSYmZT4wJiZlPD04NjQwMD9lOjF9fXJldHVybiBjPT09YHByZXNlbmNlX3JlamVjdGVkYHx8Yz09PWBwcmVzZW5jZV9yZXF1aXJlZGB8fGM9PT1gYnVzeWA_e2tpbmQ6Y306Yz09PWBuZWVkc19zZXR1cGA_e2tpbmQ6YG5vdF9zZXRfdXBgfTpsPT09YGNoYW5nZWRgfHxsPT09YGV4cGlyZWRgP3traW5kOmx9OmM9PT1gcmVmdXNlZGB8fG8uc3RhdHVzPT09NDA5P3traW5kOmByZWZ1c2VkYH06e2tpbmQ6YGZhaWxlZGB9fSxhc3luYyByZXZlYWwoZSl7bGV0IHQ9YXdhaXQgcihacyx7bWV0aG9kOmBQT1NUYCxoZWFkZXJzOm5ldyBIZWFkZXJzKHtbbWNdOm4oKSwiY29udGVudC10eXBlIjpgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYH0pLGJvZHk6bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHtpZDplfSkpfSk7aWYodC5raW5kPT09YG9mZmxpbmVgKXJldHVybmBvZmZsaW5lYDtpZih0LnN0YXR1cz09PTQwMSlyZXR1cm5gc2Vzc2lvbl9leHBpcmVkYDtsZXQgaT1fYyh0Lmpzb24pP3QuanNvbjp7fTtpZih0LnN0YXR1cz09PTIwMCYmaS5zdGF0dXM9PT1gc2hvd25gKXJldHVybmBzaG93bmA7bGV0IGE9aS5lcnJvcjtyZXR1cm4gU2MuZmluZChlPT5lPT09YSk_P2BmYWlsZWRgfX19ZnVuY3Rpb24gd2MoKXtyZXR1cm4gdHlwZW9mIHdpbmRvdzxgdWAmJnR5cGVvZiB3aW5kb3cuUHVibGljS2V5Q3JlZGVudGlhbD09YGZ1bmN0aW9uYCYmdHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci5jcmVkZW50aWFscyE9PXZvaWQgMCYmdHlwZW9mIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQ9PWBmdW5jdGlvbmB9ZnVuY3Rpb24gVGMoZSl7cmV0dXJuIGU9PW51bGw_bmV3IFVpbnQ4QXJyYXk6ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP25ldyBVaW50OEFycmF5KGUuc2xpY2UoMCkpOm5ldyBVaW50OEFycmF5KGUuYnVmZmVyLnNsaWNlKGUuYnl0ZU9mZnNldCxlLmJ5dGVPZmZzZXQrZS5ieXRlTGVuZ3RoKSl9YXN5bmMgZnVuY3Rpb24gRWMoZSl7aWYoIXdjKCkpcmV0dXJue2tpbmQ6YG5vdF91c2VkYH07bGV0IHQ9bmV3IFVpbnQ4QXJyYXkoMzIpO2NyeXB0by5nZXRSYW5kb21WYWx1ZXModCk7bGV0IG47dHJ5e249YXdhaXQgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldCh7cHVibGljS2V5OntjaGFsbGVuZ2U6dCxycElkOmBsb2NhbGhvc3RgLGFsbG93Q3JlZGVudGlhbHM6W3t0eXBlOmBwdWJsaWMta2V5YCxpZDp5YyhlLmNyZWRlbnRpYWxJZCl9XSx1c2VyVmVyaWZpY2F0aW9uOmByZXF1aXJlZGAsdGltZW91dDoxMmU0LGV4dGVuc2lvbnM6e3ByZjp7ZXZhbDp7Zmlyc3Q6eWMoZS5wcmZTYWx0KX19fX19KX1jYXRjaHtyZXR1cm57a2luZDpgbm90X3VzZWRgfX1pZihuPT09bnVsbHx8IShuIGluc3RhbmNlb2YgUHVibGljS2V5Q3JlZGVudGlhbCkpcmV0dXJue2tpbmQ6YG5vdF91c2VkYH07bGV0IHI9bi5yZXNwb25zZSxpPVRjKG4uZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLnByZj8ucmVzdWx0cz8uZmlyc3QpO3RyeXtyZXR1cm4gaS5sZW5ndGg9PT0wP3traW5kOmBub3RfdXNlZGB9OntraW5kOmBva2AsYm9keTpiYyhbbmV3IFVpbnQ4QXJyYXkobi5yYXdJZCksbmV3IFVpbnQ4QXJyYXkoci5hdXRoZW50aWNhdG9yRGF0YSksVGMoci51c2VySGFuZGxlKSxpXSl9fWZpbmFsbHl7aS5maWxsKDApfX12YXIgVj17ZXhwbGFpbmVyOmBZb3UgZG9uJ3QgdXBsb2FkIGhlcmUuIFB1dCBmaWxlcyBpbiB5b3VyIFNlbmQgZm9sZGVyIG9yIGFzayB5b3VyIEFJIHRvIHNlbmQgdGhlbTsgZmlsZXMgeW91IHJlY2VpdmUgYXBwZWFyIHVuZGVyIFJlY2VpdmVkLmAsdGFic0xhYmVsOmBGaWxlc2AsdGFiUmVjZWl2ZWQ6YFJlY2VpdmVkYCx0YWJTZW50OmBTZW50YCx0YWJGb2xkZXJzOmBTZW5kIGZvbGRlcnNgLHdhaXRpbmdMYWJlbDp7cmVjZWl2ZWQ6YHdhaXRpbmcgdG8gYmUgc2F2ZWRgLHNlbnQ6YHdhaXRpbmcgdG8gc2VuZGAsZm9sZGVyczpgd2FpdGluZ2B9LHByb2dyZXNzQXJyaXZpbmc6YEZpbGUgYXJyaXZpbmdgLHByb2dyZXNzU2VuZGluZzpgRmlsZSBzZW5kaW5nYCxhcnJpdmluZ1N0ZXBzOltgQXJyaXZlZGAsYFNhdmVkYF0sc2VuZGluZ1N0ZXBzOltgV2FpdGluZyB0byBzZW5kYCxgU2VudGAsYERlbGl2ZXJlZGBdLGhvb2RGaWxlczpgRmlsZXMgbGlzdGVkYCxob29kU2l6ZTpgU2l6ZSBsaXN0ZWRgLGhvb2RGb2xkZXJzOmBGb2xkZXJzIGFsbG93ZWRgLGhvb2RGb2xkZXI6ZT0-YEZvbGRlciAke1N0cmluZyhlKX1gLGhvb2RNb3JlRm9sZGVyczpgTW9yZSBmb2xkZXJzYCxob29kTW9yZTplPT5gJHtTdHJpbmcoZSl9IG1vcmVgLHVudHJ1c3RlZE5vdGU6YEZpbGUgbmFtZXMgY29tZSBmcm9tIG90aGVyIHBlb3BsZS4gVGhleSdyZSBzaG93biBhcyBwbGFpbiB0ZXh0LCBhbmQgQWdlbnRMaW5rIG5ldmVyIG9wZW5zIGEgZmlsZSBmb3IgeW91LmAsZ290SXQ6YEdvdCBpdGAsbG9hZGluZzpgTG9hZGluZyBmaWxlc-KApmAsdW5hdmFpbGFibGU6YFlvdXIgZmlsZXMgY2FuJ3QgYmUgbG9hZGVkIHJpZ2h0IG5vdy4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAsbm90U2V0VXA6YEFnZW50TGluayBpc24ndCBzZXQgdXAgb24gdGhpcyBjb21wdXRlciB5ZXQuIEFzayB5b3VyIEFJIHRvIHNldCB1cCBBZ2VudExpbmsuYCx0cnlBZ2FpbjpgVHJ5IGFnYWluYCxzaG93TW9yZTpgU2hvdyBtb3JlYCxyZWNlaXZlZEVtcHR5VGl0bGU6YE5vIGZpbGVzIHJlY2VpdmVkIHlldC5gLHJlY2VpdmVkRW1wdHlIaW50OmBGaWxlcyB5b3VyIGNvbnRhY3RzIHNlbmQgeW91IGFwcGVhciBoZXJlLmAsc2VudEVtcHR5VGl0bGU6YE5vIGZpbGVzIHNlbnQgeWV0LmAsc2VudEVtcHR5SGludDpgRmlsZXMgeW91ciBBSSBzZW5kcyBhcHBlYXIgaGVyZS4gVG8gc2VuZCBvbmUsIGFzayB5b3VyIEFJLmAsZnJvbTpgRnJvbWAsdG86YFRvYCxzYXZlZEFzOmBTYXZlZCBhc2AsbWF5SGF2ZU1vdmVkOmBZb3UgbWF5IGhhdmUgbW92ZWQgb3IgcmVuYW1lZCBpdCBzaW5jZSwgc28gaXQgbWlnaHQgbm90IGJlIHRoZXJlIG5vdy5gLG5vdFNhdmVkOmBOb3Qgc2F2ZWQgeWV0LiBBc2sgeW91ciBBSSB0byBmZXRjaCBpdC5gLGV4cGlyZWQ6YEV4cGlyZWQuIEl0IGNhbiBubyBsb25nZXIgYmUgZmV0Y2hlZC5gLGRlbGV0ZWQ6YERlbGV0ZWQgZnJvbSB0aGlzIGNvbXB1dGVyLmAsc3RhdHVzU2VudDpgU2VudGAsc3RhdHVzUXVldWVkOmBXYWl0aW5nIHRvIHNlbmRgLHN0YXR1c05vdERlbGl2ZXJlZDpgTm90IGRlbGl2ZXJlZGAscmVjZWlwdENvbmZpcm1lZDpgRGVsaXZlcnkgY29uZmlybWVkYCxyZWNlaXB0Tm9uZTpgTm8gZGVsaXZlcnkgY29uZmlybWF0aW9uIHlldGAsYXZhaWxhYmxlVW50aWw6YEF2YWlsYWJsZSB1bnRpbGAsc2VudEV4cGlyZWQ6YEV4cGlyZWQuIEl0IGNhbiBubyBsb25nZXIgYmUgZmV0Y2hlZC5gLHNlbnREZWxldGVkOmBSZW1vdmVkIGFmdGVyIGRlbGl2ZXJ5LmAsc2VudE5vdERlbGl2ZXJlZDpgTm90IGRlbGl2ZXJlZC4gQXNrIHlvdXIgQUkgdG8gc2VuZCBpdCBhZ2Fpbi5gLHNob3dJbkZpbmRlcjpgU2hvdyBpbiBGaW5kZXJgLHNob3dJbkZvbGRlcjpgU2hvdyBpbiBmb2xkZXJgLHJldmVhbE5vdEZvdW5kOmBUaGlzIGZpbGUgaXNuJ3QgaW4geW91ciBJbmJveCBmb2xkZXIgYW55IG1vcmUuIFlvdSBtYXkgaGF2ZSBtb3ZlZCBvciByZW5hbWVkIGl0LmAscmV2ZWFsUmVmdXNlZDpgVGhpcyBmaWxlIGNhbid0IGJlIHNob3duLiBJdCBpc24ndCBhIHBsYWluIGZpbGUgaW4geW91ciBJbmJveCBmb2xkZXIuYCxyZXZlYWxVbmF2YWlsYWJsZTpgWW91ciBJbmJveCBmb2xkZXIgY2FuJ3QgYmUgb3BlbmVkIHJpZ2h0IG5vdy4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAscmV2ZWFsRmFpbGVkOmBUaGUgZm9sZGVyIGRpZG4ndCBvcGVuLiBUcnkgYWdhaW4uYCxyZXZlYWxTZXNzaW9uRXhwaXJlZDpgVGhpcyBwYWdlIGhhcyBleHBpcmVkLiBBc2sgeW91ciBBSSB0byBvcGVuIEFnZW50TGluayBhZ2Fpbi5gfSxEYz1lPT5gU2hvd2luZyB0aGUgbGlzdCBhcyBvZiAke2V9LmAsSD17Zm9sZGVyc0xhYmVsOmBGb2xkZXJzIHlvdXIgQUkgY2FuIHNlbmQgZmlsZXMgZnJvbWAsZm9sZGVyTWlzc2luZzpgTm90IGZvdW5kIG9uIHRoaXMgY29tcHV0ZXIuIFlvdXIgQUkgY2FuJ3Qgc2VuZCBmcm9tIGl0LmAsYWxsb3dGb2xkZXI6YEFsbG93IGEgZm9sZGVyYCxldmVyeUNoYW5nZTpgRXZlcnkgY2hhbmdlIGhlcmUgbmVlZHMgeW91ciBwYXNza2V5IG9yIGJhY2t1cCBjb2RlLmAsZW1wdHlUaXRsZTpgWW91ciBBSSBjYW4ndCBzZW5kIGZpbGVzIHlldC4gQWxsb3cgYSBmb2xkZXIgaXQgbWF5IHNlbmQgZnJvbS5gLGVtcHR5UHJvbXB0OmBTZW5kIHByb3Bvc2FsLnBkZiB0byBNYXJrby5gLGxvYWRpbmc6YExvYWRpbmfigKZgLG5vdFNldFVwOmBBZ2VudExpbmsgaXNuJ3Qgc2V0IHVwIG9uIHRoaXMgY29tcHV0ZXIgeWV0LiBBc2sgeW91ciBBSSB0byBzZXQgdXAgQWdlbnRMaW5rLmAsdW5hdmFpbGFibGU6YFlvdXIgZm9sZGVycyBjYW4ndCBiZSBsb2FkZWQgcmlnaHQgbm93LiBUcnkgYWdhaW4gaW4gYSBtaW51dGUuYCxmb2xkZXJGaWVsZDpgRm9sZGVyYCxmb2xkZXJIaW50OmBUaGUgZnVsbCBwYXRoLCBmb3IgZXhhbXBsZSB-L0RvY3VtZW50cy9TaGFyZWQuYCxjaGVjazpgQ2hlY2sgZm9sZGVyYCxjaGVja2luZzpgQ2hlY2tpbmfigKZgLGNhbmNlbDpgQ2FuY2VsYCxjb25maXJtQWRkVGl0bGU6YEFsbG93IHlvdXIgQUkgdG8gc2VuZCBmaWxlcyBmcm9tIHRoaXMgZm9sZGVyP2AsY29uZmlybUFkZEJvZHk6YFlvdXIgQUkgY2FuIHNlbmQgYW55IGZpbGUgaW4gdGhpcyBmb2xkZXIgYW5kIGl0cyBzdWJmb2xkZXJzIHRvIHlvdXIgY29udGFjdHMuIEhpZGRlbiBmaWxlcyBhcmUgbmV2ZXIgc2VudC5gLGNvbmZpcm1SZW1vdmVUaXRsZTpgU3RvcCB5b3VyIEFJIHNlbmRpbmcgZmlsZXMgZnJvbSB0aGlzIGZvbGRlcj9gLGNvbmZpcm1SZW1vdmVCb2R5OmBZb3VyIEFJIGNhbiBubyBsb25nZXIgc2VuZCBmaWxlcyBmcm9tIGl0LiBOb3RoaW5nIGFscmVhZHkgc2VudCBjaGFuZ2VzLmAsd2FybmluZ3NUaXRsZTpgQmVmb3JlIHlvdSBjb25maXJtLCB0aWNrIGVhY2ggb25lOmAsdW5kZXJzdG9vZDpgSSB1bmRlcnN0YW5kYCxjb25maXJtQWRkOmBBbGxvdyBmb2xkZXJgLGNvbmZpcm1SZW1vdmU6YFN0b3Agc2VuZGluZ2Asd2l0aFBhc3NrZXk6YFlvdSBjb25maXJtIHdpdGggeW91ciBwYXNza2V5LmAsdXNlQ29kZTpgVXNlIGJhY2t1cCBjb2RlIGluc3RlYWRgLG93bmVyQ29kZTpgQmFja3VwIGNvZGVgLG93bmVyQ29kZUhpbnQ6YFR5cGUgaXQgaGVyZSBvbmx5LiBOZXZlciBnaXZlIGl0IHRvIHlvdXIgQUkuYCxzZW5kaW5nOmBDb25maXJtaW5n4oCmYCxhZGRlZDpgQWxsb3dlZC4gWW91ciBBSSBjYW4gbm93IHNlbmQgZmlsZXMgZnJvbSB0aGlzIGZvbGRlci5gLHJlbW92ZWQ6YFJlbW92ZWQuIFlvdXIgQUkgY2FuIG5vIGxvbmdlciBzZW5kIGZpbGVzIGZyb20gdGhpcyBmb2xkZXIuYCxub3RDb25maXJtZWQ6IllvdXIgY2hhbmdlIHdhcyBzYXZlZCwgYnV0IEFnZW50TGluayBjb3VsZG4ndCBjb25maXJtIGl0LCBzbyBpdCB1c2VzIGl0cyBzdHJpY3Rlc3Qgc2V0dGluZ3MgdW50aWwgeW91ciBydWxlcyBhcmUgc2V0IGFnYWluLiBSdW4gYGFnZW50bGluayBkb2N0b3JgIGluIHlvdXIgb3duIHRlcm1pbmFsLiIscnVsZXNVbnJlYWRhYmxlOiJZb3VyIHJ1bGVzIGNvdWxkbid0IGJlIGNoZWNrZWQsIHNvIG5vIGZvbGRlciBjYW4gYmUgY2hhbmdlZC4gUnVuIGBhZ2VudGxpbmsgcG9saWN5IHJlY292ZXJgIGluIHlvdXIgb3duIHRlcm1pbmFsLiIscmVjZWlwdHNRdWVzdGlvbjpgQmVmb3JlIGNoYW5naW5nIGZvbGRlcnMsIGFuc3dlciBvbmUgcXVlc3Rpb24gYWJvdXQgZGVsaXZlcnkgcmVjZWlwdHMgb24gdGhlIFJ1bGVzIHBhZ2UuYCxvcGVuUnVsZXM6YE9wZW4gUnVsZXNgLHN0YWxlOmBZb3VyIHJ1bGVzIGNoYW5nZWQuIFJlbG9hZCBhbmQgdHJ5IGFnYWluLmAsY2hhbmdlZDpgWW91ciBydWxlcyBjaGFuZ2VkIGluIHRoZSBtZWFudGltZS4gTm90aGluZyB3YXMgY2hhbmdlZC4gQ2hlY2sgdGhlIGZvbGRlciBhZ2Fpbi5gLGV4cGlyZWQ6YFRoaXMgY2hlY2sgdGltZWQgb3V0LiBOb3RoaW5nIHdhcyBjaGFuZ2VkLiBDaGVjayB0aGUgZm9sZGVyIGFnYWluLmAscmVmdXNlZDpgVGhhdCBkaWRuJ3QgZ28gdGhyb3VnaC4gTm90aGluZyB3YXMgY2hhbmdlZC4gQ2hlY2sgdGhlIGZvbGRlciBhZ2Fpbi5gLHByZXNlbmNlUmVqZWN0ZWQ6YFRoYXQgZGlkbid0IG1hdGNoIHlvdXIgcGFzc2tleSBvciBiYWNrdXAgY29kZS4gTm90aGluZyB3YXMgY2hhbmdlZC5gLHByZXNlbmNlUmVxdWlyZWQ6YEVudGVyIHlvdXIgYmFja3VwIGNvZGUsIG9yIHVzZSB5b3VyIHBhc3NrZXkuIE5vdGhpbmcgd2FzIGNoYW5nZWQuYCxwYXNza2V5Tm90VXNlZDpgVGhlIHBhc3NrZXkgd2Fzbid0IHVzZWQuIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFlvdSBjYW4gZW50ZXIgeW91ciBiYWNrdXAgY29kZSBpbnN0ZWFkLmAsYnVzeTpgQW5vdGhlciBjaGFuZ2UgaXMgYmVpbmcgY29uZmlybWVkLiBUcnkgYWdhaW4gaW4gYSBtb21lbnQuYCxvZmZsaW5lOmBBZ2VudExpbmsgaXNuJ3QgYW5zd2VyaW5nIG9uIHRoaXMgY29tcHV0ZXIuIENoZWNrIHRoYXQgaXQncyBydW5uaW5nLCB0aGVuIHRyeSBhZ2Fpbi5gLHNlc3Npb25FeHBpcmVkOmBUaGlzIHBhZ2UgaGFzIGV4cGlyZWQuIEFzayB5b3VyIEFJIHRvIG9wZW4gQWdlbnRMaW5rIGFnYWluLmAsZmFpbGVkOmBUaGF0IGRpZG4ndCBnbyB0aHJvdWdoLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAsZWxzZXdoZXJlOmU9PmBZb3UgdHlwZWQgJHtlfS4gSXQgbGVhZHMgdG8gdGhlIGZvbGRlciBhYm92ZSwgc28gdGhhdCBpcyB0aGUgZm9sZGVyIGFsbG93ZWQuYH0sT2M9ZT0-YFN0b3Agc2VuZGluZyBmcm9tICR7ZX1gLGtjPWU9PmBPcGVucyBhdCAke2V9YCxBYz1lPT5gVG9vIG1hbnkgdHJpZXMuIFdhaXQgJHtTdHJpbmcoZSl9IHNlY29uZHMsIHRoZW4gdHJ5IGFnYWluLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAsamM9T2JqZWN0LmZyZWV6ZSh7aW52aXRlc19hdXRvOmBOZXcgY29udGFjdHMgd2lsbCBiZSBhZGRlZCB3aXRob3V0IGFza2luZyB5b3UuYCx1bmtub3duX3NlbmRlcnNfcXVldWVkOmBNZXNzYWdlcyBmcm9tIGFnZW50cyB5b3UgZG9uJ3Qga25vdyB3aWxsIHdhaXQgZm9yIHlvdSBpbnN0ZWFkIG9mIGJlaW5nIGRyb3BwZWQuYCxjb250YWN0c19hbGxvd2VkX3dpZGVuZWQ6YE1vcmUgYWdlbnRzIHdpbGwgYmUgYWJsZSB0byByZWFjaCB5b3VyIEFJLmAsbGltaXRzX3JhaXNlZDpgU29tZSBsaW1pdHMgZ28gdXAsIGZvciBleGFtcGxlIGhvdyBsYXJnZSBhIGZpbGUgY2FuIGJlIG9yIGhvdyBtYW55IG1lc3NhZ2VzIGEgY29udGFjdCBjYW4gc2VuZC5gLHJldGVudGlvbl9sb25nZXI6YEZpbGVzIHdpbGwgYmUga2VwdCBsb25nZXIuYCxhbGxvd2VkX2ZvbGRlcnNfYWRkZWQ6YFlvdXIgQUkgY2FuIHNlbmQgZmlsZXMgZnJvbSB0aGlzIGZvbGRlciB0byB5b3VyIGNvbnRhY3RzLmAsZm9sZGVyX2NoYW5nZWQ6YFdoZXJlIEFnZW50TGluayBzYXZlcyBmaWxlcyBjaGFuZ2VzLmAsZmlsZXNfZHJvcF9hbGxvd2VkOmBGaWxlcyBtYXkgZ28gdGhyb3VnaCB0aGUgZW5jcnlwdGVkIGRyb3AuYCxwcm9vZnNfbm90YXJpemVfbG9vc2VyOmBZb3VyIEFJIHdpbGwgYXNrIHlvdSBsZXNzIG9mdGVuIGJlZm9yZSBhZGRpbmcgYSBwcm9vZiwgd2hpY2ggY29zdHMgY3JlZGl0cy5gLHByb29mc19zcGVuZF9yYWlzZWQ6YFlvdXIgQUkgbWF5IHNwZW5kIG1vcmUgb2YgeW91ciBjcmVkaXRzIG9uIHByb29mcy5gLGtleV9kaXNjbG9zdXJlX2FwcHJvdmFsOmBZb3VyIEFJIGNhbiBhc2sgeW91IHRvIHJldmVhbCBhIGRvY3VtZW50IGtleSwgc28gb3RoZXJzIGNhbiBjaGVjayB3aGF0IGEgZmlsZSBjb250YWluZWQuYCxwcm9vZnNfY2hhaW5fY2hhbmdlZDpgUHJvb2ZzIHdpbGwgYmUgcmVjb3JkZWQgYW5kIHBhaWQgb24gYSBkaWZmZXJlbnQgcHJvb2YgbmV0d29yay5gLGRlbGl2ZXJ5X3JlY2VpcHRzX3B1YmxpYzpgV2hlbiBhIGNvbnRhY3QgY29uZmlybXMgZGVsaXZlcnksIGFueW9uZSBjYW4gc2VlIHRoYXQgaXQgd2VudCB0byB0aGVpciBhZ2VudC5gLG9wZW5lZF9yZWNlaXB0c19hdXRvOmBTZW5kZXJzIHdpbGwgYmUgdG9sZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IG9wZW4gdGhlaXIgZmlsZXMuYCxjb21taXRtZW50c19sb29zZXI6YFlvdXIgQUkgY2FuIGFjY2VwdCBjb21taXRtZW50cywgd2l0aCB5b3VyIGFwcHJvdmFsLmAsY29tbWl0bWVudHNfYWxsb3c6YFlvdXIgQUkgY2FuIGFjY2VwdCBjb21taXRtZW50cyBhbmQgZmlybSBvZmZlcnMgd2l0aG91dCBhc2tpbmcgeW91LmAsYXV0b19hY2NlcHRfd2lkZW5lZDpgWW91ciBBSSBjYW4gYWNjZXB0IG1vcmUgcHVyY2hhc2VzIHdpdGhvdXQgYXNraW5nIHlvdS5gLHNlbGxfYXV0b19hY2NlcHQ6YFlvdXIgQUkgY2FuIGFjY2VwdCBzYWxlcyB3aXRob3V0IGFza2luZyB5b3UuYCxjb250YWN0X3Byb29mX3J1bGVzX2xvb3NlcjpgU29tZSBjb250YWN0cyBnZXQgbG9vc2VyIHByb29mIHJ1bGVzLmAsY29udGFjdF9yZWNlaXB0c19wdWJsaWM6YEZvciBzb21lIGNvbnRhY3RzLCBhbnlvbmUgY2FuIHNlZSB3aGVuIGRlbGl2ZXJpZXMgYXJlIGNvbmZpcm1lZC5gLGNvbnRhY3RfcnVsZV9yZW1vdmVkX2xvb3NlbnM6YFNvbWUgY29udGFjdHMgbG9zZSBhIHN0cmljdGVyIHJ1bGUgYW5kIGZhbGwgYmFjayB0byB5b3VyIGdlbmVyYWwgcnVsZXMuYH0pO2Z1bmN0aW9uIE1jKGUsdCl7c3dpdGNoKGUpe2Nhc2Vgbm90X2Z1bGxfcGF0aGA6cmV0dXJuYFVzZSB0aGUgZnVsbCBwYXRoIG9mIGEgZm9sZGVyLCBmb3IgZXhhbXBsZSB-L0RvY3VtZW50cy9TaGFyZWQuYDtjYXNlYGRvdF9zZWdtZW50c2A6cmV0dXJuYFVzZSB0aGUgZm9sZGVy4oCZcyBwYXRoIHdpdGhvdXQgLiBvciAuLiBpbiBpdC5gO2Nhc2Vgbm90X3Nob3dhYmxlYDpyZXR1cm5gVGhhdCBmb2xkZXIncyBuYW1lIGhhcyBjaGFyYWN0ZXJzIEFnZW50TGluayBjYW4ndCBzaG93IHNhZmVseS4gUmVuYW1lIHRoZSBmb2xkZXIsIHRoZW4gdHJ5IGFnYWluLmA7Y2FzZWBtaXNzaW5nYDpyZXR1cm5gVGhhdCBmb2xkZXIgZG9lc24ndCBleGlzdC4gQ2hlY2sgdGhlIHBhdGgsIHRoZW4gdHJ5IGFnYWluLmA7Y2FzZWBub3RfZm9sZGVyYDpyZXR1cm5gVGhhdCBpc24ndCBhIGZvbGRlci4gQWxsb3cgdGhlIGZvbGRlciB0aGF0IGhvbGRzIHRoZSBmaWxlLmA7Y2FzZWB0b29fYnJvYWRgOnJldHVybmBZb3VyIEFJIGNhbid0IHNlbmQgZnJvbSB5b3VyIHdob2xlIGNvbXB1dGVyIG9yIHlvdXIgd2hvbGUgaG9tZSBmb2xkZXIuIENob29zZSBhIGZvbGRlciBpbnNpZGUgaXQsIHN1Y2ggYXMgfi9Eb2N1bWVudHMvU2hhcmVkLmA7Y2FzZWBwcm90ZWN0ZWRgOnJldHVybmBGaWxlcyBpbiB0aGlzIGZvbGRlciBjYW4gbmV2ZXIgYmUgc2VudCAoaXQgaG9sZHMga2V5cyBvciBBZ2VudExpbmsncyBvd24gZGF0YSkuIENob29zZSBhbm90aGVyIGZvbGRlci5gO2Nhc2VgY29udGFpbnNfcHJvdGVjdGVkYDpyZXR1cm4gdD09PXZvaWQgMD9gVGhhdCBmb2xkZXIgaG9sZHMga2V5cyBvciBBZ2VudExpbmsncyBvd24gZGF0YSwgc28gaXQgY2FuJ3QgYmUgYWxsb3dlZC4gQ2hvb3NlIGEgbmFycm93ZXIgZm9sZGVyIGluc2lkZSBpdC5gOmBUaGF0IGZvbGRlciBjb250YWlucyAke3R9LCB3aGljaCBob2xkcyBrZXlzIG9yIEFnZW50TGluaydzIG93biBkYXRhLCBzbyBpdCBjYW4ndCBiZSBhbGxvd2VkLiBDaG9vc2UgYSBuYXJyb3dlciBmb2xkZXIgaW5zaWRlIGl0IHRoYXQgZG9lc24ndCBjb250YWluICR7dH0uYDtjYXNlYGhpZGRlbmA6cmV0dXJuYEhpZGRlbiBmb2xkZXJzLCBhbmQgZm9sZGVycyBpbnNpZGUgdGhlbSwgY2Fu4oCZdCBiZSBhbGxvd2VkLmA7Y2FzZWBhbHJlYWR5X2FsbG93ZWRgOnJldHVybmBUaGF0IGZvbGRlciBpcyBhbHJlYWR5IGFsbG93ZWQuIE5vdGhpbmcgd2FzIGNoYW5nZWQuYDtjYXNlYHRvb19tYW55YDpyZXR1cm5gWW91IGNhbiBhbGxvdyBhdCBtb3N0IDMyIGZvbGRlcnMuIFJlbW92ZSBvbmUgZmlyc3QuYDtjYXNlYG5vdF9hbGxvd2VkYDpyZXR1cm5gVGhhdCBmb2xkZXIgaXNuJ3Qgb25lIG9mIHlvdXIgYWxsb3dlZCBmb2xkZXJzLmA7ZGVmYXVsdDpyZXR1cm5gVGhhdCBmb2xkZXIgY2FuJ3QgYmUgYWxsb3dlZC4gQ2hvb3NlIGFub3RoZXIgZm9sZGVyLmB9fXZhciBOYz1bW2ByZWNlaXZlZGAsVi50YWJSZWNlaXZlZF0sW2BzZW50YCxWLnRhYlNlbnRdLFtgZm9sZGVyc2AsVi50YWJGb2xkZXJzXV07ZnVuY3Rpb24gUGMoe3RhYjplLG9uVGFiOnQsY291bnRzOm59KXtsZXQgcj0oMCxsLnVzZVJlZikoe30pLGk9bj0-e2xldCBpPU5jLmZpbmRJbmRleCgoW3RdKT0-dD09PWUpLGE7aWYobi5rZXk9PT1gQXJyb3dSaWdodGApYT0oaSsxKSVOYy5sZW5ndGg7ZWxzZSBpZihuLmtleT09PWBBcnJvd0xlZnRgKWE9KGkrTmMubGVuZ3RoLTEpJU5jLmxlbmd0aDtlbHNlIGlmKG4ua2V5PT09YEhvbWVgKWE9MDtlbHNlIGlmKG4ua2V5PT09YEVuZGApYT1OYy5sZW5ndGgtMTtlbHNlIHJldHVybjtuLnByZXZlbnREZWZhdWx0KCk7bGV0IG89TmNbYV07byE9PXZvaWQgMCYmKHQob1swXSksci5jdXJyZW50W29bMF1dPy5mb2N1cygpKX07cmV0dXJuKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGZsLXRhYnNgLHJvbGU6YHRhYmxpc3RgLCJhcmlhLWxhYmVsIjpWLnRhYnNMYWJlbCxjaGlsZHJlbjpOYy5tYXAoKFthLG9dKT0-KDAsQy5qc3hzKShgYnV0dG9uYCx7cmVmOmU9PntyLmN1cnJlbnRbYV09ZX0sdHlwZTpgYnV0dG9uYCxyb2xlOmB0YWJgLGlkOmBmbC10YWItJHthfWAsImFyaWEtc2VsZWN0ZWQiOmU9PT1hLCJhcmlhLWNvbnRyb2xzIjpgZmwtdGFicGFuZWxgLHRhYkluZGV4OmU9PT1hPzA6LTEsY2xhc3NOYW1lOmU9PT1hP2BmbC10YWIgaXMtYWN0aXZlYDpgZmwtdGFiYCxvbkNsaWNrOigpPT50KGEpLG9uS2V5RG93bjppLGNoaWxkcmVuOltvLChuPy5bYV0_PzApPjA_KDAsQy5qc3gpKFN0LHtjb3VudDpuPy5bYV0_PzAsbGFiZWw6Vi53YWl0aW5nTGFiZWxbYV19KTpudWxsXX0sYSkpfSl9dmFyIEZjPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHZvaWQgMCx7ZGF5OmBudW1lcmljYCxtb250aDpgc2hvcnRgLGhvdXI6YDItZGlnaXRgLG1pbnV0ZTpgMi1kaWdpdGB9KSxJYz1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YDItZGlnaXRgLG1pbnV0ZTpgMi1kaWdpdGB9KSxMYz1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2RheTpgbnVtZXJpY2AsbW9udGg6YHNob3J0YCx5ZWFyOmBudW1lcmljYH0pO2Z1bmN0aW9uIFJjKHthdDplLGRhdGU6dH0pe2xldCBuPW5ldyBEYXRlKGUqMWUzKTtyZXR1cm4oMCxDLmpzeCkoYHRpbWVgLHtkYXRlVGltZTpuLnRvSVNPU3RyaW5nKCksY2hpbGRyZW46KHQ9PT0hMD9MYzpGYykuZm9ybWF0KG4pfSl9ZnVuY3Rpb24gemMoZSl7aWYoZTwxZTMpcmV0dXJuYCR7ZX0gQmA7bGV0IHQ9W2BLQmAsYE1CYCxgR0JgLGBUQmBdLG49ZS8xZTMscj0wO2Zvcig7bj49MWUzJiZyPHQubGVuZ3RoLTE7KW4vPTFlMyxyKz0xO3JldHVybmAke24-PTEwMD9NYXRoLnJvdW5kKG4pOk1hdGgucm91bmQobioxMCkvMTB9ICR7dFtyXX1gfWZ1bmN0aW9uIEJjKGUsdCxuKXtsZXRbcixpXT0oMCxsLnVzZVN0YXRlKSh7cGhhc2U6YGxvYWRpbmdgfSksYT0oMCxsLnVzZVJlZikoITApOygwLGwudXNlRWZmZWN0KSgoKT0-KGEuY3VycmVudD0hMCwoKT0-e2EuY3VycmVudD0hMX0pLFtdKTtsZXQgbz0oMCxsLnVzZUNhbGxiYWNrKShhc3luYyByPT57bGV0IG89YXdhaXQgcGMoZSx0LHIsbik7YS5jdXJyZW50JiZpKGU9PntpZihvLmtpbmQ9PT1gb2tgKXtpZihyPT09bnVsbCYmZS5waGFzZT09PWBva2AmJm8uZmVlZC5pdGVtcy5sZW5ndGg9PT0wJiZlLml0ZW1zLmxlbmd0aD4wKXJldHVybnsuLi5lLHN0YWxlQXQ6RGF0ZS5ub3coKSxtb3JlOiExfTtpZihyPT09bnVsbCYmZS5waGFzZT09PWBva2Ape2xldCB0PW5ldyBTZXQoZS5pdGVtcy5tYXAoZT0-ZS5pZCkpLG49by5mZWVkLml0ZW1zLHI9bmV3IFNldChuLm1hcChlPT5lLmlkKSksaT1uLmxlbmd0aD09PTA_MDpNYXRoLm1pbiguLi5uLm1hcChlPT5lLmF0KSksYT1lLml0ZW1zLmZpbHRlcihlPT4hci5oYXMoZS5pZCkmJmUuYXQ8aSk7cmV0dXJue3BoYXNlOmBva2AsaXRlbXM6Wy4uLm4sLi4uYV0sbmV4dDphLmxlbmd0aD4wP2UubmV4dDpvLmZlZWQubmV4dCxzdGFsZUF0Om51bGwsbW9yZTohMSxhcnJpdmVkOm4uZmlsdGVyKGU9PiF0LmhhcyhlLmlkKSkuc2xpY2UoMCwyKS5tYXAoZT0-ZS5pZCl9fXJldHVybntwaGFzZTpgb2tgLGl0ZW1zOlsuLi5yIT09bnVsbCYmZS5waGFzZT09PWBva2A_ZS5pdGVtczpbXSwuLi5vLmZlZWQuaXRlbXNdLG5leHQ6by5mZWVkLm5leHQsc3RhbGVBdDpudWxsLG1vcmU6ITEsYXJyaXZlZDpyIT09bnVsbCYmZS5waGFzZT09PWBva2A_ZS5hcnJpdmVkOltdfX1yZXR1cm4gZS5waGFzZT09PWBva2A_ey4uLmUsc3RhbGVBdDpEYXRlLm5vdygpLG1vcmU6ITF9OntwaGFzZTpvLmtpbmQ9PT1gbm90X3NldF91cGA_YG5vdF9zZXRfdXBgOmBlcnJvcmB9fSl9LFtlLHQsbl0pO3JldHVybigwLGwudXNlRWZmZWN0KSgoKT0-e28obnVsbCl9LFtvXSksKDAsbC51c2VFZmZlY3QpKCgpPT57bGV0IGU9KCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAmJm8obnVsbCl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCxlKSwoKT0-ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihgdmlzaWJpbGl0eWNoYW5nZWAsZSl9LFtvXSkse3N0YXRlOnIscmV0cnk6KCk9PntpKGU9PmUucGhhc2U9PT1gb2tgP2U6e3BoYXNlOmBsb2FkaW5nYH0pLG8obnVsbCl9LG1vcmU6KCk9PntyLnBoYXNlPT09YG9rYCYmci5uZXh0IT09bnVsbCYmKGkoey4uLnIsbW9yZTohMH0pLG8oci5uZXh0KSl9fX1mdW5jdGlvbiBWYyh7d29yZDplfSl7cmV0dXJuKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBmbC1mZWVkYCwiYXJpYS1idXN5IjpgdHJ1ZWAsY2hpbGRyZW46WygwLEMuanN4KShgcGAse3JvbGU6YHN0YXR1c2AsY2xhc3NOYW1lOmBmbC1zci1vbmx5YCxjaGlsZHJlbjplfSksKDAsQy5qc3gpKGBkaXZgLHsiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjooMCxDLmpzeCkoJHQse2xvYWRpbmc6ITAsbGluZXM6MyxjbGFzc05hbWU6YGZsLXNrZWxldG9uYH0pfSldfSl9ZnVuY3Rpb24gSGMoe2ZlZWQ6ZSxlbXB0eTp0LHJvdzpuLG5vdGU6cixjYXJkOmk9ITF9KXtsZXR7c3RhdGU6YX09ZTtyZXR1cm4gYS5waGFzZT09PWBsb2FkaW5nYD8oMCxDLmpzeCkoVmMse3dvcmQ6Vi5sb2FkaW5nfSk6YS5waGFzZT09PWBub3Rfc2V0X3VwYD8oMCxDLmpzeCkoayx7dG9uZTpgaW5mb2AsY2hpbGRyZW46Vi5ub3RTZXRVcH0pOmEucGhhc2U9PT1gZXJyb3JgPygwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgZmwtZmVlZGAsY2hpbGRyZW46WygwLEMuanN4KShrLHt0b25lOmB3YXJuaW5nYCxjaGlsZHJlbjpWLnVuYXZhaWxhYmxlfSksKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGZsLWFjdGlvbnNgLGNoaWxkcmVuOigwLEMuanN4KShPLHtvbkNsaWNrOmUucmV0cnksY2hpbGRyZW46Vi50cnlBZ2Fpbn0pfSldfSk6YS5pdGVtcy5sZW5ndGg9PT0wPygwLEMuanN4KShBLHtpY29uOnQuaWNvbix0aXRsZTp0LnRpdGxlLGFjdGlvbjooMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46dC5oaW50fSl9KTooMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGZsLWZlZWRgLGNoaWxkcmVuOlthLnN0YWxlQXQ9PT1udWxsP251bGw6KDAsQy5qc3gpKGsse3RvbmU6YHdhcm5pbmdgLGNoaWxkcmVuOkRjKEljLmZvcm1hdChuZXcgRGF0ZShhLnN0YWxlQXQpKSl9KSxyLGk_KDAsQy5qc3gpKHNuLHtsZXZlbDoyLGNsYXNzTmFtZTpgZmwtY2FyZGAsY2hpbGRyZW46KDAsQy5qc3gpKGB1bGAse2NsYXNzTmFtZTpgZmwtbGlzdGAsY2hpbGRyZW46YS5pdGVtcy5tYXAoZT0-bihlLGEuYXJyaXZlZC5pbmNsdWRlcyhlLmlkKSkpfSl9KTooMCxDLmpzeCkoYHVsYCx7Y2xhc3NOYW1lOmBmbC1saXN0YCxjaGlsZHJlbjphLml0ZW1zLm1hcChlPT5uKGUsYS5hcnJpdmVkLmluY2x1ZGVzKGUuaWQpKSl9KSxhLm5leHQ9PT1udWxsP251bGw6KDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGZsLWFjdGlvbnNgLGNoaWxkcmVuOigwLEMuanN4KShPLHtkaXNhYmxlZDphLm1vcmUsb25DbGljazplLm1vcmUsY2hpbGRyZW46Vi5zaG93TW9yZX0pfSldfSl9ZnVuY3Rpb24gVWMoe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCxDLmpzeCkoYGNvZGVgLHtjbGFzc05hbWU6YGZsLW5hbWUgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjooMCxDLmpzeCkoYGJkaWAse2NoaWxkcmVuOmV9KX0pfXZhciBXYz1gYWdlbnRsaW5rLmZpbGVzLnVudHJ1c3RlZC1ub3RlYCxHYz0oKT0-e3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFdjKT09PWBzZWVuYH1jYXRjaHtyZXR1cm4hMX19LEtjPSgpPT57dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShXYyxgc2VlbmApfWNhdGNoe319O2Z1bmN0aW9uIHFjKCl7bGV0W2UsdF09KDAsbC51c2VTdGF0ZSkoR2MpO3JldHVybiBlP251bGw6KDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBmbC1ub3RlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGsse3RvbmU6YGluZm9gLGNoaWxkcmVuOlYudW50cnVzdGVkTm90ZX0pLCgwLEMuanN4KShPLHt2YXJpYW50OmBnaG9zdGAsc2l6ZTpgc21gLG9uQ2xpY2s6KCk9PntLYygpLHQoITApfSxjaGlsZHJlbjpWLmdvdEl0fSldfSl9dmFyIEpjPXtub3RfZm91bmQ6Vi5yZXZlYWxOb3RGb3VuZCxyZWZ1c2VkOlYucmV2ZWFsUmVmdXNlZCx1bmF2YWlsYWJsZTpWLnJldmVhbFVuYXZhaWxhYmxlLG5vdF9vcGVuZWQ6Vi5yZXZlYWxGYWlsZWQsc2Vzc2lvbl9leHBpcmVkOlYucmV2ZWFsU2Vzc2lvbkV4cGlyZWQsb2ZmbGluZTpWLnJldmVhbFVuYXZhaWxhYmxlLGZhaWxlZDpWLnJldmVhbEZhaWxlZH07ZnVuY3Rpb24gWWMoKXt0cnl7cmV0dXJuL15NYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIFhjKHtpZDplLHJldmVhbDp0fSl7bGV0W24scl09KDAsbC51c2VTdGF0ZSkoITEpLFtpLGFdPSgwLGwudXNlU3RhdGUpKHZvaWQgMCksbz0oMCxsLnVzZVJlZikoITApOygwLGwudXNlRWZmZWN0KSgoKT0-KCk9PntvLmN1cnJlbnQ9ITF9LFtdKTtsZXQgcz1hc3luYygpPT57cighMCksYSh2b2lkIDApO2xldCBuO3RyeXtuPWF3YWl0IHQoZSl9Y2F0Y2h7bj1gZmFpbGVkYH1vLmN1cnJlbnQmJihyKCExKSxhKG49PT1gc2hvd25gP3ZvaWQgMDpKY1tuXSkpfTtyZXR1cm4oMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGZsLXJvdy1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsQy5qc3gpKE8se3NpemU6YHNtYCxpY29uOmBmb2xkZXJgLGRpc2FibGVkOm4sb25DbGljazooKT0-dm9pZCBzKCksY2hpbGRyZW46WWMoKT9WLnNob3dJbkZpbmRlcjpWLnNob3dJbkZvbGRlcn0pLCgwLEMuanN4KShgcGAse3JvbGU6YHN0YXR1c2AsY2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOmk_P2BgfSldfSl9ZnVuY3Rpb24gWmMoe2Fycml2ZWQ6ZSxjaGlsZHJlbjp0fSl7bGV0IG49Q3QoITAse2lzTmV3OmV9KTtyZXR1cm4oMCxDLmpzeHMpKGBsaWAse3JlZjpuLnJlZixjbGFzc05hbWU6YGZsLXJvdy1saWAsY2hpbGRyZW46W24uaGlnaGxpZ2h0LCgwLEMuanN4KShzbix7bGV2ZWw6MSxjbGFzc05hbWU6YGZsLWl0ZW1gLGNoaWxkcmVuOnR9KV19KX1mdW5jdGlvbiBRYyh7aXRlbTplLHJldmVhbDp0LGFycml2ZWQ6bn0pe3JldHVybigwLEMuanN4cykoWmMse2Fycml2ZWQ6bixjaGlsZHJlbjpbKDAsQy5qc3gpKGose2Zyb206ZS5mcm9tLGZpbGVOYW1lOmUubmFtZX0pLCgwLEMuanN4cykoYHBgLHtjbGFzc05hbWU6YGZsLW1ldGEgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpbKDAsQy5qc3gpKFJjLHthdDplLmF0fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46emMoZS5zaXplKX0pLGUucHJvb2Y_KDAsQy5qc3gpKHRuLHtzdGF0ZTpgcmVjb3JkZWRgfSk6bnVsbF19KSxuPygwLEMuanN4KSh4dCx7a2luZDpgZmlsZWB9KTpudWxsLGUuc3RhdGU9PT1gbm90X3NhdmVkYD8oMCxDLmpzeCkoWnQse2xhYmVsOlYucHJvZ3Jlc3NBcnJpdmluZyxzdGVwczpWLmFycml2aW5nU3RlcHMsY3VycmVudDowfSk6bnVsbCxlLnN0YXRlPT09YHNhdmVkYCYmZS5zYXZlZE5hbWUhPT1udWxsPygwLEMuanN4cykoYHBgLHtjbGFzc05hbWU6YGZsLXN0YXRlIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46W1Yuc2F2ZWRBcyxgIGAsKDAsQy5qc3gpKFVjLHtjaGlsZHJlbjplLnNhdmVkTmFtZX0pLCgwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46W2AgYCxWLm1heUhhdmVNb3ZlZF19KV19KTpudWxsLGUuc3RhdGU9PT1gc2F2ZWRgJiZlLnNhdmVkTmFtZT09PW51bGw_KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBmbC1zdGF0ZSBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOlYubm90U2F2ZWR9KTpudWxsLGUuc3RhdGU9PT1gbm90X3NhdmVkYD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGZsLXN0YXRlIGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Vi5ub3RTYXZlZH0pOm51bGwsZS5zdGF0ZT09PWBleHBpcmVkYD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGZsLXN0YXRlIGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Vi5leHBpcmVkfSk6bnVsbCxlLnN0YXRlPT09YGRlbGV0ZWRgPygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgZmwtc3RhdGUgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpWLmRlbGV0ZWR9KTpudWxsLGUuc3RhdGU9PT1gc2F2ZWRgJiZlLnNhdmVkTmFtZSE9PW51bGw_KDAsQy5qc3gpKFhjLHtpZDplLmlkLHJldmVhbDp0fSk6bnVsbF19KX1mdW5jdGlvbiAkYyh7aXRlbTplfSl7cmV0dXJuKDAsQy5qc3hzKShaYyx7YXJyaXZlZDohMSxjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBmbC1pdGVtLWhlYWRgLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpgZmlsZWAsc2l6ZToxNn0pLCgwLEMuanN4KShVYyx7Y2hpbGRyZW46ZS5uYW1lfSldfSksKDAsQy5qc3hzKShgcGAse2NsYXNzTmFtZTpgZmwtbWV0YSBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBzcGFuYCx7Y2hpbGRyZW46W1YudG8sYCBgLCgwLEMuanN4KShgYmRpYCx7Y2hpbGRyZW46ZS50b30pXX0pLCgwLEMuanN4KShSYyx7YXQ6ZS5hdH0pLCgwLEMuanN4KShgc3BhbmAse2NoaWxkcmVuOnpjKGUuc2l6ZSl9KV19KSxlLnN0YXR1cz09PWBxdWV1ZWRgPygwLEMuanN4KShadCx7bGFiZWw6Vi5wcm9ncmVzc1NlbmRpbmcsc3RlcHM6Vi5zZW5kaW5nU3RlcHMsY3VycmVudDowfSk6bnVsbCxlLnN0YXR1cz09PWBzZW50YCYmIWUucmVjZWlwdCYmZS5zdGF0ZT09PWBhdmFpbGFibGVgPygwLEMuanN4KShadCx7bGFiZWw6Vi5wcm9ncmVzc1NlbmRpbmcsc3RlcHM6Vi5zZW5kaW5nU3RlcHMsY3VycmVudDoxfSk6bnVsbCwoMCxDLmpzeHMpKGBwYCx7Y2xhc3NOYW1lOmBmbC1jaGlwc2AsY2hpbGRyZW46W2Uuc3RhdHVzPT09YHNlbnRgPygwLEMuanN4KShjZSx7c3RhdHVzOmBzZW50YCxjaGlsZHJlbjpWLnN0YXR1c1NlbnR9KTpudWxsLGUuc3RhdHVzPT09YHF1ZXVlZGA_KDAsQy5qc3gpKGNlLHtzdGF0dXM6YHdhaXRpbmctdG8tcG9zdGAsY2hpbGRyZW46Vi5zdGF0dXNRdWV1ZWR9KTpudWxsLGUuc3RhdHVzPT09YG5vdF9kZWxpdmVyZWRgPygwLEMuanN4KShjZSx7c3RhdHVzOmBmYWlsZWRgLGNoaWxkcmVuOlYuc3RhdHVzTm90RGVsaXZlcmVkfSk6bnVsbCxlLnJlY2VpcHQ_KDAsQy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgZmwtcmVjZWlwdCBpcy1jb25maXJtZWRgLCJkYXRhLXJlY2VpcHQiOmB0cnVlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6YHJlY2VpcHQtZGVsaXZlcmVkYCxzaXplOjE0fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlYucmVjZWlwdENvbmZpcm1lZH0pXX0pOmUuc3RhdHVzPT09YG5vdF9kZWxpdmVyZWRgP251bGw6KDAsQy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgZmwtcmVjZWlwdCBhbC1tdXRlZGAsImRhdGEtcmVjZWlwdCI6YGZhbHNlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6YGNsb2NrYCxzaXplOjE0fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlYucmVjZWlwdE5vbmV9KV19KV19KSxlLnN0YXR1cz09PWBub3RfZGVsaXZlcmVkYD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGZsLXN0YXRlIGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Vi5zZW50Tm90RGVsaXZlcmVkfSk6bnVsbCxlLnN0YXR1cyE9PWBub3RfZGVsaXZlcmVkYCYmZS5zdGF0ZT09PWBhdmFpbGFibGVgJiZlLmV4cGlyZXNBdCE9PW51bGw_KDAsQy5qc3hzKShgcGAse2NsYXNzTmFtZTpgZmwtc3RhdGUgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpbVi5hdmFpbGFibGVVbnRpbCxgIGAsKDAsQy5qc3gpKFJjLHthdDplLmV4cGlyZXNBdCxkYXRlOiEwfSldfSk6bnVsbCxlLnN0YXRlPT09YGV4cGlyZWRgPygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgZmwtc3RhdGUgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpWLnNlbnRFeHBpcmVkfSk6bnVsbCxlLnN0YXRlPT09YGRlbGV0ZWRgPygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgZmwtc3RhdGUgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpWLnNlbnREZWxldGVkfSk6bnVsbF19KX1mdW5jdGlvbiBlbChlLHQpe3JldHVyblt7a2luZDpgY291bnRgLGxhYmVsOlYuaG9vZEZpbGVzLHZhbHVlOlN0cmluZyhlKX0se2tpbmQ6YHNpemVgLGxhYmVsOlYuaG9vZFNpemUsdmFsdWU6emModCl9XX1mdW5jdGlvbiB0bChlLHQsbil7bGV0IHI9ZS5waGFzZT09PWBva2A_ZS5pdGVtcy5maWx0ZXIodCkubGVuZ3RoOm51bGw7KDAsbC51c2VFZmZlY3QpKCgpPT57ciE9PW51bGwmJm4_LihyKX0sW3Isbl0pfWZ1bmN0aW9uIG5sKHtnZXQ6ZSxyZXZlYWw6dCxvbldhaXRpbmc6bn0pe2xldCByPUJjKGUsWXMsdWMpO3RsKHIuc3RhdGUsZT0-ZS5zdGF0ZT09PWBub3Rfc2F2ZWRgLG4pO2xldCBpPXIuc3RhdGUucGhhc2U9PT1gb2tgP3Iuc3RhdGUuaXRlbXM6W107cmV0dXJuKDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKEhjLHtmZWVkOnIsY2FyZDohMCxlbXB0eTp7dGl0bGU6Vi5yZWNlaXZlZEVtcHR5VGl0bGUsaGludDpWLnJlY2VpdmVkRW1wdHlIaW50LGljb246YGluYm94YH0sbm90ZTooMCxDLmpzeCkocWMse30pLHJvdzooZSxuKT0-KDAsQy5qc3gpKFFjLHtpdGVtOmUscmV2ZWFsOnQsYXJyaXZlZDpufSxlLmlkKX0pLHIuc3RhdGUucGhhc2U9PT1gb2tgPygwLEMuanN4KShaZSx7ZmllbGRzOmVsKGkubGVuZ3RoLGkucmVkdWNlKChlLHQpPT5lK3Quc2l6ZSwwKSl9KTpudWxsXX0pfWZ1bmN0aW9uIHJsKHtnZXQ6ZSxvbldhaXRpbmc6dH0pe2xldCBuPUJjKGUsWHMsZGMpO3RsKG4uc3RhdGUsZT0-ZS5zdGF0dXM9PT1gcXVldWVkYCx0KTtsZXQgcj1uLnN0YXRlLnBoYXNlPT09YG9rYD9uLnN0YXRlLml0ZW1zOltdO3JldHVybigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShIYyx7ZmVlZDpuLGVtcHR5Ont0aXRsZTpWLnNlbnRFbXB0eVRpdGxlLGhpbnQ6Vi5zZW50RW1wdHlIaW50LGljb246YGFycm93LXJpZ2h0YH0scm93OmU9PigwLEMuanN4KSgkYyx7aXRlbTplfSxlLmlkKX0pLG4uc3RhdGUucGhhc2U9PT1gb2tgPygwLEMuanN4KShaZSx7ZmllbGRzOmVsKHIubGVuZ3RoLHIucmVkdWNlKChlLHQpPT5lK3Quc2l6ZSwwKSl9KTpudWxsXX0pfWZ1bmN0aW9uIGlsKGUpe3N3aXRjaChlLmtpbmQpe2Nhc2VgZm9sZGVyYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDpNYyhlLnJlYXNvbixlLnByb3RlY3RlZEZvbGRlcil9O2Nhc2VgcnVsZXNfdW5yZWFkYWJsZWA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6SC5ydWxlc1VucmVhZGFibGV9O2Nhc2VgcmVjZWlwdHNfcXVlc3Rpb25gOnJldHVybnt0b25lOmBpbmZvYCx0ZXh0OkgucmVjZWlwdHNRdWVzdGlvbixydWxlczohMH07Y2FzZWBjaGFuZ2VkYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDpILmNoYW5nZWR9O2Nhc2Vgc3RhbGVgOnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0Okguc3RhbGUscmVsb2FkOiEwfTtjYXNlYG5vdF9zZXRfdXBgOnJldHVybnt0b25lOmBpbmZvYCx0ZXh0Okgubm90U2V0VXB9O2Nhc2VgdW5hdmFpbGFibGVgOnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0OkgudW5hdmFpbGFibGV9O2RlZmF1bHQ6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6SC5mYWlsZWR9fX1mdW5jdGlvbiBhbChlLHQpe3N3aXRjaChlLmtpbmQpe2Nhc2VgYXBwbGllZGA6cmV0dXJuIGUuY29uZmlybWVkP3t0b25lOmBzdWNjZXNzYCx0ZXh0OnQ9PT1gYWRkYD9ILmFkZGVkOkgucmVtb3ZlZH06e3RvbmU6YHdhcm5pbmdgLHRleHQ6SC5ub3RDb25maXJtZWR9O2Nhc2Vgd2FpdGA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6QWMoZS5zZWNvbmRzKX07Y2FzZWBwcmVzZW5jZV9yZWplY3RlZGA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6SC5wcmVzZW5jZVJlamVjdGVkfTtjYXNlYHByZXNlbmNlX3JlcXVpcmVkYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDpILnByZXNlbmNlUmVxdWlyZWR9O2Nhc2VgYnVzeWA6cmV0dXJue3RvbmU6YGluZm9gLHRleHQ6SC5idXN5fTtjYXNlYGNoYW5nZWRgOnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0OkguY2hhbmdlZH07Y2FzZWBleHBpcmVkYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDpILmV4cGlyZWR9O2Nhc2VgcmVmdXNlZGA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6SC5yZWZ1c2VkfTtjYXNlYG5vdF9zZXRfdXBgOnJldHVybnt0b25lOmBpbmZvYCx0ZXh0Okgubm90U2V0VXB9O2Nhc2Vgc2Vzc2lvbl9leHBpcmVkYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDpILnNlc3Npb25FeHBpcmVkfTtjYXNlYG9mZmxpbmVgOnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0Okgub2ZmbGluZX07ZGVmYXVsdDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDpILmZhaWxlZH19fXZhciBvbD1uZXcgU2V0KFtgcHJlc2VuY2VfcmVqZWN0ZWRgLGBwcmVzZW5jZV9yZXF1aXJlZGAsYHdhaXRgLGBidXN5YCxgb2ZmbGluZWBdKTtmdW5jdGlvbiBzbCh7bm90aWNlOmV9KXtyZXR1cm4oMCxDLmpzeCkoayx7dG9uZTplLnRvbmUsYWN0aW9uOmUucnVsZXM9PT0hMD8oMCxDLmpzeCkoYGFgLHtjbGFzc05hbWU6YGFsLWJ0biBhbC1idG4tc2Vjb25kYXJ5IGFsLWJ0bi1zbWAsaHJlZjpgL3NldHRpbmdzL3J1bGVzYCxjaGlsZHJlbjpILm9wZW5SdWxlc30pOnZvaWQgMCxjaGlsZHJlbjplLnRleHR9KX1mdW5jdGlvbiBjbCh7cmV2aWV3OmUscGFzc2tleTp0LHNlbmRpbmc6bixub3RpY2U6cixvbkNvbmZpcm06aSxvbkNhbmNlbDphfSl7bGV0W28sc109KDAsbC51c2VTdGF0ZSkobmV3IFNldCksW2MsdV09KDAsbC51c2VTdGF0ZSkodD09PXZvaWQgMCksW2QsZl09KDAsbC51c2VTdGF0ZSkoYGApLHA9ZS5jaGFuZ2U9PT1gYWRkYCxtPWUud2FybmluZ3MuZXZlcnkoZT0-by5oYXMoZSkpJiYhbiYmKCFjfHxkLmxlbmd0aD4wKSxoPWU9PntzKHQ9PntsZXQgbj1uZXcgU2V0KHQpO3JldHVybiBuLmhhcyhlKT9uLmRlbGV0ZShlKTpuLmFkZChlKSxufSl9O3JldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGZsLWNvbmZpcm1gLCJhcmlhLWxhYmVsbGVkYnkiOmBmbC1jb25maXJtLXRpdGxlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBoMmAse2lkOmBmbC1jb25maXJtLXRpdGxlYCxjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtM2AsY2hpbGRyZW46cD9ILmNvbmZpcm1BZGRUaXRsZTpILmNvbmZpcm1SZW1vdmVUaXRsZX0pLCgwLEMuanN4cykoYHBgLHtjbGFzc05hbWU6YGZsLWZvbGRlciBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpgZm9sZGVyYCxzaXplOjE2fSksKDAsQy5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46ZS5mb2xkZXJ9KV19KSxwJiZlLmVsc2V3aGVyZT8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46SC5lbHNld2hlcmUoZS50eXBlZCl9KTpudWxsLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpwP0guY29uZmlybUFkZEJvZHk6SC5jb25maXJtUmVtb3ZlQm9keX0pLGUud2FybmluZ3MubGVuZ3RoPjA_KDAsQy5qc3hzKShgZmllbGRzZXRgLHtjbGFzc05hbWU6YGZsLXdhcm5pbmdzYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBsZWdlbmRgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46SC53YXJuaW5nc1RpdGxlfSksZS53YXJuaW5ncy5tYXAoZT0-KDAsQy5qc3hzKShgbGFiZWxgLHtjbGFzc05hbWU6YGFsLWNoZWNrIGFsLXRleHQtYm9keWAsY2hpbGRyZW46WygwLEMuanN4KShgaW5wdXRgLHt0eXBlOmBjaGVja2JveGAsY2hlY2tlZDpvLmhhcyhlKSxvbkNoYW5nZTooKT0-aChlKSxkaXNhYmxlZDpufSksKDAsQy5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46amNbZV0_P0guZmFpbGVkfSldfSxlKSldfSk6bnVsbCxjPygwLEMuanN4KSh0ZSx7bmFtZTpgb3duZXItY29kZWAsdHlwZTpgcGFzc3dvcmRgLGF1dG9Db21wbGV0ZTpgb2ZmYCxsYWJlbDpILm93bmVyQ29kZSxoaW50OmAke0gub3duZXJDb2RlSGludH0gJHtrbn1gLHZhbHVlOmQsb25DaGFuZ2U6ZT0-ZihlLnRhcmdldC52YWx1ZSksZGlzYWJsZWQ6bixtb25vOiEwfSk6KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOkgud2l0aFBhc3NrZXl9KSxyPT09dm9pZCAwP251bGw6KDAsQy5qc3gpKHNsLHtub3RpY2U6cn0pLCgwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgZmwtYWN0aW9uc2AsY2hpbGRyZW46WygwLEMuanN4KShPLHt2YXJpYW50OmBwcmltYXJ5YCxkaXNhYmxlZDohbSxvbkNsaWNrOigpPT57bGV0IHQ9Yz9kOnZvaWQgMDtmKGBgKSxpKGUud2FybmluZ3MsdCl9LGNoaWxkcmVuOm4_SC5zZW5kaW5nOnA_SC5jb25maXJtQWRkOkguY29uZmlybVJlbW92ZX0pLCgwLEMuanN4KShPLHt2YXJpYW50OmBnaG9zdGAsb25DbGljazphLGRpc2FibGVkOm4sY2hpbGRyZW46SC5jYW5jZWx9KSxjP251bGw6KDAsQy5qc3gpKE8se3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOigpPT51KCEwKSxkaXNhYmxlZDpuLGNoaWxkcmVuOkgudXNlQ29kZX0pXX0pXX0pfXZhciBsbD0oKT0-e3RyeXtsZXQgZT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldChgZm9sZGVyYCk7cmV0dXJuIGUhPT1udWxsJiZlLmxlbmd0aDw9NDA5Nj9lOmBgfWNhdGNoe3JldHVybmBgfX07ZnVuY3Rpb24gdWwoe2FwaTplfSl7bGV0W3Qsbl09KDAsbC51c2VTdGF0ZSkoe3BoYXNlOmBsb2FkaW5nYH0pLFtyXT0oMCxsLnVzZVN0YXRlKShsbCksW2ksYV09KDAsbC51c2VTdGF0ZSkoci5sZW5ndGg-MD97a2luZDpgZW50ZXJgLGNoZWNraW5nOiExfTp7a2luZDpgaWRsZWB9KSxbbyxzXT0oMCxsLnVzZVN0YXRlKShyKSxbYyx1XT0oMCxsLnVzZVN0YXRlKSh2b2lkIDApLFtkLGZdPSgwLGwudXNlU3RhdGUpKHZvaWQgMCksW3AsbV09KDAsbC51c2VTdGF0ZSkoITEpLGg9KDAsbC51c2VDYWxsYmFjaykoYXN5bmMoKT0-e2xldCB0PWF3YWl0IGUuZ2V0KFJzKTtpZih0LmtpbmQhPT1gYW5zd2VyYClyZXR1cm4gbih7cGhhc2U6YGVycm9yYH0pO2lmKHQuc3RhdHVzPT09NDA5KXJldHVybiBuKHtwaGFzZTpgbm90X3NldF91cGB9KTtsZXQgcj10LnN0YXR1cz09PTIwMD9Lcyh0Lmpzb24pOnZvaWQgMDtuKHI9PT12b2lkIDA_e3BoYXNlOmBlcnJvcmB9OntwaGFzZTpgb2tgLC4uLnJ9KX0sW2VdKTsoMCxsLnVzZUVmZmVjdCkoKCk9PntoKCl9LFtoXSk7bGV0IGc9YXN5bmMobixyKT0-e3Uodm9pZCAwKTtsZXQgaT10LnBoYXNlPT09YG9rYD90LnZlcnNpb246bnVsbDtpZihpPT09bnVsbCl7bj09PWBhZGRgJiZhKHtraW5kOmBlbnRlcmAsY2hlY2tpbmc6ITEscHJvYmxlbTpILnJ1bGVzVW5yZWFkYWJsZX0pLHUoe3RvbmU6YHdhcm5pbmdgLHRleHQ6SC5ydWxlc1VucmVhZGFibGV9KTtyZXR1cm59bj09PWBhZGRgJiZhKHtraW5kOmBlbnRlcmAsY2hlY2tpbmc6ITB9KTtsZXQgbz1hd2FpdCBlLmdldChCcyhuLHIsaSkpLHM9by5raW5kPT09YGFuc3dlcmAmJm8uc3RhdHVzPT09MjAwP3FzKG8uanNvbik6dm9pZCAwO2lmKHM9PT12b2lkIDApe2xldCBlPW8ua2luZD09PWBvZmZsaW5lYD97dG9uZTpgd2FybmluZ2AsdGV4dDpILm9mZmxpbmV9OmlsKEpzKG8uc3RhdHVzLG8uanNvbikpO249PT1gYWRkYCYmYShlLnJ1bGVzPT09ITA_e2tpbmQ6YGVudGVyYCxjaGVja2luZzohMX06e2tpbmQ6YGVudGVyYCxjaGVja2luZzohMSxwcm9ibGVtOmUudGV4dH0pLG49PT1gcmVtb3ZlYCYmYSh7a2luZDpgaWRsZWB9KSx1KGUpLGUucmVsb2FkPT09ITAmJmF3YWl0IGgoKX1lbHNlIGYod2MoKT9hd2FpdCBlLnBhc3NrZXkoKTp2b2lkIDApLGEoe2tpbmQ6YGNvbmZpcm1gLHJldmlldzpzfSl9LF89YXN5bmModCxuLHIpPT57bSghMCksdSh2b2lkIDApO3RyeXtsZXQgaTtpZihyPT09dm9pZCAwJiZkIT09dm9pZCAwKXtsZXQgcj1hd2FpdCBFYyhkKTtpZihyLmtpbmQhPT1gb2tgKXt1KHt0b25lOmBpbmZvYCx0ZXh0OkgucGFzc2tleU5vdFVzZWR9KTtyZXR1cm59aT1hd2FpdCBlLmNvbW1pdCh6cyx7cmV2aWV3OnQucmV2aWV3LGFja25vd2xlZGdlZDpbLi4ubl19LHtraW5kOmBwYXNza2V5YCxib2R5OnIuYm9keX0pfWVsc2UgaT1hd2FpdCBlLmNvbW1pdCh6cyx7cmV2aWV3OnQucmV2aWV3LGFja25vd2xlZGdlZDpbLi4ubl19LHtraW5kOmBjb2RlYCxjb2RlOnI_P2BgfSk7bGV0IG89YWwoaSx0LmNoYW5nZSk7dShvKSxpLmtpbmQ9PT1gYXBwbGllZGA_KGEoe2tpbmQ6YGlkbGVgfSkscyhgYCksYXdhaXQgaCgpKTpvbC5oYXMoaS5raW5kKXx8YSh0LmNoYW5nZT09PWBhZGRgP3traW5kOmBlbnRlcmAsY2hlY2tpbmc6ITF9OntraW5kOmBpZGxlYH0pfWZpbmFsbHl7bSghMSl9fSx2PSgpPT57YSh7a2luZDpgaWRsZWB9KSx1KHZvaWQgMCl9LHk7cmV0dXJuIHk9dC5waGFzZT09PWBsb2FkaW5nYD8oMCxDLmpzeCkoVmMse3dvcmQ6SC5sb2FkaW5nfSk6dC5waGFzZT09PWBub3Rfc2V0X3VwYD8oMCxDLmpzeCkoayx7dG9uZTpgaW5mb2AsY2hpbGRyZW46SC5ub3RTZXRVcH0pOnQucGhhc2U9PT1gZXJyb3JgPygwLEMuanN4KShrLHt0b25lOmB3YXJuaW5nYCxjaGlsZHJlbjpILnVuYXZhaWxhYmxlfSk6KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbdC5mb2xkZXJzLmxlbmd0aD09PTAmJmkua2luZD09PWBpZGxlYD8oMCxDLmpzeCkoQSx7aWNvbjpgZm9sZGVyYCx0aXRsZTpILmVtcHR5VGl0bGUscHJvbXB0OkguZW1wdHlQcm9tcHQsYWN0aW9uOigwLEMuanN4KShPLHt2YXJpYW50OmBwcmltYXJ5YCxpY29uOmBwbHVzYCxvbkNsaWNrOigpPT5hKHtraW5kOmBlbnRlcmAsY2hlY2tpbmc6ITF9KSxjaGlsZHJlbjpILmFsbG93Rm9sZGVyfSl9KTpudWxsLHQuZm9sZGVycy5sZW5ndGg-MD8oMCxDLmpzeCkoYHVsYCx7Y2xhc3NOYW1lOmBmbC1saXN0YCxjaGlsZHJlbjp0LmZvbGRlcnMubWFwKGU9PigwLEMuanN4cykoYGxpYCx7Y2xhc3NOYW1lOmBmbC1yb3dgLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpgZm9sZGVyYCxzaXplOjE2fSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBmbC1yb3ctbWFpbmAsY2hpbGRyZW46WygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjplLnBhdGh9KSxlLnJlc29sdmVkPT09bnVsbD8oMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46SC5mb2xkZXJNaXNzaW5nfSk6ZS5yZXNvbHZlZD09PWUucGF0aD9udWxsOigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjprYyhlLnJlc29sdmVkKX0pXX0pLCgwLEMuanN4KShPLHt2YXJpYW50OmBnaG9zdGAsc2l6ZTpgc21gLGljb246YHhgLCJhcmlhLWxhYmVsIjpPYyhlLnBhdGgpLHRpdGxlOk9jKGUucGF0aCksZGlzYWJsZWQ6aS5raW5kIT09YGlkbGVgLG9uQ2xpY2s6KCk9PnZvaWQgZyhgcmVtb3ZlYCxlLnBhdGgpfSldfSxlLnBhdGgpKX0pOm51bGwsaS5raW5kPT09YGlkbGVgJiZ0LmZvbGRlcnMubGVuZ3RoPjA_KDAsQy5qc3gpKE8se2Jsb2NrOiEwLGljb246YHBsdXNgLG9uQ2xpY2s6KCk9Pnt1KHZvaWQgMCksYSh7a2luZDpgZW50ZXJgLGNoZWNraW5nOiExfSl9LGNoaWxkcmVuOkguYWxsb3dGb2xkZXJ9KTpudWxsLGkua2luZD09PWBlbnRlcmA_KDAsQy5qc3hzKShgZm9ybWAse2NsYXNzTmFtZTpgZmwtZW50ZXJgLG9uU3VibWl0OmU9PntlLnByZXZlbnREZWZhdWx0KCksby5sZW5ndGg-MCYmIWkuY2hlY2tpbmcmJmcoYGFkZGAsbyl9LGNoaWxkcmVuOlsoMCxDLmpzeCkodGUse25hbWU6YGZvbGRlcmAsbGFiZWw6SC5mb2xkZXJGaWVsZCwuLi5pLnByb2JsZW09PT12b2lkIDA_e2hpbnQ6SC5mb2xkZXJIaW50fTp7ZXJyb3I6aS5wcm9ibGVtfSx2YWx1ZTpvLG9uQ2hhbmdlOmU9PnMoZS50YXJnZXQudmFsdWUpLGF1dG9Db21wbGV0ZTpgb2ZmYCxzcGVsbENoZWNrOiExLG1vbm86ITB9KSwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGZsLWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoTyx7dHlwZTpgc3VibWl0YCx2YXJpYW50OmBwcmltYXJ5YCxkaXNhYmxlZDpvLmxlbmd0aD09PTB8fGkuY2hlY2tpbmcsY2hpbGRyZW46aS5jaGVja2luZz9ILmNoZWNraW5nOkguY2hlY2t9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgZ2hvc3RgLG9uQ2xpY2s6dixjaGlsZHJlbjpILmNhbmNlbH0pXX0pXX0pOm51bGwsaS5raW5kPT09YGNvbmZpcm1gPygwLEMuanN4KShjbCx7cmV2aWV3OmkucmV2aWV3LHBhc3NrZXk6ZCxzZW5kaW5nOnAsbm90aWNlOmMsb25Db25maXJtOihlLHQpPT52b2lkIF8oaS5yZXZpZXcsZSx0KSxvbkNhbmNlbDp2fSxpLnJldmlldy5yZXZpZXcpOm51bGwsaS5raW5kIT09YGNvbmZpcm1gJiZjIT09dm9pZCAwJiZpLmtpbmQhPT1gZW50ZXJgPygwLEMuanN4KShzbCx7bm90aWNlOmN9KTpudWxsLGkua2luZD09PWBlbnRlcmAmJmM_LnJ1bGVzPT09ITA_KDAsQy5qc3gpKHNsLHtub3RpY2U6Y30pOm51bGwsKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOkguZXZlcnlDaGFuZ2V9KV19KSwoMCxDLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBmbC1wYW5lbGAsImFyaWEtbGFiZWxsZWRieSI6YGZsLWZvbGRlcnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7aWQ6YGZsLWZvbGRlcnNgLGNsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbCBhbC1tdXRlZGAsY2hpbGRyZW46SC5mb2xkZXJzTGFiZWx9KSx5LHQucGhhc2U9PT1gb2tgPygwLEMuanN4KShaZSx7ZmllbGRzOlt7a2luZDpgY291bnRgLGxhYmVsOlYuaG9vZEZvbGRlcnMsdmFsdWU6U3RyaW5nKHQuZm9sZGVycy5sZW5ndGgpfSwuLi50LmZvbGRlcnMuc2xpY2UoMCw1KS5tYXAoKGUsdCk9Pih7a2luZDpgcGF0aGAsbGFiZWw6Vi5ob29kRm9sZGVyKHQrMSksdmFsdWU6ZS5wYXRofSkpLC4uLnQuZm9sZGVycy5sZW5ndGg-NT9be2tpbmQ6YHRleHRgLGxhYmVsOlYuaG9vZE1vcmVGb2xkZXJzLHZhbHVlOlYuaG9vZE1vcmUodC5mb2xkZXJzLmxlbmd0aC01KX1dOltdXX0pOm51bGxdfSl9ZnVuY3Rpb24gZGwoe2ZldGNoOmUsdG9rZW46dCxpbml0aWFsVGFiOm59PXt9KXtsZXQgcj0oMCxsLnVzZU1lbW8pKCgpPT5DYyh7Li4uZT09PXZvaWQgMD97fTp7ZmV0Y2g6ZX0sLi4udD09PXZvaWQgMD97fTp7dG9rZW46dH19KSxbZSx0XSksW2ksYV09KDAsbC51c2VTdGF0ZSkoKCk9Pm4_PyhsbCgpLmxlbmd0aD4wP2Bmb2xkZXJzYDpgcmVjZWl2ZWRgKSksW28sc109KDAsbC51c2VTdGF0ZSkoe30pLGM9KDAsbC51c2VDYWxsYmFjaykoZT0-cyh0PT4oey4uLnQscmVjZWl2ZWQ6ZX0pKSxbXSksdT0oMCxsLnVzZUNhbGxiYWNrKShlPT5zKHQ9Pih7Li4udCxzZW50OmV9KSksW10pO3JldHVybigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgZmwtcGFnZWAsY2hpbGRyZW46WygwLEMuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46T24uZmlsZXN9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Vi5leHBsYWluZXJ9KSwoMCxDLmpzeCkoUGMse3RhYjppLG9uVGFiOmEsY291bnRzOm99KSwoMCxDLmpzeHMpKGBkaXZgLHtpZDpgZmwtdGFicGFuZWxgLHJvbGU6YHRhYnBhbmVsYCwiYXJpYS1sYWJlbGxlZGJ5IjpgZmwtdGFiLSR7aX1gLGNoaWxkcmVuOltpPT09YHJlY2VpdmVkYD8oMCxDLmpzeCkobmwse2dldDpyLmdldCxyZXZlYWw6ci5yZXZlYWwsb25XYWl0aW5nOmN9KTpudWxsLGk9PT1gc2VudGA_KDAsQy5qc3gpKHJsLHtnZXQ6ci5nZXQsb25XYWl0aW5nOnV9KTpudWxsLGk9PT1gZm9sZGVyc2A_KDAsQy5qc3gpKHVsLHthcGk6cn0pOm51bGxdfSldfSl9ZnVuY3Rpb24gZmwoZSl7cmV0dXJuIGUucHJvYmxlbT09PWB3YWl0YD9Yci53YWl0KGByZXRyeUFmdGVyYGluIGU_ZS5yZXRyeUFmdGVyPz8xOjEpOlhyW2UucHJvYmxlbV19ZnVuY3Rpb24gcGwoe2N1cnJlbnQ6ZX0pe3JldHVybigwLEMuanN4cykoYG5hdmAseyJhcmlhLWxhYmVsIjpgU2V0dXAgc3RlcHNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYG9sYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjpxci5tYXAoKHQsbik9PigwLEMuanN4KShgbGlgLHsiYXJpYS1jdXJyZW50IjpuKzE9PT1lP2BzdGVwYDp2b2lkIDAsY2hpbGRyZW46bisxPGU_YOKckyAke3R9YDpgJHtTdHJpbmcobisxKX0gJHt0fWB9LHQpKX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbCBhbC1tdXRlZGAsY2hpbGRyZW46Ri5zdGVwT2YoZSl9KV19KX1mdW5jdGlvbiBtbCh7Y29kZTplLGNvbXB1dGVyOnQsc2Vuc29yOm4sb25TYXZlZDpyfSl7bGV0W2ksYV09KDAsbC51c2VTdGF0ZSkoITEpLFtvLHNdPSgwLGwudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBhbC1zZWNyZXRgLCJhcmlhLWxhYmVsIjpGLmJhY2t1cExhYmVsLGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNlY3JldC1oZWFkYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjpGLmJhY2t1cExhYmVsfSksKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOkYuc2hvd25PbmNlfSldfSksKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNlY3JldC12YWwgYWwtdGV4dC1jb2RlLWxnYCxjaGlsZHJlbjplLnNwbGl0KGAgYCkubWFwKChlLHQpPT4oMCxDLmpzeCkoYHNwYW5gLHtjaGlsZHJlbjplfSx0KSl9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46Ri5iYWNrdXBCb2R5KG4pfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOkYuYmFja3VwTG9zdH0pLCgwLEMuanN4cykoYGZvcm1gLHtvblN1Ym1pdDplPT57ZS5wcmV2ZW50RGVmYXVsdCgpLHMoITApfSxhdXRvQ29tcGxldGU6YG9uYCxjaGlsZHJlbjpbKDAsQy5qc3gpKHRlLHtsYWJlbDpGLnNhdmVkQXMsbmFtZTpgdXNlcm5hbWVgLGF1dG9Db21wbGV0ZTpgdXNlcm5hbWVgLHZhbHVlOkYuc2F2ZWRBc0xhYmVsKHQpLHJlYWRPbmx5OiEwfSksKDAsQy5qc3gpKHRlLHtsYWJlbDpGLmJhY2t1cExhYmVsLG5hbWU6YHBhc3N3b3JkYCx0eXBlOmBwYXNzd29yZGAsYXV0b0NvbXBsZXRlOmBuZXctcGFzc3dvcmRgLHZhbHVlOmUscmVhZE9ubHk6ITAsbW9ubzohMH0pLCgwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2VjcmV0LWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoTyx7dHlwZTpgc3VibWl0YCx2YXJpYW50OmBwcmltYXJ5YCxpY29uOmBrZXktcm91bmRgLGNoaWxkcmVuOkYuc2F2ZVRvTWFuYWdlcn0pLCgwLEMuanN4KShPLHtzaXplOmBzbWAsaWNvbjppP2BjaGVja2A6YGNvcHlgLG9uQ2xpY2s6KCk9PntuYXZpZ2F0b3IuY2xpcGJvYXJkPy53cml0ZVRleHQoZSkudGhlbigoKT0-YSghMCkpLmNhdGNoKCgpPT5hKCExKSl9LGNoaWxkcmVuOmk_Ri5jb3BpZWQ6Ri5jb3B5fSldfSldfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOkYuY2xpcGJvYXJkV2FybmluZ30pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOm8_Ri5zYXZlQXNrZWQ6YGB9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgc2Vjb25kYXJ5YCxzaXplOmBsZ2AsYmxvY2s6ITAsb25DbGljazpyLGNoaWxkcmVuOkYuc2F2ZWRJdH0pXX0pfWZ1bmN0aW9uIGhsKGUpe2lmKGU9PT1gYWxsb3dlZGApcmV0dXJuIEYuc2VuZEFsbG93ZWQ7aWYoZT09PWBub3RfYWxsb3dlZGApcmV0dXJuIEYuc2VuZE5vdEFsbG93ZWQ7aWYoZT09PWBub3RfY29uZmlybWVkYClyZXR1cm4gRi5zZW5kTm90Q29uZmlybWVkfWZ1bmN0aW9uIGdsKHthcGk6ZSxjcmVhdGVQYXNza2V5OnQ9YnIscGFzc2tleXNBdmFpbGFibGU6bj12cixwbGF0Zm9ybTpyLHByZlN1cHBvcnQ6aT1ocix1cGdyYWRlQXBpOmEsY3JlYXRlVXBncmFkZVBhc3NrZXk6bz1Dcn09e30pe2xldFtzXT0oMCxsLnVzZVN0YXRlKSgoKT0-ZT8_VXIoKSksW2NdPSgwLGwudXNlU3RhdGUpKCgpPT5hPz9LcigpKSxbdV09KDAsbC51c2VTdGF0ZSkoKCk9PnI_P21yKCkpLFtkLGZdPSgwLGwudXNlU3RhdGUpKHtrOmBsb2FkaW5nYH0pLFtwLG1dPSgwLGwudXNlU3RhdGUpKGBgKSxoPUpyW3VdLGc9KDAsbC51c2VDYWxsYmFjaykoYXN5bmMoZT0oKT0-ITApPT57bGV0IHQ9YXdhaXQgYy5pbmZvKCk7aWYoIWUoKSlyZXR1cm47aWYodC5raW5kIT09YG9rYHx8dC5yZWdpc3RlcmVkfHwhbigpKXt0LmtpbmQ9PT1gZXJyb3JgJiZ0LnByb2JsZW09PT1gc2Vzc2lvbl9leHBpcmVkYD9mKHtrOmBleHBpcmVkYH0pOmYoe2s6YGFscmVhZHlgfSk7cmV0dXJufWxldCByPWF3YWl0IGkoKS5jYXRjaCgoKT0-YHVua25vd25gKTtlKCkmJmYoe2s6YHVwZ3JhZGVgLHZhbHVlczp0LnZhbHVlcyx3b3JraW5nOiExLG5vUHJmOnI9PT1gbm9gfSl9LFtjLG4saV0pOygwLGwudXNlRWZmZWN0KSgoKT0-e2xldCBlPSEwO3JldHVybiBzLnN0YXR1cygpLnRoZW4odD0-e2UmJih0LmtpbmQ9PT1gb2tgP3Qub3duZXI9PT1gc2V0X3VwYD9nKCgpPT5lKTp0Lm93bmVyPT09YHVua25vd25gP2Yoe2s6YHN0dWNrYCxtZXNzYWdlOlhyLnVua25vd259KTpuKCk_aSgpLmNhdGNoKCgpPT5gdW5rbm93bmApLnRoZW4odD0-e2UmJmYoe2s6YHByb3RlY3RgLHdvcmtpbmc6ITEsbm9QcmY6dD09PWBub2B9KX0pOmYoe2s6YHVuc3VwcG9ydGVkYH0pOnQucHJvYmxlbT09PWBzZXNzaW9uX2V4cGlyZWRgP2Yoe2s6YGV4cGlyZWRgfSk6dC5wcm9ibGVtPT09YG9mZmxpbmVgP2Yoe2s6YGRvd25gfSk6Zih7azpgc3R1Y2tgLG1lc3NhZ2U6ZmwodCl9KSl9KSwoKT0-e2U9ITF9fSxbcyxuLGksZ10pO2xldCBfPSgwLGwudXNlQ2FsbGJhY2spKGFzeW5jIGU9PntsZXQgbj10PT5mKHtrOmBwcm90ZWN0YCx3b3JraW5nOiExLG1lc3NhZ2U6dCxub1ByZjplfSk7Zih7azpgcHJvdGVjdGAsd29ya2luZzohMCxub1ByZjplfSk7bGV0IHI9YXdhaXQgcy5iZWdpbigpO2lmKHIua2luZD09PWBvd25lcl9leGlzdHNgKXJldHVybiBnKCk7aWYoci5raW5kPT09YGVycm9yYClyZXR1cm4gci5wcm9ibGVtPT09YHNlc3Npb25fZXhwaXJlZGA_Zih7azpgZXhwaXJlZGB9KTpuKGZsKHIpKTtsZXQgaT1hd2FpdCB0KHIucHVibGljS2V5LHtwbGF0Zm9ybTohZX0pO2lmKGkua2luZD09PWB1bnN1cHBvcnRlZGApcmV0dXJuIGYoe2s6YHVuc3VwcG9ydGVkYH0pO2lmKGkua2luZD09PWBjYW5jZWxsZWRgKXJldHVybiBuKFhyLmNhbmNlbGxlZCk7bGV0IGE7dHJ5e2E9YXdhaXQgcy5maW5pc2goaS5ib2R5KX1maW5hbGx5e2kuYm9keS5maWxsKDApfWlmKGEua2luZD09PWBvd25lcl9leGlzdHNgKXJldHVybiBnKCk7aWYoYS5raW5kPT09YGVycm9yYCl7aWYoYS5wcm9ibGVtPT09YHNlc3Npb25fZXhwaXJlZGApcmV0dXJuIGYoe2s6YGV4cGlyZWRgfSk7aWYoYS5wcm9ibGVtPT09YG9mZmxpbmVgKXtsZXQgZT1hd2FpdCBzLnN0YXR1cygpO3JldHVybiBlLmtpbmQ9PT1gb2tgJiZlLm93bmVyPT09YG1pc3NpbmdgP24oWHIubm90RmluaXNoZWQpOmUua2luZD09PWBva2AmJmUub3duZXI9PT1gc2V0X3VwYD9mKHtrOmBzdHVja2AsbWVzc2FnZTpYci5maW5pc2hlZE5vQ29kZX0pOmUua2luZD09PWBlcnJvcmAmJmUucHJvYmxlbT09PWBvZmZsaW5lYD9mKHtrOmBkb3duYH0pOmUua2luZD09PWBlcnJvcmAmJmUucHJvYmxlbT09PWBzZXNzaW9uX2V4cGlyZWRgP2Yoe2s6YGV4cGlyZWRgfSk6Zih7azpgc3R1Y2tgLG1lc3NhZ2U6WHIudW5rbm93bn0pfXJldHVybiBhLnByb2JsZW09PT1ga2V5Y2hhaW5gfHxhLnByb2JsZW09PT1gY2hlY2tfZmFpbGVkYHx8YS5wcm9ibGVtPT09YGludGVybmFsYHx8YS5wcm9ibGVtPT09YHVua25vd25gP2Yoe2s6YHN0dWNrYCxtZXNzYWdlOmZsKGEpfSk6bihmbChhKSl9cmV0dXJuIGYoe2s6YGRvbmVgLGRvbmU6e2NvbmZpcm1lZDphLmNvbmZpcm1lZCxwYXNza2V5OmEucGFzc2tleSxmaW5nZXJwcmludDphLmZpbmdlcnByaW50LHNlbmRGb2xkZXI6YS5zZW5kRm9sZGVyLG93bmVyQ29kZTphLm93bmVyQ29kZSxjb21wdXRlck5hbWU6YS5jb21wdXRlck5hbWV9fSl9LFtzLHQsZ10pLHY9KDAsbC51c2VDYWxsYmFjaykoYXN5bmMoZSx0LG4pPT57bGV0IHI9KG4scik9PntyJiZtKGBgKSxmKHtrOmB1cGdyYWRlYCx2YWx1ZXM6ZSx3b3JraW5nOiExLG5vUHJmOnQsbWVzc2FnZTpufSl9O2lmKG4ubGVuZ3RoPT09MClyZXR1cm4gcih0aS5lbXB0eSwhMSk7Zih7azpgdXBncmFkZWAsdmFsdWVzOmUsd29ya2luZzohMCxub1ByZjp0fSk7bGV0IGk9YXdhaXQgbyhlLHtwbGF0Zm9ybTohdH0pO2lmKGkua2luZD09PWBjYW5jZWxsZWRgKXJldHVybiByKHRpLmNhbmNlbGxlZCwhMSk7aWYoaS5raW5kPT09YHVuc3VwcG9ydGVkYClyZXR1cm4gcih0aS51bnN1cHBvcnRlZChZclt1XSksITApO2xldCBhPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShuKSxzO3RyeXtzPXdyKGEsaS5ib2R5KX1jYXRjaHtyZXR1cm4gcih0aS5wcmVzZW5jZV9yZXF1aXJlZCwhMCl9ZmluYWxseXthLmZpbGwoMCksaS5ib2R5LmZpbGwoMCl9bGV0IGw7dHJ5e2w9YXdhaXQgYy5yZWdpc3RlcihzKX1maW5hbGx5e3MuZmlsbCgwKX1pZihtKGBgKSxsLmtpbmQ9PT1gcmVnaXN0ZXJlZGApcmV0dXJuIGYoe2s6YHVwZ3JhZGVkYH0pO2xldCBkPWwucHJvYmxlbTtyZXR1cm4gZD09PWBwYXNza2V5X2V4aXN0c2A_Zih7azpgYWxyZWFkeWB9KTpkPT09YHNlc3Npb25fZXhwaXJlZGA_Zih7azpgZXhwaXJlZGB9KTpkPT09YG9mZmxpbmVgP2Yoe2s6YGRvd25gfSk6ZD09PWB3YWl0YD9yKHRpLndhaXQobC5yZXRyeUFmdGVyPz8xKSwhMCk6ZD09PWBwYXNza2V5X3Vuc3VwcG9ydGVkYD9yKHRpLnVuc3VwcG9ydGVkKFlyW3VdKSwhMCk6ZD09PWBwcmVzZW5jZV9yZWplY3RlZGB8fGQ9PT1gcHJlc2VuY2VfcmVxdWlyZWRgfHxkPT09YGJ1c3lgfHxkPT09YGZvcmJpZGRlbmA_cih0aVtkXSwhMCk6Zih7azpgc3R1Y2tgLG1lc3NhZ2U6dGkuZmFpbGVkfSl9LFtvLGMsdV0pLHk9ZT0-Zih7azpga2l0YCxkb25lOntjb25maXJtZWQ6ZS5jb25maXJtZWQscGFzc2tleTplLnBhc3NrZXksZmluZ2VycHJpbnQ6ZS5maW5nZXJwcmludCxzZW5kRm9sZGVyOmUuc2VuZEZvbGRlcn19KSxiPXU9PT1gbWFjYD9GLnVzZVRvdWNoSWQ6dT09PWB3aW5kb3dzYD9GLnVzZVdpbmRvd3NIZWxsbzpGLnVzZVBhc3NrZXk7c3dpdGNoKGQuayl7Y2FzZWBsb2FkaW5nYDpyZXR1cm4oMCxDLmpzeCkoZmkse3RleHQ6Ri5sb2FkaW5nfSk7Y2FzZWBleHBpcmVkYDpyZXR1cm4oMCxDLmpzeCkobGkse30pO2Nhc2VgZG93bmA6cmV0dXJuKDAsQy5qc3gpKHVpLHt9KTtjYXNlYHN0dWNrYDpyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgxYCx7aWQ6YGZyLWhgLGNsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0xYCxjaGlsZHJlbjpGLnByb3RlY3RUaXRsZX0pLCgwLEMuanN4KShrLHt0b25lOmB3YXJuaW5nYCxjaGlsZHJlbjpkLm1lc3NhZ2V9KV19KTtjYXNlYHVwZ3JhZGVgOntsZXR7dmFsdWVzOmUsbm9QcmY6dH09ZDtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgxYCx7aWQ6YGZyLWhgLGNsYXNzTmFtZTpgYWwtdGV4dC1kaXNwbGF5YCxjaGlsZHJlbjplaS50aXRsZSh1KX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LWxnIGFsLW11dGVkYCxjaGlsZHJlbjplaS5ib2R5KGgpfSksdD8oMCxDLmpzeCkoayx7dG9uZTpgd2FybmluZ2AsY2hpbGRyZW46ZWkubm9QcmYoSnJbdV0sWXJbdV0pfSk6bnVsbCxkLm1lc3NhZ2U9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoayx7dG9uZTpgd2FybmluZ2AsY2hpbGRyZW46ZC5tZXNzYWdlfSksKDAsQy5qc3hzKShgZm9ybWAse2F1dG9Db21wbGV0ZTpgb25gLG9uU3VibWl0Om49PntuLnByZXZlbnREZWZhdWx0KCksZC53b3JraW5nfHx2KGUsdCxwKX0sY2hpbGRyZW46WygwLEMuanN4KSh0ZSx7bGFiZWw6ZWkuY29kZUxhYmVsLGhpbnQ6ZWkuY29kZUhpbnQsbmFtZTpgYmFja3VwLWNvZGVgLHR5cGU6YHBhc3N3b3JkYCxhdXRvQ29tcGxldGU6YGN1cnJlbnQtcGFzc3dvcmRgLGF1dG9DYXBpdGFsaXplOmBvZmZgLGF1dG9Db3JyZWN0OmBvZmZgLHNwZWxsQ2hlY2s6ITEsbW9ubzohMCx2YWx1ZTpwLGRpc2FibGVkOmQud29ya2luZyxvbkNoYW5nZTplPT5tKGUuY3VycmVudFRhcmdldC52YWx1ZSl9KSwoMCxDLmpzeCkoTyx7dHlwZTpgc3VibWl0YCx2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2AsaWNvbjpga2V5LXJvdW5kYCxkaXNhYmxlZDpkLndvcmtpbmcsY2hpbGRyZW46dD9GLnVzZVBhc3NrZXk6Yn0pXX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOmQud29ya2luZz9GLndhaXRpbmc6Ri5wYXNza2V5Tm90ZX0pXX0pfWNhc2VgdXBncmFkZWRgOnJldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgZnItaGAsY2hpbGRyZW46WygwLEMuanN4KShgaDFgLHtpZDpgZnItaGAsY2xhc3NOYW1lOmBhbC10ZXh0LWRpc3BsYXlgLGNoaWxkcmVuOmVpLmRvbmVUaXRsZSh1KX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LWxnIGFsLW11dGVkYCxjaGlsZHJlbjplaS5kb25lQm9keShoKX0pLCgwLEMuanN4KShgYWAse2NsYXNzTmFtZTpgYWwtYnRuIGFsLWJ0bi1wcmltYXJ5IGFsLWJ0bi1sZ2AsaHJlZjpgL2AsY2hpbGRyZW46ZWkudG9BcHByb3ZhbHN9KV19KTtjYXNlYGFscmVhZHlgOnJldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgZnItaGAsY2hpbGRyZW46WygwLEMuanN4KShgaDFgLHtpZDpgZnItaGAsY2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOkYuYWxyZWFkeVRpdGxlfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHkgYWwtbXV0ZWRgLGNoaWxkcmVuOkYuYWxyZWFkeUJvZHl9KV19KTtjYXNlYHVuc3VwcG9ydGVkYDpyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxDLmpzeCkocGwse2N1cnJlbnQ6MX0pLCgwLEMuanN4KShgaDFgLHtpZDpgZnItaGAsY2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOkYudW5zdXBwb3J0ZWRUaXRsZX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpGLnVuc3VwcG9ydGVkQm9keX0pLCgwLEMuanN4KShvZSx7Y29tbWFuZDpGLnVuc3VwcG9ydGVkQ29tbWFuZH0pXX0pO2Nhc2VgcHJvdGVjdGA6e2xldCBlPWQubm9QcmY9PT0hMDtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxDLmpzeCkocGwse2N1cnJlbnQ6MX0pLCgwLEMuanN4KShgaDFgLHtpZDpgZnItaGAsY2xhc3NOYW1lOmBhbC10ZXh0LWRpc3BsYXlgLGNoaWxkcmVuOkYucHJvdGVjdFRpdGxlfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktbGcgYWwtbXV0ZWRgLGNoaWxkcmVuOkYucHJvdGVjdEJvZHkoaCl9KSwoMCxDLmpzeHMpKGBhc2lkZWAse2NsYXNzTmFtZTpgYWwtY2FyZGAsImFyaWEtbGFiZWxsZWRieSI6YGZyLWZvbGRlcnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYHBgLHtpZDpgZnItZm9sZGVyc2AsY2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsIGFsLW11dGVkYCxjaGlsZHJlbjpGLmZvbGRlcnNUaXRsZX0pLCgwLEMuanN4KShgZGxgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46Ri5mb2xkZXJzLm1hcCgoW2UsdF0pPT4oMCxDLmpzeHMpKGBkaXZgLHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBkdGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjplfSksKDAsQy5qc3gpKGBkZGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjp0fSldfSx0KSl9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Ri5mb2xkZXJzTm90ZX0pXX0pLGU_KDAsQy5qc3gpKGsse3RvbmU6YHdhcm5pbmdgLGNoaWxkcmVuOkYubm9QcmYoSnJbdV0sWXJbdV0pfSk6bnVsbCxkLm1lc3NhZ2U9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoayx7dG9uZTpgd2FybmluZ2AsY2hpbGRyZW46ZC5tZXNzYWdlfSksKDAsQy5qc3gpKE8se3ZhcmlhbnQ6YHByaW1hcnlgLHNpemU6YGxnYCxpY29uOmBrZXktcm91bmRgLGRpc2FibGVkOmQud29ya2luZyxvbkNsaWNrOigpPT52b2lkIF8oZSksY2hpbGRyZW46ZC5tZXNzYWdlPT09dm9pZCAwP2U_Ri5iYWNrdXBPbmx5OmI6Ri50cnlBZ2Fpbn0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOmQud29ya2luZz9GLndhaXRpbmc6Ri5wYXNza2V5Tm90ZX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpGLmRlc2t0b3BUaXB9KSwoMCxDLmpzeHMpKGBhc2lkZWAse2NsYXNzTmFtZTpgYWwtY2FyZGAsImFyaWEtbGFiZWwiOkYudW50aWxUaXRsZSxjaGlsZHJlbjpbKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsIGFsLW11dGVkYCxjaGlsZHJlbjpGLnVudGlsVGl0bGV9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46Ri51bnRpbEJvZHl9KV19KV19KX1jYXNlYGRvbmVgOntsZXR7ZG9uZTplfT1kLHQ9aGwoZS5zZW5kRm9sZGVyKTtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxDLmpzeCkocGwse2N1cnJlbnQ6Mn0pLCgwLEMuanN4KShgaDFgLHtpZDpgZnItaGAsY2xhc3NOYW1lOmBhbC10ZXh0LWRpc3BsYXlgLGNoaWxkcmVuOkYuYmFja3VwVGl0bGV9KSxlLmNvbmZpcm1lZD9udWxsOigwLEMuanN4KShrLHt0b25lOmB3YXJuaW5nYCx0aXRsZTpGLnVuY29uZmlybWVkVGl0bGUsY2hpbGRyZW46Ri51bmNvbmZpcm1lZH0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LWxnIGFsLW11dGVkYCxjaGlsZHJlbjplLnBhc3NrZXk_Ri5kb25lQm9keTpGLmRvbmVOb1Bhc3NrZXlCb2R5fSksdD09PXZvaWQgMD9udWxsOigwLEMuanN4KShrLHt0b25lOmUuc2VuZEZvbGRlcj09PWBhbGxvd2VkYD9gc3VjY2Vzc2A6YHdhcm5pbmdgLGNoaWxkcmVuOnR9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46KDAsQy5qc3gpKGRlLHt2YWx1ZTplLmZpbmdlcnByaW50LHByZWZpeDpGLmZpbmdlcnByaW50TGFiZWx9KX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpGLmZpbmdlcnByaW50Tm90ZX0pLCgwLEMuanN4KShtbCx7Y29kZTplLm93bmVyQ29kZT8_YGAsY29tcHV0ZXI6ZS5jb21wdXRlck5hbWU_P2BgLHNlbnNvcjplLnBhc3NrZXk_aDpKci5vdGhlcixvblNhdmVkOigpPT55KGUpfSldfSl9Y2FzZWBraXRgOnJldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgZnItaGAsY2hpbGRyZW46WygwLEMuanN4KShwbCx7Y3VycmVudDozfSksKDAsQy5qc3gpKGBoMWAse2lkOmBmci1oYCxjbGFzc05hbWU6YGFsLXRleHQtZGlzcGxheWAsY2hpbGRyZW46Ri5raXRUaXRsZX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LWxnIGFsLW11dGVkYCxjaGlsZHJlbjpGLmtpdEJvZHl9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgcHJpbWFyeWAsc2l6ZTpgbGdgLGRpc2FibGVkOiEwLCJhcmlhLWRlc2NyaWJlZGJ5IjpgZnIta2l0LXNvb25gLGNoaWxkcmVuOkYuc2F2ZUtpdH0pLCgwLEMuanN4KShgcGAse2lkOmBmci1raXQtc29vbmAsY2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOkYuc2F2ZUtpdFNvb259KSwoMCxDLmpzeCkoTyx7b25DbGljazooKT0-e2FpKCksZih7azpgcmVhZHlgLGRvbmU6ZC5kb25lfSl9LGNoaWxkcmVuOkYubGF0ZXJ9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46Ri5sYXRlck5vdGV9KV19KTtjYXNlYHJlYWR5YDpyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxDLmpzeCkocGwse2N1cnJlbnQ6NH0pLCgwLEMuanN4KShgaDFgLHtpZDpgZnItaGAsY2xhc3NOYW1lOmBhbC10ZXh0LWRpc3BsYXlgLGNoaWxkcmVuOkYucmVhZHlUaXRsZX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LWxnIGFsLW11dGVkYCxjaGlsZHJlbjpGLnJlYWR5Qm9keX0pLCgwLEMuanN4KShvZSx7c2l6ZTpgaGVyb2AsdGl0bGU6Ri5yZWFkeVByb21wdFRpdGxlLHByb21wdDpGLnJlYWR5UHJvbXB0fSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOkYucmVhZHlSZXN0YXJ0fSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHkgYWwtbXV0ZWRgLGNoaWxkcmVuOkYucmVhZHlDbG9zZX0pXX0pfX12YXIgX2w9bmV3IFNldChbYHJlY29yZGluZ2AsYHN1Ym1pdHRlZGAsYHJlY29yZGVkYCxgbmVlZHMtY3JlZGl0c2AsYGZhaWxlZGBdKSx2bD0vXltceDIxLVx4N2VdezEsMjIwfSQvLFU9L15cJFswLTldezEsMzJ9XC5bMC05XXsyfSQvLHlsPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKTtmdW5jdGlvbiBibChlKXtpZigheWwoZSkpcmV0dXJuO2xldHtkaXJlY3Rpb246dCxzdGF0ZTpuLGNyZWF0ZWRBdDpyfT1lO2lmKCh0PT09YHNlbnRgfHx0PT09YHJlY2VpdmVkYCkmJnR5cGVvZiBuPT1gc3RyaW5nYCYmX2wuaGFzKG4pJiYhKHR5cGVvZiByIT1gbnVtYmVyYHx8IU51bWJlci5pc1NhZmVJbnRlZ2VyKHIpfHxyPDApKXJldHVybntkaXJlY3Rpb246dCxzdGF0ZTpuLGNyZWF0ZWRBdDpyfX1mdW5jdGlvbiB4bChlKXtpZigheWwoZSl8fGUuc3RhdHVzIT09YG9rYHx8IUFycmF5LmlzQXJyYXkoZS5pdGVtcykpcmV0dXJue2tpbmQ6YGVycm9yYH07bGV0IHQ9W107Zm9yKGxldCBuIG9mIGUuaXRlbXMpe2xldCBlPWJsKG4pO2UhPT12b2lkIDAmJnQucHVzaChlKX1sZXQgbj1lLm5leHRDdXJzb3I7cmV0dXJuIHR5cGVvZiBuPT1gc3RyaW5nYCYmdmwudGVzdChuKT97a2luZDpgb2tgLGl0ZW1zOnQsbmV4dDpufTp7a2luZDpgb2tgLGl0ZW1zOnR9fWZ1bmN0aW9uIFNsKGUpe2lmKCF5bChlKSlyZXR1cm57a2luZDpgdW5hdmFpbGFibGVgfTtsZXR7c3RhdHVzOnQscHJvb2ZzTGVmdDpuLGJhbGFuY2U6cixwcmljZTppLHRlc3Q6YSxwYXJ0aWFsOm99PWU7cmV0dXJuIHQhPT1gb2tgfHx0eXBlb2YgbiE9YG51bWJlcmB8fCFOdW1iZXIuaXNTYWZlSW50ZWdlcihuKXx8bjwwfHx0eXBlb2YgciE9YHN0cmluZ2B8fCFVLnRlc3Qocil8fHR5cGVvZiBpIT1gc3RyaW5nYHx8IVUudGVzdChpKXx8dHlwZW9mIGEhPWBib29sZWFuYHx8dHlwZW9mIG8hPWBib29sZWFuYD97a2luZDpgdW5hdmFpbGFibGVgfTp7a2luZDpgb2tgLHByb29mc0xlZnQ6bixiYWxhbmNlOnIscHJpY2U6aSx0ZXN0OmEscGFydGlhbDpvfX1mdW5jdGlvbiBDbChlKXtsZXQgdD1gL2FwaS91aS9wcm9vZnM_bGltaXQ9MjBgO3JldHVybiBlPT09dm9pZCAwP3Q6YCR7dH0mY3Vyc29yPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGUpfWB9dmFyIHdsPWAvYXBpL3VpL3Byb29mcy9jcmVkaXRzYCxUbD1gL2FwaS91aS9wcm9vZnMvdG9wLXVwYCxFbD1gL2FwaS91aS9wcm9vZnMvd2l0aGRyYXdgLERsPW5ldyBTZXQoW2Bnbm9zaXMtdGVzdGAsYGJhc2UtdGVzdGBdKSxPbD0vXjB4WzAtOWEtZl17NDB9JC8sa2w9L14oMHxbMS05XVswLTldezAsNzd9KSQvO2Z1bmN0aW9uIEFsKGUpe2lmKCF5bChlKSlyZXR1cm47bGV0e3VzZDp0LGFtb3VudDpufT1lO2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmVS50ZXN0KHQpJiZ0eXBlb2Ygbj09YHN0cmluZ2AmJmtsLnRlc3QobikpcmV0dXJue3VzZDp0LGFtb3VudDpufX1mdW5jdGlvbiBqbChlKXtpZigheWwoZSkpcmV0dXJuO2xldHtuZXR3b3JrOnQsbWV0aG9kOm59PWU7aWYodHlwZW9mIHQhPWBzdHJpbmdgfHwhRGwuaGFzKHQpKXJldHVybjtpZihuPT09YGNvbWluZ19zb29uYClyZXR1cm57bmV0d29yazp0LG1ldGhvZDpufTtpZihuIT09YGFkZHJlc3NgfHx0IT09YGdub3Npcy10ZXN0YClyZXR1cm47bGV0e2FkZHJlc3M6cixhdmFpbGFibGU6aX09ZTtpZih0eXBlb2YgciE9YHN0cmluZ2B8fCFPbC50ZXN0KHIpKXJldHVybjtpZihpPT09ITEpcmV0dXJue25ldHdvcms6dCxtZXRob2Q6bixhdmFpbGFibGU6aSxhZGRyZXNzOnJ9O2lmKGkhPT0hMClyZXR1cm47bGV0IGE9ZS5yZWNlaXZlZCxvPUFsKGUuYWRkYWJsZSkscz1BbChlLmNyZWRpdHMpO2lmKHR5cGVvZiBhPT1gc3RyaW5nYCYmVS50ZXN0KGEpJiZvIT09dm9pZCAwJiZzIT09dm9pZCAwKXJldHVybntuZXR3b3JrOnQsbWV0aG9kOm4sYXZhaWxhYmxlOmksYWRkcmVzczpyLHJlY2VpdmVkOmEsYWRkYWJsZTpvLGNyZWRpdHM6c319ZnVuY3Rpb24gTWwoZSl7aWYoIXlsKGUpfHxlLnN0YXR1cyE9PWBva2B8fCFBcnJheS5pc0FycmF5KGUubmV0d29ya3MpKXJldHVybntraW5kOmB1bmF2YWlsYWJsZWB9O2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlLm5ldHdvcmtzKXtsZXQgZT1qbChuKTtlIT09dm9pZCAwJiZ0LnB1c2goZSl9cmV0dXJue2tpbmQ6YG9rYCxuZXR3b3Jrczp0fX1mdW5jdGlvbiBObChlKXtpZihlLmtpbmQ9PT1gb2tgKXJldHVybiBlLm5ldHdvcmtzLmZpbmQoZT0-ZS5tZXRob2Q9PT1gYWRkcmVzc2ApfXZhciBQbD1lPT5lIT09YDBgLEZsPWAvYXBpL3VpL2FjdGl2aXR5P2xpbWl0PTNgLElsPWAvYXBpL3VpL2NvbnRhY3RzYCxMbD1lPT50eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSksUmw9ZT0-dHlwZW9mIGU9PWBudW1iZXJgJiZOdW1iZXIuaXNTYWZlSW50ZWdlcihlKSYmZT49MDtmdW5jdGlvbiB6bChlKXtsZXQgdD14aShlKTtpZih0PT09dm9pZCAwfHxlLmtpbmQhPT1gb2tgfHwhTGwoZS5kYXRhKSlyZXR1cm47bGV0e3JlbGF5czpuLGxhc3RTeW5jQXQ6cn09ZS5kYXRhLGk9bnVsbDtpZihMbChuKSl7bGV0e2Nvbm5lY3RlZDplLHRvdGFsOnR9PW47dHlwZW9mIGU9PWBudW1iZXJgJiZ0eXBlb2YgdD09YG51bWJlcmAmJk51bWJlci5pc0ludGVnZXIoZSkmJk51bWJlci5pc0ludGVnZXIodCkmJmU-PTAmJnQ-PWUmJnQ8PTMyJiYoaT17Y29ubmVjdGVkOmUsdG90YWw6dH0pfXJldHVybnthZ2VudDp0LnN0YXRlLHJlbGF5czppLGxhc3RTeW5jQXQ6Umwocik_cjpudWxsLHZlcnNpb246dC52ZXJzaW9uPz9udWxsfX12YXIgQmw9e2FwcHJvdmVkOmBhcHByb3ZlZGAsYXBwcm92ZWRfYnlfcnVsZXM6YGFwcHJvdmVkQnlSdWxlc2AsZGVuaWVkOmBkZW5pZWRgLGNhbmNlbGxlZDpgY2FuY2VsbGVkYH0sVmw9bmV3IFNldChbYHN1Ym1pdHRlZGAsYG5lZWRzX2NyZWRpdHNgLGBmYWlsZWRgLGByZWNvcmRlZGAsYHJlY2VpdmVkYF0pO2Z1bmN0aW9uIEhsKGUpe2lmKCFMbChlKXx8IUFycmF5LmlzQXJyYXkoZS5pdGVtcykpcmV0dXJuO2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlLml0ZW1zKXtpZighTGwobil8fCFSbChuLmF0KSljb250aW51ZTtsZXQgZT1uLmF0LHI7c3dpdGNoKG4ua2luZCl7Y2FzZWBhcHByb3ZhbF9kZWNpZGVkYDpyPXR5cGVvZiBuLmRlY2lzaW9uPT1gc3RyaW5nYCYmT2JqZWN0Lmhhc093bihCbCxuLmRlY2lzaW9uKT9CbFtuLmRlY2lzaW9uXTp2b2lkIDA7YnJlYWs7Y2FzZWBwcm9vZmA6KG4uZGlyZWN0aW9uPT09YHNlbnRgfHxuLmRpcmVjdGlvbj09PWByZWNlaXZlZGApJiZ0eXBlb2Ygbi5zdGF0ZT09YHN0cmluZ2AmJlZsLmhhcyhuLnN0YXRlKSYmKHI9bi5zdGF0ZT09PWByZWNlaXZlZGB8fG4uZGlyZWN0aW9uPT09YHJlY2VpdmVkYD9gcHJvb2ZSZWNlaXZlZGA6YHByb29mU2VudGApO2JyZWFrO2Nhc2Vgc2VuZGVyX2Jsb2NrZWRgOnI9YHNlbmRlckJsb2NrZWRgO2JyZWFrO2Nhc2VgY29udGFjdF9ibG9ja2VkYDpyPWBjb250YWN0QmxvY2tlZGA7YnJlYWs7Y2FzZWBydWxlc19jaGFuZ2VkYDpyPWBydWxlc0NoYW5nZWRgO2JyZWFrO2RlZmF1bHQ6cj12b2lkIDB9aWYociE9PXZvaWQgMCYmdC5wdXNoKHtraW5kOnIsYXQ6ZX0pLHQubGVuZ3RoPT09MylicmVha31yZXR1cm4gdH1mdW5jdGlvbiBVbChlKXtsZXQgdD1TbChlKTtyZXR1cm4gdC5raW5kPT09YG9rYD97cHJvb2ZzTGVmdDp0LnByb29mc0xlZnQsYmFsYW5jZTp0LmJhbGFuY2V9OmB1bmF2YWlsYWJsZWB9ZnVuY3Rpb24gV2woZSl7bGV0IHQ9V28oZSk7cmV0dXJuIHQua2luZD09PWBva2A_dC5jb250YWN0cy5sZW5ndGg6dm9pZCAwfWZ1bmN0aW9uIEdsKGUsdD04MCl7bGV0IG49ZS5yZXBsYWNlKC9ccysvZyxgIGApLnRyaW0oKTtyZXR1cm4gbi5sZW5ndGg8PXQ_bjpgJHtuLnNsaWNlKDAsdC0xKS50cmltRW5kKCl94oCmYH1mdW5jdGlvbiBLbChlKXtsZXQgdD1bLi4uZV0uc29ydCgoZSx0KT0-ZS5leHBpcmVzQXQtdC5leHBpcmVzQXQpWzBdO3JldHVybntjb3VudDplLmxlbmd0aCxzb29uZXN0OnQ9PT12b2lkIDA_bnVsbDp7c3VtbWFyeTpHbCh0LnN1bW1hcnkpLGV4cGlyZXNBdDp0LmV4cGlyZXNBdH19fXZhciBXPXt0aXRsZTpgSG9tZWAsZ3JlZXRpbmdNb3JuaW5nOmBHb29kIG1vcm5pbmdgLGdyZWV0aW5nQWZ0ZXJub29uOmBHb29kIGFmdGVybm9vbmAsZ3JlZXRpbmdFdmVuaW5nOmBHb29kIGV2ZW5pbmdgLGxvYWRpbmc6YExvYWRpbmcgSG9tZeKApmAsdGlsZXNMYWJlbDpgWW91ciBhZ2VudCBhdCBhIGdsYW5jZWAsYWdlbnRUaXRsZTpgQWdlbnRgLGFnZW50UnVubmluZzpgUnVubmluZ2AsYWdlbnRQYXVzZWQ6YFBhdXNlZGAsYWdlbnROb3RSdW5uaW5nOmBOb3QgcnVubmluZ2AsYWdlbnROZWVkc1NldHVwOmBOZWVkcyBzZXR1cGAsYWdlbnRSdW5uaW5nTGluZTpgUmVhZHkgdG8gc2VuZCBhbmQgcmVjZWl2ZS5gLGFnZW50UGF1c2VkTGluZTpgTm90aGluZyBpcyBzZW50IG9yIHJlY2VpdmVkIGZvciBub3cuYCxhZ2VudE5vdFJ1bm5pbmdMaW5lOmBTdGFydCB5b3VyIEFJIGFwcCB0byBicmluZyB5b3VyIGFnZW50IG9ubGluZS5gLGFnZW50TmVlZHNTZXR1cExpbmU6YEZpbmlzaCBzZXR0aW5nIHVwIHRvIHN0YXJ0LmAsbmV0d29ya1RpdGxlOmBOZXR3b3JrYCxuZXR3b3JrQ29ubmVjdGVkOmBDb25uZWN0ZWRgLG5ldHdvcmtSZWNvbm5lY3Rpbmc6YFJlY29ubmVjdGluZ-KApmAsbmV0d29ya09mZmxpbmU6YE9mZmxpbmVgLG5ldHdvcmtOb3RDb25uZWN0ZWQ6YE5vdCBjb25uZWN0ZWRgLHdhaXRpbmdUaXRsZTpgV2FpdGluZyBmb3IgeW91YCx3YWl0aW5nTm9uZTpgTm90aGluZyBpcyB3YWl0aW5nLmAscmV2aWV3OmBSZXZpZXdgLG9uZU1pbnV0ZUxlZnQ6YDEgbWluIGxlZnRgLGxlc3NUaGFuTWludXRlOmBMZXNzIHRoYW4gYSBtaW51dGUgbGVmdGAsY3JlZGl0c1RpdGxlOmBDcmVkaXRzYCxjcmVkaXRzTWV0ZXI6YENyZWRpdHNgLGNyZWRpdHNOb25lOmBGcmVlIHRlc3QgY3JlZGl0cyBhcnJpdmUgd2l0aCB5b3VyIGZpcnN0IHByb29mLmAsY3JlZGl0c1VuYXZhaWxhYmxlOmBDYW4ndCBjaGVjayByaWdodCBub3cuYCxhY3Rpdml0eVRpdGxlOmBMYXN0IGFjdGl2aXR5YCxhY3Rpdml0eU5vbmU6YE5vdGhpbmcgeWV0LiBBcHByb3ZhbHMgYW5kIHByb29mcyBzaG93IHVwIGhlcmUuYCxhY3Rpdml0eUxpc3Q6YExhc3QgdGhyZWUgZXZlbnRzYCxuZXh0U3RlcExhYmVsOmBOZXh0IHN0ZXBgLG5leHRDb250YWN0VGl0bGU6YENvbm5lY3QgeW91ciBmaXJzdCBjb250YWN0YCxuZXh0Q29udGFjdEJvZHk6YEFkZCBzb21lb25lIHlvdXIgQUkgY2FuIGV4Y2hhbmdlIG1lc3NhZ2VzIHdpdGguYCxuZXh0Q29udGFjdEFjdGlvbjpgQWRkIGEgY29udGFjdGAsbmV4dEtpdFRpdGxlOmBTYXZlIHlvdXIgcmVjb3Zlcnkga2l0YCxuZXh0S2l0Qm9keTpgSXQgbGV0cyB5b3UgZ2V0IGJhY2sgaW4gaWYgdGhpcyBjb21wdXRlciBpcyBsb3N0LmAsbmV4dEtpdEFjdGlvbjpgU2F2ZSBpdCBub3dgLG5leHRQYXNza2V5Qm9keTpgQXBwcm92ZSB3aXRoIGEgcXVpY2sgdG91Y2ggaW5zdGVhZCBvZiBhIGNvZGUuYCxhc09mOmBhcyBvZmAsZXJyb3JMaW5lOmBDb3VsZG4ndCByZWFkIHRoZSBsYXRlc3QuIFRyeWluZyBhZ2Fpbi5gLG9mZmxpbmVMaW5lOmBDYW4ndCByZWFjaCBBZ2VudExpbmsgb24gdGhpcyBjb21wdXRlci4gU2hvd2luZyB0aGUgbGFzdCB2YWx1ZXMuYCxob29kVmVyc2lvbjpgVmVyc2lvbmAsaG9vZFJvdXRlczpgUm91dGVzIHVwYH07ZnVuY3Rpb24gcWwoZSl7cmV0dXJuIGU8PTA_Vy5sZXNzVGhhbk1pbnV0ZTplPT09MT9XLm9uZU1pbnV0ZUxlZnQ6YCR7U3RyaW5nKGUpfSBtaW4gbGVmdGB9ZnVuY3Rpb24gSmwoZSx0KXtyZXR1cm5gJHtlfSwgYWJvdXQgJHtTdHJpbmcodCl9ICR7dD09PTE_YHByb29mYDpgcHJvb2ZzYH1gfWZ1bmN0aW9uIFlsKGUpe3JldHVybiBlPT09MT9gMSByZXF1ZXN0IHdhaXRpbmdgOmAke1N0cmluZyhlKX0gcmVxdWVzdHMgd2FpdGluZ2B9ZnVuY3Rpb24gWGwoZSx0KXtyZXR1cm5gJHtTdHJpbmcoZSl9IG9mICR7U3RyaW5nKHQpfWB9dmFyIFpsPTE0ZTMsUWw9MTAwLCRsPXthcHByb3ZlZDpJLmFwcHJvdmVkLGFwcHJvdmVkQnlSdWxlczpJLmFwcHJvdmVkQnlSdWxlcyxkZW5pZWQ6SS5kZW5pZWQsY2FuY2VsbGVkOkkuY2FuY2VsbGVkLHByb29mU2VudDpJLnByb29mU2VudCxwcm9vZlJlY2VpdmVkOkkucHJvb2ZSZWNlaXZlZCxzZW5kZXJCbG9ja2VkOkkuc2VuZGVyQmxvY2tlZCxjb250YWN0QmxvY2tlZDpJLmNvbnRhY3RCbG9ja2VkLHJ1bGVzQ2hhbmdlZDpJLnJ1bGVzQ2hhbmdlZH0sZXU9e2FwcHJvdmVkOmBhcHByb3ZhbGAsYXBwcm92ZWRCeVJ1bGVzOmBhcHByb3ZhbGAsZGVuaWVkOmBhcHByb3ZhbGAsY2FuY2VsbGVkOmBhcHByb3ZhbGAscHJvb2ZTZW50OmBwcm9vZi1zZWFsYCxwcm9vZlJlY2VpdmVkOmBwcm9vZi1zZWFsYCxzZW5kZXJCbG9ja2VkOmB1c2Vyc2AsY29udGFjdEJsb2NrZWQ6YHVzZXJzYCxydWxlc0NoYW5nZWQ6YHNsaWRlcnMtaG9yaXpvbnRhbGB9LHR1PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHZvaWQgMCx7aG91cjpgbnVtZXJpY2AsbWludXRlOmAyLWRpZ2l0YH0pLG51PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHZvaWQgMCx7d2Vla2RheTpgc2hvcnRgLGRheTpgbnVtZXJpY2AsbW9udGg6YHNob3J0YH0pLHJ1PWU9PnR1LmZvcm1hdChlKSxpdT1lPT5uZXcgRGF0ZShlKjFlMyk7ZnVuY3Rpb24gRyhlKXtsZXQgdD1lLmdldEhvdXJzKCk7cmV0dXJuIHQ8MTI_Vy5ncmVldGluZ01vcm5pbmc6dDwxOD9XLmdyZWV0aW5nQWZ0ZXJub29uOlcuZ3JlZXRpbmdFdmVuaW5nfXZhciBhdT17aGVhbHRoOntkb25lOiExfSxvZmZsaW5lOiExLGVycm9yOiExLGFzT2Y6bnVsbCx3YWl0aW5nOntkb25lOiExfSxjcmVkaXRzOntkb25lOiExfSxldmVudHM6e2RvbmU6ITF9LGNvbnRhY3RzOntkb25lOiExfX0sb3U9e2Nvbm5lY3RlZDpgY29ubmVjdGVkYCxwYXVzZWQ6YHBhdXNlZGAsbm90X3J1bm5pbmc6YG5vdC1ydW5uaW5nYCxuZWVkc19zZXR1cDpgbmVlZHMtc2V0dXBgfSxzdT17Y29ubmVjdGVkOlcuYWdlbnRSdW5uaW5nLHBhdXNlZDpXLmFnZW50UGF1c2VkLG5vdF9ydW5uaW5nOlcuYWdlbnROb3RSdW5uaW5nLG5lZWRzX3NldHVwOlcuYWdlbnROZWVkc1NldHVwfSxjdT17Y29ubmVjdGVkOlcuYWdlbnRSdW5uaW5nTGluZSxwYXVzZWQ6Vy5hZ2VudFBhdXNlZExpbmUsbm90X3J1bm5pbmc6Vy5hZ2VudE5vdFJ1bm5pbmdMaW5lLG5lZWRzX3NldHVwOlcuYWdlbnROZWVkc1NldHVwTGluZX07ZnVuY3Rpb24gbHUoe2lkOmUsdGl0bGU6dCxocmVmOm4sbG9hZGluZzpyLGF0dGVudGlvbjppPSExLHN0YWxlOmEsY2hpbGRyZW46b30pe3JldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGhtLXRpbGVgLCJkYXRhLXRpbGUiOmUsImRhdGEtYXR0ZW50aW9uIjppP2B0cnVlYDp2b2lkIDAsImFyaWEtbGFiZWxsZWRieSI6YGhtLSR7ZX1gLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7aWQ6YGhtLSR7ZX1gLGNsYXNzTmFtZTpgaG0tdGlsZS10aXRsZSBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjooMCxDLmpzeCkoYGFgLHtjbGFzc05hbWU6YGhtLXRpbGUtbGlua2AsaHJlZjpuLGNoaWxkcmVuOnR9KX0pLCgwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBobS10aWxlLWJvZHlgLGNoaWxkcmVuOigwLEMuanN4cykoJHQse2xvYWRpbmc6cixsaW5lczoyLGxhYmVsOmAke3R9OiAke1cubG9hZGluZ31gLGNoaWxkcmVuOltvLGE9PT12b2lkIDA_bnVsbDooMCxDLmpzeHMpKGBwYCx7Y2xhc3NOYW1lOmBobS1hc29mIGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46W1cuYXNPZixgIGAsYV19KV19KX0pXX0pfWZ1bmN0aW9uIHV1KHtyb3c6ZSxpc05ldzp0fSl7bGV0IG49Q3QoITAse2lzTmV3OnR9KSxyPWl1KGUuYXQpO3JldHVybigwLEMuanN4cykoYGxpYCx7cmVmOm4ucmVmLGNsYXNzTmFtZTpgaG0tZXZlbnRgLGNoaWxkcmVuOltuLmhpZ2hsaWdodCwoMCxDLmpzeCkodyx7bmFtZTpldVtlLmtpbmRdLHNpemU6MTYsY2xhc3NOYW1lOmBobS1ldmVudC1pY29uYH0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgaG0tZXZlbnQtdGV4dCBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOiRsW2Uua2luZF19KSwoMCxDLmpzeCkoYHRpbWVgLHtjbGFzc05hbWU6YGhtLWV2ZW50LXRpbWUgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxkYXRlVGltZTpyLnRvSVNPU3RyaW5nKCksY2hpbGRyZW46cnUocil9KV19KX1mdW5jdGlvbiBkdSh7cm93czplfSl7bGV0IHQ9KDAsbC51c2VSZWYpKG51bGwpLG49ZS5tYXAoZT0-YCR7U3RyaW5nKGUuYXQpfS0ke2Uua2luZH1gKSxyPXQuY3VycmVudD09PW51bGwsaT10LmN1cnJlbnQ_P25ldyBTZXQsYT1uZXcgU2V0KG4uZmlsdGVyKGU9PiFyJiYhaS5oYXMoZSkpKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCk9Pnt0LmN1cnJlbnQ9bmV3IFNldChbLi4udC5jdXJyZW50Pz9bXSwuLi5uXSl9KSwoMCxDLmpzeCkoYHVsYCx7Y2xhc3NOYW1lOmBobS1ldmVudHNgLCJhcmlhLWxhYmVsIjpXLmFjdGl2aXR5TGlzdCxjaGlsZHJlbjplLm1hcCgoZSx0KT0-KDAsQy5qc3gpKHV1LHtyb3c6ZSxpc05ldzphLmhhcyhuW3RdKX0sblt0XSkpfSl9ZnVuY3Rpb24gZnUoZSx0KXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLmNlaWwoKGUqMWUzLXQuZ2V0VGltZSgpKS82ZTQpKX1mdW5jdGlvbiBwdShlLHQsbixyKXtpZihlKXtsZXQgZT1laS50aXRsZShyKTtyZXR1cm57aWQ6YHBhc3NrZXlgLHRpdGxlOmUsYm9keTpXLm5leHRQYXNza2V5Qm9keSxhY3Rpb246ZSxocmVmOmAvZmlyc3QtcnVuYH19cmV0dXJuIHQ_e2lkOmBraXRgLHRpdGxlOlcubmV4dEtpdFRpdGxlLGJvZHk6Vy5uZXh0S2l0Qm9keSxhY3Rpb246Vy5uZXh0S2l0QWN0aW9uLGhyZWY6YC9zZXR0aW5ncy9iYWNrdXBgfTpuPT09MD97aWQ6YGNvbnRhY3RgLHRpdGxlOlcubmV4dENvbnRhY3RUaXRsZSxib2R5OlcubmV4dENvbnRhY3RCb2R5LGFjdGlvbjpXLm5leHRDb250YWN0QWN0aW9uLGhyZWY6YC9zZXR0aW5ncy9jb250YWN0c2B9Om51bGx9ZnVuY3Rpb24gbXUoe3N0ZXA6ZX0pe3JldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGhtLW5leHRgLCJkYXRhLW5leHQtc3RlcCI6ZS5pZCwiYXJpYS1sYWJlbCI6Vy5uZXh0U3RlcExhYmVsLGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGhtLW5leHQtdGV4dGAsY2hpbGRyZW46WygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbCBhbC1tdXRlZGAsY2hpbGRyZW46Vy5uZXh0U3RlcExhYmVsfSksKDAsQy5qc3gpKGBoMmAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0zYCxjaGlsZHJlbjplLnRpdGxlfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOmUuYm9keX0pXX0pLCgwLEMuanN4KShgYWAse2NsYXNzTmFtZTpgYWwtYnRuIGFsLWJ0bi1wcmltYXJ5YCxocmVmOmUuaHJlZixjaGlsZHJlbjplLmFjdGlvbn0pXX0pfWZ1bmN0aW9uIGh1KHtoZWFsdGg6ZX0pe2xldCB0PVtdO3JldHVybiBlPy52ZXJzaW9uIT1udWxsJiZ0LnB1c2goe2tpbmQ6YGlkYCxsYWJlbDpXLmhvb2RWZXJzaW9uLHZhbHVlOmUudmVyc2lvbn0pLGU_LnJlbGF5cyE9bnVsbCYmdC5wdXNoKHtraW5kOmBjb3VudGAsbGFiZWw6Vy5ob29kUm91dGVzLHZhbHVlOlhsKGUucmVsYXlzLmNvbm5lY3RlZCxlLnJlbGF5cy50b3RhbCl9KSwoMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgaG0taG9vZGAsImRhdGEtaG9vZCI6ITAsY2hpbGRyZW46KDAsQy5qc3gpKFplLHtmaWVsZHM6dH0pfSl9ZnVuY3Rpb24gZ3Uoe2FwaTplLGFwcHJvdmFsczp0LG5leHRTdGVwOm4scGxhdGZvcm06cixub3c6aT0oKT0-bmV3IERhdGV9KXtsZXQgYT0oMCxsLnVzZVJlZikoZT8_R24oKSksbz0oMCxsLnVzZVJlZikodD8_SGEoKSkscz0oMCxsLnVzZVJlZikoaSk7cy5jdXJyZW50PWk7bGV0W2MsdV09KDAsbC51c2VTdGF0ZSkoYXUpLFtkXT0oMCxsLnVzZVN0YXRlKSgoKT0-cj8_bXIoKSksW2YscF09KDAsbC51c2VTdGF0ZSkoITEpLFttLGhdPSgwLGwudXNlU3RhdGUpKCExKSxnPSgwLGwudXNlUmVmKSghMCksXz0oMCxsLnVzZVJlZikoMCksdj0oMCxsLnVzZVJlZikoITEpLHk9KDAsbC51c2VDYWxsYmFjaykoZT0-e2cuY3VycmVudCYmdSh0PT4oey4uLnQsLi4udHlwZW9mIGU9PWBmdW5jdGlvbmA_ZSh0KTplfSkpfSxbXSksYj0oMCxsLnVzZUNhbGxiYWNrKShhc3luYygpPT57aWYoIXYuY3VycmVudCl7di5jdXJyZW50PSEwLF8uY3VycmVudD1EYXRlLm5vdygpO3RyeXtsZXQgZT1lPT5hLmN1cnJlbnQuZ2V0KGUpLFt0LG4scixpXT1hd2FpdCBQcm9taXNlLmFsbChbZShGbCksZSh3bCksZShJbCksby5jdXJyZW50Lmxpc3QoKS5jYXRjaCgoKT0-KHtraW5kOmBvZmZsaW5lYH0pKV0pO3koZT0-e2xldCBhPXQua2luZD09PWBva2A_SGwodC5kYXRhKTp2b2lkIDAsbz1uLmtpbmQ9PT1gb2tgP1VsKG4uZGF0YSk6dm9pZCAwLHM9ci5raW5kPT09YG9rYD9XbChyLmRhdGEpOnZvaWQgMDtyZXR1cm57ZXZlbnRzOmE9PT12b2lkIDA_ey4uLmUuZXZlbnRzLGRvbmU6ITB9Ontkb25lOiEwLHZhbHVlOmF9LGNyZWRpdHM6bz09PXZvaWQgMD97Li4uZS5jcmVkaXRzLGRvbmU6ITB9Ontkb25lOiEwLHZhbHVlOm99LGNvbnRhY3RzOnM9PT12b2lkIDA_ey4uLmUuY29udGFjdHMsZG9uZTohMH06e2RvbmU6ITAsdmFsdWU6c30sd2FpdGluZzppLmtpbmQ9PT1gb2tgP3tkb25lOiEwLHZhbHVlOktsKGkuaXRlbXMpfTp7Li4uZS53YWl0aW5nLGRvbmU6ITB9fX0pfWNhdGNoe3koZT0-KHtldmVudHM6ey4uLmUuZXZlbnRzLGRvbmU6ITB9LGNyZWRpdHM6ey4uLmUuY3JlZGl0cyxkb25lOiEwfSxjb250YWN0czp7Li4uZS5jb250YWN0cyxkb25lOiEwfSx3YWl0aW5nOnsuLi5lLndhaXRpbmcsZG9uZTohMH19KSl9ZmluYWxseXt2LmN1cnJlbnQ9ITF9fX0sW3ldKTsoMCxsLnVzZUVmZmVjdCkoKCk9PntnLmN1cnJlbnQ9ITAsYigpO2xldCBlPU1pKCgpPT5hLmN1cnJlbnQuZ2V0KHBpKSx7b25SZXN1bHQ6ZT0-e2lmKCFnLmN1cnJlbnQpcmV0dXJuO2xldCB0PXpsKGUpO3Q9PT12b2lkIDA_ZS5raW5kPT09YG9mZmxpbmVgP3koe2hlYWx0aDp7ZG9uZTohMH0sb2ZmbGluZTohMCxlcnJvcjohMX0pOnkoZT0-KHtoZWFsdGg6ey4uLmUuaGVhbHRoLGRvbmU6ITB9LG9mZmxpbmU6ITEsZXJyb3I6ITB9KSk6KHkoe2hlYWx0aDp7ZG9uZTohMCx2YWx1ZTp0fSxvZmZsaW5lOiExLGVycm9yOiExLGFzT2Y6cy5jdXJyZW50KCl9KSxEYXRlLm5vdygpLV8uY3VycmVudD49WmwmJmIoKSl9fSk7cmV0dXJuKCk9PntnLmN1cnJlbnQ9ITEsZSgpfX0sW2IseV0pLCgwLGwudXNlRWZmZWN0KSgoKT0-e2xldCBlPSEwOyhuPy5wYXNza2V5Pz9IaSkoKS50aGVuKHQ9PmUmJnAodCksKCk9PmUmJnAoITEpKTt0cnl7aCgobj8ucmVjb3ZlcnlLaXQ_P29pKSgpKX1jYXRjaHtoKCExKX1yZXR1cm4oKT0-e2U9ITF9fSxbbl0pO2xldCB4PWkoKSxTPWMuaGVhbHRoLnZhbHVlLFQ9Uz8uYWdlbnQ_P2Bub3RfcnVubmluZ2AsRT1jLm9mZmxpbmUmJmMuYXNPZiE9PW51bGw_cnUoYy5hc09mKTp2b2lkIDAsRD1UPT09YG5vdF9ydW5uaW5nYCYmYy5oZWFsdGguZG9uZSxlZT1wdShmLG0sYy5jb250YWN0cy52YWx1ZSxkKSxPPWMud2FpdGluZy52YWx1ZSx0ZT1PPy5zb29uZXN0Pz9udWxsLG5lPSgwLGwudXNlTWVtbykoKCk9PmMub2ZmbGluZT97ZG90OmBub3QtcnVubmluZ2Asd29yZDpXLm5ldHdvcmtPZmZsaW5lfTpTPT09dm9pZCAwfHxUPT09YG5vdF9ydW5uaW5nYHx8VD09PWBuZWVkc19zZXR1cGA_e2RvdDpgbm90LXJ1bm5pbmdgLHdvcmQ6Vy5uZXR3b3JrTm90Q29ubmVjdGVkfTpTLnJlbGF5cyE9PW51bGwmJlMucmVsYXlzLnRvdGFsPjAmJlMucmVsYXlzLmNvbm5lY3RlZD09PTA_e2RvdDpgcmVjb25uZWN0aW5nYCx3b3JkOlcubmV0d29ya1JlY29ubmVjdGluZ306e2RvdDpgY29ubmVjdGVkYCx3b3JkOlcubmV0d29ya0Nvbm5lY3RlZH0sW2Mub2ZmbGluZSxTLFRdKSxyZT1jLmNyZWRpdHMudmFsdWU7cmV0dXJuKDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3hzKShgaGVhZGVyYCx7Y2xhc3NOYW1lOmBobS1oZWFkYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGB0aW1lYCx7Y2xhc3NOYW1lOmBobS1kYXRlIGFsLXRleHQtY29kZWAsZGF0ZVRpbWU6eC50b0lTT1N0cmluZygpLGNoaWxkcmVuOm51LmZvcm1hdCh4KX0pLCgwLEMuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46Vy50aXRsZX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgaG0tZ3JlZXRpbmcgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpHKHgpfSldfSksZWU9PT1udWxsP251bGw6KDAsQy5qc3gpKG11LHtzdGVwOmVlfSksYy5vZmZsaW5lPygwLEMuanN4cykoYHBgLHtjbGFzc05hbWU6YGhtLW5vdGUgYWwtdGV4dC1ib2R5LXNtYCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTpgd2lmaS1vZmZgLHNpemU6MTZ9KSxXLm9mZmxpbmVMaW5lXX0pOmMuZXJyb3I_KDAsQy5qc3hzKShgcGAse2NsYXNzTmFtZTpgaG0tbm90ZSBhbC10ZXh0LWJvZHktc21gLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46WygwLEMuanN4KSh3LHtuYW1lOmByZWZyZXNoLWN3YCxzaXplOjE2fSksVy5lcnJvckxpbmVdfSk6bnVsbCwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGhtLXRpbGVzYCwiZGF0YS10aWxlcyI6ITAsImRhdGEtcXVpZXQiOkQ_YHRydWVgOnZvaWQgMCxyb2xlOmBncm91cGAsImFyaWEtbGFiZWwiOlcudGlsZXNMYWJlbCxjaGlsZHJlbjpbKDAsQy5qc3hzKShsdSx7aWQ6YGFnZW50YCx0aXRsZTpXLmFnZW50VGl0bGUsaHJlZjpgL3NldHRpbmdzL2FkdmFuY2VkYCxsb2FkaW5nOiFjLmhlYWx0aC5kb25lLHN0YWxlOkUsY2hpbGRyZW46WygwLEMuanN4KSh2dCx7c3RhdGU6b3VbVF0sbGFiZWw6c3VbVF0sY2xhc3NOYW1lOmBobS1kb3RgfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOmN1W1RdfSldfSksKDAsQy5qc3gpKGx1LHtpZDpgbmV0d29ya2AsdGl0bGU6Vy5uZXR3b3JrVGl0bGUsaHJlZjpgL3NldHRpbmdzL2FkdmFuY2VkYCxsb2FkaW5nOiFjLmhlYWx0aC5kb25lLHN0YWxlOkUsY2hpbGRyZW46KDAsQy5qc3gpKHZ0LHtzdGF0ZTpuZS5kb3QsbGFiZWw6bmUud29yZCxjbGFzc05hbWU6YGhtLWRvdGB9KX0pLCgwLEMuanN4KShsdSx7aWQ6YHdhaXRpbmdgLHRpdGxlOlcud2FpdGluZ1RpdGxlLGhyZWY6YC9gLGxvYWRpbmc6IU8mJiFjLndhaXRpbmcuZG9uZSxhdHRlbnRpb246KE8_LmNvdW50Pz8wKT4wLHN0YWxlOkUsY2hpbGRyZW46Tz09PXZvaWQgMHx8Ty5jb3VudD09PTA_KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlcud2FpdGluZ05vbmV9KTooMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGhtLWNvdW50IGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46KDAsQy5qc3gpKFN0LHtjb3VudDpPLmNvdW50LGxhYmVsOllsKE8uY291bnQpfSl9KSx0ZT09PW51bGw_bnVsbDooMCxDLmpzeHMpKGBwYCx7Y2xhc3NOYW1lOmBobS1zb29uZXN0IGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46W3RlLnN1bW1hcnksYCDCtyBgLHFsKGZ1KHRlLmV4cGlyZXNBdCx4KSldfSksKDAsQy5qc3gpKGBhYCx7Y2xhc3NOYW1lOmBhbC1idG4gYWwtYnRuLXByaW1hcnkgYWwtYnRuLXNtIGhtLXJldmlld2AsaHJlZjpgL2AsY2hpbGRyZW46Vy5yZXZpZXd9KV19KX0pLCgwLEMuanN4KShsdSx7aWQ6YGNyZWRpdHNgLHRpdGxlOlcuY3JlZGl0c1RpdGxlLGhyZWY6YC9zZXR0aW5ncy9wcm9vZnNgLGxvYWRpbmc6IWMuY3JlZGl0cy5kb25lLHN0YWxlOkUsY2hpbGRyZW46cmU9PT12b2lkIDB8fHJlPT09YHVuYXZhaWxhYmxlYD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46Vy5jcmVkaXRzVW5hdmFpbGFibGV9KTpyZS5wcm9vZnNMZWZ0PT09MD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46Vy5jcmVkaXRzTm9uZX0pOigwLEMuanN4KShRdCx7bGFiZWw6Vy5jcmVkaXRzTWV0ZXIsdmFsdWU6cmUucHJvb2ZzTGVmdCxtYXg6TWF0aC5tYXgoUWwscmUucHJvb2ZzTGVmdCksdGV4dDpKbChyZS5iYWxhbmNlLHJlLnByb29mc0xlZnQpfSl9KSwoMCxDLmpzeCkobHUse2lkOmBhY3Rpdml0eWAsdGl0bGU6Vy5hY3Rpdml0eVRpdGxlLGhyZWY6YC9zZXR0aW5ncy9hY3Rpdml0eWAsbG9hZGluZzohYy5ldmVudHMuZG9uZSxzdGFsZTpFLGNoaWxkcmVuOmMuZXZlbnRzLnZhbHVlPT09dm9pZCAwfHxjLmV2ZW50cy52YWx1ZS5sZW5ndGg9PT0wPygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpXLmFjdGl2aXR5Tm9uZX0pOigwLEMuanN4KShkdSx7cm93czpjLmV2ZW50cy52YWx1ZX0pfSldfSksKDAsQy5qc3gpKGh1LHtoZWFsdGg6U30pXX0pfXZhciBLPXt0aXRsZTpgTWVzc2FnZXNgLGxpc3RMYWJlbDpgQ29udGFjdHMgd2l0aCBtZXNzYWdlc2AsbmV3TWVzc2FnZXM6YE5ld2AsbG9hZGluZzpgTG9hZGluZyBtZXNzYWdlc-KApmAscmVmcmVzaDpgUmVmcmVzaGAsYmFjazpgQWxsIGNvbnRhY3RzYCxib3hMYWJlbDpgTWVzc2FnZXMgc2hvd25gLGluYm94OmBJbmJveGAsc2VudDpgU2VudGAscmVwbHk6YFRvIHJlcGx5LCBhc2sgeW91ciBBSS5gLG5vQ29udGFjdHM6YE1lc3NhZ2VzIGFwcGVhciBoZXJlIG9uY2UgeW91IGhhdmUgYSBjb250YWN0LmAsbm90aGluZ1lldDplPT5gTm90aGluZyB5ZXQuIFdoZW4geW91ciBBSSBhbmQgJHtlfSdzIGFnZW50IGV4Y2hhbmdlIG1lc3NhZ2VzLCB0aGV5IHNob3cgaGVyZS5gLGFzT2Y6ZT0-YGFzIG9mICR7ZX1gLHNob3dBbGw6YFNob3cgYWxsYCxzaG93TGVzczpgU2hvdyBsZXNzYCxjb3B5OmBDb3B5IHRleHRgLGNvcGllZDpgQ29waWVkLmAsY29weUZhaWxlZDpgQ291bGRuJ3QgY29weS4gU2VsZWN0IHRoZSB0ZXh0IGFuZCBjb3B5IGl0IHlvdXJzZWxmLmAsc2hvd01vcmU6YFNob3cgbW9yZWAsbG9hZGluZ01vcmU6YExvYWRpbmfigKZgLHlvdXJBaTpgeW91ciBBSWAsc3RhdHVzU2VudDpgU2VudGAsc3RhdHVzUXVldWVkOmBXYWl0aW5nIHRvIHNlbmRgLHN0YXR1c05vdERlbGl2ZXJlZDpgTm90IGRlbGl2ZXJlZGAscmVjZWlwdFllczpgRGVsaXZlcnkgcmVjZWlwdCByZWNlaXZlZGAscHJvb2ZDaGlwOmBQcm9vZiByZWNvcmRlZGAsdW5kZXJUaGVIb29kOmBVbmRlciB0aGUgaG9vZGAsaWRMYWJlbDpgTWVzc2FnZSBJRGAsc2l6ZUxhYmVsOmBTaXplYCxwcm9vZkxhYmVsOmBQcm9vZmAscHJvb2ZZZXM6YFJlY29yZGVkYCxwcm9vZk5vOmBOb25lYCxyZWNlaXB0TGFiZWw6YFJlY2VpcHRgLHJlY2VpcHRObzpgTm90IHlldGAsdHJ5QWdhaW46YFRyeSBhZ2FpbmAsZXJyb3JUaXRsZTpgTWVzc2FnZXMgZGlkbid0IGxvYWQuYCxlcnJvckJvZHk6YE5vdGhpbmcgY2hhbmdlZC4gVHJ5IGFnYWluIGluIGEgbW9tZW50LmAsb2ZmbGluZVRpdGxlOmBDYW4ndCByZWFjaCBBZ2VudExpbmsgb24gdGhpcyBjb21wdXRlci5gLG9mZmxpbmVCb2R5OmBDaGVjayB0aGF0IHlvdXIgQUkgYXBwIGlzIHN0aWxsIG9wZW4sIHRoZW4gdHJ5IGFnYWluLmAsc2Vzc2lvblRpdGxlOmBUaGlzIHBhZ2UgaGFzIGVuZGVkLmAsc2Vzc2lvbkJvZHk6YEFzayB5b3VyIEFJIHRvIG9wZW4gQWdlbnRMaW5rIGFnYWluLmAsbm90U2V0VXBUaXRsZTpgQWdlbnRMaW5rIGlzbid0IHNldCB1cCBvbiB0aGlzIGNvbXB1dGVyIHlldC5gLG5vdFNldFVwUHJvbXB0OmBzZXQgdXAgQWdlbnRMaW5rYH0sX3U9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodm9pZCAwLHtkYXk6YG51bWVyaWNgLG1vbnRoOmBzaG9ydGAsaG91cjpgMi1kaWdpdGAsbWludXRlOmAyLWRpZ2l0YH0pLHZ1PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHZvaWQgMCx7aG91cjpgMi1kaWdpdGAsbWludXRlOmAyLWRpZ2l0YH0pLHl1PTQwMCxidT02LHh1PWU9PmUubGVuZ3RoPnl1fHxlLnNwbGl0KGAKYCkubGVuZ3RoPmJ1O2Z1bmN0aW9uIFN1KGUpe3JldHVybiBlPDEwMjQ_YCR7U3RyaW5nKGUpfSBCYDplPDEwNDg1NzY_YCR7KGUvMTAyNCkudG9GaXhlZCgxKS5yZXBsYWNlKC9cLjAkLyxgYCl9IEtCYDpgJHsoZS8xMDQ4NTc2KS50b0ZpeGVkKDEpLnJlcGxhY2UoL1wuMCQvLGBgKX0gTUJgfXZhciBDdT17c2VudDooMCxDLmpzeCkoY2Use3N0YXR1czpgc2VudGAsY2hpbGRyZW46Sy5zdGF0dXNTZW50fSkscXVldWVkOigwLEMuanN4KShjZSx7c3RhdHVzOmB3YWl0aW5nLXRvLXBvc3RgLGNoaWxkcmVuOksuc3RhdHVzUXVldWVkfSksbm90X2RlbGl2ZXJlZDooMCxDLmpzeCkoY2Use3N0YXR1czpgZmFpbGVkYCxjaGlsZHJlbjpLLnN0YXR1c05vdERlbGl2ZXJlZH0pfTtmdW5jdGlvbiB3dSh7cHJvYmxlbTplLG9uUmV0cnk6dCxhc09mOm59KXtsZXQgcj0oMCxDLmpzeCkoTyx7c2l6ZTpgc21gLG9uQ2xpY2s6dCxjaGlsZHJlbjpLLnRyeUFnYWlufSk7c3dpdGNoKGUpe2Nhc2Vgbm90X3NldF91cGA6cmV0dXJuKDAsQy5qc3gpKEEse2ljb246YHNldHRpbmdzYCx0aXRsZTpLLm5vdFNldFVwVGl0bGUscHJvbXB0Oksubm90U2V0VXBQcm9tcHR9KTtjYXNlYHNlc3Npb25gOnJldHVybigwLEMuanN4KShrLHt0b25lOmBpbmZvYCx0aXRsZTpLLnNlc3Npb25UaXRsZSxjaGlsZHJlbjpLLnNlc3Npb25Cb2R5fSk7Y2FzZWBvZmZsaW5lYDpyZXR1cm4oMCxDLmpzeHMpKGsse3RvbmU6YG9mZmxpbmVgLHRpdGxlOksub2ZmbGluZVRpdGxlLGFjdGlvbjpyLGNoaWxkcmVuOltLLm9mZmxpbmVCb2R5LG49PT12b2lkIDA_YGA6YCAke0suYXNPZihuKX1gXX0pO2Nhc2VgZXJyb3JgOnJldHVybigwLEMuanN4cykoayx7dG9uZTpgd2FybmluZ2AsdGl0bGU6Sy5lcnJvclRpdGxlLGFjdGlvbjpyLGNoaWxkcmVuOltLLmVycm9yQm9keSxuPT09dm9pZCAwP2BgOmAgJHtLLmFzT2Yobil9YF19KX19ZnVuY3Rpb24gVHUoZSl7cmV0dXJuW3traW5kOmBpZGAsbGFiZWw6Sy5pZExhYmVsLHZhbHVlOmUuaWR9LHtraW5kOmBzaXplYCxsYWJlbDpLLnNpemVMYWJlbCx2YWx1ZTpTdShlLnNpemUpfSx7a2luZDpgdGV4dGAsbGFiZWw6Sy5wcm9vZkxhYmVsLHZhbHVlOmUucHJvb2Y_Sy5wcm9vZlllczpLLnByb29mTm99LC4uLmUuc3RhdHVzPT09dm9pZCAwP1tdOlt7a2luZDpgdGV4dGAsbGFiZWw6Sy5yZWNlaXB0TGFiZWwsdmFsdWU6ZS5yZWNlaXB0P0sucmVjZWlwdFllczpLLnJlY2VpcHROb31dXX1mdW5jdGlvbiBFdSh7aXRlbTplLHdobzp0LG9uQ29weTpufSl7bGV0W3IsaV09KDAsbC51c2VTdGF0ZSkoITEpLGE9eHUoZS50ZXh0KSxvPW5ldyBEYXRlKGUuYXQqMWUzKTtyZXR1cm4oMCxDLmpzeHMpKHNuLHthczpgbGlgLGxldmVsOjEsY2xhc3NOYW1lOmBtcy1pdGVtYCxjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBtcy1tZXRhIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46WygwLEMuanN4KShgdGltZWAse2RhdGVUaW1lOm8udG9JU09TdHJpbmcoKSxjaGlsZHJlbjpfdS5mb3JtYXQobyl9KSxlLnN0YXR1cz09PXZvaWQgMD9udWxsOkN1W2Uuc3RhdHVzXSxlLnN0YXR1cyE9PXZvaWQgMCYmZS5yZWNlaXB0PygwLEMuanN4KShjZSx7c3RhdHVzOmBkZWxpdmVyZWRgLGNoaWxkcmVuOksucmVjZWlwdFllc30pOm51bGwsZS5wcm9vZj8oMCxDLmpzeCkodG4se3N0YXRlOmByZWNvcmRlZGB9KTpudWxsXX0pLGUudGV4dD09PWBgP251bGw6KDAsQy5qc3gpKGose2Zyb206dCxraW5kOmBtZXNzYWdlYCwuLi5hJiYhcj97Y2xhc3NOYW1lOmBtcy1jbGFtcGVkYH06e30sY2hpbGRyZW46ZS50ZXh0fSksZS5maWxlcy5tYXAoKGUsbik9PigwLEMuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxDLmpzeCkoaix7ZnJvbTp0LGZpbGVOYW1lOmUubmFtZX0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpTdShlLnNpemUpfSldfSxuKSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBtcy1hY3Rpb25zYCxjaGlsZHJlbjpbYT8oMCxDLmpzeCkoTyx7c2l6ZTpgc21gLCJhcmlhLWV4cGFuZGVkIjpyLG9uQ2xpY2s6KCk9PmkoIXIpLGNoaWxkcmVuOnI_Sy5zaG93TGVzczpLLnNob3dBbGx9KTpudWxsLGUudGV4dD09PWBgP251bGw6KDAsQy5qc3gpKE8se3NpemU6YHNtYCxvbkNsaWNrOigpPT5uKGUudGV4dCksY2hpbGRyZW46Sy5jb3B5fSldfSksKDAsQy5qc3gpKFplLHtmaWVsZHM6VHUoZSl9KV19KX1mdW5jdGlvbiBEdSh7Y29udGFjdDplLG1lc3NhZ2VzOnQsb25CYWNrOm4sb25PcGVuZWQ6cn0pe2xldFtpLGFdPSgwLGwudXNlU3RhdGUpKGBpbmApLFtvLHNdPSgwLGwudXNlU3RhdGUpKHtzdGF0ZTpgbG9hZGluZ2B9KSxbYyx1XT0oMCxsLnVzZVN0YXRlKShgYCksZD0oMCxsLnVzZVJlZikobnVsbCksZj0oMCxsLnVzZVJlZikoMCkscD0oMCxsLnVzZUNhbGxiYWNrKShhc3luYygpPT57bGV0IG49KytmLmN1cnJlbnQ7cyh7c3RhdGU6YGxvYWRpbmdgfSk7bGV0IHI9YXdhaXQgdC5tZXNzYWdlcyhlLmNvbnRhY3RJZCxpKTtuPT09Zi5jdXJyZW50JiZzKHIub2s_e3N0YXRlOmByZWFkeWAsLi4uT3Uoci52YWx1ZSksbW9yZTpgaWRsZWB9OntzdGF0ZTpgZmFpbGVkYCxwcm9ibGVtOnIucHJvYmxlbX0pfSxbdCxlLmNvbnRhY3RJZCxpXSk7KDAsbC51c2VFZmZlY3QpKCgpPT4ocCgpLCgpPT57Zi5jdXJyZW50Kyt9KSxbcF0pLCgwLGwudXNlRWZmZWN0KSgoKT0-e2QuY3VycmVudD8uZm9jdXMoKX0sW2UuY29udGFjdElkXSk7bGV0e2NvbnRhY3RJZDptLGxhc3RJbkF0Omh9PWU7KDAsbC51c2VFZmZlY3QpKCgpPT57cihtLGgpfSxbbSxoLHJdKTtsZXQgZz1hc3luYyBuPT57aWYobi5uZXh0PT09dm9pZCAwKXJldHVybjtsZXQgcj0rK2YuY3VycmVudDtzKHsuLi5uLG1vcmU6YGxvYWRpbmdgfSk7bGV0IGE9YXdhaXQgdC5tZXNzYWdlcyhlLmNvbnRhY3RJZCxpLG4ubmV4dCk7cj09PWYuY3VycmVudCYmcyhhLm9rP3tzdGF0ZTpgcmVhZHlgLGl0ZW1zOlsuLi5uLml0ZW1zLC4uLmEudmFsdWUuaXRlbXNdLC4uLmEudmFsdWUubmV4dD09PXZvaWQgMD97fTp7bmV4dDphLnZhbHVlLm5leHR9LG1vcmU6YGlkbGVgfTp7Li4ubixtb3JlOmEucHJvYmxlbX0pfSxfPWU9PntsZXQgdD1lPT51KGUpO3RyeXtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChlKS50aGVuKCgpPT50KEsuY29waWVkKSwoKT0-dChLLmNvcHlGYWlsZWQpKX1jYXRjaHt0KEsuY29weUZhaWxlZCl9fSx2PWk9PT1gaW5gP2UubmFtZTpLLnlvdXJBaTtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBtcy1kZXRhaWxgLCJhcmlhLWxhYmVsbGVkYnkiOmBtcy1kZXRhaWwtdGl0bGVgLGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YG1zLWRldGFpbC1oZWFkYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBoMmAse2lkOmBtcy1kZXRhaWwtdGl0bGVgLHJlZjpkLHRhYkluZGV4Oi0xLGNsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0yYCxjaGlsZHJlbjplLm5hbWV9KSwoMCxDLmpzeCkoTyx7c2l6ZTpgc21gLGNsYXNzTmFtZTpgbXMtYmFja2Asb25DbGljazpuLGNoaWxkcmVuOksuYmFja30pXX0pLCgwLEMuanN4KShyZSx7bGFiZWw6Sy5ib3hMYWJlbCx2YWx1ZTppLG9uQ2hhbmdlOmU9PmEoZT09PWBvdXRgP2BvdXRgOmBpbmApLG9wdGlvbnM6W3t2YWx1ZTpgaW5gLGxhYmVsOksuaW5ib3h9LHt2YWx1ZTpgb3V0YCxsYWJlbDpLLnNlbnR9XX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOmN9KSxvLnN0YXRlPT09YGxvYWRpbmdgPygwLEMuanN4KSgkdCx7bG9hZGluZzohMCxsYWJlbDpLLmxvYWRpbmcsbGluZXM6M30pOm8uc3RhdGU9PT1gZmFpbGVkYD8oMCxDLmpzeCkod3Use3Byb2JsZW06by5wcm9ibGVtLG9uUmV0cnk6KCk9PnZvaWQgcCgpfSk6by5pdGVtcy5sZW5ndGg9PT0wJiZvLm5leHQ9PT12b2lkIDA_KDAsQy5qc3gpKEEse2ljb246YGluYm94YCx0aXRsZTpLLm5vdGhpbmdZZXQoZS5uYW1lKX0pOigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShgdWxgLHtjbGFzc05hbWU6YG1zLWl0ZW1zYCwiYXJpYS1sYWJlbCI6aT09PWBpbmA_Sy5pbmJveDpLLnNlbnQsY2hpbGRyZW46by5pdGVtcy5tYXAoZT0-KDAsQy5qc3gpKEV1LHtpdGVtOmUsd2hvOnYsb25Db3B5Ol99LGUuaWQpKX0pLG8ubW9yZSE9PWBpZGxlYCYmby5tb3JlIT09YGxvYWRpbmdgPygwLEMuanN4KSh3dSx7cHJvYmxlbTpvLm1vcmUsb25SZXRyeTooKT0-dm9pZCBnKG8pfSk6bnVsbCxvLm5leHQ9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgbXMtbW9yZWAsY2hpbGRyZW46KDAsQy5qc3gpKE8se29uQ2xpY2s6KCk9PnZvaWQgZyhvKSxkaXNhYmxlZDpvLm1vcmU9PT1gbG9hZGluZ2AsImFyaWEtYnVzeSI6by5tb3JlPT09YGxvYWRpbmdgLGNoaWxkcmVuOm8ubW9yZT09PWBsb2FkaW5nYD9LLmxvYWRpbmdNb3JlOksuc2hvd01vcmV9KX0pXX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgbXMtZm9vdGVyIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46Sy5yZXBseX0pXX0pfWZ1bmN0aW9uIE91KGUpe3JldHVybiBlLm5leHQ9PT12b2lkIDA_e2l0ZW1zOmUuaXRlbXN9OntpdGVtczplLml0ZW1zLG5leHQ6ZS5uZXh0fX1mdW5jdGlvbiBrdSh7YzplLGlzTmV3OnQsZnJlc2g6bixzZWxlY3RlZDpyLG9uT3BlbjppfSl7bGV0IGE9Q3QoITAse2lzTmV3Om59KSxvPWUubGFzdEF0PjA_bmV3IERhdGUoZS5sYXN0QXQqMWUzKTp2b2lkIDA7cmV0dXJuKDAsQy5qc3hzKShgbGlgLHtyZWY6YS5yZWYsY2xhc3NOYW1lOmBtcy1yb3ctaXRlbWAsY2hpbGRyZW46W2EuaGlnaGxpZ2h0LCgwLEMuanN4cykoYGJ1dHRvbmAse3R5cGU6YGJ1dHRvbmAsY2xhc3NOYW1lOmBtcy1yb3dgLCJkYXRhLWNvbnRhY3QiOmUuY29udGFjdElkLCJhcmlhLWN1cnJlbnQiOnI_YHRydWVgOnZvaWQgMCxvbkNsaWNrOmksY2hpbGRyZW46WygwLEMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YG1zLXJvdy1tYWluYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOnQ_YGFsLXRleHQtYm9keSBtcy1uZXdgOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmUubmFtZX0pLCgwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpvPT09dm9pZCAwP2BgOl91LmZvcm1hdChvKX0pXX0pLHQ_KDAsQy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jaGlwIGFsLXRvbmUtaW5mbyBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjpLLm5ld01lc3NhZ2VzfSk6bnVsbF19KV19KX1mdW5jdGlvbiBBdSh7YXBpOmV9KXtsZXQgdD0oMCxsLnVzZVJlZikob3IoZT8_R24oKSkpLFtuLHJdPSgwLGwudXNlU3RhdGUpKHtzdGF0ZTpgbG9hZGluZ2B9KSxbaSxhXT0oMCxsLnVzZVN0YXRlKSh2b2lkIDApLFtvLHNdPSgwLGwudXNlU3RhdGUpKCgpPT5scigpKSxjPSgwLGwudXNlUmVmKSghMCksdT0oMCxsLnVzZVJlZikobnVsbCksZD0oMCxsLnVzZVJlZikodm9pZCAwKSxmPSgwLGwudXNlUmVmKSh2b2lkIDApLFtwLG1dPSgwLGwudXNlU3RhdGUpKG5ldyBTZXQpLGg9KDAsbC51c2VDYWxsYmFjaykoYXN5bmMoKT0-e2xldCBlPWF3YWl0IHQuY3VycmVudC5jb252ZXJzYXRpb25zKCk7aWYoYy5jdXJyZW50KXtpZihlLm9rKXtsZXQgdD1mLmN1cnJlbnQ7Zi5jdXJyZW50PW5ldyBTZXQoZS52YWx1ZS5tYXAoZT0-ZS5jb250YWN0SWQpKSx0IT09dm9pZCAwJiZtKG5ldyBTZXQoZS52YWx1ZS5tYXAoZT0-ZS5jb250YWN0SWQpLmZpbHRlcihlPT4hdC5oYXMoZSkpKSl9cih0PT5lLm9rP3tzdGF0ZTpgcmVhZHlgLGxpc3Q6ZS52YWx1ZSxhdDpuZXcgRGF0ZX06dC5zdGF0ZT09PWByZWFkeWA_ey4uLnQsc3RhbGU6ZS5wcm9ibGVtfTp7c3RhdGU6YGZhaWxlZGAscHJvYmxlbTplLnByb2JsZW19KX19LFtdKTsoMCxsLnVzZUVmZmVjdCkoKCk9PihjLmN1cnJlbnQ9ITAsaCgpLCgpPT57Yy5jdXJyZW50PSExfSksW2hdKTtsZXQgZz0oMCxsLnVzZUNhbGxiYWNrKSgoZSx0KT0-e3ModXIoZSx0KSl9LFtdKTsoMCxsLnVzZUVmZmVjdCkoKCk9PntpZihpIT09dm9pZCAwfHxkLmN1cnJlbnQ9PT12b2lkIDApcmV0dXJuO2xldCBlPXUuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbChgYnV0dG9uW2RhdGEtY29udGFjdF1gKT8_W107Zm9yKGxldCB0IG9mIGUpdC5kYXRhc2V0LmNvbnRhY3Q9PT1kLmN1cnJlbnQmJnQuZm9jdXMoKX0sW2ldKTtsZXQgXz1uLnN0YXRlPT09YHJlYWR5YD9uLmxpc3QuZmluZChlPT5lLmNvbnRhY3RJZD09PWkpOnZvaWQgMDtyZXR1cm4oMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgbXMtaGVhZGAsY2hpbGRyZW46KDAsQy5qc3gpKGBoMWAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0xYCxjaGlsZHJlbjpLLnRpdGxlfSl9KSxuLnN0YXRlPT09YGxvYWRpbmdgPygwLEMuanN4KSgkdCx7bG9hZGluZzohMCxsYWJlbDpLLmxvYWRpbmcsbGluZXM6M30pOm4uc3RhdGU9PT1gZmFpbGVkYD8oMCxDLmpzeCkod3Use3Byb2JsZW06bi5wcm9ibGVtLG9uUmV0cnk6KCk9PnZvaWQgaCgpfSk6bi5saXN0Lmxlbmd0aD09PTA_KDAsQy5qc3gpKEEse2ljb246YGluYm94YCx0aXRsZTpLLm5vQ29udGFjdHN9KTooMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YG1zLWxheW91dCR7Xz09PXZvaWQgMD9gYDpgIGhhcy1zZWxlY3Rpb25gfWAsY2hpbGRyZW46WygwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgbXMtbGlzdC13cmFwYCxjaGlsZHJlbjpbbi5zdGFsZT09PXZvaWQgMD9udWxsOigwLEMuanN4KSh3dSx7cHJvYmxlbTpuLnN0YWxlLG9uUmV0cnk6KCk9PnZvaWQgaCgpLGFzT2Y6dnUuZm9ybWF0KG4uYXQpfSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBtcy1saXN0LWJhcmAsY2hpbGRyZW46WygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpkcihuLmxpc3Qsbyk-MD9LLm5ld01lc3NhZ2VzOmBgfSksKDAsQy5qc3gpKE8se3NpemU6YHNtYCxvbkNsaWNrOigpPT52b2lkIGgoKSxjaGlsZHJlbjpLLnJlZnJlc2h9KV19KSwoMCxDLmpzeCkoc24se2xldmVsOjEsY2xhc3NOYW1lOmBtcy1saXN0LXN1cmZhY2VgLGNoaWxkcmVuOigwLEMuanN4KShgdWxgLHtjbGFzc05hbWU6YG1zLWxpc3RgLCJhcmlhLWxhYmVsIjpLLmxpc3RMYWJlbCxyZWY6dSxjaGlsZHJlbjpuLmxpc3QubWFwKGU9PigwLEMuanN4KShrdSx7YzplLGlzTmV3OmUubGFzdEluQXQ-KG9bZS5jb250YWN0SWRdPz8wKSxmcmVzaDpwLmhhcyhlLmNvbnRhY3RJZCksc2VsZWN0ZWQ6ZS5jb250YWN0SWQ9PT1pLG9uT3BlbjooKT0-e2QuY3VycmVudD1lLmNvbnRhY3RJZCxhKGUuY29udGFjdElkKX19LGUuY29udGFjdElkKSl9KX0pXX0pLF89PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoRHUse2NvbnRhY3Q6XyxtZXNzYWdlczp0LmN1cnJlbnQsb25CYWNrOigpPT5hKHZvaWQgMCksb25PcGVuZWQ6Z30sXy5jb250YWN0SWQpXX0pXX0pfXZhciBqdT1mdW5jdGlvbihlLHQpe2xldCBuPWUscj1OdVt0XSxpPW51bGwsYT0wLG89bnVsbCxzPVtdLGM9e30sbD1mdW5jdGlvbihlLHQpe2E9bio0KzE3LGk9ZnVuY3Rpb24oZSl7bGV0IHQ9QXJyYXkoZSk7Zm9yKGxldCBuPTA7bjxlO24rPTEpe3Rbbl09QXJyYXkoZSk7Zm9yKGxldCByPTA7cjxlO3IrPTEpdFtuXVtyXT1udWxsfXJldHVybiB0fShhKSx1KDAsMCksdShhLTcsMCksdSgwLGEtNykscCgpLGYoKSxoKGUsdCksbj49NyYmbShlKSxvPz89dihuLHIscyksZyhvLHQpfSx1PWZ1bmN0aW9uKGUsdCl7Zm9yKGxldCBuPS0xO248PTc7bis9MSlpZighKGUrbjw9LTF8fGE8PWUrbikpZm9yKGxldCByPS0xO3I8PTc7cis9MSl0K3I8PS0xfHxhPD10K3J8fCgwPD1uJiZuPD02JiYocj09MHx8cj09Nil8fDA8PXImJnI8PTYmJihuPT0wfHxuPT02KXx8Mjw9biYmbjw9NCYmMjw9ciYmcjw9ND9pW2Urbl1bdCtyXT0hMDppW2Urbl1bdCtyXT0hMSl9LGQ9ZnVuY3Rpb24oKXtsZXQgZT0wLHQ9MDtmb3IobGV0IG49MDtuPDg7bis9MSl7bCghMCxuKTtsZXQgcj1GdS5nZXRMb3N0UG9pbnQoYyk7KG49PTB8fGU-cikmJihlPXIsdD1uKX1yZXR1cm4gdH0sZj1mdW5jdGlvbigpe2ZvcihsZXQgZT04O2U8YS04O2UrPTEpaVtlXVs2XT8_KGlbZV1bNl09ZSUyPT0wKTtmb3IobGV0IGU9ODtlPGEtODtlKz0xKWlbNl1bZV0_PyhpWzZdW2VdPWUlMj09MCl9LHA9ZnVuY3Rpb24oKXtsZXQgZT1GdS5nZXRQYXR0ZXJuUG9zaXRpb24obik7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0xKWZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9MSl7bGV0IHI9ZVt0XSxhPWVbbl07aWYoaVtyXVthXT09bnVsbClmb3IobGV0IGU9LTI7ZTw9MjtlKz0xKWZvcihsZXQgdD0tMjt0PD0yO3QrPTEpZT09LTJ8fGU9PTJ8fHQ9PS0yfHx0PT0yfHxlPT0wJiZ0PT0wP2lbcitlXVthK3RdPSEwOmlbcitlXVthK3RdPSExfX0sbT1mdW5jdGlvbihlKXtsZXQgdD1GdS5nZXRCQ0hUeXBlTnVtYmVyKG4pO2ZvcihsZXQgbj0wO248MTg7bis9MSl7bGV0IHI9IWUmJih0Pj5uJjEpPT0xO2lbTWF0aC5mbG9vcihuLzMpXVtuJTMrYS04LTNdPXJ9Zm9yKGxldCBuPTA7bjwxODtuKz0xKXtsZXQgcj0hZSYmKHQ-Pm4mMSk9PTE7aVtuJTMrYS04LTNdW01hdGguZmxvb3Iobi8zKV09cn19LGg9ZnVuY3Rpb24oZSx0KXtsZXQgbj1yPDwzfHQsbz1GdS5nZXRCQ0hUeXBlSW5mbyhuKTtmb3IobGV0IHQ9MDt0PDE1O3QrPTEpe2xldCBuPSFlJiYobz4-dCYxKT09MTt0PDY_aVt0XVs4XT1uOnQ8OD9pW3QrMV1bOF09bjppW2EtMTUrdF1bOF09bn1mb3IobGV0IHQ9MDt0PDE1O3QrPTEpe2xldCBuPSFlJiYobz4-dCYxKT09MTt0PDg_aVs4XVthLXQtMV09bjp0PDk_aVs4XVsxNS10LTErMV09bjppWzhdWzE1LXQtMV09bn1pW2EtOF1bOF09IWV9LGc9ZnVuY3Rpb24oZSx0KXtsZXQgbj0tMSxyPWEtMSxvPTcscz0wLGM9RnUuZ2V0TWFza0Z1bmN0aW9uKHQpO2ZvcihsZXQgdD1hLTE7dD4wO3QtPTIpZm9yKHQ9PTYmJi0tdDs7KXtmb3IobGV0IG49MDtuPDI7bis9MSlpZihpW3JdW3Qtbl09PW51bGwpe2xldCBhPSExO3M8ZS5sZW5ndGgmJihhPShlW3NdPj4-byYxKT09MSksYyhyLHQtbikmJihhPSFhKSxpW3JdW3Qtbl09YSwtLW8sbz09LTEmJihzKz0xLG89Nyl9aWYocis9bixyPDB8fGE8PXIpe3ItPW4sbj0tbjticmVha319fSxfPWZ1bmN0aW9uKGUsdCl7bGV0IG49MCxyPTAsaT0wLGE9QXJyYXkodC5sZW5ndGgpLG89QXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgcz0wO3M8dC5sZW5ndGg7cys9MSl7bGV0IGM9dFtzXS5kYXRhQ291bnQsbD10W3NdLnRvdGFsQ291bnQtYztyPU1hdGgubWF4KHIsYyksaT1NYXRoLm1heChpLGwpLGFbc109QXJyYXkoYyk7Zm9yKGxldCB0PTA7dDxhW3NdLmxlbmd0aDt0Kz0xKWFbc11bdF09MjU1JmUuZ2V0QnVmZmVyKClbdCtuXTtuKz1jO2xldCB1PUZ1LmdldEVycm9yQ29ycmVjdFBvbHlub21pYWwobCksZD1MdShhW3NdLHUuZ2V0TGVuZ3RoKCktMSkubW9kKHUpO29bc109QXJyYXkodS5nZXRMZW5ndGgoKS0xKTtmb3IobGV0IGU9MDtlPG9bc10ubGVuZ3RoO2UrPTEpe2xldCB0PWUrZC5nZXRMZW5ndGgoKS1vW3NdLmxlbmd0aDtvW3NdW2VdPXQ-PTA_ZC5nZXRBdCh0KTowfX1sZXQgcz0wO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSs9MSlzKz10W2VdLnRvdGFsQ291bnQ7bGV0IGM9QXJyYXkocyksbD0wO2ZvcihsZXQgZT0wO2U8cjtlKz0xKWZvcihsZXQgbj0wO248dC5sZW5ndGg7bis9MSllPGFbbl0ubGVuZ3RoJiYoY1tsXT1hW25dW2VdLGwrPTEpO2ZvcihsZXQgZT0wO2U8aTtlKz0xKWZvcihsZXQgbj0wO248dC5sZW5ndGg7bis9MSllPG9bbl0ubGVuZ3RoJiYoY1tsXT1vW25dW2VdLGwrPTEpO3JldHVybiBjfSx2PWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1SdS5nZXRSU0Jsb2NrcyhlLHQpLGk9enUoKTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrPTEpe2xldCByPW5bdF07aS5wdXQoci5nZXRNb2RlKCksNCksaS5wdXQoci5nZXRMZW5ndGgoKSxGdS5nZXRMZW5ndGhJbkJpdHMoci5nZXRNb2RlKCksZSkpLHIud3JpdGUoaSl9bGV0IGE9MDtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrPTEpYSs9cltlXS5kYXRhQ291bnQ7aWYoaS5nZXRMZW5ndGhJbkJpdHMoKT5hKjgpdGhyb3dgY29kZSBsZW5ndGggb3ZlcmZsb3cuIChgK2kuZ2V0TGVuZ3RoSW5CaXRzKCkrYD5gK2EqOCtgKWA7Zm9yKGkuZ2V0TGVuZ3RoSW5CaXRzKCkrNDw9YSo4JiZpLnB1dCgwLDQpO2kuZ2V0TGVuZ3RoSW5CaXRzKCklOCE9MDspaS5wdXRCaXQoITEpO2Zvcig7IShpLmdldExlbmd0aEluQml0cygpPj1hKjh8fChpLnB1dCgyMzYsOCksaS5nZXRMZW5ndGhJbkJpdHMoKT49YSo4KSk7KWkucHV0KDE3LDgpO3JldHVybiBfKGkscil9O2MuYWRkRGF0YT1mdW5jdGlvbihlLHQpe3R8fD1gQnl0ZWA7bGV0IG49bnVsbDtzd2l0Y2godCl7Y2FzZWBOdW1lcmljYDpuPUJ1KGUpO2JyZWFrO2Nhc2VgQWxwaGFudW1lcmljYDpuPVZ1KGUpO2JyZWFrO2Nhc2VgQnl0ZWA6bj1IdShlKTticmVhaztjYXNlYEthbmppYDpuPVV1KGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3dgbW9kZTpgK3R9cy5wdXNoKG4pLG89bnVsbH0sYy5pc0Rhcms9ZnVuY3Rpb24oZSx0KXtpZihlPDB8fGE8PWV8fHQ8MHx8YTw9dCl0aHJvdyBlK2AsYCt0O3JldHVybiBpW2VdW3RdfSxjLmdldE1vZHVsZUNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIGF9LGMubWFrZT1mdW5jdGlvbigpe2lmKG48MSl7bGV0IGU9MTtmb3IoO2U8NDA7ZSsrKXtsZXQgdD1SdS5nZXRSU0Jsb2NrcyhlLHIpLG49enUoKTtmb3IobGV0IHQ9MDt0PHMubGVuZ3RoO3QrKyl7bGV0IHI9c1t0XTtuLnB1dChyLmdldE1vZGUoKSw0KSxuLnB1dChyLmdldExlbmd0aCgpLEZ1LmdldExlbmd0aEluQml0cyhyLmdldE1vZGUoKSxlKSksci53cml0ZShuKX1sZXQgaT0wO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWkrPXRbZV0uZGF0YUNvdW50O2lmKG4uZ2V0TGVuZ3RoSW5CaXRzKCk8PWkqOClicmVha31uPWV9bCghMSxkKCkpfSxjLmNyZWF0ZVRhYmxlVGFnPWZ1bmN0aW9uKGUsdCl7ZXx8PTIsdD10PT09dm9pZCAwP2UqNDp0O2xldCBuPWBgO24rPWA8dGFibGUgc3R5bGU9ImAsbis9YCBib3JkZXItd2lkdGg6IDBweDsgYm9yZGVyLXN0eWxlOiBub25lO2Asbis9YCBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO2Asbis9YCBwYWRkaW5nOiAwcHg7IG1hcmdpbjogYCt0K2BweDtgLG4rPWAiPmAsbis9YDx0Ym9keT5gO2ZvcihsZXQgdD0wO3Q8Yy5nZXRNb2R1bGVDb3VudCgpO3QrPTEpe24rPWA8dHI-YDtmb3IobGV0IHI9MDtyPGMuZ2V0TW9kdWxlQ291bnQoKTtyKz0xKW4rPWA8dGQgc3R5bGU9ImAsbis9YCBib3JkZXItd2lkdGg6IDBweDsgYm9yZGVyLXN0eWxlOiBub25lO2Asbis9YCBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO2Asbis9YCBwYWRkaW5nOiAwcHg7IG1hcmdpbjogMHB4O2Asbis9YCB3aWR0aDogYCtlK2BweDtgLG4rPWAgaGVpZ2h0OiBgK2UrYHB4O2Asbis9YCBiYWNrZ3JvdW5kLWNvbG9yOiBgLG4rPWMuaXNEYXJrKHQscik_YCMwMDAwMDBgOmAjZmZmZmZmYCxuKz1gO2Asbis9YCIvPmA7bis9YDwvdHI-YH1yZXR1cm4gbis9YDwvdGJvZHk-YCxuKz1gPC90YWJsZT5gLG59LGMuY3JlYXRlU3ZnVGFnPWZ1bmN0aW9uKGUsdCxuLHIpe2xldCBpPXt9O3R5cGVvZiBhcmd1bWVudHNbMF09PWBvYmplY3RgJiYoaT1hcmd1bWVudHNbMF0sZT1pLmNlbGxTaXplLHQ9aS5tYXJnaW4sbj1pLmFsdCxyPWkudGl0bGUpLGV8fD0yLHQ9dD09PXZvaWQgMD9lKjQ6dCxuPXR5cGVvZiBuPT1gc3RyaW5nYD97dGV4dDpufTpufHx7fSxuLnRleHQ9bi50ZXh0fHxudWxsLG4uaWQ9bi50ZXh0P24uaWR8fGBxcmNvZGUtZGVzY3JpcHRpb25gOm51bGwscj10eXBlb2Ygcj09YHN0cmluZ2A_e3RleHQ6cn06cnx8e30sci50ZXh0PXIudGV4dHx8bnVsbCxyLmlkPXIudGV4dD9yLmlkfHxgcXJjb2RlLXRpdGxlYDpudWxsO2xldCBhPWMuZ2V0TW9kdWxlQ291bnQoKSplK3QqMixvLHMsbCx1LGQ9YGAsZjtmb3IoZj1gbGArZStgLDAgMCxgK2UrYCAtYCtlK2AsMCAwLC1gK2UrYHogYCxkKz1gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJgLGQrPWkuc2NhbGFibGU_YGA6YCB3aWR0aD0iYCthK2BweCIgaGVpZ2h0PSJgK2ErYHB4ImAsZCs9YCB2aWV3Qm94PSIwIDAgYCthK2AgYCthK2AiIGAsZCs9YCBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0ImAsZCs9ci50ZXh0fHxuLnRleHQ_YCByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0iYCt5KFtyLmlkLG4uaWRdLmpvaW4oYCBgKS50cmltKCkpK2AiYDpgYCxkKz1gPmAsZCs9ci50ZXh0P2A8dGl0bGUgaWQ9ImAreShyLmlkKStgIj5gK3koci50ZXh0KStgPC90aXRsZT5gOmBgLGQrPW4udGV4dD9gPGRlc2NyaXB0aW9uIGlkPSJgK3kobi5pZCkrYCI-YCt5KG4udGV4dCkrYDwvZGVzY3JpcHRpb24-YDpgYCxkKz1gPHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0id2hpdGUiIGN4PSIwIiBjeT0iMCIvPmAsZCs9YDxwYXRoIGQ9ImAsbD0wO2w8Yy5nZXRNb2R1bGVDb3VudCgpO2wrPTEpZm9yKHU9bCplK3Qsbz0wO288Yy5nZXRNb2R1bGVDb3VudCgpO28rPTEpYy5pc0RhcmsobCxvKSYmKHM9byplK3QsZCs9YE1gK3MrYCxgK3UrZik7cmV0dXJuIGQrPWAiIHN0cm9rZT0idHJhbnNwYXJlbnQiIGZpbGw9ImJsYWNrIi8-YCxkKz1gPC9zdmc-YCxkfSxjLmNyZWF0ZURhdGFVUkw9ZnVuY3Rpb24oZSx0KXtlfHw9Mix0PXQ9PT12b2lkIDA_ZSo0OnQ7bGV0IG49Yy5nZXRNb2R1bGVDb3VudCgpKmUrdCoyLHI9dCxpPW4tdDtyZXR1cm4gSnUobixuLGZ1bmN0aW9uKHQsbil7aWYocjw9dCYmdDxpJiZyPD1uJiZuPGkpe2xldCBpPU1hdGguZmxvb3IoKHQtcikvZSksYT1NYXRoLmZsb29yKChuLXIpL2UpO3JldHVybishYy5pc0RhcmsoYSxpKX1yZXR1cm4gMX0pfSxjLmNyZWF0ZUltZ1RhZz1mdW5jdGlvbihlLHQsbil7ZXx8PTIsdD10PT09dm9pZCAwP2UqNDp0O2xldCByPWMuZ2V0TW9kdWxlQ291bnQoKSplK3QqMixpPWBgO3JldHVybiBpKz1gPGltZ2AsaSs9YCBzcmM9ImAsaSs9Yy5jcmVhdGVEYXRhVVJMKGUsdCksaSs9YCJgLGkrPWAgd2lkdGg9ImAsaSs9cixpKz1gImAsaSs9YCBoZWlnaHQ9ImAsaSs9cixpKz1gImAsbiYmKGkrPWAgYWx0PSJgLGkrPXkobiksaSs9YCJgKSxpKz1gLz5gLGl9O2xldCB5PWZ1bmN0aW9uKGUpe2xldCB0PWBgO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9MSl7bGV0IHI9ZS5jaGFyQXQobik7c3dpdGNoKHIpe2Nhc2VgPGA6dCs9YCZsdDtgO2JyZWFrO2Nhc2VgPmA6dCs9YCZndDtgO2JyZWFrO2Nhc2VgJmA6dCs9YCZhbXA7YDticmVhaztjYXNlYCJgOnQrPWAmcXVvdDtgO2JyZWFrO2RlZmF1bHQ6dCs9cn19cmV0dXJuIHR9LGI9ZnVuY3Rpb24oZSl7ZT1lPT09dm9pZCAwPzI6ZTtsZXQgdD1jLmdldE1vZHVsZUNvdW50KCkqMStlKjIsbj1lLHI9dC1lLGksYSxvLHMsbCx1PXsi4paI4paIIjpg4paIYCwi4paIICI6YOKWgGAsIiDilogiOmDiloRgLCIgICI6YCBgfSxkPXsi4paI4paIIjpg4paAYCwi4paIICI6YOKWgGAsIiDilogiOmAgYCwiICAiOmAgYH0sZj1gYDtmb3IoaT0wO2k8dDtpKz0yKXtmb3Iobz1NYXRoLmZsb29yKChpLW4pLzEpLHM9TWF0aC5mbG9vcigoaSsxLW4pLzEpLGE9MDthPHQ7YSs9MSlsPWDilohgLG48PWEmJmE8ciYmbjw9aSYmaTxyJiZjLmlzRGFyayhvLE1hdGguZmxvb3IoKGEtbikvMSkpJiYobD1gIGApLG48PWEmJmE8ciYmbjw9aSsxJiZpKzE8ciYmYy5pc0RhcmsocyxNYXRoLmZsb29yKChhLW4pLzEpKT9sKz1gIGA6bCs9YOKWiGAsZis9ZTwxJiZpKzE-PXI_ZFtsXTp1W2xdO2YrPWAKYH1yZXR1cm4gdCUyJiZlPjA_Zi5zdWJzdHJpbmcoMCxmLmxlbmd0aC10LTEpK0FycmF5KHQrMSkuam9pbihg4paAYCk6Zi5zdWJzdHJpbmcoMCxmLmxlbmd0aC0xKX07cmV0dXJuIGMuY3JlYXRlQVNDSUk9ZnVuY3Rpb24oZSx0KXtpZihlfHw9MSxlPDIpcmV0dXJuIGIodCk7LS1lLHQ9dD09PXZvaWQgMD9lKjI6dDtsZXQgbj1jLmdldE1vZHVsZUNvdW50KCkqZSt0KjIscj10LGk9bi10LGEsbyxzLGwsdT1BcnJheShlKzEpLmpvaW4oYOKWiOKWiGApLGQ9QXJyYXkoZSsxKS5qb2luKGAgIGApLGY9YGAscD1gYDtmb3IoYT0wO2E8bjthKz0xKXtmb3Iocz1NYXRoLmZsb29yKChhLXIpL2UpLHA9YGAsbz0wO288bjtvKz0xKWw9MSxyPD1vJiZvPGkmJnI8PWEmJmE8aSYmYy5pc0RhcmsocyxNYXRoLmZsb29yKChvLXIpL2UpKSYmKGw9MCkscCs9bD91OmQ7Zm9yKHM9MDtzPGU7cys9MSlmKz1wK2AKYH1yZXR1cm4gZi5zdWJzdHJpbmcoMCxmLmxlbmd0aC0xKX0sYy5yZW5kZXJUbzJkQ29udGV4dD1mdW5jdGlvbihlLHQpe3R8fD0yO2xldCBuPWMuZ2V0TW9kdWxlQ291bnQoKTtmb3IobGV0IHI9MDtyPG47cisrKWZvcihsZXQgaT0wO2k8bjtpKyspZS5maWxsU3R5bGU9Yy5pc0RhcmsocixpKT9gYmxhY2tgOmB3aGl0ZWAsZS5maWxsUmVjdChpKnQscip0LHQsdCl9LGN9O2p1LnN0cmluZ1RvQnl0ZXM9ZnVuY3Rpb24oZSl7bGV0IHQ9W107Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKz0xKXtsZXQgcj1lLmNoYXJDb2RlQXQobik7dC5wdXNoKHImMjU1KX1yZXR1cm4gdH0sanUuY3JlYXRlU3RyaW5nVG9CeXRlcz1mdW5jdGlvbihlLHQpe2xldCBuPWZ1bmN0aW9uKCl7bGV0IG49S3UoZSkscj1mdW5jdGlvbigpe2xldCBlPW4ucmVhZCgpO2lmKGU9PS0xKXRocm93YGVvZmA7cmV0dXJuIGV9LGk9MCxhPXt9O2Zvcig7Oyl7bGV0IGU9bi5yZWFkKCk7aWYoZT09LTEpYnJlYWs7bGV0IHQ9cigpLG89cigpLHM9cigpLGM9U3RyaW5nLmZyb21DaGFyQ29kZShlPDw4fHQpO2FbY109bzw8OHxzLGkrPTF9aWYoaSE9dCl0aHJvdyBpK2AgIT0gYCt0O3JldHVybiBhfSgpO3JldHVybiBmdW5jdGlvbihlKXtsZXQgdD1bXTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrPTEpe2xldCBpPWUuY2hhckNvZGVBdChyKTtpZihpPDEyOCl0LnB1c2goaSk7ZWxzZXtsZXQgaT1uW2UuY2hhckF0KHIpXTt0eXBlb2YgaT09YG51bWJlcmA_KGkmMjU1KT09aT90LnB1c2goaSk6KHQucHVzaChpPj4-OCksdC5wdXNoKGkmMjU1KSk6dC5wdXNoKDYzKX19cmV0dXJuIHR9fTt2YXIgTXU9e01PREVfTlVNQkVSOjEsTU9ERV9BTFBIQV9OVU06MixNT0RFXzhCSVRfQllURTo0LE1PREVfS0FOSkk6OH0sTnU9e0w6MSxNOjAsUTozLEg6Mn0sUHU9e1BBVFRFUk4wMDA6MCxQQVRURVJOMDAxOjEsUEFUVEVSTjAxMDoyLFBBVFRFUk4wMTE6MyxQQVRURVJOMTAwOjQsUEFUVEVSTjEwMTo1LFBBVFRFUk4xMTA6NixQQVRURVJOMTExOjd9LEZ1PWZ1bmN0aW9uKCl7bGV0IGU9W1tdLFs2LDE4XSxbNiwyMl0sWzYsMjZdLFs2LDMwXSxbNiwzNF0sWzYsMjIsMzhdLFs2LDI0LDQyXSxbNiwyNiw0Nl0sWzYsMjgsNTBdLFs2LDMwLDU0XSxbNiwzMiw1OF0sWzYsMzQsNjJdLFs2LDI2LDQ2LDY2XSxbNiwyNiw0OCw3MF0sWzYsMjYsNTAsNzRdLFs2LDMwLDU0LDc4XSxbNiwzMCw1Niw4Ml0sWzYsMzAsNTgsODZdLFs2LDM0LDYyLDkwXSxbNiwyOCw1MCw3Miw5NF0sWzYsMjYsNTAsNzQsOThdLFs2LDMwLDU0LDc4LDEwMl0sWzYsMjgsNTQsODAsMTA2XSxbNiwzMiw1OCw4NCwxMTBdLFs2LDMwLDU4LDg2LDExNF0sWzYsMzQsNjIsOTAsMTE4XSxbNiwyNiw1MCw3NCw5OCwxMjJdLFs2LDMwLDU0LDc4LDEwMiwxMjZdLFs2LDI2LDUyLDc4LDEwNCwxMzBdLFs2LDMwLDU2LDgyLDEwOCwxMzRdLFs2LDM0LDYwLDg2LDExMiwxMzhdLFs2LDMwLDU4LDg2LDExNCwxNDJdLFs2LDM0LDYyLDkwLDExOCwxNDZdLFs2LDMwLDU0LDc4LDEwMiwxMjYsMTUwXSxbNiwyNCw1MCw3NiwxMDIsMTI4LDE1NF0sWzYsMjgsNTQsODAsMTA2LDEzMiwxNThdLFs2LDMyLDU4LDg0LDExMCwxMzYsMTYyXSxbNiwyNiw1NCw4MiwxMTAsMTM4LDE2Nl0sWzYsMzAsNTgsODYsMTE0LDE0MiwxNzBdXSx0PTEzMzUsbj03OTczLHI9e30saT1mdW5jdGlvbihlKXtsZXQgdD0wO2Zvcig7ZSE9MDspdCs9MSxlPj4-PTE7cmV0dXJuIHR9O3JldHVybiByLmdldEJDSFR5cGVJbmZvPWZ1bmN0aW9uKGUpe2xldCBuPWU8PDEwO2Zvcig7aShuKS1pKHQpPj0wOyluXj10PDxpKG4pLWkodCk7cmV0dXJuKGU8PDEwfG4pXjIxNTIyfSxyLmdldEJDSFR5cGVOdW1iZXI9ZnVuY3Rpb24oZSl7bGV0IHQ9ZTw8MTI7Zm9yKDtpKHQpLWkobik-PTA7KXRePW48PGkodCktaShuKTtyZXR1cm4gZTw8MTJ8dH0sci5nZXRQYXR0ZXJuUG9zaXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGVbdC0xXX0sci5nZXRNYXNrRnVuY3Rpb249ZnVuY3Rpb24oZSl7c3dpdGNoKGUpe2Nhc2UgUHUuUEFUVEVSTjAwMDpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSt0KSUyPT0wfTtjYXNlIFB1LlBBVFRFUk4wMDE6cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUlMj09MH07Y2FzZSBQdS5QQVRURVJOMDEwOnJldHVybiBmdW5jdGlvbihlLHQpe3JldHVybiB0JTM9PTB9O2Nhc2UgUHUuUEFUVEVSTjAxMTpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSt0KSUzPT0wfTtjYXNlIFB1LlBBVFRFUk4xMDA6cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuKE1hdGguZmxvb3IoZS8yKStNYXRoLmZsb29yKHQvMykpJTI9PTB9O2Nhc2UgUHUuUEFUVEVSTjEwMTpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSp0JTIrZSp0JTM9PTB9O2Nhc2UgUHUuUEFUVEVSTjExMDpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSp0JTIrZSp0JTMpJTI9PTB9O2Nhc2UgUHUuUEFUVEVSTjExMTpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSp0JTMrKGUrdCklMiklMj09MH07ZGVmYXVsdDp0aHJvd2BiYWQgbWFza1BhdHRlcm46YCtlfX0sci5nZXRFcnJvckNvcnJlY3RQb2x5bm9taWFsPWZ1bmN0aW9uKGUpe2xldCB0PUx1KFsxXSwwKTtmb3IobGV0IG49MDtuPGU7bis9MSl0PXQubXVsdGlwbHkoTHUoWzEsSXUuZ2V4cChuKV0sMCkpO3JldHVybiB0fSxyLmdldExlbmd0aEluQml0cz1mdW5jdGlvbihlLHQpe2lmKDE8PXQmJnQ8MTApc3dpdGNoKGUpe2Nhc2UgTXUuTU9ERV9OVU1CRVI6cmV0dXJuIDEwO2Nhc2UgTXUuTU9ERV9BTFBIQV9OVU06cmV0dXJuIDk7Y2FzZSBNdS5NT0RFXzhCSVRfQllURTpyZXR1cm4gODtjYXNlIE11Lk1PREVfS0FOSkk6cmV0dXJuIDg7ZGVmYXVsdDp0aHJvd2Btb2RlOmArZX1lbHNlIGlmKHQ8Mjcpc3dpdGNoKGUpe2Nhc2UgTXUuTU9ERV9OVU1CRVI6cmV0dXJuIDEyO2Nhc2UgTXUuTU9ERV9BTFBIQV9OVU06cmV0dXJuIDExO2Nhc2UgTXUuTU9ERV84QklUX0JZVEU6cmV0dXJuIDE2O2Nhc2UgTXUuTU9ERV9LQU5KSTpyZXR1cm4gMTA7ZGVmYXVsdDp0aHJvd2Btb2RlOmArZX1lbHNlIGlmKHQ8NDEpc3dpdGNoKGUpe2Nhc2UgTXUuTU9ERV9OVU1CRVI6cmV0dXJuIDE0O2Nhc2UgTXUuTU9ERV9BTFBIQV9OVU06cmV0dXJuIDEzO2Nhc2UgTXUuTU9ERV84QklUX0JZVEU6cmV0dXJuIDE2O2Nhc2UgTXUuTU9ERV9LQU5KSTpyZXR1cm4gMTI7ZGVmYXVsdDp0aHJvd2Btb2RlOmArZX1lbHNlIHRocm93YHR5cGU6YCt0fSxyLmdldExvc3RQb2ludD1mdW5jdGlvbihlKXtsZXQgdD1lLmdldE1vZHVsZUNvdW50KCksbj0wO2ZvcihsZXQgcj0wO3I8dDtyKz0xKWZvcihsZXQgaT0wO2k8dDtpKz0xKXtsZXQgYT0wLG89ZS5pc0RhcmsocixpKTtmb3IobGV0IG49LTE7bjw9MTtuKz0xKWlmKCEocituPDB8fHQ8PXIrbikpZm9yKGxldCBzPS0xO3M8PTE7cys9MSlpK3M8MHx8dDw9aStzfHwobiE9MHx8cyE9MCkmJm89PWUuaXNEYXJrKHIrbixpK3MpJiYoYSs9MSk7YT41JiYobis9MythLTUpfWZvcihsZXQgcj0wO3I8dC0xO3IrPTEpZm9yKGxldCBpPTA7aTx0LTE7aSs9MSl7bGV0IHQ9MDtlLmlzRGFyayhyLGkpJiYodCs9MSksZS5pc0RhcmsocisxLGkpJiYodCs9MSksZS5pc0RhcmsocixpKzEpJiYodCs9MSksZS5pc0RhcmsocisxLGkrMSkmJih0Kz0xKSwodD09MHx8dD09NCkmJihuKz0zKX1mb3IobGV0IHI9MDtyPHQ7cis9MSlmb3IobGV0IGk9MDtpPHQtNjtpKz0xKWUuaXNEYXJrKHIsaSkmJiFlLmlzRGFyayhyLGkrMSkmJmUuaXNEYXJrKHIsaSsyKSYmZS5pc0RhcmsocixpKzMpJiZlLmlzRGFyayhyLGkrNCkmJiFlLmlzRGFyayhyLGkrNSkmJmUuaXNEYXJrKHIsaSs2KSYmKG4rPTQwKTtmb3IobGV0IHI9MDtyPHQ7cis9MSlmb3IobGV0IGk9MDtpPHQtNjtpKz0xKWUuaXNEYXJrKGkscikmJiFlLmlzRGFyayhpKzEscikmJmUuaXNEYXJrKGkrMixyKSYmZS5pc0RhcmsoaSszLHIpJiZlLmlzRGFyayhpKzQscikmJiFlLmlzRGFyayhpKzUscikmJmUuaXNEYXJrKGkrNixyKSYmKG4rPTQwKTtsZXQgcj0wO2ZvcihsZXQgbj0wO248dDtuKz0xKWZvcihsZXQgaT0wO2k8dDtpKz0xKWUuaXNEYXJrKGksbikmJihyKz0xKTtsZXQgaT1NYXRoLmFicygxMDAqci90L3QtNTApLzU7cmV0dXJuIG4rPWkqMTAsbn0scn0oKSxJdT1mdW5jdGlvbigpe2xldCBlPUFycmF5KDI1NiksdD1BcnJheSgyNTYpO2ZvcihsZXQgdD0wO3Q8ODt0Kz0xKWVbdF09MTw8dDtmb3IobGV0IHQ9ODt0PDI1Njt0Kz0xKWVbdF09ZVt0LTRdXmVbdC01XV5lW3QtNl1eZVt0LThdO2ZvcihsZXQgbj0wO248MjU1O24rPTEpdFtlW25dXT1uO2xldCBuPXt9O3JldHVybiBuLmdsb2c9ZnVuY3Rpb24oZSl7aWYoZTwxKXRocm93YGdsb2coYCtlK2ApYDtyZXR1cm4gdFtlXX0sbi5nZXhwPWZ1bmN0aW9uKHQpe2Zvcig7dDwwOyl0Kz0yNTU7Zm9yKDt0Pj0yNTY7KXQtPTI1NTtyZXR1cm4gZVt0XX0sbn0oKSxMdT1mdW5jdGlvbihlLHQpe2lmKGUubGVuZ3RoPT09dm9pZCAwKXRocm93IGUubGVuZ3RoK2AvYCt0O2xldCBuPWZ1bmN0aW9uKCl7bGV0IG49MDtmb3IoO248ZS5sZW5ndGgmJmVbbl09PTA7KW4rPTE7bGV0IHI9QXJyYXkoZS5sZW5ndGgtbit0KTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoLW47dCs9MSlyW3RdPWVbdCtuXTtyZXR1cm4gcn0oKSxyPXt9O3JldHVybiByLmdldEF0PWZ1bmN0aW9uKGUpe3JldHVybiBuW2VdfSxyLmdldExlbmd0aD1mdW5jdGlvbigpe3JldHVybiBuLmxlbmd0aH0sci5tdWx0aXBseT1mdW5jdGlvbihlKXtsZXQgdD1BcnJheShyLmdldExlbmd0aCgpK2UuZ2V0TGVuZ3RoKCktMSk7Zm9yKGxldCBuPTA7bjxyLmdldExlbmd0aCgpO24rPTEpZm9yKGxldCBpPTA7aTxlLmdldExlbmd0aCgpO2krPTEpdFtuK2ldXj1JdS5nZXhwKEl1Lmdsb2coci5nZXRBdChuKSkrSXUuZ2xvZyhlLmdldEF0KGkpKSk7cmV0dXJuIEx1KHQsMCl9LHIubW9kPWZ1bmN0aW9uKGUpe2lmKHIuZ2V0TGVuZ3RoKCktZS5nZXRMZW5ndGgoKTwwKXJldHVybiByO2xldCB0PUl1Lmdsb2coci5nZXRBdCgwKSktSXUuZ2xvZyhlLmdldEF0KDApKSxuPUFycmF5KHIuZ2V0TGVuZ3RoKCkpO2ZvcihsZXQgZT0wO2U8ci5nZXRMZW5ndGgoKTtlKz0xKW5bZV09ci5nZXRBdChlKTtmb3IobGV0IHI9MDtyPGUuZ2V0TGVuZ3RoKCk7cis9MSluW3JdXj1JdS5nZXhwKEl1Lmdsb2coZS5nZXRBdChyKSkrdCk7cmV0dXJuIEx1KG4sMCkubW9kKGUpfSxyfSxSdT1mdW5jdGlvbigpe2xldCBlPVtbMSwyNiwxOV0sWzEsMjYsMTZdLFsxLDI2LDEzXSxbMSwyNiw5XSxbMSw0NCwzNF0sWzEsNDQsMjhdLFsxLDQ0LDIyXSxbMSw0NCwxNl0sWzEsNzAsNTVdLFsxLDcwLDQ0XSxbMiwzNSwxN10sWzIsMzUsMTNdLFsxLDEwMCw4MF0sWzIsNTAsMzJdLFsyLDUwLDI0XSxbNCwyNSw5XSxbMSwxMzQsMTA4XSxbMiw2Nyw0M10sWzIsMzMsMTUsMiwzNCwxNl0sWzIsMzMsMTEsMiwzNCwxMl0sWzIsODYsNjhdLFs0LDQzLDI3XSxbNCw0MywxOV0sWzQsNDMsMTVdLFsyLDk4LDc4XSxbNCw0OSwzMV0sWzIsMzIsMTQsNCwzMywxNV0sWzQsMzksMTMsMSw0MCwxNF0sWzIsMTIxLDk3XSxbMiw2MCwzOCwyLDYxLDM5XSxbNCw0MCwxOCwyLDQxLDE5XSxbNCw0MCwxNCwyLDQxLDE1XSxbMiwxNDYsMTE2XSxbMyw1OCwzNiwyLDU5LDM3XSxbNCwzNiwxNiw0LDM3LDE3XSxbNCwzNiwxMiw0LDM3LDEzXSxbMiw4Niw2OCwyLDg3LDY5XSxbNCw2OSw0MywxLDcwLDQ0XSxbNiw0MywxOSwyLDQ0LDIwXSxbNiw0MywxNSwyLDQ0LDE2XSxbNCwxMDEsODFdLFsxLDgwLDUwLDQsODEsNTFdLFs0LDUwLDIyLDQsNTEsMjNdLFszLDM2LDEyLDgsMzcsMTNdLFsyLDExNiw5MiwyLDExNyw5M10sWzYsNTgsMzYsMiw1OSwzN10sWzQsNDYsMjAsNiw0NywyMV0sWzcsNDIsMTQsNCw0MywxNV0sWzQsMTMzLDEwN10sWzgsNTksMzcsMSw2MCwzOF0sWzgsNDQsMjAsNCw0NSwyMV0sWzEyLDMzLDExLDQsMzQsMTJdLFszLDE0NSwxMTUsMSwxNDYsMTE2XSxbNCw2NCw0MCw1LDY1LDQxXSxbMTEsMzYsMTYsNSwzNywxN10sWzExLDM2LDEyLDUsMzcsMTNdLFs1LDEwOSw4NywxLDExMCw4OF0sWzUsNjUsNDEsNSw2Niw0Ml0sWzUsNTQsMjQsNyw1NSwyNV0sWzExLDM2LDEyLDcsMzcsMTNdLFs1LDEyMiw5OCwxLDEyMyw5OV0sWzcsNzMsNDUsMyw3NCw0Nl0sWzE1LDQzLDE5LDIsNDQsMjBdLFszLDQ1LDE1LDEzLDQ2LDE2XSxbMSwxMzUsMTA3LDUsMTM2LDEwOF0sWzEwLDc0LDQ2LDEsNzUsNDddLFsxLDUwLDIyLDE1LDUxLDIzXSxbMiw0MiwxNCwxNyw0MywxNV0sWzUsMTUwLDEyMCwxLDE1MSwxMjFdLFs5LDY5LDQzLDQsNzAsNDRdLFsxNyw1MCwyMiwxLDUxLDIzXSxbMiw0MiwxNCwxOSw0MywxNV0sWzMsMTQxLDExMyw0LDE0MiwxMTRdLFszLDcwLDQ0LDExLDcxLDQ1XSxbMTcsNDcsMjEsNCw0OCwyMl0sWzksMzksMTMsMTYsNDAsMTRdLFszLDEzNSwxMDcsNSwxMzYsMTA4XSxbMyw2Nyw0MSwxMyw2OCw0Ml0sWzE1LDU0LDI0LDUsNTUsMjVdLFsxNSw0MywxNSwxMCw0NCwxNl0sWzQsMTQ0LDExNiw0LDE0NSwxMTddLFsxNyw2OCw0Ml0sWzE3LDUwLDIyLDYsNTEsMjNdLFsxOSw0NiwxNiw2LDQ3LDE3XSxbMiwxMzksMTExLDcsMTQwLDExMl0sWzE3LDc0LDQ2XSxbNyw1NCwyNCwxNiw1NSwyNV0sWzM0LDM3LDEzXSxbNCwxNTEsMTIxLDUsMTUyLDEyMl0sWzQsNzUsNDcsMTQsNzYsNDhdLFsxMSw1NCwyNCwxNCw1NSwyNV0sWzE2LDQ1LDE1LDE0LDQ2LDE2XSxbNiwxNDcsMTE3LDQsMTQ4LDExOF0sWzYsNzMsNDUsMTQsNzQsNDZdLFsxMSw1NCwyNCwxNiw1NSwyNV0sWzMwLDQ2LDE2LDIsNDcsMTddLFs4LDEzMiwxMDYsNCwxMzMsMTA3XSxbOCw3NSw0NywxMyw3Niw0OF0sWzcsNTQsMjQsMjIsNTUsMjVdLFsyMiw0NSwxNSwxMyw0NiwxNl0sWzEwLDE0MiwxMTQsMiwxNDMsMTE1XSxbMTksNzQsNDYsNCw3NSw0N10sWzI4LDUwLDIyLDYsNTEsMjNdLFszMyw0NiwxNiw0LDQ3LDE3XSxbOCwxNTIsMTIyLDQsMTUzLDEyM10sWzIyLDczLDQ1LDMsNzQsNDZdLFs4LDUzLDIzLDI2LDU0LDI0XSxbMTIsNDUsMTUsMjgsNDYsMTZdLFszLDE0NywxMTcsMTAsMTQ4LDExOF0sWzMsNzMsNDUsMjMsNzQsNDZdLFs0LDU0LDI0LDMxLDU1LDI1XSxbMTEsNDUsMTUsMzEsNDYsMTZdLFs3LDE0NiwxMTYsNywxNDcsMTE3XSxbMjEsNzMsNDUsNyw3NCw0Nl0sWzEsNTMsMjMsMzcsNTQsMjRdLFsxOSw0NSwxNSwyNiw0NiwxNl0sWzUsMTQ1LDExNSwxMCwxNDYsMTE2XSxbMTksNzUsNDcsMTAsNzYsNDhdLFsxNSw1NCwyNCwyNSw1NSwyNV0sWzIzLDQ1LDE1LDI1LDQ2LDE2XSxbMTMsMTQ1LDExNSwzLDE0NiwxMTZdLFsyLDc0LDQ2LDI5LDc1LDQ3XSxbNDIsNTQsMjQsMSw1NSwyNV0sWzIzLDQ1LDE1LDI4LDQ2LDE2XSxbMTcsMTQ1LDExNV0sWzEwLDc0LDQ2LDIzLDc1LDQ3XSxbMTAsNTQsMjQsMzUsNTUsMjVdLFsxOSw0NSwxNSwzNSw0NiwxNl0sWzE3LDE0NSwxMTUsMSwxNDYsMTE2XSxbMTQsNzQsNDYsMjEsNzUsNDddLFsyOSw1NCwyNCwxOSw1NSwyNV0sWzExLDQ1LDE1LDQ2LDQ2LDE2XSxbMTMsMTQ1LDExNSw2LDE0NiwxMTZdLFsxNCw3NCw0NiwyMyw3NSw0N10sWzQ0LDU0LDI0LDcsNTUsMjVdLFs1OSw0NiwxNiwxLDQ3LDE3XSxbMTIsMTUxLDEyMSw3LDE1MiwxMjJdLFsxMiw3NSw0NywyNiw3Niw0OF0sWzM5LDU0LDI0LDE0LDU1LDI1XSxbMjIsNDUsMTUsNDEsNDYsMTZdLFs2LDE1MSwxMjEsMTQsMTUyLDEyMl0sWzYsNzUsNDcsMzQsNzYsNDhdLFs0Niw1NCwyNCwxMCw1NSwyNV0sWzIsNDUsMTUsNjQsNDYsMTZdLFsxNywxNTIsMTIyLDQsMTUzLDEyM10sWzI5LDc0LDQ2LDE0LDc1LDQ3XSxbNDksNTQsMjQsMTAsNTUsMjVdLFsyNCw0NSwxNSw0Niw0NiwxNl0sWzQsMTUyLDEyMiwxOCwxNTMsMTIzXSxbMTMsNzQsNDYsMzIsNzUsNDddLFs0OCw1NCwyNCwxNCw1NSwyNV0sWzQyLDQ1LDE1LDMyLDQ2LDE2XSxbMjAsMTQ3LDExNyw0LDE0OCwxMThdLFs0MCw3NSw0Nyw3LDc2LDQ4XSxbNDMsNTQsMjQsMjIsNTUsMjVdLFsxMCw0NSwxNSw2Nyw0NiwxNl0sWzE5LDE0OCwxMTgsNiwxNDksMTE5XSxbMTgsNzUsNDcsMzEsNzYsNDhdLFszNCw1NCwyNCwzNCw1NSwyNV0sWzIwLDQ1LDE1LDYxLDQ2LDE2XV0sdD1mdW5jdGlvbihlLHQpe2xldCBuPXt9O3JldHVybiBuLnRvdGFsQ291bnQ9ZSxuLmRhdGFDb3VudD10LG59LG49e30scj1mdW5jdGlvbih0LG4pe3N3aXRjaChuKXtjYXNlIE51Lkw6cmV0dXJuIGVbKHQtMSkqNCswXTtjYXNlIE51Lk06cmV0dXJuIGVbKHQtMSkqNCsxXTtjYXNlIE51LlE6cmV0dXJuIGVbKHQtMSkqNCsyXTtjYXNlIE51Lkg6cmV0dXJuIGVbKHQtMSkqNCszXTtkZWZhdWx0OnJldHVybn19O3JldHVybiBuLmdldFJTQmxvY2tzPWZ1bmN0aW9uKGUsbil7bGV0IGk9cihlLG4pO2lmKGk9PT12b2lkIDApdGhyb3dgYmFkIHJzIGJsb2NrIEAgdHlwZU51bWJlcjpgK2UrYC9lcnJvckNvcnJlY3Rpb25MZXZlbDpgK247bGV0IGE9aS5sZW5ndGgvMyxvPVtdO2ZvcihsZXQgZT0wO2U8YTtlKz0xKXtsZXQgbj1pW2UqMyswXSxyPWlbZSozKzFdLGE9aVtlKjMrMl07Zm9yKGxldCBlPTA7ZTxuO2UrPTEpby5wdXNoKHQocixhKSl9cmV0dXJuIG99LG59KCksenU9ZnVuY3Rpb24oKXtsZXQgZT1bXSx0PTAsbj17fTtyZXR1cm4gbi5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtyZXR1cm4gZX0sbi5nZXRBdD1mdW5jdGlvbih0KXtsZXQgbj1NYXRoLmZsb29yKHQvOCk7cmV0dXJuKGVbbl0-Pj43LXQlOCYxKT09MX0sbi5wdXQ9ZnVuY3Rpb24oZSx0KXtmb3IobGV0IHI9MDtyPHQ7cis9MSluLnB1dEJpdCgoZT4-PnQtci0xJjEpPT0xKX0sbi5nZXRMZW5ndGhJbkJpdHM9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbi5wdXRCaXQ9ZnVuY3Rpb24obil7bGV0IHI9TWF0aC5mbG9vcih0LzgpO2UubGVuZ3RoPD1yJiZlLnB1c2goMCksbiYmKGVbcl18PTEyOD4-PnQlOCksdCs9MX0sbn0sQnU9ZnVuY3Rpb24oZSl7bGV0IHQ9TXUuTU9ERV9OVU1CRVIsbj1lLHI9e307ci5nZXRNb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LHIuZ2V0TGVuZ3RoPWZ1bmN0aW9uKGUpe3JldHVybiBuLmxlbmd0aH0sci53cml0ZT1mdW5jdGlvbihlKXtsZXQgdD1uLHI9MDtmb3IoO3IrMjx0Lmxlbmd0aDspZS5wdXQoaSh0LnN1YnN0cmluZyhyLHIrMykpLDEwKSxyKz0zO3I8dC5sZW5ndGgmJih0Lmxlbmd0aC1yPT0xP2UucHV0KGkodC5zdWJzdHJpbmcocixyKzEpKSw0KTp0Lmxlbmd0aC1yPT0yJiZlLnB1dChpKHQuc3Vic3RyaW5nKHIscisyKSksNykpfTtsZXQgaT1mdW5jdGlvbihlKXtsZXQgdD0wO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9MSl0PXQqMTArYShlLmNoYXJBdChuKSk7cmV0dXJuIHR9LGE9ZnVuY3Rpb24oZSl7aWYoYDBgPD1lJiZlPD1gOWApcmV0dXJuIGUuY2hhckNvZGVBdCgwKS00ODt0aHJvd2BpbGxlZ2FsIGNoYXIgOmArZX07cmV0dXJuIHJ9LFZ1PWZ1bmN0aW9uKGUpe2xldCB0PU11Lk1PREVfQUxQSEFfTlVNLG49ZSxyPXt9O3IuZ2V0TW9kZT1mdW5jdGlvbigpe3JldHVybiB0fSxyLmdldExlbmd0aD1mdW5jdGlvbihlKXtyZXR1cm4gbi5sZW5ndGh9LHIud3JpdGU9ZnVuY3Rpb24oZSl7bGV0IHQ9bixyPTA7Zm9yKDtyKzE8dC5sZW5ndGg7KWUucHV0KGkodC5jaGFyQXQocikpKjQ1K2kodC5jaGFyQXQocisxKSksMTEpLHIrPTI7cjx0Lmxlbmd0aCYmZS5wdXQoaSh0LmNoYXJBdChyKSksNil9O2xldCBpPWZ1bmN0aW9uKGUpe2lmKGAwYDw9ZSYmZTw9YDlgKXJldHVybiBlLmNoYXJDb2RlQXQoMCktNDg7aWYoYEFgPD1lJiZlPD1gWmApcmV0dXJuIGUuY2hhckNvZGVBdCgwKS02NSsxMDtzd2l0Y2goZSl7Y2FzZWAgYDpyZXR1cm4gMzY7Y2FzZWAkYDpyZXR1cm4gMzc7Y2FzZWAlYDpyZXR1cm4gMzg7Y2FzZWAqYDpyZXR1cm4gMzk7Y2FzZWArYDpyZXR1cm4gNDA7Y2FzZWAtYDpyZXR1cm4gNDE7Y2FzZWAuYDpyZXR1cm4gNDI7Y2FzZWAvYDpyZXR1cm4gNDM7Y2FzZWA6YDpyZXR1cm4gNDQ7ZGVmYXVsdDp0aHJvd2BpbGxlZ2FsIGNoYXIgOmArZX19O3JldHVybiByfSxIdT1mdW5jdGlvbihlKXtsZXQgdD1NdS5NT0RFXzhCSVRfQllURSxuPWp1LnN0cmluZ1RvQnl0ZXMoZSkscj17fTtyZXR1cm4gci5nZXRNb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LHIuZ2V0TGVuZ3RoPWZ1bmN0aW9uKGUpe3JldHVybiBuLmxlbmd0aH0sci53cml0ZT1mdW5jdGlvbihlKXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrPTEpZS5wdXQoblt0XSw4KX0scn0sVXU9ZnVuY3Rpb24oZSl7bGV0IHQ9TXUuTU9ERV9LQU5KSSxuPWp1LnN0cmluZ1RvQnl0ZXM7KGZ1bmN0aW9uKGUsdCl7bGV0IHI9bihlKTtpZihyLmxlbmd0aCE9Mnx8KHJbMF08PDh8clsxXSkhPXQpdGhyb3dgc2ppcyBub3Qgc3VwcG9ydGVkLmB9KShg5Y-LYCwzODcyNik7bGV0IHI9bihlKSxpPXt9O3JldHVybiBpLmdldE1vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdH0saS5nZXRMZW5ndGg9ZnVuY3Rpb24oZSl7cmV0dXJufn4oci5sZW5ndGgvMil9LGkud3JpdGU9ZnVuY3Rpb24oZSl7bGV0IHQ9cixuPTA7Zm9yKDtuKzE8dC5sZW5ndGg7KXtsZXQgcj0oMjU1JnRbbl0pPDw4fDI1NSZ0W24rMV07aWYoMzMwODg8PXImJnI8PTQwOTU2KXItPTMzMDg4O2Vsc2UgaWYoNTc0MDg8PXImJnI8PTYwMzUxKXItPTQ5NDcyO2Vsc2UgdGhyb3dgaWxsZWdhbCBjaGFyIGF0IGArKG4rMSkrYC9gK3I7cj0ocj4-PjgmMjU1KSoxOTIrKHImMjU1KSxlLnB1dChyLDEzKSxuKz0yfWlmKG48dC5sZW5ndGgpdGhyb3dgaWxsZWdhbCBjaGFyIGF0IGArKG4rMSl9LGl9LFd1PWZ1bmN0aW9uKCl7bGV0IGU9W10sdD17fTtyZXR1cm4gdC53cml0ZUJ5dGU9ZnVuY3Rpb24odCl7ZS5wdXNoKHQmMjU1KX0sdC53cml0ZVNob3J0PWZ1bmN0aW9uKGUpe3Qud3JpdGVCeXRlKGUpLHQud3JpdGVCeXRlKGU-Pj44KX0sdC53cml0ZUJ5dGVzPWZ1bmN0aW9uKGUsbixyKXtufHw9MCxyfHw9ZS5sZW5ndGg7Zm9yKGxldCBpPTA7aTxyO2krPTEpdC53cml0ZUJ5dGUoZVtpK25dKX0sdC53cml0ZVN0cmluZz1mdW5jdGlvbihlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rPTEpdC53cml0ZUJ5dGUoZS5jaGFyQ29kZUF0KG4pKX0sdC50b0J5dGVBcnJheT1mdW5jdGlvbigpe3JldHVybiBlfSx0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7bGV0IHQ9YGA7dCs9YFtgO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9MSluPjAmJih0Kz1gLGApLHQrPWVbbl07cmV0dXJuIHQrPWBdYCx0fSx0fSxHdT1mdW5jdGlvbigpe2xldCBlPTAsdD0wLG49MCxyPWBgLGk9e30sYT1mdW5jdGlvbihlKXtyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG8oZSY2MykpfSxvPWZ1bmN0aW9uKGUpe2lmKGU8MCl0aHJvd2BuOmArZTtpZihlPDI2KXJldHVybiA2NStlO2lmKGU8NTIpcmV0dXJuIDk3KyhlLTI2KTtpZihlPDYyKXJldHVybiA0OCsoZS01Mik7aWYoZT09NjIpcmV0dXJuIDQzO2lmKGU9PTYzKXJldHVybiA0Nzt0aHJvd2BuOmArZX07cmV0dXJuIGkud3JpdGVCeXRlPWZ1bmN0aW9uKHIpe2ZvcihlPWU8PDh8ciYyNTUsdCs9OCxuKz0xO3Q-PTY7KWEoZT4-PnQtNiksdC09Nn0saS5mbHVzaD1mdW5jdGlvbigpe2lmKHQ-MCYmKGEoZTw8Ni10KSxlPTAsdD0wKSxuJTMhPTApe2xldCBlPTMtbiUzO2ZvcihsZXQgdD0wO3Q8ZTt0Kz0xKXIrPWA9YH19LGkudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gcn0saX0sS3U9ZnVuY3Rpb24oZSl7bGV0IHQ9ZSxuPTAscj0wLGk9MCxhPXt9O2EucmVhZD1mdW5jdGlvbigpe2Zvcig7aTw4Oyl7aWYobj49dC5sZW5ndGgpe2lmKGk9PTApcmV0dXJuLTE7dGhyb3dgdW5leHBlY3RlZCBlbmQgb2YgZmlsZS4vYCtpfWxldCBlPXQuY2hhckF0KG4pO2lmKG4rPTEsZT09YD1gKXJldHVybiBpPTAsLTE7ZS5tYXRjaCgvXlxzJC8pfHwocj1yPDw2fG8oZS5jaGFyQ29kZUF0KDApKSxpKz02KX1sZXQgZT1yPj4-aS04JjI1NTtyZXR1cm4gaS09OCxlfTtsZXQgbz1mdW5jdGlvbihlKXtpZig2NTw9ZSYmZTw9OTApcmV0dXJuIGUtNjU7aWYoOTc8PWUmJmU8PTEyMilyZXR1cm4gZS05NysyNjtpZig0ODw9ZSYmZTw9NTcpcmV0dXJuIGUtNDgrNTI7aWYoZT09NDMpcmV0dXJuIDYyO2lmKGU9PTQ3KXJldHVybiA2Mzt0aHJvd2BjOmArZX07cmV0dXJuIGF9LHF1PWZ1bmN0aW9uKGUsdCl7bGV0IG49ZSxyPXQsaT1BcnJheShlKnQpLGE9e307YS5zZXRQaXhlbD1mdW5jdGlvbihlLHQscil7aVt0Km4rZV09cn0sYS53cml0ZT1mdW5jdGlvbihlKXtlLndyaXRlU3RyaW5nKGBHSUY4N2FgKSxlLndyaXRlU2hvcnQobiksZS53cml0ZVNob3J0KHIpLGUud3JpdGVCeXRlKDEyOCksZS53cml0ZUJ5dGUoMCksZS53cml0ZUJ5dGUoMCksZS53cml0ZUJ5dGUoMCksZS53cml0ZUJ5dGUoMCksZS53cml0ZUJ5dGUoMCksZS53cml0ZUJ5dGUoMjU1KSxlLndyaXRlQnl0ZSgyNTUpLGUud3JpdGVCeXRlKDI1NSksZS53cml0ZVN0cmluZyhgLGApLGUud3JpdGVTaG9ydCgwKSxlLndyaXRlU2hvcnQoMCksZS53cml0ZVNob3J0KG4pLGUud3JpdGVTaG9ydChyKSxlLndyaXRlQnl0ZSgwKTtsZXQgdD1zKDIpO2Uud3JpdGVCeXRlKDIpO2xldCBpPTA7Zm9yKDt0Lmxlbmd0aC1pPjI1NTspZS53cml0ZUJ5dGUoMjU1KSxlLndyaXRlQnl0ZXModCxpLDI1NSksaSs9MjU1O2Uud3JpdGVCeXRlKHQubGVuZ3RoLWkpLGUud3JpdGVCeXRlcyh0LGksdC5sZW5ndGgtaSksZS53cml0ZUJ5dGUoMCksZS53cml0ZVN0cmluZyhgO2ApfTtsZXQgbz1mdW5jdGlvbihlKXtsZXQgdD1lLG49MCxyPTAsaT17fTtyZXR1cm4gaS53cml0ZT1mdW5jdGlvbihlLGkpe2lmKGU-Pj5pKXRocm93YGxlbmd0aCBvdmVyYDtmb3IoO24raT49ODspdC53cml0ZUJ5dGUoMjU1JihlPDxufHIpKSxpLT04LW4sZT4-Pj04LW4scj0wLG49MDtyPWU8PG58cixuKz1pfSxpLmZsdXNoPWZ1bmN0aW9uKCl7bj4wJiZ0LndyaXRlQnl0ZShyKX0saX0scz1mdW5jdGlvbihlKXtsZXQgdD0xPDxlLG49KDE8PGUpKzEscj1lKzEsYT1jKCk7Zm9yKGxldCBlPTA7ZTx0O2UrPTEpYS5hZGQoU3RyaW5nLmZyb21DaGFyQ29kZShlKSk7YS5hZGQoU3RyaW5nLmZyb21DaGFyQ29kZSh0KSksYS5hZGQoU3RyaW5nLmZyb21DaGFyQ29kZShuKSk7bGV0IHM9V3UoKSxsPW8ocyk7bC53cml0ZSh0LHIpO2xldCB1PTAsZD1TdHJpbmcuZnJvbUNoYXJDb2RlKGlbdV0pO2Zvcih1Kz0xO3U8aS5sZW5ndGg7KXtsZXQgZT1TdHJpbmcuZnJvbUNoYXJDb2RlKGlbdV0pO3UrPTEsYS5jb250YWlucyhkK2UpP2QrPWU6KGwud3JpdGUoYS5pbmRleE9mKGQpLHIpLGEuc2l6ZSgpPDQwOTUmJihhLnNpemUoKT09MTw8ciYmKHIrPTEpLGEuYWRkKGQrZSkpLGQ9ZSl9cmV0dXJuIGwud3JpdGUoYS5pbmRleE9mKGQpLHIpLGwud3JpdGUobixyKSxsLmZsdXNoKCkscy50b0J5dGVBcnJheSgpfSxjPWZ1bmN0aW9uKCl7bGV0IGU9e30sdD0wLG49e307cmV0dXJuIG4uYWRkPWZ1bmN0aW9uKHIpe2lmKG4uY29udGFpbnMocikpdGhyb3dgZHVwIGtleTpgK3I7ZVtyXT10LHQrPTF9LG4uc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0fSxuLmluZGV4T2Y9ZnVuY3Rpb24odCl7cmV0dXJuIGVbdF19LG4uY29udGFpbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGVbdF0hPT12b2lkIDB9LG59O3JldHVybiBhfSxKdT1mdW5jdGlvbihlLHQsbil7bGV0IHI9cXUoZSx0KTtmb3IobGV0IGk9MDtpPHQ7aSs9MSlmb3IobGV0IHQ9MDt0PGU7dCs9MSlyLnNldFBpeGVsKHQsaSxuKHQsaSkpO2xldCBpPVd1KCk7ci53cml0ZShpKTtsZXQgYT1HdSgpLG89aS50b0J5dGVBcnJheSgpO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7ZSs9MSlhLndyaXRlQnl0ZShvW2VdKTtyZXR1cm4gYS5mbHVzaCgpLGBkYXRhOmltYWdlL2dpZjtiYXNlNjQsYCthfTtqdS5zdHJpbmdUb0J5dGVzO3ZhciBZdT00O2Z1bmN0aW9uIFh1KHt2YWx1ZTplLGxhYmVsOnR9KXtsZXQgbj0oMCxsLnVzZU1lbW8pKCgpPT57bGV0IHQ9anUoMCxgTWApO3QuYWRkRGF0YShlKSx0Lm1ha2UoKTtsZXQgbj10LmdldE1vZHVsZUNvdW50KCkscj1bXTtmb3IobGV0IGU9MDtlPG47ZSs9MSlmb3IobGV0IGk9MDtpPG47aSs9MSl0LmlzRGFyayhlLGkpJiZyLnB1c2goe3g6aSx5OmV9KTtyZXR1cm57bixkYXJrOnJ9fSxbZV0pLHI9bi5uKzg7cmV0dXJuKDAsQy5qc3hzKShgc3ZnYCx7Y2xhc3NOYW1lOmBwZi1xcmAscm9sZTpgaW1nYCwiYXJpYS1sYWJlbCI6dCwiZGF0YS12YWx1ZSI6ZSx2aWV3Qm94OmAwIDAgJHtTdHJpbmcocil9ICR7U3RyaW5nKHIpfWAsc2hhcGVSZW5kZXJpbmc6YGNyaXNwRWRnZXNgLHhtbG5zOmBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2AsY2hpbGRyZW46WygwLEMuanN4KShgcmVjdGAse2NsYXNzTmFtZTpgcGYtcXItYmdgLHg6MCx5OjAsd2lkdGg6cixoZWlnaHQ6cn0pLG4uZGFyay5tYXAoKHt4OmUseTp0fSk9PigwLEMuanN4KShgcmVjdGAse2NsYXNzTmFtZTpgcGYtcXItZG90YCx4OmUrWXUseTp0K1l1LHdpZHRoOjEsaGVpZ2h0OjF9LGAke1N0cmluZyhlKX0tJHtTdHJpbmcodCl9YCkpXX0pfXZhciBxPXtsaXN0Q2FwdGlvbjpgWW91ciBwcm9vZnMsIG5ld2VzdCBmaXJzdGAsY29sUHJvb2Y6YFByb29mYCxjb2xXaGVuOmBXaGVuYCxjb2xTdGF0dXM6YFN0YXR1c2Asc2VudDpgU2VudGAscmVjZWl2ZWQ6YFJlY2VpdmVkYCxsb2FkaW5nOmBMb2FkaW5n4oCmYCxsb2FkTW9yZTpgU2hvdyBtb3JlYCxlbXB0eVRpdGxlOmBObyBwcm9vZnMgeWV0LiBBc2sgeW91ciBBSSB0byBzZW5kIHNvbWV0aGluZyB3aXRoIHByb29mLmAsZW1wdHlQcm9tcHQ6YFNlbmQgY29udHJhY3QucGRmIHRvIE1hcmtvIHdpdGggcHJvb2YuYCxsaXN0VW5hdmFpbGFibGU6YFlvdXIgcHJvb2ZzIGNhbid0IGJlIGxvYWRlZCByaWdodCBub3cuIFRyeSBhZ2FpbiBpbiBhIG1pbnV0ZS5gLG5vdFNldFVwOmBBZ2VudExpbmsgaXNuJ3Qgc2V0IHVwIG9uIHRoaXMgY29tcHV0ZXIgeWV0LiBBc2sgeW91ciBBSSB0byBzZXQgdXAgQWdlbnRMaW5rLmAsY3JlZGl0c0xhYmVsOmBDcmVkaXRzYCx3YWl0aW5nOmBXYWl0aW5nIGZvciB5b3VyIGNyZWRpdHPigKZgLHRlc3RDcmVkaXRzTGFiZWw6YFRlc3QgY3JlZGl0c2AsdGVzdENyZWRpdHM6YER1cmluZyB0aGUgYmV0YSwgcHJvb2ZzIHVzZSBmcmVlIHRlc3QgY3JlZGl0cy5gLGZpcnN0UHJvb2ZGcmVlOmBGcmVlIHRlc3QgY3JlZGl0cyBhcnJpdmUgYXV0b21hdGljYWxseSB3aXRoIHlvdXIgZmlyc3QgcHJvb2YuYCxhZGRDcmVkaXRzTm90QXZhaWxhYmxlOmBBZGRpbmcgY3JlZGl0cyBpcyBub3QgYXZhaWxhYmxlIHlldCBpbiB0aGlzIHZlcnNpb24gb2YgQWdlbnRMaW5rLmAsY3JlZGl0c1VuYXZhaWxhYmxlOmBDcmVkaXRzIGNhbid0IGJlIGNoZWNrZWQgcmlnaHQgbm93LiBUcnkgYWdhaW4gaW4gYSBtaW51dGUuYCxjcmVkaXRzUGFydGlhbDpgU29tZSBjcmVkaXRzIGNvdWxkbid0IGJlIGNoZWNrZWQganVzdCBub3csIHNvIHlvdSBtYXkgaGF2ZSBtb3JlLmAsYWRkQ3JlZGl0czpgQWRkIGNyZWRpdHNgLGFkZENyZWRpdHNUaXRsZTpgQWRkIGNyZWRpdHNgLGFkZENyZWRpdHNJbnRybzpgU2VuZCB0ZXN0IHhEQUkgdG8geW91ciBhZ2VudCwgdGhlbiB0dXJuIGl0IGludG8gY3JlZGl0cyBoZXJlLmAsbmV0d29ya0xhYmVsOmBOZXR3b3JrYCxjb2luTGFiZWw6YENvaW5gLGNvaW46YHhEQUkgKHRlc3QpYCxhZGRyZXNzTGFiZWw6YFlvdXIgYWdlbnQncyBhZGRyZXNzYCxxckxhYmVsOmBRUiBjb2RlIG9mIHlvdXIgYWdlbnQncyBhZGRyZXNzYCxjb3B5QWRkcmVzczpgQ29weSBhZGRyZXNzYCxjb3BpZWQ6YENvcGllZGAsY29weUZhaWxlZDpgQ29weSBkaWQgbm90IHdvcmsuIFNlbGVjdCB0aGUgYWRkcmVzcyBhbmQgY29weSBpdC5gLHByaXZhY3k6YFRoZSBhY2NvdW50IHlvdSBhZGQgY3JlZGl0cyBmcm9tIGlzIHB1YmxpY2x5IGxpbmtlZCB0byB5b3VyIGFnZW50LiBGb3IgbW9yZSBwcml2YWN5LCB1c2UgZnJlZSB0ZXN0IGNyZWRpdHMgb3IgYSBzZXBhcmF0ZSBhY2NvdW50IG9ubHkgZm9yIEFnZW50TGluay5gLHR1cm5JbnRvQ3JlZGl0czpgVHVybiByZWNlaXZlZCBmdW5kcyBpbnRvIGNyZWRpdHNgLG5vdGhpbmdZZXQ6YE5vdGhpbmcgdG8gYWRkIHlldC4gQWZ0ZXIgeW91IHNlbmQsIGNoZWNrIGFnYWluLmAsY2hlY2tBZ2FpbjpgQ2hlY2sgYWdhaW5gLHJlc2VydmVOb3RlOmBBIGxpdHRsZSBzdGF5cyB3aXRoIHlvdXIgYWdlbnQgdG8gY292ZXIgbmV0d29yayBjb3N0cy5gLG5vdFJlYWRhYmxlOmBZb3VyIGFnZW50J3MgYWNjb3VudCBjYW4ndCBiZSBjaGVja2VkIHJpZ2h0IG5vdy4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAsYWR2YW5jZWQ6YEFkdmFuY2VkYCx3aXRoZHJhdzpgV2l0aGRyYXcgY3JlZGl0c2Asd2l0aGRyYXdOb3RlOmBDcmVkaXRzIGdvIGJhY2sgdG8geW91ciBhZ2VudCdzIG93biBhY2NvdW50LiBTZW5kaW5nIHRoZW0gdG8gYW5vdGhlciBhY2NvdW50IGNvbWVzIGluIGEgbGF0ZXIgdXBkYXRlLmAsY29uZmlybVRpdGxlOmBDb25maXJtYCxhbW91bnRMYWJlbDpgQW1vdW50YCxmcm9tTGFiZWw6YEZyb21gLHRvTGFiZWw6YFRvYCxmcm9tUmVjZWl2ZWQ6YEZ1bmRzIHlvdXIgYWdlbnQgcmVjZWl2ZWRgLHRvQ3JlZGl0czpgWW91ciBjcmVkaXRzYCxmcm9tQ3JlZGl0czpgWW91ciBjcmVkaXRzYCx0b093bkFjY291bnQ6YFlvdXIgYWdlbnQncyBvd24gYWNjb3VudGAsb3duZXJDb2RlOmBCYWNrdXAgY29kZWAsY29uZmlybTpgQ29uZmlybWAsY2FuY2VsOmBDYW5jZWxgLHdvcmtpbmc6YFdvcmtpbmfigKZgLGRvbmU6YERvbmUuIFlvdXIgY3JlZGl0cyBhcmUgdXBkYXRlZC5gLHBlbmRpbmc6YFNlbnQuIFlvdXIgY3JlZGl0cyB1cGRhdGUgaW4gYSBtaW51dGUuYCx3cm9uZ0NvZGU6YFRoYXQgYmFja3VwIGNvZGUgZGlkbid0IHdvcmsuYCx3YWl0OmBUb28gbWFueSB0cmllcy4gV2FpdCBhIG1vbWVudCwgdGhlbiB0cnkgYWdhaW4uYCxhbW91bnRDaGFuZ2VkOmBUaGUgYW1vdW50IGNoYW5nZWQuIENoZWNrIGFnYWluLmAsbm9GdW5kc0ZvckZlZTpgWW91ciBhZ2VudCdzIGFjY291bnQgbmVlZHMgYSBsaXR0bGUgbW9yZSB0byBjb3ZlciBuZXR3b3JrIGNvc3RzLmAsbW92ZUZhaWxlZDpgVGhhdCBkaWRuJ3QgZ28gdGhyb3VnaC4gVHJ5IGFnYWluIGluIGEgbWludXRlLmB9LFp1PXsiZ25vc2lzLXRlc3QiOmBHbm9zaXMgdGVzdCBuZXR3b3JrYCwiYmFzZS10ZXN0IjpgQmFzZSB0ZXN0IG5ldHdvcmtgfTtmdW5jdGlvbiBKKGUpe3JldHVybmAke2V9OiBjb21pbmcgc29vbmB9ZnVuY3Rpb24gUXUoZSl7cmV0dXJuYCR7ZX0gcmVjZWl2ZWQgYW5kIHJlYWR5IHRvIGFkZC5gfWZ1bmN0aW9uIFkoZSl7cmV0dXJuYEFkZCAke2V9IHRvIHlvdXIgY3JlZGl0c2B9ZnVuY3Rpb24gWChlKXtyZXR1cm5gV2l0aGRyYXcgJHtlfSBvZiBjcmVkaXRzYH1mdW5jdGlvbiBaKGUpe3JldHVybiBlPT09MT9gMSBwcm9vZiBsZWZ0YDpgJHtTdHJpbmcoZSl9IHByb29mcyBsZWZ0YH1mdW5jdGlvbiAkdShlKXtyZXR1cm5gQSBwcm9vZiBjb3N0cyAke2V9LCBpbmNsdWRpbmcgdXAgdG8gMyByZWNlaXB0cy4gTWVzc2FnZXMgYW5kIGZpbGVzIGFyZSBhbHdheXMgZnJlZS5gfWZ1bmN0aW9uIGVkKGUpe3JldHVybmAke2V9IGluIGNyZWRpdHNgfWZ1bmN0aW9uIHRkKGUpe3N3aXRjaChlLmtpbmQpe2Nhc2Vgb2tgOnJldHVybiBlLnN0YXR1cz09PTIwMj97dGV4dDpxLnBlbmRpbmcsZG9uZTohMH06e3RleHQ6cS5kb25lLGRvbmU6ITB9O2Nhc2VgcHJlc2VuY2VfcmVqZWN0ZWRgOmNhc2VgcHJlc2VuY2VfcmVxdWlyZWRgOnJldHVybnt0ZXh0OnEud3JvbmdDb2RlLGRvbmU6ITF9O2Nhc2Vgd2FpdGA6cmV0dXJue3RleHQ6cS53YWl0LGRvbmU6ITF9O2Nhc2VgYW5zd2VyYDp7bGV0IHQ9dHlwZW9mIGUuZGF0YT09YG9iamVjdGAmJmUuZGF0YSE9PW51bGw_ZS5kYXRhLmVycm9yOnZvaWQgMDtyZXR1cm4gdD09PWBhbW91bnRfY2hhbmdlZGA_e3RleHQ6cS5hbW91bnRDaGFuZ2VkLGRvbmU6ITB9OnQ9PT1gbm9fZnVuZHNfZm9yX2ZlZWA_e3RleHQ6cS5ub0Z1bmRzRm9yRmVlLGRvbmU6ITB9Ont0ZXh0OnEubW92ZUZhaWxlZCxkb25lOiEwfX1kZWZhdWx0OnJldHVybnt0ZXh0OnEubW92ZUZhaWxlZCxkb25lOiExfX19ZnVuY3Rpb24gbmQoe25ldDplLHNvb246dCxvblR1cm46bixvbkNoZWNrQWdhaW46cn0pe2xldFtpLGFdPSgwLGwudXNlU3RhdGUpKGBpZGxlYCksbz1adVtlLm5ldHdvcmtdO3JldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGFsLWNyZWRpdHMgcGYtdG9wdXBgLCJhcmlhLWxhYmVsIjpxLmFkZENyZWRpdHNUaXRsZSxjaGlsZHJlbjpbKDAsQy5qc3gpKGBoMmAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0zYCxjaGlsZHJlbjpxLmFkZENyZWRpdHNUaXRsZX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpxLmFkZENyZWRpdHNJbnRyb30pLCgwLEMuanN4cykoYGRsYCx7Y2xhc3NOYW1lOmBwZi1mYWN0cyBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGR0YCx7Y2xhc3NOYW1lOmBhbC1tdXRlZGAsY2hpbGRyZW46cS5uZXR3b3JrTGFiZWx9KSwoMCxDLmpzeCkoYGRkYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOm99KSwoMCxDLmpzeCkoYGR0YCx7Y2xhc3NOYW1lOmBhbC1tdXRlZGAsY2hpbGRyZW46cS5jb2luTGFiZWx9KSwoMCxDLmpzeCkoYGRkYCx7Y2hpbGRyZW46cS5jb2lufSldfSksKDAsQy5qc3gpKFh1LHt2YWx1ZTplLmFkZHJlc3MsbGFiZWw6cS5xckxhYmVsfSksKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46cS5hZGRyZXNzTGFiZWx9KSwoMCxDLmpzeCkoYGNvZGVgLHtjbGFzc05hbWU6YHBmLWFkZHJlc3MgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjplLmFkZHJlc3N9KSwoMCxDLmpzeCkoTyx7c2l6ZTpgc21gLG9uQ2xpY2s6KCk9PntsZXQgdD1nbG9iYWxUaGlzLm5hdmlnYXRvcj8uY2xpcGJvYXJkO3Q9PT12b2lkIDA_YShgZmFpbGVkYCk6dC53cml0ZVRleHQoZS5hZGRyZXNzKS50aGVuKCgpPT5hKGBjb3BpZWRgKSwoKT0-YShgZmFpbGVkYCkpfSxjaGlsZHJlbjpxLmNvcHlBZGRyZXNzfSksaT09PWBpZGxlYD9udWxsOigwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uYCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOmk9PT1gY29waWVkYD9xLmNvcGllZDpxLmNvcHlGYWlsZWR9KSwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46cS5wcml2YWN5fSksZS5hdmFpbGFibGU_UGwoZS5hZGRhYmxlLmFtb3VudCk_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlF1KGUuYWRkYWJsZS51c2QpfSksKDAsQy5qc3gpKE8se3ZhcmlhbnQ6YHByaW1hcnlgLG9uQ2xpY2s6KCk9Pm4oe2tpbmQ6YGRlcG9zaXRgLG1vbmV5OmUuYWRkYWJsZSxuZXQ6ZX0pLGNoaWxkcmVuOnEudHVybkludG9DcmVkaXRzfSldfSk6KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOnEubm90aGluZ1lldH0pLCgwLEMuanN4KShPLHtzaXplOmBzbWAsb25DbGljazpyLGNoaWxkcmVuOnEuY2hlY2tBZ2Fpbn0pXX0pOigwLEMuanN4cykoQy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpxLm5vdFJlYWRhYmxlfSksKDAsQy5qc3gpKE8se3NpemU6YHNtYCxvbkNsaWNrOnIsY2hpbGRyZW46cS5jaGVja0FnYWlufSldfSksdC5tYXAoZT0-KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOkooZSl9LGUpKV19KX1mdW5jdGlvbiByZCh7YXBpOmUsbW92ZTp0LG9uQ2xvc2U6bixvbkRvbmU6cn0pe2xldFtpLGFdPSgwLGwudXNlU3RhdGUpKGBgKSxbbyxzXT0oMCxsLnVzZVN0YXRlKSghMSksW2MsdV09KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxkPVp1W3QubmV0Lm5ldHdvcmtdLGY9dC5raW5kPT09YGRlcG9zaXRgO3JldHVybigwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGFsLWNyZWRpdHMgcGYtY29uZmlybWAsImFyaWEtbGFiZWwiOnEuY29uZmlybVRpdGxlLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTNgLGNoaWxkcmVuOmY_WSh0Lm1vbmV5LnVzZCk6WCh0Lm1vbmV5LnVzZCl9KSwoMCxDLmpzeHMpKGBkbGAse2NsYXNzTmFtZTpgcGYtZmFjdHMgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBkdGAse2NsYXNzTmFtZTpgYWwtbXV0ZWRgLGNoaWxkcmVuOnEuYW1vdW50TGFiZWx9KSwoMCxDLmpzeCkoYGRkYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOnQubW9uZXkudXNkfSksKDAsQy5qc3gpKGBkdGAse2NsYXNzTmFtZTpgYWwtbXV0ZWRgLGNoaWxkcmVuOnEuZnJvbUxhYmVsfSksKDAsQy5qc3gpKGBkZGAse2NoaWxkcmVuOmY_cS5mcm9tUmVjZWl2ZWQ6cS5mcm9tQ3JlZGl0c30pLCgwLEMuanN4KShgZHRgLHtjbGFzc05hbWU6YGFsLW11dGVkYCxjaGlsZHJlbjpxLnRvTGFiZWx9KSwoMCxDLmpzeCkoYGRkYCx7Y2hpbGRyZW46Zj9xLnRvQ3JlZGl0czooMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOltxLnRvT3duQWNjb3VudCwoMCxDLmpzeCkoYGNvZGVgLHtjbGFzc05hbWU6YHBmLWFkZHJlc3MgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjp0Lm5ldC5hZGRyZXNzfSldfSl9KSwoMCxDLmpzeCkoYGR0YCx7Y2xhc3NOYW1lOmBhbC1tdXRlZGAsY2hpbGRyZW46cS5uZXR3b3JrTGFiZWx9KSwoMCxDLmpzeCkoYGRkYCx7Y2hpbGRyZW46ZH0pXX0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpmP3EucmVzZXJ2ZU5vdGU6cS53aXRoZHJhd05vdGV9KSwoMCxDLmpzeHMpKGBmb3JtYCx7Y2xhc3NOYW1lOmBwZi1jb25maXJtLWZvcm1gLG9uU3VibWl0Om49PntpZihuPy5wcmV2ZW50RGVmYXVsdCgpLG98fGkubGVuZ3RoPT09MClyZXR1cm47cyghMCksdSh2b2lkIDApO2xldCBjPXtuZXR3b3JrOnQubmV0Lm5ldHdvcmssYW1vdW50OnQubW9uZXkuYW1vdW50fSxsPWk7YShgYCksZS5vd25lcihmP1RsOkVsLGMsbCkudGhlbihlPT57cyghMSk7bGV0IHQ9dGQoZSk7dC5kb25lP3IodC50ZXh0KTp1KHQudGV4dCl9KX0sY2hpbGRyZW46WygwLEMuanN4KSh0ZSx7bGFiZWw6cS5vd25lckNvZGUsaGludDprbix0eXBlOmBwYXNzd29yZGAsYXV0b0NvbXBsZXRlOmBvZmZgLG1vbm86ITAsdmFsdWU6aSxvbkNoYW5nZTplPT5hKGUuY3VycmVudFRhcmdldC52YWx1ZSl9KSxjPT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLHJvbGU6YGFsZXJ0YCxjaGlsZHJlbjpjfSksKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBwZi1jb25maXJtLWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxDLmpzeCkoTyx7dHlwZTpgc3VibWl0YCx2YXJpYW50OmBwcmltYXJ5YCxkaXNhYmxlZDpvfHxpLmxlbmd0aD09PTAsY2hpbGRyZW46bz9xLndvcmtpbmc6cS5jb25maXJtfSksKDAsQy5qc3gpKE8se3R5cGU6YGJ1dHRvbmAsdmFyaWFudDpgZ2hvc3RgLGRpc2FibGVkOm8sb25DbGljazpuLGNoaWxkcmVuOnEuY2FuY2VsfSldfSldfSldfSl9dmFyIGlkPTEwMCxhZD01ZTMsb2Q9MjQsc2Q9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodm9pZCAwLHtkYXk6YG51bWVyaWNgLG1vbnRoOmBzaG9ydGAsaG91cjpgMi1kaWdpdGAsbWludXRlOmAyLWRpZ2l0YH0pO2Z1bmN0aW9uIGNkKHtzZWNvbmRzOmV9KXtsZXQgdD1uZXcgRGF0ZShlKjFlMyk7cmV0dXJuKDAsQy5qc3gpKGB0aW1lYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNvZGVgLGRhdGVUaW1lOnQudG9JU09TdHJpbmcoKSxjaGlsZHJlbjpzZC5mb3JtYXQodCl9KX1mdW5jdGlvbiBsZChlKXtsZXQgdD1uZXcgTWFwO3JldHVybiBlLm1hcChlPT57bGV0IG49YCR7U3RyaW5nKGUuY3JlYXRlZEF0KX0tJHtlLmRpcmVjdGlvbn1gLHI9dC5nZXQobik_PzA7cmV0dXJuIHQuc2V0KG4scisxKSxgJHtufS0ke1N0cmluZyhyKX1gfSl9ZnVuY3Rpb24gdWQoZSx0KXtpZihlLmxlbmd0aD09PTApcmV0dXJuIHQ7bGV0IG49TWF0aC5taW4oLi4uZS5tYXAoZT0-ZS5jcmVhdGVkQXQpKSxyPWUuZmlsdGVyKGU9PmUuY3JlYXRlZEF0PT09bikubGVuZ3RoLGk9MCxhPXQuZmlsdGVyKGU9PmUuY3JlYXRlZEF0PG4_ITA6ZS5jcmVhdGVkQXQ-bj8hMTooaSs9MSxpPnIpKTtyZXR1cm5bLi4uZSwuLi5hXX12YXIgZGQ9ZT0-ZT09PWByZWNvcmRpbmdgfHxlPT09YHN1Ym1pdHRlZGA7ZnVuY3Rpb24gZmQoe2l0ZW1zOmUsbW9tZW50czp0fSl7bGV0IG49bGQoZSk7cmV0dXJuKDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YHBmLXRhYmxlLXdyYXBgLHJvbGU6YHJlZ2lvbmAsdGFiSW5kZXg6MCwiYXJpYS1sYWJlbCI6cS5saXN0Q2FwdGlvbixjaGlsZHJlbjooMCxDLmpzeHMpKGB0YWJsZWAse2NsYXNzTmFtZTpgcGYtdGFibGVgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGNhcHRpb25gLHtjbGFzc05hbWU6YGFsLXNyLW9ubHlgLGNoaWxkcmVuOnEubGlzdENhcHRpb259KSwoMCxDLmpzeCkoYHRoZWFkYCx7Y2hpbGRyZW46KDAsQy5qc3hzKShgdHJgLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYHRoYCx7c2NvcGU6YGNvbGAsY2hpbGRyZW46cS5jb2xQcm9vZn0pLCgwLEMuanN4KShgdGhgLHtzY29wZTpgY29sYCxjaGlsZHJlbjpxLmNvbFdoZW59KSwoMCxDLmpzeCkoYHRoYCx7c2NvcGU6YGNvbGAsY2hpbGRyZW46cS5jb2xTdGF0dXN9KV19KX0pLCgwLEMuanN4KShgdGJvZHlgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46ZS5tYXAoKGUscik9PigwLEMuanN4cykoYHRyYCx7Y2hpbGRyZW46WygwLEMuanN4KShgdGRgLHtjaGlsZHJlbjooMCxDLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBwZi1kaXJgLGNoaWxkcmVuOlsoMCxDLmpzeCkodyx7bmFtZTplLmRpcmVjdGlvbj09PWBzZW50YD9gYXJyb3ctcmlnaHRgOmBpbmJveGAsc2l6ZToxNn0pLGUuZGlyZWN0aW9uPT09YHNlbnRgP3Euc2VudDpxLnJlY2VpdmVkXX0pfSksKDAsQy5qc3gpKGB0ZGAse2NoaWxkcmVuOigwLEMuanN4KShjZCx7c2Vjb25kczplLmNyZWF0ZWRBdH0pfSksKDAsQy5qc3hzKShgdGRgLHtjaGlsZHJlbjpbKDAsQy5qc3gpKHRuLHtzdGF0ZTplLnN0YXRlfSksdC5oYXMobltyXT8_YGApPygwLEMuanN4KSh4dCx7a2luZDpgcHJvb2ZgfSk6bnVsbF19KV19LG5bcl0pKX0pXX0pfSl9ZnVuY3Rpb24gcGQoZSl7bGV0W3Qsbl09KDAsbC51c2VTdGF0ZSkoMCk7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgpPT57bGV0IHQ9MCxyPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0-e3Q9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5uKGUpKX0pO3JldHVybigpPT57Y2FuY2VsQW5pbWF0aW9uRnJhbWUociksY2FuY2VsQW5pbWF0aW9uRnJhbWUodCl9fSxbZV0pLHR9ZnVuY3Rpb24gbWQoe3Byb29mczplLGJhbGFuY2U6dH0pe2xldCBuPXBkKGUpO3JldHVybigwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgcGYtcmluZ2AsLi4ubj09PWU_e306eyJhcmlhLWhpZGRlbiI6ITB9LGNoaWxkcmVuOigwLEMuanN4KShRdCx7bGFiZWw6cS5jcmVkaXRzTGFiZWwsdmFsdWU6bixtYXg6TWF0aC5tYXgoaWQsZSksdGV4dDplZCh0KSxzaXplOmBsZ2B9KX0pfWZ1bmN0aW9uIGhkKHtjcmVkaXRzOmUsYWN0aW9uczp0fSl7cmV0dXJuIGUua2luZD09PWBsb2FkaW5nYD8oMCxDLmpzeHMpKHNuLHthczpgc2VjdGlvbmAsbGV2ZWw6MixjbGFzc05hbWU6YGFsLWNyZWRpdHNgLCJhcmlhLWxhYmVsIjpxLmNyZWRpdHNMYWJlbCwiYXJpYS1idXN5IjpgdHJ1ZWAsY2hpbGRyZW46WygwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsIGFsLW11dGVkYCxjaGlsZHJlbjpxLmNyZWRpdHNMYWJlbH0pLCgwLEMuanN4KSgkdCx7bG9hZGluZzohMCxsaW5lczozfSldfSk6ZS5raW5kPT09YG9rYD8oMCxDLmpzeHMpKHNuLHthczpgc2VjdGlvbmAsbGV2ZWw6MixjbGFzc05hbWU6ZS5wcm9vZnNMZWZ0PT09MD9gYWwtY3JlZGl0cyBpcy1lbXB0eWA6YGFsLWNyZWRpdHNgLCJhcmlhLWxhYmVsIjpxLmNyZWRpdHNMYWJlbCxjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1jcmVkaXRzLXRvcGAsY2hpbGRyZW46WygwLEMuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbCBhbC1tdXRlZGAsY2hpbGRyZW46ZS50ZXN0P3EudGVzdENyZWRpdHNMYWJlbDpxLmNyZWRpdHNMYWJlbH0pLCgwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1jcmVkaXRzLWJhbCBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOlooZS5wcm9vZnNMZWZ0KX0pXX0pLCgwLEMuanN4KShtZCx7cHJvb2ZzOmUucHJvb2ZzTGVmdCxiYWxhbmNlOmUuYmFsYW5jZX0pXX0pLGUucGFydGlhbD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46cS5jcmVkaXRzUGFydGlhbH0pOm51bGwsZS50ZXN0PygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpxLnRlc3RDcmVkaXRzfSk6bnVsbCwoMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46RXQudHJ1c3RDcmVkaXRzfSksZS50ZXN0JiZlLnByb29mc0xlZnQ9PT0wPygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpxLmZpcnN0UHJvb2ZGcmVlfSk6bnVsbCx0Pz8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46cS5hZGRDcmVkaXRzTm90QXZhaWxhYmxlfSldfSk6KDAsQy5qc3hzKShzbix7YXM6YHNlY3Rpb25gLGxldmVsOjIsY2xhc3NOYW1lOmBhbC1jcmVkaXRzYCwiYXJpYS1sYWJlbCI6cS5jcmVkaXRzTGFiZWwsY2hpbGRyZW46WygwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsIGFsLW11dGVkYCxjaGlsZHJlbjpxLmNyZWRpdHNMYWJlbH0pLCgwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpxLmNyZWRpdHNVbmF2YWlsYWJsZX0pXX0pfXZhciBnZD1lPT5lLmtpbmQ9PT1gZXJyb3JgJiZlLnN0YXR1cz09PTQwOSxfZD1lPT5nZChlKT97a2luZDpgbm90X3NldF91cGB9OntraW5kOmBlcnJvcmB9O2Z1bmN0aW9uIHZkKHthcGk6ZX09e30pe2xldCB0PSgwLGwudXNlTWVtbykoKCk9PmU_P0duKCksW2VdKSxbbixyXT0oMCxsLnVzZVN0YXRlKSh7cGhhc2U6YGxvYWRpbmdgfSksW2ksYV09KDAsbC51c2VTdGF0ZSkoe2tpbmQ6YGxvYWRpbmdgfSksW28sc109KDAsbC51c2VTdGF0ZSkoe2tpbmQ6YHVuYXZhaWxhYmxlYH0pLFtjLHVdPSgwLGwudXNlU3RhdGUpKGBub25lYCksW2QsZl09KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxbcCxtXT0oMCxsLnVzZVN0YXRlKSh2b2lkIDApLFtoLGddPSgwLGwudXNlU3RhdGUpKCExKSxbXyx2XT0oMCxsLnVzZVN0YXRlKShuZXcgU2V0KSxbeSxiXT0oMCxsLnVzZVN0YXRlKSh2b2lkIDApLHg9KDAsbC51c2VSZWYpKG5ldyBNYXApLFM9KDAsbC51c2VSZWYpKDApLHc9KDAsbC51c2VDYWxsYmFjaykoKCk9Pnt0LmdldCh3bCkudGhlbihlPT57YShlLmtpbmQ9PT1gb2tgP1NsKGUuZGF0YSk6Z2QoZSk_e2tpbmQ6YG5vdF9zZXRfdXBgfTp7a2luZDpgdW5hdmFpbGFibGVgfSl9KSx0LmdldChUbCkudGhlbihlPT57cyhlLmtpbmQ9PT1gb2tgP01sKGUuZGF0YSk6e2tpbmQ6YHVuYXZhaWxhYmxlYH0pfSl9LFt0XSksVD0oMCxsLnVzZUNhbGxiYWNrKSgoKT0-e3QuZ2V0KENsKCkpLnRoZW4oZT0-e2xldCB0PWUua2luZD09PWBva2A_eGwoZS5kYXRhKTp2b2lkIDA7aWYodD8ua2luZCE9PWBva2ApcmV0dXJuO2xldCBuPWxkKHQuaXRlbXMpLGk9dC5pdGVtcy5tYXAoKGUsdCk9PltlLG5bdF0_P2BgXSkuZmlsdGVyKChbZSx0XSk9PmUuc3RhdGU9PT1gcmVjb3JkZWRgJiZkZCh4LmN1cnJlbnQuZ2V0KHQpPz9gYCkpLm1hcCgoWyxlXSk9PmUpO3QuaXRlbXMuZm9yRWFjaCgoZSx0KT0-eC5jdXJyZW50LnNldChuW3RdPz9gYCxlLnN0YXRlKSksaS5sZW5ndGg-MCYmdihlPT5uZXcgU2V0KFsuLi5lLC4uLmldKSkscihlPT5lLnBoYXNlPT09YG9rYD97Li4uZSxpdGVtczp1ZCh0Lml0ZW1zLGUuaXRlbXMpfTplKX0pLHQuZ2V0KHdsKS50aGVuKGU9PntsZXQgdD1lLmtpbmQ9PT1gb2tgP1NsKGUuZGF0YSk6dm9pZCAwO3Q_LmtpbmQ9PT1gb2tgJiZhKHQpfSl9LFt0XSksRT15IT09dm9pZCAwfHxuLnBoYXNlPT09YG9rYCYmbi5pdGVtcy5zb21lKGU9PmRkKGUuc3RhdGUpKTsoMCxsLnVzZUVmZmVjdCkoKCk9PntpZighRSlyZXR1cm47bGV0IGU9c2V0SW50ZXJ2YWwoKCk9PntTLmN1cnJlbnQrPTEseSE9PXZvaWQgMCYmUy5jdXJyZW50Pm9kJiZiKHZvaWQgMCksVCgpfSxhZCk7cmV0dXJuKCk9PmNsZWFySW50ZXJ2YWwoZSl9LFtFLHksVF0pLCgwLGwudXNlRWZmZWN0KSgoKT0-e3khPT12b2lkIDAmJmkua2luZD09PWBva2AmJmkucHJvb2ZzTGVmdD55LmZyb20mJmIodm9pZCAwKX0sW2kseV0pLCgwLGwudXNlRWZmZWN0KSgoKT0-e2xldCBlPSEwO3JldHVybiB0LmdldChDbCgpKS50aGVuKHQ9PntpZighZSlyZXR1cm47bGV0IG49dC5raW5kPT09YG9rYD94bCh0LmRhdGEpOl9kKHQpO2lmKG4ua2luZD09PWBva2Ape2xldCBlPWxkKG4uaXRlbXMpO24uaXRlbXMuZm9yRWFjaCgodCxuKT0-eC5jdXJyZW50LnNldChlW25dPz9gYCx0LnN0YXRlKSkscih7cGhhc2U6YG9rYCxpdGVtczpuLml0ZW1zLG1vcmU6YGlkbGVgLC4uLm4ubmV4dD09PXZvaWQgMD97fTp7bmV4dDpuLm5leHR9fSl9ZWxzZSByKHtwaGFzZTpuLmtpbmR9KX0pLHQuZ2V0KHdsKS50aGVuKHQ9PntlJiZhKHQua2luZD09PWBva2A_U2wodC5kYXRhKTpnZCh0KT97a2luZDpgbm90X3NldF91cGB9OntraW5kOmB1bmF2YWlsYWJsZWB9KX0pLHQuZ2V0KFRsKS50aGVuKHQ9PntlJiZzKHQua2luZD09PWBva2A_TWwodC5kYXRhKTp7a2luZDpgdW5hdmFpbGFibGVgfSl9KSwoKT0-e2U9ITF9fSxbdF0pO2xldCBEPSgwLGwudXNlQ2FsbGJhY2spKCgpPT57aWYobi5waGFzZSE9PWBva2B8fG4ubmV4dD09PXZvaWQgMHx8bi5tb3JlPT09YGxvYWRpbmdgKXJldHVybjtsZXR7aXRlbXM6ZSxuZXh0Oml9PW47cih7Li4ubixtb3JlOmBsb2FkaW5nYH0pLHQuZ2V0KENsKGkpKS50aGVuKHQ9PntsZXQgbj10LmtpbmQ9PT1gb2tgP3hsKHQuZGF0YSk6e2tpbmQ6YGVycm9yYH07cihuLmtpbmQ9PT1gb2tgP3twaGFzZTpgb2tgLGl0ZW1zOlsuLi5lLC4uLm4uaXRlbXNdLG1vcmU6YGlkbGVgLC4uLm4ubmV4dD09PXZvaWQgMD97fTp7bmV4dDpuLm5leHR9fTp7cGhhc2U6YG9rYCxpdGVtczplLG5leHQ6aSxtb3JlOmBlcnJvcmB9KX0pfSxbdCxuXSksZWU9W107bi5waGFzZT09PWBva2AmJmVlLnB1c2goe2tpbmQ6YGNvdW50YCxsYWJlbDpgUHJvb2ZzIHNob3duYCx2YWx1ZTpTdHJpbmcobi5pdGVtcy5sZW5ndGgpfSksaS5raW5kPT09YG9rYCYmKGVlLnB1c2goe2tpbmQ6YHRleHRgLGxhYmVsOmBQcm9vZiBmZWVgLHZhbHVlOmkucHJpY2V9KSxlZS5wdXNoKHtraW5kOmB0ZXh0YCxsYWJlbDpgQ3JlZGl0cyB0eXBlYCx2YWx1ZTppLnRlc3Q_cS50ZXN0Q3JlZGl0c0xhYmVsOnEuY3JlZGl0c0xhYmVsfSkpO2xldCB0ZT0oMCxDLmpzeCkoYGgxYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOk9uLnByb29mc30pLG5lPU5sKG8pLHJlPW8ua2luZD09PWBva2A_by5uZXR3b3Jrcy5maWx0ZXIoZT0-ZS5tZXRob2Q9PT1gY29taW5nX3Nvb25gKS5tYXAoZT0-WnVbZS5uZXR3b3JrXSk6W10saWU9bmU_LmF2YWlsYWJsZT09PSEwJiZQbChuZS5jcmVkaXRzLmFtb3VudCk_bmU6dm9pZCAwLGs9bmU9PT12b2lkIDA_dm9pZCAwOigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcGYtYWN0aW9uc2AsY2hpbGRyZW46W2M9PT1gYWRkYD9udWxsOigwLEMuanN4KShPLHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBzbWAsb25DbGljazooKT0-e20odm9pZCAwKSxmKHZvaWQgMCksdShgYWRkYCl9LGNoaWxkcmVuOnEuYWRkQ3JlZGl0c30pLGllPT09dm9pZCAwP251bGw6KDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBwZi1hZHZhbmNlZGAsY2hpbGRyZW46WygwLEMuanN4KShPLHtzaXplOmBzbWAsdmFyaWFudDpgZ2hvc3RgLCJhcmlhLWV4cGFuZGVkIjpoLCJhcmlhLWNvbnRyb2xzIjpgcGYtYWR2YW5jZWQtYWN0aW9uc2Asb25DbGljazooKT0-ZyghaCksY2hpbGRyZW46cS5hZHZhbmNlZH0pLGg_KDAsQy5qc3gpKGBkaXZgLHtpZDpgcGYtYWR2YW5jZWQtYWN0aW9uc2AsY2xhc3NOYW1lOmBwZi1hY3Rpb25zYCxjaGlsZHJlbjooMCxDLmpzeCkoTyx7c2l6ZTpgc21gLG9uQ2xpY2s6KCk9PnttKHZvaWQgMCksdShgbm9uZWApLGYoe2tpbmQ6YHdpdGhkcmF3YCxtb25leTppZS5jcmVkaXRzLG5ldDppZX0pfSxjaGlsZHJlbjpxLndpdGhkcmF3fSl9KTpudWxsXX0pXX0pO3JldHVybiBuLnBoYXNlPT09YG5vdF9zZXRfdXBgfHxpLmtpbmQ9PT1gbm90X3NldF91cGA_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbdGUsKDAsQy5qc3gpKEEse2ljb246YGluZm9gLHRpdGxlOnEubm90U2V0VXB9KV19KTooMCxDLmpzeHMpKEMuRnJhZ21lbnQse2NoaWxkcmVuOlt0ZSwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YHBmLWxheW91dGAsY2hpbGRyZW46WygwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBwZi1saXN0YCxjaGlsZHJlbjooMCxDLmpzeCkoJHQse2xvYWRpbmc6bi5waGFzZT09PWBsb2FkaW5nYCxsaW5lczo1LGNoaWxkcmVuOm4ucGhhc2U9PT1gZXJyb3JgPygwLEMuanN4KShBLHtpY29uOmBjaXJjbGUtYWxlcnRgLHRpdGxlOnEubGlzdFVuYXZhaWxhYmxlfSk6bi5waGFzZT09PWBva2AmJm4uaXRlbXMubGVuZ3RoPT09MD8oMCxDLmpzeCkoQSx7aWNvbjpgcHJvb2Ytc2VhbGAsdGl0bGU6cS5lbXB0eVRpdGxlLHByb21wdDpxLmVtcHR5UHJvbXB0fSk6bi5waGFzZT09PWBva2A_KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGZkLHtpdGVtczpuLml0ZW1zLG1vbWVudHM6X30pLG4ubW9yZT09PWBlcnJvcmA_KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46cS5saXN0VW5hdmFpbGFibGV9KTpudWxsLG4ubmV4dD09PXZvaWQgMD9udWxsOigwLEMuanN4KShPLHtjbGFzc05hbWU6YHBmLW1vcmVgLHNpemU6YHNtYCxkaXNhYmxlZDpuLm1vcmU9PT1gbG9hZGluZ2Asb25DbGljazpELGNoaWxkcmVuOnEubG9hZE1vcmV9KV19KTpudWxsfSl9KSwoMCxDLmpzeHMpKGBhc2lkZWAse2NsYXNzTmFtZTpgcGYtc2lkZWAsY2hpbGRyZW46WygwLEMuanN4KShoZCx7Y3JlZGl0czppLGFjdGlvbnM6a30pLHA9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAscm9sZTpgc3RhdHVzYCxjaGlsZHJlbjpwfSksZD09PXZvaWQgMD9jPT09YGFkZGAmJm5lIT09dm9pZCAwPygwLEMuanN4KShuZCx7bmV0Om5lLHNvb246cmUsb25UdXJuOmU9PnttKHZvaWQgMCksZihlKX0sb25DaGVja0FnYWluOnd9KTpudWxsOigwLEMuanN4KShyZCx7YXBpOnQsbW92ZTpkLG9uQ2xvc2U6KCk9PmYodm9pZCAwKSxvbkRvbmU6ZT0-e2Qua2luZD09PWBkZXBvc2l0YCYmZT09PXEucGVuZGluZyYmKFMuY3VycmVudD0wLGIoe2Zyb206aS5raW5kPT09YG9rYD9pLnByb29mc0xlZnQ6MH0pKSxmKHZvaWQgMCksdShgbm9uZWApLG0oZSksdygpfX0pLHk9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YHBmLXdhaXRpbmcgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOnEud2FpdGluZ30pLGkua2luZD09PWBva2A_KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOiR1KGkucHJpY2UpfSk6bnVsbF19KV19KSwoMCxDLmpzeCkoWmUse2ZpZWxkczplZX0pXX0pfXZhciB5ZD1gL2FwaS91aS9ydWxlc2AsYmQ9L14oMHxbMS05XVswLTldezAsOH0pKFwuWzAtOV17MCw1fVsxLTldKT8kLyx4ZD0vXlswLTlhLWZdezY0fSQvLFNkPS9eW2Etel1bYS16X117MSw2M30kLyxDZD0xMDI0MCx3ZD1lPT50eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSksVGQ9KGUsdCk9PnR5cGVvZiBlPT1gc3RyaW5nYCYmdC5pbmNsdWRlcyhlKSxFZD1lPT50eXBlb2YgZT09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGUpJiZlPj0wJiZlPD0xZTUsRGQ9ZT0-dHlwZW9mIGU9PWBudW1iZXJgJiZOdW1iZXIuaXNTYWZlSW50ZWdlcihlKSYmZT49MSYmZTw9Q2QsT2Q9ZT0-dHlwZW9mIGU9PWBzdHJpbmdgJiZiZC50ZXN0KGUpLGtkPVtgYWxsb3dgLGBhcHByb3ZhbGAsYGRlbnlgXTtmdW5jdGlvbiBBZChlKXtpZighd2QoZSkpcmV0dXJuO2xldHtwcm9vZnM6dCxjb250YWN0czpuLGZpbGVzOnIscmVjZWlwdHM6aSxjb21taXRtZW50czphfT1lO2lmKHdkKHQpJiZ3ZChuKSYmd2QocikmJndkKGkpJiZ3ZChhKSYmVGQodC5ub3Rhcml6ZSxrZCkmJk9kKHQuZGFpbHlCdWRnZXRVU0QpJiZPZCh0LnBlckFjdGlvbk1heFVTRCkmJlRkKHQuYWxsb3dLZXlEaXNjbG9zdXJlLFtgYXBwcm92YWxgLGBkZW55YF0pJiZUZChuLmFjY2VwdEludml0ZXMsW2BhcHByb3ZhbGAsYGF1dG9gXSkmJlRkKG4udW5rbm93blNlbmRlcnMsW2BxdWV1ZWAsYGRyb3BgXSkmJlRkKG4uYWxsb3dlZCxbYHBhaXJlZGAsYGxpc3RlZGBdKSYmRWQobi5saXN0ZWQpJiZEZChyLm1heFNlbmRTaXplTUIpJiZEZChyLm1heFJlY2VpdmVTaXplTUIpJiZ0eXBlb2YgaS5hdXRvRGVsaXZlcmVkPT1gYm9vbGVhbmAmJlRkKGEuYWNjZXB0LGtkKSYmVGQoYS5hdXRvQWNjZXB0RGlyZWN0aW9uLFtgYnV5YCxgc2VsbGBdKSYmT2QoYS5hdXRvQWNjZXB0TWF4VVNEKSYmKGEuYXV0b0FjY2VwdE1pblVTRD09PW51bGx8fE9kKGEuYXV0b0FjY2VwdE1pblVTRCkpJiZFZChhLmF1dG9BY2NlcHRDb250YWN0cykpcmV0dXJue3Byb29mczp7bm90YXJpemU6dC5ub3Rhcml6ZSxkYWlseUJ1ZGdldFVTRDp0LmRhaWx5QnVkZ2V0VVNELHBlckFjdGlvbk1heFVTRDp0LnBlckFjdGlvbk1heFVTRCxhbGxvd0tleURpc2Nsb3N1cmU6dC5hbGxvd0tleURpc2Nsb3N1cmV9LGNvbnRhY3RzOnthY2NlcHRJbnZpdGVzOm4uYWNjZXB0SW52aXRlcyx1bmtub3duU2VuZGVyczpuLnVua25vd25TZW5kZXJzLGFsbG93ZWQ6bi5hbGxvd2VkLGxpc3RlZDpuLmxpc3RlZH0sZmlsZXM6e21heFNlbmRTaXplTUI6ci5tYXhTZW5kU2l6ZU1CLG1heFJlY2VpdmVTaXplTUI6ci5tYXhSZWNlaXZlU2l6ZU1CfSxyZWNlaXB0czp7YXV0b0RlbGl2ZXJlZDppLmF1dG9EZWxpdmVyZWR9LGNvbW1pdG1lbnRzOnthY2NlcHQ6YS5hY2NlcHQsYXV0b0FjY2VwdERpcmVjdGlvbjphLmF1dG9BY2NlcHREaXJlY3Rpb24sYXV0b0FjY2VwdE1heFVTRDphLmF1dG9BY2NlcHRNYXhVU0QsYXV0b0FjY2VwdE1pblVTRDphLmF1dG9BY2NlcHRNaW5VU0QsYXV0b0FjY2VwdENvbnRhY3RzOmEuYXV0b0FjY2VwdENvbnRhY3RzfX19ZnVuY3Rpb24gamQoZSl7aWYoIXdkKGUpKXJldHVybntraW5kOmB1bmF2YWlsYWJsZWB9O2lmKGUuc3RhdHVzPT09YG5vdF92YWxpZGApcmV0dXJue2tpbmQ6YG5vdF92YWxpZGB9O2lmKGUuc3RhdHVzIT09YG9rYClyZXR1cm57a2luZDpgdW5hdmFpbGFibGVgfTtsZXR7dmVyc2lvbjp0fT1lO2lmKHR5cGVvZiB0IT1gbnVtYmVyYHx8IU51bWJlci5pc1NhZmVJbnRlZ2VyKHQpfHx0PDApcmV0dXJue2tpbmQ6YHVuYXZhaWxhYmxlYH07bGV0IG49QWQoZS5ydWxlcyk7cmV0dXJuIG49PT12b2lkIDA_e2tpbmQ6YHVuYXZhaWxhYmxlYH06e2tpbmQ6YG9rYCx2ZXJzaW9uOnQscnVsZXM6bn19ZnVuY3Rpb24gTWQoZSl7aWYoIXdkKGUpfHxlLnN0YXR1cyE9PWByZXZpZXdgKXJldHVybjtsZXR7cmV2aWV3OnQsd2FybmluZ3M6bixhc2tLZWVwRGVsaXZlcnlSZWNlaXB0czpyfT1lO2lmKHR5cGVvZiB0IT1gc3RyaW5nYHx8IXhkLnRlc3QodCl8fHR5cGVvZiByIT1gYm9vbGVhbmB8fCFBcnJheS5pc0FycmF5KG4pKXJldHVybjtsZXQgaT1bXTtmb3IobGV0IGUgb2Ygbil7aWYoIXdkKGUpfHx0eXBlb2YgZS5jb2RlIT1gc3RyaW5nYHx8IVNkLnRlc3QoZS5jb2RlKSlyZXR1cm47aS5wdXNoKEVkKGUuY29udGFjdHMpP3tjb2RlOmUuY29kZSxjb250YWN0czplLmNvbnRhY3RzfTp7Y29kZTplLmNvZGV9KX1yZXR1cm57cmV2aWV3OnQsd2FybmluZ3M6aSxhc2tLZWVwRGVsaXZlcnlSZWNlaXB0czpyfX12YXIgTmQ9ZT0-ZS5jb21taXRtZW50cy5hY2NlcHQhPT1gZGVueWAmJmUuY29tbWl0bWVudHMuYXV0b0FjY2VwdERpcmVjdGlvbj09PWBidXlgJiZlLmNvbW1pdG1lbnRzLmF1dG9BY2NlcHRDb250YWN0cz4wJiZlLmNvbW1pdG1lbnRzLmF1dG9BY2NlcHRNYXhVU0QhPT1gMGAsUGQ9ZT0-ZS5jb21taXRtZW50cy5hY2NlcHQhPT1gZGVueWAmJmUuY29tbWl0bWVudHMuYXV0b0FjY2VwdERpcmVjdGlvbj09PWBzZWxsYCYmZS5jb21taXRtZW50cy5hdXRvQWNjZXB0TWluVVNEIT09bnVsbDtmdW5jdGlvbiBGZChlKXtyZXR1cm57bm90YXJpemU6ZS5wcm9vZnMubm90YXJpemUsZGFpbHlCdWRnZXRVU0Q6ZS5wcm9vZnMuZGFpbHlCdWRnZXRVU0QscGVyQWN0aW9uTWF4VVNEOmUucHJvb2ZzLnBlckFjdGlvbk1heFVTRCxhY2NlcHRJbnZpdGVzOmUuY29udGFjdHMuYWNjZXB0SW52aXRlcyxhY2NlcHQ6ZS5jb21taXRtZW50cy5hY2NlcHQsdW5rbm93blNlbmRlcnM6ZS5jb250YWN0cy51bmtub3duU2VuZGVycyxhbGxvd0tleURpc2Nsb3N1cmU6ZS5wcm9vZnMuYWxsb3dLZXlEaXNjbG9zdXJlLG1heFNlbmRTaXplTUI6U3RyaW5nKGUuZmlsZXMubWF4U2VuZFNpemVNQiksbWF4UmVjZWl2ZVNpemVNQjpTdHJpbmcoZS5maWxlcy5tYXhSZWNlaXZlU2l6ZU1CKSxidXlPbjpOZChlKSxidXlNYXhVU0Q6ZS5jb21taXRtZW50cy5hdXRvQWNjZXB0TWF4VVNEPT09YDBgP2BgOmUuY29tbWl0bWVudHMuYXV0b0FjY2VwdE1heFVTRCxzZWxsT246UGQoZSksc2VsbE1pblVTRDplLmNvbW1pdG1lbnRzLmF1dG9BY2NlcHRNaW5VU0Q_P2BgfX1mdW5jdGlvbiBJZChlKXtsZXQgdD0vXlxzKlwkP1xzKihbMC05XXsxLDl9KSg_OlwuKFswLTldezEsMn0pKT9ccyokLy5leGVjKGUpO2lmKHQ9PT1udWxsKXJldHVybjtsZXQgbj1TdHJpbmcoTnVtYmVyKHRbMV0pKSxyPSh0WzJdPz9gYCkucmVwbGFjZSgvMCskLyxgYCk7cmV0dXJuIHI9PT1gYD9uOmAke259LiR7cn1gfWZ1bmN0aW9uIExkKGUpe2xldCB0PUlkKGUpO2lmKHQ9PT12b2lkIDApcmV0dXJuO2xldFtuLHI9YGBdPXQuc3BsaXQoYC5gKTtyZXR1cm5gJCR7bj8_YDBgfS4ke3IucGFkRW5kKDIsYDBgKX1gfWZ1bmN0aW9uIFJkKGUpe2lmKCEvXlxzKlswLTldezEsNX1ccyokLy50ZXN0KGUpKXJldHVybjtsZXQgdD1OdW1iZXIoZS50cmltKCkpO3JldHVybiB0Pj0xJiZ0PD1DZD90OnZvaWQgMH1mdW5jdGlvbiB6ZChlLHQpe2xldCBuPXt9LHI9bmV3IFNldCxpPTAsYT0oZSx0LHIpPT57KG5bZV0_Pz17fSlbdF09cn0sbz0oZSx0LG4scik9PntlJiYoaSs9MSxhKHQsbixyKSl9O28odC5ub3Rhcml6ZSE9PWUucHJvb2ZzLm5vdGFyaXplLGBwcm9vZnNgLGBub3Rhcml6ZWAsdC5ub3Rhcml6ZSk7bGV0IHM9bj0-e2xldCBpPUlkKHRbbl0pO2k9PT12b2lkIDA_ci5hZGQobik6byhpIT09ZS5wcm9vZnNbbl0sYHByb29mc2AsbixpKX07cyhgZGFpbHlCdWRnZXRVU0RgKSxzKGBwZXJBY3Rpb25NYXhVU0RgKSxvKHQuYWxsb3dLZXlEaXNjbG9zdXJlIT09ZS5wcm9vZnMuYWxsb3dLZXlEaXNjbG9zdXJlLGBwcm9vZnNgLGBhbGxvd0tleURpc2Nsb3N1cmVgLHQuYWxsb3dLZXlEaXNjbG9zdXJlKSxvKHQuYWNjZXB0SW52aXRlcyE9PWUuY29udGFjdHMuYWNjZXB0SW52aXRlcyxgY29udGFjdHNgLGBhY2NlcHRJbnZpdGVzYCx0LmFjY2VwdEludml0ZXMpLG8odC51bmtub3duU2VuZGVycyE9PWUuY29udGFjdHMudW5rbm93blNlbmRlcnMsYGNvbnRhY3RzYCxgdW5rbm93blNlbmRlcnNgLHQudW5rbm93blNlbmRlcnMpO2ZvcihsZXQgbiBvZltgbWF4U2VuZFNpemVNQmAsYG1heFJlY2VpdmVTaXplTUJgXSl7bGV0IGk9UmQodFtuXSk7aT09PXZvaWQgMD9yLmFkZChuKTpvKGkhPT1lLmZpbGVzW25dLGBmaWxlc2AsbixpKX1vKHQuYWNjZXB0IT09ZS5jb21taXRtZW50cy5hY2NlcHQsYGNvbW1pdG1lbnRzYCxgYWNjZXB0YCx0LmFjY2VwdCk7bGV0IGM9ZS5jb21taXRtZW50cyxsPWMuYXV0b0FjY2VwdERpcmVjdGlvbix1PWMuYXV0b0FjY2VwdE1heFVTRCxkPWMuYXV0b0FjY2VwdE1pblVTRCxmPU5kKGUpLHA9UGQoZSk7aWYodC5idXlPbil7bGV0IGU9SWQodC5idXlNYXhVU0QpO2U9PT12b2lkIDB8fGU9PT1gMGA_ci5hZGQoYGJ1eU1heFVTRGApOihsPWBidXlgLHU9ZSl9ZWxzZSBmJiYodT1gMGApO2lmKHQuc2VsbE9uKXtsZXQgZT1JZCh0LnNlbGxNaW5VU0QpO2U9PT12b2lkIDB8fGU9PT1gMGA_ci5hZGQoYHNlbGxNaW5VU0RgKToobD1gc2VsbGAsZD1lKX1lbHNlIHAmJihkPW51bGwpO3JldHVybiB0LmJ1eU9uIT09ZiYmKGkrPTEpLHQuc2VsbE9uIT09cCYmKGkrPTEpLGwhPT1jLmF1dG9BY2NlcHREaXJlY3Rpb24mJmEoYGNvbW1pdG1lbnRzYCxgYXV0b0FjY2VwdERpcmVjdGlvbmAsbCksdSE9PWMuYXV0b0FjY2VwdE1heFVTRCYmKGEoYGNvbW1pdG1lbnRzYCxgYXV0b0FjY2VwdE1heFVTRGAsdSksdC5idXlPbj09PWYmJihpKz0xKSksZCE9PWMuYXV0b0FjY2VwdE1pblVTRCYmKGEoYGNvbW1pdG1lbnRzYCxgYXV0b0FjY2VwdE1pblVTRGAsZCksdC5zZWxsT249PT1wJiYoaSs9MSkpLHtwYXRjaDpuLGNoYW5nZXM6aSxpbnZhbGlkOnJ9fXZhciBCZD1lPT57bGV0IHQ9YGA7Zm9yKGxldCBuIG9mIGUpdCs9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtyZXR1cm4gYnRvYSh0KS5yZXBsYWNlKC9cKy9nLGAtYCkucmVwbGFjZSgvXC8vZyxgX2ApLnJlcGxhY2UoLz0rJC8sYGApfSxWZD1lPT5CZChuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoZSkpKTtmdW5jdGlvbiBIZChlLHQsbil7cmV0dXJuYCR7eWR9L3Jldmlldz9lZGl0PSR7VmQoe2Jhc2U6ZSxwYXRjaDp0LC4uLm49PT12b2lkIDA_e306e2tlZXBEZWxpdmVyeVJlY2VpcHRzOm59fSl9YH12YXIgVWQ9YFgtQWdlbnRMaW5rLUNTUkZgLFdkPWAvYXBpL293bmVyL3Bhc3NrZXlgLEdkPWBsb2NhbGhvc3RgLEtkPWU9PntsZXQgdD1lLnJlcGxhY2UoLy0vZyxgK2ApLnJlcGxhY2UoL18vZyxgL2ApLG49YXRvYih0K2A9YC5yZXBlYXQoKDQtdC5sZW5ndGglNCklNCkpO3JldHVybiBVaW50OEFycmF5LmZyb20obixlPT5lLmNoYXJDb2RlQXQoMCkpfSxxZD1lPT57bGV0IHQ9YGA7Zm9yKGxldCBuIG9mIGUpdCs9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtyZXR1cm4gYnRvYSh0KS5yZXBsYWNlKC9cKy9nLGAtYCkucmVwbGFjZSgvXC8vZyxgX2ApLnJlcGxhY2UoLz0rJC8sYGApfSxKZD1lPT5lP25ldyBVaW50OEFycmF5KGUpOm5ldyBVaW50OEFycmF5O2Z1bmN0aW9uIFlkKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUucmVkdWNlKChlLHQpPT5lKzIrdC5sZW5ndGgsMCkpLG49MDtmb3IobGV0IHIgb2YgZSl0W25dPXIubGVuZ3RoPj44LHRbbisxXT1yLmxlbmd0aCYyNTUsdC5zZXQocixuKzIpLG4rPTIrci5sZW5ndGg7cmV0dXJuIHR9ZnVuY3Rpb24gWGQoKXtyZXR1cm4gdHlwZW9mIGRvY3VtZW50PmB1YD9gYDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBtZXRhW25hbWU9ImFnZW50bGluay1jc3JmIl1gKT8uZ2V0QXR0cmlidXRlKGBjb250ZW50YCk_P2BgfXZhciBaZD1lPT50eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSk7YXN5bmMgZnVuY3Rpb24gUWQoZSl7dHJ5e3JldHVybiBhd2FpdCBlLmpzb24oKX1jYXRjaHtyZXR1cm59fWZ1bmN0aW9uICRkKGUsdCl7bGV0IG49WmQodCk_dDp7fTtpZihlPT09MjAwJiZuLnN0YXR1cz09PWBzYXZlZGApcmV0dXJue2tpbmQ6YHNhdmVkYH07aWYoZT09PTQwMSlyZXR1cm57a2luZDpgc2Vzc2lvbl9leHBpcmVkYH07aWYoZT09PTQwMylyZXR1cm57a2luZDpgd3JvbmdfY29kZWB9O2lmKGU9PT00Mjkpe2xldCBlPW4ucmV0cnlBZnRlcjtyZXR1cm57a2luZDpgd2FpdGAsc2Vjb25kczp0eXBlb2YgZT09YG51bWJlcmAmJmU-MCYmZTw4NjQwMD9lOjYwfX1yZXR1cm4gZT09PTQwOT9uLmVycm9yPT09YHN0YWxlYD97a2luZDpgc3RhbGVgfTpuLnN0YXR1cz09PWBidXN5YD97a2luZDpgYnVzeWB9OntraW5kOmByZWZ1c2VkYH06e2tpbmQ6YGZhaWxlZGB9fWZ1bmN0aW9uIGVmKGU9e30pe2xldCB0PWUuZmV0Y2g_PygoZSx0KT0-Z2xvYmFsVGhpcy5mZXRjaChlLHQpKSxuPSgpPT5lLnRva2VuPz9YZCgpLHI9KCk9PmUuY3JlZGVudGlhbHM_Pyh0eXBlb2YgbmF2aWdhdG9yPmB1YD92b2lkIDA6bmF2aWdhdG9yLmNyZWRlbnRpYWxzKTthc3luYyBmdW5jdGlvbiBpKCl7dHJ5e2xldCBlPWF3YWl0IHQoV2Qse21ldGhvZDpgR0VUYCxoZWFkZXJzOntbVWRdOm4oKX0sY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSk7aWYoZS5zdGF0dXMhPT0yMDApcmV0dXJuIG51bGw7bGV0IHI9YXdhaXQgUWQoZSksaT1aZChyKT9yLnBhc3NrZXk6dm9pZCAwO2lmKCFaZChpKXx8aS5yZWdpc3RlcmVkIT09ITB8fGkucnBJZCE9PUdkKXJldHVybiBudWxsO2xldHtjcmVkZW50aWFsSWQ6YSxwcmZTYWx0Om99PWk7cmV0dXJuIHR5cGVvZiBhIT1gc3RyaW5nYHx8dHlwZW9mIG8hPWBzdHJpbmdgP251bGw6e2NyZWRlbnRpYWxJZDphLHByZlNhbHQ6b319Y2F0Y2h7cmV0dXJuIG51bGx9fWFzeW5jIGZ1bmN0aW9uIGEoZSl7bGV0IHQ9cigpO2lmKHQ9PT12b2lkIDApcmV0dXJuO2xldCBuPW5ldyBVaW50OEFycmF5KDMyKTtjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG4pO2xldCBpO3RyeXtpPWF3YWl0IHQuZ2V0KHtwdWJsaWNLZXk6e2NoYWxsZW5nZTpuLHJwSWQ6R2QsYWxsb3dDcmVkZW50aWFsczpbe3R5cGU6YHB1YmxpYy1rZXlgLGlkOktkKGUuY3JlZGVudGlhbElkKX1dLHVzZXJWZXJpZmljYXRpb246YHJlcXVpcmVkYCx0aW1lb3V0OjEyZTQsZXh0ZW5zaW9uczp7cHJmOntldmFsOntmaXJzdDpLZChlLnByZlNhbHQpfX19fX0pfWNhdGNoe3JldHVybn1pZihpPT09bnVsbClyZXR1cm47bGV0IGE9aS5yZXNwb25zZSxvPUpkKGkuZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLnByZj8ucmVzdWx0cz8uZmlyc3QpO3RyeXtyZXR1cm4gWWQoW0pkKGkucmF3SWQpLEpkKGEuYXV0aGVudGljYXRvckRhdGEpLEpkKGEudXNlckhhbmRsZSksb10pfWZpbmFsbHl7by5maWxsKDApfX1hc3luYyBmdW5jdGlvbiBvKGUscixpKXtpZighZS5zdGFydHNXaXRoKGAvYXBpL3VpL2ApKXRocm93IEVycm9yKGBvd25lciBwYXRoIG11c3Qgc3RhcnQgd2l0aCAvYXBpL3VpL2ApO2xldCBvPXtbVWRdOm4oKSwiQ29udGVudC1UeXBlIjpgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCwiWC1BZ2VudExpbmstSW5wdXQiOnFkKG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShyKSkpfSxzO2lmKGkua2luZD09PWBwYXNza2V5YCl7bGV0IGU9YXdhaXQgYShpLnBhc3NrZXkpO2lmKGU9PT12b2lkIDApcmV0dXJue2tpbmQ6YHBhc3NrZXlfY2FuY2VsbGVkYH07cz1uZXcgVWludDhBcnJheShlKSxlLmZpbGwoMCksb1tgWC1BZ2VudExpbmstUHJlc2VuY2VgXT1gcGFzc2tleWB9ZWxzZXtsZXQgZT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoaS5jb2RlKTtzPW5ldyBVaW50OEFycmF5KGUpLGUuZmlsbCgwKX10cnl7bGV0IG49YXdhaXQgdChlLHttZXRob2Q6YFBPU1RgLGhlYWRlcnM6byxib2R5OnMsY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSk7cmV0dXJuICRkKG4uc3RhdHVzLGF3YWl0IFFkKG4pKX1jYXRjaHtyZXR1cm57a2luZDpgZmFpbGVkYH19ZmluYWxseXtzLmZpbGwoMCl9fXJldHVybntwYXNza2V5Omksc2F2ZTpvfX12YXIgUT17ZXllYnJvdzpgV2hhdCB5b3VyIGFnZW50IG1heSBkbyB3aXRob3V0IGFza2luZ2Asc2F2aW5nTm90ZTpgU2F2aW5nIGFza3MgZm9yIHlvdXIgcGFzc2tleWAsbG9hZGluZzpgTG9hZGluZyB5b3VyIHJ1bGVz4oCmYCxzdW1tYXJ5VGl0bGU6YFJ1bGVzIGluIGZvcmNlYCxzdW1tYXJ5Tm90ZTpgVGhpcyBpcyB3aGF0IHlvdXIgYWdlbnQgZm9sbG93cyByaWdodCBub3cuYCxob29kVmVyc2lvbjpgUnVsZXMgdmVyc2lvbmAsZXZlcnlkYXk6YEV2ZXJ5ZGF5YCxtb3JlUnVsZXM6YE1vcmUgcnVsZXNgLGFsbG93ZWQ6YEFsbG93ZWRgLGFza01lOmBBc2sgbWVgLGNvbnRpbnVlVG9Db25maXJtOmBDb250aW51ZWAsbmV2ZXI6YE5ldmVyYCxhbGxvdzpgQWxsb3dgLGFza0V2ZXJ5VGltZTpgQXNrIG1lIGV2ZXJ5IHRpbWVgLHJlY29tbWVuZGVkOmByZWNvbW1lbmRlZGAsaG9sZDpgSG9sZCBmb3IgbXkgcmV2aWV3YCxkcm9wOmBEcm9wYCxwcm9vZlRpdGxlOmBBZGQgcHJvb2ZgLHByb29mSGVscDpgRWFjaCBwcm9vZiB1c2VzIGNyZWRpdHMgYW5kIGlzIHB1YmxpYy5gLHByb29mT2ZmOmBZb3VyIGFnZW50IG5ldmVyIGFkZHMgcHJvb2YuYCxidWRnZXQ6YFByb29mIGJ1ZGdldCBpbiBhbnkgMjQgaG91cnNgLGFza092ZXI6YEFzayBtZSBvdmVyYCxpbnZpdGVzVGl0bGU6YE5ldyBjb250YWN0c2AsaW52aXRlc0hlbHA6YEFzayBtZSBiZWZvcmUgY29ubmVjdGluZyB3aXRoIGEgbmV3IGNvbnRhY3QuYCx0ZXJtc1RpdGxlOmBBY2NlcHRpbmcgdGVybXNgLHRlcm1zSGVscDpgQWNjZXB0aW5nIGNvbW1pdHMgeW91LiBOZXZlciBhcHByb3ZlZCBmcm9tIGEgbm90aWZpY2F0aW9uLmAsdW5rbm93blRpdGxlOmBSZXF1ZXN0cyBmcm9tIHVua25vd24gc2VuZGVyc2AsdW5rbm93bkhlbHA6YE9ubHkgYW4gaW52aXRlIGFkZHMgYSBjb250YWN0LmAsd2hvVGl0bGU6YFdobyBjYW4gbWVzc2FnZSB5b3VyIGFnZW50YCx3aG9QYWlyZWQ6YFBhaXJlZCBjb250YWN0c2Asd2hvTGlzdGVkOmU9PmU9PT0xP2BPbmx5IHRoZSAxIGNvbnRhY3QgeW91IGxpc3RlZGA6YE9ubHkgdGhlICR7U3RyaW5nKGUpfSBjb250YWN0cyB5b3UgbGlzdGVkYCxmaWxlc1RpdGxlOmBGaWxlc2AsZmlsZXNTdW1tYXJ5OihlLHQpPT5gT25seSBmcm9tIGFsbG93ZWQgZm9sZGVycyDCtyBzZW5kIHVwIHRvICR7U3RyaW5nKGUpfSBNQiDCtyByZWNlaXZlIHVwIHRvICR7U3RyaW5nKHQpfSBNQmAsc2VuZExhYmVsOmBTZW5kIHVwIHRvIChNQilgLHJlY2VpdmVMYWJlbDpgUmVjZWl2ZSB1cCB0byAoTUIpYCxleHBvcnRzVGl0bGU6YEV4cG9ydHMgdGhhdCBvcGVuIHRoZSBkb2N1bWVudGAsZXhwb3J0c0hlbHA6YEFueW9uZSB3aXRoIHN1Y2ggYW4gZXhwb3J0IGNhbiByZWFkIHRoZSBkb2N1bWVudC5gLGxpbWl0c1RpdGxlOmBMaW1pdHMgZm9yIGFjY2VwdGluZyB0ZXJtc2AsbGltaXRzSGVscDpgWW91ciBhZ2VudCBhY2NlcHRzIG9uIGl0cyBvd24gb25seSB3aXRoaW4gdGhlc2UgbGltaXRzLmAsYnV5VGl0bGU6YEF1dG8tYWNjZXB0IHdoZW4gSSBwYXksIGZvciBsaXN0ZWQgY29udGFjdHNgLGJ1eUhlbHA6KGUsdCk9PmBVcCB0byAke2V9IHBlciBhZ3JlZW1lbnQsIFVTLWRvbGxhciB0ZXJtcyBvbmx5LiAke3Q9PT0xP2AxIGNvbnRhY3RgOmAke1N0cmluZyh0KX0gY29udGFjdHNgfSBsaXN0ZWQuYCxidXlNYXg6YFVwIHRvLCBwZXIgYWdyZWVtZW50ICgkKWAsc2VsbFRpdGxlOmBBdXRvLWFjY2VwdCB3aGVuIEknbSBwYWlkIChzZWxsaW5nKWAsc2VsbEhlbHBPZmY6YE9mZiBieSBkZWZhdWx0LmAsc2VsbEhlbHBPbjplPT5gV2hlbiB0aGV5IHBheSBhdCBsZWFzdCAke2V9LmAsc2VsbE1pbjpgQXQgbGVhc3QsIHBlciBhZ3JlZW1lbnQgKCQpYCxzZWxsV2FybmluZ1RpdGxlOmBCZWZvcmUgeW91IHR1cm4gdGhpcyBvbjpgLHNlbGxXYXJuaW5nOmU9PmBZb3VyIGFnZW50IHdpbGwgY29tbWl0IHlvdSB0byBkZWxpdmVyIHdoYXRldmVyIHRoaXMgY29udGFjdCB3cml0ZXMsIGZvciBhdCBsZWFzdCAke2V9LiBPbmx5IHR1cm4gdGhpcyBvbiBmb3IgY29udGFjdHMgeW91IHRydXN0LmAsc29tZUFtb3VudDpgdGhlIGFtb3VudCB5b3Ugc2V0YCxub0xpc3RlZDpgTm8gY29udGFjdHMgYXJlIGxpc3RlZCBmb3IgdGhpcyB5ZXQuYCxjaGFuZ2VzOmU9PmU9PT0xP2AxIGNoYW5nZWA6YCR7U3RyaW5nKGUpfSBjaGFuZ2VzYCxyZXZpZXdTYXZlOmBSZXZpZXcgYW5kIHNhdmVgLGRpc2NhcmQ6YERpc2NhcmRgLGludmFsaWRBbW91bnQ6YEVudGVyIGFuIGFtb3VudCBpbiBkb2xsYXJzLCBsaWtlIDUgb3IgMC41MC5gLGludmFsaWRTaXplOmBFbnRlciBhIHNpemUgZnJvbSAxIHRvIDEwMjQwIE1CLmAsY29uZmlybVRpdGxlOmBCZWZvcmUgeW91IHNhdmVgLGNvbmZpcm1JbnRybzpgVGhlc2UgY2hhbmdlcyBsZXQgeW91ciBhZ2VudCBkbyBtb3JlIHdpdGhvdXQgYXNraW5nLiBUaWNrIGVhY2ggb25lIHRvIGNvbmZpcm0uYCxub1dhcm5pbmdzOmBUaGVzZSBjaGFuZ2VzIGRvbid0IGxldCB5b3VyIGFnZW50IGRvIG1vcmUgd2l0aG91dCBhc2tpbmcuYCxrZWVwVGl0bGU6YEtlZXAgZGVsaXZlcnkgcmVjZWlwdHMgb25gLGtlZXBUZXh0OmBEZWxpdmVyeSByZWNlaXB0cyBhcmUgb24gZnJvbSBhbiBvbGRlciBkZWZhdWx0LiBFYWNoIG9uZSBzaG93cyBwdWJsaWNseSB0aGF0IGEgcHJvb2YgcmVhY2hlZCB5b3VyIGFnZW50LCBuZXZlciB0aGUgY29udGVudC5gLGNvZGVMYWJlbDpgQmFja3VwIGNvZGUgb3Igb3duZXIgcGFzc3BocmFzZWAsY29kZUhpbnQ6YE5ldmVyIGdpdmUgaXQgdG8geW91ciBBSS5gLHNhdmU6YFNhdmUgd2l0aCBwYXNza2V5YCxzYXZlQ29kZTpgU2F2ZWAsYmFjazpgQmFjayB0byBlZGl0aW5nYCxwcmVwYXJpbmc6YENoZWNraW5nIHlvdXIgY2hhbmdlc-KApmAsc2F2aW5nOmBTYXZpbmfigKZgLHNhdmVkOmBSdWxlcyBzYXZlZC5gLHdyb25nQ29kZTpgVGhhdCBkaWRuJ3QgbWF0Y2guIFRyeSBhZ2Fpbi5gLHdhaXQ6ZT0-YFRvbyBtYW55IHRyaWVzLiBXYWl0ICR7U3RyaW5nKGUpfSBzZWNvbmRzIGFuZCB0cnkgYWdhaW4uYCxyZWZ1c2VkOmBOb3Qgc2F2ZWQuIFJldmlldyB5b3VyIGNoYW5nZXMgYWdhaW4uYCxzdGFsZTpgWW91ciBydWxlcyBjaGFuZ2VkIHNvbWV3aGVyZSBlbHNlLiBSZWxvYWQgdGhlIHBhZ2UgYW5kIG1ha2UgeW91ciBjaGFuZ2VzIGFnYWluLmAsYnVzeTpgQW5vdGhlciBhcHByb3ZhbCBpcyBpbiBwcm9ncmVzcy4gVHJ5IGFnYWluIGluIGEgbW9tZW50LmAsZmFpbGVkOmBDb3VsZG4ndCBzYXZlLiBUcnkgYWdhaW4uYCxzZXNzaW9uRXhwaXJlZDoiVGhpcyBsaW5rIGhhcyBleHBpcmVkLiBPcGVuIEFnZW50TGluayBhZ2FpbiBmcm9tIHlvdXIgQUksIG9yIHJ1biBgYWdlbnRsaW5rIHVpYC4iLHBhc3NrZXlDYW5jZWxsZWQ6YFRoZSBwYXNza2V5IHdhcyBub3QgdXNlZC4gVHJ5IGFnYWluLmAsaW52YWxpZEVkaXQ6YFRoZXNlIGNoYW5nZXMgY2FuJ3QgYmUgc2F2ZWQuIENoZWNrIHRoZSB2YWx1ZXMgYW5kIHRyeSBhZ2Fpbi5gLHVuYXZhaWxhYmxlOmBZb3VyIHJ1bGVzIGNvdWxkbid0IGJlIGxvYWRlZC4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAsbm90U2V0VXA6YFNldCB1cCBBZ2VudExpbmsgZmlyc3QuIFlvdXIgcnVsZXMgYXBwZWFyIGhlcmUgYWZ0ZXIgdGhhdC5gLG5vdFZhbGlkOiJZb3VyIHJ1bGVzIGNvdWxkbid0IGJlIGNoZWNrZWQsIHNvIGV2ZXJ5dGhpbmcgdGhhdCBjb3N0cyBtb25leSBvciBjb21taXRzIHlvdSBhc2tzIGZpcnN0LiBSdW4gYGFnZW50bGluayBwb2xpY3kgcmVjb3ZlcmAgaW4geW91ciBvd24gdGVybWluYWwuIn0sdGY9T2JqZWN0LmZyZWV6ZSh7aW52aXRlc19hdXRvOmBZb3VyIGFnZW50IHdpbGwgY29ubmVjdCB3aXRoIG5ldyBjb250YWN0cyB3aXRob3V0IGFza2luZyB5b3UuYCx1bmtub3duX3NlbmRlcnNfcXVldWVkOmBSZXF1ZXN0cyBmcm9tIHVua25vd24gc2VuZGVycyB3aWxsIGJlIGhlbGQgZm9yIHlvdXIgcmV2aWV3IGluc3RlYWQgb2YgZHJvcHBlZC5gLGNvbnRhY3RzX2FsbG93ZWRfd2lkZW5lZDpgTW9yZSBhZ2VudHMgd2lsbCBiZSBhYmxlIHRvIG1lc3NhZ2UgeW91ciBhZ2VudC5gLGxpbWl0c19yYWlzZWQ6YFNvbWUgbGltaXRzIGdvIHVwOiBob3cgb2Z0ZW4gY29udGFjdHMgY2FuIG1lc3NhZ2UsIGhvdyBsYXJnZSBmaWxlcyBjYW4gYmUsIG9yIGhvdyBsb25nIGZpbGUgbGlua3MgbGFzdC5gLHJldGVudGlvbl9sb25nZXI6YEZpbGVzIHdpbGwgYmUga2VwdCBsb25nZXIgdGhhbiBiZWZvcmUuYCxhbGxvd2VkX2ZvbGRlcnNfYWRkZWQ6YFlvdXIgYWdlbnQgd2lsbCBiZSBhYmxlIHRvIHNlbmQgZmlsZXMgZnJvbSBtb3JlIGZvbGRlcnMuYCxmb2xkZXJfY2hhbmdlZDpgVGhlIGZvbGRlciB3aGVyZSB5b3VyIGFnZW50IHNhdmVzIGZpbGVzIG9yIHByb29mcyBjaGFuZ2VzLmAsZmlsZXNfZHJvcF9hbGxvd2VkOmBGaWxlcyBtYXkgZ28gdGhyb3VnaCB0aGUgZW5jcnlwdGVkIGRyb3AsIG5vdCBvbmx5IHlvdXIgb3duIHN0b3JhZ2UuYCxwcm9vZnNfbm90YXJpemVfbG9vc2VyOmBZb3VyIGFnZW50IHdpbGwgYWRkIHByb29mIHdpdGggZmV3ZXIgcXVlc3Rpb25zIHRvIHlvdS4gRWFjaCBwcm9vZiB1c2VzIGNyZWRpdHMgYW5kIGlzIHB1YmxpYy5gLHByb29mc19zcGVuZF9yYWlzZWQ6YFlvdXIgYWdlbnQgY2FuIHNwZW5kIG1vcmUgb24gcHJvb2ZzIHdpdGhvdXQgYXNraW5nIHlvdS5gLGtleV9kaXNjbG9zdXJlX2FwcHJvdmFsOmBZb3VyIGFnZW50IGNhbiBhc2sgeW91IHRvIGxldCBhbiBleHBvcnQgb3BlbiB0aGUgZG9jdW1lbnQuIEFueW9uZSB3aXRoIHRoYXQgZXhwb3J0IGNvdWxkIHJlYWQgaXQuYCxwcm9vZnNfY2hhaW5fY2hhbmdlZDpgWW91ciBwcm9vZnMgd2lsbCBiZSByZWNvcmRlZCBhbmQgcGFpZCBmb3IgaW4gYSBkaWZmZXJlbnQgcGxhY2UuYCxkZWxpdmVyeV9yZWNlaXB0c19wdWJsaWM6YFlvdXIgYWdlbnQgd2lsbCBjb25maXJtIGRlbGl2ZXJpZXMgYXV0b21hdGljYWxseS4gRWFjaCBjb25maXJtYXRpb24gc2hvd3MgcHVibGljbHkgdGhhdCBhIHByb29mIHJlYWNoZWQgeW91ciBhZ2VudC5gLG9wZW5lZF9yZWNlaXB0c19hdXRvOmBZb3VyIGFnZW50IHdpbGwgY29uZmlybSBhdXRvbWF0aWNhbGx5IHdoZW4gaXQgb3BlbnMgc29tZXRoaW5nLiBFYWNoIGNvbmZpcm1hdGlvbiBpcyBwdWJsaWMuYCxjb21taXRtZW50c19sb29zZXI6YFlvdXIgYWdlbnQgY2FuIGFjY2VwdCB0ZXJtcyBhZ2Fpbi4gSXQgc3RpbGwgYXNrcyB5b3UgZXZlcnkgdGltZS5gLGNvbW1pdG1lbnRzX2FsbG93OmBZb3VyIGFnZW50IGNhbiBhY2NlcHQgdGVybXMsIG1ha2UgZmlybSBvZmZlcnMgYW5kIHR1cm4gZG93biB0ZXJtcyB3aXRob3V0IGFza2luZyB5b3UuIEFjY2VwdGluZyBjb21taXRzIHlvdS5gLGF1dG9fYWNjZXB0X3dpZGVuZWQ6YFlvdXIgYWdlbnQgY2FuIGFjY2VwdCBtb3JlIGFncmVlbWVudHMgd2l0aG91dCBhc2tpbmcgeW91LCB3aGVuIHlvdSBhcmUgdGhlIG9uZSB3aG8gcGF5cy5gLHNlbGxfYXV0b19hY2NlcHQ6YFlvdXIgYWdlbnQgd2lsbCBjb21taXQgeW91IHRvIGRlbGl2ZXIgd2hhdGV2ZXIgdGhpcyBjb250YWN0IHdyaXRlcywgZm9yIGF0IGxlYXN0IHthbW91bnR9LiBPbmx5IHR1cm4gdGhpcyBvbiBmb3IgY29udGFjdHMgeW91IHRydXN0LmAsY29udGFjdF9wcm9vZl9ydWxlc19sb29zZXI6YFByb29mcyBiZWNvbWUgbGVzcyBzdHJpY3QgZm9yIHNvbWUgY29udGFjdHMuYCxjb250YWN0X3JlY2VpcHRzX3B1YmxpYzpgRGVsaXZlcmllcyBmcm9tIHNvbWUgY29udGFjdHMgd2lsbCBiZSBjb25maXJtZWQgYXV0b21hdGljYWxseS4gRWFjaCBjb25maXJtYXRpb24gaXMgcHVibGljLmAsY29udGFjdF9ydWxlX3JlbW92ZWRfbG9vc2VuczpgUmVtb3ZpbmcgYSBydWxlIGZvciBhIGNvbnRhY3QgbWFrZXMgdGhpbmdzIGxlc3Mgc3RyaWN0IGZvciB0aGF0IGNvbnRhY3QuYH0pO09iamVjdC5mcmVlemUoT2JqZWN0LmtleXModGYpKTt2YXIgbmY9YEFub3RoZXIgcnVsZSBiZWNvbWVzIGxlc3Mgc3RyaWN0LmAscmY9YHRoZSBhbW91bnQgeW91IHNldGA7ZnVuY3Rpb24gYWYoZSx0PXt9KXtyZXR1cm4gT2JqZWN0Lmhhc093bih0ZixlKT90ZltlXS5yZXBsYWNlKGB7YW1vdW50fWAsdC5hbW91bnQ_P3JmKTpuZn12YXIgb2Y9W2Bub3Rhcml6ZWAsYGRhaWx5QnVkZ2V0VVNEYCxgcGVyQWN0aW9uTWF4VVNEYF07ZnVuY3Rpb24gc2Yoe3RpdGxlOmUsaGVscDp0LGNvbnRyb2w6bixjaGlsZHJlbjpyLHRvbmU6aX0pe3JldHVybigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTppPT09YGNvbW1pdGA_YHJsLXJvdyBpcy1jb21taXRgOmBybC1yb3dgLGNoaWxkcmVuOlsoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YHJsLXJvdy1tYWluYCxjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBybC1yb3ctdGV4dGAsY2hpbGRyZW46WygwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmV9KSx0PT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46dH0pXX0pLG49PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgcmwtcm93LWNvbnRyb2xgLGNoaWxkcmVuOm59KV19KSxyPT09dm9pZCAwP251bGw6KDAsQy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YHJsLXJvdy1leHRyYWAsY2hpbGRyZW46cn0pXX0pfXZhciBjZj1lPT5lPT09YGFsbG93YD9RLmFsbG93ZWQ6ZT09PWBhcHByb3ZhbGA_US5hc2tNZTpRLm5ldmVyLGxmPWU9PlsuLi5uZXcgU2V0KGUpXTtmdW5jdGlvbiB1Zih7YXBpOmUsb3duZXI6dCxwYXlDb25maXJtOm59PXt9KXtsZXQgcj0oMCxsLnVzZU1lbW8pKCgpPT5lPz9HbigpLFtlXSksaT0oMCxsLnVzZU1lbW8pKCgpPT50Pz9lZigpLFt0XSksYT0oMCxsLnVzZU1lbW8pKCgpPT5uPz9EYSgpLFtuXSksW28sc109KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxjPSgwLGwudXNlUmVmKSghMSksW3UsZF09KDAsbC51c2VTdGF0ZSkoe2tpbmQ6YGxvYWRpbmdgfSksW2YscF09KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxbbSxoXT0oMCxsLnVzZVN0YXRlKSghMSksW2csX109KDAsbC51c2VTdGF0ZSkoe2tpbmQ6YGVkaXRgfSksW3YseV09KDAsbC51c2VTdGF0ZSkodm9pZCAwKSxbYix4XT0oMCxsLnVzZVN0YXRlKShgYCksUz0oMCxsLnVzZUNhbGxiYWNrKShhc3luYygpPT57bGV0IGU9YXdhaXQgci5nZXQoeWQpLHQ7dD1lLmtpbmQ9PT1gb2tgP2pkKGUuZGF0YSk6ZS5raW5kPT09YGVycm9yYCYmZS5zdGF0dXM9PT00MDk_e2tpbmQ6YG5vdF9zZXRfdXBgfTp7a2luZDpgdW5hdmFpbGFibGVgfSxkKHQpLHAodC5raW5kPT09YG9rYD9GZCh0LnJ1bGVzKTp2b2lkIDApLF8oe2tpbmQ6YGVkaXRgfSl9LFtyXSk7KDAsbC51c2VFZmZlY3QpKCgpPT57UygpfSxbU10pO2xldCBUPXUua2luZD09PWBva2A_dS5ydWxlczp2b2lkIDAsRT0oMCxsLnVzZU1lbW8pKCgpPT5UPT09dm9pZCAwfHxmPT09dm9pZCAwP3ZvaWQgMDp6ZChULGYpLFtULGZdKSxEPWU9Pnt5KHZvaWQgMCkscCh0PT50PT09dm9pZCAwP3Q6ey4uLnQsLi4uZX0pfSxlZT1hc3luYyBlPT57aWYodS5raW5kIT09YG9rYHx8RT09PXZvaWQgMClyZXR1cm47Zy5raW5kIT09YGNvbmZpcm1gJiZfKHtraW5kOmBwcmVwYXJpbmdgfSk7bGV0IHQ9YXdhaXQgci5nZXQoSGQodS52ZXJzaW9uLEUucGF0Y2gsZSkpLG49dC5raW5kPT09YG9rYD9NZCh0LmRhdGEpOnZvaWQgMDtpZihuPT09dm9pZCAwKXtfKHtraW5kOmBlZGl0YH0pLHkoe3RvbmU6YHdhcm5pbmdgLHRleHQ6dC5raW5kPT09YGVycm9yYCYmdC5zdGF0dXM9PT00MDk_US5zdGFsZTp0LmtpbmQ9PT1gZXJyb3JgJiZ0LnN0YXR1cz09PTQwMD9RLmludmFsaWRFZGl0OnQua2luZD09PWBzZXNzaW9uX2V4cGlyZWRgP1Euc2Vzc2lvbkV4cGlyZWQ6US5mYWlsZWR9KTtyZXR1cm59bGV0IGE9Zy5raW5kPT09YGNvbmZpcm1gP2cucGFzc2tleTphd2FpdCBpLnBhc3NrZXkoKSxvPUUucGF0Y2gucHJvb2ZzPz97fTt4KGBgKSxfKHtraW5kOmBjb25maXJtYCxyZXZpZXc6bixhY2tzOm5ldyBTZXQsa2VlcDplPz8hMSxwYXNza2V5OmEsYnVzeTohMSxzcGVuZGluZzpvZi5zb21lKGU9Pm9bZV0hPT12b2lkIDApfSl9LGllPWU9PntjLmN1cnJlbnQ9ITEscyh7ZmxvdzpgbGltaXRzYCxyZXZpZXc6ZS5yZXZpZXcucmV2aWV3LGFja25vd2xlZGdlZDpsZihlLnJldmlldy53YXJuaW5ncy5tYXAoZT0-ZS5jb2RlKSl9KX0sQT1hc3luYygpPT57Yy5jdXJyZW50PSEwLGF3YWl0IFMoKSx5KHt0b25lOmBzdWNjZXNzYCx0ZXh0OlEuc2F2ZWR9KX0sYWU9bz09PXZvaWQgMD9udWxsOigwLEMuanN4KShBYSx7Y2xpZW50OmEsaW5wdXQ6byxvbkRvbmU6KCk9PnZvaWQgQSgpLG9uQ2xvc2U6KCk9PntzKHZvaWQgMCksIWMuY3VycmVudCYmZy5raW5kPT09YGNvbmZpcm1gJiZlZShnLmtlZXApfX0pLG9lPWFzeW5jIGU9PntfKHsuLi5lLGJ1c3k6ITB9KTtsZXQgdD1sZihlLnJldmlldy53YXJuaW5ncy5tYXAoZT0-ZS5jb2RlKSksbj1lLnBhc3NrZXk9PT1udWxsP3traW5kOmBjb2RlYCxjb2RlOmJ9OntraW5kOmBwYXNza2V5YCxwYXNza2V5OmUucGFzc2tleX0scj1hd2FpdCBpLnNhdmUoeWQse3JldmlldzplLnJldmlldy5yZXZpZXcsYWNrbm93bGVkZ2VkOnR9LG4pO3goYGApO2xldCBhPXQ9Pl8oey4uLmUsYnVzeTohMSxlcnJvcjp0fSksbz1lPT57Xyh7a2luZDpgZWRpdGB9KSx5KHt0b25lOmB3YXJuaW5nYCx0ZXh0OmV9KX07c3dpdGNoKHIua2luZCl7Y2FzZWBzYXZlZGA6YXdhaXQgUygpLHkoe3RvbmU6YHN1Y2Nlc3NgLHRleHQ6US5zYXZlZH0pO3JldHVybjtjYXNlYHdyb25nX2NvZGVgOnJldHVybiBhKFEud3JvbmdDb2RlKTtjYXNlYHdhaXRgOnJldHVybiBhKFEud2FpdChyLnNlY29uZHMpKTtjYXNlYGJ1c3lgOnJldHVybiBhKFEuYnVzeSk7Y2FzZWBwYXNza2V5X2NhbmNlbGxlZGA6cmV0dXJuIGEoUS5wYXNza2V5Q2FuY2VsbGVkKTtjYXNlYHN0YWxlYDpyZXR1cm4gbyhRLnN0YWxlKTtjYXNlYHNlc3Npb25fZXhwaXJlZGA6cmV0dXJuIG8oUS5zZXNzaW9uRXhwaXJlZCk7Y2FzZWByZWZ1c2VkYDpyZXR1cm4gbyhRLnJlZnVzZWQpO2RlZmF1bHQ6cmV0dXJuIG8oUS5mYWlsZWQpfX0sc2U9KDAsQy5qc3gpKGBoMWAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0xYCxjaGlsZHJlbjpPbi5ydWxlc30pLGNlPSgwLEMuanN4cykoYGhlYWRlcmAse2NsYXNzTmFtZTpgcmwtaGVhZGVyYCxjaGlsZHJlbjpbKDAsQy5qc3hzKShgZGl2YCx7Y2hpbGRyZW46WygwLEMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsIGFsLW11dGVkYCxjaGlsZHJlbjpRLmV5ZWJyb3d9KSxzZV19KSwoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46US5zYXZpbmdOb3RlfSldfSk7aWYodS5raW5kIT09YG9rYHx8Zj09PXZvaWQgMHx8VD09PXZvaWQgMHx8RT09PXZvaWQgMCl7bGV0IGU9dS5raW5kPT09YGxvYWRpbmdgP1EubG9hZGluZzp1LmtpbmQ9PT1gbm90X3ZhbGlkYD9RLm5vdFZhbGlkOnUua2luZD09PWBub3Rfc2V0X3VwYD9RLm5vdFNldFVwOlEudW5hdmFpbGFibGU7cmV0dXJuKDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbY2UsdS5raW5kPT09YGxvYWRpbmdgPygwLEMuanN4KSgkdCx7bG9hZGluZzohMCxsYWJlbDplLGxpbmVzOjV9KTooMCxDLmpzeCkoayx7dG9uZTp1LmtpbmQ9PT1gbm90X3ZhbGlkYD9gd2FybmluZ2A6YGluZm9gLGNoaWxkcmVuOmV9KV19KX1sZXQgbGU9dj09PXZvaWQgMD9udWxsOnYudG9uZT09PWBzdWNjZXNzYD8oMCxDLmpzeCkoeHQse2tpbmQ6YGFwcHJvdmVkYCxsYWJlbDp2LnRleHR9KTooMCxDLmpzeCkoayx7dG9uZTp2LnRvbmUsY29tcGFjdDohMCxjaGlsZHJlbjp2LnRleHR9KTtpZihnLmtpbmQ9PT1gY29uZmlybWApcmV0dXJuKDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbY2UsbGUsKDAsQy5qc3gpKGRmLHtjb25maXJtOmcsY29kZTpiLHNlbGxBbW91bnQ6TGQoZi5zZWxsTWluVVNEKSxvbkNvZGU6eCxvbkFjazooZSx0KT0-e2xldCBuPW5ldyBTZXQoZy5hY2tzKTt0P24uYWRkKGUpOm4uZGVsZXRlKGUpO2xldHtlcnJvcjpyLC4uLml9PWc7Xyh7Li4uaSxhY2tzOm59KX0sb25LZWVwOmU9PnZvaWQgZWUoZSksb25TYXZlOigpPT5nLnNwZW5kaW5nP2llKGcpOnZvaWQgb2UoZyksb25CYWNrOigpPT5fKHtraW5kOmBlZGl0YH0pfSksYWVdfSk7bGV0IHVlPVQuY29tbWl0bWVudHMsZGU9dWUuYXV0b0FjY2VwdENvbnRhY3RzPT09MCxmZT1lPT5FLmludmFsaWQuaGFzKGUpP3tlcnJvcjpRLmludmFsaWRBbW91bnR9Ont9LHBlPWU9PkUuaW52YWxpZC5oYXMoZSk_e2Vycm9yOlEuaW52YWxpZFNpemV9Ont9LG1lPWYuc2VsbE9uJiYhUGQoVCksaGU9RS5jaGFuZ2VzPjB8fEUuaW52YWxpZC5zaXplPjA7cmV0dXJuKDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbY2UsbGUsKDAsQy5qc3hzKShzbix7bGV2ZWw6YHJlY2Vzc2VkYCxhczpgc2VjdGlvbmAsY2xhc3NOYW1lOmBybC1zdW1tYXJ5YCwiYXJpYS1sYWJlbGxlZGJ5IjpgcnVsZXMtc3VtbWFyeS10aXRsZWAsY2hpbGRyZW46WygwLEMuanN4KShgaDJgLHtpZDpgcnVsZXMtc3VtbWFyeS10aXRsZWAsY2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTNgLGNoaWxkcmVuOlEuc3VtbWFyeVRpdGxlfSksKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOlEuc3VtbWFyeU5vdGV9KSwoMCxDLmpzeHMpKGBkbGAse2NsYXNzTmFtZTpgcmwtc3VtbWFyeS1saXN0IGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46WygwLEMuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxDLmpzeCkoYGR0YCx7Y2hpbGRyZW46US5wcm9vZlRpdGxlfSksKDAsQy5qc3gpKGBkZGAse2NoaWxkcmVuOmNmKFQucHJvb2ZzLm5vdGFyaXplKX0pXX0pLCgwLEMuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxDLmpzeCkoYGR0YCx7Y2hpbGRyZW46US5pbnZpdGVzVGl0bGV9KSwoMCxDLmpzeCkoYGRkYCx7Y2hpbGRyZW46VC5jb250YWN0cy5hY2NlcHRJbnZpdGVzPT09YGF1dG9gP1EuYWxsb3dlZDpRLmFza01lfSldfSksKDAsQy5qc3hzKShgZGl2YCx7Y2hpbGRyZW46WygwLEMuanN4KShgZHRgLHtjaGlsZHJlbjpRLnRlcm1zVGl0bGV9KSwoMCxDLmpzeCkoYGRkYCx7Y2hpbGRyZW46Y2YodWUuYWNjZXB0KX0pXX0pXX0pXX0pLCgwLEMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YHJsLWdyb3VwYCwiYXJpYS1sYWJlbGxlZGJ5IjpgcnVsZXMtZXZlcnlkYXlgLGNoaWxkcmVuOlsoMCxDLmpzeCkoYGgyYCx7aWQ6YHJ1bGVzLWV2ZXJ5ZGF5YCxjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtM2AsY2hpbGRyZW46US5ldmVyeWRheX0pLCgwLEMuanN4cykoc24se2NsYXNzTmFtZTpgcmwtY2FyZGAsY2hpbGRyZW46WygwLEMuanN4KShzZix7dGl0bGU6US5wcm9vZlRpdGxlLGhlbHA6US5wcm9vZkhlbHAsY29udHJvbDooMCxDLmpzeCkocmUse2xhYmVsOlEucHJvb2ZUaXRsZSx2YWx1ZTpmLm5vdGFyaXplLG9uQ2hhbmdlOmU9PkQoe25vdGFyaXplOmV9KSxvcHRpb25zOlt7dmFsdWU6YGFsbG93YCxsYWJlbDpRLmFsbG93ZWR9LHt2YWx1ZTpgYXBwcm92YWxgLGxhYmVsOlEuYXNrTWV9LHt2YWx1ZTpgZGVueWAsbGFiZWw6US5uZXZlcn1dfSksY2hpbGRyZW46Zi5ub3Rhcml6ZT09PWBkZW55YD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46US5wcm9vZk9mZn0pOigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtZmllbGRzYCxjaGlsZHJlbjpbKDAsQy5qc3gpKHRlLHtsYWJlbDpRLmJ1ZGdldCxwcmVmaXg6YCRgLG1vbm86ITAsaW5wdXRNb2RlOmBkZWNpbWFsYCx2YWx1ZTpmLmRhaWx5QnVkZ2V0VVNELC4uLmZlKGBkYWlseUJ1ZGdldFVTRGApLG9uQ2hhbmdlOmU9PkQoe2RhaWx5QnVkZ2V0VVNEOmUuY3VycmVudFRhcmdldC52YWx1ZX0pfSksKDAsQy5qc3gpKHRlLHtsYWJlbDpRLmFza092ZXIscHJlZml4OmAkYCxtb25vOiEwLGlucHV0TW9kZTpgZGVjaW1hbGAsdmFsdWU6Zi5wZXJBY3Rpb25NYXhVU0QsLi4uZmUoYHBlckFjdGlvbk1heFVTRGApLG9uQ2hhbmdlOmU9PkQoe3BlckFjdGlvbk1heFVTRDplLmN1cnJlbnRUYXJnZXQudmFsdWV9KX0pXX0pfSksKDAsQy5qc3gpKHNmLHt0aXRsZTpRLmludml0ZXNUaXRsZSxoZWxwOlEuaW52aXRlc0hlbHAsY29udHJvbDooMCxDLmpzeCkocmUse2xhYmVsOlEuaW52aXRlc1RpdGxlLHZhbHVlOmYuYWNjZXB0SW52aXRlcyxvbkNoYW5nZTplPT5EKHthY2NlcHRJbnZpdGVzOmV9KSxvcHRpb25zOlt7dmFsdWU6YGFwcHJvdmFsYCxsYWJlbDpRLmFza01lLGhpbnQ6US5yZWNvbW1lbmRlZH0se3ZhbHVlOmBhdXRvYCxsYWJlbDpRLmFsbG93fV19KX0pLCgwLEMuanN4KShzZix7dGl0bGU6US50ZXJtc1RpdGxlLGhlbHA6US50ZXJtc0hlbHAsdG9uZTpgY29tbWl0YCxjb250cm9sOigwLEMuanN4KShyZSx7bGFiZWw6US50ZXJtc1RpdGxlLHZhbHVlOmYuYWNjZXB0LG9uQ2hhbmdlOmU9PkQoe2FjY2VwdDplfSksb3B0aW9uczpbe3ZhbHVlOmBhcHByb3ZhbGAsbGFiZWw6US5hc2tFdmVyeVRpbWUsaGludDpRLnJlY29tbWVuZGVkfSx7dmFsdWU6YGFsbG93YCxsYWJlbDpRLmFsbG93fSx7dmFsdWU6YGRlbnlgLGxhYmVsOlEubmV2ZXJ9XX0pfSldfSldfSksKDAsQy5qc3hzKShgc2VjdGlvbmAse2NsYXNzTmFtZTpgcmwtZ3JvdXBgLCJhcmlhLWxhYmVsbGVkYnkiOmBydWxlcy1tb3JlLXRpdGxlYCxjaGlsZHJlbjpbKDAsQy5qc3gpKGBoMmAse2lkOmBydWxlcy1tb3JlLXRpdGxlYCxjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtM2AsY2hpbGRyZW46KDAsQy5qc3hzKShgYnV0dG9uYCx7dHlwZTpgYnV0dG9uYCxjbGFzc05hbWU6YHJsLXRvZ2dsZWAsImFyaWEtZXhwYW5kZWQiOm0_YHRydWVgOmBmYWxzZWAsImFyaWEtY29udHJvbHMiOmBydWxlcy1tb3JlYCxvbkNsaWNrOigpPT5oKGU9PiFlKSxjaGlsZHJlbjpbKDAsQy5qc3gpKHcse25hbWU6bT9gY2hldnJvbi1kb3duYDpgY2hldnJvbi1yaWdodGAsc2l6ZToxNn0pLCgwLEMuanN4KShgc3BhbmAse2NoaWxkcmVuOlEubW9yZVJ1bGVzfSldfSl9KSxtPygwLEMuanN4cykoc24se2lkOmBydWxlcy1tb3JlYCxjbGFzc05hbWU6YHJsLWNhcmRgLGNoaWxkcmVuOlsoMCxDLmpzeCkoc2Yse3RpdGxlOlEudW5rbm93blRpdGxlLGhlbHA6US51bmtub3duSGVscCxjb250cm9sOigwLEMuanN4KShyZSx7bGFiZWw6US51bmtub3duVGl0bGUsdmFsdWU6Zi51bmtub3duU2VuZGVycyxvbkNoYW5nZTplPT5EKHt1bmtub3duU2VuZGVyczplfSksb3B0aW9uczpbe3ZhbHVlOmBxdWV1ZWAsbGFiZWw6US5ob2xkLGhpbnQ6US5yZWNvbW1lbmRlZH0se3ZhbHVlOmBkcm9wYCxsYWJlbDpRLmRyb3B9XX0pfSksKDAsQy5qc3gpKHNmLHt0aXRsZTpRLndob1RpdGxlLGhlbHA6VC5jb250YWN0cy5hbGxvd2VkPT09YHBhaXJlZGA_US53aG9QYWlyZWQ6US53aG9MaXN0ZWQoVC5jb250YWN0cy5saXN0ZWQpfSksKDAsQy5qc3gpKHNmLHt0aXRsZTpRLmZpbGVzVGl0bGUsaGVscDpRLmZpbGVzU3VtbWFyeShULmZpbGVzLm1heFNlbmRTaXplTUIsVC5maWxlcy5tYXhSZWNlaXZlU2l6ZU1CKSxjaGlsZHJlbjooMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YHJsLWZpZWxkc2AsY2hpbGRyZW46WygwLEMuanN4KSh0ZSx7bGFiZWw6US5zZW5kTGFiZWwsbW9ubzohMCxpbnB1dE1vZGU6YG51bWVyaWNgLHZhbHVlOmYubWF4U2VuZFNpemVNQiwuLi5wZShgbWF4U2VuZFNpemVNQmApLG9uQ2hhbmdlOmU9PkQoe21heFNlbmRTaXplTUI6ZS5jdXJyZW50VGFyZ2V0LnZhbHVlfSl9KSwoMCxDLmpzeCkodGUse2xhYmVsOlEucmVjZWl2ZUxhYmVsLG1vbm86ITAsaW5wdXRNb2RlOmBudW1lcmljYCx2YWx1ZTpmLm1heFJlY2VpdmVTaXplTUIsLi4ucGUoYG1heFJlY2VpdmVTaXplTUJgKSxvbkNoYW5nZTplPT5EKHttYXhSZWNlaXZlU2l6ZU1COmUuY3VycmVudFRhcmdldC52YWx1ZX0pfSldfSl9KSwoMCxDLmpzeCkoc2Yse3RpdGxlOlEuZXhwb3J0c1RpdGxlLGhlbHA6US5leHBvcnRzSGVscCxjb250cm9sOigwLEMuanN4KShyZSx7bGFiZWw6US5leHBvcnRzVGl0bGUsdmFsdWU6Zi5hbGxvd0tleURpc2Nsb3N1cmUsb25DaGFuZ2U6ZT0-RCh7YWxsb3dLZXlEaXNjbG9zdXJlOmV9KSxvcHRpb25zOlt7dmFsdWU6YGFwcHJvdmFsYCxsYWJlbDpRLmFza01lfSx7dmFsdWU6YGRlbnlgLGxhYmVsOlEubmV2ZXJ9XX0pfSksKDAsQy5qc3gpKHNmLHt0aXRsZTpRLmxpbWl0c1RpdGxlLGhlbHA6US5saW1pdHNIZWxwLGNoaWxkcmVuOigwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtbGltaXRzYCxjaGlsZHJlbjpbKDAsQy5qc3gpKG5lLHtsYWJlbDpRLmJ1eVRpdGxlLGRlc2NyaXB0aW9uOmRlP1Eubm9MaXN0ZWQ6US5idXlIZWxwKExkKGYuYnV5TWF4VVNEKT8_US5zb21lQW1vdW50LHVlLmF1dG9BY2NlcHRDb250YWN0cyksY2hlY2tlZDpmLmJ1eU9uLGRpc2FibGVkOmRlJiYhZi5idXlPbixvbkNoYW5nZTplPT5EKGU_e2J1eU9uOiEwLHNlbGxPbjohMX06e2J1eU9uOiExfSl9KSxmLmJ1eU9uPygwLEMuanN4KSh0ZSx7bGFiZWw6US5idXlNYXgscHJlZml4OmAkYCxtb25vOiEwLGlucHV0TW9kZTpgZGVjaW1hbGAsdmFsdWU6Zi5idXlNYXhVU0QsLi4uZmUoYGJ1eU1heFVTRGApLG9uQ2hhbmdlOmU9PkQoe2J1eU1heFVTRDplLmN1cnJlbnRUYXJnZXQudmFsdWV9KX0pOm51bGwsKDAsQy5qc3gpKG5lLHtsYWJlbDpRLnNlbGxUaXRsZSxkZXNjcmlwdGlvbjpkZT9RLm5vTGlzdGVkOmYuc2VsbE9uP1Euc2VsbEhlbHBPbihMZChmLnNlbGxNaW5VU0QpPz9RLnNvbWVBbW91bnQpOlEuc2VsbEhlbHBPZmYsY2hlY2tlZDpmLnNlbGxPbixkaXNhYmxlZDpkZSYmIWYuc2VsbE9uLG9uQ2hhbmdlOmU9PkQoZT97c2VsbE9uOiEwLGJ1eU9uOiExfTp7c2VsbE9uOiExfSl9KSxmLnNlbGxPbj8oMCxDLmpzeCkodGUse2xhYmVsOlEuc2VsbE1pbixwcmVmaXg6YCRgLG1vbm86ITAsaW5wdXRNb2RlOmBkZWNpbWFsYCx2YWx1ZTpmLnNlbGxNaW5VU0QsLi4uZmUoYHNlbGxNaW5VU0RgKSxvbkNoYW5nZTplPT5EKHtzZWxsTWluVVNEOmUuY3VycmVudFRhcmdldC52YWx1ZX0pfSk6bnVsbCxtZT8oMCxDLmpzeCkoayx7dG9uZTpgd2FybmluZ2AsdGl0bGU6US5zZWxsV2FybmluZ1RpdGxlLGNoaWxkcmVuOlEuc2VsbFdhcm5pbmcoTGQoZi5zZWxsTWluVVNEKT8_US5zb21lQW1vdW50KX0pOm51bGxdfSl9KV19KTpudWxsXX0pLGhlPygwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtdW5zYXZlZGAscm9sZTpgcmVnaW9uYCwiYXJpYS1sYWJlbCI6US5jaGFuZ2VzKEUuY2hhbmdlcyksY2hpbGRyZW46WygwLEMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpRLmNoYW5nZXMoRS5jaGFuZ2VzKX0pLCgwLEMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtdW5zYXZlZC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsQy5qc3gpKE8se3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOigpPT57eSh2b2lkIDApLHAoRmQoVCkpfSxjaGlsZHJlbjpRLmRpc2NhcmR9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgcHJpbWFyeWAsaWNvbjpgYXBwcm92YWxgLGRpc2FibGVkOkUuaW52YWxpZC5zaXplPjB8fEUuY2hhbmdlcz09PTB8fGcua2luZD09PWBwcmVwYXJpbmdgLG9uQ2xpY2s6KCk9PnZvaWQgZWUoKSxjaGlsZHJlbjpRLnJldmlld1NhdmV9KV19KV19KTpudWxsLGcua2luZD09PWBwcmVwYXJpbmdgPygwLEMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOlEucHJlcGFyaW5nfSk6bnVsbCwoMCxDLmpzeCkoWmUse2ZpZWxkczpbe2tpbmQ6YGNvdW50YCxsYWJlbDpRLmhvb2RWZXJzaW9uLHZhbHVlOlN0cmluZyh1LnZlcnNpb24pfV19KV19KX1mdW5jdGlvbiBkZih7Y29uZmlybTplLGNvZGU6dCxzZWxsQW1vdW50Om4sb25Db2RlOnIsb25BY2s6aSxvbktlZXA6YSxvblNhdmU6byxvbkJhY2s6c30pe2xldCBjPWxmKGUucmV2aWV3Lndhcm5pbmdzLm1hcChlPT5lLmNvZGUpKSxsPWMuZXZlcnkodD0-ZS5hY2tzLmhhcyh0KSkmJiFlLmJ1c3kmJihlLnNwZW5kaW5nfHxlLnBhc3NrZXkhPT1udWxsfHx0Lmxlbmd0aD4wKTtyZXR1cm4oMCxDLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBybC1ncm91cCBybC1jb25maXJtYCwiYXJpYS1sYWJlbGxlZGJ5IjpgcnVsZXMtY29uZmlybWAsY2hpbGRyZW46WygwLEMuanN4KShgaDJgLHtpZDpgcnVsZXMtY29uZmlybWAsY2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTNgLGNoaWxkcmVuOlEuY29uZmlybVRpdGxlfSksKDAsQy5qc3hzKShzbix7Y2xhc3NOYW1lOmBybC1jYXJkIHJsLWNvbmZpcm0tYm9keWAsY2hpbGRyZW46W2MubGVuZ3RoPT09MD8oMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46US5ub1dhcm5pbmdzfSk6KDAsQy5qc3hzKShDLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOlEuY29uZmlybUludHJvfSksKDAsQy5qc3gpKGB1bGAse2NsYXNzTmFtZTpgcmwtd2FybmluZ3NgLGNoaWxkcmVuOmMubWFwKHQ9PigwLEMuanN4KShgbGlgLHtjaGlsZHJlbjooMCxDLmpzeHMpKGBsYWJlbGAse2NsYXNzTmFtZTpgYWwtY2hlY2sgcmwtd2FybmluZ2AsY2hpbGRyZW46WygwLEMuanN4KShgaW5wdXRgLHt0eXBlOmBjaGVja2JveGAsY2hlY2tlZDplLmFja3MuaGFzKHQpLG9uQ2hhbmdlOmU9PmkodCxlLmN1cnJlbnRUYXJnZXQuY2hlY2tlZCl9KSwoMCxDLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46YWYodCxuPT09dm9pZCAwP3t9OnthbW91bnQ6bn0pfSldfSl9LHQpKX0pXX0pLGUucmV2aWV3LmFza0tlZXBEZWxpdmVyeVJlY2VpcHRzPygwLEMuanN4KShuZSx7bGFiZWw6US5rZWVwVGl0bGUsZGVzY3JpcHRpb246US5rZWVwVGV4dCxjaGVja2VkOmUua2VlcCxkaXNhYmxlZDplLmJ1c3ksb25DaGFuZ2U6YX0pOm51bGwsZS5wYXNza2V5PT09bnVsbCYmIWUuc3BlbmRpbmc_KDAsQy5qc3gpKHRlLHtsYWJlbDpRLmNvZGVMYWJlbCxoaW50OmAke1EuY29kZUhpbnR9ICR7a259YCx0eXBlOmBwYXNzd29yZGAsYXV0b0NvbXBsZXRlOmBvZmZgLG1vbm86ITAsdmFsdWU6dCxvbkNoYW5nZTplPT5yKGUuY3VycmVudFRhcmdldC52YWx1ZSl9KTpudWxsLGUuZXJyb3I9PT12b2lkIDA_bnVsbDooMCxDLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBybC1lcnJvcmAscm9sZTpgYWxlcnRgLGNoaWxkcmVuOmUuZXJyb3J9KSwoMCxDLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YHJsLWNvbmZpcm0tYWN0aW9uc2AsY2hpbGRyZW46WygwLEMuanN4KShPLHt2YXJpYW50OmBnaG9zdGAsb25DbGljazpzLGRpc2FibGVkOmUuYnVzeSxjaGlsZHJlbjpRLmJhY2t9KSwoMCxDLmpzeCkoTyx7dmFyaWFudDpgcHJpbWFyeWAsLi4uZS5wYXNza2V5PT09bnVsbHx8ZS5zcGVuZGluZz97fTp7aWNvbjpgYXBwcm92YWxgfSxkaXNhYmxlZDohbCxvbkNsaWNrOm8sY2hpbGRyZW46ZS5zcGVuZGluZz9RLmNvbnRpbnVlVG9Db25maXJtOmUucGFzc2tleT09PW51bGw_US5zYXZlQ29kZTpRLnNhdmV9KV19KSxlLmJ1c3k_KDAsQy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46US5zYXZpbmd9KTpudWxsXX0pXX0pfWZ1bmN0aW9uIGZmKCl7cmV0dXJuKDAsQy5qc3gpKHNpLHt0aXRsZTpqbn0pfXZhciBwZj1be3BhdGg6YC9gLHBhZ2U6Q299LHtwYXRoOmAvc2V0dGluZ3MvaG9tZWAscGFnZTpndX0se3BhdGg6YC9maXJzdC1ydW5gLHBhZ2U6Z2x9LHtwYXRoOmAvc2V0dGluZ3MvYWN0aXZpdHlgLHBhZ2U6aGF9LHtwYXRoOmAvc2V0dGluZ3MvbWVzc2FnZXNgLHBhZ2U6QXV9LHtwYXRoOmAvc2V0dGluZ3MvY29udGFjdHNgLHBhZ2U6THN9LHtwYXRoOmAvc2V0dGluZ3MvZmlsZXNgLHBhZ2U6ZGx9LHtwYXRoOmAvc2V0dGluZ3MvcHJvb2ZzYCxwYWdlOnZkfSx7cGF0aDpgL3NldHRpbmdzL3J1bGVzYCxwYWdlOnVmfSx7cGF0aDpgL3NldHRpbmdzL2JhY2t1cGAscGFnZTpQb30se3BhdGg6YC9zZXR0aW5ncy9wYXNza2V5c2AscGFnZTpmZn0se3BhdGg6YC9zZXR0aW5ncy9hcHBlYXJhbmNlYCxwYWdlOk5vfSx7cGF0aDpgL3NldHRpbmdzL2FkdmFuY2VkYCxwYWdlOmpvfSx7cGF0aDpgL3NldHRpbmdzL2Fib3V0YCxwYWdlOkFvfV0sbWY9YGFnZW50bGluazpuYXZpZ2F0ZWAsaGY9YC9zZXR0aW5nc2AsZ2Y9YC9zZXR0aW5ncy9hY3Rpdml0eWA7ZnVuY3Rpb24gX2YoZSl7cmV0dXJuIGUubGVuZ3RoPjE_ZS5yZXBsYWNlKC9cLyskLyxgYCk6ZX1mdW5jdGlvbiB2ZihlLHQ9ITEpe2xldCBuPV9mKG5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKS5wYXRobmFtZSkhPT1fZihsb2NhdGlvbi5wYXRobmFtZSk7dD9oaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLGBgLGUpOmhpc3RvcnkucHVzaFN0YXRlKG51bGwsYGAsZSk7bGV0IHI9KCk9Pnt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQobWYpKX07dHx8IW4_cigpOkppKHIpfWZ1bmN0aW9uIHlmKGUpe3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihgcG9wc3RhdGVgLGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKG1mLGUpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCxlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihtZixlKX19ZnVuY3Rpb24gYmYoKXtyZXR1cm4gX2YoKDAsbC51c2VTeW5jRXh0ZXJuYWxTdG9yZSkoeWYsKCk9PmxvY2F0aW9uLnBhdGhuYW1lKSl9dmFyIHhmPWAvYDtmdW5jdGlvbiBTZihlKXtyZXR1cm4gZT09PWhmfHxlIGluIFBufHxwZi5zb21lKHQ9PnQucGF0aD09PWUpfHxUbyhlKSE9PXZvaWQgMH1mdW5jdGlvbiBDZihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWR8fGUuYnV0dG9uIT09MHx8ZS5tZXRhS2V5fHxlLmN0cmxLZXl8fGUuc2hpZnRLZXl8fGUuYWx0S2V5KXJldHVybjtsZXQgdD1lLnRhcmdldD8uY2xvc2VzdChgYWApO2lmKHQ9PW51bGx8fHQudGFyZ2V0IT09YGAmJnQudGFyZ2V0IT09YF9zZWxmYClyZXR1cm47bGV0IG49bmV3IFVSTCh0LmhyZWYsbG9jYXRpb24uaHJlZik7bi5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW4mJlNmKF9mKG4ucGF0aG5hbWUpKSYmKGUucHJldmVudERlZmF1bHQoKSx2ZihuLnBhdGhuYW1lK24uc2VhcmNoKSl9ZnVuY3Rpb24gd2YoKXtsZXQgZT1iZigpOygwLGwudXNlRWZmZWN0KSgoKT0-KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxDZiksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoYGNsaWNrYCxDZikpLFtdKSwoMCxsLnVzZUVmZmVjdCkoKCk9PntlPT09aGY_dmYoZ2YsITApOmUgaW4gUG4mJnZmKFBuW2VdLCEwKX0sW2VdKTtsZXQgdD1lPT09aGY_Z2Y6UG5bZV0_P2Usbj1Ubyh0KSE9PXZvaWQgMCxyPXBmLmZpbmQoZT0-ZS5wYXRoPT09dCksaT1uP0RvOnI_LnBhZ2U_P2NpO3JldHVybigwLEMuanN4KShHaSx7cGF0aDpuP3hmOnQsY2hpbGRyZW46KDAsQy5qc3gpKGkse30sdCl9KX1TbigpLHAoKTt2YXIgVGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYHJvb3RgKTtUZiE9PW51bGwmJigwLHUuY3JlYXRlUm9vdCkoVGYpLnJlbmRlcigoMCxDLmpzeCkobC5TdHJpY3RNb2RlLHtjaGlsZHJlbjooMCxDLmpzeCkod2Yse30pfSkpOw"],
54249
- ["assets/style-B98Jgn8z.css", "QGZvbnQtZmFjZXtmb250LWZhbWlseTpHZWlzdDtzcmM6dXJsKC9hc3NldHMvR2Vpc3QtVmFyaWFibGUtcDJHVWM4cVoud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1kaXNwbGF5OnN3YXB9QGZvbnQtZmFjZXtmb250LWZhbWlseTpHZWlzdCBNb25vO3NyYzp1cmwoL2Fzc2V0cy9HZWlzdE1vbm8tVmFyaWFibGUtYk9HU000OXAud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1kaXNwbGF5OnN3YXB9OnJvb3R7LS1hbC1zcGFjZS0wOjBweDstLWFsLXNwYWNlLTE6MnB4Oy0tYWwtc3BhY2UtMjo0cHg7LS1hbC1zcGFjZS0zOjhweDstLWFsLXNwYWNlLTQ6MTJweDstLWFsLXNwYWNlLTU6MTZweDstLWFsLXNwYWNlLTY6MjBweDstLWFsLXNwYWNlLTc6MjRweDstLWFsLXNwYWNlLTg6MzJweDstLWFsLXNwYWNlLTk6NDBweDstLWFsLXNwYWNlLTEwOjQ4cHg7LS1hbC1zcGFjZS0xMTo2NHB4Oy0tYWwtc3BhY2UtMTI6ODBweDstLWFsLXJhZGl1cy1ub25lOjBweDstLWFsLXJhZGl1cy14czoycHg7LS1hbC1yYWRpdXMtc206M3B4Oy0tYWwtcmFkaXVzLW1kOjRweDstLWFsLXJhZGl1cy1sZzo2cHg7LS1hbC1yYWRpdXMteGw6MTBweDstLWFsLXJhZGl1cy1mdWxsOjk5OTlweDstLWFsLXNpemUtdG91Y2gtbWluOjQ0cHg7LS1hbC1zaXplLWljb24tc206MTRweDstLWFsLXNpemUtaWNvbi1tZDoxNnB4Oy0tYWwtc2l6ZS1pY29uLWxnOjIwcHg7LS1hbC1zaXplLWNvbnRyb2wtc206MjhweDstLWFsLXNpemUtY29udHJvbC1tZDozMnB4Oy0tYWwtc2l6ZS1jb250cm9sLWxnOjQ0cHg7LS1hbC1ib3JkZXItd2lkdGgtdGhpbjoxcHg7LS1hbC1ib3JkZXItd2lkdGgtdGhpY2s6MnB4Oy0tYWwtZm9jdXMtcmluZy13aWR0aDoycHg7LS1hbC1mb2N1cy1yaW5nLW9mZnNldDoycHg7LS1hbC1mb250LXdlaWdodC1yZWd1bGFyOjQwMDstLWFsLWZvbnQtd2VpZ2h0LW1lZGl1bTo1MDA7LS1hbC1mb250LXdlaWdodC1zZW1pYm9sZDo2MDA7LS1hbC1mb250LXdlaWdodC1ib2xkOjcwMDstLWFsLW9wYWNpdHktZGlzYWJsZWQ6LjQ7LS1hbC1vcGFjaXR5LXNjcmltOi43MjstLWFsLXotYmFzZTowOy0tYWwtei1zdGlja3k6MTAwOy0tYWwtei1kcm9wZG93bjoyMDA7LS1hbC16LW92ZXJsYXk6MzAwOy0tYWwtei1tb2RhbDo0MDA7LS1hbC16LXRvYXN0OjUwMDstLWFsLWR1cmF0aW9uLWluc3RhbnQ6MHM7LS1hbC1kdXJhdGlvbi1mYXN0Oi4xMnM7LS1hbC1kdXJhdGlvbi1iYXNlOi4yczstLWFsLWR1cmF0aW9uLXNsb3c6LjMyczstLWFsLWR1cmF0aW9uLW1vbWVudDouNDhzOy0tYWwtZHVyYXRpb24tYW1iaWVudDoyczstLWFsLWR1cmF0aW9uLWFtYmllbnQtc3dlZXA6MS40czstLWFsLWVhc2luZy1zdGFuZGFyZDpjdWJpYy1iZXppZXIoLjIsIDAsIDAsIDEpOy0tYWwtZWFzaW5nLWVudGVyOmN1YmljLWJlemllcigwLCAwLCAwLCAxKTstLWFsLWVhc2luZy1leGl0OmN1YmljLWJlemllciguMywgMCwgMSwgMSk7LS1hbC1lYXNpbmctZW1waGFzaXplZDpjdWJpYy1iZXppZXIoLjA1LCAuNywgLjEsIDEpOy0tYWwtbGF5b3V0LWd1dHRlci1tb2JpbGU6MTZweDstLWFsLWxheW91dC1ndXR0ZXItZGVza3RvcDoyNHB4Oy0tYWwtbGF5b3V0LW1heC1jb250ZW50OjcyMHB4Oy0tYWwtbGF5b3V0LW1heC1wYWdlOjE0NDBweDstLWFsLWxheW91dC1zaWRlYmFyLXdpZHRoOjIzMnB4Oy0tYWwtYnJlYWtwb2ludC1zbTo2MDBweDstLWFsLWJyZWFrcG9pbnQtbWQ6MTAyNHB4Oy0tYWwtYnJlYWtwb2ludC1sZzoxNDQwcHg7LS1hbC1tb3Rpb24tZHVyYXRpb24taW5zdGFudDp2YXIoLS1hbC1kdXJhdGlvbi1pbnN0YW50KTstLWFsLW1vdGlvbi1kdXJhdGlvbi1mYXN0OnZhcigtLWFsLWR1cmF0aW9uLWZhc3QpOy0tYWwtbW90aW9uLWR1cmF0aW9uLWJhc2U6dmFyKC0tYWwtZHVyYXRpb24tYmFzZSk7LS1hbC1tb3Rpb24tZHVyYXRpb24tc2xvdzp2YXIoLS1hbC1kdXJhdGlvbi1zbG93KTstLWFsLW1vdGlvbi1lYXNpbmctc3RhbmRhcmQ6dmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKTstLWFsLW1vdGlvbi1lYXNpbmctZW50ZXI6dmFyKC0tYWwtZWFzaW5nLWVudGVyKTstLWFsLW1vdGlvbi1lYXNpbmctZXhpdDp2YXIoLS1hbC1lYXNpbmctZXhpdCk7LS1hbC1mb250LWZhbWlseS1zYW5zOiJHZWlzdCIsIHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgIlNlZ29lIFVJIiwgIk5vdG8gU2FucyIsIHNhbnMtc2VyaWY7LS1hbC1mb250LWZhbWlseS1tb25vOiJHZWlzdCBNb25vIiwgdWktbW9ub3NwYWNlLCAiU0YgTW9ubyIsICJDYXNjYWRpYSBNb25vIiwgIkpldEJyYWlucyBNb25vIiwgTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2U7LS1mb250LXNhbnM6dmFyKC0tYWwtZm9udC1mYW1pbHktc2Fucyk7LS1mb250LW1vbm86dmFyKC0tYWwtZm9udC1mYW1pbHktbW9ubyk7LS1hbC10ZXh0LWRpc3BsYXktc2l6ZTo0MHB4Oy0tYWwtdGV4dC1kaXNwbGF5LWxpbmU6NDRweDstLWFsLXRleHQtZGlzcGxheS13ZWlnaHQ6NjAwOy0tYWwtdGV4dC1kaXNwbGF5LXRyYWNraW5nOi0uMDI1ZW07LS1hbC10ZXh0LXRpdGxlLTEtc2l6ZToyOHB4Oy0tYWwtdGV4dC10aXRsZS0xLWxpbmU6MzRweDstLWFsLXRleHQtdGl0bGUtMS13ZWlnaHQ6NjAwOy0tYWwtdGV4dC10aXRsZS0xLXRyYWNraW5nOi0uMDJlbTstLWFsLXRleHQtdGl0bGUtMi1zaXplOjIwcHg7LS1hbC10ZXh0LXRpdGxlLTItbGluZToyOHB4Oy0tYWwtdGV4dC10aXRsZS0yLXdlaWdodDo2MDA7LS1hbC10ZXh0LXRpdGxlLTItdHJhY2tpbmc6LS4wMTVlbTstLWFsLXRleHQtdGl0bGUtMy1zaXplOjE2cHg7LS1hbC10ZXh0LXRpdGxlLTMtbGluZToyNHB4Oy0tYWwtdGV4dC10aXRsZS0zLXdlaWdodDo2MDA7LS1hbC10ZXh0LXRpdGxlLTMtdHJhY2tpbmc6LS4wMWVtOy0tYWwtdGV4dC1ib2R5LWxnLXNpemU6MTZweDstLWFsLXRleHQtYm9keS1sZy1saW5lOjI0cHg7LS1hbC10ZXh0LWJvZHktbGctd2VpZ2h0OjQwMDstLWFsLXRleHQtYm9keS1sZy10cmFja2luZzowZW07LS1hbC10ZXh0LWJvZHktc2l6ZToxNHB4Oy0tYWwtdGV4dC1ib2R5LWxpbmU6MjBweDstLWFsLXRleHQtYm9keS13ZWlnaHQ6NDAwOy0tYWwtdGV4dC1ib2R5LXRyYWNraW5nOjBlbTstLWFsLXRleHQtYm9keS1zbS1zaXplOjEzcHg7LS1hbC10ZXh0LWJvZHktc20tbGluZToxOHB4Oy0tYWwtdGV4dC1ib2R5LXNtLXdlaWdodDo0MDA7LS1hbC10ZXh0LWJvZHktc20tdHJhY2tpbmc6MGVtOy0tYWwtdGV4dC1jYXB0aW9uLXNpemU6MTJweDstLWFsLXRleHQtY2FwdGlvbi1saW5lOjE2cHg7LS1hbC10ZXh0LWNhcHRpb24td2VpZ2h0OjQwMDstLWFsLXRleHQtY2FwdGlvbi10cmFja2luZzowZW07LS1hbC10ZXh0LWxhYmVsLXNpemU6MTFweDstLWFsLXRleHQtbGFiZWwtbGluZToxNnB4Oy0tYWwtdGV4dC1sYWJlbC13ZWlnaHQ6NTAwOy0tYWwtdGV4dC1sYWJlbC10cmFja2luZzouMDZlbTstLWFsLXRleHQtY29kZS1zaXplOjEzcHg7LS1hbC10ZXh0LWNvZGUtbGluZToyMHB4Oy0tYWwtdGV4dC1jb2RlLXdlaWdodDo0MDA7LS1hbC10ZXh0LWNvZGUtdHJhY2tpbmc6MGVtOy0tYWwtdGV4dC1jb2RlLWxnLXNpemU6MjRweDstLWFsLXRleHQtY29kZS1sZy1saW5lOjMycHg7LS1hbC10ZXh0LWNvZGUtbGctd2VpZ2h0OjUwMDstLWFsLXRleHQtY29kZS1sZy10cmFja2luZzouMDJlbTstLWFsLXRleHQtd29yZG1hcmstc2l6ZToyMHB4Oy0tYWwtdGV4dC13b3JkbWFyay1saW5lOjI0cHg7LS1hbC10ZXh0LXdvcmRtYXJrLXdlaWdodDo2MDA7LS1hbC10ZXh0LXdvcmRtYXJrLXRyYWNraW5nOi0uMDNlbX06cm9vdCxbZGF0YS10aGVtZT1kYXJrXXstLWFsLWNvbG9yLWJnLWNhbnZhczojMGIwYzBlOy0tYWwtY29sb3ItYmctc3VyZmFjZTojMTExMzE2Oy0tYWwtY29sb3ItYmctcmFpc2VkOiMxNzFhMWU7LS1hbC1jb2xvci1iZy1zdW5rZW46IzA4MDkwYjstLWFsLWNvbG9yLWJnLWludmVyc2U6I2U3ZTllYzstLWFsLWNvbG9yLWJnLW92ZXJsYXk6IzA1MDYwOGI4Oy0tYWwtY29sb3ItZmctZGVmYXVsdDojZTdlOWVjOy0tYWwtY29sb3ItZmctbXV0ZWQ6I2ExYTliNDstLWFsLWNvbG9yLWZnLXN1YnRsZTojOGE5MjlkOy0tYWwtY29sb3ItZmctaW52ZXJzZTojMGUxMDEzOy0tYWwtY29sb3ItZmctb24tYWNjZW50OiMwYjBjMGU7LS1hbC1jb2xvci1mZy1saW5rOiNmZjhhNGM7LS1hbC1jb2xvci1ib3JkZXItc3VidGxlOiMxZTIyMjc7LS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdDojMmEyZjM2Oy0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZzojNjg3MTdjOy0tYWwtY29sb3ItZm9jdXMtcmluZzojZmY4YTRjOy0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQ6I2ZmNmExYTstLWFsLWNvbG9yLWFjY2VudC1ob3ZlcjojZmY4MjQwOy0tYWwtY29sb3ItYWNjZW50LXByZXNzZWQ6I2U1NTkwYzstLWFsLWNvbG9yLWFjY2VudC1zdWJ0bGU6IzJiMTcwYjstLWFsLWNvbG9yLWFjY2VudC1mZzojZmY4YTRjOy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYmc6IzBlMjQxZDstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnOiM0ZmQxYTU7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXI6IzFmNGQzZTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb246IzRmZDFhNTstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJnOiMyYTI0MTA7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1mZzojZjJjOTRjOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyOiM1NzRhMWM7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uOiNmMmM5NGM7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJnOiMyZDE0MTU7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnOiNmZjdiN2I7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcjojNWMyNjI4Oy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uOiNmZjZiNmI7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1iZzojMGYxZDJlOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tZmc6IzZjYjZmZjstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJvcmRlcjojMWYzZDVmOy0tYWwtY29sb3Itc3RhdHVzLWluZm8taWNvbjojNmNiNmZmOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYmc6IzFhMWQyMTstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWZnOiNhMWE5YjQ7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXI6IzJhMmYzNjstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb246I2ExYTliNDstLWFsLWNvbG9yLXByb29mLWJnOiMxYzE4MzA7LS1hbC1jb2xvci1wcm9vZi1mZzojYjlhZWZmOy0tYWwtY29sb3ItcHJvb2YtYm9yZGVyOiMzZTM2NzA7LS1hbC1jb2xvci1wcm9vZi1zZWFsOiNhNDk1ZmY7LS1hbC1jb2xvci11bnRydXN0ZWQtYmc6IzBkMGUxMDstLWFsLWNvbG9yLXVudHJ1c3RlZC1mZzojYzljZWQ2Oy0tYWwtY29sb3ItdW50cnVzdGVkLWJvcmRlcjojN2E2NzQwOy0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWJnOiMyNDFlMTI7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmc6I2Q5YjY2YTstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYmc6IzI0MTQwYTstLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmc6I2ZmYjA4MzstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYm9yZGVyOiNjMjVhMWY7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1iZzojMGYxZDJlOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtZmc6IzZjYjZmZjstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWJvcmRlcjojMWYzZDVmOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1iZzojMWMxODMwOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1mZzojYjlhZWZmOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1ib3JkZXI6IzNlMzY3MDstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1iZzojMTUxNzFhOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWZnOiNhMWE5YjQ7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtYm9yZGVyOiMzNTNiNDM7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJnOiMyYTI0MTA7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWZnOiNmMmM5NGM7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJvcmRlcjojNTc0YTFjOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1iZzojMGUyNDFkOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1mZzojNGZkMWE1Oy0tYWwtY29sb3ItZGlmZi1hZGRlZC1ib3JkZXI6IzFmNGQzZTstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1iZzojMmQxNDE1Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnOiNmZjhlOGU7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyOiM1YzI2Mjg7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtYmc6IzJhMjQxMDstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1mZzojZjJjOTRjOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJvcmRlcjojNTc0YTFjOy0tYWwtY29sb3ItYnJhbmQtbWFyazojZTdlOWVjOy0tYWwtY29sb3ItYnJhbmQtc2VhbDojZmY2YTFhOy0tYWwtY29sb3ItYnJhbmQtd29yZG1hcms6I2U3ZTllYzstLWFsLWNvbG9yLWJyYW5kLWVuZG9yc2VtZW50OiNhMWE5YjQ7LS1hbC1jb2xvci1zeW50YXgta2V5d29yZDojZmY4YTRjOy0tYWwtY29sb3Itc3ludGF4LXN0cmluZzojNGZkMWE1Oy0tYWwtY29sb3Itc3ludGF4LWNvbW1lbnQ6IzhhOTI5ZDstLWFsLWNvbG9yLXN5bnRheC1udW1iZXI6I2I5YWVmZjstLWFsLXNoYWRvdy0wOm5vbmU7LS1hbC1zaGFkb3ctMTowIDFweCAwICMwMDAwMDA4MDstLWFsLXNoYWRvdy0yOjAgNHB4IDEycHggIzAwMDAwMDczOy0tYWwtc2hhZG93LTM6MCAxMnB4IDMycHggIzAwMDAwMDhjOy0tYWwtc2hhZG93LTQ6MCAyNHB4IDY0cHggIzAwMDk7LS1hbC1oaWdobGlnaHQtdG9wOiNmZmZmZmYwZDstLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkOiNmZmZmZmYxMjstLWFsLW1hdGVyaWFsLWNocm9tZS1iZzojMTExMzE2ZDk7LS1hbC1tYXRlcmlhbC1ibHVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMS40KTstLWxpZ2h0bmluZ2Nzcy1saWdodDogOy0tbGlnaHRuaW5nY3NzLWRhcms6aW5pdGlhbDtjb2xvci1zY2hlbWU6ZGFya31bZGF0YS10aGVtZT1saWdodF17LS1hbC1jb2xvci1iZy1jYW52YXM6I2Y1ZjZmNzstLWFsLWNvbG9yLWJnLXN1cmZhY2U6I2ZmZjstLWFsLWNvbG9yLWJnLXJhaXNlZDojZmZmOy0tYWwtY29sb3ItYmctc3Vua2VuOiNlY2VlZjA7LS1hbC1jb2xvci1iZy1pbnZlcnNlOiMxNTE3MWE7LS1hbC1jb2xvci1iZy1vdmVybGF5OiMwZTEwMTM3YTstLWFsLWNvbG9yLWZnLWRlZmF1bHQ6IzBlMTAxMzstLWFsLWNvbG9yLWZnLW11dGVkOiM0ZjU3NjE7LS1hbC1jb2xvci1mZy1zdWJ0bGU6IzYyNmI3NjstLWFsLWNvbG9yLWZnLWludmVyc2U6I2Y1ZjZmNzstLWFsLWNvbG9yLWZnLW9uLWFjY2VudDojMGIwYzBlOy0tYWwtY29sb3ItZmctbGluazojYjIzYTA5Oy0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZTojZTRlN2VhOy0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQ6I2QzZDdkYzstLWFsLWNvbG9yLWJvcmRlci1zdHJvbmc6Izg0OGQ5ODstLWFsLWNvbG9yLWZvY3VzLXJpbmc6I2MyNDEwYzstLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0OiNlYTVhMTA7LS1hbC1jb2xvci1hY2NlbnQtaG92ZXI6I2ZmNmExYTstLWFsLWNvbG9yLWFjY2VudC1wcmVzc2VkOiNkOTRmMDY7LS1hbC1jb2xvci1hY2NlbnQtc3VidGxlOiNmZmVkZTI7LS1hbC1jb2xvci1hY2NlbnQtZmc6I2IyM2EwOTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJnOiNlM2Y2ZWY7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZzojMGE2ZTUxOy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyOiM5YWQ5YzI7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1pY29uOiMwZThhNjY7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1iZzojZmRmNGRjOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctZmc6IzgwNTMwMDstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJvcmRlcjojZThjZDdjOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctaWNvbjojYTA2OTAwOy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1iZzojZmRlOGU4Oy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZzojYjMxOTFmOy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1ib3JkZXI6I2YzYTlhYjstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbjojZDMyODJlOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tYmc6I2U2ZjBmYzstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWZnOiMwYjVjYjg7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1ib3JkZXI6I2EzYzZlZjstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWljb246IzE2NjhjNzstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWJnOiNlZWYwZjI7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1mZzojNGY1NzYxOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYm9yZGVyOiNkM2Q3ZGM7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1pY29uOiM1YjYzNmU7LS1hbC1jb2xvci1wcm9vZi1iZzojZWZlZGZmOy0tYWwtY29sb3ItcHJvb2YtZmc6IzRiM2JjMjstLWFsLWNvbG9yLXByb29mLWJvcmRlcjojYzNiY2Y1Oy0tYWwtY29sb3ItcHJvb2Ytc2VhbDojNWI0YmQ2Oy0tYWwtY29sb3ItdW50cnVzdGVkLWJnOiNmNmY0ZWY7LS1hbC1jb2xvci11bnRydXN0ZWQtZmc6IzJhMmQzMTstLWFsLWNvbG9yLXVudHJ1c3RlZC1ib3JkZXI6IzljODQ1NjstLWFsLWNvbG9yLXVudHJ1c3RlZC1sYWJlbC1iZzojZWRlNGNmOy0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWZnOiM1ZTRhMWI7LS1hbC1jb2xvci1jb21taXRtZW50LWJnOiNmZmYxZTg7LS1hbC1jb2xvci1jb21taXRtZW50LWZnOiM5YTM0MDg7LS1hbC1jb2xvci1jb21taXRtZW50LWJvcmRlcjojYzQ1NjFjOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYmc6I2U2ZjBmYzstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWZnOiMwYjVjYjg7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1ib3JkZXI6I2EzYzZlZjstLWFsLWNvbG9yLWlkZW50aXR5LXJlZ2lzdGVyZWQtYmc6I2VmZWRmZjstLWFsLWNvbG9yLWlkZW50aXR5LXJlZ2lzdGVyZWQtZmc6IzRiM2JjMjstLWFsLWNvbG9yLWlkZW50aXR5LXJlZ2lzdGVyZWQtYm9yZGVyOiNjM2JjZjU7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtYmc6I2YwZjFmMzstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1mZzojNGY1NzYxOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJvcmRlcjojYzljZWQ0Oy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1iZzojZmRmNGRjOy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1mZzojODA1MzAwOy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1ib3JkZXI6I2U4Y2Q3YzstLWFsLWNvbG9yLWRpZmYtYWRkZWQtYmc6I2UzZjZlZjstLWFsLWNvbG9yLWRpZmYtYWRkZWQtZmc6IzBhNmU1MTstLWFsLWNvbG9yLWRpZmYtYWRkZWQtYm9yZGVyOiM5YWQ5YzI7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYmc6I2ZkZThlODstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1mZzojYjMxOTFmOy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWJvcmRlcjojZjNhOWFiOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJnOiNmZGY0ZGM7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtZmc6IzgwNTMwMDstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1ib3JkZXI6I2U4Y2Q3YzstLWFsLWNvbG9yLWJyYW5kLW1hcms6IzBlMTAxMzstLWFsLWNvbG9yLWJyYW5kLXNlYWw6I2ZmNmExYTstLWFsLWNvbG9yLWJyYW5kLXdvcmRtYXJrOiMwZTEwMTM7LS1hbC1jb2xvci1icmFuZC1lbmRvcnNlbWVudDojNGY1NzYxOy0tYWwtY29sb3Itc3ludGF4LWtleXdvcmQ6I2IyM2EwOTstLWFsLWNvbG9yLXN5bnRheC1zdHJpbmc6IzBhNmU1MTstLWFsLWNvbG9yLXN5bnRheC1jb21tZW50OiM2MjZiNzY7LS1hbC1jb2xvci1zeW50YXgtbnVtYmVyOiM0YjNiYzI7LS1hbC1zaGFkb3ctMDpub25lOy0tYWwtc2hhZG93LTE6MCAxcHggMnB4ICMwZTEwMTMwZjstLWFsLXNoYWRvdy0yOjAgNHB4IDEycHggIzBlMTAxMzE0Oy0tYWwtc2hhZG93LTM6MCAxMnB4IDMycHggIzBlMTAxMzFmOy0tYWwtc2hhZG93LTQ6MCAyNHB4IDY0cHggIzBlMTAxMzI5Oy0tYWwtaGlnaGxpZ2h0LXRvcDp0cmFuc3BhcmVudDstLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkOnRyYW5zcGFyZW50Oy0tYWwtbWF0ZXJpYWwtY2hyb21lLWJnOiNmZmZmZmZkOTstLWFsLW1hdGVyaWFsLWJsdXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxLjQpOy0tbGlnaHRuaW5nY3NzLWxpZ2h0OmluaXRpYWw7LS1saWdodG5pbmdjc3MtZGFyazogO2NvbG9yLXNjaGVtZTpsaWdodH06cm9vdFtkYXRhLWNvbnRyYXN0PW1vcmVdOm5vdChbZGF0YS10aGVtZT1saWdodF0pLFtkYXRhLXRoZW1lPWRhcmtdW2RhdGEtY29udHJhc3Q9bW9yZV0sW2RhdGEtdGhlbWU9ZGFyay1jb250cmFzdF17LS1hbC1jb2xvci1iZy1jYW52YXM6IzAwMDstLWFsLWNvbG9yLWJnLXN1cmZhY2U6IzA2MDcwODstLWFsLWNvbG9yLWJnLXJhaXNlZDojMGUxMDEzOy0tYWwtY29sb3ItYmctc3Vua2VuOiMwMDA7LS1hbC1jb2xvci1iZy1vdmVybGF5OiMwMDAwMDBkOTstLWFsLWNvbG9yLWZnLWRlZmF1bHQ6I2ZmZjstLWFsLWNvbG9yLWZnLW11dGVkOiNkM2Q4ZGU7LS1hbC1jb2xvci1mZy1zdWJ0bGU6I2JjYzNjYjstLWFsLWNvbG9yLWZnLW9uLWFjY2VudDojMDAwOy0tYWwtY29sb3ItZmctbGluazojZmZhZTgwOy0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZTojNWE2MjZjOy0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQ6IzhhOTM5ZTstLWFsLWNvbG9yLWJvcmRlci1zdHJvbmc6I2QzZDhkZTstLWFsLWNvbG9yLWZvY3VzLXJpbmc6I2ZmYWU4MDstLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0OiNmZjdhMmU7LS1hbC1jb2xvci1hY2NlbnQtaG92ZXI6I2ZmOTE1MjstLWFsLWNvbG9yLWFjY2VudC1wcmVzc2VkOiNmZjZhMWE7LS1hbC1jb2xvci1hY2NlbnQtZmc6I2ZmYWU4MDstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnOiM3ZWVjYzc7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXI6IzRmZDFhNTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb246IzdlZWNjNzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWZnOiNmZmRmN2E7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1ib3JkZXI6I2YyYzk0YzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb246I2ZmZGY3YTstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmc6I2ZhYTstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyOiNmZjdiN2I7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb246I2ZmOWE5YTstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWZnOiNhOGQyZmY7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1ib3JkZXI6IzZjYjZmZjstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWljb246I2E4ZDJmZjstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWZnOiNkM2Q4ZGU7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXI6IzhhOTM5ZTstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb246I2QzZDhkZTstLWFsLWNvbG9yLXByb29mLWZnOiNkNmNmZmY7LS1hbC1jb2xvci1wcm9vZi1ib3JkZXI6I2E0OTVmZjstLWFsLWNvbG9yLXByb29mLXNlYWw6I2M0YmFmZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1iZzojMDAwOy0tYWwtY29sb3ItdW50cnVzdGVkLWZnOiNmMGYyZjU7LS1hbC1jb2xvci11bnRydXN0ZWQtYm9yZGVyOiNlMGMyN2E7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmc6I2ZmZTA5OTstLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmc6I2ZmY2FhODstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYm9yZGVyOiNmZjhhNGM7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1mZzojYThkMmZmOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYm9yZGVyOiM2Y2I2ZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWZnOiNkNmNmZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJvcmRlcjojYTQ5NWZmOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJnOiMwZTEwMTM7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtZmc6I2QzZDhkZTstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1ib3JkZXI6IzhhOTM5ZTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctZmc6I2ZmZGY3YTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYm9yZGVyOiNmMmM5NGM7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWZnOiM3ZWVjYzc7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWJvcmRlcjojNGZkMWE1Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnOiNmYWE7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyOiNmZjdiN2I7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtZmc6I2ZmZGY3YTstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1ib3JkZXI6I2YyYzk0YzstLWFsLWNvbG9yLWJyYW5kLW1hcms6I2ZmZjstLWFsLWNvbG9yLWJyYW5kLXdvcmRtYXJrOiNmZmY7LS1hbC1jb2xvci1icmFuZC1lbmRvcnNlbWVudDojZDNkOGRlOy0tYWwtY29sb3Itc3ludGF4LWtleXdvcmQ6I2ZmYWU4MDstLWFsLWNvbG9yLXN5bnRheC1zdHJpbmc6IzdlZWNjNzstLWFsLWNvbG9yLXN5bnRheC1jb21tZW50OiNiY2MzY2I7LS1hbC1jb2xvci1zeW50YXgtbnVtYmVyOiNkNmNmZmY7LS1hbC1zaGFkb3ctMTpub25lOy0tYWwtc2hhZG93LTI6bm9uZTstLWFsLXNoYWRvdy0zOm5vbmU7LS1hbC1zaGFkb3ctNDpub25lOy0tYWwtaGlnaGxpZ2h0LXRvcDp0cmFuc3BhcmVudDstLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkOnRyYW5zcGFyZW50Oy0tYWwtbWF0ZXJpYWwtY2hyb21lLWJnOiMwNjA3MDg7LS1hbC1tYXRlcmlhbC1ibHVyOm5vbmV9W2RhdGEtdGhlbWU9bGlnaHRdW2RhdGEtY29udHJhc3Q9bW9yZV0sW2RhdGEtdGhlbWU9bGlnaHQtY29udHJhc3Rdey0tYWwtY29sb3ItYmctY2FudmFzOiNmZmY7LS1hbC1jb2xvci1iZy1zdW5rZW46I2YyZjNmNTstLWFsLWNvbG9yLWJnLWludmVyc2U6IzAwMDstLWFsLWNvbG9yLWJnLW92ZXJsYXk6IzAwMDk7LS1hbC1jb2xvci1mZy1kZWZhdWx0OiMwMDA7LS1hbC1jb2xvci1mZy1tdXRlZDojMmYzNTNjOy0tYWwtY29sb3ItZmctc3VidGxlOiMzZjQ2NGU7LS1hbC1jb2xvci1mZy1vbi1hY2NlbnQ6I2ZmZjstLWFsLWNvbG9yLWZnLWxpbms6IzdhMjkwNjstLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGU6IzhhOTM5ZTstLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0OiM0ZjU3NjE7LS1hbC1jb2xvci1ib3JkZXItc3Ryb25nOiMxZjIzMjg7LS1hbC1jb2xvci1mb2N1cy1yaW5nOiM3YTI5MDY7LS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdDojOWEzNDA4Oy0tYWwtY29sb3ItYWNjZW50LWhvdmVyOiM3YTI5MDY7LS1hbC1jb2xvci1hY2NlbnQtcHJlc3NlZDojNmUyNDA1Oy0tYWwtY29sb3ItYWNjZW50LXN1YnRsZTojZmZmMWU4Oy0tYWwtY29sb3ItYWNjZW50LWZnOiM3YTI5MDY7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZzojMDQ1MDNhOy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyOiMwZThhNjY7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1pY29uOiMwNDUwM2E7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1mZzojNTczODAwOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyOiNhMDY5MDA7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uOiM1NzM4MDA7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnOiM4NTBmMTQ7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcjojZDMyODJlOy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uOiM4NTBmMTQ7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1mZzojMDgzZjgwOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tYm9yZGVyOiMxNjY4Yzc7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1pY29uOiMwODNmODA7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1mZzojMmYzNTNjOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYm9yZGVyOiM0ZjU3NjE7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1pY29uOiMyZjM1M2M7LS1hbC1jb2xvci1wcm9vZi1mZzojMmYyMzkzOy0tYWwtY29sb3ItcHJvb2YtYm9yZGVyOiM1YjRiZDY7LS1hbC1jb2xvci1wcm9vZi1zZWFsOiMzZDJmYjA7LS1hbC1jb2xvci11bnRydXN0ZWQtYmc6I2ZmZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1mZzojMDAwOy0tYWwtY29sb3ItdW50cnVzdGVkLWJvcmRlcjojNmI1NDIwOy0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWZnOiMzZDJmMGY7LS1hbC1jb2xvci1jb21taXRtZW50LWZnOiM2ZTI0MDU7LS1hbC1jb2xvci1jb21taXRtZW50LWJvcmRlcjojYzI0MTBjOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtZmc6IzA4M2Y4MDstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWJvcmRlcjojMTY2OGM3Oy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1mZzojMmYyMzkzOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1ib3JkZXI6IzViNGJkNjstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1mZzojMmYzNTNjOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJvcmRlcjojNGY1NzYxOy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1mZzojNTczODAwOy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1ib3JkZXI6I2EwNjkwMDstLWFsLWNvbG9yLWRpZmYtYWRkZWQtZmc6IzA0NTAzYTstLWFsLWNvbG9yLWRpZmYtYWRkZWQtYm9yZGVyOiMwZThhNjY7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtZmc6Izg1MGYxNDstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1ib3JkZXI6I2QzMjgyZTstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1mZzojNTczODAwOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJvcmRlcjojYTA2OTAwOy0tYWwtY29sb3ItYnJhbmQtbWFyazojMDAwOy0tYWwtY29sb3ItYnJhbmQtd29yZG1hcms6IzAwMDstLWFsLWNvbG9yLWJyYW5kLWVuZG9yc2VtZW50OiMyZjM1M2M7LS1hbC1jb2xvci1zeW50YXgta2V5d29yZDojN2EyOTA2Oy0tYWwtY29sb3Itc3ludGF4LXN0cmluZzojMDQ1MDNhOy0tYWwtY29sb3Itc3ludGF4LWNvbW1lbnQ6IzNmNDY0ZTstLWFsLWNvbG9yLXN5bnRheC1udW1iZXI6IzJmMjM5MzstLWFsLXNoYWRvdy0xOm5vbmU7LS1hbC1zaGFkb3ctMjpub25lOy0tYWwtc2hhZG93LTM6bm9uZTstLWFsLXNoYWRvdy00Om5vbmU7LS1hbC1oaWdobGlnaHQtdG9wOnRyYW5zcGFyZW50Oy0tYWwtaGlnaGxpZ2h0LXRvcC1yYWlzZWQ6dHJhbnNwYXJlbnQ7LS1hbC1tYXRlcmlhbC1jaHJvbWUtYmc6I2ZmZjstLWFsLW1hdGVyaWFsLWJsdXI6bm9uZX1AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXs6cm9vdDpub3QoW2RhdGEtdGhlbWVdKXstLWFsLWNvbG9yLWJnLWNhbnZhczojZjVmNmY3Oy0tYWwtY29sb3ItYmctc3VyZmFjZTojZmZmOy0tYWwtY29sb3ItYmctcmFpc2VkOiNmZmY7LS1hbC1jb2xvci1iZy1zdW5rZW46I2VjZWVmMDstLWFsLWNvbG9yLWJnLWludmVyc2U6IzE1MTcxYTstLWFsLWNvbG9yLWJnLW92ZXJsYXk6IzBlMTAxMzdhOy0tYWwtY29sb3ItZmctZGVmYXVsdDojMGUxMDEzOy0tYWwtY29sb3ItZmctbXV0ZWQ6IzRmNTc2MTstLWFsLWNvbG9yLWZnLXN1YnRsZTojNjI2Yjc2Oy0tYWwtY29sb3ItZmctaW52ZXJzZTojZjVmNmY3Oy0tYWwtY29sb3ItZmctb24tYWNjZW50OiMwYjBjMGU7LS1hbC1jb2xvci1mZy1saW5rOiNiMjNhMDk7LS1hbC1jb2xvci1ib3JkZXItc3VidGxlOiNlNGU3ZWE7LS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdDojZDNkN2RjOy0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZzojODQ4ZDk4Oy0tYWwtY29sb3ItZm9jdXMtcmluZzojYzI0MTBjOy0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQ6I2VhNWExMDstLWFsLWNvbG9yLWFjY2VudC1ob3ZlcjojZmY2YTFhOy0tYWwtY29sb3ItYWNjZW50LXByZXNzZWQ6I2Q5NGYwNjstLWFsLWNvbG9yLWFjY2VudC1zdWJ0bGU6I2ZmZWRlMjstLWFsLWNvbG9yLWFjY2VudC1mZzojYjIzYTA5Oy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYmc6I2UzZjZlZjstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnOiMwYTZlNTE7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXI6IzlhZDljMjstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb246IzBlOGE2NjstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJnOiNmZGY0ZGM7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1mZzojODA1MzAwOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyOiNlOGNkN2M7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uOiNhMDY5MDA7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJnOiNmZGU4ZTg7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnOiNiMzE5MWY7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcjojZjNhOWFiOy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uOiNkMzI4MmU7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1iZzojZTZmMGZjOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tZmc6IzBiNWNiODstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJvcmRlcjojYTNjNmVmOy0tYWwtY29sb3Itc3RhdHVzLWluZm8taWNvbjojMTY2OGM3Oy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYmc6I2VlZjBmMjstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWZnOiM0ZjU3NjE7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXI6I2QzZDdkYzstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb246IzViNjM2ZTstLWFsLWNvbG9yLXByb29mLWJnOiNlZmVkZmY7LS1hbC1jb2xvci1wcm9vZi1mZzojNGIzYmMyOy0tYWwtY29sb3ItcHJvb2YtYm9yZGVyOiNjM2JjZjU7LS1hbC1jb2xvci1wcm9vZi1zZWFsOiM1YjRiZDY7LS1hbC1jb2xvci11bnRydXN0ZWQtYmc6I2Y2ZjRlZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1mZzojMmEyZDMxOy0tYWwtY29sb3ItdW50cnVzdGVkLWJvcmRlcjojOWM4NDU2Oy0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWJnOiNlZGU0Y2Y7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmc6IzVlNGExYjstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYmc6I2ZmZjFlODstLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmc6IzlhMzQwODstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYm9yZGVyOiNjNDU2MWM7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1iZzojZTZmMGZjOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtZmc6IzBiNWNiODstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWJvcmRlcjojYTNjNmVmOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1iZzojZWZlZGZmOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1mZzojNGIzYmMyOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1ib3JkZXI6I2MzYmNmNTstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1iZzojZjBmMWYzOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWZnOiM0ZjU3NjE7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtYm9yZGVyOiNjOWNlZDQ7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJnOiNmZGY0ZGM7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWZnOiM4MDUzMDA7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJvcmRlcjojZThjZDdjOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1iZzojZTNmNmVmOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1mZzojMGE2ZTUxOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1ib3JkZXI6IzlhZDljMjstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1iZzojZmRlOGU4Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnOiNiMzE5MWY7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyOiNmM2E5YWI7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtYmc6I2ZkZjRkYzstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1mZzojODA1MzAwOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJvcmRlcjojZThjZDdjOy0tYWwtY29sb3ItYnJhbmQtbWFyazojMGUxMDEzOy0tYWwtY29sb3ItYnJhbmQtc2VhbDojZmY2YTFhOy0tYWwtY29sb3ItYnJhbmQtd29yZG1hcms6IzBlMTAxMzstLWFsLWNvbG9yLWJyYW5kLWVuZG9yc2VtZW50OiM0ZjU3NjE7LS1hbC1jb2xvci1zeW50YXgta2V5d29yZDojYjIzYTA5Oy0tYWwtY29sb3Itc3ludGF4LXN0cmluZzojMGE2ZTUxOy0tYWwtY29sb3Itc3ludGF4LWNvbW1lbnQ6IzYyNmI3NjstLWFsLWNvbG9yLXN5bnRheC1udW1iZXI6IzRiM2JjMjstLWFsLXNoYWRvdy0wOm5vbmU7LS1hbC1zaGFkb3ctMTowIDFweCAycHggIzBlMTAxMzBmOy0tYWwtc2hhZG93LTI6MCA0cHggMTJweCAjMGUxMDEzMTQ7LS1hbC1zaGFkb3ctMzowIDEycHggMzJweCAjMGUxMDEzMWY7LS1hbC1zaGFkb3ctNDowIDI0cHggNjRweCAjMGUxMDEzMjk7LS1hbC1oaWdobGlnaHQtdG9wOnRyYW5zcGFyZW50Oy0tYWwtaGlnaGxpZ2h0LXRvcC1yYWlzZWQ6dHJhbnNwYXJlbnQ7LS1hbC1tYXRlcmlhbC1jaHJvbWUtYmc6I2ZmZmZmZmQ5Oy0tYWwtbWF0ZXJpYWwtYmx1cjpibHVyKDIwcHgpIHNhdHVyYXRlKDEuNCk7LS1saWdodG5pbmdjc3MtbGlnaHQ6aW5pdGlhbDstLWxpZ2h0bmluZ2Nzcy1kYXJrOiA7Y29sb3Itc2NoZW1lOmxpZ2h0fX1AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7OnJvb3Q6bm90KFtkYXRhLXRoZW1lXSk6bm90KFtkYXRhLWNvbnRyYXN0XSl7LS1hbC1jb2xvci1iZy1jYW52YXM6IzAwMDstLWFsLWNvbG9yLWJnLXN1cmZhY2U6IzA2MDcwODstLWFsLWNvbG9yLWJnLXJhaXNlZDojMGUxMDEzOy0tYWwtY29sb3ItYmctc3Vua2VuOiMwMDA7LS1hbC1jb2xvci1iZy1vdmVybGF5OiMwMDAwMDBkOTstLWFsLWNvbG9yLWZnLWRlZmF1bHQ6I2ZmZjstLWFsLWNvbG9yLWZnLW11dGVkOiNkM2Q4ZGU7LS1hbC1jb2xvci1mZy1zdWJ0bGU6I2JjYzNjYjstLWFsLWNvbG9yLWZnLW9uLWFjY2VudDojMDAwOy0tYWwtY29sb3ItZmctbGluazojZmZhZTgwOy0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZTojNWE2MjZjOy0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQ6IzhhOTM5ZTstLWFsLWNvbG9yLWJvcmRlci1zdHJvbmc6I2QzZDhkZTstLWFsLWNvbG9yLWZvY3VzLXJpbmc6I2ZmYWU4MDstLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0OiNmZjdhMmU7LS1hbC1jb2xvci1hY2NlbnQtaG92ZXI6I2ZmOTE1MjstLWFsLWNvbG9yLWFjY2VudC1wcmVzc2VkOiNmZjZhMWE7LS1hbC1jb2xvci1hY2NlbnQtZmc6I2ZmYWU4MDstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnOiM3ZWVjYzc7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXI6IzRmZDFhNTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb246IzdlZWNjNzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWZnOiNmZmRmN2E7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1ib3JkZXI6I2YyYzk0YzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb246I2ZmZGY3YTstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmc6I2ZhYTstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyOiNmZjdiN2I7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb246I2ZmOWE5YTstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWZnOiNhOGQyZmY7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1ib3JkZXI6IzZjYjZmZjstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWljb246I2E4ZDJmZjstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWZnOiNkM2Q4ZGU7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXI6IzhhOTM5ZTstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb246I2QzZDhkZTstLWFsLWNvbG9yLXByb29mLWZnOiNkNmNmZmY7LS1hbC1jb2xvci1wcm9vZi1ib3JkZXI6I2E0OTVmZjstLWFsLWNvbG9yLXByb29mLXNlYWw6I2M0YmFmZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1iZzojMDAwOy0tYWwtY29sb3ItdW50cnVzdGVkLWZnOiNmMGYyZjU7LS1hbC1jb2xvci11bnRydXN0ZWQtYm9yZGVyOiNlMGMyN2E7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmc6I2ZmZTA5OTstLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmc6I2ZmY2FhODstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYm9yZGVyOiNmZjhhNGM7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1mZzojYThkMmZmOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYm9yZGVyOiM2Y2I2ZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWZnOiNkNmNmZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJvcmRlcjojYTQ5NWZmOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJnOiMwZTEwMTM7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtZmc6I2QzZDhkZTstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1ib3JkZXI6IzhhOTM5ZTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctZmc6I2ZmZGY3YTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYm9yZGVyOiNmMmM5NGM7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWZnOiM3ZWVjYzc7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWJvcmRlcjojNGZkMWE1Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnOiNmYWE7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyOiNmZjdiN2I7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtZmc6I2ZmZGY3YTstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1ib3JkZXI6I2YyYzk0YzstLWFsLWNvbG9yLWJyYW5kLW1hcms6I2ZmZjstLWFsLWNvbG9yLWJyYW5kLXdvcmRtYXJrOiNmZmY7LS1hbC1jb2xvci1icmFuZC1lbmRvcnNlbWVudDojZDNkOGRlOy0tYWwtY29sb3Itc3ludGF4LWtleXdvcmQ6I2ZmYWU4MDstLWFsLWNvbG9yLXN5bnRheC1zdHJpbmc6IzdlZWNjNzstLWFsLWNvbG9yLXN5bnRheC1jb21tZW50OiNiY2MzY2I7LS1hbC1jb2xvci1zeW50YXgtbnVtYmVyOiNkNmNmZmY7LS1hbC1zaGFkb3ctMTpub25lOy0tYWwtc2hhZG93LTI6bm9uZTstLWFsLXNoYWRvdy0zOm5vbmU7LS1hbC1zaGFkb3ctNDpub25lOy0tYWwtaGlnaGxpZ2h0LXRvcDp0cmFuc3BhcmVudDstLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkOnRyYW5zcGFyZW50Oy0tYWwtbWF0ZXJpYWwtY2hyb21lLWJnOiMwNjA3MDg7LS1hbC1tYXRlcmlhbC1ibHVyOm5vbmV9fUBtZWRpYSAocHJlZmVycy1jb250cmFzdDptb3JlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXs6cm9vdDpub3QoW2RhdGEtdGhlbWVdKTpub3QoW2RhdGEtY29udHJhc3RdKXstLWFsLWNvbG9yLWJnLWNhbnZhczojZmZmOy0tYWwtY29sb3ItYmctc3VyZmFjZTojZmZmOy0tYWwtY29sb3ItYmctcmFpc2VkOiNmZmY7LS1hbC1jb2xvci1iZy1zdW5rZW46I2YyZjNmNTstLWFsLWNvbG9yLWJnLWludmVyc2U6IzAwMDstLWFsLWNvbG9yLWJnLW92ZXJsYXk6IzAwMDk7LS1hbC1jb2xvci1mZy1kZWZhdWx0OiMwMDA7LS1hbC1jb2xvci1mZy1tdXRlZDojMmYzNTNjOy0tYWwtY29sb3ItZmctc3VidGxlOiMzZjQ2NGU7LS1hbC1jb2xvci1mZy1pbnZlcnNlOiNmNWY2Zjc7LS1hbC1jb2xvci1mZy1vbi1hY2NlbnQ6I2ZmZjstLWFsLWNvbG9yLWZnLWxpbms6IzdhMjkwNjstLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGU6IzhhOTM5ZTstLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0OiM0ZjU3NjE7LS1hbC1jb2xvci1ib3JkZXItc3Ryb25nOiMxZjIzMjg7LS1hbC1jb2xvci1mb2N1cy1yaW5nOiM3YTI5MDY7LS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdDojOWEzNDA4Oy0tYWwtY29sb3ItYWNjZW50LWhvdmVyOiM3YTI5MDY7LS1hbC1jb2xvci1hY2NlbnQtcHJlc3NlZDojNmUyNDA1Oy0tYWwtY29sb3ItYWNjZW50LXN1YnRsZTojZmZmMWU4Oy0tYWwtY29sb3ItYWNjZW50LWZnOiM3YTI5MDY7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1iZzojZTNmNmVmOy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtZmc6IzA0NTAzYTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJvcmRlcjojMGU4YTY2Oy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtaWNvbjojMDQ1MDNhOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYmc6I2ZkZjRkYzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWZnOiM1NzM4MDA7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1ib3JkZXI6I2EwNjkwMDstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb246IzU3MzgwMDstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYmc6I2ZkZThlODstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmc6Izg1MGYxNDstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyOiNkMzI4MmU7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb246Izg1MGYxNDstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJnOiNlNmYwZmM7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1mZzojMDgzZjgwOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tYm9yZGVyOiMxNjY4Yzc7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1pY29uOiMwODNmODA7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1iZzojZWVmMGYyOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtZmc6IzJmMzUzYzstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWJvcmRlcjojNGY1NzYxOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtaWNvbjojMmYzNTNjOy0tYWwtY29sb3ItcHJvb2YtYmc6I2VmZWRmZjstLWFsLWNvbG9yLXByb29mLWZnOiMyZjIzOTM7LS1hbC1jb2xvci1wcm9vZi1ib3JkZXI6IzViNGJkNjstLWFsLWNvbG9yLXByb29mLXNlYWw6IzNkMmZiMDstLWFsLWNvbG9yLXVudHJ1c3RlZC1iZzojZmZmOy0tYWwtY29sb3ItdW50cnVzdGVkLWZnOiMwMDA7LS1hbC1jb2xvci11bnRydXN0ZWQtYm9yZGVyOiM2YjU0MjA7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtYmc6I2VkZTRjZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1sYWJlbC1mZzojM2QyZjBmOy0tYWwtY29sb3ItY29tbWl0bWVudC1iZzojZmZmMWU4Oy0tYWwtY29sb3ItY29tbWl0bWVudC1mZzojNmUyNDA1Oy0tYWwtY29sb3ItY29tbWl0bWVudC1ib3JkZXI6I2MyNDEwYzstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWJnOiNlNmYwZmM7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1mZzojMDgzZjgwOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYm9yZGVyOiMxNjY4Yzc7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJnOiNlZmVkZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWZnOiMyZjIzOTM7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJvcmRlcjojNWI0YmQ2Oy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJnOiNmMGYxZjM7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtZmc6IzJmMzUzYzstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1ib3JkZXI6IzRmNTc2MTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYmc6I2ZkZjRkYzstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctZmc6IzU3MzgwMDstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYm9yZGVyOiNhMDY5MDA7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWJnOiNlM2Y2ZWY7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWZnOiMwNDUwM2E7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWJvcmRlcjojMGU4YTY2Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWJnOiNmZGU4ZTg7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtZmc6Izg1MGYxNDstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1ib3JkZXI6I2QzMjgyZTstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1iZzojZmRmNGRjOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWZnOiM1NzM4MDA7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtYm9yZGVyOiNhMDY5MDA7LS1hbC1jb2xvci1icmFuZC1tYXJrOiMwMDA7LS1hbC1jb2xvci1icmFuZC13b3JkbWFyazojMDAwOy0tYWwtY29sb3ItYnJhbmQtZW5kb3JzZW1lbnQ6IzJmMzUzYzstLWFsLWNvbG9yLXN5bnRheC1rZXl3b3JkOiM3YTI5MDY7LS1hbC1jb2xvci1zeW50YXgtc3RyaW5nOiMwNDUwM2E7LS1hbC1jb2xvci1zeW50YXgtY29tbWVudDojM2Y0NjRlOy0tYWwtY29sb3Itc3ludGF4LW51bWJlcjojMmYyMzkzOy0tYWwtc2hhZG93LTE6bm9uZTstLWFsLXNoYWRvdy0yOm5vbmU7LS1hbC1zaGFkb3ctMzpub25lOy0tYWwtc2hhZG93LTQ6bm9uZTstLWFsLWhpZ2hsaWdodC10b3A6dHJhbnNwYXJlbnQ7LS1hbC1oaWdobGlnaHQtdG9wLXJhaXNlZDp0cmFuc3BhcmVudDstLWFsLW1hdGVyaWFsLWNocm9tZS1iZzojZmZmOy0tYWwtbWF0ZXJpYWwtYmx1cjpub25lfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXs6cm9vdHstLWFsLWhpZ2hsaWdodC10b3A6dHJhbnNwYXJlbnQ7LS1hbC1oaWdobGlnaHQtdG9wLXJhaXNlZDp0cmFuc3BhcmVudDstLWFsLW1hdGVyaWFsLWNocm9tZS1iZzpDYW52YXM7LS1hbC1tYXRlcmlhbC1ibHVyOm5vbmU7LS1hbC1jb2xvci1mb2N1cy1yaW5nOkhpZ2hsaWdodDstLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0OkhpZ2hsaWdodDstLWFsLWNvbG9yLWZnLW9uLWFjY2VudDpIaWdobGlnaHRUZXh0Oy0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQ6Q2FudmFzVGV4dDstLWFsLWNvbG9yLWJvcmRlci1zdHJvbmc6Q2FudmFzVGV4dDstLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGU6R3JheVRleHR9YnV0dG9uLGlucHV0LHNlbGVjdCx0ZXh0YXJlYSxbcm9sZT1zd2l0Y2hde2JvcmRlcjoxcHggc29saWQgYnV0dG9udGV4dH19LmFsLXRleHQtZGlzcGxheXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWRpc3BsYXktc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1kaXNwbGF5LWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtZGlzcGxheS13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtZGlzcGxheS10cmFja2luZyl9LmFsLXRleHQtdGl0bGUtMXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LXRpdGxlLTEtc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC10aXRsZS0xLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtdGl0bGUtMS13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtdGl0bGUtMS10cmFja2luZyl9LmFsLXRleHQtdGl0bGUtMntmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LXRpdGxlLTItc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC10aXRsZS0yLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtdGl0bGUtMi13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtdGl0bGUtMi10cmFja2luZyl9LmFsLXRleHQtdGl0bGUtM3tmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LXRpdGxlLTMtc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC10aXRsZS0zLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtdGl0bGUtMy13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtdGl0bGUtMy10cmFja2luZyl9LmFsLXRleHQtYm9keS1sZ3tmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWJvZHktbGctc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1ib2R5LWxnLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtYm9keS1sZy13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtYm9keS1sZy10cmFja2luZyl9LmFsLXRleHQtYm9keXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWJvZHktc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1ib2R5LWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtYm9keS13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtYm9keS10cmFja2luZyl9LmFsLXRleHQtYm9keS1zbXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWJvZHktc20tc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1ib2R5LXNtLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtYm9keS1zbS13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtYm9keS1zbS10cmFja2luZyl9LmFsLXRleHQtY2FwdGlvbntmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWNhcHRpb24tc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1jYXB0aW9uLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtY2FwdGlvbi13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtY2FwdGlvbi10cmFja2luZyl9LmFsLXRleHQtbGFiZWx7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6dmFyKC0tYWwtdGV4dC1sYWJlbC1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS1hbC10ZXh0LWxhYmVsLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtbGFiZWwtd2VpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS1hbC10ZXh0LWxhYmVsLXRyYWNraW5nKX0uYWwtdGV4dC1jb2Rle2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOnZhcigtLWFsLXRleHQtY29kZS1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS1hbC10ZXh0LWNvZGUtbGluZSk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtdGV4dC1jb2RlLXdlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tYWwtdGV4dC1jb2RlLXRyYWNraW5nKX0uYWwtdGV4dC1jb2RlLWxne2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOnZhcigtLWFsLXRleHQtY29kZS1sZy1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS1hbC10ZXh0LWNvZGUtbGctbGluZSk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtdGV4dC1jb2RlLWxnLXdlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tYWwtdGV4dC1jb2RlLWxnLXRyYWNraW5nKX0uYWwtdGV4dC13b3JkbWFya3tmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LXdvcmRtYXJrLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLWFsLXRleHQtd29yZG1hcmstbGluZSk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtdGV4dC13b3JkbWFyay13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtd29yZG1hcmstdHJhY2tpbmcpfS5hbC10ZXh0LWxhYmVse3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX1ib2R5e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1jYW52YXMpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO21hcmdpbjowfS5hbC1tdXRlZHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLXRleHQtbGFiZWx7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9LmFsLXRleHQtY29kZSwuYWwtdGV4dC1jb2RlLWxnLC5hbC10ZXh0LXdvcmRtYXJre2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub25lfS5hbC1wcmV2aWV3e3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSk7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTpmbGV4fS5hbC1wcmV2aWV3LmlzLWNvbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaH0uYWwtcHJldmlldy5pcy1uYXJyb3d7bWF4LXdpZHRoOjQ0MHB4fTpmb2N1cy12aXNpYmxle291dGxpbmU6dmFyKC0tYWwtZm9jdXMtcmluZy13aWR0aCkgc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6dmFyKC0tYWwtZm9jdXMtcmluZy1vZmZzZXQpfS5hbC1tYXJre2ZsZXg6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9ja30uYWwtbWFyay1pbmt7ZmlsbDp2YXIoLS1hbC1jb2xvci1icmFuZC1tYXJrKX0uYWwtbWFyay1zZWFse2ZpbGw6dmFyKC0tYWwtY29sb3ItYnJhbmQtc2VhbCl9LmFsLXdvcmRtYXJre2ZpbGw6dmFyKC0tYWwtY29sb3ItYnJhbmQtd29yZG1hcmspO2Rpc3BsYXk6YmxvY2t9LmFsLWxvY2t1cHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOi40NWVtO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWxvY2t1cC1zdGFja2Vke2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmFsLWxvY2t1cC13b3Jkc3tnYXA6dmFyKC0tYWwtc3BhY2UtMSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWxvY2t1cC1zdGFja2VkIC5hbC1sb2NrdXAtd29yZHN7YWxpZ24taXRlbXM6Y2VudGVyfS5hbC1sb2NrdXAtYnl7Y29sb3I6dmFyKC0tYWwtY29sb3ItYnJhbmQtZW5kb3JzZW1lbnQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9LmFsLWxvY2t1cC1tb25vIC5hbC1tYXJrLXNlYWx7ZmlsbDp2YXIoLS1hbC1jb2xvci1icmFuZC1tYXJrKX0uYWwtaWNvbnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZmxleDpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5hbC1idG57anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtZm9udC13ZWlnaHQtbWVkaXVtKTtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKTtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tYWwtZHVyYXRpb24tZmFzdCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKSwgYm9yZGVyLWNvbG9yIHZhcigtLWFsLWR1cmF0aW9uLWZhc3QpIHZhcigtLWFsLWVhc2luZy1zdGFuZGFyZCk7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTZweDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pfS5hbC1idG46ZGlzYWJsZWR7b3BhY2l0eTp2YXIoLS1hbC1vcGFjaXR5LWRpc2FibGVkKTtjdXJzb3I6bm90LWFsbG93ZWR9LmFsLWJ0bi1zbXtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLXNtKTtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMyk7Zm9udC1zaXplOjEycHh9LmFsLWJ0bi1sZ3toZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLWxnKTtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtNSk7Zm9udC1zaXplOjE0cHh9LmFsLWJ0bi1ibG9ja3t3aWR0aDoxMDAlfS5hbC1idG4tcHJpbWFyeXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW9uLWFjY2VudCl9LmFsLWJ0bi1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LWhvdmVyKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWhvdmVyKX0uYWwtYnRuLXByaW1hcnk6YWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LXByZXNzZWQpfS5hbC1idG4tZ2hvc3R7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOiMwMDAwfS5hbC1idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pfS5hbC1idG4tZGFuZ2Vye2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnKX0uYWwta2Jke2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTEpO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXhzKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItYm90dG9tLXdpZHRoOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGljayk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO21pbi13aWR0aDoxNnB4O2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxNnB4fS5hbC1idG4tcHJpbWFyeSAuYWwta2Jke2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOmN1cnJlbnRDb2xvcn0uYWwtZmllbGR7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MjQwcHg7ZGlzcGxheTpmbGV4fS5hbC1maWVsZC1sYWJlbHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtZm9udC13ZWlnaHQtbWVkaXVtKX0uYWwtaW5wdXQtd3JhcHtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdHJvbmcpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYWwtaW5wdXQtd3JhcDpmb2N1cy13aXRoaW57b3V0bGluZTp2YXIoLS1hbC1mb2N1cy1yaW5nLXdpZHRoKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1mb2N1cy1yaW5nKTtvdXRsaW5lLW9mZnNldDp2YXIoLS1hbC1mb2N1cy1yaW5nLW9mZnNldCl9LmFsLWlucHV0LXByZWZpeHtwYWRkaW5nLWxlZnQ6dmFyKC0tYWwtc3BhY2UtMyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctc3VidGxlKX0uYWwtaW5wdXR7bWluLXdpZHRoOjA7aGVpZ2h0OjEwMCU7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTMpO2ZvbnQ6aW5oZXJpdDtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtvdXRsaW5lOm5vbmU7ZmxleDoxO2ZvbnQtc2l6ZToxNHB4fS5hbC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctc3VidGxlKX0uYWwtZmllbGQuaXMtZXJyb3IgLmFsLWlucHV0LXdyYXB7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbil9LmFsLWZpZWxkLWhpbnR7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1maWVsZC1oaW50LmlzLWVycm9ye2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpfUBtZWRpYSAod2lkdGg8PTYwMHB4KXsuYWwtaW5wdXR7Zm9udC1zaXplOjE2cHh9LmFsLWlucHV0LXdyYXB7aGVpZ2h0OnZhcigtLWFsLXNpemUtY29udHJvbC1sZyl9fS5hbC1zd2l0Y2gtcm93e2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0zKSAwO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO21heC13aWR0aDo1MjBweDtkaXNwbGF5OmZsZXh9LmFsLXN3aXRjaC10ZXh0e2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hbC1zd2l0Y2h7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2N1cnNvcjpwb2ludGVyO2ZsZXg6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6NjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjA7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtc3dpdGNoLWtub2J7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteHMpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tYWwtZHVyYXRpb24tZmFzdCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O2xlZnQ6M3B4O3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9LmFsLXN3aXRjaC1zdGF0ZXtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6OHB4fS5hbC1zd2l0Y2guaXMtb257YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKX0uYWwtc3dpdGNoLmlzLW9uIC5hbC1zd2l0Y2gta25vYntiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDQwcHgpfS5hbC1zd2l0Y2guaXMtb24gLmFsLXN3aXRjaC1zdGF0ZXtjb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZmcpO2xlZnQ6OHB4O3JpZ2h0OmF1dG99LmFsLXN3aXRjaC1yb3cuaXMtZGlzYWJsZWR7b3BhY2l0eTp2YXIoLS1hbC1vcGFjaXR5LWRpc2FibGVkKX0uYWwtc2Vne2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtkaXNwbGF5OmlubGluZS1mbGV4O292ZXJmbG93OmhpZGRlbn0uYWwtc2VnLW9wdHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2hlaWdodDp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpO3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS0zKTtib3JkZXI6MDtib3JkZXItcmlnaHQ6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtiYWNrZ3JvdW5kOjAgMDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1zZWctb3B0Omxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjB9LmFsLXNlZy1vcHQuaXMtb257YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2JveC1zaGFkb3c6aW5zZXQgMCAtMnB4IDAgdmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpfS5hbC1zZWctaGludHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1zdWJ0bGUpO2ZvbnQtc2l6ZToxMXB4fS5hbC1jaGVja3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWNoZWNrIGlucHV0e3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7YWNjZW50LWNvbG9yOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTttYXJnaW46MH0uYWwtdG9uZS1zdWNjZXNzey0tdC1iZzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1iZyk7LS10LWZnOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnKTstLXQtYmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyKTstLXQtaWM6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtaWNvbil9LmFsLXRvbmUtd2FybmluZ3stLXQtYmc6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYmcpOy0tdC1mZzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1mZyk7LS10LWJkOnZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJvcmRlcik7LS10LWljOnZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb24pfS5hbC10b25lLWRhbmdlcnstLXQtYmc6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1iZyk7LS10LWZnOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpOy0tdC1iZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcik7LS10LWljOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbil9LmFsLXRvbmUtaW5mb3stLXQtYmc6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWluZm8tYmcpOy0tdC1mZzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtaW5mby1mZyk7LS10LWJkOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJvcmRlcik7LS10LWljOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWljb24pfS5hbC10b25lLW5ldXRyYWx7LS10LWJnOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWJnKTstLXQtZmc6dmFyKC0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtZmcpOy0tdC1iZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXIpOy0tdC1pYzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1pY29uKX0uYWwtdG9uZS1wcm9vZnstLXQtYmc6dmFyKC0tYWwtY29sb3ItcHJvb2YtYmcpOy0tdC1mZzp2YXIoLS1hbC1jb2xvci1wcm9vZi1mZyk7LS10LWJkOnZhcigtLWFsLWNvbG9yLXByb29mLWJvcmRlcik7LS10LWljOnZhcigtLWFsLWNvbG9yLXByb29mLXNlYWwpfS5hbC10b25lLWFjY2VudHstLXQtYmc6dmFyKC0tYWwtY29sb3ItYWNjZW50LXN1YnRsZSk7LS10LWZnOnZhcigtLWFsLWNvbG9yLWFjY2VudC1mZyk7LS10LWJkOnZhcigtLWFsLWNvbG9yLWFjY2VudC1mZyk7LS10LWljOnZhcigtLWFsLWNvbG9yLWFjY2VudC1mZyl9LmFsLWNoaXB7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtoZWlnaHQ6MjJweDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tdC1iZCk7YmFja2dyb3VuZDp2YXIoLS10LWJnKTtjb2xvcjp2YXIoLS10LWZnKTt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtY2hpcCAuYWwtaWNvbntjb2xvcjp2YXIoLS10LWljKX0uYWwtY2hpcC1kZXRhaWx7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO3BhZGRpbmctbGVmdDp2YXIoLS1hbC1zcGFjZS0xKX0uYWwtaWRse2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMSk7aGVpZ2h0OjIycHg7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTIpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1pZGwtc2VsZmRlY2xhcmVke2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtZmcpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtYm9yZGVyKTtib3JkZXItc3R5bGU6ZGFzaGVkfS5hbC1pZGwtY2hlY2tlZHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJvcmRlcil9LmFsLWlkbC1yZWdpc3RlcmVke2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1mZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWlkZW50aXR5LXJlZ2lzdGVyZWQtYm9yZGVyKX0uYWwtaWRsLXZlcmlmaWVke2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWZnKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYm9yZGVyKX0uYWwtaWRsLXdhcm5pbmd7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWZnKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1ib3JkZXIpfS5hbC1pZGwtcHVueSwuYWwtaWRsLWRhdGV7b3BhY2l0eTouODU7cGFkZGluZy1sZWZ0OnZhcigtLWFsLXNwYWNlLTEpfS5hbC1mcHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWZwIGNvZGV7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTEpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXhzKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9LmFsLWNuYW1le2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZmxleC13cmFwOndyYXA7bWluLXdpZHRoOjA7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtY25hbWUtdGV4dHtmb250LXdlaWdodDp2YXIoLS1hbC1mb250LXdlaWdodC1yZWd1bGFyKTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDttYXgtd2lkdGg6MjRjaDtvdmVyZmxvdzpoaWRkZW59LmFsLWNuYW1lLWFsaWFzIC5hbC1jbmFtZS10ZXh0e2ZvbnQtd2VpZ2h0OnZhcigtLWFsLWZvbnQtd2VpZ2h0LW1lZGl1bSl9LmFsLWF2YXRhcntib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1mdWxsKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZmxleDpub25lO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLXNje2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6NDQwcHg7ZGlzcGxheTpmbGV4fS5hbC1zYyBwe21hcmdpbjowfS5hbC1zYy1oZWFke2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMik7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2Rpc3BsYXk6ZmxleH0uYWwtc2MtY29kZXtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1zYy5pcy1tYXRjaGVkIC5hbC1zYy1jb2Rle2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXIpfS5hbC1zYy5pcy1taXNtYXRjaCAuYWwtc2MtY29kZXtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1zdWJ0bGUpO3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2h9LmFsLXNjLmlzLWNoYW5nZWQgLmFsLXNjLWhlYWR7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctZmcpfS5hbC1zYy1hY3Rpb25ze2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtkaXNwbGF5OmZsZXh9LmFsLXNjLW9re2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZyk7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYWwtc2Mtc3RvcHtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0zKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1iZyk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1ib3JkZXIpO2Rpc3BsYXk6ZmxleH0uYWwtc2Mtc3RvcD4uYWwtaWNvbntjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uKTttYXJnaW4tdG9wOjJweH0uYWwtc2Mtc3RvcCBwe21hcmdpbjowIDAgdmFyKC0tYWwtc3BhY2UtMSl9LmFsLWNvbnRhY3R7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTQpO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4fS5hbC1jb250YWN0LW1haW57Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4fS5hbC1jb250YWN0LW1ldGF7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmFsLWNvbnRhY3QtbWV0YT5zcGFue2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtY29udGFjdC1zaWRle2dhcDp2YXIoLS1hbC1zcGFjZS0yKTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1jb250YWN0LmlzLWJsb2NrZWQsLmFsLWNvbnRhY3QuaXMtcmV2b2tlZHtvcGFjaXR5Oi43fS5hbC11bnRydXN0ZWR7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGljaykgZGFzaGVkIHZhcigtLWFsLWNvbG9yLXVudHJ1c3RlZC1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXVudHJ1c3RlZC1iZyk7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVufS5hbC11bnRydXN0ZWQtbGFiZWx7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTEpIHZhcigtLWFsLXNwYWNlLTMpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmcpO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIGRhc2hlZCB2YXIoLS1hbC1jb2xvci11bnRydXN0ZWQtYm9yZGVyKTtkaXNwbGF5OmZsZXh9LmFsLXVudHJ1c3RlZC1raW5ke21hcmdpbi1sZWZ0OmF1dG99LmFsLXVudHJ1c3RlZC5pcy11bmtub3duIC5hbC11bnRydXN0ZWQtbGFiZWx7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtZm9udC13ZWlnaHQtc2VtaWJvbGQpfS5hbC11bnRydXN0ZWQtYm9keXtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXVudHJ1c3RlZC1mZyk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uYWwtaW5lcnQtbGlua3twYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteHMpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItdW50cnVzdGVkLWJvcmRlcik7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS1hbC1jb2xvci11bnRydXN0ZWQtZmcpO2N1cnNvcjpub3QtYWxsb3dlZDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmb250LXNpemU6MTJweDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1jYXJke2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctMik7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjQ0MHB4O292ZXJmbG93OmhpZGRlbn0uYWwtYXBwcm92YWx7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS01KTtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uYWwtYXBwcm92YWwgaDIsLmFsLWNvbW1pdCBoMntvdXRsaW5lOm5vbmU7bWFyZ2luOjB9LmFsLWFwcHJvdmFsLXRvcHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0uYWwtYXBwcm92YWwtdHlwZXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWFjY2VudC1mZyk7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtYXBwcm92YWwtZXhwe2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMSk7bWFyZ2luLWxlZnQ6YXV0bztkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1hcHByb3ZhbC1yb3dze2dhcDp2YXIoLS1hbC1zcGFjZS0yKSB2YXIoLS1hbC1zcGFjZS0zKTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MTEycHggMWZyO21hcmdpbjowO2Rpc3BsYXk6Z3JpZH0uYWwtYXJvd3tkaXNwbGF5OmNvbnRlbnRzfS5hbC1hcm93IGR0e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtwYWRkaW5nLXRvcDoycHh9LmFsLWFyb3cgZGR7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MDtkaXNwbGF5OmZsZXh9LmFsLWFwcHJvdmFsLWV4dHJhe2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hbC1hcHByb3ZhbC1kZXRhaWxzIHN1bW1hcnl7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpfS5hbC1hcHByb3ZhbC1kZXRhaWxzPmRpdntwYWRkaW5nLXRvcDp2YXIoLS1hbC1zcGFjZS0yKX0uYWwtYXBwcm92YWwtYWN0aW9uc3tnYXA6dmFyKC0tYWwtc3BhY2UtMik7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxLjZmcjtkaXNwbGF5OmdyaWR9LmFsLWFwcHJvdmFsLWZvb3R7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7cGFkZGluZy10b3A6dmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLXRvcDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7bWFyZ2luOjA7ZGlzcGxheTpmbGV4fS5hbC1hc3RhdGV7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLXQtYmcpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tdC1iZCk7Y29sb3I6dmFyKC0tdC1mZyk7ZGlzcGxheTpmbGV4fS5hbC1hc3RhdGUgLmFsLWJ0bnttYXJnaW4tbGVmdDphdXRvfS5hbC1hcHByb3ZhbC5pcy13YWl0aW5nIC5hbC1hcHByb3ZhbC1hY3Rpb25ze29wYWNpdHk6Ljl9LmFsLWNvbW1pdHtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItY29tbWl0bWVudC1ib3JkZXIpfS5hbC1jb21taXQuaXMtcmVqZWN0e2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcil9LmFsLWNvbW1pdC1oZWFke2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItY29tbWl0bWVudC1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItY29tbWl0bWVudC1mZyk7Ym9yZGVyLWJvdHRvbTp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItY29tbWl0bWVudC1ib3JkZXIpO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTpmbGV4fS5hbC1jb21taXQtaGVhZCBoMntjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KX0uYWwtY29tbWl0LmlzLXJlamVjdCAuYWwtY29tbWl0LWhlYWR7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1ib3JkZXIpfS5hbC1jb21taXQtaGVhZD4uYWwtaWNvbnttYXJnaW4tdG9wOjJweH0uYWwtY29tbWl0LXZhbGlke2dhcDp2YXIoLS1hbC1zcGFjZS0xKTt3aGl0ZS1zcGFjZTpub3dyYXA7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1sZWZ0OmF1dG87ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtY29tbWl0LWJvZHl7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS01KSAwO2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hbC1jb21taXQtd2hve2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1jb21taXQtaG9uZXN0LC5hbC1jb21taXQtcHVibGlje21hcmdpbjowfS5hbC1jb21taXQ-LmFsLWFwcHJvdmFsLWFjdGlvbnMsLmFsLWNvbW1pdD4uYWwtYXN0YXRle21hcmdpbjp2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS01KSAwfS5hbC1jb21taXQ-LmFsLWFwcHJvdmFsLWZvb3R7bWFyZ2luOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpIHZhcigtLWFsLXNwYWNlLTUpfS5hbC1kaWZme2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt3aWR0aDoxMDAlfS5hbC1kaWZmIHRoLC5hbC1kaWZmIHRke3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTIpO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO3ZlcnRpY2FsLWFsaWduOnRvcH0uYWwtZGlmZiB0aGVhZCB0aHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLWRpZmYgdGJvZHkgdGh7d2lkdGg6MzAlfS5hbC1kaWZmLXRoZWlyc3tjb2xvcjp2YXIoLS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmcpO2Rpc3BsYXk6YmxvY2t9LmFsLWRpZmYtb2xke2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLXN1YnRsZSk7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0uYWwtZGlmZiB0ci5pcy1jaGFuZ2VkIC5hbC1kaWZmLW5ld3tiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWZnKTtib3gtc2hhZG93Omluc2V0IDJweCAwIDAgdmFyKC0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJvcmRlcil9LmFsLWRpZmYgdHIuaXMtYWRkZWQgLmFsLWRpZmYtbmV3e2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItZGlmZi1hZGRlZC1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZGlmZi1hZGRlZC1mZyk7Ym94LXNoYWRvdzppbnNldCAycHggMCAwIHZhcigtLWFsLWNvbG9yLWRpZmYtYWRkZWQtYm9yZGVyKX0uYWwtZGlmZiB0ci5pcy1yZW1vdmVkIC5hbC1kaWZmLW5ld3tiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnKTtib3gtc2hhZG93Omluc2V0IDJweCAwIDAgdmFyKC0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWJvcmRlcil9LmFsLWRpZmYtc2lnbnt3aWR0aDoxLjJjaDttYXJnaW4tcmlnaHQ6dmFyKC0tYWwtc3BhY2UtMSk7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmFsLXByb29me2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMik7aGVpZ2h0OjI0cHg7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTIpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXByb29mLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1wcm9vZi1mZyk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1wcm9vZi1ib3JkZXIpO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1wcm9vZiAuYWwtaWNvbntjb2xvcjp2YXIoLS1hbC1jb2xvci1wcm9vZi1zZWFsKX0uYWwtcHJvb2YtdGltZXtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLXByb29mLmlzLWZhaWxlZHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcil9LmFsLXByb29mLmlzLWZhaWxlZCAuYWwtaWNvbntjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb24pfS5hbC1wcm9vZi5pcy13YWl0aW5ne2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LXN1YnRsZSk7Y29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKX0uYWwtcHJvb2YuaXMtd2FpdGluZyAuYWwtaWNvbntjb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZmcpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upeyp7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH19LmFsLXJ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleH0uYWwtcnQtc3RlcHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMikgMDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjhweCAxZnIgYXV0bztkaXNwbGF5OmdyaWQ7cG9zaXRpb246cmVsYXRpdmV9LmFsLXJ0LXN0ZXA6bm90KDpsYXN0LWNoaWxkKTphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO3dpZHRoOjJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MzRweDtib3R0b206LTZweDtsZWZ0OjEzcHh9LmFsLXJ0LXN0ZXAuaXMtZG9uZTpub3QoOmxhc3QtY2hpbGQpOmFmdGVye2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItcHJvb2YtYm9yZGVyKX0uYWwtcnQtZG90e2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWZ1bGwpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaWNrKSBkYXNoZWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1zdWJ0bGUpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctY2FudmFzKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1ydC1zdGVwLmlzLWRvbmUgLmFsLXJ0LWRvdHtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXByb29mLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1wcm9vZi1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItcHJvb2Ytc2VhbCl9LmFsLXJ0LXN0ZXAuaXMtZG9uZS5pcy1mcmVlIC5hbC1ydC1kb3R7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKX0uYWwtcnQtc3RlcC5pcy1yZWplY3RlZC5pcy1kb25lIC5hbC1ydC1kb3R7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtaWNvbil9LmFsLXJ0LXN0ZXAuaXMtcGVuZGluZyAuYWwtcnQtbGFiZWwsLmFsLXJ0LXRpbWV7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpfS5hbC1jb3N0e2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMik7aGVpZ2h0OjI0cHg7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTIpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtY29zdC5pcy1mcmVle2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJnKX0uYWwtY3JlZGl0c3tnYXA6dmFyKC0tYWwtc3BhY2UtMyk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS01KTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjM2MHB4O2Rpc3BsYXk6ZmxleH0uYWwtY3JlZGl0cyBwe21hcmdpbjowfS5hbC1jcmVkaXRzLXRvcHtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpmbGV4LWVuZDtkaXNwbGF5OmZsZXh9LmFsLWNyZWRpdHMtYmFse2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9LmFsLWNyZWRpdHMtYmFye2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXhzKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7aGVpZ2h0OjZweDtvdmVyZmxvdzpoaWRkZW59LmFsLWNyZWRpdHMtZmlsbHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfS5hbC1jcmVkaXRzLmlzLXJlYWNoZWQgLmFsLWNyZWRpdHMtZmlsbHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb24pfS5hbC1jcmVkaXRzLWZvb3R7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZGlzcGxheTpmbGV4fS5hbC1jcmVkaXRzLmlzLWxvdyAuYWwtY3JlZGl0cy1iYWwsLmFsLWNyZWRpdHMuaXMtZW1wdHkgLmFsLWNyZWRpdHMtYmFse2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWZnKX0uYWwtZmlsZXtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0zKSB2YXIoLS1hbC1zcGFjZS00KTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4fS5hbC1maWxlLWlje2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZmxleDpub25lO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWZpbGUtbWFpbntmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO2dhcDoycHg7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4fS5hbC1maWxlLW5hbWV7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7b3ZlcmZsb3c6aGlkZGVufS5hbC1maWxlLW1ldGF7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0uYWwtZmlsZS1zaWRle2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYWwtZmlsZS5pcy1mYWlsZWR7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyKX0uYWwtZmlsZS5pcy1mYWlsZWQgLmFsLWZpbGUtaWN7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uKX0uYWwtZmlsZS1iYWR7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZyl9LmFsLWNvcHl7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LmFsLWNvcHkuaXMtaGVyb3tib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKX0uYWwtY29weS1oZWFke3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMSkgdmFyKC0tYWwtc3BhY2UtMSkgdmFyKC0tYWwtc3BhY2UtMSkgdmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLWJvdHRvbTp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYWwtY29weS10aXRsZXtnYXA6dmFyKC0tYWwtc3BhY2UtMik7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1jb3B5LWJvZHl7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO21hcmdpbjowfS5hbC1jb3B5LmlzLWhlcm8gLmFsLWNvcHktYm9keXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4fS5hbC1jb3B5LXBze2NvbG9yOnZhcigtLWFsLWNvbG9yLXN5bnRheC1rZXl3b3JkKX0uYWwtY29weS1ub3Rle3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS0zKTttYXJnaW46MH0uYWwtc2VjcmV0e2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LXdpZHRoOjQ0MHB4O2Rpc3BsYXk6ZmxleH0uYWwtc2VjcmV0IHB7bWFyZ2luOjB9LmFsLXNlY3JldC1oZWFke2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtkaXNwbGF5OmZsZXh9LmFsLXNlY3JldC12YWx7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOnZhcigtLWFsLXNwYWNlLTIpIHZhcigtLWFsLXNwYWNlLTQpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsYXV0byk7Zm9udC1zaXplOjIwcHg7ZGlzcGxheTpncmlkfS5hbC1zZWNyZXQtYWN0aW9uc3tnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5hbC1iYW5uZXJ7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tdC1iZyk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS10LWJkKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleH0uYWwtYmFubmVyPi5hbC1pY29ue2NvbG9yOnZhcigtLXQtaWMpO21hcmdpbi10b3A6MnB4fS5hbC1iYW5uZXIgc3Ryb25ne2NvbG9yOnZhcigtLXQtZmcpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLWZvbnQtd2VpZ2h0LXNlbWlib2xkKX0uYWwtYmFubmVyLXRleHR7ZmxleDoxfS5hbC1iYW5uZXItYWN0e2ZsZXg6bm9uZX0uYWwtYmFubmVyLmlzLWNvbXBhY3R7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0yKSB2YXIoLS1hbC1zcGFjZS0zKX0uYWwtdG9hc3R7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy00KTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTttYXgtd2lkdGg6NDQwcHg7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtdG9hc3Q-LmFsLWljb257Y29sb3I6dmFyKC0tdC1pYyl9LmFsLXRvYXN0LWFjdHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1saW5rKTtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO3BhZGRpbmc6MDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5hbC10b2FzdC14e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTEpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1lbXB0eXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtOCkgdmFyKC0tYWwtc3BhY2UtNSk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBkYXNoZWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4fS5hbC1lbXB0eSBwe21hcmdpbjowfS5hbC1lbXB0eS1pY3tib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1lbXB0eS10cnl7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0xKSB2YXIoLS1hbC1zcGFjZS0zKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpfS5hbC1zaGVsbHtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1jYW52YXMpO2JveC1zaGFkb3c6dmFyKC0tYWwtc2hhZG93LTMpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5hbC13aW4tYmFye2hlaWdodDozMnB4O3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS0zKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZmxleDpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmFsLXdpbi1kb3Rze2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC13aW4tZG90cyBpe2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7d2lkdGg6MTJweDtoZWlnaHQ6MTJweH0uYWwtd2luLXRpdGxle3RleHQtYWxpZ246Y2VudGVyO2ZsZXg6MX0uYWwtd2luLWJhci5pcy13aW5kb3dzIC5hbC13aW4tdGl0bGUsLmFsLXdpbi1iYXIuaXMtbGludXggLmFsLXdpbi10aXRsZXt0ZXh0LWFsaWduOmxlZnR9LmFsLXdpbi1jdHJsc3tnYXA6dmFyKC0tYWwtc3BhY2UtNCk7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLXdpbi1tYXh7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCBjdXJyZW50Q29sb3I7d2lkdGg6MTBweDtoZWlnaHQ6MTBweH0uYWwtc2hlbGwtbWFpbntmbGV4OjE7bWluLWhlaWdodDowO2Rpc3BsYXk6ZmxleH0uYWwtc2lkZXt3aWR0aDp2YXIoLS1hbC1sYXlvdXQtc2lkZWJhci13aWR0aCk7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNCkgdmFyKC0tYWwtc3BhY2UtMyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtib3JkZXItcmlnaHQ6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6bm9uZTtkaXNwbGF5OmZsZXh9LmFsLXNpZGUtYnJhbmR7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTIpIHZhcigtLWFsLXNwYWNlLTIpfS5hbC1zaWRlIHVse2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MXB4O21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTpmbGV4fS5hbC1hZ2VudC1zd2l0Y2h7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTIpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6ZmxleH0uYWwtYWdlbnQtc3dpdGNoIHNwYW57ZmxleDoxfS5hbC1uYXZ7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKTtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTt6LWluZGV4OjE7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5hbC1uYXY6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpfS5hbC1uYXYtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtbmF2LXNsaWRlcntoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tYWwtZHVyYXRpb24tZmFzdCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKSwgb3BhY2l0eSB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmFsLW5hdi1zbGlkZXI6YmVmb3Jle2NvbnRlbnQ6IiI7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7d2lkdGg6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7Ym90dG9tOjZweDtsZWZ0OjB9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSIwIl0gLmFsLW5hdi1zbGlkZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMCAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfS5hbC1uYXYtd3JhcFtkYXRhLWFjdGl2ZT0iMSJdIC5hbC1uYXYtc2xpZGVye29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDEgKiAodmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKSArIDFweCkpKX0uYWwtbmF2LXdyYXBbZGF0YS1hY3RpdmU9IjIiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygyICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSIzIl0gLmFsLW5hdi1zbGlkZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMyAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfS5hbC1uYXYtd3JhcFtkYXRhLWFjdGl2ZT0iNCJdIC5hbC1uYXYtc2xpZGVye29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDQgKiAodmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKSArIDFweCkpKX0uYWwtbmF2LXdyYXBbZGF0YS1hY3RpdmU9IjUiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYyg1ICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSI2Il0gLmFsLW5hdi1zbGlkZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoNiAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfS5hbC1uYXYtd3JhcFtkYXRhLWFjdGl2ZT0iNyJdIC5hbC1uYXYtc2xpZGVye29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDcgKiAodmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKSArIDFweCkpKX0uYWwtbmF2LXdyYXBbZGF0YS1hY3RpdmU9IjgiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYyg4ICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSI5Il0gLmFsLW5hdi1zbGlkZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoOSAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfS5hbC1uYXYtd3JhcFtkYXRhLWFjdGl2ZT0iMTAiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygxMCAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfS5hbC1uYXYtd3JhcFtkYXRhLWFjdGl2ZT0iMTEiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygxMSAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5hbC1uYXYtc2xpZGVye3RyYW5zaXRpb246bm9uZX19OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLW5hdi1zbGlkZXJ7dHJhbnNpdGlvbjpub25lfS5hbC1uYXYuaXMtYWN0aXZle2NvbG9yOnZhcigtLWFsLWNvbG9yLWFjY2VudC1mZyl9LmFsLW5hdiBzcGFuOmZpcnN0LW9mLXR5cGV7ZmxleDoxfS5hbC1uYXYtY291bnR7bWluLXdpZHRoOjE4cHg7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTEpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1vbi1hY2NlbnQpO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjE4cHh9LmFsLWNocm9tZXtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmFsLXNoZWxsLWJvZHl7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MTttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O292ZXJmbG93OmF1dG99LmFsLXRvcGJhcnt6LWluZGV4OjI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS00KTtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLWxnKTtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtNik7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXg6bm9uZTtkaXNwbGF5OmZsZXg7cG9zaXRpb246c3RpY2t5O3RvcDowfS5hbC10b3BiYXItdGl0bGV7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleDoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbn0uYWwtdG9wYmFyLWVuZHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXg6bm9uZTtkaXNwbGF5OmZsZXh9LmFsLXRvcGJhciAuYWwtc3dpdGNoLXJvd3tnYXA6dmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLWJvdHRvbTowO3BhZGRpbmc6MH0uYWwtc2hlbGwtY29udGVudHttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTYpO2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxIDAgYXV0bztkaXNwbGF5OmZsZXh9LmFsLXN0YXR1c2JhcnthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2hlaWdodDoyNHB4O3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS0zKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JvcmRlci10b3A6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZmxleDpub25lO2ZvbnQtc2l6ZToxMXB4O2Rpc3BsYXk6ZmxleH0uYWwtc2ItaXRlbXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLXNiLXNwYWNlcntmbGV4OjF9LmFsLWRvdHtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1mdWxsKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6OHB4O2hlaWdodDo4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmFsLWRvdC5pcy1jb25uZWN0ZWR7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1pY29uKX0uYWwtZG90LmlzLXBhdXNlZHtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaWNrKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1pY29uKX0uYWwtZG90LmlzLWNoZWNraW5ne2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtaWNvbil9LmFsLWRvdC5pcy1kaXNjb25uZWN0ZWQsLmFsLWRvdC5pcy1vZmZsaW5le2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgZGFzaGVkIHZhcigtLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb24pO2JhY2tncm91bmQ6MCAwfS5hbC1kb3QuaXMtbm90LXJ1bm5pbmd7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDQyJSwgdmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctaWNvbikgNDIlIDU4JSwgdHJhbnNwYXJlbnQgNTglKX0uYWwtZG90LmlzLW5lZWRzLXNldHVwe2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpIDMwJSwgdHJhbnNwYXJlbnQgMzQlKX0uYWwtc2Itc3RhdGV7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTthbmltYXRpb246YWwtc2ItZmFkZSB2YXIoLS1hbC1kdXJhdGlvbi1iYXNlKSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLXNiLXN0YXRlIC5hbC1kb3R7cG9zaXRpb246cmVsYXRpdmV9LmFsLXNiLXN0YXRlIC5hbC1kb3QuaXMtY29ubmVjdGVkOmFmdGVye2NvbnRlbnQ6IiI7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtZnVsbCk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1pY29uKTtvcGFjaXR5OjA7YW5pbWF0aW9uOmFsLXNiLXB1bHNlIGNhbGModmFyKC0tYWwtZHVyYXRpb24tc2xvdykgKiAxLjUpIHZhcigtLWFsLWVhc2luZy1lbnRlcikgMTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowfUBrZXlmcmFtZXMgYWwtc2ItZmFkZXswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGFsLXNiLXB1bHNlezAle29wYWNpdHk6Ljg7dHJhbnNmb3JtOnNjYWxlKDEpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMi4yKX19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmFsLXNiLXN0YXRlLC5hbC1zYi1zdGF0ZSAuYWwtZG90LmlzLWNvbm5lY3RlZDphZnRlcnthbmltYXRpb246bm9uZX19QG1lZGlhICh3aWR0aDw9NjAwcHgpey5hbC1zaGVsbC1tYWlue2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uYWwtc2lkZXt3aWR0aDoxMDAlO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMikgdmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLXRvcDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2ZsZXgtZGlyZWN0aW9uOnJvdztvcmRlcjoyO2dhcDowO292ZXJmbG93LXg6YXV0b30uYWwtc2lkZS1icmFuZCwuYWwtYWdlbnQtc3dpdGNoe2Rpc3BsYXk6bm9uZX0uYWwtbmF2LXdyYXB7ZmxleDpub25lfS5hbC1zaWRlIHVse2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtmbGV4LWRpcmVjdGlvbjpyb3d9LmFsLW5hdntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0xKTttaW4td2lkdGg6NjRweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtc2l6ZToxMXB4fS5hbC1uYXYgc3BhbjpmaXJzdC1vZi10eXBle2ZsZXg6bm9uZX0uYWwtbmF2LWNvdW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7cmlnaHQ6NnB4fS5hbC1uYXYtc2xpZGVye2Rpc3BsYXk6bm9uZX0uYWwtbmF2LmlzLWFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1zdWJ0bGUpfS5hbC10b3BiYXJ7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTQpfS5hbC10b3BiYXItZW5ke2dhcDp2YXIoLS1hbC1zcGFjZS0zKX0uYWwtc2hlbGwtY29udGVudHtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpfX0uYWwtdHJheXt3aWR0aDoyNjBweDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTEpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy0yKX0uYWwtdHJheSB1bHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lfS5hbC10cmF5LXN0YXR1c3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMikgdmFyKC0tYWwtc3BhY2UtMyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO21hcmdpbi1ib3R0b206dmFyKC0tYWwtc3BhY2UtMSk7ZGlzcGxheTpmbGV4fS5hbC10cmF5LWl0ZW17YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtoZWlnaHQ6MjhweDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleH0uYWwtdHJheS1pdGVtIHNwYW46Zmlyc3Qtb2YtdHlwZXtmbGV4OjF9LmFsLXRyYXktaXRlbTpob3ZlciwuYWwtdHJheS1pdGVtOmZvY3Vze2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW9uLWFjY2VudCk7b3V0bGluZTpub25lfS5hbC10cmF5LWl0ZW06aG92ZXIgLmFsLWtiZCwuYWwtdHJheS1pdGVtOmhvdmVyIC5hbC1tdXRlZHtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6MCAwfS5hbC10cmF5LXNlcHtoZWlnaHQ6MXB4O21hcmdpbjp2YXIoLS1hbC1zcGFjZS0xKSAwO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSl9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmFsLWJ0biwuYWwtY2hpcCwuYWwtaWRsLC5hbC1wcm9vZiwuYWwtY29zdCwuYWwtY2FyZCwuYWwtdW50cnVzdGVkLC5hbC1pbnB1dC13cmFwLC5hbC1zd2l0Y2gsLmFsLXNlZywuYWwtbmF2LmlzLWFjdGl2ZXtmb3JjZWQtY29sb3ItYWRqdXN0OmF1dG87Ym9yZGVyOjFweCBzb2xpZCBjYW52YXN0ZXh0fS5hbC1idG4tcHJpbWFyeXtjb2xvcjpoaWdobGlnaHR0ZXh0O2JhY2tncm91bmQ6aGlnaGxpZ2h0fS5hbC1tYXJrLWluaywuYWwtbWFyay1zZWFsLC5hbC13b3JkbWFya3tmaWxsOmNhbnZhc3RleHR9fS5hbC1zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXI6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hbC1idG4tbWR7aGVpZ2h0OnZhcigtLWFsLXNpemUtY29udHJvbC1tZCl9LmFsLWJ0bi1zZWNvbmRhcnl7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpfS5hbC1jbmFtZS1yZXN0cmljdGVkIC5hbC1jbmFtZS10ZXh0LC5hbC1jbmFtZS11bmtub3duIC5hbC1jbmFtZS10ZXh0e2ZvbnQtd2VpZ2h0OnZhcigtLWFsLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpfS5hbC1jbmFtZS11bmtub3due2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKX0uYWwtY29udGFjdC1uYW1le21pbi13aWR0aDowfS5hbC1jb250YWN0LmlzLWZsYWdnZWQsLmFsLWNvbnRhY3QuaXMtbWlzbWF0Y2h7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1iZyl9LmFsLWNvbW1pdC1wdWJsaWN7bWFyZ2luOjB9LmFsLWNvcHktY21ke292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmFsLWRpc2Nsb3N1cmV7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWluZm8tYmcpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3Itc3RhdHVzLWluZm8tYm9yZGVyKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtaW5mby1mZyk7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXh9LmFsLWRpc2Nsb3N1cmU-LmFsLWljb257Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWluZm8taWNvbik7ZmxleDpub25lO21hcmdpbi10b3A6MnB4fS5hbC1kaXNjbG9zdXJlIHB7bWFyZ2luOjAgMCB2YXIoLS1hbC1zcGFjZS0yKX0uYWwtZGlzY2xvc3VyZSBwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5hbC1kaXNjbG9zdXJlLWxpbmV7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7bWFyZ2luOjB9LmFsLXJlbWVtYmVye2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmFsLXJlbWVtYmVyPnNwYW57Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmFsLWZpbGUtcmVtb3ZhbHttYXJnaW4tdG9wOnZhcigtLWFsLXNwYWNlLTEpfS5hbC1maWxlLmlzLXJlbW92ZWR7b3BhY2l0eTouN30uYWwtcnQtc3RlcC5pcy1ieS1yZWNpcGllbnQgLmFsLXJ0LWRvdHtvcGFjaXR5Oi43O2JvcmRlci1zdHlsZTpkb3R0ZWR9LmFsLXJ0LXN0ZXAuaXMtYnktcmVjaXBpZW50IC5hbC1ydC1sYWJlbHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLWxvY2t1cC1ob3Jpem9udGFse2ZsZXgtZGlyZWN0aW9uOnJvd30uYWwtcGN0LTB7d2lkdGg6MCV9LmFsLXBjdC01e3dpZHRoOjUlfS5hbC1wY3QtMTB7d2lkdGg6MTAlfS5hbC1wY3QtMTV7d2lkdGg6MTUlfS5hbC1wY3QtMjB7d2lkdGg6MjAlfS5hbC1wY3QtMjV7d2lkdGg6MjUlfS5hbC1wY3QtMzB7d2lkdGg6MzAlfS5hbC1wY3QtMzV7d2lkdGg6MzUlfS5hbC1wY3QtNDB7d2lkdGg6NDAlfS5hbC1wY3QtNDV7d2lkdGg6NDUlfS5hbC1wY3QtNTB7d2lkdGg6NTAlfS5hbC1wY3QtNTV7d2lkdGg6NTUlfS5hbC1wY3QtNjB7d2lkdGg6NjAlfS5hbC1wY3QtNjV7d2lkdGg6NjUlfS5hbC1wY3QtNzB7d2lkdGg6NzAlfS5hbC1wY3QtNzV7d2lkdGg6NzUlfS5hbC1wY3QtODB7d2lkdGg6ODAlfS5hbC1wY3QtODV7d2lkdGg6ODUlfS5hbC1wY3QtOTB7d2lkdGg6OTAlfS5hbC1wY3QtOTV7d2lkdGg6OTUlfS5hbC1wY3QtMTAwe3dpZHRoOjEwMCV9LmFsLXJ2e2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LXdpZHRoOjQ4cmVtO2Rpc3BsYXk6ZmxleH0uYWwtcnYtaGVhZHtnYXA6dmFyKC0tYWwtc3BhY2UtMSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uYWwtcnYtaGVhZCBoMTpmb2N1c3tvdXRsaW5lOm5vbmV9LmFsLXJ2LWxpc3R7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleH0uYWwtcnYtZW1wdHksLmFsLXJ2LW1vcmV7bWFyZ2luOjB9LmFsLXJ2LWNob2ljZXtnYXA6dmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyOjA7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7bWluLXdpZHRoOjA7bWFyZ2luOjA7cGFkZGluZzowO2Rpc3BsYXk6Z3JpZH0uYWwtcnYtb3B0e2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTttaW4taGVpZ2h0OjIuNzVyZW07cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTMpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdHJvbmcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1ydi1vcHQ6aGFzKGlucHV0OmNoZWNrZWQpe2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtmb250LXdlaWdodDo2MDB9LmFsLXJ2LW9wdDpoYXMoaW5wdXQ6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTp2YXIoLS1hbC1mb2N1cy1yaW5nLXdpZHRoKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1mb2N1cy1yaW5nKTtvdXRsaW5lLW9mZnNldDp2YXIoLS1hbC1mb2N1cy1yaW5nLW9mZnNldCl9LmFsLXJ2LW9wdDpoYXMoaW5wdXQ6ZGlzYWJsZWQpe2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi42fS5hbC1ydi1jb25maXJte2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hbC1ydi1jb25maXJtIHB7bWFyZ2luOjB9QG1lZGlhICh3aWR0aDw9NDgwcHgpey5hbC1ydi1jaG9pY2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19LmFsLXJ2LWl0ZW17bWluLXdpZHRoOjA7bWFyZ2luOjB9LmFsLXBheS1vdmVybGF5e3otaW5kZXg6dmFyKC0tYWwtei1tb2RhbCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1vdmVybGF5KTthbmltYXRpb246YWwtcGF5LWZhZGUgdmFyKC0tYWwtZHVyYXRpb24tYmFzZSkgZWFzZS1vdXQgYm90aDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjE2cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmZpeGVkO2luc2V0OjB9QHN1cHBvcnRzICgoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxcHgpKSBvciAoYmFja2Ryb3AtZmlsdGVyOmJsdXIoMXB4KSkpey5hbC1wYXktb3ZlcmxheXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX19LmFsLXBheS1zaGVldHtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTt3aWR0aDoxMDAlO21heC13aWR0aDo0MDBweDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAzMnB4KTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy00KTthbmltYXRpb246YWwtcGF5LXJpc2UgdmFyKC0tYWwtZHVyYXRpb24tc2xvdykgdmFyKC0tYWwtZWFzaW5nLWVtcGhhc2l6ZWQpIGJvdGg7Ym9yZGVyLXJhZGl1czoxNnB4O3BhZGRpbmc6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdy15OmF1dG99LmFsLXBheS1zaGVldDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFsLXBheS1ncmFie2Rpc3BsYXk6bm9uZX0uYWwtcGF5LXRpdGxle21hcmdpbjowIDAgOHB4O2ZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoyNHB4fS5hbC1wYXktdGl0bGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hbC1jb2xvci1mb2N1cy1yaW5nKTtvdXRsaW5lLW9mZnNldDoycHh9LmFsLXBheS1hbW91bnR7bGV0dGVyLXNwYWNpbmc6LS4wMjVlbTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bWFyZ2luOjAgMCAxNnB4O2ZvbnQtc2l6ZTo0MHB4O2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDo0NHB4fS5hbC1wYXktcm93c3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0byAxZnI7Z2FwOjhweCAxNnB4O21hcmdpbjowIDAgMTZweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4O2Rpc3BsYXk6Z3JpZH0uYWwtcGF5LXJvd3MgZHR7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpfS5hbC1wYXktcm93cyBkZHt0ZXh0LWFsaWduOnJpZ2h0O292ZXJmbG93LXdyYXA6YW55d2hlcmU7bWFyZ2luOjB9LmFsLXBheS1vbGR7Y29sb3I6dmFyKC0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnKTt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdofS5hbC1wYXktbmV3e2NvbG9yOnZhcigtLWFsLWNvbG9yLWRpZmYtYWRkZWQtZmcpO2ZvbnQtd2VpZ2h0OjYwMH0uYWwtcGF5LWFycm93e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLXN1YnRsZSl9LmFsLXBheS10cnVzdHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7bWFyZ2luOjAgMCAxNnB4O2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE4cHh9LmFsLXBheS10cnVzdCBwe21hcmdpbjowIDAgNHB4fS5hbC1wYXktcmVtZW1iZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6OHB4O21hcmdpbjowIDAgMTZweDtkaXNwbGF5OmZsZXh9LmFsLXBheS1yZW1lbWJlciAuYWwtZmllbGQtaGludHtkaXNwbGF5OmJsb2NrfS5hbC1wYXktc3RhdHVze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4taGVpZ2h0OjIwcHg7bWFyZ2luOjAgMCAxMnB4O2Rpc3BsYXk6ZmxleH0uYWwtcGF5LWxpdmV7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjB9LmFsLXBheS1hbGVydHtib3JkZXItbGVmdDoycHggc29saWQgdmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZyk7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZyk7YWxpZ24tc2VsZjpzdHJldGNoO21hcmdpbjowO3BhZGRpbmc6OHB4IDEycHh9LmFsLXBheS1hY3Rpb25ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O2Rpc3BsYXk6ZmxleH0uYWwtcGF5LWFjdGlvbnMgLmFsLWJ0bnttaW4taGVpZ2h0OjQ0cHh9LmFsLXBheS1saW5re21pbi1oZWlnaHQ6NDRweDtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7YWxpZ24tc2VsZjpjZW50ZXI7Zm9udC1zaXplOjEzcHh9LmFsLXBheS1yaW5ne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7b3ZlcmZsb3c6dmlzaWJsZX0uYWwtcGF5LXJpbmcgY2lyY2xlLC5hbC1wYXktcmluZyBwYXRoe2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6Mi41cHg7c3Ryb2tlLWxpbmVjYXA6cm91bmR9LmFsLXBheS1yaW5nLXRyYWNre3N0cm9rZTp2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCl9LmFsLXBheS1yaW5nLWFyY3tzdHJva2U6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO3N0cm9rZS1kYXNoYXJyYXk6MTAwO3N0cm9rZS1kYXNob2Zmc2V0Ojc1cHg7dHJhbnNmb3JtLW9yaWdpbjoyNHB4IDI0cHh9LmFsLXBheS1yaW5nW2RhdGEtc3RhdGU9d2FpdGluZ10gLmFsLXBheS1yaW5nLWFyY3tzdHJva2UtZGFzaG9mZnNldDoxMDBweH0uYWwtcGF5LXJpbmdbZGF0YS1zdGF0ZT13YWl0aW5nXXthbmltYXRpb246YWwtcGF5LWJyZWF0aGUgdmFyKC0tYWwtZHVyYXRpb24tYW1iaWVudCkgZWFzZS1pbi1vdXQgaW5maW5pdGV9LmFsLXBheS1yaW5nW2RhdGEtc3RhdGU9cmVjb3JkaW5nXSAuYWwtcGF5LXJpbmctYXJje2FuaW1hdGlvbjphbC1wYXktc3dlZXAgdmFyKC0tYWwtZHVyYXRpb24tYW1iaWVudC1zd2VlcCkgbGluZWFyIGluZmluaXRlfS5hbC1wYXktcmluZ1tkYXRhLXN0YXRlPWRvbmVdIC5hbC1wYXktcmluZy1hcmN7c3Ryb2tlOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnKTtzdHJva2UtZGFzaG9mZnNldDowO2FuaW1hdGlvbjphbC1wYXktY2xvc2UgdmFyKC0tYWwtZHVyYXRpb24tbW9tZW50KSB2YXIoLS1hbC1kdXJhdGlvbi1tb21lbnQpIGJvdGg7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1hbC1lYXNpbmctZW1waGFzaXplZCl9LmFsLXBheS1jaGVja3tzdHJva2U6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtZmcpO3N0cm9rZS1kYXNoYXJyYXk6MTAwO3N0cm9rZS1kYXNob2Zmc2V0OjA7YW5pbWF0aW9uOmFsLXBheS1kcmF3IHZhcigtLWFsLWR1cmF0aW9uLW1vbWVudCkgdmFyKC0tYWwtZWFzaW5nLWVtcGhhc2l6ZWQpIGJvdGh9QGtleWZyYW1lcyBhbC1wYXktZmFkZXswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGFsLXBheS1yaXNlezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNnB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgYWwtcGF5LWJyZWF0aGV7MCUsdG97b3BhY2l0eTouNDU7dHJhbnNmb3JtOnNjYWxlKC45Nil9NTAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgYWwtcGF5LXN3ZWVwezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIGFsLXBheS1jbG9zZXswJXtzdHJva2UtZGFzaG9mZnNldDo3NXB4fXRve3N0cm9rZS1kYXNob2Zmc2V0OjB9fUBrZXlmcmFtZXMgYWwtcGF5LWRyYXd7MCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MTAwcHh9dG97c3Ryb2tlLWRhc2hvZmZzZXQ6MH19QG1lZGlhICh3aWR0aDw9NTk5cHgpey5hbC1wYXktb3ZlcmxheXthbGlnbi1pdGVtczpmbGV4LWVuZDtwYWRkaW5nOjB9LmFsLXBheS1zaGVldHtib3JkZXItcmFkaXVzOjE2cHggMTZweCAwIDA7bWF4LXdpZHRoOm5vbmU7bWF4LWhlaWdodDoxMDB2aH0uYWwtcGF5LWdyYWJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czoycHg7d2lkdGg6MzZweDtoZWlnaHQ6NHB4O21hcmdpbjotMTJweCBhdXRvIDEycHg7ZGlzcGxheTpibG9ja319LmFsLXBheS1zaGVldFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSwuYWwtcGF5LXNoZWV0W2RhdGEtbW90aW9uPXJlZHVjZWRdICp7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudDthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9LmFsLXBheS1vdmVybGF5OmhhcyguYWwtcGF5LXNoZWV0W2RhdGEtbW90aW9uPXJlZHVjZWRdKXt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O2FuaW1hdGlvbjpub25lIWltcG9ydGFudH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuYWwtcGF5LW92ZXJsYXksLmFsLXBheS1zaGVldCwuYWwtcGF5LXNoZWV0ICp7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudDthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9LmFsLXBheS1yaW5nW2RhdGEtc3RhdGU9cmVjb3JkaW5nXSAuYWwtcGF5LXJpbmctYXJje3N0cm9rZS1kYXNob2Zmc2V0OjUwcHh9LmFsLXBheS1yaW5nW2RhdGEtc3RhdGU9d2FpdGluZ10gLmFsLXBheS1yaW5nLWFyY3tzdHJva2UtZGFzaG9mZnNldDoxMDBweH19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtdHJhbnNwYXJlbmN5OnJlZHVjZSl7LmFsLXBheS1vdmVybGF5ey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmV9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5hbC1wYXktc2hlZXR7Ym9yZGVyOjFweCBzb2xpZCBjYW52YXN0ZXh0fS5hbC1wYXktcmluZyBjaXJjbGUsLmFsLXBheS1yaW5nIHBhdGh7c3Ryb2tlOmNhbnZhc3RleHR9fS5hbC1wYXktcm93e2Rpc3BsYXk6Y29udGVudHN9LmFsLXBheS1jb2Rle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O2Rpc3BsYXk6ZmxleH0uYWwtcGF5LWxpbmt7Y3Vyc29yOnBvaW50ZXI7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjJweDtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtwYWRkaW5nOjAgOHB4O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmFsLXBheS1saW5rOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6MnB4fS5hbC1zdXJmYWNle2lzb2xhdGlvbjppc29sYXRlO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXhsKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO3Bvc2l0aW9uOnJlbGF0aXZlfS5hbC1zdXJmYWNlLS1sMHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLWNhbnZhcyk7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctMCl9LmFsLXN1cmZhY2UtLWwxe2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHZhcigtLWFsLWhpZ2hsaWdodC10b3ApLCB2YXIoLS1hbC1zaGFkb3ctMSl9LmFsLXN1cmZhY2UtLWwye2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgdmFyKC0tYWwtaGlnaGxpZ2h0LXRvcC1yYWlzZWQpLCB2YXIoLS1hbC1zaGFkb3ctMil9LmFsLXN1cmZhY2UtLWwze2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHZhcigtLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkKSwgdmFyKC0tYWwtc2hhZG93LTMpfS5hbC1zdXJmYWNlLS1sNHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCB2YXIoLS1hbC1oaWdobGlnaHQtdG9wLXJhaXNlZCksIHZhcigtLWFsLXNoYWRvdy00KX0uYWwtc3VyZmFjZS0tcmVjZXNzZWR7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2JveC1zaGFkb3c6dmFyKC0tYWwtc2hhZG93LTApfS5hbC1zdXJmYWNlLS1pbnRlcmFjdGl2ZTpiZWZvcmV7Y29udGVudDoiIjt6LWluZGV4Oi0xO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tYWwtZHVyYXRpb24tZmFzdCk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowfS5hbC1zdXJmYWNlLS1sMC5hbC1zdXJmYWNlLS1pbnRlcmFjdGl2ZTpiZWZvcmUsLmFsLXN1cmZhY2UtLXJlY2Vzc2VkLmFsLXN1cmZhY2UtLWludGVyYWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCB2YXIoLS1hbC1oaWdobGlnaHQtdG9wKSwgdmFyKC0tYWwtc2hhZG93LTEpfS5hbC1zdXJmYWNlLS1sMS5hbC1zdXJmYWNlLS1pbnRlcmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCB2YXIoLS1hbC1oaWdobGlnaHQtdG9wLXJhaXNlZCksIHZhcigtLWFsLXNoYWRvdy0yKX0uYWwtc3VyZmFjZS0tbDIuYWwtc3VyZmFjZS0taW50ZXJhY3RpdmU6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHZhcigtLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkKSwgdmFyKC0tYWwtc2hhZG93LTMpfS5hbC1zdXJmYWNlLS1pbnRlcmFjdGl2ZTpmb2N1cy13aXRoaW46YmVmb3JlLC5hbC1zdXJmYWNlLS1pbnRlcmFjdGl2ZTpmb2N1cy12aXNpYmxlOmJlZm9yZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9QG1lZGlhIChob3Zlcjpob3Zlcil7LmFsLXN1cmZhY2UtLWludGVyYWN0aXZlOmhvdmVyOmJlZm9yZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9fUBtZWRpYSAocHJlZmVycy1jb250cmFzdDptb3JlKXsuYWwtc3VyZmFjZXtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpfX06cm9vdFtkYXRhLWNvbnRyYXN0PW1vcmVdIC5hbC1zdXJmYWNle2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCl9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmFsLXN1cmZhY2V7Ym9yZGVyLWNvbG9yOmNhbnZhc3RleHR9LmFsLXN1cmZhY2UtLWludGVyYWN0aXZlOmJlZm9yZXtib3JkZXI6MXB4IHNvbGlkIGNhbnZhc3RleHR9fS5hbC1zaGVldHt6LWluZGV4OnZhcigtLWFsLXotb3ZlcmxheSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteGwpIDAgMCB2YXIoLS1hbC1yYWRpdXMteGwpO3dpZHRoOm1pbig0MjBweCwxMDAlKTthbmltYXRpb246YWwtc2hlZXQtaW4gdmFyKC0tYWwtZHVyYXRpb24tc2xvdykgdmFyKC0tYWwtZWFzaW5nLWVudGVyKSBib3RoO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXg7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdzpoaWRkZW59LmFsLXNoZWV0LWhlYWR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTZweCAyMHB4O2Rpc3BsYXk6ZmxleH0uYWwtc2hlZXQtdGl0bGV7b3V0bGluZTpub25lO21hcmdpbjowfS5hbC1zaGVldC10aXRsZTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdHJvbmcpO291dGxpbmUtb2Zmc2V0OjJweH0uYWwtc2hlZXQtY2xvc2V7Y29sb3I6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MH0uYWwtc2hlZXQtYm9keXtmbGV4OjE7cGFkZGluZzoyMHB4O292ZXJmbG93LXk6YXV0b31AbWVkaWEgKHdpZHRoPD0zNjBweCl7LmFsLXNoZWV0e2JvcmRlci1yYWRpdXM6MDt3aWR0aDoxMDAlO2luc2V0OjB9fUBrZXlmcmFtZXMgYWwtc2hlZXQtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMjRweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9fS5hbC1kaWFsb2ctb3ZlcmxheXt6LWluZGV4OnZhcigtLWFsLXotbW9kYWwpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctb3ZlcmxheSk7YW5pbWF0aW9uOmFsLWRpYWxvZy1mYWRlIHZhcigtLWFsLWR1cmF0aW9uLWJhc2UpIHZhcigtLWFsLWVhc2luZy1lbnRlcikgYm90aDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjE2cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmZpeGVkO2luc2V0OjB9QHN1cHBvcnRzICgoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxcHgpKSBvciAoYmFja2Ryb3AtZmlsdGVyOmJsdXIoMXB4KSkpey5hbC1kaWFsb2ctb3ZlcmxheXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX19LmFsLWRpYWxvZ3t3aWR0aDoxMDAlO21heC13aWR0aDo0NDBweDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAzMnB4KTtwYWRkaW5nOjI0cHg7b3ZlcmZsb3cteTphdXRvfS5hbC1kaWFsb2ctdGl0bGV7b3V0bGluZTpub25lO21hcmdpbjowIDAgMTJweH0uYWwtZGlhbG9nLXRpdGxlOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7b3V0bGluZS1vZmZzZXQ6MnB4fUBrZXlmcmFtZXMgYWwtZGlhbG9nLWZhZGV7MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtdHJhbnNwYXJlbmN5OnJlZHVjZSl7LmFsLWRpYWxvZy1vdmVybGF5ey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmV9fTpyb290W2RhdGEtdHJhbnNwYXJlbmN5PXJlZHVjZWRdIC5hbC1kaWFsb2ctb3ZlcmxheXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lfUBtZWRpYSAocHJlZmVycy1jb250cmFzdDptb3JlKXsuYWwtZGlhbG9nLW92ZXJsYXl7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZHJvcC1maWx0ZXI6bm9uZX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmFsLWRpYWxvZy1vdmVybGF5ey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmV9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5hbC1zaGVldCwuYWwtZGlhbG9nLW92ZXJsYXl7YW5pbWF0aW9uOm5vbmV9fTpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1zaGVldCw6cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtZGlhbG9nLW92ZXJsYXl7YW5pbWF0aW9uOm5vbmV9LmFsLXBie2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtkaXNwbGF5OmdyaWR9LmFsLXBiLWhlYWR7YWxpZ24taXRlbXM6YmFzZWxpbmU7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2Rpc3BsYXk6ZmxleH0uYWwtcGItbGFiZWx7bWluLWlubGluZS1zaXplOjA7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7ZmxleDoxfS5hbC1wYi1hbW91bnR7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3JhcH0uYWwtcGItc3RhdGV7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZyk7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtcGItdHJhY2t7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2Jsb2NrLXNpemU6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uYWwtcGItdHJhY2suaXMtc3RlcHBlZHtiYWNrZ3JvdW5kOjAgMDtib3JkZXItcmFkaXVzOjA7YmxvY2stc2l6ZTphdXRvO292ZXJmbG93OnZpc2libGV9LmFsLXBiLXN2Z3tibG9jay1zaXplOjEwMCU7aW5saW5lLXNpemU6MTAwJTtkaXNwbGF5OmJsb2NrfS5hbC1wYi1maWxse3N0cm9rZTp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7c3Ryb2tlLXdpZHRoOjRweDt0cmFuc2l0aW9uOnN0cm9rZS1kYXNob2Zmc2V0IHZhcigtLWFsLWR1cmF0aW9uLWJhc2UpIHZhcigtLWFsLWVhc2luZy1zdGFuZGFyZCl9LmFsLXBiLmlzLWRvbmUgLmFsLXBiLWZpbGx7c3Ryb2tlOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb24pfS5hbC1wYi5pcy1lcnJvciAuYWwtcGItZmlsbHtzdHJva2U6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uKX0uYWwtcGIuaXMtZXJyb3IgLmFsLXBiLXRyYWNre2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyKX0uYWwtcGItc2VnLWdsaWRle2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO29wYWNpdHk6Ljg1O2lubGluZS1zaXplOjUwJTthbmltYXRpb246YWwtcGItZ2xpZGUgdmFyKC0tYWwtZHVyYXRpb24tYW1iaWVudCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKSBpbmZpbml0ZTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldC1ibG9jazowO2luc2V0LWlubGluZS1zdGFydDowfUBrZXlmcmFtZXMgYWwtcGItZ2xpZGV7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZSgyMDAlKX19LmFsLXBiLXN0ZXBze2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtncmlkLWF1dG8tY29sdW1uczoxZnI7Z3JpZC1hdXRvLWZsb3c6Y29sdW1uO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTpncmlkfS5hbC1wYi1zdGVwe2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZGlzcGxheTpncmlkfS5hbC1wYi1zZWd7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2Jsb2NrLXNpemU6NHB4O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5hbC1wYi1zdGVwW2RhdGEtc3RhdGU9Y3VycmVudF17Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9LmFsLXBiLXN0ZXBbZGF0YS1zdGF0ZT1kb25lXSAuYWwtcGItZmlsbHtzdHJva2U6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtaWNvbil9LmFsLXBiLXN0ZXBbZGF0YS1zdGF0ZT1lcnJvcl17Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZyl9LmFsLXBiLXN0ZXBbZGF0YS1zdGF0ZT1lcnJvcl0gLmFsLXBiLXNlZ3tiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbil9LmFsLXBiLXN0ZXAuaXMtdW5rbm93biAuYWwtcGItc2VnOmFmdGVye2NvbnRlbnQ6IiI7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7b3BhY2l0eTouODU7aW5saW5lLXNpemU6NTAlO2FuaW1hdGlvbjphbC1wYi1nbGlkZSB2YXIoLS1hbC1kdXJhdGlvbi1hbWJpZW50KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpIGluZmluaXRlO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0LWJsb2NrOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LmFsLXJpbmd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS00KTtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1yaW5nLWRpYWx7cGxhY2UtaXRlbXM6Y2VudGVyO2Jsb2NrLXNpemU6NTZweDtpbmxpbmUtc2l6ZTo1NnB4O2Rpc3BsYXk6aW5saW5lLWdyaWQ7cG9zaXRpb246cmVsYXRpdmV9LmFsLXJpbmcuaXMtc20gLmFsLXJpbmctZGlhbHtibG9jay1zaXplOjMycHg7aW5saW5lLXNpemU6MzJweH0uYWwtcmluZy5pcy1sZyAuYWwtcmluZy1kaWFse2Jsb2NrLXNpemU6ODBweDtpbmxpbmUtc2l6ZTo4MHB4fS5hbC1yaW5nLWRpYWwgc3Zne2Jsb2NrLXNpemU6MTAwJTtpbmxpbmUtc2l6ZToxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9LmFsLXJpbmctdHJhY2ssLmFsLXJpbmctZmlsbHtmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjNweH0uYWwtcmluZy10cmFja3tzdHJva2U6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKX0uYWwtcmluZy1maWxse3N0cm9rZTp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7dHJhbnNmb3JtLW9yaWdpbjoxOHB4IDE4cHg7dHJhbnNpdGlvbjpzdHJva2UtZGFzaG9mZnNldCB2YXIoLS1hbC1kdXJhdGlvbi1zbG93KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uYWwtcmluZy5pcy1sb3cgLmFsLXJpbmctZmlsbHtzdHJva2U6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctaWNvbil9LmFsLXJpbmctY2VudGVye2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtcztwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtcmluZy10ZXh0e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKX0uYWwtc2tlbGV0b257Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2Rpc3BsYXk6Z3JpZH0uYWwtc2tlbGV0b24tbGluZXtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2Jsb2NrLXNpemU6MTJweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uYWwtc2tlbGV0b24tbGluZTpudGgtbGFzdC1jaGlsZCgyKXtpbmxpbmUtc2l6ZTo2MCV9LmFsLXNrZWxldG9uLWxpbmU6YWZ0ZXJ7Y29udGVudDoiIjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCksIHRyYW5zcGFyZW50KTtvcGFjaXR5Oi41O2FuaW1hdGlvbjphbC1za2VsZXRvbi1zd2VlcCB2YXIoLS1hbC1kdXJhdGlvbi1hbWJpZW50KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpIGluZmluaXRlO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSl9QGtleWZyYW1lcyBhbC1za2VsZXRvbi1zd2VlcHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlKDEwMCUpfX0uYWwtc2tlbGV0b24tcmV2ZWFse2FuaW1hdGlvbjphbC1za2VsZXRvbi1mYWRlIHZhcigtLWFsLWR1cmF0aW9uLWZhc3QpIHZhcigtLWFsLWVhc2luZy1lbnRlcikgYm90aH1Aa2V5ZnJhbWVzIGFsLXNrZWxldG9uLWZhZGV7MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19LmFsLWlubGluZS1lcnJvcnthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLWlubGluZS1zdGFydDozcHggc29saWQgdmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnKTthbmltYXRpb246YWwtaW5saW5lLWVycm9yLW51ZGdlIHZhcigtLWFsLWR1cmF0aW9uLWJhc2UpIHZhcigtLWFsLWVhc2luZy1lbXBoYXNpemVkKSBib3RoO2Rpc3BsYXk6ZmxleH0uYWwtaW5saW5lLWVycm9yPi5hbC1pY29ue2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbik7ZmxleDpub25lfS5hbC1pbmxpbmUtZXJyb3ItYWN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b31Aa2V5ZnJhbWVzIGFsLWlubGluZS1lcnJvci1udWRnZXswJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTQwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDRweCl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX19LmFsLXBiW2RhdGEtcGF1c2VkPXRydWVdIC5hbC1wYi1zZWctZ2xpZGUsLmFsLXBiW2RhdGEtcGF1c2VkPXRydWVdIC5hbC1wYi1zZWc6YWZ0ZXIsLmFsLXNrZWxldG9uW2RhdGEtcGF1c2VkPXRydWVdIC5hbC1za2VsZXRvbi1saW5lOmFmdGVye2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuYWwtcGItZmlsbCwuYWwtcmluZy1maWxse3RyYW5zaXRpb246bm9uZX0uYWwtcGIuaXMtaW5kZXRlcm1pbmF0ZSAuYWwtcGItc2VnLWdsaWRlLC5hbC1wYi1zdGVwLmlzLXVua25vd24gLmFsLXBiLXNlZzphZnRlciwuYWwtc2tlbGV0b24tbGluZTphZnRlciwuYWwtc2tlbGV0b24tcmV2ZWFsLC5hbC1pbmxpbmUtZXJyb3J7YW5pbWF0aW9uOm5vbmV9LmFsLXNrZWxldG9uLWxpbmU6YWZ0ZXJ7b3BhY2l0eTowfX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtcGItZmlsbCw6cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtcmluZy1maWxse3RyYW5zaXRpb246bm9uZX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtcGIuaXMtaW5kZXRlcm1pbmF0ZSAuYWwtcGItc2VnLWdsaWRlLDpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1wYi1zdGVwLmlzLXVua25vd24gLmFsLXBiLXNlZzphZnRlciw6cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtc2tlbGV0b24tbGluZTphZnRlciw6cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtc2tlbGV0b24tcmV2ZWFsLDpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1pbmxpbmUtZXJyb3J7YW5pbWF0aW9uOm5vbmV9OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLXNrZWxldG9uLWxpbmU6YWZ0ZXJ7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpeyosOmJlZm9yZSw6YWZ0ZXJ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudDthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9fTpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdICosOnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gOmJlZm9yZSw6cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSA6YWZ0ZXJ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudDthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9LmFsLWxpdmVkb3R7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtjb2xvcjp2YXIoLS10LWZnKTt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtbGQtc2hhcGV7Y29sb3I6dmFyKC0tdC1pYyk7ZmxleDpub25lO292ZXJmbG93OnZpc2libGV9LmFsLWxkLXB1bHNle3RyYW5zZm9ybS1ib3g6ZmlsbC1ib3g7dHJhbnNmb3JtLW9yaWdpbjo1MCV9LmFsLWxkLXNwaW57dHJhbnNmb3JtLWJveDp2aWV3LWJveDt0cmFuc2Zvcm0tb3JpZ2luOjUwJX0uYWwtbGl2ZWRvdFtkYXRhLXN0YXRlPXJlY29ubmVjdGluZ10gLmFsLWxkLXNwaW57YW5pbWF0aW9uOmFsLWxkLXR1cm4gdmFyKC0tYWwtZHVyYXRpb24tYW1iaWVudCkgbGluZWFyIGluZmluaXRlfS5hbC1saXZlZG90W2RhdGEtcGF1c2VkXSAuYWwtbGQtc3BpbnthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWR9QGtleWZyYW1lcyBhbC1sZC10dXJue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LmFsLW1vbWVudHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnKTtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1tb21lbnRbZGF0YS1raW5kPXByb29mXXtjb2xvcjp2YXIoLS1hbC1jb2xvci1wcm9vZi1mZyl9LmFsLW1vbWVudFtkYXRhLWtpbmQ9ZmlsZV17Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9LmFsLW1vbWVudC1hcnR7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5hbC1tb21lbnQtY29kZXtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1zbSk7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7d2lkdGg6OHB4O2hlaWdodDoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1cHh9LmFsLW1vbWVudC1sZWZ0e2xlZnQ6MXB4fS5hbC1tb21lbnQtcmlnaHR7cmlnaHQ6MXB4fS5hbC1jb3VudHttaW4td2lkdGg6MThweDtoZWlnaHQ6MThweDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LXN1YnRsZSk7Y29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmFsLWNvdW50LW91dHtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9LmFsLXJvdy1wcmVzZW5jZXtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtcm93LWhse2JvcmRlci1yYWRpdXM6aW5oZXJpdDtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1zdWJ0bGUpO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9LmFsLXZpc3VhbGx5LWhpZGRlbntjbGlwLXBhdGg6aW5zZXQoNTAlKTt3aGl0ZS1zcGFjZTpub3dyYXA7Ym9yZGVyOjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO292ZXJmbG93OmhpZGRlbn0uYWwtaG9vZHttYXJnaW4tdG9wOnZhcigtLWFsLXNwYWNlLTcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtmb250LWZhbWlseTp2YXIoLS1hbC1mb250LWZhbWlseS1tb25vKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7YW5pbWF0aW9uOmFsLWhvb2QtaW4gdmFyKC0tYWwtZHVyYXRpb24tYmFzZSkgdmFyKC0tYWwtZWFzaW5nLWVudGVyKSBib3RoO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE4cHh9LmFsLWhvb2QtaGVhZHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3dpZHRoOjEwMCU7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0zKSB2YXIoLS1hbC1zcGFjZS00KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtmb250LWZhbWlseTppbmhlcml0O2Rpc3BsYXk6ZmxleH0uYWwtaG9vZC1oZWFkOmhvdmVye2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpfS5hbC1ob29kLWhlYWQ6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5hbC1ob29kLWNoZXZ7bWFyZ2luLWxlZnQ6YXV0b30uYWwtaG9vZC1ib2R5e3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS00KTthbmltYXRpb246YWwtaG9vZC1pbiB2YXIoLS1hbC1kdXJhdGlvbi1iYXNlKSB2YXIoLS1hbC1lYXNpbmctZW50ZXIpIGJvdGh9LmFsLWhvb2QtZW1wdHl7bWFyZ2luOjB9LmFsLWhvb2QtbGlzdHtnYXA6dmFyKC0tYWwtc3BhY2UtMik7bWFyZ2luOjA7ZGlzcGxheTpncmlkfS5hbC1ob29kLXJvd3tnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5hbC1ob29kLXJvdyBkdHttaW4td2lkdGg6MTIwcHg7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctc3VidGxlKX0uYWwtaG9vZC1yb3cgZGR7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTttYXJnaW46MH0uYWwtaG9vZC1yb3cgYXtjb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZmcpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9QGtleWZyYW1lcyBhbC1ob29kLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmFsLXByZXZpZXctdGlsZXtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWF4LXdpZHRoOjUyMHB4O21hcmdpbi10b3A6dmFyKC0tYWwtc3BhY2UtNSk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS01KTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteGwpO2JveC1zaGFkb3c6dmFyKC0tYWwtc2hhZG93LTIpO2p1c3RpZnktaXRlbXM6c3RhcnQ7ZGlzcGxheTpncmlkfS5hbC1wcmV2aWV3LXRpbGUgcHttYXJnaW46MH0uYWwtcHJldmlldy10cmFja3tib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1mdWxsKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7d2lkdGg6MTAwJTtoZWlnaHQ6MjRweDtvdmVyZmxvdzpoaWRkZW59LmFsLXByZXZpZXctY2hpcHtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1mdWxsKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIHZhcigtLWFsLWR1cmF0aW9uLXNsb3cpIHZhcigtLWFsLWVhc2luZy1zdGFuZGFyZCk7ZGlzcGxheTpibG9ja30uYWwtcHJldmlldy10aWxlLmlzLW1vdmVkIC5hbC1wcmV2aWV3LWNoaXB7dHJhbnNmb3JtOnRyYW5zbGF0ZSgyMDBweCl9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmFsLWhvb2QsLmFsLWhvb2QtYm9keXthbmltYXRpb246bm9uZX0uYWwtcHJldmlldy1jaGlwe3RyYW5zaXRpb246bm9uZX19OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLWhvb2QsOnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLWhvb2QtYm9keXthbmltYXRpb246bm9uZX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtcHJldmlldy1jaGlwe3RyYW5zaXRpb246bm9uZX0uYWwtY2hyb21le2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Ym9yZGVyOjAgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpfUBzdXBwb3J0cyAoKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMXB4KSkgb3IgKGJhY2tkcm9wLWZpbHRlcjpibHVyKDFweCkpKXs6cm9vdFtkYXRhLW9zPW1hY29zXSAuYWwtY2hyb21le2JhY2tncm91bmQ6dmFyKC0tYWwtbWF0ZXJpYWwtY2hyb21lLWJnKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS1hbC1tYXRlcmlhbC1ibHVyKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tYWwtbWF0ZXJpYWwtYmx1cil9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLXRyYW5zcGFyZW5jeTpyZWR1Y2Upezpyb290W2RhdGEtb3M9bWFjb3NdIC5hbC1jaHJvbWV7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lfX06cm9vdFtkYXRhLW9zPW1hY29zXVtkYXRhLXRyYW5zcGFyZW5jeT1yZWR1Y2VkXSAuYWwtY2hyb21le2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZHJvcC1maWx0ZXI6bm9uZX1AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7OnJvb3RbZGF0YS1vcz1tYWNvc10gLmFsLWNocm9tZXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmU7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KX19OnJvb3RbZGF0YS1vcz1tYWNvc11bZGF0YS1jb250cmFzdD1tb3JlXSAuYWwtY2hyb21le2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZHJvcC1maWx0ZXI6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpezpyb290W2RhdGEtb3M9bWFjb3NdIC5hbC1jaHJvbWV7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZ3JvdW5kOmNhbnZhcztib3JkZXItY29sb3I6Y2FudmFzdGV4dH19LmFsLXNpZGUuYWwtY2hyb21le2JvcmRlci1yaWdodC13aWR0aDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbil9LmFsLXRvcGJhci5hbC1jaHJvbWV7Ym9yZGVyLWJvdHRvbS13aWR0aDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbil9LmFsLXN0YXR1c2Jhci5hbC1jaHJvbWV7Ym9yZGVyLXRvcC13aWR0aDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbil9LmFsLXN1Ym5hdnt0b3A6dmFyKC0tYWwtc2l6ZS1jb250cm9sLWxnKTt6LWluZGV4OjE7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO21hcmdpbjpjYWxjKC0xICogdmFyKC0tYWwtc3BhY2UtNikpIGNhbGMoLTEgKiB2YXIoLS1hbC1zcGFjZS02KSkgMDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTYpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246c3RpY2t5O292ZXJmbG93LXg6YXV0b30uYWwtc3VibmF2LmFsLWNocm9tZXtib3JkZXItYm90dG9tLXdpZHRoOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKX0uYWwtc3VibmF2IGF7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0yKSB2YXIoLS1hbC1zcGFjZS00KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2ZsZXg6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZX0uYWwtc3VibmF2IGE6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpfS5hbC1zdWJuYXYgYS5pcy1hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZmcpfS5hbC10b3BiYXItdGhlbWV7d2hpdGUtc3BhY2U6bm93cmFwfUBtZWRpYSAod2lkdGg8PTYwMHB4KXsuYWwtc2lkZS5hbC1jaHJvbWV7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLXRvcC13aWR0aDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbil9LmFsLXN1Ym5hdnttYXJnaW46Y2FsYygtMSAqIHZhcigtLWFsLXNwYWNlLTQpKSBjYWxjKC0xICogdmFyKC0tYWwtc3BhY2UtNCkpIDA7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0zKSB2YXIoLS1hbC1zcGFjZS00KX0uYWwtdG9wYmFyIC5hbC1zd2l0Y2gtdGV4dCwuYWwtdG9wYmFyLXRoZW1lLXRleHR7ZGlzcGxheTpub25lfX06cm9vdHt2aWV3LXRyYW5zaXRpb24tbmFtZTpub25lfS5hbC1zaGVsbC1ib2R5e3ZpZXctdHJhbnNpdGlvbi1uYW1lOmFsLXBhZ2V9QGtleWZyYW1lcyBhbC1wYWdlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBhbC1wYWdlLW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX06OnZpZXctdHJhbnNpdGlvbi1vbGQocm9vdCl7YW5pbWF0aW9uOm5vbmV9Ojp2aWV3LXRyYW5zaXRpb24tbmV3KHJvb3Qpe2FuaW1hdGlvbjpub25lfTo6dmlldy10cmFuc2l0aW9uLW9sZChhbC1wYWdlKXthbmltYXRpb246YWwtcGFnZS1vdXQgdmFyKC0tYWwtZHVyYXRpb24tZmFzdCkgdmFyKC0tYWwtZWFzaW5nLWV4aXQpIGJvdGh9Ojp2aWV3LXRyYW5zaXRpb24tbmV3KGFsLXBhZ2Upe2FuaW1hdGlvbjphbC1wYWdlLWluIHZhcigtLWFsLWR1cmF0aW9uLWZhc3QpIHZhcigtLWFsLWVhc2luZy1lbnRlcikgYm90aH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXs6OnZpZXctdHJhbnNpdGlvbi1vbGQoYWwtcGFnZSl7YW5pbWF0aW9uOm5vbmV9Ojp2aWV3LXRyYW5zaXRpb24tbmV3KGFsLXBhZ2Upe2FuaW1hdGlvbjpub25lfX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXTo6dmlldy10cmFuc2l0aW9uLW9sZChhbC1wYWdlKXthbmltYXRpb246bm9uZX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXTo6dmlldy10cmFuc2l0aW9uLW5ldyhhbC1wYWdlKXthbmltYXRpb246bm9uZX1odG1sLGJvZHksI3Jvb3R7aGVpZ2h0OjEwMCV9Ym9keSwjcm9vdHttaW4taGVpZ2h0OjEwMGR2aH0uYWwtc2tpcHt0b3A6dmFyKC0tYWwtc3BhY2UtMyk7bGVmdDp2YXIoLS1hbC1zcGFjZS0zKTt6LWluZGV4OjEwO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMikgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMDAlKX0uYWwtc2tpcDpmb2N1c3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1tYWluLmFsLXNoZWxsLWNvbnRlbnQ6Zm9jdXN7b3V0bGluZTpub25lfS5hbC1hY3Rpdml0eS1oZWFke2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5hbC1hY3Rpdml0eS1oZWFkIGgxe21hcmdpbjowfS5hbC1hY3Rpdml0eS1hc29me21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b30uYWwtYWN0aXZpdHktY2hpcHN7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO21hcmdpbjp2YXIoLS1hbC1zcGFjZS01KSAwO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0uYWwtYWN0aXZpdHktY2hpcHttaW4taGVpZ2h0OnZhcigtLWFsLXNpemUtY29udHJvbC1tZCk7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7Y3Vyc29yOnBvaW50ZXJ9LmFsLWFjdGl2aXR5LWNoaXBbYXJpYS1wcmVzc2VkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKX0uYWwtYWN0aXZpdHktY2hpcDpmb2N1cy12aXNpYmxle291dGxpbmU6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaWNrKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1mb2N1cy1yaW5nKTtvdXRsaW5lLW9mZnNldDp2YXIoLS1hbC1zcGFjZS0xKX0uYWwtYWN0aXZpdHktc3RhZ2V7bWluLWJsb2NrLXNpemU6dmFyKC0tYWwtc2l6ZS1jb250cm9sLWxnKX0uYWwtYWN0aXZpdHktbGlzdHthbmltYXRpb246YWwtYWN0aXZpdHktZmFkZSB2YXIoLS1hbC1kdXJhdGlvbi1iYXNlKSB2YXIoLS1hbC1lYXNpbmctZW50ZXIpIGJvdGh9QGtleWZyYW1lcyBhbC1hY3Rpdml0eS1mYWRlezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5hbC1hY3Rpdml0eS1saXN0e2FuaW1hdGlvbjpub25lfX1bZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLWFjdGl2aXR5LWxpc3R7YW5pbWF0aW9uOm5vbmV9LmFsLWFjdGl2aXR5LW5vbmV7bWFyZ2luOnZhcigtLWFsLXNwYWNlLTUpIDB9LmFsLWFjdGl2aXR5LXNlY3Rpb257Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Y29udGVudC12aXNpYmlsaXR5OmF1dG87Y29udGFpbi1pbnRyaW5zaWMtc2l6ZTphdXRvIDE0ZW07bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1hbC1zcGFjZS01KX0uYWwtYWN0aXZpdHktZGF5e3RvcDp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbGcpO3otaW5kZXg6MTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTUpO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZykgdmFyKC0tYWwtcmFkaXVzLWxnKSAwIDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh2YXIoLS1hbC1tYXRlcmlhbC1jaHJvbWUtYmcpLCB2YXIoLS1hbC1tYXRlcmlhbC1jaHJvbWUtYmcpKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtZm9udC13ZWlnaHQtbWVkaXVtKTttYXJnaW46MDtwb3NpdGlvbjpzdGlja3l9LmFsLWFjdGl2aXR5LXRhYmxle3RhYmxlLWxheW91dDpmaXhlZDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7d2lkdGg6MTAwJX0uYWwtYWN0aXZpdHktdGFibGUgdGR7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS01KTt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uYWwtYWN0aXZpdHktdGFibGUgdGJvZHkgdHIrdHIgdGR7Ym9yZGVyLXRvcDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSl9LmFsLWFjdGl2aXR5LXRpbWV7d2lkdGg6NS41ZW07Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3JhcH0uYWwtYWN0aXZpdHktbW9yZXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6ZmxleH1AbWVkaWEgKHdpZHRoPD00ODBweCl7LmFsLWFjdGl2aXR5LXRhYmxlLC5hbC1hY3Rpdml0eS10YWJsZSB0Ym9keSwuYWwtYWN0aXZpdHktdGFibGUgdHIsLmFsLWFjdGl2aXR5LXRhYmxlIHRke3dpZHRoOmF1dG87ZGlzcGxheTpibG9ja30uYWwtYWN0aXZpdHktdGFibGUgdGR7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0xKSB2YXIoLS1hbC1zcGFjZS01KTtib3JkZXItdG9wOjB9LmFsLWFjdGl2aXR5LXRhYmxlIHRye3BhZGRpbmctYmxvY2s6dmFyKC0tYWwtc3BhY2UtMyl9LmFsLWFjdGl2aXR5LXRhYmxlIHRib2R5IHRyK3Rye2JvcmRlci10b3A6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpfX0uYWwtYXBwcm92YWxze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweDt3aWR0aDoxMDAlO21heC13aWR0aDo0ODBweDtkaXNwbGF5OmZsZXh9LmFsLWFwcHJvdmFscyBoMXttYXJnaW46MH0uYWwtYXBwcm92YWxzIC5hbC1sZWRlLC5hbC1hcHByb3ZhbHMgLmFsLW5vdGUsLmFsLWFwcHJvdmFscyAuYWwtb3J7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO21hcmdpbjowO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE4cHh9LmFsLWFwcHJvdmFscyAuYWwtbGlzdCwuYWwtYXBwcm92YWxzIC5hbC1ub3RpY2VzLC5hbC1hcHByb3ZhbHMgLmFsLXNsb3QsLmFsLWFwcHJvdmFscyAuYWwtc3RlcCwuYWwtYXBwcm92YWxzIC5hbC1iYXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMnB4O2Rpc3BsYXk6ZmxleH0uYWwtYXBwcm92YWxzIC5hbC1zdGVwOmZvY3Vze291dGxpbmU6bm9uZX0uYWwtYXBwcm92YWxzIC5hbC1zdGVwOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6MnB4fS5hbC1hcHByb3ZhbHMgLmFsLW5vdGljZXM6ZW1wdHl7ZGlzcGxheTpub25lfS5hbC1hcHByb3ZhbHMgLmFsLXNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6dmFyKC0tYWwtZm9udC1mYW1pbHktbW9ubyk7bGV0dGVyLXNwYWNpbmc6LjA2ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTttYXJnaW46MDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0uYWwtYXBwcm92YWxzIC5hbC1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6NHB4O21hcmdpbjowO3BhZGRpbmc6OHB4IDEycHh9LmFsLWFwcHJvdmFscyAuYWwtdGVybXN7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHg7ZGlzcGxheTpmbGV4fS5hbC1hcHByb3ZhbHMgLmFsLW1vbm97Zm9udC1mYW1pbHk6dmFyKC0tYWwtZm9udC1mYW1pbHktbW9ubyl9LmFsLWFwcHJvdmFscyAuYWwtdG9nZ2xle2ZsZXg6bm9uZX0uYWwtYXBwcm92YWxzIC5hbC1jb2RlIC5hbC1pbnB1dC13cmFwe2hlaWdodDp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbGcpfS5hbC1hcHByb3ZhbHMgLmFsLWNvZGUgLmFsLWJ0bi1ibG9ja3ttYXJnaW4tdG9wOjhweH0uYWwtYXBwcm92YWxzIC5hbC1jaG9pY2Vze2JvcmRlcjoxcHggc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2JvcmRlci1yYWRpdXM6NHB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2Rpc3BsYXk6Z3JpZDtvdmVyZmxvdzpoaWRkZW59LmFsLWFwcHJvdmFscyAuYWwtY2hvaWNle2N1cnNvcjpwb2ludGVyO2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0NHB4O2ZvbnQtd2VpZ2h0OjUwMDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmFsLWFwcHJvdmFscyAuYWwtY2hvaWNlOmZpcnN0LWNoaWxke2JvcmRlci1sZWZ0OjB9LmFsLWFwcHJvdmFscyAuYWwtY2hvaWNlIGlucHV0e29wYWNpdHk6MDtjdXJzb3I6cG9pbnRlcjttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowfS5hbC1hcHByb3ZhbHMgLmFsLWNob2ljZTpoYXMoaW5wdXQ6Y2hlY2tlZCl7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2JveC1zaGFkb3c6aW5zZXQgMCAtMnB4IDAgdmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpfS5hbC1hcHByb3ZhbHMgLmFsLWNob2ljZTpoYXMoaW5wdXQ6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZToycHggc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6LTJweH0uYWwtYXBwcm92YWxzIC5hbC1saW5lc3tmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjRweDttYXJnaW46MDtwYWRkaW5nLWxlZnQ6MjBweDtkaXNwbGF5OmZsZXh9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmFsLWFwcHJvdmFscyAuYWwtY2hvaWNlOmhhcyhpbnB1dDpjaGVja2VkKXtib3JkZXI6MnB4IHNvbGlkIGNhbnZhc3RleHR9fS5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsLC5hbC1hcHByb3ZhbHMgLmFsLXBhbmVse2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlfS5hbC1hcHByb3ZhbHMgLmFsLXBhbmVse3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSk7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmFsLWFwcHJvdmFscyAuYWwtcGFuZWwgaDIsLmFsLWFwcHJvdmFscyAuYWwtcGFuZWwgcCwuYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbC10b3AgLmFsLWFwcHJvdmFsLXR5cGV7bWFyZ2luOjB9LmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWwtdG9wIC5hbC1yaW5ne21hcmdpbi1sZWZ0OmF1dG99LmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWxbZGF0YS1vdXRjb21lPWFwcHJvdmVkXXtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyKX0uYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbD4uYWwtYXBwcm92YWwtdG9wLC5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsPi5hbC1hcHByb3ZhbC1mb290e3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS1hbC1kdXJhdGlvbi1iYXNlKSB2YXIoLS1hbC1lYXNpbmctZXhpdCl9LmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWxbZGF0YS1vdXRjb21lPWRlbmllZF0-LmFsLWFwcHJvdmFsLXRvcCwuYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbFtkYXRhLW91dGNvbWU9ZGVuaWVkXT4uYWwtYXBwcm92YWwtZm9vdCwuYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbFtkYXRhLW91dGNvbWU9ZGVuaWVkXT5kbCwuYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbFtkYXRhLW91dGNvbWU9ZGVuaWVkXT4uYWwtdGVybXMsLmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWxbZGF0YS1vdXRjb21lPWRlbmllZF0-LmFsLXVudHJ1c3RlZHtvcGFjaXR5OnZhcigtLWFsLW9wYWNpdHktZGlzYWJsZWQpfS5hbC1hcHByb3ZhbHMgLmFwLW1vbWVudHtkaXNwbGF5OmZsZXh9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWw-LmFsLWFwcHJvdmFsLXRvcCwuYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbD4uYWwtYXBwcm92YWwtZm9vdHt0cmFuc2l0aW9uOm5vbmV9fTpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsPi5hbC1hcHByb3ZhbC10b3AsOnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWw-LmFsLWFwcHJvdmFsLWZvb3R7dHJhbnNpdGlvbjpub25lfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsW2RhdGEtb3V0Y29tZT1hcHByb3ZlZF17Ym9yZGVyLWNvbG9yOmNhbnZhc3RleHR9fS5hYi1wYWdle2dhcDp2YXIoLS1hbC1zcGFjZS01KTttYXgtd2lkdGg6dmFyKC0tYWwtbGF5b3V0LW1heC1jb250ZW50KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hYi1wYWdlIGgxLC5hYi1wYWdlIGgyLC5hYi1wYWdlIHB7bWFyZ2luOjB9LmFiLXNlY3Rpb257Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uYWItbGlua3N7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleH0uY3QtY291bnR7bWFyZ2luOjB9LmN0LWxheW91dHtnYXA6dmFyKC0tYWwtc3BhY2UtNik7bWFyZ2luLXRvcDp2YXIoLS1hbC1zcGFjZS02KTtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleH0uY3QtbGlzdHtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7ZmxleDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7b3ZlcmZsb3c6aGlkZGVufS5jdC1saXN0PmxpOmxhc3QtY2hpbGQgLmN0LXJvd3tib3JkZXItYm90dG9tOjB9LmN0LXJvd3tib3JkZXI6MDtib3JkZXItYm90dG9tOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6MTAwJTtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcn0uY3Qtcm93OmhvdmVyLC5jdC1yb3dbYXJpYS1jdXJyZW50PXRydWVde2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKX0uY3QtZGV0YWlse2dhcDp2YXIoLS1hbC1zcGFjZS01KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5jdC1kZXRhaWwgcHttYXJnaW46MH0uY3QtZGV0YWlsLWhlYWR7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmN0LWRldGFpbC1oZWFkIGgye21hcmdpbjowfS5jdC1hY3Rpb25ze2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5jdC1yZW5hbWUsLmN0LWNvbmZpcm0sLmN0LXByZXNlbmNlLC5jdC1wcmVzZW5jZS1mb3Jte2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5jdC1wcmVzZW5jZXtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbil9LmN0LWVycm9ye2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpfS5jdC1zYW1lLW5hbWV7ZGlzcGxheTpibG9ja30uY3QtZHVwIC5hbC1iYW5uZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6dmFyKC0tYWwtc2hhZG93LTMpfS5jdC1kdXAgLmFsLWJhbm5lci10ZXh0e2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsuY3QtZHVwe2FuaW1hdGlvbjpjdC1kdXAtaW4gdmFyKC0tYWwtZHVyYXRpb24tYmFzZSkgdmFyKC0tYWwtZWFzaW5nLWVudGVyKX1Aa2V5ZnJhbWVzIGN0LWR1cC1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkodmFyKC0tYWwtc3BhY2UtMykpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19fS5jdC13YWl0aW5ne2dhcDp2YXIoLS1hbC1zcGFjZS0zKTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsuY3Qtd2FpdGluZ1tkYXRhLW1vdGlvbj1mdWxsXXthbmltYXRpb246Y3QtYnJlYXRoZSB2YXIoLS1hbC1kdXJhdGlvbi1hbWJpZW50KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpIGluZmluaXRlIGFsdGVybmF0ZX1Aa2V5ZnJhbWVzIGN0LWJyZWF0aGV7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6LjU1fX19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmN0LXdhaXRpbmd7YW5pbWF0aW9uOm5vbmV9fTpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5jdC13YWl0aW5ne2FuaW1hdGlvbjpub25lfS5mbC1wYWdle2dhcDp2YXIoLS1hbC1zcGFjZS02KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5mbC1wYW5lbHtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7bWF4LWlubGluZS1zaXplOmNhbGModmFyKC0tYWwtbGF5b3V0LW1heC1jb250ZW50KSAvIDIpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNik7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uZmwtcGFuZWw-aDIsLmZsLXBhbmVsPnAsLmZsLWNvbmZpcm0gaDIsLmZsLWNvbmZpcm0gcHttYXJnaW46MH0uZmwtbGlzdHtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTpmbGV4fS5mbC1yb3d7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS00KTtkaXNwbGF5OmZsZXh9LmZsLXJvdy1tYWlue292ZXJmbG93LXdyYXA6YW55d2hlcmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6YXV0bzttaW4taW5saW5lLXNpemU6MDtkaXNwbGF5OmZsZXh9LmZsLWVudGVyLC5mbC1jb25maXJte2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5mbC1mb2xkZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2Rpc3BsYXk6ZmxleH0uZmwtd2FybmluZ3N7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MDtkaXNwbGF5OmZsZXh9LmZsLXdhcm5pbmdzIGxlZ2VuZHtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMil9LmZsLXdhcm5pbmdzIC5hbC1jaGVja3thbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5mbC1hY3Rpb25ze2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9LmZsLXRhYnN7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2JvcmRlci1ibG9jay1lbmQ6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvfS5mbC10YWJ7YXBwZWFyYW5jZTpub25lO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNCk7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udDppbmhlcml0O2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5mbC10YWI6YWZ0ZXJ7Y29udGVudDoiIjtibG9jay1zaXplOjJweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0LWJsb2NrLWVuZDowO2luc2V0LWlubGluZTowO3RyYW5zZm9ybTpzY2FsZVgoMCl9LmZsLXRhYjpob3ZlciwuZmwtdGFiLmlzLWFjdGl2ZXtjb2xvcjp2YXIoLS1hbC1jb2xvci10ZXh0LXByaW1hcnkpfS5mbC10YWIuaXMtYWN0aXZlOmFmdGVye3RyYW5zZm9ybTpzY2FsZVgoMSl9LmZsLXRhYjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0Oi0ycHg7b3V0bGluZToycHggc29saWR9LmZsLWZlZWR7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmZsLWl0ZW17Z2FwOnZhcigtLWFsLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taW5saW5lLXNpemU6MDtkaXNwbGF5OmZsZXh9LmZsLXJvdy1saXtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7bWluLWlubGluZS1zaXplOjA7bGlzdC1zdHlsZTpub25lfS5mbC1jYXJke3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteGwpfS5mbC1pdGVtLWhlYWR7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWluLWlubGluZS1zaXplOjA7ZGlzcGxheTpmbGV4fS5mbC1uYW1le21pbi1pbmxpbmUtc2l6ZTowO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMSkgdmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3doaXRlLXNwYWNlOnByZS13cmFwfS5mbC1pdGVtIHAsLmZsLW5vdGUgcHttYXJnaW46MH0uZmwtbWV0YSwuZmwtY2hpcHN7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKSB2YXIoLS1hbC1zcGFjZS00KTtvdmVyZmxvdy13cmFwOmFueXdoZXJlO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0uZmwtc3RhdGV7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uZmwtcmVjZWlwdHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmZsLW5vdGV7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uZmwtc3Itb25seXtjbGlwLXBhdGg6aW5zZXQoNTAlKTt3aGl0ZS1zcGFjZTpub3dyYXA7YmxvY2stc2l6ZToxcHg7aW5saW5lLXNpemU6MXB4O21hcmdpbjotMXB4O3Bvc2l0aW9uOmFic29sdXRlO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuZmwtdGFiOmFmdGVye3RyYW5zaXRpb246bm9uZX19OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmZsLXRhYjphZnRlcnt0cmFuc2l0aW9uOm5vbmV9QG1lZGlhICh3aWR0aDw9NDByZW0pey5mbC1pdGVte3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMyl9LmZsLW1ldGEsLmZsLWNoaXBze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fX0uaG0taGVhZHtnYXA6dmFyKC0tYWwtc3BhY2UtMik7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1hbC1zcGFjZS02KTtkaXNwbGF5OmdyaWR9LmhtLWhlYWQgaDEsLmhtLWdyZWV0aW5ne21hcmdpbjowfS5obS1kYXRle2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW19LmhtLW5leHR7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS01KTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTYpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctMik7ZmxleC13cmFwOndyYXA7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1hbC1zcGFjZS02KTtkaXNwbGF5OmZsZXh9LmhtLW5leHQtdGV4dHtnYXA6dmFyKC0tYWwtc3BhY2UtMik7bWluLWlubGluZS1zaXplOjA7ZGlzcGxheTpncmlkfS5obS1uZXh0LXRleHQgcCwuaG0tbmV4dC10ZXh0IGgye21hcmdpbjowfS5obS1ub3Rle2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWFyZ2luOjAgMCB2YXIoLS1hbC1zcGFjZS01KTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctZmcpO2Rpc3BsYXk6ZmxleH0uaG0tdGlsZXN7Z2FwOnZhcigtLWFsLXNwYWNlLTUpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDI0MHB4LDFmcikpO2Rpc3BsYXk6Z3JpZH0uaG0tdGlsZXtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7bWluLWJsb2NrLXNpemU6MTcycHg7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS02KTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy0xKTtpc29sYXRpb246aXNvbGF0ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmhtLXRpbGU6YmVmb3Jle2NvbnRlbnQ6IiI7ei1pbmRleDotMTtib3JkZXItcmFkaXVzOmluaGVyaXQ7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctMik7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9LmhtLXRpbGU6aG92ZXIsLmhtLXRpbGU6Zm9jdXMtd2l0aGlue3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfS5obS10aWxlOmhvdmVyOmJlZm9yZSwuaG0tdGlsZTpmb2N1cy13aXRoaW46YmVmb3Jle29wYWNpdHk6MX0uaG0tdGlsZVtkYXRhLWF0dGVudGlvbj10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpfS5obS10aWxlLXRpdGxle2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTttYXJnaW46MH0uaG0tdGlsZS1saW5re2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmhtLXRpbGUtbGluazphZnRlcntjb250ZW50OiIiO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowfS5obS10aWxlLWxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmhtLXRpbGUtbGluazpmb2N1cy12aXNpYmxlOmFmdGVye291dGxpbmU6dmFyKC0tYWwtZm9jdXMtcmluZy13aWR0aCkgc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6dmFyKC0tYWwtZm9jdXMtcmluZy1vZmZzZXQpfS5obS10aWxlLWJvZHl7YWxpZ24tY29udGVudDpzdGFydDtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWluLWJsb2NrLXNpemU6MDtkaXNwbGF5OmdyaWR9LmhtLXRpbGUtYm9keSBwLC5obS1hc29me21hcmdpbjowfS5obS1yZXZpZXd7ei1pbmRleDoxO2p1c3RpZnktc2VsZjpzdGFydDtwb3NpdGlvbjpyZWxhdGl2ZX0uaG0tY291bnR7bWFyZ2luOjB9LmhtLXNvb25lc3R7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uaG0tZXZlbnRze2dhcDp2YXIoLS1hbC1zcGFjZS0zKTttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6Z3JpZH0uaG0tZXZlbnR7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTttaW4taW5saW5lLXNpemU6MDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmhtLWV2ZW50LXRleHR7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleDoxO21pbi1pbmxpbmUtc2l6ZTowO292ZXJmbG93OmhpZGRlbn0uaG0tZXZlbnQtdGltZXt3aGl0ZS1zcGFjZTpub3dyYXB9LmhtLXRpbGVzW2RhdGEtcXVpZXQ9dHJ1ZV0gLmhtLXRpbGU6bm90KFtkYXRhLXRpbGU9YWdlbnRdKXtvcGFjaXR5OnZhcigtLWFsLW9wYWNpdHktZGlzYWJsZWQpfS5obS1ob29ke21hcmdpbi1ibG9jay1zdGFydDp2YXIoLS1hbC1zcGFjZS02KX0uaG0taG9vZDplbXB0eXtkaXNwbGF5Om5vbmV9QG1lZGlhICh3aWR0aDw9NDByZW0pey5obS10aWxlc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5obS10aWxlW2RhdGEtdGlsZT13YWl0aW5nXXtvcmRlcjotMX0uaG0tdGlsZXttaW4tYmxvY2stc2l6ZTowO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSl9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5obS10aWxlLC5obS10aWxlOmJlZm9yZXt0cmFuc2l0aW9uOm5vbmV9LmhtLXRpbGU6aG92ZXIsLmhtLXRpbGU6Zm9jdXMtd2l0aGlue3RyYW5zZm9ybTpub25lfX1bZGF0YS1tb3Rpb249cmVkdWNlZF0gLmhtLXRpbGUsW2RhdGEtbW90aW9uPXJlZHVjZWRdIC5obS10aWxlOmJlZm9yZXt0cmFuc2l0aW9uOm5vbmV9W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5obS10aWxlOmhvdmVyLFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuaG0tdGlsZTpmb2N1cy13aXRoaW57dHJhbnNmb3JtOm5vbmV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSksKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7LmhtLXRpbGUsLmhtLW5leHR7Ym94LXNoYWRvdzpub25lfS5obS10aWxlOmJlZm9yZXtkaXNwbGF5Om5vbmV9fS5tcy1oZWFke2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDp2YXIoLS1hbC1zcGFjZS01KTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9Lm1zLWhlYWQgaDF7bWFyZ2luOjB9Lm1zLWxheW91dHtnYXA6dmFyKC0tYWwtc3BhY2UtNik7bWFyZ2luLXRvcDp2YXIoLS1hbC1zcGFjZS02KTtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleH0ubXMtbGlzdC13cmFwe2ZsZXg6MjYwcHg7bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCV9Lm1zLWRldGFpbHtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MiAzMjBweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmZsZXh9Lm1zLWxpc3QtYmFye2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWFyZ2luLWJvdHRvbTp2YXIoLS1hbC1zcGFjZS0zKTtkaXNwbGF5OmZsZXh9Lm1zLWxpc3R7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZX0ubXMtbGlzdC1zdXJmYWNle292ZXJmbG93OmhpZGRlbn0ubXMtcm93LWl0ZW17cG9zaXRpb246cmVsYXRpdmV9Lm1zLXJvd3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO3dpZHRoOjEwMCU7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS01KTtib3JkZXI6MDtib3JkZXItYm90dG9tOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7ZGlzcGxheTpmbGV4fS5tcy1saXN0PmxpOmxhc3QtY2hpbGQgLm1zLXJvd3tib3JkZXItYm90dG9tOjB9Lm1zLXJvdzpob3ZlciwubXMtcm93W2FyaWEtY3VycmVudD10cnVlXXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbil9Lm1zLXJvdy1tYWlue292ZXJmbG93LXdyYXA6YW55d2hlcmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6YXV0bzttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXh9Lm1zLWRldGFpbC1oZWFke2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5tcy1kZXRhaWwtaGVhZCBoMntvdmVyZmxvdy13cmFwOmFueXdoZXJlO21hcmdpbjowfS5tcy1pdGVtc3tnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTpmbGV4fS5tcy1pdGVte2dhcDp2YXIoLS1hbC1zcGFjZS0zKTttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9Lm1zLWl0ZW0gLmFsLWJ0bnt0cmFuc2l0aW9uOm5vbmV9Lm1zLW1ldGF7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5tcy1pdGVtIC5hbC11bnRydXN0ZWQsLm1zLWl0ZW0gLmFsLXVudHJ1c3RlZC1ib2R5e292ZXJmbG93LXdyYXA6YW55d2hlcmU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCV9Lm1zLWNsYW1wZWQgLmFsLXVudHJ1c3RlZC1ib2R5e21heC1oZWlnaHQ6OWVtO292ZXJmbG93OmhpZGRlbn0ubXMtYWN0aW9uc3tnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5tcy1mb290ZXJ7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO21hcmdpbjowfS5tcy1tb3Jle2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTpmbGV4fS5tcy1uZXd7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9QG1lZGlhICh3aWR0aDw9NzE5cHgpey5tcy1sYXlvdXQuaGFzLXNlbGVjdGlvbiAubXMtbGlzdC13cmFwLC5tcy1sYXlvdXQ6bm90KC5oYXMtc2VsZWN0aW9uKSAubXMtZGV0YWlse2Rpc3BsYXk6bm9uZX19QG1lZGlhICh3aWR0aD49NzIwcHgpey5tcy1iYWNre2Rpc3BsYXk6bm9uZX19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm1zLXJvdywubXMtaXRlbXt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpLChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey5tcy1saXN0LXN1cmZhY2UsLm1zLWl0ZW17Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCBDYW52YXNUZXh0O2JveC1zaGFkb3c6bm9uZX19LnBmLWxheW91dHtnYXA6dmFyKC0tYWwtc3BhY2UtNyk7bWFyZ2luLXRvcDp2YXIoLS1hbC1zcGFjZS02KTtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleH0ucGYtc2lkZXtmbGV4OjEgMSBjYWxjKHZhcigtLWFsLWxheW91dC1tYXgtY29udGVudCkgLyAyKTtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0ucGYtc2lkZT5we21hcmdpbjowfS5wZi1saXN0e2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDo5OTkgMSAwO21pbi1pbmxpbmUtc2l6ZTo1NSU7ZGlzcGxheTpmbGV4fS5wZi10YWJsZS13cmFwe2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO292ZXJmbG93LXg6YXV0b30ucGYtdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3dpZHRoOjEwMCV9LnBmLXRhYmxlIHRoLC5wZi10YWJsZSB0ZHt0ZXh0LWFsaWduOmxlZnQ7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS01KTtib3JkZXItYm90dG9tOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7dmVydGljYWwtYWxpZ246bWlkZGxlfS5wZi10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRke2JvcmRlci1ib3R0b206MH0ucGYtdGFibGUgdGh7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpfS5wZi1kaXJ7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtkaXNwbGF5OmlubGluZS1mbGV4fS5wZi1tb3Jle2FsaWduLXNlbGY6ZmxleC1zdGFydH0ucGYtYWN0aW9ucywucGYtY29uZmlybS1hY3Rpb25ze2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9LnBmLXRvcHVwLC5wZi1jb25maXJte2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LnBmLXRvcHVwIGgyLC5wZi1jb25maXJtIGgyLC5wZi1mYWN0c3ttYXJnaW46MH0ucGYtZmFjdHN7Z2FwOnZhcigtLWFsLXNwYWNlLTIpIHZhcigtLWFsLXNwYWNlLTUpO2dyaWQtdGVtcGxhdGUtY29sdW1uczptYXgtY29udGVudCAxZnI7ZGlzcGxheTpncmlkfS5wZi1mYWN0cyBkZHttYXJnaW46MH0ucGYtYWRkcmVzc3t3b3JkLWJyZWFrOmJyZWFrLWFsbDstd2Via2l0LXVzZXItc2VsZWN0OmFsbDt1c2VyLXNlbGVjdDphbGw7ZGlzcGxheTpibG9ja30ucGYtY29uZmlybS1mb3Jte2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aW5saW5lLXNpemU6MTAwJTtkaXNwbGF5OmZsZXh9LnBmLWFkdmFuY2Vke2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LnBmLXFye2lubGluZS1zaXplOjEwMCU7bWF4LWlubGluZS1zaXplOmNhbGModmFyKC0tYWwtc3BhY2UtMTEpICogMyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpfS5wZi1xci1iZ3tmaWxsOnZhcigtLWFsLWNvbG9yLWJnLWludmVyc2UpfS5wZi1xci1kb3R7ZmlsbDp2YXIoLS1hbC1jb2xvci1mZy1pbnZlcnNlKX1bZGF0YS10aGVtZT1saWdodF0gLnBmLXFyLWJne2ZpbGw6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSl9W2RhdGEtdGhlbWU9bGlnaHRdIC5wZi1xci1kb3R7ZmlsbDp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KX1AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXs6cm9vdDpub3QoW2RhdGEtdGhlbWVdKSAucGYtcXItYmd7ZmlsbDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKX06cm9vdDpub3QoW2RhdGEtdGhlbWVdKSAucGYtcXItZG90e2ZpbGw6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9fS5wZi1zaWRlIC5hbC1jcmVkaXRzLmFsLXN1cmZhY2UtLWwye2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtib3JkZXItY29sb3I6IzAwMDB9LnBmLXNpZGUgLmFsLWNyZWRpdHMtdG9we2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNCl9LnBmLXdhaXRpbmd7bWFyZ2luOjB9LnBmLXJpbmd7ZGlzcGxheTpjb250ZW50c30ucmwtaGVhZGVye2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDp2YXIoLS1hbC1zcGFjZS00KTttYXJnaW4tYm90dG9tOnZhcigtLWFsLXNwYWNlLTYpO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0ucmwtaGVhZGVyIGgxe21hcmdpbjp2YXIoLS1hbC1zcGFjZS0yKSAwIDB9LnJsLWdyb3Vwe2dhcDp2YXIoLS1hbC1zcGFjZS00KTttYXJnaW4tYm90dG9tOnZhcigtLWFsLXNwYWNlLTcpO21heC13aWR0aDp2YXIoLS1hbC1sYXlvdXQtbWF4LWNvbnRlbnQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LnJsLWdyb3VwIGgye21hcmdpbjowfS5ybC1jYXJke2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtvdmVyZmxvdzpoaWRkZW59LnJsLXN1bW1hcnl7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO21heC13aWR0aDp2YXIoLS1hbC1sYXlvdXQtbWF4LWNvbnRlbnQpO21hcmdpbi1ib3R0b206dmFyKC0tYWwtc3BhY2UtNyk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS01KSB2YXIoLS1hbC1zcGFjZS02KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0ucmwtc3VtbWFyeSBoMiwucmwtc3VtbWFyeSBwe21hcmdpbjowfS5ybC1zdW1tYXJ5LWxpc3R7Z2FwOnZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTcpO2ZsZXgtd3JhcDp3cmFwO21hcmdpbjowO2Rpc3BsYXk6ZmxleH0ucmwtc3VtbWFyeS1saXN0PmRpdntnYXA6dmFyKC0tYWwtc3BhY2UtMSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0ucmwtc3VtbWFyeS1saXN0IGR0e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKX0ucmwtc3VtbWFyeS1saXN0IGRke21hcmdpbjowfS5ybC1yb3d7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSkgdmFyKC0tYWwtc3BhY2UtNik7Ym9yZGVyLXRvcDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0ucmwtcm93OmZpcnN0LWNoaWxke2JvcmRlci10b3A6MH0ucmwtcm93LmlzLWNvbW1pdHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWNvbW1pdG1lbnQtYmcpfS5ybC1yb3cuaXMtY29tbWl0IC5hbC1tdXRlZHtjb2xvcjp2YXIoLS1hbC1jb2xvci1jb21taXRtZW50LWZnKX0ucmwtcm93LW1haW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9LnJsLXJvdy10ZXh0e2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxIDEgY2FsYyh2YXIoLS1hbC1sYXlvdXQtbWF4LWNvbnRlbnQpIC8gMyk7ZGlzcGxheTpmbGV4fS5ybC1yb3ctY29udHJvbHtmbGV4OjAgYXV0b30ucmwtcm93LWV4dHJhPnB7bWFyZ2luOjB9LnJsLWZpZWxkc3tnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5ybC1maWVsZHM-KntmbGV4OjEgMSBjYWxjKHZhcigtLWFsLWxheW91dC1tYXgtY29udGVudCkgLyA0KX0ucmwtbGltaXRze2dhcDp2YXIoLS1hbC1zcGFjZS01KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5ybC10b2dnbGV7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtwYWRkaW5nOjA7ZGlzcGxheTppbmxpbmUtZmxleH0ucmwtdG9nZ2xlOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6MnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKX0ucmwtdW5zYXZlZHtib3R0b206dmFyKC0tYWwtc3BhY2UtNCk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS00KTttYXgtd2lkdGg6dmFyKC0tYWwtbGF5b3V0LW1heC1jb250ZW50KTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy0yKTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXg7cG9zaXRpb246c3RpY2t5fS5ybC11bnNhdmVkLWFjdGlvbnMsLnJsLWNvbmZpcm0tYWN0aW9uc3tnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5ybC1jb25maXJtLWFjdGlvbnN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5ybC1jb25maXJtLWJvZHl7Z2FwOnZhcigtLWFsLXNwYWNlLTUpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSkgdmFyKC0tYWwtc3BhY2UtNik7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0ucmwtY29uZmlybS1ib2R5PnB7bWFyZ2luOjB9LnJsLXdhcm5pbmdze2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmZsZXh9LnJsLXdhcm5pbmd7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ucmwtd2FybmluZyBpbnB1dHttYXJnaW4tdG9wOnZhcigtLWFsLXNwYWNlLTEpO2ZsZXg6bm9uZX0ucmwtZXJyb3J7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZyk7bWFyZ2luOjB9Ci8qJHZpdGUkOjEqLw"],
54250
- ["index.html", "PCFkb2N0eXBlIGh0bWw-CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgPG1ldGEgbmFtZT0iYWdlbnRsaW5rLWNzcmYiIGNvbnRlbnQ9IiIgLz4KICAgIDx0aXRsZT5BZ2VudExpbms8L3RpdGxlPgogICAgPHNjcmlwdCB0eXBlPSJtb2R1bGUiIGNyb3Nzb3JpZ2luIHNyYz0iL2Fzc2V0cy9pbmRleC1VTWx1d0Vqby5qcyI-PC9zY3JpcHQ-CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGNyb3Nzb3JpZ2luIGhyZWY9Ii9hc3NldHMvc3R5bGUtQjk4SmduOHouY3NzIj4KICA8L2hlYWQ-CiAgPGJvZHk-CiAgICA8ZGl2IGlkPSJyb290Ij48L2Rpdj4KICA8L2JvZHk-CjwvaHRtbD4K"]
54248
+ ["assets/about-B_9cffTh.js", "aW1wb3J0e24gYXMgZSxvIGFzIHQscyBhcyBufWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7aW1wb3J0e24gYXMgcn1mcm9tIi4vc3VyZmFjZS1EdkcwV2t6LS5qcyI7aW1wb3J0e1QgYXMgaSxjIGFzIGEsciBhcyBvLHN9ZnJvbSIuL2luZGV4LTFCTmh5dHMwLmpzIjt2YXIgYz1uKCksbD17dGl0bGU6YEFib3V0YCxpbnRybzpgUHJpdmF0ZSwgcHJvdmFibGUgZXhjaGFuZ2UgYmV0d2VlbiBBSSBhZ2VudHMuYCx2ZXJzaW9uOmBWZXJzaW9uYCx2ZXJzaW9uVW5rbm93bjpgVGhlIHZlcnNpb24gaXMgbm90IGF2YWlsYWJsZSByaWdodCBub3cuYCxob29kVmVyc2lvbjpgVmVyc2lvbmAsbGljZW5jZVRpdGxlOmBMaWNlbmNlYCxsaWNlbmNlQm9keTpgQWdlbnRMaW5rIGlzIG9wZW4gc291cmNlIHVuZGVyIHRoZSBNSVQgbGljZW5jZS4gWW91IG1heSB1c2UsIGNvcHkgYW5kIGNoYW5nZSBpdCBmcmVlbHkuYCxsaW5rc1RpdGxlOmBEb2NzIGFuZCBzdXBwb3J0YCxsaW5rc0ludHJvOmBHdWlkZXMsIGFuc3dlcnMgYW5kIGEgcGxhY2UgdG8gcmVwb3J0IGEgcHJvYmxlbS5gLG1hZGVCeTpgTWFkZSBieSA0dGhUZWNoLmB9LHU9W3tsYWJlbDpgUmVhZCB0aGUgZ3VpZGVzYCxocmVmOmBodHRwczovL3dpa2kuNHRodGVjaC5pby9wcm9kdWN0cy9hZ2VudGxpbmtgfSx7bGFiZWw6YFJlcG9ydCBhIHByb2JsZW0gb3IgYXNrIGZvciBoZWxwYCxocmVmOmBodHRwczovL2dpdGh1Yi5jb20vNHRodGVjaC9hZ2VudGxpbmsvaXNzdWVzYH0se2xhYmVsOmBSZWFkIHRoZSBsaWNlbmNlYCxocmVmOmBodHRwczovL2dpdGh1Yi5jb20vNHRodGVjaC9hZ2VudGxpbmsvYmxvYi9tYWluL0xJQ0VOU0VgfV0sZD10KCk7ZnVuY3Rpb24gZih7cmVhZDp0PWF9KXtsZXRbbixmXT0oMCxjLnVzZVN0YXRlKSh7bG9hZGluZzohMH0pOygwLGMudXNlRWZmZWN0KSgoKT0-e2xldCBlPSEwO3JldHVybiB0KCkudGhlbih0PT57bGV0IG49cyh0KT8udmVyc2lvbjtlJiZmKG49PT12b2lkIDA_e2xvYWRpbmc6ITF9Ontsb2FkaW5nOiExLHY6bn0pfSwoKT0-e2UmJmYoe2xvYWRpbmc6ITF9KX0pLCgpPT57ZT0hMX19LFt0XSk7bGV0IHA9bi5sb2FkaW5nP3ZvaWQgMDpuLnY7cmV0dXJuKDAsZC5qc3hzKShgbWFpbmAse2NsYXNzTmFtZTpgYWItcGFnZWAsY2hpbGRyZW46WygwLGQuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtaDFgLGNoaWxkcmVuOmwudGl0bGV9KSwoMCxkLmpzeHMpKHIse2FzOmBzZWN0aW9uYCxsZXZlbDoxLGNsYXNzTmFtZTpgYWItc2VjdGlvbmAsImFyaWEtbGFiZWxsZWRieSI6YGFiLWFib3V0YCxjaGlsZHJlbjpbKDAsZC5qc3gpKGBoMmAse2lkOmBhYi1hYm91dGAsY2xhc3NOYW1lOmBhbC10ZXh0LWgzYCxjaGlsZHJlbjpgQWdlbnRMaW5rYH0pLCgwLGQuanN4KShlLHtlbmRvcnNlZDohMCxzaXplOjMyfSksKDAsZC5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmwuaW50cm99KSwoMCxkLmpzeCkoaSx7bG9hZGluZzpuLmxvYWRpbmcsbGluZXM6MSxjaGlsZHJlbjooMCxkLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZGAsY2hpbGRyZW46cD09PXZvaWQgMD9sLnZlcnNpb25Vbmtub3duOmAke2wudmVyc2lvbn0gJHtwfWB9KX0pLCgwLGQuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpsLm1hZGVCeX0pXX0pLCgwLGQuanN4cykocix7YXM6YHNlY3Rpb25gLGxldmVsOjEsY2xhc3NOYW1lOmBhYi1zZWN0aW9uYCwiYXJpYS1sYWJlbGxlZGJ5IjpgYWItbGljZW5jZWAsY2hpbGRyZW46WygwLGQuanN4KShgaDJgLHtpZDpgYWItbGljZW5jZWAsY2xhc3NOYW1lOmBhbC10ZXh0LWgzYCxjaGlsZHJlbjpsLmxpY2VuY2VUaXRsZX0pLCgwLGQuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjpsLmxpY2VuY2VCb2R5fSldfSksKDAsZC5qc3hzKShyLHthczpgc2VjdGlvbmAsbGV2ZWw6MSxjbGFzc05hbWU6YGFiLXNlY3Rpb25gLCJhcmlhLWxhYmVsbGVkYnkiOmBhYi1saW5rc2AsY2hpbGRyZW46WygwLGQuanN4KShgaDJgLHtpZDpgYWItbGlua3NgLGNsYXNzTmFtZTpgYWwtdGV4dC1oM2AsY2hpbGRyZW46bC5saW5rc1RpdGxlfSksKDAsZC5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHkgYWwtbXV0ZWRgLGNoaWxkcmVuOmwubGlua3NJbnRyb30pLCgwLGQuanN4KShgdWxgLHtjbGFzc05hbWU6YGFiLWxpbmtzYCxjaGlsZHJlbjp1Lm1hcChlPT4oMCxkLmpzeCkoYGxpYCx7Y2hpbGRyZW46KDAsZC5qc3gpKGBhYCx7aHJlZjplLmhyZWYsdGFyZ2V0OmBfYmxhbmtgLHJlbDpgbm9vcGVuZXIgbm9yZWZlcnJlcmAsY2hpbGRyZW46ZS5sYWJlbH0pfSxlLmhyZWYpKX0pXX0pLCgwLGQuanN4KShvLHtmaWVsZHM6cD09PXZvaWQgMD9bXTpbe2tpbmQ6YHRleHRgLGxhYmVsOmwuaG9vZFZlcnNpb24sdmFsdWU6cH1dfSldfSl9ZXhwb3J0e2YgYXMgQWJvdXRQYWdlfTs"],
54249
+ ["assets/activity-CLLgl_ag.js", "aW1wb3J0e28gYXMgZSxzIGFzIHR9ZnJvbSIuL2JyYW5kLUJ6LTJNOWVqLmpzIjtpbXBvcnR7bix0IGFzIHJ9ZnJvbSIuL2Zvcm1zLUJ2S3ZOSE1aLmpzIjtpbXBvcnR7dCBhcyBpfWZyb20iLi9wcm9vZi1uajBqeS0yQS5qcyI7aW1wb3J0e0IgYXMgYSxJIGFzIG8sTCBhcyBzLE0gYXMgYyxPIGFzIGwsVCBhcyB1LGogYXMgZCxyIGFzIGYsdiBhcyBwLHogYXMgbX1mcm9tIi4vaW5kZXgtMUJOaHl0czAuanMiO2ltcG9ydHt0IGFzIGh9ZnJvbSIuL3N0cmluZ3MtQlNZR3ppUzkuanMiO3ZhciBnPXQoKSxfPWUoKSx2PWAvYXBpL3VpL2FjdGl2aXR5YCx5PTIwLGI9MmU0LHg9MixTPW5ldyBTZXQoW2BhcHByb3ZlZGAsYGFwcHJvdmVkX2J5X3J1bGVzYCxgZGVuaWVkYCxgY2FuY2VsbGVkYF0pLEM9bmV3IFNldChbYHN1Ym1pdHRlZGAsYG5lZWRzX2NyZWRpdHNgLGBmYWlsZWRgLGByZWNvcmRlZGAsYHJlY2VpdmVkYF0pLHc9NjQsVD1lPT50eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSk7ZnVuY3Rpb24gRShlKXtpZighVChlKSlyZXR1cm47bGV0e2tpbmQ6dCxhdDpufT1lO2lmKCEodHlwZW9mIG4hPWBudW1iZXJgfHwhTnVtYmVyLmlzU2FmZUludGVnZXIobil8fG48MCkpc3dpdGNoKHQpe2Nhc2VgYXBwcm92YWxfZGVjaWRlZGA6cmV0dXJuIHR5cGVvZiBlLmRlY2lzaW9uPT1gc3RyaW5nYCYmUy5oYXMoZS5kZWNpc2lvbik_e2tpbmQ6dCxhdDpuLGRlY2lzaW9uOmUuZGVjaXNpb259OnZvaWQgMDtjYXNlYHByb29mYDp7bGV0e2RpcmVjdGlvbjpyLHN0YXRlOml9PWU7cmV0dXJuIHIhPT1gc2VudGAmJnIhPT1gcmVjZWl2ZWRgfHx0eXBlb2YgaSE9YHN0cmluZ2B8fCFDLmhhcyhpKT92b2lkIDA6e2tpbmQ6dCxhdDpuLGRpcmVjdGlvbjpyLHN0YXRlOml9fWNhc2Vgc2VuZGVyX2Jsb2NrZWRgOntsZXQgcj1lLnNlbmRlckNvZGU7cmV0dXJuIHR5cGVvZiByPT1gc3RyaW5nYCYmci5sZW5ndGg-MCYmci5sZW5ndGg8PXc_e2tpbmQ6dCxhdDpuLHNlbmRlckNvZGU6cn06dm9pZCAwfWNhc2VgY29udGFjdF9ibG9ja2VkYDpjYXNlYHJ1bGVzX2NoYW5nZWRgOnJldHVybntraW5kOnQsYXQ6bn07ZGVmYXVsdDpyZXR1cm59fWZ1bmN0aW9uIEQoZSl7aWYoIVQoZSl8fCFBcnJheS5pc0FycmF5KGUuaXRlbXMpKXJldHVybjtsZXQgdD1lLm5leHRDdXJzb3I7aWYodCE9PXZvaWQgMCYmKHR5cGVvZiB0IT1gc3RyaW5nYHx8dC5sZW5ndGg9PT0wKSlyZXR1cm47bGV0IG49W107Zm9yKGxldCB0IG9mIGUuaXRlbXMpe2xldCBlPUUodCk7ZSE9PXZvaWQgMCYmbi5wdXNoKGUpfXJldHVybiB0PT09dm9pZCAwP3tpdGVtczpufTp7aXRlbXM6bixuZXh0Q3Vyc29yOnR9fWZ1bmN0aW9uIE8oZSl7c3dpdGNoKGUua2luZCl7Y2FzZWBvZmZsaW5lYDpyZXR1cm5gb2ZmbGluZWA7Y2FzZWBzZXNzaW9uX2V4cGlyZWRgOmNhc2VgZm9yYmlkZGVuYDpyZXR1cm5gc2Vzc2lvbmA7Y2FzZWBlcnJvcmA6cmV0dXJuIGUuc3RhdHVzPT09NDA5P2Bub3Rfc2V0X3VwYDpgZXJyb3JgO2RlZmF1bHQ6cmV0dXJuYGVycm9yYH19dmFyIGs9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodm9pZCAwLHtob3VyOmAyLWRpZ2l0YCxtaW51dGU6YDItZGlnaXRgfSksQT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3dlZWtkYXk6YGxvbmdgLGRheTpgbnVtZXJpY2AsbW9udGg6YGxvbmdgfSksaj1be2lkOmBhbGxgLGxhYmVsOmguZmlsdGVyQWxsfSx7aWQ6YGFwcHJvdmFsc2AsbGFiZWw6aC5maWx0ZXJBcHByb3ZhbHN9LHtpZDpgcHJvb2ZzYCxsYWJlbDpoLmZpbHRlclByb29mc30se2lkOmBvdGhlcmAsbGFiZWw6aC5maWx0ZXJPdGhlcn1dO2Z1bmN0aW9uIE0oZSx0KXtzd2l0Y2godCl7Y2FzZWBhbGxgOnJldHVybiEwO2Nhc2VgYXBwcm92YWxzYDpyZXR1cm4gZS5raW5kPT09YGFwcHJvdmFsX2RlY2lkZWRgO2Nhc2VgcHJvb2ZzYDpyZXR1cm4gZS5raW5kPT09YHByb29mYDtjYXNlYG90aGVyYDpyZXR1cm4gZS5raW5kIT09YGFwcHJvdmFsX2RlY2lkZWRgJiZlLmtpbmQhPT1gcHJvb2ZgfX1mdW5jdGlvbiBOKGUpe2xldCB0PW5ldyBNYXA7cmV0dXJuIGUubWFwKGU9PntsZXQgbj1KU09OLnN0cmluZ2lmeShlKSxyPXQuZ2V0KG4pPz8wO3JldHVybiB0LnNldChuLHIrMSkse2tleTpgJHtufSMke1N0cmluZyhyKX1gLGl0ZW06ZX19KX1mdW5jdGlvbiBQKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlKXtsZXQgZT1uZXcgRGF0ZShuLml0ZW0uYXQqMWUzKSxyPWAke1N0cmluZyhlLmdldEZ1bGxZZWFyKCkpfS0ke1N0cmluZyhlLmdldE1vbnRoKCkpfS0ke1N0cmluZyhlLmdldERhdGUoKSl9YCxpPXRbdC5sZW5ndGgtMV07aSE9PXZvaWQgMCYmaS5kYXk9PT1yP2kucm93cy5wdXNoKG4pOnQucHVzaCh7ZGF5OnIsYXQ6bi5pdGVtLmF0LHJvd3M6W25dfSl9cmV0dXJuIHR9dmFyIEY9e3N1Ym1pdHRlZDpgc3VibWl0dGVkYCxuZWVkc19jcmVkaXRzOmBuZWVkcy1jcmVkaXRzYCxmYWlsZWQ6YGZhaWxlZGAscmVjb3JkZWQ6YHJlY29yZGVkYH07ZnVuY3Rpb24gSShlKXtsZXQgdD0oMCxfLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLW11dGVkYCxjaGlsZHJlbjpoLm5vbmV9KTtzd2l0Y2goZS5raW5kKXtjYXNlYGFwcHJvdmFsX2RlY2lkZWRgOnN3aXRjaChlLmRlY2lzaW9uKXtjYXNlYGFwcHJvdmVkYDpyZXR1cm57d2hhdDpoLmFwcHJvdmVkLGNvbnRhY3Q6dCxzdGF0dXM6KDAsXy5qc3gpKHMse3N0YXR1czpgYXBwcm92ZWRgfSl9O2Nhc2VgYXBwcm92ZWRfYnlfcnVsZXNgOnJldHVybnt3aGF0OmguYXBwcm92ZWRCeVJ1bGVzLGNvbnRhY3Q6dCxzdGF0dXM6KDAsXy5qc3gpKHMse3N0YXR1czpgYXBwcm92ZWRgfSl9O2Nhc2VgZGVuaWVkYDpyZXR1cm57d2hhdDpoLmRlbmllZCxjb250YWN0OnQsc3RhdHVzOigwLF8uanN4KShzLHtzdGF0dXM6YGRlbmllZGB9KX07Y2FzZWBjYW5jZWxsZWRgOnJldHVybnt3aGF0OmguY2FuY2VsbGVkLGNvbnRhY3Q6dCxzdGF0dXM6KDAsXy5qc3gpKHMse3N0YXR1czpgZGVuaWVkYCxjaGlsZHJlbjpoLmNhbmNlbGxlZENoaXB9KX19YnJlYWs7Y2FzZWBwcm9vZmA6cmV0dXJuIGUuc3RhdGU9PT1gcmVjZWl2ZWRgP3t3aGF0OmgucHJvb2ZSZWNlaXZlZCxjb250YWN0OnQsc3RhdHVzOigwLF8uanN4KShzLHtzdGF0dXM6YHJlY2VpdmVkYH0pfTp7d2hhdDplLmRpcmVjdGlvbj09PWByZWNlaXZlZGA_aC5wcm9vZlJlY2VpdmVkOmgucHJvb2ZTZW50LGNvbnRhY3Q6dCxzdGF0dXM6KDAsXy5qc3gpKGkse3N0YXRlOkZbZS5zdGF0ZV19KX07Y2FzZWBzZW5kZXJfYmxvY2tlZGA6cmV0dXJue3doYXQ6aC5zZW5kZXJCbG9ja2VkLGNvbnRhY3Q6KDAsXy5qc3gpKG8se3ByZWZpeDpoLnNlbmRlclByZWZpeCx2YWx1ZTplLnNlbmRlckNvZGV9KSxzdGF0dXM6dH07Y2FzZWBjb250YWN0X2Jsb2NrZWRgOnJldHVybnt3aGF0OmguY29udGFjdEJsb2NrZWQsY29udGFjdDp0LHN0YXR1czp0fTtjYXNlYHJ1bGVzX2NoYW5nZWRgOnJldHVybnt3aGF0OmgucnVsZXNDaGFuZ2VkLGNvbnRhY3Q6dCxzdGF0dXM6dH19cmV0dXJue3doYXQ6YGAsY29udGFjdDp0LHN0YXR1czp0fX1mdW5jdGlvbiBMKHtpdGVtOmUsaXNOZXc6dH0pe2xldCBuPW5ldyBEYXRlKGUuYXQqMWUzKSx7d2hhdDpyLGNvbnRhY3Q6aSxzdGF0dXM6YX09SShlKSxvPWQoITAse2lzTmV3OnR9KTtyZXR1cm4oMCxfLmpzeHMpKGB0cmAse3JlZjpvLnJlZixjaGlsZHJlbjpbKDAsXy5qc3hzKShgdGRgLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LXRpbWUgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjpbby5oaWdobGlnaHQsKDAsXy5qc3gpKGB0aW1lYCx7ZGF0ZVRpbWU6bi50b0lTT1N0cmluZygpLGNoaWxkcmVuOmsuZm9ybWF0KG4pfSldfSksKDAsXy5qc3gpKGB0ZGAse2NoaWxkcmVuOnJ9KSwoMCxfLmpzeCkoYHRkYCx7Y2hpbGRyZW46aX0pLCgwLF8uanN4KShgdGRgLHtjaGlsZHJlbjphfSldfSl9ZnVuY3Rpb24gUih7cHJvYmxlbTplLG9uUmV0cnk6dH0pe2xldCBuPSgwLF8uanN4KShyLHtzaXplOmBzbWAsb25DbGljazp0LGNoaWxkcmVuOmgudHJ5QWdhaW59KTtzd2l0Y2goZSl7Y2FzZWBub3Rfc2V0X3VwYDpyZXR1cm4oMCxfLmpzeCkoYSx7aWNvbjpgc2V0dGluZ3NgLHRpdGxlOmgubm90U2V0VXBUaXRsZSxwcm9tcHQ6aC5ub3RTZXRVcFByb21wdH0pO2Nhc2Vgc2Vzc2lvbmA6cmV0dXJuKDAsXy5qc3gpKG0se3RvbmU6YGluZm9gLHRpdGxlOmguc2Vzc2lvblRpdGxlLGNoaWxkcmVuOmguc2Vzc2lvbkJvZHl9KTtjYXNlYG9mZmxpbmVgOnJldHVybigwLF8uanN4KShtLHt0b25lOmBvZmZsaW5lYCx0aXRsZTpoLm9mZmxpbmVUaXRsZSxhY3Rpb246bixjaGlsZHJlbjpoLm9mZmxpbmVCb2R5fSk7Y2FzZWBlcnJvcmA6cmV0dXJuKDAsXy5qc3gpKG0se3RvbmU6YHdhcm5pbmdgLHRpdGxlOmguZXJyb3JUaXRsZSxhY3Rpb246bixjaGlsZHJlbjpoLmVycm9yQm9keX0pfX1mdW5jdGlvbiB6KHthcGk6ZX0pe2xldCB0PSgwLGcudXNlUmVmKShlPz9wKCkpLFtpLG9dPSgwLGcudXNlU3RhdGUpKHtzdGF0ZTpgbG9hZGluZ2B9KSxbcyxkXT0oMCxnLnVzZVN0YXRlKShgYWxsYCksbT0oMCxnLnVzZVJlZikoITApLFM9YygpLEM9KDAsZy51c2VDYWxsYmFjaykoYXN5bmMgZT0-e2xldCBuPWA_bGltaXQ9JHtTdHJpbmcoeSl9JHtlPT09dm9pZCAwP2BgOmAmY3Vyc29yPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGUpfWB9YCxyPWF3YWl0IHQuY3VycmVudC5nZXQoYCR7dn0ke259YCk7cmV0dXJuIHIua2luZD09PWBva2A_RChyLmRhdGEpPz9gZXJyb3JgOk8ocil9LFtdKSx3PSgwLGcudXNlQ2FsbGJhY2spKGFzeW5jKCk9PntvKHtzdGF0ZTpgbG9hZGluZ2B9KTtsZXQgZT1hd2FpdCBDKCk7bS5jdXJyZW50JiZvKHR5cGVvZiBlPT1gc3RyaW5nYD97c3RhdGU6YGZhaWxlZGAscHJvYmxlbTplfTp7c3RhdGU6YHJlYWR5YCxpdGVtczplLml0ZW1zLC4uLlYoZSksbW9yZTpgaWRsZWAsYXNPZjpEYXRlLm5vdygpLHN0YWxlOiExLGVudGVyaW5nOltdfSl9LFtDXSksVD0oMCxnLnVzZUNhbGxiYWNrKShhc3luYyBlPT57aWYoZS5uZXh0Q3Vyc29yPT09dm9pZCAwKXJldHVybjtvKHsuLi5lLG1vcmU6YGxvYWRpbmdgfSk7bGV0IHQ9YXdhaXQgQyhlLm5leHRDdXJzb3IpO20uY3VycmVudCYmbyh0eXBlb2YgdD09YHN0cmluZ2A_ey4uLmUsbW9yZTp0fTp7c3RhdGU6YHJlYWR5YCxhc09mOmUuYXNPZixzdGFsZTplLnN0YWxlLGl0ZW1zOlsuLi5lLml0ZW1zLC4uLnQuaXRlbXNdLC4uLlYodCksbW9yZTpgaWRsZWAsZW50ZXJpbmc6W119KX0sW0NdKSxFPSgwLGcudXNlQ2FsbGJhY2spKGFzeW5jKCk9PntsZXQgZT1hd2FpdCBDKCk7bS5jdXJyZW50JiZvKHQ9PntpZih0LnN0YXRlIT09YHJlYWR5YClyZXR1cm4gdDtpZih0eXBlb2YgZT09YHN0cmluZ2ApcmV0dXJuey4uLnQsc3RhbGU6ITB9O2xldCBuPW5ldyBTZXQoTih0Lml0ZW1zKS5tYXAoZT0-ZS5rZXkpKSxyPU4oZS5pdGVtcykuZmlsdGVyKGU9PiFuLmhhcyhlLmtleSkpO3JldHVybiByLmxlbmd0aD09PTA_ey4uLnQsYXNPZjpEYXRlLm5vdygpLHN0YWxlOiExLGVudGVyaW5nOltdfTp7Li4udCxpdGVtczpbLi4uci5tYXAoZT0-ZS5pdGVtKSwuLi50Lml0ZW1zXSxhc09mOkRhdGUubm93KCksc3RhbGU6ITEsZW50ZXJpbmc6ci5zbGljZSgwLHgpLm1hcChlPT5lLmtleSl9fSl9LFtDXSk7KDAsZy51c2VFZmZlY3QpKCgpPT4obS5jdXJyZW50PSEwLHcoKSwoKT0-e20uY3VycmVudD0hMX0pLFt3XSk7bGV0IEE9aS5zdGF0ZT09PWByZWFkeWA7KDAsZy51c2VFZmZlY3QpKCgpPT57aWYoIUF8fFMpcmV0dXJuO2xldCBlPXNldEludGVydmFsKCgpPT52b2lkIEUoKSxiKTtyZXR1cm4oKT0-Y2xlYXJJbnRlcnZhbChlKX0sW0EsUyxFXSk7bGV0IE09aS5zdGF0ZT09PWBsb2FkaW5nYD9gY2hlY2tpbmdgOmkuc3RhdGU9PT1gcmVhZHlgP2kuc3RhbGU_YHJlY29ubmVjdGluZ2A6YGNvbm5lY3RlZGA6YG5vdC1ydW5uaW5nYDtyZXR1cm4oMCxfLmpzeHMpKF8uRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxfLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LWhlYWRgLGNoaWxkcmVuOlsoMCxfLmpzeCkoYGgxYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOmgudGl0bGV9KSwoMCxfLmpzeCkobCx7c3RhdGU6TX0pLGkuc3RhdGU9PT1gcmVhZHlgJiZpLnN0YWxlPygwLF8uanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LWFzb2YgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpbaC5hc09mLGAgYCwoMCxfLmpzeCkoYHRpbWVgLHtkYXRlVGltZTpuZXcgRGF0ZShpLmFzT2YpLnRvSVNPU3RyaW5nKCksY2hpbGRyZW46ay5mb3JtYXQoaS5hc09mKX0pXX0pOm51bGxdfSksaS5zdGF0ZT09PWBsb2FkaW5nYD8oMCxfLmpzeHMpKF8uRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxfLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZCBhbC1zci1vbmx5YCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOmgubG9hZGluZ30pLCgwLF8uanN4KShgZGl2YCx7ImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46KDAsXy5qc3gpKHUse2xvYWRpbmc6ITAsbGluZXM6NixsYWJlbDpoLmxvYWRpbmd9KX0pXX0pOmkuc3RhdGU9PT1gZmFpbGVkYD8oMCxfLmpzeCkoUix7cHJvYmxlbTppLnByb2JsZW0sb25SZXRyeTooKT0-dm9pZCB3KCl9KTppLml0ZW1zLmxlbmd0aD09PTAmJmkubmV4dEN1cnNvcj09PXZvaWQgMD8oMCxfLmpzeCkoYSx7aWNvbjpgYWN0aXZpdHlgLHRpdGxlOmguZW1wdHlUaXRsZSxwcm9tcHQ6aC5lbXB0eVByb21wdH0pOigwLF8uanN4cykoXy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLF8uanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1hY3Rpdml0eS1maWx0ZXJgLGNoaWxkcmVuOigwLF8uanN4KShuLHtsYWJlbDpoLmZpbHRlckxhYmVsLHZhbHVlOnMsb25DaGFuZ2U6ZT0-e2Qoai5maW5kKHQ9PnQuaWQ9PT1lKT8uaWQ_P2BhbGxgKSxvKGU9PmUuc3RhdGU9PT1gcmVhZHlgP3suLi5lLGVudGVyaW5nOltdfTplKX0sb3B0aW9uczpqLm1hcChlPT4oe3ZhbHVlOmUuaWQsbGFiZWw6ZS5sYWJlbH0pKX0pfSksKDAsXy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LXN0YWdlYCxjaGlsZHJlbjooMCxfLmpzeCkoQix7ZmlsdGVyOnMsaXRlbXM6aS5pdGVtcyxlbnRlcmluZzppLmVudGVyaW5nfSxzKX0pLGkubW9yZSE9PWBpZGxlYCYmaS5tb3JlIT09YGxvYWRpbmdgPygwLF8uanN4KShSLHtwcm9ibGVtOmkubW9yZSxvblJldHJ5OigpPT52b2lkIFQoaSl9KTpudWxsLGkubmV4dEN1cnNvciE9PXZvaWQgMCYmKGkubW9yZT09PWBpZGxlYHx8aS5tb3JlPT09YGxvYWRpbmdgKT8oMCxfLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtYWN0aXZpdHktbW9yZWAsY2hpbGRyZW46KDAsXy5qc3gpKHIse29uQ2xpY2s6KCk9PnZvaWQgVChpKSxkaXNhYmxlZDppLm1vcmU9PT1gbG9hZGluZ2AsImFyaWEtYnVzeSI6aS5tb3JlPT09YGxvYWRpbmdgLGNoaWxkcmVuOmkubW9yZT09PWBsb2FkaW5nYD9oLmxvYWRpbmdNb3JlOmguc2hvd01vcmV9KX0pOm51bGxdfSksKDAsXy5qc3gpKGYse2ZpZWxkczpbXX0pXX0pfWZ1bmN0aW9uIEIoe2ZpbHRlcjplLGl0ZW1zOnQsZW50ZXJpbmc6bn0pe2xldCByPU4odCkuZmlsdGVyKHQ9Pk0odC5pdGVtLGUpKSxpPW5ldyBTZXQobik7cmV0dXJuKDAsXy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LWxpc3RgLCJkYXRhLWZpbHRlciI6ZSxjaGlsZHJlbjpyLmxlbmd0aD09PTA_KDAsXy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHkgYWwtbXV0ZWQgYWwtYWN0aXZpdHktbm9uZWAsY2hpbGRyZW46aC5maWx0ZXJFbXB0eX0pOlAocikubWFwKGU9PigwLF8uanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LXNlY3Rpb25gLGNoaWxkcmVuOlsoMCxfLmpzeCkoYGgyYCx7Y2xhc3NOYW1lOmBhbC1hY3Rpdml0eS1kYXkgYWwtdGV4dC1sYWJlbGAsY2hpbGRyZW46QS5mb3JtYXQoZS5hdCoxZTMpfSksKDAsXy5qc3hzKShgdGFibGVgLHtjbGFzc05hbWU6YGFsLWFjdGl2aXR5LXRhYmxlYCxjaGlsZHJlbjpbKDAsXy5qc3gpKGBjYXB0aW9uYCx7Y2xhc3NOYW1lOmBhbC1zci1vbmx5YCxjaGlsZHJlbjpgJHtoLnRhYmxlTGFiZWx9LCAke0EuZm9ybWF0KGUuYXQqMWUzKX1gfSksKDAsXy5qc3gpKGB0aGVhZGAse2NsYXNzTmFtZTpgYWwtc3Itb25seWAsY2hpbGRyZW46KDAsXy5qc3hzKShgdHJgLHtjaGlsZHJlbjpbKDAsXy5qc3gpKGB0aGAse3Njb3BlOmBjb2xgLGNoaWxkcmVuOmguY29sVGltZX0pLCgwLF8uanN4KShgdGhgLHtzY29wZTpgY29sYCxjaGlsZHJlbjpoLmNvbFdoYXR9KSwoMCxfLmpzeCkoYHRoYCx7c2NvcGU6YGNvbGAsY2hpbGRyZW46aC5jb2xDb250YWN0fSksKDAsXy5qc3gpKGB0aGAse3Njb3BlOmBjb2xgLGNoaWxkcmVuOmguY29sU3RhdHVzfSldfSl9KSwoMCxfLmpzeCkoYHRib2R5YCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmUucm93cy5tYXAoZT0-KDAsXy5qc3gpKEwse2l0ZW06ZS5pdGVtLGlzTmV3OmkuaGFzKGUua2V5KX0sZS5rZXkpKX0pXX0pXX0sZS5kYXkpKX0pfWZ1bmN0aW9uIFYoZSl7cmV0dXJuIGUubmV4dEN1cnNvcj09PXZvaWQgMD97fTp7bmV4dEN1cnNvcjplLm5leHRDdXJzb3J9fWV4cG9ydHt6IGFzIEFjdGl2aXR5UGFnZX07"],
54250
+ ["assets/advanced-lygRulp_.js", "aW1wb3J0e28gYXMgZX1mcm9tIi4vYnJhbmQtQnotMk05ZWouanMiO2ltcG9ydHtiIGFzIHQsbCBhcyBufWZyb20iLi9pbmRleC0xQk5oeXRzMC5qcyI7dmFyIHI9ZSgpO2Z1bmN0aW9uIGkoKXtyZXR1cm4oMCxyLmpzeCkobix7dGl0bGU6dC5hZHZhbmNlZH0pfWV4cG9ydHtpIGFzIEFkdmFuY2VkUGFnZX07"],
54251
+ ["assets/appearance-DTC-VFs-.js", "aW1wb3J0e28gYXMgZSxzIGFzIHR9ZnJvbSIuL2JyYW5kLUJ6LTJNOWVqLmpzIjtpbXBvcnR7bixyfWZyb20iLi9mb3Jtcy1Cdkt2TkhNWi5qcyI7aW1wb3J0e3QgYXMgaX1mcm9tIi4vaG9vZC1DMThTZVlTaC5qcyI7aW1wb3J0e1MgYXMgYSx4IGFzIG99ZnJvbSIuL2luZGV4LTFCTmh5dHMwLmpzIjt2YXIgcz10KCksYz17dGl0bGU6YEFwcGVhcmFuY2VgLGludHJvOmBUaGVzZSBjaG9pY2VzIGFyZSBrZXB0IGluIHRoaXMgYnJvd3NlciBvbmx5LmAsdGhlbWU6YFRoZW1lYCxtb3Rpb246YFJlZHVjZSBtb3Rpb25gLHRyYW5zcGFyZW5jeTpgVHJhbnNwYXJlbmN5YCxzeXN0ZW06YFN5c3RlbWAsbGlnaHQ6YExpZ2h0YCxkYXJrOmBEYXJrYCxvbjpgT25gLG9mZjpgT2ZmYCxyZWR1Y2U6YFJlZHVjZWAsbW90aW9uSGludDpgT2ZmIHN0aWxsIGZvbGxvd3MgeW91ciBzeXN0ZW0gc2V0dGluZyBpZiBpdCBhc2tzIGZvciBsZXNzIG1vdGlvbi5gLGhvb2RMYWJlbDpgU2hvdyBVbmRlciB0aGUgaG9vZCBieSBkZWZhdWx0YCxob29kSGludDpgQWRkcyBhIHNtYWxsIHRlY2huaWNhbCBwYW5lbCB0byBlYWNoIHBhZ2UuIE5vdGhpbmcgaW4gaXQgY2hhbmdlcyBob3cgdGhlIGFwcCB3b3Jrcy5gfSxsPWUoKTtmdW5jdGlvbiB1KCl7bGV0IGU9bygpLHQ9KDAscy51c2VJZCkoKSx1PWU9PmAke3R9LSR7ZX1gO3JldHVybigwLGwuanN4cykoYG1haW5gLHtjaGlsZHJlbjpbKDAsbC5qc3gpKGBoMWAse2NsYXNzTmFtZTpgYWwtdGV4dC1oMWAsY2hpbGRyZW46Yy50aXRsZX0pLCgwLGwuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpjLmludHJvfSksKDAsbC5qc3gpKGBwYCx7aWQ6dShgdGhlbWVgKSxjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOmMudGhlbWV9KSwoMCxsLmpzeCkobix7bGFiZWw6Yy50aGVtZSxsYWJlbGxlZEJ5OnUoYHRoZW1lYCksdmFsdWU6ZS50aGVtZSxvcHRpb25zOlt7dmFsdWU6YHN5c3RlbWAsbGFiZWw6Yy5zeXN0ZW19LHt2YWx1ZTpgbGlnaHRgLGxhYmVsOmMubGlnaHR9LHt2YWx1ZTpgZGFya2AsbGFiZWw6Yy5kYXJrfV0sb25DaGFuZ2U6ZT0-YShgdGhlbWVgLGUpfSksKDAsbC5qc3gpKGBwYCx7aWQ6dShgbW90aW9uYCksY2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjpjLm1vdGlvbn0pLCgwLGwuanN4KShuLHtsYWJlbDpjLm1vdGlvbixsYWJlbGxlZEJ5OnUoYG1vdGlvbmApLHZhbHVlOmUubW90aW9uLG9wdGlvbnM6W3t2YWx1ZTpgc3lzdGVtYCxsYWJlbDpjLnN5c3RlbX0se3ZhbHVlOmBvbmAsbGFiZWw6Yy5vbn0se3ZhbHVlOmBvZmZgLGxhYmVsOmMub2ZmfV0sb25DaGFuZ2U6ZT0-YShgbW90aW9uYCxlKX0pLCgwLGwuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpjLm1vdGlvbkhpbnR9KSwoMCxsLmpzeCkoYHBgLHtpZDp1KGB0cmFuc3BhcmVuY3lgKSxjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOmMudHJhbnNwYXJlbmN5fSksKDAsbC5qc3gpKG4se2xhYmVsOmMudHJhbnNwYXJlbmN5LGxhYmVsbGVkQnk6dShgdHJhbnNwYXJlbmN5YCksdmFsdWU6ZS50cmFuc3BhcmVuY3ksb3B0aW9uczpbe3ZhbHVlOmBzeXN0ZW1gLGxhYmVsOmMuc3lzdGVtfSx7dmFsdWU6YHJlZHVjZWAsbGFiZWw6Yy5yZWR1Y2V9XSxvbkNoYW5nZTplPT5hKGB0cmFuc3BhcmVuY3lgLGUpfSksKDAsbC5qc3gpKHIse2xhYmVsOmMuaG9vZExhYmVsLGRlc2NyaXB0aW9uOmMuaG9vZEhpbnQsY2hlY2tlZDplLmhvb2Qsb25DaGFuZ2U6ZT0-YShgaG9vZGAsZSl9KSwoMCxsLmpzeCkoaSx7fSldfSl9ZXhwb3J0e3UgYXMgQXBwZWFyYW5jZVBhZ2V9Ow"],
54252
+ ["assets/backup-BRth_byR.js", "aW1wb3J0e28gYXMgZX1mcm9tIi4vYnJhbmQtQnotMk05ZWouanMiO2ltcG9ydHtiIGFzIHQsbCBhcyBufWZyb20iLi9pbmRleC0xQk5oeXRzMC5qcyI7dmFyIHI9ZSgpO2Z1bmN0aW9uIGkoKXtyZXR1cm4oMCxyLmpzeCkobix7dGl0bGU6dC5iYWNrdXB9KX1leHBvcnR7aSBhcyBCYWNrdXBQYWdlfTs"],
54253
+ ["assets/brand-Bz-2M9ej.js", "dmFyIGU9T2JqZWN0LmRlZmluZVByb3BlcnR5LHQ9KGUsdCk9PigpPT4odHx8KGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLGU9bnVsbCksdC5leHBvcnRzKSxuPSh0LG4pPT57bGV0IHI9e307Zm9yKHZhciBpIGluIHQpZShyLGkse2dldDp0W2ldLGVudW1lcmFibGU6ITB9KTtyZXR1cm4gbnx8ZShyLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6YE1vZHVsZWB9KSxyfSxyPXQoKGU9Pnt2YXIgdD1TeW1ib2wuZm9yKGByZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudGApLG49U3ltYm9sLmZvcihgcmVhY3QucG9ydGFsYCkscj1TeW1ib2wuZm9yKGByZWFjdC5mcmFnbWVudGApLGk9U3ltYm9sLmZvcihgcmVhY3Quc3RyaWN0X21vZGVgKSxhPVN5bWJvbC5mb3IoYHJlYWN0LnByb2ZpbGVyYCksbz1TeW1ib2wuZm9yKGByZWFjdC5jb25zdW1lcmApLHM9U3ltYm9sLmZvcihgcmVhY3QuY29udGV4dGApLGM9U3ltYm9sLmZvcihgcmVhY3QuZm9yd2FyZF9yZWZgKSxsPVN5bWJvbC5mb3IoYHJlYWN0LnN1c3BlbnNlYCksdT1TeW1ib2wuZm9yKGByZWFjdC5tZW1vYCksZD1TeW1ib2wuZm9yKGByZWFjdC5sYXp5YCksZj1TeW1ib2wuZm9yKGByZWFjdC5hY3Rpdml0eWApLHA9U3ltYm9sLmZvcihgcmVhY3Qudmlld190cmFuc2l0aW9uYCksbT1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gaChlKXtyZXR1cm4gdHlwZW9mIGUhPWBvYmplY3RgfHwhZT9udWxsOihlPW0mJmVbbV18fGVbYEBAaXRlcmF0b3JgXSx0eXBlb2YgZT09YGZ1bmN0aW9uYD9lOm51bGwpfXZhciBnPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxfPU9iamVjdC5hc3NpZ24sdj17fTtmdW5jdGlvbiB5KGUsdCxuKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPXYsdGhpcy51cGRhdGVyPW58fGd9eS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSx5LnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiBlIT1gb2JqZWN0YCYmdHlwZW9mIGUhPWBmdW5jdGlvbmAmJmUhPW51bGwpdGhyb3cgRXJyb3IoYHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLmApO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLHQsYHNldFN0YXRlYCl9LHkucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLGBmb3JjZVVwZGF0ZWApfTtmdW5jdGlvbiBiKCl7fWIucHJvdG90eXBlPXkucHJvdG90eXBlO2Z1bmN0aW9uIHgoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9dix0aGlzLnVwZGF0ZXI9bnx8Z312YXIgUz14LnByb3RvdHlwZT1uZXcgYjtTLmNvbnN0cnVjdG9yPXgsXyhTLHkucHJvdG90eXBlKSxTLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBDPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdygpe312YXIgVD17SDpudWxsLEE6bnVsbCxUOm51bGwsUzpudWxsfSxFPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gRChlLG4scil7dmFyIGk9ci5yZWY7cmV0dXJueyQkdHlwZW9mOnQsdHlwZTplLGtleTpuLHJlZjppPT09dm9pZCAwP251bGw6aSxwcm9wczpyfX1mdW5jdGlvbiBPKGUsdCl7cmV0dXJuIEQoZS50eXBlLHQsZS5wcm9wcyl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gdHlwZW9mIGU9PWBvYmplY3RgJiYhIWUmJmUuJCR0eXBlb2Y9PT10fWZ1bmN0aW9uIEEoZSl7dmFyIHQ9eyI9IjpgPTBgLCI6IjpgPTJgfTtyZXR1cm5gJGArZS5yZXBsYWNlKC9bPTpdL2csZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KX12YXIgaj0vXC8rL2c7ZnVuY3Rpb24gTShlLHQpe3JldHVybiB0eXBlb2YgZT09YG9iamVjdGAmJmUmJmUua2V5IT1udWxsP0EoYGArZS5rZXkpOnQudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIE4oZSl7c3dpdGNoKGUuc3RhdHVzKXtjYXNlYGZ1bGZpbGxlZGA6cmV0dXJuIGUudmFsdWU7Y2FzZWByZWplY3RlZGA6dGhyb3cgZS5yZWFzb247ZGVmYXVsdDpzd2l0Y2godHlwZW9mIGUuc3RhdHVzPT1gc3RyaW5nYD9lLnRoZW4odyx3KTooZS5zdGF0dXM9YHBlbmRpbmdgLGUudGhlbihmdW5jdGlvbih0KXtlLnN0YXR1cz09PWBwZW5kaW5nYCYmKGUuc3RhdHVzPWBmdWxmaWxsZWRgLGUudmFsdWU9dCl9LGZ1bmN0aW9uKHQpe2Uuc3RhdHVzPT09YHBlbmRpbmdgJiYoZS5zdGF0dXM9YHJlamVjdGVkYCxlLnJlYXNvbj10KX0pKSxlLnN0YXR1cyl7Y2FzZWBmdWxmaWxsZWRgOnJldHVybiBlLnZhbHVlO2Nhc2VgcmVqZWN0ZWRgOnRocm93IGUucmVhc29ufX10aHJvdyBlfWZ1bmN0aW9uIFAoZSxyLGksYSxvKXt2YXIgcz10eXBlb2YgZTsocz09PWB1bmRlZmluZWRgfHxzPT09YGJvb2xlYW5gKSYmKGU9bnVsbCk7dmFyIGM9ITE7aWYoZT09PW51bGwpYz0hMDtlbHNlIHN3aXRjaChzKXtjYXNlYGJpZ2ludGA6Y2FzZWBzdHJpbmdgOmNhc2VgbnVtYmVyYDpjPSEwO2JyZWFrO2Nhc2Vgb2JqZWN0YDpzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSB0OmNhc2UgbjpjPSEwO2JyZWFrO2Nhc2UgZDpyZXR1cm4gYz1lLl9pbml0LFAoYyhlLl9wYXlsb2FkKSxyLGksYSxvKX19aWYoYylyZXR1cm4gbz1vKGUpLGM9YT09PWBgP2AuYCtNKGUsMCk6YSxDKG8pPyhpPWBgLGMhPW51bGwmJihpPWMucmVwbGFjZShqLGAkJi9gKStgL2ApLFAobyxyLGksYGAsZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSk6byE9bnVsbCYmKGsobykmJihvPU8obyxpKyhvLmtleT09bnVsbHx8ZSYmZS5rZXk9PT1vLmtleT9gYDooYGArby5rZXkpLnJlcGxhY2UoaixgJCYvYCkrYC9gKStjKSksci5wdXNoKG8pKSwxO2M9MDt2YXIgbD1hPT09YGA_YC5gOmErYDpgO2lmKEMoZSkpZm9yKHZhciB1PTA7dTxlLmxlbmd0aDt1KyspYT1lW3VdLHM9bCtNKGEsdSksYys9UChhLHIsaSxzLG8pO2Vsc2UgaWYodT1oKGUpLHR5cGVvZiB1PT1gZnVuY3Rpb25gKWZvcihlPXUuY2FsbChlKSx1PTA7IShhPWUubmV4dCgpKS5kb25lOylhPWEudmFsdWUscz1sK00oYSx1KyspLGMrPVAoYSxyLGkscyxvKTtlbHNlIGlmKHM9PT1gb2JqZWN0YCl7aWYodHlwZW9mIGUudGhlbj09YGZ1bmN0aW9uYClyZXR1cm4gUChOKGUpLHIsaSxhLG8pO3Rocm93IHI9U3RyaW5nKGUpLEVycm9yKGBPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6IGArKHI9PT1gW29iamVjdCBPYmplY3RdYD9gb2JqZWN0IHdpdGgga2V5cyB7YCtPYmplY3Qua2V5cyhlKS5qb2luKGAsIGApK2B9YDpyKStgKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLmApfXJldHVybiBjfWZ1bmN0aW9uIEYoZSx0LG4pe2lmKGU9PW51bGwpcmV0dXJuIGU7dmFyIHI9W10saT0wO3JldHVybiBQKGUscixgYCxgYCxmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKG4sZSxpKyspfSkscn1mdW5jdGlvbiBJKGUpe2lmKGUuX3N0YXR1cz09PS0xKXt2YXIgdD1lLl9yZXN1bHQsbj10KCk7bi50aGVuKGZ1bmN0aW9uKHQpeyhlLl9zdGF0dXM9PT0wfHxlLl9zdGF0dXM9PT0tMSkmJihlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCxuLnN0YXR1cz09PXZvaWQgMCYmKG4uc3RhdHVzPWBmdWxmaWxsZWRgLG4udmFsdWU9dCkpfSxmdW5jdGlvbih0KXsoZS5fc3RhdHVzPT09MHx8ZS5fc3RhdHVzPT09LTEpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PXQsbi5zdGF0dXM9PT12b2lkIDAmJihuLnN0YXR1cz1gcmVqZWN0ZWRgLG4ucmVhc29uPXQpKX0pLGUuX3N0YXR1cz09PS0xJiYoZS5fc3RhdHVzPTAsZS5fcmVzdWx0PW4pfWlmKGUuX3N0YXR1cz09PTEpcmV0dXJuIGUuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IGUuX3Jlc3VsdH12YXIgTD10eXBlb2YgcmVwb3J0RXJyb3I9PWBmdW5jdGlvbmA_cmVwb3J0RXJyb3I6ZnVuY3Rpb24oZSl7aWYodHlwZW9mIHdpbmRvdz09YG9iamVjdGAmJnR5cGVvZiB3aW5kb3cuRXJyb3JFdmVudD09YGZ1bmN0aW9uYCl7dmFyIHQ9bmV3IHdpbmRvdy5FcnJvckV2ZW50KGBlcnJvcmAse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxtZXNzYWdlOnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmdHlwZW9mIGUubWVzc2FnZT09YHN0cmluZ2A_U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PWBvYmplY3RgJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT1gZnVuY3Rpb25gKXtwcm9jZXNzLmVtaXQoYHVuY2F1Z2h0RXhjZXB0aW9uYCxlKTtyZXR1cm59Y29uc29sZS5lcnJvcihlKX07ZnVuY3Rpb24gUihlKXt2YXIgdD1ULlQsbj17fTtuLnR5cGVzPXQ9PT1udWxsP251bGw6dC50eXBlcyxULlQ9bjt0cnl7dmFyIHI9ZSgpLGk9VC5TO2khPT1udWxsJiZpKG4sciksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0eXBlb2Ygci50aGVuPT1gZnVuY3Rpb25gJiZyLnRoZW4odyxMKX1jYXRjaChlKXtMKGUpfWZpbmFsbHl7dCE9PW51bGwmJm4udHlwZXMhPT1udWxsJiYodC50eXBlcz1uLnR5cGVzKSxULlQ9dH19ZnVuY3Rpb24geihlKXt2YXIgdD1ULlQ7aWYodCE9PW51bGwpe3ZhciBuPXQudHlwZXM7bj09PW51bGw_dC50eXBlcz1bZV06bi5pbmRleE9mKGUpPT09LTEmJm4ucHVzaChlKX1lbHNlIFIoei5iaW5kKG51bGwsZSkpfXZhciBCPXttYXA6Rixmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtGKGUsZnVuY3Rpb24oKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sbil9LGNvdW50OmZ1bmN0aW9uKGUpe3ZhciB0PTA7cmV0dXJuIEYoZSxmdW5jdGlvbigpe3QrK30pLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIEYoZSxmdW5jdGlvbihlKXtyZXR1cm4gZX0pfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighayhlKSl0aHJvdyBFcnJvcihgUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuYCk7cmV0dXJuIGV9fTtlLkFjdGl2aXR5PWYsZS5DaGlsZHJlbj1CLGUuQ29tcG9uZW50PXksZS5GcmFnbWVudD1yLGUuUHJvZmlsZXI9YSxlLlB1cmVDb21wb25lbnQ9eCxlLlN0cmljdE1vZGU9aSxlLlN1c3BlbnNlPWwsZS5WaWV3VHJhbnNpdGlvbj1wLGUuX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPVQsZS5fX0NPTVBJTEVSX1JVTlRJTUU9e19fcHJvdG9fXzpudWxsLGM6ZnVuY3Rpb24oZSl7cmV0dXJuIFQuSC51c2VNZW1vQ2FjaGUoZSl9fSxlLmFkZFRyYW5zaXRpb25UeXBlPXosZS5jYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxlLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihlPT1udWxsKXRocm93IEVycm9yKGBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkIGArZStgLmApO3ZhciByPV8oe30sZS5wcm9wcyksaT1lLmtleTtpZih0IT1udWxsKWZvcihhIGluIHQua2V5IT09dm9pZCAwJiYoaT1gYCt0LmtleSksdCkhRS5jYWxsKHQsYSl8fGE9PT1ga2V5YHx8YT09PWBfX3NlbGZgfHxhPT09YF9fc291cmNlYHx8YT09PWByZWZgJiZ0LnJlZj09PXZvaWQgMHx8KHJbYV09dFthXSk7dmFyIGE9YXJndW1lbnRzLmxlbmd0aC0yO2lmKGE9PT0xKXIuY2hpbGRyZW49bjtlbHNlIGlmKDE8YSl7Zm9yKHZhciBvPUFycmF5KGEpLHM9MDtzPGE7cysrKW9bc109YXJndW1lbnRzW3MrMl07ci5jaGlsZHJlbj1vfXJldHVybiBEKGUudHlwZSxpLHIpfSxlLmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9eyQkdHlwZW9mOnMsX2N1cnJlbnRWYWx1ZTplLF9jdXJyZW50VmFsdWUyOmUsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsfSxlLlByb3ZpZGVyPWUsZS5Db25zdW1lcj17JCR0eXBlb2Y6byxfY29udGV4dDplfSxlfSxlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9e30sYT1udWxsO2lmKHQhPW51bGwpZm9yKHIgaW4gdC5rZXkhPT12b2lkIDAmJihhPWBgK3Qua2V5KSx0KUUuY2FsbCh0LHIpJiZyIT09YGtleWAmJnIhPT1gX19zZWxmYCYmciE9PWBfX3NvdXJjZWAmJihpW3JdPXRbcl0pO3ZhciBvPWFyZ3VtZW50cy5sZW5ndGgtMjtpZihvPT09MSlpLmNoaWxkcmVuPW47ZWxzZSBpZigxPG8pe2Zvcih2YXIgcz1BcnJheShvKSxjPTA7YzxvO2MrKylzW2NdPWFyZ3VtZW50c1tjKzJdO2kuY2hpbGRyZW49c31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IociBpbiBvPWUuZGVmYXVsdFByb3BzLG8paVtyXT09PXZvaWQgMCYmKGlbcl09b1tyXSk7cmV0dXJuIEQoZSxhLGkpfSxlLmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSxlLmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOmMscmVuZGVyOmV9fSxlLmlzVmFsaWRFbGVtZW50PWssZS5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpkLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6SX19LGUubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjp1LHR5cGU6ZSxjb21wYXJlOnQ9PT12b2lkIDA_bnVsbDp0fX0sZS5zdGFydFRyYW5zaXRpb249UixlLnVuc3RhYmxlX3VzZUNhY2hlUmVmcmVzaD1mdW5jdGlvbigpe3JldHVybiBULkgudXNlQ2FjaGVSZWZyZXNoKCl9LGUudXNlPWZ1bmN0aW9uKGUpe3JldHVybiBULkgudXNlKGUpfSxlLnVzZUFjdGlvblN0YXRlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVC5ILnVzZUFjdGlvblN0YXRlKGUsdCxuKX0sZS51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBULkgudXNlQ2FsbGJhY2soZSx0KX0sZS51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBULkgudXNlQ29udGV4dChlKX0sZS51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxlLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVC5ILnVzZURlZmVycmVkVmFsdWUoZSx0KX0sZS51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVC5ILnVzZUVmZmVjdChlLHQpfSxlLnVzZUVmZmVjdEV2ZW50PWZ1bmN0aW9uKGUpe3JldHVybiBULkgudXNlRWZmZWN0RXZlbnQoZSl9LGUudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gVC5ILnVzZUlkKCl9LGUudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIFQuSC51c2VJbXBlcmF0aXZlSGFuZGxlKGUsdCxuKX0sZS51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVC5ILnVzZUluc2VydGlvbkVmZmVjdChlLHQpfSxlLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBULkgudXNlTGF5b3V0RWZmZWN0KGUsdCl9LGUudXNlTWVtbz1mdW5jdGlvbihlLHQpe3JldHVybiBULkgudXNlTWVtbyhlLHQpfSxlLnVzZU9wdGltaXN0aWM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVC5ILnVzZU9wdGltaXN0aWMoZSx0KX0sZS51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVC5ILnVzZVJlZHVjZXIoZSx0LG4pfSxlLnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gVC5ILnVzZVJlZihlKX0sZS51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gVC5ILnVzZVN0YXRlKGUpfSxlLnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVC5ILnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sZS51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFQuSC51c2VUcmFuc2l0aW9uKCl9LGUudmVyc2lvbj1gMTkuMy4xYH0pKSxpPXQoKChlLHQpPT57dC5leHBvcnRzPXIoKX0pKSxhPXQoKGU9Pnt2YXIgdD1TeW1ib2wuZm9yKGByZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudGApLG49U3ltYm9sLmZvcihgcmVhY3QuZnJhZ21lbnRgKTtmdW5jdGlvbiByKGUsbixyKXt2YXIgaT1udWxsO2lmKHIhPT12b2lkIDAmJihpPWBgK3IpLG4ua2V5IT09dm9pZCAwJiYoaT1gYCtuLmtleSksYGtleWBpbiBuKWZvcih2YXIgYSBpbiByPXt9LG4pYSE9PWBrZXlgJiYoclthXT1uW2FdKTtlbHNlIHI9bjtyZXR1cm4gbj1yLnJlZix7JCR0eXBlb2Y6dCx0eXBlOmUsa2V5OmkscmVmOm49PT12b2lkIDA_bnVsbDpuLHByb3BzOnJ9fWUuRnJhZ21lbnQ9bixlLmpzeD1yLGUuanN4cz1yfSkpLG89dCgoKGUsdCk9Pnt0LmV4cG9ydHM9YSgpfSkpLHM9aSgpLGM9bygpLGw9e2NoZWNrOltbYHBhdGhgLHtkOmBNMjAgNiA5IDE3bC01LTVgfV1dLHg6W1tgcGF0aGAse2Q6YE0xOCA2IDYgMThgfV0sW2BwYXRoYCx7ZDpgbTYgNiAxMiAxMmB9XV0sY29weTpbW2ByZWN0YCx7d2lkdGg6YDE0YCxoZWlnaHQ6YDE0YCx4OmA4YCx5OmA4YCxyeDpgMmAscnk6YDJgfV0sW2BwYXRoYCx7ZDpgTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMmB9XV0sY2xvY2s6W1tgY2lyY2xlYCx7Y3g6YDEyYCxjeTpgMTJgLHI6YDEwYH1dLFtgcG9seWxpbmVgLHtwb2ludHM6YDEyIDYgMTIgMTIgMTYgMTRgfV1dLCJ0cmlhbmdsZS1hbGVydCI6W1tgcGF0aGAse2Q6YG0yMS43MyAxOC04LTE0YTIgMiAwIDAgMC0zLjQ4IDBsLTggMTRBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuNzMtM2B9XSxbYHBhdGhgLHtkOmBNMTIgOXY0YH1dLFtgcGF0aGAse2Q6YE0xMiAxN2guMDFgfV1dLGluZm86W1tgY2lyY2xlYCx7Y3g6YDEyYCxjeTpgMTJgLHI6YDEwYH1dLFtgcGF0aGAse2Q6YE0xMiAxNnYtNGB9XSxbYHBhdGhgLHtkOmBNMTIgOGguMDFgfV1dLGZpbGU6W1tgcGF0aGAse2Q6YE0xNSAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWN1pgfV0sW2BwYXRoYCx7ZDpgTTE0IDJ2NGEyIDIgMCAwIDAgMiAyaDRgfV1dLGZvbGRlcjpbW2BwYXRoYCx7ZDpgTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWmB9XV0sc2VhcmNoOltbYGNpcmNsZWAse2N4OmAxMWAsY3k6YDExYCxyOmA4YH1dLFtgcGF0aGAse2Q6YG0yMSAyMS00LjMtNC4zYH1dXSxzZXR0aW5nczpbW2BwYXRoYCx7ZDpgTTEyLjIyIDJoLS40NGEyIDIgMCAwIDAtMiAydi4xOGEyIDIgMCAwIDEtMSAxLjczbC0uNDMuMjVhMiAyIDAgMCAxLTIgMGwtLjE1LS4wOGEyIDIgMCAwIDAtMi43My43M2wtLjIyLjM4YTIgMiAwIDAgMCAuNzMgMi43M2wuMTUuMWEyIDIgMCAwIDEgMSAxLjcydi41MWEyIDIgMCAwIDEtMSAxLjc0bC0uMTUuMDlhMiAyIDAgMCAwLS43MyAyLjczbC4yMi4zOGEyIDIgMCAwIDAgMi43My43M2wuMTUtLjA4YTIgMiAwIDAgMSAyIDBsLjQzLjI1YTIgMiAwIDAgMSAxIDEuNzNWMjBhMiAyIDAgMCAwIDIgMmguNDRhMiAyIDAgMCAwIDItMnYtLjE4YTIgMiAwIDAgMSAxLTEuNzNsLjQzLS4yNWEyIDIgMCAwIDEgMiAwbC4xNS4wOGEyIDIgMCAwIDAgMi43My0uNzNsLjIyLS4zOWEyIDIgMCAwIDAtLjczLTIuNzNsLS4xNS0uMDhhMiAyIDAgMCAxLTEtMS43NHYtLjVhMiAyIDAgMCAxIDEtMS43NGwuMTUtLjA5YTIgMiAwIDAgMCAuNzMtMi43M2wtLjIyLS4zOGEyIDIgMCAwIDAtMi43My0uNzNsLS4xNS4wOGEyIDIgMCAwIDEtMiAwbC0uNDMtLjI1YTIgMiAwIDAgMS0xLTEuNzNWNGEyIDIgMCAwIDAtMi0yemB9XSxbYGNpcmNsZWAse2N4OmAxMmAsY3k6YDEyYCxyOmAzYH1dXSwiY2hldnJvbi1yaWdodCI6W1tgcGF0aGAse2Q6YG05IDE4IDYtNi02LTZgfV1dLCJjaGV2cm9uLWRvd24iOltbYHBhdGhgLHtkOmBtNiA5IDYgNiA2LTZgfV1dLHBhdXNlOltbYHJlY3RgLHt4OmAxNGAseTpgNGAsd2lkdGg6YDRgLGhlaWdodDpgMTZgLHJ4OmAxYH1dLFtgcmVjdGAse3g6YDZgLHk6YDRgLHdpZHRoOmA0YCxoZWlnaHQ6YDE2YCxyeDpgMWB9XV0scGxheTpbW2Bwb2x5Z29uYCx7cG9pbnRzOmA2IDMgMjAgMTIgNiAyMSA2IDNgfV1dLCJyZWZyZXNoLWN3IjpbW2BwYXRoYCx7ZDpgTTMgMTJhOSA5IDAgMCAxIDktOSA5Ljc1IDkuNzUgMCAwIDEgNi43NCAyLjc0TDIxIDhgfV0sW2BwYXRoYCx7ZDpgTTIxIDN2NWgtNWB9XSxbYHBhdGhgLHtkOmBNMjEgMTJhOSA5IDAgMCAxLTkgOSA5Ljc1IDkuNzUgMCAwIDEtNi43NC0yLjc0TDMgMTZgfV0sW2BwYXRoYCx7ZDpgTTggMTZIM3Y1YH1dXSxkb3dubG9hZDpbW2BwYXRoYCx7ZDpgTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTRgfV0sW2Bwb2x5bGluZWAse3BvaW50czpgNyAxMCAxMiAxNSAxNyAxMGB9XSxbYGxpbmVgLHt4MTpgMTJgLHgyOmAxMmAseTE6YDE1YCx5MjpgM2B9XV0scHJpbnRlcjpbW2BwYXRoYCx7ZDpgTTYgMThINGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1YTIgMiAwIDAgMS0yIDJoLTJgfV0sW2BwYXRoYCx7ZDpgTTYgOVYzYTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXY2YH1dLFtgcmVjdGAse3g6YDZgLHk6YDE0YCx3aWR0aDpgMTJgLGhlaWdodDpgOGAscng6YDFgfV1dLCJ1c2VyLXBsdXMiOltbYHBhdGhgLHtkOmBNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MmB9XSxbYGNpcmNsZWAse2N4OmA5YCxjeTpgN2AscjpgNGB9XSxbYGxpbmVgLHt4MTpgMTlgLHgyOmAxOWAseTE6YDhgLHkyOmAxNGB9XSxbYGxpbmVgLHt4MTpgMjJgLHgyOmAxNmAseTE6YDExYCx5MjpgMTFgfV1dLGJhbjpbW2BjaXJjbGVgLHtjeDpgMTJgLGN5OmAxMmAscjpgMTBgfV0sW2BwYXRoYCx7ZDpgbTQuOSA0LjkgMTQuMiAxNC4yYH1dXSxwbHVzOltbYHBhdGhgLHtkOmBNNSAxMmgxNGB9XSxbYHBhdGhgLHtkOmBNMTIgNXYxNGB9XV0sdGVybWluYWw6W1tgcG9seWxpbmVgLHtwb2ludHM6YDQgMTcgMTAgMTEgNCA1YH1dLFtgbGluZWAse3gxOmAxMmAseDI6YDIwYCx5MTpgMTlgLHkyOmAxOWB9XV0saW5ib3g6W1tgcG9seWxpbmVgLHtwb2ludHM6YDIyIDEyIDE2IDEyIDE0IDE1IDEwIDE1IDggMTIgMiAxMmB9XSxbYHBhdGhgLHtkOmBNNS40NSA1LjExIDIgMTJ2NmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTZsLTMuNDUtNi44OUEyIDIgMCAwIDAgMTYuNzYgNEg3LjI0YTIgMiAwIDAgMC0xLjc5IDEuMTF6YH1dXSxhY3Rpdml0eTpbW2BwYXRoYCx7ZDpgTTIyIDEyaC0yLjQ4YTIgMiAwIDAgMC0xLjkzIDEuNDZsLTIuMzUgOC4zNmEuMjUuMjUgMCAwIDEtLjQ4IDBMOS4yNCAyLjE4YS4yNS4yNSAwIDAgMC0uNDggMGwtMi4zNSA4LjM2QTIgMiAwIDAgMSA0LjQ5IDEySDJgfV1dLHVzZXJzOltbYHBhdGhgLHtkOmBNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MmB9XSxbYGNpcmNsZWAse2N4OmA5YCxjeTpgN2AscjpgNGB9XSxbYHBhdGhgLHtkOmBNMjIgMjF2LTJhNCA0IDAgMCAwLTMtMy44N2B9XSxbYHBhdGhgLHtkOmBNMTYgMy4xM2E0IDQgMCAwIDEgMCA3Ljc1YH1dXSwiaGFyZC1kcml2ZSI6W1tgbGluZWAse3gxOmAyMmAseDI6YDJgLHkxOmAxMmAseTI6YDEyYH1dLFtgcGF0aGAse2Q6YE01LjQ1IDUuMTEgMiAxMnY2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNmwtMy40NS02Ljg5QTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXpgfV0sW2BsaW5lYCx7eDE6YDZgLHgyOmA2LjAxYCx5MTpgMTZgLHkyOmAxNmB9XSxbYGxpbmVgLHt4MTpgMTBgLHgyOmAxMC4wMWAseTE6YDE2YCx5MjpgMTZgfV1dLCJzbGlkZXJzLWhvcml6b250YWwiOltbYGxpbmVgLHt4MTpgMjFgLHgyOmAxNGAseTE6YDRgLHkyOmA0YH1dLFtgbGluZWAse3gxOmAxMGAseDI6YDNgLHkxOmA0YCx5MjpgNGB9XSxbYGxpbmVgLHt4MTpgMjFgLHgyOmAxMmAseTE6YDEyYCx5MjpgMTJgfV0sW2BsaW5lYCx7eDE6YDhgLHgyOmAzYCx5MTpgMTJgLHkyOmAxMmB9XSxbYGxpbmVgLHt4MTpgMjFgLHgyOmAxNmAseTE6YDIwYCx5MjpgMjBgfV0sW2BsaW5lYCx7eDE6YDEyYCx4MjpgM2AseTE6YDIwYCx5MjpgMjBgfV0sW2BsaW5lYCx7eDE6YDE0YCx4MjpgMTRgLHkxOmAyYCx5MjpgNmB9XSxbYGxpbmVgLHt4MTpgOGAseDI6YDhgLHkxOmAxMGAseTI6YDE0YH1dLFtgbGluZWAse3gxOmAxNmAseDI6YDE2YCx5MTpgMThgLHkyOmAyMmB9XV0sIndpZmktb2ZmIjpbW2BwYXRoYCx7ZDpgTTEyIDIwaC4wMWB9XSxbYHBhdGhgLHtkOmBNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwYH1dLFtgcGF0aGAse2Q6YE01IDEyLjg1OWExMCAxMCAwIDAgMSA1LjE3LTIuNjlgfV0sW2BwYXRoYCx7ZDpgTTE5IDEyLjg1OWExMCAxMCAwIDAgMC0yLjAwNy0xLjUyM2B9XSxbYHBhdGhgLHtkOmBNMiA4LjgyYTE1IDE1IDAgMCAxIDQuMTc3LTIuNjQzYH1dLFtgcGF0aGAse2Q6YE0yMiA4LjgyYTE1IDE1IDAgMCAwLTExLjI4OC0zLjc2NGB9XSxbYHBhdGhgLHtkOmBtMiAyIDIwIDIwYH1dXSxlbGxpcHNpczpbW2BjaXJjbGVgLHtjeDpgMTJgLGN5OmAxMmAscjpgMWB9XSxbYGNpcmNsZWAse2N4OmAxOWAsY3k6YDEyYCxyOmAxYH1dLFtgY2lyY2xlYCx7Y3g6YDVgLGN5OmAxMmAscjpgMWB9XV0sY2lyY2xlOltbYGNpcmNsZWAse2N4OmAxMmAsY3k6YDEyYCxyOmAxMGB9XV0sImNpcmNsZS1hbGVydCI6W1tgY2lyY2xlYCx7Y3g6YDEyYCxjeTpgMTJgLHI6YDEwYH1dLFtgbGluZWAse3gxOmAxMmAseDI6YDEyYCx5MTpgOGAseTI6YDEyYH1dLFtgbGluZWAse3gxOmAxMmAseDI6YDEyLjAxYCx5MTpgMTZgLHkyOmAxNmB9XV0sImV4dGVybmFsLWxpbmsiOltbYHBhdGhgLHtkOmBNMTUgM2g2djZgfV0sW2BwYXRoYCx7ZDpgTTEwIDE0IDIxIDNgfV0sW2BwYXRoYCx7ZDpgTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDZgfV1dLCJhcnJvdy1yaWdodCI6W1tgcGF0aGAse2Q6YE01IDEyaDE0YH1dLFtgcGF0aGAse2Q6YG0xMiA1IDcgNy03IDdgfV1dLCJrZXktcm91bmQiOltbYHBhdGhgLHtkOmBNMi41ODYgMTcuNDE0QTIgMiAwIDAgMCAyIDE4LjgyOFYyMWExIDEgMCAwIDAgMSAxaDNhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaDFhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaC4xNzJhMiAyIDAgMCAwIDEuNDE0LS41ODZsLjgxNC0uODE0YTYuNSA2LjUgMCAxIDAtNC00emB9XSxbYGNpcmNsZWAse2N4OmAxNi41YCxjeTpgNy41YCxyOmAuNWAsZmlsbDpgY3VycmVudENvbG9yYH1dXSwibGlmZS1idW95IjpbW2BjaXJjbGVgLHtjeDpgMTJgLGN5OmAxMmAscjpgMTBgfV0sW2BwYXRoYCx7ZDpgbTQuOTMgNC45MyA0LjI0IDQuMjRgfV0sW2BwYXRoYCx7ZDpgbTE0LjgzIDkuMTcgNC4yNC00LjI0YH1dLFtgcGF0aGAse2Q6YG0xNC44MyAxNC44MyA0LjI0IDQuMjRgfV0sW2BwYXRoYCx7ZDpgbTkuMTcgMTQuODMtNC4yNCA0LjI0YH1dLFtgY2lyY2xlYCx7Y3g6YDEyYCxjeTpgMTJgLHI6YDRgfV1dLG1pbnVzOltbYHBhdGhgLHtkOmBNNSAxMmgxNGB9XV0sImV5ZS1vZmYiOltbYHBhdGhgLHtkOmBNMTAuNzMzIDUuMDc2YTEwLjc0NCAxMC43NDQgMCAwIDEgMTEuMjA1IDYuNTc1IDEgMSAwIDAgMSAwIC42OTYgMTAuNzQ3IDEwLjc0NyAwIDAgMS0xLjQ0NCAyLjQ5YH1dLFtgcGF0aGAse2Q6YE0xNC4wODQgMTQuMTU4YTMgMyAwIDAgMS00LjI0Mi00LjI0MmB9XSxbYHBhdGhgLHtkOmBNMTcuNDc5IDE3LjQ5OWExMC43NSAxMC43NSAwIDAgMS0xNS40MTctNS4xNTEgMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSA0LjQ0Ni01LjE0M2B9XSxbYHBhdGhgLHtkOmBtMiAyIDIwIDIwYH1dXSwicHJvb2Ytc2VhbCI6W1tgcGF0aGAse2Q6YE0xMiAyLjUgMjEuNSAxMiAxMiAyMS41IDIuNSAxMlpgfV0sW2BwYXRoYCx7ZDpgTTEyIDguNSAxNS41IDEyIDEyIDE1LjUgOC41IDEyWmB9XV0sInJlY2VpcHQtcmVjb3JkZWQiOltbYHBhdGhgLHtkOmBNMTIgMi41IDIxLjUgMTIgMTIgMjEuNSAyLjUgMTJaYH1dLFtgcGF0aGAse2Q6YE0xMiA4djRsMiAyYH1dXSwicmVjZWlwdC1kZWxpdmVyZWQiOltbYHBhdGhgLHtkOmBNMTIgM3YxMGB9XSxbYHBhdGhgLHtkOmBtOCA5IDQgNCA0LTRgfV0sW2BwYXRoYCx7ZDpgTTQgMTV2NWgxNnYtNWB9XV0sInJlY2VpcHQtb3BlbmVkIjpbW2BwYXRoYCx7ZDpgTTIuNSAxMlM2IDUuNSAxMiA1LjUgMjEuNSAxMiAyMS41IDEyIDE4IDE4LjUgMTIgMTguNSAyLjUgMTIgMi41IDEyWmB9XSxbYGNpcmNsZWAse2N4OmAxMmAsY3k6YDEyYCxyOmAyLjVgfV1dLCJyZWNlaXB0LWFjY2VwdGVkIjpbW2BwYXRoYCx7ZDpgTTEyIDIuNSAyMS41IDEyIDEyIDIxLjUgMi41IDEyWmB9XSxbYHBhdGhgLHtkOmBtOC41IDEyIDIuNSAyLjUgNC41LTQuNWB9XV0sInJlY2VpcHQtcmVqZWN0ZWQiOltbYHBhdGhgLHtkOmBNMTIgMi41IDIxLjUgMTIgMTIgMjEuNSAyLjUgMTJaYH1dLFtgcGF0aGAse2Q6YG05LjUgOS41IDUgNWB9XSxbYHBhdGhgLHtkOmBtMTQuNSA5LjUtNSA1YH1dXSx1bnRydXN0ZWQ6W1tgcGF0aGAse2Q6YE00IDhWNGg0YH1dLFtgcGF0aGAse2Q6YE0xNiA0aDR2NGB9XSxbYHBhdGhgLHtkOmBNMjAgMTZ2NGgtNGB9XSxbYHBhdGhgLHtkOmBNOCAyMEg0di00YH1dLFtgcGF0aGAse2Q6YE05IDEwdjIuNWB9XSxbYHBhdGhgLHtkOmBNMTUgMTB2Mi41YH1dXSwic2FmZXR5LWNvZGUiOltbYHJlY3RgLHt4OmAyLjVgLHk6YDZgLHdpZHRoOmAxOWAsaGVpZ2h0OmAxMmAscng6YDJgfV0sW2BwYXRoYCx7ZDpgTTcgMTJoLjAxYH1dLFtgcGF0aGAse2Q6YE0xMC4zIDEyaC4wMWB9XSxbYHBhdGhgLHtkOmBNMTMuNyAxMmguMDFgfV0sW2BwYXRoYCx7ZDpgTTE3IDEyaC4wMWB9XV0sImlkZW50aXR5LXNlbGZkZWNsYXJlZCI6W1tgY2lyY2xlYCx7Y3g6YDEyYCxjeTpgOGAscjpgNGB9XSxbYHBhdGhgLHtkOmBNNC41IDIwLjVjLjgtMy42IDMuOC02IDcuNS02czYuNyAyLjQgNy41IDZgLHN0cm9rZURhc2hhcnJheTpgMi41IDIuNWB9XV0sImlkZW50aXR5LWNoZWNrZWQiOltbYGNpcmNsZWAse2N4OmAxMGAsY3k6YDhgLHI6YDRgfV0sW2BwYXRoYCx7ZDpgTTMgMjAuNWMuNy0zLjQgMy41LTYgNy02IDEuMyAwIDIuNS4zIDMuNS45YH1dLFtgcGF0aGAse2Q6YG0xNSAxOC41IDIgMiA0LTRgfV1dLCJpZGVudGl0eS1yZWdpc3RlcmVkIjpbW2BjaXJjbGVgLHtjeDpgMTBgLGN5OmA4YCxyOmA0YH1dLFtgcGF0aGAse2Q6YE0zIDIwLjVjLjctMy40IDMuNS02IDctNiAxLjMgMCAyLjUuMyAzLjUuOWB9XSxbYHBhdGhgLHtkOmBNMTggMTQgMjEgMTcgMTggMjAgMTUgMTdaYH1dXSwiaWRlbnRpdHktdmVyaWZpZWQiOltbYHBhdGhgLHtkOmBNMTcuNCAxMUE3LjUgNy41IDAgMSAwIDEwIDE3LjVgfV0sW2BwYXRoYCx7ZDpgTTIuNSAxMGgxNWB9XSxbYHBhdGhgLHtkOmBNMTAgMi41YzIgMi4xIDMgNC42IDMgNy41YH1dLFtgcGF0aGAse2Q6YE0xMCAyLjVDOCA0LjYgNyA3LjEgNyAxMHMxIDUuNCAzIDcuNWB9XSxbYHBhdGhgLHtkOmBtMTQuNSAxOC41IDIgMiA0LTRgfV1dLCJkb21haW4td2FybmluZyI6W1tgcGF0aGAse2Q6YE0xNy40IDEwQTcuNSA3LjUgMCAxIDAgMTAgMTcuNWB9XSxbYHBhdGhgLHtkOmBNMi41IDEwaDExYH1dLFtgcGF0aGAse2Q6YE0xMCAyLjVDOCA0LjYgNyA3LjEgNyAxMHMxIDUuNCAzIDcuNWB9XSxbYHBhdGhgLHtkOmBNMTkuNSAxM3Y0YH1dLFtgcGF0aGAse2Q6YE0xOS41IDIwLjVoLjAxYH1dXSxjb21taXRtZW50OltbYHBhdGhgLHtkOmBNMTQgMi41SDZhMS41IDEuNSAwIDAgMC0xLjUgMS41djE2QTEuNSAxLjUgMCAwIDAgNiAyMS41aDEyYTEuNSAxLjUgMCAwIDAgMS41LTEuNVY4WmB9XSxbYHBhdGhgLHtkOmBNMTQgMi41VjhoNS41YH1dLFtgcGF0aGAse2Q6YE04LjUgMTUuNWg3YH1dLFtgcGF0aGAse2Q6YE04LjUgMTJoNGB9XV0sYXBwcm92YWw6W1tgcGF0aGAse2Q6YE02LjUgNS4yQTggOCAwIDAgMSAyMCAxMXYyYH1dLFtgcGF0aGAse2Q6YE00IDExYTggOCAwIDAgMSAuNi0zYH1dLFtgcGF0aGAse2Q6YE00IDE1di0yYH1dLFtgcGF0aGAse2Q6YE04IDIwdi03YTQgNCAwIDAgMSA4IDB2MmB9XSxbYHBhdGhgLHtkOmBNMTIgMTN2OGB9XSxbYHBhdGhgLHtkOmBNMTYgMTl2MmB9XV0sImVuY3J5cHRlZC1kcm9wIjpbW2BwYXRoYCx7ZDpgTTMgNi41QTEuNSAxLjUgMCAwIDEgNC41IDVIOWwyIDIuNWg4LjVBMS41IDEuNSAwIDAgMSAyMSA5djkuNWExLjUgMS41IDAgMCAxLTEuNSAxLjVoLTE1QTEuNSAxLjUgMCAwIDEgMyAxOC41WmB9XSxbYHBhdGhgLHtkOmBNMTIgMTF2NWB9XSxbYHBhdGhgLHtkOmBtOS41IDEzLjUgMi41IDIuNSAyLjUtMi41YH1dXSwib3duLXN0b3JhZ2UiOltbYGVsbGlwc2VgLHtjeDpgMTJgLGN5OmA1LjVgLHJ4OmA4YCxyeTpgM2B9XSxbYHBhdGhgLHtkOmBNNCA1LjV2MTNjMCAxLjcgMy42IDMgOCAzczgtMS4zIDgtM3YtMTNgfV0sW2BwYXRoYCx7ZDpgTTQgMTJjMCAxLjcgMy42IDMgOCAzczgtMS4zIDgtM2B9XV0sYWdlbnQ6W1tgcmVjdGAse3g6YDIuNWAseTpgNGAsd2lkdGg6YDE5YCxoZWlnaHQ6YDE2YCxyeDpgMmB9XSxbYHBhdGhgLHtkOmBtNyA5LjUgMyAyLjUtMyAyLjVgfV0sW2BwYXRoYCx7ZDpgTTEyLjUgMTVIMTdgfV1dLCJhaS1hcHAiOltbYHJlY3RgLHt4OmAyLjVgLHk6YDRgLHdpZHRoOmAxOWAsaGVpZ2h0OmAxNmAscng6YDJgfV0sW2BwYXRoYCx7ZDpgTTIuNSA5aDE5YH1dLFtgcGF0aGAse2Q6YE02IDYuNWguMDFgfV0sW2BwYXRoYCx7ZDpgTTguNSA2LjVoLjAxYH1dXSwiY2xvdWQtYWdlbnQiOltbYHBhdGhgLHtkOmBNNyAxOWE0LjUgNC41IDAgMCAxLS42LTlBNiA2IDAgMCAxIDE4IDlhNCA0IDAgMCAxIC41IDEwWmB9XSxbYHBhdGhgLHtkOmBtMTAgMTIgMi41IDItMi41IDJgfV1dLCJicm93c2VyLWFnZW50IjpbW2ByZWN0YCx7eDpgMi41YCx5OmA0YCx3aWR0aDpgMTlgLGhlaWdodDpgMTZgLHJ4OmAyYH1dLFtgcGF0aGAse2Q6YE0yLjUgOWgxOWB9XSxbYHBhdGhgLHtkOmBtNyAxMi41IDIuNSAyLTIuNSAyYH1dLFtgcGF0aGAse2Q6YE0xMiAxNi41aDRgfV1dfTtmdW5jdGlvbiB1KC4uLmUpe3JldHVybiBlLmZpbHRlcihCb29sZWFuKS5qb2luKGAgYCl9dmFyIGQ9W1swLDMxXSxbMTI3LDE1OV0sWzgyMDMsODIwN10sWzgyMzQsODIzOF0sWzgyODgsODI5N10sWzY1Mjc5LDY1Mjc5XSxbOTE3NTA0LDkxNzYzMV1dO2Z1bmN0aW9uIGYoZSl7cmV0dXJuIGQuc29tZSgoW3Qsbl0pPT5lPj10JiZlPD1uKX1mdW5jdGlvbiBwKGUsdD0xZTQsbj0hMSl7bGV0IHI9YGA7Zm9yKGxldCBpIG9mIFN0cmluZyhlKSl7bGV0IGU9aS5jb2RlUG9pbnRBdCgwKT8_MDtpZihuJiYoZT09PTl8fGU9PT0xMCk_cis9aTpmKGUpfHwocis9aSksci5sZW5ndGg-PXQpYnJlYWt9cmV0dXJuIHIuc2xpY2UoMCx0KX1mdW5jdGlvbiBtKGUpe2xldCB0PWUucmVwbGFjZSgvLS9nLGAgYCk7cmV0dXJuIHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKX12YXIgaD17d2lkdGg6MjA2LjQsaGVpZ2h0OjM4LGJhc2VsaW5lOjI5LHBhdGg6YE05LjMyIC0yOC40MDBIMTQuNjhMMjMuMTYgMC4wSDE4LjU2TDE2LjY0IC02LjcySDcuMzZMNS40NCAwLjBIMC44NFpNMTUuNDggLTEwLjY0IDEyLjAgLTIyLjggOC41MiAtMTAuNjRaIE0yNS43MiAwLjMyIDMwLjE2IDAuMFEzMC42NCAxLjQwMCAzMS43MDAgMi4wNlEzMi43NjAgMi43MiAzNC42OCAyLjcyUTM3LjIgMi43MiAzOC41NDAgMS42UTM5Ljg4IDAuNDggMzkuODggLTEuNzZWLTQuNTYwUTM5LjEyMCAtMi45NiAzNy41NiAtMi4wNFEzNi4wIC0xLjEyIDMzLjg4IC0xLjEyUTMxLjI4IC0xLjEyIDI5LjI4IC0yLjQyUTI3LjI4IC0zLjcyIDI2LjE2IC02LjA0UTI1LjA0IC04LjM2IDI1LjA0IC0xMS4zNlEyNS4wNCAtMTQuNDggMjYuMTQgLTE2Ljg2UTI3LjI0MCAtMTkuMjQwIDI5LjIyMCAtMjAuNTRRMzEuMjAwIC0yMS44NCAzMy43NjAgLTIxLjg0UTM1Ljg4IC0yMS44NCAzNy41NDAgLTIwLjg0UTM5LjIgLTE5Ljg0IDM5Ljk2IC0xOC4wNEw0MC4wNDAgLTIxLjM2SDQ0LjE2Vi0yLjJRNDQuMTYgMi4wIDQxLjY4IDQuMjRRMzkuMiA2LjQ4IDM0LjY4IDYuNDhRMzEuMTYgNi40OCAyOC44IDQuODJRMjYuNDQgMy4xNiAyNS43MiAwLjMyWk0zOS44OCAtMTEuNDhRMzkuODggLTE0LjQ0IDM4LjQ2IC0xNi4xOFEzNy4wNCAtMTcuOTIgMzQuNjggLTE3LjkyUTMyLjI4IC0xNy45MiAzMC45MiAtMTYuMThRMjkuNTYwIC0xNC40NCAyOS41NjAgLTExLjM2UTI5LjU2MCAtOC4zMiAzMC45NCAtNi41NjBRMzIuMzIgLTQuOCAzNC42OCAtNC44UTM3LjA4IC00LjggMzguNDgwIC02LjU4UTM5Ljg4IC04LjM2IDM5Ljg4IC0xMS40OFogTTQ3Ljg4IC0xMC42OFE0Ny44OCAtMTQuMDQwIDQ5LjEgLTE2LjU2MFE1MC4zMiAtMTkuMDgwIDUyLjU2IC0yMC40NlE1NC44MDAgLTIxLjg0IDU3LjcyIC0yMS44NFE2MC40ODAgLTIxLjg0IDYyLjcgLTIwLjU0UTY0LjkyIC0xOS4yNDAgNjYuMTggLTE2LjcwMFE2Ny40NCAtMTQuMTYgNjcuNDQgLTEwLjZWLTkuNTZINTIuNFE1Mi42NCAtNi41NjAgNTQuMDQgLTUuMFE1NS40NCAtMy40NCA1Ny44MDAgLTMuNDRRNTkuNTYgLTMuNDQgNjAuNzYwIC00LjNRNjEuOTYgLTUuMTYgNjIuNTIgLTYuNzJMNjcuMDQgLTYuMzJRNjYuMDggLTMuMjQgNjMuNjYgLTEuMzgwUTYxLjI0IDAuNDggNTcuODAwIDAuNDhRNTQuODQgMC40OCA1Mi41OCAtMC45MDBRNTAuMzIgLTIuMjgwIDQ5LjEgLTQuODAwUTQ3Ljg4IC03LjMyIDQ3Ljg4IC0xMC42OFpNNTcuNzIgLTE3LjkyUTU1LjYgLTE3LjkyIDU0LjI0IC0xNi41ODBRNTIuODggLTE1LjI0IDUyLjQ4MCAtMTIuNzJINjIuNzYwUTYyLjQ4MCAtMTUuMjQgNjEuMTQgLTE2LjU4MFE1OS44MDAgLTE3LjkyIDU3LjcyIC0xNy45MlogTTcyLjEyIC0yMS4zNkg3Ni4wTDc2LjEyIC0xNy42UTc2LjkyIC0xOS43MiA3OC41ODAgLTIwLjc4UTgwLjI0MCAtMjEuODQgODIuNDQwIC0yMS44NFE4NS44MDAgLTIxLjg0IDg3LjU2IC0xOS42NFE4OS4zMjAgLTE3LjQ0IDg5LjMyMCAtMTMuOFYwLjBIODUuMDRWLTEyLjY0UTg1LjA0IC0xNS40NCA4NC4xMiAtMTYuOFE4My4yIC0xOC4xNiA4MS4xNjAgLTE4LjE2UTc5LjA0IC0xOC4xNiA3Ny43MiAtMTYuNjZRNzYuNCAtMTUuMTYgNzYuNCAtMTIuNDhWMC4wSDcyLjEyWiBNOTkuNjAwIC02LjRWLTE3LjY4SDkzLjA0Vi0yMS4zNkg5OS42MDBWLTI2Ljc2SDEwMy44OFYtMjEuMzZIMTEyLjMyMFYtMTcuNjhIMTAzLjg4Vi02LjYwMFExMDMuODggLTMuNjggMTA2LjcyIC0zLjY4SDExMi4zMjBWMC4wSDEwNi4yUTEwMi44NCAwLjAgMTAxLjIyIC0xLjU2UTk5LjYwMCAtMy4xMiA5OS42MDAgLTYuNFogTTExNy44NCAtMjguNDAwSDEyMi4yNFYtNC4wNEgxMzUuNzZWMC4wSDExNy44NFogTTEzOS42OCAtMy42OEgxNDguMDQwVi0xNy42OEgxNDAuMDhWLTIxLjM2SDE1Mi4zNlYtMy42OEgxNTkuNTJWMC4wSDEzOS42OFpNMTQ3LjggLTI4LjUySDE1Mi4yODBWLTI0LjI4SDE0Ny44WiBNMTYzLjMyIC0yMS4zNkgxNjcuMkwxNjcuMzIgLTE3LjZRMTY4LjEyIC0xOS43MiAxNjkuNzggLTIwLjc4UTE3MS40NCAtMjEuODQgMTczLjY0IC0yMS44NFExNzcuMCAtMjEuODQgMTc4Ljc2IC0xOS42NFExODAuNTE5IC0xNy40NCAxODAuNTE5IC0xMy44VjAuMEgxNzYuMjRWLTEyLjY0UTE3Ni4yNCAtMTUuNDQgMTc1LjMyIC0xNi44UTE3NC40IC0xOC4xNiAxNzIuMzU5IC0xOC4xNlExNzAuMjQgLTE4LjE2IDE2OC45MjAgLTE2LjY2UTE2Ny42IC0xNS4xNiAxNjcuNiAtMTIuNDhWMC4wSDE2My4zMlogTTE4NS42IC0yOC40MDBIMTg5Ljg4Vi0xMS4wOEwxOTkuMTIgLTIxLjM2SDIwNC40ODBMMTk2LjEyIC0xMi4yODBMMjA0Ljg0IDAuMEgxOTkuNjQwTDE5My4yOCAtOS4zNkwxODkuODggLTUuNjhWMC4wSDE4NS42WmB9O09iamVjdC5rZXlzKGwpO2Z1bmN0aW9uIGcoe25hbWU6ZSxzaXplOnQ9MTYsc3Ryb2tlV2lkdGg6bj0yLGxhYmVsOnIsY2xhc3NOYW1lOml9KXtsZXQgYT1sW2VdPz9sLmNpcmNsZT8_W107cmV0dXJuKDAsYy5qc3gpKGBzdmdgLHtjbGFzc05hbWU6dShgYWwtaWNvbmAsaSksd2lkdGg6dCxoZWlnaHQ6dCx2aWV3Qm94OmAwIDAgMjQgMjRgLGZpbGw6YG5vbmVgLHN0cm9rZTpgY3VycmVudENvbG9yYCxzdHJva2VXaWR0aDpuLHN0cm9rZUxpbmVjYXA6YHJvdW5kYCxzdHJva2VMaW5lam9pbjpgcm91bmRgLCJhcmlhLWhpZGRlbiI6cj09PXZvaWQgMD9gdHJ1ZWA6dm9pZCAwLHJvbGU6cj09PXZvaWQgMD92b2lkIDA6YGltZ2AsImFyaWEtbGFiZWwiOnIsY2hpbGRyZW46YS5tYXAoKFtlLHRdLG4pPT4oMCxzLmNyZWF0ZUVsZW1lbnQpKGUse2tleTpuLC4uLnR9KSl9KX1mdW5jdGlvbiBfKHtzaXplOmU9MjQsbW9ubzp0LHRpdGxlOm49YEFnZW50TGlua2AsY2xhc3NOYW1lOnJ9KXtsZXQgaT1lPD0yMCxhPW49PT1gYD97ImFyaWEtaGlkZGVuIjpgdHJ1ZWB9Ontyb2xlOmBpbWdgLCJhcmlhLWxhYmVsIjpufSxvPXQ9PT0hMD9gYWwtbWFyay1pbmtgOmBhbC1tYXJrLXNlYWxgO3JldHVybiBpPygwLGMuanN4cykoYHN2Z2Ase2NsYXNzTmFtZTp1KGBhbC1tYXJrYCxyKSx3aWR0aDplLGhlaWdodDplLHZpZXdCb3g6YDAgMCAxNiAxNmAsLi4uYSxjaGlsZHJlbjpbKDAsYy5qc3gpKGBwYXRoYCx7Y2xhc3NOYW1lOmBhbC1tYXJrLWlua2AsZDpgTTEgMS41SDVWMy41SDNWMTIuNUg1VjE0LjVIMVogTTE1IDEuNUgxMVYzLjVIMTNWMTIuNUgxMVYxNC41SDE1WmB9KSwoMCxjLmpzeCkoYHBhdGhgLHtjbGFzc05hbWU6byxkOmBNOCA0LjVMMTEuNSA4TDggMTEuNUw0LjUgOFpgfSldfSk6KDAsYy5qc3hzKShgc3ZnYCx7Y2xhc3NOYW1lOnUoYGFsLW1hcmtgLHIpLHdpZHRoOmUqMzgvMzYsaGVpZ2h0OmUsdmlld0JveDpgNSA2IDM4IDM2YCwuLi5hLGNoaWxkcmVuOlsoMCxjLmpzeCkoYHBhdGhgLHtjbGFzc05hbWU6YGFsLW1hcmstaW5rYCxkOmBNNSA2SDE1LjVWMTFIMTBWMzdIMTUuNVY0Mkg1WiBNNDMgNkgzMi41VjExSDM4VjM3SDMyLjVWNDJINDNaYH0pLCgwLGMuanN4KShgcGF0aGAse2NsYXNzTmFtZTpvLGQ6YE0yNCAxNUwzMyAyNEwyNCAzM0wxNSAyNFpgfSldfSl9ZnVuY3Rpb24gdih7aGVpZ2h0OmU9MjAscHJvZHVjdE5hbWU6dD1gQWdlbnRMaW5rYCxkZWNvcmF0aXZlOm4sY2xhc3NOYW1lOnJ9KXtsZXQgaT1uPT09ITA_eyJhcmlhLWhpZGRlbiI6YHRydWVgfTp7cm9sZTpgaW1nYCwiYXJpYS1sYWJlbCI6dH07cmV0dXJuKDAsYy5qc3gpKGBzdmdgLHtjbGFzc05hbWU6dShgYWwtd29yZG1hcmtgLHIpLGhlaWdodDplLHdpZHRoOmUqaC53aWR0aC9oLmhlaWdodCx2aWV3Qm94OmAwIDAgJHtoLndpZHRofSAke2guaGVpZ2h0fWAsLi4uaSxjaGlsZHJlbjooMCxjLmpzeCkoYHBhdGhgLHt0cmFuc2Zvcm06YHRyYW5zbGF0ZSgwICR7aC5iYXNlbGluZX0pYCxkOmgucGF0aH0pfSl9ZnVuY3Rpb24geSh7c2l6ZTplPTI0LGxheW91dDp0PWBob3Jpem9udGFsYCxlbmRvcnNlZDpuLG1vbm86cixwcm9kdWN0TmFtZTppPWBBZ2VudExpbmtgLGNsYXNzTmFtZTphfSl7cmV0dXJuKDAsYy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTp1KGBhbC1sb2NrdXBgLGBhbC1sb2NrdXAtJHt0fWAscj09PSEwJiZgYWwtbG9ja3VwLW1vbm9gLGEpLHJvbGU6YGltZ2AsImFyaWEtbGFiZWwiOm49PT0hMD9gJHtpfSBieSA0dGhUZWNoYDppLGNoaWxkcmVuOlsoMCxjLmpzeCkoXyx7c2l6ZTp0PT09YHN0YWNrZWRgP2UqMjplLHRpdGxlOmBgLC4uLnI9PT12b2lkIDA_e306e21vbm86cn19KSwoMCxjLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1sb2NrdXAtd29yZHNgLGNoaWxkcmVuOlsoMCxjLmpzeCkodix7aGVpZ2h0OmUqLjgyLGRlY29yYXRpdmU6ITB9KSxuPT09ITA_KDAsYy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1sb2NrdXAtYnkgYWwtdGV4dC1jYXB0aW9uYCxjaGlsZHJlbjpgYnkgNHRoVGVjaGB9KTpudWxsXX0pXX0pfWV4cG9ydHttIGFzIGEsdCBhcyBjLHUgYXMgaSxuIGFzIGwseSBhcyBuLG8scCBhcyByLGkgYXMgcyxnIGFzIHR9Ow"],
54254
+ ["assets/contacts-DHP7xlWf.js", "aW1wb3J0e28gYXMgZSxzIGFzIHQsdCBhcyBufWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7aW1wb3J0e2kgYXMgcix0IGFzIGl9ZnJvbSIuL2Zvcm1zLUJ2S3ZOSE1aLmpzIjtpbXBvcnR7biBhcyBhLHQgYXMgb31mcm9tIi4vc3VyZmFjZS1EdkcwV2t6LS5qcyI7aW1wb3J0e0EgYXMgcyxCIGFzIGMsRiBhcyBsLFIgYXMgdSxUIGFzIGQsYiBhcyBmLGsgYXMgcCxyIGFzIG0sdiBhcyBoLHkgYXMgZyx6IGFzIGVlfWZyb20iLi9pbmRleC0xQk5oeXRzMC5qcyI7aW1wb3J0e2EgYXMgXyxpIGFzIHRlLG4gYXMgdixvIGFzIHksciBhcyBuZSx0IGFzIGJ9ZnJvbSIuL2RhdGEtQlk5WUpBaDcuanMiO3ZhciB4PXQoKSxTPWBhZ2VudGxpbmsuY29udGFjdHMuZHVwbGljYXRlcy1rZXB0LnYxYCxDPS9eMHhbMC05YS1mXXs0MH0kLyx3PShlLHQpPT5gJHtlfToke3R9YDtmdW5jdGlvbiBUKGUpe2lmKHR5cGVvZiBlIT1gc3RyaW5nYClyZXR1cm4hMTtsZXRbdCxuLHJdPWUuc3BsaXQoYDpgKTtyZXR1cm4gcj09PXZvaWQgMCYmdCE9PXZvaWQgMCYmbiE9PXZvaWQgMCYmQy50ZXN0KHQpJiZDLnRlc3Qobil9ZnVuY3Rpb24gcmUoKXt0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oUyk7aWYoZT09PW51bGwpcmV0dXJuIG5ldyBTZXQ7bGV0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT9uZXcgU2V0KHQuZmlsdGVyKFQpLnNsaWNlKC0yMDApKTpuZXcgU2V0fWNhdGNoe3JldHVybiBuZXcgU2V0fX1mdW5jdGlvbiBFKGUsdCxuKXtyZXR1cm4gZS5oYXModyh0LG4pKX1mdW5jdGlvbiBEKGUsdCxuKXtsZXQgcj1uZXcgU2V0KGUpO3IuYWRkKHcodCxuKSk7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKFMsSlNPTi5zdHJpbmdpZnkoWy4uLnJdLnNsaWNlKC0yMDApKSl9Y2F0Y2h7fXJldHVybiByfXZhciBPPWBYLUFnZW50TGluay1DU1JGYCxrPS9eW0EtWmEtejAtOV8tXSskLztmdW5jdGlvbiBBKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD5gdWA_YGA6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtuYW1lPSJhZ2VudGxpbmstY3NyZiJdYCk_LmdldEF0dHJpYnV0ZShgY29udGVudGApPz9gYH1mdW5jdGlvbiBqKGUpe2xldCB0PWBgO2ZvcihsZXQgbiBvZiBlKXQrPVN0cmluZy5mcm9tQ2hhckNvZGUobik7cmV0dXJuIGJ0b2EodCkucmVwbGFjZSgvXCsvZyxgLWApLnJlcGxhY2UoL1wvL2csYF9gKS5yZXBsYWNlKC89KyQvLGBgKX1mdW5jdGlvbiBNKGUpe2xldCB0PWUucmVwbGFjZSgvLS9nLGArYCkucmVwbGFjZSgvXy9nLGAvYCksbj1hdG9iKHQrYD1gLnJlcGVhdCgoNC10Lmxlbmd0aCU0KSU0KSk7cmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShuLGU9PmUuY2hhckNvZGVBdCgwKSl9ZnVuY3Rpb24gTihlKXtpZighZS5zdGFydHNXaXRoKGAvYXBpL3VpL2ApfHwvW1xcXHRcblxyXS8udGVzdChlKSl0aHJvdyBFcnJvcihgb3duZXIgcGF0aCBtdXN0IHN0YXJ0IHdpdGggL2FwaS91aS9gKX1hc3luYyBmdW5jdGlvbiBQKGUpe3RyeXtsZXQgdD1hd2FpdCBlLmpzb24oKTtyZXR1cm4gdHlwZW9mIHQ9PWBvYmplY3RgJiZ0P3Quc3RhdHVzPz90LmVycm9yOnZvaWQgMH1jYXRjaHtyZXR1cm59fWZ1bmN0aW9uIEYoKXtyZXR1cm4gdHlwZW9mIHdpbmRvdzxgdWAmJndpbmRvdy5QdWJsaWNLZXlDcmVkZW50aWFsIT09dm9pZCAwJiZ0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLmNyZWRlbnRpYWxzIT09dm9pZCAwfWZ1bmN0aW9uIEkoZT17fSl7bGV0IHQ9ZS5mZXRjaD8_KChlLHQpPT5nbG9iYWxUaGlzLmZldGNoKGUsdCkpLG49KCk9PmUudG9rZW4_P0EoKTtyZXR1cm57YXN5bmMgcGFzc2tleSgpe2lmKEYoKSl0cnl7bGV0IGU9YXdhaXQgdChgL2FwaS9vd25lci9wYXNza2V5YCx7bWV0aG9kOmBHRVRgLGhlYWRlcnM6e1tPXTpuKCl9LGNyZWRlbnRpYWxzOmBzYW1lLW9yaWdpbmAsY2FjaGU6YG5vLXN0b3JlYH0pO2lmKGUuc3RhdHVzIT09MjAwKXJldHVybjtsZXQgcj0oYXdhaXQgZS5qc29uKCkpLnBhc3NrZXk7cmV0dXJuIHI9PT12b2lkIDB8fHIucmVnaXN0ZXJlZCE9PSEwfHxyLnJwSWQhPT1gbG9jYWxob3N0YHx8dHlwZW9mIHIuY3JlZGVudGlhbElkIT1gc3RyaW5nYHx8dHlwZW9mIHIucHJmU2FsdCE9YHN0cmluZ2B8fCFrLnRlc3Qoci5jcmVkZW50aWFsSWQpfHwhay50ZXN0KHIucHJmU2FsdCk_dm9pZCAwOntjcmVkZW50aWFsSWQ6ci5jcmVkZW50aWFsSWQscHJmU2FsdDpyLnByZlNhbHR9fWNhdGNoe3JldHVybn19LGFzeW5jIHBvc3QoZSxyLGkpe04oZSk7bGV0IGE9bmV3IEhlYWRlcnMoe1tPXTpuKCksIkNvbnRlbnQtVHlwZSI6YGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbWB9KTtyIT09dm9pZCAwJiZhLnNldChgWC1BZ2VudExpbmstSW5wdXRgLGoobmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHIpKSkpLGkua2luZD09PWBwYXNza2V5YCYmYS5zZXQoYFgtQWdlbnRMaW5rLVByZXNlbmNlYCxgcGFzc2tleWApO2xldCBvPWkua2luZD09PWBwYXNza2V5YD9pLmJvZHk6bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGkuY29kZSksczt0cnl7cz1hd2FpdCB0KGUse21ldGhvZDpgUE9TVGAsaGVhZGVyczphLGJvZHk6byxjcmVkZW50aWFsczpgc2FtZS1vcmlnaW5gLGNhY2hlOmBuby1zdG9yZWB9KX1jYXRjaHtyZXR1cm57a2luZDpgZmFpbGVkYH19ZmluYWxseXtvLmZpbGwoMCl9bGV0IGM9YXdhaXQgUChzKTtpZihzLnN0YXR1cz09PTIwMCYmYz09PWBkb25lYClyZXR1cm57a2luZDpgZG9uZWB9O2lmKHMuc3RhdHVzPT09NDAxKXJldHVybntraW5kOmBzZXNzaW9uYH07aWYocy5zdGF0dXM9PT00MDMmJmM9PT1gcHJlc2VuY2VfcmVqZWN0ZWRgKXJldHVybntraW5kOmByZWplY3RlZGB9O2lmKHMuc3RhdHVzPT09NDAzJiZjPT09YHByZXNlbmNlX3JlcXVpcmVkYClyZXR1cm57a2luZDpgcmVxdWlyZWRgfTtpZihzLnN0YXR1cz09PTQwMylyZXR1cm57a2luZDpgc2Vzc2lvbmB9O2lmKHMuc3RhdHVzPT09NDI5KXtsZXQgZT1OdW1iZXIocy5oZWFkZXJzLmdldChgcmV0cnktYWZ0ZXJgKSk7cmV0dXJue2tpbmQ6YHdhaXRgLHNlY29uZHM6TnVtYmVyLmlzU2FmZUludGVnZXIoZSkmJmU-MD9lOjMwfX1yZXR1cm4gcy5zdGF0dXM9PT00MDkmJmM9PT1gYnVzeWA_e2tpbmQ6YGJ1c3lgfTpzLnN0YXR1cz09PTQwOSYmYz09PWBub3RfYXBwbGllZGA_e2tpbmQ6YG5vdF9hcHBsaWVkYH06cy5zdGF0dXM9PT00MDk_e2tpbmQ6YHJlZnVzZWRgfTp7a2luZDpgZmFpbGVkYH19fX1mdW5jdGlvbiBMKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUucmVkdWNlKChlLHQpPT5lKzIrdC5sZW5ndGgsMCkpLG49MDtmb3IobGV0IHIgb2YgZSl0W25dPXIubGVuZ3RoPj44LHRbbisxXT1yLmxlbmd0aCYyNTUsdC5zZXQocixuKzIpLG4rPTIrci5sZW5ndGg7cmV0dXJuIHR9dmFyIFI9ZT0-ZT9uZXcgVWludDhBcnJheShlKTpuZXcgVWludDhBcnJheTthc3luYyBmdW5jdGlvbiB6KGUpe2xldCB0PW5ldyBVaW50OEFycmF5KDMyKTtjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHQpO3RyeXtsZXQgbj1hd2FpdCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KHtwdWJsaWNLZXk6e2NoYWxsZW5nZTp0LHJwSWQ6YGxvY2FsaG9zdGAsYWxsb3dDcmVkZW50aWFsczpbe3R5cGU6YHB1YmxpYy1rZXlgLGlkOk0oZS5jcmVkZW50aWFsSWQpfV0sdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgLHRpbWVvdXQ6MTJlNCxleHRlbnNpb25zOntwcmY6e2V2YWw6e2ZpcnN0Ok0oZS5wcmZTYWx0KX19fX19KTtpZihuPT09bnVsbClyZXR1cm47bGV0IHI9UihuLmdldENsaWVudEV4dGVuc2lvblJlc3VsdHMoKS5wcmY_LnJlc3VsdHM_LmZpcnN0KTtpZihyLmxlbmd0aD09PTApcmV0dXJuO2xldCBpPW4ucmVzcG9uc2UsYT1MKFtSKG4ucmF3SWQpLFIoaS5hdXRoZW50aWNhdG9yRGF0YSksUihpLnVzZXJIYW5kbGUpLHJdKTtyZXR1cm4gci5maWxsKDApLHtraW5kOmBwYXNza2V5YCxib2R5OmF9fWNhdGNoe3JldHVybn19dmFyIEI9e2xpc3RMYWJlbDpgWW91ciBjb250YWN0c2AsZGV0YWlsVGl0bGU6YENvbnRhY3RgLGNsb3NlU2hlZXQ6YENsb3NlYCxsb2FkaW5nOmBMb2FkaW5n4oCmYCxlbXB0eVRpdGxlOmBObyBjb250YWN0cyB5ZXQuIEFzayB5b3VyIEFJIHRvIGNyZWF0ZSBhbiBpbnZpdGUgYW5kIHNlbmQgaXQgdG8gc29tZW9uZSB5b3Ugd29yayB3aXRoLmAsZW1wdHlQcm9tcHQ6YENyZWF0ZSBhbiBBZ2VudExpbmsgaW52aXRlIGZvciBNYXJrby5gLG5vdFNldFVwOmBBZ2VudExpbmsgaXNuJ3Qgc2V0IHVwIG9uIHRoaXMgY29tcHV0ZXIgeWV0LiBBc2sgeW91ciBBSSB0byBzZXQgdXAgQWdlbnRMaW5rLmAsbGlzdFVuYXZhaWxhYmxlOmBZb3VyIGNvbnRhY3RzIGNhbid0IGJlIGxvYWRlZCByaWdodCBub3cuIFRyeSBhZ2FpbiBpbiBhIG1pbnV0ZS5gLGJsb2NrZWQ6YEJsb2NrZWRgLGJsb2NrZWREZXRhaWw6YEJsb2NrZWQuIE1lc3NhZ2VzIGZyb20gdGhpcyBjb250YWN0IGFyZSBkcm9wcGVkLmAscmV2b2tlZDpgTm8gbG9uZ2VyIGFjdGl2ZWAscmV2b2tlZERldGFpbDpgVGhpcyBjb250YWN0J3MgYWdlbnQgd2FzIHNodXQgZG93biBieSBpdHMgb3duZXIuIE1lc3NhZ2VzIGZyb20gaXQgYXJlIGRyb3BwZWQuYCx3YWl0aW5nOmBXYWl0aW5nIGZvciB0aGVpciBhZ2VudGAsd2FpdGluZ0RldGFpbDpgV2FpdGluZyBmb3IgdGhlaXIgYWdlbnQgdG8gYW5zd2VyIHRoZSBpbnZpdGUuIFRoZSBzYWZldHkgY29kZSBzaG93cyBoZXJlIG9uY2UgaXQgZG9lcy5gLG1pc21hdGNoQ2hpcDpgU2FmZXR5IGNvZGUgZGlkIG5vdCBtYXRjaGAsc2FmZXR5Q29kZTpgU2FmZXR5IGNvZGVgLHNhZmV0eUV4cGxhaW46YENvbXBhcmUgdGhlc2UgMTIgZGlnaXRzIHdpdGggdGhlIG90aGVyIHBlcnNvbiBieSBjYWxsIG9yIGluIHBlcnNvbjsgaWYgdGhleSBtYXRjaCwgaXTigJlzIHJlYWxseSB0aGVtLmAsc2FtZU5hbWU6YEFub3RoZXIgY29udGFjdCBoYXMgdGhlIHNhbWUgbmFtZS5gLGtlZXBCb3RoOmBLZWVwIGJvdGhgLHJlbW92ZU9sZGVyOmBSZW1vdmUgb2xkZXJgLGNvZGVMb2FkaW5nOmBMb2FkaW5nIHRoZSBzYWZldHkgY29kZeKApmAsY29kZVVuYXZhaWxhYmxlOmBDYW4ndCBzaG93IHRoZSBzYWZldHkgY29kZSByaWdodCBub3cuIFRyeSBhZ2FpbiBpbiBhIG1pbnV0ZS5gLHRoZXlNYXRjaDpgVGhleSBtYXRjaGAsdGhleURvbnRNYXRjaDpgVGhleSBkb24ndCBtYXRjaGAsc2tpcDpgU2tpcGAsY29tcGFyZUNvZGU6YENvbXBhcmUgc2FmZXR5IGNvZGVgLGNoZWNrZWQ6YFNhZmV0eSBjb2RlIGNoZWNrZWQuYCxtYXRjaGVkOmBNYXRjaGVkLiBUaGlzIGNvbnRhY3Qgbm93IHNob3dzIGFzIFNhZmV0eSBjb2RlIGNoZWNrZWQuYCxtaXNtYXRjaFRpdGxlOmBUaGUgY29kZXMgYXJlIGRpZmZlcmVudC5gLGtlZXA6YEtlZXAgZm9yIG5vd2AscmVuYW1lOmBSZW5hbWVgLHJlbmFtZUxhYmVsOmBOZXcgbmFtZWAscmVuYW1lSGludDpgVXAgdG8gMzIgbGV0dGVycy4gT25seSB5b3Ugc2VlIGl0LmAsc2F2ZU5hbWU6YFNhdmUgbmFtZWAscmVuYW1lZDpgUmVuYW1lZC5gLGFsaWFzSW52YWxpZDpgVXNlIGxldHRlcnMsIG51bWJlcnMgYW5kIHNwYWNlcywgdXAgdG8gMzIuYCxhbGlhc1Rha2VuOmBBbm90aGVyIGNvbnRhY3QgYWxyZWFkeSBoYXMgdGhpcyBuYW1lLiBQaWNrIGEgZGlmZmVyZW50IG9uZS5gLGNvbnRhY3RVbmtub3duOmBUaGlzIGNvbnRhY3QgaXMgbm8gbG9uZ2VyIGhlcmUuIFJlbG9hZCB0aGUgcGFnZS5gLHJlbmFtZVVuYXZhaWxhYmxlOmBUaGUgbmFtZSBjYW4ndCBiZSBjaGVja2VkIHJpZ2h0IG5vdy4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAscmVtb3ZlOmBSZW1vdmVgLHJlbW92ZUNvbnRhY3Q6YFJlbW92ZSBjb250YWN0YCxyZW1vdmVFeHBsYWluOmBSZW1vdmUgdGhpcyBjb250YWN0PyBNZXNzYWdlcyBmcm9tIGl0cyBhZ2VudCBhcmUgZHJvcHBlZC4gVG8gY29ubmVjdCBhZ2FpbiwgYXNrIHRoZW0gZm9yIGEgbmV3IGludml0ZS5gLHJlbW92ZWQ6YENvbnRhY3QgcmVtb3ZlZC5gLGNhbmNlbDpgQ2FuY2VsYCxwcmVzZW5jZUludHJvOmBDb25maXJtIGl04oCZcyB5b3UuIE5ldmVyIGdpdmUgeW91ciBiYWNrdXAgY29kZSB0byB5b3VyIEFJLmAsdXNlUGFzc2tleTpgQ29uZmlybSB3aXRoIHlvdXIgcGFzc2tleWAsdXNlQ29kZTpgVXNlIHlvdXIgYmFja3VwIGNvZGUgaW5zdGVhZGAsb3duZXJDb2RlOmBCYWNrdXAgY29kZWAsY29uZmlybTpgQ29uZmlybWAscHJlc2VuY2VSZWplY3RlZDpgVGhhdCBkaWRuJ3QgbWF0Y2ggeW91ciBiYWNrdXAgY29kZSBvciBwYXNza2V5LiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAscHJlc2VuY2VSZXF1aXJlZDpgRW50ZXIgeW91ciBiYWNrdXAgY29kZSBvciB1c2UgeW91ciBwYXNza2V5LiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAscGFzc2tleU5vdFVzZWQ6YFRoZSBwYXNza2V5IHdhc24ndCB1c2VkLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLiBZb3UgY2FuIGVudGVyIHlvdXIgYmFja3VwIGNvZGUuYCxidXN5OmBBbm90aGVyIGNoYW5nZSBpcyBpbiBwcm9ncmVzcy4gVHJ5IGFnYWluIGluIGEgbW9tZW50LmAscmVmdXNlZDpgTm90aGluZyB3YXMgY2hhbmdlZC4gSWYgeW91IHdlcmUgY29tcGFyaW5nIHRoZSBzYWZldHkgY29kZSwgaXQgbWF5IGhhdmUgY2hhbmdlZDogY29tcGFyZSBpdCBhZ2Fpbi5gLG5vdEFwcGxpZWQ6YE5vdGhpbmcgd2FzIGNoYW5nZWQuIFRyeSBhZ2Fpbi5gLHNlc3Npb25FeHBpcmVkOmBUaGlzIHBhZ2UgaGFzIGV4cGlyZWQuIEFzayB5b3VyIEFJIHRvIG9wZW4gQWdlbnRMaW5rIGFnYWluLmAsZmFpbGVkOmBUaGF0IGRpZG4ndCB3b3JrLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLiBUcnkgYWdhaW4gaW4gYSBtaW51dGUuYH0sVj17ZmluZ2VycHJpbnQ6YEZpbmdlcnByaW50YCxpZGVudGl0eTpgSWRlbnRpdHkgbGV2ZWxgLHBhaXJlZDpgUGFpcmVkYCxjaGVja2VkOmBTYWZldHkgY29kZSBjaGVja2VkYCxzZWxmRGVjbGFyZWQ6YFNlbGYtZGVjbGFyZWRgfTtmdW5jdGlvbiBIKGUpe3JldHVybiBlPT09MT9gMSBjb250YWN0YDpgJHtTdHJpbmcoZSl9IGNvbnRhY3RzYH1mdW5jdGlvbiBVKGUpe3JldHVybmBXYW50IHRvIGJlIHN1cmUgaXTigJlzIHJlYWxseSAke2V9PyBDYWxsIHRoZW0gb3IgbWVldCwgYW5kIGNvbXBhcmUgdGhlc2UgMTIgZGlnaXRzLiBJdCB0YWtlcyBhYm91dCAzMCBzZWNvbmRzLiBCb3RoIHNjcmVlbnMgc2hvdWxkIHNob3cgdGhlIHNhbWUgY29kZS5gfWZ1bmN0aW9uIGllKGUpe3JldHVybmBUaGUgaW52aXRlIG1heSBoYXZlIGJlZW4gY29waWVkIG9yIGNoYW5nZWQgb24gdGhlIHdheS4gUmVtb3ZlIHRoaXMgY29udGFjdCwgdGhlbiBhc2sgJHtlfSBmb3IgYSBuZXcgaW52aXRlIHRocm91Z2ggYSBjaGFubmVsIHlvdSB0cnVzdC5gfWZ1bmN0aW9uIGFlKGUsdCl7cmV0dXJuYExvb2tzIGxpa2UgYSBzZWNvbmQgY29ubmVjdGlvbiB3aXRoICR7ZX0gKHBhaXJlZCAke3R9KS4gS2VlcCBib3RoLCBvciByZW1vdmUgdGhlIG9sZGVyIG9uZT9gfWZ1bmN0aW9uIG9lKGUpe3JldHVybmBXYWl0aW5nIGZvciAke2V9YH1mdW5jdGlvbiBzZShlKXtyZXR1cm5gQ29ubmVjdGVkICR7ZX1gfWZ1bmN0aW9uIGNlKGUpe3JldHVybmBUb28gbWFueSB3cm9uZyB0cmllcy4gV2FpdCAke1N0cmluZyhlKX0gc2Vjb25kcywgdGhlbiB0cnkgYWdhaW4uIE5vdGhpbmcgd2FzIGNoYW5nZWQuYH12YXIgVz17Y2hlY2s6ZT0-YE1hcmsgJHtlfSBhcyBTYWZldHkgY29kZSBjaGVja2VkLmAscmVuYW1lOihlLHQpPT5gUmVuYW1lICR7ZX0gdG8g4oCcJHt0feKAnS5gLHJlbW92ZTplPT5gUmVtb3ZlICR7ZX0uYH0sRz1lKCksbGU9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodm9pZCAwLHtkYXk6YG51bWVyaWNgLG1vbnRoOmBzaG9ydGAseWVhcjpgbnVtZXJpY2B9KSx1ZT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2RheTpgbnVtZXJpY2AsbW9udGg6YHNob3J0YH0pLEs9ZT0-ZS5uYW1lU291cmNlPT09YG93bmVyYD97YWxpYXM6ZS5uYW1lfTp7bmFtZTplLm5hbWUsLi4uZS5maW5nZXJwcmludD09PXZvaWQgMD97fTp7ZmluZ2VycHJpbnQ6ZS5maW5nZXJwcmludH19LHE9ZT0-dShLKGUpKS50ZXh0LGRlPWU9PmUubGFiZWw9PT1gc2FmZXR5LWNvZGUtY2hlY2tlZGA_YGNoZWNrZWRgOmBzZWxmZGVjbGFyZWRgO2Z1bmN0aW9uIGZlKGUpe2xldCB0PWUucmVwbGFjZSgvW-KAnOKAnSJdL2csYGApLnRyaW0oKTtyZXR1cm4gdC5zdGFydHNXaXRoKGBDb250YWN0IGApP2AjYDp0LnNwbGl0KC9ccysvKS5tYXAoZT0-ZS5jaGFyQXQoMCkpLmpvaW4oYGApLnNsaWNlKDAsMikudG9VcHBlckNhc2UoKXx8YD9gfWZ1bmN0aW9uIEooe2ljb246ZSx0b25lOnQsY2hpbGRyZW46cn0pe3JldHVybigwLEcuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWNoaXAgYWwtdG9uZS0ke3R9YCxjaGlsZHJlbjpbKDAsRy5qc3gpKG4se25hbWU6ZSxzaXplOjEyLHN0cm9rZVdpZHRoOjIuMjV9KSwoMCxHLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOnJ9KV19KX1mdW5jdGlvbiBwZSh7Y29udGFjdDplfSl7cmV0dXJuIGUuc3RhdHVzPT09YGJsb2NrZWRgPygwLEcuanN4KShKLHtpY29uOmBiYW5gLHRvbmU6YG5ldXRyYWxgLGNoaWxkcmVuOkIuYmxvY2tlZH0pOmUuc3RhdHVzPT09YHJldm9rZWRgPygwLEcuanN4KShKLHtpY29uOmB4YCx0b25lOmBuZXV0cmFsYCxjaGlsZHJlbjpCLnJldm9rZWR9KTplLnBhaXJpbmc9PT1gcGVuZGluZ2A_KDAsRy5qc3gpKEose2ljb246YGNsb2NrYCx0b25lOmBuZXV0cmFsYCxjaGlsZHJlbjpCLndhaXRpbmd9KTplLnBhaXJpbmc9PT1gbWlzbWF0Y2hgPygwLEcuanN4KShKLHtpY29uOmB0cmlhbmdsZS1hbGVydGAsdG9uZTpgd2FybmluZ2AsY2hpbGRyZW46Qi5taXNtYXRjaENoaXB9KTpudWxsfWZ1bmN0aW9uIFkoZSl7bGV0IHQ9bmV3IFNldCxuPW5ldyBTZXQ7Zm9yKGxldCByIG9mIGUpe2xldCBlPXEocikudHJpbSgpLnRvTG93ZXJDYXNlKCk7dC5oYXMoZSkmJm4uYWRkKGUpLHQuYWRkKGUpfXJldHVybiBufWZ1bmN0aW9uIFgoe2NvbnRhY3RzOmUsc2VsZWN0ZWQ6dCxvblNlbGVjdDpufSl7bGV0IHI9WShlKTtyZXR1cm4oMCxHLmpzeCkoYSx7YXM6YHVsYCxsZXZlbDoxLGNsYXNzTmFtZTpgY3QtbGlzdGAsImFyaWEtbGFiZWwiOkIubGlzdExhYmVsLGNoaWxkcmVuOmUubWFwKGU9PigwLEcuanN4KShgbGlgLHtjaGlsZHJlbjooMCxHLmpzeHMpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLGNsYXNzTmFtZTpgYWwtY29udGFjdCBjdC1yb3cke2Uuc3RhdHVzPT09YGFjdGl2ZWA_YGA6YCBpcy0ke2Uuc3RhdHVzfWB9YCwiYXJpYS1jdXJyZW50IjplLnJlZj09PXQ_YHRydWVgOnZvaWQgMCxvbkNsaWNrOigpPT5uKGUucmVmKSxjaGlsZHJlbjpbKDAsRy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1hdmF0YXIgYWwtdGV4dC1sYWJlbGAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46ZmUocShlKSl9KSwoMCxHLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jb250YWN0LW1haW5gLGNoaWxkcmVuOlsoMCxHLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWNvbnRhY3QtbmFtZWAsY2hpbGRyZW46KDAsRy5qc3gpKGwsey4uLksoZSksbGFiZWw6ZGUoZSksc2hvd0xhYmVsOiEwfSl9KSxyLmhhcyhxKGUpLnRyaW0oKS50b0xvd2VyQ2FzZSgpKT8oMCxHLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZCBjdC1zYW1lLW5hbWVgLGNoaWxkcmVuOkIuc2FtZU5hbWV9KTpudWxsXX0pLCgwLEcuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtY29udGFjdC1zaWRlYCxjaGlsZHJlbjooMCxHLmpzeCkocGUse2NvbnRhY3Q6ZX0pfSldfSl9LGUucmVmKSl9KX1mdW5jdGlvbiBtZSh7c3VtbWFyeTplLHBhc3NrZXk6dCxidXN5Om4sZXJyb3I6YSxvblN1Ym1pdDpvLG9uQ2FuY2VsOnN9KXtsZXRbYyxsXT0oMCx4LnVzZVN0YXRlKShgYCksW3UsZF09KDAseC51c2VTdGF0ZSkodD09PXZvaWQgMCksW2YscF09KDAseC51c2VTdGF0ZSkoITEpO3JldHVybigwLEcuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGN0LXByZXNlbmNlYCwiYXJpYS1sYWJlbCI6Qi5wcmVzZW5jZUludHJvLGNoaWxkcmVuOlsoMCxHLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46KDAsRy5qc3gpKGBzdHJvbmdgLHtjaGlsZHJlbjplfSl9KSwoMCxHLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Qi5wcmVzZW5jZUludHJvfSksdT8oMCxHLmpzeHMpKGBmb3JtYCx7Y2xhc3NOYW1lOmBjdC1wcmVzZW5jZS1mb3JtYCxvblN1Ym1pdDplPT57aWYoZS5wcmV2ZW50RGVmYXVsdCgpLGM9PT1gYHx8bilyZXR1cm47bGV0IHQ9e2tpbmQ6YGNvZGVgLGNvZGU6Y307bChgYCksbyh0KX0sY2hpbGRyZW46WygwLEcuanN4KShyLHtsYWJlbDpCLm93bmVyQ29kZSxoaW50OmcsbmFtZTpgb3duZXItY29kZWAsdHlwZTpgcGFzc3dvcmRgLGF1dG9Db21wbGV0ZTpgb2ZmYCxzcGVsbENoZWNrOiExLG1vbm86ITAsdmFsdWU6YyxvbkNoYW5nZTplPT5sKGUuY3VycmVudFRhcmdldC52YWx1ZSl9KSwoMCxHLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxHLmpzeCkoaSx7dHlwZTpgc3VibWl0YCx2YXJpYW50OmBwcmltYXJ5YCxkaXNhYmxlZDpufHxjPT09YGAsY2hpbGRyZW46Qi5jb25maXJtfSksKDAsRy5qc3gpKGkse3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOnMsZGlzYWJsZWQ6bixjaGlsZHJlbjpCLmNhbmNlbH0pXX0pXX0pOigwLEcuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgY3QtYWN0aW9uc2AsY2hpbGRyZW46WygwLEcuanN4KShpLHt2YXJpYW50OmBwcmltYXJ5YCxpY29uOmBhcHByb3ZhbGAsb25DbGljazooKT0-e3Q9PT12b2lkIDB8fG58fChwKCExKSx6KHQpLnRoZW4oZT0-e2U9PT12b2lkIDA_cCghMCk6byhlKX0pKX0sZGlzYWJsZWQ6bixjaGlsZHJlbjpCLnVzZVBhc3NrZXl9KSwoMCxHLmpzeCkoaSx7dmFyaWFudDpgZ2hvc3RgLG9uQ2xpY2s6KCk9PmQoITApLGRpc2FibGVkOm4sY2hpbGRyZW46Qi51c2VDb2RlfSksKDAsRy5qc3gpKGkse3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOnMsZGlzYWJsZWQ6bixjaGlsZHJlbjpCLmNhbmNlbH0pXX0pLGY_KDAsRy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46Qi5wYXNza2V5Tm90VXNlZH0pOm51bGwsYT09PXZvaWQgMD9udWxsOigwLEcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGN0LWVycm9yYCxyb2xlOmBhbGVydGAsY2hpbGRyZW46YX0pXX0pfWZ1bmN0aW9uIGhlKHtjb250YWN0OmUsY29kZTp0LG9uTWF0Y2g6cixvbk1pc21hdGNoOmEsb25Ta2lwOm99KXtpZih0LmtpbmQhPT1gb2tgKXJldHVybigwLEcuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGFsLXNjYCwiYXJpYS1sYWJlbCI6Qi5zYWZldHlDb2RlLGNoaWxkcmVuOlsoMCxHLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNjLWhlYWRgLGNoaWxkcmVuOlsoMCxHLmpzeCkobix7bmFtZTpgc2FmZXR5LWNvZGVgLHNpemU6MTZ9KSwoMCxHLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOkIuc2FmZXR5Q29kZX0pXX0pLCgwLEcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOnQua2luZD09PWBsb2FkaW5nYD9CLmNvZGVMb2FkaW5nOkIuY29kZVVuYXZhaWxhYmxlfSldfSk7bGV0IHM9dC5jb2RlLnNwbGl0KGAgYCk7cmV0dXJuKDAsRy5qc3hzKShgc2VjdGlvbmAse2NsYXNzTmFtZTpgYWwtc2NgLCJhcmlhLWxhYmVsIjpCLnNhZmV0eUNvZGUsY2hpbGRyZW46WygwLEcuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2MtaGVhZGAsY2hpbGRyZW46WygwLEcuanN4KShuLHtuYW1lOmBzYWZldHktY29kZWAsc2l6ZToxNn0pLCgwLEcuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbGAsY2hpbGRyZW46Qi5zYWZldHlDb2RlfSldfSksKDAsRy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOlUocShlKSl9KSwoMCxHLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Qi5zYWZldHlFeHBsYWlufSksKDAsRy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNjLWNvZGUgYWwtdGV4dC1jb2RlLWxnYCxyb2xlOmBpbWdgLCJhcmlhLWxhYmVsIjpzLm1hcChlPT5lLnNwbGl0KGBgKS5qb2luKGAgYCkpLmpvaW4oYCwgYCksY2hpbGRyZW46cy5tYXAoKGUsdCk9PigwLEcuanN4KShgc3BhbmAse2NoaWxkcmVuOmV9LHQpKX0pLCgwLEcuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2MtYWN0aW9ucyBjdC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsRy5qc3gpKGkse2ljb246YGNoZWNrYCxvbkNsaWNrOigpPT5yKHQuY29kZSksY2hpbGRyZW46Qi50aGV5TWF0Y2h9KSwoMCxHLmpzeCkoaSx7dmFyaWFudDpgZ2hvc3RgLGljb246YHhgLG9uQ2xpY2s6YSxjaGlsZHJlbjpCLnRoZXlEb250TWF0Y2h9KSwoMCxHLmpzeCkoaSx7dmFyaWFudDpgZ2hvc3RgLG9uQ2xpY2s6byxjaGlsZHJlbjpCLnNraXB9KV19KV19KX12YXIgZ2U9e3JlamVjdGVkOkIucHJlc2VuY2VSZWplY3RlZCxyZXF1aXJlZDpCLnByZXNlbmNlUmVxdWlyZWQscmVmdXNlZDpCLnJlZnVzZWQsbm90X2FwcGxpZWQ6Qi5ub3RBcHBsaWVkLGJ1c3k6Qi5idXN5LHNlc3Npb246Qi5zZXNzaW9uRXhwaXJlZCxmYWlsZWQ6Qi5mYWlsZWR9O2Z1bmN0aW9uIFooe2NvbnRhY3Q6ZSxhcGk6dCxvd25lcjpvLHBhc3NrZXk6YyxvbGRlcjp1LG9uS2VlcEJvdGg6ZCxvbkNoYW5nZWQ6Zn0pe2xldCBtPWUucmVmLGg9cShlKSxnPWUuc3RhdHVzPT09YGFjdGl2ZWAmJmUucGFpcmluZz09PWBjb21wbGV0ZWAmJmUubGFiZWw9PT1gc2VsZi1kZWNsYXJlZGAsW3RlLGJdPSgwLHgudXNlU3RhdGUpKHtraW5kOmBsb2FkaW5nYH0pLFtTLENdPSgwLHgudXNlU3RhdGUpKDApLFt3LFRdPSgwLHgudXNlU3RhdGUpKCExKSxbcmUsRV09KDAseC51c2VTdGF0ZSkoITEpLFtELE9dPSgwLHgudXNlU3RhdGUpKCExKSxbayxBXT0oMCx4LnVzZVN0YXRlKSghMSksW2osTV09KDAseC51c2VTdGF0ZSkoYGApLFtOLFBdPSgwLHgudXNlU3RhdGUpKHZvaWQgMCksW0YsSV09KDAseC51c2VTdGF0ZSkoITEpLFtMLFJdPSgwLHgudXNlU3RhdGUpKCExKSx6PSgwLHgudXNlSWQpKCksVj1zKCksW0gsVV09KDAseC51c2VTdGF0ZSkodm9pZCAwKSxbZmUsSl09KDAseC51c2VTdGF0ZSkoITEpLFtwZSxZXT0oMCx4LnVzZVN0YXRlKSh2b2lkIDApLFtYLFpdPSgwLHgudXNlU3RhdGUpKHZvaWQgMCk7KDAseC51c2VFZmZlY3QpKCgpPT57aWYoIWd8fHcpcmV0dXJuO2xldCBlPSEwO3JldHVybiBiKHtraW5kOmBsb2FkaW5nYH0pLHQuZ2V0KHYobSxgc2FmZXR5LWNvZGVgKSkudGhlbih0PT57ZSYmYih0LmtpbmQ9PT1gb2tgP25lKHQuZGF0YSk6e2tpbmQ6YHVuYXZhaWxhYmxlYH0pfSksKCk9PntlPSExfX0sW3QsbSxnLHcsU10pO2xldCBRPWU9PntZKHZvaWQgMCksWih2b2lkIDApLFUoZSl9LF9lPSgwLHgudXNlQ2FsbGJhY2spKGU9PntIIT09dm9pZCAwJiYoSighMCksWSh2b2lkIDApLG8ucG9zdCh2KEgucmVmLEgud2hhdCksSC5pbnB1dCxlKS50aGVuKGU9PntKKCExKSxlLmtpbmQ9PT1gZG9uZWA_KFUodm9pZCAwKSxILndoYXQ9PT1gY2hlY2tgJiZPKCEwKSxILndoYXQ9PT1gcmVuYW1lYCYmKEEoITEpLE0oYGApLFooQi5yZW5hbWVkKSksZihILndoYXQpKTplLmtpbmQ9PT1gd2FpdGA_WShjZShlLnNlY29uZHMpKTplLmtpbmQ9PT1gcmVqZWN0ZWRgfHxlLmtpbmQ9PT1gcmVxdWlyZWRgP1koZ2VbZS5raW5kXSk6KFUodm9pZCAwKSxaKGdlW2Uua2luZF0pLEgud2hhdD09PWBjaGVja2AmJkMoZT0-ZSsxKSl9KSl9LFtvLEgsZl0pLHZlPWU9PntlLnByZXZlbnREZWZhdWx0KCk7bGV0IG49ai50cmltKCk7bj09PWBgP1AoQi5hbGlhc0ludmFsaWQpOihQKHZvaWQgMCksdC5nZXQoeShtLG4pKS50aGVuKGU9PntsZXQgdD1lLmtpbmQ9PT1gb2tgP18oZS5kYXRhKTp7a2luZDpgcmVmdXNlZGAscmVhc29uOmB1bmF2YWlsYWJsZWB9O3Qua2luZD09PWBva2A_USh7d2hhdDpgcmVuYW1lYCxyZWY6bSxpbnB1dDp7YWxpYXM6bn0sc3VtbWFyeTpXLnJlbmFtZShoLG4pfSk6UCh0LnJlYXNvbj09PWBhbGlhc190YWtlbmA_Qi5hbGlhc1Rha2VuOnQucmVhc29uPT09YGFsaWFzX2ludmFsaWRgP0IuYWxpYXNJbnZhbGlkOnQucmVhc29uPT09YGNvbnRhY3RfdW5rbm93bmA_Qi5jb250YWN0VW5rbm93bjpCLnJlbmFtZVVuYXZhaWxhYmxlKX0pKX0seWU9KCk9PlEoe3doYXQ6YHJlbW92ZWAscmVmOm0sc3VtbWFyeTpXLnJlbW92ZShoKX0pLGJlPXU9PT12b2lkIDB8fEghPT12b2lkIDB8fGt8fEZ8fEw_bnVsbDooMCxHLmpzeCkoYSx7bGV2ZWw6MyxjbGFzc05hbWU6YGN0LWR1cGAsY2hpbGRyZW46KDAsRy5qc3hzKShlZSx7dG9uZTpgaW5mb2AsaWNvbjpgdXNlcnNgLGNoaWxkcmVuOlsoMCxHLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsaWQ6eixjaGlsZHJlbjphZShxKHUpLHVlLmZvcm1hdChuZXcgRGF0ZSh1LnNpbmNlKjFlMykpKX0pLCgwLEcuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgY3QtYWN0aW9uc2AsY2hpbGRyZW46WygwLEcuanN4KShpLHt2YXJpYW50OmBnaG9zdGAsc2l6ZTpgc21gLG9uQ2xpY2s6ZCxjaGlsZHJlbjpCLmtlZXBCb3RofSksKDAsRy5qc3gpKGkse3ZhcmlhbnQ6YGRhbmdlcmAsc2l6ZTpgc21gLCJhcmlhLWRlc2NyaWJlZGJ5Ijp6LG9uQ2xpY2s6KCk9PlIoITApLGNoaWxkcmVuOkIucmVtb3ZlT2xkZXJ9KV19KV19KX0pLCQ9bnVsbDtyZXR1cm4gRHx8ZS5sYWJlbD09PWBzYWZldHktY29kZS1jaGVja2VkYD8kPSgwLEcuanN4cykoRy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLEcuanN4cykoYHBgLHtjbGFzc05hbWU6YGFsLXNjLW9rIGFsLXRleHQtYm9keWAsY2hpbGRyZW46WygwLEcuanN4KShuLHtuYW1lOmBpZGVudGl0eS1jaGVja2VkYCxzaXplOjE2fSksRD9CLm1hdGNoZWQ6Qi5jaGVja2VkXX0pLEQ_KDAsRy5qc3gpKHAse2tpbmQ6YGNvZGVzYH0pOm51bGxdfSk6ZS5zdGF0dXM9PT1gYWN0aXZlYCYmZS5wYWlyaW5nPT09YHBlbmRpbmdgPyQ9KDAsRy5qc3hzKShHLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsRy5qc3hzKShgcGAse2NsYXNzTmFtZTpgY3Qtd2FpdGluZyBhbC10ZXh0LWJvZHlgLCJkYXRhLW1vdGlvbiI6Vj9gcmVkdWNlZGA6YGZ1bGxgLGNoaWxkcmVuOlsoMCxHLmpzeCkobix7bmFtZTpgY2xvY2tgLHNpemU6MTZ9KSwoMCxHLmpzeCkoYHNwYW5gLHtjaGlsZHJlbjpvZShoKX0pXX0pLCgwLEcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpCLndhaXRpbmdEZXRhaWx9KV19KTpnJiZyZT8kPSgwLEcuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2Mtc3RvcCBhbC10b25lLXdhcm5pbmdgLHJvbGU6YGFsZXJ0YCxjaGlsZHJlbjpbKDAsRy5qc3gpKG4se25hbWU6YHRyaWFuZ2xlLWFsZXJ0YCxzaXplOjE2fSksKDAsRy5qc3hzKShgZGl2YCx7Y2hpbGRyZW46WygwLEcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjooMCxHLmpzeCkoYHN0cm9uZ2Ase2NoaWxkcmVuOkIubWlzbWF0Y2hUaXRsZX0pfSksKDAsRy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOmllKGgpfSksSD09PXZvaWQgMD8oMCxHLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxHLmpzeCkoaSx7dmFyaWFudDpgZGFuZ2VyYCxvbkNsaWNrOnllLGNoaWxkcmVuOkIucmVtb3ZlQ29udGFjdH0pLCgwLEcuanN4KShpLHt2YXJpYW50OmBnaG9zdGAsb25DbGljazooKT0-e0UoITEpLFQoITApfSxjaGlsZHJlbjpCLmtlZXB9KV19KTpudWxsXX0pXX0pOmcmJnc_JD0oMCxHLmpzeCkoaSx7dmFyaWFudDpgZ2hvc3RgLHNpemU6YHNtYCxpY29uOmBzYWZldHktY29kZWAsb25DbGljazooKT0-VCghMSksY2hpbGRyZW46Qi5jb21wYXJlQ29kZX0pOmcmJkg9PT12b2lkIDAmJigkPSgwLEcuanN4KShoZSx7Y29udGFjdDplLGNvZGU6dGUsb25NYXRjaDplPT5RKHt3aGF0OmBjaGVja2AscmVmOm0saW5wdXQ6e2NvZGU6ZX0sc3VtbWFyeTpXLmNoZWNrKGgpfSksb25NaXNtYXRjaDooKT0-RSghMCksb25Ta2lwOigpPT5UKCEwKX0pKSwoMCxHLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBjdC1kZXRhaWxgLCJhcmlhLWxhYmVsIjpoLGNoaWxkcmVuOlsoMCxHLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWRldGFpbC1oZWFkYCxjaGlsZHJlbjpbKDAsRy5qc3gpKGBoMmAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0yYCxjaGlsZHJlbjooMCxHLmpzeCkobCx7Li4uSyhlKSxsYWJlbDpkZShlKSxzaG93TGFiZWw6ITB9KX0pLEg9PT12b2lkIDAmJiFrJiYhRiYmIUw_KDAsRy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBjdC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsRy5qc3gpKGkse3ZhcmlhbnQ6YGdob3N0YCxzaXplOmBzbWAsb25DbGljazooKT0-QSghMCksY2hpbGRyZW46Qi5yZW5hbWV9KSxlLnN0YXR1cz09PWByZXZva2VkYD9udWxsOigwLEcuanN4KShpLHt2YXJpYW50OmBnaG9zdGAsc2l6ZTpgc21gLG9uQ2xpY2s6KCk9PkkoITApLGNoaWxkcmVuOkIucmVtb3ZlfSldfSk6bnVsbF19KSwoMCxHLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46c2UobGUuZm9ybWF0KG5ldyBEYXRlKGUuc2luY2UqMWUzKSkpfSksYmUsZS5zdGF0dXM9PT1gYmxvY2tlZGA_KDAsRy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOkIuYmxvY2tlZERldGFpbH0pOm51bGwsZS5zdGF0dXM9PT1gcmV2b2tlZGA_KDAsRy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOkIucmV2b2tlZERldGFpbH0pOm51bGwsWD09PXZvaWQgMD9udWxsOigwLEcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOlh9KSxrJiZIPT09dm9pZCAwPygwLEcuanN4cykoYGZvcm1gLHtjbGFzc05hbWU6YGN0LXJlbmFtZWAsb25TdWJtaXQ6dmUsY2hpbGRyZW46WygwLEcuanN4KShyLHtsYWJlbDpCLnJlbmFtZUxhYmVsLGhpbnQ6Qi5yZW5hbWVIaW50LG5hbWU6YGFsaWFzYCxhdXRvQ29tcGxldGU6YG9mZmAsbWF4TGVuZ3RoOjMyLHZhbHVlOmosb25DaGFuZ2U6ZT0-TShlLmN1cnJlbnRUYXJnZXQudmFsdWUpLC4uLk49PT12b2lkIDA_e306e2Vycm9yOk59fSksKDAsRy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBjdC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsRy5qc3gpKGkse3R5cGU6YHN1Ym1pdGAsdmFyaWFudDpgcHJpbWFyeWAsY2hpbGRyZW46Qi5zYXZlTmFtZX0pLCgwLEcuanN4KShpLHt2YXJpYW50OmBnaG9zdGAsb25DbGljazooKT0-e0EoITEpLFAodm9pZCAwKX0sY2hpbGRyZW46Qi5jYW5jZWx9KV19KV19KTpudWxsLChGfHxMJiZ1IT09dm9pZCAwKSYmSD09PXZvaWQgMD8oMCxHLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWNvbmZpcm1gLGNoaWxkcmVuOlsoMCxHLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46Qi5yZW1vdmVFeHBsYWlufSksKDAsRy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBjdC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsRy5qc3gpKGkse3ZhcmlhbnQ6YGRhbmdlcmAsb25DbGljazooKT0-e0wmJnUhPT12b2lkIDA_KFIoITEpLFEoe3doYXQ6YHJlbW92ZWAscmVmOnUucmVmLHN1bW1hcnk6Vy5yZW1vdmUocSh1KSl9KSk6KEkoITEpLHllKCkpfSxjaGlsZHJlbjpCLnJlbW92ZUNvbnRhY3R9KSwoMCxHLmpzeCkoaSx7dmFyaWFudDpgZ2hvc3RgLG9uQ2xpY2s6KCk9PntJKCExKSxSKCExKX0sY2hpbGRyZW46Qi5jYW5jZWx9KV19KV19KTpudWxsLEg9PT12b2lkIDA_bnVsbDooMCxHLmpzeCkobWUse3N1bW1hcnk6SC5zdW1tYXJ5LHBhc3NrZXk6YyxidXN5OmZlLGVycm9yOnBlLG9uU3VibWl0Ol9lLG9uQ2FuY2VsOigpPT57VSh2b2lkIDApLFkodm9pZCAwKX19KSwkXX0pfWZ1bmN0aW9uIFEoZSl7cmV0dXJuWy4uLmUuZmluZ2VycHJpbnQ9PT12b2lkIDA_W106W3traW5kOmB0ZXh0YCxsYWJlbDpWLmZpbmdlcnByaW50LHZhbHVlOmUuZmluZ2VycHJpbnR9XSx7a2luZDpgdGV4dGAsbGFiZWw6Vi5pZGVudGl0eSx2YWx1ZTplLmxhYmVsPT09YHNhZmV0eS1jb2RlLWNoZWNrZWRgP1YuY2hlY2tlZDpWLnNlbGZEZWNsYXJlZH0se2tpbmQ6YHRpbWVgLGxhYmVsOlYucGFpcmVkLHZhbHVlOm5ldyBEYXRlKGUuc2luY2UqMWUzKS50b0lTT1N0cmluZygpLnNsaWNlKDAsMTApfV19ZnVuY3Rpb24gX2Uoe2FwaTplLG93bmVyOnR9PXt9KXtsZXQgbj0oMCx4LnVzZU1lbW8pKCgpPT5lPz9oKCksW2VdKSxyPSgwLHgudXNlTWVtbykoKCk9PnQ_P0koKSxbdF0pLFtpLGFdPSgwLHgudXNlU3RhdGUpKHtwaGFzZTpgbG9hZGluZ2B9KSxbcyxsXT0oMCx4LnVzZVN0YXRlKSh2b2lkIDApLFt1LHBdPSgwLHgudXNlU3RhdGUpKHZvaWQgMCksW2csZWVdPSgwLHgudXNlU3RhdGUpKDApLFtfLHZdPSgwLHgudXNlU3RhdGUpKCExKSxbeSxuZV09KDAseC51c2VTdGF0ZSkocmUpLFtTLENdPSgwLHgudXNlU3RhdGUpKCExKTsoMCx4LnVzZUVmZmVjdCkoKCk9PntsZXQgZT0hMDtyZXR1cm4gbi5nZXQoYikudGhlbih0PT57aWYoIWUpcmV0dXJuO2lmKHQua2luZD09PWBlcnJvcmAmJnQuc3RhdHVzPT09NDA5KXthKHtwaGFzZTpgbm90X3NldF91cGB9KTtyZXR1cm59bGV0IG49dC5raW5kPT09YG9rYD90ZSh0LmRhdGEpOntraW5kOmBlcnJvcmB9O24ua2luZD09PWBva2A_KGEoe3BoYXNlOmBva2AsY29udGFjdHM6bi5jb250YWN0c30pLGwoZT0-ZSE9PXZvaWQgMCYmbi5jb250YWN0cy5zb21lKHQ9PnQucmVmPT09ZSk_ZTpuLmNvbnRhY3RzWzBdPy5yZWYpKTphKHtwaGFzZTpgZXJyb3JgfSl9KSwoKT0-e2U9ITF9fSxbbixnXSksKDAseC51c2VFZmZlY3QpKCgpPT57bGV0IGU9ITA7cmV0dXJuIHIucGFzc2tleSgpLnRoZW4odD0-e2UmJnAodCl9KSwoKT0-e2U9ITF9fSxbcl0pO2xldCB3PSgwLHgudXNlQ2FsbGJhY2spKGU9Pnt2KGU9PT1gcmVtb3ZlYCksZT09PWByZW1vdmVgJiZDKCExKSxlZShlPT5lKzEpfSxbXSksVD0oMCxHLmpzeCkoYGgxYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOmYuY29udGFjdHN9KTtpZihpLnBoYXNlPT09YG5vdF9zZXRfdXBgKXJldHVybigwLEcuanN4cykoRy5GcmFnbWVudCx7Y2hpbGRyZW46W1QsKDAsRy5qc3gpKGMse2ljb246YGluZm9gLHRpdGxlOkIubm90U2V0VXB9KV19KTtpZihpLnBoYXNlPT09YGxvYWRpbmdgKXJldHVybigwLEcuanN4cykoRy5GcmFnbWVudCx7Y2hpbGRyZW46W1QsKDAsRy5qc3gpKGQse2xvYWRpbmc6ITAsbGFiZWw6Qi5sb2FkaW5nLGxpbmVzOjQsY2xhc3NOYW1lOmBjdC1sb2FkaW5nYH0pXX0pO2lmKGkucGhhc2U9PT1gZXJyb3JgKXJldHVybigwLEcuanN4cykoRy5GcmFnbWVudCx7Y2hpbGRyZW46W1QsKDAsRy5qc3gpKGMse2ljb246YGNpcmNsZS1hbGVydGAsdGl0bGU6Qi5saXN0VW5hdmFpbGFibGV9KV19KTtpZihpLmNvbnRhY3RzLmxlbmd0aD09PTApcmV0dXJuKDAsRy5qc3hzKShHLkZyYWdtZW50LHtjaGlsZHJlbjpbVCxfPygwLEcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOkIucmVtb3ZlZH0pOm51bGwsKDAsRy5qc3gpKGMse2ljb246YHVzZXJzYCx0aXRsZTpCLmVtcHR5VGl0bGUscHJvbXB0OkIuZW1wdHlQcm9tcHR9KV19KTtsZXQgTz1pLmNvbnRhY3RzLmZpbmQoZT0-ZS5yZWY9PT1zKT8_aS5jb250YWN0c1swXSxrPU8_Lm9sZGVyU2FtZU93bmVyLEE9Tz09PXZvaWQgMHx8az09PXZvaWQgMHx8RSh5LE8ucmVmLGspP3ZvaWQgMDppLmNvbnRhY3RzLmZpbmQoZT0-ZS5yZWY9PT1rJiZlLnJlZiE9PU8ucmVmJiZlLnN0YXR1cz09PWBhY3RpdmVgKTtyZXR1cm4oMCxHLmpzeHMpKEcuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxHLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWwgYWwtbXV0ZWQgY3QtY291bnRgLGNoaWxkcmVuOkgoaS5jb250YWN0cy5sZW5ndGgpfSksVCxfPygwLEcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOkIucmVtb3ZlZH0pOm51bGwsKDAsRy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGN0LWxheW91dGAsY2hpbGRyZW46KDAsRy5qc3gpKFgse2NvbnRhY3RzOmkuY29udGFjdHMsc2VsZWN0ZWQ6Tz8ucmVmLG9uU2VsZWN0OmU9Pnt2KCExKSxsKGUpLEMoITApfX0pfSksKDAsRy5qc3gpKG8se29wZW46UyYmTyE9PXZvaWQgMCx0aXRsZTpCLmRldGFpbFRpdGxlLGNsb3NlTGFiZWw6Qi5jbG9zZVNoZWV0LG9uQ2xvc2U6KCk9PkMoITEpLGNoaWxkcmVuOk89PT12b2lkIDA_bnVsbDooMCxHLmpzeCkoWix7Y29udGFjdDpPLGFwaTpuLG93bmVyOnIscGFzc2tleTp1LG9sZGVyOkEsb25LZWVwQm90aDooKT0-e2shPT12b2lkIDAmJm5lKEQoeSxPLnJlZixrKSl9LG9uQ2hhbmdlZDp3fSxPLnJlZil9KSwoMCxHLmpzeCkobSx7ZmllbGRzOk89PT12b2lkIDA_W106UShPKX0pXX0pfWV4cG9ydHtfZSBhcyBDb250YWN0c1BhZ2V9Ow"],
54255
+ ["assets/data-BY9YJAh7.js", "dmFyIGU9YC9hcGkvdWkvY29udGFjdHNgLHQ9L14weFswLTlhLWZdezQwfSQvLG49L15bMC05XXs0fSBbMC05XXs0fSBbMC05XXs0fSQvLHI9L15bMC05QS1GYS1mXXs0fSg_OlsgwrctXT9bMC05QS1GYS1mXXs0fSl7MSwzfSQvLGk9ZT0-KGUucmVwbGFjZSgvWyDCty1dL2csYGApLnRvVXBwZXJDYXNlKCkubWF0Y2goLy57NH0vZyk_P1tdKS5qb2luKGDCt2ApLGE9MTI4LG89ZT0-dHlwZW9mIGU9PWBvYmplY3RgJiYhIWUmJiFBcnJheS5pc0FycmF5KGUpLHM9KGUsdCk9PnR5cGVvZiBlPT1gc3RyaW5nYCYmdC5pbmNsdWRlcyhlKTtmdW5jdGlvbiBjKGUpe2lmKCFvKGUpKXJldHVybjtsZXR7cmVmOm4sbmFtZTpjLG5hbWVTb3VyY2U6bCxmaW5nZXJwcmludDp1LGxhYmVsOmQsc3RhdHVzOmYscGFpcmluZzpwLHNpbmNlOm0sb2xkZXJTYW1lT3duZXI6aH09ZTtpZih0eXBlb2YgbiE9YHN0cmluZ2B8fCF0LnRlc3Qobil8fHR5cGVvZiBjIT1gc3RyaW5nYHx8Yy5sZW5ndGg-YXx8IXMobCxbYG93bmVyYCxgY291bnRlcnBhcnR5YF0pfHwhcyhkLFtgc2VsZi1kZWNsYXJlZGAsYHNhZmV0eS1jb2RlLWNoZWNrZWRgXSl8fCFzKGYsW2BhY3RpdmVgLGBibG9ja2VkYCxgcmV2b2tlZGBdKXx8IXMocCxbYHBlbmRpbmdgLGBjb21wbGV0ZWAsYG1pc21hdGNoYF0pfHx0eXBlb2YgbSE9YG51bWJlcmB8fCFOdW1iZXIuaXNTYWZlSW50ZWdlcihtKXx8bTwwKXJldHVybjtsZXQgZz10eXBlb2YgdT09YHN0cmluZ2AmJnIudGVzdCh1KT91Om51bGwsXz10eXBlb2YgaD09YHN0cmluZ2AmJnQudGVzdChoKSYmaCE9PW4_aDpudWxsO3JldHVybntyZWY6bixuYW1lOmMsbmFtZVNvdXJjZTpsLGxhYmVsOmQsc3RhdHVzOmYscGFpcmluZzpwLHNpbmNlOm0sLi4uZz09PW51bGw_e306e2ZpbmdlcnByaW50OmkoZyl9LC4uLl89PT1udWxsP3t9OntvbGRlclNhbWVPd25lcjpffX19ZnVuY3Rpb24gbChlKXtpZighbyhlKXx8ZS5zdGF0dXMhPT1gb2tgfHwhQXJyYXkuaXNBcnJheShlLmNvbnRhY3RzKSlyZXR1cm57a2luZDpgZXJyb3JgfTtsZXQgdD1bXTtmb3IobGV0IG4gb2YgZS5jb250YWN0cyl7bGV0IGU9YyhuKTtlIT09dm9pZCAwJiZ0LnB1c2goZSl9cmV0dXJue2tpbmQ6YG9rYCxjb250YWN0czp0fX1mdW5jdGlvbiB1KGUpe3JldHVybiBvKGUpJiZlLnN0YXR1cz09PWBva2AmJnR5cGVvZiBlLmNvZGU9PWBzdHJpbmdgJiZuLnRlc3QoZS5jb2RlKT97a2luZDpgb2tgLGNvZGU6ZS5jb2RlfTp7a2luZDpgdW5hdmFpbGFibGVgfX1mdW5jdGlvbiBkKGUpe3JldHVybiBvKGUpJiZlLnN0YXR1cz09PWBva2A_e2tpbmQ6YG9rYH06byhlKSYmZS5zdGF0dXM9PT1gcmVmdXNlZGAmJnMoZS5yZWFzb24sW2BhbGlhc19pbnZhbGlkYCxgYWxpYXNfdGFrZW5gLGBjb250YWN0X3Vua25vd25gXSk_e2tpbmQ6YHJlZnVzZWRgLHJlYXNvbjplLnJlYXNvbn06e2tpbmQ6YHJlZnVzZWRgLHJlYXNvbjpgdW5hdmFpbGFibGVgfX1mdW5jdGlvbiBmKG4scil7aWYoIXQudGVzdChuKSl0aHJvdyBFcnJvcihgY29udGFjdCByZWYgaXMgbWFsZm9ybWVkYCk7cmV0dXJuYCR7ZX0vJHtufS8ke3J9YH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuYCR7ZihlLGByZW5hbWUtY2hlY2tgKX0_YWxpYXM9JHtlbmNvZGVVUklDb21wb25lbnQodCl9YH1leHBvcnR7ZCBhcyBhLGwgYXMgaSxmIGFzIG4scCBhcyBvLHUgYXMgcixlIGFzIHR9Ow"],
54256
+ ["assets/data-BZGy8Ynu.js", "dmFyIGU9bmV3IFNldChbYHJlY29yZGluZ2AsYHN1Ym1pdHRlZGAsYHJlY29yZGVkYCxgbmVlZHMtY3JlZGl0c2AsYGZhaWxlZGBdKSx0PS9eW1x4MjEtXHg3ZV17MSwyMjB9JC8sbj0vXlwkWzAtOV17MSwzMn1cLlswLTldezJ9JC8scj1lPT50eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSk7ZnVuY3Rpb24gaSh0KXtpZighcih0KSlyZXR1cm47bGV0e2RpcmVjdGlvbjpuLHN0YXRlOmksY3JlYXRlZEF0OmF9PXQ7aWYoKG49PT1gc2VudGB8fG49PT1gcmVjZWl2ZWRgKSYmdHlwZW9mIGk9PWBzdHJpbmdgJiZlLmhhcyhpKSYmISh0eXBlb2YgYSE9YG51bWJlcmB8fCFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKXx8YTwwKSlyZXR1cm57ZGlyZWN0aW9uOm4sc3RhdGU6aSxjcmVhdGVkQXQ6YX19ZnVuY3Rpb24gYShlKXtpZighcihlKXx8ZS5zdGF0dXMhPT1gb2tgfHwhQXJyYXkuaXNBcnJheShlLml0ZW1zKSlyZXR1cm57a2luZDpgZXJyb3JgfTtsZXQgbj1bXTtmb3IobGV0IHQgb2YgZS5pdGVtcyl7bGV0IGU9aSh0KTtlIT09dm9pZCAwJiZuLnB1c2goZSl9bGV0IGE9ZS5uZXh0Q3Vyc29yO3JldHVybiB0eXBlb2YgYT09YHN0cmluZ2AmJnQudGVzdChhKT97a2luZDpgb2tgLGl0ZW1zOm4sbmV4dDphfTp7a2luZDpgb2tgLGl0ZW1zOm59fWZ1bmN0aW9uIG8oZSl7aWYoIXIoZSkpcmV0dXJue2tpbmQ6YHVuYXZhaWxhYmxlYH07bGV0e3N0YXR1czp0LHByb29mc0xlZnQ6aSxiYWxhbmNlOmEscHJpY2U6byx0ZXN0OnMscGFydGlhbDpjfT1lO3JldHVybiB0IT09YG9rYHx8dHlwZW9mIGkhPWBudW1iZXJgfHwhTnVtYmVyLmlzU2FmZUludGVnZXIoaSl8fGk8MHx8dHlwZW9mIGEhPWBzdHJpbmdgfHwhbi50ZXN0KGEpfHx0eXBlb2YgbyE9YHN0cmluZ2B8fCFuLnRlc3Qobyl8fHR5cGVvZiBzIT1gYm9vbGVhbmB8fHR5cGVvZiBjIT1gYm9vbGVhbmA_e2tpbmQ6YHVuYXZhaWxhYmxlYH06e2tpbmQ6YG9rYCxwcm9vZnNMZWZ0OmksYmFsYW5jZTphLHByaWNlOm8sdGVzdDpzLHBhcnRpYWw6Y319ZnVuY3Rpb24gcyhlKXtsZXQgdD1gL2FwaS91aS9wcm9vZnM_bGltaXQ9MjBgO3JldHVybiBlPT09dm9pZCAwP3Q6YCR7dH0mY3Vyc29yPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGUpfWB9dmFyIGM9YC9hcGkvdWkvcHJvb2ZzL2NyZWRpdHNgLGw9YC9hcGkvdWkvcHJvb2ZzL3RvcC11cGAsdT1gL2FwaS91aS9wcm9vZnMvd2l0aGRyYXdgLGQ9bmV3IFNldChbYGdub3Npcy10ZXN0YCxgYmFzZS10ZXN0YF0pLGY9L14weFswLTlhLWZdezQwfSQvLHA9L14oMHxbMS05XVswLTldezAsNzd9KSQvO2Z1bmN0aW9uIG0oZSl7aWYoIXIoZSkpcmV0dXJuO2xldHt1c2Q6dCxhbW91bnQ6aX09ZTtpZih0eXBlb2YgdD09YHN0cmluZ2AmJm4udGVzdCh0KSYmdHlwZW9mIGk9PWBzdHJpbmdgJiZwLnRlc3QoaSkpcmV0dXJue3VzZDp0LGFtb3VudDppfX1mdW5jdGlvbiBoKGUpe2lmKCFyKGUpKXJldHVybjtsZXR7bmV0d29yazp0LG1ldGhvZDppfT1lO2lmKHR5cGVvZiB0IT1gc3RyaW5nYHx8IWQuaGFzKHQpKXJldHVybjtpZihpPT09YGNvbWluZ19zb29uYClyZXR1cm57bmV0d29yazp0LG1ldGhvZDppfTtpZihpIT09YGFkZHJlc3NgfHx0IT09YGdub3Npcy10ZXN0YClyZXR1cm47bGV0e2FkZHJlc3M6YSxhdmFpbGFibGU6b309ZTtpZih0eXBlb2YgYSE9YHN0cmluZ2B8fCFmLnRlc3QoYSkpcmV0dXJuO2lmKG89PT0hMSlyZXR1cm57bmV0d29yazp0LG1ldGhvZDppLGF2YWlsYWJsZTpvLGFkZHJlc3M6YX07aWYobyE9PSEwKXJldHVybjtsZXQgcz1lLnJlY2VpdmVkLGM9bShlLmFkZGFibGUpLGw9bShlLmNyZWRpdHMpO2lmKHR5cGVvZiBzPT1gc3RyaW5nYCYmbi50ZXN0KHMpJiZjIT09dm9pZCAwJiZsIT09dm9pZCAwKXJldHVybntuZXR3b3JrOnQsbWV0aG9kOmksYXZhaWxhYmxlOm8sYWRkcmVzczphLHJlY2VpdmVkOnMsYWRkYWJsZTpjLGNyZWRpdHM6bH19ZnVuY3Rpb24gZyhlKXtpZighcihlKXx8ZS5zdGF0dXMhPT1gb2tgfHwhQXJyYXkuaXNBcnJheShlLm5ldHdvcmtzKSlyZXR1cm57a2luZDpgdW5hdmFpbGFibGVgfTtsZXQgdD1bXTtmb3IobGV0IG4gb2YgZS5uZXR3b3Jrcyl7bGV0IGU9aChuKTtlIT09dm9pZCAwJiZ0LnB1c2goZSl9cmV0dXJue2tpbmQ6YG9rYCxuZXR3b3Jrczp0fX1mdW5jdGlvbiBfKGUpe2lmKGUua2luZD09PWBva2ApcmV0dXJuIGUubmV0d29ya3MuZmluZChlPT5lLm1ldGhvZD09PWBhZGRyZXNzYCl9dmFyIHY9ZT0-ZSE9PWAwYDtleHBvcnR7diBhcyBhLGEgYXMgYyxfIGFzIGksZyBhcyBsLGwgYXMgbixzIGFzIG8sdSBhcyByLG8gYXMgcyxjIGFzIHR9Ow"],
54257
+ ["assets/files-Dz8GWHLF.js", "aW1wb3J0e28gYXMgZSxzIGFzIHQsdCBhcyBufWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7aW1wb3J0e2kgYXMgcixuIGFzIGksdCBhcyBhfWZyb20iLi9mb3Jtcy1Cdkt2TkhNWi5qcyI7aW1wb3J0e3QgYXMgb31mcm9tIi4vdHJ1c3QtRElZR1J0cWkuanMiO2ltcG9ydHtuIGFzIHN9ZnJvbSIuL3N1cmZhY2UtRHZHMFdrei0uanMiO2ltcG9ydHt0IGFzIGN9ZnJvbSIuL3Byb29mLW5qMGp5LTJBLmpzIjtpbXBvcnR7QiBhcyBsLEMgYXMgdSxEIGFzIGQsTCBhcyBmLFQgYXMgcCxiIGFzIG0saiBhcyBoLGsgYXMgZyxyIGFzIF8seSBhcyB2LHogYXMgeX1mcm9tIi4vaW5kZXgtMUJOaHl0czAuanMiO3ZhciBiPXQoKSxlZT1gL2FwaS91aS9maWxlc2AseD1gL2FwaS91aS9maWxlcy9mb2xkZXJzYCx0ZT0oZSx0LG4pPT5gL2FwaS91aS9maWxlcy9yZXZpZXc_JHtuZXcgVVJMU2VhcmNoUGFyYW1zKHtbZV06dCx2ZXJzaW9uOlN0cmluZyhuKX0pLnRvU3RyaW5nKCl9YCxTPTQwOTYsQz0vXltBLVphLXowLTlfLV17NDN9JC8sbmU9L15bYS16X117MSw2NH0kLyx3PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxUPWU9PnR5cGVvZiBlPT1gc3RyaW5nYCYmZS5sZW5ndGg-MCYmZS5sZW5ndGg8PVM7ZnVuY3Rpb24gcmUoZSl7aWYoIXcoZSl8fCFBcnJheS5pc0FycmF5KGUuZm9sZGVycykpcmV0dXJuO2xldCB0PWUudmVyc2lvbixuPXR5cGVvZiB0PT1gbnVtYmVyYCYmTnVtYmVyLmlzU2FmZUludGVnZXIodCkmJnQ-PTA_dDpudWxsLHI9W107Zm9yKGxldCB0IG9mIGUuZm9sZGVycyl7aWYoIXcodCl8fCFUKHQucGF0aCkpY29udGludWU7bGV0IGU9dC5yZXNvbHZlZDtyLnB1c2goe3BhdGg6dC5wYXRoLHJlc29sdmVkOlQoZSk_ZTpudWxsfSl9cmV0dXJue2ZvbGRlcnM6cix2ZXJzaW9uOm59fWZ1bmN0aW9uIGllKGUpe2lmKCF3KGUpKXJldHVybjtsZXR7cmV2aWV3OnQsY2hhbmdlOm4sZm9sZGVyOnIsdHlwZWQ6aSxlbHNld2hlcmU6YSx3YXJuaW5nczpvLGV4cGlyZXNBdDpzfT1lO2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmQy50ZXN0KHQpJiYobj09PWBhZGRgfHxuPT09YHJlbW92ZWApJiZUKHIpJiZUKGkpJiZ0eXBlb2YgYT09YGJvb2xlYW5gJiYhKCFBcnJheS5pc0FycmF5KG8pfHxvLmxlbmd0aD42NCkmJm8uZXZlcnkoZT0-dHlwZW9mIGU9PWBzdHJpbmdgJiZuZS50ZXN0KGUpKSYmdHlwZW9mIHM9PWBudW1iZXJgJiZOdW1iZXIuaXNTYWZlSW50ZWdlcihzKSlyZXR1cm57cmV2aWV3OnQsY2hhbmdlOm4sZm9sZGVyOnIsdHlwZWQ6aSxlbHNld2hlcmU6YSx3YXJuaW5nczpvLGV4cGlyZXNBdDpzfX1mdW5jdGlvbiBhZShlLHQpe2xldCBuPXcodCk_dC5lcnJvcjp2b2lkIDA7aWYoZT09PTQyMiYmbj09PWBmb2xkZXJfcmVmdXNlZGAmJncodCkpe2xldCBlPXR5cGVvZiB0LnJlYXNvbj09YHN0cmluZ2A_dC5yZWFzb246YHVua25vd25gLG49dC5wcm90ZWN0ZWRGb2xkZXI7cmV0dXJuIFQobik_e2tpbmQ6YGZvbGRlcmAscmVhc29uOmUscHJvdGVjdGVkRm9sZGVyOm59OntraW5kOmBmb2xkZXJgLHJlYXNvbjplfX1zd2l0Y2gobil7Y2FzZWBydWxlc191bnJlYWRhYmxlYDpjYXNlYHJlY2VpcHRzX3F1ZXN0aW9uYDpjYXNlYGNoYW5nZWRgOmNhc2Vgc3RhbGVgOmNhc2Vgbm90X3NldF91cGA6Y2FzZWB1bmF2YWlsYWJsZWA6cmV0dXJue2tpbmQ6bn07ZGVmYXVsdDpyZXR1cm57a2luZDpgZmFpbGVkYH19fXZhciBvZT1gL2FwaS91aS9maWxlcy9yZWNlaXZlZGAsc2U9YC9hcGkvdWkvZmlsZXMvc2VudGAsY2U9YC9hcGkvdWkvZmlsZXMvcmVjZWl2ZWQvcmV2ZWFsYCxsZT1SZWdFeHAoYFtcXHUwMDAwLVxcdTAwMWZcXHUwMDdmLVxcdTAwOWZcXHUwMGFkXFx1MDYxY1xcdTE4MGVcXHUyMDBiLVxcdTIwMGZcXHUyMDI4LVxcdTIwMmVcXHUyMDYwLVxcdTIwNmZcXHVmZWZmXFx1ZmZmOS1cXHVmZmZiXWAsYGdgKTtmdW5jdGlvbiBFKGUsdD0yNTUpe2xldCBuPVsuLi5lLnJlcGxhY2UobGUsYGApLnRyaW0oKV07cmV0dXJuIG4ubGVuZ3RoPnQ_YCR7bi5zbGljZSgwLHQtMSkuam9pbihgYCl94oCmYDpuLmpvaW4oYGApfXZhciBEPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxPPShlLHQpPT50eXBlb2YgZT09YHN0cmluZ2AmJmUubGVuZ3RoPjAmJmUubGVuZ3RoPD10P2U6dm9pZCAwLGs9ZT0-dHlwZW9mIGU9PWBudW1iZXJgJiZOdW1iZXIuaXNGaW5pdGUoZSkmJmU-PTA_ZTp2b2lkIDAsQT0oZSx0KT0-dHlwZW9mIGU9PWBzdHJpbmdgP3QuZmluZCh0PT50PT09ZSk6dm9pZCAwLHVlPVtgc2F2ZWRgLGBub3Rfc2F2ZWRgLGBleHBpcmVkYCxgZGVsZXRlZGBdLGRlPVtgYXZhaWxhYmxlYCxgZXhwaXJlZGAsYGRlbGV0ZWRgXSxmZT1bYHF1ZXVlZGAsYHNlbnRgLGBub3RfZGVsaXZlcmVkYF07ZnVuY3Rpb24gcGUoZSl7aWYoIUQoZSkpcmV0dXJuO2xldCB0PU8oZS5pZCw4MCksbj1PKGUuZnJvbSw0MDApLHI9TyhlLm5hbWUsMTAyNCksaT1rKGUuYXQpLGE9ayhlLnNpemUpLG89QShlLnN0YXRlLHVlKSxzPWUucHJvb2Y7aWYodD09PXZvaWQgMHx8bj09PXZvaWQgMHx8cj09PXZvaWQgMHx8aT09PXZvaWQgMHx8YT09PXZvaWQgMHx8bz09PXZvaWQgMHx8dHlwZW9mIHMhPWBib29sZWFuYClyZXR1cm47bGV0IGM9bz09PWBzYXZlZGA_TyhlLnNhdmVkTmFtZSwxMDI0KTp2b2lkIDA7cmV0dXJue2lkOnQsZnJvbTpFKG4sMTAwKSxhdDppLG5hbWU6RShyKSxzaXplOmEsc3RhdGU6byxzYXZlZE5hbWU6Yz09PXZvaWQgMD9udWxsOkUoYykscHJvb2Y6c319ZnVuY3Rpb24gbWUoZSl7aWYoIUQoZSkpcmV0dXJuO2xldCB0PU8oZS5pZCw4MCksbj1PKGUudG8sNDAwKSxyPU8oZS5uYW1lLDEwMjQpLGk9ayhlLmF0KSxhPWsoZS5zaXplKSxvPUEoZS5zdGF0dXMsZmUpLHM9QShlLnN0YXRlLGRlKSxjPWUucmVjZWlwdDtpZih0IT09dm9pZCAwJiZuIT09dm9pZCAwJiZyIT09dm9pZCAwJiZpIT09dm9pZCAwJiZhIT09dm9pZCAwJiZvIT09dm9pZCAwJiZzIT09dm9pZCAwJiZ0eXBlb2YgYz09YGJvb2xlYW5gKXJldHVybntpZDp0LHRvOkUobiwxMDApLGF0OmksbmFtZTpFKHIpLHNpemU6YSxzdGF0dXM6byxyZWNlaXB0OmMsc3RhdGU6cyxleHBpcmVzQXQ6ayhlLmV4cGlyZXNBdCk_P251bGx9fWZ1bmN0aW9uIGooZSx0KXtpZighRChlKXx8IUFycmF5LmlzQXJyYXkoZS5pdGVtcykpcmV0dXJuO2xldCBuPVtdO2ZvcihsZXQgciBvZiBlLml0ZW1zKXtsZXQgZT10KHIpO2UhPT12b2lkIDAmJm4ucHVzaChlKX1sZXQgcj1lLm5leHRDdXJzb3I7aWYoIShyIT09dm9pZCAwJiYodHlwZW9mIHIhPWBzdHJpbmdgfHxyLmxlbmd0aD4yNTYpKSlyZXR1cm57aXRlbXM6bixuZXh0OnR5cGVvZiByPT1gc3RyaW5nYCYmci5sZW5ndGg-MD9yOm51bGx9fXZhciBoZT1lPT5qKGUscGUpLGdlPWU9PmooZSxtZSk7ZnVuY3Rpb24gX2UoZSx0KXtsZXQgbj1uZXcgVVJMU2VhcmNoUGFyYW1zKHtsaW1pdDpgMjBgfSk7cmV0dXJuIHQhPT1udWxsJiZuLnNldChgY3Vyc29yYCx0KSxgJHtlfT8ke24udG9TdHJpbmcoKX1gfWFzeW5jIGZ1bmN0aW9uIHZlKGUsdCxuLHIpe2xldCBpPWF3YWl0IGUoX2UodCxuKSk7aWYoaS5raW5kPT09YG9mZmxpbmVgKXJldHVybntraW5kOmBvZmZsaW5lYH07aWYoaS5zdGF0dXM9PT00MDkpcmV0dXJue2tpbmQ6YG5vdF9zZXRfdXBgfTtsZXQgYT1pLnN0YXR1cz09PTIwMD9yKGkuanNvbik6dm9pZCAwO3JldHVybiBhPT09dm9pZCAwP3traW5kOmBlcnJvcmB9OntraW5kOmBva2AsZmVlZDphfX12YXIgTT1gWC1BZ2VudExpbmstQ1NSRmAseWU9YC9hcGkvb3duZXIvcGFzc2tleWA7ZnVuY3Rpb24gYmUoKXtyZXR1cm4gdHlwZW9mIGRvY3VtZW50PmB1YD9gYDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBtZXRhW25hbWU9ImFnZW50bGluay1jc3JmIl1gKT8uZ2V0QXR0cmlidXRlKGBjb250ZW50YCk_P2BgfXZhciBOPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKTtmdW5jdGlvbiB4ZShlKXtsZXQgdD1gYDtmb3IobGV0IG4gb2YgZSl0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pO3JldHVybiBidG9hKHQpLnJlcGxhY2UoL1wrL2csYC1gKS5yZXBsYWNlKC9cLy9nLGBfYCkucmVwbGFjZSgvPSskLyxgYCl9ZnVuY3Rpb24gUChlKXtsZXQgdD1lLnJlcGxhY2UoLy0vZyxgK2ApLnJlcGxhY2UoL18vZyxgL2ApLG49YXRvYih0K2A9YC5yZXBlYXQoKDQtdC5sZW5ndGglNCklNCkpLHI9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSs9MSlyW2VdPW4uY2hhckNvZGVBdChlKTtyZXR1cm4gcn1mdW5jdGlvbiBTZShlKXtsZXQgdD1uZXcgVWludDhBcnJheShlLnJlZHVjZSgoZSx0KT0-ZSsyK3QubGVuZ3RoLDApKSxuPTA7Zm9yKGxldCByIG9mIGUpe2lmKHIubGVuZ3RoPjY1NTM1KXRocm93IEVycm9yKGBmaWVsZCB0b28gbG9uZ2ApO3Rbbl09ci5sZW5ndGg-PjgsdFtuKzFdPXIubGVuZ3RoJjI1NSx0LnNldChyLG4rMiksbis9MityLmxlbmd0aH1yZXR1cm4gdH12YXIgRj0vXltBLVphLXowLTlfLV17MSwxMDI0fSQvLENlPVtgbm90X2ZvdW5kYCxgcmVmdXNlZGAsYHVuYXZhaWxhYmxlYCxgbm90X29wZW5lZGBdO2Z1bmN0aW9uIHdlKGU9e30pe2xldCB0PWUuZmV0Y2g_PygoZSx0KT0-Z2xvYmFsVGhpcy5mZXRjaChlLHQpKSxuPSgpPT5lLnRva2VuPz9iZSgpO2FzeW5jIGZ1bmN0aW9uIHIoZSxuKXtpZighZS5zdGFydHNXaXRoKGAvYXBpL2ApfHxlLnN0YXJ0c1dpdGgoYC8vYCkpdGhyb3cgRXJyb3IoYGFwaSBwYXRoYCk7bGV0IHI7dHJ5e3I9YXdhaXQgdChlLHsuLi5uLGNyZWRlbnRpYWxzOmBzYW1lLW9yaWdpbmAsY2FjaGU6YG5vLXN0b3JlYH0pfWNhdGNoe3JldHVybntraW5kOmBvZmZsaW5lYH19bGV0IGk7dHJ5e2k9YXdhaXQgci5qc29uKCl9Y2F0Y2h7aT12b2lkIDB9cmV0dXJue2tpbmQ6YGFuc3dlcmAsc3RhdHVzOnIuc3RhdHVzLGpzb246aX19cmV0dXJue2dldDplPT5yKGUse21ldGhvZDpgR0VUYCxoZWFkZXJzOm5ldyBIZWFkZXJzKHtbTV06bigpfSl9KSxhc3luYyBwYXNza2V5KCl7bGV0IGU9YXdhaXQgcih5ZSx7bWV0aG9kOmBHRVRgLGhlYWRlcnM6bmV3IEhlYWRlcnMoe1tNXTpuKCl9KX0pO2lmKGUua2luZCE9PWBhbnN3ZXJgfHxlLnN0YXR1cyE9PTIwMHx8IU4oZS5qc29uKSlyZXR1cm47bGV0IHQ9ZS5qc29uLnBhc3NrZXk7aWYoIU4odCl8fHQucmVnaXN0ZXJlZCE9PSEwKXJldHVybjtsZXR7Y3JlZGVudGlhbElkOmkscHJmU2FsdDphfT10O2lmKHR5cGVvZiBpPT1gc3RyaW5nYCYmRi50ZXN0KGkpJiZ0eXBlb2YgYT09YHN0cmluZ2AmJkYudGVzdChhKSlyZXR1cm57Y3JlZGVudGlhbElkOmkscHJmU2FsdDphfX0sYXN5bmMgY29tbWl0KGUsdCxpKXtsZXQgYT1uZXcgSGVhZGVycyh7W01dOm4oKSwiY29udGVudC10eXBlIjpgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCwiWC1BZ2VudExpbmstSW5wdXQiOnhlKG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeSh0KSkpfSk7aS5raW5kPT09YHBhc3NrZXlgJiZhLnNldChgWC1BZ2VudExpbmstUHJlc2VuY2VgLGBwYXNza2V5YCk7bGV0IG89YXdhaXQgcihlLHttZXRob2Q6YFBPU1RgLGhlYWRlcnM6YSxib2R5Omkua2luZD09PWBwYXNza2V5YD9pLmJvZHk6bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGkuY29kZSl9KTtpZihvLmtpbmQ9PT1gb2ZmbGluZWApcmV0dXJue2tpbmQ6YG9mZmxpbmVgfTtsZXQgcz1OKG8uanNvbik_by5qc29uOnt9O2lmKG8uc3RhdHVzPT09MjAwJiZzLnN0YXR1cz09PWBhcHBsaWVkYClyZXR1cm57a2luZDpgYXBwbGllZGAsY29uZmlybWVkOnMuY29uZmlybWVkPT09ITB9O2lmKG8uc3RhdHVzPT09NDAxKXJldHVybntraW5kOmBzZXNzaW9uX2V4cGlyZWRgfTtsZXQgYz1zLnN0YXR1cyxsPXMuZXJyb3I7aWYoYz09PWB3YWl0YCl7bGV0IGU9cy5yZXRyeUFmdGVyO3JldHVybntraW5kOmB3YWl0YCxzZWNvbmRzOnR5cGVvZiBlPT1gbnVtYmVyYCYmTnVtYmVyLmlzU2FmZUludGVnZXIoZSkmJmU-MCYmZTw9ODY0MDA_ZToxfX1yZXR1cm4gYz09PWBwcmVzZW5jZV9yZWplY3RlZGB8fGM9PT1gcHJlc2VuY2VfcmVxdWlyZWRgfHxjPT09YGJ1c3lgP3traW5kOmN9OmM9PT1gbmVlZHNfc2V0dXBgP3traW5kOmBub3Rfc2V0X3VwYH06bD09PWBjaGFuZ2VkYHx8bD09PWBleHBpcmVkYD97a2luZDpsfTpjPT09YHJlZnVzZWRgfHxvLnN0YXR1cz09PTQwOT97a2luZDpgcmVmdXNlZGB9OntraW5kOmBmYWlsZWRgfX0sYXN5bmMgcmV2ZWFsKGUpe2xldCB0PWF3YWl0IHIoY2Use21ldGhvZDpgUE9TVGAsaGVhZGVyczpuZXcgSGVhZGVycyh7W01dOm4oKSwiY29udGVudC10eXBlIjpgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYH0pLGJvZHk6bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHtpZDplfSkpfSk7aWYodC5raW5kPT09YG9mZmxpbmVgKXJldHVybmBvZmZsaW5lYDtpZih0LnN0YXR1cz09PTQwMSlyZXR1cm5gc2Vzc2lvbl9leHBpcmVkYDtsZXQgaT1OKHQuanNvbik_dC5qc29uOnt9O2lmKHQuc3RhdHVzPT09MjAwJiZpLnN0YXR1cz09PWBzaG93bmApcmV0dXJuYHNob3duYDtsZXQgYT1pLmVycm9yO3JldHVybiBDZS5maW5kKGU9PmU9PT1hKT8_YGZhaWxlZGB9fX1mdW5jdGlvbiBJKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ0eXBlb2Ygd2luZG93LlB1YmxpY0tleUNyZWRlbnRpYWw9PWBmdW5jdGlvbmAmJnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IuY3JlZGVudGlhbHMhPT12b2lkIDAmJnR5cGVvZiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0PT1gZnVuY3Rpb25gfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIGU9PW51bGw_bmV3IFVpbnQ4QXJyYXk6ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP25ldyBVaW50OEFycmF5KGUuc2xpY2UoMCkpOm5ldyBVaW50OEFycmF5KGUuYnVmZmVyLnNsaWNlKGUuYnl0ZU9mZnNldCxlLmJ5dGVPZmZzZXQrZS5ieXRlTGVuZ3RoKSl9YXN5bmMgZnVuY3Rpb24gVGUoZSl7aWYoIUkoKSlyZXR1cm57a2luZDpgbm90X3VzZWRgfTtsZXQgdD1uZXcgVWludDhBcnJheSgzMik7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh0KTtsZXQgbjt0cnl7bj1hd2FpdCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KHtwdWJsaWNLZXk6e2NoYWxsZW5nZTp0LHJwSWQ6YGxvY2FsaG9zdGAsYWxsb3dDcmVkZW50aWFsczpbe3R5cGU6YHB1YmxpYy1rZXlgLGlkOlAoZS5jcmVkZW50aWFsSWQpfV0sdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgLHRpbWVvdXQ6MTJlNCxleHRlbnNpb25zOntwcmY6e2V2YWw6e2ZpcnN0OlAoZS5wcmZTYWx0KX19fX19KX1jYXRjaHtyZXR1cm57a2luZDpgbm90X3VzZWRgfX1pZihuPT09bnVsbHx8IShuIGluc3RhbmNlb2YgUHVibGljS2V5Q3JlZGVudGlhbCkpcmV0dXJue2tpbmQ6YG5vdF91c2VkYH07bGV0IHI9bi5yZXNwb25zZSxpPUwobi5nZXRDbGllbnRFeHRlbnNpb25SZXN1bHRzKCkucHJmPy5yZXN1bHRzPy5maXJzdCk7dHJ5e3JldHVybiBpLmxlbmd0aD09PTA_e2tpbmQ6YG5vdF91c2VkYH06e2tpbmQ6YG9rYCxib2R5OlNlKFtuZXcgVWludDhBcnJheShuLnJhd0lkKSxuZXcgVWludDhBcnJheShyLmF1dGhlbnRpY2F0b3JEYXRhKSxMKHIudXNlckhhbmRsZSksaV0pfX1maW5hbGx5e2kuZmlsbCgwKX19dmFyIFI9e2V4cGxhaW5lcjpgWW91IGRvbid0IHVwbG9hZCBoZXJlLiBQdXQgZmlsZXMgaW4geW91ciBTZW5kIGZvbGRlciBvciBhc2sgeW91ciBBSSB0byBzZW5kIHRoZW07IGZpbGVzIHlvdSByZWNlaXZlIGFwcGVhciB1bmRlciBSZWNlaXZlZC5gLHRhYnNMYWJlbDpgRmlsZXNgLHRhYlJlY2VpdmVkOmBSZWNlaXZlZGAsdGFiU2VudDpgU2VudGAsdGFiRm9sZGVyczpgU2VuZCBmb2xkZXJzYCx3YWl0aW5nTGFiZWw6e3JlY2VpdmVkOmB3YWl0aW5nIHRvIGJlIHNhdmVkYCxzZW50OmB3YWl0aW5nIHRvIHNlbmRgLGZvbGRlcnM6YHdhaXRpbmdgfSxwcm9ncmVzc0Fycml2aW5nOmBGaWxlIGFycml2aW5nYCxwcm9ncmVzc1NlbmRpbmc6YEZpbGUgc2VuZGluZ2AsYXJyaXZpbmdTdGVwczpbYEFycml2ZWRgLGBTYXZlZGBdLHNlbmRpbmdTdGVwczpbYFdhaXRpbmcgdG8gc2VuZGAsYFNlbnRgLGBEZWxpdmVyZWRgXSxob29kRmlsZXM6YEZpbGVzIGxpc3RlZGAsaG9vZFNpemU6YFNpemUgbGlzdGVkYCxob29kRm9sZGVyczpgRm9sZGVycyBhbGxvd2VkYCxob29kRm9sZGVyOmU9PmBGb2xkZXIgJHtTdHJpbmcoZSl9YCxob29kTW9yZUZvbGRlcnM6YE1vcmUgZm9sZGVyc2AsaG9vZE1vcmU6ZT0-YCR7U3RyaW5nKGUpfSBtb3JlYCx1bnRydXN0ZWROb3RlOmBGaWxlIG5hbWVzIGNvbWUgZnJvbSBvdGhlciBwZW9wbGUuIFRoZXkncmUgc2hvd24gYXMgcGxhaW4gdGV4dCwgYW5kIEFnZW50TGluayBuZXZlciBvcGVucyBhIGZpbGUgZm9yIHlvdS5gLGdvdEl0OmBHb3QgaXRgLGxvYWRpbmc6YExvYWRpbmcgZmlsZXPigKZgLHVuYXZhaWxhYmxlOmBZb3VyIGZpbGVzIGNhbid0IGJlIGxvYWRlZCByaWdodCBub3cuIFRyeSBhZ2FpbiBpbiBhIG1pbnV0ZS5gLG5vdFNldFVwOmBBZ2VudExpbmsgaXNuJ3Qgc2V0IHVwIG9uIHRoaXMgY29tcHV0ZXIgeWV0LiBBc2sgeW91ciBBSSB0byBzZXQgdXAgQWdlbnRMaW5rLmAsdHJ5QWdhaW46YFRyeSBhZ2FpbmAsc2hvd01vcmU6YFNob3cgbW9yZWAscmVjZWl2ZWRFbXB0eVRpdGxlOmBObyBmaWxlcyByZWNlaXZlZCB5ZXQuYCxyZWNlaXZlZEVtcHR5SGludDpgRmlsZXMgeW91ciBjb250YWN0cyBzZW5kIHlvdSBhcHBlYXIgaGVyZS5gLHNlbnRFbXB0eVRpdGxlOmBObyBmaWxlcyBzZW50IHlldC5gLHNlbnRFbXB0eUhpbnQ6YEZpbGVzIHlvdXIgQUkgc2VuZHMgYXBwZWFyIGhlcmUuIFRvIHNlbmQgb25lLCBhc2sgeW91ciBBSS5gLGZyb206YEZyb21gLHRvOmBUb2Asc2F2ZWRBczpgU2F2ZWQgYXNgLG1heUhhdmVNb3ZlZDpgWW91IG1heSBoYXZlIG1vdmVkIG9yIHJlbmFtZWQgaXQgc2luY2UsIHNvIGl0IG1pZ2h0IG5vdCBiZSB0aGVyZSBub3cuYCxub3RTYXZlZDpgTm90IHNhdmVkIHlldC4gQXNrIHlvdXIgQUkgdG8gZmV0Y2ggaXQuYCxleHBpcmVkOmBFeHBpcmVkLiBJdCBjYW4gbm8gbG9uZ2VyIGJlIGZldGNoZWQuYCxkZWxldGVkOmBEZWxldGVkIGZyb20gdGhpcyBjb21wdXRlci5gLHN0YXR1c1NlbnQ6YFNlbnRgLHN0YXR1c1NlbnROb1JlY2VpcHQ6YFNlbnQgwrcgbm8gcmVjZWlwdCB5ZXRgLHN0YXR1c1F1ZXVlZDpgV2FpdGluZyB0byBzZW5kYCxzdGF0dXNOb3REZWxpdmVyZWQ6YE5vdCBkZWxpdmVyZWRgLHJlY2VpcHRDb25maXJtZWQ6YERlbGl2ZXJ5IGNvbmZpcm1lZGAscmVjZWlwdE5vbmU6YE5vIGRlbGl2ZXJ5IGNvbmZpcm1hdGlvbiB5ZXRgLGF2YWlsYWJsZVVudGlsOmBBdmFpbGFibGUgdW50aWxgLHNlbnRFeHBpcmVkOmBFeHBpcmVkLiBJdCBjYW4gbm8gbG9uZ2VyIGJlIGZldGNoZWQuYCxzZW50RGVsZXRlZDpgUmVtb3ZlZCBhZnRlciBkZWxpdmVyeS5gLHNlbnROb3REZWxpdmVyZWQ6YE5vdCBkZWxpdmVyZWQuIEFzayB5b3VyIEFJIHRvIHNlbmQgaXQgYWdhaW4uYCxzaG93SW5GaW5kZXI6YFNob3cgaW4gRmluZGVyYCxzaG93SW5Gb2xkZXI6YFNob3cgaW4gZm9sZGVyYCxyZXZlYWxOb3RGb3VuZDpgVGhpcyBmaWxlIGlzbid0IGluIHlvdXIgSW5ib3ggZm9sZGVyIGFueSBtb3JlLiBZb3UgbWF5IGhhdmUgbW92ZWQgb3IgcmVuYW1lZCBpdC5gLHJldmVhbFJlZnVzZWQ6YFRoaXMgZmlsZSBjYW4ndCBiZSBzaG93bi4gSXQgaXNuJ3QgYSBwbGFpbiBmaWxlIGluIHlvdXIgSW5ib3ggZm9sZGVyLmAscmV2ZWFsVW5hdmFpbGFibGU6YFlvdXIgSW5ib3ggZm9sZGVyIGNhbid0IGJlIG9wZW5lZCByaWdodCBub3cuIFRyeSBhZ2FpbiBpbiBhIG1pbnV0ZS5gLHJldmVhbEZhaWxlZDpgVGhlIGZvbGRlciBkaWRuJ3Qgb3Blbi4gVHJ5IGFnYWluLmAscmV2ZWFsU2Vzc2lvbkV4cGlyZWQ6YFRoaXMgcGFnZSBoYXMgZXhwaXJlZC4gQXNrIHlvdXIgQUkgdG8gb3BlbiBBZ2VudExpbmsgYWdhaW4uYH0sRWU9ZT0-YFNob3dpbmcgdGhlIGxpc3QgYXMgb2YgJHtlfS5gLHo9e2ZvbGRlcnNMYWJlbDpgRm9sZGVycyB5b3VyIEFJIGNhbiBzZW5kIGZpbGVzIGZyb21gLGZvbGRlck1pc3Npbmc6YE5vdCBmb3VuZCBvbiB0aGlzIGNvbXB1dGVyLiBZb3VyIEFJIGNhbid0IHNlbmQgZnJvbSBpdC5gLGFsbG93Rm9sZGVyOmBBbGxvdyBhIGZvbGRlcmAsZXZlcnlDaGFuZ2U6YEV2ZXJ5IGNoYW5nZSBoZXJlIG5lZWRzIHlvdXIgcGFzc2tleSBvciBiYWNrdXAgY29kZS5gLGVtcHR5VGl0bGU6YFlvdXIgQUkgY2FuJ3Qgc2VuZCBmaWxlcyB5ZXQuIEFsbG93IGEgZm9sZGVyIGl0IG1heSBzZW5kIGZyb20uYCxlbXB0eVByb21wdDpgU2VuZCBwcm9wb3NhbC5wZGYgdG8gTWFya28uYCxsb2FkaW5nOmBMb2FkaW5n4oCmYCxub3RTZXRVcDpgQWdlbnRMaW5rIGlzbid0IHNldCB1cCBvbiB0aGlzIGNvbXB1dGVyIHlldC4gQXNrIHlvdXIgQUkgdG8gc2V0IHVwIEFnZW50TGluay5gLHVuYXZhaWxhYmxlOmBZb3VyIGZvbGRlcnMgY2FuJ3QgYmUgbG9hZGVkIHJpZ2h0IG5vdy4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAsZm9sZGVyRmllbGQ6YEZvbGRlcmAsZm9sZGVySGludDpgVGhlIGZ1bGwgcGF0aCwgZm9yIGV4YW1wbGUgfi9Eb2N1bWVudHMvU2hhcmVkLmAsY2hlY2s6YENoZWNrIGZvbGRlcmAsY2hlY2tpbmc6YENoZWNraW5n4oCmYCxjYW5jZWw6YENhbmNlbGAsY29uZmlybUFkZFRpdGxlOmBBbGxvdyB5b3VyIEFJIHRvIHNlbmQgZmlsZXMgZnJvbSB0aGlzIGZvbGRlcj9gLGNvbmZpcm1BZGRCb2R5OmBZb3VyIEFJIGNhbiBzZW5kIGFueSBmaWxlIGluIHRoaXMgZm9sZGVyIGFuZCBpdHMgc3ViZm9sZGVycyB0byB5b3VyIGNvbnRhY3RzLiBIaWRkZW4gZmlsZXMgYXJlIG5ldmVyIHNlbnQuYCxjb25maXJtUmVtb3ZlVGl0bGU6YFN0b3AgeW91ciBBSSBzZW5kaW5nIGZpbGVzIGZyb20gdGhpcyBmb2xkZXI_YCxjb25maXJtUmVtb3ZlQm9keTpgWW91ciBBSSBjYW4gbm8gbG9uZ2VyIHNlbmQgZmlsZXMgZnJvbSBpdC4gTm90aGluZyBhbHJlYWR5IHNlbnQgY2hhbmdlcy5gLHdhcm5pbmdzVGl0bGU6YEJlZm9yZSB5b3UgY29uZmlybSwgdGljayBlYWNoIG9uZTpgLHVuZGVyc3Rvb2Q6YEkgdW5kZXJzdGFuZGAsY29uZmlybUFkZDpgQWxsb3cgZm9sZGVyYCxjb25maXJtUmVtb3ZlOmBTdG9wIHNlbmRpbmdgLHdpdGhQYXNza2V5OmBZb3UgY29uZmlybSB3aXRoIHlvdXIgcGFzc2tleS5gLHVzZUNvZGU6YFVzZSBiYWNrdXAgY29kZSBpbnN0ZWFkYCxvd25lckNvZGU6YEJhY2t1cCBjb2RlYCxvd25lckNvZGVIaW50OmBUeXBlIGl0IGhlcmUgb25seS4gTmV2ZXIgZ2l2ZSBpdCB0byB5b3VyIEFJLmAsc2VuZGluZzpgQ29uZmlybWluZ-KApmAsYWRkZWQ6YEFsbG93ZWQuIFlvdXIgQUkgY2FuIG5vdyBzZW5kIGZpbGVzIGZyb20gdGhpcyBmb2xkZXIuYCxyZW1vdmVkOmBSZW1vdmVkLiBZb3VyIEFJIGNhbiBubyBsb25nZXIgc2VuZCBmaWxlcyBmcm9tIHRoaXMgZm9sZGVyLmAsbm90Q29uZmlybWVkOiJZb3VyIGNoYW5nZSB3YXMgc2F2ZWQsIGJ1dCBBZ2VudExpbmsgY291bGRuJ3QgY29uZmlybSBpdCwgc28gaXQgdXNlcyBpdHMgc3RyaWN0ZXN0IHNldHRpbmdzIHVudGlsIHlvdXIgcnVsZXMgYXJlIHNldCBhZ2Fpbi4gUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLHJ1bGVzVW5yZWFkYWJsZToiWW91ciBydWxlcyBjb3VsZG4ndCBiZSBjaGVja2VkLCBzbyBubyBmb2xkZXIgY2FuIGJlIGNoYW5nZWQuIFJ1biBgYWdlbnRsaW5rIHBvbGljeSByZWNvdmVyYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLHJlY2VpcHRzUXVlc3Rpb246YEJlZm9yZSBjaGFuZ2luZyBmb2xkZXJzLCBhbnN3ZXIgb25lIHF1ZXN0aW9uIGFib3V0IGRlbGl2ZXJ5IHJlY2VpcHRzIG9uIHRoZSBSdWxlcyBwYWdlLmAsb3BlblJ1bGVzOmBPcGVuIFJ1bGVzYCxzdGFsZTpgWW91ciBydWxlcyBjaGFuZ2VkLiBSZWxvYWQgYW5kIHRyeSBhZ2Fpbi5gLGNoYW5nZWQ6YFlvdXIgcnVsZXMgY2hhbmdlZCBpbiB0aGUgbWVhbnRpbWUuIE5vdGhpbmcgd2FzIGNoYW5nZWQuIENoZWNrIHRoZSBmb2xkZXIgYWdhaW4uYCxleHBpcmVkOmBUaGlzIGNoZWNrIHRpbWVkIG91dC4gTm90aGluZyB3YXMgY2hhbmdlZC4gQ2hlY2sgdGhlIGZvbGRlciBhZ2Fpbi5gLHJlZnVzZWQ6YFRoYXQgZGlkbid0IGdvIHRocm91Z2guIE5vdGhpbmcgd2FzIGNoYW5nZWQuIENoZWNrIHRoZSBmb2xkZXIgYWdhaW4uYCxwcmVzZW5jZVJlamVjdGVkOmBUaGF0IGRpZG4ndCBtYXRjaCB5b3VyIHBhc3NrZXkgb3IgYmFja3VwIGNvZGUuIE5vdGhpbmcgd2FzIGNoYW5nZWQuYCxwcmVzZW5jZVJlcXVpcmVkOmBFbnRlciB5b3VyIGJhY2t1cCBjb2RlLCBvciB1c2UgeW91ciBwYXNza2V5LiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAscGFzc2tleU5vdFVzZWQ6YFRoZSBwYXNza2V5IHdhc24ndCB1c2VkLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLiBZb3UgY2FuIGVudGVyIHlvdXIgYmFja3VwIGNvZGUgaW5zdGVhZC5gLGJ1c3k6YEFub3RoZXIgY2hhbmdlIGlzIGJlaW5nIGNvbmZpcm1lZC4gVHJ5IGFnYWluIGluIGEgbW9tZW50LmAsb2ZmbGluZTpgQWdlbnRMaW5rIGlzbid0IGFuc3dlcmluZyBvbiB0aGlzIGNvbXB1dGVyLiBDaGVjayB0aGF0IGl0J3MgcnVubmluZywgdGhlbiB0cnkgYWdhaW4uYCxzZXNzaW9uRXhwaXJlZDpgVGhpcyBwYWdlIGhhcyBleHBpcmVkLiBBc2sgeW91ciBBSSB0byBvcGVuIEFnZW50TGluayBhZ2Fpbi5gLGZhaWxlZDpgVGhhdCBkaWRuJ3QgZ28gdGhyb3VnaC4gTm90aGluZyB3YXMgY2hhbmdlZC5gLGVsc2V3aGVyZTplPT5gWW91IHR5cGVkICR7ZX0uIEl0IGxlYWRzIHRvIHRoZSBmb2xkZXIgYWJvdmUsIHNvIHRoYXQgaXMgdGhlIGZvbGRlciBhbGxvd2VkLmB9LEI9ZT0-YFN0b3Agc2VuZGluZyBmcm9tICR7ZX1gLERlPWU9PmBPcGVucyBhdCAke2V9YCxPZT1lPT5gVG9vIG1hbnkgdHJpZXMuIFdhaXQgJHtTdHJpbmcoZSl9IHNlY29uZHMsIHRoZW4gdHJ5IGFnYWluLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAsa2U9T2JqZWN0LmZyZWV6ZSh7aW52aXRlc19hdXRvOmBOZXcgY29udGFjdHMgd2lsbCBiZSBhZGRlZCB3aXRob3V0IGFza2luZyB5b3UuYCx1bmtub3duX3NlbmRlcnNfcXVldWVkOmBNZXNzYWdlcyBmcm9tIGFnZW50cyB5b3UgZG9uJ3Qga25vdyB3aWxsIHdhaXQgZm9yIHlvdSBpbnN0ZWFkIG9mIGJlaW5nIGRyb3BwZWQuYCxjb250YWN0c19hbGxvd2VkX3dpZGVuZWQ6YE1vcmUgYWdlbnRzIHdpbGwgYmUgYWJsZSB0byByZWFjaCB5b3VyIEFJLmAsbGltaXRzX3JhaXNlZDpgU29tZSBsaW1pdHMgZ28gdXAsIGZvciBleGFtcGxlIGhvdyBsYXJnZSBhIGZpbGUgY2FuIGJlIG9yIGhvdyBtYW55IG1lc3NhZ2VzIGEgY29udGFjdCBjYW4gc2VuZC5gLHJldGVudGlvbl9sb25nZXI6YEZpbGVzIHdpbGwgYmUga2VwdCBsb25nZXIuYCxhbGxvd2VkX2ZvbGRlcnNfYWRkZWQ6YFlvdXIgQUkgY2FuIHNlbmQgZmlsZXMgZnJvbSB0aGlzIGZvbGRlciB0byB5b3VyIGNvbnRhY3RzLmAsZm9sZGVyX2NoYW5nZWQ6YFdoZXJlIEFnZW50TGluayBzYXZlcyBmaWxlcyBjaGFuZ2VzLmAsZmlsZXNfZHJvcF9hbGxvd2VkOmBGaWxlcyBtYXkgZ28gdGhyb3VnaCB0aGUgZW5jcnlwdGVkIGRyb3AuYCxwcm9vZnNfbm90YXJpemVfbG9vc2VyOmBZb3VyIEFJIHdpbGwgYXNrIHlvdSBsZXNzIG9mdGVuIGJlZm9yZSBhZGRpbmcgYSBwcm9vZiwgd2hpY2ggY29zdHMgY3JlZGl0cy5gLHByb29mc19zcGVuZF9yYWlzZWQ6YFlvdXIgQUkgbWF5IHNwZW5kIG1vcmUgb2YgeW91ciBjcmVkaXRzIG9uIHByb29mcy5gLGtleV9kaXNjbG9zdXJlX2FwcHJvdmFsOmBZb3VyIEFJIGNhbiBhc2sgeW91IHRvIHJldmVhbCBhIGRvY3VtZW50IGtleSwgc28gb3RoZXJzIGNhbiBjaGVjayB3aGF0IGEgZmlsZSBjb250YWluZWQuYCxwcm9vZnNfY2hhaW5fY2hhbmdlZDpgUHJvb2ZzIHdpbGwgYmUgcmVjb3JkZWQgYW5kIHBhaWQgb24gYSBkaWZmZXJlbnQgcHJvb2YgbmV0d29yay5gLGRlbGl2ZXJ5X3JlY2VpcHRzX3B1YmxpYzpgV2hlbiBhIGNvbnRhY3QgY29uZmlybXMgZGVsaXZlcnksIGFueW9uZSBjYW4gc2VlIHRoYXQgaXQgd2VudCB0byB0aGVpciBhZ2VudC5gLG9wZW5lZF9yZWNlaXB0c19hdXRvOmBTZW5kZXJzIHdpbGwgYmUgdG9sZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IG9wZW4gdGhlaXIgZmlsZXMuYCxjb21taXRtZW50c19sb29zZXI6YFlvdXIgQUkgY2FuIGFjY2VwdCBjb21taXRtZW50cywgd2l0aCB5b3VyIGFwcHJvdmFsLmAsY29tbWl0bWVudHNfYWxsb3c6YFlvdXIgQUkgY2FuIGFjY2VwdCBjb21taXRtZW50cyBhbmQgZmlybSBvZmZlcnMgd2l0aG91dCBhc2tpbmcgeW91LmAsYXV0b19hY2NlcHRfd2lkZW5lZDpgWW91ciBBSSBjYW4gYWNjZXB0IG1vcmUgcHVyY2hhc2VzIHdpdGhvdXQgYXNraW5nIHlvdS5gLHNlbGxfYXV0b19hY2NlcHQ6YFlvdXIgQUkgY2FuIGFjY2VwdCBzYWxlcyB3aXRob3V0IGFza2luZyB5b3UuYCxjb250YWN0X3Byb29mX3J1bGVzX2xvb3NlcjpgU29tZSBjb250YWN0cyBnZXQgbG9vc2VyIHByb29mIHJ1bGVzLmAsY29udGFjdF9yZWNlaXB0c19wdWJsaWM6YEZvciBzb21lIGNvbnRhY3RzLCBhbnlvbmUgY2FuIHNlZSB3aGVuIGRlbGl2ZXJpZXMgYXJlIGNvbmZpcm1lZC5gLGNvbnRhY3RfcnVsZV9yZW1vdmVkX2xvb3NlbnM6YFNvbWUgY29udGFjdHMgbG9zZSBhIHN0cmljdGVyIHJ1bGUgYW5kIGZhbGwgYmFjayB0byB5b3VyIGdlbmVyYWwgcnVsZXMuYH0pO2Z1bmN0aW9uIEFlKGUsdCl7c3dpdGNoKGUpe2Nhc2Vgbm90X2Z1bGxfcGF0aGA6cmV0dXJuYFVzZSB0aGUgZnVsbCBwYXRoIG9mIGEgZm9sZGVyLCBmb3IgZXhhbXBsZSB-L0RvY3VtZW50cy9TaGFyZWQuYDtjYXNlYGRvdF9zZWdtZW50c2A6cmV0dXJuYFVzZSB0aGUgZm9sZGVy4oCZcyBwYXRoIHdpdGhvdXQgLiBvciAuLiBpbiBpdC5gO2Nhc2Vgbm90X3Nob3dhYmxlYDpyZXR1cm5gVGhhdCBmb2xkZXIncyBuYW1lIGhhcyBjaGFyYWN0ZXJzIEFnZW50TGluayBjYW4ndCBzaG93IHNhZmVseS4gUmVuYW1lIHRoZSBmb2xkZXIsIHRoZW4gdHJ5IGFnYWluLmA7Y2FzZWBtaXNzaW5nYDpyZXR1cm5gVGhhdCBmb2xkZXIgZG9lc24ndCBleGlzdC4gQ2hlY2sgdGhlIHBhdGgsIHRoZW4gdHJ5IGFnYWluLmA7Y2FzZWBub3RfZm9sZGVyYDpyZXR1cm5gVGhhdCBpc24ndCBhIGZvbGRlci4gQWxsb3cgdGhlIGZvbGRlciB0aGF0IGhvbGRzIHRoZSBmaWxlLmA7Y2FzZWB0b29fYnJvYWRgOnJldHVybmBZb3VyIEFJIGNhbid0IHNlbmQgZnJvbSB5b3VyIHdob2xlIGNvbXB1dGVyIG9yIHlvdXIgd2hvbGUgaG9tZSBmb2xkZXIuIENob29zZSBhIGZvbGRlciBpbnNpZGUgaXQsIHN1Y2ggYXMgfi9Eb2N1bWVudHMvU2hhcmVkLmA7Y2FzZWBwcm90ZWN0ZWRgOnJldHVybmBGaWxlcyBpbiB0aGlzIGZvbGRlciBjYW4gbmV2ZXIgYmUgc2VudCAoaXQgaG9sZHMga2V5cyBvciBBZ2VudExpbmsncyBvd24gZGF0YSkuIENob29zZSBhbm90aGVyIGZvbGRlci5gO2Nhc2VgY29udGFpbnNfcHJvdGVjdGVkYDpyZXR1cm4gdD09PXZvaWQgMD9gVGhhdCBmb2xkZXIgaG9sZHMga2V5cyBvciBBZ2VudExpbmsncyBvd24gZGF0YSwgc28gaXQgY2FuJ3QgYmUgYWxsb3dlZC4gQ2hvb3NlIGEgbmFycm93ZXIgZm9sZGVyIGluc2lkZSBpdC5gOmBUaGF0IGZvbGRlciBjb250YWlucyAke3R9LCB3aGljaCBob2xkcyBrZXlzIG9yIEFnZW50TGluaydzIG93biBkYXRhLCBzbyBpdCBjYW4ndCBiZSBhbGxvd2VkLiBDaG9vc2UgYSBuYXJyb3dlciBmb2xkZXIgaW5zaWRlIGl0IHRoYXQgZG9lc24ndCBjb250YWluICR7dH0uYDtjYXNlYGhpZGRlbmA6cmV0dXJuYEhpZGRlbiBmb2xkZXJzLCBhbmQgZm9sZGVycyBpbnNpZGUgdGhlbSwgY2Fu4oCZdCBiZSBhbGxvd2VkLmA7Y2FzZWBhbHJlYWR5X2FsbG93ZWRgOnJldHVybmBUaGF0IGZvbGRlciBpcyBhbHJlYWR5IGFsbG93ZWQuIE5vdGhpbmcgd2FzIGNoYW5nZWQuYDtjYXNlYHRvb19tYW55YDpyZXR1cm5gWW91IGNhbiBhbGxvdyBhdCBtb3N0IDMyIGZvbGRlcnMuIFJlbW92ZSBvbmUgZmlyc3QuYDtjYXNlYG5vdF9hbGxvd2VkYDpyZXR1cm5gVGhhdCBmb2xkZXIgaXNuJ3Qgb25lIG9mIHlvdXIgYWxsb3dlZCBmb2xkZXJzLmA7ZGVmYXVsdDpyZXR1cm5gVGhhdCBmb2xkZXIgY2FuJ3QgYmUgYWxsb3dlZC4gQ2hvb3NlIGFub3RoZXIgZm9sZGVyLmB9fXZhciBWPWUoKSxIPVtbYHJlY2VpdmVkYCxSLnRhYlJlY2VpdmVkXSxbYHNlbnRgLFIudGFiU2VudF0sW2Bmb2xkZXJzYCxSLnRhYkZvbGRlcnNdXTtmdW5jdGlvbiBqZSh7dGFiOmUsb25UYWI6dCxjb3VudHM6bn0pe3JldHVybigwLFYuanN4KShpLHtsYWJlbDpSLnRhYnNMYWJlbCx2YXJpYW50OmB0YWJzYCxpZFByZWZpeDpgZmxgLHBhbmVsSWQ6YGZsLXRhYnBhbmVsYCx2YWx1ZTplLG9uQ2hhbmdlOmU9PntsZXQgbj1ILmZpbmQoKFt0XSk9PnQ9PT1lKT8uWzBdO24hPT12b2lkIDAmJnQobil9LG9wdGlvbnM6SC5tYXAoKFtlLHRdKT0-KHt2YWx1ZTplLGxhYmVsOnQsYmFkZ2U6KG4_LltlXT8_MCk-MD8oMCxWLmpzeCkoZCx7Y291bnQ6bj8uW2VdPz8wLGxhYmVsOlIud2FpdGluZ0xhYmVsW2VdfSk6dm9pZCAwfSkpfSl9dmFyIE1lPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHZvaWQgMCx7ZGF5OmBudW1lcmljYCxtb250aDpgc2hvcnRgLGhvdXI6YDItZGlnaXRgLG1pbnV0ZTpgMi1kaWdpdGB9KSxOZT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YDItZGlnaXRgLG1pbnV0ZTpgMi1kaWdpdGB9KSxQZT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2RheTpgbnVtZXJpY2AsbW9udGg6YHNob3J0YCx5ZWFyOmBudW1lcmljYH0pO2Z1bmN0aW9uIFUoe2F0OmUsZGF0ZTp0fSl7bGV0IG49bmV3IERhdGUoZSoxZTMpO3JldHVybigwLFYuanN4KShgdGltZWAse2RhdGVUaW1lOm4udG9JU09TdHJpbmcoKSxjaGlsZHJlbjoodD09PSEwP1BlOk1lKS5mb3JtYXQobil9KX1mdW5jdGlvbiBXKGUpe2lmKGU8MWUzKXJldHVybmAke2V9IEJgO2xldCB0PVtgS0JgLGBNQmAsYEdCYCxgVEJgXSxuPWUvMWUzLHI9MDtmb3IoO24-PTFlMyYmcjx0Lmxlbmd0aC0xOyluLz0xZTMscis9MTtyZXR1cm5gJHtuPj0xMDA_TWF0aC5yb3VuZChuKTpNYXRoLnJvdW5kKG4qMTApLzEwfSAke3Rbcl19YH12YXIgRmU9NWUzLEllPTE1ZTMsTGU9MTJlNCxSZT0xOGU1LHplPTg2NGU1LEc9ZT0-ZS5zdGF0dXM9PT1gc2VudGAmJiFlLnJlY2VpcHQmJmUuc3RhdGU9PT1gYXZhaWxhYmxlYCYmRGF0ZS5ub3coKS1lLmF0KjFlMz49emUsQmU9ZT0-ZS5zdGF0dXM9PT1gcXVldWVkYHx8ZS5zdGF0dXM9PT1gc2VudGAmJiFlLnJlY2VpcHQmJmUuc3RhdGU9PT1gYXZhaWxhYmxlYCYmIUcoZSk7ZnVuY3Rpb24gSyhlLHQsbixyKXtsZXRbaSxhXT0oMCxiLnVzZVN0YXRlKSh7cGhhc2U6YGxvYWRpbmdgfSksW28sc109KDAsYi51c2VTdGF0ZSkoMCksYz0oMCxiLnVzZVJlZikoITApOygwLGIudXNlRWZmZWN0KSgoKT0-KGMuY3VycmVudD0hMCwoKT0-e2MuY3VycmVudD0hMX0pLFtdKTtsZXQgbD0oMCxiLnVzZUNhbGxiYWNrKShhc3luYyByPT57bGV0IGk9YXdhaXQgdmUoZSx0LHIsbik7Yy5jdXJyZW50JiZhKGU9PntpZihpLmtpbmQ9PT1gb2tgKXtpZihyPT09bnVsbCYmZS5waGFzZT09PWBva2AmJmkuZmVlZC5pdGVtcy5sZW5ndGg9PT0wJiZlLml0ZW1zLmxlbmd0aD4wKXJldHVybnsuLi5lLHN0YWxlQXQ6RGF0ZS5ub3coKSxtb3JlOiExfTtpZihyPT09bnVsbCYmZS5waGFzZT09PWBva2Ape2xldCB0PW5ldyBTZXQoZS5pdGVtcy5tYXAoZT0-ZS5pZCkpLG49aS5mZWVkLml0ZW1zLHI9bmV3IFNldChuLm1hcChlPT5lLmlkKSksYT1uLmxlbmd0aD09PTA_MDpNYXRoLm1pbiguLi5uLm1hcChlPT5lLmF0KSksbz1lLml0ZW1zLmZpbHRlcihlPT4hci5oYXMoZS5pZCkmJmUuYXQ8YSk7cmV0dXJue3BoYXNlOmBva2AsaXRlbXM6Wy4uLm4sLi4ub10sbmV4dDpvLmxlbmd0aD4wP2UubmV4dDppLmZlZWQubmV4dCxzdGFsZUF0Om51bGwsbW9yZTohMSxhcnJpdmVkOm4uZmlsdGVyKGU9PiF0LmhhcyhlLmlkKSkuc2xpY2UoMCwyKS5tYXAoZT0-ZS5pZCl9fXJldHVybntwaGFzZTpgb2tgLGl0ZW1zOlsuLi5yIT09bnVsbCYmZS5waGFzZT09PWBva2A_ZS5pdGVtczpbXSwuLi5pLmZlZWQuaXRlbXNdLG5leHQ6aS5mZWVkLm5leHQsc3RhbGVBdDpudWxsLG1vcmU6ITEsYXJyaXZlZDpyIT09bnVsbCYmZS5waGFzZT09PWBva2A_ZS5hcnJpdmVkOltdfX1yZXR1cm4gZS5waGFzZT09PWBva2A_ey4uLmUsc3RhbGVBdDpEYXRlLm5vdygpLG1vcmU6ITF9OntwaGFzZTppLmtpbmQ9PT1gbm90X3NldF91cGA_YG5vdF9zZXRfdXBgOmBlcnJvcmB9fSl9LFtlLHQsbl0pOygwLGIudXNlRWZmZWN0KSgoKT0-e2wobnVsbCl9LFtsXSksKDAsYi51c2VFZmZlY3QpKCgpPT57bGV0IGU9KCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAmJihzKGU9PmUrMSksbChudWxsKSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCxlKSwoKT0-ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihgdmlzaWJpbGl0eWNoYW5nZWAsZSl9LFtsXSk7bGV0IHU9ciE9PXZvaWQgMCYmaS5waGFzZT09PWBva2AmJmkuaXRlbXMuc29tZShyKTtyZXR1cm4oMCxiLnVzZUVmZmVjdCkoKCk9PntpZighdSlyZXR1cm47bGV0IGU9RGF0ZS5ub3coKSx0LG49KCk9PntsZXQgcj1EYXRlLm5vdygpLWU7cj49UmV8fCh0PXNldFRpbWVvdXQoKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAmJmwobnVsbCksbigpfSxyPj1MZT9JZTpGZSkpfTtyZXR1cm4gbigpLCgpPT5jbGVhclRpbWVvdXQodCl9LFt1LGwsb10pLHtzdGF0ZTppLHJldHJ5OigpPT57YShlPT5lLnBoYXNlPT09YG9rYD9lOntwaGFzZTpgbG9hZGluZ2B9KSxsKG51bGwpfSxtb3JlOigpPT57aS5waGFzZT09PWBva2AmJmkubmV4dCE9PW51bGwmJihhKHsuLi5pLG1vcmU6ITB9KSxsKGkubmV4dCkpfX19ZnVuY3Rpb24gcSh7d29yZDplfSl7cmV0dXJuKDAsVi5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBmbC1mZWVkYCwiYXJpYS1idXN5IjpgdHJ1ZWAsY2hpbGRyZW46WygwLFYuanN4KShgcGAse3JvbGU6YHN0YXR1c2AsY2xhc3NOYW1lOmBmbC1zci1vbmx5YCxjaGlsZHJlbjplfSksKDAsVi5qc3gpKGBkaXZgLHsiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjooMCxWLmpzeCkocCx7bG9hZGluZzohMCxsaW5lczozLGNsYXNzTmFtZTpgZmwtc2tlbGV0b25gfSl9KV19KX1mdW5jdGlvbiBKKHtmZWVkOmUsZW1wdHk6dCxyb3c6bixub3RlOnIsY2FyZDppPSExfSl7bGV0e3N0YXRlOm99PWU7cmV0dXJuIG8ucGhhc2U9PT1gbG9hZGluZ2A_KDAsVi5qc3gpKHEse3dvcmQ6Ui5sb2FkaW5nfSk6by5waGFzZT09PWBub3Rfc2V0X3VwYD8oMCxWLmpzeCkoeSx7dG9uZTpgaW5mb2AsY2hpbGRyZW46Ui5ub3RTZXRVcH0pOm8ucGhhc2U9PT1gZXJyb3JgPygwLFYuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgZmwtZmVlZGAsY2hpbGRyZW46WygwLFYuanN4KSh5LHt0b25lOmB3YXJuaW5nYCxjaGlsZHJlbjpSLnVuYXZhaWxhYmxlfSksKDAsVi5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGZsLWFjdGlvbnNgLGNoaWxkcmVuOigwLFYuanN4KShhLHtvbkNsaWNrOmUucmV0cnksY2hpbGRyZW46Ui50cnlBZ2Fpbn0pfSldfSk6by5pdGVtcy5sZW5ndGg9PT0wPygwLFYuanN4KShsLHtpY29uOnQuaWNvbix0aXRsZTp0LnRpdGxlLGFjdGlvbjooMCxWLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46dC5oaW50fSl9KTooMCxWLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGZsLWZlZWRgLGNoaWxkcmVuOltvLnN0YWxlQXQ9PT1udWxsP251bGw6KDAsVi5qc3gpKHkse3RvbmU6YHdhcm5pbmdgLGNoaWxkcmVuOkVlKE5lLmZvcm1hdChuZXcgRGF0ZShvLnN0YWxlQXQpKSl9KSxyLGk_KDAsVi5qc3gpKHMse2xldmVsOjIsY2xhc3NOYW1lOmBmbC1jYXJkYCxjaGlsZHJlbjooMCxWLmpzeCkoYHVsYCx7Y2xhc3NOYW1lOmBmbC1saXN0YCxjaGlsZHJlbjpvLml0ZW1zLm1hcChlPT5uKGUsby5hcnJpdmVkLmluY2x1ZGVzKGUuaWQpKSl9KX0pOigwLFYuanN4KShgdWxgLHtjbGFzc05hbWU6YGZsLWxpc3RgLGNoaWxkcmVuOm8uaXRlbXMubWFwKGU9Pm4oZSxvLmFycml2ZWQuaW5jbHVkZXMoZS5pZCkpKX0pLG8ubmV4dD09PW51bGw_bnVsbDooMCxWLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgZmwtYWN0aW9uc2AsY2hpbGRyZW46KDAsVi5qc3gpKGEse2Rpc2FibGVkOm8ubW9yZSxvbkNsaWNrOmUubW9yZSxjaGlsZHJlbjpSLnNob3dNb3JlfSl9KV19KX1mdW5jdGlvbiBZKHtjaGlsZHJlbjplfSl7cmV0dXJuKDAsVi5qc3gpKGBjb2RlYCx7Y2xhc3NOYW1lOmBmbC1uYW1lIGFsLXRleHQtY29kZWAsY2hpbGRyZW46KDAsVi5qc3gpKGBiZGlgLHtjaGlsZHJlbjplfSl9KX12YXIgWD1gYWdlbnRsaW5rLmZpbGVzLnVudHJ1c3RlZC1ub3RlYCxWZT0oKT0-e3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFgpPT09YHNlZW5gfWNhdGNoe3JldHVybiExfX0sSGU9KCk9Pnt0cnl7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKFgsYHNlZW5gKX1jYXRjaHt9fTtmdW5jdGlvbiBVZSgpe2xldFtlLHRdPSgwLGIudXNlU3RhdGUpKFZlKTtyZXR1cm4gZT9udWxsOigwLFYuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgZmwtbm90ZWAsY2hpbGRyZW46WygwLFYuanN4KSh5LHt0b25lOmBpbmZvYCxjaGlsZHJlbjpSLnVudHJ1c3RlZE5vdGV9KSwoMCxWLmpzeCkoYSx7dmFyaWFudDpgZ2hvc3RgLHNpemU6YHNtYCxvbkNsaWNrOigpPT57SGUoKSx0KCEwKX0sY2hpbGRyZW46Ui5nb3RJdH0pXX0pfXZhciBXZT17bm90X2ZvdW5kOlIucmV2ZWFsTm90Rm91bmQscmVmdXNlZDpSLnJldmVhbFJlZnVzZWQsdW5hdmFpbGFibGU6Ui5yZXZlYWxVbmF2YWlsYWJsZSxub3Rfb3BlbmVkOlIucmV2ZWFsRmFpbGVkLHNlc3Npb25fZXhwaXJlZDpSLnJldmVhbFNlc3Npb25FeHBpcmVkLG9mZmxpbmU6Ui5yZXZlYWxVbmF2YWlsYWJsZSxmYWlsZWQ6Ui5yZXZlYWxGYWlsZWR9O2Z1bmN0aW9uIEdlKCl7dHJ5e3JldHVybi9eTWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBLZSh7aWQ6ZSxyZXZlYWw6dH0pe2xldFtuLHJdPSgwLGIudXNlU3RhdGUpKCExKSxbaSxvXT0oMCxiLnVzZVN0YXRlKSh2b2lkIDApLHM9KDAsYi51c2VSZWYpKCEwKTsoMCxiLnVzZUVmZmVjdCkoKCk9PigpPT57cy5jdXJyZW50PSExfSxbXSk7bGV0IGM9YXN5bmMoKT0-e3IoITApLG8odm9pZCAwKTtsZXQgbjt0cnl7bj1hd2FpdCB0KGUpfWNhdGNoe249YGZhaWxlZGB9cy5jdXJyZW50JiYocighMSksbyhuPT09YHNob3duYD92b2lkIDA6V2Vbbl0pKX07cmV0dXJuKDAsVi5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBmbC1yb3ctYWN0aW9uc2AsY2hpbGRyZW46WygwLFYuanN4KShhLHtzaXplOmBzbWAsaWNvbjpgZm9sZGVyYCxkaXNhYmxlZDpuLG9uQ2xpY2s6KCk9PnZvaWQgYygpLGNoaWxkcmVuOkdlKCk_Ui5zaG93SW5GaW5kZXI6Ui5zaG93SW5Gb2xkZXJ9KSwoMCxWLmpzeCkoYHBgLHtyb2xlOmBzdGF0dXNgLGNsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjppPz9gYH0pXX0pfWZ1bmN0aW9uIFooe2Fycml2ZWQ6ZSxjaGlsZHJlbjp0fSl7bGV0IG49aCghMCx7aXNOZXc6ZX0pO3JldHVybigwLFYuanN4cykoYGxpYCx7cmVmOm4ucmVmLGNsYXNzTmFtZTpgZmwtcm93LWxpYCxjaGlsZHJlbjpbbi5oaWdobGlnaHQsKDAsVi5qc3gpKHMse2xldmVsOjEsY2xhc3NOYW1lOmBmbC1pdGVtYCxjaGlsZHJlbjp0fSldfSl9ZnVuY3Rpb24gcWUoe2l0ZW06ZSxyZXZlYWw6dCxhcnJpdmVkOm59KXtyZXR1cm4oMCxWLmpzeHMpKFose2Fycml2ZWQ6bixjaGlsZHJlbjpbKDAsVi5qc3gpKG8se2Zyb206ZS5mcm9tLGZpbGVOYW1lOmUubmFtZX0pLCgwLFYuanN4cykoYHBgLHtjbGFzc05hbWU6YGZsLW1ldGEgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpbKDAsVi5qc3gpKFUse2F0OmUuYXR9KSwoMCxWLmpzeCkoYHNwYW5gLHtjaGlsZHJlbjpXKGUuc2l6ZSl9KSxlLnByb29mPygwLFYuanN4KShjLHtzdGF0ZTpgcmVjb3JkZWRgfSk6bnVsbF19KSxuPygwLFYuanN4KShnLHtraW5kOmBmaWxlYH0pOm51bGwsZS5zdGF0ZT09PWBub3Rfc2F2ZWRgPygwLFYuanN4KSh1LHtsYWJlbDpSLnByb2dyZXNzQXJyaXZpbmcsc3RlcHM6Ui5hcnJpdmluZ1N0ZXBzLGN1cnJlbnQ6MH0pOm51bGwsZS5zdGF0ZT09PWBzYXZlZGAmJmUuc2F2ZWROYW1lIT09bnVsbD8oMCxWLmpzeHMpKGBwYCx7Y2xhc3NOYW1lOmBmbC1zdGF0ZSBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOltSLnNhdmVkQXMsYCBgLCgwLFYuanN4KShZLHtjaGlsZHJlbjplLnNhdmVkTmFtZX0pLCgwLFYuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46W2AgYCxSLm1heUhhdmVNb3ZlZF19KV19KTpudWxsLGUuc3RhdGU9PT1gc2F2ZWRgJiZlLnNhdmVkTmFtZT09PW51bGw_KDAsVi5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBmbC1zdGF0ZSBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOlIubm90U2F2ZWR9KTpudWxsLGUuc3RhdGU9PT1gbm90X3NhdmVkYD8oMCxWLmpzeCkoYHBgLHtjbGFzc05hbWU6YGZsLXN0YXRlIGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Ui5ub3RTYXZlZH0pOm51bGwsZS5zdGF0ZT09PWBleHBpcmVkYD8oMCxWLmpzeCkoYHBgLHtjbGFzc05hbWU6YGZsLXN0YXRlIGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Ui5leHBpcmVkfSk6bnVsbCxlLnN0YXRlPT09YGRlbGV0ZWRgPygwLFYuanN4KShgcGAse2NsYXNzTmFtZTpgZmwtc3RhdGUgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpSLmRlbGV0ZWR9KTpudWxsLGUuc3RhdGU9PT1gc2F2ZWRgJiZlLnNhdmVkTmFtZSE9PW51bGw_KDAsVi5qc3gpKEtlLHtpZDplLmlkLHJldmVhbDp0fSk6bnVsbF19KX1mdW5jdGlvbiBKZSh7aXRlbTplfSl7bGV0IHQ9RyhlKTtyZXR1cm4oMCxWLmpzeHMpKFose2Fycml2ZWQ6ITEsY2hpbGRyZW46WygwLFYuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgZmwtaXRlbS1oZWFkYCxjaGlsZHJlbjpbKDAsVi5qc3gpKG4se25hbWU6YGZpbGVgLHNpemU6MTZ9KSwoMCxWLmpzeCkoWSx7Y2hpbGRyZW46ZS5uYW1lfSldfSksKDAsVi5qc3hzKShgcGAse2NsYXNzTmFtZTpgZmwtbWV0YSBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOlsoMCxWLmpzeHMpKGBzcGFuYCx7Y2hpbGRyZW46W1IudG8sYCBgLCgwLFYuanN4KShgYmRpYCx7Y2hpbGRyZW46ZS50b30pXX0pLCgwLFYuanN4KShVLHthdDplLmF0fSksKDAsVi5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46VyhlLnNpemUpfSldfSksZS5zdGF0dXM9PT1gcXVldWVkYD8oMCxWLmpzeCkodSx7bGFiZWw6Ui5wcm9ncmVzc1NlbmRpbmcsc3RlcHM6Ui5zZW5kaW5nU3RlcHMsY3VycmVudDowfSk6bnVsbCxlLnN0YXR1cz09PWBzZW50YCYmIWUucmVjZWlwdCYmZS5zdGF0ZT09PWBhdmFpbGFibGVgJiYhdD8oMCxWLmpzeCkodSx7bGFiZWw6Ui5wcm9ncmVzc1NlbmRpbmcsc3RlcHM6Ui5zZW5kaW5nU3RlcHMsY3VycmVudDoxfSk6bnVsbCwoMCxWLmpzeHMpKGBwYCx7Y2xhc3NOYW1lOmBmbC1jaGlwc2AsY2hpbGRyZW46W2Uuc3RhdHVzPT09YHNlbnRgPygwLFYuanN4KShmLHtzdGF0dXM6YHNlbnRgLGNoaWxkcmVuOnQ_Ui5zdGF0dXNTZW50Tm9SZWNlaXB0OlIuc3RhdHVzU2VudH0pOm51bGwsZS5zdGF0dXM9PT1gcXVldWVkYD8oMCxWLmpzeCkoZix7c3RhdHVzOmB3YWl0aW5nLXRvLXBvc3RgLGNoaWxkcmVuOlIuc3RhdHVzUXVldWVkfSk6bnVsbCxlLnN0YXR1cz09PWBub3RfZGVsaXZlcmVkYD8oMCxWLmpzeCkoZix7c3RhdHVzOmBmYWlsZWRgLGNoaWxkcmVuOlIuc3RhdHVzTm90RGVsaXZlcmVkfSk6bnVsbCxlLnJlY2VpcHQ_KDAsVi5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgZmwtcmVjZWlwdCBpcy1jb25maXJtZWRgLCJkYXRhLXJlY2VpcHQiOmB0cnVlYCxjaGlsZHJlbjpbKDAsVi5qc3gpKG4se25hbWU6YHJlY2VpcHQtZGVsaXZlcmVkYCxzaXplOjE0fSksKDAsVi5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlIucmVjZWlwdENvbmZpcm1lZH0pXX0pOmUuc3RhdHVzPT09YG5vdF9kZWxpdmVyZWRgfHx0P251bGw6KDAsVi5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgZmwtcmVjZWlwdCBhbC1tdXRlZGAsImRhdGEtcmVjZWlwdCI6YGZhbHNlYCxjaGlsZHJlbjpbKDAsVi5qc3gpKG4se25hbWU6YGNsb2NrYCxzaXplOjE0fSksKDAsVi5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlIucmVjZWlwdE5vbmV9KV19KV19KSxlLnN0YXR1cz09PWBub3RfZGVsaXZlcmVkYD8oMCxWLmpzeCkoYHBgLHtjbGFzc05hbWU6YGZsLXN0YXRlIGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Ui5zZW50Tm90RGVsaXZlcmVkfSk6bnVsbCxlLnN0YXR1cyE9PWBub3RfZGVsaXZlcmVkYCYmZS5zdGF0ZT09PWBhdmFpbGFibGVgJiZlLmV4cGlyZXNBdCE9PW51bGw_KDAsVi5qc3hzKShgcGAse2NsYXNzTmFtZTpgZmwtc3RhdGUgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpbUi5hdmFpbGFibGVVbnRpbCxgIGAsKDAsVi5qc3gpKFUse2F0OmUuZXhwaXJlc0F0LGRhdGU6ITB9KV19KTpudWxsLGUuc3RhdGU9PT1gZXhwaXJlZGA_KDAsVi5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBmbC1zdGF0ZSBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOlIuc2VudEV4cGlyZWR9KTpudWxsLGUuc3RhdGU9PT1gZGVsZXRlZGA_KDAsVi5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBmbC1zdGF0ZSBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOlIuc2VudERlbGV0ZWR9KTpudWxsXX0pfWZ1bmN0aW9uIFllKGUsdCl7cmV0dXJuW3traW5kOmBjb3VudGAsbGFiZWw6Ui5ob29kRmlsZXMsdmFsdWU6U3RyaW5nKGUpfSx7a2luZDpgc2l6ZWAsbGFiZWw6Ui5ob29kU2l6ZSx2YWx1ZTpXKHQpfV19ZnVuY3Rpb24gWGUoZSx0LG4pe2xldCByPWUucGhhc2U9PT1gb2tgP2UuaXRlbXMuZmlsdGVyKHQpLmxlbmd0aDpudWxsOygwLGIudXNlRWZmZWN0KSgoKT0-e3IhPT1udWxsJiZuPy4ocil9LFtyLG5dKX1mdW5jdGlvbiBaZSh7Z2V0OmUscmV2ZWFsOnQsb25XYWl0aW5nOm59KXtsZXQgcj1LKGUsb2UsaGUpO1hlKHIuc3RhdGUsZT0-ZS5zdGF0ZT09PWBub3Rfc2F2ZWRgLG4pO2xldCBpPXIuc3RhdGUucGhhc2U9PT1gb2tgP3Iuc3RhdGUuaXRlbXM6W107cmV0dXJuKDAsVi5qc3hzKShWLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsVi5qc3gpKEose2ZlZWQ6cixjYXJkOiEwLGVtcHR5Ont0aXRsZTpSLnJlY2VpdmVkRW1wdHlUaXRsZSxoaW50OlIucmVjZWl2ZWRFbXB0eUhpbnQsaWNvbjpgaW5ib3hgfSxub3RlOigwLFYuanN4KShVZSx7fSkscm93OihlLG4pPT4oMCxWLmpzeCkocWUse2l0ZW06ZSxyZXZlYWw6dCxhcnJpdmVkOm59LGUuaWQpfSksci5zdGF0ZS5waGFzZT09PWBva2A_KDAsVi5qc3gpKF8se2ZpZWxkczpZZShpLmxlbmd0aCxpLnJlZHVjZSgoZSx0KT0-ZSt0LnNpemUsMCkpfSk6bnVsbF19KX1mdW5jdGlvbiBRZSh7Z2V0OmUsb25XYWl0aW5nOnR9KXtsZXQgbj1LKGUsc2UsZ2UsQmUpO1hlKG4uc3RhdGUsZT0-ZS5zdGF0dXM9PT1gcXVldWVkYCx0KTtsZXQgcj1uLnN0YXRlLnBoYXNlPT09YG9rYD9uLnN0YXRlLml0ZW1zOltdO3JldHVybigwLFYuanN4cykoVi5GcmFnbWVudCx7Y2hpbGRyZW46WygwLFYuanN4KShKLHtmZWVkOm4sZW1wdHk6e3RpdGxlOlIuc2VudEVtcHR5VGl0bGUsaGludDpSLnNlbnRFbXB0eUhpbnQsaWNvbjpgYXJyb3ctcmlnaHRgfSxyb3c6ZT0-KDAsVi5qc3gpKEplLHtpdGVtOmV9LGUuaWQpfSksbi5zdGF0ZS5waGFzZT09PWBva2A_KDAsVi5qc3gpKF8se2ZpZWxkczpZZShyLmxlbmd0aCxyLnJlZHVjZSgoZSx0KT0-ZSt0LnNpemUsMCkpfSk6bnVsbF19KX1mdW5jdGlvbiAkZShlKXtzd2l0Y2goZS5raW5kKXtjYXNlYGZvbGRlcmA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6QWUoZS5yZWFzb24sZS5wcm90ZWN0ZWRGb2xkZXIpfTtjYXNlYHJ1bGVzX3VucmVhZGFibGVgOnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0OnoucnVsZXNVbnJlYWRhYmxlfTtjYXNlYHJlY2VpcHRzX3F1ZXN0aW9uYDpyZXR1cm57dG9uZTpgaW5mb2AsdGV4dDp6LnJlY2VpcHRzUXVlc3Rpb24scnVsZXM6ITB9O2Nhc2VgY2hhbmdlZGA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6ei5jaGFuZ2VkfTtjYXNlYHN0YWxlYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDp6LnN0YWxlLHJlbG9hZDohMH07Y2FzZWBub3Rfc2V0X3VwYDpyZXR1cm57dG9uZTpgaW5mb2AsdGV4dDp6Lm5vdFNldFVwfTtjYXNlYHVuYXZhaWxhYmxlYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDp6LnVuYXZhaWxhYmxlfTtkZWZhdWx0OnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0OnouZmFpbGVkfX19ZnVuY3Rpb24gZXQoZSx0KXtzd2l0Y2goZS5raW5kKXtjYXNlYGFwcGxpZWRgOnJldHVybiBlLmNvbmZpcm1lZD97dG9uZTpgc3VjY2Vzc2AsdGV4dDp0PT09YGFkZGA_ei5hZGRlZDp6LnJlbW92ZWR9Ont0b25lOmB3YXJuaW5nYCx0ZXh0Onoubm90Q29uZmlybWVkfTtjYXNlYHdhaXRgOnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0Ok9lKGUuc2Vjb25kcyl9O2Nhc2VgcHJlc2VuY2VfcmVqZWN0ZWRgOnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0OnoucHJlc2VuY2VSZWplY3RlZH07Y2FzZWBwcmVzZW5jZV9yZXF1aXJlZGA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6ei5wcmVzZW5jZVJlcXVpcmVkfTtjYXNlYGJ1c3lgOnJldHVybnt0b25lOmBpbmZvYCx0ZXh0OnouYnVzeX07Y2FzZWBjaGFuZ2VkYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDp6LmNoYW5nZWR9O2Nhc2VgZXhwaXJlZGA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6ei5leHBpcmVkfTtjYXNlYHJlZnVzZWRgOnJldHVybnt0b25lOmB3YXJuaW5nYCx0ZXh0OnoucmVmdXNlZH07Y2FzZWBub3Rfc2V0X3VwYDpyZXR1cm57dG9uZTpgaW5mb2AsdGV4dDp6Lm5vdFNldFVwfTtjYXNlYHNlc3Npb25fZXhwaXJlZGA6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6ei5zZXNzaW9uRXhwaXJlZH07Y2FzZWBvZmZsaW5lYDpyZXR1cm57dG9uZTpgd2FybmluZ2AsdGV4dDp6Lm9mZmxpbmV9O2RlZmF1bHQ6cmV0dXJue3RvbmU6YHdhcm5pbmdgLHRleHQ6ei5mYWlsZWR9fX12YXIgdHQ9bmV3IFNldChbYHByZXNlbmNlX3JlamVjdGVkYCxgcHJlc2VuY2VfcmVxdWlyZWRgLGB3YWl0YCxgYnVzeWAsYG9mZmxpbmVgXSk7ZnVuY3Rpb24gUSh7bm90aWNlOmV9KXtyZXR1cm4oMCxWLmpzeCkoeSx7dG9uZTplLnRvbmUsYWN0aW9uOmUucnVsZXM9PT0hMD8oMCxWLmpzeCkoYGFgLHtjbGFzc05hbWU6YGFsLWJ0biBhbC1idG4tc2Vjb25kYXJ5IGFsLWJ0bi1zbWAsaHJlZjpgL3NldHRpbmdzL3J1bGVzYCxjaGlsZHJlbjp6Lm9wZW5SdWxlc30pOnZvaWQgMCxjaGlsZHJlbjplLnRleHR9KX1mdW5jdGlvbiBudCh7cmV2aWV3OmUscGFzc2tleTp0LHNlbmRpbmc6aSxub3RpY2U6byxvbkNvbmZpcm06cyxvbkNhbmNlbDpjfSl7bGV0W2wsdV09KDAsYi51c2VTdGF0ZSkobmV3IFNldCksW2QsZl09KDAsYi51c2VTdGF0ZSkodD09PXZvaWQgMCksW3AsbV09KDAsYi51c2VTdGF0ZSkoYGApLGg9ZS5jaGFuZ2U9PT1gYWRkYCxnPWUud2FybmluZ3MuZXZlcnkoZT0-bC5oYXMoZSkpJiYhaSYmKCFkfHxwLmxlbmd0aD4wKSxfPWU9Pnt1KHQ9PntsZXQgbj1uZXcgU2V0KHQpO3JldHVybiBuLmhhcyhlKT9uLmRlbGV0ZShlKTpuLmFkZChlKSxufSl9O3JldHVybigwLFYuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGZsLWNvbmZpcm1gLCJhcmlhLWxhYmVsbGVkYnkiOmBmbC1jb25maXJtLXRpdGxlYCxjaGlsZHJlbjpbKDAsVi5qc3gpKGBoMmAse2lkOmBmbC1jb25maXJtLXRpdGxlYCxjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtM2AsY2hpbGRyZW46aD96LmNvbmZpcm1BZGRUaXRsZTp6LmNvbmZpcm1SZW1vdmVUaXRsZX0pLCgwLFYuanN4cykoYHBgLHtjbGFzc05hbWU6YGZsLWZvbGRlciBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOlsoMCxWLmpzeCkobix7bmFtZTpgZm9sZGVyYCxzaXplOjE2fSksKDAsVi5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46ZS5mb2xkZXJ9KV19KSxoJiZlLmVsc2V3aGVyZT8oMCxWLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46ei5lbHNld2hlcmUoZS50eXBlZCl9KTpudWxsLCgwLFYuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpoP3ouY29uZmlybUFkZEJvZHk6ei5jb25maXJtUmVtb3ZlQm9keX0pLGUud2FybmluZ3MubGVuZ3RoPjA_KDAsVi5qc3hzKShgZmllbGRzZXRgLHtjbGFzc05hbWU6YGZsLXdhcm5pbmdzYCxjaGlsZHJlbjpbKDAsVi5qc3gpKGBsZWdlbmRgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46ei53YXJuaW5nc1RpdGxlfSksZS53YXJuaW5ncy5tYXAoZT0-KDAsVi5qc3hzKShgbGFiZWxgLHtjbGFzc05hbWU6YGFsLWNoZWNrIGFsLXRleHQtYm9keWAsY2hpbGRyZW46WygwLFYuanN4KShgaW5wdXRgLHt0eXBlOmBjaGVja2JveGAsY2hlY2tlZDpsLmhhcyhlKSxvbkNoYW5nZTooKT0-XyhlKSxkaXNhYmxlZDppfSksKDAsVi5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46a2VbZV0_P3ouZmFpbGVkfSldfSxlKSldfSk6bnVsbCxkPygwLFYuanN4KShyLHtuYW1lOmBvd25lci1jb2RlYCx0eXBlOmBwYXNzd29yZGAsYXV0b0NvbXBsZXRlOmBvZmZgLGxhYmVsOnoub3duZXJDb2RlLGhpbnQ6YCR7ei5vd25lckNvZGVIaW50fSAke3Z9YCx2YWx1ZTpwLG9uQ2hhbmdlOmU9Pm0oZS50YXJnZXQudmFsdWUpLGRpc2FibGVkOmksbW9ubzohMH0pOigwLFYuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjp6LndpdGhQYXNza2V5fSksbz09PXZvaWQgMD9udWxsOigwLFYuanN4KShRLHtub3RpY2U6b30pLCgwLFYuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgZmwtYWN0aW9uc2AsY2hpbGRyZW46WygwLFYuanN4KShhLHt2YXJpYW50OmBwcmltYXJ5YCxkaXNhYmxlZDohZyxvbkNsaWNrOigpPT57bGV0IHQ9ZD9wOnZvaWQgMDttKGBgKSxzKGUud2FybmluZ3MsdCl9LGNoaWxkcmVuOmk_ei5zZW5kaW5nOmg_ei5jb25maXJtQWRkOnouY29uZmlybVJlbW92ZX0pLCgwLFYuanN4KShhLHt2YXJpYW50OmBnaG9zdGAsb25DbGljazpjLGRpc2FibGVkOmksY2hpbGRyZW46ei5jYW5jZWx9KSxkP251bGw6KDAsVi5qc3gpKGEse3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOigpPT5mKCEwKSxkaXNhYmxlZDppLGNoaWxkcmVuOnoudXNlQ29kZX0pXX0pXX0pfXZhciAkPSgpPT57dHJ5e2xldCBlPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KGBmb2xkZXJgKTtyZXR1cm4gZSE9PW51bGwmJmUubGVuZ3RoPD00MDk2P2U6YGB9Y2F0Y2h7cmV0dXJuYGB9fTtmdW5jdGlvbiBydCh7YXBpOmV9KXtsZXRbdCxpXT0oMCxiLnVzZVN0YXRlKSh7cGhhc2U6YGxvYWRpbmdgfSksW29dPSgwLGIudXNlU3RhdGUpKCQpLFtzLGNdPSgwLGIudXNlU3RhdGUpKG8ubGVuZ3RoPjA_e2tpbmQ6YGVudGVyYCxjaGVja2luZzohMX06e2tpbmQ6YGlkbGVgfSksW3UsZF09KDAsYi51c2VTdGF0ZSkobyksW2YscF09KDAsYi51c2VTdGF0ZSkodm9pZCAwKSxbbSxoXT0oMCxiLnVzZVN0YXRlKSh2b2lkIDApLFtnLHZdPSgwLGIudXNlU3RhdGUpKCExKSxTPSgwLGIudXNlQ2FsbGJhY2spKGFzeW5jKCk9PntsZXQgdD1hd2FpdCBlLmdldChlZSk7aWYodC5raW5kIT09YGFuc3dlcmApcmV0dXJuIGkoe3BoYXNlOmBlcnJvcmB9KTtpZih0LnN0YXR1cz09PTQwOSlyZXR1cm4gaSh7cGhhc2U6YG5vdF9zZXRfdXBgfSk7bGV0IG49dC5zdGF0dXM9PT0yMDA_cmUodC5qc29uKTp2b2lkIDA7aShuPT09dm9pZCAwP3twaGFzZTpgZXJyb3JgfTp7cGhhc2U6YG9rYCwuLi5ufSl9LFtlXSk7KDAsYi51c2VFZmZlY3QpKCgpPT57UygpfSxbU10pO2xldCBDPWFzeW5jKG4scik9PntwKHZvaWQgMCk7bGV0IGk9dC5waGFzZT09PWBva2A_dC52ZXJzaW9uOm51bGw7aWYoaT09PW51bGwpe249PT1gYWRkYCYmYyh7a2luZDpgZW50ZXJgLGNoZWNraW5nOiExLHByb2JsZW06ei5ydWxlc1VucmVhZGFibGV9KSxwKHt0b25lOmB3YXJuaW5nYCx0ZXh0OnoucnVsZXNVbnJlYWRhYmxlfSk7cmV0dXJufW49PT1gYWRkYCYmYyh7a2luZDpgZW50ZXJgLGNoZWNraW5nOiEwfSk7bGV0IGE9YXdhaXQgZS5nZXQodGUobixyLGkpKSxvPWEua2luZD09PWBhbnN3ZXJgJiZhLnN0YXR1cz09PTIwMD9pZShhLmpzb24pOnZvaWQgMDtpZihvPT09dm9pZCAwKXtsZXQgZT1hLmtpbmQ9PT1gb2ZmbGluZWA_e3RvbmU6YHdhcm5pbmdgLHRleHQ6ei5vZmZsaW5lfTokZShhZShhLnN0YXR1cyxhLmpzb24pKTtuPT09YGFkZGAmJmMoZS5ydWxlcz09PSEwP3traW5kOmBlbnRlcmAsY2hlY2tpbmc6ITF9OntraW5kOmBlbnRlcmAsY2hlY2tpbmc6ITEscHJvYmxlbTplLnRleHR9KSxuPT09YHJlbW92ZWAmJmMoe2tpbmQ6YGlkbGVgfSkscChlKSxlLnJlbG9hZD09PSEwJiZhd2FpdCBTKCl9ZWxzZSBoKEkoKT9hd2FpdCBlLnBhc3NrZXkoKTp2b2lkIDApLGMoe2tpbmQ6YGNvbmZpcm1gLHJldmlldzpvfSl9LG5lPWFzeW5jKHQsbixyKT0-e3YoITApLHAodm9pZCAwKTt0cnl7bGV0IGk7aWYocj09PXZvaWQgMCYmbSE9PXZvaWQgMCl7bGV0IHI9YXdhaXQgVGUobSk7aWYoci5raW5kIT09YG9rYCl7cCh7dG9uZTpgaW5mb2AsdGV4dDp6LnBhc3NrZXlOb3RVc2VkfSk7cmV0dXJufWk9YXdhaXQgZS5jb21taXQoeCx7cmV2aWV3OnQucmV2aWV3LGFja25vd2xlZGdlZDpbLi4ubl19LHtraW5kOmBwYXNza2V5YCxib2R5OnIuYm9keX0pfWVsc2UgaT1hd2FpdCBlLmNvbW1pdCh4LHtyZXZpZXc6dC5yZXZpZXcsYWNrbm93bGVkZ2VkOlsuLi5uXX0se2tpbmQ6YGNvZGVgLGNvZGU6cj8_YGB9KTtsZXQgYT1ldChpLHQuY2hhbmdlKTtwKGEpLGkua2luZD09PWBhcHBsaWVkYD8oYyh7a2luZDpgaWRsZWB9KSxkKGBgKSxhd2FpdCBTKCkpOnR0LmhhcyhpLmtpbmQpfHxjKHQuY2hhbmdlPT09YGFkZGA_e2tpbmQ6YGVudGVyYCxjaGVja2luZzohMX06e2tpbmQ6YGlkbGVgfSl9ZmluYWxseXt2KCExKX19LHc9KCk9PntjKHtraW5kOmBpZGxlYH0pLHAodm9pZCAwKX0sVDtyZXR1cm4gVD10LnBoYXNlPT09YGxvYWRpbmdgPygwLFYuanN4KShxLHt3b3JkOnoubG9hZGluZ30pOnQucGhhc2U9PT1gbm90X3NldF91cGA_KDAsVi5qc3gpKHkse3RvbmU6YGluZm9gLGNoaWxkcmVuOnoubm90U2V0VXB9KTp0LnBoYXNlPT09YGVycm9yYD8oMCxWLmpzeCkoeSx7dG9uZTpgd2FybmluZ2AsY2hpbGRyZW46ei51bmF2YWlsYWJsZX0pOigwLFYuanN4cykoVi5GcmFnbWVudCx7Y2hpbGRyZW46W3QuZm9sZGVycy5sZW5ndGg9PT0wJiZzLmtpbmQ9PT1gaWRsZWA_KDAsVi5qc3gpKGwse2ljb246YGZvbGRlcmAsdGl0bGU6ei5lbXB0eVRpdGxlLHByb21wdDp6LmVtcHR5UHJvbXB0LGFjdGlvbjooMCxWLmpzeCkoYSx7dmFyaWFudDpgcHJpbWFyeWAsaWNvbjpgcGx1c2Asb25DbGljazooKT0-Yyh7a2luZDpgZW50ZXJgLGNoZWNraW5nOiExfSksY2hpbGRyZW46ei5hbGxvd0ZvbGRlcn0pfSk6bnVsbCx0LmZvbGRlcnMubGVuZ3RoPjA_KDAsVi5qc3gpKGB1bGAse2NsYXNzTmFtZTpgZmwtbGlzdGAsY2hpbGRyZW46dC5mb2xkZXJzLm1hcChlPT4oMCxWLmpzeHMpKGBsaWAse2NsYXNzTmFtZTpgZmwtcm93YCxjaGlsZHJlbjpbKDAsVi5qc3gpKG4se25hbWU6YGZvbGRlcmAsc2l6ZToxNn0pLCgwLFYuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgZmwtcm93LW1haW5gLGNoaWxkcmVuOlsoMCxWLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtY29kZWAsY2hpbGRyZW46ZS5wYXRofSksZS5yZXNvbHZlZD09PW51bGw_KDAsVi5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOnouZm9sZGVyTWlzc2luZ30pOmUucmVzb2x2ZWQ9PT1lLnBhdGg_bnVsbDooMCxWLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46RGUoZS5yZXNvbHZlZCl9KV19KSwoMCxWLmpzeCkoYSx7dmFyaWFudDpgZ2hvc3RgLHNpemU6YHNtYCxpY29uOmB4YCwiYXJpYS1sYWJlbCI6QihlLnBhdGgpLHRpdGxlOkIoZS5wYXRoKSxkaXNhYmxlZDpzLmtpbmQhPT1gaWRsZWAsb25DbGljazooKT0-dm9pZCBDKGByZW1vdmVgLGUucGF0aCl9KV19LGUucGF0aCkpfSk6bnVsbCxzLmtpbmQ9PT1gaWRsZWAmJnQuZm9sZGVycy5sZW5ndGg-MD8oMCxWLmpzeCkoYSx7YmxvY2s6ITAsaWNvbjpgcGx1c2Asb25DbGljazooKT0-e3Aodm9pZCAwKSxjKHtraW5kOmBlbnRlcmAsY2hlY2tpbmc6ITF9KX0sY2hpbGRyZW46ei5hbGxvd0ZvbGRlcn0pOm51bGwscy5raW5kPT09YGVudGVyYD8oMCxWLmpzeHMpKGBmb3JtYCx7Y2xhc3NOYW1lOmBmbC1lbnRlcmAsb25TdWJtaXQ6ZT0-e2UucHJldmVudERlZmF1bHQoKSx1Lmxlbmd0aD4wJiYhcy5jaGVja2luZyYmQyhgYWRkYCx1KX0sY2hpbGRyZW46WygwLFYuanN4KShyLHtuYW1lOmBmb2xkZXJgLGxhYmVsOnouZm9sZGVyRmllbGQsLi4ucy5wcm9ibGVtPT09dm9pZCAwP3toaW50OnouZm9sZGVySGludH06e2Vycm9yOnMucHJvYmxlbX0sdmFsdWU6dSxvbkNoYW5nZTplPT5kKGUudGFyZ2V0LnZhbHVlKSxhdXRvQ29tcGxldGU6YG9mZmAsc3BlbGxDaGVjazohMSxtb25vOiEwfSksKDAsVi5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBmbC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsVi5qc3gpKGEse3R5cGU6YHN1Ym1pdGAsdmFyaWFudDpgcHJpbWFyeWAsZGlzYWJsZWQ6dS5sZW5ndGg9PT0wfHxzLmNoZWNraW5nLGNoaWxkcmVuOnMuY2hlY2tpbmc_ei5jaGVja2luZzp6LmNoZWNrfSksKDAsVi5qc3gpKGEse3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOncsY2hpbGRyZW46ei5jYW5jZWx9KV19KV19KTpudWxsLHMua2luZD09PWBjb25maXJtYD8oMCxWLmpzeCkobnQse3JldmlldzpzLnJldmlldyxwYXNza2V5Om0sc2VuZGluZzpnLG5vdGljZTpmLG9uQ29uZmlybTooZSx0KT0-dm9pZCBuZShzLnJldmlldyxlLHQpLG9uQ2FuY2VsOnd9LHMucmV2aWV3LnJldmlldyk6bnVsbCxzLmtpbmQhPT1gY29uZmlybWAmJmYhPT12b2lkIDAmJnMua2luZCE9PWBlbnRlcmA_KDAsVi5qc3gpKFEse25vdGljZTpmfSk6bnVsbCxzLmtpbmQ9PT1gZW50ZXJgJiZmPy5ydWxlcz09PSEwPygwLFYuanN4KShRLHtub3RpY2U6Zn0pOm51bGwsKDAsVi5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOnouZXZlcnlDaGFuZ2V9KV19KSwoMCxWLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBmbC1wYW5lbGAsImFyaWEtbGFiZWxsZWRieSI6YGZsLWZvbGRlcnNgLGNoaWxkcmVuOlsoMCxWLmpzeCkoYGgyYCx7aWQ6YGZsLWZvbGRlcnNgLGNsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbCBhbC1tdXRlZGAsY2hpbGRyZW46ei5mb2xkZXJzTGFiZWx9KSxULHQucGhhc2U9PT1gb2tgPygwLFYuanN4KShfLHtmaWVsZHM6W3traW5kOmBjb3VudGAsbGFiZWw6Ui5ob29kRm9sZGVycyx2YWx1ZTpTdHJpbmcodC5mb2xkZXJzLmxlbmd0aCl9LC4uLnQuZm9sZGVycy5zbGljZSgwLDUpLm1hcCgoZSx0KT0-KHtraW5kOmBwYXRoYCxsYWJlbDpSLmhvb2RGb2xkZXIodCsxKSx2YWx1ZTplLnBhdGh9KSksLi4udC5mb2xkZXJzLmxlbmd0aD41P1t7a2luZDpgdGV4dGAsbGFiZWw6Ui5ob29kTW9yZUZvbGRlcnMsdmFsdWU6Ui5ob29kTW9yZSh0LmZvbGRlcnMubGVuZ3RoLTUpfV06W11dfSk6bnVsbF19KX1mdW5jdGlvbiBpdCh7ZmV0Y2g6ZSx0b2tlbjp0LGluaXRpYWxUYWI6bn09e30pe2xldCByPSgwLGIudXNlTWVtbykoKCk9PndlKHsuLi5lPT09dm9pZCAwP3t9OntmZXRjaDplfSwuLi50PT09dm9pZCAwP3t9Ont0b2tlbjp0fX0pLFtlLHRdKSxbaSxhXT0oMCxiLnVzZVN0YXRlKSgoKT0-bj8_KCQoKS5sZW5ndGg-MD9gZm9sZGVyc2A6YHJlY2VpdmVkYCkpLFtvLHNdPSgwLGIudXNlU3RhdGUpKHt9KSxjPSgwLGIudXNlQ2FsbGJhY2spKGU9PnModD0-KHsuLi50LHJlY2VpdmVkOmV9KSksW10pLGw9KDAsYi51c2VDYWxsYmFjaykoZT0-cyh0PT4oey4uLnQsc2VudDplfSkpLFtdKTtyZXR1cm4oMCxWLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGZsLXBhZ2VgLGNoaWxkcmVuOlsoMCxWLmpzeCkoYGgxYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOm0uZmlsZXN9KSwoMCxWLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Ui5leHBsYWluZXJ9KSwoMCxWLmpzeCkoamUse3RhYjppLG9uVGFiOmEsY291bnRzOm99KSwoMCxWLmpzeHMpKGBkaXZgLHtpZDpgZmwtdGFicGFuZWxgLHJvbGU6YHRhYnBhbmVsYCwiYXJpYS1sYWJlbGxlZGJ5IjpgZmwtdGFiLSR7aX1gLGNoaWxkcmVuOltpPT09YHJlY2VpdmVkYD8oMCxWLmpzeCkoWmUse2dldDpyLmdldCxyZXZlYWw6ci5yZXZlYWwsb25XYWl0aW5nOmN9KTpudWxsLGk9PT1gc2VudGA_KDAsVi5qc3gpKFFlLHtnZXQ6ci5nZXQsb25XYWl0aW5nOmx9KTpudWxsLGk9PT1gZm9sZGVyc2A_KDAsVi5qc3gpKHJ0LHthcGk6cn0pOm51bGxdfSldfSl9ZXhwb3J0e2l0IGFzIEZpbGVzUGFnZX07"],
54258
+ ["assets/forms-BvKvNHMZ.js", "aW1wb3J0e2kgYXMgZSxvIGFzIHQscyBhcyBuLHQgYXMgcn1mcm9tIi4vYnJhbmQtQnotMk05ZWouanMiO3ZhciBpPXQoKSxhPW4oKTtmdW5jdGlvbiBvKHtjaGlsZHJlbjplfSl7cmV0dXJuKDAsaS5qc3gpKGBrYmRgLHtjbGFzc05hbWU6YGFsLWtiZGAsY2hpbGRyZW46ZX0pfWZ1bmN0aW9uIHMoe3ZhcmlhbnQ6dD1gc2Vjb25kYXJ5YCxzaXplOm49YG1kYCxpY29uOmEsaWNvblJpZ2h0OnMsa2JkOmMsYmxvY2s6bCxjbGFzc05hbWU6dSxjaGlsZHJlbjpkLHR5cGU6Zj1gYnV0dG9uYCxhdXRvRm9jdXM6cCwuLi5tfSl7cmV0dXJuKDAsaS5qc3hzKShgYnV0dG9uYCx7Li4ubSx0eXBlOmYsY2xhc3NOYW1lOmUoYGFsLWJ0bmAsYGFsLWJ0bi0ke3R9YCxgYWwtYnRuLSR7bn1gLGw9PT0hMCYmYGFsLWJ0bi1ibG9ja2AsdSksY2hpbGRyZW46W2E9PT12b2lkIDA_bnVsbDooMCxpLmpzeCkocix7bmFtZTphLHNpemU6bj09PWBsZ2A_MTg6MTZ9KSxkPT1udWxsP251bGw6KDAsaS5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46ZH0pLHM9PT12b2lkIDA_bnVsbDooMCxpLmpzeCkocix7bmFtZTpzLHNpemU6MTZ9KSxjPT09dm9pZCAwP251bGw6KDAsaS5qc3gpKG8se2NoaWxkcmVuOmN9KV19KX1mdW5jdGlvbiBjKHtsYWJlbDp0LGhpbnQ6bixlcnJvcjpvLG1vbm86cyxwcmVmaXg6YyxjbGFzc05hbWU6bCxpZDp1LC4uLmR9KXtsZXQgZj0oMCxhLnVzZUlkKSgpLHA9dT8_ZixtPW8hPT12b2lkIDB8fG4hPT12b2lkIDA7cmV0dXJuKDAsaS5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmUoYGFsLWZpZWxkYCxvIT09dm9pZCAwJiZgaXMtZXJyb3JgLGwpLGNoaWxkcmVuOlt0PT09dm9pZCAwP251bGw6KDAsaS5qc3gpKGBsYWJlbGAse2h0bWxGb3I6cCxjbGFzc05hbWU6YGFsLWZpZWxkLWxhYmVsIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46dH0pLCgwLGkuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtaW5wdXQtd3JhcGAsY2hpbGRyZW46W2M9PT12b2lkIDA_bnVsbDooMCxpLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWlucHV0LXByZWZpeCBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOmN9KSwoMCxpLmpzeCkoYGlucHV0YCx7Li4uZCxpZDpwLGNsYXNzTmFtZTplKGBhbC1pbnB1dGAscz09PSEwJiZgYWwtdGV4dC1jb2RlYCksImFyaWEtaW52YWxpZCI6bz09PXZvaWQgMD92b2lkIDA6YHRydWVgLCJhcmlhLWRlc2NyaWJlZGJ5IjptP2Ake3B9LWRgOnZvaWQgMH0pXX0pLG0_KDAsaS5qc3hzKShgZGl2YCx7aWQ6YCR7cH0tZGAsY2xhc3NOYW1lOmUoYGFsLWZpZWxkLWhpbnQgYWwtdGV4dC1jYXB0aW9uYCxvIT09dm9pZCAwJiZgaXMtZXJyb3JgKSxjaGlsZHJlbjpbbz09PXZvaWQgMD9udWxsOigwLGkuanN4KShyLHtuYW1lOmBjaXJjbGUtYWxlcnRgLHNpemU6MTR9KSxvPz9uXX0pOm51bGxdfSl9ZnVuY3Rpb24gbCh7bGFiZWw6dCxkZXNjcmlwdGlvbjpuLGNoZWNrZWQ6cixkZWZhdWx0Q2hlY2tlZDpvLGRpc2FibGVkOnMsbm90ZTpjLG9uQ2hhbmdlOmx9KXtsZXRbdSxkXT0oMCxhLnVzZVN0YXRlKShvPT09ITApLGY9cj8_dSxwPSgwLGEudXNlSWQpKCksbT1bbj09PXZvaWQgMD9gYDpgJHtwfS1kYCxjPT09dm9pZCAwP2BgOmAke3B9LW5gXS5maWx0ZXIoZT0-ZSE9PWBgKS5qb2luKGAgYCl8fHZvaWQgMDtyZXR1cm4oMCxpLmpzeHMpKGBsYWJlbGAse2NsYXNzTmFtZTplKGBhbC1zd2l0Y2gtcm93YCxzPT09ITAmJmBpcy1kaXNhYmxlZGApLGNoaWxkcmVuOlsoMCxpLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1zd2l0Y2gtdGV4dGAsY2hpbGRyZW46WygwLGkuanN4KShgc3BhbmAse2lkOmAke3B9LWxgLGNsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjp0fSksbj09PXZvaWQgMD9udWxsOigwLGkuanN4KShgc3BhbmAse2lkOmAke3B9LWRgLGNsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpufSldfSksYz09PXZvaWQgMD9udWxsOigwLGkuanN4KShgc3BhbmAse2lkOmAke3B9LW5gLGNsYXNzTmFtZTpgYWwtc3dpdGNoLW5vdGUgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpjfSksKDAsaS5qc3hzKShgYnV0dG9uYCx7dHlwZTpgYnV0dG9uYCxyb2xlOmBzd2l0Y2hgLCJhcmlhLWNoZWNrZWQiOmY_YHRydWVgOmBmYWxzZWAsImFyaWEtbGFiZWxsZWRieSI6YCR7cH0tbGAsImFyaWEtZGVzY3JpYmVkYnkiOm0sY2xhc3NOYW1lOmUoYGFsLXN3aXRjaGAsZiYmYGlzLW9uYCksb25DbGljazooKT0-e3MhPT0hMCYmKHI9PT12b2lkIDAmJmQoIWYpLGw_LighZikpfSxkaXNhYmxlZDpzLGNoaWxkcmVuOlsoMCxpLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXN3aXRjaC1rbm9iYH0pLCgwLGkuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtc3dpdGNoLXN0YXRlIGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOmY_YE9uYDpgT2ZmYH0pXX0pXX0pfWZ1bmN0aW9uIHUoe2xhYmVsOnQsbGFiZWxsZWRCeTpuLG9wdGlvbnM6byx2YWx1ZTpzLGRlZmF1bHRWYWx1ZTpjLG9uQ2hhbmdlOmwsdmFyaWFudDp1PWByYWRpb2AsaWRQcmVmaXg6ZCxwYW5lbElkOmZ9KXtsZXQgcD0oMCxhLnVzZUlkKSgpLG09ZD8_cCxoPXU9PT1gdGFic2AsW2csX109KDAsYS51c2VTdGF0ZSkoYz8_b1swXT8udmFsdWUpLHY9cz8_Zyx5PSgwLGEudXNlUmVmKShbXSksYj1NYXRoLm1heCgwLG8uZmluZEluZGV4KGU9PmUudmFsdWU9PT12KSkseD1lPT57cz09PXZvaWQgMCYmXyhlKSxsPy4oZSl9LFM9KGUsdCk9PntsZXQgbj1lLmtleT09PWBBcnJvd1JpZ2h0YHx8ZS5rZXk9PT1gQXJyb3dEb3duYD8xOmUua2V5PT09YEFycm93TGVmdGB8fGUua2V5PT09YEFycm93VXBgPy0xOjAscjtpZihlLmtleT09PWBIb21lYClyPTA7ZWxzZSBpZihlLmtleT09PWBFbmRgKXI9by5sZW5ndGgtMTtlbHNlIGlmKG49PT0wKXJldHVybjtlbHNlIHI9KHQrbitvLmxlbmd0aCklby5sZW5ndGg7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBpPW9bcl07aSE9PXZvaWQgMCYmKHgoaS52YWx1ZSkseS5jdXJyZW50W3JdPy5mb2N1cygpKX07cmV0dXJuKDAsaS5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNlZ2Ascm9sZTpoP2B0YWJsaXN0YDpgcmFkaW9ncm91cGAsImFyaWEtbGFiZWwiOnQsImFyaWEtbGFiZWxsZWRieSI6biwiZGF0YS1jb3VudCI6by5sZW5ndGgsImRhdGEtaW5kZXgiOmIsY2hpbGRyZW46by5tYXAoKHQsbik9PntsZXQgYT10LnZhbHVlPT09djtyZXR1cm4oMCxpLmpzeHMpKGBidXR0b25gLHtyZWY6ZT0-e3kuY3VycmVudFtuXT1lfSx0eXBlOmBidXR0b25gLHJvbGU6aD9gdGFiYDpgcmFkaW9gLC4uLmg_e2lkOmAke219LXRhYi0ke3QudmFsdWV9YCwiYXJpYS1zZWxlY3RlZCI6YT9gdHJ1ZWA6YGZhbHNlYCwiYXJpYS1jb250cm9scyI6Zn06eyJhcmlhLWNoZWNrZWQiOmE_YHRydWVgOmBmYWxzZWB9LHRhYkluZGV4Om49PT1iPzA6LTEsY2xhc3NOYW1lOmUoYGFsLXNlZy1vcHQgYWwtdGV4dC1ib2R5LXNtYCxhJiZgaXMtb25gKSxvbkNsaWNrOigpPT54KHQudmFsdWUpLG9uS2V5RG93bjplPT5TKGUsbiksY2hpbGRyZW46W2E_KDAsaS5qc3gpKHIse25hbWU6YGNoZWNrYCxzaXplOjE0fSk6bnVsbCx0LmxhYmVsLHQuaGludD09PXZvaWQgMD9udWxsOigwLGkuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtc2VnLWhpbnRgLGNoaWxkcmVuOnQuaGludH0pLHQuYmFkZ2VdfSx0LnZhbHVlKX0pfSl9ZXhwb3J0e2MgYXMgaSx1IGFzIG4sbCBhcyByLHMgYXMgdH07"],
54259
+ ["assets/home-rM1bdQNK.js", "aW1wb3J0e28gYXMgZSxzIGFzIHQsdCBhcyBufWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7aW1wb3J0e0QgYXMgcixPIGFzIGksVCBhcyBhLGEgYXMgbyxkIGFzIHMsZiBhcyBjLGkgYXMgZWUsaiBhcyBsLG8gYXMgdGUscCBhcyBuZSxyIGFzIHUscyBhcyBkLHUgYXMgZix2IGFzIHAsdyBhcyByZX1mcm9tIi4vaW5kZXgtMUJOaHl0czAuanMiO2ltcG9ydHt0IGFzIG19ZnJvbSIuL3N0cmluZ3MtQlNZR3ppUzkuanMiO2ltcG9ydHtpIGFzIGh9ZnJvbSIuL2RhdGEtQlk5WUpBaDcuanMiO2ltcG9ydHtzIGFzIGcsdCBhcyBffWZyb20iLi9kYXRhLUJaR3k4WW51LmpzIjt2YXIgdj10KCkseT1gL2FwaS91aS9hY3Rpdml0eT9saW1pdD0zYCxiPWAvYXBpL3VpL2NvbnRhY3RzYCx4PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxTPWU9PnR5cGVvZiBlPT1gbnVtYmVyYCYmTnVtYmVyLmlzU2FmZUludGVnZXIoZSkmJmU-PTA7ZnVuY3Rpb24gQyhlKXtsZXQgdD1kKGUpO2lmKHQ9PT12b2lkIDB8fGUua2luZCE9PWBva2B8fCF4KGUuZGF0YSkpcmV0dXJuO2xldHtyZWxheXM6bixsYXN0U3luY0F0OnJ9PWUuZGF0YSxpPW51bGw7aWYoeChuKSl7bGV0e2Nvbm5lY3RlZDplLHRvdGFsOnR9PW47dHlwZW9mIGU9PWBudW1iZXJgJiZ0eXBlb2YgdD09YG51bWJlcmAmJk51bWJlci5pc0ludGVnZXIoZSkmJk51bWJlci5pc0ludGVnZXIodCkmJmU-PTAmJnQ-PWUmJnQ8PTMyJiYoaT17Y29ubmVjdGVkOmUsdG90YWw6dH0pfXJldHVybnthZ2VudDp0LnN0YXRlLHJlbGF5czppLGxhc3RTeW5jQXQ6UyhyKT9yOm51bGwsdmVyc2lvbjp0LnZlcnNpb24_P251bGx9fXZhciB3PXthcHByb3ZlZDpgYXBwcm92ZWRgLGFwcHJvdmVkX2J5X3J1bGVzOmBhcHByb3ZlZEJ5UnVsZXNgLGRlbmllZDpgZGVuaWVkYCxjYW5jZWxsZWQ6YGNhbmNlbGxlZGB9LFQ9bmV3IFNldChbYHN1Ym1pdHRlZGAsYG5lZWRzX2NyZWRpdHNgLGBmYWlsZWRgLGByZWNvcmRlZGAsYHJlY2VpdmVkYF0pO2Z1bmN0aW9uIGllKGUpe2lmKCF4KGUpfHwhQXJyYXkuaXNBcnJheShlLml0ZW1zKSlyZXR1cm47bGV0IHQ9W107Zm9yKGxldCBuIG9mIGUuaXRlbXMpe2lmKCF4KG4pfHwhUyhuLmF0KSljb250aW51ZTtsZXQgZT1uLmF0LHI7c3dpdGNoKG4ua2luZCl7Y2FzZWBhcHByb3ZhbF9kZWNpZGVkYDpyPXR5cGVvZiBuLmRlY2lzaW9uPT1gc3RyaW5nYCYmT2JqZWN0Lmhhc093bih3LG4uZGVjaXNpb24pP3dbbi5kZWNpc2lvbl06dm9pZCAwO2JyZWFrO2Nhc2VgcHJvb2ZgOihuLmRpcmVjdGlvbj09PWBzZW50YHx8bi5kaXJlY3Rpb249PT1gcmVjZWl2ZWRgKSYmdHlwZW9mIG4uc3RhdGU9PWBzdHJpbmdgJiZULmhhcyhuLnN0YXRlKSYmKHI9bi5zdGF0ZT09PWByZWNlaXZlZGB8fG4uZGlyZWN0aW9uPT09YHJlY2VpdmVkYD9gcHJvb2ZSZWNlaXZlZGA6YHByb29mU2VudGApO2JyZWFrO2Nhc2Vgc2VuZGVyX2Jsb2NrZWRgOnI9YHNlbmRlckJsb2NrZWRgO2JyZWFrO2Nhc2VgY29udGFjdF9ibG9ja2VkYDpyPWBjb250YWN0QmxvY2tlZGA7YnJlYWs7Y2FzZWBydWxlc19jaGFuZ2VkYDpyPWBydWxlc0NoYW5nZWRgO2JyZWFrO2RlZmF1bHQ6cj12b2lkIDB9aWYociE9PXZvaWQgMCYmdC5wdXNoKHtraW5kOnIsYXQ6ZX0pLHQubGVuZ3RoPT09MylicmVha31yZXR1cm4gdH1mdW5jdGlvbiBhZShlKXtsZXQgdD1nKGUpO3JldHVybiB0LmtpbmQ9PT1gb2tgP3twcm9vZnNMZWZ0OnQucHJvb2ZzTGVmdCxiYWxhbmNlOnQuYmFsYW5jZX06YHVuYXZhaWxhYmxlYH1mdW5jdGlvbiBvZShlKXtsZXQgdD1oKGUpO3JldHVybiB0LmtpbmQ9PT1gb2tgP3QuY29udGFjdHMubGVuZ3RoOnZvaWQgMH1mdW5jdGlvbiBFKGUsdD04MCl7bGV0IG49ZS5yZXBsYWNlKC9ccysvZyxgIGApLnRyaW0oKTtyZXR1cm4gbi5sZW5ndGg8PXQ_bjpgJHtuLnNsaWNlKDAsdC0xKS50cmltRW5kKCl94oCmYH1mdW5jdGlvbiBzZShlKXtsZXQgdD1bLi4uZV0uc29ydCgoZSx0KT0-ZS5leHBpcmVzQXQtdC5leHBpcmVzQXQpWzBdO3JldHVybntjb3VudDplLmxlbmd0aCxzb29uZXN0OnQ9PT12b2lkIDA_bnVsbDp7c3VtbWFyeTpFKHQuc3VtbWFyeSksZXhwaXJlc0F0OnQuZXhwaXJlc0F0fX19dmFyIEQ9e3RpdGxlOmBIb21lYCxncmVldGluZ01vcm5pbmc6YEdvb2QgbW9ybmluZ2AsZ3JlZXRpbmdBZnRlcm5vb246YEdvb2QgYWZ0ZXJub29uYCxncmVldGluZ0V2ZW5pbmc6YEdvb2QgZXZlbmluZ2AsbG9hZGluZzpgTG9hZGluZyBIb21l4oCmYCx0aWxlc0xhYmVsOmBZb3VyIGFnZW50IGF0IGEgZ2xhbmNlYCxhZ2VudFRpdGxlOmBBZ2VudGAsYWdlbnRSdW5uaW5nOmBSdW5uaW5nYCxhZ2VudFBhdXNlZDpgUGF1c2VkYCxhZ2VudE5vdFJ1bm5pbmc6YE5vdCBydW5uaW5nYCxhZ2VudE5lZWRzU2V0dXA6YE5lZWRzIHNldHVwYCxhZ2VudFJ1bm5pbmdMaW5lOmBSZWFkeSB0byBzZW5kIGFuZCByZWNlaXZlLmAsYWdlbnRQYXVzZWRMaW5lOmBOb3RoaW5nIGlzIHNlbnQgb3IgcmVjZWl2ZWQgZm9yIG5vdy5gLGFnZW50Tm90UnVubmluZ0xpbmU6YFN0YXJ0IHlvdXIgQUkgYXBwIHRvIGJyaW5nIHlvdXIgYWdlbnQgb25saW5lLmAsYWdlbnROZWVkc1NldHVwTGluZTpgRmluaXNoIHNldHRpbmcgdXAgdG8gc3RhcnQuYCxuZXR3b3JrVGl0bGU6YE5ldHdvcmtgLG5ldHdvcmtDb25uZWN0ZWQ6YENvbm5lY3RlZGAsbmV0d29ya1JlY29ubmVjdGluZzpgUmVjb25uZWN0aW5n4oCmYCxuZXR3b3JrT2ZmbGluZTpgT2ZmbGluZWAsbmV0d29ya05vdENvbm5lY3RlZDpgTm90IGNvbm5lY3RlZGAsd2FpdGluZ1RpdGxlOmBXYWl0aW5nIGZvciB5b3VgLHdhaXRpbmdOb25lOmBOb3RoaW5nIGlzIHdhaXRpbmcuYCxyZXZpZXc6YFJldmlld2Asb25lTWludXRlTGVmdDpgMSBtaW4gbGVmdGAsbGVzc1RoYW5NaW51dGU6YExlc3MgdGhhbiBhIG1pbnV0ZSBsZWZ0YCxjcmVkaXRzVGl0bGU6YENyZWRpdHNgLGNyZWRpdHNNZXRlcjpgQ3JlZGl0c2AsY3JlZGl0c05vbmU6YEZyZWUgdGVzdCBjcmVkaXRzIGFycml2ZSB3aXRoIHlvdXIgZmlyc3QgcHJvb2YuYCxjcmVkaXRzVW5hdmFpbGFibGU6YENhbid0IGNoZWNrIHJpZ2h0IG5vdy5gLGFjdGl2aXR5VGl0bGU6YExhc3QgYWN0aXZpdHlgLGFjdGl2aXR5Tm9uZTpgTm90aGluZyB5ZXQuIEFwcHJvdmFscyBhbmQgcHJvb2ZzIHNob3cgdXAgaGVyZS5gLGFjdGl2aXR5TGlzdDpgTGFzdCB0aHJlZSBldmVudHNgLG5leHRTdGVwTGFiZWw6YE5leHQgc3RlcGAsbmV4dENvbnRhY3RUaXRsZTpgQ29ubmVjdCB5b3VyIGZpcnN0IGNvbnRhY3RgLG5leHRDb250YWN0Qm9keTpgQWRkIHNvbWVvbmUgeW91ciBBSSBjYW4gZXhjaGFuZ2UgbWVzc2FnZXMgd2l0aC5gLG5leHRDb250YWN0QWN0aW9uOmBBZGQgYSBjb250YWN0YCxuZXh0S2l0VGl0bGU6YFNhdmUgeW91ciByZWNvdmVyeSBraXRgLG5leHRLaXRCb2R5OmBJdCBsZXRzIHlvdSBnZXQgYmFjayBpbiBpZiB0aGlzIGNvbXB1dGVyIGlzIGxvc3QuYCxuZXh0S2l0QWN0aW9uOmBTYXZlIGl0IG5vd2AsbmV4dFBhc3NrZXlCb2R5OmBBcHByb3ZlIHdpdGggYSBxdWljayB0b3VjaCBpbnN0ZWFkIG9mIGEgY29kZS5gLGFzT2Y6YGFzIG9mYCxlcnJvckxpbmU6YENvdWxkbid0IHJlYWQgdGhlIGxhdGVzdC4gVHJ5aW5nIGFnYWluLmAsb2ZmbGluZUxpbmU6YENhbid0IHJlYWNoIEFnZW50TGluayBvbiB0aGlzIGNvbXB1dGVyLiBTaG93aW5nIHRoZSBsYXN0IHZhbHVlcy5gLGhvb2RWZXJzaW9uOmBWZXJzaW9uYCxob29kUm91dGVzOmBSb3V0ZXMgdXBgfTtmdW5jdGlvbiBjZShlKXtyZXR1cm4gZTw9MD9ELmxlc3NUaGFuTWludXRlOmU9PT0xP0Qub25lTWludXRlTGVmdDpgJHtTdHJpbmcoZSl9IG1pbiBsZWZ0YH1mdW5jdGlvbiBsZShlLHQpe3JldHVybmAke2V9LCBhYm91dCAke1N0cmluZyh0KX0gJHt0PT09MT9gcHJvb2ZgOmBwcm9vZnNgfWB9ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIGU9PT0xP2AxIHJlcXVlc3Qgd2FpdGluZ2A6YCR7U3RyaW5nKGUpfSByZXF1ZXN0cyB3YWl0aW5nYH1mdW5jdGlvbiBPKGUsdCl7cmV0dXJuYCR7U3RyaW5nKGUpfSBvZiAke1N0cmluZyh0KX1gfXZhciBrPWUoKSxBPTE0ZTMsaj0xMDAsTT17YXBwcm92ZWQ6bS5hcHByb3ZlZCxhcHByb3ZlZEJ5UnVsZXM6bS5hcHByb3ZlZEJ5UnVsZXMsZGVuaWVkOm0uZGVuaWVkLGNhbmNlbGxlZDptLmNhbmNlbGxlZCxwcm9vZlNlbnQ6bS5wcm9vZlNlbnQscHJvb2ZSZWNlaXZlZDptLnByb29mUmVjZWl2ZWQsc2VuZGVyQmxvY2tlZDptLnNlbmRlckJsb2NrZWQsY29udGFjdEJsb2NrZWQ6bS5jb250YWN0QmxvY2tlZCxydWxlc0NoYW5nZWQ6bS5ydWxlc0NoYW5nZWR9LE49e2FwcHJvdmVkOmBhcHByb3ZhbGAsYXBwcm92ZWRCeVJ1bGVzOmBhcHByb3ZhbGAsZGVuaWVkOmBhcHByb3ZhbGAsY2FuY2VsbGVkOmBhcHByb3ZhbGAscHJvb2ZTZW50OmBwcm9vZi1zZWFsYCxwcm9vZlJlY2VpdmVkOmBwcm9vZi1zZWFsYCxzZW5kZXJCbG9ja2VkOmB1c2Vyc2AsY29udGFjdEJsb2NrZWQ6YHVzZXJzYCxydWxlc0NoYW5nZWQ6YHNsaWRlcnMtaG9yaXpvbnRhbGB9LFA9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodm9pZCAwLHtob3VyOmBudW1lcmljYCxtaW51dGU6YDItZGlnaXRgfSksRj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3dlZWtkYXk6YHNob3J0YCxkYXk6YG51bWVyaWNgLG1vbnRoOmBzaG9ydGB9KSxJPWU9PlAuZm9ybWF0KGUpLEw9ZT0-bmV3IERhdGUoZSoxZTMpO2Z1bmN0aW9uIFIoZSl7bGV0IHQ9ZS5nZXRIb3VycygpO3JldHVybiB0PDEyP0QuZ3JlZXRpbmdNb3JuaW5nOnQ8MTg_RC5ncmVldGluZ0FmdGVybm9vbjpELmdyZWV0aW5nRXZlbmluZ312YXIgej17aGVhbHRoOntkb25lOiExfSxvZmZsaW5lOiExLGVycm9yOiExLGFzT2Y6bnVsbCx3YWl0aW5nOntkb25lOiExfSxjcmVkaXRzOntkb25lOiExfSxldmVudHM6e2RvbmU6ITF9LGNvbnRhY3RzOntkb25lOiExfX0sQj17Y29ubmVjdGVkOmBjb25uZWN0ZWRgLHBhdXNlZDpgcGF1c2VkYCxub3RfcnVubmluZzpgbm90LXJ1bm5pbmdgLG5lZWRzX3NldHVwOmBuZWVkcy1zZXR1cGB9LFY9e2Nvbm5lY3RlZDpELmFnZW50UnVubmluZyxwYXVzZWQ6RC5hZ2VudFBhdXNlZCxub3RfcnVubmluZzpELmFnZW50Tm90UnVubmluZyxuZWVkc19zZXR1cDpELmFnZW50TmVlZHNTZXR1cH0sSD17Y29ubmVjdGVkOkQuYWdlbnRSdW5uaW5nTGluZSxwYXVzZWQ6RC5hZ2VudFBhdXNlZExpbmUsbm90X3J1bm5pbmc6RC5hZ2VudE5vdFJ1bm5pbmdMaW5lLG5lZWRzX3NldHVwOkQuYWdlbnROZWVkc1NldHVwTGluZX07ZnVuY3Rpb24gVSh7aWQ6ZSx0aXRsZTp0LGhyZWY6bixsb2FkaW5nOnIsYXR0ZW50aW9uOmk9ITEsc3RhbGU6byxjaGlsZHJlbjpzfSl7cmV0dXJuKDAsay5qc3hzKShgc2VjdGlvbmAse2NsYXNzTmFtZTpgaG0tdGlsZWAsImRhdGEtdGlsZSI6ZSwiZGF0YS1hdHRlbnRpb24iOmk_YHRydWVgOnZvaWQgMCwiYXJpYS1sYWJlbGxlZGJ5IjpgaG0tJHtlfWAsY2hpbGRyZW46WygwLGsuanN4KShgaDJgLHtpZDpgaG0tJHtlfWAsY2xhc3NOYW1lOmBobS10aWxlLXRpdGxlIGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOigwLGsuanN4KShgYWAse2NsYXNzTmFtZTpgaG0tdGlsZS1saW5rYCxocmVmOm4sY2hpbGRyZW46dH0pfSksKDAsay5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGhtLXRpbGUtYm9keWAsY2hpbGRyZW46KDAsay5qc3hzKShhLHtsb2FkaW5nOnIsbGluZXM6MixsYWJlbDpgJHt0fTogJHtELmxvYWRpbmd9YCxjaGlsZHJlbjpbcyxvPT09dm9pZCAwP251bGw6KDAsay5qc3hzKShgcGAse2NsYXNzTmFtZTpgaG0tYXNvZiBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOltELmFzT2YsYCBgLG9dfSldfSl9KV19KX1mdW5jdGlvbiBXKHtyb3c6ZSxpc05ldzp0fSl7bGV0IHI9bCghMCx7aXNOZXc6dH0pLGk9TChlLmF0KTtyZXR1cm4oMCxrLmpzeHMpKGBsaWAse3JlZjpyLnJlZixjbGFzc05hbWU6YGhtLWV2ZW50YCxjaGlsZHJlbjpbci5oaWdobGlnaHQsKDAsay5qc3gpKG4se25hbWU6TltlLmtpbmRdLHNpemU6MTYsY2xhc3NOYW1lOmBobS1ldmVudC1pY29uYH0pLCgwLGsuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgaG0tZXZlbnQtdGV4dCBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOk1bZS5raW5kXX0pLCgwLGsuanN4KShgdGltZWAse2NsYXNzTmFtZTpgaG0tZXZlbnQtdGltZSBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGRhdGVUaW1lOmkudG9JU09TdHJpbmcoKSxjaGlsZHJlbjpJKGkpfSldfSl9ZnVuY3Rpb24gZGUoe3Jvd3M6ZX0pe2xldCB0PSgwLHYudXNlUmVmKShudWxsKSxuPWUubWFwKGU9PmAke1N0cmluZyhlLmF0KX0tJHtlLmtpbmR9YCkscj10LmN1cnJlbnQ9PT1udWxsLGk9dC5jdXJyZW50Pz9uZXcgU2V0LGE9bmV3IFNldChuLmZpbHRlcihlPT4hciYmIWkuaGFzKGUpKSk7cmV0dXJuKDAsdi51c2VFZmZlY3QpKCgpPT57dC5jdXJyZW50PW5ldyBTZXQoWy4uLnQuY3VycmVudD8_W10sLi4ubl0pfSksKDAsay5qc3gpKGB1bGAse2NsYXNzTmFtZTpgaG0tZXZlbnRzYCwiYXJpYS1sYWJlbCI6RC5hY3Rpdml0eUxpc3QsY2hpbGRyZW46ZS5tYXAoKGUsdCk9PigwLGsuanN4KShXLHtyb3c6ZSxpc05ldzphLmhhcyhuW3RdKX0sblt0XSkpfSl9ZnVuY3Rpb24gZmUoZSx0KXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLmNlaWwoKGUqMWUzLXQuZ2V0VGltZSgpKS82ZTQpKX1mdW5jdGlvbiBwZShlLHQsbixyKXtpZihlKXtsZXQgZT1zLnRpdGxlKHIpO3JldHVybntpZDpgcGFzc2tleWAsdGl0bGU6ZSxib2R5OkQubmV4dFBhc3NrZXlCb2R5LGFjdGlvbjplLGhyZWY6YC9maXJzdC1ydW5gfX1yZXR1cm4gdD97aWQ6YGtpdGAsdGl0bGU6RC5uZXh0S2l0VGl0bGUsYm9keTpELm5leHRLaXRCb2R5LGFjdGlvbjpELm5leHRLaXRBY3Rpb24saHJlZjpgL3NldHRpbmdzL2JhY2t1cGB9Om49PT0wP3tpZDpgY29udGFjdGAsdGl0bGU6RC5uZXh0Q29udGFjdFRpdGxlLGJvZHk6RC5uZXh0Q29udGFjdEJvZHksYWN0aW9uOkQubmV4dENvbnRhY3RBY3Rpb24saHJlZjpgL3NldHRpbmdzL2NvbnRhY3RzYH06bnVsbH1mdW5jdGlvbiBtZSh7c3RlcDplfSl7cmV0dXJuKDAsay5qc3hzKShgc2VjdGlvbmAse2NsYXNzTmFtZTpgaG0tbmV4dGAsImRhdGEtbmV4dC1zdGVwIjplLmlkLCJhcmlhLWxhYmVsIjpELm5leHRTdGVwTGFiZWwsY2hpbGRyZW46WygwLGsuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgaG0tbmV4dC10ZXh0YCxjaGlsZHJlbjpbKDAsay5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsIGFsLW11dGVkYCxjaGlsZHJlbjpELm5leHRTdGVwTGFiZWx9KSwoMCxrLmpzeCkoYGgyYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTNgLGNoaWxkcmVuOmUudGl0bGV9KSwoMCxrLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46ZS5ib2R5fSldfSksKDAsay5qc3gpKGBhYCx7Y2xhc3NOYW1lOmBhbC1idG4gYWwtYnRuLXByaW1hcnlgLGhyZWY6ZS5ocmVmLGNoaWxkcmVuOmUuYWN0aW9ufSldfSl9ZnVuY3Rpb24gRyh7aGVhbHRoOmV9KXtsZXQgdD1bXTtyZXR1cm4gZT8udmVyc2lvbiE9bnVsbCYmdC5wdXNoKHtraW5kOmBpZGAsbGFiZWw6RC5ob29kVmVyc2lvbix2YWx1ZTplLnZlcnNpb259KSxlPy5yZWxheXMhPW51bGwmJnQucHVzaCh7a2luZDpgY291bnRgLGxhYmVsOkQuaG9vZFJvdXRlcyx2YWx1ZTpPKGUucmVsYXlzLmNvbm5lY3RlZCxlLnJlbGF5cy50b3RhbCl9KSwoMCxrLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgaG0taG9vZGAsImRhdGEtaG9vZCI6ITAsY2hpbGRyZW46KDAsay5qc3gpKHUse2ZpZWxkczp0fSl9KX1mdW5jdGlvbiBLKHthcGk6ZSxhcHByb3ZhbHM6dCxuZXh0U3RlcDphLHBsYXRmb3JtOnMsbm93Omw9KCk9Pm5ldyBEYXRlfSl7bGV0IHU9KDAsdi51c2VSZWYpKGU_P3AoKSksZD0oMCx2LnVzZVJlZikodD8_bmUoKSksbT0oMCx2LnVzZVJlZikobCk7bS5jdXJyZW50PWw7bGV0W2gsZ109KDAsdi51c2VTdGF0ZSkoeiksW3hdPSgwLHYudXNlU3RhdGUpKCgpPT5zPz9jKCkpLFtTLHddPSgwLHYudXNlU3RhdGUpKCExKSxbVCxFXT0oMCx2LnVzZVN0YXRlKSghMSksTz0oMCx2LnVzZVJlZikoITApLE09KDAsdi51c2VSZWYpKDApLE49KDAsdi51c2VSZWYpKCExKSxQPSgwLHYudXNlQ2FsbGJhY2spKGU9PntPLmN1cnJlbnQmJmcodD0-KHsuLi50LC4uLnR5cGVvZiBlPT1gZnVuY3Rpb25gP2UodCk6ZX0pKX0sW10pLEw9KDAsdi51c2VDYWxsYmFjaykoYXN5bmMoKT0-e2lmKCFOLmN1cnJlbnQpe04uY3VycmVudD0hMCxNLmN1cnJlbnQ9RGF0ZS5ub3coKTt0cnl7bGV0IGU9ZT0-dS5jdXJyZW50LmdldChlKSxbdCxuLHIsaV09YXdhaXQgUHJvbWlzZS5hbGwoW2UoeSksZShfKSxlKGIpLGQuY3VycmVudC5saXN0KCkuY2F0Y2goKCk9Pih7a2luZDpgb2ZmbGluZWB9KSldKTtQKGU9PntsZXQgYT10LmtpbmQ9PT1gb2tgP2llKHQuZGF0YSk6dm9pZCAwLG89bi5raW5kPT09YG9rYD9hZShuLmRhdGEpOnZvaWQgMCxzPXIua2luZD09PWBva2A_b2Uoci5kYXRhKTp2b2lkIDA7cmV0dXJue2V2ZW50czphPT09dm9pZCAwP3suLi5lLmV2ZW50cyxkb25lOiEwfTp7ZG9uZTohMCx2YWx1ZTphfSxjcmVkaXRzOm89PT12b2lkIDA_ey4uLmUuY3JlZGl0cyxkb25lOiEwfTp7ZG9uZTohMCx2YWx1ZTpvfSxjb250YWN0czpzPT09dm9pZCAwP3suLi5lLmNvbnRhY3RzLGRvbmU6ITB9Ontkb25lOiEwLHZhbHVlOnN9LHdhaXRpbmc6aS5raW5kPT09YG9rYD97ZG9uZTohMCx2YWx1ZTpzZShpLml0ZW1zKX06ey4uLmUud2FpdGluZyxkb25lOiEwfX19KX1jYXRjaHtQKGU9Pih7ZXZlbnRzOnsuLi5lLmV2ZW50cyxkb25lOiEwfSxjcmVkaXRzOnsuLi5lLmNyZWRpdHMsZG9uZTohMH0sY29udGFjdHM6ey4uLmUuY29udGFjdHMsZG9uZTohMH0sd2FpdGluZzp7Li4uZS53YWl0aW5nLGRvbmU6ITB9fSkpfWZpbmFsbHl7Ti5jdXJyZW50PSExfX19LFtQXSk7KDAsdi51c2VFZmZlY3QpKCgpPT57Ty5jdXJyZW50PSEwLEwoKTtsZXQgZT1vKCgpPT51LmN1cnJlbnQuZ2V0KHRlKSx7b25SZXN1bHQ6ZT0-e2lmKCFPLmN1cnJlbnQpcmV0dXJuO2xldCB0PUMoZSk7dD09PXZvaWQgMD9lLmtpbmQ9PT1gb2ZmbGluZWA_UCh7aGVhbHRoOntkb25lOiEwfSxvZmZsaW5lOiEwLGVycm9yOiExfSk6UChlPT4oe2hlYWx0aDp7Li4uZS5oZWFsdGgsZG9uZTohMH0sb2ZmbGluZTohMSxlcnJvcjohMH0pKTooUCh7aGVhbHRoOntkb25lOiEwLHZhbHVlOnR9LG9mZmxpbmU6ITEsZXJyb3I6ITEsYXNPZjptLmN1cnJlbnQoKX0pLERhdGUubm93KCktTS5jdXJyZW50Pj1BJiZMKCkpfX0pO3JldHVybigpPT57Ty5jdXJyZW50PSExLGUoKX19LFtMLFBdKSwoMCx2LnVzZUVmZmVjdCkoKCk9PntsZXQgZT0hMDsoYT8ucGFzc2tleT8_ZWUpKCkudGhlbih0PT5lJiZ3KHQpLCgpPT5lJiZ3KCExKSk7dHJ5e0UoKGE_LnJlY292ZXJ5S2l0Pz9mKSgpKX1jYXRjaHtFKCExKX1yZXR1cm4oKT0-e2U9ITF9fSxbYV0pO2xldCBXPWwoKSxLPWguaGVhbHRoLnZhbHVlLHE9Sz8uYWdlbnQ_P2Bub3RfcnVubmluZ2AsSj1oLm9mZmxpbmUmJmguYXNPZiE9PW51bGw_SShoLmFzT2YpOnZvaWQgMCxoZT1xPT09YG5vdF9ydW5uaW5nYCYmaC5oZWFsdGguZG9uZSxZPXBlKFMsVCxoLmNvbnRhY3RzLnZhbHVlLHgpLFg9aC53YWl0aW5nLnZhbHVlLFo9WD8uc29vbmVzdD8_bnVsbCxRPSgwLHYudXNlTWVtbykoKCk9Pmgub2ZmbGluZT97ZG90OmBub3QtcnVubmluZ2Asd29yZDpELm5ldHdvcmtPZmZsaW5lfTpLPT09dm9pZCAwfHxxPT09YG5vdF9ydW5uaW5nYHx8cT09PWBuZWVkc19zZXR1cGA_e2RvdDpgbm90LXJ1bm5pbmdgLHdvcmQ6RC5uZXR3b3JrTm90Q29ubmVjdGVkfTpLLnJlbGF5cyE9PW51bGwmJksucmVsYXlzLnRvdGFsPjAmJksucmVsYXlzLmNvbm5lY3RlZD09PTA_e2RvdDpgcmVjb25uZWN0aW5nYCx3b3JkOkQubmV0d29ya1JlY29ubmVjdGluZ306e2RvdDpgY29ubmVjdGVkYCx3b3JkOkQubmV0d29ya0Nvbm5lY3RlZH0sW2gub2ZmbGluZSxLLHFdKSwkPWguY3JlZGl0cy52YWx1ZTtyZXR1cm4oMCxrLmpzeHMpKGsuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxrLmpzeHMpKGBoZWFkZXJgLHtjbGFzc05hbWU6YGhtLWhlYWRgLGNoaWxkcmVuOlsoMCxrLmpzeCkoYHRpbWVgLHtjbGFzc05hbWU6YGhtLWRhdGUgYWwtdGV4dC1jb2RlYCxkYXRlVGltZTpXLnRvSVNPU3RyaW5nKCksY2hpbGRyZW46Ri5mb3JtYXQoVyl9KSwoMCxrLmpzeCkoYGgxYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOkQudGl0bGV9KSwoMCxrLmpzeCkoYHBgLHtjbGFzc05hbWU6YGhtLWdyZWV0aW5nIGFsLXRleHQtYm9keSBhbC1tdXRlZGAsY2hpbGRyZW46UihXKX0pXX0pLFk9PT1udWxsP251bGw6KDAsay5qc3gpKG1lLHtzdGVwOll9KSxoLm9mZmxpbmU_KDAsay5qc3hzKShgcGAse2NsYXNzTmFtZTpgaG0tbm90ZSBhbC10ZXh0LWJvZHktc21gLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46WygwLGsuanN4KShuLHtuYW1lOmB3aWZpLW9mZmAsc2l6ZToxNn0pLEQub2ZmbGluZUxpbmVdfSk6aC5lcnJvcj8oMCxrLmpzeHMpKGBwYCx7Y2xhc3NOYW1lOmBobS1ub3RlIGFsLXRleHQtYm9keS1zbWAscm9sZTpgc3RhdHVzYCxjaGlsZHJlbjpbKDAsay5qc3gpKG4se25hbWU6YHJlZnJlc2gtY3dgLHNpemU6MTZ9KSxELmVycm9yTGluZV19KTpudWxsLCgwLGsuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgaG0tdGlsZXNgLCJkYXRhLXRpbGVzIjohMCwiZGF0YS1xdWlldCI6aGU_YHRydWVgOnZvaWQgMCxyb2xlOmBncm91cGAsImFyaWEtbGFiZWwiOkQudGlsZXNMYWJlbCxjaGlsZHJlbjpbKDAsay5qc3hzKShVLHtpZDpgYWdlbnRgLHRpdGxlOkQuYWdlbnRUaXRsZSxocmVmOmAvc2V0dGluZ3MvYWR2YW5jZWRgLGxvYWRpbmc6IWguaGVhbHRoLmRvbmUsc3RhbGU6SixjaGlsZHJlbjpbKDAsay5qc3gpKGkse3N0YXRlOkJbcV0sbGFiZWw6VltxXSxjbGFzc05hbWU6YGhtLWRvdGB9KSwoMCxrLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46SFtxXX0pXX0pLCgwLGsuanN4KShVLHtpZDpgbmV0d29ya2AsdGl0bGU6RC5uZXR3b3JrVGl0bGUsaHJlZjpgL3NldHRpbmdzL2FkdmFuY2VkYCxsb2FkaW5nOiFoLmhlYWx0aC5kb25lLHN0YWxlOkosY2hpbGRyZW46KDAsay5qc3gpKGkse3N0YXRlOlEuZG90LGxhYmVsOlEud29yZCxjbGFzc05hbWU6YGhtLWRvdGB9KX0pLCgwLGsuanN4KShVLHtpZDpgd2FpdGluZ2AsdGl0bGU6RC53YWl0aW5nVGl0bGUsaHJlZjpgL2AsbG9hZGluZzohWCYmIWgud2FpdGluZy5kb25lLGF0dGVudGlvbjooWD8uY291bnQ_PzApPjAsc3RhbGU6SixjaGlsZHJlbjpYPT09dm9pZCAwfHxYLmNvdW50PT09MD8oMCxrLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46RC53YWl0aW5nTm9uZX0pOigwLGsuanN4cykoay5GcmFnbWVudCx7Y2hpbGRyZW46WygwLGsuanN4KShgcGAse2NsYXNzTmFtZTpgaG0tY291bnQgYWwtdGV4dC10aXRsZS0xYCxjaGlsZHJlbjooMCxrLmpzeCkocix7Y291bnQ6WC5jb3VudCxsYWJlbDp1ZShYLmNvdW50KX0pfSksWj09PW51bGw_bnVsbDooMCxrLmpzeHMpKGBwYCx7Y2xhc3NOYW1lOmBobS1zb29uZXN0IGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46W1ouc3VtbWFyeSxgIMK3IGAsY2UoZmUoWi5leHBpcmVzQXQsVykpXX0pLCgwLGsuanN4KShgYWAse2NsYXNzTmFtZTpgYWwtYnRuIGFsLWJ0bi1wcmltYXJ5IGFsLWJ0bi1zbSBobS1yZXZpZXdgLGhyZWY6YC9gLGNoaWxkcmVuOkQucmV2aWV3fSldfSl9KSwoMCxrLmpzeCkoVSx7aWQ6YGNyZWRpdHNgLHRpdGxlOkQuY3JlZGl0c1RpdGxlLGhyZWY6YC9zZXR0aW5ncy9wcm9vZnNgLGxvYWRpbmc6IWguY3JlZGl0cy5kb25lLHN0YWxlOkosY2hpbGRyZW46JD09PXZvaWQgMHx8JD09PWB1bmF2YWlsYWJsZWA_KDAsay5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOkQuY3JlZGl0c1VuYXZhaWxhYmxlfSk6JC5wcm9vZnNMZWZ0PT09MD8oMCxrLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46RC5jcmVkaXRzTm9uZX0pOigwLGsuanN4KShyZSx7bGFiZWw6RC5jcmVkaXRzTWV0ZXIsdmFsdWU6JC5wcm9vZnNMZWZ0LG1heDpNYXRoLm1heChqLCQucHJvb2ZzTGVmdCksdGV4dDpsZSgkLmJhbGFuY2UsJC5wcm9vZnNMZWZ0KX0pfSksKDAsay5qc3gpKFUse2lkOmBhY3Rpdml0eWAsdGl0bGU6RC5hY3Rpdml0eVRpdGxlLGhyZWY6YC9zZXR0aW5ncy9hY3Rpdml0eWAsbG9hZGluZzohaC5ldmVudHMuZG9uZSxzdGFsZTpKLGNoaWxkcmVuOmguZXZlbnRzLnZhbHVlPT09dm9pZCAwfHxoLmV2ZW50cy52YWx1ZS5sZW5ndGg9PT0wPygwLGsuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpELmFjdGl2aXR5Tm9uZX0pOigwLGsuanN4KShkZSx7cm93czpoLmV2ZW50cy52YWx1ZX0pfSldfSksKDAsay5qc3gpKEcse2hlYWx0aDpLfSldfSl9ZXhwb3J0e0sgYXMgSG9tZVBhZ2V9Ow"],
54260
+ ["assets/hood-C18SeYSh.js", "aW1wb3J0e2wgYXMgZSxvIGFzIHQscyBhcyBuLHQgYXMgcn1mcm9tIi4vYnJhbmQtQnotMk05ZWouanMiO2ltcG9ydHtOIGFzIGksUCBhcyBhfWZyb20iLi9pbmRleC0xQk5oeXRzMC5qcyI7dmFyIG89ZSh7UFJPT0ZfTElOS19IT1NUUzooKT0-dSxQcmV2aWV3VGlsZTooKT0-VyxVbmRlclRoZUhvb2Q6KCk9PlUsYWNjZXB0SG9vZEZpZWxkOigpPT5IfSkscz10KCksYz1uKCksbD1uZXcgU2V0KFtgdGV4dGAsYGlkYCxgc2l6ZWAsYHRpbWVgLGBjb3VudGAsYHBhdGhgXSksdT1bYHNlcG9saWEuYmFzZXNjYW4ub3JnYCxgZ25vc2lzLWNoaWFkby5ibG9ja3Njb3V0LmNvbWAsYGJhc2VzY2FuLm9yZ2AsYGdub3Npc3NjYW4uaW9gXSxkPS9eXC90eFwvMHhbMC05YS1mXXs2NH0kLyxmPXtpZDovXltBLVphLXowLTkuXzotXXsxLDQwfSQvLHNpemU6L15cZFtcZC4sXSpccz8oQnxLQnxNQnxHQnxieXRlcz8pJC8sY291bnQ6L15cZHsxLDl9KCBvZiBcZHsxLDl9KT8kLyx0aW1lOi9eW1xkOi4sK1wtVFogXXsxLDQwfSQvLHBhdGg6L14oXC8oPyFbL1xcXSl8W0EtWmEtel06W1xcL10pW14_I1wwXSokL30scD00MCxtPTEyMCxoPTMwMCxnPTMwMCxfPS9rZXl8Y29kZXx0b2tlbnxzZWNyZXR8cGFzc3BocmFzZXxwYXNzd29yZHxwYXNza2V5fHNlZWR8c2Vzc2lvbnxsaW5rfHVybHxwcmVzaWdufHNpZ25hdHVyZXx1cGxvYWR8ZG93bmxvYWR8Y3JlZGVudGlhbHxjb29raWV8YXV0aG9yaVtzel18c2FsdHxwcml2YXRlfHJlY292ZXJ8bW5lbW9uaWMvaSx2PS9cYmRyb3BcYi9pLHk9L1tBLVphLXowLTlfXC0rLz1dezI0LH0vLGI9Wy9bYS16XVthLXowLTkrLi1dKjpcL1wvL2ksL15ccyooamF2YXNjcmlwdHxkYXRhfGJsb2J8ZmlsZXx2YnNjcmlwdCk6L2ksL1xid3d3XC4vaSx5LC9cYmJlYXJlclxzL2ksL1xiKHRva3xza3xwa3xrZXkpX1tBLVphLXowLTldL2ksL1xiZXlKW0EtWmEtejAtOV8tXXs2LH0vLC9cYltBLVowLTldezR9KC1bQS1aMC05XXs0fSl7Mix9XGIvLC94LWFtenxzaWduYXR1cmU9fHRva2VuPXxzZWNyZXQ9fHNpZz0vaSwvKF58W1xzLV0pW0EtWmEtejAtOV17NH0oWyAtXVtBLVphLXowLTldezR9KXsyLH0oJHxbXHMtXSkvLC9eXHMqKFthLXpdK1xzKyl7MTEsfVthLXpdK1xzKiQvLC8jcz18MTI3XC4wXC4wXC4xfGxvY2FsaG9zdC9pXSx4PS80dGh0ZWNoXC5pb3w0dGhcLnRlY2h8d29ya2Vyc1wuZGV2fGFtYXpvbmF3c1wuY29tfGNsb3VkZmxhcmVzdG9yYWdlXC5jb218XGJyMlwuZGV2fHN0b3JhZ2VcLmdvb2dsZWFwaXNcLmNvbXxibG9iXC5jb3JlXC53aW5kb3dzXC5uZXQvaSxTPS8oXnxbXmEtejAtOS4tXSlbYS16MC05LV0qZHJvcFthLXowLTktXSooXC5bYS16MC05LV0rKStbL1xcXS9pLEM9Wy8oXnxbXmEtejAtOSsuLV0pW2Etel1bYS16MC05Ky4tXSs6Wy9cXF0vaSwvXGIoaHR0cHM_fHdzcz98ZnRwcz98ZmlsZXxzM3xnc3xibG9ifGRhdGF8amF2YXNjcmlwdHx2YnNjcmlwdHxhZ2VudGxpbmspOi9pXSx3PS8oXnxbXmEtejAtOS4tXSlbYS16MC05LV0rKFwuW2EtejAtOS1dKykqXC5bYS16XXsyLH1bL1xcXS9pLFQ9L1tcdTIwNDRcdTIyMTVcdTI5RjhcdTIyMzZcdUE3ODlcdTA1ODlcdTA1QzNcdUZFMTNcdUZFMzBcdTAyRDBcdTJDRjldLyxFPS9bXHB7Q2N9XHB7Q2Z9XHUyMDI4XHUyMDI5XS91LEQ9L15bQS1aYS16MC05Xys9XXszLH0kLyxPPS9bXkEtWmEtejAtOV8rPV0rLztmdW5jdGlvbiBrKGUsdD1PKXtsZXQgbj0wLHI9MDtmb3IobGV0IGkgb2YgZS5zcGxpdCh0KSlpZihELnRlc3QoaSkmJi9cZC8udGVzdChpKSYmL1tBLVphLXpdLy50ZXN0KGkpKXtpZihuKz0xLHIrPWkubGVuZ3RoLG4-PTMmJnI-PTI0KXJldHVybiEwfWVsc2Ugbj0wLHI9MDtyZXR1cm4hMX1mdW5jdGlvbiBBKGUpe2xldCB0PVtlXSxuPWUubm9ybWFsaXplKGBORktDYCk7dC5wdXNoKG4pO2ZvcihsZXQgZT0wO2U8NDtlKz0xKXtsZXQgZTt0cnl7ZT1kZWNvZGVVUklDb21wb25lbnQobil9Y2F0Y2h7ZT1uLnJlcGxhY2UoLyglWzAtOUEtRmEtZl17Mn0pKy9nLGU9Pnt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlKX1jYXRjaHtyZXR1cm4gZX19KX1pZihlPWUubm9ybWFsaXplKGBORktDYCksZT09PW4pcmV0dXJuIHQ7dC5wdXNoKGUpLG49ZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBqKGUsdCl7aWYoRS50ZXN0KGUpfHxULnRlc3QoZSl8fHgudGVzdChlKXx8Uy50ZXN0KGUpfHxDLnNvbWUodD0-dC50ZXN0KGUpKXx8dCE9PWBpZGAmJmsoZSkpcmV0dXJuITA7aWYodD09PWBwYXRoYClyZXR1cm4gZS5zcGxpdCgvW1xcL10vKS5zb21lKGU9PmU9PT1gLi5gfHx5LnRlc3QoZSkpPyEwOmIuc29tZSh0PT50IT09eSYmdC50ZXN0KGUpKTtpZih3LnRlc3QoZSkpcmV0dXJuITA7aWYodD09PWBpZGApe2xldCB0PWUucmVwbGFjZSgvXlthLXpdezIsOH1fLyxgYCk7cmV0dXJuIHkudGVzdCh0KXx8eS50ZXN0KHQucmVwbGFjZSgvWy46XSsvZyxgYCkpfHxrKHQsL1suOl0rLyk_ITA6Yi5zb21lKHQ9PnQhPT15JiZ0LnRlc3QoZSkpfXJldHVybiBiLnNvbWUodD0-dC50ZXN0KGUpKX1mdW5jdGlvbiBNKGUsdCl7bGV0IG49QShlKTtyZXR1cm4gbiE9PW51bGwmJiFuLnNvbWUoZT0-aihlLHQpKX12YXIgTj170LA6YGFgLNC1OmBlYCzQvjpgb2As0YA6YHBgLNGBOmBjYCzRhTpgeGAs0YM6YHlgLNGVOmBzYCzRljpgaWAs0Zg6YGpgLNC6OmBrYCzUgTpgZGAs0486YGxgLNGCOmB0YCzQvTpgaGAs0LI6YGJgLNC8OmBtYCzOsTpgYWAszrU6YGVgLM6_OmBvYCzPgTpgcGAszro6YGtgLM65OmBpYCzPhDpgdGAszr06YHZgLM-FOmB1YCzPhzpgeGAsz4M6YHNgLM63OmBuYCzEsTpgaWAsyaE6YGdgLMmpOmBpYCzHgDpgbGAsxYI6YGxgLMO4OmBvYCzEkTpgZGAsxKc6YGhgLNaFOmBvYCzVvTpgdWAs1bg6YG5gLNaBOmBnYCzVsDpgaGAs1aE6YGFgLNKvOmB5YCzSuzpgaGAs1Js6YHFgLNSdOmB3YCzJkTpgYWAsyZI6YGFgLMmjOmBnYCzJpjpgaGAsyos6YHZgLMm8OmByYCzGrTpgdGAsypA6YHpgLMaSOmBmYCzJsTpgbWAsybI6YG5gLMmzOmBuYCzKgDpgcmAsyoI6YHNgLMqDOmBzYCzOszpgeWAszrI6YGJgLM-JOmB3YCzhtIA6YGFgLMqZOmBiYCzhtIQ6YGNgLOG0hTpgZGAs4bSHOmBlYCzJojpgZ2Asypw6YGhgLMmqOmBpYCzhtIo6YGpgLOG0izpga2Asyp86YGxgLOG0jTpgbWAsybQ6YG5gLOG0jzpgb2As4bSYOmBwYCzhtJs6YHRgLOG0nDpgdWAs4bSgOmB2YCzhtKE6YHdgLMqPOmB5YCzhtKI6YHpgLOqcsTpgc2B9LFA9ezA6YG9gLDM6YGVgLDQ6YGFgLDU6YHNgLDc6YHRgLDg6YGJgLDk6YGdgLCJAIjpgYWAsJDpgc2AsIiEiOmBpYCwifCI6YGxgfTtmdW5jdGlvbiBGKGUpe2xldCB0PUFycmF5LmZyb20oZS5ub3JtYWxpemUoYE5GRGApLnJlcGxhY2UoL1xwe019L2d1LGBgKS50b0xvd2VyQ2FzZSgpKS5tYXAoZT0-TltlXT8_ZSkuam9pbihgYCksbj1lPT5BcnJheS5mcm9tKHQpLm1hcCh0PT50PT09YDFgP2U6UFt0XT8_dCkuam9pbihgYCk7cmV0dXJuW3QsbihgaWApLG4oYGxgKV19ZnVuY3Rpb24gSShlKXtyZXR1cm4gRS50ZXN0KGUpfHxULnRlc3QoZSl8fF8udGVzdChlKT8hMDpGKGUpLnNvbWUoZT0-e2lmKF8udGVzdChlKXx8di50ZXN0KGUpKXJldHVybiEwO2xldCB0PWUucmVwbGFjZSgvW15hLXowLTldKy9nLGBgKTtyZXR1cm4gXy50ZXN0KHQpfHx0PT09YGRyb3BgfSl9ZnVuY3Rpb24gTChlKXtsZXQgdD1BKGUpO3JldHVybiB0IT09bnVsbCYmIXQuc29tZShJKX1mdW5jdGlvbiBSKGUpe3JldHVybiB0eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24geihlLHQpe3JldHVybiB0eXBlb2YgZT09YHN0cmluZ2AmJmUudHJpbSgpIT09YGAmJmUubGVuZ3RoPD10JiYhRS50ZXN0KGUpfWZ1bmN0aW9uIEIoZSl7bGV0IHQ9ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB1LmluY2x1ZGVzKHQpfWZ1bmN0aW9uIFYoZSl7aWYodHlwZW9mIGUhPWBzdHJpbmdgfHxlLmxlbmd0aD5nfHxFLnRlc3QoZSkpcmV0dXJuIG51bGw7bGV0IHQ7dHJ5e3Q9bmV3IFVSTChlKX1jYXRjaHtyZXR1cm4gbnVsbH1yZXR1cm4gdC5wcm90b2NvbCE9PWBodHRwczpgfHx0LnVzZXJuYW1lIT09YGB8fHQucGFzc3dvcmQhPT1gYHx8dC5wb3J0IT09YGB8fHQuc2VhcmNoIT09YGB8fHQuaGFzaCE9PWBgfHwhQih0Lmhvc3RuYW1lKXx8IWQudGVzdCh0LnBhdGhuYW1lKT9udWxsOnQuaHJlZn1mdW5jdGlvbiBIKGUpe2lmKCFSKGUpKXJldHVybiBudWxsO2xldCB0PWUua2luZDtpZih0PT09YHByb29mTGlua2Ape2xldCB0PVYoZS5ocmVmKTtyZXR1cm4gdD09PW51bGw_bnVsbDp7a2luZDpgcHJvb2ZMaW5rYCxocmVmOnR9fWlmKHR5cGVvZiB0IT1gc3RyaW5nYHx8IWwuaGFzKHQpKXJldHVybiBudWxsO2xldCBuPWUubGFiZWwscj1lLnZhbHVlO2lmKCF6KG4scCl8fCF6KHIsdD09PWBwYXRoYD9oOm0pfHwhTChuKSlyZXR1cm4gbnVsbDtsZXQgaT1mW3RdO3JldHVybiBpIT09dm9pZCAwJiYhaS50ZXN0KHIpfHwhTShyLHQpP251bGw6e2tpbmQ6dCxsYWJlbDpuLHZhbHVlOnJ9fWZ1bmN0aW9uIFUoe2ZpZWxkczplfSl7bGV0IHQ9KDAsYy51c2VDb250ZXh0KShhKSxbbixvXT0oMCxjLnVzZVN0YXRlKSghMCksbD0oMCxjLnVzZUlkKSgpO2lmKCF0KXJldHVybiBudWxsO2xldCB1PWUubWFwKEgpLmZpbHRlcihlPT5lIT09bnVsbCk7cmV0dXJuKDAscy5qc3hzKShgc2VjdGlvbmAse2NsYXNzTmFtZTpgYWwtaG9vZGAsImFyaWEtbGFiZWwiOmkudGl0bGUsY2hpbGRyZW46WygwLHMuanN4cykoYGJ1dHRvbmAse3R5cGU6YGJ1dHRvbmAsY2xhc3NOYW1lOmBhbC1ob29kLWhlYWQgYWwtdGV4dC1sYWJlbGAsImFyaWEtZXhwYW5kZWQiOm4_YHRydWVgOmBmYWxzZWAsImFyaWEtY29udHJvbHMiOmAke2x9LWJvZHlgLHRpdGxlOm4_aS5oaWRlOmkuc2hvdyxvbkNsaWNrOigpPT5vKCFuKSxjaGlsZHJlbjpbKDAscy5qc3gpKHIse25hbWU6YHRlcm1pbmFsYCxzaXplOjE0fSksKDAscy5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46aS50aXRsZX0pLCgwLHMuanN4KShyLHtuYW1lOm4_YGNoZXZyb24tZG93bmA6YGNoZXZyb24tcmlnaHRgLHNpemU6MTQsY2xhc3NOYW1lOmBhbC1ob29kLWNoZXZgfSldfSksbj8oMCxzLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtaG9vZC1ib2R5YCxpZDpgJHtsfS1ib2R5YCxjaGlsZHJlbjp1Lmxlbmd0aD09PTA_KDAscy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC1ob29kLWVtcHR5YCxjaGlsZHJlbjppLmVtcHR5fSk6KDAscy5qc3gpKGBkbGAse2NsYXNzTmFtZTpgYWwtaG9vZC1saXN0YCxjaGlsZHJlbjp1Lm1hcCgoZSx0KT0-ZS5raW5kPT09YHByb29mTGlua2A_KDAscy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWhvb2Qtcm93YCxjaGlsZHJlbjooMCxzLmpzeCkoYGRkYCx7Y2hpbGRyZW46KDAscy5qc3gpKGBhYCx7aHJlZjplLmhyZWYsdGFyZ2V0OmBfYmxhbmtgLHJlbDpgbm9vcGVuZXIgbm9yZWZlcnJlcmAsY2hpbGRyZW46aS5wcm9vZkxpbmt9KX0pfSx0KTooMCxzLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWhvb2Qtcm93YCxjaGlsZHJlbjpbKDAscy5qc3gpKGBkdGAse2NoaWxkcmVuOmUubGFiZWx9KSwoMCxzLmpzeCkoYGRkYCx7Y2hpbGRyZW46ZS52YWx1ZX0pXX0sdCkpfSl9KTpudWxsXX0pfWZ1bmN0aW9uIFcoKXtsZXRbZSx0XT0oMCxjLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAscy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wcmV2aWV3LXRpbGUke2U_YCBpcy1tb3ZlZGA6YGB9YCxjaGlsZHJlbjpbKDAscy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjppLnByZXZpZXdUaXRsZX0pLCgwLHMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wcmV2aWV3LXRyYWNrYCwiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjooMCxzLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXByZXZpZXctY2hpcGB9KX0pLCgwLHMuanN4KShgYnV0dG9uYCx7dHlwZTpgYnV0dG9uYCxjbGFzc05hbWU6YGFsLWJ0biBhbC1idG4tc2Vjb25kYXJ5IGFsLWJ0bi1zbWAsb25DbGljazooKT0-dCghZSksY2hpbGRyZW46aS5wcmV2aWV3VHJ5fSksKDAscy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOmU_aS5wcmV2aWV3TW92ZWQ6aS5wcmV2aWV3U3RpbGx9KV19KX1leHBvcnR7byBhcyBuLFcgYXMgdH07"],
54261
+ ["assets/index-1BNhyts0.js", "Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bImFzc2V0cy9ob21lLXJNMWJkUU5LLmpzIiwiYXNzZXRzL2JyYW5kLUJ6LTJNOWVqLmpzIiwiYXNzZXRzL3N0cmluZ3MtQlNZR3ppUzkuanMiLCJhc3NldHMvZGF0YS1CWTlZSkFoNy5qcyIsImFzc2V0cy9kYXRhLUJaR3k4WW51LmpzIiwiYXNzZXRzL2FjdGl2aXR5LUNMTGdsX2FnLmpzIiwiYXNzZXRzL2Zvcm1zLUJ2S3ZOSE1aLmpzIiwiYXNzZXRzL3Byb29mLW5qMGp5LTJBLmpzIiwiYXNzZXRzL21lc3NhZ2VzLVBhbkp0VnlTLmpzIiwiYXNzZXRzL3RydXN0LURJWUdSdHFpLmpzIiwiYXNzZXRzL3N1cmZhY2UtRHZHMFdrei0uanMiLCJhc3NldHMvY29udGFjdHMtREhQN3hsV2YuanMiLCJhc3NldHMvZmlsZXMtRHo4R1dITEYuanMiLCJhc3NldHMvcHJvb2ZzLUJpYVVjOE8xLmpzIiwiYXNzZXRzL3J1bGVzLUJJanZpNlc2LmpzIiwiYXNzZXRzL2JhY2t1cC1CUnRoX2J5Ui5qcyIsImFzc2V0cy9hZHZhbmNlZC1seWdSdWxwXy5qcyIsImFzc2V0cy9hcHBlYXJhbmNlLURUQy1WRnMtLmpzIiwiYXNzZXRzL2hvb2QtQzE4U2VZU2guanMiLCJhc3NldHMvYWJvdXQtQl85Y2ZmVGguanMiXSkpKT0-aS5tYXAoaT0-ZFtpXSk7CmltcG9ydHtjIGFzIGUsaSBhcyB0LG4sbyBhcyByLHIgYXMgaSxzIGFzIGEsdCBhcyBvfWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7aW1wb3J0e2kgYXMgcyxuIGFzIGMsciBhcyBsLHQgYXMgdX1mcm9tIi4vZm9ybXMtQnZLdk5ITVouanMiO2ltcG9ydHtuIGFzIGQsciBhcyBmfWZyb20iLi9zdXJmYWNlLUR2RzBXa3otLmpzIjt2YXIgcD1lKChlPT57ZnVuY3Rpb24gdChlLHQpe3ZhciBuPWUubGVuZ3RoO2UucHVzaCh0KTthOmZvcig7MDxuOyl7dmFyIHI9bi0xPj4-MSxhPWVbcl07aWYoMDxpKGEsdCkpZVtyXT10LGVbbl09YSxuPXI7ZWxzZSBicmVhayBhfX1mdW5jdGlvbiBuKGUpe3JldHVybiBlLmxlbmd0aD09PTA_bnVsbDplWzBdfWZ1bmN0aW9uIHIoZSl7aWYoZS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3ZhciB0PWVbMF0sbj1lLnBvcCgpO2lmKG4hPT10KXtlWzBdPW47YTpmb3IodmFyIHI9MCxhPWUubGVuZ3RoLG89YT4-PjE7cjxvOyl7dmFyIHM9MioocisxKS0xLGM9ZVtzXSxsPXMrMSx1PWVbbF07aWYoMD5pKGMsbikpbDxhJiYwPmkodSxjKT8oZVtyXT11LGVbbF09bixyPWwpOihlW3JdPWMsZVtzXT1uLHI9cyk7ZWxzZSBpZihsPGEmJjA-aSh1LG4pKWVbcl09dSxlW2xdPW4scj1sO2Vsc2UgYnJlYWsgYX19cmV0dXJuIHR9ZnVuY3Rpb24gaShlLHQpe3ZhciBuPWUuc29ydEluZGV4LXQuc29ydEluZGV4O3JldHVybiBuPT09MD9lLmlkLXQuaWQ6bn1pZihlLnVuc3RhYmxlX25vdz12b2lkIDAsdHlwZW9mIHBlcmZvcm1hbmNlPT1gb2JqZWN0YCYmdHlwZW9mIHBlcmZvcm1hbmNlLm5vdz09YGZ1bmN0aW9uYCl7dmFyIGE9cGVyZm9ybWFuY2U7ZS51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gYS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLHM9by5ub3coKTtlLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLXN9fXZhciBjPVtdLGw9W10sdT0xLGQ9bnVsbCxmPTMscD0hMSxtPSExLGg9ITEsZz0hMSxfPXR5cGVvZiBzZXRUaW1lb3V0PT1gZnVuY3Rpb25gP3NldFRpbWVvdXQ6bnVsbCx2PXR5cGVvZiBjbGVhclRpbWVvdXQ9PWBmdW5jdGlvbmA_Y2xlYXJUaW1lb3V0Om51bGwseT10eXBlb2Ygc2V0SW1tZWRpYXRlPGB1YD9zZXRJbW1lZGlhdGU6bnVsbDtmdW5jdGlvbiBiKGUpe2Zvcih2YXIgaT1uKGwpO2khPT1udWxsOyl7aWYoaS5jYWxsYmFjaz09PW51bGwpcihsKTtlbHNlIGlmKGkuc3RhcnRUaW1lPD1lKXIobCksaS5zb3J0SW5kZXg9aS5leHBpcmF0aW9uVGltZSx0KGMsaSk7ZWxzZSBicmVhaztpPW4obCl9fWZ1bmN0aW9uIHgoZSl7aWYoaD0hMSxiKGUpLCFtKXtpZihuKGMpIT09bnVsbCltPSEwLGVlfHwoZWU9ITAscmUoKSk7ZWxzZXt2YXIgdD1uKGwpO3QhPT1udWxsJiZvZSh4LHQuc3RhcnRUaW1lLWUpfX19dmFyIGVlPSExLHRlPS0xLFM9NSxDPS0xO2Z1bmN0aW9uIG5lKCl7cmV0dXJuIGc_ITA6IShlLnVuc3RhYmxlX25vdygpLUM8Uyl9ZnVuY3Rpb24gdygpe2lmKGc9ITEsZWUpe3ZhciB0PWUudW5zdGFibGVfbm93KCk7Qz10O3ZhciBpPSEwO3RyeXthOnttPSExLGgmJihoPSExLHYodGUpLHRlPS0xKSxwPSEwO3ZhciBhPWY7dHJ5e2I6e2ZvcihiKHQpLGQ9bihjKTtkIT09bnVsbCYmIShkLmV4cGlyYXRpb25UaW1lPnQmJm5lKCkpOyl7dmFyIG89ZC5jYWxsYmFjaztpZih0eXBlb2Ygbz09YGZ1bmN0aW9uYCl7ZC5jYWxsYmFjaz1udWxsLGY9ZC5wcmlvcml0eUxldmVsO3ZhciBzPW8oZC5leHBpcmF0aW9uVGltZTw9dCk7aWYodD1lLnVuc3RhYmxlX25vdygpLHR5cGVvZiBzPT1gZnVuY3Rpb25gKXtkLmNhbGxiYWNrPXMsYih0KSxpPSEwO2JyZWFrIGJ9ZD09PW4oYykmJnIoYyksYih0KX1lbHNlIHIoYyk7ZD1uKGMpfWlmKGQhPT1udWxsKWk9ITA7ZWxzZXt2YXIgdT1uKGwpO3UhPT1udWxsJiZvZSh4LHUuc3RhcnRUaW1lLXQpLGk9ITF9fWJyZWFrIGF9ZmluYWxseXtkPW51bGwsZj1hLHA9ITF9aT12b2lkIDB9fWZpbmFsbHl7aT9yZSgpOmVlPSExfX19dmFyIHJlO2lmKHR5cGVvZiB5PT1gZnVuY3Rpb25gKXJlPWZ1bmN0aW9uKCl7eSh3KX07ZWxzZSBpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWw8YHVgKXt2YXIgaWU9bmV3IE1lc3NhZ2VDaGFubmVsLGFlPWllLnBvcnQyO2llLnBvcnQxLm9ubWVzc2FnZT13LHJlPWZ1bmN0aW9uKCl7YWUucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgcmU9ZnVuY3Rpb24oKXtfKHcsMCl9O2Z1bmN0aW9uIG9lKHQsbil7dGU9XyhmdW5jdGlvbigpe3QoZS51bnN0YWJsZV9ub3coKSl9LG4pfWUudW5zdGFibGVfSWRsZVByaW9yaXR5PTUsZS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eT0xLGUudW5zdGFibGVfTG93UHJpb3JpdHk9NCxlLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5PTMsZS51bnN0YWJsZV9Qcm9maWxpbmc9bnVsbCxlLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5PTIsZS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihlKXtlLmNhbGxiYWNrPW51bGx9LGUudW5zdGFibGVfZm9yY2VGcmFtZVJhdGU9ZnVuY3Rpb24oZSl7MD5lfHwxMjU8ZT9jb25zb2xlLmVycm9yKGBmb3JjZUZyYW1lUmF0ZSB0YWtlcyBhIHBvc2l0aXZlIGludCBiZXR3ZWVuIDAgYW5kIDEyNSwgZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWRgKTpTPTA8ZT9NYXRoLmZsb29yKDFlMy9lKTo1fSxlLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGUudW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2goZil7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIHQ9MzticmVhaztkZWZhdWx0OnQ9Zn12YXIgbj1mO2Y9dDt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e2Y9bn19LGUudW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7Zz0hMH0sZS51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHk9ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6Y2FzZSA0OmNhc2UgNTpicmVhaztkZWZhdWx0OmU9M312YXIgbj1mO2Y9ZTt0cnl7cmV0dXJuIHQoKX1maW5hbGx5e2Y9bn19LGUudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjaz1mdW5jdGlvbihyLGksYSl7dmFyIG89ZS51bnN0YWJsZV9ub3coKTtzd2l0Y2godHlwZW9mIGE9PWBvYmplY3RgJiZhPyhhPWEuZGVsYXksYT10eXBlb2YgYT09YG51bWJlcmAmJjA8YT9vK2E6byk6YT1vLHIpe2Nhc2UgMTp2YXIgcz0tMTticmVhaztjYXNlIDI6cz0yNTA7YnJlYWs7Y2FzZSA1OnM9MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6cz0xZTQ7YnJlYWs7ZGVmYXVsdDpzPTVlM31yZXR1cm4gcz1hK3Mscj17aWQ6dSsrLGNhbGxiYWNrOmkscHJpb3JpdHlMZXZlbDpyLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOnMsc29ydEluZGV4Oi0xfSxhPm8_KHIuc29ydEluZGV4PWEsdChsLHIpLG4oYyk9PT1udWxsJiZyPT09bihsKSYmKGg_KHYodGUpLHRlPS0xKTpoPSEwLG9lKHgsYS1vKSkpOihyLnNvcnRJbmRleD1zLHQoYyxyKSxtfHxwfHwobT0hMCxlZXx8KGVlPSEwLHJlKCkpKSkscn0sZS51bnN0YWJsZV9zaG91bGRZaWVsZD1uZSxlLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgdD1mO3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWY7Zj10O3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtmPW59fX19KSksbT1lKCgoZSx0KT0-e3QuZXhwb3J0cz1wKCl9KSksaD1lKChlPT57dmFyIHQ9YSgpO2Z1bmN0aW9uIG4oZSl7dmFyIHQ9YGh0dHBzOi8vcmVhY3QuZGV2L2Vycm9ycy9gK2U7aWYoMTxhcmd1bWVudHMubGVuZ3RoKXt0Kz1gP2FyZ3NbXT1gK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbMV0pO2Zvcih2YXIgbj0yO248YXJndW1lbnRzLmxlbmd0aDtuKyspdCs9YCZhcmdzW109YCtlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW25dKX1yZXR1cm5gTWluaWZpZWQgUmVhY3QgZXJyb3IgI2ArZStgOyB2aXNpdCBgK3QrYCBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuYH1mdW5jdGlvbiByKCl7fXZhciBpPXtkOntmOnIscjpmdW5jdGlvbigpe3Rocm93IEVycm9yKG4oNTIyKSl9LEQ6cixDOnIsTDpyLG06cixYOnIsUzpyLE06cn0scDowLGZpbmRET01Ob2RlOm51bGx9LG89U3ltYm9sLmZvcihgcmVhY3QucG9ydGFsYCkscz1TeW1ib2wuZm9yKGByZWFjdC5yZWNvdmVyYWJsZWApLGM9U3ltYm9sLmZvcihgcmVhY3Qub3B0aW1pc3RpY19rZXlgKTtmdW5jdGlvbiBsKGUsdCxuKXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJmFyZ3VtZW50c1szXSE9PXZvaWQgMD9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6byxrZXk6cj09bnVsbD9udWxsOnI9PT1jP2M6YGArcixjaGlsZHJlbjplLGNvbnRhaW5lckluZm86dCxpbXBsZW1lbnRhdGlvbjpufX12YXIgdT10Ll9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBkKGUsdCl7aWYoZT09PWBmb250YClyZXR1cm5gYDtpZih0eXBlb2YgdD09YHN0cmluZ2ApcmV0dXJuIHQ9PT1gdXNlLWNyZWRlbnRpYWxzYD90OmBgfWUuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWksZS5icm93c2VyPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpzLF9yZWFzb246ZX19LGUuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsdCl7dmFyIHI9Mjxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMl0hPT12b2lkIDA_YXJndW1lbnRzWzJdOm51bGw7aWYoIXR8fHQubm9kZVR5cGUhPT0xJiZ0Lm5vZGVUeXBlIT09OSYmdC5ub2RlVHlwZSE9PTExKXRocm93IEVycm9yKG4oMjk5KSk7cmV0dXJuIGwoZSx0LG51bGwscil9LGUuZmx1c2hTeW5jPWZ1bmN0aW9uKGUpe3ZhciB0PXUuVCxuPWkucDt0cnl7aWYodS5UPW51bGwsaS5wPTIsZSlyZXR1cm4gZSgpfWZpbmFsbHl7dS5UPXQsaS5wPW4saS5kLmYoKX19LGUucHJlY29ubmVjdD1mdW5jdGlvbihlLHQpe3R5cGVvZiBlPT1gc3RyaW5nYCYmKHQ_KHQ9dC5jcm9zc09yaWdpbix0PXR5cGVvZiB0PT1gc3RyaW5nYD90PT09YHVzZS1jcmVkZW50aWFsc2A_dDpgYDp2b2lkIDApOnQ9bnVsbCxpLmQuQyhlLHQpKX0sZS5wcmVmZXRjaEROUz1mdW5jdGlvbihlKXt0eXBlb2YgZT09YHN0cmluZ2AmJmkuZC5EKGUpfSxlLnByZWluaXQ9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZT09YHN0cmluZ2AmJnQmJnR5cGVvZiB0LmFzPT1gc3RyaW5nYCl7dmFyIG49dC5hcyxyPWQobix0LmNyb3NzT3JpZ2luKSxhPXR5cGVvZiB0LmludGVncml0eT09YHN0cmluZ2A_dC5pbnRlZ3JpdHk6dm9pZCAwLG89dHlwZW9mIHQuZmV0Y2hQcmlvcml0eT09YHN0cmluZ2A_dC5mZXRjaFByaW9yaXR5OnZvaWQgMDtuPT09YHN0eWxlYD9pLmQuUyhlLHR5cGVvZiB0LnByZWNlZGVuY2U9PWBzdHJpbmdgP3QucHJlY2VkZW5jZTp2b2lkIDAse2Nyb3NzT3JpZ2luOnIsaW50ZWdyaXR5OmEsZmV0Y2hQcmlvcml0eTpvfSk6bj09PWBzY3JpcHRgJiZpLmQuWChlLHtjcm9zc09yaWdpbjpyLGludGVncml0eTphLGZldGNoUHJpb3JpdHk6byxub25jZTp0eXBlb2YgdC5ub25jZT09YHN0cmluZ2A_dC5ub25jZTp2b2lkIDB9KX19LGUucHJlaW5pdE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiBlPT1gc3RyaW5nYCl7aWYodHlwZW9mIHQ9PWBvYmplY3RgJiZ0KXtpZih0LmFzPT1udWxsfHx0LmFzPT09YHNjcmlwdGApe3ZhciBuPWQodC5hcyx0LmNyb3NzT3JpZ2luKTtpLmQuTShlLHtjcm9zc09yaWdpbjpuLGludGVncml0eTp0eXBlb2YgdC5pbnRlZ3JpdHk9PWBzdHJpbmdgP3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZTp0eXBlb2YgdC5ub25jZT09YHN0cmluZ2A_dC5ub25jZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgdC5mZXRjaFByaW9yaXR5PT1gc3RyaW5nYD90LmZldGNoUHJpb3JpdHk6dm9pZCAwfSl9fWVsc2UgdD8_aS5kLk0oZSl9fSxlLnByZWxvYWQ9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZT09YHN0cmluZ2AmJnR5cGVvZiB0PT1gb2JqZWN0YCYmdCYmdHlwZW9mIHQuYXM9PWBzdHJpbmdgKXt2YXIgbj10LmFzLHI9ZChuLHQuY3Jvc3NPcmlnaW4pO2kuZC5MKGUsbix7Y3Jvc3NPcmlnaW46cixpbnRlZ3JpdHk6dHlwZW9mIHQuaW50ZWdyaXR5PT1gc3RyaW5nYD90LmludGVncml0eTp2b2lkIDAsbm9uY2U6dHlwZW9mIHQubm9uY2U9PWBzdHJpbmdgP3Qubm9uY2U6dm9pZCAwLHR5cGU6dHlwZW9mIHQudHlwZT09YHN0cmluZ2A_dC50eXBlOnZvaWQgMCxmZXRjaFByaW9yaXR5OnR5cGVvZiB0LmZldGNoUHJpb3JpdHk9PWBzdHJpbmdgP3QuZmV0Y2hQcmlvcml0eTp2b2lkIDAscmVmZXJyZXJQb2xpY3k6dHlwZW9mIHQucmVmZXJyZXJQb2xpY3k9PWBzdHJpbmdgP3QucmVmZXJyZXJQb2xpY3k6dm9pZCAwLGltYWdlU3JjU2V0OnR5cGVvZiB0LmltYWdlU3JjU2V0PT1gc3RyaW5nYD90LmltYWdlU3JjU2V0OnZvaWQgMCxpbWFnZVNpemVzOnR5cGVvZiB0LmltYWdlU2l6ZXM9PWBzdHJpbmdgP3QuaW1hZ2VTaXplczp2b2lkIDAsbWVkaWE6dHlwZW9mIHQubWVkaWE9PWBzdHJpbmdgP3QubWVkaWE6dm9pZCAwfSl9fSxlLnByZWxvYWRNb2R1bGU9ZnVuY3Rpb24oZSx0KXtpZih0eXBlb2YgZT09YHN0cmluZ2Ape2lmKHQpe3ZhciBuPWQodC5hcyx0LmNyb3NzT3JpZ2luKTtpLmQubShlLHthczp0eXBlb2YgdC5hcz09YHN0cmluZ2AmJnQuYXMhPT1gc2NyaXB0YD90LmFzOnZvaWQgMCxjcm9zc09yaWdpbjpuLGludGVncml0eTp0eXBlb2YgdC5pbnRlZ3JpdHk9PWBzdHJpbmdgP3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZTp0eXBlb2YgdC5ub25jZT09YHN0cmluZ2A_dC5ub25jZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgdC5mZXRjaFByaW9yaXR5PT1gc3RyaW5nYD90LmZldGNoUHJpb3JpdHk6dm9pZCAwfSl9ZWxzZSBpLmQubShlKX19LGUucmVxdWVzdEZvcm1SZXNldD1mdW5jdGlvbihlKXtpLmQucihlKX0sZS51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1mdW5jdGlvbihlLHQpe3JldHVybiBlKHQpfSxlLnVzZUZvcm1TdGF0ZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHUuSC51c2VGb3JtU3RhdGUoZSx0LG4pfSxlLnVzZUZvcm1TdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ILnVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzKCl9LGUudmVyc2lvbj1gMTkuMy4xYH0pKSxnPWUoKChlLHQpPT57ZnVuY3Rpb24gbigpe2lmKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX188YHVgJiZ0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFPT1gZnVuY3Rpb25gKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0Uobil9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19bigpLHQuZXhwb3J0cz1oKCl9KSksXz1lKChlPT57dmFyIHQ9bSgpLG49YSgpLHI9ZygpO2Z1bmN0aW9uIGkoZSl7dmFyIHQ9YGh0dHBzOi8vcmVhY3QuZGV2L2Vycm9ycy9gK2U7aWYoMTxhcmd1bWVudHMubGVuZ3RoKXt0Kz1gP2FyZ3NbXT1gK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbMV0pO2Zvcih2YXIgbj0yO248YXJndW1lbnRzLmxlbmd0aDtuKyspdCs9YCZhcmdzW109YCtlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW25dKX1yZXR1cm5gTWluaWZpZWQgUmVhY3QgZXJyb3IgI2ArZStgOyB2aXNpdCBgK3QrYCBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuYH1mdW5jdGlvbiBvKGUpe3JldHVybiEoIWV8fGUubm9kZVR5cGUhPT0xJiZlLm5vZGVUeXBlIT09OSYmZS5ub2RlVHlwZSE9PTExKX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgdD1lLG49dDtuJiYhbi5hbHRlcm5hdGU7KXQ9bix0LmZsYWdzJjQwOTgmJihlPXQucmV0dXJuKSxuPXQucmV0dXJuO2Zvcig7dC5yZXR1cm47KXQ9dC5yZXR1cm47cmV0dXJuIHQudGFnPT09Mz9lOm51bGx9ZnVuY3Rpb24gYyhlKXtpZihlLnRhZz09PTEzKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYodD09PW51bGwmJihlPWUuYWx0ZXJuYXRlLGUhPT1udWxsJiYodD1lLm1lbW9pemVkU3RhdGUpKSx0IT09bnVsbClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIGwoZSl7aWYoZS50YWc9PT0zMSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKHQ9PT1udWxsJiYoZT1lLmFsdGVybmF0ZSxlIT09bnVsbCYmKHQ9ZS5tZW1vaXplZFN0YXRlKSksdCE9PW51bGwpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiB1KGUpe2lmKHMoZSkhPT1lKXRocm93IEVycm9yKGkoMTg4KSl9ZnVuY3Rpb24gZChlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZighdCl7aWYodD1zKGUpLHQ9PT1udWxsKXRocm93IEVycm9yKGkoMTg4KSk7cmV0dXJuIHQ9PT1lP2U6bnVsbH1mb3IodmFyIG49ZSxyPXQ7Oyl7dmFyIGE9bi5yZXR1cm47aWYoYT09PW51bGwpYnJlYWs7dmFyIG89YS5hbHRlcm5hdGU7aWYobz09PW51bGwpe2lmKHI9YS5yZXR1cm4sciE9PW51bGwpe249cjtjb250aW51ZX1icmVha31pZihhLmNoaWxkPT09by5jaGlsZCl7Zm9yKG89YS5jaGlsZDtvOyl7aWYobz09PW4pcmV0dXJuIHUoYSksZTtpZihvPT09cilyZXR1cm4gdShhKSx0O289by5zaWJsaW5nfXRocm93IEVycm9yKGkoMTg4KSl9aWYobi5yZXR1cm4hPT1yLnJldHVybiluPWEscj1vO2Vsc2V7Zm9yKHZhciBjPSExLGw9YS5jaGlsZDtsOyl7aWYobD09PW4pe2M9ITAsbj1hLHI9bzticmVha31pZihsPT09cil7Yz0hMCxyPWEsbj1vO2JyZWFrfWw9bC5zaWJsaW5nfWlmKCFjKXtmb3IobD1vLmNoaWxkO2w7KXtpZihsPT09bil7Yz0hMCxuPW8scj1hO2JyZWFrfWlmKGw9PT1yKXtjPSEwLHI9byxuPWE7YnJlYWt9bD1sLnNpYmxpbmd9aWYoIWMpdGhyb3cgRXJyb3IoaSgxODkpKX19aWYobi5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGkoMTkwKSl9aWYobi50YWchPT0zKXRocm93IEVycm9yKGkoMTg4KSk7cmV0dXJuIG4uc3RhdGVOb2RlLmN1cnJlbnQ9PT1uP2U6dH1mdW5jdGlvbiBmKGUpe3ZhciB0PWUudGFnO2lmKHQ9PT01fHx0PT09MjZ8fHQ9PT0yN3x8dD09PTYpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2lmKHQ9ZihlKSx0IT09bnVsbClyZXR1cm4gdDtlPWUuc2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsdCxuLHIsaSxhKXtmb3IoO2UhPT1udWxsOyl7aWYoKGUudGFnPT09NXx8ZS50YWc9PT0yN3x8ZS50YWc9PT02KSYmbihlLHIsaSxhKXx8KGUudGFnIT09MjJ8fGUubWVtb2l6ZWRTdGF0ZT09PW51bGwpJiYodHx8ZS50YWchPT01JiZlLnRhZyE9PTI3KSYmcChlLmNoaWxkLHQsbixyLGksYSkpcmV0dXJuITA7ZT1lLnNpYmxpbmd9cmV0dXJuITF9ZnVuY3Rpb24gaChlKXtmb3IoZT1lLnJldHVybjtlIT09bnVsbDspe2lmKGUudGFnPT09M3x8ZS50YWc9PT01fHxlLnRhZz09PTI3KXJldHVybiBlO2U9ZS5yZXR1cm59cmV0dXJuIG51bGx9ZnVuY3Rpb24gXyhlKXt2YXIgdD0hMTtmb3IoZT1lLnJldHVybjtlIT09bnVsbCYmKGUudGFnPT09NCYmKHQ9ITApLGUudGFnIT09MyYmZS50YWchPT01JiZlLnRhZyE9PTI3KTspZT1lLnJldHVybjtyZXR1cm4gdH1mdW5jdGlvbiB2KGUpe3ZhciB0PVtudWxsLG51bGxdLG49aChlKTtyZXR1cm4gbj09PW51bGx8fHkodCxlLG4uY2hpbGQse2ZvdW5kU2VsZjohMX0pLHR9ZnVuY3Rpb24geShlLHQsbixyKXtmb3IoO24hPT1udWxsOyl7aWYobj09PXQpci5mb3VuZFNlbGY9ITA7ZWxzZSBpZihuLnRhZz09PTV8fG4udGFnPT09Mjd8fG4udGFnPT09Nil7aWYoci5mb3VuZFNlbGYpcmV0dXJuIGVbMV09biwhMDtlWzBdPW59ZWxzZSBpZigobi50YWchPT0yMnx8bi5tZW1vaXplZFN0YXRlPT09bnVsbCkmJnkoZSx0LG4uY2hpbGQscikpcmV0dXJuITA7bj1uLnNpYmxpbmd9cmV0dXJuITF9ZnVuY3Rpb24gYihlKXtzd2l0Y2goZS50YWcpe2Nhc2UgNTpjYXNlIDI3OmNhc2UgNjpyZXR1cm4gZS5zdGF0ZU5vZGU7Y2FzZSAzOnJldHVybiBlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2RlZmF1bHQ6dGhyb3cgRXJyb3IoaSg1NTkpKX19dmFyIHg9bnVsbCxlZT1udWxsO2Z1bmN0aW9uIHRlKGUsdCxuKXtyZXR1cm4gZT09PW58fGU9PT10JiYoeD1lLCEwKX1mdW5jdGlvbiBTKGUsdCxuKXtyZXR1cm4gZT09PW4_KGVlPWUsITEpOmU9PT10JiYoZWUhPT1udWxsJiYoeD1lKSwhMCl9ZnVuY3Rpb24gQyhlKXtpZihlPT09bnVsbClyZXR1cm4gbnVsbDtkbyBlPWU9PT1udWxsP251bGw6ZS5yZXR1cm47d2hpbGUoZSYmZS50YWchPT01JiZlLnRhZyE9PTI3JiZlLnRhZyE9PTMpO3JldHVybiBlfHxudWxsfWZ1bmN0aW9uIG5lKGUsdCxuKXtmb3IodmFyIHI9MCxpPWU7aTtpPW4oaSkpcisrO2k9MDtmb3IodmFyIGE9dDthO2E9bihhKSlpKys7Zm9yKDswPHItaTspZT1uKGUpLHItLTtmb3IoOzA8aS1yOyl0PW4odCksaS0tO2Zvcig7ci0tOyl7aWYoZT09PXR8fHQhPT1udWxsJiZlPT09dC5hbHRlcm5hdGUpcmV0dXJuIGU7ZT1uKGUpLHQ9bih0KX1yZXR1cm4gbnVsbH12YXIgdz1PYmplY3QuYXNzaWduLHJlPVN5bWJvbC5mb3IoYHJlYWN0LmVsZW1lbnRgKSxpZT1TeW1ib2wuZm9yKGByZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudGApLGFlPVN5bWJvbC5mb3IoYHJlYWN0LnBvcnRhbGApLG9lPVN5bWJvbC5mb3IoYHJlYWN0LmZyYWdtZW50YCksc2U9U3ltYm9sLmZvcihgcmVhY3Quc3RyaWN0X21vZGVgKSxjZT1TeW1ib2wuZm9yKGByZWFjdC5wcm9maWxlcmApLGxlPVN5bWJvbC5mb3IoYHJlYWN0LmNvbnN1bWVyYCksdWU9U3ltYm9sLmZvcihgcmVhY3QuY29udGV4dGApLGRlPVN5bWJvbC5mb3IoYHJlYWN0LmZvcndhcmRfcmVmYCksZmU9U3ltYm9sLmZvcihgcmVhY3Quc3VzcGVuc2VgKSxwZT1TeW1ib2wuZm9yKGByZWFjdC5zdXNwZW5zZV9saXN0YCksbWU9U3ltYm9sLmZvcihgcmVhY3QubWVtb2ApLGhlPVN5bWJvbC5mb3IoYHJlYWN0LmxhenlgKSxnZT1TeW1ib2wuZm9yKGByZWFjdC5hY3Rpdml0eWApLF9lPVN5bWJvbC5mb3IoYHJlYWN0LmxlZ2FjeV9oaWRkZW5gKSx2ZT1TeW1ib2wuZm9yKGByZWFjdC5tZW1vX2NhY2hlX3NlbnRpbmVsYCkseWU9U3ltYm9sLmZvcihgcmVhY3Qudmlld190cmFuc2l0aW9uYCksYmU9U3ltYm9sLmZvcihgcmVhY3QucmVjb3ZlcmFibGVgKSx4ZT1TeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gU2UoZSl7cmV0dXJuIHR5cGVvZiBlIT1gb2JqZWN0YHx8IWU_bnVsbDooZT14ZSYmZVt4ZV18fGVbYEBAaXRlcmF0b3JgXSx0eXBlb2YgZT09YGZ1bmN0aW9uYD9lOm51bGwpfXZhciBDZT1TeW1ib2wuZm9yKGByZWFjdC5jbGllbnQucmVmZXJlbmNlYCk7ZnVuY3Rpb24gd2UoZSl7aWYoZT09bnVsbClyZXR1cm4gbnVsbDtpZih0eXBlb2YgZT09YGZ1bmN0aW9uYClyZXR1cm4gZS4kJHR5cGVvZj09PUNlP251bGw6ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKHR5cGVvZiBlPT1gc3RyaW5nYClyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSBvZTpyZXR1cm5gRnJhZ21lbnRgO2Nhc2UgY2U6cmV0dXJuYFByb2ZpbGVyYDtjYXNlIHNlOnJldHVybmBTdHJpY3RNb2RlYDtjYXNlIGZlOnJldHVybmBTdXNwZW5zZWA7Y2FzZSBwZTpyZXR1cm5gU3VzcGVuc2VMaXN0YDtjYXNlIGdlOnJldHVybmBBY3Rpdml0eWA7Y2FzZSB5ZTpyZXR1cm5gVmlld1RyYW5zaXRpb25gfWlmKHR5cGVvZiBlPT1gb2JqZWN0YClzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBhZTpyZXR1cm5gUG9ydGFsYDtjYXNlIHVlOnJldHVybiBlLmRpc3BsYXlOYW1lfHxgQ29udGV4dGA7Y2FzZSBsZTpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8YENvbnRleHRgKStgLkNvbnN1bWVyYDtjYXNlIGRlOnZhciB0PWUucmVuZGVyO3JldHVybiBlPWUuZGlzcGxheU5hbWUsZXx8PShlPXQuZGlzcGxheU5hbWV8fHQubmFtZXx8YGAsZT09PWBgP2BGb3J3YXJkUmVmYDpgRm9yd2FyZFJlZihgK2UrYClgKSxlO2Nhc2UgbWU6cmV0dXJuIHQ9ZS5kaXNwbGF5TmFtZXx8bnVsbCx0PT09bnVsbD93ZShlLnR5cGUpfHxgTWVtb2A6dDtjYXNlIGhlOnQ9ZS5fcGF5bG9hZCxlPWUuX2luaXQ7dHJ5e3JldHVybiB3ZShlKHQpKX1jYXRjaHt9fXJldHVybiBudWxsfXZhciBUZT1BcnJheS5pc0FycmF5LFQ9bi5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsRT1yLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxFZT17cGVuZGluZzohMSxkYXRhOm51bGwsbWV0aG9kOm51bGwsYWN0aW9uOm51bGx9LERlPVtdLE9lPS0xO2Z1bmN0aW9uIGtlKGUpe3JldHVybntjdXJyZW50OmV9fWZ1bmN0aW9uIEFlKGUpezA-T2V8fChlLmN1cnJlbnQ9RGVbT2VdLERlW09lXT1udWxsLE9lLS0pfWZ1bmN0aW9uIEQoZSx0KXtPZSsrLERlW09lXT1lLmN1cnJlbnQsZS5jdXJyZW50PXR9dmFyIGplPWtlKG51bGwpLE1lPWtlKG51bGwpLE89a2UobnVsbCksTmU9a2UobnVsbCk7ZnVuY3Rpb24gUGUoZSx0KXtzd2l0Y2goRChPLHQpLEQoTWUsZSksRChqZSxudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP3VwKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKXQ9dXAodCksZT1kcCh0LGUpO2Vsc2Ugc3dpdGNoKGUpe2Nhc2Vgc3ZnYDplPTE7YnJlYWs7Y2FzZWBtYXRoYDplPTI7YnJlYWs7ZGVmYXVsdDplPTB9fUFlKGplKSxEKGplLGUpfWZ1bmN0aW9uIEZlKCl7QWUoamUpLEFlKE1lKSxBZShPKX1mdW5jdGlvbiBJZShlKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7dCE9PW51bGwmJihzaC5fY3VycmVudFZhbHVlPXQubWVtb2l6ZWRTdGF0ZSxEKE5lLGUpKSx0PWplLmN1cnJlbnQ7dmFyIG49ZHAodCxlLnR5cGUpO3QhPT1uJiYoRChNZSxlKSxEKGplLG4pKX1mdW5jdGlvbiBMZShlKXtNZS5jdXJyZW50PT09ZSYmKEFlKGplKSxBZShNZSkpLE5lLmN1cnJlbnQ9PT1lJiYoQWUoTmUpLHNoLl9jdXJyZW50VmFsdWU9RWUpfXZhciBSZSx6ZTtmdW5jdGlvbiBrKGUpe2lmKFJlPT09dm9pZCAwKXRyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3ZhciB0PWUuc3RhY2sudHJpbSgpLm1hdGNoKC9cbiggKihhdCApPykvKTtSZT10JiZ0WzFdfHxgYCx6ZT0tMTxlLnN0YWNrLmluZGV4T2YoYAogICAgYXRgKT9gICg8YW5vbnltb3VzPilgOi0xPGUuc3RhY2suaW5kZXhPZihgQGApP2BAdW5rbm93bjowOjBgOmBgfXJldHVybmAKYCtSZStlK3plfXZhciBBPSExO2Z1bmN0aW9uIEJlKGUsdCl7aWYoIWV8fEEpcmV0dXJuYGA7QT0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciByPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIG49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSx0eXBlb2YgUmVmbGVjdD09YG9iamVjdGAmJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QobixbXSl9Y2F0Y2goZSl7dmFyIHI9ZX1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLG4pfWVsc2V7dHJ5e24uY2FsbCgpfWNhdGNoKGUpe3I9ZX1uPSExO3RyeXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUucHJvdG90eXBlLGBwcm9wc2ApO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwicHJvcHMiLHtjb25maWd1cmFibGU6ITAsc2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSxuPSEwLG5ldyBlfWZpbmFsbHl7biYmKGk9PT12b2lkIDA_ZGVsZXRlIGUucHJvdG90eXBlLnByb3BzOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwicHJvcHMiLGkpKX19fWVsc2V7dHJ5e3Rocm93IEVycm9yKCl9Y2F0Y2goZSl7cj1lfShuPWUoKSkmJnR5cGVvZiBuLmNhdGNoPT1gZnVuY3Rpb25gJiZuLmNhdGNoKGZ1bmN0aW9uKCl7fSl9fWNhdGNoKGUpe2lmKGUmJnImJnR5cGVvZiBlLnN0YWNrPT1gc3RyaW5nYClyZXR1cm5bZS5zdGFjayxyLnN0YWNrXX1yZXR1cm5bbnVsbCxudWxsXX19O3IuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LmRpc3BsYXlOYW1lPWBEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3RgO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsYG5hbWVgKTtpJiZpLmNvbmZpZ3VyYWJsZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIix7dmFsdWU6YERldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdGB9KTt2YXIgYT1yLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCgpLG89YVswXSxzPWFbMV07aWYobyYmcyl7dmFyIGM9by5zcGxpdChgCmApLGw9cy5zcGxpdChgCmApO2ZvcihpPXI9MDtyPGMubGVuZ3RoJiYhY1tyXS5pbmNsdWRlcyhgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290YCk7KXIrKztmb3IoO2k8bC5sZW5ndGgmJiFsW2ldLmluY2x1ZGVzKGBEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3RgKTspaSsrO2lmKHI9PT1jLmxlbmd0aHx8aT09PWwubGVuZ3RoKWZvcihyPWMubGVuZ3RoLTEsaT1sLmxlbmd0aC0xOzE8PXImJjA8PWkmJmNbcl0hPT1sW2ldOylpLS07Zm9yKDsxPD1yJiYwPD1pO3ItLSxpLS0paWYoY1tyXSE9PWxbaV0pe2lmKHIhPT0xfHxpIT09MSlkbyBpZihyLS0saS0tLDA-aXx8Y1tyXSE9PWxbaV0pe3ZhciB1PWAKYCtjW3JdLnJlcGxhY2UoYCBhdCBuZXcgYCxgIGF0IGApO3JldHVybiBlLmRpc3BsYXlOYW1lJiZ1LmluY2x1ZGVzKGA8YW5vbnltb3VzPmApJiYodT11LnJlcGxhY2UoYDxhbm9ueW1vdXM-YCxlLmRpc3BsYXlOYW1lKSksdX13aGlsZSgxPD1yJiYwPD1pKTticmVha319fWZpbmFsbHl7QT0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT1ufXJldHVybihuPWU_ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOmBgKT9rKG4pOmBgfWZ1bmN0aW9uIFZlKGUsdCl7c3dpdGNoKGUudGFnKXtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBrKGUudHlwZSk7Y2FzZSAxNjpyZXR1cm4gayhgTGF6eWApO2Nhc2UgMTM6cmV0dXJuIGUuY2hpbGQhPT10JiZ0IT09bnVsbD9rKGBTdXNwZW5zZSBGYWxsYmFja2ApOmsoYFN1c3BlbnNlYCk7Y2FzZSAxOTpyZXR1cm4gayhgU3VzcGVuc2VMaXN0YCk7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIEJlKGUudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gQmUoZS50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBCZShlLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGsoYEFjdGl2aXR5YCk7Y2FzZSAzMDpyZXR1cm4gayhgVmlld1RyYW5zaXRpb25gKTtkZWZhdWx0OnJldHVybmBgfX1mdW5jdGlvbiBIZShlKXt0cnl7dmFyIHQ9YGAsbj1udWxsO2RvIHQrPVZlKGUsbiksbj1lLGU9ZS5yZXR1cm47d2hpbGUoZSk7cmV0dXJuIHR9Y2F0Y2goZSl7cmV0dXJuYApFcnJvciBnZW5lcmF0aW5nIHN0YWNrOiBgK2UubWVzc2FnZStgCmArZS5zdGFja319dmFyIFVlPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksV2U9dC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEdlPXQudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssS2U9dC51bnN0YWJsZV9zaG91bGRZaWVsZCxxZT10LnVuc3RhYmxlX3JlcXVlc3RQYWludCxKZT10LnVuc3RhYmxlX25vdyxZZT10LnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLFhlPXQudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksWmU9dC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxRZT10LnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LCRlPXQudW5zdGFibGVfTG93UHJpb3JpdHksZXQ9dC51bnN0YWJsZV9JZGxlUHJpb3JpdHksdHQ9dC5sb2csbnQ9dC51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxydD1udWxsLGl0PW51bGw7ZnVuY3Rpb24gYXQoZSl7aWYodHlwZW9mIHR0PT1gZnVuY3Rpb25gJiZudChlKSxpdCYmdHlwZW9mIGl0LnNldFN0cmljdE1vZGU9PWBmdW5jdGlvbmApdHJ5e2l0LnNldFN0cmljdE1vZGUocnQsZSl9Y2F0Y2h7fX12YXIgb3Q9TWF0aC5jbHozMj9NYXRoLmNsejMyOmx0LHN0PU1hdGgubG9nLGN0PU1hdGguTE4yO2Z1bmN0aW9uIGx0KGUpe3JldHVybiBlPj4-PTAsZT09PTA_MzI6MzEtKHN0KGUpL2N0fDApfDB9dmFyIHV0PTI1NixkdD0yNjIxNDQsZnQ9NDE5NDMwNDtmdW5jdGlvbiBwdChlKXt2YXIgdD1lJjQyO2lmKHQhPT0wKXJldHVybiB0O3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpyZXR1cm4gNjQ7Y2FzZSAxMjg6cmV0dXJuIDEyODtjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6cmV0dXJuIGUmLWU7Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gZSYzOTMyMTYwO2Nhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOnJldHVybiBlJjYyOTE0NTYwO2Nhc2UgNjcxMDg4NjQ6cmV0dXJuIDY3MTA4ODY0O2Nhc2UgMTM0MjE3NzI4OnJldHVybiAxMzQyMTc3Mjg7Y2FzZSAyNjg0MzU0NTY6cmV0dXJuIDI2ODQzNTQ1NjtjYXNlIDUzNjg3MDkxMjpyZXR1cm4gNTM2ODcwOTEyO2Nhc2UgMTA3Mzc0MTgyNDpyZXR1cm4gMDtkZWZhdWx0OnJldHVybiBlfX1mdW5jdGlvbiBtdChlLHQsbil7dmFyIHI9ZS5wZW5kaW5nTGFuZXM7aWYocj09PTApcmV0dXJuIDA7dmFyIGk9MCxhPWUuc3VzcGVuZGVkTGFuZXMsbz1lLnBpbmdlZExhbmVzO2U9ZS53YXJtTGFuZXM7dmFyIHM9ciYxMzQyMTc3Mjc7cmV0dXJuIHM9PT0wPyhzPXImfmEscz09PTA_bz09PTA_bnx8KG49ciZ-ZSxuIT09MCYmKGk9cHQobikpKTppPXB0KG8pOmk9cHQocykpOihyPXMmfmEscj09PTA_KG8mPXMsbz09PTA_bnx8KG49cyZ-ZSxuIT09MCYmKGk9cHQobikpKTppPXB0KG8pKTppPXB0KHIpKSxpPT09MD8wOnQhPT0wJiZ0IT09aSYmKHQmYSk9PT0wJiYoYT1pJi1pLG49dCYtdCxhPj1ufHxhPT09MzImJm4mNDE5NDA0OCk_dDppfWZ1bmN0aW9uIGh0KGUsdCl7cmV0dXJuKGUucGVuZGluZ0xhbmVzJn4oZS5zdXNwZW5kZWRMYW5lcyZ-ZS5waW5nZWRMYW5lcykmdCk9PT0wfWZ1bmN0aW9uIGd0KGUsdCl7dCY4JiYodHw9dCYzMik7dmFyIG49ZS5lbnRhbmdsZWRMYW5lcztpZihuIT09MClmb3IoZT1lLmVudGFuZ2xlbWVudHMsbiY9dDswPG47KXt2YXIgcj0zMS1vdChuKSxpPTE8PHI7dHw9ZVtyXSxuJj1-aX1yZXR1cm4gdH1mdW5jdGlvbiBfdChlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDg6Y2FzZSA2NDpyZXR1cm4gdCsyNTA7Y2FzZSAxNjpjYXNlIDMyOmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiB0KzVlMztjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpyZXR1cm4tMTtjYXNlIDY3MTA4ODY0OmNhc2UgMTM0MjE3NzI4OmNhc2UgMjY4NDM1NDU2OmNhc2UgNTM2ODcwOTEyOmNhc2UgMTA3Mzc0MTgyNDpyZXR1cm4tMTtkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiB2dCgpe3ZhciBlPWZ0O3JldHVybiBmdDw8PTEsIShmdCY2MjkxNDU2MCkmJihmdD00MTk0MzA0KSxlfWZ1bmN0aW9uIHl0KGUpe2Zvcih2YXIgdD1bXSxuPTA7MzE-bjtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIGJ0KGUsdCl7ZS5wZW5kaW5nTGFuZXN8PXQsdCE9PTI2ODQzNTQ1NiYmKGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS53YXJtTGFuZXM9MCl9ZnVuY3Rpb24geHQoZSx0LG4scixpLGEpe3ZhciBvPWUucGVuZGluZ0xhbmVzO2UucGVuZGluZ0xhbmVzPW4sZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLndhcm1MYW5lcz0wLGUuZXhwaXJlZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyY9bixlLnNoZWxsU3VzcGVuZENvdW50ZXI9MDt2YXIgcz1lLmVudGFuZ2xlbWVudHMsYz1lLmV4cGlyYXRpb25UaW1lcyxsPWUuaGlkZGVuVXBkYXRlcztmb3Iobj1vJn5uOzA8bjspe3ZhciB1PTMxLW90KG4pLGQ9MTw8dTtzW3VdPTAsY1t1XT0tMTt2YXIgZj1sW3VdO2lmKGYhPT1udWxsKWZvcihsW3VdPW51bGwsdT0wO3U8Zi5sZW5ndGg7dSsrKXt2YXIgcD1mW3VdO3AhPT1udWxsJiYocC5sYW5lJj0tNTM2ODcwOTEzKX1uJj1-ZH1yIT09MCYmU3QoZSxyLDApLGEhPT0wJiZpPT09MCYmZS50YWchPT0wJiYoZS5zdXNwZW5kZWRMYW5lc3w9YSZ-KG8mfnQpKX1mdW5jdGlvbiBTdChlLHQsbil7ZS5wZW5kaW5nTGFuZXN8PXQsZS5zdXNwZW5kZWRMYW5lcyY9fnQ7dmFyIHI9MzEtb3QodCk7ZS5lbnRhbmdsZWRMYW5lc3w9dCxlLmVudGFuZ2xlbWVudHNbcl09ZS5lbnRhbmdsZW1lbnRzW3JdfDEwNzM3NDE4MjR8biYyNjE5MzB9ZnVuY3Rpb24gQ3QoZSx0KXt2YXIgbj1lLmVudGFuZ2xlZExhbmVzfD10O2ZvcihlPWUuZW50YW5nbGVtZW50cztuOyl7dmFyIHI9MzEtb3QobiksaT0xPDxyO2kmdHxlW3JdJnQmJihlW3JdfD10KSxuJj1-aX19ZnVuY3Rpb24gd3QoZSx0KXt2YXIgbj10Ji10O3JldHVybiBuPW4mNDI_MTpUdChuKSwobiYoZS5zdXNwZW5kZWRMYW5lc3x0KSk9PT0wP246MH1mdW5jdGlvbiBUdChlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjplPTEyODticmVhaztjYXNlIDI2ODQzNTQ1NjplPTEzNDIxNzcyODticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBFdChlKXtyZXR1cm4gZSY9LWUsMjxlPzg8ZT9lJjEzNDIxNzcyNz8zMjoyNjg0MzU0NTY6ODoyfWZ1bmN0aW9uIER0KCl7dmFyIGU9RS5wO3JldHVybiBlPT09MD8oZT13aW5kb3cuZXZlbnQsZT09PXZvaWQgMD8zMjpDaChlLnR5cGUpKTplfWZ1bmN0aW9uIE90KGUsdCl7dmFyIG49RS5wO3RyeXtyZXR1cm4gRS5wPWUsdCgpfWZpbmFsbHl7RS5wPW59fXZhciBrdD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxBdD1gX19yZWFjdEZpYmVyJGAra3QsanQ9YF9fcmVhY3RQcm9wcyRgK2t0LE10PWBfX3JlYWN0Q29udGFpbmVyJGAra3QsTnQ9YF9fcmVhY3RFdmVudHMkYCtrdCxQdD1gX19yZWFjdExpc3RlbmVycyRgK2t0LEZ0PWBfX3JlYWN0SGFuZGxlcyRgK2t0LEl0PWBfX3JlYWN0UmVzb3VyY2VzJGAra3QsTHQ9YF9fcmVhY3RNYXJrZXIkYCtrdCxSdD1gX19yZWFjdExvYWQkYCtrdDtmdW5jdGlvbiB6dChlKXtkZWxldGUgZVtBdF0sZGVsZXRlIGVbanRdLGRlbGV0ZSBlW1B0XSxkZWxldGUgZVtGdF19ZnVuY3Rpb24gQnQoZSl7dmFyIHQ7aWYodD1lW0F0XSlyZXR1cm4gdDtmb3IodmFyIG49ZS5wYXJlbnROb2RlO247KXtpZih0PW5bTXRdfHxuW0F0XSl7aWYobj10LmFsdGVybmF0ZSx0LmNoaWxkIT09bnVsbHx8biE9PW51bGwmJm4uY2hpbGQhPT1udWxsKWZvcihlPWZtKGUpO2UhPT1udWxsOyl7aWYobj1lW0F0XSlyZXR1cm4gbjtlPWZtKGUpfXJldHVybiB0fWU9bixuPWUucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBWdChlKXtpZihlPWVbQXRdfHxlW010XSl7dmFyIHQ9ZS50YWc7aWYodD09PTV8fHQ9PT02fHx0PT09MTN8fHQ9PT0zMXx8dD09PTI2fHx0PT09Mjd8fHQ9PT0zKXJldHVybiBlfXJldHVybiBudWxsfWZ1bmN0aW9uIEh0KGUpe3ZhciB0PWUudGFnO2lmKHQ9PT01fHx0PT09MjZ8fHQ9PT0yN3x8dD09PTYpcmV0dXJuIGUuc3RhdGVOb2RlO3Rocm93IEVycm9yKGkoMzMpKX1mdW5jdGlvbiBVdChlKXt2YXIgdD1lW0l0XTtyZXR1cm4gdHx8PWVbSXRdPXtob2lzdGFibGVTdHlsZXM6bmV3IE1hcCxob2lzdGFibGVTY3JpcHRzOm5ldyBNYXB9LHR9ZnVuY3Rpb24gV3QoZSl7ZVtMdF09ITB9ZnVuY3Rpb24gR3QoZSl7ZVtSdF09dm9pZCAwfXZhciBLdD1uZXcgU2V0LHF0PXt9O2Z1bmN0aW9uIEp0KGUsdCl7WXQoZSx0KSxZdChlK2BDYXB0dXJlYCx0KX1mdW5jdGlvbiBZdChlLHQpe2ZvcihxdFtlXT10LGU9MDtlPHQubGVuZ3RoO2UrKylLdC5hZGQodFtlXSl9dmFyIFh0PVJlZ0V4cChgXls6QS1aX2EtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF1bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRcXC0uMC05XFx1MDBCN1xcdTAzMDAtXFx1MDM2RlxcdTIwM0YtXFx1MjA0MF0qJGApLFp0PXt9LFF0PXt9O2Z1bmN0aW9uICR0KGUpe3JldHVybiBVZS5jYWxsKFF0LGUpPyEwOlVlLmNhbGwoWnQsZSk_ITE6WHQudGVzdChlKT9RdFtlXT0hMDooWnRbZV09ITAsITEpfXZhciBqPSExO2Z1bmN0aW9uIGVuKCl7dmFyIGU9ajtyZXR1cm4gaj0hMSxlfWZ1bmN0aW9uIHRuKGUsdCxuKXtpZigkdCh0KSl7aWYobj09PW51bGwpZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2VgdW5kZWZpbmVkYDpjYXNlYGZ1bmN0aW9uYDpjYXNlYHN5bWJvbGA6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2VgYm9vbGVhbmA6dmFyIHI9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYociE9PWBkYXRhLWAmJnIhPT1gYXJpYS1gKXtlLnJlbW92ZUF0dHJpYnV0ZSh0KTtyZXR1cm59fWUuc2V0QXR0cmlidXRlKHQsbil9fX1mdW5jdGlvbiBubihlLHQsbil7aWYobj09PW51bGwpZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2VgdW5kZWZpbmVkYDpjYXNlYGZ1bmN0aW9uYDpjYXNlYHN5bWJvbGA6Y2FzZWBib29sZWFuYDplLnJlbW92ZUF0dHJpYnV0ZSh0KTtyZXR1cm59ZS5zZXRBdHRyaWJ1dGUodCxuKX19ZnVuY3Rpb24gcm4oZSx0LG4scil7aWYocj09PW51bGwpZS5yZW1vdmVBdHRyaWJ1dGUobik7ZWxzZXtzd2l0Y2godHlwZW9mIHIpe2Nhc2VgdW5kZWZpbmVkYDpjYXNlYGZ1bmN0aW9uYDpjYXNlYHN5bWJvbGA6Y2FzZWBib29sZWFuYDplLnJlbW92ZUF0dHJpYnV0ZShuKTtyZXR1cm59ZS5zZXRBdHRyaWJ1dGVOUyh0LG4scil9fWZ1bmN0aW9uIGFuKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZWBiaWdpbnRgOmNhc2VgYm9vbGVhbmA6Y2FzZWBudW1iZXJgOmNhc2Vgc3RyaW5nYDpjYXNlYHVuZGVmaW5lZGA6cmV0dXJuIGU7Y2FzZWBvYmplY3RgOnJldHVybiBlO2RlZmF1bHQ6cmV0dXJuYGB9fWZ1bmN0aW9uIG9uKGUpe3ZhciB0PWUudHlwZTtyZXR1cm4oZT1lLm5vZGVOYW1lKSYmZS50b0xvd2VyQ2FzZSgpPT09YGlucHV0YCYmKHQ9PT1gY2hlY2tib3hgfHx0PT09YHJhZGlvYCl9ZnVuY3Rpb24gc24oZSx0LG4pe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWUuaGFzT3duUHJvcGVydHkodCkmJnIhPT12b2lkIDAmJnR5cGVvZiByLmdldD09YGZ1bmN0aW9uYCYmdHlwZW9mIHIuc2V0PT1gZnVuY3Rpb25gKXt2YXIgaT1yLmdldCxhPXIuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe249YGArZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOnIuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBufSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtuPWBgK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fWZ1bmN0aW9uIGNuKGUpe2lmKCFlLl92YWx1ZVRyYWNrZXIpe3ZhciB0PW9uKGUpP2BjaGVja2VkYDpgdmFsdWVgO2UuX3ZhbHVlVHJhY2tlcj1zbihlLHQsYGArZVt0XSl9fWZ1bmN0aW9uIGxuKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgbj10LmdldFZhbHVlKCkscj1gYDtyZXR1cm4gZSYmKHI9b24oZSk_ZS5jaGVja2VkP2B0cnVlYDpgZmFsc2VgOmUudmFsdWUpLGU9cixlIT09biYmKHQuc2V0VmFsdWUoZSksITApfXZhciB1bj0vW1xuIlxcXS9nO2Z1bmN0aW9uIGRuKGUpe3JldHVybiBlLnJlcGxhY2UodW4sZnVuY3Rpb24oZSl7cmV0dXJuYFxcYCtlLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpK2AgYH0pfWZ1bmN0aW9uIGZuKGUsdCxuLHIsaSxhLG8scyl7ZS5uYW1lPWBgLG8hPW51bGwmJnR5cGVvZiBvIT1gZnVuY3Rpb25gJiZ0eXBlb2YgbyE9YHN5bWJvbGAmJnR5cGVvZiBvIT1gYm9vbGVhbmA_ZS50eXBlPW86ZS5yZW1vdmVBdHRyaWJ1dGUoYHR5cGVgKSx0PT1udWxsP28hPT1gc3VibWl0YCYmbyE9PWByZXNldGB8fGUucmVtb3ZlQXR0cmlidXRlKGB2YWx1ZWApOm89PT1gbnVtYmVyYD8odD09PTAmJmUudmFsdWU9PT1gYHx8ZS52YWx1ZSE9dCkmJihlLnZhbHVlPWBgK2FuKHQpKTplLnZhbHVlIT09YGArYW4odCkmJihlLnZhbHVlPWBgK2FuKHQpKSx0PT1udWxsP249PW51bGw_ciE9bnVsbCYmZS5yZW1vdmVBdHRyaWJ1dGUoYHZhbHVlYCk6bW4oZSxhbihuKSk6bz09PWBudW1iZXJgJiZlLnZhbHVlPT10P21uKGUsYW4oZS52YWx1ZSkpOm1uKGUsYW4odCkpLGk9PW51bGwmJmEhPW51bGwmJihlLmRlZmF1bHRDaGVja2VkPSEhYSksaSE9bnVsbCYmKGUuY2hlY2tlZD1pJiZ0eXBlb2YgaSE9YGZ1bmN0aW9uYCYmdHlwZW9mIGkhPWBzeW1ib2xgKSxzIT1udWxsJiZ0eXBlb2YgcyE9YGZ1bmN0aW9uYCYmdHlwZW9mIHMhPWBzeW1ib2xgJiZ0eXBlb2YgcyE9YGJvb2xlYW5gP2UubmFtZT1gYCthbihzKTplLnJlbW92ZUF0dHJpYnV0ZShgbmFtZWApfWZ1bmN0aW9uIHBuKGUsdCxuLHIsaSxhLG8scyl7aWYoYSE9bnVsbCYmdHlwZW9mIGEhPWBmdW5jdGlvbmAmJnR5cGVvZiBhIT1gc3ltYm9sYCYmdHlwZW9mIGEhPWBib29sZWFuYCYmKGUudHlwZT1hKSx0IT1udWxsfHxuIT1udWxsKXtpZighKGEhPT1gc3VibWl0YCYmYSE9PWByZXNldGB8fHQhPW51bGwpKXtjbihlKTtyZXR1cm59bj1uPT1udWxsP2BgOmBgK2FuKG4pLHQ9dD09bnVsbD9uOmBgK2FuKHQpLHN8fHQ9PT1lLnZhbHVlfHwoZS52YWx1ZT10KSxlLmRlZmF1bHRWYWx1ZT10fXI_Pz1pLHI9dHlwZW9mIHIhPWBmdW5jdGlvbmAmJnR5cGVvZiByIT1gc3ltYm9sYCYmISFyLGUuY2hlY2tlZD1zP2UuY2hlY2tlZDohIXIsZS5kZWZhdWx0Q2hlY2tlZD0hIXIsbyE9bnVsbCYmdHlwZW9mIG8hPWBmdW5jdGlvbmAmJnR5cGVvZiBvIT1gc3ltYm9sYCYmdHlwZW9mIG8hPWBib29sZWFuYCYmKGUubmFtZT1vKSxjbihlKX1mdW5jdGlvbiBtbihlLHQpe2UuZGVmYXVsdFZhbHVlIT09YGArdCYmKGUuZGVmYXVsdFZhbHVlPWBgK3QpfWZ1bmN0aW9uIGhuKGUsdCxuLHIpe2lmKGU9ZS5vcHRpb25zLHQpe3Q9e307Zm9yKHZhciBpPTA7aTxuLmxlbmd0aDtpKyspdFtgJGArbltpXV09ITA7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylpPXQuaGFzT3duUHJvcGVydHkoYCRgK2Vbbl0udmFsdWUpLGVbbl0uc2VsZWN0ZWQhPT1pJiYoZVtuXS5zZWxlY3RlZD1pKSxpJiZyJiYoZVtuXS5kZWZhdWx0U2VsZWN0ZWQ9ITApfWVsc2V7Zm9yKG49YGArYW4obiksdD1udWxsLGk9MDtpPGUubGVuZ3RoO2krKyl7aWYoZVtpXS52YWx1ZT09PW4pe2VbaV0uc2VsZWN0ZWQ9ITAsciYmKGVbaV0uZGVmYXVsdFNlbGVjdGVkPSEwKTtyZXR1cm59dCE9PW51bGx8fGVbaV0uZGlzYWJsZWR8fCh0PWVbaV0pfXQhPT1udWxsJiYodC5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIGduKGUsdCxuKXt0IT1udWxsJiYodD1gYCthbih0KSx0IT09ZS52YWx1ZSYmKGUudmFsdWU9dCksbj09bnVsbCk_ZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCk6ZS5kZWZhdWx0VmFsdWU9bj09bnVsbD9gYDpgYCthbihuKX1mdW5jdGlvbiBfbihlLHQsbixyKXtpZih0PT1udWxsKXtpZihyIT1udWxsKXtpZihuIT1udWxsKXRocm93IEVycm9yKGkoOTIpKTtpZihUZShyKSl7aWYoMTxyLmxlbmd0aCl0aHJvdyBFcnJvcihpKDkzKSk7cj1yWzBdfW49cn1uPz89YGAsdD1ufW49YW4odCksZS5kZWZhdWx0VmFsdWU9bixyPWUudGV4dENvbnRlbnQscj09PW4mJnIhPT1gYCYmciE9PW51bGwmJihlLnZhbHVlPXIpLGNuKGUpfWZ1bmN0aW9uIHZuKGUsdCl7aWYodCl7dmFyIG49ZS5maXJzdENoaWxkO2lmKG4mJm49PT1lLmxhc3RDaGlsZCYmbi5ub2RlVHlwZT09PTMpe24ubm9kZVZhbHVlPXQ7cmV0dXJufX1lLnRleHRDb250ZW50PXR9dmFyIHluPW5ldyBTZXQoYGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IGFzcGVjdFJhdGlvIGJvcmRlckltYWdlT3V0c2V0IGJvcmRlckltYWdlU2xpY2UgYm9yZGVySW1hZ2VXaWR0aCBib3hGbGV4IGJveEZsZXhHcm91cCBib3hPcmRpbmFsR3JvdXAgY29sdW1uQ291bnQgY29sdW1ucyBmbGV4IGZsZXhHcm93IGZsZXhQb3NpdGl2ZSBmbGV4U2hyaW5rIGZsZXhOZWdhdGl2ZSBmbGV4T3JkZXIgZ3JpZEFyZWEgZ3JpZFJvdyBncmlkUm93RW5kIGdyaWRSb3dTcGFuIGdyaWRSb3dTdGFydCBncmlkQ29sdW1uIGdyaWRDb2x1bW5FbmQgZ3JpZENvbHVtblNwYW4gZ3JpZENvbHVtblN0YXJ0IGZvbnRXZWlnaHQgbGluZUNsYW1wIGxpbmVIZWlnaHQgb3BhY2l0eSBvcmRlciBvcnBoYW5zIHNjYWxlIHRhYlNpemUgd2lkb3dzIHpJbmRleCB6b29tIGZpbGxPcGFjaXR5IGZsb29kT3BhY2l0eSBzdG9wT3BhY2l0eSBzdHJva2VEYXNoYXJyYXkgc3Ryb2tlRGFzaG9mZnNldCBzdHJva2VNaXRlcmxpbWl0IHN0cm9rZU9wYWNpdHkgc3Ryb2tlV2lkdGggTW96QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgTW96Qm94RmxleCBNb3pCb3hGbGV4R3JvdXAgTW96TGluZUNsYW1wIG1zQW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgbXNGbGV4IG1zWm9vbSBtc0ZsZXhHcm93IG1zRmxleE5lZ2F0aXZlIG1zRmxleE9yZGVyIG1zRmxleFBvc2l0aXZlIG1zRmxleFNocmluayBtc0dyaWRDb2x1bW4gbXNHcmlkQ29sdW1uU3BhbiBtc0dyaWRSb3cgbXNHcmlkUm93U3BhbiBXZWJraXRBbmltYXRpb25JdGVyYXRpb25Db3VudCBXZWJraXRCb3hGbGV4IFdlYktpdEJveEZsZXhHcm91cCBXZWJraXRCb3hPcmRpbmFsR3JvdXAgV2Via2l0Q29sdW1uQ291bnQgV2Via2l0Q29sdW1ucyBXZWJraXRGbGV4IFdlYmtpdEZsZXhHcm93IFdlYmtpdEZsZXhQb3NpdGl2ZSBXZWJraXRGbGV4U2hyaW5rIFdlYmtpdExpbmVDbGFtcGAuc3BsaXQoYCBgKSk7ZnVuY3Rpb24gYm4oZSx0LG4pe3ZhciByPXQuaW5kZXhPZihgLS1gKT09PTA7bj09bnVsbHx8dHlwZW9mIG49PWBib29sZWFuYHx8bj09PWBgP3I_ZS5zZXRQcm9wZXJ0eSh0LGBgKTp0PT09YGZsb2F0YD9lLmNzc0Zsb2F0PWBgOmVbdF09YGA6cj9lLnNldFByb3BlcnR5KHQsbik6dHlwZW9mIG4hPWBudW1iZXJgfHxuPT09MHx8eW4uaGFzKHQpP3Q9PT1gZmxvYXRgP2UuY3NzRmxvYXQ9bjplW3RdPShgYCtuKS50cmltKCk6ZVt0XT1uK2BweGB9ZnVuY3Rpb24geG4oZSx0LG4pe2lmKHQhPW51bGwmJnR5cGVvZiB0IT1gb2JqZWN0YCl0aHJvdyBFcnJvcihpKDYyKSk7aWYoZT1lLnN0eWxlLG4hPW51bGwpe2Zvcih2YXIgciBpbiBuKSFuLmhhc093blByb3BlcnR5KHIpfHx0IT1udWxsJiZ0Lmhhc093blByb3BlcnR5KHIpfHwoci5pbmRleE9mKGAtLWApPT09MD9lLnNldFByb3BlcnR5KHIsYGApOnI9PT1gZmxvYXRgP2UuY3NzRmxvYXQ9YGA6ZVtyXT1gYCxqPSEwKTtmb3IodmFyIGEgaW4gdClyPXRbYV0sdC5oYXNPd25Qcm9wZXJ0eShhKSYmblthXSE9PXImJihibihlLGEsciksaj0hMCl9ZWxzZSBmb3IodmFyIG8gaW4gdCl0Lmhhc093blByb3BlcnR5KG8pJiZibihlLG8sdFtvXSl9ZnVuY3Rpb24gU24oZSl7aWYoZS5pbmRleE9mKGAtYCk9PT0tMSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZWBhbm5vdGF0aW9uLXhtbGA6Y2FzZWBjb2xvci1wcm9maWxlYDpjYXNlYGZvbnQtZmFjZWA6Y2FzZWBmb250LWZhY2Utc3JjYDpjYXNlYGZvbnQtZmFjZS11cmlgOmNhc2VgZm9udC1mYWNlLWZvcm1hdGA6Y2FzZWBmb250LWZhY2UtbmFtZWA6Y2FzZWBtaXNzaW5nLWdseXBoYDpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgQ249bmV3IE1hcChbW2BhY2NlcHRDaGFyc2V0YCxgYWNjZXB0LWNoYXJzZXRgXSxbYGh0bWxGb3JgLGBmb3JgXSxbYGh0dHBFcXVpdmAsYGh0dHAtZXF1aXZgXSxbYGNyb3NzT3JpZ2luYCxgY3Jvc3NvcmlnaW5gXSxbYGFjY2VudEhlaWdodGAsYGFjY2VudC1oZWlnaHRgXSxbYGFsaWdubWVudEJhc2VsaW5lYCxgYWxpZ25tZW50LWJhc2VsaW5lYF0sW2BhcmFiaWNGb3JtYCxgYXJhYmljLWZvcm1gXSxbYGJhc2VsaW5lU2hpZnRgLGBiYXNlbGluZS1zaGlmdGBdLFtgY2FwSGVpZ2h0YCxgY2FwLWhlaWdodGBdLFtgY2xpcFBhdGhgLGBjbGlwLXBhdGhgXSxbYGNsaXBSdWxlYCxgY2xpcC1ydWxlYF0sW2Bjb2xvckludGVycG9sYXRpb25gLGBjb2xvci1pbnRlcnBvbGF0aW9uYF0sW2Bjb2xvckludGVycG9sYXRpb25GaWx0ZXJzYCxgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzYF0sW2Bjb2xvclByb2ZpbGVgLGBjb2xvci1wcm9maWxlYF0sW2Bjb2xvclJlbmRlcmluZ2AsYGNvbG9yLXJlbmRlcmluZ2BdLFtgZG9taW5hbnRCYXNlbGluZWAsYGRvbWluYW50LWJhc2VsaW5lYF0sW2BlbmFibGVCYWNrZ3JvdW5kYCxgZW5hYmxlLWJhY2tncm91bmRgXSxbYGZpbGxPcGFjaXR5YCxgZmlsbC1vcGFjaXR5YF0sW2BmaWxsUnVsZWAsYGZpbGwtcnVsZWBdLFtgZmxvb2RDb2xvcmAsYGZsb29kLWNvbG9yYF0sW2BmbG9vZE9wYWNpdHlgLGBmbG9vZC1vcGFjaXR5YF0sW2Bmb250RmFtaWx5YCxgZm9udC1mYW1pbHlgXSxbYGZvbnRTaXplYCxgZm9udC1zaXplYF0sW2Bmb250U2l6ZUFkanVzdGAsYGZvbnQtc2l6ZS1hZGp1c3RgXSxbYGZvbnRTdHJldGNoYCxgZm9udC1zdHJldGNoYF0sW2Bmb250U3R5bGVgLGBmb250LXN0eWxlYF0sW2Bmb250VmFyaWFudGAsYGZvbnQtdmFyaWFudGBdLFtgZm9udFdlaWdodGAsYGZvbnQtd2VpZ2h0YF0sW2BnbHlwaE5hbWVgLGBnbHlwaC1uYW1lYF0sW2BnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbGAsYGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWxgXSxbYGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbGAsYGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsYF0sW2Bob3JpekFkdlhgLGBob3Jpei1hZHYteGBdLFtgaG9yaXpPcmlnaW5YYCxgaG9yaXotb3JpZ2luLXhgXSxbYGltYWdlUmVuZGVyaW5nYCxgaW1hZ2UtcmVuZGVyaW5nYF0sW2BsZXR0ZXJTcGFjaW5nYCxgbGV0dGVyLXNwYWNpbmdgXSxbYGxpZ2h0aW5nQ29sb3JgLGBsaWdodGluZy1jb2xvcmBdLFtgbWFya2VyRW5kYCxgbWFya2VyLWVuZGBdLFtgbWFya2VyTWlkYCxgbWFya2VyLW1pZGBdLFtgbWFya2VyU3RhcnRgLGBtYXJrZXItc3RhcnRgXSxbYG1hc2tUeXBlYCxgbWFzay10eXBlYF0sW2BvdmVybGluZVBvc2l0aW9uYCxgb3ZlcmxpbmUtcG9zaXRpb25gXSxbYG92ZXJsaW5lVGhpY2tuZXNzYCxgb3ZlcmxpbmUtdGhpY2tuZXNzYF0sW2BwYWludE9yZGVyYCxgcGFpbnQtb3JkZXJgXSxbYHBhbm9zZS0xYCxgcGFub3NlLTFgXSxbYHBvaW50ZXJFdmVudHNgLGBwb2ludGVyLWV2ZW50c2BdLFtgcmVuZGVyaW5nSW50ZW50YCxgcmVuZGVyaW5nLWludGVudGBdLFtgc2hhcGVSZW5kZXJpbmdgLGBzaGFwZS1yZW5kZXJpbmdgXSxbYHN0b3BDb2xvcmAsYHN0b3AtY29sb3JgXSxbYHN0b3BPcGFjaXR5YCxgc3RvcC1vcGFjaXR5YF0sW2BzdHJpa2V0aHJvdWdoUG9zaXRpb25gLGBzdHJpa2V0aHJvdWdoLXBvc2l0aW9uYF0sW2BzdHJpa2V0aHJvdWdoVGhpY2tuZXNzYCxgc3RyaWtldGhyb3VnaC10aGlja25lc3NgXSxbYHN0cm9rZURhc2hhcnJheWAsYHN0cm9rZS1kYXNoYXJyYXlgXSxbYHN0cm9rZURhc2hvZmZzZXRgLGBzdHJva2UtZGFzaG9mZnNldGBdLFtgc3Ryb2tlTGluZWNhcGAsYHN0cm9rZS1saW5lY2FwYF0sW2BzdHJva2VMaW5lam9pbmAsYHN0cm9rZS1saW5lam9pbmBdLFtgc3Ryb2tlTWl0ZXJsaW1pdGAsYHN0cm9rZS1taXRlcmxpbWl0YF0sW2BzdHJva2VPcGFjaXR5YCxgc3Ryb2tlLW9wYWNpdHlgXSxbYHN0cm9rZVdpZHRoYCxgc3Ryb2tlLXdpZHRoYF0sW2B0ZXh0QW5jaG9yYCxgdGV4dC1hbmNob3JgXSxbYHRleHREZWNvcmF0aW9uYCxgdGV4dC1kZWNvcmF0aW9uYF0sW2B0ZXh0UmVuZGVyaW5nYCxgdGV4dC1yZW5kZXJpbmdgXSxbYHRyYW5zZm9ybU9yaWdpbmAsYHRyYW5zZm9ybS1vcmlnaW5gXSxbYHVuZGVybGluZVBvc2l0aW9uYCxgdW5kZXJsaW5lLXBvc2l0aW9uYF0sW2B1bmRlcmxpbmVUaGlja25lc3NgLGB1bmRlcmxpbmUtdGhpY2tuZXNzYF0sW2B1bmljb2RlQmlkaWAsYHVuaWNvZGUtYmlkaWBdLFtgdW5pY29kZVJhbmdlYCxgdW5pY29kZS1yYW5nZWBdLFtgdW5pdHNQZXJFbWAsYHVuaXRzLXBlci1lbWBdLFtgdkFscGhhYmV0aWNgLGB2LWFscGhhYmV0aWNgXSxbYHZIYW5naW5nYCxgdi1oYW5naW5nYF0sW2B2SWRlb2dyYXBoaWNgLGB2LWlkZW9ncmFwaGljYF0sW2B2TWF0aGVtYXRpY2FsYCxgdi1tYXRoZW1hdGljYWxgXSxbYHZlY3RvckVmZmVjdGAsYHZlY3Rvci1lZmZlY3RgXSxbYHZlcnRBZHZZYCxgdmVydC1hZHYteWBdLFtgdmVydE9yaWdpblhgLGB2ZXJ0LW9yaWdpbi14YF0sW2B2ZXJ0T3JpZ2luWWAsYHZlcnQtb3JpZ2luLXlgXSxbYHdvcmRTcGFjaW5nYCxgd29yZC1zcGFjaW5nYF0sW2B3cml0aW5nTW9kZWAsYHdyaXRpbmctbW9kZWBdLFtgeG1sbnNYbGlua2AsYHhtbG5zOnhsaW5rYF0sW2B4SGVpZ2h0YCxgeC1oZWlnaHRgXV0pLHduPS9eW1x1MDAwMC1cdTAwMUYgXSpqW1xyXG5cdF0qYVtcclxuXHRdKnZbXHJcblx0XSphW1xyXG5cdF0qc1tcclxuXHRdKmNbXHJcblx0XSpyW1xyXG5cdF0qaVtcclxuXHRdKnBbXHJcblx0XSp0W1xyXG5cdF0qOi9pO2Z1bmN0aW9uIFRuKGUpe3JldHVybiB3bi50ZXN0KGBgK2UpP2BqYXZhc2NyaXB0OnRocm93IG5ldyBFcnJvcignUmVhY3QgaGFzIGJsb2NrZWQgYSBqYXZhc2NyaXB0OiBVUkwgYXMgYSBzZWN1cml0eSBwcmVjYXV0aW9uLicpYDplfWZ1bmN0aW9uIEVuKCl7fXZhciBEbj1udWxsO2Z1bmN0aW9uIE9uKGUpe3JldHVybiBlPWUudGFyZ2V0fHxlLnNyY0VsZW1lbnR8fHdpbmRvdyxlLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSxlLm5vZGVUeXBlPT09Mz9lLnBhcmVudE5vZGU6ZX12YXIga249bnVsbCxBbj1udWxsO2Z1bmN0aW9uIGpuKGUpe3ZhciB0PVZ0KGUpO2lmKHQmJihlPXQuc3RhdGVOb2RlKSl7dmFyIG49ZVtqdF18fG51bGw7YTpzd2l0Y2goZT10LnN0YXRlTm9kZSx0LnR5cGUpe2Nhc2VgaW5wdXRgOmlmKGZuKGUsbi52YWx1ZSxuLmRlZmF1bHRWYWx1ZSxuLmRlZmF1bHRWYWx1ZSxuLmNoZWNrZWQsbi5kZWZhdWx0Q2hlY2tlZCxuLnR5cGUsbi5uYW1lKSx0PW4ubmFtZSxuLnR5cGU9PT1gcmFkaW9gJiZ0IT1udWxsKXtmb3Iobj1lO24ucGFyZW50Tm9kZTspbj1uLnBhcmVudE5vZGU7Zm9yKG49bi5xdWVyeVNlbGVjdG9yQWxsKGBpbnB1dFtuYW1lPSJgK2RuKGBgK3QpK2AiXVt0eXBlPSJyYWRpbyJdYCksdD0wO3Q8bi5sZW5ndGg7dCsrKXt2YXIgcj1uW3RdO2lmKHIhPT1lJiZyLmZvcm09PT1lLmZvcm0pe3ZhciBhPXJbanRdfHxudWxsO2lmKCFhKXRocm93IEVycm9yKGkoOTApKTtmbihyLGEudmFsdWUsYS5kZWZhdWx0VmFsdWUsYS5kZWZhdWx0VmFsdWUsYS5jaGVja2VkLGEuZGVmYXVsdENoZWNrZWQsYS50eXBlLGEubmFtZSl9fWZvcih0PTA7dDxuLmxlbmd0aDt0Kyspcj1uW3RdLHIuZm9ybT09PWUuZm9ybSYmbG4ocil9YnJlYWsgYTtjYXNlYHRleHRhcmVhYDpnbihlLG4udmFsdWUsbi5kZWZhdWx0VmFsdWUpO2JyZWFrIGE7Y2FzZWBzZWxlY3RgOnQ9bi52YWx1ZSx0IT1udWxsJiZobihlLCEhbi5tdWx0aXBsZSx0LCExKX19fXZhciBNbj0hMTtmdW5jdGlvbiBObihlLHQsbil7aWYoTW4pcmV0dXJuIGUodCxuKTtNbj0hMDt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXtpZihNbj0hMSwoa24hPT1udWxsfHxBbiE9PW51bGwpJiYoemQoKSxrbiYmKHQ9a24sZT1BbixBbj1rbj1udWxsLGpuKHQpLGUpKSlmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWpuKGVbdF0pfX1mdW5jdGlvbiBQbihlLHQpe3ZhciBuPWUuc3RhdGVOb2RlO2lmKG49PT1udWxsKXJldHVybiBudWxsO3ZhciByPW5banRdfHxudWxsO2lmKHI9PT1udWxsKXJldHVybiBudWxsO249clt0XTthOnN3aXRjaCh0KXtjYXNlYG9uQ2xpY2tgOmNhc2Vgb25DbGlja0NhcHR1cmVgOmNhc2Vgb25Eb3VibGVDbGlja2A6Y2FzZWBvbkRvdWJsZUNsaWNrQ2FwdHVyZWA6Y2FzZWBvbk1vdXNlRG93bmA6Y2FzZWBvbk1vdXNlRG93bkNhcHR1cmVgOmNhc2Vgb25Nb3VzZU1vdmVgOmNhc2Vgb25Nb3VzZU1vdmVDYXB0dXJlYDpjYXNlYG9uTW91c2VVcGA6Y2FzZWBvbk1vdXNlVXBDYXB0dXJlYDpjYXNlYG9uTW91c2VFbnRlcmA6KHI9IXIuZGlzYWJsZWQpfHwoZT1lLnR5cGUscj1lIT09YGJ1dHRvbmAmJmUhPT1gaW5wdXRgJiZlIT09YHNlbGVjdGAmJmUhPT1gdGV4dGFyZWFgKSxlPSFyO2JyZWFrIGE7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYobiYmdHlwZW9mIG4hPWBmdW5jdGlvbmApdGhyb3cgRXJyb3IoaSgyMzEsdCx0eXBlb2YgbikpO3JldHVybiBufXZhciBGbj10eXBlb2Ygd2luZG93PGB1YCYmd2luZG93LmRvY3VtZW50IT09dm9pZCAwJiZ3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCE9PXZvaWQgMCxJbj0hMTtpZihGbil0cnl7dmFyIExuPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShMbiwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0luPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGB0ZXN0YCxMbixMbiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoYHRlc3RgLExuLExuKX1jYXRjaHtJbj0hMX12YXIgUm49bnVsbCx6bj1udWxsLEJuPW51bGw7ZnVuY3Rpb24gVm4oKXtpZihCbilyZXR1cm4gQm47dmFyIGUsdD16bixuPXQubGVuZ3RoLHIsaT1gdmFsdWVgaW4gUm4_Um4udmFsdWU6Um4udGV4dENvbnRlbnQsYT1pLmxlbmd0aDtmb3IoZT0wO2U8biYmdFtlXT09PWlbZV07ZSsrKTt2YXIgbz1uLWU7Zm9yKHI9MTtyPD1vJiZ0W24tcl09PT1pW2Etcl07cisrKTtyZXR1cm4gQm49aS5zbGljZShlLDE8cj8xLXI6dm9pZCAwKX1mdW5jdGlvbiBIbihlKXt2YXIgdD1lLmtleUNvZGU7cmV0dXJuYGNoYXJDb2RlYGluIGU_KGU9ZS5jaGFyQ29kZSxlPT09MCYmdD09PTEzJiYoZT0xMykpOmU9dCxlPT09MTAmJihlPTEzKSwzMjw9ZXx8ZT09PTEzP2U6MH1mdW5jdGlvbiBVbigpe3JldHVybiEwfWZ1bmN0aW9uIFduKCl7cmV0dXJuITF9ZnVuY3Rpb24gR24oZSl7ZnVuY3Rpb24gdCh0LG4scixpLGEpe2Zvcih2YXIgbyBpbiB0aGlzLl9yZWFjdE5hbWU9dCx0aGlzLl90YXJnZXRJbnN0PXIsdGhpcy50eXBlPW4sdGhpcy5uYXRpdmVFdmVudD1pLHRoaXMudGFyZ2V0PWEsdGhpcy5jdXJyZW50VGFyZ2V0PW51bGwsZSllLmhhc093blByb3BlcnR5KG8pJiYodD1lW29dLHRoaXNbb109dD90KGkpOmlbb10pO3JldHVybiB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD0oaS5kZWZhdWx0UHJldmVudGVkPT1udWxsPyExPT09aS5yZXR1cm5WYWx1ZTppLmRlZmF1bHRQcmV2ZW50ZWQpP1VuOlduLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9V24sdGhpc31yZXR1cm4gdyh0LnByb3RvdHlwZSx7cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITA7dmFyIGU9dGhpcy5uYXRpdmVFdmVudDtlJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6dHlwZW9mIGUucmV0dXJuVmFsdWUhPWB1bmtub3duYCYmKGUucmV0dXJuVmFsdWU9ITEpLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPVVuKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5uYXRpdmVFdmVudDtlJiYoZS5zdG9wUHJvcGFnYXRpb24_ZS5zdG9wUHJvcGFnYXRpb24oKTp0eXBlb2YgZS5jYW5jZWxCdWJibGUhPWB1bmtub3duYCYmKGUuY2FuY2VsQnViYmxlPSEwKSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPVVuKX0scGVyc2lzdDpmdW5jdGlvbigpe30saXNQZXJzaXN0ZW50OlVufSksdH12YXIgS249e2V2ZW50UGhhc2U6MCxidWJibGVzOjAsY2FuY2VsYWJsZTowLHRpbWVTdGFtcDpmdW5jdGlvbihlKXtyZXR1cm4gZS50aW1lU3RhbXB8fERhdGUubm93KCl9LGRlZmF1bHRQcmV2ZW50ZWQ6MCxpc1RydXN0ZWQ6MH0scW49R24oS24pLEpuPXcoe30sS24se3ZpZXc6MCxkZXRhaWw6MH0pLFluPUduKEpuKSxYbixabixRbiwkbj13KHt9LEpuLHtzY3JlZW5YOjAsc2NyZWVuWTowLGNsaWVudFg6MCxjbGllbnRZOjAscGFnZVg6MCxwYWdlWTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxnZXRNb2RpZmllclN0YXRlOnVyLGJ1dHRvbjowLGJ1dHRvbnM6MCxyZWxhdGVkVGFyZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlbGF0ZWRUYXJnZXQ9PT12b2lkIDA_ZS5mcm9tRWxlbWVudD09PWUuc3JjRWxlbWVudD9lLnRvRWxlbWVudDplLmZyb21FbGVtZW50OmUucmVsYXRlZFRhcmdldH0sbW92ZW1lbnRYOmZ1bmN0aW9uKGUpe3JldHVybmBtb3ZlbWVudFhgaW4gZT9lLm1vdmVtZW50WDooZSE9PVFuJiYoUW4mJmUudHlwZT09PWBtb3VzZW1vdmVgPyhYbj1lLnNjcmVlblgtUW4uc2NyZWVuWCxabj1lLnNjcmVlblktUW4uc2NyZWVuWSk6Wm49WG49MCxRbj1lKSxYbil9LG1vdmVtZW50WTpmdW5jdGlvbihlKXtyZXR1cm5gbW92ZW1lbnRZYGluIGU_ZS5tb3ZlbWVudFk6Wm59fSksZXI9R24oJG4pLHRyPUduKHcoe30sJG4se2RhdGFUcmFuc2ZlcjowfSkpLG5yPUduKHcoe30sSm4se3JlbGF0ZWRUYXJnZXQ6MH0pKSxycj1Hbih3KHt9LEtuLHthbmltYXRpb25OYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSksaXI9R24odyh7fSxLbix7Y2xpcGJvYXJkRGF0YTpmdW5jdGlvbihlKXtyZXR1cm5gY2xpcGJvYXJkRGF0YWBpbiBlP2UuY2xpcGJvYXJkRGF0YTp3aW5kb3cuY2xpcGJvYXJkRGF0YX19KSksYXI9R24odyh7fSxLbix7ZGF0YTowfSkpLG9yPXtFc2M6YEVzY2FwZWAsU3BhY2ViYXI6YCBgLExlZnQ6YEFycm93TGVmdGAsVXA6YEFycm93VXBgLFJpZ2h0OmBBcnJvd1JpZ2h0YCxEb3duOmBBcnJvd0Rvd25gLERlbDpgRGVsZXRlYCxXaW46YE9TYCxNZW51OmBDb250ZXh0TWVudWAsQXBwczpgQ29udGV4dE1lbnVgLFNjcm9sbDpgU2Nyb2xsTG9ja2AsTW96UHJpbnRhYmxlS2V5OmBVbmlkZW50aWZpZWRgfSxzcj17ODpgQmFja3NwYWNlYCw5OmBUYWJgLDEyOmBDbGVhcmAsMTM6YEVudGVyYCwxNjpgU2hpZnRgLDE3OmBDb250cm9sYCwxODpgQWx0YCwxOTpgUGF1c2VgLDIwOmBDYXBzTG9ja2AsMjc6YEVzY2FwZWAsMzI6YCBgLDMzOmBQYWdlVXBgLDM0OmBQYWdlRG93bmAsMzU6YEVuZGAsMzY6YEhvbWVgLDM3OmBBcnJvd0xlZnRgLDM4OmBBcnJvd1VwYCwzOTpgQXJyb3dSaWdodGAsNDA6YEFycm93RG93bmAsNDU6YEluc2VydGAsNDY6YERlbGV0ZWAsMTEyOmBGMWAsMTEzOmBGMmAsMTE0OmBGM2AsMTE1OmBGNGAsMTE2OmBGNWAsMTE3OmBGNmAsMTE4OmBGN2AsMTE5OmBGOGAsMTIwOmBGOWAsMTIxOmBGMTBgLDEyMjpgRjExYCwxMjM6YEYxMmAsMTQ0OmBOdW1Mb2NrYCwxNDU6YFNjcm9sbExvY2tgLDIyNDpgTWV0YWB9LGNyPXtBbHQ6YGFsdEtleWAsQ29udHJvbDpgY3RybEtleWAsTWV0YTpgbWV0YUtleWAsU2hpZnQ6YHNoaWZ0S2V5YH07ZnVuY3Rpb24gbHIoZSl7dmFyIHQ9dGhpcy5uYXRpdmVFdmVudDtyZXR1cm4gdC5nZXRNb2RpZmllclN0YXRlP3QuZ2V0TW9kaWZpZXJTdGF0ZShlKTooZT1jcltlXSk_ISF0W2VdOiExfWZ1bmN0aW9uIHVyKCl7cmV0dXJuIGxyfXZhciBkcj1Hbih3KHt9LEpuLHtrZXk6ZnVuY3Rpb24oZSl7aWYoZS5rZXkpe3ZhciB0PW9yW2Uua2V5XXx8ZS5rZXk7aWYodCE9PWBVbmlkZW50aWZpZWRgKXJldHVybiB0fXJldHVybiBlLnR5cGU9PT1ga2V5cHJlc3NgPyhlPUhuKGUpLGU9PT0xMz9gRW50ZXJgOlN0cmluZy5mcm9tQ2hhckNvZGUoZSkpOmUudHlwZT09PWBrZXlkb3duYHx8ZS50eXBlPT09YGtleXVwYD9zcltlLmtleUNvZGVdfHxgVW5pZGVudGlmaWVkYDpgYH0sY29kZTowLGxvY2F0aW9uOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLHJlcGVhdDowLGxvY2FsZTowLGdldE1vZGlmaWVyU3RhdGU6dXIsY2hhckNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PWBrZXlwcmVzc2A_SG4oZSk6MH0sa2V5Q29kZTpmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09YGtleWRvd25gfHxlLnR5cGU9PT1ga2V5dXBgP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09YGtleXByZXNzYD9IbihlKTplLnR5cGU9PT1ga2V5ZG93bmB8fGUudHlwZT09PWBrZXl1cGA_ZS5rZXlDb2RlOjB9fSkpLGZyPUduKHcoe30sJG4se3BvaW50ZXJJZDowLHdpZHRoOjAsaGVpZ2h0OjAscHJlc3N1cmU6MCx0YW5nZW50aWFsUHJlc3N1cmU6MCx0aWx0WDowLHRpbHRZOjAsdHdpc3Q6MCxwb2ludGVyVHlwZTowLGlzUHJpbWFyeTowfSkpLHByPUduKHcoe30sS24se3N1Ym1pdHRlcjowfSkpLG1yPUduKHcoe30sSm4se3RvdWNoZXM6MCx0YXJnZXRUb3VjaGVzOjAsY2hhbmdlZFRvdWNoZXM6MCxhbHRLZXk6MCxtZXRhS2V5OjAsY3RybEtleTowLHNoaWZ0S2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTp1cn0pKSxocj1Hbih3KHt9LEtuLHtwcm9wZXJ0eU5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pKSxncj1Hbih3KHt9LCRuLHtkZWx0YVg6ZnVuY3Rpb24oZSl7cmV0dXJuYGRlbHRhWGBpbiBlP2UuZGVsdGFYOmB3aGVlbERlbHRhWGBpbiBlPy1lLndoZWVsRGVsdGFYOjB9LGRlbHRhWTpmdW5jdGlvbihlKXtyZXR1cm5gZGVsdGFZYGluIGU_ZS5kZWx0YVk6YHdoZWVsRGVsdGFZYGluIGU_LWUud2hlZWxEZWx0YVk6YHdoZWVsRGVsdGFgaW4gZT8tZS53aGVlbERlbHRhOjB9LGRlbHRhWjowLGRlbHRhTW9kZTowfSkpLF9yPUduKHcoe30sS24se25ld1N0YXRlOjAsb2xkU3RhdGU6MCxzb3VyY2U6MH0pKSx2cj1bOSwxMywyNywzMl0seXI9Rm4mJmBDb21wb3NpdGlvbkV2ZW50YGluIHdpbmRvdyxicj1udWxsO0ZuJiZgZG9jdW1lbnRNb2RlYGluIGRvY3VtZW50JiYoYnI9ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKTt2YXIgeHI9Rm4mJmBUZXh0RXZlbnRgaW4gd2luZG93JiYhYnIsU3I9Rm4mJigheXJ8fGJyJiY4PGJyJiYxMT49YnIpLENyPWAgYCx3cj0hMTtmdW5jdGlvbiBUcihlLHQpe3N3aXRjaChlKXtjYXNlYGtleXVwYDpyZXR1cm4gdnIuaW5kZXhPZih0LmtleUNvZGUpIT09LTE7Y2FzZWBrZXlkb3duYDpyZXR1cm4gdC5rZXlDb2RlIT09MjI5O2Nhc2Vga2V5cHJlc3NgOmNhc2VgbW91c2Vkb3duYDpjYXNlYGZvY3Vzb3V0YDpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBFcihlKXtyZXR1cm4gZT1lLmRldGFpbCx0eXBlb2YgZT09YG9iamVjdGAmJmBkYXRhYGluIGU_ZS5kYXRhOm51bGx9dmFyIERyPSExO2Z1bmN0aW9uIE9yKGUsdCl7c3dpdGNoKGUpe2Nhc2VgY29tcG9zaXRpb25lbmRgOnJldHVybiBFcih0KTtjYXNlYGtleXByZXNzYDpyZXR1cm4gdC53aGljaD09PTMyPyh3cj0hMCxDcik6bnVsbDtjYXNlYHRleHRJbnB1dGA6cmV0dXJuIGU9dC5kYXRhLGU9PT1DciYmd3I_bnVsbDplO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIGtyKGUsdCl7aWYoRHIpcmV0dXJuIGU9PT1gY29tcG9zaXRpb25lbmRgfHwheXImJlRyKGUsdCk_KGU9Vm4oKSxCbj16bj1Sbj1udWxsLERyPSExLGUpOm51bGw7c3dpdGNoKGUpe2Nhc2VgcGFzdGVgOnJldHVybiBudWxsO2Nhc2Vga2V5cHJlc3NgOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2VgY29tcG9zaXRpb25lbmRgOnJldHVybiBTciYmdC5sb2NhbGUhPT1ga29gP251bGw6dC5kYXRhO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXZhciBBcj17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24ganIoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09YGlucHV0YD8hIUFyW2UudHlwZV06dD09PWB0ZXh0YXJlYWB9ZnVuY3Rpb24gTXIoZSx0LG4scil7a24_QW4_QW4ucHVzaChyKTpBbj1bcl06a249cix0PUpmKHQsYG9uQ2hhbmdlYCksMDx0Lmxlbmd0aCYmKG49bmV3IHFuKGBvbkNoYW5nZWAsYGNoYW5nZWAsbnVsbCxuLHIpLGUucHVzaCh7ZXZlbnQ6bixsaXN0ZW5lcnM6dH0pKX12YXIgTnI9bnVsbCxQcj1udWxsO2Z1bmN0aW9uIEZyKGUpe1ZmKGUsMCl9ZnVuY3Rpb24gTShlKXtpZihsbihIdChlKSkpcmV0dXJuIGV9ZnVuY3Rpb24gSXIoZSx0KXtpZihlPT09YGNoYW5nZWApcmV0dXJuIHR9dmFyIExyPSExO2lmKEZuKXt2YXIgUnI7aWYoRm4pe3ZhciB6cj1gb25pbnB1dGBpbiBkb2N1bWVudDtpZighenIpe3ZhciBCcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBkaXZgKTtCci5zZXRBdHRyaWJ1dGUoYG9uaW5wdXRgLGByZXR1cm47YCksenI9dHlwZW9mIEJyLm9uaW5wdXQ9PWBmdW5jdGlvbmB9UnI9enJ9ZWxzZSBScj0hMTtMcj1SciYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fDk8ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKX1mdW5jdGlvbiBWcigpe05yJiYoTnIuZGV0YWNoRXZlbnQoYG9ucHJvcGVydHljaGFuZ2VgLEhyKSxQcj1Ocj1udWxsKX1mdW5jdGlvbiBIcihlKXtpZihlLnByb3BlcnR5TmFtZT09PWB2YWx1ZWAmJk0oUHIpKXt2YXIgdD1bXTtNcih0LFByLGUsT24oZSkpLE5uKEZyLHQpfX1mdW5jdGlvbiBVcihlLHQsbil7ZT09PWBmb2N1c2luYD8oVnIoKSxOcj10LFByPW4sTnIuYXR0YWNoRXZlbnQoYG9ucHJvcGVydHljaGFuZ2VgLEhyKSk6ZT09PWBmb2N1c291dGAmJlZyKCl9ZnVuY3Rpb24gV3IoZSl7aWYoZT09PWBzZWxlY3Rpb25jaGFuZ2VgfHxlPT09YGtleXVwYHx8ZT09PWBrZXlkb3duYClyZXR1cm4gTShQcil9ZnVuY3Rpb24gR3IoZSx0KXtpZihlPT09YGNsaWNrYClyZXR1cm4gTSh0KX1mdW5jdGlvbiBLcihlLHQpe2lmKGU9PT1gaW5wdXRgfHxlPT09YGNoYW5nZWApcmV0dXJuIE0odCl9ZnVuY3Rpb24gcXIoZSx0KXtyZXR1cm4gZT09PXQmJihlIT09MHx8MS9lPT0xL3QpfHxlIT09ZSYmdCE9PXR9dmFyIEpyPXR5cGVvZiBPYmplY3QuaXM9PWBmdW5jdGlvbmA_T2JqZWN0LmlzOnFyO2Z1bmN0aW9uIFlyKGUsdCl7aWYoSnIoZSx0KSlyZXR1cm4hMDtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHx0eXBlb2YgdCE9YG9iamVjdGB8fCF0KXJldHVybiExO3ZhciBuPU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXModCk7aWYobi5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1uW3JdO2lmKCFVZS5jYWxsKHQsaSl8fCFKcihlW2ldLHRbaV0pKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIFhyKGUpe2lmKGV8fD10eXBlb2YgZG9jdW1lbnQ8YHVgP2RvY3VtZW50OnZvaWQgMCxlPT09dm9pZCAwKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2h7cmV0dXJuIGUuYm9keX19ZnVuY3Rpb24gWnIoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIFFyKGUsdCl7dmFyIG49WnIoZSk7ZT0wO2Zvcih2YXIgcjtuOyl7aWYobi5ub2RlVHlwZT09PTMpe2lmKHI9ZStuLnRleHRDb250ZW50Lmxlbmd0aCxlPD10JiZyPj10KXJldHVybntub2RlOm4sb2Zmc2V0OnQtZX07ZT1yfWE6e2Zvcig7bjspe2lmKG4ubmV4dFNpYmxpbmcpe249bi5uZXh0U2libGluZzticmVhayBhfW49bi5wYXJlbnROb2RlfW49dm9pZCAwfW49WnIobil9fWZ1bmN0aW9uICRyKGUsdCl7cmV0dXJuIGUmJnQ_ZT09PXQ_ITA6ZSYmZS5ub2RlVHlwZT09PTM_ITE6dCYmdC5ub2RlVHlwZT09PTM_JHIoZSx0LnBhcmVudE5vZGUpOmBjb250YWluc2BpbiBlP2UuY29udGFpbnModCk6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8hIShlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJjE2KTohMTohMX1mdW5jdGlvbiBlaShlKXtlPWUhPW51bGwmJmUub3duZXJEb2N1bWVudCE9bnVsbCYmZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IT1udWxsP2Uub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldzp3aW5kb3c7Zm9yKHZhciB0PVhyKGUuZG9jdW1lbnQpO3QgaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciBuPXR5cGVvZiB0LmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZj09YHN0cmluZ2B9Y2F0Y2h7bj0hMX1pZihuKWU9dC5jb250ZW50V2luZG93O2Vsc2UgYnJlYWs7dD1YcihlLmRvY3VtZW50KX1yZXR1cm4gdH1mdW5jdGlvbiB0aShlKXt2YXIgdD1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQmJih0PT09YGlucHV0YCYmKGUudHlwZT09PWB0ZXh0YHx8ZS50eXBlPT09YHNlYXJjaGB8fGUudHlwZT09PWB0ZWxgfHxlLnR5cGU9PT1gdXJsYHx8ZS50eXBlPT09YHBhc3N3b3JkYCl8fHQ9PT1gdGV4dGFyZWFgfHxlLmNvbnRlbnRFZGl0YWJsZT09PWB0cnVlYCl9dmFyIG5pPUZuJiZgZG9jdW1lbnRNb2RlYGluIGRvY3VtZW50JiYxMT49ZG9jdW1lbnQuZG9jdW1lbnRNb2RlLHJpPW51bGwsaWk9bnVsbCxhaT1udWxsLG9pPSExO2Z1bmN0aW9uIHNpKGUsdCxuKXt2YXIgcj1uLndpbmRvdz09PW4_bi5kb2N1bWVudDpuLm5vZGVUeXBlPT09OT9uOm4ub3duZXJEb2N1bWVudDtvaXx8cmk9PW51bGx8fHJpIT09WHIocil8fChyPXJpLGBzZWxlY3Rpb25TdGFydGBpbiByJiZ0aShyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZH06KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpLHI9e2FuY2hvck5vZGU6ci5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0pLGFpJiZZcihhaSxyKXx8KGFpPXIscj1KZihpaSxgb25TZWxlY3RgKSwwPHIubGVuZ3RoJiYodD1uZXcgcW4oYG9uU2VsZWN0YCxgc2VsZWN0YCxudWxsLHQsbiksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpyfSksdC50YXJnZXQ9cmkpKSl9ZnVuY3Rpb24gY2koZSx0KXt2YXIgbj17fTtyZXR1cm4gbltlLnRvTG93ZXJDYXNlKCldPXQudG9Mb3dlckNhc2UoKSxuW2BXZWJraXRgK2VdPWB3ZWJraXRgK3QsbltgTW96YCtlXT1gbW96YCt0LG59dmFyIGxpPXthbmltYXRpb25lbmQ6Y2koYEFuaW1hdGlvbmAsYEFuaW1hdGlvbkVuZGApLGFuaW1hdGlvbml0ZXJhdGlvbjpjaShgQW5pbWF0aW9uYCxgQW5pbWF0aW9uSXRlcmF0aW9uYCksYW5pbWF0aW9uc3RhcnQ6Y2koYEFuaW1hdGlvbmAsYEFuaW1hdGlvblN0YXJ0YCksdHJhbnNpdGlvbnJ1bjpjaShgVHJhbnNpdGlvbmAsYFRyYW5zaXRpb25SdW5gKSx0cmFuc2l0aW9uc3RhcnQ6Y2koYFRyYW5zaXRpb25gLGBUcmFuc2l0aW9uU3RhcnRgKSx0cmFuc2l0aW9uY2FuY2VsOmNpKGBUcmFuc2l0aW9uYCxgVHJhbnNpdGlvbkNhbmNlbGApLHRyYW5zaXRpb25lbmQ6Y2koYFRyYW5zaXRpb25gLGBUcmFuc2l0aW9uRW5kYCl9LHVpPXt9LGRpPXt9O0ZuJiYoZGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgZGl2YCkuc3R5bGUsYEFuaW1hdGlvbkV2ZW50YGluIHdpbmRvd3x8KGRlbGV0ZSBsaS5hbmltYXRpb25lbmQuYW5pbWF0aW9uLGRlbGV0ZSBsaS5hbmltYXRpb25pdGVyYXRpb24uYW5pbWF0aW9uLGRlbGV0ZSBsaS5hbmltYXRpb25zdGFydC5hbmltYXRpb24pLGBUcmFuc2l0aW9uRXZlbnRgaW4gd2luZG93fHxkZWxldGUgbGkudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uKTtmdW5jdGlvbiBmaShlKXtpZih1aVtlXSlyZXR1cm4gdWlbZV07aWYoIWxpW2VdKXJldHVybiBlO3ZhciB0PWxpW2VdLG47Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIGRpKXJldHVybiB1aVtlXT10W25dO3JldHVybiBlfXZhciBwaT1maShgYW5pbWF0aW9uZW5kYCksbWk9ZmkoYGFuaW1hdGlvbml0ZXJhdGlvbmApLGhpPWZpKGBhbmltYXRpb25zdGFydGApLGdpPWZpKGB0cmFuc2l0aW9ucnVuYCksX2k9ZmkoYHRyYW5zaXRpb25zdGFydGApLHZpPWZpKGB0cmFuc2l0aW9uY2FuY2VsYCkseWk9ZmkoYHRyYW5zaXRpb25lbmRgKSxiaT1uZXcgTWFwLHhpPWBhYm9ydCBhdXhDbGljayBiZWZvcmVUb2dnbGUgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZnVsbHNjcmVlbkNoYW5nZSBmdWxsc2NyZWVuRXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWxgLnNwbGl0KGAgYCk7eGkucHVzaChgc2Nyb2xsRW5kYCk7ZnVuY3Rpb24gU2koZSx0KXtiaS5zZXQoZSx0KSxKdCh0LFtlXSl9dmFyIENpPTA7ZnVuY3Rpb24gd2koZSx0KXtpZihlLm5hbWUhPW51bGwmJmUubmFtZSE9PWBhdXRvYClyZXR1cm4gZS5uYW1lO2lmKHQuYXV0b05hbWUhPT1udWxsKXJldHVybiB0LmF1dG9OYW1lO2U9YmQuaWRlbnRpZmllclByZWZpeDt2YXIgbj1DaSsrO3JldHVybiBlPWBfYCtlK2B0X2Arbi50b1N0cmluZygzMikrYF9gLHQuYXV0b05hbWU9ZX1mdW5jdGlvbiBUaShlKXtpZihlPT1udWxsfHx0eXBlb2YgZT09YHN0cmluZ2ApcmV0dXJuIGU7dmFyIHQ9bnVsbCxuPU9kO2lmKG4hPT1udWxsKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1lW25bcl1dO2lmKGkhPW51bGwpe2lmKGk9PT1gbm9uZWApcmV0dXJuYG5vbmVgO3Q9dD09bnVsbD9pOnQrKGAgYCtpKX19cmV0dXJuIHQ_P2UuZGVmYXVsdH1mdW5jdGlvbiBFaShlLHQpe3JldHVybiBlPVRpKGUpLHQ9VGkodCksdD09bnVsbD9lPT09YGF1dG9gP251bGw6ZTp0PT09YGF1dG9gP251bGw6dH12YXIgRGk9dHlwZW9mIHJlcG9ydEVycm9yPT1gZnVuY3Rpb25gP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2lmKHR5cGVvZiB3aW5kb3c9PWBvYmplY3RgJiZ0eXBlb2Ygd2luZG93LkVycm9yRXZlbnQ9PWBmdW5jdGlvbmApe3ZhciB0PW5ldyB3aW5kb3cuRXJyb3JFdmVudChgZXJyb3JgLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZTp0eXBlb2YgZT09YG9iamVjdGAmJmUmJnR5cGVvZiBlLm1lc3NhZ2U9PWBzdHJpbmdgP1N0cmluZyhlLm1lc3NhZ2UpOlN0cmluZyhlKSxlcnJvcjplfSk7aWYoIXdpbmRvdy5kaXNwYXRjaEV2ZW50KHQpKXJldHVybn1lbHNlIGlmKHR5cGVvZiBwcm9jZXNzPT1gb2JqZWN0YCYmdHlwZW9mIHByb2Nlc3MuZW1pdD09YGZ1bmN0aW9uYCl7cHJvY2Vzcy5lbWl0KGB1bmNhdWdodEV4Y2VwdGlvbmAsZSk7cmV0dXJufWNvbnNvbGUuZXJyb3IoZSl9LE9pPVtdLGtpPTAsQWk9MDtmdW5jdGlvbiBqaSgpe2Zvcih2YXIgZT1raSx0PUFpPWtpPTA7dDxlOyl7dmFyIG49T2lbdF07T2lbdCsrXT1udWxsO3ZhciByPU9pW3RdO09pW3QrK109bnVsbDt2YXIgaT1PaVt0XTtPaVt0KytdPW51bGw7dmFyIGE9T2lbdF07aWYoT2lbdCsrXT1udWxsLHIhPT1udWxsJiZpIT09bnVsbCl7dmFyIG89ci5wZW5kaW5nO289PT1udWxsP2kubmV4dD1pOihpLm5leHQ9by5uZXh0LG8ubmV4dD1pKSxyLnBlbmRpbmc9aX1hIT09MCYmRmkobixpLGEpfX1mdW5jdGlvbiBNaShlLHQsbixyKXtPaVtraSsrXT1lLE9pW2tpKytdPXQsT2lba2krK109bixPaVtraSsrXT1yLEFpfD1yLGUubGFuZXN8PXIsZT1lLmFsdGVybmF0ZSxlIT09bnVsbCYmKGUubGFuZXN8PXIpfWZ1bmN0aW9uIE5pKGUsdCxuLHIpe3JldHVybiBNaShlLHQsbixyKSxJaShlKX1mdW5jdGlvbiBQaShlLHQpe3JldHVybiBNaShlLG51bGwsbnVsbCx0KSxJaShlKX1mdW5jdGlvbiBGaShlLHQsbil7ZS5sYW5lc3w9bjt2YXIgcj1lLmFsdGVybmF0ZTtyIT09bnVsbCYmKHIubGFuZXN8PW4pO2Zvcih2YXIgaT0hMSxhPWUucmV0dXJuO2EhPT1udWxsOylhLmNoaWxkTGFuZXN8PW4scj1hLmFsdGVybmF0ZSxyIT09bnVsbCYmKHIuY2hpbGRMYW5lc3w9biksYS50YWc9PT0yMiYmKGU9YS5zdGF0ZU5vZGUsZT09PW51bGx8fGUuX3Zpc2liaWxpdHkmMXx8KGk9ITApKSxlPWEsYT1hLnJldHVybjtyZXR1cm4gZS50YWc9PT0zPyhhPWUuc3RhdGVOb2RlLGkmJnQhPT1udWxsJiYoaT0zMS1vdChuKSxlPWEuaGlkZGVuVXBkYXRlcyxyPWVbaV0scj09PW51bGw_ZVtpXT1bdF06ci5wdXNoKHQpLHQubGFuZT1ufDUzNjg3MDkxMiksYSk6bnVsbH1mdW5jdGlvbiBJaShlKXtpZig1MDxrZCl0aHJvdyBrZD0wLEFkPW51bGwsRXJyb3IoaSgxODUpKTtmb3IodmFyIHQ9ZS5yZXR1cm47dCE9PW51bGw7KWU9dCx0PWUucmV0dXJuO3JldHVybiBlLnRhZz09PTM_ZS5zdGF0ZU5vZGU6bnVsbH12YXIgTGk9e307ZnVuY3Rpb24gUmkoZSx0LG4scil7dGhpcy50YWc9ZSx0aGlzLmtleT1uLHRoaXMuc2libGluZz10aGlzLmNoaWxkPXRoaXMucmV0dXJuPXRoaXMuc3RhdGVOb2RlPXRoaXMudHlwZT10aGlzLmVsZW1lbnRUeXBlPW51bGwsdGhpcy5pbmRleD0wLHRoaXMucmVmQ2xlYW51cD10aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPXIsdGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wLHRoaXMuZGVsZXRpb25zPW51bGwsdGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIHppKGUsdCxuLHIpe3JldHVybiBuZXcgUmkoZSx0LG4scil9ZnVuY3Rpb24gQmkoZSl7cmV0dXJuIGU9ZS5wcm90b3R5cGUsISghZXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gVmkoZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gbj09PW51bGw_KG49emkoZS50YWcsdCxlLmtleSxlLm1vZGUpLG4uZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSxuLnR5cGU9ZS50eXBlLG4uc3RhdGVOb2RlPWUuc3RhdGVOb2RlLG4uYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9bik6KG4ucGVuZGluZ1Byb3BzPXQsbi50eXBlPWUudHlwZSxuLmZsYWdzPTAsbi5zdWJ0cmVlRmxhZ3M9MCxuLmRlbGV0aW9ucz1udWxsKSxuLmZsYWdzPWUuZmxhZ3MmMTIwNjkxMDk3NixuLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzLG4ubGFuZXM9ZS5sYW5lcyxuLmNoaWxkPWUuY2hpbGQsbi5tZW1vaXplZFByb3BzPWUubWVtb2l6ZWRQcm9wcyxuLm1lbW9pemVkU3RhdGU9ZS5tZW1vaXplZFN0YXRlLG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0PWUuZGVwZW5kZW5jaWVzLG4uZGVwZW5kZW5jaWVzPXQ9PT1udWxsP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSxuLnNpYmxpbmc9ZS5zaWJsaW5nLG4uaW5kZXg9ZS5pbmRleCxuLnJlZj1lLnJlZixuLnJlZkNsZWFudXA9ZS5yZWZDbGVhbnVwLG59ZnVuY3Rpb24gSGkoZSx0KXtlLmZsYWdzJj0xMjA2OTEwOTc4O3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBuPT09bnVsbD8oZS5jaGlsZExhbmVzPTAsZS5sYW5lcz10LGUuY2hpbGQ9bnVsbCxlLnN1YnRyZWVGbGFncz0wLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuc3RhdGVOb2RlPW51bGwpOihlLmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLGUubGFuZXM9bi5sYW5lcyxlLmNoaWxkPW4uY2hpbGQsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsLGUubWVtb2l6ZWRQcm9wcz1uLm1lbW9pemVkUHJvcHMsZS5tZW1vaXplZFN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxlLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsZS50eXBlPW4udHlwZSx0PW4uZGVwZW5kZW5jaWVzLGUuZGVwZW5kZW5jaWVzPXQ9PT1udWxsP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSksZX1mdW5jdGlvbiBVaShlLHQsbixyLGEsbyl7dmFyIHM9MDtpZihyPWUsdHlwZW9mIHI9PWBmdW5jdGlvbmApQmkocikmJihzPTEpO2Vsc2UgaWYodHlwZW9mIHI9PWBzdHJpbmdgKXM9cW0oZSxuLGplLmN1cnJlbnQpPzI2OmU9PT1gaHRtbGB8fGU9PT1gaGVhZGB8fGU9PT1gYm9keWA_Mjc6NTtlbHNlIGE6c3dpdGNoKHIpe2Nhc2UgZ2U6cmV0dXJuIGU9emkoMzEsbix0LGEpLGUuZWxlbWVudFR5cGU9Z2UsZS5sYW5lcz1vLGU7Y2FzZSBvZTpyZXR1cm4gV2kobi5jaGlsZHJlbixhLG8sdCk7Y2FzZSBzZTpzPTgsYXw9MjQ7YnJlYWs7Y2FzZSBjZTpyZXR1cm4gZT16aSgxMixuLHQsYXwyKSxlLmVsZW1lbnRUeXBlPWNlLGUubGFuZXM9byxlO2Nhc2UgZmU6cmV0dXJuIGU9emkoMTMsbix0LGEpLGUuZWxlbWVudFR5cGU9ZmUsZS5sYW5lcz1vLGU7Y2FzZSBwZTpyZXR1cm4gZT16aSgxOSxuLHQsYSksZS5lbGVtZW50VHlwZT1wZSxlLmxhbmVzPW8sZTtjYXNlIF9lOmNhc2UgeWU6cmV0dXJuIGU9YXwzMixlPXppKDMwLG4sdCxlKSxlLmVsZW1lbnRUeXBlPXllLGUubGFuZXM9byxlLnN0YXRlTm9kZT17YXV0b05hbWU6bnVsbCxwYWlyZWQ6bnVsbCxjbG9uZXM6bnVsbCxyZWY6bnVsbH0sZTtkZWZhdWx0OmlmKHR5cGVvZiByPT1gb2JqZWN0YCYmcilzd2l0Y2goci4kJHR5cGVvZil7Y2FzZSB1ZTpzPTEwO2JyZWFrIGE7Y2FzZSBsZTpzPTk7YnJlYWsgYTtjYXNlIGRlOnM9MTE7YnJlYWsgYTtjYXNlIG1lOnM9MTQ7YnJlYWsgYTtjYXNlIGhlOnM9MTYscj1udWxsO2JyZWFrIGF9cz0yOSxuPUVycm9yKGkoMTMwLGU9PT1udWxsP2BudWxsYDp0eXBlb2YgZSxgYCkpLHI9bnVsbH1yZXR1cm4gdD16aShzLG4sdCxhKSx0LmVsZW1lbnRUeXBlPWUsdC50eXBlPXIsdC5sYW5lcz1vLHR9ZnVuY3Rpb24gV2koZSx0LG4scil7cmV0dXJuIGU9emkoNyxlLHIsdCksZS5sYW5lcz1uLGV9ZnVuY3Rpb24gR2koZSx0LG4pe3JldHVybiBlPXppKDYsZSxudWxsLHQpLGUubGFuZXM9bixlfWZ1bmN0aW9uIEtpKGUpe3ZhciB0PXppKDE4LG51bGwsbnVsbCwwKTtyZXR1cm4gdC5zdGF0ZU5vZGU9ZSx0fWZ1bmN0aW9uIHFpKGUsdCxuKXtyZXR1cm4gdD16aSg0LGUuY2hpbGRyZW49PT1udWxsP1tdOmUuY2hpbGRyZW4sZS5rZXksdCksdC5sYW5lcz1uLHQuc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSx0fXZhciBKaT1uZXcgV2Vha01hcDtmdW5jdGlvbiBZaShlLHQpe2lmKHR5cGVvZiBlPT1gb2JqZWN0YCYmZSl7dmFyIG49SmkuZ2V0KGUpO3JldHVybiBuPT09dm9pZCAwPyh0PXt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOkhlKHQpfSxKaS5zZXQoZSx0KSx0KTpufXJldHVybnt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOkhlKHQpfX12YXIgWGk9W10sTj0wLFppPW51bGwsUWk9MCwkaT1bXSxlYT0wLHRhPW51bGwsbmE9MSxyYT1gYDtmdW5jdGlvbiBpYShlLHQpe1hpW04rK109UWksWGlbTisrXT1aaSxaaT1lLFFpPXR9ZnVuY3Rpb24gYWEoZSx0LG4peyRpW2VhKytdPW5hLCRpW2VhKytdPXJhLCRpW2VhKytdPXRhLHRhPWU7dmFyIHI9bmE7ZT1yYTt2YXIgaT0zMi1vdChyKS0xO3ImPX4oMTw8aSksbis9MTt2YXIgYT0zMi1vdCh0KStpO2lmKDMwPGEpe3ZhciBvPWktaSU1O2E9KHImKDE8PG8pLTEpLnRvU3RyaW5nKDMyKSxyPj49byxpLT1vLG5hPTE8PDMyLW90KHQpK2l8bjw8aXxyLHJhPWErZX1lbHNlIG5hPTE8PGF8bjw8aXxyLHJhPWV9ZnVuY3Rpb24gb2EoZSl7ZS5yZXR1cm4hPT1udWxsJiYoaWEoZSwxKSxhYShlLDEsMCkpfWZ1bmN0aW9uIHNhKGUpe2Zvcig7ZT09PVppOylaaT1YaVstLU5dLFhpW05dPW51bGwsUWk9WGlbLS1OXSxYaVtOXT1udWxsO2Zvcig7ZT09PXRhOyl0YT0kaVstLWVhXSwkaVtlYV09bnVsbCxyYT0kaVstLWVhXSwkaVtlYV09bnVsbCxuYT0kaVstLWVhXSwkaVtlYV09bnVsbH1mdW5jdGlvbiBjYShlLHQpeyRpW2VhKytdPW5hLCRpW2VhKytdPXJhLCRpW2VhKytdPXRhLG5hPXQuaWQscmE9dC5vdmVyZmxvdyx0YT1lfXZhciBQPW51bGwsRj1udWxsLEk9ITEsbGE9bnVsbCx1YT0hMSxkYT1FcnJvcihpKDUxOSkpO2Z1bmN0aW9uIGZhKGUpe3Rocm93IHZhKFlpKEVycm9yKGkoNDE4LDE8YXJndW1lbnRzLmxlbmd0aCYmYXJndW1lbnRzWzFdIT09dm9pZCAwJiZhcmd1bWVudHNbMV0_YHRleHRgOmBIVE1MYCxgYCkpLGUpKSxkYX1mdW5jdGlvbiBwYShlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUudHlwZSxyPWUubWVtb2l6ZWRQcm9wcztzd2l0Y2godFtBdF09ZSx0W2p0XT1yLG4pe2Nhc2VgZGlhbG9nYDpRKGBjYW5jZWxgLHQpLFEoYGNsb3NlYCx0KTticmVhaztjYXNlYGlmcmFtZWA6Y2FzZWBvYmplY3RgOmNhc2VgZW1iZWRgOlEoYGxvYWRgLHQpO2JyZWFrO2Nhc2VgdmlkZW9gOmNhc2VgYXVkaW9gOmZvcihuPTA7bjx6Zi5sZW5ndGg7bisrKVEoemZbbl0sdCk7YnJlYWs7Y2FzZWBzb3VyY2VgOlEoYGVycm9yYCx0KTticmVhaztjYXNlYGltZ2A6Y2FzZWBpbWFnZWA6Y2FzZWBsaW5rYDpRKGBlcnJvcmAsdCksUShgbG9hZGAsdCk7YnJlYWs7Y2FzZWBkZXRhaWxzYDpRKGB0b2dnbGVgLHQpO2JyZWFrO2Nhc2VgaW5wdXRgOlEoYGludmFsaWRgLHQpLHBuKHQsci52YWx1ZSxyLmRlZmF1bHRWYWx1ZSxyLmNoZWNrZWQsci5kZWZhdWx0Q2hlY2tlZCxyLnR5cGUsci5uYW1lLCEwKTticmVhaztjYXNlYHNlbGVjdGA6UShgaW52YWxpZGAsdCk7YnJlYWs7Y2FzZWB0ZXh0YXJlYWA6UShgaW52YWxpZGAsdCksX24odCxyLnZhbHVlLHIuZGVmYXVsdFZhbHVlLHIuY2hpbGRyZW4pfW49ci5jaGlsZHJlbix0eXBlb2YgbiE9YHN0cmluZ2AmJnR5cGVvZiBuIT1gbnVtYmVyYCYmdHlwZW9mIG4hPWBiaWdpbnRgfHx0LnRleHRDb250ZW50PT09YGArbnx8ITA9PT1yLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x8ZXAodC50ZXh0Q29udGVudCxuKT8oci5wb3BvdmVyIT1udWxsJiYoUShgYmVmb3JldG9nZ2xlYCx0KSxRKGB0b2dnbGVgLHQpKSxyLm9uU2Nyb2xsIT1udWxsJiZRKGBzY3JvbGxgLHQpLHIub25TY3JvbGxFbmQhPW51bGwmJlEoYHNjcm9sbGVuZGAsdCksci5vbkNsaWNrIT1udWxsJiYodC5vbmNsaWNrPUVuKSx0PSEwKTp0PSExLHR8fGZhKGUsITApfWZ1bmN0aW9uIG1hKGUpe2ZvcihQPWUucmV0dXJuO1A7KXN3aXRjaChQLnRhZyl7Y2FzZSA1OmNhc2UgMzE6Y2FzZSAxMzp1YT0hMTtyZXR1cm47Y2FzZSAyNzpjYXNlIDM6dWE9ITA7cmV0dXJuO2RlZmF1bHQ6UD1QLnJldHVybn19ZnVuY3Rpb24gaGEoZSl7aWYoZSE9PVApcmV0dXJuITE7aWYoIUkpcmV0dXJuIG1hKGUpLEk9ITAsITE7dmFyIHQ9ZS50YWcsbjtpZigobj10IT09MyYmdCE9PTI3KSYmKChuPXQ9PT01KSYmKG49ZS50eXBlLG49bj09PWBmb3JtYHx8bj09PWBidXR0b25gfHxwcChlLnR5cGUsZS5tZW1vaXplZFByb3BzKSksbj0hbiksbiYmRiYmZmEoZSksbWEoZSksdD09PTEzKXtpZihlPWUubWVtb2l6ZWRTdGF0ZSxlPWU9PT1udWxsP251bGw6ZS5kZWh5ZHJhdGVkLCFlKXRocm93IEVycm9yKGkoMzE3KSk7Rj1kbShlKX1lbHNlIGlmKHQ9PT0zMSl7aWYoZT1lLm1lbW9pemVkU3RhdGUsZT1lPT09bnVsbD9udWxsOmUuZGVoeWRyYXRlZCwhZSl0aHJvdyBFcnJvcihpKDMxNykpO0Y9ZG0oZSl9ZWxzZSB0PT09Mjc_KHQ9RixTcChlLnR5cGUpPyhlPXVtLHVtPW51bGwsRj1lKTpGPXQpOkY9UD9sbShlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBnYSgpe0Y9UD1udWxsLEk9ITF9ZnVuY3Rpb24gX2EoKXt2YXIgZT1sYTtyZXR1cm4gZSE9PW51bGwmJihwZD09PW51bGw_cGQ9ZTpwZC5wdXNoLmFwcGx5KHBkLGUpLGxhPW51bGwpLGV9ZnVuY3Rpb24gdmEoZSl7bGE9PT1udWxsP2xhPVtlXTpsYS5wdXNoKGUpfXZhciB5YT1rZShudWxsKSxiYT1udWxsLHhhPW51bGw7ZnVuY3Rpb24gU2EoZSx0LG4pe0QoeWEsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9bn1mdW5jdGlvbiBDYShlKXtlLl9jdXJyZW50VmFsdWU9eWEuY3VycmVudCxBZSh5YSl9ZnVuY3Rpb24gd2EoZSx0LG4pe2Zvcig7ZSE9PW51bGw7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJnQpPT09dD9yIT09bnVsbCYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpOihlLmNoaWxkTGFuZXN8PXQsciE9PW51bGwmJihyLmNoaWxkTGFuZXN8PXQpKSxlPT09bilicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBUYShlLHQsbixyKXt2YXIgYT1lLmNoaWxkO2ZvcihhIT09bnVsbCYmKGEucmV0dXJuPWUpO2EhPT1udWxsOyl7dmFyIG89YS5kZXBlbmRlbmNpZXM7aWYobyE9PW51bGwpe3ZhciBzPWEuY2hpbGQ7bz1vLmZpcnN0Q29udGV4dDthOmZvcig7byE9PW51bGw7KXt2YXIgYz1vO289YTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKylpZihjLmNvbnRleHQ9PT10W2xdKXtvLmxhbmVzfD1uLGM9by5hbHRlcm5hdGUsYyE9PW51bGwmJihjLmxhbmVzfD1uKSx3YShvLnJldHVybixuLGUpLHJ8fChzPW51bGwpO2JyZWFrIGF9bz1jLm5leHR9fWVsc2UgaWYoYS50YWc9PT0xOCl7aWYocz1hLnJldHVybixzPT09bnVsbCl0aHJvdyBFcnJvcihpKDM0MSkpO3MubGFuZXN8PW4sbz1zLmFsdGVybmF0ZSxvIT09bnVsbCYmKG8ubGFuZXN8PW4pLHdhKHMsbixlKSxzPW51bGx9ZWxzZSBhLnRhZz09PTEzJiZhLm1lbW9pemVkU3RhdGUhPT1udWxsJiZhLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZD09PW51bGw_KGEubGFuZXN8PW4scz1hLmFsdGVybmF0ZSxzIT09bnVsbCYmKHMubGFuZXN8PW4pLHdhKGEucmV0dXJuLG4sZSkscz1hLmNoaWxkLHM9cz09PW51bGw_bnVsbDpzLnNpYmxpbmcpOnM9YS5jaGlsZDtpZihzIT09bnVsbClzLnJldHVybj1hO2Vsc2UgZm9yKHM9YTtzIT09bnVsbDspe2lmKHM9PT1lKXtzPW51bGw7YnJlYWt9aWYoYT1zLnNpYmxpbmcsYSE9PW51bGwpe2EucmV0dXJuPXMucmV0dXJuLHM9YTticmVha31zPXMucmV0dXJufWE9c319ZnVuY3Rpb24gRWEoZSx0LG4scil7ZT1udWxsO2Zvcih2YXIgYT10LG89ITE7YSE9PW51bGw7KXtpZighbyl7aWYoYS5mbGFncyY1MjQyODgpbz0hMDtlbHNlIGlmKGEuZmxhZ3MmMjYyMTQ0KWJyZWFrfWlmKGEudGFnPT09MTApe3ZhciBzPWEuYWx0ZXJuYXRlO2lmKHM9PT1udWxsKXRocm93IEVycm9yKGkoMzg3KSk7aWYocz1zLm1lbW9pemVkUHJvcHMscyE9PW51bGwpe3ZhciBjPWEudHlwZTtKcihhLnBlbmRpbmdQcm9wcy52YWx1ZSxzLnZhbHVlKXx8KGU9PT1udWxsP2U9W2NdOmUucHVzaChjKSl9fWVsc2UgaWYoYT09PU5lLmN1cnJlbnQpe2lmKHM9YS5hbHRlcm5hdGUscz09PW51bGwpdGhyb3cgRXJyb3IoaSgzODcpKTtzLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSE9PWEubWVtb2l6ZWRTdGF0ZS5tZW1vaXplZFN0YXRlJiYoZT09PW51bGw_ZT1bc2hdOmUucHVzaChzaCkpfWE9YS5yZXR1cm59cmV0dXJuIGUhPT1udWxsJiZUYSh0LGUsbixyKSx0LmZsYWdzfD0yNjIxNDQsZSE9PW51bGx9ZnVuY3Rpb24gRGEoZSl7Zm9yKGU9ZS5maXJzdENvbnRleHQ7ZSE9PW51bGw7KXtpZighSnIoZS5jb250ZXh0Ll9jdXJyZW50VmFsdWUsZS5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtlPWUubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBPYShlKXtiYT1lLHhhPW51bGwsZT1lLmRlcGVuZGVuY2llcyxlIT09bnVsbCYmKGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGthKGUpe3JldHVybiBqYShiYSxlKX1mdW5jdGlvbiBBYShlLHQpe3JldHVybiBiYT09PW51bGwmJk9hKGUpLGphKGUsdCl9ZnVuY3Rpb24gamEoZSx0KXt2YXIgbj10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LHhhPT09bnVsbCl7aWYoZT09PW51bGwpdGhyb3cgRXJyb3IoaSgzMDgpKTt4YT10LGUuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxlLmZsYWdzfD01MjQyODh9ZWxzZSB4YT14YS5uZXh0PXQ7cmV0dXJuIG59dmFyIE1hPXR5cGVvZiBBYm9ydENvbnRyb2xsZXI8YHVgP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LG4pe2UucHVzaChuKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX19LE5hPXQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxQYT10LnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LEw9eyQkdHlwZW9mOnVlLENvbnN1bWVyOm51bGwsUHJvdmlkZXI6bnVsbCxfY3VycmVudFZhbHVlOm51bGwsX2N1cnJlbnRWYWx1ZTI6bnVsbCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gRmEoKXtyZXR1cm57Y29udHJvbGxlcjpuZXcgTWEsZGF0YTpuZXcgTWFwLHJlZkNvdW50OjB9fWZ1bmN0aW9uIElhKGUpe2UucmVmQ291bnQtLSxlLnJlZkNvdW50PT09MCYmTmEoUGEsZnVuY3Rpb24oKXtlLmNvbnRyb2xsZXIuYWJvcnQoKX0pfWZ1bmN0aW9uIExhKGUsdCl7aWYoZS5wZW5kaW5nTGFuZXMmNDE5NDA0OCl7dmFyIG49ZS50cmFuc2l0aW9uVHlwZXM7Zm9yKG49PT1udWxsJiYobj1lLnRyYW5zaXRpb25UeXBlcz1bXSksZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO24uaW5kZXhPZihyKT09PS0xJiZuLnB1c2gocil9fX12YXIgUmE9bnVsbDtmdW5jdGlvbiB6YShlKXt2YXIgdD1lLnRyYW5zaXRpb25UeXBlcztyZXR1cm4gZS50cmFuc2l0aW9uVHlwZXM9bnVsbCx0fXZhciBCYT1udWxsLFZhPTAsSGE9MCxVYT1udWxsO2Z1bmN0aW9uIFdhKGUsdCl7aWYoQmE9PT1udWxsKXt2YXIgbj1CYT1bXTtWYT0wLEhhPVBmKCksVWE9e3N0YXR1czpgcGVuZGluZ2AsdmFsdWU6dm9pZCAwLHRoZW46ZnVuY3Rpb24oZSl7bi5wdXNoKGUpfX19cmV0dXJuIFZhKyssdC50aGVuKEdhLEdhKSx0fWZ1bmN0aW9uIEdhKCl7aWYoLS1WYT09PTAmJihSYT1udWxsLEJhIT09bnVsbCkpe1VhIT09bnVsbCYmKFVhLnN0YXR1cz1gZnVsZmlsbGVkYCk7dmFyIGU9QmE7QmE9bnVsbCxIYT0wLFVhPW51bGw7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspKDAsZVt0XSkoKX19ZnVuY3Rpb24gS2EoZSx0KXt2YXIgbj1bXSxyPXtzdGF0dXM6YHBlbmRpbmdgLHZhbHVlOm51bGwscmVhc29uOm51bGwsdGhlbjpmdW5jdGlvbihlKXtuLnB1c2goZSl9fTtyZXR1cm4gZS50aGVuKGZ1bmN0aW9uKCl7ci5zdGF0dXM9YGZ1bGZpbGxlZGAsci52YWx1ZT10O2Zvcih2YXIgZT0wO2U8bi5sZW5ndGg7ZSsrKSgwLG5bZV0pKHQpfSxmdW5jdGlvbihlKXtmb3Ioci5zdGF0dXM9YHJlamVjdGVkYCxyLnJlYXNvbj1lLGU9MDtlPG4ubGVuZ3RoO2UrKykoMCxuW2VdKSh2b2lkIDApfSkscn12YXIgcWE9VC5TO1QuUz1mdW5jdGlvbihlLHQpe2lmKGdkPUplKCksdHlwZW9mIHQ9PWBvYmplY3RgJiZ0JiZ0eXBlb2YgdC50aGVuPT1gZnVuY3Rpb25gJiZXYShlLHQpLFJhIT09bnVsbClmb3IodmFyIG49YmY7biE9PW51bGw7KUxhKG4sUmEpLG49bi5uZXh0O2lmKG49ZS50eXBlcyxuIT09bnVsbCl7Zm9yKHZhciByPWJmO3IhPT1udWxsOylMYShyLG4pLHI9ci5uZXh0O2lmKEhhIT09MCl7cj1SYSxyPT09bnVsbCYmKHI9UmE9W10pO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgYT1uW2ldO3IuaW5kZXhPZihhKT09PS0xJiZyLnB1c2goYSl9fX1xYSE9PW51bGwmJnFhKGUsdCl9O3ZhciBKYT1rZShudWxsKTtmdW5jdGlvbiBZYSgpe3ZhciBlPUphLmN1cnJlbnQ7cmV0dXJuIGU9PT1udWxsP0cucG9vbGVkQ2FjaGU6ZX1mdW5jdGlvbiBYYShlLHQpe3Q9PT1udWxsP0QoSmEsSmEuY3VycmVudCk6RChKYSx0LnBvb2wpfWZ1bmN0aW9uIFphKCl7dmFyIGU9WWEoKTtyZXR1cm4gZT09PW51bGw_bnVsbDp7cGFyZW50OkwuX2N1cnJlbnRWYWx1ZSxwb29sOmV9fXZhciBRYT1FcnJvcihpKDQ2MCkpLCRhPUVycm9yKGkoNDc0KSksZW89RXJyb3IoaSg1NDIpKSx0bz17dGhlbjpmdW5jdGlvbigpe319O2Z1bmN0aW9uIG5vKGUpe3JldHVybiBlPWUuc3RhdHVzLGU9PT1gZnVsZmlsbGVkYHx8ZT09PWByZWplY3RlZGB9ZnVuY3Rpb24gcm8oZSx0LG4pe3N3aXRjaChuPWVbbl0sbj09PXZvaWQgMD9lLnB1c2godCk6biE9PXQmJih0LnRoZW4oRW4sRW4pLHQ9biksdC5zdGF0dXMpe2Nhc2VgZnVsZmlsbGVkYDpyZXR1cm4gdC52YWx1ZTtjYXNlYHJlamVjdGVkYDp0aHJvdyBlPXQucmVhc29uLHNvKGUpLGU9PT12b2lkIDAmJiEoYHJlYXNvbmBpbiB0KT9FcnJvcihpKDYwMCkpOmU7ZGVmYXVsdDppZih0eXBlb2YgdC5zdGF0dXM9PWBzdHJpbmdgKXQudGhlbihFbixFbik7ZWxzZXtpZihlPUcsZSE9PW51bGwmJjEwMDxlLnNoZWxsU3VzcGVuZENvdW50ZXIpdGhyb3cgRXJyb3IoaSg0ODIpKTtlPXQsZS5zdGF0dXM9YHBlbmRpbmdgLGUudGhlbihmdW5jdGlvbihlKXtpZih0LnN0YXR1cz09PWBwZW5kaW5nYCl7dmFyIG49dDtuLnN0YXR1cz1gZnVsZmlsbGVkYCxuLnZhbHVlPWV9fSxmdW5jdGlvbihlKXtpZih0LnN0YXR1cz09PWBwZW5kaW5nYCl7dmFyIG49dDtuLnN0YXR1cz1gcmVqZWN0ZWRgLG4ucmVhc29uPWV9fSl9c3dpdGNoKHQuc3RhdHVzKXtjYXNlYGZ1bGZpbGxlZGA6cmV0dXJuIHQudmFsdWU7Y2FzZWByZWplY3RlZGA6dGhyb3cgZT10LnJlYXNvbixzbyhlKSxlfXRocm93IGFvPXQsUWF9fWZ1bmN0aW9uIGlvKGUpe3RyeXt2YXIgdD1lLl9pbml0O3JldHVybiB0KGUuX3BheWxvYWQpfWNhdGNoKGUpe3Rocm93IHR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmdHlwZW9mIGUudGhlbj09YGZ1bmN0aW9uYD8oYW89ZSxRYSk6ZX19dmFyIGFvPW51bGw7ZnVuY3Rpb24gb28oKXtpZihhbz09PW51bGwpdGhyb3cgRXJyb3IoaSg0NTkpKTt2YXIgZT1hbztyZXR1cm4gYW89bnVsbCxlfWZ1bmN0aW9uIHNvKGUpe2lmKGU9PT1RYXx8ZT09PWVvKXRocm93IEVycm9yKGkoNDgzKSl9dmFyIGNvPW51bGwsbG89MDtmdW5jdGlvbiB1byhlKXt2YXIgdD1sbztyZXR1cm4gbG8rPTEsY289PT1udWxsJiYoY289W10pLHJvKGNvLGUsdCl9ZnVuY3Rpb24gZm8oZSx0KXt0PXQucHJvcHMucmVmLGUucmVmPXQ9PT12b2lkIDA_bnVsbDp0fWZ1bmN0aW9uIHBvKGUsdCl7dGhyb3cgdC4kJHR5cGVvZj09PXJlP0Vycm9yKGkoNTI1KSk6KGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLEVycm9yKGkoMzEsZT09PWBbb2JqZWN0IE9iamVjdF1gP2BvYmplY3Qgd2l0aCBrZXlzIHtgK09iamVjdC5rZXlzKHQpLmpvaW4oYCwgYCkrYH1gOmUpKSl9ZnVuY3Rpb24gbW8oZSl7ZnVuY3Rpb24gdCh0LG4pe2lmKGUpe3ZhciByPXQuZGVsZXRpb25zO3I9PT1udWxsPyh0LmRlbGV0aW9ucz1bbl0sdC5mbGFnc3w9MTYpOnIucHVzaChuKX19ZnVuY3Rpb24gbihuLHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7ciE9PW51bGw7KXQobixyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUpe2Zvcih2YXIgdD1uZXcgTWFwO2UhPT1udWxsOyllLmtleT09PW51bGw_dC5zZXQoZS5pbmRleCxlKTp0LnNldChlLmtleSxlKSxlPWUuc2libGluZztyZXR1cm4gdH1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGU9VmkoZSx0KSxlLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiBvKHQsbixyKXtyZXR1cm4gdC5pbmRleD1yLGU_KHI9dC5hbHRlcm5hdGUscj09PW51bGw_KHQuZmxhZ3N8PTEzNDIxNzczMCxuKToocj1yLmluZGV4LHI8bj8odC5mbGFnc3w9MixuKTpyKSk6KHQuZmxhZ3N8PTEwNDg1NzYsbil9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gZSYmdC5hbHRlcm5hdGU9PT1udWxsJiYodC5mbGFnc3w9MTM0MjE3NzMwKSx0fWZ1bmN0aW9uIGMoZSx0LG4scil7cmV0dXJuIHQ9PT1udWxsfHx0LnRhZyE9PTY_KHQ9R2kobixlLm1vZGUsciksdC5yZXR1cm49ZSx0KToodD1hKHQsbiksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBsKGUsdCxuLHIpe3ZhciBpPW4udHlwZTtyZXR1cm4gaT09PW9lPyhlPWQoZSx0LG4ucHJvcHMuY2hpbGRyZW4scixuLmtleSksZm8oZSxuKSxlKTp0IT09bnVsbCYmKHQuZWxlbWVudFR5cGU9PT1pfHx0eXBlb2YgaT09YG9iamVjdGAmJmkmJmkuJCR0eXBlb2Y9PT1oZSYmaW8oaSk9PT10LnR5cGUpPyh0PWEodCxuLnByb3BzKSxmbyh0LG4pLHQucmV0dXJuPWUsdCk6KHQ9VWkobi50eXBlLG4ua2V5LG4ucHJvcHMsbnVsbCxlLm1vZGUsciksZm8odCxuKSx0LnJldHVybj1lLHQpfWZ1bmN0aW9uIHUoZSx0LG4scil7cmV0dXJuIHQ9PT1udWxsfHx0LnRhZyE9PTR8fHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8hPT1uLmNvbnRhaW5lckluZm98fHQuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uIT09bi5pbXBsZW1lbnRhdGlvbj8odD1xaShuLGUubW9kZSxyKSx0LnJldHVybj1lLHQpOih0PWEodCxuLmNoaWxkcmVufHxbXSksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBkKGUsdCxuLHIsaSl7cmV0dXJuIHQ9PT1udWxsfHx0LnRhZyE9PTc_KHQ9V2kobixlLm1vZGUscixpKSx0LnJldHVybj1lLHQpOih0PWEodCxuKSx0LnJldHVybj1lLHQpfWZ1bmN0aW9uIGYoZSx0LG4pe2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmdCE9PWBgfHx0eXBlb2YgdD09YG51bWJlcmB8fHR5cGVvZiB0PT1gYmlnaW50YClyZXR1cm4gdD1HaShgYCt0LGUubW9kZSxuKSx0LnJldHVybj1lLHQ7aWYodHlwZW9mIHQ9PWBvYmplY3RgJiZ0KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBpZTpyZXR1cm4gbj1VaSh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxuKSxmbyhuLHQpLG4ucmV0dXJuPWUsbjtjYXNlIGFlOnJldHVybiB0PXFpKHQsZS5tb2RlLG4pLHQucmV0dXJuPWUsdDtjYXNlIGhlOnJldHVybiB0PWlvKHQpLGYoZSx0LG4pfWlmKFRlKHQpfHxTZSh0KSlyZXR1cm4gdD1XaSh0LGUubW9kZSxuLG51bGwpLHQucmV0dXJuPWUsdDtpZih0eXBlb2YgdC50aGVuPT1gZnVuY3Rpb25gKXJldHVybiBmKGUsdW8odCksbik7aWYodC4kJHR5cGVvZj09PXVlKXJldHVybiBmKGUsQWEoZSx0KSxuKTtwbyhlLHQpfXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSx0LG4scil7dmFyIGk9dD09PW51bGw_bnVsbDp0LmtleTtpZih0eXBlb2Ygbj09YHN0cmluZ2AmJm4hPT1gYHx8dHlwZW9mIG49PWBudW1iZXJgfHx0eXBlb2Ygbj09YGJpZ2ludGApcmV0dXJuIGk9PT1udWxsP2MoZSx0LGBgK24scik6bnVsbDtpZih0eXBlb2Ygbj09YG9iamVjdGAmJm4pe3N3aXRjaChuLiQkdHlwZW9mKXtjYXNlIGllOnJldHVybiBuLmtleT09PWk_bChlLHQsbixyKTpudWxsO2Nhc2UgYWU6cmV0dXJuIG4ua2V5PT09aT91KGUsdCxuLHIpOm51bGw7Y2FzZSBoZTpyZXR1cm4gbj1pbyhuKSxwKGUsdCxuLHIpfWlmKFRlKG4pfHxTZShuKSlyZXR1cm4gaT09PW51bGw_ZChlLHQsbixyLG51bGwpOm51bGw7aWYodHlwZW9mIG4udGhlbj09YGZ1bmN0aW9uYClyZXR1cm4gcChlLHQsdW8obikscik7aWYobi4kJHR5cGVvZj09PXVlKXJldHVybiBwKGUsdCxBYShlLG4pLHIpO3BvKGUsbil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLHQsbixyLGkpe2lmKHR5cGVvZiByPT1gc3RyaW5nYCYmciE9PWBgfHx0eXBlb2Ygcj09YG51bWJlcmB8fHR5cGVvZiByPT1gYmlnaW50YClyZXR1cm4gZT1lLmdldChuKXx8bnVsbCxjKHQsZSxgYCtyLGkpO2lmKHR5cGVvZiByPT1gb2JqZWN0YCYmcil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgaWU6cmV0dXJuIGU9ZS5nZXQoci5rZXk9PT1udWxsP246ci5rZXkpfHxudWxsLGwodCxlLHIsaSk7Y2FzZSBhZTpyZXR1cm4gZT1lLmdldChyLmtleT09PW51bGw_bjpyLmtleSl8fG51bGwsdSh0LGUscixpKTtjYXNlIGhlOnJldHVybiByPWlvKHIpLG0oZSx0LG4scixpKX1pZihUZShyKXx8U2UocikpcmV0dXJuIGU9ZS5nZXQobil8fG51bGwsZCh0LGUscixpLG51bGwpO2lmKHR5cGVvZiByLnRoZW49PWBmdW5jdGlvbmApcmV0dXJuIG0oZSx0LG4sdW8ociksaSk7aWYoci4kJHR5cGVvZj09PXVlKXJldHVybiBtKGUsdCxuLEFhKHQsciksaSk7cG8odCxyKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKGksYSxzLGMpe2Zvcih2YXIgbD1udWxsLHU9bnVsbCxkPWEsaD1hPTAsZz1udWxsO2QhPT1udWxsJiZoPHMubGVuZ3RoO2grKyl7ZC5pbmRleD5oPyhnPWQsZD1udWxsKTpnPWQuc2libGluZzt2YXIgXz1wKGksZCxzW2hdLGMpO2lmKF89PT1udWxsKXtkPT09bnVsbCYmKGQ9Zyk7YnJlYWt9ZSYmZCYmXy5hbHRlcm5hdGU9PT1udWxsJiZ0KGksZCksYT1vKF8sYSxoKSx1PT09bnVsbD9sPV86dS5zaWJsaW5nPV8sdT1fLGQ9Z31pZihoPT09cy5sZW5ndGgpcmV0dXJuIG4oaSxkKSxJJiZpYShpLGgpLGw7aWYoZD09PW51bGwpe2Zvcig7aDxzLmxlbmd0aDtoKyspZD1mKGksc1toXSxjKSxkIT09bnVsbCYmKGE9byhkLGEsaCksdT09PW51bGw_bD1kOnUuc2libGluZz1kLHU9ZCk7cmV0dXJuIEkmJmlhKGksaCksbH1mb3IoZD1yKGQpO2g8cy5sZW5ndGg7aCsrKWc9bShkLGksaCxzW2hdLGMpLGchPT1udWxsJiYoZSYmKF89Zy5hbHRlcm5hdGUsXyE9PW51bGwmJmQuZGVsZXRlKF8ua2V5PT09bnVsbD9oOl8ua2V5KSksYT1vKGcsYSxoKSx1PT09bnVsbD9sPWc6dS5zaWJsaW5nPWcsdT1nKTtyZXR1cm4gZSYmZC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGksZSl9KSxJJiZpYShpLGgpLGx9ZnVuY3Rpb24gZyhhLHMsYyxsKXtpZihjPT1udWxsKXRocm93IEVycm9yKGkoMTUxKSk7Zm9yKHZhciB1PW51bGwsZD1udWxsLGg9cyxnPXM9MCxfPW51bGwsdj1jLm5leHQoKTtoIT09bnVsbCYmIXYuZG9uZTtnKyssdj1jLm5leHQoKSl7aC5pbmRleD5nPyhfPWgsaD1udWxsKTpfPWguc2libGluZzt2YXIgeT1wKGEsaCx2LnZhbHVlLGwpO2lmKHk9PT1udWxsKXtoPT09bnVsbCYmKGg9Xyk7YnJlYWt9ZSYmaCYmeS5hbHRlcm5hdGU9PT1udWxsJiZ0KGEsaCkscz1vKHkscyxnKSxkPT09bnVsbD91PXk6ZC5zaWJsaW5nPXksZD15LGg9X31pZih2LmRvbmUpcmV0dXJuIG4oYSxoKSxJJiZpYShhLGcpLHU7aWYoaD09PW51bGwpe2Zvcig7IXYuZG9uZTtnKyssdj1jLm5leHQoKSl2PWYoYSx2LnZhbHVlLGwpLHYhPT1udWxsJiYocz1vKHYscyxnKSxkPT09bnVsbD91PXY6ZC5zaWJsaW5nPXYsZD12KTtyZXR1cm4gSSYmaWEoYSxnKSx1fWZvcihoPXIoaCk7IXYuZG9uZTtnKyssdj1jLm5leHQoKSl2PW0oaCxhLGcsdi52YWx1ZSxsKSx2IT09bnVsbCYmKGUmJihfPXYuYWx0ZXJuYXRlLF8hPT1udWxsJiZoLmRlbGV0ZShfLmtleT09PW51bGw_ZzpfLmtleSkpLHM9byh2LHMsZyksZD09PW51bGw_dT12OmQuc2libGluZz12LGQ9dik7cmV0dXJuIGUmJmguZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gdChhLGUpfSksSSYmaWEoYSxnKSx1fWZ1bmN0aW9uIF8oZSxyLG8sYyl7aWYodHlwZW9mIG89PWBvYmplY3RgJiZvJiZvLnR5cGU9PT1vZSYmby5rZXk9PT1udWxsJiZvLnByb3BzLnJlZj09PXZvaWQgMCYmKG89by5wcm9wcy5jaGlsZHJlbiksdHlwZW9mIG89PWBvYmplY3RgJiZvKXtzd2l0Y2goby4kJHR5cGVvZil7Y2FzZSBpZTphOntmb3IodmFyIGw9by5rZXk7ciE9PW51bGw7KXtpZihyLmtleT09PWwpe2lmKGw9by50eXBlLGw9PT1vZSl7aWYoci50YWc9PT03KXtuKGUsci5zaWJsaW5nKSxjPWEocixvLnByb3BzLmNoaWxkcmVuKSxmbyhjLG8pLGMucmV0dXJuPWUsZT1jO2JyZWFrIGF9fWVsc2UgaWYoci5lbGVtZW50VHlwZT09PWx8fHR5cGVvZiBsPT1gb2JqZWN0YCYmbCYmbC4kJHR5cGVvZj09PWhlJiZpbyhsKT09PXIudHlwZSl7bihlLHIuc2libGluZyksYz1hKHIsby5wcm9wcyksZm8oYyxvKSxjLnJldHVybj1lLGU9YzticmVhayBhfW4oZSxyKTticmVha310KGUscikscj1yLnNpYmxpbmd9by50eXBlPT09b2U_KGM9V2koby5wcm9wcy5jaGlsZHJlbixlLm1vZGUsYyxvLmtleSksZm8oYyxvKSxjLnJldHVybj1lLGU9Yyk6KGM9VWkoby50eXBlLG8ua2V5LG8ucHJvcHMsbnVsbCxlLm1vZGUsYyksZm8oYyxvKSxjLnJldHVybj1lLGU9Yyl9cmV0dXJuIHMoZSk7Y2FzZSBhZTphOntmb3IobD1vLmtleTtyIT09bnVsbDspe2lmKHIua2V5PT09bCl7aWYoci50YWc9PT00JiZyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09by5jb250YWluZXJJbmZvJiZyLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbj09PW8uaW1wbGVtZW50YXRpb24pe24oZSxyLnNpYmxpbmcpLGM9YShyLG8uY2hpbGRyZW58fFtdKSxjLnJldHVybj1lLGU9YzticmVhayBhfW4oZSxyKTticmVha310KGUscikscj1yLnNpYmxpbmd9Yz1xaShvLGUubW9kZSxjKSxjLnJldHVybj1lLGU9Y31yZXR1cm4gcyhlKTtjYXNlIGhlOnJldHVybiBvPWlvKG8pLF8oZSxyLG8sYyl9aWYoVGUobykpcmV0dXJuIGgoZSxyLG8sYyk7aWYoU2Uobykpe2lmKGw9U2UobyksdHlwZW9mIGwhPWBmdW5jdGlvbmApdGhyb3cgRXJyb3IoaSgxNTApKTtyZXR1cm4gbz1sLmNhbGwobyksZyhlLHIsbyxjKX1pZih0eXBlb2Ygby50aGVuPT1gZnVuY3Rpb25gKXJldHVybiBfKGUscix1byhvKSxjKTtpZihvLiQkdHlwZW9mPT09dWUpcmV0dXJuIF8oZSxyLEFhKGUsbyksYyk7cG8oZSxvKX1yZXR1cm4gdHlwZW9mIG89PWBzdHJpbmdgJiZvIT09YGB8fHR5cGVvZiBvPT1gbnVtYmVyYHx8dHlwZW9mIG89PWBiaWdpbnRgPyhvPWBgK28sciE9PW51bGwmJnIudGFnPT09Nj8obihlLHIuc2libGluZyksYz1hKHIsbyksYy5yZXR1cm49ZSxlPWMpOihuKGUsciksYz1HaShvLGUubW9kZSxjKSxjLnJldHVybj1lLGU9YykscyhlKSk6bihlLHIpfXJldHVybiBmdW5jdGlvbihlLHQsbixyKXt0cnl7bG89MDt2YXIgaT1fKGUsdCxuLHIpO3JldHVybiBjbz1udWxsLGl9Y2F0Y2godCl7aWYodD09PVFhfHx0PT09ZW8pdGhyb3cgdDt2YXIgYT16aSgyOSx0LG51bGwsZS5tb2RlKTtyZXR1cm4gYS5sYW5lcz1yLGEucmV0dXJuPWUsYX19fXZhciBobz1tbyghMCksZ289bW8oITEpLF9vPSExO2Z1bmN0aW9uIHZvKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxsYW5lczowLGhpZGRlbkNhbGxiYWNrczpudWxsfSxjYWxsYmFja3M6bnVsbH19ZnVuY3Rpb24geW8oZSx0KXtlPWUudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWUmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGNhbGxiYWNrczpudWxsfSl9ZnVuY3Rpb24gYm8oZSl7cmV0dXJue2xhbmU6ZSx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIHhvKGUsdCxuKXt2YXIgcj1lLnVwZGF0ZVF1ZXVlO2lmKHI9PT1udWxsKXJldHVybiBudWxsO2lmKHI9ci5zaGFyZWQsVyYyKXt2YXIgaT1yLnBlbmRpbmc7cmV0dXJuIGk9PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9aS5uZXh0LGkubmV4dD10KSxyLnBlbmRpbmc9dCx0PUlpKGUpLEZpKGUsbnVsbCxuKSx0fXJldHVybiBNaShlLHIsdCxuKSxJaShlKX1mdW5jdGlvbiBTbyhlLHQsbil7aWYodD10LnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYodD10LnNoYXJlZCxuJjQxOTQwNDgpKXt2YXIgcj10LmxhbmVzO3ImPWUucGVuZGluZ0xhbmVzLG58PXIsdC5sYW5lcz1uLEN0KGUsbil9fWZ1bmN0aW9uIENvKGUsdCl7dmFyIG49ZS51cGRhdGVRdWV1ZSxyPWUuYWx0ZXJuYXRlO2lmKHIhPT1udWxsJiYocj1yLnVwZGF0ZVF1ZXVlLG49PT1yKSl7dmFyIGk9bnVsbCxhPW51bGw7aWYobj1uLmZpcnN0QmFzZVVwZGF0ZSxuIT09bnVsbCl7ZG97dmFyIG89e2xhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07YT09PW51bGw_aT1hPW86YT1hLm5leHQ9byxuPW4ubmV4dH13aGlsZShuIT09bnVsbCk7YT09PW51bGw_aT1hPXQ6YT1hLm5leHQ9dH1lbHNlIGk9YT10O249e2Jhc2VTdGF0ZTpyLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6aSxsYXN0QmFzZVVwZGF0ZTphLHNoYXJlZDpyLnNoYXJlZCxjYWxsYmFja3M6ci5jYWxsYmFja3N9LGUudXBkYXRlUXVldWU9bn1lbHNlIGU9bi5sYXN0QmFzZVVwZGF0ZSxlPT09bnVsbD9uLmZpcnN0QmFzZVVwZGF0ZT10OmUubmV4dD10LG4ubGFzdEJhc2VVcGRhdGU9dH12YXIgd289ITE7ZnVuY3Rpb24gVG8oKXtpZih3byl7dmFyIGU9VWE7aWYoZSE9PW51bGwpdGhyb3cgZX19ZnVuY3Rpb24gRW8oZSx0LG4scil7d289ITE7dmFyIGk9ZS51cGRhdGVRdWV1ZTtfbz0hMTt2YXIgYT1pLmZpcnN0QmFzZVVwZGF0ZSxvPWkubGFzdEJhc2VVcGRhdGUscz1pLnNoYXJlZC5wZW5kaW5nO2lmKHMhPT1udWxsKXtpLnNoYXJlZC5wZW5kaW5nPW51bGw7dmFyIGM9cyxsPWMubmV4dDtjLm5leHQ9bnVsbCxvPT09bnVsbD9hPWw6by5uZXh0PWwsbz1jO3ZhciB1PWUuYWx0ZXJuYXRlO3UhPT1udWxsJiYodT11LnVwZGF0ZVF1ZXVlLHM9dS5sYXN0QmFzZVVwZGF0ZSxzIT09byYmKHM9PT1udWxsP3UuZmlyc3RCYXNlVXBkYXRlPWw6cy5uZXh0PWwsdS5sYXN0QmFzZVVwZGF0ZT1jKSl9aWYoYSE9PW51bGwpe3ZhciBkPWkuYmFzZVN0YXRlO289MCx1PWw9Yz1udWxsLHM9YTtkb3t2YXIgZj1zLmxhbmUmLTUzNjg3MDkxMyxwPWYhPT1zLmxhbmU7aWYocD8ocSZmKT09PWY6KHImZik9PT1mKXtmIT09MCYmZj09PUhhJiYod289ITApLHUhPT1udWxsJiYodT11Lm5leHQ9e2xhbmU6MCx0YWc6cy50YWcscGF5bG9hZDpzLnBheWxvYWQsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9KTthOnt2YXIgbT1lLGg9cztmPXQ7dmFyIGc9bjtzd2l0Y2goaC50YWcpe2Nhc2UgMTppZihtPWgucGF5bG9hZCx0eXBlb2YgbT09YGZ1bmN0aW9uYCl7ZD1tLmNhbGwoZyxkLGYpO2JyZWFrIGF9ZD1tO2JyZWFrIGE7Y2FzZSAzOm0uZmxhZ3M9bS5mbGFncyYtNjU1Mzd8MTI4O2Nhc2UgMDppZihtPWgucGF5bG9hZCxmPXR5cGVvZiBtPT1gZnVuY3Rpb25gP20uY2FsbChnLGQsZik6bSxmPT1udWxsKWJyZWFrIGE7ZD13KHt9LGQsZik7YnJlYWsgYTtjYXNlIDI6X289ITB9fWY9cy5jYWxsYmFjayxmIT09bnVsbCYmKGUuZmxhZ3N8PTY0LHAmJihlLmZsYWdzfD04MTkyKSxwPWkuY2FsbGJhY2tzLHA9PT1udWxsP2kuY2FsbGJhY2tzPVtmXTpwLnB1c2goZikpfWVsc2UgcD17bGFuZTpmLHRhZzpzLnRhZyxwYXlsb2FkOnMucGF5bG9hZCxjYWxsYmFjazpzLmNhbGxiYWNrLG5leHQ6bnVsbH0sdT09PW51bGw_KGw9dT1wLGM9ZCk6dT11Lm5leHQ9cCxvfD1mO2lmKHM9cy5uZXh0LHM9PT1udWxsKXtpZihzPWkuc2hhcmVkLnBlbmRpbmcscz09PW51bGwpYnJlYWs7cD1zLHM9cC5uZXh0LHAubmV4dD1udWxsLGkubGFzdEJhc2VVcGRhdGU9cCxpLnNoYXJlZC5wZW5kaW5nPW51bGx9fXdoaWxlKDEpO3U9PT1udWxsJiYoYz1kKSxpLmJhc2VTdGF0ZT1jLGkuZmlyc3RCYXNlVXBkYXRlPWwsaS5sYXN0QmFzZVVwZGF0ZT11LGE9PT1udWxsJiYoaS5zaGFyZWQubGFuZXM9MCksc2R8PW8sZS5sYW5lcz1vLGUubWVtb2l6ZWRTdGF0ZT1kfX1mdW5jdGlvbiBEbyhlLHQpe2lmKHR5cGVvZiBlIT1gZnVuY3Rpb25gKXRocm93IEVycm9yKGkoMTkxLGUpKTtlLmNhbGwodCl9ZnVuY3Rpb24gT28oZSx0KXt2YXIgbj1lLmNhbGxiYWNrcztpZihuIT09bnVsbClmb3IoZS5jYWxsYmFja3M9bnVsbCxlPTA7ZTxuLmxlbmd0aDtlKyspRG8obltlXSx0KX12YXIga289a2UobnVsbCksQW89a2UoMCk7ZnVuY3Rpb24gam8oZSx0KXtlPW9kLEQoQW8sZSksRChrbyx0KSxvZD1lfHQuYmFzZUxhbmVzfWZ1bmN0aW9uIE1vKCl7RChBbyxvZCksRChrbyxrby5jdXJyZW50KX1mdW5jdGlvbiBObygpe29kPUFvLmN1cnJlbnQsQWUoa28pLEFlKEFvKX12YXIgUG89a2UobnVsbCksRm89bnVsbDtmdW5jdGlvbiBJbyhlKXt2YXIgdD1lLmFsdGVybmF0ZTtEKFZvLFZvLmN1cnJlbnQmMSksRChQbyxlKSxGbz09PW51bGwmJih0PT09bnVsbHx8a28uY3VycmVudCE9PW51bGx8fHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwpJiYoRm89ZSl9ZnVuY3Rpb24gTG8oZSl7RChWbyxWby5jdXJyZW50KSxEKFBvLGUpLEZvPT09bnVsbCYmKEZvPWUpfWZ1bmN0aW9uIFJvKGUpe2UudGFnPT09MjI_KEQoVm8sVm8uY3VycmVudCksRChQbyxlKSxGbz09PW51bGwmJihGbz1lKSk6em8oKX1mdW5jdGlvbiB6bygpe0QoVm8sVm8uY3VycmVudCksRChQbyxQby5jdXJyZW50KX1mdW5jdGlvbiBCbyhlKXtBZShQbyksRm89PT1lJiYoRm89bnVsbCksQWUoVm8pfXZhciBWbz1rZSgwKTtmdW5jdGlvbiBIbyhlLHQpe0QoUG8sUG8uY3VycmVudCksRChWbyx0KX1mdW5jdGlvbiBVbyhlKXtBZShWbyksQWUoUG8pLEZvPT09ZSYmKEZvPW51bGwpfWZ1bmN0aW9uIFdvKGUpe2Zvcih2YXIgdD1lO3QhPT1udWxsOyl7aWYodC50YWc9PT0xMyl7dmFyIG49dC5tZW1vaXplZFN0YXRlO2lmKG4hPT1udWxsJiYobj1uLmRlaHlkcmF0ZWQsbj09PW51bGx8fG9tKG4pfHxzbShuKSkpcmV0dXJuIHR9ZWxzZSBpZih0LnRhZz09PTE5JiZ0Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIhPT1gaW5kZXBlbmRlbnRgKXtpZih0LmZsYWdzJjEyOClyZXR1cm4gdH1lbHNlIGlmKHQuY2hpbGQhPT1udWxsKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09ZSlicmVhaztmb3IoO3Quc2libGluZz09PW51bGw7KXtpZih0LnJldHVybj09PW51bGx8fHQucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIEdvPTAsUj1udWxsLHo9bnVsbCxLbz1udWxsLHFvPSExLEpvPSExLFlvPSExLFhvPTAsWm89MCxRbz1udWxsLCRvPTA7ZnVuY3Rpb24gQigpe3Rocm93IEVycm9yKGkoMzIxKSl9ZnVuY3Rpb24gZXMoZSx0KXtpZih0PT09bnVsbClyZXR1cm4hMTtmb3IodmFyIG49MDtuPHQubGVuZ3RoJiZuPGUubGVuZ3RoO24rKylpZighSnIoZVtuXSx0W25dKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiB0cyhlLHQsbixyLGksYSl7cmV0dXJuIEdvPWEsUj10LHQubWVtb2l6ZWRTdGF0ZT1udWxsLHQudXBkYXRlUXVldWU9bnVsbCx0LmxhbmVzPTAsVC5IPWU9PT1udWxsfHxlLm1lbW9pemVkU3RhdGU9PT1udWxsP3ZjOnljLFlvPSExLGE9bihyLGkpLFlvPSExLEpvJiYoYT1ycyh0LG4scixpKSksbnMoZSksYX1mdW5jdGlvbiBucyhlKXtULkg9X2M7dmFyIHQ9eiE9PW51bGwmJnoubmV4dCE9PW51bGw7aWYoR289MCxLbz16PVI9bnVsbCxxbz0hMSxabz0wLFFvPW51bGwsdCl0aHJvdyBFcnJvcihpKDMwMCkpO2U9PT1udWxsfHxJY3x8KGU9ZS5kZXBlbmRlbmNpZXMsZSE9PW51bGwmJkRhKGUpJiYoSWM9ITApKX1mdW5jdGlvbiBycyhlLHQsbixyKXtSPWU7dmFyIGE9MDtkb3tpZihKbyYmKFFvPW51bGwpLFpvPTAsSm89ITEsMjU8PWEpdGhyb3cgRXJyb3IoaSgzMDEpKTtpZihhKz0xLEtvPXo9bnVsbCxlLnVwZGF0ZVF1ZXVlIT1udWxsKXt2YXIgbz1lLnVwZGF0ZVF1ZXVlO28ubGFzdEVmZmVjdD1udWxsLG8uZXZlbnRzPW51bGwsby5zdG9yZXM9bnVsbCxvLm1lbW9DYWNoZSE9bnVsbCYmKG8ubWVtb0NhY2hlLmluZGV4PTApfVQuSD1iYyxvPXQobixyKX13aGlsZShKbyk7cmV0dXJuIG99ZnVuY3Rpb24gaXMoKXt2YXIgZT1ULkgsdD1lLnVzZVN0YXRlKClbMF07cmV0dXJuIHQ9dHlwZW9mIHQudGhlbj09YGZ1bmN0aW9uYD9kcyh0KTp0LGU9ZS51c2VTdGF0ZSgpWzBdLCh6PT09bnVsbD9udWxsOnoubWVtb2l6ZWRTdGF0ZSkhPT1lJiYoUi5mbGFnc3w9MTAyNCksdH1mdW5jdGlvbiBhcygpe3ZhciBlPVhvIT09MDtyZXR1cm4gWG89MCxlfWZ1bmN0aW9uIG9zKGUsdCxuKXt0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fm59ZnVuY3Rpb24gc3MoZSl7aWYocW8pe2ZvcihlPWUubWVtb2l6ZWRTdGF0ZTtlIT09bnVsbDspe3ZhciB0PWUucXVldWU7dCE9PW51bGwmJih0LnBlbmRpbmc9bnVsbCksZT1lLm5leHR9cW89ITF9R289MCxLbz16PVI9bnVsbCxKbz0hMSxabz1Ybz0wLFFvPW51bGx9ZnVuY3Rpb24gY3MoKXt2YXIgZT17bWVtb2l6ZWRTdGF0ZTpudWxsLGJhc2VTdGF0ZTpudWxsLGJhc2VRdWV1ZTpudWxsLHF1ZXVlOm51bGwsbmV4dDpudWxsfTtyZXR1cm4gS289PT1udWxsP1IubWVtb2l6ZWRTdGF0ZT1Lbz1lOktvPUtvLm5leHQ9ZSxLb31mdW5jdGlvbiBscygpe2lmKHo9PT1udWxsKXt2YXIgZT1SLmFsdGVybmF0ZTtlPWU9PT1udWxsP251bGw6ZS5tZW1vaXplZFN0YXRlfWVsc2UgZT16Lm5leHQ7dmFyIHQ9S289PT1udWxsP1IubWVtb2l6ZWRTdGF0ZTpLby5uZXh0O2lmKHQhPT1udWxsKUtvPXQsej1lO2Vsc2V7aWYoZT09PW51bGwpdGhyb3cgUi5hbHRlcm5hdGU9PT1udWxsP0Vycm9yKGkoNDY3KSk6RXJyb3IoaSgzMTApKTt6PWUsZT17bWVtb2l6ZWRTdGF0ZTp6Lm1lbW9pemVkU3RhdGUsYmFzZVN0YXRlOnouYmFzZVN0YXRlLGJhc2VRdWV1ZTp6LmJhc2VRdWV1ZSxxdWV1ZTp6LnF1ZXVlLG5leHQ6bnVsbH0sS289PT1udWxsP1IubWVtb2l6ZWRTdGF0ZT1Lbz1lOktvPUtvLm5leHQ9ZX1yZXR1cm4gS299ZnVuY3Rpb24gdXMoKXtyZXR1cm57bGFzdEVmZmVjdDpudWxsLGV2ZW50czpudWxsLHN0b3JlczpudWxsLG1lbW9DYWNoZTpudWxsfX1mdW5jdGlvbiBkcyhlKXt2YXIgdD1abztyZXR1cm4gWm8rPTEsUW89PT1udWxsJiYoUW89W10pLGU9cm8oUW8sZSx0KSx0PVIsKEtvPT09bnVsbD90Lm1lbW9pemVkU3RhdGU6S28ubmV4dCk9PT1udWxsJiYodD10LmFsdGVybmF0ZSxULkg9dD09PW51bGx8fHQubWVtb2l6ZWRTdGF0ZT09PW51bGw_dmM6eWMpLGV9ZnVuY3Rpb24gZnMoZSl7aWYodHlwZW9mIGU9PWBvYmplY3RgJiZlKXtpZih0eXBlb2YgZS50aGVuPT1gZnVuY3Rpb25gKXJldHVybiBkcyhlKTtpZihlLiQkdHlwZW9mPT09YmUpcmV0dXJuO2lmKGUuJCR0eXBlb2Y9PT11ZSlyZXR1cm4ga2EoZSl9dGhyb3cgRXJyb3IoaSg0MzgsU3RyaW5nKGUpKSl9ZnVuY3Rpb24gcHMoZSl7dmFyIHQ9bnVsbCxuPVIudXBkYXRlUXVldWU7aWYobiE9PW51bGwmJih0PW4ubWVtb0NhY2hlKSx0PT1udWxsKXt2YXIgcj1SLmFsdGVybmF0ZTtyIT09bnVsbCYmKHI9ci51cGRhdGVRdWV1ZSxyIT09bnVsbCYmKHI9ci5tZW1vQ2FjaGUsciE9bnVsbCYmKHQ9e2RhdGE6ci5kYXRhLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5zbGljZSgpfSksaW5kZXg6MH0pKSl9aWYodD8_PXtkYXRhOltdLGluZGV4OjB9LG49PT1udWxsJiYobj11cygpLFIudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCxuPXQuZGF0YVt0LmluZGV4XSxuPT09dm9pZCAwKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPXZlO3JldHVybiB0LmluZGV4Kyssbn1mdW5jdGlvbiBtcyhlLHQpe3JldHVybiB0eXBlb2YgdD09YGZ1bmN0aW9uYD90KGUpOnR9ZnVuY3Rpb24gaHMoZSl7cmV0dXJuIGdzKGxzKCkseixlKX1mdW5jdGlvbiBncyhlLHQsbil7dmFyIHI9ZS5xdWV1ZTtpZihyPT09bnVsbCl0aHJvdyBFcnJvcihpKDMxMSkpO3IubGFzdFJlbmRlcmVkUmVkdWNlcj1uO3ZhciBhPWUuYmFzZVF1ZXVlLG89ci5wZW5kaW5nO2lmKG8hPT1udWxsKXtpZihhIT09bnVsbCl7dmFyIHM9YS5uZXh0O2EubmV4dD1vLm5leHQsby5uZXh0PXN9dC5iYXNlUXVldWU9YT1vLHIucGVuZGluZz1udWxsfWlmKG89ZS5iYXNlU3RhdGUsYT09PW51bGwpZS5tZW1vaXplZFN0YXRlPW87ZWxzZXt0PWEubmV4dDt2YXIgYz1zPW51bGwsbD1udWxsLHU9dCxkPSExO2Rve3ZhciBmPXUubGFuZSYtNTM2ODcwOTEzO2lmKGY9PT11LmxhbmU_KEdvJmYpPT09ZjoocSZmKT09PWYpe3ZhciBwPXUucmV2ZXJ0TGFuZTtpZihwPT09MClsIT09bnVsbCYmKGw9bC5uZXh0PXtsYW5lOjAscmV2ZXJ0TGFuZTowLGdlc3R1cmU6bnVsbCxhY3Rpb246dS5hY3Rpb24saGFzRWFnZXJTdGF0ZTp1Lmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTp1LmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksZj09PUhhJiYoZD0hMCk7ZWxzZSBpZigoR28mcCk9PT1wKXt1PXUubmV4dCxwPT09SGEmJihkPSEwKTtjb250aW51ZX1lbHNlIGY9e2xhbmU6MCxyZXZlcnRMYW5lOnUucmV2ZXJ0TGFuZSxnZXN0dXJlOm51bGwsYWN0aW9uOnUuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6dS5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6dS5lYWdlclN0YXRlLG5leHQ6bnVsbH0sbD09PW51bGw_KGM9bD1mLHM9byk6bD1sLm5leHQ9ZixSLmxhbmVzfD1wLHNkfD1wO2Y9dS5hY3Rpb24sWW8mJm4obyxmKSxvPXUuaGFzRWFnZXJTdGF0ZT91LmVhZ2VyU3RhdGU6bihvLGYpfWVsc2UgcD17bGFuZTpmLHJldmVydExhbmU6dS5yZXZlcnRMYW5lLGdlc3R1cmU6dS5nZXN0dXJlLGFjdGlvbjp1LmFjdGlvbixoYXNFYWdlclN0YXRlOnUuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOnUuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LGw9PT1udWxsPyhjPWw9cCxzPW8pOmw9bC5uZXh0PXAsUi5sYW5lc3w9ZixzZHw9Zjt1PXUubmV4dH13aGlsZSh1IT09bnVsbCYmdSE9PXQpO2lmKGw9PT1udWxsP3M9bzpsLm5leHQ9YywhSnIobyxlLm1lbW9pemVkU3RhdGUpJiYoSWM9ITAsZCYmKG49VWEsbiE9PW51bGwpKSl0aHJvdyBuO2UubWVtb2l6ZWRTdGF0ZT1vLGUuYmFzZVN0YXRlPXMsZS5iYXNlUXVldWU9bCxyLmxhc3RSZW5kZXJlZFN0YXRlPW99cmV0dXJuIGE9PT1udWxsJiYoci5sYW5lcz0wKSxbZS5tZW1vaXplZFN0YXRlLHIuZGlzcGF0Y2hdfWZ1bmN0aW9uIF9zKGUpe3ZhciB0PWxzKCksbj10LnF1ZXVlO2lmKG49PT1udWxsKXRocm93IEVycm9yKGkoMzExKSk7bi5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9bi5kaXNwYXRjaCxhPW4ucGVuZGluZyxvPXQubWVtb2l6ZWRTdGF0ZTtpZihhIT09bnVsbCl7bi5wZW5kaW5nPW51bGw7dmFyIHM9YT1hLm5leHQ7ZG8gbz1lKG8scy5hY3Rpb24pLHM9cy5uZXh0O3doaWxlKHMhPT1hKTtKcihvLHQubWVtb2l6ZWRTdGF0ZSl8fChJYz0hMCksdC5tZW1vaXplZFN0YXRlPW8sdC5iYXNlUXVldWU9PT1udWxsJiYodC5iYXNlU3RhdGU9byksbi5sYXN0UmVuZGVyZWRTdGF0ZT1vfXJldHVybltvLHJdfWZ1bmN0aW9uIHZzKGUsdCxuKXt2YXIgcj1SLGE9bHMoKSxvPUk7aWYobyl7aWYobj09PXZvaWQgMCl0aHJvdyBFcnJvcihpKDQwNykpO249bigpfWVsc2Ugbj10KCk7dmFyIHM9IUpyKCh6fHxhKS5tZW1vaXplZFN0YXRlLG4pO2lmKHMmJihhLm1lbW9pemVkU3RhdGU9bixJYz0hMCksYT1hLnF1ZXVlLFVzKHhzLmJpbmQobnVsbCxyLGEsZSksW2VdKSxlPWEuZ2V0U25hcHNob3QhPT10fHxzfHxLbyE9PW51bGwmJiEhKEtvLm1lbW9pemVkU3RhdGUudGFnJjEpLFJzKGU_OTo4LHtkZXN0cm95OnZvaWQgMH0sYnMuYmluZChudWxsLHIsYSxuLHQpLG51bGwpLGUpe2lmKHIuZmxhZ3N8PTIwNDgsRz09PW51bGwpdGhyb3cgRXJyb3IoaSgzNDkpKTtvfHxHbyYxMjd8fHlzKHIsdCxuKX1yZXR1cm4gbn1mdW5jdGlvbiB5cyhlLHQsbil7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6dCx2YWx1ZTpufSx0PVIudXBkYXRlUXVldWUsdD09PW51bGw_KHQ9dXMoKSxSLnVwZGF0ZVF1ZXVlPXQsdC5zdG9yZXM9W2VdKToobj10LnN0b3JlcyxuPT09bnVsbD90LnN0b3Jlcz1bZV06bi5wdXNoKGUpKX1mdW5jdGlvbiBicyhlLHQsbixyKXt0LnZhbHVlPW4sdC5nZXRTbmFwc2hvdD1yLFNzKHQpJiZDcyhlKX1mdW5jdGlvbiB4cyhlLHQsbil7cmV0dXJuIG4oZnVuY3Rpb24oKXtTcyh0KSYmQ3MoZSl9KX1mdW5jdGlvbiBTcyhlKXt2YXIgdD1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIG49dCgpO3JldHVybiFKcihlLG4pfWNhdGNoe3JldHVybiEwfX1mdW5jdGlvbiBDcyhlKXt2YXIgdD1QaShlLDIpO3QhPT1udWxsJiZQZCh0LGUsMil9ZnVuY3Rpb24gd3MoZSl7dmFyIHQ9Y3MoKTtpZih0eXBlb2YgZT09YGZ1bmN0aW9uYCl7dmFyIG49ZTtpZihlPW4oKSxZbyl7YXQoITApO3RyeXtuKCl9ZmluYWxseXthdCghMSl9fX1yZXR1cm4gdC5tZW1vaXplZFN0YXRlPXQuYmFzZVN0YXRlPWUsdC5xdWV1ZT17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOm1zLGxhc3RSZW5kZXJlZFN0YXRlOmV9LHR9ZnVuY3Rpb24gVHMoZSx0LG4scil7cmV0dXJuIGUuYmFzZVN0YXRlPW4sZ3MoZSx6LHR5cGVvZiByPT1gZnVuY3Rpb25gP3I6bXMpfWZ1bmN0aW9uIEVzKGUsdCxuLHIsYSl7aWYobWMoZSkpdGhyb3cgRXJyb3IoaSg0ODUpKTtpZihlPXQuYWN0aW9uLGUhPT1udWxsKXt2YXIgbz17cGF5bG9hZDphLGFjdGlvbjplLG5leHQ6bnVsbCxpc1RyYW5zaXRpb246ITAsc3RhdHVzOmBwZW5kaW5nYCx2YWx1ZTpudWxsLHJlYXNvbjpudWxsLGxpc3RlbmVyczpbXSx0aGVuOmZ1bmN0aW9uKGUpe28ubGlzdGVuZXJzLnB1c2goZSl9fTtULlQ9PT1udWxsP28uaXNUcmFuc2l0aW9uPSExOm4oITApLHIobyksbj10LnBlbmRpbmcsbj09PW51bGw_KG8ubmV4dD10LnBlbmRpbmc9byxEcyh0LG8pKTooby5uZXh0PW4ubmV4dCx0LnBlbmRpbmc9bi5uZXh0PW8pfX1mdW5jdGlvbiBEcyhlLHQpe3ZhciBuPXQuYWN0aW9uLHI9dC5wYXlsb2FkLGk9ZS5zdGF0ZTtpZih0LmlzVHJhbnNpdGlvbil7dmFyIGE9VC5ULG89e307by50eXBlcz1hPT09bnVsbD9udWxsOmEudHlwZXMsVC5UPW87dHJ5e3ZhciBzPW4oaSxyKSxjPVQuUztjIT09bnVsbCYmYyhvLHMpLE9zKGUsdCxzKX1jYXRjaChuKXtBcyhlLHQsbil9ZmluYWxseXthIT09bnVsbCYmby50eXBlcyE9PW51bGwmJihhLnR5cGVzPW8udHlwZXMpLFQuVD1hfX1lbHNlIHRyeXthPW4oaSxyKSxPcyhlLHQsYSl9Y2F0Y2gobil7QXMoZSx0LG4pfX1mdW5jdGlvbiBPcyhlLHQsbil7dHlwZW9mIG49PWBvYmplY3RgJiZuJiZ0eXBlb2Ygbi50aGVuPT1gZnVuY3Rpb25gP24udGhlbihmdW5jdGlvbihuKXtrcyhlLHQsbil9LGZ1bmN0aW9uKG4pe3JldHVybiBBcyhlLHQsbil9KTprcyhlLHQsbil9ZnVuY3Rpb24ga3MoZSx0LG4pe3Quc3RhdHVzPWBmdWxmaWxsZWRgLHQudmFsdWU9bixqcyh0KSxlLnN0YXRlPW4sdD1lLnBlbmRpbmcsdCE9PW51bGwmJihuPXQubmV4dCxuPT09dD9lLnBlbmRpbmc9bnVsbDoobj1uLm5leHQsdC5uZXh0PW4sRHMoZSxuKSkpfWZ1bmN0aW9uIEFzKGUsdCxuKXt2YXIgcj1lLnBlbmRpbmc7aWYoZS5wZW5kaW5nPW51bGwsciE9PW51bGwpe3I9ci5uZXh0O2RvIHQuc3RhdHVzPWByZWplY3RlZGAsdC5yZWFzb249bixqcyh0KSx0PXQubmV4dDt3aGlsZSh0IT09cil9ZS5hY3Rpb249bnVsbH1mdW5jdGlvbiBqcyhlKXtlPWUubGlzdGVuZXJzO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9ZnVuY3Rpb24gTXMoZSx0KXtyZXR1cm4gdH1mdW5jdGlvbiBOcyhlLHQpe2lmKEkpe3ZhciBuPUcuZm9ybVN0YXRlO2lmKG4hPT1udWxsKXthOnt2YXIgcj1SO2lmKEkpe2lmKEYpe2I6e2Zvcih2YXIgaT1GLGE9dWE7aS5ub2RlVHlwZSE9PTg7KWlmKCFhfHwoaT1sbShpLm5leHRTaWJsaW5nKSxpPT09bnVsbCkpe2k9bnVsbDticmVhayBifWE9aS5kYXRhLGk9YT09PWBGIWB8fGE9PT1gRmA_aTpudWxsfWlmKGkpe0Y9bG0oaS5uZXh0U2libGluZykscj1pLmRhdGE9PT1gRiFgO2JyZWFrIGF9fWZhKHIpfXI9ITF9ciYmKHQ9blswXSl9fXJldHVybiBuPWNzKCksbi5tZW1vaXplZFN0YXRlPW4uYmFzZVN0YXRlPXQscj17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOk1zLGxhc3RSZW5kZXJlZFN0YXRlOnR9LG4ucXVldWU9cixuPWRjLmJpbmQobnVsbCxSLHIpLHIuZGlzcGF0Y2g9bixyPXdzKCExKSxhPXBjLmJpbmQobnVsbCxSLCExLHIucXVldWUpLHI9Y3MoKSxpPXtzdGF0ZTp0LGRpc3BhdGNoOm51bGwsYWN0aW9uOmUscGVuZGluZzpudWxsfSxyLnF1ZXVlPWksbj1Fcy5iaW5kKG51bGwsUixpLGEsbiksaS5kaXNwYXRjaD1uLHIubWVtb2l6ZWRTdGF0ZT1lLFt0LG4sITFdfWZ1bmN0aW9uIFBzKGUpe3JldHVybiBGcyhscygpLHosZSl9ZnVuY3Rpb24gRnMoZSx0LG4pe2lmKHQ9Z3MoZSx0LE1zKVswXSxlPWhzKG1zKVswXSx0eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmApdHJ5e3ZhciByPWRzKHQpfWNhdGNoKGUpe3Rocm93IGU9PT1RYT9lbzplfWVsc2Ugcj10O3Q9bHMoKTt2YXIgaT10LnF1ZXVlLGE9aS5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKFIuZmxhZ3N8PTIwNDgsUnMoOSx7ZGVzdHJveTp2b2lkIDB9LElzLmJpbmQobnVsbCxpLG4pLG51bGwpKSxbcixhLGVdfWZ1bmN0aW9uIElzKGUsdCl7ZS5hY3Rpb249dH1mdW5jdGlvbiBMcyhlKXt2YXIgdD1scygpLG49ejtpZihuIT09bnVsbClyZXR1cm4gRnModCxuLGUpO2xzKCksdD10Lm1lbW9pemVkU3RhdGUsbj1scygpO3ZhciByPW4ucXVldWUuZGlzcGF0Y2g7cmV0dXJuIG4ubWVtb2l6ZWRTdGF0ZT1lLFt0LHIsITFdfWZ1bmN0aW9uIFJzKGUsdCxuLHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXBzOnIsaW5zdDp0LG5leHQ6bnVsbH0sdD1SLnVwZGF0ZVF1ZXVlLHQ9PT1udWxsJiYodD11cygpLFIudXBkYXRlUXVldWU9dCksbj10Lmxhc3RFZmZlY3Qsbj09PW51bGw_dC5sYXN0RWZmZWN0PWUubmV4dD1lOihyPW4ubmV4dCxuLm5leHQ9ZSxlLm5leHQ9cix0Lmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiB6cygpe3JldHVybiBscygpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQnMoZSx0LG4scil7dmFyIGk9Y3MoKTtSLmZsYWdzfD1lLGkubWVtb2l6ZWRTdGF0ZT1ScygxfHQse2Rlc3Ryb3k6dm9pZCAwfSxuLHI9PT12b2lkIDA_bnVsbDpyKX1mdW5jdGlvbiBWcyhlLHQsbixyKXt2YXIgaT1scygpO3I9cj09PXZvaWQgMD9udWxsOnI7dmFyIGE9aS5tZW1vaXplZFN0YXRlLmluc3Q7eiE9PW51bGwmJnIhPT1udWxsJiZlcyhyLHoubWVtb2l6ZWRTdGF0ZS5kZXBzKT9pLm1lbW9pemVkU3RhdGU9UnModCxhLG4scik6KFIuZmxhZ3N8PWUsaS5tZW1vaXplZFN0YXRlPVJzKDF8dCxhLG4scikpfWZ1bmN0aW9uIEhzKGUsdCl7QnMoODM5MDY1Niw4LGUsdCl9ZnVuY3Rpb24gVXMoZSx0KXtWcygyMDQ4LDgsZSx0KX1mdW5jdGlvbiBXcyhlKXtSLmZsYWdzfD00O3ZhciB0PVIudXBkYXRlUXVldWU7aWYodD09PW51bGwpdD11cygpLFIudXBkYXRlUXVldWU9dCx0LmV2ZW50cz1bZV07ZWxzZXt2YXIgbj10LmV2ZW50cztuPT09bnVsbD90LmV2ZW50cz1bZV06bi5wdXNoKGUpfX1mdW5jdGlvbiBHcyhlKXt2YXIgdD1scygpLm1lbW9pemVkU3RhdGU7cmV0dXJuIFdzKHtyZWY6dCxuZXh0SW1wbDplfSksZnVuY3Rpb24oKXtpZihXJjIpdGhyb3cgRXJyb3IoaSg0NDApKTtyZXR1cm4gdC5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX1mdW5jdGlvbiBLcyhlLHQpe3JldHVybiBWcyg0LDIsZSx0KX1mdW5jdGlvbiBxcyhlLHQpe3JldHVybiBWcyg0LDQsZSx0KX1mdW5jdGlvbiBKcyhlLHQpe2lmKHR5cGVvZiB0PT1gZnVuY3Rpb25gKXtlPWUoKTt2YXIgbj10KGUpO3JldHVybiBmdW5jdGlvbigpe3R5cGVvZiBuPT1gZnVuY3Rpb25gP24oKTp0KG51bGwpfX1pZih0IT1udWxsKXJldHVybiBlPWUoKSx0LmN1cnJlbnQ9ZSxmdW5jdGlvbigpe3QuY3VycmVudD1udWxsfX1mdW5jdGlvbiBZcyhlLHQsbil7bj1uPT1udWxsP251bGw6bi5jb25jYXQoW2VdKSxWcyg0LDQsSnMuYmluZChudWxsLHQsZSksbil9ZnVuY3Rpb24gWHMoKXt9ZnVuY3Rpb24gWnMoZSx0KXt2YXIgbj1scygpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIHI9bi5tZW1vaXplZFN0YXRlO3JldHVybiB0IT09bnVsbCYmZXModCxyWzFdKT9yWzBdOihuLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9ZnVuY3Rpb24gUXMoZSx0KXt2YXIgbj1scygpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIHI9bi5tZW1vaXplZFN0YXRlO2lmKHQhPT1udWxsJiZlcyh0LHJbMV0pKXJldHVybiByWzBdO2lmKHI9ZSgpLFlvKXthdCghMCk7dHJ5e2UoKX1maW5hbGx5e2F0KCExKX19cmV0dXJuIG4ubWVtb2l6ZWRTdGF0ZT1bcix0XSxyfWZ1bmN0aW9uICRzKGUsdCxuKXtyZXR1cm4gbj09PXZvaWQgMHx8R28mMTA3Mzc0MTgyNCYmIShxJjI2MTkzMCk_ZS5tZW1vaXplZFN0YXRlPXQ6KGUubWVtb2l6ZWRTdGF0ZT1uLGU9TWQoKSxSLmxhbmVzfD1lLHNkfD1lLG4pfWZ1bmN0aW9uIGVjKGUsdCxuLHIpe3JldHVybiBKcihuLHQpP246a28uY3VycmVudD09PW51bGw_IShHbyYxMDYpfHxHbyYxMDczNzQxODI0JiYhKHEmMjYxOTMwKT8oSWM9ITAsZS5tZW1vaXplZFN0YXRlPW4pOihlPU1kKCksUi5sYW5lc3w9ZSxzZHw9ZSx0KTooZT0kcyhlLG4sciksSnIoZSx0KXx8KEljPSEwKSxlKX1mdW5jdGlvbiB0YyhlLHQsbixyLGkpe3ZhciBhPUUucDtFLnA9YSE9PTAmJjg-YT9hOjg7dmFyIG89VC5ULHM9e307cy50eXBlcz1vPT09bnVsbD9udWxsOm8udHlwZXMsVC5UPXMscGMoZSwhMSx0LG4pO3RyeXt2YXIgYz1pKCksbD1ULlM7bCE9PW51bGwmJmwocyxjKSx0eXBlb2YgYz09YG9iamVjdGAmJmMmJnR5cGVvZiBjLnRoZW49PWBmdW5jdGlvbmA_ZmMoZSx0LEthKGMsciksamQoZSkpOmZjKGUsdCxyLGpkKGUpKX1jYXRjaChuKXtmYyhlLHQse3RoZW46ZnVuY3Rpb24oKXt9LHN0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjpufSxqZCgpKX1maW5hbGx5e0UucD1hLG8hPT1udWxsJiZzLnR5cGVzIT09bnVsbCYmKG8udHlwZXM9cy50eXBlcyksVC5UPW99fWZ1bmN0aW9uIG5jKCl7fWZ1bmN0aW9uIHJjKGUsdCxuLHIpe2lmKGUudGFnIT09NSl0aHJvdyBFcnJvcihpKDQ3NikpO3ZhciBhPWljKGUpLnF1ZXVlO3RjKGUsYSx0LEVlLG49PT1udWxsP25jOmZ1bmN0aW9uKCl7cmV0dXJuIGFjKGUpLG4ocil9KX1mdW5jdGlvbiBpYyhlKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYodCE9PW51bGwpcmV0dXJuIHQ7dD17bWVtb2l6ZWRTdGF0ZTpFZSxiYXNlU3RhdGU6RWUsYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjptcyxsYXN0UmVuZGVyZWRTdGF0ZTpFZX0sbmV4dDpudWxsfTt2YXIgbj17fTtyZXR1cm4gdC5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjptcyxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LGU9ZS5hbHRlcm5hdGUsZSE9PW51bGwmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBhYyhlKXt2YXIgdD1pYyhlKTt0Lm5leHQ9PT1udWxsJiYodD1lLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxmYyhlLHQubmV4dC5xdWV1ZSx7fSxqZCgpKX1mdW5jdGlvbiBvYygpe3JldHVybiBrYShzaCl9ZnVuY3Rpb24gc2MoKXtyZXR1cm4gbHMoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIGNjKCl7cmV0dXJuIGxzKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBsYyhlKXtmb3IodmFyIHQ9ZS5yZXR1cm47dCE9PW51bGw7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPWpkKCk7ZT1ibyhuKTt2YXIgcj14byh0LGUsbik7ciE9PW51bGwmJihQZChyLHQsbiksU28ocix0LG4pKSx0PXtjYWNoZTpGYSgpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gdWMoZSx0LG4pe3ZhciByPWpkKCk7bj17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxtYyhlKT9oYyh0LG4pOihuPU5pKGUsdCxuLHIpLG4hPT1udWxsJiYoUGQobixlLHIpLGdjKG4sdCxyKSkpfWZ1bmN0aW9uIGRjKGUsdCxuKXtmYyhlLHQsbixqZCgpKX1mdW5jdGlvbiBmYyhlLHQsbixyKXt2YXIgaT17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfTtpZihtYyhlKSloYyh0LGkpO2Vsc2V7dmFyIGE9ZS5hbHRlcm5hdGU7aWYoZS5sYW5lcz09PTAmJihhPT09bnVsbHx8YS5sYW5lcz09PTApJiYoYT10Lmxhc3RSZW5kZXJlZFJlZHVjZXIsYSE9PW51bGwpKXRyeXt2YXIgbz10Lmxhc3RSZW5kZXJlZFN0YXRlLHM9YShvLG4pO2lmKGkuaGFzRWFnZXJTdGF0ZT0hMCxpLmVhZ2VyU3RhdGU9cyxKcihzLG8pKXJldHVybiBNaShlLHQsaSwwKSxHPT09bnVsbCYmamkoKSwhMX1jYXRjaHt9aWYobj1OaShlLHQsaSxyKSxuIT09bnVsbClyZXR1cm4gUGQobixlLHIpLGdjKG4sdCxyKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBwYyhlLHQsbixyKXtpZihyPXtsYW5lOjIscmV2ZXJ0TGFuZTpQZigpLGdlc3R1cmU6bnVsbCxhY3Rpb246cixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LG1jKGUpKXtpZih0KXRocm93IEVycm9yKGkoNDc5KSl9ZWxzZSB0PU5pKGUsbixyLDIpLHQhPT1udWxsJiZQZCh0LGUsMil9ZnVuY3Rpb24gbWMoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1SfHx0IT09bnVsbCYmdD09PVJ9ZnVuY3Rpb24gaGMoZSx0KXtKbz1xbz0hMDt2YXIgbj1lLnBlbmRpbmc7bj09PW51bGw_dC5uZXh0PXQ6KHQubmV4dD1uLm5leHQsbi5uZXh0PXQpLGUucGVuZGluZz10fWZ1bmN0aW9uIGdjKGUsdCxuKXtpZihuJjQxOTQwNDgpe3ZhciByPXQubGFuZXM7ciY9ZS5wZW5kaW5nTGFuZXMsbnw9cix0LmxhbmVzPW4sQ3QoZSxuKX19dmFyIF9jPXtyZWFkQ29udGV4dDprYSx1c2U6ZnMsdXNlQ2FsbGJhY2s6Qix1c2VDb250ZXh0OkIsdXNlRWZmZWN0OkIsdXNlSW1wZXJhdGl2ZUhhbmRsZTpCLHVzZUxheW91dEVmZmVjdDpCLHVzZUluc2VydGlvbkVmZmVjdDpCLHVzZU1lbW86Qix1c2VSZWR1Y2VyOkIsdXNlUmVmOkIsdXNlU3RhdGU6Qix1c2VEZWJ1Z1ZhbHVlOkIsdXNlRGVmZXJyZWRWYWx1ZTpCLHVzZVRyYW5zaXRpb246Qix1c2VTeW5jRXh0ZXJuYWxTdG9yZTpCLHVzZUlkOkIsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6Qix1c2VGb3JtU3RhdGU6Qix1c2VBY3Rpb25TdGF0ZTpCLHVzZU9wdGltaXN0aWM6Qix1c2VNZW1vQ2FjaGU6Qix1c2VDYWNoZVJlZnJlc2g6Qix1c2VFZmZlY3RFdmVudDpCfSx2Yz17cmVhZENvbnRleHQ6a2EsdXNlOmZzLHVzZUNhbGxiYWNrOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNzKCkubWVtb2l6ZWRTdGF0ZT1bZSx0PT09dm9pZCAwP251bGw6dF0sZX0sdXNlQ29udGV4dDprYSx1c2VFZmZlY3Q6SHMsdXNlSW1wZXJhdGl2ZUhhbmRsZTpmdW5jdGlvbihlLHQsbil7bj1uPT1udWxsP251bGw6bi5jb25jYXQoW2VdKSxCcyg0MTk0MzA4LDQsSnMuYmluZChudWxsLHQsZSksbil9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLHQpe3JldHVybiBCcyg0MTk0MzA4LDQsZSx0KX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsdCl7QnMoNCwyLGUsdCl9LHVzZU1lbW86ZnVuY3Rpb24oZSx0KXt2YXIgbj1jcygpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIHI9ZSgpO2lmKFlvKXthdCghMCk7dHJ5e2UoKX1maW5hbGx5e2F0KCExKX19cmV0dXJuIG4ubWVtb2l6ZWRTdGF0ZT1bcix0XSxyfSx1c2VSZWR1Y2VyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1jcygpO2lmKG4hPT12b2lkIDApe3ZhciBpPW4odCk7aWYoWW8pe2F0KCEwKTt0cnl7bih0KX1maW5hbGx5e2F0KCExKX19fWVsc2UgaT10O3JldHVybiByLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9aSxlPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6ZSxsYXN0UmVuZGVyZWRTdGF0ZTppfSxyLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPXVjLmJpbmQobnVsbCxSLGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXt2YXIgdD1jcygpO3JldHVybiBlPXtjdXJyZW50OmV9LHQubWVtb2l6ZWRTdGF0ZT1lfSx1c2VTdGF0ZTpmdW5jdGlvbihlKXtlPXdzKGUpO3ZhciB0PWUucXVldWUsbj1kYy5iaW5kKG51bGwsUix0KTtyZXR1cm4gdC5kaXNwYXRjaD1uLFtlLm1lbW9pemVkU3RhdGUsbl19LHVzZURlYnVnVmFsdWU6WHMsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiAkcyhjcygpLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT13cyghMSk7cmV0dXJuIGU9dGMuYmluZChudWxsLFIsZS5xdWV1ZSwhMCwhMSksY3MoKS5tZW1vaXplZFN0YXRlPWUsWyExLGVdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9UixhPWNzKCk7aWYoSSl7aWYobj09PXZvaWQgMCl0aHJvdyBFcnJvcihpKDQwNykpO249bigpfWVsc2V7aWYobj10KCksRz09PW51bGwpdGhyb3cgRXJyb3IoaSgzNDkpKTtxJjEyN3x8eXMocix0LG4pfWEubWVtb2l6ZWRTdGF0ZT1uO3ZhciBvPXt2YWx1ZTpuLGdldFNuYXBzaG90OnR9O3JldHVybiBhLnF1ZXVlPW8sSHMoeHMuYmluZChudWxsLHIsbyxlKSxbZV0pLHIuZmxhZ3N8PTIwNDgsUnMoOSx7ZGVzdHJveTp2b2lkIDB9LGJzLmJpbmQobnVsbCxyLG8sbix0KSxudWxsKSxufSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPWNzKCksdD1HLmlkZW50aWZpZXJQcmVmaXg7aWYoSSl7dmFyIG49cmEscj1uYTtuPShyJn4oMTw8MzItb3QociktMSkpLnRvU3RyaW5nKDMyKStuLHQ9YF9gK3QrYFJfYCtuLG49WG8rKywwPG4mJih0Kz1gSGArbi50b1N0cmluZygzMikpLHQrPWBfYH1lbHNlIG49JG8rKyx0PWBfYCt0K2ByX2Arbi50b1N0cmluZygzMikrYF9gO3JldHVybiBlLm1lbW9pemVkU3RhdGU9dH0sdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2MsdXNlRm9ybVN0YXRlOk5zLHVzZUFjdGlvblN0YXRlOk5zLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSl7dmFyIHQ9Y3MoKTt0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9ZTt2YXIgbj17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOm51bGwsbGFzdFJlbmRlcmVkU3RhdGU6bnVsbH07cmV0dXJuIHQucXVldWU9bix0PXBjLmJpbmQobnVsbCxSLCEwLG4pLG4uZGlzcGF0Y2g9dCxbZSx0XX0sdXNlTWVtb0NhY2hlOnBzLHVzZUNhY2hlUmVmcmVzaDpmdW5jdGlvbigpe3JldHVybiBjcygpLm1lbW9pemVkU3RhdGU9bGMuYmluZChudWxsLFIpfSx1c2VFZmZlY3RFdmVudDpmdW5jdGlvbihlKXt2YXIgdD1jcygpLG49e2ltcGw6ZX07cmV0dXJuIHQubWVtb2l6ZWRTdGF0ZT1uLGZ1bmN0aW9uKCl7aWYoVyYyKXRocm93IEVycm9yKGkoNDQwKSk7cmV0dXJuIG4uaW1wbC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSx5Yz17cmVhZENvbnRleHQ6a2EsdXNlOmZzLHVzZUNhbGxiYWNrOlpzLHVzZUNvbnRleHQ6a2EsdXNlRWZmZWN0OlVzLHVzZUltcGVyYXRpdmVIYW5kbGU6WXMsdXNlSW5zZXJ0aW9uRWZmZWN0OktzLHVzZUxheW91dEVmZmVjdDpxcyx1c2VNZW1vOlFzLHVzZVJlZHVjZXI6aHMsdXNlUmVmOnpzLHVzZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGhzKG1zKX0sdXNlRGVidWdWYWx1ZTpYcyx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGVjKGxzKCksei5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1ocyhtcylbMF0sdD1scygpLm1lbW9pemVkU3RhdGU7cmV0dXJuW3R5cGVvZiBlPT1gYm9vbGVhbmA_ZTpkcyhlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6dnMsdXNlSWQ6c2MsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2MsdXNlRm9ybVN0YXRlOlBzLHVzZUFjdGlvblN0YXRlOlBzLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVHMobHMoKSx6LGUsdCl9LHVzZU1lbW9DYWNoZTpwcyx1c2VDYWNoZVJlZnJlc2g6Y2MsdXNlRWZmZWN0RXZlbnQ6R3N9LGJjPXtyZWFkQ29udGV4dDprYSx1c2U6ZnMsdXNlQ2FsbGJhY2s6WnMsdXNlQ29udGV4dDprYSx1c2VFZmZlY3Q6VXMsdXNlSW1wZXJhdGl2ZUhhbmRsZTpZcyx1c2VJbnNlcnRpb25FZmZlY3Q6S3MsdXNlTGF5b3V0RWZmZWN0OnFzLHVzZU1lbW86UXMsdXNlUmVkdWNlcjpfcyx1c2VSZWY6enMsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3MobXMpfSx1c2VEZWJ1Z1ZhbHVlOlhzLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1scygpO3JldHVybiB6PT09bnVsbD8kcyhuLGUsdCk6ZWMobix6Lm1lbW9pemVkU3RhdGUsZSx0KX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPV9zKG1zKVswXSx0PWxzKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bdHlwZW9mIGU9PWBib29sZWFuYD9lOmRzKGUpLHRdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTp2cyx1c2VJZDpzYyx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czpvYyx1c2VGb3JtU3RhdGU6THMsdXNlQWN0aW9uU3RhdGU6THMsdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihlLHQpe3ZhciBuPWxzKCk7cmV0dXJuIHo9PT1udWxsPyhuLmJhc2VTdGF0ZT1lLFtlLG4ucXVldWUuZGlzcGF0Y2hdKTpUcyhuLHosZSx0KX0sdXNlTWVtb0NhY2hlOnBzLHVzZUNhY2hlUmVmcmVzaDpjYyx1c2VFZmZlY3RFdmVudDpHc307ZnVuY3Rpb24geGMoZSx0LG4scil7dD1lLm1lbW9pemVkU3RhdGUsbj1uKHIsdCksbj1uPT1udWxsP3Q6dyh7fSx0LG4pLGUubWVtb2l6ZWRTdGF0ZT1uLGUubGFuZXM9PT0wJiYoZS51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9bil9dmFyIFNjPXtlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oZSx0LG4pe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIHI9amQoKSxpPWJvKHIpO2kucGF5bG9hZD10LG4hPW51bGwmJihpLmNhbGxiYWNrPW4pLHQ9eG8oZSxpLHIpLHQhPT1udWxsJiYoUGQodCxlLHIpLFNvKHQsZSxyKSl9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oZSx0LG4pe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIHI9amQoKSxpPWJvKHIpO2kudGFnPTEsaS5wYXlsb2FkPXQsbiE9bnVsbCYmKGkuY2FsbGJhY2s9biksdD14byhlLGksciksdCE9PW51bGwmJihQZCh0LGUsciksU28odCxlLHIpKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKGUsdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgbj1qZCgpLHI9Ym8obik7ci50YWc9Mix0IT1udWxsJiYoci5jYWxsYmFjaz10KSx0PXhvKGUscixuKSx0IT09bnVsbCYmKFBkKHQsZSxuKSxTbyh0LGUsbikpfX07ZnVuY3Rpb24gQ2MoZSx0LG4scixpLGEsbyl7cmV0dXJuIGU9ZS5zdGF0ZU5vZGUsdHlwZW9mIGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPT1gZnVuY3Rpb25gP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSxvKTp0LnByb3RvdHlwZSYmdC5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQ_IVlyKG4scil8fCFZcihpLGEpOiEwfWZ1bmN0aW9uIHdjKGUsdCxuLHIpe2U9dC5zdGF0ZSx0eXBlb2YgdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzPT1gZnVuY3Rpb25gJiZ0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobixyKSx0eXBlb2YgdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcz09YGZ1bmN0aW9uYCYmdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLHQuc3RhdGUhPT1lJiZTYy5lbnF1ZXVlUmVwbGFjZVN0YXRlKHQsdC5zdGF0ZSxudWxsKX1mdW5jdGlvbiBUYyhlLHQpe3ZhciBuPXQ7aWYoYHJlZmBpbiB0KWZvcih2YXIgciBpbiBuPXt9LHQpciE9PWByZWZgJiYobltyXT10W3JdKTtpZihlPWUuZGVmYXVsdFByb3BzKWZvcih2YXIgaSBpbiBuPT09dCYmKG49dyh7fSxuKSksZSluW2ldPT09dm9pZCAwJiYobltpXT1lW2ldKTtyZXR1cm4gbn1mdW5jdGlvbiBFYyhlKXtEaShlKX1mdW5jdGlvbiBEYyhlKXtjb25zb2xlLmVycm9yKGUpfWZ1bmN0aW9uIE9jKGUpe0RpKGUpfWZ1bmN0aW9uIGtjKGUsdCl7dHJ5e3ZhciBuPWUub25VbmNhdWdodEVycm9yO24odC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6dC5zdGFja30pfWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9fWZ1bmN0aW9uIEFjKGUsdCxuKXt0cnl7dmFyIHI9ZS5vbkNhdWdodEVycm9yO3Iobi52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bi5zdGFjayxlcnJvckJvdW5kYXJ5OnQudGFnPT09MT90LnN0YXRlTm9kZTpudWxsfSl9Y2F0Y2goZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9KX19ZnVuY3Rpb24gamMoZSx0LG4pe3JldHVybiBuPWJvKG4pLG4udGFnPTMsbi5wYXlsb2FkPXtlbGVtZW50Om51bGx9LG4uY2FsbGJhY2s9ZnVuY3Rpb24oKXtrYyhlLHQpfSxufWZ1bmN0aW9uIE1jKGUpe3JldHVybiBlPWJvKGUpLGUudGFnPTMsZX1mdW5jdGlvbiBOYyhlLHQsbixyKXt2YXIgaT1uLnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yO2lmKHR5cGVvZiBpPT1gZnVuY3Rpb25gKXt2YXIgYT1yLnZhbHVlO2UucGF5bG9hZD1mdW5jdGlvbigpe3JldHVybiBpKGEpfSxlLmNhbGxiYWNrPWZ1bmN0aW9uKCl7QWModCxuLHIpfX12YXIgbz1uLnN0YXRlTm9kZTtvIT09bnVsbCYmdHlwZW9mIG8uY29tcG9uZW50RGlkQ2F0Y2g9PWBmdW5jdGlvbmAmJihlLmNhbGxiYWNrPWZ1bmN0aW9uKCl7QWModCxuLHIpLHR5cGVvZiBpIT1gZnVuY3Rpb25gJiYoeWQ9PT1udWxsP3lkPW5ldyBTZXQoW3RoaXNdKTp5ZC5hZGQodGhpcykpO3ZhciBlPXIuc3RhY2s7dGhpcy5jb21wb25lbnREaWRDYXRjaChyLnZhbHVlLHtjb21wb25lbnRTdGFjazplPT09bnVsbD9gYDplfSl9KX1mdW5jdGlvbiBQYyhlLHQsbixyLGEpe2lmKG4uZmxhZ3N8PTMyNzY4LHR5cGVvZiByPT1gb2JqZWN0YCYmciYmdHlwZW9mIHIudGhlbj09YGZ1bmN0aW9uYCl7aWYodD1uLmFsdGVybmF0ZSx0IT09bnVsbCYmRWEodCxuLGEsITApLG49UG8uY3VycmVudCxuIT09bnVsbCl7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gRm89PT1udWxsP0tkKCk6bi5hbHRlcm5hdGU9PT1udWxsJiZZPT09MCYmKFk9Myksbi5mbGFncyY9LTI1NyxuLmZsYWdzfD02NTUzNixuLmxhbmVzPWEscj09PXRvP24uZmxhZ3N8PTE2Mzg0Oih0PW4udXBkYXRlUXVldWUsdD09PW51bGw_bi51cGRhdGVRdWV1ZT1uZXcgU2V0KFtyXSk6dC5hZGQociksbWYoZSxyLGEpKSwhMTtjYXNlIDIyOnJldHVybiBuLmZsYWdzfD02NTUzNixyPT09dG8_bi5mbGFnc3w9MTYzODQ6KHQ9bi51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD17dHJhbnNpdGlvbnM6bnVsbCxtYXJrZXJJbnN0YW5jZXM6bnVsbCxyZXRyeVF1ZXVlOm5ldyBTZXQoW3JdKX0sbi51cGRhdGVRdWV1ZT10KToobj10LnJldHJ5UXVldWUsbj09PW51bGw_dC5yZXRyeVF1ZXVlPW5ldyBTZXQoW3JdKTpuLmFkZChyKSksbWYoZSxyLGEpKSwhMX10aHJvdyBFcnJvcihpKDQzNSxuLnRhZykpfXJldHVybiBtZihlLHIsYSksS2QoKSwhMX1pZihJKXJldHVybiB0PVBvLmN1cnJlbnQsdD09PW51bGw_KHIhPT1kYSYmKHQ9RXJyb3IoaSg0MjMpLHtjYXVzZTpyfSksdmEoWWkodCxuKSkpLGU9ZS5jdXJyZW50LmFsdGVybmF0ZSxlLmZsYWdzfD02NTUzNixhJj0tYSxlLmxhbmVzfD1hLHI9WWkocixuKSxhPWpjKGUuc3RhdGVOb2RlLHIsYSksQ28oZSxhKSxZIT09NCYmKFk9MikpOighKHQuZmxhZ3MmNjU1MzYpJiYodC5mbGFnc3w9MjU2KSx0LmZsYWdzfD02NTUzNix0LmxhbmVzPWEsciE9PWRhJiYoZT1FcnJvcihpKDQyMikse2NhdXNlOnJ9KSx2YShZaShlLG4pKSkpLCExO3ZhciBvPUVycm9yKGkoNTIwKSx7Y2F1c2U6cn0pO2lmKG89WWkobyxuKSxmZD09PW51bGw_ZmQ9W29dOmZkLnB1c2gobyksWSE9PTQmJihZPTIpLHQ9PT1udWxsKXJldHVybiEwO3I9WWkocixuKSxuPXQ7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LGU9YSYtYSxuLmxhbmVzfD1lLGU9amMobi5zdGF0ZU5vZGUscixlKSxDbyhuLGUpLCExO2Nhc2UgMTppZih0PW4udHlwZSxvPW4uc3RhdGVOb2RlLCEobi5mbGFncyYxMjgpJiYodHlwZW9mIHQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yPT1gZnVuY3Rpb25gfHxvIT09bnVsbCYmdHlwZW9mIG8uY29tcG9uZW50RGlkQ2F0Y2g9PWBmdW5jdGlvbmAmJih5ZD09PW51bGx8fCF5ZC5oYXMobykpKSlyZXR1cm4gbi5mbGFnc3w9NjU1MzYsYSY9LWEsbi5sYW5lc3w9YSxhPU1jKGEpLE5jKGEsZSxuLHIpLENvKG4sYSksITE7YnJlYWs7Y2FzZSAyMjppZihuLm1lbW9pemVkU3RhdGUhPT1udWxsKXJldHVybiBuLmZsYWdzfD02NTUzNiwhMX1uPW4ucmV0dXJufXdoaWxlKG4hPT1udWxsKTtyZXR1cm4hMX12YXIgRmM9RXJyb3IoaSg0NjEpKSxJYz0hMTtmdW5jdGlvbiBMYyhlLHQsbixyKXt0LmNoaWxkPWU9PT1udWxsP2dvKHQsbnVsbCxuLHIpOmhvKHQsZS5jaGlsZCxuLHIpfWZ1bmN0aW9uIFJjKGUsdCxuLHIsaSl7bj1uLnJlbmRlcjt2YXIgYT10LnJlZjtpZihgcmVmYGluIHIpe3ZhciBvPXt9O2Zvcih2YXIgcyBpbiByKXMhPT1gcmVmYCYmKG9bc109cltzXSl9ZWxzZSBvPXI7cmV0dXJuIE9hKHQpLHI9dHMoZSx0LG4sbyxhLGkpLHM9YXMoKSxlIT09bnVsbCYmIUljPyhvcyhlLHQsaSksZmwoZSx0LGkpKTooSSYmcyYmb2EodCksdC5mbGFnc3w9MSxMYyhlLHQscixpKSx0LmNoaWxkKX1mdW5jdGlvbiB6YyhlLHQsbixyLGkpe2lmKGU9PT1udWxsKXt2YXIgYT1uLnR5cGU7cmV0dXJuIHR5cGVvZiBhPT1gZnVuY3Rpb25gJiYhQmkoYSkmJmEuZGVmYXVsdFByb3BzPT09dm9pZCAwJiZuLmNvbXBhcmU9PT1udWxsPyh0LnRhZz0xNSx0LnR5cGU9YSxCYyhlLHQsYSxyLGkpKTooZT1VaShuLnR5cGUsbnVsbCxyLHQsdC5tb2RlLGkpLGUucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lKX1pZihhPWUuY2hpbGQsIXBsKGUsaSkpe3ZhciBvPWEubWVtb2l6ZWRQcm9wcztpZihuPW4uY29tcGFyZSxuPW49PT1udWxsP1lyOm4sbihvLHIpJiZlLnJlZj09PXQucmVmKXJldHVybiBmbChlLHQsaSl9cmV0dXJuIHQuZmxhZ3N8PTEsZT1WaShhLHIpLGUucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lfWZ1bmN0aW9uIEJjKGUsdCxuLHIsaSl7aWYoZSE9PW51bGwpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihZcihhLHIpJiZlLnJlZj09PXQucmVmKXtpZihJYz0hMSx0LnBlbmRpbmdQcm9wcz1yPWEscGwoZSxpKSllLmZsYWdzJjEzMTA3MiYmKEljPSEwKTtlbHNlIHJldHVybiB0LmxhbmVzPWUubGFuZXMsZmwoZSx0LGkpfX1yZXR1cm4gSmMoZSx0LG4scixpKX1mdW5jdGlvbiBWYyhlLHQsbixyKXt2YXIgaT1yLmNoaWxkcmVuLGE9ZT09PW51bGw_bnVsbDplLm1lbW9pemVkU3RhdGU7aWYoZT09PW51bGwmJnQuc3RhdGVOb2RlPT09bnVsbCYmKHQuc3RhdGVOb2RlPXtfdmlzaWJpbGl0eToxLF9wZW5kaW5nTWFya2VyczpudWxsLF9yZXRyeUNhY2hlOm51bGwsX3RyYW5zaXRpb25zOm51bGx9KSxyLm1vZGU9PT1gaGlkZGVuYCl7aWYodC5mbGFncyYxMjgpe2lmKGE9YT09PW51bGw_bjphLmJhc2VMYW5lc3xuLGUhPT1udWxsKXtmb3Iocj10LmNoaWxkPWUuY2hpbGQsaT0wO3IhPT1udWxsOylpPWl8ci5sYW5lc3xyLmNoaWxkTGFuZXMscj1yLnNpYmxpbmc7cj1pJn5hfWVsc2Ugcj0wLHQuY2hpbGQ9bnVsbDtyZXR1cm4gVWMoZSx0LGEsbixyKX1pZihuJjUzNjg3MDkxMil0Lm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsfSxlIT09bnVsbCYmWGEodCxhPT09bnVsbD9udWxsOmEuY2FjaGVQb29sKSxhPT09bnVsbD9NbygpOmpvKHQsYSksUm8odCk7ZWxzZSByZXR1cm4gcj10LmxhbmVzPTUzNjg3MDkxMixVYyhlLHQsYT09PW51bGw_bjphLmJhc2VMYW5lc3xuLG4scil9ZWxzZSBhPT09bnVsbD8oZSE9PW51bGwmJlhhKHQsbnVsbCksTW8oKSx6bygpKTooWGEodCxhLmNhY2hlUG9vbCksam8odCxhKSx6bygpLHQubWVtb2l6ZWRTdGF0ZT1udWxsKTtyZXR1cm4gTGMoZSx0LGksbiksdC5jaGlsZH1mdW5jdGlvbiBIYyhlLHQpe3JldHVybiBlIT09bnVsbCYmZS50YWc9PT0yMnx8dC5zdGF0ZU5vZGUhPT1udWxsfHwodC5zdGF0ZU5vZGU9e192aXNpYmlsaXR5OjEsX3BlbmRpbmdNYXJrZXJzOm51bGwsX3JldHJ5Q2FjaGU6bnVsbCxfdHJhbnNpdGlvbnM6bnVsbH0pLHQuc2libGluZ31mdW5jdGlvbiBVYyhlLHQsbixyLGkpe3ZhciBhPVlhKCk7cmV0dXJuIGE9YT09PW51bGw_bnVsbDp7cGFyZW50OkwuX2N1cnJlbnRWYWx1ZSxwb29sOmF9LHQubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOm4sY2FjaGVQb29sOmF9LGUhPT1udWxsJiZYYSh0LG51bGwpLE1vKCksUm8odCksZSE9PW51bGwmJkVhKGUsdCxyLCEwKSx0LmNoaWxkTGFuZXM9aSxudWxsfWZ1bmN0aW9uIFdjKGUsdCl7cmV0dXJuIHQ9cmwoe21vZGU6dC5tb2RlLGNoaWxkcmVuOnQuY2hpbGRyZW59LGUubW9kZSksdC5yZWY9ZS5yZWYsZS5jaGlsZD10LHQucmV0dXJuPWUsdH1mdW5jdGlvbiBHYyhlLHQsbil7cmV0dXJuIGhvKHQsZS5jaGlsZCxudWxsLG4pLGU9V2ModCx0LnBlbmRpbmdQcm9wcyksZS5mbGFnc3w9MixCbyh0KSx0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEtjKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxhPSEhKHQuZmxhZ3MmMTI4KTtpZih0LmZsYWdzJj0tMTI5LGU9PT1udWxsKXtpZihJKXtpZihyLm1vZGU9PT1gaGlkZGVuYClyZXR1cm4gZT1XYyh0LHIpLHQubGFuZXM9NTM2ODcwOTEyLGUubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LEhjKG51bGwsZSk7aWYoTG8odCksKGU9Rik_KGU9YW0oZSx1YSksZT1lIT09bnVsbCYmZS5kYXRhPT09YCZgP2U6bnVsbCxlIT09bnVsbCYmKHQubWVtb2l6ZWRTdGF0ZT17ZGVoeWRyYXRlZDplLHRyZWVDb250ZXh0OnRhPT09bnVsbD9udWxsOntpZDpuYSxvdmVyZmxvdzpyYX0scmV0cnlMYW5lOjUzNjg3MDkxMixoeWRyYXRpb25FcnJvcnM6bnVsbH0sbj1LaShlKSxuLnJldHVybj10LHQuY2hpbGQ9bixQPXQsRj1udWxsKSk6ZT1udWxsLGU9PT1udWxsKXRocm93IGZhKHQpO3JldHVybiB0LmxhbmVzPTUzNjg3MDkxMixudWxsfXJldHVybiBXYyh0LHIpfXZhciBvPWUubWVtb2l6ZWRTdGF0ZTtpZihvIT09bnVsbCl7dmFyIHM9by5kZWh5ZHJhdGVkO2lmKExvKHQpLGEpe2lmKHQuZmxhZ3MmMjU2KXQuZmxhZ3MmPS0yNTcsdD1HYyhlLHQsbik7ZWxzZSBpZih0Lm1lbW9pemVkU3RhdGUhPT1udWxsKXQuY2hpbGQ9ZS5jaGlsZCx0LmZsYWdzfD0xMjgsdD1udWxsO2Vsc2UgdGhyb3cgRXJyb3IoaSg1NTgpKX1lbHNlIGlmKEljfHxFYShlLHQsbiwhMSksYT0obiZlLmNoaWxkTGFuZXMpIT09MCxJY3x8YSl7aWYoa28uY3VycmVudD09PW51bGwpe2lmKHI9RyxyIT09bnVsbCYmKHM9d3QocixuKSxzIT09MCYmcyE9PW8ucmV0cnlMYW5lKSl0aHJvdyBvLnJldHJ5TGFuZT1zLFBpKGUscyksUGQocixlLHMpLEZjO0tkKCl9dD1HYyhlLHQsbil9ZWxzZSBlPW8udHJlZUNvbnRleHQsRj1sbShzLm5leHRTaWJsaW5nKSxQPXQsST0hMCxsYT1udWxsLHVhPSExLGUhPT1udWxsJiZjYSh0LGUpLHQ9V2ModCxyKSx0LmZsYWdzfD0xMzQyMjE4MjQ7cmV0dXJuIHR9cmV0dXJuIGU9VmkoZS5jaGlsZCx7bW9kZTpyLm1vZGUsY2hpbGRyZW46ci5jaGlsZHJlbn0pLGUucmVmPXQucmVmLHQuY2hpbGQ9ZSxlLnJldHVybj10LGV9ZnVuY3Rpb24gcWMoZSx0KXt2YXIgbj10LnJlZjtpZihuPT09bnVsbCllIT09bnVsbCYmZS5yZWYhPT1udWxsJiYodC5mbGFnc3w9NDE5NDgxNik7ZWxzZXtpZih0eXBlb2YgbiE9YGZ1bmN0aW9uYCYmdHlwZW9mIG4hPWBvYmplY3RgKXRocm93IEVycm9yKGkoMjg0KSk7KGU9PT1udWxsfHxlLnJlZiE9PW4pJiYodC5mbGFnc3w9NDE5NDgxNil9fWZ1bmN0aW9uIEpjKGUsdCxuLHIsaSl7cmV0dXJuIE9hKHQpLG49dHMoZSx0LG4scix2b2lkIDAsaSkscj1hcygpLGUhPT1udWxsJiYhSWM_KG9zKGUsdCxpKSxmbChlLHQsaSkpOihJJiZyJiZvYSh0KSx0LmZsYWdzfD0xLExjKGUsdCxuLGkpLHQuY2hpbGQpfWZ1bmN0aW9uIFljKGUsdCxuLHIsaSxhKXtyZXR1cm4gT2EodCksdC51cGRhdGVRdWV1ZT1udWxsLG49cnModCxyLG4saSksbnMoZSkscj1hcygpLGUhPT1udWxsJiYhSWM_KG9zKGUsdCxhKSxmbChlLHQsYSkpOihJJiZyJiZvYSh0KSx0LmZsYWdzfD0xLExjKGUsdCxuLGEpLHQuY2hpbGQpfWZ1bmN0aW9uIFhjKGUsdCxuLHIsaSl7aWYoT2EodCksdC5zdGF0ZU5vZGU9PT1udWxsKXt2YXIgYT1MaSxvPW4uY29udGV4dFR5cGU7dHlwZW9mIG89PWBvYmplY3RgJiZvJiYoYT1rYShvKSksYT1uZXcgbihyLGEpLHQubWVtb2l6ZWRTdGF0ZT1hLnN0YXRlIT09bnVsbCYmYS5zdGF0ZSE9PXZvaWQgMD9hLnN0YXRlOm51bGwsYS51cGRhdGVyPVNjLHQuc3RhdGVOb2RlPWEsYS5fcmVhY3RJbnRlcm5hbHM9dCxhPXQuc3RhdGVOb2RlLGEucHJvcHM9cixhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSxhLnJlZnM9e30sdm8odCksbz1uLmNvbnRleHRUeXBlLGEuY29udGV4dD10eXBlb2Ygbz09YG9iamVjdGAmJm8_a2Eobyk6TGksYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsbz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyx0eXBlb2Ygbz09YGZ1bmN0aW9uYCYmKHhjKHQsbixvLHIpLGEuc3RhdGU9dC5tZW1vaXplZFN0YXRlKSx0eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PWBmdW5jdGlvbmB8fHR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT1gZnVuY3Rpb25gfHx0eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IT1gZnVuY3Rpb25gJiZ0eXBlb2YgYS5jb21wb25lbnRXaWxsTW91bnQhPWBmdW5jdGlvbmB8fChvPWEuc3RhdGUsdHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50PT1gZnVuY3Rpb25gJiZhLmNvbXBvbmVudFdpbGxNb3VudCgpLHR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQ9PWBmdW5jdGlvbmAmJmEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLG8hPT1hLnN0YXRlJiZTYy5lbnF1ZXVlUmVwbGFjZVN0YXRlKGEsYS5zdGF0ZSxudWxsKSxFbyh0LHIsYSxpKSxUbygpLGEuc3RhdGU9dC5tZW1vaXplZFN0YXRlKSx0eXBlb2YgYS5jb21wb25lbnREaWRNb3VudD09YGZ1bmN0aW9uYCYmKHQuZmxhZ3N8PTQxOTQzMDgpLHI9ITB9ZWxzZSBpZihlPT09bnVsbCl7YT10LnN0YXRlTm9kZTt2YXIgcz10Lm1lbW9pemVkUHJvcHMsYz1UYyhuLHMpO2EucHJvcHM9Yzt2YXIgbD1hLmNvbnRleHQsdT1uLmNvbnRleHRUeXBlO289TGksdHlwZW9mIHU9PWBvYmplY3RgJiZ1JiYobz1rYSh1KSk7dmFyIGQ9bi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7dT10eXBlb2YgZD09YGZ1bmN0aW9uYHx8dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PWBmdW5jdGlvbmAscz10LnBlbmRpbmdQcm9wcyE9PXMsdXx8dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPWBmdW5jdGlvbmAmJnR5cGVvZiBhLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPWBmdW5jdGlvbmB8fChzfHxsIT09bykmJndjKHQsYSxyLG8pLF9vPSExO3ZhciBmPXQubWVtb2l6ZWRTdGF0ZTthLnN0YXRlPWYsRW8odCxyLGEsaSksVG8oKSxsPXQubWVtb2l6ZWRTdGF0ZSxzfHxmIT09bHx8X28_KHR5cGVvZiBkPT1gZnVuY3Rpb25gJiYoeGModCxuLGQsciksbD10Lm1lbW9pemVkU3RhdGUpLChjPV9vfHxDYyh0LG4sYyxyLGYsbCxvKSk_KHV8fHR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQhPWBmdW5jdGlvbmAmJnR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudCE9YGZ1bmN0aW9uYHx8KHR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudD09YGZ1bmN0aW9uYCYmYS5jb21wb25lbnRXaWxsTW91bnQoKSx0eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50PT1gZnVuY3Rpb25gJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksdHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQ9PWBmdW5jdGlvbmAmJih0LmZsYWdzfD00MTk0MzA4KSk6KHR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50PT1gZnVuY3Rpb25gJiYodC5mbGFnc3w9NDE5NDMwOCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPWwpLGEucHJvcHM9cixhLnN0YXRlPWwsYS5jb250ZXh0PW8scj1jKToodHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQ9PWBmdW5jdGlvbmAmJih0LmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle2E9dC5zdGF0ZU5vZGUseW8oZSx0KSxvPXQubWVtb2l6ZWRQcm9wcyx1PVRjKG4sbyksYS5wcm9wcz11LGQ9dC5wZW5kaW5nUHJvcHMsZj1hLmNvbnRleHQsbD1uLmNvbnRleHRUeXBlLGM9TGksdHlwZW9mIGw9PWBvYmplY3RgJiZsJiYoYz1rYShsKSkscz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywobD10eXBlb2Ygcz09YGZ1bmN0aW9uYHx8dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PWBmdW5jdGlvbmApfHx0eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyE9YGZ1bmN0aW9uYCYmdHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyE9YGZ1bmN0aW9uYHx8KG8hPT1kfHxmIT09YykmJndjKHQsYSxyLGMpLF9vPSExLGY9dC5tZW1vaXplZFN0YXRlLGEuc3RhdGU9ZixFbyh0LHIsYSxpKSxUbygpO3ZhciBwPXQubWVtb2l6ZWRTdGF0ZTtvIT09ZHx8ZiE9PXB8fF9vfHxlIT09bnVsbCYmZS5kZXBlbmRlbmNpZXMhPT1udWxsJiZEYShlLmRlcGVuZGVuY2llcyk_KHR5cGVvZiBzPT1gZnVuY3Rpb25gJiYoeGModCxuLHMscikscD10Lm1lbW9pemVkU3RhdGUpLCh1PV9vfHxDYyh0LG4sdSxyLGYscCxjKXx8ZSE9PW51bGwmJmUuZGVwZW5kZW5jaWVzIT09bnVsbCYmRGEoZS5kZXBlbmRlbmNpZXMpKT8obHx8dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUhPWBmdW5jdGlvbmAmJnR5cGVvZiBhLmNvbXBvbmVudFdpbGxVcGRhdGUhPWBmdW5jdGlvbmB8fCh0eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlPT1gZnVuY3Rpb25gJiZhLmNvbXBvbmVudFdpbGxVcGRhdGUocixwLGMpLHR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlPT1gZnVuY3Rpb25gJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIscCxjKSksdHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlPT1gZnVuY3Rpb25gJiYodC5mbGFnc3w9NCksdHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PWBmdW5jdGlvbmAmJih0LmZsYWdzfD0xMDI0KSk6KHR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZSE9YGZ1bmN0aW9uYHx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZj09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLHR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT1gZnVuY3Rpb25gfHxvPT09ZS5tZW1vaXplZFByb3BzJiZmPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPXApLGEucHJvcHM9cixhLnN0YXRlPXAsYS5jb250ZXh0PWMscj11KToodHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlIT1gZnVuY3Rpb25gfHxvPT09ZS5tZW1vaXplZFByb3BzJiZmPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksdHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUhPWBmdW5jdGlvbmB8fG89PT1lLm1lbW9pemVkUHJvcHMmJmY9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSxyPSExKX1yZXR1cm4gYT1yLHFjKGUsdCkscj0hISh0LmZsYWdzJjEyOCksYXx8cj8oYT10LnN0YXRlTm9kZSxuPXImJnR5cGVvZiBuLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciE9YGZ1bmN0aW9uYD9udWxsOmEucmVuZGVyKCksdC5mbGFnc3w9MSxlIT09bnVsbCYmcj8odC5jaGlsZD1obyh0LGUuY2hpbGQsbnVsbCxpKSx0LmNoaWxkPWhvKHQsbnVsbCxuLGkpKTpMYyhlLHQsbixpKSx0Lm1lbW9pemVkU3RhdGU9YS5zdGF0ZSxlPXQuY2hpbGQpOmU9ZmwoZSx0LGkpLGV9ZnVuY3Rpb24gWmMoZSx0LG4scil7cmV0dXJuIGdhKCksdC5mbGFnc3w9MjU2LExjKGUsdCxuLHIpLHQuY2hpbGR9dmFyIFFjPXtkZWh5ZHJhdGVkOm51bGwsdHJlZUNvbnRleHQ6bnVsbCxyZXRyeUxhbmU6MCxoeWRyYXRpb25FcnJvcnM6bnVsbH07ZnVuY3Rpb24gJGMoZSl7cmV0dXJue2Jhc2VMYW5lczplLGNhY2hlUG9vbDpaYSgpfX1mdW5jdGlvbiBlbChlLHQsbil7cmV0dXJuIGU9ZT09PW51bGw_MDplLmNoaWxkTGFuZXMmfm4sdCYmKGV8PXVkKSxlfWZ1bmN0aW9uIHRsKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxpPSExLGE9ISEodC5mbGFncyYxMjgpLG87aWYoKG89YSl8fChvPWUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGU9PT1udWxsPyExOiEhKFZvLmN1cnJlbnQmMikpLG8mJihpPSEwLHQuZmxhZ3MmPS0xMjkpLG89ISEodC5mbGFncyYzMiksdC5mbGFncyY9LTMzLGU9PT1udWxsKXtpZihJKXtpZihpP0lvKHQpOnpvKCksKGU9Rik_KGU9YW0oZSx1YSksZT1lIT09bnVsbCYmZS5kYXRhIT09YCZgP2U6bnVsbCxlIT09bnVsbCYmKHQubWVtb2l6ZWRTdGF0ZT17ZGVoeWRyYXRlZDplLHRyZWVDb250ZXh0OnRhPT09bnVsbD9udWxsOntpZDpuYSxvdmVyZmxvdzpyYX0scmV0cnlMYW5lOjUzNjg3MDkxMixoeWRyYXRpb25FcnJvcnM6bnVsbH0sbj1LaShlKSxuLnJldHVybj10LHQuY2hpbGQ9bixQPXQsRj1udWxsKSk6ZT1udWxsLGU9PT1udWxsKXRocm93IGZhKHQpO3JldHVybiB0LmxhbmVzPXNtKGUpPzMyOjUzNjg3MDkxMixudWxsfXJldHVybiBhPXIuY2hpbGRyZW4scj1yLmZhbGxiYWNrLGk_KHpvKCksaT10Lm1vZGUsYT1ybCh7bW9kZTpgaGlkZGVuYCxjaGlsZHJlbjphfSxpKSxyPVdpKHIsaSxuLG51bGwpLGEucmV0dXJuPXQsci5yZXR1cm49dCxhLnNpYmxpbmc9cix0LmNoaWxkPWEscj10LmNoaWxkLHIubWVtb2l6ZWRTdGF0ZT0kYyhuKSxyLmNoaWxkTGFuZXM9ZWwoZSxvLG4pLHQubWVtb2l6ZWRTdGF0ZT1RYyxIYyhudWxsLHIpKTooSW8odCksbmwodCxhKSl9dmFyIHM9ZS5tZW1vaXplZFN0YXRlO2lmKHMhPT1udWxsKXt2YXIgYz1zLmRlaHlkcmF0ZWQ7aWYoYyE9PW51bGwpcmV0dXJuIGFsKGUsdCxhLG8scixjLHMsbil9cmV0dXJuIGk_KHpvKCksaT1yLmZhbGxiYWNrLGE9dC5tb2RlLHM9ZS5jaGlsZCxjPXMuc2libGluZyxyPVZpKHMse21vZGU6YGhpZGRlbmAsY2hpbGRyZW46ci5jaGlsZHJlbn0pLHIuc3VidHJlZUZsYWdzPXMuc3VidHJlZUZsYWdzJjEyMDY5MTA5NzYsYz09PW51bGw_KGk9V2koaSxhLG4sbnVsbCksaS5mbGFnc3w9Mik6aT1WaShjLGkpLGkucmV0dXJuPXQsci5yZXR1cm49dCxyLnNpYmxpbmc9aSx0LmNoaWxkPXIsSGMobnVsbCxyKSxyPXQuY2hpbGQsaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUsaT09PW51bGw_aT0kYyhuKTooYT1pLmNhY2hlUG9vbCxhPT09bnVsbD9hPVphKCk6KHM9TC5fY3VycmVudFZhbHVlLGE9YS5wYXJlbnQ9PT1zP2E6e3BhcmVudDpzLHBvb2w6c30pLGk9e2Jhc2VMYW5lczppLmJhc2VMYW5lc3xuLGNhY2hlUG9vbDphfSksci5tZW1vaXplZFN0YXRlPWksci5jaGlsZExhbmVzPWVsKGUsbyxuKSx0Lm1lbW9pemVkU3RhdGU9UWMsSGMoZS5jaGlsZCxyKSk6KElvKHQpLG49ZS5jaGlsZCxlPW4uc2libGluZyxuPVZpKG4se21vZGU6YHZpc2libGVgLGNoaWxkcmVuOnIuY2hpbGRyZW59KSxuLnJldHVybj10LG4uc2libGluZz1udWxsLGUhPT1udWxsJiYobz10LmRlbGV0aW9ucyxvPT09bnVsbD8odC5kZWxldGlvbnM9W2VdLHQuZmxhZ3N8PTE2KTpvLnB1c2goZSkpLHQuY2hpbGQ9bix0Lm1lbW9pemVkU3RhdGU9bnVsbCxuKX1mdW5jdGlvbiBubChlLHQpe3JldHVybiB0PXJsKHttb2RlOmB2aXNpYmxlYCxjaGlsZHJlbjp0fSxlLm1vZGUpLHQucmV0dXJuPWUsZS5jaGlsZD10fWZ1bmN0aW9uIHJsKGUsdCl7cmV0dXJuIGU9emkoMjIsZSxudWxsLHQpLGUubGFuZXM9MCxlfWZ1bmN0aW9uIGlsKGUsdCxuKXtyZXR1cm4gaG8odCxlLmNoaWxkLG51bGwsbiksZT1ubCh0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuKSxlLmZsYWdzfD0yLHQubWVtb2l6ZWRTdGF0ZT1udWxsLGV9ZnVuY3Rpb24gYWwoZSx0LG4scixhLG8scyxjKXtpZihuKXJldHVybiB0LmZsYWdzJjI1Nj8oSW8odCksdC5mbGFncyY9LTI1NyxpbChlLHQsYykpOnQubWVtb2l6ZWRTdGF0ZT09PW51bGw_KHpvKCksbz1hLmZhbGxiYWNrLHM9dC5tb2RlLGE9cmwoe21vZGU6YHZpc2libGVgLGNoaWxkcmVuOmEuY2hpbGRyZW59LHMpLG89V2kobyxzLGMsbnVsbCksby5mbGFnc3w9MixhLnJldHVybj10LG8ucmV0dXJuPXQsYS5zaWJsaW5nPW8sdC5jaGlsZD1hLGhvKHQsZS5jaGlsZCxudWxsLGMpLGE9dC5jaGlsZCxhLm1lbW9pemVkU3RhdGU9JGMoYyksYS5jaGlsZExhbmVzPWVsKGUscixjKSx0Lm1lbW9pemVkU3RhdGU9UWMsSGMobnVsbCxhKSk6KHpvKCksdC5jaGlsZD1lLmNoaWxkLHQuZmxhZ3N8PTEyOCxudWxsKTtpZihJbyh0KSxzbShvKSl7aWYocj1vLm5leHRTaWJsaW5nJiZvLm5leHRTaWJsaW5nLmRhdGFzZXQscil2YXIgbD1yLmRnc3Q7cmV0dXJuIHI9bCxyIT09YGAmJihhPUVycm9yKGkoNDE5KSksYS5zdGFjaz1gYCxhLmRpZ2VzdD1yLHZhKHt2YWx1ZTphLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSksaWwoZSx0LGMpfWlmKEljfHxFYShlLHQsYywhMSkscj0oYyZlLmNoaWxkTGFuZXMpIT09MCxJY3x8cil7aWYoa28uY3VycmVudCE9PW51bGwpcmV0dXJuIGlsKGUsdCxjKTtpZihyPUcsciE9PW51bGwmJihhPXd0KHIsYyksYSE9PTAmJmEhPT1zLnJldHJ5TGFuZSkpdGhyb3cgcy5yZXRyeUxhbmU9YSxQaShlLGEpLFBkKHIsZSxhKSxGYztyZXR1cm4gb20obyl8fEtkKCksaWwoZSx0LGMpfXJldHVybiBvbShvKT8odC5mbGFnc3w9MTkyLHQuY2hpbGQ9ZS5jaGlsZCxudWxsKTooZT1zLnRyZWVDb250ZXh0LEY9bG0oby5uZXh0U2libGluZyksUD10LEk9ITAsbGE9bnVsbCx1YT0hMSxlIT09bnVsbCYmY2EodCxlKSx0PW5sKHQsYS5jaGlsZHJlbiksdC5mbGFnc3w9MTM0MjIxODI0LHQpfWZ1bmN0aW9uIG9sKGUsdCxuKXtlLmxhbmVzfD10O3ZhciByPWUuYWx0ZXJuYXRlO3IhPT1udWxsJiYoci5sYW5lc3w9dCksd2EoZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBzbChlKXtmb3IodmFyIHQ9bnVsbDtlIT09bnVsbDspe3ZhciBuPWUuYWx0ZXJuYXRlO24hPT1udWxsJiZXbyhuKT09PW51bGwmJih0PWUpLGU9ZS5zaWJsaW5nfXJldHVybiB0fWZ1bmN0aW9uIGNsKGUsdCxuLHIsaSxhKXt2YXIgbz1lLm1lbW9pemVkU3RhdGU7bz09PW51bGw_ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6cix0YWlsOm4sdGFpbE1vZGU6aSx0cmVlRm9ya0NvdW50OmF9OihvLmlzQmFja3dhcmRzPXQsby5yZW5kZXJpbmc9bnVsbCxvLnJlbmRlcmluZ1N0YXJ0VGltZT0wLG8ubGFzdD1yLG8udGFpbD1uLG8udGFpbE1vZGU9aSxvLnRyZWVGb3JrQ291bnQ9YSl9ZnVuY3Rpb24gbGwoZSl7dmFyIHQ9ZS5jaGlsZDtmb3IoZS5jaGlsZD1udWxsO3QhPT1udWxsOyl7dmFyIG49dC5zaWJsaW5nO3Quc2libGluZz1lLmNoaWxkLGUuY2hpbGQ9dCx0PW59fWZ1bmN0aW9uIHVsKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxpPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7cj1yLmNoaWxkcmVuO3ZhciBvPVZvLmN1cnJlbnQ7aWYodC5mbGFncyYxMjgpcmV0dXJuIEhvKHQsbyksbnVsbDt2YXIgcz0hIShvJjIpO2lmKHM_KG89byYxfDIsdC5mbGFnc3w9MTI4KTpvJj0xLEhvKHQsbyksaT09PWBiYWNrd2FyZHNgJiZlIT09bnVsbD8obGwoZSksTGMoZSx0LHIsbiksbGwoZSkpOkxjKGUsdCxyLG4pLHI9ST9RaTowLCFzJiZlIT09bnVsbCYmZS5mbGFncyYxMjgpYTpmb3IoZT10LmNoaWxkO2UhPT1udWxsOyl7aWYoZS50YWc9PT0xMyllLm1lbW9pemVkU3RhdGUhPT1udWxsJiZvbChlLG4sdCk7ZWxzZSBpZihlLnRhZz09PTE5KW9sKGUsbix0KTtlbHNlIGlmKGUuY2hpbGQhPT1udWxsKXtlLmNoaWxkLnJldHVybj1lLGU9ZS5jaGlsZDtjb250aW51ZX1pZihlPT09dClicmVhayBhO2Zvcig7ZS5zaWJsaW5nPT09bnVsbDspe2lmKGUucmV0dXJuPT09bnVsbHx8ZS5yZXR1cm49PT10KWJyZWFrIGE7ZT1lLnJldHVybn1lLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nfXN3aXRjaChpKXtjYXNlYGJhY2t3YXJkc2A6bj1zbCh0LmNoaWxkKSxuPT09bnVsbD8oaT10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGk9bi5zaWJsaW5nLG4uc2libGluZz1udWxsLGxsKHQpKSxjbCh0LCEwLGksbnVsbCxhLHIpO2JyZWFrO2Nhc2VgdW5zdGFibGVfbGVnYWN5LWJhY2t3YXJkc2A6Zm9yKG49bnVsbCxpPXQuY2hpbGQsdC5jaGlsZD1udWxsO2khPT1udWxsOyl7aWYoZT1pLmFsdGVybmF0ZSxlIT09bnVsbCYmV28oZSk9PT1udWxsKXt0LmNoaWxkPWk7YnJlYWt9ZT1pLnNpYmxpbmcsaS5zaWJsaW5nPW4sbj1pLGk9ZX1jbCh0LCEwLG4sbnVsbCxhLHIpO2JyZWFrO2Nhc2VgdG9nZXRoZXJgOmNsKHQsITEsbnVsbCxudWxsLHZvaWQgMCxyKTticmVhaztjYXNlYGluZGVwZW5kZW50YDp0Lm1lbW9pemVkU3RhdGU9bnVsbDticmVhaztkZWZhdWx0Om49c2wodC5jaGlsZCksbj09PW51bGw_KGk9dC5jaGlsZCx0LmNoaWxkPW51bGwpOihpPW4uc2libGluZyxuLnNpYmxpbmc9bnVsbCksY2wodCwhMSxpLG4sYSxyKX1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBkbChlLHQsbil7dmFyIHI9dC5wZW5kaW5nUHJvcHM7cmV0dXJuIFNhKHQsdC50eXBlLHIudmFsdWUpLExjKGUsdCxyLmNoaWxkcmVuLG4pLHQuY2hpbGR9ZnVuY3Rpb24gZmwoZSx0LG4pe2lmKGUhPT1udWxsJiYodC5kZXBlbmRlbmNpZXM9ZS5kZXBlbmRlbmNpZXMpLHNkfD10LmxhbmVzLChuJnQuY2hpbGRMYW5lcyk9PT0wKXtpZihlIT09bnVsbCl7aWYoRWEoZSx0LG4sITEpLChuJnQuY2hpbGRMYW5lcyk9PT0wKXJldHVybiBudWxsfWVsc2UgcmV0dXJuIG51bGx9aWYoZSE9PW51bGwmJnQuY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGkoMTUzKSk7aWYodC5jaGlsZCE9PW51bGwpe2ZvcihlPXQuY2hpbGQsbj1WaShlLGUucGVuZGluZ1Byb3BzKSx0LmNoaWxkPW4sbi5yZXR1cm49dDtlLnNpYmxpbmchPT1udWxsOyllPWUuc2libGluZyxuPW4uc2libGluZz1WaShlLGUucGVuZGluZ1Byb3BzKSxuLnJldHVybj10O24uc2libGluZz1udWxsfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIHBsKGUsdCl7cmV0dXJuKGUubGFuZXMmdCkhPT0wfHwoZT1lLmRlcGVuZGVuY2llcywhIShlIT09bnVsbCYmRGEoZSkpKX1mdW5jdGlvbiBtbChlLHQsbil7c3dpdGNoKHQudGFnKXtjYXNlIDM6UGUodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxTYSh0LEwsZS5tZW1vaXplZFN0YXRlLmNhY2hlKSxnYSgpO2JyZWFrO2Nhc2UgMjc6Y2FzZSA1OkllKHQpO2JyZWFrO2Nhc2UgNDpQZSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO2JyZWFrO2Nhc2UgMTA6U2EodCx0LnR5cGUsdC5tZW1vaXplZFByb3BzLnZhbHVlKTticmVhaztjYXNlIDMxOmlmKHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwpcmV0dXJuIHQuZmxhZ3N8PTEyOCxMbyh0KSxudWxsO2JyZWFrO2Nhc2UgMTM6dmFyIHI9dC5tZW1vaXplZFN0YXRlO2lmKHIhPT1udWxsKXtpZihyLmRlaHlkcmF0ZWQhPT1udWxsKXJldHVybiBJbyh0KSx0LmZsYWdzfD0xMjgsbnVsbDtyPUVhKGUsdCxuLCExKTt2YXIgaT10LmNoaWxkLmNoaWxkTGFuZXM7cmV0dXJuIHJ8fChuJmkpIT09MD90bChlLHQsbik6KElvKHQpLGU9ZmwoZSx0LG4pLGU9PT1udWxsP251bGw6ZS5zaWJsaW5nKX1Jbyh0KTticmVhaztjYXNlIDE5OmlmKHQuZmxhZ3MmMTI4KXJldHVybiB1bChlLHQsbik7aWYoaT0hIShlLmZsYWdzJjEyOCkscj0obiZ0LmNoaWxkTGFuZXMpIT09MCxyfHw9KEVhKGUsdCxuLCExKSwobiZ0LmNoaWxkTGFuZXMpIT09MCksaSl7aWYocilyZXR1cm4gdWwoZSx0LG4pO3QuZmxhZ3N8PTEyOH1pZihpPXQubWVtb2l6ZWRTdGF0ZSxpIT09bnVsbCYmKGkucmVuZGVyaW5nPW51bGwsaS50YWlsPW51bGwsaS5sYXN0RWZmZWN0PW51bGwpLEhvKHQsVm8uY3VycmVudCkscilicmVhaztyZXR1cm4gbnVsbDtjYXNlIDIyOnJldHVybiB0LmxhbmVzPTAsVmMoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6U2EodCxMLGUubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9cmV0dXJuIGZsKGUsdCxuKX1mdW5jdGlvbiBobChlLHQsbil7aWYoZSE9PW51bGwpe2lmKGUubWVtb2l6ZWRQcm9wcyE9PXQucGVuZGluZ1Byb3BzKUljPSEwO2Vsc2V7aWYoIXBsKGUsbikmJiEodC5mbGFncyYxMjgpKXJldHVybiBJYz0hMSxtbChlLHQsbik7SWM9ISEoZS5mbGFncyYxMzEwNzIpfX1lbHNlIEljPSExLEkmJnQuZmxhZ3MmMTA0ODU3NiYmYWEodCxRaSx0LmluZGV4KTtzd2l0Y2godC5sYW5lcz0wLHQudGFnKXtjYXNlIDE2OmE6e3ZhciByPXQucGVuZGluZ1Byb3BzO2lmKGU9aW8odC5lbGVtZW50VHlwZSksdC50eXBlPWUsdHlwZW9mIGU9PWBmdW5jdGlvbmApQmkoZSk_KHI9VGMoZSxyKSx0LnRhZz0xLHQ9WGMobnVsbCx0LGUscixuKSk6KHQudGFnPTAsdD1KYyhudWxsLHQsZSxyLG4pKTtlbHNle2lmKGUhPW51bGwpe3ZhciBhPWUuJCR0eXBlb2Y7aWYoYT09PWRlKXt0LnRhZz0xMSx0PVJjKG51bGwsdCxlLHIsbik7YnJlYWsgYX1pZihhPT09bWUpe3QudGFnPTE0LHQ9emMobnVsbCx0LGUscixuKTticmVhayBhfWlmKGE9PT11ZSl7dC50YWc9MTAsdC50eXBlPWUsdD1kbChudWxsLHQsbik7YnJlYWsgYX19dGhyb3cgdD13ZShlKXx8ZSxFcnJvcihpKDMwNix0LGBgKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gSmMoZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIHI9dC50eXBlLGE9VGMocix0LnBlbmRpbmdQcm9wcyksWGMoZSx0LHIsYSxuKTtjYXNlIDM6YTp7aWYoUGUodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxlPT09bnVsbCl0aHJvdyBFcnJvcihpKDM4NykpO3I9dC5wZW5kaW5nUHJvcHM7dmFyIG89dC5tZW1vaXplZFN0YXRlO2E9by5lbGVtZW50LHlvKGUsdCksRW8odCxyLG51bGwsbik7dmFyIHM9dC5tZW1vaXplZFN0YXRlO2lmKHI9cy5jYWNoZSxTYSh0LEwsciksciE9PW8uY2FjaGUmJlRhKHQsW0xdLG4sITApLFRvKCkscj1zLmVsZW1lbnQsby5pc0RlaHlkcmF0ZWQpe2lmKG89e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6ITEsY2FjaGU6cy5jYWNoZX0sdC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9byx0Lm1lbW9pemVkU3RhdGU9byx0LmZsYWdzJjI1Nil7dD1aYyhlLHQscixuKTticmVhayBhfWlmKHIhPT1hKXthPVlpKEVycm9yKGkoNDI0KSksdCksdmEoYSksdD1aYyhlLHQscixuKTticmVhayBhfXN3aXRjaChlPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZS5ub2RlVHlwZSl7Y2FzZSA5OmU9ZS5ib2R5O2JyZWFrO2RlZmF1bHQ6ZT1lLm5vZGVOYW1lPT09YEhUTUxgP2Uub3duZXJEb2N1bWVudC5ib2R5OmV9Zm9yKEY9bG0oZS5maXJzdENoaWxkKSxQPXQsST0hMCxsYT1udWxsLHVhPSEwLG49Z28odCxudWxsLHIsbiksdC5jaGlsZD1uO247KW4uZmxhZ3M9bi5mbGFncyYtM3wxMzQyMjE4MjQsbj1uLnNpYmxpbmd9ZWxzZXtpZihnYSgpLHI9PT1hKXt0PWZsKGUsdCxuKTticmVhayBhfUxjKGUsdCxyLG4pfXQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDI2OnJldHVybiBxYyhlLHQpLGU9PT1udWxsPyhuPU5tKHQudHlwZSxudWxsLHQucGVuZGluZ1Byb3BzLG51bGwpKT90Lm1lbW9pemVkU3RhdGU9bjpJfHwodC5zdGF0ZU5vZGU9ZnAodC50eXBlLHQucGVuZGluZ1Byb3BzLE8uY3VycmVudCx0KSk6dC5tZW1vaXplZFN0YXRlPU5tKHQudHlwZSxlLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsZS5tZW1vaXplZFN0YXRlKSxudWxsO2Nhc2UgMjc6cmV0dXJuIEllKHQpLGU9PT1udWxsJiZJJiYocj10LnN0YXRlTm9kZT1obSh0LnR5cGUsdC5wZW5kaW5nUHJvcHMsTy5jdXJyZW50KSxQPXQsdWE9ITAsYT1GLFNwKHQudHlwZSk_KHVtPWEsRj1sbShyLmZpcnN0Q2hpbGQpKTpGPWEpLExjKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxxYyhlLHQpLGU9PT1udWxsJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIGU9PT1udWxsJiZJJiYoKGE9cj1GKSYmKHI9cm0ocix0LnR5cGUsdC5wZW5kaW5nUHJvcHMsdWEpLHI9PT1udWxsP2E9ITE6KHQuc3RhdGVOb2RlPXIsUD10LEY9bG0oci5maXJzdENoaWxkKSx1YT0hMSxhPSEwKSksYXx8ZmEodCkpLEllKHQpLGE9dC50eXBlLG89dC5wZW5kaW5nUHJvcHMscz1lPT09bnVsbD9udWxsOmUubWVtb2l6ZWRQcm9wcyxyPW8uY2hpbGRyZW4scHAoYSxvKT9yPW51bGw6cyE9PW51bGwmJnBwKGEscykmJih0LmZsYWdzfD0zMiksdC5tZW1vaXplZFN0YXRlIT09bnVsbCYmKGE9dHMoZSx0LGlzLG51bGwsbnVsbCxuKSxzaC5fY3VycmVudFZhbHVlPWEpLHFjKGUsdCksTGMoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDY6cmV0dXJuIGU9PT1udWxsJiZJJiYoKGU9bj1GKSYmKG49aW0obix0LnBlbmRpbmdQcm9wcyx1YSksbj09PW51bGw_ZT0hMToodC5zdGF0ZU5vZGU9bixQPXQsRj1udWxsLGU9ITApKSxlfHxmYSh0KSksbnVsbDtjYXNlIDEzOnJldHVybiB0bChlLHQsbik7Y2FzZSA0OnJldHVybiBQZSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHI9dC5wZW5kaW5nUHJvcHMsZT09PW51bGw_dC5jaGlsZD1obyh0LG51bGwscixuKTpMYyhlLHQscixuKSx0LmNoaWxkO2Nhc2UgMTE6cmV0dXJuIFJjKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSA3OnJldHVybiByPXQucGVuZGluZ1Byb3BzLHFjKGUsdCksTGMoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDg6cmV0dXJuIExjKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTI6cmV0dXJuIExjKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTA6cmV0dXJuIGRsKGUsdCxuKTtjYXNlIDk6cmV0dXJuIGE9dC50eXBlLl9jb250ZXh0LHI9dC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sT2EodCksYT1rYShhKSxyPXIoYSksdC5mbGFnc3w9MSxMYyhlLHQscixuKSx0LmNoaWxkO2Nhc2UgMTQ6cmV0dXJuIHpjKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxNTpyZXR1cm4gQmMoZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE5OnJldHVybiB1bChlLHQsbik7Y2FzZSAzMTpyZXR1cm4gS2MoZSx0LG4pO2Nhc2UgMjI6cmV0dXJuIFZjKGUsdCxuLHQucGVuZGluZ1Byb3BzKTtjYXNlIDI0OnJldHVybiBPYSh0KSxyPWthKEwpLGU9PT1udWxsPyhhPVlhKCksYT09PW51bGwmJihhPUcsbz1GYSgpLGEucG9vbGVkQ2FjaGU9byxvLnJlZkNvdW50KyssbyE9PW51bGwmJihhLnBvb2xlZENhY2hlTGFuZXN8PW4pLGE9byksdC5tZW1vaXplZFN0YXRlPXtwYXJlbnQ6cixjYWNoZTphfSx2byh0KSxTYSh0LEwsYSkpOigoZS5sYW5lcyZuKSE9PTAmJih5byhlLHQpLEVvKHQsbnVsbCxudWxsLG4pLFRvKCkpLGE9ZS5tZW1vaXplZFN0YXRlLG89dC5tZW1vaXplZFN0YXRlLGEucGFyZW50PT09cj8ocj1vLmNhY2hlLFNhKHQsTCxyKSxyIT09YS5jYWNoZSYmVGEodCxbTF0sbiwhMCkpOihhPXtwYXJlbnQ6cixjYWNoZTpyfSx0Lm1lbW9pemVkU3RhdGU9YSx0LmxhbmVzPT09MCYmKHQubWVtb2l6ZWRTdGF0ZT10LnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1hKSxTYSh0LEwscikpKSxMYyhlLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDMwOnJldHVybiB0LnN0YXRlTm9kZT09PW51bGwmJih0LnN0YXRlTm9kZT17YXV0b05hbWU6bnVsbCxwYWlyZWQ6bnVsbCxjbG9uZXM6bnVsbCxyZWY6bnVsbH0pLHI9dC5wZW5kaW5nUHJvcHMsci5uYW1lIT1udWxsJiZyLm5hbWUhPT1gYXV0b2A_dC5mbGFnc3w9ZT09PW51bGw_MTg4ODI1NjA6MTg4NzQzNjg6SSYmb2EodCksZSE9PW51bGwmJmUubWVtb2l6ZWRQcm9wcy5uYW1lIT09ci5uYW1lP3QuZmxhZ3N8PTQxOTQ4MTY6cWMoZSx0KSxMYyhlLHQsci5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMjk6dGhyb3cgdC5wZW5kaW5nUHJvcHN9dGhyb3cgRXJyb3IoaSgxNTYsdC50YWcpKX1mdW5jdGlvbiBnbChlKXtlLmZsYWdzfD00fWZ1bmN0aW9uIF9sKGUsdCxuLHIsaSl7dmFyIGE7aWYoKGE9ISEoZS5tb2RlJjMyKSkmJihhPW49PT1udWxsP0ptKHQscik6Sm0odCxyKSYmKHIuc3JjIT09bi5zcmN8fHIuc3JjU2V0IT09bi5zcmNTZXQpKSxhKXtpZihlLmZsYWdzfD0xNjc3NzIxNiwoaSYzMzU1NDQxMjgpPT09aSl7aWYoZS5zdGF0ZU5vZGUuY29tcGxldGUpZS5mbGFnc3w9ODE5MjtlbHNlIGlmKFVkKCkpZS5mbGFnc3w9ODE5MjtlbHNlIHRocm93IGFvPXRvLCRhfX1lbHNlIGUuZmxhZ3MmPS0xNjc3NzIxN31mdW5jdGlvbiB2bChlLHQpe2lmKHQudHlwZSE9PWBzdHlsZXNoZWV0YHx8dC5zdGF0ZS5sb2FkaW5nJjQpZS5mbGFncyY9LTE2Nzc3MjE3O2Vsc2UgaWYoZS5mbGFnc3w9MTY3NzcyMTYsIVltKHQpKXtpZihVZCgpKWUuZmxhZ3N8PTgxOTI7ZWxzZSB0aHJvdyBhbz10bywkYX19ZnVuY3Rpb24geWwoZSx0KXt0IT09bnVsbCYmKGUuZmxhZ3N8PTQpLGUuZmxhZ3MmMTYzODQmJih0PWUudGFnPT09MjI_NTM2ODcwOTEyOnZ0KCksZS5sYW5lc3w9dCxkZHw9dCl9ZnVuY3Rpb24gYmwoZSx0KXtpZighSSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZWB2aXNpYmxlYDpicmVhaztjYXNlYGNvbGxhcHNlZGA6Zm9yKHZhciBuPWUudGFpbCxyPW51bGw7biE9PW51bGw7KW4uYWx0ZXJuYXRlIT09bnVsbCYmKHI9biksbj1uLnNpYmxpbmc7cj09PW51bGw_dHx8ZS50YWlsPT09bnVsbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsO2JyZWFrO2RlZmF1bHQ6Zm9yKHQ9ZS50YWlsLG49bnVsbDt0IT09bnVsbDspdC5hbHRlcm5hdGUhPT1udWxsJiYobj10KSx0PXQuc2libGluZztuPT09bnVsbD9lLnRhaWw9bnVsbDpuLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24gVihlKXt2YXIgdD1lLmFsdGVybmF0ZSE9PW51bGwmJmUuYWx0ZXJuYXRlLmNoaWxkPT09ZS5jaGlsZCxuPTAscj0wO2lmKHQpZm9yKHZhciBpPWUuY2hpbGQ7aSE9PW51bGw7KW58PWkubGFuZXN8aS5jaGlsZExhbmVzLHJ8PWkuc3VidHJlZUZsYWdzJjEyMDY5MTA5NzYscnw9aS5mbGFncyYxMjA2OTEwOTc2LGkucmV0dXJuPWUsaT1pLnNpYmxpbmc7ZWxzZSBmb3IoaT1lLmNoaWxkO2khPT1udWxsOylufD1pLmxhbmVzfGkuY2hpbGRMYW5lcyxyfD1pLnN1YnRyZWVGbGFncyxyfD1pLmZsYWdzLGkucmV0dXJuPWUsaT1pLnNpYmxpbmc7cmV0dXJuIGUuc3VidHJlZUZsYWdzfD1yLGUuY2hpbGRMYW5lcz1uLHR9ZnVuY3Rpb24geGwoZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzO3N3aXRjaChzYSh0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpyZXR1cm4gVih0KSxudWxsO2Nhc2UgMTpyZXR1cm4gVih0KSxudWxsO2Nhc2UgMzpyZXR1cm4gbj10LnN0YXRlTm9kZSxyPW51bGwsZSE9PW51bGwmJihyPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZSksdC5tZW1vaXplZFN0YXRlLmNhY2hlIT09ciYmKHQuZmxhZ3N8PTIwNDgpLENhKEwpLEZlKCksbi5wZW5kaW5nQ29udGV4dCYmKG4uY29udGV4dD1uLnBlbmRpbmdDb250ZXh0LG4ucGVuZGluZ0NvbnRleHQ9bnVsbCksKGU9PT1udWxsfHxlLmNoaWxkPT09bnVsbCkmJihoYSh0KT9nbCh0KTplPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmISh0LmZsYWdzJjI1Nil8fCh0LmZsYWdzfD0xMDI0LF9hKCkpKSxWKHQpLG51bGw7Y2FzZSAyNjp2YXIgYT10LnR5cGUsbz10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIGU9PT1udWxsPyhnbCh0KSxvPT09bnVsbD8oVih0KSxfbCh0LGEsbnVsbCxyLG4pKTooVih0KSx2bCh0LG8pKSk6bz9vPT09ZS5tZW1vaXplZFN0YXRlPyhWKHQpLHQuZmxhZ3MmPS0xNjc3NzIxNyk6KGdsKHQpLFYodCksdmwodCxvKSk6KGU9ZS5tZW1vaXplZFByb3BzLGUhPT1yJiZnbCh0KSxWKHQpLF9sKHQsYSxlLHIsbikpLG51bGw7Y2FzZSAyNzppZihMZSh0KSxuPU8uY3VycmVudCxhPXQudHlwZSxlIT09bnVsbCYmdC5zdGF0ZU5vZGUhPW51bGwpZS5tZW1vaXplZFByb3BzIT09ciYmZ2wodCk7ZWxzZXtpZighcil7aWYodC5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKGkoMTY2KSk7cmV0dXJuIFYodCksdC5zdWJ0cmVlRmxhZ3MmPS0zMzU1NDQzMyxudWxsfWU9amUuY3VycmVudCxoYSh0KT9wYSh0LGUpOihlPWhtKGEscixuKSx0LnN0YXRlTm9kZT1lLGdsKHQpKX1yZXR1cm4gVih0KSx0LnN1YnRyZWVGbGFncyY9LTMzNTU0NDMzLG51bGw7Y2FzZSA1OmlmKExlKHQpLGE9dC50eXBlLGUhPT1udWxsJiZ0LnN0YXRlTm9kZSE9bnVsbCllLm1lbW9pemVkUHJvcHMhPT1yJiZnbCh0KTtlbHNle2lmKCFyKXtpZih0LnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IoaSgxNjYpKTtyZXR1cm4gVih0KSx0LnN1YnRyZWVGbGFncyY9LTMzNTU0NDMzLG51bGx9aWYobz1qZS5jdXJyZW50LGhhKHQpKXBhKHQsbyk7ZWxzZXt2YXIgcz1scChPLmN1cnJlbnQpO3N3aXRjaChvKXtjYXNlIDE6bz1zLmNyZWF0ZUVsZW1lbnROUyhgaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdgLGEpO2JyZWFrO2Nhc2UgMjpvPXMuY3JlYXRlRWxlbWVudE5TKGBodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MYCxhKTticmVhaztkZWZhdWx0OnN3aXRjaChhKXtjYXNlYHN2Z2A6bz1zLmNyZWF0ZUVsZW1lbnROUyhgaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdgLGEpO2JyZWFrO2Nhc2VgbWF0aGA6bz1zLmNyZWF0ZUVsZW1lbnROUyhgaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTGAsYSk7YnJlYWs7Y2FzZWBzY3JpcHRgOm89cy5jcmVhdGVFbGVtZW50KGBkaXZgKSxvLmlubmVySFRNTD1gPHNjcmlwdD48XC9zY3JpcHQ-YCxvPW8ucmVtb3ZlQ2hpbGQoby5maXJzdENoaWxkKTticmVhaztjYXNlYHNlbGVjdGA6bz10eXBlb2Ygci5pcz09YHN0cmluZ2A_cy5jcmVhdGVFbGVtZW50KGBzZWxlY3RgLHtpczpyLmlzfSk6cy5jcmVhdGVFbGVtZW50KGBzZWxlY3RgKSxyLm11bHRpcGxlP28ubXVsdGlwbGU9ITA6ci5zaXplJiYoby5zaXplPXIuc2l6ZSk7YnJlYWs7ZGVmYXVsdDpvPXR5cGVvZiByLmlzPT1gc3RyaW5nYD9zLmNyZWF0ZUVsZW1lbnQoYSx7aXM6ci5pc30pOnMuY3JlYXRlRWxlbWVudChhKX19b1tBdF09dCxvW2p0XT1yO2E6Zm9yKHM9dC5jaGlsZDtzIT09bnVsbDspe2lmKHMudGFnPT09NXx8cy50YWc9PT02KW8uYXBwZW5kQ2hpbGQocy5zdGF0ZU5vZGUpO2Vsc2UgaWYocy50YWchPT00JiZzLnRhZyE9PTI3JiZzLmNoaWxkIT09bnVsbCl7cy5jaGlsZC5yZXR1cm49cyxzPXMuY2hpbGQ7Y29udGludWV9aWYocz09PXQpYnJlYWsgYTtmb3IoO3Muc2libGluZz09PW51bGw7KXtpZihzLnJldHVybj09PW51bGx8fHMucmV0dXJuPT09dClicmVhayBhO3M9cy5yZXR1cm59cy5zaWJsaW5nLnJldHVybj1zLnJldHVybixzPXMuc2libGluZ310LnN0YXRlTm9kZT1vO2E6c3dpdGNoKG5wKG8sYSxyKSxhKXtjYXNlYGJ1dHRvbmA6Y2FzZWBpbnB1dGA6Y2FzZWBzZWxlY3RgOmNhc2VgdGV4dGFyZWFgOnI9ISFyLmF1dG9Gb2N1czticmVhayBhO2Nhc2VgaW1nYDpyPSEwO2JyZWFrIGE7ZGVmYXVsdDpyPSExfXImJmdsKHQpfX1yZXR1cm4gVih0KSx0LnN1YnRyZWVGbGFncyY9LTMzNTU0NDMzLF9sKHQsdC50eXBlLGU9PT1udWxsP251bGw6ZS5tZW1vaXplZFByb3BzLHQucGVuZGluZ1Byb3BzLG4pLG51bGw7Y2FzZSA2OmlmKGUmJnQuc3RhdGVOb2RlIT1udWxsKWUubWVtb2l6ZWRQcm9wcyE9PXImJmdsKHQpO2Vsc2V7aWYodHlwZW9mIHIhPWBzdHJpbmdgJiZ0LnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IoaSgxNjYpKTtpZihlPU8uY3VycmVudCxoYSh0KSl7aWYoZT10LnN0YXRlTm9kZSxuPXQubWVtb2l6ZWRQcm9wcyxyPW51bGwsYT1QLGEhPT1udWxsKXN3aXRjaChhLnRhZyl7Y2FzZSAyNzpjYXNlIDU6cj1hLm1lbW9pemVkUHJvcHN9ZVtBdF09dCxlPSEhKGUubm9kZVZhbHVlPT09bnx8ciE9PW51bGwmJiEwPT09ci5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmd8fGVwKGUubm9kZVZhbHVlLG4pKSxlfHxmYSh0LCEwKX1lbHNlIGU9bHAoZSkuY3JlYXRlVGV4dE5vZGUociksZVtBdF09dCx0LnN0YXRlTm9kZT1lfXJldHVybiBWKHQpLG51bGw7Y2FzZSAzMTppZihuPXQubWVtb2l6ZWRTdGF0ZSxlPT09bnVsbHx8ZS5tZW1vaXplZFN0YXRlIT09bnVsbCl7aWYocj1oYSh0KSxuIT09bnVsbCl7aWYoZT09PW51bGwpe2lmKCFyKXRocm93IEVycm9yKGkoMzE4KSk7aWYoZT10Lm1lbW9pemVkU3RhdGUsZT1lPT09bnVsbD9udWxsOmUuZGVoeWRyYXRlZCwhZSl0aHJvdyBFcnJvcihpKDU1NykpO2VbQXRdPXR9ZWxzZSBnYSgpLCEodC5mbGFncyYxMjgpJiYodC5tZW1vaXplZFN0YXRlPW51bGwpLHQuZmxhZ3N8PTQ7Vih0KSxlPSExfWVsc2Ugbj1fYSgpLGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1uKSxlPSEwO2lmKCFlKXJldHVybiB0LmZsYWdzJjI1Nj8oQm8odCksdCk6KEJvKHQpLG51bGwpO2lmKHQuZmxhZ3MmMTI4KXRocm93IEVycm9yKGkoNTU4KSl9cmV0dXJuIFYodCksbnVsbDtjYXNlIDEzOmlmKHI9dC5tZW1vaXplZFN0YXRlLGU9PT1udWxsfHxlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCE9PW51bGwpe2lmKGE9aGEodCksciE9PW51bGwmJnIuZGVoeWRyYXRlZCE9PW51bGwpe2lmKGU9PT1udWxsKXtpZighYSl0aHJvdyBFcnJvcihpKDMxOCkpO2lmKGE9dC5tZW1vaXplZFN0YXRlLGE9YT09PW51bGw_bnVsbDphLmRlaHlkcmF0ZWQsIWEpdGhyb3cgRXJyb3IoaSgzMTcpKTthW0F0XT10fWVsc2UgZ2EoKSwhKHQuZmxhZ3MmMTI4KSYmKHQubWVtb2l6ZWRTdGF0ZT1udWxsKSx0LmZsYWdzfD00O1YodCksYT0hMX1lbHNlIGE9X2EoKSxlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmKGUubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9YSksYT0hMDtpZighYSlyZXR1cm4gdC5mbGFncyYyNTY_KEJvKHQpLHQpOihCbyh0KSxudWxsKX1yZXR1cm4gQm8odCksdC5mbGFncyYxMjg_KHQubGFuZXM9bix0KToobj1yIT09bnVsbCxlPWUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsLG4mJihyPXQuY2hpbGQsYT1udWxsLHIuYWx0ZXJuYXRlIT09bnVsbCYmci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCYmKGE9ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksbz1udWxsLHIubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnIubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYobz1yLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLG8hPT1hJiYoci5mbGFnc3w9MjA0OCkpLG4hPT1lJiZuJiYodC5jaGlsZC5mbGFnc3w9ODE5MikseWwodCx0LnVwZGF0ZVF1ZXVlKSxWKHQpLG51bGwpO2Nhc2UgNDpyZXR1cm4gRmUoKSxlPT09bnVsbCYmV2YodC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksdC5mbGFnc3w9NjcxMDg4NjQsVih0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIENhKHQudHlwZSksVih0KSxudWxsO2Nhc2UgMTk6aWYoVW8odCkscj10Lm1lbW9pemVkU3RhdGUscj09PW51bGwpcmV0dXJuIFYodCksbnVsbDtpZihhPSEhKHQuZmxhZ3MmMTI4KSxvPXIucmVuZGVyaW5nLG89PT1udWxsKXtpZihhKWJsKHIsITEpO2Vsc2V7aWYoWSE9PTB8fGUhPT1udWxsJiZlLmZsYWdzJjEyOClmb3IoZT10LmNoaWxkO2UhPT1udWxsOyl7aWYobz1XbyhlKSxvIT09bnVsbCl7Zm9yKHQuZmxhZ3N8PTEyOCxibChyLCExKSxlPW8udXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT1lLHlsKHQsZSksdC5zdWJ0cmVlRmxhZ3M9MCxlPW4sbj10LmNoaWxkO24hPT1udWxsOylIaShuLGUpLG49bi5zaWJsaW5nO3JldHVybiBIbyh0LFZvLmN1cnJlbnQmMXwyKSxJJiZpYSh0LHIudHJlZUZvcmtDb3VudCksdC5jaGlsZH1lPWUuc2libGluZ31yLnRhaWwhPT1udWxsJiZKZSgpPl9kJiYodC5mbGFnc3w9MTI4LGE9ITAsYmwociwhMSksdC5sYW5lcz00MTk0MzA0KX19ZWxzZXtpZighYSl7aWYoZT1XbyhvKSxlIT09bnVsbCl7aWYodC5mbGFnc3w9MTI4LGE9ITAsZT1lLnVwZGF0ZVF1ZXVlLHQudXBkYXRlUXVldWU9ZSx5bCh0LGUpLGJsKHIsITApLHIudGFpbD09PW51bGwmJnIudGFpbE1vZGUhPT1gY29sbGFwc2VkYCYmci50YWlsTW9kZSE9PWB2aXNpYmxlYCYmIW8uYWx0ZXJuYXRlJiYhSSlyZXR1cm4gVih0KSxudWxsfWVsc2UgMipKZSgpLXIucmVuZGVyaW5nU3RhcnRUaW1lPl9kJiZuIT09NTM2ODcwOTEyJiYodC5mbGFnc3w9MTI4LGE9ITAsYmwociwhMSksdC5sYW5lcz00MTk0MzA0KX1yLmlzQmFja3dhcmRzPyhvLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPW8pOihlPXIubGFzdCxlPT09bnVsbD90LmNoaWxkPW86ZS5zaWJsaW5nPW8sci5sYXN0PW8pfWlmKHIudGFpbCE9PW51bGwpe2U9ci50YWlsO2E6e2ZvcihuPWU7biE9PW51bGw7KXtpZihuLmFsdGVybmF0ZSE9PW51bGwpe249ITE7YnJlYWsgYX1uPW4uc2libGluZ31uPSEwfXJldHVybiByLnJlbmRlcmluZz1lLHIudGFpbD1lLnNpYmxpbmcsci5yZW5kZXJpbmdTdGFydFRpbWU9SmUoKSxlLnNpYmxpbmc9bnVsbCxvPVZvLmN1cnJlbnQsbz1hP28mMXwyOm8mMSxyLnRhaWxNb2RlPT09YHZpc2libGVgfHxyLnRhaWxNb2RlPT09YGNvbGxhcHNlZGB8fCFufHxJP0hvKHQsbyk6KG49byxEKFBvLHQpLEQoVm8sbiksRm89PT1udWxsJiYoRm89dCkpLEkmJmlhKHQsci50cmVlRm9ya0NvdW50KSxlfXJldHVybiBWKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBCbyh0KSxObygpLHI9dC5tZW1vaXplZFN0YXRlIT09bnVsbCxlPT09bnVsbD9yJiYodC5mbGFnc3w9ODE5Mik6ZS5tZW1vaXplZFN0YXRlIT09bnVsbCE9PXImJih0LmZsYWdzfD04MTkyKSxyP24mNTM2ODcwOTEyJiYhKHQuZmxhZ3MmMTI4KSYmKFYodCksdC5zdWJ0cmVlRmxhZ3MmNiYmKHQuZmxhZ3N8PTgxOTIpKTpWKHQpLG49dC51cGRhdGVRdWV1ZSxuIT09bnVsbCYmeWwodCxuLnJldHJ5UXVldWUpLG49bnVsbCxlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCkscj1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYocj10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHIhPT1uJiYodC5mbGFnc3w9MjA0OCksZSE9PW51bGwmJkFlKEphKSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG49bnVsbCxlIT09bnVsbCYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1uJiYodC5mbGFnc3w9MjA0OCksQ2EoTCksVih0KSxudWxsO2Nhc2UgMjU6cmV0dXJuIG51bGw7Y2FzZSAzMDpyZXR1cm4gdC5mbGFnc3w9MzM1NTQ0MzIsVih0KSxudWxsfXRocm93IEVycm9yKGkoMTU2LHQudGFnKSl9ZnVuY3Rpb24gU2woZSx0KXtzd2l0Y2goc2EodCksdC50YWcpe2Nhc2UgMTpyZXR1cm4gZT10LmZsYWdzLGUmNjU1MzY_KHQuZmxhZ3M9ZSYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAzOnJldHVybiBDYShMKSxGZSgpLGU9dC5mbGFncyxlJjY1NTM2JiYhKGUmMTI4KT8odC5mbGFncz1lJi02NTUzN3wxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBMZSh0KSxudWxsO2Nhc2UgMzE6aWYodC5tZW1vaXplZFN0YXRlIT09bnVsbCl7aWYoQm8odCksdC5hbHRlcm5hdGU9PT1udWxsKXRocm93IEVycm9yKGkoMzQwKSk7Z2EoKX1yZXR1cm4gZT10LmZsYWdzLGUmNjU1MzY_KHQuZmxhZ3M9ZSYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAxMzppZihCbyh0KSxlPXQubWVtb2l6ZWRTdGF0ZSxlIT09bnVsbCYmZS5kZWh5ZHJhdGVkIT09bnVsbCl7aWYodC5hbHRlcm5hdGU9PT1udWxsKXRocm93IEVycm9yKGkoMzQwKSk7Z2EoKX1yZXR1cm4gZT10LmZsYWdzLGUmNjU1MzY_KHQuZmxhZ3M9ZSYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAxOTpyZXR1cm4gVW8odCksZT10LmZsYWdzLGUmNjU1MzY_KHQuZmxhZ3M9ZSYtNjU1Mzd8MTI4LGU9dC5tZW1vaXplZFN0YXRlLGUhPT1udWxsJiYoZS5yZW5kZXJpbmc9bnVsbCxlLnRhaWw9bnVsbCksdC5mbGFnc3w9NCx0KTpudWxsO2Nhc2UgNDpyZXR1cm4gRmUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIENhKHQudHlwZSksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIEJvKHQpLE5vKCksZSE9PW51bGwmJkFlKEphKSxlPXQuZmxhZ3MsZSY2NTUzNj8odC5mbGFncz1lJi02NTUzN3wxMjgsdCk6bnVsbDtjYXNlIDI0OnJldHVybiBDYShMKSxudWxsO2Nhc2UgMjU6cmV0dXJuIG51bGw7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gQ2woZSx0KXtzd2l0Y2goc2EodCksdC50YWcpe2Nhc2UgMzpDYShMKSxGZSgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6TGUodCk7YnJlYWs7Y2FzZSA0OkZlKCk7YnJlYWs7Y2FzZSAzMTp0Lm1lbW9pemVkU3RhdGUhPT1udWxsJiZCbyh0KTticmVhaztjYXNlIDEzOkJvKHQpO2JyZWFrO2Nhc2UgMTk6VW8odCk7YnJlYWs7Y2FzZSAxMDpDYSh0LnR5cGUpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpCbyh0KSxObygpLGUhPT1udWxsJiZBZShKYSk7YnJlYWs7Y2FzZSAyNDpDYShMKX19ZnVuY3Rpb24gd2woZSx0KXt0cnl7dmFyIG49dC51cGRhdGVRdWV1ZSxyPW49PT1udWxsP251bGw6bi5sYXN0RWZmZWN0O2lmKHIhPT1udWxsKXt2YXIgaT1yLm5leHQ7bj1pO2Rve2lmKChuLnRhZyZlKT09PWUpe3I9dm9pZCAwO3ZhciBhPW4uY3JlYXRlLG89bi5pbnN0O3I9YSgpLG8uZGVzdHJveT1yfW49bi5uZXh0fXdoaWxlKG4hPT1pKX19Y2F0Y2goZSl7Wih0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBUbChlLHQsbil7dHJ5e3ZhciByPXQudXBkYXRlUXVldWUsaT1yPT09bnVsbD9udWxsOnIubGFzdEVmZmVjdDtpZihpIT09bnVsbCl7dmFyIGE9aS5uZXh0O3I9YTtkb3tpZigoci50YWcmZSk9PT1lKXt2YXIgbz1yLmluc3Qscz1vLmRlc3Ryb3k7aWYocyE9PXZvaWQgMCl7by5kZXN0cm95PXZvaWQgMCxpPXQ7dmFyIGM9bixsPXM7dHJ5e2woKX1jYXRjaChlKXtaKGksYyxlKX19fXI9ci5uZXh0fXdoaWxlKHIhPT1hKX19Y2F0Y2goZSl7Wih0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBFbChlKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKHQhPT1udWxsKXt2YXIgbj1lLnN0YXRlTm9kZTt0cnl7T28odCxuKX1jYXRjaCh0KXtaKGUsZS5yZXR1cm4sdCl9fX1mdW5jdGlvbiBEbChlLHQsbil7bi5wcm9wcz1UYyhlLnR5cGUsZS5tZW1vaXplZFByb3BzKSxuLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZTt0cnl7bi5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKG4pe1ooZSx0LG4pfX1mdW5jdGlvbiBPbChlLHQpe3RyeXt2YXIgbj1lLnJlZjtpZihuIT09bnVsbCl7c3dpdGNoKGUudGFnKXtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnZhciByPWUuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMzA6dmFyIGk9ZS5zdGF0ZU5vZGUsYT13aShlLm1lbW9pemVkUHJvcHMsaSk7KGkucmVmPT09bnVsbHx8aS5yZWYubmFtZSE9PWEpJiYoaS5yZWY9UHAoYSkpLHI9aS5yZWY7YnJlYWs7Y2FzZSA3OmlmKGUuc3RhdGVOb2RlPT09bnVsbCl7dmFyIG89bmV3IEZwKGUpO3AoZS5jaGlsZCwhMSxRcCxvLHZvaWQgMCx2b2lkIDApLGUuc3RhdGVOb2RlPW99cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnI9ZS5zdGF0ZU5vZGV9dHlwZW9mIG49PWBmdW5jdGlvbmA_ZS5yZWZDbGVhbnVwPW4ocik6bi5jdXJyZW50PXJ9fWNhdGNoKG4pe1ooZSx0LG4pfX1mdW5jdGlvbiBrbChlLHQpe3ZhciBuPWUucmVmLHI9ZS5yZWZDbGVhbnVwO2lmKG4hPT1udWxsKXtpZih0eXBlb2Ygcj09YGZ1bmN0aW9uYCl0cnl7cigpfWNhdGNoKG4pe1ooZSx0LG4pfWZpbmFsbHl7ZS5yZWZDbGVhbnVwPW51bGwsZT1lLmFsdGVybmF0ZSxlIT1udWxsJiYoZS5yZWZDbGVhbnVwPW51bGwpfWVsc2UgaWYodHlwZW9mIG49PWBmdW5jdGlvbmApdHJ5e24obnVsbCl9Y2F0Y2gobil7WihlLHQsbil9ZWxzZSBuLmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gQWwoZSx0KXtpZigoZS50YWc9PT01fHxlLnRhZz09PTI3fHxlLnRhZz09PTYpJiZlLmFsdGVybmF0ZT09PW51bGwmJnQhPT1udWxsKWZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWVtKGUuc3RhdGVOb2RlLHRbbl0pfWZ1bmN0aW9uIGpsKGUpe2Zvcih2YXIgdD1lLnJldHVybjt0IT09bnVsbCYmKFBsKHQpJiZlbShlLnN0YXRlTm9kZSx0LnN0YXRlTm9kZSksIU5sKHQpKTspdD10LnJldHVybn1mdW5jdGlvbiBNbChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47dCE9PW51bGwmJihQbCh0KSYmdG0oZS5zdGF0ZU5vZGUsdC5zdGF0ZU5vZGUpLCFObCh0KSk7KXQ9dC5yZXR1cm59ZnVuY3Rpb24gTmwoZSl7cmV0dXJuIGUudGFnPT09NXx8ZS50YWc9PT0zfHxlLnRhZz09PTI3fWZ1bmN0aW9uIFBsKGUpe3JldHVybiBlJiZlLnRhZz09PTcmJmUuc3RhdGVOb2RlIT09bnVsbH1mdW5jdGlvbiBGbChlKXt2YXIgdD1lLnR5cGUsbj1lLm1lbW9pemVkUHJvcHMscj1lLnN0YXRlTm9kZTt0cnl7YTpzd2l0Y2godCl7Y2FzZWBidXR0b25gOmNhc2VgaW5wdXRgOmNhc2Vgc2VsZWN0YDpjYXNlYHRleHRhcmVhYDpuLmF1dG9Gb2N1cyYmci5mb2N1cygpO2JyZWFrIGE7Y2FzZWBpbWdgOm4uc3JjP3Iuc3JjPW4uc3JjOm4uc3JjU2V0JiYoci5zcmNzZXQ9bi5zcmNTZXQpfX1jYXRjaCh0KXtaKGUsZS5yZXR1cm4sdCl9fWZ1bmN0aW9uIElsKGUsdCxuKXt0cnl7dmFyIHI9ZS5zdGF0ZU5vZGU7aXAocixlLnR5cGUsbix0KSxyW2p0XT10fWNhdGNoKHQpe1ooZSxlLnJldHVybix0KX19ZnVuY3Rpb24gTGwoZSl7cmV0dXJuIGUudGFnPT09NXx8ZS50YWc9PT0zfHxlLnRhZz09PTI2fHxlLnRhZz09PTI3JiZTcChlLnR5cGUpfHxlLnRhZz09PTR9ZnVuY3Rpb24gUmwoZSl7YTpmb3IoOzspe2Zvcig7ZS5zaWJsaW5nPT09bnVsbDspe2lmKGUucmV0dXJuPT09bnVsbHx8TGwoZS5yZXR1cm4pKXJldHVybiBudWxsO2U9ZS5yZXR1cm59Zm9yKGUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmc7ZS50YWchPT01JiZlLnRhZyE9PTYmJmUudGFnIT09MTg7KXtpZihlLnRhZz09PTI3JiZTcChlLnR5cGUpfHxlLmZsYWdzJjJ8fGUuY2hpbGQ9PT1udWxsfHxlLnRhZz09PTQpY29udGludWUgYTtlLmNoaWxkLnJldHVybj1lLGU9ZS5jaGlsZH1pZighKGUuZmxhZ3MmMikpcmV0dXJuIGUuc3RhdGVOb2RlfX1mdW5jdGlvbiB6bChlLHQsbixyKXt2YXIgaT1lLnRhZztpZihpPT09NXx8aT09PTYpaT1lLnN0YXRlTm9kZSx0PyhuLm5vZGVUeXBlPT09OT9uLmJvZHk6bi5ub2RlTmFtZT09PWBIVE1MYD9uLm93bmVyRG9jdW1lbnQuYm9keTpuKS5pbnNlcnRCZWZvcmUoaSx0KToodD1uLm5vZGVUeXBlPT09OT9uLmJvZHk6bi5ub2RlTmFtZT09PWBIVE1MYD9uLm93bmVyRG9jdW1lbnQuYm9keTpuLHQuYXBwZW5kQ2hpbGQoaSksbj1uLl9yZWFjdFJvb3RDb250YWluZXIsbiE9bnVsbHx8dC5vbmNsaWNrIT09bnVsbHx8KHQub25jbGljaz1FbikpLEFsKGUsciksaj0hMDtlbHNlIGlmKGkhPT00JiYoaT09PTI3JiYoQWwoZSxyKSxyPW51bGwsU3AoZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUsdD1udWxsKSksZT1lLmNoaWxkLGUhPT1udWxsKSlmb3IoemwoZSx0LG4sciksZT1lLnNpYmxpbmc7ZSE9PW51bGw7KXpsKGUsdCxuLHIpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIEJsKGUsdCxuLHIpe3ZhciBpPWUudGFnO2lmKGk9PT01fHxpPT09NilpPWUuc3RhdGVOb2RlLHQ_bi5pbnNlcnRCZWZvcmUoaSx0KTpuLmFwcGVuZENoaWxkKGkpLEFsKGUsciksaj0hMDtlbHNlIGlmKGkhPT00JiYoaT09PTI3JiYoQWwoZSxyKSxyPW51bGwsU3AoZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpKSxlPWUuY2hpbGQsZSE9PW51bGwpKWZvcihCbChlLHQsbixyKSxlPWUuc2libGluZztlIT09bnVsbDspQmwoZSx0LG4sciksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gVmwoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGUsbj1lLm1lbW9pemVkUHJvcHM7dHJ5e2Zvcih2YXIgcj1lLnR5cGUsaT10LmF0dHJpYnV0ZXM7aS5sZW5ndGg7KXQucmVtb3ZlQXR0cmlidXRlTm9kZShpWzBdKTtucCh0LHIsbiksdFtBdF09ZSx0W2p0XT1ufWNhdGNoKHQpe1ooZSxlLnJldHVybix0KX19dmFyIEhsPSExLFVsPW51bGw7ZnVuY3Rpb24gV2woZSl7KGUudGFnPT09MzB8fGUuc3VidHJlZUZsYWdzJjMzNTU0NDMyKSYmKEhsPSEwKX12YXIgR2w9bnVsbDtmdW5jdGlvbiBLbCgpe3ZhciBlPUdsO3JldHVybiBHbD1udWxsLGV9dmFyIHFsPTA7ZnVuY3Rpb24gSmwoZSx0LG4scixpKXtyZXR1cm4gcWw9MCxZbChlLmNoaWxkLHQsbixyLGkpfWZ1bmN0aW9uIFlsKGUsdCxuLHIsaSl7Zm9yKHZhciBhPSExO2UhPT1udWxsOyl7aWYoZS50YWc9PT01KXt2YXIgbz1lLnN0YXRlTm9kZTtpZihyIT09bnVsbCl7dmFyIHM9T3Aobyk7ci5wdXNoKHMpLHMudmlldyYmKGE9ITApfWVsc2UgYXx8T3AobykudmlldyYmKGE9ITApO0hsPSEwLFRwKG8scWw9PT0wP3Q6dCtgX2ArcWwsbikscWwrK31lbHNlKGUudGFnIT09MjJ8fGUubWVtb2l6ZWRTdGF0ZT09PW51bGwpJiYoZS50YWc9PT0zMCYmaXx8WWwoZS5jaGlsZCx0LG4scixpKSYmKGE9ITApKTtlPWUuc2libGluZ31yZXR1cm4gYX1mdW5jdGlvbiBYbChlLHQpe2Zvcig7ZSE9PW51bGw7KWUudGFnPT09NT9FcChlLnN0YXRlTm9kZSxlLm1lbW9pemVkUHJvcHMpOihlLnRhZyE9PTIyfHxlLm1lbW9pemVkU3RhdGU9PT1udWxsKSYmKGUudGFnPT09MzAmJnR8fFhsKGUuY2hpbGQsdCkpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIFpsKGUpe2lmKGUuc3VidHJlZUZsYWdzJjE4ODc0MzY4KWZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KXtpZigoZS50YWchPT0yMnx8ZS5tZW1vaXplZFN0YXRlPT09bnVsbCkmJihabChlKSxlLnRhZz09PTMwJiZlLmZsYWdzJjE4ODc0MzY4JiZlLnN0YXRlTm9kZS5wYWlyZWQpKXt2YXIgdD1lLm1lbW9pemVkUHJvcHM7aWYodC5uYW1lPT1udWxsfHx0Lm5hbWU9PT1gYXV0b2ApdGhyb3cgRXJyb3IoaSg1NDQpKTt2YXIgbj10Lm5hbWU7dD1FaSh0LmRlZmF1bHQsdC5zaGFyZSksdCE9PWBub25lYCYmKEpsKGUsbix0LG51bGwsITEpfHxYbChlLmNoaWxkLCExKSl9ZT1lLnNpYmxpbmd9fWZ1bmN0aW9uIFFsKGUsdCl7aWYoZS50YWc9PT0zMCl7dmFyIG49ZS5zdGF0ZU5vZGUscj1lLm1lbW9pemVkUHJvcHMsaT13aShyLG4pLGE9RWkoci5kZWZhdWx0LG4ucGFpcmVkP3Iuc2hhcmU6ci5lbnRlcik7YT09PWBub25lYD9abChlKTpKbChlLGksYSxudWxsLCExKT8oWmwoZSksbi5wYWlyZWR8fHR8fE5kKGUsci5vbkVudGVyKSk6WGwoZS5jaGlsZCwhMSl9ZWxzZSBpZihlLnN1YnRyZWVGbGFncyYzMzU1NDQzMilmb3IoZT1lLmNoaWxkO2UhPT1udWxsOylRbChlLHQpLGU9ZS5zaWJsaW5nO2Vsc2UgWmwoZSl9ZnVuY3Rpb24gJGwoZSl7aWYoVWwhPT1udWxsJiZVbC5zaXplIT09MCl7dmFyIHQ9VWw7aWYoZS5zdWJ0cmVlRmxhZ3MmMTg4NzQzNjgpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2lmKGUudGFnIT09MjJ8fGUubWVtb2l6ZWRTdGF0ZT09PW51bGwpe2lmKGUudGFnPT09MzAmJmUuZmxhZ3MmMTg4NzQzNjgpe3ZhciBuPWUubWVtb2l6ZWRQcm9wcyxyPW4ubmFtZTtpZihyIT1udWxsJiZyIT09YGF1dG9gKXt2YXIgaT10LmdldChyKTtpZihpIT09dm9pZCAwKXt2YXIgYT1FaShuLmRlZmF1bHQsbi5zaGFyZSk7aWYoYSE9PWBub25lYCYmKEpsKGUscixhLG51bGwsITEpPyhhPWUuc3RhdGVOb2RlLGkucGFpcmVkPWEsYS5wYWlyZWQ9aSxOZChlLG4ub25TaGFyZSkpOlhsKGUuY2hpbGQsITEpKSx0LmRlbGV0ZShyKSx0LnNpemU9PT0wKWJyZWFrfX19JGwoZSl9ZT1lLnNpYmxpbmd9fX1mdW5jdGlvbiBldShlKXtpZihlLnRhZz09PTMwKXt2YXIgdD1lLm1lbW9pemVkUHJvcHMsbj13aSh0LGUuc3RhdGVOb2RlKSxyPVVsPT09bnVsbD92b2lkIDA6VWwuZ2V0KG4pLGk9RWkodC5kZWZhdWx0LHI9PT12b2lkIDA_dC5leGl0OnQuc2hhcmUpO2khPT1gbm9uZWAmJihKbChlLG4saSxudWxsLCExKT9yPT09dm9pZCAwP05kKGUsdC5vbkV4aXQpOihpPWUuc3RhdGVOb2RlLHIucGFpcmVkPWksaS5wYWlyZWQ9cixVbC5kZWxldGUobiksTmQoZSx0Lm9uU2hhcmUpKTpYbChlLmNoaWxkLCExKSksVWwhPT1udWxsJiYkbChlKX1lbHNlIGlmKGUuc3VidHJlZUZsYWdzJjMzNTU0NDMyKWZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KWV1KGUpLGU9ZS5zaWJsaW5nO2Vsc2UgVWwhPT1udWxsJiYkbChlKX1mdW5jdGlvbiB0dShlKXtmb3IoZT1lLmNoaWxkO2UhPT1udWxsOyl7aWYoZS50YWc9PT0zMCl7dmFyIHQ9ZS5tZW1vaXplZFByb3BzLG49d2kodCxlLnN0YXRlTm9kZSk7dD1FaSh0LmRlZmF1bHQsdC51cGRhdGUpLGUuZmxhZ3MmPS01LHQhPT1gbm9uZWAmJkpsKGUsbix0LGUubWVtb2l6ZWRTdGF0ZT1bXSwhMSl9ZWxzZSBlLnN1YnRyZWVGbGFncyYzMzU1NDQzMiYmdHUoZSk7ZT1lLnNpYmxpbmd9fWZ1bmN0aW9uIG51KGUpe2lmKGUuc3VidHJlZUZsYWdzJjE4ODc0MzY4KWZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KXtpZihlLnRhZyE9PTIyfHxlLm1lbW9pemVkU3RhdGU9PT1udWxsKXtpZihlLnRhZz09PTMwJiZlLmZsYWdzJjE4ODc0MzY4KXt2YXIgdD1lLnN0YXRlTm9kZTt0LnBhaXJlZCE9PW51bGwmJih0LnBhaXJlZD1udWxsLFhsKGUuY2hpbGQsITEpKX1udShlKX1lPWUuc2libGluZ319ZnVuY3Rpb24gcnUoZSl7aWYoZS50YWc9PT0zMCllLnN0YXRlTm9kZS5wYWlyZWQ9bnVsbCxYbChlLmNoaWxkLCExKSxudShlKTtlbHNlIGlmKGUuc3VidHJlZUZsYWdzJjMzNTU0NDMyKWZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KXJ1KGUpLGU9ZS5zaWJsaW5nO2Vsc2UgbnUoZSl9ZnVuY3Rpb24gaXUoZSl7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspZS50YWc9PT0zMD9YbChlLmNoaWxkLCExKTplLnN1YnRyZWVGbGFncyYzMzU1NDQzMiYmaXUoZSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gYXUoZSx0LG4scixpLGEsbyl7Zm9yKHZhciBzPSExO3QhPT1udWxsOyl7aWYodC50YWc9PT01KXt2YXIgYz10LnN0YXRlTm9kZTtpZihhIT09bnVsbCYmcWw8YS5sZW5ndGgpe3ZhciBsPWFbcWxdLHU9T3AoYyk7KGwudmlld3x8dS52aWV3KSYmKHM9ITApO3ZhciBkO2lmKGQ9IShlLmZsYWdzJjQpKXtpZih1LmNsaXApZD0hMDtlbHNle2Q9bC5yZWN0O3ZhciBmPXUucmVjdDtkPWQueSE9PWYueXx8ZC54IT09Zi54fHxkLmhlaWdodCE9PWYuaGVpZ2h0fHxkLndpZHRoIT09Zi53aWR0aH19ZCYmKGUuZmxhZ3N8PTQpLHUuYWJzP3U9IWwuYWJzOihsPWwucmVjdCx1PXUucmVjdCx1PWwuaGVpZ2h0IT09dS5oZWlnaHR8fGwud2lkdGghPT11LndpZHRoKSx1JiYoZS5mbGFnc3w9MzIpfWVsc2UgZS5mbGFnc3w9MzI7ZS5mbGFncyY0JiZUcChjLHFsPT09MD9uOm4rYF9gK3FsLGkpLHMmJmUuZmxhZ3MmNHx8KEdsPT09bnVsbCYmKEdsPVtdKSxHbC5wdXNoKGMscWw9PT0wP3I6citgX2ArcWwsdC5tZW1vaXplZFByb3BzKSkscWwrK31lbHNlKHQudGFnIT09MjJ8fHQubWVtb2l6ZWRTdGF0ZT09PW51bGwpJiYodC50YWc9PT0zMCYmbz9lLmZsYWdzfD10LmZsYWdzJjMyOmF1KGUsdC5jaGlsZCxuLHIsaSxhLG8pJiYocz0hMCkpO3Q9dC5zaWJsaW5nfXJldHVybiBzfWZ1bmN0aW9uIG91KGUsdCl7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2lmKGUudGFnPT09MzApe3ZhciBuPWUubWVtb2l6ZWRQcm9wcyxyPWUuc3RhdGVOb2RlLGk9d2kobixyKSxhPUVpKG4uZGVmYXVsdCxuLnVwZGF0ZSk7aWYodCl7cj1yLmNsb25lczt2YXIgbz1yPT09bnVsbD9udWxsOnIubWFwKGtwKX1lbHNlIG89ZS5tZW1vaXplZFN0YXRlLGUubWVtb2l6ZWRTdGF0ZT1udWxsO3I9ZTt2YXIgcz1lLmNoaWxkO3FsPTAsaT1hdShyLHMsaSxpLGEsbywhMSksZS5mbGFncyY0JiZpJiYodHx8TmQoZSxuLm9uVXBkYXRlKSl9ZWxzZSBlLnN1YnRyZWVGbGFncyYzMzU1NDQzMiYmb3UoZSx0KTtlPWUuc2libGluZ319dmFyIHN1PSExLEg9ITEsY3U9ITEsbHU9ITEsdXU9dHlwZW9mIFdlYWtTZXQ9PWBmdW5jdGlvbmA_V2Vha1NldDpTZXQsZHU9bnVsbCxmdT0hMSxwdT0hMSxtdT0hMSxodT0hMTtmdW5jdGlvbiBndShlLHQsbil7aWYoZT1lLmNvbnRhaW5lckluZm8sc3A9Z2gsZT1laShlKSx0aShlKSl7aWYoYHNlbGVjdGlvblN0YXJ0YGluIGUpdmFyIHI9e3N0YXJ0OmUuc2VsZWN0aW9uU3RhcnQsZW5kOmUuc2VsZWN0aW9uRW5kfTtlbHNlIGE6e3I9KHI9ZS5vd25lckRvY3VtZW50KSYmci5kZWZhdWx0Vmlld3x8d2luZG93O3ZhciBpPXIuZ2V0U2VsZWN0aW9uJiZyLmdldFNlbGVjdGlvbigpO2lmKGkmJmkucmFuZ2VDb3VudCE9PTApe3I9aS5hbmNob3JOb2RlO3ZhciBhPWkuYW5jaG9yT2Zmc2V0LG89aS5mb2N1c05vZGU7aT1pLmZvY3VzT2Zmc2V0O3RyeXtyLm5vZGVUeXBlLG8ubm9kZVR5cGV9Y2F0Y2h7cj1udWxsO2JyZWFrIGF9dmFyIHM9MCxjPS0xLGw9LTEsdT0wLGQ9MCxmPWUscD1udWxsO2I6Zm9yKDs7KXtmb3IodmFyIG07ZiE9PXJ8fGEhPT0wJiZmLm5vZGVUeXBlIT09M3x8KGM9cythKSxmIT09b3x8aSE9PTAmJmYubm9kZVR5cGUhPT0zfHwobD1zK2kpLGYubm9kZVR5cGU9PT0zJiYocys9Zi5ub2RlVmFsdWUubGVuZ3RoKSwobT1mLmZpcnN0Q2hpbGQpIT09bnVsbDspcD1mLGY9bTtmb3IoOzspe2lmKGY9PT1lKWJyZWFrIGI7aWYocD09PXImJisrdT09PWEmJihjPXMpLHA9PT1vJiYrK2Q9PT1pJiYobD1zKSwobT1mLm5leHRTaWJsaW5nKSE9PW51bGwpYnJlYWs7Zj1wLHA9Zi5wYXJlbnROb2RlfWY9bX1yPWM9PT0tMXx8bD09PS0xP251bGw6e3N0YXJ0OmMsZW5kOmx9fWVsc2Ugcj1udWxsfXJ8fD17c3RhcnQ6MCxlbmQ6MH19ZWxzZSByPW51bGw7Zm9yKGNwPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnJ9LGdoPSExLG49KG4mMzM1NTQ0MDY0KT09PW4sZHU9dCx0PW4_OTI3MDoxMDI0O2R1IT09bnVsbDspe2lmKGU9ZHUsbiYmKHI9ZS5kZWxldGlvbnMsciE9PW51bGwpKWZvcihhPTA7YTxyLmxlbmd0aDthKyspbiYmZXUoclthXSk7aWYoZS5hbHRlcm5hdGU9PT1udWxsJiZlLmZsYWdzJjIpbiYmV2woZSksX3Uobik7ZWxzZXtpZihlLnRhZz09PTIyKXtpZihyPWUuYWx0ZXJuYXRlLGUubWVtb2l6ZWRTdGF0ZSE9PW51bGwpe3IhPT1udWxsJiZyLm1lbW9pemVkU3RhdGU9PT1udWxsJiZuJiZldShyKSxfdShuKTtjb250aW51ZX1pZihyIT09bnVsbCYmci5tZW1vaXplZFN0YXRlIT09bnVsbCl7biYmV2woZSksX3Uobik7Y29udGludWV9fXI9ZS5jaGlsZCwoZS5zdWJ0cmVlRmxhZ3MmdCkhPT0wJiZyIT09bnVsbD8oci5yZXR1cm49ZSxkdT1yKToobiYmdHUoZSksX3UobikpfX1VbD1udWxsfWZ1bmN0aW9uIF91KGUpe2Zvcig7ZHUhPT1udWxsOyl7dmFyIHQ9ZHUsbj1lLHI9dC5hbHRlcm5hdGUsYT10LmZsYWdzO3N3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpicmVhaztjYXNlIDE6aWYoYSYxMDI0JiZyIT09bnVsbCl7bj12b2lkIDAsYT1yLm1lbW9pemVkUHJvcHMscj1yLm1lbW9pemVkU3RhdGU7dmFyIG89dC5zdGF0ZU5vZGU7dHJ5e3ZhciBzPVRjKHQudHlwZSxhKTtuPW8uZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUocyxyKSxvLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlPW59Y2F0Y2goZSl7Wih0LHQucmV0dXJuLGUpfX1icmVhaztjYXNlIDM6aWYoYSYxMDI0KXtpZihyPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbj1yLm5vZGVUeXBlLG49PT05KW5tKHIpO2Vsc2UgaWYobj09PTEpc3dpdGNoKHIubm9kZU5hbWUpe2Nhc2VgSEVBRGA6Y2FzZWBIVE1MYDpjYXNlYEJPRFlgOm5tKHIpO2JyZWFrO2RlZmF1bHQ6ci50ZXh0Q29udGVudD1gYH19YnJlYWs7Y2FzZSA1OmNhc2UgMjY6Y2FzZSAyNzpjYXNlIDY6Y2FzZSA0OmNhc2UgMTc6YnJlYWs7Y2FzZSAzMDpuJiZyIT09bnVsbCYmKG49d2koci5tZW1vaXplZFByb3BzLHIuc3RhdGVOb2RlKSxhPXQubWVtb2l6ZWRQcm9wcyxhPUVpKGEuZGVmYXVsdCxhLnVwZGF0ZSksYSE9PWBub25lYCYmSmwocixuLGEsci5tZW1vaXplZFN0YXRlPVtdLCEwKSk7YnJlYWs7ZGVmYXVsdDppZihhJjEwMjQpdGhyb3cgRXJyb3IoaSgxNjMpKX1pZihyPXQuc2libGluZyxyIT09bnVsbCl7ci5yZXR1cm49dC5yZXR1cm4sZHU9cjticmVha31kdT10LnJldHVybn19ZnVuY3Rpb24gdnUoZSx0LG4pe3ZhciByPW4uZmxhZ3M7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1Okx1KGUsbiksciY0JiZ3bCg1LG4pO2JyZWFrO2Nhc2UgMTppZihMdShlLG4pLHImNCl7aWYoZT1uLnN0YXRlTm9kZSx0PT09bnVsbCl0cnl7ZS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe1oobixuLnJldHVybixlKX1lbHNle3ZhciBpPVRjKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO3Q9dC5tZW1vaXplZFN0YXRlO3RyeXtlLmNvbXBvbmVudERpZFVwZGF0ZShpLHQsZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSl9Y2F0Y2goZSl7WihuLG4ucmV0dXJuLGUpfX19ciY2NCYmRWwobiksciY1MTImJk9sKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMzppZihMdShlLG4pLHImNjQmJihlPW4udXBkYXRlUXVldWUsZSE9PW51bGwpKXtpZih0PW51bGwsbi5jaGlsZCE9PW51bGwpc3dpdGNoKG4uY2hpbGQudGFnKXtjYXNlIDI3OmNhc2UgNTp0PW4uY2hpbGQuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMTp0PW4uY2hpbGQuc3RhdGVOb2RlfXRyeXtPbyhlLHQpfWNhdGNoKGUpe1oobixuLnJldHVybixlKX19YnJlYWs7Y2FzZSAyNzp0PT09bnVsbCYmciY0JiZWbChuKTtjYXNlIDI2OmNhc2UgNTpMdShlLG4pLHQ9PT1udWxsJiZyJjQmJkZsKG4pLHImNTEyJiZPbChuLG4ucmV0dXJuKTticmVhaztjYXNlIDEyOkx1KGUsbik7YnJlYWs7Y2FzZSAzMTpMdShlLG4pLHImNCYmRXUoZSxuKTticmVhaztjYXNlIDEzOkx1KGUsbiksciY0JiZEdShlLG4pLHImNjQmJihlPW4ubWVtb2l6ZWRTdGF0ZSxlIT09bnVsbCYmKGU9ZS5kZWh5ZHJhdGVkLGUhPT1udWxsJiYobj1fZi5iaW5kKG51bGwsbiksY20oZSxuKSkpKTticmVhaztjYXNlIDIyOmlmKHI9bi5tZW1vaXplZFN0YXRlIT09bnVsbHx8c3UsIXIpe3ZhciBhPXQhPT1udWxsJiZ0Lm1lbW9pemVkU3RhdGUhPT1udWxsfHxIO3Q9c3UsaT1ILHN1PXIsKEg9YSkmJiFpPyhyPTIsbi5zdWJ0cmVlRmxhZ3MmODc3MiYmKHJ8PTEpLHp1KGUsbixyKSk6THUoZSxuKSxzdT10LEg9aX1icmVhaztjYXNlIDMwOkx1KGUsbiksciY1MTImJk9sKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgNzpyJjUxMiYmT2wobixuLnJldHVybik7ZGVmYXVsdDpMdShlLG4pfX1mdW5jdGlvbiB5dShlLHQpe2ZvcihlPWUuY2hpbGQ7ZSE9PW51bGw7KWJ1KGUsdCksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gYnUoZSx0KXtzd2l0Y2goZS50YWcpe2Nhc2UgNTpjYXNlIDI2OnRyeXt2YXIgbj1lLnN0YXRlTm9kZTtpZih0KXt2YXIgcj1uLnN0eWxlO3R5cGVvZiByLnNldFByb3BlcnR5PT1gZnVuY3Rpb25gP3Iuc2V0UHJvcGVydHkoYGRpc3BsYXlgLGBub25lYCxgaW1wb3J0YW50YCk6ci5kaXNwbGF5PWBub25lYH1lbHNle3ZhciBpPWUuc3RhdGVOb2RlLGE9ZS5tZW1vaXplZFByb3BzLnN0eWxlLG89YSE9bnVsbCYmYS5oYXNPd25Qcm9wZXJ0eShgZGlzcGxheWApP2EuZGlzcGxheTpudWxsO2kuc3R5bGUuZGlzcGxheT1vPT1udWxsfHx0eXBlb2Ygbz09YGJvb2xlYW5gP2BgOihgYCtvKS50cmltKCl9fWNhdGNoKHQpe1ooZSxlLnJldHVybix0KX14dShlLHQpO2JyZWFrO2Nhc2UgNjp0cnl7ZS5zdGF0ZU5vZGUubm9kZVZhbHVlPXQ_YGA6ZS5tZW1vaXplZFByb3BzLGo9ITB9Y2F0Y2godCl7WihlLGUucmV0dXJuLHQpfWJyZWFrO2Nhc2UgMTg6dHJ5e3ZhciBzPWUuc3RhdGVOb2RlO3Q_d3AocywhMCk6d3AoZS5zdGF0ZU5vZGUsITEpfWNhdGNoKHQpe1ooZSxlLnJldHVybix0KX1icmVhaztjYXNlIDIyOmNhc2UgMjM6ZS5tZW1vaXplZFN0YXRlPT09bnVsbCYmeXUoZSx0KTticmVhaztkZWZhdWx0Onl1KGUsdCl9fWZ1bmN0aW9uIHh1KGUsdCl7aWYoZS5zdWJ0cmVlRmxhZ3MmNjcxMDg4NjQpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe2E6e3ZhciBuPWUscj10O3N3aXRjaChuLnRhZyl7Y2FzZSA0OmJ1KG4scik7YnJlYWsgYTtjYXNlIDIyOm4ubWVtb2l6ZWRTdGF0ZT09PW51bGwmJnh1KG4scik7YnJlYWsgYTtkZWZhdWx0Onh1KG4scil9fWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBTdShlKXt2YXIgdD1lLmFsdGVybmF0ZTt0IT09bnVsbCYmKGUuYWx0ZXJuYXRlPW51bGwsU3UodCkpLGUuY2hpbGQ9bnVsbCxlLmRlbGV0aW9ucz1udWxsLGUuc2libGluZz1udWxsLGUudGFnPT09NSYmKHQ9ZS5zdGF0ZU5vZGUsdCE9PW51bGwmJnp0KHQpKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfXZhciBVPW51bGwsQ3U9ITE7ZnVuY3Rpb24gd3UoZSx0LG4pe2ZvcihuPW4uY2hpbGQ7biE9PW51bGw7KVR1KGUsdCxuKSxuPW4uc2libGluZ31mdW5jdGlvbiBUdShlLHQsbil7aWYoaXQmJnR5cGVvZiBpdC5vbkNvbW1pdEZpYmVyVW5tb3VudD09YGZ1bmN0aW9uYCl0cnl7aXQub25Db21taXRGaWJlclVubW91bnQocnQsbil9Y2F0Y2h7fXN3aXRjaChuLnRhZyl7Y2FzZSAyNjpIfHxrbChuLHQpLHd1KGUsdCxuKSxuLm1lbW9pemVkU3RhdGU_bi5tZW1vaXplZFN0YXRlLmNvdW50LS06bi5zdGF0ZU5vZGUmJiFIJiYobj1uLnN0YXRlTm9kZSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobikpO2JyZWFrO2Nhc2UgMjc6SHx8a2wobix0KSxNbChuKTt2YXIgcj1VLGk9Q3U7U3Aobi50eXBlKSYmKFU9bi5zdGF0ZU5vZGUsQ3U9ITEpLHd1KGUsdCxuKSxnbShuLnN0YXRlTm9kZSxuLnR5cGUsbi5tZW1vaXplZFByb3BzKSxVPXIsQ3U9aTticmVhaztjYXNlIDU6SHx8a2wobix0KSxNbChuKTtjYXNlIDY6aWYobi50YWc9PT02JiZNbChuKSxyPVUsaT1DdSxVPW51bGwsd3UoZSx0LG4pLFU9cixDdT1pLFUhPT1udWxsKXtpZihDdSl0cnl7KFUubm9kZVR5cGU9PT05P1UuYm9keTpVLm5vZGVOYW1lPT09YEhUTUxgP1Uub3duZXJEb2N1bWVudC5ib2R5OlUpLnJlbW92ZUNoaWxkKG4uc3RhdGVOb2RlKSxqPSEwfWNhdGNoKGUpe1oobix0LGUpfWVsc2UgdHJ5e1UucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpLGo9ITB9Y2F0Y2goZSl7WihuLHQsZSl9fWJyZWFrO2Nhc2UgMTg6VSE9PW51bGwmJihDdT8oZT1VLENwKGUubm9kZVR5cGU9PT05P2UuYm9keTplLm5vZGVOYW1lPT09YEhUTUxgP2Uub3duZXJEb2N1bWVudC5ib2R5OmUsbi5zdGF0ZU5vZGUpLEhoKGUpKTpDcChVLG4uc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSA0OnI9VSxpPUN1LFU9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxDdT0hMCx3dShlLHQsbiksVT1yLEN1PWk7YnJlYWs7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OlRsKDIsbix0KSxIfHxUbCg0LG4sdCksd3UoZSx0LG4pO2JyZWFrO2Nhc2UgMTpIfHwoa2wobix0KSxyPW4uc3RhdGVOb2RlLHR5cGVvZiByLmNvbXBvbmVudFdpbGxVbm1vdW50PT1gZnVuY3Rpb25gJiZEbChuLHQscikpLHd1KGUsdCxuKTticmVhaztjYXNlIDIxOnd1KGUsdCxuKTticmVhaztjYXNlIDIyOkg9KHI9SCl8fG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGwsd3UoZSx0LG4pLEg9cjticmVhaztjYXNlIDMwOmtsKG4sdCksd3UoZSx0LG4pO2JyZWFrO2Nhc2UgNzpIfHxrbChuLHQpLHd1KGUsdCxuKTticmVhaztkZWZhdWx0Ond1KGUsdCxuKX19ZnVuY3Rpb24gRXUoZSx0KXtpZih0Lm1lbW9pemVkU3RhdGU9PT1udWxsJiYoZT10LmFsdGVybmF0ZSxlIT09bnVsbCYmKGU9ZS5tZW1vaXplZFN0YXRlLGUhPT1udWxsKSkpe2U9ZS5kZWh5ZHJhdGVkO3RyeXtIaChlKX1jYXRjaChlKXtaKHQsdC5yZXR1cm4sZSl9fX1mdW5jdGlvbiBEdShlLHQpe2lmKHQubWVtb2l6ZWRTdGF0ZT09PW51bGwmJihlPXQuYWx0ZXJuYXRlLGUhPT1udWxsJiYoZT1lLm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJihlPWUuZGVoeWRyYXRlZCxlIT09bnVsbCkpKSl0cnl7SGgoZSl9Y2F0Y2goZSl7Wih0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBPdShlKXtzd2l0Y2goZS50YWcpe2Nhc2UgMzE6Y2FzZSAxMzpjYXNlIDE5OnZhciB0PWUuc3RhdGVOb2RlO3JldHVybiB0PT09bnVsbCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IHV1KSx0O2Nhc2UgMjI6cmV0dXJuIGU9ZS5zdGF0ZU5vZGUsdD1lLl9yZXRyeUNhY2hlLHQ9PT1udWxsJiYodD1lLl9yZXRyeUNhY2hlPW5ldyB1dSksdDtkZWZhdWx0OnRocm93IEVycm9yKGkoNDM1LGUudGFnKSl9fWZ1bmN0aW9uIGt1KGUsdCl7dmFyIG49T3UoZSk7dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKCFuLmhhcyh0KSl7bi5hZGQodCk7dmFyIHI9dmYuYmluZChudWxsLGUsdCk7dC50aGVuKHIscil9fSl9ZnVuY3Rpb24gQXUoZSx0LG4pe3ZhciByPXQuZGVsZXRpb25zO2lmKHIhPT1udWxsKWZvcih2YXIgYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgbz1yW2FdLHM9ZSxjPXQsbD1jO2E6Zm9yKDtsIT09bnVsbDspe3N3aXRjaChsLnRhZyl7Y2FzZSAyNzppZihTcChsLnR5cGUpKXtVPWwuc3RhdGVOb2RlLEN1PSExO2JyZWFrIGF9YnJlYWs7Y2FzZSA1OlU9bC5zdGF0ZU5vZGUsQ3U9ITE7YnJlYWsgYTtjYXNlIDM6Y2FzZSA0OlU9bC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxDdT0hMDticmVhayBhfWw9bC5yZXR1cm59aWYoVT09PW51bGwpdGhyb3cgRXJyb3IoaSgxNjApKTtUdShzLGMsbyksVT1udWxsLEN1PSExLHM9by5hbHRlcm5hdGUscyE9PW51bGwmJihzLnJldHVybj1udWxsKSxvLnJldHVybj1udWxsfWlmKHQuc3VidHJlZUZsYWdzJjEzODg2KWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KU11KHQsZSxuKSx0PXQuc2libGluZ312YXIganU9bnVsbDtmdW5jdGlvbiBNdShlLHQsbil7dmFyIHI9ZS5hbHRlcm5hdGUsYT1lLmZsYWdzO3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OmlmKGEmNCYmKHI9ZS51cGRhdGVRdWV1ZSxyPXI9PT1udWxsP251bGw6ci5ldmVudHMsciE9PW51bGwpKWZvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXt2YXIgcz1yW29dO3MucmVmLmltcGw9cy5uZXh0SW1wbH1BdSh0LGUsbiksTnUoZSksYSY0JiYoVGwoMyxlLGUucmV0dXJuKSx3bCgzLGUpLFRsKDUsZSxlLnJldHVybikpO2JyZWFrO2Nhc2UgMTpBdSh0LGUsbiksTnUoZSksYSY1MTImJihIfHxyPT09bnVsbHx8a2wocixyLnJldHVybikpLGEmNjQmJnN1JiYoZT1lLnVwZGF0ZVF1ZXVlLGUhPT1udWxsJiYodD1lLmNhbGxiYWNrcyx0IT09bnVsbCYmKG49ZS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzLGUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcz1uPT09bnVsbD90Om4uY29uY2F0KHQpKSkpO2JyZWFrO2Nhc2UgMjY6aWYobz1qdSxBdSh0LGUsbiksTnUoZSksYSY1MTImJihIfHxyPT09bnVsbHx8a2wocixyLnJldHVybikpLGEmNCl7aWYoYT1yPT09bnVsbD9udWxsOnIubWVtb2l6ZWRTdGF0ZSxuPWUubWVtb2l6ZWRTdGF0ZSxyPT09bnVsbCl7aWYobj09PW51bGwpe2lmKGUuc3RhdGVOb2RlPT09bnVsbCl7aWYoc3UpZS5zdGF0ZU5vZGU9ZnAoZS50eXBlLGUubWVtb2l6ZWRQcm9wcyx0LmNvbnRhaW5lckluZm8sZSk7ZWxzZXthOnt0PWUudHlwZSxuPWUubWVtb2l6ZWRQcm9wcyxhPW8ub3duZXJEb2N1bWVudHx8bztiOnN3aXRjaCh0KXtjYXNlYHRpdGxlYDpyPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYHRpdGxlYClbMF0sKCFyfHxyW0x0XXx8cltBdF18fHIubmFtZXNwYWNlVVJJPT09YGh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnYHx8ci5oYXNBdHRyaWJ1dGUoYGl0ZW1wcm9wYCkpJiYocj1hLmNyZWF0ZUVsZW1lbnQodCksYS5oZWFkLmluc2VydEJlZm9yZShyLGEucXVlcnlTZWxlY3RvcihgaGVhZCA-IHRpdGxlYCkpKSxucChyLHQsbikscltBdF09ZSxXdChyKSx0PXI7YnJlYWsgYTtjYXNlYGxpbmtgOmlmKG89R20oYGxpbmtgLGBocmVmYCxhKS5nZXQodCsobi5ocmVmfHxgYCkpKXtmb3Iocz0wO3M8by5sZW5ndGg7cysrKWlmKHI9b1tzXSxyLmdldEF0dHJpYnV0ZShgaHJlZmApPT09KG4uaHJlZj09bnVsbHx8bi5ocmVmPT09YGA_bnVsbDpuLmhyZWYpJiZyLmdldEF0dHJpYnV0ZShgcmVsYCk9PT0obi5yZWw9PW51bGw_bnVsbDpuLnJlbCkmJnIuZ2V0QXR0cmlidXRlKGB0aXRsZWApPT09KG4udGl0bGU9PW51bGw_bnVsbDpuLnRpdGxlKSYmci5nZXRBdHRyaWJ1dGUoYGNyb3Nzb3JpZ2luYCk9PT0obi5jcm9zc09yaWdpbj09bnVsbD9udWxsOm4uY3Jvc3NPcmlnaW4pKXtvLnNwbGljZShzLDEpO2JyZWFrIGJ9fXI9YS5jcmVhdGVFbGVtZW50KHQpLG5wKHIsdCxuKSxhLmhlYWQuYXBwZW5kQ2hpbGQocik7YnJlYWs7Y2FzZWBtZXRhYDppZihvPUdtKGBtZXRhYCxgY29udGVudGAsYSkuZ2V0KHQrKG4uY29udGVudHx8YGApKSl7Zm9yKHM9MDtzPG8ubGVuZ3RoO3MrKylpZihyPW9bc10sci5nZXRBdHRyaWJ1dGUoYGNvbnRlbnRgKT09PShuLmNvbnRlbnQ9PW51bGw_bnVsbDpgYCtuLmNvbnRlbnQpJiZyLmdldEF0dHJpYnV0ZShgbmFtZWApPT09KG4ubmFtZT09bnVsbD9udWxsOm4ubmFtZSkmJnIuZ2V0QXR0cmlidXRlKGBwcm9wZXJ0eWApPT09KG4ucHJvcGVydHk9PW51bGw_bnVsbDpuLnByb3BlcnR5KSYmci5nZXRBdHRyaWJ1dGUoYGh0dHAtZXF1aXZgKT09PShuLmh0dHBFcXVpdj09bnVsbD9udWxsOm4uaHR0cEVxdWl2KSYmci5nZXRBdHRyaWJ1dGUoYGNoYXJzZXRgKT09PShuLmNoYXJTZXQ9PW51bGw_bnVsbDpuLmNoYXJTZXQpKXtvLnNwbGljZShzLDEpO2JyZWFrIGJ9fXI9YS5jcmVhdGVFbGVtZW50KHQpLG5wKHIsdCxuKSxhLmhlYWQuYXBwZW5kQ2hpbGQocik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihpKDQ2OCx0KSl9cltBdF09ZSxXdChyKSx0PXJ9ZS5zdGF0ZU5vZGU9dH19ZWxzZSBzdXx8S20obyxlLnR5cGUsZS5zdGF0ZU5vZGUpfWVsc2UgZS5zdGF0ZU5vZGU9Qm0obyxuLGUubWVtb2l6ZWRQcm9wcyl9ZWxzZSBhPT09bj9uPT09bnVsbCYmZS5zdGF0ZU5vZGUhPT1udWxsJiZJbChlLGUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkUHJvcHMpOihhPT09bnVsbD8odD1yLnN0YXRlTm9kZSx0PT09bnVsbHx8SHx8dC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpKTphLmNvdW50LS0sbj09PW51bGw_c3V8fEttKG8sZS50eXBlLGUuc3RhdGVOb2RlKTpCbShvLG4sZS5tZW1vaXplZFByb3BzKSl9YnJlYWs7Y2FzZSAyNzpBdSh0LGUsbiksTnUoZSksYSY1MTImJihIfHxyPT09bnVsbHx8a2wocixyLnJldHVybikpLHIhPT1udWxsJiZhJjQmJklsKGUsZS5tZW1vaXplZFByb3BzLHIubWVtb2l6ZWRQcm9wcyk7YnJlYWs7Y2FzZSA1OmlmKG89Y3UsY3U9ITEsQXUodCxlLG4pLGN1PW8sTnUoZSksYSY1MTImJihIfHxyPT09bnVsbHx8a2wocixyLnJldHVybikpLGUuZmxhZ3MmMzIpe3Q9ZS5zdGF0ZU5vZGU7dHJ5e3ZuKHQsYGApLGo9ITB9Y2F0Y2godCl7WihlLGUucmV0dXJuLHQpfX1hJjQmJmUuc3RhdGVOb2RlIT1udWxsJiYodD1lLm1lbW9pemVkUHJvcHMsSWwoZSx0LHI9PT1udWxsP3Q6ci5tZW1vaXplZFByb3BzKSksYSYxMDI0JiYobHU9ITApO2JyZWFrO2Nhc2UgNjppZihBdSh0LGUsbiksTnUoZSksYSY0KXtpZihlLnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IoaSgxNjIpKTt0PWUubWVtb2l6ZWRQcm9wcyxuPWUuc3RhdGVOb2RlO3RyeXtuLm5vZGVWYWx1ZT10LGo9ITB9Y2F0Y2godCl7WihlLGUucmV0dXJuLHQpfX1icmVhaztjYXNlIDM6aWYoaj0hMSxXbT1udWxsLG89anUsanU9Ym0odC5jb250YWluZXJJbmZvKSxBdSh0LGUsbiksanU9byxOdShlKSxhJjQmJnIhPT1udWxsJiZyLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXRyeXtIaCh0LmNvbnRhaW5lckluZm8pfWNhdGNoKHQpe1ooZSxlLnJldHVybix0KX1sdSYmKGx1PSExLFB1KGUpKSxqPSExO2JyZWFrO2Nhc2UgNDphPWN1LGN1PXN1LHI9ZW4oKSxvPWp1LGp1PWJtKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLEF1KHQsZSxuKSxOdShlKSxqdT1vLGomJnB1JiYobXU9ITApLGo9cixjdT1hO2JyZWFrO2Nhc2UgMTI6QXUodCxlLG4pLE51KGUpO2JyZWFrO2Nhc2UgMzE6QXUodCxlLG4pLE51KGUpLGEmNCYmKHQ9ZS51cGRhdGVRdWV1ZSx0IT09bnVsbCYmKGUudXBkYXRlUXVldWU9bnVsbCxrdShlLHQpKSk7YnJlYWs7Y2FzZSAxMzpBdSh0LGUsbiksTnUoZSksZS5jaGlsZC5mbGFncyY4MTkyJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsIT0ociE9PW51bGwmJnIubWVtb2l6ZWRTdGF0ZSE9PW51bGwpJiYoaGQ9SmUoKSksYSY0JiYodD1lLnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYoZS51cGRhdGVRdWV1ZT1udWxsLGt1KGUsdCkpKTticmVhaztjYXNlIDIyOm89ZS5tZW1vaXplZFN0YXRlIT09bnVsbCxzPXIhPT1udWxsJiZyLm1lbW9pemVkU3RhdGUhPT1udWxsO3ZhciBjPXN1LGw9SCx1PWN1O3N1PWN8fG8sY3U9dXx8byxIPWx8fHMsQXUodCxlLG4pLEg9bCxjdT11LHN1PWMsTnUoZSksYSY4MTkyJiYodD1lLnN0YXRlTm9kZSx0Ll92aXNpYmlsaXR5PW8_dC5fdmlzaWJpbGl0eSYtMjp0Ll92aXNpYmlsaXR5fDEsIW98fHI9PT1udWxsfHxzfHxzdXx8SHx8KHQ9c3x8SCxuPXN1LHI9SCxzdT1vfHxzdSxIPXQsUnUoZSwyKSxzdT1uLEg9ciksIW8mJmN1fHx5dShlLG8pKSxhJjQmJih0PWUudXBkYXRlUXVldWUsdCE9PW51bGwmJihuPXQucmV0cnlRdWV1ZSxuIT09bnVsbCYmKHQucmV0cnlRdWV1ZT1udWxsLGt1KGUsbikpKSk7YnJlYWs7Y2FzZSAxOTpBdSh0LGUsbiksTnUoZSksYSY0JiYodD1lLnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYoZS51cGRhdGVRdWV1ZT1udWxsLGt1KGUsdCkpKTticmVhaztjYXNlIDMwOmEmNTEyJiYoSHx8cj09PW51bGx8fGtsKHIsci5yZXR1cm4pKSxhPWVuKCksbz1wdSxzPShuJjMzNTU0NDA2NCk9PT1uLGM9ZS5tZW1vaXplZFByb3BzLHB1PXMmJkVpKGMuZGVmYXVsdCxjLnVwZGF0ZSkhPT1gbm9uZWAsQXUodCxlLG4pLE51KGUpLHMmJnIhPT1udWxsJiZqJiYoZS5mbGFnc3w9NCkscHU9byxqPWE7YnJlYWs7Y2FzZSAyMTpicmVhaztjYXNlIDc6YSY1MTImJihIfHxyPT09bnVsbHx8a2wocixyLnJldHVybikpLHImJnIuc3RhdGVOb2RlIT09bnVsbCYmKHIuc3RhdGVOb2RlLl9mcmFnbWVudEZpYmVyPWUpO2RlZmF1bHQ6QXUodCxlLG4pLE51KGUpfX1mdW5jdGlvbiBOdShlKXt2YXIgdD1lLmZsYWdzO2lmKHQmMil7dHJ5e2Zvcih2YXIgbixyPWUucmV0dXJuO3IhPT1udWxsOyl7aWYoTGwocikpe249cjticmVha31yPXIucmV0dXJufXI9bnVsbDtmb3IodmFyIGE9ZS5yZXR1cm47YSE9PW51bGw7KXtpZihQbChhKSl7dmFyIG89YS5zdGF0ZU5vZGU7cj09PW51bGw_cj1bb106ci5wdXNoKG8pfWlmKE5sKGEpKWJyZWFrO2E9YS5yZXR1cm59dmFyIHM9cjtpZihuPT1udWxsKXRocm93IEVycm9yKGkoMTYwKSk7c3dpdGNoKG4udGFnKXtjYXNlIDI3OnZhciBjPW4uc3RhdGVOb2RlO0JsKGUsUmwoZSksYyxzKTticmVhaztjYXNlIDU6dmFyIGw9bi5zdGF0ZU5vZGU7bi5mbGFncyYzMiYmKHZuKGwsYGApLG4uZmxhZ3MmPS0zMyksQmwoZSxSbChlKSxsLHMpO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIHU9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzt6bChlLFJsKGUpLHUscyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihpKDE2MSkpfX1jYXRjaCh0KXtaKGUsZS5yZXR1cm4sdCl9ZS5mbGFncyY9LTN9dCY0MDk2JiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIFB1KGUpe2lmKGUuc3VidHJlZUZsYWdzJjEwMjQpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe3ZhciB0PWU7UHUodCksdC50YWc9PT01JiZ0LmZsYWdzJjEwMjQmJih0PXQuc3RhdGVOb2RlLGdoPSEwLHQucmVzZXQoKSxnaD0hMSksZT1lLnNpYmxpbmd9fWZ1bmN0aW9uIEZ1KGUsdCl7aWYodC5zdWJ0cmVlRmxhZ3MmOTI3MClmb3IodD10LmNoaWxkO3QhPT1udWxsOylJdSh0LGUpLHQ9dC5zaWJsaW5nO2Vsc2Ugb3UodCwhMSl9ZnVuY3Rpb24gSXUoZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtpZihuPT09bnVsbClRbChlLCExKTtlbHNlIHN3aXRjaChlLnRhZyl7Y2FzZSAzOmlmKGh1PWZ1PSExLEtsKCksRnUodCxlKSwhZnUmJiFtdSl7aWYoZT1HbCxlIT09bnVsbClmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTMpe249ZVtyXTt2YXIgaT1lW3IrMV07RXAobixlW3IrMl0pLG49bi5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxuIT09bnVsbCYmbi5hbmltYXRlKHtvcGFjaXR5OlswLDBdLHBvaW50ZXJFdmVudHM6W2Bub25lYCxgbm9uZWBdfSx7ZHVyYXRpb246MCxmaWxsOmBmb3J3YXJkc2AscHNldWRvRWxlbWVudDpgOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAoYCtpK2ApYH0pfWU9dC5jb250YWluZXJJbmZvLGU9ZS5ub2RlVHlwZT09PTk_ZS5kb2N1bWVudEVsZW1lbnQ6ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxlIT09bnVsbCYmZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9PT1gYCYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPWBub25lYCxlLmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbYG5vbmVgLGBub25lYF19LHtkdXJhdGlvbjowLGZpbGw6YGZvcndhcmRzYCxwc2V1ZG9FbGVtZW50OmA6OnZpZXctdHJhbnNpdGlvbi1ncm91cChyb290KWB9KSxlLmFuaW1hdGUoe3dpZHRoOlswLDBdLGhlaWdodDpbMCwwXX0se2R1cmF0aW9uOjAsZmlsbDpgZm9yd2FyZHNgLHBzZXVkb0VsZW1lbnQ6YDo6dmlldy10cmFuc2l0aW9uYH0pKSxodT0hMH1HbD1udWxsO2JyZWFrO2Nhc2UgNTpGdSh0LGUpO2JyZWFrO2Nhc2UgNDpyPWZ1LGZ1PSExLEZ1KHQsZSksZnUmJihtdT0hMCksZnU9cjticmVhaztjYXNlIDIyOmUubWVtb2l6ZWRTdGF0ZT09PW51bGwmJihuLm1lbW9pemVkU3RhdGU9PT1udWxsP0Z1KHQsZSk6UWwoZSwhMSkpO2JyZWFrO2Nhc2UgMzA6cj1mdSxpPUtsKCksZnU9ITEsRnUodCxlKSxmdSYmKGUuZmxhZ3N8PTQpO3ZhciBhPWUubWVtb2l6ZWRQcm9wcyxvPWUuc3RhdGVOb2RlO3Q9d2koYSxvKSxvPXdpKG4ubWVtb2l6ZWRQcm9wcyxvKTt2YXIgcz1FaShhLmRlZmF1bHQsYS51cGRhdGUpO3M9PT1gbm9uZWA_dD0hMTooYT1uLm1lbW9pemVkU3RhdGUsbi5tZW1vaXplZFN0YXRlPW51bGwsbj1lLmNoaWxkLHFsPTAsdD1hdShlLG4sdCxvLHMsYSwhMCkscWwhPT0oYT09PW51bGw_MDphLmxlbmd0aCkmJihlLmZsYWdzfD0zMikpLGUuZmxhZ3MmNCYmdD8oTmQoZSxlLm1lbW9pemVkUHJvcHMub25VcGRhdGUpLEdsPWkpOmkhPT1udWxsJiYoaS5wdXNoLmFwcGx5KGksR2wpLEdsPWkpLGZ1PWUuZmxhZ3MmMzI_ITA6cjticmVhaztkZWZhdWx0OkZ1KHQsZSl9fWZ1bmN0aW9uIEx1KGUsdCl7aWYodC5zdWJ0cmVlRmxhZ3MmODc3Milmb3IodD10LmNoaWxkO3QhPT1udWxsOyl2dShlLHQuYWx0ZXJuYXRlLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIFJ1KGUsdCl7Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe3ZhciBuPWUscj10O3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OlRsKDQsbixuLnJldHVybiksUnUobixyKTticmVhaztjYXNlIDE6a2wobixuLnJldHVybik7dmFyIGk9bi5zdGF0ZU5vZGU7dHlwZW9mIGkuY29tcG9uZW50V2lsbFVubW91bnQ9PWBmdW5jdGlvbmAmJkRsKG4sbi5yZXR1cm4saSksUnUobixyKTticmVhaztjYXNlIDI3OnImMiYmZ20obi5zdGF0ZU5vZGUsbi50eXBlLG4ubWVtb2l6ZWRQcm9wcyk7Y2FzZSA1OmtsKG4sbi5yZXR1cm4pLG4udGFnIT09NSYmbi50YWchPT0yN3x8TWwobiksUnUobixyKTticmVhaztjYXNlIDY6TWwobik7YnJlYWs7Y2FzZSAyNjprbChuLG4ucmV0dXJuKSxpPW4uc3RhdGVOb2RlLG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fGk9PT1udWxsfHxIfHxpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksUnUobixyKTticmVhaztjYXNlIDIyOm4ubWVtb2l6ZWRTdGF0ZT09PW51bGwmJlJ1KG4scik7YnJlYWs7Y2FzZSAzMDprbChuLG4ucmV0dXJuKSxSdShuLHIpO2JyZWFrO2Nhc2UgNzprbChuLG4ucmV0dXJuKTtkZWZhdWx0OlJ1KG4scil9ZT1lLnNpYmxpbmd9fWZ1bmN0aW9uIHp1KGUsdCxuKXtmb3Iobj10LnN1YnRyZWVGbGFncyY4NzcyP246biYtMix0PXQuY2hpbGQ7dCE9PW51bGw7KXt2YXIgcj10LmFsdGVybmF0ZSxpPWUsYT10LG89YS5mbGFncyxzPSEhKG4mMSk7c3dpdGNoKGEudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1Onp1KGksYSxuKSx3bCg0LGEpO2JyZWFrO2Nhc2UgMTppZih6dShpLGEsbikscj1hLGk9ci5zdGF0ZU5vZGUsdHlwZW9mIGkuY29tcG9uZW50RGlkTW91bnQ9PWBmdW5jdGlvbmApdHJ5e2kuY29tcG9uZW50RGlkTW91bnQoKX1jYXRjaChlKXtaKHIsci5yZXR1cm4sZSl9aWYocj1hLGk9ci51cGRhdGVRdWV1ZSxpIT09bnVsbCl7dmFyIGM9ci5zdGF0ZU5vZGU7dHJ5e3ZhciBsPWkuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihsIT09bnVsbClmb3IoaS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsaT0wO2k8bC5sZW5ndGg7aSsrKURvKGxbaV0sYyl9Y2F0Y2goZSl7WihyLHIucmV0dXJuLGUpfX1zJiZvJjY0JiZFbChhKSxPbChhLGEucmV0dXJuKTticmVhaztjYXNlIDI3Om4mMiYmVmwoYSk7Y2FzZSA1OmEudGFnIT09NSYmYS50YWchPT0yN3x8amwoYSksenUoaSxhLG4pLHMmJnI9PT1udWxsJiZvJjQmJkZsKGEpLE9sKGEsYS5yZXR1cm4pO2JyZWFrO2Nhc2UgNjpqbChhKTticmVhaztjYXNlIDI2OmM9YS5zdGF0ZU5vZGUsYS5tZW1vaXplZFN0YXRlIT09bnVsbHx8Yz09PW51bGx8fHN1fHxLbShibShjLm93bmVyRG9jdW1lbnQpLGEudHlwZSxjKSx6dShpLGEsbikscyYmcj09PW51bGwmJm8mNCYmRmwoYSksT2woYSxhLnJldHVybik7YnJlYWs7Y2FzZSAxMjp6dShpLGEsbik7YnJlYWs7Y2FzZSAzMTp6dShpLGEsbikscyYmbyY0JiZFdShpLGEpO2JyZWFrO2Nhc2UgMTM6enUoaSxhLG4pLHMmJm8mNCYmRHUoaSxhKTticmVhaztjYXNlIDIyOmEubWVtb2l6ZWRTdGF0ZT09PW51bGwmJnp1KGksYSxuKSxPbChhLGEucmV0dXJuKTticmVhaztjYXNlIDMwOnp1KGksYSxuKSxPbChhLGEucmV0dXJuKTticmVhaztjYXNlIDc6T2woYSxhLnJldHVybik7ZGVmYXVsdDp6dShpLGEsbil9dD10LnNpYmxpbmd9fWZ1bmN0aW9uIEJ1KGUsdCl7dmFyIG49bnVsbDtlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZT1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoZT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGUhPT1uJiYoZSE9bnVsbCYmZS5yZWZDb3VudCsrLG4hPW51bGwmJklhKG4pKX1mdW5jdGlvbiBWdShlLHQpe2U9bnVsbCx0LmFsdGVybmF0ZSE9PW51bGwmJihlPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQ9dC5tZW1vaXplZFN0YXRlLmNhY2hlLHQhPT1lJiYodC5yZWZDb3VudCsrLGUhPW51bGwmJklhKGUpKX1mdW5jdGlvbiBIdShlLHQsbixyKXt2YXIgaT0obiYzMzU1NDQwNjQpPT09bjtpZih0LnN1YnRyZWVGbGFncyYoaT8xMDI2MjoxMDI1NikpZm9yKHQ9dC5jaGlsZDt0IT09bnVsbDspVXUoZSx0LG4sciksdD10LnNpYmxpbmc7ZWxzZSBpJiZpdSh0KX1mdW5jdGlvbiBVdShlLHQsbixyKXt2YXIgaT0obiYzMzU1NDQwNjQpPT09bjtpJiZ0LmFsdGVybmF0ZT09PW51bGwmJnQucmV0dXJuIT09bnVsbCYmdC5yZXR1cm4uYWx0ZXJuYXRlIT09bnVsbCYmcnUodCk7dmFyIGE9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6SHUoZSx0LG4sciksYSYyMDQ4JiZ3bCg5LHQpO2JyZWFrO2Nhc2UgMTpIdShlLHQsbixyKTticmVhaztjYXNlIDM6SHUoZSx0LG4sciksaSYmaHUmJihlPWUuY29udGFpbmVySW5mbyxlPWUubm9kZVR5cGU9PT05P2UuYm9keTplLm5vZGVOYW1lPT09YEhUTUxgP2Uub3duZXJEb2N1bWVudC5ib2R5OmUsZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9PT1gcm9vdGAmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT1gYCksZT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGUhPT1udWxsJiZlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT09PWBub25lYCYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPWBgKSksYSYyMDQ4JiYoYT1udWxsLHQuYWx0ZXJuYXRlIT09bnVsbCYmKGE9dC5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZSksdD10Lm1lbW9pemVkU3RhdGUuY2FjaGUsdCE9PWEmJih0LnJlZkNvdW50KyssYSE9bnVsbCYmSWEoYSkpKTticmVhaztjYXNlIDEyOmlmKGEmMjA0OCl7SHUoZSx0LG4sciksYT10LnN0YXRlTm9kZTt0cnl7dmFyIG89dC5tZW1vaXplZFByb3BzLHM9by5pZCxjPW8ub25Qb3N0Q29tbWl0O3R5cGVvZiBjPT1gZnVuY3Rpb25gJiZjKHMsdC5hbHRlcm5hdGU9PT1udWxsP2Btb3VudGA6YHVwZGF0ZWAsYS5wYXNzaXZlRWZmZWN0RHVyYXRpb24sLTApfWNhdGNoKGUpe1oodCx0LnJldHVybixlKX19ZWxzZSBIdShlLHQsbixyKTticmVhaztjYXNlIDMxOkh1KGUsdCxuLHIpO2JyZWFrO2Nhc2UgMTM6SHUoZSx0LG4scik7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOm89dC5zdGF0ZU5vZGUscz10LmFsdGVybmF0ZSx0Lm1lbW9pemVkU3RhdGU9PT1udWxsPyhpJiZzIT09bnVsbCYmcy5tZW1vaXplZFN0YXRlIT09bnVsbCYmcnUodCksby5fdmlzaWJpbGl0eSYyP0h1KGUsdCxuLHIpOihvLl92aXNpYmlsaXR5fD0yLFd1KGUsdCxuLHIsISEodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpfHwhMSkpKTooaSYmcyE9PW51bGwmJnMubWVtb2l6ZWRTdGF0ZT09PW51bGwmJnJ1KHMpLG8uX3Zpc2liaWxpdHkmMj9IdShlLHQsbixyKTpHdShlLHQpKSxhJjIwNDgmJkJ1KHMsdCk7YnJlYWs7Y2FzZSAyNDpIdShlLHQsbixyKSxhJjIwNDgmJlZ1KHQuYWx0ZXJuYXRlLHQpO2JyZWFrO2Nhc2UgMzA6aSYmKGE9dC5hbHRlcm5hdGUsYSE9PW51bGwmJihYbChhLmNoaWxkLCEwKSxYbCh0LmNoaWxkLCEwKSkpLEh1KGUsdCxuLHIpO2JyZWFrO2RlZmF1bHQ6SHUoZSx0LG4scil9fWZ1bmN0aW9uIFd1KGUsdCxuLHIsaSl7Zm9yKGkmJj0hISh0LnN1YnRyZWVGbGFncyYxMDI1Nil8fCExLHQ9dC5jaGlsZDt0IT09bnVsbDspe3ZhciBhPWUsbz10LHM9bixjPXIsbD1vLmZsYWdzO3N3aXRjaChvLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpXdShhLG8scyxjLGkpLHdsKDgsbyk7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOnZhciB1PW8uc3RhdGVOb2RlO28ubWVtb2l6ZWRTdGF0ZT09PW51bGw_KHUuX3Zpc2liaWxpdHl8PTIsV3UoYSxvLHMsYyxpKSk6dS5fdmlzaWJpbGl0eSYyP1d1KGEsbyxzLGMsaSk6R3UoYSxvKSxpJiZsJjIwNDgmJkJ1KG8uYWx0ZXJuYXRlLG8pO2JyZWFrO2Nhc2UgMjQ6V3UoYSxvLHMsYyxpKSxpJiZsJjIwNDgmJlZ1KG8uYWx0ZXJuYXRlLG8pO2JyZWFrO2RlZmF1bHQ6V3UoYSxvLHMsYyxpKX10PXQuc2libGluZ319ZnVuY3Rpb24gR3UoZSx0KXtpZih0LnN1YnRyZWVGbGFncyYxMDI1Nilmb3IodD10LmNoaWxkO3QhPT1udWxsOyl7dmFyIG49ZSxyPXQsaT1yLmZsYWdzO3N3aXRjaChyLnRhZyl7Y2FzZSAyMjpHdShuLHIpLGkmMjA0OCYmQnUoci5hbHRlcm5hdGUscik7YnJlYWs7Y2FzZSAyNDpHdShuLHIpLGkmMjA0OCYmVnUoci5hbHRlcm5hdGUscik7YnJlYWs7ZGVmYXVsdDpHdShuLHIpfXQ9dC5zaWJsaW5nfX12YXIgS3U9ODE5MjtmdW5jdGlvbiBxdShlLHQsbil7aWYoZS5zdWJ0cmVlRmxhZ3MmS3UpZm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspSnUoZSx0LG4pLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIEp1KGUsdCxuKXtzd2l0Y2goZS50YWcpe2Nhc2UgMjY6cXUoZSx0LG4pLGUuZmxhZ3MmS3UmJihlLm1lbW9pemVkU3RhdGU9PT1udWxsPyhlPWUuc3RhdGVOb2RlLCh0JjMzNTU0NDEyOCk9PT10JiZabShuLGUpKTpRbShuLGp1LGUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkUHJvcHMpKTticmVhaztjYXNlIDU6cXUoZSx0LG4pLGUuZmxhZ3MmS3UmJihlPWUuc3RhdGVOb2RlLCh0JjMzNTU0NDEyOCk9PT10JiZabShuLGUpKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciByPWp1O2p1PWJtKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHF1KGUsdCxuKSxqdT1yO2JyZWFrO2Nhc2UgMjI6ZS5tZW1vaXplZFN0YXRlPT09bnVsbCYmKHI9ZS5hbHRlcm5hdGUsciE9PW51bGwmJnIubWVtb2l6ZWRTdGF0ZSE9PW51bGw_KHI9S3UsS3U9MTY3NzcyMTYscXUoZSx0LG4pLEt1PXIpOnF1KGUsdCxuKSk7YnJlYWs7Y2FzZSAzMDppZigoZS5mbGFncyZLdSkhPT0wJiYocj1lLm1lbW9pemVkUHJvcHMubmFtZSxyIT1udWxsJiZyIT09YGF1dG9gKSl7dmFyIGk9ZS5zdGF0ZU5vZGU7aS5wYWlyZWQ9bnVsbCxVbD09PW51bGwmJihVbD1uZXcgTWFwKSxVbC5zZXQocixpKX1xdShlLHQsbik7YnJlYWs7ZGVmYXVsdDpxdShlLHQsbil9fWZ1bmN0aW9uIFl1KGUpe3ZhciB0PWUuYWx0ZXJuYXRlO2lmKHQhPT1udWxsJiYoZT10LmNoaWxkLGUhPT1udWxsKSl7dC5jaGlsZD1udWxsO2RvIHQ9ZS5zaWJsaW5nLGUuc2libGluZz1udWxsLGU9dDt3aGlsZShlIT09bnVsbCl9fWZ1bmN0aW9uIFh1KGUpe3ZhciB0PWUuZGVsZXRpb25zO2lmKGUuZmxhZ3MmMTYpe2lmKHQhPT1udWxsKWZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2R1PXIsJHUocixlKX1ZdShlKX1pZihlLnN1YnRyZWVGbGFncyYxMDI1Nilmb3IoZT1lLmNoaWxkO2UhPT1udWxsOyladShlKSxlPWUuc2libGluZ31mdW5jdGlvbiBadShlKXtzd2l0Y2goZS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WHUoZSksZS5mbGFncyYyMDQ4JiZUbCg5LGUsZS5yZXR1cm4pO2JyZWFrO2Nhc2UgMzpYdShlKTticmVhaztjYXNlIDEyOlh1KGUpO2JyZWFrO2Nhc2UgMjI6dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmdC5fdmlzaWJpbGl0eSYyJiYoZS5yZXR1cm49PT1udWxsfHxlLnJldHVybi50YWchPT0xMyk_KHQuX3Zpc2liaWxpdHkmPS0zLFF1KGUpKTpYdShlKTticmVhaztkZWZhdWx0Olh1KGUpfX1mdW5jdGlvbiBRdShlKXt2YXIgdD1lLmRlbGV0aW9ucztpZihlLmZsYWdzJjE2KXtpZih0IT09bnVsbClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtkdT1yLCR1KHIsZSl9WXUoZSl9Zm9yKGU9ZS5jaGlsZDtlIT09bnVsbDspe3N3aXRjaCh0PWUsdC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6VGwoOCx0LHQucmV0dXJuKSxRdSh0KTticmVhaztjYXNlIDIyOm49dC5zdGF0ZU5vZGUsbi5fdmlzaWJpbGl0eSYyJiYobi5fdmlzaWJpbGl0eSY9LTMsUXUodCkpO2JyZWFrO2RlZmF1bHQ6UXUodCl9ZT1lLnNpYmxpbmd9fWZ1bmN0aW9uICR1KGUsdCl7Zm9yKDtkdSE9PW51bGw7KXt2YXIgbj1kdTtzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6VGwoOCxuLHQpO2JyZWFrO2Nhc2UgMjM6Y2FzZSAyMjppZihuLm1lbW9pemVkU3RhdGUhPT1udWxsJiZuLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCl7dmFyIHI9bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO3IhPW51bGwmJnIucmVmQ291bnQrK31icmVhaztjYXNlIDI0OklhKG4ubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9aWYocj1uLmNoaWxkLHIhPT1udWxsKXIucmV0dXJuPW4sZHU9cjtlbHNlIGE6Zm9yKG49ZTtkdSE9PW51bGw7KXtyPWR1O3ZhciBpPXIuc2libGluZyxhPXIucmV0dXJuO2lmKFN1KHIpLHI9PT1uKXtkdT1udWxsO2JyZWFrIGF9aWYoaSE9PW51bGwpe2kucmV0dXJuPWEsZHU9aTticmVhayBhfWR1PWF9fX12YXIgZWQ9e2dldENhY2hlRm9yVHlwZTpmdW5jdGlvbihlKXt2YXIgdD1rYShMKSxuPXQuZGF0YS5nZXQoZSk7cmV0dXJuIG49PT12b2lkIDAmJihuPWUoKSx0LmRhdGEuc2V0KGUsbikpLG59LGNhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIGthKEwpLmNvbnRyb2xsZXIuc2lnbmFsfX0sdGQ9dHlwZW9mIFdlYWtNYXA9PWBmdW5jdGlvbmA_V2Vha01hcDpNYXAsVz0wLEc9bnVsbCxLPW51bGwscT0wLEo9MCxuZD1udWxsLHJkPSExLGlkPSExLGFkPSExLG9kPTAsWT0wLHNkPTAsY2Q9MCxsZD0wLHVkPTAsZGQ9MCxmZD1udWxsLHBkPW51bGwsbWQ9ITEsaGQ9MCxnZD0wLF9kPTEvMCx2ZD1udWxsLHlkPW51bGwsWD0wLGJkPW51bGwseGQ9bnVsbCxTZD0wLENkPTAsd2Q9bnVsbCxUZD1udWxsLEVkPW51bGwsRGQ9bnVsbCxPZD1udWxsLGtkPTAsQWQ9bnVsbDtmdW5jdGlvbiBqZCgpe3JldHVybiBXJjImJnEhPT0wP3EmLXE6VC5UPT09bnVsbD9EdCgpOlBmKCl9ZnVuY3Rpb24gTWQoKXtpZih1ZD09PTApe2lmKCEocSY1MzY4NzA5MTIpfHxJKXt2YXIgZT1kdDtkdDw8PTEsIShkdCYzOTMyMTYwKSYmKGR0PTI2MjE0NCksdWQ9ZX1lbHNlIHVkPTUzNjg3MDkxMn1yZXR1cm4gZT1Qby5jdXJyZW50LGUhPT1udWxsJiYoZS5mbGFnc3w9MzIpLHVkfWZ1bmN0aW9uIE5kKGUsdCl7aWYodCE9bnVsbCl7dmFyIG49ZS5zdGF0ZU5vZGUscj1uLnJlZjtyPT09bnVsbCYmKHI9bi5yZWY9UHAod2koZS5tZW1vaXplZFByb3BzLG4pKSksRGQ9PT1udWxsJiYoRGQ9W10pLERkLnB1c2godC5iaW5kKG51bGwscikpfX1mdW5jdGlvbiBQZChlLHQsbil7KGU9PT1HJiYoSj09PTJ8fEo9PT05KXx8ZS5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbCkmJihWZChlLDApLFJkKGUscSx1ZCwhMSkpLGJ0KGUsbiksKCEoVyYyKXx8ZSE9PUcpJiYoZT09PUcmJighKFcmMikmJihjZHw9biksWT09PTQmJlJkKGUscSx1ZCwhMSkpLEVmKGUpKX1mdW5jdGlvbiBGZChlLHQsbil7aWYoVyY2KXRocm93IEVycm9yKGkoMzI3KSk7dmFyIHI9IW4mJiEodCYxMjcpJiYodCZlLmV4cGlyZWRMYW5lcyk9PT0wfHxodChlLHQpLGE9cj9ZZChlLHQpOnFkKGUsdCwhMCksbz1yO2Rve2lmKGE9PT0wKXtpZCYmIXImJlJkKGUsdCwwLCExKTticmVha31pZihuPWUuY3VycmVudC5hbHRlcm5hdGUsbyYmIUxkKG4pKWE9cWQoZSx0LCExKSxvPSExO2Vsc2V7aWYoYT09PTIpe2lmKG89dCxlLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzJm8pdmFyIHM9MDtlbHNlIHM9ZS5wZW5kaW5nTGFuZXMmLTUzNjg3MDkxMyxzPXM9PT0wP3MmNTM2ODcwOTEyPzUzNjg3MDkxMjowOnM7aWYocyE9PTApe3Q9czthOnt2YXIgYz1lO2E9ZmQ7dmFyIGw9Yy5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkO2lmKGwmJihWZChjLHMpLmZsYWdzfD0yNTYpLHM9cWQoYyxzLCExKSxzIT09MiYmcyE9PTYpe2lmKGFkJiYhbCl7Yy5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lc3w9byxjZHw9byxhPTQ7YnJlYWsgYX1vPXBkLHBkPWEsbyE9PW51bGwmJihwZD09PW51bGw_cGQ9bzpwZC5wdXNoLmFwcGx5KHBkLG8pKX1hPXN9aWYobz0hMSxhIT09Miljb250aW51ZX19aWYoYT09PTEpe1ZkKGUsMCksUmQoZSx0LDAsITApO2JyZWFrfWE6e3N3aXRjaChyPWUsbz1hLG8pe2Nhc2UgMDpjYXNlIDE6dGhyb3cgRXJyb3IoaSgzNDUpKTtjYXNlIDQ6aWYoKHQmNDE5NDA0OCkhPT10JiYodCY2MjkxNDU2MCkhPT10KWJyZWFrO2Nhc2UgNjpSZChyLHQsdWQsIXJkKTticmVhayBhO2Nhc2UgMjpwZD1udWxsO2JyZWFrO2Nhc2UgMzpjYXNlIDU6YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihpKDMyOSkpfWlmKCh0JjYyOTE0NTYwKT09PXQmJihhPWhkKzMwMC1KZSgpLDEwPGEpKXtpZihSZChyLHQsdWQsIXJkKSxtdChyLDAsITApIT09MClicmVhayBhO1NkPXQsci50aW1lb3V0SGFuZGxlPWdwKElkLmJpbmQobnVsbCxyLG4scGQsdmQsbWQsdCx1ZCxjZCxkZCxyZCxvLGBUaHJvdHRsZWRgLC0wLDApLGEpO2JyZWFrIGF9SWQocixuLHBkLHZkLG1kLHQsdWQsY2QsZGQscmQsbyxudWxsLC0wLDApfWJyZWFrfX13aGlsZSgxKTtFZihlKX1mdW5jdGlvbiBJZChlLHQsbixyLGksYSxvLHMsYyxsLHUsZCxmLHApe2UudGltZW91dEhhbmRsZT0tMTt2YXIgbT10LnN1YnRyZWVGbGFncyxoPShhJjMzNTU0NDA2NCk9PT1hO2Q9bnVsbCwoaHx8bSY4MTkyfHwobSYxNjc4NTQwOCk9PTE2Nzg1NDA4KSYmKGQ9e3N0eWxlc2hlZXRzOm51bGwsY291bnQ6MCxpbWdDb3VudDowLGltZ0J5dGVzOjAsc3VzcGVuc2V5SW1hZ2VzOltdLHdhaXRpbmdGb3JJbWFnZXM6ITAsd2FpdGluZ0ZvclZpZXdUcmFuc2l0aW9uOiExLHVuc3VzcGVuZDpFbn0sVWw9bnVsbCxKdSh0LGEsZCksaCYmKG09ZCxoPWUuY29udGFpbmVySW5mbyxoPShoLm5vZGVUeXBlPT09OT9oOmgub3duZXJEb2N1bWVudCkuX19yZWFjdFZpZXdUcmFuc2l0aW9uLGghPW51bGwmJihtLmNvdW50KyssbS53YWl0aW5nRm9yVmlld1RyYW5zaXRpb249ITAsbT1uaC5iaW5kKG0pLGguZmluaXNoZWQudGhlbihtLG0pKSksbT0oYSY2MjkxNDU2MCk9PT1hP2hkLUplKCk6KGEmNDE5NDA0OCk9PT1hP2dkLUplKCk6MCxtPWVoKGQsbSksbSE9PW51bGwpPyhTZD1hLGUuY2FuY2VsUGVuZGluZ0NvbW1pdD1tKG5mLmJpbmQobnVsbCxlLHQsYSxuLHIsaSxvLHMsYyxsLHUsZCxudWxsLGYscCkpLFJkKGUsYSxvLCFsKSk6bmYoZSx0LGEsbixyLGksbyxzLGMsbCx1LGQpfWZ1bmN0aW9uIExkKGUpe2Zvcih2YXIgdD1lOzspe3ZhciBuPXQudGFnO2lmKChuPT09MHx8bj09PTExfHxuPT09MTUpJiZ0LmZsYWdzJjE2Mzg0JiYobj10LnVwZGF0ZVF1ZXVlLG4hPT1udWxsJiYobj1uLnN0b3JlcyxuIT09bnVsbCkpKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1uW3JdLGE9aS5nZXRTbmFwc2hvdDtpPWkudmFsdWU7dHJ5e2lmKCFKcihhKCksaSkpcmV0dXJuITF9Y2F0Y2h7cmV0dXJuITF9fWlmKG49dC5jaGlsZCx0LnN1YnRyZWVGbGFncyYxNjM4NCYmbiE9PW51bGwpbi5yZXR1cm49dCx0PW47ZWxzZXtpZih0PT09ZSlicmVhaztmb3IoO3Quc2libGluZz09PW51bGw7KXtpZih0LnJldHVybj09PW51bGx8fHQucmV0dXJuPT09ZSlyZXR1cm4hMDt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9fXJldHVybiEwfWZ1bmN0aW9uIFJkKGUsdCxuLHIpe3Q9Z3QoZSx0KSx0Jj1-bGQsdCY9fmNkLGUuc3VzcGVuZGVkTGFuZXN8PXQsZS5waW5nZWRMYW5lcyY9fnQsciYmKGUud2FybUxhbmVzfD10KSxyPWUuZXhwaXJhdGlvblRpbWVzO2Zvcih2YXIgaT10OzA8aTspe3ZhciBhPTMxLW90KGkpLG89MTw8YTtyW2FdPS0xLGkmPX5vfW4hPT0wJiZTdChlLG4sdCl9ZnVuY3Rpb24gemQoKXtyZXR1cm4gVyY2PyEwOihEZigwLCExKSwhMSl9ZnVuY3Rpb24gQmQoKXtpZihLIT09bnVsbCl7aWYoSj09PTApdmFyIGU9Sy5yZXR1cm47ZWxzZSBlPUsseGE9YmE9bnVsbCxzcyhlKSxjbz1udWxsLGxvPTAsZT1LO2Zvcig7ZSE9PW51bGw7KUNsKGUuYWx0ZXJuYXRlLGUpLGU9ZS5yZXR1cm47Sz1udWxsfX1mdW5jdGlvbiBWZChlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTtyZXR1cm4gbiE9PS0xJiYoZS50aW1lb3V0SGFuZGxlPS0xLF9wKG4pKSxuPWUuY2FuY2VsUGVuZGluZ0NvbW1pdCxuIT09bnVsbCYmKGUuY2FuY2VsUGVuZGluZ0NvbW1pdD1udWxsLG4oKSksU2Q9MCxCZCgpLEc9ZSxLPW49VmkoZS5jdXJyZW50LG51bGwpLHE9dCxKPTAsbmQ9bnVsbCxyZD0hMSxpZD1odChlLHQpLGFkPSExLGRkPXVkPWxkPWNkPXNkPVk9MCxwZD1mZD1udWxsLG1kPSExLG9kPWd0KGUsdCksamkoKSxufWZ1bmN0aW9uIEhkKGUsdCl7Uj1udWxsLFQuSD1fYyx0PT09UWF8fHQ9PT1lbz8odD1vbygpLEo9Myk6dD09PSRhPyh0PW9vKCksSj00KTpKPXQ9PT1GYz84OnR5cGVvZiB0PT1gb2JqZWN0YCYmdCYmdHlwZW9mIHQudGhlbj09YGZ1bmN0aW9uYD82OjEsbmQ9dCxLPT09bnVsbCYmKFk9MSxrYyhlLFlpKHQsZS5jdXJyZW50KSkpfWZ1bmN0aW9uIFVkKCl7dmFyIGU9UG8uY3VycmVudDtyZXR1cm4gZT09PW51bGw_ITA6KHEmNDE5NDA0OCk9PT1xP0ZvPT09bnVsbDoocSY2MjkxNDU2MCk9PT1xfHxxJjUzNjg3MDkxMj9lPT09Rm86ITF9ZnVuY3Rpb24gV2QoKXt2YXIgZT1ULkg7cmV0dXJuIFQuSD1fYyxlPT09bnVsbD9fYzplfWZ1bmN0aW9uIEdkKCl7dmFyIGU9VC5BO3JldHVybiBULkE9ZWQsZX1mdW5jdGlvbiBLZCgpe1k9NCxyZHx8KHEmNDE5NDA0OCkhPT1xJiZQby5jdXJyZW50IT09bnVsbHx8KGlkPSEwKSwhKHNkJjEzNDIxNzcyNykmJiEoY2QmMTM0MjE3NzI3KXx8Rz09PW51bGx8fFJkKEcscSx1ZCwhMSl9ZnVuY3Rpb24gcWQoZSx0LG4pe3ZhciByPVc7V3w9Mjt2YXIgaT1XZCgpLGE9R2QoKTsoRyE9PWV8fHEhPT10KSYmKHZkPW51bGwsVmQoZSx0KSksdD0hMTt2YXIgbz1ZO2E6ZG8gdHJ5e2lmKEohPT0wJiZLIT09bnVsbCl7dmFyIHM9SyxjPW5kO3N3aXRjaChKKXtjYXNlIDg6QmQoKSxvPTY7YnJlYWsgYTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6UG8uY3VycmVudD09PW51bGwmJih0PSEwKTt2YXIgbD1KO2lmKEo9MCxuZD1udWxsLCRkKGUscyxjLGwpLG4mJmlkKXtvPTA7YnJlYWsgYX1icmVhaztkZWZhdWx0Omw9SixKPTAsbmQ9bnVsbCwkZChlLHMsYyxsKX19SmQoKSxvPVk7YnJlYWt9Y2F0Y2godCl7SGQoZSx0KX13aGlsZSgxKTtyZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKysseGE9YmE9bnVsbCxXPXIsVC5IPWksVC5BPWEsSz09PW51bGwmJihHPW51bGwscT0wLGppKCkpLG99ZnVuY3Rpb24gSmQoKXtmb3IoO0shPT1udWxsOylaZChLKX1mdW5jdGlvbiBZZChlLHQpe3ZhciBuPVc7V3w9Mjt2YXIgcj1XZCgpLGE9R2QoKTtHIT09ZXx8cSE9PXQ_KHZkPW51bGwsX2Q9SmUoKSs1MDAsVmQoZSx0KSk6aWQ9aHQoZSx0KTthOmRvIHRyeXtpZihKIT09MCYmSyE9PW51bGwpe3Q9Szt2YXIgbz1uZDtiOnN3aXRjaChKKXtjYXNlIDE6Sj0wLG5kPW51bGwsJGQoZSx0LG8sMSk7YnJlYWs7Y2FzZSAyOmNhc2UgOTppZihubyhvKSl7Sj0wLG5kPW51bGwsUWQodCk7YnJlYWt9dD1mdW5jdGlvbigpe0ohPT0yJiZKIT09OXx8RyE9PWV8fChKPTcpLEVmKGUpfSxvLnRoZW4odCx0KTticmVhayBhO2Nhc2UgMzpKPTc7YnJlYWsgYTtjYXNlIDQ6Sj01O2JyZWFrIGE7Y2FzZSA3Om5vKG8pPyhKPTAsbmQ9bnVsbCxRZCh0KSk6KEo9MCxuZD1udWxsLCRkKGUsdCxvLDcpKTticmVhaztjYXNlIDU6dmFyIHM9bnVsbDtzd2l0Y2goSy50YWcpe2Nhc2UgMjY6cz1LLm1lbW9pemVkU3RhdGU7Y2FzZSA1OmNhc2UgMjc6dmFyIGM9SztpZihzP1ltKHMpOmMuc3RhdGVOb2RlLmNvbXBsZXRlKXtKPTAsbmQ9bnVsbDt2YXIgbD1jLnNpYmxpbmc7aWYobCE9PW51bGwpSz1sO2Vsc2V7dmFyIHU9Yy5yZXR1cm47dT09PW51bGw_Sz1udWxsOihLPXUsZWYodSkpfWJyZWFrIGJ9fUo9MCxuZD1udWxsLCRkKGUsdCxvLDUpO2JyZWFrO2Nhc2UgNjpKPTAsbmQ9bnVsbCwkZChlLHQsbyw2KTticmVhaztjYXNlIDg6QmQoKSxZPTY7YnJlYWsgYTtkZWZhdWx0OnRocm93IEVycm9yKGkoNDYyKSl9fVhkKCk7YnJlYWt9Y2F0Y2godCl7SGQoZSx0KX13aGlsZSgxKTtyZXR1cm4geGE9YmE9bnVsbCxULkg9cixULkE9YSxXPW4sSz09PW51bGw_KEc9bnVsbCxxPTAsamkoKSxZKTowfWZ1bmN0aW9uIFhkKCl7Zm9yKDtLIT09bnVsbCYmIUtlKCk7KVpkKEspfWZ1bmN0aW9uIFpkKGUpe3ZhciB0PWhsKGUuYWx0ZXJuYXRlLGUsb2QpO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyx0PT09bnVsbD9lZihlKTpLPXR9ZnVuY3Rpb24gUWQoZSl7dmFyIHQ9ZSxuPXQuYWx0ZXJuYXRlO3N3aXRjaCh0LnRhZyl7Y2FzZSAxNTpjYXNlIDA6dD1ZYyhuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLHZvaWQgMCxxKTticmVhaztjYXNlIDExOnQ9WWMobix0LHQucGVuZGluZ1Byb3BzLHQudHlwZS5yZW5kZXIsdC5yZWYscSk7YnJlYWs7Y2FzZSA1OnNzKHQpO3ZhciByPXQ7cj09PVAmJihJPyhtYShyKSxyLnRhZz09PTUmJnIuc3RhdGVOb2RlIT1udWxsJiYoRj1yLnN0YXRlTm9kZSkpOihtYShyKSxJPSEwKSk7ZGVmYXVsdDpDbChuLHQpLHQ9Sz1IaSh0LG9kKSx0PWhsKG4sdCxvZCl9ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLHQ9PT1udWxsP2VmKGUpOks9dH1mdW5jdGlvbiAkZChlLHQsbixyKXt4YT1iYT1udWxsLHNzKHQpLGNvPW51bGwsbG89MDt2YXIgaT10LnJldHVybjt0cnl7aWYoUGMoZSxpLHQsbixxKSl7WT0xLGtjKGUsWWkobixlLmN1cnJlbnQpKSxLPW51bGw7cmV0dXJufX1jYXRjaCh0KXtpZihpIT09bnVsbCl0aHJvdyBLPWksdDtZPTEsa2MoZSxZaShuLGUuY3VycmVudCkpLEs9bnVsbDtyZXR1cm59dC5mbGFncyYzMjc2OD8oSXx8cj09PTE_ZT0hMDppZHx8cSY1MzY4NzA5MTI_ZT0hMToocmQ9ZT0hMCwocj09PTJ8fHI9PT05fHxyPT09M3x8cj09PTYpJiYocj1Qby5jdXJyZW50LHIhPT1udWxsJiZyLnRhZz09PTEzJiYoci5mbGFnc3w9MTYzODQpKSksdGYodCxlKSk6ZWYodCl9ZnVuY3Rpb24gZWYoZSl7dmFyIHQ9ZTtkb3tpZih0LmZsYWdzJjMyNzY4KXt0Zih0LHJkKTtyZXR1cm59ZT10LnJldHVybjt2YXIgbj14bCh0LmFsdGVybmF0ZSx0LG9kKTtpZihuIT09bnVsbCl7Sz1uO3JldHVybn1pZih0PXQuc2libGluZyx0IT09bnVsbCl7Sz10O3JldHVybn1LPXQ9ZX13aGlsZSh0IT09bnVsbCk7WT09PTAmJihZPTUpfWZ1bmN0aW9uIHRmKGUsdCl7ZG97dmFyIG49U2woZS5hbHRlcm5hdGUsZSk7aWYobiE9PW51bGwpe24uZmxhZ3MmPTMyNzY3LEs9bjtyZXR1cm59aWYobj1lLnJldHVybixuIT09bnVsbCYmKG4uZmxhZ3N8PTMyNzY4LG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksIXQmJihlPWUuc2libGluZyxlIT09bnVsbCkpe0s9ZTtyZXR1cm59Sz1lPW59d2hpbGUoZSE9PW51bGwpO1k9NixLPW51bGx9ZnVuY3Rpb24gbmYoZSx0LG4scixhLG8scyxjLGwsdSxkLGYpe2UuY2FuY2VsUGVuZGluZ0NvbW1pdD1udWxsO2RvIGRmKCk7d2hpbGUoWCE9PTApO2lmKFcmNil0aHJvdyBFcnJvcihpKDMyNykpO2lmKHQhPT1udWxsKXtpZih0PT09ZS5jdXJyZW50KXRocm93IEVycm9yKGkoMTc3KSk7ZT09PUcmJihLPUc9bnVsbCxxPTApLHhkPXQsYmQ9ZSxTZD1uLHdkPWEsVGQ9cixyZihlLHQsbixzLGMsbCxmKX19ZnVuY3Rpb24gcmYoZSx0LG4scixpLGEsbyl7dmFyIHM9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoQ2Q9cyxzfD1BaSx4dChlLG4scyxyLGksYSksRGQ9bnVsbCwobiYzMzU1NDQwNjQpPT09bj8oT2Q9emEoZSkscj0xMDI2Mik6KE9kPW51bGwscj0xMDI1NiksKHQuc3VidHJlZUZsYWdzJnIpIT09MHx8KHQuZmxhZ3MmcikhPT0wPyhlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLHlmKFFlLGZ1bmN0aW9uKCl7cmV0dXJuIGZmKCksbnVsbH0pKTooZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCksSGw9ITEscj0hISh0LmZsYWdzJjEzODc4KSx0LnN1YnRyZWVGbGFncyYxMzg3OHx8cil7cj1ULlQsVC5UPW51bGwsaT1FLnAsRS5wPTIsYT1XLFd8PTQ7dHJ5e2d1KGUsdCxuKX1maW5hbGx5e1c9YSxFLnA9aSxULlQ9cn19WD0xLEhsP0VkPU1wKG8sZS5jb250YWluZXJJbmZvLE9kLHNmLGNmLG9mLGxmLGZmLGFmLG51bGwsbnVsbCk6KHNmKCksY2YoKSxsZigpKX1mdW5jdGlvbiBhZihlKXtpZihYIT09MCl7dmFyIHQ9YmQub25SZWNvdmVyYWJsZUVycm9yO3QoZSx7Y29tcG9uZW50U3RhY2s6bnVsbH0pfX1mdW5jdGlvbiBvZigpe1g9PT0zJiYoWD0wLEl1KHhkLGJkKSxYPTQpfWZ1bmN0aW9uIHNmKCl7aWYoWD09PTEpe1g9MDt2YXIgZT1iZCx0PXhkLG49U2Qscj0hISh0LmZsYWdzJjEzODc4KTtpZih0LnN1YnRyZWVGbGFncyYxMzg3OHx8cil7cj1ULlQsVC5UPW51bGw7dmFyIGk9RS5wO0UucD0yO3ZhciBhPVc7V3w9NDt0cnl7cHU9bXU9ITEsTXUodCxlLG4pLG49Y3A7dmFyIG89ZWkoZS5jb250YWluZXJJbmZvKSxzPW4uZm9jdXNlZEVsZW0sYz1uLnNlbGVjdGlvblJhbmdlO2lmKG8hPT1zJiZzJiZzLm93bmVyRG9jdW1lbnQmJiRyKHMub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscykpe2lmKGMhPT1udWxsJiZ0aShzKSl7dmFyIGw9Yy5zdGFydCx1PWMuZW5kO2lmKHU9PT12b2lkIDAmJih1PWwpLGBzZWxlY3Rpb25TdGFydGBpbiBzKXMuc2VsZWN0aW9uU3RhcnQ9bCxzLnNlbGVjdGlvbkVuZD1NYXRoLm1pbih1LHMudmFsdWUubGVuZ3RoKTtlbHNle3ZhciBkPXMub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQsZj1kJiZkLmRlZmF1bHRWaWV3fHx3aW5kb3c7aWYoZi5nZXRTZWxlY3Rpb24pe3ZhciBwPWYuZ2V0U2VsZWN0aW9uKCksbT1zLnRleHRDb250ZW50Lmxlbmd0aCxoPU1hdGgubWluKGMuc3RhcnQsbSksZz1jLmVuZD09PXZvaWQgMD9oOk1hdGgubWluKGMuZW5kLG0pOyFwLmV4dGVuZCYmaD5nJiYobz1nLGc9aCxoPW8pO3ZhciBfPVFyKHMsaCksdj1RcihzLGcpO2lmKF8mJnYmJihwLnJhbmdlQ291bnQhPT0xfHxwLmFuY2hvck5vZGUhPT1fLm5vZGV8fHAuYW5jaG9yT2Zmc2V0IT09Xy5vZmZzZXR8fHAuZm9jdXNOb2RlIT09di5ub2RlfHxwLmZvY3VzT2Zmc2V0IT09di5vZmZzZXQpKXt2YXIgeT1kLmNyZWF0ZVJhbmdlKCk7eS5zZXRTdGFydChfLm5vZGUsXy5vZmZzZXQpLHAucmVtb3ZlQWxsUmFuZ2VzKCksaD5nPyhwLmFkZFJhbmdlKHkpLHAuZXh0ZW5kKHYubm9kZSx2Lm9mZnNldCkpOih5LnNldEVuZCh2Lm5vZGUsdi5vZmZzZXQpLHAuYWRkUmFuZ2UoeSkpfX19fWZvcihkPVtdLHA9cztwPXAucGFyZW50Tm9kZTspcC5ub2RlVHlwZT09PTEmJmQucHVzaCh7ZWxlbWVudDpwLGxlZnQ6cC5zY3JvbGxMZWZ0LHRvcDpwLnNjcm9sbFRvcH0pO2Zvcih0eXBlb2Ygcy5mb2N1cz09YGZ1bmN0aW9uYCYmcy5mb2N1cygpLHM9MDtzPGQubGVuZ3RoO3MrKyl7dmFyIGI9ZFtzXTtiLmVsZW1lbnQuc2Nyb2xsTGVmdD1iLmxlZnQsYi5lbGVtZW50LnNjcm9sbFRvcD1iLnRvcH19Z2g9ISFzcCxjcD1zcD1udWxsfWZpbmFsbHl7Vz1hLEUucD1pLFQuVD1yfX1lLmN1cnJlbnQ9dCxYPTJ9fWZ1bmN0aW9uIGNmKCl7aWYoWD09PTIpe1g9MDt2YXIgZT1iZCx0PXhkLG49ISEodC5mbGFncyY4NzcyKTtpZih0LnN1YnRyZWVGbGFncyY4NzcyfHxuKXtuPVQuVCxULlQ9bnVsbDt2YXIgcj1FLnA7RS5wPTI7dmFyIGk9VztXfD00O3RyeXt2dShlLHQuYWx0ZXJuYXRlLHQpfWZpbmFsbHl7Vz1pLEUucD1yLFQuVD1ufX1YPTN9fWZ1bmN0aW9uIGxmKCl7aWYoWD09PTR8fFg9PT0zKXtYPTA7dmFyIGU9RWQ7RWQ9bnVsbCxxZSgpO3ZhciB0PWJkLG49eGQscj1TZCxpPVRkLGE9KHImMzM1NTQ0MDY0KT09PXI_MTAyNjI6MTAyNTY7aWYoKG4uc3VidHJlZUZsYWdzJmEpIT09MHx8KG4uZmxhZ3MmYSkhPT0wP1g9NTooWD0wLHhkPWJkPW51bGwsdWYodCx0LnBlbmRpbmdMYW5lcykpLGE9dC5wZW5kaW5nTGFuZXMsYT09PTAmJih5ZD1udWxsKSxFdChyKSxuPW4uc3RhdGVOb2RlLGl0JiZ0eXBlb2YgaXQub25Db21taXRGaWJlclJvb3Q9PWBmdW5jdGlvbmApdHJ5e2l0Lm9uQ29tbWl0RmliZXJSb290KHJ0LG4sdm9pZCAwLChuLmN1cnJlbnQuZmxhZ3MmMTI4KT09MTI4KX1jYXRjaHt9aWYoaSE9PW51bGwpe249VC5ULGE9RS5wLEUucD0yLFQuVD1udWxsO3RyeXtmb3IodmFyIG89dC5vblJlY292ZXJhYmxlRXJyb3Iscz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO28oYy52YWx1ZSx7Y29tcG9uZW50U3RhY2s6Yy5zdGFja30pfX1maW5hbGx5e1QuVD1uLEUucD1hfX1pZihpPURkLG89T2QsT2Q9bnVsbCxpIT09bnVsbCYmKERkPW51bGwsbz09PW51bGwmJihvPVtdKSxlIT09bnVsbCkpZm9yKGM9MDtjPGkubGVuZ3RoO2MrKyluPSgwLGlbY10pKG8pLG4hPT12b2lkIDAmJmUuZmluaXNoZWQuZmluYWxseShuKTtTZCYzJiZkZigpLEVmKHQpLGE9dC5wZW5kaW5nTGFuZXMsciYyNjE5MzAmJmEmNDI_dD09PUFkP2tkKys6KGtkPTAsQWQ9dCk6KGtkPTAsQWQ9bnVsbCksRGYoMCwhMSl9fWZ1bmN0aW9uIHVmKGUsdCl7KGUucG9vbGVkQ2FjaGVMYW5lcyY9dCk9PT0wJiYodD1lLnBvb2xlZENhY2hlLHQhPW51bGwmJihlLnBvb2xlZENhY2hlPW51bGwsSWEodCkpKX1mdW5jdGlvbiBkZigpe3JldHVybiBFZCE9PW51bGwmJihFZC5za2lwVHJhbnNpdGlvbigpLEVkPW51bGwpLHNmKCksY2YoKSxsZigpLGZmKCl9ZnVuY3Rpb24gZmYoKXtpZihYIT09NSlyZXR1cm4hMTt2YXIgZT1iZCx0PUNkO0NkPTA7dmFyIG49RXQoU2QpLHI9VC5ULGE9RS5wO3RyeXtFLnA9MzI-bj8zMjpuLFQuVD1udWxsLG49d2Qsd2Q9bnVsbDt2YXIgbz1iZCxzPVNkO2lmKFg9MCx4ZD1iZD1udWxsLFNkPTAsVyY2KXRocm93IEVycm9yKGkoMzMxKSk7dmFyIGM9VztpZihXfD00LFp1KG8uY3VycmVudCksVXUobyxvLmN1cnJlbnQscyxuKSxXPWMsRGYoMCwhMSksaXQmJnR5cGVvZiBpdC5vblBvc3RDb21taXRGaWJlclJvb3Q9PWBmdW5jdGlvbmApdHJ5e2l0Lm9uUG9zdENvbW1pdEZpYmVyUm9vdChydCxvKX1jYXRjaHt9cmV0dXJuITB9ZmluYWxseXtFLnA9YSxULlQ9cix1ZihlLHQpfX1mdW5jdGlvbiBwZihlLHQsbil7dD1ZaShuLHQpLHQ9amMoZS5zdGF0ZU5vZGUsdCwyKSxlPXhvKGUsdCwyKSxlIT09bnVsbCYmKGJ0KGUsMiksRWYoZSkpfWZ1bmN0aW9uIFooZSx0LG4pe2lmKGUudGFnPT09MylwZihlLGUsbik7ZWxzZSBmb3IoO3QhPT1udWxsOyl7aWYodC50YWc9PT0zKXtwZih0LGUsbik7YnJlYWt9aWYodC50YWc9PT0xKXt2YXIgcj10LnN0YXRlTm9kZTtpZih0eXBlb2YgdC50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcj09YGZ1bmN0aW9uYHx8dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2g9PWBmdW5jdGlvbmAmJih5ZD09PW51bGx8fCF5ZC5oYXMocikpKXtlPVlpKG4sZSksbj1NYygyKSxyPXhvKHQsbiwyKSxyIT09bnVsbCYmKE5jKG4scix0LGUpLGJ0KHIsMiksRWYocikpO2JyZWFrfX10PXQucmV0dXJufX1mdW5jdGlvbiBtZihlLHQsbil7dmFyIHI9ZS5waW5nQ2FjaGU7aWYocj09PW51bGwpe3I9ZS5waW5nQ2FjaGU9bmV3IHRkO3ZhciBpPW5ldyBTZXQ7ci5zZXQodCxpKX1lbHNlIGk9ci5nZXQodCksaT09PXZvaWQgMCYmKGk9bmV3IFNldCxyLnNldCh0LGkpKTtpLmhhcyhuKXx8KGFkPSEwLGkuYWRkKG4pLGU9aGYuYmluZChudWxsLGUsdCxuKSx0LnRoZW4oZSxlKSl9ZnVuY3Rpb24gaGYoZSx0LG4pe3ZhciByPWUucGluZ0NhY2hlO3IhPT1udWxsJiZyLmRlbGV0ZSh0KSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJm4sZS53YXJtTGFuZXMmPX5uLEc9PT1lJiYocSZuKT09PW4mJihZPT09NHx8WT09PTMmJihxJjYyOTE0NTYwKT09PXEmJjMwMD5KZSgpLWhkP1cmMj9sZHw9bjpWZChlLDApOmxkfD1uLGRkPT09cSYmKGRkPTApKSxFZihlKX1mdW5jdGlvbiBnZihlLHQpe3Q9PT0wJiYodD12dCgpKSxlPVBpKGUsdCksZSE9PW51bGwmJihidChlLHQpLEVmKGUpKX1mdW5jdGlvbiBfZihlKXt2YXIgdD1lLm1lbW9pemVkU3RhdGUsbj0wO3QhPT1udWxsJiYobj10LnJldHJ5TGFuZSksZ2YoZSxuKX1mdW5jdGlvbiB2ZihlLHQpe3ZhciBuPTA7c3dpdGNoKGUudGFnKXtjYXNlIDMxOmNhc2UgMTM6dmFyIHI9ZS5zdGF0ZU5vZGUsYT1lLm1lbW9pemVkU3RhdGU7YSE9PW51bGwmJihuPWEucmV0cnlMYW5lKTticmVhaztjYXNlIDE5OnI9ZS5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAyMjpyPWUuc3RhdGVOb2RlLl9yZXRyeUNhY2hlO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoaSgzMTQpKX1yIT09bnVsbCYmci5kZWxldGUodCksZ2YoZSxuKX1mdW5jdGlvbiB5ZihlLHQpe3JldHVybiBXZShlLHQpfXZhciBiZj1udWxsLHhmPW51bGwsU2Y9ITEsQ2Y9ITEsd2Y9ITEsVGY9MDtmdW5jdGlvbiBFZihlKXtlIT09eGYmJmUubmV4dD09PW51bGwmJih4Zj09PW51bGw_YmY9eGY9ZTp4Zj14Zi5uZXh0PWUpLENmPSEwLFNmfHwoU2Y9ITAsTmYoKSl9ZnVuY3Rpb24gRGYoZSx0KXtpZighd2YmJkNmKXt3Zj0hMDtkbyBmb3IodmFyIG49ITEscj1iZjtyIT09bnVsbDspe2lmKCF0KXtpZihlIT09MCl7dmFyIGk9ci5wZW5kaW5nTGFuZXM7aWYoaT09PTApdmFyIGE9MDtlbHNle3ZhciBvPXIuc3VzcGVuZGVkTGFuZXMscz1yLnBpbmdlZExhbmVzO2E9KDE8PDMxLW90KDQyfGUpKzEpLTEsYSY9aSZ-KG8mfnMpLGE9YSYyMDEzMjY3NDE_YSYyMDEzMjY3NDF8MTphP2F8MjowfWEhPT0wJiYobj0hMCxNZihyLGEpKX1lbHNlIGE9cSxhPW10KHIscj09PUc_YTowLHIuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGx8fHIudGltZW91dEhhbmRsZSE9PS0xKSwhKGEmMyl8fGh0KHIsYSl8fChuPSEwLE1mKHIsYSkpfXI9ci5uZXh0fXdoaWxlKG4pO3dmPSExfX1mdW5jdGlvbiBPZigpe2tmKCl9ZnVuY3Rpb24ga2YoKXtDZj1TZj0hMTt2YXIgZT0wO1RmIT09MCYmaHAoKSYmKGU9VGYpO2Zvcih2YXIgdD1KZSgpLG49bnVsbCxyPWJmO3IhPT1udWxsOyl7dmFyIGk9ci5uZXh0LGE9QWYocix0KTthPT09MD8oci5uZXh0PW51bGwsbj09PW51bGw_YmY9aTpuLm5leHQ9aSxpPT09bnVsbCYmKHhmPW4pKToobj1yLChlIT09MHx8YSYzKSYmKENmPSEwKSkscj1pfVghPT0wJiZYIT09NXx8RGYoZSwhMSksVGYhPT0wJiYoVGY9MCl9ZnVuY3Rpb24gQWYoZSx0KXtmb3IodmFyIG49ZS5zdXNwZW5kZWRMYW5lcyxyPWUucGluZ2VkTGFuZXMsaT1lLmV4cGlyYXRpb25UaW1lcyxhPWUucGVuZGluZ0xhbmVzJi02MjkxNDU2MTswPGE7KXt2YXIgbz0zMS1vdChhKSxzPTE8PG8sYz1pW29dO2M9PT0tMT8oKHMmbik9PT0wfHwocyZyKSE9PTApJiYoaVtvXT1fdChzLHQpKTpjPD10JiYoZS5leHBpcmVkTGFuZXN8PXMpLGEmPX5zfWlmKHQ9RyxuPXEsbj1tdChlLGU9PT10P246MCxlLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsfHxlLnRpbWVvdXRIYW5kbGUhPT0tMSkscj1lLmNhbGxiYWNrTm9kZSxuPT09MHx8ZT09PXQmJihKPT09Mnx8Sj09PTkpfHxlLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsKXJldHVybiByIT09bnVsbCYmciE9PW51bGwmJkdlKHIpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7aWYoIShuJjMpfHxodChlLG4pKXtpZih0PW4mLW4sdD09PWUuY2FsbGJhY2tQcmlvcml0eSlyZXR1cm4gdDtzd2l0Y2gociE9PW51bGwmJkdlKHIpLEV0KG4pKXtjYXNlIDI6Y2FzZSA4Om49WmU7YnJlYWs7Y2FzZSAzMjpuPVFlO2JyZWFrO2Nhc2UgMjY4NDM1NDU2Om49ZXQ7YnJlYWs7ZGVmYXVsdDpuPVFlfXJldHVybiByPWpmLmJpbmQobnVsbCxlKSxuPVdlKG4sciksZS5jYWxsYmFja1ByaW9yaXR5PXQsZS5jYWxsYmFja05vZGU9bix0fXJldHVybiByIT09bnVsbCYmciE9PW51bGwmJkdlKHIpLGUuY2FsbGJhY2tQcmlvcml0eT0yLGUuY2FsbGJhY2tOb2RlPW51bGwsMn1mdW5jdGlvbiBqZihlLHQpe2lmKFghPT0wJiZYIT09NSlyZXR1cm4gZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCxudWxsO3ZhciBuPWUuY2FsbGJhY2tOb2RlO2lmKGRmKCkmJmUuY2FsbGJhY2tOb2RlIT09bilyZXR1cm4gbnVsbDt2YXIgcj1xO3JldHVybiByPW10KGUsZT09PUc_cjowLGUuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGx8fGUudGltZW91dEhhbmRsZSE9PS0xKSxyPT09MD9udWxsOihGZChlLHIsdCksQWYoZSxKZSgpKSxlLmNhbGxiYWNrTm9kZSE9bnVsbCYmZS5jYWxsYmFja05vZGU9PT1uP2pmLmJpbmQobnVsbCxlKTpudWxsKX1mdW5jdGlvbiBNZihlLHQpe2lmKGRmKCkpcmV0dXJuIG51bGw7RmQoZSx0LCEwKX1mdW5jdGlvbiBOZigpe2JwKGZ1bmN0aW9uKCl7VyY2P1dlKFhlLE9mKTprZigpfSl9ZnVuY3Rpb24gUGYoKXtpZihUZj09PTApe3ZhciBlPUhhO2U9PT0wJiYoZT11dCx1dDw8PTEsISh1dCYyNjE4ODgpJiYodXQ9MjU2KSksVGY9ZX1yZXR1cm4gVGZ9ZnVuY3Rpb24gRmYoZSl7cmV0dXJuIGU9PW51bGx8fHR5cGVvZiBlPT1gc3ltYm9sYHx8dHlwZW9mIGU9PWBib29sZWFuYD9udWxsOnR5cGVvZiBlPT1gZnVuY3Rpb25gP2U6VG4oZSl9ZnVuY3Rpb24gSWYoZSx0LG4scixpKXtpZih0PT09YHN1Ym1pdGAmJm4mJm4uc3RhdGVOb2RlPT09aSl7dmFyIGE9RmYoKGlbanRdfHxudWxsKS5hY3Rpb24pLG89ci5zdWJtaXR0ZXI7byYmKHQ9KHQ9b1tqdF18fG51bGwpP0ZmKHQuZm9ybUFjdGlvbik6by5nZXRBdHRyaWJ1dGUoYGZvcm1BY3Rpb25gKSx0IT09bnVsbCYmKGE9dCxvPW51bGwpKTt2YXIgcz1uZXcgcW4oYGFjdGlvbmAsYGFjdGlvbmAsbnVsbCxyLGkpO2UucHVzaCh7ZXZlbnQ6cyxsaXN0ZW5lcnM6W3tpbnN0YW5jZTpudWxsLGxpc3RlbmVyOmZ1bmN0aW9uKCl7aWYoci5kZWZhdWx0UHJldmVudGVkKXtpZihUZiE9PTApe3ZhciBlPW5ldyBGb3JtRGF0YShpLG8pO3JjKG4se3BlbmRpbmc6ITAsZGF0YTplLG1ldGhvZDppLm1ldGhvZCxhY3Rpb246YX0sbnVsbCxlKX19ZWxzZSB0eXBlb2YgYT09YGZ1bmN0aW9uYCYmKHMucHJldmVudERlZmF1bHQoKSxlPW5ldyBGb3JtRGF0YShpLG8pLHJjKG4se3BlbmRpbmc6ITAsZGF0YTplLG1ldGhvZDppLm1ldGhvZCxhY3Rpb246YX0sYSxlKSl9LGN1cnJlbnRUYXJnZXQ6aX1dfSl9fWZvcih2YXIgTGY9MDtMZjx4aS5sZW5ndGg7TGYrKyl7dmFyIFJmPXhpW0xmXTtTaShSZi50b0xvd2VyQ2FzZSgpLGBvbmArKFJmWzBdLnRvVXBwZXJDYXNlKCkrUmYuc2xpY2UoMSkpKX1TaShwaSxgb25BbmltYXRpb25FbmRgKSxTaShtaSxgb25BbmltYXRpb25JdGVyYXRpb25gKSxTaShoaSxgb25BbmltYXRpb25TdGFydGApLFNpKGBkYmxjbGlja2AsYG9uRG91YmxlQ2xpY2tgKSxTaShgZm9jdXNpbmAsYG9uRm9jdXNgKSxTaShgZm9jdXNvdXRgLGBvbkJsdXJgKSxTaShnaSxgb25UcmFuc2l0aW9uUnVuYCksU2koX2ksYG9uVHJhbnNpdGlvblN0YXJ0YCksU2kodmksYG9uVHJhbnNpdGlvbkNhbmNlbGApLFNpKHlpLGBvblRyYW5zaXRpb25FbmRgKSxZdChgb25Nb3VzZUVudGVyYCxbYG1vdXNlb3V0YCxgbW91c2VvdmVyYF0pLFl0KGBvbk1vdXNlTGVhdmVgLFtgbW91c2VvdXRgLGBtb3VzZW92ZXJgXSksWXQoYG9uUG9pbnRlckVudGVyYCxbYHBvaW50ZXJvdXRgLGBwb2ludGVyb3ZlcmBdKSxZdChgb25Qb2ludGVyTGVhdmVgLFtgcG9pbnRlcm91dGAsYHBvaW50ZXJvdmVyYF0pLEp0KGBvbkNoYW5nZWAsYGNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlYC5zcGxpdChgIGApKSxKdChgb25TZWxlY3RgLGBmb2N1c291dCBjb250ZXh0bWVudSBkcmFnZW5kIGZvY3VzaW4ga2V5ZG93biBrZXl1cCBtb3VzZWRvd24gbW91c2V1cCBzZWxlY3Rpb25jaGFuZ2VgLnNwbGl0KGAgYCkpLEp0KGBvbkJlZm9yZUlucHV0YCxbYGNvbXBvc2l0aW9uZW5kYCxga2V5cHJlc3NgLGB0ZXh0SW5wdXRgLGBwYXN0ZWBdKSxKdChgb25Db21wb3NpdGlvbkVuZGAsYGNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duYC5zcGxpdChgIGApKSxKdChgb25Db21wb3NpdGlvblN0YXJ0YCxgY29tcG9zaXRpb25zdGFydCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93bmAuc3BsaXQoYCBgKSksSnQoYG9uQ29tcG9zaXRpb25VcGRhdGVgLGBjb21wb3NpdGlvbnVwZGF0ZSBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93bmAuc3BsaXQoYCBgKSk7dmFyIHpmPWBhYm9ydCBjYW5wbGF5IGNhbnBsYXl0aHJvdWdoIGR1cmF0aW9uY2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGxvYWRlZGRhdGEgbG9hZGVkbWV0YWRhdGEgbG9hZHN0YXJ0IHBhdXNlIHBsYXkgcGxheWluZyBwcm9ncmVzcyByYXRlY2hhbmdlIHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZ2Auc3BsaXQoYCBgKSxCZj1uZXcgU2V0KGBiZWZvcmV0b2dnbGUgY2FuY2VsIGNsb3NlIGludmFsaWQgbG9hZCBzY3JvbGwgc2Nyb2xsZW5kIHRvZ2dsZWAuc3BsaXQoYCBgKS5jb25jYXQoemYpKTtmdW5jdGlvbiBWZihlLHQpe3Q9ISEodCY0KTtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXSxpPXIuZXZlbnQ7cj1yLmxpc3RlbmVyczthOnt2YXIgYT12b2lkIDA7aWYodClmb3IodmFyIG89ci5sZW5ndGgtMTswPD1vO28tLSl7dmFyIHM9cltvXSxjPXMuaW5zdGFuY2UsbD1zLmN1cnJlbnRUYXJnZXQ7aWYocz1zLmxpc3RlbmVyLGMhPT1hJiZpLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgYTthPXMsaS5jdXJyZW50VGFyZ2V0PWw7dHJ5e2EoaSl9Y2F0Y2goZSl7RGkoZSl9aS5jdXJyZW50VGFyZ2V0PW51bGwsYT1jfWVsc2UgZm9yKG89MDtvPHIubGVuZ3RoO28rKyl7aWYocz1yW29dLGM9cy5pbnN0YW5jZSxsPXMuY3VycmVudFRhcmdldCxzPXMubGlzdGVuZXIsYyE9PWEmJmkuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBhO2E9cyxpLmN1cnJlbnRUYXJnZXQ9bDt0cnl7YShpKX1jYXRjaChlKXtEaShlKX1pLmN1cnJlbnRUYXJnZXQ9bnVsbCxhPWN9fX19ZnVuY3Rpb24gUShlLHQpe3ZhciBuPXRbTnRdO249PT12b2lkIDAmJihuPXRbTnRdPW5ldyBTZXQpO3ZhciByPWUrYF9fYnViYmxlYDtuLmhhcyhyKXx8KEdmKHQsZSwyLCExKSxuLmFkZChyKSl9ZnVuY3Rpb24gSGYoZSx0LG4pe3ZhciByPTA7dCYmKHJ8PTQpLEdmKG4sZSxyLHQpfXZhciBVZj1gX3JlYWN0TGlzdGVuaW5nYCtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXZihlKXtpZighZVtVZl0pe2VbVWZdPSEwLEt0LmZvckVhY2goZnVuY3Rpb24odCl7dCE9PWBzZWxlY3Rpb25jaGFuZ2VgJiYoQmYuaGFzKHQpfHxIZih0LCExLGUpLEhmKHQsITAsZSkpfSk7dmFyIHQ9ZS5ub2RlVHlwZT09PTk_ZTplLm93bmVyRG9jdW1lbnQ7dD09PW51bGx8fHRbVWZdfHwodFtVZl09ITAsSGYoYHNlbGVjdGlvbmNoYW5nZWAsITEsdCkpfX1mdW5jdGlvbiBHZihlLHQsbixyKXtzd2l0Y2goQ2godCkpe2Nhc2UgMjp2YXIgaT1faDticmVhaztjYXNlIDg6aT12aDticmVhaztkZWZhdWx0Omk9eWh9bj1pLmJpbmQobnVsbCx0LG4sZSksaT12b2lkIDAsIUlufHx0IT09YHRvdWNoc3RhcnRgJiZ0IT09YHRvdWNobW92ZWAmJnQhPT1gd2hlZWxgfHwoaT0hMCkscj9pPT09dm9pZCAwP2UuYWRkRXZlbnRMaXN0ZW5lcih0LG4sITApOmUuYWRkRXZlbnRMaXN0ZW5lcih0LG4se2NhcHR1cmU6ITAscGFzc2l2ZTppfSk6aT09PXZvaWQgMD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLCExKTplLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtwYXNzaXZlOml9KX1mdW5jdGlvbiBLZihlLHQsbixyLGkpe3ZhciBhPXI7aWYoISh0JjEpJiYhKHQmMikmJnIhPT1udWxsKWE6Zm9yKDs7KXtpZihyPT09bnVsbClyZXR1cm47dmFyIG89ci50YWc7aWYobz09PTN8fG89PT00KXt2YXIgYz1yLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2lmKGM9PT1pKWJyZWFrO2lmKG89PT00KWZvcihvPXIucmV0dXJuO28hPT1udWxsOyl7dmFyIGw9by50YWc7aWYoKGw9PT0zfHxsPT09NCkmJm8uc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1pKXJldHVybjtvPW8ucmV0dXJufWZvcig7YyE9PW51bGw7KXtpZihvPUJ0KGMpLG89PT1udWxsKXJldHVybjtpZihsPW8udGFnLGw9PT01fHxsPT09Nnx8bD09PTI2fHxsPT09Mjcpe3I9YT1vO2NvbnRpbnVlIGF9Yz1jLnBhcmVudE5vZGV9fXI9ci5yZXR1cm59Tm4oZnVuY3Rpb24oKXt2YXIgcj1hLGk9T24obiksbz1bXTthOnt2YXIgYz1iaS5nZXQoZSk7aWYoYyE9PXZvaWQgMCl7dmFyIGw9cW4sdT1lO3N3aXRjaChlKXtjYXNlYGtleXByZXNzYDppZihIbihuKT09PTApYnJlYWsgYTtjYXNlYGtleWRvd25gOmNhc2Vga2V5dXBgOmw9ZHI7YnJlYWs7Y2FzZWBmb2N1c2luYDp1PWBmb2N1c2AsbD1ucjticmVhaztjYXNlYGZvY3Vzb3V0YDp1PWBibHVyYCxsPW5yO2JyZWFrO2Nhc2VgYmVmb3JlYmx1cmA6Y2FzZWBhZnRlcmJsdXJgOmw9bnI7YnJlYWs7Y2FzZWBjbGlja2A6aWYobi5idXR0b249PT0yKWJyZWFrIGE7Y2FzZWBhdXhjbGlja2A6Y2FzZWBkYmxjbGlja2A6Y2FzZWBtb3VzZWRvd25gOmNhc2VgbW91c2Vtb3ZlYDpjYXNlYG1vdXNldXBgOmNhc2VgbW91c2VvdXRgOmNhc2VgbW91c2VvdmVyYDpjYXNlYGNvbnRleHRtZW51YDpsPWVyO2JyZWFrO2Nhc2VgZHJhZ2A6Y2FzZWBkcmFnZW5kYDpjYXNlYGRyYWdlbnRlcmA6Y2FzZWBkcmFnZXhpdGA6Y2FzZWBkcmFnbGVhdmVgOmNhc2VgZHJhZ292ZXJgOmNhc2VgZHJhZ3N0YXJ0YDpjYXNlYGRyb3BgOmw9dHI7YnJlYWs7Y2FzZWB0b3VjaGNhbmNlbGA6Y2FzZWB0b3VjaGVuZGA6Y2FzZWB0b3VjaG1vdmVgOmNhc2VgdG91Y2hzdGFydGA6bD1tcjticmVhaztjYXNlIHBpOmNhc2UgbWk6Y2FzZSBoaTpsPXJyO2JyZWFrO2Nhc2UgeWk6bD1ocjticmVhaztjYXNlYHNjcm9sbGA6Y2FzZWBzY3JvbGxlbmRgOmw9WW47YnJlYWs7Y2FzZWB3aGVlbGA6bD1ncjticmVhaztjYXNlYGNvcHlgOmNhc2VgY3V0YDpjYXNlYHBhc3RlYDpsPWlyO2JyZWFrO2Nhc2VgZ290cG9pbnRlcmNhcHR1cmVgOmNhc2VgbG9zdHBvaW50ZXJjYXB0dXJlYDpjYXNlYHBvaW50ZXJjYW5jZWxgOmNhc2VgcG9pbnRlcmRvd25gOmNhc2VgcG9pbnRlcm1vdmVgOmNhc2VgcG9pbnRlcm91dGA6Y2FzZWBwb2ludGVyb3ZlcmA6Y2FzZWBwb2ludGVydXBgOmw9ZnI7YnJlYWs7Y2FzZWBzdWJtaXRgOmw9cHI7YnJlYWs7Y2FzZWB0b2dnbGVgOmNhc2VgYmVmb3JldG9nZ2xlYDpsPV9yfXZhciBkPSEhKHQmNCksZj0hZCYmKGU9PT1gc2Nyb2xsYHx8ZT09PWBzY3JvbGxlbmRgKSxwPWQ_Yz09PW51bGw_bnVsbDpjK2BDYXB0dXJlYDpjO2Q9W107Zm9yKHZhciBtPXIsaDttIT09bnVsbDspe3ZhciBnPW07aWYoaD1nLnN0YXRlTm9kZSxnPWcudGFnLGchPT01JiZnIT09MjYmJmchPT0yN3x8aD09PW51bGx8fHA9PT1udWxsfHwoZz1QbihtLHApLGchPW51bGwmJmQucHVzaChxZihtLGcsaCkpKSxmKWJyZWFrO209bS5yZXR1cm59MDxkLmxlbmd0aCYmKGM9bmV3IGwoYyx1LG51bGwsbixpKSxvLnB1c2goe2V2ZW50OmMsbGlzdGVuZXJzOmR9KSl9fWlmKCEodCY3KSl7YTp7aWYobD1lPT09YG1vdXNlb3ZlcmB8fGU9PT1gcG9pbnRlcm92ZXJgLGM9ZT09PWBtb3VzZW91dGB8fGU9PT1gcG9pbnRlcm91dGAsbCYmbiE9PURuJiYodT1uLnJlbGF0ZWRUYXJnZXR8fG4uZnJvbUVsZW1lbnQpJiYoQnQodSl8fHVbTXRdKSlicmVhayBhOyhjfHxsKSYmKHU9aS53aW5kb3c9PT1pP2k6KGw9aS5vd25lckRvY3VtZW50KT9sLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvdzp3aW5kb3csYz8obD1uLnJlbGF0ZWRUYXJnZXR8fG4udG9FbGVtZW50LGM9cixsPWw_QnQobCk6bnVsbCxsIT09bnVsbCYmKGY9cyhsKSxkPWwudGFnLGwhPT1mfHxkIT09NSYmZCE9PTI3JiZkIT09NikmJihsPW51bGwpKTooYz1udWxsLGw9ciksYyE9PWwmJihkPWVyLGc9YG9uTW91c2VMZWF2ZWAscD1gb25Nb3VzZUVudGVyYCxtPWBtb3VzZWAsKGU9PT1gcG9pbnRlcm91dGB8fGU9PT1gcG9pbnRlcm92ZXJgKSYmKGQ9ZnIsZz1gb25Qb2ludGVyTGVhdmVgLHA9YG9uUG9pbnRlckVudGVyYCxtPWBwb2ludGVyYCksZj1jPT1udWxsP3U6SHQoYyksaD1sPT1udWxsP3U6SHQobCksdT1uZXcgZChnLG0rYGxlYXZlYCxjLG4saSksdS50YXJnZXQ9Zix1LnJlbGF0ZWRUYXJnZXQ9aCxnPW51bGwsQnQoaSk9PT1yJiYoZD1uZXcgZChwLG0rYGVudGVyYCxsLG4saSksZC50YXJnZXQ9aCxkLnJlbGF0ZWRUYXJnZXQ9ZixnPWQpLGY9ZyxkPWMmJmw_bmUoYyxsLFlmKTpudWxsLGMhPT1udWxsJiZYZihvLHUsYyxkLCExKSxsIT09bnVsbCYmZiE9PW51bGwmJlhmKG8sZixsLGQsITApKSl9YTp7aWYoYz1yP0h0KHIpOndpbmRvdyxsPWMubm9kZU5hbWUmJmMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxsPT09YHNlbGVjdGB8fGw9PT1gaW5wdXRgJiZjLnR5cGU9PT1gZmlsZWApdmFyIF89SXI7ZWxzZSBpZihqcihjKSl7aWYoTHIpXz1LcjtlbHNle189V3I7dmFyIHY9VXJ9fWVsc2UgbD1jLm5vZGVOYW1lLCFsfHxsLnRvTG93ZXJDYXNlKCkhPT1gaW5wdXRgfHxjLnR5cGUhPT1gY2hlY2tib3hgJiZjLnR5cGUhPT1gcmFkaW9gP3ImJlNuKHIuZWxlbWVudFR5cGUpJiYoXz1Jcik6Xz1HcjtpZihfJiY9XyhlLHIpKXtNcihvLF8sbixpKTticmVhayBhfXYmJnYoZSxjLHIpfXN3aXRjaCh2PXI_SHQocik6d2luZG93LGUpe2Nhc2VgZm9jdXNpbmA6KGpyKHYpfHx2LmNvbnRlbnRFZGl0YWJsZT09PWB0cnVlYCkmJihyaT12LGlpPXIsYWk9bnVsbCk7YnJlYWs7Y2FzZWBmb2N1c291dGA6YWk9aWk9cmk9bnVsbDticmVhaztjYXNlYG1vdXNlZG93bmA6b2k9ITA7YnJlYWs7Y2FzZWBjb250ZXh0bWVudWA6Y2FzZWBtb3VzZXVwYDpjYXNlYGRyYWdlbmRgOm9pPSExLHNpKG8sbixpKTticmVhaztjYXNlYHNlbGVjdGlvbmNoYW5nZWA6aWYobmkpYnJlYWs7Y2FzZWBrZXlkb3duYDpjYXNlYGtleXVwYDpzaShvLG4saSl9dmFyIHk7aWYoeXIpYjp7c3dpdGNoKGUpe2Nhc2VgY29tcG9zaXRpb25zdGFydGA6dmFyIGI9YG9uQ29tcG9zaXRpb25TdGFydGA7YnJlYWsgYjtjYXNlYGNvbXBvc2l0aW9uZW5kYDpiPWBvbkNvbXBvc2l0aW9uRW5kYDticmVhayBiO2Nhc2VgY29tcG9zaXRpb251cGRhdGVgOmI9YG9uQ29tcG9zaXRpb25VcGRhdGVgO2JyZWFrIGJ9Yj12b2lkIDB9ZWxzZSBEcj9UcihlLG4pJiYoYj1gb25Db21wb3NpdGlvbkVuZGApOmU9PT1ga2V5ZG93bmAmJm4ua2V5Q29kZT09PTIyOSYmKGI9YG9uQ29tcG9zaXRpb25TdGFydGApO2ImJihTciYmbi5sb2NhbGUhPT1ga29gJiYoRHJ8fGIhPT1gb25Db21wb3NpdGlvblN0YXJ0YD9iPT09YG9uQ29tcG9zaXRpb25FbmRgJiZEciYmKHk9Vm4oKSk6KFJuPWksem49YHZhbHVlYGluIFJuP1JuLnZhbHVlOlJuLnRleHRDb250ZW50LERyPSEwKSksdj1KZihyLGIpLDA8di5sZW5ndGgmJihiPW5ldyBhcihiLGUsbnVsbCxuLGkpLG8ucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk_Yi5kYXRhPXk6KHk9RXIobikseSE9PW51bGwmJihiLmRhdGE9eSkpKSksKHk9eHI_T3IoZSxuKTprcihlLG4pKSYmKGI9SmYocixgb25CZWZvcmVJbnB1dGApLDA8Yi5sZW5ndGgmJih2PW5ldyBhcihgb25CZWZvcmVJbnB1dGAsYGJlZm9yZWlucHV0YCxudWxsLG4saSksby5wdXNoKHtldmVudDp2LGxpc3RlbmVyczpifSksdi5kYXRhPXkpKSxJZihvLGUscixuLGkpfVZmKG8sdCl9KX1mdW5jdGlvbiBxZihlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIEpmKGUsdCl7Zm9yKHZhciBuPXQrYENhcHR1cmVgLHI9W107ZSE9PW51bGw7KXt2YXIgaT1lLGE9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxpIT09NSYmaSE9PTI2JiZpIT09Mjd8fGE9PT1udWxsfHwoaT1QbihlLG4pLGkhPW51bGwmJnIudW5zaGlmdChxZihlLGksYSkpLGk9UG4oZSx0KSxpIT1udWxsJiZyLnB1c2gocWYoZSxpLGEpKSksZS50YWc9PT0zKXJldHVybiByO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24gWWYoZSl7aWYoZT09PW51bGwpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiZlLnRhZyE9PTUmJmUudGFnIT09MjcpO3JldHVybiBlfHxudWxsfWZ1bmN0aW9uIFhmKGUsdCxuLHIsaSl7Zm9yKHZhciBhPXQuX3JlYWN0TmFtZSxvPVtdO24hPT1udWxsJiZuIT09cjspe3ZhciBzPW4sYz1zLmFsdGVybmF0ZSxsPXMuc3RhdGVOb2RlO2lmKHM9cy50YWcsYyE9PW51bGwmJmM9PT1yKWJyZWFrO3MhPT01JiZzIT09MjYmJnMhPT0yN3x8bD09PW51bGx8fChjPWwsaT8obD1QbihuLGEpLGwhPW51bGwmJm8udW5zaGlmdChxZihuLGwsYykpKTppfHwobD1QbihuLGEpLGwhPW51bGwmJm8ucHVzaChxZihuLGwsYykpKSksbj1uLnJldHVybn1vLmxlbmd0aCE9PTAmJmUucHVzaCh7ZXZlbnQ6dCxsaXN0ZW5lcnM6b30pfXZhciBaZj0vXHJcbj8vZyxRZj0vXHUwMDAwfFx1RkZGRC9nO2Z1bmN0aW9uICRmKGUpe3JldHVybih0eXBlb2YgZT09YHN0cmluZ2A_ZTpgYCtlKS5yZXBsYWNlKFpmLGAKYCkucmVwbGFjZShRZixgYCl9ZnVuY3Rpb24gZXAoZSx0KXtyZXR1cm4gdD0kZih0KSwkZihlKT09PXR9ZnVuY3Rpb24gJChlLHQsbixyLGEsbyl7c3dpdGNoKG4pe2Nhc2VgY2hpbGRyZW5gOmlmKHR5cGVvZiByPT1gc3RyaW5nYCl0PT09YGJvZHlgfHx0PT09YHRleHRhcmVhYCYmcj09PWBgfHx2bihlLHIpO2Vsc2UgaWYodHlwZW9mIHI9PWBudW1iZXJgfHx0eXBlb2Ygcj09YGJpZ2ludGApdCE9PWBib2R5YCYmdm4oZSxgYCtyKTtlbHNlIHJldHVybjticmVhaztjYXNlYGNsYXNzTmFtZWA6bm4oZSxgY2xhc3NgLHIpO2JyZWFrO2Nhc2VgdGFiSW5kZXhgOm5uKGUsYHRhYmluZGV4YCxyKTticmVhaztjYXNlYGRpcmA6Y2FzZWByb2xlYDpjYXNlYHZpZXdCb3hgOmNhc2Vgd2lkdGhgOmNhc2VgaGVpZ2h0YDpubihlLG4scik7YnJlYWs7Y2FzZWBzdHlsZWA6eG4oZSxyLG8pO3JldHVybjtjYXNlYGRhdGFgOmlmKHQhPT1gb2JqZWN0YCl7bm4oZSxgZGF0YWAscik7YnJlYWt9Y2FzZWBzcmNgOmNhc2VgaHJlZmA6aWYocj09PWBgJiYodCE9PWBhYHx8biE9PWBocmVmYCl8fHI9PW51bGx8fHR5cGVvZiByPT1gZnVuY3Rpb25gfHx0eXBlb2Ygcj09YHN5bWJvbGB8fHR5cGVvZiByPT1gYm9vbGVhbmApe2UucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrfXI9VG4ociksZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlYGFjdGlvbmA6Y2FzZWBmb3JtQWN0aW9uYDppZih0eXBlb2Ygcj09YGZ1bmN0aW9uYCl7ZS5zZXRBdHRyaWJ1dGUobixgamF2YXNjcmlwdDp0aHJvdyBuZXcgRXJyb3IoJ0EgUmVhY3QgZm9ybSB3YXMgdW5leHBlY3RlZGx5IHN1Ym1pdHRlZC4gSWYgeW91IGNhbGxlZCBmb3JtLnN1Ym1pdCgpIG1hbnVhbGx5LCBjb25zaWRlciB1c2luZyBmb3JtLnJlcXVlc3RTdWJtaXQoKSBpbnN0ZWFkLiBJZiB5b3VcXCdyZSB0cnlpbmcgdG8gdXNlIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIGluIGEgc3VibWl0IGV2ZW50IGhhbmRsZXIsIGNvbnNpZGVyIGFsc28gY2FsbGluZyBldmVudC5wcmV2ZW50RGVmYXVsdCgpLicpYCk7YnJlYWt9aWYodHlwZW9mIG89PWBmdW5jdGlvbmAmJihuPT09YGZvcm1BY3Rpb25gPyh0IT09YGlucHV0YCYmJChlLHQsYG5hbWVgLGEubmFtZSxhLG51bGwpLCQoZSx0LGBmb3JtRW5jVHlwZWAsYS5mb3JtRW5jVHlwZSxhLG51bGwpLCQoZSx0LGBmb3JtTWV0aG9kYCxhLmZvcm1NZXRob2QsYSxudWxsKSwkKGUsdCxgZm9ybVRhcmdldGAsYS5mb3JtVGFyZ2V0LGEsbnVsbCkpOigkKGUsdCxgZW5jVHlwZWAsYS5lbmNUeXBlLGEsbnVsbCksJChlLHQsYG1ldGhvZGAsYS5tZXRob2QsYSxudWxsKSwkKGUsdCxgdGFyZ2V0YCxhLnRhcmdldCxhLG51bGwpKSkscj09bnVsbHx8dHlwZW9mIHI9PWBzeW1ib2xgfHx0eXBlb2Ygcj09YGJvb2xlYW5gKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31yPVRuKHIpLGUuc2V0QXR0cmlidXRlKG4scik7YnJlYWs7Y2FzZWBvbkNsaWNrYDpyIT1udWxsJiYoZS5vbmNsaWNrPUVuKTtyZXR1cm47Y2FzZWBvblNjcm9sbGA6ciE9bnVsbCYmUShgc2Nyb2xsYCxlKTtyZXR1cm47Y2FzZWBvblNjcm9sbEVuZGA6ciE9bnVsbCYmUShgc2Nyb2xsZW5kYCxlKTtyZXR1cm47Y2FzZWBkYW5nZXJvdXNseVNldElubmVySFRNTGA6aWYociE9bnVsbCl7aWYodHlwZW9mIHIhPWBvYmplY3RgfHwhKGBfX2h0bWxgaW4gcikpdGhyb3cgRXJyb3IoaSg2MSkpO2lmKG49ci5fX2h0bWwsbiE9bnVsbCl7aWYoYS5jaGlsZHJlbiE9bnVsbCl0aHJvdyBFcnJvcihpKDYwKSk7bz8uX19odG1sIT09biYmKGUuaW5uZXJIVE1MPW4pfX1icmVhaztjYXNlYG11bHRpcGxlYDplLm11bHRpcGxlPXImJnR5cGVvZiByIT1gZnVuY3Rpb25gJiZ0eXBlb2YgciE9YHN5bWJvbGA7YnJlYWs7Y2FzZWBtdXRlZGA6ZS5tdXRlZD1yJiZ0eXBlb2YgciE9YGZ1bmN0aW9uYCYmdHlwZW9mIHIhPWBzeW1ib2xgO2JyZWFrO2Nhc2Vgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nYDpjYXNlYHN1cHByZXNzSHlkcmF0aW9uV2FybmluZ2A6Y2FzZWBkZWZhdWx0VmFsdWVgOmNhc2VgZGVmYXVsdENoZWNrZWRgOmNhc2VgaW5uZXJIVE1MYDpjYXNlYHJlZmA6YnJlYWs7Y2FzZWBhdXRvRm9jdXNgOmJyZWFrO2Nhc2VgeGxpbmtIcmVmYDppZihyPT1udWxsfHx0eXBlb2Ygcj09YGZ1bmN0aW9uYHx8dHlwZW9mIHI9PWBib29sZWFuYHx8dHlwZW9mIHI9PWBzeW1ib2xgKXtlLnJlbW92ZUF0dHJpYnV0ZShgeGxpbms6aHJlZmApO2JyZWFrfW49VG4ociksZS5zZXRBdHRyaWJ1dGVOUyhgaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua2AsYHhsaW5rOmhyZWZgLG4pO2JyZWFrO2Nhc2VgY29udGVudEVkaXRhYmxlYDpjYXNlYHNwZWxsQ2hlY2tgOmNhc2VgZHJhZ2dhYmxlYDpjYXNlYHZhbHVlYDpjYXNlYGF1dG9SZXZlcnNlYDpjYXNlYGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRgOmNhc2VgZm9jdXNhYmxlYDpjYXNlYHByZXNlcnZlQWxwaGFgOnIhPW51bGwmJnR5cGVvZiByIT1gZnVuY3Rpb25gJiZ0eXBlb2YgciE9YHN5bWJvbGA_ZS5zZXRBdHRyaWJ1dGUobixyKTplLnJlbW92ZUF0dHJpYnV0ZShuKTticmVhaztjYXNlYGluZXJ0YDpjYXNlYGFsbG93RnVsbFNjcmVlbmA6Y2FzZWBhc3luY2A6Y2FzZWBhdXRvUGxheWA6Y2FzZWBjb250cm9sc2A6Y2FzZWBjcmVkZW50aWFsbGVzc2A6Y2FzZWBkZWZhdWx0YDpjYXNlYGRlZmVyYDpjYXNlYGRpc2FibGVkYDpjYXNlYGRpc2FibGVQaWN0dXJlSW5QaWN0dXJlYDpjYXNlYGRpc2FibGVSZW1vdGVQbGF5YmFja2A6Y2FzZWBmb3JtTm9WYWxpZGF0ZWA6Y2FzZWBoaWRkZW5gOmNhc2VgbG9vcGA6Y2FzZWBub01vZHVsZWA6Y2FzZWBub1ZhbGlkYXRlYDpjYXNlYG9wZW5gOmNhc2VgcGxheXNJbmxpbmVgOmNhc2VgcmVhZE9ubHlgOmNhc2VgcmVxdWlyZWRgOmNhc2VgcmV2ZXJzZWRgOmNhc2Vgc2NvcGVkYDpjYXNlYHNlYW1sZXNzYDpjYXNlYGl0ZW1TY29wZWA6ciYmdHlwZW9mIHIhPWBmdW5jdGlvbmAmJnR5cGVvZiByIT1gc3ltYm9sYD9lLnNldEF0dHJpYnV0ZShuLGBgKTplLnJlbW92ZUF0dHJpYnV0ZShuKTticmVhaztjYXNlYGNhcHR1cmVgOmNhc2VgZG93bmxvYWRgOiEwPT09cj9lLnNldEF0dHJpYnV0ZShuLGBgKTohMSE9PXImJnIhPW51bGwmJnR5cGVvZiByIT1gZnVuY3Rpb25gJiZ0eXBlb2YgciE9YHN5bWJvbGA_ZS5zZXRBdHRyaWJ1dGUobixyKTplLnJlbW92ZUF0dHJpYnV0ZShuKTticmVhaztjYXNlYGNvbHNgOmNhc2Vgcm93c2A6Y2FzZWBzaXplYDpjYXNlYHNwYW5gOnIhPW51bGwmJnR5cGVvZiByIT1gZnVuY3Rpb25gJiZ0eXBlb2YgciE9YHN5bWJvbGAmJiFpc05hTihyKSYmMTw9cj9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2Vgcm93U3BhbmA6Y2FzZWBzdGFydGA6cj09bnVsbHx8dHlwZW9mIHI9PWBmdW5jdGlvbmB8fHR5cGVvZiByPT1gc3ltYm9sYHx8aXNOYU4ocik_ZS5yZW1vdmVBdHRyaWJ1dGUobik6ZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlYHBvcG92ZXJgOlEoYGJlZm9yZXRvZ2dsZWAsZSksUShgdG9nZ2xlYCxlKSx0bihlLGBwb3BvdmVyYCxyKTticmVhaztjYXNlYHhsaW5rQWN0dWF0ZWA6cm4oZSxgaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua2AsYHhsaW5rOmFjdHVhdGVgLHIpO2JyZWFrO2Nhc2VgeGxpbmtBcmNyb2xlYDpybihlLGBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rYCxgeGxpbms6YXJjcm9sZWAscik7YnJlYWs7Y2FzZWB4bGlua1JvbGVgOnJuKGUsYGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtgLGB4bGluazpyb2xlYCxyKTticmVhaztjYXNlYHhsaW5rU2hvd2A6cm4oZSxgaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua2AsYHhsaW5rOnNob3dgLHIpO2JyZWFrO2Nhc2VgeGxpbmtUaXRsZWA6cm4oZSxgaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua2AsYHhsaW5rOnRpdGxlYCxyKTticmVhaztjYXNlYHhsaW5rVHlwZWA6cm4oZSxgaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua2AsYHhsaW5rOnR5cGVgLHIpO2JyZWFrO2Nhc2VgeG1sQmFzZWA6cm4oZSxgaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlYCxgeG1sOmJhc2VgLHIpO2JyZWFrO2Nhc2VgeG1sTGFuZ2A6cm4oZSxgaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlYCxgeG1sOmxhbmdgLHIpO2JyZWFrO2Nhc2VgeG1sU3BhY2VgOnJuKGUsYGh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZWAsYHhtbDpzcGFjZWAscik7YnJlYWs7Y2FzZWBpc2A6dG4oZSxgaXNgLHIpO2JyZWFrO2Nhc2VgaW5uZXJUZXh0YDpjYXNlYHRleHRDb250ZW50YDpyZXR1cm47ZGVmYXVsdDppZighKDI8bi5sZW5ndGgpfHxuWzBdIT09YG9gJiZuWzBdIT09YE9gfHxuWzFdIT09YG5gJiZuWzFdIT09YE5gKW49Q24uZ2V0KG4pfHxuLHRuKGUsbixyKTtlbHNlIHJldHVybn1qPSEwfWZ1bmN0aW9uIHRwKGUsdCxuLHIsYSxvKXtzd2l0Y2gobil7Y2FzZWBzdHlsZWA6eG4oZSxyLG8pO3JldHVybjtjYXNlYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYDppZihyIT1udWxsKXtpZih0eXBlb2YgciE9YG9iamVjdGB8fCEoYF9faHRtbGBpbiByKSl0aHJvdyBFcnJvcihpKDYxKSk7aWYobj1yLl9faHRtbCxuIT1udWxsKXtpZihhLmNoaWxkcmVuIT1udWxsKXRocm93IEVycm9yKGkoNjApKTtvPy5fX2h0bWwhPT1uJiYoZS5pbm5lckhUTUw9bil9fWJyZWFrO2Nhc2VgY2hpbGRyZW5gOmlmKHR5cGVvZiByPT1gc3RyaW5nYCl2bihlLHIpO2Vsc2UgaWYodHlwZW9mIHI9PWBudW1iZXJgfHx0eXBlb2Ygcj09YGJpZ2ludGApdm4oZSxgYCtyKTtlbHNlIHJldHVybjticmVhaztjYXNlYG9uU2Nyb2xsYDpyIT1udWxsJiZRKGBzY3JvbGxgLGUpO3JldHVybjtjYXNlYG9uU2Nyb2xsRW5kYDpyIT1udWxsJiZRKGBzY3JvbGxlbmRgLGUpO3JldHVybjtjYXNlYG9uQ2xpY2tgOnIhPW51bGwmJihlLm9uY2xpY2s9RW4pO3JldHVybjtjYXNlYHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZ2A6Y2FzZWBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdgOmNhc2VgaW5uZXJIVE1MYDpjYXNlYHJlZmA6cmV0dXJuO2Nhc2VgaW5uZXJUZXh0YDpjYXNlYHRleHRDb250ZW50YDpyZXR1cm47ZGVmYXVsdDppZighcXQuaGFzT3duUHJvcGVydHkobikpYTp7aWYoblswXT09PWBvYCYmblsxXT09PWBuYCYmKGE9bi5lbmRzV2l0aChgQ2FwdHVyZWApLG89bi5zbGljZSgyLGE_bi5sZW5ndGgtNzp2b2lkIDApLHQ9ZVtqdF18fG51bGwsdD10PT1udWxsP251bGw6dFtuXSx0eXBlb2YgdD09YGZ1bmN0aW9uYCYmZS5yZW1vdmVFdmVudExpc3RlbmVyKG8sdCxhKSx0eXBlb2Ygcj09YGZ1bmN0aW9uYCkpe3R5cGVvZiB0IT1gZnVuY3Rpb25gJiZ0IT09bnVsbCYmKG4gaW4gZT9lW25dPW51bGw6ZS5oYXNBdHRyaWJ1dGUobikmJmUucmVtb3ZlQXR0cmlidXRlKG4pKSxlLmFkZEV2ZW50TGlzdGVuZXIobyxyLGEpO2JyZWFrIGF9aj0hMCxuIGluIGU_ZVtuXT1yOiEwPT09cj9lLnNldEF0dHJpYnV0ZShuLGBgKTp0bihlLG4scil9cmV0dXJufWo9ITB9ZnVuY3Rpb24gbnAoZSx0LG4pe3N3aXRjaCh0KXtjYXNlYGRpdmA6Y2FzZWBzcGFuYDpjYXNlYHN2Z2A6Y2FzZWBwYXRoYDpjYXNlYGFgOmNhc2VgZ2A6Y2FzZWBwYDpjYXNlYGxpYDpicmVhaztjYXNlYGltZ2A6UShgZXJyb3JgLGUpLFEoYGxvYWRgLGUpO3ZhciByPSExLGE9ITEsbztmb3IobyBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkobykpe3ZhciBzPW5bb107aWYocyE9bnVsbClzd2l0Y2gobyl7Y2FzZWBzcmNgOnI9ITA7YnJlYWs7Y2FzZWBzcmNTZXRgOmE9ITA7YnJlYWs7Y2FzZWBjaGlsZHJlbmA6Y2FzZWBkYW5nZXJvdXNseVNldElubmVySFRNTGA6dGhyb3cgRXJyb3IoaSgxMzcsdCkpO2RlZmF1bHQ6JChlLHQsbyxzLG4sbnVsbCl9fWEmJiQoZSx0LGBzcmNTZXRgLG4uc3JjU2V0LG4sbnVsbCksciYmJChlLHQsYHNyY2Asbi5zcmMsbixudWxsKTtyZXR1cm47Y2FzZWBpbnB1dGA6UShgaW52YWxpZGAsZSk7dmFyIGM9bz1zPWE9bnVsbCxsPW51bGwsdT1udWxsO2ZvcihyIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSl7dmFyIGQ9bltyXTtpZihkIT1udWxsKXN3aXRjaChyKXtjYXNlYG5hbWVgOmE9ZDticmVhaztjYXNlYHR5cGVgOnM9ZDticmVhaztjYXNlYGNoZWNrZWRgOmw9ZDticmVhaztjYXNlYGRlZmF1bHRDaGVja2VkYDp1PWQ7YnJlYWs7Y2FzZWB2YWx1ZWA6bz1kO2JyZWFrO2Nhc2VgZGVmYXVsdFZhbHVlYDpjPWQ7YnJlYWs7Y2FzZWBjaGlsZHJlbmA6Y2FzZWBkYW5nZXJvdXNseVNldElubmVySFRNTGA6aWYoZCE9bnVsbCl0aHJvdyBFcnJvcihpKDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDokKGUsdCxyLGQsbixudWxsKX19cG4oZSxvLGMsbCx1LHMsYSwhMSk7cmV0dXJuO2Nhc2Vgc2VsZWN0YDpmb3IoYSBpbiBRKGBpbnZhbGlkYCxlKSxyPXM9bz1udWxsLG4paWYobi5oYXNPd25Qcm9wZXJ0eShhKSYmKGM9blthXSxjIT1udWxsKSlzd2l0Y2goYSl7Y2FzZWB2YWx1ZWA6bz1jO2JyZWFrO2Nhc2VgZGVmYXVsdFZhbHVlYDpzPWM7YnJlYWs7Y2FzZWBtdWx0aXBsZWA6cj1jO2RlZmF1bHQ6JChlLHQsYSxjLG4sbnVsbCl9dD1vLG49cyxlLm11bHRpcGxlPSEhcix0PT1udWxsP24hPW51bGwmJmhuKGUsISFyLG4sITApOmhuKGUsISFyLHQsITEpO3JldHVybjtjYXNlYHRleHRhcmVhYDpmb3IocyBpbiBRKGBpbnZhbGlkYCxlKSxvPWE9cj1udWxsLG4paWYobi5oYXNPd25Qcm9wZXJ0eShzKSYmKGM9bltzXSxjIT1udWxsKSlzd2l0Y2gocyl7Y2FzZWB2YWx1ZWA6cj1jO2JyZWFrO2Nhc2VgZGVmYXVsdFZhbHVlYDphPWM7YnJlYWs7Y2FzZWBjaGlsZHJlbmA6bz1jO2JyZWFrO2Nhc2VgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgOmlmKGMhPW51bGwpdGhyb3cgRXJyb3IoaSg5MSkpO2JyZWFrO2RlZmF1bHQ6JChlLHQscyxjLG4sbnVsbCl9X24oZSxyLGEsbyk7cmV0dXJuO2Nhc2Vgb3B0aW9uYDpmb3IobCBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkobCkmJihyPW5bbF0sciE9bnVsbCkpc3dpdGNoKGwpe2Nhc2Vgc2VsZWN0ZWRgOmUuc2VsZWN0ZWQ9ciYmdHlwZW9mIHIhPWBmdW5jdGlvbmAmJnR5cGVvZiByIT1gc3ltYm9sYDticmVhaztkZWZhdWx0OiQoZSx0LGwscixuLG51bGwpfXJldHVybjtjYXNlYGRpYWxvZ2A6UShgYmVmb3JldG9nZ2xlYCxlKSxRKGB0b2dnbGVgLGUpLFEoYGNhbmNlbGAsZSksUShgY2xvc2VgLGUpO2JyZWFrO2Nhc2VgaWZyYW1lYDpjYXNlYG9iamVjdGA6UShgbG9hZGAsZSk7YnJlYWs7Y2FzZWB2aWRlb2A6Y2FzZWBhdWRpb2A6Zm9yKHI9MDtyPHpmLmxlbmd0aDtyKyspUSh6ZltyXSxlKTticmVhaztjYXNlYGltYWdlYDpRKGBlcnJvcmAsZSksUShgbG9hZGAsZSk7YnJlYWs7Y2FzZWBkZXRhaWxzYDpRKGB0b2dnbGVgLGUpO2JyZWFrO2Nhc2VgZW1iZWRgOmNhc2Vgc291cmNlYDpjYXNlYGxpbmtgOlEoYGVycm9yYCxlKSxRKGBsb2FkYCxlKTtjYXNlYGFyZWFgOmNhc2VgYmFzZWA6Y2FzZWBicmA6Y2FzZWBjb2xgOmNhc2VgaHJgOmNhc2Vga2V5Z2VuYDpjYXNlYG1ldGFgOmNhc2VgcGFyYW1gOmNhc2VgdHJhY2tgOmNhc2Vgd2JyYDpjYXNlYG1lbnVpdGVtYDpmb3IodSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkodSkmJihyPW5bdV0sciE9bnVsbCkpc3dpdGNoKHUpe2Nhc2VgY2hpbGRyZW5gOmNhc2VgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgOnRocm93IEVycm9yKGkoMTM3LHQpKTtkZWZhdWx0OiQoZSx0LHUscixuLG51bGwpfXJldHVybjtkZWZhdWx0OmlmKFNuKHQpKXtmb3IoZCBpbiBuKW4uaGFzT3duUHJvcGVydHkoZCkmJihyPW5bZF0sciE9PXZvaWQgMCYmdHAoZSx0LGQscixuLHZvaWQgMCkpO3JldHVybn19Zm9yKGMgaW4gbiluLmhhc093blByb3BlcnR5KGMpJiYocj1uW2NdLHIhPW51bGwmJiQoZSx0LGMscixuLG51bGwpKX12YXIgcnA9e307ZnVuY3Rpb24gaXAoZSx0LG4scil7c3dpdGNoKHQpe2Nhc2VgZGl2YDpjYXNlYHNwYW5gOmNhc2Vgc3ZnYDpjYXNlYHBhdGhgOmNhc2VgYWA6Y2FzZWBnYDpjYXNlYHBgOmNhc2VgbGlgOmJyZWFrO2Nhc2VgaW5wdXRgOnZhciBhPW51bGwsbz1udWxsLHM9bnVsbCxjPW51bGwsbD1udWxsLHU9bnVsbCxkPW51bGw7Zm9yKG0gaW4gbil7dmFyIGY9blttXTtpZihuLmhhc093blByb3BlcnR5KG0pJiZmIT1udWxsKXN3aXRjaChtKXtjYXNlYGNoZWNrZWRgOmJyZWFrO2Nhc2VgdmFsdWVgOmJyZWFrO2Nhc2VgZGVmYXVsdFZhbHVlYDpsPWY7ZGVmYXVsdDpyLmhhc093blByb3BlcnR5KG0pfHwkKGUsdCxtLG51bGwscixmKX19Zm9yKHZhciBwIGluIHIpe3ZhciBtPXJbcF07aWYoZj1uW3BdLHIuaGFzT3duUHJvcGVydHkocCkmJihtIT1udWxsfHxmIT1udWxsKSlzd2l0Y2gocCl7Y2FzZWB0eXBlYDptIT09ZiYmKGo9ITApLG89bTticmVhaztjYXNlYG5hbWVgOm0hPT1mJiYoaj0hMCksYT1tO2JyZWFrO2Nhc2VgY2hlY2tlZGA6bSE9PWYmJihqPSEwKSx1PW07YnJlYWs7Y2FzZWBkZWZhdWx0Q2hlY2tlZGA6bSE9PWYmJihqPSEwKSxkPW07YnJlYWs7Y2FzZWB2YWx1ZWA6bSE9PWYmJihqPSEwKSxzPW07YnJlYWs7Y2FzZWBkZWZhdWx0VmFsdWVgOm0hPT1mJiYoaj0hMCksYz1tO2JyZWFrO2Nhc2VgY2hpbGRyZW5gOmNhc2VgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgOmlmKG0hPW51bGwpdGhyb3cgRXJyb3IoaSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6bSE9PWYmJiQoZSx0LHAsbSxyLGYpfX1mbihlLHMsYyxsLHUsZCxvLGEpO3JldHVybjtjYXNlYHNlbGVjdGA6Zm9yKG8gaW4gbT1zPWM9cD1udWxsLG4paWYobD1uW29dLG4uaGFzT3duUHJvcGVydHkobykmJmwhPW51bGwpc3dpdGNoKG8pe2Nhc2VgdmFsdWVgOmJyZWFrO2Nhc2VgbXVsdGlwbGVgOm09bDtkZWZhdWx0OnIuaGFzT3duUHJvcGVydHkobyl8fCQoZSx0LG8sbnVsbCxyLGwpfWZvcihhIGluIHIpaWYobz1yW2FdLGw9blthXSxyLmhhc093blByb3BlcnR5KGEpJiYobyE9bnVsbHx8bCE9bnVsbCkpc3dpdGNoKGEpe2Nhc2VgdmFsdWVgOm8hPT1sJiYoaj0hMCkscD1vO2JyZWFrO2Nhc2VgZGVmYXVsdFZhbHVlYDpvIT09bCYmKGo9ITApLGM9bzticmVhaztjYXNlYG11bHRpcGxlYDpvIT09bCYmKGo9ITApLHM9bztkZWZhdWx0Om8hPT1sJiYkKGUsdCxhLG8scixsKX10PWMsbj1zLHI9bSxwPT1udWxsPyEhciE9ISFuJiYodD09bnVsbD9obihlLCEhbixuP1tdOmBgLCExKTpobihlLCEhbix0LCEwKSk6aG4oZSwhIW4scCwhMSk7cmV0dXJuO2Nhc2VgdGV4dGFyZWFgOmZvcihjIGluIG09cD1udWxsLG4paWYoYT1uW2NdLG4uaGFzT3duUHJvcGVydHkoYykmJmEhPW51bGwmJiFyLmhhc093blByb3BlcnR5KGMpKXN3aXRjaChjKXtjYXNlYHZhbHVlYDpicmVhaztjYXNlYGNoaWxkcmVuYDpicmVhaztkZWZhdWx0OiQoZSx0LGMsbnVsbCxyLGEpfWZvcihzIGluIHIpaWYoYT1yW3NdLG89bltzXSxyLmhhc093blByb3BlcnR5KHMpJiYoYSE9bnVsbHx8byE9bnVsbCkpc3dpdGNoKHMpe2Nhc2VgdmFsdWVgOmEhPT1vJiYoaj0hMCkscD1hO2JyZWFrO2Nhc2VgZGVmYXVsdFZhbHVlYDphIT09byYmKGo9ITApLG09YTticmVhaztjYXNlYGNoaWxkcmVuYDpicmVhaztjYXNlYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYDppZihhIT1udWxsKXRocm93IEVycm9yKGkoOTEpKTticmVhaztkZWZhdWx0OmEhPT1vJiYkKGUsdCxzLGEscixvKX1nbihlLHAsbSk7cmV0dXJuO2Nhc2Vgb3B0aW9uYDpmb3IodmFyIGggaW4gbilpZihwPW5baF0sbi5oYXNPd25Qcm9wZXJ0eShoKSYmcCE9bnVsbCYmIXIuaGFzT3duUHJvcGVydHkoaCkpc3dpdGNoKGgpe2Nhc2Vgc2VsZWN0ZWRgOmUuc2VsZWN0ZWQ9ITE7YnJlYWs7ZGVmYXVsdDokKGUsdCxoLG51bGwscixwKX1mb3IobCBpbiByKWlmKHA9cltsXSxtPW5bbF0sci5oYXNPd25Qcm9wZXJ0eShsKSYmcCE9PW0mJihwIT1udWxsfHxtIT1udWxsKSlzd2l0Y2gobCl7Y2FzZWBzZWxlY3RlZGA6cCE9PW0mJihqPSEwKSxlLnNlbGVjdGVkPXAmJnR5cGVvZiBwIT1gZnVuY3Rpb25gJiZ0eXBlb2YgcCE9YHN5bWJvbGA7YnJlYWs7ZGVmYXVsdDokKGUsdCxsLHAscixtKX1yZXR1cm47Y2FzZWBpbWdgOmNhc2VgbGlua2A6Y2FzZWBhcmVhYDpjYXNlYGJhc2VgOmNhc2VgYnJgOmNhc2VgY29sYDpjYXNlYGVtYmVkYDpjYXNlYGhyYDpjYXNlYGtleWdlbmA6Y2FzZWBtZXRhYDpjYXNlYHBhcmFtYDpjYXNlYHNvdXJjZWA6Y2FzZWB0cmFja2A6Y2FzZWB3YnJgOmNhc2VgbWVudWl0ZW1gOmZvcih2YXIgZyBpbiBuKXA9bltnXSxuLmhhc093blByb3BlcnR5KGcpJiZwIT1udWxsJiYhci5oYXNPd25Qcm9wZXJ0eShnKSYmJChlLHQsZyxudWxsLHIscCk7Zm9yKHUgaW4gcilpZihwPXJbdV0sbT1uW3VdLHIuaGFzT3duUHJvcGVydHkodSkmJnAhPT1tJiYocCE9bnVsbHx8bSE9bnVsbCkpc3dpdGNoKHUpe2Nhc2VgY2hpbGRyZW5gOmNhc2VgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgOmlmKHAhPW51bGwpdGhyb3cgRXJyb3IoaSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6JChlLHQsdSxwLHIsbSl9cmV0dXJuO2RlZmF1bHQ6aWYoU24odCkpe2Zvcih2YXIgXyBpbiBuKXA9bltfXSxuLmhhc093blByb3BlcnR5KF8pJiZwIT09dm9pZCAwJiYhci5oYXNPd25Qcm9wZXJ0eShfKSYmdHAoZSx0LF8sdm9pZCAwLHIscCk7Zm9yKGQgaW4gcilwPXJbZF0sbT1uW2RdLCFyLmhhc093blByb3BlcnR5KGQpfHxwPT09bXx8cD09PXZvaWQgMCYmbT09PXZvaWQgMHx8dHAoZSx0LGQscCxyLG0pO3JldHVybn19Zm9yKHZhciB2IGluIG4pcD1uW3ZdLG4uaGFzT3duUHJvcGVydHkodikmJnAhPW51bGwmJiFyLmhhc093blByb3BlcnR5KHYpJiYkKGUsdCx2LG51bGwscixwKTtmb3IoZiBpbiByKXA9cltmXSxtPW5bZl0sIXIuaGFzT3duUHJvcGVydHkoZil8fHA9PT1tfHxwPT1udWxsJiZtPT1udWxsfHwkKGUsdCxmLHAscixtKX1mdW5jdGlvbiBhcChlKXtzd2l0Y2goZSl7Y2FzZWBjc3NgOmNhc2Vgc2NyaXB0YDpjYXNlYGZvbnRgOmNhc2VgaW1nYDpjYXNlYGltYWdlYDpjYXNlYGlucHV0YDpjYXNlYGxpbmtgOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIG9wKCl7aWYodHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGU9PWBmdW5jdGlvbmApe2Zvcih2YXIgZT0wLHQ9MCxuPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoYHJlc291cmNlYCkscj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1uW3JdLGE9aS50cmFuc2ZlclNpemUsbz1pLmluaXRpYXRvclR5cGUscz1pLmR1cmF0aW9uO2lmKGEmJnMmJmFwKG8pKXtmb3Iobz0wLHM9aS5yZXNwb25zZUVuZCxyKz0xO3I8bi5sZW5ndGg7cisrKXt2YXIgYz1uW3JdLGw9Yy5zdGFydFRpbWU7aWYobD5zKWJyZWFrO3ZhciB1PWMudHJhbnNmZXJTaXplLGQ9Yy5pbml0aWF0b3JUeXBlO3UmJmFwKGQpJiYoYz1jLnJlc3BvbnNlRW5kLG8rPXUqKGM8cz8xOihzLWwpLyhjLWwpKSl9aWYoLS1yLHQrPTgqKGErbykvKGkuZHVyYXRpb24vMWUzKSxlKyssMTA8ZSlicmVha319aWYoMDxlKXJldHVybiB0L2UvMWU2fXJldHVybiBuYXZpZ2F0b3IuY29ubmVjdGlvbiYmKGU9bmF2aWdhdG9yLmNvbm5lY3Rpb24uZG93bmxpbmssdHlwZW9mIGU9PWBudW1iZXJgKT9lOjV9dmFyIHNwPW51bGwsY3A9bnVsbDtmdW5jdGlvbiBscChlKXtyZXR1cm4gZS5ub2RlVHlwZT09PTk_ZTplLm93bmVyRG9jdW1lbnR9ZnVuY3Rpb24gdXAoZSl7c3dpdGNoKGUpe2Nhc2VgaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdgOnJldHVybiAxO2Nhc2VgaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTGA6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19ZnVuY3Rpb24gZHAoZSx0KXtpZihlPT09MClzd2l0Y2godCl7Y2FzZWBzdmdgOnJldHVybiAxO2Nhc2VgbWF0aGA6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH1yZXR1cm4gZT09PTEmJnQ9PT1gZm9yZWlnbk9iamVjdGA_MDplfWZ1bmN0aW9uIGZwKGUsdCxuLHIpe3JldHVybiBuPWxwKG4pLmNyZWF0ZUVsZW1lbnQoZSksbltBdF09cixuW2p0XT10LG5wKG4sZSx0KSxXdChuKSxufWZ1bmN0aW9uIHBwKGUsdCl7cmV0dXJuIGU9PT1gdGV4dGFyZWFgfHxlPT09YG5vc2NyaXB0YHx8dHlwZW9mIHQuY2hpbGRyZW49PWBzdHJpbmdgfHx0eXBlb2YgdC5jaGlsZHJlbj09YG51bWJlcmB8fHR5cGVvZiB0LmNoaWxkcmVuPT1gYmlnaW50YHx8dHlwZW9mIHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9PWBvYmplY3RgJiZ0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIT09bnVsbCYmdC5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwhPW51bGx9dmFyIG1wPW51bGw7ZnVuY3Rpb24gaHAoKXt2YXIgZT13aW5kb3cuZXZlbnQ7cmV0dXJuIGUmJmUudHlwZT09PWBwb3BzdGF0ZWA_ZSE9PW1wJiYobXA9ZSwhMCk6KG1wPW51bGwsITEpfXZhciBncD10eXBlb2Ygc2V0VGltZW91dD09YGZ1bmN0aW9uYD9zZXRUaW1lb3V0OnZvaWQgMCxfcD10eXBlb2YgY2xlYXJUaW1lb3V0PT1gZnVuY3Rpb25gP2NsZWFyVGltZW91dDp2b2lkIDAsdnA9dHlwZW9mIFByb21pc2U9PWBmdW5jdGlvbmA_UHJvbWlzZTp2b2lkIDAseXA9dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT09YGZ1bmN0aW9uYD9yZXF1ZXN0QW5pbWF0aW9uRnJhbWU6Z3AsYnA9dHlwZW9mIHF1ZXVlTWljcm90YXNrPT1gZnVuY3Rpb25gP3F1ZXVlTWljcm90YXNrOnZwPT09dm9pZCAwP2dwOmZ1bmN0aW9uKGUpe3JldHVybiB2cC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2goeHApfTtmdW5jdGlvbiB4cChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfWZ1bmN0aW9uIFNwKGUpe3JldHVybiBlPT09YGhlYWRgfWZ1bmN0aW9uIENwKGUsdCl7dmFyIG49dCxyPTA7ZG97dmFyIGk9bi5uZXh0U2libGluZztpZihlLnJlbW92ZUNoaWxkKG4pLGkmJmkubm9kZVR5cGU9PT04KXtpZihuPWkuZGF0YSxuPT09YC8kYHx8bj09PWAvJmApe2lmKHI9PT0wKXtlLnJlbW92ZUNoaWxkKGkpLEhoKHQpO3JldHVybn1yLS19ZWxzZSBpZihuPT09YCRgfHxuPT09YCQ_YHx8bj09PWAkfmB8fG49PT1gJCFgfHxuPT09YCZgKXIrKztlbHNlIGlmKG49PT1gaHRtbGApX20oZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7ZWxzZSBpZihuPT09YGhlYWRgKXtuPWUub3duZXJEb2N1bWVudC5oZWFkLF9tKG4pO2Zvcih2YXIgYT1uLmZpcnN0Q2hpbGQ7YTspe3ZhciBvPWEubmV4dFNpYmxpbmcscz1hLm5vZGVOYW1lO2FbTHRdfHxzPT09YFNDUklQVGB8fHM9PT1gU1RZTEVgfHxzPT09YExJTktgJiZhLnJlbC50b0xvd2VyQ2FzZSgpPT09YHN0eWxlc2hlZXRgfHxuLnJlbW92ZUNoaWxkKGEpLGE9b319ZWxzZSBuPT09YGJvZHlgJiZfbShlLm93bmVyRG9jdW1lbnQuYm9keSl9bj1pfXdoaWxlKG4pO0hoKHQpfWZ1bmN0aW9uIHdwKGUsdCl7dmFyIG49ZTtlPTA7ZG97dmFyIHI9bi5uZXh0U2libGluZztpZihuLm5vZGVUeXBlPT09MT90PyhuLl9zdGFzaGVkRGlzcGxheT1uLnN0eWxlLmRpc3BsYXksbi5zdHlsZS5kaXNwbGF5PWBub25lYCk6KG4uc3R5bGUuZGlzcGxheT1uLl9zdGFzaGVkRGlzcGxheXx8YGAsbi5nZXRBdHRyaWJ1dGUoYHN0eWxlYCk9PT1gYCYmbi5yZW1vdmVBdHRyaWJ1dGUoYHN0eWxlYCkpOm4ubm9kZVR5cGU9PT0zJiYodD8obi5fc3Rhc2hlZFRleHQ9bi5ub2RlVmFsdWUsbi5ub2RlVmFsdWU9YGApOm4ubm9kZVZhbHVlPW4uX3N0YXNoZWRUZXh0fHxgYCksciYmci5ub2RlVHlwZT09PTgpe2lmKG49ci5kYXRhLG49PT1gLyRgKXtpZihlPT09MClicmVhaztlLS19ZWxzZSBuIT09YCRgJiZuIT09YCQ_YCYmbiE9PWAkfmAmJm4hPT1gJCFgfHxlKyt9bj1yfXdoaWxlKG4pfWZ1bmN0aW9uIFRwKGUsdCxuKXtpZih0PUNTUy5lc2NhcGUodCk9PT10P3Q6YHItYCtidG9hKHQpLnJlcGxhY2UoLz0vZyxgYCksZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9dCxuIT1udWxsJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbkNsYXNzPW4pLG49Z2V0Q29tcHV0ZWRTdHlsZShlKSxuLmRpc3BsYXk9PT1gaW5saW5lYCl7aWYodD1lLmdldENsaWVudFJlY3RzKCksdC5sZW5ndGg9PT0xKXZhciByPTE7ZWxzZSBmb3IodmFyIGk9cj0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT10W2ldOzA8YS53aWR0aCYmMDxhLmhlaWdodCYmcisrfXI9PT0xJiYoZT1lLnN0eWxlLGUuZGlzcGxheT10Lmxlbmd0aD09PTE_YGlubGluZS1ibG9ja2A6YGJsb2NrYCxlLm1hcmdpblRvcD1gLWArbi5wYWRkaW5nVG9wLGUubWFyZ2luQm90dG9tPWAtYCtuLnBhZGRpbmdCb3R0b20pfX1mdW5jdGlvbiBFcChlLHQpe2U9ZS5zdHlsZSx0PXQuc3R5bGU7dmFyIG49dD09bnVsbD9udWxsOnQuaGFzT3duUHJvcGVydHkoYHZpZXdUcmFuc2l0aW9uTmFtZWApP3Qudmlld1RyYW5zaXRpb25OYW1lOnQuaGFzT3duUHJvcGVydHkoYHZpZXctdHJhbnNpdGlvbi1uYW1lYCk_dFtgdmlldy10cmFuc2l0aW9uLW5hbWVgXTpudWxsO2Uudmlld1RyYW5zaXRpb25OYW1lPW49PW51bGx8fHR5cGVvZiBuPT1gYm9vbGVhbmA_YGA6KGBgK24pLnRyaW0oKSxuPXQ9PW51bGw_bnVsbDp0Lmhhc093blByb3BlcnR5KGB2aWV3VHJhbnNpdGlvbkNsYXNzYCk_dC52aWV3VHJhbnNpdGlvbkNsYXNzOnQuaGFzT3duUHJvcGVydHkoYHZpZXctdHJhbnNpdGlvbi1jbGFzc2ApP3RbYHZpZXctdHJhbnNpdGlvbi1jbGFzc2BdOm51bGwsZS52aWV3VHJhbnNpdGlvbkNsYXNzPW49PW51bGx8fHR5cGVvZiBuPT1gYm9vbGVhbmA_YGA6KGBgK24pLnRyaW0oKSxlLmRpc3BsYXk9PT1gaW5saW5lLWJsb2NrYCYmKHQ9PW51bGw_ZS5kaXNwbGF5PWUubWFyZ2luPWBgOihuPXQuZGlzcGxheSxlLmRpc3BsYXk9bj09bnVsbHx8dHlwZW9mIG49PWBib29sZWFuYD9gYDpuLG49dC5tYXJnaW4sbj09bnVsbD8obj10Lmhhc093blByb3BlcnR5KGBtYXJnaW5Ub3BgKT90Lm1hcmdpblRvcDp0W2BtYXJnaW4tdG9wYF0sZS5tYXJnaW5Ub3A9bj09bnVsbHx8dHlwZW9mIG49PWBib29sZWFuYD9gYDpuLHQ9dC5oYXNPd25Qcm9wZXJ0eShgbWFyZ2luQm90dG9tYCk_dC5tYXJnaW5Cb3R0b206dFtgbWFyZ2luLWJvdHRvbWBdLGUubWFyZ2luQm90dG9tPXQ9PW51bGx8fHR5cGVvZiB0PT1gYm9vbGVhbmA_YGA6dCk6ZS5tYXJnaW49bikpfWZ1bmN0aW9uIERwKGUsdCxuKXtyZXR1cm4gbj1uLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcse3JlY3Q6ZSxhYnM6dC5wb3NpdGlvbj09PWBhYnNvbHV0ZWB8fHQucG9zaXRpb249PT1gZml4ZWRgLGNsaXA6dC5jbGlwUGF0aCE9PWBub25lYHx8dC5vdmVyZmxvdyE9PWB2aXNpYmxlYHx8dC5maWx0ZXIhPT1gbm9uZWB8fHQubWFzayE9PWBub25lYHx8dC5tYXNrIT09YG5vbmVgfHx0LmJvcmRlclJhZGl1cyE9PWAwcHhgLHZpZXc6MDw9ZS5ib3R0b20mJjA8PWUucmlnaHQmJmUudG9wPD1uLmlubmVySGVpZ2h0JiZlLmxlZnQ8PW4uaW5uZXJXaWR0aH19ZnVuY3Rpb24gT3AoZSl7cmV0dXJuIERwKGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZ2V0Q29tcHV0ZWRTdHlsZShlKSxlKX1mdW5jdGlvbiBrcChlKXt2YXIgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3Q9bmV3IERPTVJlY3QodC54KzJlNCx0LnkrMmU0LHQud2lkdGgsdC5oZWlnaHQpO3ZhciBuPWdldENvbXB1dGVkU3R5bGUoZSk7cmV0dXJuIERwKHQsbixlKX1mdW5jdGlvbiBBcChlKXtyZXR1cm4gZS5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0fWZ1bmN0aW9uIGpwKGUpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihgbG9hZGAsZSksdGhpcy5hZGRFdmVudExpc3RlbmVyKGBlcnJvcmAsZSl9ZnVuY3Rpb24gTXAoZSx0LG4scixpLGEsbyxzLGMpe3ZhciBsPXQubm9kZVR5cGU9PT05P3Q6dC5vd25lckRvY3VtZW50O3RyeXt2YXIgdT1sLnN0YXJ0Vmlld1RyYW5zaXRpb24oe3VwZGF0ZTpmdW5jdGlvbigpe3ZhciB0PWwuZGVmYXVsdFZpZXcsbj10Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi50cmFuc2l0aW9uLG89bC5mb250cy5zdGF0dXM7cigpO3ZhciBzPVtdO2lmKG89PT1gbG9hZGVkYCYmKEFwKGwpLGwuZm9udHMuc3RhdHVzPT09YGxvYWRpbmdgJiZzLnB1c2gobC5mb250cy5yZWFkeSkpLG89cy5sZW5ndGgsZSE9PW51bGwpZm9yKHZhciBjPWUuc3VzcGVuc2V5SW1hZ2VzLHU9MCxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWNbZF07aWYoIWYuY29tcGxldGUpe3ZhciBwPWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoMDxwLmJvdHRvbSYmMDxwLnJpZ2h0JiZwLnRvcDx0LmlubmVySGVpZ2h0JiZwLmxlZnQ8dC5pbm5lcldpZHRoKXtpZih1Kz1YbShmKSx1PiRtKXtzLmxlbmd0aD1vO2JyZWFrfWY9bmV3IFByb21pc2UoanAuYmluZChmKSkscy5wdXNoKGYpfX19aWYoMDxzLmxlbmd0aClyZXR1cm4gdD1Qcm9taXNlLnJhY2UoW1Byb21pc2UuYWxsKHMpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3JldHVybiBzZXRUaW1lb3V0KGUsNTAwKX0pXSkudGhlbihpLGkpLChuP1Byb21pc2UuYWxsU2V0dGxlZChbbi5maW5pc2hlZCx0XSk6dCkudGhlbihhLGEpO2lmKGkoKSxuKXJldHVybiBuLmZpbmlzaGVkLnRoZW4oYSxhKTthKCl9LHR5cGVzOm59KTtsLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj11O3ZhciBkPVtdO3JldHVybiB1LnJlYWR5LnRoZW4oZnVuY3Rpb24oKXtmb3IodmFyIGU9bC5kb2N1bWVudEVsZW1lbnQuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIG49ZVt0XSxyPW4uZWZmZWN0LGk9ci5wc2V1ZG9FbGVtZW50O2lmKGkhPW51bGwmJmkuc3RhcnRzV2l0aChgOjp2aWV3LXRyYW5zaXRpb25gKSl7ZC5wdXNoKG4pLG49ci5nZXRLZXlmcmFtZXMoKTtmb3IodmFyIGE9aT12b2lkIDAscz0hMCxjPTA7YzxuLmxlbmd0aDtjKyspe3ZhciB1PW5bY10sZj11LndpZHRoO2lmKGk9PT12b2lkIDApaT1mO2Vsc2UgaWYoaSE9PWYpe3M9ITE7YnJlYWt9aWYoZj11LmhlaWdodCxhPT09dm9pZCAwKWE9ZjtlbHNlIGlmKGEhPT1mKXtzPSExO2JyZWFrfWRlbGV0ZSB1LndpZHRoLGRlbGV0ZSB1LmhlaWdodCx1LnRyYW5zZm9ybT09PWBub25lYCYmZGVsZXRlIHUudHJhbnNmb3JtfXMmJmkhPT12b2lkIDAmJmEhPT12b2lkIDAmJihyLnNldEtleWZyYW1lcyhuKSxzPWdldENvbXB1dGVkU3R5bGUoci50YXJnZXQsci5wc2V1ZG9FbGVtZW50KSxzLndpZHRoIT09aXx8cy5oZWlnaHQhPT1hKSYmKHM9blswXSxzLndpZHRoPWkscy5oZWlnaHQ9YSxzPW5bbi5sZW5ndGgtMV0scy53aWR0aD1pLHMuaGVpZ2h0PWEsci5zZXRLZXlmcmFtZXMobikpfX1vKCl9LGZ1bmN0aW9uKGUpe2wuX19yZWFjdFZpZXdUcmFuc2l0aW9uPT09dSYmKGwuX19yZWFjdFZpZXdUcmFuc2l0aW9uPW51bGwpO3RyeXtpZih0eXBlb2YgZT09YG9iamVjdGAmJmUpc3dpdGNoKGUubmFtZSl7Y2FzZWBJbnZhbGlkU3RhdGVFcnJvcmA6KGUubWVzc2FnZT09PWBWaWV3IHRyYW5zaXRpb24gd2FzIHNraXBwZWQgYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGlzIGhpZGRlbi5gfHxlLm1lc3NhZ2U9PT1gU2tpcHBpbmcgdmlldyB0cmFuc2l0aW9uIGJlY2F1c2UgZG9jdW1lbnQgdmlzaWJpbGl0eSBzdGF0ZSBoYXMgYmVjb21lIGhpZGRlbi5gfHxlLm1lc3NhZ2U9PT1gU2tpcHBpbmcgdmlldyB0cmFuc2l0aW9uIGJlY2F1c2Ugdmlld3BvcnQgc2l6ZSBjaGFuZ2VkLmB8fGUubWVzc2FnZT09PWBUcmFuc2l0aW9uIHdhcyBhYm9ydGVkIGJlY2F1c2Ugb2YgaW52YWxpZCBzdGF0ZWApJiYoZT1udWxsKX1lIT09bnVsbCYmYyhlKX1maW5hbGx5e3IoKSxpKCksbygpfX0pLHUuZmluaXNoZWQuZmluYWxseShmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV0uY2FuY2VsKCk7bC5fX3JlYWN0Vmlld1RyYW5zaXRpb249PT11JiYobC5fX3JlYWN0Vmlld1RyYW5zaXRpb249bnVsbCkscygpfSksdX1jYXRjaHtyZXR1cm4gcigpLGkoKSxvKCksbnVsbH19ZnVuY3Rpb24gTnAoZSx0KXt0aGlzLl9zY29wZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5fc2VsZWN0b3I9YDo6dmlldy10cmFuc2l0aW9uLWArZStgKGArdCtgKWB9TnAucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD10eXBlb2YgdD09YG51bWJlcmA_e2R1cmF0aW9uOnR9Oncoe30sdCksdC5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUoZSx0KX0sTnAucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3RvcixuPWUuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHI9W10saT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgYT1uW2ldLmVmZmVjdDthIT09bnVsbCYmYS50YXJnZXQ9PT1lJiZhLnBzZXVkb0VsZW1lbnQ9PT10JiZyLnB1c2gobltpXSl9cmV0dXJuIHJ9LE5wLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfTtmdW5jdGlvbiBQcChlKXtyZXR1cm57bmFtZTplLGdyb3VwOm5ldyBOcChgZ3JvdXBgLGUpLGltYWdlUGFpcjpuZXcgTnAoYGltYWdlLXBhaXJgLGUpLG9sZDpuZXcgTnAoYG9sZGAsZSksbmV3Om5ldyBOcChgbmV3YCxlKX19ZnVuY3Rpb24gRnAoZSl7dGhpcy5fZnJhZ21lbnRGaWJlcj1lLHRoaXMuX29ic2VydmVycz10aGlzLl9ldmVudExpc3RlbmVycz1udWxsfUZwLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1udWxsLGk9bnVsbDtpZighKG4hPW51bGwmJnR5cGVvZiBuIT1gYm9vbGVhbmAmJihyPW4uc2lnbmFsfHxudWxsLHIhPT1udWxsJiZyLmFib3J0ZWQpKSl7dGhpcy5fZXZlbnRMaXN0ZW5lcnM9PT1udWxsJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciBhPXRoaXMuX2V2ZW50TGlzdGVuZXJzO2lmKEJwKGEsZSx0LG4pPT09LTEpe3ZhciBvPXRoaXMscz10O24hPW51bGwmJnR5cGVvZiBuIT1gYm9vbGVhbmAmJiEwPT09bi5vbmNlJiYocz1mdW5jdGlvbihyKXtvLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LG4pLHR5cGVvZiB0PT1gZnVuY3Rpb25gP3QuY2FsbCh0aGlzLHIpOnQuaGFuZGxlRXZlbnQocil9KSxyIT09bnVsbCYmKGk9by5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQobyxlLHQsbiksci5hZGRFdmVudExpc3RlbmVyKGBhYm9ydGAsaSx7b25jZTohMH0pLGk9ci5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQocixgYWJvcnRgLGkpKSxyPVJwKG4pLGEucHVzaCh7dHlwZTplLGxpc3RlbmVyOnQsb3B0aW9uc09yVXNlQ2FwdHVyZTpuLGF0dGFjaGVkTGlzdGVuZXI6cyxjbGVhbnVwOml9KSxwKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsSXAsZSxzLHIpfXRoaXMuX2V2ZW50TGlzdGVuZXJzPWF9fTtmdW5jdGlvbiBJcChlLHQsbixyKXtyZXR1cm4gYihlKS5hZGRFdmVudExpc3RlbmVyKHQsbixyKSwhMX1GcC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5fZXZlbnRMaXN0ZW5lcnM7aWYociE9PW51bGwmJih0PUJwKHIsZSx0LG4pLHQhPT0tMSkpe3ZhciBpPXJbdF07bj1pLmF0dGFjaGVkTGlzdGVuZXI7dmFyIGE9aS5jbGVhbnVwO2k9UnAoaS5vcHRpb25zT3JVc2VDYXB0dXJlKSxwKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsTHAsZSxuLGkpLHIuc3BsaWNlKHQsMSksYSE9PW51bGwmJmEoKX19O2Z1bmN0aW9uIExwKGUsdCxuLHIpe3JldHVybiBiKGUpLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuLHIpLCExfWZ1bmN0aW9uIFJwKGUpe3JldHVybiBlIT1udWxsJiZ0eXBlb2YgZSE9YGJvb2xlYW5gJiYoITA9PT1lLm9uY2V8fGUuc2lnbmFsIGluc3RhbmNlb2YgQWJvcnRTaWduYWwpP3tjYXB0dXJlOmUuY2FwdHVyZSxwYXNzaXZlOmUucGFzc2l2ZX06ZX1mdW5jdGlvbiB6cChlKXtyZXR1cm4gZT09bnVsbD9gYz0wYDp0eXBlb2YgZT09YGJvb2xlYW5gP2BjPWArKGU_YDFgOmAwYCk6YGM9YCsoZS5jYXB0dXJlP2AxYDpgMGApfWZ1bmN0aW9uIEJwKGUsdCxuLHIpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4tMTtyPXpwKHIpO2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYT1lW2ldO2lmKGEudHlwZT09PXQmJmEubGlzdGVuZXI9PT1uJiZ6cChhLm9wdGlvbnNPclVzZUNhcHR1cmUpPT09cilyZXR1cm4gaX1yZXR1cm4tMX1GcC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKHQ9PT1udWxsKXJldHVybiEwO3Q9Yih0KTt2YXIgbj10aGlzLl9ldmVudExpc3RlbmVycztpZihuIT09bnVsbCYmMDxuLmxlbmd0aHx8IWUuYnViYmxlcyl7dmFyIHI9dC5ub2RlVHlwZT09PTk_dC5jcmVhdGVDb21tZW50KGBgKTpkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShgYCk7aWYobilmb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIGE9bltpXTtyLmFkZEV2ZW50TGlzdGVuZXIoYS50eXBlLGEuYXR0YWNoZWRMaXN0ZW5lcixScChhLm9wdGlvbnNPclVzZUNhcHR1cmUpKX1pZih0LmFwcGVuZENoaWxkKHIpLGU9ci5kaXNwYXRjaEV2ZW50KGUpLG4pZm9yKGk9MDtpPG4ubGVuZ3RoO2krKylhPW5baV0sci5yZW1vdmVFdmVudExpc3RlbmVyKGEudHlwZSxhLmF0dGFjaGVkTGlzdGVuZXIsUnAoYS5vcHRpb25zT3JVc2VDYXB0dXJlKSk7cmV0dXJuIHQucmVtb3ZlQ2hpbGQociksZX1yZXR1cm4gdC5kaXNwYXRjaEV2ZW50KGUpfSxGcC5wcm90b3R5cGUuZm9jdXM9ZnVuY3Rpb24oZSl7cCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCEwLFZwLGUsdm9pZCAwLHZvaWQgMCl9O2Z1bmN0aW9uIFZwKGUsdCl7cmV0dXJuIGUudGFnIT09NiYmKGU9YihlKSxwbShlLHQpKX1GcC5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdO3AodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxIcCx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgbj10Lmxlbmd0aC0xOzA8PW4mJiFWcCh0W25dLGUpO24tLSk7fTtmdW5jdGlvbiBIcChlLHQpe3JldHVybiB0LnB1c2goZSksITF9RnAucHJvdG90eXBlLmJsdXI9ZnVuY3Rpb24oKXt2YXIgZT1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2UhPT1udWxsJiYoZT1iKGUpLGU9bHAoZSkuYWN0aXZlRWxlbWVudCxlIT09bnVsbCYmcCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLFVwLGUsdm9pZCAwLHZvaWQgMCkpfTtmdW5jdGlvbiBVcChlLHQpe3JldHVybiBlLnRhZyE9PTYmJihlPWIoZSksZT09PXR8fGUuY29udGFpbnModCk_KHQuYmx1cigpLCEwKTohMSl9RnAucHJvdG90eXBlLm9ic2VydmVVc2luZz1mdW5jdGlvbihlKXt0aGlzLl9vYnNlcnZlcnM9PT1udWxsJiYodGhpcy5fb2JzZXJ2ZXJzPW5ldyBTZXQpLHRoaXMuX29ic2VydmVycy5hZGQoZSkscCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLFdwLGUsdm9pZCAwLHZvaWQgMCl9O2Z1bmN0aW9uIFdwKGUsdCl7cmV0dXJuIGUudGFnPT09Nnx8KGU9YihlKSx0Lm9ic2VydmUoZSkpLCExfUZwLnByb3RvdHlwZS51bm9ic2VydmVVc2luZz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9vYnNlcnZlcnM7aWYodCE9PW51bGwmJnQuaGFzKGUpKXt0LmRlbGV0ZShlKSxwKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsR3AsZSx2b2lkIDAsdm9pZCAwKTtmb3IodmFyIG49dD0wO248S3AubGVuZ3RoO24rKyl7dmFyIHI9S3Bbbl07ci5mcmFnbWVudEluc3RhbmNlPT09dGhpcyYmci5vYnNlcnZlcj09PWU_ZS51bm9ic2VydmUoci5pbnN0YW5jZSk6S3BbdCsrXT1yfUtwLmxlbmd0aD10fX07ZnVuY3Rpb24gR3AoZSx0KXtyZXR1cm4gZS50YWc9PT02fHwoZT1iKGUpLHQudW5vYnNlcnZlKGUpKSwhMX12YXIgS3A9W10scXA9ITE7ZnVuY3Rpb24gSnAoZSx0LG4pe0twLnB1c2goe2ZyYWdtZW50SW5zdGFuY2U6ZSxvYnNlcnZlcjp0LGluc3RhbmNlOm59KSxxcHx8KHFwPSEwLG1tKGZ1bmN0aW9uKCl7cXA9ITE7dmFyIGU9S3A7S3A9W107Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBuPWVbdF07bi5vYnNlcnZlci51bm9ic2VydmUobi5pbnN0YW5jZSl9fSkpfUZwLnByb3RvdHlwZS5nZXRDbGllbnRSZWN0cz1mdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiBwKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsWXAsZSx2b2lkIDAsdm9pZCAwKSxlfTtmdW5jdGlvbiBZcChlLHQpe2lmKGUudGFnPT09Nil7ZT1lLnN0YXRlTm9kZTt2YXIgbj1lLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtuLnNlbGVjdE5vZGVDb250ZW50cyhlKSx0LnB1c2guYXBwbHkodCxuLmdldENsaWVudFJlY3RzKCkpfWVsc2UgZT1iKGUpLHQucHVzaC5hcHBseSh0LGUuZ2V0Q2xpZW50UmVjdHMoKSk7cmV0dXJuITF9RnAucHJvdG90eXBlLmdldFJvb3ROb2RlPWZ1bmN0aW9uKGUpe3ZhciB0PWgodGhpcy5fZnJhZ21lbnRGaWJlcik7cmV0dXJuIHQ9PT1udWxsP3RoaXM6Yih0KS5nZXRSb290Tm9kZShlKX0sRnAucHJvdG90eXBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PWgodGhpcy5fZnJhZ21lbnRGaWJlcik7aWYodD09PW51bGwpcmV0dXJuIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEO3ZhciBuPVtdO3AodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxIcCxuLHZvaWQgMCx2b2lkIDApO3ZhciByPWIodCk7aWYobi5sZW5ndGg9PT0wKXtpZihuPXIsXyh0aGlzLl9mcmFnbWVudEZpYmVyKSl7YTp7Zm9yKHQ9dGhpcy5fZnJhZ21lbnRGaWJlci5yZXR1cm47dCE9PW51bGw7KXtpZih0LnRhZz09PTQpe3Q9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzticmVhayBhfWlmKHQudGFnPT09M3x8dC50YWc9PT01fHx0LnRhZz09PTI3KWJyZWFrO3Q9dC5yZXR1cm59dD1udWxsfXQhPW51bGwmJihuPXQpfXQ9dGhpcy5fZnJhZ21lbnRGaWJlcjt2YXIgaT1yPW4uY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7cmV0dXJuIG49PT1lP2k9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUzpyJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZJiYobj12KHQpWzFdLG49PT1udWxsP2k9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkc6KGU9YihuKS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSxpPWU9PT0wfHxlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HP05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HKSksaXw9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ310PWIoblswXSksaT1iKG5bbi5sZW5ndGgtMV0pO3ZhciBhPV8odGhpcy5fZnJhZ21lbnRGaWJlcik_dC5wYXJlbnRFbGVtZW50OnI7aWYoYT09bnVsbClyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7cj1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLGE9YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWTt2YXIgbz10LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpLHM9aS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSxjPW8mTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQll8fHMmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk7cmV0dXJuIHM9ciYmYSYmbyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmcyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyx0PXImJnQ9PT1lfHxhJiZpPT09ZXx8Y3x8cz9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWTohciYmdD09PWV8fCFhJiZpPT09ZT9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDOm8sdCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRHx8dCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDfHxYcCh0LHRoaXMuX2ZyYWdtZW50RmliZXIsblswXSxuW24ubGVuZ3RoLTFdLGUpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ307ZnVuY3Rpb24gWHAoZSx0LG4scixpKXt2YXIgYT1CdChpKTtpZihlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKXtpZihuPSEhYSlhOntmb3IoO2EhPT1udWxsOyl7aWYoYS50YWc9PT03JiYoYT09PXR8fGEuYWx0ZXJuYXRlPT09dCkpe249ITA7YnJlYWsgYX1hPWEucmV0dXJufW49ITF9cmV0dXJuIG59aWYoZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TKXtpZihhPT09bnVsbClyZXR1cm4gYT1pLm93bmVyRG9jdW1lbnQsaT09PWF8fGk9PT1hLmRvY3VtZW50RWxlbWVudHx8aT09PWEuYm9keTthOntmb3IoYT10LHQ9aCh0KTthIT09bnVsbDspe2lmKCEoYS50YWchPT01JiZhLnRhZyE9PTMmJmEudGFnIT09Mjd8fGEhPT10JiZhLmFsdGVybmF0ZSE9PXQpKXthPSEwO2JyZWFrIGF9YT1hLnJldHVybn1hPSExfXJldHVybiBhfXJldHVybiBlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIWEpJiYhKHQ9YT09PW4pJiYodD1uZShuLGEsQyksdD09PW51bGw_dD0hMToocCh0LCEwLHRlLGEsbiksYT14LHg9bnVsbCx0PWEhPT1udWxsKSksdCk6ZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8oKHQ9ISFhKSYmISh0PWE9PT1yKSYmKHQ9bmUocixhLEMpLHQ9PT1udWxsP3Q9ITE6KHAodCwhMCxTLGEsciksYT14LGVlPXg9bnVsbCx0PWEhPT1udWxsKSksdCk6ITF9ZnVuY3Rpb24gWnAoZSx0KXt2YXIgbj1lLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtuLnNlbGVjdE5vZGVDb250ZW50cyhlKSxlPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksd2luZG93LnNjcm9sbFRvKHdpbmRvdy5zY3JvbGxYK2UubGVmdCx0P3dpbmRvdy5zY3JvbGxZK2UudG9wOndpbmRvdy5zY3JvbGxZK2UuYm90dG9tLXdpbmRvdy5pbm5lckhlaWdodCl9RnAucHJvdG90eXBlLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlPT1gb2JqZWN0YCl0aHJvdyBFcnJvcihpKDU2NikpO3ZhciB0PVtdO3AodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxIcCx0LHZvaWQgMCx2b2lkIDApO3ZhciBuPSExIT09ZTtpZih0Lmxlbmd0aD09PTApe3ZhciByPXYodGhpcy5fZnJhZ21lbnRGaWJlcik7aWYocj1uP3JbMV18fHJbMF18fGgodGhpcy5fZnJhZ21lbnRGaWJlcik6clswXXx8clsxXSxyPT09bnVsbClyZXR1cm47aWYoci50YWc9PT02KXtlPWIociksWnAoZSxuKTtyZXR1cm59aWYocj1iKHIpLHIubm9kZVR5cGUhPT05KXtpZihyLm5vZGVUeXBlPT09MTEpe249YGhvc3RgaW4gcj9yLmhvc3Q6bnVsbCxuIT09bnVsbCYmbi5zY3JvbGxJbnRvVmlldyhlKTtyZXR1cm59ci5zY3JvbGxJbnRvVmlldyhlKX19Zm9yKHI9bj90Lmxlbmd0aC0xOjA7ciE9PShuPy0xOnQubGVuZ3RoKTspe3ZhciBhPXRbcl07YS50YWc9PT02PyhhPWIoYSksWnAoYSxuKSk6YihhKS5zY3JvbGxJbnRvVmlldyhlKSxyKz1uPy0xOjF9fTtmdW5jdGlvbiBRcChlLHQpe3JldHVybiBlPWIoZSksJHAoZSx0KSwhMX1mdW5jdGlvbiAkcChlLHQpe2UucmVhY3RGcmFnbWVudHM_Pz1uZXcgU2V0LGUucmVhY3RGcmFnbWVudHMuYWRkKHQpfWZ1bmN0aW9uIGVtKGUsdCl7dmFyIG49dC5fZXZlbnRMaXN0ZW5lcnM7aWYobiE9PW51bGwpZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBpPW5bcl07ZS5hZGRFdmVudExpc3RlbmVyKGkudHlwZSxpLmF0dGFjaGVkTGlzdGVuZXIsUnAoaS5vcHRpb25zT3JVc2VDYXB0dXJlKSl9ZS5ub2RlVHlwZSE9PTMmJihuPXQuX29ic2VydmVycyxuIT09bnVsbCYmbi5mb3JFYWNoKGZ1bmN0aW9uKG4pe2Zvcih2YXIgcj0wLGk9MDtpPEtwLmxlbmd0aDtpKyspe3ZhciBhPUtwW2ldOyhhLmZyYWdtZW50SW5zdGFuY2UhPT10fHxhLm9ic2VydmVyIT09bnx8YS5pbnN0YW5jZSE9PWUpJiYoS3BbcisrXT1hKX1LcC5sZW5ndGg9cixuLm9ic2VydmUoZSl9KSwkcChlLHQpKX1mdW5jdGlvbiB0bShlLHQpe3ZhciBuPXQuX2V2ZW50TGlzdGVuZXJzO2lmKG4hPT1udWxsKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1uW3JdO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihpLnR5cGUsaS5hdHRhY2hlZExpc3RlbmVyLFJwKGkub3B0aW9uc09yVXNlQ2FwdHVyZSkpfWUubm9kZVR5cGUhPT0zJiYobj10Ll9vYnNlcnZlcnMsbiE9PW51bGwmJm4uZm9yRWFjaChmdW5jdGlvbihuKXt0eXBlb2Ygbi5yb290TWFyZ2luPT1gc3RyaW5nYD9KcCh0LG4sZSk6bi51bm9ic2VydmUoZSl9KSxlLnJlYWN0RnJhZ21lbnRzIT1udWxsJiZlLnJlYWN0RnJhZ21lbnRzLmRlbGV0ZSh0KSl9ZnVuY3Rpb24gbm0oZSl7dmFyIHQ9ZS5maXJzdENoaWxkO2Zvcih0JiZ0Lm5vZGVUeXBlPT09MTAmJih0PXQubmV4dFNpYmxpbmcpO3Q7KXt2YXIgbj10O3N3aXRjaCh0PXQubmV4dFNpYmxpbmcsbi5ub2RlTmFtZSl7Y2FzZWBIVE1MYDpjYXNlYEhFQURgOmNhc2VgQk9EWWA6bm0obiksenQobik7Y29udGludWU7Y2FzZWBTQ1JJUFRgOmNhc2VgU1RZTEVgOmNvbnRpbnVlO2Nhc2VgTElOS2A6aWYobi5yZWwudG9Mb3dlckNhc2UoKT09PWBzdHlsZXNoZWV0YCljb250aW51ZX1lLnJlbW92ZUNoaWxkKG4pfX1mdW5jdGlvbiBybShlLHQsbixyKXtmb3IoO2Uubm9kZVR5cGU9PT0xOyl7dmFyIGk9bjtpZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkpe2lmKCFyJiYoZS5ub2RlTmFtZSE9PWBJTlBVVGB8fGUudHlwZSE9PWBoaWRkZW5gKSlicmVha31lbHNlIGlmKCFyKXtpZih0PT09YGlucHV0YCYmZS50eXBlPT09YGhpZGRlbmApe3ZhciBhPWkubmFtZT09bnVsbD9udWxsOmBgK2kubmFtZTtpZihpLnR5cGU9PT1gaGlkZGVuYCYmZS5nZXRBdHRyaWJ1dGUoYG5hbWVgKT09PWEpcmV0dXJuIGV9ZWxzZSByZXR1cm4gZX1lbHNlIGlmKCFlW0x0XSlzd2l0Y2godCl7Y2FzZWBtZXRhYDppZighZS5oYXNBdHRyaWJ1dGUoYGl0ZW1wcm9wYCkpYnJlYWs7cmV0dXJuIGU7Y2FzZWBsaW5rYDppZihhPWUuZ2V0QXR0cmlidXRlKGByZWxgKSxhPT09YHN0eWxlc2hlZXRgJiZlLmhhc0F0dHJpYnV0ZShgZGF0YS1wcmVjZWRlbmNlYCl8fGEhPT1pLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoYGhyZWZgKSE9PShpLmhyZWY9PW51bGx8fGkuaHJlZj09PWBgP251bGw6aS5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoYGNyb3Nzb3JpZ2luYCkhPT0oaS5jcm9zc09yaWdpbj09bnVsbD9udWxsOmkuY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZShgdGl0bGVgKSE9PShpLnRpdGxlPT1udWxsP251bGw6aS50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZWBzdHlsZWA6aWYoZS5oYXNBdHRyaWJ1dGUoYGRhdGEtcHJlY2VkZW5jZWApKWJyZWFrO3JldHVybiBlO2Nhc2Vgc2NyaXB0YDppZihhPWUuZ2V0QXR0cmlidXRlKGBzcmNgKSwoYSE9PShpLnNyYz09bnVsbD9udWxsOmkuc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoYHR5cGVgKSE9PShpLnR5cGU9PW51bGw_bnVsbDppLnR5cGUpfHxlLmdldEF0dHJpYnV0ZShgY3Jvc3NvcmlnaW5gKSE9PShpLmNyb3NzT3JpZ2luPT1udWxsP251bGw6aS5jcm9zc09yaWdpbikpJiZhJiZlLmhhc0F0dHJpYnV0ZShgYXN5bmNgKSYmIWUuaGFzQXR0cmlidXRlKGBpdGVtcHJvcGApKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9aWYoZT1sbShlLm5leHRTaWJsaW5nKSxlPT09bnVsbClicmVha31yZXR1cm4gbnVsbH1mdW5jdGlvbiBpbShlLHQsbil7aWYodD09PWBgKXJldHVybiBudWxsO2Zvcig7ZS5ub2RlVHlwZSE9PTM7KWlmKChlLm5vZGVUeXBlIT09MXx8ZS5ub2RlTmFtZSE9PWBJTlBVVGB8fGUudHlwZSE9PWBoaWRkZW5gKSYmIW58fChlPWxtKGUubmV4dFNpYmxpbmcpLGU9PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBhbShlLHQpe2Zvcig7ZS5ub2RlVHlwZSE9PTg7KWlmKChlLm5vZGVUeXBlIT09MXx8ZS5ub2RlTmFtZSE9PWBJTlBVVGB8fGUudHlwZSE9PWBoaWRkZW5gKSYmIXR8fChlPWxtKGUubmV4dFNpYmxpbmcpLGU9PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBvbShlKXtyZXR1cm4gZS5kYXRhPT09YCQ_YHx8ZS5kYXRhPT09YCR-YH1mdW5jdGlvbiBzbShlKXtyZXR1cm4gZS5kYXRhPT09YCQhYHx8ZS5kYXRhPT09YCQ_YCYmZS5vd25lckRvY3VtZW50LnJlYWR5U3RhdGUhPT1gbG9hZGluZ2B9ZnVuY3Rpb24gY20oZSx0KXt2YXIgbj1lLm93bmVyRG9jdW1lbnQ7aWYoZS5kYXRhPT09YCR-YCllLl9yZWFjdFJldHJ5PXQ7ZWxzZSBpZihlLmRhdGEhPT1gJD9gfHxuLnJlYWR5U3RhdGUhPT1gbG9hZGluZ2ApdCgpO2Vsc2V7dmFyIHI9ZnVuY3Rpb24oKXt0KCksbi5yZW1vdmVFdmVudExpc3RlbmVyKGBET01Db250ZW50TG9hZGVkYCxyKX07bi5hZGRFdmVudExpc3RlbmVyKGBET01Db250ZW50TG9hZGVkYCxyKSxlLl9yZWFjdFJldHJ5PXJ9fWZ1bmN0aW9uIGxtKGUpe2Zvcig7ZSE9bnVsbDtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYodD09PTF8fHQ9PT0zKWJyZWFrO2lmKHQ9PT04KXtpZih0PWUuZGF0YSx0PT09YCRgfHx0PT09YCQhYHx8dD09PWAkP2B8fHQ9PT1gJH5gfHx0PT09YCZgfHx0PT09YEYhYHx8dD09PWBGYClicmVhaztpZih0PT09YC8kYHx8dD09PWAvJmApcmV0dXJuIG51bGx9fXJldHVybiBlfXZhciB1bT1udWxsO2Z1bmN0aW9uIGRtKGUpe2U9ZS5uZXh0U2libGluZztmb3IodmFyIHQ9MDtlOyl7aWYoZS5ub2RlVHlwZT09PTgpe3ZhciBuPWUuZGF0YTtpZihuPT09YC8kYHx8bj09PWAvJmApe2lmKHQ9PT0wKXJldHVybiBsbShlLm5leHRTaWJsaW5nKTt0LS19ZWxzZSBuIT09YCRgJiZuIT09YCQhYCYmbiE9PWAkP2AmJm4hPT1gJH5gJiZuIT09YCZgfHx0Kyt9ZT1lLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGZtKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKGUubm9kZVR5cGU9PT04KXt2YXIgbj1lLmRhdGE7aWYobj09PWAkYHx8bj09PWAkIWB8fG49PT1gJD9gfHxuPT09YCR-YHx8bj09PWAmYCl7aWYodD09PTApcmV0dXJuIGU7dC0tfWVsc2UgbiE9PWAvJGAmJm4hPT1gLyZgfHx0Kyt9ZT1lLnByZXZpb3VzU2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBwbShlLHQpe2Z1bmN0aW9uIG4oKXtyPSEwfWlmKGUub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZSlyZXR1cm4hMDt2YXIgcj0hMTt0cnl7ZS5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYGZvY3VzYCxuLCEwKSwoZS5mb2N1c3x8SFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzKS5jYWxsKGUsdCl9ZmluYWxseXtlLm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihgZm9jdXNgLG4sITApfXJldHVybiByfWZ1bmN0aW9uIG1tKGUpe3lwKGZ1bmN0aW9uKCl7eXAoZnVuY3Rpb24odCl7cmV0dXJuIGUodCl9KX0pfWZ1bmN0aW9uIGhtKGUsdCxuKXtzd2l0Y2godD1scChuKSxlKXtjYXNlYGh0bWxgOmlmKGU9dC5kb2N1bWVudEVsZW1lbnQsIWUpdGhyb3cgRXJyb3IoaSg0NTIpKTtyZXR1cm4gZTtjYXNlYGhlYWRgOmlmKGU9dC5oZWFkLCFlKXRocm93IEVycm9yKGkoNDUzKSk7cmV0dXJuIGU7Y2FzZWBib2R5YDppZihlPXQuYm9keSwhZSl0aHJvdyBFcnJvcihpKDQ1NCkpO3JldHVybiBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IoaSg0NTEpKX19ZnVuY3Rpb24gZ20oZSx0LG4pe2Zvcih2YXIgciBpbiBuKXt2YXIgaT1uW3JdO24uaGFzT3duUHJvcGVydHkocikmJmkhPW51bGwmJiQoZSx0LHIsbnVsbCxycCxpKX1uLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIT1udWxsJiYoZS50ZXh0Q29udGVudD1gYCksZS5vbmNsaWNrPT09RW4mJihlLm9uY2xpY2s9bnVsbCksenQoZSl9ZnVuY3Rpb24gX20oZSl7Zm9yKHZhciB0PWUuYXR0cmlidXRlczt0Lmxlbmd0aDspZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKHRbMF0pO3p0KGUpfXZhciB2bT1uZXcgTWFwLHltPW5ldyBTZXQ7ZnVuY3Rpb24gYm0oZSl7aWYodHlwZW9mIGUuZ2V0Um9vdE5vZGU9PWBmdW5jdGlvbmApe3ZhciB0PWUuZ2V0Um9vdE5vZGUoKTtpZih0Lm5vZGVUeXBlPT09OXx8dC5ub2RlVHlwZT09PTExKXJldHVybiB0fXJldHVybiBlLm5vZGVUeXBlPT09OT9lOmUub3duZXJEb2N1bWVudH12YXIgeG09RS5kO0UuZD17ZjpTbSxyOkNtLEQ6RW0sQzpEbSxMOk9tLG06a20sWDpqbSxTOkFtLE06TW19O2Z1bmN0aW9uIFNtKCl7dmFyIGU9eG0uZigpLHQ9emQoKTtyZXR1cm4gZXx8dH1mdW5jdGlvbiBDbShlKXt2YXIgdD1WdChlKTt0IT09bnVsbCYmdC50YWc9PT01JiZ0LnR5cGU9PT1gZm9ybWA_YWModCk6eG0ucihlKX12YXIgd209dHlwZW9mIGRvY3VtZW50PmB1YD9udWxsOmRvY3VtZW50O2Z1bmN0aW9uIFRtKGUsdCxuKXt2YXIgcj13bTtpZihyJiZ0eXBlb2YgdD09YHN0cmluZ2AmJnQpe3ZhciBpPWRuKHQpO2k9YGxpbmtbcmVsPSJgK2UrYCJdW2hyZWY9ImAraStgIl1gLHR5cGVvZiBuPT1gc3RyaW5nYCYmKGkrPWBbY3Jvc3NvcmlnaW49ImArbitgIl1gKSx5bS5oYXMoaSl8fCh5bS5hZGQoaSksZT17cmVsOmUsY3Jvc3NPcmlnaW46bixocmVmOnR9LHIucXVlcnlTZWxlY3RvcihpKT09PW51bGwmJih0PXIuY3JlYXRlRWxlbWVudChgbGlua2ApLG5wKHQsYGxpbmtgLGUpLFd0KHQpLHIuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBFbShlKXt4bS5EKGUpLFRtKGBkbnMtcHJlZmV0Y2hgLGUsbnVsbCl9ZnVuY3Rpb24gRG0oZSx0KXt4bS5DKGUsdCksVG0oYHByZWNvbm5lY3RgLGUsdCl9ZnVuY3Rpb24gT20oZSx0LG4pe3htLkwoZSx0LG4pO3ZhciByPXdtO2lmKHImJmUmJnQpe3ZhciBpPWBsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJgK2RuKHQpK2AiXWA7dD09PWBpbWFnZWAmJm4mJm4uaW1hZ2VTcmNTZXQ_KGkrPWBbaW1hZ2VzcmNzZXQ9ImArZG4obi5pbWFnZVNyY1NldCkrYCJdYCx0eXBlb2Ygbi5pbWFnZVNpemVzPT1gc3RyaW5nYCYmKGkrPWBbaW1hZ2VzaXplcz0iYCtkbihuLmltYWdlU2l6ZXMpK2AiXWApKTppKz1gW2hyZWY9ImArZG4oZSkrYCJdYDt2YXIgYT1pO3N3aXRjaCh0KXtjYXNlYHN0eWxlYDphPVBtKGUpO2JyZWFrO2Nhc2Vgc2NyaXB0YDphPVJtKGUpfWlmKCEodm0uaGFzKGEpfHwoZT13KHtyZWw6YHByZWxvYWRgLGhyZWY6dD09PWBpbWFnZWAmJm4mJm4uaW1hZ2VTcmNTZXQ_dm9pZCAwOmUsYXM6dH0sbiksdm0uc2V0KGEsZSksci5xdWVyeVNlbGVjdG9yKGkpIT09bnVsbHx8dD09PWBzdHlsZWAmJnIucXVlcnlTZWxlY3RvcihGbShhKSl8fHQ9PT1gc2NyaXB0YCYmci5xdWVyeVNlbGVjdG9yKHptKGEpKSkpKXt2YXIgbz1yLmNyZWF0ZUVsZW1lbnQoYGxpbmtgKTtucChvLGBsaW5rYCxlKSx0PT09YHN0eWxlYCYmKG9bUnRdPSEwLG8ub25sb2FkPW8ub25lcnJvcj1mdW5jdGlvbigpe0d0KG8pfSksV3Qobyksci5oZWFkLmFwcGVuZENoaWxkKG8pfX19ZnVuY3Rpb24ga20oZSx0KXt4bS5tKGUsdCk7dmFyIG49d207aWYobiYmZSl7dmFyIHI9dCYmdHlwZW9mIHQuYXM9PWBzdHJpbmdgP3QuYXM6YHNjcmlwdGAsaT1gbGlua1tyZWw9Im1vZHVsZXByZWxvYWQiXVthcz0iYCtkbihyKStgIl1baHJlZj0iYCtkbihlKStgIl1gLGE9aTtzd2l0Y2gocil7Y2FzZWBhdWRpb3dvcmtsZXRgOmNhc2VgcGFpbnR3b3JrbGV0YDpjYXNlYHNlcnZpY2V3b3JrZXJgOmNhc2Vgc2hhcmVkd29ya2VyYDpjYXNlYHdvcmtlcmA6Y2FzZWBzY3JpcHRgOmE9Um0oZSl9aWYoIXZtLmhhcyhhKSYmKGU9dyh7cmVsOmBtb2R1bGVwcmVsb2FkYCxocmVmOmV9LHQpLHZtLnNldChhLGUpLG4ucXVlcnlTZWxlY3RvcihpKT09PW51bGwpKXtzd2l0Y2gocil7Y2FzZWBhdWRpb3dvcmtsZXRgOmNhc2VgcGFpbnR3b3JrbGV0YDpjYXNlYHNlcnZpY2V3b3JrZXJgOmNhc2Vgc2hhcmVkd29ya2VyYDpjYXNlYHdvcmtlcmA6Y2FzZWBzY3JpcHRgOmlmKG4ucXVlcnlTZWxlY3Rvcih6bShhKSkpcmV0dXJufXI9bi5jcmVhdGVFbGVtZW50KGBsaW5rYCksbnAocixgbGlua2AsZSksV3Qociksbi5oZWFkLmFwcGVuZENoaWxkKHIpfX19ZnVuY3Rpb24gQW0oZSx0LG4pe3htLlMoZSx0LG4pO3ZhciByPXdtO2lmKHImJmUpe3ZhciBpPVV0KHIpLmhvaXN0YWJsZVN0eWxlcyxhPVBtKGUpO3R8fD1gZGVmYXVsdGA7dmFyIG89aS5nZXQoYSk7aWYoIW8pe3ZhciBzPXtsb2FkaW5nOjAscHJlbG9hZDpudWxsfTtpZihvPXIucXVlcnlTZWxlY3RvcihGbShhKSkpcy5sb2FkaW5nPTU7ZWxzZXtlPXcoe3JlbDpgc3R5bGVzaGVldGAsaHJlZjplLCJkYXRhLXByZWNlZGVuY2UiOnR9LG4pLChuPXZtLmdldChhKSkmJkhtKGUsbik7dmFyIGM9bz1yLmNyZWF0ZUVsZW1lbnQoYGxpbmtgKTtXdChjKSxucChjLGBsaW5rYCxlKSxjLl9wPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7Yy5vbmxvYWQ9ZSxjLm9uZXJyb3I9dH0pLGMuYWRkRXZlbnRMaXN0ZW5lcihgbG9hZGAsZnVuY3Rpb24oKXtzLmxvYWRpbmd8PTF9KSxjLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCxmdW5jdGlvbigpe3MubG9hZGluZ3w9Mn0pLHMubG9hZGluZ3w9NCxWbShvLHQscil9bz17dHlwZTpgc3R5bGVzaGVldGAsaW5zdGFuY2U6byxjb3VudDoxLHN0YXRlOnN9LGkuc2V0KGEsbyl9fX1mdW5jdGlvbiBqbShlLHQpe3htLlgoZSx0KTt2YXIgbj13bTtpZihuJiZlKXt2YXIgcj1VdChuKS5ob2lzdGFibGVTY3JpcHRzLGk9Um0oZSksYT1yLmdldChpKTthfHwoYT1uLnF1ZXJ5U2VsZWN0b3Ioem0oaSkpLGF8fChlPXcoe3NyYzplLGFzeW5jOiEwfSx0KSwodD12bS5nZXQoaSkpJiZVbShlLHQpLGE9bi5jcmVhdGVFbGVtZW50KGBzY3JpcHRgKSxXdChhKSxucChhLGBsaW5rYCxlKSxuLmhlYWQuYXBwZW5kQ2hpbGQoYSkpLGE9e3R5cGU6YHNjcmlwdGAsaW5zdGFuY2U6YSxjb3VudDoxLHN0YXRlOm51bGx9LHIuc2V0KGksYSkpfX1mdW5jdGlvbiBNbShlLHQpe3htLk0oZSx0KTt2YXIgbj13bTtpZihuJiZlKXt2YXIgcj1VdChuKS5ob2lzdGFibGVTY3JpcHRzLGk9Um0oZSksYT1yLmdldChpKTthfHwoYT1uLnF1ZXJ5U2VsZWN0b3Ioem0oaSkpLGF8fChlPXcoe3NyYzplLGFzeW5jOiEwLHR5cGU6YG1vZHVsZWB9LHQpLCh0PXZtLmdldChpKSkmJlVtKGUsdCksYT1uLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApLFd0KGEpLG5wKGEsYGxpbmtgLGUpLG4uaGVhZC5hcHBlbmRDaGlsZChhKSksYT17dHlwZTpgc2NyaXB0YCxpbnN0YW5jZTphLGNvdW50OjEsc3RhdGU6bnVsbH0sci5zZXQoaSxhKSl9fWZ1bmN0aW9uIE5tKGUsdCxuLHIpe3ZhciBhPShhPU8uY3VycmVudCk_Ym0oYSk6bnVsbDtpZighYSl0aHJvdyBFcnJvcihpKDQ0NikpO3N3aXRjaChlKXtjYXNlYG1ldGFgOmNhc2VgdGl0bGVgOnJldHVybiBudWxsO2Nhc2Vgc3R5bGVgOnJldHVybiB0eXBlb2Ygbi5wcmVjZWRlbmNlPT1gc3RyaW5nYCYmdHlwZW9mIG4uaHJlZj09YHN0cmluZ2A_KG49UG0obi5ocmVmKSx0PVV0KGEpLmhvaXN0YWJsZVN0eWxlcyxyPXQuZ2V0KG4pLHJ8fChyPXt0eXBlOmBzdHlsZWAsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LHQuc2V0KG4scikpLHIpOnt0eXBlOmB2b2lkYCxpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07Y2FzZWBsaW5rYDppZihuLnJlbD09PWBzdHlsZXNoZWV0YCYmdHlwZW9mIG4uaHJlZj09YHN0cmluZ2AmJnR5cGVvZiBuLnByZWNlZGVuY2U9PWBzdHJpbmdgKXtlPVBtKG4uaHJlZik7dmFyIG89VXQoYSkuaG9pc3RhYmxlU3R5bGVzLHM9by5nZXQoZSk7aWYoc3x8KGE9YS5vd25lckRvY3VtZW50fHxhLHM9e3R5cGU6YHN0eWxlc2hlZXRgLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LG8uc2V0KGUscyksKG89YS5xdWVyeVNlbGVjdG9yKEZtKGUpKSk_by5fcHx8KHMuaW5zdGFuY2U9byxzLnN0YXRlLmxvYWRpbmc9NSk6KG89dm0uZ2V0KGUpLG98fChvPXtyZWw6YHByZWxvYWRgLGFzOmBzdHlsZWAsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LHZtLnNldChlLG8pKSxMbShhLGUsbyxzLnN0YXRlKSkpLHQmJnI9PT1udWxsKXRocm93IEVycm9yKGkoNTI4LGBgKSk7cmV0dXJuIHN9aWYodCYmciE9PW51bGwpdGhyb3cgRXJyb3IoaSg1MjksYGApKTtyZXR1cm4gbnVsbDtjYXNlYHNjcmlwdGA6cmV0dXJuIHQ9bi5hc3luYyxuPW4uc3JjLHR5cGVvZiBuPT1gc3RyaW5nYCYmdCYmdHlwZW9mIHQhPWBmdW5jdGlvbmAmJnR5cGVvZiB0IT1gc3ltYm9sYD8obj1SbShuKSx0PVV0KGEpLmhvaXN0YWJsZVNjcmlwdHMscj10LmdldChuKSxyfHwocj17dHlwZTpgc2NyaXB0YCxpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH0sdC5zZXQobixyKSkscik6e3R5cGU6YHZvaWRgLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfTtkZWZhdWx0OnRocm93IEVycm9yKGkoNDQ0LGUpKX19ZnVuY3Rpb24gUG0oZSl7cmV0dXJuYGhyZWY9ImArZG4oZSkrYCJgfWZ1bmN0aW9uIEZtKGUpe3JldHVybmBsaW5rW3JlbD0ic3R5bGVzaGVldCJdW2ArZStgXWB9ZnVuY3Rpb24gSW0oZSl7cmV0dXJuIHcoe30sZSx7ImRhdGEtcHJlY2VkZW5jZSI6ZS5wcmVjZWRlbmNlLHByZWNlZGVuY2U6bnVsbH0pfWZ1bmN0aW9uIExtKGUsdCxuLHIpe2lmKHQ9ZS5xdWVyeVNlbGVjdG9yKGBsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdW2ArdCtgXWApKXtpZighMCE9PXRbUnRdKXtyLmxvYWRpbmc9MTtyZXR1cm59fWVsc2UgdD1lLmNyZWF0ZUVsZW1lbnQoYGxpbmtgKSx0W1J0XT0hMCx0Lm9ubG9hZD10Lm9uZXJyb3I9R3QuYmluZChudWxsLHQpLG5wKHQsYGxpbmtgLG4pLFd0KHQpLGUuaGVhZC5hcHBlbmRDaGlsZCh0KTtyLnByZWxvYWQ9dCx0LmFkZEV2ZW50TGlzdGVuZXIoYGxvYWRgLGZ1bmN0aW9uKCl7cmV0dXJuIHIubG9hZGluZ3w9MX0pLHQuYWRkRXZlbnRMaXN0ZW5lcihgZXJyb3JgLGZ1bmN0aW9uKCl7cmV0dXJuIHIubG9hZGluZ3w9Mn0pfWZ1bmN0aW9uIFJtKGUpe3JldHVybmBbc3JjPSJgK2RuKGUpK2AiXWB9ZnVuY3Rpb24gem0oZSl7cmV0dXJuYHNjcmlwdFthc3luY11gK2V9ZnVuY3Rpb24gQm0oZSx0LG4pe2lmKHQuY291bnQrKyx0Lmluc3RhbmNlPT09bnVsbClzd2l0Y2godC50eXBlKXtjYXNlYHN0eWxlYDp2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoYHN0eWxlW2RhdGEtaHJlZn49ImArZG4obi5ocmVmKStgIl1gKTtpZihyKXJldHVybiB0Lmluc3RhbmNlPXIsV3Qocikscjt2YXIgYT13KHt9LG4seyJkYXRhLWhyZWYiOm4uaHJlZiwiZGF0YS1wcmVjZWRlbmNlIjpuLnByZWNlZGVuY2UsaHJlZjpudWxsLHByZWNlZGVuY2U6bnVsbH0pO3JldHVybiByPShlLm93bmVyRG9jdW1lbnR8fGUpLmNyZWF0ZUVsZW1lbnQoYHN0eWxlYCksV3QociksbnAocixgc3R5bGVgLGEpLFZtKHIsbi5wcmVjZWRlbmNlLGUpLHQuaW5zdGFuY2U9cjtjYXNlYHN0eWxlc2hlZXRgOmE9UG0obi5ocmVmKTt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoRm0oYSkpO2lmKG8pcmV0dXJuIHQuc3RhdGUubG9hZGluZ3w9NCx0Lmluc3RhbmNlPW8sV3QobyksbztyPUltKG4pLChhPXZtLmdldChhKSkmJkhtKHIsYSksbz0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KGBsaW5rYCksV3Qobyk7dmFyIHM9bztyZXR1cm4gcy5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe3Mub25sb2FkPWUscy5vbmVycm9yPXR9KSxucChvLGBsaW5rYCxyKSx0LnN0YXRlLmxvYWRpbmd8PTQsVm0obyxuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1vO2Nhc2Vgc2NyaXB0YDpyZXR1cm4gbz1SbShuLnNyYyksKGE9ZS5xdWVyeVNlbGVjdG9yKHptKG8pKSk_KHQuaW5zdGFuY2U9YSxXdChhKSxhKToocj1uLChhPXZtLmdldChvKSkmJihyPXcoe30sbiksVW0ocixhKSksZT1lLm93bmVyRG9jdW1lbnR8fGUsYT1lLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApLFd0KGEpLG5wKGEsYGxpbmtgLHIpLGUuaGVhZC5hcHBlbmRDaGlsZChhKSx0Lmluc3RhbmNlPWEpO2Nhc2Vgdm9pZGA6cmV0dXJuIG51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcihpKDQ0Myx0LnR5cGUpKX1lbHNlIHQudHlwZT09PWBzdHlsZXNoZWV0YCYmISh0LnN0YXRlLmxvYWRpbmcmNCkmJihyPXQuaW5zdGFuY2UsdC5zdGF0ZS5sb2FkaW5nfD00LFZtKHIsbi5wcmVjZWRlbmNlLGUpKTtyZXR1cm4gdC5pbnN0YW5jZX1mdW5jdGlvbiBWbShlLHQsbil7Zm9yKHZhciByPW4ucXVlcnlTZWxlY3RvckFsbChgbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV1gKSxpPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06bnVsbCxhPWksbz0wO288ci5sZW5ndGg7bysrKXt2YXIgcz1yW29dO2lmKHMuZGF0YXNldC5wcmVjZWRlbmNlPT09dClhPXM7ZWxzZSBpZihhIT09aSlicmVha31hP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxhLm5leHRTaWJsaW5nKToodD1uLm5vZGVUeXBlPT09OT9uLmhlYWQ6bix0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCkpfWZ1bmN0aW9uIEhtKGUsdCl7ZS5jcm9zc09yaWdpbj8_PXQuY3Jvc3NPcmlnaW4sZS5yZWZlcnJlclBvbGljeT8_PXQucmVmZXJyZXJQb2xpY3ksZS50aXRsZT8_PXQudGl0bGV9ZnVuY3Rpb24gVW0oZSx0KXtlLmNyb3NzT3JpZ2luPz89dC5jcm9zc09yaWdpbixlLnJlZmVycmVyUG9saWN5Pz89dC5yZWZlcnJlclBvbGljeSxlLmludGVncml0eT8_PXQuaW50ZWdyaXR5fXZhciBXbT1udWxsO2Z1bmN0aW9uIEdtKGUsdCxuKXtpZihXbT09PW51bGwpe3ZhciByPW5ldyBNYXAsaT1XbT1uZXcgTWFwO2kuc2V0KG4scil9ZWxzZSBpPVdtLHI9aS5nZXQobikscnx8KHI9bmV3IE1hcCxpLnNldChuLHIpKTtpZihyLmhhcyhlKSlyZXR1cm4gcjtmb3Ioci5zZXQoZSxudWxsKSxuPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSksaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgYT1uW2ldO2lmKCEoYVtMdF18fGFbQXRdfHxlPT09YGxpbmtgJiZhLmdldEF0dHJpYnV0ZShgcmVsYCk9PT1gc3R5bGVzaGVldGApJiZhLm5hbWVzcGFjZVVSSSE9PWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2Ape3ZhciBvPWEuZ2V0QXR0cmlidXRlKHQpfHxgYDtvPWUrbzt2YXIgcz1yLmdldChvKTtzP3MucHVzaChhKTpyLnNldChvLFthXSl9fXJldHVybiByfWZ1bmN0aW9uIEttKGUsdCxuKXtlPWUub3duZXJEb2N1bWVudHx8ZSxlLmhlYWQuaW5zZXJ0QmVmb3JlKG4sdD09PWB0aXRsZWA_ZS5xdWVyeVNlbGVjdG9yKGBoZWFkID4gdGl0bGVgKTpudWxsKX1mdW5jdGlvbiBxbShlLHQsbil7aWYobj09PTF8fHQuaXRlbVByb3AhPW51bGwpcmV0dXJuITE7c3dpdGNoKGUpe2Nhc2VgbWV0YWA6Y2FzZWB0aXRsZWA6cmV0dXJuITA7Y2FzZWBzdHlsZWA6aWYodHlwZW9mIHQucHJlY2VkZW5jZSE9YHN0cmluZ2B8fHR5cGVvZiB0LmhyZWYhPWBzdHJpbmdgfHx0LmhyZWY9PT1gYClicmVhaztyZXR1cm4hMDtjYXNlYGxpbmtgOmlmKHR5cGVvZiB0LnJlbCE9YHN0cmluZ2B8fHR5cGVvZiB0LmhyZWYhPWBzdHJpbmdgfHx0LmhyZWY9PT1gYHx8dC5vbkxvYWR8fHQub25FcnJvcilicmVhaztzd2l0Y2godC5yZWwpe2Nhc2Vgc3R5bGVzaGVldGA6cmV0dXJuIGU9dC5kaXNhYmxlZCx0eXBlb2YgdC5wcmVjZWRlbmNlPT1gc3RyaW5nYCYmZT09bnVsbDtkZWZhdWx0OnJldHVybiEwfWNhc2Vgc2NyaXB0YDppZih0LmFzeW5jJiZ0eXBlb2YgdC5hc3luYyE9YGZ1bmN0aW9uYCYmdHlwZW9mIHQuYXN5bmMhPWBzeW1ib2xgJiYhdC5vbkxvYWQmJiF0Lm9uRXJyb3ImJnQuc3JjJiZ0eXBlb2YgdC5zcmM9PWBzdHJpbmdgKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIEptKGUsdCl7cmV0dXJuIGU9PT1gaW1nYCYmdC5zcmMhPW51bGwmJnQuc3JjIT09YGAmJnQub25Mb2FkPT1udWxsJiZ0LmxvYWRpbmchPT1gbGF6eWB9ZnVuY3Rpb24gWW0oZSl7cmV0dXJuIShlLnR5cGU9PT1gc3R5bGVzaGVldGAmJiEoZS5zdGF0ZS5sb2FkaW5nJjMpKX1mdW5jdGlvbiBYbShlKXtyZXR1cm4oZS53aWR0aHx8MTAwKSooZS5oZWlnaHR8fDEwMCkqKHR5cGVvZiBkZXZpY2VQaXhlbFJhdGlvPT1gbnVtYmVyYD9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBabShlLHQpe3R5cGVvZiB0LmRlY29kZT09YGZ1bmN0aW9uYCYmKGUuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwoZS5pbWdCeXRlcys9WG0odCksZS5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksZT1yaC5iaW5kKGUpLHQuZGVjb2RlKCkudGhlbihlLGUpKX1mdW5jdGlvbiBRbShlLHQsbixyKXtpZihuLnR5cGU9PT1gc3R5bGVzaGVldGAmJih0eXBlb2Ygci5tZWRpYSE9YHN0cmluZ2B8fCExIT09bWF0Y2hNZWRpYShyLm1lZGlhKS5tYXRjaGVzKSYmIShuLnN0YXRlLmxvYWRpbmcmNCkpe2lmKG4uaW5zdGFuY2U9PT1udWxsKXt2YXIgaT1QbShyLmhyZWYpLGE9dC5xdWVyeVNlbGVjdG9yKEZtKGkpKTtpZihhKXt0PWEuX3AsdHlwZW9mIHQ9PWBvYmplY3RgJiZ0JiZ0eXBlb2YgdC50aGVuPT1gZnVuY3Rpb25gJiYoZS5jb3VudCsrLGU9bmguYmluZChlKSx0LnRoZW4oZSxlKSksbi5zdGF0ZS5sb2FkaW5nfD00LG4uaW5zdGFuY2U9YSxXdChhKTtyZXR1cm59YT10Lm93bmVyRG9jdW1lbnR8fHQscj1JbShyKSwoaT12bS5nZXQoaSkpJiZIbShyLGkpLGE9YS5jcmVhdGVFbGVtZW50KGBsaW5rYCksV3QoYSk7dmFyIG89YTtvLl9wPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7by5vbmxvYWQ9ZSxvLm9uZXJyb3I9dH0pLG5wKGEsYGxpbmtgLHIpLG4uaW5zdGFuY2U9YX1lLnN0eWxlc2hlZXRzPT09bnVsbCYmKGUuc3R5bGVzaGVldHM9bmV3IE1hcCksZS5zdHlsZXNoZWV0cy5zZXQobix0KSwodD1uLnN0YXRlLnByZWxvYWQpJiYhKG4uc3RhdGUubG9hZGluZyYzKSYmKGUuY291bnQrKyxuPW5oLmJpbmQoZSksdC5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxuKSx0LmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCxuKSl9fXZhciAkbT0wO2Z1bmN0aW9uIGVoKGUsdCl7cmV0dXJuIGUuc3R5bGVzaGVldHMmJmUuY291bnQ9PT0wJiZhaChlLGUuc3R5bGVzaGVldHMpLDA8ZS5jb3VudHx8MDxlLmltZ0NvdW50P2Z1bmN0aW9uKG4pe3ZhciByPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihlLnN0eWxlc2hlZXRzJiZhaChlLGUuc3R5bGVzaGVldHMpLGUudW5zdXNwZW5kKXt2YXIgdD1lLnVuc3VzcGVuZDtlLnVuc3VzcGVuZD1udWxsLHQoKX19LDZlNCt0KTswPGUuaW1nQnl0ZXMmJiRtPT09MCYmKCRtPTYyNTAwKm9wKCkpO3ZhciBpPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihlLndhaXRpbmdGb3JJbWFnZXM9ITEsZS5jb3VudD09PTAmJihlLnN0eWxlc2hlZXRzJiZhaChlLGUuc3R5bGVzaGVldHMpLGUudW5zdXNwZW5kKSl7dmFyIHQ9ZS51bnN1c3BlbmQ7ZS51bnN1c3BlbmQ9bnVsbCx0KCl9fSwoZS5pbWdCeXRlcz4kbT81MDo4MDApK3QpO3JldHVybiBlLnVuc3VzcGVuZD1uLGZ1bmN0aW9uKCl7ZS51bnN1c3BlbmQ9bnVsbCxjbGVhclRpbWVvdXQociksY2xlYXJUaW1lb3V0KGkpfX06bnVsbH1mdW5jdGlvbiB0aChlKXtpZihlLmNvdW50PT09MCYmKGUuaW1nQ291bnQ9PT0wfHwhZS53YWl0aW5nRm9ySW1hZ2VzKSl7aWYoZS5zdHlsZXNoZWV0cylhaChlLGUuc3R5bGVzaGVldHMpO2Vsc2UgaWYoZS51bnN1c3BlbmQpe3ZhciB0PWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsdCgpfX19ZnVuY3Rpb24gbmgoKXt0aGlzLmNvdW50LS0sdGgodGhpcyl9ZnVuY3Rpb24gcmgoKXt0aGlzLmltZ0NvdW50LS0sdGgodGhpcyl9dmFyIGloPW51bGw7ZnVuY3Rpb24gYWgoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsZS51bnN1c3BlbmQhPT1udWxsJiYoZS5jb3VudCsrLGloPW5ldyBNYXAsdC5mb3JFYWNoKG9oLGUpLGloPW51bGwsbmguY2FsbChlKSl9ZnVuY3Rpb24gb2goZSx0KXtpZighKHQuc3RhdGUubG9hZGluZyY0KSl7dmFyIG49aWguZ2V0KGUpO2lmKG4pdmFyIHI9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsaWguc2V0KGUsbik7Zm9yKHZhciBpPWUucXVlcnlTZWxlY3RvckFsbChgbGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV1gKSxhPTA7YTxpLmxlbmd0aDthKyspe3ZhciBvPWlbYV07KG8ubm9kZU5hbWU9PT1gTElOS2B8fG8uZ2V0QXR0cmlidXRlKGBtZWRpYWApIT09YG5vdCBhbGxgKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLHI9byl9ciYmbi5zZXQobnVsbCxyKX1pPXQuaW5zdGFuY2Usbz1pLmdldEF0dHJpYnV0ZShgZGF0YS1wcmVjZWRlbmNlYCksYT1uLmdldChvKXx8cixhPT09ciYmbi5zZXQobnVsbCxpKSxuLnNldChvLGkpLHRoaXMuY291bnQrKyxyPW5oLmJpbmQodGhpcyksaS5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxyKSxpLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCxyKSxhP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxhLm5leHRTaWJsaW5nKTooZT1lLm5vZGVUeXBlPT09OT9lLmhlYWQ6ZSxlLmluc2VydEJlZm9yZShpLGUuZmlyc3RDaGlsZCkpLHQuc3RhdGUubG9hZGluZ3w9NH19dmFyIHNoPXskJHR5cGVvZjp1ZSxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2N1cnJlbnRWYWx1ZTpFZSxfY3VycmVudFZhbHVlMjpFZSxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gY2goZSx0LG4scixpLGEsbyxzLGMpe3RoaXMudGFnPTEsdGhpcy5jb250YWluZXJJbmZvPWUsdGhpcy5waW5nQ2FjaGU9dGhpcy5jdXJyZW50PXRoaXMucGVuZGluZ0NoaWxkcmVuPW51bGwsdGhpcy50aW1lb3V0SGFuZGxlPS0xLHRoaXMuY2FsbGJhY2tOb2RlPXRoaXMubmV4dD10aGlzLnBlbmRpbmdDb250ZXh0PXRoaXMuY29udGV4dD10aGlzLmNhbmNlbFBlbmRpbmdDb21taXQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV4cGlyYXRpb25UaW1lcz15dCgtMSksdGhpcy5lbnRhbmdsZWRMYW5lcz10aGlzLnNoZWxsU3VzcGVuZENvdW50ZXI9dGhpcy5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLndhcm1MYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9eXQoMCksdGhpcy5oaWRkZW5VcGRhdGVzPXl0KG51bGwpLHRoaXMuaWRlbnRpZmllclByZWZpeD1yLHRoaXMub25VbmNhdWdodEVycm9yPWksdGhpcy5vbkNhdWdodEVycm9yPWEsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9byx0aGlzLnBvb2xlZENhY2hlPW51bGwsdGhpcy5wb29sZWRDYWNoZUxhbmVzPTAsdGhpcy5mb3JtU3RhdGU9Yyx0aGlzLnRyYW5zaXRpb25UeXBlcz1udWxsLHRoaXMuaW5jb21wbGV0ZVRyYW5zaXRpb25zPW5ldyBNYXB9ZnVuY3Rpb24gbGgoZSx0LG4scixpLGEsbyxzLGMsbCx1LGQpe3JldHVybiBlPW5ldyBjaChlLHQsbixvLGMsbCx1LGQscyksdD0xLCEwPT09YSYmKHR8PTI0KSxhPXppKDMsbnVsbCxudWxsLHQpLGUuY3VycmVudD1hLGEuc3RhdGVOb2RlPWUsdD1GYSgpLHQucmVmQ291bnQrKyxlLnBvb2xlZENhY2hlPXQsdC5yZWZDb3VudCsrLGEubWVtb2l6ZWRTdGF0ZT17ZWxlbWVudDpyLGlzRGVoeWRyYXRlZDpuLGNhY2hlOnR9LHZvKGEpLGV9ZnVuY3Rpb24gdWgoZSl7cmV0dXJuIGU_KGU9TGksZSk6TGl9ZnVuY3Rpb24gZGgoZSx0LG4scixpLGEpe2k9dWgoaSksci5jb250ZXh0PT09bnVsbD9yLmNvbnRleHQ9aTpyLnBlbmRpbmdDb250ZXh0PWkscj1ibyh0KSxyLnBheWxvYWQ9e2VsZW1lbnQ6bn0sYT1hPT09dm9pZCAwP251bGw6YSxhIT09bnVsbCYmKHIuY2FsbGJhY2s9YSksbj14byhlLHIsdCksbiE9PW51bGwmJihQZChuLGUsdCksU28obixlLHQpKX1mdW5jdGlvbiBmaChlLHQpe2lmKGU9ZS5tZW1vaXplZFN0YXRlLGUhPT1udWxsJiZlLmRlaHlkcmF0ZWQhPT1udWxsKXt2YXIgbj1lLnJldHJ5TGFuZTtlLnJldHJ5TGFuZT1uIT09MCYmbjx0P246dH19ZnVuY3Rpb24gcGgoZSx0KXtmaChlLHQpLChlPWUuYWx0ZXJuYXRlKSYmZmgoZSx0KX1mdW5jdGlvbiBtaChlKXtpZihlLnRhZz09PTEzfHxlLnRhZz09PTMxKXt2YXIgdD1QaShlLDY3MTA4ODY0KTt0IT09bnVsbCYmUGQodCxlLDY3MTA4ODY0KSxwaChlLDY3MTA4ODY0KX19ZnVuY3Rpb24gaGgoZSl7aWYoZS50YWc9PT0xM3x8ZS50YWc9PT0zMSl7dmFyIHQ9amQoKTt0PVR0KHQpO3ZhciBuPVBpKGUsdCk7biE9PW51bGwmJlBkKG4sZSx0KSxwaChlLHQpfX12YXIgZ2g9ITA7ZnVuY3Rpb24gX2goZSx0LG4scil7dmFyIGk9VC5UO1QuVD1udWxsO3ZhciBhPUUucDt0cnl7RS5wPTIseWgoZSx0LG4scil9ZmluYWxseXtFLnA9YSxULlQ9aX19ZnVuY3Rpb24gdmgoZSx0LG4scil7dmFyIGk9VC5UO1QuVD1udWxsO3ZhciBhPUUucDt0cnl7RS5wPTgseWgoZSx0LG4scil9ZmluYWxseXtFLnA9YSxULlQ9aX19ZnVuY3Rpb24geWgoZSx0LG4scil7aWYoZ2gpe3ZhciBpPWJoKHIpO2lmKGk9PT1udWxsKUtmKGUsdCxyLHhoLG4pLE1oKGUscik7ZWxzZSBpZihQaChpLGUsdCxuLHIpKXIuc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihNaChlLHIpLHQmNCYmLTE8amguaW5kZXhPZihlKSl7Zm9yKDtpIT09bnVsbDspe3ZhciBhPVZ0KGkpO2lmKGEhPT1udWxsKXN3aXRjaChhLnRhZyl7Y2FzZSAzOmlmKGE9YS5zdGF0ZU5vZGUsYS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgbz1wdChhLnBlbmRpbmdMYW5lcyk7aWYobyE9PTApe3ZhciBzPWE7Zm9yKHMucGVuZGluZ0xhbmVzfD0yLHMuZW50YW5nbGVkTGFuZXN8PTI7bzspe3ZhciBjPTE8PDMxLW90KG8pO3MuZW50YW5nbGVtZW50c1sxXXw9YyxvJj1-Y31FZihhKSwhKFcmNikmJihfZD1KZSgpKzUwMCxEZigwLCExKSl9fWJyZWFrO2Nhc2UgMzE6Y2FzZSAxMzpzPVBpKGEsMikscyE9PW51bGwmJlBkKHMsYSwyKSx6ZCgpLHBoKGEsMil9aWYoYT1iaChyKSxhPT09bnVsbCYmS2YoZSx0LHIseGgsbiksYT09PWkpYnJlYWs7aT1hfWkhPT1udWxsJiZyLnN0b3BQcm9wYWdhdGlvbigpfWVsc2UgS2YoZSx0LHIsbnVsbCxuKX19ZnVuY3Rpb24gYmgoZSl7cmV0dXJuIGU9T24oZSksU2goZSl9dmFyIHhoPW51bGw7ZnVuY3Rpb24gU2goZSl7aWYoeGg9bnVsbCxlPUJ0KGUpLGUhPT1udWxsKXt2YXIgdD1zKGUpO2lmKHQ9PT1udWxsKWU9bnVsbDtlbHNle3ZhciBuPXQudGFnO2lmKG49PT0xMyl7aWYoZT1jKHQpLGUhPT1udWxsKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKG49PT0zMSl7aWYoZT1sKHQpLGUhPT1udWxsKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKG49PT0zKXtpZih0LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiB0LnRhZz09PTM_dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIHQhPT1lJiYoZT1udWxsKX19cmV0dXJuIHhoPWUsbnVsbH1mdW5jdGlvbiBDaChlKXtzd2l0Y2goZSl7Y2FzZWBiZWZvcmV0b2dnbGVgOmNhc2VgY2FuY2VsYDpjYXNlYGNsaWNrYDpjYXNlYGNsb3NlYDpjYXNlYGNvbnRleHRtZW51YDpjYXNlYGNvcHlgOmNhc2VgY3V0YDpjYXNlYGF1eGNsaWNrYDpjYXNlYGRibGNsaWNrYDpjYXNlYGRyYWdlbmRgOmNhc2VgZHJhZ3N0YXJ0YDpjYXNlYGRyb3BgOmNhc2VgZm9jdXNpbmA6Y2FzZWBmb2N1c291dGA6Y2FzZWBpbnB1dGA6Y2FzZWBpbnZhbGlkYDpjYXNlYGtleWRvd25gOmNhc2Vga2V5cHJlc3NgOmNhc2Vga2V5dXBgOmNhc2VgbW91c2Vkb3duYDpjYXNlYG1vdXNldXBgOmNhc2VgcGFzdGVgOmNhc2VgcGF1c2VgOmNhc2VgcGxheWA6Y2FzZWBwb2ludGVyY2FuY2VsYDpjYXNlYHBvaW50ZXJkb3duYDpjYXNlYHBvaW50ZXJ1cGA6Y2FzZWByYXRlY2hhbmdlYDpjYXNlYHJlc2V0YDpjYXNlYHNlZWtlZGA6Y2FzZWBzdWJtaXRgOmNhc2VgdG9nZ2xlYDpjYXNlYHRvdWNoY2FuY2VsYDpjYXNlYHRvdWNoZW5kYDpjYXNlYHRvdWNoc3RhcnRgOmNhc2Vgdm9sdW1lY2hhbmdlYDpjYXNlYGNoYW5nZWA6Y2FzZWBzZWxlY3Rpb25jaGFuZ2VgOmNhc2VgdGV4dElucHV0YDpjYXNlYGNvbXBvc2l0aW9uc3RhcnRgOmNhc2VgY29tcG9zaXRpb25lbmRgOmNhc2VgY29tcG9zaXRpb251cGRhdGVgOmNhc2VgYmVmb3JlYmx1cmA6Y2FzZWBhZnRlcmJsdXJgOmNhc2VgYmVmb3JlaW5wdXRgOmNhc2VgYmx1cmA6Y2FzZWBmdWxsc2NyZWVuY2hhbmdlYDpjYXNlYGZ1bGxzY3JlZW5lcnJvcmA6Y2FzZWBmb2N1c2A6Y2FzZWBoYXNoY2hhbmdlYDpjYXNlYHBvcHN0YXRlYDpjYXNlYHNlbGVjdGA6Y2FzZWBzZWxlY3RzdGFydGA6cmV0dXJuIDI7Y2FzZWBkcmFnYDpjYXNlYGRyYWdlbnRlcmA6Y2FzZWBkcmFnZXhpdGA6Y2FzZWBkcmFnbGVhdmVgOmNhc2VgZHJhZ292ZXJgOmNhc2VgbW91c2Vtb3ZlYDpjYXNlYG1vdXNlb3V0YDpjYXNlYG1vdXNlb3ZlcmA6Y2FzZWBwb2ludGVybW92ZWA6Y2FzZWBwb2ludGVyb3V0YDpjYXNlYHBvaW50ZXJvdmVyYDpjYXNlYHJlc2l6ZWA6Y2FzZWBzY3JvbGxgOmNhc2VgdG91Y2htb3ZlYDpjYXNlYHdoZWVsYDpjYXNlYG1vdXNlZW50ZXJgOmNhc2VgbW91c2VsZWF2ZWA6Y2FzZWBwb2ludGVyZW50ZXJgOmNhc2VgcG9pbnRlcmxlYXZlYDpyZXR1cm4gODtjYXNlYG1lc3NhZ2VgOnN3aXRjaChZZSgpKXtjYXNlIFhlOnJldHVybiAyO2Nhc2UgWmU6cmV0dXJuIDg7Y2FzZSBRZTpjYXNlICRlOnJldHVybiAzMjtjYXNlIGV0OnJldHVybiAyNjg0MzU0NTY7ZGVmYXVsdDpyZXR1cm4gMzJ9ZGVmYXVsdDpyZXR1cm4gMzJ9fXZhciB3aD0hMSxUaD1udWxsLEVoPW51bGwsRGg9bnVsbCxPaD1uZXcgTWFwLGtoPW5ldyBNYXAsQWg9W10samg9YG1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldGAuc3BsaXQoYCBgKTtmdW5jdGlvbiBNaChlLHQpe3N3aXRjaChlKXtjYXNlYGZvY3VzaW5gOmNhc2VgZm9jdXNvdXRgOlRoPW51bGw7YnJlYWs7Y2FzZWBkcmFnZW50ZXJgOmNhc2VgZHJhZ2xlYXZlYDpFaD1udWxsO2JyZWFrO2Nhc2VgbW91c2VvdmVyYDpjYXNlYG1vdXNlb3V0YDpEaD1udWxsO2JyZWFrO2Nhc2VgcG9pbnRlcm92ZXJgOmNhc2VgcG9pbnRlcm91dGA6T2guZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlYGdvdHBvaW50ZXJjYXB0dXJlYDpjYXNlYGxvc3Rwb2ludGVyY2FwdHVyZWA6a2guZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gTmgoZSx0LG4scixpLGEpe3JldHVybiBlPT09bnVsbHx8ZS5uYXRpdmVFdmVudCE9PWE_KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6cixuYXRpdmVFdmVudDphLHRhcmdldENvbnRhaW5lcnM6W2ldfSx0IT09bnVsbCYmKHQ9VnQodCksdCE9PW51bGwmJm1oKHQpKSxlKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLHQ9ZS50YXJnZXRDb250YWluZXJzLGkhPT1udWxsJiZ0LmluZGV4T2YoaSk9PT0tMSYmdC5wdXNoKGkpLGUpfWZ1bmN0aW9uIFBoKGUsdCxuLHIsaSl7c3dpdGNoKHQpe2Nhc2VgZm9jdXNpbmA6cmV0dXJuIFRoPU5oKFRoLGUsdCxuLHIsaSksITA7Y2FzZWBkcmFnZW50ZXJgOnJldHVybiBFaD1OaChFaCxlLHQsbixyLGkpLCEwO2Nhc2VgbW91c2VvdmVyYDpyZXR1cm4gRGg9TmgoRGgsZSx0LG4scixpKSwhMDtjYXNlYHBvaW50ZXJvdmVyYDp2YXIgYT1pLnBvaW50ZXJJZDtyZXR1cm4gT2guc2V0KGEsTmgoT2guZ2V0KGEpfHxudWxsLGUsdCxuLHIsaSkpLCEwO2Nhc2VgZ290cG9pbnRlcmNhcHR1cmVgOnJldHVybiBhPWkucG9pbnRlcklkLGtoLnNldChhLE5oKGtoLmdldChhKXx8bnVsbCxlLHQsbixyLGkpKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBGaChlKXt2YXIgdD1CdChlLnRhcmdldCk7aWYodCE9PW51bGwpe3ZhciBuPXModCk7aWYobiE9PW51bGwpe2lmKHQ9bi50YWcsdD09PTEzKXtpZih0PWMobiksdCE9PW51bGwpe2UuYmxvY2tlZE9uPXQsT3QoZS5wcmlvcml0eSxmdW5jdGlvbigpe2hoKG4pfSk7cmV0dXJufX1lbHNlIGlmKHQ9PT0zMSl7aWYodD1sKG4pLHQhPT1udWxsKXtlLmJsb2NrZWRPbj10LE90KGUucHJpb3JpdHksZnVuY3Rpb24oKXtoaChuKX0pO3JldHVybn19ZWxzZSBpZih0PT09MyYmbi5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl7ZS5ibG9ja2VkT249bi50YWc9PT0zP24uc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtyZXR1cm59fX1lLmJsb2NrZWRPbj1udWxsfWZ1bmN0aW9uIEloKGUpe2lmKGUuYmxvY2tlZE9uIT09bnVsbClyZXR1cm4hMTtmb3IodmFyIHQ9ZS50YXJnZXRDb250YWluZXJzOzA8dC5sZW5ndGg7KXt2YXIgbj1iaChlLm5hdGl2ZUV2ZW50KTtpZihuPT09bnVsbCl7bj1lLm5hdGl2ZUV2ZW50O3ZhciByPW5ldyBuLmNvbnN0cnVjdG9yKG4udHlwZSxuKTtEbj1yLG4udGFyZ2V0LmRpc3BhdGNoRXZlbnQociksRG49bnVsbH1lbHNlIHJldHVybiB0PVZ0KG4pLHQhPT1udWxsJiZtaCh0KSxlLmJsb2NrZWRPbj1uLCExO3Quc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBMaChlLHQsbil7SWgoZSkmJm4uZGVsZXRlKHQpfWZ1bmN0aW9uIFJoKCl7d2g9ITEsVGghPT1udWxsJiZJaChUaCkmJihUaD1udWxsKSxFaCE9PW51bGwmJkloKEVoKSYmKEVoPW51bGwpLERoIT09bnVsbCYmSWgoRGgpJiYoRGg9bnVsbCksT2guZm9yRWFjaChMaCksa2guZm9yRWFjaChMaCl9ZnVuY3Rpb24gemgoZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLHdofHwod2g9ITAsdC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKHQudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksUmgpKSl9dmFyIEJoPW51bGw7ZnVuY3Rpb24gVmgoZSl7QmghPT1lJiYoQmg9ZSx0LnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2sodC51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe0JoPT09ZSYmKEJoPW51bGwpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9Myl7dmFyIG49ZVt0XSxyPWVbdCsxXSxpPWVbdCsyXTtpZih0eXBlb2YgciE9YGZ1bmN0aW9uYCl7aWYoU2gocnx8bik9PT1udWxsKWNvbnRpbnVlO2JyZWFrfXZhciBhPVZ0KG4pO2EhPT1udWxsJiYoZS5zcGxpY2UodCwzKSx0LT0zLHJjKGEse3BlbmRpbmc6ITAsZGF0YTppLG1ldGhvZDpuLm1ldGhvZCxhY3Rpb246cn0scixpKSl9fSkpfWZ1bmN0aW9uIEhoKGUpe2Z1bmN0aW9uIHQodCl7cmV0dXJuIHpoKHQsZSl9VGghPT1udWxsJiZ6aChUaCxlKSxFaCE9PW51bGwmJnpoKEVoLGUpLERoIT09bnVsbCYmemgoRGgsZSksT2guZm9yRWFjaCh0KSxraC5mb3JFYWNoKHQpO2Zvcih2YXIgbj0wO248QWgubGVuZ3RoO24rKyl7dmFyIHI9QWhbbl07ci5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCl9Zm9yKDswPEFoLmxlbmd0aCYmKG49QWhbMF0sbi5ibG9ja2VkT249PT1udWxsKTspRmgobiksbi5ibG9ja2VkT249PT1udWxsJiZBaC5zaGlmdCgpO2lmKG49KGUub3duZXJEb2N1bWVudHx8ZSkuJCRyZWFjdEZvcm1SZXBsYXksbiE9bnVsbClmb3Iocj0wO3I8bi5sZW5ndGg7cis9Myl7dmFyIGk9bltyXSxhPW5bcisxXSxvPWlbanRdfHxudWxsO2lmKHR5cGVvZiBhPT1gZnVuY3Rpb25gKW98fFZoKG4pO2Vsc2UgaWYobyl7dmFyIHM9bnVsbDtpZihhJiZhLmhhc0F0dHJpYnV0ZShgZm9ybUFjdGlvbmApKXtpZihpPWEsbz1hW2p0XXx8bnVsbClzPW8uZm9ybUFjdGlvbjtlbHNlIGlmKFNoKGkpIT09bnVsbCljb250aW51ZX1lbHNlIHM9by5hY3Rpb247dHlwZW9mIHM9PWBmdW5jdGlvbmA_bltyKzFdPXM6KG4uc3BsaWNlKHIsMyksci09MyksVmgobil9fX1mdW5jdGlvbiBVaCgpe2Z1bmN0aW9uIGUoZSl7ZS5jYW5JbnRlcmNlcHQmJmUuaW5mbz09PWByZWFjdC10cmFuc2l0aW9uYCYmZS5pbnRlcmNlcHQoe2hhbmRsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7cmV0dXJuIGk9ZX0pfSxmb2N1c1Jlc2V0OmBtYW51YWxgLHNjcm9sbDpgbWFudWFsYH0pfWZ1bmN0aW9uIHQoKXtpIT09bnVsbCYmKGkoKSxpPW51bGwpLHJ8fHNldFRpbWVvdXQobiwyMCl9ZnVuY3Rpb24gbigpe2lmKCFyJiYhbmF2aWdhdGlvbi50cmFuc2l0aW9uKXt2YXIgZT1uYXZpZ2F0aW9uLmN1cnJlbnRFbnRyeTtlJiZlLnVybCE9bnVsbCYmbmF2aWdhdGlvbi5uYXZpZ2F0ZShlLnVybCx7c3RhdGU6ZS5nZXRTdGF0ZSgpLGluZm86YHJlYWN0LXRyYW5zaXRpb25gLGhpc3Rvcnk6YHJlcGxhY2VgfSl9fWlmKHR5cGVvZiBuYXZpZ2F0aW9uPT1gb2JqZWN0YCl7dmFyIHI9ITEsaT1udWxsO3JldHVybiBuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoYG5hdmlnYXRlYCxlKSxuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoYG5hdmlnYXRlc3VjY2Vzc2AsdCksbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKGBuYXZpZ2F0ZWVycm9yYCx0KSxzZXRUaW1lb3V0KG4sMTAwKSxmdW5jdGlvbigpe3I9ITAsbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKGBuYXZpZ2F0ZWAsZSksbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKGBuYXZpZ2F0ZXN1Y2Nlc3NgLHQpLG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcihgbmF2aWdhdGVlcnJvcmAsdCksaSE9PW51bGwmJihpKCksaT1udWxsKX19fWZ1bmN0aW9uIFdoKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfUdoLnByb3RvdHlwZS5yZW5kZXI9V2gucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9pbnRlcm5hbFJvb3Q7aWYodD09PW51bGwpdGhyb3cgRXJyb3IoaSg0MDkpKTt2YXIgbj10LmN1cnJlbnQ7ZGgobixqZCgpLGUsdCxudWxsLG51bGwpfSxHaC5wcm90b3R5cGUudW5tb3VudD1XaC5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdDtpZihlIT09bnVsbCl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHQ9ZS5jb250YWluZXJJbmZvO2RoKGUuY3VycmVudCwyLG51bGwsZSxudWxsLG51bGwpLHpkKCksdFtNdF09bnVsbH19O2Z1bmN0aW9uIEdoKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfUdoLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1EdCgpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5OnR9O2Zvcih2YXIgbj0wO248QWgubGVuZ3RoJiZ0IT09MCYmdDxBaFtuXS5wcmlvcml0eTtuKyspO0FoLnNwbGljZShuLDAsZSksbj09PTAmJkZoKGUpfX07dmFyIEtoPW4udmVyc2lvbjtpZihLaCE9PWAxOS4zLjFgKXRocm93IEVycm9yKGkoNTI3LEtoLGAxOS4zLjFgKSk7RS5maW5kRE9NTm9kZT1mdW5jdGlvbihlKXt2YXIgdD1lLl9yZWFjdEludGVybmFscztpZih0PT09dm9pZCAwKXRocm93IHR5cGVvZiBlLnJlbmRlcj09YGZ1bmN0aW9uYD9FcnJvcihpKDE4OCkpOihlPU9iamVjdC5rZXlzKGUpLmpvaW4oYCxgKSxFcnJvcihpKDI2OCxlKSkpO3JldHVybiBlPWQodCksZT1lPT09bnVsbD9udWxsOmYoZSksZT1lPT09bnVsbD9udWxsOmUuc3RhdGVOb2RlLGV9O3ZhciBxaD17YnVuZGxlVHlwZTowLHZlcnNpb246YDE5LjMuMWAscmVuZGVyZXJQYWNrYWdlTmFtZTpgcmVhY3QtZG9tYCxjdXJyZW50RGlzcGF0Y2hlclJlZjpULHJlY29uY2lsZXJWZXJzaW9uOmAxOS4zLjFgfTtpZih0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPGB1YCl7dmFyIEpoPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighSmguaXNEaXNhYmxlZCYmSmguc3VwcG9ydHNGaWJlcil0cnl7cnQ9SmguaW5qZWN0KHFoKSxpdD1KaH1jYXRjaHt9fWUuY3JlYXRlUm9vdD1mdW5jdGlvbihlLHQpe2lmKCFvKGUpKXRocm93IEVycm9yKGkoMjk5KSk7dmFyIG49ITEscj1gYCxhPUVjLHM9RGMsYz1PYztyZXR1cm4gdCE9bnVsbCYmKCEwPT09dC51bnN0YWJsZV9zdHJpY3RNb2RlJiYobj0hMCksdC5pZGVudGlmaWVyUHJlZml4IT09dm9pZCAwJiYocj10LmlkZW50aWZpZXJQcmVmaXgpLHQub25VbmNhdWdodEVycm9yIT09dm9pZCAwJiYoYT10Lm9uVW5jYXVnaHRFcnJvciksdC5vbkNhdWdodEVycm9yIT09dm9pZCAwJiYocz10Lm9uQ2F1Z2h0RXJyb3IpLHQub25SZWNvdmVyYWJsZUVycm9yIT09dm9pZCAwJiYoYz10Lm9uUmVjb3ZlcmFibGVFcnJvcikpLHQ9bGgoZSwxLCExLG51bGwsbnVsbCxuLHIsbnVsbCxhLHMsYyxVaCksZVtNdF09dC5jdXJyZW50LFdmKGUpLG5ldyBXaCh0KX19KSksdj1lKCgoZSx0KT0-e2Z1bmN0aW9uIG4oKXtpZih0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPGB1YCYmdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRT09YGZ1bmN0aW9uYCl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKG4pfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fW4oKSx0LmV4cG9ydHM9XygpfSkpLHk9YSgpLGI9digpO2Z1bmN0aW9uIHgoZSl7bGV0IHQ9ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0LnN0YXJ0c1dpdGgoYG1hY2ApP2BtYWNvc2A6dC5zdGFydHNXaXRoKGB3aW5gKT9gd2luZG93c2A6dC5zdGFydHNXaXRoKGBsaW51eGApP2BsaW51eGA6YG90aGVyYH1mdW5jdGlvbiBlZShlKXtsZXQgdD1lPz8odHlwZW9mIG5hdmlnYXRvcj5gdWA_dm9pZCAwOm5hdmlnYXRvcik7aWYodD09PXZvaWQgMClyZXR1cm5gb3RoZXJgO2xldCBuPXQudXNlckFnZW50RGF0YT8ucGxhdGZvcm07aWYodHlwZW9mIG49PWBzdHJpbmdgJiZuIT09YGApcmV0dXJuIHgobik7bGV0IHI9dC5wbGF0Zm9ybT8_YGA7cmV0dXJuIHIuc3RhcnRzV2l0aChgTWFjYCkmJih0Lm1heFRvdWNoUG9pbnRzPz8wKT4xP2BvdGhlcmA6eChyKX1mdW5jdGlvbiB0ZShlKXtsZXQgdD1lZShlKSxuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtyZXR1cm4gdD09PWBvdGhlcmA_bi5yZW1vdmVBdHRyaWJ1dGUoYGRhdGEtb3NgKTpuLnNldEF0dHJpYnV0ZShgZGF0YS1vc2AsdCksdH12YXIgUz1yKCksQz17aW5mbzpgaW5mb2Asc3VjY2VzczpgY2hlY2tgLHdhcm5pbmc6YHRyaWFuZ2xlLWFsZXJ0YCxkYW5nZXI6YGNpcmNsZS1hbGVydGAsbmV1dHJhbDpgaW5mb2Asb2ZmbGluZTpgd2lmaS1vZmZgLHByb29mOmBwcm9vZi1zZWFsYH07ZnVuY3Rpb24gbmUoe3RvbmU6ZT1gaW5mb2AsdGl0bGU6bixpY29uOnIsYWN0aW9uOmksY29tcGFjdDphLGNoaWxkcmVuOnN9KXtyZXR1cm4oMCxTLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6dChgYWwtYmFubmVyYCxgYWwtdG9uZS0ke2U9PT1gb2ZmbGluZWA_YG5ldXRyYWxgOmV9YCxhPT09ITAmJmBpcy1jb21wYWN0YCkscm9sZTplPT09YGRhbmdlcmB8fGU9PT1gd2FybmluZ2A_YGFsZXJ0YDpgc3RhdHVzYCxjaGlsZHJlbjpbKDAsUy5qc3gpKG8se25hbWU6cj8_Q1tlXSxzaXplOjE2fSksKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1iYW5uZXItdGV4dCBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOltuPT09dm9pZCAwP251bGw6KDAsUy5qc3gpKGBzdHJvbmdgLHtjaGlsZHJlbjpgJHtufSBgfSksc119KSxpPT09dm9pZCAwP251bGw6KDAsUy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWJhbm5lci1hY3RgLGNoaWxkcmVuOml9KV19KX1mdW5jdGlvbiB3KHt0aXRsZTplLHByb21wdDp0LGljb246bj1gaW5ib3hgLGFjdGlvbjpyfSl7cmV0dXJuKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1lbXB0eWAsY2hpbGRyZW46WygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtZW1wdHktaWNgLGNoaWxkcmVuOigwLFMuanN4KShvLHtuYW1lOm4sc2l6ZToyMH0pfSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmV9KSx0PT09dm9pZCAwP251bGw6KDAsUy5qc3hzKShgY29kZWAse2NsYXNzTmFtZTpgYWwtZW1wdHktdHJ5IGFsLXRleHQtY29kZWAsY2hpbGRyZW46WygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbXV0ZWRgLGNoaWxkcmVuOmBUcnk6IGB9KSx0XX0pLHI_P251bGxdfSl9YXN5bmMgZnVuY3Rpb24gcmUoZSl7dHJ5e2xldCB0PXR5cGVvZiBuYXZpZ2F0b3I-YHVgP3ZvaWQgMDpuYXZpZ2F0b3IuY2xpcGJvYXJkO3JldHVybiB0IT09dm9pZCAwJiYoYXdhaXQgdC53cml0ZVRleHQoZSksITApfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBpZSh7cHJvbXB0OmUsY29tbWFuZDpuLHRpdGxlOnIsbm90ZTppLHNpemU6YT1gZGVmYXVsdGB9KXtsZXRbcyxjXT0oMCx5LnVzZVN0YXRlKSghMSk7KDAseS51c2VFZmZlY3QpKCgpPT57aWYoIXMpcmV0dXJuO2xldCBlPXNldFRpbWVvdXQoKCk9PmMoITEpLDE2MDApO3JldHVybigpPT5jbGVhclRpbWVvdXQoZSl9LFtzXSk7bGV0IGw9biE9PXZvaWQgMCYmZT09PXZvaWQgMDtyZXR1cm4oMCxTLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOnQoYGFsLWNvcHlgLGE9PT1gaGVyb2AmJmBpcy1oZXJvYCksY2hpbGRyZW46WygwLFMuanN4cykoYGhlYWRlcmAse2NsYXNzTmFtZTpgYWwtY29weS1oZWFkYCxjaGlsZHJlbjpbKDAsUy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgYWwtY29weS10aXRsZWAsY2hpbGRyZW46WygwLFMuanN4KShvLHtuYW1lOmw_YHRlcm1pbmFsYDpgYWdlbnRgLHNpemU6MTR9KSwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOnI_PyhsP2BUZXJtaW5hbGA6YFBhc3RlIHRoaXMgdG8geW91ciBhZ2VudGApfSldfSksKDAsUy5qc3gpKHUse3NpemU6YHNtYCx2YXJpYW50OmE9PT1gaGVyb2A_YHByaW1hcnlgOmBnaG9zdGAsaWNvbjpzP2BjaGVja2A6YGNvcHlgLG9uQ2xpY2s6KCk9PntyZShlPz9uPz9gYCkudGhlbihlPT5jKGUpKX0sY2hpbGRyZW46cz9gQ29waWVkYDpgQ29weWB9KSwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXNyLW9ubHlgLHJvbGU6YHN0YXR1c2AsImFyaWEtbGl2ZSI6YHBvbGl0ZWAsY2hpbGRyZW46cz9gQ29waWVkYDpgYH0pXX0pLCgwLFMuanN4KShgcHJlYCx7Y2xhc3NOYW1lOmBhbC1jb3B5LWJvZHkgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjpsPygwLFMuanN4cykoUy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtY29weS1wc2AsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46YCQgYH0pLCgwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtY29weS1jbWRgLGNoaWxkcmVuOm59KV19KTplfSksaT09PXZvaWQgMD9udWxsOigwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtY29weS1ub3RlIGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46aX0pXX0pfXZhciBhZT17c2VudDpbYGluZm9gLGBhcnJvdy1yaWdodGAsYFNlbnRgXSxyZWNlaXZlZDpbYG5ldXRyYWxgLGBpbmJveGAsYFJlY2VpdmVkYF0sZGVsaXZlcmVkOltgc3VjY2Vzc2AsYHJlY2VpcHQtZGVsaXZlcmVkYCxgRGVsaXZlcmVkYF0sb3BlbmVkOltgc3VjY2Vzc2AsYHJlY2VpcHQtb3BlbmVkYCxgT3BlbmVkYF0sYWNjZXB0ZWQ6W2BzdWNjZXNzYCxgcmVjZWlwdC1hY2NlcHRlZGAsYEFjY2VwdGVkYF0scmVqZWN0ZWQ6W2BuZXV0cmFsYCxgcmVjZWlwdC1yZWplY3RlZGAsYFJlamVjdGVkYF0sImRlbGl2ZXJ5LXJlcXVlc3RlZCI6W2BpbmZvYCxgcmVjZWlwdC1kZWxpdmVyZWRgLGBEZWxpdmVyeSByZXF1ZXN0ZWRgXSxyZWNvcmRpbmc6W2BpbmZvYCxgcmVmcmVzaC1jd2AsYFJlY29yZGluZ2BdLHJlY29yZGVkOltgcHJvb2ZgLGBwcm9vZi1zZWFsYCxgUmVjb3JkZWRgXSwid2FpdGluZy10by1wb3N0IjpbYG5ldXRyYWxgLGBjbG9ja2AsYFdhaXRpbmcgdG8gcG9zdGBdLCJuZWVkcy1hcHByb3ZhbCI6W2BhY2NlbnRgLGBhcHByb3ZhbGAsYE5lZWRzIGFwcHJvdmFsYF0sYXBwcm92ZWQ6W2BzdWNjZXNzYCxgY2hlY2tgLGBBcHByb3ZlZGBdLGRlbmllZDpbYG5ldXRyYWxgLGB4YCxgRGVuaWVkYF0sZXhwaXJlZDpbYG5ldXRyYWxgLGBjbG9ja2AsYEV4cGlyZWRgXSwibmVlZHMtc2V0dXAiOltgd2FybmluZ2AsYHNldHRpbmdzYCxgTmVlZHMgc2V0dXBgXSwibmVlZHMtY3JlZGl0cyI6W2B3YXJuaW5nYCxgY2lyY2xlLWFsZXJ0YCxgTmVlZHMgY3JlZGl0c2BdLGZhaWxlZDpbYGRhbmdlcmAsYHRyaWFuZ2xlLWFsZXJ0YCxgRmFpbGVkYF0sZmxhZ2dlZDpbYHdhcm5pbmdgLGB0cmlhbmdsZS1hbGVydGAsYEZsYWdnZWRgXSxvbmxpbmU6W2BzdWNjZXNzYCxgY2lyY2xlYCxgT25saW5lYF0sImxhc3Qtc2VlbiI6W2BuZXV0cmFsYCxgY2xvY2tgLGBMYXN0IHNlZW5gXSxwYXVzZWQ6W2BuZXV0cmFsYCxgcGF1c2VgLGBQYXVzZWRgXSxvZmZsaW5lOltgbmV1dHJhbGAsYHdpZmktb2ZmYCxgT2ZmbGluZWBdfTtmdW5jdGlvbiBvZSh7c3RhdHVzOmUsZGV0YWlsOm4sY2hpbGRyZW46cixjbGFzc05hbWU6aX0pe2xldFthLHMsY109YWVbZV0_P2FlLnNlbnQ7cmV0dXJuKDAsUy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTp0KGBhbC1jaGlwYCxgYWwtdG9uZS0ke2F9YCxpKSxjaGlsZHJlbjpbKDAsUy5qc3gpKG8se25hbWU6cyxzaXplOjEyLHN0cm9rZVdpZHRoOjIuMjV9KSwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOnI_P2N9KSxuPT09dm9pZCAwP251bGw6KDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jaGlwLWRldGFpbCBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOm59KV19KX12YXIgc2U9e3NlbGZkZWNsYXJlZDpbYHNlbGZkZWNsYXJlZGAsYGlkZW50aXR5LXNlbGZkZWNsYXJlZGAsYFNlbGYtZGVjbGFyZWRgXSxjaGVja2VkOltgY2hlY2tlZGAsYGlkZW50aXR5LWNoZWNrZWRgLGBTYWZldHkgY29kZSBjaGVja2VkYF0scmVnaXN0ZXJlZDpbYHJlZ2lzdGVyZWRgLGBpZGVudGl0eS1yZWdpc3RlcmVkYCxgUmVnaXN0ZXJlZGBdLHZlcmlmaWVkOltgdmVyaWZpZWRgLGBpZGVudGl0eS12ZXJpZmllZGAsYFZlcmlmaWVkIGRvbWFpbmBdLCJkb21haW4td2FybmluZyI6W2B3YXJuaW5nYCxgZG9tYWluLXdhcm5pbmdgLGBEb21haW4gbm8gbG9uZ2VyIHZlcmlmaWVkYF19O2Z1bmN0aW9uIGNlKHtraW5kOmUsZG9tYWluOm4scHVueWNvZGU6cixkYXRlOmEsY2xhc3NOYW1lOnN9KXtsZXRbYyxsLHVdPXNlW2VdPz9zZS5zZWxmZGVjbGFyZWQsZD1lPT09YHZlcmlmaWVkYCYmbiE9PXZvaWQgMD9gJHt1fSDCtyAke2kobiwyNTMpfWA6dTtyZXR1cm4oMCxTLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOnQoYGFsLWlkbGAsYGFsLWlkbC0ke2N9YCxzKSx0aXRsZTplPT09YHNlbGZkZWNsYXJlZGA_YE5hbWUgY2hvc2VuIGJ5IGl0cyBvd25lci4gQ29tcGFyZSB0aGUgc2FmZXR5IGNvZGUgdG8gYmUgc3VyZS5gOnZvaWQgMCxjaGlsZHJlbjpbKDAsUy5qc3gpKG8se25hbWU6bCxzaXplOjEyLHN0cm9rZVdpZHRoOjIuMjV9KSwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46ZH0pLHI9PT12b2lkIDA_bnVsbDooMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWlkbC1wdW55IGFsLXRleHQtY29kZWAsY2hpbGRyZW46aShyLDI1Myl9KSxhPT09dm9pZCAwP251bGw6KDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1pZGwtZGF0ZSBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOmF9KV19KX1mdW5jdGlvbiBsZSh7dmFsdWU6ZSxwcmVmaXg6bixjbGFzc05hbWU6cn0pe2xldCBhPWkoZSw2NCk7cmV0dXJuKDAsUy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTp0KGBhbC1mcGAsciksY2hpbGRyZW46W249PT12b2lkIDA_bnVsbDooMCxTLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOltuLGAgYF19KSwoMCxTLmpzeCkoYHNwYW5gLHtyb2xlOmBpbWdgLGNsYXNzTmFtZTpgYWwtdGV4dC1jb2RlYCwiYXJpYS1sYWJlbCI6YS5zcGxpdChgYCkuam9pbihgIGApLGNoaWxkcmVuOmF9KV19KX12YXIgdWU9W2B2ZXJpZmllZGAsYHJlZ2lzdGVyZWRgLGBzZWxmLWRlY2xhcmVkYCxgc2VsZmRlY2xhcmVkYCxgc2FmZXR5IGNvZGVgLGBjaGVja2VkYCxgYWdlbnRsaW5rYCxgc3lzdGVtYCxgYXBwcm92ZWRgLGBvd25lcmBdLGRlPS9eW0EtWmEtejAtOVx1MDBDMC1cdTAyNEYgLidcdTIwMTktXSskLyxmZT17dGVzdDplPT5kZS50ZXN0KGUpJiYhL1tcdTAwRDdcdTAwRjddLy50ZXN0KGUpfTtmdW5jdGlvbiBwZShlKXtsZXQgdD1pKGUuYWxpYXM_P2BgLDEwMCkudHJpbSgpO2lmKHQhPT1gYClyZXR1cm57a2luZDpgYWxpYXNgLHRleHQ6dH07bGV0IG49KGUubmFtZT8_YGApLm5vcm1hbGl6ZShgTkZDYCkudHJpbSgpLHI9bi50b0xvd2VyQ2FzZSgpO3JldHVybiBuPT09YGB8fHVlLnNvbWUoZT0-ci5pbmNsdWRlcyhlKSl8fCFmZS50ZXN0KG4pP3traW5kOmBmaW5nZXJwcmludGAsdGV4dDpgQ29udGFjdCAke2koZS5maW5nZXJwcmludD8_YOKAlGAsNjQpfWB9OntraW5kOmByZXN0cmljdGVkYCx0ZXh0OmDigJwke24uc2xpY2UoMCwzMil94oCdYH19ZnVuY3Rpb24gbWUoe2xhYmVsOmUsZG9tYWluOm4sc2hvd0xhYmVsOnIsY2xhc3NOYW1lOmEsLi4ub30pe2xldCBzPXBlKG8pLGM9ZT8_KHMua2luZD09PWByZXN0cmljdGVkYD9gc2VsZmRlY2xhcmVkYDp2b2lkIDApLGw9Yz09PXZvaWQgMHx8cy5raW5kPT09YGFsaWFzYCYmciE9PSEwP251bGw6Yz09PWB2ZXJpZmllZGA_bj09PXZvaWQgMD9udWxsOigwLFMuanN4KShjZSx7a2luZDpgdmVyaWZpZWRgLGRvbWFpbjpufSk6KDAsUy5qc3gpKGNlLHtraW5kOmMsLi4ubj09PXZvaWQgMD97fTp7ZG9tYWluOm59fSk7cmV0dXJuKDAsUy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTp0KGBhbC1jbmFtZWAsYGFsLWNuYW1lLSR7cy5raW5kfWAsYSksY2hpbGRyZW46W3Mua2luZD09PWBmaW5nZXJwcmludGA_KDAsUy5qc3gpKGxlLHtwcmVmaXg6YENvbnRhY3RgLHZhbHVlOmkoby5maW5nZXJwcmludD8_YOKAlGAsNjQpfSk6KDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jbmFtZS10ZXh0YCxjaGlsZHJlbjpzLnRleHR9KSxsXX0pfXZhciBoZT17dGl0bGU6YFVuZGVyIHRoZSBob29kYCx0b29sdGlwOmBTaG93IHRoZSB0ZWNobmljYWwgZGV0YWlscy4gTm90aGluZyBoZXJlIGNoYW5nZXMgaG93IHRoZSBhcHAgd29ya3MuYCxlbXB0eTpgTm90aGluZyB0ZWNobmljYWwgdG8gc2hvdyBoZXJlIHlldC5gLGhpZGU6YEhpZGUgdGVjaG5pY2FsIGRldGFpbHNgLHNob3c6YFNob3cgdGVjaG5pY2FsIGRldGFpbHNgLHByb29mTGluazpgT3BlbiB0aGUgcHVibGljIHJlY29yZGAscHJldmlld1RpdGxlOmBQcmV2aWV3YCxwcmV2aWV3VHJ5OmBUcnkgaXRgLHByZXZpZXdTdGlsbDpgVGhlIHNhbXBsZSBzaXRzIHN0aWxsLmAscHJldmlld01vdmVkOmBUaGUgc2FtcGxlIGhhcyBtb3ZlZC4gV2l0aCByZWR1Y2VkIG1vdGlvbiBpdCBqdW1wcyBpbnN0ZWFkIG9mIGdsaWRpbmcuYH0sZ2U9KDAseS5jcmVhdGVDb250ZXh0KSghMSk7ZnVuY3Rpb24gX2Uoe3ZhbHVlOmUsY2hpbGRyZW46dH0pe3JldHVybigwLFMuanN4KShnZS5Qcm92aWRlcix7dmFsdWU6ZSxjaGlsZHJlbjp0fSl9ZnVuY3Rpb24gdmUoKXtyZXR1cm4oMCx5LnVzZUNvbnRleHQpKGdlKX1mdW5jdGlvbiB5ZSgpe3JldHVybiB0eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5tb3Rpb249PT1gcmVkdWNlZGA_ITA6dHlwZW9mIHdpbmRvdz5gdWB8fHR5cGVvZiB3aW5kb3cubWF0Y2hNZWRpYSE9YGZ1bmN0aW9uYD8hMTp3aW5kb3cubWF0Y2hNZWRpYShgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSlgKS5tYXRjaGVzfXZhciBiZT1uZXcgU2V0LHhlPW51bGw7ZnVuY3Rpb24gU2UoKXtsZXQgZT0oKT0-e2ZvcihsZXQgZSBvZlsuLi5iZV0pZSgpfSx0PXR5cGVvZiB3aW5kb3c8YHVgJiZ0eXBlb2Ygd2luZG93Lm1hdGNoTWVkaWE9PWBmdW5jdGlvbmA_d2luZG93Lm1hdGNoTWVkaWEoYChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpYCk6bnVsbDt0Py5hZGRFdmVudExpc3RlbmVyPy4oYGNoYW5nZWAsZSk7bGV0IG49bnVsbDtyZXR1cm4gdHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXI9PWBmdW5jdGlvbmAmJihuPW5ldyBNdXRhdGlvbk9ic2VydmVyKGUpLG4ub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQse2F0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOltgZGF0YS1tb3Rpb25gXX0pKSwoKT0-e3Q_LnJlbW92ZUV2ZW50TGlzdGVuZXI_LihgY2hhbmdlYCxlKSxuPy5kaXNjb25uZWN0KCl9fWZ1bmN0aW9uIENlKGUpe3JldHVybiBiZS5hZGQoZSkseGU_Pz1TZSgpLCgpPT57YmUuZGVsZXRlKGUpLGJlLnNpemU9PT0wJiYoeGU_LigpLHhlPW51bGwpfX1mdW5jdGlvbiB3ZSgpe3JldHVybigwLHkudXNlU3luY0V4dGVybmFsU3RvcmUpKENlLHllLCgpPT4hMSl9ZnVuY3Rpb24gVGUoKXtsZXRbZSx0XT0oMCx5LnVzZVN0YXRlKSgoKT0-dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuaGlkZGVuPT09ITApO3JldHVybigwLHkudXNlRWZmZWN0KSgoKT0-e2xldCBlPSgpPT50KGRvY3VtZW50LmhpZGRlbj09PSEwKTtyZXR1cm4gZSgpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLGUpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCxlKX0sW10pLGV9ZnVuY3Rpb24gVChlLHQpe2xldFtuLHJdPSgwLHkudXNlU3RhdGUpKGBgKTtyZXR1cm4oMCx5LnVzZUVmZmVjdCkoKCk9PntpZighdCl7cihgYCk7cmV0dXJufWxldCBuPXNldFRpbWVvdXQoKCk9PnIoZSksMCk7cmV0dXJuKCk9PmNsZWFyVGltZW91dChuKX0sW2UsdF0pLG59ZnVuY3Rpb24gRShlKXt0cnl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKGUpLnRyaW0oKX1jYXRjaHtyZXR1cm5gYH19ZnVuY3Rpb24gRWUoZSx0KXtsZXQgbj0vXihbXGQuXSspKG1zfHMpJC8uZXhlYyhFKGUpKTtyZXR1cm4gbj09PW51bGw_dDpOdW1iZXIoblsxXSkqKG5bMl09PT1gc2A_MWUzOjEpfWZ1bmN0aW9uIERlKGUsdCl7bGV0IG49RShlKTtyZXR1cm4gbj09PWBgP3Q6bn12YXIgT2U9YGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpYCxrZT1gY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpYCxBZT1gY3ViaWMtYmV6aWVyKDAuMywgMCwgMSwgMSlgLEQ9YGN1YmljLWJlemllcigwLjA1LCAwLjcsIDAuMSwgMSlgLGplPTEyMDAsTWU9NGUzO2Z1bmN0aW9uIE8oZSx0LG4scil7cmV0dXJuIHJ8fGU9PW51bGx8fHR5cGVvZiBlLmFuaW1hdGUhPWBmdW5jdGlvbmA_bnVsbDplLmFuaW1hdGUodCx7ZmlsbDpgYm90aGAsLi4ubn0pfXZhciBOZT17Y2hlY2tpbmc6W2BuZXV0cmFsYCxgcmluZ2AsYENoZWNraW5n4oCmYF0sY29ubmVjdGVkOltgc3VjY2Vzc2AsYGRvdGAsYENvbm5lY3RlZGBdLHJlY29ubmVjdGluZzpbYHdhcm5pbmdgLGBoYWxmLXJpbmdgLGBSZWNvbm5lY3RpbmfigKZgXSxwYXVzZWQ6W2BuZXV0cmFsYCxgYmFyc2AsYFBhdXNlZGBdLCJub3QtcnVubmluZyI6W2B3YXJuaW5nYCxgc2xhc2hgLGBOb3QgcnVubmluZ2BdLCJuZWVkcy1zZXR1cCI6W2BhY2NlbnRgLGBtYXJrYCxgTmVlZHMgc2V0dXBgXX07ZnVuY3Rpb24gUGUoe3N0YXRlOmUsbGFiZWw6bixsaXZlOnI9ITEsY2xhc3NOYW1lOml9KXtsZXQgYT13ZSgpLG89VGUoKSxbcyxjXT0oMCx5LnVzZVN0YXRlKSghMSk7KDAseS51c2VFZmZlY3QpKCgpPT57aWYoYyghMSksZSE9PWBjaGVja2luZ2ApcmV0dXJuO2xldCB0PXNldFRpbWVvdXQoKCk9PmMoITApLE1lKTtyZXR1cm4oKT0-Y2xlYXJUaW1lb3V0KHQpfSxbZV0pO2xldCBsPWU9PT1gY2hlY2tpbmdgJiZzP2Bub3QtcnVubmluZ2A6ZSxbdSxkLGZdPU5lW2xdPz9OZVtgbm90LXJ1bm5pbmdgXSxwPVQobj8_ZixyKSxtPSgwLHkudXNlUmVmKShudWxsKSxoPSgwLHkudXNlUmVmKShudWxsKSxnPSgwLHkudXNlUmVmKShudWxsKTtyZXR1cm4oMCx5LnVzZUVmZmVjdCkoKCk9PntsZXQgZT1nLmN1cnJlbnQ7Zy5jdXJyZW50PWwsbD09PWBjb25uZWN0ZWRgJiZlIT09bnVsbCYmZSE9PWBjb25uZWN0ZWRgJiZPKG0uY3VycmVudCxbe3RyYW5zZm9ybTpgc2NhbGUoMSlgLG9wYWNpdHk6LjV9LHt0cmFuc2Zvcm06YHNjYWxlKDIuMilgLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjpFZShgLS1hbC1kdXJhdGlvbi1tb21lbnRgLDQ4MCksZWFzaW5nOkRlKGAtLWFsLWVhc2luZy1lbnRlcmAsa2UpfSxhKSxsPT09YGNoZWNraW5nYCYmZSE9PWBjaGVja2luZ2AmJk8oaC5jdXJyZW50LFt7c3Ryb2tlRGFzaG9mZnNldDoxfSx7c3Ryb2tlRGFzaG9mZnNldDowfV0se2R1cmF0aW9uOk1lLGVhc2luZzpgbGluZWFyYH0sYSl9LFtsLGFdKSwoMCxTLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOnQoYGFsLWxpdmVkb3RgLGBhbC10b25lLSR7dX1gLGkpLCJkYXRhLXN0YXRlIjpsLCJkYXRhLXBhdXNlZCI6bz9gYDp2b2lkIDAsY2hpbGRyZW46WygwLFMuanN4cykoYHN2Z2Ase2NsYXNzTmFtZTpgYWwtbGQtc2hhcGVgLCJkYXRhLXNoYXBlIjpkLHdpZHRoOmAxNmAsaGVpZ2h0OmAxNmAsdmlld0JveDpgMCAwIDE2IDE2YCxmaWxsOmBub25lYCxzdHJva2U6YGN1cnJlbnRDb2xvcmAsc3Ryb2tlV2lkdGg6YDEuNWAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsZm9jdXNhYmxlOmBmYWxzZWAsY2hpbGRyZW46W2Q9PT1gcmluZ2A_KDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3gpKGBjaXJjbGVgLHtjeDpgOGAsY3k6YDhgLHI6YDVgLG9wYWNpdHk6YDAuNGB9KSwoMCxTLmpzeCkoYGNpcmNsZWAse3JlZjpoLGNsYXNzTmFtZTpgYWwtbGQtYXJjYCxjeDpgOGAsY3k6YDhgLHI6YDVgLHBhdGhMZW5ndGg6MSxzdHJva2VEYXNoYXJyYXk6YDFgLHN0cm9rZURhc2hvZmZzZXQ6KyFhfSldfSk6bnVsbCxkPT09YGRvdGA_KDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3gpKGBjaXJjbGVgLHtyZWY6bSxjbGFzc05hbWU6YGFsLWxkLXB1bHNlYCxjeDpgOGAsY3k6YDhgLHI6YDRgLG9wYWNpdHk6YDBgfSksKDAsUy5qc3gpKGBjaXJjbGVgLHtjeDpgOGAsY3k6YDhgLHI6YDRgLGZpbGw6YGN1cnJlbnRDb2xvcmAsc3Ryb2tlOmBub25lYH0pXX0pOm51bGwsZD09PWBoYWxmLXJpbmdgPygwLFMuanN4KShgZ2Ase2NsYXNzTmFtZTpgYWwtbGQtc3BpbmAsY2hpbGRyZW46KDAsUy5qc3gpKGBwYXRoYCx7ZDpgTTggM2E1IDUgMCAwIDEgMCAxMGAsc3Ryb2tlTGluZWNhcDpgcm91bmRgfSl9KTpudWxsLGQ9PT1gYmFyc2A_KDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3gpKGByZWN0YCx7eDpgNC43NWAseTpgNGAsd2lkdGg6YDJgLGhlaWdodDpgOGAscng6YDAuNWAsZmlsbDpgY3VycmVudENvbG9yYCxzdHJva2U6YG5vbmVgfSksKDAsUy5qc3gpKGByZWN0YCx7eDpgOS4yNWAseTpgNGAsd2lkdGg6YDJgLGhlaWdodDpgOGAscng6YDAuNWAsZmlsbDpgY3VycmVudENvbG9yYCxzdHJva2U6YG5vbmVgfSldfSk6bnVsbCxkPT09YHNsYXNoYD8oMCxTLmpzeHMpKFMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxTLmpzeCkoYGNpcmNsZWAse2N4OmA4YCxjeTpgOGAscjpgNC41YH0pLCgwLFMuanN4KShgcGF0aGAse2Q6YE00LjggMTEuMkwxMS4yIDQuOGAsc3Ryb2tlTGluZWNhcDpgcm91bmRgfSldfSk6bnVsbCxkPT09YG1hcmtgPygwLFMuanN4cykoUy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLFMuanN4KShgY2lyY2xlYCx7Y3g6YDhgLGN5OmA4YCxyOmA1YH0pLCgwLFMuanN4KShgY2lyY2xlYCx7Y3g6YDhgLGN5OmA4YCxyOmAxLjVgLGZpbGw6YGN1cnJlbnRDb2xvcmAsc3Ryb2tlOmBub25lYH0pXX0pOm51bGxdfSksKDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1sZC13b3JkIGFsLXRleHQtbGFiZWxgLCJhcmlhLWhpZGRlbiI6cj9gdHJ1ZWA6dm9pZCAwLGNoaWxkcmVuOm4_P2Z9KSxyPygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdmlzdWFsbHktaGlkZGVuIGFsLWxkLWxpdmVgLHJvbGU6YHN0YXR1c2AsImFyaWEtbGl2ZSI6YHBvbGl0ZWAsY2hpbGRyZW46cH0pOm51bGxdfSl9dmFyIEZlPXthcHByb3ZlZDpgQXBwcm92ZWRgLHByb29mOmBQcm9vZiByZWNvcmRlZGAsY29kZXM6YENvZGVzIG1hdGNoYCxmaWxlOmBGaWxlIHJlY2VpdmVkYH0sSWU9YE0zLjUgOC41bDMgMyA2LTdgO2Z1bmN0aW9uIExlKHtraW5kOmUsbGFiZWw6bixjbGFzc05hbWU6cn0pe2xldCBpPXdlKCksYT0oMCx5LnVzZVJlZikobnVsbCksbz1lIGluIEZlLHM9VChuPz8obz9GZVtlXTpgYCksbyksYz0haSYmdHlwZW9mIEVsZW1lbnQ8YHVgJiZ0eXBlb2YgRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZT09YGZ1bmN0aW9uYDtyZXR1cm4oMCx5LnVzZUVmZmVjdCkoKCk9PntsZXQgdD1hLmN1cnJlbnQ7aWYodD09PW51bGx8fCFvKXJldHVybjtsZXQgbj1lPT50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWE9IiR7ZX0iXWApLHI9RWUoYC0tYWwtZHVyYXRpb24tbW9tZW50YCw0ODApLHM9RWUoYC0tYWwtZHVyYXRpb24tc2xvd2AsMzIwKSxjPURlKGAtLWFsLWVhc2luZy1lbXBoYXNpemVkYCxEKSxsPURlKGAtLWFsLWVhc2luZy1lbnRlcmAsa2UpLHU9RGUoYC0tYWwtZWFzaW5nLXN0YW5kYXJkYCxPZSk7aWYoZT09PWBhcHByb3ZlZGApTyhuKGBkcmF3YCksW3tzdHJva2VEYXNob2Zmc2V0OjF9LHtzdHJva2VEYXNob2Zmc2V0OjB9XSx7ZHVyYXRpb246cixlYXNpbmc6dX0saSksTyhuKGBhcnRgKSxbe3RyYW5zZm9ybTpgdHJhbnNsYXRlWSgtNHB4KWB9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoMClgfV0se2R1cmF0aW9uOnIsZWFzaW5nOnV9LGkpO2Vsc2UgaWYoZT09PWBwcm9vZmApTyhuKGBhcnRgKSxbe3RyYW5zZm9ybTpgc2NhbGUoMS4wNilgfSx7dHJhbnNmb3JtOmBzY2FsZSgxKWB9XSx7ZHVyYXRpb246cyxlYXNpbmc6bH0saSksTyhuKGByaW5nYCksW3tvcGFjaXR5OjB9LHtvcGFjaXR5OjF9XSx7ZHVyYXRpb246cyxlYXNpbmc6bH0saSk7ZWxzZSBpZihlPT09YGNvZGVzYCl7bGV0IGU9ZT0-W3t0cmFuc2Zvcm06YHRyYW5zbGF0ZVgoJHtlfSlgLG9wYWNpdHk6MX0se3RyYW5zZm9ybTpgdHJhbnNsYXRlWCgwKWAsb3BhY2l0eToxLG9mZnNldDouN30se3RyYW5zZm9ybTpgdHJhbnNsYXRlWCgwKWAsb3BhY2l0eTowfV07TyhuKGBsZWZ0YCksZShgLTEycHhgKSx7ZHVyYXRpb246cixlYXNpbmc6Y30saSksTyhuKGByaWdodGApLGUoYDEycHhgKSx7ZHVyYXRpb246cixlYXNpbmc6Y30saSl9ZWxzZSBPKG4oYGFydGApLFt7dHJhbnNmb3JtOmB0cmFuc2xhdGVZKC02cHgpYCxvcGFjaXR5OjB9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoMClgLG9wYWNpdHk6MX1dLHtkdXJhdGlvbjpzLGVhc2luZzpsfSxpKX0sW2UsbyxpXSksbz8oMCxTLmpzeHMpKGBzcGFuYCx7cmVmOmEsY2xhc3NOYW1lOnQoYGFsLW1vbWVudGAsciksImRhdGEta2luZCI6ZSwiZGF0YS1tb3Rpb24iOmk_YHJlZHVjZWRgOmBmdWxsYCxjaGlsZHJlbjpbKDAsUy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbW9tZW50LWFydGAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46W2U9PT1gYXBwcm92ZWRgPygwLFMuanN4KShgc3ZnYCx7ImRhdGEtYSI6YGFydGAsd2lkdGg6YDIwYCxoZWlnaHQ6YDIwYCx2aWV3Qm94OmAwIDAgMTYgMTZgLGZpbGw6YG5vbmVgLHN0cm9rZTpgY3VycmVudENvbG9yYCxzdHJva2VXaWR0aDpgMS43NWAsc3Ryb2tlTGluZWNhcDpgcm91bmRgLHN0cm9rZUxpbmVqb2luOmByb3VuZGAsZm9jdXNhYmxlOmBmYWxzZWAsY2hpbGRyZW46KDAsUy5qc3gpKGBwYXRoYCx7ImRhdGEtYSI6YGRyYXdgLGQ6SWUscGF0aExlbmd0aDoxLHN0cm9rZURhc2hhcnJheTpgMWB9KX0pOm51bGwsZT09PWBwcm9vZmA_KDAsUy5qc3hzKShgc3ZnYCx7ImRhdGEtYSI6YGFydGAsd2lkdGg6YDIwYCxoZWlnaHQ6YDIwYCx2aWV3Qm94OmAwIDAgMTYgMTZgLGZpbGw6YG5vbmVgLHN0cm9rZTpgY3VycmVudENvbG9yYCxzdHJva2VXaWR0aDpgMS41YCxzdHJva2VMaW5lY2FwOmByb3VuZGAsc3Ryb2tlTGluZWpvaW46YHJvdW5kYCxmb2N1c2FibGU6YGZhbHNlYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBjaXJjbGVgLHsiZGF0YS1hIjpgcmluZ2AsY3g6YDhgLGN5OmA4YCxyOmA2LjVgfSksKDAsUy5qc3gpKGBwYXRoYCx7ZDpJZX0pXX0pOm51bGwsZT09PWBjb2Rlc2A_KDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3gpKGBzdmdgLHt3aWR0aDpgMjBgLGhlaWdodDpgMjBgLHZpZXdCb3g6YDAgMCAxNiAxNmAsZmlsbDpgbm9uZWAsc3Ryb2tlOmBjdXJyZW50Q29sb3JgLHN0cm9rZVdpZHRoOmAxLjc1YCxzdHJva2VMaW5lY2FwOmByb3VuZGAsc3Ryb2tlTGluZWpvaW46YHJvdW5kYCxmb2N1c2FibGU6YGZhbHNlYCxjaGlsZHJlbjooMCxTLmpzeCkoYHBhdGhgLHtkOkllfSl9KSxjPygwLFMuanN4cykoUy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbW9tZW50LWNvZGUgYWwtbW9tZW50LWxlZnRgLCJkYXRhLWEiOmBsZWZ0YH0pLCgwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbW9tZW50LWNvZGUgYWwtbW9tZW50LXJpZ2h0YCwiZGF0YS1hIjpgcmlnaHRgfSldfSk6bnVsbF19KTpudWxsLGU9PT1gZmlsZWA_KDAsUy5qc3hzKShgc3ZnYCx7ImRhdGEtYSI6YGFydGAsd2lkdGg6YDIwYCxoZWlnaHQ6YDIwYCx2aWV3Qm94OmAwIDAgMTYgMTZgLGZpbGw6YG5vbmVgLHN0cm9rZTpgY3VycmVudENvbG9yYCxzdHJva2VXaWR0aDpgMS41YCxzdHJva2VMaW5lY2FwOmByb3VuZGAsc3Ryb2tlTGluZWpvaW46YHJvdW5kYCxmb2N1c2FibGU6YGZhbHNlYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBwYXRoYCx7ZDpgTTQgMi41aDVsMyAzdjhINHpgfSksKDAsUy5qc3gpKGBwYXRoYCx7ZDpgTTkgMi41djNoM2B9KV19KTpudWxsXX0pLCgwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbW9tZW50LXRleHQgYWwtdGV4dC1ib2R5LXNtYCwiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjpuPz9GZVtlXX0pLCgwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdmlzdWFsbHktaGlkZGVuIGFsLW1vbWVudC1saXZlYCxyb2xlOmBzdGF0dXNgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOnN9KV19KTpudWxsfWZ1bmN0aW9uIFJlKHtjb3VudDplLGxhYmVsOm4sY2xhc3NOYW1lOnJ9KXtsZXQgaT13ZSgpLGE9TnVtYmVyLmlzRmluaXRlKGUpP01hdGgubWF4KDAsTWF0aC5mbG9vcihlKSk6MCxvPWE-OTk_YDk5K2A6U3RyaW5nKGEpLHM9KDAseS51c2VSZWYpKG8pLFtjLGxdPSgwLHkudXNlU3RhdGUpKG51bGwpLFt1LGRdPSgwLHkudXNlU3RhdGUpKG8pO3UhPT1vJiYoZChvKSxsKGl8fGE9PT0wP251bGw6cy5jdXJyZW50KSkscy5jdXJyZW50PW87bGV0IGY9KDAseS51c2VSZWYpKG51bGwpLHA9KDAseS51c2VSZWYpKG51bGwpLG09KDAseS51c2VSZWYpKDApLGg9KDAseS51c2VSZWYpKG51bGwpO3JldHVybigwLHkudXNlRWZmZWN0KSgoKT0-KCk9PnttLmN1cnJlbnQrPTEsaC5jdXJyZW50Py5jYW5jZWwoKX0sW10pLCgwLHkudXNlRWZmZWN0KSgoKT0-e2lmKGM9PT1udWxsKXJldHVybjtsZXQgZT1tLmN1cnJlbnQrPTE7aC5jdXJyZW50Py5jYW5jZWwoKTtsZXQgdD1FZShgLS1hbC1kdXJhdGlvbi1iYXNlYCwyMDApO08oZi5jdXJyZW50LFt7dHJhbnNmb3JtOmB0cmFuc2xhdGVZKDYwJSlgLG9wYWNpdHk6MH0se3RyYW5zZm9ybTpgdHJhbnNsYXRlWSgwKWAsb3BhY2l0eToxfV0se2R1cmF0aW9uOnQsZWFzaW5nOkRlKGAtLWFsLWVhc2luZy1lbnRlcmAsa2UpfSxpKTtsZXQgbj1PKHAuY3VycmVudCxbe3RyYW5zZm9ybTpgdHJhbnNsYXRlWSgwKWAsb3BhY2l0eToxfSx7dHJhbnNmb3JtOmB0cmFuc2xhdGVZKC02MCUpYCxvcGFjaXR5OjB9XSx7ZHVyYXRpb246dCxlYXNpbmc6RGUoYC0tYWwtZWFzaW5nLWV4aXRgLEFlKX0saSk7bj09PW51bGw_bChudWxsKTooaC5jdXJyZW50PW4sbi5vbmZpbmlzaD0oKT0-e2U9PT1tLmN1cnJlbnQmJmwobnVsbCl9KX0sW2MsaV0pLGE9PT0wP251bGw6KDAsUy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTp0KGBhbC1jb3VudGAsciksY2hpbGRyZW46W249PT12b2lkIDA_bnVsbDooMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXZpc3VhbGx5LWhpZGRlbmAsY2hpbGRyZW46YCR7b30gJHtufWB9KSwoMCxTLmpzeCkoYHNwYW5gLHtyZWY6ZixjbGFzc05hbWU6YGFsLWNvdW50LWluYCwiYXJpYS1oaWRkZW4iOm49PT12b2lkIDA_dm9pZCAwOmB0cnVlYCxjaGlsZHJlbjpvfSksYz09PW51bGw_bnVsbDooMCxTLmpzeCkoYHNwYW5gLHtyZWY6cCxjbGFzc05hbWU6YGFsLWNvdW50LW91dGAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46Y30pXX0pfWZ1bmN0aW9uIHplKGUsdD17fSl7bGV0IG49d2UoKSxyPSgwLHkudXNlUmVmKShudWxsKSxbaSxhXT0oMCx5LnVzZVN0YXRlKShlKSxbbyxzXT0oMCx5LnVzZVN0YXRlKSghMSk7aSE9PWUmJihhKGUpLCFlJiYhbiYmcyghMCkpO2xldFtjLGxdPSgwLHkudXNlU3RhdGUpKCExKSx1PSgwLHkudXNlUmVmKShudWxsKSxkPSgwLHkudXNlUmVmKShudWxsKSxmPSgwLHkudXNlUmVmKSghMCkscD0oMCx5LnVzZVJlZikoZSksbT0oMCx5LnVzZVJlZikobnVsbCksaD0oMCx5LnVzZVJlZikoe3ByZXNlbnQ6ZSxvbkdvbmU6dC5vbkdvbmV9KTtyZXR1cm4gaC5jdXJyZW50PXtwcmVzZW50OmUsb25Hb25lOnQub25Hb25lfSwoMCx5LnVzZUVmZmVjdCkoKCk9PigpPT57Zm9yKGxldCBlIG9mW2QuY3VycmVudCxtLmN1cnJlbnRdKWUhPT1udWxsJiYoZS5vbmZpbmlzaD1udWxsLGUuY2FuY2VsKCkpO2QuY3VycmVudD1udWxsLG0uY3VycmVudD1udWxsfSxbXSksKDAseS51c2VFZmZlY3QpKCgpPT57aWYoIWMpcmV0dXJuO2xldCBlPU8odS5jdXJyZW50LFt7b3BhY2l0eTouN30se29wYWNpdHk6MH1dLHtkdXJhdGlvbjpqZSxlYXNpbmc6YGxpbmVhcmB9LCExKTtpZihlPT09bnVsbClsKCExKTtlbHNlIHJldHVybiBlLm9uZmluaXNoPSgpPT5sKCExKSwoKT0-e2Uub25maW5pc2g9bnVsbCxlLmNhbmNlbCgpfX0sW2NdKSwoMCx5LnVzZUxheW91dEVmZmVjdCkoKCk9PntsZXQgaT1mLmN1cnJlbnQsYT1wLmN1cnJlbnQ7Zi5jdXJyZW50PSExLHAuY3VycmVudD1lO2xldCBvPXIuY3VycmVudDtpZihlKXtpZihtLmN1cnJlbnQhPT1udWxsKXttLmN1cnJlbnQucmV2ZXJzZSgpO3JldHVybn1pZighKGk_dC5pc05ldz09PSEwOiFhKXx8bz09PW51bGwpcmV0dXJuO28uY2xhc3NMaXN0LmFkZChgYWwtcm93LXByZXNlbmNlYCksZC5jdXJyZW50PU8obyxbe29wYWNpdHk6MCx0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoLThweClgfSx7b3BhY2l0eToxLHRyYW5zZm9ybTpgdHJhbnNsYXRlWSgwKWB9XSx7ZHVyYXRpb246RWUoYC0tYWwtZHVyYXRpb24tYmFzZWAsMjAwKSxlYXNpbmc6RGUoYC0tYWwtZWFzaW5nLWVudGVyYCxrZSl9LG4pLCFuJiZ0eXBlb2Ygby5hbmltYXRlPT1gZnVuY3Rpb25gJiZsKCEwKTtyZXR1cm59aWYoaXx8IWEpcmV0dXJuO2lmKG58fG89PT1udWxsKXtzKCExKSxoLmN1cnJlbnQub25Hb25lPy4oKTtyZXR1cm59bGV0IGM9by5vZmZzZXRIZWlnaHQ7by5zdHlsZS5vdmVyZmxvdz1gaGlkZGVuYDtsZXQgdT1PKG8sW3toZWlnaHQ6YCR7Y31weGAsb3BhY2l0eToxfSx7aGVpZ2h0OmAwcHhgLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjpFZShgLS1hbC1kdXJhdGlvbi1iYXNlYCwyMDApLGVhc2luZzpEZShgLS1hbC1lYXNpbmctZXhpdGAsQWUpfSwhMSk7dT09PW51bGw_KHMoITEpLGguY3VycmVudC5vbkdvbmU_LigpKToobS5jdXJyZW50PXUsdS5vbmZpbmlzaD0oKT0-e20uY3VycmVudD1udWxsLHMoITEpLGguY3VycmVudC5wcmVzZW50Pyh1LmNhbmNlbCgpLG8uc3R5bGUub3ZlcmZsb3c9YGApOmguY3VycmVudC5vbkdvbmU_LigpfSl9LFtlXSkse3JlZjpyLGhpZ2hsaWdodDpjPygwLFMuanN4KShgc3BhbmAse3JlZjp1LGNsYXNzTmFtZTpgYWwtcm93LWhsYCwiYXJpYS1oaWRkZW4iOmB0cnVlYH0pOm51bGwsbW91bnRlZDplfHxvfX12YXIgaz1PYmplY3QuZnJlZXplKHt0aXRsZVByb29mOmBSZWNvcmQgcHJvb2ZgLHRpdGxlTGltaXRzOmBDaGFuZ2UgeW91ciBzcGVuZGluZyBsaW1pdHNgLHJvd0ZvcjpgRm9yYCxmb3JQcm9vZjpgQSBwcm9vZiB3aXRoIHtuYW1lfWAsZm9yU2VsZjpgQSBwcm9vZiBvZiB5b3VyIG93biBub3RlYCxyb3dQYWlkRnJvbTpgUGFpZCBmcm9tYCxwYWlkRnJvbTpgWW91ciBjcmVkaXRzYCxjaGFuZ2VQcm9vZnM6YFByb29mc2AsY2hhbmdlQnVkZ2V0OmAyNC1ob3VyIGJ1ZGdldGAsY2hhbmdlUGVyUHJvb2Y6YFBlci1wcm9vZiBsaW1pdGAsY2hhbmdlQ29udGFjdFByb29mczpgUHJvb2ZzIGZvciB7bmFtZX1gLGNoYW5nZUNvbnRhY3RQZXJQcm9vZjpgUGVyLXByb29mIGxpbWl0IGZvciB7bmFtZX1gLGFDb250YWN0OmBhIGNvbnRhY3RgLG5vdFNldDpgTm90IHNldGAscnVsZUFsbG93OmBBdXRvbWF0aWNgLHJ1bGVBcHByb3ZhbDpgQXNrIG1lYCxydWxlRGVueTpgTmV2ZXJgLGNoYW5nZWRUbzpge29sZH0gdG8ge25ld31gLHRydXN0Q3JlZGl0czpgWW91ciBjcmVkaXRzIHN0YXkgeW91cnM7IDR0aFRlY2ggbmV2ZXIgaG9sZHMgdGhlbS5gLHRydXN0QWk6YFlvdXIgQUkgY2FuJ3QgY29uZmlybSB0aGlzIGZvciB5b3UuYCxyZW1lbWJlcjpgUmVtZW1iZXIgZm9yIHRoaXMgY29udGFjdGAscmVtZW1iZXJIaW50OmBOZXh0IHRpbWUsIHByb29mcyBsaWtlIHRoaXMgZm9yIHtuYW1lfSBydW4gd2l0aG91dCBhc2tpbmcuYCxjYW5jZWw6YENhbmNlbGAsdXNlQmFja3VwOmBVc2UgYmFja3VwIGNvZGUgaW5zdGVhZGAsY29kZUxhYmVsOmBCYWNrdXAgY29kZWAsY29kZUhpbnQ6YFRoZSBiYWNrdXAgY29kZSBBZ2VudExpbmsgc2hvd2VkIHlvdSB3aGVuIHlvdSBzZXQgdXAuYCxjb25maXJtQ29kZTpgQ29uZmlybWAsY2xvc2U6YENsb3NlYCxyZWNvcmRpbmdQcm9vZjpgQ29uZmlybWluZ-KApmAscmVjb3JkaW5nTGltaXRzOmBTYXZpbmcgeW91ciBsaW1pdHPigKZgLGRvbmVQcm9vZjpgRG9uZS4gWW91ciBBSSByZWNvcmRzIHRoZSBwcm9vZiBub3cuYCxkb25lTGltaXRzOmBEb25lLiBZb3VyIGxpbWl0cyBhcmUgc2F2ZWQuYCxjYW5jZWxsZWQ6YE5vdCBjb25maXJtZWQuIE5vdGhpbmcgd2FzIHBhaWQuYCxub3RWZXJpZmllZDpgQ291bGRuJ3QgY29uZmlybSBpdCB3YXMgeW91LiBUcnkgYWdhaW4uYCxleHBpcmVkOmBUaGlzIHJlcXVlc3QgZXhwaXJlZC5gLGRlY2lkZWQ6YEFscmVhZHkgZGVjaWRlZCBvbiBhbm90aGVyIHNjcmVlbi5gLGNoYW5nZWQ6YFNvbWV0aGluZyBjaGFuZ2VkIHNpbmNlIHlvdSBvcGVuZWQgdGhpcy4gQ2hlY2sgaXQgYWdhaW4uYCx1cGRhdGVOZWVkZWQ6YFlvdXIgcGFzc2tleSBuZWVkcyB0byBiZSBzZXQgdXAgYWdhaW4gZm9yIHBhaWQgYWN0aW9ucy4gVXNlIHlvdXIgYmFja3VwIGNvZGUgdGhpcyB0aW1lLmAsd3JvbmdDb2RlOmBUaGF0IGJhY2t1cCBjb2RlIGRpZG4ndCBtYXRjaC4gTm90aGluZyB3YXMgcGFpZC5gLHRyaWVzVXNlZDpgVG9vIG1hbnkgd3JvbmcgYmFja3VwIGNvZGVzLiBOb3RoaW5nIHdhcyBwYWlkLmAsd2FpdDpgVG9vIG1hbnkgd3JvbmcgdHJpZXMuIFdhaXQge3NlY29uZHN9IHNlY29uZHMsIHRoZW4gdHJ5IGFnYWluLiBOb3RoaW5nIHdhcyBwYWlkLmAsYnVzeTpgQW5vdGhlciBjb25maXJtYXRpb24gaXMgcnVubmluZy4gVHJ5IGFnYWluIGluIGEgbW9tZW50LmAsc3RpbGxXb3JraW5nOmBTdGlsbCB3b3JraW5nLiBZb3VyIEFJIHdpbGwgbGV0IHlvdSBrbm93IHdoZW4gaXQncyBkb25lLiBZb3UgY2FuIGNsb3NlIHRoaXMuYCxyZWZ1c2VkUHJvb2Y6YENvdWxkbid0IGFwcHJvdmUgdGhpcy4gTm90aGluZyB3YXMgcGFpZC5gLHJlZnVzZWRMaW1pdHM6YENvdWxkbid0IHNhdmUgeW91ciBsaW1pdHMuIE5vdGhpbmcgY2hhbmdlZC5gLGZhaWxlZFN0YXJ0OmBUaGlzIGNhbid0IGJlIGNvbmZpcm1lZCByaWdodCBub3cuIE5vdGhpbmcgd2FzIHBhaWQuYCxub3RPZmZlcmVkOmBSZW1lbWJlcmluZyBpc24ndCBhdmFpbGFibGUgZm9yIHRoaXMgcmVxdWVzdC5gLGNlbnRzOmB7Y2VudHN9IGNlbnRzYCxkb2xsYXJzOmB7ZG9sbGFyc30gZG9sbGFyc2AsZG9sbGFyc0NlbnRzOmB7ZG9sbGFyc30gZG9sbGFycyBhbmQge2NlbnRzfSBjZW50c2B9KSxBPWssQmU9KGUsdCk9PmUucmVwbGFjZSgvXHsoW2Etel0rKVx9L2csKGUsbik9PnRbbl0_P2UpLFZlPXsicHJvb2ZzLm5vdGFyaXplIjpgcnVsZWAsInByb29mcy5kYWlseUJ1ZGdldFVTRCI6YHVzZGAsInByb29mcy5wZXJBY3Rpb25NYXhVU0QiOmB1c2RgLCJjb250YWN0UnVsZXMucHJvb2ZzLm5vdGFyaXplIjpgcnVsZWAsImNvbnRhY3RSdWxlcy5wcm9vZnMucGVyQWN0aW9uTWF4VVNEIjpgdXNkYH0sSGU9L14oMHxbMS05XVswLTldezAsOH0pKFwuWzAtOV17MSw2fSk_JC8sVWU9L14oYWxsb3d8YXBwcm92YWx8ZGVueSkkLyxXZT1gYW1vdW50VXNkLGNoYW5nZXMsY291bnRlcnBhcnR5LGtpbmQscHVycG9zZSx2YCxHZT1lPT50eXBlb2YgZT09YG9iamVjdGAmJiEhZSYmIUFycmF5LmlzQXJyYXkoZSk7ZnVuY3Rpb24gS2UoZSl7aWYoIUdlKGUpfHxPYmplY3Qua2V5cyhlKS5zb3J0KCkuam9pbihgLGApIT09V2V8fGUudiE9PTEpcmV0dXJuO2xldHtraW5kOnQsYW1vdW50VXNkOm4scHVycG9zZTpyLGNvdW50ZXJwYXJ0eTppLGNoYW5nZXM6YX09ZTtpZih0IT09YHByb29mYCYmdCE9PWBwcm9vZl9yZW1lbWJlcmAmJnQhPT1gbGltaXRzYClyZXR1cm47aWYodD09PWBsaW1pdHNgKXtpZihuIT09bnVsbHx8ciE9PWBsaW1pdHNfY2hhbmdlYClyZXR1cm59ZWxzZSBpZih0eXBlb2YgbiE9YHN0cmluZ2B8fCFIZS50ZXN0KG4pfHxyIT09YHByb29mYClyZXR1cm47aWYoaSE9PW51bGwmJih0eXBlb2YgaSE9YHN0cmluZ2B8fGkubGVuZ3RoPT09MHx8aS5sZW5ndGg-MjAwKXx8IUFycmF5LmlzQXJyYXkoYSl8fGEubGVuZ3RoPjMyKXJldHVybjtsZXQgbz1bXTtmb3IobGV0IGUgb2YgYSl7aWYoIUdlKGUpKXJldHVybjtsZXQgdD1lLmZpZWxkO2lmKHR5cGVvZiB0IT1gc3RyaW5nYHx8ISh0IGluIFZlKSlyZXR1cm47bGV0IG49VmVbdF0scj1lPT5lPT09bnVsbHx8dHlwZW9mIGU9PWBzdHJpbmdgJiYobj09PWB1c2RgP0hlOlVlKS50ZXN0KGUpO2lmKCFyKGUub2xkKXx8IXIoZS5uZXcpKXJldHVybjtsZXQgaT1lLmNvbnRhY3Q7aWYoaSE9PXZvaWQgMCYmdHlwZW9mIGkhPWBzdHJpbmdgKXJldHVybjtvLnB1c2goe2ZpZWxkOnQsLi4uaT09PXZvaWQgMD97fTp7Y29udGFjdDppfSxvbGQ6ZS5vbGQsbmV3OmUubmV3fSl9cmV0dXJue3Y6MSxraW5kOnQsYW1vdW50VXNkOm4scHVycG9zZTpyLGNvdW50ZXJwYXJ0eTppLGNoYW5nZXM6b319ZnVuY3Rpb24gcWUoZSl7bGV0W3Qsbj1gYF09ZS5zcGxpdChgLmApO3JldHVybiBuPT09YGA_YCQke3Q_P2AwYH1gOmAkJHt0Pz9gMGB9LiR7bi5wYWRFbmQoMixgMGApfWB9ZnVuY3Rpb24gSmUoZSl7bGV0IHQ9ZS5sZW5ndGg7Zm9yKDt0PjAmJmVbdC0xXT09PWAwYDspLS10O3JldHVybiBlLnNsaWNlKDAsdCl9ZnVuY3Rpb24gWWUoZSl7bGV0W3Q9YDBgLG49YGBdPWUuc3BsaXQoYC5gKSxyPW4ucGFkRW5kKDIsYDBgKSxpPUplKHIuc2xpY2UoMikpLGE9YCR7U3RyaW5nKE51bWJlcihyLnNsaWNlKDAsMikpKX0ke2k9PT1gYD9gYDpgLiR7aX1gfWA7cmV0dXJuIHQ9PT1gMGA_QmUoQS5jZW50cyx7Y2VudHM6YX0pOmE9PT1gMGA_QmUoQS5kb2xsYXJzLHtkb2xsYXJzOnR9KTpCZShBLmRvbGxhcnNDZW50cyx7ZG9sbGFyczp0LGNlbnRzOmF9KX1mdW5jdGlvbiBYZShlLHQpe3JldHVybiB0PT09bnVsbD9BLm5vdFNldDpWZVtlXT09PWB1c2RgP3FlKHQpOnQ9PT1gYWxsb3dgP0EucnVsZUFsbG93OnQ9PT1gYXBwcm92YWxgP0EucnVsZUFwcHJvdmFsOkEucnVsZURlbnl9ZnVuY3Rpb24gWmUoZSx0KXtsZXQgbj10Pz9BLmFDb250YWN0O3N3aXRjaChlKXtjYXNlYHByb29mcy5ub3Rhcml6ZWA6cmV0dXJuIEEuY2hhbmdlUHJvb2ZzO2Nhc2VgcHJvb2ZzLmRhaWx5QnVkZ2V0VVNEYDpyZXR1cm4gQS5jaGFuZ2VCdWRnZXQ7Y2FzZWBwcm9vZnMucGVyQWN0aW9uTWF4VVNEYDpyZXR1cm4gQS5jaGFuZ2VQZXJQcm9vZjtjYXNlYGNvbnRhY3RSdWxlcy5wcm9vZnMubm90YXJpemVgOnJldHVybiBCZShBLmNoYW5nZUNvbnRhY3RQcm9vZnMse25hbWU6bn0pO2RlZmF1bHQ6cmV0dXJuIEJlKEEuY2hhbmdlQ29udGFjdFBlclByb29mLHtuYW1lOm59KX19ZnVuY3Rpb24gUWUoZSl7bGV0IHQ9ZS5raW5kPT09YGxpbWl0c2A7cmV0dXJue2tpbmQ6ZS5raW5kLHRpdGxlOnQ_QS50aXRsZUxpbWl0czpBLnRpdGxlUHJvb2YsYW1vdW50OmUuYW1vdW50VXNkPT09bnVsbD9udWxsOnFlKGUuYW1vdW50VXNkKSxhbW91bnRTcG9rZW46ZS5hbW91bnRVc2Q9PT1udWxsP251bGw6WWUoZS5hbW91bnRVc2QpLHJvd3M6dD9bXTpbe2xhYmVsOkEucm93Rm9yLHZhbHVlOmUuY291bnRlcnBhcnR5PT09bnVsbD9BLmZvclNlbGY6QmUoQS5mb3JQcm9vZix7bmFtZTplLmNvdW50ZXJwYXJ0eX0pfSx7bGFiZWw6QS5yb3dQYWlkRnJvbSx2YWx1ZTpBLnBhaWRGcm9tfV0sY2hhbmdlczplLmNoYW5nZXMubWFwKHQ9Pih7bGFiZWw6WmUodC5maWVsZCxlLmNvdW50ZXJwYXJ0eSksb2xkOlhlKHQuZmllbGQsdC5vbGQpLG5ldzpYZSh0LmZpZWxkLHQubmV3KX0pKSxuYW1lOmUuY291bnRlcnBhcnR5fX12YXIgJGU9e21hYzpgVG91Y2ggSURgLHdpbmRvd3M6YFdpbmRvd3MgSGVsbG9gLG90aGVyOmB5b3VyIHBhc3NrZXlgfTtmdW5jdGlvbiBldChlKXtyZXR1cm57Y29uZmlybTpgQ29uZmlybSB3aXRoICR7JGVbZV19YCx3YWl0aW5nOmBXYWl0aW5nIGZvciAkeyRlW2VdfWB9fWZ1bmN0aW9uIHR0KHtzdGF0ZTplfSl7cmV0dXJuKDAsUy5qc3hzKShgc3ZnYCx7Y2xhc3NOYW1lOmBhbC1wYXktcmluZ2AsImRhdGEtc3RhdGUiOmUsdmlld0JveDpgMCAwIDQ4IDQ4YCx3aWR0aDpgNDhgLGhlaWdodDpgNDhgLCJhcmlhLWhpZGRlbiI6YHRydWVgLGZvY3VzYWJsZTpgZmFsc2VgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYGNpcmNsZWAse2NsYXNzTmFtZTpgYWwtcGF5LXJpbmctdHJhY2tgLGN4OmAyNGAsY3k6YDI0YCxyOmAyMGB9KSwoMCxTLmpzeCkoYGNpcmNsZWAse2NsYXNzTmFtZTpgYWwtcGF5LXJpbmctYXJjYCxjeDpgMjRgLGN5OmAyNGAscjpgMjBgLHBhdGhMZW5ndGg6MTAwfSksZT09PWBkb25lYD8oMCxTLmpzeCkoYHBhdGhgLHtjbGFzc05hbWU6YGFsLXBheS1jaGVja2AsZDpgTTE1IDI0LjVsNiA2IDEyLTEzYCxwYXRoTGVuZ3RoOjEwMH0pOm51bGxdfSl9dmFyIG50PTEyMDA7ZnVuY3Rpb24gcnQoZSl7bGV0e3ZpZXc6dCxwbGF0Zm9ybTpuLHBoYXNlOnIsbm90aWNlOmksY2xvc2VkOmEsY2FuUGFzc2tleTpvLGJhY2t1cDpjLHJlbWVtYmVyOmwscmVkdWNlZE1vdGlvbjpkfT1lLHA9KDAseS51c2VJZCkoKSxtPSgwLHkudXNlUmVmKShudWxsKSxoPSgwLHkudXNlUmVmKShudWxsKSxnPSgwLHkudXNlUmVmKShudWxsKSxbXyx2XT0oMCx5LnVzZVN0YXRlKShgYCksYj1ldChuKSx4PXQ_LmtpbmQ9PT1gbGltaXRzYCxlZT0oMCx5LnVzZVJlZikoZS5vbkNsb3NlKTtlZS5jdXJyZW50PWUub25DbG9zZSwoMCx5LnVzZUxheW91dEVmZmVjdCkoKCk9PntpZihoLmN1cnJlbnQhPT1udWxsKXJldHVybiBmKGguY3VycmVudCl9LFtdKSwoMCx5LnVzZUVmZmVjdCkoKCk9PihnLmN1cnJlbnQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxtLmN1cnJlbnQ_LmZvY3VzKCksKCk9PntsZXQgZT1nLmN1cnJlbnQ7ZSE9PW51bGwmJnR5cGVvZiBlLmZvY3VzPT1gZnVuY3Rpb25gJiZkb2N1bWVudC5jb250YWlucyhlKSYmZS5mb2N1cygpfSksW10pLCgwLHkudXNlRWZmZWN0KSgoKT0-e2lmKHIhPT1gZG9uZWB8fGR8fGE9PT0hMClyZXR1cm47bGV0IGU9c2V0VGltZW91dCgoKT0-ZWUuY3VycmVudCgpLG50KTtyZXR1cm4oKT0-Y2xlYXJUaW1lb3V0KGUpfSxbcixkLGFdKTtsZXQgdGU9cj09PWB3YWl0aW5nYD9iLndhaXRpbmc6cj09PWByZWNvcmRpbmdgP3g_QS5yZWNvcmRpbmdMaW1pdHM6QS5yZWNvcmRpbmdQcm9vZjpyPT09YGRvbmVgP3g_QS5kb25lTGltaXRzOkEuZG9uZVByb29mOmk_LnRvbmU9PT1gaW5mb2A_aS50ZXh0OmBgLEM9dD0-e2lmKHQua2V5PT09YEVzY2FwZWApe2lmKHI9PT1gcmVjb3JkaW5nYHx8cj09PWB3YWl0aW5nYClyZXR1cm47dC5wcmV2ZW50RGVmYXVsdCgpLGE9PT0hMHx8cj09PWBkb25lYD9lLm9uQ2xvc2UoKTplLm9uQ2FuY2VsKCk7cmV0dXJufWlmKHQua2V5IT09YFRhYmB8fGguY3VycmVudD09PW51bGwpcmV0dXJuO2xldCBuPVsuLi5oLmN1cnJlbnQucXVlcnlTZWxlY3RvckFsbChgYnV0dG9uLCBpbnB1dCwgYVtocmVmXWApXS5maWx0ZXIoZT0-IWUuZGlzYWJsZWQpLGk9blswXSxvPW5bbi5sZW5ndGgtMV07aWYoaT09PXZvaWQgMHx8bz09PXZvaWQgMClyZXR1cm47bGV0IHM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt0LnNoaWZ0S2V5JiYocz09PWl8fHM9PT1tLmN1cnJlbnQpPyh0LnByZXZlbnREZWZhdWx0KCksby5mb2N1cygpKTohdC5zaGlmdEtleSYmcz09PW8mJih0LnByZXZlbnREZWZhdWx0KCksaS5mb2N1cygpKX0sbmU9cj09PWBiYWNrdXBgfHxyPT09YHJlYWR5YCYmIW8sdz1yPT09YHdhaXRpbmdgfHxyPT09YHJlY29yZGluZ2B8fHI9PT1gZG9uZWA_cjpudWxsLHJlPWAke3B9LWFtb3VudGAsaWU9YCR7cH0tZm9yYDtyZXR1cm4oMCxTLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtcGF5LW92ZXJsYXlgLGNoaWxkcmVuOigwLFMuanN4cykoYGRpdmAse3JlZjpoLGNsYXNzTmFtZTpgYWwtcGF5LXNoZWV0YCxyb2xlOmBkaWFsb2dgLCJhcmlhLW1vZGFsIjpgdHJ1ZWAsImFyaWEtbGFiZWxsZWRieSI6YCR7cH0tdGl0bGVgLCJhcmlhLWRlc2NyaWJlZGJ5IjpgJHtyZX0gJHtpZX1gLCJkYXRhLW1vdGlvbiI6ZD9gcmVkdWNlZGA6YGZ1bGxgLG9uS2V5RG93bjpDLGNoaWxkcmVuOlsoMCxTLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtcGF5LWdyYWJgLCJhcmlhLWhpZGRlbiI6YHRydWVgfSksKDAsUy5qc3gpKGBoMmAse2lkOmAke3B9LXRpdGxlYCxyZWY6bSx0YWJJbmRleDotMSxjbGFzc05hbWU6YGFsLXBheS10aXRsZWAsY2hpbGRyZW46dD8udGl0bGU_P0EudGl0bGVQcm9vZn0pLHQ_LmFtb3VudD09bnVsbD9udWxsOigwLFMuanN4KShgcGAse2lkOnJlLGNsYXNzTmFtZTpgYWwtcGF5LWFtb3VudGAsImFyaWEtbGFiZWwiOnQuYW1vdW50U3Bva2VuPz92b2lkIDAsY2hpbGRyZW46dC5hbW91bnR9KSx0PT09dm9pZCAwP251bGw6KDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3hzKShgZGxgLHtjbGFzc05hbWU6YGFsLXBheS1yb3dzYCxjaGlsZHJlbjpbdC5yb3dzLm1hcCgoZSx0KT0-KDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wYXktcm93YCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBkdGAse2NoaWxkcmVuOmUubGFiZWx9KSwoMCxTLmpzeCkoYGRkYCx7Li4udD09PTA_e2lkOmllfTp7fSxjaGlsZHJlbjplLnZhbHVlfSldfSxlLmxhYmVsKSksdC5jaGFuZ2VzLm1hcChlPT4oMCxTLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXBheS1yb3dgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYGR0YCx7Y2hpbGRyZW46ZS5sYWJlbH0pLCgwLFMuanN4cykoYGRkYCx7Y2xhc3NOYW1lOmBhbC1wYXktY2hhbmdlYCwiYXJpYS1sYWJlbCI6QmUoQS5jaGFuZ2VkVG8se29sZDplLm9sZCxuZXc6ZS5uZXd9KSxjaGlsZHJlbjpbKDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1wYXktb2xkYCxjaGlsZHJlbjplLm9sZH0pLCgwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtcGF5LWFycm93YCwiYXJpYS1oaWRkZW4iOmB0cnVlYCxjaGlsZHJlbjpgIOKGkiBgfSksKDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1wYXktbmV3YCxjaGlsZHJlbjplLm5ld30pXX0pXX0sZS5sYWJlbCkpXX0pLCgwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtcGF5LXRydXN0YCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBwYCx7Y2hpbGRyZW46QS50cnVzdENyZWRpdHN9KSwoMCxTLmpzeCkoYHBgLHtjaGlsZHJlbjpBLnRydXN0QWl9KV19KV19KSxsIT09dm9pZCAwJiZhIT09ITAmJihyPT09YHJlYWR5YHx8cj09PWBiYWNrdXBgKT8oMCxTLmpzeHMpKGBsYWJlbGAse2NsYXNzTmFtZTpgYWwtY2hlY2sgYWwtcGF5LXJlbWVtYmVyYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBpbnB1dGAse3R5cGU6YGNoZWNrYm94YCxjaGVja2VkOmwuY2hlY2tlZCxkaXNhYmxlZDplLmJ1c3k9PT0hMCxvbkNoYW5nZTplPT5sLm9uQ2hhbmdlKGUuY3VycmVudFRhcmdldC5jaGVja2VkKX0pLCgwLFMuanN4cykoYHNwYW5gLHtjaGlsZHJlbjpbKDAsUy5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46QS5yZW1lbWJlcn0pLHQ_Lm5hbWU9PW51bGw_bnVsbDooMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWZpZWxkLWhpbnQgYWwtdGV4dC1jYXB0aW9uYCxjaGlsZHJlbjpCZShBLnJlbWVtYmVySGludCx7bmFtZTp0Lm5hbWV9KX0pXX0pXX0pOm51bGwsKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1wYXktc3RhdHVzYCxjaGlsZHJlbjpbdz09PW51bGw_bnVsbDooMCxTLmpzeCkodHQse3N0YXRlOnd9KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXBheS1saXZlYCwiYXJpYS1saXZlIjpgcG9saXRlYCxjaGlsZHJlbjp0ZX0pLGk_LnRvbmU9PT1gZXJyb3JgPygwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtcGF5LWFsZXJ0YCxyb2xlOmBhbGVydGAsY2hpbGRyZW46aS50ZXh0fSk6bnVsbF19KSwoMCxTLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXBheS1hY3Rpb25zYCxjaGlsZHJlbjpbYT09PSEwfHxyPT09YGRvbmVgJiZkPygwLFMuanN4KSh1LHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2AsYmxvY2s6ITAsb25DbGljazplLm9uQ2xvc2UsY2hpbGRyZW46QS5jbG9zZX0pOnI9PT1gcmVhZHlgJiZ0IT09dm9pZCAwJiZvPygwLFMuanN4KSh1LHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2AsYmxvY2s6ITAsaWNvbjpga2V5LXJvdW5kYCxkaXNhYmxlZDplLmJ1c3k9PT0hMCxvbkNsaWNrOmUub25Db25maXJtLGNoaWxkcmVuOmIuY29uZmlybX0pOm5lJiZ0IT09dm9pZCAwPygwLFMuanN4cykoYGZvcm1gLHtjbGFzc05hbWU6YGFsLXBheS1jb2RlYCxvblN1Ym1pdDp0PT57dC5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPV87dihgYCksbi5sZW5ndGg-MCYmZS5vbkNvZGUobil9LGNoaWxkcmVuOlsoMCxTLmpzeCkocyx7bGFiZWw6QS5jb2RlTGFiZWwsaGludDpBLmNvZGVIaW50LHR5cGU6YHBhc3N3b3JkYCxhdXRvQ29tcGxldGU6YG9mZmAsc3BlbGxDaGVjazohMSxtb25vOiEwLHZhbHVlOl8sb25DaGFuZ2U6ZT0-dihlLmN1cnJlbnRUYXJnZXQudmFsdWUpfSksKDAsUy5qc3gpKHUse3ZhcmlhbnQ6YHByaW1hcnlgLHNpemU6YGxnYCxibG9jazohMCx0eXBlOmBzdWJtaXRgLGRpc2FibGVkOmUuYnVzeT09PSEwLGNoaWxkcmVuOkEuY29uZmlybUNvZGV9KV19KTpudWxsLGEhPT0hMCYmciE9PWBkb25lYCYmciE9PWByZWNvcmRpbmdgPygwLFMuanN4KSh1LHt2YXJpYW50OmBnaG9zdGAsYmxvY2s6ITAsb25DbGljazplLm9uQ2FuY2VsLGNoaWxkcmVuOkEuY2FuY2VsfSk6bnVsbCxhIT09ITAmJnI9PT1gcmVhZHlgJiZ0IT09dm9pZCAwJiZvJiZjPygwLFMuanN4KShgYnV0dG9uYCx7dHlwZTpgYnV0dG9uYCxjbGFzc05hbWU6YGFsLXBheS1saW5rYCxvbkNsaWNrOmUub25Vc2VCYWNrdXAsY2hpbGRyZW46QS51c2VCYWNrdXB9KTpudWxsXX0pXX0pfSl9dmFyIGl0PXtsb2FkaW5nOmBMb2FkaW5n4oCmYCxkb25lOmBEb25lYCxlcnJvcjpgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFRyeSBhZ2Fpbi5gfTtmdW5jdGlvbiBhdChlLHQ9NDAwLG49NTAwKXtsZXRbcixpXT0oMCx5LnVzZVN0YXRlKSghMSksYT0oMCx5LnVzZVJlZikoMCk7cmV0dXJuKDAseS51c2VFZmZlY3QpKCgpPT57aWYoZSYmIXIpe2xldCBlPXNldFRpbWVvdXQoKCk9PnthLmN1cnJlbnQ9RGF0ZS5ub3coKSxpKCEwKX0sdCk7cmV0dXJuKCk9PmNsZWFyVGltZW91dChlKX1pZighZSYmcil7bGV0IGU9TWF0aC5tYXgoMCxuLShEYXRlLm5vdygpLWEuY3VycmVudCkpLHQ9c2V0VGltZW91dCgoKT0-aSghMSksZSk7cmV0dXJuKCk9PmNsZWFyVGltZW91dCh0KX19LFtlLHIsdCxuXSkscn1mdW5jdGlvbiBvdCgpe2xldCBlPSgpPT50eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5oaWRkZW4sW3Qsbl09KDAseS51c2VTdGF0ZSkoZSk7cmV0dXJuKDAseS51c2VFZmZlY3QpKCgpPT57bGV0IHQ9KCk9Pm4oZSgpKTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihgdmlzaWJpbGl0eWNoYW5nZWAsdCksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpfSxbXSksdH12YXIgc3Q9KGUsdCxuKT0-TWF0aC5taW4obixNYXRoLm1heCh0LGUpKSxjdD1lPT5TdHJpbmcoTWF0aC5yb3VuZCgoMS1zdChlLDAsMSkpKjFlNCkvMTAwKTtmdW5jdGlvbiBsdCh7YWN0aW9uOmUsY2hpbGRyZW46dH0pe3JldHVybigwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtaW5saW5lLWVycm9yYCxyb2xlOmBhbGVydGAsY2hpbGRyZW46WygwLFMuanN4KShvLHtuYW1lOmBjaXJjbGUtYWxlcnRgLHNpemU6MTZ9KSwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46dH0pLGU9PT12b2lkIDA_bnVsbDooMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWlubGluZS1lcnJvci1hY3RgLGNoaWxkcmVuOmV9KV19KX1mdW5jdGlvbiB1dCh7ZnJhY3Rpb246ZX0pe3JldHVybigwLFMuanN4KShgc3ZnYCx7Y2xhc3NOYW1lOmBhbC1wYi1zdmdgLHZpZXdCb3g6YDAgMCAxMDAgNGAscHJlc2VydmVBc3BlY3RSYXRpbzpgbm9uZWAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsZm9jdXNhYmxlOmBmYWxzZWAsY2hpbGRyZW46KDAsUy5qc3gpKGBsaW5lYCx7Y2xhc3NOYW1lOmBhbC1wYi1maWxsYCx4MTpgMGAseTE6YDJgLHgyOmAxMDBgLHkyOmAyYCxwYXRoTGVuZ3RoOmAxMDBgLHN0cm9rZURhc2hhcnJheTpgMTAwYCxzdHJva2VEYXNob2Zmc2V0OmN0KGUpfSl9KX1mdW5jdGlvbiBkdCh7bGFiZWw6ZSxhbW91bnQ6bix2YWx1ZTpyPTAsbWF4Omk9MTAwLGluZGV0ZXJtaW5hdGU6YT0hMSxzdGVwczpzLGN1cnJlbnQ6Yz0wLHN0YXRlOmw9YGFjdGl2ZWAsZXJyb3I6dSxkZWxheWVkOmQ9ITF9KXtsZXQgZj1hdChkKSxwPW90KCk7aWYoZCYmIWYpcmV0dXJuIG51bGw7bGV0IG09cz09PXZvaWQgMD92b2lkIDA6cy5zbGljZSgwLDQpLGg9bSE9PXZvaWQgMCYmbS5sZW5ndGg-MCxnPW0_Lmxlbmd0aD8_MCxfPXN0KE1hdGguZmxvb3IoYyksMCxnKSx2PWk-MD9pOjEwMCx5PXN0KHIsMCx2KSxiPWw9PT1gZXJyb3JgLHg9Yj8hMTpoP2w9PT1gZG9uZWB8fF8-PWc6bD09PWBkb25lYHx8IWEmJnk-PXYsZWU9aD9gc3RlcHBlZGA6YT9gaW5kZXRlcm1pbmF0ZWA6YGRldGVybWluYXRlYCx0ZT14PzE6eS92LEM9e307cmV0dXJuIGg_KENbYGFyaWEtdmFsdWVtaW5gXT0xLENbYGFyaWEtdmFsdWVtYXhgXT1nLENbYGFyaWEtdmFsdWVub3dgXT1NYXRoLm1pbihfKzEsZyksQ1tgYXJpYS12YWx1ZXRleHRgXT14P2l0LmRvbmU6YFN0ZXAgJHtNYXRoLm1pbihfKzEsZyl9IG9mICR7Z306ICR7bVtNYXRoLm1pbihfLGctMSldfWApOiFhfHx4PyhDW2BhcmlhLXZhbHVlbWluYF09MCxDW2BhcmlhLXZhbHVlbWF4YF09dixDW2BhcmlhLXZhbHVlbm93YF09eD92OnkpOkNbYGFyaWEtYnVzeWBdPSEwLCgwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTp0KGBhbC1wYmAsYGlzLSR7ZWV9YCx4JiZgaXMtZG9uZWAsYiYmYGlzLWVycm9yYCksImRhdGEtcGF1c2VkIjpwP2B0cnVlYDp2b2lkIDAsY2hpbGRyZW46WygwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtcGItaGVhZGAscm9sZTpgc3RhdHVzYCwiYXJpYS1saXZlIjpgcG9saXRlYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1wYi1sYWJlbCBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmV9KSx4PygwLFMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXBiLXN0YXRlYCxjaGlsZHJlbjpbKDAsUy5qc3gpKG8se25hbWU6YGNoZWNrYCxzaXplOjE0fSksaXQuZG9uZV19KTpudWxsLG49PT12b2lkIDA_bnVsbDooMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXBiLWFtb3VudCBhbC10ZXh0LWNhcHRpb25gLGNoaWxkcmVuOm59KV19KSwoMCxTLmpzeCkoYGRpdmAse2NsYXNzTmFtZTp0KGBhbC1wYi10cmFja2AsaCYmYGlzLXN0ZXBwZWRgKSxyb2xlOmBwcm9ncmVzc2JhcmAsImFyaWEtbGFiZWwiOmUsImFyaWEtaW52YWxpZCI6Yj8hMDp2b2lkIDAsLi4uQyxjaGlsZHJlbjpoPygwLFMuanN4KShgb2xgLHtjbGFzc05hbWU6YGFsLXBiLXN0ZXBzYCxjaGlsZHJlbjptLm1hcCgoZSxuKT0-e2xldCBpPWImJm49PT1fP2BlcnJvcmA6bjxffHx4P2Bkb25lYDpuPT09Xz9gY3VycmVudGA6YHRvZG9gLGE9aT09PWBjdXJyZW50YCYmcj4wP3kvdjorKGk9PT1gZG9uZWApO3JldHVybigwLFMuanN4cykoYGxpYCx7Y2xhc3NOYW1lOnQoYGFsLXBiLXN0ZXBgLGk9PT1gY3VycmVudGAmJnI8PTAmJmBpcy11bmtub3duYCksImRhdGEtc3RhdGUiOmksImFyaWEtY3VycmVudCI6aT09PWBjdXJyZW50YD9gc3RlcGA6dm9pZCAwLGNoaWxkcmVuOlsoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXBiLXNlZ2AsY2hpbGRyZW46KDAsUy5qc3gpKHV0LHtmcmFjdGlvbjphfSl9KSxlXX0sZSl9KX0pOmEmJiF4PygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtcGItc2VnLWdsaWRlYH0pOigwLFMuanN4KSh1dCx7ZnJhY3Rpb246dGV9KX0pLGI_KDAsUy5qc3gpKGx0LHtjaGlsZHJlbjp1Pz9pdC5lcnJvcn0pOm51bGxdfSl9ZnVuY3Rpb24gZnQoe2xhYmVsOmUsdmFsdWU6bixtYXg6cix0ZXh0OmksY291bnRkb3duOmE9ITEsc2l6ZTpvPWBtZGAsY2hpbGRyZW46c30pe2xldCBjPXI-MD9yOjEsbD1zdChuLDAsYyksdT1sL2M7cmV0dXJuKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOnQoYGFsLXJpbmdgLGBpcy0ke299YCxhJiZgaXMtY291bnRkb3duYCxhJiZ1PD0uMiYmYGlzLWxvd2ApLHJvbGU6YG1ldGVyYCwiYXJpYS1sYWJlbCI6ZSwiYXJpYS12YWx1ZW1pbiI6MCwiYXJpYS12YWx1ZW1heCI6YywiYXJpYS12YWx1ZW5vdyI6bCwiYXJpYS12YWx1ZXRleHQiOmksY2hpbGRyZW46WygwLFMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXJpbmctZGlhbGAsY2hpbGRyZW46WygwLFMuanN4cykoYHN2Z2Ase3ZpZXdCb3g6YDAgMCAzNiAzNmAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsZm9jdXNhYmxlOmBmYWxzZWAsY2hpbGRyZW46WygwLFMuanN4KShgY2lyY2xlYCx7Y2xhc3NOYW1lOmBhbC1yaW5nLXRyYWNrYCxjeDpgMThgLGN5OmAxOGAscjpgMTZgfSksKDAsUy5qc3gpKGBjaXJjbGVgLHtjbGFzc05hbWU6YGFsLXJpbmctZmlsbGAsY3g6YDE4YCxjeTpgMThgLHI6YDE2YCxwYXRoTGVuZ3RoOmAxMDBgLHN0cm9rZURhc2hhcnJheTpgMTAwYCxzdHJva2VEYXNob2Zmc2V0OmN0KHUpfSldfSkscz09PXZvaWQgMD9udWxsOigwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtcmluZy1jZW50ZXJgLGNoaWxkcmVuOnN9KV19KSwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXJpbmctdGV4dCBhbC10ZXh0LWNhcHRpb25gLGNoaWxkcmVuOml9KV19KX1mdW5jdGlvbiBwdCh7bG9hZGluZzplLGxhYmVsOm49aXQubG9hZGluZyxsaW5lczpyPTMsY2xhc3NOYW1lOmksY2hpbGRyZW46YX0pe2xldCBvPWF0KGUpLHM9b3QoKSxjPSgwLHkudXNlUmVmKSghMSk7cmV0dXJuIG8mJihjLmN1cnJlbnQ9ITApLG8_KDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOnQoYGFsLXNrZWxldG9uYCxpKSxyb2xlOmBzdGF0dXNgLCJhcmlhLWJ1c3kiOmB0cnVlYCwiZGF0YS1wYXVzZWQiOnM_YHRydWVgOnZvaWQgMCxjaGlsZHJlbjpbQXJyYXkuZnJvbSh7bGVuZ3RoOnN0KE1hdGguZmxvb3IociksMSwxMil9LChlLHQpPT4oMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXNrZWxldG9uLWxpbmVgLCJhcmlhLWhpZGRlbiI6YHRydWVgfSx0KSksKDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1zci1vbmx5YCxjaGlsZHJlbjpufSldfSxgc2tlbGV0b25gKTplP251bGw6KDAsUy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6dChgYWwtc2tlbGV0b24tY29udGVudGAsYy5jdXJyZW50JiZgYWwtc2tlbGV0b24tcmV2ZWFsYCksY2hpbGRyZW46YX0sYGNvbnRlbnRgKX1mdW5jdGlvbiBtdChlKXtyZXR1cm4gZT09PXZvaWQgMHx8L1tcdFxuXHJdLy50ZXN0KGUpP2AjYDplLnN0YXJ0c1dpdGgoYCNgKXx8ZS5zdGFydHNXaXRoKGBodHRwczpgKXx8ZS5zdGFydHNXaXRoKGAvYCkmJiFlLnN0YXJ0c1dpdGgoYC8vYCkmJiFlLnN0YXJ0c1dpdGgoYC9cXGApP2U6YCNgfXZhciBodD17Y29ubmVjdGVkOmBDb25uZWN0ZWRgLG9mZmxpbmU6YE9mZmxpbmUgwrcgc2hvd2luZyB3aGF0J3Mgc2F2ZWQgaGVyZWAscGF1c2VkOmBQYXVzZWRgLGNoZWNraW5nOmBDaGVja2luZ-KApmAsZGlzY29ubmVjdGVkOmBOb3QgY29ubmVjdGVkYCwibm90LXJ1bm5pbmciOmBOb3QgcnVubmluZ2AsIm5lZWRzLXNldHVwIjpgTmVlZHMgc2V0dXBgfTtmdW5jdGlvbiBndCh7b3M6ZSx0aXRsZTpufSl7cmV0dXJuKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOnQoYGFsLXdpbi1iYXJgLGBpcy0ke2V9YCksImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46W2U9PT1gbWFjb3NgPygwLFMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXdpbi1kb3RzYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBpYCx7fSksKDAsUy5qc3gpKGBpYCx7fSksKDAsUy5qc3gpKGBpYCx7fSldfSk6bnVsbCwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXdpbi10aXRsZSBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOm59KSxlPT09YG1hY29zYD9udWxsOigwLFMuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXdpbi1jdHJsc2AsY2hpbGRyZW46W2U9PT1gd2luZG93c2A_KDAsUy5qc3gpKG8se25hbWU6YG1pbnVzYCxzaXplOjE0fSk6bnVsbCxlPT09YHdpbmRvd3NgPygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtd2luLW1heGB9KTpudWxsLCgwLFMuanN4KShvLHtuYW1lOmB4YCxzaXplOjE0fSldfSldfSl9ZnVuY3Rpb24gX3Qoe29zOmUsdGl0bGU6cj1gQWdlbnRMaW5rYCxwYWdlVGl0bGU6aSx0b3BCYXJFbmQ6YSxhZ2VudDpzLG5hdjpjPVtdLGNvbm5lY3Rpb246bD1gY29ubmVjdGVkYCxzdGF0dXNJdGVtczp1LHZlcnNpb246ZCxjaGlsZHJlbjpmLGNsYXNzTmFtZTpwfSl7bGV0IG09Yy5maW5kSW5kZXgoZT0-ZS5hY3RpdmU9PT0hMCk7cmV0dXJuKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOnQoYGFsLXNoZWxsYCxwKSxjaGlsZHJlbjpbZT09PXZvaWQgMD9udWxsOigwLFMuanN4KShndCx7b3M6ZSx0aXRsZTpyfSksKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1zaGVsbC1tYWluYCxjaGlsZHJlbjpbKDAsUy5qc3hzKShgbmF2YCx7Y2xhc3NOYW1lOmBhbC1zaWRlIGFsLWNocm9tZWAsImFyaWEtbGFiZWwiOmBNYWluYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXNpZGUtYnJhbmRgLGNoaWxkcmVuOigwLFMuanN4KShuLHtzaXplOjE4fSl9KSxzPT09dm9pZCAwP251bGw6KDAsUy5qc3hzKShgYnV0dG9uYCx7dHlwZTpgYnV0dG9uYCxjbGFzc05hbWU6YGFsLWFnZW50LXN3aXRjaGAsY2hpbGRyZW46WygwLFMuanN4KShvLHtuYW1lOmBhZ2VudGAsc2l6ZToxNH0pLCgwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpzfSksKDAsUy5qc3gpKG8se25hbWU6YGNoZXZyb24tZG93bmAsc2l6ZToxNH0pXX0pLCgwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtbmF2LXdyYXBgLCJkYXRhLWFjdGl2ZSI6bTwwP3ZvaWQgMDpTdHJpbmcobSksY2hpbGRyZW46WygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtbmF2LXNsaWRlcmAsImFyaWEtaGlkZGVuIjpgdHJ1ZWB9KSwoMCxTLmpzeCkoYHVsYCx7Y2hpbGRyZW46Yy5tYXAoKGUsbik9PigwLFMuanN4KShgbGlgLHtjaGlsZHJlbjooMCxTLmpzeHMpKGBhYCx7aHJlZjptdChlLmhyZWYpLGNsYXNzTmFtZTp0KGBhbC1uYXZgLGUuYWN0aXZlPT09ITAmJmBpcy1hY3RpdmVgKSwiYXJpYS1jdXJyZW50IjplLmFjdGl2ZT09PSEwP2BwYWdlYDp2b2lkIDAsY2hpbGRyZW46WygwLFMuanN4KShvLHtuYW1lOmUuaWNvbixzaXplOjE2fSksKDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOmUubGFiZWx9KSxlLmNvdW50PT09dm9pZCAwfHxlLmNvdW50PT09MD9udWxsOmUuY291bnRMYWJlbD09PXZvaWQgMD8oMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLW5hdi1jb3VudCBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOmUuY291bnR9KTooMCxTLmpzeCkoUmUse2NvdW50OmUuY291bnQsbGFiZWw6ZS5jb3VudExhYmVsLGNsYXNzTmFtZTpgYWwtbmF2LWNvdW50IGFsLXRleHQtY29kZWB9KV19KX0sbikpfSldfSldfSksKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1zaGVsbC1ib2R5YCxjaGlsZHJlbjpbaT09PXZvaWQgMD9udWxsOigwLFMuanN4cykoYGhlYWRlcmAse2NsYXNzTmFtZTpgYWwtdG9wYmFyIGFsLWNocm9tZWAsY2hpbGRyZW46WygwLFMuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdG9wYmFyLXRpdGxlIGFsLXRleHQtdGl0bGUtM2AsY2hpbGRyZW46aX0pLCgwLFMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC10b3BiYXItZW5kYCxjaGlsZHJlbjphfSldfSksKDAsUy5qc3gpKGBtYWluYCx7Y2xhc3NOYW1lOmBhbC1zaGVsbC1jb250ZW50YCxpZDpgYWwtbWFpbmAsY2hpbGRyZW46Zn0pXX0pXX0pLCgwLFMuanN4cykoYGZvb3RlcmAse2NsYXNzTmFtZTpgYWwtc3RhdHVzYmFyIGFsLWNocm9tZSBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXNiLWl0ZW1gLHJvbGU6YHN0YXR1c2AsImFyaWEtbGl2ZSI6YHBvbGl0ZWAsImFyaWEtYXRvbWljIjpgdHJ1ZWAsY2hpbGRyZW46KDAsUy5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTpgYWwtc2Itc3RhdGVgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6dChgYWwtZG90YCxgaXMtJHtsfWApLCJhcmlhLWhpZGRlbiI6YHRydWVgfSksaHRbbF1dfSxsKX0pLCh1Pz9bXSkubWFwKChlLHQpPT4oMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXNiLWl0ZW1gLGNoaWxkcmVuOmV9LHQpKSwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXNiLXNwYWNlcmB9KSxkPT09dm9pZCAwP251bGw6KDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1zYi1pdGVtYCxjaGlsZHJlbjpkfSldfSldfSl9dmFyIHZ0PXtmYWlsZWQ6YFRoaXMgcGFydCBkaWRuJ3QgbG9hZC4gQ2hlY2sgdGhhdCBBZ2VudExpbmsgaXMgcnVubmluZywgdGhlbiB0cnkgYWdhaW4uYCxyZXRyeTpgVHJ5IGFnYWluYH07ZnVuY3Rpb24geXQoZSx0PSgpPT4oMCxTLmpzeCkocHQse2xvYWRpbmc6ITAsbGluZXM6M30pKXtsZXQgbixyLGk9KCk9Pm49PT12b2lkIDA_KHI_Pz1lKCkudGhlbihlPT57bj1lfSxlPT57dGhyb3cgcj12b2lkIDAsZX0pLHIpOlByb21pc2UucmVzb2x2ZSgpO2Z1bmN0aW9uIGEoZSl7bGV0WyxyXT0oMCx5LnVzZVJlZHVjZXIpKGU9PmUrMSwwKSxbYSxvXT0oMCx5LnVzZVN0YXRlKSghMSksW3MsY109KDAseS51c2VTdGF0ZSkoMCksbD1uO3JldHVybigwLHkudXNlRWZmZWN0KSgoKT0-e2lmKG4hPT12b2lkIDApcmV0dXJuO2xldCBlPSEwO3JldHVybiBpKCkudGhlbigoKT0-e2UmJnIoKX0sKCk9PntlJiZvKCEwKX0pLCgpPT57ZT0hMX19LFtzXSksbD09PXZvaWQgMD9hPygwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtbGF6eS1mYWlsZWRgLHJvbGU6YGFsZXJ0YCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOnZ0LmZhaWxlZH0pLCgwLFMuanN4KSh1LHt2YXJpYW50OmBzZWNvbmRhcnlgLG9uQ2xpY2s6KCk9PntvKCExKSxjKHMrMSl9LGNoaWxkcmVuOnZ0LnJldHJ5fSldfSk6dCgpOigwLFMuanN4KShsLHsuLi5lfSl9cmV0dXJue2xvYWQ6aSxyZWFkeTooKT0-biE9PXZvaWQgMCxQYXJ0OmF9fXZhciBidD0oZnVuY3Rpb24oKXtsZXQgZT10eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5jcmVhdGVFbGVtZW50KGBsaW5rYCkucmVsTGlzdDtyZXR1cm4gZSYmZS5zdXBwb3J0cyYmZS5zdXBwb3J0cyhgbW9kdWxlcHJlbG9hZGApP2Btb2R1bGVwcmVsb2FkYDpgcHJlbG9hZGB9KSgpLHh0PWZ1bmN0aW9uKGUpe3JldHVybmAvYCtlfSxTdD17fSxDdD1mdW5jdGlvbihlKXtyZXR1cm4gZS5wYXRobmFtZS5lbmRzV2l0aChgLmNzc2ApfSx3dD1mdW5jdGlvbihlLHQsbil7aWYodCBpbiBlKXJldHVybiBlW3RdO2xldCByPW4oKTtpZighcil7ZVt0XT12b2lkIDA7cmV0dXJufWxldCBpPXIudGhlbigoKT0-e2VbdF09dm9pZCAwfSxuPT57dGhyb3cgZVt0XT12b2lkIDAsbn0pO3JldHVybiBlW3RdPWksaX0sVHQ9ZnVuY3Rpb24oZSx0LG4pe2xldCByPVByb21pc2UucmVzb2x2ZSgpO2lmKHQmJnQubGVuZ3RoPjApe2xldCBlLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtwcm9wZXJ0eT1jc3Atbm9uY2VdYCksYT1pPy5ub25jZXx8aT8uZ2V0QXR0cmlidXRlKGBub25jZWApO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGU9PlByb21pc2UucmVzb2x2ZShlKS50aGVuKGU9Pih7c3RhdHVzOmBmdWxmaWxsZWRgLHZhbHVlOmV9KSxlPT4oe3N0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjplfSkpKSl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gaW1wb3J0Lm1ldGEucmVzb2x2ZT9uZXcgVVJMKGltcG9ydC5tZXRhLnJlc29sdmUoZSkpOm5ldyBVUkwoZSxpbXBvcnQubWV0YS51cmwpfXI9byh0Lm1hcCh0PT57dD14dCh0LG4pO2xldCByPXModCksaT1DdChyKTtyZXR1cm4gd3QoU3Qsci5ocmVmLCgpPT57aWYoZT09PXZvaWQgMCl7ZT17YWxsOm5ldyBTZXQsc3R5bGVzOm5ldyBTZXR9O2xldCB0PWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKGBsaW5rYCk7Zm9yKGxldCBuPXQubGVuZ3RoLTE7bj49MDtuLS0pe2xldCByPXRbbl07ZS5hbGwuYWRkKHIuaHJlZiksci5yZWw9PT1gc3R5bGVzaGVldGAmJmUuc3R5bGVzLmFkZChyLmhyZWYpfX1pZigoaT9lLnN0eWxlczplLmFsbCkuaGFzKHIuaHJlZikpcmV0dXJuO2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGxpbmtgKTtpZih0LnJlbD1pP2BzdHlsZXNoZWV0YDpidCxpfHwodC5hcz1gc2NyaXB0YCksdC5jcm9zc09yaWdpbj1gYCx0LmhyZWY9ci5ocmVmLGEmJnQuc2V0QXR0cmlidXRlKGBub25jZWAsYSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0KSxpKXJldHVybiBuZXcgUHJvbWlzZSgoZSxuKT0-e3QuYWRkRXZlbnRMaXN0ZW5lcihgbG9hZGAsZSksdC5hZGRFdmVudExpc3RlbmVyKGBlcnJvcmAsKCk9Pm4oRXJyb3IoYFVuYWJsZSB0byBwcmVsb2FkIENTUyBmb3IgJHtyfWApKSl9KX0pfSkuZmlsdGVyKGU9PmUhPT12b2lkIDApKX1mdW5jdGlvbiBpKGUpe2xldCB0PW5ldyBFdmVudChgdml0ZTpwcmVsb2FkRXJyb3JgLHtjYW5jZWxhYmxlOiEwfSk7aWYodC5wYXlsb2FkPWUsd2luZG93LmRpc3BhdGNoRXZlbnQodCksIXQuZGVmYXVsdFByZXZlbnRlZCl0aHJvdyBlfXJldHVybiByLnRoZW4odD0-e2ZvcihsZXQgZSBvZiB0fHxbXSllLnN0YXR1cz09PWByZWplY3RlZGAmJmkoZS5yZWFzb24pO3JldHVybiBlKCkuY2F0Y2goaSl9KX0sRXQ9ZT0-eXQoZSksRHQ9eyIvc2V0dGluZ3MvaG9tZSI6RXQoYXN5bmMoKT0-KGF3YWl0IFR0KGFzeW5jKCk9PntsZXR7SG9tZVBhZ2U6ZX09YXdhaXQgaW1wb3J0KGAuL2hvbWUtck0xYmRRTksuanNgKTtyZXR1cm57SG9tZVBhZ2U6ZX19LF9fdml0ZV9fbWFwRGVwcyhbMCwxLDIsMyw0XSkpKS5Ib21lUGFnZSksIi9zZXR0aW5ncy9hY3Rpdml0eSI6RXQoYXN5bmMoKT0-KGF3YWl0IFR0KGFzeW5jKCk9PntsZXR7QWN0aXZpdHlQYWdlOmV9PWF3YWl0IGltcG9ydChgLi9hY3Rpdml0eS1DTExnbF9hZy5qc2ApO3JldHVybntBY3Rpdml0eVBhZ2U6ZX19LF9fdml0ZV9fbWFwRGVwcyhbNSwxLDYsNywyXSkpKS5BY3Rpdml0eVBhZ2UpLCIvc2V0dGluZ3MvbWVzc2FnZXMiOkV0KGFzeW5jKCk9Pihhd2FpdCBUdChhc3luYygpPT57bGV0e01lc3NhZ2VzUGFnZTplfT1hd2FpdCBpbXBvcnQoYC4vbWVzc2FnZXMtUGFuSnRWeVMuanNgKTtyZXR1cm57TWVzc2FnZXNQYWdlOmV9fSxfX3ZpdGVfX21hcERlcHMoWzgsMSw2LDksMTAsN10pKSkuTWVzc2FnZXNQYWdlKSwiL3NldHRpbmdzL2NvbnRhY3RzIjpFdChhc3luYygpPT4oYXdhaXQgVHQoYXN5bmMoKT0-e2xldHtDb250YWN0c1BhZ2U6ZX09YXdhaXQgaW1wb3J0KGAuL2NvbnRhY3RzLURIUDd4bFdmLmpzYCk7cmV0dXJue0NvbnRhY3RzUGFnZTplfX0sX192aXRlX19tYXBEZXBzKFsxMSwxLDYsMTAsM10pKSkuQ29udGFjdHNQYWdlKSwiL3NldHRpbmdzL2ZpbGVzIjpFdChhc3luYygpPT4oYXdhaXQgVHQoYXN5bmMoKT0-e2xldHtGaWxlc1BhZ2U6ZX09YXdhaXQgaW1wb3J0KGAuL2ZpbGVzLUR6OEdXSExGLmpzYCk7cmV0dXJue0ZpbGVzUGFnZTplfX0sX192aXRlX19tYXBEZXBzKFsxMiwxLDYsOSwxMCw3XSkpKS5GaWxlc1BhZ2UpLCIvc2V0dGluZ3MvcHJvb2ZzIjpFdChhc3luYygpPT4oYXdhaXQgVHQoYXN5bmMoKT0-e2xldHtQcm9vZnNQYWdlOmV9PWF3YWl0IGltcG9ydChgLi9wcm9vZnMtQmlhVWM4TzEuanNgKTtyZXR1cm57UHJvb2ZzUGFnZTplfX0sX192aXRlX19tYXBEZXBzKFsxMywxLDYsMTAsNyw0XSkpKS5Qcm9vZnNQYWdlKSwiL3NldHRpbmdzL3J1bGVzIjpFdChhc3luYygpPT4oYXdhaXQgVHQoYXN5bmMoKT0-e2xldHtSdWxlc1BhZ2U6ZX09YXdhaXQgaW1wb3J0KGAuL3J1bGVzLUJJanZpNlc2LmpzYCk7cmV0dXJue1J1bGVzUGFnZTplfX0sX192aXRlX19tYXBEZXBzKFsxNCwxLDYsMTBdKSkpLlJ1bGVzUGFnZSksIi9zZXR0aW5ncy9iYWNrdXAiOkV0KGFzeW5jKCk9Pihhd2FpdCBUdChhc3luYygpPT57bGV0e0JhY2t1cFBhZ2U6ZX09YXdhaXQgaW1wb3J0KGAuL2JhY2t1cC1CUnRoX2J5Ui5qc2ApO3JldHVybntCYWNrdXBQYWdlOmV9fSxfX3ZpdGVfX21hcERlcHMoWzE1LDFdKSkpLkJhY2t1cFBhZ2UpLCIvc2V0dGluZ3MvYWR2YW5jZWQiOkV0KGFzeW5jKCk9Pihhd2FpdCBUdChhc3luYygpPT57bGV0e0FkdmFuY2VkUGFnZTplfT1hd2FpdCBpbXBvcnQoYC4vYWR2YW5jZWQtbHlnUnVscF8uanNgKTtyZXR1cm57QWR2YW5jZWRQYWdlOmV9fSxfX3ZpdGVfX21hcERlcHMoWzE2LDFdKSkpLkFkdmFuY2VkUGFnZSksIi9zZXR0aW5ncy9hcHBlYXJhbmNlIjpFdChhc3luYygpPT4oYXdhaXQgVHQoYXN5bmMoKT0-e2xldHtBcHBlYXJhbmNlUGFnZTplfT1hd2FpdCBpbXBvcnQoYC4vYXBwZWFyYW5jZS1EVEMtVkZzLS5qc2ApO3JldHVybntBcHBlYXJhbmNlUGFnZTplfX0sX192aXRlX19tYXBEZXBzKFsxNywxLDYsMThdKSkpLkFwcGVhcmFuY2VQYWdlKSwiL3NldHRpbmdzL2Fib3V0IjpFdChhc3luYygpPT4oYXdhaXQgVHQoYXN5bmMoKT0-e2xldHtBYm91dFBhZ2U6ZX09YXdhaXQgaW1wb3J0KGAuL2Fib3V0LUJfOWNmZlRoLmpzYCk7cmV0dXJue0Fib3V0UGFnZTplfX0sX192aXRlX19tYXBEZXBzKFsxOSwxLDEwXSkpKS5BYm91dFBhZ2UpfTtmdW5jdGlvbiBPdChlKXtsZXQgdD1EdFtlXTtyZXR1cm4gdD09PXZvaWQgMD9Qcm9taXNlLnJlc29sdmUoKTp0LmxvYWQoKS5jYXRjaCgoKT0-dm9pZCAwKX12YXIga3Q9ZT0-e3R5cGVvZiB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz09YGZ1bmN0aW9uYD93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayhlLHt0aW1lb3V0OjNlM30pOndpbmRvdy5zZXRUaW1lb3V0KGUsMzAwKX07ZnVuY3Rpb24gQXQoZT1rdCl7bGV0IHQ9T2JqZWN0LmtleXMoRHQpLG49KCk9PntsZXQgcj10LnNoaWZ0KCk7ciE9PXZvaWQgMCYmT3QocikudGhlbigoKT0-ZShuKSl9O2Uobil9dmFyIGp0PWBhZ2VudGxpbmsucHJlZnNgLE10PXtob29kOiExLG1vdGlvbjpgc3lzdGVtYCx0cmFuc3BhcmVuY3k6YHN5c3RlbWAsdGhlbWU6YHN5c3RlbWAsYXBwcm92YWxzTGF5b3V0OmBncmlkYH0sTnQ9e21vdGlvbjpbYHN5c3RlbWAsYG9uYCxgb2ZmYF0sdHJhbnNwYXJlbmN5Oltgc3lzdGVtYCxgcmVkdWNlYF0sdGhlbWU6W2BzeXN0ZW1gLGBsaWdodGAsYGRhcmtgXSxhcHByb3ZhbHNMYXlvdXQ6W2BncmlkYCxgbGlzdGBdfTtmdW5jdGlvbiBQdChlKXtsZXQgdD17Li4uTXR9O2lmKGU9PT1udWxsKXJldHVybiB0O2xldCBuO3RyeXtuPUpTT04ucGFyc2UoZSl9Y2F0Y2h7cmV0dXJuIHR9aWYodHlwZW9mIG4hPWBvYmplY3RgfHwhbilyZXR1cm4gdDtsZXQgcj1uO3JldHVybiB0eXBlb2Ygci5ob29kPT1gYm9vbGVhbmAmJih0Lmhvb2Q9ci5ob29kKSxOdC5tb3Rpb24uaW5jbHVkZXMoci5tb3Rpb24pJiYodC5tb3Rpb249ci5tb3Rpb24pLE50LnRyYW5zcGFyZW5jeS5pbmNsdWRlcyhyLnRyYW5zcGFyZW5jeSkmJih0LnRyYW5zcGFyZW5jeT1yLnRyYW5zcGFyZW5jeSksTnQudGhlbWUuaW5jbHVkZXMoci50aGVtZSkmJih0LnRoZW1lPXIudGhlbWUpLE50LmFwcHJvdmFsc0xheW91dC5pbmNsdWRlcyhyLmFwcHJvdmFsc0xheW91dCkmJih0LmFwcHJvdmFsc0xheW91dD1yLmFwcHJvdmFsc0xheW91dCksdH1mdW5jdGlvbiBGdCgpe3RyeXtyZXR1cm4gUHQod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKGp0KSl9Y2F0Y2h7cmV0dXJuey4uLk10fX19ZnVuY3Rpb24gSXQoZSl7dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShqdCxKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2h7fX1mdW5jdGlvbiBMdChlLHQpe2xldCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt0PT09bnVsbD9uLnJlbW92ZUF0dHJpYnV0ZShlKTpuLnNldEF0dHJpYnV0ZShlLHQpfWZ1bmN0aW9uIFJ0KGUpe0x0KGBkYXRhLW1vdGlvbmAsZS5tb3Rpb249PT1gb25gP2ByZWR1Y2VkYDplLm1vdGlvbj09PWBvZmZgP2BmdWxsYDpudWxsKSxMdChgZGF0YS10cmFuc3BhcmVuY3lgLGUudHJhbnNwYXJlbmN5PT09YHJlZHVjZWA_YHJlZHVjZWRgOm51bGwpLEx0KGBkYXRhLXRoZW1lYCxlLnRoZW1lPT09YHN5c3RlbWA_bnVsbDplLnRoZW1lKX12YXIgenQ9bnVsbCxCdD1uZXcgU2V0O2Z1bmN0aW9uIFZ0KCl7cmV0dXJuIHp0PT09bnVsbCYmKHp0PUZ0KCksUnQoenQpKSx6dH1mdW5jdGlvbiBIdCgpe3JldHVybiBWdCgpfWZ1bmN0aW9uIFV0KGUsdCl7bGV0IG49ey4uLlZ0KCksW2VdOnR9O3p0PW4sSXQobiksUnQobik7Zm9yKGxldCBlIG9mIEJ0KWUoKX1mdW5jdGlvbiBXdChlKXtyZXR1cm4gQnQuYWRkKGUpLCgpPT5CdC5kZWxldGUoZSl9ZnVuY3Rpb24gR3QoKXtyZXR1cm4oMCx5LnVzZVN5bmNFeHRlcm5hbFN0b3JlKShXdCxWdCxWdCl9ZnVuY3Rpb24gS3Qoe2NoaWxkcmVuOmV9KXtsZXR7aG9vZDp0fT1HdCgpO3JldHVybigwLFMuanN4KShfZSx7dmFsdWU6dCxjaGlsZHJlbjplfSl9dmFyIHF0PXthcHBOYW1lOmBBZ2VudExpbmtgLG5hdkxhYmVsOmBNYWluYCxza2lwVG9Db250ZW50OmBTa2lwIHRvIGNvbnRlbnRgLGFwcHJvdmFsc1dhaXRpbmc6YHdhaXRpbmcgZm9yIHlvdWAsbWVzc2FnZXNOZXc6YG5ld2Asbm90QXZhaWxhYmxlVGl0bGU6YFRoaXMgcGFnZSBpc24ndCBhdmFpbGFibGUgeWV0LmAsbm90QXZhaWxhYmxlSGludDpgSXQgYXJyaXZlcyBpbiBhbiB1cGRhdGUuIE5vdGhpbmcgaXMgbG9zdCB3aGlsZSB5b3Ugd2FpdC5gLG5vdEZvdW5kVGl0bGU6YFRoaXMgcGFnZSBpc24ndCBoZXJlLmAsbm90Rm91bmRIaW50OmBQaWNrIGEgcGFnZSBmcm9tIHRoZSBtZW51LmAsdGhlbWVOYW1lOmBUaGVtZWAsdGhlbWVDaGFuZ2U6YENoYW5nZWAsdGhlbWVTeXN0ZW06YFN5c3RlbWAsdGhlbWVMaWdodDpgTGlnaHRgLHRoZW1lRGFyazpgRGFya2Asb2ZmbGluZUNoaXA6YE5vdCBjb25uZWN0ZWRgfSxKdD17Zmlyc3RSdW46YFNldCB1cCBBZ2VudExpbmtgLGhvbWU6YEhvbWVgLGFwcHJvdmFsczpgQXBwcm92YWxzYCxhcHByb3ZlOmBBcHByb3ZhbGAsYWN0aXZpdHk6YEFjdGl2aXR5YCxtZXNzYWdlczpgTWVzc2FnZXNgLGNvbnRhY3RzOmBDb250YWN0c2AsZmlsZXM6YEZpbGVzYCxzdG9yYWdlOmBTdG9yYWdlYCxwcm9vZnM6YFByb29mcyAmIGNyZWRpdHNgLHJ1bGVzOmBSdWxlc2AsYmFja3VwOmBCYWNrdXBgLGFwcGVhcmFuY2U6YEFwcGVhcmFuY2VgLGFkdmFuY2VkOmBBZHZhbmNlZGAsYWJvdXQ6YEFib3V0YH0sWXQ9IlNldCB1cCBiZWZvcmUgMC4zLjA_IFVzZSB0aGUgb3duZXIgY29kZSBmcm9tIGBucHggLXkgQDR0aHRlY2gtaW8vYWdlbnRsaW5rIG93bmVyIGluaXRgLiIsWHQ9YFNldHRpbmdzYCxadD1gUGFzc2tleXNgLFF0PVt7aWQ6YGhvbWVgLGxhYmVsOkp0LmhvbWUsaWNvbjpgYWdlbnRgLHBhdGg6YC9zZXR0aW5ncy9ob21lYCxyb3V0ZWQ6ITB9LHtpZDpgYXBwcm92YWxzYCxsYWJlbDpKdC5hcHByb3ZhbHMsaWNvbjpgYXBwcm92YWxgLHBhdGg6YC9gLHJvdXRlZDohMH0se2lkOmBhY3Rpdml0eWAsbGFiZWw6SnQuYWN0aXZpdHksaWNvbjpgYWN0aXZpdHlgLHBhdGg6YC9zZXR0aW5ncy9hY3Rpdml0eWAscm91dGVkOiEwfSx7aWQ6YG1lc3NhZ2VzYCxsYWJlbDpKdC5tZXNzYWdlcyxpY29uOmBpbmJveGAscGF0aDpgL3NldHRpbmdzL21lc3NhZ2VzYCxyb3V0ZWQ6ITB9LHtpZDpgY29udGFjdHNgLGxhYmVsOkp0LmNvbnRhY3RzLGljb246YHVzZXJzYCxwYXRoOmAvc2V0dGluZ3MvY29udGFjdHNgLHJvdXRlZDohMH0se2lkOmBmaWxlc2AsbGFiZWw6SnQuZmlsZXMsaWNvbjpgZm9sZGVyYCxwYXRoOmAvc2V0dGluZ3MvZmlsZXNgLHJvdXRlZDohMH0se2lkOmBwcm9vZnNgLGxhYmVsOkp0LnByb29mcyxpY29uOmBwcm9vZi1zZWFsYCxwYXRoOmAvc2V0dGluZ3MvcHJvb2ZzYCxyb3V0ZWQ6ITB9LHtpZDpgcnVsZXNgLGxhYmVsOkp0LnJ1bGVzLGljb246YHNsaWRlcnMtaG9yaXpvbnRhbGAscGF0aDpgL3NldHRpbmdzL3J1bGVzYCxyb3V0ZWQ6ITB9LHtpZDpgc2V0dGluZ3NgLGxhYmVsOlh0LGljb246YHNldHRpbmdzYCxwYXRoOmAvc2V0dGluZ3MvYmFja3VwYCxyb3V0ZWQ6ITB9XSwkdD1be2xhYmVsOkp0LmJhY2t1cCxwYXRoOmAvc2V0dGluZ3MvYmFja3VwYH0se2xhYmVsOlp0LHBhdGg6YC9zZXR0aW5ncy9wYXNza2V5c2B9LHtsYWJlbDpKdC5hcHBlYXJhbmNlLHBhdGg6YC9zZXR0aW5ncy9hcHBlYXJhbmNlYH0se2xhYmVsOkp0LmFkdmFuY2VkLHBhdGg6YC9zZXR0aW5ncy9hZHZhbmNlZGB9LHtsYWJlbDpKdC5hYm91dCxwYXRoOmAvc2V0dGluZ3MvYWJvdXRgfV0saj17Ii9zZXR0aW5ncy9zdG9yYWdlIjpgL3NldHRpbmdzL2ZpbGVzYH0sZW49e3Vua25vd246e3N0YXRlOmBjaGVja2luZ2B9LGNvbm5lY3RlZDp7c3RhdGU6YGNvbm5lY3RlZGB9LHBhdXNlZDp7c3RhdGU6YHBhdXNlZGB9LG5vdF9ydW5uaW5nOntzdGF0ZTpgbm90LXJ1bm5pbmdgfSxuZWVkc19zZXR1cDp7c3RhdGU6YG5lZWRzLXNldHVwYH0sb2ZmbGluZTp7c3RhdGU6YG5vdC1ydW5uaW5nYCxsYWJlbDpxdC5vZmZsaW5lQ2hpcH19LHRuPXtzeXN0ZW06cXQudGhlbWVTeXN0ZW0sbGlnaHQ6cXQudGhlbWVMaWdodCxkYXJrOnF0LnRoZW1lRGFya30sbm49e3N5c3RlbTpgbGlnaHRgLGxpZ2h0OmBkYXJrYCxkYXJrOmBzeXN0ZW1gfTtmdW5jdGlvbiBybih7Y29ubmVjdGlvbjplfSl7bGV0IHQ9R3QoKSxuPWVuW2VdLHI9dG5bdC50aGVtZV07cmV0dXJuKDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3gpKGBzcGFuYCx7dGl0bGU6aGUudG9vbHRpcCxjaGlsZHJlbjooMCxTLmpzeCkobCx7bGFiZWw6aGUudGl0bGUsY2hlY2tlZDp0Lmhvb2Qsb25DaGFuZ2U6ZT0-VXQoYGhvb2RgLGUpfSl9KSwoMCxTLmpzeCkoUGUse3N0YXRlOm4uc3RhdGUsLi4ubi5sYWJlbD09PXZvaWQgMD97fTp7bGFiZWw6bi5sYWJlbH19KSwoMCxTLmpzeHMpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLGNsYXNzTmFtZTpgYWwtYnRuIGFsLWJ0bi1naG9zdCBhbC1idG4tc20gYWwtdG9wYmFyLXRoZW1lYCwiYXJpYS1sYWJlbCI6YCR7cXQudGhlbWVOYW1lfTogJHtyfS4gJHtxdC50aGVtZUNoYW5nZX1gLG9uQ2xpY2s6KCk9PlV0KGB0aGVtZWAsbm5bdC50aGVtZV0pLGNoaWxkcmVuOlsoMCxTLmpzeCkobyx7bmFtZTpgc2xpZGVycy1ob3Jpem9udGFsYCxzaXplOjE0fSksKDAsUy5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10b3BiYXItdGhlbWUtdGV4dGAsY2hpbGRyZW46cn0pXX0pXX0pfXZhciBhbj1gWC1BZ2VudExpbmstQ1NSRmA7ZnVuY3Rpb24gb24oZSl7bGV0IHQ9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUpLG49YGA7Zm9yKGxldCBlIG9mIHQpbis9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtyZXR1cm4gYnRvYShuKS5yZXBsYWNlKC9cKy9nLGAtYCkucmVwbGFjZSgvXC8vZyxgX2ApLnJlcGxhY2UoLz0rJC8sYGApfWZ1bmN0aW9uIHNuKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD5gdWA_YGA6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtuYW1lPSJhZ2VudGxpbmstY3NyZiJdYCk_LmdldEF0dHJpYnV0ZShgY29udGVudGApPz9gYH1mdW5jdGlvbiBjbihlKXtpZighZS5zdGFydHNXaXRoKGAvYXBpL2ApfHxlLnN0YXJ0c1dpdGgoYC8vYCl8fC9bXFxcdFxuXHJdLy50ZXN0KGUpKXRocm93IEVycm9yKGBhcGkgcGF0aCBtdXN0IHN0YXJ0IHdpdGggL2FwaS9gKTtpZigoZS5zcGxpdCgvWz8jXS8sMSlbMF0_P2BgKS5zcGxpdChgL2ApLnNvbWUoZT0-L14oPzpcLnwlMmUpezEsMn0kL2kudGVzdChlKSkpdGhyb3cgRXJyb3IoYGFwaSBwYXRoIG11c3Qgbm90IGNvbnRhaW4gZG90IHNlZ21lbnRzYCl9YXN5bmMgZnVuY3Rpb24gbG4oZSl7dHJ5e3JldHVybntvazohMCx2YWx1ZTphd2FpdCBlLmpzb24oKX19Y2F0Y2h7cmV0dXJue29rOiExfX19ZnVuY3Rpb24gdW4oZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiZlLnN0YXR1cz09PWBwcmVzZW5jZV9yZXF1aXJlZGB9ZnVuY3Rpb24gZG4oZT17fSl7bGV0IHQ9ZS5mZXRjaD8_KChlLHQpPT5nbG9iYWxUaGlzLmZldGNoKGUsdCkpO2FzeW5jIGZ1bmN0aW9uIG4obixyLGkpe2NuKHIpO2xldCBhPW5ldyBIZWFkZXJzKHtbYW5dOmUudG9rZW4_P3NuKCl9KSxvPXttZXRob2Q6bixoZWFkZXJzOmEsY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfTtpIT09dm9pZCAwJiYoYS5zZXQoYGNvbnRlbnQtdHlwZWAsYGFwcGxpY2F0aW9uL2pzb25gKSxvLmJvZHk9SlNPTi5zdHJpbmdpZnkoaSkpO2xldCBzO3RyeXtzPWF3YWl0IHQocixvKX1jYXRjaHtyZXR1cm57a2luZDpgb2ZmbGluZWB9fWxldCBjPWF3YWl0IGxuKHMpO3JldHVybiBjLm9rJiZ1bihjLnZhbHVlKT97a2luZDpgcHJlc2VuY2VfcmVxdWlyZWRgfTpzLnN0YXR1cz09PTQwMT97a2luZDpgc2Vzc2lvbl9leHBpcmVkYH06cy5zdGF0dXM9PT01MDE_e2tpbmQ6YG5vdF9hdmFpbGFibGVgfTpzLnN0YXR1cz09PTQwMz97a2luZDpgZm9yYmlkZGVuYH06IXMub2t8fCFjLm9rP3traW5kOmBlcnJvcmAsc3RhdHVzOnMuc3RhdHVzfTp7a2luZDpgb2tgLHN0YXR1czpzLnN0YXR1cyxkYXRhOmMudmFsdWV9fWFzeW5jIGZ1bmN0aW9uIHIobixyLGkpe2NuKG4pO2xldCBhPW5ldyBIZWFkZXJzKHtbYW5dOmUudG9rZW4_P3NuKCksImNvbnRlbnQtdHlwZSI6YGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbWAsIlgtQWdlbnRMaW5rLUlucHV0IjpvbihKU09OLnN0cmluZ2lmeShyKSl9KSxvO3RyeXtvPWF3YWl0IHQobix7bWV0aG9kOmBQT1NUYCxoZWFkZXJzOmEsYm9keTppLGNyZWRlbnRpYWxzOmBzYW1lLW9yaWdpbmAsY2FjaGU6YG5vLXN0b3JlYH0pfWNhdGNoe3JldHVybntraW5kOmBvZmZsaW5lYH19bGV0IHM9YXdhaXQgbG4obyksYz1zLm9rP3MudmFsdWU6dm9pZCAwLGw9dHlwZW9mIGM9PWBvYmplY3RgJiZjP2Muc3RhdHVzOm51bGw7cmV0dXJuIG8uc3RhdHVzPT09NDAxP3traW5kOmBzZXNzaW9uX2V4cGlyZWRgfTpsPT09YHByZXNlbmNlX3JlcXVpcmVkYHx8bD09PWBwcmVzZW5jZV9yZWplY3RlZGB8fGw9PT1gd2FpdGB8fGw9PT1gYnVzeWA_e2tpbmQ6bH06cy5vaz9vLm9rP3traW5kOmBva2Asc3RhdHVzOm8uc3RhdHVzLGRhdGE6Y306e2tpbmQ6YGFuc3dlcmAsc3RhdHVzOm8uc3RhdHVzLGRhdGE6Y306e2tpbmQ6YGVycm9yYCxzdGF0dXM6by5zdGF0dXN9fXJldHVybntnZXQ6ZT0-bihgR0VUYCxlKSxwb3N0OihlLHQpPT5uKGBQT1NUYCxlLHQpLG93bmVyOnJ9fXZhciBmbj0vXltBLVphLXowLTkuXzp-LV17MSwxMjh9JC8scG49MWU1LG1uPTEwMjQsaG49YFVubmFtZWQgZmlsZWAsZ249NTAsX249bmV3IFNldChbYHF1ZXVlZGAsYHNlbnRgLGBub3RfZGVsaXZlcmVkYF0pLHZuPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSx5bj1lPT50eXBlb2YgZT09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGUpJiZlPj0wO2Z1bmN0aW9uIGJuKGUpe2lmKCF2bihlKSlyZXR1cm47bGV0e2NvbnRhY3RJZDp0LG5hbWU6bixsYXN0QXQ6cixsYXN0SW5BdDppfT1lO2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmZm4udGVzdCh0KSYmISh0eXBlb2YgbiE9YHN0cmluZ2B8fG4ubGVuZ3RoPT09MHx8bi5sZW5ndGg-MTI4KSYmKHI9PT1udWxsfHx5bihyKSkmJihpPT1udWxsfHx5bihpKSkpcmV0dXJue2NvbnRhY3RJZDp0LG5hbWU6bixsYXN0QXQ6cj8_MCxsYXN0SW5BdDppPz8wfX1mdW5jdGlvbiB4bihlKXtpZighdm4oZSkpcmV0dXJuO2xldHtuYW1lOnQsc2l6ZTpufT1lO2lmKCEodHlwZW9mIHQhPWBzdHJpbmdgfHx0Lmxlbmd0aD5tbikpcmV0dXJue25hbWU6dD09PWBgP2huOnQsc2l6ZTp5bihuKT9uOjB9fWZ1bmN0aW9uIFNuKGUpe2lmKCF2bihlKSlyZXR1cm47bGV0e2lkOnQsYXQ6bix0ZXh0OnIsZmlsZXM6aSxzdGF0dXM6YSxyZWNlaXB0Om8scHJvb2Y6cyxzaXplOmN9PWU7aWYodHlwZW9mIHQhPWBzdHJpbmdgfHwhZm4udGVzdCh0KXx8IXluKG4pfHwheW4oYyl8fHR5cGVvZiByIT1gc3RyaW5nYHx8ci5sZW5ndGg-cG58fCFBcnJheS5pc0FycmF5KGkpKXJldHVybjtsZXQgbD1bXTtmb3IobGV0IGUgb2YgaS5zbGljZSgwLGduKSl7bGV0IHQ9eG4oZSk7dCE9PXZvaWQgMCYmbC5wdXNoKHQpfWlmKGEhPT12b2lkIDAmJih0eXBlb2YgYSE9YHN0cmluZ2B8fCFfbi5oYXMoYSkpKXJldHVybjtsZXQgdT17aWQ6dCxhdDpuLHRleHQ6cixmaWxlczpsLHJlY2VpcHQ6bz09PSEwLHByb29mOnM9PT0hMCxzaXplOmN9O3JldHVybiBhPT09dm9pZCAwP3U6ey4uLnUsc3RhdHVzOmF9fWZ1bmN0aW9uIENuKGUpe2lmKCF2bihlKXx8IUFycmF5LmlzQXJyYXkoZS5jb252ZXJzYXRpb25zKSlyZXR1cm47bGV0IHQ9W107Zm9yKGxldCBuIG9mIGUuY29udmVyc2F0aW9ucyl7bGV0IGU9Ym4obik7ZSE9PXZvaWQgMCYmdC5wdXNoKGUpfXJldHVybiB0fWZ1bmN0aW9uIHduKGUpe2lmKCF2bihlKXx8IUFycmF5LmlzQXJyYXkoZS5pdGVtcykpcmV0dXJuO2xldCB0PWUubmV4dDtpZih0IT1udWxsJiYodHlwZW9mIHQhPWBzdHJpbmdgfHx0Lmxlbmd0aD09PTB8fHQubGVuZ3RoPjI1NikpcmV0dXJuO2xldCBuPVtdO2ZvcihsZXQgdCBvZiBlLml0ZW1zKXtsZXQgZT1Tbih0KTtlIT09dm9pZCAwJiZuLnB1c2goZSl9cmV0dXJuIHR5cGVvZiB0PT1gc3RyaW5nYD97aXRlbXM6bixuZXh0OnR9OntpdGVtczpufX1mdW5jdGlvbiBUbihlKXtzd2l0Y2goZS5raW5kKXtjYXNlYG9mZmxpbmVgOnJldHVybmBvZmZsaW5lYDtjYXNlYHNlc3Npb25fZXhwaXJlZGA6Y2FzZWBmb3JiaWRkZW5gOnJldHVybmBzZXNzaW9uYDtjYXNlYGVycm9yYDpyZXR1cm4gZS5zdGF0dXM9PT00MDk_YG5vdF9zZXRfdXBgOmBlcnJvcmA7ZGVmYXVsdDpyZXR1cm5gZXJyb3JgfX1mdW5jdGlvbiBFbihlKXtyZXR1cm57YXN5bmMgY29udmVyc2F0aW9ucygpe2xldCB0PWF3YWl0IGUuZ2V0KGAvYXBpL3VpL21lc3NhZ2VzYCk7aWYodC5raW5kIT09YG9rYClyZXR1cm57b2s6ITEscHJvYmxlbTpUbih0KX07bGV0IG49Q24odC5kYXRhKTtyZXR1cm4gbj09PXZvaWQgMD97b2s6ITEscHJvYmxlbTpgZXJyb3JgfTp7b2s6ITAsdmFsdWU6bn19LGFzeW5jIG1lc3NhZ2VzKHQsbixyKXtsZXQgaT1gP2JveD0ke259JmxpbWl0PTIwJHtyPT09dm9pZCAwP2BgOmAmY3Vyc29yPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHIpfWB9YCxhPWF3YWl0IGUuZ2V0KGAvYXBpL3VpL21lc3NhZ2VzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHQpfSR7aX1gKTtpZihhLmtpbmQhPT1gb2tgKXJldHVybntvazohMSxwcm9ibGVtOlRuKGEpfTtsZXQgbz13bihhLmRhdGEpO3JldHVybiBvPT09dm9pZCAwP3tvazohMSxwcm9ibGVtOmBlcnJvcmB9OntvazohMCx2YWx1ZTpvfX19fXZhciBEbj1gYWdlbnRsaW5rLm1lc3NhZ2VzLnNlZW4udjFgLE9uPWBhZ2VudGxpbms6bWVzc2FnZXMtc2VlbmA7ZnVuY3Rpb24ga24oKXt0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oRG4pO2lmKGU9PT1udWxsKXJldHVybnt9O2xldCB0PUpTT04ucGFyc2UoZSk7aWYodHlwZW9mIHQhPWBvYmplY3RgfHwhdHx8QXJyYXkuaXNBcnJheSh0KSlyZXR1cm57fTtsZXQgbj17fTtmb3IobGV0W2Uscl1vZiBPYmplY3QuZW50cmllcyh0KSl0eXBlb2Ygcj09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKHIpJiZyPj0wJiYobltlXT1yKTtyZXR1cm4gbn1jYXRjaHtyZXR1cm57fX19ZnVuY3Rpb24gQW4oZSx0KXtsZXQgbj1rbigpO2lmKChuW2VdPz8tMSk-PXQpcmV0dXJuIG47bGV0IHI9ey4uLm4sW2VdOnR9O3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShEbixKU09OLnN0cmluZ2lmeShyKSksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KE9uKSl9Y2F0Y2h7fXJldHVybiByfWZ1bmN0aW9uIGpuKGUsdCl7cmV0dXJuIGUuZmlsdGVyKGU9PmUubGFzdEluQXQ-KHRbZS5jb250YWN0SWRdPz8wKSkubGVuZ3RofXZhciBNbj1uZXcgU2V0KFtgL2ZpcnN0LXJ1bmBdKTtmdW5jdGlvbiBObihlLHQpe2xldFtuLHJdPSgwLHkudXNlU3RhdGUpKFtdKSxbaSxhXT0oMCx5LnVzZVN0YXRlKSgwKSxbLG9dPSgwLHkudXNlU3RhdGUpKDApO3JldHVybigwLHkudXNlRWZmZWN0KSgoKT0-e2lmKE1uLmhhcyhlKSlyZXR1cm47bGV0IG49ITA7cmV0dXJuIHQ9PT12b2lkIDA_RW4oZG4oKSkuY29udmVyc2F0aW9ucygpLnRoZW4oZT0-biYmcihlLm9rP2UudmFsdWU6W10pLCgpPT5uJiZyKFtdKSk6dCgpLnRoZW4oZT0-biYmYShlKSwoKT0-biYmYSgwKSksKCk9PntuPSExfX0sW2UsdF0pLCgwLHkudXNlRWZmZWN0KSgoKT0-e2xldCBlPSgpPT5vKGU9PmUrMSk7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKE9uLGUpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihPbixlKX0sW10pLHQ9PT12b2lkIDA_am4obixrbigpKTppfXZhciBQbj1gWC1BZ2VudExpbmstQ1NSRmAsRm49L15hcHJfW0EtWmEtejAtOV8tXXsyMn0kLyxJbj0vXlswLTlhLWZdezY0fSQvO2Z1bmN0aW9uIExuKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD5gdWA_YGA6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtuYW1lPSJhZ2VudGxpbmstY3NyZiJdYCk_LmdldEF0dHJpYnV0ZShgY29udGVudGApPz9gYH12YXIgUm49ZT0-e2xldCB0PWUucmVwbGFjZSgvLS9nLGArYCkucmVwbGFjZSgvXy9nLGAvYCksbj1hdG9iKHQrYD1gLnJlcGVhdCgoNC10Lmxlbmd0aCU0KSU0KSk7cmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShuLGU9PmUuY2hhckNvZGVBdCgwKSl9LHpuPWU9PmU_bmV3IFVpbnQ4QXJyYXkoZSk6bmV3IFVpbnQ4QXJyYXk7ZnVuY3Rpb24gQm4oZSl7bGV0IHQ9bmV3IFVpbnQ4QXJyYXkoZS5yZWR1Y2UoKGUsdCk9PmUrMit0Lmxlbmd0aCwwKSksbj0wO2ZvcihsZXQgciBvZiBlKXRbbl09ci5sZW5ndGg-PjgsdFtuKzFdPXIubGVuZ3RoJjI1NSx0LnNldChyLG4rMiksbis9MityLmxlbmd0aDtyZXR1cm4gdH12YXIgVm49ZT0-dHlwZW9mIGU9PWBvYmplY3RgJiYhIWUmJiFBcnJheS5pc0FycmF5KGUpLEhuPWU9PnR5cGVvZiBlPT1gc3RyaW5nYDtmdW5jdGlvbiBVbihlKXtpZighVm4oZSkpcmV0dXJuO2xldHt3aG86dCx3aGF0Om4sY29zdDpyLGV4cGlyZXM6aSxydWxlOmEsZnJvbUFpOm8saGVhZGxpbmU6cyx0ZXJtczpjfT1lO2lmKEhuKHQpJiZIbihuKSYmSG4ocikmJkhuKGkpJiZIbihhKSYmQXJyYXkuaXNBcnJheShvKSlyZXR1cm57d2hvOnQsd2hhdDpuLGNvc3Q6cixleHBpcmVzOmkscnVsZTphLGZyb21BaTpvLmZpbHRlcihlPT5WbihlKSYmSG4oZS5uYW1lKSYmSG4oZS52YWx1ZSkpLm1hcChlPT4oe25hbWU6ZS5uYW1lLHZhbHVlOmUudmFsdWV9KSksLi4uSG4ocyk_e2hlYWRsaW5lOnN9Ont9LC4uLkFycmF5LmlzQXJyYXkoYyk_e3Rlcm1zOmMuZmlsdGVyKEhuKX06e319fWZ1bmN0aW9uIFduKGUpe2lmKCFWbihlKSlyZXR1cm47bGV0e2FwcHJvdmFsSWQ6dCxzdW1tYXJ5Om4sYWN0aW9uRGlnZXN0OnIsZXhwaXJlc0F0OmksY29tbWl0bWVudDphLHBhaWQ6byxkZXRhaWxzOnN9PWU7aWYoIUhuKHQpfHwhRm4udGVzdCh0KXx8IUhuKG4pfHwhSG4ocil8fCFJbi50ZXN0KHIpfHx0eXBlb2YgaSE9YG51bWJlcmApcmV0dXJuO2xldCBjPVVuKHMpO3JldHVybnthcHByb3ZhbElkOnQsc3VtbWFyeTpuLGFjdGlvbkRpZ2VzdDpyLGV4cGlyZXNBdDppLGNvbW1pdG1lbnQ6YT09PSEwLHBhaWQ6bz09PSEwLC4uLmM9PT12b2lkIDA_e306e2RldGFpbHM6Y319fWZ1bmN0aW9uIEduKGU9e30pe2xldCB0PWUuZmV0Y2g_PygoZSx0KT0-Z2xvYmFsVGhpcy5mZXRjaChlLHQpKSxuPSgpPT5lLnRva2VuPz9MbigpLHI9KCk9PmUuY3JlZGVudGlhbHM_Pyh0eXBlb2YgbmF2aWdhdG9yPmB1YD92b2lkIDA6bmF2aWdhdG9yLmNyZWRlbnRpYWxzKTthc3luYyBmdW5jdGlvbiBpKGUpe3RyeXtsZXQgcj1hd2FpdCB0KGUse21ldGhvZDpgR0VUYCxoZWFkZXJzOntbUG5dOm4oKX0sY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSksaTt0cnl7aT1hd2FpdCByLmpzb24oKX1jYXRjaHtpPXZvaWQgMH1yZXR1cm57c3RhdHVzOnIuc3RhdHVzLGpzb246aX19Y2F0Y2h7cmV0dXJufX1hc3luYyBmdW5jdGlvbiBhKGUscixpKXt0cnl7bGV0IGE9YXdhaXQoYXdhaXQgdChlLHttZXRob2Q6YFBPU1RgLGhlYWRlcnM6e1tQbl06bigpLCJDb250ZW50LVR5cGUiOmBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1gLC4uLnJ9LGJvZHk6aSxjcmVkZW50aWFsczpgc2FtZS1vcmlnaW5gLGNhY2hlOmBuby1zdG9yZWB9KSkuanNvbigpO3JldHVybiFWbihhKXx8IUhuKGEuc3RhdHVzKT97a2luZDpgc3RhdHVzYCxzdGF0dXM6YHJlZnVzZWRgfTp7a2luZDpgc3RhdHVzYCxzdGF0dXM6YS5zdGF0dXMsLi4uSG4oYS5kZWNpc2lvbik_e2RlY2lzaW9uOmEuZGVjaXNpb259Ont9LC4uLnR5cGVvZiBhLnJldHJ5QWZ0ZXI9PWBudW1iZXJgP3tyZXRyeUFmdGVyOmEucmV0cnlBZnRlcn06e319fWNhdGNoe3JldHVybntraW5kOmBvZmZsaW5lYH19ZmluYWxseXtpLmZpbGwoMCl9fWFzeW5jIGZ1bmN0aW9uIG8oZSl7bGV0IHQ9cigpO2lmKHQ9PT12b2lkIDApcmV0dXJuO2xldCBuPW5ldyBVaW50OEFycmF5KDMyKTtnbG9iYWxUaGlzLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobik7bGV0IGk7dHJ5e2k9YXdhaXQgdC5nZXQoe3B1YmxpY0tleTp7Y2hhbGxlbmdlOm4scnBJZDpgbG9jYWxob3N0YCxhbGxvd0NyZWRlbnRpYWxzOlt7dHlwZTpgcHVibGljLWtleWAsaWQ6Um4oZS5jcmVkZW50aWFsSWQpfV0sdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgLHRpbWVvdXQ6MTJlNCxleHRlbnNpb25zOntwcmY6e2V2YWw6e2ZpcnN0OlJuKGUucHJmU2FsdCl9fX19fSl9Y2F0Y2h7cmV0dXJufWlmKGk9PT1udWxsKXJldHVybjtsZXQgYT1pLG89YS5yZXNwb25zZSxzPXpuKGEuZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLnByZj8ucmVzdWx0cz8uZmlyc3QpLGM9Qm4oW3puKGEucmF3SWQpLHpuKG8uYXV0aGVudGljYXRvckRhdGEpLHpuKG8udXNlckhhbmRsZSksc10pO3JldHVybiBzLmZpbGwoMCksY31hc3luYyBmdW5jdGlvbiBzKGUpe2lmKGUua2luZD09PWBjb2RlYClyZXR1cm57Ym9keTpVaW50OEFycmF5LmZyb20obmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUuY29kZSkpLGhlYWRlcnM6e319O2xldCB0PWF3YWl0IG8oZS5wYXNza2V5KTtyZXR1cm4gdD09PXZvaWQgMD92b2lkIDA6e2JvZHk6dCxoZWFkZXJzOnsiWC1BZ2VudExpbmstUHJlc2VuY2UiOmBwYXNza2V5YH19fXJldHVybnthc3luYyBwYXNza2V5KCl7bGV0IGU9YXdhaXQgaShgL2FwaS9vd25lci9wYXNza2V5YCk7aWYoZT8uc3RhdHVzPT09NTAzKXJldHVybntraW5kOmBuZWVkc19vd25lcmB9O2lmKGU9PT12b2lkIDB8fGUuc3RhdHVzIT09MjAwfHwhVm4oZS5qc29uKSlyZXR1cm57a2luZDpgcmVhZHlgLG9mZmVyZWQ6ITF9O2xldCB0PWUuanNvbi5wYXNza2V5O2lmKCFWbih0KXx8dC5ycElkIT09YGxvY2FsaG9zdGApcmV0dXJue2tpbmQ6YHJlYWR5YCxvZmZlcmVkOiExfTtsZXR7Y3JlZGVudGlhbElkOm4scHJmU2FsdDpyfT10O3JldHVybiB0LnJlZ2lzdGVyZWQ9PT0hMCYmSG4obikmJkhuKHIpP3traW5kOmByZWFkeWAsb2ZmZXJlZDohMCxwYXNza2V5OntjcmVkZW50aWFsSWQ6bixwcmZTYWx0OnJ9fTp7a2luZDpgcmVhZHlgLG9mZmVyZWQ6ITB9fSxhc3luYyBsaXN0KCl7bGV0IGU9YXdhaXQgaShgL2FwaS9hcHByb3ZhbHNgKTtpZihlPT09dm9pZCAwfHxlLnN0YXR1cyE9PTIwMHx8IVZuKGUuanNvbikpcmV0dXJue2tpbmQ6YG9mZmxpbmVgfTtsZXQgdD1lLmpzb24uYXBwcm92YWxzO3JldHVybntraW5kOmBva2AsaXRlbXM6KEFycmF5LmlzQXJyYXkodCk_dDpbXSkubWFwKFduKS5maWx0ZXIoZT0-ZSE9PXZvaWQgMCl9fSxhc3luYyBvbmUoZSl7aWYoIUZuLnRlc3QoZSkpcmV0dXJue2tpbmQ6YG5vdF9wZW5kaW5nYH07bGV0IHQ9YXdhaXQgaShgL2FwaS9hcHByb3ZhbHMvJHtlfWApO2lmKHQ9PT12b2lkIDApcmV0dXJue2tpbmQ6YG9mZmxpbmVgfTtpZih0LnN0YXR1cz09PTQwNClyZXR1cm57a2luZDpgbm90X3BlbmRpbmdgfTtsZXQgbj1Wbih0Lmpzb24pP1duKHQuanNvbi5hcHByb3ZhbCk6dm9pZCAwO3JldHVybiB0LnN0YXR1cyE9PTIwMHx8bj09PXZvaWQgMD97a2luZDpgb2ZmbGluZWB9OntraW5kOmBva2AsaXRlbTpufX0sYXN5bmMgZGVjaWRlKGUsdCxuKXtpZighRm4udGVzdChlLmFwcHJvdmFsSWQpKXJldHVybntraW5kOmBzdGF0dXNgLHN0YXR1czpgcmVmdXNlZGB9O2xldCByPWF3YWl0IHMobik7cmV0dXJuIHI9PT12b2lkIDA_e2tpbmQ6YGRpc21pc3NlZGB9OmEoYC9hcGkvYXBwcm92YWxzLyR7ZS5hcHByb3ZhbElkfS8ke3R9YCx7IlgtQWdlbnRMaW5rLURpZ2VzdCI6ZS5hY3Rpb25EaWdlc3QsLi4uci5oZWFkZXJzfSxyLmJvZHkpfSxhc3luYyByZXZpZXcoZSx0KXtsZXQgbj1lLm1hcChlPT5gJHtlLml0ZW0uYXBwcm92YWxJZH06JHtlLml0ZW0uYWN0aW9uRGlnZXN0fToke2UuZGVjaXNpb249PT1gYXBwcm92ZWA_YGFgOmBkYH1gKS5qb2luKGAsYCkscj1hd2FpdCBzKHQpO3JldHVybiByPT09dm9pZCAwP3traW5kOmBkaXNtaXNzZWRgfTphKGAvYXBpL2FwcHJvdmFscy9yZXZpZXdgLHsiWC1BZ2VudExpbmstSXRlbXMiOm4sLi4uci5oZWFkZXJzfSxyLmJvZHkpfX19dmFyIEtuPWBhZ2VudGxpbms6YXBwcm92YWxzLXdhaXRpbmdgLHFuPW5ldyBTZXQoW2AvZmlyc3QtcnVuYF0pLEpuPWU9PnR5cGVvZiBlPT1gbnVtYmVyYCYmTnVtYmVyLmlzSW50ZWdlcihlKSYmZT49MD9lOnZvaWQgMDtmdW5jdGlvbiBZbihlKXt0eXBlb2Ygd2luZG93PGB1YCYmd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KEtuLHtkZXRhaWw6ZX0pKX1mdW5jdGlvbiBYbihlKXtKbihlKSE9PXZvaWQgMCYmWW4oe3dhaXRpbmc6ZX0pfWZ1bmN0aW9uIFpuKGUpe0puKGUpIT09dm9pZCAwJiZlPjAmJlluKHtkZWNpZGVkOmV9KX1hc3luYyBmdW5jdGlvbiBRbigpe2xldCBlPWF3YWl0IEduKCkubGlzdCgpO3JldHVybiBlLmtpbmQ9PT1gb2tgP2UuaXRlbXMubGVuZ3RoOjB9ZnVuY3Rpb24gJG4oZSx0KXtsZXRbbixyXT0oMCx5LnVzZVN0YXRlKSgwKTtyZXR1cm4oMCx5LnVzZUVmZmVjdCkoKCk9PntpZihxbi5oYXMoZSkpcmV0dXJuO2xldCBuPSEwO3JldHVybih0Pz9RbikoKS50aGVuKGU9Pm4mJnIoSm4oZSk_PzApLCgpPT5uJiZyKDApKSwoKT0-e249ITF9fSxbZSx0XSksKDAseS51c2VFZmZlY3QpKCgpPT57bGV0IGU9ZT0-e2xldCB0PWUuZGV0YWlsO2lmKHR5cGVvZiB0IT1gb2JqZWN0YHx8IXQpcmV0dXJuO2xldCBuPUpuKHQud2FpdGluZyksaT1Kbih0LmRlY2lkZWQpO249PT12b2lkIDA_aSE9PXZvaWQgMCYmcihlPT5NYXRoLm1heCgwLGUtaSkpOnIobil9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihLbixlKSwoKT0-d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoS24sZSl9LFtdKSxufWZ1bmN0aW9uIGVyKCl7aWYodHlwZW9mIG5hdmlnYXRvcj5gdWApcmV0dXJuYG90aGVyYDtsZXQgZT1uYXZpZ2F0b3IudXNlckFnZW50RGF0YSx0PXR5cGVvZiBlPy5wbGF0Zm9ybT09YHN0cmluZ2A_ZS5wbGF0Zm9ybTpuYXZpZ2F0b3IudXNlckFnZW50O3JldHVybi9tYWMvaS50ZXN0KHQpP2BtYWNgOi93aW4vaS50ZXN0KHQpP2B3aW5kb3dzYDpgb3RoZXJgfWFzeW5jIGZ1bmN0aW9uIHRyKCl7aWYoIWlyKCkpcmV0dXJuYG5vYDtsZXQgZT13aW5kb3cuUHVibGljS2V5Q3JlZGVudGlhbDt0cnl7aWYodHlwZW9mIGUuaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlPT1gZnVuY3Rpb25gJiYhYXdhaXQgZS5pc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUoKSlyZXR1cm5gbm9gO2lmKHR5cGVvZiBlLmdldENsaWVudENhcGFiaWxpdGllcz09YGZ1bmN0aW9uYCl7bGV0IHQ9YXdhaXQgZS5nZXRDbGllbnRDYXBhYmlsaXRpZXMoKTtpZih0W2BleHRlbnNpb246cHJmYF09PT0hMSlyZXR1cm5gbm9gO2lmKHRbYGV4dGVuc2lvbjpwcmZgXT09PSEwKXJldHVybmB5ZXNgfX1jYXRjaHtyZXR1cm5gdW5rbm93bmB9cmV0dXJuYHVua25vd25gfWZ1bmN0aW9uIG5yKGUpe2xldCB0PWUucmVwbGFjZSgvLS9nLGArYCkucmVwbGFjZSgvXy9nLGAvYCksbj1hdG9iKHQrYD1gLnJlcGVhdCgoNC10Lmxlbmd0aCU0KSU0KSkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKz0xKXJbZV09bi5jaGFyQ29kZUF0KGUpO3JldHVybiByfWZ1bmN0aW9uIHJyKGUpe2xldCB0PW5ldyBVaW50OEFycmF5KGUucmVkdWNlKChlLHQpPT5lKzIrdC5sZW5ndGgsMCkpLG49MDtmb3IobGV0IHIgb2YgZSl7aWYoci5sZW5ndGg-NjU1MzUpdGhyb3cgRXJyb3IoYGZpZWxkIHRvbyBsb25nYCk7dFtuXT1yLmxlbmd0aD4-OCx0W24rMV09ci5sZW5ndGgmMjU1LHQuc2V0KHIsbisyKSxuKz0yK3IubGVuZ3RofXJldHVybiB0fWZ1bmN0aW9uIGlyKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ0eXBlb2Ygd2luZG93LlB1YmxpY0tleUNyZWRlbnRpYWw9PWBmdW5jdGlvbmAmJnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IuY3JlZGVudGlhbHMhPT12b2lkIDAmJnR5cGVvZiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlPT1gZnVuY3Rpb25gfWZ1bmN0aW9uIGFyKGUpe3JldHVybiBlPT09dm9pZCAwP25ldyBVaW50OEFycmF5OmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9uZXcgVWludDhBcnJheShlLnNsaWNlKDApKTpuZXcgVWludDhBcnJheShlLmJ1ZmZlci5zbGljZShlLmJ5dGVPZmZzZXQsZS5ieXRlT2Zmc2V0K2UuYnl0ZUxlbmd0aCkpfWFzeW5jIGZ1bmN0aW9uIG9yKGUsdD17cGxhdGZvcm06ITB9KXtpZighaXIoKSlyZXR1cm57a2luZDpgdW5zdXBwb3J0ZWRgfTtsZXQgbjt0cnl7bj1hd2FpdCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKHtwdWJsaWNLZXk6e3JwOntpZDplLnJwSWQsbmFtZTplLnJwTmFtZX0sdXNlcjp7aWQ6bnIoZS51c2VySWQpLG5hbWU6ZS51c2VyTmFtZSxkaXNwbGF5TmFtZTplLnVzZXJOYW1lfSxjaGFsbGVuZ2U6bnIoZS5jaGFsbGVuZ2UpLHB1YktleUNyZWRQYXJhbXM6W3t0eXBlOmBwdWJsaWMta2V5YCxhbGc6LTd9LHt0eXBlOmBwdWJsaWMta2V5YCxhbGc6LTI1N31dLGF1dGhlbnRpY2F0b3JTZWxlY3Rpb246ey4uLnQucGxhdGZvcm0_e2F1dGhlbnRpY2F0b3JBdHRhY2htZW50OmBwbGF0Zm9ybWB9Ont9LHJlc2lkZW50S2V5OmByZXF1aXJlZGAsdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgfSwuLi50LnBsYXRmb3JtP3toaW50czpbYGNsaWVudC1kZXZpY2VgXX06e30sYXR0ZXN0YXRpb246YG5vbmVgLGV4dGVuc2lvbnM6e3ByZjp7ZXZhbDp7Zmlyc3Q6bnIoZS5wcmZTYWx0KX19fX19KX1jYXRjaChlKXtsZXQgdD1lPy5uYW1lO3JldHVybiB0PT09YE5vdFN1cHBvcnRlZEVycm9yYHx8dD09PWBTZWN1cml0eUVycm9yYD97a2luZDpgdW5zdXBwb3J0ZWRgfTp7a2luZDpgY2FuY2VsbGVkYH19aWYobj09PW51bGx8fCEobiBpbnN0YW5jZW9mIFB1YmxpY0tleUNyZWRlbnRpYWwpKXJldHVybntraW5kOmBjYW5jZWxsZWRgfTtsZXQgcj1uLnJlc3BvbnNlO2lmKHR5cGVvZiByLmdldEF1dGhlbnRpY2F0b3JEYXRhIT1gZnVuY3Rpb25gKXJldHVybntraW5kOmB1bnN1cHBvcnRlZGB9O2xldCBpPWFyKG4uZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLnByZj8ucmVzdWx0cz8uZmlyc3QpO3RyeXtyZXR1cm57a2luZDpgb2tgLGJvZHk6cnIoW25ldyBVaW50OEFycmF5KG4ucmF3SWQpLG5ldyBVaW50OEFycmF5KHIuZ2V0QXV0aGVudGljYXRvckRhdGEoKSksbmV3IFVpbnQ4QXJyYXkoci5jbGllbnREYXRhSlNPTiksaS5sZW5ndGg9PT0zMj9pOm5ldyBVaW50OEFycmF5XSl9fWZpbmFsbHl7aS5maWxsKDApfX1mdW5jdGlvbiBzcigpe2xldCBlPW5ldyBVaW50OEFycmF5KDMyKTtyZXR1cm4gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhlKSxlfWZ1bmN0aW9uIGNyKGUpe2xldCB0PWU_Lm5hbWU7cmV0dXJuIHQ9PT1gTm90U3VwcG9ydGVkRXJyb3JgfHx0PT09YFNlY3VyaXR5RXJyb3JgP3traW5kOmB1bnN1cHBvcnRlZGB9OntraW5kOmBjYW5jZWxsZWRgfX1hc3luYyBmdW5jdGlvbiBscihlLHQ9e3BsYXRmb3JtOiEwfSl7aWYoIWlyKCkpcmV0dXJue2tpbmQ6YHVuc3VwcG9ydGVkYH07bGV0IG49bnIoZS51c2VySWQpLHI9e3ByZjp7ZXZhbDp7Zmlyc3Q6bnIoZS5wcmZTYWx0KX19fSxpO3RyeXtpPWF3YWl0IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoe3B1YmxpY0tleTp7cnA6e2lkOmUucnBJZCxuYW1lOmBBZ2VudExpbmtgfSx1c2VyOntpZDpuLG5hbWU6YEFnZW50TGluayBvd25lcmAsZGlzcGxheU5hbWU6YEFnZW50TGluayBvd25lcmB9LGNoYWxsZW5nZTpzcigpLHB1YktleUNyZWRQYXJhbXM6W3t0eXBlOmBwdWJsaWMta2V5YCxhbGc6LTd9LHt0eXBlOmBwdWJsaWMta2V5YCxhbGc6LTI1N31dLGF1dGhlbnRpY2F0b3JTZWxlY3Rpb246ey4uLnQucGxhdGZvcm0_e2F1dGhlbnRpY2F0b3JBdHRhY2htZW50OmBwbGF0Zm9ybWB9Ont9LHJlc2lkZW50S2V5OmByZXF1aXJlZGAsdXNlclZlcmlmaWNhdGlvbjpgcmVxdWlyZWRgfSwuLi50LnBsYXRmb3JtP3toaW50czpbYGNsaWVudC1kZXZpY2VgXX06e30sYXR0ZXN0YXRpb246YG5vbmVgLGV4dGVuc2lvbnM6cn19KX1jYXRjaChlKXtyZXR1cm4gY3IoZSl9aWYoaT09PW51bGx8fCEoaSBpbnN0YW5jZW9mIFB1YmxpY0tleUNyZWRlbnRpYWwpKXJldHVybntraW5kOmBjYW5jZWxsZWRgfTtsZXQgYT1pLnJlc3BvbnNlO2lmKHR5cGVvZiBhLmdldEF1dGhlbnRpY2F0b3JEYXRhIT1gZnVuY3Rpb25gKXJldHVybntraW5kOmB1bnN1cHBvcnRlZGB9O2xldCBvPWkuZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLHM9YXIoby5wcmY_LnJlc3VsdHM_LmZpcnN0KTt0cnl7aWYocy5sZW5ndGg9PT0zMilyZXR1cm57a2luZDpgb2tgLGJvZHk6cnIoW25ldyBVaW50OEFycmF5KGkucmF3SWQpLG5ldyBVaW50OEFycmF5KGEuZ2V0QXV0aGVudGljYXRvckRhdGEoKSksbixzXSl9fWZpbmFsbHl7cy5maWxsKDApfWlmKG8ucHJmPy5lbmFibGVkIT09ITApcmV0dXJue2tpbmQ6YHVuc3VwcG9ydGVkYH07bGV0IGM7dHJ5e2M9YXdhaXQgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldCh7cHVibGljS2V5OntjaGFsbGVuZ2U6c3IoKSxycElkOmUucnBJZCxhbGxvd0NyZWRlbnRpYWxzOlt7dHlwZTpgcHVibGljLWtleWAsaWQ6bmV3IFVpbnQ4QXJyYXkoaS5yYXdJZCl9XSx1c2VyVmVyaWZpY2F0aW9uOmByZXF1aXJlZGAsZXh0ZW5zaW9uczpyfX0pfWNhdGNoKGUpe3JldHVybiBjcihlKX1pZihjPT09bnVsbHx8IShjIGluc3RhbmNlb2YgUHVibGljS2V5Q3JlZGVudGlhbCkpcmV0dXJue2tpbmQ6YGNhbmNlbGxlZGB9O2xldCBsPWMucmVzcG9uc2UsdT1hcihjLmdldENsaWVudEV4dGVuc2lvblJlc3VsdHMoKS5wcmY_LnJlc3VsdHM_LmZpcnN0KTt0cnl7cmV0dXJuIHUubGVuZ3RoPT09MzI_e2tpbmQ6YG9rYCxib2R5OnJyKFtuZXcgVWludDhBcnJheShjLnJhd0lkKSxuZXcgVWludDhBcnJheShsLmF1dGhlbnRpY2F0b3JEYXRhKSxsLnVzZXJIYW5kbGU9PT1udWxsP246bmV3IFVpbnQ4QXJyYXkobC51c2VySGFuZGxlKSx1LG5ldyBVaW50OEFycmF5KGEuZ2V0QXV0aGVudGljYXRvckRhdGEoKSldKX06e2tpbmQ6YHVuc3VwcG9ydGVkYH19ZmluYWxseXt1LmZpbGwoMCl9fWZ1bmN0aW9uIHVyKGUsdCl7aWYoZS5sZW5ndGg9PT0wfHxlLmxlbmd0aD4xMDI0KXRocm93IEVycm9yKGBjb2RlIGxlbmd0aGApO2xldCBuPW5ldyBVaW50OEFycmF5KDIrZS5sZW5ndGgrdC5sZW5ndGgpO3JldHVybiBuWzBdPWUubGVuZ3RoPj44LG5bMV09ZS5sZW5ndGgmMjU1LG4uc2V0KGUsMiksbi5zZXQodCwyK2UubGVuZ3RoKSxufXZhciBkcj1gL2FwaS91aS9maXJzdC1ydW5gLGZyPWAvYXBpL3VpL2ZpcnN0LXJ1bi9vd25lci9iZWdpbmAscHI9YC9hcGkvdWkvZmlyc3QtcnVuL293bmVyL2ZpbmlzaGAsbXI9YFgtQWdlbnRMaW5rLUNTUkZgLGhyPWB0aGlzIGNvbXB1dGVyYCxncj1uZXcgU2V0KFtgYWxsb3dlZGAsYG5vdF9jb25maXJtZWRgLGBub3RfYWxsb3dlZGBdKSxfcj1uZXcgU2V0KFtgZm9sZGVyX25vdF9lbXB0eWAsYGZvbGRlcl91bmF2YWlsYWJsZWBdKSx2cj0vXltBLVphLXowLTkgLl8tXXsxLDYzfSQvLHlyPW5ldyBTZXQoW2BleHBpcmVkYCxgbm90X3BlbmRpbmdgLGBidXN5YCxgd2FpdGAsYHByZXNlbmNlX3JlcXVpcmVkYCxgcHJlc2VuY2VfcmVqZWN0ZWRgLGBpbnZhbGlkYCxgdW5hdmFpbGFibGVgXSksYnI9bmV3IFNldChbYHJvbGxlZF9iYWNrYCxga2V5Y2hhaW5gLGBjaGVja19mYWlsZWRgLGBpbnRlcm5hbGBdKSx4cj0vXltBLVphLXowLTlfLV17MSwyMDQ4fSQvLFNyPS9eW0EtWjAtOV17NH0oIFtBLVowLTldezR9KXsxLDE1fSQvLENyPS9eWzAtOUEtRl17NH0owrdbMC05QS1GXXs0fSl7MSw3fSQvO2Z1bmN0aW9uIHdyKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD5gdWA_YGA6ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtuYW1lPSJhZ2VudGxpbmstY3NyZiJdYCk_LmdldEF0dHJpYnV0ZShgY29udGVudGApPz9gYH12YXIgVHI9ZT0-dHlwZW9mIGU9PWBzdHJpbmdgP2U6dm9pZCAwO2Z1bmN0aW9uIEVyKGUpe2xldCB0PVRyKGUuanNvbj8uc3RhdHVzKTtpZih0PT09YGZvbGRlcl9yZWZ1c2VkYCl7bGV0IHQ9VHIoZS5qc29uPy5yZWFzb24pO3JldHVybntraW5kOmBlcnJvcmAscHJvYmxlbTp0IT09dm9pZCAwJiZfci5oYXModCk_dDpgZm9sZGVyX3VuYXZhaWxhYmxlYH19aWYodD09PWBmYWlsZWRgKXtsZXQgdD1UcihlLmpzb24_LnJlYXNvbik7cmV0dXJue2tpbmQ6YGVycm9yYCxwcm9ibGVtOnQhPT12b2lkIDAmJmJyLmhhcyh0KT90OmBpbnRlcm5hbGB9fWlmKHQ9PT1gd2FpdGApe2xldCB0PWUuanNvbj8ucmV0cnlBZnRlcjtyZXR1cm57a2luZDpgZXJyb3JgLHByb2JsZW06YHdhaXRgLHJldHJ5QWZ0ZXI6dHlwZW9mIHQ9PWBudW1iZXJgJiZOdW1iZXIuaXNTYWZlSW50ZWdlcih0KSYmdD4wJiZ0PD04NjQwMD90OjF9fXJldHVybiB0IT09dm9pZCAwJiZ5ci5oYXModCk_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOnR9OmUuc3RhdHVzPT09NDAxP3traW5kOmBlcnJvcmAscHJvYmxlbTpgc2Vzc2lvbl9leHBpcmVkYH06ZS5zdGF0dXM9PT00MDM_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOmBmb3JiaWRkZW5gfTp7a2luZDpgZXJyb3JgLHByb2JsZW06YHVua25vd25gfX1mdW5jdGlvbiBEcihlKXtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlKXJldHVybjtsZXQgdD1lLG49VHIodC5ycElkKSxyPVRyKHQucnBOYW1lKSxpPVRyKHQudXNlck5hbWUpLGE9VHIodC51c2VySWQpLG89VHIodC5jaGFsbGVuZ2UpLHM9VHIodC5wcmZTYWx0KTtpZighKG4hPT1gbG9jYWxob3N0YHx8cj09PXZvaWQgMHx8ci5sZW5ndGg-NjR8fGk9PT12b2lkIDB8fGkubGVuZ3RoPjY0fHxhPT09dm9pZCAwfHwheHIudGVzdChhKXx8bz09PXZvaWQgMHx8IXhyLnRlc3Qobyl8fHM9PT12b2lkIDB8fCF4ci50ZXN0KHMpKSlyZXR1cm57cnBJZDpuLHJwTmFtZTpyLHVzZXJJZDphLHVzZXJOYW1lOmksY2hhbGxlbmdlOm8scHJmU2FsdDpzfX1hc3luYyBmdW5jdGlvbiBPcihlLHQsbixyLGkpe2xldCBhPW5ldyBIZWFkZXJzKHtbbXJdOnQ_P3dyKCl9KSxvPXttZXRob2Q6bixoZWFkZXJzOmEsY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSxzO249PT1gUE9TVGAmJihhLnNldChgY29udGVudC10eXBlYCxgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCkscz1pPT09dm9pZCAwP25ldyBVaW50OEFycmF5Om5ldyBVaW50OEFycmF5KGkpLG8uYm9keT1zKTtsZXQgYzt0cnl7Yz1hd2FpdCBlKHIsbyl9Y2F0Y2h7cmV0dXJuYG9mZmxpbmVgfWZpbmFsbHl7cz8uZmlsbCgwKX1sZXQgbDt0cnl7bGV0IGU9YXdhaXQgYy5qc29uKCk7bD10eXBlb2YgZT09YG9iamVjdGAmJmUmJiFBcnJheS5pc0FycmF5KGUpP2U6dm9pZCAwfWNhdGNoe2w9dm9pZCAwfXJldHVybntzdGF0dXM6Yy5zdGF0dXMsanNvbjpsfX1mdW5jdGlvbiBrcihlPXt9KXtsZXQgdD1lLmZldGNoPz8oKGUsdCk9Pmdsb2JhbFRoaXMuZmV0Y2goZSx0KSksbj0obixyLGkpPT5Pcih0LGUudG9rZW4sbixyLGkpO3JldHVybnthc3luYyBzdGF0dXMoKXtsZXQgZT1hd2FpdCBuKGBHRVRgLGRyKTtpZihlPT09YG9mZmxpbmVgKXJldHVybntraW5kOmBlcnJvcmAscHJvYmxlbTpgb2ZmbGluZWB9O2lmKGUuc3RhdHVzIT09MjAwKXJldHVybiBFcihlKTtsZXQgdD1UcihlLmpzb24_Lm93bmVyKTtyZXR1cm57a2luZDpgb2tgLG93bmVyOnQ9PT1gbWlzc2luZ2B8fHQ9PT1gc2V0X3VwYD90OmB1bmtub3duYH19LGFzeW5jIGJlZ2luKCl7bGV0IGU9YXdhaXQgbihgUE9TVGAsZnIpO2lmKGU9PT1gb2ZmbGluZWApcmV0dXJue2tpbmQ6YGVycm9yYCxwcm9ibGVtOmBvZmZsaW5lYH07bGV0IHQ9VHIoZS5qc29uPy5zdGF0dXMpO2lmKHQ9PT1gb3duZXJfZXhpc3RzYClyZXR1cm57a2luZDpgb3duZXJfZXhpc3RzYH07aWYoZS5zdGF0dXM9PT0yMDAmJnQ9PT1gcmVhZHlgKXtsZXQgdD1EcihlLmpzb24_LnB1YmxpY0tleSk7cmV0dXJuIHQ9PT12b2lkIDA_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOmB1bmtub3duYH06e2tpbmQ6YHJlYWR5YCxwdWJsaWNLZXk6dH19cmV0dXJuIEVyKGUpfSxhc3luYyBmaW5pc2goZSl7bGV0IHQ9YXdhaXQgbihgUE9TVGAscHIsZSk7aWYodD09PWBvZmZsaW5lYClyZXR1cm57a2luZDpgZXJyb3JgLHByb2JsZW06YG9mZmxpbmVgfTtsZXQgcj1Ucih0Lmpzb24_LnN0YXR1cyk7aWYocj09PWBvd25lcl9leGlzdHNgKXJldHVybntraW5kOmBvd25lcl9leGlzdHNgfTtpZih0LnN0YXR1cz09PTIwMCYmKHI9PT1gZG9uZWB8fHI9PT1gZG9uZV91bmNvbmZpcm1lZGApKXtsZXQgZT1Ucih0Lmpzb24_Lm93bmVyQ29kZSksbj1Ucih0Lmpzb24_LmZpbmdlcnByaW50KSxpPXQuanNvbj8ucGFzc2tleTtpZihlPT09dm9pZCAwfHwhU3IudGVzdChlKXx8bj09PXZvaWQgMHx8IUNyLnRlc3Qobil8fHR5cGVvZiBpIT1gYm9vbGVhbmApcmV0dXJue2tpbmQ6YGVycm9yYCxwcm9ibGVtOmB1bmtub3duYH07bGV0IGE9VHIodC5qc29uPy5zZW5kRm9sZGVyKSxvPVRyKHQuanNvbj8uY29tcHV0ZXJOYW1lKTtyZXR1cm57a2luZDpgZG9uZWAsY29uZmlybWVkOnI9PT1gZG9uZWAscGFzc2tleTppLG93bmVyQ29kZTplLGZpbmdlcnByaW50Om4sc2VuZEZvbGRlcjphIT09dm9pZCAwJiZnci5oYXMoYSk_YTpgbm9uZWAsY29tcHV0ZXJOYW1lOm8hPT12b2lkIDAmJnZyLnRlc3Qobyk_bzpocn19cmV0dXJuIEVyKHQpfX19dmFyIEFyPWAvYXBpL293bmVyL3Bhc3NrZXlgLGpyPW5ldyBTZXQoW2BwcmVzZW5jZV9yZXF1aXJlZGAsYHByZXNlbmNlX3JlamVjdGVkYCxgcGFzc2tleV9leGlzdHNgLGBwYXNza2V5X3Vuc3VwcG9ydGVkYCxgYnVzeWAsYG5lZWRzX3NldHVwYCxgZmFpbGVkYF0pO2Z1bmN0aW9uIE1yKGU9e30pe2xldCB0PWUuZmV0Y2g_PygoZSx0KT0-Z2xvYmFsVGhpcy5mZXRjaChlLHQpKTtyZXR1cm57YXN5bmMgaW5mbygpe2xldCBuPWF3YWl0IE9yKHQsZS50b2tlbixgR0VUYCxBcik7aWYobj09PWBvZmZsaW5lYClyZXR1cm57a2luZDpgZXJyb3JgLHByb2JsZW06YG9mZmxpbmVgfTtpZihuLnN0YXR1cz09PTUwMylyZXR1cm57a2luZDpgbmVlZHNfc2V0dXBgfTtpZihuLnN0YXR1cyE9PTIwMClyZXR1cm4gRXIobik7bGV0IHI9bi5qc29uPy5wYXNza2V5LGk9dHlwZW9mIHI9PWBvYmplY3RgJiZyP3I6dm9pZCAwLGE9VHIoaT8udXNlcklkKSxvPVRyKGk_LnByZlNhbHQpLHM9aT8ucmVnaXN0ZXJlZDtyZXR1cm4gaT8ucnBJZCE9PWBsb2NhbGhvc3RgfHx0eXBlb2YgcyE9YGJvb2xlYW5gfHxhPT09dm9pZCAwfHwheHIudGVzdChhKXx8bz09PXZvaWQgMHx8IXhyLnRlc3Qobyk_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOmB1bmtub3duYH06e2tpbmQ6YG9rYCxyZWdpc3RlcmVkOnMsdmFsdWVzOntycElkOmBsb2NhbGhvc3RgLHVzZXJJZDphLHByZlNhbHQ6b319fSxhc3luYyByZWdpc3RlcihuKXtsZXQgcj1hd2FpdCBPcih0LGUudG9rZW4sYFBPU1RgLEFyLG4pO2lmKHI9PT1gb2ZmbGluZWApcmV0dXJue2tpbmQ6YGVycm9yYCxwcm9ibGVtOmBvZmZsaW5lYH07bGV0IGk9VHIoci5qc29uPy5zdGF0dXMpO2lmKHIuc3RhdHVzPT09MjAwJiZpPT09YHJlZ2lzdGVyZWRgKXJldHVybntraW5kOmByZWdpc3RlcmVkYH07aWYoaT09PWB3YWl0YCl7bGV0IGU9ci5qc29uPy5yZXRyeUFmdGVyO3JldHVybntraW5kOmBlcnJvcmAscHJvYmxlbTpgd2FpdGAscmV0cnlBZnRlcjp0eXBlb2YgZT09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGUpJiZlPjAmJmU8PTg2NDAwP2U6MX19cmV0dXJuIGkhPT12b2lkIDAmJmpyLmhhcyhpKT97a2luZDpgZXJyb3JgLHByb2JsZW06aX06ci5zdGF0dXM9PT00MDE_e2tpbmQ6YGVycm9yYCxwcm9ibGVtOmBzZXNzaW9uX2V4cGlyZWRgfTpyLnN0YXR1cz09PTQwMz97a2luZDpgZXJyb3JgLHByb2JsZW06YGZvcmJpZGRlbmB9OntraW5kOmBlcnJvcmAscHJvYmxlbTpgdW5rbm93bmB9fX19dmFyIE5yPVtgUHJvdGVjdCBhcHByb3ZhbHNgLGBCYWNrdXAgY29kZWAsYFJlY292ZXJ5IGtpdGAsYFJlYWR5YF0sUHI9e21hYzpgVG91Y2ggSURgLHdpbmRvd3M6YFdpbmRvd3MgSGVsbG9gLG90aGVyOmB5b3VyIHBhc3NrZXlgfSxGcj17bWFjOmBTYWZhcmlgLHdpbmRvd3M6YENocm9tZSBvciBFZGdlYCxvdGhlcjpgQ2hyb21lYH0sTT17c3RlcE9mOmU9PmBTdGVwICR7U3RyaW5nKGUpfSBvZiAke1N0cmluZyhOci5sZW5ndGgpfWAsbG9hZGluZzpgQ2hlY2tpbmcgdGhpcyBjb21wdXRlcuKApmAscHJvdGVjdFRpdGxlOmBQcm90ZWN0IHlvdXIgYXBwcm92YWxzYCxwcm90ZWN0Qm9keTplPT5gQXBwcm92YWxzIG5lZWQgeW91OiBlYWNoIGFwcHJvdmFsLCBvciBlYWNoIGxpc3Qgb2YgYXBwcm92YWxzIHlvdSByZXZpZXcgdG9nZXRoZXIsIGFza3MgZm9yICR7ZX0gKG9yIHlvdXIgYmFja3VwIGNvZGUpLCBhbmQgb25seSBhZnRlciB5b3UgY2xpY2sgQXBwcm92ZS4gTmV2ZXIgZ2l2ZSB5b3VyIGJhY2t1cCBjb2RlIHRvIHlvdXIgQUkuYCxmb2xkZXJzVGl0bGU6YFlvdXIgZm9sZGVyc2AsZm9sZGVyczpbW2BTZW5kIGZyb21gLGB-L0FnZW50TGluay9TZW5kYF0sW2BSZWNlaXZlIGludG9gLGB-L0FnZW50TGluay9JbmJveGBdLFtgUHJvb2ZzIGluYCxgfi9BZ2VudExpbmsvUHJvb2ZzYF1dLGZvbGRlcnNOb3RlOmBPbmUgY29uZmlybWF0aW9uIHByb3RlY3RzIGFwcHJvdmFscywgc2V0cyB1cCB0aGlzIGFnZW50IGFuZCBsZXRzIHlvdXIgQUkgc2VuZCBmaWxlcyB5b3UgcHV0IGluIHRoZSBTZW5kIGZvbGRlci4gQ2hhbmdpbmcgZm9sZGVycyBpcyBvcHRpb25hbCwgbGF0ZXIgaW4gRmlsZXMuYCx1c2VUb3VjaElkOmBVc2UgVG91Y2ggSURgLHVzZVdpbmRvd3NIZWxsbzpgVXNlIFdpbmRvd3MgSGVsbG9gLHVzZVBhc3NrZXk6YFVzZSBhIHBhc3NrZXlgLHBhc3NrZXlOb3RlOmBZb3VyIGJyb3dzZXIgc2hvd3MgaXRzIG93biBkaWFsb2cgZm9yIFRvdWNoIElELCBXaW5kb3dzIEhlbGxvIG9yIHlvdXIgcGFzc2tleS4gQWdlbnRMaW5rIG5ldmVyIGRyYXdzIHRoYXQgZGlhbG9nLmAsbm9QcmY6KGUsdCk9PmAke2V9IGRvZXNuJ3Qgd29yayBpbiB0aGlzIGJyb3dzZXIgZm9yIEFnZW50TGluay4gT3BlbiB0aGlzIHBhZ2UgaW4gJHt0fSB0byB1c2UgaXQsIG9yIGNvbnRpbnVlIHdpdGggYSBiYWNrdXAgY29kZSBvbmx5LmAsYmFja3VwT25seTpgQ29udGludWUgd2l0aCBhIGJhY2t1cCBjb2RlIG9ubHlgLGRlc2t0b3BUaXA6YFRpcDogdGhlIGRlc2t0b3AgYXBwIChjb21pbmcgc29vbikgcHJvdGVjdHMgYXBwcm92YWxzIG1vcmUgc3Ryb25nbHkuYCx3YWl0aW5nOmBXYWl0aW5nIGZvciB5b3VyIHBhc3NrZXnigKZgLHVudGlsVGl0bGU6YFVudGlsIHRoaXMgaXMgZG9uZWAsdW50aWxCb2R5OmBZb3VyIGFnZW50IGNhbiBzZW5kIGFuZCByZWNlaXZlIG1lc3NhZ2VzLCBidXQgYW55dGhpbmcgdGhhdCBuZWVkcyB5b3Ugd2FpdHMgaGVyZTogbmV3IGNvbnRhY3RzLCBwcm9vZnMgeW91ciBydWxlcyBhc2sgYWJvdXQsIGZvbGRlciBhY2Nlc3MsIGRvY3VtZW50IGtleXMgYW5kIGFjY2VwdGluZyB0ZXJtcy5gLGJhY2t1cFRpdGxlOmBZb3VyIGJhY2t1cCBjb2RlYCxkb25lQm9keTpgQXBwcm92YWxzIG9uIHRoaXMgY29tcHV0ZXIgYXJlIHByb3RlY3RlZC5gLGRvbmVOb1Bhc3NrZXlCb2R5OmBUaGlzIGJyb3dzZXIgY2FuJ3QgcHJvdGVjdCBhcHByb3ZhbHMgd2l0aCBhIHBhc3NrZXkgaGVyZSwgc28gdGhpcyBiYWNrdXAgY29kZSBpcyBob3cgeW91IGFwcHJvdmUgb24gdGhpcyBjb21wdXRlci5gLGJhY2t1cEJvZHk6ZT0-YFRoaXMgb3BlbnMgeW91ciBhcHByb3ZhbHMgaWYgJHtlfSBpc24ndCBhdmFpbGFibGUuIE5ldmVyIGdpdmUgaXQgdG8geW91ciBBSS5gLGJhY2t1cExvc3Q6YExvc3QgaXQ_IFlvdSBjYW4ndCBnZXQgdGhpcyBjb2RlIGJhY2suIFlvdXIgcmVjb3Zlcnkga2l0IHJlc3RvcmVzIGV2ZXJ5dGhpbmcgaW5zdGVhZC5gLHNhdmVUb01hbmFnZXI6YFNhdmUgaW4gbXkgcGFzc3dvcmQgbWFuYWdlcmAsc2F2ZUFza2VkOmBJZiB5b3VyIGJyb3dzZXIgb3IgcGFzc3dvcmQgbWFuYWdlciBvZmZlcmVkIHRvIHNhdmUgaXQsIGFjY2VwdCB0aGVyZS5gLHNhdmVkQXM6YFNhdmVkIGFzYCxzYXZlZEFzTGFiZWw6ZT0-YEFnZW50TGluayBiYWNrdXAgY29kZSDigJMgJHtlfWAsY2xpcGJvYXJkV2FybmluZzpgT3RoZXIgYXBwcyBjYW4gcmVhZCB5b3VyIGNsaXBib2FyZC5gLHNhdmVkSXQ6YEkgc2F2ZWQgaXRgLHNlbmRBbGxvd2VkOmBZb3VyIEFJIGNhbiBzZW5kIGZpbGVzIHlvdSBwdXQgaW4gfi9BZ2VudExpbmsvU2VuZC4gTm90aGluZyBlbHNlIG9uIHRoaXMgY29tcHV0ZXIgY2FuIGJlIHNlbnQuYCxzZW5kTm90QWxsb3dlZDpgQWdlbnRMaW5rIGNvdWxkbid0IGFsbG93IHlvdXIgU2VuZCBmb2xkZXIsIHNvIHlvdXIgQUkgY2FuJ3Qgc2VuZCBmaWxlcyB5ZXQuIFlvdSBjYW4gYWxsb3cgYSBmb2xkZXIgbGF0ZXIgaW4gRmlsZXMuYCxzZW5kTm90Q29uZmlybWVkOiJZb3VyIFNlbmQgZm9sZGVyIHdhcyBzZXQgdXAsIGJ1dCBBZ2VudExpbmsgY291bGRuJ3QgY29uZmlybSBpdC4gUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLGZpbmdlcnByaW50TGFiZWw6YFlvdXIgb3duZXIgZmluZ2VycHJpbnRgLGZpbmdlcnByaW50Tm90ZToiUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbDogaXQgc2hvd3MgdGhlIHNhbWUgZmluZ2VycHJpbnQuIixiYWNrdXBMYWJlbDpgQmFja3VwIGNvZGVgLHNob3duT25jZTpgU2hvd24gb25jZWAsY29weTpgQ29weWAsY29waWVkOmBDb3BpZWRgLHVuY29uZmlybWVkOmBTZXR1cCBmaW5pc2hlZCwgYnV0IHdlIGNvdWxkbid0IGNvbmZpcm0gb25lIHN0ZXAuIFlvdXIgYWdlbnQgbWF5IG5lZWQgYSByZXN0YXJ0LmAsdW5jb25maXJtZWRUaXRsZTpgQWxtb3N0IHRoZXJlLmAsa2l0VGl0bGU6YFNhdmUgeW91ciByZWNvdmVyeSBraXRgLGtpdEJvZHk6YElmIHRoaXMgY29tcHV0ZXIgaXMgbG9zdCwgdGhlIHJlY292ZXJ5IGtpdCBicmluZ3MgeW91ciBhZ2VudCBhbmQgaXRzIGNvbnRhY3RzIGJhY2suIE5vYm9keSBlbHNlIGhhcyBhIGNvcHksIGluY2x1ZGluZyA0dGhUZWNoLmAsc2F2ZUtpdDpgU2F2ZSBraXRgLHNhdmVLaXRTb29uOmBTYXZpbmcgdGhlIGtpdCBmcm9tIHRoaXMgcGFnZSBhcnJpdmVzIGluIGFuIHVwZGF0ZS5gLGxhdGVyOmBMYXRlcmAsbGF0ZXJOb3RlOmBXZSdsbCByZW1pbmQgeW91IHVudGlsIGl0J3Mgc2F2ZWQuYCxyZWFkeVRpdGxlOmBZb3UncmUgc2V0YCxyZWFkeUJvZHk6YEdvIGJhY2sgdG8geW91ciBBSSBhcHAgYW5kIHNheTpgLHJlYWR5UHJvbXB0OmBDcmVhdGUgYW4gQWdlbnRMaW5rIGludml0ZSBmb3IgYSBjb2xsZWFndWUuYCxyZWFkeVByb21wdFRpdGxlOmBTYXkgdGhpcyB0byB5b3VyIEFJYCxyZWFkeUNsb3NlOmBZb3UgY2FuIGNsb3NlIHRoaXMgdGFiLmAscmVhZHlSZXN0YXJ0OmBJZiB5b3VyIEFJIGFwcCBkb2Vzbid0IHNlZSBBZ2VudExpbmsgeWV0LCByZXN0YXJ0IGl0IGZpcnN0LmAsYWxyZWFkeVRpdGxlOmBBcHByb3ZhbHMgYXJlIGFscmVhZHkgcHJvdGVjdGVkIG9uIHRoaXMgY29tcHV0ZXJgLGFscmVhZHlCb2R5OiJJZiB5b3UgZGlkbid0IHNldCB0aGlzIHVwIHlvdXJzZWxmLCBkb24ndCB1c2UgdGhpcyBhZ2VudDogcnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbCBhbmQgY29tcGFyZSB0aGUgb3duZXIgZmluZ2VycHJpbnQuIix1bnN1cHBvcnRlZFRpdGxlOmBUaGlzIGJyb3dzZXIgY2FuJ3QgbWFrZSBhIHBhc3NrZXlgLHVuc3VwcG9ydGVkQm9keTpgT3BlbiB0aGlzIHBhZ2UgaW4gQ2hyb21lLCBFZGdlIG9yIFNhZmFyaSwgb3Igc2V0IHVwIGFwcHJvdmFscyBpbiB5b3VyIG93biB0ZXJtaW5hbDpgLHVuc3VwcG9ydGVkQ29tbWFuZDpgYWdlbnRsaW5rIG93bmVyIGluaXRgLHRyeUFnYWluOmBUcnkgYWdhaW5gLHN0YXJ0QWdhaW46YFN0YXJ0IGFnYWluYH0sSXI9e2NhbmNlbGxlZDpgVGhlIHBhc3NrZXkgd2Fzbid0IGNyZWF0ZWQuIE5vdGhpbmcgY2hhbmdlZC4gVHJ5IGFnYWluIHdoZW4geW91J3JlIHJlYWR5LmAsZXhwaXJlZDpgVGhpcyBzdGVwIHRvb2sgdG9vIGxvbmcuIE5vdGhpbmcgY2hhbmdlZC4gVHJ5IGFnYWluLmAsbm90X3BlbmRpbmc6YFRoaXMgc3RlcCB0b29rIHRvbyBsb25nLiBOb3RoaW5nIGNoYW5nZWQuIFRyeSBhZ2Fpbi5gLGJ1c3k6YEFub3RoZXIgc2V0dXAgb3IgYXBwcm92YWwgaXMgcnVubmluZy4gV2FpdCBhIG1vbWVudCwgdGhlbiB0cnkgYWdhaW4uYCx3YWl0OmU9PmBUb28gbWFueSB0cmllcy4gV2FpdCAke1N0cmluZyhlKX0gc2Vjb25kcywgdGhlbiB0cnkgYWdhaW4uYCxwcmVzZW5jZV9yZXF1aXJlZDpgWW91ciBicm93c2VyIGRpZG4ndCBzZW5kIHRoZSBwYXNza2V5LiBOb3RoaW5nIGNoYW5nZWQuIFRyeSBhZ2Fpbi5gLHByZXNlbmNlX3JlamVjdGVkOmBUaGF0IHBhc3NrZXkgY291bGRuJ3QgYmUgdXNlZCBoZXJlLiBOb3RoaW5nIGNoYW5nZWQuIFRyeSBhZ2Fpbi5gLGludmFsaWQ6YFNvbWV0aGluZyB3ZW50IHdyb25nIG9uIHRoaXMgcGFnZS4gUmVsb2FkIGl0IGFuZCB0cnkgYWdhaW4uYCx1bmF2YWlsYWJsZToiU2V0dXAgY2FuJ3QgcnVuIGZyb20gdGhpcyBwYWdlIHJpZ2h0IG5vdy4gQXNrIHlvdXIgQUkgdG8gb3BlbiBBZ2VudExpbmsgYWdhaW4sIG9yIHJ1biBgYWdlbnRsaW5rIG93bmVyIGluaXRgIGluIHlvdXIgb3duIHRlcm1pbmFsLiIscm9sbGVkX2JhY2s6YFNldHVwIGRpZG4ndCBmaW5pc2gsIHNvIG5vdGhpbmcgd2FzIGtlcHQuIFN0YXJ0IGFnYWluLmAsZm9sZGVyX25vdF9lbXB0eTpgVGhlIGZvbGRlciBBZ2VudExpbmsvU2VuZCBpbiB5b3VyIGhvbWUgZm9sZGVyIGFscmVhZHkgaG9sZHMgZmlsZXMuIE1vdmUgdGhlbSBvdXQsIHRoZW4gdHJ5IGFnYWluLiBOb3RoaW5nIGNoYW5nZWQuYCxmb2xkZXJfdW5hdmFpbGFibGU6YEFnZW50TGluayBjb3VsZG4ndCB1c2UgdGhlIGZvbGRlciBBZ2VudExpbmsvU2VuZCBpbiB5b3VyIGhvbWUgZm9sZGVyOiBpdCBtdXN0IGJlIGEgcGxhaW4gZm9sZGVyLCBub3QgYSBsaW5rIG9yIGEgZmlsZS4gRml4IGl0LCB0aGVuIHRyeSBhZ2Fpbi4gTm90aGluZyBjaGFuZ2VkLmAsa2V5Y2hhaW46IllvdXIgY29tcHV0ZXIncyBrZXljaGFpbiByZWZ1c2VkIHRoZSByZXF1ZXN0LiBVbmxvY2sgaXQsIHRoZW4gcnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLGNoZWNrX2ZhaWxlZDoiV2UgY291bGRuJ3QgY2hlY2sgdGhpcyBjb21wdXRlcidzIHNldHVwLiBSdW4gYGFnZW50bGluayBkb2N0b3JgIGluIHlvdXIgb3duIHRlcm1pbmFsLiIsaW50ZXJuYWw6IlNldHVwIGRpZG4ndCBmaW5pc2guIFJ1biBgYWdlbnRsaW5rIGRvY3RvcmAgaW4geW91ciBvd24gdGVybWluYWwuIixvZmZsaW5lOmBBZ2VudExpbmsgaXNuJ3QgYW5zd2VyaW5nLiBBc2sgeW91ciBBSSB0byBvcGVuIEFnZW50TGluayBhZ2Fpbi5gLHNlc3Npb25fZXhwaXJlZDpgVGhpcyBsaW5rIGhhcyBleHBpcmVkLiBBc2sgeW91ciBBSSB0byBvcGVuIEFnZW50TGluayBhZ2Fpbi5gLGZvcmJpZGRlbjpgVGhpcyBwYWdlIGNvdWxkbid0IGJlIGNoZWNrZWQuIEFzayB5b3VyIEFJIHRvIG9wZW4gQWdlbnRMaW5rIGFnYWluLmAsdW5rbm93bjoiU2V0dXAgZGlkbid0IGZpbmlzaC4gUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLGZpbmlzaGVkTm9Db2RlOiJTZXR1cCBwcm9iYWJseSBmaW5pc2hlZCwgYnV0IHRoZSBjb25uZWN0aW9uIGRyb3BwZWQgYmVmb3JlIHlvdXIgYmFja3VwIGNvZGUgY291bGQgYmUgc2hvd24uIEFwcHJvdmUgd2l0aCB5b3VyIHBhc3NrZXkuIElmIHlvdXIgcGFzc2tleSBkb2Vzbid0IHdvcmssIHJ1biBgYWdlbnRsaW5rIGRvY3RvcmAgaW4geW91ciBvd24gdGVybWluYWwuIixub3RGaW5pc2hlZDpgVGhlIGNvbm5lY3Rpb24gZHJvcHBlZCBhbmQgc2V0dXAgZGlkbid0IGZpbmlzaC4gTm90aGluZyB3YXMga2VwdC4gVHJ5IGFnYWluLmB9LExyPXttYWM6YFN3aXRjaCB0byBUb3VjaCBJRGAsd2luZG93czpgU3dpdGNoIHRvIFdpbmRvd3MgSGVsbG9gLG90aGVyOmBTd2l0Y2ggdG8gYSBwYXNza2V5YH0sUnI9e21hYzpgVG91Y2ggSUQgaXMgb25gLHdpbmRvd3M6YFdpbmRvd3MgSGVsbG8gaXMgb25gLG90aGVyOmBZb3VyIHBhc3NrZXkgaXMgb25gfSx6cj17bWFjOmBBcHByb3ZlIHdpdGggVG91Y2ggSUQuYCx3aW5kb3dzOmBBcHByb3ZlIHdpdGggV2luZG93cyBIZWxsby5gLG90aGVyOmBBcHByb3ZlIHdpdGggYSBwYXNza2V5LmB9LEJyPXt0aXRsZTplPT5McltlXSxib2R5OmU9PmBFbnRlciB5b3VyIGJhY2t1cCBjb2RlIG9uY2UsIHRoZW4gYXBwcm92ZSB3aXRoICR7ZX0gaW5zdGVhZCBvZiB0eXBpbmcgaXQuIFlvdXIgYmFja3VwIGNvZGUga2VlcHMgd29ya2luZyB3aGVuICR7ZX0gaXNuJ3QgYXZhaWxhYmxlLiBOZXZlciBnaXZlIGl0IHRvIHlvdXIgQUkuYCxjb2RlTGFiZWw6YEJhY2t1cCBjb2RlYCxjb2RlSGludDpZdCxub1ByZjooZSx0KT0-YCR7ZX0gZG9lc24ndCB3b3JrIGluIHRoaXMgYnJvd3NlciBmb3IgQWdlbnRMaW5rLiBPcGVuIHRoaXMgcGFnZSBpbiAke3R9IHRvIHN3aXRjaC4gVW50aWwgdGhlbiwgYXBwcm92ZSB3aXRoIHlvdXIgYmFja3VwIGNvZGUuYCxkb25lVGl0bGU6ZT0-UnJbZV0sZG9uZUJvZHk6ZT0-YE5leHQgdGltZSwgYXBwcm92ZSB3aXRoICR7ZX0uIFlvdXIgYmFja3VwIGNvZGUgc3RpbGwgd29ya3MgaWYgJHtlfSBpc24ndCBhdmFpbGFibGUsIHNvIGtlZXAgaXQgc2F2ZWQuYCx0b0FwcHJvdmFsczpgR28gdG8gQXBwcm92YWxzYCxiYW5uZXJUaXRsZTplPT56cltlXSxiYW5uZXJCb2R5OmBFbnRlciB5b3VyIGJhY2t1cCBjb2RlIG9uY2UgdG8gc3dpdGNoLiBJdCBrZWVwcyB3b3JraW5nIGFzIHlvdXIgYmFja3VwLmAsYmFubmVyQWN0aW9uOmU9PkxyW2VdfSxWcj17ZW1wdHk6YEVudGVyIHlvdXIgYmFja3VwIGNvZGUgZmlyc3QuYCxwcmVzZW5jZV9yZWplY3RlZDpgVGhhdCBiYWNrdXAgY29kZSBkaWRuJ3Qgd29yay4gQ2hlY2sgaXQgYW5kIHRyeSBhZ2Fpbi4gTm90aGluZyBjaGFuZ2VkLmAscHJlc2VuY2VfcmVxdWlyZWQ6YFlvdXIgYnJvd3NlciBkaWRuJ3Qgc2VuZCB0aGUgYmFja3VwIGNvZGUuIE5vdGhpbmcgY2hhbmdlZC4gVHJ5IGFnYWluLmAsY2FuY2VsbGVkOklyLmNhbmNlbGxlZCx1bnN1cHBvcnRlZDplPT5gVGhpcyBwYXNza2V5IGNhbid0IHByb3RlY3QgYXBwcm92YWxzIGhlcmUuIE5vdGhpbmcgY2hhbmdlZC4gS2VlcCBhcHByb3Zpbmcgd2l0aCB5b3VyIGJhY2t1cCBjb2RlLCBvciBvcGVuIHRoaXMgcGFnZSBpbiAke2V9LmAsYnVzeTpJci5idXN5LHdhaXQ6SXIud2FpdCxmYWlsZWQ6IlRoZSBzd2l0Y2ggZGlkbid0IGZpbmlzaC4gUnVuIGBhZ2VudGxpbmsgZG9jdG9yYCBpbiB5b3VyIG93biB0ZXJtaW5hbC4iLG9mZmxpbmU6SXIub2ZmbGluZSxzZXNzaW9uX2V4cGlyZWQ6SXIuc2Vzc2lvbl9leHBpcmVkLGZvcmJpZGRlbjpJci5mb3JiaWRkZW59LEhyPXtub3RBdmFpbGFibGVUaXRsZTpgVGhpcyBwYWdlIGlzbid0IGF2YWlsYWJsZSB5ZXQuYCxub3RBdmFpbGFibGVIaW50OmBJdCBhcnJpdmVzIGluIGFuIHVwZGF0ZS4gTm90aGluZyBpcyBsb3N0IHdoaWxlIHlvdSB3YWl0LmAsbm90Rm91bmRUaXRsZTpgVGhpcyBwYWdlIGlzbid0IGhlcmUuYCxub3RGb3VuZEhpbnQ6YFBpY2sgYSBwYWdlIGZyb20gdGhlIG1lbnUuYCxsaW5rRXhwaXJlZFRpdGxlOmBUaGlzIGxpbmsgaGFzIGV4cGlyZWRgLGxpbmtFeHBpcmVkQm9keTpgQXNrIHlvdXIgQUkgdG8gb3BlbiBBZ2VudExpbmsgYWdhaW4sIG9yIHJ1biB0aGlzIGluIGEgdGVybWluYWw6YCxsaW5rRXhwaXJlZENvbW1hbmQ6YGFnZW50bGluayB1aWAsbm90UnVubmluZ1RpdGxlOmBBZ2VudExpbmsgaXNuJ3QgcnVubmluZ2Asbm90UnVubmluZ0JvZHk6YFlvdXIgQUkgYXBwIHN0YXJ0cyBpdCB3aGVuIGl0IG5lZWRzIGl0LiBPcGVuIHlvdXIgQUkgYXBwLCB0aGVuIHRoaXMgcGFnZSBhZ2Fpbi4gTm90aGluZyBpcyBsb3N0IHdoaWxlIGl0J3Mgc3RvcHBlZDsgbWVzc2FnZXMgd2FpdCBvbiB0aGUgbmV0d29yay4gVG8gc2VlIHdoYXQncyB3cm9uZzpgLG5vdFJ1bm5pbmdDb21tYW5kOmBhZ2VudGxpbmsgZG9jdG9yYCxzZXR1cFVuZmluaXNoZWRUaXRsZTpgRmluaXNoIHNldHVwIHRvIGFwcHJvdmUuYCxzZXR1cFVuZmluaXNoZWRCb2R5OmBBbnl0aGluZyB0aGF0IG5lZWRzIHlvdSB3YWl0cyB1bnRpbCB5b3VyIGFwcHJvdmFscyBhcmUgcHJvdGVjdGVkLmAsY29udGludWVTZXR1cDpgQ29udGludWUgc2V0dXBgLGtpdFBlbmRpbmdUaXRsZTpgU2F2ZSB5b3VyIHJlY292ZXJ5IGtpdC5gLGtpdFBlbmRpbmdCb2R5OmBJZiB0aGlzIGNvbXB1dGVyIGlzIGxvc3QsIGl0IGJyaW5ncyB5b3VyIGFnZW50IGFuZCBpdHMgY29udGFjdHMgYmFjay5gLGtpdFBlbmRpbmdBZnRlckNvbnRhY3Q6YFlvdSBoYXZlIGEgY29udGFjdCBub3c6IHNhdmUgeW91ciByZWNvdmVyeSBraXQgc28geW91IGNhbiBnZXQgdGhlbSBiYWNrIGlmIHRoaXMgY29tcHV0ZXIgaXMgbG9zdC5gLHNhdmVLaXQ6YFNhdmUga2l0YCxuZXR3b3JrU2xvdzpgTWVzc2FnZXMgYXJlIGFycml2aW5nIHNsb3dseS4gU3RpbGwgdHJ5aW5nLmAsbmV0d29ya09mZmxpbmU6YENhbid0IHJlYWNoIHRoZSBtZXNzYWdlIG5ldHdvcmsuIFNob3dpbmcgd2hhdCdzIHNhdmVkIGhlcmUuYCxuZXR3b3JrQmFjazplPT5lPT09MD9gQmFjayBvbmxpbmUuYDpgQmFjayBvbmxpbmUuICR7U3RyaW5nKGUpfSBuZXcgJHtlPT09MT9gbWVzc2FnZWA6YG1lc3NhZ2VzYH0uYCxlbXB0eVRpdGxlOmBOb3RoaW5nIHdhaXRpbmcgZm9yIHlvdS5gLGVtcHR5UHJvbXB0OmBDcmVhdGUgYW4gQWdlbnRMaW5rIGludml0ZSBmb3IgYSBjb2xsZWFndWUuYCxsb2FkaW5nOmBDaGVja2luZyBmb3IgbmV3IG1lc3NhZ2Vz4oCmYCxyZXRyeTpgUmV0cnlgfSxVcj1gYWdlbnRsaW5rLnJlY292ZXJ5S2l0LmxhdGVyYDtmdW5jdGlvbiBXcigpe3RyeXtyZXR1cm4gdHlwZW9mIGxvY2FsU3RvcmFnZT5gdWA_dm9pZCAwOmxvY2FsU3RvcmFnZX1jYXRjaHtyZXR1cm59fWZ1bmN0aW9uIEdyKGU9RGF0ZS5ub3coKSl7dHJ5e1dyKCk_LnNldEl0ZW0oVXIsU3RyaW5nKE1hdGguZmxvb3IoZSkpKX1jYXRjaHt9fWZ1bmN0aW9uIEtyKCl7dHJ5e2xldCBlPVdyKCk_LmdldEl0ZW0oVXIpO3JldHVybiBlIT1udWxsJiYvXlswLTldezEsMTZ9JC8udGVzdChlKX1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gcXIoe3RpdGxlOmV9KXtyZXR1cm4oMCxTLmpzeHMpKFMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxTLmpzeCkoYGgxYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOmV9KSwoMCxTLmpzeCkodyx7aWNvbjpgaW5mb2AsdGl0bGU6YCR7SHIubm90QXZhaWxhYmxlVGl0bGV9ICR7SHIubm90QXZhaWxhYmxlSGludH1gfSldfSl9ZnVuY3Rpb24gSnIoKXtyZXR1cm4oMCxTLmpzeCkodyx7aWNvbjpgc2VhcmNoYCx0aXRsZTpgJHtIci5ub3RGb3VuZFRpdGxlfSAke0hyLm5vdEZvdW5kSGludH1gfSl9ZnVuY3Rpb24gWXIoKXtyZXR1cm4oMCxTLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGFsLXN0YXRlLWV4cGlyZWRgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYGgxYCx7aWQ6YGFsLXN0YXRlLWV4cGlyZWRgLGNsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0yYCxjaGlsZHJlbjpIci5saW5rRXhwaXJlZFRpdGxlfSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHkgYWwtbXV0ZWRgLGNoaWxkcmVuOkhyLmxpbmtFeHBpcmVkQm9keX0pLCgwLFMuanN4KShpZSx7Y29tbWFuZDpIci5saW5rRXhwaXJlZENvbW1hbmR9KV19KX1mdW5jdGlvbiBYcigpe3JldHVybigwLFMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgYWwtc3RhdGUtZG93bmAsY2hpbGRyZW46WygwLFMuanN4KShgaDFgLHtpZDpgYWwtc3RhdGUtZG93bmAsY2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTJgLGNoaWxkcmVuOkhyLm5vdFJ1bm5pbmdUaXRsZX0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpIci5ub3RSdW5uaW5nQm9keX0pLCgwLFMuanN4KShpZSx7Y29tbWFuZDpIci5ub3RSdW5uaW5nQ29tbWFuZH0pXX0pfWZ1bmN0aW9uIFpyKHtwbGF0Zm9ybTplfSl7cmV0dXJuKDAsUy5qc3gpKG5lLHt0b25lOmBpbmZvYCxpY29uOmBrZXktcm91bmRgLHRpdGxlOkJyLmJhbm5lclRpdGxlKGUpLGFjdGlvbjooMCxTLmpzeCkoYGFgLHtjbGFzc05hbWU6YGFsLWJ0biBhbC1idG4tcHJpbWFyeSBhbC1idG4tc21gLGhyZWY6YC9maXJzdC1ydW5gLGNoaWxkcmVuOkJyLmJhbm5lckFjdGlvbihlKX0pLGNoaWxkcmVuOkJyLmJhbm5lckJvZHl9KX1mdW5jdGlvbiBRcih7dGV4dDplPUhyLmxvYWRpbmd9KXtyZXR1cm4oMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keSBhbC1tdXRlZGAscm9sZTpgc3RhdHVzYCwiYXJpYS1saXZlIjpgcG9saXRlYCxjaGlsZHJlbjplfSl9dmFyICRyPWAvYXBpL3VpL2hlYWx0aGAsZWk9NWUzLHRpPTJlMyxuaT0zZTQscmk9NGUzLGlpPTFlNCxhaT1PYmplY3QuZnJlZXplKHtydW5uaW5nOmBjb25uZWN0ZWRgLHBhdXNlZDpgcGF1c2VkYCxub3RfcnVubmluZzpgbm90X3J1bm5pbmdgLG5lZWRzX3NldHVwOmBuZWVkc19zZXR1cGB9KSxvaT0vXlxkezEsNH1cLlxkezEsNH1cLlxkezEsNn0oPzotWzAtOUEtWmEtel1bMC05QS1aYS16Li1dezAsMzF9KT8kLztmdW5jdGlvbiBzaShlKXtpZihlLmtpbmQhPT1gb2tgKXJldHVybjtsZXQgdD1lLmRhdGE7aWYodHlwZW9mIHQhPWBvYmplY3RgfHwhdClyZXR1cm47bGV0e2FnZW50Om4sdmVyc2lvbjpyfT10O2lmKHR5cGVvZiBuIT1gc3RyaW5nYHx8IU9iamVjdC5oYXNPd24oYWksbikpcmV0dXJuO2xldCBpPWFpW25dO3JldHVybiB0eXBlb2Ygcj09YHN0cmluZ2AmJm9pLnRlc3Qocik_e3N0YXRlOmksdmVyc2lvbjpyfTp7c3RhdGU6aX19dmFyIGNpPXtzZXQ6KGUsdCk9PnNldFRpbWVvdXQoZSx0KSxjbGVhcjplPT5jbGVhclRpbWVvdXQoZSl9LGxpPSgpPT50eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gaGlkZGVuYCx1aT1lPT50eXBlb2YgZG9jdW1lbnQ-YHVgPygpPT52b2lkIDA6KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLGUpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCxlKSk7ZnVuY3Rpb24gZGkoZSl7bGV0IHQ9ZS50aW1lcnM_P2NpLG49ZS5oaWRkZW4_P2xpLHI9ITEsaT0hMSxhPSExLG89MCxzLGMsbD0odCxuKT0-eyhjPT09dm9pZCAwfHxjLnN0YXRlIT09dHx8Yy52ZXJzaW9uIT09bikmJihjPXtzdGF0ZTp0LHZlcnNpb246bn0sZS5vblN0YXRlKHQsbikpfSx1PWU9PntyfHwocyE9PXZvaWQgMCYmdC5jbGVhcihzKSxzPXQuc2V0KCgpPT57cz12b2lkIDAsZCgpfSxlKSl9LGQ9YXN5bmMoKT0-e2lmKHJ8fGl8fG4oKSlyZXR1cm47aT0hMDtsZXQgcz1hd2FpdCBuZXcgUHJvbWlzZShuPT57bGV0IHI9dC5zZXQoKCk9Pm4oe2tpbmQ6YG9mZmxpbmVgfSksaWkpLGk9ZT0-e3QuY2xlYXIociksbihlKX07dHJ5e2UucmVhZCgpLnRoZW4oaSwoKT0-aSh7a2luZDpgb2ZmbGluZWB9KSl9Y2F0Y2h7aSh7a2luZDpgb2ZmbGluZWB9KX19KTtpZihpPSExLHIpcmV0dXJuO2E9ITA7bGV0IGQ9c2kocyk7ZD09PXZvaWQgMD8obChgbm90X3J1bm5pbmdgLGM_LnZlcnNpb24pLG89bz09PTA_dGk6TWF0aC5taW4obyoyLG5pKSx1KG8pKToobz0wLGwoZC5zdGF0ZSxkLnZlcnNpb24pLHUoZWkpKX0sZj10LnNldCgoKT0-eyFyJiYhYSYmbChgbm90X3J1bm5pbmdgLHZvaWQgMCl9LHJpKSxwPShlLm9uVmlzaWJpbGl0eT8_dWkpKCgpPT57cnx8bigpfHwocyE9PXZvaWQgMCYmKHQuY2xlYXIocykscz12b2lkIDApLGQoKSl9KTtyZXR1cm4gZCgpLCgpPT57cj0hMCx0LmNsZWFyKGYpLHMhPT12b2lkIDAmJnQuY2xlYXIocykscz12b2lkIDAscCgpfX1mdW5jdGlvbiBmaSgpe3JldHVybiBkbigpLmdldCgkcil9dmFyIHBpPW5ldyBTZXQsbWksaGksZ2k7ZnVuY3Rpb24gX2koZSl7Zm9yKGxldCB0IG9mWy4uLnBpXSl0cnl7ZSh0KX1jYXRjaHt9fWZ1bmN0aW9uIHZpKGUsdCl7cmV0dXJuIHBpLmFkZCh0KSxtaT09PXZvaWQgMD9taT1kaSh7cmVhZDphc3luYygpPT57bGV0IHQ7dHJ5e3Q9YXdhaXQgZSgpfWNhdGNoe3Q9e2tpbmQ6YG9mZmxpbmVgfX1yZXR1cm4gZ2k9dCxfaShlPT5lLm9uUmVzdWx0Py4odCkpLHR9LG9uU3RhdGU6KGUsdCk9PntoaT17c3RhdGU6ZSx2ZXJzaW9uOnR9LF9pKG49Pm4ub25TdGF0ZT8uKGUsdCkpfX0pOihnaSE9PXZvaWQgMCYmdC5vblJlc3VsdD8uKGdpKSxoaSE9PXZvaWQgMCYmdC5vblN0YXRlPy4oaGkuc3RhdGUsaGkudmVyc2lvbikpLCgpPT57cGkuZGVsZXRlKHQpLHBpLnNpemU9PT0wJiZtaSE9PXZvaWQgMCYmKG1pKCksbWk9dm9pZCAwLGhpPXZvaWQgMCxnaT12b2lkIDApfX12YXIgeWk9YHVua25vd25gLGJpPW5ldyBTZXQ7ZnVuY3Rpb24geGkoZSl7aWYoZSE9PXlpKXt5aT1lO2ZvcihsZXQgZSBvZiBiaSllKCl9fWZ1bmN0aW9uIFNpKCl7bGV0W2UsdF09KDAseS51c2VTdGF0ZSkoeWkpO3JldHVybigwLHkudXNlRWZmZWN0KSgoKT0-e2xldCBlPSgpPT50KHlpKSxuPSgpPT54aShgb2ZmbGluZWApLHI9KCk9Pnt5aT09PWBvZmZsaW5lYCYmeGkoYHVua25vd25gKX07cmV0dXJuIGJpLmFkZChlKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihgb2ZmbGluZWAsbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYG9ubGluZWAsciksZSgpLCgpPT57YmkuZGVsZXRlKGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGBvZmZsaW5lYCxuKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihgb25saW5lYCxyKX19LFtdKSxlfXZhciBDaT0oKT0-dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci5vbkxpbmU9PT0hMTtmdW5jdGlvbiB3aShlPWZpKXtsZXRbdCxuXT0oMCx5LnVzZVN0YXRlKSh2b2lkIDApO3JldHVybigwLHkudXNlRWZmZWN0KSgoKT0-KHlpIT09YG9mZmxpbmVgJiZ4aShgdW5rbm93bmApLHZpKGUse29uU3RhdGU6KGUsdCk9PntDaSgpfHx4aShlKSxuKHQpfX0pKSxbZV0pLHR9dmFyIFRpPXt1bmtub3duOmBjaGVja2luZ2AsY29ubmVjdGVkOmBjb25uZWN0ZWRgLG9mZmxpbmU6YGRpc2Nvbm5lY3RlZGAscGF1c2VkOmBwYXVzZWRgLG5vdF9ydW5uaW5nOmBub3QtcnVubmluZ2AsbmVlZHNfc2V0dXA6YG5lZWRzLXNldHVwYH07ZnVuY3Rpb24gRWkoZSl7cmV0dXJuICR0LnNvbWUodD0-dC5wYXRoPT09ZSl9ZnVuY3Rpb24gRGkoZSl7aWYoZT09PWAvZmlyc3QtcnVuYClyZXR1cm4gSnQuZmlyc3RSdW47bGV0IHQ9UXQuZmluZCh0PT50LnBhdGg9PT1lJiZ0LmxhYmVsIT09YFNldHRpbmdzYCk7aWYodCE9PXZvaWQgMClyZXR1cm4gdC5sYWJlbDtsZXQgbj0kdC5maW5kKHQ9PnQucGF0aD09PWUpO3JldHVybiBuPT09dm9pZCAwP3F0LmFwcE5hbWU6bi5sYWJlbH1hc3luYyBmdW5jdGlvbiBPaSgpe2lmKCFpcigpKXJldHVybiExO2xldCBlPWF3YWl0IE1yKCkuaW5mbygpO3JldHVybiBlLmtpbmQ9PT1gb2tgJiYhZS5yZWdpc3RlcmVkfXZhciBraT1gL2ZpcnN0LXJ1bmA7ZnVuY3Rpb24gQWkoZSl7bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWFpbi5hbC1zaGVsbC1jb250ZW50YCk7dCE9PW51bGwmJihlLnByZXZlbnREZWZhdWx0KCksdC5zZXRBdHRyaWJ1dGUoYHRhYmluZGV4YCxgLTFgKSx0LmZvY3VzKCkpfWZ1bmN0aW9uIGppKHtwYXRoOmUsY2hpbGRyZW46dCxuZXh0U3RlcDpuPU9pLHBsYXRmb3JtOnIsdW5zZWVuTWVzc2FnZXM6aSx3YWl0aW5nQXBwcm92YWxzOmEscmVhZEhlYWx0aDpvfSl7bGV0IHM9U2koKSxjPXdpKG8pLGw9Tm4oZSxpKSx1PSRuKGUsYSksZD1FaShlKSxbZl09KDAseS51c2VTdGF0ZSkoKCk9PnI_P2VyKCkpLFtwLG1dPSgwLHkudXNlU3RhdGUpKCExKTsoMCx5LnVzZUVmZmVjdCkoKCk9PntpZihlPT09a2kpe20oITEpO3JldHVybn1sZXQgdD0hMDtyZXR1cm4gbigpLnRoZW4oZT0-e3QmJm0oZSl9LCgpPT57dCYmbSghMSl9KSwoKT0-e3Q9ITF9fSxbZSxuXSk7bGV0IGg9UXQubWFwKHQ9Pih7aWNvbjp0Lmljb24sbGFiZWw6dC5sYWJlbCxocmVmOnQucGF0aCxhY3RpdmU6dC5yb3V0ZWQmJih0LmxhYmVsPT09YFNldHRpbmdzYD9kOnQucGF0aD09PWUpLC4uLnQuaWQ9PT1gbWVzc2FnZXNgJiZsPjA_e2NvdW50OmwsY291bnRMYWJlbDpxdC5tZXNzYWdlc05ld306e30sLi4udC5pZD09PWBhcHByb3ZhbHNgJiZ1PjA_e2NvdW50OnUsY291bnRMYWJlbDpxdC5hcHByb3ZhbHNXYWl0aW5nfTp7fX0pKTtyZXR1cm4oMCxTLmpzeHMpKEt0LHtjaGlsZHJlbjpbKDAsUy5qc3gpKGBhYCx7aHJlZjpgI2FsLW1haW5gLGNsYXNzTmFtZTpgYWwtc2tpcCBhbC10ZXh0LWJvZHktc21gLG9uQ2xpY2s6QWksY2hpbGRyZW46cXQuc2tpcFRvQ29udGVudH0pLCgwLFMuanN4cykoX3Qse25hdjpoLHBhZ2VUaXRsZTpEaShlKSx0b3BCYXJFbmQ6KDAsUy5qc3gpKHJuLHtjb25uZWN0aW9uOnN9KSxjb25uZWN0aW9uOlRpW3NdLC4uLmM9PT12b2lkIDA_e306e3ZlcnNpb246Y30sY2hpbGRyZW46W3AmJmUhPT1raT8oMCxTLmpzeCkoWnIse3BsYXRmb3JtOmZ9KTpudWxsLGQ_KDAsUy5qc3gpKGBuYXZgLHsiYXJpYS1sYWJlbCI6YFNldHRpbmdzYCxjbGFzc05hbWU6YGFsLXN1Ym5hdiBhbC1jaHJvbWVgLGNoaWxkcmVuOiR0Lm1hcCh0PT4oMCxTLmpzeCkoYGFgLHtocmVmOnQucGF0aCxjbGFzc05hbWU6dC5wYXRoPT09ZT9gaXMtYWN0aXZlYDp2b2lkIDAsImFyaWEtY3VycmVudCI6dC5wYXRoPT09ZT9gcGFnZWA6dm9pZCAwLGNoaWxkcmVuOnQubGFiZWx9LHQucGF0aCkpfSk6bnVsbCx0XX0pXX0pfXZhciBNaT1nKCk7ZnVuY3Rpb24gTmkoKXtyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQubW90aW9uPT09YHJlZHVjZWRgfHx0eXBlb2Ygd2luZG93Lm1hdGNoTWVkaWE9PWBmdW5jdGlvbmAmJndpbmRvdy5tYXRjaE1lZGlhKGAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKWApLm1hdGNoZXN9ZnVuY3Rpb24gUGkoZSl7bGV0IHQ9ZG9jdW1lbnQ7aWYodHlwZW9mIHQuc3RhcnRWaWV3VHJhbnNpdGlvbiE9YGZ1bmN0aW9uYHx8TmkoKSllKCk7ZWxzZSB0cnl7dC5zdGFydFZpZXdUcmFuc2l0aW9uKCgpPT57KDAsTWkuZmx1c2hTeW5jKShlKX0pfWNhdGNoe2UoKX19dmFyIEZpPXl0KGFzeW5jKCk9Pihhd2FpdCBUdChhc3luYygpPT57bGV0e1VuZGVyVGhlSG9vZDplfT1hd2FpdCBpbXBvcnQoYC4vaG9vZC1DMThTZVlTaC5qc2ApLnRoZW4oZT0-ZS5uKTtyZXR1cm57VW5kZXJUaGVIb29kOmV9fSxfX3ZpdGVfX21hcERlcHMoWzE4LDFdKSkpLlVuZGVyVGhlSG9vZCwoKT0-KDAsUy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWhvb2QtbG9hZGluZ2AsImFyaWEtaGlkZGVuIjpgdHJ1ZWB9KSk7RmkubG9hZDtmdW5jdGlvbiBJaSh7ZmllbGRzOmV9KXtyZXR1cm4gdmUoKT8oMCxTLmpzeCkoRmkuUGFydCx7ZmllbGRzOmV9KTpudWxsfXZhciBMaT1gWC1BZ2VudExpbmstQ1NSRmAsUmk9YC9hcGkvdWkvcGF5LWNvbmZpcm0vYmVnaW5gLHppPWAvYXBpL3VpL3BheS1jb25maXJtL2ZpbmlzaGAsQmk9ZT0-e2xldCB0PWUucmVwbGFjZSgvLS9nLGArYCkucmVwbGFjZSgvXy9nLGAvYCksbj1hdG9iKHQrYD1gLnJlcGVhdCgoNC10Lmxlbmd0aCU0KSU0KSk7cmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShuLGU9PmUuY2hhckNvZGVBdCgwKSl9O2Z1bmN0aW9uIFZpKGUpe2xldCB0PW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShlKSksbj1gYDtmb3IobGV0IGUgb2YgdCluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpO3JldHVybiBidG9hKG4pLnJlcGxhY2UoL1wrL2csYC1gKS5yZXBsYWNlKC9cLy9nLGBfYCkucmVwbGFjZSgvPSskLyxgYCl9dmFyIEhpPWU9PmU_bmV3IFVpbnQ4QXJyYXkoZSk6bmV3IFVpbnQ4QXJyYXk7ZnVuY3Rpb24gVWkoZSl7bGV0IHQ9bmV3IFVpbnQ4QXJyYXkoZS5yZWR1Y2UoKGUsdCk9PmUrMit0Lmxlbmd0aCwwKSksbj0wO2ZvcihsZXQgciBvZiBlKXRbbl09ci5sZW5ndGg-PjgsdFtuKzFdPXIubGVuZ3RoJjI1NSx0LnNldChyLG4rMiksbis9MityLmxlbmd0aDtyZXR1cm4gdH1mdW5jdGlvbiBXaSgpe3JldHVybiB0eXBlb2YgZG9jdW1lbnQ-YHVgP2BgOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYG1ldGFbbmFtZT0iYWdlbnRsaW5rLWNzcmYiXWApPy5nZXRBdHRyaWJ1dGUoYGNvbnRlbnRgKT8_YGB9ZnVuY3Rpb24gR2koZSl7aWYodHlwZW9mIGUhPWBvYmplY3RgfHwhZSlyZXR1cm47bGV0IHQ9ZSxuPXQuYWxsb3dDcmVkZW50aWFscztpZih0eXBlb2YgdC5ycElkPT1gc3RyaW5nYCYmdHlwZW9mIHQuY2hhbGxlbmdlPT1gc3RyaW5nYCYmdHlwZW9mIHQucHJmU2FsdD09YHN0cmluZ2AmJnR5cGVvZiB0LnRpbWVvdXRNcz09YG51bWJlcmAmJkFycmF5LmlzQXJyYXkobikmJm4uZXZlcnkoZT0-dHlwZW9mIGU9PWBzdHJpbmdgKSlyZXR1cm57cnBJZDp0LnJwSWQsY2hhbGxlbmdlOnQuY2hhbGxlbmdlLGFsbG93Q3JlZGVudGlhbHM6bix0aW1lb3V0TXM6dC50aW1lb3V0TXMscHJmU2FsdDp0LnByZlNhbHR9fWZ1bmN0aW9uIEtpKGU9e30pe2xldCB0PWUuZmV0Y2g_PygoZSx0KT0-Z2xvYmFsVGhpcy5mZXRjaChlLHQpKSxuPSgpPT5lLnRva2VuPz9XaSgpLHI9KCk9PmUuY3JlZGVudGlhbHM_Pyh0eXBlb2YgbmF2aWdhdG9yPmB1YD92b2lkIDA6bmF2aWdhdG9yLmNyZWRlbnRpYWxzKTthc3luYyBmdW5jdGlvbiBpKGUscixpLGEpe2xldCBvPXtbTGldOm4oKSwiY29udGVudC10eXBlIjpgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCwiWC1BZ2VudExpbmstSW5wdXQiOlZpKHIpfTthJiYob1tgWC1BZ2VudExpbmstUHJlc2VuY2VgXT1gcGFzc2tleWApO3RyeXtsZXQgbj1hd2FpdCB0KGUse21ldGhvZDpgUE9TVGAsaGVhZGVyczpvLGJvZHk6aSxjcmVkZW50aWFsczpgc2FtZS1vcmlnaW5gLGNhY2hlOmBuby1zdG9yZWB9KSxyPWF3YWl0IG4uanNvbigpO3JldHVybntzdGF0dXM6bi5zdGF0dXMsanNvbjp0eXBlb2Ygcj09YG9iamVjdGAmJnI_cjp7fX19Y2F0Y2h7cmV0dXJufWZpbmFsbHl7aS5maWxsKDApfX1sZXQgYT1lPT57aWYoZT09PXZvaWQgMClyZXR1cm57a2luZDpgdW5rbm93bmB9O2xldCB0PWUuanNvbi5zdGF0dXM7aWYodHlwZW9mIHQhPWBzdHJpbmdgKXJldHVybntraW5kOmB1bmtub3duYH07bGV0IG49ZS5qc29uLnJldHJ5QWZ0ZXI7cmV0dXJue2tpbmQ6YHN0YXR1c2Asc3RhdHVzOnQsLi4udHlwZW9mIG49PWBudW1iZXJgP3tyZXRyeUFmdGVyOm59Ont9fX07cmV0dXJue2FzeW5jIGJlZ2luKGUpe2xldCB0PWF3YWl0IGkoUmksZSxuZXcgVWludDhBcnJheSwhMSk7aWYodD09PXZvaWQgMClyZXR1cm57a2luZDpgZmFpbGVkYH07bGV0IG49dC5qc29uO2lmKG4uc3RhdHVzIT09YHJlYWR5YClyZXR1cm4gdHlwZW9mIG4uc3RhdHVzPT1gc3RyaW5nYD97a2luZDpgcmVmdXNlZGAsc3RhdHVzOm4uc3RhdHVzfTp7a2luZDpgZmFpbGVkYH07bGV0IHI9S2Uobi5zdGF0ZW1lbnQpLGE9R2kobi5wdWJsaWNLZXkpO3JldHVybiByPT09dm9pZCAwfHxhPT09dm9pZCAwfHx0eXBlb2Ygbi5jZXJlbW9ueSE9YHN0cmluZ2A_e2tpbmQ6YGZhaWxlZGB9OntraW5kOmByZWFkeWAsY2VyZW1vbnk6bi5jZXJlbW9ueSx2aWV3OlFlKHIpLHN0YXRlbWVudEpzb246SlNPTi5zdHJpbmdpZnkocikscHVibGljS2V5OmEscmVtZW1iZXJPZmZlcmVkOm4ucmVtZW1iZXJPZmZlcmVkPT09ITB9fSxhc3luYyBmaW5pc2hQYXNza2V5KGUsdCxuKXtsZXQgbz1yKCk7aWYobz09PXZvaWQgMClyZXR1cm57a2luZDpgZGlzbWlzc2VkYH07bGV0IHM7dHJ5e3M9YXdhaXQgby5nZXQoe3B1YmxpY0tleTp7Y2hhbGxlbmdlOkJpKHQuY2hhbGxlbmdlKSxycElkOnQucnBJZCxhbGxvd0NyZWRlbnRpYWxzOnQuYWxsb3dDcmVkZW50aWFscy5tYXAoZT0-KHt0eXBlOmBwdWJsaWMta2V5YCxpZDpCaShlKX0pKSx1c2VyVmVyaWZpY2F0aW9uOmByZXF1aXJlZGAsdGltZW91dDp0LnRpbWVvdXRNcyxleHRlbnNpb25zOntwcmY6e2V2YWw6e2ZpcnN0OkJpKHQucHJmU2FsdCl9fX19fSl9Y2F0Y2h7cmV0dXJue2tpbmQ6YGRpc21pc3NlZGB9fWlmKHM9PT1udWxsKXJldHVybntraW5kOmBkaXNtaXNzZWRgfTtsZXQgYz1zLGw9Yy5yZXNwb25zZSx1PUhpKGMuZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpLnByZj8ucmVzdWx0cz8uZmlyc3QpLGQ9VWkoW0hpKGMucmF3SWQpLEhpKGwuYXV0aGVudGljYXRvckRhdGEpLEhpKGwuY2xpZW50RGF0YUpTT04pLEhpKGwuc2lnbmF0dXJlKSxIaShsLnVzZXJIYW5kbGUpLHVdKTtyZXR1cm4gdS5maWxsKDApLG4_LigpLGEoYXdhaXQgaSh6aSx7Y2VyZW1vbnk6ZX0sZCwhMCkpfSxhc3luYyBmaW5pc2hDb2RlKGUsdCl7bGV0IG49VWludDhBcnJheS5mcm9tKG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh0KSk7cmV0dXJuIGEoYXdhaXQgaSh6aSx7Y2VyZW1vbnk6ZX0sbiwhMSkpfX19ZnVuY3Rpb24gcWkoKXtpZih0eXBlb2YgbmF2aWdhdG9yPmB1YClyZXR1cm5gb3RoZXJgO2xldCBlPW5hdmlnYXRvci51c2VyQWdlbnREYXRhPy5wbGF0Zm9ybT8_bmF2aWdhdG9yLnBsYXRmb3JtO3JldHVybi9tYWMvaS50ZXN0KGUpP2BtYWNgOi93aW4vaS50ZXN0KGUpP2B3aW5kb3dzYDpgb3RoZXJgfWZ1bmN0aW9uIEppKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ0eXBlb2Ygd2luZG93Lm1hdGNoTWVkaWE9PWBmdW5jdGlvbmAmJndpbmRvdy5tYXRjaE1lZGlhKGAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKWApLm1hdGNoZXN9ZnVuY3Rpb24gWWkoZSl7bGV0IHQ9KDAseS51c2VNZW1vKSgoKT0-ZS5jbGllbnQ_P0tpKCksW2UuY2xpZW50XSksbj1lLnBsYXRmb3JtPz9xaSgpLHI9ZS5yZWR1Y2VkTW90aW9uPz9KaSgpLFtpLGFdPSgwLHkudXNlU3RhdGUpKHtwaGFzZTpgbG9hZGluZ2AsY2xvc2VkOiExLGJhY2t1cDohMSxidXN5OiEwfSksW28sc109KDAseS51c2VTdGF0ZSkoITEpLFtjLGxdPSgwLHkudXNlU3RhdGUpKCExKSx1PSgwLHkudXNlUmVmKSh2b2lkIDApLGQ9KDAseS51c2VSZWYpKGUuaW5wdXQpLGY9KDAseS51c2VSZWYpKCExKSxwPWUuaW5wdXQuZmxvdz09PWBsaW1pdHNgLG09KGUsdD1gaW5mb2ApPT5hKG49Pih7Li4ubixwaGFzZTpgcmVhZHlgLGNsb3NlZDohMCxidXN5OiExLG5vdGljZTp7dG9uZTp0LHRleHQ6ZX19KSksaD0oMCx5LnVzZUNhbGxiYWNrKShhc3luYyBlPT57bGV0IG49ZC5jdXJyZW50LHI9bi5mbG93PT09YHByb29mYCYmZT97Li4ubixyZW1lbWJlcjohMH06bixpPWF3YWl0IHQuYmVnaW4ocik7aWYoaS5raW5kPT09YHJlZnVzZWRgJiZpLnN0YXR1cz09PWBub3Rfb2ZmZXJlZGAmJmUpcmV0dXJuIHMoITEpLGwoITEpLGEoZT0-KHsuLi5lLG5vdGljZTp7dG9uZTpgaW5mb2AsdGV4dDprLm5vdE9mZmVyZWR9fSkpLGgoITEpO2lmKGkua2luZCE9PWByZWFkeWApcmV0dXJuIGkua2luZD09PWByZWZ1c2VkYCYmaS5zdGF0dXM9PT1gbm90X3BlbmRpbmdgP20oay5kZWNpZGVkKTppLmtpbmQ9PT1gcmVmdXNlZGAmJmkuc3RhdHVzPT09YGJ1c3lgP2EoZT0-KHsuLi5lLGJ1c3k6ITEsbm90aWNlOnt0b25lOmBlcnJvcmAsdGV4dDprLmJ1c3l9fSkpOm0oay5mYWlsZWRTdGFydCksITE7bGV0IG89dS5jdXJyZW50Py5zdGF0ZW1lbnRKc29uO3UuY3VycmVudD17Y2VyZW1vbnk6aS5jZXJlbW9ueSxwdWJsaWNLZXk6aS5wdWJsaWNLZXksc3RhdGVtZW50SnNvbjppLnN0YXRlbWVudEpzb24sc3RhbGU6ITF9LGwoaS5yZW1lbWJlck9mZmVyZWQpO2xldCBjPWkucHVibGljS2V5LmFsbG93Q3JlZGVudGlhbHMubGVuZ3RoPjAsZj1vIT09dm9pZCAwJiZvIT09aS5zdGF0ZW1lbnRKc29uO3JldHVybiBhKGU9Pih7Li4uZSx2aWV3OmkudmlldyxwaGFzZTplLnBoYXNlPT09YGxvYWRpbmdgP2M_YHJlYWR5YDpgYmFja3VwYDplLmJhY2t1cD9gYmFja3VwYDpgcmVhZHlgLGJ1c3k6ITEsLi4uZj97bm90aWNlOnt0b25lOmBpbmZvYCx0ZXh0OmsuY2hhbmdlZH19Ont9fSkpLCFmfSxbdF0pOygwLHkudXNlRWZmZWN0KSgoKT0-e2goITEpfSxbaF0pO2xldCBnPWFzeW5jKCk9PnUuY3VycmVudD09PXZvaWQgMHx8dS5jdXJyZW50LnN0YWxlP2gobyk6ITAsXz0odCxuKT0-e2lmKHQua2luZD09PWBkaXNtaXNzZWRgKXthKGU9Pih7Li4uZSxwaGFzZTpgcmVhZHlgLGJ1c3k6ITEsbm90aWNlOnt0b25lOmBpbmZvYCx0ZXh0OmsuY2FuY2VsbGVkfX0pKTtyZXR1cm59aWYodC5raW5kPT09YHVua25vd25gKXJldHVybiBtKGsuc3RpbGxXb3JraW5nKTtsZXR7c3RhdHVzOnJ9PXQ7aWYodS5jdXJyZW50IT09dm9pZCAwJiYobnx8ciE9PWBwcmVzZW5jZV9yZWplY3RlZGApJiYodS5jdXJyZW50LnN0YWxlPSEwKSxyPT09YGFwcGxpZWRgKXthKGU9Pih7Li4uZSxwaGFzZTpgZG9uZWAsYnVzeTohMX0pKSxmLmN1cnJlbnR8fChmLmN1cnJlbnQ9ITAsZS5vbkRvbmUoKSk7cmV0dXJufWxldCBpPShlLHQ9e30pPT5hKG49Pih7Li4ubixwaGFzZTpuLmJhY2t1cD9gYmFja3VwYDpgcmVhZHlgLGJ1c3k6ITEsLi4uZT09PXZvaWQgMD97fTp7bm90aWNlOmV9LC4uLnR9KSk7c3dpdGNoKHIpe2Nhc2VgcHJlc2VuY2VfcmVqZWN0ZWRgOnJldHVybiBpKHt0b25lOmBlcnJvcmAsdGV4dDpuP2subm90VmVyaWZpZWQ6ay53cm9uZ0NvZGV9KTtjYXNlYHZlcmlmaWNhdGlvbl9yZXF1aXJlZGA6Y2FzZWBwcmVzZW5jZV9yZXF1aXJlZGA6cmV0dXJuIGkoe3RvbmU6YGVycm9yYCx0ZXh0Omsubm90VmVyaWZpZWR9KTtjYXNlYHBhc3NrZXlfdXBkYXRlX25lZWRlZGA6cmV0dXJuIGkoe3RvbmU6YGluZm9gLHRleHQ6ay51cGRhdGVOZWVkZWR9LHtiYWNrdXA6ITAscGhhc2U6YGJhY2t1cGB9KTtjYXNlYHRyaWVzX2V4aGF1c3RlZGA6cmV0dXJuIG0oay50cmllc1VzZWQpO2Nhc2VgZXhwaXJlZGA6Y2FzZWB1bmtub3duYDpyZXR1cm4gbShrLmV4cGlyZWQpO2Nhc2Vgbm90X3BlbmRpbmdgOnJldHVybiBtKGsuZGVjaWRlZCk7Y2FzZWBjaGFuZ2VkYDppKHt0b25lOmBpbmZvYCx0ZXh0OmsuY2hhbmdlZH0pLGgobyk7cmV0dXJuO2Nhc2Vgd2FpdGA6e2xldCBlPXQucmV0cnlBZnRlciE9PXZvaWQgMCYmdC5yZXRyeUFmdGVyPjA_TWF0aC5jZWlsKHQucmV0cnlBZnRlcik6MTtyZXR1cm4gaSh7dG9uZTpgZXJyb3JgLHRleHQ6ay53YWl0LnJlcGxhY2UoYHtzZWNvbmRzfWAsU3RyaW5nKGUpKX0pfWNhc2VgYnVzeWA6cmV0dXJuIGkoe3RvbmU6YGVycm9yYCx0ZXh0OmsuYnVzeX0pO2Nhc2VgcmVmdXNlZGA6cmV0dXJuIG0ocD9rLnJlZnVzZWRMaW1pdHM6ay5yZWZ1c2VkUHJvb2YsYGVycm9yYCk7ZGVmYXVsdDpyZXR1cm4gbShrLnN0aWxsV29ya2luZyl9fSx2PSgpPT57bGV0IGU9c2V0VGltZW91dCgoKT0-YShlPT4oey4uLmUscGhhc2U6YHJlY29yZGluZ2B9KSksNDAwKTtyZXR1cm4oKT0-Y2xlYXJUaW1lb3V0KGUpfSxiPWFzeW5jKCk9PntpZihhKGU9PntsZXR7bm90aWNlOnQsLi4ubn09ZTtyZXR1cm57Li4ubixidXN5OiEwfX0pLCFhd2FpdCBnKCl8fHUuY3VycmVudD09PXZvaWQgMClyZXR1cm47bGV0e2NlcmVtb255OmUscHVibGljS2V5Om59PXUuY3VycmVudDthKGU9Pih7Li4uZSxwaGFzZTpgd2FpdGluZ2B9KSk7bGV0IHIsaT1hd2FpdCB0LmZpbmlzaFBhc3NrZXkoZSxuLCgpPT57cj12KCl9KTtyPy4oKSxfKGksITApfSx4PWFzeW5jIGU9PntpZihhKGU9PntsZXR7bm90aWNlOnQsLi4ubn09ZTtyZXR1cm57Li4ubixidXN5OiEwfX0pLCFhd2FpdCBnKCl8fHUuY3VycmVudD09PXZvaWQgMClyZXR1cm47bGV0IG49digpLHI9YXdhaXQgdC5maW5pc2hDb2RlKHUuY3VycmVudC5jZXJlbW9ueSxlKTtuKCksXyhyLCExKX0sZWU9ZT0-e3MoZSksYShlPT57bGV0e25vdGljZTp0LC4uLm59PWU7cmV0dXJuey4uLm4sYnVzeTohMH19KSxoKGUpfSx0ZT0odS5jdXJyZW50Py5wdWJsaWNLZXkuYWxsb3dDcmVkZW50aWFscy5sZW5ndGg_PzApPjA7cmV0dXJuKDAsUy5qc3gpKHJ0LHt2aWV3OmkudmlldyxwbGF0Zm9ybTpuLHBoYXNlOmkucGhhc2UsLi4uaS5ub3RpY2U9PT12b2lkIDA_e306e25vdGljZTppLm5vdGljZX0sY2xvc2VkOmkuY2xvc2VkLGNhblBhc3NrZXk6dGUsYmFja3VwOiEwLC4uLmM_e3JlbWVtYmVyOntjaGVja2VkOm8sb25DaGFuZ2U6ZWV9fTp7fSxyZWR1Y2VkTW90aW9uOnIsYnVzeTppLmJ1c3ksb25Db25maXJtOigpPT52b2lkIGIoKSxvbkNhbmNlbDplLm9uQ2xvc2Usb25Vc2VCYWNrdXA6KCk9PmEoZT0-e2xldHtub3RpY2U6dCwuLi5ufT1lO3JldHVybnsuLi5uLGJhY2t1cDohMCxwaGFzZTpgYmFja3VwYH19KSxvbkNvZGU6ZT0-dm9pZCB4KGUpLG9uQ2xvc2U6ZS5vbkNsb3NlfSl9dmFyIFhpPWBucHggLXkgQDR0aHRlY2gtaW8vYWdlbnRsaW5rYCxOPU9iamVjdC5mcmVlemUoe2Nhbm5vdEFwcHJvdmU6YFlvdXIgQUkgY2FuJ3QgYXBwcm92ZSB0aGlzIGZvciB5b3UuYCxub3RSdW5uaW5nOmBBZ2VudExpbmsgaXMgbm90IHJ1bm5pbmcuIE9wZW4gaXQgYWdhaW4gZnJvbSB5b3VyIEFJLCBvciBydW4gJHtYaX0gYXBwcm92ZSBpbiB5b3VyIG93biB0ZXJtaW5hbC5gLGZpcnN0UnVuVGl0bGU6YFByb3RlY3QgeW91ciBhcHByb3ZhbHNgLGZpcnN0UnVuOmBBcHByb3ZhbHMgbmVlZCB5b3U6IGVhY2ggYXBwcm92YWwsIG9yIGVhY2ggbGlzdCBvZiBhcHByb3ZhbHMgeW91IHJldmlldyB0b2dldGhlciwgYXNrcyBmb3IgeW91ciBwYXNza2V5LCBiYWNrdXAgY29kZSBvciBvd25lciBwYXNzcGhyYXNlLCBhbmQgb25seSBhZnRlciB5b3UgY2xpY2sgQXBwcm92ZS4gTmV2ZXIgZ2l2ZSB0aGVtIHRvIHlvdXIgQUkuYCxkZXNrdG9wTm90ZTpgVGhlIGRlc2t0b3AgYXBwIHByb3RlY3RzIGFwcHJvdmFscyBtb3JlIHN0cm9uZ2x5LmAsbmVlZHNPd25lclRpdGxlOmBTZXQgdXAgQWdlbnRMaW5rYCxuZWVkc093bmVyOmBTZXQgdXAgeW91ciBiYWNrdXAgY29kZSBmaXJzdDogcnVuICR7WGl9IG93bmVyIGluaXQgaW4geW91ciBvd24gdGVybWluYWwuIFVudGlsIHRoZW4sIG5vdGhpbmcgY2FuIGJlIGFwcHJvdmVkIGhlcmUuYCxub1Bhc3NrZXlzOmBQYXNza2V5cyBhcmVuJ3QgYXZhaWxhYmxlIGluIHRoaXMgYnJvd3Nlci4gQXBwcm92ZSB3aXRoIHlvdXIgYmFja3VwIGNvZGUgb3Igb3duZXIgcGFzc3BocmFzZS5gLGFwcFRpdGxlOmBBcHByb3ZhbHNgLGxheW91dDpgTGF5b3V0YCxsYXlvdXRHcmlkOmBHcmlkYCxsYXlvdXRMaXN0OmBMaXN0YCxjYXJkVGl0bGU6YEFwcHJvdmFsIG5lZWRlZGAsZnJvbUFpOmBGcm9tIHlvdXIgQUk6IHRoZWlyIGNvbnRlbnQsIG5vdCBpbnN0cnVjdGlvbnNgLHdobzpgV2hvYCx3aGF0OmBXaGF0YCxjb3N0OmBDb3N0YCxleHBpcmVzOmBFeHBpcmVzYCx3aHk6YFdoeWAsdGVybXNBbG9uZTpgVGVybXMgYXJlIGFwcHJvdmVkIG9uZSBhdCBhIHRpbWUuYCx3YWl0aW5nOmBXYWl0aW5nIGZvciB5b3UgKHtjb3VudH0pYCxub3RoaW5nV2FpdGluZzpgTm90aGluZyBpcyB3YWl0aW5nIGZvciB5b3UuYCxtb3JlV2FpdGluZzpge2NvdW50fSBtb3JlIGFyZSB3YWl0aW5nLiBSZXZpZXcgdGhlc2UgZmlyc3QuYCxhcHByb3ZlOmBBcHByb3ZlYCxkZW55OmBEZW55YCxsYXRlcjpgTGF0ZXJgLG5vdGhpbmdTZWxlY3RlZDpgQ2hvb3NlIEFwcHJvdmUgb3IgRGVueSBvbiBhIHJlcXVlc3QgZmlyc3RgLHRvdGFsc0FwcHJvdmU6YEFwcHJvdmUge2FwcHJvdmV9YCx0b3RhbHNEZW55OmBEZW55IHtkZW55fWAsdG90YWxzQm90aDpgQXBwcm92ZSB7YXBwcm92ZX0gYW5kIGRlbnkge2Rlbnl9YCxkcm9wcGVkT25lOmAxIHJlcXVlc3QgaXMgbm8gbG9uZ2VyIHdhaXRpbmcgYW5kIHdhcyBsZWZ0IG91dC5gLGRyb3BwZWRNYW55OmB7Y291bnR9IHJlcXVlc3RzIGFyZSBubyBsb25nZXIgd2FpdGluZyBhbmQgd2VyZSBsZWZ0IG91dC5gLG5vdGhpbmdMZWZ0OmBOb25lIG9mIHlvdXIgY2hvaWNlcyBpcyBzdGlsbCB3YWl0aW5nLiBOb3RoaW5nIHdhcyBjaGFuZ2VkLmAsY292ZXJzT25lOmBUaGlzIGNvdmVycyBleGFjdGx5IHRoaXMgb25lLiBBbnl0aGluZyBuZXcgd2FpdHMgZm9yIHlvdXIgbmV4dCByZXZpZXcuYCxjb3ZlcnNNYW55OmBUaGlzIGNvdmVycyBleGFjdGx5IHRoZXNlIHtjb3VudH0uIEFueXRoaW5nIG5ldyB3YWl0cyBmb3IgeW91ciBuZXh0IHJldmlldy5gLGxpbmVBcHByb3ZlOmBBcHByb3ZlOiB7c3VtbWFyeX1gLGxpbmVEZW55OmBEZW55OiB7c3VtbWFyeX1gLGNvbmZpcm1QYXNza2V5OmBDb25maXJtIHdpdGggeW91ciBwYXNza2V5YCxjb25maXJtOmBDb25maXJtYCxiYWNrOmBDaGFuZ2UgbXkgY2hvaWNlc2Asb3JDb2RlOmBPciB1c2UgeW91ciBiYWNrdXAgY29kZTpgLGNvZGVMYWJlbDpgQmFja3VwIGNvZGUgb3Igb3duZXIgcGFzc3BocmFzZWAsY29kZUhpbnQ6YFBhc3RlIHRoZSBiYWNrdXAgY29kZSBBZ2VudExpbmsgc2hvd2VkIHlvdSB3aGVuIHlvdSBzZXQgdXBgLHNob3c6YFNob3dgLGhpZGU6YEhpZGVgLGRvbmVBcHByb3ZlOmBEb25lOiBhcHByb3ZlZCB7YXBwcm92ZX0uYCxkb25lRGVueTpgRG9uZTogZGVuaWVkIHtkZW55fS5gLGRvbmVCb3RoOmBEb25lOiBhcHByb3ZlZCB7YXBwcm92ZX0gYW5kIGRlbmllZCB7ZGVueX0uYCxhcHByb3ZlV2l0aFBhc3NrZXk6YEFwcHJvdmUgd2l0aCB5b3VyIHBhc3NrZXlgLGRlbnlXaXRoUGFzc2tleTpgRGVueSB3aXRoIHlvdXIgcGFzc2tleWAsY29uZmlybUFwcHJvdmFsOmBDb25maXJtIGFwcHJvdmFsYCxjb25maXJtRGVuaWFsOmBDb25maXJtIGRlbmlhbGAsYXBwcm92ZWQ6YEFwcHJvdmVkLmAsZGVuaWVkOmBEZW5pZWQuYCxwcmVzZW5jZVJlcXVpcmVkOmBFbnRlciB5b3VyIGJhY2t1cCBjb2RlIG9yIG93bmVyIHBhc3NwaHJhc2UuIE5vdGhpbmcgd2FzIGNoYW5nZWQuYCxwcmVzZW5jZVJlamVjdGVkOmBUaGF0IGRpZG4ndCBtYXRjaCB5b3VyIHBhc3NrZXksIGJhY2t1cCBjb2RlIG9yIG93bmVyIHBhc3NwaHJhc2UuIE5vdGhpbmcgd2FzIGNoYW5nZWQuYCx3YWl0OmBUb28gbWFueSB3cm9uZyB0cmllcy4gV2FpdCB7c2Vjb25kc30gc2Vjb25kcywgdGhlbiB0cnkgYWdhaW4uIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFlvdSBjYW4gYWxzbyBydW4gJHtYaX0gYXBwcm92ZSBpbiB5b3VyIG93biB0ZXJtaW5hbC5gLG5vdFBlbmRpbmc6YFRoaXMgcmVxdWVzdCBpcyBubyBsb25nZXIgd2FpdGluZyBmb3IgeW91LmAsbGlzdE5vdFBlbmRpbmc6YFNvbWUgb2YgdGhlc2UgcmVxdWVzdHMgYXJlIG5vIGxvbmdlciB3YWl0aW5nIGZvciB5b3UuIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFJldmlldyB0aGUgbGlzdCBhZ2Fpbi5gLGNoYW5nZWQ6YFRoaXMgcmVxdWVzdCBjaGFuZ2VkLiBSZWxvYWQgdGhlIHBhZ2UgYW5kIGNoZWNrIGl0IGFnYWluLmAsbGlzdENoYW5nZWQ6YEEgcmVxdWVzdCBpbiB0aGlzIGxpc3QgY2hhbmdlZC4gTm90aGluZyB3YXMgY2hhbmdlZC4gUmV2aWV3IHRoZSBsaXN0IGFnYWluLmAsbGlzdFRlcm1zOmBUZXJtcyBhcmUgYXBwcm92ZWQgb25lIGF0IGEgdGltZS4gTm90aGluZyB3YXMgY2hhbmdlZC5gLGJ1c3k6YEFub3RoZXIgYXBwcm92YWwgaXMgYmVpbmcgY29uZmlybWVkLiBUcnkgYWdhaW4gaW4gYSBtb21lbnQuYCxyZWZ1c2VkOmBUaGlzIGRlY2lzaW9uIHdhcyBub3QgYXBwbGllZC4gTm90aGluZyB3YXMgY2hhbmdlZC5gLGxpc3RSZWZ1c2VkOmBUaGVzZSBkZWNpc2lvbnMgd2VyZSBub3QgYXBwbGllZC4gTm90aGluZyB3YXMgY2hhbmdlZC4gUmV2aWV3IHRoZSBsaXN0IGFnYWluLmAsbmVlZHNTZXR1cDpgU2V0IHVwIHlvdXIgYmFja3VwIGNvZGUgZmlyc3Q6IHJ1biAke1hpfSBvd25lciBpbml0IGluIHlvdXIgb3duIHRlcm1pbmFsLmAsbm90VXNlZDpgVGhlIHBhc3NrZXkgd2Fzbid0IHVzZWQuIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFlvdSBjYW4gZW50ZXIgeW91ciBiYWNrdXAgY29kZSBpbnN0ZWFkLmAscGFpZEFsb25lOmBUaGlzIGNvc3RzIGNyZWRpdHMuIEFwcHJvdmUgaXQgb24gaXRzIG93bi5gLGxpc3RQYWlkOmBBIHJlcXVlc3QgaW4gdGhpcyBsaXN0IGNvc3RzIGNyZWRpdHMgYW5kIGlzIGFwcHJvdmVkIG9uIGl0cyBvd24uIE5vdGhpbmcgd2FzIGNoYW5nZWQuIFJldmlldyB0aGUgbGlzdCBhZ2Fpbi5gLGNvbmZpcm1SZXF1aXJlZDpgVGhpcyBjb3N0cyBjcmVkaXRzLiBBcHByb3ZlIGl0IG9uIGl0cyBvd24gY2FyZC4gTm90aGluZyB3YXMgY2hhbmdlZC5gLGxvYWRpbmc6YExvYWRpbmcgeW91ciBhcHByb3ZhbHNgLHRpbWVMZWZ0OmBUaW1lIGxlZnRgLGV4cGlyZWQ6YEV4cGlyZWRgLHVuZGVyTWludXRlOmBMZXNzIHRoYW4gYSBtaW51dGUgbGVmdGAsbWludXRlc0xlZnQ6YHttaW51dGVzfSBtaW4gbGVmdGAsaG91cnNMZWZ0OmBBYm91dCB7aG91cnN9IGggbGVmdGAsaG9vZEtpbmQ6YEtpbmRgLGhvb2RFeHBpcnk6YEV4cGlyZXMgYXRgLGtpbmRSZXF1ZXN0OmBSZXF1ZXN0YCxraW5kVGVybXM6YFRlcm1zYCxraW5kUGFpZDpgQ29zdHMgY3JlZGl0c2AsaG9vZElkOmBBcHByb3ZhbCBJRGAsYXBwcm92ZWRMaW5lOmBBcHByb3ZlZDoge3N1bW1hcnl9YCxkZW5pZWRMaW5lOmBEZW5pZWQ6IHtzdW1tYXJ5fWB9KTtmdW5jdGlvbiBaaShlLHQpe3JldHVybiBlLnJlcGxhY2UoL1x7KFthLXpdKylcfS9nLChlLG4pPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKT9TdHJpbmcodFtuXSk6ZSl9dmFyIFFpPXthcHBsaWVkX2FwcHJvdmU6Ti5hcHByb3ZlZCxhcHBsaWVkX2Rlbnk6Ti5kZW5pZWQscHJlc2VuY2VfcmVxdWlyZWQ6Ti5wcmVzZW5jZVJlcXVpcmVkLHByZXNlbmNlX3JlamVjdGVkOk4ucHJlc2VuY2VSZWplY3RlZCxub3RfcGVuZGluZzpOLm5vdFBlbmRpbmcsY2hhbmdlZDpOLmNoYW5nZWQsYnVzeTpOLmJ1c3kscmVmdXNlZDpOLnJlZnVzZWQsbmVlZHNfc2V0dXA6Ti5uZWVkc1NldHVwLGNvbmZpcm1fcmVxdWlyZWQ6Ti5jb25maXJtUmVxdWlyZWR9LCRpPW5ldyBTZXQoW2BwcmVzZW5jZV9yZWplY3RlZGAsYHByZXNlbmNlX3JlcXVpcmVkYCxgYnVzeWAsYHdhaXRgXSk7ZnVuY3Rpb24gZWEoZSl7bGV0IHQ9dHlwZW9mIGU9PWBudW1iZXJgJiZlPjA_TWF0aC5jZWlsKGUpOjE7cmV0dXJuIFppKE4ud2FpdCx7c2Vjb25kczp0fSl9ZnVuY3Rpb24gdGEoZSl7cmV0dXJuIGUua2luZD09PWBvZmZsaW5lYD9OLm5vdFJ1bm5pbmc6ZS5raW5kPT09YGRpc21pc3NlZGA_Ti5ub3RVc2VkOmUuc3RhdHVzPT09YHdhaXRgP2VhKGUucmV0cnlBZnRlcik6UWlbZS5zdGF0dXM9PT1gYXBwbGllZGA_YGFwcGxpZWRfJHtlLmRlY2lzaW9uPz9gYH1gOmUuc3RhdHVzXT8_Ti5yZWZ1c2VkfXZhciBuYT04NjQwMDtmdW5jdGlvbiByYShlKXtyZXR1cm4gZTw9MD9OLmV4cGlyZWQ6ZTw2MD9OLnVuZGVyTWludXRlOmU8MzYwMD9aaShOLm1pbnV0ZXNMZWZ0LHttaW51dGVzOk1hdGguY2VpbChlLzYwKX0pOlppKE4uaG91cnNMZWZ0LHtob3VyczpNYXRoLnJvdW5kKGUvMzYwMCl9KX1mdW5jdGlvbiBpYSgpe2xldCBlPVRlKCksW3Qsbl09KDAseS51c2VTdGF0ZSkoKCk9Pk1hdGguZmxvb3IoRGF0ZS5ub3coKS8xZTMpKTtyZXR1cm4oMCx5LnVzZUVmZmVjdCkoKCk9PntpZihlKXJldHVybjtuKE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xZTMpKTtsZXQgdD1zZXRJbnRlcnZhbCgoKT0-bihNYXRoLmZsb29yKERhdGUubm93KCkvMWUzKSksNmU0KTtyZXR1cm4oKT0-Y2xlYXJJbnRlcnZhbCh0KX0sW2VdKSx0fWZ1bmN0aW9uIGFhKHtleHBpcmVzQXQ6ZX0pe2xldCB0PWlhKCksbj1NYXRoLm1heCgwLE1hdGgubWluKG5hLE1hdGguZmxvb3IoZS10KSkpO3JldHVybigwLFMuanN4KShmdCx7bGFiZWw6Ti50aW1lTGVmdCx2YWx1ZTpuLG1heDpuYSx0ZXh0OnJhKG4pLGNvdW50ZG93bjohMCxzaXplOmBzbWB9KX1mdW5jdGlvbiBvYShlKXtsZXQgdD1bXTtGbi50ZXN0KGUuYXBwcm92YWxJZCkmJnQucHVzaCh7a2luZDpgaWRgLGxhYmVsOk4uaG9vZElkLHZhbHVlOmUuYXBwcm92YWxJZH0pLHQucHVzaCh7a2luZDpgdGV4dGAsbGFiZWw6Ti5ob29kS2luZCx2YWx1ZTplLmNvbW1pdG1lbnQ_Ti5raW5kVGVybXM6ZS5wYWlkP04ua2luZFBhaWQ6Ti5raW5kUmVxdWVzdH0pO2xldCBuPW5ldyBEYXRlKGUuZXhwaXJlc0F0KjFlMyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuLmdldFRpbWUoKSkmJnQucHVzaCh7a2luZDpgdGltZWAsbGFiZWw6Ti5ob29kRXhwaXJ5LHZhbHVlOm4udG9JU09TdHJpbmcoKX0pLHR9dmFyIHNhPTE2MDA7ZnVuY3Rpb24gY2EoKXtyZXR1cm4oMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFwLW1vbWVudGAsImFyaWEtaGlkZGVuIjpgdHJ1ZWAsY2hpbGRyZW46KDAsUy5qc3gpKExlLHtraW5kOmBhcHByb3ZlZGB9KX0pfWZ1bmN0aW9uIFAoe2xpbmVzOmV9KXtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6KDAsUy5qc3gpKFMuRnJhZ21lbnQse2NoaWxkcmVuOmUubWFwKChlLHQpPT4oMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXN0YXR1c2Ascm9sZTpgc3RhdHVzYCxjaGlsZHJlbjplfSx0KSl9KX1mdW5jdGlvbiBGKHtpdGVtOmV9KXtsZXQgdD1lLmRldGFpbHM7cmV0dXJuKDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1hcHByb3ZhbC10b3BgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLWFwcHJvdmFsLXR5cGVgLGNoaWxkcmVuOk4uY2FyZFRpdGxlfSksKDAsUy5qc3gpKGFhLHtleHBpcmVzQXQ6ZS5leHBpcmVzQXR9KV19KSx0PT09dm9pZCAwPygwLFMuanN4KShgaDJgLHtjaGlsZHJlbjplLnN1bW1hcnl9KTooMCxTLmpzeHMpKFMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxTLmpzeCkoYGgyYCx7Y2hpbGRyZW46dC5oZWFkbGluZT8_dC53aGF0fSksKDAsUy5qc3gpKGBkbGAse2NsYXNzTmFtZTpgYWwtYXBwcm92YWwtcm93c2AsY2hpbGRyZW46W1tOLndobyx0Lndob10sW04ud2hhdCx0LndoYXRdLFtOLmNvc3QsdC5jb3N0XSxbTi5leHBpcmVzLHQuZXhwaXJlc10sW04ud2h5LHQucnVsZV1dLm1hcCgoW2UsdF0pPT4oMCxTLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFyb3dgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYGR0YCx7Y2hpbGRyZW46ZX0pLCgwLFMuanN4KShgZGRgLHtjaGlsZHJlbjp0fSldfSxlKSl9KSx0LnRlcm1zIT09dm9pZCAwJiZ0LnRlcm1zLmxlbmd0aD4wPygwLFMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC10ZXJtc2AsY2hpbGRyZW46dC50ZXJtcy5tYXAoKGUsdCk9PigwLFMuanN4KShgcGAse2NoaWxkcmVuOmV9LHQpKX0pOm51bGwsdC5mcm9tQWkubGVuZ3RoPjA_KDAsUy5qc3hzKShgZmlndXJlYCx7Y2xhc3NOYW1lOmBhbC11bnRydXN0ZWRgLHJvbGU6YGdyb3VwYCwiYXJpYS1sYWJlbCI6Ti5mcm9tQWksY2hpbGRyZW46WygwLFMuanN4KShgZmlnY2FwdGlvbmAse2NsYXNzTmFtZTpgYWwtdW50cnVzdGVkLWxhYmVsYCxjaGlsZHJlbjpOLmZyb21BaX0pLCgwLFMuanN4KShgZGxgLHtjbGFzc05hbWU6YGFsLXVudHJ1c3RlZC1ib2R5YCxjaGlsZHJlbjp0LmZyb21BaS5tYXAoKGUsdCk9PigwLFMuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxTLmpzeCkoYGR0YCx7Y2hpbGRyZW46ZS5uYW1lfSksKDAsUy5qc3gpKGBkZGAse2NoaWxkcmVuOigwLFMuanN4KShgcHJlYCx7Y2hpbGRyZW46ZS52YWx1ZX0pfSldfSx0KSl9KV19KTpudWxsXX0pXX0pfWZ1bmN0aW9uIEkoKXtyZXR1cm4oMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLWFwcHJvdmFsLWZvb3RgLGNoaWxkcmVuOk4uY2Fubm90QXBwcm92ZX0pfWZ1bmN0aW9uIGxhKHtsYWJlbDplLHN1Ym1pdDp0LG9uQ29kZTpufSl7bGV0IHI9KDAseS51c2VJZCkoKSxpPWAke3J9LWhpbnRgLGE9KDAseS51c2VSZWYpKG51bGwpLFtvLHNdPSgwLHkudXNlU3RhdGUpKCExKSxbYyxsXT0oMCx5LnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsUy5qc3hzKShgZm9ybWAse2NsYXNzTmFtZTpgYWwtZmllbGQgYWwtY29kZWAsb25TdWJtaXQ6ZT0-e2UucHJldmVudERlZmF1bHQoKTtsZXQgdD1hLmN1cnJlbnQ7aWYodD09PW51bGx8fGMpcmV0dXJuO2xldCByPXQudmFsdWU7dC52YWx1ZT1gYCxzKCExKSxsKCEwKSxuKHIpLmZpbmFsbHkoKCk9PmwoITEpKX0sY2hpbGRyZW46WygwLFMuanN4KShgbGFiZWxgLHtjbGFzc05hbWU6YGFsLWZpZWxkLWxhYmVsYCxodG1sRm9yOnIsY2hpbGRyZW46ZX0pLCgwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtaW5wdXQtd3JhcGAsY2hpbGRyZW46WygwLFMuanN4KShgaW5wdXRgLHtyZWY6YSxpZDpyLGNsYXNzTmFtZTpgYWwtaW5wdXQgYWwtbW9ub2AsdHlwZTpvP2B0ZXh0YDpgcGFzc3dvcmRgLGF1dG9Db21wbGV0ZTpgb2ZmYCxzcGVsbENoZWNrOiExLGF1dG9DYXBpdGFsaXplOmBvZmZgLGF1dG9Db3JyZWN0OmBvZmZgLCJhcmlhLWRlc2NyaWJlZGJ5IjpgJHtpfSAke2l9LWVhcmxpZXJgfSksKDAsUy5qc3gpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLGNsYXNzTmFtZTpgYWwtYnRuIGFsLWJ0bi1naG9zdCBhbC1idG4tc20gYWwtdG9nZ2xlYCwiYXJpYS1wcmVzc2VkIjpvLCJhcmlhLWNvbnRyb2xzIjpyLG9uQ2xpY2s6KCk9PnMoZT0-IWUpLGNoaWxkcmVuOm8_Ti5oaWRlOk4uc2hvd30pXX0pLCgwLFMuanN4KShgcGAse2lkOmksY2xhc3NOYW1lOmBhbC1maWVsZC1oaW50YCxjaGlsZHJlbjpOLmNvZGVIaW50fSksKDAsUy5qc3gpKGBwYCx7aWQ6YCR7aX0tZWFybGllcmAsY2xhc3NOYW1lOmBhbC1maWVsZC1oaW50YCxjaGlsZHJlbjpZdH0pLCgwLFMuanN4KSh1LHt0eXBlOmBzdWJtaXRgLHZhcmlhbnQ6YHByaW1hcnlgLHNpemU6YGxnYCxibG9jazohMCxkaXNhYmxlZDpjLGNoaWxkcmVuOnR9KV19KX1mdW5jdGlvbiB1YSh7cGFzc2tleTplLHBhc3NrZXlMYWJlbDp0LGNvZGVTdWJtaXQ6bixsYWJlbDpyLG9uUGFzc2tleTppLG9uQ29kZTphLGNoaWxkcmVuOm99KXtsZXQgcz0oMCx5LnVzZVJlZikobnVsbCksW2MsbF09KDAseS51c2VTdGF0ZSkoITEpO3JldHVybigwLHkudXNlRWZmZWN0KSgoKT0-e3MuY3VycmVudD8uZm9jdXMoKX0sW10pLCgwLFMuanN4cykoYGRpdmAse3JlZjpzLGNsYXNzTmFtZTpgYWwtc3RlcGAscm9sZTpgZ3JvdXBgLCJhcmlhLWxhYmVsIjpyLHRhYkluZGV4Oi0xLGNoaWxkcmVuOltvLGU_KDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3gpKHUse3ZhcmlhbnQ6YHByaW1hcnlgLHNpemU6YGxnYCxibG9jazohMCxkaXNhYmxlZDpjLG9uQ2xpY2s6KCk9PntsKCEwKSxpKCkuZmluYWxseSgoKT0-bCghMSkpfSxjaGlsZHJlbjp0fSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC1vcmAsY2hpbGRyZW46Ti5vckNvZGV9KV19KTpudWxsLCgwLFMuanN4KShsYSx7bGFiZWw6Ti5jb2RlTGFiZWwsc3VibWl0Om4sb25Db2RlOmF9KV19KX1mdW5jdGlvbiBkYSh7aXRlbTplLG93bmVyOnQsY2xpZW50Om4sc2hlZXQ6cixvbkRlY2lkZWQ6aSxvbkxlZnQ6YX0pe2xldFtvLHNdPSgwLHkudXNlU3RhdGUpKHZvaWQgMCksW2MsbF09KDAseS51c2VTdGF0ZSkoITApLFtmLHBdPSgwLHkudXNlU3RhdGUpKFtdKSxbbSxoXT0oMCx5LnVzZVN0YXRlKSghMSksW2csX109KDAseS51c2VTdGF0ZSkodm9pZCAwKSx2PWU9PnAodD0-Wy4uLnQsZV0pLFtiLHhdPSgwLHkudXNlU3RhdGUpKCEwKSxlZT1nIT09dm9pZCAwJiYhbTsoMCx5LnVzZUVmZmVjdCkoKCk9PntpZighZWUpcmV0dXJuO2xldCBlPXNldFRpbWVvdXQoKCk9PngoITEpLHNhKTtyZXR1cm4oKT0-Y2xlYXJUaW1lb3V0KGUpfSxbZWVdKTtsZXQgdGU9emUoYix7b25Hb25lOigpPT5hPy4oWmkoZz09PWBkZW5pZWRgP04uZGVuaWVkTGluZTpOLmFwcHJvdmVkTGluZSx7c3VtbWFyeTplLnN1bW1hcnl9KSl9KSxDPWU9PntlLmtpbmQ9PT1gZGlzbWlzc2VkYD92KE4ubm90VXNlZCk6KHModm9pZCAwKSxlLmtpbmQ9PT1gc3RhdHVzYCYmZS5zdGF0dXM9PT1gYXBwbGllZGAmJihlLmRlY2lzaW9uPT09YGFwcHJvdmVgP18oYGFwcHJvdmVkYCk6ZS5kZWNpc2lvbj09PWBkZW55YCYmXyhgZGVuaWVkYCksaT8uKCkpLHYodGEoZSkpLGUua2luZD09PWBzdGF0dXNgJiYkaS5oYXMoZS5zdGF0dXMpJiZsKCEwKSl9LG5lPXQ9PntlLnBhaWQmJnQ9PT1gYXBwcm92ZWA_aCghMCk6KGwoITEpLHModCkpfTtyZXR1cm4gdGUubW91bnRlZD8oMCxTLmpzeCkoYGRpdmAse3JlZjp0ZS5yZWYsY2xhc3NOYW1lOmBhcC1sZWF2ZWAsY2hpbGRyZW46KDAsUy5qc3hzKShkLHthczpgc2VjdGlvbmAsbGV2ZWw6byE9PXZvaWQgMHx8bT8yOjEsY2xhc3NOYW1lOmBhbC1hcHByb3ZhbGAsLi4uRm4udGVzdChlLmFwcHJvdmFsSWQpP3siZGF0YS1hcHByb3ZhbCI6ZS5hcHByb3ZhbElkfTp7fSwuLi5nPT09dm9pZCAwP3t9OnsiZGF0YS1vdXRjb21lIjpnfSxjaGlsZHJlbjpbKDAsUy5qc3gpKEYse2l0ZW06ZX0pLGUuY29tbWl0bWVudD8oMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLW5vdGVgLGNoaWxkcmVuOk4udGVybXNBbG9uZX0pOm51bGwsZS5wYWlkPygwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtbm90ZWAsY2hpbGRyZW46Ti5wYWlkQWxvbmV9KTpudWxsLCgwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2xvdGAsY2hpbGRyZW46W3QucmVhZHkmJmM_KDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1hcHByb3ZhbC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsUy5qc3gpKHUse3NpemU6YGxnYCxvbkNsaWNrOigpPT5uZShgZGVueWApLGNoaWxkcmVuOk4uZGVueX0pLCgwLFMuanN4KSh1LHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2Asb25DbGljazooKT0-bmUoYGFwcHJvdmVgKSxjaGlsZHJlbjpOLmFwcHJvdmV9KV19KTpudWxsLGc9PT1gYXBwcm92ZWRgPygwLFMuanN4KShjYSx7fSk6bnVsbCwoMCxTLmpzeCkoUCx7bGluZXM6Zn0pLG89PT12b2lkIDA_bnVsbDooMCxTLmpzeCkodWEse3Bhc3NrZXk6dC5wYXNza2V5IT09dm9pZCAwLHBhc3NrZXlMYWJlbDpvPT09YGFwcHJvdmVgP04uYXBwcm92ZVdpdGhQYXNza2V5Ok4uZGVueVdpdGhQYXNza2V5LGNvZGVTdWJtaXQ6bz09PWBhcHByb3ZlYD9OLmNvbmZpcm1BcHByb3ZhbDpOLmNvbmZpcm1EZW5pYWwsbGFiZWw6bz09PWBhcHByb3ZlYD9OLmNvbmZpcm1BcHByb3ZhbDpOLmNvbmZpcm1EZW5pYWwsb25QYXNza2V5OmFzeW5jKCk9Pnt0LnBhc3NrZXkhPT12b2lkIDAmJkMoYXdhaXQgbi5kZWNpZGUoZSxvLHtraW5kOmBwYXNza2V5YCxwYXNza2V5OnQucGFzc2tleX0pKX0sb25Db2RlOmFzeW5jIHQ9PkMoYXdhaXQgbi5kZWNpZGUoZSxvLHtraW5kOmBjb2RlYCxjb2RlOnR9KSl9KV19KSwoMCxTLmpzeCkoSSx7fSksKDAsUy5qc3gpKElpLHtmaWVsZHM6b2EoZSl9KSxtPygwLFMuanN4KShZaSx7Li4uci5wYXlDb25maXJtPT09dm9pZCAwP3t9OntjbGllbnQ6ci5wYXlDb25maXJtfSwuLi5yLnBsYXRmb3JtPT09dm9pZCAwP3t9OntwbGF0Zm9ybTpyLnBsYXRmb3JtfSwuLi5yLnJlZHVjZWRNb3Rpb249PT12b2lkIDA_e306e3JlZHVjZWRNb3Rpb246ci5yZWR1Y2VkTW90aW9ufSxpbnB1dDp7ZmxvdzpgcHJvb2ZgLGFwcHJvdmFsSWQ6ZS5hcHByb3ZhbElkfSxvbkRvbmU6KCk9PntsKCExKSxfKGBhcHByb3ZlZGApLHYoTi5hcHByb3ZlZCksaT8uKCl9LG9uQ2xvc2U6KCk9PmgoITEpfSk6bnVsbF19KX0pOm51bGx9dmFyIGZhPTIwO2Z1bmN0aW9uIHBhKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZgUHVibGljS2V5Q3JlZGVudGlhbGBpbiB3aW5kb3cmJnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IuY3JlZGVudGlhbHMhPT12b2lkIDB9ZnVuY3Rpb24gbWEoZSx0KXtsZXRbbixyXT0oMCx5LnVzZVN0YXRlKSh2b2lkIDApO3JldHVybigwLHkudXNlRWZmZWN0KSgoKT0-e2xldCBuPSEwO3JldHVybiBlLnBhc3NrZXkoKS50aGVuKGU9PntuJiYoZS5raW5kPT09YG5lZWRzX293bmVyYD9yKHtyZWFkeTohMSxvZmZlcmVkOiExfSk6cih7cmVhZHk6ITAsb2ZmZXJlZDplLm9mZmVyZWQsLi4udCYmZS5wYXNza2V5IT09dm9pZCAwP3twYXNza2V5OmUucGFzc2tleX06e319KSl9KSwoKT0-e249ITF9fSxbZSx0XSksbn1mdW5jdGlvbiBoYSh7b3duZXI6ZSxjYW5QYXNza2V5OnQsbmVlZHNPd25lck9ubHk6bj0hMX0pe3JldHVybiBlLnJlYWR5P258fGUucGFzc2tleSE9PXZvaWQgMHx8dCYmZS5vZmZlcmVkP251bGw6KDAsUy5qc3hzKShkLHthczpgc2VjdGlvbmAsbGV2ZWw6MSxjbGFzc05hbWU6YGFsLXBhbmVsYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBoMmAse2NoaWxkcmVuOk4uZmlyc3RSdW5UaXRsZX0pLCgwLFMuanN4KShgcGAse2NoaWxkcmVuOk4uZmlyc3RSdW59KSwoMCxTLmpzeCkoYHBgLHtjaGlsZHJlbjpOLm5vUGFzc2tleXN9KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLW5vdGVgLGNoaWxkcmVuOk4uZGVza3RvcE5vdGV9KV19KTooMCxTLmpzeHMpKGQse2FzOmBzZWN0aW9uYCxsZXZlbDoxLGNsYXNzTmFtZTpgYWwtcGFuZWxgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYGgyYCx7Y2hpbGRyZW46Ti5uZWVkc093bmVyVGl0bGV9KSwoMCxTLmpzeCkoYHBgLHtjaGlsZHJlbjpOLm5lZWRzT3duZXJ9KV19KX1mdW5jdGlvbiBnYSh7bGluZXM6ZX0pe2xldCB0PSgwLHkudXNlUmVmKShudWxsKTtyZXR1cm4oMCx5LnVzZUVmZmVjdCkoKCk9PntpZihlLmxlbmd0aD09PTApcmV0dXJuO2xldCBuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7KG49PT1udWxsfHxuPT09ZG9jdW1lbnQuYm9keSkmJnQuY3VycmVudD8uZm9jdXMoKX0sW2UubGVuZ3RoXSksZS5sZW5ndGg9PT0wP251bGw6KDAsUy5qc3gpKFMuRnJhZ21lbnQse2NoaWxkcmVuOmUubWFwKChuLHIpPT4oMCxTLmpzeCkoYHBgLHtyZWY6cj09PWUubGVuZ3RoLTE_dDp2b2lkIDAsY2xhc3NOYW1lOmBhbC1zdGF0dXMgYXAtcmVzdWx0YCx0YWJJbmRleDotMSxjaGlsZHJlbjpufSxyKSl9KX1mdW5jdGlvbiBfYSh7ZW5kOmV9PXt9KXtyZXR1cm4oMCxTLmpzeHMpKFMuRnJhZ21lbnQse2NoaWxkcmVuOltlPT09dm9pZCAwPygwLFMuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46Ti5hcHBUaXRsZX0pOigwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYXAtdGl0bGUtcm93YCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBoMWAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0xYCxjaGlsZHJlbjpOLmFwcFRpdGxlfSksZV19KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLWxlZGVgLGNoaWxkcmVuOk4uY2Fubm90QXBwcm92ZX0pXX0pfWZ1bmN0aW9uIHZhKHt2YWx1ZTplLG9uQ2hhbmdlOnR9KXtsZXQgbj0oMCx5LnVzZUlkKSgpO3JldHVybigwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYXAtbGF5b3V0YCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBzcGFuYCx7aWQ6bixjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhcC1sYXlvdXQtbGFiZWxgLGNoaWxkcmVuOk4ubGF5b3V0fSksKDAsUy5qc3gpKGMse2xhYmVsOk4ubGF5b3V0LGxhYmVsbGVkQnk6bixvcHRpb25zOlt7dmFsdWU6YGdyaWRgLGxhYmVsOk4ubGF5b3V0R3JpZH0se3ZhbHVlOmBsaXN0YCxsYWJlbDpOLmxheW91dExpc3R9XSx2YWx1ZTplLG9uQ2hhbmdlOmU9PnQoZT09PWBsaXN0YD9gbGlzdGA6YGdyaWRgKX0pXX0pfWZ1bmN0aW9uIHlhKGUsdCl7cmV0dXJuIGUuZXhwaXJlc0F0PT09dC5leHBpcmVzQXQ_ZS5hcHByb3ZhbElkPHQuYXBwcm92YWxJZD8tMTorKGUuYXBwcm92YWxJZD50LmFwcHJvdmFsSWQpOmUuZXhwaXJlc0F0LXQuZXhwaXJlc0F0fWZ1bmN0aW9uIGJhKGUpe2xldCB0PWUuZmlsdGVyKGU9PmUuZGVjaXNpb249PT1gYXBwcm92ZWApLmxlbmd0aDtyZXR1cm57YXBwcm92ZTp0LGRlbnk6ZS5sZW5ndGgtdH19ZnVuY3Rpb24geGEoZSl7cmV0dXJuIGUuZGVueT09PTA_WmkoTi50b3RhbHNBcHByb3ZlLHthcHByb3ZlOmUuYXBwcm92ZX0pOmUuYXBwcm92ZT09PTA_WmkoTi50b3RhbHNEZW55LHtkZW55OmUuZGVueX0pOlppKE4udG90YWxzQm90aCx7YXBwcm92ZTplLmFwcHJvdmUsZGVueTplLmRlbnl9KX1mdW5jdGlvbiBTYShlKXtyZXR1cm4gZS5kZW55PT09MD9aaShOLmRvbmVBcHByb3ZlLHthcHByb3ZlOmUuYXBwcm92ZX0pOmUuYXBwcm92ZT09PTA_WmkoTi5kb25lRGVueSx7ZGVueTplLmRlbnl9KTpaaShOLmRvbmVCb3RoLHthcHByb3ZlOmUuYXBwcm92ZSxkZW55OmUuZGVueX0pfXZhciBDYT17cHJlc2VuY2VfcmVxdWlyZWQ6Ti5wcmVzZW5jZVJlcXVpcmVkLHByZXNlbmNlX3JlamVjdGVkOk4ucHJlc2VuY2VSZWplY3RlZCxub3RfcGVuZGluZzpOLmxpc3ROb3RQZW5kaW5nLGNoYW5nZWQ6Ti5saXN0Q2hhbmdlZCxjb21taXRtZW50Ok4ubGlzdFRlcm1zLHBhaWRfaXRlbV9pbl9iYXRjaDpOLmxpc3RQYWlkLGJ1c3k6Ti5idXN5LHJlZnVzZWQ6Ti5saXN0UmVmdXNlZCxpbnZhbGlkOk4ubGlzdFJlZnVzZWQsbmVlZHNfc2V0dXA6Ti5uZWVkc1NldHVwfSx3YT1uZXcgU2V0KFtgcHJlc2VuY2VfcmVqZWN0ZWRgLGBwcmVzZW5jZV9yZXF1aXJlZGAsYGJ1c3lgLGB3YWl0YF0pO2Z1bmN0aW9uIFRhKGUpe3JldHVybiBlLmtpbmQ9PT1gb2ZmbGluZWA_Ti5ub3RSdW5uaW5nOmUua2luZD09PWBkaXNtaXNzZWRgP04ubm90VXNlZDplLnN0YXR1cz09PWB3YWl0YD9lYShlLnJldHJ5QWZ0ZXIpOkNhW2Uuc3RhdHVzXT8_Ti5saXN0UmVmdXNlZH1mdW5jdGlvbiBFYSh7aXRlbTplLHZhbHVlOnQsZGlzYWJsZWQ6bixvbkNoYW5nZTpyfSl7bGV0IGk9W1tgYXBwcm92ZWAsTi5hcHByb3ZlXSxbYGRlbnlgLE4uZGVueV0sW2BsYXRlcmAsTi5sYXRlcl1dO3JldHVybigwLFMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1jaG9pY2VzYCxyb2xlOmByYWRpb2dyb3VwYCxjaGlsZHJlbjppLm1hcCgoW2ksYV0pPT4oMCxTLmpzeHMpKGBsYWJlbGAse2NsYXNzTmFtZTpgYWwtY2hvaWNlYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBpbnB1dGAse3R5cGU6YHJhZGlvYCxuYW1lOmBjaG9pY2UtJHtlLmFwcHJvdmFsSWR9YCx2YWx1ZTppLGNoZWNrZWQ6KHQ_P2BsYXRlcmApPT09aSxkaXNhYmxlZDpuLG9uQ2hhbmdlOigpPT5yKGk9PT1gbGF0ZXJgP3ZvaWQgMDppKX0pLCgwLFMuanN4KShgc3BhbmAse2NoaWxkcmVuOmF9KV19LGkpKX0pfWZ1bmN0aW9uIERhKHtrZXB0OmUsb3duZXI6dCxjbGllbnQ6bixvbkJhY2s6cixvbkZpbmlzaGVkOml9KXtsZXRbYSxvXT0oMCx5LnVzZVN0YXRlKShbXSkscz1lPT5vKHQ9PlsuLi50LGVdKSxjPXQ9Pnt0LmtpbmQ9PT1gc3RhdHVzYCYmdC5zdGF0dXM9PT1gYXBwbGllZGA_aShTYShiYShlKSksYmEoZSkuYXBwcm92ZSxlLmxlbmd0aCk6KHMoVGEodCkpLHQua2luZD09PWBzdGF0dXNgJiYhd2EuaGFzKHQuc3RhdHVzKSYmaShUYSh0KSwwLDApKX07cmV0dXJuKDAsUy5qc3hzKShkLHtsZXZlbDoyLGNsYXNzTmFtZTpgYWwtcGFuZWxgLGNoaWxkcmVuOlsoMCxTLmpzeCkodWEse3Bhc3NrZXk6dC5wYXNza2V5IT09dm9pZCAwLHBhc3NrZXlMYWJlbDpOLmNvbmZpcm1QYXNza2V5LGNvZGVTdWJtaXQ6Ti5jb25maXJtLGxhYmVsOk4uY29uZmlybSxvblBhc3NrZXk6YXN5bmMoKT0-e3QucGFzc2tleSE9PXZvaWQgMCYmYyhhd2FpdCBuLnJldmlldyhlLHtraW5kOmBwYXNza2V5YCxwYXNza2V5OnQucGFzc2tleX0pKX0sb25Db2RlOmFzeW5jIHQ9PmMoYXdhaXQgbi5yZXZpZXcoZSx7a2luZDpgY29kZWAsY29kZTp0fSkpLGNoaWxkcmVuOigwLFMuanN4cykoUy5GcmFnbWVudCx7Y2hpbGRyZW46WygwLFMuanN4KShgdWxgLHtjbGFzc05hbWU6YGFsLWxpbmVzYCxjaGlsZHJlbjplLm1hcChlPT4oMCxTLmpzeCkoYGxpYCx7Y2hpbGRyZW46WmkoZS5kZWNpc2lvbj09PWBhcHByb3ZlYD9OLmxpbmVBcHByb3ZlOk4ubGluZURlbnkse3N1bW1hcnk6ZS5pdGVtLnN1bW1hcnl9KX0sZS5pdGVtLmFwcHJvdmFsSWQpKX0pLCgwLFMuanN4KShgcGAse2NoaWxkcmVuOmUubGVuZ3RoPT09MT9OLmNvdmVyc09uZTpaaShOLmNvdmVyc01hbnkse2NvdW50OmUubGVuZ3RofSl9KV19KX0pLCgwLFMuanN4KShQLHtsaW5lczphfSksKDAsUy5qc3gpKHUse3ZhcmlhbnQ6YGdob3N0YCxibG9jazohMCxvbkNsaWNrOnIsY2hpbGRyZW46Ti5iYWNrfSldfSl9ZnVuY3Rpb24gT2Eoe293bmVyOmUsY2xpZW50OnQsc2hlZXQ6bn0pe2xldFtyLGldPSgwLHkudXNlU3RhdGUpKHtraW5kOmBsb2FkaW5nYH0pLFthLG9dPSgwLHkudXNlU3RhdGUpKDApLFtzLGNdPSgwLHkudXNlU3RhdGUpKHt9KSxbbCxmXT0oMCx5LnVzZVN0YXRlKShbXSksW3AsbV09KDAseS51c2VTdGF0ZSkoITEpLFtoLGddPSgwLHkudXNlU3RhdGUpKHZvaWQgMCksW18sdl09KDAseS51c2VTdGF0ZSkoITEpLFtiLHhdPSgwLHkudXNlU3RhdGUpKG5ldyBTZXQpLFtlZSx0ZV09KDAseS51c2VTdGF0ZSkoW10pLEM9ZT0-Zih0PT5bLi4udCxlXSk7KDAseS51c2VFZmZlY3QpKCgpPT57bGV0IGU9ITA7cmV0dXJuIHQubGlzdCgpLnRoZW4odD0-e2UmJihjKHt9KSxnKHZvaWQgMCksbSghMSkseChuZXcgU2V0KSxpKHQua2luZD09PWBva2A_e2tpbmQ6YG9rYCxhbGw6Wy4uLnQuaXRlbXNdLnNvcnQoeWEpfTp7a2luZDpgb2ZmbGluZWB9KSl9KSwoKT0-e2U9ITF9fSxbdCxhXSk7bGV0IG5lPSgwLHkudXNlQ2FsbGJhY2spKCgpPT5vKGU9PmUrMSksW10pLHc9ci5raW5kPT09YG9rYD9yLmFsbC5maWx0ZXIoZT0-IWIuaGFzKGUuYXBwcm92YWxJZCkpLmxlbmd0aDp2b2lkIDA7KDAseS51c2VFZmZlY3QpKCgpPT57dyE9PXZvaWQgMCYmWG4odyl9LFt3XSk7bGV0IHJlPWU9PngodD0-bmV3IFNldChbLi4udCxlXSkpLGllPShlLHQpPT57dGUoZT0-Wy4uLmUsdF0pLGkodD0-dC5raW5kPT09YG9rYD97a2luZDpgb2tgLGFsbDp0LmFsbC5maWx0ZXIodD0-dC5hcHByb3ZhbElkIT09ZSl9OnQpfTtpZihyLmtpbmQ9PT1gbG9hZGluZ2ApcmV0dXJuKDAsUy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWxpc3RgLGNoaWxkcmVuOigwLFMuanN4KShwdCx7bG9hZGluZzohMCxsYWJlbDpOLmxvYWRpbmcsbGluZXM6NH0pfSk7aWYoci5raW5kPT09YG9mZmxpbmVgKXJldHVybigwLFMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1saXN0YCxjaGlsZHJlbjooMCxTLmpzeCkoUCx7bGluZXM6W04ubm90UnVubmluZ119KX0pO2xldCBhZT1yLmFsbCxvZT1hZS5zbGljZSgwLGZhKSxzZT1vZS5maWx0ZXIoZT0-c1tlLmFwcHJvdmFsSWRdIT09dm9pZCAwKS5tYXAoZT0-KHtpdGVtOmUsZGVjaXNpb246c1tlLmFwcHJvdmFsSWRdfSkpLGNlPXB8fGghPT12b2lkIDAsbGU9YXN5bmMoKT0-e2lmKHNlLmxlbmd0aD09PTApcmV0dXJuO2YoW10pLHYoITEpLG0oITApO2xldCBlPWF3YWl0IHQubGlzdCgpO2lmKGUua2luZCE9PWBva2Ape0MoTi5ub3RSdW5uaW5nKSxtKCExKTtyZXR1cm59bGV0IG49bmV3IE1hcChlLml0ZW1zLm1hcChlPT5bZS5hcHByb3ZhbElkLGUuYWN0aW9uRGlnZXN0XSkpLHI9c2UuZmlsdGVyKGU9Pm4uZ2V0KGUuaXRlbS5hcHByb3ZhbElkKT09PWUuaXRlbS5hY3Rpb25EaWdlc3QmJiFlLml0ZW0uY29tbWl0bWVudCYmIWUuaXRlbS5wYWlkKSxpPXNlLmxlbmd0aC1yLmxlbmd0aDtpPT09MT9DKE4uZHJvcHBlZE9uZSk6aT4xJiZDKFppKE4uZHJvcHBlZE1hbnkse2NvdW50Oml9KSksci5sZW5ndGg9PT0wPyhDKE4ubm90aGluZ0xlZnQpLG5lKCkpOihtKCExKSxnKHIpKX07cmV0dXJuKDAsUy5qc3hzKShTLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1ub3RpY2VzYCxjaGlsZHJlbjpbXz8oMCxTLmpzeCkoY2Ese30pOm51bGwsKDAsUy5qc3gpKGdhLHtsaW5lczplZX0pLCgwLFMuanN4KShQLHtsaW5lczpsfSldfSksKDAsUy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1saXN0YCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBoMmAse2NsYXNzTmFtZTpgYWwtc2VjdGlvbi10aXRsZWAsY2hpbGRyZW46WmkoTi53YWl0aW5nLHtjb3VudDphZS5sZW5ndGh9KX0pLGFlLmxlbmd0aD09PTA_KDAsUy5qc3gpKFAse2xpbmVzOltOLm5vdGhpbmdXYWl0aW5nXX0pOm51bGwsb2UubGVuZ3RoPT09MD9udWxsOigwLFMuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhcC1jYXJkc2AsY2hpbGRyZW46b2UubWFwKHI9PnIuY29tbWl0bWVudHx8ci5wYWlkfHwhZS5yZWFkeT8oMCxTLmpzeCkoZGEse2l0ZW06cixvd25lcjplLGNsaWVudDp0LHNoZWV0Om4sb25EZWNpZGVkOigpPT5yZShyLmFwcHJvdmFsSWQpLG9uTGVmdDplPT5pZShyLmFwcHJvdmFsSWQsZSl9LGAke2F9LSR7ci5hcHByb3ZhbElkfWApOigwLFMuanN4cykoZCx7YXM6YHNlY3Rpb25gLGxldmVsOnNbci5hcHByb3ZhbElkXT09PXZvaWQgMD8xOjIsY2xhc3NOYW1lOmBhbC1hcHByb3ZhbGAsImRhdGEtYXBwcm92YWwiOnIuYXBwcm92YWxJZCxjaGlsZHJlbjpbKDAsUy5qc3gpKEYse2l0ZW06cn0pLCgwLFMuanN4KShFYSx7aXRlbTpyLHZhbHVlOnNbci5hcHByb3ZhbElkXSxkaXNhYmxlZDpjZSxvbkNoYW5nZTplPT5jKHQ9PntsZXQgbj17Li4udH07cmV0dXJuIGU9PT12b2lkIDA_ZGVsZXRlIG5bci5hcHByb3ZhbElkXTpuW3IuYXBwcm92YWxJZF09ZSxufSl9KSwoMCxTLmpzeCkoSSx7fSksKDAsUy5qc3gpKElpLHtmaWVsZHM6b2Eocil9KV19LHIuYXBwcm92YWxJZCkpfSksYWUubGVuZ3RoPm9lLmxlbmd0aD8oMCxTLmpzeCkoUCx7bGluZXM6W1ppKE4ubW9yZVdhaXRpbmcse2NvdW50OmFlLmxlbmd0aC1vZS5sZW5ndGh9KV19KTpudWxsLGUucmVhZHkmJmFlLmxlbmd0aD4wPygwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtYmFyYCxjaGlsZHJlbjpbY2U_bnVsbDooMCxTLmpzeCkodSx7dmFyaWFudDpgcHJpbWFyeWAsc2l6ZTpgbGdgLGJsb2NrOiEwLGRpc2FibGVkOnNlLmxlbmd0aD09PTAsb25DbGljazooKT0-dm9pZCBsZSgpLGNoaWxkcmVuOnNlLmxlbmd0aD09PTA_Ti5ub3RoaW5nU2VsZWN0ZWQ6eGEoYmEoc2UpKX0pLGg9PT12b2lkIDA_bnVsbDooMCxTLmpzeCkoRGEse2tlcHQ6aCxvd25lcjplLGNsaWVudDp0LG9uQmFjazooKT0-Zyh2b2lkIDApLG9uRmluaXNoZWQ6KGUsdCxuKT0-e1puKG4pLEMoZSksdih0PjApLG5lKCl9fSldfSk6bnVsbF19KV19KX1mdW5jdGlvbiBrYSh7Y2xpZW50OmUscGF5Q29uZmlybTp0LGNhblBhc3NrZXk6bixwbGF0Zm9ybTpyLHJlZHVjZWRNb3Rpb246aX0pe2xldCBhPSgwLHkudXNlTWVtbykoKCk9PmU_P0duKCksW2VdKSxvPW4_P3BhKCkscz1tYShhLG8pLHthcHByb3ZhbHNMYXlvdXQ6Y309R3QoKSxsPXsuLi50PT09dm9pZCAwP3t9OntwYXlDb25maXJtOnR9LC4uLnI9PT12b2lkIDA_e306e3BsYXRmb3JtOnJ9LC4uLmk9PT12b2lkIDA_e306e3JlZHVjZWRNb3Rpb246aX19O3JldHVybigwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtYXBwcm92YWxzYCwiZGF0YS1sYXlvdXQiOmMsY2hpbGRyZW46WygwLFMuanN4KShfYSx7ZW5kOigwLFMuanN4KSh2YSx7dmFsdWU6YyxvbkNoYW5nZTplPT5VdChgYXBwcm92YWxzTGF5b3V0YCxlKX0pfSkscz09PXZvaWQgMD8oMCxTLmpzeCkocHQse2xvYWRpbmc6ITAsbGFiZWw6Ti5sb2FkaW5nLGxpbmVzOjR9KTooMCxTLmpzeHMpKFMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxTLmpzeCkoaGEse293bmVyOnMsY2FuUGFzc2tleTpvfSksKDAsUy5qc3gpKE9hLHtvd25lcjpzLGNsaWVudDphLHNoZWV0Omx9KV19KV19KX12YXIgQWE9L15cL2FwcHJvdmVcLyhhcHJfW0EtWmEtejAtOV8tXXsyMn0pJC87ZnVuY3Rpb24gamEoZSl7bGV0IHQ9QWEuZXhlYyhlKT8uWzFdO3JldHVybiB0IT09dm9pZCAwJiZGbi50ZXN0KHQpP3Q6dm9pZCAwfWZ1bmN0aW9uIE1hKGUsdCl7bGV0W24scl09KDAseS51c2VTdGF0ZSkoe2tpbmQ6YGxvYWRpbmdgfSk7cmV0dXJuKDAseS51c2VFZmZlY3QpKCgpPT57aWYodD09PXZvaWQgMCl7cih7a2luZDpgZ29uZWB9KTtyZXR1cm59bGV0IG49ITA7cmV0dXJuIGUub25lKHQpLnRoZW4oZT0-e24mJnIoZS5raW5kPT09YG9rYD97a2luZDpgb2tgLGl0ZW06ZS5pdGVtfTplLmtpbmQ9PT1gbm90X3BlbmRpbmdgP3traW5kOmBnb25lYH06e2tpbmQ6YG9mZmxpbmVgfSl9KSwoKT0-e249ITF9fSxbZSx0XSksbn1mdW5jdGlvbiBOYSh7Y2xpZW50OmUscGF5Q29uZmlybTp0LGNhblBhc3NrZXk6bixwbGF0Zm9ybTpyLHJlZHVjZWRNb3Rpb246aX0pe2xldCBhPSgwLHkudXNlTWVtbykoKCk9PmU_P0duKCksW2VdKSxvPW4_Pyh0eXBlb2Ygd2luZG93PGB1YCYmYFB1YmxpY0tleUNyZWRlbnRpYWxgaW4gd2luZG93JiZuYXZpZ2F0b3IuY3JlZGVudGlhbHMhPT12b2lkIDApLHM9bWEoYSxvKSxjPU1hKGEsamEodHlwZW9mIGxvY2F0aW9uPmB1YD9gYDpsb2NhdGlvbi5wYXRobmFtZSkpLFtsLHVdPSgwLHkudXNlU3RhdGUpKHZvaWQgMCksZD17Li4udD09PXZvaWQgMD97fTp7cGF5Q29uZmlybTp0fSwuLi5yPT09dm9pZCAwP3t9OntwbGF0Zm9ybTpyfSwuLi5pPT09dm9pZCAwP3t9OntyZWR1Y2VkTW90aW9uOml9fTtyZXR1cm4oMCxTLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YGFsLWFwcHJvdmFsc2AsY2hpbGRyZW46WygwLFMuanN4KShfYSx7fSkscz09PXZvaWQgMD8oMCxTLmpzeCkocHQse2xvYWRpbmc6ITAsbGFiZWw6Ti5sb2FkaW5nLGxpbmVzOjR9KTooMCxTLmpzeHMpKFMuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxTLmpzeCkoaGEse293bmVyOnMsY2FuUGFzc2tleTpvLG5lZWRzT3duZXJPbmx5OiEwfSksYy5raW5kPT09YGxvYWRpbmdgPygwLFMuanN4KShwdCx7bG9hZGluZzohMCxsYWJlbDpOLmxvYWRpbmcsbGluZXM6NH0pOm51bGwsYy5raW5kPT09YGdvbmVgPygwLFMuanN4KShQLHtsaW5lczpbTi5ub3RQZW5kaW5nXX0pOm51bGwsYy5raW5kPT09YG9mZmxpbmVgPygwLFMuanN4KShQLHtsaW5lczpbTi5ub3RSdW5uaW5nXX0pOm51bGwsYy5raW5kPT09YG9rYCYmbD09PXZvaWQgMD8oMCxTLmpzeCkoZGEse2l0ZW06Yy5pdGVtLG93bmVyOnMsY2xpZW50OmEsc2hlZXQ6ZCxvbkRlY2lkZWQ6KCk9PlpuKDEpLG9uTGVmdDp1fSk6bnVsbCwoMCxTLmpzeCkoZ2Ese2xpbmVzOmw9PT12b2lkIDA_W106W2xdfSldfSldfSl9ZnVuY3Rpb24gUGEoZSl7cmV0dXJuIGUucHJvYmxlbT09PWB3YWl0YD9Jci53YWl0KGByZXRyeUFmdGVyYGluIGU_ZS5yZXRyeUFmdGVyPz8xOjEpOklyW2UucHJvYmxlbV19ZnVuY3Rpb24gTCh7Y3VycmVudDplfSl7cmV0dXJuKDAsUy5qc3hzKShgbmF2YCx7ImFyaWEtbGFiZWwiOmBTZXR1cCBzdGVwc2AsY2hpbGRyZW46WygwLFMuanN4KShgb2xgLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOk5yLm1hcCgodCxuKT0-KDAsUy5qc3gpKGBsaWAseyJhcmlhLWN1cnJlbnQiOm4rMT09PWU_YHN0ZXBgOnZvaWQgMCxjaGlsZHJlbjpuKzE8ZT9g4pyTICR7dH1gOmAke1N0cmluZyhuKzEpfSAke3R9YH0sdCkpfSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWxhYmVsIGFsLW11dGVkYCxjaGlsZHJlbjpNLnN0ZXBPZihlKX0pXX0pfWZ1bmN0aW9uIEZhKHtjb2RlOmUsY29tcHV0ZXI6dCxzZW5zb3I6bixvblNhdmVkOnJ9KXtsZXRbaSxhXT0oMCx5LnVzZVN0YXRlKSghMSksW28sY109KDAseS51c2VTdGF0ZSkoITEpO3JldHVybigwLFMuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YGFsLXNlY3JldGAsImFyaWEtbGFiZWwiOk0uYmFja3VwTGFiZWwsY2hpbGRyZW46WygwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2VjcmV0LWhlYWRgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOk0uYmFja3VwTGFiZWx9KSwoMCxTLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46TS5zaG93bk9uY2V9KV19KSwoMCxTLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2VjcmV0LXZhbCBhbC10ZXh0LWNvZGUtbGdgLGNoaWxkcmVuOmUuc3BsaXQoYCBgKS5tYXAoKGUsdCk9PigwLFMuanN4KShgc3BhbmAse2NoaWxkcmVuOmV9LHQpKX0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpNLmJhY2t1cEJvZHkobil9KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46TS5iYWNrdXBMb3N0fSksKDAsUy5qc3hzKShgZm9ybWAse29uU3VibWl0OmU9PntlLnByZXZlbnREZWZhdWx0KCksYyghMCl9LGF1dG9Db21wbGV0ZTpgb25gLGNoaWxkcmVuOlsoMCxTLmpzeCkocyx7bGFiZWw6TS5zYXZlZEFzLG5hbWU6YHVzZXJuYW1lYCxhdXRvQ29tcGxldGU6YHVzZXJuYW1lYCx2YWx1ZTpNLnNhdmVkQXNMYWJlbCh0KSxyZWFkT25seTohMH0pLCgwLFMuanN4KShzLHtsYWJlbDpNLmJhY2t1cExhYmVsLG5hbWU6YHBhc3N3b3JkYCx0eXBlOmBwYXNzd29yZGAsYXV0b0NvbXBsZXRlOmBuZXctcGFzc3dvcmRgLHZhbHVlOmUscmVhZE9ubHk6ITAsbW9ubzohMH0pLCgwLFMuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgYWwtc2VjcmV0LWFjdGlvbnNgLGNoaWxkcmVuOlsoMCxTLmpzeCkodSx7dHlwZTpgc3VibWl0YCx2YXJpYW50OmBwcmltYXJ5YCxpY29uOmBrZXktcm91bmRgLGNoaWxkcmVuOk0uc2F2ZVRvTWFuYWdlcn0pLCgwLFMuanN4KSh1LHtzaXplOmBzbWAsaWNvbjppP2BjaGVja2A6YGNvcHlgLG9uQ2xpY2s6KCk9PntuYXZpZ2F0b3IuY2xpcGJvYXJkPy53cml0ZVRleHQoZSkudGhlbigoKT0-YSghMCkpLmNhdGNoKCgpPT5hKCExKSl9LGNoaWxkcmVuOmk_TS5jb3BpZWQ6TS5jb3B5fSldfSldfSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOk0uY2xpcGJvYXJkV2FybmluZ30pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLCJhcmlhLWxpdmUiOmBwb2xpdGVgLGNoaWxkcmVuOm8_TS5zYXZlQXNrZWQ6YGB9KSwoMCxTLmpzeCkodSx7dmFyaWFudDpgc2Vjb25kYXJ5YCxzaXplOmBsZ2AsYmxvY2s6ITAsb25DbGljazpyLGNoaWxkcmVuOk0uc2F2ZWRJdH0pXX0pfWZ1bmN0aW9uIElhKGUpe2lmKGU9PT1gYWxsb3dlZGApcmV0dXJuIE0uc2VuZEFsbG93ZWQ7aWYoZT09PWBub3RfYWxsb3dlZGApcmV0dXJuIE0uc2VuZE5vdEFsbG93ZWQ7aWYoZT09PWBub3RfY29uZmlybWVkYClyZXR1cm4gTS5zZW5kTm90Q29uZmlybWVkfWZ1bmN0aW9uIExhKHthcGk6ZSxjcmVhdGVQYXNza2V5OnQ9b3IscGFzc2tleXNBdmFpbGFibGU6bj1pcixwbGF0Zm9ybTpyLHByZlN1cHBvcnQ6aT10cix1cGdyYWRlQXBpOmEsY3JlYXRlVXBncmFkZVBhc3NrZXk6bz1scn09e30pe2xldFtjXT0oMCx5LnVzZVN0YXRlKSgoKT0-ZT8_a3IoKSksW2xdPSgwLHkudXNlU3RhdGUpKCgpPT5hPz9NcigpKSxbZF09KDAseS51c2VTdGF0ZSkoKCk9PnI_P2VyKCkpLFtmLHBdPSgwLHkudXNlU3RhdGUpKHtrOmBsb2FkaW5nYH0pLFttLGhdPSgwLHkudXNlU3RhdGUpKGBgKSxnPVByW2RdLF89KDAseS51c2VDYWxsYmFjaykoYXN5bmMoZT0oKT0-ITApPT57bGV0IHQ9YXdhaXQgbC5pbmZvKCk7aWYoIWUoKSlyZXR1cm47aWYodC5raW5kIT09YG9rYHx8dC5yZWdpc3RlcmVkfHwhbigpKXt0LmtpbmQ9PT1gZXJyb3JgJiZ0LnByb2JsZW09PT1gc2Vzc2lvbl9leHBpcmVkYD9wKHtrOmBleHBpcmVkYH0pOnAoe2s6YGFscmVhZHlgfSk7cmV0dXJufWxldCByPWF3YWl0IGkoKS5jYXRjaCgoKT0-YHVua25vd25gKTtlKCkmJnAoe2s6YHVwZ3JhZGVgLHZhbHVlczp0LnZhbHVlcyx3b3JraW5nOiExLG5vUHJmOnI9PT1gbm9gfSl9LFtsLG4saV0pOygwLHkudXNlRWZmZWN0KSgoKT0-e2xldCBlPSEwO3JldHVybiBjLnN0YXR1cygpLnRoZW4odD0-e2UmJih0LmtpbmQ9PT1gb2tgP3Qub3duZXI9PT1gc2V0X3VwYD9fKCgpPT5lKTp0Lm93bmVyPT09YHVua25vd25gP3Aoe2s6YHN0dWNrYCxtZXNzYWdlOklyLnVua25vd259KTpuKCk_aSgpLmNhdGNoKCgpPT5gdW5rbm93bmApLnRoZW4odD0-e2UmJnAoe2s6YHByb3RlY3RgLHdvcmtpbmc6ITEsbm9QcmY6dD09PWBub2B9KX0pOnAoe2s6YHVuc3VwcG9ydGVkYH0pOnQucHJvYmxlbT09PWBzZXNzaW9uX2V4cGlyZWRgP3Aoe2s6YGV4cGlyZWRgfSk6dC5wcm9ibGVtPT09YG9mZmxpbmVgP3Aoe2s6YGRvd25gfSk6cCh7azpgc3R1Y2tgLG1lc3NhZ2U6UGEodCl9KSl9KSwoKT0-e2U9ITF9fSxbYyxuLGksX10pO2xldCB2PSgwLHkudXNlQ2FsbGJhY2spKGFzeW5jIGU9PntsZXQgbj10PT5wKHtrOmBwcm90ZWN0YCx3b3JraW5nOiExLG1lc3NhZ2U6dCxub1ByZjplfSk7cCh7azpgcHJvdGVjdGAsd29ya2luZzohMCxub1ByZjplfSk7bGV0IHI9YXdhaXQgYy5iZWdpbigpO2lmKHIua2luZD09PWBvd25lcl9leGlzdHNgKXJldHVybiBfKCk7aWYoci5raW5kPT09YGVycm9yYClyZXR1cm4gci5wcm9ibGVtPT09YHNlc3Npb25fZXhwaXJlZGA_cCh7azpgZXhwaXJlZGB9KTpuKFBhKHIpKTtsZXQgaT1hd2FpdCB0KHIucHVibGljS2V5LHtwbGF0Zm9ybTohZX0pO2lmKGkua2luZD09PWB1bnN1cHBvcnRlZGApcmV0dXJuIHAoe2s6YHVuc3VwcG9ydGVkYH0pO2lmKGkua2luZD09PWBjYW5jZWxsZWRgKXJldHVybiBuKElyLmNhbmNlbGxlZCk7bGV0IGE7dHJ5e2E9YXdhaXQgYy5maW5pc2goaS5ib2R5KX1maW5hbGx5e2kuYm9keS5maWxsKDApfWlmKGEua2luZD09PWBvd25lcl9leGlzdHNgKXJldHVybiBfKCk7aWYoYS5raW5kPT09YGVycm9yYCl7aWYoYS5wcm9ibGVtPT09YHNlc3Npb25fZXhwaXJlZGApcmV0dXJuIHAoe2s6YGV4cGlyZWRgfSk7aWYoYS5wcm9ibGVtPT09YG9mZmxpbmVgKXtsZXQgZT1hd2FpdCBjLnN0YXR1cygpO3JldHVybiBlLmtpbmQ9PT1gb2tgJiZlLm93bmVyPT09YG1pc3NpbmdgP24oSXIubm90RmluaXNoZWQpOmUua2luZD09PWBva2AmJmUub3duZXI9PT1gc2V0X3VwYD9wKHtrOmBzdHVja2AsbWVzc2FnZTpJci5maW5pc2hlZE5vQ29kZX0pOmUua2luZD09PWBlcnJvcmAmJmUucHJvYmxlbT09PWBvZmZsaW5lYD9wKHtrOmBkb3duYH0pOmUua2luZD09PWBlcnJvcmAmJmUucHJvYmxlbT09PWBzZXNzaW9uX2V4cGlyZWRgP3Aoe2s6YGV4cGlyZWRgfSk6cCh7azpgc3R1Y2tgLG1lc3NhZ2U6SXIudW5rbm93bn0pfXJldHVybiBhLnByb2JsZW09PT1ga2V5Y2hhaW5gfHxhLnByb2JsZW09PT1gY2hlY2tfZmFpbGVkYHx8YS5wcm9ibGVtPT09YGludGVybmFsYHx8YS5wcm9ibGVtPT09YHVua25vd25gP3Aoe2s6YHN0dWNrYCxtZXNzYWdlOlBhKGEpfSk6bihQYShhKSl9cmV0dXJuIHAoe2s6YGRvbmVgLGRvbmU6e2NvbmZpcm1lZDphLmNvbmZpcm1lZCxwYXNza2V5OmEucGFzc2tleSxmaW5nZXJwcmludDphLmZpbmdlcnByaW50LHNlbmRGb2xkZXI6YS5zZW5kRm9sZGVyLG93bmVyQ29kZTphLm93bmVyQ29kZSxjb21wdXRlck5hbWU6YS5jb21wdXRlck5hbWV9fSl9LFtjLHQsX10pLGI9KDAseS51c2VDYWxsYmFjaykoYXN5bmMoZSx0LG4pPT57bGV0IHI9KG4scik9PntyJiZoKGBgKSxwKHtrOmB1cGdyYWRlYCx2YWx1ZXM6ZSx3b3JraW5nOiExLG5vUHJmOnQsbWVzc2FnZTpufSl9O2lmKG4ubGVuZ3RoPT09MClyZXR1cm4gcihWci5lbXB0eSwhMSk7cCh7azpgdXBncmFkZWAsdmFsdWVzOmUsd29ya2luZzohMCxub1ByZjp0fSk7bGV0IGk9YXdhaXQgbyhlLHtwbGF0Zm9ybTohdH0pO2lmKGkua2luZD09PWBjYW5jZWxsZWRgKXJldHVybiByKFZyLmNhbmNlbGxlZCwhMSk7aWYoaS5raW5kPT09YHVuc3VwcG9ydGVkYClyZXR1cm4gcihWci51bnN1cHBvcnRlZChGcltkXSksITApO2xldCBhPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShuKSxzO3RyeXtzPXVyKGEsaS5ib2R5KX1jYXRjaHtyZXR1cm4gcihWci5wcmVzZW5jZV9yZXF1aXJlZCwhMCl9ZmluYWxseXthLmZpbGwoMCksaS5ib2R5LmZpbGwoMCl9bGV0IGM7dHJ5e2M9YXdhaXQgbC5yZWdpc3RlcihzKX1maW5hbGx5e3MuZmlsbCgwKX1pZihoKGBgKSxjLmtpbmQ9PT1gcmVnaXN0ZXJlZGApcmV0dXJuIHAoe2s6YHVwZ3JhZGVkYH0pO2xldCB1PWMucHJvYmxlbTtyZXR1cm4gdT09PWBwYXNza2V5X2V4aXN0c2A_cCh7azpgYWxyZWFkeWB9KTp1PT09YHNlc3Npb25fZXhwaXJlZGA_cCh7azpgZXhwaXJlZGB9KTp1PT09YG9mZmxpbmVgP3Aoe2s6YGRvd25gfSk6dT09PWB3YWl0YD9yKFZyLndhaXQoYy5yZXRyeUFmdGVyPz8xKSwhMCk6dT09PWBwYXNza2V5X3Vuc3VwcG9ydGVkYD9yKFZyLnVuc3VwcG9ydGVkKEZyW2RdKSwhMCk6dT09PWBwcmVzZW5jZV9yZWplY3RlZGB8fHU9PT1gcHJlc2VuY2VfcmVxdWlyZWRgfHx1PT09YGJ1c3lgfHx1PT09YGZvcmJpZGRlbmA_cihWclt1XSwhMCk6cCh7azpgc3R1Y2tgLG1lc3NhZ2U6VnIuZmFpbGVkfSl9LFtvLGwsZF0pLHg9ZT0-cCh7azpga2l0YCxkb25lOntjb25maXJtZWQ6ZS5jb25maXJtZWQscGFzc2tleTplLnBhc3NrZXksZmluZ2VycHJpbnQ6ZS5maW5nZXJwcmludCxzZW5kRm9sZGVyOmUuc2VuZEZvbGRlcn19KSxlZT1kPT09YG1hY2A_TS51c2VUb3VjaElkOmQ9PT1gd2luZG93c2A_TS51c2VXaW5kb3dzSGVsbG86TS51c2VQYXNza2V5O3N3aXRjaChmLmspe2Nhc2VgbG9hZGluZ2A6cmV0dXJuKDAsUy5qc3gpKFFyLHt0ZXh0Ok0ubG9hZGluZ30pO2Nhc2VgZXhwaXJlZGA6cmV0dXJuKDAsUy5qc3gpKFlyLHt9KTtjYXNlYGRvd25gOnJldHVybigwLFMuanN4KShYcix7fSk7Y2FzZWBzdHVja2A6cmV0dXJuKDAsUy5qc3hzKShgc2VjdGlvbmAseyJhcmlhLWxhYmVsbGVkYnkiOmBmci1oYCxjaGlsZHJlbjpbKDAsUy5qc3gpKGBoMWAse2lkOmBmci1oYCxjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46TS5wcm90ZWN0VGl0bGV9KSwoMCxTLmpzeCkobmUse3RvbmU6YHdhcm5pbmdgLGNoaWxkcmVuOmYubWVzc2FnZX0pXX0pO2Nhc2VgdXBncmFkZWA6e2xldHt2YWx1ZXM6ZSxub1ByZjp0fT1mO3JldHVybigwLFMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgZnItaGAsY2hpbGRyZW46WygwLFMuanN4KShgaDFgLHtpZDpgZnItaGAsY2xhc3NOYW1lOmBhbC10ZXh0LWRpc3BsYXlgLGNoaWxkcmVuOkJyLnRpdGxlKGQpfSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktbGcgYWwtbXV0ZWRgLGNoaWxkcmVuOkJyLmJvZHkoZyl9KSx0PygwLFMuanN4KShuZSx7dG9uZTpgd2FybmluZ2AsY2hpbGRyZW46QnIubm9QcmYoUHJbZF0sRnJbZF0pfSk6bnVsbCxmLm1lc3NhZ2U9PT12b2lkIDA_bnVsbDooMCxTLmpzeCkobmUse3RvbmU6YHdhcm5pbmdgLGNoaWxkcmVuOmYubWVzc2FnZX0pLCgwLFMuanN4cykoYGZvcm1gLHthdXRvQ29tcGxldGU6YG9uYCxvblN1Ym1pdDpuPT57bi5wcmV2ZW50RGVmYXVsdCgpLGYud29ya2luZ3x8YihlLHQsbSl9LGNoaWxkcmVuOlsoMCxTLmpzeCkocyx7bGFiZWw6QnIuY29kZUxhYmVsLGhpbnQ6QnIuY29kZUhpbnQsbmFtZTpgYmFja3VwLWNvZGVgLHR5cGU6YHBhc3N3b3JkYCxhdXRvQ29tcGxldGU6YGN1cnJlbnQtcGFzc3dvcmRgLGF1dG9DYXBpdGFsaXplOmBvZmZgLGF1dG9Db3JyZWN0OmBvZmZgLHNwZWxsQ2hlY2s6ITEsbW9ubzohMCx2YWx1ZTptLGRpc2FibGVkOmYud29ya2luZyxvbkNoYW5nZTplPT5oKGUuY3VycmVudFRhcmdldC52YWx1ZSl9KSwoMCxTLmpzeCkodSx7dHlwZTpgc3VibWl0YCx2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2AsaWNvbjpga2V5LXJvdW5kYCxkaXNhYmxlZDpmLndvcmtpbmcsY2hpbGRyZW46dD9NLnVzZVBhc3NrZXk6ZWV9KV19KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAscm9sZTpgc3RhdHVzYCwiYXJpYS1saXZlIjpgcG9saXRlYCxjaGlsZHJlbjpmLndvcmtpbmc_TS53YWl0aW5nOk0ucGFzc2tleU5vdGV9KV19KX1jYXNlYHVwZ3JhZGVkYDpyZXR1cm4oMCxTLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYGgxYCx7aWQ6YGZyLWhgLGNsYXNzTmFtZTpgYWwtdGV4dC1kaXNwbGF5YCxjaGlsZHJlbjpCci5kb25lVGl0bGUoZCl9KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1sZyBhbC1tdXRlZGAsY2hpbGRyZW46QnIuZG9uZUJvZHkoZyl9KSwoMCxTLmpzeCkoYGFgLHtjbGFzc05hbWU6YGFsLWJ0biBhbC1idG4tcHJpbWFyeSBhbC1idG4tbGdgLGhyZWY6YC9gLGNoaWxkcmVuOkJyLnRvQXBwcm92YWxzfSldfSk7Y2FzZWBhbHJlYWR5YDpyZXR1cm4oMCxTLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxTLmpzeCkoYGgxYCx7aWQ6YGZyLWhgLGNsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0xYCxjaGlsZHJlbjpNLmFscmVhZHlUaXRsZX0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpNLmFscmVhZHlCb2R5fSldfSk7Y2FzZWB1bnN1cHBvcnRlZGA6cmV0dXJuKDAsUy5qc3hzKShgc2VjdGlvbmAseyJhcmlhLWxhYmVsbGVkYnkiOmBmci1oYCxjaGlsZHJlbjpbKDAsUy5qc3gpKEwse2N1cnJlbnQ6MX0pLCgwLFMuanN4KShgaDFgLHtpZDpgZnItaGAsY2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOk0udW5zdXBwb3J0ZWRUaXRsZX0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpNLnVuc3VwcG9ydGVkQm9keX0pLCgwLFMuanN4KShpZSx7Y29tbWFuZDpNLnVuc3VwcG9ydGVkQ29tbWFuZH0pXX0pO2Nhc2VgcHJvdGVjdGA6e2xldCBlPWYubm9QcmY9PT0hMDtyZXR1cm4oMCxTLmpzeHMpKGBzZWN0aW9uYCx7ImFyaWEtbGFiZWxsZWRieSI6YGZyLWhgLGNoaWxkcmVuOlsoMCxTLmpzeCkoTCx7Y3VycmVudDoxfSksKDAsUy5qc3gpKGBoMWAse2lkOmBmci1oYCxjbGFzc05hbWU6YGFsLXRleHQtZGlzcGxheWAsY2hpbGRyZW46TS5wcm90ZWN0VGl0bGV9KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1sZyBhbC1tdXRlZGAsY2hpbGRyZW46TS5wcm90ZWN0Qm9keShnKX0pLCgwLFMuanN4cykoYGFzaWRlYCx7Y2xhc3NOYW1lOmBhbC1jYXJkYCwiYXJpYS1sYWJlbGxlZGJ5IjpgZnItZm9sZGVyc2AsY2hpbGRyZW46WygwLFMuanN4KShgcGAse2lkOmBmci1mb2xkZXJzYCxjbGFzc05hbWU6YGFsLXRleHQtbGFiZWwgYWwtbXV0ZWRgLGNoaWxkcmVuOk0uZm9sZGVyc1RpdGxlfSksKDAsUy5qc3gpKGBkbGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjpNLmZvbGRlcnMubWFwKChbZSx0XSk9PigwLFMuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxTLmpzeCkoYGR0YCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOmV9KSwoMCxTLmpzeCkoYGRkYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOnR9KV19LHQpKX0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpNLmZvbGRlcnNOb3RlfSldfSksZT8oMCxTLmpzeCkobmUse3RvbmU6YHdhcm5pbmdgLGNoaWxkcmVuOk0ubm9QcmYoUHJbZF0sRnJbZF0pfSk6bnVsbCxmLm1lc3NhZ2U9PT12b2lkIDA_bnVsbDooMCxTLmpzeCkobmUse3RvbmU6YHdhcm5pbmdgLGNoaWxkcmVuOmYubWVzc2FnZX0pLCgwLFMuanN4KSh1LHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2AsaWNvbjpga2V5LXJvdW5kYCxkaXNhYmxlZDpmLndvcmtpbmcsb25DbGljazooKT0-dm9pZCB2KGUpLGNoaWxkcmVuOmYubWVzc2FnZT09PXZvaWQgMD9lP00uYmFja3VwT25seTplZTpNLnRyeUFnYWlufSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLHJvbGU6YHN0YXR1c2AsImFyaWEtbGl2ZSI6YHBvbGl0ZWAsY2hpbGRyZW46Zi53b3JraW5nP00ud2FpdGluZzpNLnBhc3NrZXlOb3RlfSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOk0uZGVza3RvcFRpcH0pLCgwLFMuanN4cykoYGFzaWRlYCx7Y2xhc3NOYW1lOmBhbC1jYXJkYCwiYXJpYS1sYWJlbCI6TS51bnRpbFRpdGxlLGNoaWxkcmVuOlsoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWwgYWwtbXV0ZWRgLGNoaWxkcmVuOk0udW50aWxUaXRsZX0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjpNLnVudGlsQm9keX0pXX0pXX0pfWNhc2VgZG9uZWA6e2xldHtkb25lOmV9PWYsdD1JYShlLnNlbmRGb2xkZXIpO3JldHVybigwLFMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgZnItaGAsY2hpbGRyZW46WygwLFMuanN4KShMLHtjdXJyZW50OjJ9KSwoMCxTLmpzeCkoYGgxYCx7aWQ6YGZyLWhgLGNsYXNzTmFtZTpgYWwtdGV4dC1kaXNwbGF5YCxjaGlsZHJlbjpNLmJhY2t1cFRpdGxlfSksZS5jb25maXJtZWQ_bnVsbDooMCxTLmpzeCkobmUse3RvbmU6YHdhcm5pbmdgLHRpdGxlOk0udW5jb25maXJtZWRUaXRsZSxjaGlsZHJlbjpNLnVuY29uZmlybWVkfSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktbGcgYWwtbXV0ZWRgLGNoaWxkcmVuOmUucGFzc2tleT9NLmRvbmVCb2R5Ok0uZG9uZU5vUGFzc2tleUJvZHl9KSx0PT09dm9pZCAwP251bGw6KDAsUy5qc3gpKG5lLHt0b25lOmUuc2VuZEZvbGRlcj09PWBhbGxvd2VkYD9gc3VjY2Vzc2A6YHdhcm5pbmdgLGNoaWxkcmVuOnR9KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46KDAsUy5qc3gpKGxlLHt2YWx1ZTplLmZpbmdlcnByaW50LHByZWZpeDpNLmZpbmdlcnByaW50TGFiZWx9KX0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpNLmZpbmdlcnByaW50Tm90ZX0pLCgwLFMuanN4KShGYSx7Y29kZTplLm93bmVyQ29kZT8_YGAsY29tcHV0ZXI6ZS5jb21wdXRlck5hbWU_P2BgLHNlbnNvcjplLnBhc3NrZXk_ZzpQci5vdGhlcixvblNhdmVkOigpPT54KGUpfSldfSl9Y2FzZWBraXRgOnJldHVybigwLFMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgZnItaGAsY2hpbGRyZW46WygwLFMuanN4KShMLHtjdXJyZW50OjN9KSwoMCxTLmpzeCkoYGgxYCx7aWQ6YGZyLWhgLGNsYXNzTmFtZTpgYWwtdGV4dC1kaXNwbGF5YCxjaGlsZHJlbjpNLmtpdFRpdGxlfSksKDAsUy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktbGcgYWwtbXV0ZWRgLGNoaWxkcmVuOk0ua2l0Qm9keX0pLCgwLFMuanN4KSh1LHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBsZ2AsZGlzYWJsZWQ6ITAsImFyaWEtZGVzY3JpYmVkYnkiOmBmci1raXQtc29vbmAsY2hpbGRyZW46TS5zYXZlS2l0fSksKDAsUy5qc3gpKGBwYCx7aWQ6YGZyLWtpdC1zb29uYCxjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46TS5zYXZlS2l0U29vbn0pLCgwLFMuanN4KSh1LHtvbkNsaWNrOigpPT57R3IoKSxwKHtrOmByZWFkeWAsZG9uZTpmLmRvbmV9KX0sY2hpbGRyZW46TS5sYXRlcn0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpNLmxhdGVyTm90ZX0pXX0pO2Nhc2VgcmVhZHlgOnJldHVybigwLFMuanN4cykoYHNlY3Rpb25gLHsiYXJpYS1sYWJlbGxlZGJ5IjpgZnItaGAsY2hpbGRyZW46WygwLFMuanN4KShMLHtjdXJyZW50OjR9KSwoMCxTLmpzeCkoYGgxYCx7aWQ6YGZyLWhgLGNsYXNzTmFtZTpgYWwtdGV4dC1kaXNwbGF5YCxjaGlsZHJlbjpNLnJlYWR5VGl0bGV9KSwoMCxTLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1sZyBhbC1tdXRlZGAsY2hpbGRyZW46TS5yZWFkeUJvZHl9KSwoMCxTLmpzeCkoaWUse3NpemU6YGhlcm9gLHRpdGxlOk0ucmVhZHlQcm9tcHRUaXRsZSxwcm9tcHQ6TS5yZWFkeVByb21wdH0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjpNLnJlYWR5UmVzdGFydH0pLCgwLFMuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5IGFsLW11dGVkYCxjaGlsZHJlbjpNLnJlYWR5Q2xvc2V9KV19KX19ZnVuY3Rpb24gUmEoKXtyZXR1cm4oMCxTLmpzeCkocXIse3RpdGxlOlp0fSl9ZnVuY3Rpb24gemEoZSl7cmV0dXJuIER0W2VdLlBhcnR9dmFyIEJhPVt7cGF0aDpgL2AscGFnZTprYX0se3BhdGg6YC9zZXR0aW5ncy9ob21lYCxwYWdlOnphKGAvc2V0dGluZ3MvaG9tZWApfSx7cGF0aDpgL2ZpcnN0LXJ1bmAscGFnZTpMYX0se3BhdGg6YC9zZXR0aW5ncy9hY3Rpdml0eWAscGFnZTp6YShgL3NldHRpbmdzL2FjdGl2aXR5YCl9LHtwYXRoOmAvc2V0dGluZ3MvbWVzc2FnZXNgLHBhZ2U6emEoYC9zZXR0aW5ncy9tZXNzYWdlc2ApfSx7cGF0aDpgL3NldHRpbmdzL2NvbnRhY3RzYCxwYWdlOnphKGAvc2V0dGluZ3MvY29udGFjdHNgKX0se3BhdGg6YC9zZXR0aW5ncy9maWxlc2AscGFnZTp6YShgL3NldHRpbmdzL2ZpbGVzYCl9LHtwYXRoOmAvc2V0dGluZ3MvcHJvb2ZzYCxwYWdlOnphKGAvc2V0dGluZ3MvcHJvb2ZzYCl9LHtwYXRoOmAvc2V0dGluZ3MvcnVsZXNgLHBhZ2U6emEoYC9zZXR0aW5ncy9ydWxlc2ApfSx7cGF0aDpgL3NldHRpbmdzL2JhY2t1cGAscGFnZTp6YShgL3NldHRpbmdzL2JhY2t1cGApfSx7cGF0aDpgL3NldHRpbmdzL3Bhc3NrZXlzYCxwYWdlOlJhfSx7cGF0aDpgL3NldHRpbmdzL2FwcGVhcmFuY2VgLHBhZ2U6emEoYC9zZXR0aW5ncy9hcHBlYXJhbmNlYCl9LHtwYXRoOmAvc2V0dGluZ3MvYWR2YW5jZWRgLHBhZ2U6emEoYC9zZXR0aW5ncy9hZHZhbmNlZGApfSx7cGF0aDpgL3NldHRpbmdzL2Fib3V0YCxwYWdlOnphKGAvc2V0dGluZ3MvYWJvdXRgKX1dLFZhPTIwMCxIYT1gYWdlbnRsaW5rOm5hdmlnYXRlYCxVYT1gL3NldHRpbmdzYCxXYT1gL3NldHRpbmdzL2FjdGl2aXR5YDtmdW5jdGlvbiBHYShlKXtyZXR1cm4gZS5sZW5ndGg-MT9lLnJlcGxhY2UoL1wvKyQvLGBgKTplfWZ1bmN0aW9uIEthKGUsdD0hMSl7bGV0IG49R2EobmV3IFVSTChlLGxvY2F0aW9uLmhyZWYpLnBhdGhuYW1lKSxyPW4hPT1HYShsb2NhdGlvbi5wYXRobmFtZSk7dD9oaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLGBgLGUpOmhpc3RvcnkucHVzaFN0YXRlKG51bGwsYGAsZSk7bGV0IGk9KCk9Pnt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoSGEpKX0sYT0oKT0-e3R8fCFyP2koKTpQaShpKX0sbz1EdFtuXTtpZihvPT09dm9pZCAwfHxvLnJlYWR5KCkpe2EoKTtyZXR1cm59bGV0IHM9ITEsYz0oKT0-e3N8fChzPSEwLGEoKSl9O090KG4pLnRoZW4oYyksc2V0VGltZW91dChjLFZhKX1mdW5jdGlvbiBxYShlKXtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCxlKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihIYSxlKSwoKT0-e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoSGEsZSl9fWZ1bmN0aW9uIEphKCl7cmV0dXJuIEdhKCgwLHkudXNlU3luY0V4dGVybmFsU3RvcmUpKHFhLCgpPT5sb2NhdGlvbi5wYXRobmFtZSkpfXZhciBZYT1gL2A7ZnVuY3Rpb24gWGEoZSl7cmV0dXJuIGU9PT1VYXx8ZSBpbiBqfHxCYS5zb21lKHQ9PnQucGF0aD09PWUpfHxqYShlKSE9PXZvaWQgMH1mdW5jdGlvbiBaYShlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWR8fGUuYnV0dG9uIT09MHx8ZS5tZXRhS2V5fHxlLmN0cmxLZXl8fGUuc2hpZnRLZXl8fGUuYWx0S2V5KXJldHVybjtsZXQgdD1lLnRhcmdldD8uY2xvc2VzdChgYWApO2lmKHQ9PW51bGx8fHQudGFyZ2V0IT09YGAmJnQudGFyZ2V0IT09YF9zZWxmYClyZXR1cm47bGV0IG49bmV3IFVSTCh0LmhyZWYsbG9jYXRpb24uaHJlZik7bi5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW4mJlhhKEdhKG4ucGF0aG5hbWUpKSYmKGUucHJldmVudERlZmF1bHQoKSxLYShuLnBhdGhuYW1lK24uc2VhcmNoKSl9ZnVuY3Rpb24gUWEoKXtsZXQgZT1KYSgpOygwLHkudXNlRWZmZWN0KSgoKT0-KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxaYSksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoYGNsaWNrYCxaYSkpLFtdKSwoMCx5LnVzZUVmZmVjdCkoKCk9PntlPT09VWE_S2EoV2EsITApOmUgaW4gaiYmS2EoaltlXSwhMCl9LFtlXSk7bGV0IHQ9ZT09PVVhP1dhOmpbZV0_P2Usbj1qYSh0KSE9PXZvaWQgMCxyPUJhLmZpbmQoZT0-ZS5wYXRoPT09dCksaT1uP05hOnI_LnBhZ2U_P0pyO3JldHVybigwLFMuanN4KShqaSx7cGF0aDpuP1lhOnQsY2hpbGRyZW46KDAsUy5qc3gpKGkse30sdCl9KX1IdCgpLHRlKCk7dmFyICRhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGByb290YCk7JGEhPT1udWxsJiYoKDAsYi5jcmVhdGVSb290KSgkYSkucmVuZGVyKCgwLFMuanN4KSh5LlN0cmljdE1vZGUse2NoaWxkcmVuOigwLFMuanN4KShRYSx7fSl9KSksQXQoKSk7ZXhwb3J0e3dlIGFzIEEsdyBhcyBCLGR0IGFzIEMsUmUgYXMgRCxrIGFzIEUsbWUgYXMgRixsZSBhcyBJLG9lIGFzIEwsVGUgYXMgTSxoZSBhcyBOLFBlIGFzIE8sZ2UgYXMgUCxwZSBhcyBSLFV0IGFzIFMscHQgYXMgVCxFbiBhcyBfLHZpIGFzIGEsSnQgYXMgYixmaSBhcyBjLEJyIGFzIGQsZXIgYXMgZixBbiBhcyBnLGtuIGFzIGgsT2kgYXMgaSx6ZSBhcyBqLExlIGFzIGsscXIgYXMgbCxqbiBhcyBtLEtpIGFzIG4sJHIgYXMgbyxHbiBhcyBwLElpIGFzIHIsc2kgYXMgcyxZaSBhcyB0LEtyIGFzIHUsZG4gYXMgdixmdCBhcyB3LEd0IGFzIHgsWXQgYXMgeSxuZSBhcyB6fTs"],
54262
+ ["assets/messages-PanJtVyS.js", "aW1wb3J0e28gYXMgZSxzIGFzIHR9ZnJvbSIuL2JyYW5kLUJ6LTJNOWVqLmpzIjtpbXBvcnR7bix0IGFzIHJ9ZnJvbSIuL2Zvcm1zLUJ2S3ZOSE1aLmpzIjtpbXBvcnR7dCBhcyBpfWZyb20iLi90cnVzdC1ESVlHUnRxaS5qcyI7aW1wb3J0e24gYXMgYX1mcm9tIi4vc3VyZmFjZS1EdkcwV2t6LS5qcyI7aW1wb3J0e3QgYXMgb31mcm9tIi4vcHJvb2YtbmowanktMkEuanMiO2ltcG9ydHtCIGFzIHMsTCBhcyBjLFQgYXMgbCxfIGFzIHUsZyBhcyBkLGggYXMgZixqIGFzIHAsbSxyIGFzIGgsdiBhcyBnLHogYXMgX31mcm9tIi4vaW5kZXgtMUJOaHl0czAuanMiO3ZhciB2PXQoKSx5PXt0aXRsZTpgTWVzc2FnZXNgLGxpc3RMYWJlbDpgQ29udGFjdHMgd2l0aCBtZXNzYWdlc2AsbmV3TWVzc2FnZXM6YE5ld2AsbG9hZGluZzpgTG9hZGluZyBtZXNzYWdlc-KApmAscmVmcmVzaDpgUmVmcmVzaGAsYmFjazpgQWxsIGNvbnRhY3RzYCxib3hMYWJlbDpgTWVzc2FnZXMgc2hvd25gLGluYm94OmBJbmJveGAsc2VudDpgU2VudGAscmVwbHk6YFRvIHJlcGx5LCBhc2sgeW91ciBBSS5gLG5vQ29udGFjdHM6YE1lc3NhZ2VzIGFwcGVhciBoZXJlIG9uY2UgeW91IGhhdmUgYSBjb250YWN0LmAsbm90aGluZ1lldDplPT5gTm90aGluZyB5ZXQuIFdoZW4geW91ciBBSSBhbmQgJHtlfSdzIGFnZW50IGV4Y2hhbmdlIG1lc3NhZ2VzLCB0aGV5IHNob3cgaGVyZS5gLGFzT2Y6ZT0-YGFzIG9mICR7ZX1gLHNob3dBbGw6YFNob3cgYWxsYCxzaG93TGVzczpgU2hvdyBsZXNzYCxjb3B5OmBDb3B5IHRleHRgLGNvcGllZDpgQ29waWVkLmAsY29weUZhaWxlZDpgQ291bGRuJ3QgY29weS4gU2VsZWN0IHRoZSB0ZXh0IGFuZCBjb3B5IGl0IHlvdXJzZWxmLmAsc2hvd01vcmU6YFNob3cgbW9yZWAsbG9hZGluZ01vcmU6YExvYWRpbmfigKZgLHlvdXJBaTpgeW91ciBBSWAsc3RhdHVzU2VudDpgU2VudGAsc3RhdHVzUXVldWVkOmBXYWl0aW5nIHRvIHNlbmRgLHN0YXR1c05vdERlbGl2ZXJlZDpgTm90IGRlbGl2ZXJlZGAscmVjZWlwdFllczpgRGVsaXZlcnkgcmVjZWlwdCByZWNlaXZlZGAscHJvb2ZDaGlwOmBQcm9vZiByZWNvcmRlZGAsdW5kZXJUaGVIb29kOmBVbmRlciB0aGUgaG9vZGAsaWRMYWJlbDpgTWVzc2FnZSBJRGAsc2l6ZUxhYmVsOmBTaXplYCxwcm9vZkxhYmVsOmBQcm9vZmAscHJvb2ZZZXM6YFJlY29yZGVkYCxwcm9vZk5vOmBOb25lYCxyZWNlaXB0TGFiZWw6YFJlY2VpcHRgLHJlY2VpcHRObzpgTm90IHlldGAsdHJ5QWdhaW46YFRyeSBhZ2FpbmAsZXJyb3JUaXRsZTpgTWVzc2FnZXMgZGlkbid0IGxvYWQuYCxlcnJvckJvZHk6YE5vdGhpbmcgY2hhbmdlZC4gVHJ5IGFnYWluIGluIGEgbW9tZW50LmAsb2ZmbGluZVRpdGxlOmBDYW4ndCByZWFjaCBBZ2VudExpbmsgb24gdGhpcyBjb21wdXRlci5gLG9mZmxpbmVCb2R5OmBDaGVjayB0aGF0IHlvdXIgQUkgYXBwIGlzIHN0aWxsIG9wZW4sIHRoZW4gdHJ5IGFnYWluLmAsc2Vzc2lvblRpdGxlOmBUaGlzIHBhZ2UgaGFzIGVuZGVkLmAsc2Vzc2lvbkJvZHk6YEFzayB5b3VyIEFJIHRvIG9wZW4gQWdlbnRMaW5rIGFnYWluLmAsbm90U2V0VXBUaXRsZTpgQWdlbnRMaW5rIGlzbid0IHNldCB1cCBvbiB0aGlzIGNvbXB1dGVyIHlldC5gLG5vdFNldFVwUHJvbXB0OmBzZXQgdXAgQWdlbnRMaW5rYH0sYj1lKCkseD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2RheTpgbnVtZXJpY2AsbW9udGg6YHNob3J0YCxob3VyOmAyLWRpZ2l0YCxtaW51dGU6YDItZGlnaXRgfSksUz1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YDItZGlnaXRgLG1pbnV0ZTpgMi1kaWdpdGB9KSxDPTQwMCx3PTYsVD1lPT5lLmxlbmd0aD5DfHxlLnNwbGl0KGAKYCkubGVuZ3RoPnc7ZnVuY3Rpb24gRShlKXtyZXR1cm4gZTwxMDI0P2Ake1N0cmluZyhlKX0gQmA6ZTwxMDQ4NTc2P2AkeyhlLzEwMjQpLnRvRml4ZWQoMSkucmVwbGFjZSgvXC4wJC8sYGApfSBLQmA6YCR7KGUvMTA0ODU3NikudG9GaXhlZCgxKS5yZXBsYWNlKC9cLjAkLyxgYCl9IE1CYH12YXIgRD17c2VudDooMCxiLmpzeCkoYyx7c3RhdHVzOmBzZW50YCxjaGlsZHJlbjp5LnN0YXR1c1NlbnR9KSxxdWV1ZWQ6KDAsYi5qc3gpKGMse3N0YXR1czpgd2FpdGluZy10by1wb3N0YCxjaGlsZHJlbjp5LnN0YXR1c1F1ZXVlZH0pLG5vdF9kZWxpdmVyZWQ6KDAsYi5qc3gpKGMse3N0YXR1czpgZmFpbGVkYCxjaGlsZHJlbjp5LnN0YXR1c05vdERlbGl2ZXJlZH0pfTtmdW5jdGlvbiBPKHtwcm9ibGVtOmUsb25SZXRyeTp0LGFzT2Y6bn0pe2xldCBpPSgwLGIuanN4KShyLHtzaXplOmBzbWAsb25DbGljazp0LGNoaWxkcmVuOnkudHJ5QWdhaW59KTtzd2l0Y2goZSl7Y2FzZWBub3Rfc2V0X3VwYDpyZXR1cm4oMCxiLmpzeCkocyx7aWNvbjpgc2V0dGluZ3NgLHRpdGxlOnkubm90U2V0VXBUaXRsZSxwcm9tcHQ6eS5ub3RTZXRVcFByb21wdH0pO2Nhc2Vgc2Vzc2lvbmA6cmV0dXJuKDAsYi5qc3gpKF8se3RvbmU6YGluZm9gLHRpdGxlOnkuc2Vzc2lvblRpdGxlLGNoaWxkcmVuOnkuc2Vzc2lvbkJvZHl9KTtjYXNlYG9mZmxpbmVgOnJldHVybigwLGIuanN4cykoXyx7dG9uZTpgb2ZmbGluZWAsdGl0bGU6eS5vZmZsaW5lVGl0bGUsYWN0aW9uOmksY2hpbGRyZW46W3kub2ZmbGluZUJvZHksbj09PXZvaWQgMD9gYDpgICR7eS5hc09mKG4pfWBdfSk7Y2FzZWBlcnJvcmA6cmV0dXJuKDAsYi5qc3hzKShfLHt0b25lOmB3YXJuaW5nYCx0aXRsZTp5LmVycm9yVGl0bGUsYWN0aW9uOmksY2hpbGRyZW46W3kuZXJyb3JCb2R5LG49PT12b2lkIDA_YGA6YCAke3kuYXNPZihuKX1gXX0pfX1mdW5jdGlvbiBrKGUpe3JldHVyblt7a2luZDpgaWRgLGxhYmVsOnkuaWRMYWJlbCx2YWx1ZTplLmlkfSx7a2luZDpgc2l6ZWAsbGFiZWw6eS5zaXplTGFiZWwsdmFsdWU6RShlLnNpemUpfSx7a2luZDpgdGV4dGAsbGFiZWw6eS5wcm9vZkxhYmVsLHZhbHVlOmUucHJvb2Y_eS5wcm9vZlllczp5LnByb29mTm99LC4uLmUuc3RhdHVzPT09dm9pZCAwP1tdOlt7a2luZDpgdGV4dGAsbGFiZWw6eS5yZWNlaXB0TGFiZWwsdmFsdWU6ZS5yZWNlaXB0P3kucmVjZWlwdFllczp5LnJlY2VpcHROb31dXX1mdW5jdGlvbiBBKHtpdGVtOmUsd2hvOnQsb25Db3B5Om59KXtsZXRbcyxsXT0oMCx2LnVzZVN0YXRlKSghMSksdT1UKGUudGV4dCksZD1uZXcgRGF0ZShlLmF0KjFlMyk7cmV0dXJuKDAsYi5qc3hzKShhLHthczpgbGlgLGxldmVsOjEsY2xhc3NOYW1lOmBtcy1pdGVtYCxjaGlsZHJlbjpbKDAsYi5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBtcy1tZXRhIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46WygwLGIuanN4KShgdGltZWAse2RhdGVUaW1lOmQudG9JU09TdHJpbmcoKSxjaGlsZHJlbjp4LmZvcm1hdChkKX0pLGUuc3RhdHVzPT09dm9pZCAwP251bGw6RFtlLnN0YXR1c10sZS5zdGF0dXMhPT12b2lkIDAmJmUucmVjZWlwdD8oMCxiLmpzeCkoYyx7c3RhdHVzOmBkZWxpdmVyZWRgLGNoaWxkcmVuOnkucmVjZWlwdFllc30pOm51bGwsZS5wcm9vZj8oMCxiLmpzeCkobyx7c3RhdGU6YHJlY29yZGVkYH0pOm51bGxdfSksZS50ZXh0PT09YGA_bnVsbDooMCxiLmpzeCkoaSx7ZnJvbTp0LGtpbmQ6YG1lc3NhZ2VgLC4uLnUmJiFzP3tjbGFzc05hbWU6YG1zLWNsYW1wZWRgfTp7fSxjaGlsZHJlbjplLnRleHR9KSxlLmZpbGVzLm1hcCgoZSxuKT0-KDAsYi5qc3hzKShgZGl2YCx7Y2hpbGRyZW46WygwLGIuanN4KShpLHtmcm9tOnQsZmlsZU5hbWU6ZS5uYW1lfSksKDAsYi5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOkUoZS5zaXplKX0pXX0sbikpLCgwLGIuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgbXMtYWN0aW9uc2AsY2hpbGRyZW46W3U_KDAsYi5qc3gpKHIse3NpemU6YHNtYCwiYXJpYS1leHBhbmRlZCI6cyxvbkNsaWNrOigpPT5sKCFzKSxjaGlsZHJlbjpzP3kuc2hvd0xlc3M6eS5zaG93QWxsfSk6bnVsbCxlLnRleHQ9PT1gYD9udWxsOigwLGIuanN4KShyLHtzaXplOmBzbWAsb25DbGljazooKT0-bihlLnRleHQpLGNoaWxkcmVuOnkuY29weX0pXX0pLCgwLGIuanN4KShoLHtmaWVsZHM6ayhlKX0pXX0pfWZ1bmN0aW9uIGooe2NvbnRhY3Q6ZSxtZXNzYWdlczp0LG9uQmFjazppLG9uT3BlbmVkOmF9KXtsZXRbbyxjXT0oMCx2LnVzZVN0YXRlKShgaW5gKSxbdSxkXT0oMCx2LnVzZVN0YXRlKSh7c3RhdGU6YGxvYWRpbmdgfSksW2YscF09KDAsdi51c2VTdGF0ZSkoYGApLG09KDAsdi51c2VSZWYpKG51bGwpLGg9KDAsdi51c2VSZWYpKDApLGc9KDAsdi51c2VDYWxsYmFjaykoYXN5bmMoKT0-e2xldCBuPSsraC5jdXJyZW50O2Qoe3N0YXRlOmBsb2FkaW5nYH0pO2xldCByPWF3YWl0IHQubWVzc2FnZXMoZS5jb250YWN0SWQsbyk7bj09PWguY3VycmVudCYmZChyLm9rP3tzdGF0ZTpgcmVhZHlgLC4uLk0oci52YWx1ZSksbW9yZTpgaWRsZWB9OntzdGF0ZTpgZmFpbGVkYCxwcm9ibGVtOnIucHJvYmxlbX0pfSxbdCxlLmNvbnRhY3RJZCxvXSk7KDAsdi51c2VFZmZlY3QpKCgpPT4oZygpLCgpPT57aC5jdXJyZW50Kyt9KSxbZ10pLCgwLHYudXNlRWZmZWN0KSgoKT0-e20uY3VycmVudD8uZm9jdXMoKX0sW2UuY29udGFjdElkXSk7bGV0e2NvbnRhY3RJZDpfLGxhc3RJbkF0Onh9PWU7KDAsdi51c2VFZmZlY3QpKCgpPT57YShfLHgpfSxbXyx4LGFdKTtsZXQgUz1hc3luYyBuPT57aWYobi5uZXh0PT09dm9pZCAwKXJldHVybjtsZXQgcj0rK2guY3VycmVudDtkKHsuLi5uLG1vcmU6YGxvYWRpbmdgfSk7bGV0IGk9YXdhaXQgdC5tZXNzYWdlcyhlLmNvbnRhY3RJZCxvLG4ubmV4dCk7cj09PWguY3VycmVudCYmZChpLm9rP3tzdGF0ZTpgcmVhZHlgLGl0ZW1zOlsuLi5uLml0ZW1zLC4uLmkudmFsdWUuaXRlbXNdLC4uLmkudmFsdWUubmV4dD09PXZvaWQgMD97fTp7bmV4dDppLnZhbHVlLm5leHR9LG1vcmU6YGlkbGVgfTp7Li4ubixtb3JlOmkucHJvYmxlbX0pfSxDPWU9PntsZXQgdD1lPT5wKGUpO3RyeXtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChlKS50aGVuKCgpPT50KHkuY29waWVkKSwoKT0-dCh5LmNvcHlGYWlsZWQpKX1jYXRjaHt0KHkuY29weUZhaWxlZCl9fSx3PW89PT1gaW5gP2UubmFtZTp5LnlvdXJBaTtyZXR1cm4oMCxiLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBtcy1kZXRhaWxgLCJhcmlhLWxhYmVsbGVkYnkiOmBtcy1kZXRhaWwtdGl0bGVgLGNoaWxkcmVuOlsoMCxiLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YG1zLWRldGFpbC1oZWFkYCxjaGlsZHJlbjpbKDAsYi5qc3gpKGBoMmAse2lkOmBtcy1kZXRhaWwtdGl0bGVgLHJlZjptLHRhYkluZGV4Oi0xLGNsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0yYCxjaGlsZHJlbjplLm5hbWV9KSwoMCxiLmpzeCkocix7c2l6ZTpgc21gLGNsYXNzTmFtZTpgbXMtYmFja2Asb25DbGljazppLGNoaWxkcmVuOnkuYmFja30pXX0pLCgwLGIuanN4KShuLHtsYWJlbDp5LmJveExhYmVsLHZhcmlhbnQ6YHRhYnNgLGlkUHJlZml4OmBtc2AscGFuZWxJZDpgbXMtcGFuZWxgLHZhbHVlOm8sb25DaGFuZ2U6ZT0-YyhlPT09YG91dGA_YG91dGA6YGluYCksb3B0aW9uczpbe3ZhbHVlOmBpbmAsbGFiZWw6eS5pbmJveH0se3ZhbHVlOmBvdXRgLGxhYmVsOnkuc2VudH1dfSksKDAsYi5qc3hzKShgZGl2YCx7aWQ6YG1zLXBhbmVsYCxyb2xlOmB0YWJwYW5lbGAsImFyaWEtbGFiZWxsZWRieSI6YG1zLXRhYi0ke299YCxjaGlsZHJlbjpbKDAsYi5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46Zn0pLHUuc3RhdGU9PT1gbG9hZGluZ2A_KDAsYi5qc3gpKGwse2xvYWRpbmc6ITAsbGFiZWw6eS5sb2FkaW5nLGxpbmVzOjN9KTp1LnN0YXRlPT09YGZhaWxlZGA_KDAsYi5qc3gpKE8se3Byb2JsZW06dS5wcm9ibGVtLG9uUmV0cnk6KCk9PnZvaWQgZygpfSk6dS5pdGVtcy5sZW5ndGg9PT0wJiZ1Lm5leHQ9PT12b2lkIDA_KDAsYi5qc3gpKHMse2ljb246YGluYm94YCx0aXRsZTp5Lm5vdGhpbmdZZXQoZS5uYW1lKX0pOigwLGIuanN4cykoYi5GcmFnbWVudCx7Y2hpbGRyZW46WygwLGIuanN4KShgdWxgLHtjbGFzc05hbWU6YG1zLWl0ZW1zYCwiYXJpYS1sYWJlbCI6bz09PWBpbmA_eS5pbmJveDp5LnNlbnQsY2hpbGRyZW46dS5pdGVtcy5tYXAoZT0-KDAsYi5qc3gpKEEse2l0ZW06ZSx3aG86dyxvbkNvcHk6Q30sZS5pZCkpfSksdS5tb3JlIT09YGlkbGVgJiZ1Lm1vcmUhPT1gbG9hZGluZ2A_KDAsYi5qc3gpKE8se3Byb2JsZW06dS5tb3JlLG9uUmV0cnk6KCk9PnZvaWQgUyh1KX0pOm51bGwsdS5uZXh0PT09dm9pZCAwP251bGw6KDAsYi5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YG1zLW1vcmVgLGNoaWxkcmVuOigwLGIuanN4KShyLHtvbkNsaWNrOigpPT52b2lkIFModSksZGlzYWJsZWQ6dS5tb3JlPT09YGxvYWRpbmdgLCJhcmlhLWJ1c3kiOnUubW9yZT09PWBsb2FkaW5nYCxjaGlsZHJlbjp1Lm1vcmU9PT1gbG9hZGluZ2A_eS5sb2FkaW5nTW9yZTp5LnNob3dNb3JlfSl9KV19KV19KSwoMCxiLmpzeCkoYHBgLHtjbGFzc05hbWU6YG1zLWZvb3RlciBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOnkucmVwbHl9KV19KX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLm5leHQ9PT12b2lkIDA_e2l0ZW1zOmUuaXRlbXN9OntpdGVtczplLml0ZW1zLG5leHQ6ZS5uZXh0fX1mdW5jdGlvbiBOKHtjOmUsaXNOZXc6dCxmcmVzaDpuLHNlbGVjdGVkOnIsb25PcGVuOml9KXtsZXQgYT1wKCEwLHtpc05ldzpufSksbz1lLmxhc3RBdD4wP25ldyBEYXRlKGUubGFzdEF0KjFlMyk6dm9pZCAwO3JldHVybigwLGIuanN4cykoYGxpYCx7cmVmOmEucmVmLGNsYXNzTmFtZTpgbXMtcm93LWl0ZW1gLGNoaWxkcmVuOlthLmhpZ2hsaWdodCwoMCxiLmpzeHMpKGBidXR0b25gLHt0eXBlOmBidXR0b25gLGNsYXNzTmFtZTpgbXMtcm93YCwiZGF0YS1jb250YWN0IjplLmNvbnRhY3RJZCwiYXJpYS1jdXJyZW50IjpyP2B0cnVlYDp2b2lkIDAsb25DbGljazppLGNoaWxkcmVuOlsoMCxiLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBtcy1yb3ctbWFpbmAsY2hpbGRyZW46WygwLGIuanN4KShgc3BhbmAse2NsYXNzTmFtZTp0P2BhbC10ZXh0LWJvZHkgbXMtbmV3YDpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjplLm5hbWV9KSwoMCxiLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46bz09PXZvaWQgMD9gYDp4LmZvcm1hdChvKX0pXX0pLHQ_KDAsYi5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC1jaGlwIGFsLXRvbmUtaW5mbyBhbC10ZXh0LWxhYmVsYCxjaGlsZHJlbjp5Lm5ld01lc3NhZ2VzfSk6bnVsbF19KV19KX1mdW5jdGlvbiBQKHthcGk6ZX0pe2xldCB0PSgwLHYudXNlUmVmKSh1KGU_P2coKSkpLFtuLGldPSgwLHYudXNlU3RhdGUpKHtzdGF0ZTpgbG9hZGluZ2B9KSxbbyxjXT0oMCx2LnVzZVN0YXRlKSh2b2lkIDApLFtwLGhdPSgwLHYudXNlU3RhdGUpKCgpPT5mKCkpLF89KDAsdi51c2VSZWYpKCEwKSx4PSgwLHYudXNlUmVmKShudWxsKSxDPSgwLHYudXNlUmVmKSh2b2lkIDApLHc9KDAsdi51c2VSZWYpKHZvaWQgMCksW1QsRV09KDAsdi51c2VTdGF0ZSkobmV3IFNldCksRD0oMCx2LnVzZUNhbGxiYWNrKShhc3luYygpPT57bGV0IGU9YXdhaXQgdC5jdXJyZW50LmNvbnZlcnNhdGlvbnMoKTtpZihfLmN1cnJlbnQpe2lmKGUub2spe2xldCB0PXcuY3VycmVudDt3LmN1cnJlbnQ9bmV3IFNldChlLnZhbHVlLm1hcChlPT5lLmNvbnRhY3RJZCkpLHQhPT12b2lkIDAmJkUobmV3IFNldChlLnZhbHVlLm1hcChlPT5lLmNvbnRhY3RJZCkuZmlsdGVyKGU9PiF0LmhhcyhlKSkpKX1pKHQ9PmUub2s_e3N0YXRlOmByZWFkeWAsbGlzdDplLnZhbHVlLGF0Om5ldyBEYXRlfTp0LnN0YXRlPT09YHJlYWR5YD97Li4udCxzdGFsZTplLnByb2JsZW19OntzdGF0ZTpgZmFpbGVkYCxwcm9ibGVtOmUucHJvYmxlbX0pfX0sW10pOygwLHYudXNlRWZmZWN0KSgoKT0-KF8uY3VycmVudD0hMCxEKCksKCk9PntfLmN1cnJlbnQ9ITF9KSxbRF0pO2xldCBrPSgwLHYudXNlQ2FsbGJhY2spKChlLHQpPT57aChkKGUsdCkpfSxbXSk7KDAsdi51c2VFZmZlY3QpKCgpPT57aWYobyE9PXZvaWQgMHx8Qy5jdXJyZW50PT09dm9pZCAwKXJldHVybjtsZXQgZT14LmN1cnJlbnQ_LnF1ZXJ5U2VsZWN0b3JBbGwoYGJ1dHRvbltkYXRhLWNvbnRhY3RdYCk_P1tdO2ZvcihsZXQgdCBvZiBlKXQuZGF0YXNldC5jb250YWN0PT09Qy5jdXJyZW50JiZ0LmZvY3VzKCl9LFtvXSk7bGV0IEE9bi5zdGF0ZT09PWByZWFkeWA_bi5saXN0LmZpbmQoZT0-ZS5jb250YWN0SWQ9PT1vKTp2b2lkIDA7cmV0dXJuKDAsYi5qc3hzKShiLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsYi5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YG1zLWhlYWRgLGNoaWxkcmVuOigwLGIuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46eS50aXRsZX0pfSksbi5zdGF0ZT09PWBsb2FkaW5nYD8oMCxiLmpzeCkobCx7bG9hZGluZzohMCxsYWJlbDp5LmxvYWRpbmcsbGluZXM6M30pOm4uc3RhdGU9PT1gZmFpbGVkYD8oMCxiLmpzeCkoTyx7cHJvYmxlbTpuLnByb2JsZW0sb25SZXRyeTooKT0-dm9pZCBEKCl9KTpuLmxpc3QubGVuZ3RoPT09MD8oMCxiLmpzeCkocyx7aWNvbjpgaW5ib3hgLHRpdGxlOnkubm9Db250YWN0c30pOigwLGIuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgbXMtbGF5b3V0JHtBPT09dm9pZCAwP2BgOmAgaGFzLXNlbGVjdGlvbmB9YCxjaGlsZHJlbjpbKDAsYi5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBtcy1saXN0LXdyYXBgLGNoaWxkcmVuOltuLnN0YWxlPT09dm9pZCAwP251bGw6KDAsYi5qc3gpKE8se3Byb2JsZW06bi5zdGFsZSxvblJldHJ5OigpPT52b2lkIEQoKSxhc09mOlMuZm9ybWF0KG4uYXQpfSksKDAsYi5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBtcy1saXN0LWJhcmAsY2hpbGRyZW46WygwLGIuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjptKG4ubGlzdCxwKT4wP3kubmV3TWVzc2FnZXM6YGB9KSwoMCxiLmpzeCkocix7c2l6ZTpgc21gLG9uQ2xpY2s6KCk9PnZvaWQgRCgpLGNoaWxkcmVuOnkucmVmcmVzaH0pXX0pLCgwLGIuanN4KShhLHtsZXZlbDoxLGNsYXNzTmFtZTpgbXMtbGlzdC1zdXJmYWNlYCxjaGlsZHJlbjooMCxiLmpzeCkoYHVsYCx7Y2xhc3NOYW1lOmBtcy1saXN0YCwiYXJpYS1sYWJlbCI6eS5saXN0TGFiZWwscmVmOngsY2hpbGRyZW46bi5saXN0Lm1hcChlPT4oMCxiLmpzeCkoTix7YzplLGlzTmV3OmUubGFzdEluQXQ-KHBbZS5jb250YWN0SWRdPz8wKSxmcmVzaDpULmhhcyhlLmNvbnRhY3RJZCksc2VsZWN0ZWQ6ZS5jb250YWN0SWQ9PT1vLG9uT3BlbjooKT0-e0MuY3VycmVudD1lLmNvbnRhY3RJZCxjKGUuY29udGFjdElkKX19LGUuY29udGFjdElkKSl9KX0pXX0pLEE9PT12b2lkIDA_bnVsbDooMCxiLmpzeCkoaix7Y29udGFjdDpBLG1lc3NhZ2VzOnQuY3VycmVudCxvbkJhY2s6KCk9PmModm9pZCAwKSxvbk9wZW5lZDprfSxBLmNvbnRhY3RJZCldfSldfSl9ZXhwb3J0e1AgYXMgTWVzc2FnZXNQYWdlfTs"],
54263
+ ["assets/proof-nj0jy-2A.js", "aW1wb3J0e2kgYXMgZSxvIGFzIHQsdCBhcyBufWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7dmFyIHI9dCgpLGk9e3JlY29yZGluZzpbYHJlZnJlc2gtY3dgLGBSZWNvcmRpbmcgcHJvb2bigKZgXSxyZWNvcmRlZDpbYHByb29mLXNlYWxgLGBQcm9vZiByZWNvcmRlZGBdLGZhaWxlZDpbYHRyaWFuZ2xlLWFsZXJ0YCxgUHJvb2Ygd2Fzbid0IHJlY29yZGVkYF0sd2FpdGluZzpbYGFwcHJvdmFsYCxgUHJvb2Ygd2FpdGluZyBmb3IgYXBwcm92YWxgXSxzdWJtaXR0ZWQ6W2BhcnJvdy1yaWdodGAsYFByb29mIHN1Ym1pdHRlZGBdLCJuZWVkcy1jcmVkaXRzIjpbYGNpcmNsZS1hbGVydGAsYFByb29mIG5lZWRzIGNyZWRpdHNgXX07ZnVuY3Rpb24gYSh7c3RhdGU6dD1gcmVjb3JkZWRgLHRpbWU6YX0pe2xldFtvLHNdPWlbdF0_P2kucmVjb3JkZWQ7cmV0dXJuKDAsci5qc3hzKShgc3BhbmAse2NsYXNzTmFtZTplKGBhbC1wcm9vZmAsYGlzLSR7dH1gKSxyb2xlOnQ9PT1gcmVjb3JkaW5nYD9gc3RhdHVzYDp2b2lkIDAsY2hpbGRyZW46WygwLHIuanN4KShuLHtuYW1lOm8sc2l6ZToxNH0pLCgwLHIuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpzfSksYT09PXZvaWQgMD9udWxsOigwLHIuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtcHJvb2YtdGltZSBhbC10ZXh0LWNvZGVgLGNoaWxkcmVuOmF9KV19KX1leHBvcnR7YSBhcyB0fTs"],
54264
+ ["assets/proofs-BiaUc8O1.js", "aW1wb3J0e28gYXMgZSxzIGFzIHQsdCBhcyBufWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7aW1wb3J0e2kgYXMgcix0IGFzIGl9ZnJvbSIuL2Zvcm1zLUJ2S3ZOSE1aLmpzIjtpbXBvcnR7biBhcyBhfWZyb20iLi9zdXJmYWNlLUR2RzBXa3otLmpzIjtpbXBvcnR7dCBhcyBvfWZyb20iLi9wcm9vZi1uajBqeS0yQS5qcyI7aW1wb3J0e0IgYXMgcyxFIGFzIGMsVCBhcyBsLGIgYXMgdSxrIGFzIGQsciBhcyBmLHYgYXMgcCx3IGFzIG0seSBhcyBofWZyb20iLi9pbmRleC0xQk5oeXRzMC5qcyI7aW1wb3J0e2EgYXMgZyxjIGFzIF8saSBhcyB2LGwgYXMgeSxuIGFzIGIsbyBhcyB4LHIgYXMgUyxzIGFzIEMsdCBhcyB3fWZyb20iLi9kYXRhLUJaR3k4WW51LmpzIjt2YXIgVD10KCksRT1mdW5jdGlvbihlLHQpe2xldCBuPWUscj1PW3RdLGk9bnVsbCxhPTAsbz1udWxsLHM9W10sYz17fSxsPWZ1bmN0aW9uKGUsdCl7YT1uKjQrMTcsaT1mdW5jdGlvbihlKXtsZXQgdD1BcnJheShlKTtmb3IobGV0IG49MDtuPGU7bis9MSl7dFtuXT1BcnJheShlKTtmb3IobGV0IHI9MDtyPGU7cis9MSl0W25dW3JdPW51bGx9cmV0dXJuIHR9KGEpLHUoMCwwKSx1KGEtNywwKSx1KDAsYS03KSxwKCksZigpLGgoZSx0KSxuPj03JiZtKGUpLG8_Pz12KG4scixzKSxnKG8sdCl9LHU9ZnVuY3Rpb24oZSx0KXtmb3IobGV0IG49LTE7bjw9NztuKz0xKWlmKCEoZStuPD0tMXx8YTw9ZStuKSlmb3IobGV0IHI9LTE7cjw9NztyKz0xKXQrcjw9LTF8fGE8PXQrcnx8KDA8PW4mJm48PTYmJihyPT0wfHxyPT02KXx8MDw9ciYmcjw9NiYmKG49PTB8fG49PTYpfHwyPD1uJiZuPD00JiYyPD1yJiZyPD00P2lbZStuXVt0K3JdPSEwOmlbZStuXVt0K3JdPSExKX0sZD1mdW5jdGlvbigpe2xldCBlPTAsdD0wO2ZvcihsZXQgbj0wO248ODtuKz0xKXtsKCEwLG4pO2xldCByPUEuZ2V0TG9zdFBvaW50KGMpOyhuPT0wfHxlPnIpJiYoZT1yLHQ9bil9cmV0dXJuIHR9LGY9ZnVuY3Rpb24oKXtmb3IobGV0IGU9ODtlPGEtODtlKz0xKWlbZV1bNl0_PyhpW2VdWzZdPWUlMj09MCk7Zm9yKGxldCBlPTg7ZTxhLTg7ZSs9MSlpWzZdW2VdPz8oaVs2XVtlXT1lJTI9PTApfSxwPWZ1bmN0aW9uKCl7bGV0IGU9QS5nZXRQYXR0ZXJuUG9zaXRpb24obik7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0xKWZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9MSl7bGV0IHI9ZVt0XSxhPWVbbl07aWYoaVtyXVthXT09bnVsbClmb3IobGV0IGU9LTI7ZTw9MjtlKz0xKWZvcihsZXQgdD0tMjt0PD0yO3QrPTEpZT09LTJ8fGU9PTJ8fHQ9PS0yfHx0PT0yfHxlPT0wJiZ0PT0wP2lbcitlXVthK3RdPSEwOmlbcitlXVthK3RdPSExfX0sbT1mdW5jdGlvbihlKXtsZXQgdD1BLmdldEJDSFR5cGVOdW1iZXIobik7Zm9yKGxldCBuPTA7bjwxODtuKz0xKXtsZXQgcj0hZSYmKHQ-Pm4mMSk9PTE7aVtNYXRoLmZsb29yKG4vMyldW24lMythLTgtM109cn1mb3IobGV0IG49MDtuPDE4O24rPTEpe2xldCByPSFlJiYodD4-biYxKT09MTtpW24lMythLTgtM11bTWF0aC5mbG9vcihuLzMpXT1yfX0saD1mdW5jdGlvbihlLHQpe2xldCBuPXI8PDN8dCxvPUEuZ2V0QkNIVHlwZUluZm8obik7Zm9yKGxldCB0PTA7dDwxNTt0Kz0xKXtsZXQgbj0hZSYmKG8-PnQmMSk9PTE7dDw2P2lbdF1bOF09bjp0PDg_aVt0KzFdWzhdPW46aVthLTE1K3RdWzhdPW59Zm9yKGxldCB0PTA7dDwxNTt0Kz0xKXtsZXQgbj0hZSYmKG8-PnQmMSk9PTE7dDw4P2lbOF1bYS10LTFdPW46dDw5P2lbOF1bMTUtdC0xKzFdPW46aVs4XVsxNS10LTFdPW59aVthLThdWzhdPSFlfSxnPWZ1bmN0aW9uKGUsdCl7bGV0IG49LTEscj1hLTEsbz03LHM9MCxjPUEuZ2V0TWFza0Z1bmN0aW9uKHQpO2ZvcihsZXQgdD1hLTE7dD4wO3QtPTIpZm9yKHQ9PTYmJi0tdDs7KXtmb3IobGV0IG49MDtuPDI7bis9MSlpZihpW3JdW3Qtbl09PW51bGwpe2xldCBhPSExO3M8ZS5sZW5ndGgmJihhPShlW3NdPj4-byYxKT09MSksYyhyLHQtbikmJihhPSFhKSxpW3JdW3Qtbl09YSwtLW8sbz09LTEmJihzKz0xLG89Nyl9aWYocis9bixyPDB8fGE8PXIpe3ItPW4sbj0tbjticmVha319fSxfPWZ1bmN0aW9uKGUsdCl7bGV0IG49MCxyPTAsaT0wLGE9QXJyYXkodC5sZW5ndGgpLG89QXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgcz0wO3M8dC5sZW5ndGg7cys9MSl7bGV0IGM9dFtzXS5kYXRhQ291bnQsbD10W3NdLnRvdGFsQ291bnQtYztyPU1hdGgubWF4KHIsYyksaT1NYXRoLm1heChpLGwpLGFbc109QXJyYXkoYyk7Zm9yKGxldCB0PTA7dDxhW3NdLmxlbmd0aDt0Kz0xKWFbc11bdF09MjU1JmUuZ2V0QnVmZmVyKClbdCtuXTtuKz1jO2xldCB1PUEuZ2V0RXJyb3JDb3JyZWN0UG9seW5vbWlhbChsKSxkPU0oYVtzXSx1LmdldExlbmd0aCgpLTEpLm1vZCh1KTtvW3NdPUFycmF5KHUuZ2V0TGVuZ3RoKCktMSk7Zm9yKGxldCBlPTA7ZTxvW3NdLmxlbmd0aDtlKz0xKXtsZXQgdD1lK2QuZ2V0TGVuZ3RoKCktb1tzXS5sZW5ndGg7b1tzXVtlXT10Pj0wP2QuZ2V0QXQodCk6MH19bGV0IHM9MDtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrPTEpcys9dFtlXS50b3RhbENvdW50O2xldCBjPUFycmF5KHMpLGw9MDtmb3IobGV0IGU9MDtlPHI7ZSs9MSlmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rPTEpZTxhW25dLmxlbmd0aCYmKGNbbF09YVtuXVtlXSxsKz0xKTtmb3IobGV0IGU9MDtlPGk7ZSs9MSlmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rPTEpZTxvW25dLmxlbmd0aCYmKGNbbF09b1tuXVtlXSxsKz0xKTtyZXR1cm4gY30sdj1mdW5jdGlvbihlLHQsbil7bGV0IHI9Ti5nZXRSU0Jsb2NrcyhlLHQpLGk9UCgpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCs9MSl7bGV0IHI9blt0XTtpLnB1dChyLmdldE1vZGUoKSw0KSxpLnB1dChyLmdldExlbmd0aCgpLEEuZ2V0TGVuZ3RoSW5CaXRzKHIuZ2V0TW9kZSgpLGUpKSxyLndyaXRlKGkpfWxldCBhPTA7Zm9yKGxldCBlPTA7ZTxyLmxlbmd0aDtlKz0xKWErPXJbZV0uZGF0YUNvdW50O2lmKGkuZ2V0TGVuZ3RoSW5CaXRzKCk-YSo4KXRocm93YGNvZGUgbGVuZ3RoIG92ZXJmbG93LiAoYCtpLmdldExlbmd0aEluQml0cygpK2A-YCthKjgrYClgO2ZvcihpLmdldExlbmd0aEluQml0cygpKzQ8PWEqOCYmaS5wdXQoMCw0KTtpLmdldExlbmd0aEluQml0cygpJTghPTA7KWkucHV0Qml0KCExKTtmb3IoOyEoaS5nZXRMZW5ndGhJbkJpdHMoKT49YSo4fHwoaS5wdXQoMjM2LDgpLGkuZ2V0TGVuZ3RoSW5CaXRzKCk-PWEqOCkpOylpLnB1dCgxNyw4KTtyZXR1cm4gXyhpLHIpfTtjLmFkZERhdGE9ZnVuY3Rpb24oZSx0KXt0fHw9YEJ5dGVgO2xldCBuPW51bGw7c3dpdGNoKHQpe2Nhc2VgTnVtZXJpY2A6bj1GKGUpO2JyZWFrO2Nhc2VgQWxwaGFudW1lcmljYDpuPUkoZSk7YnJlYWs7Y2FzZWBCeXRlYDpuPUwoZSk7YnJlYWs7Y2FzZWBLYW5qaWA6bj1SKGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3dgbW9kZTpgK3R9cy5wdXNoKG4pLG89bnVsbH0sYy5pc0Rhcms9ZnVuY3Rpb24oZSx0KXtpZihlPDB8fGE8PWV8fHQ8MHx8YTw9dCl0aHJvdyBlK2AsYCt0O3JldHVybiBpW2VdW3RdfSxjLmdldE1vZHVsZUNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIGF9LGMubWFrZT1mdW5jdGlvbigpe2lmKG48MSl7bGV0IGU9MTtmb3IoO2U8NDA7ZSsrKXtsZXQgdD1OLmdldFJTQmxvY2tzKGUsciksbj1QKCk7Zm9yKGxldCB0PTA7dDxzLmxlbmd0aDt0Kyspe2xldCByPXNbdF07bi5wdXQoci5nZXRNb2RlKCksNCksbi5wdXQoci5nZXRMZW5ndGgoKSxBLmdldExlbmd0aEluQml0cyhyLmdldE1vZGUoKSxlKSksci53cml0ZShuKX1sZXQgaT0wO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWkrPXRbZV0uZGF0YUNvdW50O2lmKG4uZ2V0TGVuZ3RoSW5CaXRzKCk8PWkqOClicmVha31uPWV9bCghMSxkKCkpfSxjLmNyZWF0ZVRhYmxlVGFnPWZ1bmN0aW9uKGUsdCl7ZXx8PTIsdD10PT09dm9pZCAwP2UqNDp0O2xldCBuPWBgO24rPWA8dGFibGUgc3R5bGU9ImAsbis9YCBib3JkZXItd2lkdGg6IDBweDsgYm9yZGVyLXN0eWxlOiBub25lO2Asbis9YCBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO2Asbis9YCBwYWRkaW5nOiAwcHg7IG1hcmdpbjogYCt0K2BweDtgLG4rPWAiPmAsbis9YDx0Ym9keT5gO2ZvcihsZXQgdD0wO3Q8Yy5nZXRNb2R1bGVDb3VudCgpO3QrPTEpe24rPWA8dHI-YDtmb3IobGV0IHI9MDtyPGMuZ2V0TW9kdWxlQ291bnQoKTtyKz0xKW4rPWA8dGQgc3R5bGU9ImAsbis9YCBib3JkZXItd2lkdGg6IDBweDsgYm9yZGVyLXN0eWxlOiBub25lO2Asbis9YCBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO2Asbis9YCBwYWRkaW5nOiAwcHg7IG1hcmdpbjogMHB4O2Asbis9YCB3aWR0aDogYCtlK2BweDtgLG4rPWAgaGVpZ2h0OiBgK2UrYHB4O2Asbis9YCBiYWNrZ3JvdW5kLWNvbG9yOiBgLG4rPWMuaXNEYXJrKHQscik_YCMwMDAwMDBgOmAjZmZmZmZmYCxuKz1gO2Asbis9YCIvPmA7bis9YDwvdHI-YH1yZXR1cm4gbis9YDwvdGJvZHk-YCxuKz1gPC90YWJsZT5gLG59LGMuY3JlYXRlU3ZnVGFnPWZ1bmN0aW9uKGUsdCxuLHIpe2xldCBpPXt9O3R5cGVvZiBhcmd1bWVudHNbMF09PWBvYmplY3RgJiYoaT1hcmd1bWVudHNbMF0sZT1pLmNlbGxTaXplLHQ9aS5tYXJnaW4sbj1pLmFsdCxyPWkudGl0bGUpLGV8fD0yLHQ9dD09PXZvaWQgMD9lKjQ6dCxuPXR5cGVvZiBuPT1gc3RyaW5nYD97dGV4dDpufTpufHx7fSxuLnRleHQ9bi50ZXh0fHxudWxsLG4uaWQ9bi50ZXh0P24uaWR8fGBxcmNvZGUtZGVzY3JpcHRpb25gOm51bGwscj10eXBlb2Ygcj09YHN0cmluZ2A_e3RleHQ6cn06cnx8e30sci50ZXh0PXIudGV4dHx8bnVsbCxyLmlkPXIudGV4dD9yLmlkfHxgcXJjb2RlLXRpdGxlYDpudWxsO2xldCBhPWMuZ2V0TW9kdWxlQ291bnQoKSplK3QqMixvLHMsbCx1LGQ9YGAsZjtmb3IoZj1gbGArZStgLDAgMCxgK2UrYCAtYCtlK2AsMCAwLC1gK2UrYHogYCxkKz1gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJgLGQrPWkuc2NhbGFibGU_YGA6YCB3aWR0aD0iYCthK2BweCIgaGVpZ2h0PSJgK2ErYHB4ImAsZCs9YCB2aWV3Qm94PSIwIDAgYCthK2AgYCthK2AiIGAsZCs9YCBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0ImAsZCs9ci50ZXh0fHxuLnRleHQ_YCByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0iYCt5KFtyLmlkLG4uaWRdLmpvaW4oYCBgKS50cmltKCkpK2AiYDpgYCxkKz1gPmAsZCs9ci50ZXh0P2A8dGl0bGUgaWQ9ImAreShyLmlkKStgIj5gK3koci50ZXh0KStgPC90aXRsZT5gOmBgLGQrPW4udGV4dD9gPGRlc2NyaXB0aW9uIGlkPSJgK3kobi5pZCkrYCI-YCt5KG4udGV4dCkrYDwvZGVzY3JpcHRpb24-YDpgYCxkKz1gPHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0id2hpdGUiIGN4PSIwIiBjeT0iMCIvPmAsZCs9YDxwYXRoIGQ9ImAsbD0wO2w8Yy5nZXRNb2R1bGVDb3VudCgpO2wrPTEpZm9yKHU9bCplK3Qsbz0wO288Yy5nZXRNb2R1bGVDb3VudCgpO28rPTEpYy5pc0RhcmsobCxvKSYmKHM9byplK3QsZCs9YE1gK3MrYCxgK3UrZik7cmV0dXJuIGQrPWAiIHN0cm9rZT0idHJhbnNwYXJlbnQiIGZpbGw9ImJsYWNrIi8-YCxkKz1gPC9zdmc-YCxkfSxjLmNyZWF0ZURhdGFVUkw9ZnVuY3Rpb24oZSx0KXtlfHw9Mix0PXQ9PT12b2lkIDA_ZSo0OnQ7bGV0IG49Yy5nZXRNb2R1bGVDb3VudCgpKmUrdCoyLHI9dCxpPW4tdDtyZXR1cm4gVShuLG4sZnVuY3Rpb24odCxuKXtpZihyPD10JiZ0PGkmJnI8PW4mJm48aSl7bGV0IGk9TWF0aC5mbG9vcigodC1yKS9lKSxhPU1hdGguZmxvb3IoKG4tcikvZSk7cmV0dXJuKyFjLmlzRGFyayhhLGkpfXJldHVybiAxfSl9LGMuY3JlYXRlSW1nVGFnPWZ1bmN0aW9uKGUsdCxuKXtlfHw9Mix0PXQ9PT12b2lkIDA_ZSo0OnQ7bGV0IHI9Yy5nZXRNb2R1bGVDb3VudCgpKmUrdCoyLGk9YGA7cmV0dXJuIGkrPWA8aW1nYCxpKz1gIHNyYz0iYCxpKz1jLmNyZWF0ZURhdGFVUkwoZSx0KSxpKz1gImAsaSs9YCB3aWR0aD0iYCxpKz1yLGkrPWAiYCxpKz1gIGhlaWdodD0iYCxpKz1yLGkrPWAiYCxuJiYoaSs9YCBhbHQ9ImAsaSs9eShuKSxpKz1gImApLGkrPWAvPmAsaX07bGV0IHk9ZnVuY3Rpb24oZSl7bGV0IHQ9YGA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKz0xKXtsZXQgcj1lLmNoYXJBdChuKTtzd2l0Y2gocil7Y2FzZWA8YDp0Kz1gJmx0O2A7YnJlYWs7Y2FzZWA-YDp0Kz1gJmd0O2A7YnJlYWs7Y2FzZWAmYDp0Kz1gJmFtcDtgO2JyZWFrO2Nhc2VgImA6dCs9YCZxdW90O2A7YnJlYWs7ZGVmYXVsdDp0Kz1yfX1yZXR1cm4gdH0sYj1mdW5jdGlvbihlKXtlPWU9PT12b2lkIDA_MjplO2xldCB0PWMuZ2V0TW9kdWxlQ291bnQoKSoxK2UqMixuPWUscj10LWUsaSxhLG8scyxsLHU9eyLilojilogiOmDilohgLCLiloggIjpg4paAYCwiIOKWiCI6YOKWhGAsIiAgIjpgIGB9LGQ9eyLilojilogiOmDiloBgLCLiloggIjpg4paAYCwiIOKWiCI6YCBgLCIgICI6YCBgfSxmPWBgO2ZvcihpPTA7aTx0O2krPTIpe2ZvcihvPU1hdGguZmxvb3IoKGktbikvMSkscz1NYXRoLmZsb29yKChpKzEtbikvMSksYT0wO2E8dDthKz0xKWw9YOKWiGAsbjw9YSYmYTxyJiZuPD1pJiZpPHImJmMuaXNEYXJrKG8sTWF0aC5mbG9vcigoYS1uKS8xKSkmJihsPWAgYCksbjw9YSYmYTxyJiZuPD1pKzEmJmkrMTxyJiZjLmlzRGFyayhzLE1hdGguZmxvb3IoKGEtbikvMSkpP2wrPWAgYDpsKz1g4paIYCxmKz1lPDEmJmkrMT49cj9kW2xdOnVbbF07Zis9YApgfXJldHVybiB0JTImJmU-MD9mLnN1YnN0cmluZygwLGYubGVuZ3RoLXQtMSkrQXJyYXkodCsxKS5qb2luKGDiloBgKTpmLnN1YnN0cmluZygwLGYubGVuZ3RoLTEpfTtyZXR1cm4gYy5jcmVhdGVBU0NJST1mdW5jdGlvbihlLHQpe2lmKGV8fD0xLGU8MilyZXR1cm4gYih0KTstLWUsdD10PT09dm9pZCAwP2UqMjp0O2xldCBuPWMuZ2V0TW9kdWxlQ291bnQoKSplK3QqMixyPXQsaT1uLXQsYSxvLHMsbCx1PUFycmF5KGUrMSkuam9pbihg4paI4paIYCksZD1BcnJheShlKzEpLmpvaW4oYCAgYCksZj1gYCxwPWBgO2ZvcihhPTA7YTxuO2ErPTEpe2ZvcihzPU1hdGguZmxvb3IoKGEtcikvZSkscD1gYCxvPTA7bzxuO28rPTEpbD0xLHI8PW8mJm88aSYmcjw9YSYmYTxpJiZjLmlzRGFyayhzLE1hdGguZmxvb3IoKG8tcikvZSkpJiYobD0wKSxwKz1sP3U6ZDtmb3Iocz0wO3M8ZTtzKz0xKWYrPXArYApgfXJldHVybiBmLnN1YnN0cmluZygwLGYubGVuZ3RoLTEpfSxjLnJlbmRlclRvMmRDb250ZXh0PWZ1bmN0aW9uKGUsdCl7dHx8PTI7bGV0IG49Yy5nZXRNb2R1bGVDb3VudCgpO2ZvcihsZXQgcj0wO3I8bjtyKyspZm9yKGxldCBpPTA7aTxuO2krKyllLmZpbGxTdHlsZT1jLmlzRGFyayhyLGkpP2BibGFja2A6YHdoaXRlYCxlLmZpbGxSZWN0KGkqdCxyKnQsdCx0KX0sY307RS5zdHJpbmdUb0J5dGVzPWZ1bmN0aW9uKGUpe2xldCB0PVtdO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9MSl7bGV0IHI9ZS5jaGFyQ29kZUF0KG4pO3QucHVzaChyJjI1NSl9cmV0dXJuIHR9LEUuY3JlYXRlU3RyaW5nVG9CeXRlcz1mdW5jdGlvbihlLHQpe2xldCBuPWZ1bmN0aW9uKCl7bGV0IG49VihlKSxyPWZ1bmN0aW9uKCl7bGV0IGU9bi5yZWFkKCk7aWYoZT09LTEpdGhyb3dgZW9mYDtyZXR1cm4gZX0saT0wLGE9e307Zm9yKDs7KXtsZXQgZT1uLnJlYWQoKTtpZihlPT0tMSlicmVhaztsZXQgdD1yKCksbz1yKCkscz1yKCksYz1TdHJpbmcuZnJvbUNoYXJDb2RlKGU8PDh8dCk7YVtjXT1vPDw4fHMsaSs9MX1pZihpIT10KXRocm93IGkrYCAhPSBgK3Q7cmV0dXJuIGF9KCk7cmV0dXJuIGZ1bmN0aW9uKGUpe2xldCB0PVtdO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cis9MSl7bGV0IGk9ZS5jaGFyQ29kZUF0KHIpO2lmKGk8MTI4KXQucHVzaChpKTtlbHNle2xldCBpPW5bZS5jaGFyQXQocildO3R5cGVvZiBpPT1gbnVtYmVyYD8oaSYyNTUpPT1pP3QucHVzaChpKToodC5wdXNoKGk-Pj44KSx0LnB1c2goaSYyNTUpKTp0LnB1c2goNjMpfX1yZXR1cm4gdH19O3ZhciBEPXtNT0RFX05VTUJFUjoxLE1PREVfQUxQSEFfTlVNOjIsTU9ERV84QklUX0JZVEU6NCxNT0RFX0tBTkpJOjh9LE89e0w6MSxNOjAsUTozLEg6Mn0saz17UEFUVEVSTjAwMDowLFBBVFRFUk4wMDE6MSxQQVRURVJOMDEwOjIsUEFUVEVSTjAxMTozLFBBVFRFUk4xMDA6NCxQQVRURVJOMTAxOjUsUEFUVEVSTjExMDo2LFBBVFRFUk4xMTE6N30sQT1mdW5jdGlvbigpe2xldCBlPVtbXSxbNiwxOF0sWzYsMjJdLFs2LDI2XSxbNiwzMF0sWzYsMzRdLFs2LDIyLDM4XSxbNiwyNCw0Ml0sWzYsMjYsNDZdLFs2LDI4LDUwXSxbNiwzMCw1NF0sWzYsMzIsNThdLFs2LDM0LDYyXSxbNiwyNiw0Niw2Nl0sWzYsMjYsNDgsNzBdLFs2LDI2LDUwLDc0XSxbNiwzMCw1NCw3OF0sWzYsMzAsNTYsODJdLFs2LDMwLDU4LDg2XSxbNiwzNCw2Miw5MF0sWzYsMjgsNTAsNzIsOTRdLFs2LDI2LDUwLDc0LDk4XSxbNiwzMCw1NCw3OCwxMDJdLFs2LDI4LDU0LDgwLDEwNl0sWzYsMzIsNTgsODQsMTEwXSxbNiwzMCw1OCw4NiwxMTRdLFs2LDM0LDYyLDkwLDExOF0sWzYsMjYsNTAsNzQsOTgsMTIyXSxbNiwzMCw1NCw3OCwxMDIsMTI2XSxbNiwyNiw1Miw3OCwxMDQsMTMwXSxbNiwzMCw1Niw4MiwxMDgsMTM0XSxbNiwzNCw2MCw4NiwxMTIsMTM4XSxbNiwzMCw1OCw4NiwxMTQsMTQyXSxbNiwzNCw2Miw5MCwxMTgsMTQ2XSxbNiwzMCw1NCw3OCwxMDIsMTI2LDE1MF0sWzYsMjQsNTAsNzYsMTAyLDEyOCwxNTRdLFs2LDI4LDU0LDgwLDEwNiwxMzIsMTU4XSxbNiwzMiw1OCw4NCwxMTAsMTM2LDE2Ml0sWzYsMjYsNTQsODIsMTEwLDEzOCwxNjZdLFs2LDMwLDU4LDg2LDExNCwxNDIsMTcwXV0sdD0xMzM1LG49Nzk3MyxyPXt9LGk9ZnVuY3Rpb24oZSl7bGV0IHQ9MDtmb3IoO2UhPTA7KXQrPTEsZT4-Pj0xO3JldHVybiB0fTtyZXR1cm4gci5nZXRCQ0hUeXBlSW5mbz1mdW5jdGlvbihlKXtsZXQgbj1lPDwxMDtmb3IoO2kobiktaSh0KT49MDspbl49dDw8aShuKS1pKHQpO3JldHVybihlPDwxMHxuKV4yMTUyMn0sci5nZXRCQ0hUeXBlTnVtYmVyPWZ1bmN0aW9uKGUpe2xldCB0PWU8PDEyO2Zvcig7aSh0KS1pKG4pPj0wOyl0Xj1uPDxpKHQpLWkobik7cmV0dXJuIGU8PDEyfHR9LHIuZ2V0UGF0dGVyblBvc2l0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBlW3QtMV19LHIuZ2V0TWFza0Z1bmN0aW9uPWZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIGsuUEFUVEVSTjAwMDpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSt0KSUyPT0wfTtjYXNlIGsuUEFUVEVSTjAwMTpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSUyPT0wfTtjYXNlIGsuUEFUVEVSTjAxMDpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCUzPT0wfTtjYXNlIGsuUEFUVEVSTjAxMTpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSt0KSUzPT0wfTtjYXNlIGsuUEFUVEVSTjEwMDpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4oTWF0aC5mbG9vcihlLzIpK01hdGguZmxvb3IodC8zKSklMj09MH07Y2FzZSBrLlBBVFRFUk4xMDE6cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUqdCUyK2UqdCUzPT0wfTtjYXNlIGsuUEFUVEVSTjExMDpyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSp0JTIrZSp0JTMpJTI9PTB9O2Nhc2Ugay5QQVRURVJOMTExOnJldHVybiBmdW5jdGlvbihlLHQpe3JldHVybihlKnQlMysoZSt0KSUyKSUyPT0wfTtkZWZhdWx0OnRocm93YGJhZCBtYXNrUGF0dGVybjpgK2V9fSxyLmdldEVycm9yQ29ycmVjdFBvbHlub21pYWw9ZnVuY3Rpb24oZSl7bGV0IHQ9TShbMV0sMCk7Zm9yKGxldCBuPTA7bjxlO24rPTEpdD10Lm11bHRpcGx5KE0oWzEsai5nZXhwKG4pXSwwKSk7cmV0dXJuIHR9LHIuZ2V0TGVuZ3RoSW5CaXRzPWZ1bmN0aW9uKGUsdCl7aWYoMTw9dCYmdDwxMClzd2l0Y2goZSl7Y2FzZSBELk1PREVfTlVNQkVSOnJldHVybiAxMDtjYXNlIEQuTU9ERV9BTFBIQV9OVU06cmV0dXJuIDk7Y2FzZSBELk1PREVfOEJJVF9CWVRFOnJldHVybiA4O2Nhc2UgRC5NT0RFX0tBTkpJOnJldHVybiA4O2RlZmF1bHQ6dGhyb3dgbW9kZTpgK2V9ZWxzZSBpZih0PDI3KXN3aXRjaChlKXtjYXNlIEQuTU9ERV9OVU1CRVI6cmV0dXJuIDEyO2Nhc2UgRC5NT0RFX0FMUEhBX05VTTpyZXR1cm4gMTE7Y2FzZSBELk1PREVfOEJJVF9CWVRFOnJldHVybiAxNjtjYXNlIEQuTU9ERV9LQU5KSTpyZXR1cm4gMTA7ZGVmYXVsdDp0aHJvd2Btb2RlOmArZX1lbHNlIGlmKHQ8NDEpc3dpdGNoKGUpe2Nhc2UgRC5NT0RFX05VTUJFUjpyZXR1cm4gMTQ7Y2FzZSBELk1PREVfQUxQSEFfTlVNOnJldHVybiAxMztjYXNlIEQuTU9ERV84QklUX0JZVEU6cmV0dXJuIDE2O2Nhc2UgRC5NT0RFX0tBTkpJOnJldHVybiAxMjtkZWZhdWx0OnRocm93YG1vZGU6YCtlfWVsc2UgdGhyb3dgdHlwZTpgK3R9LHIuZ2V0TG9zdFBvaW50PWZ1bmN0aW9uKGUpe2xldCB0PWUuZ2V0TW9kdWxlQ291bnQoKSxuPTA7Zm9yKGxldCByPTA7cjx0O3IrPTEpZm9yKGxldCBpPTA7aTx0O2krPTEpe2xldCBhPTAsbz1lLmlzRGFyayhyLGkpO2ZvcihsZXQgbj0tMTtuPD0xO24rPTEpaWYoIShyK248MHx8dDw9cituKSlmb3IobGV0IHM9LTE7czw9MTtzKz0xKWkrczwwfHx0PD1pK3N8fChuIT0wfHxzIT0wKSYmbz09ZS5pc0RhcmsocituLGkrcykmJihhKz0xKTthPjUmJihuKz0zK2EtNSl9Zm9yKGxldCByPTA7cjx0LTE7cis9MSlmb3IobGV0IGk9MDtpPHQtMTtpKz0xKXtsZXQgdD0wO2UuaXNEYXJrKHIsaSkmJih0Kz0xKSxlLmlzRGFyayhyKzEsaSkmJih0Kz0xKSxlLmlzRGFyayhyLGkrMSkmJih0Kz0xKSxlLmlzRGFyayhyKzEsaSsxKSYmKHQrPTEpLCh0PT0wfHx0PT00KSYmKG4rPTMpfWZvcihsZXQgcj0wO3I8dDtyKz0xKWZvcihsZXQgaT0wO2k8dC02O2krPTEpZS5pc0RhcmsocixpKSYmIWUuaXNEYXJrKHIsaSsxKSYmZS5pc0RhcmsocixpKzIpJiZlLmlzRGFyayhyLGkrMykmJmUuaXNEYXJrKHIsaSs0KSYmIWUuaXNEYXJrKHIsaSs1KSYmZS5pc0RhcmsocixpKzYpJiYobis9NDApO2ZvcihsZXQgcj0wO3I8dDtyKz0xKWZvcihsZXQgaT0wO2k8dC02O2krPTEpZS5pc0RhcmsoaSxyKSYmIWUuaXNEYXJrKGkrMSxyKSYmZS5pc0RhcmsoaSsyLHIpJiZlLmlzRGFyayhpKzMscikmJmUuaXNEYXJrKGkrNCxyKSYmIWUuaXNEYXJrKGkrNSxyKSYmZS5pc0RhcmsoaSs2LHIpJiYobis9NDApO2xldCByPTA7Zm9yKGxldCBuPTA7bjx0O24rPTEpZm9yKGxldCBpPTA7aTx0O2krPTEpZS5pc0RhcmsoaSxuKSYmKHIrPTEpO2xldCBpPU1hdGguYWJzKDEwMCpyL3QvdC01MCkvNTtyZXR1cm4gbis9aSoxMCxufSxyfSgpLGo9ZnVuY3Rpb24oKXtsZXQgZT1BcnJheSgyNTYpLHQ9QXJyYXkoMjU2KTtmb3IobGV0IHQ9MDt0PDg7dCs9MSllW3RdPTE8PHQ7Zm9yKGxldCB0PTg7dDwyNTY7dCs9MSllW3RdPWVbdC00XV5lW3QtNV1eZVt0LTZdXmVbdC04XTtmb3IobGV0IG49MDtuPDI1NTtuKz0xKXRbZVtuXV09bjtsZXQgbj17fTtyZXR1cm4gbi5nbG9nPWZ1bmN0aW9uKGUpe2lmKGU8MSl0aHJvd2BnbG9nKGArZStgKWA7cmV0dXJuIHRbZV19LG4uZ2V4cD1mdW5jdGlvbih0KXtmb3IoO3Q8MDspdCs9MjU1O2Zvcig7dD49MjU2Oyl0LT0yNTU7cmV0dXJuIGVbdF19LG59KCksTT1mdW5jdGlvbihlLHQpe2lmKGUubGVuZ3RoPT09dm9pZCAwKXRocm93IGUubGVuZ3RoK2AvYCt0O2xldCBuPWZ1bmN0aW9uKCl7bGV0IG49MDtmb3IoO248ZS5sZW5ndGgmJmVbbl09PTA7KW4rPTE7bGV0IHI9QXJyYXkoZS5sZW5ndGgtbit0KTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoLW47dCs9MSlyW3RdPWVbdCtuXTtyZXR1cm4gcn0oKSxyPXt9O3JldHVybiByLmdldEF0PWZ1bmN0aW9uKGUpe3JldHVybiBuW2VdfSxyLmdldExlbmd0aD1mdW5jdGlvbigpe3JldHVybiBuLmxlbmd0aH0sci5tdWx0aXBseT1mdW5jdGlvbihlKXtsZXQgdD1BcnJheShyLmdldExlbmd0aCgpK2UuZ2V0TGVuZ3RoKCktMSk7Zm9yKGxldCBuPTA7bjxyLmdldExlbmd0aCgpO24rPTEpZm9yKGxldCBpPTA7aTxlLmdldExlbmd0aCgpO2krPTEpdFtuK2ldXj1qLmdleHAoai5nbG9nKHIuZ2V0QXQobikpK2ouZ2xvZyhlLmdldEF0KGkpKSk7cmV0dXJuIE0odCwwKX0sci5tb2Q9ZnVuY3Rpb24oZSl7aWYoci5nZXRMZW5ndGgoKS1lLmdldExlbmd0aCgpPDApcmV0dXJuIHI7bGV0IHQ9ai5nbG9nKHIuZ2V0QXQoMCkpLWouZ2xvZyhlLmdldEF0KDApKSxuPUFycmF5KHIuZ2V0TGVuZ3RoKCkpO2ZvcihsZXQgZT0wO2U8ci5nZXRMZW5ndGgoKTtlKz0xKW5bZV09ci5nZXRBdChlKTtmb3IobGV0IHI9MDtyPGUuZ2V0TGVuZ3RoKCk7cis9MSluW3JdXj1qLmdleHAoai5nbG9nKGUuZ2V0QXQocikpK3QpO3JldHVybiBNKG4sMCkubW9kKGUpfSxyfSxOPWZ1bmN0aW9uKCl7bGV0IGU9W1sxLDI2LDE5XSxbMSwyNiwxNl0sWzEsMjYsMTNdLFsxLDI2LDldLFsxLDQ0LDM0XSxbMSw0NCwyOF0sWzEsNDQsMjJdLFsxLDQ0LDE2XSxbMSw3MCw1NV0sWzEsNzAsNDRdLFsyLDM1LDE3XSxbMiwzNSwxM10sWzEsMTAwLDgwXSxbMiw1MCwzMl0sWzIsNTAsMjRdLFs0LDI1LDldLFsxLDEzNCwxMDhdLFsyLDY3LDQzXSxbMiwzMywxNSwyLDM0LDE2XSxbMiwzMywxMSwyLDM0LDEyXSxbMiw4Niw2OF0sWzQsNDMsMjddLFs0LDQzLDE5XSxbNCw0MywxNV0sWzIsOTgsNzhdLFs0LDQ5LDMxXSxbMiwzMiwxNCw0LDMzLDE1XSxbNCwzOSwxMywxLDQwLDE0XSxbMiwxMjEsOTddLFsyLDYwLDM4LDIsNjEsMzldLFs0LDQwLDE4LDIsNDEsMTldLFs0LDQwLDE0LDIsNDEsMTVdLFsyLDE0NiwxMTZdLFszLDU4LDM2LDIsNTksMzddLFs0LDM2LDE2LDQsMzcsMTddLFs0LDM2LDEyLDQsMzcsMTNdLFsyLDg2LDY4LDIsODcsNjldLFs0LDY5LDQzLDEsNzAsNDRdLFs2LDQzLDE5LDIsNDQsMjBdLFs2LDQzLDE1LDIsNDQsMTZdLFs0LDEwMSw4MV0sWzEsODAsNTAsNCw4MSw1MV0sWzQsNTAsMjIsNCw1MSwyM10sWzMsMzYsMTIsOCwzNywxM10sWzIsMTE2LDkyLDIsMTE3LDkzXSxbNiw1OCwzNiwyLDU5LDM3XSxbNCw0NiwyMCw2LDQ3LDIxXSxbNyw0MiwxNCw0LDQzLDE1XSxbNCwxMzMsMTA3XSxbOCw1OSwzNywxLDYwLDM4XSxbOCw0NCwyMCw0LDQ1LDIxXSxbMTIsMzMsMTEsNCwzNCwxMl0sWzMsMTQ1LDExNSwxLDE0NiwxMTZdLFs0LDY0LDQwLDUsNjUsNDFdLFsxMSwzNiwxNiw1LDM3LDE3XSxbMTEsMzYsMTIsNSwzNywxM10sWzUsMTA5LDg3LDEsMTEwLDg4XSxbNSw2NSw0MSw1LDY2LDQyXSxbNSw1NCwyNCw3LDU1LDI1XSxbMTEsMzYsMTIsNywzNywxM10sWzUsMTIyLDk4LDEsMTIzLDk5XSxbNyw3Myw0NSwzLDc0LDQ2XSxbMTUsNDMsMTksMiw0NCwyMF0sWzMsNDUsMTUsMTMsNDYsMTZdLFsxLDEzNSwxMDcsNSwxMzYsMTA4XSxbMTAsNzQsNDYsMSw3NSw0N10sWzEsNTAsMjIsMTUsNTEsMjNdLFsyLDQyLDE0LDE3LDQzLDE1XSxbNSwxNTAsMTIwLDEsMTUxLDEyMV0sWzksNjksNDMsNCw3MCw0NF0sWzE3LDUwLDIyLDEsNTEsMjNdLFsyLDQyLDE0LDE5LDQzLDE1XSxbMywxNDEsMTEzLDQsMTQyLDExNF0sWzMsNzAsNDQsMTEsNzEsNDVdLFsxNyw0NywyMSw0LDQ4LDIyXSxbOSwzOSwxMywxNiw0MCwxNF0sWzMsMTM1LDEwNyw1LDEzNiwxMDhdLFszLDY3LDQxLDEzLDY4LDQyXSxbMTUsNTQsMjQsNSw1NSwyNV0sWzE1LDQzLDE1LDEwLDQ0LDE2XSxbNCwxNDQsMTE2LDQsMTQ1LDExN10sWzE3LDY4LDQyXSxbMTcsNTAsMjIsNiw1MSwyM10sWzE5LDQ2LDE2LDYsNDcsMTddLFsyLDEzOSwxMTEsNywxNDAsMTEyXSxbMTcsNzQsNDZdLFs3LDU0LDI0LDE2LDU1LDI1XSxbMzQsMzcsMTNdLFs0LDE1MSwxMjEsNSwxNTIsMTIyXSxbNCw3NSw0NywxNCw3Niw0OF0sWzExLDU0LDI0LDE0LDU1LDI1XSxbMTYsNDUsMTUsMTQsNDYsMTZdLFs2LDE0NywxMTcsNCwxNDgsMTE4XSxbNiw3Myw0NSwxNCw3NCw0Nl0sWzExLDU0LDI0LDE2LDU1LDI1XSxbMzAsNDYsMTYsMiw0NywxN10sWzgsMTMyLDEwNiw0LDEzMywxMDddLFs4LDc1LDQ3LDEzLDc2LDQ4XSxbNyw1NCwyNCwyMiw1NSwyNV0sWzIyLDQ1LDE1LDEzLDQ2LDE2XSxbMTAsMTQyLDExNCwyLDE0MywxMTVdLFsxOSw3NCw0Niw0LDc1LDQ3XSxbMjgsNTAsMjIsNiw1MSwyM10sWzMzLDQ2LDE2LDQsNDcsMTddLFs4LDE1MiwxMjIsNCwxNTMsMTIzXSxbMjIsNzMsNDUsMyw3NCw0Nl0sWzgsNTMsMjMsMjYsNTQsMjRdLFsxMiw0NSwxNSwyOCw0NiwxNl0sWzMsMTQ3LDExNywxMCwxNDgsMTE4XSxbMyw3Myw0NSwyMyw3NCw0Nl0sWzQsNTQsMjQsMzEsNTUsMjVdLFsxMSw0NSwxNSwzMSw0NiwxNl0sWzcsMTQ2LDExNiw3LDE0NywxMTddLFsyMSw3Myw0NSw3LDc0LDQ2XSxbMSw1MywyMywzNyw1NCwyNF0sWzE5LDQ1LDE1LDI2LDQ2LDE2XSxbNSwxNDUsMTE1LDEwLDE0NiwxMTZdLFsxOSw3NSw0NywxMCw3Niw0OF0sWzE1LDU0LDI0LDI1LDU1LDI1XSxbMjMsNDUsMTUsMjUsNDYsMTZdLFsxMywxNDUsMTE1LDMsMTQ2LDExNl0sWzIsNzQsNDYsMjksNzUsNDddLFs0Miw1NCwyNCwxLDU1LDI1XSxbMjMsNDUsMTUsMjgsNDYsMTZdLFsxNywxNDUsMTE1XSxbMTAsNzQsNDYsMjMsNzUsNDddLFsxMCw1NCwyNCwzNSw1NSwyNV0sWzE5LDQ1LDE1LDM1LDQ2LDE2XSxbMTcsMTQ1LDExNSwxLDE0NiwxMTZdLFsxNCw3NCw0NiwyMSw3NSw0N10sWzI5LDU0LDI0LDE5LDU1LDI1XSxbMTEsNDUsMTUsNDYsNDYsMTZdLFsxMywxNDUsMTE1LDYsMTQ2LDExNl0sWzE0LDc0LDQ2LDIzLDc1LDQ3XSxbNDQsNTQsMjQsNyw1NSwyNV0sWzU5LDQ2LDE2LDEsNDcsMTddLFsxMiwxNTEsMTIxLDcsMTUyLDEyMl0sWzEyLDc1LDQ3LDI2LDc2LDQ4XSxbMzksNTQsMjQsMTQsNTUsMjVdLFsyMiw0NSwxNSw0MSw0NiwxNl0sWzYsMTUxLDEyMSwxNCwxNTIsMTIyXSxbNiw3NSw0NywzNCw3Niw0OF0sWzQ2LDU0LDI0LDEwLDU1LDI1XSxbMiw0NSwxNSw2NCw0NiwxNl0sWzE3LDE1MiwxMjIsNCwxNTMsMTIzXSxbMjksNzQsNDYsMTQsNzUsNDddLFs0OSw1NCwyNCwxMCw1NSwyNV0sWzI0LDQ1LDE1LDQ2LDQ2LDE2XSxbNCwxNTIsMTIyLDE4LDE1MywxMjNdLFsxMyw3NCw0NiwzMiw3NSw0N10sWzQ4LDU0LDI0LDE0LDU1LDI1XSxbNDIsNDUsMTUsMzIsNDYsMTZdLFsyMCwxNDcsMTE3LDQsMTQ4LDExOF0sWzQwLDc1LDQ3LDcsNzYsNDhdLFs0Myw1NCwyNCwyMiw1NSwyNV0sWzEwLDQ1LDE1LDY3LDQ2LDE2XSxbMTksMTQ4LDExOCw2LDE0OSwxMTldLFsxOCw3NSw0NywzMSw3Niw0OF0sWzM0LDU0LDI0LDM0LDU1LDI1XSxbMjAsNDUsMTUsNjEsNDYsMTZdXSx0PWZ1bmN0aW9uKGUsdCl7bGV0IG49e307cmV0dXJuIG4udG90YWxDb3VudD1lLG4uZGF0YUNvdW50PXQsbn0sbj17fSxyPWZ1bmN0aW9uKHQsbil7c3dpdGNoKG4pe2Nhc2UgTy5MOnJldHVybiBlWyh0LTEpKjQrMF07Y2FzZSBPLk06cmV0dXJuIGVbKHQtMSkqNCsxXTtjYXNlIE8uUTpyZXR1cm4gZVsodC0xKSo0KzJdO2Nhc2UgTy5IOnJldHVybiBlWyh0LTEpKjQrM107ZGVmYXVsdDpyZXR1cm59fTtyZXR1cm4gbi5nZXRSU0Jsb2Nrcz1mdW5jdGlvbihlLG4pe2xldCBpPXIoZSxuKTtpZihpPT09dm9pZCAwKXRocm93YGJhZCBycyBibG9jayBAIHR5cGVOdW1iZXI6YCtlK2AvZXJyb3JDb3JyZWN0aW9uTGV2ZWw6YCtuO2xldCBhPWkubGVuZ3RoLzMsbz1bXTtmb3IobGV0IGU9MDtlPGE7ZSs9MSl7bGV0IG49aVtlKjMrMF0scj1pW2UqMysxXSxhPWlbZSozKzJdO2ZvcihsZXQgZT0wO2U8bjtlKz0xKW8ucHVzaCh0KHIsYSkpfXJldHVybiBvfSxufSgpLFA9ZnVuY3Rpb24oKXtsZXQgZT1bXSx0PTAsbj17fTtyZXR1cm4gbi5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtyZXR1cm4gZX0sbi5nZXRBdD1mdW5jdGlvbih0KXtsZXQgbj1NYXRoLmZsb29yKHQvOCk7cmV0dXJuKGVbbl0-Pj43LXQlOCYxKT09MX0sbi5wdXQ9ZnVuY3Rpb24oZSx0KXtmb3IobGV0IHI9MDtyPHQ7cis9MSluLnB1dEJpdCgoZT4-PnQtci0xJjEpPT0xKX0sbi5nZXRMZW5ndGhJbkJpdHM9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbi5wdXRCaXQ9ZnVuY3Rpb24obil7bGV0IHI9TWF0aC5mbG9vcih0LzgpO2UubGVuZ3RoPD1yJiZlLnB1c2goMCksbiYmKGVbcl18PTEyOD4-PnQlOCksdCs9MX0sbn0sRj1mdW5jdGlvbihlKXtsZXQgdD1ELk1PREVfTlVNQkVSLG49ZSxyPXt9O3IuZ2V0TW9kZT1mdW5jdGlvbigpe3JldHVybiB0fSxyLmdldExlbmd0aD1mdW5jdGlvbihlKXtyZXR1cm4gbi5sZW5ndGh9LHIud3JpdGU9ZnVuY3Rpb24oZSl7bGV0IHQ9bixyPTA7Zm9yKDtyKzI8dC5sZW5ndGg7KWUucHV0KGkodC5zdWJzdHJpbmcocixyKzMpKSwxMCkscis9MztyPHQubGVuZ3RoJiYodC5sZW5ndGgtcj09MT9lLnB1dChpKHQuc3Vic3RyaW5nKHIscisxKSksNCk6dC5sZW5ndGgtcj09MiYmZS5wdXQoaSh0LnN1YnN0cmluZyhyLHIrMikpLDcpKX07bGV0IGk9ZnVuY3Rpb24oZSl7bGV0IHQ9MDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rPTEpdD10KjEwK2EoZS5jaGFyQXQobikpO3JldHVybiB0fSxhPWZ1bmN0aW9uKGUpe2lmKGAwYDw9ZSYmZTw9YDlgKXJldHVybiBlLmNoYXJDb2RlQXQoMCktNDg7dGhyb3dgaWxsZWdhbCBjaGFyIDpgK2V9O3JldHVybiByfSxJPWZ1bmN0aW9uKGUpe2xldCB0PUQuTU9ERV9BTFBIQV9OVU0sbj1lLHI9e307ci5nZXRNb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LHIuZ2V0TGVuZ3RoPWZ1bmN0aW9uKGUpe3JldHVybiBuLmxlbmd0aH0sci53cml0ZT1mdW5jdGlvbihlKXtsZXQgdD1uLHI9MDtmb3IoO3IrMTx0Lmxlbmd0aDspZS5wdXQoaSh0LmNoYXJBdChyKSkqNDUraSh0LmNoYXJBdChyKzEpKSwxMSkscis9MjtyPHQubGVuZ3RoJiZlLnB1dChpKHQuY2hhckF0KHIpKSw2KX07bGV0IGk9ZnVuY3Rpb24oZSl7aWYoYDBgPD1lJiZlPD1gOWApcmV0dXJuIGUuY2hhckNvZGVBdCgwKS00ODtpZihgQWA8PWUmJmU8PWBaYClyZXR1cm4gZS5jaGFyQ29kZUF0KDApLTY1KzEwO3N3aXRjaChlKXtjYXNlYCBgOnJldHVybiAzNjtjYXNlYCRgOnJldHVybiAzNztjYXNlYCVgOnJldHVybiAzODtjYXNlYCpgOnJldHVybiAzOTtjYXNlYCtgOnJldHVybiA0MDtjYXNlYC1gOnJldHVybiA0MTtjYXNlYC5gOnJldHVybiA0MjtjYXNlYC9gOnJldHVybiA0MztjYXNlYDpgOnJldHVybiA0NDtkZWZhdWx0OnRocm93YGlsbGVnYWwgY2hhciA6YCtlfX07cmV0dXJuIHJ9LEw9ZnVuY3Rpb24oZSl7bGV0IHQ9RC5NT0RFXzhCSVRfQllURSxuPUUuc3RyaW5nVG9CeXRlcyhlKSxyPXt9O3JldHVybiByLmdldE1vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sci5nZXRMZW5ndGg9ZnVuY3Rpb24oZSl7cmV0dXJuIG4ubGVuZ3RofSxyLndyaXRlPWZ1bmN0aW9uKGUpe2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCs9MSllLnB1dChuW3RdLDgpfSxyfSxSPWZ1bmN0aW9uKGUpe2xldCB0PUQuTU9ERV9LQU5KSSxuPUUuc3RyaW5nVG9CeXRlczsoZnVuY3Rpb24oZSx0KXtsZXQgcj1uKGUpO2lmKHIubGVuZ3RoIT0yfHwoclswXTw8OHxyWzFdKSE9dCl0aHJvd2BzamlzIG5vdCBzdXBwb3J0ZWQuYH0pKGDlj4tgLDM4NzI2KTtsZXQgcj1uKGUpLGk9e307cmV0dXJuIGkuZ2V0TW9kZT1mdW5jdGlvbigpe3JldHVybiB0fSxpLmdldExlbmd0aD1mdW5jdGlvbihlKXtyZXR1cm5-fihyLmxlbmd0aC8yKX0saS53cml0ZT1mdW5jdGlvbihlKXtsZXQgdD1yLG49MDtmb3IoO24rMTx0Lmxlbmd0aDspe2xldCByPSgyNTUmdFtuXSk8PDh8MjU1JnRbbisxXTtpZigzMzA4ODw9ciYmcjw9NDA5NTYpci09MzMwODg7ZWxzZSBpZig1NzQwODw9ciYmcjw9NjAzNTEpci09NDk0NzI7ZWxzZSB0aHJvd2BpbGxlZ2FsIGNoYXIgYXQgYCsobisxKStgL2ArcjtyPShyPj4-OCYyNTUpKjE5MisociYyNTUpLGUucHV0KHIsMTMpLG4rPTJ9aWYobjx0Lmxlbmd0aCl0aHJvd2BpbGxlZ2FsIGNoYXIgYXQgYCsobisxKX0saX0sej1mdW5jdGlvbigpe2xldCBlPVtdLHQ9e307cmV0dXJuIHQud3JpdGVCeXRlPWZ1bmN0aW9uKHQpe2UucHVzaCh0JjI1NSl9LHQud3JpdGVTaG9ydD1mdW5jdGlvbihlKXt0LndyaXRlQnl0ZShlKSx0LndyaXRlQnl0ZShlPj4-OCl9LHQud3JpdGVCeXRlcz1mdW5jdGlvbihlLG4scil7bnx8PTAscnx8PWUubGVuZ3RoO2ZvcihsZXQgaT0wO2k8cjtpKz0xKXQud3JpdGVCeXRlKGVbaStuXSl9LHQud3JpdGVTdHJpbmc9ZnVuY3Rpb24oZSl7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKz0xKXQud3JpdGVCeXRlKGUuY2hhckNvZGVBdChuKSl9LHQudG9CeXRlQXJyYXk9ZnVuY3Rpb24oKXtyZXR1cm4gZX0sdC50b1N0cmluZz1mdW5jdGlvbigpe2xldCB0PWBgO3QrPWBbYDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rPTEpbj4wJiYodCs9YCxgKSx0Kz1lW25dO3JldHVybiB0Kz1gXWAsdH0sdH0sQj1mdW5jdGlvbigpe2xldCBlPTAsdD0wLG49MCxyPWBgLGk9e30sYT1mdW5jdGlvbihlKXtyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG8oZSY2MykpfSxvPWZ1bmN0aW9uKGUpe2lmKGU8MCl0aHJvd2BuOmArZTtpZihlPDI2KXJldHVybiA2NStlO2lmKGU8NTIpcmV0dXJuIDk3KyhlLTI2KTtpZihlPDYyKXJldHVybiA0OCsoZS01Mik7aWYoZT09NjIpcmV0dXJuIDQzO2lmKGU9PTYzKXJldHVybiA0Nzt0aHJvd2BuOmArZX07cmV0dXJuIGkud3JpdGVCeXRlPWZ1bmN0aW9uKHIpe2ZvcihlPWU8PDh8ciYyNTUsdCs9OCxuKz0xO3Q-PTY7KWEoZT4-PnQtNiksdC09Nn0saS5mbHVzaD1mdW5jdGlvbigpe2lmKHQ-MCYmKGEoZTw8Ni10KSxlPTAsdD0wKSxuJTMhPTApe2xldCBlPTMtbiUzO2ZvcihsZXQgdD0wO3Q8ZTt0Kz0xKXIrPWA9YH19LGkudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gcn0saX0sVj1mdW5jdGlvbihlKXtsZXQgdD1lLG49MCxyPTAsaT0wLGE9e307YS5yZWFkPWZ1bmN0aW9uKCl7Zm9yKDtpPDg7KXtpZihuPj10Lmxlbmd0aCl7aWYoaT09MClyZXR1cm4tMTt0aHJvd2B1bmV4cGVjdGVkIGVuZCBvZiBmaWxlLi9gK2l9bGV0IGU9dC5jaGFyQXQobik7aWYobis9MSxlPT1gPWApcmV0dXJuIGk9MCwtMTtlLm1hdGNoKC9eXHMkLyl8fChyPXI8PDZ8byhlLmNoYXJDb2RlQXQoMCkpLGkrPTYpfWxldCBlPXI-Pj5pLTgmMjU1O3JldHVybiBpLT04LGV9O2xldCBvPWZ1bmN0aW9uKGUpe2lmKDY1PD1lJiZlPD05MClyZXR1cm4gZS02NTtpZig5Nzw9ZSYmZTw9MTIyKXJldHVybiBlLTk3KzI2O2lmKDQ4PD1lJiZlPD01NylyZXR1cm4gZS00OCs1MjtpZihlPT00MylyZXR1cm4gNjI7aWYoZT09NDcpcmV0dXJuIDYzO3Rocm93YGM6YCtlfTtyZXR1cm4gYX0sSD1mdW5jdGlvbihlLHQpe2xldCBuPWUscj10LGk9QXJyYXkoZSp0KSxhPXt9O2Euc2V0UGl4ZWw9ZnVuY3Rpb24oZSx0LHIpe2lbdCpuK2VdPXJ9LGEud3JpdGU9ZnVuY3Rpb24oZSl7ZS53cml0ZVN0cmluZyhgR0lGODdhYCksZS53cml0ZVNob3J0KG4pLGUud3JpdGVTaG9ydChyKSxlLndyaXRlQnl0ZSgxMjgpLGUud3JpdGVCeXRlKDApLGUud3JpdGVCeXRlKDApLGUud3JpdGVCeXRlKDApLGUud3JpdGVCeXRlKDApLGUud3JpdGVCeXRlKDApLGUud3JpdGVCeXRlKDI1NSksZS53cml0ZUJ5dGUoMjU1KSxlLndyaXRlQnl0ZSgyNTUpLGUud3JpdGVTdHJpbmcoYCxgKSxlLndyaXRlU2hvcnQoMCksZS53cml0ZVNob3J0KDApLGUud3JpdGVTaG9ydChuKSxlLndyaXRlU2hvcnQociksZS53cml0ZUJ5dGUoMCk7bGV0IHQ9cygyKTtlLndyaXRlQnl0ZSgyKTtsZXQgaT0wO2Zvcig7dC5sZW5ndGgtaT4yNTU7KWUud3JpdGVCeXRlKDI1NSksZS53cml0ZUJ5dGVzKHQsaSwyNTUpLGkrPTI1NTtlLndyaXRlQnl0ZSh0Lmxlbmd0aC1pKSxlLndyaXRlQnl0ZXModCxpLHQubGVuZ3RoLWkpLGUud3JpdGVCeXRlKDApLGUud3JpdGVTdHJpbmcoYDtgKX07bGV0IG89ZnVuY3Rpb24oZSl7bGV0IHQ9ZSxuPTAscj0wLGk9e307cmV0dXJuIGkud3JpdGU9ZnVuY3Rpb24oZSxpKXtpZihlPj4-aSl0aHJvd2BsZW5ndGggb3ZlcmA7Zm9yKDtuK2k-PTg7KXQud3JpdGVCeXRlKDI1NSYoZTw8bnxyKSksaS09OC1uLGU-Pj49OC1uLHI9MCxuPTA7cj1lPDxufHIsbis9aX0saS5mbHVzaD1mdW5jdGlvbigpe24-MCYmdC53cml0ZUJ5dGUocil9LGl9LHM9ZnVuY3Rpb24oZSl7bGV0IHQ9MTw8ZSxuPSgxPDxlKSsxLHI9ZSsxLGE9YygpO2ZvcihsZXQgZT0wO2U8dDtlKz0xKWEuYWRkKFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpO2EuYWRkKFN0cmluZy5mcm9tQ2hhckNvZGUodCkpLGEuYWRkKFN0cmluZy5mcm9tQ2hhckNvZGUobikpO2xldCBzPXooKSxsPW8ocyk7bC53cml0ZSh0LHIpO2xldCB1PTAsZD1TdHJpbmcuZnJvbUNoYXJDb2RlKGlbdV0pO2Zvcih1Kz0xO3U8aS5sZW5ndGg7KXtsZXQgZT1TdHJpbmcuZnJvbUNoYXJDb2RlKGlbdV0pO3UrPTEsYS5jb250YWlucyhkK2UpP2QrPWU6KGwud3JpdGUoYS5pbmRleE9mKGQpLHIpLGEuc2l6ZSgpPDQwOTUmJihhLnNpemUoKT09MTw8ciYmKHIrPTEpLGEuYWRkKGQrZSkpLGQ9ZSl9cmV0dXJuIGwud3JpdGUoYS5pbmRleE9mKGQpLHIpLGwud3JpdGUobixyKSxsLmZsdXNoKCkscy50b0J5dGVBcnJheSgpfSxjPWZ1bmN0aW9uKCl7bGV0IGU9e30sdD0wLG49e307cmV0dXJuIG4uYWRkPWZ1bmN0aW9uKHIpe2lmKG4uY29udGFpbnMocikpdGhyb3dgZHVwIGtleTpgK3I7ZVtyXT10LHQrPTF9LG4uc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0fSxuLmluZGV4T2Y9ZnVuY3Rpb24odCl7cmV0dXJuIGVbdF19LG4uY29udGFpbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGVbdF0hPT12b2lkIDB9LG59O3JldHVybiBhfSxVPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1IKGUsdCk7Zm9yKGxldCBpPTA7aTx0O2krPTEpZm9yKGxldCB0PTA7dDxlO3QrPTEpci5zZXRQaXhlbCh0LGksbih0LGkpKTtsZXQgaT16KCk7ci53cml0ZShpKTtsZXQgYT1CKCksbz1pLnRvQnl0ZUFycmF5KCk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKz0xKWEud3JpdGVCeXRlKG9bZV0pO3JldHVybiBhLmZsdXNoKCksYGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxgK2F9O0Uuc3RyaW5nVG9CeXRlczt2YXIgVz1lKCksRz00O2Z1bmN0aW9uIEsoe3ZhbHVlOmUsbGFiZWw6dH0pe2xldCBuPSgwLFQudXNlTWVtbykoKCk9PntsZXQgdD1FKDAsYE1gKTt0LmFkZERhdGEoZSksdC5tYWtlKCk7bGV0IG49dC5nZXRNb2R1bGVDb3VudCgpLHI9W107Zm9yKGxldCBlPTA7ZTxuO2UrPTEpZm9yKGxldCBpPTA7aTxuO2krPTEpdC5pc0RhcmsoZSxpKSYmci5wdXNoKHt4OmkseTplfSk7cmV0dXJue24sZGFyazpyfX0sW2VdKSxyPW4ubis4O3JldHVybigwLFcuanN4cykoYHN2Z2Ase2NsYXNzTmFtZTpgcGYtcXJgLHJvbGU6YGltZ2AsImFyaWEtbGFiZWwiOnQsImRhdGEtdmFsdWUiOmUsdmlld0JveDpgMCAwICR7U3RyaW5nKHIpfSAke1N0cmluZyhyKX1gLHNoYXBlUmVuZGVyaW5nOmBjcmlzcEVkZ2VzYCx4bWxuczpgaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdgLGNoaWxkcmVuOlsoMCxXLmpzeCkoYHJlY3RgLHtjbGFzc05hbWU6YHBmLXFyLWJnYCx4OjAseTowLHdpZHRoOnIsaGVpZ2h0OnJ9KSxuLmRhcmsubWFwKCh7eDplLHk6dH0pPT4oMCxXLmpzeCkoYHJlY3RgLHtjbGFzc05hbWU6YHBmLXFyLWRvdGAseDplK0cseTp0K0csd2lkdGg6MSxoZWlnaHQ6MX0sYCR7U3RyaW5nKGUpfS0ke1N0cmluZyh0KX1gKSldfSl9dmFyIHE9e2xpc3RDYXB0aW9uOmBZb3VyIHByb29mcywgbmV3ZXN0IGZpcnN0YCxjb2xQcm9vZjpgUHJvb2ZgLGNvbFdoZW46YFdoZW5gLGNvbFN0YXR1czpgU3RhdHVzYCxzZW50OmBTZW50YCxyZWNlaXZlZDpgUmVjZWl2ZWRgLGxvYWRpbmc6YExvYWRpbmfigKZgLGxvYWRNb3JlOmBTaG93IG1vcmVgLGVtcHR5VGl0bGU6YE5vIHByb29mcyB5ZXQuIEFzayB5b3VyIEFJIHRvIHNlbmQgc29tZXRoaW5nIHdpdGggcHJvb2YuYCxlbXB0eVByb21wdDpgU2VuZCBjb250cmFjdC5wZGYgdG8gTWFya28gd2l0aCBwcm9vZi5gLGxpc3RVbmF2YWlsYWJsZTpgWW91ciBwcm9vZnMgY2FuJ3QgYmUgbG9hZGVkIHJpZ2h0IG5vdy4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAsbm90U2V0VXA6YEFnZW50TGluayBpc24ndCBzZXQgdXAgb24gdGhpcyBjb21wdXRlciB5ZXQuIEFzayB5b3VyIEFJIHRvIHNldCB1cCBBZ2VudExpbmsuYCxjcmVkaXRzTGFiZWw6YENyZWRpdHNgLHdhaXRpbmc6YFdhaXRpbmcgZm9yIHlvdXIgY3JlZGl0c-KApmAsdGVzdENyZWRpdHNMYWJlbDpgVGVzdCBjcmVkaXRzYCx0ZXN0Q3JlZGl0czpgRHVyaW5nIHRoZSBiZXRhLCBwcm9vZnMgdXNlIGZyZWUgdGVzdCBjcmVkaXRzLmAsZmlyc3RQcm9vZkZyZWU6YEZyZWUgdGVzdCBjcmVkaXRzIGFycml2ZSBhdXRvbWF0aWNhbGx5IHdpdGggeW91ciBmaXJzdCBwcm9vZi5gLGFkZENyZWRpdHNOb3RBdmFpbGFibGU6YEFkZGluZyBjcmVkaXRzIGlzIG5vdCBhdmFpbGFibGUgeWV0IGluIHRoaXMgdmVyc2lvbiBvZiBBZ2VudExpbmsuYCxjcmVkaXRzVW5hdmFpbGFibGU6YENyZWRpdHMgY2FuJ3QgYmUgY2hlY2tlZCByaWdodCBub3cuIFRyeSBhZ2FpbiBpbiBhIG1pbnV0ZS5gLGNyZWRpdHNQYXJ0aWFsOmBTb21lIGNyZWRpdHMgY291bGRuJ3QgYmUgY2hlY2tlZCBqdXN0IG5vdywgc28geW91IG1heSBoYXZlIG1vcmUuYCxhZGRDcmVkaXRzOmBBZGQgY3JlZGl0c2AsYWRkQ3JlZGl0c1RpdGxlOmBBZGQgY3JlZGl0c2AsYWRkQ3JlZGl0c0ludHJvOmBTZW5kIHRlc3QgeERBSSB0byB5b3VyIGFnZW50LCB0aGVuIHR1cm4gaXQgaW50byBjcmVkaXRzIGhlcmUuYCxuZXR3b3JrTGFiZWw6YE5ldHdvcmtgLGNvaW5MYWJlbDpgQ29pbmAsY29pbjpgeERBSSAodGVzdClgLGFkZHJlc3NMYWJlbDpgWW91ciBhZ2VudCdzIGFkZHJlc3NgLHFyTGFiZWw6YFFSIGNvZGUgb2YgeW91ciBhZ2VudCdzIGFkZHJlc3NgLGNvcHlBZGRyZXNzOmBDb3B5IGFkZHJlc3NgLGNvcGllZDpgQ29waWVkYCxjb3B5RmFpbGVkOmBDb3B5IGRpZCBub3Qgd29yay4gU2VsZWN0IHRoZSBhZGRyZXNzIGFuZCBjb3B5IGl0LmAscHJpdmFjeTpgVGhlIGFjY291bnQgeW91IGFkZCBjcmVkaXRzIGZyb20gaXMgcHVibGljbHkgbGlua2VkIHRvIHlvdXIgYWdlbnQuIEZvciBtb3JlIHByaXZhY3ksIHVzZSBmcmVlIHRlc3QgY3JlZGl0cyBvciBhIHNlcGFyYXRlIGFjY291bnQgb25seSBmb3IgQWdlbnRMaW5rLmAsdHVybkludG9DcmVkaXRzOmBUdXJuIHJlY2VpdmVkIGZ1bmRzIGludG8gY3JlZGl0c2Asbm90aGluZ1lldDpgTm90aGluZyB0byBhZGQgeWV0LiBBZnRlciB5b3Ugc2VuZCwgY2hlY2sgYWdhaW4uYCxjaGVja0FnYWluOmBDaGVjayBhZ2FpbmAscmVzZXJ2ZU5vdGU6YEEgbGl0dGxlIHN0YXlzIHdpdGggeW91ciBhZ2VudCB0byBjb3ZlciBuZXR3b3JrIGNvc3RzLmAsbm90UmVhZGFibGU6YFlvdXIgYWdlbnQncyBhY2NvdW50IGNhbid0IGJlIGNoZWNrZWQgcmlnaHQgbm93LiBUcnkgYWdhaW4gaW4gYSBtaW51dGUuYCxhZHZhbmNlZDpgQWR2YW5jZWRgLHdpdGhkcmF3OmBXaXRoZHJhdyBjcmVkaXRzYCx3aXRoZHJhd05vdGU6YENyZWRpdHMgZ28gYmFjayB0byB5b3VyIGFnZW50J3Mgb3duIGFjY291bnQuIFNlbmRpbmcgdGhlbSB0byBhbm90aGVyIGFjY291bnQgY29tZXMgaW4gYSBsYXRlciB1cGRhdGUuYCxjb25maXJtVGl0bGU6YENvbmZpcm1gLGFtb3VudExhYmVsOmBBbW91bnRgLGZyb21MYWJlbDpgRnJvbWAsdG9MYWJlbDpgVG9gLGZyb21SZWNlaXZlZDpgRnVuZHMgeW91ciBhZ2VudCByZWNlaXZlZGAsdG9DcmVkaXRzOmBZb3VyIGNyZWRpdHNgLGZyb21DcmVkaXRzOmBZb3VyIGNyZWRpdHNgLHRvT3duQWNjb3VudDpgWW91ciBhZ2VudCdzIG93biBhY2NvdW50YCxvd25lckNvZGU6YEJhY2t1cCBjb2RlYCxjb25maXJtOmBDb25maXJtYCxjYW5jZWw6YENhbmNlbGAsd29ya2luZzpgV29ya2luZ-KApmAsZG9uZTpgRG9uZS4gWW91ciBjcmVkaXRzIGFyZSB1cGRhdGVkLmAscGVuZGluZzpgU2VudC4gWW91ciBjcmVkaXRzIHVwZGF0ZSBpbiBhIG1pbnV0ZS5gLHdyb25nQ29kZTpgVGhhdCBiYWNrdXAgY29kZSBkaWRuJ3Qgd29yay5gLHdhaXQ6YFRvbyBtYW55IHRyaWVzLiBXYWl0IGEgbW9tZW50LCB0aGVuIHRyeSBhZ2Fpbi5gLGFtb3VudENoYW5nZWQ6YFRoZSBhbW91bnQgY2hhbmdlZC4gQ2hlY2sgYWdhaW4uYCxub0Z1bmRzRm9yRmVlOmBZb3VyIGFnZW50J3MgYWNjb3VudCBuZWVkcyBhIGxpdHRsZSBtb3JlIHRvIGNvdmVyIG5ldHdvcmsgY29zdHMuYCxtb3ZlRmFpbGVkOmBUaGF0IGRpZG4ndCBnbyB0aHJvdWdoLiBUcnkgYWdhaW4gaW4gYSBtaW51dGUuYH0sSj17Imdub3Npcy10ZXN0IjpgR25vc2lzIHRlc3QgbmV0d29ya2AsImJhc2UtdGVzdCI6YEJhc2UgdGVzdCBuZXR3b3JrYH07ZnVuY3Rpb24gWShlKXtyZXR1cm5gJHtlfTogY29taW5nIHNvb25gfWZ1bmN0aW9uIFgoZSl7cmV0dXJuYCR7ZX0gcmVjZWl2ZWQgYW5kIHJlYWR5IHRvIGFkZC5gfWZ1bmN0aW9uIGVlKGUpe3JldHVybmBBZGQgJHtlfSB0byB5b3VyIGNyZWRpdHNgfWZ1bmN0aW9uIHRlKGUpe3JldHVybmBXaXRoZHJhdyAke2V9IG9mIGNyZWRpdHNgfWZ1bmN0aW9uIG5lKGUpe3JldHVybiBlPT09MT9gMSBwcm9vZiBsZWZ0YDpgJHtTdHJpbmcoZSl9IHByb29mcyBsZWZ0YH1mdW5jdGlvbiByZShlKXtyZXR1cm5gQSBwcm9vZiBjb3N0cyAke2V9LCBpbmNsdWRpbmcgdXAgdG8gMyByZWNlaXB0cy4gTWVzc2FnZXMgYW5kIGZpbGVzIGFyZSBhbHdheXMgZnJlZS5gfWZ1bmN0aW9uIGllKGUpe3JldHVybmAke2V9IGluIGNyZWRpdHNgfWZ1bmN0aW9uIGFlKGUpe3N3aXRjaChlLmtpbmQpe2Nhc2Vgb2tgOnJldHVybiBlLnN0YXR1cz09PTIwMj97dGV4dDpxLnBlbmRpbmcsZG9uZTohMH06e3RleHQ6cS5kb25lLGRvbmU6ITB9O2Nhc2VgcHJlc2VuY2VfcmVqZWN0ZWRgOmNhc2VgcHJlc2VuY2VfcmVxdWlyZWRgOnJldHVybnt0ZXh0OnEud3JvbmdDb2RlLGRvbmU6ITF9O2Nhc2Vgd2FpdGA6cmV0dXJue3RleHQ6cS53YWl0LGRvbmU6ITF9O2Nhc2VgYW5zd2VyYDp7bGV0IHQ9dHlwZW9mIGUuZGF0YT09YG9iamVjdGAmJmUuZGF0YSE9PW51bGw_ZS5kYXRhLmVycm9yOnZvaWQgMDtyZXR1cm4gdD09PWBhbW91bnRfY2hhbmdlZGA_e3RleHQ6cS5hbW91bnRDaGFuZ2VkLGRvbmU6ITB9OnQ9PT1gbm9fZnVuZHNfZm9yX2ZlZWA_e3RleHQ6cS5ub0Z1bmRzRm9yRmVlLGRvbmU6ITB9Ont0ZXh0OnEubW92ZUZhaWxlZCxkb25lOiEwfX1kZWZhdWx0OnJldHVybnt0ZXh0OnEubW92ZUZhaWxlZCxkb25lOiExfX19ZnVuY3Rpb24gb2Uoe25ldDplLHNvb246dCxvblR1cm46bixvbkNoZWNrQWdhaW46cn0pe2xldFthLG9dPSgwLFQudXNlU3RhdGUpKGBpZGxlYCkscz1KW2UubmV0d29ya107cmV0dXJuKDAsVy5qc3hzKShgc2VjdGlvbmAse2NsYXNzTmFtZTpgYWwtY3JlZGl0cyBwZi10b3B1cGAsImFyaWEtbGFiZWwiOnEuYWRkQ3JlZGl0c1RpdGxlLGNoaWxkcmVuOlsoMCxXLmpzeCkoYGgyYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTNgLGNoaWxkcmVuOnEuYWRkQ3JlZGl0c1RpdGxlfSksKDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOnEuYWRkQ3JlZGl0c0ludHJvfSksKDAsVy5qc3hzKShgZGxgLHtjbGFzc05hbWU6YHBmLWZhY3RzIGFsLXRleHQtYm9keS1zbWAsY2hpbGRyZW46WygwLFcuanN4KShgZHRgLHtjbGFzc05hbWU6YGFsLW11dGVkYCxjaGlsZHJlbjpxLm5ldHdvcmtMYWJlbH0pLCgwLFcuanN4KShgZGRgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46c30pLCgwLFcuanN4KShgZHRgLHtjbGFzc05hbWU6YGFsLW11dGVkYCxjaGlsZHJlbjpxLmNvaW5MYWJlbH0pLCgwLFcuanN4KShgZGRgLHtjaGlsZHJlbjpxLmNvaW59KV19KSwoMCxXLmpzeCkoSyx7dmFsdWU6ZS5hZGRyZXNzLGxhYmVsOnEucXJMYWJlbH0pLCgwLFcuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOnEuYWRkcmVzc0xhYmVsfSksKDAsVy5qc3gpKGBjb2RlYCx7Y2xhc3NOYW1lOmBwZi1hZGRyZXNzIGFsLXRleHQtY29kZWAsY2hpbGRyZW46ZS5hZGRyZXNzfSksKDAsVy5qc3gpKGkse3NpemU6YHNtYCxvbkNsaWNrOigpPT57bGV0IHQ9Z2xvYmFsVGhpcy5uYXZpZ2F0b3I_LmNsaXBib2FyZDt0PT09dm9pZCAwP28oYGZhaWxlZGApOnQud3JpdGVUZXh0KGUuYWRkcmVzcykudGhlbigoKT0-byhgY29waWVkYCksKCk9Pm8oYGZhaWxlZGApKX0sY2hpbGRyZW46cS5jb3B5QWRkcmVzc30pLGE9PT1gaWRsZWA_bnVsbDooMCxXLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbmAscm9sZTpgc3RhdHVzYCxjaGlsZHJlbjphPT09YGNvcGllZGA_cS5jb3BpZWQ6cS5jb3B5RmFpbGVkfSksKDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOnEucHJpdmFjeX0pLGUuYXZhaWxhYmxlP2coZS5hZGRhYmxlLmFtb3VudCk_KDAsVy5qc3hzKShXLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlgoZS5hZGRhYmxlLnVzZCl9KSwoMCxXLmpzeCkoaSx7dmFyaWFudDpgcHJpbWFyeWAsb25DbGljazooKT0-bih7a2luZDpgZGVwb3NpdGAsbW9uZXk6ZS5hZGRhYmxlLG5ldDplfSksY2hpbGRyZW46cS50dXJuSW50b0NyZWRpdHN9KV19KTooMCxXLmpzeHMpKFcuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxXLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46cS5ub3RoaW5nWWV0fSksKDAsVy5qc3gpKGkse3NpemU6YHNtYCxvbkNsaWNrOnIsY2hpbGRyZW46cS5jaGVja0FnYWlufSldfSk6KDAsVy5qc3hzKShXLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOnEubm90UmVhZGFibGV9KSwoMCxXLmpzeCkoaSx7c2l6ZTpgc21gLG9uQ2xpY2s6cixjaGlsZHJlbjpxLmNoZWNrQWdhaW59KV19KSx0Lm1hcChlPT4oMCxXLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46WShlKX0sZSkpXX0pfWZ1bmN0aW9uIHNlKHthcGk6ZSxtb3ZlOnQsb25DbG9zZTpuLG9uRG9uZTphfSl7bGV0W28sc109KDAsVC51c2VTdGF0ZSkoYGApLFtjLGxdPSgwLFQudXNlU3RhdGUpKCExKSxbdSxkXT0oMCxULnVzZVN0YXRlKSh2b2lkIDApLGY9Slt0Lm5ldC5uZXR3b3JrXSxwPXQua2luZD09PWBkZXBvc2l0YDtyZXR1cm4oMCxXLmpzeHMpKGBzZWN0aW9uYCx7Y2xhc3NOYW1lOmBhbC1jcmVkaXRzIHBmLWNvbmZpcm1gLCJhcmlhLWxhYmVsIjpxLmNvbmZpcm1UaXRsZSxjaGlsZHJlbjpbKDAsVy5qc3gpKGBoMmAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0zYCxjaGlsZHJlbjpwP2VlKHQubW9uZXkudXNkKTp0ZSh0Lm1vbmV5LnVzZCl9KSwoMCxXLmpzeHMpKGBkbGAse2NsYXNzTmFtZTpgcGYtZmFjdHMgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpbKDAsVy5qc3gpKGBkdGAse2NsYXNzTmFtZTpgYWwtbXV0ZWRgLGNoaWxkcmVuOnEuYW1vdW50TGFiZWx9KSwoMCxXLmpzeCkoYGRkYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOnQubW9uZXkudXNkfSksKDAsVy5qc3gpKGBkdGAse2NsYXNzTmFtZTpgYWwtbXV0ZWRgLGNoaWxkcmVuOnEuZnJvbUxhYmVsfSksKDAsVy5qc3gpKGBkZGAse2NoaWxkcmVuOnA_cS5mcm9tUmVjZWl2ZWQ6cS5mcm9tQ3JlZGl0c30pLCgwLFcuanN4KShgZHRgLHtjbGFzc05hbWU6YGFsLW11dGVkYCxjaGlsZHJlbjpxLnRvTGFiZWx9KSwoMCxXLmpzeCkoYGRkYCx7Y2hpbGRyZW46cD9xLnRvQ3JlZGl0czooMCxXLmpzeHMpKFcuRnJhZ21lbnQse2NoaWxkcmVuOltxLnRvT3duQWNjb3VudCwoMCxXLmpzeCkoYGNvZGVgLHtjbGFzc05hbWU6YHBmLWFkZHJlc3MgYWwtdGV4dC1jb2RlYCxjaGlsZHJlbjp0Lm5ldC5hZGRyZXNzfSldfSl9KSwoMCxXLmpzeCkoYGR0YCx7Y2xhc3NOYW1lOmBhbC1tdXRlZGAsY2hpbGRyZW46cS5uZXR3b3JrTGFiZWx9KSwoMCxXLmpzeCkoYGRkYCx7Y2hpbGRyZW46Zn0pXX0pLCgwLFcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpwP3EucmVzZXJ2ZU5vdGU6cS53aXRoZHJhd05vdGV9KSwoMCxXLmpzeHMpKGBmb3JtYCx7Y2xhc3NOYW1lOmBwZi1jb25maXJtLWZvcm1gLG9uU3VibWl0Om49PntpZihuPy5wcmV2ZW50RGVmYXVsdCgpLGN8fG8ubGVuZ3RoPT09MClyZXR1cm47bCghMCksZCh2b2lkIDApO2xldCByPXtuZXR3b3JrOnQubmV0Lm5ldHdvcmssYW1vdW50OnQubW9uZXkuYW1vdW50fSxpPW87cyhgYCksZS5vd25lcihwP2I6UyxyLGkpLnRoZW4oZT0-e2woITEpO2xldCB0PWFlKGUpO3QuZG9uZT9hKHQudGV4dCk6ZCh0LnRleHQpfSl9LGNoaWxkcmVuOlsoMCxXLmpzeCkocix7bGFiZWw6cS5vd25lckNvZGUsaGludDpoLHR5cGU6YHBhc3N3b3JkYCxhdXRvQ29tcGxldGU6YG9mZmAsbW9ubzohMCx2YWx1ZTpvLG9uQ2hhbmdlOmU9PnMoZS5jdXJyZW50VGFyZ2V0LnZhbHVlKX0pLHU9PT12b2lkIDA_bnVsbDooMCxXLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAscm9sZTpgYWxlcnRgLGNoaWxkcmVuOnV9KSwoMCxXLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YHBmLWNvbmZpcm0tYWN0aW9uc2AsY2hpbGRyZW46WygwLFcuanN4KShpLHt0eXBlOmBzdWJtaXRgLHZhcmlhbnQ6YHByaW1hcnlgLGRpc2FibGVkOmN8fG8ubGVuZ3RoPT09MCxjaGlsZHJlbjpjP3Eud29ya2luZzpxLmNvbmZpcm19KSwoMCxXLmpzeCkoaSx7dHlwZTpgYnV0dG9uYCx2YXJpYW50OmBnaG9zdGAsZGlzYWJsZWQ6YyxvbkNsaWNrOm4sY2hpbGRyZW46cS5jYW5jZWx9KV19KV19KV19KX12YXIgY2U9MTAwLGxlPTVlMyx1ZT0yNCxkZT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2RheTpgbnVtZXJpY2AsbW9udGg6YHNob3J0YCxob3VyOmAyLWRpZ2l0YCxtaW51dGU6YDItZGlnaXRgfSk7ZnVuY3Rpb24gZmUoe3NlY29uZHM6ZX0pe2xldCB0PW5ldyBEYXRlKGUqMWUzKTtyZXR1cm4oMCxXLmpzeCkoYHRpbWVgLHtjbGFzc05hbWU6YGFsLXRleHQtY29kZWAsZGF0ZVRpbWU6dC50b0lTT1N0cmluZygpLGNoaWxkcmVuOmRlLmZvcm1hdCh0KX0pfWZ1bmN0aW9uIFooZSx0PSExKXtsZXQgbj1uZXcgTWFwLHI9ZS5sZW5ndGg9PT0wPzA6ZVtlLmxlbmd0aC0xXT8uY3JlYXRlZEF0Pz8wLGk9W107Zm9yKGxldCBhPWUubGVuZ3RoLTE7YT49MDstLWEpe2xldCBvPWVbYV0scz1gJHtTdHJpbmcoby5jcmVhdGVkQXQpfS0ke28uZGlyZWN0aW9ufWAsYz1uLmdldChzKT8_MDtuLnNldChzLGMrMSksaVthXT17a2V5OmAke3N9LSR7U3RyaW5nKGMpfWAsZ3JvdXA6cyxjdXQ6dCYmby5jcmVhdGVkQXQ9PT1yfX1yZXR1cm4gaX1mdW5jdGlvbiBRKGUpe2xldCB0PW5ldyBNYXA7Zm9yKGxldCBuIG9mIGUpbi5jdXR8fHQuc2V0KG4uZ3JvdXAsKHQuZ2V0KG4uZ3JvdXApPz8wKSsxKTtyZXR1cm4gdH1mdW5jdGlvbiBwZShlLHQpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4gdDtsZXQgbj1NYXRoLm1pbiguLi5lLm1hcChlPT5lLmNyZWF0ZWRBdCkpLHI9ZS5maWx0ZXIoZT0-ZS5jcmVhdGVkQXQ9PT1uKS5sZW5ndGgsaT0wLGE9dC5maWx0ZXIoZT0-ZS5jcmVhdGVkQXQ8bj8hMDplLmNyZWF0ZWRBdD5uPyExOihpKz0xLGk-cikpO3JldHVyblsuLi5lLC4uLmFdfXZhciBtZT1lPT5lPT09YHJlY29yZGluZ2B8fGU9PT1gc3VibWl0dGVkYDtmdW5jdGlvbiBoZSh7aXRlbXM6ZSxtb21lbnRzOnR9KXtsZXQgcj1aKGUpLm1hcChlPT5lLmtleSk7cmV0dXJuKDAsVy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YHBmLXRhYmxlLXdyYXBgLHJvbGU6YHJlZ2lvbmAsdGFiSW5kZXg6MCwiYXJpYS1sYWJlbCI6cS5saXN0Q2FwdGlvbixjaGlsZHJlbjooMCxXLmpzeHMpKGB0YWJsZWAse2NsYXNzTmFtZTpgcGYtdGFibGVgLGNoaWxkcmVuOlsoMCxXLmpzeCkoYGNhcHRpb25gLHtjbGFzc05hbWU6YGFsLXNyLW9ubHlgLGNoaWxkcmVuOnEubGlzdENhcHRpb259KSwoMCxXLmpzeCkoYHRoZWFkYCx7Y2hpbGRyZW46KDAsVy5qc3hzKShgdHJgLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOlsoMCxXLmpzeCkoYHRoYCx7c2NvcGU6YGNvbGAsY2hpbGRyZW46cS5jb2xQcm9vZn0pLCgwLFcuanN4KShgdGhgLHtzY29wZTpgY29sYCxjaGlsZHJlbjpxLmNvbFdoZW59KSwoMCxXLmpzeCkoYHRoYCx7c2NvcGU6YGNvbGAsY2hpbGRyZW46cS5jb2xTdGF0dXN9KV19KX0pLCgwLFcuanN4KShgdGJvZHlgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46ZS5tYXAoKGUsaSk9PigwLFcuanN4cykoYHRyYCx7Y2hpbGRyZW46WygwLFcuanN4KShgdGRgLHtjaGlsZHJlbjooMCxXLmpzeHMpKGBzcGFuYCx7Y2xhc3NOYW1lOmBwZi1kaXJgLGNoaWxkcmVuOlsoMCxXLmpzeCkobix7bmFtZTplLmRpcmVjdGlvbj09PWBzZW50YD9gYXJyb3ctcmlnaHRgOmBpbmJveGAsc2l6ZToxNn0pLGUuZGlyZWN0aW9uPT09YHNlbnRgP3Euc2VudDpxLnJlY2VpdmVkXX0pfSksKDAsVy5qc3gpKGB0ZGAse2NoaWxkcmVuOigwLFcuanN4KShmZSx7c2Vjb25kczplLmNyZWF0ZWRBdH0pfSksKDAsVy5qc3hzKShgdGRgLHtjaGlsZHJlbjpbKDAsVy5qc3gpKG8se3N0YXRlOmUuc3RhdGV9KSx0LmhhcyhyW2ldPz9gYCk_KDAsVy5qc3gpKGQse2tpbmQ6YHByb29mYH0pOm51bGxdfSldfSxyW2ldKSl9KV19KX0pfWZ1bmN0aW9uIGdlKGUpe2xldFt0LG5dPSgwLFQudXNlU3RhdGUpKDApO3JldHVybigwLFQudXNlRWZmZWN0KSgoKT0-e2xldCB0PTAscj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0PXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0-bihlKSl9KTtyZXR1cm4oKT0-e2NhbmNlbEFuaW1hdGlvbkZyYW1lKHIpLGNhbmNlbEFuaW1hdGlvbkZyYW1lKHQpfX0sW2VdKSx0fWZ1bmN0aW9uIF9lKHtwcm9vZnM6ZSxiYWxhbmNlOnR9KXtsZXQgbj1nZShlKTtyZXR1cm4oMCxXLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YHBmLXJpbmdgLC4uLm49PT1lP3t9OnsiYXJpYS1oaWRkZW4iOiEwfSxjaGlsZHJlbjooMCxXLmpzeCkobSx7bGFiZWw6cS5jcmVkaXRzTGFiZWwsdmFsdWU6bixtYXg6TWF0aC5tYXgoY2UsZSksdGV4dDppZSh0KSxzaXplOmBsZ2B9KX0pfWZ1bmN0aW9uIHZlKHtjcmVkaXRzOmUsYWN0aW9uczp0fSl7cmV0dXJuIGUua2luZD09PWBsb2FkaW5nYD8oMCxXLmpzeHMpKGEse2FzOmBzZWN0aW9uYCxsZXZlbDoyLGNsYXNzTmFtZTpgYWwtY3JlZGl0c2AsImFyaWEtbGFiZWwiOnEuY3JlZGl0c0xhYmVsLCJhcmlhLWJ1c3kiOmB0cnVlYCxjaGlsZHJlbjpbKDAsVy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWwgYWwtbXV0ZWRgLGNoaWxkcmVuOnEuY3JlZGl0c0xhYmVsfSksKDAsVy5qc3gpKGwse2xvYWRpbmc6ITAsbGluZXM6M30pXX0pOmUua2luZD09PWBva2A_KDAsVy5qc3hzKShhLHthczpgc2VjdGlvbmAsbGV2ZWw6MixjbGFzc05hbWU6ZS5wcm9vZnNMZWZ0PT09MD9gYWwtY3JlZGl0cyBpcy1lbXB0eWA6YGFsLWNyZWRpdHNgLCJhcmlhLWxhYmVsIjpxLmNyZWRpdHNMYWJlbCxjaGlsZHJlbjpbKDAsVy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1jcmVkaXRzLXRvcGAsY2hpbGRyZW46WygwLFcuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxXLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbCBhbC1tdXRlZGAsY2hpbGRyZW46ZS50ZXN0P3EudGVzdENyZWRpdHNMYWJlbDpxLmNyZWRpdHNMYWJlbH0pLCgwLFcuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1jcmVkaXRzLWJhbCBhbC10ZXh0LXRpdGxlLTFgLGNoaWxkcmVuOm5lKGUucHJvb2ZzTGVmdCl9KV19KSwoMCxXLmpzeCkoX2Use3Byb29mczplLnByb29mc0xlZnQsYmFsYW5jZTplLmJhbGFuY2V9KV19KSxlLnBhcnRpYWw_KDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOnEuY3JlZGl0c1BhcnRpYWx9KTpudWxsLGUudGVzdD8oMCxXLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46cS50ZXN0Q3JlZGl0c30pOm51bGwsKDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOmMudHJ1c3RDcmVkaXRzfSksZS50ZXN0JiZlLnByb29mc0xlZnQ9PT0wPygwLFcuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1jYXB0aW9uIGFsLW11dGVkYCxjaGlsZHJlbjpxLmZpcnN0UHJvb2ZGcmVlfSk6bnVsbCx0Pz8oMCxXLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtY2FwdGlvbiBhbC1tdXRlZGAsY2hpbGRyZW46cS5hZGRDcmVkaXRzTm90QXZhaWxhYmxlfSldfSk6KDAsVy5qc3hzKShhLHthczpgc2VjdGlvbmAsbGV2ZWw6MixjbGFzc05hbWU6YGFsLWNyZWRpdHNgLCJhcmlhLWxhYmVsIjpxLmNyZWRpdHNMYWJlbCxjaGlsZHJlbjpbKDAsVy5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YGFsLXRleHQtbGFiZWwgYWwtbXV0ZWRgLGNoaWxkcmVuOnEuY3JlZGl0c0xhYmVsfSksKDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOnEuY3JlZGl0c1VuYXZhaWxhYmxlfSldfSl9dmFyICQ9ZT0-ZS5raW5kPT09YGVycm9yYCYmZS5zdGF0dXM9PT00MDkseWU9ZT0-JChlKT97a2luZDpgbm90X3NldF91cGB9OntraW5kOmBlcnJvcmB9O2Z1bmN0aW9uIGJlKHthcGk6ZX09e30pe2xldCB0PSgwLFQudXNlTWVtbykoKCk9PmU_P3AoKSxbZV0pLFtuLHJdPSgwLFQudXNlU3RhdGUpKHtwaGFzZTpgbG9hZGluZ2B9KSxbYSxvXT0oMCxULnVzZVN0YXRlKSh7a2luZDpgbG9hZGluZ2B9KSxbYyxkXT0oMCxULnVzZVN0YXRlKSh7a2luZDpgdW5hdmFpbGFibGVgfSksW20saF09KDAsVC51c2VTdGF0ZSkoYG5vbmVgKSxbUyxFXT0oMCxULnVzZVN0YXRlKSh2b2lkIDApLFtELE9dPSgwLFQudXNlU3RhdGUpKHZvaWQgMCksW2ssQV09KDAsVC51c2VTdGF0ZSkoITEpLFtqLE1dPSgwLFQudXNlU3RhdGUpKG5ldyBTZXQpLFtOLFBdPSgwLFQudXNlU3RhdGUpKHZvaWQgMCksRj0oMCxULnVzZVJlZikobmV3IE1hcCksST0oMCxULnVzZVJlZikobmV3IE1hcCksTD0oMCxULnVzZVJlZikoMCksUj0oMCxULnVzZUNhbGxiYWNrKSgoKT0-e3QuZ2V0KHcpLnRoZW4oZT0-e28oZS5raW5kPT09YG9rYD9DKGUuZGF0YSk6JChlKT97a2luZDpgbm90X3NldF91cGB9OntraW5kOmB1bmF2YWlsYWJsZWB9KX0pLHQuZ2V0KGIpLnRoZW4oZT0-e2QoZS5raW5kPT09YG9rYD95KGUuZGF0YSk6e2tpbmQ6YHVuYXZhaWxhYmxlYH0pfSl9LFt0XSksej0oMCxULnVzZUNhbGxiYWNrKSgoKT0-e3QuZ2V0KHgoKSkudGhlbihlPT57bGV0IHQ9ZS5raW5kPT09YG9rYD9fKGUuZGF0YSk6dm9pZCAwO2lmKHQ_LmtpbmQhPT1gb2tgKXJldHVybjtsZXQgbj1aKHQuaXRlbXMsdC5uZXh0IT09dm9pZCAwKSxpPVEobiksYT1uZXcgU2V0KFsuLi5pXS5maWx0ZXIoKFtlLHRdKT0-KEkuY3VycmVudC5nZXQoZSk_P3QpIT09dCkubWFwKChbZV0pPT5lKSk7SS5jdXJyZW50PWk7bGV0IG89ZT0-ZSE9PXZvaWQgMCYmIWUuY3V0JiYhYS5oYXMoZS5ncm91cCkscz10Lml0ZW1zLm1hcCgoZSx0KT0-W2Usblt0XV0pLmZpbHRlcigoW2UsdF0pPT5vKHQpJiZlLnN0YXRlPT09YHJlY29yZGVkYCYmbWUoRi5jdXJyZW50LmdldCh0LmtleSk_P2BgKSkubWFwKChbLGVdKT0-ZT8ua2V5Pz9gYCk7aWYodC5pdGVtcy5mb3JFYWNoKChlLHQpPT57bGV0IHI9blt0XTtyPT09dm9pZCAwfHxyLmN1dHx8Ri5jdXJyZW50LnNldChyLmtleSxlLnN0YXRlKX0pLGEuc2l6ZT4wKXtsZXQgZT1uLmZpbHRlcihlPT5hLmhhcyhlLmdyb3VwKSkubWFwKGU9PmUua2V5KTtNKHQ9PmUuc29tZShlPT50LmhhcyhlKSk_bmV3IFNldChbLi4udF0uZmlsdGVyKHQ9PiFlLmluY2x1ZGVzKHQpKSk6dCl9cy5sZW5ndGg-MCYmTShlPT5uZXcgU2V0KFsuLi5lLC4uLnNdKSkscihlPT5lLnBoYXNlPT09YG9rYD97Li4uZSxpdGVtczpwZSh0Lml0ZW1zLGUuaXRlbXMpfTplKX0pLHQuZ2V0KHcpLnRoZW4oZT0-e2xldCB0PWUua2luZD09PWBva2A_QyhlLmRhdGEpOnZvaWQgMDt0Py5raW5kPT09YG9rYCYmbyh0KX0pfSxbdF0pLEI9TiE9PXZvaWQgMHx8bi5waGFzZT09PWBva2AmJm4uaXRlbXMuc29tZShlPT5tZShlLnN0YXRlKSk7KDAsVC51c2VFZmZlY3QpKCgpPT57aWYoIUIpcmV0dXJuO2xldCBlPXNldEludGVydmFsKCgpPT57TC5jdXJyZW50Kz0xLE4hPT12b2lkIDAmJkwuY3VycmVudD51ZSYmUCh2b2lkIDApLHooKX0sbGUpO3JldHVybigpPT5jbGVhckludGVydmFsKGUpfSxbQixOLHpdKSwoMCxULnVzZUVmZmVjdCkoKCk9PntOIT09dm9pZCAwJiZhLmtpbmQ9PT1gb2tgJiZhLnByb29mc0xlZnQ-Ti5mcm9tJiZQKHZvaWQgMCl9LFthLE5dKSwoMCxULnVzZUVmZmVjdCkoKCk9PntsZXQgZT0hMDtyZXR1cm4gdC5nZXQoeCgpKS50aGVuKHQ9PntpZighZSlyZXR1cm47bGV0IG49dC5raW5kPT09YG9rYD9fKHQuZGF0YSk6eWUodCk7aWYobi5raW5kPT09YG9rYCl7bGV0IGU9WihuLml0ZW1zLG4ubmV4dCE9PXZvaWQgMCk7SS5jdXJyZW50PVEoZSksbi5pdGVtcy5mb3JFYWNoKCh0LG4pPT57bGV0IHI9ZVtuXTtyIT09dm9pZCAwJiYhci5jdXQmJkYuY3VycmVudC5zZXQoci5rZXksdC5zdGF0ZSl9KSxyKHtwaGFzZTpgb2tgLGl0ZW1zOm4uaXRlbXMsbW9yZTpgaWRsZWAsLi4ubi5uZXh0PT09dm9pZCAwP3t9OntuZXh0Om4ubmV4dH19KX1lbHNlIHIoe3BoYXNlOm4ua2luZH0pfSksdC5nZXQodykudGhlbih0PT57ZSYmbyh0LmtpbmQ9PT1gb2tgP0ModC5kYXRhKTokKHQpP3traW5kOmBub3Rfc2V0X3VwYH06e2tpbmQ6YHVuYXZhaWxhYmxlYH0pfSksdC5nZXQoYikudGhlbih0PT57ZSYmZCh0LmtpbmQ9PT1gb2tgP3kodC5kYXRhKTp7a2luZDpgdW5hdmFpbGFibGVgfSl9KSwoKT0-e2U9ITF9fSxbdF0pO2xldCBWPSgwLFQudXNlQ2FsbGJhY2spKCgpPT57aWYobi5waGFzZSE9PWBva2B8fG4ubmV4dD09PXZvaWQgMHx8bi5tb3JlPT09YGxvYWRpbmdgKXJldHVybjtsZXR7aXRlbXM6ZSxuZXh0Oml9PW47cih7Li4ubixtb3JlOmBsb2FkaW5nYH0pLHQuZ2V0KHgoaSkpLnRoZW4odD0-e2xldCBuPXQua2luZD09PWBva2A_Xyh0LmRhdGEpOntraW5kOmBlcnJvcmB9O3Iobi5raW5kPT09YG9rYD97cGhhc2U6YG9rYCxpdGVtczpbLi4uZSwuLi5uLml0ZW1zXSxtb3JlOmBpZGxlYCwuLi5uLm5leHQ9PT12b2lkIDA_e306e25leHQ6bi5uZXh0fX06e3BoYXNlOmBva2AsaXRlbXM6ZSxuZXh0OmksbW9yZTpgZXJyb3JgfSl9KX0sW3Qsbl0pLEg9W107bi5waGFzZT09PWBva2AmJkgucHVzaCh7a2luZDpgY291bnRgLGxhYmVsOmBQcm9vZnMgc2hvd25gLHZhbHVlOlN0cmluZyhuLml0ZW1zLmxlbmd0aCl9KSxhLmtpbmQ9PT1gb2tgJiYoSC5wdXNoKHtraW5kOmB0ZXh0YCxsYWJlbDpgUHJvb2YgZmVlYCx2YWx1ZTphLnByaWNlfSksSC5wdXNoKHtraW5kOmB0ZXh0YCxsYWJlbDpgQ3JlZGl0cyB0eXBlYCx2YWx1ZTphLnRlc3Q_cS50ZXN0Q3JlZGl0c0xhYmVsOnEuY3JlZGl0c0xhYmVsfSkpO2xldCBVPSgwLFcuanN4KShgaDFgLHtjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtMWAsY2hpbGRyZW46dS5wcm9vZnN9KSxHPXYoYyksSz1jLmtpbmQ9PT1gb2tgP2MubmV0d29ya3MuZmlsdGVyKGU9PmUubWV0aG9kPT09YGNvbWluZ19zb29uYCkubWFwKGU9PkpbZS5uZXR3b3JrXSk6W10sWT1HPy5hdmFpbGFibGU9PT0hMCYmZyhHLmNyZWRpdHMuYW1vdW50KT9HOnZvaWQgMCxYPUc9PT12b2lkIDA_dm9pZCAwOigwLFcuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcGYtYWN0aW9uc2AsY2hpbGRyZW46W209PT1gYWRkYD9udWxsOigwLFcuanN4KShpLHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBzbWAsb25DbGljazooKT0-e08odm9pZCAwKSxFKHZvaWQgMCksaChgYWRkYCl9LGNoaWxkcmVuOnEuYWRkQ3JlZGl0c30pLFk9PT12b2lkIDA_bnVsbDooMCxXLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6YHBmLWFkdmFuY2VkYCxjaGlsZHJlbjpbKDAsVy5qc3gpKGkse3NpemU6YHNtYCx2YXJpYW50OmBnaG9zdGAsImFyaWEtZXhwYW5kZWQiOmssImFyaWEtY29udHJvbHMiOmBwZi1hZHZhbmNlZC1hY3Rpb25zYCxvbkNsaWNrOigpPT5BKCFrKSxjaGlsZHJlbjpxLmFkdmFuY2VkfSksaz8oMCxXLmpzeCkoYGRpdmAse2lkOmBwZi1hZHZhbmNlZC1hY3Rpb25zYCxjbGFzc05hbWU6YHBmLWFjdGlvbnNgLGNoaWxkcmVuOigwLFcuanN4KShpLHtzaXplOmBzbWAsb25DbGljazooKT0-e08odm9pZCAwKSxoKGBub25lYCksRSh7a2luZDpgd2l0aGRyYXdgLG1vbmV5OlkuY3JlZGl0cyxuZXQ6WX0pfSxjaGlsZHJlbjpxLndpdGhkcmF3fSl9KTpudWxsXX0pXX0pO3JldHVybiBuLnBoYXNlPT09YG5vdF9zZXRfdXBgfHxhLmtpbmQ9PT1gbm90X3NldF91cGA_KDAsVy5qc3hzKShXLkZyYWdtZW50LHtjaGlsZHJlbjpbVSwoMCxXLmpzeCkocyx7aWNvbjpgaW5mb2AsdGl0bGU6cS5ub3RTZXRVcH0pXX0pOigwLFcuanN4cykoVy5GcmFnbWVudCx7Y2hpbGRyZW46W1UsKDAsVy5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBwZi1sYXlvdXRgLGNoaWxkcmVuOlsoMCxXLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgcGYtbGlzdGAsY2hpbGRyZW46KDAsVy5qc3gpKGwse2xvYWRpbmc6bi5waGFzZT09PWBsb2FkaW5nYCxsaW5lczo1LGNoaWxkcmVuOm4ucGhhc2U9PT1gZXJyb3JgPygwLFcuanN4KShzLHtpY29uOmBjaXJjbGUtYWxlcnRgLHRpdGxlOnEubGlzdFVuYXZhaWxhYmxlfSk6bi5waGFzZT09PWBva2AmJm4uaXRlbXMubGVuZ3RoPT09MD8oMCxXLmpzeCkocyx7aWNvbjpgcHJvb2Ytc2VhbGAsdGl0bGU6cS5lbXB0eVRpdGxlLHByb21wdDpxLmVtcHR5UHJvbXB0fSk6bi5waGFzZT09PWBva2A_KDAsVy5qc3hzKShXLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsVy5qc3gpKGhlLHtpdGVtczpuLml0ZW1zLG1vbWVudHM6an0pLG4ubW9yZT09PWBlcnJvcmA_KDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46cS5saXN0VW5hdmFpbGFibGV9KTpudWxsLG4ubmV4dD09PXZvaWQgMD9udWxsOigwLFcuanN4KShpLHtjbGFzc05hbWU6YHBmLW1vcmVgLHNpemU6YHNtYCxkaXNhYmxlZDpuLm1vcmU9PT1gbG9hZGluZ2Asb25DbGljazpWLGNoaWxkcmVuOnEubG9hZE1vcmV9KV19KTpudWxsfSl9KSwoMCxXLmpzeHMpKGBhc2lkZWAse2NsYXNzTmFtZTpgcGYtc2lkZWAsY2hpbGRyZW46WygwLFcuanN4KSh2ZSx7Y3JlZGl0czphLGFjdGlvbnM6WH0pLEQ9PT12b2lkIDA_bnVsbDooMCxXLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbWAscm9sZTpgc3RhdHVzYCxjaGlsZHJlbjpEfSksUz09PXZvaWQgMD9tPT09YGFkZGAmJkchPT12b2lkIDA_KDAsVy5qc3gpKG9lLHtuZXQ6Ryxzb29uOkssb25UdXJuOmU9PntPKHZvaWQgMCksRShlKX0sb25DaGVja0FnYWluOlJ9KTpudWxsOigwLFcuanN4KShzZSx7YXBpOnQsbW92ZTpTLG9uQ2xvc2U6KCk9PkUodm9pZCAwKSxvbkRvbmU6ZT0-e1Mua2luZD09PWBkZXBvc2l0YCYmZT09PXEucGVuZGluZyYmKEwuY3VycmVudD0wLFAoe2Zyb206YS5raW5kPT09YG9rYD9hLnByb29mc0xlZnQ6MH0pKSxFKHZvaWQgMCksaChgbm9uZWApLE8oZSksUigpfX0pLE49PT12b2lkIDA_bnVsbDooMCxXLmpzeCkoYHBgLHtjbGFzc05hbWU6YHBmLXdhaXRpbmcgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxyb2xlOmBzdGF0dXNgLGNoaWxkcmVuOnEud2FpdGluZ30pLGEua2luZD09PWBva2A_KDAsVy5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOnJlKGEucHJpY2UpfSk6bnVsbF19KV19KSwoMCxXLmpzeCkoZix7ZmllbGRzOkh9KV19KX1leHBvcnR7YmUgYXMgUHJvb2ZzUGFnZX07"],
54265
+ ["assets/rules-BIjvi6W6.js", "aW1wb3J0e28gYXMgZSxzIGFzIHQsdCBhcyBufWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7aW1wb3J0e2kgYXMgcixuIGFzIGksciBhcyBhLHQgYXMgb31mcm9tIi4vZm9ybXMtQnZLdk5ITVouanMiO2ltcG9ydHtuIGFzIHN9ZnJvbSIuL3N1cmZhY2UtRHZHMFdrei0uanMiO2ltcG9ydHtUIGFzIGMsYiBhcyBsLGsgYXMgdSxuIGFzIGQsciBhcyBmLHQgYXMgcCx2IGFzIGVlLHkgYXMgbSx6IGFzIGh9ZnJvbSIuL2luZGV4LTFCTmh5dHMwLmpzIjt2YXIgZz10KCksXz1gL2FwaS91aS9ydWxlc2Asdj0vXigwfFsxLTldWzAtOV17MCw4fSkoXC5bMC05XXswLDV9WzEtOV0pPyQvLHk9L15bMC05YS1mXXs2NH0kLyx0ZT0vXlthLXpdW2Etel9dezEsNjN9JC8sYj0xMDI0MCx4PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxTPShlLHQpPT50eXBlb2YgZT09YHN0cmluZ2AmJnQuaW5jbHVkZXMoZSksQz1lPT50eXBlb2YgZT09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGUpJiZlPj0wJiZlPD0xZTUsdz1lPT50eXBlb2YgZT09YG51bWJlcmAmJk51bWJlci5pc1NhZmVJbnRlZ2VyKGUpJiZlPj0xJiZlPD1iLFQ9ZT0-dHlwZW9mIGU9PWBzdHJpbmdgJiZ2LnRlc3QoZSksRT1bYGFsbG93YCxgYXBwcm92YWxgLGBkZW55YF07ZnVuY3Rpb24gRChlKXtpZigheChlKSlyZXR1cm47bGV0e3Byb29mczp0LGNvbnRhY3RzOm4sZmlsZXM6cixyZWNlaXB0czppLGNvbW1pdG1lbnRzOmF9PWU7aWYoeCh0KSYmeChuKSYmeChyKSYmeChpKSYmeChhKSYmUyh0Lm5vdGFyaXplLEUpJiZUKHQuZGFpbHlCdWRnZXRVU0QpJiZUKHQucGVyQWN0aW9uTWF4VVNEKSYmUyh0LmFsbG93S2V5RGlzY2xvc3VyZSxbYGFwcHJvdmFsYCxgZGVueWBdKSYmUyhuLmFjY2VwdEludml0ZXMsW2BhcHByb3ZhbGAsYGF1dG9gXSkmJlMobi51bmtub3duU2VuZGVycyxbYHF1ZXVlYCxgZHJvcGBdKSYmUyhuLmFsbG93ZWQsW2BwYWlyZWRgLGBsaXN0ZWRgXSkmJkMobi5saXN0ZWQpJiZ3KHIubWF4U2VuZFNpemVNQikmJncoci5tYXhSZWNlaXZlU2l6ZU1CKSYmdHlwZW9mIGkuYXV0b0RlbGl2ZXJlZD09YGJvb2xlYW5gJiZTKGEuYWNjZXB0LEUpJiZTKGEuYXV0b0FjY2VwdERpcmVjdGlvbixbYGJ1eWAsYHNlbGxgXSkmJlQoYS5hdXRvQWNjZXB0TWF4VVNEKSYmKGEuYXV0b0FjY2VwdE1pblVTRD09PW51bGx8fFQoYS5hdXRvQWNjZXB0TWluVVNEKSkmJkMoYS5hdXRvQWNjZXB0Q29udGFjdHMpKXJldHVybntwcm9vZnM6e25vdGFyaXplOnQubm90YXJpemUsZGFpbHlCdWRnZXRVU0Q6dC5kYWlseUJ1ZGdldFVTRCxwZXJBY3Rpb25NYXhVU0Q6dC5wZXJBY3Rpb25NYXhVU0QsYWxsb3dLZXlEaXNjbG9zdXJlOnQuYWxsb3dLZXlEaXNjbG9zdXJlfSxjb250YWN0czp7YWNjZXB0SW52aXRlczpuLmFjY2VwdEludml0ZXMsdW5rbm93blNlbmRlcnM6bi51bmtub3duU2VuZGVycyxhbGxvd2VkOm4uYWxsb3dlZCxsaXN0ZWQ6bi5saXN0ZWR9LGZpbGVzOnttYXhTZW5kU2l6ZU1COnIubWF4U2VuZFNpemVNQixtYXhSZWNlaXZlU2l6ZU1COnIubWF4UmVjZWl2ZVNpemVNQn0scmVjZWlwdHM6e2F1dG9EZWxpdmVyZWQ6aS5hdXRvRGVsaXZlcmVkfSxjb21taXRtZW50czp7YWNjZXB0OmEuYWNjZXB0LGF1dG9BY2NlcHREaXJlY3Rpb246YS5hdXRvQWNjZXB0RGlyZWN0aW9uLGF1dG9BY2NlcHRNYXhVU0Q6YS5hdXRvQWNjZXB0TWF4VVNELGF1dG9BY2NlcHRNaW5VU0Q6YS5hdXRvQWNjZXB0TWluVVNELGF1dG9BY2NlcHRDb250YWN0czphLmF1dG9BY2NlcHRDb250YWN0c319fWZ1bmN0aW9uIG5lKGUpe2lmKCF4KGUpKXJldHVybntraW5kOmB1bmF2YWlsYWJsZWB9O2lmKGUuc3RhdHVzPT09YG5vdF92YWxpZGApcmV0dXJue2tpbmQ6YG5vdF92YWxpZGB9O2lmKGUuc3RhdHVzIT09YG9rYClyZXR1cm57a2luZDpgdW5hdmFpbGFibGVgfTtsZXR7dmVyc2lvbjp0fT1lO2lmKHR5cGVvZiB0IT1gbnVtYmVyYHx8IU51bWJlci5pc1NhZmVJbnRlZ2VyKHQpfHx0PDApcmV0dXJue2tpbmQ6YHVuYXZhaWxhYmxlYH07bGV0IG49RChlLnJ1bGVzKTtyZXR1cm4gbj09PXZvaWQgMD97a2luZDpgdW5hdmFpbGFibGVgfTp7a2luZDpgb2tgLHZlcnNpb246dCxydWxlczpufX1mdW5jdGlvbiByZShlKXtpZigheChlKXx8ZS5zdGF0dXMhPT1gcmV2aWV3YClyZXR1cm47bGV0e3Jldmlldzp0LHdhcm5pbmdzOm4sYXNrS2VlcERlbGl2ZXJ5UmVjZWlwdHM6cn09ZTtpZih0eXBlb2YgdCE9YHN0cmluZ2B8fCF5LnRlc3QodCl8fHR5cGVvZiByIT1gYm9vbGVhbmB8fCFBcnJheS5pc0FycmF5KG4pKXJldHVybjtsZXQgaT1bXTtmb3IobGV0IGUgb2Ygbil7aWYoIXgoZSl8fHR5cGVvZiBlLmNvZGUhPWBzdHJpbmdgfHwhdGUudGVzdChlLmNvZGUpKXJldHVybjtpLnB1c2goQyhlLmNvbnRhY3RzKT97Y29kZTplLmNvZGUsY29udGFjdHM6ZS5jb250YWN0c306e2NvZGU6ZS5jb2RlfSl9cmV0dXJue3Jldmlldzp0LHdhcm5pbmdzOmksYXNrS2VlcERlbGl2ZXJ5UmVjZWlwdHM6cn19dmFyIE89ZT0-ZS5jb21taXRtZW50cy5hY2NlcHQhPT1gZGVueWAmJmUuY29tbWl0bWVudHMuYXV0b0FjY2VwdERpcmVjdGlvbj09PWBidXlgJiZlLmNvbW1pdG1lbnRzLmF1dG9BY2NlcHRDb250YWN0cz4wJiZlLmNvbW1pdG1lbnRzLmF1dG9BY2NlcHRNYXhVU0QhPT1gMGAsaz1lPT5lLmNvbW1pdG1lbnRzLmFjY2VwdCE9PWBkZW55YCYmZS5jb21taXRtZW50cy5hdXRvQWNjZXB0RGlyZWN0aW9uPT09YHNlbGxgJiZlLmNvbW1pdG1lbnRzLmF1dG9BY2NlcHRNaW5VU0QhPT1udWxsO2Z1bmN0aW9uIGllKGUpe3JldHVybntub3Rhcml6ZTplLnByb29mcy5ub3Rhcml6ZSxkYWlseUJ1ZGdldFVTRDplLnByb29mcy5kYWlseUJ1ZGdldFVTRCxwZXJBY3Rpb25NYXhVU0Q6ZS5wcm9vZnMucGVyQWN0aW9uTWF4VVNELGFjY2VwdEludml0ZXM6ZS5jb250YWN0cy5hY2NlcHRJbnZpdGVzLGFjY2VwdDplLmNvbW1pdG1lbnRzLmFjY2VwdCx1bmtub3duU2VuZGVyczplLmNvbnRhY3RzLnVua25vd25TZW5kZXJzLGFsbG93S2V5RGlzY2xvc3VyZTplLnByb29mcy5hbGxvd0tleURpc2Nsb3N1cmUsbWF4U2VuZFNpemVNQjpTdHJpbmcoZS5maWxlcy5tYXhTZW5kU2l6ZU1CKSxtYXhSZWNlaXZlU2l6ZU1COlN0cmluZyhlLmZpbGVzLm1heFJlY2VpdmVTaXplTUIpLGJ1eU9uOk8oZSksYnV5TWF4VVNEOmUuY29tbWl0bWVudHMuYXV0b0FjY2VwdE1heFVTRD09PWAwYD9gYDplLmNvbW1pdG1lbnRzLmF1dG9BY2NlcHRNYXhVU0Qsc2VsbE9uOmsoZSksc2VsbE1pblVTRDplLmNvbW1pdG1lbnRzLmF1dG9BY2NlcHRNaW5VU0Q_P2BgfX1mdW5jdGlvbiBBKGUpe2xldCB0PS9eXHMqXCQ_XHMqKFswLTldezEsOX0pKD86XC4oWzAtOV17MSwyfSkpP1xzKiQvLmV4ZWMoZSk7aWYodD09PW51bGwpcmV0dXJuO2xldCBuPVN0cmluZyhOdW1iZXIodFsxXSkpLHI9KHRbMl0_P2BgKS5yZXBsYWNlKC8wKyQvLGBgKTtyZXR1cm4gcj09PWBgP246YCR7bn0uJHtyfWB9ZnVuY3Rpb24gaihlKXtsZXQgdD1BKGUpO2lmKHQ9PT12b2lkIDApcmV0dXJuO2xldFtuLHI9YGBdPXQuc3BsaXQoYC5gKTtyZXR1cm5gJCR7bj8_YDBgfS4ke3IucGFkRW5kKDIsYDBgKX1gfWZ1bmN0aW9uIE0oZSl7aWYoIS9eXHMqWzAtOV17MSw1fVxzKiQvLnRlc3QoZSkpcmV0dXJuO2xldCB0PU51bWJlcihlLnRyaW0oKSk7cmV0dXJuIHQ-PTEmJnQ8PWI_dDp2b2lkIDB9ZnVuY3Rpb24gYWUoZSx0KXtsZXQgbj17fSxyPW5ldyBTZXQsaT0wLGE9KGUsdCxyKT0-eyhuW2VdPz89e30pW3RdPXJ9LG89KGUsdCxuLHIpPT57ZSYmKGkrPTEsYSh0LG4scikpfTtvKHQubm90YXJpemUhPT1lLnByb29mcy5ub3Rhcml6ZSxgcHJvb2ZzYCxgbm90YXJpemVgLHQubm90YXJpemUpO2xldCBzPW49PntsZXQgaT1BKHRbbl0pO2k9PT12b2lkIDA_ci5hZGQobik6byhpIT09ZS5wcm9vZnNbbl0sYHByb29mc2AsbixpKX07cyhgZGFpbHlCdWRnZXRVU0RgKSxzKGBwZXJBY3Rpb25NYXhVU0RgKSxvKHQuYWxsb3dLZXlEaXNjbG9zdXJlIT09ZS5wcm9vZnMuYWxsb3dLZXlEaXNjbG9zdXJlLGBwcm9vZnNgLGBhbGxvd0tleURpc2Nsb3N1cmVgLHQuYWxsb3dLZXlEaXNjbG9zdXJlKSxvKHQuYWNjZXB0SW52aXRlcyE9PWUuY29udGFjdHMuYWNjZXB0SW52aXRlcyxgY29udGFjdHNgLGBhY2NlcHRJbnZpdGVzYCx0LmFjY2VwdEludml0ZXMpLG8odC51bmtub3duU2VuZGVycyE9PWUuY29udGFjdHMudW5rbm93blNlbmRlcnMsYGNvbnRhY3RzYCxgdW5rbm93blNlbmRlcnNgLHQudW5rbm93blNlbmRlcnMpO2ZvcihsZXQgbiBvZltgbWF4U2VuZFNpemVNQmAsYG1heFJlY2VpdmVTaXplTUJgXSl7bGV0IGk9TSh0W25dKTtpPT09dm9pZCAwP3IuYWRkKG4pOm8oaSE9PWUuZmlsZXNbbl0sYGZpbGVzYCxuLGkpfW8odC5hY2NlcHQhPT1lLmNvbW1pdG1lbnRzLmFjY2VwdCxgY29tbWl0bWVudHNgLGBhY2NlcHRgLHQuYWNjZXB0KTtsZXQgYz1lLmNvbW1pdG1lbnRzLGw9Yy5hdXRvQWNjZXB0RGlyZWN0aW9uLHU9Yy5hdXRvQWNjZXB0TWF4VVNELGQ9Yy5hdXRvQWNjZXB0TWluVVNELGY9TyhlKSxwPWsoZSk7aWYodC5idXlPbil7bGV0IGU9QSh0LmJ1eU1heFVTRCk7ZT09PXZvaWQgMHx8ZT09PWAwYD9yLmFkZChgYnV5TWF4VVNEYCk6KGw9YGJ1eWAsdT1lKX1lbHNlIGYmJih1PWAwYCk7aWYodC5zZWxsT24pe2xldCBlPUEodC5zZWxsTWluVVNEKTtlPT09dm9pZCAwfHxlPT09YDBgP3IuYWRkKGBzZWxsTWluVVNEYCk6KGw9YHNlbGxgLGQ9ZSl9ZWxzZSBwJiYoZD1udWxsKTtyZXR1cm4gdC5idXlPbiE9PWYmJihpKz0xKSx0LnNlbGxPbiE9PXAmJihpKz0xKSxsIT09Yy5hdXRvQWNjZXB0RGlyZWN0aW9uJiZhKGBjb21taXRtZW50c2AsYGF1dG9BY2NlcHREaXJlY3Rpb25gLGwpLHUhPT1jLmF1dG9BY2NlcHRNYXhVU0QmJihhKGBjb21taXRtZW50c2AsYGF1dG9BY2NlcHRNYXhVU0RgLHUpLHQuYnV5T249PT1mJiYoaSs9MSkpLGQhPT1jLmF1dG9BY2NlcHRNaW5VU0QmJihhKGBjb21taXRtZW50c2AsYGF1dG9BY2NlcHRNaW5VU0RgLGQpLHQuc2VsbE9uPT09cCYmKGkrPTEpKSx7cGF0Y2g6bixjaGFuZ2VzOmksaW52YWxpZDpyfX12YXIgTj1lPT57bGV0IHQ9YGA7Zm9yKGxldCBuIG9mIGUpdCs9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtyZXR1cm4gYnRvYSh0KS5yZXBsYWNlKC9cKy9nLGAtYCkucmVwbGFjZSgvXC8vZyxgX2ApLnJlcGxhY2UoLz0rJC8sYGApfSxQPWU9Pk4obmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGUpKSk7ZnVuY3Rpb24gb2UoZSx0LG4pe3JldHVybmAke199L3Jldmlldz9lZGl0PSR7UCh7YmFzZTplLHBhdGNoOnQsLi4ubj09PXZvaWQgMD97fTp7a2VlcERlbGl2ZXJ5UmVjZWlwdHM6bn19KX1gfXZhciBGPWBYLUFnZW50TGluay1DU1JGYCxJPWAvYXBpL293bmVyL3Bhc3NrZXlgLEw9YGxvY2FsaG9zdGAsUj1lPT57bGV0IHQ9ZS5yZXBsYWNlKC8tL2csYCtgKS5yZXBsYWNlKC9fL2csYC9gKSxuPWF0b2IodCtgPWAucmVwZWF0KCg0LXQubGVuZ3RoJTQpJTQpKTtyZXR1cm4gVWludDhBcnJheS5mcm9tKG4sZT0-ZS5jaGFyQ29kZUF0KDApKX0sej1lPT57bGV0IHQ9YGA7Zm9yKGxldCBuIG9mIGUpdCs9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtyZXR1cm4gYnRvYSh0KS5yZXBsYWNlKC9cKy9nLGAtYCkucmVwbGFjZSgvXC8vZyxgX2ApLnJlcGxhY2UoLz0rJC8sYGApfSxCPWU9PmU_bmV3IFVpbnQ4QXJyYXkoZSk6bmV3IFVpbnQ4QXJyYXk7ZnVuY3Rpb24gVihlKXtsZXQgdD1uZXcgVWludDhBcnJheShlLnJlZHVjZSgoZSx0KT0-ZSsyK3QubGVuZ3RoLDApKSxuPTA7Zm9yKGxldCByIG9mIGUpdFtuXT1yLmxlbmd0aD4-OCx0W24rMV09ci5sZW5ndGgmMjU1LHQuc2V0KHIsbisyKSxuKz0yK3IubGVuZ3RoO3JldHVybiB0fWZ1bmN0aW9uIEgoKXtyZXR1cm4gdHlwZW9mIGRvY3VtZW50PmB1YD9gYDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBtZXRhW25hbWU9ImFnZW50bGluay1jc3JmIl1gKT8uZ2V0QXR0cmlidXRlKGBjb250ZW50YCk_P2BgfXZhciBVPWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKTthc3luYyBmdW5jdGlvbiBXKGUpe3RyeXtyZXR1cm4gYXdhaXQgZS5qc29uKCl9Y2F0Y2h7cmV0dXJufX1mdW5jdGlvbiBzZShlLHQpe2xldCBuPVUodCk_dDp7fTtpZihlPT09MjAwJiZuLnN0YXR1cz09PWBzYXZlZGApcmV0dXJue2tpbmQ6YHNhdmVkYH07aWYoZT09PTQwMSlyZXR1cm57a2luZDpgc2Vzc2lvbl9leHBpcmVkYH07aWYoZT09PTQwMylyZXR1cm57a2luZDpgd3JvbmdfY29kZWB9O2lmKGU9PT00Mjkpe2xldCBlPW4ucmV0cnlBZnRlcjtyZXR1cm57a2luZDpgd2FpdGAsc2Vjb25kczp0eXBlb2YgZT09YG51bWJlcmAmJmU-MCYmZTw4NjQwMD9lOjYwfX1yZXR1cm4gZT09PTQwOT9uLmVycm9yPT09YHN0YWxlYD97a2luZDpgc3RhbGVgfTpuLnN0YXR1cz09PWBidXN5YD97a2luZDpgYnVzeWB9OntraW5kOmByZWZ1c2VkYH06e2tpbmQ6YGZhaWxlZGB9fWZ1bmN0aW9uIGNlKGU9e30pe2xldCB0PWUuZmV0Y2g_PygoZSx0KT0-Z2xvYmFsVGhpcy5mZXRjaChlLHQpKSxuPSgpPT5lLnRva2VuPz9IKCkscj0oKT0-ZS5jcmVkZW50aWFscz8_KHR5cGVvZiBuYXZpZ2F0b3I-YHVgP3ZvaWQgMDpuYXZpZ2F0b3IuY3JlZGVudGlhbHMpO2FzeW5jIGZ1bmN0aW9uIGkoKXt0cnl7bGV0IGU9YXdhaXQgdChJLHttZXRob2Q6YEdFVGAsaGVhZGVyczp7W0ZdOm4oKX0sY3JlZGVudGlhbHM6YHNhbWUtb3JpZ2luYCxjYWNoZTpgbm8tc3RvcmVgfSk7aWYoZS5zdGF0dXMhPT0yMDApcmV0dXJuIG51bGw7bGV0IHI9YXdhaXQgVyhlKSxpPVUocik_ci5wYXNza2V5OnZvaWQgMDtpZighVShpKXx8aS5yZWdpc3RlcmVkIT09ITB8fGkucnBJZCE9PUwpcmV0dXJuIG51bGw7bGV0e2NyZWRlbnRpYWxJZDphLHByZlNhbHQ6b309aTtyZXR1cm4gdHlwZW9mIGEhPWBzdHJpbmdgfHx0eXBlb2YgbyE9YHN0cmluZ2A_bnVsbDp7Y3JlZGVudGlhbElkOmEscHJmU2FsdDpvfX1jYXRjaHtyZXR1cm4gbnVsbH19YXN5bmMgZnVuY3Rpb24gYShlKXtsZXQgdD1yKCk7aWYodD09PXZvaWQgMClyZXR1cm47bGV0IG49bmV3IFVpbnQ4QXJyYXkoMzIpO2NyeXB0by5nZXRSYW5kb21WYWx1ZXMobik7bGV0IGk7dHJ5e2k9YXdhaXQgdC5nZXQoe3B1YmxpY0tleTp7Y2hhbGxlbmdlOm4scnBJZDpMLGFsbG93Q3JlZGVudGlhbHM6W3t0eXBlOmBwdWJsaWMta2V5YCxpZDpSKGUuY3JlZGVudGlhbElkKX1dLHVzZXJWZXJpZmljYXRpb246YHJlcXVpcmVkYCx0aW1lb3V0OjEyZTQsZXh0ZW5zaW9uczp7cHJmOntldmFsOntmaXJzdDpSKGUucHJmU2FsdCl9fX19fSl9Y2F0Y2h7cmV0dXJufWlmKGk9PT1udWxsKXJldHVybjtsZXQgYT1pLnJlc3BvbnNlLG89QihpLmdldENsaWVudEV4dGVuc2lvblJlc3VsdHMoKS5wcmY_LnJlc3VsdHM_LmZpcnN0KTt0cnl7cmV0dXJuIFYoW0IoaS5yYXdJZCksQihhLmF1dGhlbnRpY2F0b3JEYXRhKSxCKGEudXNlckhhbmRsZSksb10pfWZpbmFsbHl7by5maWxsKDApfX1hc3luYyBmdW5jdGlvbiBvKGUscixpKXtpZighZS5zdGFydHNXaXRoKGAvYXBpL3VpL2ApKXRocm93IEVycm9yKGBvd25lciBwYXRoIG11c3Qgc3RhcnQgd2l0aCAvYXBpL3VpL2ApO2xldCBvPXtbRl06bigpLCJDb250ZW50LVR5cGUiOmBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1gLCJYLUFnZW50TGluay1JbnB1dCI6eihuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkocikpKX0scztpZihpLmtpbmQ9PT1gcGFzc2tleWApe2xldCBlPWF3YWl0IGEoaS5wYXNza2V5KTtpZihlPT09dm9pZCAwKXJldHVybntraW5kOmBwYXNza2V5X2NhbmNlbGxlZGB9O3M9bmV3IFVpbnQ4QXJyYXkoZSksZS5maWxsKDApLG9bYFgtQWdlbnRMaW5rLVByZXNlbmNlYF09YHBhc3NrZXlgfWVsc2V7bGV0IGU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGkuY29kZSk7cz1uZXcgVWludDhBcnJheShlKSxlLmZpbGwoMCl9dHJ5e2xldCBuPWF3YWl0IHQoZSx7bWV0aG9kOmBQT1NUYCxoZWFkZXJzOm8sYm9keTpzLGNyZWRlbnRpYWxzOmBzYW1lLW9yaWdpbmAsY2FjaGU6YG5vLXN0b3JlYH0pO3JldHVybiBzZShuLnN0YXR1cyxhd2FpdCBXKG4pKX1jYXRjaHtyZXR1cm57a2luZDpgZmFpbGVkYH19ZmluYWxseXtzLmZpbGwoMCl9fXJldHVybntwYXNza2V5Omksc2F2ZTpvfX12YXIgRz17ZXllYnJvdzpgV2hhdCB5b3VyIGFnZW50IG1heSBkbyB3aXRob3V0IGFza2luZ2Asc2F2aW5nTm90ZTpgU2F2aW5nIGFza3MgZm9yIHlvdXIgcGFzc2tleWAsbG9hZGluZzpgTG9hZGluZyB5b3VyIHJ1bGVz4oCmYCxzdW1tYXJ5VGl0bGU6YFJ1bGVzIGluIGZvcmNlYCxzdW1tYXJ5Tm90ZTpgVGhpcyBpcyB3aGF0IHlvdXIgYWdlbnQgZm9sbG93cyByaWdodCBub3cuYCxob29kVmVyc2lvbjpgUnVsZXMgdmVyc2lvbmAsZXZlcnlkYXk6YEV2ZXJ5ZGF5YCxtb3JlUnVsZXM6YE1vcmUgcnVsZXNgLGFsbG93ZWQ6YEFsbG93ZWRgLGFza01lOmBBc2sgbWVgLGNvbnRpbnVlVG9Db25maXJtOmBDb250aW51ZWAsbmV2ZXI6YE5ldmVyYCxhbGxvdzpgQWxsb3dgLGFza0V2ZXJ5VGltZTpgQXNrIG1lIGV2ZXJ5IHRpbWVgLHJlY29tbWVuZGVkOmByZWNvbW1lbmRlZGAsaG9sZDpgSG9sZCBmb3IgbXkgcmV2aWV3YCxkcm9wOmBEcm9wYCxwcm9vZlRpdGxlOmBBZGQgcHJvb2ZgLHByb29mSGVscDpgRWFjaCBwcm9vZiB1c2VzIGNyZWRpdHMgYW5kIGlzIHB1YmxpYy5gLHByb29mT2ZmOmBZb3VyIGFnZW50IG5ldmVyIGFkZHMgcHJvb2YuYCxidWRnZXQ6YFByb29mIGJ1ZGdldCBpbiBhbnkgMjQgaG91cnNgLGFza092ZXI6YEFzayBtZSBvdmVyYCxpbnZpdGVzVGl0bGU6YE5ldyBjb250YWN0c2AsaW52aXRlc0hlbHA6YEFzayBtZSBiZWZvcmUgY29ubmVjdGluZyB3aXRoIGEgbmV3IGNvbnRhY3QuYCx0ZXJtc1RpdGxlOmBBY2NlcHRpbmcgdGVybXNgLHRlcm1zSGVscDpgQWNjZXB0aW5nIGNvbW1pdHMgeW91LiBOZXZlciBhcHByb3ZlZCBmcm9tIGEgbm90aWZpY2F0aW9uLmAsdW5rbm93blRpdGxlOmBSZXF1ZXN0cyBmcm9tIHVua25vd24gc2VuZGVyc2AsdW5rbm93bkhlbHA6YE9ubHkgYW4gaW52aXRlIGFkZHMgYSBjb250YWN0LmAsd2hvVGl0bGU6YFdobyBjYW4gbWVzc2FnZSB5b3VyIGFnZW50YCx3aG9QYWlyZWQ6YFBhaXJlZCBjb250YWN0c2Asd2hvTGlzdGVkOmU9PmU9PT0xP2BPbmx5IHRoZSAxIGNvbnRhY3QgeW91IGxpc3RlZGA6YE9ubHkgdGhlICR7U3RyaW5nKGUpfSBjb250YWN0cyB5b3UgbGlzdGVkYCxmaWxlc1RpdGxlOmBGaWxlc2AsZmlsZXNTdW1tYXJ5OihlLHQpPT5gT25seSBmcm9tIGFsbG93ZWQgZm9sZGVycyDCtyBzZW5kIHVwIHRvICR7U3RyaW5nKGUpfSBNQiDCtyByZWNlaXZlIHVwIHRvICR7U3RyaW5nKHQpfSBNQmAsc2VuZExhYmVsOmBTZW5kIHVwIHRvIChNQilgLHJlY2VpdmVMYWJlbDpgUmVjZWl2ZSB1cCB0byAoTUIpYCxleHBvcnRzVGl0bGU6YEV4cG9ydHMgdGhhdCBvcGVuIHRoZSBkb2N1bWVudGAsZXhwb3J0c0hlbHA6YEFueW9uZSB3aXRoIHN1Y2ggYW4gZXhwb3J0IGNhbiByZWFkIHRoZSBkb2N1bWVudC5gLGxpbWl0c1RpdGxlOmBMaW1pdHMgZm9yIGFjY2VwdGluZyB0ZXJtc2AsbGltaXRzSGVscDpgWW91ciBhZ2VudCBhY2NlcHRzIG9uIGl0cyBvd24gb25seSB3aXRoaW4gdGhlc2UgbGltaXRzLmAsYnV5VGl0bGU6YEF1dG8tYWNjZXB0IHdoZW4gSSBwYXksIGZvciBsaXN0ZWQgY29udGFjdHNgLGJ1eUhlbHA6KGUsdCk9PmBVcCB0byAke2V9IHBlciBhZ3JlZW1lbnQsIFVTLWRvbGxhciB0ZXJtcyBvbmx5LiAke3Q9PT0xP2AxIGNvbnRhY3RgOmAke1N0cmluZyh0KX0gY29udGFjdHNgfSBsaXN0ZWQuYCxidXlNYXg6YFVwIHRvLCBwZXIgYWdyZWVtZW50ICgkKWAsc2VsbFRpdGxlOmBBdXRvLWFjY2VwdCB3aGVuIEknbSBwYWlkIChzZWxsaW5nKWAsc2VsbEhlbHBPZmY6YE9mZiBieSBkZWZhdWx0LmAsc2VsbEhlbHBPbjplPT5gV2hlbiB0aGV5IHBheSBhdCBsZWFzdCAke2V9LmAsc2VsbE1pbjpgQXQgbGVhc3QsIHBlciBhZ3JlZW1lbnQgKCQpYCxzZWxsV2FybmluZ1RpdGxlOmBCZWZvcmUgeW91IHR1cm4gdGhpcyBvbjpgLHNlbGxXYXJuaW5nOmU9PmBZb3VyIGFnZW50IHdpbGwgY29tbWl0IHlvdSB0byBkZWxpdmVyIHdoYXRldmVyIHRoaXMgY29udGFjdCB3cml0ZXMsIGZvciBhdCBsZWFzdCAke2V9LiBPbmx5IHR1cm4gdGhpcyBvbiBmb3IgY29udGFjdHMgeW91IHRydXN0LmAsc29tZUFtb3VudDpgdGhlIGFtb3VudCB5b3Ugc2V0YCxub0xpc3RlZDpgTm8gY29udGFjdHMgYXJlIGxpc3RlZCBmb3IgdGhpcyB5ZXQuYCxjaGFuZ2VzOmU9PmU9PT0xP2AxIGNoYW5nZWA6YCR7U3RyaW5nKGUpfSBjaGFuZ2VzYCx1bnNhdmVkOmBVbnNhdmVkYCxyZXZpZXdTYXZlOmBSZXZpZXcgYW5kIHNhdmVgLGRpc2NhcmQ6YERpc2NhcmRgLGludmFsaWRBbW91bnQ6YEVudGVyIGFuIGFtb3VudCBpbiBkb2xsYXJzLCBsaWtlIDUgb3IgMC41MC5gLGludmFsaWRTaXplOmBFbnRlciBhIHNpemUgZnJvbSAxIHRvIDEwMjQwIE1CLmAsY29uZmlybVRpdGxlOmBCZWZvcmUgeW91IHNhdmVgLGNvbmZpcm1JbnRybzpgVGhlc2UgY2hhbmdlcyBsZXQgeW91ciBhZ2VudCBkbyBtb3JlIHdpdGhvdXQgYXNraW5nLiBUaWNrIGVhY2ggb25lIHRvIGNvbmZpcm0uYCxub1dhcm5pbmdzOmBUaGVzZSBjaGFuZ2VzIGRvbid0IGxldCB5b3VyIGFnZW50IGRvIG1vcmUgd2l0aG91dCBhc2tpbmcuYCxrZWVwVGl0bGU6YEtlZXAgZGVsaXZlcnkgcmVjZWlwdHMgb25gLGtlZXBUZXh0OmBEZWxpdmVyeSByZWNlaXB0cyBhcmUgb24gZnJvbSBhbiBvbGRlciBkZWZhdWx0LiBFYWNoIG9uZSBzaG93cyBwdWJsaWNseSB0aGF0IGEgcHJvb2YgcmVhY2hlZCB5b3VyIGFnZW50LCBuZXZlciB0aGUgY29udGVudC5gLGNvZGVMYWJlbDpgQmFja3VwIGNvZGUgb3Igb3duZXIgcGFzc3BocmFzZWAsY29kZUhpbnQ6YE5ldmVyIGdpdmUgaXQgdG8geW91ciBBSS5gLHNhdmU6YFNhdmUgd2l0aCBwYXNza2V5YCxzYXZlQ29kZTpgU2F2ZWAsYmFjazpgQmFjayB0byBlZGl0aW5nYCxwcmVwYXJpbmc6YENoZWNraW5nIHlvdXIgY2hhbmdlc-KApmAsc2F2aW5nOmBTYXZpbmfigKZgLHNhdmVkOmBSdWxlcyBzYXZlZC5gLHdyb25nQ29kZTpgVGhhdCBkaWRuJ3QgbWF0Y2guIFRyeSBhZ2Fpbi5gLHdhaXQ6ZT0-YFRvbyBtYW55IHRyaWVzLiBXYWl0ICR7U3RyaW5nKGUpfSBzZWNvbmRzIGFuZCB0cnkgYWdhaW4uYCxyZWZ1c2VkOmBOb3Qgc2F2ZWQuIFJldmlldyB5b3VyIGNoYW5nZXMgYWdhaW4uYCxzdGFsZTpgWW91ciBydWxlcyBjaGFuZ2VkIHNvbWV3aGVyZSBlbHNlLiBSZWxvYWQgdGhlIHBhZ2UgYW5kIG1ha2UgeW91ciBjaGFuZ2VzIGFnYWluLmAsYnVzeTpgQW5vdGhlciBhcHByb3ZhbCBpcyBpbiBwcm9ncmVzcy4gVHJ5IGFnYWluIGluIGEgbW9tZW50LmAsZmFpbGVkOmBDb3VsZG4ndCBzYXZlLiBUcnkgYWdhaW4uYCxzZXNzaW9uRXhwaXJlZDoiVGhpcyBsaW5rIGhhcyBleHBpcmVkLiBPcGVuIEFnZW50TGluayBhZ2FpbiBmcm9tIHlvdXIgQUksIG9yIHJ1biBgYWdlbnRsaW5rIHVpYC4iLHBhc3NrZXlDYW5jZWxsZWQ6YFRoZSBwYXNza2V5IHdhcyBub3QgdXNlZC4gVHJ5IGFnYWluLmAsaW52YWxpZEVkaXQ6YFRoZXNlIGNoYW5nZXMgY2FuJ3QgYmUgc2F2ZWQuIENoZWNrIHRoZSB2YWx1ZXMgYW5kIHRyeSBhZ2Fpbi5gLHVuYXZhaWxhYmxlOmBZb3VyIHJ1bGVzIGNvdWxkbid0IGJlIGxvYWRlZC4gVHJ5IGFnYWluIGluIGEgbWludXRlLmAsbm90U2V0VXA6YFNldCB1cCBBZ2VudExpbmsgZmlyc3QuIFlvdXIgcnVsZXMgYXBwZWFyIGhlcmUgYWZ0ZXIgdGhhdC5gLG5vdFZhbGlkOiJZb3VyIHJ1bGVzIGNvdWxkbid0IGJlIGNoZWNrZWQsIHNvIGV2ZXJ5dGhpbmcgdGhhdCBjb3N0cyBtb25leSBvciBjb21taXRzIHlvdSBhc2tzIGZpcnN0LiBSdW4gYGFnZW50bGluayBwb2xpY3kgcmVjb3ZlcmAgaW4geW91ciBvd24gdGVybWluYWwuIn0sSz1PYmplY3QuZnJlZXplKHtpbnZpdGVzX2F1dG86YFlvdXIgYWdlbnQgd2lsbCBjb25uZWN0IHdpdGggbmV3IGNvbnRhY3RzIHdpdGhvdXQgYXNraW5nIHlvdS5gLHVua25vd25fc2VuZGVyc19xdWV1ZWQ6YFJlcXVlc3RzIGZyb20gdW5rbm93biBzZW5kZXJzIHdpbGwgYmUgaGVsZCBmb3IgeW91ciByZXZpZXcgaW5zdGVhZCBvZiBkcm9wcGVkLmAsY29udGFjdHNfYWxsb3dlZF93aWRlbmVkOmBNb3JlIGFnZW50cyB3aWxsIGJlIGFibGUgdG8gbWVzc2FnZSB5b3VyIGFnZW50LmAsbGltaXRzX3JhaXNlZDpgU29tZSBsaW1pdHMgZ28gdXA6IGhvdyBvZnRlbiBjb250YWN0cyBjYW4gbWVzc2FnZSwgaG93IGxhcmdlIGZpbGVzIGNhbiBiZSwgb3IgaG93IGxvbmcgZmlsZSBsaW5rcyBsYXN0LmAscmV0ZW50aW9uX2xvbmdlcjpgRmlsZXMgd2lsbCBiZSBrZXB0IGxvbmdlciB0aGFuIGJlZm9yZS5gLGFsbG93ZWRfZm9sZGVyc19hZGRlZDpgWW91ciBhZ2VudCB3aWxsIGJlIGFibGUgdG8gc2VuZCBmaWxlcyBmcm9tIG1vcmUgZm9sZGVycy5gLGZvbGRlcl9jaGFuZ2VkOmBUaGUgZm9sZGVyIHdoZXJlIHlvdXIgYWdlbnQgc2F2ZXMgZmlsZXMgb3IgcHJvb2ZzIGNoYW5nZXMuYCxmaWxlc19kcm9wX2FsbG93ZWQ6YEZpbGVzIG1heSBnbyB0aHJvdWdoIHRoZSBlbmNyeXB0ZWQgZHJvcCwgbm90IG9ubHkgeW91ciBvd24gc3RvcmFnZS5gLHByb29mc19ub3Rhcml6ZV9sb29zZXI6YFlvdXIgYWdlbnQgd2lsbCBhZGQgcHJvb2Ygd2l0aCBmZXdlciBxdWVzdGlvbnMgdG8geW91LiBFYWNoIHByb29mIHVzZXMgY3JlZGl0cyBhbmQgaXMgcHVibGljLmAscHJvb2ZzX3NwZW5kX3JhaXNlZDpgWW91ciBhZ2VudCBjYW4gc3BlbmQgbW9yZSBvbiBwcm9vZnMgd2l0aG91dCBhc2tpbmcgeW91LmAsa2V5X2Rpc2Nsb3N1cmVfYXBwcm92YWw6YFlvdXIgYWdlbnQgY2FuIGFzayB5b3UgdG8gbGV0IGFuIGV4cG9ydCBvcGVuIHRoZSBkb2N1bWVudC4gQW55b25lIHdpdGggdGhhdCBleHBvcnQgY291bGQgcmVhZCBpdC5gLHByb29mc19jaGFpbl9jaGFuZ2VkOmBZb3VyIHByb29mcyB3aWxsIGJlIHJlY29yZGVkIGFuZCBwYWlkIGZvciBpbiBhIGRpZmZlcmVudCBwbGFjZS5gLGRlbGl2ZXJ5X3JlY2VpcHRzX3B1YmxpYzpgWW91ciBhZ2VudCB3aWxsIGNvbmZpcm0gZGVsaXZlcmllcyBhdXRvbWF0aWNhbGx5LiBFYWNoIGNvbmZpcm1hdGlvbiBzaG93cyBwdWJsaWNseSB0aGF0IGEgcHJvb2YgcmVhY2hlZCB5b3VyIGFnZW50LmAsb3BlbmVkX3JlY2VpcHRzX2F1dG86YFlvdXIgYWdlbnQgd2lsbCBjb25maXJtIGF1dG9tYXRpY2FsbHkgd2hlbiBpdCBvcGVucyBzb21ldGhpbmcuIEVhY2ggY29uZmlybWF0aW9uIGlzIHB1YmxpYy5gLGNvbW1pdG1lbnRzX2xvb3NlcjpgWW91ciBhZ2VudCBjYW4gYWNjZXB0IHRlcm1zIGFnYWluLiBJdCBzdGlsbCBhc2tzIHlvdSBldmVyeSB0aW1lLmAsY29tbWl0bWVudHNfYWxsb3c6YFlvdXIgYWdlbnQgY2FuIGFjY2VwdCB0ZXJtcywgbWFrZSBmaXJtIG9mZmVycyBhbmQgdHVybiBkb3duIHRlcm1zIHdpdGhvdXQgYXNraW5nIHlvdS4gQWNjZXB0aW5nIGNvbW1pdHMgeW91LmAsYXV0b19hY2NlcHRfd2lkZW5lZDpgWW91ciBhZ2VudCBjYW4gYWNjZXB0IG1vcmUgYWdyZWVtZW50cyB3aXRob3V0IGFza2luZyB5b3UsIHdoZW4geW91IGFyZSB0aGUgb25lIHdobyBwYXlzLmAsc2VsbF9hdXRvX2FjY2VwdDpgWW91ciBhZ2VudCB3aWxsIGNvbW1pdCB5b3UgdG8gZGVsaXZlciB3aGF0ZXZlciB0aGlzIGNvbnRhY3Qgd3JpdGVzLCBmb3IgYXQgbGVhc3Qge2Ftb3VudH0uIE9ubHkgdHVybiB0aGlzIG9uIGZvciBjb250YWN0cyB5b3UgdHJ1c3QuYCxjb250YWN0X3Byb29mX3J1bGVzX2xvb3NlcjpgUHJvb2ZzIGJlY29tZSBsZXNzIHN0cmljdCBmb3Igc29tZSBjb250YWN0cy5gLGNvbnRhY3RfcmVjZWlwdHNfcHVibGljOmBEZWxpdmVyaWVzIGZyb20gc29tZSBjb250YWN0cyB3aWxsIGJlIGNvbmZpcm1lZCBhdXRvbWF0aWNhbGx5LiBFYWNoIGNvbmZpcm1hdGlvbiBpcyBwdWJsaWMuYCxjb250YWN0X3J1bGVfcmVtb3ZlZF9sb29zZW5zOmBSZW1vdmluZyBhIHJ1bGUgZm9yIGEgY29udGFjdCBtYWtlcyB0aGluZ3MgbGVzcyBzdHJpY3QgZm9yIHRoYXQgY29udGFjdC5gfSk7T2JqZWN0LmZyZWV6ZShPYmplY3Qua2V5cyhLKSk7dmFyIGxlPWBBbm90aGVyIHJ1bGUgYmVjb21lcyBsZXNzIHN0cmljdC5gLHE9YHRoZSBhbW91bnQgeW91IHNldGA7ZnVuY3Rpb24gSihlLHQ9e30pe3JldHVybiBPYmplY3QuaGFzT3duKEssZSk_S1tlXS5yZXBsYWNlKGB7YW1vdW50fWAsdC5hbW91bnQ_P3EpOmxlfXZhciBZPWUoKSx1ZT1bYG5vdGFyaXplYCxgZGFpbHlCdWRnZXRVU0RgLGBwZXJBY3Rpb25NYXhVU0RgXTtmdW5jdGlvbiBYKHt0aXRsZTplLGhlbHA6dCxjb250cm9sOm4sY2hpbGRyZW46cix0b25lOml9KXtyZXR1cm4oMCxZLmpzeHMpKGBkaXZgLHtjbGFzc05hbWU6aT09PWBjb21taXRgP2BybC1yb3cgaXMtY29tbWl0YDpgcmwtcm93YCxjaGlsZHJlbjpbKDAsWS5qc3hzKShgZGl2YCx7Y2xhc3NOYW1lOmBybC1yb3ctbWFpbmAsY2hpbGRyZW46WygwLFkuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtcm93LXRleHRgLGNoaWxkcmVuOlsoMCxZLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjplfSksdD09PXZvaWQgMD9udWxsOigwLFkuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWNhcHRpb24gYWwtbXV0ZWRgLGNoaWxkcmVuOnR9KV19KSxuPT09dm9pZCAwP251bGw6KDAsWS5qc3gpKGBkaXZgLHtjbGFzc05hbWU6YHJsLXJvdy1jb250cm9sYCxjaGlsZHJlbjpufSldfSkscj09PXZvaWQgMD9udWxsOigwLFkuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBybC1yb3ctZXh0cmFgLGNoaWxkcmVuOnJ9KV19KX12YXIgZGU9ZT0-ZT09PWBhbGxvd2A_Ry5hbGxvd2VkOmU9PT1gYXBwcm92YWxgP0cuYXNrTWU6Ry5uZXZlcixmZT1lPT5bLi4ubmV3IFNldChlKV07ZnVuY3Rpb24gWih7YXBpOmUsb3duZXI6dCxwYXlDb25maXJtOm19PXt9KXtsZXQgdj0oMCxnLnVzZU1lbW8pKCgpPT5lPz9lZSgpLFtlXSkseT0oMCxnLnVzZU1lbW8pKCgpPT50Pz9jZSgpLFt0XSksdGU9KDAsZy51c2VNZW1vKSgoKT0-bT8_ZCgpLFttXSksW2IseF09KDAsZy51c2VTdGF0ZSkodm9pZCAwKSxTPSgwLGcudXNlUmVmKSghMSksW0Msd109KDAsZy51c2VTdGF0ZSkoe2tpbmQ6YGxvYWRpbmdgfSksW1QsRV09KDAsZy51c2VTdGF0ZSkodm9pZCAwKSxbRCxBXT0oMCxnLnVzZVN0YXRlKSghMSksW00sTl09KDAsZy51c2VTdGF0ZSkoe2tpbmQ6YGVkaXRgfSksW1AsRl09KDAsZy51c2VTdGF0ZSkodm9pZCAwKSxbSSxMXT0oMCxnLnVzZVN0YXRlKShgYCksUj0oMCxnLnVzZUNhbGxiYWNrKShhc3luYygpPT57bGV0IGU9YXdhaXQgdi5nZXQoXyksdDt0PWUua2luZD09PWBva2A_bmUoZS5kYXRhKTplLmtpbmQ9PT1gZXJyb3JgJiZlLnN0YXR1cz09PTQwOT97a2luZDpgbm90X3NldF91cGB9OntraW5kOmB1bmF2YWlsYWJsZWB9LHcodCksRSh0LmtpbmQ9PT1gb2tgP2llKHQucnVsZXMpOnZvaWQgMCksTih7a2luZDpgZWRpdGB9KX0sW3ZdKTsoMCxnLnVzZUVmZmVjdCkoKCk9PntSKCl9LFtSXSk7bGV0IHo9Qy5raW5kPT09YG9rYD9DLnJ1bGVzOnZvaWQgMCxCPSgwLGcudXNlTWVtbykoKCk9Pno9PT12b2lkIDB8fFQ9PT12b2lkIDA_dm9pZCAwOmFlKHosVCksW3osVF0pLFY9ZT0-e0Yodm9pZCAwKSxFKHQ9PnQ9PT12b2lkIDA_dDp7Li4udCwuLi5lfSl9LEg9YXN5bmMgZT0-e2lmKEMua2luZCE9PWBva2B8fEI9PT12b2lkIDApcmV0dXJuO00ua2luZCE9PWBjb25maXJtYCYmTih7a2luZDpgcHJlcGFyaW5nYH0pO2xldCB0PWF3YWl0IHYuZ2V0KG9lKEMudmVyc2lvbixCLnBhdGNoLGUpKSxuPXQua2luZD09PWBva2A_cmUodC5kYXRhKTp2b2lkIDA7aWYobj09PXZvaWQgMCl7Tih7a2luZDpgZWRpdGB9KSxGKHt0b25lOmB3YXJuaW5nYCx0ZXh0OnQua2luZD09PWBlcnJvcmAmJnQuc3RhdHVzPT09NDA5P0cuc3RhbGU6dC5raW5kPT09YGVycm9yYCYmdC5zdGF0dXM9PT00MDA_Ry5pbnZhbGlkRWRpdDp0LmtpbmQ9PT1gc2Vzc2lvbl9leHBpcmVkYD9HLnNlc3Npb25FeHBpcmVkOkcuZmFpbGVkfSk7cmV0dXJufWxldCByPU0ua2luZD09PWBjb25maXJtYD9NLnBhc3NrZXk6YXdhaXQgeS5wYXNza2V5KCksaT1CLnBhdGNoLnByb29mcz8_e307TChgYCksTih7a2luZDpgY29uZmlybWAscmV2aWV3Om4sYWNrczpuZXcgU2V0LGtlZXA6ZT8_ITEscGFzc2tleTpyLGJ1c3k6ITEsc3BlbmRpbmc6dWUuc29tZShlPT5pW2VdIT09dm9pZCAwKX0pfSxVPWU9PntTLmN1cnJlbnQ9ITEseCh7ZmxvdzpgbGltaXRzYCxyZXZpZXc6ZS5yZXZpZXcucmV2aWV3LGFja25vd2xlZGdlZDpmZShlLnJldmlldy53YXJuaW5ncy5tYXAoZT0-ZS5jb2RlKSl9KX0sVz1hc3luYygpPT57Uy5jdXJyZW50PSEwLGF3YWl0IFIoKSxGKHt0b25lOmBzdWNjZXNzYCx0ZXh0Okcuc2F2ZWR9KX0sc2U9Yj09PXZvaWQgMD9udWxsOigwLFkuanN4KShwLHtjbGllbnQ6dGUsaW5wdXQ6YixvbkRvbmU6KCk9PnZvaWQgVygpLG9uQ2xvc2U6KCk9Pnt4KHZvaWQgMCksIVMuY3VycmVudCYmTS5raW5kPT09YGNvbmZpcm1gJiZIKE0ua2VlcCl9fSksSz1hc3luYyBlPT57Tih7Li4uZSxidXN5OiEwfSk7bGV0IHQ9ZmUoZS5yZXZpZXcud2FybmluZ3MubWFwKGU9PmUuY29kZSkpLG49ZS5wYXNza2V5PT09bnVsbD97a2luZDpgY29kZWAsY29kZTpJfTp7a2luZDpgcGFzc2tleWAscGFzc2tleTplLnBhc3NrZXl9LHI9YXdhaXQgeS5zYXZlKF8se3JldmlldzplLnJldmlldy5yZXZpZXcsYWNrbm93bGVkZ2VkOnR9LG4pO0woYGApO2xldCBpPXQ9Pk4oey4uLmUsYnVzeTohMSxlcnJvcjp0fSksYT1lPT57Tih7a2luZDpgZWRpdGB9KSxGKHt0b25lOmB3YXJuaW5nYCx0ZXh0OmV9KX07c3dpdGNoKHIua2luZCl7Y2FzZWBzYXZlZGA6YXdhaXQgUigpLEYoe3RvbmU6YHN1Y2Nlc3NgLHRleHQ6Ry5zYXZlZH0pO3JldHVybjtjYXNlYHdyb25nX2NvZGVgOnJldHVybiBpKEcud3JvbmdDb2RlKTtjYXNlYHdhaXRgOnJldHVybiBpKEcud2FpdChyLnNlY29uZHMpKTtjYXNlYGJ1c3lgOnJldHVybiBpKEcuYnVzeSk7Y2FzZWBwYXNza2V5X2NhbmNlbGxlZGA6cmV0dXJuIGkoRy5wYXNza2V5Q2FuY2VsbGVkKTtjYXNlYHN0YWxlYDpyZXR1cm4gYShHLnN0YWxlKTtjYXNlYHNlc3Npb25fZXhwaXJlZGA6cmV0dXJuIGEoRy5zZXNzaW9uRXhwaXJlZCk7Y2FzZWByZWZ1c2VkYDpyZXR1cm4gYShHLnJlZnVzZWQpO2RlZmF1bHQ6cmV0dXJuIGEoRy5mYWlsZWQpfX0sbGU9KDAsWS5qc3gpKGBoMWAse2NsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0xYCxjaGlsZHJlbjpsLnJ1bGVzfSkscT0oMCxZLmpzeHMpKGBoZWFkZXJgLHtjbGFzc05hbWU6YHJsLWhlYWRlcmAsY2hpbGRyZW46WygwLFkuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxZLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtdGV4dC1sYWJlbCBhbC1tdXRlZGAsY2hpbGRyZW46Ry5leWVicm93fSksbGVdfSksKDAsWS5qc3gpKGBzcGFuYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLGNoaWxkcmVuOkcuc2F2aW5nTm90ZX0pXX0pO2lmKEMua2luZCE9PWBva2B8fFQ9PT12b2lkIDB8fHo9PT12b2lkIDB8fEI9PT12b2lkIDApe2xldCBlPUMua2luZD09PWBsb2FkaW5nYD9HLmxvYWRpbmc6Qy5raW5kPT09YG5vdF92YWxpZGA_Ry5ub3RWYWxpZDpDLmtpbmQ9PT1gbm90X3NldF91cGA_Ry5ub3RTZXRVcDpHLnVuYXZhaWxhYmxlO3JldHVybigwLFkuanN4cykoWS5GcmFnbWVudCx7Y2hpbGRyZW46W3EsQy5raW5kPT09YGxvYWRpbmdgPygwLFkuanN4KShjLHtsb2FkaW5nOiEwLGxhYmVsOmUsbGluZXM6NX0pOigwLFkuanN4KShoLHt0b25lOkMua2luZD09PWBub3RfdmFsaWRgP2B3YXJuaW5nYDpgaW5mb2AsY2hpbGRyZW46ZX0pXX0pfWxldCBKPVA9PT12b2lkIDA_bnVsbDpQLnRvbmU9PT1gc3VjY2Vzc2A_KDAsWS5qc3gpKHUse2tpbmQ6YGFwcHJvdmVkYCxsYWJlbDpQLnRleHR9KTooMCxZLmpzeCkoaCx7dG9uZTpQLnRvbmUsY29tcGFjdDohMCxjaGlsZHJlbjpQLnRleHR9KTtpZihNLmtpbmQ9PT1gY29uZmlybWApcmV0dXJuKDAsWS5qc3hzKShZLkZyYWdtZW50LHtjaGlsZHJlbjpbcSxKLCgwLFkuanN4KShwZSx7Y29uZmlybTpNLGNvZGU6SSxzZWxsQW1vdW50OmooVC5zZWxsTWluVVNEKSxvbkNvZGU6TCxvbkFjazooZSx0KT0-e2xldCBuPW5ldyBTZXQoTS5hY2tzKTt0P24uYWRkKGUpOm4uZGVsZXRlKGUpO2xldHtlcnJvcjpyLC4uLml9PU07Tih7Li4uaSxhY2tzOm59KX0sb25LZWVwOmU9PnZvaWQgSChlKSxvblNhdmU6KCk9Pk0uc3BlbmRpbmc_VShNKTp2b2lkIEsoTSksb25CYWNrOigpPT5OKHtraW5kOmBlZGl0YH0pfSksc2VdfSk7bGV0IFo9ei5jb21taXRtZW50cyxRPVouYXV0b0FjY2VwdENvbnRhY3RzPT09MCwkPWU9PkIuaW52YWxpZC5oYXMoZSk_e2Vycm9yOkcuaW52YWxpZEFtb3VudH06e30sbWU9ZT0-Qi5pbnZhbGlkLmhhcyhlKT97ZXJyb3I6Ry5pbnZhbGlkU2l6ZX06e30saGU9VC5zZWxsT24mJiFrKHopLGdlPUIuY2hhbmdlcz4wfHxCLmludmFsaWQuc2l6ZT4wO3JldHVybigwLFkuanN4cykoWS5GcmFnbWVudCx7Y2hpbGRyZW46W3EsSiwoMCxZLmpzeHMpKHMse2xldmVsOmByZWNlc3NlZGAsYXM6YHNlY3Rpb25gLGNsYXNzTmFtZTpgcmwtc3VtbWFyeWAsImFyaWEtbGFiZWxsZWRieSI6YHJ1bGVzLXN1bW1hcnktdGl0bGVgLGNoaWxkcmVuOlsoMCxZLmpzeCkoYGgyYCx7aWQ6YHJ1bGVzLXN1bW1hcnktdGl0bGVgLGNsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0zYCxjaGlsZHJlbjpHLnN1bW1hcnlUaXRsZX0pLCgwLFkuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIGFsLW11dGVkYCxjaGlsZHJlbjpHLnN1bW1hcnlOb3RlfSksKDAsWS5qc3hzKShgZGxgLHtjbGFzc05hbWU6YHJsLXN1bW1hcnktbGlzdCBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlsoMCxZLmpzeHMpKGBkaXZgLHtjaGlsZHJlbjpbKDAsWS5qc3gpKGBkdGAse2NoaWxkcmVuOkcucHJvb2ZUaXRsZX0pLCgwLFkuanN4KShgZGRgLHtjaGlsZHJlbjpkZSh6LnByb29mcy5ub3Rhcml6ZSl9KV19KSwoMCxZLmpzeHMpKGBkaXZgLHtjaGlsZHJlbjpbKDAsWS5qc3gpKGBkdGAse2NoaWxkcmVuOkcuaW52aXRlc1RpdGxlfSksKDAsWS5qc3gpKGBkZGAse2NoaWxkcmVuOnouY29udGFjdHMuYWNjZXB0SW52aXRlcz09PWBhdXRvYD9HLmFsbG93ZWQ6Ry5hc2tNZX0pXX0pLCgwLFkuanN4cykoYGRpdmAse2NoaWxkcmVuOlsoMCxZLmpzeCkoYGR0YCx7Y2hpbGRyZW46Ry50ZXJtc1RpdGxlfSksKDAsWS5qc3gpKGBkZGAse2NoaWxkcmVuOmRlKFouYWNjZXB0KX0pXX0pXX0pXX0pLCgwLFkuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YHJsLWdyb3VwYCwiYXJpYS1sYWJlbGxlZGJ5IjpgcnVsZXMtZXZlcnlkYXlgLGNoaWxkcmVuOlsoMCxZLmpzeCkoYGgyYCx7aWQ6YHJ1bGVzLWV2ZXJ5ZGF5YCxjbGFzc05hbWU6YGFsLXRleHQtdGl0bGUtM2AsY2hpbGRyZW46Ry5ldmVyeWRheX0pLCgwLFkuanN4cykocyx7Y2xhc3NOYW1lOmBybC1jYXJkYCxjaGlsZHJlbjpbKDAsWS5qc3gpKFgse3RpdGxlOkcucHJvb2ZUaXRsZSxoZWxwOkcucHJvb2ZIZWxwLGNvbnRyb2w6KDAsWS5qc3gpKGkse2xhYmVsOkcucHJvb2ZUaXRsZSx2YWx1ZTpULm5vdGFyaXplLG9uQ2hhbmdlOmU9PlYoe25vdGFyaXplOmV9KSxvcHRpb25zOlt7dmFsdWU6YGFsbG93YCxsYWJlbDpHLmFsbG93ZWR9LHt2YWx1ZTpgYXBwcm92YWxgLGxhYmVsOkcuYXNrTWV9LHt2YWx1ZTpgZGVueWAsbGFiZWw6Ry5uZXZlcn1dfSksY2hpbGRyZW46VC5ub3Rhcml6ZT09PWBkZW55YD8oMCxZLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAsY2hpbGRyZW46Ry5wcm9vZk9mZn0pOigwLFkuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtZmllbGRzYCxjaGlsZHJlbjpbKDAsWS5qc3gpKHIse2xhYmVsOkcuYnVkZ2V0LHByZWZpeDpgJGAsbW9ubzohMCxpbnB1dE1vZGU6YGRlY2ltYWxgLHZhbHVlOlQuZGFpbHlCdWRnZXRVU0QsLi4uJChgZGFpbHlCdWRnZXRVU0RgKSxvbkNoYW5nZTplPT5WKHtkYWlseUJ1ZGdldFVTRDplLmN1cnJlbnRUYXJnZXQudmFsdWV9KX0pLCgwLFkuanN4KShyLHtsYWJlbDpHLmFza092ZXIscHJlZml4OmAkYCxtb25vOiEwLGlucHV0TW9kZTpgZGVjaW1hbGAsdmFsdWU6VC5wZXJBY3Rpb25NYXhVU0QsLi4uJChgcGVyQWN0aW9uTWF4VVNEYCksb25DaGFuZ2U6ZT0-Vih7cGVyQWN0aW9uTWF4VVNEOmUuY3VycmVudFRhcmdldC52YWx1ZX0pfSldfSl9KSwoMCxZLmpzeCkoWCx7dGl0bGU6Ry5pbnZpdGVzVGl0bGUsaGVscDpHLmludml0ZXNIZWxwLGNvbnRyb2w6KDAsWS5qc3gpKGkse2xhYmVsOkcuaW52aXRlc1RpdGxlLHZhbHVlOlQuYWNjZXB0SW52aXRlcyxvbkNoYW5nZTplPT5WKHthY2NlcHRJbnZpdGVzOmV9KSxvcHRpb25zOlt7dmFsdWU6YGFwcHJvdmFsYCxsYWJlbDpHLmFza01lLGhpbnQ6Ry5yZWNvbW1lbmRlZH0se3ZhbHVlOmBhdXRvYCxsYWJlbDpHLmFsbG93fV19KX0pLCgwLFkuanN4KShYLHt0aXRsZTpHLnRlcm1zVGl0bGUsaGVscDpHLnRlcm1zSGVscCx0b25lOmBjb21taXRgLGNvbnRyb2w6KDAsWS5qc3gpKGkse2xhYmVsOkcudGVybXNUaXRsZSx2YWx1ZTpULmFjY2VwdCxvbkNoYW5nZTplPT5WKHthY2NlcHQ6ZX0pLG9wdGlvbnM6W3t2YWx1ZTpgYXBwcm92YWxgLGxhYmVsOkcuYXNrRXZlcnlUaW1lLGhpbnQ6Ry5yZWNvbW1lbmRlZH0se3ZhbHVlOmBhbGxvd2AsbGFiZWw6Ry5hbGxvd30se3ZhbHVlOmBkZW55YCxsYWJlbDpHLm5ldmVyfV19KX0pXX0pXX0pLCgwLFkuanN4cykoYHNlY3Rpb25gLHtjbGFzc05hbWU6YHJsLWdyb3VwYCwiYXJpYS1sYWJlbGxlZGJ5IjpgcnVsZXMtbW9yZS10aXRsZWAsY2hpbGRyZW46WygwLFkuanN4KShgaDJgLHtpZDpgcnVsZXMtbW9yZS10aXRsZWAsY2xhc3NOYW1lOmBhbC10ZXh0LXRpdGxlLTNgLGNoaWxkcmVuOigwLFkuanN4cykoYGJ1dHRvbmAse3R5cGU6YGJ1dHRvbmAsY2xhc3NOYW1lOmBybC10b2dnbGVgLCJhcmlhLWV4cGFuZGVkIjpEP2B0cnVlYDpgZmFsc2VgLCJhcmlhLWNvbnRyb2xzIjpgcnVsZXMtbW9yZWAsb25DbGljazooKT0-QShlPT4hZSksY2hpbGRyZW46WygwLFkuanN4KShuLHtuYW1lOkQ_YGNoZXZyb24tZG93bmA6YGNoZXZyb24tcmlnaHRgLHNpemU6MTZ9KSwoMCxZLmpzeCkoYHNwYW5gLHtjaGlsZHJlbjpHLm1vcmVSdWxlc30pXX0pfSksRD8oMCxZLmpzeHMpKHMse2lkOmBydWxlcy1tb3JlYCxjbGFzc05hbWU6YHJsLWNhcmRgLGNoaWxkcmVuOlsoMCxZLmpzeCkoWCx7dGl0bGU6Ry51bmtub3duVGl0bGUsaGVscDpHLnVua25vd25IZWxwLGNvbnRyb2w6KDAsWS5qc3gpKGkse2xhYmVsOkcudW5rbm93blRpdGxlLHZhbHVlOlQudW5rbm93blNlbmRlcnMsb25DaGFuZ2U6ZT0-Vih7dW5rbm93blNlbmRlcnM6ZX0pLG9wdGlvbnM6W3t2YWx1ZTpgcXVldWVgLGxhYmVsOkcuaG9sZCxoaW50OkcucmVjb21tZW5kZWR9LHt2YWx1ZTpgZHJvcGAsbGFiZWw6Ry5kcm9wfV19KX0pLCgwLFkuanN4KShYLHt0aXRsZTpHLndob1RpdGxlLGhlbHA6ei5jb250YWN0cy5hbGxvd2VkPT09YHBhaXJlZGA_Ry53aG9QYWlyZWQ6Ry53aG9MaXN0ZWQoei5jb250YWN0cy5saXN0ZWQpfSksKDAsWS5qc3gpKFgse3RpdGxlOkcuZmlsZXNUaXRsZSxoZWxwOkcuZmlsZXNTdW1tYXJ5KHouZmlsZXMubWF4U2VuZFNpemVNQix6LmZpbGVzLm1heFJlY2VpdmVTaXplTUIpLGNoaWxkcmVuOigwLFkuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtZmllbGRzYCxjaGlsZHJlbjpbKDAsWS5qc3gpKHIse2xhYmVsOkcuc2VuZExhYmVsLG1vbm86ITAsaW5wdXRNb2RlOmBudW1lcmljYCx2YWx1ZTpULm1heFNlbmRTaXplTUIsLi4ubWUoYG1heFNlbmRTaXplTUJgKSxvbkNoYW5nZTplPT5WKHttYXhTZW5kU2l6ZU1COmUuY3VycmVudFRhcmdldC52YWx1ZX0pfSksKDAsWS5qc3gpKHIse2xhYmVsOkcucmVjZWl2ZUxhYmVsLG1vbm86ITAsaW5wdXRNb2RlOmBudW1lcmljYCx2YWx1ZTpULm1heFJlY2VpdmVTaXplTUIsLi4ubWUoYG1heFJlY2VpdmVTaXplTUJgKSxvbkNoYW5nZTplPT5WKHttYXhSZWNlaXZlU2l6ZU1COmUuY3VycmVudFRhcmdldC52YWx1ZX0pfSldfSl9KSwoMCxZLmpzeCkoWCx7dGl0bGU6Ry5leHBvcnRzVGl0bGUsaGVscDpHLmV4cG9ydHNIZWxwLGNvbnRyb2w6KDAsWS5qc3gpKGkse2xhYmVsOkcuZXhwb3J0c1RpdGxlLHZhbHVlOlQuYWxsb3dLZXlEaXNjbG9zdXJlLG9uQ2hhbmdlOmU9PlYoe2FsbG93S2V5RGlzY2xvc3VyZTplfSksb3B0aW9uczpbe3ZhbHVlOmBhcHByb3ZhbGAsbGFiZWw6Ry5hc2tNZX0se3ZhbHVlOmBkZW55YCxsYWJlbDpHLm5ldmVyfV19KX0pLCgwLFkuanN4KShYLHt0aXRsZTpHLmxpbWl0c1RpdGxlLGhlbHA6Ry5saW1pdHNIZWxwLGNoaWxkcmVuOigwLFkuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtbGltaXRzYCxjaGlsZHJlbjpbKDAsWS5qc3gpKGEse2xhYmVsOkcuYnV5VGl0bGUsZGVzY3JpcHRpb246UT9HLm5vTGlzdGVkOkcuYnV5SGVscChqKFQuYnV5TWF4VVNEKT8_Ry5zb21lQW1vdW50LFouYXV0b0FjY2VwdENvbnRhY3RzKSxjaGVja2VkOlQuYnV5T24sLi4uVC5idXlPbj09PU8oeik_e306e25vdGU6Ry51bnNhdmVkfSxkaXNhYmxlZDpRJiYhVC5idXlPbixvbkNoYW5nZTplPT5WKGU_e2J1eU9uOiEwLHNlbGxPbjohMX06e2J1eU9uOiExfSl9KSxULmJ1eU9uPygwLFkuanN4KShyLHtsYWJlbDpHLmJ1eU1heCxwcmVmaXg6YCRgLG1vbm86ITAsaW5wdXRNb2RlOmBkZWNpbWFsYCx2YWx1ZTpULmJ1eU1heFVTRCwuLi4kKGBidXlNYXhVU0RgKSxvbkNoYW5nZTplPT5WKHtidXlNYXhVU0Q6ZS5jdXJyZW50VGFyZ2V0LnZhbHVlfSl9KTpudWxsLCgwLFkuanN4KShhLHtsYWJlbDpHLnNlbGxUaXRsZSxkZXNjcmlwdGlvbjpRP0cubm9MaXN0ZWQ6VC5zZWxsT24_Ry5zZWxsSGVscE9uKGooVC5zZWxsTWluVVNEKT8_Ry5zb21lQW1vdW50KTpHLnNlbGxIZWxwT2ZmLGNoZWNrZWQ6VC5zZWxsT24sLi4uVC5zZWxsT249PT1rKHopP3t9Ontub3RlOkcudW5zYXZlZH0sZGlzYWJsZWQ6USYmIVQuc2VsbE9uLG9uQ2hhbmdlOmU9PlYoZT97c2VsbE9uOiEwLGJ1eU9uOiExfTp7c2VsbE9uOiExfSl9KSxULnNlbGxPbj8oMCxZLmpzeCkocix7bGFiZWw6Ry5zZWxsTWluLHByZWZpeDpgJGAsbW9ubzohMCxpbnB1dE1vZGU6YGRlY2ltYWxgLHZhbHVlOlQuc2VsbE1pblVTRCwuLi4kKGBzZWxsTWluVVNEYCksb25DaGFuZ2U6ZT0-Vih7c2VsbE1pblVTRDplLmN1cnJlbnRUYXJnZXQudmFsdWV9KX0pOm51bGwsaGU_KDAsWS5qc3gpKGgse3RvbmU6YHdhcm5pbmdgLHRpdGxlOkcuc2VsbFdhcm5pbmdUaXRsZSxjaGlsZHJlbjpHLnNlbGxXYXJuaW5nKGooVC5zZWxsTWluVVNEKT8_Ry5zb21lQW1vdW50KX0pOm51bGxdfSl9KV19KTpudWxsXX0pLGdlPygwLFkuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtdW5zYXZlZGAscm9sZTpgcmVnaW9uYCwiYXJpYS1sYWJlbCI6Ry5jaGFuZ2VzKEIuY2hhbmdlcyksY2hpbGRyZW46WygwLFkuanN4KShgc3BhbmAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtYCxjaGlsZHJlbjpHLmNoYW5nZXMoQi5jaGFuZ2VzKX0pLCgwLFkuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtdW5zYXZlZC1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsWS5qc3gpKG8se3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOigpPT57Rih2b2lkIDApLEUoaWUoeikpfSxjaGlsZHJlbjpHLmRpc2NhcmR9KSwoMCxZLmpzeCkobyx7dmFyaWFudDpgcHJpbWFyeWAsaWNvbjpgYXBwcm92YWxgLGRpc2FibGVkOkIuaW52YWxpZC5zaXplPjB8fEIuY2hhbmdlcz09PTB8fE0ua2luZD09PWBwcmVwYXJpbmdgLG9uQ2xpY2s6KCk9PnZvaWQgSCgpLGNoaWxkcmVuOkcucmV2aWV3U2F2ZX0pXX0pXX0pOm51bGwsTS5raW5kPT09YHByZXBhcmluZ2A_KDAsWS5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHktc20gYWwtbXV0ZWRgLHJvbGU6YHN0YXR1c2AsY2hpbGRyZW46Ry5wcmVwYXJpbmd9KTpudWxsLCgwLFkuanN4KShmLHtmaWVsZHM6W3traW5kOmBjb3VudGAsbGFiZWw6Ry5ob29kVmVyc2lvbix2YWx1ZTpTdHJpbmcoQy52ZXJzaW9uKX1dfSldfSl9ZnVuY3Rpb24gcGUoe2NvbmZpcm06ZSxjb2RlOnQsc2VsbEFtb3VudDpuLG9uQ29kZTppLG9uQWNrOmMsb25LZWVwOmwsb25TYXZlOnUsb25CYWNrOmR9KXtsZXQgZj1mZShlLnJldmlldy53YXJuaW5ncy5tYXAoZT0-ZS5jb2RlKSkscD1mLmV2ZXJ5KHQ9PmUuYWNrcy5oYXModCkpJiYhZS5idXN5JiYoZS5zcGVuZGluZ3x8ZS5wYXNza2V5IT09bnVsbHx8dC5sZW5ndGg-MCk7cmV0dXJuKDAsWS5qc3hzKShgc2VjdGlvbmAse2NsYXNzTmFtZTpgcmwtZ3JvdXAgcmwtY29uZmlybWAsImFyaWEtbGFiZWxsZWRieSI6YHJ1bGVzLWNvbmZpcm1gLGNoaWxkcmVuOlsoMCxZLmpzeCkoYGgyYCx7aWQ6YHJ1bGVzLWNvbmZpcm1gLGNsYXNzTmFtZTpgYWwtdGV4dC10aXRsZS0zYCxjaGlsZHJlbjpHLmNvbmZpcm1UaXRsZX0pLCgwLFkuanN4cykocyx7Y2xhc3NOYW1lOmBybC1jYXJkIHJsLWNvbmZpcm0tYm9keWAsY2hpbGRyZW46W2YubGVuZ3RoPT09MD8oMCxZLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46Ry5ub1dhcm5pbmdzfSk6KDAsWS5qc3hzKShZLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsWS5qc3gpKGBwYCx7Y2xhc3NOYW1lOmBhbC10ZXh0LWJvZHlgLGNoaWxkcmVuOkcuY29uZmlybUludHJvfSksKDAsWS5qc3gpKGB1bGAse2NsYXNzTmFtZTpgcmwtd2FybmluZ3NgLGNoaWxkcmVuOmYubWFwKHQ9PigwLFkuanN4KShgbGlgLHtjaGlsZHJlbjooMCxZLmpzeHMpKGBsYWJlbGAse2NsYXNzTmFtZTpgYWwtY2hlY2sgcmwtd2FybmluZ2AsY2hpbGRyZW46WygwLFkuanN4KShgaW5wdXRgLHt0eXBlOmBjaGVja2JveGAsY2hlY2tlZDplLmFja3MuaGFzKHQpLG9uQ2hhbmdlOmU9PmModCxlLmN1cnJlbnRUYXJnZXQuY2hlY2tlZCl9KSwoMCxZLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keWAsY2hpbGRyZW46Sih0LG49PT12b2lkIDA_e306e2Ftb3VudDpufSl9KV19KX0sdCkpfSldfSksZS5yZXZpZXcuYXNrS2VlcERlbGl2ZXJ5UmVjZWlwdHM_KDAsWS5qc3gpKGEse2xhYmVsOkcua2VlcFRpdGxlLGRlc2NyaXB0aW9uOkcua2VlcFRleHQsY2hlY2tlZDplLmtlZXAsZGlzYWJsZWQ6ZS5idXN5LG9uQ2hhbmdlOmx9KTpudWxsLGUucGFzc2tleT09PW51bGwmJiFlLnNwZW5kaW5nPygwLFkuanN4KShyLHtsYWJlbDpHLmNvZGVMYWJlbCxoaW50OmAke0cuY29kZUhpbnR9ICR7bX1gLHR5cGU6YHBhc3N3b3JkYCxhdXRvQ29tcGxldGU6YG9mZmAsbW9ubzohMCx2YWx1ZTp0LG9uQ2hhbmdlOmU9PmkoZS5jdXJyZW50VGFyZ2V0LnZhbHVlKX0pOm51bGwsZS5lcnJvcj09PXZvaWQgMD9udWxsOigwLFkuanN4KShgcGAse2NsYXNzTmFtZTpgYWwtdGV4dC1ib2R5LXNtIHJsLWVycm9yYCxyb2xlOmBhbGVydGAsY2hpbGRyZW46ZS5lcnJvcn0pLCgwLFkuanN4cykoYGRpdmAse2NsYXNzTmFtZTpgcmwtY29uZmlybS1hY3Rpb25zYCxjaGlsZHJlbjpbKDAsWS5qc3gpKG8se3ZhcmlhbnQ6YGdob3N0YCxvbkNsaWNrOmQsZGlzYWJsZWQ6ZS5idXN5LGNoaWxkcmVuOkcuYmFja30pLCgwLFkuanN4KShvLHt2YXJpYW50OmBwcmltYXJ5YCwuLi5lLnBhc3NrZXk9PT1udWxsfHxlLnNwZW5kaW5nP3t9OntpY29uOmBhcHByb3ZhbGB9LGRpc2FibGVkOiFwLG9uQ2xpY2s6dSxjaGlsZHJlbjplLnNwZW5kaW5nP0cuY29udGludWVUb0NvbmZpcm06ZS5wYXNza2V5PT09bnVsbD9HLnNhdmVDb2RlOkcuc2F2ZX0pXX0pLGUuYnVzeT8oMCxZLmpzeCkoYHBgLHtjbGFzc05hbWU6YGFsLXRleHQtYm9keS1zbSBhbC1tdXRlZGAscm9sZTpgc3RhdHVzYCxjaGlsZHJlbjpHLnNhdmluZ30pOm51bGxdfSldfSl9ZXhwb3J0e1ogYXMgUnVsZXNQYWdlfTs"],
54266
+ ["assets/strings-BSYGziS9.js", "dmFyIGU9e3RpdGxlOmBBY3Rpdml0eWAsdGFibGVMYWJlbDpgQWN0aXZpdHksIG5ld2VzdCBmaXJzdGAsY29sVGltZTpgVGltZWAsY29sV2hhdDpgV2hhdGAsY29sQ29udGFjdDpgQ29udGFjdGAsY29sU3RhdHVzOmBTdGF0dXNgLGxvYWRpbmc6YExvYWRpbmcgYWN0aXZpdHnigKZgLGZpbHRlckxhYmVsOmBTaG93YCxmaWx0ZXJBbGw6YEFsbGAsZmlsdGVyQXBwcm92YWxzOmBBcHByb3ZhbHNgLGZpbHRlclByb29mczpgUHJvb2ZzYCxmaWx0ZXJPdGhlcjpgQmxvY2tzIGFuZCBydWxlc2AsZmlsdGVyRW1wdHk6YE5vdGhpbmcgb2YgdGhpcyBraW5kIHlldC5gLGFzT2Y6YEFzIG9mYCxhcHByb3ZlZDpgWW91IGFwcHJvdmVkIGEgcmVxdWVzdGAsYXBwcm92ZWRCeVJ1bGVzOmBBcHByb3ZlZCBieSB5b3VyIHJ1bGVzYCxkZW5pZWQ6YFlvdSBkZW5pZWQgYSByZXF1ZXN0YCxjYW5jZWxsZWQ6YFlvdSBjYW5jZWxsZWQgYSByZXF1ZXN0YCxjYW5jZWxsZWRDaGlwOmBDYW5jZWxsZWRgLHByb29mU2VudDpgUHJvb2YgZm9yIGEgbWVzc2FnZSB5b3Ugc2VudGAscHJvb2ZSZWNlaXZlZDpgQSBjb250YWN0IGFkZGVkIHByb29mIHRvIGEgbWVzc2FnZSBmb3IgeW91YCxzZW5kZXJCbG9ja2VkOmBZb3UgYmxvY2tlZCBhbiB1bmtub3duIHNlbmRlcmAsc2VuZGVyUHJlZml4OmBTZW5kZXJgLGNvbnRhY3RCbG9ja2VkOmBZb3UgYmxvY2tlZCBhIGNvbnRhY3RgLHJ1bGVzQ2hhbmdlZDpgWW91ciBydWxlcyB3ZXJlIHVwZGF0ZWRgLG5vbmU6YOKAlGAsc2hvd01vcmU6YFNob3cgbW9yZWAsbG9hZGluZ01vcmU6YExvYWRpbmfigKZgLGVtcHR5VGl0bGU6YE5vdGhpbmcgaGVyZSB5ZXQuIEFwcHJvdmFscywgcHJvb2ZzIGFuZCBibG9ja2VkIHNlbmRlcnMgc2hvdyB1cCBoZXJlLmAsZW1wdHlQcm9tcHQ6YGFzayB5b3VyIEFJIHRvIHNlbmQgYSBtZXNzYWdlIHRvIGEgY29udGFjdCB3aXRoIHByb29mYCx0cnlBZ2FpbjpgVHJ5IGFnYWluYCxlcnJvclRpdGxlOmBBY3Rpdml0eSBkaWRuJ3QgbG9hZC5gLGVycm9yQm9keTpgTm90aGluZyBjaGFuZ2VkLiBUcnkgYWdhaW4gaW4gYSBtb21lbnQuYCxvZmZsaW5lVGl0bGU6YENhbid0IHJlYWNoIEFnZW50TGluayBvbiB0aGlzIGNvbXB1dGVyLmAsb2ZmbGluZUJvZHk6YENoZWNrIHRoYXQgeW91ciBBSSBhcHAgaXMgc3RpbGwgb3BlbiwgdGhlbiB0cnkgYWdhaW4uYCxzZXNzaW9uVGl0bGU6YFRoaXMgcGFnZSBoYXMgZW5kZWQuYCxzZXNzaW9uQm9keTpgQXNrIHlvdXIgQUkgdG8gb3BlbiBBZ2VudExpbmsgYWdhaW4uYCxub3RTZXRVcFRpdGxlOmBBZ2VudExpbmsgaXNuJ3Qgc2V0IHVwIG9uIHRoaXMgY29tcHV0ZXIgeWV0LmAsbm90U2V0VXBQcm9tcHQ6YGFzayB5b3VyIEFJIHRvIHNldCB1cCBBZ2VudExpbmtgfTtleHBvcnR7ZSBhcyB0fTs"],
54267
+ ["assets/style-B-HVHxf3.css", "QGZvbnQtZmFjZXtmb250LWZhbWlseTpHZWlzdDtzcmM6dXJsKC9hc3NldHMvR2Vpc3QtVmFyaWFibGUtcDJHVWM4cVoud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1kaXNwbGF5OnN3YXB9QGZvbnQtZmFjZXtmb250LWZhbWlseTpHZWlzdCBNb25vO3NyYzp1cmwoL2Fzc2V0cy9HZWlzdE1vbm8tVmFyaWFibGUtYk9HU000OXAud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1kaXNwbGF5OnN3YXB9OnJvb3R7LS1hbC1zcGFjZS0wOjBweDstLWFsLXNwYWNlLTE6MnB4Oy0tYWwtc3BhY2UtMjo0cHg7LS1hbC1zcGFjZS0zOjhweDstLWFsLXNwYWNlLTQ6MTJweDstLWFsLXNwYWNlLTU6MTZweDstLWFsLXNwYWNlLTY6MjBweDstLWFsLXNwYWNlLTc6MjRweDstLWFsLXNwYWNlLTg6MzJweDstLWFsLXNwYWNlLTk6NDBweDstLWFsLXNwYWNlLTEwOjQ4cHg7LS1hbC1zcGFjZS0xMTo2NHB4Oy0tYWwtc3BhY2UtMTI6ODBweDstLWFsLXJhZGl1cy1ub25lOjBweDstLWFsLXJhZGl1cy14czoycHg7LS1hbC1yYWRpdXMtc206M3B4Oy0tYWwtcmFkaXVzLW1kOjRweDstLWFsLXJhZGl1cy1sZzo2cHg7LS1hbC1yYWRpdXMteGw6MTBweDstLWFsLXJhZGl1cy1mdWxsOjk5OTlweDstLWFsLXNpemUtdG91Y2gtbWluOjQ0cHg7LS1hbC1zaXplLWljb24tc206MTRweDstLWFsLXNpemUtaWNvbi1tZDoxNnB4Oy0tYWwtc2l6ZS1pY29uLWxnOjIwcHg7LS1hbC1zaXplLWNvbnRyb2wtc206MjhweDstLWFsLXNpemUtY29udHJvbC1tZDozMnB4Oy0tYWwtc2l6ZS1jb250cm9sLWxnOjQ0cHg7LS1hbC1ib3JkZXItd2lkdGgtdGhpbjoxcHg7LS1hbC1ib3JkZXItd2lkdGgtdGhpY2s6MnB4Oy0tYWwtZm9jdXMtcmluZy13aWR0aDoycHg7LS1hbC1mb2N1cy1yaW5nLW9mZnNldDoycHg7LS1hbC1mb250LXdlaWdodC1yZWd1bGFyOjQwMDstLWFsLWZvbnQtd2VpZ2h0LW1lZGl1bTo1MDA7LS1hbC1mb250LXdlaWdodC1zZW1pYm9sZDo2MDA7LS1hbC1mb250LXdlaWdodC1ib2xkOjcwMDstLWFsLW9wYWNpdHktZGlzYWJsZWQ6LjQ7LS1hbC1vcGFjaXR5LXNjcmltOi43MjstLWFsLXotYmFzZTowOy0tYWwtei1zdGlja3k6MTAwOy0tYWwtei1kcm9wZG93bjoyMDA7LS1hbC16LW92ZXJsYXk6MzAwOy0tYWwtei1tb2RhbDo0MDA7LS1hbC16LXRvYXN0OjUwMDstLWFsLWR1cmF0aW9uLWluc3RhbnQ6MHM7LS1hbC1kdXJhdGlvbi1mYXN0Oi4xMnM7LS1hbC1kdXJhdGlvbi1iYXNlOi4yczstLWFsLWR1cmF0aW9uLXNsb3c6LjMyczstLWFsLWR1cmF0aW9uLW1vbWVudDouNDhzOy0tYWwtZHVyYXRpb24tYW1iaWVudDoyczstLWFsLWR1cmF0aW9uLWFtYmllbnQtc3dlZXA6MS40czstLWFsLWVhc2luZy1zdGFuZGFyZDpjdWJpYy1iZXppZXIoLjIsIDAsIDAsIDEpOy0tYWwtZWFzaW5nLWVudGVyOmN1YmljLWJlemllcigwLCAwLCAwLCAxKTstLWFsLWVhc2luZy1leGl0OmN1YmljLWJlemllciguMywgMCwgMSwgMSk7LS1hbC1lYXNpbmctZW1waGFzaXplZDpjdWJpYy1iZXppZXIoLjA1LCAuNywgLjEsIDEpOy0tYWwtbGF5b3V0LWd1dHRlci1tb2JpbGU6MTZweDstLWFsLWxheW91dC1ndXR0ZXItZGVza3RvcDoyNHB4Oy0tYWwtbGF5b3V0LW1heC1jb250ZW50OjcyMHB4Oy0tYWwtbGF5b3V0LW1heC1wYWdlOjE0NDBweDstLWFsLWxheW91dC1zaWRlYmFyLXdpZHRoOjIzMnB4Oy0tYWwtYnJlYWtwb2ludC1zbTo2MDBweDstLWFsLWJyZWFrcG9pbnQtbWQ6MTAyNHB4Oy0tYWwtYnJlYWtwb2ludC1sZzoxNDQwcHg7LS1hbC1tb3Rpb24tZHVyYXRpb24taW5zdGFudDp2YXIoLS1hbC1kdXJhdGlvbi1pbnN0YW50KTstLWFsLW1vdGlvbi1kdXJhdGlvbi1mYXN0OnZhcigtLWFsLWR1cmF0aW9uLWZhc3QpOy0tYWwtbW90aW9uLWR1cmF0aW9uLWJhc2U6dmFyKC0tYWwtZHVyYXRpb24tYmFzZSk7LS1hbC1tb3Rpb24tZHVyYXRpb24tc2xvdzp2YXIoLS1hbC1kdXJhdGlvbi1zbG93KTstLWFsLW1vdGlvbi1lYXNpbmctc3RhbmRhcmQ6dmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKTstLWFsLW1vdGlvbi1lYXNpbmctZW50ZXI6dmFyKC0tYWwtZWFzaW5nLWVudGVyKTstLWFsLW1vdGlvbi1lYXNpbmctZXhpdDp2YXIoLS1hbC1lYXNpbmctZXhpdCk7LS1hbC1mb250LWZhbWlseS1zYW5zOiJHZWlzdCIsIHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgIlNlZ29lIFVJIiwgIk5vdG8gU2FucyIsIHNhbnMtc2VyaWY7LS1hbC1mb250LWZhbWlseS1tb25vOiJHZWlzdCBNb25vIiwgdWktbW9ub3NwYWNlLCAiU0YgTW9ubyIsICJDYXNjYWRpYSBNb25vIiwgIkpldEJyYWlucyBNb25vIiwgTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2U7LS1mb250LXNhbnM6dmFyKC0tYWwtZm9udC1mYW1pbHktc2Fucyk7LS1mb250LW1vbm86dmFyKC0tYWwtZm9udC1mYW1pbHktbW9ubyk7LS1hbC10ZXh0LWRpc3BsYXktc2l6ZTo0MHB4Oy0tYWwtdGV4dC1kaXNwbGF5LWxpbmU6NDRweDstLWFsLXRleHQtZGlzcGxheS13ZWlnaHQ6NjAwOy0tYWwtdGV4dC1kaXNwbGF5LXRyYWNraW5nOi0uMDI1ZW07LS1hbC10ZXh0LXRpdGxlLTEtc2l6ZToyOHB4Oy0tYWwtdGV4dC10aXRsZS0xLWxpbmU6MzRweDstLWFsLXRleHQtdGl0bGUtMS13ZWlnaHQ6NjAwOy0tYWwtdGV4dC10aXRsZS0xLXRyYWNraW5nOi0uMDJlbTstLWFsLXRleHQtdGl0bGUtMi1zaXplOjIwcHg7LS1hbC10ZXh0LXRpdGxlLTItbGluZToyOHB4Oy0tYWwtdGV4dC10aXRsZS0yLXdlaWdodDo2MDA7LS1hbC10ZXh0LXRpdGxlLTItdHJhY2tpbmc6LS4wMTVlbTstLWFsLXRleHQtdGl0bGUtMy1zaXplOjE2cHg7LS1hbC10ZXh0LXRpdGxlLTMtbGluZToyNHB4Oy0tYWwtdGV4dC10aXRsZS0zLXdlaWdodDo2MDA7LS1hbC10ZXh0LXRpdGxlLTMtdHJhY2tpbmc6LS4wMWVtOy0tYWwtdGV4dC1ib2R5LWxnLXNpemU6MTZweDstLWFsLXRleHQtYm9keS1sZy1saW5lOjI0cHg7LS1hbC10ZXh0LWJvZHktbGctd2VpZ2h0OjQwMDstLWFsLXRleHQtYm9keS1sZy10cmFja2luZzowZW07LS1hbC10ZXh0LWJvZHktc2l6ZToxNHB4Oy0tYWwtdGV4dC1ib2R5LWxpbmU6MjBweDstLWFsLXRleHQtYm9keS13ZWlnaHQ6NDAwOy0tYWwtdGV4dC1ib2R5LXRyYWNraW5nOjBlbTstLWFsLXRleHQtYm9keS1zbS1zaXplOjEzcHg7LS1hbC10ZXh0LWJvZHktc20tbGluZToxOHB4Oy0tYWwtdGV4dC1ib2R5LXNtLXdlaWdodDo0MDA7LS1hbC10ZXh0LWJvZHktc20tdHJhY2tpbmc6MGVtOy0tYWwtdGV4dC1jYXB0aW9uLXNpemU6MTJweDstLWFsLXRleHQtY2FwdGlvbi1saW5lOjE2cHg7LS1hbC10ZXh0LWNhcHRpb24td2VpZ2h0OjQwMDstLWFsLXRleHQtY2FwdGlvbi10cmFja2luZzowZW07LS1hbC10ZXh0LWxhYmVsLXNpemU6MTFweDstLWFsLXRleHQtbGFiZWwtbGluZToxNnB4Oy0tYWwtdGV4dC1sYWJlbC13ZWlnaHQ6NTAwOy0tYWwtdGV4dC1sYWJlbC10cmFja2luZzouMDZlbTstLWFsLXRleHQtY29kZS1zaXplOjEzcHg7LS1hbC10ZXh0LWNvZGUtbGluZToyMHB4Oy0tYWwtdGV4dC1jb2RlLXdlaWdodDo0MDA7LS1hbC10ZXh0LWNvZGUtdHJhY2tpbmc6MGVtOy0tYWwtdGV4dC1jb2RlLWxnLXNpemU6MjRweDstLWFsLXRleHQtY29kZS1sZy1saW5lOjMycHg7LS1hbC10ZXh0LWNvZGUtbGctd2VpZ2h0OjUwMDstLWFsLXRleHQtY29kZS1sZy10cmFja2luZzouMDJlbTstLWFsLXRleHQtd29yZG1hcmstc2l6ZToyMHB4Oy0tYWwtdGV4dC13b3JkbWFyay1saW5lOjI0cHg7LS1hbC10ZXh0LXdvcmRtYXJrLXdlaWdodDo2MDA7LS1hbC10ZXh0LXdvcmRtYXJrLXRyYWNraW5nOi0uMDNlbX06cm9vdCxbZGF0YS10aGVtZT1kYXJrXXstLWFsLWNvbG9yLWJnLWNhbnZhczojMGIwYzBlOy0tYWwtY29sb3ItYmctc3VyZmFjZTojMTExMzE2Oy0tYWwtY29sb3ItYmctcmFpc2VkOiMxNzFhMWU7LS1hbC1jb2xvci1iZy1zdW5rZW46IzA4MDkwYjstLWFsLWNvbG9yLWJnLWludmVyc2U6I2U3ZTllYzstLWFsLWNvbG9yLWJnLW92ZXJsYXk6IzA1MDYwOGI4Oy0tYWwtY29sb3ItZmctZGVmYXVsdDojZTdlOWVjOy0tYWwtY29sb3ItZmctbXV0ZWQ6I2ExYTliNDstLWFsLWNvbG9yLWZnLXN1YnRsZTojOGE5MjlkOy0tYWwtY29sb3ItZmctaW52ZXJzZTojMGUxMDEzOy0tYWwtY29sb3ItZmctb24tYWNjZW50OiMwYjBjMGU7LS1hbC1jb2xvci1mZy1saW5rOiNmZjhhNGM7LS1hbC1jb2xvci1ib3JkZXItc3VidGxlOiMxZTIyMjc7LS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdDojMmEyZjM2Oy0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZzojNjg3MTdjOy0tYWwtY29sb3ItZm9jdXMtcmluZzojZmY4YTRjOy0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQ6I2ZmNmExYTstLWFsLWNvbG9yLWFjY2VudC1ob3ZlcjojZmY4MjQwOy0tYWwtY29sb3ItYWNjZW50LXByZXNzZWQ6I2U1NTkwYzstLWFsLWNvbG9yLWFjY2VudC1zdWJ0bGU6IzJiMTcwYjstLWFsLWNvbG9yLWFjY2VudC1mZzojZmY4YTRjOy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYmc6IzBlMjQxZDstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnOiM0ZmQxYTU7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXI6IzFmNGQzZTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb246IzRmZDFhNTstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJnOiMyYTI0MTA7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1mZzojZjJjOTRjOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyOiM1NzRhMWM7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uOiNmMmM5NGM7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJnOiMyZDE0MTU7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnOiNmZjdiN2I7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcjojNWMyNjI4Oy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uOiNmZjZiNmI7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1iZzojMGYxZDJlOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tZmc6IzZjYjZmZjstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJvcmRlcjojMWYzZDVmOy0tYWwtY29sb3Itc3RhdHVzLWluZm8taWNvbjojNmNiNmZmOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYmc6IzFhMWQyMTstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWZnOiNhMWE5YjQ7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXI6IzJhMmYzNjstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb246I2ExYTliNDstLWFsLWNvbG9yLXByb29mLWJnOiMxYzE4MzA7LS1hbC1jb2xvci1wcm9vZi1mZzojYjlhZWZmOy0tYWwtY29sb3ItcHJvb2YtYm9yZGVyOiMzZTM2NzA7LS1hbC1jb2xvci1wcm9vZi1zZWFsOiNhNDk1ZmY7LS1hbC1jb2xvci11bnRydXN0ZWQtYmc6IzBkMGUxMDstLWFsLWNvbG9yLXVudHJ1c3RlZC1mZzojYzljZWQ2Oy0tYWwtY29sb3ItdW50cnVzdGVkLWJvcmRlcjojN2E2NzQwOy0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWJnOiMyNDFlMTI7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmc6I2Q5YjY2YTstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYmc6IzI0MTQwYTstLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmc6I2ZmYjA4MzstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYm9yZGVyOiNjMjVhMWY7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1iZzojMGYxZDJlOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtZmc6IzZjYjZmZjstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWJvcmRlcjojMWYzZDVmOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1iZzojMWMxODMwOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1mZzojYjlhZWZmOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1ib3JkZXI6IzNlMzY3MDstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1iZzojMTUxNzFhOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWZnOiNhMWE5YjQ7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtYm9yZGVyOiMzNTNiNDM7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJnOiMyYTI0MTA7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWZnOiNmMmM5NGM7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJvcmRlcjojNTc0YTFjOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1iZzojMGUyNDFkOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1mZzojNGZkMWE1Oy0tYWwtY29sb3ItZGlmZi1hZGRlZC1ib3JkZXI6IzFmNGQzZTstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1iZzojMmQxNDE1Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnOiNmZjhlOGU7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyOiM1YzI2Mjg7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtYmc6IzJhMjQxMDstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1mZzojZjJjOTRjOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJvcmRlcjojNTc0YTFjOy0tYWwtY29sb3ItYnJhbmQtbWFyazojZTdlOWVjOy0tYWwtY29sb3ItYnJhbmQtc2VhbDojZmY2YTFhOy0tYWwtY29sb3ItYnJhbmQtd29yZG1hcms6I2U3ZTllYzstLWFsLWNvbG9yLWJyYW5kLWVuZG9yc2VtZW50OiNhMWE5YjQ7LS1hbC1jb2xvci1zeW50YXgta2V5d29yZDojZmY4YTRjOy0tYWwtY29sb3Itc3ludGF4LXN0cmluZzojNGZkMWE1Oy0tYWwtY29sb3Itc3ludGF4LWNvbW1lbnQ6IzhhOTI5ZDstLWFsLWNvbG9yLXN5bnRheC1udW1iZXI6I2I5YWVmZjstLWFsLXNoYWRvdy0wOm5vbmU7LS1hbC1zaGFkb3ctMTowIDFweCAwICMwMDAwMDA4MDstLWFsLXNoYWRvdy0yOjAgNHB4IDEycHggIzAwMDAwMDczOy0tYWwtc2hhZG93LTM6MCAxMnB4IDMycHggIzAwMDAwMDhjOy0tYWwtc2hhZG93LTQ6MCAyNHB4IDY0cHggIzAwMDk7LS1hbC1oaWdobGlnaHQtdG9wOiNmZmZmZmYwZDstLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkOiNmZmZmZmYxMjstLWFsLW1hdGVyaWFsLWNocm9tZS1iZzojMTExMzE2ZDk7LS1hbC1tYXRlcmlhbC1ibHVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMS40KTstLWxpZ2h0bmluZ2Nzcy1saWdodDogOy0tbGlnaHRuaW5nY3NzLWRhcms6aW5pdGlhbDtjb2xvci1zY2hlbWU6ZGFya31bZGF0YS10aGVtZT1saWdodF17LS1hbC1jb2xvci1iZy1jYW52YXM6I2Y1ZjZmNzstLWFsLWNvbG9yLWJnLXN1cmZhY2U6I2ZmZjstLWFsLWNvbG9yLWJnLXJhaXNlZDojZmZmOy0tYWwtY29sb3ItYmctc3Vua2VuOiNlY2VlZjA7LS1hbC1jb2xvci1iZy1pbnZlcnNlOiMxNTE3MWE7LS1hbC1jb2xvci1iZy1vdmVybGF5OiMwZTEwMTM3YTstLWFsLWNvbG9yLWZnLWRlZmF1bHQ6IzBlMTAxMzstLWFsLWNvbG9yLWZnLW11dGVkOiM0ZjU3NjE7LS1hbC1jb2xvci1mZy1zdWJ0bGU6IzYyNmI3NjstLWFsLWNvbG9yLWZnLWludmVyc2U6I2Y1ZjZmNzstLWFsLWNvbG9yLWZnLW9uLWFjY2VudDojMGIwYzBlOy0tYWwtY29sb3ItZmctbGluazojYjIzYTA5Oy0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZTojZTRlN2VhOy0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQ6I2QzZDdkYzstLWFsLWNvbG9yLWJvcmRlci1zdHJvbmc6Izg0OGQ5ODstLWFsLWNvbG9yLWZvY3VzLXJpbmc6I2MyNDEwYzstLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0OiNlYTVhMTA7LS1hbC1jb2xvci1hY2NlbnQtaG92ZXI6I2ZmNmExYTstLWFsLWNvbG9yLWFjY2VudC1wcmVzc2VkOiNkOTRmMDY7LS1hbC1jb2xvci1hY2NlbnQtc3VidGxlOiNmZmVkZTI7LS1hbC1jb2xvci1hY2NlbnQtZmc6I2IyM2EwOTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJnOiNlM2Y2ZWY7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZzojMGE2ZTUxOy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyOiM5YWQ5YzI7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1pY29uOiMwZThhNjY7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1iZzojZmRmNGRjOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctZmc6IzgwNTMwMDstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJvcmRlcjojZThjZDdjOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctaWNvbjojYTA2OTAwOy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1iZzojZmRlOGU4Oy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZzojYjMxOTFmOy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1ib3JkZXI6I2YzYTlhYjstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbjojZDMyODJlOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tYmc6I2U2ZjBmYzstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWZnOiMwYjVjYjg7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1ib3JkZXI6I2EzYzZlZjstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWljb246IzE2NjhjNzstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWJnOiNlZWYwZjI7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1mZzojNGY1NzYxOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYm9yZGVyOiNkM2Q3ZGM7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1pY29uOiM1YjYzNmU7LS1hbC1jb2xvci1wcm9vZi1iZzojZWZlZGZmOy0tYWwtY29sb3ItcHJvb2YtZmc6IzRiM2JjMjstLWFsLWNvbG9yLXByb29mLWJvcmRlcjojYzNiY2Y1Oy0tYWwtY29sb3ItcHJvb2Ytc2VhbDojNWI0YmQ2Oy0tYWwtY29sb3ItdW50cnVzdGVkLWJnOiNmNmY0ZWY7LS1hbC1jb2xvci11bnRydXN0ZWQtZmc6IzJhMmQzMTstLWFsLWNvbG9yLXVudHJ1c3RlZC1ib3JkZXI6IzljODQ1NjstLWFsLWNvbG9yLXVudHJ1c3RlZC1sYWJlbC1iZzojZWRlNGNmOy0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWZnOiM1ZTRhMWI7LS1hbC1jb2xvci1jb21taXRtZW50LWJnOiNmZmYxZTg7LS1hbC1jb2xvci1jb21taXRtZW50LWZnOiM5YTM0MDg7LS1hbC1jb2xvci1jb21taXRtZW50LWJvcmRlcjojYzQ1NjFjOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYmc6I2U2ZjBmYzstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWZnOiMwYjVjYjg7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1ib3JkZXI6I2EzYzZlZjstLWFsLWNvbG9yLWlkZW50aXR5LXJlZ2lzdGVyZWQtYmc6I2VmZWRmZjstLWFsLWNvbG9yLWlkZW50aXR5LXJlZ2lzdGVyZWQtZmc6IzRiM2JjMjstLWFsLWNvbG9yLWlkZW50aXR5LXJlZ2lzdGVyZWQtYm9yZGVyOiNjM2JjZjU7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtYmc6I2YwZjFmMzstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1mZzojNGY1NzYxOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJvcmRlcjojYzljZWQ0Oy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1iZzojZmRmNGRjOy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1mZzojODA1MzAwOy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1ib3JkZXI6I2U4Y2Q3YzstLWFsLWNvbG9yLWRpZmYtYWRkZWQtYmc6I2UzZjZlZjstLWFsLWNvbG9yLWRpZmYtYWRkZWQtZmc6IzBhNmU1MTstLWFsLWNvbG9yLWRpZmYtYWRkZWQtYm9yZGVyOiM5YWQ5YzI7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYmc6I2ZkZThlODstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1mZzojYjMxOTFmOy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWJvcmRlcjojZjNhOWFiOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJnOiNmZGY0ZGM7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtZmc6IzgwNTMwMDstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1ib3JkZXI6I2U4Y2Q3YzstLWFsLWNvbG9yLWJyYW5kLW1hcms6IzBlMTAxMzstLWFsLWNvbG9yLWJyYW5kLXNlYWw6I2ZmNmExYTstLWFsLWNvbG9yLWJyYW5kLXdvcmRtYXJrOiMwZTEwMTM7LS1hbC1jb2xvci1icmFuZC1lbmRvcnNlbWVudDojNGY1NzYxOy0tYWwtY29sb3Itc3ludGF4LWtleXdvcmQ6I2IyM2EwOTstLWFsLWNvbG9yLXN5bnRheC1zdHJpbmc6IzBhNmU1MTstLWFsLWNvbG9yLXN5bnRheC1jb21tZW50OiM2MjZiNzY7LS1hbC1jb2xvci1zeW50YXgtbnVtYmVyOiM0YjNiYzI7LS1hbC1zaGFkb3ctMDpub25lOy0tYWwtc2hhZG93LTE6MCAxcHggMnB4ICMwZTEwMTMwZjstLWFsLXNoYWRvdy0yOjAgNHB4IDEycHggIzBlMTAxMzE0Oy0tYWwtc2hhZG93LTM6MCAxMnB4IDMycHggIzBlMTAxMzFmOy0tYWwtc2hhZG93LTQ6MCAyNHB4IDY0cHggIzBlMTAxMzI5Oy0tYWwtaGlnaGxpZ2h0LXRvcDp0cmFuc3BhcmVudDstLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkOnRyYW5zcGFyZW50Oy0tYWwtbWF0ZXJpYWwtY2hyb21lLWJnOiNmZmZmZmZkOTstLWFsLW1hdGVyaWFsLWJsdXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxLjQpOy0tbGlnaHRuaW5nY3NzLWxpZ2h0OmluaXRpYWw7LS1saWdodG5pbmdjc3MtZGFyazogO2NvbG9yLXNjaGVtZTpsaWdodH06cm9vdFtkYXRhLWNvbnRyYXN0PW1vcmVdOm5vdChbZGF0YS10aGVtZT1saWdodF0pLFtkYXRhLXRoZW1lPWRhcmtdW2RhdGEtY29udHJhc3Q9bW9yZV0sW2RhdGEtdGhlbWU9ZGFyay1jb250cmFzdF17LS1hbC1jb2xvci1iZy1jYW52YXM6IzAwMDstLWFsLWNvbG9yLWJnLXN1cmZhY2U6IzA2MDcwODstLWFsLWNvbG9yLWJnLXJhaXNlZDojMGUxMDEzOy0tYWwtY29sb3ItYmctc3Vua2VuOiMwMDA7LS1hbC1jb2xvci1iZy1vdmVybGF5OiMwMDAwMDBkOTstLWFsLWNvbG9yLWZnLWRlZmF1bHQ6I2ZmZjstLWFsLWNvbG9yLWZnLW11dGVkOiNkM2Q4ZGU7LS1hbC1jb2xvci1mZy1zdWJ0bGU6I2JjYzNjYjstLWFsLWNvbG9yLWZnLW9uLWFjY2VudDojMDAwOy0tYWwtY29sb3ItZmctbGluazojZmZhZTgwOy0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZTojNWE2MjZjOy0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQ6IzhhOTM5ZTstLWFsLWNvbG9yLWJvcmRlci1zdHJvbmc6I2QzZDhkZTstLWFsLWNvbG9yLWZvY3VzLXJpbmc6I2ZmYWU4MDstLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0OiNmZjdhMmU7LS1hbC1jb2xvci1hY2NlbnQtaG92ZXI6I2ZmOTE1MjstLWFsLWNvbG9yLWFjY2VudC1wcmVzc2VkOiNmZjZhMWE7LS1hbC1jb2xvci1hY2NlbnQtZmc6I2ZmYWU4MDstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnOiM3ZWVjYzc7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXI6IzRmZDFhNTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb246IzdlZWNjNzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWZnOiNmZmRmN2E7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1ib3JkZXI6I2YyYzk0YzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb246I2ZmZGY3YTstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmc6I2ZhYTstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyOiNmZjdiN2I7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb246I2ZmOWE5YTstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWZnOiNhOGQyZmY7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1ib3JkZXI6IzZjYjZmZjstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWljb246I2E4ZDJmZjstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWZnOiNkM2Q4ZGU7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXI6IzhhOTM5ZTstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb246I2QzZDhkZTstLWFsLWNvbG9yLXByb29mLWZnOiNkNmNmZmY7LS1hbC1jb2xvci1wcm9vZi1ib3JkZXI6I2E0OTVmZjstLWFsLWNvbG9yLXByb29mLXNlYWw6I2M0YmFmZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1iZzojMDAwOy0tYWwtY29sb3ItdW50cnVzdGVkLWZnOiNmMGYyZjU7LS1hbC1jb2xvci11bnRydXN0ZWQtYm9yZGVyOiNlMGMyN2E7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmc6I2ZmZTA5OTstLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmc6I2ZmY2FhODstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYm9yZGVyOiNmZjhhNGM7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1mZzojYThkMmZmOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYm9yZGVyOiM2Y2I2ZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWZnOiNkNmNmZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJvcmRlcjojYTQ5NWZmOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJnOiMwZTEwMTM7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtZmc6I2QzZDhkZTstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1ib3JkZXI6IzhhOTM5ZTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctZmc6I2ZmZGY3YTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYm9yZGVyOiNmMmM5NGM7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWZnOiM3ZWVjYzc7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWJvcmRlcjojNGZkMWE1Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnOiNmYWE7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyOiNmZjdiN2I7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtZmc6I2ZmZGY3YTstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1ib3JkZXI6I2YyYzk0YzstLWFsLWNvbG9yLWJyYW5kLW1hcms6I2ZmZjstLWFsLWNvbG9yLWJyYW5kLXdvcmRtYXJrOiNmZmY7LS1hbC1jb2xvci1icmFuZC1lbmRvcnNlbWVudDojZDNkOGRlOy0tYWwtY29sb3Itc3ludGF4LWtleXdvcmQ6I2ZmYWU4MDstLWFsLWNvbG9yLXN5bnRheC1zdHJpbmc6IzdlZWNjNzstLWFsLWNvbG9yLXN5bnRheC1jb21tZW50OiNiY2MzY2I7LS1hbC1jb2xvci1zeW50YXgtbnVtYmVyOiNkNmNmZmY7LS1hbC1zaGFkb3ctMTpub25lOy0tYWwtc2hhZG93LTI6bm9uZTstLWFsLXNoYWRvdy0zOm5vbmU7LS1hbC1zaGFkb3ctNDpub25lOy0tYWwtaGlnaGxpZ2h0LXRvcDp0cmFuc3BhcmVudDstLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkOnRyYW5zcGFyZW50Oy0tYWwtbWF0ZXJpYWwtY2hyb21lLWJnOiMwNjA3MDg7LS1hbC1tYXRlcmlhbC1ibHVyOm5vbmV9W2RhdGEtdGhlbWU9bGlnaHRdW2RhdGEtY29udHJhc3Q9bW9yZV0sW2RhdGEtdGhlbWU9bGlnaHQtY29udHJhc3Rdey0tYWwtY29sb3ItYmctY2FudmFzOiNmZmY7LS1hbC1jb2xvci1iZy1zdW5rZW46I2YyZjNmNTstLWFsLWNvbG9yLWJnLWludmVyc2U6IzAwMDstLWFsLWNvbG9yLWJnLW92ZXJsYXk6IzAwMDk7LS1hbC1jb2xvci1mZy1kZWZhdWx0OiMwMDA7LS1hbC1jb2xvci1mZy1tdXRlZDojMmYzNTNjOy0tYWwtY29sb3ItZmctc3VidGxlOiMzZjQ2NGU7LS1hbC1jb2xvci1mZy1vbi1hY2NlbnQ6I2ZmZjstLWFsLWNvbG9yLWZnLWxpbms6IzdhMjkwNjstLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGU6IzhhOTM5ZTstLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0OiM0ZjU3NjE7LS1hbC1jb2xvci1ib3JkZXItc3Ryb25nOiMxZjIzMjg7LS1hbC1jb2xvci1mb2N1cy1yaW5nOiM3YTI5MDY7LS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdDojOWEzNDA4Oy0tYWwtY29sb3ItYWNjZW50LWhvdmVyOiM3YTI5MDY7LS1hbC1jb2xvci1hY2NlbnQtcHJlc3NlZDojNmUyNDA1Oy0tYWwtY29sb3ItYWNjZW50LXN1YnRsZTojZmZmMWU4Oy0tYWwtY29sb3ItYWNjZW50LWZnOiM3YTI5MDY7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZzojMDQ1MDNhOy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyOiMwZThhNjY7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1pY29uOiMwNDUwM2E7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1mZzojNTczODAwOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyOiNhMDY5MDA7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uOiM1NzM4MDA7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnOiM4NTBmMTQ7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcjojZDMyODJlOy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uOiM4NTBmMTQ7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1mZzojMDgzZjgwOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tYm9yZGVyOiMxNjY4Yzc7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1pY29uOiMwODNmODA7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1mZzojMmYzNTNjOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYm9yZGVyOiM0ZjU3NjE7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1pY29uOiMyZjM1M2M7LS1hbC1jb2xvci1wcm9vZi1mZzojMmYyMzkzOy0tYWwtY29sb3ItcHJvb2YtYm9yZGVyOiM1YjRiZDY7LS1hbC1jb2xvci1wcm9vZi1zZWFsOiMzZDJmYjA7LS1hbC1jb2xvci11bnRydXN0ZWQtYmc6I2ZmZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1mZzojMDAwOy0tYWwtY29sb3ItdW50cnVzdGVkLWJvcmRlcjojNmI1NDIwOy0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWZnOiMzZDJmMGY7LS1hbC1jb2xvci1jb21taXRtZW50LWZnOiM2ZTI0MDU7LS1hbC1jb2xvci1jb21taXRtZW50LWJvcmRlcjojYzI0MTBjOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtZmc6IzA4M2Y4MDstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWJvcmRlcjojMTY2OGM3Oy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1mZzojMmYyMzkzOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1ib3JkZXI6IzViNGJkNjstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1mZzojMmYzNTNjOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJvcmRlcjojNGY1NzYxOy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1mZzojNTczODAwOy0tYWwtY29sb3ItaWRlbnRpdHktd2FybmluZy1ib3JkZXI6I2EwNjkwMDstLWFsLWNvbG9yLWRpZmYtYWRkZWQtZmc6IzA0NTAzYTstLWFsLWNvbG9yLWRpZmYtYWRkZWQtYm9yZGVyOiMwZThhNjY7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtZmc6Izg1MGYxNDstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1ib3JkZXI6I2QzMjgyZTstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1mZzojNTczODAwOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJvcmRlcjojYTA2OTAwOy0tYWwtY29sb3ItYnJhbmQtbWFyazojMDAwOy0tYWwtY29sb3ItYnJhbmQtd29yZG1hcms6IzAwMDstLWFsLWNvbG9yLWJyYW5kLWVuZG9yc2VtZW50OiMyZjM1M2M7LS1hbC1jb2xvci1zeW50YXgta2V5d29yZDojN2EyOTA2Oy0tYWwtY29sb3Itc3ludGF4LXN0cmluZzojMDQ1MDNhOy0tYWwtY29sb3Itc3ludGF4LWNvbW1lbnQ6IzNmNDY0ZTstLWFsLWNvbG9yLXN5bnRheC1udW1iZXI6IzJmMjM5MzstLWFsLXNoYWRvdy0xOm5vbmU7LS1hbC1zaGFkb3ctMjpub25lOy0tYWwtc2hhZG93LTM6bm9uZTstLWFsLXNoYWRvdy00Om5vbmU7LS1hbC1oaWdobGlnaHQtdG9wOnRyYW5zcGFyZW50Oy0tYWwtaGlnaGxpZ2h0LXRvcC1yYWlzZWQ6dHJhbnNwYXJlbnQ7LS1hbC1tYXRlcmlhbC1jaHJvbWUtYmc6I2ZmZjstLWFsLW1hdGVyaWFsLWJsdXI6bm9uZX1AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXs6cm9vdDpub3QoW2RhdGEtdGhlbWVdKXstLWFsLWNvbG9yLWJnLWNhbnZhczojZjVmNmY3Oy0tYWwtY29sb3ItYmctc3VyZmFjZTojZmZmOy0tYWwtY29sb3ItYmctcmFpc2VkOiNmZmY7LS1hbC1jb2xvci1iZy1zdW5rZW46I2VjZWVmMDstLWFsLWNvbG9yLWJnLWludmVyc2U6IzE1MTcxYTstLWFsLWNvbG9yLWJnLW92ZXJsYXk6IzBlMTAxMzdhOy0tYWwtY29sb3ItZmctZGVmYXVsdDojMGUxMDEzOy0tYWwtY29sb3ItZmctbXV0ZWQ6IzRmNTc2MTstLWFsLWNvbG9yLWZnLXN1YnRsZTojNjI2Yjc2Oy0tYWwtY29sb3ItZmctaW52ZXJzZTojZjVmNmY3Oy0tYWwtY29sb3ItZmctb24tYWNjZW50OiMwYjBjMGU7LS1hbC1jb2xvci1mZy1saW5rOiNiMjNhMDk7LS1hbC1jb2xvci1ib3JkZXItc3VidGxlOiNlNGU3ZWE7LS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdDojZDNkN2RjOy0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZzojODQ4ZDk4Oy0tYWwtY29sb3ItZm9jdXMtcmluZzojYzI0MTBjOy0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQ6I2VhNWExMDstLWFsLWNvbG9yLWFjY2VudC1ob3ZlcjojZmY2YTFhOy0tYWwtY29sb3ItYWNjZW50LXByZXNzZWQ6I2Q5NGYwNjstLWFsLWNvbG9yLWFjY2VudC1zdWJ0bGU6I2ZmZWRlMjstLWFsLWNvbG9yLWFjY2VudC1mZzojYjIzYTA5Oy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYmc6I2UzZjZlZjstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnOiMwYTZlNTE7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXI6IzlhZDljMjstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb246IzBlOGE2NjstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJnOiNmZGY0ZGM7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1mZzojODA1MzAwOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyOiNlOGNkN2M7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uOiNhMDY5MDA7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJnOiNmZGU4ZTg7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnOiNiMzE5MWY7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcjojZjNhOWFiOy0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uOiNkMzI4MmU7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1iZzojZTZmMGZjOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tZmc6IzBiNWNiODstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJvcmRlcjojYTNjNmVmOy0tYWwtY29sb3Itc3RhdHVzLWluZm8taWNvbjojMTY2OGM3Oy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYmc6I2VlZjBmMjstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWZnOiM0ZjU3NjE7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXI6I2QzZDdkYzstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb246IzViNjM2ZTstLWFsLWNvbG9yLXByb29mLWJnOiNlZmVkZmY7LS1hbC1jb2xvci1wcm9vZi1mZzojNGIzYmMyOy0tYWwtY29sb3ItcHJvb2YtYm9yZGVyOiNjM2JjZjU7LS1hbC1jb2xvci1wcm9vZi1zZWFsOiM1YjRiZDY7LS1hbC1jb2xvci11bnRydXN0ZWQtYmc6I2Y2ZjRlZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1mZzojMmEyZDMxOy0tYWwtY29sb3ItdW50cnVzdGVkLWJvcmRlcjojOWM4NDU2Oy0tYWwtY29sb3ItdW50cnVzdGVkLWxhYmVsLWJnOiNlZGU0Y2Y7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmc6IzVlNGExYjstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYmc6I2ZmZjFlODstLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmc6IzlhMzQwODstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYm9yZGVyOiNjNDU2MWM7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1iZzojZTZmMGZjOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtZmc6IzBiNWNiODstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWJvcmRlcjojYTNjNmVmOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1iZzojZWZlZGZmOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1mZzojNGIzYmMyOy0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1ib3JkZXI6I2MzYmNmNTstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1iZzojZjBmMWYzOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWZnOiM0ZjU3NjE7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtYm9yZGVyOiNjOWNlZDQ7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJnOiNmZGY0ZGM7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWZnOiM4MDUzMDA7LS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJvcmRlcjojZThjZDdjOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1iZzojZTNmNmVmOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1mZzojMGE2ZTUxOy0tYWwtY29sb3ItZGlmZi1hZGRlZC1ib3JkZXI6IzlhZDljMjstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1iZzojZmRlOGU4Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnOiNiMzE5MWY7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyOiNmM2E5YWI7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtYmc6I2ZkZjRkYzstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1mZzojODA1MzAwOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJvcmRlcjojZThjZDdjOy0tYWwtY29sb3ItYnJhbmQtbWFyazojMGUxMDEzOy0tYWwtY29sb3ItYnJhbmQtc2VhbDojZmY2YTFhOy0tYWwtY29sb3ItYnJhbmQtd29yZG1hcms6IzBlMTAxMzstLWFsLWNvbG9yLWJyYW5kLWVuZG9yc2VtZW50OiM0ZjU3NjE7LS1hbC1jb2xvci1zeW50YXgta2V5d29yZDojYjIzYTA5Oy0tYWwtY29sb3Itc3ludGF4LXN0cmluZzojMGE2ZTUxOy0tYWwtY29sb3Itc3ludGF4LWNvbW1lbnQ6IzYyNmI3NjstLWFsLWNvbG9yLXN5bnRheC1udW1iZXI6IzRiM2JjMjstLWFsLXNoYWRvdy0wOm5vbmU7LS1hbC1zaGFkb3ctMTowIDFweCAycHggIzBlMTAxMzBmOy0tYWwtc2hhZG93LTI6MCA0cHggMTJweCAjMGUxMDEzMTQ7LS1hbC1zaGFkb3ctMzowIDEycHggMzJweCAjMGUxMDEzMWY7LS1hbC1zaGFkb3ctNDowIDI0cHggNjRweCAjMGUxMDEzMjk7LS1hbC1oaWdobGlnaHQtdG9wOnRyYW5zcGFyZW50Oy0tYWwtaGlnaGxpZ2h0LXRvcC1yYWlzZWQ6dHJhbnNwYXJlbnQ7LS1hbC1tYXRlcmlhbC1jaHJvbWUtYmc6I2ZmZmZmZmQ5Oy0tYWwtbWF0ZXJpYWwtYmx1cjpibHVyKDIwcHgpIHNhdHVyYXRlKDEuNCk7LS1saWdodG5pbmdjc3MtbGlnaHQ6aW5pdGlhbDstLWxpZ2h0bmluZ2Nzcy1kYXJrOiA7Y29sb3Itc2NoZW1lOmxpZ2h0fX1AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7OnJvb3Q6bm90KFtkYXRhLXRoZW1lXSk6bm90KFtkYXRhLWNvbnRyYXN0XSl7LS1hbC1jb2xvci1iZy1jYW52YXM6IzAwMDstLWFsLWNvbG9yLWJnLXN1cmZhY2U6IzA2MDcwODstLWFsLWNvbG9yLWJnLXJhaXNlZDojMGUxMDEzOy0tYWwtY29sb3ItYmctc3Vua2VuOiMwMDA7LS1hbC1jb2xvci1iZy1vdmVybGF5OiMwMDAwMDBkOTstLWFsLWNvbG9yLWZnLWRlZmF1bHQ6I2ZmZjstLWFsLWNvbG9yLWZnLW11dGVkOiNkM2Q4ZGU7LS1hbC1jb2xvci1mZy1zdWJ0bGU6I2JjYzNjYjstLWFsLWNvbG9yLWZnLW9uLWFjY2VudDojMDAwOy0tYWwtY29sb3ItZmctbGluazojZmZhZTgwOy0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZTojNWE2MjZjOy0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQ6IzhhOTM5ZTstLWFsLWNvbG9yLWJvcmRlci1zdHJvbmc6I2QzZDhkZTstLWFsLWNvbG9yLWZvY3VzLXJpbmc6I2ZmYWU4MDstLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0OiNmZjdhMmU7LS1hbC1jb2xvci1hY2NlbnQtaG92ZXI6I2ZmOTE1MjstLWFsLWNvbG9yLWFjY2VudC1wcmVzc2VkOiNmZjZhMWE7LS1hbC1jb2xvci1hY2NlbnQtZmc6I2ZmYWU4MDstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnOiM3ZWVjYzc7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXI6IzRmZDFhNTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb246IzdlZWNjNzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWZnOiNmZmRmN2E7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1ib3JkZXI6I2YyYzk0YzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb246I2ZmZGY3YTstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmc6I2ZhYTstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyOiNmZjdiN2I7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb246I2ZmOWE5YTstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWZnOiNhOGQyZmY7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1ib3JkZXI6IzZjYjZmZjstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWljb246I2E4ZDJmZjstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWZnOiNkM2Q4ZGU7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1ib3JkZXI6IzhhOTM5ZTstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb246I2QzZDhkZTstLWFsLWNvbG9yLXByb29mLWZnOiNkNmNmZmY7LS1hbC1jb2xvci1wcm9vZi1ib3JkZXI6I2E0OTVmZjstLWFsLWNvbG9yLXByb29mLXNlYWw6I2M0YmFmZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1iZzojMDAwOy0tYWwtY29sb3ItdW50cnVzdGVkLWZnOiNmMGYyZjU7LS1hbC1jb2xvci11bnRydXN0ZWQtYm9yZGVyOiNlMGMyN2E7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtZmc6I2ZmZTA5OTstLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmc6I2ZmY2FhODstLWFsLWNvbG9yLWNvbW1pdG1lbnQtYm9yZGVyOiNmZjhhNGM7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1mZzojYThkMmZmOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYm9yZGVyOiM2Y2I2ZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWZnOiNkNmNmZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJvcmRlcjojYTQ5NWZmOy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJnOiMwZTEwMTM7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtZmc6I2QzZDhkZTstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1ib3JkZXI6IzhhOTM5ZTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctZmc6I2ZmZGY3YTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYm9yZGVyOiNmMmM5NGM7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWZnOiM3ZWVjYzc7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWJvcmRlcjojNGZkMWE1Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWZnOiNmYWE7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyOiNmZjdiN2I7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtZmc6I2ZmZGY3YTstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1ib3JkZXI6I2YyYzk0YzstLWFsLWNvbG9yLWJyYW5kLW1hcms6I2ZmZjstLWFsLWNvbG9yLWJyYW5kLXdvcmRtYXJrOiNmZmY7LS1hbC1jb2xvci1icmFuZC1lbmRvcnNlbWVudDojZDNkOGRlOy0tYWwtY29sb3Itc3ludGF4LWtleXdvcmQ6I2ZmYWU4MDstLWFsLWNvbG9yLXN5bnRheC1zdHJpbmc6IzdlZWNjNzstLWFsLWNvbG9yLXN5bnRheC1jb21tZW50OiNiY2MzY2I7LS1hbC1jb2xvci1zeW50YXgtbnVtYmVyOiNkNmNmZmY7LS1hbC1zaGFkb3ctMTpub25lOy0tYWwtc2hhZG93LTI6bm9uZTstLWFsLXNoYWRvdy0zOm5vbmU7LS1hbC1zaGFkb3ctNDpub25lOy0tYWwtaGlnaGxpZ2h0LXRvcDp0cmFuc3BhcmVudDstLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkOnRyYW5zcGFyZW50Oy0tYWwtbWF0ZXJpYWwtY2hyb21lLWJnOiMwNjA3MDg7LS1hbC1tYXRlcmlhbC1ibHVyOm5vbmV9fUBtZWRpYSAocHJlZmVycy1jb250cmFzdDptb3JlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXs6cm9vdDpub3QoW2RhdGEtdGhlbWVdKTpub3QoW2RhdGEtY29udHJhc3RdKXstLWFsLWNvbG9yLWJnLWNhbnZhczojZmZmOy0tYWwtY29sb3ItYmctc3VyZmFjZTojZmZmOy0tYWwtY29sb3ItYmctcmFpc2VkOiNmZmY7LS1hbC1jb2xvci1iZy1zdW5rZW46I2YyZjNmNTstLWFsLWNvbG9yLWJnLWludmVyc2U6IzAwMDstLWFsLWNvbG9yLWJnLW92ZXJsYXk6IzAwMDk7LS1hbC1jb2xvci1mZy1kZWZhdWx0OiMwMDA7LS1hbC1jb2xvci1mZy1tdXRlZDojMmYzNTNjOy0tYWwtY29sb3ItZmctc3VidGxlOiMzZjQ2NGU7LS1hbC1jb2xvci1mZy1pbnZlcnNlOiNmNWY2Zjc7LS1hbC1jb2xvci1mZy1vbi1hY2NlbnQ6I2ZmZjstLWFsLWNvbG9yLWZnLWxpbms6IzdhMjkwNjstLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGU6IzhhOTM5ZTstLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0OiM0ZjU3NjE7LS1hbC1jb2xvci1ib3JkZXItc3Ryb25nOiMxZjIzMjg7LS1hbC1jb2xvci1mb2N1cy1yaW5nOiM3YTI5MDY7LS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdDojOWEzNDA4Oy0tYWwtY29sb3ItYWNjZW50LWhvdmVyOiM3YTI5MDY7LS1hbC1jb2xvci1hY2NlbnQtcHJlc3NlZDojNmUyNDA1Oy0tYWwtY29sb3ItYWNjZW50LXN1YnRsZTojZmZmMWU4Oy0tYWwtY29sb3ItYWNjZW50LWZnOiM3YTI5MDY7LS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1iZzojZTNmNmVmOy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtZmc6IzA0NTAzYTstLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJvcmRlcjojMGU4YTY2Oy0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtaWNvbjojMDQ1MDNhOy0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYmc6I2ZkZjRkYzstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWZnOiM1NzM4MDA7LS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1ib3JkZXI6I2EwNjkwMDstLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb246IzU3MzgwMDstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYmc6I2ZkZThlODstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmc6Izg1MGYxNDstLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyOiNkMzI4MmU7LS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb246Izg1MGYxNDstLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJnOiNlNmYwZmM7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1mZzojMDgzZjgwOy0tYWwtY29sb3Itc3RhdHVzLWluZm8tYm9yZGVyOiMxNjY4Yzc7LS1hbC1jb2xvci1zdGF0dXMtaW5mby1pY29uOiMwODNmODA7LS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1iZzojZWVmMGYyOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtZmc6IzJmMzUzYzstLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWJvcmRlcjojNGY1NzYxOy0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtaWNvbjojMmYzNTNjOy0tYWwtY29sb3ItcHJvb2YtYmc6I2VmZWRmZjstLWFsLWNvbG9yLXByb29mLWZnOiMyZjIzOTM7LS1hbC1jb2xvci1wcm9vZi1ib3JkZXI6IzViNGJkNjstLWFsLWNvbG9yLXByb29mLXNlYWw6IzNkMmZiMDstLWFsLWNvbG9yLXVudHJ1c3RlZC1iZzojZmZmOy0tYWwtY29sb3ItdW50cnVzdGVkLWZnOiMwMDA7LS1hbC1jb2xvci11bnRydXN0ZWQtYm9yZGVyOiM2YjU0MjA7LS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtYmc6I2VkZTRjZjstLWFsLWNvbG9yLXVudHJ1c3RlZC1sYWJlbC1mZzojM2QyZjBmOy0tYWwtY29sb3ItY29tbWl0bWVudC1iZzojZmZmMWU4Oy0tYWwtY29sb3ItY29tbWl0bWVudC1mZzojNmUyNDA1Oy0tYWwtY29sb3ItY29tbWl0bWVudC1ib3JkZXI6I2MyNDEwYzstLWFsLWNvbG9yLWlkZW50aXR5LXZlcmlmaWVkLWJnOiNlNmYwZmM7LS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1mZzojMDgzZjgwOy0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtYm9yZGVyOiMxNjY4Yzc7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJnOiNlZmVkZmY7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWZnOiMyZjIzOTM7LS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJvcmRlcjojNWI0YmQ2Oy0tYWwtY29sb3ItaWRlbnRpdHktc2VsZmRlY2xhcmVkLWJnOiNmMGYxZjM7LS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtZmc6IzJmMzUzYzstLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1ib3JkZXI6IzRmNTc2MTstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYmc6I2ZkZjRkYzstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctZmc6IzU3MzgwMDstLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYm9yZGVyOiNhMDY5MDA7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWJnOiNlM2Y2ZWY7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWZnOiMwNDUwM2E7LS1hbC1jb2xvci1kaWZmLWFkZGVkLWJvcmRlcjojMGU4YTY2Oy0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWJnOiNmZGU4ZTg7LS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtZmc6Izg1MGYxNDstLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1ib3JkZXI6I2QzMjgyZTstLWFsLWNvbG9yLWRpZmYtY2hhbmdlZC1iZzojZmRmNGRjOy0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWZnOiM1NzM4MDA7LS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtYm9yZGVyOiNhMDY5MDA7LS1hbC1jb2xvci1icmFuZC1tYXJrOiMwMDA7LS1hbC1jb2xvci1icmFuZC13b3JkbWFyazojMDAwOy0tYWwtY29sb3ItYnJhbmQtZW5kb3JzZW1lbnQ6IzJmMzUzYzstLWFsLWNvbG9yLXN5bnRheC1rZXl3b3JkOiM3YTI5MDY7LS1hbC1jb2xvci1zeW50YXgtc3RyaW5nOiMwNDUwM2E7LS1hbC1jb2xvci1zeW50YXgtY29tbWVudDojM2Y0NjRlOy0tYWwtY29sb3Itc3ludGF4LW51bWJlcjojMmYyMzkzOy0tYWwtc2hhZG93LTE6bm9uZTstLWFsLXNoYWRvdy0yOm5vbmU7LS1hbC1zaGFkb3ctMzpub25lOy0tYWwtc2hhZG93LTQ6bm9uZTstLWFsLWhpZ2hsaWdodC10b3A6dHJhbnNwYXJlbnQ7LS1hbC1oaWdobGlnaHQtdG9wLXJhaXNlZDp0cmFuc3BhcmVudDstLWFsLW1hdGVyaWFsLWNocm9tZS1iZzojZmZmOy0tYWwtbWF0ZXJpYWwtYmx1cjpub25lfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXs6cm9vdHstLWFsLWhpZ2hsaWdodC10b3A6dHJhbnNwYXJlbnQ7LS1hbC1oaWdobGlnaHQtdG9wLXJhaXNlZDp0cmFuc3BhcmVudDstLWFsLW1hdGVyaWFsLWNocm9tZS1iZzpDYW52YXM7LS1hbC1tYXRlcmlhbC1ibHVyOm5vbmU7LS1hbC1jb2xvci1mb2N1cy1yaW5nOkhpZ2hsaWdodDstLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0OkhpZ2hsaWdodDstLWFsLWNvbG9yLWZnLW9uLWFjY2VudDpIaWdobGlnaHRUZXh0Oy0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQ6Q2FudmFzVGV4dDstLWFsLWNvbG9yLWJvcmRlci1zdHJvbmc6Q2FudmFzVGV4dDstLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGU6R3JheVRleHR9YnV0dG9uLGlucHV0LHNlbGVjdCx0ZXh0YXJlYSxbcm9sZT1zd2l0Y2hde2JvcmRlcjoxcHggc29saWQgYnV0dG9udGV4dH19LmFsLXRleHQtZGlzcGxheXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWRpc3BsYXktc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1kaXNwbGF5LWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtZGlzcGxheS13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtZGlzcGxheS10cmFja2luZyl9LmFsLXRleHQtdGl0bGUtMXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LXRpdGxlLTEtc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC10aXRsZS0xLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtdGl0bGUtMS13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtdGl0bGUtMS10cmFja2luZyl9LmFsLXRleHQtdGl0bGUtMntmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LXRpdGxlLTItc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC10aXRsZS0yLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtdGl0bGUtMi13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtdGl0bGUtMi10cmFja2luZyl9LmFsLXRleHQtdGl0bGUtM3tmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LXRpdGxlLTMtc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC10aXRsZS0zLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtdGl0bGUtMy13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtdGl0bGUtMy10cmFja2luZyl9LmFsLXRleHQtYm9keS1sZ3tmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWJvZHktbGctc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1ib2R5LWxnLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtYm9keS1sZy13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtYm9keS1sZy10cmFja2luZyl9LmFsLXRleHQtYm9keXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWJvZHktc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1ib2R5LWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtYm9keS13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtYm9keS10cmFja2luZyl9LmFsLXRleHQtYm9keS1zbXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWJvZHktc20tc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1ib2R5LXNtLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtYm9keS1zbS13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtYm9keS1zbS10cmFja2luZyl9LmFsLXRleHQtY2FwdGlvbntmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LWNhcHRpb24tc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tYWwtdGV4dC1jYXB0aW9uLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtY2FwdGlvbi13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtY2FwdGlvbi10cmFja2luZyl9LmFsLXRleHQtbGFiZWx7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6dmFyKC0tYWwtdGV4dC1sYWJlbC1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS1hbC10ZXh0LWxhYmVsLWxpbmUpO2ZvbnQtd2VpZ2h0OnZhcigtLWFsLXRleHQtbGFiZWwtd2VpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS1hbC10ZXh0LWxhYmVsLXRyYWNraW5nKX0uYWwtdGV4dC1jb2Rle2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOnZhcigtLWFsLXRleHQtY29kZS1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS1hbC10ZXh0LWNvZGUtbGluZSk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtdGV4dC1jb2RlLXdlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tYWwtdGV4dC1jb2RlLXRyYWNraW5nKX0uYWwtdGV4dC1jb2RlLWxne2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOnZhcigtLWFsLXRleHQtY29kZS1sZy1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS1hbC10ZXh0LWNvZGUtbGctbGluZSk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtdGV4dC1jb2RlLWxnLXdlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tYWwtdGV4dC1jb2RlLWxnLXRyYWNraW5nKX0uYWwtdGV4dC13b3JkbWFya3tmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTp2YXIoLS1hbC10ZXh0LXdvcmRtYXJrLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLWFsLXRleHQtd29yZG1hcmstbGluZSk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtdGV4dC13b3JkbWFyay13ZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLWFsLXRleHQtd29yZG1hcmstdHJhY2tpbmcpfS5hbC10ZXh0LWxhYmVse3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX1ib2R5e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1jYW52YXMpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO21hcmdpbjowfS5hbC1tdXRlZHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLXRleHQtbGFiZWx7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9LmFsLXRleHQtY29kZSwuYWwtdGV4dC1jb2RlLWxnLC5hbC10ZXh0LXdvcmRtYXJre2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub25lfS5hbC1wcmV2aWV3e3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSk7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTpmbGV4fS5hbC1wcmV2aWV3LmlzLWNvbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaH0uYWwtcHJldmlldy5pcy1uYXJyb3d7bWF4LXdpZHRoOjQ0MHB4fTpmb2N1cy12aXNpYmxle291dGxpbmU6dmFyKC0tYWwtZm9jdXMtcmluZy13aWR0aCkgc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6dmFyKC0tYWwtZm9jdXMtcmluZy1vZmZzZXQpfS5hbC1tYXJre2ZsZXg6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9ja30uYWwtbWFyay1pbmt7ZmlsbDp2YXIoLS1hbC1jb2xvci1icmFuZC1tYXJrKX0uYWwtbWFyay1zZWFse2ZpbGw6dmFyKC0tYWwtY29sb3ItYnJhbmQtc2VhbCl9LmFsLXdvcmRtYXJre2ZpbGw6dmFyKC0tYWwtY29sb3ItYnJhbmQtd29yZG1hcmspO2Rpc3BsYXk6YmxvY2t9LmFsLWxvY2t1cHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOi40NWVtO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWxvY2t1cC1zdGFja2Vke2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmFsLWxvY2t1cC13b3Jkc3tnYXA6dmFyKC0tYWwtc3BhY2UtMSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWxvY2t1cC1zdGFja2VkIC5hbC1sb2NrdXAtd29yZHN7YWxpZ24taXRlbXM6Y2VudGVyfS5hbC1sb2NrdXAtYnl7Y29sb3I6dmFyKC0tYWwtY29sb3ItYnJhbmQtZW5kb3JzZW1lbnQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9LmFsLWxvY2t1cC1tb25vIC5hbC1tYXJrLXNlYWx7ZmlsbDp2YXIoLS1hbC1jb2xvci1icmFuZC1tYXJrKX0uYWwtaWNvbnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZmxleDpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5hbC1idG57anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtZm9udC13ZWlnaHQtbWVkaXVtKTtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKTtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tYWwtZHVyYXRpb24tZmFzdCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKSwgYm9yZGVyLWNvbG9yIHZhcigtLWFsLWR1cmF0aW9uLWZhc3QpIHZhcigtLWFsLWVhc2luZy1zdGFuZGFyZCk7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTZweDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pfS5hbC1idG46ZGlzYWJsZWR7b3BhY2l0eTp2YXIoLS1hbC1vcGFjaXR5LWRpc2FibGVkKTtjdXJzb3I6bm90LWFsbG93ZWR9LmFsLWJ0bi1zbXtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLXNtKTtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMyk7Zm9udC1zaXplOjEycHh9LmFsLWJ0bi1sZ3toZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLWxnKTtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtNSk7Zm9udC1zaXplOjE0cHh9LmFsLWJ0bi1ibG9ja3t3aWR0aDoxMDAlfS5hbC1idG4tcHJpbWFyeXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW9uLWFjY2VudCl9LmFsLWJ0bi1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LWhvdmVyKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWhvdmVyKX0uYWwtYnRuLXByaW1hcnk6YWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LXByZXNzZWQpfS5hbC1idG4tZ2hvc3R7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOiMwMDAwfS5hbC1idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pfS5hbC1idG4tZGFuZ2Vye2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnKX0uYWwta2Jke2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTEpO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXhzKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItYm90dG9tLXdpZHRoOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGljayk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO21pbi13aWR0aDoxNnB4O2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxNnB4fS5hbC1idG4tcHJpbWFyeSAuYWwta2Jke2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOmN1cnJlbnRDb2xvcn0uYWwtZmllbGR7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MjQwcHg7ZGlzcGxheTpmbGV4fS5hbC1maWVsZC1sYWJlbHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtZm9udC13ZWlnaHQtbWVkaXVtKX0uYWwtaW5wdXQtd3JhcHtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdHJvbmcpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYWwtaW5wdXQtd3JhcDpmb2N1cy13aXRoaW57b3V0bGluZTp2YXIoLS1hbC1mb2N1cy1yaW5nLXdpZHRoKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1mb2N1cy1yaW5nKTtvdXRsaW5lLW9mZnNldDp2YXIoLS1hbC1mb2N1cy1yaW5nLW9mZnNldCl9LmFsLWlucHV0LXByZWZpeHtwYWRkaW5nLWxlZnQ6dmFyKC0tYWwtc3BhY2UtMyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctc3VidGxlKX0uYWwtaW5wdXR7bWluLXdpZHRoOjA7aGVpZ2h0OjEwMCU7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTMpO2ZvbnQ6aW5oZXJpdDtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtvdXRsaW5lOm5vbmU7ZmxleDoxO2ZvbnQtc2l6ZToxNHB4fS5hbC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctc3VidGxlKX0uYWwtZmllbGQuaXMtZXJyb3IgLmFsLWlucHV0LXdyYXB7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbil9LmFsLWZpZWxkLWhpbnR7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1maWVsZC1oaW50LmlzLWVycm9ye2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpfUBtZWRpYSAod2lkdGg8PTYwMHB4KXsuYWwtaW5wdXR7Zm9udC1zaXplOjE2cHh9LmFsLWlucHV0LXdyYXB7aGVpZ2h0OnZhcigtLWFsLXNpemUtY29udHJvbC1sZyl9fS5hbC1zd2l0Y2gtcm93e2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0zKSAwO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO21heC13aWR0aDo1MjBweDtkaXNwbGF5OmZsZXh9LmFsLXN3aXRjaC10ZXh0e2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hbC1zd2l0Y2h7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2N1cnNvcjpwb2ludGVyO2ZsZXg6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6NjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjA7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtc3dpdGNoLWtub2J7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteHMpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tYWwtZHVyYXRpb24tZmFzdCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O2xlZnQ6M3B4O3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9LmFsLXN3aXRjaC1zdGF0ZXtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6OHB4fS5hbC1zd2l0Y2guaXMtb257YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKX0uYWwtc3dpdGNoLmlzLW9uIC5hbC1zd2l0Y2gta25vYntiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDQwcHgpfS5hbC1zd2l0Y2guaXMtb24gLmFsLXN3aXRjaC1zdGF0ZXtjb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZmcpO2xlZnQ6OHB4O3JpZ2h0OmF1dG99LmFsLXN3aXRjaC1yb3cuaXMtZGlzYWJsZWR7b3BhY2l0eTp2YXIoLS1hbC1vcGFjaXR5LWRpc2FibGVkKX0uYWwtc2Vne3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMSk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1zbSk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pOy0tc2VnLW46MjstLXNlZy1pOjA7Z3JpZC1hdXRvLWNvbHVtbnM6bWlubWF4KDAsMWZyKTtncmlkLWF1dG8tZmxvdzpjb2x1bW47ZGlzcGxheTppbmxpbmUtZ3JpZDtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtc2VnW2RhdGEtY291bnQ9IjIiXXstLXNlZy1uOjJ9LmFsLXNlZ1tkYXRhLWNvdW50PSIzIl17LS1zZWctbjozfS5hbC1zZWdbZGF0YS1jb3VudD0iNCJdey0tc2VnLW46NH0uYWwtc2VnW2RhdGEtaW5kZXg9IjAiXXstLXNlZy1pOjB9LmFsLXNlZ1tkYXRhLWluZGV4PSIxIl17LS1zZWctaToxfS5hbC1zZWdbZGF0YS1pbmRleD0iMiJdey0tc2VnLWk6Mn0uYWwtc2VnW2RhdGEtaW5kZXg9IjMiXXstLXNlZy1pOjN9LmFsLXNlZzpiZWZvcmV7Y29udGVudDoiIjtpbnNldC1ibG9jazp2YXIoLS1hbC1zcGFjZS0xKTt3aWR0aDpjYWxjKCgxMDAlIC0gMiAqIHZhcigtLWFsLXNwYWNlLTEpKSAvIHZhcigtLXNlZy1uKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteHMpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LXN1YnRsZSk7Ym94LXNoYWRvdzppbnNldCAwIC0ycHggMCB2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1zZWctaSkgKiAxMDAlKSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tYWwtZHVyYXRpb24tZmFzdCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tYWwtc3BhY2UtMSl9LmFsLXNlZy1vcHR7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO21pbi1oZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKTt0ZXh0LWFsaWduOmNlbnRlcjttaW4td2lkdGg6MDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteHMpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmFsLXNlZy1vcHQuaXMtb257Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9LmFsLXNlZy1vcHQ6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOnZhcigtLWFsLWZvY3VzLXJpbmctd2lkdGgpIHNvbGlkIHZhcigtLWFsLWNvbG9yLWZvY3VzLXJpbmcpO291dGxpbmUtb2Zmc2V0OnZhcigtLWFsLWZvY3VzLXJpbmctb2Zmc2V0KX1AbWVkaWEgKHdpZHRoPD02MDBweCl7LmFsLXNlZy1vcHR7bWluLWhlaWdodDp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbGcpfX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuYWwtc2VnOmJlZm9yZXt0cmFuc2l0aW9uOm5vbmV9fTpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1zZWc6YmVmb3Jle3RyYW5zaXRpb246bm9uZX0uYWwtc3dpdGNoLXJvdz4uYWwtc3dpdGNoLXRleHR7ZmxleDoxfS5hbC1zd2l0Y2gtbm90ZXtmbGV4Om5vbmV9LmFsLXNlZy1oaW50e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLXN1YnRsZSk7Zm9udC1zaXplOjExcHh9LmFsLWNoZWNre2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMik7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtY2hlY2sgaW5wdXR7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDthY2NlbnQtY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO21hcmdpbjowfS5hbC10b25lLXN1Y2Nlc3N7LS10LWJnOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJnKTstLXQtZmc6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtZmcpOy0tdC1iZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXIpOy0tdC1pYzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1pY29uKX0uYWwtdG9uZS13YXJuaW5ney0tdC1iZzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1iZyk7LS10LWZnOnZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWZnKTstLXQtYmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyKTstLXQtaWM6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctaWNvbil9LmFsLXRvbmUtZGFuZ2Vyey0tdC1iZzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJnKTstLXQtZmc6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZyk7LS10LWJkOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyKTstLXQtaWM6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1pY29uKX0uYWwtdG9uZS1pbmZvey0tdC1iZzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtaW5mby1iZyk7LS10LWZnOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWZnKTstLXQtYmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWluZm8tYm9yZGVyKTstLXQtaWM6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWluZm8taWNvbil9LmFsLXRvbmUtbmV1dHJhbHstLXQtYmc6dmFyKC0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYmcpOy0tdC1mZzp2YXIoLS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1mZyk7LS10LWJkOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWJvcmRlcik7LS10LWljOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb24pfS5hbC10b25lLXByb29mey0tdC1iZzp2YXIoLS1hbC1jb2xvci1wcm9vZi1iZyk7LS10LWZnOnZhcigtLWFsLWNvbG9yLXByb29mLWZnKTstLXQtYmQ6dmFyKC0tYWwtY29sb3ItcHJvb2YtYm9yZGVyKTstLXQtaWM6dmFyKC0tYWwtY29sb3ItcHJvb2Ytc2VhbCl9LmFsLXRvbmUtYWNjZW50ey0tdC1iZzp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKTstLXQtZmc6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKTstLXQtYmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKTstLXQtaWM6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKX0uYWwtY2hpcHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2hlaWdodDoyMnB4O3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS0yKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1zbSk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS10LWJkKTtiYWNrZ3JvdW5kOnZhcigtLXQtYmcpO2NvbG9yOnZhcigtLXQtZmcpO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1jaGlwIC5hbC1pY29ue2NvbG9yOnZhcigtLXQtaWMpfS5hbC1jaGlwLWRldGFpbHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7cGFkZGluZy1sZWZ0OnZhcigtLWFsLXNwYWNlLTEpfS5hbC1pZGx7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtoZWlnaHQ6MjJweDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQ7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWlkbC1zZWxmZGVjbGFyZWR7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS1zZWxmZGVjbGFyZWQtYmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1mZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWlkZW50aXR5LXNlbGZkZWNsYXJlZC1ib3JkZXIpO2JvcmRlci1zdHlsZTpkYXNoZWR9LmFsLWlkbC1jaGVja2Vke2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYm9yZGVyKX0uYWwtaWRsLXJlZ2lzdGVyZWR7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS1yZWdpc3RlcmVkLWZnKTtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItaWRlbnRpdHktcmVnaXN0ZXJlZC1ib3JkZXIpfS5hbC1pZGwtdmVyaWZpZWR7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItaWRlbnRpdHktdmVyaWZpZWQtZmcpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS12ZXJpZmllZC1ib3JkZXIpfS5hbC1pZGwtd2FybmluZ3tiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctYmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWlkZW50aXR5LXdhcm5pbmctZmcpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1pZGVudGl0eS13YXJuaW5nLWJvcmRlcil9LmFsLWlkbC1wdW55LC5hbC1pZGwtZGF0ZXtvcGFjaXR5Oi44NTtwYWRkaW5nLWxlZnQ6dmFyKC0tYWwtc3BhY2UtMSl9LmFsLWZwe2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtZnAgY29kZXtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteHMpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KX0uYWwtY25hbWV7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtmbGV4LXdyYXA6d3JhcDttaW4td2lkdGg6MDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1jbmFtZS10ZXh0e2ZvbnQtd2VpZ2h0OnZhcigtLWFsLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21heC13aWR0aDoyNGNoO292ZXJmbG93OmhpZGRlbn0uYWwtY25hbWUtYWxpYXMgLmFsLWNuYW1lLXRleHR7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtZm9udC13ZWlnaHQtbWVkaXVtKX0uYWwtYXZhdGFye2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTt3aWR0aDozMnB4O2hlaWdodDozMnB4O2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtmbGV4Om5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtc2N7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC13aWR0aDo0NDBweDtkaXNwbGF5OmZsZXh9LmFsLXNjIHB7bWFyZ2luOjB9LmFsLXNjLWhlYWR7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZGlzcGxheTpmbGV4fS5hbC1zYy1jb2Rle2dhcDp2YXIoLS1hbC1zcGFjZS00KTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5OmZsZXh9LmFsLXNjLmlzLW1hdGNoZWQgLmFsLXNjLWNvZGV7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJvcmRlcil9LmFsLXNjLmlzLW1pc21hdGNoIC5hbC1zYy1jb2Rle2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLXN1YnRsZSk7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0uYWwtc2MuaXMtY2hhbmdlZCAuYWwtc2MtaGVhZHtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1mZyl9LmFsLXNjLWFjdGlvbnN7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2Rpc3BsYXk6ZmxleH0uYWwtc2Mtb2t7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnKTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1zYy1zdG9we2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJnKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWJvcmRlcik7ZGlzcGxheTpmbGV4fS5hbC1zYy1zdG9wPi5hbC1pY29ue2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb24pO21hcmdpbi10b3A6MnB4fS5hbC1zYy1zdG9wIHB7bWFyZ2luOjAgMCB2YXIoLS1hbC1zcGFjZS0xKX0uYWwtY29udGFjdHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLWJvdHRvbTp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXh9LmFsLWNvbnRhY3QtbWFpbntnYXA6dmFyKC0tYWwtc3BhY2UtMSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXh9LmFsLWNvbnRhY3QtbWV0YXtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYWwtY29udGFjdC1tZXRhPnNwYW57YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1jb250YWN0LXNpZGV7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmFsLWNvbnRhY3QuaXMtYmxvY2tlZCwuYWwtY29udGFjdC5pcy1yZXZva2Vke29wYWNpdHk6Ljd9LmFsLXVudHJ1c3RlZHtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaWNrKSBkYXNoZWQgdmFyKC0tYWwtY29sb3ItdW50cnVzdGVkLWJvcmRlcik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItdW50cnVzdGVkLWJnKTttYXJnaW46MDtvdmVyZmxvdzpoaWRkZW59LmFsLXVudHJ1c3RlZC1sYWJlbHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMSkgdmFyKC0tYWwtc3BhY2UtMyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci11bnRydXN0ZWQtbGFiZWwtYmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXVudHJ1c3RlZC1sYWJlbC1mZyk7Ym9yZGVyLWJvdHRvbTp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgZGFzaGVkIHZhcigtLWFsLWNvbG9yLXVudHJ1c3RlZC1ib3JkZXIpO2Rpc3BsYXk6ZmxleH0uYWwtdW50cnVzdGVkLWtpbmR7bWFyZ2luLWxlZnQ6YXV0b30uYWwtdW50cnVzdGVkLmlzLXVua25vd24gLmFsLXVudHJ1c3RlZC1sYWJlbHtmb250LXdlaWdodDp2YXIoLS1hbC1mb250LXdlaWdodC1zZW1pYm9sZCl9LmFsLXVudHJ1c3RlZC1ib2R5e3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItdW50cnVzdGVkLWZnKTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5hbC1pbmVydC1saW5re3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS0xKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy14cyk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci11bnRydXN0ZWQtYm9yZGVyKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOnZhcigtLWFsLWNvbG9yLXVudHJ1c3RlZC1mZyk7Y3Vyc29yOm5vdC1hbGxvd2VkO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2ZvbnQtc2l6ZToxMnB4O2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy0yKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTttYXgtd2lkdGg6NDQwcHg7b3ZlcmZsb3c6aGlkZGVufS5hbC1hcHByb3ZhbHtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hbC1hcHByb3ZhbCBoMiwuYWwtY29tbWl0IGgye291dGxpbmU6bm9uZTttYXJnaW46MH0uYWwtYXBwcm92YWwtdG9we2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5hbC1hcHByb3ZhbC10eXBle2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMSk7Y29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKTtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1hcHByb3ZhbC1leHB7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0xKTttYXJnaW4tbGVmdDphdXRvO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWFwcHJvdmFsLXJvd3N7Z2FwOnZhcigtLWFsLXNwYWNlLTIpIHZhcigtLWFsLXNwYWNlLTMpO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxMTJweCAxZnI7bWFyZ2luOjA7ZGlzcGxheTpncmlkfS5hbC1hcm93e2Rpc3BsYXk6Y29udGVudHN9LmFsLWFyb3cgZHR7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO3BhZGRpbmctdG9wOjJweH0uYWwtYXJvdyBkZHtnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowO2Rpc3BsYXk6ZmxleH0uYWwtYXBwcm92YWwtZXh0cmF7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmFsLWFwcHJvdmFsLWRldGFpbHMgc3VtbWFyeXtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLWFwcHJvdmFsLWRldGFpbHM-ZGl2e3BhZGRpbmctdG9wOnZhcigtLWFsLXNwYWNlLTIpfS5hbC1hcHByb3ZhbC1hY3Rpb25ze2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDEuNmZyO2Rpc3BsYXk6Z3JpZH0uYWwtYXBwcm92YWwtZm9vdHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtwYWRkaW5nLXRvcDp2YXIoLS1hbC1zcGFjZS0zKTtib3JkZXItdG9wOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTttYXJnaW46MDtkaXNwbGF5OmZsZXh9LmFsLWFzdGF0ZXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tdC1iZyk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS10LWJkKTtjb2xvcjp2YXIoLS10LWZnKTtkaXNwbGF5OmZsZXh9LmFsLWFzdGF0ZSAuYWwtYnRue21hcmdpbi1sZWZ0OmF1dG99LmFsLWFwcHJvdmFsLmlzLXdhaXRpbmcgLmFsLWFwcHJvdmFsLWFjdGlvbnN7b3BhY2l0eTouOX0uYWwtY29tbWl0e2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1jb21taXRtZW50LWJvcmRlcil9LmFsLWNvbW1pdC5pcy1yZWplY3R7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyKX0uYWwtY29tbWl0LWhlYWR7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNCkgdmFyKC0tYWwtc3BhY2UtNSk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1jb21taXRtZW50LWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1jb21taXRtZW50LWZnKTtib3JkZXItYm90dG9tOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1jb21taXRtZW50LWJvcmRlcik7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXh9LmFsLWNvbW1pdC1oZWFkIGgye2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpfS5hbC1jb21taXQuaXMtcmVqZWN0IC5hbC1jb21taXQtaGVhZHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcil9LmFsLWNvbW1pdC1oZWFkPi5hbC1pY29ue21hcmdpbi10b3A6MnB4fS5hbC1jb21taXQtdmFsaWR7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO3doaXRlLXNwYWNlOm5vd3JhcDthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLWxlZnQ6YXV0bztkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1jb21taXQtYm9keXtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpIDA7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmFsLWNvbW1pdC13aG97Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmFsLWNvbW1pdC1ob25lc3QsLmFsLWNvbW1pdC1wdWJsaWN7bWFyZ2luOjB9LmFsLWNvbW1pdD4uYWwtYXBwcm92YWwtYWN0aW9ucywuYWwtY29tbWl0Pi5hbC1hc3RhdGV7bWFyZ2luOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpIDB9LmFsLWNvbW1pdD4uYWwtYXBwcm92YWwtZm9vdHttYXJnaW46dmFyKC0tYWwtc3BhY2UtNCkgdmFyKC0tYWwtc3BhY2UtNSkgdmFyKC0tYWwtc3BhY2UtNSl9LmFsLWRpZmZ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3dpZHRoOjEwMCV9LmFsLWRpZmYgdGgsLmFsLWRpZmYgdGR7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyLWJvdHRvbTp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7dmVydGljYWwtYWxpZ246dG9wfS5hbC1kaWZmIHRoZWFkIHRoe2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKX0uYWwtZGlmZiB0Ym9keSB0aHt3aWR0aDozMCV9LmFsLWRpZmYtdGhlaXJze2NvbG9yOnZhcigtLWFsLWNvbG9yLXVudHJ1c3RlZC1sYWJlbC1mZyk7ZGlzcGxheTpibG9ja30uYWwtZGlmZi1vbGR7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctc3VidGxlKTt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdofS5hbC1kaWZmIHRyLmlzLWNoYW5nZWQgLmFsLWRpZmYtbmV3e2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItZGlmZi1jaGFuZ2VkLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtZmcpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDAgMCB2YXIoLS1hbC1jb2xvci1kaWZmLWNoYW5nZWQtYm9yZGVyKX0uYWwtZGlmZiB0ci5pcy1hZGRlZCAuYWwtZGlmZi1uZXd7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1kaWZmLWFkZGVkLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1kaWZmLWFkZGVkLWZnKTtib3gtc2hhZG93Omluc2V0IDJweCAwIDAgdmFyKC0tYWwtY29sb3ItZGlmZi1hZGRlZC1ib3JkZXIpfS5hbC1kaWZmIHRyLmlzLXJlbW92ZWQgLmFsLWRpZmYtbmV3e2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItZGlmZi1yZW1vdmVkLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtZmcpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDAgMCB2YXIoLS1hbC1jb2xvci1kaWZmLXJlbW92ZWQtYm9yZGVyKX0uYWwtZGlmZi1zaWdue3dpZHRoOjEuMmNoO21hcmdpbi1yaWdodDp2YXIoLS1hbC1zcGFjZS0xKTtkaXNwbGF5OmlubGluZS1ibG9ja30uYWwtcHJvb2Z7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtoZWlnaHQ6MjRweDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItcHJvb2YtYmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXByb29mLWZnKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLXByb29mLWJvcmRlcik7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLXByb29mIC5hbC1pY29ue2NvbG9yOnZhcigtLWFsLWNvbG9yLXByb29mLXNlYWwpfS5hbC1wcm9vZi10aW1le2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKX0uYWwtcHJvb2YuaXMtZmFpbGVke2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItYm9yZGVyKX0uYWwtcHJvb2YuaXMtZmFpbGVkIC5hbC1pY29ue2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbil9LmFsLXByb29mLmlzLXdhaXRpbmd7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZmcpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZmcpfS5hbC1wcm9vZi5pcy13YWl0aW5nIC5hbC1pY29ue2NvbG9yOnZhcigtLWFsLWNvbG9yLWFjY2VudC1mZyl9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Knt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fX0uYWwtcnR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTpmbGV4fS5hbC1ydC1zdGVwe2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0yKSAwO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyOHB4IDFmciBhdXRvO2Rpc3BsYXk6Z3JpZDtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtcnQtc3RlcDpub3QoOmxhc3QtY2hpbGQpOmFmdGVye2NvbnRlbnQ6IiI7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7d2lkdGg6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDozNHB4O2JvdHRvbTotNnB4O2xlZnQ6MTNweH0uYWwtcnQtc3RlcC5pcy1kb25lOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1wcm9vZi1ib3JkZXIpfS5hbC1ydC1kb3R7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtZnVsbCk7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpY2spIGRhc2hlZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLXN1YnRsZSk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1jYW52YXMpO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLXJ0LXN0ZXAuaXMtZG9uZSAuYWwtcnQtZG90e2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItcHJvb2YtYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXByb29mLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1wcm9vZi1zZWFsKX0uYWwtcnQtc3RlcC5pcy1kb25lLmlzLWZyZWUgLmFsLXJ0LWRvdHtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpfS5hbC1ydC1zdGVwLmlzLXJlamVjdGVkLmlzLWRvbmUgLmFsLXJ0LWRvdHtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWJnKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1pY29uKX0uYWwtcnQtc3RlcC5pcy1wZW5kaW5nIC5hbC1ydC1sYWJlbCwuYWwtcnQtdGltZXtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLWNvc3R7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtoZWlnaHQ6MjRweDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC1jb3N0LmlzLWZyZWV7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtZmcpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1ib3JkZXIpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtYmcpfS5hbC1jcmVkaXRze2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTttYXgtd2lkdGg6MzYwcHg7ZGlzcGxheTpmbGV4fS5hbC1jcmVkaXRzIHB7bWFyZ2luOjB9LmFsLWNyZWRpdHMtdG9we2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2Rpc3BsYXk6ZmxleH0uYWwtY3JlZGl0cy1iYWx7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uYWwtY3JlZGl0cy1iYXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMteHMpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtoZWlnaHQ6NnB4O292ZXJmbG93OmhpZGRlbn0uYWwtY3JlZGl0cy1maWxse2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9LmFsLWNyZWRpdHMuaXMtcmVhY2hlZCAuYWwtY3JlZGl0cy1maWxse2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctaWNvbil9LmFsLWNyZWRpdHMtZm9vdHtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtkaXNwbGF5OmZsZXh9LmFsLWNyZWRpdHMuaXMtbG93IC5hbC1jcmVkaXRzLWJhbCwuYWwtY3JlZGl0cy5pcy1lbXB0eSAuYWwtY3JlZGl0cy1iYWx7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctZmcpfS5hbC1maWxle2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JveC1zaXppbmc6Ym9yZGVyLWJveDthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXh9LmFsLWZpbGUtaWN7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtmbGV4Om5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtZmlsZS1tYWlue2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7Z2FwOjJweDttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXh9LmFsLWZpbGUtbmFtZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtvdmVyZmxvdzpoaWRkZW59LmFsLWZpbGUtbWV0YXtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5hbC1maWxlLXNpZGV7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1maWxlLmlzLWZhaWxlZHtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1ib3JkZXIpfS5hbC1maWxlLmlzLWZhaWxlZCAuYWwtZmlsZS1pY3tjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb24pfS5hbC1maWxlLWJhZHtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnKX0uYWwtY29weXtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0uYWwtY29weS5pcy1oZXJve2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZmcpfS5hbC1jb3B5LWhlYWR7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0xKSB2YXIoLS1hbC1zcGFjZS0xKSB2YXIoLS1hbC1zcGFjZS0xKSB2YXIoLS1hbC1zcGFjZS0zKTtib3JkZXItYm90dG9tOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5hbC1jb3B5LXRpdGxle2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWNvcHktYm9keXtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpO3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7bWFyZ2luOjB9LmFsLWNvcHkuaXMtaGVybyAuYWwtY29weS1ib2R5e2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIycHh9LmFsLWNvcHktcHN7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3ludGF4LWtleXdvcmQpfS5hbC1jb3B5LW5vdGV7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTMpO21hcmdpbjowfS5hbC1zZWNyZXR7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6NDQwcHg7ZGlzcGxheTpmbGV4fS5hbC1zZWNyZXQgcHttYXJnaW46MH0uYWwtc2VjcmV0LWhlYWR7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2Rpc3BsYXk6ZmxleH0uYWwtc2VjcmV0LXZhbHtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6dmFyKC0tYWwtc3BhY2UtMikgdmFyKC0tYWwtc3BhY2UtNCk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxhdXRvKTtmb250LXNpemU6MjBweDtkaXNwbGF5OmdyaWR9LmFsLXNlY3JldC1hY3Rpb25ze2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9LmFsLWJhbm5lcntnYXA6dmFyKC0tYWwtc3BhY2UtMyk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0zKSB2YXIoLS1hbC1zcGFjZS00KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS10LWJnKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLXQtYmQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2JveC1zaXppbmc6Ym9yZGVyLWJveDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4fS5hbC1iYW5uZXI-LmFsLWljb257Y29sb3I6dmFyKC0tdC1pYyk7bWFyZ2luLXRvcDoycHh9LmFsLWJhbm5lciBzdHJvbmd7Y29sb3I6dmFyKC0tdC1mZyk7Zm9udC13ZWlnaHQ6dmFyKC0tYWwtZm9udC13ZWlnaHQtc2VtaWJvbGQpfS5hbC1iYW5uZXItdGV4dHtmbGV4OjF9LmFsLWJhbm5lci1hY3R7ZmxleDpub25lfS5hbC1iYW5uZXIuaXMtY29tcGFjdHtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTIpIHZhcigtLWFsLXNwYWNlLTMpfS5hbC10b2FzdHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdHJvbmcpO2JveC1zaGFkb3c6dmFyKC0tYWwtc2hhZG93LTQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO21heC13aWR0aDo0NDBweDtkaXNwbGF5OmlubGluZS1mbGV4fS5hbC10b2FzdD4uYWwtaWNvbntjb2xvcjp2YXIoLS10LWljKX0uYWwtdG9hc3QtYWN0e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWxpbmspO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7cGFkZGluZzowO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmFsLXRvYXN0LXh7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWVtcHR5e2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS04KSB2YXIoLS1hbC1zcGFjZS01KTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIGRhc2hlZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXh9LmFsLWVtcHR5IHB7bWFyZ2luOjB9LmFsLWVtcHR5LWlje2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWVtcHR5LXRyeXtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTEpIHZhcigtLWFsLXNwYWNlLTMpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9LmFsLXNoZWxse2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLWNhbnZhcyk7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctMyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59LmFsLXdpbi1iYXJ7aGVpZ2h0OjMycHg7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTMpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Ym9yZGVyLWJvdHRvbTp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtmbGV4Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYWwtd2luLWRvdHN7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLXdpbi1kb3RzIGl7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS5hbC13aW4tdGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7ZmxleDoxfS5hbC13aW4tYmFyLmlzLXdpbmRvd3MgLmFsLXdpbi10aXRsZSwuYWwtd2luLWJhci5pcy1saW51eCAuYWwtd2luLXRpdGxle3RleHQtYWxpZ246bGVmdH0uYWwtd2luLWN0cmxze2dhcDp2YXIoLS1hbC1zcGFjZS00KTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtd2luLW1heHtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIGN1cnJlbnRDb2xvcjt3aWR0aDoxMHB4O2hlaWdodDoxMHB4fS5hbC1zaGVsbC1tYWlue2ZsZXg6MTttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4fS5hbC1zaWRle3dpZHRoOnZhcigtLWFsLWxheW91dC1zaWRlYmFyLXdpZHRoKTtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS0zKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JvcmRlci1yaWdodDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDpub25lO2Rpc3BsYXk6ZmxleH0uYWwtc2lkZS1icmFuZHtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMikgdmFyKC0tYWwtc3BhY2UtMil9LmFsLXNpZGUgdWx7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxcHg7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmZsZXh9LmFsLWFnZW50LXN3aXRjaHthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmxlZnQ7ZGlzcGxheTpmbGV4fS5hbC1hZ2VudC1zd2l0Y2ggc3BhbntmbGV4OjF9LmFsLW5hdnthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2hlaWdodDp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpO3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS0yKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO3otaW5kZXg6MTt0ZXh0LWRlY29yYXRpb246bm9uZTtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmFsLW5hdjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9LmFsLW5hdi13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlfS5hbC1uYXYtc2xpZGVye2hlaWdodDp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1zdWJ0bGUpO29wYWNpdHk6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpLCBvcGFjaXR5IHZhcigtLWFsLWR1cmF0aW9uLWZhc3QpIHZhcigtLWFsLWVhc2luZy1zdGFuZGFyZCk7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uYWwtbmF2LXNsaWRlcjpiZWZvcmV7Y29udGVudDoiIjtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTt3aWR0aDoycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjZweDtib3R0b206NnB4O2xlZnQ6MH0uYWwtbmF2LXdyYXBbZGF0YS1hY3RpdmU9IjAiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygwICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSIxIl0gLmFsLW5hdi1zbGlkZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMSAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfS5hbC1uYXYtd3JhcFtkYXRhLWFjdGl2ZT0iMiJdIC5hbC1uYXYtc2xpZGVye29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDIgKiAodmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKSArIDFweCkpKX0uYWwtbmF2LXdyYXBbZGF0YS1hY3RpdmU9IjMiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygzICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSI0Il0gLmFsLW5hdi1zbGlkZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoNCAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfS5hbC1uYXYtd3JhcFtkYXRhLWFjdGl2ZT0iNSJdIC5hbC1uYXYtc2xpZGVye29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDUgKiAodmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKSArIDFweCkpKX0uYWwtbmF2LXdyYXBbZGF0YS1hY3RpdmU9IjYiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYyg2ICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSI3Il0gLmFsLW5hdi1zbGlkZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoNyAqICh2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpICsgMXB4KSkpfS5hbC1uYXYtd3JhcFtkYXRhLWFjdGl2ZT0iOCJdIC5hbC1uYXYtc2xpZGVye29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDggKiAodmFyKC0tYWwtc2l6ZS1jb250cm9sLW1kKSArIDFweCkpKX0uYWwtbmF2LXdyYXBbZGF0YS1hY3RpdmU9IjkiXSAuYWwtbmF2LXNsaWRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYyg5ICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSIxMCJdIC5hbC1uYXYtc2xpZGVye29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDEwICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9LmFsLW5hdi13cmFwW2RhdGEtYWN0aXZlPSIxMSJdIC5hbC1uYXYtc2xpZGVye29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDExICogKHZhcigtLWFsLXNpemUtY29udHJvbC1tZCkgKyAxcHgpKSl9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmFsLW5hdi1zbGlkZXJ7dHJhbnNpdGlvbjpub25lfX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtbmF2LXNsaWRlcnt0cmFuc2l0aW9uOm5vbmV9LmFsLW5hdi5pcy1hY3RpdmV7Y29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKX0uYWwtbmF2IHNwYW46Zmlyc3Qtb2YtdHlwZXtmbGV4OjF9LmFsLW5hdi1jb3VudHttaW4td2lkdGg6MThweDtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtMSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW9uLWFjY2VudCk7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MThweH0uYWwtY2hyb21le2JveC1zaXppbmc6Ym9yZGVyLWJveH0uYWwtc2hlbGwtYm9keXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6YXV0b30uYWwtdG9wYmFye3otaW5kZXg6MjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2hlaWdodDp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbGcpO3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS02KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxleDpub25lO2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpzdGlja3k7dG9wOjB9LmFsLXRvcGJhci10aXRsZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS5hbC10b3BiYXItZW5ke2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleDpub25lO2Rpc3BsYXk6ZmxleH0uYWwtdG9wYmFyIC5hbC1zd2l0Y2gtcm93e2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtib3JkZXItYm90dG9tOjA7cGFkZGluZzowfS5hbC1zaGVsbC1jb250ZW50e21pbi13aWR0aDowO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNik7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjEgMCBhdXRvO2Rpc3BsYXk6ZmxleH0uYWwtc3RhdHVzYmFye2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7aGVpZ2h0OjI0cHg7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTMpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7Ym9yZGVyLXRvcDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtmbGV4Om5vbmU7Zm9udC1zaXplOjExcHg7ZGlzcGxheTpmbGV4fS5hbC1zYi1pdGVte2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtc2Itc3BhY2Vye2ZsZXg6MX0uYWwtZG90e2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWZ1bGwpO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDo4cHg7aGVpZ2h0OjhweDtkaXNwbGF5OmlubGluZS1ibG9ja30uYWwtZG90LmlzLWNvbm5lY3RlZHtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb24pfS5hbC1kb3QuaXMtcGF1c2Vke2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpY2spIHNvbGlkIHZhcigtLWFsLWNvbG9yLXN0YXR1cy1uZXV0cmFsLWljb24pfS5hbC1kb3QuaXMtY2hlY2tpbmd7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1zdGF0dXMtbmV1dHJhbC1pY29uKX0uYWwtZG90LmlzLWRpc2Nvbm5lY3RlZCwuYWwtZG90LmlzLW9mZmxpbmV7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBkYXNoZWQgdmFyKC0tYWwtY29sb3Itc3RhdHVzLW5ldXRyYWwtaWNvbik7YmFja2dyb3VuZDowIDB9LmFsLWRvdC5pcy1ub3QtcnVubmluZ3tib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb24pO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgNDIlLCB2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1pY29uKSA0MiUgNTglLCB0cmFuc3BhcmVudCA1OCUpfS5hbC1kb3QuaXMtbmVlZHMtc2V0dXB7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCB2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCkgMzAlLCB0cmFuc3BhcmVudCAzNCUpfS5hbC1zYi1zdGF0ZXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2FuaW1hdGlvbjphbC1zYi1mYWRlIHZhcigtLWFsLWR1cmF0aW9uLWJhc2UpIHZhcigtLWFsLWVhc2luZy1zdGFuZGFyZCk7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtc2Itc3RhdGUgLmFsLWRvdHtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtc2Itc3RhdGUgLmFsLWRvdC5pcy1jb25uZWN0ZWQ6YWZ0ZXJ7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1mdWxsKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb24pO29wYWNpdHk6MDthbmltYXRpb246YWwtc2ItcHVsc2UgY2FsYyh2YXIoLS1hbC1kdXJhdGlvbi1zbG93KSAqIDEuNSkgdmFyKC0tYWwtZWFzaW5nLWVudGVyKSAxO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9QGtleWZyYW1lcyBhbC1zYi1mYWRlezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgYWwtc2ItcHVsc2V7MCV7b3BhY2l0eTouODt0cmFuc2Zvcm06c2NhbGUoMSl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyLjIpfX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuYWwtc2Itc3RhdGUsLmFsLXNiLXN0YXRlIC5hbC1kb3QuaXMtY29ubmVjdGVkOmFmdGVye2FuaW1hdGlvbjpub25lfX1AbWVkaWEgKHdpZHRoPD02MDBweCl7LmFsLXNoZWxsLW1haW57ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5hbC1zaWRle3dpZHRoOjEwMCU7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0yKSB2YXIoLS1hbC1zcGFjZS0zKTtib3JkZXItcmlnaHQ6MDtib3JkZXItdG9wOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7ZmxleC1kaXJlY3Rpb246cm93O29yZGVyOjI7Z2FwOjA7b3ZlcmZsb3cteDphdXRvfS5hbC1zaWRlLWJyYW5kLC5hbC1hZ2VudC1zd2l0Y2h7ZGlzcGxheTpub25lfS5hbC1uYXYtd3JhcHtmbGV4Om5vbmV9LmFsLXNpZGUgdWx7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2ZsZXgtZGlyZWN0aW9uOnJvd30uYWwtbmF2e2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO21pbi13aWR0aDo2NHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Zm9udC1zaXplOjExcHh9LmFsLW5hdiBzcGFuOmZpcnN0LW9mLXR5cGV7ZmxleDpub25lfS5hbC1uYXYtY291bnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDo2cHh9LmFsLW5hdi1jb3VudC5hbC1jb3VudHtwb3NpdGlvbjphYnNvbHV0ZX0uYWwtbmF2LXNsaWRlcntkaXNwbGF5Om5vbmV9LmFsLW5hdi5pcy1hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKX0uYWwtdG9wYmFye3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS00KX0uYWwtdG9wYmFyLWVuZHtnYXA6dmFyKC0tYWwtc3BhY2UtMyl9LmFsLXNoZWxsLWNvbnRlbnR7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KX19LmFsLXRyYXl7d2lkdGg6MjYwcHg7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0xKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctMil9LmFsLXRyYXkgdWx7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZX0uYWwtdHJheS1zdGF0dXN7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTIpIHZhcigtLWFsLXNwYWNlLTMpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtib3JkZXItYm90dG9tOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTttYXJnaW4tYm90dG9tOnZhcigtLWFsLXNwYWNlLTEpO2Rpc3BsYXk6ZmxleH0uYWwtdHJheS1pdGVte2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7aGVpZ2h0OjI4cHg7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTMpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXh9LmFsLXRyYXktaXRlbSBzcGFuOmZpcnN0LW9mLXR5cGV7ZmxleDoxfS5hbC10cmF5LWl0ZW06aG92ZXIsLmFsLXRyYXktaXRlbTpmb2N1c3tiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1vbi1hY2NlbnQpO291dGxpbmU6bm9uZX0uYWwtdHJheS1pdGVtOmhvdmVyIC5hbC1rYmQsLmFsLXRyYXktaXRlbTpob3ZlciAuYWwtbXV0ZWR7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOjAgMH0uYWwtdHJheS1zZXB7aGVpZ2h0OjFweDttYXJnaW46dmFyKC0tYWwtc3BhY2UtMSkgMDtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5hbC1idG4sLmFsLWNoaXAsLmFsLWlkbCwuYWwtcHJvb2YsLmFsLWNvc3QsLmFsLWNhcmQsLmFsLXVudHJ1c3RlZCwuYWwtaW5wdXQtd3JhcCwuYWwtc3dpdGNoLC5hbC1zZWcsLmFsLW5hdi5pcy1hY3RpdmV7Zm9yY2VkLWNvbG9yLWFkanVzdDphdXRvO2JvcmRlcjoxcHggc29saWQgY2FudmFzdGV4dH0uYWwtc2VnOmJlZm9yZXtib3JkZXI6MXB4IHNvbGlkIGhpZ2hsaWdodH0uYWwtYnRuLXByaW1hcnl7Y29sb3I6aGlnaGxpZ2h0dGV4dDtiYWNrZ3JvdW5kOmhpZ2hsaWdodH0uYWwtbWFyay1pbmssLmFsLW1hcmstc2VhbCwuYWwtd29yZG1hcmt7ZmlsbDpjYW52YXN0ZXh0fX0uYWwtc3Itb25seXtjbGlwLXBhdGg6aW5zZXQoNTAlKTt3aGl0ZS1zcGFjZTpub3dyYXA7Ym9yZGVyOjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO292ZXJmbG93OmhpZGRlbn0uYWwtYnRuLW1ke2hlaWdodDp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbWQpfS5hbC1idG4tc2Vjb25kYXJ5e2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKX0uYWwtY25hbWUtcmVzdHJpY3RlZCAuYWwtY25hbWUtdGV4dCwuYWwtY25hbWUtdW5rbm93biAuYWwtY25hbWUtdGV4dHtmb250LXdlaWdodDp2YXIoLS1hbC1mb250LXdlaWdodC1yZWd1bGFyKX0uYWwtY25hbWUtdW5rbm93bntjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLWNvbnRhY3QtbmFtZXttaW4td2lkdGg6MH0uYWwtY29udGFjdC5pcy1mbGFnZ2VkLC5hbC1jb250YWN0LmlzLW1pc21hdGNoe2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYmcpfS5hbC1jb21taXQtcHVibGlje21hcmdpbjowfS5hbC1jb3B5LWNtZHtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5hbC1kaXNjbG9zdXJle2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJnKTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWJvcmRlcik7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWluZm8tZmcpO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTpmbGV4fS5hbC1kaXNjbG9zdXJlPi5hbC1pY29ue2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1pbmZvLWljb24pO2ZsZXg6bm9uZTttYXJnaW4tdG9wOjJweH0uYWwtZGlzY2xvc3VyZSBwe21hcmdpbjowIDAgdmFyKC0tYWwtc3BhY2UtMil9LmFsLWRpc2Nsb3N1cmUgcDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uYWwtZGlzY2xvc3VyZS1saW5le2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO21hcmdpbjowfS5hbC1yZW1lbWJlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5hbC1yZW1lbWJlcj5zcGFue2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hbC1maWxlLXJlbW92YWx7bWFyZ2luLXRvcDp2YXIoLS1hbC1zcGFjZS0xKX0uYWwtZmlsZS5pcy1yZW1vdmVke29wYWNpdHk6Ljd9LmFsLXJ0LXN0ZXAuaXMtYnktcmVjaXBpZW50IC5hbC1ydC1kb3R7b3BhY2l0eTouNztib3JkZXItc3R5bGU6ZG90dGVkfS5hbC1ydC1zdGVwLmlzLWJ5LXJlY2lwaWVudCAuYWwtcnQtbGFiZWx7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpfS5hbC1sb2NrdXAtaG9yaXpvbnRhbHtmbGV4LWRpcmVjdGlvbjpyb3d9LmFsLXBjdC0we3dpZHRoOjAlfS5hbC1wY3QtNXt3aWR0aDo1JX0uYWwtcGN0LTEwe3dpZHRoOjEwJX0uYWwtcGN0LTE1e3dpZHRoOjE1JX0uYWwtcGN0LTIwe3dpZHRoOjIwJX0uYWwtcGN0LTI1e3dpZHRoOjI1JX0uYWwtcGN0LTMwe3dpZHRoOjMwJX0uYWwtcGN0LTM1e3dpZHRoOjM1JX0uYWwtcGN0LTQwe3dpZHRoOjQwJX0uYWwtcGN0LTQ1e3dpZHRoOjQ1JX0uYWwtcGN0LTUwe3dpZHRoOjUwJX0uYWwtcGN0LTU1e3dpZHRoOjU1JX0uYWwtcGN0LTYwe3dpZHRoOjYwJX0uYWwtcGN0LTY1e3dpZHRoOjY1JX0uYWwtcGN0LTcwe3dpZHRoOjcwJX0uYWwtcGN0LTc1e3dpZHRoOjc1JX0uYWwtcGN0LTgwe3dpZHRoOjgwJX0uYWwtcGN0LTg1e3dpZHRoOjg1JX0uYWwtcGN0LTkwe3dpZHRoOjkwJX0uYWwtcGN0LTk1e3dpZHRoOjk1JX0uYWwtcGN0LTEwMHt3aWR0aDoxMDAlfS5hbC1ydntnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC13aWR0aDo0OHJlbTtkaXNwbGF5OmZsZXh9LmFsLXJ2LWhlYWR7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmFsLXJ2LWhlYWQgaDE6Zm9jdXN7b3V0bGluZTpub25lfS5hbC1ydi1saXN0e2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmZsZXh9LmFsLXJ2LWVtcHR5LC5hbC1ydi1tb3Jle21hcmdpbjowfS5hbC1ydi1jaG9pY2V7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2JvcmRlcjowO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO21pbi13aWR0aDowO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmdyaWR9LmFsLXJ2LW9wdHtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMik7bWluLWhlaWdodDoyLjc1cmVtO3BhZGRpbmc6MCB2YXIoLS1hbC1zcGFjZS0zKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleH0uYWwtcnYtb3B0OmhhcyhpbnB1dDpjaGVja2VkKXtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCk7Zm9udC13ZWlnaHQ6NjAwfS5hbC1ydi1vcHQ6aGFzKGlucHV0OmZvY3VzLXZpc2libGUpe291dGxpbmU6dmFyKC0tYWwtZm9jdXMtcmluZy13aWR0aCkgc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6dmFyKC0tYWwtZm9jdXMtcmluZy1vZmZzZXQpfS5hbC1ydi1vcHQ6aGFzKGlucHV0OmRpc2FibGVkKXtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNn0uYWwtcnYtY29uZmlybXtnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uYWwtcnYtY29uZmlybSBwe21hcmdpbjowfUBtZWRpYSAod2lkdGg8PTQ4MHB4KXsuYWwtcnYtY2hvaWNle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fS5hbC1ydi1pdGVte21pbi13aWR0aDowO21hcmdpbjowfS5hbC1wYXktb3ZlcmxheXt6LWluZGV4OnZhcigtLWFsLXotbW9kYWwpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctb3ZlcmxheSk7YW5pbWF0aW9uOmFsLXBheS1mYWRlIHZhcigtLWFsLWR1cmF0aW9uLWJhc2UpIGVhc2Utb3V0IGJvdGg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoxNnB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpmaXhlZDtpbnNldDowfUBzdXBwb3J0cyAoKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMXB4KSkgb3IgKGJhY2tkcm9wLWZpbHRlcjpibHVyKDFweCkpKXsuYWwtcGF5LW92ZXJsYXl7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCl9fS5hbC1wYXktc2hlZXR7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7d2lkdGg6MTAwJTttYXgtd2lkdGg6NDAwcHg7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMzJweCk7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctNCk7YW5pbWF0aW9uOmFsLXBheS1yaXNlIHZhcigtLWFsLWR1cmF0aW9uLXNsb3cpIHZhcigtLWFsLWVhc2luZy1lbXBoYXNpemVkKSBib3RoO2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjI0cHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3cteTphdXRvfS5hbC1wYXktc2hlZXQ6Zm9jdXN7b3V0bGluZTpub25lfS5hbC1wYXktZ3JhYntkaXNwbGF5Om5vbmV9LmFsLXBheS10aXRsZXttYXJnaW46MCAwIDhweDtmb250LXNpemU6MTdweDtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MjRweH0uYWwtcGF5LXRpdGxlOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6MnB4fS5hbC1wYXktYW1vdW50e2xldHRlci1zcGFjaW5nOi0uMDI1ZW07Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO21hcmdpbjowIDAgMTZweDtmb250LXNpemU6NDBweDtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6NDRweH0uYWwtcGF5LXJvd3N7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gMWZyO2dhcDo4cHggMTZweDttYXJnaW46MCAwIDE2cHg7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweDtkaXNwbGF5OmdyaWR9LmFsLXBheS1yb3dzIGR0e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKX0uYWwtcGF5LXJvd3MgZGR7dGV4dC1hbGlnbjpyaWdodDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO21hcmdpbjowfS5hbC1wYXktb2xke2NvbG9yOnZhcigtLWFsLWNvbG9yLWRpZmYtcmVtb3ZlZC1mZyk7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0uYWwtcGF5LW5ld3tjb2xvcjp2YXIoLS1hbC1jb2xvci1kaWZmLWFkZGVkLWZnKTtmb250LXdlaWdodDo2MDB9LmFsLXBheS1hcnJvd3tjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1zdWJ0bGUpfS5hbC1wYXktdHJ1c3R7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO21hcmdpbjowIDAgMTZweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS5hbC1wYXktdHJ1c3QgcHttYXJnaW46MCAwIDRweH0uYWwtcGF5LXJlbWVtYmVye2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjhweDttYXJnaW46MCAwIDE2cHg7ZGlzcGxheTpmbGV4fS5hbC1wYXktcmVtZW1iZXIgLmFsLWZpZWxkLWhpbnR7ZGlzcGxheTpibG9ja30uYWwtcGF5LXN0YXR1c3tmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWluLWhlaWdodDoyMHB4O21hcmdpbjowIDAgMTJweDtkaXNwbGF5OmZsZXh9LmFsLXBheS1saXZle3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowfS5hbC1wYXktYWxlcnR7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpO2FsaWduLXNlbGY6c3RyZXRjaDttYXJnaW46MDtwYWRkaW5nOjhweCAxMnB4fS5hbC1wYXktYWN0aW9uc3tmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtkaXNwbGF5OmZsZXh9LmFsLXBheS1hY3Rpb25zIC5hbC1idG57bWluLWhlaWdodDo0NHB4fS5hbC1wYXktbGlua3ttaW4taGVpZ2h0OjQ0cHg7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2FsaWduLXNlbGY6Y2VudGVyO2ZvbnQtc2l6ZToxM3B4fS5hbC1wYXktcmluZ3t3aWR0aDo0OHB4O2hlaWdodDo0OHB4O292ZXJmbG93OnZpc2libGV9LmFsLXBheS1yaW5nIGNpcmNsZSwuYWwtcGF5LXJpbmcgcGF0aHtmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjIuNXB4O3N0cm9rZS1saW5lY2FwOnJvdW5kfS5hbC1wYXktcmluZy10cmFja3tzdHJva2U6dmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpfS5hbC1wYXktcmluZy1hcmN7c3Ryb2tlOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTtzdHJva2UtZGFzaGFycmF5OjEwMDtzdHJva2UtZGFzaG9mZnNldDo3NXB4O3RyYW5zZm9ybS1vcmlnaW46MjRweCAyNHB4fS5hbC1wYXktcmluZ1tkYXRhLXN0YXRlPXdhaXRpbmddIC5hbC1wYXktcmluZy1hcmN7c3Ryb2tlLWRhc2hvZmZzZXQ6MTAwcHh9LmFsLXBheS1yaW5nW2RhdGEtc3RhdGU9d2FpdGluZ117YW5pbWF0aW9uOmFsLXBheS1icmVhdGhlIHZhcigtLWFsLWR1cmF0aW9uLWFtYmllbnQpIGVhc2UtaW4tb3V0IGluZmluaXRlfS5hbC1wYXktcmluZ1tkYXRhLXN0YXRlPXJlY29yZGluZ10gLmFsLXBheS1yaW5nLWFyY3thbmltYXRpb246YWwtcGF5LXN3ZWVwIHZhcigtLWFsLWR1cmF0aW9uLWFtYmllbnQtc3dlZXApIGxpbmVhciBpbmZpbml0ZX0uYWwtcGF5LXJpbmdbZGF0YS1zdGF0ZT1kb25lXSAuYWwtcGF5LXJpbmctYXJje3N0cm9rZTp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZyk7c3Ryb2tlLWRhc2hvZmZzZXQ6MDthbmltYXRpb246YWwtcGF5LWNsb3NlIHZhcigtLWFsLWR1cmF0aW9uLW1vbWVudCkgdmFyKC0tYWwtZHVyYXRpb24tbW9tZW50KSBib3RoO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tYWwtZWFzaW5nLWVtcGhhc2l6ZWQpfS5hbC1wYXktY2hlY2t7c3Ryb2tlOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWZnKTtzdHJva2UtZGFzaGFycmF5OjEwMDtzdHJva2UtZGFzaG9mZnNldDowO2FuaW1hdGlvbjphbC1wYXktZHJhdyB2YXIoLS1hbC1kdXJhdGlvbi1tb21lbnQpIHZhcigtLWFsLWVhc2luZy1lbXBoYXNpemVkKSBib3RofUBrZXlmcmFtZXMgYWwtcGF5LWZhZGV7MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyBhbC1wYXktcmlzZXswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTZweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIGFsLXBheS1icmVhdGhlezAlLHRve29wYWNpdHk6LjQ1O3RyYW5zZm9ybTpzY2FsZSguOTYpfTUwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGFsLXBheS1zd2VlcHswJXt0cmFuc2Zvcm06cm90YXRlKDApfXRve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBhbC1wYXktY2xvc2V7MCV7c3Ryb2tlLWRhc2hvZmZzZXQ6NzVweH10b3tzdHJva2UtZGFzaG9mZnNldDowfX1Aa2V5ZnJhbWVzIGFsLXBheS1kcmF3ezAle3N0cm9rZS1kYXNob2Zmc2V0OjEwMHB4fXRve3N0cm9rZS1kYXNob2Zmc2V0OjB9fUBtZWRpYSAod2lkdGg8PTU5OXB4KXsuYWwtcGF5LW92ZXJsYXl7YWxpZ24taXRlbXM6ZmxleC1lbmQ7cGFkZGluZzowfS5hbC1wYXktc2hlZXR7Ym9yZGVyLXJhZGl1czoxNnB4IDE2cHggMCAwO21heC13aWR0aDpub25lO21heC1oZWlnaHQ6MTAwdmh9LmFsLXBheS1ncmFie2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6MnB4O3dpZHRoOjM2cHg7aGVpZ2h0OjRweDttYXJnaW46LTEycHggYXV0byAxMnB4O2Rpc3BsYXk6YmxvY2t9fS5hbC1wYXktc2hlZXRbZGF0YS1tb3Rpb249cmVkdWNlZF0sLmFsLXBheS1zaGVldFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAqe3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fS5hbC1wYXktb3ZlcmxheTpoYXMoLmFsLXBheS1zaGVldFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSl7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudDthbmltYXRpb246bm9uZSFpbXBvcnRhbnR9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmFsLXBheS1vdmVybGF5LC5hbC1wYXktc2hlZXQsLmFsLXBheS1zaGVldCAqe3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fS5hbC1wYXktcmluZ1tkYXRhLXN0YXRlPXJlY29yZGluZ10gLmFsLXBheS1yaW5nLWFyY3tzdHJva2UtZGFzaG9mZnNldDo1MHB4fS5hbC1wYXktcmluZ1tkYXRhLXN0YXRlPXdhaXRpbmddIC5hbC1wYXktcmluZy1hcmN7c3Ryb2tlLWRhc2hvZmZzZXQ6MTAwcHh9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLXRyYW5zcGFyZW5jeTpyZWR1Y2Upey5hbC1wYXktb3ZlcmxheXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsuYWwtcGF5LXNoZWV0e2JvcmRlcjoxcHggc29saWQgY2FudmFzdGV4dH0uYWwtcGF5LXJpbmcgY2lyY2xlLC5hbC1wYXktcmluZyBwYXRoe3N0cm9rZTpjYW52YXN0ZXh0fX0uYWwtcGF5LXJvd3tkaXNwbGF5OmNvbnRlbnRzfS5hbC1wYXktY29kZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtkaXNwbGF5OmZsZXh9LmFsLXBheS1saW5re2N1cnNvcjpwb2ludGVyO3RleHQtdW5kZXJsaW5lLW9mZnNldDoycHg7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7cGFkZGluZzowIDhweDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5hbC1wYXktbGluazpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWZvY3VzLXJpbmcpO291dGxpbmUtb2Zmc2V0OjJweH0uYWwtc3VyZmFjZXtpc29sYXRpb246aXNvbGF0ZTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy14bCk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtc3VyZmFjZS0tbDB7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1jYW52YXMpO2JveC1zaGFkb3c6dmFyKC0tYWwtc2hhZG93LTApfS5hbC1zdXJmYWNlLS1sMXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCB2YXIoLS1hbC1oaWdobGlnaHQtdG9wKSwgdmFyKC0tYWwtc2hhZG93LTEpfS5hbC1zdXJmYWNlLS1sMntiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHZhcigtLWFsLWhpZ2hsaWdodC10b3AtcmFpc2VkKSwgdmFyKC0tYWwtc2hhZG93LTIpfS5hbC1zdXJmYWNlLS1sM3tiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCB2YXIoLS1hbC1oaWdobGlnaHQtdG9wLXJhaXNlZCksIHZhcigtLWFsLXNoYWRvdy0zKX0uYWwtc3VyZmFjZS0tbDR7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgdmFyKC0tYWwtaGlnaGxpZ2h0LXRvcC1yYWlzZWQpLCB2YXIoLS1hbC1zaGFkb3ctNCl9LmFsLXN1cmZhY2UtLXJlY2Vzc2Vke2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy0wKX0uYWwtc3VyZmFjZS0taW50ZXJhY3RpdmU6YmVmb3Jle2NvbnRlbnQ6IiI7ei1pbmRleDotMTtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5LHRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLWFsLWR1cmF0aW9uLWZhc3QpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWFsLWVhc2luZy1zdGFuZGFyZCk7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MH0uYWwtc3VyZmFjZS0tbDAuYWwtc3VyZmFjZS0taW50ZXJhY3RpdmU6YmVmb3JlLC5hbC1zdXJmYWNlLS1yZWNlc3NlZC5hbC1zdXJmYWNlLS1pbnRlcmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgdmFyKC0tYWwtaGlnaGxpZ2h0LXRvcCksIHZhcigtLWFsLXNoYWRvdy0xKX0uYWwtc3VyZmFjZS0tbDEuYWwtc3VyZmFjZS0taW50ZXJhY3RpdmU6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgdmFyKC0tYWwtaGlnaGxpZ2h0LXRvcC1yYWlzZWQpLCB2YXIoLS1hbC1zaGFkb3ctMil9LmFsLXN1cmZhY2UtLWwyLmFsLXN1cmZhY2UtLWludGVyYWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCB2YXIoLS1hbC1oaWdobGlnaHQtdG9wLXJhaXNlZCksIHZhcigtLWFsLXNoYWRvdy0zKX0uYWwtc3VyZmFjZS0taW50ZXJhY3RpdmU6Zm9jdXMtd2l0aGluOmJlZm9yZSwuYWwtc3VyZmFjZS0taW50ZXJhY3RpdmU6Zm9jdXMtdmlzaWJsZTpiZWZvcmV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfUBtZWRpYSAoaG92ZXI6aG92ZXIpey5hbC1zdXJmYWNlLS1pbnRlcmFjdGl2ZTpob3ZlcjpiZWZvcmV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfX1AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7LmFsLXN1cmZhY2V7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KX19OnJvb3RbZGF0YS1jb250cmFzdD1tb3JlXSAuYWwtc3VyZmFjZXtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5hbC1zdXJmYWNle2JvcmRlci1jb2xvcjpjYW52YXN0ZXh0fS5hbC1zdXJmYWNlLS1pbnRlcmFjdGl2ZTpiZWZvcmV7Ym9yZGVyOjFweCBzb2xpZCBjYW52YXN0ZXh0fX0uYWwtc2hlZXR7ei1pbmRleDp2YXIoLS1hbC16LW92ZXJsYXkpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXhsKSAwIDAgdmFyKC0tYWwtcmFkaXVzLXhsKTt3aWR0aDptaW4oNDIwcHgsMTAwJSk7YW5pbWF0aW9uOmFsLXNoZWV0LWluIHZhcigtLWFsLWR1cmF0aW9uLXNsb3cpIHZhcigtLWFsLWVhc2luZy1lbnRlcikgYm90aDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmZpeGVkO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS5hbC1zaGVldC1oZWFke2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDtwYWRkaW5nOjE2cHggMjBweDtkaXNwbGF5OmZsZXh9LmFsLXNoZWV0LXRpdGxle291dGxpbmU6bm9uZTttYXJnaW46MH0uYWwtc2hlZXQtdGl0bGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTtvdXRsaW5lLW9mZnNldDoycHh9LmFsLXNoZWV0LWNsb3Nle2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjB9LmFsLXNoZWV0LWJvZHl7ZmxleDoxO3BhZGRpbmc6MjBweDtvdmVyZmxvdy15OmF1dG99QG1lZGlhICh3aWR0aDw9MzYwcHgpey5hbC1zaGVldHtib3JkZXItcmFkaXVzOjA7d2lkdGg6MTAwJTtpbnNldDowfX1Aa2V5ZnJhbWVzIGFsLXNoZWV0LWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKDI0cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfX0uYWwtZGlhbG9nLW92ZXJsYXl7ei1pbmRleDp2YXIoLS1hbC16LW1vZGFsKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLW92ZXJsYXkpO2FuaW1hdGlvbjphbC1kaWFsb2ctZmFkZSB2YXIoLS1hbC1kdXJhdGlvbi1iYXNlKSB2YXIoLS1hbC1lYXNpbmctZW50ZXIpIGJvdGg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoxNnB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpmaXhlZDtpbnNldDowfUBzdXBwb3J0cyAoKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMXB4KSkgb3IgKGJhY2tkcm9wLWZpbHRlcjpibHVyKDFweCkpKXsuYWwtZGlhbG9nLW92ZXJsYXl7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCl9fS5hbC1kaWFsb2d7d2lkdGg6MTAwJTttYXgtd2lkdGg6NDQwcHg7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMzJweCk7cGFkZGluZzoyNHB4O292ZXJmbG93LXk6YXV0b30uYWwtZGlhbG9nLXRpdGxle291dGxpbmU6bm9uZTttYXJnaW46MCAwIDEycHh9LmFsLWRpYWxvZy10aXRsZTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdHJvbmcpO291dGxpbmUtb2Zmc2V0OjJweH1Aa2V5ZnJhbWVzIGFsLWRpYWxvZy1mYWRlezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLXRyYW5zcGFyZW5jeTpyZWR1Y2Upey5hbC1kaWFsb2ctb3ZlcmxheXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lfX06cm9vdFtkYXRhLXRyYW5zcGFyZW5jeT1yZWR1Y2VkXSAuYWwtZGlhbG9nLW92ZXJsYXl7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZHJvcC1maWx0ZXI6bm9uZX1AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7LmFsLWRpYWxvZy1vdmVybGF5ey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmV9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5hbC1kaWFsb2ctb3ZlcmxheXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lfX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuYWwtc2hlZXQsLmFsLWRpYWxvZy1vdmVybGF5e2FuaW1hdGlvbjpub25lfX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtc2hlZXQsOnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLWRpYWxvZy1vdmVybGF5e2FuaW1hdGlvbjpub25lfS5hbC1wYntnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZGlzcGxheTpncmlkfS5hbC1wYi1oZWFke2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDp2YXIoLS1hbC1zcGFjZS00KTtkaXNwbGF5OmZsZXh9LmFsLXBiLWxhYmVse21pbi1pbmxpbmUtc2l6ZTowO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO2ZsZXg6MX0uYWwtcGItYW1vdW50e2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTt3aGl0ZS1zcGFjZTpub3dyYXB9LmFsLXBiLXN0YXRle2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMik7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXN1Y2Nlc3MtZmcpO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLXBiLXRyYWNre2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtibG9jay1zaXplOjRweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmFsLXBiLXRyYWNrLmlzLXN0ZXBwZWR7YmFja2dyb3VuZDowIDA7Ym9yZGVyLXJhZGl1czowO2Jsb2NrLXNpemU6YXV0bztvdmVyZmxvdzp2aXNpYmxlfS5hbC1wYi1zdmd7YmxvY2stc2l6ZToxMDAlO2lubGluZS1zaXplOjEwMCU7ZGlzcGxheTpibG9ja30uYWwtcGItZmlsbHtzdHJva2U6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO3N0cm9rZS13aWR0aDo0cHg7dHJhbnNpdGlvbjpzdHJva2UtZGFzaG9mZnNldCB2YXIoLS1hbC1kdXJhdGlvbi1iYXNlKSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpfS5hbC1wYi5pcy1kb25lIC5hbC1wYi1maWxse3N0cm9rZTp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1pY29uKX0uYWwtcGIuaXMtZXJyb3IgLmFsLXBiLWZpbGx7c3Ryb2tlOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbil9LmFsLXBiLmlzLWVycm9yIC5hbC1wYi10cmFja3tib3gtc2hhZG93OjAgMCAwIDFweCB2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWJvcmRlcil9LmFsLXBiLXNlZy1nbGlkZXtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1mdWxsKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KTtvcGFjaXR5Oi44NTtpbmxpbmUtc2l6ZTo1MCU7YW5pbWF0aW9uOmFsLXBiLWdsaWRlIHZhcigtLWFsLWR1cmF0aW9uLWFtYmllbnQpIHZhcigtLWFsLWVhc2luZy1zdGFuZGFyZCkgaW5maW5pdGU7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQtYmxvY2s6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MH1Aa2V5ZnJhbWVzIGFsLXBiLWdsaWRlezAle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGUoMjAwJSl9fS5hbC1wYi1zdGVwc3tnYXA6dmFyKC0tYWwtc3BhY2UtMik7Z3JpZC1hdXRvLWNvbHVtbnM6MWZyO2dyaWQtYXV0by1mbG93OmNvbHVtbjttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6Z3JpZH0uYWwtcGItc3RlcHtnYXA6dmFyKC0tYWwtc3BhY2UtMik7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2Rpc3BsYXk6Z3JpZH0uYWwtcGItc2Vne2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtibG9jay1zaXplOjRweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uYWwtcGItc3RlcFtkYXRhLXN0YXRlPWN1cnJlbnRde2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpfS5hbC1wYi1zdGVwW2RhdGEtc3RhdGU9ZG9uZV0gLmFsLXBiLWZpbGx7c3Ryb2tlOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWljb24pfS5hbC1wYi1zdGVwW2RhdGEtc3RhdGU9ZXJyb3Jde2NvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItZmcpfS5hbC1wYi1zdGVwW2RhdGEtc3RhdGU9ZXJyb3JdIC5hbC1wYi1zZWd7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb24pfS5hbC1wYi1zdGVwLmlzLXVua25vd24gLmFsLXBiLXNlZzphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO29wYWNpdHk6Ljg1O2lubGluZS1zaXplOjUwJTthbmltYXRpb246YWwtcGItZ2xpZGUgdmFyKC0tYWwtZHVyYXRpb24tYW1iaWVudCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKSBpbmZpbml0ZTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldC1ibG9jazowO2luc2V0LWlubGluZS1zdGFydDowfS5hbC1yaW5ne2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtcmluZy1kaWFse3BsYWNlLWl0ZW1zOmNlbnRlcjtibG9jay1zaXplOjU2cHg7aW5saW5lLXNpemU6NTZweDtkaXNwbGF5OmlubGluZS1ncmlkO3Bvc2l0aW9uOnJlbGF0aXZlfS5hbC1yaW5nLmlzLXNtIC5hbC1yaW5nLWRpYWx7YmxvY2stc2l6ZTozMnB4O2lubGluZS1zaXplOjMycHh9LmFsLXJpbmcuaXMtbGcgLmFsLXJpbmctZGlhbHtibG9jay1zaXplOjgwcHg7aW5saW5lLXNpemU6ODBweH0uYWwtcmluZy1kaWFsIHN2Z3tibG9jay1zaXplOjEwMCU7aW5saW5lLXNpemU6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowfS5hbC1yaW5nLXRyYWNrLC5hbC1yaW5nLWZpbGx7ZmlsbDpub25lO3N0cm9rZS13aWR0aDozcHh9LmFsLXJpbmctdHJhY2t7c3Ryb2tlOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbil9LmFsLXJpbmctZmlsbHtzdHJva2U6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO3N0cm9rZS1saW5lY2FwOnJvdW5kO3RyYW5zZm9ybS1vcmlnaW46MThweCAxOHB4O3RyYW5zaXRpb246c3Ryb2tlLWRhc2hvZmZzZXQgdmFyKC0tYWwtZHVyYXRpb24tc2xvdykgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyl9LmFsLXJpbmcuaXMtbG93IC5hbC1yaW5nLWZpbGx7c3Ryb2tlOnZhcigtLWFsLWNvbG9yLXN0YXR1cy13YXJuaW5nLWljb24pfS5hbC1yaW5nLWNlbnRlcntjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7cG9zaXRpb246cmVsYXRpdmV9LmFsLXJpbmctdGV4dHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LmFsLXNrZWxldG9ue2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtkaXNwbGF5OmdyaWR9LmFsLXNrZWxldG9uLWxpbmV7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtibG9jay1zaXplOjEycHg7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmFsLXNrZWxldG9uLWxpbmU6bnRoLWxhc3QtY2hpbGQoMil7aW5saW5lLXNpemU6NjAlfS5hbC1za2VsZXRvbi1saW5lOmFmdGVye2NvbnRlbnQ6IiI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCB2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpLCB0cmFuc3BhcmVudCk7b3BhY2l0eTouNTthbmltYXRpb246YWwtc2tlbGV0b24tc3dlZXAgdmFyKC0tYWwtZHVyYXRpb24tYW1iaWVudCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKSBpbmZpbml0ZTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUpfUBrZXlmcmFtZXMgYWwtc2tlbGV0b24tc3dlZXB7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZSgxMDAlKX19LmFsLXNrZWxldG9uLXJldmVhbHthbmltYXRpb246YWwtc2tlbGV0b24tZmFkZSB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctZW50ZXIpIGJvdGh9QGtleWZyYW1lcyBhbC1za2VsZXRvbi1mYWRlezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fS5hbC1pbmxpbmUtZXJyb3J7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTQpO2JvcmRlci1pbmxpbmUtc3RhcnQ6M3B4IHNvbGlkIHZhcigtLWFsLWNvbG9yLXN0YXR1cy1kYW5nZXItaWNvbik7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLWRhbmdlci1mZyk7YW5pbWF0aW9uOmFsLWlubGluZS1lcnJvci1udWRnZSB2YXIoLS1hbC1kdXJhdGlvbi1iYXNlKSB2YXIoLS1hbC1lYXNpbmctZW1waGFzaXplZCkgYm90aDtkaXNwbGF5OmZsZXh9LmFsLWlubGluZS1lcnJvcj4uYWwtaWNvbntjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWljb24pO2ZsZXg6bm9uZX0uYWwtaW5saW5lLWVycm9yLWFjdHttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99QGtleWZyYW1lcyBhbC1pbmxpbmUtZXJyb3ItbnVkZ2V7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX00MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg0cHgpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9fS5hbC1wYltkYXRhLXBhdXNlZD10cnVlXSAuYWwtcGItc2VnLWdsaWRlLC5hbC1wYltkYXRhLXBhdXNlZD10cnVlXSAuYWwtcGItc2VnOmFmdGVyLC5hbC1za2VsZXRvbltkYXRhLXBhdXNlZD10cnVlXSAuYWwtc2tlbGV0b24tbGluZTphZnRlcnthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWR9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmFsLXBiLWZpbGwsLmFsLXJpbmctZmlsbHt0cmFuc2l0aW9uOm5vbmV9LmFsLXBiLmlzLWluZGV0ZXJtaW5hdGUgLmFsLXBiLXNlZy1nbGlkZSwuYWwtcGItc3RlcC5pcy11bmtub3duIC5hbC1wYi1zZWc6YWZ0ZXIsLmFsLXNrZWxldG9uLWxpbmU6YWZ0ZXIsLmFsLXNrZWxldG9uLXJldmVhbCwuYWwtaW5saW5lLWVycm9ye2FuaW1hdGlvbjpub25lfS5hbC1za2VsZXRvbi1saW5lOmFmdGVye29wYWNpdHk6MH19OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLXBiLWZpbGwsOnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLXJpbmctZmlsbHt0cmFuc2l0aW9uOm5vbmV9OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLXBiLmlzLWluZGV0ZXJtaW5hdGUgLmFsLXBiLXNlZy1nbGlkZSw6cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtcGItc3RlcC5pcy11bmtub3duIC5hbC1wYi1zZWc6YWZ0ZXIsOnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLXNrZWxldG9uLWxpbmU6YWZ0ZXIsOnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLXNrZWxldG9uLXJldmVhbCw6cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtaW5saW5lLWVycm9ye2FuaW1hdGlvbjpub25lfTpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1za2VsZXRvbi1saW5lOmFmdGVye29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsqLDpiZWZvcmUsOmFmdGVye3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAqLDpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIDpiZWZvcmUsOnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gOmFmdGVye3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fS5hbC1saXZlZG90e2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMSk7Y29sb3I6dmFyKC0tdC1mZyk7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmFsLWxkLXNoYXBle2NvbG9yOnZhcigtLXQtaWMpO2ZsZXg6bm9uZTtvdmVyZmxvdzp2aXNpYmxlfS5hbC1sZC1wdWxzZXt0cmFuc2Zvcm0tYm94OmZpbGwtYm94O3RyYW5zZm9ybS1vcmlnaW46NTAlfS5hbC1sZC1zcGlue3RyYW5zZm9ybS1ib3g6dmlldy1ib3g7dHJhbnNmb3JtLW9yaWdpbjo1MCV9LmFsLWxpdmVkb3RbZGF0YS1zdGF0ZT1yZWNvbm5lY3RpbmddIC5hbC1sZC1zcGlue2FuaW1hdGlvbjphbC1sZC10dXJuIHZhcigtLWFsLWR1cmF0aW9uLWFtYmllbnQpIGxpbmVhciBpbmZpbml0ZX0uYWwtbGl2ZWRvdFtkYXRhLXBhdXNlZF0gLmFsLWxkLXNwaW57YW5pbWF0aW9uLXBsYXktc3RhdGU6cGF1c2VkfUBrZXlmcmFtZXMgYWwtbGQtdHVybnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5hbC1tb21lbnR7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtc3VjY2Vzcy1mZyk7ZGlzcGxheTppbmxpbmUtZmxleH0uYWwtbW9tZW50W2RhdGEta2luZD1wcm9vZl17Y29sb3I6dmFyKC0tYWwtY29sb3ItcHJvb2YtZmcpfS5hbC1tb21lbnRbZGF0YS1raW5kPWZpbGVde2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpfS5hbC1tb21lbnQtYXJ0e3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0uYWwtbW9tZW50LWNvZGV7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pO2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3dpZHRoOjhweDtoZWlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4fS5hbC1tb21lbnQtbGVmdHtsZWZ0OjFweH0uYWwtbW9tZW50LXJpZ2h0e3JpZ2h0OjFweH0uYWwtY291bnR7bWluLXdpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTEpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWFjY2VudC1zdWJ0bGUpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWFjY2VudC1mZyk7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5hbC1jb3VudC1vdXR7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowfS5hbC1yb3ctcHJlc2VuY2V7cG9zaXRpb246cmVsYXRpdmV9LmFsLXJvdy1obHtib3JkZXItcmFkaXVzOmluaGVyaXQ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowfS5hbC12aXN1YWxseS1oaWRkZW57Y2xpcC1wYXRoOmluc2V0KDUwJSk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlcjowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LmFsLWhvb2R7bWFyZ2luLXRvcDp2YXIoLS1hbC1zcGFjZS03KTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7Zm9udC1mYW1pbHk6dmFyKC0tYWwtZm9udC1mYW1pbHktbW9ubyk7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO2FuaW1hdGlvbjphbC1ob29kLWluIHZhcigtLWFsLWR1cmF0aW9uLWJhc2UpIHZhcigtLWFsLWVhc2luZy1lbnRlcikgYm90aDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOHB4fS5hbC1ob29kLWhlYWR7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTt3aWR0aDoxMDAlO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7Zm9udC1mYW1pbHk6aW5oZXJpdDtkaXNwbGF5OmZsZXh9LmFsLWhvb2QtaGVhZDpob3Zlcntjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KX0uYWwtaG9vZC1oZWFkOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpO291dGxpbmUtb2Zmc2V0OjJweH0uYWwtaG9vZC1jaGV2e21hcmdpbi1sZWZ0OmF1dG99LmFsLWhvb2QtYm9keXtwYWRkaW5nOjAgdmFyKC0tYWwtc3BhY2UtNCkgdmFyKC0tYWwtc3BhY2UtNCk7YW5pbWF0aW9uOmFsLWhvb2QtaW4gdmFyKC0tYWwtZHVyYXRpb24tYmFzZSkgdmFyKC0tYWwtZWFzaW5nLWVudGVyKSBib3RofS5hbC1ob29kLWVtcHR5e21hcmdpbjowfS5hbC1ob29kLWxpc3R7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO21hcmdpbjowO2Rpc3BsYXk6Z3JpZH0uYWwtaG9vZC1yb3d7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0uYWwtaG9vZC1yb3cgZHR7bWluLXdpZHRoOjEyMHB4O2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLXN1YnRsZSl9LmFsLWhvb2Qtcm93IGRke2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpO292ZXJmbG93LXdyYXA6YW55d2hlcmU7bWFyZ2luOjB9LmFsLWhvb2Qtcm93IGF7Y29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfUBrZXlmcmFtZXMgYWwtaG9vZC1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5hbC1wcmV2aWV3LXRpbGV7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO21heC13aWR0aDo1MjBweDttYXJnaW4tdG9wOnZhcigtLWFsLXNwYWNlLTUpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXhsKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy0yKTtqdXN0aWZ5LWl0ZW1zOnN0YXJ0O2Rpc3BsYXk6Z3JpZH0uYWwtcHJldmlldy10aWxlIHB7bWFyZ2luOjB9LmFsLXByZXZpZXctdHJhY2t7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pO3dpZHRoOjEwMCU7aGVpZ2h0OjI0cHg7b3ZlcmZsb3c6aGlkZGVufS5hbC1wcmV2aWV3LWNoaXB7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtZGVmYXVsdCk7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS1hbC1kdXJhdGlvbi1zbG93KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO2Rpc3BsYXk6YmxvY2t9LmFsLXByZXZpZXctdGlsZS5pcy1tb3ZlZCAuYWwtcHJldmlldy1jaGlwe3RyYW5zZm9ybTp0cmFuc2xhdGUoMjAwcHgpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5hbC1ob29kLC5hbC1ob29kLWJvZHl7YW5pbWF0aW9uOm5vbmV9LmFsLXByZXZpZXctY2hpcHt0cmFuc2l0aW9uOm5vbmV9fTpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1ob29kLDpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1ob29kLWJvZHl7YW5pbWF0aW9uOm5vbmV9OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF0gLmFsLXByZXZpZXctY2hpcHt0cmFuc2l0aW9uOm5vbmV9LmFsLWNocm9tZXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JvcmRlcjowIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDFweCkpIG9yIChiYWNrZHJvcC1maWx0ZXI6Ymx1cigxcHgpKSl7OnJvb3RbZGF0YS1vcz1tYWNvc10gLmFsLWNocm9tZXtiYWNrZ3JvdW5kOnZhcigtLWFsLW1hdGVyaWFsLWNocm9tZS1iZyk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tYWwtbWF0ZXJpYWwtYmx1cik7YmFja2Ryb3AtZmlsdGVyOnZhcigtLWFsLW1hdGVyaWFsLWJsdXIpfX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC10cmFuc3BhcmVuY3k6cmVkdWNlKXs6cm9vdFtkYXRhLW9zPW1hY29zXSAuYWwtY2hyb21le2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZHJvcC1maWx0ZXI6bm9uZX19OnJvb3RbZGF0YS1vcz1tYWNvc11bZGF0YS10cmFuc3BhcmVuY3k9cmVkdWNlZF0gLmFsLWNocm9tZXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmV9QG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpezpyb290W2RhdGEtb3M9bWFjb3NdIC5hbC1jaHJvbWV7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lO2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCl9fTpyb290W2RhdGEtb3M9bWFjb3NdW2RhdGEtY29udHJhc3Q9bW9yZV0gLmFsLWNocm9tZXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmU7Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXs6cm9vdFtkYXRhLW9zPW1hY29zXSAuYWwtY2hyb21ley13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2Ryb3AtZmlsdGVyOm5vbmU7YmFja2dyb3VuZDpjYW52YXM7Ym9yZGVyLWNvbG9yOmNhbnZhc3RleHR9fS5hbC1zaWRlLmFsLWNocm9tZXtib3JkZXItcmlnaHQtd2lkdGg6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pfS5hbC10b3BiYXIuYWwtY2hyb21le2JvcmRlci1ib3R0b20td2lkdGg6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pfS5hbC1zdGF0dXNiYXIuYWwtY2hyb21le2JvcmRlci10b3Atd2lkdGg6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pfS5hbC1zdWJuYXZ7dG9wOnZhcigtLWFsLXNpemUtY29udHJvbC1sZyk7ei1pbmRleDoxO2dhcDp2YXIoLS1hbC1zcGFjZS0yKTttYXJnaW46Y2FsYygtMSAqIHZhcigtLWFsLXNwYWNlLTYpKSBjYWxjKC0xICogdmFyKC0tYWwtc3BhY2UtNikpIDA7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS0zKSB2YXIoLS1hbC1zcGFjZS02KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnN0aWNreTtvdmVyZmxvdy14OmF1dG99LmFsLXN1Ym5hdi5hbC1jaHJvbWV7Ym9yZGVyLWJvdHRvbS13aWR0aDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbil9LmFsLXN1Ym5hdiBhe3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMikgdmFyKC0tYWwtc3BhY2UtNCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtmbGV4Om5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmFsLXN1Ym5hdiBhOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KX0uYWwtc3VibmF2IGEuaXMtYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYWNjZW50LXN1YnRsZSk7Y29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWZnKX0uYWwtdG9wYmFyLXRoZW1le3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKHdpZHRoPD02MDBweCl7LmFsLXNpZGUuYWwtY2hyb21le2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci10b3Atd2lkdGg6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pfS5hbC1zdWJuYXZ7bWFyZ2luOmNhbGMoLTEgKiB2YXIoLS1hbC1zcGFjZS00KSkgY2FsYygtMSAqIHZhcigtLWFsLXNwYWNlLTQpKSAwO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNCl9LmFsLXRvcGJhciAuYWwtc3dpdGNoLXRleHQsLmFsLXRvcGJhci10aGVtZS10ZXh0e2Rpc3BsYXk6bm9uZX19OnJvb3R7dmlldy10cmFuc2l0aW9uLW5hbWU6bm9uZX0uYWwtc2hlbGwtYm9keXt2aWV3LXRyYW5zaXRpb24tbmFtZTphbC1wYWdlfUBrZXlmcmFtZXMgYWwtcGFnZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgYWwtcGFnZS1vdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Ojp2aWV3LXRyYW5zaXRpb24tb2xkKHJvb3Qpe2FuaW1hdGlvbjpub25lfTo6dmlldy10cmFuc2l0aW9uLW5ldyhyb290KXthbmltYXRpb246bm9uZX06OnZpZXctdHJhbnNpdGlvbi1vbGQoYWwtcGFnZSl7YW5pbWF0aW9uOmFsLXBhZ2Utb3V0IHZhcigtLWFsLWR1cmF0aW9uLWZhc3QpIHZhcigtLWFsLWVhc2luZy1leGl0KSBib3RofTo6dmlldy10cmFuc2l0aW9uLW5ldyhhbC1wYWdlKXthbmltYXRpb246YWwtcGFnZS1pbiB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctZW50ZXIpIGJvdGh9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Ojp2aWV3LXRyYW5zaXRpb24tb2xkKGFsLXBhZ2Upe2FuaW1hdGlvbjpub25lfTo6dmlldy10cmFuc2l0aW9uLW5ldyhhbC1wYWdlKXthbmltYXRpb246bm9uZX19OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF06OnZpZXctdHJhbnNpdGlvbi1vbGQoYWwtcGFnZSl7YW5pbWF0aW9uOm5vbmV9OnJvb3RbZGF0YS1tb3Rpb249cmVkdWNlZF06OnZpZXctdHJhbnNpdGlvbi1uZXcoYWwtcGFnZSl7YW5pbWF0aW9uOm5vbmV9aHRtbCxib2R5LCNyb290e2hlaWdodDoxMDAlfWJvZHksI3Jvb3R7bWluLWhlaWdodDoxMDBkdmh9LmFsLXNraXB7dG9wOnZhcigtLWFsLXNwYWNlLTMpO2xlZnQ6dmFyKC0tYWwtc3BhY2UtMyk7ei1pbmRleDoxMDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTIpIHZhcigtLWFsLXNwYWNlLTQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN0cm9uZyk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbWQpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzAwJSl9LmFsLXNraXA6Zm9jdXN7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9bWFpbi5hbC1zaGVsbC1jb250ZW50OmZvY3Vze291dGxpbmU6bm9uZX0uYWwtYXBwcm92YWxze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTZweDt3aWR0aDoxMDAlO21heC13aWR0aDo0ODBweDtkaXNwbGF5OmZsZXh9LmFsLWFwcHJvdmFsc1tkYXRhLWxheW91dF17bWF4LXdpZHRoOnZhcigtLWFsLWxheW91dC1tYXgtcGFnZSl9LmFsLWFwcHJvdmFsc1tkYXRhLWxheW91dF0-Om5vdCguYXAtdGl0bGUtcm93KTpub3QoLmFsLWxpc3QpLC5hbC1hcHByb3ZhbHNbZGF0YS1sYXlvdXRdIC5hbC1saXN0Pjpub3QoLmFwLWNhcmRzKXtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTttYXgtd2lkdGg6NDgwcHh9LmFsLWFwcHJvdmFscyAuYXAtY2FyZHN7Z2FwOnZhcigtLWFsLXNwYWNlLTUpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heChtaW4oMzYwcHgsMTAwJSksMWZyKSk7YWxpZ24taXRlbXM6c3RhcnQ7ZGlzcGxheTpncmlkfS5hbC1hcHByb3ZhbHNbZGF0YS1sYXlvdXQ9bGlzdF0gLmFwLWNhcmRze2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO2dhcDoxMnB4O21heC13aWR0aDo0ODBweH0uYWwtYXBwcm92YWxzIC5hcC1jYXJkcz4qLC5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFse292ZXJmbG93LXdyYXA6YW55d2hlcmU7bWluLXdpZHRoOjB9LmFsLWFwcHJvdmFscyAuYWwtdW50cnVzdGVkIHByZXt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5hbC1hcHByb3ZhbHMgLmFwLXRpdGxlLXJvd3tqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpIHZhcigtLWFsLXNwYWNlLTUpO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0uYWwtYXBwcm92YWxzIC5hcC1sYXlvdXR7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtkaXNwbGF5OmZsZXh9LmFsLWFwcHJvdmFscyAuYXAtbGF5b3V0LWxhYmVse2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKX0uYWwtYXBwcm92YWxzIC5hcC1sYXlvdXQgLmFsLXNlZy1vcHQuaXMtb257YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1hY2NlbnQtc3VidGxlKX1AbWVkaWEgKHdpZHRoPD0xMDA3cHgpey5hbC1hcHByb3ZhbHMgLmFwLWxheW91dHtkaXNwbGF5Om5vbmV9fS5hbC1hcHByb3ZhbHMgaDF7bWFyZ2luOjB9LmFsLWFwcHJvdmFscyAuYWwtbGVkZSwuYWwtYXBwcm92YWxzIC5hbC1ub3RlLC5hbC1hcHByb3ZhbHMgLmFsLW9ye2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTttYXJnaW46MDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS5hbC1hcHByb3ZhbHMgLmFsLWxpc3QsLmFsLWFwcHJvdmFscyAuYWwtbm90aWNlcywuYWwtYXBwcm92YWxzIC5hbC1zbG90LC5hbC1hcHByb3ZhbHMgLmFsLXN0ZXAsLmFsLWFwcHJvdmFscyAuYWwtYmFye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTJweDtkaXNwbGF5OmZsZXh9LmFsLWFwcHJvdmFscyAuYWwtc3RlcDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFsLWFwcHJvdmFscyAuYWwtc3RlcDpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWZvY3VzLXJpbmcpO291dGxpbmUtb2Zmc2V0OjJweH0uYWwtYXBwcm92YWxzIC5hbC1ub3RpY2VzOmVtcHR5e2Rpc3BsYXk6bm9uZX0uYWwtYXBwcm92YWxzIC5hbC1zZWN0aW9uLXRpdGxle2ZvbnQtZmFtaWx5OnZhcigtLWFsLWZvbnQtZmFtaWx5LW1vbm8pO2xldHRlci1zcGFjaW5nOi4wNmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7bWFyZ2luOjA7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHh9LmFsLWFwcHJvdmFscyAuYWwtc3RhdHVze2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjRweDttYXJnaW46MDtwYWRkaW5nOjhweCAxMnB4fS5hbC1hcHByb3ZhbHMgLmFsLXRlcm1ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4O2Rpc3BsYXk6ZmxleH0uYWwtYXBwcm92YWxzIC5hbC1tb25ve2ZvbnQtZmFtaWx5OnZhcigtLWFsLWZvbnQtZmFtaWx5LW1vbm8pfS5hbC1hcHByb3ZhbHMgLmFsLXRvZ2dsZXtmbGV4Om5vbmV9LmFsLWFwcHJvdmFscyAuYWwtY29kZSAuYWwtaW5wdXQtd3JhcHtoZWlnaHQ6dmFyKC0tYWwtc2l6ZS1jb250cm9sLWxnKX0uYWwtYXBwcm92YWxzIC5hbC1jb2RlIC5hbC1idG4tYmxvY2t7bWFyZ2luLXRvcDo4cHh9LmFsLWFwcHJvdmFscyAuYWwtY2hvaWNlc3tib3JkZXI6MXB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1zdHJvbmcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3Vua2VuKTtib3JkZXItcmFkaXVzOjRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtkaXNwbGF5OmdyaWQ7b3ZlcmZsb3c6aGlkZGVufS5hbC1hcHByb3ZhbHMgLmFsLWNob2ljZXtjdXJzb3I6cG9pbnRlcjtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6NDRweDtmb250LXdlaWdodDo1MDA7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5hbC1hcHByb3ZhbHMgLmFsLWNob2ljZTpmaXJzdC1jaGlsZHtib3JkZXItbGVmdDowfS5hbC1hcHByb3ZhbHMgLmFsLWNob2ljZSBpbnB1dHtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjA7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MH0uYWwtYXBwcm92YWxzIC5hbC1jaG9pY2U6aGFzKGlucHV0OmNoZWNrZWQpe2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctcmFpc2VkKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KTtib3gtc2hhZG93Omluc2V0IDAgLTJweCAwIHZhcigtLWFsLWNvbG9yLWFjY2VudC1kZWZhdWx0KX0uYWwtYXBwcm92YWxzIC5hbC1jaG9pY2U6aGFzKGlucHV0OmZvY3VzLXZpc2libGUpe291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFsLWNvbG9yLWZvY3VzLXJpbmcpO291dGxpbmUtb2Zmc2V0Oi0ycHh9LmFsLWFwcHJvdmFscyAuYWwtbGluZXN7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHg7bWFyZ2luOjA7cGFkZGluZy1sZWZ0OjIwcHg7ZGlzcGxheTpmbGV4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5hbC1hcHByb3ZhbHMgLmFsLWNob2ljZTpoYXMoaW5wdXQ6Y2hlY2tlZCl7Ym9yZGVyOjJweCBzb2xpZCBjYW52YXN0ZXh0fX0uYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbCwuYWwtYXBwcm92YWxzIC5hbC1wYW5lbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0uYWwtYXBwcm92YWxzIC5hbC1wYW5lbHtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5hbC1hcHByb3ZhbHMgLmFsLXBhbmVsIGgyLC5hbC1hcHByb3ZhbHMgLmFsLXBhbmVsIHAsLmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWwtdG9wIC5hbC1hcHByb3ZhbC10eXBle21hcmdpbjowfS5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsLXRvcCAuYWwtcmluZ3ttYXJnaW4tbGVmdDphdXRvfS5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsW2RhdGEtb3V0Y29tZT1hcHByb3ZlZF17Ym9yZGVyLWNvbG9yOnZhcigtLWFsLWNvbG9yLXN0YXR1cy1zdWNjZXNzLWJvcmRlcil9LmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWw-LmFsLWFwcHJvdmFsLXRvcCwuYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbD4uYWwtYXBwcm92YWwtZm9vdHt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tYWwtZHVyYXRpb24tYmFzZSkgdmFyKC0tYWwtZWFzaW5nLWV4aXQpfS5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsW2RhdGEtb3V0Y29tZT1kZW5pZWRdPi5hbC1hcHByb3ZhbC10b3AsLmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWxbZGF0YS1vdXRjb21lPWRlbmllZF0-LmFsLWFwcHJvdmFsLWZvb3QsLmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWxbZGF0YS1vdXRjb21lPWRlbmllZF0-ZGwsLmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWxbZGF0YS1vdXRjb21lPWRlbmllZF0-LmFsLXRlcm1zLC5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsW2RhdGEtb3V0Y29tZT1kZW5pZWRdPi5hbC11bnRydXN0ZWR7b3BhY2l0eTp2YXIoLS1hbC1vcGFjaXR5LWRpc2FibGVkKX0uYWwtYXBwcm92YWxzIC5hcC1tb21lbnR7ZGlzcGxheTpmbGV4fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsPi5hbC1hcHByb3ZhbC10b3AsLmFsLWFwcHJvdmFscyAuYWwtYXBwcm92YWw-LmFsLWFwcHJvdmFsLWZvb3R7dHJhbnNpdGlvbjpub25lfX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbD4uYWwtYXBwcm92YWwtdG9wLDpyb290W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5hbC1hcHByb3ZhbHMgLmFsLWFwcHJvdmFsPi5hbC1hcHByb3ZhbC1mb290e3RyYW5zaXRpb246bm9uZX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsuYWwtYXBwcm92YWxzIC5hbC1hcHByb3ZhbFtkYXRhLW91dGNvbWU9YXBwcm92ZWRde2JvcmRlci1jb2xvcjpjYW52YXN0ZXh0fX0uaG0taGVhZHtnYXA6dmFyKC0tYWwtc3BhY2UtMik7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1hbC1zcGFjZS02KTtkaXNwbGF5OmdyaWR9LmhtLWhlYWQgaDEsLmhtLWdyZWV0aW5ne21hcmdpbjowfS5obS1kYXRle2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW19LmhtLW5leHR7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS01KTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTYpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXJhaXNlZCk7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctMik7ZmxleC13cmFwOndyYXA7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1hbC1zcGFjZS02KTtkaXNwbGF5OmZsZXh9LmhtLW5leHQtdGV4dHtnYXA6dmFyKC0tYWwtc3BhY2UtMik7bWluLWlubGluZS1zaXplOjA7ZGlzcGxheTpncmlkfS5obS1uZXh0LXRleHQgcCwuaG0tbmV4dC10ZXh0IGgye21hcmdpbjowfS5obS1ub3Rle2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWFyZ2luOjAgMCB2YXIoLS1hbC1zcGFjZS01KTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1zdGF0dXMtd2FybmluZy1iZyk7Y29sb3I6dmFyKC0tYWwtY29sb3Itc3RhdHVzLXdhcm5pbmctZmcpO2Rpc3BsYXk6ZmxleH0uaG0tdGlsZXN7Z2FwOnZhcigtLWFsLXNwYWNlLTUpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDI0MHB4LDFmcikpO2Rpc3BsYXk6Z3JpZH0uaG0tdGlsZXtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7bWluLWJsb2NrLXNpemU6MTcycHg7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS02KTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy0xKTtpc29sYXRpb246aXNvbGF0ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmhtLXRpbGU6YmVmb3Jle2NvbnRlbnQ6IiI7ei1pbmRleDotMTtib3JkZXItcmFkaXVzOmluaGVyaXQ7Ym94LXNoYWRvdzp2YXIoLS1hbC1zaGFkb3ctMik7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS1hbC1kdXJhdGlvbi1mYXN0KSB2YXIoLS1hbC1lYXNpbmctc3RhbmRhcmQpO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9LmhtLXRpbGU6aG92ZXIsLmhtLXRpbGU6Zm9jdXMtd2l0aGlue3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfS5obS10aWxlOmhvdmVyOmJlZm9yZSwuaG0tdGlsZTpmb2N1cy13aXRoaW46YmVmb3Jle29wYWNpdHk6MX0uaG0tdGlsZVtkYXRhLWF0dGVudGlvbj10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tYWwtY29sb3ItYWNjZW50LWRlZmF1bHQpfS5obS10aWxlLXRpdGxle2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTttYXJnaW46MH0uaG0tdGlsZS1saW5re2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmhtLXRpbGUtbGluazphZnRlcntjb250ZW50OiIiO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowfS5obS10aWxlLWxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmhtLXRpbGUtbGluazpmb2N1cy12aXNpYmxlOmFmdGVye291dGxpbmU6dmFyKC0tYWwtZm9jdXMtcmluZy13aWR0aCkgc29saWQgdmFyKC0tYWwtY29sb3ItZm9jdXMtcmluZyk7b3V0bGluZS1vZmZzZXQ6dmFyKC0tYWwtZm9jdXMtcmluZy1vZmZzZXQpfS5obS10aWxlLWJvZHl7YWxpZ24tY29udGVudDpzdGFydDtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWluLWJsb2NrLXNpemU6MDtkaXNwbGF5OmdyaWR9LmhtLXRpbGUtYm9keSBwLC5obS1hc29me21hcmdpbjowfS5obS1yZXZpZXd7ei1pbmRleDoxO2p1c3RpZnktc2VsZjpzdGFydDtwb3NpdGlvbjpyZWxhdGl2ZX0uaG0tY291bnR7bWFyZ2luOjB9LmhtLXNvb25lc3R7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0uaG0tZXZlbnRze2dhcDp2YXIoLS1hbC1zcGFjZS0zKTttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6Z3JpZH0uaG0tZXZlbnR7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTttaW4taW5saW5lLXNpemU6MDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmhtLWV2ZW50LXRleHR7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleDoxO21pbi1pbmxpbmUtc2l6ZTowO292ZXJmbG93OmhpZGRlbn0uaG0tZXZlbnQtdGltZXt3aGl0ZS1zcGFjZTpub3dyYXB9LmhtLXRpbGVzW2RhdGEtcXVpZXQ9dHJ1ZV0gLmhtLXRpbGU6bm90KFtkYXRhLXRpbGU9YWdlbnRdKXtvcGFjaXR5OnZhcigtLWFsLW9wYWNpdHktZGlzYWJsZWQpfS5obS1ob29ke21hcmdpbi1ibG9jay1zdGFydDp2YXIoLS1hbC1zcGFjZS02KX0uaG0taG9vZDplbXB0eXtkaXNwbGF5Om5vbmV9QG1lZGlhICh3aWR0aDw9NDByZW0pey5obS10aWxlc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5obS10aWxlW2RhdGEtdGlsZT13YWl0aW5nXXtvcmRlcjotMX0uaG0tdGlsZXttaW4tYmxvY2stc2l6ZTowO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNSl9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5obS10aWxlLC5obS10aWxlOmJlZm9yZXt0cmFuc2l0aW9uOm5vbmV9LmhtLXRpbGU6aG92ZXIsLmhtLXRpbGU6Zm9jdXMtd2l0aGlue3RyYW5zZm9ybTpub25lfX1bZGF0YS1tb3Rpb249cmVkdWNlZF0gLmhtLXRpbGUsW2RhdGEtbW90aW9uPXJlZHVjZWRdIC5obS10aWxlOmJlZm9yZXt0cmFuc2l0aW9uOm5vbmV9W2RhdGEtbW90aW9uPXJlZHVjZWRdIC5obS10aWxlOmhvdmVyLFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuaG0tdGlsZTpmb2N1cy13aXRoaW57dHJhbnNmb3JtOm5vbmV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSksKHByZWZlcnMtY29udHJhc3Q6bW9yZSl7LmhtLXRpbGUsLmhtLW5leHR7Ym94LXNoYWRvdzpub25lfS5obS10aWxlOmJlZm9yZXtkaXNwbGF5Om5vbmV9fS5hbC1hY3Rpdml0eS1oZWFke2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5hbC1hY3Rpdml0eS1oZWFkIGgxe21hcmdpbjowfS5hbC1hY3Rpdml0eS1hc29me21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b30uYWwtYWN0aXZpdHktZmlsdGVye21hcmdpbjp2YXIoLS1hbC1zcGFjZS01KSAwfS5hbC1hY3Rpdml0eS1zdGFnZXttaW4tYmxvY2stc2l6ZTp2YXIoLS1hbC1zaXplLWNvbnRyb2wtbGcpfS5hbC1hY3Rpdml0eS1saXN0e2FuaW1hdGlvbjphbC1hY3Rpdml0eS1mYWRlIHZhcigtLWFsLWR1cmF0aW9uLWJhc2UpIHZhcigtLWFsLWVhc2luZy1lbnRlcikgYm90aH1Aa2V5ZnJhbWVzIGFsLWFjdGl2aXR5LWZhZGV7MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmFsLWFjdGl2aXR5LWxpc3R7YW5pbWF0aW9uOm5vbmV9fVtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuYWwtYWN0aXZpdHktbGlzdHthbmltYXRpb246bm9uZX0uYWwtYWN0aXZpdHktbm9uZXttYXJnaW46dmFyKC0tYWwtc3BhY2UtNSkgMH0uYWwtYWN0aXZpdHktc2VjdGlvbntib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKTtjb250ZW50LXZpc2liaWxpdHk6YXV0bztjb250YWluLWludHJpbnNpYy1zaXplOmF1dG8gMTRlbTttYXJnaW4tYmxvY2stZW5kOnZhcigtLWFsLXNwYWNlLTUpfS5hbC1hY3Rpdml0eS1kYXl7dG9wOnZhcigtLWFsLXNpemUtY29udHJvbC1sZyk7ei1pbmRleDoxO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNSk7Ym9yZGVyLWJvdHRvbTp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKSB2YXIoLS1hbC1yYWRpdXMtbGcpIDAgMDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLWFsLW1hdGVyaWFsLWNocm9tZS1iZyksIHZhcigtLWFsLW1hdGVyaWFsLWNocm9tZS1iZykpO2NvbG9yOnZhcigtLWFsLWNvbG9yLWZnLW11dGVkKTtmb250LXdlaWdodDp2YXIoLS1hbC1mb250LXdlaWdodC1tZWRpdW0pO21hcmdpbjowO3Bvc2l0aW9uOnN0aWNreX0uYWwtYWN0aXZpdHktdGFibGV7dGFibGUtbGF5b3V0OmZpeGVkO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt3aWR0aDoxMDAlfS5hbC1hY3Rpdml0eS10YWJsZSB0ZHtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpO3ZlcnRpY2FsLWFsaWduOnRvcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5hbC1hY3Rpdml0eS10YWJsZSB0Ym9keSB0cit0ciB0ZHtib3JkZXItdG9wOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKX0uYWwtYWN0aXZpdHktdGltZXt3aWR0aDo1LjVlbTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7d2hpdGUtc3BhY2U6bm93cmFwfS5hbC1hY3Rpdml0eS1tb3Jle2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTpmbGV4fUBtZWRpYSAod2lkdGg8PTQ4MHB4KXsuYWwtYWN0aXZpdHktdGFibGUsLmFsLWFjdGl2aXR5LXRhYmxlIHRib2R5LC5hbC1hY3Rpdml0eS10YWJsZSB0ciwuYWwtYWN0aXZpdHktdGFibGUgdGR7d2lkdGg6YXV0bztkaXNwbGF5OmJsb2NrfS5hbC1hY3Rpdml0eS10YWJsZSB0ZHtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTEpIHZhcigtLWFsLXNwYWNlLTUpO2JvcmRlci10b3A6MH0uYWwtYWN0aXZpdHktdGFibGUgdHJ7cGFkZGluZy1ibG9jazp2YXIoLS1hbC1zcGFjZS0zKX0uYWwtYWN0aXZpdHktdGFibGUgdGJvZHkgdHIrdHJ7Ym9yZGVyLXRvcDp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSl9fS5tcy1oZWFke2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDp2YXIoLS1hbC1zcGFjZS01KTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9Lm1zLWhlYWQgaDF7bWFyZ2luOjB9Lm1zLWxheW91dHtnYXA6dmFyKC0tYWwtc3BhY2UtNik7bWFyZ2luLXRvcDp2YXIoLS1hbC1zcGFjZS02KTtmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleH0ubXMtbGlzdC13cmFwe2ZsZXg6MjYwcHg7bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCV9Lm1zLWRldGFpbHtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MiAzMjBweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmZsZXh9Lm1zLWxpc3QtYmFye2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWFyZ2luLWJvdHRvbTp2YXIoLS1hbC1zcGFjZS0zKTtkaXNwbGF5OmZsZXh9Lm1zLWxpc3R7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZX0ubXMtbGlzdC1zdXJmYWNle292ZXJmbG93OmhpZGRlbn0ubXMtcm93LWl0ZW17cG9zaXRpb246cmVsYXRpdmV9Lm1zLXJvd3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO3dpZHRoOjEwMCU7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS00KSB2YXIoLS1hbC1zcGFjZS01KTtib3JkZXI6MDtib3JkZXItYm90dG9tOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7ZGlzcGxheTpmbGV4fS5tcy1saXN0PmxpOmxhc3QtY2hpbGQgLm1zLXJvd3tib3JkZXItYm90dG9tOjB9Lm1zLXJvdzpob3ZlciwubXMtcm93W2FyaWEtY3VycmVudD10cnVlXXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbil9Lm1zLXJvdy1tYWlue292ZXJmbG93LXdyYXA6YW55d2hlcmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6YXV0bzttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXh9Lm1zLWRldGFpbC1oZWFke2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5tcy1kZXRhaWwtaGVhZCBoMntvdmVyZmxvdy13cmFwOmFueXdoZXJlO21hcmdpbjowfS5tcy1pdGVtc3tnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTpmbGV4fS5tcy1pdGVte2dhcDp2YXIoLS1hbC1zcGFjZS0zKTttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9Lm1zLWl0ZW0gLmFsLWJ0bnt0cmFuc2l0aW9uOm5vbmV9Lm1zLW1ldGF7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5tcy1pdGVtIC5hbC11bnRydXN0ZWQsLm1zLWl0ZW0gLmFsLXVudHJ1c3RlZC1ib2R5e292ZXJmbG93LXdyYXA6YW55d2hlcmU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCV9Lm1zLWNsYW1wZWQgLmFsLXVudHJ1c3RlZC1ib2R5e21heC1oZWlnaHQ6OWVtO292ZXJmbG93OmhpZGRlbn0ubXMtYWN0aW9uc3tnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5tcy1mb290ZXJ7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpO21hcmdpbjowfS5tcy1tb3Jle2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTpmbGV4fS5tcy1uZXd7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctZGVmYXVsdCl9QG1lZGlhICh3aWR0aDw9NzE5cHgpey5tcy1sYXlvdXQuaGFzLXNlbGVjdGlvbiAubXMtbGlzdC13cmFwLC5tcy1sYXlvdXQ6bm90KC5oYXMtc2VsZWN0aW9uKSAubXMtZGV0YWlse2Rpc3BsYXk6bm9uZX19QG1lZGlhICh3aWR0aD49NzIwcHgpey5tcy1iYWNre2Rpc3BsYXk6bm9uZX19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm1zLXJvdywubXMtaXRlbXt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpLChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey5tcy1saXN0LXN1cmZhY2UsLm1zLWl0ZW17Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCBDYW52YXNUZXh0O2JveC1zaGFkb3c6bm9uZX19LmN0LWNvdW50e21hcmdpbjowfS5jdC1sYXlvdXR7Z2FwOnZhcigtLWFsLXNwYWNlLTYpO21hcmdpbi10b3A6dmFyKC0tYWwtc3BhY2UtNik7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXh9LmN0LWxpc3R7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2ZsZXg6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO292ZXJmbG93OmhpZGRlbn0uY3QtbGlzdD5saTpsYXN0LWNoaWxkIC5jdC1yb3d7Ym9yZGVyLWJvdHRvbTowfS5jdC1yb3d7Ym9yZGVyOjA7Ym9yZGVyLWJvdHRvbTp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLXN1YnRsZSk7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEwMCU7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXJ9LmN0LXJvdzpob3ZlciwuY3Qtcm93W2FyaWEtY3VycmVudD10cnVlXXtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbil9LmN0LWRldGFpbHtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uY3QtZGV0YWlsIHB7bWFyZ2luOjB9LmN0LWRldGFpbC1oZWFke2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5jdC1kZXRhaWwtaGVhZCBoMnttYXJnaW46MH0uY3QtYWN0aW9uc3tnYXA6dmFyKC0tYWwtc3BhY2UtMik7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uY3QtcmVuYW1lLC5jdC1jb25maXJtLC5jdC1wcmVzZW5jZSwuY3QtcHJlc2VuY2UtZm9ybXtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uY3QtcHJlc2VuY2V7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS01KTtib3JkZXI6dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1zdW5rZW4pfS5jdC1lcnJvcntjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnKX0uY3Qtc2FtZS1uYW1le2Rpc3BsYXk6YmxvY2t9LmN0LWR1cCAuYWwtYmFubmVye2JvcmRlci1jb2xvcjp2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTtib3gtc2hhZG93OnZhcigtLWFsLXNoYWRvdy0zKX0uY3QtZHVwIC5hbC1iYW5uZXItdGV4dHtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7LmN0LWR1cHthbmltYXRpb246Y3QtZHVwLWluIHZhcigtLWFsLWR1cmF0aW9uLWJhc2UpIHZhcigtLWFsLWVhc2luZy1lbnRlcil9QGtleWZyYW1lcyBjdC1kdXAtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWFsLXNwYWNlLTMpKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fX0uY3Qtd2FpdGluZ3tnYXA6dmFyKC0tYWwtc3BhY2UtMyk7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7LmN0LXdhaXRpbmdbZGF0YS1tb3Rpb249ZnVsbF17YW5pbWF0aW9uOmN0LWJyZWF0aGUgdmFyKC0tYWwtZHVyYXRpb24tYW1iaWVudCkgdmFyKC0tYWwtZWFzaW5nLXN0YW5kYXJkKSBpbmZpbml0ZSBhbHRlcm5hdGV9QGtleWZyYW1lcyBjdC1icmVhdGhlezAle29wYWNpdHk6MX10b3tvcGFjaXR5Oi41NX19fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5jdC13YWl0aW5ne2FuaW1hdGlvbjpub25lfX06cm9vdFtkYXRhLW1vdGlvbj1yZWR1Y2VkXSAuY3Qtd2FpdGluZ3thbmltYXRpb246bm9uZX0uZmwtcGFnZXtnYXA6dmFyKC0tYWwtc3BhY2UtNik7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uZmwtcGFuZWx7Z2FwOnZhcigtLWFsLXNwYWNlLTUpO21heC1pbmxpbmUtc2l6ZTpjYWxjKHZhcigtLWFsLWxheW91dC1tYXgtY29udGVudCkgLyAyKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTYpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmZsLXBhbmVsPmgyLC5mbC1wYW5lbD5wLC5mbC1jb25maXJtIGgyLC5mbC1jb25maXJtIHB7bWFyZ2luOjB9LmZsLWxpc3R7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleH0uZmwtcm93e2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZGlzcGxheTpmbGV4fS5mbC1yb3ctbWFpbntvdmVyZmxvdy13cmFwOmFueXdoZXJlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OmF1dG87bWluLWlubGluZS1zaXplOjA7ZGlzcGxheTpmbGV4fS5mbC1lbnRlciwuZmwtY29uZmlybXtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uZmwtZm9sZGVye2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTtkaXNwbGF5OmZsZXh9LmZsLXdhcm5pbmdze2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpO2JvcmRlcjp2YXIoLS1hbC1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tYWwtY29sb3ItYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjA7ZGlzcGxheTpmbGV4fS5mbC13YXJuaW5ncyBsZWdlbmR7cGFkZGluZzowIHZhcigtLWFsLXNwYWNlLTIpfS5mbC13YXJuaW5ncyAuYWwtY2hlY2t7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uZmwtYWN0aW9uc3tnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5mbC1mZWVke2dhcDp2YXIoLS1hbC1zcGFjZS00KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5mbC1pdGVte2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWlubGluZS1zaXplOjA7ZGlzcGxheTpmbGV4fS5mbC1yb3ctbGl7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO21pbi1pbmxpbmUtc2l6ZTowO2xpc3Qtc3R5bGU6bm9uZX0uZmwtY2FyZHtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTMpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXhsKX0uZmwtaXRlbS1oZWFke2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO21pbi1pbmxpbmUtc2l6ZTowO2Rpc3BsYXk6ZmxleH0uZmwtbmFtZXttaW4taW5saW5lLXNpemU6MDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTEpIHZhcigtLWFsLXNwYWNlLTIpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOnZhcigtLWFsLWNvbG9yLWJnLXN1bmtlbik7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uZmwtaXRlbSBwLC5mbC1ub3RlIHB7bWFyZ2luOjB9LmZsLW1ldGEsLmZsLWNoaXBze2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6dmFyKC0tYWwtc3BhY2UtMikgdmFyKC0tYWwtc3BhY2UtNCk7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9LmZsLXN0YXRle292ZXJmbG93LXdyYXA6YW55d2hlcmV9LmZsLXJlY2VpcHR7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtkaXNwbGF5OmlubGluZS1mbGV4fS5mbC1ub3Rle2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmZsLXNyLW9ubHl7Y2xpcC1wYXRoOmluc2V0KDUwJSk7d2hpdGUtc3BhY2U6bm93cmFwO2Jsb2NrLXNpemU6MXB4O2lubGluZS1zaXplOjFweDttYXJnaW46LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59QG1lZGlhICh3aWR0aDw9NDByZW0pey5mbC1pdGVte3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtMyl9LmZsLW1ldGEsLmZsLWNoaXBze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fX0ucGYtbGF5b3V0e2dhcDp2YXIoLS1hbC1zcGFjZS03KTttYXJnaW4tdG9wOnZhcigtLWFsLXNwYWNlLTYpO2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTpmbGV4fS5wZi1zaWRle2ZsZXg6MSAxIGNhbGModmFyKC0tYWwtbGF5b3V0LW1heC1jb250ZW50KSAvIDIpO2dhcDp2YXIoLS1hbC1zcGFjZS01KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5wZi1zaWRlPnB7bWFyZ2luOjB9LnBmLWxpc3R7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4Ojk5OSAxIDA7bWluLWlubGluZS1zaXplOjU1JTtkaXNwbGF5OmZsZXh9LnBmLXRhYmxlLXdyYXB7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItYmctc3VyZmFjZSk7b3ZlcmZsb3cteDphdXRvfS5wZi10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7d2lkdGg6MTAwJX0ucGYtdGFibGUgdGgsLnBmLXRhYmxlIHRke3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTQpIHZhcigtLWFsLXNwYWNlLTUpO2JvcmRlci1ib3R0b206dmFyKC0tYWwtYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWFsLWNvbG9yLWJvcmRlci1kZWZhdWx0KTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnBmLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGR7Ym9yZGVyLWJvdHRvbTowfS5wZi10YWJsZSB0aHtjb2xvcjp2YXIoLS1hbC1jb2xvci1mZy1tdXRlZCl9LnBmLWRpcnthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2Rpc3BsYXk6aW5saW5lLWZsZXh9LnBmLW1vcmV7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5wZi1hY3Rpb25zLC5wZi1jb25maXJtLWFjdGlvbnN7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0ucGYtdG9wdXAsLnBmLWNvbmZpcm17YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6dmFyKC0tYWwtc3BhY2UtNCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0ucGYtdG9wdXAgaDIsLnBmLWNvbmZpcm0gaDIsLnBmLWZhY3Rze21hcmdpbjowfS5wZi1mYWN0c3tnYXA6dmFyKC0tYWwtc3BhY2UtMikgdmFyKC0tYWwtc3BhY2UtNSk7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1heC1jb250ZW50IDFmcjtkaXNwbGF5OmdyaWR9LnBmLWZhY3RzIGRke21hcmdpbjowfS5wZi1hZGRyZXNze3dvcmQtYnJlYWs6YnJlYWstYWxsOy13ZWJraXQtdXNlci1zZWxlY3Q6YWxsO3VzZXItc2VsZWN0OmFsbDtkaXNwbGF5OmJsb2NrfS5wZi1jb25maXJtLWZvcm17Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtpbmxpbmUtc2l6ZToxMDAlO2Rpc3BsYXk6ZmxleH0ucGYtYWR2YW5jZWR7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0ucGYtcXJ7aW5saW5lLXNpemU6MTAwJTttYXgtaW5saW5lLXNpemU6Y2FsYyh2YXIoLS1hbC1zcGFjZS0xMSkgKiAzKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1tZCl9LnBmLXFyLWJne2ZpbGw6dmFyKC0tYWwtY29sb3ItYmctaW52ZXJzZSl9LnBmLXFyLWRvdHtmaWxsOnZhcigtLWFsLWNvbG9yLWZnLWludmVyc2UpfVtkYXRhLXRoZW1lPWxpZ2h0XSAucGYtcXItYmd7ZmlsbDp2YXIoLS1hbC1jb2xvci1iZy1zdXJmYWNlKX1bZGF0YS10aGVtZT1saWdodF0gLnBmLXFyLWRvdHtmaWxsOnZhcigtLWFsLWNvbG9yLWZnLWRlZmF1bHQpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpezpyb290Om5vdChbZGF0YS10aGVtZV0pIC5wZi1xci1iZ3tmaWxsOnZhcigtLWFsLWNvbG9yLWJnLXN1cmZhY2UpfTpyb290Om5vdChbZGF0YS10aGVtZV0pIC5wZi1xci1kb3R7ZmlsbDp2YXIoLS1hbC1jb2xvci1mZy1kZWZhdWx0KX19LnBmLXNpZGUgLmFsLWNyZWRpdHMuYWwtc3VyZmFjZS0tbDJ7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2JvcmRlci1jb2xvcjojMDAwMH0ucGYtc2lkZSAuYWwtY3JlZGl0cy10b3B7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDp2YXIoLS1hbC1zcGFjZS00KX0ucGYtd2FpdGluZ3ttYXJnaW46MH0ucGYtcmluZ3tkaXNwbGF5OmNvbnRlbnRzfS5ybC1oZWFkZXJ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO21hcmdpbi1ib3R0b206dmFyKC0tYWwtc3BhY2UtNik7ZmxleC13cmFwOndyYXA7ZGlzcGxheTpmbGV4fS5ybC1oZWFkZXIgaDF7bWFyZ2luOnZhcigtLWFsLXNwYWNlLTIpIDAgMH0ucmwtZ3JvdXB7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO21hcmdpbi1ib3R0b206dmFyKC0tYWwtc3BhY2UtNyk7bWF4LXdpZHRoOnZhcigtLWFsLWxheW91dC1tYXgtY29udGVudCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0ucmwtZ3JvdXAgaDJ7bWFyZ2luOjB9LnJsLWNhcmR7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbn0ucmwtc3VtbWFyeXtnYXA6dmFyKC0tYWwtc3BhY2UtMyk7bWF4LXdpZHRoOnZhcigtLWFsLWxheW91dC1tYXgtY29udGVudCk7bWFyZ2luLWJvdHRvbTp2YXIoLS1hbC1zcGFjZS03KTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpIHZhcigtLWFsLXNwYWNlLTYpO2JvcmRlci1yYWRpdXM6dmFyKC0tYWwtcmFkaXVzLWxnKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5ybC1zdW1tYXJ5IGgyLC5ybC1zdW1tYXJ5IHB7bWFyZ2luOjB9LnJsLXN1bW1hcnktbGlzdHtnYXA6dmFyKC0tYWwtc3BhY2UtMykgdmFyKC0tYWwtc3BhY2UtNyk7ZmxleC13cmFwOndyYXA7bWFyZ2luOjA7ZGlzcGxheTpmbGV4fS5ybC1zdW1tYXJ5LWxpc3Q-ZGl2e2dhcDp2YXIoLS1hbC1zcGFjZS0xKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5ybC1zdW1tYXJ5LWxpc3QgZHR7Y29sb3I6dmFyKC0tYWwtY29sb3ItZmctbXV0ZWQpfS5ybC1zdW1tYXJ5LWxpc3QgZGR7bWFyZ2luOjB9LnJsLXJvd3tnYXA6dmFyKC0tYWwtc3BhY2UtNCk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS01KSB2YXIoLS1hbC1zcGFjZS02KTtib3JkZXItdG9wOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3VidGxlKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5ybC1yb3c6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcDowfS5ybC1yb3cuaXMtY29tbWl0e2JhY2tncm91bmQ6dmFyKC0tYWwtY29sb3ItY29tbWl0bWVudC1iZyl9LnJsLXJvdy5pcy1jb21taXQgLmFsLW11dGVke2NvbG9yOnZhcigtLWFsLWNvbG9yLWNvbW1pdG1lbnQtZmcpfS5ybC1yb3ctbWFpbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleH0ucmwtcm93LXRleHR7Z2FwOnZhcigtLWFsLXNwYWNlLTEpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjEgMSBjYWxjKHZhcigtLWFsLWxheW91dC1tYXgtY29udGVudCkgLyAzKTtkaXNwbGF5OmZsZXh9LnJsLXJvdy1jb250cm9se2ZsZXg6MCBhdXRvfS5ybC1yb3ctZXh0cmE-cHttYXJnaW46MH0ucmwtZmllbGRze2dhcDp2YXIoLS1hbC1zcGFjZS01KTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9LnJsLWZpZWxkcz4qe2ZsZXg6MSAxIGNhbGModmFyKC0tYWwtbGF5b3V0LW1heC1jb250ZW50KSAvIDQpfS5ybC1saW1pdHN7Z2FwOnZhcigtLWFsLXNwYWNlLTUpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LnJsLXRvZ2dsZXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTIpO2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5OmlubGluZS1mbGV4fS5ybC10b2dnbGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hbC1jb2xvci1mb2N1cy1yaW5nKTtvdXRsaW5lLW9mZnNldDoycHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1hbC1yYWRpdXMtc20pfS5ybC11bnNhdmVke2JvdHRvbTp2YXIoLS1hbC1zcGFjZS00KTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWFsLXNwYWNlLTQpO21heC13aWR0aDp2YXIoLS1hbC1sYXlvdXQtbWF4LWNvbnRlbnQpO3BhZGRpbmc6dmFyKC0tYWwtc3BhY2UtNCkgdmFyKC0tYWwtc3BhY2UtNSk7Ym9yZGVyOnZhcigtLWFsLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1hbC1jb2xvci1ib3JkZXItc3Ryb25nKTtib3JkZXItcmFkaXVzOnZhcigtLWFsLXJhZGl1cy1sZyk7YmFja2dyb3VuZDp2YXIoLS1hbC1jb2xvci1iZy1yYWlzZWQpO2JveC1zaGFkb3c6dmFyKC0tYWwtc2hhZG93LTIpO2ZsZXgtd3JhcDp3cmFwO2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpzdGlja3l9LnJsLXVuc2F2ZWQtYWN0aW9ucywucmwtY29uZmlybS1hY3Rpb25ze2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtmbGV4LXdyYXA6d3JhcDtkaXNwbGF5OmZsZXh9LnJsLWNvbmZpcm0tYWN0aW9uc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnJsLWNvbmZpcm0tYm9keXtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7cGFkZGluZzp2YXIoLS1hbC1zcGFjZS01KSB2YXIoLS1hbC1zcGFjZS02KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5ybC1jb25maXJtLWJvZHk-cHttYXJnaW46MH0ucmwtd2FybmluZ3N7Z2FwOnZhcigtLWFsLXNwYWNlLTMpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lO2Rpc3BsYXk6ZmxleH0ucmwtd2FybmluZ3thbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5ybC13YXJuaW5nIGlucHV0e21hcmdpbi10b3A6dmFyKC0tYWwtc3BhY2UtMSk7ZmxleDpub25lfS5ybC1lcnJvcntjb2xvcjp2YXIoLS1hbC1jb2xvci1zdGF0dXMtZGFuZ2VyLWZnKTttYXJnaW46MH0uYWItcGFnZXtnYXA6dmFyKC0tYWwtc3BhY2UtNSk7bWF4LXdpZHRoOnZhcigtLWFsLWxheW91dC1tYXgtY29udGVudCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uYWItcGFnZSBoMSwuYWItcGFnZSBoMiwuYWItcGFnZSBwe21hcmdpbjowfS5hYi1zZWN0aW9ue2dhcDp2YXIoLS1hbC1zcGFjZS0zKTtwYWRkaW5nOnZhcigtLWFsLXNwYWNlLTUpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5OmZsZXh9LmFiLWxpbmtze2dhcDp2YXIoLS1hbC1zcGFjZS0yKTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmZsZXh9Ci8qJHZpdGUkOjEqLw"],
54268
+ ["assets/surface-DvG0Wkz-.js", "aW1wb3J0e2kgYXMgZSxvIGFzIHQscyBhcyBufWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7dmFyIHI9bigpLGk9dCgpLGE9bmV3IE1hcDtmdW5jdGlvbiBvKGUpe2xldCB0PVtdO2ZvcihsZXQgbj1lO24hPT1kb2N1bWVudC5ib2R5Oyl7bGV0IGU9bi5wYXJlbnRFbGVtZW50O2lmKGU9PT1udWxsKWJyZWFrO2ZvcihsZXQgciBvZiBBcnJheS5mcm9tKGUuY2hpbGRyZW4pKXtpZihyPT09biljb250aW51ZTtsZXQgZT1hLmdldChyKTtpZihlPT09dm9pZCAwKXtpZihyLmhhc0F0dHJpYnV0ZShgaW5lcnRgKSljb250aW51ZTtyLnNldEF0dHJpYnV0ZShgaW5lcnRgLGBgKSxhLnNldChyLDEpfWVsc2UgYS5zZXQocixlKzEpO3QucHVzaChyKX1uPWV9cmV0dXJuKCk9Pntmb3IobGV0IGUgb2YgdCl7bGV0IHQ9KGEuZ2V0KGUpPz8xKS0xO3Q8PTA_KGEuZGVsZXRlKGUpLGUucmVtb3ZlQXR0cmlidXRlKGBpbmVydGApKTphLnNldChlLHQpfX19ZnVuY3Rpb24gcyh7bGV2ZWw6dD0xLGludGVyYWN0aXZlOm49ITEsYXM6aT1gZGl2YCxjbGFzc05hbWU6YSxjaGlsZHJlbjpvLC4uLnN9KXtyZXR1cm4oMCxyLmNyZWF0ZUVsZW1lbnQpKGksey4uLnMsY2xhc3NOYW1lOmUoYGFsLXN1cmZhY2VgLGBhbC1zdXJmYWNlLS0ke3Q9PT1gcmVjZXNzZWRgP2ByZWNlc3NlZGA6YGwke3R9YH1gLG4mJnQhPT00JiZgYWwtc3VyZmFjZS0taW50ZXJhY3RpdmVgLGEpLCJkYXRhLWxldmVsIjpTdHJpbmcodCl9LG8pfXZhciBjPWBidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSlgO2Z1bmN0aW9uIGwoZSx0LG4saSl7bGV0IGE9KDAsci51c2VSZWYpKGkpO3JldHVybiBhLmN1cnJlbnQ9aSwoMCxyLnVzZUxheW91dEVmZmVjdCkoKCk9PntpZihlJiZ0LmN1cnJlbnQhPT1udWxsKXJldHVybiBvKHQuY3VycmVudCl9LFtlLHRdKSwoMCxyLnVzZUVmZmVjdCkoKCk9PntpZighZSlyZXR1cm47bGV0IHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtyZXR1cm4gbi5jdXJyZW50Py5mb2N1cygpLCgpPT57dCE9PW51bGwmJnR5cGVvZiB0LmZvY3VzPT1gZnVuY3Rpb25gJiZkb2N1bWVudC5jb250YWlucyh0KSYmdC5mb2N1cygpfX0sW2Usbl0pLGU9PntpZihlLmtleT09PWBFc2NhcGVgKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxhLmN1cnJlbnQoKTtyZXR1cm59aWYoZS5rZXkhPT1gVGFiYHx8dC5jdXJyZW50PT09bnVsbClyZXR1cm47bGV0IHI9Wy4uLnQuY3VycmVudC5xdWVyeVNlbGVjdG9yQWxsKGMpXS5maWx0ZXIoZT0-IWUuZGlzYWJsZWQpLGk9clswXSxvPXJbci5sZW5ndGgtMV07aWYoaT09PXZvaWQgMHx8bz09PXZvaWQgMClyZXR1cm47bGV0IHM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtlLnNoaWZ0S2V5JiYocz09PWl8fHM9PT1uLmN1cnJlbnQpPyhlLnByZXZlbnREZWZhdWx0KCksby5mb2N1cygpKTohZS5zaGlmdEtleSYmcz09PW8mJihlLnByZXZlbnREZWZhdWx0KCksaS5mb2N1cygpKX19ZnVuY3Rpb24gdSh7b3Blbjp0LHRpdGxlOm4sb25DbG9zZTphLGNsb3NlTGFiZWw6bz1gQ2xvc2VgLGNsYXNzTmFtZTpzLGNoaWxkcmVuOmN9KXtsZXQgdT0oMCxyLnVzZUlkKSgpLGQ9KDAsci51c2VSZWYpKG51bGwpLGY9KDAsci51c2VSZWYpKG51bGwpLHA9bCh0LGQsZixhKTtyZXR1cm4gdD8oMCxpLmpzeHMpKGBhc2lkZWAse3JlZjpkLGNsYXNzTmFtZTplKGBhbC1zdXJmYWNlYCxgYWwtc3VyZmFjZS0tbDNgLGBhbC1zaGVldGAscyksImRhdGEtbGV2ZWwiOmAzYCxyb2xlOmBkaWFsb2dgLCJhcmlhLW1vZGFsIjpgdHJ1ZWAsImFyaWEtbGFiZWxsZWRieSI6YCR7dX0tdGl0bGVgLG9uS2V5RG93bjpwLGNoaWxkcmVuOlsoMCxpLmpzeHMpKGBoZWFkZXJgLHtjbGFzc05hbWU6YGFsLXNoZWV0LWhlYWRgLGNoaWxkcmVuOlsoMCxpLmpzeCkoYGgyYCx7aWQ6YCR7dX0tdGl0bGVgLHJlZjpmLGNsYXNzTmFtZTpgYWwtc2hlZXQtdGl0bGVgLHRhYkluZGV4Oi0xLGNoaWxkcmVuOm59KSwoMCxpLmpzeCkoYGJ1dHRvbmAse3R5cGU6YGJ1dHRvbmAsY2xhc3NOYW1lOmBhbC1zaGVldC1jbG9zZWAsImFyaWEtbGFiZWwiOm8sb25DbGljazphLGNoaWxkcmVuOigwLGkuanN4KShgc3BhbmAseyJhcmlhLWhpZGRlbiI6YHRydWVgLGNoaWxkcmVuOmDDl2B9KX0pXX0pLCgwLGkuanN4KShgZGl2YCx7Y2xhc3NOYW1lOmBhbC1zaGVldC1ib2R5YCxjaGlsZHJlbjpjfSldfSk6bnVsbH1leHBvcnR7cyBhcyBuLG8gYXMgcix1IGFzIHR9Ow"],
54269
+ ["assets/trust-DIYGRtqi.js", "aW1wb3J0e2EgYXMgZSxpIGFzIHQsbyBhcyBuLHIsdCBhcyBpfWZyb20iLi9icmFuZC1Cei0yTTllai5qcyI7dmFyIGE9bigpLG89LyhodHRwcz86XC9cL1teXHNdKykvZztmdW5jdGlvbiBzKGUpe3RyeXtyZXR1cm4gbmV3IFVSTChlKS5ob3N0bmFtZX1jYXRjaHtyZXR1cm5gbGlua2B9fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUuc3BsaXQobykubWFwKChlLHQpPT57aWYodCUyPT0wKXJldHVybiBlO2xldCBuPXIocyhlKSwyNTMpO3JldHVybigwLGEuanN4cykoYHNwYW5gLHtjbGFzc05hbWU6YGFsLWluZXJ0LWxpbmtgLHRpdGxlOmBMaW5rIG5vdCBvcGVuZWQuIERvbWFpbjogJHtufWAsY2hpbGRyZW46WygwLGEuanN4KShpLHtuYW1lOmBleWUtb2ZmYCxzaXplOjEyfSksbl19LHQpfSl9ZnVuY3Rpb24gbCh7ZnJvbTpuLHVua25vd246byxmaW5nZXJwcmludDpzLGtpbmQ6bCxmaWxlTmFtZTp1LGNoaWxkcmVuOmQsY2xhc3NOYW1lOmZ9KXtsZXQgcD1vPT09ITAsbT1wP2BSZXF1ZXN0IGZyb20gYW4gdW5rbm93biBzZW5kZXIke3M9PT12b2lkIDA_YGA6YCDCtyAke3Iocyw2NCl9YH06IHRoZWlyIHdvcmRzLCBub3QgaW5zdHJ1Y3Rpb25zYDpgRnJvbSAke3Iobj8_YHRoaXMgc2VuZGVyYCwxMDApfTogdGhlaXIgd29yZHMsIG5vdCBpbnN0cnVjdGlvbnNgO3JldHVybigwLGEuanN4cykoYGZpZ3VyZWAse2NsYXNzTmFtZTp0KGBhbC11bnRydXN0ZWRgLHAmJmBpcy11bmtub3duYCxmKSxyb2xlOmBncm91cGAsImFyaWEtbGFiZWwiOm0sY2hpbGRyZW46WygwLGEuanN4cykoYGZpZ2NhcHRpb25gLHtjbGFzc05hbWU6YGFsLXVudHJ1c3RlZC1sYWJlbCBhbC10ZXh0LWJvZHktc21gLGNoaWxkcmVuOlsoMCxhLmpzeCkoaSx7bmFtZTpgdW50cnVzdGVkYCxzaXplOjE0fSksKDAsYS5qc3gpKGBzcGFuYCx7Y2hpbGRyZW46bX0pLGw9PT12b2lkIDA_bnVsbDooMCxhLmpzeCkoYHNwYW5gLHtjbGFzc05hbWU6YGFsLXVudHJ1c3RlZC1raW5kIGFsLXRleHQtbGFiZWxgLGNoaWxkcmVuOmUobCl9KV19KSwoMCxhLmpzeCkoYGRpdmAse2NsYXNzTmFtZTpgYWwtdW50cnVzdGVkLWJvZHkgYWwtdGV4dC1ib2R5YCxjaGlsZHJlbjp1PT09dm9pZCAwP2MocihkPz9gYCwxZTQsITApKTooMCxhLmpzeCkoYGNvZGVgLHtjbGFzc05hbWU6YGFsLXRleHQtY29kZWAsY2hpbGRyZW46cih1LDgwKX0pfSldfSl9ZXhwb3J0e2wgYXMgdH07"],
54270
+ ["index.html", "PCFkb2N0eXBlIGh0bWw-CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgPG1ldGEgbmFtZT0iYWdlbnRsaW5rLWNzcmYiIGNvbnRlbnQ9IiIgLz4KICAgIDx0aXRsZT5BZ2VudExpbms8L3RpdGxlPgogICAgPHNjcmlwdCB0eXBlPSJtb2R1bGUiIGNyb3Nzb3JpZ2luIHNyYz0iL2Fzc2V0cy9pbmRleC0xQk5oeXRzMC5qcyI-PC9zY3JpcHQ-CiAgICA8bGluayByZWw9Im1vZHVsZXByZWxvYWQiIGNyb3Nzb3JpZ2luIGhyZWY9Ii9hc3NldHMvYnJhbmQtQnotMk05ZWouanMiPgogICAgPGxpbmsgcmVsPSJtb2R1bGVwcmVsb2FkIiBjcm9zc29yaWdpbiBocmVmPSIvYXNzZXRzL2Zvcm1zLUJ2S3ZOSE1aLmpzIj4KICAgIDxsaW5rIHJlbD0ibW9kdWxlcHJlbG9hZCIgY3Jvc3NvcmlnaW4gaHJlZj0iL2Fzc2V0cy9zdXJmYWNlLUR2RzBXa3otLmpzIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgY3Jvc3NvcmlnaW4gaHJlZj0iL2Fzc2V0cy9zdHlsZS1CLUhWSHhmMy5jc3MiPgogIDwvaGVhZD4KICA8Ym9keT4KICAgIDxkaXYgaWQ9InJvb3QiPjwvZGl2PgogIDwvYm9keT4KPC9odG1sPgo"]
54251
54271
  ]);
54252
54272
  }
54253
54273
  var BASE64URL;