4b9ff2699f2fc815afeaae1ab055472b.json 15 KB

1
  1. {"remainingRequest":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/eslint-loader/index.js??ref--13-0!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/permission.js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/permission.js","mtime":1708395041883},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/babel.config.js","mtime":1708395041663},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js","mtime":1708395147257},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/eslint-loader/index.js","mtime":1708395146572}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiL1VzZXJzL2Nhb2dlL0Rlc2t0b3AvXHU1NzMwXHU4RDI4XHU3M0IwXHU1NzNBL1ZlaGljbGVNb25pdG9yLVdFQi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcmVnZW5lcmF0b3JSdW50aW1lLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiL1VzZXJzL2Nhb2dlL0Rlc2t0b3AvXHU1NzMwXHU4RDI4XHU3M0IwXHU1NzNBL1ZlaGljbGVNb25pdG9yLVdFQi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICIvVXNlcnMvY2FvZ2UvRGVza3RvcC9cdTU3MzBcdThEMjhcdTczQjBcdTU3M0EvVmVoaWNsZU1vbml0b3ItV0VCL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgcm91dGVyIGZyb20gJy4vcm91dGVyJzsKaW1wb3J0IHN0b3JlIGZyb20gJy4vc3RvcmUnOwppbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnZWxlbWVudC11aSc7CmltcG9ydCBOUHJvZ3Jlc3MgZnJvbSAnbnByb2dyZXNzJzsgLy8gcHJvZ3Jlc3MgYmFyCmltcG9ydCAnbnByb2dyZXNzL25wcm9ncmVzcy5jc3MnOyAvLyBwcm9ncmVzcyBiYXIgc3R5bGUKaW1wb3J0IHsgZ2V0VG9rZW4sIHJlbW92ZVRva2VuIH0gZnJvbSAnQC91dGlscy9hdXRoJzsgLy8gZ2V0IHRva2VuIGZyb20gY29va2llCmltcG9ydCBnZXRQYWdlVGl0bGUgZnJvbSAnQC91dGlscy9nZXQtcGFnZS10aXRsZSc7CmltcG9ydCBMYXlvdXQgZnJvbSAnQC9sYXlvdXQnOwppbXBvcnQgSW5uZXJMaW5rIGZyb20gJ0AvbGF5b3V0L2NvbXBvbmVudHMvSW5uZXJMaW5rJzsKdmFyIF9pbXBvcnQgPSByZXF1aXJlKCcuL3JvdXRlci9faW1wb3J0XycgKyBwcm9jZXNzLmVudi5OT0RFX0VOVik7Ck5Qcm9ncmVzcy5jb25maWd1cmUoewogIHNob3dTcGlubmVyOiBmYWxzZQp9KTsgLy8gTlByb2dyZXNzIENvbmZpZ3VyYXRpb24KCnZhciB3aGl0ZUxpc3QgPSBbJy9sb2dpbiddOyAvLyBubyByZWRpcmVjdCB3aGl0ZWxpc3QKCnJvdXRlci5iZWZvcmVFYWNoKCAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogIHZhciBfcmVmID0gX2FzeW5jVG9HZW5lcmF0b3IoIC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKHRvLCBmcm9tLCBuZXh0KSB7CiAgICB2YXIgaGFzVG9rZW4sIGhhc0dldFVzZXJJbmZvLCBtZW51czsKICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgIGNhc2UgMDoKICAgICAgICAgIC8vIHN0YXJ0IHByb2dyZXNzIGJhcgogICAgICAgICAgTlByb2dyZXNzLnN0YXJ0KCk7CgogICAgICAgICAgLy8gc2V0IHBhZ2UgdGl0bGUKICAgICAgICAgIGRvY3VtZW50LnRpdGxlID0gZ2V0UGFnZVRpdGxlKHRvLm1ldGEudGl0bGUpOwoKICAgICAgICAgIC8vIGRldGVybWluZSB3aGV0aGVyIHRoZSB1c2VyIGhhcyBsb2dnZWQgaW4KICAgICAgICAgIGhhc1Rva2VuID0gZ2V0VG9rZW4oKTsKICAgICAgICAgIGlmICghaGFzVG9rZW4pIHsKICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDM2OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGlmICghKHRvLnBhdGggPT09ICcvbG9naW4nKSkgewogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTA7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgLy8gaWYgaXMgbG9nZ2VkIGluLCByZWRpcmVjdCB0byB0aGUgaG9tZSBwYWdlCiAgICAgICAgICByZW1vdmVUb2tlbigpOwogICAgICAgICAgbmV4dCgpOwogICAgICAgICAgTlByb2dyZXNzLmRvbmUoKTsKICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAzNDsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMTA6CiAgICAgICAgICBoYXNHZXRVc2VySW5mbyA9IHN0b3JlLmdldHRlcnMubmFtZTsKICAgICAgICAgIGlmICghaGFzR2V0VXNlckluZm8pIHsKICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDE1OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIG5leHQoKTsKICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAzNDsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMTU6CiAgICAgICAgICBfY29udGV4dC5wcmV2ID0gMTU7CiAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTg7CiAgICAgICAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2goJ3VzZXIvZ2V0SW5mbycpOwogICAgICAgIGNhc2UgMTg6CiAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjA7CiAgICAgICAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2goJ3VzZXIvZ2V0TWVudScpOwogICAgICAgIGNhc2UgMjA6CiAgICAgICAgICBpZiAoc3RvcmUuZ2V0dGVycy5tZW51QXV0aG9yaXR5IDwgMSkgewogICAgICAgICAgICBnbG9iYWwuYW50Um91dGVyID0gW107CiAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgIH0KICAgICAgICAgIG1lbnVzID0gZmlsdGVyQXN5bmNSb3V0ZXIoc3RvcmUuZ2V0dGVycy5tZW51QXV0aG9yaXR5KTsgLy8gY29uc3QgbWVudXMgPSBmaWx0ZXJBc3luY1JvdXRlcihvYmopOwogICAgICAgICAgcm91dGVyLmFkZFJvdXRlcyhtZW51cyk7CiAgICAgICAgICBnbG9iYWwuYW50Um91dGVyID0gbWVudXM7CiAgICAgICAgICBuZXh0KF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgdG8pLCB7fSwgewogICAgICAgICAgICByZXBsYWNlOiB0cnVlCiAgICAgICAgICB9KSk7CiAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzQ7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDI3OgogICAgICAgICAgX2NvbnRleHQucHJldiA9IDI3OwogICAgICAgICAgX2NvbnRleHQudDAgPSBfY29udGV4dFsiY2F0Y2giXSgxNSk7CiAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzE7CiAgICAgICAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2goJ3VzZXIvcmVzZXRUb2tlbicpOwogICAgICAgIGNhc2UgMzE6CiAgICAgICAgICBNZXNzYWdlLmVycm9yKF9jb250ZXh0LnQwIHx8ICdIYXMgRXJyb3InKTsKICAgICAgICAgIG5leHQoIi9sb2dpbj9yZWRpcmVjdD0iLmNvbmNhdCh0by5wYXRoKSk7CiAgICAgICAgICBOUHJvZ3Jlc3MuZG9uZSgpOwogICAgICAgIGNhc2UgMzQ6CiAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzc7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDM2OgogICAgICAgICAgLyogaGFzIG5vIHRva2VuKi8KCiAgICAgICAgICBpZiAod2hpdGVMaXN0LmluZGV4T2YodG8ucGF0aCkgIT09IC0xKSB7CiAgICAgICAgICAgIC8vIGluIHRoZSBmcmVlIGxvZ2luIHdoaXRlbGlzdCwgZ28gZGlyZWN0bHkKICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gb3RoZXIgcGFnZXMgdGhhdCBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyBhcmUgcmVkaXJlY3RlZCB0byB0aGUgbG9naW4gcGFnZS4KICAgICAgICAgICAgbmV4dCgiL2xvZ2luP3JlZGlyZWN0PSIuY29uY2F0KHRvLnBhdGgpKTsKICAgICAgICAgICAgTlByb2dyZXNzLmRvbmUoKTsKICAgICAgICAgIH0KICAgICAgICBjYXNlIDM3OgogICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICB9CiAgICB9LCBfY2FsbGVlLCBudWxsLCBbWzE1LCAyN11dKTsKICB9KSk7CiAgcmV0dXJuIGZ1bmN0aW9uIChfeCwgX3gyLCBfeDMpIHsKICAgIHJldHVybiBfcmVmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgfTsKfSgpKTsKCi8qKg0KICog6YCS5b2S5Yqg6L296Lev55Sx57uE5Lu2DQogKiBAcGFyYW0gYXN5bmNSb3V0ZXJNYXAg5Y+v6I635Y+W55qE6Lev55Sx5YiX6KGoDQogKiBAcmV0dXJucyB7Kn0NCiAqLwoKZnVuY3Rpb24gZmlsdGVyQXN5bmNSb3V0ZXIoYXN5bmNSb3V0ZXJNYXApIHsKICB2YXIgYWNjZXNzZWRSb3V0ZXJzID0gYXN5bmNSb3V0ZXJNYXAuZmlsdGVyKGZ1bmN0aW9uIChyb3V0ZSkgewogICAgaWYgKHJvdXRlLmNvbXBvbmVudCkgewogICAgICBpZiAocm91dGUuY29tcG9uZW50ID09PSAnTGF5b3V0JykgewogICAgICAgIHJvdXRlLmNvbXBvbmVudCA9IExheW91dDsKICAgICAgfSBlbHNlIGlmIChyb3V0ZS5jb21wb25lbnQgPT09ICdJbm5lckxpbmsnKSB7CiAgICAgICAgcm91dGUuY29tcG9uZW50ID0gSW5uZXJMaW5rOwogICAgICB9IGVsc2UgewogICAgICAgIHRyeSB7CiAgICAgICAgICByb3V0ZS5jb21wb25lbnQgPSBfaW1wb3J0KHJvdXRlLmNvbXBvbmVudCk7IC8vIOWvvOWFpee7hOS7tiAgICAgICAgCiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgICAgIC8vZGVidWdnZXIKICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTsKICAgICAgICAgIHJvdXRlLmNvbXBvbmVudCA9IF9pbXBvcnQoJ2Rhc2hib2FyZC9pbmRleCcpOyAvLyDlr7zlhaXnu4Tku7YKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICBpZiAocm91dGUuY2hpbGRyZW4gJiYgcm91dGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkgewogICAgICByb3V0ZS5jaGlsZHJlbiA9IGZpbHRlckFzeW5jUm91dGVyKHJvdXRlLmNoaWxkcmVuKTsKICAgIH0gZWxzZSB7CiAgICAgIGRlbGV0ZSByb3V0ZS5jaGlsZHJlbjsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0pOwogIHJldHVybiBhY2Nlc3NlZFJvdXRlcnM7Cn0Kcm91dGVyLmFmdGVyRWFjaChmdW5jdGlvbiAoKSB7CiAgLy8gZmluaXNoIHByb2dyZXNzIGJhcgogIE5Qcm9ncmVzcy5kb25lKCk7Cn0pOw=="},{"version":3,"names":["router","store","Message","NProgress","getToken","removeToken","getPageTitle","Layout","InnerLink","_import","require","process","env","NODE_ENV","configure","showSpinner","whiteList","beforeEach","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","to","from","next","hasToken","hasGetUserInfo","menus","wrap","_callee$","_context","prev","start","document","title","meta","path","done","getters","name","dispatch","menuAuthority","global","antRouter","filterAsyncRouter","addRoutes","_objectSpread","replace","t0","error","concat","indexOf","stop","_x","_x2","_x3","apply","arguments","asyncRouterMap","accessedRouters","filter","route","component","console","log","children","length","afterEach"],"sources":["/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/permission.js"],"sourcesContent":["import router from './router'\r\nimport store from './store'\r\nimport { Message } from 'element-ui'\r\nimport NProgress from 'nprogress' // progress bar\r\nimport 'nprogress/nprogress.css' // progress bar style\r\nimport { getToken,removeToken } from '@/utils/auth' // get token from cookie\r\nimport getPageTitle from '@/utils/get-page-title'\r\nimport Layout from '@/layout'\r\nimport InnerLink from '@/layout/components/InnerLink'\r\nconst _import = require('./router/_import_' + process.env.NODE_ENV)\r\n\r\nNProgress.configure({ showSpinner: false }) // NProgress Configuration\r\n\r\nconst whiteList = ['/login'] // no redirect whitelist\r\n\r\nrouter.beforeEach(async (to, from, next) => {\r\n // start progress bar\r\n NProgress.start()\r\n\r\n // set page title\r\n document.title = getPageTitle(to.meta.title)\r\n\r\n // determine whether the user has logged in\r\n const hasToken = getToken()\r\n\r\n if (hasToken) {\r\n if (to.path === '/login') {\r\n // if is logged in, redirect to the home page\r\n removeToken()\r\n next()\r\n NProgress.done()\r\n } else {\r\n const hasGetUserInfo = store.getters.name\r\n if (hasGetUserInfo) {\r\n next()\r\n } else {\r\n try {\r\n // get user info\r\n await store.dispatch('user/getInfo')\r\n await store.dispatch('user/getMenu')\r\n if (store.getters.menuAuthority < 1) {\r\n global.antRouter = []\r\n next()\r\n }\r\n \r\n const menus = filterAsyncRouter(store.getters.menuAuthority);\r\n // const menus = filterAsyncRouter(obj);\r\n router.addRoutes(menus)\r\n global.antRouter = menus\r\n next({\r\n ...to,\r\n replace: true\r\n })\r\n } catch (error) {\r\n // remove token and go to login page to re-login\r\n await store.dispatch('user/resetToken')\r\n Message.error(error || 'Has Error')\r\n next(`/login?redirect=${to.path}`)\r\n NProgress.done()\r\n }\r\n }\r\n }\r\n } else {\r\n /* has no token*/\r\n\r\n if (whiteList.indexOf(to.path) !== -1) {\r\n // in the free login whitelist, go directly\r\n next()\r\n } else {\r\n // other pages that do not have permission to access are redirected to the login page.\r\n next(`/login?redirect=${to.path}`)\r\n NProgress.done()\r\n }\r\n }\r\n})\r\n\r\n/**\r\n * 递归加载路由组件\r\n * @param asyncRouterMap 可获取的路由列表\r\n * @returns {*}\r\n */\r\n\r\nfunction filterAsyncRouter(asyncRouterMap) {\r\n const accessedRouters = asyncRouterMap.filter(route => {\r\n if (route.component) {\r\n if (route.component === 'Layout') { \r\n route.component = Layout\r\n } else if (route.component === 'InnerLink') { \r\n route.component = InnerLink\r\n } else {\r\n try {\r\n route.component = _import(route.component)// 导入组件 \r\n } catch (error) {\r\n //debugger\r\n console.log(error)\r\n route.component = _import('dashboard/index')// 导入组件\r\n }\r\n }\r\n }\r\n if (route.children && route.children.length > 0) {\r\n route.children = filterAsyncRouter(route.children)\r\n } else {\r\n delete route.children\r\n }\r\n return true\r\n })\r\n return accessedRouters\r\n}\r\n\r\nrouter.afterEach(() => {\r\n // finish progress bar\r\n NProgress.done()\r\n})\r\n"],"mappings":";;;;;;AAAA,OAAOA,MAAM,MAAM,UAAU;AAC7B,OAAOC,KAAK,MAAM,SAAS;AAC3B,SAASC,OAAO,QAAQ,YAAY;AACpC,OAAOC,SAAS,MAAM,WAAW,EAAC;AAClC,OAAO,yBAAyB,EAAC;AACjC,SAASC,QAAQ,EAACC,WAAW,QAAQ,cAAc,EAAC;AACpD,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,SAAS,MAAM,+BAA+B;AACrD,IAAMC,OAAO,GAAGC,OAAO,CAAC,mBAAmB,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC;AAEnEV,SAAS,CAACW,SAAS,CAAC;EAAEC,WAAW,EAAE;AAAM,CAAC,CAAC,EAAC;;AAE5C,IAAMC,SAAS,GAAG,CAAC,QAAQ,CAAC,EAAC;;AAE7BhB,MAAM,CAACiB,UAAU;EAAA,IAAAC,IAAA,GAAAC,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAC,SAAAC,QAAOC,EAAE,EAAEC,IAAI,EAAEC,IAAI;IAAA,IAAAC,QAAA,EAAAC,cAAA,EAAAC,KAAA;IAAA,OAAAR,mBAAA,GAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAN,IAAA;QAAA;UACrC;UACAtB,SAAS,CAAC8B,KAAK,CAAC,CAAC;;UAEjB;UACAC,QAAQ,CAACC,KAAK,GAAG7B,YAAY,CAACiB,EAAE,CAACa,IAAI,CAACD,KAAK,CAAC;;UAE5C;UACMT,QAAQ,GAAGtB,QAAQ,CAAC,CAAC;UAAA,KAEvBsB,QAAQ;YAAAK,QAAA,CAAAN,IAAA;YAAA;UAAA;UAAA,MACNF,EAAE,CAACc,IAAI,KAAK,QAAQ;YAAAN,QAAA,CAAAN,IAAA;YAAA;UAAA;UACtB;UACApB,WAAW,CAAC,CAAC;UACboB,IAAI,CAAC,CAAC;UACNtB,SAAS,CAACmC,IAAI,CAAC,CAAC;UAAAP,QAAA,CAAAN,IAAA;UAAA;QAAA;UAEVE,cAAc,GAAG1B,KAAK,CAACsC,OAAO,CAACC,IAAI;UAAA,KACrCb,cAAc;YAAAI,QAAA,CAAAN,IAAA;YAAA;UAAA;UAChBA,IAAI,CAAC,CAAC;UAAAM,QAAA,CAAAN,IAAA;UAAA;QAAA;UAAAM,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAN,IAAA;UAAA,OAIExB,KAAK,CAACwC,QAAQ,CAAC,cAAc,CAAC;QAAA;UAAAV,QAAA,CAAAN,IAAA;UAAA,OAC9BxB,KAAK,CAACwC,QAAQ,CAAC,cAAc,CAAC;QAAA;UACpC,IAAIxC,KAAK,CAACsC,OAAO,CAACG,aAAa,GAAG,CAAC,EAAE;YACnCC,MAAM,CAACC,SAAS,GAAG,EAAE;YACrBnB,IAAI,CAAC,CAAC;UACR;UAEMG,KAAK,GAAGiB,iBAAiB,CAAC5C,KAAK,CAACsC,OAAO,CAACG,aAAa,CAAC,EAC5D;UACA1C,MAAM,CAAC8C,SAAS,CAAClB,KAAK,CAAC;UACvBe,MAAM,CAACC,SAAS,GAAGhB,KAAK;UACxBH,IAAI,CAAAsB,aAAA,CAAAA,aAAA,KACCxB,EAAE;YACLyB,OAAO,EAAE;UAAI,EACd,CAAC;UAAAjB,QAAA,CAAAN,IAAA;UAAA;QAAA;UAAAM,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAkB,EAAA,GAAAlB,QAAA;UAAAA,QAAA,CAAAN,IAAA;UAAA,OAGIxB,KAAK,CAACwC,QAAQ,CAAC,iBAAiB,CAAC;QAAA;UACvCvC,OAAO,CAACgD,KAAK,CAACnB,QAAA,CAAAkB,EAAA,IAAS,WAAW,CAAC;UACnCxB,IAAI,oBAAA0B,MAAA,CAAoB5B,EAAE,CAACc,IAAI,CAAE,CAAC;UAClClC,SAAS,CAACmC,IAAI,CAAC,CAAC;QAAA;UAAAP,QAAA,CAAAN,IAAA;UAAA;QAAA;UAKtB;;UAEA,IAAIT,SAAS,CAACoC,OAAO,CAAC7B,EAAE,CAACc,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YACrC;YACAZ,IAAI,CAAC,CAAC;UACR,CAAC,MAAM;YACL;YACAA,IAAI,oBAAA0B,MAAA,CAAoB5B,EAAE,CAACc,IAAI,CAAE,CAAC;YAClClC,SAAS,CAACmC,IAAI,CAAC,CAAC;UAClB;QAAC;QAAA;UAAA,OAAAP,QAAA,CAAAsB,IAAA;MAAA;IAAA,GAAA/B,OAAA;EAAA,CAEJ;EAAA,iBAAAgC,EAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAtC,IAAA,CAAAuC,KAAA,OAAAC,SAAA;EAAA;AAAA,IAAC;;AAEF;AACA;AACA;AACA;AACA;;AAEA,SAASb,iBAAiBA,CAACc,cAAc,EAAE;EACzC,IAAMC,eAAe,GAAGD,cAAc,CAACE,MAAM,CAAC,UAAAC,KAAK,EAAI;IACrD,IAAIA,KAAK,CAACC,SAAS,EAAE;MACnB,IAAID,KAAK,CAACC,SAAS,KAAK,QAAQ,EAAE;QAChCD,KAAK,CAACC,SAAS,GAAGxD,MAAM;MAC1B,CAAC,MAAM,IAAIuD,KAAK,CAACC,SAAS,KAAK,WAAW,EAAE;QAC1CD,KAAK,CAACC,SAAS,GAAGvD,SAAS;MAC7B,CAAC,MAAM;QACL,IAAI;UACFsD,KAAK,CAACC,SAAS,GAAGtD,OAAO,CAACqD,KAAK,CAACC,SAAS,CAAC;QAC5C,CAAC,CAAC,OAAOb,KAAK,EAAE;UACd;UACAc,OAAO,CAACC,GAAG,CAACf,KAAK,CAAC;UAClBY,KAAK,CAACC,SAAS,GAAGtD,OAAO,CAAC,iBAAiB,CAAC;QAC9C;MACF;IACF;;IACA,IAAIqD,KAAK,CAACI,QAAQ,IAAIJ,KAAK,CAACI,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;MAC/CL,KAAK,CAACI,QAAQ,GAAGrB,iBAAiB,CAACiB,KAAK,CAACI,QAAQ,CAAC;IACpD,CAAC,MAAM;MACL,OAAOJ,KAAK,CAACI,QAAQ;IACvB;IACA,OAAO,IAAI;EACb,CAAC,CAAC;EACF,OAAON,eAAe;AACxB;AAEA5D,MAAM,CAACoE,SAAS,CAAC,YAAM;EACrB;EACAjE,SAAS,CAACmC,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC"}]}