{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/pages/hashtag/components/Author/style.scss?7873","webpack:///./src/pages/hashtag/assets/like.svg","webpack:///./src/utils/userAgent.ts","webpack:///./src/pages/hashtag/assets/usage.svg","webpack:///./src/libs/bridge.ts","webpack:///./src/pages/hashtag/components/SkeletonCard/style.scss","webpack:///./src/pages/hashtag/components/SkeletonCard/style.scss?da2a","webpack:///./src/constants/address.ts","webpack:///./src/hooks/useRequest.ts","webpack:///./src/pages/hashtag/components/CardList/style.scss?5e6e","webpack:///./src/pages/hashtag/components/Skeleton/style.scss","webpack:///./src/hooks/useTimeout.ts","webpack:///./src/hooks/useUpdateEffect.ts","webpack:///./src/hooks/index.ts","webpack:///./src/pages/hashtag/components/BasicInfo/style.scss?c0df","webpack:///./src/utils/cache.ts","webpack:///./src/hooks/useSettings.ts","webpack:///./src/constants/detail.ts","webpack:///./src/pages/hashtag/components/Card/style.scss?2703","webpack:///./src/libs/request.ts","webpack:///./src/hooks/useBigLineHeight.ts","webpack:///./src/services/i18n_lexer/utils/index.ts","webpack:///./src/utils/tool.ts","webpack:///./src/utils/fetch.ts","webpack:///./src/pages/hashtag/constant/index.ts","webpack:///./src/pages/hashtag/components/SkeletonHeader/index.tsx","webpack:///./src/pages/hashtag/components/SkeletonCard/index.tsx","webpack:///./src/pages/hashtag/components/Skeleton/index.tsx","webpack:///./src/pages/hashtag/components/CardList/refresh.ts","webpack:///./src/pages/hashtag/components/Author/index.tsx","webpack:///./src/pages/hashtag/components/Card/index.tsx","webpack:///./src/pages/hashtag/components/CardList/index.tsx","webpack:///./src/pages/hashtag/components/PostTemplate/index.tsx","webpack:///./src/pages/hashtag/components/BasicInfo/index.tsx","webpack:///./src/pages/hashtag/Container.tsx","webpack:///./src/pages/hashtag/index.web.tsx","webpack:///./src/pages/hashtag/components/Card/style.scss","webpack:///./src/pages/hashtag/components/BasicInfo/style.scss","webpack:///./src/pages/hashtag/components/PostTemplate/style.scss","webpack:///./src/pages/hashtag/components/Author/style.scss","webpack:///./src/hooks/useQuery.ts","webpack:///./src/pages/hashtag/components/PostTemplate/style.scss?f7e2","webpack:///./src/pages/hashtag/components/Skeleton/style.scss?2740","webpack:///./src/pages/hashtag/components/SkeletonHeader/style.scss?3a91","webpack:///./src/services/i18n_lexer/utils/lang_map.ts","webpack:///./src/services/i18n_lexer/handler.tsx","webpack:///./src/hooks/useTranslate.ts","webpack:///./src/utils/tools.ts","webpack:///./src/services/i18n_lexer/loaders/replace.ts","webpack:///./src/pages/hashtag/style.scss?ba99","webpack:///./src/pages/hashtag/components/CardList/style.scss","webpack:///./src/utils/format.ts","webpack:///./src/pages/hashtag/components/SkeletonHeader/style.scss","webpack:///./src/hooks/useLocalStorage.ts","webpack:///./src/pages/hashtag/assets/refresh.png","webpack:///./src/hooks/useSupportVersionToast.ts","webpack:///./src/utils/schema.ts","webpack:///./src/pages/hashtag/style.scss"],"names":["webpackJsonpCallback","data","chunkIds","moreModules","executeModules","moduleId","chunkId","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","32","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","p","jsonpArray","window","oldJsonpFunction","slice","content","transform","insertInto","options","undefined","update","locals","isMobile","regex","flag","test","navigator","userAgent","screen","width","bridge","___CSS_LOADER_API_IMPORT___","___CSS_LOADER_EXPORT___","PUBLIC_ORIGIN","PATH","base","bpoBase","bpoDetail","tcsBase","tcsDetail","CCORIGIN","TEMPLATE_INCOME_RECORD","DATA_CENTER_DESCRIPTION_URL","useRequest","requestFn","initData","auto","defaultParams","useState","loading","setLoading","setData","err","setErr","hasRun","useRef","run","useCallback","current","res","useEffect","useTimeout","callback","delay","timer","setTimeout","clearTimeout","useUpdateEffect","effect","deps","isMounted","noop","useBoolean","init","setValue","toggle","v","usePatchState","defaultState","state","updateState","patchState","defaultTTL","LocalCache","ttl","this","localStorage","setItem","JSON","stringify","updateTime","Date","now","e","raw","getItem","parse","instance","cache","getInstance","settingsUrl","fetchRegion","app","getInfo","type","header","deviceInfo","region","loc","getCacheKey","deviceRegion","getAppInfo","appVersion","device_id","fetchAllSettings","localData","getLocalData","fetchRaw","url","method","needCommonParams","console","error","newData","settings","setLocalData","useSettings","setSettings","fetch","useGetSettingsLoading","getSettings","useMemo","FormatType","DataType","DataGetType","DataGetMode","detailList","label","readKey","getType","Dynamic","SortSource","Static","Duration","Amount","Link","ModifiableText","newDetailList","MusicInfo","agent","axios","baseURL","timeout","guardResponse","Number","ret","Promise","reject","guardResponseV2","status","config","then","code","response","fetchV2","needBigLineHeightLangs","useBigLineHeight","lang","setLang","needBigLineHeight","includes","setLocalLanguage","guessLang","guessedLang","lexerCommonHandler","tokenList","reg","handle","newTokens","forEach","rawTokens","split","resolvePayload","payload","replaceKey","args","formatCount","count","Math","floor","formatNumberEn","num","lowerCase","unit","k","b","isNaN","abs","numDigits","integer","float","getQueryString","noDecode","RegExp","location","search","substr","match","decodeURIComponent","safeGet","path","defaultValue","paths","formatTime","time","second","toString","padStart","formatDuration","duration","hours","minutes","seconds","ceil","formatAmount","replace","$1","formatPercent","digit","toFixed","service","headers","interceptors","request","use","pf","isIos","appvr","deviceTime","parseInt","tdid","rawStr","sign","md5","RedirectURL","PC","MOBILE","SkeletonHeader","className","cls","style","column","wrap","avatar","column1","section","marginTop","SkeletonCard","card","info","square","Skeleton","props","isErr","disable","refresh","component","list","Array","from","onClick","src","refreshPic","pic","text","I18n","map","_","index","skeleton","remToPx","rem","element","document","querySelector","fontSize","container","cards","querySelectorAll","infos","containerDom","itemWidth","gap","arr","columns","item","top","left","right","height","cover_width","cover_height","offsetHeight","minHeight","offsetLeft","max","Author","user","author","avatar_url","Card","goDetail","link","genTemplatePageSchema","template_id","web_id","root_category","tab_name","wakeUpApp","cover","cover_url","cutPic","usage","usage_amount","likePic","like","like_count","extra","short_title","title","CardList","PostTemplate","postTemplate","BasicInfo","place","formatNumber","message","line","content_count","ID","DEFAULT_PARAMS","cursor","id","Container","post","template_list","wake","Boolean","initI18nInstance","resolve","react","useSuspense","keySeparator","resources","fallbackLng","HotApp","App","getStarlingText","texts","addResourceBundle","ReactDOM","render","getElementById","useQuery","query","qs","pluralLangMap","lexerHandler","str","loaders","pluralLang","handlerMapKeys","keys","plural","recursive","pop","lexerResultReturnRawText","join","defaultLoader","replaceLoader","langMap","ko","kor","ja","jpn","th","tha","pt","por","vi","fil","in","es","ru","tr","ms","de","fr","pl","it","uk","km","my","ro","nl","cs","el","hu","sv","fi","zh","ur","he","ar","starlingInstance","hasResetLang","inApp","toLowerCase","language","substring","guessLanguage","params","apiKey","namespace","locale","zone","lazyUpdate","fallbackLang","zoneHost","TEAChannelDomain","store","set","val","localforage","starling","StarlingWeb","load","obj","newStr","useTranslate","translations","setTranslations","fetchI18n","i18nText","waitForRefresh","newI18nText","useTranslateV2","fallbackData","setFallbackData","all","translationsData","setConfig","useTranslateLoading","translate","u","formatMoney","isFixed","yuan","String","isWindow","scrollTop","ele","target","isWin","y","pageYOffset","documentElement","body","parentNode","scrollGate","down","up","before","delta","safeSet","isArray","reduce","acc","cur","href","supportVersion","judgeStr","semver","satisfies","base64ToBlob","base64","mime","bstr","atob","u8arr","Uint8Array","charCodeAt","Blob","channelAttrKey","envAttrKey","getUrlWithEnv","URL","searchParams","has","versionCompare","a","len","splitTokens","nn","getTimeFormat","URLSearchParams","eu5","formatData","dayJs","unix","format","useLocalStorage","storageName","useSupportVersionToast","starlingKey","fn","isSupport","view","toast","EnterMode","appendQuery","schema","main","hash","_qs","parseQueryString","afterformatQs","stringifyQuery","pairs","encodeURIComponent","filter","kv","modifySchemaQuery","newQuery","queryStr","originQuery","hydrateQuery","decode","httpsify","genWebviewSchema","preset","theme","assign","loading_bgcolor","nav_bar_color","status_bar_color","status_font_dark","title_color","genHomePageSchema","genTutorialDetailSchema","genLynxviewSchema","channel","bundle","hide_nav_bar","hide_loading","genCreatorRightsSchema","genBusinessTaskCenterSchema","genMaterialDetailPageSchema","isCollection","checkIsCollection","effect_type","EffectType","Emoticon","effect_id","effect_source","source","hide_status_bar","immersive_mode","dynamic","genDataCenterDescriptionUrl","web_url","genCheckoutTabBar","enter_mode","genEditCreateSchema"],"mappings":"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","file":"pages/hashtag/index.web.59f35328.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t32: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://sf16-scmcdn-sg.ibytedtos.com/goofy/ies/capcut_h5_main/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([22,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","\nvar content = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","module.exports = __webpack_public_path__ + \"resource/like.630fb1f4.svg\";","// whether the device is mobile or not\nexport function isMobile() {\n const regex = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i;\n const flag = regex.test(navigator.userAgent) || window.screen.width <= 720;\n return flag;\n}\n","module.exports = __webpack_public_path__ + \"resource/usage.fdd05d20.svg\";","import bridge from '@bridge/imlv';\n\nexport default bridge;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"._1ps4ybiNxM0JIWSzJ0Vbha{width:3.34rem;height:5.64rem;display:inline-block;background:#e5e5e6;border-radius:4px}._2CwU38rd7XVHb6gbHSr2du{margin-bottom:.42rem}._1Crdr5TyDzsjqeRmomoYrI{border-radius:2px;background:#e5e5e6;height:.32rem}.XfASrWbot1ldO20DWys5r{margin-right:.1rem;border-radius:50%;background:#e5e5e6;width:.36rem;height:.36rem}._2nbBD294RnWeSsf_APW4qZ{flex-direction:column}._3gddfv-bFE4lhpWQ1qRZsV{margin-top:.1rem;display:flex;margin-bottom:.42rem}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"card\": \"_1ps4ybiNxM0JIWSzJ0Vbha\",\n\t\"skeleton-card\": \"_2CwU38rd7XVHb6gbHSr2du\",\n\t\"section\": \"_1Crdr5TyDzsjqeRmomoYrI\",\n\t\"square\": \"XfASrWbot1ldO20DWys5r\",\n\t\"column\": \"_2nbBD294RnWeSsf_APW4qZ\",\n\t\"info\": \"_3gddfv-bFE4lhpWQ1qRZsV\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","\nvar content = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","export const PUBLIC_ORIGIN = 'https://www.capcut.net';\n/** debug平台、tcs、bpo平台的路由拼接规则和展示内容稍有不同,先提前按照不同文件夹划分,避免后期内容杂糅 */\nexport const PATH = {\n base: '/imlv/search',\n // detail: '/detail',\n bpoBase: '/imlv/bpo-search',\n bpoDetail: '/imlv/bpo-search-detail',\n tcsBase: '/imlv/tcs-search',\n tcsDetail: '/imlv/tcs-search-detail',\n};\n\nexport const CCORIGIN = 'https://www.capcut.net/sharevideo';\n\nexport const TEMPLATE_INCOME_RECORD = 'https://www.capcut.net/imlv/income-records';\n\n// 数据中心-数据口径说明\nexport const DATA_CENTER_DESCRIPTION_URL =\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/capcut/via_data_center_desc.html';\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\ninterface Options {\n ready?: boolean;\n initData?: D;\n auto?: boolean;\n defaultParams?: P;\n}\n\nexport type BaseRequestFnType = (...args: P) => Promise;\n\nexport function useRequest(requestFn: BaseRequestFnType, options: Options = {}) {\n const { initData = {}, auto, defaultParams = [] } = options;\n const [loading, setLoading] = useState(false);\n const [data, setData] = useState(initData as D);\n const [err, setErr] = useState();\n const hasRun = useRef(false);\n const run = useCallback(async (...params: P) => {\n hasRun.current = true;\n setLoading(true);\n let res;\n try {\n res = await requestFn(...params);\n setData(res);\n } catch (error) {\n setErr(error);\n }\n setLoading(false);\n return res;\n }, []);\n\n useEffect(() => {\n if (auto) {\n run(...(defaultParams as P));\n }\n }, [auto]);\n\n return {\n run,\n loading,\n data,\n err,\n };\n}\n","\nvar content = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"._2w1bXBlSrT8yqHLJQlTExH{width:100%;box-sizing:border-box}._2ntpRcmfpGqZSEPyCik27q{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:.4rem}._2SR_aBxP8Xlh991ivCq_y3{margin:.40rem 0}._3fhFiXzpJOJVoplNBP8oEJ{width:.56rem;height:.56rem;margin-right:.12rem}._1Tv3CMgQxuYveK4KcJ1r5m{margin-top:3.50rem;display:flex;justify-content:center;align-items:center;width:100%}._2fzaJdK9z6unePPSjbLJ00{font-size:16px;line-height:19px;text-align:center;max-width:4rem;color:#97999c}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"skeleton\": \"_2w1bXBlSrT8yqHLJQlTExH\",\n\t\"wrap\": \"_2ntpRcmfpGqZSEPyCik27q\",\n\t\"header\": \"_2SR_aBxP8Xlh991ivCq_y3\",\n\t\"pic\": \"_3fhFiXzpJOJVoplNBP8oEJ\",\n\t\"refresh\": \"_1Tv3CMgQxuYveK4KcJ1r5m\",\n\t\"text\": \"_2fzaJdK9z6unePPSjbLJ00\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","import { useEffect } from 'react';\n\nexport function useTimeout(callback: Function, delay: number) {\n useEffect(() => {\n if (delay !== null) {\n const timer = setTimeout(() => {\n callback();\n }, delay);\n return () => {\n clearTimeout(timer);\n };\n }\n }, [delay]);\n}\n","import { useEffect, useRef } from 'react';\nimport { noop } from '@utils/tools';\n\nconst useUpdateEffect: typeof useEffect = (effect, deps) => {\n const isMounted = useRef(false);\n\n useEffect(() => {\n if (!isMounted.current) {\n isMounted.current = true;\n } else {\n return effect();\n }\n return noop;\n }, deps);\n};\n\nexport default useUpdateEffect;\n","import { useState, useCallback } from 'react';\nimport type { RequestState } from '@typings/request';\nimport type { Patch } from '@typings/utils';\n\nexport function useBoolean(init: boolean): [boolean, (v?: boolean) => void] {\n const [value, setValue] = useState(init);\n\n const toggle = (v?: boolean) => setValue(s => (typeof v === 'boolean' ? v : !s));\n\n return [value, toggle];\n}\n\nexport const usePatchState = (\n defaultState?: RequestState\n): [RequestState, (p: Patch>) => void] => {\n const [state, updateState] = useState(defaultState);\n const patchState = useCallback((p: Patch>) => updateState(s => ({ ...s, ...p(s) })), [updateState]);\n return [state, patchState];\n};\n\nexport * from './useBigLineHeight';\nexport * from './useLocalStorage';\nexport * from './useQuery';\nexport * from './useRequest';\nexport * from './useSettings';\nexport * from './useSupportVersionToast';\nexport * from './useTimeout';\nexport * from './useTranslate';\nexport * from './useUpdateEffect';\n","\nvar content = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const defaultTTL = 1 * 60 * 60 * 1000; // 默认1H缓存有效期\n\nexport class LocalCache {\n private static instance: LocalCache;\n private ttl = defaultTTL;\n private constructor(ttl = defaultTTL) {\n this.ttl = ttl;\n }\n\n static getInstance(ttl = defaultTTL) {\n if (!LocalCache.instance) {\n LocalCache.instance = new LocalCache(ttl);\n }\n return LocalCache.instance;\n }\n\n setLocalData(key: string, value: Object) {\n try {\n localStorage.setItem(\n key,\n JSON.stringify({\n updateTime: Date.now(),\n data: value,\n })\n );\n } catch (e) {\n //\n }\n }\n\n getLocalData(key: string) {\n try {\n const raw = localStorage.getItem(key);\n const result = JSON.parse(raw || '');\n if (result && Date.now() - result.updateTime <= this.ttl) {\n return result.data;\n }\n } catch (e) {\n //\n }\n return null;\n }\n}\n","import { useCallback, useEffect, useMemo, useState } from 'react';\nimport bridge from '@libs/bridge';\nimport { fetchRaw } from '@libs/request';\nimport { LocalCache } from '@utils/cache';\n\nconst cache = LocalCache.getInstance(10 * 60 * 1000); // 10min缓存有效期\nconst settingsUrl = 'https://editor-api.capcutapi.com/service/settings/v3/';\n\ninterface fetchSettingResponse {\n data: {\n settings: Record;\n };\n}\n\nconst fetchRegion = async () => {\n const res = await bridge.app.getInfo({ type: ['device'] });\n const { header } = res.data.deviceInfo;\n const { region, loc } = header as { region?: string; loc?: string };\n\n return region || loc;\n};\n\nconst getCacheKey = async () => {\n const deviceRegion = await fetchRegion();\n const { data } = await bridge.app.getAppInfo().catch(() => ({ data: {} }));\n const {\n appVersion = 'default',\n device_id = 'default',\n region = 'default',\n } = data as { appVersion: string; device_id: string; region: string };\n // 影响settings拉取结果的参数拼接成唯一key标识\n return `capcut_${appVersion}_${deviceRegion || region}_${device_id}`;\n};\n\nexport async function fetchAllSettings() {\n const key = await getCacheKey();\n const localData = cache.getLocalData(key);\n if (localData) {\n return localData;\n }\n const result = await fetchRaw({\n url: settingsUrl,\n method: 'GET',\n needCommonParams: true,\n }).catch(() => console.error);\n const newData = result?.data?.settings;\n if (newData) {\n cache.setLocalData(key, newData);\n }\n return newData || {};\n}\n\nexport function useSettings() {\n const [settings, setSettings] = useState>();\n\n const fetch = useCallback(async () => {\n const data = await fetchAllSettings();\n setSettings(data);\n }, []);\n\n useEffect(() => {\n fetch();\n }, [fetch]);\n\n return useCallback(\n (key: string) => {\n if (!settings) {\n return null;\n }\n return settings[key] as T;\n },\n [settings]\n );\n}\n\nexport function useGetSettingsLoading(getSettings: Function) {\n const loading = useMemo(() => getSettings('capcut_access') === null, [getSettings]);\n return loading;\n}\n","// TODO: 文件命名改造\nexport enum FormatType {\n Date = 1,\n Amount,\n Duration,\n Link\n}\n\n// 数据类型-业务\nexport enum DataType {\n MusicInfo = 'musicInfo',\n ModifiableText = 'modifiableText',\n SortSource = 'sortSource'\n}\n\n// 数据取值类型 Static-静态的,走api接口获取 Dynamic-动态的,需要通过url传递实时数据\nexport enum DataGetType {\n Static,\n Dynamic\n}\nexport interface MutableText {\n id: string;\n content: string;\n start: number;\n duration: number;\n}\n\nexport interface MusicClipDetailItem {\n id: number;\n music_title: string;\n music_artist: string;\n}\nexport interface DetailItem {\n label: string;\n readKey: string;\n key: string;\n value: string | MutableText[] | boolean;\n type?: FormatType | DataType;\n getType?: DataGetType;\n}\n\n// 数据取值模式\nexport enum DataGetMode {\n Static = '0', // 纯静态-走api接口 获取的数据是实时的\n Dynamic = '1', // 纯动态-通过url参数传值 传递的数据是抓取时的数据\n StaticAndDynamic = '2' // 动静结合-对于不会变的数据走api接口,动态变化的数据走url传参\n}\n\n/** debug平台 */\nexport const detailList: DetailItem[] = [\n {\n label: 'Template Id',\n readKey: 'web_id',\n key: 'id',\n value: '',\n getType: DataGetType.Dynamic,\n },\n {\n label: 'Sort Source',\n readKey: 'is_operation_boost',\n key: 'sortSource',\n value: '',\n type: DataType.SortSource,\n getType: DataGetType.Dynamic,\n },\n {\n label: 'Creator Name',\n readKey: 'author.name',\n key: 'authorName',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Creator UID',\n readKey: 'author.uid',\n key: 'authorUid',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Title',\n readKey: 'short_title',\n key: 'title',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Description',\n readKey: 'title',\n key: 'desc',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Template Post Date',\n readKey: 'create_time',\n key: 'createTime',\n value: '',\n type: FormatType.Date,\n getType: DataGetType.Static,\n },\n {\n label: 'Framents',\n readKey: 'fragment_count',\n key: 'fragmentCount',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Actual Replaceable Fragment',\n readKey: 'mutable_fragments_length',\n key: 'mutableFragmentLength',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Duration',\n readKey: 'duration',\n key: 'duration',\n value: '',\n type: FormatType.Duration,\n getType: DataGetType.Static,\n },\n {\n label: 'Play',\n readKey: 'play_amount',\n key: 'playAmount',\n value: '',\n type: FormatType.Amount,\n getType: DataGetType.Dynamic,\n },\n {\n label: 'Usage',\n readKey: 'usage_amount',\n key: 'usageAmount',\n value: '',\n type: FormatType.Amount,\n getType: DataGetType.Dynamic,\n },\n {\n label: 'Export',\n readKey: 'export_amount',\n key: 'exportAmount',\n value: '',\n type: FormatType.Amount,\n getType: DataGetType.Dynamic,\n },\n {\n label: 'Share',\n readKey: 'share_amount',\n key: 'shareAmount',\n value: '',\n type: FormatType.Amount,\n getType: DataGetType.Dynamic,\n },\n {\n label: 'Template Link',\n readKey: 'web_id',\n key: 'templateUrl',\n value: '',\n type: FormatType.Link,\n getType: DataGetType.Static,\n },\n {\n label: 'Video Link',\n readKey: 'video_url',\n key: 'videoUrl',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Modifiable Text',\n readKey: 'mutable_texts',\n key: 'mutableTextList',\n value: [],\n type: DataType.ModifiableText,\n getType: DataGetType.Static,\n },\n];\n\n/** bpo平台与tcs平台 */\nexport const newDetailList: DetailItem[] = [\n {\n label: 'Template Id',\n readKey: 'web_id',\n key: 'id',\n value: '',\n getType: DataGetType.Dynamic,\n },\n {\n label: 'Creator Name',\n readKey: 'author.name',\n key: 'authorName',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Title',\n readKey: 'short_title',\n key: 'title',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Description',\n readKey: 'title',\n key: 'desc',\n value: '',\n getType: DataGetType.Static,\n },\n // {\n // label: 'Music Title',\n // readKey: 'music_title',\n // key: 'music_title',\n // value: '',\n // getType: DataGetType.Dynamic,\n // },\n // {\n // label: 'Music Artist',\n // readKey: 'music_artist',\n // key: 'music_artist',\n // value: '',\n // getType: DataGetType.Dynamic,\n // },\n {\n label: 'Music Info',\n readKey: 'music_clip_detail',\n key: 'musicClipDetail',\n value: [],\n type: DataType.MusicInfo,\n getType: DataGetType.Static,\n },\n {\n label: 'Template Post Date',\n readKey: 'create_time',\n key: 'createTime',\n value: '',\n type: FormatType.Date,\n getType: DataGetType.Static,\n },\n {\n label: 'Framents',\n readKey: 'fragment_count',\n key: 'fragmentCount',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Actual Replaceable Fragment',\n readKey: 'mutable_fragments_length',\n key: 'mutableFragmentLength',\n value: '',\n getType: DataGetType.Static,\n },\n {\n label: 'Duration',\n readKey: 'duration',\n key: 'duration',\n value: '',\n type: FormatType.Duration,\n getType: DataGetType.Static,\n },\n {\n label: 'Template Link',\n readKey: 'web_id',\n key: 'templateUrl',\n value: '',\n type: FormatType.Link,\n getType: DataGetType.Static,\n },\n {\n label: 'Modifiable Text',\n readKey: 'mutable_texts',\n key: 'mutableTextList',\n value: [],\n type: DataType.ModifiableText,\n getType: DataGetType.Static,\n },\n {\n label: 'Video Link',\n readKey: 'video_url',\n key: 'videoUrl',\n value: '',\n getType: DataGetType.Static,\n },\n];\n","\nvar content = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import bridge from '@libs/bridge';\nimport { FetchConfig, ApiResponse, ApiResponseV2 } from '@typings/request';\nimport axios from 'axios';\n\nexport const agent = axios.create({\n baseURL: '/',\n timeout: 10000,\n // withCredentials: true,\n});\n\nexport function guardResponse>(res: T) {\n if (Number(res.ret) === 0) {\n return res;\n }\n return Promise.reject(res);\n}\n\nexport function guardResponseV2>(res: T) {\n if (Number(res.status) === 0) {\n return res;\n }\n return Promise.reject(res);\n}\n\nexport function fetchRaw(config: FetchConfig): Promise {\n return bridge.app\n .fetch(config as Required)\n .then(res => {\n if (res.code !== 1) {\n return Promise.reject(res);\n }\n let response;\n try {\n response = JSON.parse(res.data.response);\n } catch (error) {\n // eslint-disable-next-line prefer-promise-reject-errors\n return Promise.reject(error);\n }\n return response;\n })\n .catch(err => {\n console.log(err);\n });\n}\n\nexport function fetch>(config: FetchConfig) {\n return fetchRaw(config).then(guardResponse);\n}\n\n/**\n * 后台新封装接口,适用/feed/v1下的接口\n * @param config\n * @returns\n */\nexport function fetchV2>(config: FetchConfig) {\n return fetchRaw(config).then(guardResponseV2);\n}\n","import { useEffect, useState } from 'react';\nimport { guessLang } from './useTranslate';\n\nconst needBigLineHeightLangs = ['my-MM', 'km-KH']; // 需要增大行间距的语种\n\nexport function useBigLineHeight() {\n const [lang, setLang] = useState('');\n const needBigLineHeight = needBigLineHeightLangs.includes(lang);\n\n useEffect(() => {\n const setLocalLanguage = async () => {\n const guessedLang = await guessLang();\n setLang(guessedLang);\n };\n setLocalLanguage();\n }, []);\n\n return needBigLineHeight;\n}","import { LexerToken } from '../typings/index';\nexport const lexerCommonHandler = (\n tokenList: LexerToken[],\n reg: RegExp,\n handle: (rawTokens: string[], t: LexerToken) => LexerToken[]\n) => {\n const newTokens: LexerToken[] = [];\n tokenList.forEach(t => {\n const { type, raw } = t;\n if (type === 'text' && reg.test(raw)) {\n // 按照链接的方式对原生字符串进行分割\n const rawTokens = raw.split(reg);\n // 定制的handle逻辑\n newTokens.push(...handle(rawTokens, t));\n } else {\n newTokens.push(t);\n }\n });\n return newTokens;\n};\n\nexport const resolvePayload = (payload: T, replaceKey: string, ...args: any[]) => {\n if (\n payload &&\n typeof payload === 'object' &&\n typeof payload[replaceKey] !== 'undefined' &&\n payload[replaceKey] !== null\n ) {\n return resolvePayload(payload[replaceKey], replaceKey);\n } else if (typeof payload === 'function') {\n return payload(replaceKey, ...args);\n }\n return payload;\n};\n","export function formatCount(count: number): number | string {\n return count < 10000 ? count : `${Math.floor(count / 1000) / 10}万`;\n}\n\nexport function formatNumberEn(num: number, lowerCase?: boolean) {\n const unit = {\n k: lowerCase ? 'k' : 'K',\n m: lowerCase ? 'm' : 'M',\n b: lowerCase ? 'b' : 'B',\n };\n if (!num || isNaN(num) || typeof num !== 'number') {\n return '0';\n }\n\n if (num < 0) {\n // eslint-disable-next-line @ies/eden/max-calls-in-template\n return `-${formatNumberEn(Math.abs(num))}`;\n }\n if (num < 1e3) {\n return `${num}`;\n }\n\n num = num || 0;\n const k = num < 1e6;\n const m = num >= 1e6 && num < 1e9;\n\n const numDigits = `${num / (k ? 1e3 : m ? 1e6 : 1e9)}`.split('.');\n const integer = numDigits[0] || 0;\n const float = (numDigits[1] || '0').slice(0, 1);\n\n return `${integer}${float !== '0' ? `.${float}` : ''}${k ? unit.k : m ? unit.m : unit.b}`;\n}\n\nexport const getQueryString = function (name: string, noDecode?: boolean): string | null {\n const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i');\n const r = window.location.search.substr(1).match(reg);\n if (r !== null) {\n return noDecode ? r[2] : decodeURIComponent(r[2]);\n }\n return null;\n};\n\nexport function safeGet(data: any, path: string, defaultValue?: any) {\n try {\n if (!path) {\n return defaultValue;\n }\n const paths = path.split('.');\n let res = data;\n while (paths.length) {\n res = res[paths.shift()];\n if (res === undefined) {\n return defaultValue;\n }\n }\n return res;\n } catch (error) {\n return defaultValue;\n }\n}\n\nexport function formatTime(time: number) {\n const second = Math.floor(time / 1000000);\n return `${Math.floor(second / 60)\n .toString()\n .padStart(2, '0')} : ${(second % 60).toString().padStart(2, '0')}`;\n}\n\nexport function formatDuration(length: number) {\n const duration = length / 1000;\n const hours = Math.floor(duration / 3600);\n const minutes = Math.floor((duration - hours * 3600) / 60);\n const seconds = Math.ceil(duration - hours * 3600 - minutes * 60);\n\n return `${hours ? `${hours}:` : ''}${minutes >= 10 ? minutes : `0${minutes}`}:${`00${seconds}`.slice(-2)}`;\n}\n\nexport function formatAmount(count: number) {\n const res = (count || 0).toString().replace(/\\d+/, function (n) {\n // 先提取整数部分\n return n.replace(/(\\d)(?=(\\d{3})+$)/g, $1 => `${$1},`);\n });\n return res;\n}\n\nexport function formatPercent(num: number, digit = 1): string {\n if (typeof num !== 'number' || isNaN(num)) {\n return `${(0).toFixed(digit)}%`;\n }\n return `${(num * 100).toFixed(digit)}%`;\n}\n","// 端外fetch\nimport axios from 'axios';\n// import SparkMD5 from 'spark-md5';\nimport md5 from 'md5';\nimport { isIos } from './tools';\n\nconst service = axios.create({\n baseURL: 'https://feed-api.capcutapi.com',\n timeout: 30000,\n headers: {},\n});\n\nservice.interceptors.request.use(config => {\n const { url = '' } = config;\n const pf = isIos ? 1 : 0;\n const appvr = '';\n const deviceTime = parseInt((Date.now() / 1000).toString(), 10);\n const tdid = '';\n const rawStr = `9e2c|${url.slice(-7)}|${pf}|${appvr}|${deviceTime}|${tdid}|11ac`;\n const sign = md5(rawStr);\n return {\n ...config,\n headers: {\n ...config.headers,\n appvr,\n 'device-time': deviceTime,\n loc: 'BR',\n pf,\n sign,\n 'content-type': 'application/json',\n 'sign-ver': '1',\n 'app-sdk-version': '100.0.0',\n },\n };\n});\n\nservice.interceptors.response.use(response => response.data);\n\nexport default service;\n","// if search-param id is null or '', redirect urls\nexport const RedirectURL = {\n PC: 'https://www.capcut.com/templates' as const,\n MOBILE: 'https://www.capcut.com' as const,\n};\n","import React from 'react';\nimport style from './style.scss';\nimport cls from 'classnames';\n\nexport default function SkeletonHeader() {\n return (\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n );\n}\n","import React from 'react';\nimport style from './style.scss';\n\nexport default function SkeletonCard() {\n return (\n
\n
\n \n \n
\n
\n \n
\n
\n );\n}\n","import React, { useMemo } from 'react';\nimport SkeletonHeader from '../SkeletonHeader';\nimport Card from '../SkeletonCard';\nimport refreshPic from '../../assets/refresh.png';\nimport style from './style.scss';\nimport { I18n } from '@ies/starling_intl';\n\ninterface Props {\n isErr: boolean;\n disable: boolean;\n refresh(): void;\n}\n\nexport default function Skeleton(props: Props) {\n const { isErr, disable, refresh } = props;\n const component = useMemo(() => {\n const list = Array.from({ length: 4 });\n if (isErr) {\n return (\n
\n \n {I18n.t('network_error_click_retry')}\n
\n );\n } else if (disable) {\n return (\n
\n {I18n.t('hashtag_unavailable')}\n
\n );\n }\n return (\n
\n {list.map((_, index) => (\n \n ))}\n
\n );\n }, [isErr, disable]);\n\n return (\n
\n \n {component}\n
\n );\n}\n","import { Template } from '@typings/template';\n\ninterface Props {\n list: Omit[];\n card: string;\n info: string;\n container: string;\n}\n\nfunction remToPx(rem: number) {\n const element = document.querySelector('html');\n const [fontSize] = element!.style.fontSize.split('px');\n return rem * Number(fontSize);\n}\nexport default function refresh(props: Props) {\n const { list, card, info, container } = props;\n const cards = document.querySelectorAll(card) as NodeListOf;\n const infos = document.querySelectorAll(info) as NodeListOf;\n const containerDom = document.querySelector(container) as HTMLElement;\n const itemWidth = remToPx(3.34);\n const gap = 20;\n const arr: number[] = [];\n const columns = 2;\n cards.forEach((item, i) => {\n if (i < columns) {\n // 2- 确定第一行\n item.style.top = '0';\n if (i === 0) {\n item.style.left = '0';\n } else {\n item.style.right = '0';\n }\n const current = list[i];\n const height = (itemWidth / current.cover_width) * current.cover_height;\n console.log(height, infos[i].offsetHeight, gap);\n arr.push(height + infos[i].offsetHeight);\n } else {\n let minHeight = arr[0];\n let index = 0;\n for (let j = 0; j < arr.length; j++) {\n if (minHeight > arr[j]) {\n minHeight = arr[j];\n index = j;\n }\n }\n item.style.top = `${arr[index] + gap}px`;\n const left = cards[index].offsetLeft;\n if (left === 0) {\n item.style.left = '0';\n } else {\n item.style.right = '0';\n }\n // item.style.left = `${cards[index].offsetLeft}px`;\n const current = list[i];\n const height = (itemWidth / current.cover_width) * current.cover_height;\n arr[index] = arr[index] + height + infos[i].offsetHeight + gap;\n }\n });\n if (containerDom) {\n containerDom.style.height = `${Math.max.apply(null, arr)}px`;\n }\n}\n","import React from 'react';\nimport { UserInfo } from '@typings/user';\nimport style from './style.scss';\n\ninterface Props {\n user: UserInfo;\n}\n\nexport default function Author(props: Props) {\n const { user } = props;\n return (\n
\n \n {user.name}\n
\n );\n}\n","import { formatCount, wakeUpApp } from '@utils/tools';\nimport { genTemplatePageSchema } from '@utils/schema';\nimport cutPic from '../../assets/usage.svg';\nimport likePic from '../../assets/like.svg';\nimport Author from '../Author';\nimport cls from 'classnames';\nimport React, { useCallback, useMemo } from 'react';\nimport { Template } from '@typings/template';\nimport style from './style.scss';\n\ninterface Props {\n element: Template;\n}\n\nexport default function Card(props: Props) {\n const { element } = props;\n const goDetail = useCallback(() => {\n const link = genTemplatePageSchema({\n template_id: element.web_id,\n root_category: '',\n tab_name: '',\n });\n wakeUpApp(link);\n }, []);\n return (\n
\n
\n \n
\n \n {formatCount(element.usage_amount)}\n \n {formatCount(element.like_count)}\n
\n
\n
\n {element.short_title}\n {element.title}\n \n
\n
\n );\n}\n","import { Template } from '@typings/template';\nimport React, { useEffect } from 'react';\nimport cls from 'classnames';\nimport refresh from './refresh';\nimport Card from '../Card';\nimport style from './style.scss';\n\ninterface Props {\n list: Template[];\n}\n\nexport default function CardList(props: Props) {\n const { list } = props;\n useEffect(() => {\n refresh({\n list,\n card: '.template-card',\n info: '.template-info',\n container: '.card_container',\n });\n }, [list]);\n return (\n
\n {list.map(item => (\n \n ))}\n
\n );\n}\n","import React from 'react';\nimport style from './style.scss';\nimport { I18n } from '@ies/starling_intl';\n\ninterface Props {\n postTemplate(): void;\n}\n\nexport default function PostTemplate(props: Props) {\n const { postTemplate } = props;\n return (\n
\n {I18n.t('open_capcut')}\n
\n );\n}\n","import React from 'react';\nimport { HashTagContent } from '@typings/hashtag';\nimport cls from 'classnames';\nimport { I18n } from '@ies/starling_intl';\nimport { formatNumber } from 'utils/format';\nimport style from './style.scss';\ninterface Props {\n element: HashTagContent;\n}\n\nexport default function BasicInfo(props: Props) {\n const { element } = props;\n return (\n
\n
\n\n
\n \n
\n
\n {formatNumber(element.usage_amount)}\n {I18n.t('uses')}\n
\n
\n
\n {formatNumber(element.content_count)}\n {I18n.t('templates')}\n
\n
\n
\n
\n
\n );\n}\n","import { useRequest } from 'hooks/useRequest';\nimport React from 'react';\nimport fetch from '@utils/fetch';\nimport Skeleton from './components/Skeleton';\nimport CardList from './components/CardList';\nimport { HashTagContent, HashTagRequest } from '@typings/hashtag';\nimport PostTemplate from './components/PostTemplate';\nimport { wakeUpApp } from '@utils/tools';\nimport BasicInfo from './components/BasicInfo';\nimport { getQueryString } from '@utils/schema';\nimport { ApiResponse } from '@typings/request';\n// import mock from './common/mock';\n\nconst ID = getQueryString('id');\n\nconst DEFAULT_PARAMS = {\n count: 10,\n cursor: '',\n id: ID,\n};\nfunction Container() {\n const {\n loading,\n data = {\n status: 1,\n template_list: [],\n } as unknown as HashTagContent,\n err,\n run,\n } = useRequest(\n async () => {\n const res = await fetch.post>(\n '/lv/v1/web/hashtag/get_hashtag_content',\n DEFAULT_PARAMS\n );\n return res.data;\n },\n {\n auto: true,\n initData: {\n status: 1,\n template_list: [],\n } as unknown as HashTagContent,\n }\n );\n const wake = () => {\n const url = `capcut://main/lynx?channel=image_lynx_hashtag_detail&bundle=template.js&theme=light&loading_bgcolor=ffffff&hide_nav_bar=1&status_bar_color=ffffff&status_font_dark=1&source=feed_detail_first&fe_id=${ID}`;\n wakeUpApp(url);\n };\n\n return (\n
\n wake()} />\n {loading || err || data.status !== 1 ? (\n \n ) : (\n <>\n \n \n \n )}\n
\n );\n}\n\nexport default Container;\n","import { I18n } from '@ies/starling_intl';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { hot } from 'react-hot-loader';\nimport { getStarlingText, guessLang } from '@hooks/index';\nimport { getQueryString } from '@utils/schema';\nimport { RedirectURL } from './constant';\nimport { isMobile } from '@utils/userAgent';\nimport './style.scss';\n\nimport App from './Container';\n\nconst ID = getQueryString('id');\nif (!ID) {\n if (isMobile()) {\n window.location.replace(RedirectURL.MOBILE);\n } else {\n window.location.replace(RedirectURL.PC);\n }\n} else {\n const HotApp = hot(module)(App);\n function initI18nInstance() {\n return new Promise(resolve => {\n I18n.init(\n {\n react: {\n useSuspense: false,\n },\n keySeparator: false,\n // 我们假设当前项目只有【中文】&【英文】两个语言\n resources: {},\n fallbackLng: ['en'],\n },\n resolve\n );\n });\n }\n\n initI18nInstance().then(async () => {\n const texts = await getStarlingText();\n const lang = await guessLang();\n await I18n.addResourceBundle(lang, 'translation', texts, true, true);\n I18n.setLang(lang);\n ReactDOM.render(, document.getElementById('root'));\n });\n}\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"._1jZlAmb_nGjqtP4oQUNm1P{position:relative;width:100%;font-size:0}._1qNb2S5Wv05IXtF0yGhotJ{font-size:0}._2PoXb7bY-v6sSvmRsZYJY1{width:3.34rem;position:absolute}._28lF2eBC95-x7DgifwK2-Y{opacity:.85}.ZUZAbk-6hA8eZt7SqDW7R{width:100%;border-radius:8px;background:#dbdbdb}.hv3Xn3472OY9e9pHZsnDR{position:absolute;bottom:6px;left:6px;display:flex;align-items:center;padding:0.04rem 0.2rem;background:rgba(0,0,0,0.3);border-radius:10px;font-weight:500;font-size:10px;line-height:10px;color:#fff}._334aLV8euOzKR49kzIklOv{margin-right:0.04rem;width:0.28rem;height:0.28rem}._2pjug2SnQdNqCKWiTYOiGw{margin-left:0.08rem;margin-right:0.04rem;width:0.28rem;height:0.28rem}._1PBF0xAaiWkFXYRsXXK2lp{font-size:10px;line-height:12px;color:#fff}._2MRPhdyAqSevlFzxKw3YXm{font-size:14px;line-height:20px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#161722}._8I8fED497sHyZmKdRFKm3{font-size:12px;line-height:15px;color:#7d7e84;margin-bottom:.16rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}._3dzt8rlIOJfrt4JVZpYmsd{flex-direction:column}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"cover\": \"_1jZlAmb_nGjqtP4oQUNm1P\",\n\t\"extra\": \"_1qNb2S5Wv05IXtF0yGhotJ\",\n\t\"card\": \"_2PoXb7bY-v6sSvmRsZYJY1\",\n\t\"is-touch\": \"_28lF2eBC95-x7DgifwK2-Y\",\n\t\"pic\": \"ZUZAbk-6hA8eZt7SqDW7R\",\n\t\"info\": \"hv3Xn3472OY9e9pHZsnDR\",\n\t\"usage\": \"_334aLV8euOzKR49kzIklOv\",\n\t\"like\": \"_2pjug2SnQdNqCKWiTYOiGw\",\n\t\"count\": \"_1PBF0xAaiWkFXYRsXXK2lp\",\n\t\"short_title\": \"_2MRPhdyAqSevlFzxKw3YXm\",\n\t\"title\": \"_8I8fED497sHyZmKdRFKm3\",\n\t\"column\": \"_3dzt8rlIOJfrt4JVZpYmsd\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"._2KZovIvah79VzqoyLtJ9Lf{display:flex;align-items:center}._3Fc9JpstqXuI0TDw6PZzVc{flex-direction:column}._2pDwCoQlrCQI6J-MK_Tf11{width:2.28rem;height:2.28rem;margin-right:.80rem;border-radius:.12rem;background:#e5e5e6}._3RboIPR76Rmc1jixmY-4A6{display:flex;flex-direction:column;align-items:center}._3CGrBGz9Q7D6UbzzHj6YGM{font-size:18px;line-height:21px;font-weight:500;color:#161722}._26E3gKXemAWQn2pxi6pEi8{height:.40rem;width:100%}._1kxas6T5pFYDQewAuEkakT{width:0.02rem;height:.28rem;background:#e5e5e6}._8GZ59TkuyBv0eTKwtnkRl{width:100%}._3zSRtqY7NFZPXKAcqcY2nF{flex:1;display:flex;justify-content:space-between;align-items:center}._3tzMSz_rSMi7vqfdtbU77_{font-size:14px;line-height:17px;color:#97999c}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"header\": \"_2KZovIvah79VzqoyLtJ9Lf\",\n\t\"column\": \"_3Fc9JpstqXuI0TDw6PZzVc\",\n\t\"cover\": \"_2pDwCoQlrCQI6J-MK_Tf11\",\n\t\"section\": \"_3RboIPR76Rmc1jixmY-4A6\",\n\t\"count\": \"_3CGrBGz9Q7D6UbzzHj6YGM\",\n\t\"place\": \"_26E3gKXemAWQn2pxi6pEi8\",\n\t\"line\": \"_1kxas6T5pFYDQewAuEkakT\",\n\t\"info\": \"_8GZ59TkuyBv0eTKwtnkRl\",\n\t\"wrap\": \"_3zSRtqY7NFZPXKAcqcY2nF\",\n\t\"message\": \"_3tzMSz_rSMi7vqfdtbU77_\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"._1xSOAQ-p8d79xyo1tHEwxJ{position:fixed;bottom:38px;left:50%;z-index:10;transform:translateX(-50%);background:#55beb0;box-shadow:0 2px 4px rgba(0,0,0,0.11);border-radius:50px;height:.92rem;line-height:.92rem;padding:0 0.88rem;align-items:center;font-weight:600;font-size:16px;color:#fff;white-space:nowrap}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"wrap\": \"_1xSOAQ-p8d79xyo1tHEwxJ\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"._3wuDXCNnqeJzPp3utMHg4r{width:.4rem;height:.40rem;border-radius:50%;margin-right:.12rem}._3B1LMqQ3UQwC_IMCqQtdrt{font-weight:500;font-size:12px;line-height:15px;color:#30313b;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eggLQZZlagkL2ISZSsCB7{display:flex;align-items:center}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"avatar\": \"_3wuDXCNnqeJzPp3utMHg4r\",\n\t\"name\": \"_3B1LMqQ3UQwC_IMCqQtdrt\",\n\t\"author\": \"eggLQZZlagkL2ISZSsCB7\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","import qs from 'qs';\n\nexport function useQuery(query = location.search.slice(1)) {\n return qs.parse(query) as Record;\n}\n","\nvar content = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","// 用于兼容复词表的key, 处理CapCut转化\nexport const pluralLangMap = (lang: string) => {\n if (/zh-Hant-TW/i.test(lang)) {\n lang = 'zh';\n }\n return lang;\n};\n","import React from 'react';\nimport type { LexerHandlerKey, LexerToken, LexerHandlerMap, LexerLoader, extraOptions } from './typings/index';\nimport { pluralLangMap } from './utils/lang_map';\n\nexport default function lexerHandler(\n str: string,\n lang: string,\n loaders: Partial>,\n map?: LexerHandlerMap,\n options?: extraOptions\n): React.ReactNode[] | React.ReactNode {\n const pluralLang = pluralLangMap(lang);\n const handlerMapKeys = map ? Object.keys(map) : [];\n // 0. 如果没有存在特殊的词法规则业务处理逻辑则直接return纯文本\n if (!map || !handlerMapKeys.length) {\n return str;\n }\n\n // 1. 获取到的 raw string 初始化成一个LexerToken数组\n let result: LexerToken[] = [\n {\n type: 'text',\n raw: str || '',\n content: str || '',\n },\n ];\n\n // 2. 优先处理starling下发的特殊复数变量,复数变量不存在特殊的语法\n if (/{num, plural, (.+?)}/.test(str)) {\n if (loaders.plural) {\n return loaders.plural(result, pluralLang, map.plural)[0].content!;\n } else {\n return str;\n }\n }\n\n // 3. 根据传入的LexerHandlerMap进行解析, 将解析完成后的结果, 使用业务定义的lexerhandler进行处理\n result = (function recursive(r): LexerToken[] {\n if (!handlerMapKeys.length) {\n return r;\n }\n const key = handlerMapKeys.pop() as LexerHandlerKey;\n return recursive(loaders[key] ? loaders[key](r, map[key]) : r);\n })(result);\n\n if (options?.lexerResultReturnRawText) {\n return result.map(i => i.content).join('');\n }\n\n // 4. 返回处理之后的结果 React.ReactNode 或者 是纯文本节点\n return result.length ? result.map((r, i) => {r.content}) : result;\n}\n","import type { ReactNode } from 'react';\nimport localforage from 'localforage';\nimport StarlingWeb from '@ies/starling_client';\nimport { useCallback, useEffect, useState, useMemo } from 'react';\nimport { getQueryString } from '@utils/schema';\nimport type { LexerHandlerMap, LexerHandlerKey, LexerLoader, extraOptions } from '@services/i18n_lexer/typings';\nimport replaceLoader from '@services/i18n_lexer/loaders/replace';\nimport lexerHandler from '@services/i18n_lexer/handler';\nimport bridge from '@libs/bridge';\nimport { isIos } from '@utils/tools';\n\nconst defaultLoader = {\n replace: replaceLoader.handle,\n};\n\nconst langMap: Record = {\n ko: 'ko-KR',\n kor: 'ko-KR',\n ja: 'ja-JP',\n jpn: 'ja-JP',\n th: 'th-TH',\n tha: 'th-TH',\n pt: 'pt-BR',\n por: 'pt-BR',\n vi: 'vi-VN',\n fil: 'fil-PH',\n id: 'id-ID',\n in: 'id-ID',\n es: 'es-LA',\n ru: 'ru-RU',\n tr: 'tr-TR',\n ms: 'ms-MY',\n de: 'de-DE',\n fr: 'fr-FR',\n pl: 'pl-PL',\n it: 'it-IT',\n uk: 'uk-UA',\n km: 'km-KH',\n my: 'my-MM',\n ro: 'ro-RO',\n nl: 'nl-NL',\n cs: 'cs-CZ',\n el: 'el-GR',\n hu: 'hu-HU',\n sv: 'sv-SE',\n fi: 'fi-Fl',\n zh: 'zh-Hans',\n ur: 'ur-PK',\n he: 'he-IL',\n ar: 'ar',\n};\n\n// starling实例\nlet starlingInstance: StarlingWeb;\n\n// 是否已经重置过fallback\nlet hasResetLang = false;\n\nconst inApp = /lv\\/([\\d\\.]+)/i.test(navigator.userAgent.toLowerCase());\nexport async function guessLang() {\n let language = getQueryString('pageLang') || getQueryString('language');\n\n if (!language && inApp) {\n if (isIos) {\n const { data } = await bridge.app.getInfo({ type: ['device'] });\n // @ts-ignore return object have no lanuage\n // eslint-disable-next-line prefer-destructuring\n language = data?.deviceInfo?.header?.language;\n } else {\n const { data } = await bridge.app.getAppInfo();\n ({ language } = data);\n }\n } else if (!language && !inApp) {\n language = navigator.language.substring(0, 2);\n }\n\n language = language || 'en';\n let lang = langMap[language];\n if (!lang) {\n lang = language;\n if (/zh-Hant/.test(language)) {\n lang = 'zh-Hant-TW';\n } else if (/zh-hans/i.test(lang)) {\n lang = 'en';\n }\n }\n return lang;\n}\n\nexport async function guessLanguage() {\n let language = getQueryString('pageLang') || getQueryString('language');\n\n if (!language && inApp) {\n if (isIos) {\n const { data } = await bridge.app.getInfo({ type: ['device'] });\n // @ts-ignore return object have no lanuage\n // eslint-disable-next-line prefer-destructuring\n language = data?.deviceInfo?.header?.language;\n } else {\n const { data } = await bridge.app.getAppInfo();\n ({ language } = data);\n }\n } else if (!language && !inApp) {\n language = navigator.language.substring(0, 2);\n }\n\n language = language || 'en';\n return language;\n}\n\nexport type I18NTranslations = Record;\nexport async function getStarlingText(): Promise {\n const lang = await guessLang();\n const params = {\n apiKey: 'f6b7a750496f11eaacd567482798e876',\n namespace: ['Front_end', 'MobileClient_words_same'],\n locale: lang,\n zone: 'SG',\n timeout: 8000,\n test: false,\n lazyUpdate: true,\n fallbackLang: ['en'], // 降级语言列表,当前语言没有数据时降级到该列表,从左往右\n zoneHost: 'https://starling-sg.byteoversea.com',\n TEAChannelDomain: 'https://sgali-mcs.byteoversea.com',\n store: {\n set(key: string, val: string) {\n return localforage.setItem(key, val);\n },\n get(key: string) {\n return localforage.getItem(key);\n },\n },\n };\n const starling = starlingInstance || new StarlingWeb(params);\n starlingInstance = starling;\n\n return new Promise(resolve => {\n starling.load(text => {\n resolve(text);\n });\n });\n}\n\nfunction replace(str: string, obj?: Record) {\n if (!obj) {\n return str;\n }\n\n let newStr = str || '';\n\n Object.keys(obj).forEach((key: string) => {\n newStr = newStr.replace(`{${key}}`, obj[key]);\n });\n\n return newStr;\n}\n\n/** @deprecated use useTranslateV2 instead! e.g import { useTranslateV2 } from './useTranslate'; */\nexport function useTranslate() {\n const [translations, setTranslations] = useState();\n\n const fetchI18n = useCallback(async () => {\n const i18nText = await getStarlingText();\n setTranslations(i18nText);\n // 在 lazy 模式下(lazyUpdate 为 true),调用 load 方法会直接返回本地文案,而不等待拉取最新文案。此时可以通过 waitForRefresh 获取更新后的文案\n starlingInstance.waitForRefresh().then(newI18nText => {\n if (newI18nText) {\n setTranslations(newI18nText);\n }\n });\n }, []);\n\n useEffect(() => {\n fetchI18n();\n }, [fetchI18n]);\n\n return useCallback(\n (key: string, obj?: I18NTranslations) => {\n if (!translations) {\n return key;\n }\n return replace(translations[key], obj);\n },\n [translations]\n );\n}\n\nexport function useTranslateV2(loaders: Partial> = {}) {\n const [translations, setTranslations] = useState();\n const [fallbackData, setFallbackData] = useState();\n const [language, setLang] = useState('');\n const fetchI18n = useCallback(async () => {\n const [translationsData, lang] = await Promise.all([getStarlingText(), guessLanguage()]);\n setTranslations(translationsData);\n setLang(lang);\n /**\n * waitForRefresh 的返回结果依赖最新调用的 load()\n * 每当“首次”切换新语言时, 缓存中没有文案, 会走到下面 t 函数里的 load 英语文案逻辑\n * 导致 waitForRefresh 返回的结果是英语, 覆盖用户预期的语言, 二次进入页面有缓存就没问题\n * 这里主动将 locale 设置回当前语言, 确保获取正确的文案\n */\n starlingInstance.setConfig({ locale: await guessLang() }); // locale 需要和初始化时传的一致\n starlingInstance.load();\n // 在 lazy 模式下(lazyUpdate 为 true),调用 load 方法会直接返回本地文案,而不等待拉取最新文案。此时可以通过 waitForRefresh 获取更新后的文案\n starlingInstance.waitForRefresh().then(newI18nText => {\n if (newI18nText) {\n setTranslations(newI18nText);\n }\n });\n }, []);\n\n useEffect(() => {\n fetchI18n();\n }, [fetchI18n]);\n\n const t: {\n (key: string): string;\n (key: string, obj: LexerHandlerMap): ReactNode;\n (key: string, obj: LexerHandlerMap, options: extraOptions): ReactNode;\n } = useCallback(\n (key, obj?: LexerHandlerMap, options?: extraOptions) => {\n try {\n // 英文兜底\n if (!translations?.[key] && !hasResetLang && navigator.language.substring(0, 2) !== 'en') {\n // 确保实例初始化后再调用\n if (starlingInstance) {\n starlingInstance.setConfig({ locale: 'en' });\n starlingInstance\n .load()\n .then(data => setFallbackData(data))\n .catch(_ => null);\n hasResetLang = true;\n }\n }\n } catch (error) {}\n if (!translations) {\n return key;\n }\n\n try {\n return lexerHandler(\n translations[key] || fallbackData?.[key] || '',\n language,\n { ...defaultLoader, ...loaders },\n obj,\n options\n );\n } catch (e) {\n // 解析失败的情况下返回源文件\n return translations[key] || fallbackData?.[key] || '';\n }\n },\n [translations, language, fallbackData]\n );\n\n return t;\n}\n\nexport function useTranslateLoading(translate: Function) {\n const loading = useMemo(() => translate('data_center_projects') !== 'data_center_projects', [translate]);\n return !loading;\n}\n","import bridge from '@bridge/imlv';\nimport semver from 'semver';\nimport { parse } from 'query-string';\nimport { isExistUser } from '@services/jsb';\n\nconst u = navigator.userAgent;\nexport const isIos = Boolean(u.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/));\n\nexport function formatCount(count: number): number | string {\n if (count < 1000) {\n return count;\n }\n if (count > 1000 && count < 1000 * 1000) {\n return `${Math.floor(count / 100) / 10}K`;\n }\n return `${Math.floor(count / 100000) / 10}M`;\n}\n\nexport function formatMoney(value: number, isFixed = true) {\n let yuan = isFixed ? value || 0 : parseInt(String((value || 0) / 100), 10);\n yuan = yuan / 100;\n return yuan.toFixed(isFixed ? 2 : 0).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n}\n\nexport const isWindow = (obj: object) => {\n const toString = Object.prototype.toString.call(obj);\n return toString === '[object global]' || toString === '[object Window]' || toString === '[object DOMWindow]';\n};\n\nexport const scrollTop = (ele: Element | Window, target?: number) => {\n const isWin = isWindow(ele);\n const y =\n window.pageYOffset !== undefined ?\n window.pageYOffset :\n (document.documentElement || document.body.parentNode || document.body).scrollTop;\n\n if (target && !isNaN(target)) {\n if (isWin) {\n document.documentElement.scrollTop = target;\n document.body.scrollTop = target;\n } else {\n (ele as Element).scrollTop = target;\n }\n }\n\n return isWin ? y : (ele as Element).scrollTop;\n};\n\nexport function scrollGate(down: Function, up: Function): () => void {\n let before = 0;\n\n return function () {\n const current = scrollTop(window);\n const delta = current - before;\n\n if (delta >= 0) {\n down && down();\n } else {\n up && up();\n }\n\n before = current;\n };\n}\n\nexport function safeSet(obj: any, path: string, value: any) {\n if (Object(obj) !== obj) {\n return obj;\n }\n let paths: string[] = [];\n if (!Array.isArray(path)) {\n paths = path.toString().match(/[^.[\\]]+/g) || [];\n }\n paths.slice(0, -1).reduce(\n (\n acc,\n cur,\n index // Iterate all of them except the last one\n ) =>\n (Object(acc[cur]) === acc[cur] ?\n acc[cur] : // No: create the key. Is the next key a potential array-index?\n (acc[cur] =\n Math.abs(Number(paths[index + 1])) >> 0 === Number(paths[index + 1]) ?\n [] : // Yes: assign a new array object\n {})), // No: assign a new plain object\n obj\n )[paths[paths.length - 1]] = value; // Finally assign the value to the last key\n return obj; // Return the top-level object to allow chaining\n}\n\nexport function noop() {\n // noop 空函数\n}\n\nexport function wakeUpApp(href: string) {\n window.location.href = href;\n setTimeout(() => {\n window.location.href = 'https://www.capcut.net/app?language=en';\n }, 2000);\n}\n\n// > minVersion 返回true\nexport async function supportVersion(judgeStr: string) {\n const { userAgent } = navigator;\n try {\n if (/LV/.test(userAgent)) {\n // 获取app版本号\n const { data } = await bridge.app.getAppInfo();\n return semver.satisfies(data.appVersion, judgeStr);\n } else {\n return false;\n }\n } catch (error) {\n return false;\n }\n}\n\nexport function base64ToBlob(base64: string) {\n const arr = base64.split(',');\n const mime = arr[0].match(/:(.*?);/)[1]; // 分割 mime 和 图片数据\n const bstr = atob(arr[1]); // 去掉 url 头,并转化为 byte\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], { type: mime });\n}\n\nconst channelAttrKey = 'header'; // 泳道属性key\nconst envAttrKey = 'env'; // 环境属性key,取值为boe/ppe\n\nexport function getUrlWithEnv(path: string) {\n const url = new URL(path);\n const query = parse(location.search);\n if (query[channelAttrKey] && !url.searchParams.has(channelAttrKey)) {\n url.searchParams.set(channelAttrKey, query[channelAttrKey] as string);\n }\n if (query[envAttrKey] && !url.searchParams.has(envAttrKey)) {\n url.searchParams.set(envAttrKey, query[envAttrKey] as string);\n }\n return url.href;\n}\n\nexport function versionCompare(left, right) {\n if (typeof left + typeof right !== 'stringstring') {\n return false;\n }\n const a = left.split('.');\n const b = right.split('.');\n const len = Math.max(a.length, b.length);\n let i = 0;\n\n for (; i < len; i++) {\n if ((a[i] && !b[i] && parseInt(a[i]) > 0) || parseInt(a[i]) > parseInt(b[i])) {\n return 1;\n } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || parseInt(a[i]) < parseInt(b[i])) {\n return -1;\n }\n }\n\n return 0;\n}\n","import React from '@byted-lynx/react-runtime';\nimport type { LexerToken } from '../typings/index';\nimport { lexerCommonHandler, resolvePayload } from '../utils';\n\nexport type IReplaceHandlerPayload = (replaceKey: string, ...args) => React.ReactNode;\nexport type IPayload =\n | (number | string | React.ReactNode)\n | IReplaceHandlerPayload\n | Record;\n\nexport default {\n type: 'replace',\n handle: (tokenList: LexerToken[], payload: IPayload) =>\n lexerCommonHandler(tokenList, /(\\{)(.+?)(\\})/g, rawTokens => {\n const splitTokens: LexerToken[] = [];\n for (let i = 0; i < rawTokens.length;) {\n const p = rawTokens[i];\n const n = rawTokens[i + 1];\n const nn = rawTokens[i + 2];\n if (p === '{' && nn === '}') {\n const raw = p + n + nn;\n const result = resolvePayload(payload, n);\n splitTokens.push({\n type: 'replace',\n raw,\n content: typeof result === 'undefined' || result === null ? raw : result,\n });\n i += 3;\n } else {\n // 会存在空字符\n if (p) {\n splitTokens.push({\n type: 'text',\n raw: p,\n content: p,\n });\n }\n i++;\n }\n }\n return splitTokens;\n }),\n};\n","\nvar content = require(\"!!../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-modules-typescript-loader/index.js!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/cjs.js??ref--9-2!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/postcss-loader/lib/index.js??ref--9-3!../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/sass-loader/dist/cjs.js??ref--9-4!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"._1NB1paWya29uNgrOmgjNyw{position:relative;width:100%}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": \"_1NB1paWya29uNgrOmgjNyw\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","import dayJs from 'dayjs';\nimport { FormatType, DataType } from '@constants/detail';\nimport { CCORIGIN } from 'constants/address';\nimport { getQueryString, formatDuration, formatAmount } from '@utils/tool';\n\nexport const getTimeFormat = () => {\n const region = new URLSearchParams(window.location.search).get('region') || '';\n\n if (!region) {\n return 'YYYY-MM-DD';\n }\n\n const eu5 = ['gb', 'fr', 'de', 'it', 'es'];\n\n return [...eu5, 'us'].includes(region.toLowerCase()) ? 'DD/MM/YYYY' : 'YYYY-MM-DD';\n};\n\nexport function formatNumber(num: number) {\n if (num < 1e3) {\n return `${num}`;\n }\n\n num = num || 0;\n const k = num < 1e6;\n const m = num >= 1e6 && num < 1e9;\n\n const numDigits = `${num / (k ? 1e3 : m ? 1e6 : 1e9)}`.split('.');\n const integer = numDigits[0] || 0;\n const float = (numDigits[1] || '0').slice(0, 1);\n\n return `${integer}${float !== '0' ? `.${float}` : ''}${k ? 'K' : m ? 'M' : 'B'}`;\n}\n\nexport const formatData = (value: any, type?: FormatType | DataType) => {\n if (!type) {\n return value;\n }\n if (type === FormatType.Date) {\n console.log(value);\n return dayJs.unix(value).format('YYYY/MM/DD');\n } else if (type === FormatType.Duration) {\n return formatDuration(value);\n } else if (type === FormatType.Amount) {\n return formatAmount(value);\n } else if (type === FormatType.Link) {\n const region = getQueryString('region');\n return `${CCORIGIN}?template_id=${value}®ion=${region}`;\n } else if (type === DataType.SortSource) {\n return value ? 'Operation Boost' : 'Original sort';\n } else {\n return value;\n }\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".OJ150s4tq57YO_GPpphNv{align-items:center;display:flex}._12TuxKDAbj7j5Wboaufmg4{height:.4rem;width:100%}.nhVugmbxYGjGb2YW_HrTm{margin-top:3.5rem}._3Hv_-WCRUpW20i6kdS-NdH{display:flex;flex-direction:column;align-items:center}._2J9EWu1xM7O8zFpPoz4-k-{width:2.28rem;height:2.28rem;margin-right:.8rem;border-radius:.12rem;background:#e5e5e6}._2V8n0H4femmrm-svCWliF3{height:.32rem;background:#e5e5e6}.ySsqAZtTVwreelnu9IAyg{margin-right:.30rem}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"wrap\": \"OJ150s4tq57YO_GPpphNv\",\n\t\"place\": \"_12TuxKDAbj7j5Wboaufmg4\",\n\t\"refresh\": \"nhVugmbxYGjGb2YW_HrTm\",\n\t\"column\": \"_3Hv_-WCRUpW20i6kdS-NdH\",\n\t\"avatar\": \"_2J9EWu1xM7O8zFpPoz4-k-\",\n\t\"section\": \"_2V8n0H4femmrm-svCWliF3\",\n\t\"column1\": \"ySsqAZtTVwreelnu9IAyg\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","import { useCallback } from 'react';\n\nexport function useLocalStorage() {\n const get = useCallback((storageName: string) => localStorage.getItem(storageName), []);\n const set = useCallback((storageName: string, val: string) => {\n localStorage.setItem(storageName, val);\n }, []);\n return { get, set };\n}\n","module.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4BAMAAABaqCYtAAAAIVBMVEVHcEyXl5eWmJyXmZyWmJubn5+WmZyWl5uWmZyXmZyXmZzzyLMkAAAACnRSTlMAIH/aWhCSO++4ZUwOLAAAAWdJREFUOMvVlDFPwzAQhZ2oBboFqDJ0QhULmcpAEUxVhYToFBXUgYmBBaYikJA6RoIhEwMDYmqbKm3fr8SJmzi+2JHY4Kb4vtz5+Xxnxv6uNfvty7Ee3XyB2+rT1zA3hLB3p8SGyC2mdPtcQpwS6HHf+n7XejlK6IHCbO4JhBKX55jTwDhTuUdCeWAkD7ivhk6AY7myeOJxcRUVj34NnOSLLSUw/VnmbQHquSdY5Y5Hoj1Jlemth2rW1PNmn6XBNeCuVLCFh07y1aBbMnaLKMQ0+drBmt5RI6lwR2ibU8gVIXIEXFDIZWycAywptPLie5hpYJTpnpa65js7uiaS1a96bLPnzNzLg7JaVriU2Aw1FVJq5RthjTYqvT1zXq9KUavYitRs0D4pbkr6dtRlVR1PZ0W20TPwQacsoyN+0T06n11BhyGdTzHZh09W86E82dVvAnMlC3zzOxQ4v3zBuL322xcO+7/2A4slrRSI9N9pAAAAAElFTkSuQmCC\"","import { supportVersion } from '@utils/tools';\nimport { useCallback, useEffect } from 'react';\nimport { useTranslate } from './useTranslate';\nimport bridge from '@bridge/imlv';\n\nexport function useSupportVersionToast(judgeStr: string, starlingKey: string) {\n const translate = useTranslate();\n const fn = useCallback(async () => {\n const isSupport = await supportVersion(judgeStr);\n const text = translate(starlingKey);\n // 表示版本过低,并且翻译文案已ready\n if (!isSupport && starlingKey !== text) {\n bridge.view.toast({\n text,\n });\n }\n }, [translate]);\n useEffect(() => {\n fn();\n }, [fn]);\n}\n","import type { TabBar } from '../typings/base';\nimport { DATA_CENTER_DESCRIPTION_URL } from '@constants/address';\nimport { checkIsCollection, EffectType, MaterialCommonAttr } from '@heycan/lynx-common';\n\n// 转场动画效果\nexport enum EnterMode {\n none = 'none', // 没有转场动画\n bottomToTop = 'modal', // 从下往上转场 (iOS 系统present默认动画)\n leftToRight = 'from_left_to_right', // 从左往右转场(系统push默认动画)\n leftToRightFull = 'from_left_to_right_full', // 从左往右转场,移动幅度为整个屏幕\n rightToLeft = 'from_right_to_left', // 从右往左转场\n rightToLeftFull = 'from_right_to_left_full' // 从右往左转场\n}\n\nexport function appendQuery(schema: string, params: Params) {\n const [main, hash] = schema.split('#');\n const [base, _qs = ''] = main.split('?');\n const query = parseQueryString(_qs);\n\n const afterformatQs = stringifyQuery({ ...query, ...params });\n return `${base}${afterformatQs ? `?${afterformatQs}` : ''}${hash || hash === '' ? `#${hash}` : ''}`;\n}\n\ntype Params = Record;\n\n// schema参数拼接\nexport function stringifyQuery(params: Params) {\n const pairs = Object.keys(params).map(k => {\n if (typeof params[k] === 'undefined') {\n return '';\n }\n return `${k}=${encodeURIComponent(params[k])}`;\n });\n\n return pairs.filter(Boolean).join('&');\n}\n\nexport function parseQueryString(qs: string) {\n return qs.split('&').reduce((r, kv) => {\n const [k, v = ''] = kv.split('=');\n return k ? { ...r, [k]: decodeURIComponent(v) } : r;\n }, {});\n}\n\nexport function modifySchemaQuery(schema: string, newQuery: Record) {\n if (schema) {\n const [url, queryStr = ''] = schema.split('?');\n const originQuery = parseQueryString(queryStr);\n const hydrateQuery = stringifyQuery({ ...originQuery, ...newQuery });\n return `${url}${hydrateQuery ? `?${hydrateQuery}` : ''}`;\n }\n return schema;\n}\n\nexport function getQueryString(name: string, decode = true): string | null {\n const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i');\n const r = window.location.search.substr(1).match(reg);\n if (r !== null) {\n return decode ? decodeURIComponent(r[2]) : r[2];\n }\n return null;\n}\n\nexport function httpsify(url: string) {\n return (url || '').replace(/^http:/, 'https:');\n}\n\n// 通用 webview schema\nexport function genWebviewSchema(params: {\n web_url: string;\n enter_from?: string;\n title?: string;\n title_color?: string;\n hide_nav_bar?: 0 | 1;\n nav_bar_color?: string;\n loading_bgcolor?: string;\n status_bar_color?: string;\n status_font_dark?: 0 | 1;\n theme?: 'dark' | 'light';\n}) {\n const preset: Partial = {};\n\n if (params.theme === 'light') {\n Object.assign(preset, {\n loading_bgcolor: 'ffffff',\n nav_bar_color: 'ffffff',\n status_bar_color: 'ffffff',\n status_font_dark: 1,\n title_color: '000000ff',\n });\n }\n\n return `capcut://main/web?${stringifyQuery({ ...preset, ...params })}`;\n}\n\n// 跳转个人主页 schema\nexport function genHomePageSchema(params: {\n user_id: string;\n enter_from?: string;\n tab?: string;\n trending?: string;\n trending_category?: string;\n rank?: number;\n root_category?: string;\n tab_name?: string;\n publicid?: string;\n profile_page_url?: string;\n}) {\n return `capcut://user/homepage?${stringifyQuery(params)}`;\n}\n\n// 跳转剪同款(模版)页 schema\nexport function genTemplatePageSchema(params: {\n template_id: string;\n trending?: string;\n trending_category?: string;\n enter_from?: string;\n tab_name: string;\n root_category: string;\n rank?: number;\n}) {\n return `capcut://template/detail?${stringifyQuery(params)}`;\n}\n\n// 教程详情页 通用参数https://bytedance.feishu.cn/wiki/wikcnhVEoLXMaGMNpu29ARQ4Ief\nexport function genTutorialDetailSchema(params: {\n /** 教程id */\n tutorial_id: number;\n /** 埋点需要,来源 */\n enter_from?: string;\n /** 埋点需要,搜索关键词来源 */\n keyword_source?: string;\n /** 埋点需要, 初始搜索词【用户输入的词】 */\n raw_query?: string;\n /** 埋点需要,实际搜索关键词 */\n search_keyword?: string;\n /** 埋点需要,搜索id */\n search_id?: string;\n /** 埋点需要, 教程名称 */\n tutorial_name?: string;\n /** 埋点需要,结果列表中搜索结果的排序位置,功能与教程两部分分开排序 */\n rank?: number;\n /** 埋点需要,搜索所处位置 */\n search_position?: string;\n}) {\n return genLynxviewSchema({\n channel: 'image_lynx_search_tutorial_detail',\n bundle: 'template.js',\n loading_bgcolor: 'ffffff',\n hide_nav_bar: 1,\n status_bar_color: 'ffffff',\n status_font_dark: 1,\n hide_loading: 0,\n ...params,\n });\n}\n\n// 通用 Lynxview schema\nexport function genLynxviewSchema(params: {\n channel?: string;\n bundle?: string;\n silent_load?: 0 | 1;\n async_layout?: 0 | 1;\n hide_nav_bar?: 0 | 1;\n title?: string;\n theme?: 'dark' | 'light';\n title_color?: string;\n hide_loading?: 0 | 1;\n loading_bgcolor?: string;\n nav_bar_color?: string;\n immersive_mode?: 0 | 1;\n status_font_dark?: 1 | 0;\n status_bar_color?: string;\n [key: string]: any;\n}) {\n return `capcut://main/lynx?${stringifyQuery(params)}`;\n}\n\n// 创作者权益页 schema\nexport function genCreatorRightsSchema() {\n return genLynxviewSchema({\n channel: 'image_lynx_creator_rights',\n bundle: 'template.js',\n loading_bgcolor: 'ffffff',\n status_bar_color: 'ffffff',\n status_font_dark: 1,\n hide_nav_bar: 1,\n theme: 'light',\n hide_loading: 0,\n });\n}\n\n// 跳任务中心\nexport function genBusinessTaskCenterSchema(options = {}) {\n return genLynxviewSchema({\n channel: 'image_lynx_creator_business_task',\n bundle: 'template.js',\n hide_loading: 1,\n loading_bgcolor: 'f2f5f7',\n status_bar_color: 'f2f5f7',\n status_font_dark: 1,\n hide_nav_bar: 1,\n theme: 'light',\n ...options,\n });\n}\n\n/** 会员订阅页面 */\n/* export function genVipPageSchema(params?: {\n page_from?: string;\n hide_pro_tab?: string;\n template_id?: string;\n pay_source?: PaySource;\n position?: PayPosition;\n enter_source?: EnterSource;\n}) {\n\n return genLynxviewSchema({\n ...(params || {}),\n bundle: 'template.js',\n channel: 'image_lynx_subscription',\n dynamic: 3,\n hide_nav_bar: 1,\n immersive_mode: 1,\n status_font_dark: 0,\n loading_white: 1, // lynx页面加载使用白色loading\n // is_debug: 1,\n });\n} */\n\n// 素材商店二级分类聚合页面\nexport function genMaterialDetailPageSchema(info: MaterialCommonAttr, extra = {}) {\n const isCollection = checkIsCollection(info.effect_type) || info.effect_type === EffectType.Emoticon;\n return genLynxviewSchema({\n bundle: isCollection ? 'pages/collection/template.js' : 'pages/single/template.js',\n channel: isCollection ?\n 'image_lynx_heycan_new_material_detail_collection' :\n 'image_lynx_heycan_new_material_detail_single',\n effect_id: info.effect_id || info.id,\n effect_type: info.effect_type,\n effect_source: info.source,\n theme: 'dark',\n hide_loading: 1,\n hide_status_bar: 0,\n hide_nav_bar: 1,\n immersive_mode: 1,\n dynamic: 3,\n ...extra,\n });\n}\n\nexport function genDataCenterDescriptionUrl(params: { lang: string; title?: string }) {\n return genWebviewSchema({\n web_url: DATA_CENTER_DESCRIPTION_URL,\n hide_nav_bar: 0,\n theme: 'light',\n ...params,\n });\n}\n\n// 定位到 某个 底部 TabBar\nexport function genCheckoutTabBar(\n index: TabBar,\n options?: {\n enter_mode?: EnterMode;\n }\n) {\n const params: Record = {\n index,\n enter_mode: 'none',\n ...options,\n };\n return `capcut://main/tabbar?${stringifyQuery(params)}`;\n}\n\n/* 唤起模板创作 */\nexport function genEditCreateSchema(params: { [key: string]: any }) {\n return `capcut://editor/create?${stringifyQuery(params)}`;\n}\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../../../../home/tiger/.nvm/versions/node/v12.4.0/lib/node_modules/@ies/eden/node_modules/@ies/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=\\\"button\\\"],[type=\\\"reset\\\"],[type=\\\"submit\\\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\\\"button\\\"]::-moz-focus-inner,[type=\\\"reset\\\"]::-moz-focus-inner,[type=\\\"submit\\\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\\\"button\\\"]:-moz-focusring,[type=\\\"reset\\\"]:-moz-focusring,[type=\\\"submit\\\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=\\\"checkbox\\\"],[type=\\\"radio\\\"]{box-sizing:border-box;padding:0}[type=\\\"number\\\"]::-webkit-inner-spin-button,[type=\\\"number\\\"]::-webkit-outer-spin-button{height:auto}[type=\\\"search\\\"]{-webkit-appearance:textfield;outline-offset:-2px}[type=\\\"search\\\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--hairline-color: rgba(0, 0, 0, .1);--primary-color: #55beb0;--button-primary-clicked-background: #55beb0}@supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)){:root{--safearea-bottom: constant(safe-area-inset-bottom);--safearea-bottom: env(safe-area-inset-bottom)}}*,*::before,*::after{outline:none;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}a{text-decoration:none}@keyframes _1YBgC1JnmW83FvjNRSF0X4{to{opacity:1}}.fade-mount{opacity:0;animation:_1YBgC1JnmW83FvjNRSF0X4 .36s ease-in-out forwards}body{margin:auto;max-width:960px;color:#2c3e50;user-select:none;-webkit-font-smoothing:antialiased;font-family:CapCut Sans Text, Helvetica Neue, Helvetica, Arial, PingFang SC, Hiragino Sans GB, Heiti SC, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif;font-size:.26rem}input{border:none;outline:none}.elli{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;text-overflow:ellipsis;white-space:nowrap;/*! autoprefixer: off */-webkit-box-orient:vertical;/*! autoprefixer: on */}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hl--t{position:relative}.hl--t::after{content:\\\"\\\";display:block;position:absolute;z-index:1;top:0;left:0;width:100%;height:0.02rem;pointer-events:none;background-color:var(--hairline-color);transform:scaleY(0.5)}.hl--r{position:relative}.hl--r::after{content:\\\"\\\";display:block;position:absolute;z-index:1;top:0;right:0;width:0.02rem;height:100%;pointer-events:none;background-color:var(--hairline-color);transform:scaleX(0.5)}.hl--b{position:relative}.hl--b::after{content:\\\"\\\";display:block;position:absolute;z-index:1;bottom:0;left:0;width:100%;height:0.02rem;pointer-events:none;background-color:var(--hairline-color);transform:scaleY(0.5)}.hl--l{position:relative}.hl--l::after{content:\\\"\\\";display:block;position:absolute;z-index:1;top:0;left:0;width:0.02rem;height:100%;pointer-events:none;background-color:var(--hairline-color);transform:scaleX(0.5)}.hl--a{position:relative}.hl--a::after{content:\\\"\\\";display:block;position:absolute;z-index:1;top:0;left:0;width:200%;height:200%;pointer-events:none;background-color:var(--hairline-color);border:1px solid;transform:scale(0.5);transform-origin:left top;background-color:transparent}.hashtag{padding:.3rem}\\n\", \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"fade-mount\": \"_1YBgC1JnmW83FvjNRSF0X4\"\n};\nmodule.exports = ___CSS_LOADER_EXPORT___;\n"],"sourceRoot":""}