{"remainingRequest":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\tj_zsj_web\\src\\views\\YunSearcher\\ResourceDetails.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\src\\views\\YunSearcher\\ResourceDetails.vue","mtime":1742507583469},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\tj_zsj_web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQoNCmltcG9ydCBfIGZyb20gJ2xvZGFzaCcNCmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50Jw0KaW1wb3J0IHsNCiAgZ2V0QXBwbHksDQogIGdldEFwcGx5RGV0YWlsLA0KICBnZXRDbG91ZFVzZWFnZSwNCiAgc2F2ZUFwcGx5LA0KICBkZWxldGVBcHBseURldGFpbCwNCiAgZG93bmxvYWRBcHBseSwgZGVsZXRlQXBwbHlMaXN0DQp9IGZyb20gJ0AvYXBpL3B1YmxpY0Jhc2ljL3Jlc291cmNlQmlkJw0KaW1wb3J0IHsgZ2V0RGljdGlvbmFyeUJ5Q29kZSB9IGZyb20gJ0AvdXRpbHMvZGljdGlvbmFyeScNCmltcG9ydCBhcHBseURldGFpbEZvcm0gZnJvbSAnLi9hcHBseURldGFpbEZvcm0udnVlJw0KaW1wb3J0IGFwcGx5QXBwcm92YWwgZnJvbSAnLi9hcHBseUFwcHJvdmFsLnZ1ZScNCmltcG9ydCBhcHBseVJlY29yZCBmcm9tICcuL2FwcGx5UmVjb3JkLnZ1ZScNCmltcG9ydCBmaWxlVXBsb2FkIGZyb20gJ0AvY29tcG9uZW50cy91cGxvYWQvZmlsZUxpc3RVcGxvYWQudnVlJw0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnUmVzb3VyY2VEZXRhaWxzJywNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgaWQ6JycsDQogICAgICBkaWFsb2dWaXNpYmxlOiBmYWxzZSwNCiAgICAgIHNlbGVjdGVkTWVudTonJywNCiAgICAgIGJ1dHRvbkxvYWRpbmc6ZmFsc2UsDQogICAgICB0eXBlOiAnJywNCiAgICAgIGFjdGl2ZU5hbWVzOiBbJzEnXSwNCiAgICAgIGNsb3VkVHlwZTogW10sDQogICAgICBsb2FkaW5nOiBmYWxzZSwNCiAgICAgIGFwcGx5Zm9ybTogew0KICAgICAgICBhcHBseURhdGU6IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpLA0KICAgICAgICBjbG91ZFR5cGU6IG51bGwsDQogICAgICAgIGNsb3VkQXBwbHlGaWxlOiBbXSwNCiAgICAgICAgY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdDogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIGNsb3VkVHlwZTogMSwNCiAgICAgICAgICAgIHVzZVR5cGU6IDEsDQogICAgICAgICAgfSwNCiAgICAgICAgICB7DQogICAgICAgICAgICBjbG91ZFR5cGU6IDEsDQogICAgICAgICAgICB1c2VUeXBlOiAyLA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgY2xvdWRUeXBlOiAyLA0KICAgICAgICAgICAgdXNlVHlwZTogMSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIGNsb3VkVHlwZTogMiwNCiAgICAgICAgICAgIHVzZVR5cGU6IDIsDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgIH0sDQogICAgICBhcHBseWZvcm1SdWxlczogew0KICAgICAgICBhcHBseVVuaXROYW1lOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5Y2V5L2N5ZCN56ewJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBhcHBseVVuaXRDb250YWN0czogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeWNleS9jeiBlOezu+S6uicsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgYXBwbHlVbml0Q29udGFjdHNQaG9uZTogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeWNleS9jeiBlOezu+S6uueUteivnScsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgICB7DQogICAgICAgICAgICBwYXR0ZXJuOiAvXjFbMy05XVxkezl9JC8sDQogICAgICAgICAgICBtZXNzYWdlOiAn5omL5py65qC85byP5LiN5q2j56GuJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBhcHBseVVuaXRDb250YWN0c01haWw6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXpgq7nrrEnLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgdHlwZTogJ2VtYWlsJywNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfpgq7nrrHmoLzlvI/kuI3mraPnoa4nLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIGFwcGx5RGF0ZTogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeeUs+ivt+aXtumXtCcsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgYXBwbHlBcHBOYW1lOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5bqU55So57O757uf5ZCN56ewJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBhcHBseUFwcERldmVsb3BVbml0OiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5bqU55So5byA5Y+R5Y2V5L2NJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBjbG91ZFR5cGU6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6notYTmupDmiYDlsZ7kupHlubPlj7AnLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIGFwcFB1cnBvc2U6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXova/ku7bnlKjpgJTnroDopoHor7TmmI4nLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIGFwcGx5QXBwQ29udHJhY3RzOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5bqU55So57O757uf6IGU57O75Lq6JywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBhcHBseUFwcENvbnRyYWN0c1Bob25lOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5bqU55So57O757uf6IGU57O75Lq655S16K+dJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHBhdHRlcm46IC9eMVszLTldXGR7OX0kLywNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfmiYvmnLrmoLzlvI/kuI3mraPnoa4nLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIHZpcnR1YWxNYWNoaW5lTnVtOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6Jma5ouf5py65pWw6YePJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBjcHVOdW06IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaVDUFXmoLjmlbAnLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIG1lbW9yeUNhcGFjaXR5OiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5YaF5a2Y5a656YePJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBkYXRhQ2FwYWNpdHk6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXmlbDmja7ph48nLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIGFwcGx5VW5pdE9waW5pb246IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXnlLPor7fljZXkvY3mhI/op4EnLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIG1hbmFnZXJVbml0T3BpbmlvbjogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeS4u+euoeWNleS9jeaEj+ingScsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgY3B1TnVtVG90YWw6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaUnLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgdmFsaWRhdG9yOiB0aGlzLnZhbGlkYXRlQ3B1TnVtVG90YWwsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgY3B1TnVtVXNlOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHZhbGlkYXRvcjogdGhpcy52YWxpZGF0ZUNwdU51bVVzZSwNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBjcHVOdW1Vc2VSYXRlOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBtZW1vcnlDYXBhY2l0eVRvdGFsOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHZhbGlkYXRvcjogdGhpcy52YWxpZGF0ZUNhcGFjaXR5VG90YWwsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgbWVtb3J5Q2FwYWNpdHlVc2U6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaUnLA0KICAgICAgICAgICAgdHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddLA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgdmFsaWRhdG9yOiB0aGlzLnZhbGlkYXRlQ2FwYWNpdHlVc2UsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgbWVtb3J5Q2FwYWNpdHlVc2VSYXRlOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBzdG9yYWdlQ2FwYWNpdHlUb3RhbDogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpScsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgICB7DQogICAgICAgICAgICB2YWxpZGF0b3I6IHRoaXMudmFsaWRhdGVTdG9yYWdlVG90YWwsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgc3RvcmFnZUNhcGFjaXR5VXNlOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWlJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHZhbGlkYXRvcjogdGhpcy52YWxpZGF0ZVN0b3JhZ2VVc2UsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgICAgc3RvcmFnZUNhcGFjaXR5VXNlUmF0ZTogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpScsDQogICAgICAgICAgICB0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgIH0sDQogICAgICBkYWRUb1Nvbjogew0KICAgICAgICBiaXpQYXRoOiAncmVzb3VyY2VBcHBseScsDQogICAgICAgIGZpbGVMaXN0OiBbXSwNCiAgICAgIH0sDQogICAgICBzYXZpbmc6IGZhbHNlLA0KICAgICAgbG9hZGluZ0RldGFpbDogZmFsc2UsDQogICAgICBkZXRhaWxUYWJsZURhdGE6IFtdLA0KICAgICAgZGV0YWlsRGVsSWQ6IFtdLA0KICAgICAgcmVhZE9ubHk6IGZhbHNlLA0KICAgICAgYXVkaXQ6IGZhbHNlLA0KICAgICAgZmluaXNoOiBmYWxzZSwNCiAgICAgIHBhZ2VUeXBlOiAnJywNCiAgICAgIG9yaWdpblVzZURhdGE6IFsNCiAgICAgICAgew0KICAgICAgICAgIGNsb3VkVHlwZTogMSwNCiAgICAgICAgICB1c2VUeXBlOiAxLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgY2xvdWRUeXBlOiAxLA0KICAgICAgICAgIHVzZVR5cGU6IDIsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBjbG91ZFR5cGU6IDIsDQogICAgICAgICAgdXNlVHlwZTogMSwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIGNsb3VkVHlwZTogMiwNCiAgICAgICAgICB1c2VUeXBlOiAyLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICB9DQogIH0sDQogIGNvbXBvbmVudHM6IHsNCiAgICBhcHBseUFwcHJvdmFsLA0KICAgIGFwcGx5RGV0YWlsRm9ybSwNCiAgICBhcHBseVJlY29yZCwNCiAgICBmaWxlVXBsb2FkDQogIH0sDQogIGNyZWF0ZWQoKSB7DQogICAgaWYodGhpcy4kcm91dGUucXVlcnkpew0KICAgICAgdGhpcy5oYW5kbGVPcGVuKHRoaXMuJHJvdXRlLnF1ZXJ5LnBhZ2VUeXBlLHRoaXMuJHJvdXRlLnF1ZXJ5LnR5cGUsdGhpcy4kcm91dGUucXVlcnkuaWQpDQogICAgICB0aGlzLnNlbGVjdGVkTWVudSA9IHRoaXMuJHJvdXRlLnF1ZXJ5LnNlbGVjdGVkTWVudQ0KICAgIH0NCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIGdldERpY3Rpb25hcnlCeUNvZGUsDQogICAgLy8g6L+U5ZueDQogICAgZ29CYWNrKCl7DQogICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7IHBhdGg6Jy9wbGF0TGF5b3V0L3Jlc291cmNlTGlzdFBhZ2UnLHF1ZXJ5OnsgcGFnZVR5cGU6dGhpcy5wYWdlVHlwZSwgc2VsZWN0ZWRNZW51OnRoaXMuc2VsZWN0ZWRNZW51fX0pOw0KICAgICAgdGhpcy5oYW5kbGVDbG9zZSgpDQogICAgfSwNCiAgICBoYW5kbGVJbml0RGljdCgpIHsNCiAgICAgIHRoaXMuY2xvdWRUeXBlID0gdGhpcy5nZXREaWN0aW9uYXJ5QnlDb2RlKCd6eS1zc3lwdCcpDQogICAgICBpZiAodGhpcy5jbG91ZFR5cGUubGVuZ3RoKSB7DQogICAgICAgIHRoaXMuYXBwbHlmb3JtLmNsb3VkVHlwZSA9IHBhcnNlSW50KHRoaXMuY2xvdWRUeXBlWzBdLnZhbHVlKQ0KICAgICAgfQ0KICAgIH0sDQogICAgaGFuZGxlT3BlbihwYWdlVHlwZSwgdHlwZSwgaWQpIHsNCiAgICAgIHRoaXMucGFnZVR5cGUgPSBwYWdlVHlwZQ0KICAgICAgdGhpcy50eXBlID0gdHlwZQ0KICAgICAgdGhpcy5oYW5kbGVJbml0RGljdCgpDQogICAgICBpZiAodHlwZSA9PT0gJ2FkZCcpIHsNCiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZQ0KICAgICAgICB0aGlzLmdldENsb3VkVXNlYWdlKCdpbml0JykNCiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2VkaXQnKSB7DQogICAgICAgIHRoaXMuaWQgPSBpZA0KICAgICAgICB0aGlzLmhhbmRsZVF1ZXJ5QXBwbHkoKQ0KICAgICAgICB0aGlzLmhhbmRsZVF1ZXJ5QXBwbHlEZXRhaWwoKQ0KICAgICAgICB0aGlzLmdldENsb3VkVXNlYWdlKCkNCiAgICAgIH0NCiAgICB9LA0KICAgIC8vIOaWsOWinuaXtuiOt+WPluS6kei1hOa6kOS9v+eUqOaDheWGtQ0KICAgIGFzeW5jIGdldENsb3VkVXNlYWdlKHR5cGUpIHsNCiAgICAgIHRoaXMubG9hZGluZyA9IHRydWUNCiAgICAgIGNvbnN0IHsgc3RhdGUsIHZhbHVlfSA9IGF3YWl0IGdldENsb3VkVXNlYWdlKCkNCiAgICAgIGlmKHN0YXRlKXsNCiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2UNCiAgICAgICAgbGV0IHRlbXBEYXRhID0gW10NCiAgICAgICAgdmFsdWUuc29ydCgoYSwgYikgPT4gew0KICAgICAgICAgIHJldHVybiBhLmNsb3VkVHlwZSAtIGIuY2xvdWRUeXBlDQogICAgICAgIH0pDQogICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgICBsZXQgbmV3SXRlbSA9IHsNCiAgICAgICAgICAgIGNsb3VkVHlwZTogaXRlbS5jbG91ZFR5cGUsDQogICAgICAgICAgICBjcHVOdW1Ub3RhbDogaXRlbS5jcHVOdW1Ub3RhbCwNCiAgICAgICAgICAgIGNwdU51bVVzZTogaXRlbS5jcHVOdW1Vc2UsDQogICAgICAgICAgICBjcHVOdW1Vc2VSYXRlOiBpdGVtLmNwdU51bVVzZVJhdGUsDQogICAgICAgICAgICBtZW1vcnlDYXBhY2l0eVRvdGFsOiBpdGVtLm1lbW9yeUNhcGFjaXR5VG90YWwsDQogICAgICAgICAgICBtZW1vcnlDYXBhY2l0eVVzZTogaXRlbS5tZW1vcnlDYXBhY2l0eVVzZSwNCiAgICAgICAgICAgIG1lbW9yeUNhcGFjaXR5VXNlUmF0ZTogaXRlbS5tZW1vcnlDYXBhY2l0eVVzZVJhdGUsDQogICAgICAgICAgICBzdG9yYWdlQ2FwYWNpdHlUb3RhbDogaXRlbS5zdG9yYWdlQ2FwYWNpdHlUb3RhbCwNCiAgICAgICAgICAgIHN0b3JhZ2VDYXBhY2l0eVVzZTogaXRlbS5zdG9yYWdlQ2FwYWNpdHlVc2UsDQogICAgICAgICAgICBzdG9yYWdlQ2FwYWNpdHlVc2VSYXRlOiBpdGVtLnN0b3JhZ2VDYXBhY2l0eVVzZVJhdGUsDQogICAgICAgICAgfQ0KICAgICAgICAgIHRlbXBEYXRhLnB1c2goey4uLm5ld0l0ZW0sIHVzZVR5cGU6IDF9KQ0KICAgICAgICAgIHRlbXBEYXRhLnB1c2goey4uLm5ld0l0ZW0sIHVzZVR5cGU6IDJ9KQ0KICAgICAgICB9KQ0KICAgICAgICBpZiAodHlwZSA9PT0gJ2luaXQnKSB7DQogICAgICAgICAgdGhpcy5hcHBseWZvcm0uY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdCA9IHRlbXBEYXRhDQogICAgICAgIH0NCiAgICAgICAgdGhpcy5vcmlnaW5Vc2VEYXRhID0gXy5jbG9uZURlZXAodGVtcERhdGEpDQogICAgICB9ZWxzZXsNCiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2UNCiAgICAgIH0NCiAgICB9LA0KICAgIGhhbmRsZUZpbGVDaGFuZ2UoZGF0YSkgew0KICAgICAgdGhpcy5hcHBseWZvcm0uY2xvdWRBcHBseUZpbGUgPSBkYXRhDQogICAgfSwNCiAgICBoYW5kbGVSZWNvcmQoKSB7DQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIHRoaXMuJHJlZnMuYXBwbHlSZWNvcmQuaGFuZGxlT3Blbih0aGlzLmFwcGx5Zm9ybSkNCiAgICAgIH0pDQogICAgfSwNCiAgICBoYW5kbGVTYXZlKCkgew0KICAgICAgdGhpcy5zYXZpbmcgPSB0cnVlDQogICAgICB0aGlzLiRyZWZzLmFwcGx5Zm9ybS52YWxpZGF0ZShhc3luYyAoYm9vbCwgb2JqZWN0KSA9PiB7DQogICAgICAgIGlmIChib29sKSB7DQogICAgICAgICAgbGV0IHN1Ym1pdERhdGEgPSB7fQ0KICAgICAgICAgIGxldCB0ZW1wRGF0YSA9IF8uY2xvbmVEZWVwKHRoaXMuYXBwbHlmb3JtKQ0KICAgICAgICAgIHN1Ym1pdERhdGEuY2xvdWRBcHBseSA9IHRlbXBEYXRhDQogICAgICAgICAgc3VibWl0RGF0YS5jbG91ZEFwcGx5VXNlRGV0YWlsZWRMaXN0ID0gdGVtcERhdGEuY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdA0KICAgICAgICAgIGRlbGV0ZSBzdWJtaXREYXRhLmNsb3VkQXBwbHkuY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdA0KICAgICAgICAgIGNvbnN0IHtzdGF0ZSwgbWVzc2FnZSwgdmFsdWV9ID0gYXdhaXQgc2F2ZUFwcGx5KHN1Ym1pdERhdGEpDQogICAgICAgICAgaWYgKHN0YXRlKSB7DQogICAgICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlDQogICAgICAgICAgICB0aGlzLmlkID0gdmFsdWUNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5LqR6LWE5rqQ55Sz6K+35Z+656GA5L+h5oGv5L+d5a2Y5oiQ5Yqf77yBJykNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZQ0KICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKG1lc3NhZ2UpDQogICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygNCiAgICAgICAgICAgIGDmnIkkew0KICAgICAgICAgICAgICBPYmplY3Qua2V5cyhvYmplY3QpLmxlbmd0aA0KICAgICAgICAgICAgfeS4quWtl+auteacqumAmui/h+agoemqjO+8jOivt+ato+ehruWhq+WGmeihqOWNleWGheWuueOAgmANCiAgICAgICAgICApDQogICAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgIH0sDQogICAgYXN5bmMgaGFuZGxlUXVlcnlBcHBseSgpIHsNCiAgICAgIGNvbnN0IHsgY2xvdWRBcHBseSxjbG91ZEFwcGx5VXNlRGV0YWlsZWRMaXN0IH0gPSBhd2FpdCBnZXRBcHBseSh0aGlzLmlkKQ0KICAgICAgaWYoY2xvdWRBcHBseSl7DQogICAgICAgIHRoaXMuYXBwbHlmb3JtID0gY2xvdWRBcHBseQ0KICAgICAgfQ0KICAgICAgaWYgKGNsb3VkQXBwbHlVc2VEZXRhaWxlZExpc3QpIHsNCiAgICAgICAgdGhpcy5hcHBseWZvcm0uY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdCA9IGNsb3VkQXBwbHlVc2VEZXRhaWxlZExpc3QNCiAgICAgIH0NCiAgICAgIHRoaXMuc3RhdHVzID0gdGhpcy5hcHBseWZvcm0uc3RhdHVzDQogICAgICB0aGlzLnJlYWRPbmx5ID0gISh0aGlzLmFwcGx5Zm9ybS5zdGF0dXMgPT09IDAgfHwgdGhpcy5hcHBseWZvcm0uc3RhdHVzID09PSAyMCk7DQogICAgICB0aGlzLmF1ZGl0ID0gdGhpcy5hcHBseWZvcm0uc3RhdHVzID09PSAxMDsNCiAgICAgIGlmICh0aGlzLmFwcGx5Zm9ybS5zdGF0dXMgPT09IDMwKSB7DQogICAgICAgIHRoaXMuZmluaXNoID0gdHJ1ZQ0KICAgICAgICB0aGlzLmFjdGl2ZU5hbWVzID0gWycyJ10NCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuZmluaXNoID0gZmFsc2UNCiAgICAgIH0NCiAgICAgIGlmICh0aGlzLmFwcGx5Zm9ybS5jbG91ZEFwcGx5RmlsZSkgew0KICAgICAgICB0aGlzLiRzZXQoDQogICAgICAgICAgdGhpcy5kYWRUb1NvbiwNCiAgICAgICAgICAnZmlsZUxpc3QnLA0KICAgICAgICAgIHRoaXMuYXBwbHlmb3JtLmNsb3VkQXBwbHlGaWxlDQogICAgICAgICkNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuJHNldCh0aGlzLmRhZFRvU29uLCAnZmlsZUxpc3QnLCBbXSkNCiAgICAgIH0NCiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWUNCiAgICB9LA0KICAgIC8vIOafpeivoui1hOa6kOaYjue7hg0KICAgIGFzeW5jIGhhbmRsZVF1ZXJ5QXBwbHlEZXRhaWwoKSB7DQogICAgICAvLyB0aGlzLmxvYWRpbmdEZXRhaWwgPSB0cnVlDQogICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRBcHBseURldGFpbCh0aGlzLmlkKQ0KICAgICAgdGhpcy5kZXRhaWxUYWJsZURhdGEgPSByZXMudmFsdWUgfHwgW10NCiAgICAgIC8vIHRoaXMubG9hZGluZ0RldGFpbCA9IGZhbHNlDQogICAgfSwNCiAgICBoYW5kbGVBZGREZXRhaWwoKSB7DQogICAgICBpZiAoIXRoaXMuaWQpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7flhYjkv53lrZjkupHotYTmupDnlLPor7fln7rnoYDkv6Hmga/vvIzlho3mt7vliqDotYTmupDnlLPor7fmmI7nu4bvvIEnKQ0KICAgICAgICByZXR1cm4NCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgICB0aGlzLiRyZWZzLmFwcGx5RGV0YWlsRm9ybS5oYW5kbGVPcGVuKHRoaXMucGFnZVR5cGUsICdhZGQnLCB0aGlzLmlkLCB7DQogICAgICAgICAgICBjbG91ZFR5cGU6IHRoaXMuYXBwbHlmb3JtLmNsb3VkVHlwZSwNCiAgICAgICAgICB9KQ0KICAgICAgICB9KQ0KICAgICAgfQ0KICAgIH0sDQogICAgaGFuZGxlRWRpdERldGFpbChyb3cpIHsNCiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgbGV0IHR5cGUgPSAnZWRpdCcNCiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHsNCiAgICAgICAgICB0eXBlID0gJ3JlYWRPbmx5Jw0KICAgICAgICB9DQogICAgICAgIGlmICh0aGlzLmZpbmlzaCAmJiB0aGlzLnJlYWRPbmx5KSB7DQogICAgICAgICAgdHlwZSA9ICdleGN1dGUnDQogICAgICAgIH0NCiAgICAgICAgdGhpcy4kcmVmcy5hcHBseURldGFpbEZvcm0uaGFuZGxlT3Blbih0aGlzLnBhZ2VUeXBlLCB0eXBlLCB0aGlzLmlkLCByb3cpDQogICAgICB9KQ0KICAgIH0sDQogICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbikgew0KICAgICAgdGhpcy5kZXRhaWxEZWxJZCA9IHNlbGVjdGlvbi5tYXAoKGl0ZW0pID0+IGl0ZW0uY2xvdWRBcHBseURldGFpbC5pZCkNCiAgICB9LA0KICAgIGhhbmRsZURlbERldGFpbCgpIHsNCiAgICAgIHRoaXMuJGNvbmZpcm0oJ+ehruWumuWIoOmZpOWQl++8nycsICfmj5DnpLonLCB7DQogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywNCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsDQogICAgICAgIHR5cGU6ICd3YXJuaW5nJywNCiAgICAgIH0pLnRoZW4oKCkgPT4gew0KICAgICAgICBjb25zdCB7c3RhdGUsIG1lc3NhZ2V9ID0gZGVsZXRlQXBwbHlEZXRhaWwodGhpcy5pZCkNCiAgICAgICAgaWYgKHN0YXRlKSB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCfotYTmupDnlLPor7fmmI7nu4bliKDpmaTmiJDlip/vvIEnKQ0KICAgICAgICAgIHRoaXMuaGFuZGxlUXVlcnlBcHBseURldGFpbCgpDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKG1lc3NhZ2UpDQogICAgICAgIH0NCiAgICAgIH0pDQogICAgfSwNCiAgICAvLyDlrqHmoLgNCiAgICBoYW5kbGVBcHByb3ZhbCh0eXBlKSB7DQogICAgICBpZiAoIXRoaXMuaWQpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7flhYjloavlhpnnp4HmnInkupHotYTmupDkv6Hmga/vvIzlho3lj5HotbflrqHmoLjvvIEnKQ0KICAgICAgICByZXR1cm4NCiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGV0YWlsVGFibGVEYXRhLmxlbmd0aCkgew0KICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+WFiOWhq+WGmeengeacieS6kei1hOa6kOeUs+ivt+aYjue7hu+8jOWGjeWPkei1t+WuoeaguO+8gScpDQogICAgICAgIHJldHVybg0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgICAgIHRoaXMuJHJlZnMuYXBwbHlBcHByb3ZhbC5oYW5kbGVPcGVuKHR5cGUsIHRoaXMuaWQpDQogICAgICAgIH0pDQogICAgICB9DQogICAgfSwNCiAgICAvL+eUs+ivt+ihqOWvvOWHug0KICAgIGFzeW5jIGFwcGxpY2F0aW9uRm9ybSgpew0KICAgICAgYXdhaXQgZG93bmxvYWRBcHBseSh0aGlzLmlkKQ0KICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCflr7zlh7rmiJDlip8nKQ0KICAgIH0sDQogICAgLy8g5Yig6ZmkDQogICAgZGVsZXRlUm91cmNlQ2hhbmdlKCl7DQogICAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSB0cnVlDQogICAgICB0aGlzLiRjb25maXJtKCfnoa7lrprliKDpmaTlkJfvvJ8nLCAn5o+Q56S6Jywgew0KICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsDQogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICB0eXBlOiAnd2FybmluZycsDQogICAgICB9KS50aGVuKCgpID0+IHsNCiAgICAgICAgY29uc3Qge3N0YXRlLG1lc3NhZ2V9ID0gZGVsZXRlQXBwbHlMaXN0KHRoaXMuaWQpDQogICAgICAgIGlmKHN0YXRlKXsNCiAgICAgICAgICB0aGlzLmJ1dHRvbkxvYWRpbmcgPSBmYWxzZQ0KICAgICAgICAgIHRoaXMuZ29CYWNrKCkNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WIoOmZpOaIkOWKnycpDQogICAgICAgIH1lbHNlew0KICAgICAgICAgIHRoaXMuYnV0dG9uTG9hZGluZyA9IGZhbHNlDQogICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKG1lc3NhZ2UpDQogICAgICAgIH0NCiAgICAgIH0pDQogICAgfSwNCg0KICAgIGhhbmRsZUNsb3NlKCkgew0KICAgICAgdGhpcy4kc2V0KHRoaXMuZGFkVG9Tb24sICdmaWxlTGlzdCcsIFtdKQ0KICAgICAgdGhpcy5hY3RpdmVOYW1lcyA9IFsnMSddDQogICAgICB0aGlzLnR5cGUgPSAnJw0KICAgICAgdGhpcy5yZWFkT25seSA9IGZhbHNlDQogICAgICB0aGlzLmF1ZGl0ID0gZmFsc2UNCiAgICAgIHRoaXMuZmluaXNoID0gZmFsc2UNCiAgICAgIHRoaXMucGFnZVR5cGUgPSAnJw0KICAgICAgdGhpcy5pZCA9ICcnDQogICAgICB0aGlzLmFwcGx5Zm9ybSA9IHsNCiAgICAgICAgYXBwbHlEYXRlOiBtb21lbnQoKS5mb3JtYXQoJ1lZWVktTU0tREQnKSwNCiAgICAgICAgY2xvdWRUeXBlOiBudWxsLA0KICAgICAgICBjbG91ZEFwcGx5RmlsZTogW10sDQogICAgICAgIGNsb3VkQXBwbHlVc2VEZXRhaWxlZExpc3Q6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICBjbG91ZFR5cGU6IDEsDQogICAgICAgICAgICB1c2VUeXBlOiAxLA0KICAgICAgICAgIH0sDQogICAgICAgICAgew0KICAgICAgICAgICAgY2xvdWRUeXBlOiAxLA0KICAgICAgICAgICAgdXNlVHlwZTogMiwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIGNsb3VkVHlwZTogMiwNCiAgICAgICAgICAgIHVzZVR5cGU6IDEsDQogICAgICAgICAgfSwNCiAgICAgICAgICB7DQogICAgICAgICAgICBjbG91ZFR5cGU6IDIsDQogICAgICAgICAgICB1c2VUeXBlOiAyLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICB9DQogICAgICB0aGlzLmRldGFpbFRhYmxlRGF0YSA9IFtdDQogICAgICB0aGlzLmRldGFpbERlbElkID0gW10NCiAgICAgIHRoaXMub3JpZ2luVXNlRGF0YSA9IFtdIC8vIOi1hOa6kOS9v+eUqOaDheWGteWOn+Wni+aVsOaNrg0KICAgICAgdGhpcy4kZW1pdCgncmVsb2FkJykNCiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IGZhbHNlDQogICAgfSwNCiAgICAvLyDkupHlubPlj7Dnsbvlnovlj5jljJbvvIzmuIXnqbrlupTnlKjns7vnu5/op4TmqKHmlbDmja7vvIzov5jljp/liIbphY3lkI7mlbDmja4NCiAgICBoYW5kbGVDaGFuZ2VDbG91ZFR5cGUoKSB7DQogICAgICBkZWxldGUgdGhpcy5hcHBseWZvcm0uY3B1TnVtDQogICAgICBkZWxldGUgdGhpcy5hcHBseWZvcm0uZGF0YUNhcGFjaXR5DQogICAgICBkZWxldGUgdGhpcy5hcHBseWZvcm0ubWVtb3J5Q2FwYWNpdHkNCiAgICAgIHRoaXMuYXBwbHlmb3JtLmNsb3VkQXBwbHlVc2VEZXRhaWxlZExpc3QgPSBfLmNsb25lRGVlcCh0aGlzLm9yaWdpblVzZURhdGEpDQogICAgICB0aGlzLiRmb3JjZVVwZGF0ZSgpDQogICAgfSwNCiAgICAvLyDnlLPor7fmlbDmja7lj5jljJbvvIzlop7liqDkvb/nlKjlgLwNCiAgICBoYW5kbGVDaGFuZ2VBcHBseVVzZShkYXRhVHlwZSwgY2xvdWRUeXBlLCBjdXJWKSB7DQogICAgICBsZXQgY2hhbmdlRGF0YSwgb3JpZ2luRGF0YSwgaW5kZXgNCiAgICAgIGlmIChjbG91ZFR5cGUgPT09IDEpIHsNCiAgICAgICAgY2hhbmdlRGF0YSA9IHRoaXMuYXBwbHlmb3JtLmNsb3VkQXBwbHlVc2VEZXRhaWxlZExpc3RbMV0NCiAgICAgICAgb3JpZ2luRGF0YSA9IHRoaXMub3JpZ2luVXNlRGF0YVsxXQ0KICAgICAgICBpbmRleCA9IDENCiAgICAgIH0gZWxzZSBpZiAoY2xvdWRUeXBlID09PSAyKSB7DQogICAgICAgIGNoYW5nZURhdGEgPSB0aGlzLmFwcGx5Zm9ybS5jbG91ZEFwcGx5VXNlRGV0YWlsZWRMaXN0WzNdDQogICAgICAgIG9yaWdpbkRhdGEgPSB0aGlzLm9yaWdpblVzZURhdGFbM10NCiAgICAgICAgaW5kZXggPSAzDQogICAgICB9DQoNCiAgICAgIGxldCBjdXJyZW50VmFsVGFucyA9IGN1clYNCiAgICAgIC8vIOWGheWuueOAgeWCqOWtmOWtl+autemcgOWNleS9jeaNoueulyBHIC0+IFRCIOS/neeVmTLkvY3lsI/mlbANCiAgICAgIGlmIChkYXRhVHlwZSAhPT0gJ2NwdU51bScpIHsNCiAgICAgICAgY3VycmVudFZhbFRhbnMgPSBwYXJzZUZsb2F0KChjdXJWIC8gMTAyNCkudG9GaXhlZCgyKSkNCiAgICAgIH0NCg0KICAgICAgY2hhbmdlRGF0YVtgJHtkYXRhVHlwZX1Vc2VgXSA9IHBhcnNlRmxvYXQoDQogICAgICAgIChvcmlnaW5EYXRhW2Ake2RhdGFUeXBlfVVzZWBdICsgY3VycmVudFZhbFRhbnMpLnRvRml4ZWQoMikNCiAgICAgICkNCg0KICAgICAgY2hhbmdlRGF0YVtgJHtkYXRhVHlwZX1Vc2VSYXRlYF0gPSBwYXJzZUZsb2F0KA0KICAgICAgICAoDQogICAgICAgICAgKGNoYW5nZURhdGFbYCR7ZGF0YVR5cGV9VXNlYF0gLyBjaGFuZ2VEYXRhW2Ake2RhdGFUeXBlfVRvdGFsYF0pICoNCiAgICAgICAgICAxMDANCiAgICAgICAgKS50b0ZpeGVkKDIpDQogICAgICApDQogICAgICB0aGlzLmFwcGx5Zm9ybS5jbG91ZEFwcGx5VXNlRGV0YWlsZWRMaXN0LnNwbGljZShpbmRleCwgMSwgY2hhbmdlRGF0YSkNCiAgICB9LA0KICAgIC8vIOaAu+aVsOaNruWPmOWMluiuoeeul+avlOeOhw0KICAgIGhhbmRsZUNoYW5nZVRvdGFsKGRhdGFUeXBlLCBpbmRleCwgY3VyVikgew0KICAgICAgbGV0IGNoYW5nZURhdGEgPSB0aGlzLmFwcGx5Zm9ybS5jbG91ZEFwcGx5VXNlRGV0YWlsZWRMaXN0W2luZGV4XQ0KDQogICAgICBjaGFuZ2VEYXRhW2Ake2RhdGFUeXBlfVVzZVJhdGVgXSA9IHBhcnNlRmxvYXQoDQogICAgICAgICgoY2hhbmdlRGF0YVtgJHtkYXRhVHlwZX1Vc2VgXSAvIGN1clYpICogMTAwKS50b0ZpeGVkKDIpDQogICAgICApDQoNCiAgICAgIHRoaXMuYXBwbHlmb3JtLmNsb3VkQXBwbHlVc2VEZXRhaWxlZExpc3Quc3BsaWNlKGluZGV4LCAxLCBjaGFuZ2VEYXRhKQ0KICAgIH0sDQogICAgLy8g5L2/55So5pWw5o2u5Y+Y5YyW6K6h566X5q+U546HDQogICAgaGFuZGxlQ2hhbmdlVXNlKGRhdGFUeXBlLCBpbmRleCwgY3VyVikgew0KICAgICAgbGV0IGNoYW5nZURhdGEgPSB0aGlzLmFwcGx5Zm9ybS5jbG91ZEFwcGx5VXNlRGV0YWlsZWRMaXN0W2luZGV4XQ0KDQogICAgICBjaGFuZ2VEYXRhW2Ake2RhdGFUeXBlfVVzZVJhdGVgXSA9IHBhcnNlRmxvYXQoDQogICAgICAgICgoY3VyViAvIGNoYW5nZURhdGFbYCR7ZGF0YVR5cGV9VG90YWxgXSkgKiAxMDApLnRvRml4ZWQoMikNCiAgICAgICkNCg0KICAgICAgdGhpcy5hcHBseWZvcm0uY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdC5zcGxpY2UoaW5kZXgsIDEsIGNoYW5nZURhdGEpDQogICAgfSwNCiAgICAvLyDmlbDmja7lrZfmrrXmoKHpqowNCiAgICB2YWxpZGF0ZUNwdU51bVRvdGFsKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgew0KICAgICAgbGV0IGluZGV4ID0gcnVsZS5maWVsZC5zcGxpdCgnLicpWzFdDQogICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5hcHBseWZvcm0uY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdFtpbmRleF0NCiAgICAgIGlmICh0YXJnZXQuY3B1TnVtVXNlID4gdmFsdWUpIHsNCiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCdDUFXmgLvmoLjlv4PmlbDlsI/kuo7kvb/nlKjmoLjlv4PmlbDvvIEnKSkNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGNhbGxiYWNrKCkNCiAgICAgIH0NCiAgICB9LA0KICAgIHZhbGlkYXRlQ3B1TnVtVXNlKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgew0KICAgICAgbGV0IGluZGV4ID0gcnVsZS5maWVsZC5zcGxpdCgnLicpWzFdDQogICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5hcHBseWZvcm0uY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdFtpbmRleF0NCiAgICAgIGlmICh0YXJnZXQuY3B1TnVtVG90YWwgPCB2YWx1ZSkgew0KICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ0NQVeS9v+eUqOaguOW/g+aVsOi2hei/h+aAu+aguOW/g+aVsO+8gScpKQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgY2FsbGJhY2soKQ0KICAgICAgfQ0KICAgIH0sDQogICAgdmFsaWRhdGVDYXBhY2l0eVRvdGFsKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgew0KICAgICAgbGV0IGluZGV4ID0gcnVsZS5maWVsZC5zcGxpdCgnLicpWzFdDQogICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5hcHBseWZvcm0uY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdFtpbmRleF0NCiAgICAgIGlmICh0YXJnZXQubWVtb3J5Q2FwYWNpdHlVc2UgPiB2YWx1ZSkgew0KICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+WGheWtmOaAu+WuuemHj+aVsOWwj+S6juS9v+eUqOWuuemHj++8gScpKQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgY2FsbGJhY2soKQ0KICAgICAgfQ0KICAgIH0sDQogICAgdmFsaWRhdGVDYXBhY2l0eVVzZShydWxlLCB2YWx1ZSwgY2FsbGJhY2spIHsNCiAgICAgIGxldCBpbmRleCA9IHJ1bGUuZmllbGQuc3BsaXQoJy4nKVsxXQ0KICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYXBwbHlmb3JtLmNsb3VkQXBwbHlVc2VEZXRhaWxlZExpc3RbaW5kZXhdDQogICAgICBpZiAodGFyZ2V0Lm1lbW9yeUNhcGFjaXR5VG90YWwgPCB2YWx1ZSkgew0KICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+WGheWtmOS9v+eUqOWuuemHj+aVsOi2hei/h+aAu+WuuemHj++8gScpKQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgY2FsbGJhY2soKQ0KICAgICAgfQ0KICAgIH0sDQogICAgdmFsaWRhdGVTdG9yYWdlVG90YWwocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSB7DQogICAgICBsZXQgaW5kZXggPSBydWxlLmZpZWxkLnNwbGl0KCcuJylbMV0NCiAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmFwcGx5Zm9ybS5jbG91ZEFwcGx5VXNlRGV0YWlsZWRMaXN0W2luZGV4XQ0KICAgICAgaWYgKHRhcmdldC5zdG9yYWdlQ2FwYWNpdHlVc2UgPiB2YWx1ZSkgew0KICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+WCqOWtmOaAu+WuuemHj+Wwj+S6juS9v+eUqOWuuemHj++8gScpKQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgY2FsbGJhY2soKQ0KICAgICAgfQ0KICAgIH0sDQogICAgdmFsaWRhdGVTdG9yYWdlVXNlKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgew0KICAgICAgbGV0IGluZGV4ID0gcnVsZS5maWVsZC5zcGxpdCgnLicpWzFdDQogICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5hcHBseWZvcm0uY2xvdWRBcHBseVVzZURldGFpbGVkTGlzdFtpbmRleF0NCiAgICAgIGlmICh0YXJnZXQuc3RvcmFnZUNhcGFjaXR5VG90YWwgPCB2YWx1ZSkgew0KICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+WCqOWtmOS9v+eUqOWuuemHj+i2hei/h+aAu+WuuemHj++8gScpKQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgY2FsbGJhY2soKQ0KICAgICAgfQ0KICAgIH0sDQogIH0sDQp9DQo="},null]}