/** * LightDMMock "class" * * @author Roel Walraven * * A LightDM Mock that is tightly based on the source C code of * Antergos' lightdm-webkit2-greeter. Please note that the deprecation errors * are intrusive for a reason. * * Usage: * Include the file in your theme that needs mocking * * Create a new instance of LightDMMock * if(!("lightdm" in window)) { * var LightDMMock = LightDMMock || {}; * window.lightdm = new LightDMMock(autofill, timeout, autoGuest); * } * * @param {boolean} autofill [wether or not the arrays for users, languages, * layouts, and sessions need to be filled with mock * data. I advise to test both to make your theme * less prone to crashing.] * @param {number} timeout [Value to use for simulated autologin (this value * is in seconds).] * @param {boolean} autoGuest [Wether or not to simulate automatic guest login. * This will also enable a guest account * in lightdm.has_guest_account] */ "use strict"; function LightDMMock(autofill, timeout, autoGuest) { this.hostname = null; this.users = null; this.default_language = null; this.language = null; this.languages = null; this.default_layout = null; this.layouts = null; this.layout = null; this.sessions = null; this.num_users = 0; this.default_session = null; this.timed_login_user = null; this.timed_login_delay = null; this.authentication_user = null; this.in_authentication = false; this.is_authenticated = false; this.can_suspend = false; this.can_hibernate = false; this.can_restart = false; this.can_shutdown = false; this.lock_hint = false; this.has_guest_account = false; this.hide_users = false; this.select_user = null; this.select_guest = false; this.autologin_user = null; this.autologin_guest = false; this.autologin_timeout = 0; if(typeof autofill === "boolean" && autofill) { this.users = JSON.parse(atob("W3siZGlzcGxheV9uYW1lIjoiQWxleGFuZGVyIHRoZSBHcmVhdCIsImxhbmd1YWdlIjoiZ3JfR1IiLCJyZWFsX25hbWUiOiJCYXNpbGV1cyIsImxheW91dCI6bnVsbCwiaW1hZ2UiOiJtb2NrL2Jhc2lsZXVzYWxleC8uZmFjZSIsImhvbWVfZGlyZWN0b3J5IjoibW9jay9iYXNpbGV1c2FsZXgiLCJuYW1lIjoiYmFzaWxldXNhbGV4IiwibG9nZ2VkX2luIjpmYWxzZSwic2Vzc2lvbiI6bnVsbH0seyJkaXNwbGF5X25hbWUiOiJOYXBvbGVvbiBCb25hcGFydGUiLCJsYW5ndWFnZSI6ImZyX0ZSIiwicmVhbF9uYW1lIjoiTmFwb2xlb24gQm9uYXBhcnRlIiwibGF5b3V0IjpudWxsLCJpbWFnZSI6Im1vY2svbmFwb2xlb25pYi8uZmFjZSIsImhvbWVfZGlyZWN0b3J5IjoibW9jay9uYXBvbGVvbmliIiwibmFtZSI6Im5hcG9sZW9uaWIiLCJsb2dnZWRfaW4iOmZhbHNlLCJzZXNzaW9uIjpudWxsfSx7ImRpc3BsYXlfbmFtZSI6IkdhaXVzIE9jdGF2aXVzIiwibGFuZ3VhZ2UiOiJpdF9JVCIsInJlYWxfbmFtZSI6IkdhaXVzIE9jdGF2aXVzIiwibGF5b3V0IjpudWxsLCJpbWFnZSI6Im1vY2svaW1wZXJhdG9yYXVndXN0dXMvLmZhY2UiLCJob21lX2RpcmVjdG9yeSI6Im1vY2svaW1wZXJhdG9yYXVndXN0dXMiLCJuYW1lIjoiaW1wZXJhdG9yYXVndXN0dXMiLCJsb2dnZWRfaW4iOmZhbHNlLCJzZXNzaW9uIjpudWxsfSx7ImRpc3BsYXlfbmFtZSI6IlNpciBXaW5zdG9uIExlb25hcmQgU3BlbmNlci1DaHVyY2hpbGwiLCJsYW5ndWFnZSI6ImVuX0dCIiwicmVhbF9uYW1lIjoiU2lyIFdpbnN0b24gTGVvbmFyZCBTcGVuY2VyLUNodXJjaGlsbCIsImxheW91dCI6bnVsbCwiaW1hZ2UiOiJtb2NrL2hvbm91cmFibGV3aW5zdG9uLy5mYWNlIiwiaG9tZV9kaXJlY3RvcnkiOiJtb2NrL2hvbm91cmFibGV3aW5zdG9uIiwibmFtZSI6Imhvbm91cmFibGV3aW5zdG9uIiwibG9nZ2VkX2luIjpmYWxzZSwic2Vzc2lvbiI6bnVsbH0seyJkaXNwbGF5X25hbWUiOiJQZXRlciBBbGVrc2V5ZXZpY2ggUm9tYW5vdiIsImxhbmd1YWdlIjoicnVfUlUiLCJyZWFsX25hbWUiOiJQZXRlciBBbGVrc2V5ZXZpY2ggUm9tYW5vdiIsImxheW91dCI6bnVsbCwiaW1hZ2UiOiJtb2NrL3BldGVyYWxleGV5ZXZpY2gvLmZhY2UiLCJob21lX2RpcmVjdG9yeSI6Im1vY2svcGV0ZXJhbGV4ZXlldmljaCIsIm5hbWUiOiJwZXRlcmFsZXhleWV2aWNoIiwibG9nZ2VkX2luIjpmYWxzZSwic2Vzc2lvbiI6bnVsbH0seyJkaXNwbGF5X25hbWUiOiJKb2huIEZpdHpnZXJhbGQgS2VubmVkeSIsImxhbmd1YWdlIjoiZW5fVVMiLCJyZWFsX25hbWUiOiJKb2huIEZpdHpnZXJhbGQgS2VubmVkeSIsImxheW91dCI6bnVsbCwiaW1hZ2UiOiJtb2NrL2phY2trZW5uZWR5Ly5mYWNlIiwiaG9tZV9kaXJlY3RvcnkiOiJtb2NrL2phY2trZW5uZWR5IiwibmFtZSI6ImphY2trZW5uZWR5IiwibG9nZ2VkX2luIjpmYWxzZSwic2Vzc2lvbiI6bnVsbH0seyJkaXNwbGF5X25hbWUiOiJNdWhhbW1lZCBiaW4gTXVyYWQiLCJsYW5ndWFnZSI6InRyX1RSIiwicmVhbF9uYW1lIjoiTXVoYW1tZWQgYmluIE11cmFkIiwibGF5b3V0IjpudWxsLCJpbWFnZSI6Im1vY2svbWVobWVkaXNhbmkvLmZhY2UiLCJob21lX2RpcmVjdG9yeSI6Im1vY2svbWVobWVkaXNhbmkiLCJuYW1lIjoibWVobWVkaXNhbmkiLCJsb2dnZWRfaW4iOmZhbHNlLCJzZXNzaW9uIjpudWxsfSx7ImRpc3BsYXlfbmFtZSI6Ikd1c3RhdnVzIEFkb2xwaHVzIiwibGFuZ3VhZ2UiOiJzdl9TRSIsInJlYWxfbmFtZSI6Ikd1c3RhdnVzIEFkb2xwaHVzIiwibGF5b3V0IjpudWxsLCJpbWFnZSI6Im1vY2svZ3VzdGF2Mi8uZmFjZSIsImhvbWVfZGlyZWN0b3J5IjoibW9jay9ndXN0YXYyIiwibmFtZSI6Imd1c3RhdjIiLCJsb2dnZWRfaW4iOmZhbHNlLCJzZXNzaW9uIjpudWxsfSx7ImRpc3BsYXlfbmFtZSI6Ik1hbyBaZWRvbmciLCJsYW5ndWFnZSI6InRyX1RSIiwicmVhbF9uYW1lIjoiTWFvIFplZG9uZyIsImxheW91dCI6bnVsbCwiaW1hZ2UiOiJtb2NrL2NoYWlybWFuemVkb25nLy5mYWNlIiwiaG9tZV9kaXJlY3RvcnkiOiJtb2NrL2NoYWlybWFuemVkb25nIiwibmFtZSI6ImNoYWlybWFuemVkb25nIiwibG9nZ2VkX2luIjpmYWxzZSwic2Vzc2lvbiI6bnVsbH0seyJkaXNwbGF5X25hbWUiOiJFcmlrIFRob3J2YWxkc3NvbiIsImxhbmd1YWdlIjoibm9fTk8iLCJyZWFsX25hbWUiOiJFcmlrIFRob3J2YWxkc3NvbiIsImxheW91dCI6bnVsbCwiaW1hZ2UiOiJtb2NrL3JlZHRob3J2YWxkLy5mYWNlIiwiaG9tZV9kaXJlY3RvcnkiOiJtb2NrL3JlZHRob3J2YWxkIiwibmFtZSI6InJlZHRob3J2YWxkIiwibG9nZ2VkX2luIjpmYWxzZSwic2Vzc2lvbiI6bnVsbH0seyJkaXNwbGF5X25hbWUiOiJDcmlzdG9mb3JvIENvbG9tYm8iLCJsYW5ndWFnZSI6Iml0X0lUIiwicmVhbF9uYW1lIjoiQ3Jpc3RvZm9ybyBDb2xvbWJvIiwibGF5b3V0IjpudWxsLCJpbWFnZSI6Im1vY2svY3Jpc3RvY29sb21iby8uZmFjZSIsImhvbWVfZGlyZWN0b3J5IjoibW9jay9jcmlzdG9jb2xvbWJvIiwibmFtZSI6ImNyaXN0b2NvbG9tYm8iLCJsb2dnZWRfaW4iOmZhbHNlLCJzZXNzaW9uIjpudWxsfSx7ImRpc3BsYXlfbmFtZSI6IldpbGxlbSB2YW4gT3JhbmplIiwibGFuZ3VhZ2UiOiJubF9OTCIsInJlYWxfbmFtZSI6IldpbGxlbSB2YW4gT3JhbmplIiwibGF5b3V0IjpudWxsLCJpbWFnZSI6Im1vY2svc2lsZW50d2lsbC8uZmFjZSIsImhvbWVfZGlyZWN0b3J5IjoibW9jay9zaWxlbnR3aWxsIiwibmFtZSI6InNpbGVudHdpbGwiLCJsb2dnZWRfaW4iOmZhbHNlLCJzZXNzaW9uIjpudWxsfSx7ImRpc3BsYXlfbmFtZSI6IkdlbmdoaXMgS2hhbiIsImxhbmd1YWdlIjoibW5fTU4iLCJyZWFsX25hbWUiOiJHZW5naGlzIEtoYW4iLCJsYXlvdXQiOm51bGwsImltYWdlIjoibW9jay9raGFnYW50ZW11amluLy5mYWNlIiwiaG9tZV9kaXJlY3RvcnkiOiJtb2NrL2toYWdhbnRlbXVqaW4iLCJuYW1lIjoia2hhZ2FudGVtdWppbiIsImxvZ2dlZF9pbiI6ZmFsc2UsInNlc3Npb24iOm51bGx9LHsiZGlzcGxheV9uYW1lIjoiTWlraGFpbCBTZXJnZXlldmljaCBHb3JiYWNoZXYiLCJsYW5ndWFnZSI6InJ1X1JVIiwicmVhbF9uYW1lIjoiTWlraGFpbCBTZXJnZXlldmljaCBHb3JiYWNoZXYiLCJsYXlvdXQiOm51bGwsImltYWdlIjoibW9jay9nb3JiYWNoZXYvLmZhY2UiLCJob21lX2RpcmVjdG9yeSI6Im1vY2svZ29yYmFjaGV2IiwibmFtZSI6ImdvcmJhY2hldiIsImxvZ2dlZF9pbiI6ZmFsc2UsInNlc3Npb24iOm51bGx9LHsiZGlzcGxheV9uYW1lIjoiTWVpamkiLCJsYW5ndWFnZSI6ImpwX0pQIiwicmVhbF9uYW1lIjoiTWVpamkiLCJsYXlvdXQiOm51bGwsImltYWdlIjoibW9jay9tZWlqaXRhaXRlaS8uZmFjZSIsImhvbWVfZGlyZWN0b3J5IjoibW9jay9tZWlqaXRhaXRlaSIsIm5hbWUiOiJtZWlqaXRhaXRlaSIsImxvZ2dlZF9pbiI6ZmFsc2UsInNlc3Npb24iOm51bGx9XQ==")); this.languages = JSON.parse(atob("W3sibmFtZSI6IkVuZ2xpc2giLCJjb2RlIjoiZW4iLCJ0ZXJyaXRvcnkiOm51bGx9XQ==")); this.layouts = JSON.parse(atob("W3sibmFtZSI6InVzIiwic2hvcnRfZGVzY3JpcHRpb24iOiJlbiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoVVMpIn0seyJuYW1lIjoidXNcdGNociIsInNob3J0X2Rlc2NyaXB0aW9uIjoiY2hyIiwiZGVzY3JpcHRpb24iOiJDaGVyb2tlZSJ9LHsibmFtZSI6InVzXHRldXJvIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKFVTLCB3aXRoIGV1cm8gb24gNSkifSx7Im5hbWUiOiJ1c1x0aW50bCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChVUywgaW50ZXJuYXRpb25hbCB3aXRoIGRlYWQga2V5cykifSx7Im5hbWUiOiJ1c1x0YWx0LWludGwiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoVVMsIGFsdGVybmF0aXZlIGludGVybmF0aW9uYWwpIn0seyJuYW1lIjoidXNcdGNvbGVtYWsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoQ29sZW1haykifSx7Im5hbWUiOiJ1c1x0ZHZvcmFrIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKER2b3JhaykifSx7Im5hbWUiOiJ1c1x0ZHZvcmFrLWludGwiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoRHZvcmFrLCBpbnRlcm5hdGlvbmFsIHdpdGggZGVhZCBrZXlzKSJ9LHsibmFtZSI6InVzXHRkdm9yYWstYWx0LWludGwiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoRHZvcmFrIGFsdGVybmF0aXZlIGludGVybmF0aW9uYWwgbm8gZGVhZCBrZXlzKSJ9LHsibmFtZSI6InVzXHRkdm9yYWstbCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChsZWZ0IGhhbmRlZCBEdm9yYWspIn0seyJuYW1lIjoidXNcdGR2b3Jhay1yIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKHJpZ2h0IGhhbmRlZCBEdm9yYWspIn0seyJuYW1lIjoidXNcdGR2b3Jhay1jbGFzc2ljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKGNsYXNzaWMgRHZvcmFrKSJ9LHsibmFtZSI6InVzXHRkdnAiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAocHJvZ3JhbW1lciBEdm9yYWspIn0seyJuYW1lIjoidXNcdHJ1cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoicnUiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gKFVTLCBwaG9uZXRpYykifSx7Im5hbWUiOiJ1c1x0bWFjIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKE1hY2ludG9zaCkifSx7Im5hbWUiOiJ1c1x0YWx0Z3ItaW50bCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChpbnRlcm5hdGlvbmFsIEFsdEdyIGRlYWQga2V5cykifSx7Im5hbWUiOiJ1c1x0b2xwYzIiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAodGhlIGRpdmlkZS9tdWx0aXBseSBrZXlzIHRvZ2dsZSB0aGUgbGF5b3V0KSJ9LHsibmFtZSI6InVzXHRoYnMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU2VyYm8tQ3JvYXRpYW4gKFVTKSJ9LHsibmFtZSI6InVzXHR3b3JrbWFuIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKFdvcmttYW4pIn0seyJuYW1lIjoidXNcdHdvcmttYW4taW50bCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChXb3JrbWFuLCBpbnRlcm5hdGlvbmFsIHdpdGggZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImFmIiwic2hvcnRfZGVzY3JpcHRpb24iOiJmYSIsImRlc2NyaXB0aW9uIjoiQWZnaGFuaSJ9LHsibmFtZSI6ImFmXHRwcyIsInNob3J0X2Rlc2NyaXB0aW9uIjoicHMiLCJkZXNjcmlwdGlvbiI6IlBhc2h0byJ9LHsibmFtZSI6ImFmXHR1eiIsInNob3J0X2Rlc2NyaXB0aW9uIjoidXoiLCJkZXNjcmlwdGlvbiI6IlV6YmVrIChBZmdoYW5pc3RhbikifSx7Im5hbWUiOiJhZlx0b2xwYy1wcyIsInNob3J0X2Rlc2NyaXB0aW9uIjoicHMiLCJkZXNjcmlwdGlvbiI6IlBhc2h0byAoQWZnaGFuaXN0YW4sIE9MUEMpIn0seyJuYW1lIjoiYWZcdGZhLW9scGMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImZhIiwiZGVzY3JpcHRpb24iOiJQZXJzaWFuIChBZmdoYW5pc3RhbiwgRGFyaSBPTFBDKSJ9LHsibmFtZSI6ImFmXHR1ei1vbHBjIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ1eiIsImRlc2NyaXB0aW9uIjoiVXpiZWsgKEFmZ2hhbmlzdGFuLCBPTFBDKSJ9LHsibmFtZSI6ImFyYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYXIiLCJkZXNjcmlwdGlvbiI6IkFyYWJpYyJ9LHsibmFtZSI6ImFyYVx0YXplcnR5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkFyYWJpYyAoYXplcnR5KSJ9LHsibmFtZSI6ImFyYVx0YXplcnR5X2RpZ2l0cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJBcmFiaWMgKGF6ZXJ0eS9kaWdpdHMpIn0seyJuYW1lIjoiYXJhXHRkaWdpdHMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQXJhYmljIChkaWdpdHMpIn0seyJuYW1lIjoiYXJhXHRxd2VydHkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQXJhYmljIChxd2VydHkpIn0seyJuYW1lIjoiYXJhXHRxd2VydHlfZGlnaXRzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkFyYWJpYyAocXdlcnR5L2RpZ2l0cykifSx7Im5hbWUiOiJhcmFcdGJ1Y2t3YWx0ZXIiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQXJhYmljIChCdWNrd2FsdGVyKSJ9LHsibmFtZSI6ImFsIiwic2hvcnRfZGVzY3JpcHRpb24iOiJzcSIsImRlc2NyaXB0aW9uIjoiQWxiYW5pYW4ifSx7Im5hbWUiOiJhbSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiaHkiLCJkZXNjcmlwdGlvbiI6IkFybWVuaWFuIn0seyJuYW1lIjoiYW1cdHBob25ldGljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkFybWVuaWFuIChwaG9uZXRpYykifSx7Im5hbWUiOiJhbVx0cGhvbmV0aWMtYWx0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkFybWVuaWFuIChhbHRlcm5hdGl2ZSBwaG9uZXRpYykifSx7Im5hbWUiOiJhbVx0ZWFzdGVybiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJBcm1lbmlhbiAoZWFzdGVybikifSx7Im5hbWUiOiJhbVx0d2VzdGVybiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJBcm1lbmlhbiAod2VzdGVybikifSx7Im5hbWUiOiJhbVx0ZWFzdGVybi1hbHQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQXJtZW5pYW4gKGFsdGVybmF0aXZlIGVhc3Rlcm4pIn0seyJuYW1lIjoiYXQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImRlIiwiZGVzY3JpcHRpb24iOiJHZXJtYW4gKEF1c3RyaWEpIn0seyJuYW1lIjoiYXRcdG5vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiR2VybWFuIChBdXN0cmlhLCBlbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImF0XHRzdW5kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJHZXJtYW4gKEF1c3RyaWEsIFN1biBkZWFkIGtleXMpIn0seyJuYW1lIjoiYXRcdG1hYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJHZXJtYW4gKEF1c3RyaWEsIE1hY2ludG9zaCkifSx7Im5hbWUiOiJheiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYXoiLCJkZXNjcmlwdGlvbiI6IkF6ZXJiYWlqYW5pIn0seyJuYW1lIjoiYXpcdGN5cmlsbGljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkF6ZXJiYWlqYW5pIChDeXJpbGxpYykifSx7Im5hbWUiOiJieSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYnkiLCJkZXNjcmlwdGlvbiI6IkJlbGFydXNpYW4ifSx7Im5hbWUiOiJieVx0bGVnYWN5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkJlbGFydXNpYW4gKGxlZ2FjeSkifSx7Im5hbWUiOiJieVx0bGF0aW4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQmVsYXJ1c2lhbiAoTGF0aW4pIn0seyJuYW1lIjoiYmUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImJlIiwiZGVzY3JpcHRpb24iOiJCZWxnaWFuIn0seyJuYW1lIjoiYmVcdG9zcyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJCZWxnaWFuIChhbHRlcm5hdGl2ZSkifSx7Im5hbWUiOiJiZVx0b3NzX2xhdGluOSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJCZWxnaWFuIChhbHRlcm5hdGl2ZSwgTGF0aW4tOSBvbmx5KSJ9LHsibmFtZSI6ImJlXHRvc3Nfc3VuZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQmVsZ2lhbiAoYWx0ZXJuYXRpdmUsIFN1biBkZWFkIGtleXMpIn0seyJuYW1lIjoiYmVcdGlzby1hbHRlcm5hdGUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQmVsZ2lhbiAoSVNPIGFsdGVybmF0ZSkifSx7Im5hbWUiOiJiZVx0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJCZWxnaWFuIChlbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImJlXHRzdW5kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJCZWxnaWFuIChTdW4gZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImJlXHR3YW5nIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkJlbGdpYW4gKFdhbmcgbW9kZWwgNzI0IGF6ZXJ0eSkifSx7Im5hbWUiOiJiZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYm4iLCJkZXNjcmlwdGlvbiI6IkJhbmdsYSJ9LHsibmFtZSI6ImJkXHRwcm9iaGF0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkJhbmdsYSAoUHJvYmhhdCkifSx7Im5hbWUiOiJpbiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiaW4iLCJkZXNjcmlwdGlvbiI6IkluZGlhbiJ9LHsibmFtZSI6ImluXHRiZW4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImJuIiwiZGVzY3JpcHRpb24iOiJCYW5nbGEgKEluZGlhKSJ9LHsibmFtZSI6ImluXHRiZW5fcHJvYmhhdCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYm4iLCJkZXNjcmlwdGlvbiI6IkJhbmdsYSAoSW5kaWEsIFByb2JoYXQpIn0seyJuYW1lIjoiaW5cdGJlbl9iYWlzaGFraGkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQmFuZ2xhIChJbmRpYSwgQmFpc2hha2hpKSJ9LHsibmFtZSI6ImluXHRiZW5fYm9ybm9uYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJCYW5nbGEgKEluZGlhLCBCb3Jub25hKSJ9LHsibmFtZSI6ImluXHRiZW5fZ2l0YW5qYWxpIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkJhbmdsYSAoSW5kaWEsIFVuaSBHaXRhbmphbGkpIn0seyJuYW1lIjoiaW5cdGJlbl9pbnNjcmlwdCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJCYW5nbGEgKEluZGlhLCBCYWlzaGFraGkgSW5zY3JpcHQpIn0seyJuYW1lIjoiaW5cdGd1aiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZ3UiLCJkZXNjcmlwdGlvbiI6Ikd1amFyYXRpIn0seyJuYW1lIjoiaW5cdGd1cnUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InBhIiwiZGVzY3JpcHRpb24iOiJQdW5qYWJpIChHdXJtdWtoaSkifSx7Im5hbWUiOiJpblx0amhlbHVtIiwic2hvcnRfZGVzY3JpcHRpb24iOiJwYSIsImRlc2NyaXB0aW9uIjoiUHVuamFiaSAoR3VybXVraGkgSmhlbHVtKSJ9LHsibmFtZSI6ImluXHRrYW4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImtuIiwiZGVzY3JpcHRpb24iOiJLYW5uYWRhIn0seyJuYW1lIjoiaW5cdGthbi1rYWdhcGEiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImtuIiwiZGVzY3JpcHRpb24iOiJLYW5uYWRhIChLYUdhUGEgcGhvbmV0aWMpIn0seyJuYW1lIjoiaW5cdG1hbCIsInNob3J0X2Rlc2NyaXB0aW9uIjoibWwiLCJkZXNjcmlwdGlvbiI6Ik1hbGF5YWxhbSJ9LHsibmFtZSI6ImluXHRtYWxfbGFsaXRoYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoibWwiLCJkZXNjcmlwdGlvbiI6Ik1hbGF5YWxhbSAoTGFsaXRoYSkifSx7Im5hbWUiOiJpblx0bWFsX2VuaGFuY2VkIiwic2hvcnRfZGVzY3JpcHRpb24iOiJtbCIsImRlc2NyaXB0aW9uIjoiTWFsYXlhbGFtIChlbmhhbmNlZCBJbnNjcmlwdCB3aXRoIFJ1cGVlIFNpZ24pIn0seyJuYW1lIjoiaW5cdG9yaSIsInNob3J0X2Rlc2NyaXB0aW9uIjoib3IiLCJkZXNjcmlwdGlvbiI6Ik9yaXlhIn0seyJuYW1lIjoiaW5cdHRhbV91bmljb2RlIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ0YSIsImRlc2NyaXB0aW9uIjoiVGFtaWwgKFVuaWNvZGUpIn0seyJuYW1lIjoiaW5cdHRhbV9rZXlib2FyZF93aXRoX251bWVyYWxzIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ0YSIsImRlc2NyaXB0aW9uIjoiVGFtaWwgKGtleWJvYXJkIHdpdGggbnVtZXJhbHMpIn0seyJuYW1lIjoiaW5cdHRhbV9UQUIiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InRhIiwiZGVzY3JpcHRpb24iOiJUYW1pbCAoVEFCIHR5cGV3cml0ZXIpIn0seyJuYW1lIjoiaW5cdHRhbV9UU0NJSSIsInNob3J0X2Rlc2NyaXB0aW9uIjoidGEiLCJkZXNjcmlwdGlvbiI6IlRhbWlsIChUU0NJSSB0eXBld3JpdGVyKSJ9LHsibmFtZSI6ImluXHR0YW0iLCJzaG9ydF9kZXNjcmlwdGlvbiI6InRhIiwiZGVzY3JpcHRpb24iOiJUYW1pbCJ9LHsibmFtZSI6ImluXHR0ZWwiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InRlIiwiZGVzY3JpcHRpb24iOiJUZWx1Z3UifSx7Im5hbWUiOiJpblx0dGVsLWthZ2FwYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoidGUiLCJkZXNjcmlwdGlvbiI6IlRlbHVndSAoS2FHYVBhIHBob25ldGljKSJ9LHsibmFtZSI6ImluXHR1cmQtcGhvbmV0aWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InVyIiwiZGVzY3JpcHRpb24iOiJVcmR1IChwaG9uZXRpYykifSx7Im5hbWUiOiJpblx0dXJkLXBob25ldGljMyIsInNob3J0X2Rlc2NyaXB0aW9uIjoidXIiLCJkZXNjcmlwdGlvbiI6IlVyZHUgKGFsdGVybmF0aXZlIHBob25ldGljKSJ9LHsibmFtZSI6ImluXHR1cmQtd2lua2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoidXIiLCJkZXNjcmlwdGlvbiI6IlVyZHUgKFdpbktleXMpIn0seyJuYW1lIjoiaW5cdGJvbG5hZ3JpIiwic2hvcnRfZGVzY3JpcHRpb24iOiJoaSIsImRlc2NyaXB0aW9uIjoiSGluZGkgKEJvbG5hZ3JpKSJ9LHsibmFtZSI6ImluXHRoaW4td3giLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImhpIiwiZGVzY3JpcHRpb24iOiJIaW5kaSAoV3gpIn0seyJuYW1lIjoiaW5cdGhpbi1rYWdhcGEiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImhpIiwiZGVzY3JpcHRpb24iOiJIaW5kaSAoS2FHYVBhIHBob25ldGljKSJ9LHsibmFtZSI6ImluXHRzYW4ta2FnYXBhIiwic2hvcnRfZGVzY3JpcHRpb24iOiJzYSIsImRlc2NyaXB0aW9uIjoiU2Fuc2tyaXQgKEthR2FQYSBwaG9uZXRpYykifSx7Im5hbWUiOiJpblx0bWFyLWthZ2FwYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoibXIiLCJkZXNjcmlwdGlvbiI6Ik1hcmF0aGkgKEthR2FQYSBwaG9uZXRpYykifSx7Im5hbWUiOiJpblx0ZW5nIiwic2hvcnRfZGVzY3JpcHRpb24iOiJlbiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoSW5kaWEsIHdpdGggUnVwZWVTaWduKSJ9LHsibmFtZSI6ImJhIiwic2hvcnRfZGVzY3JpcHRpb24iOiJicyIsImRlc2NyaXB0aW9uIjoiQm9zbmlhbiJ9LHsibmFtZSI6ImJhXHRhbHRlcm5hdGVxdW90ZXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQm9zbmlhbiAodXNlIGd1aWxsZW1ldHMgZm9yIHF1b3RlcykifSx7Im5hbWUiOiJiYVx0dW5pY29kZSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJCb3NuaWFuICh1c2UgQm9zbmlhbiBkaWdyYXBocykifSx7Im5hbWUiOiJiYVx0dW5pY29kZXVzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkJvc25pYW4gKFVTIGtleWJvYXJkIHdpdGggQm9zbmlhbiBkaWdyYXBocykifSx7Im5hbWUiOiJiYVx0dXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQm9zbmlhbiAoVVMga2V5Ym9hcmQgd2l0aCBCb3NuaWFuIGxldHRlcnMpIn0seyJuYW1lIjoiYnIiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InB0IiwiZGVzY3JpcHRpb24iOiJQb3J0dWd1ZXNlIChCcmF6aWwpIn0seyJuYW1lIjoiYnJcdG5vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUG9ydHVndWVzZSAoQnJhemlsLCBlbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImJyXHRkdm9yYWsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUG9ydHVndWVzZSAoQnJhemlsLCBEdm9yYWspIn0seyJuYW1lIjoiYnJcdG5hdGl2byIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJQb3J0dWd1ZXNlIChCcmF6aWwsIG5hdGl2bykifSx7Im5hbWUiOiJiclx0bmF0aXZvLXVzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgKEJyYXppbCwgbmF0aXZvIGZvciBVUyBrZXlib2FyZHMpIn0seyJuYW1lIjoiYnJcdG5hdGl2by1lcG8iLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUG9ydHVndWVzZSAoQnJhemlsLCBuYXRpdm8gZm9yIEVzcGVyYW50bykifSx7Im5hbWUiOiJiZyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYmciLCJkZXNjcmlwdGlvbiI6IkJ1bGdhcmlhbiJ9LHsibmFtZSI6ImJnXHRwaG9uZXRpYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJCdWxnYXJpYW4gKHRyYWRpdGlvbmFsIHBob25ldGljKSJ9LHsibmFtZSI6ImJnXHRiYXNfcGhvbmV0aWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQnVsZ2FyaWFuIChuZXcgcGhvbmV0aWMpIn0seyJuYW1lIjoibWEiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImFyIiwiZGVzY3JpcHRpb24iOiJBcmFiaWMgKE1vcm9jY28pIn0seyJuYW1lIjoibWFcdGZyZW5jaCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZnIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAoTW9yb2NjbykifSx7Im5hbWUiOiJtYVx0dGlmaW5hZ2giLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImJlciIsImRlc2NyaXB0aW9uIjoiQmVyYmVyIChNb3JvY2NvLCBUaWZpbmFnaCkifSx7Im5hbWUiOiJtYVx0dGlmaW5hZ2gtYWx0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJiZXIiLCJkZXNjcmlwdGlvbiI6IkJlcmJlciAoTW9yb2NjbywgVGlmaW5hZ2ggYWx0ZXJuYXRpdmUpIn0seyJuYW1lIjoibWFcdHRpZmluYWdoLWFsdC1waG9uZXRpYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYmVyIiwiZGVzY3JpcHRpb24iOiJCZXJiZXIgKE1vcm9jY28sIFRpZmluYWdoIGFsdGVybmF0aXZlIHBob25ldGljKSJ9LHsibmFtZSI6Im1hXHR0aWZpbmFnaC1leHRlbmRlZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYmVyIiwiZGVzY3JpcHRpb24iOiJCZXJiZXIgKE1vcm9jY28sIFRpZmluYWdoIGV4dGVuZGVkKSJ9LHsibmFtZSI6Im1hXHR0aWZpbmFnaC1waG9uZXRpYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYmVyIiwiZGVzY3JpcHRpb24iOiJCZXJiZXIgKE1vcm9jY28sIFRpZmluYWdoIHBob25ldGljKSJ9LHsibmFtZSI6Im1hXHR0aWZpbmFnaC1leHRlbmRlZC1waG9uZXRpYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYmVyIiwiZGVzY3JpcHRpb24iOiJCZXJiZXIgKE1vcm9jY28sIFRpZmluYWdoIGV4dGVuZGVkIHBob25ldGljKSJ9LHsibmFtZSI6ImNtIiwic2hvcnRfZGVzY3JpcHRpb24iOiJjbSIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoQ2FtZXJvb24pIn0seyJuYW1lIjoiY21cdGZyZW5jaCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKENhbWVyb29uKSJ9LHsibmFtZSI6ImNtXHRxd2VydHkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ2FtZXJvb24gTXVsdGlsaW5ndWFsIChxd2VydHkpIn0seyJuYW1lIjoiY21cdGF6ZXJ0eSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJDYW1lcm9vbiBNdWx0aWxpbmd1YWwgKGF6ZXJ0eSkifSx7Im5hbWUiOiJjbVx0ZHZvcmFrIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkNhbWVyb29uIE11bHRpbGluZ3VhbCAoRHZvcmFrKSJ9LHsibmFtZSI6Im1tIiwic2hvcnRfZGVzY3JpcHRpb24iOiJteSIsImRlc2NyaXB0aW9uIjoiQnVybWVzZSJ9LHsibmFtZSI6ImNhIiwic2hvcnRfZGVzY3JpcHRpb24iOiJmciIsImRlc2NyaXB0aW9uIjoiRnJlbmNoIChDYW5hZGEpIn0seyJuYW1lIjoiY2FcdGZyLWR2b3JhayIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZnIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAoQ2FuYWRhLCBEdm9yYWspIn0seyJuYW1lIjoiY2FcdGZyLWxlZ2FjeSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZnIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAoQ2FuYWRhLCBsZWdhY3kpIn0seyJuYW1lIjoiY2FcdG11bHRpeCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJDYW5hZGlhbiBNdWx0aWxpbmd1YWwifSx7Im5hbWUiOiJjYVx0bXVsdGkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ2FuYWRpYW4gTXVsdGlsaW5ndWFsIChmaXJzdCBwYXJ0KSJ9LHsibmFtZSI6ImNhXHRtdWx0aS0yZ3IiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ2FuYWRpYW4gTXVsdGlsaW5ndWFsIChzZWNvbmQgcGFydCkifSx7Im5hbWUiOiJjYVx0aWtlIiwic2hvcnRfZGVzY3JpcHRpb24iOiJpa2UiLCJkZXNjcmlwdGlvbiI6IkludWt0aXR1dCJ9LHsibmFtZSI6ImNhXHRlbmciLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImVuIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChDYW5hZGEpIn0seyJuYW1lIjoiY2QiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImZyIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIENvbmdvKSJ9LHsibmFtZSI6ImNuIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ6aCIsImRlc2NyaXB0aW9uIjoiQ2hpbmVzZSJ9LHsibmFtZSI6ImNuXHR0aWIiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVGliZXRhbiJ9LHsibmFtZSI6ImNuXHR0aWJfYXNjaWludW0iLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVGliZXRhbiAod2l0aCBBU0NJSSBudW1lcmFscykifSx7Im5hbWUiOiJjblx0dWlnIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlV5Z2h1ciJ9LHsibmFtZSI6ImhyIiwic2hvcnRfZGVzY3JpcHRpb24iOiJociIsImRlc2NyaXB0aW9uIjoiQ3JvYXRpYW4ifSx7Im5hbWUiOiJoclx0YWx0ZXJuYXRlcXVvdGVzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkNyb2F0aWFuICh1c2UgZ3VpbGxlbWV0cyBmb3IgcXVvdGVzKSJ9LHsibmFtZSI6ImhyXHR1bmljb2RlIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkNyb2F0aWFuICh1c2UgQ3JvYXRpYW4gZGlncmFwaHMpIn0seyJuYW1lIjoiaHJcdHVuaWNvZGV1cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJDcm9hdGlhbiAoVVMga2V5Ym9hcmQgd2l0aCBDcm9hdGlhbiBkaWdyYXBocykifSx7Im5hbWUiOiJoclx0dXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ3JvYXRpYW4gKFVTIGtleWJvYXJkIHdpdGggQ3JvYXRpYW4gbGV0dGVycykifSx7Im5hbWUiOiJjeiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiY3MiLCJkZXNjcmlwdGlvbiI6IkN6ZWNoIn0seyJuYW1lIjoiY3pcdGJrc2wiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ3plY2ggKHdpdGggPFxcfD4ga2V5KSJ9LHsibmFtZSI6ImN6XHRxd2VydHkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ3plY2ggKHF3ZXJ0eSkifSx7Im5hbWUiOiJjelx0cXdlcnR5X2Jrc2wiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ3plY2ggKHF3ZXJ0eSwgZXh0ZW5kZWQgQmFja3NsYXNoKSJ9LHsibmFtZSI6ImN6XHR1Y3ciLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ3plY2ggKFVDVyBsYXlvdXQsIGFjY2VudGVkIGxldHRlcnMgb25seSkifSx7Im5hbWUiOiJjelx0ZHZvcmFrLXVjdyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJDemVjaCAoVVMgRHZvcmFrIHdpdGggQ1ogVUNXIHN1cHBvcnQpIn0seyJuYW1lIjoiZGsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImRhIiwiZGVzY3JpcHRpb24iOiJEYW5pc2gifSx7Im5hbWUiOiJka1x0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJEYW5pc2ggKGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoiZGtcdG1hYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJEYW5pc2ggKE1hY2ludG9zaCkifSx7Im5hbWUiOiJka1x0bWFjX25vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRGFuaXNoIChNYWNpbnRvc2gsIGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoiZGtcdGR2b3JhayIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJEYW5pc2ggKER2b3JhaykifSx7Im5hbWUiOiJubCIsInNob3J0X2Rlc2NyaXB0aW9uIjoibmwiLCJkZXNjcmlwdGlvbiI6IkR1dGNoIn0seyJuYW1lIjoibmxcdHN1bmRlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkR1dGNoIChTdW4gZGVhZCBrZXlzKSJ9LHsibmFtZSI6Im5sXHRtYWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRHV0Y2ggKE1hY2ludG9zaCkifSx7Im5hbWUiOiJubFx0c3RkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkR1dGNoIChzdGFuZGFyZCkifSx7Im5hbWUiOiJidCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZHoiLCJkZXNjcmlwdGlvbiI6IkR6b25na2hhIn0seyJuYW1lIjoiZWUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImV0IiwiZGVzY3JpcHRpb24iOiJFc3RvbmlhbiJ9LHsibmFtZSI6ImVlXHRub2RlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVzdG9uaWFuIChlbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImVlXHRkdm9yYWsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRXN0b25pYW4gKER2b3JhaykifSx7Im5hbWUiOiJlZVx0dXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRXN0b25pYW4gKFVTIGtleWJvYXJkIHdpdGggRXN0b25pYW4gbGV0dGVycykifSx7Im5hbWUiOiJpciIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZmEiLCJkZXNjcmlwdGlvbiI6IlBlcnNpYW4ifSx7Im5hbWUiOiJpclx0cGVzX2tleXBhZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJQZXJzaWFuICh3aXRoIFBlcnNpYW4gS2V5cGFkKSJ9LHsibmFtZSI6ImlyXHRrdSIsInNob3J0X2Rlc2NyaXB0aW9uIjoia3UiLCJkZXNjcmlwdGlvbiI6Ikt1cmRpc2ggKElyYW4sIExhdGluIFEpIn0seyJuYW1lIjoiaXJcdGt1X2YiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Imt1IiwiZGVzY3JpcHRpb24iOiJLdXJkaXNoIChJcmFuLCBGKSJ9LHsibmFtZSI6ImlyXHRrdV9hbHQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Imt1IiwiZGVzY3JpcHRpb24iOiJLdXJkaXNoIChJcmFuLCBMYXRpbiBBbHQtUSkifSx7Im5hbWUiOiJpclx0a3VfYXJhIiwic2hvcnRfZGVzY3JpcHRpb24iOiJrdSIsImRlc2NyaXB0aW9uIjoiS3VyZGlzaCAoSXJhbiwgQXJhYmljLUxhdGluKSJ9LHsibmFtZSI6ImlxIiwic2hvcnRfZGVzY3JpcHRpb24iOiJhciIsImRlc2NyaXB0aW9uIjoiSXJhcWkifSx7Im5hbWUiOiJpcVx0a3UiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Imt1IiwiZGVzY3JpcHRpb24iOiJLdXJkaXNoIChJcmFxLCBMYXRpbiBRKSJ9LHsibmFtZSI6ImlxXHRrdV9mIiwic2hvcnRfZGVzY3JpcHRpb24iOiJrdSIsImRlc2NyaXB0aW9uIjoiS3VyZGlzaCAoSXJhcSwgRikifSx7Im5hbWUiOiJpcVx0a3VfYWx0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJrdSIsImRlc2NyaXB0aW9uIjoiS3VyZGlzaCAoSXJhcSwgTGF0aW4gQWx0LVEpIn0seyJuYW1lIjoiaXFcdGt1X2FyYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoia3UiLCJkZXNjcmlwdGlvbiI6Ikt1cmRpc2ggKElyYXEsIEFyYWJpYy1MYXRpbikifSx7Im5hbWUiOiJmbyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZm8iLCJkZXNjcmlwdGlvbiI6IkZhcm9lc2UifSx7Im5hbWUiOiJmb1x0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGYXJvZXNlIChlbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImZpIiwic2hvcnRfZGVzY3JpcHRpb24iOiJmaSIsImRlc2NyaXB0aW9uIjoiRmlubmlzaCJ9LHsibmFtZSI6ImZpXHRjbGFzc2ljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkZpbm5pc2ggKGNsYXNzaWMpIn0seyJuYW1lIjoiZmlcdG5vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRmlubmlzaCAoY2xhc3NpYywgZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJmaVx0c21pIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik5vcnRoZXJuIFNhYW1pIChGaW5sYW5kKSJ9LHsibmFtZSI6ImZpXHRtYWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRmlubmlzaCAoTWFjaW50b3NoKSJ9LHsibmFtZSI6ImZyIiwic2hvcnRfZGVzY3JpcHRpb24iOiJmciIsImRlc2NyaXB0aW9uIjoiRnJlbmNoIn0seyJuYW1lIjoiZnJcdG5vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRnJlbmNoIChlbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImZyXHRzdW5kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKFN1biBkZWFkIGtleXMpIn0seyJuYW1lIjoiZnJcdG9zcyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKGFsdGVybmF0aXZlKSJ9LHsibmFtZSI6ImZyXHRvc3NfbGF0aW45Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAoYWx0ZXJuYXRpdmUsIExhdGluLTkgb25seSkifSx7Im5hbWUiOiJmclx0b3NzX25vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRnJlbmNoIChhbHRlcm5hdGl2ZSwgZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJmclx0b3NzX3N1bmRlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAoYWx0ZXJuYXRpdmUsIFN1biBkZWFkIGtleXMpIn0seyJuYW1lIjoiZnJcdGxhdGluOSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKGxlZ2FjeSwgYWx0ZXJuYXRpdmUpIn0seyJuYW1lIjoiZnJcdGxhdGluOV9ub2RlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAobGVnYWN5LCBhbHRlcm5hdGl2ZSwgZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJmclx0bGF0aW45X3N1bmRlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAobGVnYWN5LCBhbHRlcm5hdGl2ZSwgU3VuIGRlYWQga2V5cykifSx7Im5hbWUiOiJmclx0YmVwbyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKEJlcG8sIGVyZ29ub21pYywgRHZvcmFrIHdheSkifSx7Im5hbWUiOiJmclx0YmVwb19sYXRpbjkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRnJlbmNoIChCZXBvLCBlcmdvbm9taWMsIER2b3JhayB3YXksIExhdGluLTkgb25seSkifSx7Im5hbWUiOiJmclx0ZHZvcmFrIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAoRHZvcmFrKSJ9LHsibmFtZSI6ImZyXHRtYWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRnJlbmNoIChNYWNpbnRvc2gpIn0seyJuYW1lIjoiZnJcdGJyZSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKEJyZXRvbikifSx7Im5hbWUiOiJmclx0b2NpIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik9jY2l0YW4ifSx7Im5hbWUiOiJmclx0Z2VvIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikdlb3JnaWFuIChGcmFuY2UsIEFaRVJUWSBUc2thcG8pIn0seyJuYW1lIjoiZ2giLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImVuIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChHaGFuYSkifSx7Im5hbWUiOiJnaFx0Z2VuZXJpYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChHaGFuYSwgbXVsdGlsaW5ndWFsKSJ9LHsibmFtZSI6ImdoXHRha2FuIiwic2hvcnRfZGVzY3JpcHRpb24iOiJhayIsImRlc2NyaXB0aW9uIjoiQWthbiJ9LHsibmFtZSI6ImdoXHRld2UiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImVlIiwiZGVzY3JpcHRpb24iOiJFd2UifSx7Im5hbWUiOiJnaFx0ZnVsYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZmYiLCJkZXNjcmlwdGlvbiI6IkZ1bGEifSx7Im5hbWUiOiJnaFx0Z2EiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImdhYSIsImRlc2NyaXB0aW9uIjoiR2EifSx7Im5hbWUiOiJnaFx0aGF1c2EiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImhhIiwiZGVzY3JpcHRpb24iOiJIYXVzYSJ9LHsibmFtZSI6ImdoXHRhdm4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImF2biIsImRlc2NyaXB0aW9uIjoiQXZhdGltZSJ9LHsibmFtZSI6ImdoXHRnaWxsYnQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoR2hhbmEsIEdJTExCVCkifSx7Im5hbWUiOiJnbiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZnIiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCAoR3VpbmVhKSJ9LHsibmFtZSI6ImdlIiwic2hvcnRfZGVzY3JpcHRpb24iOiJrYSIsImRlc2NyaXB0aW9uIjoiR2VvcmdpYW4ifSx7Im5hbWUiOiJnZVx0ZXJnb25vbWljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikdlb3JnaWFuIChlcmdvbm9taWMpIn0seyJuYW1lIjoiZ2VcdG1lc3MiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiR2VvcmdpYW4gKE1FU1MpIn0seyJuYW1lIjoiZ2VcdHJ1Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJydSIsImRlc2NyaXB0aW9uIjoiUnVzc2lhbiAoR2VvcmdpYSkifSx7Im5hbWUiOiJnZVx0b3MiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiT3NzZXRpYW4gKEdlb3JnaWEpIn0seyJuYW1lIjoiZGUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImRlIiwiZGVzY3JpcHRpb24iOiJHZXJtYW4ifSx7Im5hbWUiOiJkZVx0ZGVhZGFjdXRlIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiAoZGVhZCBhY3V0ZSkifSx7Im5hbWUiOiJkZVx0ZGVhZGdyYXZlYWN1dGUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiR2VybWFuIChkZWFkIGdyYXZlIGFjdXRlKSJ9LHsibmFtZSI6ImRlXHRub2RlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiAoZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJkZVx0VDMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiR2VybWFuIChUMykifSx7Im5hbWUiOiJkZVx0cm8iLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUm9tYW5pYW4gKEdlcm1hbnkpIn0seyJuYW1lIjoiZGVcdHJvX25vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUm9tYW5pYW4gKEdlcm1hbnksIGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoiZGVcdGR2b3JhayIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJHZXJtYW4gKER2b3JhaykifSx7Im5hbWUiOiJkZVx0c3VuZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiR2VybWFuIChTdW4gZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImRlXHRuZW8iLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiR2VybWFuIChOZW8gMikifSx7Im5hbWUiOiJkZVx0bWFjIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiAoTWFjaW50b3NoKSJ9LHsibmFtZSI6ImRlXHRtYWNfbm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJHZXJtYW4gKE1hY2ludG9zaCwgZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJkZVx0ZHNiIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikxvd2VyIFNvcmJpYW4ifSx7Im5hbWUiOiJkZVx0ZHNiX3F3ZXJ0eiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJMb3dlciBTb3JiaWFuIChxd2VydHopIn0seyJuYW1lIjoiZGVcdHF3ZXJ0eSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJHZXJtYW4gKHF3ZXJ0eSkifSx7Im5hbWUiOiJkZVx0cnUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InJ1IiwiZGVzY3JpcHRpb24iOiJSdXNzaWFuIChHZXJtYW55LCBwaG9uZXRpYykifSx7Im5hbWUiOiJkZVx0bGVnYWN5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiAobGVnYWN5KSJ9LHsibmFtZSI6ImdyIiwic2hvcnRfZGVzY3JpcHRpb24iOiJnciIsImRlc2NyaXB0aW9uIjoiR3JlZWsifSx7Im5hbWUiOiJnclx0c2ltcGxlIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkdyZWVrIChzaW1wbGUpIn0seyJuYW1lIjoiZ3JcdGV4dGVuZGVkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkdyZWVrIChleHRlbmRlZCkifSx7Im5hbWUiOiJnclx0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJHcmVlayAoZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJnclx0cG9seXRvbmljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkdyZWVrIChwb2x5dG9uaWMpIn0seyJuYW1lIjoiaHUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Imh1IiwiZGVzY3JpcHRpb24iOiJIdW5nYXJpYW4ifSx7Im5hbWUiOiJodVx0c3RhbmRhcmQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuIChzdGFuZGFyZCkifSx7Im5hbWUiOiJodVx0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJIdW5nYXJpYW4gKGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoiaHVcdHF3ZXJ0eSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJIdW5nYXJpYW4gKHF3ZXJ0eSkifSx7Im5hbWUiOiJodVx0MTAxX3F3ZXJ0el9jb21tYV9kZWFkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikh1bmdhcmlhbiAoMTAxL3F3ZXJ0ei9jb21tYS9kZWFkIGtleXMpIn0seyJuYW1lIjoiaHVcdDEwMV9xd2VydHpfY29tbWFfbm9kZWFkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikh1bmdhcmlhbiAoMTAxL3F3ZXJ0ei9jb21tYS9lbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6Imh1XHQxMDFfcXdlcnR6X2RvdF9kZWFkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikh1bmdhcmlhbiAoMTAxL3F3ZXJ0ei9kb3QvZGVhZCBrZXlzKSJ9LHsibmFtZSI6Imh1XHQxMDFfcXdlcnR6X2RvdF9ub2RlYWQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuICgxMDEvcXdlcnR6L2RvdC9lbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6Imh1XHQxMDFfcXdlcnR5X2NvbW1hX2RlYWQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuICgxMDEvcXdlcnR5L2NvbW1hL2RlYWQga2V5cykifSx7Im5hbWUiOiJodVx0MTAxX3F3ZXJ0eV9jb21tYV9ub2RlYWQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuICgxMDEvcXdlcnR5L2NvbW1hL2VsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoiaHVcdDEwMV9xd2VydHlfZG90X2RlYWQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuICgxMDEvcXdlcnR5L2RvdC9kZWFkIGtleXMpIn0seyJuYW1lIjoiaHVcdDEwMV9xd2VydHlfZG90X25vZGVhZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJIdW5nYXJpYW4gKDEwMS9xd2VydHkvZG90L2VsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoiaHVcdDEwMl9xd2VydHpfY29tbWFfZGVhZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJIdW5nYXJpYW4gKDEwMi9xd2VydHovY29tbWEvZGVhZCBrZXlzKSJ9LHsibmFtZSI6Imh1XHQxMDJfcXdlcnR6X2NvbW1hX25vZGVhZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJIdW5nYXJpYW4gKDEwMi9xd2VydHovY29tbWEvZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJodVx0MTAyX3F3ZXJ0el9kb3RfZGVhZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJIdW5nYXJpYW4gKDEwMi9xd2VydHovZG90L2RlYWQga2V5cykifSx7Im5hbWUiOiJodVx0MTAyX3F3ZXJ0el9kb3Rfbm9kZWFkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikh1bmdhcmlhbiAoMTAyL3F3ZXJ0ei9kb3QvZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJodVx0MTAyX3F3ZXJ0eV9jb21tYV9kZWFkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikh1bmdhcmlhbiAoMTAyL3F3ZXJ0eS9jb21tYS9kZWFkIGtleXMpIn0seyJuYW1lIjoiaHVcdDEwMl9xd2VydHlfY29tbWFfbm9kZWFkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikh1bmdhcmlhbiAoMTAyL3F3ZXJ0eS9jb21tYS9lbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6Imh1XHQxMDJfcXdlcnR5X2RvdF9kZWFkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikh1bmdhcmlhbiAoMTAyL3F3ZXJ0eS9kb3QvZGVhZCBrZXlzKSJ9LHsibmFtZSI6Imh1XHQxMDJfcXdlcnR5X2RvdF9ub2RlYWQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuICgxMDIvcXdlcnR5L2RvdC9lbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiJpcyIsImRlc2NyaXB0aW9uIjoiSWNlbGFuZGljIn0seyJuYW1lIjoiaXNcdFN1bmRlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkljZWxhbmRpYyAoU3VuIGRlYWQga2V5cykifSx7Im5hbWUiOiJpc1x0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJJY2VsYW5kaWMgKGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoiaXNcdG1hYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJJY2VsYW5kaWMgKE1hY2ludG9zaCkifSx7Im5hbWUiOiJpc1x0ZHZvcmFrIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkljZWxhbmRpYyAoRHZvcmFrKSJ9LHsibmFtZSI6ImlsIiwic2hvcnRfZGVzY3JpcHRpb24iOiJoZSIsImRlc2NyaXB0aW9uIjoiSGVicmV3In0seyJuYW1lIjoiaWxcdGx5eCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJIZWJyZXcgKGx5eCkifSx7Im5hbWUiOiJpbFx0cGhvbmV0aWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSGVicmV3IChwaG9uZXRpYykifSx7Im5hbWUiOiJpbFx0YmlibGljYWwiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSGVicmV3IChCaWJsaWNhbCwgVGlybykifSx7Im5hbWUiOiJpdCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiaXQiLCJkZXNjcmlwdGlvbiI6Ikl0YWxpYW4ifSx7Im5hbWUiOiJpdFx0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJJdGFsaWFuIChlbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6Iml0XHRtYWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSXRhbGlhbiAoTWFjaW50b3NoKSJ9LHsibmFtZSI6Iml0XHR1cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJJdGFsaWFuIChVUyBrZXlib2FyZCB3aXRoIEl0YWxpYW4gbGV0dGVycykifSx7Im5hbWUiOiJpdFx0Z2VvIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikdlb3JnaWFuIChJdGFseSkifSx7Im5hbWUiOiJpdFx0aWJtIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikl0YWxpYW4gKElCTSAxNDIpIn0seyJuYW1lIjoianAiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImphIiwiZGVzY3JpcHRpb24iOiJKYXBhbmVzZSJ9LHsibmFtZSI6ImpwXHRrYW5hIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkphcGFuZXNlIChLYW5hKSJ9LHsibmFtZSI6ImpwXHRrYW5hODYiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSmFwYW5lc2UgKEthbmEgODYpIn0seyJuYW1lIjoianBcdE9BREcxMDlBIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkphcGFuZXNlIChPQURHIDEwOUEpIn0seyJuYW1lIjoianBcdG1hYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJKYXBhbmVzZSAoTWFjaW50b3NoKSJ9LHsibmFtZSI6ImpwXHRkdm9yYWsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiSmFwYW5lc2UgKER2b3JhaykifSx7Im5hbWUiOiJrZyIsInNob3J0X2Rlc2NyaXB0aW9uIjoia2kiLCJkZXNjcmlwdGlvbiI6Ikt5cmd5eiJ9LHsibmFtZSI6ImtnXHRwaG9uZXRpYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJLeXJneXogKHBob25ldGljKSJ9LHsibmFtZSI6ImtoIiwic2hvcnRfZGVzY3JpcHRpb24iOiJrbSIsImRlc2NyaXB0aW9uIjoiS2htZXIgKENhbWJvZGlhKSJ9LHsibmFtZSI6Imt6Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJrayIsImRlc2NyaXB0aW9uIjoiS2F6YWtoIn0seyJuYW1lIjoia3pcdHJ1c2theiIsInNob3J0X2Rlc2NyaXB0aW9uIjoicnUiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gKEthemFraHN0YW4sIHdpdGggS2F6YWtoKSJ9LHsibmFtZSI6Imt6XHRrYXpydXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiS2F6YWtoICh3aXRoIFJ1c3NpYW4pIn0seyJuYW1lIjoibGEiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImxvIiwiZGVzY3JpcHRpb24iOiJMYW8ifSx7Im5hbWUiOiJsYVx0c3RlYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJMYW8gKFNURUEgcHJvcG9zZWQgc3RhbmRhcmQgbGF5b3V0KSJ9LHsibmFtZSI6ImxhdGFtIiwic2hvcnRfZGVzY3JpcHRpb24iOiJlcyIsImRlc2NyaXB0aW9uIjoiU3BhbmlzaCAoTGF0aW4gQW1lcmljYW4pIn0seyJuYW1lIjoibGF0YW1cdG5vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU3BhbmlzaCAoTGF0aW4gQW1lcmljYW4sIGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoibGF0YW1cdGRlYWR0aWxkZSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJTcGFuaXNoIChMYXRpbiBBbWVyaWNhbiwgaW5jbHVkZSBkZWFkIHRpbGRlKSJ9LHsibmFtZSI6ImxhdGFtXHRzdW5kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJTcGFuaXNoIChMYXRpbiBBbWVyaWNhbiwgU3VuIGRlYWQga2V5cykifSx7Im5hbWUiOiJsdCIsInNob3J0X2Rlc2NyaXB0aW9uIjoibHQiLCJkZXNjcmlwdGlvbiI6IkxpdGh1YW5pYW4ifSx7Im5hbWUiOiJsdFx0c3RkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkxpdGh1YW5pYW4gKHN0YW5kYXJkKSJ9LHsibmFtZSI6Imx0XHR1cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJMaXRodWFuaWFuIChVUyBrZXlib2FyZCB3aXRoIExpdGh1YW5pYW4gbGV0dGVycykifSx7Im5hbWUiOiJsdFx0aWJtIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkxpdGh1YW5pYW4gKElCTSBMU1QgMTIwNS05MikifSx7Im5hbWUiOiJsdFx0bGVrcCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJMaXRodWFuaWFuIChMRUtQKSJ9LHsibmFtZSI6Imx0XHRsZWtwYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJMaXRodWFuaWFuIChMRUtQYSkifSx7Im5hbWUiOiJsdiIsInNob3J0X2Rlc2NyaXB0aW9uIjoibHYiLCJkZXNjcmlwdGlvbiI6IkxhdHZpYW4ifSx7Im5hbWUiOiJsdlx0YXBvc3Ryb3BoZSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJMYXR2aWFuIChhcG9zdHJvcGhlIHZhcmlhbnQpIn0seyJuYW1lIjoibHZcdHRpbGRlIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkxhdHZpYW4gKHRpbGRlIHZhcmlhbnQpIn0seyJuYW1lIjoibHZcdGZrZXkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiTGF0dmlhbiAoRiB2YXJpYW50KSJ9LHsibmFtZSI6Imx2XHRtb2Rlcm4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiTGF0dmlhbiAobW9kZXJuKSJ9LHsibmFtZSI6Imx2XHRlcmdvbm9taWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiTGF0dmlhbiAoZXJnb25vbWljLCDFqkdKUk1WKSJ9LHsibmFtZSI6Imx2XHRhZGFwdGVkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkxhdHZpYW4gKGFkYXB0ZWQpIn0seyJuYW1lIjoibWFvIiwic2hvcnRfZGVzY3JpcHRpb24iOiJtaSIsImRlc2NyaXB0aW9uIjoiTWFvcmkifSx7Im5hbWUiOiJtZSIsInNob3J0X2Rlc2NyaXB0aW9uIjoic3IiLCJkZXNjcmlwdGlvbiI6Ik1vbnRlbmVncmluIn0seyJuYW1lIjoibWVcdGN5cmlsbGljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik1vbnRlbmVncmluIChDeXJpbGxpYykifSx7Im5hbWUiOiJtZVx0Y3lyaWxsaWN5eiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJNb250ZW5lZ3JpbiAoQ3lyaWxsaWMsIFogYW5kIFpIRSBzd2FwcGVkKSJ9LHsibmFtZSI6Im1lXHRsYXRpbnVuaWNvZGUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiTW9udGVuZWdyaW4gKExhdGluIFVuaWNvZGUpIn0seyJuYW1lIjoibWVcdGxhdGlueXoiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiTW9udGVuZWdyaW4gKExhdGluIHF3ZXJ0eSkifSx7Im5hbWUiOiJtZVx0bGF0aW51bmljb2RleXoiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiTW9udGVuZWdyaW4gKExhdGluIFVuaWNvZGUgcXdlcnR5KSJ9LHsibmFtZSI6Im1lXHRjeXJpbGxpY2FsdGVybmF0ZXF1b3RlcyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJNb250ZW5lZ3JpbiAoQ3lyaWxsaWMgd2l0aCBndWlsbGVtZXRzKSJ9LHsibmFtZSI6Im1lXHRsYXRpbmFsdGVybmF0ZXF1b3RlcyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJNb250ZW5lZ3JpbiAoTGF0aW4gd2l0aCBndWlsbGVtZXRzKSJ9LHsibmFtZSI6Im1rIiwic2hvcnRfZGVzY3JpcHRpb24iOiJtayIsImRlc2NyaXB0aW9uIjoiTWFjZWRvbmlhbiJ9LHsibmFtZSI6Im1rXHRub2RlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik1hY2Vkb25pYW4gKGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoibXQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Im10IiwiZGVzY3JpcHRpb24iOiJNYWx0ZXNlIn0seyJuYW1lIjoibXRcdHVzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik1hbHRlc2UgKHdpdGggVVMgbGF5b3V0KSJ9LHsibmFtZSI6Im1uIiwic2hvcnRfZGVzY3JpcHRpb24iOiJtbiIsImRlc2NyaXB0aW9uIjoiTW9uZ29saWFuIn0seyJuYW1lIjoibm8iLCJzaG9ydF9kZXNjcmlwdGlvbiI6Im5vIiwiZGVzY3JpcHRpb24iOiJOb3J3ZWdpYW4ifSx7Im5hbWUiOiJub1x0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJOb3J3ZWdpYW4gKGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoibm9cdGR2b3JhayIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJOb3J3ZWdpYW4gKER2b3JhaykifSx7Im5hbWUiOiJub1x0c21pIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik5vcnRoZXJuIFNhYW1pIChOb3J3YXkpIn0seyJuYW1lIjoibm9cdHNtaV9ub2RlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik5vcnRoZXJuIFNhYW1pIChOb3J3YXksIGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoibm9cdG1hYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJOb3J3ZWdpYW4gKE1hY2ludG9zaCkifSx7Im5hbWUiOiJub1x0bWFjX25vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiTm9yd2VnaWFuIChNYWNpbnRvc2gsIGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoibm9cdGNvbGVtYWsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiTm9yd2VnaWFuIChDb2xlbWFrKSJ9LHsibmFtZSI6InBsIiwic2hvcnRfZGVzY3JpcHRpb24iOiJwbCIsImRlc2NyaXB0aW9uIjoiUG9saXNoIn0seyJuYW1lIjoicGxcdGxlZ2FjeSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJQb2xpc2ggKGxlZ2FjeSkifSx7Im5hbWUiOiJwbFx0cXdlcnR6Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlBvbGlzaCAocXdlcnR6KSJ9LHsibmFtZSI6InBsXHRkdm9yYWsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUG9saXNoIChEdm9yYWspIn0seyJuYW1lIjoicGxcdGR2b3Jha19xdW90ZXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUG9saXNoIChEdm9yYWssIFBvbGlzaCBxdW90ZXMgb24gcXVvdGVtYXJrIGtleSkifSx7Im5hbWUiOiJwbFx0ZHZvcmFrX2FsdHF1b3RlcyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJQb2xpc2ggKER2b3JhaywgUG9saXNoIHF1b3RlcyBvbiBrZXkgMSkifSx7Im5hbWUiOiJwbFx0Y3NiIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikthc2h1YmlhbiJ9LHsibmFtZSI6InBsXHRzemwiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU2lsZXNpYW4ifSx7Im5hbWUiOiJwbFx0cnVfcGhvbmV0aWNfZHZvcmFrIiwic2hvcnRfZGVzY3JpcHRpb24iOiJydSIsImRlc2NyaXB0aW9uIjoiUnVzc2lhbiAoUG9sYW5kLCBwaG9uZXRpYyBEdm9yYWspIn0seyJuYW1lIjoicGxcdGR2cCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJQb2xpc2ggKHByb2dyYW1tZXIgRHZvcmFrKSJ9LHsibmFtZSI6InB0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJwdCIsImRlc2NyaXB0aW9uIjoiUG9ydHVndWVzZSJ9LHsibmFtZSI6InB0XHRub2RlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgKGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoicHRcdHN1bmRlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgKFN1biBkZWFkIGtleXMpIn0seyJuYW1lIjoicHRcdG1hYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJQb3J0dWd1ZXNlIChNYWNpbnRvc2gpIn0seyJuYW1lIjoicHRcdG1hY19ub2RlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgKE1hY2ludG9zaCwgZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJwdFx0bWFjX3N1bmRlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgKE1hY2ludG9zaCwgU3VuIGRlYWQga2V5cykifSx7Im5hbWUiOiJwdFx0bmF0aXZvIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgKE5hdGl2bykifSx7Im5hbWUiOiJwdFx0bmF0aXZvLXVzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgKE5hdGl2byBmb3IgVVMga2V5Ym9hcmRzKSJ9LHsibmFtZSI6InB0XHRuYXRpdm8tZXBvIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVzcGVyYW50byAoUG9ydHVnYWwsIE5hdGl2bykifSx7Im5hbWUiOiJybyIsInNob3J0X2Rlc2NyaXB0aW9uIjoicm8iLCJkZXNjcmlwdGlvbiI6IlJvbWFuaWFuIn0seyJuYW1lIjoicm9cdGNlZGlsbGEiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUm9tYW5pYW4gKGNlZGlsbGEpIn0seyJuYW1lIjoicm9cdHN0ZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJSb21hbmlhbiAoc3RhbmRhcmQpIn0seyJuYW1lIjoicm9cdHN0ZF9jZWRpbGxhIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlJvbWFuaWFuIChzdGFuZGFyZCBjZWRpbGxhKSJ9LHsibmFtZSI6InJvXHR3aW5rZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlJvbWFuaWFuIChXaW5LZXlzKSJ9LHsibmFtZSI6InJ1Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJydSIsImRlc2NyaXB0aW9uIjoiUnVzc2lhbiJ9LHsibmFtZSI6InJ1XHRwaG9uZXRpYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJSdXNzaWFuIChwaG9uZXRpYykifSx7Im5hbWUiOiJydVx0cGhvbmV0aWNfd2lua2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJSdXNzaWFuIChwaG9uZXRpYyBXaW5LZXlzKSJ9LHsibmFtZSI6InJ1XHR0eXBld3JpdGVyIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gKHR5cGV3cml0ZXIpIn0seyJuYW1lIjoicnVcdGxlZ2FjeSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJSdXNzaWFuIChsZWdhY3kpIn0seyJuYW1lIjoicnVcdHR5cGV3cml0ZXItbGVnYWN5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gKHR5cGV3cml0ZXIsIGxlZ2FjeSkifSx7Im5hbWUiOiJydVx0dHQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVGF0YXIifSx7Im5hbWUiOiJydVx0b3NfbGVnYWN5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik9zc2V0aWFuIChsZWdhY3kpIn0seyJuYW1lIjoicnVcdG9zX3dpbmtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiT3NzZXRpYW4gKFdpbktleXMpIn0seyJuYW1lIjoicnVcdGN2Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkNodXZhc2gifSx7Im5hbWUiOiJydVx0Y3ZfbGF0aW4iLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQ2h1dmFzaCAoTGF0aW4pIn0seyJuYW1lIjoicnVcdHVkbSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJVZG11cnQifSx7Im5hbWUiOiJydVx0a29tIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IktvbWkifSx7Im5hbWUiOiJydVx0c2FoIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Illha3V0In0seyJuYW1lIjoicnVcdHhhbCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJLYWxteWsifSx7Im5hbWUiOiJydVx0ZG9zIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gKERPUykifSx7Im5hbWUiOiJydVx0bWFjIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gKE1hY2ludG9zaCkifSx7Im5hbWUiOiJydVx0c3JwIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4gKFJ1c3NpYSkifSx7Im5hbWUiOiJydVx0YmFrIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkJhc2hraXJpYW4ifSx7Im5hbWUiOiJydVx0Y2htIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik1hcmkifSx7Im5hbWUiOiJycyIsInNob3J0X2Rlc2NyaXB0aW9uIjoic3IiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4ifSx7Im5hbWUiOiJyc1x0eXoiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU2VyYmlhbiAoQ3lyaWxsaWMsIFogYW5kIFpIRSBzd2FwcGVkKSJ9LHsibmFtZSI6InJzXHRsYXRpbiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJTZXJiaWFuIChMYXRpbikifSx7Im5hbWUiOiJyc1x0bGF0aW51bmljb2RlIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4gKExhdGluIFVuaWNvZGUpIn0seyJuYW1lIjoicnNcdGxhdGlueXoiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU2VyYmlhbiAoTGF0aW4gcXdlcnR5KSJ9LHsibmFtZSI6InJzXHRsYXRpbnVuaWNvZGV5eiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJTZXJiaWFuIChMYXRpbiBVbmljb2RlIHF3ZXJ0eSkifSx7Im5hbWUiOiJyc1x0YWx0ZXJuYXRlcXVvdGVzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4gKEN5cmlsbGljIHdpdGggZ3VpbGxlbWV0cykifSx7Im5hbWUiOiJyc1x0bGF0aW5hbHRlcm5hdGVxdW90ZXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU2VyYmlhbiAoTGF0aW4gd2l0aCBndWlsbGVtZXRzKSJ9LHsibmFtZSI6InJzXHRydWUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiUGFubm9uaWFuIFJ1c3luIChob21vcGhvbmljKSJ9LHsibmFtZSI6InNpIiwic2hvcnRfZGVzY3JpcHRpb24iOiJzbCIsImRlc2NyaXB0aW9uIjoiU2xvdmVuaWFuIn0seyJuYW1lIjoic2lcdGFsdGVybmF0ZXF1b3RlcyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJTbG92ZW5pYW4gKHVzZSBndWlsbGVtZXRzIGZvciBxdW90ZXMpIn0seyJuYW1lIjoic2lcdHVzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNsb3ZlbmlhbiAoVVMga2V5Ym9hcmQgd2l0aCBTbG92ZW5pYW4gbGV0dGVycykifSx7Im5hbWUiOiJzayIsInNob3J0X2Rlc2NyaXB0aW9uIjoic2siLCJkZXNjcmlwdGlvbiI6IlNsb3ZhayJ9LHsibmFtZSI6InNrXHRia3NsIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNsb3ZhayAoZXh0ZW5kZWQgQmFja3NsYXNoKSJ9LHsibmFtZSI6InNrXHRxd2VydHkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU2xvdmFrIChxd2VydHkpIn0seyJuYW1lIjoic2tcdHF3ZXJ0eV9ia3NsIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNsb3ZhayAocXdlcnR5LCBleHRlbmRlZCBCYWNrc2xhc2gpIn0seyJuYW1lIjoiZXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImVzIiwiZGVzY3JpcHRpb24iOiJTcGFuaXNoIn0seyJuYW1lIjoiZXNcdG5vZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU3BhbmlzaCAoZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJlc1x0ZGVhZHRpbGRlIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNwYW5pc2ggKGluY2x1ZGUgZGVhZCB0aWxkZSkifSx7Im5hbWUiOiJlc1x0c3VuZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU3BhbmlzaCAoU3VuIGRlYWQga2V5cykifSx7Im5hbWUiOiJlc1x0ZHZvcmFrIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNwYW5pc2ggKER2b3JhaykifSx7Im5hbWUiOiJlc1x0YXN0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkFzdHVyaWFuIChTcGFpbiwgd2l0aCBib3R0b20tZG90IEggYW5kIGJvdHRvbS1kb3QgTCkifSx7Im5hbWUiOiJlc1x0Y2F0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkNhdGFsYW4gKFNwYWluLCB3aXRoIG1pZGRsZS1kb3QgTCkifSx7Im5hbWUiOiJlc1x0bWFjIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlNwYW5pc2ggKE1hY2ludG9zaCkifSx7Im5hbWUiOiJzZSIsInNob3J0X2Rlc2NyaXB0aW9uIjoic3YiLCJkZXNjcmlwdGlvbiI6IlN3ZWRpc2gifSx7Im5hbWUiOiJzZVx0bm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJTd2VkaXNoIChlbGltaW5hdGUgZGVhZCBrZXlzKSJ9LHsibmFtZSI6InNlXHRkdm9yYWsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU3dlZGlzaCAoRHZvcmFrKSJ9LHsibmFtZSI6InNlXHRydXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InJ1IiwiZGVzY3JpcHRpb24iOiJSdXNzaWFuIChTd2VkZW4sIHBob25ldGljKSJ9LHsibmFtZSI6InNlXHRydXNfbm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoicnUiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gKFN3ZWRlbiwgcGhvbmV0aWMsIGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoic2VcdHNtaSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJOb3J0aGVybiBTYWFtaSAoU3dlZGVuKSJ9LHsibmFtZSI6InNlXHRtYWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiU3dlZGlzaCAoTWFjaW50b3NoKSJ9LHsibmFtZSI6InNlXHRzdmR2b3JhayIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJTd2VkaXNoIChTdmR2b3JhaykifSx7Im5hbWUiOiJzZVx0c3dsIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlN3ZWRpc2ggU2lnbiBMYW5ndWFnZSJ9LHsibmFtZSI6ImNoIiwic2hvcnRfZGVzY3JpcHRpb24iOiJkZSIsImRlc2NyaXB0aW9uIjoiR2VybWFuIChTd2l0emVybGFuZCkifSx7Im5hbWUiOiJjaFx0bGVnYWN5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiAoU3dpdHplcmxhbmQsIGxlZ2FjeSkifSx7Im5hbWUiOiJjaFx0ZGVfbm9kZWFka2V5cyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZGUiLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiAoU3dpdHplcmxhbmQsIGVsaW1pbmF0ZSBkZWFkIGtleXMpIn0seyJuYW1lIjoiY2hcdGRlX3N1bmRlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiJkZSIsImRlc2NyaXB0aW9uIjoiR2VybWFuIChTd2l0emVybGFuZCwgU3VuIGRlYWQga2V5cykifSx7Im5hbWUiOiJjaFx0ZnIiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImZyIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKFN3aXR6ZXJsYW5kKSJ9LHsibmFtZSI6ImNoXHRmcl9ub2RlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiJmciIsImRlc2NyaXB0aW9uIjoiRnJlbmNoIChTd2l0emVybGFuZCwgZWxpbWluYXRlIGRlYWQga2V5cykifSx7Im5hbWUiOiJjaFx0ZnJfc3VuZGVhZGtleXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImZyIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKFN3aXR6ZXJsYW5kLCBTdW4gZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImNoXHRmcl9tYWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImZyIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKFN3aXR6ZXJsYW5kLCBNYWNpbnRvc2gpIn0seyJuYW1lIjoiY2hcdGRlX21hYyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZGUiLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiAoU3dpdHplcmxhbmQsIE1hY2ludG9zaCkifSx7Im5hbWUiOiJzeSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYXIiLCJkZXNjcmlwdGlvbiI6IkFyYWJpYyAoU3lyaWEpIn0seyJuYW1lIjoic3lcdHN5YyIsInNob3J0X2Rlc2NyaXB0aW9uIjoic3ljIiwiZGVzY3JpcHRpb24iOiJTeXJpYWMifSx7Im5hbWUiOiJzeVx0c3ljX3Bob25ldGljIiwic2hvcnRfZGVzY3JpcHRpb24iOiJzeWMiLCJkZXNjcmlwdGlvbiI6IlN5cmlhYyAocGhvbmV0aWMpIn0seyJuYW1lIjoic3lcdGt1Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJrdSIsImRlc2NyaXB0aW9uIjoiS3VyZGlzaCAoU3lyaWEsIExhdGluIFEpIn0seyJuYW1lIjoic3lcdGt1X2YiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Imt1IiwiZGVzY3JpcHRpb24iOiJLdXJkaXNoIChTeXJpYSwgRikifSx7Im5hbWUiOiJzeVx0a3VfYWx0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJrdSIsImRlc2NyaXB0aW9uIjoiS3VyZGlzaCAoU3lyaWEsIExhdGluIEFsdC1RKSJ9LHsibmFtZSI6InRqIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ0ZyIsImRlc2NyaXB0aW9uIjoiVGFqaWsifSx7Im5hbWUiOiJ0alx0bGVnYWN5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlRhamlrIChsZWdhY3kpIn0seyJuYW1lIjoibGsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InNpIiwiZGVzY3JpcHRpb24iOiJTaW5oYWxhIChwaG9uZXRpYykifSx7Im5hbWUiOiJsa1x0dGFtX3VuaWNvZGUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InRhIiwiZGVzY3JpcHRpb24iOiJUYW1pbCAoU3JpIExhbmthLCBVbmljb2RlKSJ9LHsibmFtZSI6ImxrXHR0YW1fVEFCIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlRhbWlsIChTcmkgTGFua2EsIFRBQiBUeXBld3JpdGVyKSJ9LHsibmFtZSI6InRoIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ0aCIsImRlc2NyaXB0aW9uIjoiVGhhaSJ9LHsibmFtZSI6InRoXHR0aXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVGhhaSAoVElTLTgyMC4yNTM4KSJ9LHsibmFtZSI6InRoXHRwYXQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVGhhaSAoUGF0dGFjaG90ZSkifSx7Im5hbWUiOiJ0ciIsInNob3J0X2Rlc2NyaXB0aW9uIjoidHIiLCJkZXNjcmlwdGlvbiI6IlR1cmtpc2gifSx7Im5hbWUiOiJ0clx0ZiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJUdXJraXNoIChGKSJ9LHsibmFtZSI6InRyXHRhbHQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVHVya2lzaCAoQWx0LVEpIn0seyJuYW1lIjoidHJcdHN1bmRlYWRrZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlR1cmtpc2ggKFN1biBkZWFkIGtleXMpIn0seyJuYW1lIjoidHJcdGt1Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJrdSIsImRlc2NyaXB0aW9uIjoiS3VyZGlzaCAoVHVya2V5LCBMYXRpbiBRKSJ9LHsibmFtZSI6InRyXHRrdV9mIiwic2hvcnRfZGVzY3JpcHRpb24iOiJrdSIsImRlc2NyaXB0aW9uIjoiS3VyZGlzaCAoVHVya2V5LCBGKSJ9LHsibmFtZSI6InRyXHRrdV9hbHQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Imt1IiwiZGVzY3JpcHRpb24iOiJLdXJkaXNoIChUdXJrZXksIExhdGluIEFsdC1RKSJ9LHsibmFtZSI6InRyXHRpbnRsIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlR1cmtpc2ggKGludGVybmF0aW9uYWwgd2l0aCBkZWFkIGtleXMpIn0seyJuYW1lIjoidHJcdGNyaCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiY3JoIiwiZGVzY3JpcHRpb24iOiJDcmltZWFuIFRhdGFyIChUdXJraXNoIFEpIn0seyJuYW1lIjoidHJcdGNyaF9mIiwic2hvcnRfZGVzY3JpcHRpb24iOiJjcmgiLCJkZXNjcmlwdGlvbiI6IkNyaW1lYW4gVGF0YXIgKFR1cmtpc2ggRikifSx7Im5hbWUiOiJ0clx0Y3JoX2FsdCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiY3JoIiwiZGVzY3JpcHRpb24iOiJDcmltZWFuIFRhdGFyIChUdXJraXNoIEFsdC1RKSJ9LHsibmFtZSI6InR3Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJ6aCIsImRlc2NyaXB0aW9uIjoiVGFpd2FuZXNlIn0seyJuYW1lIjoidHdcdGluZGlnZW5vdXMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVGFpd2FuZXNlIChpbmRpZ2Vub3VzKSJ9LHsibmFtZSI6InR3XHRzYWlzaXlhdCIsInNob3J0X2Rlc2NyaXB0aW9uIjoieHN5IiwiZGVzY3JpcHRpb24iOiJTYWlzaXlhdCAoVGFpd2FuKSJ9LHsibmFtZSI6InVhIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ1ayIsImRlc2NyaXB0aW9uIjoiVWtyYWluaWFuIn0seyJuYW1lIjoidWFcdHBob25ldGljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlVrcmFpbmlhbiAocGhvbmV0aWMpIn0seyJuYW1lIjoidWFcdHR5cGV3cml0ZXIiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVWtyYWluaWFuICh0eXBld3JpdGVyKSJ9LHsibmFtZSI6InVhXHR3aW5rZXlzIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlVrcmFpbmlhbiAoV2luS2V5cykifSx7Im5hbWUiOiJ1YVx0bGVnYWN5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlVrcmFpbmlhbiAobGVnYWN5KSJ9LHsibmFtZSI6InVhXHRyc3R1Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlVrcmFpbmlhbiAoc3RhbmRhcmQgUlNUVSkifSx7Im5hbWUiOiJ1YVx0cnN0dV9ydSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJSdXNzaWFuIChVa3JhaW5lLCBzdGFuZGFyZCBSU1RVKSJ9LHsibmFtZSI6InVhXHRob21vcGhvbmljIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlVrcmFpbmlhbiAoaG9tb3Bob25pYykifSx7Im5hbWUiOiJnYiIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZW4iLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKFVLKSJ9LHsibmFtZSI6ImdiXHRleHRkIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKFVLLCBleHRlbmRlZCBXaW5LZXlzKSJ9LHsibmFtZSI6ImdiXHRpbnRsIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKFVLLCBpbnRlcm5hdGlvbmFsIHdpdGggZGVhZCBrZXlzKSJ9LHsibmFtZSI6ImdiXHRkdm9yYWsiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoVUssIER2b3JhaykifSx7Im5hbWUiOiJnYlx0ZHZvcmFrdWtwIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKFVLLCBEdm9yYWsgd2l0aCBVSyBwdW5jdHVhdGlvbikifSx7Im5hbWUiOiJnYlx0bWFjIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKFVLLCBNYWNpbnRvc2gpIn0seyJuYW1lIjoiZ2JcdG1hY19pbnRsIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVuZ2xpc2ggKFVLLCBNYWNpbnRvc2ggaW50ZXJuYXRpb25hbCkifSx7Im5hbWUiOiJnYlx0Y29sZW1hayIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChVSywgQ29sZW1haykifSx7Im5hbWUiOiJ1eiIsInNob3J0X2Rlc2NyaXB0aW9uIjoidXoiLCJkZXNjcmlwdGlvbiI6IlV6YmVrIn0seyJuYW1lIjoidXpcdGxhdGluIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlV6YmVrIChMYXRpbikifSx7Im5hbWUiOiJ2biIsInNob3J0X2Rlc2NyaXB0aW9uIjoidmkiLCJkZXNjcmlwdGlvbiI6IlZpZXRuYW1lc2UifSx7Im5hbWUiOiJrciIsInNob3J0X2Rlc2NyaXB0aW9uIjoia28iLCJkZXNjcmlwdGlvbiI6IktvcmVhbiJ9LHsibmFtZSI6ImtyXHRrcjEwNCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJLb3JlYW4gKDEwMS8xMDQga2V5IGNvbXBhdGlibGUpIn0seyJuYW1lIjoibmVjX3ZuZHIvanAiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImphIiwiZGVzY3JpcHRpb24iOiJKYXBhbmVzZSAoUEMtOTh4eCBTZXJpZXMpIn0seyJuYW1lIjoiaWUiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImllIiwiZGVzY3JpcHRpb24iOiJJcmlzaCJ9LHsibmFtZSI6ImllXHRDbG9HYWVsYWNoIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkNsb0dhZWxhY2gifSx7Im5hbWUiOiJpZVx0VW5pY29kZUV4cGVydCIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJJcmlzaCAoVW5pY29kZUV4cGVydCkifSx7Im5hbWUiOiJpZVx0b2dhbSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJPZ2hhbSJ9LHsibmFtZSI6ImllXHRvZ2FtX2lzNDM0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6Ik9naGFtIChJUzQzNCkifSx7Im5hbWUiOiJwayIsInNob3J0X2Rlc2NyaXB0aW9uIjoidXIiLCJkZXNjcmlwdGlvbiI6IlVyZHUgKFBha2lzdGFuKSJ9LHsibmFtZSI6InBrXHR1cmQtY3J1bHAiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiVXJkdSAoUGFraXN0YW4sIENSVUxQKSJ9LHsibmFtZSI6InBrXHR1cmQtbmxhIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlVyZHUgKFBha2lzdGFuLCBOTEEpIn0seyJuYW1lIjoicGtcdGFyYSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiYXIiLCJkZXNjcmlwdGlvbiI6IkFyYWJpYyAoUGFraXN0YW4pIn0seyJuYW1lIjoicGtcdHNuZCIsInNob3J0X2Rlc2NyaXB0aW9uIjoic2QiLCJkZXNjcmlwdGlvbiI6IlNpbmRoaSJ9LHsibmFtZSI6Im12Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJkdiIsImRlc2NyaXB0aW9uIjoiRGhpdmVoaSJ9LHsibmFtZSI6InphIiwic2hvcnRfZGVzY3JpcHRpb24iOiJlbiIsImRlc2NyaXB0aW9uIjoiRW5nbGlzaCAoU291dGggQWZyaWNhKSJ9LHsibmFtZSI6ImVwbyIsInNob3J0X2Rlc2NyaXB0aW9uIjoiZW8iLCJkZXNjcmlwdGlvbiI6IkVzcGVyYW50byJ9LHsibmFtZSI6ImVwb1x0bGVnYWN5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkVzcGVyYW50byAoZGlzcGxhY2VkIHNlbWljb2xvbiBhbmQgcXVvdGUsIG9ic29sZXRlKSJ9LHsibmFtZSI6Im5wIiwic2hvcnRfZGVzY3JpcHRpb24iOiJuZSIsImRlc2NyaXB0aW9uIjoiTmVwYWxpIn0seyJuYW1lIjoibmciLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImVuIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChOaWdlcmlhKSJ9LHsibmFtZSI6Im5nXHRpZ2JvIiwic2hvcnRfZGVzY3JpcHRpb24iOiJpZyIsImRlc2NyaXB0aW9uIjoiSWdibyJ9LHsibmFtZSI6Im5nXHR5b3J1YmEiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InlvIiwiZGVzY3JpcHRpb24iOiJZb3J1YmEifSx7Im5hbWUiOiJuZ1x0aGF1c2EiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImhhIiwiZGVzY3JpcHRpb24iOiJIYXVzYSJ9LHsibmFtZSI6ImV0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJhbSIsImRlc2NyaXB0aW9uIjoiQW1oYXJpYyJ9LHsibmFtZSI6InNuIiwic2hvcnRfZGVzY3JpcHRpb24iOiJ3byIsImRlc2NyaXB0aW9uIjoiV29sb2YifSx7Im5hbWUiOiJicmFpIiwic2hvcnRfZGVzY3JpcHRpb24iOiJicmwiLCJkZXNjcmlwdGlvbiI6IkJyYWlsbGUifSx7Im5hbWUiOiJicmFpXHRsZWZ0X2hhbmQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQnJhaWxsZSAobGVmdCBoYW5kKSJ9LHsibmFtZSI6ImJyYWlcdHJpZ2h0X2hhbmQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiQnJhaWxsZSAocmlnaHQgaGFuZCkifSx7Im5hbWUiOiJ0bSIsInNob3J0X2Rlc2NyaXB0aW9uIjoidGsiLCJkZXNjcmlwdGlvbiI6IlR1cmttZW4ifSx7Im5hbWUiOiJ0bVx0YWx0Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IlR1cmttZW4gKEFsdC1RKSJ9LHsibmFtZSI6Im1sIiwic2hvcnRfZGVzY3JpcHRpb24iOiJibSIsImRlc2NyaXB0aW9uIjoiQmFtYmFyYSJ9LHsibmFtZSI6Im1sXHRmci1vc3MiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImZyIiwiZGVzY3JpcHRpb24iOiJGcmVuY2ggKE1hbGksIGFsdGVybmF0aXZlKSJ9LHsibmFtZSI6Im1sXHR1cy1tYWMiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImVuIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChNYWxpLCBVUyBNYWNpbnRvc2gpIn0seyJuYW1lIjoibWxcdHVzLWludGwiLCJzaG9ydF9kZXNjcmlwdGlvbiI6ImVuIiwiZGVzY3JpcHRpb24iOiJFbmdsaXNoIChNYWxpLCBVUyBpbnRlcm5hdGlvbmFsKSJ9LHsibmFtZSI6InR6Iiwic2hvcnRfZGVzY3JpcHRpb24iOiJzdyIsImRlc2NyaXB0aW9uIjoiU3dhaGlsaSAoVGFuemFuaWEpIn0seyJuYW1lIjoia2UiLCJzaG9ydF9kZXNjcmlwdGlvbiI6InN3IiwiZGVzY3JpcHRpb24iOiJTd2FoaWxpIChLZW55YSkifSx7Im5hbWUiOiJrZVx0a2lrIiwic2hvcnRfZGVzY3JpcHRpb24iOiJraSIsImRlc2NyaXB0aW9uIjoiS2lrdXl1In0seyJuYW1lIjoiYnciLCJzaG9ydF9kZXNjcmlwdGlvbiI6InRuIiwiZGVzY3JpcHRpb24iOiJUc3dhbmEifSx7Im5hbWUiOiJwaCIsInNob3J0X2Rlc2NyaXB0aW9uIjoicGgiLCJkZXNjcmlwdGlvbiI6IkZpbGlwaW5vIn0seyJuYW1lIjoicGhcdHF3ZXJ0eS1iYXkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRmlsaXBpbm8gKFFXRVJUWSBCYXliYXlpbikifSx7Im5hbWUiOiJwaFx0Y2FwZXdlbGwtZHZvcmFrIiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkZpbGlwaW5vIChDYXBld2VsbC1Edm9yYWsgTGF0aW4pIn0seyJuYW1lIjoicGhcdGNhcGV3ZWxsLWR2b3Jhay1iYXkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRmlsaXBpbm8gKENhcGV3ZWxsLUR2b3JhayBCYXliYXlpbikifSx7Im5hbWUiOiJwaFx0Y2FwZXdlbGwtcXdlcmYyazYiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRmlsaXBpbm8gKENhcGV3ZWxsLVFXRVJGIDIwMDYgTGF0aW4pIn0seyJuYW1lIjoicGhcdGNhcGV3ZWxsLXF3ZXJmMms2LWJheSIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGaWxpcGlubyAoQ2FwZXdlbGwtUVdFUkYgMjAwNiBCYXliYXlpbikifSx7Im5hbWUiOiJwaFx0Y29sZW1hayIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGaWxpcGlubyAoQ29sZW1hayBMYXRpbikifSx7Im5hbWUiOiJwaFx0Y29sZW1hay1iYXkiLCJzaG9ydF9kZXNjcmlwdGlvbiI6IiIsImRlc2NyaXB0aW9uIjoiRmlsaXBpbm8gKENvbGVtYWsgQmF5YmF5aW4pIn0seyJuYW1lIjoicGhcdGR2b3JhayIsInNob3J0X2Rlc2NyaXB0aW9uIjoiIiwiZGVzY3JpcHRpb24iOiJGaWxpcGlubyAoRHZvcmFrIExhdGluKSJ9LHsibmFtZSI6InBoXHRkdm9yYWstYmF5Iiwic2hvcnRfZGVzY3JpcHRpb24iOiIiLCJkZXNjcmlwdGlvbiI6IkZpbGlwaW5vIChEdm9yYWsgQmF5YmF5aW4pIn0seyJuYW1lIjoibWQiLCJzaG9ydF9kZXNjcmlwdGlvbiI6Im1kIiwiZGVzY3JpcHRpb24iOiJNb2xkYXZpYW4ifSx7Im5hbWUiOiJtZFx0Z2FnIiwic2hvcnRfZGVzY3JpcHRpb24iOiJnYWciLCJkZXNjcmlwdGlvbiI6Ik1vbGRhdmlhbiAoR2FnYXV6KSJ9XQ==")); this.sessions = JSON.parse(atob("W3sibmFtZSI6IkxYREUiLCJrZXkiOiJMWERFIiwiY29tbWVudCI6IkxYREUgLSBMaWdodHdlaWdodCBYMTEgZGVza3RvcCBlbnZpcm9ubWVudCJ9LHsibmFtZSI6Ik9wZW5ib3giLCJrZXkiOiJvcGVuYm94IiwiY29tbWVudCI6IkxvZyBpbiB1c2luZyB0aGUgT3BlbmJveCB3aW5kb3cgbWFuYWdlciAod2l0aG91dCBhIHNlc3Npb24gbWFuYWdlcikifSx7Im5hbWUiOiJUV00iLCJrZXkiOiJ0d20iLCJjb21tZW50IjoiVGhlIFRhYiBXaW5kb3cgTWFuYWdlciJ9LHsibmFtZSI6IlRpbnl3bSIsImtleSI6InRpbnl3bSIsImNvbW1lbnQiOiJSaWRpY3Vsb3VzbHkgdGlueSB3aW5kb3cgbWFuYWdlciJ9XQ")); this.language = this.languages[0].name; this.layout = this.layouts[0].name; this.default_session = this.sessions[0].name; this.layout = this.layouts[0].name; this.num_users = this.users.length; if(typeof timeout === "number" && timeout > 0) { if(typeof autoGuest === "boolean" && autoGuest) { this.autologin_user = null; this.autologin_guest = autoGuest; } this.autologin_user = this.users[0].name; this.autologin_timeout = timeout * 1000; setTimeout(function() { if((typeof autoGuest === "boolean" && autoGuest) || this.autologin_user !== null) window.autologin_timer_expired(); }.bind(this), this.timed_login_delay); } for(var i = 0; i <= this.users; i++) { this.users[i].logged_in = Boolean(Math.floor(Math.random() * 2)); this.users[i].session = this.sessions[Math.floor((Math.random() * this.sessions.length))].name; } } } /** * Deprecated method. */ LightDMMock.prototype.cancel_timed_login = function() { window.deprecationNotifier("method", "lightdm.cancel_timed_login()", "lightdm.cancel_autologin()"); }; /** * Cancels the authentication of the autologin user. The older function * lightdm.cancel_timed_login() has been deprecated. */ LightDMMock.prototype.cancel_autologin = function() { window.checkArguments(arguments, 0, []); this.autologin_user = null; this.autologin_guest = false; this.autologin_timeout = 0; }; /** * Deprecated method. */ LightDMMock.prototype.start_authentication = function() { window.deprecationNotifier("method", "lightdm.start_authentication()", "lightdm.authenticate(username)"); }; /** * Specifies the username of the user we'd like to start authenticating as. * Note that if you call lightdm.authenticate with no argument, LightDM * (via PAM) will issue a show_prompt() call to ask for the username. The * older function lightdm.start_authentication() has been deprecated. * * @param {String} username [username to authenticate] */ LightDMMock.prototype.authenticate = function(username) { window.checkArguments(arguments, 1, ["string"]); if(this.in_authentication) { window.show_message("Already authenticating " + this.authentication_user, "error"); return; } var exists = false; for(var i = 0; i <= this.users.length; i++) { if(this.users.name === username) exists = true; } if(!exists) { window.show_message("Invalid username", "error"); return; } this.authentication_user = username; this.in_authentication = true; window.show_prompt("Password:", "password"); }; /** * Authenticates as the guest user. */ LightDMMock.prototype.authenticate_as_guest = function() { window.checkArguments(arguments, 0, []); if(!this.has_guest_account) throw new IlligalUsageException("Guest accounts are turned off. Make sure you check the value of 'lightdm.has_guest_account' before calling this function."); if(this.in_authentication) { window.show_message("Already authenticating" + this.authentication_user, "error"); return; } this.authentication_user = "guest"; this.in_authentication = true; }; /** * When LightDM has prompted for input, provide the response to LightDM. The * deprecated function was "provide_secret". This is still available for * backwards compatibility, but authors of greeters should move * to using lightdm.respond(). * * @param {String} text [the response to the challange, usually a password] */ LightDMMock.prototype.respond = function(text) { window.checkArguments(arguments, 1, ["string"]); if(!this.in_authentication) throw new IlligalUsageException("LightDM is currently not in the authentication phase. Make sure to call 'lightdm.authenticate(username)' before calling this function."); if(text === "password") { this.is_authenticated = true; window.authentication_complete(); } else { window.show_message("Invalid password", "error"); } }; /** * Deprecated method. */ LightDMMock.prototype.provide_secret = function() { window.deprecationNotifier("method", "lightdm.provide_secret(text)", "lightdm.respond(text)"); }; /** * Cancels the authentication of any user currently in the * process of authenticating. */ LightDMMock.prototype.cancel_authentication = function() { window.checkArguments(arguments, 0, []); this.authentication_user = null; this.in_authentication = false; }; /** * Suspends the system, if the greeter has the authority to do so. */ LightDMMock.prototype.suspend = function() { window.checkArguments(arguments, 0, []); if(!this.can_suspend) throw new IlligalUsageException("LightDM cannot suspend the system. Make sure you check the value of 'lightdm.can_suspend' before calling this function."); window.alert("System suspended."); document.location.reload(true); }; /** * Hibernates the system, if the greeter has the authority to do so. */ LightDMMock.prototype.hibernate = function() { window.checkArguments(arguments, 0, []); if(!this.can_hibernate) throw new IlligalUsageException("LightDM cannot hibernate the system. Make sure you check the value of 'lightdm.can_hibernate' before calling this function."); window.alert("System hibernated."); document.location.reload(true); }; /** * Shuts down the system, if the greeter has the authority to do so. */ LightDMMock.prototype.shutdown = function() { window.checkArguments(arguments, 0, []); if(!this.can_shutdown) throw new IlligalUsageException("LightDM cannot shut down the system. Make sure you check the value of 'lightdm.can_shutdown' before calling this function."); window.alert("System shut down."); document.location.reload(true); }; /** * Restarts the system, if the greeter has the authority to do so. */ LightDMMock.prototype.restart = function() { window.checkArguments(arguments, 0, []); if(!this.can_restart) throw new IlligalUsageException("LightDM cannot restart the system. Make sure you check the value of 'lightdm.can_restart' before calling this function."); window.alert("System restarted."); document.location.reload(true); }; /** * Will set the language for the current LightDM session. * * @param {String} lang [the language to change to] */ LightDMMock.prototype.set_language = function(lang) { window.checkArguments(arguments, 1, ["string"]); this.language = lang; }; /** * Deprecated method. */ LightDMMock.prototype.login = function() { window.deprecationNotifier("method", "lightdm.login()", "lightdm.start_session_sync(session)"); }; /** * Once LightDM has successfully authenticated the user, start the user's * session by calling this function. "session" is the authenticated user's * session. If no session is passed, start the authenticated user with the * system default session. The older function lightdm.login(user, session) * has been deprecated. * * @param {String} session [the session name to start] */ LightDMMock.prototype.start_session_sync = function(session) { window.checkArguments(arguments, 1, ["string"]); if(!this.in_authentication) throw new IlligalUsageException("LightDM is currently not in the authentication phase. Make sure to call 'lightdm.authenticate(username)' before calling this function."); if(!this.is_authenticated) throw new IlligalUsageException("LightDM has no authenticated users to log in. Make sure to call 'lightdm.respond()' before calling this function."); window.alert("LightDM has started a " + session + " session for " + this.authentication_user); }; /** * Returns the value of a named hint provided by LightDM. * * @param {String} hint_name [name of the hint to show] */ LightDMMock.prototype.get_hint = function(hint_name) { window.checkArguments(arguments, 1, ["string"]); // @fixme: I have no clue how to simulate this... }; /****************************************************************************** * Throwables * *******************************************************************************/ /** * Throwable IlligalUsageException * * @param {string} message [description of illigal usage] */ function IlligalUsageException(message) { this.name = "IlligalUsageException"; this.message = message; this.toString = function() { return "[" + this.name + "] " + this.message; }; } /** * Throwable DeprecationException * * @param {String} type [method||property] * @param {String} depricated [deprecated method or property name] * @param {String} alternative [alternative method or property to use] */ function DeprecationException(type, deprecated, alternative) { this.name = "DeprecationException"; this.message = "The " + type + " '" + deprecated + "' is deprecated. Consider using '" + alternative + "' instead."; this.toString = function() { return "[" + this.name + "] " + this.message; }; } /** * Throwable IncompatibleArgumentCountException * * @param {Number} expected [expected length of arguments] * @param {Number} received [found length of arguments] */ function IncompatibleArgumentCountException(expected, received) { this.name = "IncompatibleArgumentCountException"; this.message = "Incorrect number of arguments in function call. Expected " + expected + ", found " + received; this.toString = function() { return "[" + this.name + "] " + this.message; }; } /** * Throwable IncompatibleArgumentTypesException * * @param {Number} type [argument number (non-zero)] * @param {String} expected [expected type] * @param {String} received [found type] */ function IncompatibleArgumentTypesException(number, expected, received) { this.name = "IncompatibleArgumentTypesException"; this.message = "Argument " + number + " is of a wrong type. Expected '" + expected + "', found '" + received + "'"; this.toString = function() { return "[" + this.name + "] " + this.message; }; } /****************************************************************************** * Helpers * *******************************************************************************/ /** * global helper deprecationNotifier * throws ~balls~ errors at users who use deprecated methods and properties. * * @param {String} type [method||property] * @param {String} depricated [deprecated method or property name] * @param {String} alternative [alternative method or property to use] * * @throws {DeprecationException} */ window.deprecationNotifier = function(type, deprecated, alternative) { throw new DeprecationException(type, deprecated, alternative); }; /** * global helper checkArguments * throws ~tables~ errors at users who call methods * with erroneous arguments. * * @param {Array} args [the arguments passed to the original method] * @param {Number} length [the expected amount of arguments] * @param {Arrray} types [the expected types of the arguments] * * @throws {IncompatibleArgumentTypesException} */ window.checkArguments = function(args, length, types) { if(args.length !== length) throw new IncompatibleArgumentCountException(length, args.length); for(var i = 1; i <= types.length; i++) { if(typeof args[i] !== types[i-1]) throw new IncompatibleArgumentTypesException(i, types[i-1], typeof args[i]); } }; /****************************************************************************** * Object.watch shim * *******************************************************************************/ /* * object.watch polyfill * * 2012-04-03 * * By Eli Grey, http://eligrey.com * Public Domain. * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. */ // object.watch if (!Object.prototype.watch) { Object.defineProperty(Object.prototype, "watch", { enumerable: false, configurable: true, writable: false, value: function(prop, handler) { var oldval = this[prop], newval = oldval, getter = function () { return newval; }, setter = function (val) { oldval = newval; newval = handler.call(this, prop, oldval, val); return newval; }; if(delete this[prop]) { // can't watch constants Object.defineProperty(this, prop, { get: getter, set: setter, enumerable: true, configurable: true }); } } }); } // object.unwatch if(!Object.prototype.unwatch) { Object.defineProperty(Object.prototype, "unwatch", { enumerable: false, configurable: true, writable: false, value: function (prop) { var val = this[prop]; delete this[prop]; // remove accessors this[prop] = val; } }); } LightDMMock.watch('default_language', function() { window.deprecationNotifier("property", "default_language", "lightdm.language"); }); LightDMMock.watch('default_layout', function() { window.deprecationNotifier("property", "default_layout", "lightdm.layout"); }); LightDMMock.watch('timed_login_user', function() { window.deprecationNotifier("property", "timed_login_user", "lightdm.autologin_user"); }); LightDMMock.watch('timed_login_delay', function() { window.deprecationNotifier("property", "timed_login_delay", "lightdm.autologin_timeout"); });