Last active
June 26, 2026 02:35
-
-
Save uzihaq/f2a3a19a7f698ec7006044b573adb95f to your computer and use it in GitHub Desktop.
lakebed whiteboard MINIFIED envelope (92KB)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {"artifact":{"client":{"bundleHash":"sha256:c020f0700e2bb16ff651f885802746d0550292718f730b500c0a057ded232982","bytes":49624,"entry":"/client.js"},"createdWith":{"compiler":"0.1.0","lakebed":"0.0.25"},"deployTarget":"anonymous-source","format":"lakebed.capsule.artifact.v1","limits":{"instructionBudget":50000,"maxRowsReturned":1000,"maxValueBytes":65536},"name":"Whiteboard","server":{"endpoints":{},"helpers":{},"imports":["lakebed/server"],"mutations":{"addShape":{"op":"source"},"claim":{"op":"source"},"deleteShape":{"op":"source"},"redo":{"op":"source"},"setDrawLock":{"op":"source"},"setViewLock":{"op":"source"},"undo":{"op":"source"},"updateShape":{"op":"source"}},"queries":{"room":{"op":"source"},"shapes":{"op":"source"}},"schema":{"ops":{"fields":{"after":{"kind":"string"},"before":{"kind":"string"},"kind":{"kind":"string"},"shapeId":{"kind":"string"},"undone":{"defaultValue":false,"kind":"boolean"},"userId":{"kind":"string"}},"kind":"table"},"room":{"fields":{"drawLock":{"defaultValue":false,"kind":"boolean"},"ownerId":{"kind":"string"},"viewHash":{"kind":"string"},"viewLock":{"defaultValue":false,"kind":"boolean"}},"kind":"table"},"shapes":{"fields":{"color":{"kind":"string"},"createdBy":{"kind":"string"},"fill":{"kind":"string"},"h":{"kind":"string"},"points":{"kind":"string"},"rotation":{"kind":"string"},"strokeWidth":{"kind":"string"},"text":{"kind":"string"},"type":{"kind":"string"},"w":{"kind":"string"},"x":{"kind":"string"},"y":{"kind":"string"},"z":{"kind":"string"}},"kind":"table"}},"source":{"bundle":"Ly8gLi4vLi4vbnBtY2FjaGUtbGIvX25weC9jZTA0NTJlZWQ1ZDBhMDAzL25vZGVfbW9kdWxlcy9sYWtlYmVkL2Rpc3Qvc2VydmVyLmpzCmZ1bmN0aW9uIGNhcHN1bGUoZGVmaW5pdGlvbikgewogIHJldHVybiBkZWZpbml0aW9uOwp9CmZ1bmN0aW9uIHF1ZXJ5KGhhbmRsZXIpIHsKICByZXR1cm4gaGFuZGxlcjsKfQpmdW5jdGlvbiBtdXRhdGlvbihoYW5kbGVyKSB7CiAgcmV0dXJuIGhhbmRsZXI7Cn0KZnVuY3Rpb24gZmllbGQoa2luZCkgewogIHJldHVybiB7CiAgICBraW5kLAogICAgZGVmYXVsdFZhbHVlOiB2b2lkIDAsCiAgICBkZWZhdWx0KHZhbHVlKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgLi4udGhpcywKICAgICAgICBkZWZhdWx0VmFsdWU6IHZhbHVlCiAgICAgIH07CiAgICB9CiAgfTsKfQpmdW5jdGlvbiB0YWJsZShmaWVsZHMpIHsKICByZXR1cm4gewogICAga2luZDogInRhYmxlIiwKICAgIGZpZWxkcwogIH07Cn0KZnVuY3Rpb24gc3RyaW5nKCkgewogIHJldHVybiBmaWVsZCgic3RyaW5nIik7Cn0KZnVuY3Rpb24gYm9vbGVhbigpIHsKICByZXR1cm4gZmllbGQoImJvb2xlYW4iKTsKfQoKLy8gbGFrZWJlZC1zb3VyY2U6c2VydmVyL2luZGV4LnRzCnZhciBTSEFQRV9GSUVMRFMgPSBbInR5cGUiLCAieCIsICJ5IiwgInciLCAiaCIsICJwb2ludHMiLCAiY29sb3IiLCAic3Ryb2tlV2lkdGgiLCAidGV4dCIsICJmaWxsIiwgInJvdGF0aW9uIiwgInoiLCAiY3JlYXRlZEJ5Il07CmZ1bmN0aW9uIGRhdGFPZihyb3cpIHsKICBjb25zdCBvID0ge307CiAgU0hBUEVfRklFTERTLmZvckVhY2goKGspID0+IHsKICAgIG9ba10gPSByb3dba10gPz8gIiI7CiAgfSk7CiAgcmV0dXJuIG87Cn0KZnVuY3Rpb24gaXNPd25lcihjdHgsIHJvb20pIHsKICByZXR1cm4gISFyb29tICYmICEhcm9vbS5vd25lcklkICYmIHJvb20ub3duZXJJZCA9PT0gY3R4LmF1dGgudXNlcklkOwp9CmZ1bmN0aW9uIGNhbldyaXRlKGN0eCwgcm9vbSkgewogIHJldHVybiAhcm9vbSB8fCAhcm9vbS5kcmF3TG9jayB8fCBpc093bmVyKGN0eCwgcm9vbSk7Cn0KZnVuY3Rpb24gbG9nT3AoY3R4LCBraW5kLCBzaGFwZUlkLCBiZWZvcmUsIGFmdGVyKSB7CiAgY3R4LmRiLm9wcy5pbnNlcnQoeyB1c2VySWQ6IGN0eC5hdXRoLnVzZXJJZCwga2luZCwgc2hhcGVJZCwgYmVmb3JlLCBhZnRlciwgdW5kb25lOiBmYWxzZSB9KTsKICBjb25zdCBhbGwgPSBjdHguZGIub3BzLm9yZGVyQnkoImNyZWF0ZWRBdCIsICJhc2MiKS5hbGwoKTsKICBpZiAoYWxsLmxlbmd0aCA+IDE2MCkgYWxsLnNsaWNlKDAsIGFsbC5sZW5ndGggLSAxNjApLmZvckVhY2goKG8pID0+IGN0eC5kYi5vcHMuZGVsZXRlKG8uaWQpKTsKfQp2YXIgc2VydmVyX2RlZmF1bHQgPSBjYXBzdWxlKHsKICBuYW1lOiAiV2hpdGVib2FyZCIsCiAgc2NoZW1hOiB7CiAgICBzaGFwZXM6IHRhYmxlKHsKICAgICAgdHlwZTogc3RyaW5nKCksCiAgICAgIHg6IHN0cmluZygpLAogICAgICB5OiBzdHJpbmcoKSwKICAgICAgdzogc3RyaW5nKCksCiAgICAgIGg6IHN0cmluZygpLAogICAgICBwb2ludHM6IHN0cmluZygpLAogICAgICBjb2xvcjogc3RyaW5nKCksCiAgICAgIHN0cm9rZVdpZHRoOiBzdHJpbmcoKSwKICAgICAgdGV4dDogc3RyaW5nKCksCiAgICAgIGZpbGw6IHN0cmluZygpLAogICAgICByb3RhdGlvbjogc3RyaW5nKCksCiAgICAgIHo6IHN0cmluZygpLAogICAgICBjcmVhdGVkQnk6IHN0cmluZygpCiAgICB9KSwKICAgIG9wczogdGFibGUoeyB1c2VySWQ6IHN0cmluZygpLCBraW5kOiBzdHJpbmcoKSwgc2hhcGVJZDogc3RyaW5nKCksIGJlZm9yZTogc3RyaW5nKCksIGFmdGVyOiBzdHJpbmcoKSwgdW5kb25lOiBib29sZWFuKCkuZGVmYXVsdChmYWxzZSkgfSksCiAgICByb29tOiB0YWJsZSh7IG93bmVySWQ6IHN0cmluZygpLCB2aWV3SGFzaDogc3RyaW5nKCksIGRyYXdMb2NrOiBib29sZWFuKCkuZGVmYXVsdChmYWxzZSksIHZpZXdMb2NrOiBib29sZWFuKCkuZGVmYXVsdChmYWxzZSkgfSkKICB9LAogIHF1ZXJpZXM6IHsKICAgIHNoYXBlczogcXVlcnkoKGN0eCkgPT4gY3R4LmRiLnNoYXBlcy5vcmRlckJ5KCJjcmVhdGVkQXQiLCAiYXNjIikuYWxsKCkpLAogICAgcm9vbTogcXVlcnkoKGN0eCkgPT4gY3R4LmRiLnJvb20uYWxsKCkpCiAgfSwKICBtdXRhdGlvbnM6IHsKICAgIGFkZFNoYXBlOiBtdXRhdGlvbigoY3R4LCBwYXlsb2FkKSA9PiB7CiAgICAgIGNvbnN0IHsgc2hhcGUgfSA9IEpTT04ucGFyc2UocGF5bG9hZCB8fCAie30iKTsKICAgICAgY29uc3Qgcm9vbSA9IGN0eC5kYi5yb29tLmFsbCgpWzBdOwogICAgICBpZiAoIWNhbldyaXRlKGN0eCwgcm9vbSkgfHwgIXNoYXBlKSByZXR1cm47CiAgICAgIGNvbnN0IHJvdyA9IGN0eC5kYi5zaGFwZXMuaW5zZXJ0KHsgLi4uZGF0YU9mKHNoYXBlKSwgY3JlYXRlZEJ5OiBjdHguYXV0aC51c2VySWQgfSk7CiAgICAgIGxvZ09wKGN0eCwgImFkZCIsIHJvdy5pZCwgIiIsIEpTT04uc3RyaW5naWZ5KGRhdGFPZihyb3cpKSk7CiAgICB9KSwKICAgIHVwZGF0ZVNoYXBlOiBtdXRhdGlvbigoY3R4LCBwYXlsb2FkKSA9PiB7CiAgICAgIGNvbnN0IHsgaWQsIHBhdGNoIH0gPSBKU09OLnBhcnNlKHBheWxvYWQgfHwgInt9Iik7CiAgICAgIGNvbnN0IHJvb20gPSBjdHguZGIucm9vbS5hbGwoKVswXTsKICAgICAgaWYgKCFjYW5Xcml0ZShjdHgsIHJvb20pKSByZXR1cm47CiAgICAgIGNvbnN0IGN1ciA9IGN0eC5kYi5zaGFwZXMuZ2V0KGlkKTsKICAgICAgaWYgKCFjdXIgfHwgIXBhdGNoKSByZXR1cm47CiAgICAgIGN0eC5kYi5zaGFwZXMudXBkYXRlKGlkLCBwYXRjaCk7CiAgICAgIGxvZ09wKGN0eCwgInVwZGF0ZSIsIGlkLCBKU09OLnN0cmluZ2lmeShkYXRhT2YoY3VyKSksIEpTT04uc3RyaW5naWZ5KHsgLi4uZGF0YU9mKGN1ciksIC4uLnBhdGNoIH0pKTsKICAgIH0pLAogICAgZGVsZXRlU2hhcGU6IG11dGF0aW9uKChjdHgsIHBheWxvYWQpID0+IHsKICAgICAgY29uc3QgeyBpZCB9ID0gSlNPTi5wYXJzZShwYXlsb2FkIHx8ICJ7fSIpOwogICAgICBjb25zdCByb29tID0gY3R4LmRiLnJvb20uYWxsKClbMF07CiAgICAgIGlmICghY2FuV3JpdGUoY3R4LCByb29tKSkgcmV0dXJuOwogICAgICBjb25zdCBjdXIgPSBjdHguZGIuc2hhcGVzLmdldChpZCk7CiAgICAgIGlmICghY3VyKSByZXR1cm47CiAgICAgIGN0eC5kYi5zaGFwZXMuZGVsZXRlKGlkKTsKICAgICAgbG9nT3AoY3R4LCAiZGVsZXRlIiwgaWQsIEpTT04uc3RyaW5naWZ5KGRhdGFPZihjdXIpKSwgIiIpOwogICAgfSksCiAgICAvLyB1bmRvIC8gcmVkbyDigJQgT1dORVIgT05MWSwgYm9hcmQtbGV2ZWwgKG1vc3QgcmVjZW50IGFjdGlvbiBieSBhbnlvbmUpCiAgICB1bmRvOiBtdXRhdGlvbigoY3R4KSA9PiB7CiAgICAgIGNvbnN0IHJvb20gPSBjdHguZGIucm9vbS5hbGwoKVswXTsKICAgICAgaWYgKHJvb20gJiYgcm9vbS5vd25lcklkICYmICFpc093bmVyKGN0eCwgcm9vbSkpIHJldHVybjsKICAgICAgY29uc3QgbGl2ZSA9IGN0eC5kYi5vcHMub3JkZXJCeSgiY3JlYXRlZEF0IiwgImFzYyIpLmFsbCgpLmZpbHRlcigobykgPT4gIW8udW5kb25lKTsKICAgICAgY29uc3Qgb3AgPSBsaXZlW2xpdmUubGVuZ3RoIC0gMV07CiAgICAgIGlmICghb3ApIHJldHVybjsKICAgICAgbGV0IHNoYXBlSWQgPSBvcC5zaGFwZUlkOwogICAgICBpZiAob3Aua2luZCA9PT0gImFkZCIpIGN0eC5kYi5zaGFwZXMuZGVsZXRlKG9wLnNoYXBlSWQpOwogICAgICBlbHNlIGlmIChvcC5raW5kID09PSAiZGVsZXRlIikgewogICAgICAgIGNvbnN0IHIgPSBjdHguZGIuc2hhcGVzLmluc2VydCh7IC4uLkpTT04ucGFyc2Uob3AuYmVmb3JlKSwgY3JlYXRlZEJ5OiBvcC5iZWZvcmUgPyBKU09OLnBhcnNlKG9wLmJlZm9yZSkuY3JlYXRlZEJ5IDogY3R4LmF1dGgudXNlcklkIH0pOwogICAgICAgIHNoYXBlSWQgPSByLmlkOwogICAgICB9IGVsc2UgY3R4LmRiLnNoYXBlcy51cGRhdGUob3Auc2hhcGVJZCwgSlNPTi5wYXJzZShvcC5iZWZvcmUpKTsKICAgICAgY3R4LmRiLm9wcy51cGRhdGUob3AuaWQsIHsgdW5kb25lOiB0cnVlLCBzaGFwZUlkIH0pOwogICAgfSksCiAgICByZWRvOiBtdXRhdGlvbigoY3R4KSA9PiB7CiAgICAgIGNvbnN0IHJvb20gPSBjdHguZGIucm9vbS5hbGwoKVswXTsKICAgICAgaWYgKHJvb20gJiYgcm9vbS5vd25lcklkICYmICFpc093bmVyKGN0eCwgcm9vbSkpIHJldHVybjsKICAgICAgY29uc3QgZG9uZSA9IGN0eC5kYi5vcHMub3JkZXJCeSgiY3JlYXRlZEF0IiwgImFzYyIpLmFsbCgpLmZpbHRlcigobykgPT4gby51bmRvbmUpOwogICAgICBjb25zdCBvcCA9IGRvbmVbZG9uZS5sZW5ndGggLSAxXTsKICAgICAgaWYgKCFvcCkgcmV0dXJuOwogICAgICBsZXQgc2hhcGVJZCA9IG9wLnNoYXBlSWQ7CiAgICAgIGlmIChvcC5raW5kID09PSAiYWRkIikgewogICAgICAgIGNvbnN0IHIgPSBjdHguZGIuc2hhcGVzLmluc2VydCh7IC4uLkpTT04ucGFyc2Uob3AuYWZ0ZXIpLCBjcmVhdGVkQnk6IGN0eC5hdXRoLnVzZXJJZCB9KTsKICAgICAgICBzaGFwZUlkID0gci5pZDsKICAgICAgfSBlbHNlIGlmIChvcC5raW5kID09PSAiZGVsZXRlIikgY3R4LmRiLnNoYXBlcy5kZWxldGUob3Auc2hhcGVJZCk7CiAgICAgIGVsc2UgY3R4LmRiLnNoYXBlcy51cGRhdGUob3Auc2hhcGVJZCwgSlNPTi5wYXJzZShvcC5hZnRlcikpOwogICAgICBjdHguZGIub3BzLnVwZGF0ZShvcC5pZCwgeyB1bmRvbmU6IGZhbHNlLCBzaGFwZUlkIH0pOwogICAgfSksCiAgICBjbGFpbTogbXV0YXRpb24oKGN0eCwgcGF5bG9hZCkgPT4gewogICAgICBjb25zdCB7IHZpZXdIYXNoIH0gPSBKU09OLnBhcnNlKHBheWxvYWQgfHwgInt9Iik7CiAgICAgIGNvbnN0IHJvb20gPSBjdHguZGIucm9vbS5hbGwoKVswXTsKICAgICAgaWYgKHJvb20gJiYgcm9vbS5vd25lcklkKSByZXR1cm47CiAgICAgIGlmIChyb29tKSBjdHguZGIucm9vbS51cGRhdGUocm9vbS5pZCwgeyBvd25lcklkOiBjdHguYXV0aC51c2VySWQsIHZpZXdIYXNoOiB2aWV3SGFzaCB8fCAiIiwgZHJhd0xvY2s6IGZhbHNlLCB2aWV3TG9jazogZmFsc2UgfSk7CiAgICAgIGVsc2UgY3R4LmRiLnJvb20uaW5zZXJ0KHsgb3duZXJJZDogY3R4LmF1dGgudXNlcklkLCB2aWV3SGFzaDogdmlld0hhc2ggfHwgIiIsIGRyYXdMb2NrOiBmYWxzZSwgdmlld0xvY2s6IGZhbHNlIH0pOwogICAgfSksCiAgICBzZXREcmF3TG9jazogbXV0YXRpb24oKGN0eCwgcGF5bG9hZCkgPT4gewogICAgICBjb25zdCB7IHZhbHVlIH0gPSBKU09OLnBhcnNlKHBheWxvYWQgfHwgInt9Iik7CiAgICAgIGNvbnN0IHJvb20gPSBjdHguZGIucm9vbS5hbGwoKVswXTsKICAgICAgaWYgKCFpc093bmVyKGN0eCwgcm9vbSkpIHJldHVybjsKICAgICAgY3R4LmRiLnJvb20udXBkYXRlKHJvb20uaWQsIHsgZHJhd0xvY2s6ICEhdmFsdWUgfSk7CiAgICB9KSwKICAgIHNldFZpZXdMb2NrOiBtdXRhdGlvbigoY3R4LCBwYXlsb2FkKSA9PiB7CiAgICAgIGNvbnN0IHsgdmFsdWUsIHZpZXdIYXNoIH0gPSBKU09OLnBhcnNlKHBheWxvYWQgfHwgInt9Iik7CiAgICAgIGNvbnN0IHJvb20gPSBjdHguZGIucm9vbS5hbGwoKVswXTsKICAgICAgaWYgKCFpc093bmVyKGN0eCwgcm9vbSkpIHJldHVybjsKICAgICAgY29uc3QgcGF0Y2ggPSB7IHZpZXdMb2NrOiAhIXZhbHVlIH07CiAgICAgIGlmICh0eXBlb2Ygdmlld0hhc2ggPT09ICJzdHJpbmciKSBwYXRjaC52aWV3SGFzaCA9IHZpZXdIYXNoOwogICAgICBjdHguZGIucm9vbS51cGRhdGUocm9vbS5pZCwgcGF0Y2gpOwogICAgfSkKICB9Cn0pOwpleHBvcnQgewogIHNlcnZlcl9kZWZhdWx0IGFzIGRlZmF1bHQKfTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxld29nSUNKMlpYSnphVzl1SWpvZ015d0tJQ0FpYzI5MWNtTmxjeUk2SUZzaUxpNHZMaTR2TGk0dkxpNHZMaTR2Ym5CdFkyRmphR1V0YkdJdlgyNXdlQzlqWlRBME5USmxaV1ExWkRCaE1EQXpMMjV2WkdWZmJXOWtkV3hsY3k5c1lXdGxZbVZrTDNOeVl5OXpaWEoyWlhJdWRITWlMQ0FpYkdGclpXSmxaQzF6YjNWeVkyVTZjMlZ5ZG1WeUwybHVaR1Y0TG5SeklsMHNDaUFnSW5OdmRYSmpaWE5EYjI1MFpXNTBJam9nVzI1MWJHd3NJQ0pwYlhCdmNuUWdleUJpYjI5c1pXRnVMQ0JqWVhCemRXeGxMQ0J0ZFhSaGRHbHZiaXdnY1hWbGNua3NJSE4wY21sdVp5d2dkR0ZpYkdVZ2ZTQm1jbTl0SUZ3aWJHRnJaV0psWkM5elpYSjJaWEpjSWp0Y2JseHVMeThnVEdGclpXSmxaQ0JYYUdsMFpXSnZZWEprSUZ4MU1qQXhOQ0J6YUdGd1pYTXRZWEpsTFhKdmQzTXVJRVJ5WVhkcGJtY2dhWE1nWVNCdGRYUmhkR2x2YmpzZ2RHaGxJR05oYm5aaGN5QnBjeUJoSUd4cGRtVWdjWFZsY25rdVhHNHZMeUJVYUdVZ1kyRndjM1ZzWlNCSlV5QjBhR1VnY205dmJTQW9aV0ZqYUNCemNHRjNibVZrSUdOdmNIa2dhWE1nYVhSeklHOTNiaUJ3Y205bmNtRnRLU3dnYzI4Z2JtOGdjR1Z5TFhKdmIyMGdjMk52Y0dsdVp5QnBjeUJ1WldWa1pXUXVYRzR2TDF4dUx5OGdVR1Z5YldsemMybHZiaUJ0YjJSbGJDQW9jMlZ5ZG1WeUxXVnVabTl5WTJWa0tUcGNiaTh2SUNBZ1hIVXlNREl5SUVacGNuTjBJSFpwYzJsMGIzSWdkRzhnUTB4QlNVMGdZbVZqYjIxbGN5QjBhR1VnYjNkdVpYSXVJRTkzYm1WeWMyaHBjQ0JwY3lCaWIzVnVaQ0IwYnlCMGFHVnBjaUJwWkdWdWRHbDBlU0FvWTNSNExtRjFkR2d1ZFhObGNrbGtLU3hjYmk4dklDQWdJQ0JPVDFRZ2RHOGdZU0J6YUdGeVpXRmliR1VnYzJWamNtVjBJRngxTWpBeE5DQnpieUJ6YUdGeWFXNW5JSFJvWlNCMmFXVjNJSEJoYzNOamIyUmxJRzVsZG1WeUlHeGxZV3R6SUc5M2JtVnlJSEJ2ZDJWeWN5NWNiaTh2SUNBZ1hIVXlNREl5SUU5dWJIa2dkR2hsSUc5M2JtVnlJR05oYmlCMWJtUnZMM0psWkc4c0lITmxkQ0IwYUdVZ1pISmhkeUJ3WlhKdGFYTnphVzl1TENCaGJtUWdiRzlqYXlCMmFXVjNhVzVuTGx4dUx5OGdJQ0JjZFRJd01qSWdaSEpoZDB4dlkyczZJSGRvWlc0Z2RISjFaU3dnYjI1c2VTQjBhR1VnYjNkdVpYSWdiV0Y1SUhkeWFYUmxJSE5vWVhCbGN6c2diM1JvWlhKM2FYTmxJR0Z1ZVc5dVpTQjNhWFJvSUhSb1pTQnNhVzVySUdOaGJpNWNiaTh2SUNBZ1hIVXlNREl5SUhacFpYZE1iMk5ySUNzZ2RtbGxkMGhoYzJnNklHRWdjR0Z6YzJOdlpHVWdaMkYwWlNCbWIzSWdLblpwWlhkcGJtY3FMaUJKZENkeklHRWdjMjltZEM5amJHbGxiblFnWjJGMFpTQW9kR2hsSUd4cGRtVWdjWFZsY25rZ1kyRnVKM1JjYmk4dklDQWdJQ0IzYVhSb2FHOXNaQ0J5YjNkeklIQmxjaTF6ZFdKelkzSnBZbVZ5S1NCY2RUSXdNVFFnYUc5dVpYTjBMQ0JzYjNjdGMzUmhhMlZ6T2lCbFlXTm9JR0p2WVhKa0lHbHpJR2wwY3lCdmQyNGdkR2h5YjNkaGQyRjVJR05oY0hOMWJHVXVYRzVjYm1OdmJuTjBJRk5JUVZCRlgwWkpSVXhFVXlBOUlGdGNJblI1Y0dWY0lpd2dYQ0o0WENJc0lGd2llVndpTENCY0luZGNJaXdnWENKb1hDSXNJRndpY0c5cGJuUnpYQ0lzSUZ3aVkyOXNiM0pjSWl3Z1hDSnpkSEp2YTJWWGFXUjBhRndpTENCY0luUmxlSFJjSWl3Z1hDSm1hV3hzWENJc0lGd2ljbTkwWVhScGIyNWNJaXdnWENKNlhDSXNJRndpWTNKbFlYUmxaRUo1WENKZE8xeHVablZ1WTNScGIyNGdaR0YwWVU5bUtISnZkem9nWVc1NUtTQjdJR052Ym5OMElHODZJR0Z1ZVNBOUlIdDlPeUJUU0VGUVJWOUdTVVZNUkZNdVptOXlSV0ZqYUNnb2F5a2dQVDRnZXlCdlcydGRJRDBnY205M1cydGRJRDgvSUZ3aVhDSTdJSDBwT3lCeVpYUjFjbTRnYnpzZ2ZWeHVablZ1WTNScGIyNGdhWE5QZDI1bGNpaGpkSGc2SUdGdWVTd2djbTl2YlRvZ1lXNTVLU0I3SUhKbGRIVnliaUFoSVhKdmIyMGdKaVlnSVNGeWIyOXRMbTkzYm1WeVNXUWdKaVlnY205dmJTNXZkMjVsY2tsa0lEMDlQU0JqZEhndVlYVjBhQzUxYzJWeVNXUTdJSDFjYm1aMWJtTjBhVzl1SUdOaGJsZHlhWFJsS0dOMGVEb2dZVzU1TENCeWIyOXRPaUJoYm5rcElIc2djbVYwZFhKdUlDRnliMjl0SUh4OElDRnliMjl0TG1SeVlYZE1iMk5ySUh4OElHbHpUM2R1WlhJb1kzUjRMQ0J5YjI5dEtUc2dmVnh1Wm5WdVkzUnBiMjRnYkc5blQzQW9ZM1I0T2lCaGJua3NJR3RwYm1RNklITjBjbWx1Wnl3Z2MyaGhjR1ZKWkRvZ2MzUnlhVzVuTENCaVpXWnZjbVU2SUhOMGNtbHVaeXdnWVdaMFpYSTZJSE4wY21sdVp5a2dlMXh1SUNCamRIZ3VaR0l1YjNCekxtbHVjMlZ5ZENoN0lIVnpaWEpKWkRvZ1kzUjRMbUYxZEdndWRYTmxja2xrTENCcmFXNWtMQ0J6YUdGd1pVbGtMQ0JpWldadmNtVXNJR0ZtZEdWeUxDQjFibVJ2Ym1VNklHWmhiSE5sSUgwcE8xeHVJQ0JqYjI1emRDQmhiR3dnUFNCamRIZ3VaR0l1YjNCekxtOXlaR1Z5UW5rb1hDSmpjbVZoZEdWa1FYUmNJaXdnWENKaGMyTmNJaWt1WVd4c0tDazdYRzRnSUdsbUlDaGhiR3d1YkdWdVozUm9JRDRnTVRZd0tTQmhiR3d1YzJ4cFkyVW9NQ3dnWVd4c0xteGxibWQwYUNBdElERTJNQ2t1Wm05eVJXRmphQ2dvYnpvZ1lXNTVLU0E5UGlCamRIZ3VaR0l1YjNCekxtUmxiR1YwWlNodkxtbGtLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElHTmhjSE4xYkdVb2UxeHVJQ0J1WVcxbE9pQmNJbGRvYVhSbFltOWhjbVJjSWl4Y2JpQWdjMk5vWlcxaE9pQjdYRzRnSUNBZ2MyaGhjR1Z6T2lCMFlXSnNaU2g3WEc0Z0lDQWdJQ0IwZVhCbE9pQnpkSEpwYm1jb0tTd2dlRG9nYzNSeWFXNW5LQ2tzSUhrNklITjBjbWx1WnlncExDQjNPaUJ6ZEhKcGJtY29LU3dnYURvZ2MzUnlhVzVuS0Nrc1hHNGdJQ0FnSUNCd2IybHVkSE02SUhOMGNtbHVaeWdwTENCamIyeHZjam9nYzNSeWFXNW5LQ2tzSUhOMGNtOXJaVmRwWkhSb09pQnpkSEpwYm1jb0tTd2dkR1Y0ZERvZ2MzUnlhVzVuS0Nrc1hHNGdJQ0FnSUNCbWFXeHNPaUJ6ZEhKcGJtY29LU3dnY205MFlYUnBiMjQ2SUhOMGNtbHVaeWdwTENCNk9pQnpkSEpwYm1jb0tTd2dZM0psWVhSbFpFSjVPaUJ6ZEhKcGJtY29LU3hjYmlBZ0lDQjlLU3hjYmlBZ0lDQnZjSE02SUhSaFlteGxLSHNnZFhObGNrbGtPaUJ6ZEhKcGJtY29LU3dnYTJsdVpEb2djM1J5YVc1bktDa3NJSE5vWVhCbFNXUTZJSE4wY21sdVp5Z3BMQ0JpWldadmNtVTZJSE4wY21sdVp5Z3BMQ0JoWm5SbGNqb2djM1J5YVc1bktDa3NJSFZ1Wkc5dVpUb2dZbTl2YkdWaGJpZ3BMbVJsWm1GMWJIUW9abUZzYzJVcElIMHBMRnh1SUNBZ0lISnZiMjA2SUhSaFlteGxLSHNnYjNkdVpYSkpaRG9nYzNSeWFXNW5LQ2tzSUhacFpYZElZWE5vT2lCemRISnBibWNvS1N3Z1pISmhkMHh2WTJzNklHSnZiMnhsWVc0b0tTNWtaV1poZFd4MEtHWmhiSE5sS1N3Z2RtbGxkMHh2WTJzNklHSnZiMnhsWVc0b0tTNWtaV1poZFd4MEtHWmhiSE5sS1NCOUtTeGNiaUFnZlN4Y2JpQWdjWFZsY21sbGN6b2dlMXh1SUNBZ0lITm9ZWEJsY3pvZ2NYVmxjbmtvS0dOMGVDa2dQVDRnWTNSNExtUmlMbk5vWVhCbGN5NXZjbVJsY2tKNUtGd2lZM0psWVhSbFpFRjBYQ0lzSUZ3aVlYTmpYQ0lwTG1Gc2JDZ3BLU3hjYmlBZ0lDQnliMjl0T2lCeGRXVnllU2dvWTNSNEtTQTlQaUJqZEhndVpHSXVjbTl2YlM1aGJHd29LU2tzWEc0Z0lIMHNYRzRnSUcxMWRHRjBhVzl1Y3pvZ2UxeHVJQ0FnSUdGa1pGTm9ZWEJsT2lCdGRYUmhkR2x2Ymlnb1kzUjRMQ0J3WVhsc2IyRmtPaUJ6ZEhKcGJtY3BJRDArSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSHNnYzJoaGNHVWdmU0E5SUVwVFQwNHVjR0Z5YzJVb2NHRjViRzloWkNCOGZDQmNJbnQ5WENJcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnY205dmJTQTlJR04wZUM1a1lpNXliMjl0TG1Gc2JDZ3BXekJkTzF4dUlDQWdJQ0FnYVdZZ0tDRmpZVzVYY21sMFpTaGpkSGdzSUhKdmIyMHBJSHg4SUNGemFHRndaU2tnY21WMGRYSnVPMXh1SUNBZ0lDQWdZMjl1YzNRZ2NtOTNJRDBnWTNSNExtUmlMbk5vWVhCbGN5NXBibk5sY25Rb2V5QXVMaTVrWVhSaFQyWW9jMmhoY0dVcExDQmpjbVZoZEdWa1FuazZJR04wZUM1aGRYUm9MblZ6WlhKSlpDQjlLVHRjYmlBZ0lDQWdJR3h2WjA5d0tHTjBlQ3dnWENKaFpHUmNJaXdnY205M0xtbGtMQ0JjSWx3aUxDQktVMDlPTG5OMGNtbHVaMmxtZVNoa1lYUmhUMllvY205M0tTa3BPMXh1SUNBZ0lIMHBMRnh1SUNBZ0lIVndaR0YwWlZOb1lYQmxPaUJ0ZFhSaGRHbHZiaWdvWTNSNExDQndZWGxzYjJGa09pQnpkSEpwYm1jcElEMCtJSHRjYmlBZ0lDQWdJR052Ym5OMElIc2dhV1FzSUhCaGRHTm9JSDBnUFNCS1UwOU9MbkJoY25ObEtIQmhlV3h2WVdRZ2ZId2dYQ0o3ZlZ3aUtUdGNiaUFnSUNBZ0lHTnZibk4wSUhKdmIyMGdQU0JqZEhndVpHSXVjbTl2YlM1aGJHd29LVnN3WFR0Y2JpQWdJQ0FnSUdsbUlDZ2hZMkZ1VjNKcGRHVW9ZM1I0TENCeWIyOXRLU2tnY21WMGRYSnVPMXh1SUNBZ0lDQWdZMjl1YzNRZ1kzVnlJRDBnWTNSNExtUmlMbk5vWVhCbGN5NW5aWFFvYVdRcE95QnBaaUFvSVdOMWNpQjhmQ0FoY0dGMFkyZ3BJSEpsZEhWeWJqdGNiaUFnSUNBZ0lHTjBlQzVrWWk1emFHRndaWE11ZFhCa1lYUmxLR2xrTENCd1lYUmphQ2s3WEc0Z0lDQWdJQ0JzYjJkUGNDaGpkSGdzSUZ3aWRYQmtZWFJsWENJc0lHbGtMQ0JLVTA5T0xuTjBjbWx1WjJsbWVTaGtZWFJoVDJZb1kzVnlLU2tzSUVwVFQwNHVjM1J5YVc1bmFXWjVLSHNnTGk0dVpHRjBZVTltS0dOMWNpa3NJQzR1TG5CaGRHTm9JSDBwS1R0Y2JpQWdJQ0I5S1N4Y2JpQWdJQ0JrWld4bGRHVlRhR0Z3WlRvZ2JYVjBZWFJwYjI0b0tHTjBlQ3dnY0dGNWJHOWhaRG9nYzNSeWFXNW5LU0E5UGlCN1hHNGdJQ0FnSUNCamIyNXpkQ0I3SUdsa0lIMGdQU0JLVTA5T0xuQmhjbk5sS0hCaGVXeHZZV1FnZkh3Z1hDSjdmVndpS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJSEp2YjIwZ1BTQmpkSGd1WkdJdWNtOXZiUzVoYkd3b0tWc3dYVHRjYmlBZ0lDQWdJR2xtSUNnaFkyRnVWM0pwZEdVb1kzUjRMQ0J5YjI5dEtTa2djbVYwZFhKdU8xeHVJQ0FnSUNBZ1kyOXVjM1FnWTNWeUlEMGdZM1I0TG1SaUxuTm9ZWEJsY3k1blpYUW9hV1FwT3lCcFppQW9JV04xY2lrZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnWTNSNExtUmlMbk5vWVhCbGN5NWtaV3hsZEdVb2FXUXBPMXh1SUNBZ0lDQWdiRzluVDNBb1kzUjRMQ0JjSW1SbGJHVjBaVndpTENCcFpDd2dTbE5QVGk1emRISnBibWRwWm5rb1pHRjBZVTltS0dOMWNpa3BMQ0JjSWx3aUtUdGNiaUFnSUNCOUtTeGNiaUFnSUNBdkx5QjFibVJ2SUM4Z2NtVmtieUJjZFRJd01UUWdUMWRPUlZJZ1QwNU1XU3dnWW05aGNtUXRiR1YyWld3Z0tHMXZjM1FnY21WalpXNTBJR0ZqZEdsdmJpQmllU0JoYm5sdmJtVXBYRzRnSUNBZ2RXNWtiem9nYlhWMFlYUnBiMjRvS0dOMGVDa2dQVDRnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjbTl2YlNBOUlHTjBlQzVrWWk1eWIyOXRMbUZzYkNncFd6QmRPMXh1SUNBZ0lDQWdhV1lnS0hKdmIyMGdKaVlnY205dmJTNXZkMjVsY2tsa0lDWW1JQ0ZwYzA5M2JtVnlLR04wZUN3Z2NtOXZiU2twSUhKbGRIVnlianNnSUNBZ0lDOHZJR05zWVdsdFpXUWdYSFV5TVRreUlHOTNibVZ5SUc5dWJIazdJSFZ1WTJ4aGFXMWxaQ0JjZFRJeE9USWdZVzU1YjI1bFhHNGdJQ0FnSUNCamIyNXpkQ0JzYVhabElEMGdZM1I0TG1SaUxtOXdjeTV2Y21SbGNrSjVLRndpWTNKbFlYUmxaRUYwWENJc0lGd2lZWE5qWENJcExtRnNiQ2dwTG1acGJIUmxjaWdvYnpvZ1lXNTVLU0E5UGlBaGJ5NTFibVJ2Ym1VcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYjNBZ1BTQnNhWFpsVzJ4cGRtVXViR1Z1WjNSb0lDMGdNVjA3SUdsbUlDZ2hiM0FwSUhKbGRIVnlianRjYmlBZ0lDQWdJR3hsZENCemFHRndaVWxrSUQwZ2IzQXVjMmhoY0dWSlpEdGNiaUFnSUNBZ0lHbG1JQ2h2Y0M1cmFXNWtJRDA5UFNCY0ltRmtaRndpS1NCamRIZ3VaR0l1YzJoaGNHVnpMbVJsYkdWMFpTaHZjQzV6YUdGd1pVbGtLVHRjYmlBZ0lDQWdJR1ZzYzJVZ2FXWWdLRzl3TG10cGJtUWdQVDA5SUZ3aVpHVnNaWFJsWENJcElIc2dZMjl1YzNRZ2NpQTlJR04wZUM1a1lpNXphR0Z3WlhNdWFXNXpaWEowS0hzZ0xpNHVTbE5QVGk1d1lYSnpaU2h2Y0M1aVpXWnZjbVVwTENCamNtVmhkR1ZrUW5rNklHOXdMbUpsWm05eVpTQS9JRXBUVDA0dWNHRnljMlVvYjNBdVltVm1iM0psS1M1amNtVmhkR1ZrUW5rZ09pQmpkSGd1WVhWMGFDNTFjMlZ5U1dRZ2ZTazdJSE5vWVhCbFNXUWdQU0J5TG1sa095QjlYRzRnSUNBZ0lDQmxiSE5sSUdOMGVDNWtZaTV6YUdGd1pYTXVkWEJrWVhSbEtHOXdMbk5vWVhCbFNXUXNJRXBUVDA0dWNHRnljMlVvYjNBdVltVm1iM0psS1NrN1hHNGdJQ0FnSUNCamRIZ3VaR0l1YjNCekxuVndaR0YwWlNodmNDNXBaQ3dnZXlCMWJtUnZibVU2SUhSeWRXVXNJSE5vWVhCbFNXUWdmU2s3WEc0Z0lDQWdmU2tzWEc0Z0lDQWdjbVZrYnpvZ2JYVjBZWFJwYjI0b0tHTjBlQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnY205dmJTQTlJR04wZUM1a1lpNXliMjl0TG1Gc2JDZ3BXekJkTzF4dUlDQWdJQ0FnYVdZZ0tISnZiMjBnSmlZZ2NtOXZiUzV2ZDI1bGNrbGtJQ1ltSUNGcGMwOTNibVZ5S0dOMGVDd2djbTl2YlNrcElISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUdOdmJuTjBJR1J2Ym1VZ1BTQmpkSGd1WkdJdWIzQnpMbTl5WkdWeVFua29YQ0pqY21WaGRHVmtRWFJjSWl3Z1hDSmhjMk5jSWlrdVlXeHNLQ2t1Wm1sc2RHVnlLQ2h2T2lCaGJua3BJRDArSUc4dWRXNWtiMjVsS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJRzl3SUQwZ1pHOXVaVnRrYjI1bExteGxibWQwYUNBdElERmRPeUJwWmlBb0lXOXdLU0J5WlhSMWNtNDdYRzRnSUNBZ0lDQnNaWFFnYzJoaGNHVkpaQ0E5SUc5d0xuTm9ZWEJsU1dRN1hHNGdJQ0FnSUNCcFppQW9iM0F1YTJsdVpDQTlQVDBnWENKaFpHUmNJaWtnZXlCamIyNXpkQ0J5SUQwZ1kzUjRMbVJpTG5Ob1lYQmxjeTVwYm5ObGNuUW9leUF1TGk1S1UwOU9MbkJoY25ObEtHOXdMbUZtZEdWeUtTd2dZM0psWVhSbFpFSjVPaUJqZEhndVlYVjBhQzUxYzJWeVNXUWdmU2s3SUhOb1lYQmxTV1FnUFNCeUxtbGtPeUI5WEc0Z0lDQWdJQ0JsYkhObElHbG1JQ2h2Y0M1cmFXNWtJRDA5UFNCY0ltUmxiR1YwWlZ3aUtTQmpkSGd1WkdJdWMyaGhjR1Z6TG1SbGJHVjBaU2h2Y0M1emFHRndaVWxrS1R0Y2JpQWdJQ0FnSUdWc2MyVWdZM1I0TG1SaUxuTm9ZWEJsY3k1MWNHUmhkR1VvYjNBdWMyaGhjR1ZKWkN3Z1NsTlBUaTV3WVhKelpTaHZjQzVoWm5SbGNpa3BPMXh1SUNBZ0lDQWdZM1I0TG1SaUxtOXdjeTUxY0dSaGRHVW9iM0F1YVdRc0lIc2dkVzVrYjI1bE9pQm1ZV3h6WlN3Z2MyaGhjR1ZKWkNCOUtUdGNiaUFnSUNCOUtTeGNiaUFnSUNCamJHRnBiVG9nYlhWMFlYUnBiMjRvS0dOMGVDd2djR0Y1Ykc5aFpEb2djM1J5YVc1bktTQTlQaUI3WEc0Z0lDQWdJQ0JqYjI1emRDQjdJSFpwWlhkSVlYTm9JSDBnUFNCS1UwOU9MbkJoY25ObEtIQmhlV3h2WVdRZ2ZId2dYQ0o3ZlZ3aUtUdGNiaUFnSUNBZ0lHTnZibk4wSUhKdmIyMGdQU0JqZEhndVpHSXVjbTl2YlM1aGJHd29LVnN3WFR0Y2JpQWdJQ0FnSUdsbUlDaHliMjl0SUNZbUlISnZiMjB1YjNkdVpYSkpaQ2tnY21WMGRYSnVPeUFnSUNBZ0x5OGdZV3h5WldGa2VTQmpiR0ZwYldWa0lGeDFNakF4TkNCdWJ5QjBZV3RsYjNabGNuTmNiaUFnSUNBZ0lHbG1JQ2h5YjI5dEtTQmpkSGd1WkdJdWNtOXZiUzUxY0dSaGRHVW9jbTl2YlM1cFpDd2dleUJ2ZDI1bGNrbGtPaUJqZEhndVlYVjBhQzUxYzJWeVNXUXNJSFpwWlhkSVlYTm9PaUIyYVdWM1NHRnphQ0I4ZkNCY0lsd2lMQ0JrY21GM1RHOWphem9nWm1Gc2MyVXNJSFpwWlhkTWIyTnJPaUJtWVd4elpTQjlLVHRjYmlBZ0lDQWdJR1ZzYzJVZ1kzUjRMbVJpTG5KdmIyMHVhVzV6WlhKMEtIc2diM2R1WlhKSlpEb2dZM1I0TG1GMWRHZ3VkWE5sY2tsa0xDQjJhV1YzU0dGemFEb2dkbWxsZDBoaGMyZ2dmSHdnWENKY0lpd2daSEpoZDB4dlkyczZJR1poYkhObExDQjJhV1YzVEc5amF6b2dabUZzYzJVZ2ZTazdYRzRnSUNBZ2ZTa3NYRzRnSUNBZ2MyVjBSSEpoZDB4dlkyczZJRzExZEdGMGFXOXVLQ2hqZEhnc0lIQmhlV3h2WVdRNklITjBjbWx1WnlrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2V5QjJZV3gxWlNCOUlEMGdTbE5QVGk1d1lYSnpaU2h3WVhsc2IyRmtJSHg4SUZ3aWUzMWNJaWs3WEc0Z0lDQWdJQ0JqYjI1emRDQnliMjl0SUQwZ1kzUjRMbVJpTG5KdmIyMHVZV3hzS0NsYk1GMDdYRzRnSUNBZ0lDQnBaaUFvSVdselQzZHVaWElvWTNSNExDQnliMjl0S1NrZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnWTNSNExtUmlMbkp2YjIwdWRYQmtZWFJsS0hKdmIyMHVhV1FzSUhzZ1pISmhkMHh2WTJzNklDRWhkbUZzZFdVZ2ZTazdYRzRnSUNBZ2ZTa3NYRzRnSUNBZ2MyVjBWbWxsZDB4dlkyczZJRzExZEdGMGFXOXVLQ2hqZEhnc0lIQmhlV3h2WVdRNklITjBjbWx1WnlrZ1BUNGdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2V5QjJZV3gxWlN3Z2RtbGxkMGhoYzJnZ2ZTQTlJRXBUVDA0dWNHRnljMlVvY0dGNWJHOWhaQ0I4ZkNCY0ludDlYQ0lwTzF4dUlDQWdJQ0FnWTI5dWMzUWdjbTl2YlNBOUlHTjBlQzVrWWk1eWIyOXRMbUZzYkNncFd6QmRPMXh1SUNBZ0lDQWdhV1lnS0NGcGMwOTNibVZ5S0dOMGVDd2djbTl2YlNrcElISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUdOdmJuTjBJSEJoZEdOb09pQmhibmtnUFNCN0lIWnBaWGRNYjJOck9pQWhJWFpoYkhWbElIMDdYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSFpwWlhkSVlYTm9JRDA5UFNCY0luTjBjbWx1WjF3aUtTQndZWFJqYUM1MmFXVjNTR0Z6YUNBOUlIWnBaWGRJWVhOb08xeHVJQ0FnSUNBZ1kzUjRMbVJpTG5KdmIyMHVkWEJrWVhSbEtISnZiMjB1YVdRc0lIQmhkR05vS1R0Y2JpQWdJQ0I5S1N4Y2JpQWdmU3hjYm4wcE8xeHVJbDBzQ2lBZ0ltMWhjSEJwYm1keklqb2dJanRCUVRSR1RTeFRRVUZWTEZGQlFWY3NXVUZCWVR0QlFVTjBReXhUUVVGUE8wRkJRMVE3UVVGRlRTeFRRVUZWTEUxQlFXVXNVMEZCZDBNN1FVRkRja1VzVTBGQlR6dEJRVU5VTzBGQlJVMHNVMEZCVlN4VFFVTmtMRk5CUVhkRU8wRkJSWGhFTEZOQlFVODdRVUZEVkR0QlFUQkVRU3hUUVVGVExFMUJRVk1zVFVGQldUdEJRVU0xUWl4VFFVRlBPMGxCUTB3N1NVRkRRU3hqUVVGak8wbEJRMlFzVVVGQlVTeFBRVUZSTzBGQlEyUXNZVUZCVHp0UlFVTk1MRWRCUVVjN1VVRkRTQ3hqUVVGak96dEpRVVZzUWpzN1FVRkZTanRCUVVWTkxGTkJRVlVzVFVGQlRTeFJRVUZyUXp0QlFVTjBSQ3hUUVVGUE8wbEJRMHdzVFVGQlRUdEpRVU5PT3p0QlFVVktPMEZCUlUwc1UwRkJWU3hUUVVGTk8wRkJRM0JDTEZOQlFVOHNUVUZCVFN4UlFVRlJPMEZCUTNaQ08wRkJSVTBzVTBGQlZTeFZRVUZQTzBGQlEzSkNMRk5CUVU4c1RVRkJUU3hUUVVGVE8wRkJRM2hDT3pzN1FVTXZTMEVzU1VGQlRTeGxRVUZsTEVOQlFVTXNVVUZCVVN4TFFVRkxMRXRCUVVzc1MwRkJTeXhMUVVGTExGVkJRVlVzVTBGQlV5eGxRVUZsTEZGQlFWRXNVVUZCVVN4WlFVRlpMRXRCUVVzc1YwRkJWenRCUVVOb1NTeFRRVUZUTEU5QlFVOHNTMEZCVlR0QlFVRkZMRkZCUVUwc1NVRkJVeXhEUVVGRE8wRkJRVWNzWlVGQllTeFJRVUZSTEVOQlFVTXNUVUZCVFR0QlFVRkZMRTFCUVVVc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTzBGQlFVRXNSVUZCU1N4RFFVRkRPMEZCUVVjc1UwRkJUenRCUVVGSE8wRkJRMmhJTEZOQlFWTXNVVUZCVVN4TFFVRlZMRTFCUVZjN1FVRkJSU3hUUVVGUExFTkJRVU1zUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4TFFVRkxMRmRCUVZjc1MwRkJTeXhaUVVGWkxFbEJRVWtzUzBGQlN6dEJRVUZSTzBGQlF6ZEhMRk5CUVZNc1UwRkJVeXhMUVVGVkxFMUJRVmM3UVVGQlJTeFRRVUZQTEVOQlFVTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1dVRkJXU3hSUVVGUkxFdEJRVXNzU1VGQlNUdEJRVUZITzBGQlF5OUdMRk5CUVZNc1RVRkJUU3hMUVVGVkxFMUJRV01zVTBGQmFVSXNVVUZCWjBJc1QwRkJaVHRCUVVOeVJpeE5RVUZKTEVkQlFVY3NTVUZCU1N4UFFVRlBMRVZCUVVVc1VVRkJVU3hKUVVGSkxFdEJRVXNzVVVGQlVTeE5RVUZOTEZOQlFWTXNVVUZCVVN4UFFVRlBMRkZCUVZFc1RVRkJUU3hEUVVGRE8wRkJRekZHTEZGQlFVMHNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hSUVVGUkxHRkJRV0VzUzBGQlN5eEZRVUZGTEVsQlFVazdRVUZEZGtRc1RVRkJTU3hKUVVGSkxGTkJRVk1zU1VGQlN5eExRVUZKTEUxQlFVMHNSMEZCUnl4SlFVRkpMRk5CUVZNc1IwRkJSeXhGUVVGRkxGRkJRVkVzUTBGQlF5eE5RVUZYTEVsQlFVa3NSMEZCUnl4SlFVRkpMRTlCUVU4c1JVRkJSU3hGUVVGRkxFTkJRVU03UVVGRGJFYzdRVUZGUVN4SlFVRlBMR2xDUVVGUkxGRkJRVkU3UVVGQlFTeEZRVU55UWl4TlFVRk5PMEZCUVVFc1JVRkRUaXhSUVVGUk8wRkJRVUVzU1VGRFRpeFJRVUZSTEUxQlFVMDdRVUZCUVN4TlFVTmFMRTFCUVUwc1QwRkJUenRCUVVGQkxFMUJRVWNzUjBGQlJ5eFBRVUZQTzBGQlFVRXNUVUZCUnl4SFFVRkhMRTlCUVU4N1FVRkJRU3hOUVVGSExFZEJRVWNzVDBGQlR6dEJRVUZCTEUxQlFVY3NSMEZCUnl4UFFVRlBPMEZCUVVFc1RVRkRha1VzVVVGQlVTeFBRVUZQTzBGQlFVRXNUVUZCUnl4UFFVRlBMRTlCUVU4N1FVRkJRU3hOUVVGSExHRkJRV0VzVDBGQlR6dEJRVUZCTEUxQlFVY3NUVUZCVFN4UFFVRlBPMEZCUVVFc1RVRkRka1VzVFVGQlRTeFBRVUZQTzBGQlFVRXNUVUZCUnl4VlFVRlZMRTlCUVU4N1FVRkJRU3hOUVVGSExFZEJRVWNzVDBGQlR6dEJRVUZCTEUxQlFVY3NWMEZCVnl4UFFVRlBPMEZCUVVFc1NVRkRja1VzUTBGQlF6dEJRVUZCTEVsQlEwUXNTMEZCU3l4TlFVRk5MRVZCUVVVc1VVRkJVU3hQUVVGUExFZEJRVWNzVFVGQlRTeFBRVUZQTEVkQlFVY3NVMEZCVXl4UFFVRlBMRWRCUVVjc1VVRkJVU3hQUVVGUExFZEJRVWNzVDBGQlR5eFBRVUZQTEVkQlFVY3NVVUZCVVN4UlFVRlJMRVZCUVVVc1VVRkJVU3hMUVVGTExFVkJRVVVzUTBGQlF6dEJRVUZCTEVsQlEzWkpMRTFCUVUwc1RVRkJUU3hGUVVGRkxGTkJRVk1zVDBGQlR5eEhRVUZITEZWQlFWVXNUMEZCVHl4SFFVRkhMRlZCUVZVc1VVRkJVU3hGUVVGRkxGRkJRVkVzUzBGQlN5eEhRVUZITEZWQlFWVXNVVUZCVVN4RlFVRkZMRkZCUVZFc1MwRkJTeXhGUVVGRkxFTkJRVU03UVVGQlFTeEZRVU12U0R0QlFVRkJMRVZCUTBFc1UwRkJVenRCUVVGQkxFbEJRMUFzVVVGQlVTeE5RVUZOTEVOQlFVTXNVVUZCVVN4SlFVRkpMRWRCUVVjc1QwRkJUeXhSUVVGUkxHRkJRV0VzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXp0QlFVRkJMRWxCUTNSRkxFMUJRVTBzVFVGQlRTeERRVUZETEZGQlFWRXNTVUZCU1N4SFFVRkhMRXRCUVVzc1NVRkJTU3hEUVVGRE8wRkJRVUVzUlVGRGVFTTdRVUZCUVN4RlFVTkJMRmRCUVZjN1FVRkJRU3hKUVVOVUxGVkJRVlVzVTBGQlV5eERRVUZETEV0QlFVc3NXVUZCYjBJN1FVRkRNME1zV1VGQlRTeEZRVUZGTEUxQlFVMHNTVUZCU1N4TFFVRkxMRTFCUVUwc1YwRkJWeXhKUVVGSk8wRkJRelZETEZsQlFVMHNUMEZCVHl4SlFVRkpMRWRCUVVjc1MwRkJTeXhKUVVGSkxFVkJRVVVzUTBGQlF6dEJRVU5vUXl4VlFVRkpMRU5CUVVNc1UwRkJVeXhMUVVGTExFbEJRVWtzUzBGQlN5eERRVUZETEUxQlFVODdRVUZEY0VNc1dVRkJUU3hOUVVGTkxFbEJRVWtzUjBGQlJ5eFBRVUZQTEU5QlFVOHNSVUZCUlN4SFFVRkhMRTlCUVU4c1MwRkJTeXhIUVVGSExGZEJRVmNzU1VGQlNTeExRVUZMTEU5QlFVOHNRMEZCUXp0QlFVTnFSaXhaUVVGTkxFdEJRVXNzVDBGQlR5eEpRVUZKTEVsQlFVa3NTVUZCU1N4TFFVRkxMRlZCUVZVc1QwRkJUeXhIUVVGSExFTkJRVU1zUTBGQlF6dEJRVUZCTEVsQlF6TkVMRU5CUVVNN1FVRkJRU3hKUVVORUxHRkJRV0VzVTBGQlV5eERRVUZETEV0QlFVc3NXVUZCYjBJN1FVRkRPVU1zV1VGQlRTeEZRVUZGTEVsQlFVa3NUVUZCVFN4SlFVRkpMRXRCUVVzc1RVRkJUU3hYUVVGWExFbEJRVWs3UVVGRGFFUXNXVUZCVFN4UFFVRlBMRWxCUVVrc1IwRkJSeXhMUVVGTExFbEJRVWtzUlVGQlJTeERRVUZETzBGQlEyaERMRlZCUVVrc1EwRkJReXhUUVVGVExFdEJRVXNzU1VGQlNTeEZRVUZITzBGQlF6RkNMRmxCUVUwc1RVRkJUU3hKUVVGSkxFZEJRVWNzVDBGQlR5eEpRVUZKTEVWQlFVVTdRVUZCUnl4VlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTg3UVVGRGRrUXNWVUZCU1N4SFFVRkhMRTlCUVU4c1QwRkJUeXhKUVVGSkxFdEJRVXM3UVVGRE9VSXNXVUZCVFN4TFFVRkxMRlZCUVZVc1NVRkJTU3hMUVVGTExGVkJRVlVzVDBGQlR5eEhRVUZITEVOQlFVTXNSMEZCUnl4TFFVRkxMRlZCUVZVc1JVRkJSU3hIUVVGSExFOUJRVThzUjBGQlJ5eEhRVUZITEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkJRU3hKUVVOd1J5eERRVUZETzBGQlFVRXNTVUZEUkN4aFFVRmhMRk5CUVZNc1EwRkJReXhMUVVGTExGbEJRVzlDTzBGQlF6bERMRmxCUVUwc1JVRkJSU3hIUVVGSExFbEJRVWtzUzBGQlN5eE5RVUZOTEZkQlFWY3NTVUZCU1R0QlFVTjZReXhaUVVGTkxFOUJRVThzU1VGQlNTeEhRVUZITEV0QlFVc3NTVUZCU1N4RlFVRkZMRU5CUVVNN1FVRkRhRU1zVlVGQlNTeERRVUZETEZOQlFWTXNTMEZCU3l4SlFVRkpMRVZCUVVjN1FVRkRNVUlzV1VGQlRTeE5RVUZOTEVsQlFVa3NSMEZCUnl4UFFVRlBMRWxCUVVrc1JVRkJSVHRCUVVGSExGVkJRVWtzUTBGQlF5eEpRVUZMTzBGQlF6ZERMRlZCUVVrc1IwRkJSeXhQUVVGUExFOUJRVThzUlVGQlJUdEJRVU4yUWl4WlFVRk5MRXRCUVVzc1ZVRkJWU3hKUVVGSkxFdEJRVXNzVlVGQlZTeFBRVUZQTEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVN1FVRkJRU3hKUVVNeFJDeERRVUZETzBGQlFVRTdRVUZCUVN4SlFVVkVMRTFCUVUwc1UwRkJVeXhEUVVGRExGRkJRVkU3UVVGRGRFSXNXVUZCVFN4UFFVRlBMRWxCUVVrc1IwRkJSeXhMUVVGTExFbEJRVWtzUlVGQlJTeERRVUZETzBGQlEyaERMRlZCUVVrc1VVRkJVU3hMUVVGTExGZEJRVmNzUTBGQlF5eFJRVUZSTEV0QlFVc3NTVUZCU1N4RlFVRkhPMEZCUTJwRUxGbEJRVTBzVDBGQlR5eEpRVUZKTEVkQlFVY3NTVUZCU1N4UlFVRlJMR0ZCUVdFc1MwRkJTeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFBRVUZQTEVOQlFVTXNUVUZCVnl4RFFVRkRMRVZCUVVVc1RVRkJUVHRCUVVOMFJpeFpRVUZOTEV0QlFVc3NTMEZCU3l4TFFVRkxMRk5CUVZNc1EwRkJRenRCUVVGSExGVkJRVWtzUTBGQlF5eEhRVUZKTzBGQlF6TkRMRlZCUVVrc1ZVRkJWU3hIUVVGSE8wRkJRMnBDTEZWQlFVa3NSMEZCUnl4VFFVRlRMRTFCUVU4c1MwRkJTU3hIUVVGSExFOUJRVThzVDBGQlR5eEhRVUZITEU5QlFVODdRVUZCUVN4bFFVTTNReXhIUVVGSExGTkJRVk1zVlVGQlZUdEJRVUZGTEdOQlFVMHNTVUZCU1N4SlFVRkpMRWRCUVVjc1QwRkJUeXhQUVVGUExFVkJRVVVzUjBGQlJ5eExRVUZMTEUxQlFVMHNSMEZCUnl4TlFVRk5MRWRCUVVjc1YwRkJWeXhIUVVGSExGTkJRVk1zUzBGQlN5eE5RVUZOTEVkQlFVY3NUVUZCVFN4RlFVRkZMRmxCUVZrc1NVRkJTU3hMUVVGTExFOUJRVThzUTBGQlF6dEJRVUZITEd0Q1FVRlZMRVZCUVVVN1FVRkJRU3hOUVVGSkxFMUJRM0JNTEV0QlFVa3NSMEZCUnl4UFFVRlBMRTlCUVU4c1IwRkJSeXhUUVVGVExFdEJRVXNzVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0QlFVTXpSQ3hWUVVGSkxFZEJRVWNzU1VGQlNTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RlFVRkZMRkZCUVZFc1RVRkJUU3hSUVVGUkxFTkJRVU03UVVGQlFTeEpRVU53UkN4RFFVRkRPMEZCUVVFc1NVRkRSQ3hOUVVGTkxGTkJRVk1zUTBGQlF5eFJRVUZSTzBGQlEzUkNMRmxCUVUwc1QwRkJUeXhKUVVGSkxFZEJRVWNzUzBGQlN5eEpRVUZKTEVWQlFVVXNRMEZCUXp0QlFVTm9ReXhWUVVGSkxGRkJRVkVzUzBGQlN5eFhRVUZYTEVOQlFVTXNVVUZCVVN4TFFVRkxMRWxCUVVrc1JVRkJSenRCUVVOcVJDeFpRVUZOTEU5QlFVOHNTVUZCU1N4SFFVRkhMRWxCUVVrc1VVRkJVU3hoUVVGaExFdEJRVXNzUlVGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RFFVRkRMRTFCUVZjc1JVRkJSU3hOUVVGTk8wRkJRM0pHTEZsQlFVMHNTMEZCU3l4TFFVRkxMRXRCUVVzc1UwRkJVeXhEUVVGRE8wRkJRVWNzVlVGQlNTeERRVUZETEVkQlFVazdRVUZETTBNc1ZVRkJTU3hWUVVGVkxFZEJRVWM3UVVGRGFrSXNWVUZCU1N4SFFVRkhMRk5CUVZNc1QwRkJUenRCUVVGRkxHTkJRVTBzU1VGQlNTeEpRVUZKTEVkQlFVY3NUMEZCVHl4UFFVRlBMRVZCUVVVc1IwRkJSeXhMUVVGTExFMUJRVTBzUjBGQlJ5eExRVUZMTEVkQlFVY3NWMEZCVnl4SlFVRkpMRXRCUVVzc1QwRkJUeXhEUVVGRE8wRkJRVWNzYTBKQlFWVXNSVUZCUlR0QlFVRkJMRTFCUVVrc1YwRkRla2dzUjBGQlJ5eFRRVUZUTEZOQlFWVXNTMEZCU1N4SFFVRkhMRTlCUVU4c1QwRkJUeXhIUVVGSExFOUJRVTg3UVVGQlFTeFZRVU42UkN4TFFVRkpMRWRCUVVjc1QwRkJUeXhQUVVGUExFZEJRVWNzVTBGQlV5eExRVUZMTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNN1FVRkRNVVFzVlVGQlNTeEhRVUZITEVsQlFVa3NUMEZCVHl4SFFVRkhMRWxCUVVrc1JVRkJSU3hSUVVGUkxFOUJRVThzVVVGQlVTeERRVUZETzBGQlFVRXNTVUZEY2tRc1EwRkJRenRCUVVGQkxFbEJRMFFzVDBGQlR5eFRRVUZUTEVOQlFVTXNTMEZCU3l4WlFVRnZRanRCUVVONFF5eFpRVUZOTEVWQlFVVXNVMEZCVXl4SlFVRkpMRXRCUVVzc1RVRkJUU3hYUVVGWExFbEJRVWs3UVVGREwwTXNXVUZCVFN4UFFVRlBMRWxCUVVrc1IwRkJSeXhMUVVGTExFbEJRVWtzUlVGQlJTeERRVUZETzBGQlEyaERMRlZCUVVrc1VVRkJVU3hMUVVGTExGRkJRVk03UVVGRE1VSXNWVUZCU1N4TFFVRk5MRXRCUVVrc1IwRkJSeXhMUVVGTExFOUJRVThzUzBGQlN5eEpRVUZKTEVWQlFVVXNVMEZCVXl4SlFVRkpMRXRCUVVzc1VVRkJVU3hWUVVGVkxGbEJRVmtzU1VGQlNTeFZRVUZWTEU5QlFVOHNWVUZCVlN4TlFVRk5MRU5CUVVNN1FVRkJRU3hWUVVONlNDeExRVUZKTEVkQlFVY3NTMEZCU3l4UFFVRlBMRVZCUVVVc1UwRkJVeXhKUVVGSkxFdEJRVXNzVVVGQlVTeFZRVUZWTEZsQlFWa3NTVUZCU1N4VlFVRlZMRTlCUVU4c1ZVRkJWU3hOUVVGTkxFTkJRVU03UVVGQlFTeEpRVU5zU0N4RFFVRkRPMEZCUVVFc1NVRkRSQ3hoUVVGaExGTkJRVk1zUTBGQlF5eExRVUZMTEZsQlFXOUNPMEZCUXpsRExGbEJRVTBzUlVGQlJTeE5RVUZOTEVsQlFVa3NTMEZCU3l4TlFVRk5MRmRCUVZjc1NVRkJTVHRCUVVNMVF5eFpRVUZOTEU5QlFVOHNTVUZCU1N4SFFVRkhMRXRCUVVzc1NVRkJTU3hGUVVGRkxFTkJRVU03UVVGRGFFTXNWVUZCU1N4RFFVRkRMRkZCUVZFc1MwRkJTeXhKUVVGSkxFVkJRVWM3UVVGRGVrSXNWVUZCU1N4SFFVRkhMRXRCUVVzc1QwRkJUeXhMUVVGTExFbEJRVWtzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1FVRkJRU3hKUVVOdVJDeERRVUZETzBGQlFVRXNTVUZEUkN4aFFVRmhMRk5CUVZNc1EwRkJReXhMUVVGTExGbEJRVzlDTzBGQlF6bERMRmxCUVUwc1JVRkJSU3hQUVVGUExGTkJRVk1zU1VGQlNTeExRVUZMTEUxQlFVMHNWMEZCVnl4SlFVRkpPMEZCUTNSRUxGbEJRVTBzVDBGQlR5eEpRVUZKTEVkQlFVY3NTMEZCU3l4SlFVRkpMRVZCUVVVc1EwRkJRenRCUVVOb1F5eFZRVUZKTEVOQlFVTXNVVUZCVVN4TFFVRkxMRWxCUVVrc1JVRkJSenRCUVVONlFpeFpRVUZOTEZGQlFXRXNSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJReXhOUVVGTk8wRkJRM1pETEZWQlFVa3NUMEZCVHl4aFFVRmhMRk5CUVZVc1QwRkJUU3hYUVVGWE8wRkJRMjVFTEZWQlFVa3NSMEZCUnl4TFFVRkxMRTlCUVU4c1MwRkJTeXhKUVVGSkxFdEJRVXM3UVVGQlFTeEpRVU51UXl4RFFVRkRPMEZCUVVFc1JVRkRTRHRCUVVOR0xFTkJRVU03SWl3S0lDQWlibUZ0WlhNaU9pQmJYUXA5Q2c9PQo=","bundleHash":"sha256:1fde8f291d09588436866b7397717c15e9dcf6ff719e6f4b5b8bf798d6140ad3","bytes":21653,"entry":"/server.mjs"}},"source":{"files":[{"bytes":106,"hash":"sha256:60713f6db1c344b1fc9e6150113d199dbbf7ad82b12a73924503482d60e2eb55","path":".git/COMMIT_EDITMSG"},{"bytes":318,"hash":"sha256:9174639466229e9445803a12fa12cb7c1aac7faf515bc0d504b4f78de00f2ef1","path":".git/config"},{"bytes":73,"hash":"sha256:85ab6c163d43a17ea9cf7788308bca1466f1b0a8d1cc92e26e9bf63da4062aee","path":".git/description"},{"bytes":23,"hash":"sha256:f6f2b945f6c411b02ba3da9c7ace88dcf71b6af65ba2e0d89aa82900042b5a10","path":".git/HEAD"},{"bytes":478,"hash":"sha256:0223497a0b8b033aa58a3a521b8629869386cf7ab0e2f101963d328aa62193f7","path":".git/hooks/applypatch-msg.sample"},{"bytes":896,"hash":"sha256:1f74d5e9292979b573ebd59741d46cb93ff391acdd083d340b94370753d92437","path":".git/hooks/commit-msg.sample"},{"bytes":4726,"hash":"sha256:e0549964e93897b519bd8e333c037e51fff0f88ba13e086a331592bf801fa1d0","path":".git/hooks/fsmonitor-watchman.sample"},{"bytes":189,"hash":"sha256:81765af2daef323061dcbc5e61fc16481cb74b3bac9ad8a174b186523586f6c5","path":".git/hooks/post-update.sample"},{"bytes":424,"hash":"sha256:e15c5b469ea3e0a695bea6f2c82bcf8e62821074939ddd85b77e0007ff165475","path":".git/hooks/pre-applypatch.sample"},{"bytes":1643,"hash":"sha256:f9af7d95eb1231ecf2eba9770fedfa8d4797a12b02d7240e98d568201251244a","path":".git/hooks/pre-commit.sample"},{"bytes":416,"hash":"sha256:d3825a70337940ebbd0a5c072984e13245920cdf8898bd225c8d27a6dfc9cb53","path":".git/hooks/pre-merge-commit.sample"},{"bytes":1374,"hash":"sha256:ecce9c7e04d3f5dd9d8ada81753dd1d549a9634b26770042b58dda00217d086a","path":".git/hooks/pre-push.sample"},{"bytes":4898,"hash":"sha256:4febce867790052338076f4e66cc47efb14879d18097d1d61c8261859eaaa7b3","path":".git/hooks/pre-rebase.sample"},{"bytes":544,"hash":"sha256:a4c3d2b9c7bb3fd8d1441c31bd4ee71a595d66b44fcf49ddb310252320169989","path":".git/hooks/pre-receive.sample"},{"bytes":1492,"hash":"sha256:e9ddcaa4189fddd25ed97fc8c789eca7b6ca16390b2392ae3276f0c8e1aa4619","path":".git/hooks/prepare-commit-msg.sample"},{"bytes":2783,"hash":"sha256:a53d0741798b287c6dd7afa64aee473f305e65d3f49463bb9d7408ec3b12bf5f","path":".git/hooks/push-to-checkout.sample"},{"bytes":2308,"hash":"sha256:44ebfc923dc5466bc009602f0ecf067b9c65459abfe8868ddc49b78e6ced7a92","path":".git/hooks/sendemail-validate.sample"},{"bytes":3650,"hash":"sha256:8d5f2fa83e103cf08b57eaa67521df9194f45cbdbcb37da52ad586097a14d106","path":".git/hooks/update.sample"},{"bytes":752,"hash":"sha256:5e9a5b3cd263069abc5548887f47fe72390556932c53e80323c15a49524bc311","path":".git/index"},{"bytes":240,"hash":"sha256:6671fe83b7a07c8932ee89164d1f2793b2318058eb8b98dc5c06ee0a5a3b0ec1","path":".git/info/exclude"},{"bytes":454,"hash":"sha256:ca0a82b44eeecbee25610c2401852cf49866df9847de5ade6fab0ffa0d3ddb01","path":".git/logs/HEAD"},{"bytes":454,"hash":"sha256:ca0a82b44eeecbee25610c2401852cf49866df9847de5ade6fab0ffa0d3ddb01","path":".git/logs/refs/heads/master"},{"bytes":290,"hash":"sha256:3623f21e7441297820d8dc49ddcde658227aaf08306b8bc752cf2edef25cf1e4","path":".git/logs/refs/remotes/origin/master"},{"bytes":1158,"hash":"sha256:f830dc99e44d6073da0901f4e9c9038cace779e9c3a73ae88dd60f300704c363","path":".git/objects/03/d0d5c9337048da36ff6ebb6f3448a43465bb95"},{"bytes":307,"hash":"sha256:0099e350b4792a922920a94f1b6e4f89f8d8bb0c440e663f9e13b5a31ccfcc6b","path":".git/objects/1e/a40d901f00c812475be123862e3583c881673c"},{"bytes":82,"hash":"sha256:8085d3ae22f6c752078e260410633eaa21b5415d89a4cbce91bc033987058d3c","path":".git/objects/33/2858ae97e525f941599b8b07a4531b5692d3a3"},{"bytes":24373,"hash":"sha256:e360da4bb9b3fbc13793504d0afdbadf0a50481f0610f860992be4dcdee47b51","path":".git/objects/4e/69d06b88e21dee5295a6d1896df2b08dfcb0dc"},{"bytes":326,"hash":"sha256:d876a9ee73ab23929c75c66b8781ec2adaff1c60f26e094a7ed62f4058c1b1ad","path":".git/objects/6c/31f09da32c4dd03924feac3c28d105cec5c84e"},{"bytes":396,"hash":"sha256:9cf10ded3fa3b0b4bc9eb449546fedbc947284d40839bf7bee93b44ad327e094","path":".git/objects/79/0ad5875e3b24594b2330cebae692ab7b56ff97"},{"bytes":3702,"hash":"sha256:74d2e2eef820c1ab78249a79bfc733d3f5348c97c46c5176fcc04ee16edf68e1","path":".git/objects/85/0844ddc891ecb4b003ad4e63b5dc04be44f595"},{"bytes":88,"hash":"sha256:861558e38b19bf82b8bff4e8f09863a68309c9451d831643481508ddac9ad3b0","path":".git/objects/87/b908277b3d86e49fc0589a61c05eb58273f28e"},{"bytes":353,"hash":"sha256:b38cb17685df5efcc4ce4593a046bcb2ab2e29c3efddb14d12ceafb0586887b5","path":".git/objects/8c/2c0e84a15b989bd4d729ea25a34ef67797a663"},{"bytes":94,"hash":"sha256:231fcd30091468185542c3e7b9b52bbc1a2481f6b4f419ba9ae7fe918a2e1af3","path":".git/objects/94/b8f68e16246a916678bed2c6984e5f52b66294"},{"bytes":23508,"hash":"sha256:16693e5bef8bd0a52daf5694713cdaa9144952388d6413ad17f271d3f59b55b6","path":".git/objects/a1/ba6e573163261ac6f8a96ae95f70baa0806fd5"},{"bytes":106,"hash":"sha256:0c8d14abc306644eaee196d20fe92f4b728d5204c2f41cf8553d97c88e2944b9","path":".git/objects/bc/899a4812523a9daf3e735645d215fcfba338cf"},{"bytes":78,"hash":"sha256:84bdbcdb5262692d28537a08e4711964238d270af83a23f5ccb522c8fe4df378","path":".git/objects/ce/c8b5168314e26e7a632bc2e32ca15183a7ccf4"},{"bytes":41,"hash":"sha256:a9237f01c75923df1ad3629d5a61964c5561c40d7ad9bca4500f5acbd50a9aa1","path":".git/refs/heads/master"},{"bytes":41,"hash":"sha256:a9237f01c75923df1ad3629d5a61964c5561c40d7ad9bca4500f5acbd50a9aa1","path":".git/refs/remotes/origin/master"},{"bytes":40,"hash":"sha256:7f1efed4fbde1413f08bce5a441a54715fb422268fe6973014e8329d39f75fff","path":".gitignore"},{"bytes":38525,"hash":"sha256:04123a3114760c14c100c1c8caa06aed15d1de2bacb65b528682fbc9ea6e188b","path":"client/index.tsx"},{"bytes":1023,"hash":"sha256:954beaa2ee9deef21ebddeff8368c4229e9cbfc31d35eb4ae034faed9d8003bc","path":"README.md"},{"bytes":6199,"hash":"sha256:443a32bc4a60415be063e978f4ee84db772b729c79af4444d6c28711d027ace2","path":"server/index.ts"}],"snapshotHash":"sha256:6b95b89b042df15f7b2c02c55dc916472246c2fb3774546966ffe316f936bd33"}},"clientBundle":"dmFyICRlLHgsbG4sJHIsbGUsY24sdW4sZG4sZnQsRGUsemUsZm4sX3QsaHQscHQsX24sV2U9e30sSGU9W10sRHI9L2FjaXR8ZXgoPzpzfGd8bnxwfCQpfHJwaHxncmlkfG93c3xtbmN8bnR3fGluZVtjaF18em9vfF5vcmR8aXRlcmEvaSxGZT1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIHJlKGUsdCl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfWZ1bmN0aW9uIGd0KGUpe2UmJmUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfWZ1bmN0aW9uIHl0KGUsdCxuKXt2YXIgbyxzLGksYz17fTtmb3IoaSBpbiB0KWk9PSJrZXkiP289dFtpXTppPT0icmVmIj9zPXRbaV06Y1tpXT10W2ldO2lmKGFyZ3VtZW50cy5sZW5ndGg+MiYmKGMuY2hpbGRyZW49YXJndW1lbnRzLmxlbmd0aD4zPyRlLmNhbGwoYXJndW1lbnRzLDIpOm4pLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlLmRlZmF1bHRQcm9wcyE9bnVsbClmb3IoaSBpbiBlLmRlZmF1bHRQcm9wcyljW2ldPT09dm9pZCAwJiYoY1tpXT1lLmRlZmF1bHRQcm9wc1tpXSk7cmV0dXJuIEJlKGUsYyxvLHMsbnVsbCl9ZnVuY3Rpb24gQmUoZSx0LG4sbyxzKXt2YXIgaT17dHlwZTplLHByb3BzOnQsa2V5Om4scmVmOm8sX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2M6bnVsbCxjb25zdHJ1Y3Rvcjp2b2lkIDAsX192OnM/PysrbG4sX19pOi0xLF9fdTowfTtyZXR1cm4gcz09bnVsbCYmeC52bm9kZSE9bnVsbCYmeC52bm9kZShpKSxpfWZ1bmN0aW9uIGNlKGUpe3JldHVybiBlLmNoaWxkcmVufWZ1bmN0aW9uIEplKGUsdCl7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10fWZ1bmN0aW9uIFNlKGUsdCl7aWYodD09bnVsbClyZXR1cm4gZS5fXz9TZShlLl9fLGUuX19pKzEpOm51bGw7Zm9yKHZhciBuO3Q8ZS5fX2subGVuZ3RoO3QrKylpZigobj1lLl9fa1t0XSkhPW51bGwmJm4uX19lIT1udWxsKXJldHVybiBuLl9fZTtyZXR1cm4gdHlwZW9mIGUudHlwZT09ImZ1bmN0aW9uIj9TZShlKTpudWxsfWZ1bmN0aW9uIFdyKGUpe2lmKGUuX19QJiZlLl9fZCl7dmFyIHQ9ZS5fX3Ysbj10Ll9fZSxvPVtdLHM9W10saT1yZSh7fSx0KTtpLl9fdj10Ll9fdisxLHgudm5vZGUmJngudm5vZGUoaSksd3QoZS5fX1AsaSx0LGUuX19uLGUuX19QLm5hbWVzcGFjZVVSSSwzMiZ0Ll9fdT9bbl06bnVsbCxvLG4/P1NlKHQpLCEhKDMyJnQuX191KSxzKSxpLl9fdj10Ll9fdixpLl9fLl9fa1tpLl9faV09aSx3bihvLGkscyksdC5fX2U9dC5fXz1udWxsLGkuX19lIT1uJiZobihpKX19ZnVuY3Rpb24gaG4oZSl7aWYoKGU9ZS5fXykhPW51bGwmJmUuX19jIT1udWxsKXJldHVybiBlLl9fZT1lLl9fYy5iYXNlPW51bGwsZS5fX2suc29tZShmdW5jdGlvbih0KXtpZih0IT1udWxsJiZ0Ll9fZSE9bnVsbClyZXR1cm4gZS5fX2U9ZS5fX2MuYmFzZT10Ll9fZX0pLGhuKGUpfWZ1bmN0aW9uIG10KGUpeyghZS5fX2QmJihlLl9fZD0hMCkmJmxlLnB1c2goZSkmJiFHZS5fX3IrK3x8Y24hPXguZGVib3VuY2VSZW5kZXJpbmcpJiYoKGNuPXguZGVib3VuY2VSZW5kZXJpbmcpfHx1bikoR2UpfWZ1bmN0aW9uIEdlKCl7dHJ5e2Zvcih2YXIgZSx0PTE7bGUubGVuZ3RoOylsZS5sZW5ndGg+dCYmbGUuc29ydChkbiksZT1sZS5zaGlmdCgpLHQ9bGUubGVuZ3RoLFdyKGUpfWZpbmFsbHl7bGUubGVuZ3RoPUdlLl9fcj0wfX1mdW5jdGlvbiBwbihlLHQsbixvLHMsaSxjLGgsZCxmLGcpe3ZhciBsLG0seSxTLEUsTSxiLGs9byYmby5fX2t8fEhlLEc9dC5sZW5ndGg7Zm9yKGQ9SHIobix0LGssZCxHKSxsPTA7bDxHO2wrKykoeT1uLl9fa1tsXSkhPW51bGwmJihtPXkuX19pIT0tMSYma1t5Ll9faV18fFdlLHkuX19pPWwsTT13dChlLHksbSxzLGksYyxoLGQsZixnKSxTPXkuX19lLHkucmVmJiZtLnJlZiE9eS5yZWYmJihtLnJlZiYmYnQobS5yZWYsbnVsbCx5KSxnLnB1c2goeS5yZWYseS5fX2N8fFMseSkpLEU9PW51bGwmJlMhPW51bGwmJihFPVMpLChiPSEhKDQmeS5fX3UpKXx8bS5fX2s9PT15Ll9faz8oZD1nbih5LGQsZSxiKSxiJiZtLl9fZSYmKG0uX19lPW51bGwpKTp0eXBlb2YgeS50eXBlPT0iZnVuY3Rpb24iJiZNIT09dm9pZCAwP2Q9TTpTJiYoZD1TLm5leHRTaWJsaW5nKSx5Ll9fdSY9LTcpO3JldHVybiBuLl9fZT1FLGR9ZnVuY3Rpb24gSHIoZSx0LG4sbyxzKXt2YXIgaSxjLGgsZCxmLGc9bi5sZW5ndGgsbD1nLG09MDtmb3IoZS5fX2s9bmV3IEFycmF5KHMpLGk9MDtpPHM7aSsrKShjPXRbaV0pIT1udWxsJiZ0eXBlb2YgYyE9ImJvb2xlYW4iJiZ0eXBlb2YgYyE9ImZ1bmN0aW9uIj8odHlwZW9mIGM9PSJzdHJpbmcifHx0eXBlb2YgYz09Im51bWJlciJ8fHR5cGVvZiBjPT0iYmlnaW50Inx8Yy5jb25zdHJ1Y3Rvcj09U3RyaW5nP2M9ZS5fX2tbaV09QmUobnVsbCxjLG51bGwsbnVsbCxudWxsKTpGZShjKT9jPWUuX19rW2ldPUJlKGNlLHtjaGlsZHJlbjpjfSxudWxsLG51bGwsbnVsbCk6Yy5jb25zdHJ1Y3Rvcj09PXZvaWQgMCYmYy5fX2I+MD9jPWUuX19rW2ldPUJlKGMudHlwZSxjLnByb3BzLGMua2V5LGMucmVmP2MucmVmOm51bGwsYy5fX3YpOmUuX19rW2ldPWMsZD1pK20sYy5fXz1lLGMuX19iPWUuX19iKzEsaD1udWxsLChmPWMuX19pPUZyKGMsbixkLGwpKSE9LTEmJihsLS0sKGg9bltmXSkmJihoLl9fdXw9MikpLGg9PW51bGx8fGguX192PT1udWxsPyhmPT0tMSYmKHM+Zz9tLS06czxnJiZtKyspLHR5cGVvZiBjLnR5cGUhPSJmdW5jdGlvbiImJihjLl9fdXw9NCkpOmYhPWQmJihmPT1kLTE/bS0tOmY9PWQrMT9tKys6KGY+ZD9tLS06bSsrLGMuX191fD00KSkpOmUuX19rW2ldPW51bGw7aWYobClmb3IoaT0wO2k8ZztpKyspKGg9bltpXSkhPW51bGwmJigyJmguX191KT09MCYmKGguX19lPT1vJiYobz1TZShoKSksYm4oaCxoKSk7cmV0dXJuIG99ZnVuY3Rpb24gZ24oZSx0LG4sbyl7dmFyIHMsaTtpZih0eXBlb2YgZS50eXBlPT0iZnVuY3Rpb24iKXtmb3Iocz1lLl9fayxpPTA7cyYmaTxzLmxlbmd0aDtpKyspc1tpXSYmKHNbaV0uX189ZSx0PWduKHNbaV0sdCxuLG8pKTtyZXR1cm4gdH1lLl9fZSE9dCYmKG8mJih0JiZlLnR5cGUmJiF0LnBhcmVudE5vZGUmJih0PVNlKGUpKSxuLmluc2VydEJlZm9yZShlLl9fZSx0fHxudWxsKSksdD1lLl9fZSk7ZG8gdD10JiZ0Lm5leHRTaWJsaW5nO3doaWxlKHQhPW51bGwmJnQubm9kZVR5cGU9PTgpO3JldHVybiB0fWZ1bmN0aW9uIEZyKGUsdCxuLG8pe3ZhciBzLGksYyxoPWUua2V5LGQ9ZS50eXBlLGY9dFtuXSxnPWYhPW51bGwmJigyJmYuX191KT09MDtpZihmPT09bnVsbCYmaD09bnVsbHx8ZyYmaD09Zi5rZXkmJmQ9PWYudHlwZSlyZXR1cm4gbjtpZihvPihnPzE6MCkpe2ZvcihzPW4tMSxpPW4rMTtzPj0wfHxpPHQubGVuZ3RoOylpZigoZj10W2M9cz49MD9zLS06aSsrXSkhPW51bGwmJigyJmYuX191KT09MCYmaD09Zi5rZXkmJmQ9PWYudHlwZSlyZXR1cm4gY31yZXR1cm4tMX1mdW5jdGlvbiB5bihlLHQsbil7dFswXT09Ii0iP2Uuc2V0UHJvcGVydHkodCxuPz8iIik6ZVt0XT1uPT1udWxsPyIiOnR5cGVvZiBuIT0ibnVtYmVyInx8RHIudGVzdCh0KT9uOm4rInB4In1mdW5jdGlvbiBWZShlLHQsbixvLHMpe3ZhciBpLGM7ZTppZih0PT0ic3R5bGUiKWlmKHR5cGVvZiBuPT0ic3RyaW5nIillLnN0eWxlLmNzc1RleHQ9bjtlbHNle2lmKHR5cGVvZiBvPT0ic3RyaW5nIiYmKGUuc3R5bGUuY3NzVGV4dD1vPSIiKSxvKWZvcih0IGluIG8pbiYmdCBpbiBufHx5bihlLnN0eWxlLHQsIiIpO2lmKG4pZm9yKHQgaW4gbilvJiZuW3RdPT1vW3RdfHx5bihlLnN0eWxlLHQsblt0XSl9ZWxzZSBpZih0WzBdPT0ibyImJnRbMV09PSJuIilpPXQhPSh0PXQucmVwbGFjZShmbiwiJDEiKSksYz10LnRvTG93ZXJDYXNlKCksdD1jIGluIGV8fHQ9PSJvbkZvY3VzT3V0Inx8dD09Im9uRm9jdXNJbiI/Yy5zbGljZSgyKTp0LnNsaWNlKDIpLGUubHx8KGUubD17fSksZS5sW3QraV09bixuP28/blt6ZV09b1t6ZV06KG5bemVdPV90LGUuYWRkRXZlbnRMaXN0ZW5lcih0LGk/cHQ6aHQsaSkpOmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGk/cHQ6aHQsaSk7ZWxzZXtpZihzPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKXQ9dC5yZXBsYWNlKC94bGluayhIfDpoKS8sImgiKS5yZXBsYWNlKC9zTmFtZSQvLCJzIik7ZWxzZSBpZih0IT0id2lkdGgiJiZ0IT0iaGVpZ2h0IiYmdCE9ImhyZWYiJiZ0IT0ibGlzdCImJnQhPSJmb3JtIiYmdCE9InRhYkluZGV4IiYmdCE9ImRvd25sb2FkIiYmdCE9InJvd1NwYW4iJiZ0IT0iY29sU3BhbiImJnQhPSJyb2xlIiYmdCE9InBvcG92ZXIiJiZ0IGluIGUpdHJ5e2VbdF09bj8/IiI7YnJlYWsgZX1jYXRjaHt9dHlwZW9mIG49PSJmdW5jdGlvbiJ8fChuPT1udWxsfHxuPT09ITEmJnRbNF0hPSItIj9lLnJlbW92ZUF0dHJpYnV0ZSh0KTplLnNldEF0dHJpYnV0ZSh0LHQ9PSJwb3BvdmVyIiYmbj09MT8iIjpuKSl9fWZ1bmN0aW9uIG1uKGUpe3JldHVybiBmdW5jdGlvbih0KXtpZih0aGlzLmwpe3ZhciBuPXRoaXMubFt0LnR5cGUrZV07aWYodFtEZV09PW51bGwpdFtEZV09X3QrKztlbHNlIGlmKHRbRGVdPG5bemVdKXJldHVybjtyZXR1cm4gbih4LmV2ZW50P3guZXZlbnQodCk6dCl9fX1mdW5jdGlvbiB3dChlLHQsbixvLHMsaSxjLGgsZCxmKXt2YXIgZyxsLG0seSxTLEUsTSxiLGssRyxqLFosVWUsZGUseWUsQz10LnR5cGU7aWYodC5jb25zdHJ1Y3RvciE9PXZvaWQgMClyZXR1cm4gbnVsbDsxMjgmbi5fX3UmJihkPSEhKDMyJm4uX191KSxpPVtoPXQuX19lPW4uX19lXSksKGc9eC5fX2IpJiZnKHQpO2U6aWYodHlwZW9mIEM9PSJmdW5jdGlvbiIpdHJ5e2lmKGI9dC5wcm9wcyxrPUMucHJvdG90eXBlJiZDLnByb3RvdHlwZS5yZW5kZXIsRz0oZz1DLmNvbnRleHRUeXBlKSYmb1tnLl9fY10saj1nP0c/Ry5wcm9wcy52YWx1ZTpnLl9fOm8sbi5fX2M/TT0obD10Ll9fYz1uLl9fYykuX189bC5fX0U6KGs/dC5fX2M9bD1uZXcgQyhiLGopOih0Ll9fYz1sPW5ldyBKZShiLGopLGwuY29uc3RydWN0b3I9QyxsLnJlbmRlcj1KciksRyYmRy5zdWIobCksbC5zdGF0ZXx8KGwuc3RhdGU9e30pLGwuX19uPW8sbT1sLl9fZD0hMCxsLl9faD1bXSxsLl9zYj1bXSksayYmbC5fX3M9PW51bGwmJihsLl9fcz1sLnN0YXRlKSxrJiZDLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyE9bnVsbCYmKGwuX19zPT1sLnN0YXRlJiYobC5fX3M9cmUoe30sbC5fX3MpKSxyZShsLl9fcyxDLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhiLGwuX19zKSkpLHk9bC5wcm9wcyxTPWwuc3RhdGUsbC5fX3Y9dCxtKWsmJkMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZsLmNvbXBvbmVudFdpbGxNb3VudCE9bnVsbCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSxrJiZsLmNvbXBvbmVudERpZE1vdW50IT1udWxsJiZsLl9faC5wdXNoKGwuY29tcG9uZW50RGlkTW91bnQpO2Vsc2V7aWYoayYmQy5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PW51bGwmJmIhPT15JiZsLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPW51bGwmJmwuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhiLGopLHQuX192PT1uLl9fdnx8IWwuX19lJiZsLnNob3VsZENvbXBvbmVudFVwZGF0ZSE9bnVsbCYmbC5zaG91bGRDb21wb25lbnRVcGRhdGUoYixsLl9fcyxqKT09PSExKXt0Ll9fdiE9bi5fX3YmJihsLnByb3BzPWIsbC5zdGF0ZT1sLl9fcyxsLl9fZD0hMSksdC5fX2U9bi5fX2UsdC5fX2s9bi5fX2ssdC5fX2suc29tZShmdW5jdGlvbihLKXtLJiYoSy5fXz10KX0pLEhlLnB1c2guYXBwbHkobC5fX2gsbC5fc2IpLGwuX3NiPVtdLGwuX19oLmxlbmd0aCYmYy5wdXNoKGwpO2JyZWFrIGV9bC5jb21wb25lbnRXaWxsVXBkYXRlIT1udWxsJiZsLmNvbXBvbmVudFdpbGxVcGRhdGUoYixsLl9fcyxqKSxrJiZsLmNvbXBvbmVudERpZFVwZGF0ZSE9bnVsbCYmbC5fX2gucHVzaChmdW5jdGlvbigpe2wuY29tcG9uZW50RGlkVXBkYXRlKHksUyxFKX0pfWlmKGwuY29udGV4dD1qLGwucHJvcHM9YixsLl9fUD1lLGwuX19lPSExLFo9eC5fX3IsVWU9MCxrKWwuc3RhdGU9bC5fX3MsbC5fX2Q9ITEsWiYmWih0KSxnPWwucmVuZGVyKGwucHJvcHMsbC5zdGF0ZSxsLmNvbnRleHQpLEhlLnB1c2guYXBwbHkobC5fX2gsbC5fc2IpLGwuX3NiPVtdO2Vsc2UgZG8gbC5fX2Q9ITEsWiYmWih0KSxnPWwucmVuZGVyKGwucHJvcHMsbC5zdGF0ZSxsLmNvbnRleHQpLGwuc3RhdGU9bC5fX3M7d2hpbGUobC5fX2QmJisrVWU8MjUpO2wuc3RhdGU9bC5fX3MsbC5nZXRDaGlsZENvbnRleHQhPW51bGwmJihvPXJlKHJlKHt9LG8pLGwuZ2V0Q2hpbGRDb250ZXh0KCkpKSxrJiYhbSYmbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9bnVsbCYmKEU9bC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSh5LFMpKSxkZT1nIT1udWxsJiZnLnR5cGU9PT1jZSYmZy5rZXk9PW51bGw/dm4oZy5wcm9wcy5jaGlsZHJlbik6ZyxoPXBuKGUsRmUoZGUpP2RlOltkZV0sdCxuLG8scyxpLGMsaCxkLGYpLGwuYmFzZT10Ll9fZSx0Ll9fdSY9LTE2MSxsLl9faC5sZW5ndGgmJmMucHVzaChsKSxNJiYobC5fX0U9bC5fXz1udWxsKX1jYXRjaChLKXtpZih0Ll9fdj1udWxsLGR8fGkhPW51bGwpaWYoSy50aGVuKXtmb3IodC5fX3V8PWQ/MTYwOjEyODtoJiZoLm5vZGVUeXBlPT04JiZoLm5leHRTaWJsaW5nOyloPWgubmV4dFNpYmxpbmc7aVtpLmluZGV4T2YoaCldPW51bGwsdC5fX2U9aH1lbHNle2Zvcih5ZT1pLmxlbmd0aDt5ZS0tOylndChpW3llXSk7dnQodCl9ZWxzZSB0Ll9fZT1uLl9fZSx0Ll9faz1uLl9fayxLLnRoZW58fHZ0KHQpO3guX19lKEssdCxuKX1lbHNlIGk9PW51bGwmJnQuX192PT1uLl9fdj8odC5fX2s9bi5fX2ssdC5fX2U9bi5fX2UpOmg9dC5fX2U9QnIobi5fX2UsdCxuLG8scyxpLGMsZCxmKTtyZXR1cm4oZz14LmRpZmZlZCkmJmcodCksMTI4JnQuX191P3ZvaWQgMDpofWZ1bmN0aW9uIHZ0KGUpe2UmJihlLl9fYyYmKGUuX19jLl9fZT0hMCksZS5fX2smJmUuX19rLnNvbWUodnQpKX1mdW5jdGlvbiB3bihlLHQsbil7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspYnQobltvXSxuWysrb10sblsrK29dKTt4Ll9fYyYmeC5fX2ModCxlKSxlLnNvbWUoZnVuY3Rpb24ocyl7dHJ5e2U9cy5fX2gscy5fX2g9W10sZS5zb21lKGZ1bmN0aW9uKGkpe2kuY2FsbChzKX0pfWNhdGNoKGkpe3guX19lKGkscy5fX3YpfX0pfWZ1bmN0aW9uIHZuKGUpe3JldHVybiB0eXBlb2YgZSE9Im9iamVjdCJ8fGU9PW51bGx8fGUuX19iPjA/ZTpGZShlKT9lLm1hcCh2bik6ZS5jb25zdHJ1Y3RvciE9PXZvaWQgMD9udWxsOnJlKHt9LGUpfWZ1bmN0aW9uIEJyKGUsdCxuLG8scyxpLGMsaCxkKXt2YXIgZixnLGwsbSx5LFMsRSxNPW4ucHJvcHN8fFdlLGI9dC5wcm9wcyxrPXQudHlwZTtpZihrPT0ic3ZnIj9zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6az09Im1hdGgiP3M9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiOnN8fChzPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiksaSE9bnVsbCl7Zm9yKGY9MDtmPGkubGVuZ3RoO2YrKylpZigoeT1pW2ZdKSYmInNldEF0dHJpYnV0ZSJpbiB5PT0hIWsmJihrP3kubG9jYWxOYW1lPT1rOnkubm9kZVR5cGU9PTMpKXtlPXksaVtmXT1udWxsO2JyZWFrfX1pZihlPT1udWxsKXtpZihrPT1udWxsKXJldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShiKTtlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhzLGssYi5pcyYmYiksaCYmKHguX19tJiZ4Ll9fbSh0LGkpLGg9ITEpLGk9bnVsbH1pZihrPT1udWxsKU09PT1ifHxoJiZlLmRhdGE9PWJ8fChlLmRhdGE9Yik7ZWxzZXtpZihpPWs9PSJ0ZXh0YXJlYSImJmIuZGVmYXVsdFZhbHVlIT1udWxsP251bGw6aSYmJGUuY2FsbChlLmNoaWxkTm9kZXMpLCFoJiZpIT1udWxsKWZvcihNPXt9LGY9MDtmPGUuYXR0cmlidXRlcy5sZW5ndGg7ZisrKU1bKHk9ZS5hdHRyaWJ1dGVzW2ZdKS5uYW1lXT15LnZhbHVlO2ZvcihmIGluIE0peT1NW2ZdLGY9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/bD15OmY9PSJjaGlsZHJlbiJ8fGYgaW4gYnx8Zj09InZhbHVlIiYmImRlZmF1bHRWYWx1ZSJpbiBifHxmPT0iY2hlY2tlZCImJiJkZWZhdWx0Q2hlY2tlZCJpbiBifHxWZShlLGYsbnVsbCx5LHMpO2ZvcihmIGluIGIpeT1iW2ZdLGY9PSJjaGlsZHJlbiI/bT15OmY9PSJkYW5nZXJvdXNseVNldElubmVySFRNTCI/Zz15OmY9PSJ2YWx1ZSI/Uz15OmY9PSJjaGVja2VkIj9FPXk6aCYmdHlwZW9mIHkhPSJmdW5jdGlvbiJ8fE1bZl09PT15fHxWZShlLGYseSxNW2ZdLHMpO2lmKGcpaHx8bCYmKGcuX19odG1sPT1sLl9faHRtbHx8Zy5fX2h0bWw9PWUuaW5uZXJIVE1MKXx8KGUuaW5uZXJIVE1MPWcuX19odG1sKSx0Ll9faz1bXTtlbHNlIGlmKGwmJihlLmlubmVySFRNTD0iIikscG4odC50eXBlPT0idGVtcGxhdGUiP2UuY29udGVudDplLEZlKG0pP206W21dLHQsbixvLGs9PSJmb3JlaWduT2JqZWN0Ij8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI6cyxpLGMsaT9pWzBdOm4uX19rJiZTZShuLDApLGgsZCksaSE9bnVsbClmb3IoZj1pLmxlbmd0aDtmLS07KWd0KGlbZl0pO2gmJmshPSJ0ZXh0YXJlYSJ8fChmPSJ2YWx1ZSIsaz09InByb2dyZXNzIiYmUz09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKTpTIT1udWxsJiYoUyE9PWVbZl18fGs9PSJwcm9ncmVzcyImJiFTfHxrPT0ib3B0aW9uIiYmUyE9TVtmXSkmJlZlKGUsZixTLE1bZl0scyksZj0iY2hlY2tlZCIsRSE9bnVsbCYmRSE9ZVtmXSYmVmUoZSxmLEUsTVtmXSxzKSl9cmV0dXJuIGV9ZnVuY3Rpb24gYnQoZSx0LG4pe3RyeXtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIil7dmFyIG89dHlwZW9mIGUuX191PT0iZnVuY3Rpb24iO28mJmUuX191KCksbyYmdD09bnVsbHx8KGUuX191PWUodCkpfWVsc2UgZS5jdXJyZW50PXR9Y2F0Y2gocyl7eC5fX2UocyxuKX19ZnVuY3Rpb24gYm4oZSx0LG4pe3ZhciBvLHM7aWYoeC51bm1vdW50JiZ4LnVubW91bnQoZSksKG89ZS5yZWYpJiYoby5jdXJyZW50JiZvLmN1cnJlbnQhPWUuX19lfHxidChvLG51bGwsdCkpLChvPWUuX19jKSE9bnVsbCl7aWYoby5jb21wb25lbnRXaWxsVW5tb3VudCl0cnl7by5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGkpe3guX19lKGksdCl9by5iYXNlPW8uX19QPW51bGx9aWYobz1lLl9faylmb3Iocz0wO3M8by5sZW5ndGg7cysrKW9bc10mJmJuKG9bc10sdCxufHx0eXBlb2YgZS50eXBlIT0iZnVuY3Rpb24iKTtufHxndChlLl9fZSksZS5fX2M9ZS5fXz1lLl9fZT12b2lkIDB9ZnVuY3Rpb24gSnIoZSx0LG4pe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKGUsbil9ZnVuY3Rpb24gR3IoZSx0LG4pe3ZhciBvLHMsaSxjO3Q9PWRvY3VtZW50JiYodD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLHguX18mJnguX18oZSx0KSxzPShvPXR5cGVvZiBuPT0iZnVuY3Rpb24iKT9udWxsOm4mJm4uX19rfHx0Ll9fayxpPVtdLGM9W10sd3QodCxlPSghbyYmbnx8dCkuX19rPXl0KGNlLG51bGwsW2VdKSxzfHxXZSxXZSx0Lm5hbWVzcGFjZVVSSSwhbyYmbj9bbl06cz9udWxsOnQuZmlyc3RDaGlsZD8kZS5jYWxsKHQuY2hpbGROb2Rlcyk6bnVsbCxpLCFvJiZuP246cz9zLl9fZTp0LmZpcnN0Q2hpbGQsbyxjKSx3bihpLGUsYyl9ZnVuY3Rpb24ga24oZSl7ZnVuY3Rpb24gdChuKXt2YXIgbyxzO3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KG89bmV3IFNldCwocz17fSlbdC5fX2NdPXRoaXMsdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gc30sdGhpcy5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe289bnVsbH0sdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oaSl7dGhpcy5wcm9wcy52YWx1ZSE9aS52YWx1ZSYmby5mb3JFYWNoKGZ1bmN0aW9uKGMpe2MuX19lPSEwLG10KGMpfSl9LHRoaXMuc3ViPWZ1bmN0aW9uKGkpe28uYWRkKGkpO3ZhciBjPWkuY29tcG9uZW50V2lsbFVubW91bnQ7aS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe28mJm8uZGVsZXRlKGkpLGMmJmMuY2FsbChpKX19KSxuLmNoaWxkcmVufXJldHVybiB0Ll9fYz0iX19jQyIrX24rKyx0Ll9fPWUsdC5Qcm92aWRlcj10Ll9fbD0odC5Db25zdW1lcj1mdW5jdGlvbihuLG8pe3JldHVybiBuLmNoaWxkcmVuKG8pfSkuY29udGV4dFR5cGU9dCx0fSRlPUhlLnNsaWNlLHg9e19fZTpmdW5jdGlvbihlLHQsbixvKXtmb3IodmFyIHMsaSxjO3Q9dC5fXzspaWYoKHM9dC5fX2MpJiYhcy5fXyl0cnl7aWYoKGk9cy5jb25zdHJ1Y3RvcikmJmkuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIT1udWxsJiYocy5zZXRTdGF0ZShpLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlKSksYz1zLl9fZCkscy5jb21wb25lbnREaWRDYXRjaCE9bnVsbCYmKHMuY29tcG9uZW50RGlkQ2F0Y2goZSxvfHx7fSksYz1zLl9fZCksYylyZXR1cm4gcy5fX0U9c31jYXRjaChoKXtlPWh9dGhyb3cgZX19LGxuPTAsJHI9ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPW51bGwmJmUuY29uc3RydWN0b3I9PT12b2lkIDB9LEplLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe3ZhciBuO249dGhpcy5fX3MhPW51bGwmJnRoaXMuX19zIT10aGlzLnN0YXRlP3RoaXMuX19zOnRoaXMuX19zPXJlKHt9LHRoaXMuc3RhdGUpLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHJlKHt9LG4pLHRoaXMucHJvcHMpKSxlJiZyZShuLGUpLGUhPW51bGwmJnRoaXMuX192JiYodCYmdGhpcy5fc2IucHVzaCh0KSxtdCh0aGlzKSl9LEplLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLGUmJnRoaXMuX19oLnB1c2goZSksbXQodGhpcykpfSxKZS5wcm90b3R5cGUucmVuZGVyPWNlLGxlPVtdLHVuPXR5cGVvZiBQcm9taXNlPT0iZnVuY3Rpb24iP1Byb21pc2UucHJvdG90eXBlLnRoZW4uYmluZChQcm9taXNlLnJlc29sdmUoKSk6c2V0VGltZW91dCxkbj1mdW5jdGlvbihlLHQpe3JldHVybiBlLl9fdi5fX2ItdC5fX3YuX19ifSxHZS5fX3I9MCxmdD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDgpLERlPSJfX2QiK2Z0LHplPSJfX2EiK2Z0LGZuPS8oUG9pbnRlckNhcHR1cmUpJHxDYXB0dXJlJC9pLF90PTAsaHQ9bW4oITEpLHB0PW1uKCEwKSxfbj0wO3ZhciBWcj0iaHR0cHM6Ly9zaG9vLmRldiIsa3Q9Imxha2ViZWRfaWRlbnRpdHkiLHhuPSJzaG9vX2lkZW50aXR5IixqZT0ibGFrZWJlZF9nb29nbGVfcGtjZSIseHQ9Imxha2ViZWRfZ29vZ2xlX3JldHVybl90byIsU3Q9Imxha2ViZWRfZ29vZ2xlX3Jlc3VtZV9hdHRlbXB0Iixqcj02MDAqMWUzLEtyPW5ldyBUZXh0RW5jb2RlcixDdD1ybygpLFNuPSExLEl0PW5ldyBTZXQ7ZnVuY3Rpb24gcXIoKXtyZXR1cm4gQ3R9ZnVuY3Rpb24gTWUoZSl7Q3Q9ZX1mdW5jdGlvbiBDbigpe3JldHVybiBTbn1mdW5jdGlvbiBJbihlKXtTbj1lfWZ1bmN0aW9uIFlyKGUpe0l0LmFkZChlKX1mdW5jdGlvbiBYcihlKXtJdC5kZWxldGUoZSl9ZnVuY3Rpb24gTGUoKXtmb3IoY29uc3QgZSBvZiBJdCllKEN0KX1mdW5jdGlvbiBRcihlKXtjb25zdCB0PVN0cmluZyhlPz8iIikucmVwbGFjZSgvXC8rJC9nLCIiKTtyZXR1cm4gdD09PSIvIj8iIjp0fWZ1bmN0aW9uIFB0KCl7cmV0dXJuIFFyKHdpbmRvdy5fX0xBS0VCRURfQkFTRV9QQVRIX18/PyIiKX1mdW5jdGlvbiBacigpe3JldHVybiB3aW5kb3cuX19MQUtFQkVEX0FVVEhfXz8/e319ZnVuY3Rpb24gUG4oZSl7cmV0dXJuIFN0cmluZyhlPz8ibG9jYWwiKS5yZXBsYWNlKC9eZ3Vlc3Q6LywiIikudHJpbSgpLnJlcGxhY2UoL1teYS16QS1aMC05Xy4tXSsvZywiLSIpLnJlcGxhY2UoL14tK3wtKyQvZywiIikudG9Mb3dlckNhc2UoKXx8ImxvY2FsIn1mdW5jdGlvbiBlbyhlKXtyZXR1cm4gUG4oZSkuc3BsaXQoL1stX1xzLl0rLykuZmlsdGVyKEJvb2xlYW4pLm1hcCh0PT5gJHt0WzBdPy50b1VwcGVyQ2FzZSgpPz8iIn0ke3Quc2xpY2UoMSl9YCkuam9pbigiICIpfWZ1bmN0aW9uIEtlKGUpe2NvbnN0IHQ9UG4oZSk7cmV0dXJue2Rpc3BsYXlOYW1lOmVvKHQpLGlzQXV0aGVudGljYXRlZDohMSxpc0d1ZXN0OiEwLHByb3ZpZGVyOiJndWVzdCIsdXNlcklkOmBndWVzdDoke3R9YH19ZnVuY3Rpb24gaGUoZSx0KXtyZXR1cm57Li4uZSxpc0xvYWRpbmc6dH19ZnVuY3Rpb24genQoKXtpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIHdpbmRvdy5sb2NhbFN0b3JhZ2V9Y2F0Y2h7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHpuKCl7aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuIG51bGw7dHJ5e3JldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2V9Y2F0Y2h7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHFlKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUiPyJsb2NhbCI6bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoImxha2ViZWRfZ3Vlc3QiKT8/ImxvY2FsIn1mdW5jdGlvbiBNdChlKXt0cnl7cmV0dXJuIEpTT04ucGFyc2UoZSl9Y2F0Y2h7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHRvKGUpe2NvbnN0IHQ9ZS5yZXBsYWNlKC8tL2csIisiKS5yZXBsYWNlKC9fL2csIi8iKSxuPXQucGFkRW5kKE1hdGguY2VpbCh0Lmxlbmd0aC80KSo0LCI9Iik7cmV0dXJuIGF0b2Iobil9ZnVuY3Rpb24gWWUoZSl7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLnNwbGl0KCIuIik7cmV0dXJuIHQubGVuZ3RoPDI/bnVsbDpNdCh0byh0WzFdKSl9ZnVuY3Rpb24gbm8oZSl7cmV0dXJuIHR5cGVvZiBlPy5leHA9PSJudW1iZXIiJiZlLmV4cCoxZTM8PURhdGUubm93KCl9ZnVuY3Rpb24gTW4oe2FsbG93RXhwaXJlZDplPSExfT17fSl7Y29uc3QgdD16dCgpO2lmKCF0KXJldHVybnt1c2VySWQ6bnVsbH07bGV0IG49bnVsbDt0cnl7bj10LmdldEl0ZW0oa3QpPz90LmdldEl0ZW0oeG4pfWNhdGNoe3JldHVybnt1c2VySWQ6bnVsbH19aWYoIW4pcmV0dXJue3VzZXJJZDpudWxsfTtjb25zdCBvPU10KG4pO2lmKCFvfHx0eXBlb2YgbyE9Im9iamVjdCIpcmV0dXJue3VzZXJJZDpudWxsfTtjb25zdCBzPXR5cGVvZiBvLnRva2VuPT0ic3RyaW5nIj9vLnRva2VuOnZvaWQgMCxpPVllKHMpLGM9bm8oaSk7cmV0dXJuIGMmJiFlP3tleHBpcmVkOmMsdXNlcklkOm51bGx9OntleHBpcmVkOmMsdG9rZW46cyx1c2VySWQ6dHlwZW9mIG8udXNlcklkPT0ic3RyaW5nIj9vLnVzZXJJZDp0eXBlb2Ygby5wYWlyd2lzZVN1Yj09InN0cmluZyI/by5wYWlyd2lzZVN1YjpudWxsfX1mdW5jdGlvbiBMbigpe3JldHVybiBNbigpLnRva2VuPz8iIn1mdW5jdGlvbiBBbihlKXtjb25zdCB0PVllKGUpLG49dD8ucGFpcndpc2Vfc3ViPz90Py5zdWI7cmV0dXJuIG4/e2Rpc3BsYXlOYW1lOnR5cGVvZiB0Lm5hbWU9PSJzdHJpbmciJiZ0Lm5hbWUudHJpbSgpP3QubmFtZS50cmltKCk6Ikdvb2dsZSBVc2VyIixlbWFpbDp0eXBlb2YgdC5lbWFpbD09InN0cmluZyI/dC5lbWFpbDp2b2lkIDAsZW1haWxWZXJpZmllZDp0eXBlb2YgdC5lbWFpbF92ZXJpZmllZD09ImJvb2xlYW4iP3QuZW1haWxfdmVyaWZpZWQ6dm9pZCAwLGlzQXV0aGVudGljYXRlZDohMCxpc0d1ZXN0OiExLHBpY3R1cmU6dHlwZW9mIHQucGljdHVyZT09InN0cmluZyI/dC5waWN0dXJlOnZvaWQgMCxwcm92aWRlcjoiZ29vZ2xlIix1c2VySWQ6YGdvb2dsZToke259YH06bnVsbH1mdW5jdGlvbiBybygpe2NvbnN0IGU9TG4oKSx0PUFuKGUpO3JldHVybiB0P2hlKHQsITApOmhlKEtlKHFlKCkpLHR5cGVvZiB3aW5kb3c8InUiKX12YXIgQWUsSSxMdCxObixYZT0wLE9uPVtdLEw9eCxSbj1MLl9fYixFbj1MLl9fcixVbj1MLmRpZmZlZCxUbj1MLl9fYywkbj1MLnVubW91bnQsRG49TC5fXztmdW5jdGlvbiBBdChlLHQpe0wuX19oJiZMLl9faChJLGUsWGV8fHQpLFhlPTA7dmFyIG49SS5fX0h8fChJLl9fSD17X186W10sX19oOltdfSk7cmV0dXJuIGU+PW4uX18ubGVuZ3RoJiZuLl9fLnB1c2goe30pLG4uX19bZV19ZnVuY3Rpb24gUChlKXtyZXR1cm4gWGU9MSxvbyhGbixlKX1mdW5jdGlvbiBvbyhlLHQsbil7dmFyIG89QXQoQWUrKywyKTtpZihvLnQ9ZSwhby5fX2MmJihvLl9fPVtuP24odCk6Rm4odm9pZCAwLHQpLGZ1bmN0aW9uKGgpe3ZhciBkPW8uX19OP28uX19OWzBdOm8uX19bMF0sZj1vLnQoZCxoKTtkIT09ZiYmKG8uX19OPVtmLG8uX19bMV1dLG8uX19jLnNldFN0YXRlKHt9KSl9XSxvLl9fYz1JLCFJLl9fZikpe3ZhciBzPWZ1bmN0aW9uKGgsZCxmKXtpZighby5fX2MuX19IKXJldHVybiEwO3ZhciBnPW8uX19jLl9fSC5fXy5maWx0ZXIoZnVuY3Rpb24obSl7cmV0dXJuIG0uX19jfSk7aWYoZy5ldmVyeShmdW5jdGlvbihtKXtyZXR1cm4hbS5fX059KSlyZXR1cm4haXx8aS5jYWxsKHRoaXMsaCxkLGYpO3ZhciBsPW8uX19jLnByb3BzIT09aDtyZXR1cm4gZy5zb21lKGZ1bmN0aW9uKG0pe2lmKG0uX19OKXt2YXIgeT1tLl9fWzBdO20uX189bS5fX04sbS5fX049dm9pZCAwLHkhPT1tLl9fWzBdJiYobD0hMCl9fSksaSYmaS5jYWxsKHRoaXMsaCxkLGYpfHxsfTtJLl9fZj0hMDt2YXIgaT1JLnNob3VsZENvbXBvbmVudFVwZGF0ZSxjPUkuY29tcG9uZW50V2lsbFVwZGF0ZTtJLmNvbXBvbmVudFdpbGxVcGRhdGU9ZnVuY3Rpb24oaCxkLGYpe2lmKHRoaXMuX19lKXt2YXIgZz1pO2k9dm9pZCAwLHMoaCxkLGYpLGk9Z31jJiZjLmNhbGwodGhpcyxoLGQsZil9LEkuc2hvdWxkQ29tcG9uZW50VXBkYXRlPXN9cmV0dXJuIG8uX19OfHxvLl9ffWZ1bmN0aW9uIENlKGUsdCl7dmFyIG49QXQoQWUrKywzKTshTC5fX3MmJkhuKG4uX19ILHQpJiYobi5fXz1lLG4udT10LEkuX19ILl9faC5wdXNoKG4pKX1mdW5jdGlvbiBRZShlKXtyZXR1cm4gWGU9NSxpbyhmdW5jdGlvbigpe3JldHVybntjdXJyZW50OmV9fSxbXSl9ZnVuY3Rpb24gaW8oZSx0KXt2YXIgbj1BdChBZSsrLDcpO3JldHVybiBIbihuLl9fSCx0KSYmKG4uX189ZSgpLG4uX19IPXQsbi5fX2g9ZSksbi5fX31mdW5jdGlvbiBhbygpe2Zvcih2YXIgZTtlPU9uLnNoaWZ0KCk7KXt2YXIgdD1lLl9fSDtpZihlLl9fUCYmdCl0cnl7dC5fX2guc29tZShaZSksdC5fX2guc29tZShOdCksdC5fX2g9W119Y2F0Y2gobil7dC5fX2g9W10sTC5fX2UobixlLl9fdil9fX1MLl9fYj1mdW5jdGlvbihlKXtJPW51bGwsUm4mJlJuKGUpfSxMLl9fPWZ1bmN0aW9uKGUsdCl7ZSYmdC5fX2smJnQuX19rLl9fbSYmKGUuX19tPXQuX19rLl9fbSksRG4mJkRuKGUsdCl9LEwuX19yPWZ1bmN0aW9uKGUpe0VuJiZFbihlKSxBZT0wO3ZhciB0PShJPWUuX19jKS5fX0g7dCYmKEx0PT09ST8odC5fX2g9W10sSS5fX2g9W10sdC5fXy5zb21lKGZ1bmN0aW9uKG4pe24uX19OJiYobi5fXz1uLl9fTiksbi51PW4uX19OPXZvaWQgMH0pKToodC5fX2guc29tZShaZSksdC5fX2guc29tZShOdCksdC5fX2g9W10sQWU9MCkpLEx0PUl9LEwuZGlmZmVkPWZ1bmN0aW9uKGUpe1VuJiZVbihlKTt2YXIgdD1lLl9fYzt0JiZ0Ll9fSCYmKHQuX19ILl9faC5sZW5ndGgmJihPbi5wdXNoKHQpIT09MSYmTm49PT1MLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8KChObj1MLnJlcXVlc3RBbmltYXRpb25GcmFtZSl8fHNvKShhbykpLHQuX19ILl9fLnNvbWUoZnVuY3Rpb24obil7bi51JiYobi5fX0g9bi51KSxuLnU9dm9pZCAwfSkpLEx0PUk9bnVsbH0sTC5fX2M9ZnVuY3Rpb24oZSx0KXt0LnNvbWUoZnVuY3Rpb24obil7dHJ5e24uX19oLnNvbWUoWmUpLG4uX19oPW4uX19oLmZpbHRlcihmdW5jdGlvbihvKXtyZXR1cm4hby5fX3x8TnQobyl9KX1jYXRjaChvKXt0LnNvbWUoZnVuY3Rpb24ocyl7cy5fX2gmJihzLl9faD1bXSl9KSx0PVtdLEwuX19lKG8sbi5fX3YpfX0pLFRuJiZUbihlLHQpfSxMLnVubW91bnQ9ZnVuY3Rpb24oZSl7JG4mJiRuKGUpO3ZhciB0LG49ZS5fX2M7biYmbi5fX0gmJihuLl9fSC5fXy5zb21lKGZ1bmN0aW9uKG8pe3RyeXtaZShvKX1jYXRjaChzKXt0PXN9fSksbi5fX0g9dm9pZCAwLHQmJkwuX19lKHQsbi5fX3YpKX07dmFyIFduPXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU9PSJmdW5jdGlvbiI7ZnVuY3Rpb24gc28oZSl7dmFyIHQsbj1mdW5jdGlvbigpe2NsZWFyVGltZW91dChvKSxXbiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodCksc2V0VGltZW91dChlKX0sbz1zZXRUaW1lb3V0KG4sMzUpO1duJiYodD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobikpfWZ1bmN0aW9uIFplKGUpe3ZhciB0PUksbj1lLl9fYzt0eXBlb2Ygbj09ImZ1bmN0aW9uIiYmKGUuX19jPXZvaWQgMCxuKCkpLEk9dH1mdW5jdGlvbiBOdChlKXt2YXIgdD1JO2UuX19jPWUuX18oKSxJPXR9ZnVuY3Rpb24gSG4oZSx0KXtyZXR1cm4hZXx8ZS5sZW5ndGghPT10Lmxlbmd0aHx8dC5zb21lKGZ1bmN0aW9uKG4sbyl7cmV0dXJuIG4hPT1lW29dfSl9ZnVuY3Rpb24gRm4oZSx0KXtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChlKTp0fXZhciBEPW51bGwsbG89MSxCbj0hMSxKbj1uZXcgTWFwLE5lPW5ldyBNYXAsZXQ9bmV3IE1hcCxHbj1uZXcgU2V0O2Z1bmN0aW9uIGNvKGUpe3JldHVybiBKbi5nZXQoZSl9ZnVuY3Rpb24gdW8oZSx0KXtHbi5hZGQoZSksTmUuaGFzKGUpfHxOZS5zZXQoZSxuZXcgU2V0KSxOZS5nZXQoZSkuYWRkKHQpfWZ1bmN0aW9uIGZvKGUsdCl7TmUuZ2V0KGUpPy5kZWxldGUodCl9ZnVuY3Rpb24gX28oZSx0KXtKbi5zZXQoZSx0KTtjb25zdCBuPU5lLmdldChlKTtpZihuKWZvcihjb25zdCBvIG9mIG4pbyh0KX1mdW5jdGlvbiBobygpe0JufHwoQm49ITAsd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKX1mdW5jdGlvbiB0dChlKXtjb25zdCB0PU9lKCksbj1KU09OLnN0cmluZ2lmeShlKTtpZih0LnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTil7dC5zZW5kKG4pO3JldHVybn10LmFkZEV2ZW50TGlzdGVuZXIoIm9wZW4iLCgpPT57dC5zZW5kKG4pfSx7b25jZTohMH0pfWZ1bmN0aW9uIHBvKGUsdCl7Y29uc3Qgbj1sbysrO3JldHVybiB0dCh7aWQ6bixvcDplLC4uLnR9KSxuZXcgUHJvbWlzZSgobyxzKT0+e2V0LnNldChuLHtyZXNvbHZlOm8scmVqZWN0OnN9KX0pfWZ1bmN0aW9uIE9lKCl7aWYoRCYmRC5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNMT1NFRCYmRC5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNMT1NJTkcpcmV0dXJuIEQ7Wm4oKTtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6Iix0PW5ldyBVUkwoYCR7ZX0vLyR7d2luZG93LmxvY2F0aW9uLmhvc3R9JHtQdCgpfS9fX2xha2ViZWQvd3NgKSxuPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCJsYWtlYmVkX2d1ZXN0Iik7biYmdC5zZWFyY2hQYXJhbXMuc2V0KCJsYWtlYmVkX2d1ZXN0IixuKTtjb25zdCBvPUxuKCk7byYmdC5zZWFyY2hQYXJhbXMuc2V0KCJsYWtlYmVkX3Rva2VuIixvKSxEPW5ldyBXZWJTb2NrZXQodCk7Y29uc3Qgcz1EO3JldHVybiBzLmFkZEV2ZW50TGlzdGVuZXIoIm9wZW4iLCgpPT57dHQoe29wOiJhdXRoLmdldCJ9KTtmb3IoY29uc3QgaSBvZiBHbil0dCh7b3A6InF1ZXJ5LnN1YnNjcmliZSIsbmFtZTppfSl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGk9Pntjb25zdCBjPUpTT04ucGFyc2UoU3RyaW5nKGkuZGF0YSkpO2lmKGMub3A9PT0iYXV0aC5yZXN1bHQiKXtpZihDbigpKXJldHVybjtNZShoZShjLmF1dGgsITEpKSxMZSgpO3JldHVybn1pZihjLm9wPT09InF1ZXJ5LnJlc3VsdCIpe19vKGMubmFtZSxjLmRhdGEpO3JldHVybn1pZihjLm9wPT09InJlZnJlc2giKXtobygpO3JldHVybn1pZihjLmlkJiZldC5oYXMoYy5pZCkpe2NvbnN0IGg9ZXQuZ2V0KGMuaWQpO2V0LmRlbGV0ZShjLmlkKSxjLm9rP2gucmVzb2x2ZShjLnJlc3VsdCk6aC5yZWplY3QobmV3IEVycm9yKGMuZXJyb3I/PyJMYWtlYmVkIHJlcXVlc3QgZmFpbGVkIikpfX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57RD09PXMmJndpbmRvdy5zZXRUaW1lb3V0KCgpPT57RD09PXMmJihEPW51bGwsT2UoKSl9LDUwMCl9KSxEfWZ1bmN0aW9uIFZuKCl7RCYmRC5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNMT1NFRCYmRC5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNMT1NJTkcmJkQuY2xvc2UoKSxEPW51bGwsT2UoKX12YXIgam49bnVsbCxPdD0hMTtmdW5jdGlvbiBLbigpe3JldHVybmAke1B0KCl9L2F1dGgvY2FsbGJhY2tgLnJlcGxhY2UoL1wvezIsfS9nLCIvIil9ZnVuY3Rpb24gcW4oKXtyZXR1cm5gJHt3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9JHt3aW5kb3cubG9jYXRpb24uc2VhcmNofSR7d2luZG93LmxvY2F0aW9uLmhhc2h9YH1mdW5jdGlvbiBSZShlKXtpZighZSlyZXR1cm4gbnVsbDt0cnl7Y29uc3QgdD1uZXcgVVJMKGUsd2luZG93LmxvY2F0aW9uLm9yaWdpbik7aWYodC5vcmlnaW4hPT13aW5kb3cubG9jYXRpb24ub3JpZ2luKXJldHVybiBudWxsO2NvbnN0IG49YCR7dC5wYXRobmFtZX0ke3Quc2VhcmNofSR7dC5oYXNofWA7cmV0dXJuIW4uc3RhcnRzV2l0aCgiLyIpfHxuLnN0YXJ0c1dpdGgoIi8vIik/bnVsbDpufWNhdGNoe3JldHVybiBudWxsfX1mdW5jdGlvbiBSdCgpe3JldHVybiBQdCgpfHwiLyJ9ZnVuY3Rpb24gZ28oZSl7cmV0dXJuIG5ldyBVUkwoZSx3aW5kb3cubG9jYXRpb24ub3JpZ2luKS50b1N0cmluZygpfWZ1bmN0aW9uIHlvKGUpe3JldHVybmBvcmlnaW46JHtuZXcgVVJMKGUpLm9yaWdpbn1gfWZ1bmN0aW9uIFluKGU9e30pe2NvbnN0IHQ9UmUoZS5jYWxsYmFja1BhdGgpPz9LbigpLG49ZS5yZWRpcmVjdFVyaT8/Z28odCk7cmV0dXJue2NhbGxiYWNrUGF0aDp0LGNsaWVudElkOmUuY2xpZW50SWQ/P3lvKG4pLHJlZGlyZWN0VXJpOm4scmV0dXJuVG86UmUoZS5yZXR1cm5Ubyk/P3FuKCksc2hvb0Jhc2VVcmw6U3RyaW5nKGUuc2hvb0Jhc2VVcmw/P1pyKCkuc2hvb0Jhc2VVcmw/P1ZyKS5yZXBsYWNlKC9cLyskL2csIiIpfX1mdW5jdGlvbiBYbihlPTY0KXtjb25zdCB0PSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS0uX34iLG49Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSk7bGV0IG89IiI7Zm9yKGxldCBzPTA7czxuLmxlbmd0aDtzKz0xKW8rPXRbbltzXSV0Lmxlbmd0aF07cmV0dXJuIG99ZnVuY3Rpb24gbW8oZSl7bGV0IHQ9IiI7Zm9yKGNvbnN0IG4gb2YgZSl0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pO3JldHVybiBidG9hKHQpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskL2csIiIpfWFzeW5jIGZ1bmN0aW9uIHdvKCl7Y29uc3QgZT1Ybig2NCksdD1YbigzMiksbj1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsS3IuZW5jb2RlKGUpKTtyZXR1cm57Y2hhbGxlbmdlOm1vKG5ldyBVaW50OEFycmF5KG4pKSxzdGF0ZTp0LHZlcmlmaWVyOmV9fWZ1bmN0aW9uIHZvKGUsdCl7Y29uc3Qgbj1uZXcgVVJMKCIvYXV0aG9yaXplIixlLnNob29CYXNlVXJsKTtyZXR1cm4gbi5zZWFyY2hQYXJhbXMuc2V0KCJjbGllbnRfaWQiLGUuY2xpZW50SWQpLG4uc2VhcmNoUGFyYW1zLnNldCgicmVkaXJlY3RfdXJpIixlLnJlZGlyZWN0VXJpKSxuLnNlYXJjaFBhcmFtcy5zZXQoInN0YXRlIix0LnN0YXRlKSxuLnNlYXJjaFBhcmFtcy5zZXQoImNvZGVfY2hhbGxlbmdlIix0LmNoYWxsZW5nZSksbi5zZWFyY2hQYXJhbXMuc2V0KCJjb2RlX2NoYWxsZW5nZV9tZXRob2QiLCJTMjU2Iiksbi5zZWFyY2hQYXJhbXMuc2V0KCJwaWkiLCJ0cnVlIiksbi50b1N0cmluZygpfWZ1bmN0aW9uIGJvKGUsdCxuKXtjb25zdCBvPXp0KCk7aWYobyl0cnl7by5zZXRJdGVtKGt0LEpTT04uc3RyaW5naWZ5KHtleHBpcmVzSW46bixyZWNlaXZlZEF0OkRhdGUubm93KCksdG9rZW46dCx1c2VySWQ6ZX0pKX1jYXRjaHt9fWZ1bmN0aW9uIEV0KCl7Y29uc3QgZT16dCgpO2lmKGUpdHJ5e2UucmVtb3ZlSXRlbShrdCksZS5yZW1vdmVJdGVtKHhuKX1jYXRjaHt9fWZ1bmN0aW9uIFV0KCl7Y29uc3QgZT16bigpO2lmKGUpdHJ5e2UucmVtb3ZlSXRlbShTdCl9Y2F0Y2h7fX1mdW5jdGlvbiBRbihlPXdpbmRvdy5sb2NhdGlvbi5ocmVmKXtjb25zdCB0PW5ldyBVUkwoZSksbj10LnNlYXJjaFBhcmFtcy5nZXQoImNvZGUiKSxvPXQuc2VhcmNoUGFyYW1zLmdldCgic3RhdGUiKTtyZXR1cm4hbnx8IW8/bnVsbDp7Y29kZTpuLHN0YXRlOm99fWZ1bmN0aW9uIGtvKGU9d2luZG93LmxvY2F0aW9uLmhyZWYpe2NvbnN0IHQ9bmV3IFVSTChlKTt0LnNlYXJjaFBhcmFtcy5kZWxldGUoImNvZGUiKSx0LnNlYXJjaFBhcmFtcy5kZWxldGUoInN0YXRlIiksdC5zZWFyY2hQYXJhbXMuZGVsZXRlKCJlcnJvciIpLHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSwiIix0LnRvU3RyaW5nKCkpfWZ1bmN0aW9uIHhvKCl7Y29uc3QgZT1SZSh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh4dCkpO3JldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSh4dCksZX1hc3luYyBmdW5jdGlvbiBTbyh7Y29kZTplLGNvZGVWZXJpZmllcjp0LG9wdGlvbnM6bn0pe2NvbnN0IG89bmV3IFVSTFNlYXJjaFBhcmFtcyh7Y2xpZW50X2lkOm4uY2xpZW50SWQsY29kZTplLGNvZGVfdmVyaWZpZXI6dCxncmFudF90eXBlOiJhdXRob3JpemF0aW9uX2NvZGUiLHJlZGlyZWN0X3VyaTpuLnJlZGlyZWN0VXJpfSkscz1hd2FpdCBmZXRjaChuZXcgVVJMKCIvdG9rZW4iLG4uc2hvb0Jhc2VVcmwpLHtib2R5Om8saGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9LG1ldGhvZDoiUE9TVCJ9KTtpZighcy5vayl7Y29uc3QgaT1hd2FpdCBzLnRleHQoKTt0aHJvdyBuZXcgRXJyb3IoYEdvb2dsZSBzaWduLWluIHRva2VuIGV4Y2hhbmdlIGZhaWxlZCAoJHtzLnN0YXR1c30pOiAke2l8fCJubyBkZXRhaWxzIn1gKX1yZXR1cm4gcy5qc29uKCl9YXN5bmMgZnVuY3Rpb24gQ28oKXtjb25zdCBlPVFuKCk7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD13aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShqZSksbj10P010KHQpOm51bGw7aWYoIW4/LnN0YXRlfHwhbj8udmVyaWZpZXIpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIEdvb2dsZSBzaWduLWluIHZlcmlmaWVyLiBTdGFydCBzaWduLWluIGFnYWluLiIpO2lmKHR5cGVvZiBuLmNyZWF0ZWRBdD09Im51bWJlciImJkRhdGUubm93KCktbi5jcmVhdGVkQXQ+anIpdGhyb3cgd2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oamUpLG5ldyBFcnJvcigiR29vZ2xlIHNpZ24taW4gdmVyaWZpZXIgZXhwaXJlZC4gU3RhcnQgc2lnbi1pbiBhZ2Fpbi4iKTtpZihuLnN0YXRlIT09ZS5zdGF0ZSl0aHJvdyBuZXcgRXJyb3IoIkdvb2dsZSBzaWduLWluIHN0YXRlIG1pc21hdGNoLiIpO2NvbnN0IG89WW4oKSxzPWF3YWl0IFNvKHtjb2RlOmUuY29kZSxjb2RlVmVyaWZpZXI6bi52ZXJpZmllcixvcHRpb25zOm99KTtpZighcz8uaWRfdG9rZW58fCFzPy5wYWlyd2lzZV9zdWIpdGhyb3cgbmV3IEVycm9yKCJHb29nbGUgc2lnbi1pbiB0b2tlbiByZXNwb25zZSB3YXMgbWlzc2luZyBpZGVudGl0eSBjbGFpbXMuIik7Ym8ocy5wYWlyd2lzZV9zdWIscy5pZF90b2tlbixzLmV4cGlyZXNfaW4pLFV0KCksd2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oamUpO2NvbnN0IGk9QW4ocy5pZF90b2tlbik7aSYmKE1lKGhlKGksITApKSxMZSgpKTtjb25zdCBjPXhvKCk/P1J0KCk7cmV0dXJuIGtvKCksd2luZG93LmxvY2F0aW9uLnJlcGxhY2UoYyksc31mdW5jdGlvbiBJbyhlKXtjb25zdCB0PVllKGUudG9rZW4pO3JldHVybltlLnVzZXJJZCx0Py5qdGksdD8uZXhwXS5maWx0ZXIoQm9vbGVhbikuam9pbigiOiIpfHxlLnRva2VufWZ1bmN0aW9uIFBvKCl7aWYodHlwZW9mIHdpbmRvdz4idSJ8fENuKCl8fFFuKCkpcmV0dXJuITE7Y29uc3QgZT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2lmKGUuaGFzKCJlcnJvciIpfHx3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU9PT1LbigpfHxlLmhhcygibGFrZWJlZF9ndWVzdCIpfHxlLmhhcygiZ3Vlc3QiKSlyZXR1cm4hMTtjb25zdCB0PU1uKHthbGxvd0V4cGlyZWQ6ITB9KTtpZighdC50b2tlbnx8IXQuZXhwaXJlZClyZXR1cm4hMTtjb25zdCBuPVllKHQudG9rZW4pO2lmKCFuPy5wYWlyd2lzZV9zdWImJiFuPy5zdWIpcmV0dXJuIEV0KCksITE7Y29uc3Qgbz16bigpLHM9SW8odCk7dHJ5e2lmKG8/LmdldEl0ZW0oU3QpPT09cylyZXR1cm4hMTtvPy5zZXRJdGVtKFN0LHMpfWNhdGNoe31yZXR1cm4gSW4oITApLE1lKGhlKEtlKHFlKCkpLCEwKSksTGUoKSxlcih7cmV0dXJuVG86cW4oKX0pLmNhdGNoKGk9Pntjb25zb2xlLmVycm9yKCJbbGFrZWJlZF0gR29vZ2xlIHNlc3Npb24gcmVzdW1lIGZhaWxlZCIsaSksSW4oITEpLEV0KCksVXQoKSxNZShoZShLZShxZSgpKSwhMSkpLExlKCksVm4oKX0pLCEwfWZ1bmN0aW9uIFpuKCl7cmV0dXJuIE90P1Byb21pc2UucmVzb2x2ZSgpOlBvKCk/KE90PSEwLFByb21pc2UucmVzb2x2ZSgpKTooam4/Pz1DbygpLnRoZW4oKCk9Pnt9KS5jYXRjaChlPT57Y29uc29sZS5lcnJvcigiW2xha2ViZWRdIEdvb2dsZSBzaWduLWluIGZhaWxlZCIsZSl9KS5maW5hbGx5KCgpPT57T3Q9ITB9KSxqbil9ZnVuY3Rpb24gem8oKXtjb25zdFtlLHRdPVAocXIoKSk7cmV0dXJuIENlKCgpPT4oWm4oKSxPZSgpLFlyKHQpLCgpPT57WHIodCl9KSxbXSksZX1hc3luYyBmdW5jdGlvbiBlcihlPXt9KXtjb25zdCB0PVluKGUpLG49YXdhaXQgd28oKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShqZSxKU09OLnN0cmluZ2lmeSh7Y3JlYXRlZEF0OkRhdGUubm93KCksc3RhdGU6bi5zdGF0ZSx2ZXJpZmllcjpuLnZlcmlmaWVyfSkpLHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHh0LFJlKHQucmV0dXJuVG8pPT09dC5jYWxsYmFja1BhdGg/UnQoKTpSZSh0LnJldHVyblRvKT8/UnQoKSk7Y29uc3Qgbz12byh0LG4pO3JldHVybiB3aW5kb3cubG9jYXRpb24uYXNzaWduKG8pLHtidW5kbGU6bix1cmw6b319ZnVuY3Rpb24gTW8oKXtFdCgpLFV0KCksTWUoaGUoS2UocWUoKSksITApKSxMZSgpLFZuKCl9ZnVuY3Rpb24gTG8oe2NoaWxkcmVuOmU9IlNpZ24gaW4gd2l0aCBHb29nbGUiLGNsYXNzTmFtZTp0PSIiLGNsaWVudElkOm4sY2FsbGJhY2tQYXRoOm8sZGlzYWJsZWQ6cyxvbkNsaWNrOmkscmVkaXJlY3RVcmk6YyxyZXF1ZXN0UGlpOmgscmVxdWVzdFByb2ZpbGU6ZCxyZXR1cm5UbzpmLHNob29CYXNlVXJsOmcsdHlwZTpsPSJidXR0b24iLC4uLm19PXt9KXtyZXR1cm4geXQoImJ1dHRvbiIse2NsYXNzTmFtZTp0LGRpc2FibGVkOnMsb25DbGljazp5PT57aT8uKHkpLCEoeS5kZWZhdWx0UHJldmVudGVkfHxzKSYmZXIoe2NhbGxiYWNrUGF0aDpvLGNsaWVudElkOm4scmVkaXJlY3RVcmk6YyxyZXR1cm5UbzpmLHNob29CYXNlVXJsOmd9KX0sdHlwZTpsLC4uLm19LGUpfXZhciBHbz1rbihudWxsKSxWbz1rbih7cGFyYW1zOnt9fSk7ZnVuY3Rpb24gdHIoZSl7Y29uc3RbdCxuXT1QKGNvKGUpPz9bXSk7cmV0dXJuIENlKCgpPT4oT2UoKSx1byhlLG4pLHR0KHtvcDoicXVlcnkuc3Vic2NyaWJlIixuYW1lOmV9KSwoKT0+e2ZvKGUsbil9KSxbZV0pLHR9ZnVuY3Rpb24gdWUoZSl7cmV0dXJuKC4uLnQpPT5wbygibXV0YXRpb24ucnVuIix7bmFtZTplLGFyZ3M6dH0pfXZhciBBbz0wO2Z1bmN0aW9uIHUoZSx0LG4sbyxzLGkpe3R8fCh0PXt9KTt2YXIgYyxoLGQ9dDtpZigicmVmImluIGQpZm9yKGggaW4gZD17fSx0KWg9PSJyZWYiP2M9dFtoXTpkW2hdPXRbaF07dmFyIGY9e3R5cGU6ZSxwcm9wczpkLGtleTpuLHJlZjpjLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjotLUFvLF9faTotMSxfX3U6MCxfX3NvdXJjZTpzLF9fc2VsZjppfTtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKGM9ZS5kZWZhdWx0UHJvcHMpKWZvcihoIGluIGMpZFtoXT09PXZvaWQgMCYmKGRbaF09Y1toXSk7cmV0dXJuIHgudm5vZGUmJngudm5vZGUoZiksZn12YXIgej1lPT57Y29uc3QgdD1OdW1iZXIoZSk7cmV0dXJuIGlzRmluaXRlKHQpP3Q6MH0sVHQ9InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiIsWT0iIzY5NjVkYiIsJHQ9IiNlM2UyZmMiLG5yPSIjNGE0N2MyIixObz0iZGF0YTppbWFnZS9zdmcreG1sLCIrZW5jb2RlVVJJQ29tcG9uZW50KCI8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJz48cmVjdCB3aWR0aD0nMzInIGhlaWdodD0nMzInIHJ4PSc3JyBmaWxsPScjNjk2NWRiJy8+PHBhdGggZD0nTTMgMTYuNWwxLjYtNC4yIDcuNi03LjYgMi42IDIuNi03LjYgNy42eicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoNyA1KScgZmlsbD0nI2ZmZicvPjwvc3ZnPiIpLG50PVsiIzFlMWUxZSIsIiNlMDMxMzEiLCIjMmY5ZTQ0IiwiIzE5NzFjMiIsIiNmMDhjMDAiLCIjOWMzNmI1Il0scnQ9WyIjZTllOWVlIiwiI2ZmODc4NyIsIiM2OWRiN2MiLCIjNzRjMGZjIiwiI2ZmZDQzYiIsIiNkYTc3ZjIiXSxycj1bInRyYW5zcGFyZW50IiwiI2ZmYzljOSIsIiNiMmYyYmIiLCIjYTVkOGZmIiwiI2ZmZWM5OSJdLG9yPVsyLDQsN10sT289WyIiLCIjZjhmOWZhIiwiI2ZmZjlkYiIsIiNlN2Y1ZmYiLCIjZmZlM2UzIl0sUm89WyIiLCIjMjAyMDI0IiwiIzFiMWUyYyIsIiMxNjIwMWEiXSxFbz1lPT5lP3twYW5lbDoiIzI2MjYyYiIsbGluZToiIzNhM2E0MiIsaW5rOiIjZTdlN2VhIixzdWI6IiM5YTlhYTIiLHNvZnQ6IiMzMzMzM2IiLGNhbnZhczoiIzE5MTkxZCIsZG90OiIjZmZmZmZmMTQiLHNoYWRvdzoiMCA2cHggMjBweCAtOHB4IHJnYmEoMCwwLDAsMC42NSkifTp7cGFuZWw6IiNmZmZmZmYiLGxpbmU6IiNlOWU5ZWUiLGluazoiIzFlMWUxZSIsc3ViOiIjODY4ZTk2Iixzb2Z0OiIjZjFmM2Y1IixjYW52YXM6IiNmZmZmZmYiLGRvdDoiIzAwMDAwMDBkIixzaGFkb3c6IjAgNHB4IDE4cHggLTZweCByZ2JhKDAsMCwwLDAuMTYpIn0saXI9W3trOiJzZWxlY3QiLGxhYmVsOiJTZWxlY3QiLGtleToiMSJ9LHtrOiJoYW5kIixsYWJlbDoiUGFuIixrZXk6IkgifSx7azoicmVjdCIsbGFiZWw6IlJlY3RhbmdsZSIsa2V5OiIyIn0se2s6ImRpYW1vbmQiLGxhYmVsOiJEaWFtb25kIixrZXk6IjMifSx7azoiZWxsaXBzZSIsbGFiZWw6IkVsbGlwc2UiLGtleToiNCJ9LHtrOiJhcnJvdyIsbGFiZWw6IkFycm93IixrZXk6IjUifSx7azoibGluZSIsbGFiZWw6IkxpbmUiLGtleToiNiJ9LHtrOiJkcmF3IixsYWJlbDoiRHJhdyIsa2V5OiI3In0se2s6InRleHQiLGxhYmVsOiJUZXh0IixrZXk6IjgifV0sRHQ9KGUsdCxuKT0+W3QqTWF0aC5jb3MoZSktbipNYXRoLnNpbihlKSx0Kk1hdGguc2luKGUpK24qTWF0aC5jb3MoZSldLGFyPShlLHQpPT56KGUueikteih0LnopfHwoKGUuY3JlYXRlZEF0fHwiXHVGRkZGIik8KHQuY3JlYXRlZEF0fHwiXHVGRkZGIik/LTE6MSk7ZnVuY3Rpb24gVW8oe2s6ZSxzOnQ9MTh9KXtjb25zdCBuPXt3aWR0aDp0LGhlaWdodDp0LHZpZXdCb3g6IjAgMCAyMCAyMCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJzdHJva2Utd2lkdGgiOjEuNSwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIn07cmV0dXJuIGU9PT0ic2VsZWN0Ij91KCJzdmciLHsuLi5uLGNoaWxkcmVuOnUoInBhdGgiLHtkOiJNNSAzbDExIDYtNC42IDEuMUw5LjQgMTZ6In0pfSk6ZT09PSJoYW5kIj91KCJzdmciLHsuLi5uLGNoaWxkcmVuOnUoInBhdGgiLHtkOiJNNyAxMFY1LjJhMS4xIDEuMSAwIDAgMSAyLjIgMFY5bTAtLjVWNC40YTEuMSAxLjEgMCAwIDEgMi4yIDBWOW0wLS40VjUuNGExLjEgMS4xIDAgMCAxIDIuMiAwVjEyYzAgMi42LTEuOCA0LjUtNC4zIDQuNS0xLjYgMC0yLjYtLjctMy40LTEuOUw0IDExLjNhMS4xIDEuMSAwIDAgMSAxLjgtMS4yTDcgMTEuNSJ9KX0pOmU9PT0icmVjdCI/dSgic3ZnIix7Li4ubixjaGlsZHJlbjp1KCJyZWN0Iix7eDoiMy41Iix5OiI0LjgiLHdpZHRoOiIxMyIsaGVpZ2h0OiIxMC40IixyeDoiMS41In0pfSk6ZT09PSJkaWFtb25kIj91KCJzdmciLHsuLi5uLGNoaWxkcmVuOnUoInBhdGgiLHtkOiJNMTAgMy41bDYuMyA2LjVMMTAgMTYuNSAzLjcgMTB6In0pfSk6ZT09PSJlbGxpcHNlIj91KCJzdmciLHsuLi5uLGNoaWxkcmVuOnUoImNpcmNsZSIse2N4OiIxMCIsY3k6IjEwIixyOiI2LjQifSl9KTplPT09ImFycm93Ij91KCJzdmciLHsuLi5uLGNoaWxkcmVuOnUoInBhdGgiLHtkOiJNNCAxNC41TDE1LjUgNU0xNS41IDVoLTUuMk0xNS41IDV2NS4yIn0pfSk6ZT09PSJsaW5lIj91KCJzdmciLHsuLi5uLGNoaWxkcmVuOnUoInBhdGgiLHtkOiJNNC41IDE1TDE1LjUgNSJ9KX0pOmU9PT0iZHJhdyI/dSgic3ZnIix7Li4ubixjaGlsZHJlbjp1KCJwYXRoIix7ZDoiTTMgMTYuNWwxLjYtNC4yIDcuNi03LjYgMi42IDIuNi03LjYgNy42eiJ9KX0pOmU9PT0idGV4dCI/dSgic3ZnIix7Li4ubixjaGlsZHJlbjp1KCJwYXRoIix7ZDoiTTUgNlY0LjZoMTBWNk0xMCA0LjZWMTZNOCAxNmg0In0pfSk6bnVsbH1hc3luYyBmdW5jdGlvbiBzcihlKXt0cnl7Y29uc3QgdD1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGUpKTtyZXR1cm5bLi4ubmV3IFVpbnQ4QXJyYXkodCldLm1hcChuPT5uLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpLmpvaW4oIiIpfWNhdGNoe3JldHVybiJwbGFpbjoiK2V9fWZ1bmN0aW9uIFRvKGUsdD0xLjQpe2lmKGUubGVuZ3RoPD0yKXJldHVybiBlO2NvbnN0IG49dCp0LG89bmV3IEFycmF5KGUubGVuZ3RoKS5maWxsKCExKTtvWzBdPW9bZS5sZW5ndGgtMV09ITA7Y29uc3Qgcz1bWzAsZS5sZW5ndGgtMV1dO2Zvcig7cy5sZW5ndGg7KXtjb25zdFtpLGNdPXMucG9wKCk7bGV0IGg9LTEsZD0tMTtmb3IobGV0IGY9aSsxO2Y8YztmKyspe2NvbnN0IGc9JG8oZVtmXSxlW2ldLGVbY10pO2c+aCYmKGg9ZyxkPWYpfWg+biYmZD4tMSYmKG9bZF09ITAscy5wdXNoKFtpLGRdLFtkLGNdKSl9cmV0dXJuIGUuZmlsdGVyKChpLGMpPT5vW2NdKX1mdW5jdGlvbiAkbyhlLHQsbil7bGV0IG89dFswXSxzPXRbMV0saT1uWzBdLW8sYz1uWzFdLXM7aWYoaXx8Yyl7Y29uc3QgaD0oKGVbMF0tbykqaSsoZVsxXS1zKSpjKS8oaSppK2MqYyk7aD4xPyhvPW5bMF0scz1uWzFdKTpoPjAmJihvKz1pKmgscys9YypoKX1yZXR1cm4oZVswXS1vKSoqMisoZVsxXS1zKSoqMn1mdW5jdGlvbiBYKGUpe2lmKGUudHlwZT09PSJkcmF3Inx8ZS50eXBlPT09ImxpbmUifHxlLnR5cGU9PT0iYXJyb3ciKXtjb25zdCBpPUpTT04ucGFyc2UoZS5wb2ludHN8fCJbXSIpO2lmKCFpLmxlbmd0aClyZXR1cm57eDp6KGUueCkseTp6KGUueSksdzp6KGUudyksaDp6KGUuaCl9O2NvbnN0IGM9aS5tYXAoZz0+Z1swXSksaD1pLm1hcChnPT5nWzFdKSxkPU1hdGgubWluKC4uLmMpLGY9TWF0aC5taW4oLi4uaCk7cmV0dXJue3g6ZCx5OmYsdzpNYXRoLm1heCguLi5jKS1kLGg6TWF0aC5tYXgoLi4uaCktZn19bGV0IHQ9eihlLngpLG49eihlLnkpLG89eihlLncpLHM9eihlLmgpO3JldHVybiBvPDAmJih0Kz1vLG89LW8pLHM8MCYmKG4rPXMscz0tcykse3g6dCx5Om4sdzpvLGg6c319dmFyIG90PWU9PltlLnR5cGUsZS54LGUueSxlLncsZS5oLGUucG9pbnRzLGUuY29sb3IsZS5zdHJva2VXaWR0aCxlLnRleHQsZS5maWxsLGUucm90YXRpb24sZS56XS5qb2luKCJ8Iik7ZnVuY3Rpb24gbHIoe3M6ZX0pe2NvbnN0IHQ9ZS5jb2xvcnx8IiM4ODgiLG49eihlLnN0cm9rZVdpZHRoKXx8MixvPWUuZmlsbCYmZS5maWxsIT09InRyYW5zcGFyZW50Ij9lLmZpbGw6Im5vbmUiLHM9e3N0cm9rZTp0LCJzdHJva2Utd2lkdGgiOm4sZmlsbDpvLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIiwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQifTtsZXQgaT1udWxsO2lmKGUudHlwZT09PSJyZWN0Iil7Y29uc3QgZD1YKGUpO2k9dSgicmVjdCIse3g6ZC54LHk6ZC55LHdpZHRoOmQudyxoZWlnaHQ6ZC5oLHJ4Ok1hdGgubWluKDUsZC53LzEyLGQuaC8xMiksLi4uc30pfWVsc2UgaWYoZS50eXBlPT09ImVsbGlwc2UiKXtjb25zdCBkPVgoZSk7aT11KCJlbGxpcHNlIix7Y3g6ZC54K2Qudy8yLGN5OmQueStkLmgvMixyeDpkLncvMixyeTpkLmgvMiwuLi5zfSl9ZWxzZSBpZihlLnR5cGU9PT0iZGlhbW9uZCIpe2NvbnN0IGQ9WChlKTtpPXUoInBvbHlnb24iLHtwb2ludHM6YCR7ZC54K2Qudy8yfSwke2QueX0gJHtkLngrZC53fSwke2QueStkLmgvMn0gJHtkLngrZC53LzJ9LCR7ZC55K2QuaH0gJHtkLnh9LCR7ZC55K2QuaC8yfWAsLi4uc30pfWVsc2UgaWYoZS50eXBlPT09ImRyYXciKXtjb25zdCBkPUpTT04ucGFyc2UoZS5wb2ludHN8fCJbXSIpO2k9dSgicG9seWxpbmUiLHtwb2ludHM6ZC5tYXAoZj0+Zi5qb2luKCIsIikpLmpvaW4oIiAiKSwuLi5zLGZpbGw6Im5vbmUifSl9ZWxzZSBpZihlLnR5cGU9PT0ibGluZSJ8fGUudHlwZT09PSJhcnJvdyIpe2NvbnN0IGQ9SlNPTi5wYXJzZShlLnBvaW50c3x8IltdIik7aWYoZC5sZW5ndGg8MilyZXR1cm4gbnVsbDtjb25zdCBmPWRbMF0sZz1kW2QubGVuZ3RoLTFdLGw9KCk9Pntjb25zdCBtPU1hdGguYXRhbjIoZ1sxXS1mWzFdLGdbMF0tZlswXSkseT05K24qMS40O3JldHVybmAke2dbMF0teSpNYXRoLmNvcyhtLS41KX0sJHtnWzFdLXkqTWF0aC5zaW4obS0uNSl9ICR7Z1swXX0sJHtnWzFdfSAke2dbMF0teSpNYXRoLmNvcyhtKy41KX0sJHtnWzFdLXkqTWF0aC5zaW4obSsuNSl9YH07aT11KCJnIix7Y2hpbGRyZW46W3UoInBvbHlsaW5lIix7cG9pbnRzOmQubWFwKG09Pm0uam9pbigiLCIpKS5qb2luKCIgIiksLi4ucyxmaWxsOiJub25lIn0pLGUudHlwZT09PSJhcnJvdyImJnUoInBvbHlsaW5lIix7cG9pbnRzOmwoKSxzdHJva2U6dCwic3Ryb2tlLXdpZHRoIjpuLGZpbGw6Im5vbmUiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIiwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQifSldfSl9ZWxzZSBlLnR5cGU9PT0idGV4dCImJihpPXUoInRleHQiLHt4OnooZS54KSx5OnooZS55KStNYXRoLm1heCgxNixuKjcpLGZpbGw6dCwiZm9udC1zaXplIjpNYXRoLm1heCgxNixuKjcpLCJmb250LWZhbWlseSI6VHQsc3R5bGU6e3doaXRlU3BhY2U6InByZSJ9LGNoaWxkcmVuOmUudGV4dH0pKTtpZihpPT09bnVsbClyZXR1cm4gbnVsbDtjb25zdCBjPXooZS5yb3RhdGlvbik7aWYoIWMpcmV0dXJuIGk7Y29uc3QgaD1YKGUpO3JldHVybiB1KCJnIix7dHJhbnNmb3JtOmByb3RhdGUoJHtjfSAke2gueCtoLncvMn0gJHtoLnkraC5oLzJ9KWAsY2hpbGRyZW46aX0pfWZ1bmN0aW9uIERvKCl7Y29uc3QgZT10cigic2hhcGVzIiksdD10cigicm9vbSIpLG49em8oKSxvPXVlKCJhZGRTaGFwZSIpLHM9dWUoInVwZGF0ZVNoYXBlIiksaT11ZSgiZGVsZXRlU2hhcGUiKSxjPXVlKCJ1bmRvIiksaD11ZSgicmVkbyIpLGQ9dWUoImNsYWltIiksZj11ZSgic2V0RHJhd0xvY2siKSxnPXVlKCJzZXRWaWV3TG9jayIpLGw9dCYmdFswXSxtPSEobCYmbC5vd25lcklkKSx5PSEhKGwmJmwub3duZXJJZCYmbC5vd25lcklkPT09bi51c2VySWQpLFM9ISEobCYmbC5kcmF3TG9jayksRT0hIShsJiZsLnZpZXdMb2NrKSxNPXR5cGVvZiBsb2NhbFN0b3JhZ2U8InUiJiZsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2ItZGFyayIpPT09IjEiLFtiLGtdPVAoTSksW0csal09UCgiIiksW1osVWVdPVAoITApLFtkZSx5ZV09UCghMSksW0MsS109UCgic2VsZWN0IiksW3EsaXRdPVAoTT9ydFswXTpudFswXSksW29lLEZ0XT1QKHJyWzBdKSxbaWUsX3JdPVAob3JbMV0pLFthZSxmZV09UChudWxsKSxbTixtZV09UCh7eDotMjAwLHk6LTE1MCx6b29tOjF9KSxbRixUXT1QKG51bGwpLFtCdCxKdF09UChbXSksW0llLEd0XT1QKHt9KSxbJCxUZV09UChudWxsKSxbaHIscHJdPVAoIiIpLFtWdCxncl09UCgiIiksW2p0LEt0XT1QKCIiKSxbX2UseXJdPVAoKCk9PnR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cuaW5uZXJXaWR0aDw3NjApLFtxdCxtcl09UCgoKT0+KHt3OnR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdy5pbm5lcldpZHRoOjEyODAsaDp0eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3cuaW5uZXJIZWlnaHQ6ODAwfSkpLGF0PVFlKG51bGwpLFU9UWUobnVsbCksc3Q9UWUoTik7c3QuY3VycmVudD1OO2NvbnN0IHdyPVFlKDApLGVlPUVvKGIpLFl0PUd8fGVlLmNhbnZhcyx2cj1iP3J0Om50LGJyPWI/Um86T28sc2U9IWx8fCFTfHx5LGx0PW18fHksd2U9eXx8IUV8fCEhbD8udmlld0hhc2gmJmhyPT09bC52aWV3SGFzaCx2ZT1yPT57S3Qociksc2V0VGltZW91dCgoKT0+S3QoIiIpLDJlMyl9LFh0PU9iamVjdC5rZXlzKEllKS5sZW5ndGg+MD9lLm1hcChyPT5JZVtyLmlkXXx8cik6ZSxrcj1CdC5sZW5ndGg/Wy4uLlh0LC4uLkJ0XTpYdDtDZSgoKT0+e0p0KHI9PntpZighci5sZW5ndGgpcmV0dXJuIHI7Y29uc3QgYT1uZXcgU2V0KGUubWFwKG90KSksXz1yLmZpbHRlcihwPT4hYS5oYXMob3QocCkpKTtyZXR1cm4gXy5sZW5ndGg9PT1yLmxlbmd0aD9yOl99KSxHdChyPT57Y29uc3QgYT1PYmplY3Qua2V5cyhyKTtpZighYS5sZW5ndGgpcmV0dXJuIHI7bGV0IF89ITE7Y29uc3QgcD17fTtmb3IoY29uc3QgdyBvZiBhKXtjb25zdCB2PWUuZmluZChXPT5XLmlkPT09dyk7aWYoIXZ8fG90KHYpPT09b3Qoclt3XSkpe189ITA7Y29udGludWV9cFt3XT1yW3ddfXJldHVybiBfP3A6cn0pfSxbZV0pO2Z1bmN0aW9uIGN0KHIpe0p0KGE9PlsuLi5hLHsuLi5yLGlkOiJwZW5kLSIrd3IuY3VycmVudCsrLGNyZWF0ZWRCeToiIixjcmVhdGVkQXQ6IiJ9XSksbyhKU09OLnN0cmluZ2lmeSh7c2hhcGU6cn0pKX1mdW5jdGlvbiBWKHIpe3RyeXtjb25zdHtpZDphLHBhdGNoOl99PUpTT04ucGFyc2UocikscD1JZVthXXx8ZS5maW5kKHc9PncuaWQ9PT1hKTtwJiZHdCh3PT4oey4uLncsW2FdOnsuLi5wLC4uLl8saWQ6YX19KSl9Y2F0Y2h7fXMocil9Q2UoKCk9Pntjb25zdCByPSgpPT57eXIod2luZG93LmlubmVyV2lkdGg8NzYwKSxtcih7dzp3aW5kb3cuaW5uZXJXaWR0aCxoOndpbmRvdy5pbm5lckhlaWdodH0pfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsciksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHIpfSxbXSksQ2UoKCk9PntsZXQgcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJsaW5rW3JlbD0naWNvbiddIik7cnx8KHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpLHIucmVsPSJpY29uIixkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHIpKSxyLnR5cGU9ImltYWdlL3N2Zyt4bWwiLHIuaHJlZj1Ob30sW10pO2Z1bmN0aW9uIFF0KHIpe2socik7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3Yi1kYXJrIixyPyIxIjoiIil9Y2F0Y2h7fWooIiIpLGl0KGE9PmE9PT0ocj9udDpydClbMF0/KHI/cnQ6bnQpWzBdOmEpfWZ1bmN0aW9uIFp0KHIpe2NvbnN0IGE9YXQuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxfPXN0LmN1cnJlbnQ7cmV0dXJuW18ueCsoci5jbGllbnRYLWEubGVmdCkvYS53aWR0aCooYS53aWR0aC9fLnpvb20pLF8ueSsoci5jbGllbnRZLWEudG9wKS9hLmhlaWdodCooYS5oZWlnaHQvXy56b29tKV19ZnVuY3Rpb24geHIocil7Y29uc3QgYT1lLm1hcChfPT5JZVtfLmlkXXx8Xykuc29ydChhcik7Zm9yKGxldCBfPWEubGVuZ3RoLTE7Xz49MDtfLS0pe2NvbnN0IHA9YVtfXSx3PVgocCksdj02K3oocC5zdHJva2VXaWR0aCksVz16KHAucm90YXRpb24pO2xldCBSPXI7aWYoVyl7Y29uc3QgbmU9dy54K3cudy8yLEI9dy55K3cuaC8yLEo9LVcqTWF0aC5QSS8xODAsSD1EdChKLHJbMF0tbmUsclsxXS1CKTtSPVtuZStIWzBdLEIrSFsxXV19aWYoUlswXT49dy54LXYmJlJbMF08PXcueCt3LncrdiYmUlsxXT49dy55LXYmJlJbMV08PXcueSt3LmgrdilyZXR1cm4gcH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcihyLGEsXyl7ci5zdG9wUHJvcGFnYXRpb24oKSxmZShhLmlkKSxVLmN1cnJlbnQ9e21vZGU6InJlc2l6ZSIsaWQ6YS5pZCxiYXNlOmEsYjA6WChhKSxyb3Q6eihhLnJvdGF0aW9uKSpNYXRoLlBJLzE4MCxjb3JuZXI6X319ZnVuY3Rpb24gQ3IocixhLF8pe3Iuc3RvcFByb3BhZ2F0aW9uKCksZmUoYS5pZCksVS5jdXJyZW50PXttb2RlOiJyZXNpemVEcmF3IixpZDphLmlkLGJhc2U6YSxiMDpYKGEpLHB0czA6SlNPTi5wYXJzZShhLnBvaW50c3x8IltdIiksY29ybmVyOl99fWZ1bmN0aW9uIElyKHIsYSl7ci5zdG9wUHJvcGFnYXRpb24oKSxmZShhLmlkKTtjb25zdCBfPVgoYSk7VS5jdXJyZW50PXttb2RlOiJyb3RhdGUiLGlkOmEuaWQsYmFzZTphLGNlbnRlcjpbXy54K18udy8yLF8ueStfLmgvMl19fWZ1bmN0aW9uIFByKHIsYSxfKXtyLnN0b3BQcm9wYWdhdGlvbigpLGZlKGEuaWQpLFUuY3VycmVudD17bW9kZToiZW5kcG9pbnQiLGlkOmEuaWQsYmFzZTphLHB0czA6SlNPTi5wYXJzZShhLnBvaW50c3x8IltdIiksaWR4Ol99fWZ1bmN0aW9uIHpyKHIpe2lmKCR8fCF3ZSlyZXR1cm47ZGUmJnllKCExKSxyLnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZT8uKHIucG9pbnRlcklkKTtjb25zdCBhPVp0KHIpO2lmKEM9PT0iaGFuZCJ8fHIuYnV0dG9uPT09MXx8VS5jdXJyZW50Py5zcGFjZSl7VS5jdXJyZW50PXttb2RlOiJwYW4iLHN4OnIuY2xpZW50WCxzeTpyLmNsaWVudFksb3g6Ti54LG95Ok4ueX07cmV0dXJufWlmKEM9PT0ic2VsZWN0Iil7Y29uc3QgXz14cihhKTtmZShfP18uaWQ6bnVsbCksXyYmc2UmJihVLmN1cnJlbnQ9e21vZGU6Im1vdmUiLGlkOl8uaWQsc3RhcnQ6YSxiYXNlOl99KTtyZXR1cm59aWYoIXNlKXt2ZSgiVGhpcyBib2FyZCBpcyBzZXQgdG8gdmlldy1vbmx5Iik7cmV0dXJufWlmKEM9PT0idGV4dCIpe1RlKHtpZDpudWxsLHg6YVswXSx5OmFbMV0sdmFsdWU6IiJ9KTtyZXR1cm59aWYoQz09PSJkcmF3Iil7VS5jdXJyZW50PXttb2RlOiJkcmF3IixwdHM6W2FdfSxUKGZyKCJkcmF3IixbYV0scSxpZSxvZSkpO3JldHVybn1VLmN1cnJlbnQ9e21vZGU6ImNyZWF0ZSIsdHlwZTpDLHN0YXJ0OmF9LFQoZHIoQyxhLGEscSxpZSxvZSkpfWZ1bmN0aW9uIE1yKHIpe2NvbnN0IGE9VS5jdXJyZW50O2lmKCFhKXJldHVybjtpZihhLm1vZGU9PT0icGFuIil7bWUocD0+KHsuLi5wLHg6YS5veC0oci5jbGllbnRYLWEuc3gpL3Auem9vbSx5OmEub3ktKHIuY2xpZW50WS1hLnN5KS9wLnpvb219KSk7cmV0dXJufWNvbnN0IF89WnQocik7aWYoYS5tb2RlPT09ImRyYXciKXthLnB0cy5wdXNoKF8pLFQoZnIoImRyYXciLGEucHRzLHEsaWUsb2UpKTtyZXR1cm59aWYoYS5tb2RlPT09ImNyZWF0ZSIpe1QoZHIoYS50eXBlLGEuc3RhcnQsXyxxLGllLG9lKSk7cmV0dXJufWlmKGEubW9kZT09PSJtb3ZlIil7VChGbyhhLmJhc2UsX1swXS1hLnN0YXJ0WzBdLF9bMV0tYS5zdGFydFsxXSkpO3JldHVybn1pZihhLm1vZGU9PT0icmVzaXplIil7Y29uc3QgcD1hLmIwLHc9cC54K3Audy8yLHY9cC55K3AuaC8yLFtXLFJdPWEuY29ybmVyLG5lPUR0KGEucm90LC1XKnAudy8yLC1SKnAuaC8yKSxCPVt3K25lWzBdLHYrbmVbMV1dLEo9RHQoLWEucm90LF9bMF0tQlswXSxfWzFdLUJbMV0pLEg9TWF0aC5tYXgoOCxNYXRoLmFicyhKWzBdKSksYmU9TWF0aC5tYXgoOCxNYXRoLmFicyhKWzFdKSksa2U9WyhCWzBdK19bMF0pLzIsKEJbMV0rX1sxXSkvMl07VCh7Li4uYS5iYXNlLGlkOiJkcmFmdCIseDpTdHJpbmcoa2VbMF0tSC8yKSx5OlN0cmluZyhrZVsxXS1iZS8yKSx3OlN0cmluZyhIKSxoOlN0cmluZyhiZSl9KTtyZXR1cm59aWYoYS5tb2RlPT09InJlc2l6ZURyYXciKXtjb25zdCBwPWEuYjAsW3csdl09YS5jb3JuZXIsVz13PDA/cC54K3AudzpwLngsUj12PDA/cC55K3AuaDpwLnksbmU9dzwwP3AueDpwLngrcC53LEI9djwwP3AueTpwLnkrcC5oO2xldCBKPShfWzBdLVcpLyhuZS1XfHwxKSxIPShfWzFdLVIpLyhCLVJ8fDEpO01hdGguYWJzKEopPC4wNSYmKEo9SjwwPy0uMDU6LjA1KSxNYXRoLmFicyhIKTwuMDUmJihIPUg8MD8tLjA1Oi4wNSk7Y29uc3QgYmU9YS5wdHMwLm1hcChrZT0+W1crKGtlWzBdLVcpKkosUisoa2VbMV0tUikqSF0pO1Qoey4uLmEuYmFzZSxpZDoiZHJhZnQiLHBvaW50czpKU09OLnN0cmluZ2lmeShiZSl9KTtyZXR1cm59aWYoYS5tb2RlPT09InJvdGF0ZSIpe2xldCBwPU1hdGguYXRhbjIoX1sxXS1hLmNlbnRlclsxXSxfWzBdLWEuY2VudGVyWzBdKSoxODAvTWF0aC5QSSs5MDtyLnNoaWZ0S2V5JiYocD1NYXRoLnJvdW5kKHAvMTUpKjE1KSxwPShNYXRoLnJvdW5kKHApJTM2MCszNjApJTM2MCxUKHsuLi5hLmJhc2UsaWQ6ImRyYWZ0Iixyb3RhdGlvbjpTdHJpbmcocCl9KTtyZXR1cm59aWYoYS5tb2RlPT09ImVuZHBvaW50Iil7Y29uc3QgcD1hLnB0czAuc2xpY2UoKTtwW2EuaWR4XT1fLFQoey4uLmEuYmFzZSxpZDoiZHJhZnQiLHBvaW50czpKU09OLnN0cmluZ2lmeShwKX0pO3JldHVybn19ZnVuY3Rpb24gTHIoKXtjb25zdCByPVUuY3VycmVudDtpZihVLmN1cnJlbnQ9bnVsbCwhIXIpe2lmKHIubW9kZT09PSJkcmF3Iil7Y29uc3QgYT1UbyhyLnB0cyk7VChudWxsKSxhLmxlbmd0aD49MiYmY3Qoe3R5cGU6ImRyYXciLHBvaW50czpKU09OLnN0cmluZ2lmeShhKSxjb2xvcjpxLHN0cm9rZVdpZHRoOlN0cmluZyhpZSkseDoiMCIseToiMCIsdzoiMCIsaDoiMCIsdGV4dDoiIixmaWxsOiIiLHJvdGF0aW9uOiIwIix6OiIwIn0pO3JldHVybn1pZihyLm1vZGU9PT0iY3JlYXRlIil7Y29uc3QgYT1GO2lmKFQobnVsbCksYSl7Y29uc3QgXz1YKGEpOyhfLnc+NHx8Xy5oPjR8fGEudHlwZT09PSJsaW5lInx8YS50eXBlPT09ImFycm93IikmJmN0KEhvKGEpKX1yZXR1cm59aWYoci5tb2RlPT09Im1vdmUiKXtjb25zdCBhPUY7VChudWxsKSxhJiZWKEpTT04uc3RyaW5naWZ5KHtpZDpyLmlkLHBhdGNoOmEudHlwZT09PSJkcmF3Inx8YS50eXBlPT09ImxpbmUifHxhLnR5cGU9PT0iYXJyb3ciP3twb2ludHM6YS5wb2ludHN9Ont4OmEueCx5OmEueX19KSk7cmV0dXJufWlmKHIubW9kZT09PSJyZXNpemUifHxyLm1vZGU9PT0icmVzaXplRHJhdyIpe2NvbnN0IGE9RjtUKG51bGwpLGEmJlYoSlNPTi5zdHJpbmdpZnkoe2lkOnIuaWQscGF0Y2g6ci5tb2RlPT09InJlc2l6ZSI/e3g6YS54LHk6YS55LHc6YS53LGg6YS5ofTp7cG9pbnRzOmEucG9pbnRzfX0pKTtyZXR1cm59aWYoci5tb2RlPT09InJvdGF0ZSIpe2NvbnN0IGE9RjtUKG51bGwpLGEmJlYoSlNPTi5zdHJpbmdpZnkoe2lkOnIuaWQscGF0Y2g6e3JvdGF0aW9uOmEucm90YXRpb259fSkpO3JldHVybn1pZihyLm1vZGU9PT0iZW5kcG9pbnQiKXtjb25zdCBhPUY7VChudWxsKSxhJiZWKEpTT04uc3RyaW5naWZ5KHtpZDpyLmlkLHBhdGNoOntwb2ludHM6YS5wb2ludHN9fSkpO3JldHVybn19fWZ1bmN0aW9uIEFyKCl7aWYoISQpcmV0dXJuO2NvbnN0IHI9JC52YWx1ZS5yZXBsYWNlKC9ccyskLywiIik7ciYmKCQuaWQ/VihKU09OLnN0cmluZ2lmeSh7aWQ6JC5pZCxwYXRjaDp7dGV4dDpyfX0pKTpjdCh7dHlwZToidGV4dCIseDpTdHJpbmcoJC54KSx5OlN0cmluZygkLnkpLHc6U3RyaW5nKHIubGVuZ3RoKjkpLGg6IjI2Iixwb2ludHM6IiIsY29sb3I6cSxzdHJva2VXaWR0aDpTdHJpbmcoaWUpLHRleHQ6cixmaWxsOiIiLHJvdGF0aW9uOiIwIix6OiIwIn0pKSxUZShudWxsKSxLKCJzZWxlY3QiKX1mdW5jdGlvbiBlbihyKXtpZighTylyZXR1cm47Y29uc3QgYT1lLm1hcChwPT56KHAueikpLF89cj9NYXRoLm1heCgwLC4uLmEpKzE6TWF0aC5taW4oMCwuLi5hKS0xO1YoSlNPTi5zdHJpbmdpZnkoe2lkOk8uaWQscGF0Y2g6e3o6U3RyaW5nKF8pfX0pKX1DZSgoKT0+e2Z1bmN0aW9uIHIoXyl7aWYoJClyZXR1cm47Y29uc3QgcD1fLnRhcmdldDtpZihwJiYocC50YWdOYW1lPT09IklOUFVUInx8cC50YWdOYW1lPT09IlRFWFRBUkVBIikpcmV0dXJuO2lmKF8uY29kZT09PSJTcGFjZSIpe1UuY3VycmVudD17Li4uVS5jdXJyZW50fHx7fSxzcGFjZTohMH07cmV0dXJufWlmKChfLm1ldGFLZXl8fF8uY3RybEtleSkmJl8ua2V5LnRvTG93ZXJDYXNlKCk9PT0ieiIpe2lmKCFsdClyZXR1cm47Xy5wcmV2ZW50RGVmYXVsdCgpLF8uc2hpZnRLZXk/aCgiIik6YygiIik7cmV0dXJufWlmKChfLmtleT09PSJEZWxldGUifHxfLmtleT09PSJCYWNrc3BhY2UiKSYmYWUmJnNlKXtfLnByZXZlbnREZWZhdWx0KCksaShKU09OLnN0cmluZ2lmeSh7aWQ6YWV9KSksZmUobnVsbCk7cmV0dXJufWNvbnN0IHc9aXIuZmluZCh2PT52LmtleS50b0xvd2VyQ2FzZSgpPT09Xy5rZXkudG9Mb3dlckNhc2UoKSk7dyYmSyh3LmspfWZ1bmN0aW9uIGEoXyl7Xy5jb2RlPT09IlNwYWNlIiYmVS5jdXJyZW50JiYoVS5jdXJyZW50LnNwYWNlPSExKX1yZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHIpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsYSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsciksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIixhKX19LFthZSwkLGx0LHNlXSk7ZnVuY3Rpb24gTnIocil7aWYoci5wcmV2ZW50RGVmYXVsdCgpLHIuY3RybEtleXx8ci5tZXRhS2V5KXtjb25zdCBhPWF0LmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXz1zdC5jdXJyZW50LHA9Xy54KyhyLmNsaWVudFgtYS5sZWZ0KS9hLndpZHRoKihhLndpZHRoL18uem9vbSksdz1fLnkrKHIuY2xpZW50WS1hLnRvcCkvYS5oZWlnaHQqKGEuaGVpZ2h0L18uem9vbSksdj1NYXRoLm1pbig2LE1hdGgubWF4KC4xNSxfLnpvb20qKHIuZGVsdGFZPDA/MS4xMjouODkpKSk7bWUoe3pvb206dix4OnAtKHIuY2xpZW50WC1hLmxlZnQpL2Eud2lkdGgqKGEud2lkdGgvdikseTp3LShyLmNsaWVudFktYS50b3ApL2EuaGVpZ2h0KihhLmhlaWdodC92KX0pfWVsc2UgbWUoYT0+KHsuLi5hLHg6YS54K3IuZGVsdGFYL2Euem9vbSx5OmEueStyLmRlbHRhWS9hLnpvb219KSl9ZnVuY3Rpb24gT3IoKXtkKEpTT04uc3RyaW5naWZ5KHt2aWV3SGFzaDoiIn0pKSx2ZSgiWW91IG93biB0aGlzIGJvYXJkIil9YXN5bmMgZnVuY3Rpb24gUnIoKXtpZihFKWcoSlNPTi5zdHJpbmdpZnkoe3ZhbHVlOiExfSkpLHZlKCJWaWV3aW5nIG9wZW4iKTtlbHNle2NvbnN0IHI9d2luZG93LnByb21wdCgiU2V0IGEgcGFzc2NvZGUgcGVvcGxlIG5lZWQgdG8gVklFVyB0aGlzIGJvYXJkOiIpPz8iIjtpZighcilyZXR1cm47Y29uc3QgYT1hd2FpdCBzcihyKTtnKEpTT04uc3RyaW5naWZ5KHt2YWx1ZTohMCx2aWV3SGFzaDphfSkpLHZlKCJWaWV3aW5nIGxvY2tlZCIpfX1hc3luYyBmdW5jdGlvbiB0bigpe2NvbnN0IHI9YXdhaXQgc3IoVnQpO2w/LnZpZXdIYXNoJiZyPT09bC52aWV3SGFzaD8ocHIociksdmUoIlVubG9ja2VkIikpOnZlKCJXcm9uZyBwYXNzY29kZSIpfWNvbnN0IG5uPXF0LncvTi56b29tLHJuPXF0LmgvTi56b29tLG9uPUpTT04uc3RyaW5naWZ5KGUpLmxlbmd0aCxhbj1NYXRoLm1pbigxMDAsb24vMTA0ODU3NioxMDApLEVyPVsuLi5rcl0uc29ydChhciksTz1hZSYmKEllW2FlXXx8ZS5maW5kKHI9PnIuaWQ9PT1hZSkpfHxudWxsLHRlPWFlJiZGJiZGLmlkPT09ImRyYWZ0Ij9GOk8sVXI9IV9lJiYoQyE9PSJzZWxlY3QiJiZDIT09ImhhbmQifHxPKTtmdW5jdGlvbiBUcigpe2lmKCF0ZXx8JHx8QyE9PSJzZWxlY3QiKXJldHVybiBudWxsO2NvbnN0IHI9Ti56b29tLGE9OS9yLF89NS9yLHA9MS41L3Isdz10ZS50eXBlO2lmKHc9PT0ibGluZSJ8fHc9PT0iYXJyb3ciKXtjb25zdCBBPUpTT04ucGFyc2UodGUucG9pbnRzfHwiW10iKTtpZihBLmxlbmd0aDwyKXJldHVybiBudWxsO2NvbnN0IHhlPVswLEEubGVuZ3RoLTFdO3JldHVybiB1KCJnIix7Y2hpbGRyZW46W3UoImxpbmUiLHt4MTpBWzBdWzBdLHkxOkFbMF1bMV0seDI6QVtBLmxlbmd0aC0xXVswXSx5MjpBW0EubGVuZ3RoLTFdWzFdLHN0cm9rZTpZLCJzdHJva2Utd2lkdGgiOnAsInN0cm9rZS1kYXNoYXJyYXkiOmAkezUvcn0gJHs0L3J9YH0pLHNlJiZ4ZS5tYXAoKFBlLHV0KT0+dSgiY2lyY2xlIix7Y3g6QVtQZV1bMF0sY3k6QVtQZV1bMV0scjphKi43LGZpbGw6InZhcigtLXBhbmVsKSIsc3Ryb2tlOlksInN0cm9rZS13aWR0aCI6cCxzdHlsZTp7Y3Vyc29yOiJtb3ZlIn0sb25Qb2ludGVyRG93bjpkdD0+UHIoZHQsdGUsUGUpfSx1dCkpXX0pfWNvbnN0IHY9WCh0ZSksVz16KHRlLnJvdGF0aW9uKSxSPXYueCt2LncvMixuZT12Lnkrdi5oLzIsQj1BPT51KCJnIix7dHJhbnNmb3JtOlc/YHJvdGF0ZSgke1d9ICR7Un0gJHtuZX0pYDp2b2lkIDAsY2hpbGRyZW46QX0pLEo9dSgicmVjdCIse3g6di54LV8seTp2LnktXyx3aWR0aDp2LncrXyoyLGhlaWdodDp2LmgrXyoyLGZpbGw6Im5vbmUiLHN0cm9rZTpZLCJzdHJva2Utd2lkdGgiOnAsInN0cm9rZS1kYXNoYXJyYXkiOmAkezUvcn0gJHs0L3J9YCxyeDozL3J9KTtpZighc2UpcmV0dXJuIEIoSik7Y29uc3QgSD13PT09ImRyYXciLGJlPXc9PT0icmVjdCJ8fHc9PT0iZWxsaXBzZSJ8fHc9PT0iZGlhbW9uZCJ8fHc9PT0idGV4dCI7cmV0dXJuIEIodShjZSx7Y2hpbGRyZW46W0osKHc9PT0icmVjdCJ8fHc9PT0iZWxsaXBzZSJ8fHc9PT0iZGlhbW9uZCJ8fEgpJiZbWy0xLC0xXSxbMSwtMV0sWzEsMV0sWy0xLDFdXS5tYXAoKFtBLHhlXSxQZSk9Pntjb25zdCB1dD1BPDA/di54LV86di54K3YudytfLGR0PXhlPDA/di55LV86di55K3YuaCtfO3JldHVybiB1KCJyZWN0Iix7eDp1dC1hLzIseTpkdC1hLzIsd2lkdGg6YSxoZWlnaHQ6YSxyeDoyL3IsZmlsbDoidmFyKC0tcGFuZWwpIixzdHJva2U6WSwic3Ryb2tlLXdpZHRoIjpwLHN0eWxlOntjdXJzb3I6QSp4ZT4wPyJud3NlLXJlc2l6ZSI6Im5lc3ctcmVzaXplIn0sb25Qb2ludGVyRG93bjpzbj0+SD9Dcihzbix0ZSxbQSx4ZV0pOlNyKHNuLHRlLFtBLHhlXSl9LFBlKX0pLGJlJiZ1KGNlLHtjaGlsZHJlbjpbdSgibGluZSIse3gxOlIseTE6di55LV8seDI6Uix5Mjp2LnktXy0yMi9yLHN0cm9rZTpZLCJzdHJva2Utd2lkdGgiOnB9KSx1KCJjaXJjbGUiLHtjeDpSLGN5OnYueS1fLTIyL3IscjphKi43MixmaWxsOiJ2YXIoLS1wYW5lbCkiLHN0cm9rZTpZLCJzdHJva2Utd2lkdGgiOnAsc3R5bGU6e2N1cnNvcjoiZ3JhYiJ9LG9uUG9pbnRlckRvd246QT0+SXIoQSx0ZSl9KV19KV19KSl9cmV0dXJuIHUoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLGluc2V0OjAsYmFja2dyb3VuZDpZdCxjb2xvcjoidmFyKC0taW5rKSIsZm9udEZhbWlseTpUdCxvdmVyZmxvdzoiaGlkZGVuIix1c2VyU2VsZWN0OiJub25lIiwiLS1wYW5lbCI6ZWUucGFuZWwsIi0tbGluZSI6ZWUubGluZSwiLS1pbmsiOmVlLmluaywiLS1zdWIiOmVlLnN1YiwiLS1zb2Z0IjplZS5zb2Z0LCItLXNoYWRvdyI6ZWUuc2hhZG93fSxjaGlsZHJlbjpbdSgic3ZnIix7cmVmOmF0LHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6YCR7Ti54fSAke04ueX0gJHtubn0gJHtybn1gLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsY3Vyc29yOkM9PT0iaGFuZCI/ImdyYWIiOkM9PT0ic2VsZWN0Ij8iZGVmYXVsdCI6ImNyb3NzaGFpciIsdG91Y2hBY3Rpb246Im5vbmUifSxvblBvaW50ZXJEb3duOnpyLG9uUG9pbnRlck1vdmU6TXIsb25Qb2ludGVyVXA6THIsb25XaGVlbDpOcixjaGlsZHJlbjpbdSgiZGVmcyIse2NoaWxkcmVuOnUoInBhdHRlcm4iLHtpZDoiZG90cyIsd2lkdGg6IjIyIixoZWlnaHQ6IjIyIixwYXR0ZXJuVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjaGlsZHJlbjp1KCJjaXJjbGUiLHtjeDoiMS40IixjeToiMS40IixyOiIxLjQiLGZpbGw6ZWUuZG90fSl9KX0pLFomJnUoInJlY3QiLHt4Ok4ueCx5Ok4ueSx3aWR0aDpubixoZWlnaHQ6cm4sZmlsbDoidXJsKCNkb3RzKSJ9KSx3ZSYmRXIubWFwKHI9PnUoImciLHtvcGFjaXR5OkYmJkYuaWQ9PT0iZHJhZnQiJiZyLmlkPT09YWU/MDoxLGNoaWxkcmVuOnUobHIse3M6cn0pfSxyLmlkKSksd2UmJkYmJnUobHIse3M6Rn0pLHdlJiZUcigpXX0pLCF3ZSYmdSgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxiYWNrZ3JvdW5kOll0LGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixnYXA6MTQsekluZGV4OjkwfSxjaGlsZHJlbjpbdSgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjQwfSxjaGlsZHJlbjoiXHV7MUY1MTJ9In0pLHUoImRpdiIse3N0eWxlOntmb250U2l6ZToyMCxmb250V2VpZ2h0OjYwMCxjb2xvcjoidmFyKC0taW5rKSJ9LGNoaWxkcmVuOiJUaGlzIGJvYXJkIGlzIGxvY2tlZCJ9KSx1KCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjh9LGNoaWxkcmVuOlt1KCJpbnB1dCIse3R5cGU6InBhc3N3b3JkIixhdXRvRm9jdXM6ITAsdmFsdWU6VnQscGxhY2Vob2xkZXI6InBhc3Njb2RlIixvbklucHV0OnI9PmdyKHIudGFyZ2V0LnZhbHVlKSxvbktleURvd246cj0+e3Iua2V5PT09IkVudGVyIiYmdG4oKX0sc3R5bGU6V299KSx1KCJidXR0b24iLHtzdHlsZTpjcixvbkNsaWNrOnRuLGNoaWxkcmVuOiJVbmxvY2sifSldfSldfSksd2UmJnUoY2Use2NoaWxkcmVuOlskJiZ1KCJ0ZXh0YXJlYSIse2F1dG9Gb2N1czohMCx2YWx1ZTokLnZhbHVlLG9uSW5wdXQ6cj0+VGUoey4uLiQsdmFsdWU6ci50YXJnZXQudmFsdWV9KSxvbkJsdXI6QXIsb25LZXlEb3duOnI9PntyLmtleT09PSJFc2NhcGUiJiZUZShudWxsKX0sc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDooJC54LU4ueCkqTi56b29tLHRvcDooJC55LU4ueSkqTi56b29tLG1pbldpZHRoOjE0MCxiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsY29sb3I6cSxib3JkZXI6Im5vbmUiLG91dGxpbmU6Im5vbmUiLHJlc2l6ZToibm9uZSIsZm9udDpgJHtNYXRoLm1heCgxNixpZSo3KSpOLnpvb219cHggJHtUdH1gLGxpbmVIZWlnaHQ6MS4xfX0pLHUoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDpfZT81ODoxMixsZWZ0OiI1MCUiLHRyYW5zZm9ybToidHJhbnNsYXRlWCgtNTAlKSIsZGlzcGxheToiZmxleCIsZ2FwOjIsLi4uUSxwYWRkaW5nOjUsb3ZlcmZsb3dYOl9lPyJhdXRvIjoidmlzaWJsZSIsbWF4V2lkdGg6Ijk0dncifSxjaGlsZHJlbjppci5tYXAocj0+dSgiYnV0dG9uIix7dGl0bGU6YCR7ci5sYWJlbH0gXHUyMDE0ICR7ci5rZXl9YCxvbkNsaWNrOigpPT5LKHIuayksZGlzYWJsZWQ6IXNlJiZyLmshPT0ic2VsZWN0IiYmci5rIT09ImhhbmQiLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLHdpZHRoOjM2LGhlaWdodDozNixib3JkZXJSYWRpdXM6OSxib3JkZXI6Im5vbmUiLGN1cnNvcjoicG9pbnRlciIsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixiYWNrZ3JvdW5kOkM9PT1yLms/JHQ6InRyYW5zcGFyZW50Iixjb2xvcjpDPT09ci5rP25yOiFzZSYmci5rIT09InNlbGVjdCImJnIuayE9PSJoYW5kIj8idmFyKC0tc3ViKSI6InZhcigtLWluaykifSxjaGlsZHJlbjpbdShVbyx7azpyLmt9KSwhX2UmJnUoInNwYW4iLHtzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixyaWdodDozLGJvdHRvbToxLGZvbnRTaXplOjgsY29sb3I6InZhcigtLXN1YikifSxjaGlsZHJlbjpyLmtleX0pXX0sci5rKSl9KSxVciYmdSgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDoxMix0b3A6NjQsLi4uUSxwYWRkaW5nOjEyLGRpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZ2FwOjEwLHdpZHRoOjE5MH0sY2hpbGRyZW46W3UoZ2Use2xhYmVsOiJTdHJva2UiLGNoaWxkcmVuOlt2ci5tYXAocj0+dShIdCx7YzpyLG9uOnE9PT1yLG9uQ2xpY2s6KCk9PntpdChyKSxPJiZWKEpTT04uc3RyaW5naWZ5KHtpZDpPLmlkLHBhdGNoOntjb2xvcjpyfX0pKX19LHIpKSx1KHVyLHt2YWx1ZTpxWzBdPT09IiMiP3E6IiMwMDAwMDAiLG9uQ2hhbmdlOnI9PntpdChyKSxPJiZWKEpTT04uc3RyaW5naWZ5KHtpZDpPLmlkLHBhdGNoOntjb2xvcjpyfX0pKX19KV19KSx1KGdlLHtsYWJlbDoiQmFja2dyb3VuZCIsY2hpbGRyZW46W3JyLm1hcChyPT51KEh0LHtjOnIsb246b2U9PT1yLG9uQ2xpY2s6KCk9PntGdChyKSxPJiZWKEpTT04uc3RyaW5naWZ5KHtpZDpPLmlkLHBhdGNoOntmaWxsOnJ9fSkpfX0scikpLHUodXIse3ZhbHVlOm9lJiZvZSE9PSJ0cmFuc3BhcmVudCI/b2U6IiNmZmZmZmYiLG9uQ2hhbmdlOnI9PntGdChyKSxPJiZWKEpTT04uc3RyaW5naWZ5KHtpZDpPLmlkLHBhdGNoOntmaWxsOnJ9fSkpfX0pXX0pLHUoZ2Use2xhYmVsOiJTdHJva2Ugd2lkdGgiLGNoaWxkcmVuOm9yLm1hcChyPT51KCJidXR0b24iLHtvbkNsaWNrOigpPT57X3IociksTyYmVihKU09OLnN0cmluZ2lmeSh7aWQ6Ty5pZCxwYXRjaDp7c3Ryb2tlV2lkdGg6U3RyaW5nKHIpfX0pKX0sc3R5bGU6e3dpZHRoOjM0LGhlaWdodDozMCxib3JkZXJSYWRpdXM6OCxib3JkZXI6Im5vbmUiLGN1cnNvcjoicG9pbnRlciIsYmFja2dyb3VuZDppZT09PXI/JHQ6InZhcigtLXNvZnQpIixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxjaGlsZHJlbjp1KCJzcGFuIix7c3R5bGU6e3dpZHRoOjE4LGhlaWdodDpyLGJhY2tncm91bmQ6InZhcigtLWluaykiLGJvcmRlclJhZGl1czo0fX0pfSxyKSl9KSxPJiZ1KGdlLHtsYWJlbDoiTGF5ZXIiLGNoaWxkcmVuOlt1KCJidXR0b24iLHtvbkNsaWNrOigpPT5lbighMCksc3R5bGU6cGUoITEpLHRpdGxlOiJCcmluZyB0byBmcm9udCIsY2hpbGRyZW46Ilx1MjkxMiBGcm9udCJ9KSx1KCJidXR0b24iLHtvbkNsaWNrOigpPT5lbighMSksc3R5bGU6cGUoITEpLHRpdGxlOiJTZW5kIHRvIGJhY2siLGNoaWxkcmVuOiJcdTI5MTMgQmFjayJ9KV19KSxPJiZ1KCJidXR0b24iLHtvbkNsaWNrOigpPT57aShKU09OLnN0cmluZ2lmeSh7aWQ6Ty5pZH0pKSxmZShudWxsKX0sc3R5bGU6ey4uLld0LGNvbG9yOiIjZTAzMTMxIixqdXN0aWZ5Q29udGVudDoiZmxleC1zdGFydCIsYm94U2hhZG93OiJub25lIixib3JkZXI6IjFweCBzb2xpZCB2YXIoLS1saW5lKSJ9LGNoaWxkcmVuOiJcdXsxRjVEMX0gRGVsZXRlIn0pXX0pLHUoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoxNCxsZWZ0OjE0LGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjh9LGNoaWxkcmVuOlt1KCJidXR0b24iLHtzdHlsZTp7Li4uUSx3aWR0aDozOCxoZWlnaHQ6MzgsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixjdXJzb3I6InBvaW50ZXIiLGNvbG9yOiJ2YXIoLS1pbmspIixmb250U2l6ZToxN30sdGl0bGU6Ik1lbnUiLG9uQ2xpY2s6KCk9PnllKHI9PiFyKSxjaGlsZHJlbjoiXHUyNjMwIn0pLHUoImRpdiIse3N0eWxlOnsuLi5RLHBhZGRpbmc6IjdweCAxMnB4IixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo4fSxjaGlsZHJlbjpbdSgic3BhbiIse3N0eWxlOntmb250V2VpZ2h0OjcwMCxmb250U2l6ZToxNSxjb2xvcjpZLGxldHRlclNwYWNpbmc6Ii0wLjAxZW0ifSxjaGlsZHJlbjoid2hpdGVib2FyZCJ9KSwhX2UmJnUoY2Use2NoaWxkcmVuOlt1KCJzcGFuIix7c3R5bGU6e3dpZHRoOjEsaGVpZ2h0OjE2LGJhY2tncm91bmQ6InZhcigtLWxpbmUpIn19KSx1KCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjExLGNvbG9yOiJ2YXIoLS1zdWIpIixmb250VmFyaWFudE51bWVyaWM6InRhYnVsYXItbnVtcyJ9LGNoaWxkcmVuOlsob24vMTAyNCkudG9GaXhlZCgxKSwiIEtCIl19KSx1KCJkaXYiLHtzdHlsZTp7d2lkdGg6NTYsaGVpZ2h0OjYsYmFja2dyb3VuZDoidmFyKC0tc29mdCkiLGJvcmRlclJhZGl1czo0LG92ZXJmbG93OiJoaWRkZW4ifSxjaGlsZHJlbjp1KCJkaXYiLHtzdHlsZTp7d2lkdGg6YCR7YW59JWAsaGVpZ2h0OiIxMDAlIixiYWNrZ3JvdW5kOmFuPjgwPyIjZTAzMTMxIjpZfX0pfSldfSldfSldfSksZGUmJnUoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDo2MCxsZWZ0OjE0LC4uLlEscGFkZGluZzoxNCx3aWR0aDoyMTAsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixnYXA6MTIsekluZGV4OjcwfSxjaGlsZHJlbjpbdShnZSx7bGFiZWw6IlRoZW1lIixjaGlsZHJlbjpbdSgiYnV0dG9uIix7b25DbGljazooKT0+UXQoITEpLHN0eWxlOnBlKCFiKSxjaGlsZHJlbjoiXHUyNjAwIExpZ2h0In0pLHUoImJ1dHRvbiIse29uQ2xpY2s6KCk9PlF0KCEwKSxzdHlsZTpwZShiKSxjaGlsZHJlbjoiXHUyNjNFIERhcmsifSldfSksdShnZSx7bGFiZWw6IkNhbnZhcyBiYWNrZ3JvdW5kIixjaGlsZHJlbjpici5tYXAocj0+dShIdCx7YzpyfHxlZS5jYW52YXMsb246Rz09PXIsb25DbGljazooKT0+aihyKX0scnx8ImRlZiIpKX0pLHUoZ2Use2xhYmVsOiJHcmlkIixjaGlsZHJlbjp1KCJidXR0b24iLHtvbkNsaWNrOigpPT5VZShyPT4hciksc3R5bGU6cGUoWiksY2hpbGRyZW46Wj8iT24iOiJPZmYifSl9KV19KSx1KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIix0b3A6MTQscmlnaHQ6MTQsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6OH0sY2hpbGRyZW46W2x0JiZ1KCJkaXYiLHtzdHlsZTp7Li4uUSxwYWRkaW5nOjQsZGlzcGxheToiZmxleCIsZ2FwOjJ9LGNoaWxkcmVuOlt1KCJidXR0b24iLHtzdHlsZTpFZSx0aXRsZToiVW5kbyAoXHUyMzE4WikiLG9uQ2xpY2s6KCk9PmMoIiIpLGNoaWxkcmVuOiJcdTIxQjYifSksdSgiYnV0dG9uIix7c3R5bGU6RWUsdGl0bGU6IlJlZG8gKFx1MjFFN1x1MjMxOFopIixvbkNsaWNrOigpPT5oKCIiKSxjaGlsZHJlbjoiXHUyMUI3In0pXX0pLG0/dSgiYnV0dG9uIix7c3R5bGU6Y3Isb25DbGljazpPcix0aXRsZToiWW91J3JlIHRoZSBmaXJzdCBvbmUgaGVyZSIsY2hpbGRyZW46X2U/IkNsYWltIjoiQ2xhaW0gdGhpcyBib2FyZCJ9KTp5P3UoImRpdiIse3N0eWxlOnsuLi5RLHBhZGRpbmc6NCxkaXNwbGF5OiJmbGV4IixnYXA6NCxhbGlnbkl0ZW1zOiJjZW50ZXIifSxjaGlsZHJlbjpbdSgiYnV0dG9uIix7c3R5bGU6cGUoUyksdGl0bGU6IldobyBjYW4gZHJhdyIsb25DbGljazooKT0+ZihKU09OLnN0cmluZ2lmeSh7dmFsdWU6IVN9KSksY2hpbGRyZW46Uz8iXHUyNzBGXHVGRTBGIE9ubHkgbWUiOiJcdTI3MEZcdUZFMEYgQW55b25lIn0pLHUoImJ1dHRvbiIse3N0eWxlOnBlKEUpLHRpdGxlOiJMb2NrIHZpZXdpbmcgd2l0aCBhIHBhc3Njb2RlIixvbkNsaWNrOlJyLGNoaWxkcmVuOkU/Ilx1ezFGNTEyfSBWaWV3IGxvY2tlZCI6Ilx1ezFGMzEwfSBWaWV3IG9wZW4ifSldfSk6Uz91KCJzcGFuIix7c3R5bGU6ey4uLlEscGFkZGluZzoiN3B4IDEycHgiLGZvbnRTaXplOjEyLjUsY29sb3I6InZhcigtLXN1YikifSxjaGlsZHJlbjoiXHV7MUY0NDF9IHZpZXcgb25seSJ9KTpudWxsLCFfZSYmKG4uaXNHdWVzdD91KExvLHtzdHlsZTp7Li4uV3R9fSk6dSgiYnV0dG9uIix7c3R5bGU6V3Qsb25DbGljazooKT0+TW8oKSxjaGlsZHJlbjoiU2lnbiBvdXQifSkpXX0pLHUoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbToxNCxsZWZ0OjE0LC4uLlEscGFkZGluZzozLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjF9LGNoaWxkcmVuOlt1KCJidXR0b24iLHtzdHlsZTpFZSxvbkNsaWNrOigpPT5tZShyPT4oey4uLnIsem9vbTpNYXRoLm1heCguMTUsci56b29tKi45KX0pKSxjaGlsZHJlbjoiXHUyMjEyIn0pLHUoImJ1dHRvbiIse3N0eWxlOnsuLi5FZSx3aWR0aDo1MCxmb250U2l6ZToxMixmb250V2VpZ2h0OjYwMH0sb25DbGljazooKT0+bWUocj0+KHsuLi5yLHpvb206MX0pKSxjaGlsZHJlbjpbTWF0aC5yb3VuZChOLnpvb20qMTAwKSwiJSJdfSksdSgiYnV0dG9uIix7c3R5bGU6RWUsb25DbGljazooKT0+bWUocj0+KHsuLi5yLHpvb206TWF0aC5taW4oNixyLnpvb20qMS4xKX0pKSxjaGlsZHJlbjoiKyJ9KV19KSx1KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixib3R0b206MTgscmlnaHQ6MTYsZm9udFNpemU6MTEsY29sb3I6InZhcigtLXN1YikifSxjaGlsZHJlbjpbImxpdmUgXHhCNyBzaGFyZSB0aGUgVVJMIFx4QjcgIixlLmxlbmd0aCwiIHNoYXBlcyJdfSldfSksanQmJnUoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTo1NixsZWZ0OiI1MCUiLHRyYW5zZm9ybToidHJhbnNsYXRlWCgtNTAlKSIsLi4uUSxwYWRkaW5nOiI5cHggMTZweCIsZm9udFNpemU6MTMsY29sb3I6InZhcigtLWluaykiLHpJbmRleDo5NX0sY2hpbGRyZW46anR9KV19KX12YXIgUT17YmFja2dyb3VuZDoidmFyKC0tcGFuZWwpIixib3JkZXI6IjFweCBzb2xpZCB2YXIoLS1saW5lKSIsYm9yZGVyUmFkaXVzOjEyLGJveFNoYWRvdzoidmFyKC0tc2hhZG93KSJ9LFdvPXtwYWRkaW5nOiI5cHggMTJweCIsYm9yZGVyUmFkaXVzOjksYm9yZGVyOiIxcHggc29saWQgdmFyKC0tbGluZSkiLGZvbnRTaXplOjE0LG91dGxpbmU6Im5vbmUiLGJhY2tncm91bmQ6InZhcigtLXBhbmVsKSIsY29sb3I6InZhcigtLWluaykifSxjcj17cGFkZGluZzoiOXB4IDE0cHgiLGJvcmRlclJhZGl1czoxMCxib3JkZXI6Im5vbmUiLGN1cnNvcjoicG9pbnRlciIsYmFja2dyb3VuZDpZLGNvbG9yOiIjZmZmIixmb250U2l6ZToxMy41LGZvbnRXZWlnaHQ6NjAwfSxXdD17cGFkZGluZzoiOHB4IDEycHgiLGJvcmRlclJhZGl1czo5LGJvcmRlcjoibm9uZSIsY3Vyc29yOiJwb2ludGVyIixiYWNrZ3JvdW5kOiJ2YXIoLS1wYW5lbCkiLGNvbG9yOiJ2YXIoLS1pbmspIixmb250U2l6ZToxMyxmb250V2VpZ2h0OjUwMCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LGJveFNoYWRvdzoidmFyKC0tc2hhZG93KSJ9LEVlPXttaW5XaWR0aDozMCxoZWlnaHQ6MzAscGFkZGluZzoiMCA3cHgiLGJvcmRlclJhZGl1czo3LGJvcmRlcjoibm9uZSIsY3Vyc29yOiJwb2ludGVyIixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsY29sb3I6InZhcigtLWluaykiLGZvbnRTaXplOjE1fTtmdW5jdGlvbiBwZShlKXtyZXR1cm57cGFkZGluZzoiNnB4IDEwcHgiLGJvcmRlclJhZGl1czo4LGJvcmRlcjoibm9uZSIsY3Vyc29yOiJwb2ludGVyIixiYWNrZ3JvdW5kOmU/JHQ6InZhcigtLXNvZnQpIixjb2xvcjplP25yOiJ2YXIoLS1pbmspIixmb250U2l6ZToxMixmb250V2VpZ2h0OjYwMH19ZnVuY3Rpb24gZ2Uoe2xhYmVsOmUsY2hpbGRyZW46dH0pe3JldHVybiB1KCJkaXYiLHtjaGlsZHJlbjpbdSgiZGl2Iix7c3R5bGU6e2ZvbnRTaXplOjExLGNvbG9yOiJ2YXIoLS1zdWIpIixtYXJnaW5Cb3R0b206Nn0sY2hpbGRyZW46ZX0pLHUoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixnYXA6NixmbGV4V3JhcDoid3JhcCIsYWxpZ25JdGVtczoiY2VudGVyIn0sY2hpbGRyZW46dH0pXX0pfWZ1bmN0aW9uIEh0KHtjOmUsb246dCxvbkNsaWNrOm59KXtyZXR1cm4gdSgiYnV0dG9uIix7b25DbGljazpuLHRpdGxlOmUsc3R5bGU6e3dpZHRoOjI2LGhlaWdodDoyNixib3JkZXJSYWRpdXM6NyxjdXJzb3I6InBvaW50ZXIiLGJhY2tncm91bmQ6ZT09PSJ0cmFuc3BhcmVudCI/InJlcGVhdGluZy1jb25pYy1ncmFkaWVudCgjY2ZjZmQ0IDAlIDI1JSwgI2ZmZiAwJSA1MCUpIDUwJSAvIDEwcHggMTBweCI6ZSxib3JkZXI6dD9gMnB4IHNvbGlkICR7WX1gOiIxcHggc29saWQgIzAwMDAwMDIyIn19KX1mdW5jdGlvbiB1cih7dmFsdWU6ZSxvbkNoYW5nZTp0fSl7cmV0dXJuIHUoImxhYmVsIix7dGl0bGU6IkN1c3RvbSBjb2xvdXIiLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLHdpZHRoOjI2LGhlaWdodDoyNixib3JkZXJSYWRpdXM6NyxvdmVyZmxvdzoiaGlkZGVuIixjdXJzb3I6InBvaW50ZXIiLGJvcmRlcjoiMXB4IHNvbGlkICMwMDAwMDAyMiIsZGlzcGxheToiaW5saW5lLWZsZXgifSxjaGlsZHJlbjpbdSgic3BhbiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsYmFja2dyb3VuZDoiY29uaWMtZ3JhZGllbnQoZnJvbSAuMjV0dXJuLCAjZmY1MjUyLCAjZmZkMTY2LCAjMDZkNmEwLCAjNGNjOWYwLCAjN2I2MWZmLCAjZmY1MjUyKSJ9fSksdSgic3BhbiIse3N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixmb250U2l6ZToxMyxmb250V2VpZ2h0OjcwMCxjb2xvcjoiI2ZmZiIsdGV4dFNoYWRvdzoiMCAxcHggMnB4ICMwMDA3In0sY2hpbGRyZW46IisifSksdSgiaW5wdXQiLHt0eXBlOiJjb2xvciIsdmFsdWU6ZSxvbklucHV0Om49PnQobi50YXJnZXQudmFsdWUpLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsb3BhY2l0eTowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGN1cnNvcjoicG9pbnRlciIsYm9yZGVyOiJub25lIixwYWRkaW5nOjB9fSldfSl9ZnVuY3Rpb24gZHIoZSx0LG4sbyxzLGkpe2NvbnN0IGM9e2lkOiJkcmFmdCIsY29sb3I6byxzdHJva2VXaWR0aDpTdHJpbmcocyksdGV4dDoiIixmaWxsOmkscm90YXRpb246IjAiLHo6IjAiLGNyZWF0ZWRCeToiIixjcmVhdGVkQXQ6IiJ9O3JldHVybiBlPT09ImxpbmUifHxlPT09ImFycm93Ij97Li4uYyx0eXBlOmUscG9pbnRzOkpTT04uc3RyaW5naWZ5KFt0LG5dKSx4OiIwIix5OiIwIix3OiIwIixoOiIwIn06ey4uLmMsdHlwZTplLHg6U3RyaW5nKE1hdGgubWluKHRbMF0sblswXSkpLHk6U3RyaW5nKE1hdGgubWluKHRbMV0sblsxXSkpLHc6U3RyaW5nKE1hdGguYWJzKG5bMF0tdFswXSkpLGg6U3RyaW5nKE1hdGguYWJzKG5bMV0tdFsxXSkpLHBvaW50czoiIn19ZnVuY3Rpb24gZnIoZSx0LG4sbyxzKXtyZXR1cm57aWQ6ImRyYWZ0Iix0eXBlOmUscG9pbnRzOkpTT04uc3RyaW5naWZ5KHQpLGNvbG9yOm4sc3Ryb2tlV2lkdGg6U3RyaW5nKG8pLHg6IjAiLHk6IjAiLHc6IjAiLGg6IjAiLHRleHQ6IiIsZmlsbDpzLHJvdGF0aW9uOiIwIix6OiIwIixjcmVhdGVkQnk6IiIsY3JlYXRlZEF0OiIifX1mdW5jdGlvbiBIbyhlKXtyZXR1cm57dHlwZTplLnR5cGUseDplLngseTplLnksdzplLncsaDplLmgscG9pbnRzOmUucG9pbnRzLGNvbG9yOmUuY29sb3Isc3Ryb2tlV2lkdGg6ZS5zdHJva2VXaWR0aCx0ZXh0OmUudGV4dCxmaWxsOmUuZmlsbCxyb3RhdGlvbjplLnJvdGF0aW9uLHo6ZS56fX1mdW5jdGlvbiBGbyhlLHQsbil7aWYoZS50eXBlPT09ImRyYXcifHxlLnR5cGU9PT0ibGluZSJ8fGUudHlwZT09PSJhcnJvdyIpe2NvbnN0IG89SlNPTi5wYXJzZShlLnBvaW50c3x8IltdIikubWFwKHM9PltzWzBdK3Qsc1sxXStuXSk7cmV0dXJuey4uLmUsaWQ6ImRyYWZ0Iixwb2ludHM6SlNPTi5zdHJpbmdpZnkobyl9fXJldHVybnsuLi5lLGlkOiJkcmFmdCIseDpTdHJpbmcoeihlLngpK3QpLHk6U3RyaW5nKHooZS55KStuKX19R3IoeXQoRG8se30pLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKSk7Cg==","clientVersion":"0.0.25","inspectPolicy":"private"} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment