// vite.config.js import path2 from "path"; import { defineConfig, loadEnv } from "file:///D:/code/pasd_V1.0/pasd_pc/node_modules/vite/dist/node/index.js"; // src/settings.js var settings_default = { /** * 网页标题 */ title: import.meta.env?.VITE_APP_TITLE || "\u5E73\u5B89\u6C34\u7535", /** * 侧边栏主题 深色主题theme-dark,浅色主题theme-light */ sideTheme: "theme-dark", /** * 是否系统布局配置 */ showSettings: true, /** * 是否显示顶部导航 */ topNav: false, /** * 是否显示 tagsView */ tagsView: true, /** * 是否固定头部 */ fixedHeader: false, /** * 是否显示logo */ sidebarLogo: true, /** * 是否显示动态标题 */ dynamicTitle: false, /** * @type {string | array} 'production' | ['production', 'development'] * @description Need show err logs component. * The default is only used in the production env * If you want to also use it in dev, you can pass ['production', 'development'] */ errorLog: "production", /** * CAS登录配置 */ // 是否启用CAS登录 (true: CAS登录模式, false: 传统登录模式) casEnable: (import.meta.env?.VITE_APP_CAS_ENABLE || "false") === "true", // CAS服务器地址 casServerUrl: import.meta.env?.VITE_APP_CAS_SERVER_URL || "https://rsso.gxsdxy.cn", // CAS票据验证地址(CAS3默认 p3) casValidateUrl: import.meta.env?.VITE_APP_CAS_VALIDATE_URL || "https://rsso.gxsdxy.cn/p3/serviceValidate", // 部署路径配置 (CAS模式: /cas/, 传统模式: /srs/) deployPath: function() { return this.casEnable ? "/cas/" : "/srs/"; } }; // vite/plugins/index.js import vue from "file:///D:/code/pasd_V1.0/pasd_pc/node_modules/@vitejs/plugin-vue/dist/index.mjs"; // vite/plugins/auto-import.js import autoImport from "file:///D:/code/pasd_V1.0/pasd_pc/node_modules/unplugin-auto-import/dist/vite.js"; function createAutoImport() { return autoImport({ imports: [ "vue", "vue-router", "pinia" ], dts: false }); } // vite/plugins/svg-icon.js import { createSvgIconsPlugin } from "file:///D:/code/pasd_V1.0/pasd_pc/node_modules/vite-plugin-svg-icons/dist/index.mjs"; import path from "path"; function createSvgIcon(isBuild) { return createSvgIconsPlugin({ iconDirs: [path.resolve(process.cwd(), "src/assets/icons/svg")], symbolId: "icon-[dir]-[name]", svgoOptions: isBuild }); } // vite/plugins/compression.js import compression from "file:///D:/code/pasd_V1.0/pasd_pc/node_modules/vite-plugin-compression/dist/index.mjs"; function createCompression(env) { const { VITE_BUILD_COMPRESS } = env; const plugin = []; if (VITE_BUILD_COMPRESS) { const compressList = VITE_BUILD_COMPRESS.split(","); if (compressList.includes("gzip")) { plugin.push( compression({ ext: ".gz", deleteOriginFile: false }) ); } if (compressList.includes("brotli")) { plugin.push( compression({ ext: ".br", algorithm: "brotliCompress", deleteOriginFile: false }) ); } } return plugin; } // vite/plugins/setup-extend.js import setupExtend from "file:///D:/code/pasd_V1.0/pasd_pc/node_modules/unplugin-vue-setup-extend-plus/dist/vite.js"; function createSetupExtend() { return setupExtend({}); } // vite/plugins/index.js function createVitePlugins(viteEnv, isBuild = false) { const vitePlugins = [vue()]; vitePlugins.push(createAutoImport()); vitePlugins.push(createSetupExtend()); vitePlugins.push(createSvgIcon(isBuild)); isBuild && vitePlugins.push(...createCompression(viteEnv)); return vitePlugins; } // vite.config.js var __vite_injected_original_dirname = "D:\\code\\pasd_V1.0\\pasd_pc"; var vite_config_default = defineConfig(({ mode, command }) => { const env = loadEnv(mode, process.cwd()); const { VITE_APP_ENV } = env; return { // 部署生产环境和开发环境下的URL. // 根据CAS配置动态设置base路径 base: env.VITE_APP_ENV === "production" ? settings_default.deployPath() : "/", plugins: createVitePlugins(env, command === "build"), resolve: { // https://cn.vitejs.dev/config/#resolve-alias alias: { "~": path2.resolve(__vite_injected_original_dirname, "./"), "@": path2.resolve(__vite_injected_original_dirname, "./src") }, // https://cn.vitejs.dev/config/#resolve-extensions extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"] }, server: { host: true, open: true, proxy: { // https://cn.vitejs.dev/config/#server-proxy "/dev-api": { // target: 'http://localhost:8080', // 测试 target: "http://172.16.129.101:8080", // 正式环境 changeOrigin: true, rewrite: (p) => p.replace(/^\/dev-api/, "") }, // 添加对第三方 API 的代理配置 "/api/v1/jssdk/upload": { target: "https://px.effirst.com", changeOrigin: true, rewrite: (p) => p.replace(/^\/api\/v1\/jssdk\/upload/, "/api/v1/jssdk/upload") } } }, // fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file css: { postcss: { plugins: [ { postcssPlugin: "internal:charset-removal", AtRule: { charset: (atRule) => { if (atRule.name === "charset") { atRule.remove(); } } } } ] } }, build: { target: "es2015", // 指定编译目标 minify: "terser", terserOptions: { compress: { drop_console: true, drop_debugger: true } } } }; }); export { vite_config_default as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAic3JjL3NldHRpbmdzLmpzIiwgInZpdGUvcGx1Z2lucy9pbmRleC5qcyIsICJ2aXRlL3BsdWdpbnMvYXV0by1pbXBvcnQuanMiLCAidml0ZS9wbHVnaW5zL3N2Zy1pY29uLmpzIiwgInZpdGUvcGx1Z2lucy9jb21wcmVzc2lvbi5qcyIsICJ2aXRlL3BsdWdpbnMvc2V0dXAtZXh0ZW5kLmpzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRDpcXFxcY29kZVxcXFxwYXNkX1YxLjBcXFxccGFzZF9wY1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRDpcXFxcY29kZVxcXFxwYXNkX1YxLjBcXFxccGFzZF9wY1xcXFx2aXRlLmNvbmZpZy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovY29kZS9wYXNkX1YxLjAvcGFzZF9wYy92aXRlLmNvbmZpZy5qc1wiO2ltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXHJcbmltcG9ydCB7IGRlZmluZUNvbmZpZywgbG9hZEVudiB9IGZyb20gJ3ZpdGUnXHJcbmltcG9ydCBzZXR0aW5ncyBmcm9tICcuL3NyYy9zZXR0aW5ncydcclxuaW1wb3J0IGNyZWF0ZVZpdGVQbHVnaW5zIGZyb20gJy4vdml0ZS9wbHVnaW5zJ1xyXG5cclxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cclxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKCh7IG1vZGUsIGNvbW1hbmQgfSkgPT4ge1xyXG4gIGNvbnN0IGVudiA9IGxvYWRFbnYobW9kZSwgcHJvY2Vzcy5jd2QoKSlcclxuICBjb25zdCB7IFZJVEVfQVBQX0VOViB9ID0gZW52XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICAvLyBcdTkwRThcdTdGNzJcdTc1MUZcdTRFQTdcdTczQUZcdTU4ODNcdTU0OENcdTVGMDBcdTUzRDFcdTczQUZcdTU4ODNcdTRFMEJcdTc2ODRVUkwuXHJcbiAgICAvLyBcdTY4MzlcdTYzNkVDQVNcdTkxNERcdTdGNkVcdTUyQThcdTYwMDFcdThCQkVcdTdGNkViYXNlXHU4REVGXHU1Rjg0XHJcbiAgICBiYXNlOiBlbnYuVklURV9BUFBfRU5WID09PSAncHJvZHVjdGlvbicgPyBzZXR0aW5ncy5kZXBsb3lQYXRoKCkgOiAnLycsXHJcbiAgICBwbHVnaW5zOiBjcmVhdGVWaXRlUGx1Z2lucyhlbnYsIGNvbW1hbmQgPT09ICdidWlsZCcpLFxyXG4gICAgcmVzb2x2ZToge1xyXG4gICAgICAvLyBodHRwczovL2NuLnZpdGVqcy5kZXYvY29uZmlnLyNyZXNvbHZlLWFsaWFzXHJcbiAgICAgIGFsaWFzOiB7XHJcbiAgICAgICAgJ34nOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi8nKSxcclxuICAgICAgICAnQCc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYycpXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIGh0dHBzOi8vY24udml0ZWpzLmRldi9jb25maWcvI3Jlc29sdmUtZXh0ZW5zaW9uc1xyXG4gICAgICBleHRlbnNpb25zOiBbJy5tanMnLCAnLmpzJywgJy50cycsICcuanN4JywgJy50c3gnLCAnLmpzb24nLCAnLnZ1ZSddXHJcbiAgICB9LFxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIGhvc3Q6IHRydWUsXHJcbiAgICAgIG9wZW46IHRydWUsXHJcbiAgICAgIHByb3h5OiB7XHJcbiAgICAgICAgLy8gaHR0cHM6Ly9jbi52aXRlanMuZGV2L2NvbmZpZy8jc2VydmVyLXByb3h5XHJcbiAgICAgICAgJy9kZXYtYXBpJzoge1xyXG4gICAgICAgICAgICAvLyB0YXJnZXQ6ICdodHRwOi8vbG9jYWxob3N0OjgwODAnLCAvLyBcdTZENEJcdThCRDVcclxuICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly8xNzIuMTYuMTI5LjEwMTo4MDgwJywgLy8gXHU2QjYzXHU1RjBGXHU3M0FGXHU1ODgzXHJcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXHJcbiAgICAgICAgICByZXdyaXRlOiAocCkgPT4gcC5yZXBsYWNlKC9eXFwvZGV2LWFwaS8sICcnKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gXHU2REZCXHU1MkEwXHU1QkY5XHU3QjJDXHU0RTA5XHU2NUI5IEFQSSBcdTc2ODRcdTRFRTNcdTc0MDZcdTkxNERcdTdGNkVcclxuICAgICAgICAnL2FwaS92MS9qc3Nkay91cGxvYWQnOiB7XHJcbiAgICAgICAgICB0YXJnZXQ6ICdodHRwczovL3B4LmVmZmlyc3QuY29tJyxcclxuICAgICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcclxuICAgICAgICAgIHJld3JpdGU6IChwKSA9PiBwLnJlcGxhY2UoL15cXC9hcGlcXC92MVxcL2pzc2RrXFwvdXBsb2FkLywgJy9hcGkvdjEvanNzZGsvdXBsb2FkJylcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvLyBmaXg6ZXJyb3I6c3RkaW4+OjczNTY6MTogd2FybmluZzogXCJAY2hhcnNldFwiIG11c3QgYmUgdGhlIGZpcnN0IHJ1bGUgaW4gdGhlIGZpbGVcclxuICAgIGNzczoge1xyXG4gICAgICBwb3N0Y3NzOiB7XHJcbiAgICAgICAgcGx1Z2luczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwb3N0Y3NzUGx1Z2luOiAnaW50ZXJuYWw6Y2hhcnNldC1yZW1vdmFsJyxcclxuICAgICAgICAgICAgQXRSdWxlOiB7XHJcbiAgICAgICAgICAgICAgY2hhcnNldDogKGF0UnVsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGF0UnVsZS5uYW1lID09PSAnY2hhcnNldCcpIHtcclxuICAgICAgICAgICAgICAgICAgYXRSdWxlLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGJ1aWxkOiB7XHJcbiAgICAgIHRhcmdldDogJ2VzMjAxNScsIC8vIFx1NjMwN1x1NUI5QVx1N0YxNlx1OEJEMVx1NzZFRVx1NjgwN1xyXG4gICAgICBtaW5pZnk6ICd0ZXJzZXInLFxyXG4gICAgICB0ZXJzZXJPcHRpb25zOiB7XHJcbiAgICAgICAgY29tcHJlc3M6IHtcclxuICAgICAgICAgIGRyb3BfY29uc29sZTogdHJ1ZSxcclxuICAgICAgICAgIGRyb3BfZGVidWdnZXI6IHRydWUsXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59KSIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRDpcXFxcY29kZVxcXFxwYXNkX1YxLjBcXFxccGFzZF9wY1xcXFxzcmNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGNvZGVcXFxccGFzZF9WMS4wXFxcXHBhc2RfcGNcXFxcc3JjXFxcXHNldHRpbmdzLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi9jb2RlL3Bhc2RfVjEuMC9wYXNkX3BjL3NyYy9zZXR0aW5ncy5qc1wiO2V4cG9ydCBkZWZhdWx0IHtcclxuICAvKipcclxuICAgKiBcdTdGNTFcdTk4NzVcdTY4MDdcdTk4OThcclxuICAgKi9cclxuICB0aXRsZTogaW1wb3J0Lm1ldGEuZW52Py5WSVRFX0FQUF9USVRMRSB8fCAnXHU1RTczXHU1Qjg5XHU2QzM0XHU3NTM1JyxcclxuICAvKipcclxuICAgKiBcdTRGQTdcdThGQjlcdTY4MEZcdTRFM0JcdTk4OTggXHU2REYxXHU4MjcyXHU0RTNCXHU5ODk4dGhlbWUtZGFyayxcdTZENDVcdTgyNzJcdTRFM0JcdTk4OTh0aGVtZS1saWdodFxyXG4gICAqL1xyXG4gIHNpZGVUaGVtZTogJ3RoZW1lLWRhcmsnLFxyXG4gIC8qKlxyXG4gICAqIFx1NjYyRlx1NTQyNlx1N0NGQlx1N0VERlx1NUUwM1x1NUM0MFx1OTE0RFx1N0Y2RVxyXG4gICAqL1xyXG4gIHNob3dTZXR0aW5nczogdHJ1ZSxcclxuXHJcbiAgLyoqXHJcbiAgICogXHU2NjJGXHU1NDI2XHU2NjNFXHU3OTNBXHU5ODc2XHU5MEU4XHU1QkZDXHU4MjJBXHJcbiAgICovXHJcbiAgdG9wTmF2OiBmYWxzZSxcclxuXHJcbiAgLyoqXHJcbiAgICogXHU2NjJGXHU1NDI2XHU2NjNFXHU3OTNBIHRhZ3NWaWV3XHJcbiAgICovXHJcbiAgdGFnc1ZpZXc6IHRydWUsXHJcblxyXG4gIC8qKlxyXG4gICAqIFx1NjYyRlx1NTQyNlx1NTZGQVx1NUI5QVx1NTkzNFx1OTBFOFxyXG4gICAqL1xyXG4gIGZpeGVkSGVhZGVyOiBmYWxzZSxcclxuXHJcbiAgLyoqXHJcbiAgICogXHU2NjJGXHU1NDI2XHU2NjNFXHU3OTNBbG9nb1xyXG4gICAqL1xyXG4gIHNpZGViYXJMb2dvOiB0cnVlLFxyXG5cclxuICAvKipcclxuICAgKiBcdTY2MkZcdTU0MjZcdTY2M0VcdTc5M0FcdTUyQThcdTYwMDFcdTY4MDdcdTk4OThcclxuICAgKi9cclxuICBkeW5hbWljVGl0bGU6IGZhbHNlLFxyXG5cclxuICAvKipcclxuICAgKiBAdHlwZSB7c3RyaW5nIHwgYXJyYXl9ICdwcm9kdWN0aW9uJyB8IFsncHJvZHVjdGlvbicsICdkZXZlbG9wbWVudCddXHJcbiAgICogQGRlc2NyaXB0aW9uIE5lZWQgc2hvdyBlcnIgbG9ncyBjb21wb25lbnQuXHJcbiAgICogVGhlIGRlZmF1bHQgaXMgb25seSB1c2VkIGluIHRoZSBwcm9kdWN0aW9uIGVudlxyXG4gICAqIElmIHlvdSB3YW50IHRvIGFsc28gdXNlIGl0IGluIGRldiwgeW91IGNhbiBwYXNzIFsncHJvZHVjdGlvbicsICdkZXZlbG9wbWVudCddXHJcbiAgICovXHJcbiAgZXJyb3JMb2c6ICdwcm9kdWN0aW9uJyxcclxuXHJcbiAgLyoqXHJcbiAgICogQ0FTXHU3NjdCXHU1RjU1XHU5MTREXHU3RjZFXHJcbiAgICovXHJcbiAgLy8gXHU2NjJGXHU1NDI2XHU1NDJGXHU3NTI4Q0FTXHU3NjdCXHU1RjU1ICh0cnVlOiBDQVNcdTc2N0JcdTVGNTVcdTZBMjFcdTVGMEYsIGZhbHNlOiBcdTRGMjBcdTdFREZcdTc2N0JcdTVGNTVcdTZBMjFcdTVGMEYpXHJcbiAgY2FzRW5hYmxlOiAoaW1wb3J0Lm1ldGEuZW52Py5WSVRFX0FQUF9DQVNfRU5BQkxFIHx8ICdmYWxzZScpID09PSAndHJ1ZScsXHJcbiAgXHJcbiAgLy8gQ0FTXHU2NzBEXHU1MkExXHU1NjY4XHU1NzMwXHU1NzQwXHJcbiAgY2FzU2VydmVyVXJsOiBpbXBvcnQubWV0YS5lbnY/LlZJVEVfQVBQX0NBU19TRVJWRVJfVVJMIHx8ICdodHRwczovL3Jzc28uZ3hzZHh5LmNuJyxcclxuXHJcbiAgLy8gQ0FTXHU3OTY4XHU2MzZFXHU5QThDXHU4QkMxXHU1NzMwXHU1NzQwXHVGRjA4Q0FTM1x1OUVEOFx1OEJBNCBwM1x1RkYwOVxyXG4gIGNhc1ZhbGlkYXRlVXJsOiBpbXBvcnQubWV0YS5lbnY/LlZJVEVfQVBQX0NBU19WQUxJREFURV9VUkwgfHwgJ2h0dHBzOi8vcnNzby5neHNkeHkuY24vcDMvc2VydmljZVZhbGlkYXRlJyxcclxuICBcclxuICAvLyBcdTkwRThcdTdGNzJcdThERUZcdTVGODRcdTkxNERcdTdGNkUgKENBU1x1NkEyMVx1NUYwRjogL2Nhcy8sIFx1NEYyMFx1N0VERlx1NkEyMVx1NUYwRjogL3Nycy8pXHJcbiAgZGVwbG95UGF0aDogZnVuY3Rpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXNFbmFibGUgPyAnL2Nhcy8nIDogJy9zcnMvJ1xyXG4gIH1cclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkQ6XFxcXGNvZGVcXFxccGFzZF9WMS4wXFxcXHBhc2RfcGNcXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxjb2RlXFxcXHBhc2RfVjEuMFxcXFxwYXNkX3BjXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxpbmRleC5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovY29kZS9wYXNkX1YxLjAvcGFzZF9wYy92aXRlL3BsdWdpbnMvaW5kZXguanNcIjtpbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSdcclxuXHJcbmltcG9ydCBjcmVhdGVBdXRvSW1wb3J0IGZyb20gJy4vYXV0by1pbXBvcnQnXHJcbmltcG9ydCBjcmVhdGVTdmdJY29uIGZyb20gJy4vc3ZnLWljb24nXHJcbmltcG9ydCBjcmVhdGVDb21wcmVzc2lvbiBmcm9tICcuL2NvbXByZXNzaW9uJ1xyXG5pbXBvcnQgY3JlYXRlU2V0dXBFeHRlbmQgZnJvbSAnLi9zZXR1cC1leHRlbmQnXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVWaXRlUGx1Z2lucyh2aXRlRW52LCBpc0J1aWxkID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IHZpdGVQbHVnaW5zID0gW3Z1ZSgpXVxyXG4gICAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVBdXRvSW1wb3J0KCkpXHJcblx0dml0ZVBsdWdpbnMucHVzaChjcmVhdGVTZXR1cEV4dGVuZCgpKVxyXG4gICAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVTdmdJY29uKGlzQnVpbGQpKVxyXG5cdGlzQnVpbGQgJiYgdml0ZVBsdWdpbnMucHVzaCguLi5jcmVhdGVDb21wcmVzc2lvbih2aXRlRW52KSlcclxuICAgIHJldHVybiB2aXRlUGx1Z2luc1xyXG59XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRDpcXFxcY29kZVxcXFxwYXNkX1YxLjBcXFxccGFzZF9wY1xcXFx2aXRlXFxcXHBsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGNvZGVcXFxccGFzZF9WMS4wXFxcXHBhc2RfcGNcXFxcdml0ZVxcXFxwbHVnaW5zXFxcXGF1dG8taW1wb3J0LmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi9jb2RlL3Bhc2RfVjEuMC9wYXNkX3BjL3ZpdGUvcGx1Z2lucy9hdXRvLWltcG9ydC5qc1wiO2ltcG9ydCBhdXRvSW1wb3J0IGZyb20gJ3VucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGUnXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVBdXRvSW1wb3J0KCkge1xyXG4gICAgcmV0dXJuIGF1dG9JbXBvcnQoe1xyXG4gICAgICAgIGltcG9ydHM6IFtcclxuICAgICAgICAgICAgJ3Z1ZScsXHJcbiAgICAgICAgICAgICd2dWUtcm91dGVyJyxcclxuICAgICAgICAgICAgJ3BpbmlhJ1xyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZHRzOiBmYWxzZVxyXG4gICAgfSlcclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkQ6XFxcXGNvZGVcXFxccGFzZF9WMS4wXFxcXHBhc2RfcGNcXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxjb2RlXFxcXHBhc2RfVjEuMFxcXFxwYXNkX3BjXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxzdmctaWNvbi5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovY29kZS9wYXNkX1YxLjAvcGFzZF9wYy92aXRlL3BsdWdpbnMvc3ZnLWljb24uanNcIjtpbXBvcnQgeyBjcmVhdGVTdmdJY29uc1BsdWdpbiB9IGZyb20gJ3ZpdGUtcGx1Z2luLXN2Zy1pY29ucydcclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVN2Z0ljb24oaXNCdWlsZCkge1xyXG4gICAgcmV0dXJuIGNyZWF0ZVN2Z0ljb25zUGx1Z2luKHtcclxuXHRcdGljb25EaXJzOiBbcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksICdzcmMvYXNzZXRzL2ljb25zL3N2ZycpXSxcclxuICAgICAgICBzeW1ib2xJZDogJ2ljb24tW2Rpcl0tW25hbWVdJyxcclxuICAgICAgICBzdmdvT3B0aW9uczogaXNCdWlsZFxyXG4gICAgfSlcclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkQ6XFxcXGNvZGVcXFxccGFzZF9WMS4wXFxcXHBhc2RfcGNcXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxjb2RlXFxcXHBhc2RfVjEuMFxcXFxwYXNkX3BjXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxjb21wcmVzc2lvbi5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovY29kZS9wYXNkX1YxLjAvcGFzZF9wYy92aXRlL3BsdWdpbnMvY29tcHJlc3Npb24uanNcIjtpbXBvcnQgY29tcHJlc3Npb24gZnJvbSAndml0ZS1wbHVnaW4tY29tcHJlc3Npb24nXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDb21wcmVzc2lvbihlbnYpIHtcclxuICAgIGNvbnN0IHsgVklURV9CVUlMRF9DT01QUkVTUyB9ID0gZW52XHJcbiAgICBjb25zdCBwbHVnaW4gPSBbXVxyXG4gICAgaWYgKFZJVEVfQlVJTERfQ09NUFJFU1MpIHtcclxuICAgICAgICBjb25zdCBjb21wcmVzc0xpc3QgPSBWSVRFX0JVSUxEX0NPTVBSRVNTLnNwbGl0KCcsJylcclxuICAgICAgICBpZiAoY29tcHJlc3NMaXN0LmluY2x1ZGVzKCdnemlwJykpIHtcclxuICAgICAgICAgICAgLy8gaHR0cDovL2RvYy5ydW95aS52aXAvcnVveWktdnVlL290aGVyL2ZhcS5odG1sI1x1NEY3Rlx1NzUyOGd6aXBcdTg5RTNcdTUzOEJcdTdGMjlcdTk3NTlcdTYwMDFcdTY1ODdcdTRFRjZcclxuICAgICAgICAgICAgcGx1Z2luLnB1c2goXHJcbiAgICAgICAgICAgICAgICBjb21wcmVzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgZXh0OiAnLmd6JyxcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGVPcmlnaW5GaWxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY29tcHJlc3NMaXN0LmluY2x1ZGVzKCdicm90bGknKSkge1xyXG4gICAgICAgICAgICBwbHVnaW4ucHVzaChcclxuICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uKHtcclxuICAgICAgICAgICAgICAgICAgICBleHQ6ICcuYnInLFxyXG4gICAgICAgICAgICAgICAgICAgIGFsZ29yaXRobTogJ2Jyb3RsaUNvbXByZXNzJyxcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGVPcmlnaW5GaWxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwbHVnaW5cclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkQ6XFxcXGNvZGVcXFxccGFzZF9WMS4wXFxcXHBhc2RfcGNcXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxjb2RlXFxcXHBhc2RfVjEuMFxcXFxwYXNkX3BjXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxzZXR1cC1leHRlbmQuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6L2NvZGUvcGFzZF9WMS4wL3Bhc2RfcGMvdml0ZS9wbHVnaW5zL3NldHVwLWV4dGVuZC5qc1wiO2ltcG9ydCBzZXR1cEV4dGVuZCBmcm9tICd1bnBsdWdpbi12dWUtc2V0dXAtZXh0ZW5kLXBsdXMvdml0ZSdcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVNldHVwRXh0ZW5kKCkge1xyXG4gICAgcmV0dXJuIHNldHVwRXh0ZW5kKHt9KVxyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBcVEsT0FBT0EsV0FBVTtBQUN0UixTQUFTLGNBQWMsZUFBZTs7O0FDRHVPLElBQU8sbUJBQVE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUkxUixPQUFPLFlBQVksS0FBSyxrQkFBa0I7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUkxQyxXQUFXO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJWCxjQUFjO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLZCxRQUFRO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLUixVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLVixhQUFhO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLYixhQUFhO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLYixjQUFjO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZCxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1WLFlBQVksWUFBWSxLQUFLLHVCQUF1QixhQUFhO0FBQUE7QUFBQSxFQUdqRSxjQUFjLFlBQVksS0FBSywyQkFBMkI7QUFBQTtBQUFBLEVBRzFELGdCQUFnQixZQUFZLEtBQUssNkJBQTZCO0FBQUE7QUFBQSxFQUc5RCxZQUFZLFdBQVc7QUFDckIsV0FBTyxLQUFLLFlBQVksVUFBVTtBQUFBLEVBQ3BDO0FBQ0Y7OztBQy9Eb1MsT0FBTyxTQUFT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