UNPKG

2.45 MBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://UMD/webpack/universalModuleDefinition","webpack://UMD/webpack/bootstrap","webpack://UMD/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://UMD/./node_modules/react-dom/index.js","webpack://UMD/./node_modules/axios/lib/utils.js","webpack://UMD/./node_modules/axios/index.js","webpack://UMD/./node_modules/axios/lib/helpers/bind.js","webpack://UMD/./node_modules/axios/lib/helpers/buildURL.js","webpack://UMD/./node_modules/axios/lib/cancel/isCancel.js","webpack://UMD/./node_modules/axios/lib/defaults.js","webpack://UMD/./node_modules/axios/lib/adapters/xhr.js","webpack://UMD/./node_modules/axios/lib/core/createError.js","webpack://UMD/./node_modules/axios/lib/core/mergeConfig.js","webpack://UMD/./node_modules/axios/lib/cancel/Cancel.js","webpack://UMD/(webpack)/buildin/amd-options.js","webpack://UMD/./src/FastClick/FastClick.js","webpack://UMD/./src/PrototypeArray.js","webpack://UMD/./src/PrototypeMath.js","webpack://UMD/./src/PrototypeObject.js","webpack://UMD/./src/PrototypeString.js","webpack://UMD/./src/PrototypeNumber.js","webpack://UMD/./src/PrototypeDate.js","webpack://UMD/./src/PrototypePinyin.js","webpack://UMD/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://UMD/./node_modules/object-assign/index.js","webpack://UMD/./node_modules/scheduler/index.js","webpack://UMD/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://UMD/./node_modules/axios/lib/axios.js","webpack://UMD/./node_modules/axios/node_modules/is-buffer/index.js","webpack://UMD/./node_modules/axios/lib/core/Axios.js","webpack://UMD/./node_modules/axios/lib/core/InterceptorManager.js","webpack://UMD/./node_modules/axios/lib/core/dispatchRequest.js","webpack://UMD/./node_modules/axios/lib/core/transformData.js","webpack://UMD/./node_modules/process/browser.js","webpack://UMD/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://UMD/./node_modules/axios/lib/core/settle.js","webpack://UMD/./node_modules/axios/lib/core/enhanceError.js","webpack://UMD/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://UMD/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://UMD/./node_modules/axios/lib/helpers/cookies.js","webpack://UMD/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://UMD/./node_modules/axios/lib/helpers/combineURLs.js","webpack://UMD/./node_modules/axios/lib/cancel/CancelToken.js","webpack://UMD/./node_modules/axios/lib/helpers/spread.js","webpack://UMD/(webpack)/buildin/harmony-module.js","webpack://UMD/./src/Actionsheet/Actionsheet.js","webpack://UMD/./src/Actionsheet/index.js","webpack://UMD/./src/Alert/Alert.js","webpack://UMD/./src/Alert/index.js","webpack://UMD/./src/Badge/index.js","webpack://UMD/./src/Badge/Badge.js","webpack://UMD/./src/BiClock/index.js","webpack://UMD/./src/BiClock/BiClock.js","webpack://UMD/./src/BiDoughnut/index.js","webpack://UMD/./src/BiDoughnut/BiDoughnut.js","webpack://UMD/./src/BiGauge/index.js","webpack://UMD/./src/BiGauge/BiGauge.js","webpack://UMD/./src/Device/index.js","webpack://UMD/./src/Device/Device.js","webpack://UMD/./src/jsonp/jsonp.js","webpack://UMD/./src/jsonp/index.js","webpack://UMD/./src/DB/index.js","webpack://UMD/./src/DB/DB.js","webpack://UMD/./src/Toast/instance.js","webpack://UMD/./src/Alert/instance.js","webpack://UMD/./src/Loading/instance.js","webpack://UMD/./src/Preview/pinch-zoom.js","webpack://UMD/./src/Preview/instance.js","webpack://UMD/./src/MediaUtil/index.js","webpack://UMD/./src/MediaUtil/MediaUtil.js","webpack://UMD/./src/FullScreen/index.js","webpack://UMD/./src/FullScreen/FullScreen.js","webpack://UMD/./src/Bridge/bridgeBrowser.js","webpack://UMD/./src/Bridge/bridgeWeixin.js","webpack://UMD/./src/Bridge/bridgeDinghuo.js","webpack://UMD/./src/Bridge/bridgeWaiqin.js","webpack://UMD/./src/Bridge/Bridge.js","webpack://UMD/./src/Bridge/index.js","webpack://UMD/./src/Button/index.js","webpack://UMD/./src/Button/Button.js","webpack://UMD/./src/Calendar/instance.js","webpack://UMD/./src/Calendar/index.js","webpack://UMD/./src/Calendar/Calendar.js","webpack://UMD/./src/Card/index.js","webpack://UMD/./src/Card/Card.js","webpack://UMD/./src/Carrousel/instance.js","webpack://UMD/./src/Carrousel/index.js","webpack://UMD/./src/Carrousel/Carrousel.js","webpack://UMD/./src/Chat/index.js","webpack://UMD/./src/Chat/Chat.js","webpack://UMD/./src/Checkbox/index.js","webpack://UMD/./src/Checkbox/Checkbox.js","webpack://UMD/./src/ImgLazy/index.js","webpack://UMD/./src/ImgLazy/ImgLazy.js","webpack://UMD/./src/Container/index.js","webpack://UMD/./src/Container/Container.js","webpack://UMD/./src/Counter/instance.js","webpack://UMD/./src/Counter/index.js","webpack://UMD/./src/Counter/Counter.js","webpack://UMD/./src/Dialog/index.js","webpack://UMD/./src/Dialog/Dialog.js","webpack://UMD/./src/Dot/index.js","webpack://UMD/./src/Dot/Dot.js","webpack://UMD/./src/Notice/index.js","webpack://UMD/./src/Notice/Notice.js","webpack://UMD/./src/Dragrefresh/instance.js","webpack://UMD/./src/Dragrefresh/Dragrefresh.js","webpack://UMD/./src/Dragrefresh/index.js","webpack://UMD/./src/Tabbar/index.js","webpack://UMD/./src/Tabbar/Tabbar.js","webpack://UMD/./src/MenuTiled/instance.js","webpack://UMD/./src/MenuTiled/index.js","webpack://UMD/./src/MenuTiled/MenuTiled.js","webpack://UMD/./src/Dropdown/index.js","webpack://UMD/./src/Dropdown/Dropdown.js","webpack://UMD/./src/InputText/index.js","webpack://UMD/./src/InputText/InputText.js","webpack://UMD/./src/InputPre/index.js","webpack://UMD/./src/InputPre/InputPre.js","webpack://UMD/./src/Emoji/instance.js","webpack://UMD/./src/Emoji/instance.data.js","webpack://UMD/./src/Emoji/Emoji.js","webpack://UMD/./src/Emoji/index.js","webpack://UMD/./src/Footer/index.js","webpack://UMD/./src/Footer/Footer.js","webpack://UMD/./src/Group/index.js","webpack://UMD/./src/Group/Group.js","webpack://UMD/./src/Handsign/instance.js","webpack://UMD/./src/Handsign/index.js","webpack://UMD/./src/Handsign/Handsign.js","webpack://UMD/./src/Header/index.js","webpack://UMD/./src/Header/Header.js","webpack://UMD/./src/ImgMark/instance.js","webpack://UMD/./src/ImgMark/ImgMark.js","webpack://UMD/./src/ImgMark/index.js","webpack://UMD/./src/IndexBar/instance.js","webpack://UMD/./src/IndexBar/index.js","webpack://UMD/./src/IndexBar/IndexBar.js","webpack://UMD/./src/InputArea/index.js","webpack://UMD/./src/InputArea/InputArea.js","webpack://UMD/./src/PickerCity/instance.data.js","webpack://UMD/./src/Picker/instance.js","webpack://UMD/./src/PickerCity/instance.js","webpack://UMD/./src/PickerCity/PickerCity.js","webpack://UMD/./src/PickerCity/index.js","webpack://UMD/./src/InputCity/index.js","webpack://UMD/./src/InputCity/InputCity.js","webpack://UMD/./src/InputColor/index.js","webpack://UMD/./src/InputColor/InputColor.js","webpack://UMD/./src/PickerDate/instance.js","webpack://UMD/./src/PickerDate/PickerDate.js","webpack://UMD/./src/PickerDate/index.js","webpack://UMD/./src/InputDate/InputDate.js","webpack://UMD/./src/InputDate/index.js","webpack://UMD/./src/InputLocation/InputLocation.js","webpack://UMD/./src/InputLocation/index.js","webpack://UMD/./src/InputNumber/index.js","webpack://UMD/./src/InputNumber/InputNumber.js","webpack://UMD/./src/InputPassword/index.js","webpack://UMD/./src/InputPassword/InputPassword.js","webpack://UMD/./src/InputTel/index.js","webpack://UMD/./src/InputTel/InputTel.js","webpack://UMD/./src/Picker/Picker.js","webpack://UMD/./src/Picker/index.js","webpack://UMD/./src/InputPicker/index.js","webpack://UMD/./src/InputPicker/InputPicker.js","webpack://UMD/./src/InputRange/instance.js","webpack://UMD/./src/InputRange/index.js","webpack://UMD/./src/InputRange/InputRange.js","webpack://UMD/./src/InputSafe/InputSafe.js","webpack://UMD/./src/InputSafe/index.js","webpack://UMD/./src/SelectPicker/SelectPicker.js","webpack://UMD/./src/SelectPicker/index.js","webpack://UMD/./src/InputSelect/index.js","webpack://UMD/./src/InputSelect/InputSelect.js","webpack://UMD/./src/Star/index.js","webpack://UMD/./src/Star/Star.js","webpack://UMD/./src/InputStar/InputStar.js","webpack://UMD/./src/InputStar/index.js","webpack://UMD/./src/Legend/index.js","webpack://UMD/./src/Legend/Legend.js","webpack://UMD/./src/ListPull/instance.js","webpack://UMD/./src/ListPull/index.js","webpack://UMD/./src/ListPull/ListPull.js","webpack://UMD/./src/Loading/Loading.js","webpack://UMD/./src/Loading/index.js","webpack://UMD/./src/LotteryWheel/instance.js","webpack://UMD/./src/LotteryWheel/index.js","webpack://UMD/./src/LotteryWheel/LotteryWheel.js","webpack://UMD/./src/MapUtil/index.js","webpack://UMD/./src/MapUtil/BaiduMap.js","webpack://UMD/./src/Mark/index.js","webpack://UMD/./src/Mark/Mark.js","webpack://UMD/./src/Marquee/instance.js","webpack://UMD/./src/Marquee/index.js","webpack://UMD/./src/Marquee/Marquee.js","webpack://UMD/./src/MenuTree/instance.js","webpack://UMD/./src/MenuTree/index.js","webpack://UMD/./src/MenuTree/MenuTree.js","webpack://UMD/./src/NumBox/index.js","webpack://UMD/./src/NumBox/NumBox.js","webpack://UMD/./src/NumBoxPop/index.js","webpack://UMD/./src/NumBoxPop/NumBoxPop.js","webpack://UMD/./src/NumBoxPopPointer/index.js","webpack://UMD/./src/NumBoxPopPointer/NumBoxPopPointer.js","webpack://UMD/./src/OnOff/index.js","webpack://UMD/./src/OnOff/OnOff.js","webpack://UMD/./src/Page/index.js","webpack://UMD/./src/Page/Page.js","webpack://UMD/./src/PagePull/instance.js","webpack://UMD/./src/PagePull/index.js","webpack://UMD/./src/PagePull/PagePull.js","webpack://UMD/./src/PDFView/instance.js","webpack://UMD/./node_modules/better-scroll/dist/bscroll.esm.js","webpack://UMD/./src/PDFView/index.js","webpack://UMD/./src/PDFView/PDFView.js","webpack://UMD/./src/Peg/index.js","webpack://UMD/./src/Peg/Peg.js","webpack://UMD/./src/Player/index.js","webpack://UMD/./src/Player/Player.js","webpack://UMD/./src/Popover/index.js","webpack://UMD/./src/Popover/Popover.js","webpack://UMD/./src/Preview/index.js","webpack://UMD/./src/Preview/Preview.js","webpack://UMD/./src/Progress/index.js","webpack://UMD/./src/Progress/Progress.js","webpack://UMD/./src/Radio/index.js","webpack://UMD/./src/Radio/Radio.js","webpack://UMD/./src/SearchBoard/index.js","webpack://UMD/./src/SearchBoard/SearchBoard.js","webpack://UMD/./src/Stencil/index.js","webpack://UMD/./src/Stencil/Stencil.js","webpack://UMD/./src/Sticker/index.js","webpack://UMD/./src/Sticker/Sticker.js","webpack://UMD/./src/Ticket/index.js","webpack://UMD/./src/Ticket/Ticket.js","webpack://UMD/./src/Timeline/index.js","webpack://UMD/./src/Timeline/Timeline.js","webpack://UMD/./src/Timepart/instance.js","webpack://UMD/./src/Timepart/index.js","webpack://UMD/./src/Timepart/Timepart.js","webpack://UMD/./src/Titlebar/index.js","webpack://UMD/./src/Titlebar/Titlebar.js","webpack://UMD/./src/Toast/index.js","webpack://UMD/./src/Toast/Toast.js","webpack://UMD/./src/Tree/instance.js","webpack://UMD/./src/Tree/index.js","webpack://UMD/./src/Tree/Tree.js","webpack://UMD/./src/Ajax/Ajax.js","webpack://UMD/./src/Ajax/index.js","webpack://UMD/./src/Animate/index.js","webpack://UMD/./src/Animate/Animate.js","webpack://UMD/./src/ApiAxios/ApiAxios.js","webpack://UMD/./src/ApiAxios/index.js","webpack://UMD/./src/BackboneRoute/BackboneRoute.js","webpack://UMD/./src/BackboneRoute/index.js","webpack://UMD/./src/CanvasUtil/CanvasUtil.js","webpack://UMD/./src/CanvasUtil/index.js","webpack://UMD/./src/Clipboard/Clipboard.js","webpack://UMD/./src/Clipboard/index.js","webpack://UMD/./src/GeoUtil/GeoUtil.js","webpack://UMD/./src/GeoUtil/index.js","webpack://UMD/./src/Vott/instance.js","webpack://UMD/./src/Vott/index.js","webpack://UMD/./src/Vott/Vott.js","webpack://UMD/./src/EditUtil/index.js","webpack://UMD/./src/EditUtil/EditUtil.js","webpack://UMD/./src/EventUtil/index.js","webpack://UMD/./src/EventUtil/EventUtil.js","webpack://UMD/./src/FastClick/index.js","webpack://UMD/./src/Form/index.js","webpack://UMD/./src/Form/Form.js","webpack://UMD/./src/History/index.js","webpack://UMD/./src/History/History.js","webpack://UMD/./src/PubSub/index.js","webpack://UMD/./src/PubSub/PubSub.js","webpack://UMD/./src/ValidateID/index.js","webpack://UMD/./src/ValidateID/ValidateID.js","webpack://UMD/./src/Validator/index.js","webpack://UMD/./src/Validator/Validator.js","webpack://UMD/./src/index.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","err","console","error","isBuffer","toString","isArray","val","isObject","isFunction","forEach","obj","fn","length","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","document","merge","result","assignValue","arguments","deepMerge","extend","a","b","thisArg","trim","str","replace","args","Array","apply","utils","encode","encodeURIComponent","url","params","paramsSerializer","serializedParams","parts","v","toISOString","JSON","stringify","push","join","hashmarkIndex","indexOf","slice","__CANCEL__","process","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","defaults","adapter","XMLHttpRequest","getDefaultAdapter","transformRequest","data","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","method","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","open","toUpperCase","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","cookies","xsrfValue","withCredentials","read","undefined","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","code","Error","config1","config2","prop","Cancel","this","__webpack_amd_options__","FastClick","layer","options","oldOnClick","trackingClick","trackingClickStart","targetElement","touchStartX","touchStartY","lastTouchIdentifier","touchBoundary","tapDelay","tapTimeout","notNeeded","methods","deviceIsAndroid","onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","Event","stopImmediatePropagation","removeEventListener","type","callback","capture","rmv","Node","hijacked","adv","event","propagationStopped","onclick","context","deviceIsWindowsPhone","userAgent","deviceIsIOS","test","deviceIsIOS4","deviceIsIOSWithBadTarget","deviceIsBlackBerry10","needsClick","target","nodeName","disabled","className","needsFocus","readOnly","sendClick","clickEvent","touch","activeElement","blur","changedTouches","createEvent","initMouseEvent","determineEventType","screenX","screenY","clientX","clientY","forwardedTouchEvent","dispatchEvent","tagName","focus","setSelectionRange","log","updateScrollParent","scrollParent","parentElement","fastClickScrollParent","contains","scrollHeight","offsetHeight","fastClickLastScrollTop","scrollTop","getTargetElementFromEventTarget","eventTarget","nodeType","TEXT_NODE","parentNode","selection","targetTouches","getSelection","rangeCount","isCollapsed","identifier","preventDefault","timeStamp","pageX","pageY","lastClickTime","touchHasMoved","boundary","Math","abs","findControl","labelElement","control","htmlFor","getElementById","querySelector","forElement","targetTagName","cancelNextClick","elementFromPoint","pageXOffset","pageYOffset","top","cancelable","stopPropagation","permitted","detail","destroy","metaViewport","chromeVersion","blackberryVersion","ontouchstart","exec","content","documentElement","scrollWidth","outerWidth","match","style","msTouchAction","touchAction","attach","_typeof","includes","searchElement","some","el","powerset","ps","j","len","concat","toOneColumn","split","arg","filter","elem","equals","warn","array","isRepeatArray","arrStr","_iterator","_isArray","_i","iterator","_ref","next","done","item","removeProperties","properties","_iterator2","_isArray2","_i2","_ref2","_iterator3","_isArray3","_i3","_ref3","toStringOption","map","flattenTree","list","tree","temp","shift","children","parentid","id","_buildTreeToFlatten","getFlattenTreeRoots","roots","objList","getFlattenTreeChildren","child","getFlattenTreeDescendants","descendants","buildChildren","getFlattenTreeNode","option","deepTree","_buildTreeToDeep","trees","getDeepTreeNode","clone","_seeds_lang","Calc","toInteger","argNum","argDigits","round","times","num","argNumStr","digits","isNaN","substr","pow","parseInt","isNegative","operation","op","o1","o2","n1","n2","t1","t2","max","Number","toFixed","add","subtract","multiply","divide","fixed","toThousandth","s1","s2","correctNumber","argNumstr","min","maxLength","required","onError","String","errMsg","substring","correctPhone","argPhone","isEmptyObject","isPlainObject","proto","Ctor","getPrototypeOf","constructor","copy","splitter","isNotEnCode","arr","buildParams","prevKey","prefix","objStr","charType","char","passwordLvl","charCodeAt","lvl","isWindow","src","copyIsArray","deep","generateGUID","Date","getTime","random","floor","object1","object2","propName","getArgs","parameters","left_zero_4","toJson","json","ary","toASCII","fromASCII","$0","fromCharCode","escape","toUnicode","fromUnicode","toUTF8","fromUTF8","toURI","encodeURI","fromURI","decodeURI","toURIComponent","fromURIComponent","decodeURIComponent","decode","trimPos","isQueryId","RegExp","isMonth","isDateTime","isTime","toDate","dateSplit","date","dateStrArr","getFullYear","getMonth","getDate","timeStrArr","getHours","getMinutes","getSeconds","tempDateStrArr","tempTimeStrArr","setYear","setMonth","setHours","hasClass","classStr","res","names","addClass","clearImgProtocol","clearProtocol","isQueryClass","isTag","getUnitValue","argSuffix","suffix","safeLvl","values","toDuration","start","seconds","daysDiff","dayMilliRemainder","hoursDiff","minuteMilliRemainder","minutesDiff","secondMilliRemainder","secondsDiff","hours","minutes","days","minuteMilliSecond","hourMilliSecond","dayMilliSecond","weekMilliSecond","year","prevYear","count","nextYear","isLeap","firstYearDate","lastYearDate","getYearDate","season","argCount","ceil","prevSeason","nextSeason","firstSeason","lastSeason","firstSeasonDate","lastSeasonDate","getSeasonDate","month","targetYear","targetMonth","targetMaxDate","getMonthDate","prevMonth","nextMonth","firstMonth","lastMonth","firstMonthDate","setDate","lastMonthDate","day","language","1","2","3","4","5","6","0","getDay","week","january1","january1Day","setTime","prevWeek","nextWeek","sunday","monday","tuesday","wednesday","thursday","friday","saturday","prevDate","nextDate","hour","prevHour","nextHour","minute","setMinutes","prevMinute","nextMinute","nextMinuteSpace","argSpace","space","hasRemainder","percentNum","prevMinuteSpace","diff","timeDiff","hoursAll","minutesAll","secondsAll","compareDateTime","date1","date2","setSeconds","compareDate","compareMonth","compareTime","expires","format","formatStr","quarter","second","getMonthData","firstDay","firstDayIndex","startDayMs","isCurrent","getPrevMonthData","getNextMonthData","getCalendarData","activeIndex","activeRowIndex","getPrevMonth","months","tempDate","getWeekData","getPrevWeekData","getNextWeekData","getPrevWeek","getPrevDate","dates","strArr","str1","str2","PinyinHelper","pinyins","ai","an","ang","ao","ba","bai","ban","bang","bao","bo","bei","ben","beng","bi","bian","biao","bie","bin","bing","bu","ca","cai","can","cang","cao","ce","ceng","cha","chai","chan","chang","chao","che","chen","cheng","chi","chong","chou","chu","chuan","chuang","chui","chun","chuo","ci","cong","cu","cuan","cui","cun","cuo","da","dai","dan","dang","dao","de","deng","di","dian","diao","die","ding","dong","dou","du","duan","dui","dun","duo","en","er","fa","fan","fang","fei","fen","feng","fu","ga","gai","gan","gang","gong","gao","ge","gei","gen","geng","gou","gu","gua","guai","guan","guang","gui","gun","guo","ha","hai","han","hen","hang","hao","he","hei","heng","hong","hou","hu","hua","huai","huan","huang","hui","hun","huo","ji","jia","jian","jiang","jiao","jie","jin","jing","jiong","jiu","ju","juan","jue","jun","ka","ke","kai","kan","kang","kao","ken","keng","kong","kou","ku","kua","kuai","kuan","kuang","kui","kun","kuo","la","lai","lan","lang","lao","le","lei","ling","leng","li","lian","liang","liao","lie","lin","liu","long","lou","lu","lv","luan","lue","lun","luo","ma","mai","man","mang","meng","miao","mao","me","mei","men","mi","mian","mie","ming","miu","mo","mou","mu","na","nai","nan","nao","ne","nei","nen","ni","nian","niang","niao","nie","nin","ning","niu","nong","nu","nv","nuan","nuenue","nue","nuo","ou","pa","pai","pan","pang","pao","pei","pen","peng","pi","pian","piao","pie","pin","ping","po","pou","pu","qi","qia","qian","qiang","qiao","qie","qin","qing","qiong","qiu","qu","quan","que","qun","ran","rang","rao","ruo","re","ren","reng","ri","rong","rou","ru","ruan","rui","run","sa","sai","san","sang","sao","se","sen","seng","sha","shai","shan","shang","shao","she","shen","sheng","shi","shou","shu","shua","shuai","shuan","shuang","shui","shun","shuo","si","song","sou","su","suan","sui","sun","suo","ta","tai","tan","tang","thang","theng","tao","te","teng","ti","tian","tiao","tie","ting","tong","tou","tu","tuan","tui","tun","tuo","wa","wai","wan","wang","wei","wen","weng","wo","wu","xi","xia","xian","xiang","xiao","xie","xin","xing","xiong","xiu","xu","xuan","xue","xun","ya","yan","yang","yao","ye","yi","yin","ying","yo","yong","you","yu","yuan","yue","yun","za","zai","zan","zang","zao","ze","zei","zen","zeng","zha","zhai","zhan","zhang","zhao","zhe","zhen","zheng","zhi","zhong","zhou","zhu","zhua","zhuai","zhuan","zhuang","zhui","zhun","zhuo","zi","zong","zou","zu","zuan","zui","zun","zuo","cou","nang","dia","chuai","cen","diu","nou","fou","bia","getPinyin","ch","pinyin","toPinyin","chs","chExpr","charPinyin","toCapitalize","word","colors","f","g","h","k","q","u","w","x","y","z","7","8","9","toColor","aa","ea","extractEvents","eventTypes","phasedRegistrationNames","registrationName","ia","ja","dependencies","oa","qa","va","currentTarget","ra","xa","Aa","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","Ba","Ca","injectEventPluginOrder","injectEventPluginsByName","Da","stateNode","Ea","Fa","Ga","Ha","tag","Ia","Ja","Ka","La","return","Ma","dispatchConfig","Na","_targetInst","Oa","Pa","Qa","Ra","createElement","Sa","Ta","animationend","animationiteration","animationstart","transitionend","Ua","Va","Wa","animation","transition","Xa","Ya","Za","ab","bb","cb","db","eb","fb","textContent","gb","hb","nativeEvent","Interface","isDefaultPrevented","defaultPrevented","returnValue","jb","eventPool","pop","kb","destructor","ib","getPooled","cancelBubble","persist","eventPhase","bubbles","now","isTrusted","lb","mb","nb","ob","pb","documentMode","qb","sb","tb","ub","beforeInput","bubbled","captured","compositionEnd","compositionStart","compositionUpdate","vb","wb","keyCode","xb","yb","Cb","locale","which","Ab","ctrlKey","altKey","metaKey","Bb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","color","datetime","datetime-local","email","number","range","search","tel","text","time","Qb","Rb","srcElement","correspondingUseElement","Sb","setAttribute","Tb","Vb","_valueTracker","getOwnPropertyDescriptor","set","configurable","getValue","setValue","stopTracking","Ub","Wb","checked","Xb","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","current","ReactCurrentBatchConfig","suspense","Yb","B","for","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","displayName","$$typeof","render","_status","_result","pc","_debugOwner","_debugSource","fileName","lineNumber","qc","rc","sc","tc","D","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","F","xc","yc","zc","vc","wc","uc","removeAttribute","setAttributeNS","Ac","Bc","defaultChecked","defaultValue","_wrapperState","initialChecked","Cc","initialValue","controlled","Dc","Ec","Fc","Gc","ownerDocument","xlinkHref","Hc","change","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","detachEvent","Qc","Rc","attachEvent","Sc","Tc","Uc","Vc","_isInputEventSupported","Wc","view","Xc","Alt","Control","Meta","Shift","Yc","getModifierState","Zc","$c","ad","bd","cd","dd","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","ed","pointerId","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","fd","mouseEnter","mouseLeave","pointerEnter","pointerLeave","gd","defaultView","parentWindow","alternate","hd","jd","keys","kd","responder","props","ld","effectTag","od","qd","sibling","pd","Map","Set","rd","animationName","elapsedTime","pseudoElement","sd","clipboardData","td","ud","charCode","vd","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","wd","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","xd","location","repeat","yd","dataTransfer","zd","touches","Ad","Bd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","eventPriority","Md","getEventPriority","Nd","Od","Pd","targetInst","ancestors","containerInfo","topLevelType","Qd","G","Rd","Ud","Vd","WeakMap","Wd","Xd","body","Yd","firstChild","Zd","node","offset","nextSibling","ae","HTMLIFrameElement","contentWindow","href","be","contentEditable","select","ee","fe","ie","selectionStart","end","selectionEnd","anchorNode","anchorOffset","focusNode","focusOffset","je","onSelect","has","Children","selected","defaultSelected","dangerouslySetInnerHTML","oe","pe","qe","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","html","mathml","svg","ue","ve","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","removeChild","appendChild","we","lastChild","nodeValue","xe","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Ae","setProperty","charAt","Ce","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","De","Ee","is","Fe","Ge","He","Ie","Je","autoFocus","Ke","__html","Le","setTimeout","Me","clearTimeout","Ne","Oe","Pe","H","J","Qe","L","M","Re","Se","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","N","childContextTypes","Te","Ue","Ve","We","getChildContext","Xe","__reactInternalMemoizedMergedChildContext","Ye","Ze","unstable_runWithPriority","$e","unstable_scheduleCallback","af","unstable_cancelCallback","bf","unstable_shouldYield","cf","unstable_requestPaint","df","unstable_now","ef","unstable_getCurrentPriorityLevel","ff","unstable_ImmediatePriority","hf","unstable_UserBlockingPriority","jf","unstable_NormalPriority","kf","unstable_LowPriority","lf","unstable_IdlePriority","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","xf","yf","O","zf","Af","defaultProps","Cf","Df","Ef","Ff","Gf","Hf","_context","_currentValue","If","Jf","childExpirationTime","Kf","firstContext","expirationTime","Lf","Mf","observedBits","responders","Nf","Of","baseState","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstEffect","lastEffect","firstCapturedEffect","lastCapturedEffect","Pf","Qf","suspenseConfig","payload","nextEffect","Rf","Sf","updateQueue","memoizedState","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","Component","refs","bg","fg","isMounted","_reactInternalFiber","enqueueSetState","cg","dg","eg","enqueueReplaceState","enqueueForceUpdate","gg","shouldComponentUpdate","isPureReactComponent","hg","contextType","state","updater","ig","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","jg","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","kg","lg","ref","_owner","_stringRef","mg","ng","index","og","pg","elementType","qg","implementation","rg","sg","rb","C","delete","Be","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","P","Hg","memoizedProps","revealOrder","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Q","Tg","Ug","R","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","dh","eh","fh","hh","ih","jh","queue","baseUpdate","kh","lh","mh","lastRenderedReducer","dispatch","action","last","lastRenderedState","eagerReducer","eagerState","nh","deps","oh","ph","qh","rh","sh","readContext","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useResponder","th","uh","vh","wh","xh","yh","pendingProps","zh","Ah","Bh","Ch","Dh","ReactCurrentOwner","S","Eh","Fh","Gh","Hh","compare","Ih","Jh","Kh","Lh","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","Mh","getDerivedStateFromError","Nh","pendingContext","Oh","Ph","fallback","unstable_avoidThisFallback","Qh","isBackwards","rendering","tail","tailExpiration","tailMode","Rh","Sh","Th","Uh","Vh","Wh","$h","stack","instance","WeakSet","gi","fi","hi","ii","componentWillUnmount","ei","ki","insertBefore","_reactRootContainer","oi","wasMultiple","multiple","display","Yi","Zi","element","ui","vi","wi","componentDidCatch","componentStack","Ai","T","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","U","Ji","V","W","X","Ki","Li","Mi","Ni","Oi","Y","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","timeoutMs","Xi","pingTime","Z","firstPendingTime","lastPendingTime","callbackExpirationTime","callbackNode","$i","aj","bj","cj","ej","fj","gj","hj","finishedWork","finishedExpirationTime","timeoutHandle","ij","jj","pingCache","kj","lj","firstBatch","_defer","_expirationTime","_onComplete","dj","busyMinDurationMs","busyDelayMs","mj","size","createElementNS","createTextNode","zb","focusedElem","selectionRange","I","E","ua","gh","oj","__reactInternalSnapshotBeforeUpdate","A","K","$d","compareDocumentPosition","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","$a","nc","md","Fj","Xh","Yh","Gj","nd","Zh","gf","pj","rj","hidden","_ctor","default","Bf","sj","hydrate","_calculateChangedBits","unstable_observedBits","isReactComponent","pendingChildren","wj","xj","yj","zj","Bj","_root","_callbacks","_next","_hasChildren","_didComplete","_children","Cj","_didCommit","_onCommit","Dj","_internalRoot","Ej","Hj","Jj","hasAttribute","Ij","Kj","Aj","querySelectorAll","form","commit","unmount","createBatch","Nj","createPortal","findDOMNode","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","unstable_interactiveUpdates","unstable_discreteUpdates","unstable_flushDiscreteUpdates","flushSync","unstable_createRoot","unstable_createSyncRoot","unstable_flushControlled","Events","findFiberByHostInstance","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","tj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","version","rendererPackageName","Oj","Pj","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","assign","test1","getOwnPropertyNames","test2","test3","letter","shouldUseNative","from","symbols","to","TypeError","toObject","unstable_forceFrameRate","MessageChannel","performance","requestAnimationFrame","cancelAnimationFrame","postMessage","port2","port1","onmessage","previous","priorityLevel","startTime","unstable_next","delay","unstable_wrapCallback","unstable_continueExecution","unstable_pauseExecution","unstable_getFirstCallbackNode","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","CancelToken","isCancel","all","promises","spread","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","unshift","fulfilled","rejected","getUri","handlers","use","eject","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","reason","fns","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","noop","nextTick","title","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","normalizedName","isAxiosError","toJSON","description","columnNumber","ignoreDuplicateOf","parsed","line","originURL","msie","urlParsingNode","resolveURL","protocol","host","hash","hostname","port","pathname","requestURL","write","path","domain","secure","cookie","toGMTString","remove","relativeURL","executor","resolvePromise","token","originalModule","webpackPolyfill","Actionsheet","_classCallCheck","_this","_possibleConstructorReturn","_Component","classList","onClickMask","getAttribute","onClickCancel","_this2","_props","duration","show","maskClassName","maskStyle","groupStyle","groupClassName","optionStyle","optionClassName","cancelCaption","cancelStyle","cancelClassName","external_root_React_commonjs2_react_commonjs_react_amd_react_default","$el","WebkitTransitionDuration","data-animation","data-index","caption","portal","Alert","Alert_classCallCheck","Alert_possibleConstructorReturn","onClickSubmit","captionStyle","captionClassName","contentStyle","contentClassName","icon","submitCaption","submitStyle","submitClassName","Badge","Badge_classCallCheck","Badge_possibleConstructorReturn","limit","ellipsis","others","_objectWithoutProperties","autoWidthClass","_extends","BiClock","BiClock_classCallCheck","BiClock_possibleConstructorReturn","getHourDeg","getMinuteDeg","aniRotate","_this$props","$hour","WebkitTransform","$minute","lineWidth","borderWidth","BiDoughnut","BiDoughnut_classCallCheck","BiDoughnut_possibleConstructorReturn","getDuration","rotate","correctRotate","duration1","durationRotate","durationLeft","durationRight","delayLeft","getRotate","rotateLeft","rotateRight","$elLeftCircle","WebkitTransitionDelay","$elRightCircle","BiGauge","BiGauge_classCallCheck","BiGauge_possibleConstructorReturn","getBgLvl","bgLvl","WebkitAnimationDuration","$elPointer","Device","kernel","device","os","osVersion","andriodExp","iosExp","onLineCallback","platform","platformVersion","platformMatch","getAppleDevice","screen","appleModel","handleOnline","handleOffline","appleDevice","browserLanguage","appVersion","onLine","isOnLine","orientation","adapterIPhoneX","isX","changeSafeArea","right","bottom","dynamicLoadBridge","script","defer","wxUrl","onload","wqUrl","getUrlParameter","argName","argSearch","screenWidth","innerWidth","availWidth","screenHeight","innerHeight","availHeight","jsonp","opts","timer","enc","getElementsByTagName","head","cleanup","DB","stringifyData","Function","parseData","Boolean","store","localStorage","session","sessionStorage","checkManifest","applicationCache","UPDATEREADY","swapCache","confirm","reload","setStore","setItem","getStore","getItem","getAllStore","valueOf","removeStore","removeItem","clearStore","clear","setSession","getSession","getAllSession","removeSession","clearSession","setCookie","cookieStr","getCookie","arrCookie","arrItem","unescape","removeCookie","clearCookie","alert","Toast","mask","parent","maskClass","maskActiveClass","toastClass","toastActiveClass","wrapperClass","captionClass","iconClass","def","toast","wrapper","createMask","createToast","createToastWrapper","createToastIcon","createToastCaption","update","webkitTransitionDuration","setMaskClassName","setToastClassName","setIcon","setDelay","setHTML","showMask","hideMask","destroyMask","showToast","hideToast","isHid","hide","onTransitionEnd","delayer","events","detach","transitionFlag","onHid","onShowed","init","overflowContainerActiveClass","animationAttr","alertClass","alertActiveClass","contentClass","handlerClass","buttonSubmitClass","buttonCancelClass","buttonSubmitHTML","buttonCancelHTML","isClickMaskHide","overflowContainer","buttonBox","buttonSubmit","buttonCancel","createButton","createAlert","updateDOM","showAlert","hideAlert","reset","setCaption","setOnClick","setOnClickSubmit","setOnClickCancel","createButtonCancel","touchTarget","setOnClickMask","Loading","maskCss","loadingClass","loadingActiveClass","types","loading","createLoading","setMaskCss","css","setType","captionEl","showLoading","hideLoading","varArgs","nextSource","nextKey","writable","triggerEvent","initEvent","PinchZoom","zoomFactor","lastScale","initialOffset","setupMarkup","bindEvents","isImageLoaded","updateAspectRatio","setupOffsets","enable","sum","tapZoomFactor","zoomOutFactor","animationDuration","maxZoom","minZoom","draggableUnzoomed","lockDragAxis","setOffsetsOnce","use2d","zoomStartEventName","zoomUpdateEventName","zoomEndEventName","dragStartEventName","dragUpdateEventName","dragEndEventName","doubleTapEventName","verticalPadding","horizontalPadding","onZoomStart","onZoomEnd","onZoomUpdate","onDragStart","onDragEnd","onDragUpdate","onDoubleTap","handleDragStart","stopAnimation","lastDragPosition","hasInteraction","handleDrag","getTouches","drag","sanitizeOffset","handleDragEnd","handleZoomStart","nthZoom","lastZoomCenter","handleZoom","newScale","touchCenter","getTouchCenter","scale","handleZoomEnd","handleDoubleTap","center","startZoomFactor","updateProgress","progress","scaleTo","isDoubleTap","getCurrentZoomCenter","animate","swing","computeInitialOffset","offsetWidth","getInitialZoomFactor","container","resetOffset","complete","naturalHeight","every","_isOffsetsSet","elWidth","elHeight","maxX","getContainerX","maxY","getContainerY","maxOffsetX","maxOffsetY","minOffsetX","minOffsetY","scaleZoomFactor","addOffset","originalZoomFactor","canDrag","expected","isCloseTo","lastCenter","getVectorAvg","vectors","reduce","sanitize","zoomOutAnimation","isInsaneOffset","sanitizeOffsetAnimation","sanitizedOffset","targetOffset","startOffset","unsetContainerY","setContainerY","xZoomFactor","yZoomFactor","getAspectRatio","offsetLeft","centerX","offsetTop","rect","getBoundingClientRect","posTop","posLeft","framefn","timefn","renderFrame","inAnimation","frameTime","cos","PI","tmp","createHTMLDocument","buildElement","overflow","position","webkitTransformOrigin","mozTransformOrigin","msTransformOrigin","oTransformOrigin","transformOrigin","self","detectGestures","imgEl","updatePlaned","offsetX","offsetY","transform3d","transform2d","removeClone","is3d","webkitTransform","mozTransform","msTransform","oTransform","transform","cloneNode","pointerEvents","enabled","disable","interaction","fingers","lastTouchStart","startTouches","setInteraction","newInteraction","updateInteraction","getDistance","sqrt","cancelEvent","firstMove","detectDoubleTap","endTouches","startDistance","calculateScale","definePinchZoom","Preview","layerHTML","hashReplace","route","showHeader","headerClass","headerBackClass","containerClass","layerClass","clickDelay","setSrc","setLayerHTML","setOnSuccess","onSuccess","setOnError","header","headerBack","createPreview","onClickBack","removePreview","validSrc","Image","clickTimeout","backgroundColor","addHash","$1","removeHash","history","go","onShowSuccess","onShowError","onPopstate","MediaUtil","audio","Audio","video","controls","sourceType","getFileURL","file","createObjcectURL","createOjcectURL","URL","createObjectURL","webkitURL","getFileSize","getFileType","getFileBase64","reader","FileReader","readAsDataURL","convertTime","sec","sec_num","convertSize","bytes","play","pause","resume","paused","loop","autoplay","isReady","toggleFullScreen","requestFullscreen","exitFullscreen","currentTime","volume","volumeLvl","volnumber","rate","defaultPlaybackRate","suffixTypes","codeType","isSupport","player","canPlayType","lastIndexOf","FullScreen","support","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","fullscreenEnabled","mozFullScreenEnabled","webkitFullscreenEnabled","msFullscreenEnabled","getFullscreenElement","fullscreenElement","webkitFullscreenElement","msFullscreenElement","mozFullScreenElement","isFull","webkitIsFullScreen","enter","requestMethod","requestFullScreen","webkitRequestFullScreen","msRequestFullScreen","ActiveXObject","wscript","SendKeys","exit","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","toggle","addHandler","handler","Bridge","debug","msg","success","bridgeBrowser_extends","showConfirm","fail","getAddress","latitude","longitude","addrs","formatted_address","address","getWeather","results","back","argHistory","argBackLvl","_history","_backLvl","isFromApp","closeWindow","goHome","confirmCaption","isHomePage","rule","getAppVersion","logOut","openWindow","addBackPress","removeBackPress","previewVideo","chooseImage","localIds","uploadImage","mediaUrl","serverId","preview","previewImage","urls","chooseVideo","tempFilePath","getContactMore","getContact","customerMore","check","distance","labelType","addr","approval_status","cooperate_status","district_id","lat","lon","manager_name","name_py","trade_type","type_id","type_image","customerMoreLen","getCustomerMore","getCustomer","getCustomerType","getCustomerAreaMore","getCustomerArea","getDepartmentMore","getDepartment","getGoods","propvalues","nameSpec","productRemarks","propDetail","reportUnitName","reportUnitID","reportUnitRatio","getLocation","appLocation","locating","speed","accuracy","cache","getLocationMap","scanQRCode","resultStr","choose","enableSafe","currentCount","sizeType","chooseOptions","localId","imgMap","onChooseSuccess","onChooseFail","imgs","isShowProgressTips","onUploadSuccess","onUploadsSuccess","deleteItem","onUploadFail","bridgeWeixin_extends","wx","onHistoryBack","needResult","scanType","desc","wxRes","bridgeDinghuo_extends","invoke","verExp","setBackEnable","addIosBackPress","registerHandler","setup","bridge","callHandler","WebViewJavascriptBridge","WVJBCallbacks","WVJBIframe","eventName","CustomEvent","alipay","slopenpay","qmfpay","resultCode","resultInfo","setTitle","shareText","getIdentification","isExistsFile","downloadFile","openFile","getNetworkType","tenantId","uploadParams","uploadDir","isAI","flag","getImagePrefix","downloadImage","onMenuShareAppMessage","onMenuShareTimeline","loginInfo","getLoginInfo","systemParameter","changeBadgeNum","bridgeWaiqin_extends","wq","wqload","wqBackToLogin","wqOpenUrl","wqClosePage","wqpay","getApp","wqapp","wqio","verifyFileHasExist","wqUrlToBase64","wqphoto","wqOpenCustomerPager","IOSViewController","androidUIR","androidParma","videoUrl","IOSParma","videoRecord","wqjnc","videoUpload","videoInfo","wqhardware","getQrCode","qrCode","wqRes","wqlocation","getLocationBackground","wqLatitude","wqLongitude","radius","wqAddress","country","province","city","district","street","locationType","poiname","locationLie","mokelocation","editable","argParams","pwidth","viewId","getPhoto","base64","filePathList","startUpload","photos","photoPreview","wqcontact","wqcustomer","hiddenAdd","wqdepartment","wqproduct","wqSelectSingleProduct","openNativePage","ios","android","BridgeWeixin","BridgeDinghuo","BridgeWaiqin","BridgeBrowser","Button","Button_classCallCheck","Button_possibleConstructorReturn","Button_objectWithoutProperties","Button_extends","Calendar","viewType","disableBeforeDate","disableAfterDate","defaultDate","threshold","dateHeight","verticalDrag","titleFormat","showTitleWeek","showTitleDay","calendarClass","disableClass","titleClass","prevClass","nextClass","prevHTML","nextHTML","weekContainerClass","weekClass","wrapperXClass","wrapperYClass","monthClass","monthRowClass","dateClass","dateNumClass","currentClass","notcurrentClass","todayClass","activeClass","selectedClass","wrapperHeight","today","activeDate","selectedDate","clientWidth","prev","weekContainer","weeks","wrapperX","wrapperY","startX","startY","currentX","currentY","endX","endY","diffX","diffY","posX","posY","maxPosY","direction","horizontal","vertical","createHeader","createPrev","createNext","createTitle","createWeekContainer","weekName","weekNames","createWrapper","createWrapperY","createWrapperX","createDates","monthRow","elDate","elDateNum","addDuration","removeDuration","updateTranslateX","updateContainerHeight","updateContainerWidth","updateContainerSize","updateClasses","slideXTo","draw","dragY","heightY","translateY","slideYTo","isToday","updateData","start1","start2","datIndex1","datIndex2","drawHeader","titleFormatStr","toLocaleDateString","onHeightChange","onChange","setActiveDate","showMonth","showWeek","setToday","setDefaultDate","onClickPrev","onClickNext","moveX","onHorizontalTransitionEnd","onVerticalTransitionEnd","Calendar_classCallCheck","Calendar_possibleConstructorReturn","Instance","Card","Card_classCallCheck","Card_possibleConstructorReturn","Card_objectWithoutProperties","Card_extends","Carrousel","getPureChildren","getElementByParent","selector","pagination","controlPrev","controlNext","slidesPerView","imglazyQuery","imgLoadAttr","slideDuplicateClass","pageClass","slideClass","slideActiveClass","bulletClass","bulletActiveClass","controlPrevClass","controlNextClass","bullets","updateBullets","slides","bullet","activeIndexTruth","updateSlides","dupSlides","createLoop","destroyLoop","beforeDupSlides","afterDupSlides","dup","firstElementChild","slideDu","slideDuplicate","updateWidth","slideWidth","wrapperWidth","updateHeight","clientHeight","moveToIndex","cacheImgs","updateLazyImg","imgLoad","isSupportTouch","stopAutoplay","onSlideChange","slideTo","startAutoplay","onClickBullet","autoplayer","setInterval","internal","clearInterval","slideIndex","runCallbacks","onSlideChangeEnd","setParams","onInit","imgTarget","backgroundImage","Carrousel_classCallCheck","Carrousel_possibleConstructorReturn","prevProps","enableOnChange","getCarrouselClassName","getSlideStyle","slideParams","defaultSrc","paginationParams","prevParams","nextParams","Carrousel_objectWithoutProperties","childrenArr","React","toArray","Carrousel_extends","data-load-src","alt","iconParams","marginRight","page","Chat","Chat_classCallCheck","Chat_possibleConstructorReturn","onClickContent","onClickAvatar","showAvatar","avatarSrc","avatarClassName","avatarStyle","avatarAfter","author","authorClassName","authorStyle","Checkbox","Checkbox_classCallCheck","Checkbox_possibleConstructorReturn","$input","ImgLazy","load","loadAttr","errorAttr","completeAttr","getOffsetTop","offsetParent","isInScreen","completeList","updateCompleteList","isComplete","onScroll","onLoad","errorSrc","getScrollTop","onScrollEnd","loadSrc","imgErrorAttr","image","Container","Container_classCallCheck","Container_possibleConstructorReturn","lazyLoadInstance","lazyLoad","imglazy","setState","Container_objectWithoutProperties","Container_extends","Counter","counter","fromAttr","toAttr","durationAttr","suffixAttr","maxMilliSec","maxCountSec","secNum","step","milliSec","interval","Counter_classCallCheck","Counter_possibleConstructorReturn","Counter_objectWithoutProperties","Counter_extends","data-duration","data-from","data-to","data-suffix","Dialog","Dialog_classCallCheck","Dialog_possibleConstructorReturn","onClickDialog","Dialog_objectWithoutProperties","Dialog_extends","Dot","Dot_classCallCheck","Dot_possibleConstructorReturn","Dot_objectWithoutProperties","Dot_extends","Notice","Notice_classCallCheck","Notice_possibleConstructorReturn","wrapperParams","captionParams","sndcaption","sndcaptionParams","Notice_objectWithoutProperties","Notice_extends","Dragrefresh","begin","endRefresh","moveTimeout","isTopPosition","topContainer","isLoading","hideTop","currentPosY","onHideTop","showTop","onShowTop","destroyTop","hasScroll","topRefresh","onTopRefresh","bottomRefresh","onBottomRefresh","isTop","startMouseMove","preventMove","onPull","onTopHid","onTopShowed","Dragrefresh_classCallCheck","Dragrefresh_possibleConstructorReturn","hasMore","setPagination","$elTopBox","topIcon","topCaption","lazy","prevHasMore","showNoData","noDataParams","bottomLoadingCaption","bottomNoDataCaption","bottomErrorCaption","onClickBottomError","src_Notice","Dragrefresh_extends","Tabbar","Tabbar_classCallCheck","Tabbar_possibleConstructorReturn","exceptOnClickActive","getTabbarStyle","tabbarStyle","getTabbarClassName","_this$props2","tiled","getIconDOM","iconActive","isActive","getTabsDOM","_this$props3","sndCaptionClassName","sndCaptionStyle","tabStyle","ricon","riconActive","active","_item$attributes","attributes","_item$style","liconDOM","riconDOM","Tabbar_extends","tabbarClassName","tabsDOM","MenuTiled","slotClass","slotSubClass","tagClass","moreClass","extendClass","selectedId","initData","hasSlot","slot","setSelectedId","setData","targetLine","isActived","isExtend","nextSlot","nextElementSibling","tags","MenuTiled_classCallCheck","MenuTiled_possibleConstructorReturn","childrenCount","MenuTiled_objectWithoutProperties","MenuTiled_extends","Dropdown","Dropdown_classCallCheck","Dropdown_possibleConstructorReturn","refresh","$tabbar","tabbar","onClickTab","tabbarActiveIndex","menusSelectedId","menus","dialogShow","onClickMenu","Dropdown_objectWithoutProperties","DOM","src_Tabbar","Dropdown_extends","src_Dialog","src_MenuTiled","InputText","InputText_classCallCheck","InputText_possibleConstructorReturn","updateShowClear","onClickInput","onClickLicon","onClickRicon","onClear","preAutoSize","$pre","pre","valueBindProp","innerText","onBlur","_this$props4","onFocus","_this$props5","_this$props6","getInputDOM","_this$props7","licon","clearClassName","clearStyle","rcaption","inputClassName","inputStyle","placeholder","InputText_objectWithoutProperties","preLeft","preRight","padding","paddingValues","paddingLeft","paddingRight","InputText_extends","_this$props8","showClear","isShowClear","InputPre","InputPre_classCallCheck","InputPre_possibleConstructorReturn","$ComponentInputText","src_InputText","InputPre_extends","Emoji","containerActiveClass","submitClass","textareaClass","faceClass","faceNameAttr","faceIdAttr","deleteClass","carrouselClass","textarea","carrousel","showContainer","hideContainer","emojiExpr","parseStr","cursorOffset","insertFace","emojiName","valueBefore","valueAfter","valueInsert","deleteFace","isDeleted","face","setCaretPosition","pos","createTextRange","move","onSelectionChange","onInput","emojis","[微笑]","[撇嘴]","[色]","[发呆]","[酷]","[大哭]","[害羞]","[闭嘴]","[睡觉]","[哭]","[尴尬]","[发怒]","[眨眼]","[龇牙]","[惊讶]","[难过]","[得意]","[囧]","[抓狂]","[呕吐]","[偷笑]","[开心]","[白眼]","[傲慢]","[饥饿]","[困]","[惊吓]","[流汗]","[大笑]","[抽烟]","[奋斗]","[骂人]","[问]","[嘘]","[晕]","[狂燥]","[衰]","[骷髅]","[敲头]","[拜拜]","[擦汗]","[挖鼻孔]","[恭喜]","[糗]","[坏笑]","[左哼哼]","[右哼哼]","[打哈欠]","[鄙视]","[受委屈]","[委屈]","[奸笑]","[亲亲]","[吓]","[可怜]","[菜刀]","[西瓜]","[啤酒]","[篮球]","[乒乓球]","[咖啡]","[米饭]","[猪头]","[玫瑰]","[花谢了]","[红唇]","[心]","[心碎]","[蛋糕]","[闪电]","[炸弹]","[刀]","[足球]","[瓢虫]","[大便]","[夜晚]","[太阳]","[礼物]","[抱抱]","[强]","[弱]","[握手]","[Yeah]","[抱拳]","[来]","[加油]","[差劲]","[我爱你]","[No]","[Ok]","Emoji_classCallCheck","Emoji_possibleConstructorReturn","$inputPre","getFaceDOM","icons","data-emoji","Emoji_objectWithoutProperties","$container","src_InputPre","Emoji_extends","$icon","src_Button","src_Carrousel","$carrousel","Footer","Footer_classCallCheck","Footer_possibleConstructorReturn","Footer_objectWithoutProperties","Footer_extends","Group","Group_classCallCheck","Group_possibleConstructorReturn","Group_objectWithoutProperties","Group_extends","Handsign","strokeStyle","quality","ctx","getContext","stageInfo","beginX","beginY","isDrew","setStrokeStyle","setLineWidth","setSuffix","setQuality","empty","beginPath","moveTo","lineTo","stroke","getPixelRatio","backingStore","backingStorePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","devicePixelRatio","clearRect","blank","toDataURL","save","calcPosition","posJson","drawImg","imgSrc","imgW","imgH","imgP","crossOrigin","swidth","sheight","drawImage","drawFont","fontSize","fontFamily","fontPosition","fontStyle","calcY","font","fillStyle","fillText","drawBackgroundColor","fillRect","Handsign_classCallCheck","Handsign_possibleConstructorReturn","Handsign_objectWithoutProperties","Handsign_extends","Header","Header_classCallCheck","Header_possibleConstructorReturn","Header_objectWithoutProperties","Header_extends","Imgmark","errorClass","isDrawSrc","loadingContainer","errorContainer","setIsDrawSrc","setLineDash","strokeRect","x1","y1","x2","y2","WebkitTransformOrigin","ImgMark","ImgMark_classCallCheck","ImgMark_possibleConstructorReturn","previewHTML","watermark","ImgMark_objectWithoutProperties","isDrawSrcStyle","ImgMark_extends","Indexbar","indexAttr","indexs","barClass","barActiveClass","tooltipClass","bar","createBar","createIndexs","tooltip","createToolTip","div","setOverflowContainer","setParent","currentHTML","goIndex","IndexBar","IndexBar_classCallCheck","IndexBar_possibleConstructorReturn","InputArea","InputArea_classCallCheck","InputArea_possibleConstructorReturn","InputArea_extends","citys","Picker","dataKeyPropertyName","dataValuePropertyName","maskFeatureClass","pickerClass","pickerActiveClass","headerSubmitClass","headerSubmitText","headerCancelClass","headerCancelText","slotboxClass","layerFrameClass","layerFrameHTML","lockClass","cellHeight","bounceRange","picker","slotbox","headerSubmit","headerCancel","activeOptions","createPicker","createHeaderSubmit","createHeaderCancel","createSlotbox","createLayer","addSlot","defaultKey","classes","isLock","renderSlot","replaceSlot","defaultIndex","defaultPosY","minPosY","minBouncePosY","maxBouncePosY","clearSlots","calcInertance","opRange","divided","updateActiveOptions","activeSlot","activeOption","startTimeStamp","onScrollStart","inertance","PickerCity","onCityClickSubmit","onCityScrollEnd","dataChildPropertyName","defaultProvinceKey","defaultCityKey","defaultDistrictKey","defaultProvince","defaultCity","defaultDistrict","provinceClass","cityClass","districtClass","activeText","activeValues","defaultValues","getActiveText","activeKeys","setActiveProvinceKey","setActiveCityKey","setActiveDistrictKey","setActiveKeys","replaceDistrict","activeKey","getChildrenByKey","replaceCity","activeProvinceKey","activeCityKey","activeDistrictKey","dataProperty","getKeysByValues","getValuesByKeys","getValueByKey","setDefaultValues","argActiveValues","setDefaultKeys","argActiveKeys","initSlots","getPureArray","opt","_arr$push","districts","PickerCity_classCallCheck","PickerCity_possibleConstructorReturn","initInstance","nextProps","setDefault","valueForKey","getDefaultValues","getDefaultKeys","defaultKeys","InputCity","InputCity_classCallCheck","InputCity_possibleConstructorReturn","pickerStyle","pickerClassName","pickerMaskStyle","pickerMaskClassName","pickerShow","InputCity_objectWithoutProperties","InputCity_extends","src_PickerCity","InputColor","InputColor_classCallCheck","InputColor_possibleConstructorReturn","InputColor_extends","PickerDate","onDateClickSubmit","onDateScrollEnd","nowDate","isSimpleYear","yearClass","dayClass","hourClass","minuteClass","yearsData","monthsData","daysData","hoursData","minutesData","defaultYear","defaultMonth","defaultDay","defaultHour","defaultMinute","minYear","maxYear","yyUnit","MMUnit","ddUnit","hhUnit","mmUnit","activeData","setDefaultsByKeys","lastDay","currentLastDay","customData","updateDaysForCustom","spliceCount","splice","updateDaysForDefault","updateDays","setDefaultYear","yearKey","setDefaultMonth","monthKey","setDefaultDay","dayKey","setDefaultHour","hourKey","setDefaultMinute","minuteKey","updateDetault","_yyyy","MM","_MM","_dd","_hh","mm","_mm","years","yyyy","currentMaxday","addMonthSlot","addDateSlot","addTimeSlot","setDefaults","PickerDate_classCallCheck","PickerDate_possibleConstructorReturn","getDefault","nowYear","nowMonth","nowHour","nowMinute","dateValues","monthValues","timeValues","getData","InputDate","InputDate_classCallCheck","InputDate_possibleConstructorReturn","correctDate","selectDate","InputDate_objectWithoutProperties","InputDate_extends","src_PickerDate","InputLocation","InputLocation_classCallCheck","InputLocation_possibleConstructorReturn","locationingText","InputLocation_objectWithoutProperties","InputLocation_extends","InputNumber","InputNumber_classCallCheck","InputNumber_possibleConstructorReturn","InputNumber_extends","InputPassword","InputPassword_classCallCheck","InputPassword_possibleConstructorReturn","InputPassword_extends","InputTel","InputTel_classCallCheck","InputTel_possibleConstructorReturn","InputTel_extends","Picker_classCallCheck","Picker_possibleConstructorReturn","defaultOpt","getDefaults","slotClassName","InputPicker","InputPicker_classCallCheck","InputPicker_possibleConstructorReturn","InputPicker_objectWithoutProperties","InputPicker_extends","src_Picker","InputRange","inputClass","hideToolTip","showToolTip","percent","dragRange","visibility","InputRange_classCallCheck","InputRange_possibleConstructorReturn","$tooltip","InputSafe","InputSafe_classCallCheck","InputSafe_possibleConstructorReturn","SelectPicker","SelectPicker_classCallCheck","SelectPicker_possibleConstructorReturn","selectedKeys","getSelected","selectedName","onClickOption","InputSelect","InputSelect_classCallCheck","InputSelect_possibleConstructorReturn","getOptions","InputSelect_objectWithoutProperties","InputSelect_extends","src_SelectPicker","Star","Star_classCallCheck","Star_possibleConstructorReturn","Star_objectWithoutProperties","Star_extends","InputStar","InputStar_classCallCheck","InputStar_possibleConstructorReturn","_props2","stars","src_Star","Legend","Legend_classCallCheck","Legend_possibleConstructorReturn","Legend_objectWithoutProperties","Legend_extends","ListPull","leftClass","rightClass","actives","rightClientWidth","leftClientWidth","onShowedLeft","onShowedRight","ListPull_classCallCheck","ListPull_possibleConstructorReturn","btn","lButtons","rButtons","_this3","data-i","data-direction","Loading_classCallCheck","Loading_possibleConstructorReturn","maskBefore","iconClassName","iconSrc","LotteryWheel","spacing","fontTop","fontFillStyle","bgFillStyle","bgStrokeStyle","bgLineWidth","iconWidth","iconHeight","iconTop","around","canvas","replaceChild","sector","sAngle","eAngle","counterclockwise","arc","closePath","slotDeg","rad","slotRad","updateAngle","drawCanvas","ratio","xy","startAngel","endAngel","translate","fill","textAlign","textBaseline","imgTop","imgWidth","imgHeight","initImgs","onIconLoad","onIconError","imgsCompleteDraw","playing","onPlayAnimationEnd","restore","baseRotate","LotteryWheel_classCallCheck","LotteryWheel_possibleConstructorReturn","MapUtil","styleOptions","strokeColor","strokeWeight","fillColor","labelStyleOptions","drawingManager","_window","BMap","BMapLib","BMAP_ANCHOR_BOTTOM_LEFT","BMAP_ANCHOR_BOTTOM_RIGHT","BMAP_ANCHOR_TOP_RIGHT","BMAP_DRAWING_POLYGON","BMAP_NAVIGATION_CONTROL_ZOOM","createMap","centerAndZoom","Point","setCurrentCity","enableScrollWheelZoom","createDrawingManager","DrawingManager","isOpen","drawingToolOptions","anchor","Size","circleOptions","polylineOptions","polygonOptions","rectangleOptions","formatPoints","points","point","lng","showScale","addControl","ScaleControl","showNavigation","NavigationControl","enableManualDraw","setDrawingMode","autoViewport","overlays","getOverlays","overlay","Polygon","getPath","setViewport","pointsToPolygon","argPoints","pointsToPolygons","argPointss","polygons","polygon","drawBoundary","Boundary","boundaries","polygonsPath","addOverlay","BaiduMap_extends","drawPolygon","setStrokeColor","setStrokeWeight","setStrokeOpacity","setFillColor","setFillOpacity","drawPolygons","drawLabel","label","Label","setStyle","drawMarker","Marker","Icon","imageSize","addContextMenu","markerMenu","ContextMenu","_loop","addItem","MenuItem","entries","_ref4","Mark","Mark_classCallCheck","Mark_possibleConstructorReturn","Mark_objectWithoutProperties","Mark_extends","Marquee","duplicateClass","updateLoop","beforeDupContainer","afterDupContainer","setDuration","setPosition","initPos","Marquee_classCallCheck","Marquee_possibleConstructorReturn","MenuTree","ulContainer","ul","updateActive","addData","childNode","previousElementSibling","setActive","MenuTree_classCallCheck","MenuTree_possibleConstructorReturn","MenuTree_objectWithoutProperties","MenuTree_extends","NumBox","NumBox_classCallCheck","NumBox_possibleConstructorReturn","autoSelect","inputToggleTimeout","scrollIntoView","validity","badInput","onClickMinus","onClickPlus","plusStyle","plusClassName","minusStyle","minusClassName","NumBox_objectWithoutProperties","NumBox_extends","$minus","$plus","NumBoxPop","NumBoxPop_classCallCheck","NumBoxPop_possibleConstructorReturn","NumBoxPop_objectWithoutProperties","src_Alert","src_NumBox","NumBoxPop_extends","$numbox","margin","NumBoxPopPointer","NumBoxPopPointer_classCallCheck","NumBoxPopPointer_possibleConstructorReturn","onClickNumBox","containerClassName","containerStyle","unitClassName","unitStyle","unit","NumBoxPopPointer_objectWithoutProperties","src_NumBoxPop","NumBoxPopPointer_extends","marginLeft","OnOff","OnOff_classCallCheck","OnOff_possibleConstructorReturn","onCaption","offCaption","OnOff_objectWithoutProperties","OnOff_extends","data-on","data-off","Page","Page_classCallCheck","Page_possibleConstructorReturn","Page_objectWithoutProperties","Page_extends","PagePull","mainClass","main","PagePull_classCallCheck","PagePull_possibleConstructorReturn","lSide","lSideStyle","lSideClassName","rSide","rSideStyle","rSideClassName","PagePull_objectWithoutProperties","src_Page","data-transition","$lSide","$rSide","PDFView","canvasClass","imgClass","loadClass","loadHTML","errorHTML","hideClass","pictures","cMapUrl","pageAttr","updateParams","showPageElement","pageDOM","elementName","elements","createPage","canvasToPng","loadImg","loadPDF","scriptPdf","scriptPdfWork","loadCount","initPDF","PDFJS","cMapPacked","getDocument","pdf","renderPDF","catch","total","completeCount","picture","onLoadError","numPages","getPage","viewport","getViewport","renderContext","canvasContext","pngbase64","isError","onPageLoad","spliceOne","slicedToArray","_arr","_n","_d","_e","_s","sliceIterator","toConsumableArray","arr2","inBrowser","isWeChatDevTools","isAndroid","getNow","timing","navigationStart","_len","rest","_key","isUndef","elementStyle","vendor","transformNames","standard","webkit","Moz","ms","prefixStyle","addEvent","passive","removeEvent","offsetToBody","cssVendor","bscroll_esm_transition","hasPerspective","hasTouch","hasTransform","hasTransition","bscroll_esm_style","transitionTimingFunction","transitionDuration","transitionDelay","transitionEnd","TOUCH_EVENT","eventType","touchstart","touchmove","touchend","mousedown","mousemove","mouseup","getRect","SVGElement","preventDefaultException","exceptions","click","eventSource","posSrc","ev","MouseEvent","_constructed","DEFAULT_OPTIONS","scrollX","scrollY","freeScroll","directionLockThreshold","eventPassthrough","tap","bounce","bounceTime","momentum","momentumLimitTime","momentumLimitDistance","swipeTime","swipeBounceTime","deceleration","flickLimitTime","flickLimitDistance","resizePolling","probeType","HWCompositing","useTransition","useTransform","bindToWrapper","disableMouse","disableTouch","observeDOM","autoBlur","wheel","snap","scrollbar","pullDownRefresh","pullUpLoad","mouseWheel","infinity","dblclick","ease","swipe","swipeBounce","lowerMargin","upperMargin","wrapperSize","scroll","itemHeight","destination","_findNearestValidWheel","bscroll_esm_noop","bscroll_esm_requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_RIGHT","PROBE_DEBOUNCE","PROBE_REALTIME","assert","condition","createScrollbar","indicator","cssText","Indicator","scroller","wrapperStyle","indicatorStyle","fade","visible","sizeRatioX","sizeRatioY","maxPosX","interactive","_addDOMEvents","handleEvent","_start","_move","_end","_shouldShow","transitionTime","_calculate","updatePosition","hold","fadeTimeout","indicatorHeight","_height","translateZ","indicatorWidth","_width","easing","_removeDOMEvents","initiated","moved","lastPointX","lastPointY","_handleMoveEvents","trigger","newX","newY","_pos","snapOption","_snapOption$easing","_nearestSnap","directionX","directionY","currentPage","scrollTo","hasVerticalScroll","hasHorizontalScroll","scrollerHeight","maxScrollY","scrollerWidth","maxScrollX","eventOperation","_handleDOMEvents","DEFAULT_SCROLL_RUNWAY","isTombstoneNode","InfiniteScroller","createTombstone","fetch","firstAttachedItem","lastAttachedItem","anchorScrollTop","anchorItem","tombstoneHeight","tombstoneWidth","tombstones","tombstonesAnimationHandlers","items","loadedItems","requestInProgress","wrapperEl","scrollerEl","onResize","_onResizeHandler","BScroll","scrollerStyle","_init","infiniteScroller","delta","_calculateAnchoredItem","lastScreenItem","maybeRequestContent","tombstone","attachContent","itemsNeeded","addContent","tombstoneLen","_removeTombstones","curPos","_fixScrollPosition","_setupAnimations","resetPosition","stop","_addItem","unusedNodes","_collectUnusedNodes","tombstoneAnimations","_createDOMNodes","_cleanupUnusedNodes","_cacheNodeSize","resetMore","markIndex","itemLen","currentNode","currentData","_getTombStone","isTombstone","_this4","_animation","tombstoneNode","tombstoneAnimationsHandler","_animation2","initialAnchor","_handleOptions","_events","setScale","_initExtFeatures","_watchTransition","_initDOMObserver","_handleAutoBlur","_initSnap","_initScrollbar","_initPullUp","_initPullDown","_initWheel","_initMouseWheel","_initZoom","_initInfinite","isInTransition","newVal","pulling","MutationObserver","observer","mutations","_shouldNotRefresh","immediateRefresh","deferredRefresh","mutation","observe","childList","subtree","disconnect","_checkDOMUpdate","outsideBoundaries","minScrollX","minScrollY","stopFromTransition","scrollerRect","oldWidth","oldHeight","destroyed","newWidth","newHeight","_zoomStart","_zoom","scaled","_zoomEnd","_resize","_transitionEnd","_onMouseWheel","isWrapperStatic","getComputedStyle","wrapperRect","relativeX","relativeY","_checkWheelAllDisabled","selectedIndex","endTime","wrapperOffset","initMixin","_eventType","distX","distY","movingDirectionX","movingDirectionY","directionLocked","_transitionTime","absStartX","absStartY","pointX","pointY","absDistX","absDistY","timestamp","_translate","pX","pY","_checkPullDown","_checkClick","flick","momentumX","momentumY","adjustTime","snapSpeed","preventClick","wheelWrapperClass","_offset","_dblclick","dblclickTrigged","_dblclick$delay","resizeTimeout","_startProbe","probeTimer","probe","getComputedPosition","indicators","_transitionTimingFunction","_options$wheel$rotate","deg","_animate","destX","destY","easingFn","startScale","destScale","destTime","isAnimating","animateTimer","scrollBy","isSilent","_reflow","scrollToElement","wheelItemClass","easeing","roundX","roundY","matrix","coreMixin","magic","eventsCopy","_event","eventMixin","before","prepend","pages","stepX","stepY","cx","cy","_checkSnapLoop","initPageX","_loopX","initPageY","_loopY","_goToPage","snapThreshold","snapThresholdX","snapThresholdY","listenFlick","goToPage","getCurrentPage","snapMixin","wheelTo","getSelectedIndex","wheelDisabledItemClass","currentIndex","cacheIndex","wheelItemsAllDisabled","wheelMixin","_options$scrollbar","_options$scrollbar$fa","_options$scrollbar$in","_insertScrollBar","_removeScrollBars","scrollbarMixin","_options$pullDownRefr","_options$pullDownRefr2","_options$pullDownRefr3","finishPullDown","openPullDown","closePullDown","autoPullDownRefresh","_options$pullDownRefr4","_options$pullDownRefr5","_options$pullDownRefr6","pullDownMixin","pullupWatching","_watchPullUp","_checkToEnd","_options$pullUpLoad$t","finishPullUp","openPullUp","closePullUp","pullUpMixin","_handleMouseWheelEvent","mouseWheelTimer","mouseWheelEndTimer","firstWheelOpreation","_options$mouseWheel","_options$mouseWheel$s","_options$mouseWheel$i","invert","_options$mouseWheel$e","easeTime","needTriggerEnd","mouseWheelMixin","_options$zoom","_options$zoom$start","_options$zoom$min","_options$zoom$max","_zoomTo","originX","originY","zoomTo","_offsetToBody","firstFinger","secondFinger","_offsetToBody2","_options$zoom2","_options$zoom2$min","_options$zoom2$max","_options$zoom3","_options$zoom3$min","_options$zoom3$max","zoomMixin","infiniteMixin","Version","bscroll_esm","PDFView_classCallCheck","PDFView_possibleConstructorReturn","bscroll","PDFView_objectWithoutProperties","PDFView_extends","Peg","Peg_classCallCheck","Peg_possibleConstructorReturn","Peg_objectWithoutProperties","Peg_extends","Player","Player_classCallCheck","Player_possibleConstructorReturn","getType","$video","Player_objectWithoutProperties","Player_extends","poster","Popover","Popover_classCallCheck","Popover_possibleConstructorReturn","Preview_classCallCheck","Preview_possibleConstructorReturn","Preview_objectWithoutProperties","Preview_extends","Progress","Progress_classCallCheck","Progress_possibleConstructorReturn","barStyle","barClassName","percentage","showPercentage","Progress_objectWithoutProperties","barPercentage","textPercentage","Progress_extends","$bar","src_Counter","Radio","Radio_classCallCheck","Radio_possibleConstructorReturn","SearchBoard","SearchBoard_classCallCheck","SearchBoard_possibleConstructorReturn","dbKey","expandCaption","expandTags","onClickExpand","isHide","showValidTags","Stencil","Stencil_classCallCheck","Stencil_possibleConstructorReturn","Stencil_objectWithoutProperties","Stencil_extends","Sticker","Sticker_classCallCheck","Sticker_possibleConstructorReturn","newClassName","class","Ticket","Ticket_classCallCheck","Ticket_possibleConstructorReturn","legend","legendStyle","legendClassName","Ticket_objectWithoutProperties","Ticket_extends","Timeline","Timeline_classCallCheck","Timeline_possibleConstructorReturn","lineParams","badgeParams","dotParams","Timeline_objectWithoutProperties","listDOM","Timeline_extends","src_Dot","Timepart","rowClass","progressClass","progressLegendClass","dataProgressAttr","partClass","partStartClass","partEndClass","colCount","partMinute","colAttr","isEnableActive","clickCount","partMilliSecond","rows","rowsCount","rowMilliSecond","parseDate","timeStr","partsCount","updateParsCount","updateRowsCount","createParts","allStartTime","allEndTime","rowStartTime","rowEndTime","row","partStartTime","partEndTime","part","startHour","startMinute","endHour","endMinute","getTimes","getTimesRange","startRatio","endRatio","startRow","endRow","startNum","endNum","hasProgress","pro","onCross","onContain","progressId","addProgress","argStartTime","argEndTime","cover","removeProgress","activeProgress","sortTimes","sort","getTimesByParts","part1","part2","onClickContainer","onClickPart","onClickProgress","Timepart_classCallCheck","Timepart_possibleConstructorReturn","onClickWhite","Titlebar","Titlebar_classCallCheck","Titlebar_possibleConstructorReturn","getButtonsDOM","backClassName","backStyle","backIcon","backIconClassName","iconStyle","backIconStyle","backCaption","showUrlTitle","onClickCaption","Titlebar_objectWithoutProperties","lButtonsDOM","rButtonsDOM","Titlebar_extends","Toast_classCallCheck","Toast_possibleConstructorReturn","Toast_objectWithoutProperties","Toast_extends","Tree","checkbox","barOptionClass","barButtonDelClass","treeClass","lineClass","arrowClass","buttonAddHTML","buttonAddClass","buttonAddSrc","buttonDelHTML","buttonDelClass","buttonDelSrc","idAttr","parentidAttr","nameAttr","updateBar","setBar","_data","buildOption","copyOption","lineDataHTML","onData","btnHTML","addBtnHTML","delBtnHTML","isSelected","removeSelected","getDataByTarget","att","getParentOptions","parentOptions","currentId","currentFlag","parentFlag","hasNode","parentNodes","isEmptyJson","createBarOption","del","removeAllSelected","hideBar","collapseAll","extendAll","addSelected","barOption","showBar","treeOption","onClickTree","onClickBar","targetLi","onClickBtnAdd","onClickBtnDel","lines","hasChildNodes","onClickLastChild","elLine","elLines","elId","onClickAdd","onClickDel","Tree_classCallCheck","Tree_possibleConstructorReturn","buttonAddClassName","buttonDelClassName","$tree","treeStyle","treeClassName","Ajax","xhr","contentType","extra","fetchData","req","Animate","requestAF","msRequestAnimationFrame","cancelAF","msCancelAnimationFrame","one","aniname","animExpr","hasEndEvent","fps","post","Api","setBaseURL","buildGetUrl","requests","ApiAxios","Route","BackboneRoute","defaultAction","routes","onpopstate","onchange","onhashchange","onChangeEvent","newURL","found","getRegExp","optional","CanvasUtil","cropImg","Clipboard","selectContent","rangeToSelect","selectNodeContents","createElementForExecCommand","textToClipboard","forExecElement","netscape","security","PrivilegeManager","enablePrivilege","execCommand","successMsg","errorMsg","GeoUtil","polygonToLines","isRegular","pointInsidePolygon","inside","lineIntersectLine","line0","line1","det","gamma","lambda","polygonInsidePolygon","py0","py1","isPoint","equalPoint","p0","p1","getMiddlePoint","isPolygon","pointOnLine","precision","lat1","lng1","lat2","lng2","radLat1","radLat2","asin","sin","sortPoints","isLeft","distA","distB","distCompare","angleCompare","Vott","svgClass","shapeClass","shapeActiveClass","shapeAttributes","xMinYMinClass","xMinYMidClass","xMinYMaxClass","xMidYMinClass","xMidYMaxClass","xMaxYMinClass","xMaxYMidClass","xMaxYMaxClass","isScale","setReadOnly","updateSvg","attr","createSvg","preserveAspectRatio","instance_objectWithoutProperties","createShape","data-scale-type","data-params","instance_extends","xMinYMin","xMinYMid","xMinYMax","xMidYMin","xMidYMax","xMaxYMin","xMaxYMid","xMaxYMax","shapeName","shape","activeShape","hideBullets","removeShape","createCircle","scaleShape","fixedX","fixedY","fixedX1","fixedY1","fixedX2","fixedY2","showBullets","bulletName","bulletsShow","moveShape","editShape","hasBullets","pointName","toPolygon","onKeyDown","onDblClick","moveEnd","_s$params$shapeAttrib","moveDiffX","moveDiffY","bbox","getBBox","Vott_classCallCheck","Vott_possibleConstructorReturn","Vott_objectWithoutProperties","Vott_extends","outerHTML","EditUtil","getTxtCusorPos","txt","moveStart","getDivCusorPos","cusorPos","srcele","moveToElementText","compareEndPoints","selectionPos","classname","onselectionchange","isenable","commandName","queryCommandEnabled","backgroundcolor","bold","italic","underline","selectall","cut","paste","unlink","fontname","fontName","fontsize","queryCommandValue","fontcolor","fontColor","unformat","indent","outdent","ol","caretPos","isEnter","EventUtil","_countClickEventHandler","prevCount","prevTime","_countClickEvent","isDetach","_touchEvent","touchEvents","_shake_handler","_shake_lastUpdate","_shake_curShakeX","_shake_curShakeY","_shake_curShakeZ","_shake_lastShakeX","_shake_lastShakeY","_shake_lastShakeZ","_shakeEventHandler","acceleration","accelerationIncludingGravity","curTime","diffTime","_shakeEvent","DeviceMotionEvent","removeHandler","Form","ignoreClass","fields","field","setFields","pushField","selectedString","serializeJson","serialize","onSubmit","History","enableStorage","historyKey","useHash","discardList","currentHash","prevHash","storage","storageHistory","saveList","clearList","enableHistory","pushState","replaceState","onBack","onForward","discardLen","PubSub","_listen","_trigger","_remove","namespaceCache","each","ret","namespace","offlineStack","listen","_self","ValidateID","GB2260","110000","110100","110101","110102","110103","110104","110105","110106","110107","110108","110109","110111","110112","110113","110200","110221","110224","110226","110227","110228","110229","120000","120100","120101","120102","120103","120104","120105","120106","120107","120108","120109","120110","120111","120112","120113","120200","120221","120222","120223","120224","120225","130000","130100","130101","130102","130103","130104","130105","130106","130107","130121","130123","130124","130125","130126","130127","130128","130129","130130","130131","130132","130133","130181","130182","130183","130184","130185","130200","130201","130202","130203","130204","130205","130206","130221","130223","130224","130225","130227","130229","130230","130281","130282","130283","130300","130301","130302","130303","130304","130321","130322","130323","130324","130400","130401","130402","130403","130404","130406","130421","130423","130424","130425","130426","130427","130428","130429","130430","130431","130432","130433","130434","130435","130481","130500","130501","130502","130503","130521","130522","130523","130524","130525","130526","130527","130528","130529","130530","130531","130532","130533","130534","130535","130581","130582","130600","130601","130602","130603","130604","130621","130622","130623","130624","130625","130626","130627","130628","130629","130630","130631","130632","130633","130634","130635","130636","130637","130638","130681","130682","130683","130684","130700","130701","130702","130703","130705","130706","130721","130722","130723","130724","130725","130726","130727","130728","130729","130730","130731","130732","130733","130800","130801","130802","130803","130804","130821","130822","130823","130824","130825","130826","130827","130828","130900","130901","130902","130903","130921","130922","130923","130924","130925","130926","130927","130928","130929","130930","130981","130982","130983","130984","131000","131001","131002","131022","131023","131024","131025","131026","131028","131081","131082","131100","131101","131102","131121","131122","131123","131124","131125","131126","131127","131128","131181","131182","140000","140100","140101","140105","140106","140107","140108","140109","140110","140121","140122","140123","140181","140200","140201","140202","140203","140211","140212","140221","140222","140223","140224","140225","140226","140227","140300","140301","140302","140303","140311","140321","140322","140400","140401","140402","140411","140421","140423","140424","140425","140426","140427","140428","140429","140430","140431","140481","140500","140501","140502","140521","140522","140524","140525","140581","140600","140601","140602","140603","140621","140622","140623","140624","142200","142201","142202","142222","142223","142225","142226","142227","142228","142229","142230","142231","142232","142233","142234","142300","142301","142302","142303","142322","142323","142325","142326","142327","142328","142329","142330","142332","142333","142400","142401","142402","142421","142422","142423","142424","142427","142429","142430","142431","142433","142600","142601","142602","142603","142621","142622","142623","142625","142627","142628","142629","142630","142631","142632","142633","142634","142635","142636","142700","142701","142702","142703","142723","142724","142725","142726","142727","142729","142730","142731","142732","142733","150000","150100","150101","150102","150103","150104","150105","150121","150122","150123","150124","150125","150200","150201","150202","150203","150204","150205","150206","150207","150221","150222","150223","150300","150301","150302","150303","150304","150400","150401","150402","150403","150404","150421","150422","150423","150424","150425","150426","150428","150429","150430","152100","152101","152102","152103","152104","152105","152106","152122","152123","152127","152128","152129","152130","152131","152200","152201","152202","152221","152222","152223","152224","152300","152301","152302","152322","152323","152324","152325","152326","152327","152500","152501","152502","152522","152523","152524","152525","152526","152527","152528","152529","152530","152531","152600","152601","152602","152624","152625","152626","152627","152629","152630","152631","152632","152634","152700","152701","152722","152723","152724","152725","152726","152727","152728","152800","152801","152822","152823","152824","152825","152826","152827","152900","152921","152922","152923","210000","210100","210101","210102","210103","210104","210105","210106","210111","210112","210113","210114","210122","210123","210124","210181","210200","210201","210202","210203","210204","210211","210212","210213","210224","210281","210282","210283","210300","210301","210302","210303","210304","210311","210321","210323","210381","210400","210401","210402","210403","210404","210411","210421","210422","210423","210500","210501","210502","210503","210504","210505","210521","210522","210600","210601","210602","210603","210604","210624","210681","210682","210700","210701","210702","210703","210711","210726","210727","210781","210782","210800","210801","210802","210803","210804","210811","210881","210882","210900","210901","210902","210903","210904","210905","210911","210921","210922","211000","211001","211002","211003","211004","211005","211011","211021","211081","211100","211101","211102","211103","211121","211122","211200","211201","211202","211204","211221","211223","211224","211281","211282","211300","211301","211302","211303","211321","211322","211324","211381","211382","211400","211401","211402","211403","211404","211421","211422","211481","220000","220100","220101","220102","220103","220104","220105","220106","220112","220122","220181","220182","220183","220200","220201","220202","220203","220204","220211","220221","220281","220282","220283","220284","220300","220301","220302","220303","220322","220323","220381","220382","220400","220401","220402","220403","220421","220422","220500","220501","220502","220503","220521","220523","220524","220581","220582","220600","220601","220602","220621","220622","220623","220625","220681","220700","220701","220702","220721","220722","220723","220724","220800","220801","220802","220821","220822","220881","220882","222400","222401","222402","222403","222404","222405","222406","222424","222426","230000","230100","230101","230102","230103","230104","230105","230106","230107","230108","230121","230123","230124","230125","230126","230127","230128","230129","230181","230182","230183","230184","230200","230201","230202","230203","230204","230205","230206","230207","230208","230221","230223","230224","230225","230227","230229","230230","230231","230281","230300","230301","230302","230303","230304","230305","230306","230307","230321","230381","230382","230400","230401","230402","230403","230404","230405","230406","230407","230421","230422","230500","230501","230502","230503","230505","230506","230521","230522","230523","230524","230600","230601","230602","230603","230604","230605","230606","230621","230622","230623","230624","230700","230701","230702","230703","230704","230705","230706","230707","230708","230709","230710","230711","230712","230713","230714","230715","230716","230722","230781","230800","230801","230802","230803","230804","230805","230811","230822","230826","230828","230833","230881","230882","230900","230901","230902","230903","230904","230921","231000","231001","231002","231003","231004","231005","231024","231025","231081","231083","231084","231085","231100","231101","231102","231121","231123","231124","231181","231182","232300","232301","232302","232303","232304","232324","232325","232326","232330","232331","232332","232700","232721","232722","232723","310000","310100","310101","310102","310103","310104","310105","310106","310107","310108","310109","310110","310112","310113","310114","310115","310116","310117","310200","310225","310226","310229","310230","320000","320100","320101","320102","320103","320104","320105","320106","320107","320111","320112","320113","320114","320121","320122","320123","320124","320125","320200","320201","320202","320203","320204","320211","320281","320282","320283","320300","320301","320302","320303","320304","320305","320311","320321","320322","320323","320324","320381","320382","320400","320401","320402","320404","320405","320411","320481","320482","320483","320500","320501","320502","320503","320504","320511","320581","320582","320583","320584","320585","320586","320600","320601","320602","320611","320621","320623","320681","320682","320683","320684","320700","320701","320703","320704","320705","320706","320721","320722","320723","320724","320800","320801","320802","320811","320821","320826","320829","320830","320831","320882","320900","320901","320902","320921","320922","320923","320924","320925","320928","320981","320982","321000","321001","321002","321011","321023","321027","321081","321084","321088","321100","321101","321102","321111","321121","321181","321182","321183","321200","321201","321202","321203","321281","321282","321283","321284","321300","321301","321302","321321","321322","321323","321324","330000","330100","330101","330102","330103","330104","330105","330106","330108","330122","330127","330181","330182","330183","330184","330185","330200","330201","330203","330204","330205","330206","330211","330225","330226","330227","330281","330282","330283","330300","330301","330302","330303","330304","330322","330324","330326","330327","330328","330329","330381","330382","330400","330401","330402","330411","330421","330424","330481","330482","330483","330500","330501","330521","330522","330523","330600","330601","330602","330621","330624","330681","330682","330683","330700","330701","330702","330721","330723","330726","330727","330781","330782","330783","330784","330800","330801","330802","330821","330822","330824","330825","330881","330900","330901","330902","330903","330921","330922","331000","331001","331002","331003","331004","331021","331022","331023","331024","331081","331082","332500","332501","332502","332522","332523","332525","332526","332527","332528","332529","340000","340100","340101","340102","340103","340104","340111","340121","340122","340123","340200","340201","340202","340203","340204","340207","340221","340222","340223","340300","340301","340302","340303","340304","340311","340321","340322","340323","340400","340401","340402","340403","340404","340405","340406","340421","340500","340501","340502","340503","340504","340505","340521","340600","340601","340602","340603","340604","340621","340700","340701","340702","340703","340711","340721","340800","340801","340802","340803","340811","340822","340823","340824","340825","340826","340827","340828","340881","341000","341001","341002","341003","341004","341021","341022","341023","341024","341100","341101","341102","341103","341122","341124","341125","341126","341181","341182","341200","341201","341202","341203","341204","341221","341222","341223","341224","341225","341226","341227","341281","341282","341300","341301","341302","341321","341322","341323","341324","342400","342401","342422","342423","342425","342426","342427","342500","342501","342502","342522","342523","342529","342530","342531","342600","342601","342622","342623","342625","342626","342900","342901","342921","342922","342923","350000","350100","350101","350102","350103","350104","350105","350111","350121","350122","350123","350124","350125","350128","350181","350182","350200","350201","350202","350203","350204","350205","350206","350211","350212","350300","350301","350302","350303","350321","350322","350400","350401","350402","350403","350421","350423","350424","350425","350426","350427","350428","350429","350430","350481","350500","350501","350502","350503","350504","350521","350524","350525","350526","350527","350581","350582","350583","350600","350601","350602","350603","350622","350623","350624","350625","350626","350627","350628","350629","350681","350700","350701","350702","350721","350722","350723","350724","350725","350781","350782","350783","350784","350800","350801","350802","350821","350822","350823","350824","350825","350881","352200","352201","352202","352203","352225","352227","352228","352229","352230","352231","360000","360100","360101","360102","360103","360104","360105","360111","360121","360122","360123","360124","360200","360201","360202","360203","360222","360281","360300","360301","360302","360313","360321","360322","360323","360400","360401","360402","360403","360421","360423","360424","360425","360426","360427","360428","360429","360430","360481","360500","360501","360502","360521","360600","360601","360602","360622","360681","360700","360701","360702","360721","360722","360723","360724","360725","360726","360727","360728","360729","360730","360731","360732","360733","360734","360735","360781","360782","362200","362201","362202","362203","362204","362226","362227","362228","362229","362232","362233","362300","362301","362302","362321","362322","362323","362324","362325","362326","362329","362330","362331","362334","362400","362401","362402","362421","362422","362423","362424","362425","362426","362427","362428","362429","362430","362432","362500","362502","362522","362523","362524","362525","362526","362527","362528","362529","362531","362532","370000","370100","370101","370102","370103","370104","370105","370112","370123","370124","370125","370126","370181","370200","370201","370202","370203","370205","370211","370212","370213","370214","370281","370282","370283","370284","370285","370300","370301","370302","370303","370304","370305","370306","370321","370322","370323","370400","370401","370402","370403","370404","370405","370406","370481","370500","370501","370502","370503","370521","370522","370523","370600","370601","370602","370611","370612","370613","370634","370681","370682","370683","370684","370685","370686","370687","370700","370701","370702","370703","370704","370705","370724","370725","370781","370782","370783","370784","370785","370786","370800","370801","370802","370811","370826","370827","370828","370829","370830","370831","370832","370881","370882","370883","370900","370901","370902","370911","370921","370923","370982","370983","371000","371001","371002","371081","371082","371083","371100","371101","371102","371121","371122","371200","371201","371202","371203","371300","371301","371302","371311","371312","371321","371322","371323","371324","371325","371326","371327","371328","371329","371400","371401","371402","371421","371422","371423","371424","371425","371426","371427","371428","371481","371482","371500","371501","371502","371521","371522","371523","371524","371525","371526","371581","372300","372301","372321","372323","372324","372325","372328","372330","372900","372901","372922","372923","372924","372925","372926","372928","372929","372930","410000","410100","410101","410102","410103","410104","410105","410106","410108","410122","410181","410182","410183","410184","410185","410200","410201","410202","410203","410204","410205","410211","410221","410222","410223","410224","410225","410300","410301","410302","410303","410304","410305","410306","410311","410322","410323","410324","410325","410326","410327","410328","410329","410381","410400","410401","410402","410403","410404","410411","410421","410422","410423","410425","410481","410482","410500","410501","410502","410503","410504","410511","410522","410523","410526","410527","410581","410600","410601","410602","410603","410611","410621","410622","410700","410701","410702","410703","410704","410711","410721","410724","410725","410726","410727","410728","410781","410782","410800","410801","410802","410803","410804","410811","410821","410822","410823","410825","410881","410882","410883","410900","410901","410902","410922","410923","410926","410927","410928","411000","411001","411002","411023","411024","411025","411081","411082","411100","411101","411102","411121","411122","411123","411200","411201","411202","411221","411222","411224","411281","411282","411300","411301","411302","411303","411321","411322","411323","411324","411325","411326","411327","411328","411329","411330","411381","411400","411401","411402","411403","411421","411422","411423","411424","411425","411426","411481","411500","411501","411502","411503","411521","411522","411523","411524","411525","411526","411527","411528","412700","412701","412702","412721","412722","412723","412724","412725","412726","412727","412728","412800","412801","412821","412822","412823","412824","412825","412826","412827","412828","412829","420000","420100","420101","420102","420103","420104","420105","420106","420107","420111","420112","420113","420114","420115","420116","420117","420200","420201","420202","420203","420204","420205","420222","420281","420300","420301","420302","420303","420321","420322","420323","420324","420325","420381","420500","420501","420502","420503","420504","420505","420521","420525","420526","420527","420528","420529","420581","420582","420583","420600","420601","420602","420606","420621","420624","420625","420626","420682","420683","420684","420700","420701","420702","420703","420704","420800","420801","420802","420821","420822","420881","420900","420901","420902","420921","420922","420923","420981","420982","420983","420984","421000","421001","421002","421003","421022","421023","421024","421081","421083","421087","421100","421101","421102","421121","421122","421123","421124","421125","421126","421127","421181","421182","421200","421201","421202","421221","421222","421223","421224","422800","422801","422802","422822","422823","422825","422826","422827","422828","429000","429001","429004","429005","429006","429021","430000","430100","430101","430102","430103","430104","430105","430111","430121","430122","430124","430181","430200","430201","430202","430203","430204","430211","430221","430223","430224","430225","430281","430300","430301","430302","430304","430321","430381","430382","430400","430401","430402","430403","430404","430411","430412","430421","430422","430423","430424","430426","430481","430482","430500","430501","430502","430503","430511","430521","430522","430523","430524","430525","430527","430528","430529","430581","430600","430601","430602","430603","430611","430621","430623","430624","430626","430681","430682","430700","430701","430702","430703","430721","430722","430723","430724","430725","430726","430781","430800","430801","430802","430811","430821","430822","430900","430901","430902","430903","430921","430922","430923","430981","431000","431001","431002","431003","431021","431022","431023","431024","431025","431026","431027","431028","431081","431100","431101","431102","431103","431121","431122","431123","431124","431125","431126","431127","431128","431129","431200","431201","431202","431221","431222","431223","431224","431225","431226","431227","431228","431229","431230","431281","432500","432501","432502","432503","432522","432524","433000","433001","433100","433101","433122","433123","433124","433125","433126","433127","433130","440000","440100","440101","440102","440103","440104","440105","440106","440107","440111","440112","440181","440182","440183","440184","440200","440201","440202","440203","440204","440221","440222","440224","440229","440232","440233","440281","440282","440300","440301","440303","440304","440305","440306","440307","440308","440400","440401","440402","440421","440500","440501","440506","440507","440508","440509","440510","440523","440582","440583","440600","440601","440602","440603","440681","440682","440683","440684","440700","440701","440703","440704","440781","440782","440783","440784","440785","440800","440801","440802","440803","440804","440811","440823","440825","440881","440882","440883","440900","440901","440902","440923","440981","440982","440983","441200","441201","441202","441203","441223","441224","441225","441226","441283","441284","441300","441301","441302","441322","441323","441324","441381","441400","441401","441402","441421","441422","441423","441424","441426","441427","441481","441500","441501","441502","441521","441523","441581","441600","441601","441602","441621","441622","441623","441624","441625","441700","441701","441702","441721","441723","441781","441800","441801","441802","441821","441823","441825","441826","441827","441881","441882","441900","441901","442000","442001","445100","445101","445102","445121","445122","445200","445201","445202","445221","445222","445224","445281","445300","445301","445302","445321","445322","445323","445381","450000","450100","450101","450102","450103","450104","450105","450106","450111","450121","450122","450200","450201","450202","450203","450204","450205","450211","450221","450222","450300","450301","450302","450303","450304","450305","450311","450321","450322","450323","450324","450325","450326","450327","450328","450329","450330","450331","450332","450400","450401","450403","450404","450411","450421","450422","450423","450481","450500","450501","450502","450503","450512","450521","450600","450601","450602","450603","450621","450681","450700","450701","450702","450703","450721","450722","450800","450801","450802","450803","450821","450881","450900","450901","450902","450921","450922","450923","450924","450981","452100","452101","452122","452123","452124","452126","452127","452128","452129","452130","452131","452132","452133","452200","452201","452223","452224","452225","452226","452227","452228","452229","452230","452231","452400","452402","452424","452427","452428","452600","452601","452622","452623","452624","452625","452626","452627","452628","452629","452630","452631","452632","452700","452701","452702","452723","452724","452725","452726","452727","452728","452729","452730","452731","460000","460001","460002","460003","460004","460005","460006","460007","460025","460026","460027","460028","460030","460031","460033","460034","460035","460036","460037","460038","460039","460100","460101","460102","460103","460104","460200","460201","500000","500100","500101","500102","500103","500104","500105","500106","500107","500108","500109","500110","500111","500112","500113","500200","500221","500222","500223","500224","500225","500226","500227","500228","500229","500230","500231","500232","500233","500234","500235","500236","500237","500238","500239","500240","500241","500242","500243","500300","500381","500382","500383","500384","510000","510100","510101","510104","510105","510106","510107","510108","510112","510113","510121","510122","510123","510124","510125","510129","510131","510132","510181","510182","510183","510184","510300","510301","510302","510303","510304","510311","510321","510322","510400","510401","510402","510403","510411","510421","510422","510500","510501","510502","510503","510504","510521","510522","510524","510525","510600","510601","510603","510623","510626","510681","510682","510683","510700","510701","510703","510704","510722","510723","510724","510725","510726","510727","510781","510800","510801","510802","510811","510812","510821","510822","510823","510824","510900","510901","510902","510921","510922","510923","511000","511001","511002","511011","511024","511025","511028","511100","511101","511102","511111","511112","511113","511123","511124","511126","511129","511132","511133","511181","511300","511301","511302","511303","511304","511321","511322","511323","511324","511325","511381","511500","511501","511502","511521","511522","511523","511524","511525","511526","511527","511528","511529","511600","511601","511602","511621","511622","511623","511681","513000","513001","513002","513021","513022","513023","513029","513030","513100","513101","513122","513123","513124","513125","513126","513127","513128","513200","513221","513222","513223","513224","513225","513226","513227","513228","513229","513230","513231","513232","513233","513300","513321","513322","513323","513324","513325","513326","513327","513328","513329","513330","513331","513332","513333","513334","513335","513336","513337","513338","513400","513401","513422","513423","513424","513425","513426","513427","513428","513429","513430","513431","513432","513433","513434","513435","513436","513437","513700","513701","513721","513722","513723","513800","513821","513822","513823","513824","513825","513826","513900","513901","513902","513921","513922","520000","520100","520101","520102","520103","520111","520112","520113","520121","520122","520123","520181","520200","520201","520202","520203","520221","520300","520301","520302","520321","520322","520323","520324","520325","520326","520327","520328","520329","520330","520381","520382","522200","522201","522222","522223","522224","522225","522226","522227","522228","522229","522230","522300","522301","522322","522323","522324","522325","522326","522327","522328","522400","522401","522422","522423","522424","522425","522426","522427","522428","522500","522501","522526","522527","522528","522529","522530","522600","522601","522622","522623","522624","522625","522626","522627","522628","522629","522630","522631","522632","522633","522634","522635","522636","522700","522701","522702","522722","522723","522725","522726","522727","522728","522729","522730","522731","522732","530000","530100","530101","530102","530103","530111","530112","530113","530121","530122","530124","530125","530126","530127","530128","530129","530181","530300","530301","530302","530321","530322","530323","530324","530325","530326","530328","530381","530400","530401","530402","530421","530422","530423","530424","530425","530426","530427","530428","532100","532101","532122","532123","532124","532125","532126","532127","532128","532129","532130","532131","532300","532301","532322","532323","532324","532325","532326","532327","532328","532329","532331","532500","532501","532502","532522","532523","532524","532525","532526","532527","532528","532529","532530","532531","532532","532600","532621","532622","532623","532624","532625","532626","532627","532628","532700","532701","532722","532723","532724","532725","532726","532727","532728","532729","532730","532800","532801","532822","532823","532900","532901","532922","532923","532924","532925","532926","532927","532928","532929","532930","532931","532932","533000","533001","533022","533023","533024","533025","533100","533101","533102","533103","533122","533123","533124","533200","533221","533222","533223","533224","533300","533321","533323","533324","533325","533400","533421","533422","533423","533500","533521","533522","533523","533524","533525","533526","533527","533528","540000","540100","540101","540102","540121","540122","540123","540124","540125","540126","540127","542100","542121","542122","542123","542124","542125","542126","542127","542128","542129","542132","542133","542134","542135","542136","542137","542200","542221","542222","542223","542224","542225","542226","542227","542228","542229","542231","542232","542233","542300","542301","542322","542323","542324","542325","542326","542327","542328","542329","542330","542331","542332","542333","542334","542335","542336","542337","542338","542400","542421","542422","542423","542424","542425","542426","542427","542428","542429","542430","542500","542521","542522","542523","542524","542525","542526","542527","542528","542600","542621","542622","542623","542624","542625","542626","542627","610000","610100","610101","610102","610103","610104","610111","610112","610113","610114","610115","610121","610122","610124","610125","610126","610200","610201","610202","610203","610221","610222","610300","610301","610302","610303","610321","610322","610323","610324","610326","610327","610328","610329","610330","610331","610400","610401","610402","610403","610404","610422","610423","610424","610425","610426","610427","610428","610429","610430","610431","610481","610500","610501","610502","610521","610522","610523","610524","610525","610526","610527","610528","610581","610582","610600","610601","610602","610621","610622","610623","610624","610625","610626","610627","610628","610629","610630","610631","610632","610700","610701","610702","610721","610722","610723","610724","610725","610726","610727","610728","610729","610730","612400","612401","612422","612423","612424","612425","612426","612427","612428","612429","612430","612500","612501","612522","612523","612524","612525","612526","612527","612700","612701","612722","612723","612724","612725","612726","612727","612728","612729","612730","612731","612732","620000","620100","620101","620102","620103","620104","620105","620111","620121","620122","620123","620200","620201","620300","620301","620302","620321","620400","620401","620402","620403","620421","620422","620423","620500","620501","620502","620503","620521","620522","620523","620524","620525","622100","622101","622102","622103","622123","622124","622125","622126","622200","622201","622222","622223","622224","622225","622226","622300","622301","622322","622323","622326","622400","622421","622424","622425","622426","622427","622428","622429","622600","622621","622623","622624","622625","622626","622627","622628","622629","622630","622700","622701","622722","622723","622724","622725","622726","622727","622800","622801","622821","622822","622823","622824","622825","622826","622827","622900","622901","622921","622922","622923","622924","622925","622926","622927","623000","623001","623021","623022","623023","623024","623025","623026","623027","630000","630100","630101","630102","630103","630104","630105","630121","632100","632121","632122","632123","632124","632125","632126","632127","632128","632200","632221","632222","632223","632224","632300","632321","632322","632323","632324","632500","632521","632522","632523","632524","632525","632600","632621","632622","632623","632624","632625","632626","632700","632721","632722","632723","632724","632725","632726","632800","632801","632802","632821","632822","632823","640000","640100","640101","640102","640103","640111","640121","640122","640200","640201","640202","640203","640204","640221","640222","640223","640300","640301","640302","640321","640322","640323","640324","640381","640382","642200","642221","642222","642223","642224","642225","642226","650000","650100","650101","650102","650103","650104","650105","650106","650107","650108","650121","650200","650201","650202","650203","650204","650205","652100","652101","652122","652123","652200","652201","652222","652223","652300","652301","652302","652303","652323","652324","652325","652327","652328","652700","652701","652722","652723","652800","652801","652822","652823","652824","652825","652826","652827","652828","652829","652900","652901","652922","652923","652924","652925","652926","652927","652928","652929","653000","653001","653022","653023","653024","653100","653101","653121","653122","653123","653124","653125","653126","653127","653128","653129","653130","653131","653200","653201","653221","653222","653223","653224","653225","653226","653227","654000","654001","654100","654101","654121","654122","654123","654124","654125","654126","654127","654128","654200","654201","654202","654221","654223","654224","654225","654226","654300","654301","654321","654322","654323","654324","654325","654326","659000","659001","ValidateIDUtil","checkArg","checkBit","checkAddr","getAddrInfo","tmpAddr","checkBirth","birth","checkOrder","weight","rand","str_pad","chr","isValid","valid","posWeight","bodySum","bodyArr","getInfo","info","addrCode","sex","makeID","isFifteen","addrTest","yr","Validator","Patts","decimal","integer","positive","negative","positiveInteger","negativeInteger","mail","phone","chinese","specialchar","Rules","maxDigits","minNumber","maxNumber","minLength","value1","value2","valLvl","caches","strategies","strategy","ruleArray","ruleName","ruleErrorMsg","valiFn","__webpack_exports__","src_Actionsheet","src_Badge","src_BiClock","src_BiDoughnut","src_BiGauge","src_Bridge","src_Calendar","src_Card","src_Chat","src_Checkbox","src_Container","src_Dragrefresh","src_Dropdown","src_Emoji","src_Footer","src_Group","src_Handsign","src_Header","src_ImgMark","src_IndexBar","src_InputArea","src_InputCity","src_InputColor","src_InputDate","src_InputLocation","src_InputNumber","src_InputPassword","src_InputTel","src_InputPicker","src_InputRange","src_InputSafe","src_InputSelect","src_InputStar","src_Legend","src_ListPull","src_Loading","src_LotteryWheel","src_MapUtil","src_Mark","src_Marquee","src_MenuTree","src_NumBoxPopPointer","src_OnOff","src_PagePull","src_PDFView","src_Peg","src_Player","src_Popover","src_Preview","src_Progress","src_Radio","src_SearchBoard","src_Stencil","src_Ticket","src_Timeline","src_Timepart","src_Titlebar","src_Toast","src_Tree","src_Ajax","src_Animate","src_ApiAxios","src_BackboneRoute","src_CanvasUtil","src_Clipboard","src_Vott","src_DB","src_Device","src_EditUtil","src_EventUtil","src_FastClick","src_Form","src_FullScreen","src_GeoUtil","src_History","src_ImgLazy","src_jsonp","src_MediaUtil","src_PubSub","src_ValidateID","src_Validator"],"mappings":"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AS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SA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IXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,YAKbM,IAAO,SACPN,MAAS,KACTqV,WACE/U,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO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,SACPN,MAAS,KACTqV,WACE/U,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,YAKbM,IAAO,SACPN,MAAS,KACTqV,WACE/U,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,OACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,WAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,YAKbM,IAAO,SACPN,MAAS,KACTqV,WACE/U,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SAC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GTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,SAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO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ACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,aAGTM,IAAO,SACPN,MAAS,aAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAA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ACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IA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,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,M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,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,SAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,OAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,WAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,SAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,QAGTM,IAAO,SACPN,MAAS,UAIXM,IAAO,SACPN,MAAS,MACTqV,WACE/U,IAAO,SACPN,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aC,OAAU,YAAaC,OAAU,WAAYC,OAAU,gBAAiBC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,WAAYC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,WAAYC,OAAU,WAAYC,OAAU,WAAYC,OAAU,YAAaC,OAAU,WAAYC,OAAU,SAAUC,OAAU,YAAaC,OAAU,WAAYC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,cAAeC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,gBAAiBC,OAAU,mBAAoBC,OAAU,kBAAmBC,OAAU,mBAAoBC,OAAU,kBAAmBC,OAAU,iBAAkBC,OAAU,YAAaC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,gBAAiBC,OAAU,eAAgBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,cAAeC,OAAU,iBAAkBC,OAAU,eAAgBC,OAAU,qBAAsBC,OAAU,YAAaC,OAAU,eAAgBC,OAAU,gBAAiBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,YAAaC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,gBAAiBC,OAAU,eAAgBC,OAAU,kBAAmBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,eAAgBC,OAAU,iBAAkBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,cAAeC,OAAU,kBAAmBC,OAAU,kBAAmBC,OAAU,kBAAmBC,OAAU,kBAAmBC,OAAU,iBAAkBC,OAAU,mBAAoBC,OAAU,iBAAkBC,OAAU,yBAA0BC,OAAU,oBAAqBC,OAAU,qBAAsBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,mBAAoBC,OAAU,YAAaC,OAAU,iBAAkBC,OAAU,gBAAiBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,gBAAiBC,OAAU,eAAgBC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,kBAAmBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,iBAAkBC,OAAU,cAAeC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,kBAAmBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,kBAAmBC,OAAU,iBAAkBC,OAAU,kBAAmBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,cAAeC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,qBAAsBC,OAAU,qBAAsBC,OAAU,qBAAsBC,OAAU,kBAAmBC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,kBAAmBC,OAAU,iBAAkBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,kBAAmBC,OAAU,cAAeC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,kBAAmBC,OAAU,aAAcC,OAAU,kBAAmBC,OAAU,kBAAmBC,OAAU,iBAAkBC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,iBAAkBC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,oBAAqBC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,aAAcC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,iBAAkBC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,oBAAqBC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,cAAeC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,OAAQC,OAAU,WAAYC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,aAAcC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,YAAaC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,gBAAiBC,OAAU,iBAAkBC,OAAU,gBAAiBC,OAAU,oBAAqBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,eAAgBC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,WAAYC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,eAAgBC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,UAAWC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,oBAAqBC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,cAAeC,OAAU,cAAeC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,aAAcC,OAAU,WAAYC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,aAAcC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,WAAYC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,eAAgBC,OAAU,cAAeC,OAAU,WAAYC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,eAAgBC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,eAAgBC,OAAU,WAAYC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,MAAOC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,UAAWC,OAAU,SAAUC,OAAU,SAAUC,OAAU,OAAQC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,iBAAkBC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,WAAYC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,WAAYC,OAAU,UAAWC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,cAAeC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,cAAeC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,cAAeC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,WAAYC,OAAU,WAAYC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,WAAYC,OAAU,eAAgBC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,cAAeC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,eAAgBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,eAAgBC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,SAAUC,OAAU,WAAYC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,kBAAmBC,OAAU,gBAAiBC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,cAAeC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,SAAUC,OAAU,gBAAiBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,gBAAiBC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YA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OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,WAAYC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,iBAAkBC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,kBAAmBC,OAAU,oBAAqBC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,kBAAmBC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,iBAAkBC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,YAAaC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,UAAWC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,YAAaC,OAAU,aAAcC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,mBAAoBC,OAAU,4BAA6BC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,MAAOC,OAAU,SAAUC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,YAAaC,OAAU,kBAAmBC,OAAU,UAAWC,OAAU,aAAcC,OAAU,mBAAoBC,OAAU,aAAcC,OAAU,aAAcC,OAAU,aAAcC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,kBAAmBC,OAAU,aAAcC,OAAU,oBAAqBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,qBAAsBC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,iBAAkBC,OAAU,gBAAiBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,UAAWC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,eAAgBC,OAAU,gBAAiBC,OAAU,eAAgBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,cAAeC,OAAU,iBAAkBC,OAAU,kBAAmBC,OAAU,kBAAmBC,OAAU,kBAAmBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,aAAcC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,gBAAiBC,OAAU,iBAAkBC,OAAU,gBAAiBC,OAAU,cAAeC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,iBAAkBC,OAAU,WAAYC,OAAU,iBAAkBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,sBAAuBC,OAAU,oBAAqBC,OAAU,qBAAsBC,OAAU,qBAAsBC,OAAU,qBAAsBC,OAAU,oBAAqBC,OAAU,sBAAuBC,OAAU,iBAAkBC,OAAU,oBAAqBC,OAAU,qBAAsBC,OAAU,sBAAuBC,OAAU,qBAAsBC,OAAU,qBAAsBC,OAAU,iBAAkBC,OAAU,qBAAsBC,OAAU,oBAAqBC,OAAU,qBAAsBC,OAAU,gBAAiBC,OAAU,mBAAoBC,OAAU,yBAA0BC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,sBAAuBC,OAAU,sBAAuBC,OAAU,sBAAuBC,OAAU,uBAAwBC,OAAU,uBAAwBC,OAAU,sBAAuBC,OAAU,wBAAyBC,OAAU,2BAA4BC,OAAU,qBAAsBC,OAAU,wBAAyBC,OAAU,wBAAyBC,OAAU,wBAAyBC,OAAU,qBAAsBC,OAAU,yBAA0BC,OAAU,wBAAyBC,OAAU,wBAAyBC,OAAU,wBAAyBC,OAAU,wBAAyBC,OAAU,4BAA6BC,OAAU,wBAAyBC,OAAU,wBAAyBC,OAAU,wBAAyBC,OAAU,iBAAkBC,OAAU,qBAAsBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,qBAAsBC,OAAU,oBAAqBC,OAAU,uBAAwBC,OAAU,2BAA4BC,OAAU,2BAA4BC,OAAU,2BAA4BC,OAAU,0BAA2BC,OAAU,gBAAiBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,oBAAqBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,2BAA4BC,OAAU,gBAAiBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,oBAAqBC,OAAU,uBAAwBC,OAAU,wBAAyBC,OAAU,uBAAwBC,OAAU,uBAAwBC,OAAU,yBAA0BC,OAAU,uBAAwBC,OAAU,uBAAwBC,OAAU,uBAAwBC,OAAU,uBAAwBC,OAAU,wBAAyBC,OAAU,wBAAyBC,OAAU,gBAAiBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,mBAAoBC,OAAU,0BAA2BC,OAAU,iBAAkBC,OAAU,qBAAsBC,OAAU,qBAAsBC,OAAU,oBAAqBC,OAAU,oBAAqBC,OAAU,qBAAsBC,OAAU,oBAAqBC,OAAU,qBAAsBC,OAAU,oBAAqBC,OAAU,iBAI1njFC,GACFC,SAAU,SAAU1hQ,GAElB,YADI,IAAkBA,EAAlB,YAAA/C,GAAkB+C,IAEpB,IAAK,SAGH,IADAA,EAAKA,EAAGlU,YACDQ,OAAS,GAEd,OADAuI,KAAKjJ,MAAM,wBACJ,EAET,MACF,IAAK,SACH,MACF,QACE,OAAO,EAGX,IAAI2I,EAAO,KACX,GAAkB,MAFlByL,EAAKA,EAAGzN,eAEDjG,OAELiI,GACEwwC,KAAM/kC,EAAGrQ,MAAM,EAAG,IAClBgyQ,SAAU3hQ,EAAGrQ,OAAO,GACpB6G,KAAM,QAEH,IAAkB,KAAdwJ,EAAG1T,OAOZ,OAAO,EALPiI,GACEwwC,KAAM/kC,EACNxJ,KAAM,IAKV,OAAOjC,GAGTqtQ,UAAW,SAAUjqL,EAAMoxE,GAEzB,OAAqB,IADNl0J,KAAKgtQ,YAAYlqL,EAAMoxE,IACT,GAG/B84G,YAAa,SAAUlqL,EAAMoxE,GAG3B,OAAe,QAFfA,EAASA,GAAU,MAGVpxE,EAEJoxE,EAAO19J,eAAessF,GAelBoxE,EAAOpxE,IAZdmqL,EAAUnqL,EAAKhoF,MAAM,EAAG,GAAK,KACxBo5J,EAAO19J,eAAey2Q,GAQlB/4G,EAAO+4G,GAAW,QAPzBA,EAAUnqL,EAAKhoF,MAAM,EAAG,GAAK,SACxBo5J,EAAO19J,eAAey2Q,IAGlB/4G,EAAO+4G,GAAW,SAP7B,IAAIA,GAiBRC,WAAY,SAAUC,GAEpB,IAEIr2P,EACAY,EACJ,GAAqB,IAAjBy1P,EAAM11Q,OACDwV,SAASkgQ,EAAMryQ,MAAM,EAAG,GAAI,IACnCgc,EAAQ7J,SAASkgQ,EAAMryQ,MAAM,EAAG,GAAI,IACpC4c,EAAMzK,SAASkgQ,EAAMryQ,OAAO,GAAI,QAC3B,IAAqB,IAAjBqyQ,EAAM11Q,OAKf,OAAO,EAJAwV,SAAS,KAAOkgQ,EAAMryQ,MAAM,EAAG,GAAI,IAC1Cgc,EAAQ7J,SAASkgQ,EAAMryQ,MAAM,EAAG,GAAI,IACpC4c,EAAMzK,SAASkgQ,EAAMryQ,OAAO,GAAI,IASlC,QAAIgc,EAAQ,IAAgB,IAAVA,GAAeY,EAAM,IAAc,IAARA,IAM/C01P,WAAY,SAAUh4N,GAGpB,OAAO,GAGTi4N,OAAQ,SAAUx3Q,GAChB,OAAOqQ,KAAK8G,IAAI,EAAGnX,EAAI,GAAK,IAG9By3Q,KAAM,SAAU3/P,EAAKa,GAEnB,OADAA,EAAMA,GAAO,EACNtI,KAAKuG,MAAMvG,KAAKyK,UAAYhD,EAAMa,IAAQA,GAGnD++P,QAAS,SAAU9zQ,EAAKmP,EAAK4kQ,EAAKjoM,GAKhC,GAJA9rE,EAAMA,EAAIxC,WACV2R,EAAMA,GAAO,EACb4kQ,EAAMA,GAAO,IACbjoM,EAAQA,IAAS,EACb9rE,EAAIhC,QAAUmR,EAChB,OAAOnP,EAEP,IAAK,IAAI9E,EAAI,EAAGgU,EAAIC,EAAMnP,EAAIhC,OAAQ9C,EAAIgU,EAAGhU,IACvC4wE,EACF9rE,GAAY+zQ,EAEZ/zQ,EAAM+zQ,EAAM/zQ,EAGhB,OAAOA,GAIX1C,MAAO,SAAUipF,GACf,IAAIlkF,EAAI,IAAI6D,MAEZ,MADA7D,EAAE2D,QAAU,eAAiBugF,EACvBlkF,IA6KV,OAvKgB,WACd,IAAIpF,EAAIsJ,KACRA,KAAK8kF,SAELpuF,EAAE+2Q,QAAU,SAAUtiQ,GACpB,IAAIzL,EAAOktQ,EAAeC,SAAS1hQ,GACnC,IAAa,IAATzL,EACF,OAAO,EAGT,GAAIM,KAAK8kF,MAAMtuF,eAAe2U,SAAuC,IAAzBnL,KAAK8kF,MAAM35E,GAAIuiQ,MACzD,OAAO1tQ,KAAK8kF,MAAM35E,GAAIuiQ,MAEjB1tQ,KAAK8kF,MAAMtuF,eAAe2U,KAC7BnL,KAAK8kF,MAAM35E,OAIf,IAAI23E,EAAOpjF,EAAKwwC,KAAKp1C,MAAM,EAAG,GAC1BqyQ,EAAuB,KAAdztQ,EAAKiC,KAAcjC,EAAKwwC,KAAKp1C,MAAM,EAAG,IAAM4E,EAAKwwC,KAC3Dp1C,MAAM,EAAG,IACRs6C,EAAQ11C,EAAKwwC,KAAKp1C,OAAO,GAE7B,KAAM8xQ,EAAeG,UAAUjqL,EAAMoxE,IAAW04G,EAAeM,WAAWC,IAAUP,EAAeQ,WAAWh4N,IAE5G,OADAp1C,KAAK8kF,MAAM35E,GAAIuiQ,OAAQ,GAChB,EAIT,GAAkB,KAAdhuQ,EAAKiC,KAEP,OADA3B,KAAK8kF,MAAM35E,GAAIuiQ,OAAQ,GAChB,EAOT,IADA,IAAIC,KACKh5Q,EAAI,GAAIA,EAAI,EAAGA,IAAK,CAC3B,IAAI47B,EAAMq8O,EAAeS,OAAO14Q,GAChCg5Q,EAAUh5Q,GAAK47B,EAMjB,IAFA,IAAIq9O,EAAU,EACVC,EAAUnuQ,EAAKwwC,KAAKnnC,MAAM,IACrBJ,EAAI,EAAGA,EAAIklQ,EAAQp2Q,OAAQkR,IAClCilQ,GAAY3gQ,SAAS4gQ,EAAQllQ,GAAI,IAAMglQ,EAAU,GAAKhlQ,GAIxD,IAAImkQ,EAAW,GAAMc,EAAU,GAS/B,OARiB,KAAbd,EACFA,EAAW,IACFA,EAAW,KACpBA,GAAsB,KAExBA,EAAgC,iBAAbA,EAAwBA,EAAS71Q,WAAa61Q,KAGhDptQ,EAAKotQ,UACpB9sQ,KAAK8kF,MAAM35E,GAAIuiQ,OAAQ,GAChB,IAEP1tQ,KAAK8kF,MAAM35E,GAAIuiQ,OAAQ,GAChB,IAKXh3Q,EAAEo3Q,QAAU,SAAU3iQ,GAEpB,IAAyB,IAArBnL,KAAKytQ,QAAQtiQ,GACf,OAAO,EAGT,IAAIzL,EAAOktQ,EAAeC,SAAS1hQ,GAInC,QAAmC,IAAxBnL,KAAK8kF,MAAM35E,GAAI4iQ,KACxB,OAAO/tQ,KAAK8kF,MAAM35E,GAAI4iQ,KAGxB,IAAIjrL,EAAOpjF,EAAKwwC,KAAKp1C,MAAM,EAAG,GAC1BqyQ,EAAuB,KAAdztQ,EAAKiC,KAAcjC,EAAKwwC,KAAKp1C,MAAM,EAAG,IAAM4E,EAAKwwC,KAC3Dp1C,MAAM,EAAG,IACRs6C,EAAQ11C,EAAKwwC,KAAKp1C,OAAO,GAEzBizQ,KAeJ,OAdAA,EAAKC,SAAWlrL,EACD,OAAXoxE,IACF65G,EAAKjrL,KAAO8pL,EAAeI,YAAYlqL,EAAMoxE,IAE/C65G,EAAKZ,MAAuB,KAAdztQ,EAAKiC,MAAiBwrQ,EAAMryQ,MAAM,EAAG,GAAIqyQ,EAAMryQ,MAAM,EAAG,GAAIqyQ,EAAMryQ,OAAO,IAAKH,KAAK,MAC/F,KAAOwyQ,EAAMryQ,MAAM,EAAG,GAAIqyQ,EAAMryQ,MAAM,EAAG,GACzCqyQ,EAAMryQ,OAAO,IAAKH,KAAK,KACzBozQ,EAAKE,IAAO74N,EAAQ,GAAM,EAAI,EAAI,EAClC24N,EAAKt2Q,OAASiI,EAAKiC,KACD,KAAdjC,EAAKiC,OACPosQ,EAAKjB,SAAWptQ,EAAKotQ,UAGvB9sQ,KAAK8kF,MAAM35E,GAAI4iQ,KAAOA,EACfA,GAGTr3Q,EAAEw3Q,OAAS,SAAUC,GAEnB,IAAIrrL,EAAO,KACX,GAAe,OAAXoxE,EAEF,KAAgB,OAATpxE,GAAe,CAMpB,IAGIsrL,GAHOxB,EAAeW,QAAQX,EAAeU,KAAK,IAAK,EAAG,KACnDV,EAAeW,QAAQX,EAAeU,KAAK,IAAK,EAAG,KACnDV,EAAeW,QAAQX,EAAeU,KAAK,IAAK,EAAG,MAC5B3yQ,KAAK,IACvC,GAAIu5J,EAAOk6G,GAAW,CACpBtrL,EAAOsrL,EACP,YAIJtrL,EAAO,OAIT,IAAIurL,EAAKzB,EAAeW,QAAQX,EAAeU,KAAK,GAAI,IAAK,EAAG,KAC5DjlP,EAAKukP,EAAeW,QAAQX,EAAeU,KAAK,GAAI,GAAI,EAAG,KAC3D1tP,EAAKgtP,EAAeW,QAAQX,EAAeU,KAAK,GAAI,GAAI,EAAG,KAC/D,GAAIa,EACF,OAAOrrL,EAAOurL,EAAKhmP,EAAKzI,EAAKgtP,EAAeW,QAAQX,EAAeU,KAAK,IAAK,GAAI,EAAG,KAQtF,IAJA,IAAIp9N,EAAO4yC,GADXurL,EAAK,KAAOA,GACWhmP,EAAKzI,EAAKgtP,EAAeW,QAAQX,EAAeU,KAAK,IAAK,GAAI,EAAG,KAGpFK,KACKh5Q,EAAI,GAAIA,EAAI,EAAGA,IAAK,CAC3B,IAAI47B,EAAMq8O,EAAeS,OAAO14Q,GAChCg5Q,EAAUh5Q,GAAK47B,EAMjB,IAFA,IAAIq9O,EAAU,EACVC,EAAU39N,EAAKnnC,MAAM,IAChBJ,EAAI,EAAGA,EAAIklQ,EAAQp2Q,OAAQkR,IAClCilQ,GAAY3gQ,SAAS4gQ,EAAQllQ,GAAI,IAAMglQ,EAAU,GAAKhlQ,GAIxD,IAAImkQ,EAAW,GAAMc,EAAU,GAO/B,OANiB,KAAbd,EACFA,EAAW,IACFA,EAAW,KACpBA,GAAsB,IAGhB58N,GADR48N,EAAgC,iBAAbA,EAAwBA,EAAS71Q,WAAa61Q,KAnTrD,GCCHwB,GCDC,WAId,IAAIC,GACF7/P,SAAU,KACVywB,OAAQ,sCACRqvO,QAAS,qCACT3hQ,OAAQ,WACR4hQ,QAAS,2BACTC,SAAU,iCACVC,SAAU,kCACVC,gBAAiB,gBACjBC,gBAAiB,iBACjBxxQ,SAAU,UACVC,SAAU,wBACVwxQ,KAAM,uBACNC,MAAO,gBACPC,QAAS,qBACTC,YAAa,4CAKXC,GAEFxgQ,SAAU,SAAU9Y,EAAO6xJ,GACzB,IAAK8mH,EAAM7/P,SAASjM,KAAK7M,GACvB,OAAO6xJ,GAIXtoH,OAAQ,SAAUvpC,EAAO6xJ,GACvB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMpvO,OAAO18B,KAAK7M,GAC3C,OAAO6xJ,GAIX+mH,QAAS,SAAU54Q,EAAO6xJ,GACxB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMC,QAAQ/rQ,KAAK7M,GAC5C,OAAO6xJ,GAIX0nH,UAAW,SAAUv5Q,EAAO+X,EAAK85I,GAC/B,IAAI1/I,EAAQnS,EAAMmS,MAAMwmQ,EAAM1hQ,QAC9B,GAAI9E,GAASA,EAAM,IAAMA,EAAM,GAAGtQ,OAAS,EAAIkW,EAC7C,OAAO85I,GAIXgnH,QAAS,SAAU74Q,EAAO6xJ,GACxB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAME,QAAQhsQ,KAAK7M,GAC5C,OAAO6xJ,GAIXinH,SAAU,SAAU94Q,EAAO6xJ,GACzB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMG,SAASjsQ,KAAK7M,GAC7C,OAAO6xJ,GAIXknH,SAAU,SAAU/4Q,EAAO6xJ,GACzB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMI,SAASlsQ,KAAK7M,GAC7C,OAAO6xJ,GAIXmnH,gBAAiB,SAAUh5Q,EAAO6xJ,GAChC,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMK,gBAAgBnsQ,KAAK7M,GACpD,OAAO6xJ,GAIXonH,gBAAiB,SAAUj5Q,EAAO6xJ,GAChC,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMM,gBAAgBpsQ,KAAK7M,GACpD,OAAO6xJ,GAGXpqJ,SAAU,SAAUzH,EAAO6xJ,GACzB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMlxQ,SAASoF,KAAK7M,GAC7C,OAAO6xJ,GAGXnqJ,SAAU,SAAU1H,EAAO6xJ,GACzB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMjxQ,SAASmF,KAAK7M,GAC7C,OAAO6xJ,GAGXqnH,KAAM,SAAUl5Q,EAAO6xJ,GACrB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMO,KAAKrsQ,KAAK7M,GACzC,OAAO6xJ,GAGXsnH,MAAO,SAAUn5Q,EAAO6xJ,GACtB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMQ,MAAMtsQ,KAAK7M,GAC1C,OAAO6xJ,GAGXunH,QAAS,SAAUp5Q,EAAO6xJ,GACxB,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMS,QAAQvsQ,KAAK7M,GAC5C,OAAO6xJ,GAIXwnH,YAAa,SAAUr5Q,EAAO6xJ,GAC5B,GAAqB,IAAjB7xJ,EAAM6B,SAAiB82Q,EAAMU,YAAYxsQ,KAAK7M,GAChD,OAAO6xJ,GAGX2nH,UAAW,SAAUx5Q,EAAO4Y,EAAKi5I,GAC/B,GAAqB,IAAjB7xJ,EAAM6B,QAAwB,EAAR7B,EAAkB,EAAN4Y,EACpC,OAAOi5I,GAGX4nH,UAAW,SAAUz5Q,EAAO+X,EAAK85I,GAC/B,GAAqB,IAAjB7xJ,EAAM6B,QAAwB,EAAR7B,EAAkB,EAAN+X,EACpC,OAAO85I,GAGX6nH,UAAW,SAAU15Q,EAAO6B,EAAQgwJ,GAClC,GAAqB,IAAjB7xJ,EAAM6B,QAAgB7B,EAAM6B,OAASA,EACvC,OAAOgwJ,GAGXh5I,UAAW,SAAU7Y,EAAO6B,EAAQgwJ,GAClC,GAAqB,IAAjB7xJ,EAAM6B,QAAgB7B,EAAM6B,OAASA,EACvC,OAAOgwJ,GAGXt/F,QAAS,SAAUonN,EAAQC,EAAQ/nH,GACjC,GAAI8nH,IAAWC,EACb,OAAO/nH,GAIXhzI,QAAS,SAAU7e,EAAOua,EAAKs3I,GAC7B,IAAIgoH,EAASp6Q,OAAO4a,YAAYra,GAChC,GAAqB,IAAjBA,EAAM6B,QAAgBg4Q,EAASt/P,EACjC,OAAOs3I,IAOT/wJ,EAAIsJ,KACRtJ,EAAEg5Q,UACFh5Q,EAAEoX,IAAM,SAAUgkJ,EAAO69G,GAEvB,IAAK,IAAWC,EAAPj7Q,EAAI,EAAai7Q,EAAWD,EAAWh7Q,OAC9C,SAAWi7Q,GACT,IAAIC,EAAYD,EAASruL,KAAKx4E,MAAM,KAChC0+I,EAAWmoH,EAASnoH,SAExB/wJ,EAAEg5Q,OAAOh1Q,KAAK,WACZ,IAAIo1Q,EAAWD,EAAU7kQ,QACzB6kQ,EAAUx2M,QAAQy4F,aAAiBz8J,OAASy8J,EAAMl8J,MAAQk8J,GAC1D+9G,EAAUn1Q,KAAK+sJ,GACf,IAAIsoH,EAAeb,EAAMY,GAAUj2Q,MAAM,KAAMg2Q,GAC/C,GAAIE,EAAc,OAASj+G,MAAOA,EAAO9xE,IAAK+vL,KATlD,CAWGH,IAIPl5Q,EAAEke,MAAQ,WAER,IAAK,IAAWo7P,EAAPr7Q,EAAI,EAAWq7Q,EAASt5Q,EAAEg5Q,OAAO/6Q,MAAO,CAC/C,IAAIoC,EAAQi5Q,IACZ,GAAIj5Q,EAAO,OAAOA,KC5KxBtC,EAAAQ,EAAAg7Q,EAAA,gCAAAC,IAAAz7Q,EAAAQ,EAAAg7Q,EAAA,0BAAAp7I,IAAApgI,EAAAQ,EAAAg7Q,EAAA,0BAAAE,IAAA17Q,EAAAQ,EAAAg7Q,EAAA,4BAAAG,IAAA37Q,EAAAQ,EAAAg7Q,EAAA,+BAAAI,IAAA57Q,EAAAQ,EAAAg7Q,EAAA,4BAAAK,IAAA77Q,EAAAQ,EAAAg7Q,EAAA,2BAAAM,IAAA97Q,EAAAQ,EAAAg7Q,EAAA,2BAAA1/J,KAAA97G,EAAAQ,EAAAg7Q,EAAA,6BAAAO,KAAA/7Q,EAAAQ,EAAAg7Q,EAAA,yBAAAQ,KAAAh8Q,EAAAQ,EAAAg7Q,EAAA,8BAAAz/J,KAAA/7G,EAAAQ,EAAAg7Q,EAAA,yBAAAS,KAAAj8Q,EAAAQ,EAAAg7Q,EAAA,6BAAAU,KAAAl8Q,EAAAQ,EAAAg7Q,EAAA,8BAAAW,KAAAn8Q,EAAAQ,EAAAg7Q,EAAA,4BAAA53H,KAAA5jJ,EAAAQ,EAAAg7Q,EAAA,2BAAA5qK,KAAA5wG,EAAAQ,EAAAg7Q,EAAA,wBAAAp1H,KAAApmJ,EAAAQ,EAAAg7Q,EAAA,gCAAAY,KAAAp8Q,EAAAQ,EAAAg7Q,EAAA,6BAAAa,KAAAr8Q,EAAAQ,EAAAg7Q,EAAA,0BAAAc,KAAAt8Q,EAAAQ,EAAAg7Q,EAAA,2BAAAe,KAAAv8Q,EAAAQ,EAAAg7Q,EAAA,0BAAAgB,KAAAx8Q,EAAAQ,EAAAg7Q,EAAA,6BAAAiB,KAAAz8Q,EAAAQ,EAAAg7Q,EAAA,2BAAAkB,KAAA18Q,EAAAQ,EAAAg7Q,EAAA,4BAAAmB,KAAA38Q,EAAAQ,EAAAg7Q,EAAA,6BAAAoB,KAAA58Q,EAAAQ,EAAAg7Q,EAAA,8BAAAqB,KAAA78Q,EAAAQ,EAAAg7Q,EAAA,8BAAAsB,KAAA98Q,EAAAQ,EAAAg7Q,EAAA,+BAAAuB,KAAA/8Q,EAAAQ,EAAAg7Q,EAAA,8BAAAwB,KAAAh9Q,EAAAQ,EAAAg7Q,EAAA,kCAAAyB,KAAAj9Q,EAAAQ,EAAAg7Q,EAAA,gCAAA0B,KAAAl9Q,EAAAQ,EAAAg7Q,EAAA,kCAAA2B,KAAAn9Q,EAAAQ,EAAAg7Q,EAAA,6BAAA4B,KAAAp9Q,EAAAQ,EAAAg7Q,EAAA,gCAAA6B,KAAAr9Q,EAAAQ,EAAAg7Q,EAAA,6BAAA7/J,KAAA37G,EAAAQ,EAAAg7Q,EAAA,+BAAA8B,KAAAt9Q,EAAAQ,EAAAg7Q,EAAA,8BAAA+B,KAAAv9Q,EAAAQ,EAAAg7Q,EAAA,gCAAAgC,KAAAx9Q,EAAAQ,EAAAg7Q,EAAA,8BAAAiC,KAAAz9Q,EAAAQ,EAAAg7Q,EAAA,8BAAAhoK,KAAAxzG,EAAAQ,EAAAg7Q,EAAA,2BAAAkC,KAAA19Q,EAAAQ,EAAAg7Q,EAAA,6BAAAmC,KAAA39Q,EAAAQ,EAAAg7Q,EAAA,4BAAAoC,KAAA59Q,EAAAQ,EAAAg7Q,EAAA,iCAAAqC,KAAA79Q,EAAAQ,EAAAg7Q,EAAA,4BAAAsC,KAAA99Q,EAAAQ,EAAAg7Q,EAAA,yBAAAuC,KAAA/9Q,EAAAQ,EAAAg7Q,EAAA,4BAAAwC,KAAAh+Q,EAAAQ,EAAAg7Q,EAAA,8BAAA3qK,KAAA7wG,EAAAQ,EAAAg7Q,EAAA,6BAAAyC,KAAAj+Q,EAAAQ,EAAAg7Q,EAAA,2BAAAjvK,KAAAvsG,EAAAQ,EAAAg7Q,EAAA,2BAAAn7I,KAAArgI,EAAAQ,EAAAg7Q,EAAA,8BAAAr6I,KAAAnhI,EAAAQ,EAAAg7Q,EAAA,qCAAA0C,KAAAl+Q,EAAAQ,EAAAg7Q,EAAA,0BAAA2C,KAAAn+Q,EAAAQ,EAAAg7Q,EAAA,yBAAAx4I,KAAAhjI,EAAAQ,EAAAg7Q,EAAA,6BAAA4C,KAAAp+Q,EAAAQ,EAAAg7Q,EAAA,4BAAA6C,KAAAr+Q,EAAAQ,EAAAg7Q,EAAA,wBAAA8C,KAAAt+Q,EAAAQ,EAAAg7Q,EAAA,2BAAAtqJ,KAAAlxH,EAAAQ,EAAAg7Q,EAAA,+BAAAvxJ,KAAAjqH,EAAAQ,EAAAg7Q,EAAA,+BAAAnsJ,KAAArvH,EAAAQ,EAAAg7Q,EAAA,2BAAA+C,KAAAv+Q,EAAAQ,EAAAg7Q,EAAA,4BAAAgD,KAAAx+Q,EAAAQ,EAAAg7Q,EAAA,4BAAAiD,KAAAz+Q,EAAAQ,EAAAg7Q,EAAA,6BAAAkD,KAAA1+Q,EAAAQ,EAAAg7Q,EAAA,0BAAAmD,KAAA3+Q,EAAAQ,EAAAg7Q,EAAA,gCAAAoD,KAAA5+Q,EAAAQ,EAAAg7Q,EAAA,iCAAA3oJ,KAAA7yH,EAAAQ,EAAAg7Q,EAAA,yBAAAhoJ,KAAAxzH,EAAAQ,EAAAg7Q,EAAA,4BAAAqD,KAAA7+Q,EAAAQ,EAAAg7Q,EAAA,4BAAA12H,KAAA9kJ,EAAAQ,EAAAg7Q,EAAA,2BAAA9qK,KAAA1wG,EAAAQ,EAAAg7Q,EAAA,2BAAAsD,KAAA9+Q,EAAAQ,EAAAg7Q,EAAA,6BAAAuD,KAAA/+Q,EAAAQ,EAAAg7Q,EAAA,6BAAAwD,KAAAh/Q,EAAAQ,EAAAg7Q,EAAA,6BAAAyD,KAAAj/Q,EAAAQ,EAAAg7Q,EAAA,0BAAA0D,KAAAl/Q,EAAAQ,EAAAg7Q,EAAA,yBAAA2D,KAAAn/Q,EAAAQ,EAAAg7Q,EAAA,yBAAA4D,KAAAp/Q,EAAAQ,EAAAg7Q,EAAA,4BAAA6D,KAAAr/Q,EAAAQ,EAAAg7Q,EAAA,6BAAA8D,KAAAt/Q,EAAAQ,EAAAg7Q,EAAA,kCAAA+D,KAAAv/Q,EAAAQ,EAAAg7Q,EAAA,+BAAAgE,KAAAx/Q,EAAAQ,EAAAg7Q,EAAA,8BAAAiE,KAAAz/Q,EAAAQ,EAAAg7Q,EAAA,yBAAAkE,KAAA1/Q,EAAAQ,EAAAg7Q,EAAA,uBAAAmE,IAAA3/Q,EAAAQ,EAAAg7Q,EAAA,2BAAAoE,IAAA5/Q,EAAAQ,EAAAg7Q,EAAA,6BAAAqE,KAAA7/Q,EAAAQ,EAAAg7Q,EAAA,8BAAAsE,KAAA9/Q,EAAAQ,EAAAg7Q,EAAA,8BAAAuE,KAAA//Q,EAAAQ,EAAAg7Q,EAAA,yBAAAwE,KAAAhgR,EAAAQ,EAAAg7Q,EAAA,+BAAAyE,IAAAjgR,EAAAQ,EAAAg7Q,EAAA,4BAAA0E,KAAAlgR,EAAAQ,EAAAg7Q,EAAA,4BAAA2E,KAAAngR,EAAAQ,EAAAg7Q,EAAA,4BAAA4E,KAAApgR,EAAAQ,EAAAg7Q,EAAA,0BAAA6E,IAAArgR,EAAAQ,EAAAg7Q,EAAA,8BAAA8E,IAAAtgR,EAAAQ,EAAAg7Q,EAAA,2BAAA+E,KAAAvgR,EAAAQ,EAAAg7Q,EAAA,+BAAAgF,KAAAxgR,EAAAQ,EAAAg7Q,EAAA,8BAAAiF","file":"seedsui-react.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"UMD\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"UMD\"] = factory(root[\"React\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\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 = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","module.exports = require('./lib/axios');","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n // Only Node.JS has a process variable that is of [[Class]] process\n if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n } else if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach([\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength',\n 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken',\n 'socketPath'\n ], function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","/* globals __webpack_amd_options__ */\r\nmodule.exports = __webpack_amd_options__;\r\n","// 新增: 转为ES6模式\nvar FastClick = null\n/* eslint-disable */\n;(function () {\n\t'use strict';\n\n\t/**\n\t * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.\n\t *\n\t * @codingstandard ftlabs-jsv2\n\t * @copyright The Financial Times Limited [All Rights Reserved]\n\t * @license MIT License (see LICENSE.txt)\n\t */\n\n\t/*jslint browser:true, node:true*/\n\t/*global define, Event, Node*/\n\n\n\t/**\n\t * Instantiate fast-clicking listeners on the specified layer.\n\t *\n\t * @constructor\n\t * @param {Element} layer The layer to listen on\n\t * @param {Object} [options={}] The options to override the defaults\n\t */\n\t// 新增: 转为ES6模式\n\tFastClick = function (layer, options) {\n\t\tvar oldOnClick;\n\n\t\toptions = options || {};\n\n\t\t/**\n\t\t * Whether a click is currently being tracked.\n\t\t *\n\t\t * @type boolean\n\t\t */\n\t\tthis.trackingClick = false;\n\n\n\t\t/**\n\t\t * Timestamp for when click tracking started.\n\t\t *\n\t\t * @type number\n\t\t */\n\t\tthis.trackingClickStart = 0;\n\n\n\t\t/**\n\t\t * The element being tracked for a click.\n\t\t *\n\t\t * @type EventTarget\n\t\t */\n\t\tthis.targetElement = null;\n\n\n\t\t/**\n\t\t * X-coordinate of touch start event.\n\t\t *\n\t\t * @type number\n\t\t */\n\t\tthis.touchStartX = 0;\n\n\n\t\t/**\n\t\t * Y-coordinate of touch start event.\n\t\t *\n\t\t * @type number\n\t\t */\n\t\tthis.touchStartY = 0;\n\n\n\t\t/**\n\t\t * ID of the last touch, retrieved from Touch.identifier.\n\t\t *\n\t\t * @type number\n\t\t */\n\t\tthis.lastTouchIdentifier = 0;\n\n\n\t\t/**\n\t\t * Touchmove boundary, beyond which a click will be cancelled.\n\t\t *\n\t\t * @type number\n\t\t */\n\t\tthis.touchBoundary = options.touchBoundary || 10;\n\n\n\t\t/**\n\t\t * The FastClick layer.\n\t\t *\n\t\t * @type Element\n\t\t */\n\t\tthis.layer = layer;\n\n\t\t/**\n\t\t * The minimum time between tap(touchstart and touchend) events\n\t\t *\n\t\t * @type number\n\t\t */\n\t\tthis.tapDelay = options.tapDelay || 200;\n\n\t\t/**\n\t\t * The maximum time for a tap\n\t\t *\n\t\t * @type number\n\t\t */\n\t\tthis.tapTimeout = options.tapTimeout || 700;\n\n\t\tif (FastClick.notNeeded(layer)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Some old versions of Android don't have Function.prototype.bind\n\t\tfunction bind(method, context) {\n\t\t\treturn function() { return method.apply(context, arguments); };\n\t\t}\n\n\n\t\tvar methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel'];\n\t\tvar context = this;\n\t\tfor (var i = 0, l = methods.length; i < l; i++) {\n\t\t\tcontext[methods[i]] = bind(context[methods[i]], context);\n\t\t}\n\n\t\t// Set up event handlers as required\n\t\tif (deviceIsAndroid) {\n\t\t\tlayer.addEventListener('mouseover', this.onMouse, true);\n\t\t\tlayer.addEventListener('mousedown', this.onMouse, true);\n\t\t\tlayer.addEventListener('mouseup', this.onMouse, true);\n\t\t}\n\n\t\tlayer.addEventListener('click', this.onClick, true);\n\t\tlayer.addEventListener('touchstart', this.onTouchStart, false);\n\t\tlayer.addEventListener('touchmove', this.onTouchMove, false);\n\t\tlayer.addEventListener('touchend', this.onTouchEnd, false);\n\t\tlayer.addEventListener('touchcancel', this.onTouchCancel, false);\n\n\t\t// Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)\n\t\t// which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick\n\t\t// layer when they are cancelled.\n\t\tif (!Event.prototype.stopImmediatePropagation) {\n\t\t\tlayer.removeEventListener = function(type, callback, capture) {\n\t\t\t\tvar rmv = Node.prototype.removeEventListener;\n\t\t\t\tif (type === 'click') {\n\t\t\t\t\trmv.call(layer, type, callback.hijacked || callback, capture);\n\t\t\t\t} else {\n\t\t\t\t\trmv.call(layer, type, callback, capture);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tlayer.addEventListener = function(type, callback, capture) {\n\t\t\t\tvar adv = Node.prototype.addEventListener;\n\t\t\t\tif (type === 'click') {\n\t\t\t\t\tadv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {\n\t\t\t\t\t\tif (!event.propagationStopped) {\n\t\t\t\t\t\t\tcallback(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}), capture);\n\t\t\t\t} else {\n\t\t\t\t\tadv.call(layer, type, callback, capture);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t// If a handler is already declared in the element's onclick attribute, it will be fired before\n\t\t// FastClick's onClick handler. Fix this by pulling out the user-defined handler function and\n\t\t// adding it as listener.\n\t\tif (typeof layer.onclick === 'function') {\n\n\t\t\t// Android browser on at least 3.2 requires a new reference to the function in layer.onclick\n\t\t\t// - the old one won't work if passed to addEventListener directly.\n\t\t\toldOnClick = layer.onclick;\n\t\t\tlayer.addEventListener('click', function(event) {\n\t\t\t\toldOnClick(event);\n\t\t\t}, false);\n\t\t\tlayer.onclick = null;\n\t\t}\n\t}\n\n\t/**\n\t* Windows Phone 8.1 fakes user agent string to look like Android and iPhone.\n\t*\n\t* @type boolean\n\t*/\n\tvar deviceIsWindowsPhone = navigator.userAgent.indexOf(\"Windows Phone\") >= 0;\n\n\t/**\n\t * Android requires exceptions.\n\t *\n\t * @type boolean\n\t */\n\tvar deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0 && !deviceIsWindowsPhone;\n\n\n\t/**\n\t * iOS requires exceptions.\n\t *\n\t * @type boolean\n\t */\n\tvar deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone;\n\n\n\t/**\n\t * iOS 4 requires an exception for select elements.\n\t *\n\t * @type boolean\n\t */\n\tvar deviceIsIOS4 = deviceIsIOS && (/OS 4_\\d(_\\d)?/).test(navigator.userAgent);\n\n\n\t/**\n\t * iOS 6.0-7.* requires the target element to be manually derived\n\t *\n\t * @type boolean\n\t */\n\tvar deviceIsIOSWithBadTarget = deviceIsIOS && (/OS [6-7]_\\d/).test(navigator.userAgent);\n\n\t/**\n\t * BlackBerry requires exceptions.\n\t *\n\t * @type boolean\n\t */\n\tvar deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0;\n\n\t/**\n\t * Determine whether a given element requires a native click.\n\t *\n\t * @param {EventTarget|Element} target Target DOM element\n\t * @returns {boolean} Returns true if the element needs a native click\n\t */\n\tFastClick.prototype.needsClick = function(target) {\n\t\tswitch (target.nodeName.toLowerCase()) {\n\n\t\t// Don't send a synthetic click to disabled inputs (issue #62)\n\t\tcase 'button':\n\t\tcase 'select':\n\t\tcase 'textarea':\n\t\t\tif (target.disabled) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tbreak;\n\t\tcase 'input':\n\n\t\t\t// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)\n\t\t\tif ((deviceIsIOS && target.type === 'file') || target.disabled) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tbreak;\n\t\tcase 'label':\n\t\tcase 'iframe': // iOS8 homescreen apps can prevent events bubbling into frames\n\t\tcase 'video':\n\t\t\treturn true;\n\t\t}\n\n\t\treturn (/\\bneedsclick\\b/).test(target.className);\n\t};\n\n\n\t/**\n\t * Determine whether a given element requires a call to focus to simulate click into element.\n\t *\n\t * @param {EventTarget|Element} target Target DOM element\n\t * @returns {boolean} Returns true if the element requires a call to focus to simulate native click.\n\t */\n\tFastClick.prototype.needsFocus = function(target) {\n\t\tswitch (target.nodeName.toLowerCase()) {\n\t\tcase 'textarea':\n\t\t\treturn true;\n\t\tcase 'select':\n\t\t\treturn !deviceIsAndroid;\n\t\tcase 'input':\n\t\t\tswitch (target.type) {\n\t\t\tcase 'button':\n\t\t\tcase 'checkbox':\n\t\t\tcase 'file':\n\t\t\tcase 'image':\n\t\t\tcase 'radio':\n\t\t\tcase 'submit':\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// No point in attempting to focus disabled inputs\n\t\t\treturn !target.disabled && !target.readOnly;\n\t\tdefault:\n\t\t\treturn (/\\bneedsfocus\\b/).test(target.className);\n\t\t}\n\t};\n\n\n\t/**\n\t * Send a click event to the specified element.\n\t *\n\t * @param {EventTarget|Element} targetElement\n\t * @param {Event} event\n\t */\n\tFastClick.prototype.sendClick = function(targetElement, event) {\n\t\tvar clickEvent, touch;\n\n\t\t// On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)\n\t\tif (document.activeElement && document.activeElement !== targetElement) {\n\t\t\tdocument.activeElement.blur();\n\t\t}\n\n\t\ttouch = event.changedTouches[0];\n\n\t\t// Synthesise a click event, with an extra attribute so it can be tracked\n\t\tclickEvent = document.createEvent('MouseEvents');\n\t\tclickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);\n\t\tclickEvent.forwardedTouchEvent = true;\n\t\ttargetElement.dispatchEvent(clickEvent);\n\t};\n\n\tFastClick.prototype.determineEventType = function(targetElement) {\n\n\t\t//Issue #159: Android Chrome Select Box does not open with a synthetic click event\n\t\tif (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') {\n\t\t\treturn 'mousedown';\n\t\t}\n\n\t\treturn 'click';\n\t};\n\n\n\t/**\n\t * @param {EventTarget|Element} targetElement\n\t */\n\tFastClick.prototype.focus = function(targetElement) {\n\t\tvar length;\n\n\t\t// Issue #160: on iOS 7, some input elements (e.g. date datetime month) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.\n\t\tif (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month' && targetElement.type !== 'email') {\n\t\t\tlength = targetElement.value.length;\n\t\t\t// 新增: 修复number框无法执行'setSelectionRange'的bug\n\t\t\t// targetElement.setSelectionRange(length, length);\n\t\t\tif (deviceIsIOS) {\n\t\t\t\ttry {\n\t\t\t\t\tlength = targetElement.value.length;\n\t\t\t\t\ttargetElement.setSelectionRange(length, length);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.log(error)\n\t\t\t\t}\n\t\t\t\t// 修复bug ios 11.3不弹出键盘,这里加上聚焦代码,让其强制聚焦弹出键盘\n\t\t\t\ttargetElement.focus();\n\t\t\t}\n\t\t} else {\n\t\t\ttargetElement.focus();\n\t\t}\n\t};\n\n\n\t/**\n\t * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.\n\t *\n\t * @param {EventTarget|Element} targetElement\n\t */\n\tFastClick.prototype.updateScrollParent = function(targetElement) {\n\t\tvar scrollParent, parentElement;\n\n\t\tscrollParent = targetElement.fastClickScrollParent;\n\n\t\t// Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the\n\t\t// target element was moved to another parent.\n\t\tif (!scrollParent || !scrollParent.contains(targetElement)) {\n\t\t\tparentElement = targetElement;\n\t\t\tdo {\n\t\t\t\tif (parentElement.scrollHeight > parentElement.offsetHeight) {\n\t\t\t\t\tscrollParent = parentElement;\n\t\t\t\t\ttargetElement.fastClickScrollParent = parentElement;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tparentElement = parentElement.parentElement;\n\t\t\t} while (parentElement);\n\t\t}\n\n\t\t// Always update the scroll top tracker if possible.\n\t\tif (scrollParent) {\n\t\t\tscrollParent.fastClickLastScrollTop = scrollParent.scrollTop;\n\t\t}\n\t};\n\n\n\t/**\n\t * @param {EventTarget} targetElement\n\t * @returns {Element|EventTarget}\n\t */\n\tFastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {\n\n\t\t// On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.\n\t\tif (eventTarget.nodeType === Node.TEXT_NODE) {\n\t\t\treturn eventTarget.parentNode;\n\t\t}\n\n\t\treturn eventTarget;\n\t};\n\n\n\t/**\n\t * On touch start, record the position and scroll offset.\n\t *\n\t * @param {Event} event\n\t * @returns {boolean}\n\t */\n\tFastClick.prototype.onTouchStart = function(event) {\n\t\tvar targetElement, touch, selection;\n\n\t\t// Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).\n\t\tif (event.targetTouches.length > 1) {\n\t\t\treturn true;\n\t\t}\n\n\t\ttargetElement = this.getTargetElementFromEventTarget(event.target);\n\t\ttouch = event.targetTouches[0];\n\n\t\tif (deviceIsIOS) {\n\n\t\t\t// Only trusted events will deselect text on iOS (issue #49)\n\t\t\tselection = window.getSelection();\n\t\t\tif (selection.rangeCount && !selection.isCollapsed) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (!deviceIsIOS4) {\n\n\t\t\t\t// Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23):\n\t\t\t\t// when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched\n\t\t\t\t// with the same identifier as the touch event that previously triggered the click that triggered the alert.\n\t\t\t\t// Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an\n\t\t\t\t// immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.\n\t\t\t\t// Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string,\n\t\t\t\t// which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long,\n\t\t\t\t// random integers, it's safe to to continue if the identifier is 0 here.\n\t\t\t\tif (touch.identifier && touch.identifier === this.lastTouchIdentifier) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tthis.lastTouchIdentifier = touch.identifier;\n\n\t\t\t\t// If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:\n\t\t\t\t// 1) the user does a fling scroll on the scrollable layer\n\t\t\t\t// 2) the user stops the fling scroll with another tap\n\t\t\t\t// then the event.target of the last 'touchend' event will be the element that was under the user's finger\n\t\t\t\t// when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check\n\t\t\t\t// is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).\n\t\t\t\tthis.updateScrollParent(targetElement);\n\t\t\t}\n\t\t}\n\n\t\tthis.trackingClick = true;\n\t\tthis.trackingClickStart = event.timeStamp;\n\t\tthis.targetElement = targetElement;\n\n\t\tthis.touchStartX = touch.pageX;\n\t\tthis.touchStartY = touch.pageY;\n\n\t\t// Prevent phantom clicks on fast double-tap (issue #36)\n\t\tif ((event.timeStamp - this.lastClickTime) < this.tapDelay) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\treturn true;\n\t};\n\n\n\t/**\n\t * Based on a touchmove event object, check whether the touch has moved past a boundary since it started.\n\t *\n\t * @param {Event} event\n\t * @returns {boolean}\n\t */\n\tFastClick.prototype.touchHasMoved = function(event) {\n\t\tvar touch = event.changedTouches[0], boundary = this.touchBoundary;\n\n\t\tif (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n\n\n\t/**\n\t * Update the last position.\n\t *\n\t * @param {Event} event\n\t * @returns {boolean}\n\t */\n\tFastClick.prototype.onTouchMove = function(event) {\n\t\tif (!this.trackingClick) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// If the touch has moved, cancel the click tracking\n\t\tif (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {\n\t\t\tthis.trackingClick = false;\n\t\t\tthis.targetElement = null;\n\t\t}\n\n\t\treturn true;\n\t};\n\n\n\t/**\n\t * Attempt to find the labelled control for the given label element.\n\t *\n\t * @param {EventTarget|HTMLLabelElement} labelElement\n\t * @returns {Element|null}\n\t */\n\tFastClick.prototype.findControl = function(labelElement) {\n\n\t\t// Fast path for newer browsers supporting the HTML5 control attribute\n\t\tif (labelElement.control !== undefined) {\n\t\t\treturn labelElement.control;\n\t\t}\n\n\t\t// All browsers under test that support touch events also support the HTML5 htmlFor attribute\n\t\tif (labelElement.htmlFor) {\n\t\t\treturn document.getElementById(labelElement.htmlFor);\n\t\t}\n\n\t\t// If no for attribute exists, attempt to retrieve the first labellable descendant element\n\t\t// the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label\n\t\treturn labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea');\n\t};\n\n\n\t/**\n\t * On touch end, determine whether to send a click event at once.\n\t *\n\t * @param {Event} event\n\t * @returns {boolean}\n\t */\n\tFastClick.prototype.onTouchEnd = function(event) {\n\t\tvar forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;\n\n\t\tif (!this.trackingClick) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Prevent phantom clicks on fast double-tap (issue #36)\n\t\tif ((event.timeStamp - this.lastClickTime) < this.tapDelay) {\n\t\t\tthis.cancelNextClick = true;\n\t\t\treturn true;\n\t\t}\n\n\t\tif ((event.timeStamp - this.trackingClickStart) > this.tapTimeout) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Reset to prevent wrong click cancel on input (issue #156).\n\t\tthis.cancelNextClick = false;\n\n\t\tthis.lastClickTime = event.timeStamp;\n\n\t\ttrackingClickStart = this.trackingClickStart;\n\t\tthis.trackingClick = false;\n\t\tthis.trackingClickStart = 0;\n\n\t\t// On some iOS devices, the targetElement supplied with the event is invalid if the layer\n\t\t// is performing a transition or scroll, and has to be re-detected manually. Note that\n\t\t// for this to function correctly, it must be called *after* the event target is checked!\n\t\t// See issue #57; also filed as rdar://13048589 .\n\t\tif (deviceIsIOSWithBadTarget) {\n\t\t\ttouch = event.changedTouches[0];\n\n\t\t\t// In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null\n\t\t\ttargetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;\n\t\t\ttargetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;\n\t\t}\n\n\t\ttargetTagName = targetElement.tagName.toLowerCase();\n\t\tif (targetTagName === 'label') {\n\t\t\tforElement = this.findControl(targetElement);\n\t\t\tif (forElement) {\n\t\t\t\tthis.focus(targetElement);\n\t\t\t\tif (deviceIsAndroid) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\ttargetElement = forElement;\n\t\t\t}\n\t\t} else if (this.needsFocus(targetElement)) {\n\n\t\t\t// Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through.\n\t\t\t// Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37).\n\t\t\tif ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) {\n\t\t\t\tthis.targetElement = null;\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.focus(targetElement);\n\t\t\tthis.sendClick(targetElement, event);\n\n\t\t\t// Select elements need the event to go through on iOS 4, otherwise the selector menu won't open.\n\t\t\t// Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others)\n\t\t\tif (!deviceIsIOS || targetTagName !== 'select') {\n\t\t\t\tthis.targetElement = null;\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tif (deviceIsIOS && !deviceIsIOS4) {\n\n\t\t\t// Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled\n\t\t\t// and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).\n\t\t\tscrollParent = targetElement.fastClickScrollParent;\n\t\t\tif (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Prevent the actual click from going though - unless the target node is marked as requiring\n\t\t// real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.\n\t\tif (!this.needsClick(targetElement)) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.sendClick(targetElement, event);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\n\t/**\n\t * On touch cancel, stop tracking the click.\n\t *\n\t * @returns {void}\n\t */\n\tFastClick.prototype.onTouchCancel = function() {\n\t\tthis.trackingClick = false;\n\t\tthis.targetElement = null;\n\t};\n\n\n\t/**\n\t * Determine mouse events which should be permitted.\n\t *\n\t * @param {Event} event\n\t * @returns {boolean}\n\t */\n\tFastClick.prototype.onMouse = function(event) {\n\n\t\t// If a target element was never set (because a touch event was never fired) allow the event\n\t\tif (!this.targetElement) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (event.forwardedTouchEvent) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Programmatically generated events targeting a specific element should be permitted\n\t\tif (!event.cancelable) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Derive and check the target element to see whether the mouse event needs to be permitted;\n\t\t// unless explicitly enabled, prevent non-touch click events from triggering actions,\n\t\t// to prevent ghost/doubleclicks.\n\t\tif (!this.needsClick(this.targetElement) || this.cancelNextClick) {\n\n\t\t\t// Prevent any user-added listeners declared on FastClick element from being fired.\n\t\t\tif (event.stopImmediatePropagation) {\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t} else {\n\n\t\t\t\t// Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)\n\t\t\t\tevent.propagationStopped = true;\n\t\t\t}\n\n\t\t\t// Cancel the event\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\n\t\t\treturn false;\n\t\t}\n\n\t\t// If the mouse event is permitted, return true for the action to go through.\n\t\treturn true;\n\t};\n\n\n\t/**\n\t * On actual clicks, determine whether this is a touch-generated click, a click action occurring\n\t * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or\n\t * an actual click which should be permitted.\n\t *\n\t * @param {Event} event\n\t * @returns {boolean}\n\t */\n\tFastClick.prototype.onClick = function(event) {\n\t\tvar permitted;\n\n\t\t// It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.\n\t\tif (this.trackingClick) {\n\t\t\tthis.targetElement = null;\n\t\t\tthis.trackingClick = false;\n\t\t\treturn true;\n\t\t}\n\n\t\t// Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.\n\t\tif (event.target.type === 'submit' && event.detail === 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\tpermitted = this.onMouse(event);\n\n\t\t// Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.\n\t\tif (!permitted) {\n\t\t\tthis.targetElement = null;\n\t\t}\n\n\t\t// If clicks are permitted, return true for the action to go through.\n\t\treturn permitted;\n\t};\n\n\n\t/**\n\t * Remove all FastClick's event listeners.\n\t *\n\t * @returns {void}\n\t */\n\tFastClick.prototype.destroy = function() {\n\t\tvar layer = this.layer;\n\n\t\tif (deviceIsAndroid) {\n\t\t\tlayer.removeEventListener('mouseover', this.onMouse, true);\n\t\t\tlayer.removeEventListener('mousedown', this.onMouse, true);\n\t\t\tlayer.removeEventListener('mouseup', this.onMouse, true);\n\t\t}\n\n\t\tlayer.removeEventListener('click', this.onClick, true);\n\t\tlayer.removeEventListener('touchstart', this.onTouchStart, false);\n\t\tlayer.removeEventListener('touchmove', this.onTouchMove, false);\n\t\tlayer.removeEventListener('touchend', this.onTouchEnd, false);\n\t\tlayer.removeEventListener('touchcancel', this.onTouchCancel, false);\n\t};\n\n\n\t/**\n\t * Check whether FastClick is needed.\n\t *\n\t * @param {Element} layer The layer to listen on\n\t */\n\tFastClick.notNeeded = function(layer) {\n\t\tvar metaViewport;\n\t\tvar chromeVersion;\n\t\tvar blackberryVersion;\n\t\tvar firefoxVersion;\n\n\t\t// Devices that don't support touch don't need FastClick\n\t\tif (typeof window.ontouchstart === 'undefined') {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Chrome version - zero for other browsers\n\t\tchromeVersion = +(/Chrome\\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];\n\n\t\tif (chromeVersion) {\n\n\t\t\tif (deviceIsAndroid) {\n\t\t\t\tmetaViewport = document.querySelector('meta[name=viewport]');\n\n\t\t\t\tif (metaViewport) {\n\t\t\t\t\t// Chrome on Android with user-scalable=\"no\" doesn't need FastClick (issue #89)\n\t\t\t\t\tif (metaViewport.content.indexOf('user-scalable=no') !== -1) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t// Chrome 32 and above with width=device-width or less don't need FastClick\n\t\t\t\t\tif (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Chrome desktop doesn't need FastClick (issue #15)\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (deviceIsBlackBerry10) {\n\t\t\tblackberryVersion = navigator.userAgent.match(/Version\\/([0-9]*)\\.([0-9]*)/);\n\n\t\t\t// BlackBerry 10.3+ does not require Fastclick library.\n\t\t\t// https://github.com/ftlabs/fastclick/issues/251\n\t\t\tif (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) {\n\t\t\t\tmetaViewport = document.querySelector('meta[name=viewport]');\n\n\t\t\t\tif (metaViewport) {\n\t\t\t\t\t// user-scalable=no eliminates click delay.\n\t\t\t\t\tif (metaViewport.content.indexOf('user-scalable=no') !== -1) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t// width=device-width (or less than device-width) eliminates click delay.\n\t\t\t\t\tif (document.documentElement.scrollWidth <= window.outerWidth) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// IE10 with -ms-touch-action: none or manipulation, which disables double-tap-to-zoom (issue #97)\n\t\tif (layer.style.msTouchAction === 'none' || layer.style.touchAction === 'manipulation') {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Firefox version - zero for other browsers\n\t\tfirefoxVersion = +(/Firefox\\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];\n\n\t\tif (firefoxVersion >= 27) {\n\t\t\t// Firefox 27+ does not have tap delay if the content is not zoomable - https://bugzilla.mozilla.org/show_bug.cgi?id=922896\n\n\t\t\tmetaViewport = document.querySelector('meta[name=viewport]');\n\t\t\tif (metaViewport && (metaViewport.content.indexOf('user-scalable=no') !== -1 || document.documentElement.scrollWidth <= window.outerWidth)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// IE11: prefixed -ms-touch-action is no longer supported and it's recomended to use non-prefixed version\n\t\t// http://msdn.microsoft.com/en-us/library/windows/apps/Hh767313.aspx\n\t\tif (layer.style.touchAction === 'none' || layer.style.touchAction === 'manipulation') {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n\n\n\t/**\n\t * Factory method for creating a FastClick object\n\t *\n\t * @param {Element} layer The layer to listen on\n\t * @param {Object} [options={}] The options to override the defaults\n\t */\n\tFastClick.attach = function(layer, options) {\n\t\treturn new FastClick(layer, options);\n\t};\n\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine(function() {\n\t\t\treturn FastClick;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = FastClick.attach;\n\t\tmodule.exports.FastClick = FastClick;\n\t} else {\n\t\twindow.FastClick = FastClick;\n\t}\n}());\n\n// 新增: 转为ES6模式\n/* eslint-enable */\nexport default FastClick","// 兼容ES7的includes\nif (!window.Array.prototype.includes) {\n window.Array.prototype.includes = function (searchElement) {\n return this.some(function (el) {\n return el === searchElement\n })\n }\n}\n\n// 幂集 如:[1,2],返回[[1],[2],[1,2]]\nwindow.Array.prototype.powerset = function () {\n var ps = [[]]\n for (var i = 0; i < this.length; i++) {\n for (var j = 0, len = ps.length; j < len; j++) {\n ps.push(ps[j].concat(this[i]))\n }\n }\n return ps\n}\n\n// 二维数组转为一维数组\nwindow.Array.prototype.toOneColumn = function () {\n var reg = /[\\d\\.]+\\,([\\d\\.]+)/g // eslint-disable-line\n return this.join(',').replace(reg, '$1').split(',')\n}\n\n// 包含,支持传数组包含数组\nwindow.Array.prototype.contains = function (arg) {\n if (toString.call(arg) !== '[object Array]') {\n return this.indexOf(arg) > -1\n }\n return this.filter(function (elem) {\n return arg.indexOf(elem) > -1\n }).length === arg.length\n}\n\n// 比较两个数组是否相同, 比较不了包含{x: 20}的数组\nif (window.Array.prototype.equals) {\n console.warn('覆盖现有的window.Array.prototype.equals。 可能的原因:新的API定义了方法,存在框架冲突,或者在代码中包含了双重包含。')\n}\nwindow.Array.prototype.equals = function (array) {\n if (!array)\n return false\n\n // 比较长度可以节省很多时间\n if (this.length !== array.length)\n return false\n\n for (var i = 0; i < this.length; i++) {\n // 检查是否有嵌套的数组\n if (this[i] instanceof Array && array[i] instanceof Array) {\n // 递归到嵌套数组中\n if (!this[i].equals(array[i]))\n return false\n }\n // 检查是否有JSON数据,只比较一层\n else if (this[i] instanceof Object && array[i] instanceof Object) {\n for (var n in this[i]) {\n if (this[i][n] !== array[i][n] ) return false\n }\n }\n else if (this[i] !== array[i]) {\n // 警告 - 两个不同的对象实例永远不会相同:{x:20}!= {x:20}\n return false\n }\n }\n return true\n}\n// 从for-in循环隐藏方法\nObject.defineProperty(window.Array.prototype, \"equals\", { enumerable: false })\n\n// 判断数组中是否有重复数据,只能比较数字字符串\nwindow.Array.prototype.isRepeatArray = function () {\n var arrStr = this.join(',') + ','\n for (var item of this) {\n if (arrStr.replace(item + ',', '').indexOf(item + ',') >= 0) return true\n }\n return false\n}\n// 移除数组json中的项\nwindow.Array.prototype.removeProperties = function (properties) {\n for (var item of this) {\n for (var n in item) {\n for (var property of properties) {\n if (n === property) delete item[n]\n }\n }\n }\n return this\n}\n// 将数组中的项都转成字符串\nwindow.Array.prototype.toStringOption = function () {\n return this.map(function (item) {\n if (typeof item === 'object' || typeof item === 'function') return JSON.stringify(item)\n return item\n })\n}\n\n/* -----------------------------------------------------\n 树数据扁平化, 将树的children拉平\n @格式 [{id: '', name: '', children: {}}]\n @return [{id: '', name: '', parentid: ''}, {id: '', name: '', parentid: ''}]\n ----------------------------------------------------- */\nwindow.Array.prototype.flattenTree = function () {\n var list = this\n if (!Array.isArray(list) || !list.length) return list\n return _buildTreeToFlatten(list)\n}\nfunction _buildTreeToFlatten (list) { // 扁平化, 将children拉平\n var tree = []\n var temp = [] // 用于存储children\n // 先将第一层节点放入temp\n for (var i = 0; i < list.length; i++) {\n temp.push(list[i])\n }\n while (temp.length) {\n // 取出一项, 并移除此项\n var item = temp.shift()\n // 此项children合并到temp\n if (item.children && item.children.length) {\n // 添加parentid\n for (var c = 0; c < item.children.length; c++) {\n item.children[c].parentid = item.id\n }\n temp = item.children.concat(temp)\n }\n // 删除此项children\n delete item.children\n // 添加此项到tree\n tree.push(item)\n }\n return tree\n}\n\n// 取出无父节点的顶层数据, 即[{id: '', name: '', parentid: '-1' 或没有parentid}]\nwindow.Array.prototype.getFlattenTreeRoots = function () {\n var list = this\n var roots = []\n var objList = {}\n // 转成键值对数据\n list.forEach(function (item) {\n objList[item.id] = item\n })\n // 取出顶层数据\n list.forEach(function (item) {\n if (!objList[item.parentid]) roots.push(item)\n })\n return roots\n}\n\n// 根据id, 取出此id的下级节点数据, 即[{id: '', name: '', parentid: ''}]\nwindow.Array.prototype.getFlattenTreeChildren = function (id) {\n var list = this\n var children = []\n for (var i = 0, child; child = list[i++];) { // eslint-disable-line\n if (id && child.parentid === id.toString()) {\n children.push(child)\n }\n }\n return children\n}\n\n// 根据id, 取出此id的后代节点数据, 即[{id: '', name: '', parentid: ''}]\nwindow.Array.prototype.getFlattenTreeDescendants = function (id) {\n var list = this\n var descendants = []\n function buildChildren (list, id) {\n for (var i = 0, item; item = list[i++];) { // eslint-disable-line\n if (id && item.parentid === id.toString()) {\n descendants.push(item)\n buildChildren(list, item.id)\n }\n }\n }\n buildChildren(list, id)\n return descendants\n}\n\n// 根据id, 取出此id节点的数据, 即{id: '', name: '', parentid: ''}\nwindow.Array.prototype.getFlattenTreeNode = function (id) {\n var list = this\n var item = list.filter(function (option) {\n if (option.id === id) return true\n return false\n });\n if (item && item.length > 0) {\n item = item[0]\n }\n return item\n}\n\n\n/* -----------------------------------------------------\n 树数据深度化, 将树的parentid深度为children, 必须有id和parentid\n @格式 [{id: '', name: '', parentid: ''}, {id: '', name: '', parentid: ''}]\n @return [{id: '', name: '', children: {}}]\n ----------------------------------------------------- */\nwindow.Array.prototype.deepTree = function () {\n var list = this\n if (!Array.isArray(list) || !list.length) return list\n if (!list[0].hasOwnProperty('parentid')) return list\n\n // 深度化, 修改trees\n function _buildTreeToDeep (item) {\n var children = list.getFlattenTreeChildren(item.id)\n if (children && children.length) {\n if (item.children) {\n item.children.push(children)\n } else {\n item.children = children\n }\n for (var i = 0, child; child = children[i++];) { // eslint-disable-line\n _buildTreeToDeep(child)\n }\n }\n }\n var trees = list.getFlattenTreeRoots()\n for (var i = 0, tree; tree = trees[i++];) { // eslint-disable-line\n _buildTreeToDeep(tree)\n }\n return trees\n}\n\n// 根据id, 取出此id节点的数据, 即{id: '', name: '', parentid: ''}\nwindow.Array.prototype.getDeepTreeNode = function (id) {\n var list = Object.clone(this)\n var temp = [] // 用于存储children\n // 先将第一层节点放入temp\n for (var i = 0; i < list.length; i++) {\n temp.push(list[i])\n }\n while (temp.length) {\n // 取出一项, 并移除此项\n var item = temp.shift()\n if (item.id === id) return item\n // 此项children合并到temp\n if (item.children && item.children.length) {\n // 添加parentid\n for (var c = 0; c < item.children.length; c++) {\n item.children[c].parentid = item.id\n }\n temp = item.children.concat(temp)\n }\n // 删除此项children\n delete item.children\n }\n return {}\n}","if (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n/* -------------------\n解决加减乘除精度\n------------------- */\nMath.Calc = (function () {\n /* -----------------------------------------------------\n 将一个浮点数转成整数,返回整数和倍数。如 3.14 >> 314,倍数是 100\n @param (argNum: {number} 小数, argDigits: {number} 截取小数位, round: {bool} 是否四舍五入 默认为true)\n @return result {times:100, num: 314}\n ----------------------------------------------------- */\n function toInteger (argNum, argDigits, round) {\n var result = { times: 1, num: 0 }\n var argNumStr = argNum + ''\n if (argNumStr.indexOf('.') === -1) {\n result.num = argNum\n return result\n }\n var digits = isNaN(argDigits) ? argNumStr.substr(argNumStr.indexOf('.') + 1).length : argDigits // 小数位数\n var times = Math.pow(10, digits)\n var num = parseInt(Math.abs(argNum) * times + (round === false ? 0 : 0.5), 10) // 转成整数,并且小数位四舍五入\n var isNegative = argNum < 0 // 是否是负数\n result.times = times\n result.num = isNegative ? -num : num\n return result\n }\n\n /* -----------------------------------------------------\n 核心方法,实现加减乘除运算,确保不丢失精度\n 思路:把小数放大为整数(乘),进行算术运算,再缩小为小数(除)\n\n @param a {number} 运算数1\n @param b {number} 运算数2\n @param digits {number} 精度,保留的小数点数,比如 2, 即保留为两位小数\n @param op {string} 运算类型,有加减乘除(add/subtract/multiply/divide)\n ----------------------------------------------------- */\n function operation (a, b, digits, op) {\n var o1 = toInteger(a)\n var o2 = toInteger(b)\n var n1 = o1.num\n var n2 = o2.num\n var t1 = o1.times\n var t2 = o2.times\n var max = t1 > t2 ? t1 : t2\n var result = null\n switch (op) {\n case 'add':\n if (t1 === t2) { // 两个小数位数相同\n result = Number(n1) + Number(n2)\n } else if (t1 > t2) { // o1 小数位 大于 o2\n result = Number(n1) + Number(n2 * (t1 / t2))\n } else { // o1 小数位 小于 o2\n result = Number(n1 * (t2 / t1)) + Number(n2)\n }\n result = result / max\n break\n case 'subtract':\n if (t1 === t2) {\n result = n1 - n2\n } else if (t1 > t2) {\n result = n1 - n2 * (t1 / t2)\n } else {\n result = n1 * (t2 / t1) - n2\n }\n result = result / max\n break\n case 'multiply':\n result = (n1 * n2) / (t1 * t2)\n break\n case 'divide':\n result = (n1 / n2) * (t2 / t1)\n break\n default:\n result = 0\n }\n if (digits && !isNaN(digits)) {\n // 精度设置\n return result.toFixed(digits)\n }\n return result\n }\n\n // 加减乘除的四个接口\n function add (a, b, digits) {\n return operation(a, b, digits, 'add')\n }\n function subtract (a, b, digits) {\n return operation(a, b, digits, 'subtract')\n }\n function multiply (a, b, digits) {\n return operation(a, b, digits, 'multiply')\n }\n function divide (a, b, digits) {\n return operation(a, b, digits, 'divide')\n }\n // toFixed 修复旧浏览器0.07.toFixed(1) => 0.0不会四舍五入的问题\n function toFixed (argNum, argDigits, fixed, round) {\n var result = toInteger(argNum, argDigits, round)\n if (fixed) return (result.num / result.times).toFixed(argDigits)\n return result.num / result.times\n }\n // 转换为千分位字符\n function toThousandth (num) {\n if (!num) return '0'\n var sExpr = /^(\\d+)((\\.\\d+)?)$/\n var n1 = num.toString().replace(sExpr, function (s, s1, s2) {\n var reExpr = /\\d{1,3}(?=(\\d{3})+$)/g\n return s1.replace(reExpr, '$&,') + s2\n })\n return n1\n }\n // 矫正数字, 常用于输入过程中矫正, 可以为空串\n function correctNumber (argNumstr, options) {\n const {max, min, digits, maxLength, required, onError} = options\n if (argNumstr === '' || isNaN(argNumstr) || min - max >= 0) {\n // 非空校验\n if (required) return min ? '' + min : '0'\n return ''\n }\n var value = String(argNumstr || '')\n // 最大值\n if (!isNaN(max) && value - max > 0) {\n // callback onError\n if (onError) onError({errMsg: window._seeds_lang['hint_cannot_be_greater_than'] || '不能大于' + max})\n return '' + max\n }\n // 最小值\n if (!isNaN(min) && value - min < 0) {\n // callback onError\n if (onError) onError({errMsg: window._seeds_lang['hint_cannot_be_less_than'] || '不能小于' + min})\n return '' + min\n }\n // 截取小数位数\n if (!isNaN(digits)) {\n console.log(digits)\n if (value.indexOf('.') !== -1 && digits - 0 >= 0 && digits.toString().indexOf('.') === -1) {\n if (digits - 0 === 0) { // 整数\n value = value.substring(0, value.indexOf('.'))\n } else { // 小数\n value = value.substring(0, value.indexOf('.') + Number(digits) + 1)\n }\n }\n }\n // 最大长度限制\n if (maxLength && value && value.length > maxLength) {\n value = value.substring(0, maxLength)\n }\n // 转成Number类型, 防止001的情况, 小数不能转, 因为有可能是1.0001的情况\n if (value.indexOf('.') === -1) {\n return '' + Number(value)\n }\n return '' + value\n }\n // 矫正手机号码, 用于输入过程中矫正\n function correctPhone (argPhone, options) {\n const {onError} = options;\n let value = argPhone;\n // 如果输入的不是一个正整数,则转为正整数\n if (isNaN(value)) {\n const result = value.match(/[0-9]{1,}/);\n if (result) value = result[0];\n else value = '';\n // callback onError\n if (onError) onError({errMsg: window._seeds_lang['hint_must_number'] || '必须要输入数字哦'});\n }\n return value;\n }\n // exports\n return {\n add: add, // 解决运算中1.22+1不等于2.22的问题\n subtract: subtract, // 解决运算中1.22-1不等于0.22的问题\n multiply: multiply,\n divide: divide,\n toFixed: toFixed,\n toThousandth: toThousandth,\n correctNumber: correctNumber,\n correctPhone: correctPhone\n }\n})();\n","/* -------------------\n判断是否是空对象\n------------------- */\nObject.isEmptyObject = function (obj) {\n if (typeof obj !== 'object') return false\n for (var n in obj) {\n if (obj.hasOwnProperty(n)) {\n return false\n }\n }\n return true\n}\n/* -------------------\n判断是否是纯对象\n------------------- */\nObject.isPlainObject = function (obj) {\n var proto\n var Ctor\n if (!obj || toString.call(obj) !== '[object Object]') {\n return false\n }\n\n proto = Object.getPrototypeOf(obj)\n\n // 没有原型的对象(例如`Object.create(null)`),则直接返回true\n if (!proto) {\n return true\n }\n\n // 如果原型的对象是由全局Object函数构造的,则它们是纯对象\n Ctor = {}.hasOwnProperty.call(proto, 'constructor') && proto.constructor\n return typeof Ctor === 'function' && {}.hasOwnProperty.toString.call(Ctor) === {}.hasOwnProperty.toString.call(Object)\n}\n\n/* -------------------\n 克隆对象字面量、Array\n ------------------- */\nObject.clone = function (obj) {\n var copy\n if (typeof obj === 'object') {\n if (obj === null) {\n copy = null\n } else {\n if (obj instanceof Array) {\n copy = []\n for (var i = 0; i < obj.length; i++) {\n copy.push(this.clone(obj[i]))\n }\n } else {\n copy = {}\n for (var j in obj) {\n copy[j] = this.clone(obj[j])\n }\n }\n }\n } else {\n copy = obj\n }\n return copy\n}\n\n/*\n * 用于get请求,将Json参数转为params字符串\n * 参数: obj:请求参数; splitter:dot点 | bracket中括号, isNotEnCode:是否不使用encodeURIComponent编码\n * 返回: splitter为dot时,返回obj.key=value&obj.key=value; bracket时,返回obj[key]=value&obj[key]=value\n * */\nObject.params = function (obj, splitter, isNotEnCode) {\n if (!Object.isPlainObject(obj)) return obj\n if (obj instanceof Object && obj.length > 0) return ''\n // 把{jsonReq:[{0:'0', 1:'1'}]}转成jsonReq=[{0:'0', 1:'1'}]的方式\n if (splitter === 'dot') {\n var arr = []\n for (var n in obj) {\n arr.push(n + '=' + JSON.stringify(obj[n]))\n }\n return arr.join('&')\n }\n // 把{jsonReq:[{0:'0', 1:'1'}]}转成jsonReq.0=0&jsonReq.1=1的方式(支持嵌套Json)\n var result = ''\n function buildParams(obj, prevKey) {\n for (var key in obj) {\n if (obj[key] instanceof Object) {\n var prefix = prevKey ? prevKey + '.' + key : key\n buildParams(obj[key], prefix)\n } else {\n if (prevKey) {\n // result += '&' + prevKey + '.' + key + '=' + obj[key]\n if (splitter !== 'bracket') result += '&' + prevKey + '.' + key + '=' + (isNotEnCode ? obj[key] : encodeURIComponent(obj[key]))\n if (splitter === 'bracket') result += '&' + prevKey + '[' + key + ']=' + (isNotEnCode ? obj[key] : encodeURIComponent(obj[key]))\n } else {\n // result += '&' + key + '=' + obj[key]\n result += '&' + key + '=' + (isNotEnCode ? obj[key] : encodeURIComponent(obj[key]))\n }\n }\n }\n return result\n }\n buildParams(obj)\n // 删除result第一个字符\n if (result) {\n result = result.slice(1)\n }\n return result\n}\n/* Object.params = function (obj, isNotEnCode) {\n var result = ''\n var item\n for (item in obj) {\n if (isNotEnCode) result += '&' + item + '=' + obj[item]\n else result += '&' + item + '=' + encodeURIComponent(obj[item]) // 使用decodeURIComponent解码\n }\n if (result) {\n result = result.slice(1)\n }\n return result\n} */\n\n/* -------------------\n获得类型, boolean | number | string | function | array | date | regexp | object | json\n------------------- */\nObject.type = function (obj) {\n if (!obj) {\n return obj + ''\n }\n var type = Object.prototype.toString.call(obj).replace('[', '').replace(']', '').split(' ')[1].toLowerCase();\n if (type === 'object') {\n var objStr = JSON.stringify(obj)\n try {\n JSON.parse(objStr);\n return 'json'\n } catch(e) {\n }\n }\n return type\n}\n\n\n/* -------------------\n字符类型\n------------------- */\nObject.charType = function (char) {\n if (char >= 48 && char <= 57) return 'number' // 数字\n if (char >= 65 && char <= 90) return 'capitalize' // 大写\n if (char >= 97 && char <= 122) return 'lowercase' // 小写\n else return 'other'\n}\nObject.passwordLvl = function (value) {\n var mode = {}\n for (var i = 0; i < value.length; i++) {\n mode[Object.charType(value.charCodeAt(i))] = ''\n }\n var lvl = 0\n /* eslint-disable */\n for (m in mode) {\n lvl++\n }\n /* eslint-enable */\n if (value.length > 0 && value.length < 6) return 1\n return lvl\n}\n/* -------------------\n 是否是方法\n ------------------- */\nObject.isFunction = function (obj) {\n return Object.type(obj) === 'function'\n}\n\n/* -------------------\n 是否是窗口\n ------------------- */\nObject.isWindow = function (obj) {\n return obj != null && obj === obj.window\n}\n\n/* -------------------\n 继承合并\n ------------------- */\nObject.extend = function () {\n var options\n var name\n var src\n var copy\n var copyIsArray\n var clone\n var target = arguments[0] || {}\n var i = 1\n var length = arguments.length\n var deep = false\n\n // Handle a deep copy situation\n if (typeof target === 'boolean') {\n deep = target\n\n // Skip the boolean and the target\n target = arguments[i] || {}\n i++\n }\n\n // Handle case when target is a string or something (possible in deep copy)\n if (typeof target !== 'object' && !Object.isFunction(target)) {\n target = {}\n }\n\n // Extend jQuery itself if only one argument is passed\n if (i === length) {\n target = this\n i--\n }\n\n for (; i < length; i++) {\n // 只处理非空/未定义的值\n options = arguments[i]\n if (options != null) {\n // 扩展基础对象\n for (name in options) {\n src = target[name]\n copy = options[name]\n\n // 防止永无止境的循环\n if (target === copy) {\n continue\n }\n\n // 如果我们合并了普通的对象或数组,就会重新出现\n if (deep && copy && (Object.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) { // eslint-disable-line\n if (copyIsArray) {\n copyIsArray = false\n clone = src && Array.isArray(src) ? src : []\n } else {\n clone = src && Object.isPlainObject(src) ? src : {}\n }\n\n // 永远不要修改原始对象,而是克隆它们\n target[name] = Object.extend(deep, clone, copy)\n\n // 不要带入未定义的值\n } else if (copy !== undefined) {\n target[name] = copy\n }\n }\n }\n }\n\n // 返回修改后的对象\n return target\n}\n/* -------------------\n 生成唯一标识\n ------------------- */\nObject.generateGUID = function () {\n var d = new Date().getTime()\n var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (d + Math.random() * 16) % 16 | 0\n d = Math.floor(d / 16)\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16) // eslint-disable-line\n })\n return uuid\n}\n/* -------------------\n 比较两个对象是否相同\n ------------------- */\nObject.equals = function (object1, object2) { // 用window.Object.prototype.equals在react或者vue中会默认为组件绑定此方法而报错,故不用\n // 第一个循环,只检查类型\n for (var propName in object1) {\n // 检查继承的方法和属性 - 比如.equals本身\n // 如果返回值不同,则返回false\n if (object1.hasOwnProperty(propName) !== object2.hasOwnProperty(propName)) {\n return false\n }\n // 检查实例类型\n else if (typeof object1[propName] !== typeof object2[propName]) {\n // 不同的类型=>不等于\n return false\n }\n }\n // 现在更深入地检查使用其他对象的属性名称\n for (propName in object2) {\n // 无论如何必须检查实例,可能有一个只存在于object2中的属性\n if (object1.hasOwnProperty(propName) !== object2.hasOwnProperty(propName)) {\n return false\n }\n else if (typeof object1[propName] !== typeof object2[propName]) {\n return false\n }\n // 如果该属性是继承的,则不要再检查(如果两个对象都继承它,则必须相等)\n if (!object1.hasOwnProperty(propName))\n continue\n\n // 现在详细检查和递归\n\n // 这将脚本返回到数组比较\n /** 需要Array.equals **/\n if (object1[propName] instanceof Array && object2[propName] instanceof Array) {\n // 递归到嵌套数组中\n if (!Object.equals(object1[propName], object2[propName]))\n return false\n }\n else if (object1[propName] instanceof Object && object2[propName] instanceof Object) {\n // 递归到另一个对象中\n // console.log('递归比较 ', object1[propName],'和',object2[propName], ' 都命名 \\''+propName+'\\'')\n if (!Object.equals(object1[propName], object2[propName]))\n return false\n }\n // 字符串和数字的正常值比较\n else if (object1[propName] !== object2[propName]) {\n return false\n }\n }\n // 如果一切顺利,返回true\n return true\n}\n\n/* -------------------\nSeedsUI组件: 获取参数\n@params e => 事件对象\n@params parameters => 其它参数, '$event'字符串将用e代替后返回\n@return 若无parameters,将返回e; 若有parameters,将parameters中的'$event'替换成e后返回\n------------------- */\nObject.getArgs = function (e, parameters) {\n var args = parameters ? Object.clone(parameters) : parameters\n if (args !== undefined) {\n if (typeof args === 'string' && args === '$event') {\n args = e\n } else if (Array.isArray(args) && args.indexOf('$event') > -1) {\n args[args.indexOf('$event')] = e\n }\n } else {\n args = e\n }\n return args\n}\n","// 转为json,目的是字符串去重\nwindow.String.prototype.toJson = function (split) {\n var array = this.split(split)\n var json = {}\n for (var i in array) {\n var ary = array[i]\n json[ary] ? (json[ary]++) : (json[ary] = 1)\n }\n return json\n}\nfunction left_zero_4(str) {\n if (str && str.length === 2) {\n return '00' + str\n }\n return str\n}\n// 转为ASCII编码\nwindow.String.prototype.toASCII = function () {\n var value = ''\n for (var i = 0; i < this.length; i++) {\n value += '\\\\u' + left_zero_4(parseInt(this.charCodeAt(i), 10).toString(16))\n }\n return value\n}\nwindow.String.prototype.fromASCII = function () {\n return this.replace(/(\\\\u)(\\w{1,4})/gi, function ($0) {\n return (String.fromCharCode(parseInt((escape($0).replace(/(%5Cu)(\\w{1,4})/g, \"$2\")), 16)))\n })\n}\n// 转为unicode编码\nwindow.String.prototype.toUnicode = function () {\n var value = ''\n for (var i = 0; i < this.length; i++)\n value += '&#' + this.charCodeAt(i) + ';'\n return value\n}\nwindow.String.prototype.fromUnicode = function () {\n return this.replace(/(&#x)(\\w{1,4});/gi, function ($0) {\n return String.fromCharCode(parseInt(escape($0).replace(/(%26%23x)(\\w{1,4})(%3B)/g, \"$2\"), 16))\n })\n}\n// 转为UTF8编码\nwindow.String.prototype.toUTF8 = function () {\n var value = ''\n for (var i = 0; i < this.length; i++) {\n value += '&#x' + left_zero_4(parseInt(this.charCodeAt(i), 10).toString(16)) + ';'\n }\n return value\n}\nwindow.String.prototype.fromUTF8 = function () {\n return this.replace(/(&#)(\\d{1,6});/gi, function ($0) {\n return String.fromCharCode(parseInt(escape($0).replace(/(%26%23)(\\d{1,6})(%3B)/g, \"$2\"), 10))\n })\n}\n// 转为URI编码\nwindow.String.prototype.toURI = function () {\n return encodeURI(this)\n}\nwindow.String.prototype.fromURI = function () {\n return decodeURI(this)\n}\n// 转为URI全编码\nwindow.String.prototype.toURIComponent = function () {\n return encodeURIComponent(this)\n}\nwindow.String.prototype.fromURIComponent = function () {\n return decodeURIComponent(this)\n}\n// 地址栏编码,地址栏不允许有一些特殊字符,例如%,可用此方法规避此问题\nwindow.String.prototype.encode = function () {\n return this.toASCII()\n}\nwindow.String.prototype.decode = function () {\n return this.fromASCII()\n}\n\n// 去除字符串左右两端的空格\nwindow.String.prototype.trim = function (trimPos) {\n if (trimPos === 'left') {\n return this.replace(/(^\\s*)/g, '')\n } else if (trimPos === 'right') {\n return this.replace(/(\\s*$)/g, '')\n }\n return this.replace(/(^\\s*)|(\\s*$)/g, '')\n}\n\n// 判断是否是#的形式\nwindow.String.prototype.isQueryId = function () {\n if (!this.length) return false\n var idExpr = /^#([\\w-]*)$/ // 匹配id(#id)\n var match = idExpr.exec(this)\n if(!match || !match[1]){\n return false\n }\n return true\n}\n// 判断是否是合法的日期 YYYY-MM-DD\nwindow.String.prototype.isDate = function (split) {\n return new RegExp(`^[0-9]{4}${split || '-'}[0-9]{2}${split || '-'}[0-9]{2}$`).test(this)\n}\n// 判断是否是合法的月份 yyyy-MM\nwindow.String.prototype.isMonth = function (split) {\n return new RegExp(`^[0-9]{4}${split || '-'}[0-9]{2}$`).test(this)\n}\n// 判断是否是日期格式 YYYY-MM-DD hh:mm:ss 或 YYYY-MM-DD hh:mm\nwindow.String.prototype.isDateTime = function (split) {\n return new RegExp(`^[0-9]{4}${split || '-'}[0-9]{2}${split || '-'}[0-9]{2}\\\\s[0-9]{2}:[0-9]{2}(:[0-9]{2})?$`).test(this)\n}\n// 判断是否是时间格式 hh:mm 或 hh:mm:ss\nwindow.String.prototype.isTime = function () {\n return new RegExp(`^[0-9]{2}:[0-9]{2}(:[0-9]{2})?$`).test(this)\n}\n// 转换成日期\nwindow.String.prototype.toDate = function (dateSplit) {\n var date = new Date()\n var dateStrArr = [date.getFullYear(), date.getMonth(), date.getDate()]\n var timeStrArr = [date.getHours(), date.getMinutes(), date.getSeconds()]\n if (this.isDate()) {\n dateStrArr = this.split(dateSplit || '-')\n } else if (this.isDateTime()) {\n var tempDateStrArr = this.split(dateSplit || '-')\n var tempTimeStrArr = tempDateStrArr[2].split(' ')[1].split(':')\n dateStrArr[0] = tempDateStrArr[0]\n dateStrArr[1] = tempDateStrArr[1]\n dateStrArr[2] = tempDateStrArr[2].split(' ')[0]\n timeStrArr[0] = tempTimeStrArr[0]\n timeStrArr[1] = tempTimeStrArr[1]\n timeStrArr[2] = tempTimeStrArr[2] || timeStrArr[2]\n } else if (this.isMonth()) {\n tempDateStrArr = this.split(dateSplit || '-')\n dateStrArr[0] = tempDateStrArr[0]\n dateStrArr[1] = tempDateStrArr[1]\n } else if (this.isTime()) {\n tempTimeStrArr = this.split(':')\n timeStrArr[0] = tempTimeStrArr[0]\n timeStrArr[1] = tempTimeStrArr[1]\n timeStrArr[2] = tempTimeStrArr[2] || timeStrArr[2]\n }\n date.setYear(dateStrArr[0])\n date.setMonth(dateStrArr[1] - 1, dateStrArr[2])\n date.setHours(timeStrArr[0], timeStrArr[1], timeStrArr[2])\n return date\n}\n// 判断是否包含class名称\nwindow.String.prototype.hasClass = function (name) {\n var classStr = this\n if (this.indexOf('class=') > -1) {\n var res = classStr.match(/class=[\"'](.*)[\"']/)\n if (res[1]) {\n classStr = res[1]\n } else {\n classStr = ''\n }\n }\n var names = classStr.split(' ')\n for (var i = 0; i < names.length; i++) {\n if (names[i] === name) return true\n }\n return false\n}\n// 添加class名称\nwindow.String.prototype.addClass = function (name) {\n var str = String(this)\n var className = 'class=\"' + name + '\"'\n if (this.indexOf('class=') > -1) { // 如果有class,并且class名称不存在,则增加class\n var res = this.match(/class=[\"'](.*)[\"']/)\n if (res[1] && !res[1].hasClass(name)) { // 新增class不存在,则新增\n className = 'class=\"' + res[1] + ' ' + name + '\"'\n str = str.replace(/class=[\"'](.*)[\"']/, className)\n return str\n }\n return str\n } else { // 如果没有class,则创建一个class\n res = str.match(/<\\w+/)\n if (res[0]) {\n return str.replace(/<\\w+/, res[0] + ' ' + className)\n }\n return str\n }\n}\n\n// 清除img字符串的\"https:\"和\"http:\", 例如‘<img src=\"http:’转换后‘<img src=\"’\nwindow.String.prototype.clearImgProtocol = function () {\n return this.replace(/<img\\s+src=\"https:/gim, '<img src=\"').replace(/<img\\s+src=\"http:/gim, '<img src=\"')\n}\n\n// 清除字符串的\"https:\"和\"http:\"\nwindow.String.prototype.clearProtocol = function () {\n return this.replace(/https:/gim, '').replace(/http:/gim, '')\n}\n\n// 判断是否是queryId\nwindow.String.prototype.isQueryId = function () {\n if (!this.length) return false\n var idExpr = /^#([\\w-]*)$/\n var match = idExpr.exec(this)\n if (match && match.length > 0) {\n return match[1]\n }\n return false\n}\n// 判断是否是queryClass\nwindow.String.prototype.isQueryClass = function () {\n if (!this.length) return false\n var classExpr = /^\\.([\\w-]*)$/\n var match = classExpr.exec(this)\n if (match && match.length > 0) {\n return match[1]\n }\n return false\n}\n// 判断是否是query标签\nwindow.String.prototype.isTag = function () {\n if (!this.length) return false\n var tagExpr = /^<(\\w+)\\s*.*\\/\\w*>$/im\n var match = tagExpr.exec(this)\n if (match && match.length > 0) {\n return true\n }\n return false\n}\n// 获取指定后缀的数值(允许是小数和整数),例如:'44px'.getUnitValue() / '44em'.getUnitValue('em')\nwindow.String.prototype.getUnitValue = function (argSuffix) {\n // 默认后缀为px\n var suffix = argSuffix || 'px'\n var patt=new RegExp('^[+-]?(0|([1-9][0-9]*))(.[0-9]?)' + suffix + '$');\n if (patt.test(this)) {\n return this.substring(0, this.indexOf(suffix))\n }\n return 0\n}\n// 密码等级\nString.charType = function (char) {\n if (char >= 48 && char <= 57) return 'number' // 数字\n if (char >= 65 && char <= 90) return 'capitalize' // 大写\n if (char >= 97 && char <= 122) return 'lowercase' // 小写\n else return 'other'\n}\nwindow.String.prototype.safeLvl = function () {\n if (this.length > 0 && this.length < 6) return 1\n var mode = {}\n for (var i = 0; i < this.length; i++) {\n mode[String.charType(this.charCodeAt(i))] = ''\n }\n return Object.values(mode).length\n}","// 把相差的毫秒数转成日、时、分、秒\nNumber.prototype.toDuration = function (start) {\n var milli = this\n // 如果从秒开始\n if (start === 'second') {\n return {\n seconds: milli / 1000\n }\n }\n \n var secondMilli = 1000 // 一分钟的毫秒数\n var minuteMilli = 60 * secondMilli // 一分钟的毫秒数\n var hourMilli = 60 * minuteMilli // 一小时的毫秒数\n var dayMilli = 24 * hourMilli // 一天的毫秒数\n // 计算出相差天数\n var daysDiff = Math.floor(milli / dayMilli)\n // 计算出剩余小时数\n var dayMilliRemainder = milli % dayMilli\n var hoursDiff = Math.floor(dayMilliRemainder / hourMilli)\n // 计算剩余分钟数\n var minuteMilliRemainder = dayMilliRemainder % hourMilli\n var minutesDiff = Math.floor(minuteMilliRemainder / minuteMilli)\n // 计算剩余秒数\n var secondMilliRemainder = minuteMilliRemainder % minuteMilli\n var secondsDiff = Math.round(secondMilliRemainder / secondMilli)\n\n // 如果从时开始\n if (start === 'hour') {\n return {\n hours: hoursDiff + (daysDiff * 24),\n minutes: minutesDiff,\n seconds: secondsDiff\n }\n }\n // 如果从分开始\n if (start === 'minute') {\n return {\n minutes: minutesDiff + (hoursDiff * 60) + (daysDiff * 24 * 60),\n seconds: secondsDiff\n }\n }\n // 从天开始\n return {\n days: daysDiff,\n hours: hoursDiff,\n minutes: minutesDiff,\n seconds: secondsDiff\n }\n}","// DateUtil\nwindow.Date.prototype.minuteMilliSecond = 60 * 1000\nwindow.Date.prototype.hourMilliSecond = 60 * 60 * 1000\nwindow.Date.prototype.dayMilliSecond = 24 * 60 * 60 * 1000\nwindow.Date.prototype.weekMilliSecond = 7 * 24 * 60 * 60 * 1000\n\n/*\n * 年操作\n * */\n// 年\nwindow.Date.prototype.year = function (year) {\n if (year) this.setYear(year)\n return this.getFullYear().toString()\n}\n// 上一年\nwindow.Date.prototype.prevYear = function (count) {\n this.setYear(this.getFullYear() - (count || 1))\n return this\n}\n// 下一年\nwindow.Date.prototype.nextYear = function (count) {\n this.setYear(this.getFullYear() + (count || 1))\n return this\n}\n// 是否是闰年\nwindow.Date.prototype.isLeap = function () {\n var year = this.getFullYear()\n return (year % 4 === 0) && (year % 100 !== 0 || year % 400 === 0)\n}\n// 当年第一天\nwindow.Date.prototype.firstYearDate = function () {\n this.setMonth(0, 1)\n return this\n}\n// 当年最后一天\nwindow.Date.prototype.lastYearDate = function () {\n this.setMonth(11, 31)\n return this\n}\n// 返回当月共多少天\nwindow.Date.prototype.getYearDate = function () {\n return this.isLeap() ? 366 : 365\n}\n\n/*\n * 季操作\n * */\n// 季, 返回:0.季度,1.季度第一天,2.季度最后一天\nwindow.Date.prototype.season = function (argCount) {\n var count = argCount || Math.ceil((this.getMonth() + 1) / 3)\n // 修改月\n this.setMonth(count * 3 - 3, 1)\n return count\n}\n// 上一季\nwindow.Date.prototype.prevSeason = function (count) {\n // 获得当前季的第一个月\n this.setMonth(this.getMonth() - (3 * (count || 1)), 1)\n return Math.ceil((this.getMonth() + 1) / 3)\n}\n// 下一季\nwindow.Date.prototype.nextSeason = function (count) {\n // 获得当前季的第一个月\n this.setMonth(this.getMonth() + (3 * (count || 1)), 1)\n return Math.ceil((this.getMonth() + 1) / 3)\n}\n// 第一季\nwindow.Date.prototype.firstSeason = function () {\n this.season(1)\n return 1\n}\n// 第四季\nwindow.Date.prototype.lastSeason = function () {\n this.season(4)\n return 4\n}\n// 当季第一天\nwindow.Date.prototype.firstSeasonDate = function () {\n var count = Math.ceil((this.getMonth() + 1) / 3)\n this.setYear(this.getFullYear())\n this.setMonth(count * 3 - 3, 1)\n return this\n}\n// 当季最后一天\nwindow.Date.prototype.lastSeasonDate = function () {\n var count = Math.ceil((this.getMonth() + 1) / 3)\n this.setYear(this.getFullYear())\n this.setMonth(count * 3, 0)\n return this\n}\n// 返回当季共多少天\nwindow.Date.prototype.getSeasonDate = function () {\n // 季度\n var count = Math.ceil((this.getMonth() + 1) / 3)\n // 平闰年2月的差别\n if (count === 1) return this.isLeap() ? 91 : 90\n if (count === 2) return 91\n if (count === 3 || count === 4) return 92\n}\n/*\n * 月操作\n * */\n// 月, 参数:1-12或者字符串'yyyy-MM', 如果当前日期大于目标月最大日期,则取目标月最大日期\nwindow.Date.prototype.month = function (month) {\n var targetYear = null // 目标年份\n var targetMonth = null // 目标月份\n var targetMaxDate = null\n // 如果有值,则修改为目标月份\n if (month) {\n if (/^\\d{1,2}$/.test(month)) {\n targetMonth = month - 1\n targetMaxDate = new Date(this.getFullYear(), targetMonth + 1, 0).getDate()\n if (this.getMonthDate() > targetMaxDate) {\n this.setMonth(targetMonth, targetMaxDate)\n } else {\n this.setMonth(targetMonth)\n }\n } else if (/^(\\d{4}).(\\d{1,2})/.test(month)) {\n var arr = month.match(/^(\\d{4}).(\\d{1,2})/)\n targetYear = Number(arr[1])\n targetMonth = arr[2] - 1\n targetMaxDate = new Date(targetYear, targetMonth + 1, 0).getDate()\n if (this.getMonthDate() > targetMaxDate) {\n this.setYear(targetYear)\n this.setMonth(targetMonth, targetMaxDate)\n } else {\n this.setYear(targetYear)\n this.setMonth(targetMonth)\n }\n }\n }\n var num = this.getMonth() + 1\n return num < 10 ? '0' + num : num\n}\n// 上一月\nwindow.Date.prototype.prevMonth = function (count) {\n var targetMonth = this.getMonth() - (count || 1)\n var targetMaxDate = new Date(this.getFullYear(), targetMonth + 1, 0).getDate()\n if (this.getDate() > targetMaxDate) {\n this.setMonth(targetMonth, targetMaxDate)\n } else {\n this.setMonth(targetMonth)\n }\n return targetMonth < 10 ? '0' + targetMonth : targetMonth\n}\n// 下一月\nwindow.Date.prototype.nextMonth = function (count) {\n var targetMonth = this.getMonth() + (count || 1)\n var targetMaxDate = new Date(this.getFullYear(), targetMonth + 1, 0).getDate()\n if (this.getDate() > targetMaxDate) {\n this.setMonth(targetMonth, targetMaxDate)\n } else {\n this.setMonth(targetMonth)\n }\n return targetMonth < 10 ? '0' + targetMonth : targetMonth\n}\n// 一月\nwindow.Date.prototype.firstMonth = function () {\n this.setMonth(0)\n return '01'\n}\n// 十二月\nwindow.Date.prototype.lastMonth = function () {\n this.setMonth(11)\n return '12'\n}\n// 当月第一天\nwindow.Date.prototype.firstMonthDate = function () {\n this.setDate(1)\n return this\n}\n// 当月最后一天\nwindow.Date.prototype.lastMonthDate = function () {\n this.setMonth(this.getMonth() + 1, 0)\n return this\n}\n// 返回当月共多少天\nwindow.Date.prototype.getMonthDate = function () {\n return new Date(this.getFullYear(), this.getMonth() + 1, '0').getDate()\n}\n\n/*\n * 周操作\n * */\n// 周几,参数:zh_cn\nwindow.Date.prototype.day = function (language) {\n var chDay = { 1: '一', 2: '二', 3: '三', 4: '四', 5: '五', 6: '六', 0: '日' }\n if (language === 'zh_cn') {\n return chDay[this.getDay()]\n }\n return this.getDay()\n}\n// 周数\nwindow.Date.prototype.week = function (count) {\n // 当年的1月1日\n var january1 = new Date(this.getFullYear(), 0, 1)\n var january1Day = january1.getDay()\n if (january1Day === 0) january1Day = 7\n // 如果传入周数,则设置周数\n if (count) {\n this.setTime(january1.getTime() + (this.weekMilliSecond * count))\n return count\n }\n // 计算当前天到1月1号相差周数\n var num = Math.ceil((this.getTime() - january1.getTime()) / this.weekMilliSecond)\n return num\n}\n// 上一周\nwindow.Date.prototype.prevWeek = function (count) {\n this.setTime(this.getTime() - (this.weekMilliSecond * (count || 1)))\n return this\n}\n// 下一周\nwindow.Date.prototype.nextWeek = function (count) {\n this.setTime(this.getTime() + (this.weekMilliSecond * (count || 1)))\n return this\n}\n// 周日,日历都是从周日开始的\nwindow.Date.prototype.sunday = function () {\n var day = this.getDay()\n this.setTime(this.getTime() - this.dayMilliSecond * day)\n return this\n}\n// 周一\nwindow.Date.prototype.monday = function () {\n var day = this.getDay()\n this.setTime(this.getTime() + this.dayMilliSecond * (1 - day))\n return this\n}\n// 周二\nwindow.Date.prototype.tuesday = function () {\n var day = this.getDay()\n this.setTime(this.getTime() + this.dayMilliSecond * (2 - day))\n return this\n}\n// 周三\nwindow.Date.prototype.wednesday = function () {\n var day = this.getDay()\n this.setTime(this.getTime() + this.dayMilliSecond * (3 - day))\n return this\n}\n// 周四\nwindow.Date.prototype.thursday = function () {\n var day = this.getDay()\n this.setTime(this.getTime() + this.dayMilliSecond * (4 - day))\n return this\n}\n// 周五\nwindow.Date.prototype.friday = function () {\n var day = this.getDay()\n this.setTime(this.getTime() + this.dayMilliSecond * (5 - day))\n return this\n}\n// 周六\nwindow.Date.prototype.saturday = function () {\n var day = this.getDay()\n this.setTime(this.getTime() + this.dayMilliSecond * (6 - day))\n return this\n}\n/*\n * 日操作\n * */\n// 日\nwindow.Date.prototype.date = function (date) {\n if (date) this.setDate(date)\n var num = this.getDate()\n return num < 10 ? '0' + num : num\n}\n// 上一天\nwindow.Date.prototype.prevDate = function (count) {\n this.setTime(this.getTime() - (this.dayMilliSecond * (count || 1)))\n return this\n}\n// 下一天\nwindow.Date.prototype.nextDate = function (count) {\n this.setTime(this.getTime() + (this.dayMilliSecond * (count || 1)))\n return this\n}\n\n/*\n * 时操作\n * */\n// 时\nwindow.Date.prototype.hour = function (hour) {\n if (hour) this.setHours(hour)\n var num = this.getHours()\n return num < 10 ? '0' + num : num\n}\n// 上一小时\nwindow.Date.prototype.prevHour = function (count) {\n this.setTime(this.getTime() - (this.hourMilliSecond * (count || 1)))\n return this\n}\n// 下一小时\nwindow.Date.prototype.nextHour = function (count) {\n this.setTime(this.getTime() + (this.hourMilliSecond * (count || 1)))\n return this\n}\n/*\n * 分操作\n * */\n// 分\nwindow.Date.prototype.minute = function (minute) {\n if (minute) this.setMinutes(minute)\n var num = this.getMinutes()\n return num < 10 ? '0' + num : num\n}\n// 上一分钟\nwindow.Date.prototype.prevMinute = function (count) {\n this.setTime(this.getTime() - (this.minuteMilliSecond * (count || 1)))\n return this\n}\n// 下一分钟\nwindow.Date.prototype.nextMinute = function (count) {\n this.setTime(this.getTime() + (this.minuteMilliSecond * (count || 1)))\n return this\n}\n// 返回当前分钟的下档位时间\nwindow.Date.prototype.nextMinuteSpace = function (argSpace) {\n var space = argSpace ? argSpace : 5 // 间隔\n var minute = this.getMinutes() // 分钟\n var hasRemainder = minute % space === 0 // 是否有余数\n\n var percentNum = Math.ceil(minute / space) // 档位\n percentNum = hasRemainder ? parseInt(percentNum, 10) + 1 : percentNum\n\n var result = percentNum * space // 根据档位计算结果\n this.setMinutes(result)\n return this.minute()\n}\n// 返回当前分钟的上档位时间\nwindow.Date.prototype.prevMinuteSpace = function (argSpace) {\n var space = argSpace ? argSpace : 5 // 间隔\n var minute = this.getMinutes() // 分钟\n var hasRemainder = minute % space === 0 // 是否有余数\n\n var percentNum = Math.floor(minute / space) // 档位\n percentNum = hasRemainder ? parseInt(percentNum, 10) - 1 : percentNum\n\n var result = percentNum * space // 根据档位计算结果\n this.setMinutes(result)\n return this.minute()\n}\n/*\n * 比较操作\n * */\n// 比较Date对象,返回相差天时分秒等信息\nwindow.Date.prototype.diff = function (date) {\n var dateStart = this // 开始时间\n var dateEnd = date // 结束时间\n\n var secondMilli = 1000 // 一分钟的毫秒数\n var minuteMilli = 60 * secondMilli // 一分钟的毫秒数\n var hourMilli = 60 * minuteMilli // 一小时的毫秒数\n var dayMilli = 24 * hourMilli // 一天的毫秒数\n\n var timeDiff = dateEnd.getTime() - dateStart.getTime() // 毫秒差\n\n // 计算出相差天数\n var daysDiff = Math.floor(timeDiff / dayMilli)\n // 计算出剩余小时数\n var dayMilliRemainder = timeDiff % dayMilli\n var hoursDiff = Math.floor(dayMilliRemainder / hourMilli)\n // 计算剩余分钟数\n var minuteMilliRemainder = dayMilliRemainder % hourMilli\n var minutesDiff = Math.floor(minuteMilliRemainder / minuteMilli)\n // 计算剩余秒数\n var secondMilliRemainder = minuteMilliRemainder % minuteMilli\n var secondsDiff = Math.round(secondMilliRemainder / secondMilli)\n\n // 计算相差小时数\n var hoursAllDiff = Math.floor(timeDiff / hourMilli)\n // 计算相差分钟数\n var minutesAllDiff = Math.floor(timeDiff / minuteMilli)\n // 计算相差秒数\n var secondsAllDiff = Math.floor(timeDiff / secondMilli)\n\n return {\n days: daysDiff,\n hours: hoursDiff,\n minutes: minutesDiff,\n seconds: secondsDiff,\n hoursAll: hoursAllDiff,\n minutesAll: minutesAllDiff,\n secondsAll: secondsAllDiff\n }\n}\n// 比较年月日时分秒,大于返回1,等于返回0,小于返回-1\nwindow.Date.prototype.compareDateTime = function (date) {\n var date1 = new Date(this)\n var date2 = new Date(date)\n date1.setSeconds(0, 0)\n date2.setSeconds(0, 0)\n var t1 = date1.getTime()\n var t2 = date2.getTime()\n\n if (t1 === t2) return 0\n return t1 > t2 ? 1 : -1\n}\n// 比较年月日,大于返回1,等于返回0,小于返回-1\nwindow.Date.prototype.compareDate = function (date) {\n var date1 = new Date(this)\n var date2 = new Date(date)\n date1.setHours(0, 0, 0, 0)\n date2.setHours(0, 0, 0, 0)\n var t1 = date1.getTime()\n var t2 = date2.getTime()\n\n if (t1 === t2) return 0\n return t1 > t2 ? 1 : -1\n}\n// 比较年月,大于返回1,等于返回0,小于返回-1\nwindow.Date.prototype.compareMonth = function (date) {\n var date1 = new Date(this)\n var date2 = new Date(date)\n date1.setDate(0)\n date1.setHours(0, 0, 0, 0)\n date2.setDate(0)\n date2.setHours(0, 0, 0, 0)\n var t1 = date1.getTime()\n var t2 = date2.getTime()\n\n if (t1 === t2) return 0\n return t1 > t2 ? 1 : -1\n}\n// 比较时分,格式:hh:mm,大于返回1,等于返回0,小于返回-1\nwindow.Date.prototype.compareTime = function (date) {\n var date1 = new Date(this)\n date1.setYear(0)\n date1.setMonth(0, 0)\n date1.setSeconds(0, 0)\n var date2 = new Date()\n if (date instanceof Date) {\n date2 = date\n } else if (/^[0-9]{2}:[0-9]{2}$/.test(date)) {\n date2.setHours(date.split(':')[0], date.split(':')[1], 0, 0)\n } else {\n console.log('请传入hh:mm的字符串,或者一个Date对象')\n return false\n }\n date2.setYear(0)\n date2.setMonth(0, 0)\n var t1 = date1.getTime()\n var t2 = date2.getTime()\n\n if (t1 === t2) return 0\n return t1 > t2 ? 1 : -1\n}\n/*\n * 返回时效,例如:new Date().expires('today'),返回\n * 参数: Date | String(小时数 | 'today')\n * 返回: Date (增加时效后的日期)\n * */\nwindow.Date.prototype.expires = function (expires) {\n // 如果没传参数, 默认返回2小时后的时效\n if (!expires) {\n this.nextHour(2)\n return this\n }\n // 如果参数是日期\n if (expires instanceof Date === true) {\n // 如果小于当前时间, 则返回设置的时效日期\n if (expires.compareDateTime(this) === 1) {\n return expires\n }\n return this\n }\n // 如果参数是小时\n if (!isNaN(expires)) {\n this.nextHour(expires)\n return this\n }\n // 如果参数是今天\n if (expires === 'today') {\n this.setHours(0, 0, 0, 0)\n this.nextDate()\n return this\n }\n}\n\n/*\n * 格式化\n * */\n// 格式化日期,参数:YYYY-MM-DD 第Q季 第WW周 周EE hh:mm:ss\nwindow.Date.prototype.format = function (formatStr) {\n // 年\n var year = this.getFullYear()\n if (formatStr.indexOf('YYYY') !== -1) {\n formatStr = formatStr.replace(/YYYY/gm, year)\n }\n if (formatStr.indexOf('YY') !== -1) {\n formatStr = formatStr.replace(/YY/gm, year.substring(2, 4))\n }\n // 月\n var month = (this.getMonth() + 1)\n if (formatStr.indexOf('MM') !== -1) {\n formatStr = formatStr.replace(/MM/gm, month < 10 ? '0' + month : month)\n }\n if (formatStr.indexOf('M') !== -1) {\n formatStr = formatStr.replace(/M/gm, month)\n }\n // 日\n var date = this.getDate()\n if (formatStr.indexOf('DD') !== -1) {\n formatStr = formatStr.replace(/DD/gm, date < 10 ? '0' + date : date)\n }\n if (formatStr.indexOf('D') !== -1) {\n formatStr = formatStr.replace(/D/gm, date)\n }\n\n // 季度\n var quarter = Math.ceil((this.getMonth() + 1) / 3)\n if (formatStr.indexOf('Q') !== -1) {\n formatStr = formatStr.replace(/Q/gm, quarter)\n }\n\n // 周数\n var week = this.week()\n if (formatStr.indexOf('WW') !== -1) {\n formatStr = formatStr.replace(/WW/gm, week < 10 ? '0' + week : week)\n }\n if (formatStr.indexOf('W') !== -1) {\n formatStr = formatStr.replace(/W/gm, week)\n }\n // 周几\n var chinaWeek = { 1: '一', 2: '二', 3: '三', 4: '四', 5: '五', 6: '六', 0: '日' }\n var day = this.getDay()\n if (formatStr.indexOf('EE') !== -1) {\n formatStr = formatStr.replace(/EE/gm, chinaWeek[day])\n }\n if (formatStr.indexOf('E') !== -1) {\n formatStr = formatStr.replace(/E/gm, day)\n }\n \n // 小时\n var hour = this.getHours()\n if (formatStr.indexOf('hh') !== -1) {\n formatStr = formatStr.replace(/hh/gm, hour < 10 ? '0' + hour : hour)\n }\n if (formatStr.indexOf('h') !== -1) {\n formatStr = formatStr.replace(/h/gm, hour)\n }\n // 分钟\n var minute = this.getMinutes()\n if (formatStr.indexOf('mm') !== -1) {\n formatStr = formatStr.replace(/mm/gm, minute < 10 ? '0' + minute : minute)\n }\n if (formatStr.indexOf('m') !== -1) {\n formatStr = formatStr.replace(/m/gm, minute)\n }\n // 秒\n var second = this.getSeconds()\n if (formatStr.indexOf('ss') !== -1) {\n formatStr = formatStr.replace(/ss/gm, second < 10 ? '0' + second : second)\n }\n if (formatStr.indexOf('s') !== -1) {\n formatStr = formatStr.replace(/s/gm, second)\n }\n return formatStr\n}\n\n/*\n * 日历操作\n * */\n// 月数据\nwindow.Date.prototype.getMonthData = function () { // 获得本月日历, 返回42天\n // 月头的位置\n var firstDay = new Date(this).firstMonthDate()\n var firstDayIndex = firstDay.getDay()\n // 根据起始毫秒数,逐天增加天数\n var startDayMs = firstDay.getTime() - this.dayMilliSecond * firstDayIndex\n\n var data = []\n // 生成月\n for (var i = 0; i < 42; i++) {\n data.push(new Date())\n if (i === 0) data[0].setTime(startDayMs)\n else data[i].setTime(data[i - 1].getTime() + this.dayMilliSecond)\n\n // 设置当月标识isCurrent\n data[i].isCurrent = false\n if (data[i].month() === this.month()) data[i].isCurrent = true\n }\n return data\n}\nwindow.Date.prototype.getPrevMonthData = function () { // 获得上月日历\n var date = new Date(this)\n date.prevMonth()\n return date.getMonthData()\n}\nwindow.Date.prototype.getNextMonthData = function () { // 获得下月日历\n var date = new Date(this)\n date.nextMonth()\n return date.getMonthData()\n}\nwindow.Date.prototype.getCalendarData = function () { // 获取三个月的日历数据\n var data = this.getPrevMonthData().concat(this.getMonthData()).concat(this.getNextMonthData())\n // 设置选中项与选中行\n // 今天选中位置: 当前日期(例如3.9 => 9) + 当月第一天的周几(例如3.1,周5 => 5) = 选中位置(例如14)\n var activeIndex = this.getDate() + new Date(this).firstMonthDate().getDay()\n // 今天所在行数: 选中位置(例如14) / 一周7天(例如7) = 所在行数(例如1), 由于索引从0开始的, 所以返回1行\n data.activeRowIndex = Math.ceil(activeIndex / 7) - 1\n // 三个月中的位置: 当月选中位置(例如14) + 上个月日历42天(例如41, 由于索引是从0开始的, 所以加上41而不是42) + = 三个月中的位置(例如55)\n data.activeIndex = activeIndex + 41\n return data\n}\n\nwindow.Date.prototype.getPrevMonth = function (count) { // 获得前几个月日期\n if (count) {\n var months = []\n var tempDate = new Date(this)\n for (var i = 0; i < count; i++) {\n tempDate.prevMonth()\n var prevMonth = new Date(tempDate)\n months.push(prevMonth)\n }\n return months\n }\n var date = new Date(this)\n date.prevMonth()\n return date\n}\n\n// 周数据\nwindow.Date.prototype.getWeekData = function () { // 获得本周日历, 返回7天\n var date = new Date(this)\n var sunday = date.sunday()\n var data = []\n for (var i = 0; i < 7; i++) {\n data.push(new Date(sunday.getTime() + this.dayMilliSecond * i))\n }\n return data\n}\nwindow.Date.prototype.getPrevWeekData = function () { // 获得上周日历\n var date = new Date(this)\n date.prevWeek()\n return date.getWeekData()\n}\nwindow.Date.prototype.getNextWeekData = function () { // 获得下周日历\n var date = new Date(this)\n date.nextWeek()\n return date.getWeekData()\n}\n\nwindow.Date.prototype.getPrevWeek = function (count) { // 获得前几个周日期\n if (count) {\n var days = []\n var tempDate = new Date(this)\n for (var i = 0; i < count; i++) {\n tempDate.prevWeek()\n var prevWeek = new Date(tempDate)\n days.push(prevWeek)\n }\n return days\n }\n var date = new Date(this)\n date.prevDate()\n return date\n}\n\n// 天数据\nwindow.Date.prototype.getPrevDate = function (count) { // 获得前几个天日期\n if (count) {\n var dates = []\n var tempDate = new Date(this)\n for (var i = 0; i < count; i++) {\n tempDate.prevDate()\n var prevDate = new Date(tempDate)\n dates.push(prevDate)\n }\n return dates\n }\n var date = new Date(this)\n date.prevDate()\n return date\n}\n\n// 字符串转成日期对象\nwindow.Date.parse = function (str, type) {\n var date = new Date()\n if (type === 'time') {\n if (/^[0-9]{2}:[0-9]{2}$/.test(str)) {\n date.setHours(str.split(':')[0], str.split(':')[1], 0)\n }\n return date\n }\n if (type === 'date') {\n if (/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(str)) {\n date.setYear(str.split('-')[0])\n date.setMonth(str.split('-')[1], str.split('-')[2])\n }\n return date\n }\n if (type === 'month') {\n if (/^[0-9]{4}-[0-9]{2}$/.test(str)) {\n date.setYear(str.split('-')[0])\n date.setMonth(str.split('-')[1])\n }\n return date\n }\n if (type === 'datetime') {\n if (/^[0-9]{4}-[0-9]{2}-[0-9]{2}\\s[0-9]{2}:[0-9]{2}$/.test(str)) { // eslint-disable-line\n var strArr = str.split(' ')\n var str1 = strArr[0]\n var str2 = strArr[1]\n date.setYear(str1.split('-')[0])\n date.setMonth(str1.split('-')[1], str1.split('-')[2])\n date.setHours(str2.split(':')[0], str2.split(':')[1], 0)\n }\n return date\n }\n}","// toPinyin|toCapitalize汉字转拼音\nvar PinyinHelper = (function () {\n var pinyins = { 'a': '\\u554a\\u963f\\u9515', 'ai': '\\u57c3\\u6328\\u54ce\\u5509\\u54c0\\u7691\\u764c\\u853c\\u77ee\\u827e\\u788d\\u7231\\u9698\\u8bf6\\u6371\\u55f3\\u55cc\\u5ad2\\u7477\\u66a7\\u7839\\u953f\\u972d', 'an': '\\u978d\\u6c28\\u5b89\\u4ffa\\u6309\\u6697\\u5cb8\\u80fa\\u6848\\u8c19\\u57ef\\u63de\\u72b4\\u5eb5\\u6849\\u94f5\\u9e4c\\u9878\\u9eef', 'ang': '\\u80ae\\u6602\\u76ce', 'ao': '\\u51f9\\u6556\\u71ac\\u7ff1\\u8884\\u50b2\\u5965\\u61ca\\u6fb3\\u5773\\u62d7\\u55f7\\u5662\\u5c99\\u5ed2\\u9068\\u5aaa\\u9a9c\\u8071\\u87af\\u93ca\\u9ccc\\u93d6', 'ba': '\\u82ad\\u634c\\u6252\\u53ed\\u5427\\u7b06\\u516b\\u75a4\\u5df4\\u62d4\\u8dcb\\u9776\\u628a\\u8019\\u575d\\u9738\\u7f62\\u7238\\u8307\\u83dd\\u8406\\u636d\\u5c9c\\u705e\\u6777\\u94af\\u7c91\\u9c85\\u9b43', 'bai': '\\u767d\\u67cf\\u767e\\u6446\\u4f70\\u8d25\\u62dc\\u7a17\\u859c\\u63b0\\u97b4', 'ban': '\\u6591\\u73ed\\u642c\\u6273\\u822c\\u9881\\u677f\\u7248\\u626e\\u62cc\\u4f34\\u74e3\\u534a\\u529e\\u7eca\\u962a\\u5742\\u8c73\\u94a3\\u7622\\u764d\\u8228', 'bang': '\\u90a6\\u5e2e\\u6886\\u699c\\u8180\\u7ed1\\u68d2\\u78c5\\u868c\\u9551\\u508d\\u8c24\\u84a1\\u8783', 'bao': '\\u82de\\u80de\\u5305\\u8912\\u96f9\\u4fdd\\u5821\\u9971\\u5b9d\\u62b1\\u62a5\\u66b4\\u8c79\\u9c8d\\u7206\\u52f9\\u8446\\u5b80\\u5b62\\u7172\\u9e28\\u8913\\u8db5\\u9f85', 'bo': '\\u5265\\u8584\\u73bb\\u83e0\\u64ad\\u62e8\\u94b5\\u6ce2\\u535a\\u52c3\\u640f\\u94c2\\u7b94\\u4f2f\\u5e1b\\u8236\\u8116\\u818a\\u6e24\\u6cca\\u9a73\\u4eb3\\u8543\\u5575\\u997d\\u6a97\\u64d8\\u7934\\u94b9\\u9e41\\u7c38\\u8ddb', 'bei': '\\u676f\\u7891\\u60b2\\u5351\\u5317\\u8f88\\u80cc\\u8d1d\\u94a1\\u500d\\u72c8\\u5907\\u60eb\\u7119\\u88ab\\u5b5b\\u9642\\u90b6\\u57e4\\u84d3\\u5457\\u602b\\u6096\\u789a\\u9e4e\\u8919\\u943e', 'ben': '\\u5954\\u82ef\\u672c\\u7b28\\u755a\\u574c\\u951b', 'beng': '\\u5d29\\u7ef7\\u752d\\u6cf5\\u8e66\\u8ff8\\u552a\\u5623\\u750f', 'bi': '\\u903c\\u9f3b\\u6bd4\\u9119\\u7b14\\u5f7c\\u78a7\\u84d6\\u853d\\u6bd5\\u6bd9\\u6bd6\\u5e01\\u5e87\\u75f9\\u95ed\\u655d\\u5f0a\\u5fc5\\u8f9f\\u58c1\\u81c2\\u907f\\u965b\\u5315\\u4ef3\\u4ffe\\u8298\\u835c\\u8378\\u5421\\u54d4\\u72f4\\u5eb3\\u610e\\u6ed7\\u6fde\\u5f3c\\u59a3\\u5a62\\u5b16\\u74a7\\u8d32\\u7540\\u94cb\\u79d5\\u88e8\\u7b5a\\u7b85\\u7be6\\u822d\\u895e\\u8df8\\u9ac0', 'bian': '\\u97ad\\u8fb9\\u7f16\\u8d2c\\u6241\\u4fbf\\u53d8\\u535e\\u8fa8\\u8fa9\\u8fab\\u904d\\u533e\\u5f01\\u82c4\\u5fed\\u6c74\\u7f0f\\u7178\\u782d\\u78a5\\u7a39\\u7a86\\u8759\\u7b3e\\u9cca', 'biao': '\\u6807\\u5f6a\\u8198\\u8868\\u5a4a\\u9aa0\\u98d1\\u98d9\\u98da\\u706c\\u9556\\u9573\\u762d\\u88f1\\u9cd4', 'bie': '\\u9cd6\\u618b\\u522b\\u762a\\u8e69\\u9cd8', 'bin': '\\u5f6c\\u658c\\u6fd2\\u6ee8\\u5bbe\\u6448\\u50a7\\u6d5c\\u7f24\\u73a2\\u6ba1\\u8191\\u9554\\u9acc\\u9b13', 'bing': '\\u5175\\u51b0\\u67c4\\u4e19\\u79c9\\u997c\\u70b3\\u75c5\\u5e76\\u7980\\u90b4\\u6452\\u7ee0\\u678b\\u69df\\u71f9', 'bu': '\\u6355\\u535c\\u54fa\\u8865\\u57e0\\u4e0d\\u5e03\\u6b65\\u7c3f\\u90e8\\u6016\\u62ca\\u535f\\u900b\\u74ff\\u6661\\u949a\\u91ad', 'ca': '\\u64e6\\u5693\\u7924', 'cai': '\\u731c\\u88c1\\u6750\\u624d\\u8d22\\u776c\\u8e29\\u91c7\\u5f69\\u83dc\\u8521', 'can': '\\u9910\\u53c2\\u8695\\u6b8b\\u60ed\\u60e8\\u707f\\u9a96\\u74a8\\u7cb2\\u9eea', 'cang': '\\u82cd\\u8231\\u4ed3\\u6ca7\\u85cf\\u4f27', 'cao': '\\u64cd\\u7cd9\\u69fd\\u66f9\\u8349\\u8279\\u5608\\u6f15\\u87ac\\u825a', 'ce': '\\u5395\\u7b56\\u4fa7\\u518c\\u6d4b\\u5202\\u5e3b\\u607b', 'ceng': '\\u5c42\\u8e6d\\u564c', 'cha': '\\u63d2\\u53c9\\u832c\\u8336\\u67e5\\u78b4\\u643d\\u5bdf\\u5c94\\u5dee\\u8be7\\u7339\\u9987\\u6c4a\\u59f9\\u6748\\u6942\\u69ce\\u6aab\\u9497\\u9538\\u9572\\u8869', 'chai': '\\u62c6\\u67f4\\u8c7a\\u4faa\\u8308\\u7625\\u867f\\u9f87', 'chan': '\\u6400\\u63ba\\u8749\\u998b\\u8c17\\u7f20\\u94f2\\u4ea7\\u9610\\u98a4\\u5181\\u8c04\\u8c36\\u8487\\u5edb\\u5fcf\\u6f7a\\u6fb6\\u5b71\\u7fbc\\u5a75\\u5b17\\u9aa3\\u89c7\\u7985\\u9561\\u88e3\\u87fe\\u8e94', 'chang': '\\u660c\\u7316\\u573a\\u5c1d\\u5e38\\u957f\\u507f\\u80a0\\u5382\\u655e\\u7545\\u5531\\u5021\\u4f25\\u9b2f\\u82cc\\u83d6\\u5f9c\\u6005\\u60dd\\u960a\\u5a3c\\u5ae6\\u6636\\u6c05\\u9cb3', 'chao': '\\u8d85\\u6284\\u949e\\u671d\\u5632\\u6f6e\\u5de2\\u5435\\u7092\\u600a\\u7ec9\\u6641\\u8016', 'che': '\\u8f66\\u626f\\u64a4\\u63a3\\u5f7b\\u6f88\\u577c\\u5c6e\\u7817', 'chen': '\\u90f4\\u81e3\\u8fb0\\u5c18\\u6668\\u5ff1\\u6c89\\u9648\\u8d81\\u886c\\u79f0\\u8c0c\\u62bb\\u55d4\\u5bb8\\u741b\\u6987\\u809c\\u80c2\\u789c\\u9f80', 'cheng': '\\u6491\\u57ce\\u6a59\\u6210\\u5448\\u4e58\\u7a0b\\u60e9\\u6f84\\u8bda\\u627f\\u901e\\u9a8b\\u79e4\\u57d5\\u5d4a\\u5fb5\\u6d48\\u67a8\\u67fd\\u6a18\\u665f\\u584d\\u77a0\\u94d6\\u88ce\\u86cf\\u9172', 'chi': '\\u5403\\u75f4\\u6301\\u5319\\u6c60\\u8fdf\\u5f1b\\u9a70\\u803b\\u9f7f\\u4f88\\u5c3a\\u8d64\\u7fc5\\u65a5\\u70bd\\u50ba\\u5880\\u82aa\\u830c\\u640b\\u53f1\\u54e7\\u557b\\u55e4\\u5f73\\u996c\\u6cb2\\u5ab8\\u6555\\u80dd\\u7719\\u7735\\u9e31\\u761b\\u892b\\u86a9\\u87ad\\u7b1e\\u7bea\\u8c49\\u8e05\\u8e1f\\u9b51', 'chong': '\\u5145\\u51b2\\u866b\\u5d07\\u5ba0\\u833a\\u5fe1\\u61a7\\u94f3\\u825f', 'chou': '\\u62bd\\u916c\\u7574\\u8e0c\\u7a20\\u6101\\u7b79\\u4ec7\\u7ef8\\u7785\\u4e11\\u4fe6\\u5733\\u5e31\\u60c6\\u6eb4\\u59af\\u7633\\u96e0\\u9c8b', 'chu': '\\u81ed\\u521d\\u51fa\\u6a71\\u53a8\\u8e87\\u9504\\u96cf\\u6ec1\\u9664\\u695a\\u7840\\u50a8\\u77d7\\u6410\\u89e6\\u5904\\u4e8d\\u520d\\u61b7\\u7ecc\\u6775\\u696e\\u6a17\\u870d\\u8e70\\u9edc', 'chuan': '\\u63e3\\u5ddd\\u7a7f\\u693d\\u4f20\\u8239\\u5598\\u4e32\\u63be\\u821b\\u60f4\\u9044\\u5ddb\\u6c1a\\u948f\\u9569\\u8221', 'chuang': '\\u75ae\\u7a97\\u5e62\\u5e8a\\u95ef\\u521b\\u6006', 'chui': '\\u5439\\u708a\\u6376\\u9524\\u5782\\u9672\\u68f0\\u69cc', 'chun': '\\u6625\\u693f\\u9187\\u5507\\u6df3\\u7eaf\\u8822\\u4fc3\\u83bc\\u6c8c\\u80ab\\u6710\\u9e51\\u877d', 'chuo': '\\u6233\\u7ef0\\u851f\\u8fb6\\u8f8d\\u955e\\u8e14\\u9f8a', 'ci': '\\u75b5\\u8328\\u78c1\\u96cc\\u8f9e\\u6148\\u74f7\\u8bcd\\u6b64\\u523a\\u8d50\\u6b21\\u8360\\u5472\\u5d6f\\u9e5a\\u8785\\u7ccd\\u8d91', 'cong': '\\u806a\\u8471\\u56f1\\u5306\\u4ece\\u4e1b\\u506c\\u82c1\\u6dd9\\u9aa2\\u742e\\u7481\\u679e', 'cu': '\\u51d1\\u7c97\\u918b\\u7c07\\u731d\\u6b82\\u8e59', 'cuan': '\\u8e7f\\u7be1\\u7a9c\\u6c46\\u64ba\\u6615\\u7228', 'cui': '\\u6467\\u5d14\\u50ac\\u8106\\u7601\\u7cb9\\u6dec\\u7fe0\\u8403\\u60b4\\u7480\\u69b1\\u96b9', 'cun': '\\u6751\\u5b58\\u5bf8\\u78cb\\u5fd6\\u76b4', 'cuo': '\\u64ae\\u6413\\u63aa\\u632b\\u9519\\u539d\\u811e\\u9509\\u77ec\\u75e4\\u9e7e\\u8e49\\u8e9c', 'da': '\\u642d\\u8fbe\\u7b54\\u7629\\u6253\\u5927\\u8037\\u54d2\\u55d2\\u601b\\u59b2\\u75b8\\u8921\\u7b2a\\u977c\\u9791', 'dai': '\\u5446\\u6b79\\u50a3\\u6234\\u5e26\\u6b86\\u4ee3\\u8d37\\u888b\\u5f85\\u902e\\u6020\\u57ed\\u7519\\u5454\\u5cb1\\u8fe8\\u902f\\u9a80\\u7ed0\\u73b3\\u9edb', 'dan': '\\u803d\\u62c5\\u4e39\\u5355\\u90f8\\u63b8\\u80c6\\u65e6\\u6c2e\\u4f46\\u60ee\\u6de1\\u8bde\\u5f39\\u86cb\\u4ebb\\u510b\\u5369\\u840f\\u5556\\u6fb9\\u6a90\\u6b9a\\u8d55\\u7708\\u7605\\u8043\\u7baa', 'dang': '\\u5f53\\u6321\\u515a\\u8361\\u6863\\u8c20\\u51fc\\u83ea\\u5b95\\u7800\\u94db\\u88c6', 'dao': '\\u5200\\u6363\\u8e48\\u5012\\u5c9b\\u7977\\u5bfc\\u5230\\u7a3b\\u60bc\\u9053\\u76d7\\u53e8\\u5541\\u5fc9\\u6d2e\\u6c18\\u7118\\u5fd1\\u7e9b', 'de': '\\u5fb7\\u5f97\\u7684\\u951d', 'deng': '\\u8e6c\\u706f\\u767b\\u7b49\\u77aa\\u51f3\\u9093\\u5654\\u5d9d\\u6225\\u78f4\\u956b\\u7c26', 'di': '\\u5824\\u4f4e\\u6ef4\\u8fea\\u654c\\u7b1b\\u72c4\\u6da4\\u7fdf\\u5ae1\\u62b5\\u5e95\\u5730\\u8482\\u7b2c\\u5e1d\\u5f1f\\u9012\\u7f14\\u6c10\\u7c74\\u8bcb\\u8c1b\\u90b8\\u577b\\u839c\\u837b\\u5600\\u5a23\\u67e2\\u68e3\\u89cc\\u7825\\u78b2\\u7747\\u955d\\u7f9d\\u9ab6', 'dian': '\\u98a0\\u6382\\u6ec7\\u7898\\u70b9\\u5178\\u975b\\u57ab\\u7535\\u4f43\\u7538\\u5e97\\u60e6\\u5960\\u6dc0\\u6bbf\\u4e36\\u963d\\u576b\\u57dd\\u5dc5\\u73b7\\u765c\\u766b\\u7c1f\\u8e2e', 'diao': '\\u7889\\u53fc\\u96d5\\u51cb\\u5201\\u6389\\u540a\\u9493\\u8c03\\u8f7a\\u94de\\u8729\\u7c9c\\u8c82', 'die': '\\u8dcc\\u7239\\u789f\\u8776\\u8fed\\u8c0d\\u53e0\\u4f5a\\u57a4\\u581e\\u63f2\\u558b\\u6e2b\\u8f76\\u7252\\u74de\\u8936\\u800b\\u8e40\\u9cbd\\u9cce', 'ding': '\\u4e01\\u76ef\\u53ee\\u9489\\u9876\\u9f0e\\u952d\\u5b9a\\u8ba2\\u4e22\\u4ec3\\u5576\\u738e\\u815a\\u7887\\u753a\\u94e4\\u7594\\u8035\\u914a', 'dong': '\\u4e1c\\u51ac\\u8463\\u61c2\\u52a8\\u680b\\u4f97\\u606b\\u51bb\\u6d1e\\u578c\\u549a\\u5cbd\\u5cd2\\u5902\\u6c21\\u80e8\\u80f4\\u7850\\u9e2b', 'dou': '\\u515c\\u6296\\u6597\\u9661\\u8c46\\u9017\\u75d8\\u8538\\u94ad\\u7aa6\\u7aac\\u86aa\\u7bfc\\u9161', 'du': '\\u90fd\\u7763\\u6bd2\\u728a\\u72ec\\u8bfb\\u5835\\u7779\\u8d4c\\u675c\\u9540\\u809a\\u5ea6\\u6e21\\u5992\\u828f\\u561f\\u6e0e\\u691f\\u6a50\\u724d\\u8839\\u7b03\\u9ad1\\u9ee9', 'duan': '\\u7aef\\u77ed\\u953b\\u6bb5\\u65ad\\u7f0e\\u5f56\\u6934\\u7145\\u7c16', 'dui': '\\u5806\\u5151\\u961f\\u5bf9\\u603c\\u619d\\u7893', 'dun': '\\u58a9\\u5428\\u8e72\\u6566\\u987f\\u56e4\\u949d\\u76fe\\u9041\\u7096\\u7818\\u7905\\u76f9\\u9566\\u8db8', 'duo': '\\u6387\\u54c6\\u591a\\u593a\\u579b\\u8eb2\\u6735\\u8dfa\\u8235\\u5241\\u60f0\\u5815\\u5484\\u54da\\u7f0d\\u67c1\\u94ce\\u88f0\\u8e31', 'e': '\\u86fe\\u5ce8\\u9e45\\u4fc4\\u989d\\u8bb9\\u5a25\\u6076\\u5384\\u627c\\u904f\\u9102\\u997f\\u5669\\u8c14\\u57a9\\u57ad\\u82ca\\u83aa\\u843c\\u5443\\u6115\\u5c59\\u5a40\\u8f6d\\u66f7\\u816d\\u786a\\u9507\\u9537\\u9e57\\u989a\\u9cc4', 'en': '\\u6069\\u84bd\\u6441\\u5514\\u55ef', 'er': '\\u800c\\u513f\\u8033\\u5c14\\u9975\\u6d31\\u4e8c\\u8d30\\u8fe9\\u73e5\\u94d2\\u9e38\\u9c95', 'fa': '\\u53d1\\u7f5a\\u7b4f\\u4f10\\u4e4f\\u9600\\u6cd5\\u73d0\\u57a1\\u781d', 'fan': '\\u85e9\\u5e06\\u756a\\u7ffb\\u6a0a\\u77fe\\u9492\\u7e41\\u51e1\\u70e6\\u53cd\\u8fd4\\u8303\\u8d29\\u72af\\u996d\\u6cdb\\u8629\\u5e61\\u72ad\\u68b5\\u6535\\u71d4\\u7548\\u8e6f', 'fang': '\\u574a\\u82b3\\u65b9\\u80aa\\u623f\\u9632\\u59a8\\u4eff\\u8bbf\\u7eba\\u653e\\u531a\\u90a1\\u5f77\\u94ab\\u822b\\u9c82', 'fei': '\\u83f2\\u975e\\u5561\\u98de\\u80a5\\u532a\\u8bfd\\u5420\\u80ba\\u5e9f\\u6cb8\\u8d39\\u82be\\u72d2\\u60b1\\u6ddd\\u5983\\u7ecb\\u7eef\\u69a7\\u8153\\u6590\\u6249\\u7953\\u7829\\u9544\\u75f1\\u871a\\u7bda\\u7fe1\\u970f\\u9cb1', 'fen': '\\u82ac\\u915a\\u5429\\u6c1b\\u5206\\u7eb7\\u575f\\u711a\\u6c7e\\u7c89\\u594b\\u4efd\\u5fff\\u6124\\u7caa\\u507e\\u7035\\u68fc\\u610d\\u9cbc\\u9f22', 'feng': '\\u4e30\\u5c01\\u67ab\\u8702\\u5cf0\\u950b\\u98ce\\u75af\\u70fd\\u9022\\u51af\\u7f1d\\u8bbd\\u5949\\u51e4\\u4ff8\\u9146\\u8451\\u6ca3\\u781c', 'fu': '\\u4f5b\\u5426\\u592b\\u6577\\u80a4\\u5b75\\u6276\\u62c2\\u8f90\\u5e45\\u6c1f\\u7b26\\u4f0f\\u4fd8\\u670d\\u6d6e\\u6daa\\u798f\\u88b1\\u5f17\\u752b\\u629a\\u8f85\\u4fef\\u91dc\\u65a7\\u812f\\u8151\\u5e9c\\u8150\\u8d74\\u526f\\u8986\\u8d4b\\u590d\\u5085\\u4ed8\\u961c\\u7236\\u8179\\u8d1f\\u5bcc\\u8ba3\\u9644\\u5987\\u7f1a\\u5490\\u5310\\u51eb\\u90db\\u8299\\u82fb\\u832f\\u83a9\\u83d4\\u544b\\u5e5e\\u6ecf\\u8274\\u5b5a\\u9a78\\u7ec2\\u6874\\u8d59\\u9efb\\u9efc\\u7f58\\u7a03\\u99a5\\u864d\\u86a8\\u8709\\u8760\\u876e\\u9eb8\\u8dba\\u8dd7\\u9cc6', 'ga': '\\u5676\\u560e\\u86e4\\u5c2c\\u5477\\u5c15\\u5c1c\\u65ee\\u9486', 'gai': '\\u8be5\\u6539\\u6982\\u9499\\u76d6\\u6e89\\u4e10\\u9654\\u5793\\u6224\\u8d45\\u80f2', 'gan': '\\u5e72\\u7518\\u6746\\u67d1\\u7aff\\u809d\\u8d76\\u611f\\u79c6\\u6562\\u8d63\\u5769\\u82f7\\u5c34\\u64c0\\u6cd4\\u6de6\\u6f89\\u7ec0\\u6a44\\u65f0\\u77f8\\u75b3\\u9150', 'gang': '\\u5188\\u521a\\u94a2\\u7f38\\u809b\\u7eb2\\u5c97\\u6e2f\\u6206\\u7f61\\u9883\\u7b7b', 'gong': '\\u6760\\u5de5\\u653b\\u529f\\u606d\\u9f9a\\u4f9b\\u8eac\\u516c\\u5bab\\u5f13\\u5de9\\u6c5e\\u62f1\\u8d21\\u5171\\u857b\\u5efe\\u54a3\\u73d9\\u80b1\\u86a3\\u86e9\\u89e5', 'gao': '\\u7bd9\\u768b\\u9ad8\\u818f\\u7f94\\u7cd5\\u641e\\u9550\\u7a3f\\u544a\\u777e\\u8bf0\\u90dc\\u84bf\\u85c1\\u7f1f\\u69d4\\u69c1\\u6772\\u9506', 'ge': '\\u54e5\\u6b4c\\u6401\\u6208\\u9e3d\\u80f3\\u7599\\u5272\\u9769\\u845b\\u683c\\u9601\\u9694\\u94ec\\u4e2a\\u5404\\u9b32\\u4ee1\\u54ff\\u5865\\u55dd\\u7ea5\\u643f\\u8188\\u784c\\u94ea\\u9549\\u88bc\\u988c\\u867c\\u8238\\u9abc\\u9ac2', 'gei': '\\u7ed9', 'gen': '\\u6839\\u8ddf\\u4e98\\u831b\\u54cf\\u826e', 'geng': '\\u8015\\u66f4\\u5e9a\\u7fb9\\u57c2\\u803f\\u6897\\u54fd\\u8d53\\u9ca0', 'gou': '\\u94a9\\u52fe\\u6c9f\\u82df\\u72d7\\u57a2\\u6784\\u8d2d\\u591f\\u4f5d\\u8bdf\\u5ca3\\u9058\\u5abe\\u7f11\\u89cf\\u5f40\\u9e32\\u7b31\\u7bdd\\u97b2', 'gu': '\\u8f9c\\u83c7\\u5495\\u7b8d\\u4f30\\u6cbd\\u5b64\\u59d1\\u9f13\\u53e4\\u86ca\\u9aa8\\u8c37\\u80a1\\u6545\\u987e\\u56fa\\u96c7\\u560f\\u8bc2\\u83f0\\u54cc\\u5d2e\\u6c69\\u688f\\u8f71\\u726f\\u727f\\u80cd\\u81cc\\u6bc2\\u77bd\\u7f5f\\u94b4\\u9522\\u74e0\\u9e2a\\u9e44\\u75fc\\u86c4\\u9164\\u89da\\u9cb4\\u9ab0\\u9e58', 'gua': '\\u522e\\u74dc\\u5250\\u5be1\\u6302\\u8902\\u5366\\u8bd6\\u5471\\u681d\\u9e39', 'guai': '\\u4e56\\u62d0\\u602a\\u54d9', 'guan': '\\u68fa\\u5173\\u5b98\\u51a0\\u89c2\\u7ba1\\u9986\\u7f50\\u60ef\\u704c\\u8d2f\\u500c\\u839e\\u63bc\\u6dab\\u76e5\\u9e73\\u9ccf', 'guang': '\\u5149\\u5e7f\\u901b\\u72b7\\u6844\\u80f1\\u7592', 'gui': '\\u7470\\u89c4\\u572d\\u7845\\u5f52\\u9f9f\\u95fa\\u8f68\\u9b3c\\u8be1\\u7678\\u6842\\u67dc\\u8dea\\u8d35\\u523d\\u5326\\u523f\\u5e8b\\u5b84\\u59ab\\u6867\\u7085\\u6677\\u7688\\u7c0b\\u9c91\\u9cdc', 'gun': '\\u8f8a\\u6eda\\u68cd\\u4e28\\u886e\\u7ef2\\u78d9\\u9ca7', 'guo': '\\u9505\\u90ed\\u56fd\\u679c\\u88f9\\u8fc7\\u9998\\u8803\\u57da\\u63b4\\u5459\\u56d7\\u5e3c\\u5d1e\\u7313\\u6901\\u8662\\u951e\\u8052\\u872e\\u873e\\u8748', 'ha': '\\u54c8', 'hai': '\\u9ab8\\u5b69\\u6d77\\u6c26\\u4ea5\\u5bb3\\u9a87\\u54b4\\u55e8\\u988f\\u91a2', 'han': '\\u9163\\u61a8\\u90af\\u97e9\\u542b\\u6db5\\u5bd2\\u51fd\\u558a\\u7f55\\u7ff0\\u64bc\\u634d\\u65f1\\u61be\\u608d\\u710a\\u6c57\\u6c49\\u9097\\u83e1\\u6496\\u961a\\u701a\\u6657\\u7113\\u9894\\u86b6\\u9f3e', 'hen': '\\u592f\\u75d5\\u5f88\\u72e0\\u6068', 'hang': '\\u676d\\u822a\\u6c86\\u7ed7\\u73e9\\u6841', 'hao': '\\u58d5\\u568e\\u8c6a\\u6beb\\u90dd\\u597d\\u8017\\u53f7\\u6d69\\u8585\\u55e5\\u5686\\u6fe0\\u704f\\u660a\\u7693\\u98a2\\u869d', 'he': '\\u5475\\u559d\\u8377\\u83cf\\u6838\\u79be\\u548c\\u4f55\\u5408\\u76d2\\u8c89\\u9602\\u6cb3\\u6db8\\u8d6b\\u8910\\u9e64\\u8d3a\\u8bc3\\u52be\\u58d1\\u85ff\\u55d1\\u55ec\\u9616\\u76cd\\u86b5\\u7fee', 'hei': '\\u563f\\u9ed1', 'heng': '\\u54fc\\u4ea8\\u6a2a\\u8861\\u6052\\u8a07\\u8605', 'hong': '\\u8f70\\u54c4\\u70d8\\u8679\\u9e3f\\u6d2a\\u5b8f\\u5f18\\u7ea2\\u9ec9\\u8ba7\\u836d\\u85a8\\u95f3\\u6cd3', 'hou': '\\u5589\\u4faf\\u7334\\u543c\\u539a\\u5019\\u540e\\u5820\\u5f8c\\u9005\\u760a\\u7bcc\\u7cc7\\u9c8e\\u9aba', 'hu': '\\u547c\\u4e4e\\u5ffd\\u745a\\u58f6\\u846b\\u80e1\\u8774\\u72d0\\u7cca\\u6e56\\u5f27\\u864e\\u552c\\u62a4\\u4e92\\u6caa\\u6237\\u51b1\\u553f\\u56eb\\u5cb5\\u7322\\u6019\\u60da\\u6d52\\u6ef9\\u7425\\u69f2\\u8f77\\u89f3\\u70c0\\u7173\\u623d\\u6248\\u795c\\u9e55\\u9e71\\u7b0f\\u9190\\u659b', 'hua': '\\u82b1\\u54d7\\u534e\\u733e\\u6ed1\\u753b\\u5212\\u5316\\u8bdd\\u5290\\u6d4d\\u9a85\\u6866\\u94e7\\u7a1e', 'huai': '\\u69d0\\u5f8a\\u6000\\u6dee\\u574f\\u8fd8\\u8e1d', 'huan': '\\u6b22\\u73af\\u6853\\u7f13\\u6362\\u60a3\\u5524\\u75ea\\u8c62\\u7115\\u6da3\\u5ba6\\u5e7b\\u90c7\\u5942\\u57b8\\u64d0\\u571c\\u6d39\\u6d63\\u6f36\\u5bf0\\u902d\\u7f33\\u953e\\u9ca9\\u9b1f', 'huang': '\\u8352\\u614c\\u9ec4\\u78fa\\u8757\\u7c27\\u7687\\u51f0\\u60f6\\u714c\\u6643\\u5e4c\\u604d\\u8c0e\\u968d\\u5fa8\\u6e5f\\u6f62\\u9051\\u749c\\u8093\\u7640\\u87e5\\u7bc1\\u9cc7', 'hui': '\\u7070\\u6325\\u8f89\\u5fbd\\u6062\\u86d4\\u56de\\u6bc1\\u6094\\u6167\\u5349\\u60e0\\u6666\\u8d3f\\u79fd\\u4f1a\\u70e9\\u6c47\\u8bb3\\u8bf2\\u7ed8\\u8bd9\\u8334\\u835f\\u8559\\u54d5\\u5599\\u96b3\\u6d04\\u5f57\\u7f0b\\u73f2\\u6656\\u605a\\u867a\\u87ea\\u9ebe', 'hun': '\\u8364\\u660f\\u5a5a\\u9b42\\u6d51\\u6df7\\u8be8\\u9984\\u960d\\u6eb7\\u7f17', 'huo': '\\u8c41\\u6d3b\\u4f19\\u706b\\u83b7\\u6216\\u60d1\\u970d\\u8d27\\u7978\\u6509\\u56af\\u5925\\u94ac\\u952a\\u956c\\u8020\\u8816', 'ji': '\\u51fb\\u573e\\u57fa\\u673a\\u7578\\u7a3d\\u79ef\\u7b95\\u808c\\u9965\\u8ff9\\u6fc0\\u8ba5\\u9e21\\u59ec\\u7ee9\\u7f09\\u5409\\u6781\\u68d8\\u8f91\\u7c4d\\u96c6\\u53ca\\u6025\\u75be\\u6c72\\u5373\\u5ac9\\u7ea7\\u6324\\u51e0\\u810a\\u5df1\\u84df\\u6280\\u5180\\u5b63\\u4f0e\\u796d\\u5242\\u60b8\\u6d4e\\u5bc4\\u5bc2\\u8ba1\\u8bb0\\u65e2\\u5fcc\\u9645\\u5993\\u7ee7\\u7eaa\\u5c45\\u4e0c\\u4e69\\u525e\\u4f76\\u4f74\\u8114\\u58bc\\u82a8\\u82b0\\u8401\\u84ba\\u857a\\u638e\\u53fd\\u54ad\\u54dc\\u5527\\u5c8c\\u5d74\\u6d0e\\u5f50\\u5c50\\u9aa5\\u757f\\u7391\\u696b\\u6b9b\\u621f\\u6222\\u8d4d\\u89ca\\u7284\\u9f51\\u77f6\\u7f81\\u5d47\\u7a37\\u7620\\u7635\\u866e\\u7b08\\u7b04\\u66a8\\u8dfb\\u8dfd\\u9701\\u9c9a\\u9cab\\u9afb\\u9e82', 'jia': '\\u5609\\u67b7\\u5939\\u4f73\\u5bb6\\u52a0\\u835a\\u988a\\u8d3e\\u7532\\u94be\\u5047\\u7a3c\\u4ef7\\u67b6\\u9a7e\\u5ac1\\u4f3d\\u90cf\\u62ee\\u5cac\\u6d43\\u8fe6\\u73c8\\u621b\\u80db\\u605d\\u94d7\\u9553\\u75c2\\u86f1\\u7b33\\u8888\\u8dcf', 'jian': '\\u6b7c\\u76d1\\u575a\\u5c16\\u7b3a\\u95f4\\u714e\\u517c\\u80a9\\u8270\\u5978\\u7f04\\u8327\\u68c0\\u67ec\\u78b1\\u7877\\u62e3\\u6361\\u7b80\\u4fed\\u526a\\u51cf\\u8350\\u69db\\u9274\\u8df5\\u8d31\\u89c1\\u952e\\u7bad\\u4ef6\\u5065\\u8230\\u5251\\u996f\\u6e10\\u6e85\\u6da7\\u5efa\\u50ed\\u8c0f\\u8c2b\\u83c5\\u84b9\\u641b\\u56dd\\u6e54\\u8e47\\u8b07\\u7f23\\u67a7\\u67d9\\u6957\\u620b\\u622c\\u726e\\u728d\\u6bfd\\u8171\\u7751\\u950f\\u9e63\\u88e5\\u7b15\\u7bb4\\u7fe6\\u8dbc\\u8e3a\\u9ca3\\u97af', 'jiang': '\\u50f5\\u59dc\\u5c06\\u6d46\\u6c5f\\u7586\\u848b\\u6868\\u5956\\u8bb2\\u5320\\u9171\\u964d\\u8333\\u6d1a\\u7edb\\u7f30\\u729f\\u7913\\u8029\\u7ce8\\u8c47', 'jiao': '\\u8549\\u6912\\u7901\\u7126\\u80f6\\u4ea4\\u90ca\\u6d47\\u9a84\\u5a07\\u56bc\\u6405\\u94f0\\u77eb\\u4fa5\\u811a\\u72e1\\u89d2\\u997a\\u7f34\\u7ede\\u527f\\u6559\\u9175\\u8f7f\\u8f83\\u53eb\\u4f7c\\u50ec\\u832d\\u6322\\u564d\\u5ce4\\u5fbc\\u59e3\\u7e9f\\u656b\\u768e\\u9e6a\\u86df\\u91ae\\u8de4\\u9c9b', 'jie': '\\u7a96\\u63ed\\u63a5\\u7686\\u79f8\\u8857\\u9636\\u622a\\u52ab\\u8282\\u6854\\u6770\\u6377\\u776b\\u7aed\\u6d01\\u7ed3\\u89e3\\u59d0\\u6212\\u85c9\\u82a5\\u754c\\u501f\\u4ecb\\u75a5\\u8beb\\u5c4a\\u5048\\u8ba6\\u8bd8\\u5588\\u55df\\u736c\\u5a55\\u5b51\\u6840\\u7352\\u78a3\\u9534\\u7596\\u88b7\\u9889\\u86a7\\u7faf\\u9c92\\u9ab1\\u9aeb', 'jin': '\\u5dfe\\u7b4b\\u65a4\\u91d1\\u4eca\\u6d25\\u895f\\u7d27\\u9526\\u4ec5\\u8c28\\u8fdb\\u9773\\u664b\\u7981\\u8fd1\\u70ec\\u6d78\\u5c3d\\u537a\\u8369\\u5807\\u5664\\u9991\\u5ed1\\u5997\\u7f19\\u747e\\u69ff\\u8d46\\u89d0\\u9485\\u9513\\u887f\\u77dc', 'jing': '\\u52b2\\u8346\\u5162\\u830e\\u775b\\u6676\\u9cb8\\u4eac\\u60ca\\u7cbe\\u7cb3\\u7ecf\\u4e95\\u8b66\\u666f\\u9888\\u9759\\u5883\\u656c\\u955c\\u5f84\\u75c9\\u9756\\u7adf\\u7ade\\u51c0\\u522d\\u5106\\u9631\\u83c1\\u734d\\u61ac\\u6cfe\\u8ff3\\u5f2a\\u5a67\\u80bc\\u80eb\\u8148\\u65cc', 'jiong': '\\u70af\\u7a98\\u5182\\u8fe5\\u6243', 'jiu': '\\u63ea\\u7a76\\u7ea0\\u7396\\u97ed\\u4e45\\u7078\\u4e5d\\u9152\\u53a9\\u6551\\u65e7\\u81fc\\u8205\\u548e\\u5c31\\u759a\\u50e6\\u557e\\u9604\\u67e9\\u6855\\u9e6b\\u8d73\\u9b0f', 'ju': '\\u97a0\\u62d8\\u72d9\\u75bd\\u9a79\\u83ca\\u5c40\\u5480\\u77e9\\u4e3e\\u6cae\\u805a\\u62d2\\u636e\\u5de8\\u5177\\u8ddd\\u8e1e\\u952f\\u4ff1\\u53e5\\u60e7\\u70ac\\u5267\\u5028\\u8bb5\\u82e3\\u82f4\\u8392\\u63ac\\u907d\\u5c66\\u741a\\u67b8\\u6910\\u6998\\u6989\\u6a58\\u728b\\u98d3\\u949c\\u9514\\u7aad\\u88fe\\u8d84\\u91b5\\u8e3d\\u9f83\\u96ce\\u97ab', 'juan': '\\u6350\\u9e43\\u5a1f\\u5026\\u7737\\u5377\\u7ee2\\u9104\\u72f7\\u6d93\\u684a\\u8832\\u9529\\u954c\\u96bd', 'jue': '\\u6485\\u652b\\u6289\\u6398\\u5014\\u7235\\u89c9\\u51b3\\u8bc0\\u7edd\\u53a5\\u5282\\u8c32\\u77cd\\u8568\\u5658\\u5d1b\\u7357\\u5b53\\u73cf\\u6877\\u6a5b\\u721d\\u9562\\u8e76\\u89d6', 'jun': '\\u5747\\u83cc\\u94a7\\u519b\\u541b\\u5cfb\\u4fca\\u7ae3\\u6d5a\\u90e1\\u9a8f\\u6343\\u72fb\\u76b2\\u7b60\\u9e87', 'ka': '\\u5580\\u5496\\u5361\\u4f67\\u5494\\u80e9', 'ke': '\\u54af\\u5777\\u82db\\u67ef\\u68f5\\u78d5\\u9897\\u79d1\\u58f3\\u54b3\\u53ef\\u6e34\\u514b\\u523b\\u5ba2\\u8bfe\\u5ca2\\u606a\\u6e98\\u9a92\\u7f02\\u73c2\\u8f72\\u6c2a\\u778c\\u94b6\\u75b4\\u7aa0\\u874c\\u9ac1', 'kai': '\\u5f00\\u63e9\\u6977\\u51ef\\u6168\\u5240\\u57b2\\u8488\\u5ffe\\u607a\\u94e0\\u950e', 'kan': '\\u520a\\u582a\\u52d8\\u574e\\u780d\\u770b\\u4f83\\u51f5\\u83b0\\u83b6\\u6221\\u9f9b\\u77b0', 'kang': '\\u5eb7\\u6177\\u7ce0\\u625b\\u6297\\u4ea2\\u7095\\u5751\\u4f09\\u95f6\\u94aa', 'kao': '\\u8003\\u62f7\\u70e4\\u9760\\u5c3b\\u6832\\u7292\\u94d0', 'ken': '\\u80af\\u5543\\u57a6\\u6073\\u57a0\\u88c9\\u9880', 'keng': '\\u542d\\u5fd0\\u94ff', 'kong': '\\u7a7a\\u6050\\u5b54\\u63a7\\u5025\\u5d06\\u7b9c', 'kou': '\\u62a0\\u53e3\\u6263\\u5bc7\\u82a4\\u853b\\u53e9\\u770d\\u7b58', 'ku': '\\u67af\\u54ed\\u7a9f\\u82e6\\u9177\\u5e93\\u88e4\\u5233\\u5800\\u55be\\u7ed4\\u9ab7', 'kua': '\\u5938\\u57ae\\u630e\\u8de8\\u80ef\\u4f89', 'kuai': '\\u5757\\u7b77\\u4fa9\\u5feb\\u84af\\u90d0\\u8489\\u72ef\\u810d', 'kuan': '\\u5bbd\\u6b3e\\u9acb', 'kuang': '\\u5321\\u7b50\\u72c2\\u6846\\u77ff\\u7736\\u65f7\\u51b5\\u8bd3\\u8bf3\\u909d\\u5739\\u593c\\u54d0\\u7ea9\\u8d36', 'kui': '\\u4e8f\\u76d4\\u5cbf\\u7aa5\\u8475\\u594e\\u9b41\\u5080\\u9988\\u6127\\u6e83\\u9997\\u532e\\u5914\\u9697\\u63c6\\u55b9\\u559f\\u609d\\u6126\\u9615\\u9035\\u668c\\u777d\\u8069\\u8770\\u7bd1\\u81fe\\u8dec', 'kun': '\\u5764\\u6606\\u6346\\u56f0\\u6083\\u9603\\u7428\\u951f\\u918c\\u9cb2\\u9ae1', 'kuo': '\\u62ec\\u6269\\u5ed3\\u9614\\u86de', 'la': '\\u5783\\u62c9\\u5587\\u8721\\u814a\\u8fa3\\u5566\\u524c\\u647a\\u908b\\u65ef\\u782c\\u760c', 'lai': '\\u83b1\\u6765\\u8d56\\u5d03\\u5f95\\u6d9e\\u6fd1\\u8d49\\u7750\\u94fc\\u765e\\u7c41', 'lan': '\\u84dd\\u5a6a\\u680f\\u62e6\\u7bee\\u9611\\u5170\\u6f9c\\u8c30\\u63fd\\u89c8\\u61d2\\u7f06\\u70c2\\u6ee5\\u5549\\u5c9a\\u61d4\\u6f24\\u6984\\u6593\\u7f71\\u9567\\u8934', 'lang': '\\u7405\\u6994\\u72fc\\u5eca\\u90ce\\u6717\\u6d6a\\u83a8\\u8497\\u5577\\u9606\\u9512\\u7a02\\u8782', 'lao': '\\u635e\\u52b3\\u7262\\u8001\\u4f6c\\u59e5\\u916a\\u70d9\\u6d9d\\u5520\\u5d02\\u6833\\u94d1\\u94f9\\u75e8\\u91aa', 'le': '\\u52d2\\u4e50\\u808b\\u4ec2\\u53fb\\u561e\\u6cd0\\u9cd3', 'lei': '\\u96f7\\u956d\\u857e\\u78ca\\u7d2f\\u5121\\u5792\\u64c2\\u7c7b\\u6cea\\u7fb8\\u8bd4\\u837d\\u54a7\\u6f2f\\u5ad8\\u7f27\\u6a91\\u8012\\u9179', 'ling': '\\u68f1\\u51b7\\u62ce\\u73b2\\u83f1\\u96f6\\u9f84\\u94c3\\u4f36\\u7f9a\\u51cc\\u7075\\u9675\\u5cad\\u9886\\u53e6\\u4ee4\\u9143\\u5844\\u82d3\\u5464\\u56f9\\u6ce0\\u7eeb\\u67c3\\u68c2\\u74f4\\u8046\\u86c9\\u7fce\\u9cae', 'leng': '\\u695e\\u6123', 'li': '\\u5398\\u68a8\\u7281\\u9ece\\u7bf1\\u72f8\\u79bb\\u6f13\\u7406\\u674e\\u91cc\\u9ca4\\u793c\\u8389\\u8354\\u540f\\u6817\\u4e3d\\u5389\\u52b1\\u783e\\u5386\\u5229\\u5088\\u4f8b\\u4fd0\\u75e2\\u7acb\\u7c92\\u6ca5\\u96b6\\u529b\\u7483\\u54e9\\u4fea\\u4fda\\u90e6\\u575c\\u82c8\\u8385\\u84e0\\u85dc\\u6369\\u5456\\u5533\\u55b1\\u7301\\u6ea7\\u6fa7\\u9026\\u5a0c\\u5ae0\\u9a8a\\u7f21\\u73de\\u67a5\\u680e\\u8f79\\u623e\\u783a\\u8a48\\u7f79\\u9502\\u9e42\\u75a0\\u75ac\\u86ce\\u870a\\u8821\\u7b20\\u7be5\\u7c9d\\u91b4\\u8dde\\u96f3\\u9ca1\\u9ce2\\u9ee7', 'lian': '\\u4fe9\\u8054\\u83b2\\u8fde\\u9570\\u5ec9\\u601c\\u6d9f\\u5e18\\u655b\\u8138\\u94fe\\u604b\\u70bc\\u7ec3\\u631b\\u8539\\u5941\\u6f4b\\u6fc2\\u5a08\\u740f\\u695d\\u6b93\\u81c1\\u81a6\\u88e2\\u880a\\u9ca2', 'liang': '\\u7cae\\u51c9\\u6881\\u7cb1\\u826f\\u4e24\\u8f86\\u91cf\\u667e\\u4eae\\u8c05\\u589a\\u690b\\u8e09\\u9753\\u9b49', 'liao': '\\u64a9\\u804a\\u50da\\u7597\\u71ce\\u5be5\\u8fbd\\u6f66\\u4e86\\u6482\\u9563\\u5ed6\\u6599\\u84fc\\u5c25\\u5639\\u7360\\u5bee\\u7f2d\\u948c\\u9e69\\u8022', 'lie': '\\u5217\\u88c2\\u70c8\\u52a3\\u730e\\u51bd\\u57d2\\u6d0c\\u8d94\\u8e90\\u9b23', 'lin': '\\u7433\\u6797\\u78f7\\u9716\\u4e34\\u90bb\\u9cde\\u6dcb\\u51db\\u8d41\\u541d\\u853a\\u5d99\\u5eea\\u9074\\u6aa9\\u8f9a\\u77b5\\u7cbc\\u8e8f\\u9e9f', 'liu': '\\u6e9c\\u7409\\u69b4\\u786b\\u998f\\u7559\\u5218\\u7624\\u6d41\\u67f3\\u516d\\u62a1\\u507b\\u848c\\u6cd6\\u6d4f\\u905b\\u9a9d\\u7efa\\u65d2\\u7198\\u950d\\u954f\\u9e68\\u938f', 'long': '\\u9f99\\u804b\\u5499\\u7b3c\\u7abf\\u9686\\u5784\\u62e2\\u9647\\u5f04\\u5785\\u830f\\u6cf7\\u73d1\\u680a\\u80e7\\u783b\\u7643', 'lou': '\\u697c\\u5a04\\u6402\\u7bd3\\u6f0f\\u964b\\u55bd\\u5d5d\\u9542\\u7618\\u8027\\u877c\\u9ac5', 'lu': '\\u82a6\\u5362\\u9885\\u5e90\\u7089\\u63b3\\u5364\\u864f\\u9c81\\u9e93\\u788c\\u9732\\u8def\\u8d42\\u9e7f\\u6f5e\\u7984\\u5f55\\u9646\\u622e\\u5786\\u6445\\u64b8\\u565c\\u6cf8\\u6e0c\\u6f09\\u7490\\u680c\\u6a79\\u8f73\\u8f82\\u8f98\\u6c07\\u80ea\\u9565\\u9e2c\\u9e6d\\u7c0f\\u823b\\u9c88', 'lv': '\\u9a74\\u5415\\u94dd\\u4fa3\\u65c5\\u5c65\\u5c61\\u7f15\\u8651\\u6c2f\\u5f8b\\u7387\\u6ee4\\u7eff\\u634b\\u95fe\\u6988\\u8182\\u7a06\\u891b', 'luan': '\\u5ce6\\u5b6a\\u6ee6\\u5375\\u4e71\\u683e\\u9e3e\\u92ae', 'lue': '\\u63a0\\u7565\\u950a', 'lun': '\\u8f6e\\u4f26\\u4ed1\\u6ca6\\u7eb6\\u8bba\\u56f5', 'luo': '\\u841d\\u87ba\\u7f57\\u903b\\u9523\\u7ba9\\u9aa1\\u88f8\\u843d\\u6d1b\\u9a86\\u7edc\\u502e\\u8366\\u645e\\u7321\\u6cfa\\u6924\\u8136\\u9559\\u7630\\u96d2', 'ma': '\\u5988\\u9ebb\\u739b\\u7801\\u8682\\u9a6c\\u9a82\\u561b\\u5417\\u551b\\u72b8\\u5b37\\u6769\\u9ebd', 'mai': '\\u57cb\\u4e70\\u9ea6\\u5356\\u8fc8\\u8109\\u52a2\\u836c\\u54aa\\u973e', 'man': '\\u7792\\u9992\\u86ee\\u6ee1\\u8513\\u66fc\\u6162\\u6f2b\\u8c29\\u5881\\u5e54\\u7f26\\u71b3\\u9558\\u989f\\u87a8\\u9cd7\\u9794', 'mang': '\\u8292\\u832b\\u76f2\\u5fd9\\u83bd\\u9099\\u6f2d\\u6726\\u786d\\u87d2', 'meng': '\\u6c13\\u840c\\u8499\\u6aac\\u76df\\u9530\\u731b\\u68a6\\u5b5f\\u52d0\\u750d\\u77a2\\u61f5\\u791e\\u867b\\u8722\\u8813\\u824b\\u8268\\u9efe', 'miao': '\\u732b\\u82d7\\u63cf\\u7784\\u85d0\\u79d2\\u6e3a\\u5e99\\u5999\\u55b5\\u9088\\u7f08\\u7f2a\\u676a\\u6dfc\\u7707\\u9e4b\\u8731', 'mao': '\\u8305\\u951a\\u6bdb\\u77db\\u94c6\\u536f\\u8302\\u5192\\u5e3d\\u8c8c\\u8d38\\u4f94\\u88a4\\u52d6\\u8306\\u5cc1\\u7441\\u6634\\u7266\\u8004\\u65c4\\u61cb\\u7780\\u86d1\\u8765\\u87ca\\u9ae6', 'me': '\\u4e48', 'mei': '\\u73ab\\u679a\\u6885\\u9176\\u9709\\u7164\\u6ca1\\u7709\\u5a92\\u9541\\u6bcf\\u7f8e\\u6627\\u5bd0\\u59b9\\u5a9a\\u5776\\u8393\\u5d4b\\u7338\\u6d7c\\u6e44\\u6963\\u9545\\u9e5b\\u8882\\u9b45', 'men': '\\u95e8\\u95f7\\u4eec\\u626a\\u739f\\u7116\\u61d1\\u9494', 'mi': '\\u772f\\u919a\\u9761\\u7cdc\\u8ff7\\u8c1c\\u5f25\\u7c73\\u79d8\\u89c5\\u6ccc\\u871c\\u5bc6\\u5e42\\u8288\\u5196\\u8c27\\u863c\\u5627\\u7315\\u736f\\u6c68\\u5b93\\u5f2d\\u8112\\u6549\\u7cf8\\u7e3b\\u9e8b', 'mian': '\\u68c9\\u7720\\u7ef5\\u5195\\u514d\\u52c9\\u5a29\\u7f05\\u9762\\u6c94\\u6e4e\\u817c\\u7704', 'mie': '\\u8511\\u706d\\u54a9\\u881b\\u7bfe', 'min': '\\u6c11\\u62bf\\u76bf\\u654f\\u60af\\u95fd\\u82e0\\u5cb7\\u95f5\\u6cef\\u73c9', 'ming': '\\u660e\\u879f\\u9e23\\u94ed\\u540d\\u547d\\u51a5\\u8317\\u6e9f\\u669d\\u7791\\u9169', 'miu': '\\u8c2c', 'mo': '\\u6478\\u6479\\u8611\\u6a21\\u819c\\u78e8\\u6469\\u9b54\\u62b9\\u672b\\u83ab\\u58a8\\u9ed8\\u6cab\\u6f20\\u5bde\\u964c\\u8c1f\\u8309\\u84e6\\u998d\\u5aeb\\u9546\\u79e3\\u763c\\u8031\\u87c6\\u8c8a\\u8c98', 'mou': '\\u8c0b\\u725f\\u67d0\\u53b6\\u54de\\u5a7a\\u7738\\u936a', 'mu': '\\u62c7\\u7261\\u4ea9\\u59c6\\u6bcd\\u5893\\u66ae\\u5e55\\u52df\\u6155\\u6728\\u76ee\\u7766\\u7267\\u7a46\\u4eeb\\u82dc\\u5452\\u6c90\\u6bea\\u94bc', 'na': '\\u62ff\\u54ea\\u5450\\u94a0\\u90a3\\u5a1c\\u7eb3\\u5185\\u637a\\u80ad\\u954e\\u8872\\u7bac', 'nai': '\\u6c16\\u4e43\\u5976\\u8010\\u5948\\u9f10\\u827f\\u8418\\u67f0', 'nan': '\\u5357\\u7537\\u96be\\u56ca\\u5583\\u56e1\\u6960\\u8169\\u877b\\u8d67', 'nao': '\\u6320\\u8111\\u607c\\u95f9\\u5b6c\\u57b4\\u7331\\u7459\\u7847\\u94d9\\u86f2', 'ne': '\\u6dd6\\u5462\\u8bb7', 'nei': '\\u9981', 'nen': '\\u5ae9\\u80fd\\u6798\\u6041', 'ni': '\\u59ae\\u9713\\u502a\\u6ce5\\u5c3c\\u62df\\u4f60\\u533f\\u817b\\u9006\\u6eba\\u4f32\\u576d\\u730a\\u6029\\u6ee0\\u6635\\u65ce\\u7962\\u615d\\u7768\\u94cc\\u9cb5', 'nian': '\\u852b\\u62c8\\u5e74\\u78be\\u64b5\\u637b\\u5ff5\\u5eff\\u8f87\\u9ecf\\u9c87\\u9cb6', 'niang': '\\u5a18\\u917f', 'niao': '\\u9e1f\\u5c3f\\u8311\\u5b32\\u8132\\u8885', 'nie': '\\u634f\\u8042\\u5b7d\\u556e\\u954a\\u954d\\u6d85\\u4e5c\\u9667\\u8616\\u55eb\\u8080\\u989e\\u81ec\\u8e51', 'nin': '\\u60a8\\u67e0', 'ning': '\\u72de\\u51dd\\u5b81\\u62e7\\u6cde\\u4f5e\\u84e5\\u549b\\u752f\\u804d', 'niu': '\\u725b\\u626d\\u94ae\\u7ebd\\u72c3\\u5ff8\\u599e\\u86b4', 'nong': '\\u8113\\u6d53\\u519c\\u4fac', 'nu': '\\u5974\\u52aa\\u6012\\u5476\\u5e11\\u5f29\\u80ec\\u5b65\\u9a7d', 'nv': '\\u5973\\u6067\\u9495\\u8844', 'nuan': '\\u6696', 'nuenue': '\\u8650', 'nue': '\\u759f\\u8c11', 'nuo': '\\u632a\\u61e6\\u7cef\\u8bfa\\u50a9\\u6426\\u558f\\u9518', 'ou': '\\u54e6\\u6b27\\u9e25\\u6bb4\\u85d5\\u5455\\u5076\\u6ca4\\u6004\\u74ef\\u8026', 'pa': '\\u556a\\u8db4\\u722c\\u5e15\\u6015\\u7436\\u8469\\u7b62', 'pai': '\\u62cd\\u6392\\u724c\\u5f98\\u6e43\\u6d3e\\u4ff3\\u848e', 'pan': '\\u6500\\u6f58\\u76d8\\u78d0\\u76fc\\u7554\\u5224\\u53db\\u723f\\u6cee\\u88a2\\u897b\\u87e0\\u8e52', 'pang': '\\u4e53\\u5e9e\\u65c1\\u802a\\u80d6\\u6ec2\\u9004', 'pao': '\\u629b\\u5486\\u5228\\u70ae\\u888d\\u8dd1\\u6ce1\\u530f\\u72cd\\u5e96\\u812c\\u75b1', 'pei': '\\u5478\\u80da\\u57f9\\u88f4\\u8d54\\u966a\\u914d\\u4f69\\u6c9b\\u638a\\u8f94\\u5e14\\u6de0\\u65c6\\u952b\\u9185\\u9708', 'pen': '\\u55b7\\u76c6\\u6e53', 'peng': '\\u7830\\u62a8\\u70f9\\u6f8e\\u5f6d\\u84ec\\u68da\\u787c\\u7bf7\\u81a8\\u670b\\u9e4f\\u6367\\u78b0\\u576f\\u580b\\u562d\\u6026\\u87db', 'pi': '\\u7812\\u9739\\u6279\\u62ab\\u5288\\u7435\\u6bd7\\u5564\\u813e\\u75b2\\u76ae\\u5339\\u75de\\u50fb\\u5c41\\u8b6c\\u4e15\\u9674\\u90b3\\u90eb\\u572e\\u9f19\\u64d7\\u567c\\u5e80\\u5ab2\\u7eb0\\u6787\\u7513\\u7765\\u7f74\\u94cd\\u75e6\\u7656\\u758b\\u868d\\u8c94', 'pian': '\\u7bc7\\u504f\\u7247\\u9a97\\u8c1d\\u9a88\\u728f\\u80fc\\u890a\\u7fe9\\u8e41', 'piao': '\\u98d8\\u6f02\\u74e2\\u7968\\u527d\\u560c\\u5ad6\\u7f25\\u6b8d\\u779f\\u87b5', 'pie': '\\u6487\\u77a5\\u4e3f\\u82e4\\u6c15', 'pin': '\\u62fc\\u9891\\u8d2b\\u54c1\\u8058\\u62da\\u59d8\\u5ad4\\u6980\\u725d\\u98a6', 'ping': '\\u4e52\\u576a\\u82f9\\u840d\\u5e73\\u51ed\\u74f6\\u8bc4\\u5c4f\\u4fdc\\u5a09\\u67b0\\u9c86', 'po': '\\u5761\\u6cfc\\u9887\\u5a46\\u7834\\u9b44\\u8feb\\u7c95\\u53f5\\u9131\\u6ea5\\u73c0\\u948b\\u94b7\\u76a4\\u7b38', 'pou': '\\u5256\\u88d2\\u8e23', 'pu': '\\u6251\\u94fa\\u4ec6\\u8386\\u8461\\u83e9\\u84b2\\u57d4\\u6734\\u5703\\u666e\\u6d66\\u8c31\\u66dd\\u7011\\u530d\\u5657\\u6fee\\u749e\\u6c06\\u9564\\u9568\\u8e7c', 'qi': '\\u671f\\u6b3a\\u6816\\u621a\\u59bb\\u4e03\\u51c4\\u6f06\\u67d2\\u6c8f\\u5176\\u68cb\\u5947\\u6b67\\u7566\\u5d0e\\u8110\\u9f50\\u65d7\\u7948\\u7941\\u9a91\\u8d77\\u5c82\\u4e5e\\u4f01\\u542f\\u5951\\u780c\\u5668\\u6c14\\u8fc4\\u5f03\\u6c7d\\u6ce3\\u8bab\\u4e9f\\u4e93\\u573b\\u8291\\u840b\\u847a\\u5601\\u5c7a\\u5c90\\u6c54\\u6dc7\\u9a90\\u7eee\\u742a\\u7426\\u675e\\u6864\\u69ed\\u6b39\\u797a\\u61a9\\u789b\\u86f4\\u871e\\u7da6\\u7dae\\u8dbf\\u8e4a\\u9ccd\\u9e92', 'qia': '\\u6390\\u6070\\u6d3d\\u845c', 'qian': '\\u7275\\u6266\\u948e\\u94c5\\u5343\\u8fc1\\u7b7e\\u4edf\\u8c26\\u4e7e\\u9ed4\\u94b1\\u94b3\\u524d\\u6f5c\\u9063\\u6d45\\u8c34\\u5811\\u5d4c\\u6b20\\u6b49\\u4f65\\u9621\\u828a\\u82a1\\u8368\\u63ae\\u5c8d\\u60ad\\u614a\\u9a9e\\u6434\\u8930\\u7f31\\u6920\\u80b7\\u6106\\u94a4\\u8654\\u7b9d', 'qiang': '\\u67aa\\u545b\\u8154\\u7f8c\\u5899\\u8537\\u5f3a\\u62a2\\u5af1\\u6a2f\\u6217\\u709d\\u9516\\u9535\\u956a\\u8941\\u8723\\u7f9f\\u8deb\\u8dc4', 'qiao': '\\u6a47\\u9539\\u6572\\u6084\\u6865\\u77a7\\u4e54\\u4fa8\\u5de7\\u9798\\u64ac\\u7fd8\\u5ced\\u4fcf\\u7a8d\\u5281\\u8bee\\u8c2f\\u835e\\u6100\\u6194\\u7f32\\u6a35\\u6bf3\\u7857\\u8df7\\u9792', 'qie': '\\u5207\\u8304\\u4e14\\u602f\\u7a83\\u90c4\\u553c\\u60ec\\u59be\\u6308\\u9532\\u7ba7', 'qin': '\\u94a6\\u4fb5\\u4eb2\\u79e6\\u7434\\u52e4\\u82b9\\u64d2\\u79bd\\u5bdd\\u6c81\\u82a9\\u84c1\\u8572\\u63ff\\u5423\\u55ea\\u5659\\u6eb1\\u6a8e\\u8793\\u887e', 'qing': '\\u9752\\u8f7b\\u6c22\\u503e\\u537f\\u6e05\\u64ce\\u6674\\u6c30\\u60c5\\u9877\\u8bf7\\u5e86\\u5029\\u82d8\\u570a\\u6aa0\\u78ec\\u873b\\u7f44\\u7b90\\u8b26\\u9cad\\u9ee5', 'qiong': '\\u743c\\u7a77\\u909b\\u8315\\u7a79\\u7b47\\u928e', 'qiu': '\\u79cb\\u4e18\\u90b1\\u7403\\u6c42\\u56da\\u914b\\u6cc5\\u4fc5\\u6c3d\\u5def\\u827d\\u72b0\\u6e6b\\u9011\\u9052\\u6978\\u8d47\\u9e20\\u866c\\u86af\\u8764\\u88d8\\u7cd7\\u9cc5\\u9f3d', 'qu': '\\u8d8b\\u533a\\u86c6\\u66f2\\u8eaf\\u5c48\\u9a71\\u6e20\\u53d6\\u5a36\\u9f8b\\u8da3\\u53bb\\u8bce\\u52ac\\u8556\\u8627\\u5c96\\u8862\\u9612\\u74a9\\u89d1\\u6c0d\\u795b\\u78f2\\u766f\\u86d0\\u883c\\u9eb4\\u77bf\\u9ee2', 'quan': '\\u5708\\u98a7\\u6743\\u919b\\u6cc9\\u5168\\u75ca\\u62f3\\u72ac\\u5238\\u529d\\u8be0\\u8343\\u737e\\u609b\\u7efb\\u8f81\\u754e\\u94e8\\u8737\\u7b4c\\u9b08', 'que': '\\u7f3a\\u7094\\u7638\\u5374\\u9e4a\\u69b7\\u786e\\u96c0\\u9619\\u60ab', 'qun': '\\u88d9\\u7fa4\\u9021', 'ran': '\\u7136\\u71c3\\u5189\\u67d3\\u82d2\\u9aef', 'rang': '\\u74e4\\u58e4\\u6518\\u56b7\\u8ba9\\u79b3\\u7a70', 'rao': '\\u9976\\u6270\\u7ed5\\u835b\\u5a06\\u6861', 'ruo': '\\u60f9\\u82e5\\u5f31', 're': '\\u70ed\\u504c', 'ren': '\\u58ec\\u4ec1\\u4eba\\u5fcd\\u97e7\\u4efb\\u8ba4\\u5203\\u598a\\u7eab\\u4ede\\u834f\\u845a\\u996a\\u8f6b\\u7a14\\u887d', 'reng': '\\u6254\\u4ecd', 'ri': '\\u65e5', 'rong': '\\u620e\\u8338\\u84c9\\u8363\\u878d\\u7194\\u6eb6\\u5bb9\\u7ed2\\u5197\\u5d58\\u72e8\\u7f1b\\u6995\\u877e', 'rou': '\\u63c9\\u67d4\\u8089\\u7cc5\\u8e42\\u97a3', 'ru': '\\u8339\\u8815\\u5112\\u5b7a\\u5982\\u8fb1\\u4e73\\u6c5d\\u5165\\u8925\\u84d0\\u85b7\\u5685\\u6d33\\u6ebd\\u6fe1\\u94f7\\u8966\\u98a5', 'ruan': '\\u8f6f\\u962e\\u670a', 'rui': '\\u854a\\u745e\\u9510\\u82ae\\u8564\\u777f\\u868b', 'run': '\\u95f0\\u6da6', 'sa': '\\u6492\\u6d12\\u8428\\u5345\\u4ee8\\u6332\\u98d2', 'sai': '\\u816e\\u9cc3\\u585e\\u8d5b\\u567b', 'san': '\\u4e09\\u53c1\\u4f1e\\u6563\\u5f61\\u9993\\u6c35\\u6bf5\\u7cc1\\u9730', 'sang': '\\u6851\\u55d3\\u4e27\\u6421\\u78c9\\u98a1', 'sao': '\\u6414\\u9a9a\\u626b\\u5ac2\\u57fd\\u81ca\\u7619\\u9ccb', 'se': '\\u745f\\u8272\\u6da9\\u556c\\u94e9\\u94ef\\u7a51', 'sen': '\\u68ee', 'seng': '\\u50e7', 'sha': '\\u838e\\u7802\\u6740\\u5239\\u6c99\\u7eb1\\u50bb\\u5565\\u715e\\u810e\\u6b43\\u75e7\\u88df\\u970e\\u9ca8', 'shai': '\\u7b5b\\u6652\\u917e', 'shan': '\\u73ca\\u82eb\\u6749\\u5c71\\u5220\\u717d\\u886b\\u95ea\\u9655\\u64c5\\u8d61\\u81b3\\u5584\\u6c55\\u6247\\u7f2e\\u5261\\u8baa\\u912f\\u57cf\\u829f\\u6f78\\u59d7\\u9a9f\\u81bb\\u9490\\u759d\\u87ee\\u8222\\u8dda\\u9cdd', 'shang': '\\u5892\\u4f24\\u5546\\u8d4f\\u664c\\u4e0a\\u5c1a\\u88f3\\u57a7\\u7ef1\\u6b87\\u71b5\\u89de', 'shao': '\\u68a2\\u634e\\u7a0d\\u70e7\\u828d\\u52fa\\u97f6\\u5c11\\u54e8\\u90b5\\u7ecd\\u52ad\\u82d5\\u6f72\\u86f8\\u7b24\\u7b72\\u8244', 'she': '\\u5962\\u8d4a\\u86c7\\u820c\\u820d\\u8d66\\u6444\\u5c04\\u6151\\u6d89\\u793e\\u8bbe\\u538d\\u4f58\\u731e\\u7572\\u9e9d', 'shen': '\\u7837\\u7533\\u547b\\u4f38\\u8eab\\u6df1\\u5a20\\u7ec5\\u795e\\u6c88\\u5ba1\\u5a76\\u751a\\u80be\\u614e\\u6e17\\u8bdc\\u8c02\\u5432\\u54c2\\u6e16\\u6939\\u77e7\\u8703', 'sheng': '\\u58f0\\u751f\\u7525\\u7272\\u5347\\u7ef3\\u7701\\u76db\\u5269\\u80dc\\u5723\\u4e1e\\u6e11\\u5ab5\\u771a\\u7b19', 'shi': '\\u5e08\\u5931\\u72ee\\u65bd\\u6e7f\\u8bd7\\u5c38\\u8671\\u5341\\u77f3\\u62fe\\u65f6\\u4ec0\\u98df\\u8680\\u5b9e\\u8bc6\\u53f2\\u77e2\\u4f7f\\u5c4e\\u9a76\\u59cb\\u5f0f\\u793a\\u58eb\\u4e16\\u67ff\\u4e8b\\u62ed\\u8a93\\u901d\\u52bf\\u662f\\u55dc\\u566c\\u9002\\u4ed5\\u4f8d\\u91ca\\u9970\\u6c0f\\u5e02\\u6043\\u5ba4\\u89c6\\u8bd5\\u8c25\\u57d8\\u83b3\\u84cd\\u5f11\\u5511\\u9963\\u8f7c\\u8006\\u8d33\\u70bb\\u793b\\u94c8\\u94ca\\u87ab\\u8210\\u7b6e\\u8c55\\u9ca5\\u9cba', 'shou': '\\u6536\\u624b\\u9996\\u5b88\\u5bff\\u6388\\u552e\\u53d7\\u7626\\u517d\\u624c\\u72e9\\u7ef6\\u824f', 'shu': '\\u852c\\u67a2\\u68b3\\u6b8a\\u6292\\u8f93\\u53d4\\u8212\\u6dd1\\u758f\\u4e66\\u8d4e\\u5b70\\u719f\\u85af\\u6691\\u66d9\\u7f72\\u8700\\u9ecd\\u9f20\\u5c5e\\u672f\\u8ff0\\u6811\\u675f\\u620d\\u7ad6\\u5885\\u5eb6\\u6570\\u6f31\\u6055\\u500f\\u587e\\u83fd\\u5fc4\\u6cad\\u6d91\\u6f8d\\u59dd\\u7ebe\\u6bf9\\u8167\\u6bb3\\u956f\\u79eb\\u9e6c', 'shua': '\\u5237\\u800d\\u5530\\u6dae', 'shuai': '\\u6454\\u8870\\u7529\\u5e05\\u87c0', 'shuan': '\\u6813\\u62f4\\u95e9', 'shuang': '\\u971c\\u53cc\\u723d\\u5b40', 'shui': '\\u8c01\\u6c34\\u7761\\u7a0e', 'shun': '\\u542e\\u77ac\\u987a\\u821c\\u6042', 'shuo': '\\u8bf4\\u7855\\u6714\\u70c1\\u84b4\\u6420\\u55cd\\u6fef\\u5981\\u69ca\\u94c4', 'si': '\\u65af\\u6495\\u5636\\u601d\\u79c1\\u53f8\\u4e1d\\u6b7b\\u8086\\u5bfa\\u55e3\\u56db\\u4f3a\\u4f3c\\u9972\\u5df3\\u53ae\\u4fdf\\u5155\\u83e5\\u549d\\u6c5c\\u6cd7\\u6f8c\\u59d2\\u9a77\\u7f0c\\u7940\\u7960\\u9536\\u9e36\\u801c\\u86f3\\u7b25', 'song': '\\u677e\\u8038\\u6002\\u9882\\u9001\\u5b8b\\u8bbc\\u8bf5\\u51c7\\u83d8\\u5d27\\u5d69\\u5fea\\u609a\\u6dde\\u7ae6', 'sou': '\\u641c\\u8258\\u64de\\u55fd\\u53df\\u55d6\\u55fe\\u998a\\u6eb2\\u98d5\\u778d\\u953c\\u878b', 'su': '\\u82cf\\u9165\\u4fd7\\u7d20\\u901f\\u7c9f\\u50f3\\u5851\\u6eaf\\u5bbf\\u8bc9\\u8083\\u5919\\u8c21\\u850c\\u55c9\\u612b\\u7c0c\\u89eb\\u7a23', 'suan': '\\u9178\\u849c\\u7b97', 'sui': '\\u867d\\u968b\\u968f\\u7ee5\\u9ad3\\u788e\\u5c81\\u7a57\\u9042\\u96a7\\u795f\\u84d1\\u51ab\\u8c07\\u6fc9\\u9083\\u71e7\\u772d\\u7762', 'sun': '\\u5b59\\u635f\\u7b0b\\u836a\\u72f2\\u98e7\\u69ab\\u8de3\\u96bc', 'suo': '\\u68ad\\u5506\\u7f29\\u7410\\u7d22\\u9501\\u6240\\u5522\\u55e6\\u5a11\\u686b\\u7743\\u7fa7', 'ta': '\\u584c\\u4ed6\\u5b83\\u5979\\u5854\\u736d\\u631e\\u8e4b\\u8e0f\\u95fc\\u6ebb\\u9062\\u69bb\\u6c93', 'tai': '\\u80ce\\u82d4\\u62ac\\u53f0\\u6cf0\\u915e\\u592a\\u6001\\u6c70\\u90b0\\u85b9\\u80bd\\u70b1\\u949b\\u8dc6\\u9c90', 'tan': '\\u574d\\u644a\\u8d2a\\u762b\\u6ee9\\u575b\\u6a80\\u75f0\\u6f6d\\u8c2d\\u8c08\\u5766\\u6bef\\u8892\\u78b3\\u63a2\\u53f9\\u70ad\\u90ef\\u8548\\u6619\\u94bd\\u952c\\u8983', 'tang': '\\u6c64\\u5858\\u642a\\u5802\\u68e0\\u819b\\u5510\\u7cd6\\u50a5\\u9967\\u6e8f\\u746d\\u94f4\\u9557\\u8025\\u8797\\u87b3\\u7fb0\\u91a3', 'thang': '\\u5018\\u8eba\\u6dcc', 'theng': '\\u8d9f\\u70eb', 'tao': '\\u638f\\u6d9b\\u6ed4\\u7ee6\\u8404\\u6843\\u9003\\u6dd8\\u9676\\u8ba8\\u5957\\u6311\\u9f17\\u5555\\u97ec\\u9955', 'te': '\\u7279', 'teng': '\\u85e4\\u817e\\u75bc\\u8a8a\\u6ed5', 'ti': '\\u68af\\u5254\\u8e22\\u9511\\u63d0\\u9898\\u8e44\\u557c\\u4f53\\u66ff\\u568f\\u60d5\\u6d95\\u5243\\u5c49\\u8351\\u608c\\u9016\\u7ee8\\u7f07\\u9e48\\u88fc\\u918d', 'tian': '\\u5929\\u6dfb\\u586b\\u7530\\u751c\\u606c\\u8214\\u8146\\u63ad\\u5fdd\\u9617\\u6b84\\u754b\\u94bf\\u86ba', 'tiao': '\\u6761\\u8fe2\\u773a\\u8df3\\u4f7b\\u7967\\u94eb\\u7a95\\u9f86\\u9ca6', 'tie': '\\u8d34\\u94c1\\u5e16\\u841c\\u992e', 'ting': '\\u5385\\u542c\\u70c3\\u6c40\\u5ef7\\u505c\\u4ead\\u5ead\\u633a\\u8247\\u839b\\u8476\\u5a77\\u6883\\u8713\\u9706', 'tong': '\\u901a\\u6850\\u916e\\u77b3\\u540c\\u94dc\\u5f64\\u7ae5\\u6876\\u6345\\u7b52\\u7edf\\u75db\\u4f5f\\u50ee\\u4edd\\u833c\\u55f5\\u6078\\u6f7c\\u783c', 'tou': '\\u5077\\u6295\\u5934\\u900f\\u4ea0', 'tu': '\\u51f8\\u79c3\\u7a81\\u56fe\\u5f92\\u9014\\u6d82\\u5c60\\u571f\\u5410\\u5154\\u580d\\u837c\\u83df\\u948d\\u9174', 'tuan': '\\u6e4d\\u56e2\\u7583', 'tui': '\\u63a8\\u9893\\u817f\\u8715\\u892a\\u9000\\u5fd2\\u717a', 'tun': '\\u541e\\u5c6f\\u81c0\\u9968\\u66be\\u8c5a\\u7a80', 'tuo': '\\u62d6\\u6258\\u8131\\u9e35\\u9640\\u9a6e\\u9a7c\\u692d\\u59a5\\u62d3\\u553e\\u4e47\\u4f57\\u5768\\u5eb9\\u6cb1\\u67dd\\u7823\\u7ba8\\u8204\\u8dce\\u9f0d', 'wa': '\\u6316\\u54c7\\u86d9\\u6d3c\\u5a03\\u74e6\\u889c\\u4f64\\u5a32\\u817d', 'wai': '\\u6b6a\\u5916', 'wan': '\\u8c4c\\u5f2f\\u6e7e\\u73a9\\u987d\\u4e38\\u70f7\\u5b8c\\u7897\\u633d\\u665a\\u7696\\u60cb\\u5b9b\\u5a49\\u4e07\\u8155\\u525c\\u8284\\u82cb\\u83c0\\u7ea8\\u7efe\\u742c\\u8118\\u7579\\u873f\\u7ba2', 'wang': '\\u6c6a\\u738b\\u4ea1\\u6789\\u7f51\\u5f80\\u65fa\\u671b\\u5fd8\\u5984\\u7f54\\u5c22\\u60d8\\u8f8b\\u9b4d', 'wei': '\\u5a01\\u5dcd\\u5fae\\u5371\\u97e6\\u8fdd\\u6845\\u56f4\\u552f\\u60df\\u4e3a\\u6f4d\\u7ef4\\u82c7\\u840e\\u59d4\\u4f1f\\u4f2a\\u5c3e\\u7eac\\u672a\\u851a\\u5473\\u754f\\u80c3\\u5582\\u9b4f\\u4f4d\\u6e2d\\u8c13\\u5c09\\u6170\\u536b\\u502d\\u504e\\u8bff\\u9688\\u8473\\u8587\\u5e0f\\u5e37\\u5d34\\u5d6c\\u7325\\u732c\\u95f1\\u6ca9\\u6d27\\u6da0\\u9036\\u5a13\\u73ae\\u97ea\\u8ece\\u709c\\u7168\\u71a8\\u75ff\\u8249\\u9c94', 'wen': '\\u761f\\u6e29\\u868a\\u6587\\u95fb\\u7eb9\\u543b\\u7a33\\u7d0a\\u95ee\\u520e\\u6120\\u960c\\u6c76\\u74ba\\u97eb\\u6b81\\u96ef', 'weng': '\\u55e1\\u7fc1\\u74ee\\u84ca\\u8579', 'wo': '\\u631d\\u8717\\u6da1\\u7a9d\\u6211\\u65a1\\u5367\\u63e1\\u6c83\\u83b4\\u5e44\\u6e25\\u674c\\u809f\\u9f8c', 'wu': '\\u5deb\\u545c\\u94a8\\u4e4c\\u6c61\\u8bec\\u5c4b\\u65e0\\u829c\\u68a7\\u543e\\u5434\\u6bcb\\u6b66\\u4e94\\u6342\\u5348\\u821e\\u4f0d\\u4fae\\u575e\\u620a\\u96fe\\u6664\\u7269\\u52ff\\u52a1\\u609f\\u8bef\\u5140\\u4ef5\\u9622\\u90ac\\u572c\\u82b4\\u5e91\\u6003\\u5fe4\\u6d6f\\u5be4\\u8fd5\\u59a9\\u9a9b\\u727e\\u7110\\u9e49\\u9e5c\\u8708\\u92c8\\u9f2f', 'xi': '\\u6614\\u7199\\u6790\\u897f\\u7852\\u77fd\\u6670\\u563b\\u5438\\u9521\\u727a\\u7a00\\u606f\\u5e0c\\u6089\\u819d\\u5915\\u60dc\\u7184\\u70ef\\u6eaa\\u6c50\\u7280\\u6a84\\u88ad\\u5e2d\\u4e60\\u5ab3\\u559c\\u94e3\\u6d17\\u7cfb\\u9699\\u620f\\u7ec6\\u50d6\\u516e\\u96b0\\u90d7\\u831c\\u8478\\u84f0\\u595a\\u550f\\u5f99\\u9969\\u960b\\u6d60\\u6dc5\\u5c63\\u5b09\\u73ba\\u6a28\\u66e6\\u89cb\\u6b37\\u71b9\\u798a\\u79a7\\u94b8\\u7699\\u7a78\\u8725\\u87cb\\u823e\\u7fb2\\u7c9e\\u7fd5\\u91af\\u9f37', 'xia': '\\u778e\\u867e\\u5323\\u971e\\u8f96\\u6687\\u5ce1\\u4fa0\\u72ed\\u4e0b\\u53a6\\u590f\\u5413\\u6380\\u846d\\u55c4\\u72ce\\u9050\\u7455\\u7856\\u7615\\u7f45\\u9ee0', 'xian': '\\u9528\\u5148\\u4ed9\\u9c9c\\u7ea4\\u54b8\\u8d24\\u8854\\u8237\\u95f2\\u6d8e\\u5f26\\u5acc\\u663e\\u9669\\u73b0\\u732e\\u53bf\\u817a\\u9985\\u7fa1\\u5baa\\u9677\\u9650\\u7ebf\\u51bc\\u85d3\\u5c98\\u7303\\u66b9\\u5a34\\u6c19\\u7946\\u9e47\\u75eb\\u86ac\\u7b45\\u7c7c\\u9170\\u8df9', 'xiang': '\\u76f8\\u53a2\\u9576\\u9999\\u7bb1\\u8944\\u6e58\\u4e61\\u7fd4\\u7965\\u8be6\\u60f3\\u54cd\\u4eab\\u9879\\u5df7\\u6a61\\u50cf\\u5411\\u8c61\\u8297\\u8459\\u9977\\u5ea0\\u9aa7\\u7f03\\u87d3\\u9c9e\\u98e8', 'xiao': '\\u8427\\u785d\\u9704\\u524a\\u54ee\\u56a3\\u9500\\u6d88\\u5bb5\\u6dc6\\u6653\\u5c0f\\u5b5d\\u6821\\u8096\\u5578\\u7b11\\u6548\\u54d3\\u54bb\\u5d24\\u6f47\\u900d\\u9a81\\u7ee1\\u67ad\\u67b5\\u7b71\\u7bab\\u9b48', 'xie': '\\u6954\\u4e9b\\u6b47\\u874e\\u978b\\u534f\\u631f\\u643a\\u90aa\\u659c\\u80c1\\u8c10\\u5199\\u68b0\\u5378\\u87f9\\u61c8\\u6cc4\\u6cfb\\u8c22\\u5c51\\u5055\\u4eb5\\u52f0\\u71ee\\u85a4\\u64b7\\u5ee8\\u7023\\u9082\\u7ec1\\u7f2c\\u69ad\\u698d\\u6b59\\u8e9e', 'xin': '\\u85aa\\u82af\\u950c\\u6b23\\u8f9b\\u65b0\\u5ffb\\u5fc3\\u4fe1\\u8845\\u56df\\u99a8\\u8398\\u6b46\\u94fd\\u946b', 'xing': '\\u661f\\u8165\\u7329\\u60fa\\u5174\\u5211\\u578b\\u5f62\\u90a2\\u884c\\u9192\\u5e78\\u674f\\u6027\\u59d3\\u9649\\u8347\\u8365\\u64e4\\u60bb\\u784e', 'xiong': '\\u5144\\u51f6\\u80f8\\u5308\\u6c79\\u96c4\\u718a\\u828e', 'xiu': '\\u4f11\\u4fee\\u7f9e\\u673d\\u55c5\\u9508\\u79c0\\u8896\\u7ee3\\u83a0\\u5cab\\u9990\\u5ea5\\u9e3a\\u8c85\\u9af9', 'xu': '\\u589f\\u620c\\u9700\\u865a\\u5618\\u987b\\u5f90\\u8bb8\\u84c4\\u9157\\u53d9\\u65ed\\u5e8f\\u755c\\u6064\\u7d6e\\u5a7f\\u7eea\\u7eed\\u8bb4\\u8be9\\u5729\\u84ff\\u6035\\u6d2b\\u6e86\\u987c\\u6829\\u7166\\u7809\\u76f1\\u80e5\\u7cc8\\u9191', 'xuan': '\\u8f69\\u55a7\\u5ba3\\u60ac\\u65cb\\u7384\\u9009\\u7663\\u7729\\u7eda\\u5107\\u8c16\\u8431\\u63ce\\u9994\\u6ceb\\u6d35\\u6e32\\u6f29\\u7487\\u6966\\u6684\\u70ab\\u714a\\u78b9\\u94c9\\u955f\\u75c3', 'xue': '\\u9774\\u859b\\u5b66\\u7a74\\u96ea\\u8840\\u5671\\u6cf6\\u9cd5', 'xun': '\\u52cb\\u718f\\u5faa\\u65ec\\u8be2\\u5bfb\\u9a6f\\u5de1\\u6b89\\u6c5b\\u8bad\\u8baf\\u900a\\u8fc5\\u5dfd\\u57d9\\u8340\\u85b0\\u5ccb\\u5f87\\u6d54\\u66db\\u7aa8\\u91ba\\u9c9f', 'ya': '\\u538b\\u62bc\\u9e26\\u9e2d\\u5440\\u4e2b\\u82bd\\u7259\\u869c\\u5d16\\u8859\\u6daf\\u96c5\\u54d1\\u4e9a\\u8bb6\\u4f22\\u63e0\\u5416\\u5c88\\u8fd3\\u5a05\\u740a\\u6860\\u6c29\\u7811\\u775a\\u75d6', 'yan': '\\u7109\\u54bd\\u9609\\u70df\\u6df9\\u76d0\\u4e25\\u7814\\u8712\\u5ca9\\u5ef6\\u8a00\\u989c\\u960e\\u708e\\u6cbf\\u5944\\u63a9\\u773c\\u884d\\u6f14\\u8273\\u5830\\u71d5\\u538c\\u781a\\u96c1\\u5501\\u5f66\\u7130\\u5bb4\\u8c1a\\u9a8c\\u53a3\\u9765\\u8d5d\\u4fe8\\u5043\\u5156\\u8ba0\\u8c33\\u90fe\\u9122\\u82ab\\u83f8\\u5d26\\u6079\\u95eb\\u960f\\u6d07\\u6e6e\\u6edf\\u598d\\u5ae3\\u7430\\u664f\\u80ed\\u814c\\u7131\\u7f68\\u7b75\\u917d\\u9b47\\u990d\\u9f39', 'yang': '\\u6b83\\u592e\\u9e2f\\u79e7\\u6768\\u626c\\u4f6f\\u75a1\\u7f8a\\u6d0b\\u9633\\u6c27\\u4ef0\\u75d2\\u517b\\u6837\\u6f3e\\u5f89\\u600f\\u6cf1\\u7080\\u70ca\\u6059\\u86d8\\u9785', 'yao': '\\u9080\\u8170\\u5996\\u7476\\u6447\\u5c27\\u9065\\u7a91\\u8c23\\u59da\\u54ac\\u8200\\u836f\\u8981\\u8000\\u592d\\u723b\\u5406\\u5d3e\\u5fad\\u7039\\u5e7a\\u73e7\\u6773\\u66dc\\u80b4\\u9e5e\\u7a88\\u7e47\\u9cd0', 'ye': '\\u6930\\u564e\\u8036\\u7237\\u91ce\\u51b6\\u4e5f\\u9875\\u6396\\u4e1a\\u53f6\\u66f3\\u814b\\u591c\\u6db2\\u8c12\\u90ba\\u63f6\\u9980\\u6654\\u70e8\\u94d8', 'yi': '\\u4e00\\u58f9\\u533b\\u63d6\\u94f1\\u4f9d\\u4f0a\\u8863\\u9890\\u5937\\u9057\\u79fb\\u4eea\\u80f0\\u7591\\u6c82\\u5b9c\\u59e8\\u5f5d\\u6905\\u8681\\u501a\\u5df2\\u4e59\\u77e3\\u4ee5\\u827a\\u6291\\u6613\\u9091\\u5c79\\u4ebf\\u5f79\\u81c6\\u9038\\u8084\\u75ab\\u4ea6\\u88d4\\u610f\\u6bc5\\u5fc6\\u4e49\\u76ca\\u6ea2\\u8be3\\u8bae\\u8c0a\\u8bd1\\u5f02\\u7ffc\\u7fcc\\u7ece\\u5208\\u5293\\u4f7e\\u8bd2\\u572a\\u572f\\u57f8\\u61ff\\u82e1\\u858f\\u5f08\\u5955\\u6339\\u5f0b\\u5453\\u54a6\\u54bf\\u566b\\u5cc4\\u5db7\\u7317\\u9974\\u603f\\u6021\\u6092\\u6f2a\\u8fe4\\u9a7f\\u7f22\\u6baa\\u8d3b\\u65d6\\u71a0\\u9487\\u9552\\u9571\\u75cd\\u7617\\u7654\\u7fca\\u8864\\u8734\\u8223\\u7fbf\\u7ff3\\u914f\\u9edf', 'yin': '\\u8335\\u836b\\u56e0\\u6bb7\\u97f3\\u9634\\u59fb\\u541f\\u94f6\\u6deb\\u5bc5\\u996e\\u5c39\\u5f15\\u9690\\u5370\\u80e4\\u911e\\u5819\\u831a\\u5591\\u72fa\\u5924\\u6c24\\u94df\\u763e\\u8693\\u972a\\u9f88', 'ying': '\\u82f1\\u6a31\\u5a74\\u9e70\\u5e94\\u7f28\\u83b9\\u8424\\u8425\\u8367\\u8747\\u8fce\\u8d62\\u76c8\\u5f71\\u9896\\u786c\\u6620\\u5b34\\u90e2\\u8314\\u83ba\\u8426\\u6484\\u5624\\u81ba\\u6ee2\\u6f46\\u701b\\u745b\\u748e\\u6979\\u9e66\\u763f\\u988d\\u7f42', 'yo': '\\u54df\\u5537', 'yong': '\\u62e5\\u4f63\\u81c3\\u75c8\\u5eb8\\u96cd\\u8e0a\\u86f9\\u548f\\u6cf3\\u6d8c\\u6c38\\u607f\\u52c7\\u7528\\u4fd1\\u58c5\\u5889\\u6175\\u9095\\u955b\\u752c\\u9cd9\\u9954', 'you': '\\u5e7d\\u4f18\\u60a0\\u5fe7\\u5c24\\u7531\\u90ae\\u94c0\\u72b9\\u6cb9\\u6e38\\u9149\\u6709\\u53cb\\u53f3\\u4f51\\u91c9\\u8bf1\\u53c8\\u5e7c\\u5363\\u6538\\u4f91\\u83b8\\u5466\\u56ff\\u5ba5\\u67da\\u7337\\u7256\\u94d5\\u75a3\\u8763\\u9c7f\\u9edd\\u9f2c', 'yu': '\\u8fc2\\u6de4\\u4e8e\\u76c2\\u6986\\u865e\\u611a\\u8206\\u4f59\\u4fde\\u903e\\u9c7c\\u6109\\u6e1d\\u6e14\\u9685\\u4e88\\u5a31\\u96e8\\u4e0e\\u5c7f\\u79b9\\u5b87\\u8bed\\u7fbd\\u7389\\u57df\\u828b\\u90c1\\u5401\\u9047\\u55bb\\u5cea\\u5fa1\\u6108\\u6b32\\u72f1\\u80b2\\u8a89\\u6d74\\u5bd3\\u88d5\\u9884\\u8c6b\\u9a6d\\u79ba\\u6bd3\\u4f1b\\u4fe3\\u8c00\\u8c15\\u8438\\u84e3\\u63c4\\u5581\\u5704\\u5709\\u5d5b\\u72f3\\u996b\\u5ebe\\u9608\\u59aa\\u59a4\\u7ea1\\u745c\\u6631\\u89ce\\u8174\\u6b24\\u65bc\\u715c\\u71e0\\u807f\\u94b0\\u9e46\\u7610\\u7600\\u7ab3\\u8753\\u7afd\\u8201\\u96e9\\u9f89', 'yuan': '\\u9e33\\u6e0a\\u51a4\\u5143\\u57a3\\u8881\\u539f\\u63f4\\u8f95\\u56ed\\u5458\\u5706\\u733f\\u6e90\\u7f18\\u8fdc\\u82d1\\u613f\\u6028\\u9662\\u586c\\u6c85\\u5a9b\\u7457\\u6a7c\\u7230\\u7722\\u9e22\\u8788\\u9f0b', 'yue': '\\u66f0\\u7ea6\\u8d8a\\u8dc3\\u94a5\\u5cb3\\u7ca4\\u6708\\u60a6\\u9605\\u9fa0\\u6a3e\\u5216\\u94ba', 'yun': '\\u8018\\u4e91\\u90e7\\u5300\\u9668\\u5141\\u8fd0\\u8574\\u915d\\u6655\\u97f5\\u5b55\\u90d3\\u82b8\\u72c1\\u607d\\u7ead\\u6b92\\u6600\\u6c32', 'za': '\\u531d\\u7838\\u6742\\u62f6\\u5482', 'zai': '\\u683d\\u54c9\\u707e\\u5bb0\\u8f7d\\u518d\\u5728\\u54b1\\u5d3d\\u753e', 'zan': '\\u6512\\u6682\\u8d5e\\u74d2\\u661d\\u7c2a\\u7ccc\\u8db1\\u933e', 'zang': '\\u8d43\\u810f\\u846c\\u5958\\u6215\\u81e7', 'zao': '\\u906d\\u7cdf\\u51ff\\u85fb\\u67a3\\u65e9\\u6fa1\\u86a4\\u8e81\\u566a\\u9020\\u7682\\u7076\\u71e5\\u5523\\u7f2b', 'ze': '\\u8d23\\u62e9\\u5219\\u6cfd\\u4ec4\\u8d5c\\u5567\\u8fee\\u6603\\u7b2e\\u7ba6\\u8234', 'zei': '\\u8d3c', 'zen': '\\u600e\\u8c2e', 'zeng': '\\u589e\\u618e\\u66fe\\u8d60\\u7f2f\\u7511\\u7f7e\\u9503', 'zha': '\\u624e\\u55b3\\u6e23\\u672d\\u8f67\\u94e1\\u95f8\\u7728\\u6805\\u69a8\\u548b\\u4e4d\\u70b8\\u8bc8\\u63f8\\u5412\\u54a4\\u54f3\\u600d\\u781f\\u75c4\\u86b1\\u9f44', 'zhai': '\\u6458\\u658b\\u5b85\\u7a84\\u503a\\u5be8\\u7826', 'zhan': '\\u77bb\\u6be1\\u8a79\\u7c98\\u6cbe\\u76cf\\u65a9\\u8f97\\u5d2d\\u5c55\\u8638\\u6808\\u5360\\u6218\\u7ad9\\u6e5b\\u7efd\\u8c35\\u640c\\u65c3', 'zhang': '\\u6a1f\\u7ae0\\u5f70\\u6f33\\u5f20\\u638c\\u6da8\\u6756\\u4e08\\u5e10\\u8d26\\u4ed7\\u80c0\\u7634\\u969c\\u4ec9\\u9123\\u5e5b\\u5d82\\u7350\\u5adc\\u748b\\u87d1', 'zhao': '\\u62db\\u662d\\u627e\\u6cbc\\u8d75\\u7167\\u7f69\\u5146\\u8087\\u53ec\\u722a\\u8bcf\\u68f9\\u948a\\u7b0a', 'zhe': '\\u906e\\u6298\\u54f2\\u86f0\\u8f99\\u8005\\u9517\\u8517\\u8fd9\\u6d59\\u8c2a\\u966c\\u67d8\\u8f84\\u78d4\\u9e67\\u891a\\u8707\\u8d6d', 'zhen': '\\u73cd\\u659f\\u771f\\u7504\\u7827\\u81fb\\u8d1e\\u9488\\u4fa6\\u6795\\u75b9\\u8bca\\u9707\\u632f\\u9547\\u9635\\u7f1c\\u6862\\u699b\\u8f78\\u8d48\\u80d7\\u6715\\u796f\\u755b\\u9e29', 'zheng': '\\u84b8\\u6323\\u7741\\u5f81\\u72f0\\u4e89\\u6014\\u6574\\u62ef\\u6b63\\u653f\\u5e27\\u75c7\\u90d1\\u8bc1\\u8be4\\u5ce5\\u94b2\\u94ee\\u7b5d', 'zhi': '\\u829d\\u679d\\u652f\\u5431\\u8718\\u77e5\\u80a2\\u8102\\u6c41\\u4e4b\\u7ec7\\u804c\\u76f4\\u690d\\u6b96\\u6267\\u503c\\u4f84\\u5740\\u6307\\u6b62\\u8dbe\\u53ea\\u65e8\\u7eb8\\u5fd7\\u631a\\u63b7\\u81f3\\u81f4\\u7f6e\\u5e1c\\u5cd9\\u5236\\u667a\\u79e9\\u7a1a\\u8d28\\u7099\\u75d4\\u6ede\\u6cbb\\u7a92\\u536e\\u965f\\u90c5\\u57f4\\u82b7\\u646d\\u5e19\\u5fee\\u5f58\\u54ab\\u9a98\\u6809\\u67b3\\u6800\\u684e\\u8f75\\u8f7e\\u6534\\u8d3d\\u81a3\\u7949\\u7957\\u9ef9\\u96c9\\u9e37\\u75e3\\u86ed\\u7d77\\u916f\\u8dd6\\u8e2c\\u8e2f\\u8c78\\u89ef', 'zhong': '\\u4e2d\\u76c5\\u5fe0\\u949f\\u8877\\u7ec8\\u79cd\\u80bf\\u91cd\\u4ef2\\u4f17\\u51a2\\u953a\\u87bd\\u8202\\u822f\\u8e35', 'zhou': '\\u821f\\u5468\\u5dde\\u6d32\\u8bcc\\u7ca5\\u8f74\\u8098\\u5e1a\\u5492\\u76b1\\u5b99\\u663c\\u9aa4\\u5544\\u7740\\u501c\\u8bf9\\u836e\\u9b3b\\u7ea3\\u80c4\\u78a1\\u7c40\\u8233\\u914e\\u9cb7', 'zhu': '\\u73e0\\u682a\\u86db\\u6731\\u732a\\u8bf8\\u8bdb\\u9010\\u7af9\\u70db\\u716e\\u62c4\\u77a9\\u5631\\u4e3b\\u8457\\u67f1\\u52a9\\u86c0\\u8d2e\\u94f8\\u7b51\\u4f4f\\u6ce8\\u795d\\u9a7b\\u4f2b\\u4f8f\\u90be\\u82ce\\u8331\\u6d19\\u6e1a\\u6f74\\u9a7a\\u677c\\u69e0\\u6a65\\u70b7\\u94e2\\u75b0\\u7603\\u86b0\\u7afa\\u7bb8\\u7fe5\\u8e85\\u9e88', 'zhua': '\\u6293', 'zhuai': '\\u62fd', 'zhuan': '\\u4e13\\u7816\\u8f6c\\u64b0\\u8d5a\\u7bc6\\u629f\\u556d\\u989b', 'zhuang': '\\u6869\\u5e84\\u88c5\\u5986\\u649e\\u58ee\\u72b6\\u4e2c', 'zhui': '\\u690e\\u9525\\u8ffd\\u8d58\\u5760\\u7f00\\u8411\\u9a93\\u7f12', 'zhun': '\\u8c06\\u51c6', 'zhuo': '\\u6349\\u62d9\\u5353\\u684c\\u7422\\u8301\\u914c\\u707c\\u6d4a\\u502c\\u8bfc\\u5ef4\\u855e\\u64e2\\u555c\\u6d5e\\u6dbf\\u6753\\u712f\\u799a\\u65ab', 'zi': '\\u5179\\u54a8\\u8d44\\u59ff\\u6ecb\\u6dc4\\u5b5c\\u7d2b\\u4ed4\\u7c7d\\u6ed3\\u5b50\\u81ea\\u6e0d\\u5b57\\u8c18\\u5d6b\\u59ca\\u5b73\\u7f01\\u6893\\u8f8e\\u8d40\\u6063\\u7726\\u9531\\u79ed\\u8014\\u7b2b\\u7ca2\\u89dc\\u8a3e\\u9cbb\\u9aed', 'zong': '\\u9b03\\u68d5\\u8e2a\\u5b97\\u7efc\\u603b\\u7eb5\\u8159\\u7cbd', 'zou': '\\u90b9\\u8d70\\u594f\\u63cd\\u9139\\u9cb0', 'zu': '\\u79df\\u8db3\\u5352\\u65cf\\u7956\\u8bc5\\u963b\\u7ec4\\u4fce\\u83f9\\u5550\\u5f82\\u9a75\\u8e74', 'zuan': '\\u94bb\\u7e82\\u6525\\u7f35', 'zui': '\\u5634\\u9189\\u6700\\u7f6a', 'zun': '\\u5c0a\\u9075\\u6499\\u6a3d\\u9cdf', 'zuo': '\\u6628\\u5de6\\u4f50\\u67de\\u505a\\u4f5c\\u5750\\u5ea7\\u961d\\u963c\\u80d9\\u795a\\u9162', 'cou': '\\u85ae\\u6971\\u8f8f\\u8160', 'nang': '\\u652e\\u54dd\\u56d4\\u9995\\u66e9', 'o': '\\u5594', 'dia': '\\u55f2', 'chuai': '\\u562c\\u81aa\\u8e39', 'cen': '\\u5c91\\u6d94', 'diu': '\\u94e5', 'nou': '\\u8028', 'fou': '\\u7f36', 'bia': '\\u9adf' }\n function getPinyin (ch) {\n for (var pinyin in pinyins) {\n if (pinyins[pinyin].indexOf(ch) !== -1) {\n return pinyin\n }\n }\n }\n return {\n toPinyin: function (chs) {\n var result\n var pinyin = chs\n var chExpr = /[\\u4E00-\\u9FA5]/gm\n while ((result = chExpr.exec(chs)) != null) {\n var ch = result[0]\n var charPinyin = getPinyin(ch)\n pinyin = pinyin.replace(result[0], charPinyin)\n }\n return pinyin\n },\n toCapitalize: function (word) {\n if (word.length > 0) {\n var wordFirst = word.substr(0, 1).toUpperCase()\n var wordExtra = word.substr(1, word.length)\n return wordFirst + wordExtra\n }\n },\n colors: {\n 'a': '#52c7fe',\n 'b': '#52c7fe',\n 'c': '#52c7fe',\n 'd': '#52c7fe',\n 'e': '#52c7fe',\n 'f': '#ffaf01',\n 'g': '#ffaf01',\n 'h': '#ffaf01',\n 'i': '#ffaf01',\n 'j': '#ffaf01',\n 'k': '#3ae3eb',\n 'l': '#3ae3eb',\n 'm': '#3ae3eb',\n 'n': '#3ae3eb',\n 'o': '#3ae3eb',\n 'p': '#ff6e36',\n 'q': '#ff6e36',\n 'r': '#ff6e36',\n 's': '#ff6e36',\n 't': '#ff6e36',\n 'u': '#cf7af3',\n 'v': '#cf7af3',\n 'w': '#cf7af3',\n 'x': '#cf7af3',\n 'y': '#cf7af3',\n 'z': '#4cd32e',\n '0': '#52c7fe',\n '1': '#52c7fe',\n '2': '#52c7fe',\n '3': '#52c7fe',\n '4': '#52c7fe',\n '5': '#ffaf01',\n '6': '#ffaf01',\n '7': '#ffaf01',\n '8': '#ffaf01',\n '9': '#ffaf01'\n }\n }\n})()\n\nwindow.String.prototype.toPinyin = function () {\n return PinyinHelper.toPinyin(this)\n}\nwindow.String.prototype.toCapitalize = function () {\n return PinyinHelper.toCapitalize(this)\n}\nwindow.String.prototype.toColor = function () {\n if (!/^[A-Za-z0-9]+$/.test(this)) return\n if (this.length > 1) return PinyinHelper.colors[this.substring(0, 1).toLowerCase()]\n return PinyinHelper.colors[this.toLowerCase()]\n}\n","/** @license React v16.9.0\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),q=require(\"scheduler\");function t(a){for(var b=a.message,c=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+b,d=1;d<arguments.length;d++)c+=\"&args[]=\"+encodeURIComponent(arguments[d]);a.message=\"Minified React error #\"+b+\"; visit \"+c+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings. \";return a}if(!aa)throw t(Error(227));var ba=null,ca={};\nfunction da(){if(ba)for(var a in ca){var b=ca[a],c=ba.indexOf(a);if(!(-1<c))throw t(Error(96),a);if(!ea[c]){if(!b.extractEvents)throw t(Error(97),a);ea[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],h=b,g=d;if(fa.hasOwnProperty(g))throw t(Error(99),g);fa[g]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ha(k[e],h,g);e=!0}else f.registrationName?(ha(f.registrationName,h,g),e=!0):e=!1;if(!e)throw t(Error(98),d,a);}}}}\nfunction ha(a,b,c){if(ia[a])throw t(Error(100),a);ia[a]=b;ja[a]=b.eventTypes[c].dependencies}var ea=[],fa={},ia={},ja={};function ka(a,b,c,d,e,f,h,g,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var la=!1,ma=null,na=!1,oa=null,pa={onError:function(a){la=!0;ma=a}};function qa(a,b,c,d,e,f,h,g,k){la=!1;ma=null;ka.apply(pa,arguments)}\nfunction ra(a,b,c,d,e,f,h,g,k){qa.apply(this,arguments);if(la){if(la){var l=ma;la=!1;ma=null}else throw t(Error(198));na||(na=!0,oa=l)}}var sa=null,ta=null,va=null;function wa(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=va(c);ra(d,b,void 0,a);a.currentTarget=null}function xa(a,b){if(null==b)throw t(Error(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}\nfunction ya(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var za=null;function Aa(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)wa(a,b[d],c[d]);else b&&wa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function Ba(a){null!==a&&(za=xa(za,a));a=za;za=null;if(a){ya(a,Aa);if(za)throw t(Error(95));if(na)throw a=oa,na=!1,oa=null,a;}}\nvar Ca={injectEventPluginOrder:function(a){if(ba)throw t(Error(101));ba=Array.prototype.slice.call(a);da()},injectEventPluginsByName:function(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!ca.hasOwnProperty(c)||ca[c]!==d){if(ca[c])throw t(Error(102),c);ca[c]=d;b=!0}}b&&da()}};\nfunction Da(a,b){var c=a.stateNode;if(!c)return null;var d=sa(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw t(Error(231),b,typeof c);\nreturn c}var Ea=Math.random().toString(36).slice(2),Fa=\"__reactInternalInstance$\"+Ea,Ga=\"__reactEventHandlers$\"+Ea;function Ha(a){if(a[Fa])return a[Fa];for(;!a[Fa];)if(a.parentNode)a=a.parentNode;else return null;a=a[Fa];return 5===a.tag||6===a.tag?a:null}function Ia(a){a=a[Fa];return!a||5!==a.tag&&6!==a.tag?null:a}function Ja(a){if(5===a.tag||6===a.tag)return a.stateNode;throw t(Error(33));}function Ka(a){return a[Ga]||null}function La(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Ma(a,b,c){if(b=Da(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=xa(c._dispatchListeners,b),c._dispatchInstances=xa(c._dispatchInstances,a)}function Na(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=La(b);for(b=c.length;0<b--;)Ma(c[b],\"captured\",a);for(b=0;b<c.length;b++)Ma(c[b],\"bubbled\",a)}}\nfunction Oa(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Da(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=xa(c._dispatchListeners,b),c._dispatchInstances=xa(c._dispatchInstances,a))}function Pa(a){a&&a.dispatchConfig.registrationName&&Oa(a._targetInst,null,a)}function Qa(a){ya(a,Na)}var Ra=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement);\nfunction Sa(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Ta={animationend:Sa(\"Animation\",\"AnimationEnd\"),animationiteration:Sa(\"Animation\",\"AnimationIteration\"),animationstart:Sa(\"Animation\",\"AnimationStart\"),transitionend:Sa(\"Transition\",\"TransitionEnd\")},Ua={},Va={};\nRa&&(Va=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ta.animationend.animation,delete Ta.animationiteration.animation,delete Ta.animationstart.animation),\"TransitionEvent\"in window||delete Ta.transitionend.transition);function Wa(a){if(Ua[a])return Ua[a];if(!Ta[a])return a;var b=Ta[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Va)return Ua[a]=b[c];return a}\nvar Xa=Wa(\"animationend\"),Ya=Wa(\"animationiteration\"),Za=Wa(\"animationstart\"),ab=Wa(\"transitionend\"),bb=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),cb=null,db=null,eb=null;\nfunction fb(){if(eb)return eb;var a,b=db,c=b.length,d,e=\"value\"in cb?cb.value:cb.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var h=c-a;for(d=1;d<=h&&b[c-d]===e[f-d];d++);return eb=e.slice(a,1<d?1-d:void 0)}function gb(){return!0}function hb(){return!1}\nfunction y(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?gb:hb;this.isPropagationStopped=hb;return this}\nm(y.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=gb)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=gb)},persist:function(){this.isPersistent=gb},isPersistent:hb,destructor:function(){var a=this.constructor.Interface,\nb;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=hb;this._dispatchInstances=this._dispatchListeners=null}});y.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\ny.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;m(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=m({},d.Interface,a);c.extend=d.extend;ib(c);return c};ib(y);function jb(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction kb(a){if(!(a instanceof this))throw t(Error(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function ib(a){a.eventPool=[];a.getPooled=jb;a.release=kb}var lb=y.extend({data:null}),mb=y.extend({data:null}),nb=[9,13,27,32],ob=Ra&&\"CompositionEvent\"in window,pb=null;Ra&&\"documentMode\"in document&&(pb=document.documentMode);\nvar qb=Ra&&\"TextEvent\"in window&&!pb,sb=Ra&&(!ob||pb&&8<pb&&11>=pb),tb=String.fromCharCode(32),ub={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},vb=!1;\nfunction wb(a,b){switch(a){case \"keyup\":return-1!==nb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function xb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var yb=!1;function Ab(a,b){switch(a){case \"compositionend\":return xb(b);case \"keypress\":if(32!==b.which)return null;vb=!0;return tb;case \"textInput\":return a=b.data,a===tb&&vb?null:a;default:return null}}\nfunction Bb(a,b){if(yb)return\"compositionend\"===a||!ob&&wb(a,b)?(a=fb(),eb=db=cb=null,yb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return sb&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar Cb={eventTypes:ub,extractEvents:function(a,b,c,d){var e=void 0;var f=void 0;if(ob)b:{switch(a){case \"compositionstart\":e=ub.compositionStart;break b;case \"compositionend\":e=ub.compositionEnd;break b;case \"compositionupdate\":e=ub.compositionUpdate;break b}e=void 0}else yb?wb(a,c)&&(e=ub.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(e=ub.compositionStart);e?(sb&&\"ko\"!==c.locale&&(yb||e!==ub.compositionStart?e===ub.compositionEnd&&yb&&(f=fb()):(cb=d,db=\"value\"in cb?cb.value:cb.textContent,yb=\n!0)),e=lb.getPooled(e,b,c,d),f?e.data=f:(f=xb(c),null!==f&&(e.data=f)),Qa(e),f=e):f=null;(a=qb?Ab(a,c):Bb(a,c))?(b=mb.getPooled(ub.beforeInput,b,c,d),b.data=a,Qa(b)):b=null;return null===f?b:null===b?f:[f,b]}},Db=null,Eb=null,Fb=null;function Gb(a){if(a=ta(a)){if(\"function\"!==typeof Db)throw t(Error(280));var b=sa(a.stateNode);Db(a.stateNode,a.type,b)}}function Hb(a){Eb?Fb?Fb.push(a):Fb=[a]:Eb=a}function Ib(){if(Eb){var a=Eb,b=Fb;Fb=Eb=null;Gb(a);if(b)for(a=0;a<b.length;a++)Gb(b[a])}}\nfunction Jb(a,b){return a(b)}function Kb(a,b,c,d){return a(b,c,d)}function Lb(){}var Mb=Jb,Nb=!1;function Ob(){if(null!==Eb||null!==Fb)Lb(),Ib()}var Pb={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Qb(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!Pb[a.type]:\"textarea\"===b?!0:!1}\nfunction Rb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function Sb(a){if(!Ra)return!1;a=\"on\"+a;var b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}function Tb(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ub(a){var b=Tb(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Vb(a){a._valueTracker||(a._valueTracker=Ub(a))}function Wb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Tb(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}var Xb=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Xb.hasOwnProperty(\"ReactCurrentDispatcher\")||(Xb.ReactCurrentDispatcher={current:null});Xb.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Xb.ReactCurrentBatchConfig={suspense:null});\nvar Yb=/^(.*)[\\\\\\/]/,B=\"function\"===typeof Symbol&&Symbol.for,Zb=B?Symbol.for(\"react.element\"):60103,$b=B?Symbol.for(\"react.portal\"):60106,ac=B?Symbol.for(\"react.fragment\"):60107,bc=B?Symbol.for(\"react.strict_mode\"):60108,cc=B?Symbol.for(\"react.profiler\"):60114,dc=B?Symbol.for(\"react.provider\"):60109,ec=B?Symbol.for(\"react.context\"):60110,fc=B?Symbol.for(\"react.concurrent_mode\"):60111,gc=B?Symbol.for(\"react.forward_ref\"):60112,hc=B?Symbol.for(\"react.suspense\"):60113,ic=B?Symbol.for(\"react.suspense_list\"):\n60120,jc=B?Symbol.for(\"react.memo\"):60115,kc=B?Symbol.for(\"react.lazy\"):60116;B&&Symbol.for(\"react.fundamental\");B&&Symbol.for(\"react.responder\");var lc=\"function\"===typeof Symbol&&Symbol.iterator;function mc(a){if(null===a||\"object\"!==typeof a)return null;a=lc&&a[lc]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nfunction oc(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ac:return\"Fragment\";case $b:return\"Portal\";case cc:return\"Profiler\";case bc:return\"StrictMode\";case hc:return\"Suspense\";case ic:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case ec:return\"Context.Consumer\";case dc:return\"Context.Provider\";case gc:var b=a.render;b=b.displayName||b.name||\"\";return a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\n\"ForwardRef\");case jc:return oc(a.type);case kc:if(a=1===a._status?a._result:null)return oc(a)}return null}function pc(a){var b=\"\";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c=\"\";break a;default:var d=a._debugOwner,e=a._debugSource,f=oc(a.type);c=null;d&&(c=oc(d.type));d=f;f=\"\";e?f=\" (at \"+e.fileName.replace(Yb,\"\")+\":\"+e.lineNumber+\")\":c&&(f=\" (created by \"+c+\")\");c=\"\\n in \"+(d||\"Unknown\")+f}b+=c;a=a.return}while(a);return b}\nvar qc=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,rc=Object.prototype.hasOwnProperty,sc={},tc={};\nfunction uc(a){if(rc.call(tc,a))return!0;if(rc.call(sc,a))return!1;if(qc.test(a))return tc[a]=!0;sc[a]=!0;return!1}function vc(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction wc(a,b,c,d){if(null===b||\"undefined\"===typeof b||vc(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function D(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var F={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){F[a]=new D(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];F[b]=new D(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){F[a]=new D(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){F[a]=new D(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){F[a]=new D(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){F[a]=new D(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){F[a]=new D(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){F[a]=new D(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){F[a]=new D(a,5,!1,a.toLowerCase(),null,!1)});var xc=/[\\-:]([a-z])/g;function yc(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(xc,\nyc);F[b]=new D(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(xc,yc);F[b]=new D(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(xc,yc);F[b]=new D(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){F[a]=new D(a,1,!1,a.toLowerCase(),null,!1)});\nF.xlinkHref=new D(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){F[a]=new D(a,1,!1,a.toLowerCase(),null,!0)});\nfunction zc(a,b,c,d){var e=F.hasOwnProperty(b)?F[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(wc(b,c,e,d)&&(c=null),d||null===e?uc(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nfunction Ac(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Bc(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}\nfunction Cc(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ac(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Dc(a,b){b=b.checked;null!=b&&zc(a,\"checked\",b,!1)}\nfunction Ec(a,b){Dc(a,b);var c=Ac(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?Fc(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Fc(a,b.type,Ac(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Gc(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction Fc(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var Hc={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function Ic(a,b,c){a=y.getPooled(Hc.change,a,b,c);a.type=\"change\";Hb(c);Qa(a);return a}var Jc=null,Kc=null;function Lc(a){Ba(a)}\nfunction Mc(a){var b=Ja(a);if(Wb(b))return a}function Nc(a,b){if(\"change\"===a)return b}var Oc=!1;Ra&&(Oc=Sb(\"input\")&&(!document.documentMode||9<document.documentMode));function Pc(){Jc&&(Jc.detachEvent(\"onpropertychange\",Qc),Kc=Jc=null)}function Qc(a){if(\"value\"===a.propertyName&&Mc(Kc))if(a=Ic(Kc,a,Rb(a)),Nb)Ba(a);else{Nb=!0;try{Jb(Lc,a)}finally{Nb=!1,Ob()}}}function Rc(a,b,c){\"focus\"===a?(Pc(),Jc=b,Kc=c,Jc.attachEvent(\"onpropertychange\",Qc)):\"blur\"===a&&Pc()}\nfunction Sc(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return Mc(Kc)}function Tc(a,b){if(\"click\"===a)return Mc(b)}function Uc(a,b){if(\"input\"===a||\"change\"===a)return Mc(b)}\nvar Vc={eventTypes:Hc,_isInputEventSupported:Oc,extractEvents:function(a,b,c,d){var e=b?Ja(b):window,f=void 0,h=void 0,g=e.nodeName&&e.nodeName.toLowerCase();\"select\"===g||\"input\"===g&&\"file\"===e.type?f=Nc:Qb(e)?Oc?f=Uc:(f=Sc,h=Rc):(g=e.nodeName)&&\"input\"===g.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(f=Tc);if(f&&(f=f(a,b)))return Ic(f,c,d);h&&h(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Fc(e,\"number\",e.value)}},Wc=y.extend({view:null,detail:null}),Xc={Alt:\"altKey\",\nControl:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Yc(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Xc[a])?!!b[a]:!1}function Zc(){return Yc}\nvar $c=0,ad=0,bd=!1,cd=!1,dd=Wc.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Zc,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if(\"movementX\"in a)return a.movementX;var b=$c;$c=a.screenX;return bd?\"mousemove\"===a.type?a.screenX-b:0:(bd=!0,0)},movementY:function(a){if(\"movementY\"in a)return a.movementY;\nvar b=ad;ad=a.screenY;return cd?\"mousemove\"===a.type?a.screenY-b:0:(cd=!0,0)}}),ed=dd.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),fd={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",\ndependencies:[\"pointerout\",\"pointerover\"]}},gd={eventTypes:fd,extractEvents:function(a,b,c,d){var e=\"mouseover\"===a||\"pointerover\"===a,f=\"mouseout\"===a||\"pointerout\"===a;if(e&&(c.relatedTarget||c.fromElement)||!f&&!e)return null;e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window;f?(f=b,b=(b=c.relatedTarget||c.toElement)?Ha(b):null):f=null;if(f===b)return null;var h=void 0,g=void 0,k=void 0,l=void 0;if(\"mouseout\"===a||\"mouseover\"===a)h=dd,g=fd.mouseLeave,k=fd.mouseEnter,l=\"mouse\";\nelse if(\"pointerout\"===a||\"pointerover\"===a)h=ed,g=fd.pointerLeave,k=fd.pointerEnter,l=\"pointer\";var n=null==f?e:Ja(f);e=null==b?e:Ja(b);a=h.getPooled(g,f,c,d);a.type=l+\"leave\";a.target=n;a.relatedTarget=e;c=h.getPooled(k,b,c,d);c.type=l+\"enter\";c.target=e;c.relatedTarget=n;d=b;if(f&&d)a:{b=f;e=d;l=0;for(h=b;h;h=La(h))l++;h=0;for(k=e;k;k=La(k))h++;for(;0<l-h;)b=La(b),l--;for(;0<h-l;)e=La(e),h--;for(;l--;){if(b===e||b===e.alternate)break a;b=La(b);e=La(e)}b=null}else b=null;e=b;for(b=[];f&&f!==e;){l=\nf.alternate;if(null!==l&&l===e)break;b.push(f);f=La(f)}for(f=[];d&&d!==e;){l=d.alternate;if(null!==l&&l===e)break;f.push(d);d=La(d)}for(d=0;d<b.length;d++)Oa(b[d],\"bubbled\",a);for(d=f.length;0<d--;)Oa(f[d],\"captured\",c);return[a,c]}};function hd(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var id=Object.prototype.hasOwnProperty;\nfunction jd(a,b){if(hd(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!id.call(b,c[d])||!hd(a[c[d]],b[c[d]]))return!1;return!0}function kd(a,b){return{responder:a,props:b}}new Map;new Map;new Set;new Map;\nfunction ld(a){var b=a;if(a.alternate)for(;b.return;)b=b.return;else{if(0!==(b.effectTag&2))return 1;for(;b.return;)if(b=b.return,0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function od(a){if(2!==ld(a))throw t(Error(188));}\nfunction pd(a){var b=a.alternate;if(!b){b=ld(a);if(3===b)throw t(Error(188));return 1===b?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return od(e),a;if(f===d)return od(e),b;f=f.sibling}throw t(Error(188));}if(c.return!==d.return)c=e,d=f;else{for(var h=!1,g=e.child;g;){if(g===c){h=!0;c=e;d=f;break}if(g===d){h=!0;d=e;c=f;break}g=g.sibling}if(!h){for(g=f.child;g;){if(g===\nc){h=!0;c=f;d=e;break}if(g===d){h=!0;d=f;c=e;break}g=g.sibling}if(!h)throw t(Error(189));}}if(c.alternate!==d)throw t(Error(190));}if(3!==c.tag)throw t(Error(188));return c.stateNode.current===c?a:b}function qd(a){a=pd(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nvar rd=y.extend({animationName:null,elapsedTime:null,pseudoElement:null}),sd=y.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),td=Wc.extend({relatedTarget:null});function ud(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar vd={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},wd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},xd=Wc.extend({key:function(a){if(a.key){var b=vd[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=ud(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?wd[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Zc,charCode:function(a){return\"keypress\"===\na.type?ud(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?ud(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),yd=dd.extend({dataTransfer:null}),zd=Wc.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Zc}),Ad=y.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),Bd=dd.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),Cd=[[\"blur\",\"blur\",0],[\"cancel\",\"cancel\",0],[\"click\",\"click\",0],[\"close\",\"close\",0],[\"contextmenu\",\"contextMenu\",0],[\"copy\",\"copy\",0],[\"cut\",\"cut\",0],[\"auxclick\",\"auxClick\",0],[\"dblclick\",\"doubleClick\",0],[\"dragend\",\"dragEnd\",0],[\"dragstart\",\"dragStart\",0],[\"drop\",\"drop\",0],[\"focus\",\"focus\",0],[\"input\",\"input\",0],[\"invalid\",\"invalid\",0],\n[\"keydown\",\"keyDown\",0],[\"keypress\",\"keyPress\",0],[\"keyup\",\"keyUp\",0],[\"mousedown\",\"mouseDown\",0],[\"mouseup\",\"mouseUp\",0],[\"paste\",\"paste\",0],[\"pause\",\"pause\",0],[\"play\",\"play\",0],[\"pointercancel\",\"pointerCancel\",0],[\"pointerdown\",\"pointerDown\",0],[\"pointerup\",\"pointerUp\",0],[\"ratechange\",\"rateChange\",0],[\"reset\",\"reset\",0],[\"seeked\",\"seeked\",0],[\"submit\",\"submit\",0],[\"touchcancel\",\"touchCancel\",0],[\"touchend\",\"touchEnd\",0],[\"touchstart\",\"touchStart\",0],[\"volumechange\",\"volumeChange\",0],[\"drag\",\"drag\",\n1],[\"dragenter\",\"dragEnter\",1],[\"dragexit\",\"dragExit\",1],[\"dragleave\",\"dragLeave\",1],[\"dragover\",\"dragOver\",1],[\"mousemove\",\"mouseMove\",1],[\"mouseout\",\"mouseOut\",1],[\"mouseover\",\"mouseOver\",1],[\"pointermove\",\"pointerMove\",1],[\"pointerout\",\"pointerOut\",1],[\"pointerover\",\"pointerOver\",1],[\"scroll\",\"scroll\",1],[\"toggle\",\"toggle\",1],[\"touchmove\",\"touchMove\",1],[\"wheel\",\"wheel\",1],[\"abort\",\"abort\",2],[Xa,\"animationEnd\",2],[Ya,\"animationIteration\",2],[Za,\"animationStart\",2],[\"canplay\",\"canPlay\",2],[\"canplaythrough\",\n\"canPlayThrough\",2],[\"durationchange\",\"durationChange\",2],[\"emptied\",\"emptied\",2],[\"encrypted\",\"encrypted\",2],[\"ended\",\"ended\",2],[\"error\",\"error\",2],[\"gotpointercapture\",\"gotPointerCapture\",2],[\"load\",\"load\",2],[\"loadeddata\",\"loadedData\",2],[\"loadedmetadata\",\"loadedMetadata\",2],[\"loadstart\",\"loadStart\",2],[\"lostpointercapture\",\"lostPointerCapture\",2],[\"playing\",\"playing\",2],[\"progress\",\"progress\",2],[\"seeking\",\"seeking\",2],[\"stalled\",\"stalled\",2],[\"suspend\",\"suspend\",2],[\"timeupdate\",\"timeUpdate\",\n2],[ab,\"transitionEnd\",2],[\"waiting\",\"waiting\",2]],Dd={},Ed={},Fd=0;for(;Fd<Cd.length;Fd++){var Gd=Cd[Fd],Hd=Gd[0],Id=Gd[1],Jd=Gd[2],Kd=\"on\"+(Id[0].toUpperCase()+Id.slice(1)),Ld={phasedRegistrationNames:{bubbled:Kd,captured:Kd+\"Capture\"},dependencies:[Hd],eventPriority:Jd};Dd[Id]=Ld;Ed[Hd]=Ld}\nvar Md={eventTypes:Dd,getEventPriority:function(a){a=Ed[a];return void 0!==a?a.eventPriority:2},extractEvents:function(a,b,c,d){var e=Ed[a];if(!e)return null;switch(a){case \"keypress\":if(0===ud(c))return null;case \"keydown\":case \"keyup\":a=xd;break;case \"blur\":case \"focus\":a=td;break;case \"click\":if(2===c.button)return null;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=dd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=\nyd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=zd;break;case Xa:case Ya:case Za:a=rd;break;case ab:a=Ad;break;case \"scroll\":a=Wc;break;case \"wheel\":a=Bd;break;case \"copy\":case \"cut\":case \"paste\":a=sd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=ed;break;default:a=y}b=a.getPooled(e,b,c,d);Qa(b);return b}},Nd=Md.getEventPriority,Od=[];\nfunction Pd(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d;for(d=c;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo;if(!d)break;a.ancestors.push(c);c=Ha(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=Rb(a.nativeEvent);d=a.topLevelType;for(var f=a.nativeEvent,h=null,g=0;g<ea.length;g++){var k=ea[g];k&&(k=k.extractEvents(d,b,f,e))&&(h=xa(h,k))}Ba(h)}}var Qd=!0;function G(a,b){Rd(b,a,!1)}\nfunction Rd(a,b,c){switch(Nd(b)){case 0:var d=Sd.bind(null,b,1);break;case 1:d=Td.bind(null,b,1);break;default:d=Ud.bind(null,b,1)}c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function Sd(a,b,c){Nb||Lb();var d=Ud,e=Nb;Nb=!0;try{Kb(d,a,b,c)}finally{(Nb=e)||Ob()}}function Td(a,b,c){Ud(a,b,c)}\nfunction Ud(a,b,c){if(Qd){b=Rb(c);b=Ha(b);null===b||\"number\"!==typeof b.tag||2===ld(b)||(b=null);if(Od.length){var d=Od.pop();d.topLevelType=a;d.nativeEvent=c;d.targetInst=b;a=d}else a={topLevelType:a,nativeEvent:c,targetInst:b,ancestors:[]};try{if(c=a,Nb)Pd(c,void 0);else{Nb=!0;try{Mb(Pd,c,void 0)}finally{Nb=!1,Ob()}}}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>Od.length&&Od.push(a)}}}var Vd=new (\"function\"===typeof WeakMap?WeakMap:Map);\nfunction Wd(a){var b=Vd.get(a);void 0===b&&(b=new Set,Vd.set(a,b));return b}function Xd(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function Yd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Zd(a,b){var c=Yd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Yd(c)}}function $d(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?$d(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction ae(){for(var a=window,b=Xd();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xd(a.document)}return b}function be(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar ce=Ra&&\"documentMode\"in document&&11>=document.documentMode,de={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ee=null,fe=null,ge=null,he=!1;\nfunction ie(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(he||null==ee||ee!==Xd(c))return null;c=ee;\"selectionStart\"in c&&be(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return ge&&jd(ge,c)?null:(ge=c,a=y.getPooled(de.select,fe,a,b),a.type=\"select\",a.target=ee,Qa(a),a)}\nvar je={eventTypes:de,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Wd(e);f=ja.onSelect;for(var h=0;h<f.length;h++)if(!e.has(f[h])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?Ja(b):window;switch(a){case \"focus\":if(Qb(e)||\"true\"===e.contentEditable)ee=e,fe=b,ge=null;break;case \"blur\":ge=fe=ee=null;break;case \"mousedown\":he=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":return he=!1,ie(c,d);case \"selectionchange\":if(ce)break;\ncase \"keydown\":case \"keyup\":return ie(c,d)}return null}};Ca.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));sa=Ka;ta=Ia;va=Ja;Ca.injectEventPluginsByName({SimpleEventPlugin:Md,EnterLeaveEventPlugin:gd,ChangeEventPlugin:Vc,SelectEventPlugin:je,BeforeInputEventPlugin:Cb});function ke(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}\nfunction le(a,b){a=m({children:void 0},b);if(b=ke(b.children))a.children=b;return a}function me(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Ac(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction ne(a,b){if(null!=b.dangerouslySetInnerHTML)throw t(Error(91));return m({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function oe(a,b){var c=b.value;if(null==c){c=b.defaultValue;b=b.children;if(null!=b){if(null!=c)throw t(Error(92));if(Array.isArray(b)){if(!(1>=b.length))throw t(Error(93));b=b[0]}c=b}null==c&&(c=\"\")}a._wrapperState={initialValue:Ac(c)}}\nfunction pe(a,b){var c=Ac(b.value),d=Ac(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function qe(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var re={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction se(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function te(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?se(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ue=void 0,ve=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==re.svg||\"innerHTML\"in a)a.innerHTML=b;else{ue=ue||document.createElement(\"div\");ue.innerHTML=\"<svg>\"+b+\"</svg>\";for(b=ue.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction we(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar xe={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ye=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(xe).forEach(function(a){ye.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);xe[b]=xe[a]})});function ze(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||xe.hasOwnProperty(a)&&xe[a]?(\"\"+b).trim():b+\"px\"}\nfunction Ae(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ze(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var Ce=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction De(a,b){if(b){if(Ce[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw t(Error(137),a,\"\");if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw t(Error(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw t(Error(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw t(Error(62),\"\");}}\nfunction Ee(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nfunction Fe(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Wd(a);b=ja[b];for(var d=0;d<b.length;d++){var e=b[d];if(!c.has(e)){switch(e){case \"scroll\":Rd(a,\"scroll\",!0);break;case \"focus\":case \"blur\":Rd(a,\"focus\",!0);Rd(a,\"blur\",!0);c.add(\"blur\");c.add(\"focus\");break;case \"cancel\":case \"close\":Sb(e)&&Rd(a,e,!0);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===bb.indexOf(e)&&G(e,a)}c.add(e)}}}function Ge(){}var He=null,Ie=null;\nfunction Je(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}function Ke(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Le=\"function\"===typeof setTimeout?setTimeout:void 0,Me=\"function\"===typeof clearTimeout?clearTimeout:void 0;\nfunction Ne(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}new Set;var Oe=[],Pe=-1;function H(a){0>Pe||(a.current=Oe[Pe],Oe[Pe]=null,Pe--)}function J(a,b){Pe++;Oe[Pe]=a.current;a.current=b}var Qe={},L={current:Qe},M={current:!1},Re=Qe;\nfunction Se(a,b){var c=a.type.contextTypes;if(!c)return Qe;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function N(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Te(a){H(M,a);H(L,a)}function Ue(a){H(M,a);H(L,a)}\nfunction Ve(a,b,c){if(L.current!==Qe)throw t(Error(168));J(L,b,a);J(M,c,a)}function We(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw t(Error(108),oc(b)||\"Unknown\",e);return m({},c,d)}function Xe(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||Qe;Re=L.current;J(L,b,a);J(M,M.current,a);return!0}\nfunction Ye(a,b,c){var d=a.stateNode;if(!d)throw t(Error(169));c?(b=We(a,b,Re),d.__reactInternalMemoizedMergedChildContext=b,H(M,a),H(L,a),J(L,b,a)):H(M,a);J(M,c,a)}\nvar Ze=q.unstable_runWithPriority,$e=q.unstable_scheduleCallback,af=q.unstable_cancelCallback,bf=q.unstable_shouldYield,cf=q.unstable_requestPaint,df=q.unstable_now,ef=q.unstable_getCurrentPriorityLevel,ff=q.unstable_ImmediatePriority,hf=q.unstable_UserBlockingPriority,jf=q.unstable_NormalPriority,kf=q.unstable_LowPriority,lf=q.unstable_IdlePriority,mf={},nf=void 0!==cf?cf:function(){},of=null,pf=null,qf=!1,rf=df(),sf=1E4>rf?df:function(){return df()-rf};\nfunction tf(){switch(ef()){case ff:return 99;case hf:return 98;case jf:return 97;case kf:return 96;case lf:return 95;default:throw t(Error(332));}}function uf(a){switch(a){case 99:return ff;case 98:return hf;case 97:return jf;case 96:return kf;case 95:return lf;default:throw t(Error(332));}}function vf(a,b){a=uf(a);return Ze(a,b)}function wf(a,b,c){a=uf(a);return $e(a,b,c)}function xf(a){null===of?(of=[a],pf=$e(ff,yf)):of.push(a);return mf}function O(){null!==pf&&af(pf);yf()}\nfunction yf(){if(!qf&&null!==of){qf=!0;var a=0;try{var b=of;vf(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});of=null}catch(c){throw null!==of&&(of=of.slice(a+1)),$e(ff,O),c;}finally{qf=!1}}}function zf(a,b){if(1073741823===b)return 99;if(1===b)return 95;a=10*(1073741821-b)-10*(1073741821-a);return 0>=a?99:250>=a?98:5250>=a?97:95}function Af(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}\nfunction Bf(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:a._status=0;b=a._ctor;b=b();b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)});switch(a._status){case 1:return a._result;case 2:throw a._result;}a._result=b;throw b;}}var Cf={current:null},Df=null,Ef=null,Ff=null;function Gf(){Ff=Ef=Df=null}\nfunction Hf(a,b){var c=a.type._context;J(Cf,c._currentValue,a);c._currentValue=b}function If(a){var b=Cf.current;H(Cf,a);a.type._context._currentValue=b}function Jf(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}}\nfunction Kf(a,b){Df=a;Ff=Ef=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(Lf=!0),a.firstContext=null)}function Mf(a,b){if(Ff!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)Ff=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===Ef){if(null===Df)throw t(Error(308));Ef=b;Df.dependencies={expirationTime:0,firstContext:b,responders:null}}else Ef=Ef.next=b}return a._currentValue}var Nf=!1;\nfunction Of(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Pf(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction Qf(a,b){return{expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Rf(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction Sf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=Of(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=Of(a.memoizedState),e=c.updateQueue=Of(c.memoizedState)):d=a.updateQueue=Pf(e):null===e&&(e=c.updateQueue=Pf(d));null===e||d===e?Rf(d,b):null===d.lastUpdate||null===e.lastUpdate?(Rf(d,b),Rf(e,b)):(Rf(d,b),e.lastUpdate=b)}\nfunction Tf(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=Of(a.memoizedState):Uf(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function Uf(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Pf(b));return b}\nfunction Vf(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-2049|64;case 0:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return m({},d,e);case 2:Nf=!0}return d}\nfunction Wf(a,b,c,d,e){Nf=!1;b=Uf(a,b);for(var f=b.baseState,h=null,g=0,k=b.firstUpdate,l=f;null!==k;){var n=k.expirationTime;n<e?(null===h&&(h=k,f=l),g<n&&(g=n)):(Xf(n,k.suspenseConfig),l=Vf(a,b,k,l,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=k:(b.lastEffect.nextEffect=k,b.lastEffect=k)));k=k.next}n=null;for(k=b.firstCapturedUpdate;null!==k;){var z=k.expirationTime;z<e?(null===n&&(n=k,null===h&&(f=l)),g<z&&(g=z)):(l=Vf(a,b,k,l,c,d),null!==\nk.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=k:(b.lastCapturedEffect.nextEffect=k,b.lastCapturedEffect=k)));k=k.next}null===h&&(b.lastUpdate=null);null===n?b.lastCapturedUpdate=null:a.effectTag|=32;null===h&&null===n&&(f=l);b.baseState=f;b.firstUpdate=h;b.firstCapturedUpdate=n;a.expirationTime=g;a.memoizedState=l}\nfunction Yf(a,b,c){null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null);Zf(b.firstEffect,c);b.firstEffect=b.lastEffect=null;Zf(b.firstCapturedEffect,c);b.firstCapturedEffect=b.lastCapturedEffect=null}function Zf(a,b){for(;null!==a;){var c=a.callback;if(null!==c){a.callback=null;var d=b;if(\"function\"!==typeof c)throw t(Error(191),c);c.call(d)}a=a.nextEffect}}\nvar $f=Xb.ReactCurrentBatchConfig,ag=(new aa.Component).refs;function bg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:m({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)}\nvar fg={isMounted:function(a){return(a=a._reactInternalFiber)?2===ld(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=cg(),e=$f.suspense;d=dg(d,a,e);e=Qf(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Sf(a,e);eg(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=cg(),e=$f.suspense;d=dg(d,a,e);e=Qf(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Sf(a,e);eg(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=cg(),d=$f.suspense;\nc=dg(c,a,d);d=Qf(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);Sf(a,d);eg(a,c)}};function gg(a,b,c,d,e,f,h){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,h):b.prototype&&b.prototype.isPureReactComponent?!jd(c,d)||!jd(e,f):!0}\nfunction hg(a,b,c){var d=!1,e=Qe;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Mf(f):(e=N(b)?Re:L.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Se(a,e):Qe);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=fg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction ig(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&fg.enqueueReplaceState(b,b.state,null)}\nfunction jg(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=ag;var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Mf(f):(f=N(b)?Re:L.current,e.context=Se(a,f));f=a.updateQueue;null!==f&&(Wf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;\"function\"===typeof f&&(bg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==\ntypeof e.componentWillMount||(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&fg.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(Wf(a,f,c,e,d),e.state=a.memoizedState));\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var kg=Array.isArray;\nfunction lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;if(c){if(1!==c.tag)throw t(Error(309));d=c.stateNode}if(!d)throw t(Error(147),a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===ag&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw t(Error(284));if(!c._owner)throw t(Error(290),a);}return a}\nfunction mg(a,b){if(\"textarea\"!==a.type)throw t(Error(31),\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\");}\nfunction ng(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=og(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function h(b){a&&null===b.alternate&&(b.effectTag=2);return b}function g(a,b,c,d){if(null===b||6!==b.tag)return b=pg(c,a.mode,d),b.return=a,b;b=e(b,c,d);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props,d),d.ref=lg(a,b,c),d.return=a,d;d=qg(c.type,c.key,c.props,null,a.mode,d);d.ref=lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==\nc.implementation)return b=rg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[],d);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=sg(c,a.mode,d,f),b.return=a,b;b=e(b,c,d);b.return=a;return b}function z(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=pg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Zb:return c=qg(b.type,b.key,b.props,null,a.mode,c),c.ref=lg(a,null,b),c.return=a,c;case $b:return b=rg(b,a.mode,c),b.return=a,b}if(kg(b)||\nmc(b))return b=sg(b,a.mode,c,null),b.return=a,b;mg(a,b)}return null}function x(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:g(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Zb:return c.key===e?c.type===ac?n(a,b,c.props.children,d,e):k(a,b,c,d):null;case $b:return c.key===e?l(a,b,c,d):null}if(kg(c)||mc(c))return null!==e?null:n(a,b,c,d,null);mg(a,c)}return null}function v(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=\na.get(c)||null,g(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Zb:return a=a.get(null===d.key?c:d.key)||null,d.type===ac?n(b,a,d.props.children,e,d.key):k(b,a,d,e);case $b:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(kg(d)||mc(d))return a=a.get(c)||null,n(b,a,d,e,null);mg(b,d)}return null}function rb(e,h,g,k){for(var l=null,u=null,n=h,w=h=0,C=null;null!==n&&w<g.length;w++){n.index>w?(C=n,n=null):C=n.sibling;var p=x(e,n,g[w],k);if(null===p){null===n&&(n=C);break}a&&\nn&&null===p.alternate&&b(e,n);h=f(p,h,w);null===u?l=p:u.sibling=p;u=p;n=C}if(w===g.length)return c(e,n),l;if(null===n){for(;w<g.length;w++)n=z(e,g[w],k),null!==n&&(h=f(n,h,w),null===u?l=n:u.sibling=n,u=n);return l}for(n=d(e,n);w<g.length;w++)C=v(n,e,w,g[w],k),null!==C&&(a&&null!==C.alternate&&n.delete(null===C.key?w:C.key),h=f(C,h,w),null===u?l=C:u.sibling=C,u=C);a&&n.forEach(function(a){return b(e,a)});return l}function Be(e,h,g,k){var l=mc(g);if(\"function\"!==typeof l)throw t(Error(150));g=l.call(g);\nif(null==g)throw t(Error(151));for(var n=l=null,u=h,w=h=0,C=null,p=g.next();null!==u&&!p.done;w++,p=g.next()){u.index>w?(C=u,u=null):C=u.sibling;var r=x(e,u,p.value,k);if(null===r){null===u&&(u=C);break}a&&u&&null===r.alternate&&b(e,u);h=f(r,h,w);null===n?l=r:n.sibling=r;n=r;u=C}if(p.done)return c(e,u),l;if(null===u){for(;!p.done;w++,p=g.next())p=z(e,p.value,k),null!==p&&(h=f(p,h,w),null===n?l=p:n.sibling=p,n=p);return l}for(u=d(e,u);!p.done;w++,p=g.next())p=v(u,e,w,p.value,k),null!==p&&(a&&null!==\np.alternate&&u.delete(null===p.key?w:p.key),h=f(p,h,w),null===n?l=p:n.sibling=p,n=p);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,g){var k=\"object\"===typeof f&&null!==f&&f.type===ac&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Zb:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){if(7===k.tag?f.type===ac:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===ac?f.props.children:f.props,g);d.ref=lg(a,k,f);d.return=a;a=d;break a}c(a,\nk);break}else b(a,k);k=k.sibling}f.type===ac?(d=sg(f.props.children,a.mode,g,f.key),d.return=a,a=d):(g=qg(f.type,f.key,f.props,null,a.mode,g),g.ref=lg(a,d,f),g.return=a,a=g)}return h(a);case $b:a:{for(k=f.key;null!==d;){if(d.key===k){if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],g);d.return=a;a=d;break a}c(a,d);break}else b(a,d);d=d.sibling}d=rg(f,a.mode,g);d.return=a;a=d}return h(a)}if(\"string\"===typeof f||\n\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,g),d.return=a,a=d):(c(a,d),d=pg(f,a.mode,g),d.return=a,a=d),h(a);if(kg(f))return rb(a,d,f,g);if(mc(f))return Be(a,d,f,g);l&&mg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,t(Error(152),a.displayName||a.name||\"Component\");}return c(a,d)}}var tg=ng(!0),ug=ng(!1),vg={},wg={current:vg},xg={current:vg},yg={current:vg};function zg(a){if(a===vg)throw t(Error(174));return a}\nfunction Ag(a,b){J(yg,b,a);J(xg,a,a);J(wg,vg,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:te(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=te(b,c)}H(wg,a);J(wg,b,a)}function Bg(a){H(wg,a);H(xg,a);H(yg,a)}function Cg(a){zg(yg.current);var b=zg(wg.current);var c=te(b,a.type);b!==c&&(J(xg,a,a),J(wg,c,a))}function Dg(a){xg.current===a&&(H(wg,a),H(xg,a))}var Eg=1,Fg=1,Gg=2,P={current:0};\nfunction Hg(a){for(var b=a;null!==b;){if(13===b.tag){if(null!==b.memoizedState)return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}\nvar Ig=0,Jg=2,Kg=4,Lg=8,Mg=16,Ng=32,Og=64,Pg=128,Qg=Xb.ReactCurrentDispatcher,Rg=0,Sg=null,Q=null,Tg=null,Ug=null,R=null,Vg=null,Wg=0,Xg=null,Yg=0,Zg=!1,$g=null,ah=0;function bh(){throw t(Error(321));}function ch(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!hd(a[c],b[c]))return!1;return!0}\nfunction dh(a,b,c,d,e,f){Rg=f;Sg=b;Tg=null!==a?a.memoizedState:null;Qg.current=null===Tg?eh:fh;b=c(d,e);if(Zg){do Zg=!1,ah+=1,Tg=null!==a?a.memoizedState:null,Vg=Ug,Xg=R=Q=null,Qg.current=fh,b=c(d,e);while(Zg);$g=null;ah=0}Qg.current=hh;a=Sg;a.memoizedState=Ug;a.expirationTime=Wg;a.updateQueue=Xg;a.effectTag|=Yg;a=null!==Q&&null!==Q.next;Rg=0;Vg=R=Ug=Tg=Q=Sg=null;Wg=0;Xg=null;Yg=0;if(a)throw t(Error(300));return b}\nfunction ih(){Qg.current=hh;Rg=0;Vg=R=Ug=Tg=Q=Sg=null;Wg=0;Xg=null;Yg=0;Zg=!1;$g=null;ah=0}function jh(){var a={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};null===R?Ug=R=a:R=R.next=a;return R}function kh(){if(null!==Vg)R=Vg,Vg=R.next,Q=Tg,Tg=null!==Q?Q.next:null;else{if(null===Tg)throw t(Error(310));Q=Tg;var a={memoizedState:Q.memoizedState,baseState:Q.baseState,queue:Q.queue,baseUpdate:Q.baseUpdate,next:null};R=null===R?Ug=a:R.next=a;Tg=Q.next}return R}\nfunction lh(a,b){return\"function\"===typeof b?b(a):b}\nfunction mh(a){var b=kh(),c=b.queue;if(null===c)throw t(Error(311));c.lastRenderedReducer=a;if(0<ah){var d=c.dispatch;if(null!==$g){var e=$g.get(c);if(void 0!==e){$g.delete(c);var f=b.memoizedState;do f=a(f,e.action),e=e.next;while(null!==e);hd(f,b.memoizedState)||(Lf=!0);b.memoizedState=f;b.baseUpdate===c.last&&(b.baseState=f);c.lastRenderedState=f;return[f,d]}}return[b.memoizedState,d]}d=c.last;var h=b.baseUpdate;f=b.baseState;null!==h?(null!==d&&(d.next=null),d=h.next):d=null!==d?d.next:null;if(null!==\nd){var g=e=null,k=d,l=!1;do{var n=k.expirationTime;n<Rg?(l||(l=!0,g=h,e=f),n>Wg&&(Wg=n)):(Xf(n,k.suspenseConfig),f=k.eagerReducer===a?k.eagerState:a(f,k.action));h=k;k=k.next}while(null!==k&&k!==d);l||(g=h,e=f);hd(f,b.memoizedState)||(Lf=!0);b.memoizedState=f;b.baseUpdate=g;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]}\nfunction nh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===Xg?(Xg={lastEffect:null},Xg.lastEffect=a.next=a):(b=Xg.lastEffect,null===b?Xg.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,Xg.lastEffect=a));return a}function oh(a,b,c,d){var e=jh();Yg|=a;e.memoizedState=nh(b,c,void 0,void 0===d?null:d)}\nfunction ph(a,b,c,d){var e=kh();d=void 0===d?null:d;var f=void 0;if(null!==Q){var h=Q.memoizedState;f=h.destroy;if(null!==d&&ch(d,h.deps)){nh(Ig,c,f,d);return}}Yg|=a;e.memoizedState=nh(b,c,f,d)}function qh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function rh(){}\nfunction sh(a,b,c){if(!(25>ah))throw t(Error(301));var d=a.alternate;if(a===Sg||null!==d&&d===Sg)if(Zg=!0,a={expirationTime:Rg,suspenseConfig:null,action:c,eagerReducer:null,eagerState:null,next:null},null===$g&&($g=new Map),c=$g.get(b),void 0===c)$g.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{var e=cg(),f=$f.suspense;e=dg(e,a,f);f={expirationTime:e,suspenseConfig:f,action:c,eagerReducer:null,eagerState:null,next:null};var h=b.last;if(null===h)f.next=f;else{var g=h.next;null!==g&&\n(f.next=g);h.next=f}b.last=f;if(0===a.expirationTime&&(null===d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var k=b.lastRenderedState,l=d(k,c);f.eagerReducer=d;f.eagerState=l;if(hd(l,k))return}catch(n){}finally{}eg(a,e)}}\nvar hh={readContext:Mf,useCallback:bh,useContext:bh,useEffect:bh,useImperativeHandle:bh,useLayoutEffect:bh,useMemo:bh,useReducer:bh,useRef:bh,useState:bh,useDebugValue:bh,useResponder:bh},eh={readContext:Mf,useCallback:function(a,b){jh().memoizedState=[a,void 0===b?null:b];return a},useContext:Mf,useEffect:function(a,b){return oh(516,Pg|Og,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return oh(4,Kg|Ng,qh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return oh(4,\nKg|Ng,a,b)},useMemo:function(a,b){var c=jh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=jh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=sh.bind(null,Sg,a);return[d.memoizedState,a]},useRef:function(a){var b=jh();a={current:a};return b.memoizedState=a},useState:function(a){var b=jh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue=\n{last:null,dispatch:null,lastRenderedReducer:lh,lastRenderedState:a};a=a.dispatch=sh.bind(null,Sg,a);return[b.memoizedState,a]},useDebugValue:rh,useResponder:kd},fh={readContext:Mf,useCallback:function(a,b){var c=kh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&ch(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:Mf,useEffect:function(a,b){return ph(516,Pg|Og,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ph(4,Kg|Ng,qh.bind(null,\nb,a),c)},useLayoutEffect:function(a,b){return ph(4,Kg|Ng,a,b)},useMemo:function(a,b){var c=kh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&ch(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:mh,useRef:function(){return kh().memoizedState},useState:function(a){return mh(lh,a)},useDebugValue:rh,useResponder:kd},th=null,uh=null,vh=!1;\nfunction wh(a,b){var c=xh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function yh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction zh(a){if(vh){var b=uh;if(b){var c=b;if(!yh(a,b)){b=Ne(c.nextSibling);if(!b||!yh(a,b)){a.effectTag|=2;vh=!1;th=a;return}wh(th,c)}th=a;uh=Ne(b.firstChild)}else a.effectTag|=2,vh=!1,th=a}}function Ah(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&18!==a.tag;)a=a.return;th=a}\nfunction Bh(a){if(a!==th)return!1;if(!vh)return Ah(a),vh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!Ke(b,a.memoizedProps))for(b=uh;b;)wh(a,b),b=Ne(b.nextSibling);Ah(a);uh=th?Ne(a.stateNode.nextSibling):null;return!0}function Ch(){uh=th=null;vh=!1}var Dh=Xb.ReactCurrentOwner,Lf=!1;function S(a,b,c,d){b.child=null===a?ug(b,null,c,d):tg(b,a.child,c,d)}\nfunction Eh(a,b,c,d,e){c=c.render;var f=b.ref;Kf(b,e);d=dh(a,b,c,d,f,e);if(null!==a&&!Lf)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Fh(a,b,e);b.effectTag|=1;S(a,b,d,e);return b.child}\nfunction Gh(a,b,c,d,e,f){if(null===a){var h=c.type;if(\"function\"===typeof h&&!Hh(h)&&void 0===h.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=h,Ih(a,b,h,d,e,f);a=qg(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}h=a.child;if(e<f&&(e=h.memoizedProps,c=c.compare,c=null!==c?c:jd,c(e,d)&&a.ref===b.ref))return Fh(a,b,f);b.effectTag|=1;a=og(h,d,f);a.ref=b.ref;a.return=b;return b.child=a}\nfunction Ih(a,b,c,d,e,f){return null!==a&&jd(a.memoizedProps,d)&&a.ref===b.ref&&(Lf=!1,e<f)?Fh(a,b,f):Jh(a,b,c,d,f)}function Kh(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function Jh(a,b,c,d,e){var f=N(c)?Re:L.current;f=Se(b,f);Kf(b,e);c=dh(a,b,c,d,f,e);if(null!==a&&!Lf)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Fh(a,b,e);b.effectTag|=1;S(a,b,c,e);return b.child}\nfunction Lh(a,b,c,d,e){if(N(c)){var f=!0;Xe(b)}else f=!1;Kf(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),hg(b,c,d,e),jg(b,c,d,e),d=!0;else if(null===a){var h=b.stateNode,g=b.memoizedProps;h.props=g;var k=h.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Mf(l):(l=N(c)?Re:L.current,l=Se(b,l));var n=c.getDerivedStateFromProps,z=\"function\"===typeof n||\"function\"===typeof h.getSnapshotBeforeUpdate;z||\"function\"!==typeof h.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof h.componentWillReceiveProps||(g!==d||k!==l)&&ig(b,h,d,l);Nf=!1;var x=b.memoizedState;k=h.state=x;var v=b.updateQueue;null!==v&&(Wf(b,v,d,h,e),k=b.memoizedState);g!==d||x!==k||M.current||Nf?(\"function\"===typeof n&&(bg(b,c,n,d),k=b.memoizedState),(g=Nf||gg(b,c,g,d,x,k,l))?(z||\"function\"!==typeof h.UNSAFE_componentWillMount&&\"function\"!==typeof h.componentWillMount||(\"function\"===typeof h.componentWillMount&&h.componentWillMount(),\"function\"===typeof h.UNSAFE_componentWillMount&&\nh.UNSAFE_componentWillMount()),\"function\"===typeof h.componentDidMount&&(b.effectTag|=4)):(\"function\"===typeof h.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),h.props=d,h.state=k,h.context=l,d=g):(\"function\"===typeof h.componentDidMount&&(b.effectTag|=4),d=!1)}else h=b.stateNode,g=b.memoizedProps,h.props=b.type===b.elementType?g:Af(b.type,g),k=h.context,l=c.contextType,\"object\"===typeof l&&null!==l?l=Mf(l):(l=N(c)?Re:L.current,l=Se(b,l)),n=c.getDerivedStateFromProps,(z=\n\"function\"===typeof n||\"function\"===typeof h.getSnapshotBeforeUpdate)||\"function\"!==typeof h.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof h.componentWillReceiveProps||(g!==d||k!==l)&&ig(b,h,d,l),Nf=!1,k=b.memoizedState,x=h.state=k,v=b.updateQueue,null!==v&&(Wf(b,v,d,h,e),x=b.memoizedState),g!==d||k!==x||M.current||Nf?(\"function\"===typeof n&&(bg(b,c,n,d),x=b.memoizedState),(n=Nf||gg(b,c,g,d,k,x,l))?(z||\"function\"!==typeof h.UNSAFE_componentWillUpdate&&\"function\"!==typeof h.componentWillUpdate||\n(\"function\"===typeof h.componentWillUpdate&&h.componentWillUpdate(d,x,l),\"function\"===typeof h.UNSAFE_componentWillUpdate&&h.UNSAFE_componentWillUpdate(d,x,l)),\"function\"===typeof h.componentDidUpdate&&(b.effectTag|=4),\"function\"===typeof h.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof h.componentDidUpdate||g===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof h.getSnapshotBeforeUpdate||g===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=\nd,b.memoizedState=x),h.props=d,h.state=x,h.context=l,d=n):(\"function\"!==typeof h.componentDidUpdate||g===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof h.getSnapshotBeforeUpdate||g===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return Mh(a,b,c,d,f,e)}\nfunction Mh(a,b,c,d,e,f){Kh(a,b);var h=0!==(b.effectTag&64);if(!d&&!h)return e&&Ye(b,c,!1),Fh(a,b,f);d=b.stateNode;Dh.current=b;var g=h&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&h?(b.child=tg(b,a.child,null,f),b.child=tg(b,null,g,f)):S(a,b,g,f);b.memoizedState=d.state;e&&Ye(b,c,!0);return b.child}function Nh(a){var b=a.stateNode;b.pendingContext?Ve(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Ve(a,b.context,!1);Ag(a,b.containerInfo)}\nvar Oh={};\nfunction Ph(a,b,c){var d=b.mode,e=b.pendingProps,f=P.current,h=null,g=!1,k;(k=0!==(b.effectTag&64))||(k=0!==(f&Gg)&&(null===a||null!==a.memoizedState));k?(h=Oh,g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=Fg);f&=Eg;J(P,f,b);if(null===a)if(g){e=e.fallback;a=sg(null,d,0,null);a.return=b;if(0===(b.mode&2))for(g=null!==b.memoizedState?b.child.child:b.child,a.child=g;null!==g;)g.return=a,g=g.sibling;c=sg(e,d,c,null);c.return=b;a.sibling=\nc;d=a}else d=c=ug(b,null,e.children,c);else{if(null!==a.memoizedState)if(f=a.child,d=f.sibling,g){e=e.fallback;c=og(f,f.pendingProps,0);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==f.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;e=og(d,e,d.expirationTime);e.return=b;c.sibling=e;d=c;c.childExpirationTime=0;c=e}else d=c=tg(b,f.child,e.children,c);else if(f=a.child,g){g=e.fallback;e=sg(null,d,0,null);e.return=b;e.child=f;null!==f&&(f.return=e);if(0===(b.mode&\n2))for(f=null!==b.memoizedState?b.child.child:b.child,e.child=f;null!==f;)f.return=e,f=f.sibling;c=sg(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;d=e;e.childExpirationTime=0}else c=d=tg(b,f,e.children,c);b.stateNode=a.stateNode}b.memoizedState=h;b.child=d;return c}function Qh(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,last:d,tail:c,tailExpiration:0,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.last=d,f.tail=c,f.tailExpiration=0,f.tailMode=e)}\nfunction Rh(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;S(a,b,d.children,c);d=P.current;if(0!==(d&Gg))d=d&Eg|Gg,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag){if(null!==a.memoizedState){a.expirationTime<c&&(a.expirationTime=c);var h=a.alternate;null!==h&&h.expirationTime<c&&(h.expirationTime=c);Jf(a.return,c)}}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===\nb)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=Eg}J(P,d,b);if(0===(b.mode&2))b.memoizedState=null;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)d=c.alternate,null!==d&&null===Hg(d)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Qh(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){d=e.alternate;if(null!==d&&null===Hg(d)){b.child=e;break}d=e.sibling;e.sibling=c;c=e;e=d}Qh(b,!0,c,null,f);break;case \"together\":Qh(b,\n!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}function Fh(a,b,c){null!==a&&(b.dependencies=a.dependencies);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw t(Error(153));if(null!==b.child){a=b.child;c=og(a,a.pendingProps,a.expirationTime);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=og(a,a.pendingProps,a.expirationTime),c.return=b;c.sibling=null}return b.child}function Sh(a){a.effectTag|=4}\nvar Th=void 0,Uh=void 0,Vh=void 0,Wh=void 0;Th=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(20===c.tag)a.appendChild(c.stateNode.instance);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Uh=function(){};\nVh=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var h=b.stateNode;zg(wg.current);a=null;switch(c){case \"input\":f=Bc(h,f);d=Bc(h,d);a=[];break;case \"option\":f=le(h,f);d=le(h,d);a=[];break;case \"select\":f=m({},f,{value:void 0});d=m({},d,{value:void 0});a=[];break;case \"textarea\":f=ne(h,f);d=ne(h,d);a=[];break;default:\"function\"!==typeof f.onClick&&\"function\"===typeof d.onClick&&(h.onclick=Ge)}De(c,d);h=c=void 0;var g=null;for(c in f)if(!d.hasOwnProperty(c)&&f.hasOwnProperty(c)&&null!=f[c])if(\"style\"===\nc){var k=f[c];for(h in k)k.hasOwnProperty(h)&&(g||(g={}),g[h]=\"\")}else\"dangerouslySetInnerHTML\"!==c&&\"children\"!==c&&\"suppressContentEditableWarning\"!==c&&\"suppressHydrationWarning\"!==c&&\"autoFocus\"!==c&&(ia.hasOwnProperty(c)?a||(a=[]):(a=a||[]).push(c,null));for(c in d){var l=d[c];k=null!=f?f[c]:void 0;if(d.hasOwnProperty(c)&&l!==k&&(null!=l||null!=k))if(\"style\"===c)if(k){for(h in k)!k.hasOwnProperty(h)||l&&l.hasOwnProperty(h)||(g||(g={}),g[h]=\"\");for(h in l)l.hasOwnProperty(h)&&k[h]!==l[h]&&(g||\n(g={}),g[h]=l[h])}else g||(a||(a=[]),a.push(c,g)),g=l;else\"dangerouslySetInnerHTML\"===c?(l=l?l.__html:void 0,k=k?k.__html:void 0,null!=l&&k!==l&&(a=a||[]).push(c,\"\"+l)):\"children\"===c?k===l||\"string\"!==typeof l&&\"number\"!==typeof l||(a=a||[]).push(c,\"\"+l):\"suppressContentEditableWarning\"!==c&&\"suppressHydrationWarning\"!==c&&(ia.hasOwnProperty(c)?(null!=l&&Fe(e,c),a||k===l||(a=[])):(a=a||[]).push(c,l))}g&&(a=a||[]).push(\"style\",g);e=a;(b.updateQueue=e)&&Sh(b)}};Wh=function(a,b,c,d){c!==d&&Sh(b)};\nfunction $h(a,b){switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction ai(a){switch(a.tag){case 1:N(a.type)&&Te(a);var b=a.effectTag;return b&2048?(a.effectTag=b&-2049|64,a):null;case 3:Bg(a);Ue(a);b=a.effectTag;if(0!==(b&64))throw t(Error(285));a.effectTag=b&-2049|64;return a;case 5:return Dg(a),null;case 13:return H(P,a),b=a.effectTag,b&2048?(a.effectTag=b&-2049|64,a):null;case 18:return null;case 19:return H(P,a),null;case 4:return Bg(a),null;case 10:return If(a),null;default:return null}}function bi(a,b){return{value:a,source:b,stack:pc(b)}}\nvar ci=\"function\"===typeof WeakSet?WeakSet:Set;function di(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=pc(c));null!==c&&oc(c.type);b=b.value;null!==a&&1===a.tag&&oc(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function ei(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){fi(a,c)}}function gi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){fi(a,c)}else b.current=null}\nfunction hi(a,b,c){c=c.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do{if((d.tag&a)!==Ig){var e=d.destroy;d.destroy=void 0;void 0!==e&&e()}(d.tag&b)!==Ig&&(e=d.create,d.destroy=e());d=d.next}while(d!==c)}}\nfunction ii(a,b){\"function\"===typeof ji&&ji(a);switch(a.tag){case 0:case 11:case 14:case 15:var c=a.updateQueue;if(null!==c&&(c=c.lastEffect,null!==c)){var d=c.next;vf(97<b?97:b,function(){var b=d;do{var c=b.destroy;if(void 0!==c){var h=a;try{c()}catch(g){fi(h,g)}}b=b.next}while(b!==d)})}break;case 1:gi(a);b=a.stateNode;\"function\"===typeof b.componentWillUnmount&&ei(a,b);break;case 5:gi(a);break;case 4:ki(a,b)}}\nfunction li(a,b){for(var c=a;;)if(ii(c,b),null!==c.child&&4!==c.tag)c.child.return=c,c=c.child;else{if(c===a)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}function mi(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction ni(a){a:{for(var b=a.return;null!==b;){if(mi(b)){var c=b;break a}b=b.return}throw t(Error(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw t(Error(161));}c.effectTag&16&&(we(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||mi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){var f=5===e.tag||6===e.tag;if(f||20===e.tag){var h=f?e.stateNode:e.stateNode.instance;if(c)if(d){f=b;var g=h;h=c;8===f.nodeType?f.parentNode.insertBefore(g,h):f.insertBefore(g,h)}else b.insertBefore(h,c);else d?(g=b,8===g.nodeType?(f=g.parentNode,f.insertBefore(h,g)):(f=g,f.appendChild(h)),g=g._reactRootContainer,null!==g&&void 0!==g||null!==f.onclick||(f.onclick=Ge)):\nb.appendChild(h)}else if(4!==e.tag&&null!==e.child){e.child.return=e;e=e.child;continue}if(e===a)break;for(;null===e.sibling;){if(null===e.return||e.return===a)return;e=e.return}e.sibling.return=e.return;e=e.sibling}}\nfunction ki(a,b){for(var c=a,d=!1,e=void 0,f=void 0;;){if(!d){d=c.return;a:for(;;){if(null===d)throw t(Error(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag)if(li(c,b),f){var h=e,g=c.stateNode;8===h.nodeType?h.parentNode.removeChild(g):h.removeChild(g)}else e.removeChild(c.stateNode);else if(20===c.tag)g=c.stateNode.instance,li(c,b),f?(h=e,8===h.nodeType?h.parentNode.removeChild(g):\nh.removeChild(g)):e.removeChild(g);else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(ii(c,b),null!==c.child){c.child.return=c;c=c.child;continue}if(c===a)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction oi(a,b){switch(b.tag){case 0:case 11:case 14:case 15:hi(Kg,Lg,b);break;case 1:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Ga]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&Dc(c,d);Ee(a,e);b=Ee(a,d);for(e=0;e<f.length;e+=2){var h=f[e],g=f[e+1];\"style\"===h?Ae(c,g):\"dangerouslySetInnerHTML\"===h?ve(c,g):\"children\"===h?we(c,g):zc(c,h,g,b)}switch(a){case \"input\":Ec(c,d);break;case \"textarea\":pe(c,\nd);break;case \"select\":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?me(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?me(c,!!d.multiple,d.defaultValue,!0):me(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}break;case 6:if(null===b.stateNode)throw t(Error(162));b.stateNode.nodeValue=b.memoizedProps;break;case 3:break;case 12:break;case 13:c=b;null===b.memoizedState?d=!1:(d=!0,c=b.child,pi=sf());if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=\nf.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null,f.style.display=ze(\"display\",e));else if(6===a.tag)a.stateNode.nodeValue=d?\"\":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState){f=a.child.sibling;f.return=a;a=f;continue}else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===c)break a;for(;null===a.sibling;){if(null===\na.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}qi(b);break;case 19:qi(b);break;case 17:break;case 20:break;default:throw t(Error(163));}}function qi(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new ci);b.forEach(function(b){var d=ri.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}var si=\"function\"===typeof WeakMap?WeakMap:Map;\nfunction ti(a,b,c){c=Qf(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){ui||(ui=!0,vi=d);di(a,b)};return c}\nfunction wi(a,b,c){c=Qf(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){di(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===xi?xi=new Set([this]):xi.add(this),di(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nvar yi=Math.ceil,zi=Xb.ReactCurrentDispatcher,Ai=Xb.ReactCurrentOwner,T=0,Bi=8,Ci=16,Di=32,Ei=0,Fi=1,Gi=2,Hi=3,Ii=4,U=T,Ji=null,V=null,W=0,X=Ei,Ki=1073741823,Li=1073741823,Mi=null,Ni=!1,pi=0,Oi=500,Y=null,ui=!1,vi=null,xi=null,Pi=!1,Qi=null,Ri=90,Si=0,Ti=null,Ui=0,Vi=null,Wi=0;function cg(){return(U&(Ci|Di))!==T?1073741821-(sf()/10|0):0!==Wi?Wi:Wi=1073741821-(sf()/10|0)}\nfunction dg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=tf();if(0===(b&4))return 99===d?1073741823:1073741822;if((U&Ci)!==T)return W;if(null!==c)a=1073741821-25*(((1073741821-a+(c.timeoutMs|0||5E3)/10)/25|0)+1);else switch(d){case 99:a=1073741823;break;case 98:a=1073741821-10*(((1073741821-a+15)/10|0)+1);break;case 97:case 96:a=1073741821-25*(((1073741821-a+500)/25|0)+1);break;case 95:a=1;break;default:throw t(Error(326));}null!==Ji&&a===W&&--a;return a}var Xi=0;\nfunction eg(a,b){if(50<Ui)throw Ui=0,Vi=null,t(Error(185));a=Yi(a,b);if(null!==a){a.pingTime=0;var c=tf();if(1073741823===b)if((U&Bi)!==T&&(U&(Ci|Di))===T)for(var d=Z(a,1073741823,!0);null!==d;)d=d(!0);else Zi(a,99,1073741823),U===T&&O();else Zi(a,c,b);(U&4)===T||98!==c&&99!==c||(null===Ti?Ti=new Map([[a,b]]):(c=Ti.get(a),(void 0===c||c>b)&&Ti.set(a,b)))}}\nfunction Yi(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(b>e.firstPendingTime&&(e.firstPendingTime=b),a=e.lastPendingTime,0===a||b<a)&&(e.lastPendingTime=\nb);return e}function Zi(a,b,c){if(a.callbackExpirationTime<c){var d=a.callbackNode;null!==d&&d!==mf&&af(d);a.callbackExpirationTime=c;1073741823===c?a.callbackNode=xf($i.bind(null,a,Z.bind(null,a,c))):(d=null,1!==c&&(d={timeout:10*(1073741821-c)-sf()}),a.callbackNode=wf(b,$i.bind(null,a,Z.bind(null,a,c)),d))}}function $i(a,b,c){var d=a.callbackNode,e=null;try{return e=b(c),null!==e?$i.bind(null,a,e):null}finally{null===e&&d===a.callbackNode&&(a.callbackNode=null,a.callbackExpirationTime=0)}}\nfunction aj(){(U&(1|Ci|Di))===T&&(bj(),cj())}function dj(a,b){var c=a.firstBatch;return null!==c&&c._defer&&c._expirationTime>=b?(wf(97,function(){c._onComplete();return null}),!0):!1}function bj(){if(null!==Ti){var a=Ti;Ti=null;a.forEach(function(a,c){xf(Z.bind(null,c,a))});O()}}function ej(a,b){var c=U;U|=1;try{return a(b)}finally{U=c,U===T&&O()}}function fj(a,b,c,d){var e=U;U|=4;try{return vf(98,a.bind(null,b,c,d))}finally{U=e,U===T&&O()}}\nfunction gj(a,b){var c=U;U&=-2;U|=Bi;try{return a(b)}finally{U=c,U===T&&O()}}\nfunction hj(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Me(c));if(null!==V)for(c=V.return;null!==c;){var d=c;switch(d.tag){case 1:var e=d.type.childContextTypes;null!==e&&void 0!==e&&Te(d);break;case 3:Bg(d);Ue(d);break;case 5:Dg(d);break;case 4:Bg(d);break;case 13:H(P,d);break;case 19:H(P,d);break;case 10:If(d)}c=c.return}Ji=a;V=og(a.current,null,b);W=b;X=Ei;Li=Ki=1073741823;Mi=null;Ni=!1}\nfunction Z(a,b,c){if((U&(Ci|Di))!==T)throw t(Error(327));if(a.firstPendingTime<b)return null;if(c&&a.finishedExpirationTime===b)return ij.bind(null,a);cj();if(a!==Ji||b!==W)hj(a,b);else if(X===Hi)if(Ni)hj(a,b);else{var d=a.lastPendingTime;if(d<b)return Z.bind(null,a,d)}if(null!==V){d=U;U|=Ci;var e=zi.current;null===e&&(e=hh);zi.current=hh;if(c){if(1073741823!==b){var f=cg();if(f<b)return U=d,Gf(),zi.current=e,Z.bind(null,a,f)}}else Wi=0;do try{if(c)for(;null!==V;)V=jj(V);else for(;null!==V&&!bf();)V=\njj(V);break}catch(rb){Gf();ih();f=V;if(null===f||null===f.return)throw hj(a,b),U=d,rb;a:{var h=a,g=f.return,k=f,l=rb,n=W;k.effectTag|=1024;k.firstEffect=k.lastEffect=null;if(null!==l&&\"object\"===typeof l&&\"function\"===typeof l.then){var z=l,x=0!==(P.current&Fg);l=g;do{var v;if(v=13===l.tag)null!==l.memoizedState?v=!1:(v=l.memoizedProps,v=void 0===v.fallback?!1:!0!==v.unstable_avoidThisFallback?!0:x?!1:!0);if(v){g=l.updateQueue;null===g?(g=new Set,g.add(z),l.updateQueue=g):g.add(z);if(0===(l.mode&\n2)){l.effectTag|=64;k.effectTag&=-1957;1===k.tag&&(null===k.alternate?k.tag=17:(n=Qf(1073741823,null),n.tag=2,Sf(k,n)));k.expirationTime=1073741823;break a}k=h;h=n;x=k.pingCache;null===x?(x=k.pingCache=new si,g=new Set,x.set(z,g)):(g=x.get(z),void 0===g&&(g=new Set,x.set(z,g)));g.has(h)||(g.add(h),k=kj.bind(null,k,z,h),z.then(k,k));l.effectTag|=2048;l.expirationTime=n;break a}l=l.return}while(null!==l);l=Error((oc(k.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+\npc(k))}X!==Ii&&(X=Fi);l=bi(l,k);k=g;do{switch(k.tag){case 3:k.effectTag|=2048;k.expirationTime=n;n=ti(k,l,n);Tf(k,n);break a;case 1:if(z=l,h=k.type,g=k.stateNode,0===(k.effectTag&64)&&(\"function\"===typeof h.getDerivedStateFromError||null!==g&&\"function\"===typeof g.componentDidCatch&&(null===xi||!xi.has(g)))){k.effectTag|=2048;k.expirationTime=n;n=wi(k,z,n);Tf(k,n);break a}}k=k.return}while(null!==k)}V=lj(f)}while(1);U=d;Gf();zi.current=e;if(null!==V)return Z.bind(null,a,b)}a.finishedWork=a.current.alternate;\na.finishedExpirationTime=b;if(dj(a,b))return null;Ji=null;switch(X){case Ei:throw t(Error(328));case Fi:return d=a.lastPendingTime,d<b?Z.bind(null,a,d):c?ij.bind(null,a):(hj(a,b),xf(Z.bind(null,a,b)),null);case Gi:if(1073741823===Ki&&!c&&(c=pi+Oi-sf(),10<c)){if(Ni)return hj(a,b),Z.bind(null,a,b);d=a.lastPendingTime;if(d<b)return Z.bind(null,a,d);a.timeoutHandle=Le(ij.bind(null,a),c);return null}return ij.bind(null,a);case Hi:if(!c){if(Ni)return hj(a,b),Z.bind(null,a,b);c=a.lastPendingTime;if(c<b)return Z.bind(null,\na,c);1073741823!==Li?c=10*(1073741821-Li)-sf():1073741823===Ki?c=0:(c=10*(1073741821-Ki)-5E3,d=sf(),b=10*(1073741821-b)-d,c=d-c,0>c&&(c=0),c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>c?4320:1960*yi(c/1960))-c,b<c&&(c=b));if(10<c)return a.timeoutHandle=Le(ij.bind(null,a),c),null}return ij.bind(null,a);case Ii:return!c&&1073741823!==Ki&&null!==Mi&&(d=Ki,e=Mi,b=e.busyMinDurationMs|0,0>=b?b=0:(c=e.busyDelayMs|0,d=sf()-(10*(1073741821-d)-(e.timeoutMs|0||5E3)),b=d<=c?0:c+b-d),10<b)?(a.timeoutHandle=\nLe(ij.bind(null,a),b),null):ij.bind(null,a);default:throw t(Error(329));}}function Xf(a,b){a<Ki&&1<a&&(Ki=a);null!==b&&a<Li&&1<a&&(Li=a,Mi=b)}function jj(a){var b=mj(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=lj(a));Ai.current=null;return b}\nfunction lj(a){V=a;do{var b=V.alternate;a=V.return;if(0===(V.effectTag&1024)){a:{var c=b;b=V;var d=W,e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:N(b.type)&&Te(b);break;case 3:Bg(b);Ue(b);d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===c||null===c.child)Bh(b),b.effectTag&=-3;Uh(b);break;case 5:Dg(b);d=zg(yg.current);var f=b.type;if(null!==c&&null!=b.stateNode)Vh(c,b,f,e,d),c.ref!==b.ref&&(b.effectTag|=128);else if(e){var h=\nzg(wg.current);if(Bh(b)){c=b;e=void 0;f=c.stateNode;var g=c.type,k=c.memoizedProps;f[Fa]=c;f[Ga]=k;switch(g){case \"iframe\":case \"object\":case \"embed\":G(\"load\",f);break;case \"video\":case \"audio\":for(var l=0;l<bb.length;l++)G(bb[l],f);break;case \"source\":G(\"error\",f);break;case \"img\":case \"image\":case \"link\":G(\"error\",f);G(\"load\",f);break;case \"form\":G(\"reset\",f);G(\"submit\",f);break;case \"details\":G(\"toggle\",f);break;case \"input\":Cc(f,k);G(\"invalid\",f);Fe(d,\"onChange\");break;case \"select\":f._wrapperState=\n{wasMultiple:!!k.multiple};G(\"invalid\",f);Fe(d,\"onChange\");break;case \"textarea\":oe(f,k),G(\"invalid\",f),Fe(d,\"onChange\")}De(g,k);l=null;for(e in k)k.hasOwnProperty(e)&&(h=k[e],\"children\"===e?\"string\"===typeof h?f.textContent!==h&&(l=[\"children\",h]):\"number\"===typeof h&&f.textContent!==\"\"+h&&(l=[\"children\",\"\"+h]):ia.hasOwnProperty(e)&&null!=h&&Fe(d,e));switch(g){case \"input\":Vb(f);Gc(f,k,!0);break;case \"textarea\":Vb(f);qe(f,k);break;case \"select\":case \"option\":break;default:\"function\"===typeof k.onClick&&\n(f.onclick=Ge)}d=l;c.updateQueue=d;null!==d&&Sh(b)}else{k=f;c=e;g=b;l=9===d.nodeType?d:d.ownerDocument;h===re.html&&(h=se(k));h===re.html?\"script\"===k?(k=l.createElement(\"div\"),k.innerHTML=\"<script>\\x3c/script>\",l=k.removeChild(k.firstChild)):\"string\"===typeof c.is?l=l.createElement(k,{is:c.is}):(l=l.createElement(k),\"select\"===k&&(k=l,c.multiple?k.multiple=!0:c.size&&(k.size=c.size))):l=l.createElementNS(h,k);k=l;k[Fa]=g;k[Ga]=c;c=k;Th(c,b,!1,!1);g=c;var n=d,z=Ee(f,e);switch(f){case \"iframe\":case \"object\":case \"embed\":G(\"load\",\ng);d=e;break;case \"video\":case \"audio\":for(d=0;d<bb.length;d++)G(bb[d],g);d=e;break;case \"source\":G(\"error\",g);d=e;break;case \"img\":case \"image\":case \"link\":G(\"error\",g);G(\"load\",g);d=e;break;case \"form\":G(\"reset\",g);G(\"submit\",g);d=e;break;case \"details\":G(\"toggle\",g);d=e;break;case \"input\":Cc(g,e);d=Bc(g,e);G(\"invalid\",g);Fe(n,\"onChange\");break;case \"option\":d=le(g,e);break;case \"select\":g._wrapperState={wasMultiple:!!e.multiple};d=m({},e,{value:void 0});G(\"invalid\",g);Fe(n,\"onChange\");break;case \"textarea\":oe(g,\ne);d=ne(g,e);G(\"invalid\",g);Fe(n,\"onChange\");break;default:d=e}De(f,d);k=void 0;l=f;h=g;var x=d;for(k in x)if(x.hasOwnProperty(k)){var v=x[k];\"style\"===k?Ae(h,v):\"dangerouslySetInnerHTML\"===k?(v=v?v.__html:void 0,null!=v&&ve(h,v)):\"children\"===k?\"string\"===typeof v?(\"textarea\"!==l||\"\"!==v)&&we(h,v):\"number\"===typeof v&&we(h,\"\"+v):\"suppressContentEditableWarning\"!==k&&\"suppressHydrationWarning\"!==k&&\"autoFocus\"!==k&&(ia.hasOwnProperty(k)?null!=v&&Fe(n,k):null!=v&&zc(h,k,v,z))}switch(f){case \"input\":Vb(g);\nGc(g,e,!1);break;case \"textarea\":Vb(g);qe(g,e);break;case \"option\":null!=e.value&&g.setAttribute(\"value\",\"\"+Ac(e.value));break;case \"select\":d=g;g=e;d.multiple=!!g.multiple;k=g.value;null!=k?me(d,!!g.multiple,k,!1):null!=g.defaultValue&&me(d,!!g.multiple,g.defaultValue,!0);break;default:\"function\"===typeof d.onClick&&(g.onclick=Ge)}Je(f,e)&&Sh(b);b.stateNode=c}null!==b.ref&&(b.effectTag|=128)}else if(null===b.stateNode)throw t(Error(166));break;case 6:if(c&&null!=b.stateNode)Wh(c,b,c.memoizedProps,\ne);else{if(\"string\"!==typeof e&&null===b.stateNode)throw t(Error(166));c=zg(yg.current);zg(wg.current);Bh(b)?(d=b.stateNode,c=b.memoizedProps,d[Fa]=b,d.nodeValue!==c&&Sh(b)):(d=b,c=(9===c.nodeType?c:c.ownerDocument).createTextNode(e),c[Fa]=b,d.stateNode=c)}break;case 11:break;case 13:H(P,b);e=b.memoizedState;if(0!==(b.effectTag&64)){b.expirationTime=d;break a}d=null!==e;e=!1;null===c?Bh(b):(f=c.memoizedState,e=null!==f,d||null===f||(f=c.child.sibling,null!==f&&(g=b.firstEffect,null!==g?(b.firstEffect=\nf,f.nextEffect=g):(b.firstEffect=b.lastEffect=f,f.nextEffect=null),f.effectTag=8)));if(d&&!e&&0!==(b.mode&2))if(null===c&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(P.current&Fg))X===Ei&&(X=Gi);else if(X===Ei||X===Gi)X=Hi;if(d||e)b.effectTag|=4;break;case 7:break;case 8:break;case 12:break;case 4:Bg(b);Uh(b);break;case 10:If(b);break;case 9:break;case 14:break;case 17:N(b.type)&&Te(b);break;case 18:break;case 19:H(P,b);e=b.memoizedState;if(null===e)break;f=0!==(b.effectTag&64);g=e.rendering;\nif(null===g)if(f)$h(e,!1);else{if(X!==Ei||null!==c&&0!==(c.effectTag&64))for(c=b.child;null!==c;){g=Hg(c);if(null!==g){b.effectTag|=64;$h(e,!1);c=g.updateQueue;null!==c&&(b.updateQueue=c,b.effectTag|=4);b.firstEffect=b.lastEffect=null;for(c=b.child;null!==c;)e=c,f=d,e.effectTag&=2,e.nextEffect=null,e.firstEffect=null,e.lastEffect=null,g=e.alternate,null===g?(e.childExpirationTime=0,e.expirationTime=f,e.child=null,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null):(e.childExpirationTime=\ng.childExpirationTime,e.expirationTime=g.expirationTime,e.child=g.child,e.memoizedProps=g.memoizedProps,e.memoizedState=g.memoizedState,e.updateQueue=g.updateQueue,f=g.dependencies,e.dependencies=null===f?null:{expirationTime:f.expirationTime,firstContext:f.firstContext,responders:f.responders}),c=c.sibling;J(P,P.current&Eg|Gg,b);b=b.child;break a}c=c.sibling}}else{if(!f)if(c=Hg(g),null!==c){if(b.effectTag|=64,f=!0,$h(e,!0),null===e.tail&&\"hidden\"===e.tailMode){d=c.updateQueue;null!==d&&(b.updateQueue=\nd,b.effectTag|=4);b=b.lastEffect=e.lastEffect;null!==b&&(b.nextEffect=null);break}}else sf()>e.tailExpiration&&1<d&&(b.effectTag|=64,f=!0,$h(e,!1),b.expirationTime=b.childExpirationTime=d-1);e.isBackwards?(g.sibling=b.child,b.child=g):(d=e.last,null!==d?d.sibling=g:b.child=g,e.last=g)}if(null!==e.tail){0===e.tailExpiration&&(e.tailExpiration=sf()+500);d=e.tail;e.rendering=d;e.tail=d.sibling;e.lastEffect=b.lastEffect;d.sibling=null;c=P.current;c=f?c&Eg|Gg:c&Eg;J(P,c,b);b=d;break a}break;case 20:break;\ndefault:throw t(Error(156));}b=null}d=V;if(1===W||1!==d.childExpirationTime){c=0;for(e=d.child;null!==e;)f=e.expirationTime,g=e.childExpirationTime,f>c&&(c=f),g>c&&(c=g),e=e.sibling;d.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&1024)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=V.firstEffect),a.lastEffect=V.lastEffect),1<V.effectTag&&(null!==a.lastEffect?a.lastEffect.nextEffect=V:a.firstEffect=V,\na.lastEffect=V))}else{b=ai(V,W);if(null!==b)return b.effectTag&=1023,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=1024)}b=V.sibling;if(null!==b)return b;V=a}while(null!==V);X===Ei&&(X=Ii);return null}function ij(a){var b=tf();vf(99,nj.bind(null,a,b));null!==Qi&&wf(97,function(){cj();return null});return null}\nfunction nj(a,b){cj();if((U&(Ci|Di))!==T)throw t(Error(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw t(Error(177));a.callbackNode=null;a.callbackExpirationTime=0;var e=c.expirationTime,f=c.childExpirationTime;e=f>e?f:e;a.firstPendingTime=e;e<a.lastPendingTime&&(a.lastPendingTime=e);a===Ji&&(V=Ji=null,W=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;\nif(null!==e){f=U;U|=Di;Ai.current=null;He=Qd;var h=ae();if(be(h)){if(\"selectionStart\"in h)var g={start:h.selectionStart,end:h.selectionEnd};else a:{g=(g=h.ownerDocument)&&g.defaultView||window;var k=g.getSelection&&g.getSelection();if(k&&0!==k.rangeCount){g=k.anchorNode;var l=k.anchorOffset,n=k.focusNode;k=k.focusOffset;try{g.nodeType,n.nodeType}catch(zb){g=null;break a}var z=0,x=-1,v=-1,rb=0,Be=0,u=h,w=null;b:for(;;){for(var C;;){u!==g||0!==l&&3!==u.nodeType||(x=z+l);u!==n||0!==k&&3!==u.nodeType||\n(v=z+k);3===u.nodeType&&(z+=u.nodeValue.length);if(null===(C=u.firstChild))break;w=u;u=C}for(;;){if(u===h)break b;w===g&&++rb===l&&(x=z);w===n&&++Be===k&&(v=z);if(null!==(C=u.nextSibling))break;u=w;w=u.parentNode}u=C}g=-1===x||-1===v?null:{start:x,end:v}}else g=null}g=g||{start:0,end:0}}else g=null;Ie={focusedElem:h,selectionRange:g};Qd=!1;Y=e;do try{for(;null!==Y;){if(0!==(Y.effectTag&256)){var I=Y.alternate;h=Y;switch(h.tag){case 0:case 11:case 15:hi(Jg,Ig,h);break;case 1:if(h.effectTag&256&&null!==\nI){var E=I.memoizedProps,ua=I.memoizedState,gh=h.stateNode,oj=gh.getSnapshotBeforeUpdate(h.elementType===h.type?E:Af(h.type,E),ua);gh.__reactInternalSnapshotBeforeUpdate=oj}break;case 3:case 5:case 6:case 4:case 17:break;default:throw t(Error(163));}}Y=Y.nextEffect}}catch(zb){if(null===Y)throw t(Error(330));fi(Y,zb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(I=b;null!==Y;){var A=Y.effectTag;A&16&&we(Y.stateNode,\"\");if(A&128){var p=Y.alternate;if(null!==p){var r=p.ref;null!==r&&(\"function\"===typeof r?\nr(null):r.current=null)}}switch(A&14){case 2:ni(Y);Y.effectTag&=-3;break;case 6:ni(Y);Y.effectTag&=-3;oi(Y.alternate,Y);break;case 4:oi(Y.alternate,Y);break;case 8:E=Y;ki(E,I);E.return=null;E.child=null;E.memoizedState=null;E.updateQueue=null;E.dependencies=null;var K=E.alternate;null!==K&&(K.return=null,K.child=null,K.memoizedState=null,K.updateQueue=null,K.dependencies=null)}Y=Y.nextEffect}}catch(zb){if(null===Y)throw t(Error(330));fi(Y,zb);Y=Y.nextEffect}while(null!==Y);r=Ie;p=ae();A=r.focusedElem;\nI=r.selectionRange;if(p!==A&&A&&A.ownerDocument&&$d(A.ownerDocument.documentElement,A)){null!==I&&be(A)&&(p=I.start,r=I.end,void 0===r&&(r=p),\"selectionStart\"in A?(A.selectionStart=p,A.selectionEnd=Math.min(r,A.value.length)):(r=(p=A.ownerDocument||document)&&p.defaultView||window,r.getSelection&&(r=r.getSelection(),E=A.textContent.length,K=Math.min(I.start,E),I=void 0===I.end?K:Math.min(I.end,E),!r.extend&&K>I&&(E=I,I=K,K=E),E=Zd(A,K),ua=Zd(A,I),E&&ua&&(1!==r.rangeCount||r.anchorNode!==E.node||r.anchorOffset!==\nE.offset||r.focusNode!==ua.node||r.focusOffset!==ua.offset)&&(p=p.createRange(),p.setStart(E.node,E.offset),r.removeAllRanges(),K>I?(r.addRange(p),r.extend(ua.node,ua.offset)):(p.setEnd(ua.node,ua.offset),r.addRange(p))))));p=[];for(r=A;r=r.parentNode;)1===r.nodeType&&p.push({element:r,left:r.scrollLeft,top:r.scrollTop});\"function\"===typeof A.focus&&A.focus();for(A=0;A<p.length;A++)r=p[A],r.element.scrollLeft=r.left,r.element.scrollTop=r.top}Ie=null;Qd=!!He;He=null;a.current=c;Y=e;do try{for(A=d;null!==\nY;){var $a=Y.effectTag;if($a&36){var nc=Y.alternate;p=Y;r=A;switch(p.tag){case 0:case 11:case 15:hi(Mg,Ng,p);break;case 1:var md=p.stateNode;if(p.effectTag&4)if(null===nc)md.componentDidMount();else{var Fj=p.elementType===p.type?nc.memoizedProps:Af(p.type,nc.memoizedProps);md.componentDidUpdate(Fj,nc.memoizedState,md.__reactInternalSnapshotBeforeUpdate)}var Xh=p.updateQueue;null!==Xh&&Yf(p,Xh,md,r);break;case 3:var Yh=p.updateQueue;if(null!==Yh){K=null;if(null!==p.child)switch(p.child.tag){case 5:K=\np.child.stateNode;break;case 1:K=p.child.stateNode}Yf(p,Yh,K,r)}break;case 5:var Gj=p.stateNode;null===nc&&p.effectTag&4&&(r=Gj,Je(p.type,p.memoizedProps)&&r.focus());break;case 6:break;case 4:break;case 12:break;case 13:case 19:case 17:case 20:break;default:throw t(Error(163));}}if($a&128){var nd=Y.ref;if(null!==nd){var Zh=Y.stateNode;switch(Y.tag){case 5:var gf=Zh;break;default:gf=Zh}\"function\"===typeof nd?nd(gf):nd.current=gf}}$a&512&&(Pi=!0);Y=Y.nextEffect}}catch(zb){if(null===Y)throw t(Error(330));\nfi(Y,zb);Y=Y.nextEffect}while(null!==Y);Y=null;nf();U=f}else a.current=c;if(Pi)Pi=!1,Qi=a,Si=d,Ri=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0!==b?($a=cg(),$a=zf($a,b),Zi(a,$a,b)):xi=null;\"function\"===typeof pj&&pj(c.stateNode,d);1073741823===b?a===Vi?Ui++:(Ui=0,Vi=a):Ui=0;if(ui)throw ui=!1,a=vi,vi=null,a;if((U&Bi)!==T)return null;O();return null}\nfunction cj(){if(null===Qi)return!1;var a=Qi,b=Si,c=Ri;Qi=null;Si=0;Ri=90;return vf(97<c?97:c,qj.bind(null,a,b))}function qj(a){if((U&(Ci|Di))!==T)throw t(Error(331));var b=U;U|=Di;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:hi(Pg,Ig,c),hi(Ig,Og,c)}}catch(d){if(null===a)throw t(Error(330));fi(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}U=b;O();return!0}\nfunction rj(a,b,c){b=bi(c,b);b=ti(a,b,1073741823);Sf(a,b);a=Yi(a,1073741823);null!==a&&Zi(a,99,1073741823)}function fi(a,b){if(3===a.tag)rj(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){rj(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===xi||!xi.has(d))){a=bi(b,a);a=wi(c,a,1073741823);Sf(c,a);c=Yi(c,1073741823);null!==c&&Zi(c,99,1073741823);break}}c=c.return}}\nfunction kj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);Ji===a&&W===c?X===Hi||X===Gi&&1073741823===Ki&&sf()-pi<Oi?hj(a,W):Ni=!0:a.lastPendingTime<c||(b=a.pingTime,0!==b&&b<c||(a.pingTime=c,a.finishedExpirationTime===c&&(a.finishedExpirationTime=0,a.finishedWork=null),b=cg(),b=zf(b,c),Zi(a,b,c)))}function ri(a,b){var c=a.stateNode;null!==c&&c.delete(b);c=cg();b=dg(c,a,null);c=zf(c,b);a=Yi(a,b);null!==a&&Zi(a,c,b)}var mj=void 0;\nmj=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||M.current)Lf=!0;else if(d<c){Lf=!1;switch(b.tag){case 3:Nh(b);Ch();break;case 5:Cg(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:N(b.type)&&Xe(b);break;case 4:Ag(b,b.stateNode.containerInfo);break;case 10:Hf(b,b.memoizedProps.value);break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;if(0!==d&&d>=c)return Ph(a,b,c);J(P,P.current&\nEg,b);b=Fh(a,b,c);return null!==b?b.sibling:null}J(P,P.current&Eg,b);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return Rh(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);J(P,P.current,b);if(!d)return null}return Fh(a,b,c)}}else Lf=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Se(b,L.current);Kf(b,c);e=dh(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&\nnull!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;ih();if(N(d)){var f=!0;Xe(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var h=d.getDerivedStateFromProps;\"function\"===typeof h&&bg(b,d,h,a);e.updater=fg;b.stateNode=e;e._reactInternalFiber=b;jg(b,d,a,c);b=Mh(null,b,d,!0,f,c)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Bf(e);b.type=e;f=b.tag=sj(e);\na=Af(e,a);switch(f){case 0:b=Jh(null,b,e,a,c);break;case 1:b=Lh(null,b,e,a,c);break;case 11:b=Eh(null,b,e,a,c);break;case 14:b=Gh(null,b,e,Af(e.type,a),d,c);break;default:throw t(Error(306),e,\"\");}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Af(d,e),Jh(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Af(d,e),Lh(a,b,d,e,c);case 3:Nh(b);d=b.updateQueue;if(null===d)throw t(Error(282));e=b.memoizedState;e=null!==e?e.element:null;Wf(b,d,b.pendingProps,\nnull,c);d=b.memoizedState.element;if(d===e)Ch(),b=Fh(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)uh=Ne(b.stateNode.containerInfo.firstChild),th=b,e=vh=!0;e?(b.effectTag|=2,b.child=ug(b,null,d,c)):(S(a,b,d,c),Ch());b=b.child}return b;case 5:return Cg(b),null===a&&zh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,h=e.children,Ke(d,e)?h=null:null!==f&&Ke(d,f)&&(b.effectTag|=16),Kh(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):\n(S(a,b,h,c),b=b.child),b;case 6:return null===a&&zh(b),null;case 13:return Ph(a,b,c);case 4:return Ag(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=tg(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Af(d,e),Eh(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,c),b.child;case 8:return S(a,b,b.pendingProps.children,c),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;h=b.memoizedProps;\nf=e.value;Hf(b,f);if(null!==h){var g=h.value;f=hd(g,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(g,f):1073741823)|0;if(0===f){if(h.children===e.children&&!M.current){b=Fh(a,b,c);break a}}else for(g=b.child,null!==g&&(g.return=b);null!==g;){var k=g.dependencies;if(null!==k){h=g.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===g.tag&&(l=Qf(c,null),l.tag=2,Sf(g,l));g.expirationTime<c&&(g.expirationTime=c);l=g.alternate;null!==l&&l.expirationTime<\nc&&(l.expirationTime=c);Jf(g.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else h=10===g.tag?g.type===b.type?null:g.child:g.child;if(null!==h)h.return=g;else for(h=g;null!==h;){if(h===b){h=null;break}g=h.sibling;if(null!==g){g.return=h.return;h=g;break}h=h.return}g=h}}S(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,Kf(b,c),e=Mf(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,S(a,b,d,c),b.child;case 14:return e=b.type,f=Af(e,b.pendingProps),\nf=Af(e.type,f),Gh(a,b,e,f,d,c);case 15:return Ih(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Af(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,N(d)?(a=!0,Xe(b)):a=!1,Kf(b,c),hg(b,d,e,c),jg(b,d,e,c),Mh(null,b,d,!0,a,c);case 19:return Rh(a,b,c)}throw t(Error(156));};var pj=null,ji=null;\nfunction tj(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);pj=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};ji=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0}\nfunction uj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function xh(a,b,c,d){return new uj(a,b,c,d)}\nfunction Hh(a){a=a.prototype;return!(!a||!a.isReactComponent)}function sj(a){if(\"function\"===typeof a)return Hh(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===gc)return 11;if(a===jc)return 14}return 2}\nfunction og(a,b){var c=a.alternate;null===c?(c=xh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime,\nfirstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction qg(a,b,c,d,e,f){var h=2;d=a;if(\"function\"===typeof a)Hh(a)&&(h=1);else if(\"string\"===typeof a)h=5;else a:switch(a){case ac:return sg(c.children,e,f,b);case fc:h=8;e|=7;break;case bc:h=8;e|=1;break;case cc:return a=xh(12,c,b,e|8),a.elementType=cc,a.type=cc,a.expirationTime=f,a;case hc:return a=xh(13,c,b,e),a.type=hc,a.elementType=hc,a.expirationTime=f,a;case ic:return a=xh(19,c,b,e),a.elementType=ic,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case dc:h=\n10;break a;case ec:h=9;break a;case gc:h=11;break a;case jc:h=14;break a;case kc:h=16;d=null;break a}throw t(Error(130),null==a?a:typeof a,\"\");}b=xh(h,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function sg(a,b,c,d){a=xh(7,a,d,b);a.expirationTime=c;return a}function pg(a,b,c){a=xh(6,a,null,b);a.expirationTime=c;return a}\nfunction rg(a,b,c){b=xh(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction vj(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=this.firstBatch=null;this.pingTime=this.lastPendingTime=this.firstPendingTime=this.callbackExpirationTime=0}function wj(a,b,c){a=new vj(a,b,c);b=xh(3,null,null,2===b?7:1===b?3:0);a.current=b;return b.stateNode=a}\nfunction xj(a,b,c,d,e,f){var h=b.current;a:if(c){c=c._reactInternalFiber;b:{if(2!==ld(c)||1!==c.tag)throw t(Error(170));var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(N(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);throw t(Error(171));}if(1===c.tag){var k=c.type;if(N(k)){c=We(c,k,g);break a}}c=g}else c=Qe;null===b.context?b.context=c:b.pendingContext=c;b=f;e=Qf(d,e);e.payload={element:a};b=void 0===b?null:b;null!==b&&\n(e.callback=b);Sf(h,e);eg(h,d);return d}function yj(a,b,c,d){var e=b.current,f=cg(),h=$f.suspense;e=dg(f,e,h);return xj(a,b,c,e,h,d)}function zj(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Aj(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:$b,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nDb=function(a,b,c){switch(b){case \"input\":Ec(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Ka(d);if(!e)throw t(Error(90));Wb(d);Ec(d,e)}}}break;case \"textarea\":pe(a,c);break;case \"select\":b=c.value,null!=b&&me(a,!!c.multiple,b,!1)}};\nfunction Bj(a){var b=1073741821-25*(((1073741821-cg()+500)/25|0)+1);b<=Xi&&--b;this._expirationTime=Xi=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Bj.prototype.render=function(a){if(!this._defer)throw t(Error(250));this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Cj;xj(a,b,null,c,null,d._onCommit);return d};\nBj.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\nBj.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;if(!this._defer||null===b)throw t(Error(251));if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;if(null===d)throw t(Error(251));d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;b=c;if((U&(Ci|Di))!==T)throw t(Error(253));xf(Z.bind(null,a,b));O();b=this._next;this._next=\nnull;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=null,this._defer=!1};Bj.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++)(0,a[b])()}};function Cj(){this._callbacks=null;this._didCommit=!1;this._onCommit=this._onCommit.bind(this)}Cj.prototype.then=function(a){if(this._didCommit)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\nCj.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++){var c=a[b];if(\"function\"!==typeof c)throw t(Error(191),c);c()}}};function Dj(a,b,c){this._internalRoot=wj(a,b,c)}function Ej(a,b){this._internalRoot=wj(a,2,b)}Ej.prototype.render=Dj.prototype.render=function(a,b){var c=this._internalRoot,d=new Cj;b=void 0===b?null:b;null!==b&&d.then(b);yj(a,c,null,d._onCommit);return d};\nEj.prototype.unmount=Dj.prototype.unmount=function(a){var b=this._internalRoot,c=new Cj;a=void 0===a?null:a;null!==a&&c.then(a);yj(null,b,null,c._onCommit);return c};Ej.prototype.createBatch=function(){var a=new Bj(this),b=a._expirationTime,c=this._internalRoot,d=c.firstBatch;if(null===d)c.firstBatch=a,a._next=null;else{for(c=null;null!==d&&d._expirationTime>=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};\nfunction Hj(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Jb=ej;Kb=fj;Lb=aj;Mb=function(a,b){var c=U;U|=2;try{return a(b)}finally{U=c,U===T&&O()}};function Ij(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Dj(a,0,b)}\nfunction Jj(a,b,c,d,e){var f=c._reactRootContainer,h=void 0;if(f){h=f._internalRoot;if(\"function\"===typeof e){var g=e;e=function(){var a=zj(h);g.call(a)}}yj(b,h,a,e)}else{f=c._reactRootContainer=Ij(c,d);h=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=zj(h);k.call(a)}}gj(function(){yj(b,h,a,e)})}return zj(h)}function Kj(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Hj(b))throw t(Error(200));return Aj(a,b,null,c)}\nvar Nj={createPortal:Kj,findDOMNode:function(a){if(null==a)a=null;else if(1!==a.nodeType){var b=a._reactInternalFiber;if(void 0===b){if(\"function\"===typeof a.render)throw t(Error(188));throw t(Error(268),Object.keys(a));}a=qd(b);a=null===a?null:a.stateNode}return a},hydrate:function(a,b,c){if(!Hj(b))throw t(Error(200));return Jj(null,a,b,!0,c)},render:function(a,b,c){if(!Hj(b))throw t(Error(200));return Jj(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){if(!Hj(c))throw t(Error(200));\nif(null==a||void 0===a._reactInternalFiber)throw t(Error(38));return Jj(a,b,c,!1,d)},unmountComponentAtNode:function(a){if(!Hj(a))throw t(Error(40));return a._reactRootContainer?(gj(function(){Jj(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return Kj.apply(void 0,arguments)},unstable_batchedUpdates:ej,unstable_interactiveUpdates:function(a,b,c,d){aj();return fj(a,b,c,d)},unstable_discreteUpdates:fj,unstable_flushDiscreteUpdates:aj,flushSync:function(a,\nb){if((U&(Ci|Di))!==T)throw t(Error(187));var c=U;U|=1;try{return vf(99,a.bind(null,b))}finally{U=c,O()}},unstable_createRoot:Lj,unstable_createSyncRoot:Mj,unstable_flushControlled:function(a){var b=U;U|=1;try{vf(99,a)}finally{U=b,U===T&&O()}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[Ia,Ja,Ka,Ca.injectEventPluginsByName,fa,Qa,function(a){ya(a,Pa)},Hb,Ib,Ud,Ba,cj,{current:!1}]}};\nfunction Lj(a,b){if(!Hj(a))throw t(Error(299),\"unstable_createRoot\");return new Ej(a,null!=b&&!0===b.hydrate)}function Mj(a,b){if(!Hj(a))throw t(Error(299),\"unstable_createRoot\");return new Dj(a,1,null!=b&&!0===b.hydrate)}\n(function(a){var b=a.findFiberByHostInstance;return tj(m({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Xb.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=qd(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:Ha,bundleType:0,version:\"16.9.0\",\nrendererPackageName:\"react-dom\"});var Oj={default:Nj},Pj=Oj&&Nj||Oj;module.exports=Pj.default||Pj;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v0.15.0\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});var d=void 0,e=void 0,g=void 0,m=void 0,n=void 0;exports.unstable_now=void 0;exports.unstable_forceFrameRate=void 0;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,r=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(r,0),b;}};exports.unstable_now=function(){return Date.now()};d=function(a){null!==p?setTimeout(d,0,a):(p=a,setTimeout(r,0))};e=function(a,b){q=setTimeout(a,b)};g=function(){clearTimeout(q)};m=function(){return!1};n=exports.unstable_forceFrameRate=function(){}}else{var t=window.performance,u=window.Date,v=window.setTimeout,\nw=window.clearTimeout,x=window.requestAnimationFrame,y=window.cancelAnimationFrame;\"undefined\"!==typeof console&&(\"function\"!==typeof x&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\"function\"!==typeof y&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"));exports.unstable_now=\"object\"===typeof t&&\n\"function\"===typeof t.now?function(){return t.now()}:function(){return u.now()};var z=!1,A=null,B=-1,C=-1,D=33.33,E=-1,F=-1,G=0,H=!1;m=function(){return exports.unstable_now()>=G};n=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):0<a?(D=Math.floor(1E3/a),H=!0):(D=33.33,H=!1)};var J=function(){if(null!==A){var a=exports.unstable_now(),b=0<G-a;try{A(b,\na)||(A=null)}catch(c){throw I.postMessage(null),c;}}},K=new MessageChannel,I=K.port2;K.port1.onmessage=J;var L=function(a){if(null===A)F=E=-1,z=!1;else{z=!0;x(function(a){w(B);L(a)});var b=function(){G=exports.unstable_now()+D/2;J();B=v(b,3*D)};B=v(b,3*D);if(-1!==E&&.1<a-E){var c=a-E;!H&&-1!==F&&c<D&&F<D&&(D=c<F?F:c,8.33>D&&(D=8.33));F=c}E=a;G=a+D;I.postMessage(null)}};d=function(a){A=a;z||(z=!0,x(function(a){L(a)}))};e=function(a,b){C=v(function(){a(exports.unstable_now())},b)};g=function(){w(C);\nC=-1}}var M=null,N=null,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a,b){var c=a.next;if(c===a)M=null;else{a===M&&(M=c);var f=a.previous;f.next=c;c.previous=f}a.next=a.previous=null;c=a.callback;f=P;var l=O;P=a.priorityLevel;O=a;try{var h=a.expirationTime<=b;switch(P){case 1:var k=c(h);break;case 2:k=c(h);break;case 3:k=c(h);break;case 4:k=c(h);break;case 5:k=c(h)}}catch(Z){throw Z;}finally{P=f,O=l}if(\"function\"===typeof k)if(b=a.expirationTime,a.callback=k,null===M)M=a.next=a.previous=a;else{k=null;h=M;do{if(b<=h.expirationTime){k=h;break}h=h.next}while(h!==\nM);null===k?k=M:k===M&&(M=a);b=k.previous;b.next=k.previous=a;a.next=k;a.previous=b}}function U(a){if(null!==N&&N.startTime<=a){do{var b=N,c=b.next;if(b===c)N=null;else{N=c;var f=b.previous;f.next=c;c.previous=f}b.next=b.previous=null;V(b,b.expirationTime)}while(null!==N&&N.startTime<=a)}}function W(a){S=!1;U(a);R||(null!==M?(R=!0,d(X)):null!==N&&e(W,N.startTime-a))}\nfunction X(a,b){R=!1;S&&(S=!1,g());U(b);Q=!0;try{if(!a)for(;null!==M&&M.expirationTime<=b;)T(M,b),b=exports.unstable_now(),U(b);else if(null!==M){do T(M,b),b=exports.unstable_now(),U(b);while(null!==M&&!m())}if(null!==M)return!0;null!==N&&e(W,N.startTime-b);return!1}finally{Q=!1}}function Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}\nfunction V(a,b){if(null===M)M=a.next=a.previous=a;else{var c=null,f=M;do{if(b<f.expirationTime){c=f;break}f=f.next}while(f!==M);null===c?c=M:c===M&&(M=a);b=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}}var aa=n;exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;\nexports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};exports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var f=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var l=c.delay;l=\"number\"===typeof l&&0<l?f+l:f;c=\"number\"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),l=f;c=l+c;a={callback:b,priorityLevel:a,startTime:l,expirationTime:c,next:null,previous:null};if(l>f){c=l;if(null===N)N=a.next=a.previous=a;else{b=null;var h=N;do{if(c<h.startTime){b=h;break}h=h.next}while(h!==N);null===b?b=N:b===N&&(N=a);c=b.previous;c.next=b.previous=a;a.next=b;a.previous=\nc}null===M&&N===a&&(S?g():S=!0,e(W,l-f))}else V(a,c),R||Q||(R=!0,d(X));return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(a===b)a===M?M=null:a===N&&(N=null);else{a===M?M=b:a===N&&(N=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};exports.unstable_getCurrentPriorityLevel=function(){return P};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();U(a);return null!==O&&null!==M&&M.startTime<=a&&M.expirationTime<O.expirationTime||m()};exports.unstable_requestPaint=aa;exports.unstable_continueExecution=function(){R||Q||(R=!0,d(X))};exports.unstable_pauseExecution=function(){};exports.unstable_getFirstCallbackNode=function(){return M};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n config.method = config.method ? config.method.toLowerCase() : 'get';\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class Actionsheet extends Component {\n static propTypes = {\n portal: PropTypes.object,\n show: PropTypes.bool,\n\n duration: PropTypes.number,\n\n list: PropTypes.array, // [{caption: string, onClick: func}]\n\n maskStyle: PropTypes.object,\n maskClassName: PropTypes.string,\n onClickMask: PropTypes.func,\n\n style: PropTypes.object,\n className: PropTypes.string,\n\n groupStyle: PropTypes.object,\n groupClassName: PropTypes.string,\n\n optionStyle: PropTypes.object,\n optionClassName: PropTypes.string,\n\n cancelStyle: PropTypes.object,\n cancelClassName: PropTypes.string,\n cancelCaption: PropTypes.node,\n onClickCancel: PropTypes.func,\n\n onClick: PropTypes.func\n }\n static defaultProps = {\n cancelCaption: window._seeds_lang['cancel'] || '取消',\n optionClassName: 'border-b'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n }\n onClick = (e) => {\n const target = e.target;\n if (target.classList.contains('actionsheet-mask')) {\n if (this.props.onClickMask) {\n this.props.onClickMask(e);\n e.stopPropagation();\n }\n } else if (target.classList.contains('actionsheet-option')) {\n const index = target.getAttribute('data-index');\n if (this.props.onClick) {\n this.props.onClick(e, this.props.list[index], Number(index));\n e.stopPropagation();\n }\n } else if (target.classList.contains('actionsheet-cancel')) {\n if (this.props.onClickCancel) {\n this.props.onClickCancel(e);\n e.stopPropagation();\n }\n }\n }\n render() {\n const {\n duration, show,\n maskClassName, maskStyle,\n className, style,\n list,\n groupStyle, groupClassName,\n optionStyle, optionClassName,\n cancelCaption, cancelStyle, cancelClassName, onClickCancel\n } = this.props;\n return createPortal(\n <div ref={(el) => {this.$el = el}} className={`mask actionsheet-mask${maskClassName ? ' ' + maskClassName : ''}${show ? ' active' : ''}`} style={Object.assign(duration !== undefined ? {WebkitTransitionDuration: duration + 'ms'} : {}, maskStyle)} onClick={this.onClick}>\n <div className={`actionsheet${className ? ' ' + className : ''}${show ? ' active' : ''}`} style={Object.assign(duration !== undefined ? {WebkitTransitionDuration: duration + 'ms'} : {}, style)} data-animation=\"slideUp\">\n <div className={`actionsheet-group${groupClassName ? ' ' + groupClassName : ''}`} style={groupStyle}>\n {list && list.map((item, index) => {\n return <a className={`actionsheet-option${optionClassName ? ' ' + optionClassName : ''}`} style={optionStyle} key={index} data-index={index}>{item.caption}</a>\n })}\n </div>\n {onClickCancel && <a className={`actionsheet-cancel${cancelClassName ? ' ' + cancelClassName : ''}`} style={cancelStyle}>{cancelCaption}</a>}\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import Actionsheet from './Actionsheet.js';\n\nexport default Actionsheet;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class Alert extends Component {\n static propTypes = {\n portal: PropTypes.object,\n args: PropTypes.any,\n show: PropTypes.bool,\n\n duration: PropTypes.number,\n\n maskStyle: PropTypes.object,\n maskClassName: PropTypes.string,\n onClickMask: PropTypes.func,\n\n style: PropTypes.object,\n className: PropTypes.string,\n\n caption: PropTypes.node,\n captionStyle: PropTypes.object,\n captionClassName: PropTypes.string,\n\n icon: PropTypes.node,\n\n contentStyle: PropTypes.object,\n contentClassName: PropTypes.string,\n children: PropTypes.node,\n\n submitStyle: PropTypes.object,\n submitClassName: PropTypes.string,\n submitCaption: PropTypes.node,\n disabled: PropTypes.bool,\n onClickSubmit: PropTypes.func,\n\n cancelStyle: PropTypes.object,\n cancelClassName: PropTypes.string,\n cancelCaption: PropTypes.node,\n onClickCancel: PropTypes.func,\n }\n static defaultProps = {\n submitCaption: window._seeds_lang['ok'] || '确定',\n cancelCaption: window._seeds_lang['cancel'] || '取消',\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n }\n onClickMask = (e) => {\n if (this.props.onClickMask) this.props.onClickMask(Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n onClickCancel = (e) => {\n if (this.props.onClickCancel) this.props.onClickCancel(Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n onClickSubmit = (e) => {\n if (this.props.onClickSubmit) this.props.onClickSubmit(Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n render() {\n const {\n duration, show,\n maskClassName, maskStyle,\n className, style,\n caption, captionStyle, captionClassName,\n contentStyle, contentClassName,\n icon,\n children,\n submitCaption, submitStyle, submitClassName, onClickSubmit, disabled,\n cancelCaption, cancelStyle, cancelClassName, onClickCancel,\n } = this.props;\n return createPortal(\n <div ref={(el) => {this.$el = el}} className={`mask alert-mask${maskClassName ? ' ' + maskClassName : ''}${show ? ' active' : ''}`} style={Object.assign(duration !== undefined ? {WebkitTransitionDuration: duration + 'ms'} : {}, maskStyle)} onClick={this.onClickMask}>\n <div className={`alert${className ? ' ' + className : ''}${show ? ' active' : ''}`} style={Object.assign(duration !== undefined ? {WebkitTransitionDuration: duration + 'ms'} : {}, style)} data-animation=\"zoom\">\n {caption && <h1 className={captionClassName} style={captionStyle}>{caption}</h1>}\n <div className={`alert-content${contentClassName ? ' ' + contentClassName : ''}`} style={contentStyle}>\n {icon}\n {/* 内容 */}\n {children}\n </div>\n <div className=\"alert-handler\">\n {onClickCancel && <a className={`alert-cancel button lg${cancelClassName ? ' ' + cancelClassName : ''}`} style={cancelStyle} onClick={this.onClickCancel}>{cancelCaption}</a>}\n {onClickSubmit && <a className={`alert-submit button lg${submitClassName ? ' ' + submitClassName : ''}`} style={submitStyle} onClick={this.onClickSubmit} disabled={disabled}>{submitCaption}</a>}\n </div>\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import Alert from './Alert.js';\n\nexport default Alert;\n","import Badge from './Badge.js';\n\nexport default Badge;\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\n\nexport default class Badge extends Component {\n static propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n children: PropTypes.node,\n limit: PropTypes.number,\n ellipsis: PropTypes.string,\n }\n static defaultProps = {\n children: '0',\n limit: 2,\n ellipsis: '+',\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n render() {\n const {className, style, children, limit, ellipsis, ...others} = this.props;\n // 标题\n let caption = children;\n // 自动宽度,当大于两位时变宽\n let autoWidthClass = '';\n if (children && (typeof children === 'string' || typeof children === 'number')) {\n // 数字大于99,则显示99+\n if (!isNaN(children)) {\n caption = children.length > limit ? '99999'.substring(0, limit) + ellipsis : children;\n }\n // 数字大于2位以及2位以上,显示最大宽度\n autoWidthClass = children.length >= 2 ? 'badge-max-width' : '';\n }\n return (\n <span ref={el => {this.$el = el;}} className={`badge${autoWidthClass ? ' ' + autoWidthClass : ''}${className ? ' ' + className : ''}`} style={style} {...others}>{caption}</span>\n );\n }\n}\n","import BiClock from './BiClock.js';\n\nexport default BiClock;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class BiClock extends Component {\n static propTypes = {\n lineWidth: PropTypes.number, // 边框宽度\n size: PropTypes.number, // 大小,px\n time: PropTypes.string, // hh:mm\n style: PropTypes.object,\n className: PropTypes.string,\n duration: PropTypes.number, // 时长\n delay: PropTypes.number // 延时\n }\n static defaultProps = {\n lineWidth: 2,\n size: 50,\n duration: 500,\n delay: 0\n }\n constructor(props) {\n super(props);\n }\n \n getHourDeg = (hour) => {\n return hour * 30\n }\n getMinuteDeg = (minute) => {\n return minute * 6\n }\n aniRotate = () => {\n const {time, duration} = this.props;\n let hour = '00';\n let minute = '00';\n if (/\\d{2}:\\d{2}/.test(time)) {\n hour = time.split(':')[0];\n minute = time.split(':')[1];\n }\n setTimeout(() => {\n if (this.$hour) {\n this.$hour.style.WebkitTransitionDuration = `${duration}ms`;\n this.$hour.style.WebkitTransform = `rotate(${this.getHourDeg(hour)}deg)`;\n }\n if (this.$minute) {\n this.$minute.style.WebkitTransitionDuration = `${duration}ms`;\n this.$minute.style.WebkitTransform = `rotate(${this.getMinuteDeg(minute)}deg)`;\n }\n }, this.props.delay);\n }\n render() {\n const {lineWidth, size, className} = this.props;\n // 动画旋转\n this.aniRotate();\n return (\n <div ref={el => {this.$el = el;}} className={`bi-clock${className ? ' ' + className : ''}`} style={{width: `${size}px`, height: `${size}px`, borderWidth: `${lineWidth}px`}}>\n <div ref={el => {this.$hour = el;}} className=\"bi-clock-hour\" style={{width: `${lineWidth}px`}}></div>\n <div ref={el => {this.$minute = el;}} className=\"bi-clock-minute\" style={{width: `${lineWidth}px`}}></div>\n <div className=\"bi-clock-origin\" style={{width: `${lineWidth + 1}px`, height: `${lineWidth + 1}px`}}></div>\n </div>\n );\n }\n}\n","import BiDoughnut from './BiDoughnut.js';\n\nexport default BiDoughnut;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class BiDoughnut extends Component {\n static propTypes = {\n lineWidth: PropTypes.number, // 边框宽度\n size: PropTypes.number, // 大小,px\n duration: PropTypes.number, // 时长\n rotate: PropTypes.number, // 最大360\n delay: PropTypes.number, // 延时\n\n className: PropTypes.string,\n\n children: PropTypes.node,\n captionClassName: PropTypes.string,\n captionStyle: PropTypes.object\n };\n\n static defaultProps = {\n lineWidth: 3,\n size: 50,\n duration: 1000,\n rotate: 0,\n delay: 100,\n className: 'disabled'\n }\n\n constructor(props, context) {\n super(props, context);\n }\n getDuration = () => {\n const {duration, rotate} = this.props;\n const correctRotate = rotate > 360 ? 360 : rotate\n const duration1 = duration / 360;\n const durationRotate = duration1 * correctRotate;\n let durationLeft = 0;\n let durationRight = durationRotate;\n if (correctRotate > 180) {\n durationRight = duration1 * 180;\n durationLeft = duration1 * (correctRotate - 180);\n }\n return {\n durationRotate: durationRotate,\n delayLeft: durationRight,\n durationLeft: durationLeft,\n durationRight: durationRight\n }\n }\n getRotate = () => {\n const {rotate} = this.props;\n let rotateLeft = -135; // 左circle旋转角度\n let rotateRight = -135 + rotate; // 右circle旋转角度\n if (rotate > 180) {\n rotateRight = 45;\n rotateLeft = -135 + (rotate - 180);\n }\n return {\n rotateLeft,\n rotateRight\n }\n }\n // 只有延迟100毫秒动画才会生效\n aniRotate = () => {\n // 时长与延时\n const duration = this.getDuration();\n const durationLeft = duration.durationLeft;\n const delayLeft = duration.delayLeft;\n const durationRight = duration.durationRight;\n // 旋转\n const rotate = this.getRotate();\n let rotateLeft = rotate.rotateLeft;\n let rotateRight = rotate.rotateRight;\n setTimeout(() => {\n if (this.$elLeftCircle) {\n this.$elLeftCircle.style.WebkitTransitionDuration = `${durationLeft}ms`;\n this.$elLeftCircle.style.WebkitTransitionDelay = `${delayLeft}ms`;\n }\n if (this.$elRightCircle) {\n this.$elRightCircle.style.WebkitTransitionDuration = `${durationRight}ms`;\n }\n if (this.$elLeftCircle) {\n this.$elLeftCircle.style.WebkitTransform = `rotate(${rotateLeft}deg)`;\n }\n if (this.$elRightCircle) {\n this.$elRightCircle.style.WebkitTransform = `rotate(${rotateRight}deg)`;\n }\n }, this.props.delay);\n }\n render() {\n const {\n lineWidth, size,\n className,\n children, captionClassName, captionStyle\n } = this.props;\n // 动画旋转\n this.aniRotate();\n return (\n <div className={`bi-doughtut ${className}`} style={{width: `${size}px`, height: `${size}px`}}>\n <div className=\"bi-doughtut-wrapper left\">\n <div ref={(el) => {this.$elLeftCircle = el;}} className=\"bi-doughtut-circle left\" style={{borderWidth: `${lineWidth}px`, width: `${size - (lineWidth * 2)}px`, height: `${size - (lineWidth * 2)}px`}}></div>\n </div>\n <div className=\"bi-doughtut-wrapper right\">\n <div ref={(el) => {this.$elRightCircle = el;}} className=\"bi-doughtut-circle right\" style={{borderWidth: `${lineWidth}px`, width: `${size - (lineWidth * 2)}px`, height: `${size - (lineWidth * 2)}px`}}></div>\n </div>\n <div className={`bi-doughtut-caption${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle}>{children}</div>\n </div>\n );\n }\n}\n","import BiGauge from './BiGauge.js';\n\nexport default BiGauge;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class BiGauge extends Component {\n static propTypes = {\n duration: PropTypes.number, // 时长\n rotate: PropTypes.number, // 最大270\n delay: PropTypes.number, // 延时\n\n className: PropTypes.string,\n style: PropTypes.object,\n children: PropTypes.node,\n captionClassName: PropTypes.string,\n captionStyle: PropTypes.object\n };\n\n static defaultProps = {\n duration: 1000,\n rotate: 0,\n delay: 100,\n }\n\n constructor(props, context) {\n super(props, context);\n }\n getDuration = () => {\n const {duration, rotate} = this.props;\n return duration / 270 * rotate;\n }\n getRotate = () => {\n const {rotate} = this.props;\n return rotate > 270 ? 270 : rotate;\n }\n getBgLvl = () => {\n const {rotate} = this.props;\n const lvl = Math.round(rotate / 27)\n return lvl > 10 ? 10 : 1;\n }\n // 只有延迟100毫秒动画才会生效\n aniRotate = () => {\n // 时长\n const duration = this.getDuration();\n // 旋转\n const rotate = this.getRotate();\n // 背景\n const bgLvl = 'bg' + this.getBgLvl();\n setTimeout(() => {\n if (this.$el) {\n this.$el.style.WebkitAnimationDuration = `${duration}ms`;\n this.$el.classList.add(bgLvl);\n }\n if (this.$elPointer) {\n this.$elPointer.style.WebkitTransitionDuration = `${duration}ms`;\n this.$elPointer.style.WebkitTransform = `rotate(${rotate}deg)`;\n }\n }, this.props.delay);\n }\n render() {\n const {\n className, style,\n children, captionClassName, captionStyle\n } = this.props;\n // 动画旋转\n this.aniRotate();\n return (\n <div ref={(el) => {this.$el = el;}} className={`bi-gauge-box${className ? ' ' + className : ''}`} style={style}>\n <div className=\"bi-gauge\">\n <div ref={(el) => {this.$elPointer = el;}} className=\"bi-gauge-pointer\"></div>\n <div className={`bi-gauge-caption${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle}>\n {children}\n </div>\n </div>\n </div>\n );\n }\n}\n","import Device from './Device.js';\n\nexport default Device;\n","// Device\nvar Device = (function () {\n var ua = navigator.userAgent.toLowerCase()\n // 内核\n var kernel = ''\n if (ua.indexOf('trident') > -1) {\n kernel = 'trident'\n } else if (ua.indexOf('presto') > -1) {\n kernel = 'presto'\n } else if (ua.indexOf('applewebkit') > -1) {\n kernel = 'webkit'\n } else if (ua.indexOf('gecko') > -1 && ua.indexOf('khtml') === -1) {\n kernel = 'gecko'\n }\n // 设备\n var device = ''\n if (ua.match(/applewebkit.*mobile.*/)) {\n device = 'mobile'\n } else {\n device = 'pc'\n }\n // 系统\n var os = ''\n var osVersion = ''\n var andriodExp = ua.match(/android\\s*(\\d*\\.*\\d*)/)\n var iosExp = ua.match(/cpu iphone os (.*?) like mac os/)\n if (andriodExp) {\n os = 'andriod'\n osVersion = andriodExp[1]\n } else if (iosExp) {\n os = 'ios'\n osVersion = iosExp[1]\n }\n // 平台\n var platform = ''\n var platformVersion = ''\n var platformMatch = null\n if (device === 'pc') {\n platform = 'browser'\n } else if (ua.indexOf('wxwork') > -1) {\n platform = 'weixinwork'\n platformMatch = ua.match(/wxwork\\/([0-9.]+)/i)\n if (platformMatch && platformMatch[1]) platformVersion = platformMatch[1]\n } else if (ua.indexOf('micromessenger') > -1) {\n platform = 'weixin'\n platformMatch = ua.match(/micromessenger\\/([0-9.]+)/i)\n if (platformMatch && platformMatch[1]) platformVersion = platformMatch[1]\n } else if (ua.indexOf('miniprogram') > -1) {\n platform = 'weixinminiprogram'\n platformMatch = ua.match(/micromessenger\\/([0-9.]+)/i)\n if (platformMatch && platformMatch[1]) platformVersion = platformMatch[1]\n } else if (ua.indexOf('mqqbrowser') > -1) {\n platform = 'qq'\n } else if (ua.indexOf('ucbrowser') > -1) {\n platform = 'uc'\n } else if (ua.indexOf('dinghuoappversion') > -1) {\n platform = 'dinghuo'\n platformMatch = ua.match(/dinghuoappversion\\/\\s*([0-9.]+)/)\n if (platformMatch && platformMatch[1]) platformVersion = platformMatch[1]\n } else if (ua.indexOf('wqappversion') > -1) {\n platform = 'waiqin'\n platformMatch = ua.match(/wqappversion\\/([\\w.]*)/)\n if (platformMatch && platformMatch[1]) platformVersion = platformMatch[1]\n } else {\n platform = 'browser'\n }\n\n\n // 获得苹果机型\n function appleModel() { // 获取设备型号\n if (ua && /(iphone|ipad|ipod|ios)/i.test(ua)) {\n var m = ua.match(/mobile\\/([\\w.]*)/)\n if (m && m[1]) {\n return m[1]\n }\n }\n return ''\n }\n function getAppleDevice() { // 获取苹果设备名称\n // iPhoneX | iPhoneXS\n if (/iphone/gi.test(ua) && (window.screen.height === 812 && window.screen.width === 375)) return 'iPhoneX'\n // iPhoneXSM | iPhoneXSR\n if (/iphone/gi.test(ua) && (window.screen.height === 896 && window.screen.width === 414)) return 'iPhoneXSM'\n var model = appleModel()\n switch (model) {\n case '15b150':\n return 'iPhone6s'\n case '15b202':\n return 'iPhone6'\n case '13g36':\n return 'iPhone5SE'\n case '14e304':\n return 'iPhone6P'\n default:\n return ''\n }\n }\n\n // 网络监听\n var onLineCallback\n function handleOnline(e) {\n onLineCallback(true)\n }\n function handleOffline(e) {\n onLineCallback(false)\n }\n function onLine(callback) {\n onLineCallback = callback\n window.removeEventListener('online', handleOnline, false)\n window.removeEventListener('offline', handleOffline, false)\n window.addEventListener('online', handleOnline, false)\n window.addEventListener('offline', handleOffline, false)\n }\n\n // 适配刘海屏和andriod5.0以下的手机\n function adapterIPhoneX(el) {\n var root = document.getElementById('root')\n if (el && Object.prototype.toString.call(el).indexOf('[object HTML') === 0) root = el\n if (!root) return\n // 适配iPhoneX\n var isX = getAppleDevice().indexOf('iPhoneX') >= 0\n function changeSafeArea() {\n if (isX && root) {\n switch (window.orientation) {\n case 0: // 竖屏\n root.style.left = '0'\n root.style.right = '0'\n root.style.bottom = '34px'\n break\n case 90: // 向左横屏\n root.style.left = '40px'\n root.style.right = '40px'\n root.style.bottom = '34px'\n break\n case -90: // 向右横屏\n root.style.left = '40px'\n root.style.right = '40px'\n root.style.bottom = '34px'\n break\n default:\n break\n }\n }\n }\n // 刘海屏自适应\n changeSafeArea()\n window.removeEventListener('orientationchange', changeSafeArea, false)\n window.addEventListener('orientationchange', changeSafeArea, false)\n }\n /**\n * 动态加载桥接库\n * @param {Func} callback 加载完成回调\n * @param {Object} options {wxUrl: '', wqUrl: ''}\n */\n function dynamicLoadBridge(callback, options = {}) {\n if (platform !== 'weixin' && platform !== 'weixinwork' && platform !== 'waiqin' && platform !== 'dinghuo') {\n if (callback) window.addEventListener('load', callback, false)\n return\n }\n var script = document.createElement('script')\n script.type = 'text/javascript'\n script.defer = 'defer'\n if (platform === 'weixin' || platform === 'weixinwork') { // 微信\n script.src = options.wxUrl || '//res.wx.qq.com/open/js/jweixin-1.4.0.js'\n if (callback) {\n script.onload = function () {\n callback()\n }\n }\n } else if (platform === 'waiqin') { // 外勤\n script.src = options.wqUrl || '//res.waiqin365.com/d/common_mobile/component/cordova/cordova.js'\n if (callback) {\n script.onload = function () {\n document.addEventListener('deviceready', () => {\n callback()\n })\n }\n }\n } else if (platform === 'dinghuo') {\n callback()\n }\n if (script.src) document.body.appendChild(script)\n }\n // 获取地址栏参数\n function getUrlParameter(argName, argSearch) {\n var url = window.location.href\n if (argSearch) url = argSearch\n var params = {}\n // 如果url中包含?说明有参数\n if (url.indexOf('?') !== -1) {\n // 获取所有参数options: 如?a=1&b=2转为['a=1','b=2']\n var options = url.split('?')[1].split('&')\n if (options.length) {\n for (var i = 0; i < options.length; i++) {\n // 获取单项option: 如'a=1'转为['a', '1']\n var option = options[i].split('=')\n if (option.length === 2) {\n if (argName) {\n if (argName === option[0]) return option[1]\n } else {\n params[option[0]] = option[1]\n }\n }\n }\n }\n }\n if (Object.keys(params).length) return params\n return ''\n }\n // 获取屏幕宽高\n function getScreenWidth () {\n if (window.innerWidth) return window.innerWidth\n if (window.screen.width) return window.screen.width\n if (window.screen.availWidth) return window.screen.availWidth\n }\n function getScreenHeight () {\n if (window.innerHeight) return window.innerHeight\n if (window.screen.height) return window.screen.height\n if (window.screen.availHeight) return window.screen.availHeight\n }\n return {\n protocol: window.location.protocol,\n host: window.location.host,\n domain: window.location.protocol + '//' + window.location.host,\n kernel: kernel,\n device: device,\n os: os,\n osVersion: osVersion,\n platform: platform,\n platformVersion: platformVersion,\n appleDevice: getAppleDevice(),\n // 应用程序判断\n language: (window.navigator.browserLanguage || window.navigator.language).toLowerCase(),\n appVersion: window.navigator.appVersion,\n onLine: onLine,\n isOnLine: window.navigator.onLine || true,\n ua: ua,\n orientation: window.orientation || '请在真机上测试', // 设备方向0:竖屏,90:左横屏,-90:右横屏\n adapterIPhoneX: adapterIPhoneX, // 适配iPhoneX\n dynamicLoadBridge: dynamicLoadBridge, // 动态加载桥接库\n getUrlParameter: getUrlParameter,\n screenWidth: getScreenWidth(),\n screenHeight: getScreenHeight()\n }\n})()\n\nexport default Device\n","/**\n * Callback index.\n */\n\nvar count = 0;\n\n/**\n * Noop function.\n */\n\nfunction noop(){}\n\n/**\n * JSONP handler\n *\n * Options:\n * - param {String} qs parameter (`callback`)\n * - prefix {String} qs parameter (`__jp`)\n * - name {String} qs parameter (`prefix` + incr)\n * - timeout {Number} how long after a timeout error is emitted (`60000`)\n *\n * @param {String} url\n * @param {Object|Function} optional options / callback\n * @param {Function} optional callback\n */\n\nfunction jsonp(url, opts, fn){\n if ('function' === typeof opts) {\n fn = opts;\n opts = {};\n }\n if (!opts) opts = {};\n\n var prefix = opts.prefix || '__jp';\n\n // use the callback name that was passed if one was provided.\n // otherwise generate a unique name by incrementing our counter.\n var id = opts.name || (prefix + (count++));\n\n var param = opts.param || 'callback';\n var timeout = null != opts.timeout ? opts.timeout : 60000;\n var enc = encodeURIComponent;\n var target = document.getElementsByTagName('script')[0] || document.head;\n var script;\n var timer;\n\n\n if (timeout) {\n timer = setTimeout(function(){\n cleanup();\n if (fn) fn(new Error('Timeout'));\n }, timeout);\n }\n\n function cleanup(){\n if (script.parentNode) script.parentNode.removeChild(script);\n window[id] = noop;\n if (timer) clearTimeout(timer);\n }\n\n function cancel(){\n if (window[id]) {\n cleanup();\n }\n }\n\n window[id] = function(data){\n cleanup();\n if (fn) fn(null, data);\n };\n\n // add qs component\n url += (~url.indexOf('?') ? '&' : '?') + param + '=' + enc(id);\n url = url.replace('?&', '?');\n\n\n // create script\n script = document.createElement('script');\n script.src = url;\n target.parentNode.insertBefore(script, target);\n\n return cancel;\n}\n\nexport default jsonp\n","import jsonp from './jsonp.js';\n\nexport default jsonp;\n","import DB from './DB.js';\n\nexport default DB;\n","// DB 本地数据库\nvar DB = (function () {\n function checkManifest () {\n window.addEventListener('updateready', function (e) {\n console.log('离线缓存状态:' + window.applicationCache.status)\n if (window.applicationCache.status === window.applicationCache.UPDATEREADY) {\n window.applicationCache.swapCache()\n if (window.confirm('发现此manifest文件有更新,是否更新?')) {\n window.location.reload()\n }\n } else {\n console.log('manifest文件没有变化')\n }\n }, false)\n }\n function stringifyData (val) {\n if (typeof val === 'number') {\n return '_number:' + val.toString()\n }\n if (typeof val === 'boolean') {\n return '_boolean:' + val.toString()\n }\n if (!val) {\n return ''\n }\n if (typeof val === 'string') {\n return val\n }\n if (val instanceof Function) {\n return '_function:' + val.toString()\n }\n if (val instanceof Object) {\n return '_json:' + JSON.stringify(val)\n }\n }\n function parseData (val) {\n if (!val) {\n return null\n }\n if (val.indexOf('_number:') === 0) {\n return Number(val.replace(/^_number:/, ''))\n }\n if (val.indexOf('_boolean:') === 0) {\n return Boolean(val.replace(/^_boolean:/, ''))\n }\n if (val.indexOf('_function:') === 0) {\n return val.replace(/^_function:/, '')\n }\n if (val.indexOf('_json:') === 0) {\n return JSON.parse(val.replace(/^_json:/, ''))\n }\n return val\n }\n var store = window.localStorage\n var session = window.sessionStorage\n return {\n // application cache\n checkManifest: checkManifest,\n\n setStore: function (key, val) {\n store.setItem(key.toString(), stringifyData(val))\n },\n getStore: function (key) {\n if (typeof key === 'number') {\n return parseData(store.key(key))\n }\n return parseData(store.getItem(key))\n },\n getAllStore: function () {\n return store.valueOf()\n },\n removeStore: function (key) {\n store.removeItem(key)\n },\n clearStore: function () {\n store.clear()\n },\n\n setSession: function (key, value) {\n session.setItem(key.toString(), stringifyData(value))\n },\n getSession: function (key) {\n if (typeof key === 'number') {\n return parseData(session.key(key))\n }\n return parseData(session.getItem(key))\n },\n getAllSession: function () {\n return session.valueOf()\n },\n removeSession: function (key) {\n session.removeItem(key)\n },\n clearSession: function () {\n session.clear()\n },\n setCookie: function (key, value, second) {\n var cookieStr = key + '=' + escape(value)\n if (second) {\n var expires = new Date()\n expires.setTime(expires.getTime() + (second * 1000))\n cookieStr += ';expires=' + expires.toGMTString()\n }\n document.cookie = cookieStr\n },\n getCookie: function (key) {\n var arrCookie = document.cookie.split('; ')\n //遍历cookie数组, 处理每个cookie对\n for (var i = 0, item; item = arrCookie[i++];) { // eslint-disable-line\n var arrItem = item.split(\"=\");\n //找到名称为userId的cookie,并返回它的值 \n if (String(key) === arrItem[0]) {\n return unescape(arrItem[1])\n }\n }\n return null\n },\n removeCookie: function (key) {\n var expires = new Date()\n expires.setTime(expires.getTime() - 1)\n var val = this.getCookie(key)\n if (val != null) {\n document.cookie = key + '=' + val + 'expires=' + expires.toGMTString()\n }\n },\n clearCookie: function clearCookie () {\n alert('抱歉,cookie不可以全部清空!')\n }\n }\n})()\n\nexport default DB\n","// Toast 提示框\nvar Toast = function (params) {\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n mask: null,\n parent: document.body, // 创建于哪个元素下\n\n maskClass: 'mask toast-mask', // 加toast-propagation允许点击\n maskActiveClass: 'active',\n\n toastClass: 'toast bottom',\n toastActiveClass: 'active',\n wrapperClass: 'toast-wrapper',\n captionClass: 'toast-caption',\n iconClass: 'toast-icon',\n \n duration: 300,\n delay: 0,\n html: '',\n icon: '' // 传入icon的class\n\n /* callbacks\n onShowed(Toast)// 显示动画结束后回调\n onHid(Toast)// 隐藏动画结束后回调\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n s.parent = typeof s.params.parent === 'string' ? document.querySelector(s.params.parent) : s.params.parent\n s.toast = null\n s.wrapper = null\n // Mask\n s.createMask = function () {\n var mask = document.createElement('div')\n mask.setAttribute('class', s.params.maskClass)\n return mask\n }\n s.createToast = function () {\n var toast = document.createElement('div')\n toast.setAttribute('class', s.params.toastClass)\n return toast\n }\n s.createToastWrapper = function () {\n var wrapper = document.createElement('div')\n wrapper.setAttribute('class', s.params.wrapperClass)\n return wrapper\n }\n s.createToastIcon = function () {\n var icon = document.createElement('span')\n if (!s.params.icon) return icon\n icon.setAttribute('class', s.params.iconClass + (s.params.icon ? ' ' + s.params.icon : ''))\n return icon\n }\n s.createToastCaption = function () {\n var caption = document.createElement('span')\n caption.setAttribute('class', s.params.captionClass)\n if (s.params.html) caption.innerHTML = s.params.html\n return caption\n }\n s.create = function () {\n s.mask = s.createMask()\n s.toast = s.createToast()\n s.wrapper = s.createToastWrapper()\n s.caption = s.createToastCaption()\n s.icon = s.createToastIcon()\n if (s.icon) s.wrapper.appendChild(s.icon)\n s.wrapper.appendChild(s.caption)\n s.toast.appendChild(s.wrapper)\n s.mask.appendChild(s.toast)\n s.parent.appendChild(s.mask)\n }\n s.update = function () {\n if (s.params.mask) s.mask = typeof s.params.mask === 'string' ? document.querySelector(s.params.mask) : s.params.mask\n if (s.mask) {\n s.toast = s.mask.querySelector('.' + s.params.toastClass)\n s.wrapper = s.mask.querySelector('.' + s.params.wrapperClass)\n } else {\n s.create()\n }\n s.toast.style.webkitTransitionDuration = s.params.duration + 'ms'\n }\n s.update()\n\n /* --------------------\n Method\n -------------------- */\n s.setMaskClassName = function (className) {\n s.params.maskClass = className\n s.mask.setAttribute('class', s.params.maskClass)\n }\n s.setToastClassName = function (className) {\n s.params.toastClass = className\n s.toast.setAttribute('class', s.params.toastClass)\n }\n s.setIcon = function (className) {\n s.params.icon = className\n if (s.params.icon) {\n s.icon.setAttribute('class', s.params.iconClass + (s.params.icon ? ' ' + s.params.icon : ''))\n } else {\n s.icon.setAttribute('class', '')\n }\n }\n s.setDelay = function (delay) {\n s.params.delay = delay\n }\n s.setHTML = function (html) {\n s.caption.innerHTML = html\n }\n\n s.showMask = function () {\n s.mask.classList.add(s.params.maskActiveClass)\n }\n s.hideMask = function () {\n s.mask.classList.remove(s.params.maskActiveClass)\n }\n s.destroyMask = function () {\n s.mask.parentNode.removeChild(s.mask)\n }\n\n s.showToast = function () {\n s.toast.classList.add(s.params.toastActiveClass)\n }\n s.hideToast = function () {\n s.toast.classList.remove(s.params.toastActiveClass)\n }\n\n s.isHid = true\n s.hide = function () {\n s.isHid = true\n s.hideMask()\n s.hideToast()\n if (s.params.duration === 0) s.onTransitionEnd()\n }\n s.show = function () {\n s.isHid = false\n s.showMask()\n s.showToast()\n if (s.params.duration === 0) s.onTransitionEnd()\n\n // 显示数秒后,自动消失\n if (s.params.delay) {\n if (s.delayer) window.clearTimeout(s.delayer)\n s.delayer = setTimeout(function () {\n s.hide()\n }, s.params.delay)\n }\n }\n s.destroy = function () {\n s.destroyMask()\n }\n /* --------------------\n Controller\n -------------------- */\n s.events = function (detach) {\n var target = s.toast\n var action = detach ? 'removeEventListener' : 'addEventListener'\n target[action]('webkitTransitionEnd', s.onTransitionEnd, false)\n // target[action]('webkitAnimationEnd',s.onAnimationEnd,false)\n }\n s.attach = function () {\n s.events()\n }\n s.detach = function () {\n s.events(false)\n }\n s.transitionFlag = true\n // Events Handler\n s.onTransitionEnd = function (e) {\n if (e.propertyName === 'visibility') return\n // 防止animationend和transitionend多次执行的问题\n if (s.transitionFlag) {\n s.transitionFlag = false;\n if (s.isHid) {\n // Callback onHid\n if (s.params.onHid) s.params.onHid(s)\n } else {\n // Callback onShowed\n if (s.params.onShowed) s.params.onShowed(s)\n }\n }\n }\n /* --------------------\n Init\n -------------------- */\n s.init = function () {\n s.attach()\n }\n s.init()\n}\n\nexport default Toast\n","// Alert 提示框\nvar Alert = function (params) {\n if (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n overflowContainerActiveClass: 'overflow-hidden',\n\n maskClass: 'mask alert-mask',\n maskActiveClass: 'active',\n\n duration: 300,\n animationAttr: 'data-animation',\n animation: 'zoom',\n\n alertClass: 'alert',\n alertActiveClass: 'active',\n contentClass: 'alert-content',\n handlerClass: 'alert-handler',\n buttonSubmitClass: 'alert-submit button',\n buttonCancelClass: 'alert-cancel button',\n\n caption: '',\n html: '',\n buttonSubmitHTML: window._seeds_lang['ok'] || '确定',\n buttonCancelHTML: window._seeds_lang['cancel'] || '取消',\n\n isClickMaskHide: false,\n args: null\n /*\n Callbacks:\n onClick:function(Alert)\n onClickSubmit:function(Alert)\n onClickCancel:function(Alert)\n onClickMask:function(Alert)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n // Params\n s.params.mask = null\n if (params.mask) {\n s.params.mask = params.mask\n }\n \n s.params.parent = document.body // 创建于哪个元素下\n if (params.parent) {\n s.params.parent = params.parent\n }\n \n s.params.overflowContainer = document.body\n if (params.overflowContainer) {\n s.params.overflowContainer = params.overflowContainer\n }\n // Parent | OverflowContainer\n s.parent = typeof s.params.parent === 'string' ? document.querySelector(s.params.parent) : s.params.parent\n s.overflowContainer = typeof s.params.overflowContainer === 'string' ? document.querySelector(s.params.overflowContainer) : s.params.overflowContainer\n // Alert | Mask\n s.mask = null\n s.alert = null\n s.html = null\n s.buttonBox = null\n s.buttonSubmit = null\n s.buttonCancel = null\n // Mask\n s.createMask = function () {\n s.mask = document.createElement('div')\n s.mask.setAttribute('class', s.params.maskClass)\n }\n // Alert\n s.createButton = function (html, className) {\n var button = document.createElement('a')\n button.setAttribute('class', className)\n button.innerHTML = html\n return button\n }\n s.createAlert = function () {\n s.alert = document.createElement('div')\n s.alert.setAttribute('class', s.params.alertClass)\n s.alert.setAttribute(s.params.animationAttr, s.params.animation)\n\n s.html = document.createElement('div')\n s.html.setAttribute('class', s.params.contentClass)\n s.html.innerHTML = s.params.html\n\n s.buttonBox = document.createElement('div')\n s.buttonBox.setAttribute('class', s.params.handlerClass)\n\n // 如果有取消按钮\n if (s.params.onClickCancel) {\n s.buttonCancel = s.createButton(s.params.buttonCancelHTML, s.params.buttonCancelClass)\n s.buttonBox.appendChild(s.buttonCancel)\n }\n s.buttonSubmit = s.createButton(s.params.buttonSubmitHTML, s.params.buttonSubmitClass)\n\n s.buttonBox.appendChild(s.buttonSubmit)\n\n if (s.params.caption && s.params.caption !== '') {\n s.caption = document.createElement('h1')\n s.caption.innerHTML = s.params.caption\n s.alert.appendChild(s.caption)\n }\n\n s.alert.appendChild(s.html)\n s.alert.appendChild(s.buttonBox)\n }\n s.create = function () {\n s.createMask()\n s.createAlert()\n s.mask.appendChild(s.alert)\n s.parent.appendChild(s.mask)\n }\n s.updateDOM = function () {\n if (s.alert) {\n s.alert.setAttribute('class', s.params.alertClass)\n s.alert.setAttribute(s.params.animationAttr, s.params.animation)\n }\n\n if (s.html) {\n s.html.setAttribute('class', s.params.contentClass)\n s.html.innerHTML = s.params.html\n }\n\n if (s.caption && s.params.caption) s.caption.innerHTML = s.params.caption\n\n if (s.buttonBox) {\n s.buttonBox.setAttribute('class', s.params.handlerClass)\n }\n\n if (s.buttonSubmit) {\n s.buttonSubmit.innerHTML = s.params.buttonSubmitHTML\n s.buttonSubmit.setAttribute('class', s.params.buttonSubmitClass)\n }\n \n if (s.buttonCancel) {\n s.buttonCancel.innerHTML = s.params.buttonCancelHTML\n s.buttonCancel.setAttribute('class', s.params.buttonCancelClass)\n }\n }\n s.update = function () {\n if (s.params.mask) s.mask = typeof s.params.mask === 'string' ? document.querySelector(s.params.mask) : s.params.mask\n if (s.mask) {\n if (!s.alert) s.alert = s.mask.querySelector('.' + s.params.alertClass)\n if (!s.buttonSubmit) s.buttonSubmit = s.alert.querySelector('.' + s.params.buttonSubmitClass)\n if (!s.buttonCancel) s.buttonCancel = s.alert.querySelector('.' + s.params.buttonCancelClass)\n } else {\n s.create()\n }\n s.mask.style.webkitTransitionDuration = s.params.duration + 'ms'\n s.alert.style.webkitTransitionDuration = s.params.duration + 'ms'\n }\n s.update()\n /* --------------------\n Method\n -------------------- */\n s.showMask = function () {\n s.mask.classList.add(s.params.maskActiveClass)\n }\n s.hideMask = function () {\n s.mask.classList.remove(s.params.maskActiveClass)\n }\n s.destroyMask = function () {\n s.mask.parentNode.removeChild(s.mask)\n }\n s.showAlert = function () {\n s.alert.classList.add(s.params.alertActiveClass)\n }\n s.hideAlert = function () {\n s.alert.classList.remove(s.params.alertActiveClass)\n }\n s.isHid = true\n s.hide = function () {\n s.isHid = true\n // 隐藏遮罩\n s.hideMask()\n // 隐藏弹出框\n s.hideAlert()\n // 显示滚动条\n if (s.overflowContainer) s.overflowContainer.classList.remove(s.params.overflowContainerActiveClass)\n // 执行回调\n if (s.params.duration === 0) s.onTransitionEnd()\n }\n s.show = function () {\n s.isHid = false\n // 显示遮罩\n s.showMask()\n // 显示弹出框\n s.showAlert()\n // 禁用滚动条\n if (s.overflowContainer) s.overflowContainer.classList.add(s.params.overflowContainerActiveClass)\n // 执行回调\n if (s.params.duration === 0) s.onTransitionEnd()\n }\n s.destroy = function () {\n s.destroyMask()\n }\n // 重置数据\n s.reset = function () {\n s.params = defaults\n s.updateDOM()\n }\n // 动态设置\n s.setHTML = function (html) {\n s.html.innerHTML = html\n }\n s.setCaption = function (caption) {\n s.caption.innerHTML = caption\n }\n s.setOnClick = function (fn) {\n s.params.onClick = fn\n }\n s.setOnClickSubmit = function (fn) {\n s.params.onClickSubmit = fn\n }\n s.setOnClickCancel = function (fn) {\n // 如果没有取消按钮,创建一个\n if (!s.params.onClickCancel) {\n s.buttonCancel = s.createButtonCancel()\n s.buttonBox.insertBefore(s.buttonCancel, s.buttonSubmit)\n }\n s.params.onClickCancel = fn\n }\n /* --------------------\n Control\n -------------------- */\n s.events = function (detach) {\n var touchTarget = s.alert\n var action = detach ? 'removeEventListener' : 'addEventListener'\n touchTarget[action]('click', s.onClick, false)\n touchTarget[action]('webkitTransitionEnd', s.onTransitionEnd, false)\n // 遮罩\n s.mask[action]('click', s.onClickMask, false)\n }\n // attach、dettach事件\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n s.getArgs = function (e) {\n var args = s.params.args\n if (args !== undefined) {\n if (typeof args === 'string' && args === '$event') {\n args = e\n } else if (Array.isArray(args) && args.indexOf('$event') > -1) {\n args[args.indexOf('$event')] = e\n }\n } else {\n args = e\n }\n return args\n }\n s.onClick = function (e) {\n s.event = e\n\n if (s.params.onClick) s.params.onClick(s, s.getArgs(e))\n if (e.target.className.indexOf(s.params.buttonSubmitClass) !== -1) {\n if (s.params.onClickSubmit) s.params.onClickSubmit(s, s.getArgs(e))\n else s.hide()\n } else if (e.target.className.indexOf(s.params.buttonCancelClass) !== -1) {\n if (s.params.onClickCancel) s.params.onClickCancel(s, s.getArgs(e))\n else s.hide()\n }\n }\n s.setOnClick = function (fn) {\n s.params.onClick = fn\n }\n s.setOnClickSubmit = function (fn) {\n s.params.onClickSubmit = fn\n }\n s.setOnClickCancel = function (fn) {\n s.params.onClickCancel = fn\n }\n s.onClickMask = function (e) {\n if (e.target === s.mask) {\n s.target = e.target\n if (s.params.onClickMask) s.params.onClickMask(s, s.getArgs(e))\n if (s.params.isClickMaskHide) s.hide()\n }\n }\n s.setOnClickMask = function (fn) {\n s.params.onClickMask = fn\n }\n s.onTransitionEnd = function (e) {\n if (e && e.propertyName === 'visibility') return\n if (s.isHid) {\n // Callback onHid\n if (s.params.onHid) s.params.onHid(s, s.getArgs(e))\n } else {\n // Callback onShowed\n if (s.params.onShowed) s.params.onShowed(s, s.getArgs(e))\n }\n }\n /* --------------------\n Init\n -------------------- */\n s.init = function () {\n s.attach()\n }\n s.init()\n}\n\nexport default Alert\n","// Loading 进度条\nvar Loading = function (params) {\n if (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n mask: null,\n parent: document.body, // 创建于哪个元素下\n\n maskCss: '',\n maskClass: 'mask loading-mask', // 加loading-propagation允许点击\n maskActiveClass: 'active',\n loadingClass: 'loading',\n loadingActiveClass: 'active',\n\n types: ['floating', 'filling', 'custom'],\n type: 'floating', // floating流光 | filling填料环 | custom自定义\n iconClass: 'loading-custom-icon',\n icon: '', // 传入icon的class\n caption: window._seeds_lang['loading'] || '正在加载...'\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n s.parent = typeof s.params.parent === 'string' ? document.querySelector(s.params.parent) : s.params.parent\n s.mask = null\n s.loading = null\n \n // Mask\n s.createMask = function () {\n var mask = document.createElement('div')\n mask.setAttribute('class', s.params.maskClass)\n mask.setAttribute('style', s.params.maskCss)\n return mask\n }\n // Loading\n s.createLoading = function () {\n var loading = document.createElement('div')\n loading.setAttribute('class', s.params.loadingClass + ' loading-floating animated')\n // 流光loading-floating\n var html = '<div class=\"loading-floating-icon\">' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '<div class=\"loading-floating-blade\"></div>' +\n '</div>' +\n '<div class=\"loading-floating-caption caption\">' + s.params.caption + '</div>';\n if (s.params.type === 'filling') { // 填料环loading-filling\n loading.setAttribute('class', s.params.loadingClass + ' loading-filling')\n html = '<div class=\"loading-filling-icon\"></div>'+\n '<div class=\"loading-filling-caption caption\">' + s.params.caption + '</div>';\n } else if (s.params.type === 'custom') { // 自定义样式,icon\n loading.setAttribute('class', s.params.loadingClass + ' loading-custom')\n html = '<span class=\"' + s.params.iconClass + ' ' + s.params.icon + '\"></span><p class=\"loading-custom-caption caption\">' + s.params.caption + '</p>'\n }\n loading.innerHTML = html\n return loading\n }\n s.create = function () {\n s.mask = s.createMask()\n s.loading = s.createLoading()\n s.mask.appendChild(s.loading)\n s.parent.appendChild(s.mask)\n }\n s.update = function () {\n if (s.params.mask) s.mask = typeof s.params.mask === 'string' ? document.querySelector(s.params.mask) : s.params.mask\n if (s.mask) {\n s.loading = s.mask.querySelector('.' + s.params.loadingClass)\n } else {\n s.create()\n }\n }\n s.update()\n\n /* --------------------\n Method\n -------------------- */\n s.setMaskCss = function (css) {\n if (css) s.params.maskCss = css\n s.mask.setAttribute('style', s.params.maskCss)\n }\n s.setMaskClassName = function (className) {\n if (className) s.params.maskClass = className\n s.mask.setAttribute('class', s.params.maskClass)\n }\n s.setType = function (type) {\n if (s.params.type === type || s.params.types.indexOf(type) === -1) return\n s.params.type = type\n s.loading = s.createLoading()\n }\n s.setCaption = function (caption) {\n if (!caption) return\n s.params.caption = caption\n var captionEl = s.loading.querySelector('.caption')\n if (captionEl) {\n captionEl.innerHTML = caption\n }\n }\n s.setIcon = function (className) {\n s.params.icon = className\n var icon = s.loading.querySelector('.' + s.params.iconClass)\n if (icon) {\n icon.className = s.params.iconClass + (s.params.icon ? ' ' + s.params.icon : '')\n }\n }\n s.setHTML = function (html) {\n s.mask.innerHTML = html\n }\n\n s.showMask = function () {\n s.mask.classList.add(s.params.maskActiveClass)\n }\n s.hideMask = function () {\n s.mask.classList.remove(s.params.maskActiveClass)\n }\n s.destroyMask = function () {\n s.mask.parentNode.removeChild(s.mask)\n }\n\n s.showLoading = function () {\n s.loading.classList.add(s.params.loadingActiveClass)\n }\n s.hideLoading = function () {\n s.loading.classList.remove(s.params.loadingActiveClass)\n }\n\n s.hide = function () {\n s.hideMask()\n s.hideLoading()\n }\n s.show = function () {\n s.showMask()\n s.showLoading()\n }\n s.destroy = function () {\n s.destroyMask()\n }\n}\n\nexport default Loading\n","/* eslint-disable */\n/*\n\n PinchZoom.js\n Copyright (c) Manuel Stofer 2013 - today\n\n Author: Manuel Stofer (mst@rtp.ch)\n Version: 2.3.0\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n\n*/\n\n// polyfills\nif (typeof Object.assign != 'function') {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n value: function assign(target, varArgs) { // .length of function is 2\n if (target == null) { // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n \n var to = Object(target);\n \n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n \n if (nextSource != null) { // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n },\n writable: true,\n configurable: true\n });\n }\n \n if (typeof Array.from != 'function') {\n Array.from = function (object) {\n return [].slice.call(object);\n };\n }\n \n // utils\n var buildElement = function(str) {\n // empty string as title argument required by IE and Edge\n var tmp = document.implementation.createHTMLDocument('');\n tmp.body.innerHTML = str;\n return Array.from(tmp.body.children)[0];\n };\n \n var triggerEvent = function(el, name) {\n var event = document.createEvent('HTMLEvents');\n event.initEvent(name, true, false);\n el.dispatchEvent(event);\n };\n \n var definePinchZoom = function () {\n \n /**\n * Pinch zoom\n * @param el\n * @param options\n * @constructor\n */\n var PinchZoom = function (el, options) {\n this.el = el;\n this.zoomFactor = 1;\n this.lastScale = 1;\n this.offset = {\n x: 0,\n y: 0\n };\n this.initialOffset = {\n x: 0,\n y: 0,\n };\n this.options = Object.assign({}, this.defaults, options);\n this.setupMarkup();\n this.bindEvents();\n this.update();\n \n // The image may already be loaded when PinchZoom is initialized,\n // and then the load event (which trigger update) will never fire.\n if (this.isImageLoaded(this.el)) {\n this.updateAspectRatio();\n this.setupOffsets();\n }\n \n this.enable();\n \n },\n sum = function (a, b) {\n return a + b;\n },\n isCloseTo = function (value, expected) {\n return value > expected - 0.01 && value < expected + 0.01;\n };\n \n PinchZoom.prototype = {\n \n defaults: {\n tapZoomFactor: 2,\n zoomOutFactor: 1.3,\n animationDuration: 300,\n maxZoom: 4,\n minZoom: 0.5,\n draggableUnzoomed: true,\n lockDragAxis: false,\n setOffsetsOnce: false,\n use2d: true,\n zoomStartEventName: 'pz_zoomstart',\n zoomUpdateEventName: 'pz_zoomupdate',\n zoomEndEventName: 'pz_zoomend',\n dragStartEventName: 'pz_dragstart',\n dragUpdateEventName: 'pz_dragupdate',\n dragEndEventName: 'pz_dragend',\n doubleTapEventName: 'pz_doubletap',\n verticalPadding: 0,\n horizontalPadding: 0,\n onZoomStart: null,\n onZoomEnd: null,\n onZoomUpdate: null,\n onDragStart: null,\n onDragEnd: null,\n onDragUpdate: null,\n onDoubleTap: null\n },\n \n /**\n * Event handler for 'dragstart'\n * @param event\n */\n handleDragStart: function (event) {\n triggerEvent(this.el, this.options.dragStartEventName);\n if(typeof this.options.onDragStart == \"function\"){\n this.options.onDragStart(this, event)\n }\n this.stopAnimation();\n this.lastDragPosition = false;\n this.hasInteraction = true;\n this.handleDrag(event);\n },\n \n /**\n * Event handler for 'drag'\n * @param event\n */\n handleDrag: function (event) {\n var touch = this.getTouches(event)[0];\n this.drag(touch, this.lastDragPosition);\n this.offset = this.sanitizeOffset(this.offset);\n this.lastDragPosition = touch;\n },\n \n handleDragEnd: function () {\n triggerEvent(this.el, this.options.dragEndEventName);\n if(typeof this.options.onDragEnd == \"function\"){\n this.options.onDragEnd(this, event)\n }\n this.end();\n },\n \n /**\n * Event handler for 'zoomstart'\n * @param event\n */\n handleZoomStart: function (event) {\n triggerEvent(this.el, this.options.zoomStartEventName);\n if(typeof this.options.onZoomStart == \"function\"){\n this.options.onZoomStart(this, event)\n }\n this.stopAnimation();\n this.lastScale = 1;\n this.nthZoom = 0;\n this.lastZoomCenter = false;\n this.hasInteraction = true;\n },\n \n /**\n * Event handler for 'zoom'\n * @param event\n */\n handleZoom: function (event, newScale) {\n // a relative scale factor is used\n var touchCenter = this.getTouchCenter(this.getTouches(event)),\n scale = newScale / this.lastScale;\n this.lastScale = newScale;\n \n // the first touch events are thrown away since they are not precise\n this.nthZoom += 1;\n if (this.nthZoom > 3) {\n \n this.scale(scale, touchCenter);\n this.drag(touchCenter, this.lastZoomCenter);\n }\n this.lastZoomCenter = touchCenter;\n },\n \n handleZoomEnd: function () {\n triggerEvent(this.el, this.options.zoomEndEventName);\n if(typeof this.options.onZoomEnd == \"function\"){\n this.options.onZoomEnd(this, event)\n }\n this.end();\n },\n \n /**\n * Event handler for 'doubletap'\n * @param event\n */\n handleDoubleTap: function (event) {\n var center = this.getTouches(event)[0],\n zoomFactor = this.zoomFactor > 1 ? 1 : this.options.tapZoomFactor,\n startZoomFactor = this.zoomFactor,\n updateProgress = (function (progress) {\n this.scaleTo(startZoomFactor + progress * (zoomFactor - startZoomFactor), center);\n }).bind(this);\n \n if (this.hasInteraction) {\n return;\n }\n \n this.isDoubleTap = true;\n \n if (startZoomFactor > zoomFactor) {\n center = this.getCurrentZoomCenter();\n }\n \n this.animate(this.options.animationDuration, updateProgress, this.swing);\n triggerEvent(this.el, this.options.doubleTapEventName);\n if(typeof this.options.onDoubleTap == \"function\"){\n this.options.onDoubleTap(this, event)\n }\n },\n \n /**\n * Compute the initial offset\n *\n * the element should be centered in the container upon initialization\n */\n computeInitialOffset: function () {\n this.initialOffset = {\n x: -Math.abs(this.el.offsetWidth * this.getInitialZoomFactor() - this.container.offsetWidth) / 2,\n y: -Math.abs(this.el.offsetHeight * this.getInitialZoomFactor() - this.container.offsetHeight) / 2,\n };\n },\n \n /**\n * Reset current image offset to that of the initial offset\n */\n resetOffset: function() {\n this.offset.x = this.initialOffset.x;\n this.offset.y = this.initialOffset.y;\n },\n \n /**\n * Determine if image is loaded\n */\n isImageLoaded: function (el) {\n if (el.nodeName === 'IMG') {\n return el.complete && el.naturalHeight !== 0;\n } else {\n return Array.from(el.querySelectorAll('img')).every(this.isImageLoaded);\n }\n },\n \n setupOffsets: function() {\n if (this.options.setOffsetsOnce && this._isOffsetsSet) {\n return;\n }\n \n this._isOffsetsSet = true;\n \n this.computeInitialOffset();\n this.resetOffset();\n },\n \n /**\n * Max / min values for the offset\n * @param offset\n * @return {Object} the sanitized offset\n */\n sanitizeOffset: function (offset) {\n var elWidth = this.el.offsetWidth * this.getInitialZoomFactor() * this.zoomFactor;\n var elHeight = this.el.offsetHeight * this.getInitialZoomFactor() * this.zoomFactor;\n var maxX = elWidth - this.getContainerX() + this.options.horizontalPadding,\n maxY = elHeight - this.getContainerY() + this.options.verticalPadding,\n maxOffsetX = Math.max(maxX, 0),\n maxOffsetY = Math.max(maxY, 0),\n minOffsetX = Math.min(maxX, 0) - this.options.horizontalPadding,\n minOffsetY = Math.min(maxY, 0) - this.options.verticalPadding;\n \n return {\n x: Math.min(Math.max(offset.x, minOffsetX), maxOffsetX),\n y: Math.min(Math.max(offset.y, minOffsetY), maxOffsetY)\n };\n },\n \n /**\n * Scale to a specific zoom factor (not relative)\n * @param zoomFactor\n * @param center\n */\n scaleTo: function (zoomFactor, center) {\n this.scale(zoomFactor / this.zoomFactor, center);\n },\n \n /**\n * Scales the element from specified center\n * @param scale\n * @param center\n */\n scale: function (scale, center) {\n scale = this.scaleZoomFactor(scale);\n this.addOffset({\n x: (scale - 1) * (center.x + this.offset.x),\n y: (scale - 1) * (center.y + this.offset.y)\n });\n triggerEvent(this.el, this.options.zoomUpdateEventName);\n if(typeof this.options.onZoomUpdate == \"function\"){\n this.options.onZoomUpdate(this, event)\n }\n },\n \n /**\n * Scales the zoom factor relative to current state\n * @param scale\n * @return the actual scale (can differ because of max min zoom factor)\n */\n scaleZoomFactor: function (scale) {\n var originalZoomFactor = this.zoomFactor;\n this.zoomFactor *= scale;\n this.zoomFactor = Math.min(this.options.maxZoom, Math.max(this.zoomFactor, this.options.minZoom));\n return this.zoomFactor / originalZoomFactor;\n },\n \n /**\n * Determine if the image is in a draggable state\n *\n * When the image can be dragged, the drag event is acted upon and cancelled.\n * When not draggable, the drag event bubbles through this component.\n *\n * @return {Boolean}\n */\n canDrag: function () {\n return this.options.draggableUnzoomed || !isCloseTo(this.zoomFactor, 1);\n },\n \n /**\n * Drags the element\n * @param center\n * @param lastCenter\n */\n drag: function (center, lastCenter) {\n if (lastCenter) {\n if(this.options.lockDragAxis) {\n // lock scroll to position that was changed the most\n if(Math.abs(center.x - lastCenter.x) > Math.abs(center.y - lastCenter.y)) {\n this.addOffset({\n x: -(center.x - lastCenter.x),\n y: 0\n });\n }\n else {\n this.addOffset({\n y: -(center.y - lastCenter.y),\n x: 0\n });\n }\n }\n else {\n this.addOffset({\n y: -(center.y - lastCenter.y),\n x: -(center.x - lastCenter.x)\n });\n }\n triggerEvent(this.el, this.options.dragUpdateEventName);\n if(typeof this.options.onDragUpdate == \"function\"){\n this.options.onDragUpdate(this, event)\n }\n }\n },\n \n /**\n * Calculates the touch center of multiple touches\n * @param touches\n * @return {Object}\n */\n getTouchCenter: function (touches) {\n return this.getVectorAvg(touches);\n },\n \n /**\n * Calculates the average of multiple vectors (x, y values)\n */\n getVectorAvg: function (vectors) {\n return {\n x: vectors.map(function (v) { return v.x; }).reduce(sum) / vectors.length,\n y: vectors.map(function (v) { return v.y; }).reduce(sum) / vectors.length\n };\n },\n \n /**\n * Adds an offset\n * @param offset the offset to add\n * @return return true when the offset change was accepted\n */\n addOffset: function (offset) {\n this.offset = {\n x: this.offset.x + offset.x,\n y: this.offset.y + offset.y\n };\n },\n \n sanitize: function () {\n if (this.zoomFactor < this.options.zoomOutFactor) {\n this.zoomOutAnimation();\n } else if (this.isInsaneOffset(this.offset)) {\n this.sanitizeOffsetAnimation();\n }\n },\n \n /**\n * Checks if the offset is ok with the current zoom factor\n * @param offset\n * @return {Boolean}\n */\n isInsaneOffset: function (offset) {\n var sanitizedOffset = this.sanitizeOffset(offset);\n return sanitizedOffset.x !== offset.x ||\n sanitizedOffset.y !== offset.y;\n },\n \n /**\n * Creates an animation moving to a sane offset\n */\n sanitizeOffsetAnimation: function () {\n var targetOffset = this.sanitizeOffset(this.offset),\n startOffset = {\n x: this.offset.x,\n y: this.offset.y\n },\n updateProgress = (function (progress) {\n this.offset.x = startOffset.x + progress * (targetOffset.x - startOffset.x);\n this.offset.y = startOffset.y + progress * (targetOffset.y - startOffset.y);\n this.update();\n }).bind(this);\n \n this.animate(\n this.options.animationDuration,\n updateProgress,\n this.swing\n );\n },\n \n /**\n * Zooms back to the original position,\n * (no offset and zoom factor 1)\n */\n zoomOutAnimation: function () {\n if (this.zoomFactor === 1) {\n return;\n }\n \n var startZoomFactor = this.zoomFactor,\n zoomFactor = 1,\n center = this.getCurrentZoomCenter(),\n updateProgress = (function (progress) {\n this.scaleTo(startZoomFactor + progress * (zoomFactor - startZoomFactor), center);\n }).bind(this);\n \n this.animate(\n this.options.animationDuration,\n updateProgress,\n this.swing\n );\n },\n \n /**\n * Updates the container aspect ratio\n *\n * Any previous container height must be cleared before re-measuring the\n * parent height, since it depends implicitly on the height of any of its children\n */\n updateAspectRatio: function () {\n this.unsetContainerY();\n this.setContainerY(this.container.parentElement.offsetHeight);\n },\n \n /**\n * Calculates the initial zoom factor (for the element to fit into the container)\n * @return {number} the initial zoom factor\n */\n getInitialZoomFactor: function () {\n var xZoomFactor = this.container.offsetWidth / this.el.offsetWidth;\n var yZoomFactor = this.container.offsetHeight / this.el.offsetHeight;\n \n return Math.min(xZoomFactor, yZoomFactor);\n },\n \n /**\n * Calculates the aspect ratio of the element\n * @return the aspect ratio\n */\n getAspectRatio: function () {\n return this.el.offsetWidth / this.el.offsetHeight;\n },\n \n /**\n * Calculates the virtual zoom center for the current offset and zoom factor\n * (used for reverse zoom)\n * @return {Object} the current zoom center\n */\n getCurrentZoomCenter: function () {\n var offsetLeft = this.offset.x - this.initialOffset.x;\n var centerX = -1 * this.offset.x - offsetLeft / (1 / this.zoomFactor - 1);\n \n var offsetTop = this.offset.y - this.initialOffset.y;\n var centerY = -1 * this.offset.y - offsetTop / (1 / this.zoomFactor - 1);\n \n return {\n x: centerX,\n y: centerY\n };\n },\n \n /**\n * Returns the touches of an event relative to the container offset\n * @param event\n * @return array touches\n */\n getTouches: function (event) {\n var rect = this.container.getBoundingClientRect();\n var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;\n var posTop = rect.top + scrollTop;\n var posLeft = rect.left + scrollLeft;\n \n return Array.prototype.slice.call(event.touches).map(function (touch) {\n return {\n x: touch.pageX - posLeft,\n y: touch.pageY - posTop,\n };\n });\n },\n \n /**\n * Animation loop\n * does not support simultaneous animations\n * @param duration\n * @param framefn\n * @param timefn\n * @param callback\n */\n animate: function (duration, framefn, timefn, callback) {\n var startTime = new Date().getTime(),\n renderFrame = (function () {\n if (!this.inAnimation) { return; }\n var frameTime = new Date().getTime() - startTime,\n progress = frameTime / duration;\n if (frameTime >= duration) {\n framefn(1);\n if (callback) {\n callback();\n }\n this.update();\n this.stopAnimation();\n this.update();\n } else {\n if (timefn) {\n progress = timefn(progress);\n }\n framefn(progress);\n this.update();\n requestAnimationFrame(renderFrame);\n }\n }).bind(this);\n this.inAnimation = true;\n requestAnimationFrame(renderFrame);\n },\n \n /**\n * Stops the animation\n */\n stopAnimation: function () {\n this.inAnimation = false;\n },\n \n /**\n * Swing timing function for animations\n * @param p\n * @return {Number}\n */\n swing: function (p) {\n return -Math.cos(p * Math.PI) / 2 + 0.5;\n },\n \n getContainerX: function () {\n return this.container.offsetWidth;\n },\n \n getContainerY: function () {\n return this.container.offsetHeight;\n },\n \n setContainerY: function (y) {\n return this.container.style.height = y + 'px';\n },\n \n unsetContainerY: function () {\n this.container.style.height = null;\n },\n \n /**\n * Creates the expected html structure\n */\n setupMarkup: function () {\n this.container = buildElement('<div class=\"pinch-zoom-container\"></div>');\n this.el.parentNode.insertBefore(this.container, this.el);\n this.container.appendChild(this.el);\n \n this.container.style.overflow = 'hidden';\n this.container.style.position = 'relative';\n \n this.el.style.webkitTransformOrigin = '0% 0%';\n this.el.style.mozTransformOrigin = '0% 0%';\n this.el.style.msTransformOrigin = '0% 0%';\n this.el.style.oTransformOrigin = '0% 0%';\n this.el.style.transformOrigin = '0% 0%';\n \n this.el.style.position = 'absolute';\n },\n \n end: function () {\n this.hasInteraction = false;\n this.sanitize();\n this.update();\n },\n \n /**\n * Binds all required event listeners\n */\n bindEvents: function () {\n var self = this;\n detectGestures(this.container, this);\n \n window.addEventListener('resize', this.update.bind(this));\n Array.from(this.el.querySelectorAll('img')).forEach(function(imgEl) {\n imgEl.addEventListener('load', self.update.bind(self));\n });\n \n if (this.el.nodeName === 'IMG') {\n this.el.addEventListener('load', this.update.bind(this));\n }\n },\n \n /**\n * Updates the css values according to the current zoom factor and offset\n */\n update: function (event) {\n if (this.updatePlaned) {\n return;\n }\n this.updatePlaned = true;\n \n window.setTimeout((function () {\n this.updatePlaned = false;\n \n if (event && event.type === 'resize') {\n this.updateAspectRatio();\n this.setupOffsets();\n }\n \n if (event && event.type === 'load') {\n this.updateAspectRatio();\n this.setupOffsets();\n }\n \n var zoomFactor = this.getInitialZoomFactor() * this.zoomFactor,\n offsetX = -this.offset.x / zoomFactor,\n offsetY = -this.offset.y / zoomFactor,\n transform3d = 'scale3d(' + zoomFactor + ', ' + zoomFactor + ',1) ' +\n 'translate3d(' + offsetX + 'px,' + offsetY + 'px,0px)',\n transform2d = 'scale(' + zoomFactor + ', ' + zoomFactor + ') ' +\n 'translate(' + offsetX + 'px,' + offsetY + 'px)',\n removeClone = (function () {\n if (this.clone) {\n this.clone.parentNode.removeChild(this.clone);\n delete this.clone;\n }\n }).bind(this);\n \n // Scale 3d and translate3d are faster (at least on ios)\n // but they also reduce the quality.\n // PinchZoom uses the 3d transformations during interactions\n // after interactions it falls back to 2d transformations\n if (!this.options.use2d || this.hasInteraction || this.inAnimation) {\n this.is3d = true;\n removeClone();\n \n this.el.style.webkitTransform = transform3d;\n this.el.style.mozTransform = transform2d;\n this.el.style.msTransform = transform2d;\n this.el.style.oTransform = transform2d;\n this.el.style.transform = transform3d;\n } else {\n // When changing from 3d to 2d transform webkit has some glitches.\n // To avoid this, a copy of the 3d transformed element is displayed in the\n // foreground while the element is converted from 3d to 2d transform\n if (this.is3d) {\n this.clone = this.el.cloneNode(true);\n this.clone.style.pointerEvents = 'none';\n this.container.appendChild(this.clone);\n window.setTimeout(removeClone, 200);\n }\n \n this.el.style.webkitTransform = transform2d;\n this.el.style.mozTransform = transform2d;\n this.el.style.msTransform = transform2d;\n this.el.style.oTransform = transform2d;\n this.el.style.transform = transform2d;\n \n this.is3d = false;\n }\n }).bind(this), 0);\n },\n \n /**\n * Enables event handling for gestures\n */\n enable: function() {\n this.enabled = true;\n },\n \n /**\n * Disables event handling for gestures\n */\n disable: function() {\n this.enabled = false;\n }\n };\n \n var detectGestures = function (el, target) {\n var interaction = null,\n fingers = 0,\n lastTouchStart = null,\n startTouches = null,\n \n setInteraction = function (newInteraction, event) {\n if (interaction !== newInteraction) {\n \n if (interaction && !newInteraction) {\n switch (interaction) {\n case \"zoom\":\n target.handleZoomEnd(event);\n break;\n case 'drag':\n target.handleDragEnd(event);\n break;\n }\n }\n \n switch (newInteraction) {\n case 'zoom':\n target.handleZoomStart(event);\n break;\n case 'drag':\n target.handleDragStart(event);\n break;\n }\n }\n interaction = newInteraction;\n },\n \n updateInteraction = function (event) {\n if (fingers === 2) {\n setInteraction('zoom');\n } else if (fingers === 1 && target.canDrag()) {\n setInteraction('drag', event);\n } else {\n setInteraction(null, event);\n }\n },\n \n targetTouches = function (touches) {\n return Array.from(touches).map(function (touch) {\n return {\n x: touch.pageX,\n y: touch.pageY\n };\n });\n },\n \n getDistance = function (a, b) {\n var x, y;\n x = a.x - b.x;\n y = a.y - b.y;\n return Math.sqrt(x * x + y * y);\n },\n \n calculateScale = function (startTouches, endTouches) {\n var startDistance = getDistance(startTouches[0], startTouches[1]),\n endDistance = getDistance(endTouches[0], endTouches[1]);\n return endDistance / startDistance;\n },\n \n cancelEvent = function (event) {\n event.stopPropagation();\n event.preventDefault();\n },\n \n detectDoubleTap = function (event) {\n var time = (new Date()).getTime();\n \n if (fingers > 1) {\n lastTouchStart = null;\n }\n \n if (time - lastTouchStart < 300) {\n cancelEvent(event);\n \n target.handleDoubleTap(event);\n switch (interaction) {\n case \"zoom\":\n target.handleZoomEnd(event);\n break;\n case 'drag':\n target.handleDragEnd(event);\n break;\n }\n } else {\n target.isDoubleTap = false;\n }\n \n if (fingers === 1) {\n lastTouchStart = time;\n }\n },\n firstMove = true;\n \n el.addEventListener('touchstart', function (event) {\n if(target.enabled) {\n firstMove = true;\n fingers = event.touches.length;\n detectDoubleTap(event);\n }\n });\n \n el.addEventListener('touchmove', function (event) {\n if(target.enabled && !target.isDoubleTap) {\n if (firstMove) {\n updateInteraction(event);\n if (interaction) {\n cancelEvent(event);\n }\n startTouches = targetTouches(event.touches);\n } else {\n switch (interaction) {\n case 'zoom':\n target.handleZoom(event, calculateScale(startTouches, targetTouches(event.touches)));\n break;\n case 'drag':\n target.handleDrag(event);\n break;\n }\n if (interaction) {\n cancelEvent(event);\n target.update();\n }\n }\n \n firstMove = false;\n }\n });\n \n el.addEventListener('touchend', function (event) {\n if(target.enabled) {\n fingers = event.touches.length;\n updateInteraction(event);\n }\n });\n };\n \n return PinchZoom;\n };\n \n var PinchZoom = definePinchZoom();\n \n export default PinchZoom;\n \n/* eslint-enable */","import PinchZoom from './pinch-zoom.js'\n\nvar Preview = function (params) {\n if (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n /* ----------------------\n Model\n ---------------------- */\n var defaults = {\n src: '', // 图片地址\n layerHTML: '',\n\n hash: 's_preview',\n hashReplace: /(isFromApp=\\w+)&?/, // 需要被替换的字符, 因为此地址字段会影响preview返回\n route: true,\n\n mask: null,\n maskClass: 'preview-mask',\n maskActiveClass: 'active',\n\n showHeader: false,\n headerClass: 'preview-header',\n headerBackClass: 'preview-header-back',\n\n containerClass: 'preview-container',\n\n wrapperClass: 'preview-wrapper',\n\n layerClass: 'preview-layer',\n\n clickDelay: 300\n /*\n Callbacks:\n onClick: function(Preview)\n onClickBack: function(Preview)\n onSuccess: function(Preview)\n onError: function(Preview)\n onShowSuccess: function(Preview)\n onShowError: function(Preview)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n /* ----------------------\n Model Method\n ---------------------- */\n s.setSrc = function (src) {\n if (src) {\n s.params.src = src\n }\n }\n s.setLayerHTML = function (layerHTML) {\n if (layerHTML) {\n s.params.layerHTML = layerHTML\n }\n }\n s.setOnSuccess = function (onSuccess) {\n if (onSuccess) {\n s.params.onSuccess = onSuccess\n }\n }\n s.setOnError = function (onError) {\n if (onError) {\n s.params.onError = onError\n }\n }\n // 创建预览层\n s.mask = typeof s.params.mask === 'string' ? document.querySelector(s.params.mask) : s.params.mask\n s.header = null\n s.headerBack = null\n s.container = null\n s.img = null\n s.createPreview = function (img, layerHTML) {\n if (!s.mask) {\n s.mask = document.createElement('div')\n s.mask.setAttribute('class', s.params.maskClass)\n\n s.header = document.createElement('div')\n s.header.setAttribute('class', s.params.headerClass)\n\n s.headerBack = document.createElement('div')\n s.headerBack.setAttribute('class', s.params.headerBackClass)\n s.headerBack.addEventListener('click', s.onClickBack, false)\n\n s.header.appendChild(s.headerBack)\n\n s.container = document.createElement('div')\n s.container.setAttribute('class', s.params.containerClass)\n\n s.mask.appendChild(s.header)\n s.mask.appendChild(s.container)\n s.mask.addEventListener('click', s.onClick, false)\n document.body.appendChild(s.mask)\n } else {\n s.mask.addEventListener('click', s.onClick, false)\n\n s.header = s.mask.querySelector('.' + s.params.headerClass)\n s.headerBack = s.mask.querySelector('.' + s.params.headerBackClass)\n s.headerBack.addEventListener('click', s.onClickBack, false)\n\n s.container = s.mask.querySelector('.' + s.params.containerClass)\n\n s.container.innerHTML = ''\n }\n if (s.params.showHeader === false) s.header.style.display = 'none'\n\n // 构建图片\n s.img = img\n s.container.appendChild(s.img)\n\n // 构建浮层\n s.container.innerHTML = s.container.innerHTML + layerHTML\n }\n // 删除预览层\n s.removePreview = function () {\n if (s.mask) document.body.removeChild(s.mask)\n s.mask = null\n s.header = null\n s.headerBack = null\n s.container = null\n s.img = null\n }\n // 路径是否合法, true为有效, false为无效\n s.validSrc = null\n // 缩放类PinchZoom\n s.PinchZoom = null\n // 更新\n s.update = function () {\n if (!s.params.src) {\n s.validSrc = false // 图片地址无效\n return\n }\n s.removePreview()\n var img = new Image()\n img.src = s.params.src\n img.addEventListener('load', function () {\n if (img.width > img.height) { // 宽图\n img.style.height = '100%'\n } else { // 高图\n img.style.width = '100%'\n }\n s.createPreview(img, s.params.layerHTML)\n s.validSrc = true // 图片地址有效\n // PinchZoom\n s.PinchZoom = new PinchZoom(s.container, {\n onZoomUpdate: function () {\n if (s.clickTimeout) {\n window.clearTimeout(s.clickTimeout)\n s.clickTimeout = null\n }\n },\n onDragUpdate: function () {\n if (s.clickTimeout) {\n window.clearTimeout(s.clickTimeout)\n s.clickTimeout = null\n }\n }\n })\n\n // 因为PinchZoom update方法并不会重置尺寸, 因此每次都需要重新new, 如果后期PinchZoom提供reset方法时则可以使用reset方法重置, 并且无须再次s.createPreview\n // if (!s.PinchZoom) {\n // s.PinchZoom = new PinchZoom(s.container, {\n // onZoomUpdate: function () {\n // if (s.clickTimeout) {\n // window.clearTimeout(s.clickTimeout)\n // s.clickTimeout = null\n // }\n // },\n // onDragUpdate: function () {\n // if (s.clickTimeout) {\n // window.clearTimeout(s.clickTimeout)\n // s.clickTimeout = null\n // }\n // }\n // })\n // } else {\n // s.PinchZoom.update()\n // }\n\n // 解决PinchZoom刚进入时白底的bug\n setTimeout(() => {\n s.container.style.backgroundColor = '#000'\n }, 100)\n // Callback\n if (s.params.onSuccess) s.params.onSuccess(s)\n }, false)\n img.addEventListener('error', function () {\n s.validSrc = false // 图片地址无效\n // Callback\n if (s.params.onError) s.params.onError(s)\n }, false)\n }\n s.update()\n /* ----------------------\n Method\n ---------------------- */\n // 路由控制\n s.addHash = function () {\n if (!s.params.route) return\n var href = window.location.href\n if (href.indexOf(s.params.hash) !== -1) return\n \n if (href.indexOf('#') !== -1) { // 有#号, 拼#后面\n if (s.params.hashReplace.test(href)) { // 如果有isFromApp, 则替换为空 (没有#号则不能替换,否则在真机上会闪屏刷新)\n href = href.replace(RegExp.$1, '')\n }\n href = href + (href.indexOf('?') !== -1 ? '&' : '?') + s.params.hash\n } else { // 没有#号, 增加#+hash\n href = href + '#' + s.params.hash\n }\n window.location.href = href\n }\n s.removeHash = function () {\n if (!s.params.route) return\n if (window.location.href.indexOf(s.params.hash) !== -1) {\n window.history.go(-1)\n }\n }\n // 隐藏预览\n s.hideMask = function () {\n s.mask.classList.remove(s.params.maskActiveClass)\n }\n s.hide = function () {\n s.removeHash() // 删除hash\n s.hideMask()\n }\n // 显示预览\n s.showMask = function () {\n s.mask.classList.add(s.params.maskActiveClass)\n }\n s.show = function () {\n if (s.validSrc) {\n if (s.params.onShowSuccess) s.params.onShowSuccess(s)\n s.addHash() // 增加hash\n s.showMask()\n } else {\n if (s.params.onShowError) s.params.onShowError(s, window._seeds_lang['hint_image_failed_to_load'] || '图片加载失败')\n }\n }\n /* --------------------\n Events\n -------------------- */\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n if (s.params.route) {\n window[action]('popstate', s.onPopstate, false)\n }\n }\n // attach、dettach事件\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n s.onPopstate = function () {\n if (window.location.href.indexOf(s.params.hash) === -1) { // 应当不显示\n if (s.mask.classList.contains(s.params.maskActiveClass)) {\n s.hideMask()\n }\n } else { // 应当显示\n s.showMask()\n }\n }\n s.clickTimeout = null\n s.onClick = function () {\n if (s.clickTimeout) {\n window.clearTimeout(s.clickTimeout)\n s.clickTimeout = null\n }\n s.clickTimeout = window.setTimeout(function () {\n if (s.params.onClick) s.params.onClick(s)\n else s.hide()\n }, s.params.clickDelay)\n }\n s.onClickBack = function () {\n if (s.params.onClickBack) s.params.onClickBack(s)\n else s.hide()\n }\n // 主函数\n s.init = function () {\n s.attach()\n }\n\n s.init()\n}\n\nexport default Preview\n","import MediaUtil from './MediaUtil.js';\n\nexport default MediaUtil;\n","// MediaUtil 多媒体控件\nvar MediaUtil = {\n /* ---------------------------\n Methods\n --------------------------- */\n audio: function (src) {\n return new Audio(src)\n },\n video: function (src) {\n if (!src) return null\n var video = document.createElement('video')\n video.controls = true\n var source = document.createElement('source')\n source.type = this.sourceType(src)\n source.src = src\n video.appendChild(source)\n return video\n },\n getFileURL: function (file) { // 临时路径, file = input.files[0]\n var url = null;\n if (window.createObjcectURL !== undefined) {\n url = window.createOjcectURL(file)\n } else if (window.URL !== undefined) {\n url = window.URL.createObjectURL(file)\n } else if (window.webkitURL !== undefined) {\n url = window.webkitURL.createObjectURL(file)\n }\n return url\n },\n getFileSize: function (file) { // 文件大小\n return file.size\n },\n getFileType: function (file) { // 文件类型\n return file.type\n },\n getFileBase64: function (file, callback) { // 转成base64\n var reader = new FileReader()\n reader.onload = (e) => {\n callback(e.target.result)\n }\n reader.readAsDataURL(file)\n },\n convertTime: function (sec) { // 将毫秒转成分秒\n if (sec < 0) sec = -sec\n let sec_num = parseInt(sec, 10)\n let hours = Math.floor(sec_num / 3600)\n let minutes = Math.floor((sec_num - hours * 3600) / 60)\n let seconds = sec_num - hours * 3600 - minutes * 60\n if (hours < 10) {\n hours = '0' + hours\n }\n if (minutes < 10) {\n minutes = '0' + minutes\n }\n if (seconds < 10) {\n seconds = '0' + seconds\n }\n return minutes + ':' + seconds\n },\n convertSize: function (bytes) { // 转换成KB或者MB, 先*1000再/1000是为了防止精度丢失\n if (isNaN(bytes)) return 0\n if (bytes > 1024 * 1024) return (Math.round(bytes * 1000 / (1024 * 1024)) / 1000).toString() + 'MB'\n return (Math.round(bytes * 1000 / 1024) / 1000).toString() + 'KB'\n },\n play: function (target) {\n target.play()\n },\n pause: function (target) {\n target.pause()\n },\n resume: function (target) {\n if (target.paused) {\n target.play()\n } else {\n target.pause()\n }\n },\n loop: function (target, loop) {\n target.loop = loop || false\n },\n autoplay: function (target, autoplay) {\n target.autoplay = autoplay || false\n },\n isReady: function (target) { // 0.没有数据不能播放 1.当前帧已下载完成 2.可以播放 3.播放可继续而且应该不会中断\n if (target.readyState !== 4) {\n return false\n }\n return true\n },\n toggleFullScreen: function (target) { // audio不支持全屏, 兼容性差\n if (target.requestFullscreen) {\n target.exitFullscreen()\n } else {\n target.requestFullscreen()\n }\n },\n duration: function (target) {\n if (!this.isReady(target)) return\n return target.duration\n },\n currentTime: function (target, time) {\n if (!this.isReady(target)) return\n if (!isNaN(time)) {\n target.currentTime = time\n }\n return time\n },\n volume: function (target, volume) {\n if (!isNaN(volume)) {\n target.volume = volume\n }\n return target.volume\n },\n volumeLvl: function (target) {\n var volnumber = target.volume\n if (volnumber === 0) {\n return 0\n } else if (volnumber > 0 && volnumber < 0.3) {\n return 1\n } else if (volnumber > 0.3 && volnumber < 0.6) {\n return 2\n } else if (volnumber > 0.6 && volnumber < 0.9) {\n return 3\n } else {\n return 4\n }\n },\n rate: function (target, rate) { // 设置播放速度,默认为1.0秒\n if (!isNaN(rate)) {\n target.defaultPlaybackRate = rate\n }\n return target.defaultPlaybackRate\n },\n suffixTypes: function (suffix) {\n var type = ''\n var codeType = ''\n switch (suffix) {\n // 音频\n case 'aac':\n type = 'audio/mp4'\n codeType = 'audio/mp4; codecs=\"mp4a.40.2\"'\n break\n case 'vorbis': // 后缀通常为ogg\n type = 'audio/ogg'\n codeType = 'audio/ogg; codecs=\"vorbis\"'\n break\n case 'wav':\n type = 'audio/wav'\n codeType = 'audio/wav; codecs=\"1\"'\n break\n // 视频\n case 'h.264': // 后缀通常为mpg4、mp4、mov\n type = 'video/mp4'\n codeType = 'video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'\n break\n case 'mp4':\n type = 'video/mp4'\n codeType = 'video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'\n break\n case 'theora': // 后缀通常为ogg\n type = 'video/ogg'\n codeType = 'video/ogg; codecs=\"theora\"'\n break\n case 'ogg':\n type = 'video/ogg'\n codeType = 'video/ogg; codecs=\"theora\"'\n break\n case 'webm': // 后缀通常为webm\n type = 'video/webm'\n codeType = 'video/webm; codecs=\"vp8, vorbis\"'\n break\n default:\n type = ''\n codeType = ''\n }\n return [type, codeType]\n },\n isSupport: function (suffix) { // 是否支持此视频\n var types = this.suffixTypes(suffix)\n var type = types[0]\n var codeType = types[1]\n var player = document.createElement('video')\n if (type !== '' && codeType !== '' && (player.canPlayType(type) || player.canPlayType(codeType))) {\n return true\n }\n return false\n },\n sourceType: function (src) {\n if (!src) return src\n return this.suffixTypes(src.substring(src.lastIndexOf('.') + 1, src.length).toLowerCase())[0]\n },\n /* ---------------------------\n Events\n --------------------------- */\n // dataunavailable // 因为没有数据不能播放,readyState值为0\n // canshowcurrentframe // 当前帧已下载完成,readyState值为1\n // canplay // 可以播放时,readyState值为2\n // canplaythrough // 播放可继续,而且应该不会中断,readyState值为3\n // load // 媒体已加载完成,load有可能会被废弃,建议使用canplaythrough\n // loadeddata // 媒体的第一帧已加载完成\n // loadedmetadata // 媒体的元数据已加载完成\n // loadstart // 下载已开始\n // progress // 正在下载\n // abort // 下载中断\n // stalled // 浏览器尝试下载,但未接收到数据\n // error // 下载发生网络错误\n // emptied // 网络连接关闭\n // empty // 发生错误阻止了媒体下载\n // play // 准备播放\n // playing // 正在播放\n // timeupdate // 当前时间被不合理或意外的方式更新\n // pause // 暂停\n // waiting // 播放暂停,等待下载更多数据\n // ended // 媒体已播放至末尾,播放停止\n // volumechange // 更改音量事件\n // ratechange // 更改播放速度事件\n // seeked // 搜索结束\n // seeking // 正在移动到新位置\n}\n\nexport default MediaUtil\n","import FullScreen from './FullScreen.js';\n\nexport default FullScreen;\n","// FullScreen\nvar FullScreen = {\n // 是否支持全屏\n support: function () {\n var requestFullscreen =\n document.body.requestFullscreen ||\n document.body.webkitRequestFullscreen ||\n document.body.mozRequestFullScreen ||\n document.body.msRequestFullscreen\n var fullscreenEnabled =\n document.fullscreenEnabled ||\n document.mozFullScreenEnabled ||\n document.webkitFullscreenEnabled ||\n document.msFullscreenEnabled\n return !!(requestFullscreen && fullscreenEnabled)\n },\n // 获取当前全屏的元素\n getFullscreenElement: function () {\n return (\n document.fullscreenElement ||\n document.webkitFullscreenElement ||\n document.msFullscreenElement ||\n document.mozFullScreenElement ||\n null)\n },\n // 是否全屏\n isFull: function (el) {\n var target = el || document\n return !!(target.webkitIsFullScreen || this.getFullscreenElement())\n },\n // 进入全屏\n enter: function (el) {\n var target = el || document.body\n var requestMethod = target.requestFullScreen || target.webkitRequestFullScreen || target.mozRequestFullScreen || target.msRequestFullScreen\n if (requestMethod) {\n requestMethod.call(target)\n } else if (typeof window.ActiveXObject !== 'undefined') {\n var wscript = new window.ActiveXObject('WScript.Shell')\n if (wscript !== null) {\n wscript.SendKeys('{F11}')\n }\n }\n },\n // 退出全屏\n exit: function (el) {\n var target = el || document\n if (document.exitFullscreen) {\n target.exitFullscreen()\n }\n else if (document.mozCancelFullScreen) {\n target.mozCancelFullScreen()\n }\n else if (document.webkitExitFullscreen) {\n target.webkitExitFullscreen()\n }\n else if (document.msExitFullscreen) {\n target.msExitFullscreen()\n }\n return this\n },\n // 切换\n toggle: function (el) {\n if (this.isFull()) this.exit()\n else this.enter(el)\n },\n // 监听\n addHandler: function (element, handler) {\n var target = element || document\n target.addEventListener('webkitfullscreenchange', handler, false)\n target.addEventListener('mozfullscreenchange', handler, false)\n target.addEventListener('fullscreenchange', handler, false)\n target.addEventListener('MSFullscreenChange', handler, false)\n }\n}\n\nexport default FullScreen\n","import jsonp from './../jsonp';\nimport DB from './../DB';\nimport Device from './../Device';\nimport Toast from './../Toast/instance.js';\nimport Alert from './../Alert/instance.js';\nimport Loading from './../Loading/instance.js';\nimport Preview from './../Preview/instance.js';\nimport MediaUtil from './../MediaUtil';\nimport FullScreen from './../FullScreen';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nvar Bridge = {\n /**\n * 基础功能:start\n */\n debug: false,\n // 拨打电话\n tel: function (number) {\n if (Device.device === 'pc') {\n this.showToast(window._seeds_lang['hint_only_mobile'] || '此功能仅可在手机中使用', {mask: false})\n return\n }\n if (isNaN(number)) return\n window.location.href = 'tel:' + number\n },\n // 弹出toast\n toast: null,\n showToast: function (msg, params = {}) {\n if (!msg) return\n if (!this.toast) {\n // 提示错误\n this.toast = new Toast({\n parent: document.body,\n maskClass: 'mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''),\n toastClass: 'toast ' + (params.position ? params.position : 'middle'),\n icon: params.icon || '',\n html: msg,\n delay: params.delay || 2000\n });\n } else {\n this.toast.setHTML(msg)\n this.toast.setMaskClassName('mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''))\n this.toast.setToastClassName('toast ' + (params.position ? params.position : 'middle'))\n this.toast.setIcon(params.icon || '')\n this.toast.setDelay(params.delay || 2000)\n }\n this.toast.show()\n if (params.success) {\n setTimeout(() => {\n params.success()\n }, params.delay ? Math.round(params.delay / 2) : 1000)\n }\n },\n // 弹出loading\n loading: null,\n showLoading: function (params = {}) {\n if (!this.loading) {\n this.loading = new Loading({\n caption: params.caption || (window._seeds_lang['loading'] || '正在加载...'),\n type: params.type,\n icon: params.icon || '',\n maskCss: params.css || null\n });\n } else {\n if (params.caption) this.loading.setCaption(params.caption)\n if (params.type) this.loading.setType(params.type)\n if (params.css) this.loading.setMaskCss(params.css)\n if (params.icon) this.toast.setIcon(params.icon || '')\n if (params.mask) this.loading.setMaskClassName('mask loading-mask ' + (params.mask === false ? ' loading-propagation' : ''))\n }\n this.loading.show()\n },\n hideLoading: function () {\n if (!this.loading) {\n this.toast.showToast(window._seeds_lang['hint_hideloading_after_showloading'] || 'showLoading后才能hideLoading')\n } else {\n this.loading.hide()\n }\n },\n // 弹出Alert\n alert: null,\n showAlert: function (msg, params = {}) {\n if (!this.alert) {\n this.alert = new Alert({\n ...params,\n html: msg,\n onClickSubmit: function (e) {\n if (params.success) params.success(e)\n else e.hide()\n }\n });\n } else {\n if (params) {\n this.alert.reset()\n for (let n in params) {\n this.alert.params[n] = params[n]\n }\n this.alert.updateDOM()\n this.alert.setHTML(msg)\n }\n }\n this.alert.show()\n },\n // 弹出Confirm\n confirm: null,\n showConfirm: function (msg, params = {}) {\n if (!this.confirm) {\n this.confirm = new Alert({\n ...params,\n html: msg,\n onClickSubmit: function (e) {\n if (params.success) params.success(e)\n },\n onClickCancel: function(e) {\n if (params.fail) params.fail(e)\n else e.hide()\n }\n })\n } else {\n if (params) {\n this.confirm.reset()\n for (let n in params) {\n this.confirm.params[n] = params[n]\n }\n this.confirm.updateDOM()\n if (params.success) this.confirm.setOnClickSubmit(params.success)\n if (params.fail) this.confirm.setOnClickCancel(params.fail)\n }\n this.confirm.setHTML(msg)\n }\n this.confirm.show()\n },\n /**\n * 百度地图:获取当前位置名称,只支持gcj02\n * @param {Object} params: {longitude: '', latitude: '', success: fn, fail: fn}\n * @returns {Object} {address:'地址全称'}\n */\n getAddress: function (params = {}) {\n var url = 'https://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=' + params.latitude + ',' + params.longitude + '&output=json&pois=1&ak=IlfRglMOvFxapn5eGrmAj65H&ret_coordtype=gcj02ll'\n jsonp(url, null, (err, data) => {\n if (err) {\n if (params.fail) params.fail({errMsg: `getAddress:${window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试'}` + err})\n } else {\n var addrs = {}\n if (data.result && data.result.formatted_address) {\n addrs.address = data.result.formatted_address\n if (params.success) params.success(addrs)\n } else {\n if (params.fail) params.fail({errMsg: `getAddress:${window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试'}`})\n }\n }\n })\n },\n /**\n * 百度地图:获得天气\n * @param {Object} params: {location: 'lng,lat|lng,lat|lng,lat' | '北京市|上海市', success: fn, fail: fn}\n * @returns {Object} 天气信息results\n */\n getWeather: function (params = {}) {\n var url = 'http://api.map.baidu.com/telematics/v3/weather?location=' + (params.location || '南京市') + '&output=json&ak=IlfRglMOvFxapn5eGrmAj65H'\n jsonp(url, null, (err, data) => {\n if (err) {\n if (params.fail) params.fail({errMsg: `getWeather:${window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试'}` + err})\n } else {\n if (data.results && data.results.length) {\n if (params.success) params.success(data.results)\n } else {\n if (params.fail) params.fail({errMsg: `getWeather:${window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试'}`})\n }\n }\n })\n },\n // 客户端默认返回控制\n back: function (argHistory, argBackLvl) {\n // 返回操作对象与返回层级\n var _history = window.history\n if (argHistory && argHistory.go) _history = argHistory\n var _backLvl = argBackLvl || -1\n \n // 返回类型\n var isFromApp = Device.getUrlParameter('isFromApp', location.search) || ''\n if (isFromApp === '1') { // 关闭当前页面\n try {\n Bridge.closeWindow()\n } catch (error) {\n console.log(error)\n }\n } else if (isFromApp === 'home') { // 返回首页\n try {\n Bridge.goHome()\n } catch (error) {\n console.log(error)\n }\n } else if (isFromApp === 'confirm') { // 提示后返回上一页\n Bridge.showConfirm(Bridge.confirmCaption || (window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?'), {\n success: (e) => {\n e.hide()\n _history.go(_backLvl)\n }\n });\n } else if (isFromApp === 'confirm-close') { // 提示后关闭当前页面\n Bridge.showConfirm(Bridge.confirmCaption || (window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?'), {\n success: (e) => {\n e.hide()\n Bridge.closeWindow()\n }\n });\n } else if (isFromApp === 'custom') {\n console.log('自定义')\n } else { // 返加上一页\n _history.go(_backLvl)\n }\n },\n // 判断是否是主页\n isHomePage: function (callback, rule) {\n if (rule && window.location.href.indexOf(rule) >= 0) {\n callback(true)\n return\n }\n callback(false)\n },\n // 获得版本信息\n getAppVersion: function () {\n return window.navigator.appVersion\n },\n // 退出到登陆页面\n logOut: function logOut() {\n console.log('logOut方法仅在app上工作');\n },\n // 回到主页\n goHome: function () {\n window.history.go(-1)\n },\n // 打开新的窗口\n openWindow: function (params = {}) {\n if (params.url) window.location.href = params.url\n },\n // 关闭窗口\n closeWindow: function () {\n window.history.go(-1)\n },\n // 客户端返回绑定\n addBackPress: function () {\n console.log('addBackPress方法在浏览器上无法运行')\n },\n // 客户端移除返回绑定\n removeBackPress: function () {\n console.log('removeBackPress方法在浏览器上无法运行')\n },\n /**\n * 基础功能:end\n */\n\n /**\n * 定制功能\n */\n platform: 'browser',\n // 初始化配置\n config: function (params = {}) {\n if (params.debug) this.debug = params.debug\n if (!this.debug) {\n console.log('config方法仅在微信上工作')\n return\n }\n DB.setSession('bridge_isready', '1')\n if (params.success) params.success()\n },\n // 视频播放\n previewVideo: function (params = {}) {\n var target = document.getElementById('seedsui_preview_video')\n if (!target) {\n target = MediaUtil.video(params.src)\n target.id = 'seedsui_preview_video'\n target.style = 'position:absolute;top:-1000px;left:-1000px;width:100;height:100px;'\n document.body.appendChild(target)\n }\n if (target) {\n FullScreen.enter(target)\n setTimeout(() => {\n target.play()\n }, 500)\n }\n },\n /* -----------------------------------------------------\n 图片插件\n ----------------------------------------------------- */\n // 拍照、本地选图\n chooseImage: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', {mask: false})\n return\n }\n var res = {\n sourceType: 'camera', // 微信返回的两种来源: 'camera', 'album'\n errMsg: 'chooseImage:ok',\n localIds: ['https://static.zcool.cn/git_z/z/common/images/svg/logo.svg', 'https://static.zcool.cn/v3.5.180706.5/zcool/client/image/logo.png']\n }\n if (params.success) params.success(res)\n },\n // 上传图片\n uploadImage: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', {mask: false})\n return\n }\n this.showLoading()\n setTimeout(() => {\n this.hideLoading()\n this.showToast(window._seeds_lang['uploaded_completed'] || '上传完成', {mask: false})\n var res = {\n errMsg: 'uploadImage:ok',\n mediaUrl: '',\n serverId: new Date().getTime()\n }\n if (params.success) params.success(res)\n // if (params.fail) params.fail(res)\n }, 1000)\n },\n // 图片预览\n // @params {urls:'需要预览的图片http链接列表',index:'图片索引',layerHTML:'图片上方的浮层'}\n preview: null,\n previewImage: function (params = {}) {\n if (!params.urls || !params.urls.length) {\n Bridge.showToast(`urls${window._seeds_lang['wrong_parameter'] || '参数不正确'}, ${window._seeds_lang['cannot_preview'] || '无法预览'}`, {mask: false})\n return\n }\n var src = params.urls[params.index || 0]\n if (!src) {\n Bridge.showToast(`index${window._seeds_lang['wrong_parameter'] || '参数不正确'}, ${window._seeds_lang['cannot_preview'] || '无法预览'}`, {mask: false})\n return\n }\n var layerHTML = params.layerHTML || ''\n if (!this.preview) {\n this.preview = new Preview({\n src: src,\n layerHTML: layerHTML,\n onSuccess: function (s) {\n s.show()\n if (params.onSuccess) params.onSuccess(s)\n },\n onError: function () {\n Bridge.showToast(`${window._seeds_lang['invalid_image_src'] || '图片地址无效'}`, {mask: false})\n }\n })\n } else {\n this.preview.setSrc(src)\n this.preview.setLayerHTML(layerHTML)\n this.preview.update()\n }\n return this.preview\n },\n /* -----------------------------------------------------\n 视频插件\n ----------------------------------------------------- */\n // debug:录像\n chooseVideo: function (params = {}) {\n console.log('chooseVideo方法在浏览器上无法运行')\n var res = {\n sourceType: 'camera', // 微信返回的两种来源: 'camera', 'album'\n errMsg: 'chooseVideo:ok',\n tempFilePath: 'http://res.waiqin365.com/video/v2001.MP4',\n duration: '',\n size: '',\n height: '',\n width: ''\n }\n if (params.success) params.success(res)\n },\n /* -----------------------------------------------------\n 人员插件\n ----------------------------------------------------- */\n getContactMore: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n if (params.success) params.success([\n {\n id: '4655721687632479006',\n name: '员工1'\n },\n {\n id: '4655721687632479007',\n name: '员工2'\n }\n ])\n },\n getContact: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n if (params.success) params.success({\n id: '4655721687632479006',\n name: '员工1'\n })\n },\n /* -----------------------------------------------------\n 客户插件\n ----------------------------------------------------- */\n customerMore: [{\n \"check\": true,\n \"distance\": 31,\n \"labelType\": 0,\n \"addr\": \"南京市建邺区康文路康缘智汇港附近\",\n \"approval_status\": \"3\",\n \"code\": \"20180403004\",\n \"cooperate_status\": \"1\",\n \"district_id\": \"\",\n \"id\": \"5330457627710680963\",\n \"lat\": \"\",\n \"location\": \"31.983362,118.73069\",\n \"lon\": \"\",\n \"manager_name\": \"\",\n \"name\": \"客户门店经销商1\",\n \"name_py\": \"20180403004 20180403004\",\n \"trade_type\": \"3\",\n \"type_id\": \"\",\n \"type_image\": \"\"\n }, {\n \"check\": true,\n \"distance\": 5,\n \"labelType\": 0,\n \"addr\": \"江苏省南京市建邺区康文路康缘智汇港附近\",\n \"approval_status\": \"3\",\n \"code\": \"storethree\",\n \"cooperate_status\": \"1\",\n \"district_id\": \"\",\n \"id\": \"8834765014408029232\",\n \"lat\": \"\",\n \"location\": \"31.983679,118.730766\",\n \"lon\": \"\",\n \"manager_name\": \"\",\n \"name\": \"客户门店经销商2\",\n \"name_py\": \"mendian3 md3\",\n \"trade_type\": \"3\",\n \"type_id\": \"\",\n \"type_image\": \"\"\n }, {\n \"addr\": \"南京市建邺区康文路南京金贝网络科技有限公司附近\",\n \"approval_status\": \"3\",\n \"check\": false,\n \"code\": \"CUS000084\",\n \"cooperate_status\": \"1\",\n \"distance\": -1,\n \"district_id\": \"-1\",\n \"id\": \"8045732772848971055\",\n \"labelType\": 2,\n \"lat\": \"31.983311\",\n \"location\": \"31.983311,118.730527\",\n \"lon\": \"118.730527\",\n \"manager_name\": \"大表哥\",\n \"name\": \"客户门店经销商3\",\n \"name_py\": \"201801171557 201801171557\",\n \"trade_type\": \"3\",\n \"type_id\": \"-1\",\n \"type_image\": \"\"\n }, {\n \"addr\": \"南京市建邺区康文路南京金贝网络科技有限公司附近\",\n \"approval_status\": \"3\",\n \"check\": true,\n \"code\": \"CUS000085\",\n \"cooperate_status\": \"1\",\n \"distance\": 46,\n \"district_id\": \"\",\n \"id\": \"8353170616312361122\",\n \"labelType\": 0,\n \"lat\": \"\",\n \"location\": \"31.983301,118.730517\",\n \"lon\": \"\",\n \"manager_name\": \"\",\n \"name\": \"客户门店经销商4\",\n \"name_py\": \"201801171624 201801171624\",\n \"trade_type\": \"3\",\n \"type_id\": \"\",\n \"type_image\": \"\"\n }],\n customerMoreLen: 1,\n getCustomerMore: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n const result = []\n for (let i = 0; i < this.customerMoreLen; i++) {\n result.push(this.customerMore[i])\n }\n this.customerMoreLen++\n if (this.customerMoreLen > this.customerMore.length) {\n this.customerMoreLen = 1\n }\n if (params.success) params.success(result)\n },\n getCustomer: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n if (params.success) params.success({\n id: '6468207804099075062',\n name: '客户门店经销商1'\n })\n },\n getCustomerType: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n if (params.success) params.success({\n id: '5365268129453435373',\n name: '客户类型1'\n })\n },\n getCustomerAreaMore: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n if (params.success) params.success([\n {\n id: '5365268129453435373',\n name: '客户区域1'\n },\n {\n id: '5365268129453435374',\n name: '客户区域2'\n }\n ])\n },\n getCustomerArea: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n if (params.success) params.success({\n id: '5365268129453435373',\n name: '客户区域1'\n })\n },\n // 部门插件\n getDepartmentMore: function (params) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n },\n getDepartment: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n params.success({\n id: '5343180131602024954',\n name: '开发一部'\n })\n },\n // 单选商品\n getGoods: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在外勤客户端中使用', {mask: false})\n return\n }\n if (params.success) params.success({\n id: '5343180131602024954',\n name: '商品1',\n propvalues: '', // 商品属性不带排序号\n nameSpec: '', // 规格名称\n productRemarks: '', // 备注\n props: '', // 商品属性介绍\n propDetail: '', // 商品属性详情\n reportUnitName: '', // 报表单位名称\n reportUnitID: '', // 报表单位ID\n reportUnitRatio: '', // 报表单位比率\n })\n },\n \n /**\n * 获取当前地理位置\n * @param {Object} params\n * params: {\n * type {String}: 'wgs84'|'gcj02'坐标类型微信默认使用国际坐标'wgs84',\n * timeout {Number}: 超时,\n * cache {Number}: 默认60秒缓存防重复定位\n * }\n * @returns {Object} {latitude: '纬度', longitude: '经度', speed:'速度', accuracy:'位置精度'}\n */\n getLocation: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', {mask: false})\n setTimeout(() => {\n if (params.fail) params.fail({errMsg: `getLocation:${window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用'}`})\n }, 1000)\n return\n }\n // 先从cookie中读取位置信息\n var appLocation = DB.getCookie('app_location')\n if (appLocation === 'undefined') {\n DB.removeCookie('app_location')\n appLocation = ''\n }\n try {\n if (appLocation) appLocation = JSON.parse(appLocation)\n } catch (error) {\n appLocation = ''\n }\n if (appLocation) {\n if (params.success) params.success(appLocation)\n return\n }\n // 调用定位\n if (this.locating) return\n this.locating = true\n console.log('调用定位...')\n setTimeout(() => {\n this.locating = false\n var res = {longitude:'118.730515', latitude:'31.982473', speed:'0.0', accuracy:'3.0.0'}\n // 将位置信息存储到cookie中60秒\n if (params.cache) DB.setCookie('app_location', JSON.stringify(res) , params.cache || 60)\n if (params.success) params.success(res)\n }, 2000)\n },\n // 获取当前地理位置带地图\n getLocationMap: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_wqapp'] || '此功能仅可在微信或APP中使用', {mask: false})\n if (params.fail) params.fail({errMsg: `getLocationMap:${window._seeds_lang['hint_only_wqapp'] || '此功能仅可在微信或APP中使用'}`})\n return\n }\n setTimeout(function () {\n if (params.success) params.success({longitude:'118.730515', latitude:'31.982473', speed:'0.0', accuracy:'3.0.0', address: '江苏省南京市新城科技园'})\n }, 500)\n },\n \n /* -----------------------------------------------------\n 扫描二维码并返回结果\n @return {resultStr:''}\n ----------------------------------------------------- */\n scanQRCode: function (params = {}) {\n if (!this.debug) {\n this.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', {mask: false})\n if (params.fail) params.fail({errMsg: `scanQRCode:${window._seeds_lang['hint_scan_failed'] || '扫码失败'}, ${window._seeds_lang['hint_try_again_later'] || '请稍后重试'}`})\n return\n }\n setTimeout(function () {\n if (params.success) params.success({resultStr: '504823170310092750280333'})\n }, 500)\n },\n /* 封装图片控件,使用示例见ImgUploader组件\n bridge.Image({\n onChooseSuccess: function (imgMap) {},\n onUploadSuccess:function(imgMap,res)\n onUploadFail:function(index, item)\n onUploadsSuccess:function(imgMap)\n })\n */\n Image: function (params = {}) {\n var s = this\n var msg = ''\n // 选择照片\n s.choose = function (args = {}) {\n if (!Bridge.debug) {\n if (params.onChooseFail) params.onChooseFail({errMsg: `chooseImage:${window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用'}`})\n else Bridge.showToast(window._seeds_lang['hint_only_app_and_wx'] || '此功能仅可在微信或APP中使用', {mask: false})\n return\n }\n var option = {\n enableSafe: args.enableSafe || false, // 安全上传,第次只能传一张\n max: args.max || 5,\n currentCount: args.currentCount || 0,\n sourceType: args.sourceType || ['album', 'camera'],\n sizeType: args.sizeType || ['original', 'compressed'],\n chooseOptions: args.chooseOptions || {},\n localIds: args.localIds || [] // 去重处理\n }\n var count = option.max - option.currentCount\n if (count <= 0) {\n msg = (window._seeds_lang['hint_max_upload'] || '最多只能传') + option.max + (window._seeds_lang['photos'] || '张照片')\n Bridge.showToast(msg)\n return\n }\n // 如果设置了安全上传,则每次只允许上传一张\n if (option.enableSafe) count = 1\n Bridge.chooseImage(Object.assign({\n count: count, // 默认5\n sizeType: option.sizeType, // 可以指定是原图还是压缩图,默认二者都有\n sourceType: option.sourceType, // 可以指定来源是相册还是相机,默认二者都有camera|album\n success: function (res) {\n var imgMap = {}\n for(var i = 0, localId; localId = res.localIds[i++];){ // eslint-disable-line\n if (option.localIds.indexOf(localId) === -1) {\n imgMap[localId] = {\n serverId: '',\n sourceType: res.sourceType\n }\n }\n }\n if(params.onChooseSuccess) params.onChooseSuccess(imgMap, res)\n s.upload(imgMap)\n },\n fail: function (res) {\n Bridge.showToast(window._seeds_lang['hint_choose_image_failed'] || '选择图片失败, 请稍后再试', {mask: false})\n },\n cancel: function () {\n },\n complete: function () {\n }\n }, option.chooseOptions))\n }\n // 上传照片\n s.upload = function (imgMap) {\n let imgs = Object.keys(imgMap)\n let loop = function (index) {\n if (index >= imgs.length) {\n return\n }\n let img = imgs[index]\n if (imgMap[img].serverId) {\n loop(++index)\n return\n }\n Bridge.uploadImage({\n localId: img, // 需要上传的图片的本地ID,由chooseImage接口获得\n isShowProgressTips: 1, // 默认为1,显示进度提示\n success: function (res) {\n let serverId = res.serverId; // 返回图片的服务器端ID\n imgMap[img].serverId = serverId\n if (params.onUploadSuccess) params.onUploadSuccess(imgMap, res)\n if (index >= imgs.length - 1 && params.onUploadsSuccess) params.onUploadsSuccess(imgMap)\n loop(++index)\n },\n fail: function () {\n var deleteItem = imgMap[img]\n if (params.onUploadFail) params.onUploadFail(imgMap, {id: img, index: index, item: deleteItem, errMsg: `uploadImage:${msg}`})\n if (index >= imgs.length - 1 && params.onUploadsSuccess) params.onUploadsSuccess(imgMap)\n loop(++index)\n }\n })\n }\n loop(0)\n }\n }\n}\nexport default Bridge","import jsonp from './../jsonp';\nimport DB from './../DB';\nimport Device from './../Device';\nimport Toast from './../Toast/instance.js';\nimport Alert from './../Alert/instance.js';\nimport Loading from './../Loading/instance.js';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nvar Bridge = {\n /**\n * 基础功能:start\n */\n debug: false,\n // 拨打电话\n tel: function (number) {\n if (Device.device === 'pc') {\n this.showToast(window._seeds_lang['hint_only_mobile'] || '此功能仅可在手机中使用')\n return\n }\n if (isNaN(number)) return\n window.location.href = 'tel:' + number\n },\n // 弹出toast\n toast: null,\n showToast: function (msg, params = {}) {\n if (!msg) return\n if (!this.toast) {\n // 提示错误\n this.toast = new Toast({\n parent: document.body,\n maskClass: 'mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''),\n toastClass: 'toast ' + (params.position ? params.position : 'middle'),\n icon: params.icon || '',\n html: msg,\n delay: params.delay || 2000\n });\n } else {\n this.toast.setHTML(msg)\n this.toast.setMaskClassName('mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''))\n this.toast.setToastClassName('toast ' + (params.position ? params.position : 'middle'))\n this.toast.setIcon(params.icon || '')\n this.toast.setDelay(params.delay || 2000)\n }\n this.toast.show()\n if (params.success) {\n setTimeout(() => {\n params.success()\n }, params.delay ? Math.round(params.delay / 2) : 1000)\n }\n },\n // 弹出loading\n loading: null,\n showLoading: function (params = {}) {\n if (!this.loading) {\n this.loading = new Loading({\n caption: params.caption || (window._seeds_lang['loading'] || '正在加载...'),\n type: params.type,\n icon: params.icon || '',\n maskCss: params.css || null\n });\n } else {\n if (params.caption) this.loading.setCaption(params.caption)\n if (params.type) this.loading.setType(params.type)\n if (params.css) this.loading.setMaskCss(params.css)\n if (params.icon) this.toast.setIcon(params.icon || '')\n if (params.mask) this.loading.setMaskClassName('mask loading-mask ' + (params.mask === false ? ' loading-propagation' : ''))\n }\n this.loading.show()\n },\n hideLoading: function () {\n if (!this.loading) {\n this.toast.showToast(window._seeds_lang['hint_hideloading_after_showloading'] || 'showLoading后才能hideLoading')\n } else {\n this.loading.hide()\n }\n },\n // 弹出Alert\n alert: null,\n showAlert: function (msg, params = {}) {\n if (!this.alert) {\n this.alert = new Alert({\n ...params,\n html: msg,\n onClickSubmit: function (e) {\n if (params.success) params.success(e)\n else e.hide()\n }\n });\n } else {\n if (params) {\n this.alert.reset()\n for (let n in params) {\n this.alert.params[n] = params[n]\n }\n this.alert.updateDOM()\n this.alert.setHTML(msg)\n }\n }\n this.alert.show()\n },\n // 弹出Confirm\n confirm: null,\n showConfirm: function (msg, params = {}) {\n if (!this.confirm) {\n this.confirm = new Alert({\n ...params,\n html: msg,\n onClickSubmit: function (e) {\n if (params.success) params.success(e)\n },\n onClickCancel: function(e) {\n if (params.fail) params.fail(e)\n else e.hide()\n }\n })\n } else {\n if (params) {\n this.confirm.reset()\n for (let n in params) {\n this.confirm.params[n] = params[n]\n }\n this.confirm.updateDOM()\n if (params.success) this.confirm.setOnClickSubmit(params.success)\n if (params.fail) this.confirm.setOnClickCancel(params.fail)\n }\n this.confirm.setHTML(msg)\n }\n this.confirm.show()\n },\n /**\n * 百度地图:获取当前位置名称,只支持gcj02\n * @param {Object} params: {longitude: '', latitude: '', success: fn, fail: fn}\n * @returns {Object} {address:'地址全称'}\n */\n getAddress: function (params = {}) {\n var url = 'https://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=' + params.latitude + ',' + params.longitude + '&output=json&pois=1&ak=IlfRglMOvFxapn5eGrmAj65H&ret_coordtype=gcj02ll'\n jsonp(url, null, (err, data) => {\n if (err) {\n if (params.fail) params.fail({errMsg: `getAddress:${window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试'}` + err})\n } else {\n var addrs = {}\n if (data.result && data.result.formatted_address) {\n addrs.address = data.result.formatted_address\n if (params.success) params.success(addrs)\n } else {\n if (params.fail) params.fail({errMsg: `getAddress:${window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试'}`})\n }\n }\n })\n },\n /**\n * 百度地图:获得天气\n * @param {Object} params: {location: 'lng,lat|lng,lat|lng,lat' | '北京市|上海市', success: fn, fail: fn}\n * @returns {Object} 天气信息results\n */\n getWeather: function (params = {}) {\n var url = 'http://api.map.baidu.com/telematics/v3/weather?location=' + (params.location || '南京市') + '&output=json&ak=IlfRglMOvFxapn5eGrmAj65H'\n jsonp(url, null, (err, data) => {\n if (err) {\n if (params.fail) params.fail({errMsg: `getWeather:${window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试'}` + err})\n } else {\n if (data.results && data.results.length) {\n if (params.success) params.success(data.results)\n } else {\n if (params.fail) params.fail({errMsg: `getWeather:${window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试'}`})\n }\n }\n })\n },\n // 客户端默认返回控制\n back: function (argHistory, argBackLvl) {\n // 返回操作对象与返回层级\n var _history = window.history\n if (argHistory && argHistory.go) _history = argHistory\n var _backLvl = argBackLvl || -1\n \n // 返回类型\n var isFromApp = Device.getUrlParameter('isFromApp', location.search) || ''\n if (isFromApp === '1') { // 关闭当前页面\n try {\n Bridge.closeWindow()\n } catch (error) {\n console.log(error)\n }\n } else if (isFromApp === 'home') { // 返回首页\n try {\n Bridge.goHome()\n } catch (error) {\n console.log(error)\n }\n } else if (isFromApp === 'confirm') { // 提示后返回上一页\n Bridge.showConfirm(Bridge.confirmCaption || (window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?'), {\n success: (e) => {\n e.hide()\n _history.go(_backLvl)\n }\n });\n } else if (isFromApp === 'confirm-close') { // 提示后关闭当前页面\n Bridge.showConfirm(Bridge.confirmCaption || (window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?'), {\n success: (e) => {\n e.hide()\n Bridge.closeWindow()\n }\n });\n } else if (isFromApp === 'custom') {\n console.log('自定义')\n } else { // 返加上一页\n _history.go(_backLvl)\n }\n },\n // 判断是否是主页\n isHomePage: function (callback, rule) {\n if (rule && window.location.href.indexOf(rule) >= 0) {\n callback(true)\n return\n }\n callback(false)\n },\n // 获得版本信息\n getAppVersion: function () {\n return window.navigator.appVersion\n },\n // 返回首页\n goHome: function () {\n window.history.go(-1)\n },\n // 退出到登陆页面\n logOut: function logOut() {\n console.log('logOut方法仅在app上工作');\n },\n // 打开新的窗口\n openWindow: function (params = {}) {\n if (params.url) window.location.href = params.url\n },\n // 关闭窗口\n closeWindow: function () {\n wx.closeWindow() // eslint-disable-line\n },\n // 客户端返回绑定\n addBackPress: function (callback) {\n if (wx.onHistoryBack) { // eslint-disable-line\n wx.onHistoryBack(() => { // eslint-disable-line\n if (callback) {\n callback()\n } else {\n Bridge.back()\n }\n return false\n })\n }\n },\n // 客户端移除返回绑定\n removeBackPress: function () {\n if (wx.onHistoryBack) { // eslint-disable-line\n wx.onHistoryBack(() => { // eslint-disable-line\n return true\n })\n }\n },\n /**\n * 基础功能:end\n */\n\n /**\n * 定制功能\n */\n platform: Device.platform,\n /**\n * 获取当前地理位置\n * @param {Object} params\n * params: {\n * type {String}: 'wgs84'|'gcj02'坐标类型微信默认使用国际坐标'wgs84',\n * cache {Number}: 默认60秒缓存防重复定位\n * }\n * @returns {Object} {latitude: '纬度', longitude: '经度', speed:'速度', accuracy:'位置精度'}\n */\n getLocation: function (params = {}) {\n // 先从cookie中读取位置信息\n var appLocation = DB.getCookie('app_location')\n if (appLocation === 'undefined') {\n DB.removeCookie('app_location')\n appLocation = ''\n }\n try {\n if (appLocation) appLocation = JSON.parse(appLocation)\n } catch (error) {\n appLocation = ''\n }\n if (appLocation) {\n if (params.success) params.success(appLocation)\n return\n }\n // 调用定位\n if (this.locating) return\n this.locating = true\n console.log('调用定位...')\n wx.getLocation({ // eslint-disable-line\n // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'\n type: 'gcj02',\n success: (res) => {\n this.locating = false\n // 将位置信息存储到cookie中60秒\n if (res.latitude && res.latitude) {\n if (params.cache) DB.setCookie('app_location', JSON.stringify(res) , params.cache || 60)\n if (params.success) params.success(res)\n } else {\n if (params.fail) params.fail(res)\n else Bridge.showToast('没有获取到经纬度', {mask: false})\n }\n },\n fail: (res) => {\n this.locating = false\n if (params.fail) params.fail(res)\n else Bridge.showToast('定位失败,请检查微信定位权限是否开启', {mask: false})\n },\n complete: (res) => {\n this.locating = false\n if (params.complete) params.complete(res)\n }\n })\n },\n /*\n * 扫描二维码并返回结果\n * 返回:{resultStr:''}\n * */\n scanQRCode (params = {}) {\n wx.scanQRCode({ // eslint-disable-line\n needResult: params.needResult || 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果\n scanType: params.scanType || ['qrCode', 'barCode'],\n desc: params.desc || '二维码/条码',\n success: function (res) {\n if (!params.success) return;\n var wxRes = res\n // 如果没有设置prefix为false或者空,则清除前缀\n if (!params.prefix) {\n if (res.resultStr.indexOf('QR,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('QR,'.length)\n } else if (res.resultStr.indexOf('EAN_13,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('EAN_13,'.length)\n } else if (res.resultStr.indexOf('EAN_8,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('EAN_8,'.length)\n } else if (res.resultStr.indexOf('AZTEC,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('AZTEC,'.length)\n } else if (res.resultStr.indexOf('DATAMATRIX,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('DATAMATRIX,'.length)\n } else if (res.resultStr.indexOf('UPCA,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('UPCA,'.length)\n } else if (res.resultStr.indexOf('UPCE,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('UPCE,'.length)\n } else if (res.resultStr.indexOf('CODABAR,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('CODABAR,'.length)\n } else if (res.resultStr.indexOf('CODE_39,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('CODE_39,'.length)\n } else if (res.resultStr.indexOf('CODE_93,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('CODE_93,'.length)\n } else if (res.resultStr.indexOf('CODE_128,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('CODE_128,'.length)\n } else if (res.resultStr.indexOf('ITF,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('ITF,'.length)\n } else if (res.resultStr.indexOf('MAXICODE,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('MAXICODE,'.length)\n } else if (res.resultStr.indexOf('PDF_417,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('PDF_417,'.length)\n } else if (res.resultStr.indexOf('RSS_14,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('RSS_14,'.length)\n } else if (res.resultStr.indexOf('RSSEXPANDED,') >= 0) {\n wxRes.resultStr = res.resultStr.substring('RSSEXPANDED,'.length)\n }\n }\n // 回调\n params.success(wxRes)\n },\n fail: function (res) {\n if (params.fail) params.fail(res)\n else Bridge.showToast(res.errMsg, {mask: false})\n },\n cancel: function (res) {\n if (params.cancel) params.cancel(res)\n },\n complete: function (res) {\n if (params.complete) params.complete(res)\n }\n })\n },\n /*\n * 拍照、本地选图\n * params:{sourceType:['album:相册', 'camera:拍照'],sizeType:['original:原图', 'compressed:压缩'],count:'最大张数', success:fn, fail:fn, cancel: fn, complete: fn}\n * 返回选定照片的本地ID列表{localIds:[]'}\n */\n chooseImage: function (params) {\n wx.chooseImage(params) // eslint-disable-line\n },\n /*\n * 上传图片\n params:{\n localId: '', // 需要上传的图片的本地ID,由chooseImage接口获得\n isShowProgressTips: 1, // 默认为1,显示进度提示\n success: function (res) {\n var serverId = res.serverId; // 返回图片的服务器端ID\n }\n }\n */\n uploadImage: function (params) {\n wx.uploadImage(params) // eslint-disable-line\n },\n /*\n * 图片预览\n * params:{urls:'需要预览的图片http链接列表',current:'当前显示图片的http链接'}\n */\n previewImage: function (params) {\n wx.previewImage(params) // eslint-disable-line\n },\n /* 封装图片控件,使用示例见ImgUploader组件\n bridge.Image({\n onChooseSuccess: function (imgMap, res) {},\n onUploadSuccess:function(imgMap, res) // 单张上传成功\n onUploadFail:function(imgMap, {id, index, item, errMsg}) // 单张上传失败\n onUploadsSuccess:function(imgMap) // 全部上传成功\n })\n */\n Image: function (params) {\n var s = this\n var msg = ''\n // 选择照片\n s.choose = function (args = {}) {\n var option = {\n enableSafe: args.enableSafe || false, // 安全上传,第次只能传一张\n max: args.max || 5,\n currentCount: args.currentCount || 0,\n sourceType: args.sourceType || ['album', 'camera'],\n sizeType: args.sizeType || ['original', 'compressed'],\n chooseOptions: args.chooseOptions || {},\n localIds: args.localIds || [] // 去重处理\n }\n var count = option.max - option.currentCount\n if (count <= 0) {\n msg = (window._seeds_lang['hint_max_upload'] || '最多只能传') + option.max + (window._seeds_lang['photos'] || '张照片')\n Bridge.showToast(msg)\n return\n }\n // 如果设置了安全上传,则每次只允许上传一张\n if (option.enableSafe) count = 1\n Bridge.chooseImage(Object.assign({\n count: count, // 默认5\n sizeType: option.sizeType, // 可以指定是原图还是压缩图,默认二者都有\n sourceType: option.sourceType, // 可以指定来源是相册还是相机,默认二者都有camera|album\n success: function (res) {\n var imgMap = {}\n for(var i = 0, localId; localId = res.localIds[i++];){ // eslint-disable-line\n if (option.localIds.indexOf(localId) === -1) {\n imgMap[localId] = {\n serverId: '',\n sourceType: res.sourceType\n }\n }\n }\n if (params.onChooseSuccess) params.onChooseSuccess(imgMap, res)\n s.upload(imgMap)\n },\n fail: function (res) {\n if (params.onChooseFail) params.onChooseFail(res)\n else Bridge.showToast('选择照片失败', {mask: false})\n },\n cancel: function () {\n },\n complete: function () {\n }\n }, option.chooseOptions))\n }\n // 上传照片\n s.upload = function (imgMap) {\n let imgs = Object.keys(imgMap)\n let loop = function (index) {\n if (index >= imgs.length) {\n return\n }\n let img = imgs[index]\n if (imgMap[img].serverId) {\n loop(++index)\n return\n }\n Bridge.uploadImage({\n localId: img, // 需要上传的图片的本地ID,由chooseImage接口获得\n isShowProgressTips: 1, // 默认为1,显示进度提示\n success: function (res) {\n let serverId = res.serverId; // 返回图片的服务器端ID\n imgMap[img].serverId = serverId\n if (params.onUploadSuccess) params.onUploadSuccess(imgMap, res)\n if (index >= imgs.length - 1 && params.onUploadsSuccess) params.onUploadsSuccess(imgMap)\n loop(++index)\n },\n fail: function () {\n var deleteItem = imgMap[img]\n if (params.onUploadFail) params.onUploadFail(imgMap, {id: img, index: index, item: deleteItem, errMsg: `uploadImage:${msg}`})\n if (index >= imgs.length - 1 && params.onUploadsSuccess) params.onUploadsSuccess(imgMap)\n loop(++index)\n }\n })\n }\n loop(0)\n }\n }\n}\n\nexport default Bridge\n","import jsonp from './../jsonp';\nimport DB from './../DB';\nimport Device from './../Device';\nimport Toast from './../Toast/instance.js';\nimport Alert from './../Alert/instance.js';\nimport Loading from './../Loading/instance.js';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nvar Bridge = {\n /**\n * 基础功能:start\n */\n debug: false,\n // 拨打电话\n tel: function (number) {\n if (Device.device === 'pc') {\n this.showToast(window._seeds_lang['hint_only_mobile'] || '此功能仅可在手机中使用')\n return\n }\n if (isNaN(number)) return\n window.location.href = 'tel:' + number\n },\n // 弹出toast\n toast: null,\n showToast: function (msg, params = {}) {\n if (!msg) return\n if (!this.toast) {\n // 提示错误\n this.toast = new Toast({\n parent: document.body,\n maskClass: 'mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''),\n toastClass: 'toast ' + (params.position ? params.position : 'middle'),\n icon: params.icon || '',\n html: msg,\n delay: params.delay || 2000\n });\n } else {\n this.toast.setHTML(msg)\n this.toast.setMaskClassName('mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''))\n this.toast.setToastClassName('toast ' + (params.position ? params.position : 'middle'))\n this.toast.setIcon(params.icon || '')\n this.toast.setDelay(params.delay || 2000)\n }\n this.toast.show()\n if (params.success) {\n setTimeout(() => {\n params.success()\n }, params.delay ? Math.round(params.delay / 2) : 1000)\n }\n },\n // 弹出loading\n loading: null,\n showLoading: function (params = {}) {\n if (!this.loading) {\n this.loading = new Loading({\n caption: params.caption || (window._seeds_lang['loading'] || '正在加载...'),\n type: params.type,\n icon: params.icon || '',\n maskCss: params.css || null\n });\n } else {\n if (params.caption) this.loading.setCaption(params.caption)\n if (params.type) this.loading.setType(params.type)\n if (params.css) this.loading.setMaskCss(params.css)\n if (params.icon) this.toast.setIcon(params.icon || '')\n if (params.mask) this.loading.setMaskClassName('mask loading-mask ' + (params.mask === false ? ' loading-propagation' : ''))\n }\n this.loading.show()\n },\n hideLoading: function () {\n if (!this.loading) {\n this.toast.showToast(window._seeds_lang['hint_hideloading_after_showloading'] || 'showLoading后才能hideLoading')\n } else {\n this.loading.hide()\n }\n },\n // 弹出Alert\n alert: null,\n showAlert: function (msg, params = {}) {\n if (!this.alert) {\n this.alert = new Alert({\n ...params,\n html: msg,\n onClickSubmit: function (e) {\n if (params.success) params.success(e)\n else e.hide()\n }\n });\n } else {\n if (params) {\n this.alert.reset()\n for (let n in params) {\n this.alert.params[n] = params[n]\n }\n this.alert.updateDOM()\n this.alert.setHTML(msg)\n }\n }\n this.alert.show()\n },\n // 弹出Confirm\n confirm: null,\n showConfirm: function (msg, params = {}) {\n if (!this.confirm) {\n this.confirm = new Alert({\n ...params,\n html: msg,\n onClickSubmit: function (e) {\n if (params.success) params.success(e)\n },\n onClickCancel: function(e) {\n if (params.fail) params.fail(e)\n else e.hide()\n }\n })\n } else {\n if (params) {\n this.confirm.reset()\n for (let n in params) {\n this.confirm.params[n] = params[n]\n }\n this.confirm.updateDOM()\n if (params.success) this.confirm.setOnClickSubmit(params.success)\n if (params.fail) this.confirm.setOnClickCancel(params.fail)\n }\n this.confirm.setHTML(msg)\n }\n this.confirm.show()\n },\n /**\n * 百度地图:获取当前位置名称,只支持gcj02\n * @param {Object} params: {longitude: '', latitude: '', success: fn, fail: fn}\n * @returns {Object} {address:'地址全称'}\n */\n getAddress: function (params = {}) {\n var url = 'https://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=' + params.latitude + ',' + params.longitude + '&output=json&pois=1&ak=IlfRglMOvFxapn5eGrmAj65H&ret_coordtype=gcj02ll'\n jsonp(url, null, (err, data) => {\n if (err) {\n if (params.fail) params.fail({errMsg: `getAddress:${window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试'}` + err})\n } else {\n var addrs = {}\n if (data.result && data.result.formatted_address) {\n addrs.address = data.result.formatted_address\n if (params.success) params.success(addrs)\n } else {\n if (params.fail) params.fail({errMsg: `getAddress:${window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试'}`})\n }\n }\n })\n },\n /**\n * 百度地图:获得天气\n * @param {Object} params: {location: 'lng,lat|lng,lat|lng,lat' | '北京市|上海市', success: fn, fail: fn}\n * @returns {Object} 天气信息results\n */\n getWeather: function (params = {}) {\n var url = 'http://api.map.baidu.com/telematics/v3/weather?location=' + (params.location || '南京市') + '&output=json&ak=IlfRglMOvFxapn5eGrmAj65H'\n jsonp(url, null, (err, data) => {\n if (err) {\n if (params.fail) params.fail({errMsg: `getWeather:${window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试'}` + err})\n } else {\n if (data.results && data.results.length) {\n if (params.success) params.success(data.results)\n } else {\n if (params.fail) params.fail({errMsg: `getWeather:${window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试'}`})\n }\n }\n })\n },\n // 客户端默认返回控制\n back: function (argHistory, argBackLvl) {\n // 返回操作对象与返回层级\n var _history = window.history\n if (argHistory && argHistory.go) _history = argHistory\n var _backLvl = argBackLvl || -1\n \n // 返回类型\n var isFromApp = Device.getUrlParameter('isFromApp', location.search) || ''\n if (isFromApp === '1') { // 关闭当前页面\n try {\n Bridge.closeWindow()\n } catch (error) {\n console.log(error)\n }\n } else if (isFromApp === 'home') { // 返回首页\n try {\n Bridge.goHome()\n } catch (error) {\n console.log(error)\n }\n } else if (isFromApp === 'confirm') { // 提示后返回上一页\n Bridge.showConfirm(Bridge.confirmCaption || (window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?'), {\n success: (e) => {\n e.hide()\n _history.go(_backLvl)\n }\n });\n } else if (isFromApp === 'confirm-close') { // 提示后关闭当前页面\n Bridge.showConfirm(Bridge.confirmCaption || (window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?'), {\n success: (e) => {\n e.hide()\n Bridge.closeWindow()\n }\n });\n } else if (isFromApp === 'custom') {\n console.log('自定义')\n } else { // 返加上一页\n _history.go(_backLvl)\n }\n },\n // 判断是否是主页\n isHomePage: function (callback) {\n this.invoke('isHomePage', null, function (data) {\n if (data.result.toString() === '1') {\n callback(true)\n } else {\n callback(false)\n }\n });\n },\n // 获得版本信息\n getAppVersion: function () {\n const ua = navigator.userAgent.toLowerCase();\n var verExp = ua.match(/dinghuoappversion\\/.{0,}(\\d+\\.\\d+\\.\\d+)/);\n if (verExp && verExp[1]) return verExp[1].trim();\n return '';\n },\n // 去首页\n goHome: function (callback) {\n this.invoke('goHome', null, callback)\n },\n // 退出到登陆页面\n logOut: function () {\n this.invoke('logOut');\n },\n // 打开新的窗口\n openWindow: function (params, callback) {\n this.invoke('openWindow', params, callback)\n },\n // 关闭当前窗\n closeWindow: function (callback) {\n this.invoke('closeWindow', null, callback)\n },\n // 客户端添加返回绑定\n addBackPress: function (callback) {\n try {\n this.setBackEnable(true);\n window.addEventListener('onBackPress', callback || this.back);\n // ios客户端返回按钮绑定(ios不支持onBackPress)\n this.addIosBackPress(callback)\n } catch (error) {\n console.log(error);\n }\n },\n // 客户端移除返回绑定\n removeBackPress: function (callback) {\n try {\n this.setBackEnable(false);\n window.removeEventListener('onBackPress', callback || this.back);\n } catch (error) {\n console.log(error);\n }\n },\n /**\n * 基础功能:end\n */\n \n /**\n * 定制功能\n */\n platform: 'dinghuo',\n config: function () {\n // 返回物理按键绑定\n this.addBackPress()\n DB.setSession('bridge_isready', '1')\n this.registerHandler(['getGoodsByApp', 'getCartGoodsByApp', 'onBackPress', 'setOnlineByApp'])\n },\n // 公共方法,通过桥接调用原生方法公共入口\n invoke: function (name, param, callback) {\n if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { /* 判断iPhone|iPad|iPod|iOS */\n /* eslint-disable */\n this.setup(function(bridge) {\n bridge.callHandler(name, param, function(response) {\n if (callback) {\n try {\n callback(JSON.parse(response))\n } catch (e) {\n callback(response)\n }\n }\n })\n })\n /* eslint-enable */\n } else if (/(Android)/i.test(navigator.userAgent)) { /* 判断Android */\n // 注册分类页面事件\n if (window.WebViewJavascriptBridge) {\n window.WebViewJavascriptBridge.callHandler(name, param && JSON.stringify(param), function (response) {\n if (callback) {\n try {\n callback(JSON.parse(response))\n } catch (e) {\n callback(response)\n }\n }\n })\n } else {\n document.addEventListener('WebViewJavascriptBridgeReady', () => {\n window.WebViewJavascriptBridge.callHandler(name, param && JSON.stringify(param), function (response) {\n if (callback) {\n try {\n callback(JSON.parse(response))\n } catch (e) {\n callback(response)\n }\n }\n })\n }, false);\n }\n }\n },\n setup: function (callback) {\n /* eslint-disable */\n if (window.WebViewJavascriptBridge) {\n return callback(WebViewJavascriptBridge)\n }\n if (window.WVJBCallbacks) {\n return window.WVJBCallbacks.push(callback)\n }\n window.WVJBCallbacks = [callback]\n var WVJBIframe = document.createElement('iframe')\n WVJBIframe.style.display = 'none'\n WVJBIframe.src = 'https://__bridge_loaded__'\n document.documentElement.appendChild(WVJBIframe)\n setTimeout(function () {\n document.documentElement.removeChild(WVJBIframe)\n }, 0)\n /* eslint-enable */\n },\n\n // 注册事件\n registerHandler: function (events) {\n if (typeof window !== 'undefined') {\n if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { /* 判断iPhone|iPad|iPod|iOS */\n /* eslint-disable */\n this.setup(function(bridge) {\n events.forEach((eventName) => {\n bridge.registerHandler(eventName, () => {\n const event = new CustomEvent(eventName);\n // 分发事件\n window.dispatchEvent(event);\n })\n });\n })\n /* eslint-enable */\n } else if (/(Android)/i.test(navigator.userAgent)) { /* 判断Android */\n // 注册分类页面事件\n if (window.WebViewJavascriptBridge) {\n events.forEach((eventName) => {\n window.WebViewJavascriptBridge.registerHandler(eventName, () => {\n const event = new CustomEvent(eventName);\n // 分发事件\n window.dispatchEvent(event);\n });\n });\n } else {\n document.addEventListener(\n 'WebViewJavascriptBridgeReady', () => {\n events.forEach((eventName) => {\n window.WebViewJavascriptBridge.registerHandler(eventName, () => {\n const event = new CustomEvent(eventName);\n // 分发事件\n window.dispatchEvent(event);\n });\n });\n }, false);\n }\n }\n }\n },\n /**\n * 支付宝支付\n * @param {Object} params {orderInfo: ''}\n * @param {Function} callback\n * @callback(result) {Object} {code: \"0\", message: \"支付成功\"}|{code: \"-1\", message: \"支付失败\"}|{code: \"-1\", message: \"数据解析异常\"}\n */\n alipay: function (params, callback) {\n this.invoke('alipay', params, callback)\n },\n /**\n * 商联支付\n * @param {Object} params {appKey:'', dealerCode:'', orderId:'', payAmount:''}\n * @param {Function} callback 回调\n */\n slopenpay: function (params, callback) {\n this.invoke('slopenpay', params, callback)\n },\n /**\n * 大华捷通支付\n * @param {Object} params {payChannel:'UPPay 云闪付 WXPay微信支付 AliPay 支付宝支付', payData:'服务端获取'}\n * @param {Function} callback 回调\n */\n qmfpay: function (params, callback) {\n // resultCode:\n // 0000 支付请求发送成功,商户订单是否成功支付应该以商户后台收到支付结果\n // 1000 用户取消支付\n // 1001 参数错误\n // 1002 网络连接错误\n // 1003 支付客户端未安装\n // 2001 订单处理中,支付结果未知(有可能已经支付成功),请通过后台接口查询订单状态\n // 2002 订单号重复\n // 2003 订单支付失败\n // 9999 其他支付错误\n // 5004 版本过低\n if (Bridge.getAppVersion() < '2.3.6') {\n callback({resultCode:'5004',resultInfo:'{\"resultMsg\":\"请安装2.3.6以上版本\"}'})\n return\n }\n this.invoke('qmfpay', params, callback)\n },\n /**\n * 修改原生标题\n * @param {Object} params {title: '自定义标题'}\n * @param {Function} callback 回调\n */\n setTitle: function (params, callback) {\n this.invoke('setTitle', params, callback);\n },\n /**\n * ios绑定左上角返回按钮\n * @param {Object} params {title: '自定义标题'}\n * @param {Function} callback 回调\n */\n onHistoryBack: function (callback) {\n this.invoke('onHistoryBack', null, callback);\n },\n // ios客户端返回按钮绑定, ios不支持addBackPress\n addIosBackPress: function (callback) {\n this.onHistoryBack(() => {\n if (callback) callback()\n else if (this.back) this.back()\n this.addIosBackPress(callback)\n })\n },\n /**\n * 分享文本\n * @param {Object} params\n * {\n * title: '标题(仅ios支持)',\n * desc: '副标题(仅ios支持)',\n * link: '链接(仅ios支持)',\n * text: '文本(安卓只支持发送文本)',\n * }\n * @param {Function} callback 回调\n */\n shareText: function (params, callback) {\n this.invoke('shareText', params, callback);\n },\n /**\n * 获取订货包名\n * @param {Function} callback({result: 'cn.com.wq.ordergoods'}), ios包名cn.com.wq.ordergoods, andriod包名com.waiqin365.dhcloud\n */\n getIdentification: function (callback) {\n if (Bridge.getAppVersion() < '2.3.6') {\n callback({})\n return\n }\n this.invoke('getIdentification', null, callback);\n },\n /* -----------------------------------------------------\n 文件操作\n ----------------------------------------------------- */\n /* 文件是否存在\n isExistsFile({\n \"fileName\": \"ss.txt\",\n \"size\": 200\n }, (result) => {\n // 返回格式 {{\"isExists\":\"\",\"filePath\":\"\",\"fileName\":\"\"},isExists:'0'不存在,'1'存在\n })\n */\n isExistsFile: function (params, callback) {\n this.invoke('isExistsFile', params, callback)\n },\n /* 附件下载\n downloadFile({\n \"id\": \"id\",\n \"fileName\": \"ss.txt\",\n \"downloadUrl\": \"http://...\",\n \"size\": 200\n }, (result) => {\n // 返回格式 {{\"code\":\"\",\"filePath\":\"\",\"message\":\"\"},code:'0'失败,'1'成功,message失败原因\n }) */\n downloadFile: function (params, callback) {\n this.invoke('downloadFile', params, callback)\n },\n /* 附件打开\n openFile({\n \"filePath\": \"\"\n }, (result) => {\n // 返回格式 {{\"code\":\"\",\"message\":\"\"},code:'0'失败,'1'成功,message失败原因\n }) */\n openFile: function (params, callback) {\n this.invoke('openFile', params, callback)\n },\n /* -----------------------------------------------------\n 扫描二维码并返回结果\n @return {resultStr:''}\n ----------------------------------------------------- */\n scanQRCode: function (params) {\n this.invoke('scanQRCode', null, params.success)\n },\n /**\n * 获取当前地理位置\n * @param {Object} params\n * params: {\n * type {String}: 'wgs84'|'gcj02'坐标类型微信默认使用国际坐标'wgs84',\n * cache {Number}: 默认60秒缓存防重复定位\n * }\n * @returns {Object} {latitude: '纬度', longitude: '经度', speed:'速度', accuracy:'位置精度'}\n */\n getLocation: function (params = {}) {\n // 先从cookie中读取位置信息\n var appLocation = DB.getCookie('app_location')\n if (appLocation === 'undefined') {\n DB.removeCookie('app_location')\n appLocation = ''\n }\n try {\n if (appLocation) appLocation = JSON.parse(appLocation)\n } catch (error) {\n appLocation = ''\n }\n if (appLocation) {\n if (params.success) params.success(appLocation)\n return\n }\n\n // 调用定位\n if (this.locating) return\n this.locating = true\n console.log('调用定位...')\n this.invoke('getLocation', 'gcj02', (res) => {\n this.locating = false\n if (res && res.latitude) {\n // 将位置信息存储到cookie中60秒\n if (params.cache) DB.setCookie('app_location', JSON.stringify(res) , params.cache || 60)\n if (params.success) params.success(res)\n } else {\n if (params.fail) params.fail({errMsg: 'getLocation:定位失败,请检查订货365定位权限是否开启'})\n else Bridge.showToast('定位失败,请检查订货365定位权限是否开启', {mask: false})\n }\n })\n },\n /* -----------------------------------------------------\n 获取当前网络状态\n @return {networkType:'返回网络类型2g,3g,4g,wifi'}\n ----------------------------------------------------- */\n getNetworkType: function (callback) {\n this.invoke('getNetworkType', null, callback)\n },\n /**\n * 拍照、本地选图\n * @param {Object} params\n * {\n * sourceType:['album:相册', 'camera:拍照'],\n * sizeType:['original:原图', 'compressed:压缩'],\n * count:'最大张数',\n * success({localIds:['LocalResource://imageid'+id]})\n * }\n */\n chooseImage: function (params) {\n this.invoke('chooseImage', params, function (res) {\n res.localIds = res.localIds.map(function (id) {\n return 'LocalResource://imageid' + id\n })\n if (params.success) params.success(res)\n })\n },\n /**\n * 拍照、本地选图\n * @param {Object} params\n * {\n * dir:'',\n * localIds:['LocalResource://imageid' + id],\n * tenantId: 'ios必传'\n * }\n */\n uploadImage: function (params = {}) {\n if (!params.dir) {\n Bridge.showToast(window._seeds_lang['hint_upload_image_must_dir'] || '没有上传目录', {mask: false})\n return\n }\n if (!params.localIds || Object.isEmptyObject(params.localIds)) {\n Bridge.showToast(window._seeds_lang['hint_upload_image_must_localIds'] || '没有上传图片地址', {mask: false})\n return\n }\n if (!params.tenantId) {\n Bridge.showToast(window._seeds_lang['hint_upload_image_must_tenantId'] || '没有上传企业id', {mask: false})\n return\n }\n // ios上传不能包含'LocalResource://imageid'\n // if (/cpu iphone os (.*?) like mac os/.test(navigator.userAgent.toLowerCase())) {\n // params.localIds = params.localIds.map(function (localId) {\n // return localId.replace(new RegExp('LocalResource://imageid'), '')\n // })\n // }\n params.localIds = params.localIds.map(function (localId) {\n return localId.replace(new RegExp('LocalResource://imageid'), '')\n })\n // 格式化params\n var uploadParams = {\n localIds: params.localIds,\n uploadDir: params.dir\n }\n if (params.tenantId) uploadParams.tenantId = params.tenantId\n if (params.isAI) uploadParams.isAI = params.isAI\n this.invoke('uploadImage', uploadParams);\n },\n /**\n * 图片预览\n * @param {Object} params\n * {\n * urls:['本地照片需要加上LocalResource://imageid'],\n * current:'当前显示图片地址',\n * index:'当前显示图片索引'\n * }\n */\n previewImage: function (params) {\n if (!params.urls || !params.urls.length) {\n Bridge.showToast(window._seeds_lang['hint_preview_image_must_urls'] || '没有预览图片地址', {mask: false})\n return\n }\n this.invoke('previewImage', params)\n },\n /* -----------------------------------------------------\n 监听/取消监听物理返回事件(仅android)\n @params true:监听 | false:取消监听\n ----------------------------------------------------- */\n setBackEnable: function (flag) {\n if (/(Android)/i.test(navigator.userAgent)) { /* 判断Android */\n this.invoke('setBackEnable', flag);\n }\n },\n // 获取图片前缀\n getImagePrefix: function () {\n return 'LocalResource://imageid';\n },\n // 下载图片\n downloadImage: function () {\n\n },\n // 分享给朋友\n onMenuShareAppMessage: function () {\n\n },\n // 分享到朋友圈\n onMenuShareTimeline: function () {\n\n },\n // 获取登陆信息\n loginInfo: function (callback) {\n this.invoke('getLoginInfo', null, callback);\n },\n // 根据key获取登陆信息\n getLoginInfo (key, callback) {\n this.loginInfo(function (result) {\n callback(result[key])\n })\n },\n // 获取系统参数\n systemParameter (callback) {\n this.invoke('getSystemParameter', null, callback)\n },\n // 修改原生角标\n changeBadgeNum: function (count) {\n this.invoke('setBadgeNum', {key: count});\n },\n \n \n /* 封装图片控件,使用示例见ImgUploader组件\n bridge.Image({\n onChooseSuccess: function (imgMap) {},\n })\n */\n Image: function (params = {}) {\n var s = this\n var msg = ''\n // 选择照片\n s.choose = function (args = {}) {\n var option = {\n enableSafe: args.enableSafe || false, // 安全上传,第次只能传一张\n max: args.max || 5,\n currentCount: args.currentCount || 0,\n sourceType: args.sourceType || ['album', 'camera'],\n sizeType: args.sizeType || ['original', 'compressed'],\n chooseOptions: args.chooseOptions || {}\n }\n /* watermark: {\n orderNo: 'xx', // 编号\n submitName: 'xx', // 提交人\n customerName: 'xx', // 客户\n cmLocation: '118.730515, 31.982473', // 位置算偏差\n isWaterMark: '1', // 是否启用水印\n } */\n var count = option.max - option.currentCount\n if (count <= 0) {\n msg = (window._seeds_lang['hint_max_upload'] || '最多只能传') + option.max + (window._seeds_lang['photos'] || '张照片')\n Bridge.showToast(msg)\n return\n }\n // 如果设置了安全上传,则每次只允许上传一张\n if (option.enableSafe) count = 1\n Bridge.chooseImage(Object.assign({\n count: count, // 默认5\n sizeType: option.sizeType, // 可以指定是原图还是压缩图,默认二者都有\n sourceType: option.sourceType, // 可以指定来源是相册还是相机,默认二者都有camera|album\n success: function (res) {\n var imgMap = {}\n for(var i = 0, localId; localId = res.localIds[i++];){ // eslint-disable-line\n imgMap[localId] = {\n serverId: '',\n sourceType: JSON.stringify(option.sourceType) === JSON.stringify(['camera']) ? 'camera' : 'album'\n }\n }\n if (params.onChooseSuccess) params.onChooseSuccess(imgMap, res)\n }\n }, option.chooseOptions))\n }\n }\n}\n\nexport default Bridge\n","import jsonp from './../jsonp';\nimport DB from './../DB';\nimport Device from './../Device';\nimport Toast from './../Toast/instance.js';\nimport Alert from './../Alert/instance.js';\nimport Loading from './../Loading/instance.js';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nvar Bridge = {\n /**\n * 基础功能:start\n */\n debug: false,\n // 拨打电话\n tel: function (number) {\n if (Device.device === 'pc') {\n this.showToast(window._seeds_lang['hint_only_mobile'] || '此功能仅可在手机中使用')\n return\n }\n if (isNaN(number)) return\n window.location.href = 'tel:' + number\n },\n // 弹出toast\n toast: null,\n showToast: function (msg, params = {}) {\n if (!msg) return\n if (!this.toast) {\n // 提示错误\n this.toast = new Toast({\n parent: document.body,\n maskClass: 'mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''),\n toastClass: 'toast ' + (params.position ? params.position : 'middle'),\n icon: params.icon || '',\n html: msg,\n delay: params.delay || 2000\n });\n } else {\n this.toast.setHTML(msg)\n this.toast.setMaskClassName('mask toast-mask' + (params.mask === false ? ' toast-propagation' : ''))\n this.toast.setToastClassName('toast ' + (params.position ? params.position : 'middle'))\n this.toast.setIcon(params.icon || '')\n this.toast.setDelay(params.delay || 2000)\n }\n this.toast.show()\n if (params.success) {\n setTimeout(() => {\n params.success()\n }, params.delay ? Math.round(params.delay / 2) : 1000)\n }\n },\n // 弹出loading\n loading: null,\n showLoading: function (params = {}) {\n if (!this.loading) {\n this.loading = new Loading({\n caption: params.caption || (window._seeds_lang['loading'] || '正在加载...'),\n type: params.type,\n icon: params.icon || '',\n maskCss: params.css || null\n });\n } else {\n if (params.caption) this.loading.setCaption(params.caption)\n if (params.type) this.loading.setType(params.type)\n if (params.css) this.loading.setMaskCss(params.css)\n if (params.icon) this.toast.setIcon(params.icon || '')\n if (params.mask) this.loading.setMaskClassName('mask loading-mask ' + (params.mask === false ? ' loading-propagation' : ''))\n }\n this.loading.show()\n },\n hideLoading: function () {\n if (!this.loading) {\n this.toast.showToast(window._seeds_lang['hint_hideloading_after_showloading'] || 'showLoading后才能hideLoading')\n } else {\n this.loading.hide()\n }\n },\n // 弹出Alert\n alert: null,\n showAlert: function (msg, params = {}) {\n if (!this.alert) {\n this.alert = new Alert({\n ...params,\n html: msg,\n onClickSubmit: function (e) {\n if (params.success) params.success(e)\n else e.hide()\n }\n });\n } else {\n if (params) {\n this.alert.reset()\n for (let n in params) {\n this.alert.params[n] = params[n]\n }\n this.alert.updateDOM()\n this.alert.setHTML(msg)\n }\n }\n this.alert.show()\n },\n // 弹出Confirm\n confirm: null,\n showConfirm: function (msg, params = {}) {\n if (!this.confirm) {\n this.confirm = new Alert({\n ...params,\n html: msg,\n onClickSubmit: function (e) {\n if (params.success) params.success(e)\n },\n onClickCancel: function(e) {\n if (params.fail) params.fail(e)\n else e.hide()\n }\n })\n } else {\n if (params) {\n this.confirm.reset()\n for (let n in params) {\n this.confirm.params[n] = params[n]\n }\n this.confirm.updateDOM()\n if (params.success) this.confirm.setOnClickSubmit(params.success)\n if (params.fail) this.confirm.setOnClickCancel(params.fail)\n }\n this.confirm.setHTML(msg)\n }\n this.confirm.show()\n },\n /**\n * 百度地图:获取当前位置名称,只支持gcj02\n * @param {Object} params: {longitude: '', latitude: '', success: fn, fail: fn}\n * @returns {Object} {address:'地址全称'}\n */\n getAddress: function (params = {}) {\n var url = 'https://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=' + params.latitude + ',' + params.longitude + '&output=json&pois=1&ak=IlfRglMOvFxapn5eGrmAj65H&ret_coordtype=gcj02ll'\n jsonp(url, null, (err, data) => {\n if (err) {\n if (params.fail) params.fail({errMsg: `getAddress:${window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试'}` + err})\n } else {\n var addrs = {}\n if (data.result && data.result.formatted_address) {\n addrs.address = data.result.formatted_address\n if (params.success) params.success(addrs)\n } else {\n if (params.fail) params.fail({errMsg: `getAddress:${window._seeds_lang['hint_address_failed'] || '获取地址失败, 请稍后重试'}`})\n }\n }\n })\n },\n /**\n * 百度地图:获得天气\n * @param {Object} params: {location: 'lng,lat|lng,lat|lng,lat' | '北京市|上海市', success: fn, fail: fn}\n * @returns {Object} 天气信息results\n */\n getWeather: function (params = {}) {\n var url = 'http://api.map.baidu.com/telematics/v3/weather?location=' + (params.location || '南京市') + '&output=json&ak=IlfRglMOvFxapn5eGrmAj65H'\n jsonp(url, null, (err, data) => {\n if (err) {\n if (params.fail) params.fail({errMsg: `getWeather:${window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试'}` + err})\n } else {\n if (data.results && data.results.length) {\n if (params.success) params.success(data.results)\n } else {\n if (params.fail) params.fail({errMsg: `getWeather:${window._seeds_lang['hint_weather_failed'] || '获取天气失败, 请稍后重试'}`})\n }\n }\n })\n },\n // 客户端默认返回控制\n back: function (argHistory, argBackLvl) {\n // 返回操作对象与返回层级\n var _history = window.history\n if (argHistory && argHistory.go) _history = argHistory\n var _backLvl = argBackLvl || -1\n \n // 返回类型\n var isFromApp = Device.getUrlParameter('isFromApp', location.search) || ''\n if (isFromApp === '1') { // 关闭当前页面\n try {\n Bridge.closeWindow()\n } catch (error) {\n console.log(error)\n }\n } else if (isFromApp === 'home') { // 返回首页\n try {\n Bridge.goHome()\n } catch (error) {\n console.log(error)\n }\n } else if (isFromApp === 'confirm') { // 提示后返回上一页\n Bridge.showConfirm(Bridge.confirmCaption || (window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?'), {\n success: (e) => {\n e.hide()\n _history.go(_backLvl)\n }\n });\n } else if (isFromApp === 'confirm-close') { // 提示后关闭当前页面\n Bridge.showConfirm(Bridge.confirmCaption || (window._seeds_lang['confirm_quit_page'] || '您确定要离开此页面吗?'), {\n success: (e) => {\n e.hide()\n Bridge.closeWindow()\n }\n });\n } else if (isFromApp === 'custom') {\n console.log('自定义')\n } else { // 返加上一页\n _history.go(_backLvl)\n }\n },\n // 判断是否是主页\n isHomePage: function (callback, rule) {\n if (rule && window.location.href.indexOf(rule) >= 0) {\n callback(true)\n return\n }\n callback(false)\n },\n // 获得版本信息\n getAppVersion: function () {\n const ua = navigator.userAgent;\n var verExp = ua.match(/WqAppVersion\\/.{0,}(\\d+\\.\\d+\\.\\d+)/);\n if (verExp && verExp[1]) return verExp[1].trim();\n return '';\n },\n // 返回首页\n goHome: function () {\n window.history.go(-1)\n },\n // 退出到登陆页面\n logOut: function (msg) {\n wq.wqload.wqBackToLogin(JSON.stringify({message: msg || '您的帐号因正在它处登录, 需要您重新登录'})) // eslint-disable-line\n },\n // 打开新的窗口\n openWindow: function (params, callback) {\n wq.wqload.wqOpenUrl(callback ? callback : null, null, params ? JSON.stringify(params) : null) // eslint-disable-line\n },\n // 关闭当前窗\n closeWindow: function () {\n wq.wqload.wqClosePage() // eslint-disable-line\n },\n // 客户端返回绑定\n addBackPress: function (callback) {\n document.addEventListener('backbutton', callback || this.back, false) // eslint-disable-line\n },\n // 客户端移除返回绑定\n removeBackPress: function (callback) {\n document.removeEventListener('backbutton', callback || this.back, false) // eslint-disable-line\n },\n /**\n * 基础功能:end\n */\n\n /**\n * 定制功能\n */\n platform: 'waiqin',\n config: function () {\n document.addEventListener('deviceready', () => {\n this.addBackPress()\n DB.setSession('bridge_isready', '1')\n })\n },\n /**\n * 支付宝支付\n * @param {Object} params\n * @param {Function} callback\n * @callback(result) {Object} {code: \"0\", message: \"支付成功\"}|{code: \"-1\", message: \"支付失败\"}|{code: \"-1\", message: \"数据解析异常\"}\n */\n alipay: function (params, callback) {\n wq.wqpay.alipay((result) => { // eslint-disable-line\n if (callback) callback(result)\n }, null, params ? JSON.stringify(params) : null)\n },\n /**\n * 商联支付\n * @param {Object} params {appKey:'', dealerCode:'', orderId:'', payAmount:''}\n * @param {Function} callback 回调\n */\n slopenpay: function (params, callback) {\n wq.wqpay.slopenpay((result) => { // eslint-disable-line\n if (callback) callback(result)\n }, null, params ? JSON.stringify(params) : null)\n },\n /**\n * 大华捷通支付\n * @param {Object} params {payChannel:'UPPay 云闪付 WXPay微信支付 AliPay 支付宝支付', payData:'服务端获取'}\n * @param {Function} callback 回调\n */\n qmfpay: function (params, callback) {\n wq.wqpay.qmfpay((result) => { // eslint-disable-line\n if (callback) callback(result)\n }, null, params ? JSON.stringify(params) : null)\n },\n /*\n * 获取APP信息\n * params: {operation: 'AllInfo'}\n * */\n getApp: function (callback, params = {operation: 'AllInfo'}) {\n wq.wqapp.getApp((result) => { // eslint-disable-line\n if (callback) callback(result)\n }, null, JSON.stringify(params))\n },\n /* -----------------------------------------------------\n 文件操作\n ----------------------------------------------------- */\n /* // 文件是否存在\n isExistsFile({\n fileName: 'ss.txt',\n size: 200\n },(result) => { // result => {isExists: '', filePath: '', fileName: ''},isExists:'0'不存在,'1'存在\n \n })\n */\n isExistsFile: function (params, callback) {\n wq.wqio.verifyFileHasExist((result) => { // eslint-disable-line\n if (callback) callback(result)\n }, params ? JSON.stringify(params) : null)\n },\n /* // 附件下载\n downloadFile({\n id: '',\n fileName: src.substring(src.lastIndexOf('/') + 1, src.length), // 必填\n downloadUrl: \"http://...\", // 必填\n size: 200 // 必填\n },(result) => { // result => {{flag:'', filePath: '', msg: ''}, flag:'0'失败,'1'成功,msg失败原因\n \n }) */\n downloadFile: function (params, callback) {\n wq.wqio.downloadFile((result) => { // eslint-disable-line\n if (callback) callback(result)\n }, params ? JSON.stringify(params) : null)\n },\n /* // 附件打开\n openFile({\n filePath: ''\n },(result) => { // result => {flag:'', msg:''} flag:'0'失败, '1'成功, msg失败原因\n \n }) */\n openFile: function (params, callback) {\n wq.wqio.openFile((result) => { // eslint-disable-line\n if (callback) callback(result)\n }, params ? JSON.stringify(params) : null)\n },\n /* // 附件转为base64\n wqUrlToBase64({\n path: ['', ''],\n destroy: '1' // '0'转完后删除, '1'转完后不删除\n }, (result) => { // result => [{path:'', name:'', src:'base64'}]\n \n }) */\n wqUrlToBase64: function (params, callback) {\n wq.wqphoto.wqUrlToBase64((result) => { // eslint-disable-line\n if (callback) callback(result)\n }, params ? JSON.stringify(params) : null);\n },\n /* -----------------------------------------------------\n 视频播放\n @params {src: '视频地址', title: '标题'}\n ----------------------------------------------------- */\n previewVideo: function (params = {}) {\n if (Device.platformVersion < '6.2.2') {\n Bridge.showToast('视频播放功能需要升级至6.2.2及以上的客户端', {mask: false})\n return\n }\n wq.wqload.wqOpenCustomerPager(JSON.stringify({ // eslint-disable-line\n IOSViewController: 'JNCVideoPlayerVC',\n androidUIR: 'com.waiqin365.lightapp.jiannanchun.VideoPlayActivity',\n androidParma: {\n videoUrl: params.src,\n title: params.title || '视频播放'\n },\n IOSParma: {\n videoUrl: params.src,\n title: params.title || '视频播放'\n }\n }))\n },\n /* -----------------------------------------------------\n 视频录制\n @params {id: '宴会id'}\n @return {result: '1', ID: '宴会id', secs: '毫秒'}\n ----------------------------------------------------- */\n videoRecord: function (params = {}) {\n if (Device.platformVersion < '6.2.2') {\n Bridge.showToast(window._seeds_lang['hint_video_record_version'] || '视频录制功能需要升级至6.2.2及以上的客户端', {mask: false})\n return\n }\n wq.wqjnc.videoRecord((res) => { // eslint-disable-line\n if (res.result === '1'){\n if (params.success) params.success(res)\n } else {\n if (params.fail) params.fail({errMsg: 'videoRecord:录制失败'})\n else Bridge.showToast(window._seeds_lang['hint_video_record_version'] || '录制失败', {mask: false})\n }\n }, JSON.stringify(params))\n },\n /* -----------------------------------------------------\n 视频上传\n @params {id: '宴会id'}\n @return {result: '1', ID: '宴会id', secs: '毫秒', vid: ''}\n ----------------------------------------------------- */\n videoUpload: function (params = {}) {\n if (Device.platformVersion < '6.2.2') {\n Bridge.showToast(window._seeds_lang['hint_video_upload_version'] || '视频上传功能需要升级至6.2.2及以上的客户端', {mask: false})\n return\n }\n wq.wqjnc.videoUpload((res) => { // eslint-disable-line\n if (res.result === '1'){\n if (params.success) params.success(res)\n } else {\n if (params.fail) params.fail({errMsg: 'videoUpload:上传失败'})\n else Bridge.showToast(window._seeds_lang['hint_video_upload_failed'] || '上传失败', {mask: false})\n }\n }, JSON.stringify(params))\n },\n /* -----------------------------------------------------\n 视频是否已经录制过了\n @params {id: '宴会id'}\n @return {result: '1', ID: '宴会id', secs: '毫秒', vid: '仅在hasUpload=1的情况下返回', hasVideo: '0|1', hasUpload: '0|1}\n ----------------------------------------------------- */\n videoInfo: function (params = {}) {\n if (Device.platformVersion < '6.2.2') {\n Bridge.showToast(window._seeds_lang['hint_video_info_version'] || '视频功能需要升级至6.2.2及以上的客户端', {mask: false})\n return\n }\n wq.wqjnc.videoInfo((res) => { // eslint-disable-line\n if (res.result === '1') {\n if (params.success) params.success(res)\n } else {\n if (params.fail) params.fail({errMsg: `videoInfo:${window._seeds_lang['hint_video_info_failed'] || '未查到此视频信息'}`})\n }\n }, JSON.stringify(params))\n },\n /* -----------------------------------------------------\n 扫描二维码并返回结果\n @return {resultStr:''}\n ----------------------------------------------------- */\n scanQRCode: function (params = {}) {\n wq.wqhardware.getQrCode((res) => { // eslint-disable-line\n if (res && res.qrCode) {\n var wqRes = res\n wqRes.resultStr = res.qrCode\n if (params && params.success) params.success(wqRes)\n } else {\n if (params.fail) params.fail({errMsg: `scanQRCode:${window._seeds_lang['hint_scan_failed'] || '扫码失败'}, ${window._seeds_lang['hint_try_again_later'] || '请稍后重试'}`})\n else Bridge.showToast(`scanQRCode:${window._seeds_lang['hint_scan_failed'] || '扫码失败'}, ${window._seeds_lang['hint_try_again_later'] || '请稍后重试'}`, {mask: false})\n }\n })\n },\n /**\n * 获取当前地理位置\n * @param {Object} params\n * params: {\n * type {String}: 'wgs84'|'gcj02'坐标类型微信默认使用国际坐标'wgs84',\n * cache {Number}: 默认60秒缓存防重复定位\n * }\n * @returns {Object} {latitude: '纬度', longitude: '经度', speed:'速度', accuracy:'位置精度'}\n */\n /* -----------------------------------------------------\n 获取当前地理位置 转为与微信的api一致, 原api如下:\n 外勤365默认使用国测局'gcj02'定位,没有参数控制\n @return {\n \"city\": \"南京市\",\n \"citycode\": \"0\",\n \"district\": \"秦淮区\",\n \"wqAddress\": \"江苏省南京市\",\n \"street\": \"应天大街388号\",\n \"loctime\": \"2015-09-22 17:31:25\",\n \"province\": \"江苏省\",\n \"wqLongitude\": 118.787027,\n \"wqLatitude\": 32.007889,\n \"radius\": 40.25990676879883,\n \"mokelocation\": false\n }\n ----------------------------------------------------- */\n getLocation: function (params = {}) {\n // 先从cookie中读取位置信息\n var appLocation = DB.getCookie('app_location')\n if (appLocation === 'undefined') {\n DB.removeCookie('app_location')\n appLocation = ''\n }\n try {\n if (appLocation) appLocation = JSON.parse(appLocation)\n } catch (error) {\n appLocation = ''\n }\n if (appLocation) {\n if (params.success) params.success(appLocation)\n return\n }\n\n // 调用定位\n if (this.locating) return\n this.locating = true\n console.log('调用定位...')\n // 调用定位\n wq.wqlocation.getLocationBackground((res) => { // eslint-disable-line\n this.locating = false\n if (res && res.wqLatitude) {\n // 格式化为标准的返回信息\n var location = {\n latitude: res.wqLatitude,\n longitude: res.wqLongitude,\n speed: null,\n accuracy: res.radius,\n address: res.wqAddress,\n country: '中国',\n province: res.province,\n city: res.city,\n area: res.district,\n street: res.street\n }\n // 将位置信息存储到cookie中60秒\n if (params.cache) DB.setCookie('app_location', JSON.stringify(location) , params.cache || 60)\n if (params.success) params.success(location)\n } else {\n if (params.fail) params.fail({errMsg: `getLocation: ${window._seeds_lang['hint_location_failed'] || '定位失败,请检查定位权限是否开启'}`})\n else Bridge.showToast(window._seeds_lang['hint_location_failed'] || '定位失败, 请检查定位权限是否开启', {mask: false})\n }\n }, JSON.stringify({locationType: '1'})) // \"0\"双定位百度优先,\"1\"双定位高德优先,\"2\"单百度定位,\"3\"单高德定位\n },\n /* -----------------------------------------------------\n 获取当前地理位置带地图 转为与微信的api一致, 原api如下:\n 外勤365默认使用国测局'gcj02'定位, 没有参数控制\n @params {editable: '是否可以标记位置, 1可标记', latlng: '经纬度,只在editable为0时生效', title: '标题, 可不传'}\n @return {\n \"city\": \"南京市\",\n \"citycode\": \"0\",\n \"district\": \"秦淮区\",\n \"wqAddress\": \"江苏省南京市\",\n \"street\": \"应天大街388号\",\n \"loctime\": \"2015-09-22 17:31:25\",\n \"province\": \"江苏省\",\n \"wqLongitude\": 118.787027,\n \"wqLatitude\": 32.007889,\n \"radius\": 40.25990676879883,\n \"mokelocation\": false,\n \"poiname\":\"\"\n }\n ----------------------------------------------------- */\n getLocationMap: function (params = {}) {\n wq.wqlocation.getLocationMap((res) => { // eslint-disable-line\n if (res && res.wqLatitude) {\n // 格式化为标准的返回信息\n var location = {\n latitude: res.wqLatitude,\n longitude: res.wqLongitude,\n speed: null,\n accuracy: res.radius,\n address: res.poiname || res.wqAddress,\n country: '中国',\n province: res.province,\n city: res.city,\n area: res.district,\n street: res.street,\n locationLie: res.mokelocation\n }\n if (params.success) params.success(location)\n } else {\n if (params.fail) params.fail({errMsg: `getLocationMap:${window._seeds_lang['hint_location_map_failed'] || '定位失败, 请检查外勤365定位权限是否开启'}`})\n else Bridge.showToast(window._seeds_lang['hint_location_map_failed'] || '定位失败, 请检查外勤365定位权限是否开启', {mask: false})\n }\n }, JSON.stringify(Object.assign({editable: '1'}, params))) // \"0\"双定位百度优先,\"1\"双定位高德优先,\"2\"单百度定位,\"3\"单高德定位\n },\n /* -----------------------------------------------------\n 拍照选图: 转为与微信的api一致, 原api如下:\n @params {\n isAI: '1.是 0.不是'\n \"operation\": 1, // 操作:0:拍照;1,相册; 2:拍照/相册。\n \"max\": 2,\n \"pwidth\": 2, // 照片宽度\n \"viewId\": 41236, // 页面控件ID\n \"photoType\": \"考勤\", // 水印: 项目模块\n \"customerName\": \"客户名\", // 水印: 客户名\n \"submitName\": \"提交人\", // 水印: 提交人\n \"cmLocation\": \"门店位置\", // 水印: 用于计算偏差\n \"selectItems\": [ // 水印: 已有图片的路径和id\n {\n \"id\": \"1211aa\",\n \"path\": \"sdcard/\"\n },\n {\n \"id\": \"2145aa\",\n \"path\": \"sdcard//www.baidu.co\"\n }\n ]\n }\n @return [\n {\n \"path\": \"data:image/png;base64,/9j/Q...\",\n \"id\": \"3500\",\n \"name\": \"xxx.jpg\",\n \"src\": \"/storage/emulated/0/iMobii/data/camera/waiqin365@zhangkong8585235895/files/20150909090153661_26873987_ALBUM.jpg\"\n }\n ]\n ----------------------------------------------------- */\n chooseImage: function (argParams) {\n var params = Object.clone(argParams)\n // 格式化sourceType\n var operation = '2'\n if (argParams && argParams.sourceType) {\n if (argParams.sourceType.indexOf('album') >= 0 && argParams.sourceType.indexOf('camera') >= 0) {\n operation = '2'\n } else if (argParams.sourceType.indexOf('album') >= 0) {\n operation = '1'\n } else {\n operation = '0'\n }\n params.operation = operation\n }\n // 格式化sizeType\n var pwidth = null\n if (argParams && argParams.sizeType) {\n if (!isNaN(argParams.sizeType)) {\n pwidth = argParams.sizeType\n } else if (argParams.sizeType.indexOf('compressed') >= 0) {\n pwidth = '750'\n }\n }\n if (pwidth) params.pwidth = pwidth\n // 格式化count\n var max = 5\n if (argParams && argParams.count) {\n max = argParams.count\n params.max = '' + max\n }\n // viewId 临时目录,不能重复\n params.viewId = '' + new Date().getTime()\n if (argParams && argParams.viewId) {\n params.viewId = argParams.viewId;\n }\n // 水印相关: photoType | customerName | submitName | cmLocation | selectItems\n wq.wqphoto.getPhoto((result) => { // eslint-disable-line\n if (argParams && argParams.success) {\n // 格式化返回结果\n var res = {\n sourceType: operation === '0' ? 'camera' : 'album',\n errMsg: 'chooseImage:ok',\n results: result,\n localIds: []\n }\n // 格式化返回结果[{src:地址, path: base64: name: 文件名}] 为 imgMap{path: {serverId: '', sourceType: ''} }\n var imgMap = {}\n for (var i = 0, item; item = result[i++];) { // eslint-disable-line\n imgMap[item.name] = {\n serverId: '',\n name: item.name,\n sourceType: res.sourceType,\n base64: item.path,\n src: item.src\n }\n res.localIds.push(item.name)\n }\n argParams.success(res, imgMap)\n }\n }, null, JSON.stringify(params))\n },\n /* -----------------------------------------------------\n 上传图片\n @params {dir:'上传路径',localIds:['图片集合'], tenantId: '企业Id', isAI: '1.是 0.不是'}\n @return 无\n ----------------------------------------------------- */\n uploadImage: function (params = {}) {\n if (!params.dir) {\n Bridge.showToast(window._seeds_lang['hint_upload_image_must_dir'] || '没有上传目录', {mask: false})\n return;\n }\n if (!params.localIds || Object.isEmptyObject(params.localIds)) {\n Bridge.showToast(window._seeds_lang['hint_upload_image_must_localIds'] || '没有上传图片地址', {mask: false})\n return;\n }\n // 格式化params\n var uploadParams = {\n filePathList: params.localIds.map((item) => {\n if (params.isAI) {\n return {\n isAI: params.isAI,\n path: item\n }\n }\n return {path: item}\n }),\n url: params.dir\n }\n if (params.tenantId) uploadParams.tenantId = params.tenantId\n wq.wqphoto.startUpload(JSON.stringify(uploadParams)) // eslint-disable-line\n },\n /**\n * 图片预览\n * @param {Object} params\n * {\n * urls:[],\n * current:'当前显示图片地址',\n * index:'当前显示图片索引'\n * }\n */\n previewImage: function (argParams) {\n if (!argParams.urls || !argParams.urls.length) {\n Bridge.showToast(window._seeds_lang['hint_preview_image_must_urls'] || '没有预览图片地址', {mask: false})\n return\n }\n // 格式化index\n var position = 0\n if (argParams && argParams.index) position = argParams.index\n // 格式化urls\n var photos = []\n if (argParams && argParams.urls && argParams.urls.length) {\n photos = argParams.urls.map((item) => {\n return {\n path: item\n }\n })\n }\n var params = {\n position: position,\n photos: photos\n }\n wq.wqphoto.photoPreview(JSON.stringify(params)) // eslint-disable-line\n },\n /* -----------------------------------------------------\n 人员插件\n @params {success: fn}\n ----------------------------------------------------- */\n getContactMore: function (params = {}) { // {selectedIds: 'id,id', aclType: '0只能看到下属 不传或者其他的参数为全部人员,默认为空', success([{id: '', name: ''}])}\n wq.wqcontact.getContactMore(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(params))\n },\n getContact: function (params = {}) {\n wq.wqcontact.getContact((args) => { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(params))\n },\n /* -----------------------------------------------------\n 客户插件\n dms_type说明,DMS需要的客户选择接口类型:\n 【1】当前用户所属的经销商的下级终端+直属下级经销商(经销商:销售订单、发货单确认、回单确认) ;\n 【2】自己是客户经理的经销商(业代:经销商库存盘点、经销商库存查询);\n 【3】自己是客户经理(或者客户经理是自己下属),如果tradeType=3,结果为没有经销商的终端,否则结果为没有上级经销商的经销商(业代:采购订单(又称直营订单)选客户)\n 【4】自己是客户经理,且是“终端或有上级的经销商”(业代:销售订单(又称分销订单)选客户);\n 【5】根据dms_type=4选择的客户筛选经销商,需要传dms_cm_id、dms_trade_type参数,如果客户是终端,则选择终端所属的经销商,\n 如果客户是经销商,则选择上级经销商((业代:销售订单(又称分销订单)选供货商))。\n 【6】获取当前人所属的经销商的上级经销商\n ----------------------------------------------------- */\n getCustomerMore: function (params = {}) { // {isonline: '1.在线0.离线', selectedIds: 'id,id', tradeType: '1客户 2经销商 3门店,默认1', superTradeType: '2经销商,指门店上级经销商默认无', hiddenAdd: '隐藏添加按钮,默认false', dms_type: 'dms类型', success([{id: '', name: ''}])}\n wq.wqcustomer.getCustomerMore(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(Object.assign({hiddenAdd: true}, params)));\n },\n getCustomer: function (params = {}) {\n wq.wqcustomer.getCustomer(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(Object.assign({hiddenAdd: true}, params)))\n },\n getCustomerType: function (params = {}) { // {id: 'id', name: 'name', success({id: '', name: ''})}\n wq.wqcustomer.getCustomerType(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(params))\n },\n getCustomerAreaMore: function (params = {}) { // {selectedIds: 'id,id', success([{id: '', name: ''}])}\n if (Device.platformVersion < '6.2.2') {\n Bridge.showToast(window._seeds_lang['hint_get_customer_area_more_version'] || '此功能需要升级至6.2.2及以上的客户端', {mask: false})\n return\n }\n wq.wqcustomer.getCustomerAreaMore(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(params))\n },\n getCustomerArea: function (params = {}) {\n wq.wqcustomer.getCustomerArea(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(params))\n },\n /* -----------------------------------------------------\n 部门插件\n @params: {selectedIds: '',success: fn}\n ----------------------------------------------------- */\n getDepartmentMore: function (params = {}) { // {selectedIds: 'id,id', success([{id: '', name: ''}])}\n wq.wqdepartment.getDepartmentMore(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(params));\n },\n getDepartment: function (params = {}) {\n wq.wqdepartment.getDepartment(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(params))\n },\n /* -----------------------------------------------------\n 单选商品\n @return {\n id: '5343180131602024954',\n name: '商品1',\n propvalues: '', // 商品属性不带排序号\n nameSpec: '', // 规格名称\n productRemarks: '', // 备注\n props: '', // 商品属性介绍\n propDetail: '', // 商品属性详情\n reportUnitName: '', // 报表单位名称\n reportUnitID: '', // 报表单位ID\n reportUnitRatio: '', // 报表单位比率\n }\n ----------------------------------------------------- */\n getGoods: function (params = {}) {\n wq.wqproduct.wqSelectSingleProduct(function (args) { // eslint-disable-line\n if (params.success) params.success(args)\n }, JSON.stringify(params));\n },\n /* -----------------------------------------------------\n 打开原生窗口\n @params {ios: {url: '', params: {}}, android: {url: '', params: {}}}默认为打开一个webview页面\n ----------------------------------------------------- */\n openNativePage: function (params = {ios: {}, android: {}}) {\n if (!params.ios.url) {\n Bridge.showToast(window._seeds_lang['hint_open_native_page_must_ios_url'] || 'ios参数url不能为空', {mask: false})\n return\n }\n if (!params.android.url) {\n Bridge.showToast(window._seeds_lang['hint_open_native_page_must_android_url'] || 'android参数url不能为空', {mask: false})\n return\n }\n window.wq.wqload.wqOpenCustomerPager({\n androidUIR: params.android.url,\n androidParma: params.android.params,\n IOSViewController: params.ios.url,\n IOSParma: params.ios.params\n })\n },\n /* 封装图片控件,使用示例见ImgUploader组件\n bridge.Image({\n onChooseSuccess: function (imgMap) {},\n })\n */\n Image: function (params = {}) {\n var s = this\n var msg = ''\n // 选择照片\n s.choose = function (args) {\n var option = {\n enableSafe: args.enableSafe || false, // 安全上传,第次只能传一张\n max: args.max || 5,\n currentCount: args.currentCount || 0,\n sourceType: args.sourceType || ['album', 'camera'],\n sizeType: args.sizeType || ['original', 'compressed'],\n chooseOptions: args.chooseOptions || {}\n }\n /* watermark: {\n photoType: 'xx', // 水印名称\n customerName: 'xx', // 客户名\n } */\n var count = option.max - option.currentCount\n if (count <= 0) {\n msg = (window._seeds_lang['hint_max_upload'] || '最多只能传') + option.max + (window._seeds_lang['photos'] || '张照片')\n Bridge.showToast(msg)\n return\n }\n // 如果设置了安全上传,则每次只允许上传一张\n if (option.enableSafe) count = 1\n Bridge.chooseImage(Object.assign({\n count: count, // 默认5\n sizeType: option.sizeType, // 可以指定是原图还是压缩图,默认二者都有\n sourceType: option.sourceType, // 可以指定来源是相册还是相机,默认二者都有camera|album\n success: function (res, imgMap) {\n if(params.onChooseSuccess) params.onChooseSuccess(imgMap, res)\n }\n }, option.chooseOptions))\n }\n }\n}\n\nexport default Bridge\n","import Device from './../Device'\nimport BridgeBrowser from './bridgeBrowser'\nimport BridgeWeixin from './bridgeWeixin'\nimport BridgeDinghuo from './bridgeDinghuo'\nimport BridgeWaiqin from './bridgeWaiqin'\n\n\nvar Bridge = {}\nif (Device.platform === 'weixin') {\n Bridge = BridgeWeixin\n} else if (Device.platform === 'weixinwork') {\n Bridge = BridgeWeixin\n} else if (Device.platform === 'dinghuo') {\n Bridge = BridgeDinghuo\n Bridge.config()\n} else if (Device.platform === 'waiqin') {\n Bridge = BridgeWaiqin\n Bridge.config()\n} else {\n Bridge = BridgeBrowser\n}\n\nexport default Bridge","import Bridge from './Bridge.js';\n\nexport default Bridge;\n","import Button from './Button.js';\n\nexport default Button;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Button extends Component {\n static propTypes = {\n args: PropTypes.any,\n style: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n\n children: PropTypes.node,\n }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n onClick = (e) => {\n if (this.props.onClick) this.props.onClick(Object.getArgs(e, this.props.args));\n }\n render() {\n const {\n args,\n className, style, disabled,\n children,\n onClick,\n ...others\n } = this.props;\n return (\n <a ref={el => {this.$el = el;}} className={'button' + (className ? ' ' + className : '')} disabled={disabled} style={style} onClick={this.onClick} {...others}>\n {children}\n </a>\n );\n }\n}\n","// Calendar 日历 (require PrototypeDate.js)\nvar Calendar = function (container, params) {\n if (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n viewType: 'month', // 值为month|week\n disableBeforeDate: null, // 禁用之前的日期\n disableAfterDate: null, // 禁用之后的日期\n defaultDate: null, // 默认选中的日期\n threshold: '50',\n duration: '300',\n dateHeight: '40',\n verticalDrag: true, // 是否允许垂直拖动\n\n titleFormat: 'YYYY-MM-DD', // 格式化标题, YYYY-MM-DD 第Q季 第WW周 周EE\n showTitleWeek: false, // 是否显示周数\n showTitleDay: false, // 是否显示周几\n // DOM\n calendarClass: 'calendar',\n disableClass: 'calendar-disabled',\n\n headerClass: 'calendar-header',\n titleClass: 'calendar-title',\n prevClass: 'calendar-prev',\n nextClass: 'calendar-next',\n prevHTML: '&lt',\n nextHTML: '&gt',\n\n weekContainerClass: 'calendar-day-box',\n weekClass: 'calendar-day',\n\n wrapperClass: 'calendar-wrapper',\n wrapperXClass: 'calendar-wrapper-x',\n wrapperYClass: 'calendar-wrapper-y',\n monthClass: 'calendar-month',\n monthRowClass: 'calendar-monthrow',\n dateClass: 'calendar-date',\n dateNumClass: 'calendar-datenum',\n\n // 状态\n currentClass: 'calendar-current',\n notcurrentClass: 'calendar-notcurrent',\n todayClass: 'calendar-today',\n activeClass: 'calendar-active',\n selectedClass: 'calendar-selected'\n\n /*\n Callbacks:\n onClick:function(Calendar)\n onChange:function(Calendar)\n onHeightChange:function(Calendar)// 高度变化\n onTransitionEnd:function(Calendar)// 动画结束\n onHorizontalTransitionEnd:function(Calendar)// 横滑动画结束\n onVerticalTransitionEnd:function(Calendar)// 竖滑动画结束\n onError:function(msg) // 错误回调\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n s.params.wrapperHeight = s.params.dateHeight * 6\n // 禁止修改默认值\n Object.defineProperty(s.params, 'defaultDate', {\n enumerable: true,\n configurable: true,\n writable: false\n })\n\n // 今天\n s.today = new Date()\n // 激活天\n s.activeDate = new Date(s.params.defaultDate || null)\n // 选中天\n s.selectedDate = new Date(s.params.defaultDate || null)\n // Container\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n if (!s.container) {\n console.log('SeedsUI Error:未找到Calendar的DOM对象,请检查传入参数是否正确')\n return\n }\n s.container.width = s.container.clientWidth\n if (!s.container.width) s.container.width = window.innerWidth || document.documentElement.clientWidth\n // Header\n s.header = null\n s.title = null\n s.prev = null\n s.next = null\n // Week\n s.weekContainer = null\n s.weeks = []\n // Wrapper\n s.wrapper = null\n s.wrapperX = null\n s.wrapperY = null\n s.months = new Array(3)\n s.dates = []\n // Touch信息\n s.touches = {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n endX: 0,\n endY: 0,\n diffX: 0,\n diffY: 0,\n posX: 0,\n posY: 0,\n maxPosY: s.params.wrapperHeight - s.params.dateHeight,\n h: s.params.wrapperHeight,\n direction: 0,\n horizontal: 0,\n vertical: 0\n }\n // Header\n s.createHeader = function () {\n var header = document.createElement('div')\n header.setAttribute('class', s.params.headerClass)\n return header\n }\n s.createPrev = function () {\n var prev = document.createElement('div')\n prev.setAttribute('class', s.params.prevClass)\n prev.innerHTML = s.params.prevHTML\n return prev\n }\n s.createNext = function () {\n var next = document.createElement('div')\n next.setAttribute('class', s.params.nextClass)\n next.innerHTML = s.params.nextHTML\n return next\n }\n s.createTitle = function () {\n var title = document.createElement('div')\n title.setAttribute('class', s.params.titleClass)\n return title\n }\n // WeekContainer\n s.createWeekContainer = function () {\n var weekContainer = document.createElement('div')\n weekContainer.setAttribute('class', s.params.weekContainerClass)\n\n var weekNames = ['日', '一', '二', '三', '四', '五', '六']\n /* eslint-disable */\n for (var i = 0, weekName; weekName = weekNames[i++];) {\n var week = document.createElement('div')\n week.setAttribute('class', s.params.weekClass)\n week.innerHTML = weekName\n weekContainer.appendChild(week)\n s.weeks.push(week)\n }\n /* eslint-enable */\n\n return weekContainer\n }\n // Wrapper\n s.createWrapper = function () {\n var wrapper = document.createElement('div')\n wrapper.setAttribute('class', s.params.wrapperClass)\n return wrapper\n }\n s.createWrapperY = function () {\n var wrapperY = document.createElement('div')\n wrapperY.setAttribute('class', s.params.wrapperYClass)\n return wrapperY\n }\n s.createWrapperX = function () {\n var wrapperX = document.createElement('div')\n wrapperX.setAttribute('class', s.params.wrapperXClass)\n wrapperX.width = s.container.width * 3\n wrapperX.style.width = s.container.width * 3 + 'px'\n /*\n wrapperX.width=s.container.width*3\n wrapperX.style.width=wrapperX.width+'px'\n */\n for (var i = 0; i < 3; i++) {\n s.months[i] = document.createElement('div')\n s.months[i].setAttribute('class', s.params.monthClass)\n s.months[i].style.width = s.container.width + 'px'\n wrapperX.appendChild(s.months[i])\n }\n return wrapperX\n }\n s.createDates = function () {\n for (var i = 0; i < 3; i++) { // 注入到月\n for (var j = 0; j < 6; j++) { // 注入行\n var monthRow = document.createElement('div')\n monthRow.setAttribute('class', s.params.monthRowClass)\n\n for (var k = 0; k < 7; k++) { // 注入到星期\n var elDate = document.createElement('div')\n elDate.setAttribute('class', s.params.dateClass)\n elDate.style.height = s.params.dateHeight + 'px'\n elDate.style.lineHeight = s.params.dateHeight + 'px'\n var elDateNum = document.createElement('div')\n elDateNum.setAttribute('class', s.params.dateNumClass)\n\n elDate.appendChild(elDateNum)\n monthRow.appendChild(elDate)\n\n s.dates.push(elDateNum)\n }\n s.months[i].appendChild(monthRow)\n }\n }\n }\n // 创建DOM\n s.create = function () {\n // 创建头部\n if (s.container.querySelector('.' + s.params.headerClass)) {\n s.header = s.container.querySelector('.' + s.params.headerClass)\n s.prev = s.container.querySelector('.' + s.params.prevClass)\n s.next = s.container.querySelector('.' + s.params.nextClass)\n s.title = s.container.querySelector('.' + s.params.titleClass)\n } else {\n s.header = s.createHeader()\n s.prev = s.createPrev()\n s.next = s.createNext()\n s.title = s.createTitle()\n\n s.header.appendChild(s.prev)\n s.header.appendChild(s.title)\n s.header.appendChild(s.next)\n s.container.appendChild(s.header)\n }\n // 创建周\n if (s.container.querySelector('.' + s.params.weekContainerClass)) {\n s.weekContainer = s.container.querySelector('.' + s.params.weekContainerClass)\n } else {\n s.weekContainer = s.createWeekContainer()\n\n s.container.appendChild(s.weekContainer)\n }\n // 创建主体\n s.wrapper = s.createWrapper()\n s.wrapperX = s.createWrapperX()\n s.wrapperY = s.createWrapperY()\n s.wrapperY.appendChild(s.wrapperX)\n s.wrapper.appendChild(s.wrapperY)\n s.container.appendChild(s.wrapper)\n s.createDates()\n }\n s.create()\n /* --------------------\n Method\n -------------------- */\n // 容器操作类\n s.addDuration = function () {\n s.wrapper.style.webkitTransitionDuration = s.params.duration + 'ms'\n s.wrapperY.style.webkitTransitionDuration = s.params.duration + 'ms'\n s.wrapperX.style.webkitTransitionDuration = s.params.duration + 'ms'\n }\n s.removeDuration = function () {\n s.wrapper.style.webkitTransitionDuration = '0ms'\n s.wrapperY.style.webkitTransitionDuration = '0ms'\n s.wrapperX.style.webkitTransitionDuration = '0ms'\n }\n s.updateTranslateX = function () {\n s.removeDuration()\n s.touches.posX = -s.container.width\n s.wrapperX.style.webkitTransform = 'translateX(' + s.touches.posX + 'px)'\n }\n s.updateContainerHeight = function () { // 更新高度\n if (s.params.viewType === 'month') { // 展开\n s.touches.h = s.params.wrapperHeight\n } else if (s.params.viewType === 'week') { // 收缩\n s.touches.h = s.params.dateHeight\n }\n s.wrapper.style.height = s.touches.h + 'px'\n s.wrapperY.style.webkitTransform = 'translateY(-' + s.touches.posY + 'px)'\n }\n s.updateContainerWidth = function () { // 更新宽度\n s.container.width = s.container.clientWidth\n s.wrapperX.width = s.container.width * 3 + 'px'\n /*\n s.wrapperX.width=s.container.width*3\n s.wrapperX.style.width=s.wrapperX.width.width+'px'\n */\n for (var i = 0; i < 3; i++) {\n s.months[i].style.width = s.container.width + 'px'\n }\n }\n s.updateContainerSize = function () {\n s.updateContainerHeight()\n s.updateContainerWidth()\n s.updateTranslateX()\n }\n s.updateClasses = function () {\n // 更新容器尺寸\n s.updateContainerHeight()\n // 位置还原\n s.updateTranslateX()\n }\n s.updateClasses()\n // 左右滑动\n s.slideXTo = function (index) {\n s.touches.posX = -s.container.width * index\n s.addDuration()\n s.wrapperX.style.webkitTransform = 'translateX(' + s.touches.posX + 'px)'\n // 刷新数据\n if (index === 0) { // 上一页\n if (s.params.viewType === 'month') {\n s.activeDate.prevMonth()\n } else if (s.params.viewType === 'week') {\n s.wrapperY.style.webkitTransitionDuration = '0ms'\n s.activeDate.prevWeek()\n }\n } else if (index === 2) { // 下一页\n if (s.params.viewType === 'month') {\n s.activeDate.nextMonth()\n } else if (s.params.viewType === 'week') {\n s.wrapperY.style.webkitTransitionDuration = '0ms'\n s.activeDate.nextWeek()\n }\n }\n /*\n // 滑动到禁用\n if((s.params.disableBeforeDate && s.activeDate < s.params.disableBeforeDate)||(s.params.disableAfterDate && s.activeDate > s.params.disableAfterDate)){\n return\n }\n */\n s.draw()\n }\n // 上下滑动\n s.dragY = function (heightY) {\n s.wrapper.style.height = heightY + 'px'\n var translateY = s.params.wrapperHeight - heightY\n if (translateY <= s.touches.maxPosY) {\n s.wrapperY.style.webkitTransform = 'translateY(-' + translateY + 'px)'\n }\n }\n s.slideYTo = function (index) {\n s.addDuration()\n if (index === 1) { // 展开\n s.params.viewType = 'month'\n s.touches.posY = 0\n s.draw(1)\n } else if (index === -1) { // 收缩\n s.params.viewType = 'week'\n s.touches.posY = s.touches.maxPosY\n s.draw(-1)\n } else {\n s.dragY(s.touches.h)\n }\n }\n // 绘制日历\n var today = new Date()\n s.isToday = function (date) {\n if (date.getDate() === today.getDate() && date.getMonth() === today.getMonth() && date.getFullYear() === today.getFullYear()) return true\n return false\n }\n s.data = []\n s.updateData = function () {\n s.data = s.activeDate.getCalendarData()\n var activeRowIndex = s.data.activeRowIndex\n if (s.params.viewType === 'week') {\n s.touches.maxPosY = activeRowIndex * s.params.dateHeight\n s.touches.posY = s.touches.maxPosY\n var prevWeek = s.activeDate.getPrevWeekData()\n var nextWeek = s.activeDate.getNextWeekData()\n var start1 = activeRowIndex * 7\n var start2 = start1 + 84\n // 修改同行上周\n for (var i = 0, datIndex1 = start1; i < 7; i++) {\n s.data[datIndex1] = prevWeek[i]\n datIndex1++\n }\n // 修改同行下周\n for (var j = 0, datIndex2 = start2; j < 7; j++) {\n s.data[datIndex2] = nextWeek[j]\n datIndex2++\n }\n }\n }\n s.drawHeader = function () {\n var activeDate = s.activeDate\n var titleFormatStr = s.params.titleFormat\n if (titleFormatStr) {\n s.title.innerHTML = activeDate.format(titleFormatStr)\n } else {\n activeDate.format('YYYY-MM-DD')\n }\n }\n s.draw = function (vertical) { // vertical:上下拖动(-1上 | 1下 | 其它为非上下拖动)\n // 更新选中日期\n s.updateData()\n // 注入身体\n var activeIndex = s.data.activeIndex\n for (var i = 0; i < s.dates.length; i++) {\n s.dates[i].innerHTML = s.data[i].getDate()\n // index\n s.dates[i].index = i\n // class\n s.dates[i].className = s.params.dateNumClass\n // class-currentClass\n if (s.data[i].isCurrent) s.dates[i].classList.add(s.params.currentClass)\n else s.dates[i].classList.add(s.params.notcurrentClass)\n // class-todayClass\n if (s.isToday(s.data[i])) s.dates[i].classList.add(s.params.todayClass)\n // class-activeClass\n if (i === activeIndex && s.activeDate) s.dates[i].classList.add(s.params.activeClass)\n // class-selectedClass\n if (s.data[i].toLocaleDateString() === s.selectedDate.toLocaleDateString()) {\n s.dates[i].classList.add(s.params.selectedClass)\n }\n // 禁用日期\n if (s.params.disableBeforeDate && s.data[i].setHours(0, 0, 0, 0) < s.params.disableBeforeDate.setHours(0, 0, 0, 0)) {\n s.dates[i].classList.add(s.params.disableClass)\n }\n if (s.params.disableAfterDate && s.data[i].setHours(0, 0, 0, 0) > s.params.disableAfterDate.setHours(0, 0, 0, 0)) {\n s.dates[i].classList.add(s.params.disableClass)\n }\n }\n s.updateContainerHeight()\n // 滑动到禁用\n if (s.params.disableBeforeDate && s.activeDate < s.params.disableBeforeDate) {\n var msg = '禁止访问' + s.params.disableBeforeDate.format('YYYY年MM月DD日') + '前的日期'\n console.log('SeedsUI Warn:' + msg)\n if (s.params.onError) s.params.onError(msg)\n s.activeDate.nextMonth()\n s.draw()\n return\n }\n if (s.params.disableAfterDate && s.activeDate > s.params.disableAfterDate) {\n msg = '禁止访问' + s.params.disableAfterDate.format('YYYY年MM月DD日') + '后的日期'\n console.log('SeedsUI Warn:' + msg)\n if (s.params.onError) s.params.onError(msg)\n s.activeDate.prevMonth()\n s.draw()\n return\n }\n // 注入头部\n s.drawHeader()\n if (vertical) {\n s.vertical = vertical\n // Callback onHeightChange\n if (s.params.onHeightChange) s.params.onHeightChange(s)\n } else {\n // Callback onChange\n if (s.params.onChange) s.params.onChange(s)\n }\n }\n s.draw()\n s.setActiveDate = function (target) {\n for (var i = 0; i < s.dates.length; i++) {\n s.dates[i].classList.remove(s.params.activeClass)\n s.dates[i].classList.remove(s.params.selectedClass)\n }\n // 选中日期\n s.activeDate.setTime(s.data[target.index].getTime())\n s.selectedDate.setTime(s.data[target.index].getTime())\n // 重新绘制\n s.draw()\n }\n s.showMonth = function () {\n s.slideYTo(1)\n }\n s.showWeek = function () {\n s.slideYTo(-1)\n }\n s.setToday = function () {\n s.activeDate.setTime(s.today.getTime())\n s.draw()\n }\n s.setDefaultDate = function () {\n if (!s.params.defaultDate) {\n console.log('SeedsUI Warn: 没有设置defaultDate默认时间')\n return\n }\n // 选中日期\n s.activeDate.setTime(s.params.defaultDate.getTime())\n // 重新绘制\n s.draw()\n }\n /* --------------------\n Control\n -------------------- */\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n s.wrapper[action]('touchstart', s.onTouchStart, false)\n s.wrapper[action]('touchmove', s.onTouchMove, false)\n s.wrapper[action]('touchend', s.onTouchEnd, false)\n s.wrapper[action]('touchcancel', s.onTouchEnd, false)\n s.wrapper[action]('webkitTransitionEnd', s.onTransitionEnd, false)\n s.wrapper[action]('click', s.onClick, false)\n\n s.prev[action]('click', s.onClickPrev, false)\n s.next[action]('click', s.onClickNext, false)\n }\n // attach、dettach事件\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n s.preventDefault = function (e) {\n e.preventDefault()\n }\n // Event Handler\n s.onClickPrev = function (e) {\n s.slideXTo(0)\n }\n s.onClickNext = function (e) {\n s.slideXTo(2)\n }\n s.onClick = function (e) {\n s.target = e.target\n // 点击禁用日期\n if (e.target.classList.contains(s.params.disableClass)) return\n // 点击日期\n s.removeDuration()\n if (e.target.classList.contains(s.params.dateNumClass)) {\n s.setActiveDate(e.target)\n }\n // Callback onClick\n if (s.params.onClick) s.params.onClick(s)\n }\n s.onTouchStart = function (e) {\n e.stopPropagation()\n s.container.addEventListener('touchmove', s.preventDefault, false)\n s.touches.startX = e.touches[0].clientX\n s.touches.startY = e.touches[0].clientY\n }\n s.onTouchMove = function (e) {\n e.stopPropagation()\n s.touches.currentX = e.touches[0].clientX\n s.touches.currentY = e.touches[0].clientY\n s.touches.diffX = s.touches.startX - s.touches.currentX\n s.touches.diffY = s.touches.startY - s.touches.currentY\n\n // 设置滑动方向(-1上下 | 1左右)\n if (s.touches.direction === 0) {\n s.touches.direction = Math.abs(s.touches.diffX) > Math.abs(s.touches.diffY) ? 1 : -1\n }\n\n if (s.touches.direction === 1) { // 左右滑动\n var moveX = s.touches.posX - s.touches.diffX\n if (moveX < 0 && Math.abs(moveX) < s.container.width * 2) { // 判断是否是边缘\n s.touches.horizontal = moveX < s.touches.posX ? 1 : -1// 设置方向(左右)\n s.wrapperX.style.webkitTransform = 'translateX(' + moveX + 'px)'\n }\n } else if (s.touches.direction === -1) { // 上下滑动\n if (s.params.verticalDrag === true) { // 允许Y滑动的情况下\n var heightY = s.touches.h - s.touches.diffY\n if (heightY > s.params.dateHeight && heightY < s.params.wrapperHeight) { // 判断是否是边缘\n s.touches.vertical = heightY > s.touches.h ? 1 : -1// 设置方向(上下)\n s.dragY(heightY)\n }\n } else {\n s.container.removeEventListener('touchmove', s.preventDefault, false)\n }\n }\n }\n s.onTouchEnd = function (e) {\n e.stopPropagation()\n if (s.touches.direction === 1) { // 左右滑动\n if (Math.abs(s.touches.diffX) < s.params.threshold) s.touches.horizontal = 0\n if (s.touches.horizontal === 1) s.slideXTo(2) // 下一页\n else if (s.touches.horizontal === -1) s.slideXTo(0)// 上一页\n else s.slideXTo(1)// 还原当前页\n } else if (s.touches.direction === -1) { // 上下滑动\n if (s.params.verticalDrag === true) { // 允许Y滑动的情况下\n if (Math.abs(s.touches.diffY) < s.params.threshold) s.touches.vertical = 0\n if (s.touches.vertical === 1) s.slideYTo(1)// 展开\n else if (s.touches.vertical === -1) s.slideYTo(-1)// 收缩\n else s.slideYTo(0)// 还原当前页\n }\n }\n\n // 清空滑动方向\n s.touches.direction = 0\n s.touches.horizontal = 0\n s.touches.vertical = 0\n }\n s.onTransitionEnd = function (e) {\n s.target = e.target\n // 横向滑动时需要还原位置\n if (s.target.classList.contains(s.params.wrapperXClass)) {\n // 还原位置\n s.updateTranslateX()\n // Callback onHorizontalTransitionEnd\n if (s.params.onHorizontalTransitionEnd) s.params.onHorizontalTransitionEnd(s)\n }\n // 竖向滑动\n if (s.target.classList.contains(s.params.wrapperYClass)) {\n // Callback onVerticalTransitionEnd\n if (s.params.onVerticalTransitionEnd) s.params.onVerticalTransitionEnd(s)\n }\n // Callback onTransitionEnd\n if (s.params.onTransitionEnd) s.params.onTransitionEnd(s)\n }\n /* --------------------\n Init\n -------------------- */\n s.init = function () {\n s.attach()\n }\n s.init()\n}\n\nexport default Calendar\n","import Calendar from './Calendar.js';\n\nexport default Calendar;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class Calendar extends Component {\n static propTypes = {\n type: PropTypes.string, // week|month\n titleFormat: PropTypes.string, // 标题日期格式化 YYYY年MM月DD日 周E 第W周\n disableBeforeDate: PropTypes.object, // 禁用之前日期\n disableAfterDate: PropTypes.object, // 禁用之后日期\n verticalDrag: PropTypes.bool, // 是否允许垂直拖动\n defaultDate: PropTypes.object, // 默认日期\n prevHTML: PropTypes.string, // 左箭头\n nextHTML: PropTypes.string, // 右箭头\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n onError: PropTypes.func\n }\n static defaultProps = {\n type: 'month',\n verticalDrag: true,\n prevHTML: '&lt',\n nextHTML: '&gt',\n }\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n if (this.instance) return\n const {type, titleFormat, disableBeforeDate, disableAfterDate, verticalDrag, defaultDate, prevHTML, nextHTML, onChange, onClick, onError} = this.props;\n var instance = new Instance(this.$el, {\n viewType: type,\n titleFormat: titleFormat,\n\n disableBeforeDate: disableBeforeDate,\n disableAfterDate: disableAfterDate,\n verticalDrag: verticalDrag,\n defaultDate: defaultDate,\n prevHTML: prevHTML,\n nextHTML: nextHTML,\n onChange: onChange,\n onClick: onClick,\n onError: onError\n });\n this.instance = instance;\n }\n render() {\n return (\n <div ref={el => {this.$el = el;}} className=\"calendar\"></div>\n );\n }\n}\n","import Card from './Card.js';\n\nexport default Card;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Card extends Component {\n static propTypes = {\n args: PropTypes.any,\n\n className: PropTypes.string,\n children: PropTypes.node,\n onClick: PropTypes.func\n }\n constructor(props) {\n super(props);\n }\n onClick = (e) => {\n if (this.props.onClick) this.props.onClick(Object.getArgs(e, this.props.args));\n }\n render() {\n const {args, children, className, onClick, ...others} = this.props;\n return (\n <div ref={el => {this.$el = el;}} className={'card' + (className ? ' ' + className : '')} onClick={this.onClick} {...others}>\n {children}\n </div>\n );\n }\n}\n","// Carrousel 滑动控件(require Device.js)\nimport Device from './../Device'\n\nvar Carrousel = function (container, params) {\n function getPureChildren (children, className) {\n var arr = []\n for (var i = 0; i < children.length; i++) {\n if (children[i].classList.contains(className)) arr.push(children[i])\n }\n return arr\n }\n function getElementByParent (parent, selector) {\n return (typeof selector === 'string' && selector !== '') ? parent.querySelector(selector) : selector\n }\n\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n stopPropagation: true, // 是否阻止点击事件的传播, 此属性与FastClick冲突\n pagination: '.carrousel-pagination', // 小点点\n controlPrev: null, // 左箭头\n controlNext: null, // 右箭头\n autoplay: 0, // 设置毫秒数,0为不自动播放\n slidesPerView: 1,\n threshold: '50',\n duration: '300',\n height: null, // 固定高度\n width: null, // 固定宽度\n imglazyQuery: '.carrousel-lazy', // 图片懒加载\n imgLoadAttr: 'data-load-src',\n\n // loop\n loop: false,\n slideDuplicateClass: 'carrousel-slide-duplicate',\n\n // dom class\n pageClass: 'carrousel-page', // 轮播页模式,则不需要算高度\n wrapperClass: 'carrousel-wrapper',\n slideClass: 'carrousel-slide',\n slideActiveClass: 'active',\n bulletClass: 'bullet',\n bulletActiveClass: 'active',\n controlPrevClass: 'carrousel-prev',\n controlNextClass: 'carrousel-next'\n\n /*\n callbacks\n onInit:function(Carrousel)\n onClick:function(Carrousel)\n onSlideChange:function(Carrousel)\n onSlideChangeEnd:function(Carrousel)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // Slider\n var s = this\n\n // Params\n s.params = params\n\n // Container\n s.container = getElementByParent(document, container)\n if (!s.container) {\n console.log('SeedsUI Error:未找到Slider的ID,请检查传入参数是否正确')\n return\n }\n\n // Wrapper\n s.wrapper = s.container.querySelector('.' + s.params.wrapperClass) // [es6]s.wrapper=s.container.querySelector(':scope > .'+s.params.wrapperClass)\n\n // Pagination\n s.pagination = getElementByParent(s.container, s.params.pagination)\n s.bullets = []\n s.updateBullets = function () {\n if (!s.pagination) return\n\n s.bullets = []\n s.pagination.innerHTML = ''\n // s.numberOfBullets = s.params.loop ? s.slides.length - s.params.slidesPerView * 2 : s.slides.length\n for (var i = 0; i < s.slides.length; i++) {\n var bullet = document.createElement('span')\n bullet.setAttribute('class', s.params.bulletClass)\n bullet.setAttribute('data-index', i)\n s.pagination.appendChild(bullet)\n s.bullets.push(bullet)\n }\n }\n // Control左右切换\n s.controlPrev = getElementByParent(s.container, s.params.controlPrev)\n s.controlNext = getElementByParent(s.container, s.params.controlNext)\n // 索引\n s.activeIndexTruth = 0\n s.max = 0\n // Slides\n s.updateSlides = function () {\n s.slides = getPureChildren(s.wrapper.children, s.params.slideClass)// [es6]s.slides=s.wrapper.querySelectorAll(':scope > .'+s.params.slideClass)\n }\n // loop dupSlides\n s.dupSlides = []\n s.createLoop = function () {\n if (!s.params.loop) return\n // 删除循环\n s.destroyLoop()\n var beforeDupSlides = []\n var afterDupSlides = []\n\n if (s.params.slidesPerView > s.slides.length) return\n var i\n var dup\n s.slides.forEach(function (n, i, a) {\n if (i < s.params.slidesPerView) afterDupSlides.push(n.cloneNode(true))\n if (i < s.slides.length && i >= s.slides.length - s.params.slidesPerView) beforeDupSlides.push(n.cloneNode(true))\n })\n for (i = 0; i < afterDupSlides.length; i++) {\n dup = s.wrapper.appendChild(afterDupSlides[i])\n dup.classList.add(s.params.slideDuplicateClass)\n dup.classList.remove(s.params.slideClass)\n }\n for (i = beforeDupSlides.length - 1; i >= 0; i--) {\n dup = s.wrapper.insertBefore(beforeDupSlides[i], s.wrapper.firstElementChild)\n dup.classList.add(s.params.slideDuplicateClass)\n dup.classList.remove(s.params.slideClass)\n }\n s.activeIndexTruth = s.params.slidesPerView\n s.dupSlides = beforeDupSlides.concat(afterDupSlides)\n }\n s.destroyLoop = function () {\n var slideDuplicate = getPureChildren(s.wrapper.children, s.params.slideDuplicateClass)\n // var slideDuplicate=s.wrapper.querySelectorAll(':scope > .'+s.params.slideDuplicateClass)\n /* eslint-disable */\n for (var i = 0, slideDu; slideDu = slideDuplicate[i++];) {\n s.wrapper.removeChild(slideDu)\n }\n /* eslint-enable */\n }\n // Touch信息\n s.touches = {\n direction: 0,\n vertical: 0,\n horizontal: 0,\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n endX: 0,\n endY: 0,\n diffX: 0,\n diffY: 0,\n posX: 0\n }\n /* --------------------\n Update\n -------------------- */\n s.activeIndex = s.activeIndexTruth // 去除duplicate,滑动页索引\n // 根据index更新选中class\n s.updateClasses = function () {\n s.activeIndex = s.activeIndexTruth\n if (s.params.loop) {\n s.activeIndex = s.activeIndexTruth - s.params.slidesPerView\n if (s.max - s.params.slidesPerView === s.activeIndexTruth) { // 正向滑动\n s.activeIndex = 0\n }\n if (s.activeIndex < 0) { // 反向滑动\n s.activeIndex = s.slides.length + s.activeIndex\n }\n }\n var i\n // Slide\n for (i = 0; i < s.slides.length; i++) {\n s.slides[i].classList.remove(s.params.slideActiveClass)\n }\n s.slides[s.activeIndex].classList.add(s.params.slideActiveClass)\n\n // Pagination\n if (!s.pagination) return\n for (i = 0; i < s.bullets.length; i++) {\n s.bullets[i].classList.remove(s.params.bulletActiveClass)\n }\n s.bullets[s.activeIndex].classList.add(s.params.bulletActiveClass)\n }\n s.updateWidth = function () {\n if (s.params.width && !isNaN(s.params.width)) {\n s.width = s.params.width\n } else if (/(\\d+)px/.test(s.params.width)) {\n s.width = /(\\d+)px/.exec(s.params.width)[1]\n } else if (/(\\d+)px/.test(s.container.style.width)) {\n s.width = /(\\d+)px/.exec(s.container.style.width)[1]\n } else {\n s.width = (s.container.clientWidth ? s.container.clientWidth : Device.screenWidth)\n }\n s.container.style.width = s.width + 'px'\n // Slide width\n s.slideWidth = Math.floor(s.width / s.params.slidesPerView)\n\n // Wrapper width\n s.wrapperWidth = s.slideWidth * s.max\n s.wrapper.style.width = s.wrapperWidth + 'px'\n \n // Slide width\n s.slides.forEach(function (n, i, a) {\n n.style.width = s.slideWidth + 'px'\n })\n\n // dupSlide width\n s.dupSlides.forEach(function (n, i, a) {\n n.style.width = s.slideWidth + 'px'\n })\n }\n s.updateHeight = function () {\n if (s.params.height && !isNaN(s.params.height)) {\n s.height = s.params.height\n } else if (/(\\d+)px/.test(s.params.height)) {\n s.height = /(\\d+)px/.exec(s.params.height)[1]\n } else if (/(\\d+)px/.test(s.container.style.height)) {\n s.height = /(\\d+)px/.exec(s.container.style.height)[1]\n } else if (s.container.classList.contains(s.params.pageClass)) { // 如果没有设置高度,且是页面轮播,则高度自适应\n s.height = null\n } else { // 非页面轮播时,则需要计算高度\n s.height = (s.container.clientHeight ? s.container.clientHeight : s.wrapper.clientHeight)\n }\n if (!s.height) return\n // Container height\n s.container.style.height = s.height + 'px'\n // Wrapper height\n s.wrapper.style.height = s.height + 'px'\n // Slide height\n s.slides.forEach(function (n, i, a) {\n n.style.height = s.height + 'px'\n })\n // dupSlide height\n s.dupSlides.forEach(function (n, i, a) {\n n.style.height = s.height + 'px'\n })\n }\n // 更新容器尺寸\n s.updateContainerSize = function () {\n s.max = parseInt(s.slides.length, 10) + parseInt(s.dupSlides.length, 10)\n // Container width\n s.updateWidth()\n\n // Container height\n s.updateHeight()\n\n // 更新active index\n s.updateClasses()\n\n // 如果有循环的话\n if (s.params.loop) {\n moveToIndex(0)\n }\n }\n // 图片懒加载\n var imgs = []\n var cacheImgs = []\n function imgLoad (e) {\n var target = e.target\n var imgTarget = imgs[target.index]\n if (!imgTarget) return\n if (imgTarget.tagName === 'IMG') {\n imgTarget.src = target.src\n } else {\n imgTarget.style.backgroundImage = 'url(' + target.src + ')'\n }\n }\n s.updateLazyImg = function () {\n imgs = this.container.querySelectorAll(s.params.imglazyQuery)\n for (var i = 0; i < imgs.length; i++) {\n var src = imgs[i].getAttribute(s.params.imgLoadAttr)\n cacheImgs[i] = new Image()\n cacheImgs[i].index = i\n cacheImgs[i].src = src\n cacheImgs[i].addEventListener('load', imgLoad, false)\n }\n }\n\n // 更新\n s.update = function () {\n s.updateSlides()\n s.updateBullets()\n s.createLoop()\n s.updateContainerSize()\n if (s.params.imglazyQuery) s.updateLazyImg()\n }\n s.update()\n if (s.slides.length <= 0) {\n return\n }\n /* --------------------\n Touch Events\n -------------------- */\n // 是否支持触摸事件\n s.isSupportTouch = 'ontouchstart' in window\n s.events = function (detach) {\n var touchTarget = s.container\n var action = detach ? 'removeEventListener' : 'addEventListener'\n // touch兼容pc事件\n if (s.isSupportTouch) {\n touchTarget[action]('touchstart', s.onTouchStart, false)\n touchTarget[action]('touchmove', s.onTouchMove, false)\n touchTarget[action]('touchend', s.onTouchEnd, false)\n touchTarget[action]('touchcancel', s.onTouchEnd, false)\n } else {\n touchTarget[action]('click', s.onClick, false)\n }\n }\n // attach、dettach事件\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n /* --------------------\n Touch Handler\n -------------------- */\n function preventDefault (e) {\n e.preventDefault()\n }\n s.onTouchStart = function (e) {\n if (s.params.stopPropagation) e.stopPropagation() // 此属性与FastClick冲突\n s.container.addEventListener('touchmove', preventDefault, false)\n s.touches.startX = e.clientX || e.touches[0].clientX\n s.touches.startY = e.clientY || e.touches[0].clientY\n // 关闭自动播放\n s.stopAutoplay()\n }\n s.onTouchMove = function (e) {\n if (s.params.stopPropagation) e.stopPropagation() // 此属性与FastClick冲突\n s.touches.currentX = e.clientX || e.touches[0].clientX\n s.touches.currentY = e.clientY || e.touches[0].clientY\n s.touches.diffX = s.touches.startX - s.touches.currentX\n s.touches.diffY = s.touches.startY - s.touches.currentY\n // runCallBack\n if (s.params.onSlideChange) s.params.onSlideChange(s)\n\n // 设置滑动方向\n if (s.touches.direction === 0) { // 设置滑动方向(-1上下 | 1左右)\n s.touches.direction = Math.abs(s.touches.diffX) > Math.abs(s.touches.diffY) ? 1 : -1\n }\n if (s.touches.direction === -1) { // 设置垂直方向(-1上 | 1下)\n s.touches.vertical = s.touches.diffY < 0 ? 1 : -1\n }\n if (s.touches.direction === 1) { // 设置左右方向(-1左 | 1右)\n s.touches.horizontal = s.touches.diffX < 0 ? 1 : -1\n }\n\n // 如果是上下滑动则不工作\n if (s.touches.vertical !== 0) {\n s.container.removeEventListener('touchmove', preventDefault, false)\n return\n }\n\n // x轴距离左边的像素,向左为负数,向右为正数\n var moveX = s.touches.posX - s.touches.diffX\n // 判断是否是边缘\n if (moveX > 0 || Number(-moveX) + Number(s.width) >= s.wrapperWidth) {\n return\n }\n s.wrapper.style.webkitTransform = 'translate(' + moveX + 'px,0px)'\n }\n s.onTouchEnd = function (e) {\n if (s.params.stopPropagation) e.stopPropagation() // 此属性与FastClick冲突\n // s.container.removeEventListener('touchmove', preventDefault, false)\n s.touches.endX = e.clientX || e.changedTouches[0].clientX\n s.touches.endY = e.clientY || e.changedTouches[0].clientY\n\n // 单击事件\n if (Math.abs(s.touches.startX - s.touches.endX) < 6 && Math.abs(s.touches.startY - s.touches.endY) < 6) {\n if (s.params.onClick) s.params.onClick(s, e)\n // 滑动事件,左右拉动\n } else if (s.touches.direction === 1) {\n if (s.touches.diffX > s.params.threshold) {\n // 下一页\n s.activeIndexTruth++\n } else if (s.touches.diffX < -s.params.threshold) {\n // 上一页\n s.activeIndexTruth--\n }\n s.slideTo(s.activeIndexTruth)\n }\n\n // 清空滑动方向\n s.touches.direction = 0\n s.touches.vertical = 0\n s.touches.horizontal = 0\n \n // 重新开启自动播放\n s.startAutoplay()\n }\n s.onClick = function (e) {\n e.stopPropagation()\n if (e.target.classList.contains(s.params.bulletClass)) {\n s.onClickBullet(e)\n } else if (e.target.classList.contains(s.params.controlPrevClass)) {\n s.onClickPrev(e)\n } else if (e.target.classList.contains(s.params.controlNextClass)) {\n s.onClickNext(e)\n } else {\n if (s.params.onClick) s.params.onClick(s, e)\n }\n }\n s.onClickBullet = function (e) {\n var index = Number(e.target.getAttribute('data-index')) || 0\n // 如果是循环,需要计算真实的索引\n if (s.params.loop) {\n index += s.params.slidesPerView\n }\n s.slideTo(index)\n }\n s.onClickPrev = function (e) {\n s.slideTo(s.activeIndexTruth - 1)\n }\n s.onClickNext = function (e) {\n s.slideTo(s.activeIndexTruth + 1)\n }\n /* --------------------\n Autoplay\n -------------------- */\n s.startAutoplay = function () {\n if (!s.params.autoplay) return\n s.autoplayer = window.setInterval(function () {\n s.activeIndexTruth++\n if (s.activeIndexTruth >= s.max) {\n s.activeIndexTruth = 0\n }\n s.slideTo(s.activeIndexTruth)\n }, s.params.autoplay)\n }\n\n s.stopAutoplay = function (internal) {\n if (s.autoplayer) {\n window.clearInterval(s.autoplayer)\n }\n }\n\n /* --------------------\n Method\n -------------------- */\n function moveToIndex (speed) {\n s.wrapper.style.webkitTransitionDuration = speed + 'ms'\n s.touches.posX = -s.activeIndexTruth * s.slideWidth\n s.wrapper.style.webkitTransform = 'translate(' + s.touches.posX + 'px,0px)'\n }\n s.slideTo = function (slideIndex, speed, runCallbacks) {\n var duration = isNaN(speed) ? s.params.duration : speed\n if (slideIndex >= 0) {\n s.activeIndexTruth = slideIndex\n }\n // 索引不能小于0\n if (s.activeIndexTruth < 0) {\n s.activeIndexTruth = 0\n }\n // 索引不能大于slide总数\n if (s.activeIndexTruth > s.max - 1) {\n s.activeIndexTruth = s.max - 1\n }\n // 一页多屏,索引不能露出空白区域\n if (s.params.slidesPerView > 1 && s.activeIndexTruth > s.max - params.slidesPerView) {\n s.activeIndexTruth = s.max - s.params.slidesPerView\n }\n\n // 更新class\n s.updateClasses()\n // 移动至index\n moveToIndex(duration)\n // 移动位置并触发回调onSlideChangeEnd\n setTimeout(function () {\n s.wrapper.style.webkitTransitionDuration = '0ms'\n // callback onSlideChangeEnd\n s.target = s.slides[s.activeIndexTruth]\n if (s.params.onSlideChangeEnd && runCallbacks !== false) s.params.onSlideChangeEnd(s)\n // 循环的情况\n if (s.params.loop) {\n if (s.touches.posX === 0) {\n s.activeIndexTruth = s.max - s.params.slidesPerView * 2\n // console.log('最左侧,应跳转到:'+s.activeIndexTruth)\n moveToIndex(0)\n return\n }\n if (Number(-s.touches.posX) + Number(s.width) >= Number(s.wrapperWidth)) {\n s.activeIndexTruth = s.params.slidesPerView\n // console.log('最右侧,应跳转到:'+s.activeIndexTruth)\n moveToIndex(0)\n return\n }\n }\n }, duration)\n }\n // 更改params\n s.setParams = function (params) {\n for (var n in params) {\n s.params[n] = params[n]\n }\n }\n // 主函数\n s.init = function () {\n // s.update()\n s.attach()\n if (s.params.autoplay) s.startAutoplay()\n // runCallBack\n s.target = s.slides[s.activeIndexTruth]\n if (s.params.onInit) s.params.onInit(s)\n }\n // 执行主函数\n s.init()\n // Return slider instance\n return s\n}\n\n/* Carrousel.prototype = (function () {\n return {\n }\n})() */\n\nexport default Carrousel\n","import Carrousel from './Carrousel.js';\n\nexport default Carrousel;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class Carrousel extends Component {\n static propTypes = {\n style: PropTypes.object, // 设置容器Style\n className: PropTypes.string, // 设置容器className\n\n slideParams: PropTypes.object,\n\n pagination: PropTypes.oneOfType([ // 是否显示小点点\n PropTypes.bool,\n PropTypes.node\n ]),\n paginationParams: PropTypes.object,\n\n prevParams: PropTypes.object,\n nextParams: PropTypes.object,\n\n stopPropagation: PropTypes.bool, // 是否阻止点击事件的传播, 设置为false解决与FastClick插件touch事件冲突的问题\n activeIndex: PropTypes.number, // 默认选中第几块\n\n loop: PropTypes.bool, // 是否循环显示\n autoplay: PropTypes.number, // 是否自动播放\n slidesPerView: PropTypes.number, // 一屏显示几块,默认1块\n defaultSrc: PropTypes.string, // 默认图片\n list: PropTypes.array, // [{bg: 'xx', img: 'xx', iconParams: {}, caption: 'xx'}]\n enableOnChange: PropTypes.bool, // 手动调用slideTo方法是否触发onChange事件回调\n speed: PropTypes.number, // 动画过渡的速度\n onClick: PropTypes.func, // func(s, e)\n onChange: PropTypes.func,\n delay: PropTypes.number, // 延迟初始化秒数\n\n children: PropTypes.node, // 轮播页,例<Carrousel><div>第1页</div></Carrousel>\n }\n static defaultProps = {\n slideParams: {},\n paginationParams: {},\n prevParams: {},\n nextParams: {},\n stopPropagation: false, // 设置为false解决与FastClick插件touch事件冲突的问题\n activeIndex: 0,\n page: 0,\n loop: false,\n pagination: false,\n autoplay: 0,\n slidesPerView: 1,\n list: [],\n defaultSrc: '//res.waiqin365.com/d/seedsui/carrousel/default.png',\n enableOnChange: true,\n speed: 300,\n delay: 500,\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate = (prevProps) => {\n if (this.instance && this.instance.activeIndex !== this.props.activeIndex) {\n this.instance.slideTo(this.props.activeIndex, this.props.speed, this.props.enableOnChange);\n }\n if (this.props.stopPropagation !== prevProps.stopPropagation) {\n this.instance.setParams({stopPropagation: this.props.stopPropagation});\n }\n if (!this.props.list.equals(prevProps.list)) {\n this.update();\n }\n }\n componentDidMount = () => {\n this.instance();\n // 轮播图片, 自适应的情况下, 高度需要计算\n if (!(this.props.style && this.props.style.height) && this.props.list.length && this.props.delay) {\n setTimeout(() => {\n this.instance.updateContainerSize();\n }, this.props.delay);\n }\n }\n instance = () => {\n const instance = new Instance(this.$el, {\n height: this.props.style && this.props.style.height ? this.props.style.height : null,\n width: this.props.style && this.props.style.width ? this.props.style.width : null,\n stopPropagation: this.props.stopPropagation,\n autoplay: this.props.autoplay,\n slidesPerView: this.props.slidesPerView,\n loop: this.props.loop,\n onClick: this.onClick,\n onSlideChangeEnd: this.props.onChange ? this.props.onChange : null\n });\n this.instance = instance;\n }\n onClick = (s, e) => {\n const index = s.activeIndex;\n if (this.props.onClick) this.props.onClick(this.props.list[index], index, s, e);\n }\n getCarrouselClassName = () => {\n const {className, list} = this.props;\n if (className) {\n if (className.indexOf('carrousel-container') !== -1 || className.indexOf('carrousel-page') !== -1) {\n return className;\n }\n }\n return (list.length > 0 ? 'carrousel-container' : 'carrousel-page') + (className ? ' ' + className : '');\n }\n getSlideStyle = (item) => {\n const {slideParams} = this.props;\n if (item.bg) {\n return Object.assign({backgroundImage: `url(${this.props.defaultSrc})`}, slideParams.style);\n }\n return slideParams.style;\n }\n update = () => {\n // 更新为默认图片\n const imgs = this.$el.querySelectorAll('.carrousel-lazy');\n for (var i = 0; i < imgs.length; i++) {\n var imgTarget = imgs[i];\n if (!imgTarget) continue;\n if (imgTarget.tagName === 'IMG') {\n imgTarget.src = this.props.defaultSrc;\n } else {\n imgTarget.style.backgroundImage = 'url(' + this.props.defaultSrc + ')';\n }\n }\n // 更新Carrousel\n if (this.instance) this.instance.update();\n }\n render() {\n const {\n className, style,\n slideParams,\n pagination, paginationParams,\n prevParams, nextParams,\n stopPropagation,\n activeIndex,\n\n loop,\n autoplay,\n slidesPerView,\n defaultSrc,\n list,\n enableOnChange,\n speed,\n onClick,\n onChange,\n delay,\n\n children,\n ...others\n } = this.props;\n const childrenArr = React.Children.toArray(children);\n return (\n <div ref={el => {this.$el = el}} className={this.getCarrouselClassName()} style={style} {...others}>\n <div className=\"carrousel-wrapper\">\n {/* 轮播图 */}\n {list.length > 0 && list.map((item, index) => {\n return <div className={`carrousel-slide${slideParams.className ? ' ' + slideParams.className : ''}${item.bg ? ' carrousel-lazy' : ''}`} style={this.getSlideStyle(item)} key={index} data-load-src={item.bg}>\n {item.img && <img className=\"carrousel-slide-img carrousel-lazy\" alt=\"\" src={defaultSrc} data-load-src={item.img}/>}\n {item.caption && <div className=\"carrousel-summary\">\n {item.iconParams && item.iconParams.className && <i {...item.iconParams} className={`icon carrousel-summary-icon${item.iconParams.className ? ' ' + item.iconParams.className : ''}`}></i>}\n <span className=\"nowrap carrousel-summary-caption\" style={{marginRight: '20px'}}>\n {item.caption}\n </span>\n </div>}\n </div>\n })}\n {/* 轮播页 */}\n {list.length === 0 && childrenArr && childrenArr.map((item, index) => {\n return <div className=\"carrousel-slide\" key={index}>{item}</div>\n })}\n </div>\n {pagination === true && <div {...paginationParams} className={`carrousel-pagination${paginationParams.className ? ' ' + paginationParams.className : ''}`}></div>}\n {pagination && pagination !== true && pagination}\n {list.length > 1 && <div {...prevParams} className={`carrousel-prev${prevParams.className ? ' ' + prevParams.className : ''}`}></div>}\n {list.length > 1 && <div {...nextParams} className={`carrousel-next${nextParams.className ? ' ' + nextParams.className : ''}`}></div>}\n </div>\n );\n }\n}\n","import Chat from './Chat.js';\n\nexport default Chat;\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\n\nexport default class Chat extends Component {\n static propTypes = {\n args: PropTypes.any,\n style: PropTypes.object,\n className: PropTypes.string,\n onClick: PropTypes.func,\n\n showAvatar: PropTypes.bool,\n avatarClassName: PropTypes.string,\n avatarStyle: PropTypes.object,\n avatarSrc: PropTypes.string,\n avatarAfter: PropTypes.node,\n onClickAvatar: PropTypes.func,\n\n author: PropTypes.string,\n authorClassName: PropTypes.string,\n authorStyle: PropTypes.object,\n\n contentClassName: PropTypes.string,\n contentStyle: PropTypes.object,\n onClickContent: PropTypes.func,\n\n children: PropTypes.node\n }\n static defaultProps = {\n args: null\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n onClick = (e) => {\n const {onClick} = this.props;\n if (onClick){\n onClick(Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n }\n onClickContent = (e) => {\n if (this.props.onClickContent) {\n this.props.onClickContent(Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n }\n onClickAvatar = (e) => {\n if (this.props.onClickAvatar) {\n this.props.onClickAvatar(Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n }\n render() {\n const {\n style, className,\n showAvatar, avatarSrc, avatarClassName, avatarStyle, avatarAfter,\n author, authorClassName, authorStyle,\n contentClassName, contentStyle, children\n } = this.props;\n return (\n <div ref={el => {this.$el = el;}} className={`chat${className ? ' ' + className : ''}`} style={style} onClick={this.onClick}> \n {showAvatar && <div className={`chat-photo`} onClick={this.onClickAvatar}> \n <div className={`chat-avatar${avatarClassName ? ' ' + avatarClassName : ''}`} style={Object.assign(avatarSrc ? {backgroundImage: `url(${avatarSrc})`} : {}, avatarStyle)}>{avatarAfter}</div>\n {author && <div className={`chat-author${authorClassName ? ' ' + authorClassName : ''}`} style={authorStyle}>{author}</div>}\n </div>}\n <div className=\"chat-content-box\">\n <div onClick={this.onClickContent} className={`chat-content${contentClassName ? ' ' + contentClassName : ''}`} style={contentStyle}>\n {children}\n </div> \n </div>\n </div>\n );\n }\n}\n","import Checkbox from './Checkbox.js';\n\nexport default Checkbox;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Checkbox extends Component {\n static propTypes = {\n args: PropTypes.any,\n style: PropTypes.object,\n className: PropTypes.string,\n onClick: PropTypes.func,\n\n name: PropTypes.string,\n value: PropTypes.string,\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n\n caption: PropTypes.string,\n captionClassName: PropTypes.string,\n captionStyle: PropTypes.object\n }\n static defaultProps = {\n args: null,\n value: '',\n checked: false\n }\n constructor(props) {\n super(props);\n }\n onClick = (e) => {\n if (this.props.disabled) return;\n if (this.props.onClick) this.props.onClick(this.$input.checked, Object.getArgs(e, this.props.args));\n }\n render() {\n const {style, className,\n name, value, checked,\n caption, captionClassName, captionStyle} = this.props;\n return (<div ref={el => {this.$el = el;}} className={`checkbox-box${className ? ' ' + className : ''}`} onClick={this.onClick} style={style}>\n <input readOnly={true} checked={checked} type=\"checkbox\" className=\"checkbox events-none\" name={name} value={value} ref={(el) => {this.$input = el}}/>\n {caption && <span className={`checkbox-caption${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle}>{caption}</span>}\n </div>);\n }\n}\n","import ImgLazy from './ImgLazy.js';\n\nexport default ImgLazy;\n","// require [PrototypeString.js] clearProtocol()\n// ImgLazy 图片预加载\nimport DB from './../DB'\n\nvar ImgLazy = function (params) {\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n overflowContainer: document.body,\n load: 'scroll', // scroll 滚动加载 | queue 队列加载 | all 全部加载\n threshold: 300, // 滚动加载时,显示区域扩张上下像素\n loadAttr: 'data-load-src', // 加载地址\n errorAttr: 'data-error-src', // 错误地址\n completeAttr: 'data-complete', // 完成加载, data-complete=0代表加载错误, =1代码加载正确\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n // Container\n s.overflowContainer = typeof s.params.overflowContainer === 'string' ? document.querySelector(s.params.overflowContainer) : s.params.overflowContainer\n if (!s.overflowContainer) {\n console.log('SeedsUI Error : Dragrefresh overflowContainer不存在,请检查页面中是否有此元素')\n return\n }\n // 所有图片\n s.imgs = []\n // 记录滚动位置\n s.scrollTop = 0\n /* --------------------\n Method\n -------------------- */\n // 获得头部位置\n s.getOffsetTop = function (el) {\n var offsetTop = el.offsetTop\n if (el.offsetParent != null) offsetTop += s.getOffsetTop(el.offsetParent)\n\n return offsetTop\n }\n // 元素是否在显示区域内\n s.isInScreen = function (el) {\n var offsetTop = s.getOffsetTop(el)\n if (offsetTop > s.scrollTop - s.params.threshold && offsetTop < parseInt(s.scrollTop, 10) + parseInt(window.innerHeight, 10)) {\n return true\n }\n return false\n }\n // 浏览器已加载图片\n s.completeList = []\n s.updateCompleteList = function (src) {\n s.completeList = DB.getSession('seedsui_imglazy_complete_list') || []\n if (src && typeof src === 'string') {\n s.completeList.push(src.clearProtocol())\n DB.setSession('seedsui_imglazy_complete_list', s.completeList)\n }\n }\n s.updateCompleteList()\n // 是否已加载\n s.isComplete = function (src) {\n if (src && typeof src === 'string' && s.completeList.indexOf(src.clearProtocol()) !== -1) {\n return true\n }\n return false\n }\n /* --------------------\n Events\n -------------------- */\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n if (s.params.load === 'scroll') {\n var scrollTarget = s.overflowContainer === document.body ? window : s.overflowContainer\n scrollTarget[action]('scroll', s.onScroll, false)\n }\n }\n s.attach = function () {\n s.events()\n }\n s.detach = function () {\n s.events(false)\n }\n // 加载完成事件\n s.onLoad = function (e) {\n var target = e.target\n var imgTarget = target.$el\n imgTarget.setAttribute(s.params.completeAttr, '1')\n // 图片加载完成后记录到seesion中\n s.updateCompleteList(target.src)\n \n // 渲染图片\n s.render(imgTarget, target.src)\n // console.log('加载图片' + target.src)\n }\n // 渲染图片\n s.render = function (target, src) {\n if (target.tagName === 'IMG') {\n target.src = src\n } else {\n target.style.backgroundImage = 'url(' + src + ')'\n }\n }\n // 加载失败事件\n s.onError = function (e) {\n var target = e.target\n var imgTarget = target.$el\n imgTarget.setAttribute(s.params.completeAttr, '0')\n if (target.errorSrc) {\n // 渲染图片\n s.render(imgTarget, target.errorSrc)\n }\n // console.log('错误图片' + target.src)\n }\n // 滚动完成事件 (如果300毫秒内滚动条没变,则视为onScrollEnd)\n var timer\n var millisec = 300\n s.getScrollTop = function () {\n return s.overflowContainer === document.body ? document.documentElement.scrollTop : s.overflowContainer.scrollTop\n }\n s.onScroll = function () {\n s.scrollTop = s.getScrollTop()\n if (timer) {\n clearTimeout(timer)\n }\n timer = setTimeout(function () {\n if (s.scrollTop === s.getScrollTop()) {\n s.onScrollEnd()\n clearTimeout(timer)\n return\n }\n timer = null\n }, millisec)\n }\n s.onScrollEnd = function () {\n console.log('停止滚动')\n s.load()\n }\n /* --------------------\n Init\n -------------------- */\n s.load = function () {\n // 更新已加载的图片\n s.updateCompleteList()\n\n // 获取所有需要加载的图片\n s.imgs = [].slice.call(s.overflowContainer.querySelectorAll('[' + s.params.loadAttr + ']')).filter((n) => {\n if (n.getAttribute(s.params.loadAttr)) return true\n return false\n })\n\n // 队列加载\n if (s.params.load === 'queue') {\n s.queue(0)\n return\n }\n\n // 懒人加载\n for (var i = 0; i < s.imgs.length; i++) {\n // 图片路径和裂图路径\n var loadSrc = s.imgs[i].getAttribute(s.params.loadAttr)\n var errorSrc = s.imgs[i].getAttribute(s.params.imgErrorAttr) || ''\n // 已加载的图片不需要再次加载\n if (s.isComplete(loadSrc)) {\n s.render(s.imgs[i], loadSrc) // 渲染图片\n continue\n }\n \n var flag = true\n if (s.params.load === 'scroll') flag = s.isInScreen(s.imgs[i]) // 滚动加载\n if (flag && !s.imgs[i].getAttribute(s.params.completeAttr)) {\n console.log('加载' + loadSrc)\n var image = new Image()\n image.$el = s.imgs[i]\n image.src = loadSrc\n image.errorSrc = errorSrc\n image.addEventListener('load', s.onLoad, false)\n image.addEventListener('error', s.onError, false)\n }\n }\n }\n // 队列加载\n s.queue = function (i) {\n // 图片路径和裂图路径\n var loadSrc = s.imgs[i].getAttribute(s.params.loadAttr)\n var errorSrc = s.imgs[i].getAttribute(s.params.imgErrorAttr) || ''\n // 已加载的图片不需要再次加载\n if (s.isComplete(loadSrc)) {\n s.render(s.imgs[i], loadSrc) // 渲染图片\n s.queue(i++)\n return\n }\n // 加载\n if (s.imgs[i].getAttribute(s.params.completeAttr)) {\n i++\n }\n if (!s.imgs[i]) {\n return\n }\n \n var image = new Image()\n image.$el = s.imgs[i]\n image.src = loadSrc\n image.errorSrc = errorSrc\n image.addEventListener('load', function (e) {\n console.log('加载第' + i + '张')\n s.onLoad(e)\n s.queue(i++)\n }, false)\n image.addEventListener('error', function (e) {\n console.log('第' + i + '张加载失败')\n s.onError(e)\n s.queue(i++)\n }, false)\n }\n s.update = function () {\n if (s.params.load === 'scroll') {\n s.detach()\n s.attach()\n }\n }\n s.update()\n}\n\nexport default ImgLazy\n","import Container from './Container.js';\n\nexport default Container;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ImgLazy from './../ImgLazy';\n\nexport default class Container extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n lazyLoad: PropTypes.bool,\n children: PropTypes.node\n }\n constructor(props) {\n super(props);\n this.state = {\n lazyLoadInstance: null\n };\n }\n componentDidMount () {\n if (this.props.lazyLoad) {\n var imglazy = new ImgLazy({\n overflowContainer: this.$el\n });\n imglazy.load();\n this.setState({\n lazyLoadInstance: imglazy\n });\n }\n }\n render() {\n const {style, className, lazyLoad, children, ...others} = this.props;\n return (\n <article ref={el => {this.$el = el;}} className={'container' + (className ? ' ' + className : '')} style={style} {...others}>\n {children}\n </article>\n );\n }\n}\n","// Counter 动态数字\nvar Counter = function (counter, params) {\n /* ----------------------\n Model\n ---------------------- */\n var defaults = {\n fromAttr: 'data-from',\n toAttr: 'data-to',\n durationAttr: 'data-duration',\n suffixAttr: 'data-suffix', // 分母\n maxMilliSec: 50, // 最快50毫秒执行一次\n maxCountSec: 20 // 平均一秒执行20次\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // Counter\n var s = this\n\n // Params\n s.params = params\n\n // Counter\n s.counter = typeof counter === 'string' ? document.querySelector(counter) : counter\n\n // From(开始数字)\n s.from = s.counter.getAttribute(s.params.fromAttr) ? s.counter.getAttribute(s.params.fromAttr) : 0\n // To(结束数字)\n s.to = s.counter.getAttribute(s.params.toAttr) ? s.counter.getAttribute(s.params.toAttr) : 0\n // suffix(后缀)\n s.suffix = s.counter.getAttribute(s.params.suffixAttr) ? s.counter.getAttribute(s.params.suffixAttr) : ''\n // Current(当前数字)\n s.current = s.from\n // Duration(执行秒数)\n s.duration = s.counter.getAttribute(s.params.durationAttr) ? s.counter.getAttribute(s.params.durationAttr) : 5000\n\n // Diff(差值)\n s.diff = s.to - s.from\n\n // 每秒需要走完的数字\n var secNum = Math.round(s.diff / (s.duration / 1000))\n // 每次增加的数字\n s.step = 1\n // 毫秒/次\n s.milliSec = Math.round(s.params.maxMilliSec)\n if (secNum > s.params.maxCountSec) { // 如果每秒走完的数字,大于最大每秒执行次数,则要步进加快\n s.step = Math.round(secNum / s.params.maxCountSec)\n s.milliSec = s.params.maxMilliSec // 用最快的速度:50毫秒执行一次\n } else {\n s.step = secNum\n s.milliSec = 1000 / secNum // 1秒执行的次数\n }\n\n // console.log('从'+s.from+'到'+s.to+',共'+s.duration/1000+'秒走完,每秒需要增加'+secNum+',每'+s.milliSec+'毫秒执行一次,一秒执行'+Math.round(1000/s.milliSec)+'次,一次递增:'+s.step+'')\n\n // Interval\n s.interval = null\n /* ----------------------\n Method\n ---------------------- */\n s.play = function () {\n if (s.diff < 0 || isNaN(s.from) || isNaN(s.to)) {\n console.error('SeedsUI Counter开始时间与结束时间不正确!')\n return\n }\n s.interval = window.setInterval(function () {\n s.current = parseInt(s.current, 10) + parseInt(s.step, 10)\n s.counter.innerHTML = s.current + s.suffix\n if (s.current >= s.to) {\n s.counter.innerHTML = s.to + s.suffix\n clearInterval(s.interval)\n }\n }, s.milliSec)\n }\n}\nvar Counters = function (params) {\n params = params || {}\n var counterClass = 'counter'\n var s = this\n s.counters = []\n s.update = function () {\n var elements = document.querySelectorAll('.' + counterClass)\n for (var i = 0; i < elements.length; i++) {\n s.counters[i] = new Counter(elements[i], s.params)\n }\n }\n s.update()\n s.play = function () {\n for (var i = 0; i < s.counters.length; i++) {\n s.counters[i].play()\n }\n }\n}\n\nexport {Counter, Counters}\n","import Counter from './Counter.js';\n\nexport default Counter;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {Counter as Instance} from './instance.js';\n\nexport default class Counter extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n\n duration: PropTypes.number,\n from: PropTypes.number,\n to: PropTypes.number,\n suffix: PropTypes.string, // 后缀\n autoplay: PropTypes.bool, // 是否自动播放\n }\n static defaultProps = {\n duration: 5000,\n from: 0,\n to: 10,\n autoplay: true\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n var instance = new Instance(this.$el);\n if (this.props.autoplay) {\n instance.play();\n }\n this.instance = instance;\n }\n play = () => {\n if (this.instance) {\n this.instance.play();\n }\n }\n render() {\n const {\n style, className,\n duration, from, to, suffix,\n autoplay,\n ...others\n } = this.props;\n return <span ref={el => {this.$el = el;}} className={`counter${className ? ' ' + className: ''}`} style={style} data-duration={duration} data-from={from} data-to={to} data-suffix={suffix} {...others}>1</span>;\n }\n}\n","import Dialog from './Dialog.js';\n\nexport default Dialog;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\n\nexport default class Dialog extends Component {\n static propTypes = {\n portal: PropTypes.object,\n args: PropTypes.any,\n show: PropTypes.bool,\n\n animation: PropTypes.string, // slideLeft | slideRight | slideUp | slideDown | zoom | fade\n duration: PropTypes.number,\n isClickMaskHide: PropTypes.bool,\n onClickMask: PropTypes.func,\n onShowed: PropTypes.func,\n onHid: PropTypes.func,\n\n maskClassName: PropTypes.string,\n maskStyle: PropTypes.object,\n\n className: PropTypes.string,\n style: PropTypes.object,\n\n children: PropTypes.node\n }\n static defaultProps = {\n args: null,\n isClickMaskHide: false,\n animation: 'fade'\n }\n constructor(props) {\n super(props);\n }\n /* shouldComponentUpdate = (nextProps) => { // 因为是容器,不能使用此方法,不然会影响内部元素的更新\n if (this.props.show === nextProps.show) {\n return false;\n }\n return true;\n } */\n componentDidUpdate = (prevProps) => {\n }\n componentDidMount = () => {\n }\n onClickMask = (e) => {\n if (this.props.onClickMask) this.props.onClickMask(Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n onClickDialog = (e) => {\n e.stopPropagation();\n }\n render() {\n const {\n portal, args,\n maskClassName, maskStyle, isClickMaskHide, onClickMask, onShowed, onHid,\n duration, show,\n className, style, animation,\n children,\n ...others\n } = this.props;\n let transformOrigin = 'middle';\n switch (animation) {\n case 'slideLeft':\n transformOrigin = 'right-middle';\n break;\n case 'slideRight':\n transformOrigin = 'left-middle';\n break;\n case 'slideUp':\n transformOrigin = 'bottom-center';\n break;\n case 'slideDown':\n transformOrigin = 'top-center';\n break;\n case 'zoom':\n transformOrigin = 'middle';\n break;\n case 'fade':\n transformOrigin = 'middle';\n break;\n default:\n transformOrigin = 'middle';\n }\n return createPortal(\n <div ref={el => {this.$el = el;}} className={`mask dialog-mask${maskClassName ? ' ' + maskClassName : ''}${show ? ' active' : ''}`} style={Object.assign(duration !== undefined ? {WebkitTransitionDuration: duration + 'ms'} : {}, maskStyle)} onClick={this.onClickMask} {...others}>\n <div className={`dialog${transformOrigin ? ' ' + transformOrigin : ''}${className ? ' ' + className : ''}${show ? ' active' : ''}`} style={Object.assign(duration !== undefined ? {WebkitTransitionDuration: duration + 'ms'} : {}, style)} data-animation={animation} onClick={this.onClickDialog}>\n {children && children}\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import Dot from './Dot.js';\n\nexport default Dot;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Dot extends Component {\n static propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n size: PropTypes.string\n }\n static defaultProps = {\n style: {}\n }\n constructor(props) {\n super(props);\n }\n render() {\n const {className, style, size, ...others} = this.props;\n return (\n <i ref={el => {this.$el = el;}} className={`dot${className ? ' ' + className : ''}`} style={Object.assign(style, size ? {width: size, height: size} : {})} {...others}></i>\n );\n }\n}\n","import Notice from './Notice.js';\n\nexport default Notice;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Notice extends Component {\n static propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n\n wrapperParams: PropTypes.object,\n\n icon: PropTypes.node,\n\n caption: PropTypes.node,\n captionParams: PropTypes.object,\n sndcaption: PropTypes.node,\n sndcaptionParams: PropTypes.object,\n\n children: PropTypes.node\n }\n static defaultProps = {\n wrapperParams: {},\n caption: '暂无数据',\n captionParams: {},\n sndcaptionParams: {}\n }\n constructor(props) {\n super(props);\n }\n render() {\n const {\n className, style,\n wrapperParams,\n icon,\n caption, captionParams,\n sndcaption, sndcaptionParams,\n children,\n ...others\n } = this.props;\n return (\n <div ref={el => {this.$el = el;}} className={`notice${className ? ' ' + className : ''}`} style={style} {...others}>\n <div {...wrapperParams} className={`notice-wrapper${wrapperParams.className ? ' ' + wrapperParams.className : ''}`}>\n {icon ? icon : <i className=\"icon notice-icon notice-icon-nodata\"></i>}\n {caption && <div {...captionParams} className={`notice-caption${captionParams.className ? ' ' + captionParams.className : ''}`}>{caption}</div>}\n {sndcaption && <div {...sndcaptionParams} className={`notice-sndcaption${sndcaptionParams.className ? ' ' + sndcaptionParams.className : ''}`}>{sndcaption}</div>}\n {children}\n </div>\n </div>\n );\n }\n}\n","// Dragrefresh 下拉刷新\nvar Dragrefresh = function (params) {\n /* ----------------------\n Model\n ---------------------- */\n var defaults = {\n container: document.body,\n duration: 150, // 头部下拉的隐藏动画时长\n threshold: 100, // 头部下拉的触发位置\n begin: 0, // 头部下拉的起始位置\n end: 200, // 头部下拉的结束位置\n endRefresh: false, // 滑动到指位置后自动刷新\n moveTimeout: 0, // 滑动超时, 解决ios手指滑动到原生tabbar上, 不触发onTouchEnd\n\n isTopPosition: 0, // 如果scrollTop小于等于isTopPosition时,则认为是到顶部了(不建议修改)\n\n topContainer: null, // 头部容器\n\n /* callbacks\n onScroll: function(e) // 滚动\n \n onPull:function(s)// 头部拖动中\n onShowTop:function(s)// 开始显示头部\n onHideTop:function(s)// 开始隐藏头部\n onTopShowed(s)// 头部显示动画结束\n onTopHid(s)// 头部隐藏动画结束\n onTransitionEnd:function(Dragrefresh)// 头部动画结束\n\n onTopRefresh:function(s)// 头部刷新\n\n onBottomRefresh:function(s)// 底部刷新\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n // Container\n s.container = typeof s.params.container === 'string' ? document.querySelector(s.params.container) : s.params.container\n if (!s.container) {\n console.log('SeedsUI Error : Dragrefresh container不存在,请检查页面中是否有此元素')\n return\n }\n // topContainer\n s.topContainer = typeof s.params.topContainer === 'string' ? document.querySelector(s.params.topContainer) : s.params.topContainer\n if (!s.topContainer) {\n console.log('SeedsUI Warn : topContainer不存在,请检查页面中是否有此元素')\n }\n // 正在刷新(默认为不允许下拉, 当完成一次数据加载完成后, 再设置isLoading为false较为合适)\n s.isLoading = true\n /* ----------------------\n Method\n ---------------------- */\n s.isHid = false\n // 隐藏\n s.hideTop = function () {\n if (!s.topContainer) return\n s.topContainer.style.webkitTransitionDuration = s.params.duration + 'ms'\n s.touches.posY = s.params.begin\n s.touches.currentPosY = s.params.begin\n s.isHid = true\n // 实体操作\n if (s.params.onHideTop) s.params.onHideTop(s)\n }\n // 显示\n s.showTop = function () {\n if (!s.topContainer) return\n s.topContainer.style.webkitTransitionDuration = s.params.duration + 'ms'\n s.touches.posY = s.params.threshold\n s.touches.currentPosY = s.params.begin\n s.isHid = false\n // 实体操作\n if (s.params.onShowTop) s.params.onShowTop(s)\n }\n // 销毁对象\n s.destroyTop = function () {\n s.container.removeChild(s.topContainer)\n }\n s.destroy = function () {\n s.destroyTop()\n // 销毁事件\n s.detach()\n }\n // 是否有滚动条\n s.hasScroll = function () {\n var clientHeight = s.container.clientHeight // || window.innerHeight\n var scrollHeight = s.container.scrollHeight\n /* var scrollTop = s.container === document.body ? document.documentElement.scrollTop : s.container.scrollTop\n console.log(clientHeight + ':' + scrollHeight + ':' + scrollTop) */\n\n if (clientHeight === scrollHeight) {\n return false\n }\n return true\n }\n // 头部刷新, 刷新中时将不允许刷新\n s.topRefresh = function () {\n if (s.isLoading) return\n s.isLoading = true // 设置为不可刷新\n // CallBack onTopRefresh\n if (s.params.onTopRefresh) s.params.onTopRefresh(s)\n }\n // 底部刷新, 刷新中时将不允许刷新\n s.bottomRefresh = function () {\n if (s.isLoading) return\n s.isLoading = true // 设置为不可刷新\n // CallBack onBottomRefresh\n if (s.params.onBottomRefresh) s.params.onBottomRefresh(s)\n }\n /* ----------------------\n Events\n ---------------------- */\n s.isSupportTouch = 'ontouchstart' in window\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n var touchTarget = s.container\n // 头部下拉\n if (s.topContainer) {\n // touch兼容pc事件\n if (s.isSupportTouch) {\n s.container[action]('touchstart', s.onTouchStart, false)\n s.container[action]('touchmove', s.onTouchMove, false)\n s.container[action]('touchend', s.onTouchEnd, false)\n s.container[action]('touchcancel', s.onTouchEnd, false)\n } else {\n s.container[action]('mousedown', s.onTouchStart, false)\n s.container[action]('mousemove', s.onTouchMove, false)\n s.container[action]('mouseup', s.onTouchEnd, false)\n }\n // 头部动画监听\n s.topContainer[action]('webkitTransitionEnd', s.onTransitionEnd, false)\n }\n \n // 绑定底部事件,区分一般容器和body\n if (touchTarget === document.body) {\n touchTarget = window\n }\n touchTarget[action]('scroll', s.onScroll, false)\n }\n // attach、detach事件\n s.attach = function () {\n s.events()\n }\n s.detach = function () {\n s.events(true)\n }\n\n // Touch信息\n s.touches = {\n direction: 0,\n vertical: 0,\n isTop: true,\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n endX: 0,\n endY: 0,\n diffX: 0,\n diffY: 0,\n posY: 0,\n currentPosY: 0\n }\n s.preventDefault = function (e) {\n e.preventDefault()\n }\n s.startMouseMove = false\n // touchmove的preventDefault事件监听,防止与滚动条冲突\n s.preventMove = false\n s.onTouchStart = function (e) {\n s.startMouseMove = true\n s.container.addEventListener(s.isSupportTouch ? 'touchmove' : 'mousemove', s.preventDefault, false)\n s.preventMove = true\n // 如果不在顶部,则不触发\n if (s.getScrollTop() <= s.params.isTopPosition) s.touches.isTop = true\n else s.touches.isTop = false\n\n s.topContainer.style.webkitTransitionDuration = '0ms'\n\n s.touches.startX = e.clientX || e.touches[0].clientX\n s.touches.startY = e.clientY || e.touches[0].clientY\n\n // 解决ios手指滑动到原生tabbar上, 不触发onTouchEnd\n if (s.timeout) clearTimeout(s.timeout)\n }\n // 标识头部正在拖动\n s.onTouchMove = function (e) {\n if (!s.startMouseMove) return\n s.touches.currentX = e.clientX || e.touches[0].clientX\n s.touches.currentY = e.clientY || e.touches[0].clientY\n s.touches.diffY = s.touches.currentY - s.touches.startY\n s.touches.diffX = s.touches.startX - s.touches.currentX\n\n // 设置滑动方向(-1上下 | 1左右)\n if (s.touches.direction === 0) {\n s.touches.direction = Math.abs(s.touches.diffX) > Math.abs(s.touches.diffY) ? 1 : -1\n }\n // 设置垂直方向(-1上 | 1下)\n if (s.touches.direction === -1) {\n s.touches.vertical = s.touches.diffY < 0 ? 1 : -1\n }\n // 在顶部下拉\n if (s.touches.isTop && s.touches.vertical === -1) {\n if (s.isLoading) return\n // 上拉阻止滚动条滚动\n if (s.preventMove === false) {\n console.log('上拉阻止滚动条滚动')\n s.container.addEventListener(s.isSupportTouch ? 'touchmove' : 'mousemove', s.preventDefault, false)\n s.preventMove = true\n }\n // 当前下拉坐标\n s.touches.currentPosY = s.touches.posY + s.touches.diffY\n if (s.params.end && s.touches.currentPosY >= s.params.end) { // 头部下拉到结束位置\n s.touches.currentPosY = s.params.end\n if (s.params.endRefresh) s.onTouchEnd() // 头部下拉到结束位置刷新\n } else {\n // 实体操作\n if (s.params.onPull) s.params.onPull(s)\n }\n // 解决ios手指滑动到原生tabbar上, 不触发onTouchEnd\n if (s.params.moveTimeout) {\n if (s.timeout) {\n clearTimeout(s.timeout)\n }\n s.timeout = setTimeout(() => {\n console.log('滑动超时')\n s.onTouchEnd()\n }, s.params.moveTimeout || 1000)\n }\n } else {\n if (s.preventMove === true) {\n console.log('滚动移除阻止滚动条')\n s.container.removeEventListener(s.isSupportTouch ? 'touchmove' : 'mousemove', s.preventDefault, false)\n s.preventMove = false\n }\n }\n }\n s.onTouchEnd = function (e) {\n s.startMouseMove = false\n // 清除move时记录的方向\n s.touches.direction = 0\n s.touches.vertical = 0\n // 下拉的情况\n if (s.touches.currentPosY > 0) {\n if (s.touches.currentPosY > s.params.threshold) { // 如果大于hold值,则展示\n s.showTop()\n } else { // 小于则收起\n s.hideTop()\n }\n }\n // 解决ios手指滑动到原生tabbar上, 不触发onTouchEnd\n if (s.timeout) clearTimeout(s.timeout)\n }\n s.onTransitionEnd = function (e) {\n if (e.target !== s.topContainer || e.propertyName === 'visibility') return\n // 有效的显示状态\n if (s.touches.posY === s.params.threshold && !s.isLoading) {\n s.topRefresh()\n }\n\n // 显示与隐藏的回调\n // Callback onTransitionEnd\n if (s.params.onTransitionEnd) s.params.onTransitionEnd(s)\n if (s.isHid) {\n // Callback onTopHid\n if (s.params.onTopHid) s.params.onTopHid(s)\n } else {\n // Callback onTopShowed\n if (s.params.onTopShowed) s.params.onTopShowed(s)\n }\n }\n s.getScrollTop = function (e) {\n var scrollTop = s.container === document.body ? document.documentElement.scrollTop : s.container.scrollTop\n return scrollTop\n }\n s.onScroll = function (e) {\n if (s.params.onScroll) s.params.onScroll(e)\n if (!s.params.onBottomRefresh) return\n var clientHeight = s.container.clientHeight // || window.innerHeight\n var scrollHeight = s.container.scrollHeight\n var scrollTop = s.container === document.body ? document.documentElement.scrollTop : s.container.scrollTop\n // console.log(clientHeight + ':' + scrollHeight + ':' + scrollTop)\n if (scrollTop + clientHeight >= scrollHeight - 2) {\n s.bottomRefresh()\n }\n }\n // 主函数\n s.init = function () {\n s.attach()\n }\n\n s.init()\n}\n\nexport default Dragrefresh\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Notice from './../Notice';\nimport Instance from './instance.js';\nimport ImgLazy from './../ImgLazy';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class Dragrefresh extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n\n threshold: PropTypes.number, // 头部下拉的触发位置\n end: PropTypes.number, // 头部下拉的结束位置\n endRefresh: PropTypes.bool, // 滑动到指位置后自动刷新\n moveTimeout: PropTypes.number, // 滑动超时, 解决ios手指滑动到原生tabbar上, 不触发onTouchEnd\n onTopRefresh: PropTypes.func,\n onTopComplete: PropTypes.func,\n onBottomRefresh: PropTypes.func,\n onBottomComplete: PropTypes.func,\n\n children: PropTypes.node,\n hasMore: PropTypes.number, // hasMore: 0.无更多数据 1.数据加载完成 404.一条数据都没有 -1. 加载错误 -2. 重置状态,为了后面可以更新DOM\n\n showNoData: PropTypes.bool, // 是否允许暂无数据\n noDataParams: PropTypes.object,\n\n lazyLoad: PropTypes.bool,\n\n onScroll: PropTypes.func, // 滚动事件\n\n // 底部加载中\n bottomLoadingCaption: PropTypes.string,\n // 底部加载完成\n bottomNoDataCaption: PropTypes.string,\n // 底部加载错误\n bottomErrorCaption: PropTypes.string,\n onClickBottomError: PropTypes.func,\n }\n static defaultProps = {\n showNoData: true,\n bottomLoadingCaption: (window._seeds_lang['loading'] || '正在加载...'),\n bottomNoDataCaption: (window._seeds_lang['no_more_data'] || '没有更多数据了'),\n bottomErrorCaption: (window._seeds_lang['refreshing_failed'] || '加载失败, 请稍后再试')\n }\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n this.init();\n this.setPagination(undefined, this.props.hasMore);\n }\n componentDidUpdate = (prevProps) => {\n if (prevProps.hasMore === this.props.hasMore) return;\n // 刷新完成则设置刷新\n this.setPagination(prevProps.hasMore, this.props.hasMore);\n }\n // 实例化\n init = () => {\n const {onScroll} = this.props;\n var instance = new Instance({\n threshold: this.props.threshold,\n end: this.props.end,\n endRefresh: this.props.endRefresh,\n moveTimeout: this.props.moveTimeout,\n container: this.$el,\n onScroll,\n onTopRefresh: this.onTopRefresh, // 头部刷新,加载第一页\n onBottomRefresh: this.onBottomRefresh, // 底部刷新,加载下一页\n // 构建实体\n topContainer: this.$elTopBox,\n // 实体交互\n duration: 150,\n onPull: (e) => {\n var topContainer = e.topContainer;\n topContainer.style.height = e.touches.currentPosY + 'px'\n var topIcon = topContainer.querySelector('.df-pull-icon');\n var topCaption = topContainer.querySelector('.df-pull-caption');\n if (!e.isLoading) {\n if (e.touches.currentPosY >= e.params.threshold) {\n if (topIcon) topIcon.classList.add('df-pull-icon-down')\n if (topCaption) topCaption.innerHTML = window._seeds_lang['release'] || '释放立即刷新'\n } else {\n if (topIcon) topIcon.classList.remove('df-pull-icon-down')\n if (topCaption) topCaption.innerHTML = window._seeds_lang['pull_down'] || '下拉可以刷新'\n }\n }\n },\n onShowTop: (e) => {\n var topContainer = e.topContainer;\n var topIcon = topContainer.querySelector('.df-pull-icon');\n var topCaption = topContainer.querySelector('.df-pull-caption');\n topContainer.style.height = e.params.threshold + 'px';\n if (topIcon) topIcon.classList.remove('df-pull-icon-down')\n if (topIcon) topIcon.classList.add('df-pull-icon-loading')\n if (topCaption) topCaption.innerHTML = window._seeds_lang['refreshing'] || '正在刷新...'\n },\n onHideTop: (e) => {\n var topContainer = e.topContainer;\n topContainer.style.height = '0';\n },\n onTopHid: (e) => {\n var topContainer = e.topContainer;\n var topIcon = topContainer.querySelector('.df-pull-icon');\n if (topIcon) topIcon.classList.remove('df-pull-icon-down')\n if (topIcon) topIcon.classList.remove('df-pull-icon-loading')\n }\n });\n this.instance = instance;\n }\n // 头部刷新\n onTopRefresh = () => {\n this.props.onTopRefresh();\n }\n // 底部刷新\n onBottomRefresh = () => {\n if (!this.props.onBottomRefresh) return;\n const {hasMore} = this.props;\n if (hasMore !== 0 && hasMore !== -1 && hasMore !== 404) {\n this.props.onBottomRefresh();\n } else {\n if (this.instance) this.instance.isLoading = false // 暂无数据时, 设置为可刷新\n }\n }\n // 懒人加载\n lazyLoad = () => {\n if (!this.$el) return;\n if (this.timeout) window.clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n if (this.lazy) {\n this.lazy.load();\n } else {\n this.lazy = new ImgLazy({\n overflowContainer: this.$el\n });\n this.lazy.load();\n }\n }, 500);\n }\n // 控制刷新\n setPagination = (prevHasMore, hasMore) => {\n // 如果还没有初始化完成,则会再轮询调用一下\n if(!this.instance) {\n setTimeout(() => {\n this.setPagination(prevHasMore, hasMore);\n }, 100);\n return;\n }\n console.log(`hasMore: 由${prevHasMore}变成${hasMore}`)\n // 无数据时不允许触发刷新\n if (this.props.showNoData && hasMore === 404) {\n this.instance.detach();\n } else if (this.props.showNoData && prevHasMore === 404 && hasMore !== 404) {\n this.instance.attach();\n }\n // 刷新完成, 需收起头\n if (hasMore !== -2) {\n this.instance.hideTop();\n }\n // 设置为可刷新\n this.instance.isLoading = false;\n // 刷新完成, 还有数据\n if (hasMore === 1) {\n // 如果还有数据,并且如果没有滚动条,则继续加载\n if (!this.instance.hasScroll()) {\n console.log('还有数据,但没有滚动条,继续加载...')\n this.instance.bottomRefresh()\n }\n }\n // 懒加载\n if (this.props.lazyLoad) this.lazyLoad();\n }\n render() {\n const {\n style, className,\n onTopRefresh, onBottomRefresh, showNoData, hasMore,\n noDataParams,\n bottomLoadingCaption, bottomNoDataCaption, bottomErrorCaption, onClickBottomError\n } = this.props;\n return (\n <div ref={(el) => {this.$el = el;}} className={`container${className ? ' ' + className : ''}`} style={style}>\n {onTopRefresh && <div ref={(el) => {this.$elTopBox = el;}} className=\"SID-Dragrefresh-TopContainer df-pull\">\n <div className=\"df-pull-box\">\n <div className=\"df-pull-icon\"></div>\n <div className=\"df-pull-caption\">{window._seeds_lang['pull_down'] || '下拉可以刷新'}</div>\n </div>\n </div>}\n {this.props.children}\n {onBottomRefresh && (hasMore === 1 || hasMore === -2) && <div className=\"SID-Dragrefresh-BottomContainer df-pull\" style={{height: '50px'}}>\n <div className=\"df-pull-box\">\n <div className=\"df-pull-icon df-pull-icon-loading\"></div>\n <div className=\"df-pull-caption\">{bottomLoadingCaption}</div>\n </div>\n </div>}\n {onBottomRefresh && hasMore === 0 && <div className=\"SID-Dragrefresh-NoDataContainer df-pull\" style={{height: '50px'}}>\n <div className=\"df-pull-box\">\n <div className=\"df-pull-caption\">{bottomNoDataCaption}</div>\n </div>\n </div>}\n {onBottomRefresh && hasMore === -1 && <div className=\"SID-Dragrefresh-ErrorContainer df-pull\" style={{height: '50px'}} onClick={onClickBottomError}>\n <div className=\"df-pull-box\">\n <div className=\"df-pull-caption\">{bottomErrorCaption}</div>\n </div>\n </div>}\n {hasMore === 404 && showNoData && <Notice caption={'暂无数据'} {...noDataParams}/>}\n </div>\n );\n }\n}\n","import Dragrefresh from './Dragrefresh.js';\n\nexport default Dragrefresh;\n","import Tabbar from './Tabbar.js';\n\nexport default Tabbar;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Tabbar extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string, // tabbar-line | tabbar-rect | tabbar-lump | tabbar-dropdown | tabbar-footer\n\n captionClassName: PropTypes.string,\n captionStyle: PropTypes.object,\n\n sndCaptionClassName: PropTypes.string,\n sndCaptionStyle: PropTypes.object,\n\n list: PropTypes.array,\n\n tiled: PropTypes.bool, // 宽度等分, 默认宽度弹性伸缩\n disabled: PropTypes.bool,\n exceptOnClickActive: PropTypes.bool, // 排除点击选中的菜单\n onClick: PropTypes.func,\n activeIndex: PropTypes.number\n }\n static defaultProps = {\n list: [],\n // [\n // {\n // icon: node,\n // iconActive: node,\n // ricon: node,\n // riconActive: node,\n\n // name: string, // 与caption完全相同, 允许传入name或者caption\n // caption: string,\n // sndcaption: string,\n // active: bool,\n\n // attributes: object // tab属性\n // }\n // ]\n exceptOnClickActive: true,\n className: 'tabbar-line tabbar-line-width70 border-b',\n activeIndex: 0\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n onClick = (e) => {\n const target = e.target;\n if (this.props.exceptOnClickActive && target.classList.contains('active')) return;\n const index = target.getAttribute('data-index');\n if (!index) return;\n if (this.props.onClick) {\n this.props.onClick(e, this.props.list[index], Number(index));\n e.stopPropagation();\n }\n }\n getTabbarStyle = () => {\n const {list, className, style} = this.props;\n var tabbarStyle = {};\n // 矩形tabbar应当有的总宽度\n if (className.hasClass('tabbar-rect')) {\n switch (list.length) {\n case 1 :\n tabbarStyle = {width: '30%'};\n break;\n case 2 :\n tabbarStyle = {width: '50%'};\n break;\n case 3 :\n tabbarStyle = {width: '50%'};\n break;\n default :\n tabbarStyle = {};\n }\n }\n return Object.assign({}, tabbarStyle, style);\n }\n getTabbarClassName = () => {\n const {className, tiled} = this.props;\n return 'tabbar animated' + (className ? ' ' + className : ' tabbar-line-width60') + (tiled ? ' tabbar-tiled' : '');\n }\n getIconDOM = (icon, iconActive, isActive) => {\n if (isActive) {\n return iconActive ? iconActive : icon;\n }\n return icon;\n }\n getTabsDOM = () => {\n const {list, activeIndex, captionClassName, captionStyle, sndCaptionClassName, sndCaptionStyle} = this.props;\n // tabStyle高度\n var tabStyle = {};\n if (this.props.style && this.props.style.height) {\n tabStyle = {\n height: this.props.style.height\n }\n }\n // 遍历\n return list.map((item, index) => {\n const {icon, iconActive, ricon, riconActive, name, caption, sndcaption, active, attributes = {}, style = {}} = item;\n let isActive = (active || activeIndex === index);\n let liconDOM = null;\n if (icon) {\n liconDOM = this.getIconDOM(icon, iconActive, isActive);\n }\n let riconDOM = null;\n if (ricon) {\n riconDOM = this.getIconDOM(ricon, riconActive, isActive);\n }\n return (<li className={`tab${isActive ? ' active' : ''}`} style={Object.assign(tabStyle, style || {})} data-index={index} key={index} {...attributes}>\n {liconDOM && liconDOM}\n <div className=\"tab-content\">\n <div className={`tab-caption${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle}>{caption || name}</div>\n {sndcaption && <div className={`tab-sndcaption${sndCaptionClassName ? ' ' + sndCaptionClassName : ''}`} style={sndCaptionStyle}>{sndcaption}</div>}\n </div>\n {riconDOM && riconDOM}\n </li>);\n });\n }\n render() {\n const {disabled} = this.props;\n // 获取tabbar样式\n const tabbarStyle = this.getTabbarStyle();\n // 获取tabbar的ClassName\n const tabbarClassName = this.getTabbarClassName();\n // 获取tabs的DOM\n const tabsDOM = this.getTabsDOM();\n \n return (\n <ul ref={(el) => {this.$el = el}} className={tabbarClassName} disabled={disabled} style={tabbarStyle} onClick={this.onClick}>\n {tabsDOM}\n </ul>\n );\n }\n}\n","// 平铺菜单\nvar MenuTiled = function (container, params) {\n /* ------------------\n Model\n ------------------ */\n var defaults = {\n // DATA\n data: null,\n slotClass: 'menutiled-slot',\n slotSubClass: 'menutiled-slot-sub',\n tagClass: 'menutiled-tag',\n moreClass: 'menutiled-more',\n activeClass: 'active',\n extendClass: 'extend',\n\n selectedId: '', // 默认选中项的id\n /*\n callbacks\n onClick:function(s, item, isActived, isExtend) // 点击项的数据,是否是选中状态,是否是展开状态\n */\n }\n /* 参数data: [{\n id: '',\n name: '',\n active: false,\n children\n }] */\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // MenuTiled\n var s = this\n\n // Params\n s.params = params\n // Container\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n if (!s.container) {\n console.log('SeedsUI Error:未找到MenuTiled的DOM对象,请检查传入参数是否正确')\n return\n }\n s.initData = function (list, container) {\n if (!list || !list.length) return\n var hasSlot = container.querySelector('.' + s.params.slotClass)\n var slot = document.createElement('div')\n slot.setAttribute('class', hasSlot ? s.params.slotSubClass : s.params.slotClass)\n var html = ''\n for (var i = 0, option; option = list[i++];) { // eslint-disable-line\n html += '<div data-index=\"' + i + '\" data-id=\"' + option.id + '\" class=\"' + s.params.tagClass + (option.id === s.params.selectedId ? ' active' : '') + '\">' +\n '<p class=\"menutiled-tag-font\">' + option.name + '</p>' +\n (option.children && option.children.length > 0 ? '<i class=\"menutiled-more\"></i>' : '<i class=\"menutiled-select\"></i>') +\n '</div>'\n }\n slot.innerHTML = html\n container.appendChild(slot)\n }\n s.container.innerHTML = ''\n\n /* ------------------\n Method\n ------------------ */\n // 设置选中项\n s.setSelectedId = function (id) {\n s.params.selectedId = id\n }\n // 重新设置数据\n s.setData = function (data) {\n s.params.data = data\n s.container.innerHTML = ''\n if (!data || !data.length) {\n return\n }\n s.initData(s.params.data, s.container)\n }\n\n /* ------------------\n Events\n ------------------ */\n // 绑定事件\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n // 树结构\n s.container[action]('click', s.onClick, false)\n }\n // attach、dettach事件\n s.attach = function () {\n s.events()\n }\n s.detach = function () {\n s.events(true)\n }\n /* ------------------\n Event Handler\n ------------------ */\n // 点击树\n s.onClick = function (e) {\n var target = e.target\n s.target = target\n s.targetLine = target\n if (!target.classList.contains(s.params.tagClass)) return\n // isActived\n var isActived = s.target.classList.contains('active')\n // isExtend\n var isExtend = target.classList.contains(s.params.extendClass)\n // item\n const id = target.getAttribute('data-id');\n let item = s.params.data.getDeepTreeNode(id);\n // 如果已经展开,则收缩\n if (isExtend) {\n // target.classList.remove(s.params.extendClass)\n // 如果没有展开,则展开并选中,有下级则新建下级节点\n } else {\n // 移除下级节点\n var slot = target.parentNode\n var nextSlot = slot.nextElementSibling\n if (nextSlot) slot.parentNode.removeChild(nextSlot)\n // 移除同级所有的选中项与展开项\n var tags = slot.children\n for (var i = 0, tag; tag = tags[i++];) { // eslint-disable-line\n if (tag) {\n tag.classList.remove(s.params.extendClass)\n tag.classList.remove(s.params.activeClass)\n }\n }\n // 添加当前节点为选中项和展开项\n target.classList.add(s.params.extendClass)\n target.classList.add(s.params.activeClass)\n // 如果有下级则新建下级节点\n if (item.children && item.children.length > 0) {\n s.initData(item.children, s.container)\n }\n }\n \n if (s.params.onClick) s.params.onClick(s, item, isActived, isExtend)\n }\n // 主函数\n s.init = function () {\n if (s.params.data && s.params.data.length) {\n if (s.params.data && s.params.data.length) s.initData(s.params.data, s.container)\n }\n s.attach()\n }\n s.init()\n}\n\nexport default MenuTiled\n","import MenuTiled from './MenuTiled.js';\n\nexport default MenuTiled;\n","// require PrototypeArray.js\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class MenuTiled extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n selectedId: PropTypes.string, // 默认选中项的id\n onClick: PropTypes.func,\n\n list: PropTypes.array\n }\n /* list: [{\n id: '',\n name: '',\n active: false,\n children\n }] */\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate = (prevProps) => {\n if (JSON.stringify(prevProps.list) !== JSON.stringify(this.props.list)) {\n if (this.props.list && this.props.list.length) {\n this.instance.setSelectedId(this.props.selectedId)\n var list = Object.clone(this.props.list);\n if (JSON.stringify(list).indexOf('\"children\"') === -1) {\n list = list.deepTree()\n }\n this.instance.setData(list)\n } else {\n this.instance.setData([])\n }\n }\n }\n componentDidMount = () => {\n if (this.instance) return;\n var list = Object.clone(this.props.list);\n if (JSON.stringify(list).indexOf('\"children\"') === -1) {\n list = list.deepTree()\n }\n const instance = new Instance(this.$el, {\n data: list,\n selectedId: this.props.selectedId,\n onClick: this.onClick\n });\n this.instance = instance;\n }\n onClick = (s, item, isActived, isExtend) => {\n // childrenCount\n var childrenCount = item.children && item.children.length ? item.children.length : 0;\n\n if (this.props.onClick) this.props.onClick(s, item, isActived, isExtend, childrenCount);\n }\n render() {\n const {className, selectedId, onClick, list, ...others} = this.props;\n return (\n <div ref={el => {this.$el = el;}} className={`menutiled${className ? ' ' + className : ''}`} {...others}>\n </div>\n );\n }\n}\n","import Dropdown from './Dropdown.js';\n\nexport default Dropdown;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Tabbar from './../Tabbar';\nimport Dialog from './../Dialog';\nimport MenuTiled from './../MenuTiled';\n\nexport default class Dropdown extends Component {\n static propTypes = {\n portal: PropTypes.object, // 传送到DOM\n top: PropTypes.number,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n list: PropTypes.array // [{name: '分类', data: [{id: '1',name: '测试数据1',children:[]}]}]\n }\n static defaultProps = {\n list: []\n }\n constructor(props) {\n super(props);\n this.state = {\n tabbarActiveIndex: -1,\n tabbar: [],\n menusSelectedId: '',\n menus: [],\n top: 0,\n dialogShow: false\n };\n }\n componentDidUpdate = (prevProps) => {\n if (JSON.stringify(prevProps.list) !== JSON.stringify(this.props.list)) {\n this.refresh();\n }\n }\n componentDidMount = () => {\n // 计算距离头部\n let top = this.props.top;\n if (!top) {\n top = this.$tabbar.$el.offsetTop + 40;\n }\n this.setState({\n top\n });\n // 更新数据\n this.refresh();\n }\n refresh = () => {\n // tabbar 和 MenuTiled\n const tabbar = [];\n for (let item of this.props.list) {\n tabbar.push({\n id: item.id,\n name: item.name,\n ricon: <span className='icon tab-icon shape-triangle-down'></span>\n });\n };\n this.setState({\n tabbar,\n });\n }\n onClickTab = (e, item, index) => {\n if (this.state.tabbarActiveIndex >= 0) {\n this.setState({\n // 设置弹框的数据\n menusSelectedId: this.state.tabbar[index].id,\n menus: this.props.list[index].data,\n // 隐藏弹框\n tabbarActiveIndex: -1,\n dialogShow: false\n });\n } else {\n this.setState({\n // 设置弹框的数据\n menusSelectedId: this.state.tabbar[index].id,\n menus: this.props.list[index].data,\n // 显示弹框\n tabbarActiveIndex: index,\n dialogShow: true\n });\n }\n }\n onClickMask = () => {\n this.setState({\n tabbarActiveIndex: -1,\n dialogShow: false\n });\n }\n onClickMenu = (e, item) => {\n if (item.children && item.children.length > 0) return;\n const tabbar = this.state.tabbar;\n const activeIndex = this.state.tabbarActiveIndex;\n // 如果选中的标题是全部,则显示原始标题,例如:点击分类,选择全部,则应当显示分类\n if (item.id === this.props.list[activeIndex].id) {\n tabbar[activeIndex].id = this.props.list[activeIndex].id;\n tabbar[activeIndex].name = this.props.list[activeIndex].name;\n // 设置选中的标题显示在tabbar上\n } else {\n tabbar[activeIndex].id = item.id;\n tabbar[activeIndex].name = item.name;\n }\n this.setState({\n tabbar: tabbar,\n tabbarActiveIndex: -1,\n dialogShow: false\n });\n // 触发onChange事件\n if (this.props.onChange) this.props.onChange(tabbar);\n }\n render() {\n const {\n portal,\n top,\n disabled,\n onChange,\n list,\n ...others\n } = this.props;\n const DOM = [<Tabbar\n key=\"tabbar\"\n disabled={disabled}\n ref={el => {this.$tabbar = el}}\n exceptOnClickActive={false}\n list={this.state.tabbar}\n onClick={this.onClickTab}\n activeIndex={this.state.tabbarActiveIndex}\n className=\"tabbar-dropdown tabbar-tiled border-b\"\n {...others}\n />];\n DOM.push(<Dialog\n key=\"dialog\"\n portal={this.props.portal}\n onClickMask={this.onClickMask}\n animation=\"slideDown\"\n style={{width: '100%'}}\n maskStyle={{top: this.state.top + 'px'}}\n show={this.state.dialogShow}\n >\n <MenuTiled\n list={this.state.menus}\n selectedId={this.state.menusSelectedId}\n onClick={this.onClickMenu}\n />\n </Dialog>);\n return DOM;\n }\n}\n","import InputText from './InputText.js';\n\nexport default InputText;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class InputText extends Component {\n static propTypes = {\n type: PropTypes.string, // 类型: text, number, tel, password\n valueBindProp: PropTypes.bool, // 值是否绑定属性\n pre: PropTypes.bool, // 自动扩充功能\n // 容器\n args: PropTypes.any,\n style: PropTypes.object,\n className: PropTypes.string,\n onClick: PropTypes.func,\n // 文本框\n autoFocus: PropTypes.bool,\n maxLength: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n max: PropTypes.oneOfType([ // 日期或者数字框\n PropTypes.string,\n PropTypes.number\n ]),\n min: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n digits: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number\n ]),\n readOnly: PropTypes.bool,\n disabled: PropTypes.bool,\n\n inputStyle: PropTypes.object,\n inputClassName: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n onClickInput: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n // 左右图标\n licon: PropTypes.node,\n onClickLicon: PropTypes.func, // 点击样式包含licon触发\n ricon: PropTypes.node,\n onClickRicon: PropTypes.func, // 点击样式包含ricon触发\n // 清除按键\n clear: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n clearClassName: PropTypes.string,\n clearStyle: PropTypes.object,\n // 右侧内容\n rcaption: PropTypes.node\n }\n static defaultProps = {\n type: 'text',\n value: '',\n readOnly: false,\n disabled: false,\n clearClassName: 'ricon close-icon-clear size18'\n }\n constructor(props) {\n super(props);\n this.state = {\n showClear: props.value && props.clear && !props.readOnly && !props.disabled // 用于非valueBindProp\n }\n }\n // 解决非valueBindProp状态下, readOnly和disabled发生变化时, 不更新清除按钮的问题\n componentDidUpdate = (prevProps) => {\n if (prevProps.readOnly !== this.props.readOnly || prevProps.disabled !== this.props.disabled) {\n this.updateShowClear()\n }\n }\n // 点击容器\n onClick = (e) => {\n e.stopPropagation();\n const {onClick, onClickInput, onClickLicon, onClickRicon} = this.props;\n if (this.props.disabled) return;\n var target = e.target;\n if (target.classList.contains('clearicon')) {\n this.onClear(e);\n } else if (target.classList.contains('licon')) {\n if (onClickLicon) onClickLicon(this.$input.value, Object.getArgs(e, this.props.args));\n } else if (target.classList.contains('ricon')) {\n if (onClickRicon) onClickRicon(this.$input.value, Object.getArgs(e, this.props.args));\n } else if (target.classList.contains('input-text')) {\n if (onClick) onClick(this.$input.value, Object.getArgs(e, this.props.args));\n if (onClickInput) onClickInput(this.$input.value, Object.getArgs(e, this.props.args));\n } else {\n if (onClick) onClick(this.$input.value, Object.getArgs(e, this.props.args));\n }\n }\n // 自动扩充功能\n preAutoSize = () => {\n this.$input.style.height = this.$pre.clientHeight + 'px';\n }\n // 文本框事件\n onChange = (e) => {\n var target = e.target;\n var value = target.value;\n const {\n pre, valueBindProp, type, onChange, maxLength\n } = this.props;\n // 自动扩充功能\n if (pre) {\n this.$pre.children[0].innerText = value;\n this.preAutoSize();\n }\n // 最大长度\n if (maxLength && value && value.length > maxLength) {\n value = value.substring(0, maxLength)\n }\n // 输入时只校验最大值、小数点、最大长度、返回错误\n if (type === 'number') {\n const {max, digits, onError} = this.props;\n value = Math.Calc.correctNumber(e.target.value, {max, digits, maxLength, onError});\n }\n // onChange\n if (onChange) onChange(value, Object.getArgs(e, this.props.args));\n // 非valueBindProp时, 更新清除按钮状态\n if (!valueBindProp) this.updateShowClear(value);\n }\n onBlur = (e) => {\n var target = e.target;\n var value = target.value;\n const {valueBindProp, min, type, onBlur, onChange} = this.props;\n if (type === 'number') {\n // 失去焦点时只校验非空、最小值\n value = Math.Calc.correctNumber(value, {min});\n if (!valueBindProp) target.value = value;\n if (onChange) onChange(value, Object.getArgs(e, this.props.args));\n }\n if (onBlur) onBlur(value, Object.getArgs(e, this.props.args));\n }\n onFocus = (e) => {\n var target = e.target;\n var value = target.value;\n const {onFocus, readOnly} = this.props;\n if (onFocus) {\n onFocus(value, Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n if (readOnly) {\n target.blur();\n }\n }\n // 点击清除\n onClear = (e) => {\n this.$input.focus();\n // 赋值\n const {args, valueBindProp, clear, pre, onChange} = this.props;\n if (!valueBindProp) this.$input.value = '';\n if (clear && typeof clear === 'function') clear('', Object.getArgs(e, args));\n if (onChange) {\n onChange('', Object.getArgs(e, args));\n }\n // 自动扩充功能\n if (pre) {\n this.preAutoSize();\n }\n e.stopPropagation();\n // 非valueBindProp时, 更新清除按钮状态\n if (!valueBindProp) this.updateShowClear('');\n }\n getInputDOM = () => {\n const {\n args, style, className, onClick, onChange, onClickInput, onBlur, onFocus,\n max, min, digits,\n licon, onClickLicon,\n ricon, onClickRicon,\n clear, clearClassName, clearStyle,\n rcaption, // 为others不多属性\n pre, // 自动伸缩文本框\n type,\n valueBindProp,\n autoFocus, inputClassName, inputStyle, maxLength, value, placeholder, readOnly, disabled,\n ...others\n } = this.props;\n // pre类型\n if (pre) {\n // pre的左右padding\n let preLeft = 0;\n let preRight = 0;\n if (inputStyle) {\n if (inputStyle.padding) {\n const paddingValues = inputStyle.padding.split(' ');\n if (paddingValues.length === 1) {\n preLeft = paddingValues[0];\n preRight = paddingValues[0];\n } else if (paddingValues.length === 2) {\n preLeft = paddingValues[1];\n preRight = paddingValues[1];\n } else if (paddingValues.length === 4) {\n preLeft = paddingValues[1];\n preRight = paddingValues[3];\n }\n } else if (inputStyle.paddingLeft || inputStyle.paddingRight) {\n preLeft = inputStyle.paddingLeft || '0';\n preRight = inputStyle.paddingRight || '0';\n }\n }\n return (<div className={`input-pre-box${inputClassName ? ' ' + inputClassName : ''}`} style={inputStyle}>\n {valueBindProp && <textarea autoFocus={autoFocus} ref={(el) => {this.$input = el;}} value={value} maxLength={maxLength} readOnly={readOnly} disabled={disabled} className={`input-pre`} placeholder={placeholder} onChange={this.onChange} onBlur={this.onBlur} onFocus={this.onFocus} {...others}></textarea>}\n {!valueBindProp && <textarea autoFocus={autoFocus} ref={(el) => {this.$input = el;}} defaultValue={value} maxLength={maxLength} readOnly={readOnly} disabled={disabled} className={`input-pre`} placeholder={placeholder} onChange={this.onChange} onBlur={this.onBlur} onFocus={this.onFocus} {...others}></textarea>}\n <pre ref={(el) => {this.$pre = el;}} style={{left: preLeft, right: preRight}}><span>{value}</span></pre>\n </div>);\n }\n // textarea类型\n if (type === 'textarea') {\n // 如果值绑定属性,则只有通过父组件的prop来改变值\n if (valueBindProp) {\n return <textarea autoFocus={autoFocus} ref={(el) => {this.$input = el;}} value={value} maxLength={maxLength} readOnly={readOnly} disabled={disabled} placeholder={placeholder} onChange={this.onChange} onBlur={this.onBlur} onFocus={this.onFocus} className={`input-area${inputClassName ? ' ' + inputClassName : ''}`} style={inputStyle} {...others}></textarea>;\n }\n return <textarea autoFocus={autoFocus} ref={(el) => {this.$input = el;}} defaultValue={value} maxLength={maxLength} readOnly={readOnly} disabled={disabled} placeholder={placeholder} onChange={this.onChange} onBlur={this.onBlur} onFocus={this.onFocus} className={`input-area${inputClassName ? ' ' + inputClassName : ''}`} style={inputStyle} {...others}></textarea>;\n }\n // 其它类型\n if (valueBindProp) { // 如果值绑定属性,则只有通过父组件的prop来改变值\n return <input max={max} min={min} autoFocus={autoFocus} ref={(el) => {this.$input = el;}} type={type} value={value} maxLength={maxLength} readOnly={readOnly} disabled={disabled} placeholder={placeholder} onChange={this.onChange} onBlur={this.onBlur} onFocus={this.onFocus} className={`input-text${inputClassName ? ' ' + inputClassName : ''}`} style={inputStyle} {...others}/>;\n }\n return <input max={max} min={min} autoFocus={autoFocus} ref={(el) => {this.$input = el;}} type={type} defaultValue={value} maxLength={maxLength} readOnly={readOnly} disabled={disabled} placeholder={placeholder} onChange={this.onChange} onBlur={this.onBlur} onFocus={this.onFocus} className={`input-text${inputClassName ? ' ' + inputClassName : ''}`} style={inputStyle} {...others}/>;\n }\n // 非valueBindProp时, 更新清除按钮状态\n updateShowClear = (value) => {\n const {readOnly, disabled, clear, valueBindProp} = this.props;\n if (valueBindProp) return;\n if (readOnly || disabled || !clear) {\n this.setState({\n showClear: false\n });\n return;\n }\n let showClear = false;\n if (value) {\n showClear = true;\n } else {\n showClear = false;\n }\n this.setState({\n showClear: showClear\n });\n }\n render() {\n const {\n value, valueBindProp,\n readOnly, disabled,\n className, style,\n licon,\n ricon,\n clear, clearClassName, clearStyle,\n rcaption\n } = this.props;\n // 支持valueBindProp和非valueBindProp两种模式的清空按钮控制\n let showClear = false;\n if (value && !readOnly && !disabled) {\n showClear = true;\n } else {\n showClear = false;\n }\n let isShowClear = valueBindProp ? showClear : this.state.showClear;\n return (<div ref={(el) => {this.$el = el;}} className={`input-text-box${className ? ' ' + className : ''}`} style={style} onClick={this.onClick}>\n {licon && licon}\n {this.getInputDOM()}\n {clear && <i className={`icon clearicon ${isShowClear ? '' : 'hide'}${clearClassName ? ' ' + clearClassName : ''}`} style={clearStyle}></i>}\n {ricon && ricon}\n {rcaption && rcaption}\n </div>);\n }\n}\n","import InputPre from './InputPre.js';\n\nexport default InputPre;\n","import React, { Component } from 'react';\nimport InputText from './../InputText';\n\nexport default class InputPre extends Component {\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n render() {\n return <InputText ref=\"$ComponentInputText\" {...this.props} pre/>;\n }\n}\n","// Emoji 表情管理\nvar Emoji = function (params) {\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n\t\tdata: null,\n\n\t\tmask: null,\n\t\tmaskClass: 'emoji-mask',\n\t\tmaskActiveClass: 'active',\n\t\tisClickMaskHide: true,\n\t\t\n\t\tcontainerClass: 'emoji',\n\t\tcontainerActiveClass: 'active',\n\n\t\tsubmitClass: 'emoji-edit-submit',\n\n\t\ttextareaClass: 'emoji-edit-input',\n\t\t\n\t\ticonClass: 'emoji-edit-icon', // 展开和收缩按钮\n\n\t\tfaceClass: 'emoji-face', // 表情\n\t\tfaceNameAttr: 'title',\n\t\tfaceIdAttr: 'data-emoji',\n\t\tdeleteClass: 'emoji-face-delete', // 删除表情按钮\n\n\t\tcarrouselClass: 'emoji-carrousel'\n\t\t/*\n callbacks\n\t\tonChange:function(value, s, e)\n\t\tonClickMask: function(s, e)\n\t\tonClickSubmit: function(value, s, e)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n\t}\n\t\n\t// Emoji\n\tvar s = this\n\t\n\t// Params\n\ts.params = params\n\n\t// Mask\n s.mask = typeof s.params.mask === 'string' ? document.querySelector(s.params.mask) : s.params.mask\n if (!s.mask) {\n console.log('SeedsUI Error:未找到Emoji的mask元素,请检查传入参数是否正确')\n return\n\t}\n\t\n // Container\n s.container = s.mask.querySelector('.' + s.params.containerClass)\n if (!s.container) {\n console.log('SeedsUI Error:未找到Emoji的container元素,请检查传入参数是否正确')\n return\n\t}\n\n\t// Textarea\n\ts.textarea = s.mask.querySelector('.' + s.params.textareaClass + ' textarea')\n\tif (!s.textarea) {\n console.log('SeedsUI Error:未找到Emoji的textarea元素,请检查传入参数是否正确')\n return\n\t}\n\tif (s.textarea.tagName !== 'TEXTAREA') {\n\t\tconsole.log('SeedsUI Error:Emoji的textarea元素必须为一个textarea')\n return\n\t}\n\n\t// Icon\n\ts.icon = s.mask.querySelector('.' + s.params.iconClass)\n\tif (!s.textarea) {\n console.log('SeedsUI Error:未找到Emoji的icon元素,请检查传入参数是否正确')\n return\n\t}\n\n\t// Carrousel\n\ts.carrousel = s.mask.querySelector('.' + s.params.carrouselClass)\n\tif (!s.textarea) {\n console.log('SeedsUI Error:未找到Emoji的carrousel元素,请检查传入参数是否正确')\n return\n\t}\n /* --------------------\n Method\n\t-------------------- */\n\t// 设置数据\n s.setData = function (data) {\n s.params.data = data\n\t}\n\t// 显隐\n\ts.showMask = function () {\n s.mask.classList.add(s.params.maskActiveClass)\n }\n s.hideMask = function () {\n s.mask.classList.remove(s.params.maskActiveClass)\n }\n s.destroyMask = function () {\n s.mask.parentNode.removeChild(s.mask)\n }\n s.showContainer = function () {\n s.container.classList.add(s.params.containerActiveClass)\n }\n s.hideContainer = function () {\n s.container.classList.remove(s.params.containerActiveClass)\n }\n\ts.show = function () {\n\t\ts.showMask()\n\t\ts.showContainer()\n\t}\n\ts.hide = function () {\n\t\ts.hideMask()\n\t\ts.hideContainer()\n\t}\n\t// 将文件转成图片\n\ts.parse = function (str) {\n\t\tvar emojiExpr = /(\\[[\\u4E00-\\u9FA5]*\\])/gm\n\t\tvar parseStr = str\n\t\twhile (emojiExpr.exec(str)) {\n\t\t\tif (s.params.data[RegExp.$1]) {\n\t\t\t\tparseStr = parseStr.replace(RegExp.$1, '<span ' + s.params.faceIdAttr + '=' + s.params.data[RegExp.$1] + '></span>')\n\t\t\t}\n\t\t}\n\t\treturn parseStr\n\t}\n\t// 监听位置\n\ts.cursorOffset = 0\n\n\t// 插入表情文字\n\ts.insertFace = function (emojiName) {\n\t\t// 设置value\n\t\tvar value = s.textarea.value\n\t\tvar valueBefore = value.substr(0, s.cursorOffset)\n\t\tvar valueAfter = value.substr(s.cursorOffset, value.length)\n\t\tvar valueInsert = emojiName\n\t\ts.cursorOffset = s.cursorOffset + emojiName.length\n\t\ts.textarea.value = valueBefore + valueInsert + valueAfter\n\t\t// 设置光标位置\n\t\t// s.textarea.focus()\n\t\t// s.setCaretPosition(s.textarea, s.cursorOffset)\n\t\treturn s.textarea.value;\n\t}\n\t// 删除表情文字\n\ts.deleteFace = function () {\n\t\t// 设置value\n\t\tvar value = s.textarea.value\n\t\tvar valueBefore = value.substr(0, s.cursorOffset)\n\t\tvar valueAfter = value.substr(s.cursorOffset, value.length)\n\t\tvar isDeleted = false\n\t\tif (!valueBefore) return value\n\t\t// 匹配光标前的最后一个表情\n\t\tfor (var face in s.params.data) {\n\t\t\tif (valueBefore.lastIndexOf(face) !== -1 && valueBefore.lastIndexOf(face) === valueBefore.length - face.length){\n\t\t\t\tvalueBefore = valueBefore.substring(0, valueBefore.lastIndexOf(face))\n\t\t\t\tisDeleted = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// 如果没有匹配到表情, 则删除最后一个字符\n\t\tif (!isDeleted) {\n\t\t\tvalueBefore = valueBefore.substring(0, valueBefore.length - 1)\n\t\t}\n\t\ts.cursorOffset = valueBefore.length\n\t\ts.textarea.value = valueBefore + valueAfter\n\t\t// 设置光标位置\n\t\t// s.textarea.focus()\n\t\t// s.setCaretPosition(s.textarea, s.cursorOffset)\n\t\treturn s.textarea.value;\n\t}\n\t// 设置光标位置\n s.setCaretPosition = function (input, pos) {\n if (!input) return\n\t\tif (input.createTextRange) {\n\t\t\tvar range = input.createTextRange()\n\t\t\trange.move('character', pos)\n\t\t\trange.select()\n\t\t} else {\n\t\t\tif (input.selectionStart) {\n\t\t\t\tinput.focus()\n\t\t\t\tinput.setSelectionRange(pos, pos)\n\t\t\t} else {\n\t\t\t\tinput.focus()\n\t\t\t}\n\t\t}\n\t}\n /* --------------------\n Controller\n\t-------------------- */\n\ts.preventDefault = function (e) {\n e.preventDefault()\n }\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n\t\ts.mask[action]('click', s.onClick, false)\n\t\t// ios内核bug兼容\n\t\tif (navigator.userAgent.toLowerCase().match(/cpu iphone os (.*?) like mac os/)) {\n\t\t\t// 获取焦点\n\t\t\ts.textarea[action]('focus', s.onFocus, false)\n\t\t\t// 去除获取焦点时的滚动条\n\t\t\ts.mask[action]('touchmove', s.preventDefault, false)\n\t\t\t// 失去焦点\n\t\t\ts.textarea[action]('blur', s.onBlur, false)\n\t\t}\n\t\t// 获得光标位置\n\t\tdocument[action]('selectionchange', s.onSelectionChange, false)\n\t\ts.textarea[action]('input', s.onInput, false)\n }\n s.attach = function () {\n s.events()\n }\n s.detach = function () {\n s.events(false)\n\t}\n\ts.onClick = function (e) {\n\t\tvar target = e.target;\n if (target.classList.contains(s.params.faceClass)) { // 点击表情\n var value = s.insertFace(target.getAttribute(s.params.faceNameAttr))\n\t\t\tif (s.params.onChange) s.params.onChange(value, s)\n\t\t} else if (target.classList.contains(s.params.iconClass)) { // 点击展开收缩图标\n\t\t\tif (s.carrousel.style.display === 'none') {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ts.carrousel.style.display = 'block'\n\t\t\t\t\ts.icon.classList.add('active')\n\t\t\t\t}, 100)\n\t\t\t\t// 解决ios12输入法遮挡的问题\n\t\t\t\ts.textarea.disabled = true\n\t\t\t} else {\n\t\t\t\ts.carrousel.style.display = 'none'\n\t\t\t\ts.icon.classList.remove('active')\n\t\t\t}\n\t\t} else if (target.classList.contains(s.params.maskClass)) { // 点击遮罩\n\t\t\tif (s.params.onClickMask) s.params.onClickMask(s, e)\n if (s.params.isClickMaskHide) s.hide()\n\t\t} else if (target.classList.contains(s.params.submitClass)) { // 点击提交\n\t\t\tif (s.params.onClickSubmit) s.params.onClickSubmit(s.textarea.value, s, e)\n if (s.params.isClickMaskHide) s.hide()\n\t\t} else if (target.classList.contains(s.params.deleteClass)) { // 点击删除\n\t\t\ts.deleteFace()\n\t\t} else if (target.tagName === 'TEXTAREA') { // 点击文本框\n\t\t\ts.icon.classList.remove('active')\n\t\t\ts.carrousel.style.display = 'none'\n\t\t\ts.textarea.disabled = false\n\t\t\ts.textarea.focus()\n\t\t}\n\t\te.stopPropagation()\n\t}\n\t// 兼容iphonex迅飞输入法快捷选词栏遮住输入框的问题\n\ts.onFocus = function () {\n\t\tsetTimeout(() => {\n\t\t\tdocument.body.scrollTop = document.body.scrollHeight\n\t\t}, 300)\n\t}\n\t// 兼容ios12输入法把页面顶上去, 不回弹的问题\n\ts.onBlur = function () {\n\t\tsetTimeout(() => {\n\t\t\tdocument.body.scrollTop = 0\n\t\t}, 10);\n\t}\n\t// 获得光标位置\n\ts.onSelectionChange = function (e) {\n\t\tif (Object.prototype.toString.call(e.target.activeElement) === '[object HTMLTextAreaElement]') {\n\t\t\ts.cursorOffset = s.textarea.selectionStart\n\t\t}\n\t}\n\ts.onInput = function (e) {\n\t\ts.cursorOffset = e.target.selectionStart\n\t}\n /* --------------------\n Init\n -------------------- */\n s.init = function () {\n s.attach()\n }\n s.init()\n}\n\nexport default Emoji\n","var emojis = {\n '[微笑]': '[weixiao]',\n '[撇嘴]': '[piezui]',\n '[色]': '[se]',\n '[发呆]': '[fadai]',\n '[酷]': '[cool]',\n '[大哭]': '[daku]',\n '[害羞]': '[haixiu]',\n '[闭嘴]': '[bizui]',\n\n '[睡觉]': '[shuijiao]',\n '[哭]': '[ku]',\n '[尴尬]': '[ganga]',\n '[发怒]': '[fanu]',\n '[眨眼]': '[zhayan]',\n '[龇牙]': '[ziya]',\n '[惊讶]': '[jingya]',\n '[难过]': '[nanguo]',\n \n '[得意]': '[deyi]',\n '[囧]': '[jiong]',\n '[抓狂]': '[zhuakuang]',\n '[呕吐]': '[outu]',\n '[偷笑]': '[touxiao]',\n '[开心]': '[kaixin]',\n '[白眼]': '[baiyan]',\n\n '[傲慢]': '[aoman]',\n '[饥饿]': '[jie]',\n '[困]': '[kun]',\n '[惊吓]': '[jingxia]',\n '[流汗]': '[liuhan]',\n '[大笑]': '[daxiao]',\n '[抽烟]': '[chouyan]',\n '[奋斗]': '[fendou]',\n\n '[骂人]': '[maren]',\n '[问]': '[wen]',\n '[嘘]': '[xu]',\n '[晕]': '[yun]',\n '[狂燥]': '[kuangzao]',\n '[衰]': '[shuai]',\n '[骷髅]': '[kulou]',\n '[敲头]': '[qiaotou]',\n\n '[拜拜]': '[baibai]',\n '[擦汗]': '[cahan]',\n '[挖鼻孔]': '[wabikong]',\n '[恭喜]': '[gongxi]',\n '[糗]': '[qiu]',\n '[坏笑]': '[huaixiao]',\n '[左哼哼]': '[zuohengheng]',\n\n '[右哼哼]': '[youhengheng]',\n '[打哈欠]': '[dahaqian]',\n '[鄙视]': '[bishi]',\n '[受委屈]': '[shouweiqu]',\n '[委屈]': '[weiqu]',\n '[奸笑]': '[jianxiao]',\n '[亲亲]': '[qingqing]',\n '[吓]': '[xia]',\n\n '[可怜]': '[kelian]',\n '[菜刀]': '[caidao]',\n '[西瓜]': '[xigua]',\n '[啤酒]': '[pijiu]',\n '[篮球]': '[lanqiu]',\n '[乒乓球]': '[pingpangqiu]',\n '[咖啡]': '[kafei]',\n '[米饭]': '[mifan]',\n\n '[猪头]': '[zhutou]',\n '[玫瑰]': '[meigui]',\n '[花谢了]': '[huaxiele]',\n '[红唇]': '[hongchun]',\n '[心]': '[xin]',\n '[心碎]': '[xinsui]',\n '[蛋糕]': '[dangao]',\n\n '[闪电]': '[shandian]',\n '[炸弹]': '[zhadan]',\n '[刀]': '[dao]',\n '[足球]': '[zuqiu]',\n '[瓢虫]': '[piaochong]',\n '[大便]': '[dabian]',\n '[夜晚]': '[yewan]',\n '[太阳]': '[taiyang]',\n\n '[礼物]': '[liwu]',\n '[抱抱]': '[baobao]',\n '[强]': '[qiang]',\n '[弱]': '[ruo]',\n '[握手]': '[woshou]',\n '[Yeah]': '[yeah]',\n '[抱拳]': '[baoquan]',\n '[来]': '[lai]',\n\n\n '[加油]': '[jiayou]',\n '[差劲]': '[chajin]',\n '[我爱你]': '[iloveyou]',\n '[No]': '[no]',\n '[Ok]': '[ok]'\n}\n\nexport default emojis","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\nimport Carrousel from './../Carrousel';\nimport InputPre from './../InputPre';\nimport Button from './../Button';\nimport Instance from './instance.js';\nimport data from './instance.data.js';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class Emoji extends Component {\n static propTypes = {\n show: PropTypes.bool, // ios内核必须隐藏, 不能移除dom, 弹出时才不会有bug, 所以必须用show\n data: PropTypes.object,\n\n portal: PropTypes.object,\n args: PropTypes.any,\n\n autoFocus: PropTypes.bool,\n\n value: PropTypes.string,\n placeholder: PropTypes.string,\n\n isClickMaskHide: PropTypes.bool,\n onClickMask: PropTypes.func,\n\n maskClassName: PropTypes.string,\n maskStyle: PropTypes.object,\n\n className: PropTypes.string,\n style: PropTypes.object,\n\n licon: PropTypes.node,\n\n onChange: PropTypes.func,\n\n submitStyle: PropTypes.object,\n submitClassName: PropTypes.string,\n submitCaption: PropTypes.node,\n onClickSubmit: PropTypes.func,\n }\n static defaultProps = {\n autoFocus: false,\n data: data,\n placeholder: window._seeds_lang['say_something'] || '说点什么吧...',\n isClickMaskHide: false,\n submitCaption: window._seeds_lang['submit'] || '提交',\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate = (prevProps) => {\n // 自动获取焦点\n if (this.props.autoFocus && prevProps.show !== this.props.show && this.props.show === true && this.$inputPre) {\n this.$inputPre.$input.focus();\n }\n }\n componentDidMount = () => {\n if (this.props.autoFocus && this.$inputPre) this.$inputPre.$input.focus();\n if (this.instance) return\n var instance = new Instance({\n data: this.props.data,\n\n mask: this.$el,\n isClickMaskHide: this.props.isClickMaskHide,\n onClickMask: this.onClickMask,\n\n onClickSubmit: this.onClickSubmit,\n\n onChange: this.props.onChange\n });\n this.instance = instance;\n }\n // 遮罩\n onClickMask = (s, e) => {\n if (this.props.onClickMask) this.props.onClickMask(Object.getArgs(e, this.props.args));\n }\n // 提交按钮\n onClickSubmit = (value, s, e) => {\n if (this.props.onClickSubmit) this.props.onClickSubmit(value, Object.getArgs(e, this.props.args));\n }\n // 表情\n getFaceDOM = () => {\n const {data} = this.props;\n // icons分页变量\n const icons = [];\n let page = 0;\n let index = 0;\n let count = 23;\n // icons分页\n for (let name in data) {\n if (index !== 0 && index % count === 0) {\n page++;\n }\n if (!icons[page]) icons[page] = [];\n icons[page].push({key: name, value: data[name]});\n index++;\n }\n // 生成DOM\n return icons.map((icon, i) => {\n return <div key={`page${i}`} className={`emoji-carrousel-slide`}>\n {icon.map((item, index) => {\n return <a key={`face${index}`} className={`emoji-face`} data-emoji={item.value} title={item.key}>&nbsp;</a>\n })}\n <a className={`emoji-face-delete`}>&nbsp;</a>\n </div>\n });\n }\n \n render() {\n const {\n show,\n data,\n portal,\n args,\n autoFocus,\n value,\n placeholder,\n isClickMaskHide,\n onClickMask,\n maskClassName,\n maskStyle,\n className,\n style,\n licon,\n onChange,\n submitCaption,submitStyle, submitClassName, onClickSubmit,\n ...others\n } = this.props;\n return createPortal(\n <div ref={el => {this.$el = el;}} className={`mask emoji-mask${show ? ' active' : ''}${maskClassName ? ' ' + maskClassName : ''}`} style={maskStyle} onClick={this.onClickMask}>\n <div ref={el => {this.$container = el;}} className={`emoji active${className ? ' ' + className : ''}`} style={style} onClick={this.onClick}>\n {licon}\n <div className=\"emoji-edit\">\n <InputPre\n ref={(el) => {this.$inputPre = el;}}\n className=\"emoji-edit-input\"\n inputStyle={{padding: '0'}}\n valueBindProp\n value={value}\n onChange={onChange}\n placeholder={placeholder}\n {...others}\n />\n <i ref={(el) => {this.$icon = el;}} className={`icon emoji-edit-icon`}></i>\n <Button className={`emoji-edit-submit${submitClassName ? ' ' + submitClassName : ''}`} style={submitStyle} disabled={!value}>{submitCaption}</Button>\n </div>\n <Carrousel ref={(el) => {this.$carrousel = el;}} pagination className={`carrousel-container emoji-carrousel`} style={{display: 'none'}}>\n {this.getFaceDOM()}\n </Carrousel>\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import Emoji from './Emoji.js';\n\nexport default Emoji;\n","import Footer from './Footer.js';\n\nexport default Footer;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Footer extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n children: PropTypes.node\n }\n constructor(props) {\n super(props);\n }\n\n render() {\n const {style, className, children, ...others} = this.props;\n return (\n <footer ref={el => {this.$el = el;}} className={'footer' + (className ? ' ' + className : '')} style={style} {...others}>\n {children}\n </footer>\n );\n }\n}\n","import Group from './Group.js';\n\nexport default Group;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Group extends Component {\n static propTypes = {\n args: PropTypes.any,\n\n style: PropTypes.object,\n className: PropTypes.string,\n children: PropTypes.node,\n onClick: PropTypes.func\n }\n static defaultProps = {\n className: 'border-tb'\n }\n constructor(props) {\n super(props);\n }\n onClick = (e) => {\n if (this.props.onClick) this.props.onClick(Object.getArgs(e, this.props.args));\n }\n render() {\n const {args, children, style, className, onClick, ...others} = this.props;\n return (\n <div ref={el => {this.$el = el;}} className={'group' + (className ? ' ' + className : '')} style={style} onClick={this.onClick} {...others}>\n {children}\n </div>\n );\n }\n}\n","var Handsign = function (container, params) {\n /* ----------------------\n Model\n ---------------------- */\n var defaults = {\n strokeStyle: '#000',\n lineWidth: 3,\n\n suffix: 'image/png',\n quality: 0.92\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n if (!s.container) {\n console.log('SeedsUI Error : HandSign container不存在,请检查页面中是否有此元素')\n return\n }\n s.width = s.container.width\n s.height = s.container.height\n s.ctx = s.container.getContext('2d')\n s.stageInfo = s.container.getBoundingClientRect()\n s.path = {\n beginX: 0,\n beginY: 0,\n endX: 0,\n endY: 0\n }\n // 标识是否绘制过\n s.isDrew = false\n /* ----------------------\n Model Method\n ---------------------- */\n s.setStrokeStyle = function (strokeStyle) {\n if (strokeStyle) {\n s.params.strokeStyle = strokeStyle\n }\n }\n s.setLineWidth = function (lineWidth) {\n if (lineWidth) {\n s.params.lineWidth = lineWidth\n }\n }\n s.setSuffix = function (suffix) {\n if (suffix) {\n s.params.suffix = suffix\n }\n }\n s.setQuality = function (quality) {\n if (quality) {\n s.params.quality = quality\n }\n }\n /* ----------------------\n Events\n ---------------------- */\n s.preventDefault = function (e) {\n e.preventDefault()\n }\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n s.container[action]('touchstart', s.onTouchStart, false)\n s.container[action]('touchmove', s.onTouchMove, false)\n s.container[action]('touchend', s.onTouchEnd, false)\n s.container[action]('touchcancel', s.onTouchEnd, false)\n }\n // attach、detach事件\n s.attach = function () {\n s.events()\n }\n s.detach = function () {\n s.events(true)\n }\n s.onTouchStart = function (e) {\n e.stopPropagation()\n s.container.addEventListener('touchmove', s.preventDefault, false)\n window.getSelection() ? window.getSelection().removeAllRanges() : document.selection.empty()\n s.ctx.strokeStyle = s.params.strokeStyle\n s.ctx.lineWidth = s.params.lineWidth\n s.stageInfo = s.container.getBoundingClientRect()\n s.ctx.beginPath()\n s.ctx.moveTo(\n e.changedTouches[0].clientX - s.stageInfo.left,\n e.changedTouches[0].clientY - s.stageInfo.top\n )\n s.path.beginX = e.changedTouches[0].clientX - s.stageInfo.left\n s.path.beginY = e.changedTouches[0].clientY - s.stageInfo.top\n }\n s.onTouchMove = function (e) {\n e.stopPropagation()\n s.ctx.lineTo(\n e.changedTouches[0].clientX - s.stageInfo.left,\n e.changedTouches[0].clientY - s.stageInfo.top\n )\n s.path.endX = e.changedTouches[0].clientX - s.stageInfo.left\n s.path.endY = e.changedTouches[0].clientY - s.stageInfo.top\n s.ctx.stroke()\n // 标识是否绘制过\n s.isDrew = true\n }\n s.onTouchEnd = function (e) {\n s.container.removeEventListener('touchmove', s.preventDefault, false)\n }\n /* ----------------------\n Method\n ---------------------- */\n // 获取设备缩放比率\n s.getPixelRatio = function () {\n var context = s.ctx\n var backingStore = context.backingStorePixelRatio ||\n context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio || 1\n return (window.devicePixelRatio || 1) / backingStore\n }\n // 清除签名\n s.clear = function () {\n s.ctx.clearRect(0, 0, s.width, s.height)\n // 清除画过\n s.isDrew = false\n }\n // 是否空白\n s.blank = function () {\n var blank = document.createElement('canvas')\n blank.width = s.container.width\n blank.height = s.container.height\n if (s.container.toDataURL() === blank.toDataURL()) return true\n return false\n }\n // 保存签名\n s.save = function () {\n return s.container.toDataURL(s.params.suffix, s.params.quality)\n }\n // 计算top left bottom center的位置\n s.calcPosition = function (w, h, pos) {\n var posArr = pos.split(' ').map(function (item, index){\n var x = 0\n var y = 0\n // 如果是数字\n if (!isNaN(item)) {\n if (index === 0) return {x: item}\n if (index === 1) return {y: item}\n }\n // 如果是字符串\n if (item === 'top') return {y: 0}\n if (item === 'left') return {x: 0}\n if (item === 'right') {\n x = s.width < w ? 0 : s.width - w\n return {x: x}\n }\n if (item === 'bottom') {\n y = s.height < h ? 0 : s.height - h\n return {y: y}\n }\n if (item === 'center') {\n x = (s.width - w) / 2\n return {x: x}\n }\n if (item === 'middle') {\n y = (s.height - h) / 2\n return {y: y}\n }\n return {x: 0, y: 0}\n })\n var posJson = {\n x: 0,\n y: 0\n }\n posArr.forEach(function (item) {\n if (item.x) {\n posJson.x = item.x\n } else if (item.y) {\n posJson.y = item.y\n }\n })\n return {\n x: posJson.x || 0,\n y: posJson.y || 0\n }\n }\n // 绘制图片\n s.drawImg = function (imgSrc, opts = {}) {\n if (!imgSrc) {\n console.log('SeedsUI Error:手写签名drawImg缺少imgSrc')\n return\n }\n var imgW = opts.width\n var imgH = opts.height\n var imgP = opts.position || 'bottom right'\n\n var img = new Image()\n img.crossOrigin = 'Anonymous'\n img.src = imgSrc\n img.onload = function () {\n var sx = 0 // 剪切的 x 坐标\n var sy = 0 // 剪切的 y 坐标\n var width = imgW || img.width // 使用的图像宽度\n var height = imgH || img.height // 使用的图像高度\n var swidth = img.width // 剪切图像的宽度\n var sheight = img.height // 剪切图像的高度\n var pos = s.calcPosition(width, height, imgP) // 画布上放置xy坐标\n s.ctx.drawImage(img, sx, sy, swidth, sheight, pos.x, pos.y, width, height)\n // 成功回调\n if (opts.onSuccess) opts.onSuccess()\n }\n }\n // 绘制文字\n s.drawFont = function (text, opts = {}) {\n if (!text) {\n console.log('SeedsUI Error:手写签名drawFont缺少文字')\n return\n }\n var fontSize = opts.fontSize || 15\n var fontFamily = opts.fontFamily || 'microsoft yahei'\n var fontPosition = opts.position || 'bottom center'\n var fontStyle = opts.color || 'rgba(0, 0, 0, 1)'\n if (isNaN(fontSize)) {\n console.log('SeedsUI Error:文字大小请输入数字类型')\n return\n }\n var height = fontSize\n var width = text.length * height\n var pos = s.calcPosition(width, height, fontPosition) // 画布上放置xy坐标\n var calcY = pos.y === 0 ? Number(pos.y) + Number(height) : Number(pos.y) + Number(height) -5 // 文字垂直位置有整个高度的偏差\n // 写字\n s.ctx.font = fontSize + 'px ' + fontFamily\n s.ctx.fillStyle = fontStyle\n s.ctx.fillText(text, pos.x, calcY)\n }\n // 绘制背景\n s.drawBackgroundColor = function (fillStyle) {\n s.ctx.fillStyle = fillStyle\n s.ctx.fillRect(0, 0, s.width, s.height)\n }\n // 主函数\n s.init = function () {\n s.attach()\n }\n\n s.init()\n}\n\nexport default Handsign\n","import Handsign from './Handsign.js';\n\nexport default Handsign;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class Handsign extends Component {\n static propTypes = {\n strokeStyle: PropTypes.string,\n lineWidth: PropTypes.number,\n quality: PropTypes.number,\n suffix: PropTypes.string,\n // 不能使用style制定宽高,canvas用style的width|height会导致绘图位置不正确\n width: PropTypes.number, // 宽度\n height: PropTypes.number, // 高度\n style: PropTypes.object,\n className: PropTypes.string\n }\n static defaultProps = {\n strokeStyle: '#000',\n lineWidth: 3,\n quality: 0.92,\n width: 300,\n height: 300\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate (prevProps) {\n if (this.instance) {\n if (prevProps.strokeStyle !== this.props.strokeStyle) {\n this.instance.setStrokeStyle(this.props.strokeStyle);\n }\n if (prevProps.lineWidth !== this.props.lineWidth) {\n this.instance.setLineWidth(this.props.lineWidth);\n }\n if (prevProps.quality !== this.props.quality) {\n this.instance.setQuality(this.props.quality);\n }\n if (prevProps.suffix !== this.props.suffix) {\n this.instance.setSuffix(this.props.suffix);\n }\n }\n }\n componentDidMount () {\n if (this.instance) return;\n var instance = new Instance(this.$el, {\n strokeStyle: this.props.strokeStyle,\n lineWidth: this.props.lineWidth,\n quality: this.props.quality,\n suffix: this.props.suffix\n });\n this.instance = instance;\n }\n render() {\n const {\n strokeStyle, lineWidth, quality,\n width, height, style, className,\n ...others\n } = this.props;\n return (\n <canvas ref={el => {this.$el = el;}} className={className} style={style} width={width} height={height} {...others}>Canvas画板</canvas>\n );\n }\n}\n","import Header from './Header.js';\n\nexport default Header;\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\n\nexport default class Header extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n children: PropTypes.node\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n\n render() {\n const {style, className, children, ...others} = this.props;\n return (\n <header ref={el => {this.$el = el;}} className={'header' + (className ? ' ' + className : '')} style={style} {...others}>\n {children}\n </header>\n );\n }\n}\n","var Imgmark = function (container, params) {\n /* ----------------------\n Model\n ---------------------- */\n var defaults = {\n loadingClass: 'imgmark-loading',\n errorClass: 'imgmark-error',\n activeClass: 'active',\n\n src: '',\n isDrawSrc: true, // 是否连同背景一起绘制到canvas上\n data: [],\n strokeStyle: '#00ff00',\n lineWidth: 3,\n\n suffix: 'image/png',\n quality: 0.92\n\n /*\n Callbacks:\n onSuccess: function(Imgmark)\n onError: function(Imgmark)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n if (!s.container) {\n console.log('SeedsUI Error : ImgMark container不存在,请检查页面中是否有此元素')\n return\n }\n s.loadingContainer = s.container.parentNode.querySelector('.' + s.params.loadingClass) || null\n s.errorContainer = s.container.parentNode.querySelector('.' + s.params.errorClass) || null\n s.ctx = s.container.getContext('2d')\n s.stageInfo = s.container.getBoundingClientRect()\n s.path = {\n beginX: 0,\n beginY: 0,\n endX: 0,\n endY: 0\n }\n /* ----------------------\n Model Method\n ---------------------- */\n s.setData = function (data) {\n if (data) {\n s.params.data = data\n }\n }\n s.setStrokeStyle = function (strokeStyle) {\n if (strokeStyle) {\n s.params.strokeStyle = strokeStyle\n }\n }\n s.setLineWidth = function (lineWidth) {\n if (lineWidth) {\n s.params.lineWidth = lineWidth\n }\n }\n s.setSuffix = function (suffix) {\n if (suffix) {\n s.params.suffix = suffix\n }\n }\n s.setQuality = function (quality) {\n if (quality) {\n s.params.quality = quality\n }\n }\n s.setIsDrawSrc = function (isDrawSrc) {\n if (isDrawSrc) {\n s.params.isDrawSrc = isDrawSrc\n }\n }\n s.setOnSuccess = function (onSuccess) {\n if (onSuccess) {\n s.params.onSuccess = onSuccess\n }\n }\n s.setOnError = function (onError) {\n if (onError) {\n s.params.onError = onError\n }\n }\n /* ----------------------\n Method\n ---------------------- */\n // 清除\n s.clear = function () {\n s.ctx.clearRect(0, 0, s.container.width, s.container.height)\n }\n // 保存图片为base64\n s.save = function () {\n try {\n return s.container.toDataURL(s.params.suffix, s.params.quality)\n } catch (error) {\n console.error(error)\n return null\n }\n }\n // 绘制图片\n s.draw = function (img, data, isDrawSrc) {\n if (!img) {\n console.log('SeedsUI Error:ImgMark执行draw缺少img')\n return\n }\n if (!data) {\n console.log('SeedsUI Error:ImgMark执行draw缺少img')\n return\n }\n if (isDrawSrc) {\n s.ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, img.width, img.height)\n }\n for (let item of data) {\n if (item.strokeStyle) s.ctx.strokeStyle = item.strokeStyle\n else s.ctx.strokeStyle = s.params.strokeStyle\n if (item.lineWidth) s.ctx.lineWidth = item.lineWidth\n else s.ctx.lineWidth = s.params.lineWidth\n if (item.setLineDash) s.ctx.setLineDash(item.setLineDash);\n s.ctx.strokeRect(item.x1, item.y1, item.x2 - item.x1, item.y2 - item.y1)\n }\n }\n s.update = function () {\n if (s.params.src) {\n var img = new Image()\n img.src = s.params.src\n img.addEventListener('load', s.onLoad, false)\n img.addEventListener('error', s.onError, false)\n }\n }\n /* ----------------------\n Events\n ---------------------- */\n s.onLoad = function (e) {\n var target = e.target\n // 显隐\n if (s.loadingContainer) s.loadingContainer.classList.remove(s.params.activeClass)\n if (s.errorContainer) s.errorContainer.classList.remove(s.params.activeClass)\n s.container.classList.add(s.params.activeClass)\n // 绘图\n s.container.width = target.width\n s.container.height = target.height\n s.draw(target, s.params.data, s.params.isDrawSrc)\n // 缩小\n var scale = s.params.height / target.height\n s.container.style.WebkitTransform = `scale(${scale}) translate(-50%,-50%)`\n s.container.style.WebkitTransformOrigin = `0 0`\n // Callback\n if (s.params.onSuccess) s.params.onSuccess(s)\n }\n s.onError = function () {\n if (s.loadingContainer) s.loadingContainer.classList.remove(s.params.activeClass)\n if (s.errorContainer) s.errorContainer.classList.add(s.params.activeClass)\n s.container.classList.remove(s.params.activeClass)\n // Callback\n if (s.params.onError) s.params.onError(s)\n }\n // 主函数\n s.init = function () {\n s.update()\n }\n\n s.init()\n}\n\nexport default Imgmark\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\nimport Bridge from './../Bridge';\nimport BridgeBrowser from './../Bridge/bridgeBrowser';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class ImgMark extends Component {\n static propTypes = {\n // 数据源\n data: PropTypes.array, // [{strokeStyle: '', lineWidth: '', setLineDash: [], x1: '', y1: '', x2: '', y2: ''}]\n src: PropTypes.string,\n // canvas样式\n isDrawSrc: PropTypes.bool, // 是否绘制背景\n watermark: PropTypes.string,\n strokeStyle: PropTypes.string,\n lineWidth: PropTypes.number,\n quality: PropTypes.number,\n // 不能使用style制定宽高,canvas用style的width|height会导致绘图位置不正确\n width: PropTypes.number, // 宽度\n height: PropTypes.number, // 高度\n style: PropTypes.object,\n className: PropTypes.string,\n\n onClick: PropTypes.func,\n\n preview: PropTypes.bool, // 是否预览\n\n children: PropTypes.node\n }\n static defaultProps = {\n isDrawSrc: false,\n strokeStyle: '#00ff00',\n lineWidth: 3,\n quality: 0.92,\n height: 300,\n preview: true\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate (prevProps) {\n if (this.instance) {\n if (prevProps.isDrawSrc !== this.props.isDrawSrc) {\n this.instance.setIsDrawSrc(this.props.isDrawSrc);\n this.instance.update();\n }\n if (prevProps.strokeStyle !== this.props.strokeStyle) {\n this.instance.setStrokeStyle(this.props.strokeStyle);\n this.instance.update();\n }\n if (prevProps.lineWidth !== this.props.lineWidth) {\n this.instance.setLineWidth(this.props.lineWidth);\n this.instance.update();\n }\n if (prevProps.quality !== this.props.quality) {\n this.instance.setQuality(this.props.quality);\n this.instance.update();\n }\n if (prevProps.data !== this.props.data) {\n this.instance.setData(this.props.data);\n this.instance.update();\n }\n }\n }\n componentDidMount () {\n if (this.instance) return;\n var instance = new Instance(this.$el, {\n src: this.props.src,\n data: this.props.data,\n isDrawSrc: this.props.isDrawSrc,\n height: this.props.height,\n strokeStyle: this.props.strokeStyle,\n lineWidth: this.props.lineWidth,\n quality: this.props.quality,\n onError: this.onError,\n onSuccess: this.onSuccess\n });\n this.instance = instance;\n }\n validSrc = false\n onError = () => {\n this.validSrc = false\n }\n onSuccess = () => {\n this.validSrc = true\n }\n onClick = () => {\n var layer = '' // 绘制的base64编码\n if (this.props.preview) {\n if (!this.validSrc) {\n Bridge.showToast(`${window._seeds_lang['hint_image_failed_to_load'] || '图片加载失败'}, ${window._seeds_lang['cannot_preview'] || '无法预览'}`, {mask: false});\n return;\n }\n if (this.props.isDrawSrc) { // 绘制背景\n layer = this.instance.save();\n if (layer) {\n Bridge.previewImage({urls: [layer], index: 0});\n }\n } else { // 不绘制背景\n layer = this.instance.save();\n var previewHTML = `<div class=\"preview-layer\" style=\"background-image:url(${layer})\"></div>`;\n if (this.props.watermark) { // 水印\n previewHTML += `<div class=\"preview-layer\" style=\"background-image:url(${this.props.watermark});background-repeat: repeat; background-size:auto;\"></div>`;\n }\n BridgeBrowser.previewImage({urls: [this.props.src], layerHTML: previewHTML});\n }\n }\n if (this.props.onClick) this.props.onClick(layer)\n }\n render() {\n const {\n data, src, isDrawSrc, watermark,\n strokeStyle, lineWidth, quality,\n width, height, style, className,\n onClick,\n preview,\n children,\n ...others\n } = this.props;\n let isDrawSrcStyle = {};\n if (!isDrawSrc) {\n isDrawSrcStyle = {backgroundImage: `url(${src})`};\n }\n return (\n <div className={`imgmark${className ? ' ' + className : ''}`} style={Object({width: width, height: height}, style)} onClick={this.onClick} {...others}>\n <div className={`imgmark-loading active`}>\n <div className={`imgmark-loading-icon`}></div>\n </div>\n <canvas ref={el => {this.$el = el;}} className={`imgmark-wrapper`} style={isDrawSrcStyle}>\n Canvas画板\n </canvas>\n <div className={`imgmark-error`}>\n <div className={`imgmark-error-icon`}></div>\n <div className={`imgmark-error-caption`}>{window._seeds_lang['hint_image_failed_to_load'] || '图片加载失败'}</div>\n </div>\n {/* 内容 */}\n {children}\n </div>\n );\n }\n}\n","import ImgMark from './ImgMark.js';\n\nexport default ImgMark;\n","// Indexbar 索引控件\nvar Indexbar = function (params) {\n\t/* -----------------------\n Model\n ----------------------- */\t\n\tvar defaults = {\n\t\toverflowContainer: document.body,\n\t\tparent: document.body,\n\t\tindexAttr: 'data-indexbar-name', // DOM索引属性\n\t\tindexs: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'G', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'],\n\t\tbarClass: 'indexbar',\n\t\tbarActiveClass: 'active',\n\t\ttooltipClass: 'indexbar-tooltip'\n\t}\n\tparams = params || {}\n\tfor (var def in defaults) {\n\t\tif (params[def] === undefined) {\n\t\t\tparams[def] = defaults[def]\n\t\t}\n\t}\n\t// Indexbar\n\tvar s = this\n\n\t// Params\n\ts.params = params\n\n\t// Parent | OverflowContainer\n\ts.parent = typeof s.params.parent === 'string' ? document.querySelector(s.params.parent) : s.params.parent\n\ts.overflowContainer = typeof s.params.overflowContainer === 'string' ? document.querySelector(s.params.overflowContainer) : s.params.overflowContainer\n\tif (!s.overflowContainer) {\n\t\tconsole.warn('SeedsUI Error: IndexBar控件缺少overflowContainer')\n\t\treturn\n\t}\n\n\t// Bar\n\ts.bar = null\n\ts.createBar = function () {\n\t\tvar bar = document.createElement('div')\n\t\tbar.setAttribute('class', s.params.barClass)\n\t\treturn bar\n\t}\n\ts.createIndexs = function () {\n\t\tvar indexs = []\n\t\ts.params.indexs.forEach(function (n) {\n\t\t\tvar index = document.createElement('a')\n\t\t\tindex.innerHTML = n\n\t\t\tindexs.push(index)\n\t\t})\n\t\treturn indexs\n\t}\n\n\t// ToolTip\n\ts.tooltip = null\n\ts.createToolTip = function () {\n\t\tvar div = document.createElement('div')\n\t\tdiv.setAttribute('class', s.params.tooltipClass)\n\t\treturn div\n\t}\n\n\t// Indexs\n\ts.update = function () {\n\t\ts.bar = s.parent.querySelector('.' + s.params.barClass)\n if (!s.bar) {\n\t\t\ts.bar = s.createBar()\n\t\t\ts.indexs = s.createIndexs()\n\t\t\ts.indexs.forEach(function (n) {\n\t\t\t\ts.bar.appendChild(n)\n\t\t\t})\n\t\t\ts.parent.appendChild(s.bar)\n\t\t}\n\t\t// tooltip必须在bar的后面, 否则active显示样式将不生效\n\t\ts.tooltip = s.parent.querySelector('.' + s.params.tooltipClass)\n\t\tif (!s.tooltip) {\n\t\t\ts.tooltip = s.createToolTip()\n\t\t\ts.bar.parentNode.insertBefore(s.tooltip, s.bar.nextSibling)\n\t\t}\n }\n\ts.update()\n\n\t// Tooltip\n\ts.tooltip = s.parent.querySelector('.' + s.params.tooltipClass)\n\n\t/* -----------------------\n\tMethod\n\t----------------------- */\n\ts.setOverflowContainer = function (overflowContainer) {\n\t\tif (!overflowContainer) return\n\t\ts.params.overflowContainer = overflowContainer\n\t\ts.overflowContainer = typeof s.params.overflowContainer === 'string' ? document.querySelector(s.params.overflowContainer) : s.params.overflowContainer\n\t}\n\ts.setParent = function (parent) {\n\t\tif (!parent) return\n\t\ts.params.parent = parent\n\t\ts.parent = typeof s.params.parent === 'string' ? document.querySelector(s.params.parent) : s.params.parent\n\t\tif (s.parent) {\n\t\t\ts.parent.insertBefore(s.bar, s.parent.lastChild)\n\t\t\ts.bar.parentNode.insertBefore(s.tooltip, s.bar.nextSibling)\n\t\t}\n\t}\n\tvar currentHTML = 'A'\n\ts.goIndex = function (y) {\n\t\t// 修改文字\n\t\tvar current = document.elementFromPoint(s.touches.startX, y)\n\t\tif (!current || !current.parentNode || current.parentNode !== s.bar) return\n\t\tcurrentHTML = current.innerHTML\n\t\ts.tooltip.innerHTML = currentHTML\n\t\t// 对应滚动容器中的目标元素\n\t\tvar target = s.overflowContainer.querySelector('[' + s.params.indexAttr + '=' + currentHTML + ']')\n\t\tif (!target) return\n\t\t// 移动位置\n\t\tif (target) s.overflowContainer.scrollTop = target.offsetTop\n\t}\n\n\t/* -----------------------\n\tTouch Events\n\t----------------------- */\n\t// body事件绑定\n\ts.events = function (detach) {\n\t\tvar touchTarget = s.bar\n\t\tvar action = detach ? 'removeEventListener' : 'addEventListener'\n\t\ttouchTarget[action]('touchstart', s.onTouchStart, false)\n\t\ttouchTarget[action]('touchmove', s.onTouchMove, false)\n\t\ttouchTarget[action]('touchend', s.onTouchEnd, false)\n\t\ttouchTarget[action]('touchcancel', s.onTouchEnd, false)\n\t}\n\t// attach、dettach事件\n\ts.attach = function (event) {\n\t\ts.events()\n\t}\n\ts.detach = function (event) {\n\t\ts.events(true)\n\t}\n\t/* -----------------------\n\tTouch Handler\n\t----------------------- */\n\t// Touch信息\n\ts.touches = {\n\t\tstartX: 0,\n\t\tstartY: 0,\n\t\tcurrentX: 0,\n\t\tcurrentY: 0,\n\t\tendX: 0,\n\t\tendY: 0\n\t}\n\t// 索引\n\t// function preventDefault(e) {\n\t// \te.preventDefault()\n\t// }\n\ts.onTouchStart = function (e) {\n\t\t// e.currentTarget.addEventListener('touchmove', preventDefault, false)\n\t\ts.touches.startX = e.touches[0].clientX\n\t\ts.touches.startY = e.touches[0].clientY\n\t\t// 滚动到指定位置\n\t\ts.goIndex(s.touches.startY)\n\t\t// 激活indexbar\n\t\ts.bar.classList.add(s.params.barActiveClass)\n\t}\n\ts.onTouchMove = function (e) {\n\t\ts.touches.currentY = e.touches[0].clientY\n\t\ts.goIndex(s.touches.currentY)\n\t}\n\ts.onTouchEnd = function (e) {\n\t\t// e.currentTarget.removeEventListener('touchmove', preventDefault, false)\n\t\t// 移除激活indexbar\n\t\ts.bar.classList.remove(s.params.barActiveClass)\n\t}\n\ts.attach()\n}\n\nexport default Indexbar\n","import IndexBar from './IndexBar.js';\n\nexport default IndexBar;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class IndexBar extends Component {\n static propTypes = {\n overflowContainer: PropTypes.any, // 滚动区域\n parent: PropTypes.any, // DOM注入容器\n className: PropTypes.string,\n style: PropTypes.object,\n indexs: PropTypes.array,\n }\n static defaultProps = {\n indexs: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'G', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'],\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate = (prevProps) => {\n if (this.props.overflowContainer !== prevProps.overflowContainer) {\n this.instance.setOverflowContainer(this.props.overflowContainer);\n }\n }\n componentDidMount () {\n const overflowContainer = this.$el.parentNode;\n var instance = new Instance({\n overflowContainer: this.props.overflowContainer || overflowContainer,\n parent: this.props.parent || document.body\n });\n this.instance = instance;\n }\n render() {\n const {indexs, className, style} = this.props;\n return (<div ref={el => {this.$el = el;}} className={`indexbar${className ? ' ' + className : ''}`} style={style}>\n {indexs.map((index, i) => {\n return <a key={`btn${i}`}>{index}</a>\n })}\n </div>);\n }\n}\n","import InputArea from './InputArea.js';\n\nexport default InputArea;\n","import React, { Component } from 'react';\nimport InputText from './../InputText';\n\nexport default class InputArea extends Component {\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n render() {\n return <InputText ref=\"$ComponentInputText\" {...this.props} type=\"textarea\"/>;\n }\n}\n","var citys = [{\n \"key\": \"110000\",\n \"value\": \"北京\",\n \"children\": [{\n \"key\": \"110101\",\n \"value\": \"东城区\"\n },\n {\n \"key\": \"110102\",\n \"value\": \"西城区\"\n },\n {\n \"key\": \"110105\",\n \"value\": \"朝阳区\"\n },\n {\n \"key\": \"110106\",\n \"value\": \"丰台区\"\n },\n {\n \"key\": \"110107\",\n \"value\": \"石景山区\"\n },\n {\n \"key\": \"110108\",\n \"value\": \"海淀区\"\n },\n {\n \"key\": \"110109\",\n \"value\": \"门头沟区\"\n },\n {\n \"key\": \"110111\",\n \"value\": \"房山区\"\n },\n {\n \"key\": \"110112\",\n \"value\": \"通州区\"\n },\n {\n \"key\": \"110113\",\n \"value\": \"顺义区\"\n },\n {\n \"key\": \"110114\",\n \"value\": \"昌平区\"\n },\n {\n \"key\": \"110115\",\n \"value\": \"大兴区\"\n },\n {\n \"key\": \"110116\",\n \"value\": \"怀柔区\"\n },\n {\n \"key\": \"110117\",\n \"value\": \"平谷区\"\n },\n {\n \"key\": \"110118\",\n \"value\": \"密云区\"\n },\n {\n \"key\": \"110119\",\n \"value\": \"延庆区\"\n }]\n},\n{\n \"key\": \"120000\",\n \"value\": \"天津\",\n \"children\": [{\n \"key\": \"120101\",\n \"value\": \"和平区\"\n },\n {\n \"key\": \"120102\",\n \"value\": \"河东区\"\n },\n {\n \"key\": \"120103\",\n \"value\": \"河西区\"\n },\n {\n \"key\": \"120104\",\n \"value\": \"南开区\"\n },\n {\n \"key\": \"120105\",\n \"value\": \"河北区\"\n },\n {\n \"key\": \"120106\",\n \"value\": \"红桥区\"\n },\n {\n \"key\": \"120110\",\n \"value\": \"东丽区\"\n },\n {\n \"key\": \"120111\",\n \"value\": \"西青区\"\n },\n {\n \"key\": \"120112\",\n \"value\": \"津南区\"\n },\n {\n \"key\": \"120113\",\n \"value\": \"北辰区\"\n },\n {\n \"key\": \"120114\",\n \"value\": \"武清区\"\n },\n {\n \"key\": \"120115\",\n \"value\": \"宝坻区\"\n },\n {\n \"key\": \"120116\",\n \"value\": \"滨海新区\"\n },\n {\n \"key\": \"120117\",\n \"value\": \"宁河区\"\n },\n {\n \"key\": \"120118\",\n \"value\": \"静海区\"\n },\n {\n \"key\": \"120119\",\n \"value\": \"蓟州区\"\n }]\n},\n{\n \"key\": \"130000\",\n \"value\": \"河北\",\n \"children\": [{\n \"key\": \"130100\",\n \"value\": \"石家庄市\",\n \"children\": [{\n \"key\": \"130102\",\n \"value\": \"长安区\"\n },\n {\n \"key\": \"130104\",\n \"value\": \"桥西区\"\n },\n {\n \"key\": \"130105\",\n \"value\": \"新华区\"\n },\n {\n \"key\": \"130107\",\n \"value\": \"井陉矿区\"\n },\n {\n \"key\": \"130108\",\n \"value\": \"裕华区\"\n },\n {\n \"key\": \"130109\",\n \"value\": \"藁城区\"\n },\n {\n \"key\": \"130110\",\n \"value\": \"鹿泉区\"\n },\n {\n \"key\": \"130111\",\n \"value\": \"栾城区\"\n },\n {\n \"key\": \"130121\",\n \"value\": \"井陉县\"\n },\n {\n \"key\": \"130123\",\n \"value\": \"正定县\"\n },\n {\n \"key\": \"130125\",\n \"value\": \"行唐县\"\n },\n {\n \"key\": \"130126\",\n \"value\": \"灵寿县\"\n },\n {\n \"key\": \"130127\",\n \"value\": \"高邑县\"\n },\n {\n \"key\": \"130128\",\n \"value\": \"深泽县\"\n },\n {\n \"key\": \"130129\",\n \"value\": \"赞皇县\"\n },\n {\n \"key\": \"130130\",\n \"value\": \"无极县\"\n },\n {\n \"key\": \"130131\",\n \"value\": \"平山县\"\n },\n {\n \"key\": \"130132\",\n \"value\": \"元氏县\"\n },\n {\n \"key\": \"130133\",\n \"value\": \"赵县\"\n },\n {\n \"key\": \"130181\",\n \"value\": \"辛集市\"\n },\n {\n \"key\": \"130183\",\n \"value\": \"晋州市\"\n },\n {\n \"key\": \"130184\",\n \"value\": \"新乐市\"\n }]\n },\n {\n \"key\": \"130200\",\n \"value\": \"唐山市\",\n \"children\": [{\n \"key\": \"130202\",\n \"value\": \"路南区\"\n },\n {\n \"key\": \"130203\",\n \"value\": \"路北区\"\n },\n {\n \"key\": \"130204\",\n \"value\": \"古冶区\"\n },\n {\n \"key\": \"130205\",\n \"value\": \"开平区\"\n },\n {\n \"key\": \"130207\",\n \"value\": \"丰南区\"\n },\n {\n \"key\": \"130208\",\n \"value\": \"丰润区\"\n },\n {\n \"key\": \"130209\",\n \"value\": \"曹妃甸区\"\n },\n {\n \"key\": \"130223\",\n \"value\": \"滦县\"\n },\n {\n \"key\": \"130224\",\n \"value\": \"滦南县\"\n },\n {\n \"key\": \"130225\",\n \"value\": \"乐亭县\"\n },\n {\n \"key\": \"130227\",\n \"value\": \"迁西县\"\n },\n {\n \"key\": \"130229\",\n \"value\": \"玉田县\"\n },\n {\n \"key\": \"130281\",\n \"value\": \"遵化市\"\n },\n {\n \"key\": \"130283\",\n \"value\": \"迁安市\"\n }]\n },\n {\n \"key\": \"130300\",\n \"value\": \"秦皇岛市\",\n \"children\": [{\n \"key\": \"130302\",\n \"value\": \"海港区\"\n },\n {\n \"key\": \"130303\",\n \"value\": \"山海关区\"\n },\n {\n \"key\": \"130304\",\n \"value\": \"北戴河区\"\n },\n {\n \"key\": \"130306\",\n \"value\": \"抚宁区\"\n },\n {\n \"key\": \"130321\",\n \"value\": \"青龙满族自治县\"\n },\n {\n \"key\": \"130322\",\n \"value\": \"昌黎县\"\n },\n {\n \"key\": \"130324\",\n \"value\": \"卢龙县\"\n }]\n },\n {\n \"key\": \"130400\",\n \"value\": \"邯郸市\",\n \"children\": [{\n \"key\": \"130402\",\n \"value\": \"邯山区\"\n },\n {\n \"key\": \"130403\",\n \"value\": \"丛台区\"\n },\n {\n \"key\": \"130404\",\n \"value\": \"复兴区\"\n },\n {\n \"key\": \"130406\",\n \"value\": \"峰峰矿区\"\n },\n {\n \"key\": \"130407\",\n \"value\": \"肥乡区\"\n },\n {\n \"key\": \"130408\",\n \"value\": \"永年区\"\n },\n {\n \"key\": \"130423\",\n \"value\": \"临漳县\"\n },\n {\n \"key\": \"130424\",\n \"value\": \"成安县\"\n },\n {\n \"key\": \"130425\",\n \"value\": \"大名县\"\n },\n {\n \"key\": \"130426\",\n \"value\": \"涉县\"\n },\n {\n \"key\": \"130427\",\n \"value\": \"磁县\"\n },\n {\n \"key\": \"130430\",\n \"value\": \"邱县\"\n },\n {\n \"key\": \"130431\",\n \"value\": \"鸡泽县\"\n },\n {\n \"key\": \"130432\",\n \"value\": \"广平县\"\n },\n {\n \"key\": \"130433\",\n \"value\": \"馆陶县\"\n },\n {\n \"key\": \"130434\",\n \"value\": \"魏县\"\n },\n {\n \"key\": \"130435\",\n \"value\": \"曲周县\"\n },\n {\n \"key\": \"130481\",\n \"value\": \"武安市\"\n }]\n },\n {\n \"key\": \"130500\",\n \"value\": \"邢台市\",\n \"children\": [{\n \"key\": \"130502\",\n \"value\": \"桥东区\"\n },\n {\n \"key\": \"130503\",\n \"value\": \"桥西区\"\n },\n {\n \"key\": \"130521\",\n \"value\": \"邢台县\"\n },\n {\n \"key\": \"130522\",\n \"value\": \"临城县\"\n },\n {\n \"key\": \"130523\",\n \"value\": \"内丘县\"\n },\n {\n \"key\": \"130524\",\n \"value\": \"柏乡县\"\n },\n {\n \"key\": \"130525\",\n \"value\": \"隆尧县\"\n },\n {\n \"key\": \"130526\",\n \"value\": \"任县\"\n },\n {\n \"key\": \"130527\",\n \"value\": \"南和县\"\n },\n {\n \"key\": \"130528\",\n \"value\": \"宁晋县\"\n },\n {\n \"key\": \"130529\",\n \"value\": \"巨鹿县\"\n },\n {\n \"key\": \"130530\",\n \"value\": \"新河县\"\n },\n {\n \"key\": \"130531\",\n \"value\": \"广宗县\"\n },\n {\n \"key\": \"130532\",\n \"value\": \"平乡县\"\n },\n {\n \"key\": \"130533\",\n \"value\": \"威县\"\n },\n {\n \"key\": \"130534\",\n \"value\": \"清河县\"\n },\n {\n \"key\": \"130535\",\n \"value\": \"临西县\"\n },\n {\n \"key\": \"130581\",\n \"value\": \"南宫市\"\n },\n {\n \"key\": \"130582\",\n \"value\": \"沙河市\"\n }]\n },\n {\n \"key\": \"130600\",\n \"value\": \"保定市\",\n \"children\": [{\n \"key\": \"130602\",\n \"value\": \"竞秀区\"\n },\n {\n \"key\": \"130606\",\n \"value\": \"莲池区\"\n },\n {\n \"key\": \"130607\",\n \"value\": \"满城区\"\n },\n {\n \"key\": \"130608\",\n \"value\": \"清苑区\"\n },\n {\n \"key\": \"130609\",\n \"value\": \"徐水区\"\n },\n {\n \"key\": \"130623\",\n \"value\": \"涞水县\"\n },\n {\n \"key\": \"130624\",\n \"value\": \"阜平县\"\n },\n {\n \"key\": \"130626\",\n \"value\": \"定兴县\"\n },\n {\n \"key\": \"130627\",\n \"value\": \"唐县\"\n },\n {\n \"key\": \"130628\",\n \"value\": \"高阳县\"\n },\n {\n \"key\": \"130629\",\n \"value\": \"容城县\"\n },\n {\n \"key\": \"130630\",\n \"value\": \"涞源县\"\n },\n {\n \"key\": \"130631\",\n \"value\": \"望都县\"\n },\n {\n \"key\": \"130632\",\n \"value\": \"安新县\"\n },\n {\n \"key\": \"130633\",\n \"value\": \"易县\"\n },\n {\n \"key\": \"130634\",\n \"value\": \"曲阳县\"\n },\n {\n \"key\": \"130635\",\n \"value\": \"蠡县\"\n },\n {\n \"key\": \"130636\",\n \"value\": \"顺平县\"\n },\n {\n \"key\": \"130637\",\n \"value\": \"博野县\"\n },\n {\n \"key\": \"130638\",\n \"value\": \"雄县\"\n },\n {\n \"key\": \"130681\",\n \"value\": \"涿州市\"\n },\n {\n \"key\": \"130682\",\n \"value\": \"定州市\"\n },\n {\n \"key\": \"130683\",\n \"value\": \"安国市\"\n },\n {\n \"key\": \"130684\",\n \"value\": \"高碑店市\"\n }]\n },\n {\n \"key\": \"130700\",\n \"value\": \"张家口市\",\n \"children\": [{\n \"key\": \"130702\",\n \"value\": \"桥东区\"\n },\n {\n \"key\": \"130703\",\n \"value\": \"桥西区\"\n },\n {\n \"key\": \"130705\",\n \"value\": \"宣化区\"\n },\n {\n \"key\": \"130706\",\n \"value\": \"下花园区\"\n },\n {\n \"key\": \"130708\",\n \"value\": \"万全区\"\n },\n {\n \"key\": \"130709\",\n \"value\": \"崇礼区\"\n },\n {\n \"key\": \"130722\",\n \"value\": \"张北县\"\n },\n {\n \"key\": \"130723\",\n \"value\": \"康保县\"\n },\n {\n \"key\": \"130724\",\n \"value\": \"沽源县\"\n },\n {\n \"key\": \"130725\",\n \"value\": \"尚义县\"\n },\n {\n \"key\": \"130726\",\n \"value\": \"蔚县\"\n },\n {\n \"key\": \"130727\",\n \"value\": \"阳原县\"\n },\n {\n \"key\": \"130728\",\n \"value\": \"怀安县\"\n },\n {\n \"key\": \"130730\",\n \"value\": \"怀来县\"\n },\n {\n \"key\": \"130731\",\n \"value\": \"涿鹿县\"\n },\n {\n \"key\": \"130732\",\n \"value\": \"赤城县\"\n }]\n },\n {\n \"key\": \"130800\",\n \"value\": \"承德市\",\n \"children\": [{\n \"key\": \"130802\",\n \"value\": \"双桥区\"\n },\n {\n \"key\": \"130803\",\n \"value\": \"双滦区\"\n },\n {\n \"key\": \"130804\",\n \"value\": \"鹰手营子矿区\"\n },\n {\n \"key\": \"130821\",\n \"value\": \"承德县\"\n },\n {\n \"key\": \"130822\",\n \"value\": \"兴隆县\"\n },\n {\n \"key\": \"130824\",\n \"value\": \"滦平县\"\n },\n {\n \"key\": \"130825\",\n \"value\": \"隆化县\"\n },\n {\n \"key\": \"130826\",\n \"value\": \"丰宁满族自治县\"\n },\n {\n \"key\": \"130827\",\n \"value\": \"宽城满族自治县\"\n },\n {\n \"key\": \"130828\",\n \"value\": \"围场满族蒙古族自治县\"\n },\n {\n \"key\": \"130881\",\n \"value\": \"平泉市\"\n }]\n },\n {\n \"key\": \"130900\",\n \"value\": \"沧州市\",\n \"children\": [{\n \"key\": \"130902\",\n \"value\": \"新华区\"\n },\n {\n \"key\": \"130903\",\n \"value\": \"运河区\"\n },\n {\n \"key\": \"130921\",\n \"value\": \"沧县\"\n },\n {\n \"key\": \"130922\",\n \"value\": \"青县\"\n },\n {\n \"key\": \"130923\",\n \"value\": \"东光县\"\n },\n {\n \"key\": \"130924\",\n \"value\": \"海兴县\"\n },\n {\n \"key\": \"130925\",\n \"value\": \"盐山县\"\n },\n {\n \"key\": \"130926\",\n \"value\": \"肃宁县\"\n },\n {\n \"key\": \"130927\",\n \"value\": \"南皮县\"\n },\n {\n \"key\": \"130928\",\n \"value\": \"吴桥县\"\n },\n {\n \"key\": \"130929\",\n \"value\": \"献县\"\n },\n {\n \"key\": \"130930\",\n \"value\": \"孟村回族自治县\"\n },\n {\n \"key\": \"130981\",\n \"value\": \"泊头市\"\n },\n {\n \"key\": \"130982\",\n \"value\": \"任丘市\"\n },\n {\n \"key\": \"130983\",\n \"value\": \"黄骅市\"\n },\n {\n \"key\": \"130984\",\n \"value\": \"河间市\"\n }]\n },\n {\n \"key\": \"131000\",\n \"value\": \"廊坊市\",\n \"children\": [{\n \"key\": \"131002\",\n \"value\": \"安次区\"\n },\n {\n \"key\": \"131003\",\n \"value\": \"广阳区\"\n },\n {\n \"key\": \"131022\",\n \"value\": \"固安县\"\n },\n {\n \"key\": \"131023\",\n \"value\": \"永清县\"\n },\n {\n \"key\": \"131024\",\n \"value\": \"香河县\"\n },\n {\n \"key\": \"131025\",\n \"value\": \"大城县\"\n },\n {\n \"key\": \"131026\",\n \"value\": \"文安县\"\n },\n {\n \"key\": \"131028\",\n \"value\": \"大厂回族自治县\"\n },\n {\n \"key\": \"131081\",\n \"value\": \"霸州市\"\n },\n {\n \"key\": \"131082\",\n \"value\": \"三河市\"\n }]\n },\n {\n \"key\": \"131100\",\n \"value\": \"衡水市\",\n \"children\": [{\n \"key\": \"131102\",\n \"value\": \"桃城区\"\n },\n {\n \"key\": \"131103\",\n \"value\": \"冀州区\"\n },\n {\n \"key\": \"131121\",\n \"value\": \"枣强县\"\n },\n {\n \"key\": \"131122\",\n \"value\": \"武邑县\"\n },\n {\n \"key\": \"131123\",\n \"value\": \"武强县\"\n },\n {\n \"key\": \"131124\",\n \"value\": \"饶阳县\"\n },\n {\n \"key\": \"131125\",\n \"value\": \"安平县\"\n },\n {\n \"key\": \"131126\",\n \"value\": \"故城县\"\n },\n {\n \"key\": \"131127\",\n \"value\": \"景县\"\n },\n {\n \"key\": \"131128\",\n \"value\": \"阜城县\"\n },\n {\n \"key\": \"131182\",\n \"value\": \"深州市\"\n }]\n }]\n},\n{\n \"key\": \"140000\",\n \"value\": \"山西\",\n \"children\": [{\n \"key\": \"140100\",\n \"value\": \"太原市\",\n \"children\": [{\n \"key\": \"140105\",\n \"value\": \"小店区\"\n },\n {\n \"key\": \"140106\",\n \"value\": \"迎泽区\"\n },\n {\n \"key\": \"140107\",\n \"value\": \"杏花岭区\"\n },\n {\n \"key\": \"140108\",\n \"value\": \"尖草坪区\"\n },\n {\n \"key\": \"140109\",\n \"value\": \"万柏林区\"\n },\n {\n \"key\": \"140110\",\n \"value\": \"晋源区\"\n },\n {\n \"key\": \"140121\",\n \"value\": \"清徐县\"\n },\n {\n \"key\": \"140122\",\n \"value\": \"阳曲县\"\n },\n {\n \"key\": \"140123\",\n \"value\": \"娄烦县\"\n },\n {\n \"key\": \"140181\",\n \"value\": \"古交市\"\n }]\n },\n {\n \"key\": \"140200\",\n \"value\": \"大同市\",\n \"children\": [{\n \"key\": \"140202\",\n \"value\": \"城区\"\n },\n {\n \"key\": \"140203\",\n \"value\": \"矿区\"\n },\n {\n \"key\": \"140211\",\n \"value\": \"南郊区\"\n },\n {\n \"key\": \"140212\",\n \"value\": \"新荣区\"\n },\n {\n \"key\": \"140215\",\n \"value\": \"云州区\"\n },\n {\n \"key\": \"140221\",\n \"value\": \"阳高县\"\n },\n {\n \"key\": \"140222\",\n \"value\": \"天镇县\"\n },\n {\n \"key\": \"140223\",\n \"value\": \"广灵县\"\n },\n {\n \"key\": \"140224\",\n \"value\": \"灵丘县\"\n },\n {\n \"key\": \"140225\",\n \"value\": \"浑源县\"\n },\n {\n \"key\": \"140226\",\n \"value\": \"左云县\"\n }]\n },\n {\n \"key\": \"140300\",\n \"value\": \"阳泉市\",\n \"children\": [{\n \"key\": \"140302\",\n \"value\": \"城区\"\n },\n {\n \"key\": \"140303\",\n \"value\": \"矿区\"\n },\n {\n \"key\": \"140311\",\n \"value\": \"郊区\"\n },\n {\n \"key\": \"140321\",\n \"value\": \"平定县\"\n },\n {\n \"key\": \"140322\",\n \"value\": \"盂县\"\n }]\n },\n {\n \"key\": \"140400\",\n \"value\": \"长治市\",\n \"children\": [{\n \"key\": \"140402\",\n \"value\": \"城区\"\n },\n {\n \"key\": \"140411\",\n \"value\": \"郊区\"\n },\n {\n \"key\": \"140421\",\n \"value\": \"长治县\"\n },\n {\n \"key\": \"140423\",\n \"value\": \"襄垣县\"\n },\n {\n \"key\": \"140424\",\n \"value\": \"屯留县\"\n },\n {\n \"key\": \"140425\",\n \"value\": \"平顺县\"\n },\n {\n \"key\": \"140426\",\n \"value\": \"黎城县\"\n },\n {\n \"key\": \"140427\",\n \"value\": \"壶关县\"\n },\n {\n \"key\": \"140428\",\n \"value\": \"长子县\"\n },\n {\n \"key\": \"140429\",\n \"value\": \"武乡县\"\n },\n {\n \"key\": \"140430\",\n \"value\": \"沁县\"\n },\n {\n \"key\": \"140431\",\n \"value\": \"沁源县\"\n },\n {\n \"key\": \"140481\",\n \"value\": \"潞城市\"\n }]\n },\n {\n \"key\": \"140500\",\n \"value\": \"晋城市\",\n \"children\": [{\n \"key\": \"140502\",\n \"value\": \"城区\"\n },\n {\n \"key\": \"140521\",\n \"value\": \"沁水县\"\n },\n {\n \"key\": \"140522\",\n \"value\": \"阳城县\"\n },\n {\n \"key\": \"140524\",\n \"value\": \"陵川县\"\n },\n {\n \"key\": \"140525\",\n \"value\": \"泽州县\"\n },\n {\n \"key\": \"140581\",\n \"value\": \"高平市\"\n }]\n },\n {\n \"key\": \"140600\",\n \"value\": \"朔州市\",\n \"children\": [{\n \"key\": \"140602\",\n \"value\": \"朔城区\"\n },\n {\n \"key\": \"140603\",\n \"value\": \"平鲁区\"\n },\n {\n \"key\": \"140621\",\n \"value\": \"山阴县\"\n },\n {\n \"key\": \"140622\",\n \"value\": \"应县\"\n },\n {\n \"key\": \"140623\",\n \"value\": \"右玉县\"\n },\n {\n \"key\": \"140681\",\n \"value\": \"怀仁市\"\n }]\n },\n {\n \"key\": \"140700\",\n \"value\": \"晋中市\",\n \"children\": [{\n \"key\": \"140702\",\n \"value\": \"榆次区\"\n },\n {\n \"key\": \"140721\",\n \"value\": \"榆社县\"\n },\n {\n \"key\": \"140722\",\n \"value\": \"左权县\"\n },\n {\n \"key\": \"140723\",\n \"value\": \"和顺县\"\n },\n {\n \"key\": \"140724\",\n \"value\": \"昔阳县\"\n },\n {\n \"key\": \"140725\",\n \"value\": \"寿阳县\"\n },\n {\n \"key\": \"140726\",\n \"value\": \"太谷县\"\n },\n {\n \"key\": \"140727\",\n \"value\": \"祁县\"\n },\n {\n \"key\": \"140728\",\n \"value\": \"平遥县\"\n },\n {\n \"key\": \"140729\",\n \"value\": \"灵石县\"\n },\n {\n \"key\": \"140781\",\n \"value\": \"介休市\"\n }]\n },\n {\n \"key\": \"140800\",\n \"value\": \"运城市\",\n \"children\": [{\n \"key\": \"140802\",\n \"value\": \"盐湖区\"\n },\n {\n \"key\": \"140821\",\n \"value\": \"临猗县\"\n },\n {\n \"key\": \"140822\",\n \"value\": \"万荣县\"\n },\n {\n \"key\": \"140823\",\n \"value\": \"闻喜县\"\n },\n {\n \"key\": \"140824\",\n \"value\": \"稷山县\"\n },\n {\n \"key\": \"140825\",\n \"value\": \"新绛县\"\n },\n {\n \"key\": \"140826\",\n \"value\": \"绛县\"\n },\n {\n \"key\": \"140827\",\n \"value\": \"垣曲县\"\n },\n {\n \"key\": \"140828\",\n \"value\": \"夏县\"\n },\n {\n \"key\": \"140829\",\n \"value\": \"平陆县\"\n },\n {\n \"key\": \"140830\",\n \"value\": \"芮城县\"\n },\n {\n \"key\": \"140881\",\n \"value\": \"永济市\"\n },\n {\n \"key\": \"140882\",\n \"value\": \"河津市\"\n }]\n },\n {\n \"key\": \"140900\",\n \"value\": \"忻州市\",\n \"children\": [{\n \"key\": \"140902\",\n \"value\": \"忻府区\"\n },\n {\n \"key\": \"140921\",\n \"value\": \"定襄县\"\n },\n {\n \"key\": \"140922\",\n \"value\": \"五台县\"\n },\n {\n \"key\": \"140923\",\n \"value\": \"代县\"\n },\n {\n \"key\": \"140924\",\n \"value\": \"繁峙县\"\n },\n {\n \"key\": \"140925\",\n \"value\": \"宁武县\"\n },\n {\n \"key\": \"140926\",\n \"value\": \"静乐县\"\n },\n {\n \"key\": \"140927\",\n \"value\": \"神池县\"\n },\n {\n \"key\": \"140928\",\n \"value\": \"五寨县\"\n },\n {\n \"key\": \"140929\",\n \"value\": \"岢岚县\"\n },\n {\n \"key\": \"140930\",\n \"value\": \"河曲县\"\n },\n {\n \"key\": \"140931\",\n \"value\": \"保德县\"\n },\n {\n \"key\": \"140932\",\n \"value\": \"偏关县\"\n },\n {\n \"key\": \"140981\",\n \"value\": \"原平市\"\n }]\n },\n {\n \"key\": \"141000\",\n \"value\": \"临汾市\",\n \"children\": [{\n \"key\": \"141002\",\n \"value\": \"尧都区\"\n },\n {\n \"key\": \"141021\",\n \"value\": \"曲沃县\"\n },\n {\n \"key\": \"141022\",\n \"value\": \"翼城县\"\n },\n {\n \"key\": \"141023\",\n \"value\": \"襄汾县\"\n },\n {\n \"key\": \"141024\",\n \"value\": \"洪洞县\"\n },\n {\n \"key\": \"141025\",\n \"value\": \"古县\"\n },\n {\n \"key\": \"141026\",\n \"value\": \"安泽县\"\n },\n {\n \"key\": \"141027\",\n \"value\": \"浮山县\"\n },\n {\n \"key\": \"141028\",\n \"value\": \"吉县\"\n },\n {\n \"key\": \"141029\",\n \"value\": \"乡宁县\"\n },\n {\n \"key\": \"141030\",\n \"value\": \"大宁县\"\n },\n {\n \"key\": \"141031\",\n \"value\": \"隰县\"\n },\n {\n \"key\": \"141032\",\n \"value\": \"永和县\"\n },\n {\n \"key\": \"141033\",\n \"value\": \"蒲县\"\n },\n {\n \"key\": \"141034\",\n \"value\": \"汾西县\"\n },\n {\n \"key\": \"141081\",\n \"value\": \"侯马市\"\n },\n {\n \"key\": \"141082\",\n \"value\": \"霍州市\"\n }]\n },\n {\n \"key\": \"141100\",\n \"value\": \"吕梁市\",\n \"children\": [{\n \"key\": \"141102\",\n \"value\": \"离石区\"\n },\n {\n \"key\": \"141121\",\n \"value\": \"文水县\"\n },\n {\n \"key\": \"141122\",\n \"value\": \"交城县\"\n },\n {\n \"key\": \"141123\",\n \"value\": \"兴县\"\n },\n {\n \"key\": \"141124\",\n \"value\": \"临县\"\n },\n {\n \"key\": \"141125\",\n \"value\": \"柳林县\"\n },\n {\n \"key\": \"141126\",\n \"value\": \"石楼县\"\n },\n {\n \"key\": \"141127\",\n \"value\": \"岚县\"\n },\n {\n \"key\": \"141128\",\n \"value\": \"方山县\"\n },\n {\n \"key\": \"141129\",\n \"value\": \"中阳县\"\n },\n {\n \"key\": \"141130\",\n \"value\": \"交口县\"\n },\n {\n \"key\": \"141181\",\n \"value\": \"孝义市\"\n },\n {\n \"key\": \"141182\",\n \"value\": \"汾阳市\"\n }]\n }]\n},\n{\n \"key\": \"150000\",\n \"value\": \"内蒙古\",\n \"children\": [{\n \"key\": \"150100\",\n \"value\": \"呼和浩特市\",\n \"children\": [{\n \"key\": \"150102\",\n \"value\": \"新城区\"\n },\n {\n \"key\": \"150103\",\n \"value\": \"回民区\"\n },\n {\n \"key\": \"150104\",\n \"value\": \"玉泉区\"\n },\n {\n \"key\": \"150105\",\n \"value\": \"赛罕区\"\n },\n {\n \"key\": \"150121\",\n \"value\": \"土默特左旗\"\n },\n {\n \"key\": \"150122\",\n \"value\": \"托克托县\"\n },\n {\n \"key\": \"150123\",\n \"value\": \"和林格尔县\"\n },\n {\n \"key\": \"150124\",\n \"value\": \"清水河县\"\n },\n {\n \"key\": \"150125\",\n \"value\": \"武川县\"\n }]\n },\n {\n \"key\": \"150200\",\n \"value\": \"包头市\",\n \"children\": [{\n \"key\": \"150202\",\n \"value\": \"东河区\"\n },\n {\n \"key\": \"150203\",\n \"value\": \"昆都仑区\"\n },\n {\n \"key\": \"150204\",\n \"value\": \"青山区\"\n },\n {\n \"key\": \"150205\",\n \"value\": \"石拐区\"\n },\n {\n \"key\": \"150206\",\n \"value\": \"白云鄂博矿区\"\n },\n {\n \"key\": \"150207\",\n \"value\": \"九原区\"\n },\n {\n \"key\": \"150221\",\n \"value\": \"土默特右旗\"\n },\n {\n \"key\": \"150222\",\n \"value\": \"固阳县\"\n },\n {\n \"key\": \"150223\",\n \"value\": \"达尔罕茂明安联合旗\"\n }]\n },\n {\n \"key\": \"150300\",\n \"value\": \"乌海市\",\n \"children\": [{\n \"key\": \"150302\",\n \"value\": \"海勃湾区\"\n },\n {\n \"key\": \"150303\",\n \"value\": \"海南区\"\n },\n {\n \"key\": \"150304\",\n \"value\": \"乌达区\"\n }]\n },\n {\n \"key\": \"150400\",\n \"value\": \"赤峰市\",\n \"children\": [{\n \"key\": \"150402\",\n \"value\": \"红山区\"\n },\n {\n \"key\": \"150403\",\n \"value\": \"元宝山区\"\n },\n {\n \"key\": \"150404\",\n \"value\": \"松山区\"\n },\n {\n \"key\": \"150421\",\n \"value\": \"阿鲁科尔沁旗\"\n },\n {\n \"key\": \"150422\",\n \"value\": \"巴林左旗\"\n },\n {\n \"key\": \"150423\",\n \"value\": \"巴林右旗\"\n },\n {\n \"key\": \"150424\",\n \"value\": \"林西县\"\n },\n {\n \"key\": \"150425\",\n \"value\": \"克什克腾旗\"\n },\n {\n \"key\": \"150426\",\n \"value\": \"翁牛特旗\"\n },\n {\n \"key\": \"150428\",\n \"value\": \"喀喇沁旗\"\n },\n {\n \"key\": \"150429\",\n \"value\": \"宁城县\"\n },\n {\n \"key\": \"150430\",\n \"value\": \"敖汉旗\"\n }]\n },\n {\n \"key\": \"150500\",\n \"value\": \"通辽市\",\n \"children\": [{\n \"key\": \"150502\",\n \"value\": \"科尔沁区\"\n },\n {\n \"key\": \"150521\",\n \"value\": \"科尔沁左翼中旗\"\n },\n {\n \"key\": \"150522\",\n \"value\": \"科尔沁左翼后旗\"\n },\n {\n \"key\": \"150523\",\n \"value\": \"开鲁县\"\n },\n {\n \"key\": \"150524\",\n \"value\": \"库伦旗\"\n },\n {\n \"key\": \"150525\",\n \"value\": \"奈曼旗\"\n },\n {\n \"key\": \"150526\",\n \"value\": \"扎鲁特旗\"\n },\n {\n \"key\": \"150581\",\n \"value\": \"霍林郭勒市\"\n }]\n },\n {\n \"key\": \"150600\",\n \"value\": \"鄂尔多斯市\",\n \"children\": [{\n \"key\": \"150602\",\n \"value\": \"东胜区\"\n },\n {\n \"key\": \"150603\",\n \"value\": \"康巴什区\"\n },\n {\n \"key\": \"150621\",\n \"value\": \"达拉特旗\"\n },\n {\n \"key\": \"150622\",\n \"value\": \"准格尔旗\"\n },\n {\n \"key\": \"150623\",\n \"value\": \"鄂托克前旗\"\n },\n {\n \"key\": \"150624\",\n \"value\": \"鄂托克旗\"\n },\n {\n \"key\": \"150625\",\n \"value\": \"杭锦旗\"\n },\n {\n \"key\": \"150626\",\n \"value\": \"乌审旗\"\n },\n {\n \"key\": \"150627\",\n \"value\": \"伊金霍洛旗\"\n }]\n },\n {\n \"key\": \"150700\",\n \"value\": \"呼伦贝尔市\",\n \"children\": [{\n \"key\": \"150702\",\n \"value\": \"海拉尔区\"\n },\n {\n \"key\": \"150703\",\n \"value\": \"扎赉诺尔区\"\n },\n {\n \"key\": \"150721\",\n \"value\": \"阿荣旗\"\n },\n {\n \"key\": \"150722\",\n \"value\": \"莫力达瓦达斡尔族自治旗\"\n },\n {\n \"key\": \"150723\",\n \"value\": \"鄂伦春自治旗\"\n },\n {\n \"key\": \"150724\",\n \"value\": \"鄂温克族自治旗\"\n },\n {\n \"key\": \"150725\",\n \"value\": \"陈巴尔虎旗\"\n },\n {\n \"key\": \"150726\",\n \"value\": \"新巴尔虎左旗\"\n },\n {\n \"key\": \"150727\",\n \"value\": \"新巴尔虎右旗\"\n },\n {\n \"key\": \"150781\",\n \"value\": \"满洲里市\"\n },\n {\n \"key\": \"150782\",\n \"value\": \"牙克石市\"\n },\n {\n \"key\": \"150783\",\n \"value\": \"扎兰屯市\"\n },\n {\n \"key\": \"150784\",\n \"value\": \"额尔古纳市\"\n },\n {\n \"key\": \"150785\",\n \"value\": \"根河市\"\n }]\n },\n {\n \"key\": \"150800\",\n \"value\": \"巴彦淖尔市\",\n \"children\": [{\n \"key\": \"150802\",\n \"value\": \"临河区\"\n },\n {\n \"key\": \"150821\",\n \"value\": \"五原县\"\n },\n {\n \"key\": \"150822\",\n \"value\": \"磴口县\"\n },\n {\n \"key\": \"150823\",\n \"value\": \"乌拉特前旗\"\n },\n {\n \"key\": \"150824\",\n \"value\": \"乌拉特中旗\"\n },\n {\n \"key\": \"150825\",\n \"value\": \"乌拉特后旗\"\n },\n {\n \"key\": \"150826\",\n \"value\": \"杭锦后旗\"\n }]\n },\n {\n \"key\": \"150900\",\n \"value\": \"乌兰察布市\",\n \"children\": [{\n \"key\": \"150902\",\n \"value\": \"集宁区\"\n },\n {\n \"key\": \"150921\",\n \"value\": \"卓资县\"\n },\n {\n \"key\": \"150922\",\n \"value\": \"化德县\"\n },\n {\n \"key\": \"150923\",\n \"value\": \"商都县\"\n },\n {\n \"key\": \"150924\",\n \"value\": \"兴和县\"\n },\n {\n \"key\": \"150925\",\n \"value\": \"凉城县\"\n },\n {\n \"key\": \"150926\",\n \"value\": \"察哈尔右翼前旗\"\n },\n {\n \"key\": \"150927\",\n \"value\": \"察哈尔右翼中旗\"\n },\n {\n \"key\": \"150928\",\n \"value\": \"察哈尔右翼后旗\"\n },\n {\n \"key\": \"150929\",\n \"value\": \"四子王旗\"\n },\n {\n \"key\": \"150981\",\n \"value\": \"丰镇市\"\n }]\n },\n {\n \"key\": \"152200\",\n \"value\": \"兴安盟\",\n \"children\": [{\n \"key\": \"152201\",\n \"value\": \"乌兰浩特市\"\n },\n {\n \"key\": \"152202\",\n \"value\": \"阿尔山市\"\n },\n {\n \"key\": \"152221\",\n \"value\": \"科尔沁右翼前旗\"\n },\n {\n \"key\": \"152222\",\n \"value\": \"科尔沁右翼中旗\"\n },\n {\n \"key\": \"152223\",\n \"value\": \"扎赉特旗\"\n },\n {\n \"key\": \"152224\",\n \"value\": \"突泉县\"\n }]\n },\n {\n \"key\": \"152500\",\n \"value\": \"锡林郭勒盟\",\n \"children\": [{\n \"key\": \"152501\",\n \"value\": \"二连浩特市\"\n },\n {\n \"key\": \"152502\",\n \"value\": \"锡林浩特市\"\n },\n {\n \"key\": \"152522\",\n \"value\": \"阿巴嘎旗\"\n },\n {\n \"key\": \"152523\",\n \"value\": \"苏尼特左旗\"\n },\n {\n \"key\": \"152524\",\n \"value\": \"苏尼特右旗\"\n },\n {\n \"key\": \"152525\",\n \"value\": \"东乌珠穆沁旗\"\n },\n {\n \"key\": \"152526\",\n \"value\": \"西乌珠穆沁旗\"\n },\n {\n \"key\": \"152527\",\n \"value\": \"太仆寺旗\"\n },\n {\n \"key\": \"152528\",\n \"value\": \"镶黄旗\"\n },\n {\n \"key\": \"152529\",\n \"value\": \"正镶白旗\"\n },\n {\n \"key\": \"152530\",\n \"value\": \"正蓝旗\"\n },\n {\n \"key\": \"152531\",\n \"value\": \"多伦县\"\n }]\n },\n {\n \"key\": \"152900\",\n \"value\": \"阿拉善盟\",\n \"children\": [{\n \"key\": \"152921\",\n \"value\": \"阿拉善左旗\"\n },\n {\n \"key\": \"152922\",\n \"value\": \"阿拉善右旗\"\n },\n {\n \"key\": \"152923\",\n \"value\": \"额济纳旗\"\n }]\n }]\n},\n{\n \"key\": \"210000\",\n \"value\": \"辽宁\",\n \"children\": [{\n \"key\": \"210100\",\n \"value\": \"沈阳市\",\n \"children\": [{\n \"key\": \"210102\",\n \"value\": \"和平区\"\n },\n {\n \"key\": \"210103\",\n \"value\": \"沈河区\"\n },\n {\n \"key\": \"210104\",\n \"value\": \"大东区\"\n },\n {\n \"key\": \"210105\",\n \"value\": \"皇姑区\"\n },\n {\n \"key\": \"210106\",\n \"value\": \"铁西区\"\n },\n {\n \"key\": \"210111\",\n \"value\": \"苏家屯区\"\n },\n {\n \"key\": \"210112\",\n \"value\": \"东陵区\"\n },\n {\n \"key\": \"210113\",\n \"value\": \"沈北新区\"\n },\n {\n \"key\": \"210114\",\n \"value\": \"于洪区\"\n },\n {\n \"key\": \"210115\",\n \"value\": \"辽中区\"\n },\n {\n \"key\": \"210123\",\n \"value\": \"康平县\"\n },\n {\n \"key\": \"210124\",\n \"value\": \"法库县\"\n },\n {\n \"key\": \"210181\",\n \"value\": \"新民市\"\n }]\n },\n {\n \"key\": \"210200\",\n \"value\": \"大连市\",\n \"children\": [{\n \"key\": \"210202\",\n \"value\": \"中山区\"\n },\n {\n \"key\": \"210203\",\n \"value\": \"西岗区\"\n },\n {\n \"key\": \"210204\",\n \"value\": \"沙河口区\"\n },\n {\n \"key\": \"210211\",\n \"value\": \"甘井子区\"\n },\n {\n \"key\": \"210212\",\n \"value\": \"旅顺口区\"\n },\n {\n \"key\": \"210213\",\n \"value\": \"金州区\"\n },\n {\n \"key\": \"210214\",\n \"value\": \"普兰店区\"\n },\n {\n \"key\": \"210224\",\n \"value\": \"长海县\"\n },\n {\n \"key\": \"210281\",\n \"value\": \"瓦房店市\"\n },\n {\n \"key\": \"210283\",\n \"value\": \"庄河市\"\n }]\n },\n {\n \"key\": \"210300\",\n \"value\": \"鞍山市\",\n \"children\": [{\n \"key\": \"210302\",\n \"value\": \"铁东区\"\n },\n {\n \"key\": \"210303\",\n \"value\": \"铁西区\"\n },\n {\n \"key\": \"210304\",\n \"value\": \"立山区\"\n },\n {\n \"key\": \"210311\",\n \"value\": \"千山区\"\n },\n {\n \"key\": \"210321\",\n \"value\": \"台安县\"\n },\n {\n \"key\": \"210323\",\n \"value\": \"岫岩满族自治县\"\n },\n {\n \"key\": \"210381\",\n \"value\": \"海城市\"\n }]\n },\n {\n \"key\": \"210400\",\n \"value\": \"抚顺市\",\n \"children\": [{\n \"key\": \"210402\",\n \"value\": \"新抚区\"\n },\n {\n \"key\": \"210403\",\n \"value\": \"东洲区\"\n },\n {\n \"key\": \"210404\",\n \"value\": \"望花区\"\n },\n {\n \"key\": \"210411\",\n \"value\": \"顺城区\"\n },\n {\n \"key\": \"210421\",\n \"value\": \"抚顺县\"\n },\n {\n \"key\": \"210422\",\n \"value\": \"新宾满族自治县\"\n },\n {\n \"key\": \"210423\",\n \"value\": \"清原满族自治县\"\n }]\n },\n {\n \"key\": \"210500\",\n \"value\": \"本溪市\",\n \"children\": [{\n \"key\": \"210502\",\n \"value\": \"平山区\"\n },\n {\n \"key\": \"210503\",\n \"value\": \"溪湖区\"\n },\n {\n \"key\": \"210504\",\n \"value\": \"明山区\"\n },\n {\n \"key\": \"210505\",\n \"value\": \"南芬区\"\n },\n {\n \"key\": \"210521\",\n \"value\": \"本溪满族自治县\"\n },\n {\n \"key\": \"210522\",\n \"value\": \"桓仁满族自治县\"\n }]\n },\n {\n \"key\": \"210600\",\n \"value\": \"丹东市\",\n \"children\": [{\n \"key\": \"210602\",\n \"value\": \"元宝区\"\n },\n {\n \"key\": \"210603\",\n \"value\": \"振兴区\"\n },\n {\n \"key\": \"210604\",\n \"value\": \"振安区\"\n },\n {\n \"key\": \"210624\",\n \"value\": \"宽甸满族自治县\"\n },\n {\n \"key\": \"210681\",\n \"value\": \"东港市\"\n },\n {\n \"key\": \"210682\",\n \"value\": \"凤城市\"\n }]\n },\n {\n \"key\": \"210700\",\n \"value\": \"锦州市\",\n \"children\": [{\n \"key\": \"210702\",\n \"value\": \"古塔区\"\n },\n {\n \"key\": \"210703\",\n \"value\": \"凌河区\"\n },\n {\n \"key\": \"210711\",\n \"value\": \"太和区\"\n },\n {\n \"key\": \"210726\",\n \"value\": \"黑山县\"\n },\n {\n \"key\": \"210727\",\n \"value\": \"义县\"\n },\n {\n \"key\": \"210781\",\n \"value\": \"凌海市\"\n },\n {\n \"key\": \"210782\",\n \"value\": \"北镇市\"\n }]\n },\n {\n \"key\": \"210800\",\n \"value\": \"营口市\",\n \"children\": [{\n \"key\": \"210802\",\n \"value\": \"站前区\"\n },\n {\n \"key\": \"210803\",\n \"value\": \"西市区\"\n },\n {\n \"key\": \"210804\",\n \"value\": \"鲅鱼圈区\"\n },\n {\n \"key\": \"210811\",\n \"value\": \"老边区\"\n },\n {\n \"key\": \"210881\",\n \"value\": \"盖州市\"\n },\n {\n \"key\": \"210882\",\n \"value\": \"大石桥市\"\n }]\n },\n {\n \"key\": \"210900\",\n \"value\": \"阜新市\",\n \"children\": [{\n \"key\": \"210902\",\n \"value\": \"海州区\"\n },\n {\n \"key\": \"210903\",\n \"value\": \"新邱区\"\n },\n {\n \"key\": \"210904\",\n \"value\": \"太平区\"\n },\n {\n \"key\": \"210905\",\n \"value\": \"清河门区\"\n },\n {\n \"key\": \"210911\",\n \"value\": \"细河区\"\n },\n {\n \"key\": \"210921\",\n \"value\": \"阜新蒙古族自治县\"\n },\n {\n \"key\": \"210922\",\n \"value\": \"彰武县\"\n }]\n },\n {\n \"key\": \"211000\",\n \"value\": \"辽阳市\",\n \"children\": [{\n \"key\": \"211002\",\n \"value\": \"白塔区\"\n },\n {\n \"key\": \"211003\",\n \"value\": \"文圣区\"\n },\n {\n \"key\": \"211004\",\n \"value\": \"宏伟区\"\n },\n {\n \"key\": \"211005\",\n \"value\": \"弓长岭区\"\n },\n {\n \"key\": \"211011\",\n \"value\": \"太子河区\"\n },\n {\n \"key\": \"211021\",\n \"value\": \"辽阳县\"\n },\n {\n \"key\": \"211081\",\n \"value\": \"灯塔市\"\n }]\n },\n {\n \"key\": \"211100\",\n \"value\": \"盘锦市\",\n \"children\": [{\n \"key\": \"211102\",\n \"value\": \"双台子区\"\n },\n {\n \"key\": \"211103\",\n \"value\": \"兴隆台区\"\n },\n {\n \"key\": \"211104\",\n \"value\": \"大洼区\"\n },\n {\n \"key\": \"211122\",\n \"value\": \"盘山县\"\n }]\n },\n {\n \"key\": \"211200\",\n \"value\": \"铁岭市\",\n \"children\": [{\n \"key\": \"211202\",\n \"value\": \"银州区\"\n },\n {\n \"key\": \"211204\",\n \"value\": \"清河区\"\n },\n {\n \"key\": \"211221\",\n \"value\": \"铁岭县\"\n },\n {\n \"key\": \"211223\",\n \"value\": \"西丰县\"\n },\n {\n \"key\": \"211224\",\n \"value\": \"昌图县\"\n },\n {\n \"key\": \"211281\",\n \"value\": \"调兵山市\"\n },\n {\n \"key\": \"211282\",\n \"value\": \"开原市\"\n }]\n },\n {\n \"key\": \"211300\",\n \"value\": \"朝阳市\",\n \"children\": [{\n \"key\": \"211302\",\n \"value\": \"双塔区\"\n },\n {\n \"key\": \"211303\",\n \"value\": \"龙城区\"\n },\n {\n \"key\": \"211321\",\n \"value\": \"朝阳县\"\n },\n {\n \"key\": \"211322\",\n \"value\": \"建平县\"\n },\n {\n \"key\": \"211324\",\n \"value\": \"喀喇沁左翼蒙古族自治县\"\n },\n {\n \"key\": \"211381\",\n \"value\": \"北票市\"\n },\n {\n \"key\": \"211382\",\n \"value\": \"凌源市\"\n }]\n },\n {\n \"key\": \"211400\",\n \"value\": \"葫芦岛市\",\n \"children\": [{\n \"key\": \"211402\",\n \"value\": \"连山区\"\n },\n {\n \"key\": \"211403\",\n \"value\": \"龙港区\"\n },\n {\n \"key\": \"211404\",\n \"value\": \"南票区\"\n },\n {\n \"key\": \"211421\",\n \"value\": \"绥中县\"\n },\n {\n \"key\": \"211422\",\n \"value\": \"建昌县\"\n },\n {\n \"key\": \"211481\",\n \"value\": \"兴城市\"\n }]\n }]\n},\n{\n \"key\": \"220000\",\n \"value\": \"吉林\",\n \"children\": [{\n \"key\": \"220100\",\n \"value\": \"长春市\",\n \"children\": [{\n \"key\": \"220102\",\n \"value\": \"南关区\"\n },\n {\n \"key\": \"220103\",\n \"value\": \"宽城区\"\n },\n {\n \"key\": \"220104\",\n \"value\": \"朝阳区\"\n },\n {\n \"key\": \"220105\",\n \"value\": \"二道区\"\n },\n {\n \"key\": \"220106\",\n \"value\": \"绿园区\"\n },\n {\n \"key\": \"220112\",\n \"value\": \"双阳区\"\n },\n {\n \"key\": \"220113\",\n \"value\": \"九台区\"\n },\n {\n \"key\": \"220122\",\n \"value\": \"农安县\"\n },\n {\n \"key\": \"220182\",\n \"value\": \"榆树市\"\n },\n {\n \"key\": \"220183\",\n \"value\": \"德惠市\"\n }]\n },\n {\n \"key\": \"220200\",\n \"value\": \"吉林市\",\n \"children\": [{\n \"key\": \"220202\",\n \"value\": \"昌邑区\"\n },\n {\n \"key\": \"220203\",\n \"value\": \"龙潭区\"\n },\n {\n \"key\": \"220204\",\n \"value\": \"船营区\"\n },\n {\n \"key\": \"220211\",\n \"value\": \"丰满区\"\n },\n {\n \"key\": \"220221\",\n \"value\": \"永吉县\"\n },\n {\n \"key\": \"220281\",\n \"value\": \"蛟河市\"\n },\n {\n \"key\": \"220282\",\n \"value\": \"桦甸市\"\n },\n {\n \"key\": \"220283\",\n \"value\": \"舒兰市\"\n },\n {\n \"key\": \"220284\",\n \"value\": \"磐石市\"\n }]\n },\n {\n \"key\": \"220300\",\n \"value\": \"四平市\",\n \"children\": [{\n \"key\": \"220302\",\n \"value\": \"铁西区\"\n },\n {\n \"key\": \"220303\",\n \"value\": \"铁东区\"\n },\n {\n \"key\": \"220322\",\n \"value\": \"梨树县\"\n },\n {\n \"key\": \"220323\",\n \"value\": \"伊通满族自治县\"\n },\n {\n \"key\": \"220381\",\n \"value\": \"公主岭市\"\n },\n {\n \"key\": \"220382\",\n \"value\": \"双辽市\"\n }]\n },\n {\n \"key\": \"220400\",\n \"value\": \"辽源市\",\n \"children\": [{\n \"key\": \"220402\",\n \"value\": \"龙山区\"\n },\n {\n \"key\": \"220403\",\n \"value\": \"西安区\"\n },\n {\n \"key\": \"220421\",\n \"value\": \"东丰县\"\n },\n {\n \"key\": \"220422\",\n \"value\": \"东辽县\"\n }]\n },\n {\n \"key\": \"220500\",\n \"value\": \"通化市\",\n \"children\": [{\n \"key\": \"220502\",\n \"value\": \"东昌区\"\n },\n {\n \"key\": \"220503\",\n \"value\": \"二道江区\"\n },\n {\n \"key\": \"220521\",\n \"value\": \"通化县\"\n },\n {\n \"key\": \"220523\",\n \"value\": \"辉南县\"\n },\n {\n \"key\": \"220524\",\n \"value\": \"柳河县\"\n },\n {\n \"key\": \"220581\",\n \"value\": \"梅河口市\"\n },\n {\n \"key\": \"220582\",\n \"value\": \"集安市\"\n }]\n },\n {\n \"key\": \"220600\",\n \"value\": \"白山市\",\n \"children\": [{\n \"key\": \"220602\",\n \"value\": \"浑江区\"\n },\n {\n \"key\": \"220605\",\n \"value\": \"江源区\"\n },\n {\n \"key\": \"220621\",\n \"value\": \"抚松县\"\n },\n {\n \"key\": \"220622\",\n \"value\": \"靖宇县\"\n },\n {\n \"key\": \"220623\",\n \"value\": \"长白朝鲜族自治县\"\n },\n {\n \"key\": \"220681\",\n \"value\": \"临江市\"\n }]\n },\n {\n \"key\": \"220700\",\n \"value\": \"松原市\",\n \"children\": [{\n \"key\": \"220702\",\n \"value\": \"宁江区\"\n },\n {\n \"key\": \"220721\",\n \"value\": \"前郭尔罗斯蒙古族自治县\"\n },\n {\n \"key\": \"220722\",\n \"value\": \"长岭县\"\n },\n {\n \"key\": \"220723\",\n \"value\": \"乾安县\"\n },\n {\n \"key\": \"220781\",\n \"value\": \"扶余市\"\n }]\n },\n {\n \"key\": \"220800\",\n \"value\": \"白城市\",\n \"children\": [{\n \"key\": \"220802\",\n \"value\": \"洮北区\"\n },\n {\n \"key\": \"220821\",\n \"value\": \"镇赉县\"\n },\n {\n \"key\": \"220822\",\n \"value\": \"通榆县\"\n },\n {\n \"key\": \"220881\",\n \"value\": \"洮南市\"\n },\n {\n \"key\": \"220882\",\n \"value\": \"大安市\"\n }]\n },\n {\n \"key\": \"222400\",\n \"value\": \"延边朝鲜族自治州\",\n \"children\": [{\n \"key\": \"222401\",\n \"value\": \"延吉市\"\n },\n {\n \"key\": \"222402\",\n \"value\": \"图们市\"\n },\n {\n \"key\": \"222403\",\n \"value\": \"敦化市\"\n },\n {\n \"key\": \"222404\",\n \"value\": \"珲春市\"\n },\n {\n \"key\": \"222405\",\n \"value\": \"龙井市\"\n },\n {\n \"key\": \"222406\",\n \"value\": \"和龙市\"\n },\n {\n \"key\": \"222424\",\n \"value\": \"汪清县\"\n },\n {\n \"key\": \"222426\",\n \"value\": \"安图县\"\n }]\n }]\n},\n{\n \"key\": \"230000\",\n \"value\": \"黑龙江\",\n \"children\": [{\n \"key\": \"230100\",\n \"value\": \"哈尔滨市\",\n \"children\": [{\n \"key\": \"230102\",\n \"value\": \"道里区\"\n },\n {\n \"key\": \"230103\",\n \"value\": \"南岗区\"\n },\n {\n \"key\": \"230104\",\n \"value\": \"道外区\"\n },\n {\n \"key\": \"230108\",\n \"value\": \"平房区\"\n },\n {\n \"key\": \"230109\",\n \"value\": \"松北区\"\n },\n {\n \"key\": \"230110\",\n \"value\": \"香坊区\"\n },\n {\n \"key\": \"230111\",\n \"value\": \"呼兰区\"\n },\n {\n \"key\": \"230112\",\n \"value\": \"阿城区\"\n },\n {\n \"key\": \"230113\",\n \"value\": \"双城区\"\n },\n {\n \"key\": \"230123\",\n \"value\": \"依兰县\"\n },\n {\n \"key\": \"230124\",\n \"value\": \"方正县\"\n },\n {\n \"key\": \"230125\",\n \"value\": \"宾县\"\n },\n {\n \"key\": \"230126\",\n \"value\": \"巴彦县\"\n },\n {\n \"key\": \"230127\",\n \"value\": \"木兰县\"\n },\n {\n \"key\": \"230128\",\n \"value\": \"通河县\"\n },\n {\n \"key\": \"230129\",\n \"value\": \"延寿县\"\n },\n {\n \"key\": \"230183\",\n \"value\": \"尚志市\"\n },\n {\n \"key\": \"230184\",\n \"value\": \"五常市\"\n }]\n },\n {\n \"key\": \"230200\",\n \"value\": \"齐齐哈尔市\",\n \"children\": [{\n \"key\": \"230202\",\n \"value\": \"龙沙区\"\n },\n {\n \"key\": \"230203\",\n \"value\": \"建华区\"\n },\n {\n \"key\": \"230204\",\n \"value\": \"铁锋区\"\n },\n {\n \"key\": \"230205\",\n \"value\": \"昂昂溪区\"\n },\n {\n \"key\": \"230206\",\n \"value\": \"富拉尔基区\"\n },\n {\n \"key\": \"230207\",\n \"value\": \"碾子山区\"\n },\n {\n \"key\": \"230208\",\n \"value\": \"梅里斯达斡尔族区\"\n },\n {\n \"key\": \"230221\",\n \"value\": \"龙江县\"\n },\n {\n \"key\": \"230223\",\n \"value\": \"依安县\"\n },\n {\n \"key\": \"230224\",\n \"value\": \"泰来县\"\n },\n {\n \"key\": \"230225\",\n \"value\": \"甘南县\"\n },\n {\n \"key\": \"230227\",\n \"value\": \"富裕县\"\n },\n {\n \"key\": \"230229\",\n \"value\": \"克山县\"\n },\n {\n \"key\": \"230230\",\n \"value\": \"克东县\"\n },\n {\n \"key\": \"230231\",\n \"value\": \"拜泉县\"\n },\n {\n \"key\": \"230281\",\n \"value\": \"讷河市\"\n }]\n },\n {\n \"key\": \"230300\",\n \"value\": \"鸡西市\",\n \"children\": [{\n \"key\": \"230302\",\n \"value\": \"鸡冠区\"\n },\n {\n \"key\": \"230303\",\n \"value\": \"恒山区\"\n },\n {\n \"key\": \"230304\",\n \"value\": \"滴道区\"\n },\n {\n \"key\": \"230305\",\n \"value\": \"梨树区\"\n },\n {\n \"key\": \"230306\",\n \"value\": \"城子河区\"\n },\n {\n \"key\": \"230307\",\n \"value\": \"麻山区\"\n },\n {\n \"key\": \"230321\",\n \"value\": \"鸡东县\"\n },\n {\n \"key\": \"230381\",\n \"value\": \"虎林市\"\n },\n {\n \"key\": \"230382\",\n \"value\": \"密山市\"\n }]\n },\n {\n \"key\": \"230400\",\n \"value\": \"鹤岗市\",\n \"children\": [{\n \"key\": \"230402\",\n \"value\": \"向阳区\"\n },\n {\n \"key\": \"230403\",\n \"value\": \"工农区\"\n },\n {\n \"key\": \"230404\",\n \"value\": \"南山区\"\n },\n {\n \"key\": \"230405\",\n \"value\": \"兴安区\"\n },\n {\n \"key\": \"230406\",\n \"value\": \"东山区\"\n },\n {\n \"key\": \"230407\",\n \"value\": \"兴山区\"\n },\n {\n \"key\": \"230421\",\n \"value\": \"萝北县\"\n },\n {\n \"key\": \"230422\",\n \"value\": \"绥滨县\"\n }]\n },\n {\n \"key\": \"230500\",\n \"value\": \"双鸭山市\",\n \"children\": [{\n \"key\": \"230502\",\n \"value\": \"尖山区\"\n },\n {\n \"key\": \"230503\",\n \"value\": \"岭东区\"\n },\n {\n \"key\": \"230505\",\n \"value\": \"四方台区\"\n },\n {\n \"key\": \"230506\",\n \"value\": \"宝山区\"\n },\n {\n \"key\": \"230521\",\n \"value\": \"集贤县\"\n },\n {\n \"key\": \"230522\",\n \"value\": \"友谊县\"\n },\n {\n \"key\": \"230523\",\n \"value\": \"宝清县\"\n },\n {\n \"key\": \"230524\",\n \"value\": \"饶河县\"\n }]\n },\n {\n \"key\": \"230600\",\n \"value\": \"大庆市\",\n \"children\": [{\n \"key\": \"230602\",\n \"value\": \"萨尔图区\"\n },\n {\n \"key\": \"230603\",\n \"value\": \"龙凤区\"\n },\n {\n \"key\": \"230604\",\n \"value\": \"让胡路区\"\n },\n {\n \"key\": \"230605\",\n \"value\": \"红岗区\"\n },\n {\n \"key\": \"230606\",\n \"value\": \"大同区\"\n },\n {\n \"key\": \"230621\",\n \"value\": \"肇州县\"\n },\n {\n \"key\": \"230622\",\n \"value\": \"肇源县\"\n },\n {\n \"key\": \"230623\",\n \"value\": \"林甸县\"\n },\n {\n \"key\": \"230624\",\n \"value\": \"杜尔伯特蒙古族自治县\"\n }]\n },\n {\n \"key\": \"230700\",\n \"value\": \"伊春市\",\n \"children\": [{\n \"key\": \"230702\",\n \"value\": \"伊春区\"\n },\n {\n \"key\": \"230703\",\n \"value\": \"南岔区\"\n },\n {\n \"key\": \"230704\",\n \"value\": \"友好区\"\n },\n {\n \"key\": \"230705\",\n \"value\": \"西林区\"\n },\n {\n \"key\": \"230706\",\n \"value\": \"翠峦区\"\n },\n {\n \"key\": \"230707\",\n \"value\": \"新青区\"\n },\n {\n \"key\": \"230708\",\n \"value\": \"美溪区\"\n },\n {\n \"key\": \"230709\",\n \"value\": \"金山屯区\"\n },\n {\n \"key\": \"230710\",\n \"value\": \"五营区\"\n },\n {\n \"key\": \"230711\",\n \"value\": \"乌马河区\"\n },\n {\n \"key\": \"230712\",\n \"value\": \"汤旺河区\"\n },\n {\n \"key\": \"230713\",\n \"value\": \"带岭区\"\n },\n {\n \"key\": \"230714\",\n \"value\": \"乌伊岭区\"\n },\n {\n \"key\": \"230715\",\n \"value\": \"红星区\"\n },\n {\n \"key\": \"230716\",\n \"value\": \"上甘岭区\"\n },\n {\n \"key\": \"230722\",\n \"value\": \"嘉荫县\"\n },\n {\n \"key\": \"230781\",\n \"value\": \"铁力市\"\n }]\n },\n {\n \"key\": \"230800\",\n \"value\": \"佳木斯市\",\n \"children\": [{\n \"key\": \"230803\",\n \"value\": \"向阳区\"\n },\n {\n \"key\": \"230804\",\n \"value\": \"前进区\"\n },\n {\n \"key\": \"230805\",\n \"value\": \"东风区\"\n },\n {\n \"key\": \"230811\",\n \"value\": \"郊区\"\n },\n {\n \"key\": \"230822\",\n \"value\": \"桦南县\"\n },\n {\n \"key\": \"230826\",\n \"value\": \"桦川县\"\n },\n {\n \"key\": \"230828\",\n \"value\": \"汤原县\"\n },\n {\n \"key\": \"230881\",\n \"value\": \"同江市\"\n },\n {\n \"key\": \"230882\",\n \"value\": \"富锦市\"\n },\n {\n \"key\": \"230883\",\n \"value\": \"抚远市\"\n }]\n },\n {\n \"key\": \"230900\",\n \"value\": \"七台河市\",\n \"children\": [{\n \"key\": \"230902\",\n \"value\": \"新兴区\"\n },\n {\n \"key\": \"230903\",\n \"value\": \"桃山区\"\n },\n {\n \"key\": \"230904\",\n \"value\": \"茄子河区\"\n },\n {\n \"key\": \"230921\",\n \"value\": \"勃利县\"\n }]\n },\n {\n \"key\": \"231000\",\n \"value\": \"牡丹江市\",\n \"children\": [{\n \"key\": \"231002\",\n \"value\": \"东安区\"\n },\n {\n \"key\": \"231003\",\n \"value\": \"阳明区\"\n },\n {\n \"key\": \"231004\",\n \"value\": \"爱民区\"\n },\n {\n \"key\": \"231005\",\n \"value\": \"西安区\"\n },\n {\n \"key\": \"231025\",\n \"value\": \"林口县\"\n },\n {\n \"key\": \"231081\",\n \"value\": \"绥芬河市\"\n },\n {\n \"key\": \"231083\",\n \"value\": \"海林市\"\n },\n {\n \"key\": \"231084\",\n \"value\": \"宁安市\"\n },\n {\n \"key\": \"231085\",\n \"value\": \"穆棱市\"\n },\n {\n \"key\": \"231086\",\n \"value\": \"东宁市\"\n }]\n },\n {\n \"key\": \"231100\",\n \"value\": \"黑河市\",\n \"children\": [{\n \"key\": \"231102\",\n \"value\": \"爱辉区\"\n },\n {\n \"key\": \"231121\",\n \"value\": \"嫩江县\"\n },\n {\n \"key\": \"231123\",\n \"value\": \"逊克县\"\n },\n {\n \"key\": \"231124\",\n \"value\": \"孙吴县\"\n },\n {\n \"key\": \"231181\",\n \"value\": \"北安市\"\n },\n {\n \"key\": \"231182\",\n \"value\": \"五大连池市\"\n }]\n },\n {\n \"key\": \"231200\",\n \"value\": \"绥化市\",\n \"children\": [{\n \"key\": \"231202\",\n \"value\": \"北林区\"\n },\n {\n \"key\": \"231221\",\n \"value\": \"望奎县\"\n },\n {\n \"key\": \"231222\",\n \"value\": \"兰西县\"\n },\n {\n \"key\": \"231223\",\n \"value\": \"青冈县\"\n },\n {\n \"key\": \"231224\",\n \"value\": \"庆安县\"\n },\n {\n \"key\": \"231225\",\n \"value\": \"明水县\"\n },\n {\n \"key\": \"231226\",\n \"value\": \"绥棱县\"\n },\n {\n \"key\": \"231281\",\n \"value\": \"安达市\"\n },\n {\n \"key\": \"231282\",\n \"value\": \"肇东市\"\n },\n {\n \"key\": \"231283\",\n \"value\": \"海伦市\"\n }]\n },\n {\n \"key\": \"232700\",\n \"value\": \"大兴安岭地区\",\n \"children\": [{\n \"key\": \"232701\",\n \"value\": \"加格达奇区\"\n },\n {\n \"key\": \"232702\",\n \"value\": \"松岭区\"\n },\n {\n \"key\": \"232703\",\n \"value\": \"新林区\"\n },\n {\n \"key\": \"232704\",\n \"value\": \"呼中区\"\n },\n {\n \"key\": \"232721\",\n \"value\": \"呼玛县\"\n },\n {\n \"key\": \"232722\",\n \"value\": \"塔河县\"\n },\n {\n \"key\": \"232723\",\n \"value\": \"漠河县\"\n }]\n }]\n},\n{\n \"key\": \"310000\",\n \"value\": \"上海\",\n \"children\": [{\n \"key\": \"310101\",\n \"value\": \"黄浦区\"\n },\n {\n \"key\": \"310104\",\n \"value\": \"徐汇区\"\n },\n {\n \"key\": \"310105\",\n \"value\": \"长宁区\"\n },\n {\n \"key\": \"310106\",\n \"value\": \"静安区\"\n },\n {\n \"key\": \"310107\",\n \"value\": \"普陀区\"\n },\n {\n \"key\": \"310109\",\n \"value\": \"虹口区\"\n },\n {\n \"key\": \"310110\",\n \"value\": \"杨浦区\"\n },\n {\n \"key\": \"310112\",\n \"value\": \"闵行区\"\n },\n {\n \"key\": \"310113\",\n \"value\": \"宝山区\"\n },\n {\n \"key\": \"310114\",\n \"value\": \"嘉定区\"\n },\n {\n \"key\": \"310115\",\n \"value\": \"浦东新区\"\n },\n {\n \"key\": \"310116\",\n \"value\": \"金山区\"\n },\n {\n \"key\": \"310117\",\n \"value\": \"松江区\"\n },\n {\n \"key\": \"310118\",\n \"value\": \"青浦区\"\n },\n {\n \"key\": \"310120\",\n \"value\": \"奉贤区\"\n },\n {\n \"key\": \"310151\",\n \"value\": \"崇明区\"\n }]\n},\n{\n \"key\": \"320000\",\n \"value\": \"江苏\",\n \"children\": [{\n \"key\": \"320100\",\n \"value\": \"南京市\",\n \"children\": [{\n \"key\": \"320102\",\n \"value\": \"玄武区\"\n },\n {\n \"key\": \"320104\",\n \"value\": \"秦淮区\"\n },\n {\n \"key\": \"320105\",\n \"value\": \"建邺区\"\n },\n {\n \"key\": \"320106\",\n \"value\": \"鼓楼区\"\n },\n {\n \"key\": \"320111\",\n \"value\": \"浦口区\"\n },\n {\n \"key\": \"320113\",\n \"value\": \"栖霞区\"\n },\n {\n \"key\": \"320114\",\n \"value\": \"雨花台区\"\n },\n {\n \"key\": \"320115\",\n \"value\": \"江宁区\"\n },\n {\n \"key\": \"320116\",\n \"value\": \"六合区\"\n },\n {\n \"key\": \"320117\",\n \"value\": \"溧水区\"\n },\n {\n \"key\": \"320118\",\n \"value\": \"高淳区\"\n }]\n },\n {\n \"key\": \"320200\",\n \"value\": \"无锡市\",\n \"children\": [{\n \"key\": \"320205\",\n \"value\": \"锡山区\"\n },\n {\n \"key\": \"320206\",\n \"value\": \"惠山区\"\n },\n {\n \"key\": \"320211\",\n \"value\": \"滨湖区\"\n },\n {\n \"key\": \"320213\",\n \"value\": \"梁溪区\"\n },\n {\n \"key\": \"320214\",\n \"value\": \"新吴区\"\n },\n {\n \"key\": \"320281\",\n \"value\": \"江阴市\"\n },\n {\n \"key\": \"320282\",\n \"value\": \"宜兴市\"\n }]\n },\n {\n \"key\": \"320300\",\n \"value\": \"徐州市\",\n \"children\": [{\n \"key\": \"320302\",\n \"value\": \"鼓楼区\"\n },\n {\n \"key\": \"320303\",\n \"value\": \"云龙区\"\n },\n {\n \"key\": \"320305\",\n \"value\": \"贾汪区\"\n },\n {\n \"key\": \"320311\",\n \"value\": \"泉山区\"\n },\n {\n \"key\": \"320312\",\n \"value\": \"铜山区\"\n },\n {\n \"key\": \"320321\",\n \"value\": \"丰县\"\n },\n {\n \"key\": \"320322\",\n \"value\": \"沛县\"\n },\n {\n \"key\": \"320324\",\n \"value\": \"睢宁县\"\n },\n {\n \"key\": \"320381\",\n \"value\": \"新沂市\"\n },\n {\n \"key\": \"320382\",\n \"value\": \"邳州市\"\n }]\n },\n {\n \"key\": \"320400\",\n \"value\": \"常州市\",\n \"children\": [{\n \"key\": \"320402\",\n \"value\": \"天宁区\"\n },\n {\n \"key\": \"320404\",\n \"value\": \"钟楼区\"\n },\n {\n \"key\": \"320411\",\n \"value\": \"新北区\"\n },\n {\n \"key\": \"320412\",\n \"value\": \"武进区\"\n },\n {\n \"key\": \"320413\",\n \"value\": \"金坛区\"\n },\n {\n \"key\": \"320481\",\n \"value\": \"溧阳市\"\n }]\n },\n {\n \"key\": \"320500\",\n \"value\": \"苏州市\",\n \"children\": [{\n \"key\": \"320505\",\n \"value\": \"虎丘区\"\n },\n {\n \"key\": \"320506\",\n \"value\": \"吴中区\"\n },\n {\n \"key\": \"320507\",\n \"value\": \"相城区\"\n },\n {\n \"key\": \"320508\",\n \"value\": \"姑苏区\"\n },\n {\n \"key\": \"320509\",\n \"value\": \"吴江区\"\n },\n {\n \"key\": \"320581\",\n \"value\": \"常熟市\"\n },\n {\n \"key\": \"320582\",\n \"value\": \"张家港市\"\n },\n {\n \"key\": \"320583\",\n \"value\": \"昆山市\"\n },\n {\n \"key\": \"320585\",\n \"value\": \"太仓市\"\n }]\n },\n {\n \"key\": \"320600\",\n \"value\": \"南通市\",\n \"children\": [{\n \"key\": \"320602\",\n \"value\": \"崇川区\"\n },\n {\n \"key\": \"320611\",\n \"value\": \"港闸区\"\n },\n {\n \"key\": \"320612\",\n \"value\": \"通州区\"\n },\n {\n \"key\": \"320623\",\n \"value\": \"如东县\"\n },\n {\n \"key\": \"320681\",\n \"value\": \"启东市\"\n },\n {\n \"key\": \"320682\",\n \"value\": \"如皋市\"\n },\n {\n \"key\": \"320684\",\n \"value\": \"海门市\"\n },\n {\n \"key\": \"320685\",\n \"value\": \"海安市\"\n }]\n },\n {\n \"key\": \"320700\",\n \"value\": \"连云港市\",\n \"children\": [{\n \"key\": \"320703\",\n \"value\": \"连云区\"\n },\n {\n \"key\": \"320706\",\n \"value\": \"海州区\"\n },\n {\n \"key\": \"320707\",\n \"value\": \"赣榆区\"\n },\n {\n \"key\": \"320722\",\n \"value\": \"东海县\"\n },\n {\n \"key\": \"320723\",\n \"value\": \"灌云县\"\n },\n {\n \"key\": \"320724\",\n \"value\": \"灌南县\"\n }]\n },\n {\n \"key\": \"320800\",\n \"value\": \"淮安市\",\n \"children\": [{\n \"key\": \"320803\",\n \"value\": \"淮安区\"\n },\n {\n \"key\": \"320804\",\n \"value\": \"淮阴区\"\n },\n {\n \"key\": \"320812\",\n \"value\": \"清江浦区\"\n },\n {\n \"key\": \"320813\",\n \"value\": \"洪泽区\"\n },\n {\n \"key\": \"320826\",\n \"value\": \"涟水县\"\n },\n {\n \"key\": \"320830\",\n \"value\": \"盱眙县\"\n },\n {\n \"key\": \"320831\",\n \"value\": \"金湖县\"\n }]\n },\n {\n \"key\": \"320900\",\n \"value\": \"盐城市\",\n \"children\": [{\n \"key\": \"320902\",\n \"value\": \"亭湖区\"\n },\n {\n \"key\": \"320903\",\n \"value\": \"盐都区\"\n },\n {\n \"key\": \"320904\",\n \"value\": \"大丰区\"\n },\n {\n \"key\": \"320921\",\n \"value\": \"响水县\"\n },\n {\n \"key\": \"320922\",\n \"value\": \"滨海县\"\n },\n {\n \"key\": \"320923\",\n \"value\": \"阜宁县\"\n },\n {\n \"key\": \"320924\",\n \"value\": \"射阳县\"\n },\n {\n \"key\": \"320925\",\n \"value\": \"建湖县\"\n },\n {\n \"key\": \"320981\",\n \"value\": \"东台市\"\n }]\n },\n {\n \"key\": \"321000\",\n \"value\": \"扬州市\",\n \"children\": [{\n \"key\": \"321002\",\n \"value\": \"广陵区\"\n },\n {\n \"key\": \"321003\",\n \"value\": \"邗江区\"\n },\n {\n \"key\": \"321012\",\n \"value\": \"江都区\"\n },\n {\n \"key\": \"321023\",\n \"value\": \"宝应县\"\n },\n {\n \"key\": \"321081\",\n \"value\": \"仪征市\"\n },\n {\n \"key\": \"321084\",\n \"value\": \"高邮市\"\n }]\n },\n {\n \"key\": \"321100\",\n \"value\": \"镇江市\",\n \"children\": [{\n \"key\": \"321102\",\n \"value\": \"京口区\"\n },\n {\n \"key\": \"321111\",\n \"value\": \"润州区\"\n },\n {\n \"key\": \"321112\",\n \"value\": \"丹徒区\"\n },\n {\n \"key\": \"321181\",\n \"value\": \"丹阳市\"\n },\n {\n \"key\": \"321182\",\n \"value\": \"扬中市\"\n },\n {\n \"key\": \"321183\",\n \"value\": \"句容市\"\n }]\n },\n {\n \"key\": \"321200\",\n \"value\": \"泰州市\",\n \"children\": [{\n \"key\": \"321202\",\n \"value\": \"海陵区\"\n },\n {\n \"key\": \"321203\",\n \"value\": \"高港区\"\n },\n {\n \"key\": \"321204\",\n \"value\": \"姜堰区\"\n },\n {\n \"key\": \"321281\",\n \"value\": \"兴化市\"\n },\n {\n \"key\": \"321282\",\n \"value\": \"靖江市\"\n },\n {\n \"key\": \"321283\",\n \"value\": \"泰兴市\"\n }]\n },\n {\n \"key\": \"321300\",\n \"value\": \"宿迁市\",\n \"children\": [{\n \"key\": \"321302\",\n \"value\": \"宿城区\"\n },\n {\n \"key\": \"321311\",\n \"value\": \"宿豫区\"\n },\n {\n \"key\": \"321322\",\n \"value\": \"沭阳县\"\n },\n {\n \"key\": \"321323\",\n \"value\": \"泗阳县\"\n },\n {\n \"key\": \"321324\",\n \"value\": \"泗洪县\"\n }]\n }]\n},\n{\n \"key\": \"330000\",\n \"value\": \"浙江\",\n \"children\": [{\n \"key\": \"330100\",\n \"value\": \"杭州市\",\n \"children\": [{\n \"key\": \"330102\",\n \"value\": \"上城区\"\n },\n {\n \"key\": \"330103\",\n \"value\": \"下城区\"\n },\n {\n \"key\": \"330104\",\n \"value\": \"江干区\"\n },\n {\n \"key\": \"330105\",\n \"value\": \"拱墅区\"\n },\n {\n \"key\": \"330106\",\n \"value\": \"西湖区\"\n },\n {\n \"key\": \"330108\",\n \"value\": \"滨江区\"\n },\n {\n \"key\": \"330109\",\n \"value\": \"萧山区\"\n },\n {\n \"key\": \"330110\",\n \"value\": \"余杭区\"\n },\n {\n \"key\": \"330111\",\n \"value\": \"富阳区\"\n },\n {\n \"key\": \"330112\",\n \"value\": \"临安区\"\n },\n {\n \"key\": \"330122\",\n \"value\": \"桐庐县\"\n },\n {\n \"key\": \"330127\",\n \"value\": \"淳安县\"\n },\n {\n \"key\": \"330182\",\n \"value\": \"建德市\"\n }]\n },\n {\n \"key\": \"330200\",\n \"value\": \"宁波市\",\n \"children\": [{\n \"key\": \"330203\",\n \"value\": \"海曙区\"\n },\n {\n \"key\": \"330205\",\n \"value\": \"江北区\"\n },\n {\n \"key\": \"330206\",\n \"value\": \"北仑区\"\n },\n {\n \"key\": \"330211\",\n \"value\": \"镇海区\"\n },\n {\n \"key\": \"330212\",\n \"value\": \"鄞州区\"\n },\n {\n \"key\": \"330213\",\n \"value\": \"奉化区\"\n },\n {\n \"key\": \"330225\",\n \"value\": \"象山县\"\n },\n {\n \"key\": \"330226\",\n \"value\": \"宁海县\"\n },\n {\n \"key\": \"330281\",\n \"value\": \"余姚市\"\n },\n {\n \"key\": \"330282\",\n \"value\": \"慈溪市\"\n }]\n },\n {\n \"key\": \"330300\",\n \"value\": \"温州市\",\n \"children\": [{\n \"key\": \"330302\",\n \"value\": \"鹿城区\"\n },\n {\n \"key\": \"330303\",\n \"value\": \"龙湾区\"\n },\n {\n \"key\": \"330304\",\n \"value\": \"瓯海区\"\n },\n {\n \"key\": \"330305\",\n \"value\": \"洞头区\"\n },\n {\n \"key\": \"330324\",\n \"value\": \"永嘉县\"\n },\n {\n \"key\": \"330326\",\n \"value\": \"平阳县\"\n },\n {\n \"key\": \"330327\",\n \"value\": \"苍南县\"\n },\n {\n \"key\": \"330328\",\n \"value\": \"文成县\"\n },\n {\n \"key\": \"330329\",\n \"value\": \"泰顺县\"\n },\n {\n \"key\": \"330381\",\n \"value\": \"瑞安市\"\n },\n {\n \"key\": \"330382\",\n \"value\": \"乐清市\"\n }]\n },\n {\n \"key\": \"330400\",\n \"value\": \"嘉兴市\",\n \"children\": [{\n \"key\": \"330402\",\n \"value\": \"南湖区\"\n },\n {\n \"key\": \"330411\",\n \"value\": \"秀洲区\"\n },\n {\n \"key\": \"330421\",\n \"value\": \"嘉善县\"\n },\n {\n \"key\": \"330424\",\n \"value\": \"海盐县\"\n },\n {\n \"key\": \"330481\",\n \"value\": \"海宁市\"\n },\n {\n \"key\": \"330482\",\n \"value\": \"平湖市\"\n },\n {\n \"key\": \"330483\",\n \"value\": \"桐乡市\"\n }]\n },\n {\n \"key\": \"330500\",\n \"value\": \"湖州市\",\n \"children\": [{\n \"key\": \"330502\",\n \"value\": \"吴兴区\"\n },\n {\n \"key\": \"330503\",\n \"value\": \"南浔区\"\n },\n {\n \"key\": \"330521\",\n \"value\": \"德清县\"\n },\n {\n \"key\": \"330522\",\n \"value\": \"长兴县\"\n },\n {\n \"key\": \"330523\",\n \"value\": \"安吉县\"\n }]\n },\n {\n \"key\": \"330600\",\n \"value\": \"绍兴市\",\n \"children\": [{\n \"key\": \"330602\",\n \"value\": \"越城区\"\n },\n {\n \"key\": \"330603\",\n \"value\": \"柯桥区\"\n },\n {\n \"key\": \"330604\",\n \"value\": \"上虞区\"\n },\n {\n \"key\": \"330624\",\n \"value\": \"新昌县\"\n },\n {\n \"key\": \"330681\",\n \"value\": \"诸暨市\"\n },\n {\n \"key\": \"330683\",\n \"value\": \"嵊州市\"\n }]\n },\n {\n \"key\": \"330700\",\n \"value\": \"金华市\",\n \"children\": [{\n \"key\": \"330702\",\n \"value\": \"婺城区\"\n },\n {\n \"key\": \"330703\",\n \"value\": \"金东区\"\n },\n {\n \"key\": \"330723\",\n \"value\": \"武义县\"\n },\n {\n \"key\": \"330726\",\n \"value\": \"浦江县\"\n },\n {\n \"key\": \"330727\",\n \"value\": \"磐安县\"\n },\n {\n \"key\": \"330781\",\n \"value\": \"兰溪市\"\n },\n {\n \"key\": \"330782\",\n \"value\": \"义乌市\"\n },\n {\n \"key\": \"330783\",\n \"value\": \"东阳市\"\n },\n {\n \"key\": \"330784\",\n \"value\": \"永康市\"\n }]\n },\n {\n \"key\": \"330800\",\n \"value\": \"衢州市\",\n \"children\": [{\n \"key\": \"330802\",\n \"value\": \"柯城区\"\n },\n {\n \"key\": \"330803\",\n \"value\": \"衢江区\"\n },\n {\n \"key\": \"330822\",\n \"value\": \"常山县\"\n },\n {\n \"key\": \"330824\",\n \"value\": \"开化县\"\n },\n {\n \"key\": \"330825\",\n \"value\": \"龙游县\"\n },\n {\n \"key\": \"330881\",\n \"value\": \"江山市\"\n }]\n },\n {\n \"key\": \"330900\",\n \"value\": \"舟山市\",\n \"children\": [{\n \"key\": \"330902\",\n \"value\": \"定海区\"\n },\n {\n \"key\": \"330903\",\n \"value\": \"普陀区\"\n },\n {\n \"key\": \"330921\",\n \"value\": \"岱山县\"\n },\n {\n \"key\": \"330922\",\n \"value\": \"嵊泗县\"\n }]\n },\n {\n \"key\": \"331000\",\n \"value\": \"台州市\",\n \"children\": [{\n \"key\": \"331002\",\n \"value\": \"椒江区\"\n },\n {\n \"key\": \"331003\",\n \"value\": \"黄岩区\"\n },\n {\n \"key\": \"331004\",\n \"value\": \"路桥区\"\n },\n {\n \"key\": \"331022\",\n \"value\": \"三门县\"\n },\n {\n \"key\": \"331023\",\n \"value\": \"天台县\"\n },\n {\n \"key\": \"331024\",\n \"value\": \"仙居县\"\n },\n {\n \"key\": \"331081\",\n \"value\": \"温岭市\"\n },\n {\n \"key\": \"331082\",\n \"value\": \"临海市\"\n },\n {\n \"key\": \"331083\",\n \"value\": \"玉环市\"\n }]\n },\n {\n \"key\": \"331100\",\n \"value\": \"丽水市\",\n \"children\": [{\n \"key\": \"331102\",\n \"value\": \"莲都区\"\n },\n {\n \"key\": \"331121\",\n \"value\": \"青田县\"\n },\n {\n \"key\": \"331122\",\n \"value\": \"缙云县\"\n },\n {\n \"key\": \"331123\",\n \"value\": \"遂昌县\"\n },\n {\n \"key\": \"331124\",\n \"value\": \"松阳县\"\n },\n {\n \"key\": \"331125\",\n \"value\": \"云和县\"\n },\n {\n \"key\": \"331126\",\n \"value\": \"庆元县\"\n },\n {\n \"key\": \"331127\",\n \"value\": \"景宁畲族自治县\"\n },\n {\n \"key\": \"331181\",\n \"value\": \"龙泉市\"\n }]\n }]\n},\n{\n \"key\": \"340000\",\n \"value\": \"安徽\",\n \"children\": [{\n \"key\": \"340100\",\n \"value\": \"合肥市\",\n \"children\": [{\n \"key\": \"340102\",\n \"value\": \"瑶海区\"\n },\n {\n \"key\": \"340103\",\n \"value\": \"庐阳区\"\n },\n {\n \"key\": \"340104\",\n \"value\": \"蜀山区\"\n },\n {\n \"key\": \"340111\",\n \"value\": \"包河区\"\n },\n {\n \"key\": \"340121\",\n \"value\": \"长丰县\"\n },\n {\n \"key\": \"340122\",\n \"value\": \"肥东县\"\n },\n {\n \"key\": \"340123\",\n \"value\": \"肥西县\"\n },\n {\n \"key\": \"340124\",\n \"value\": \"庐江县\"\n },\n {\n \"key\": \"340181\",\n \"value\": \"巢湖市\"\n }]\n },\n {\n \"key\": \"340200\",\n \"value\": \"芜湖市\",\n \"children\": [{\n \"key\": \"340202\",\n \"value\": \"镜湖区\"\n },\n {\n \"key\": \"340203\",\n \"value\": \"弋江区\"\n },\n {\n \"key\": \"340207\",\n \"value\": \"鸠江区\"\n },\n {\n \"key\": \"340208\",\n \"value\": \"三山区\"\n },\n {\n \"key\": \"340221\",\n \"value\": \"芜湖县\"\n },\n {\n \"key\": \"340222\",\n \"value\": \"繁昌县\"\n },\n {\n \"key\": \"340223\",\n \"value\": \"南陵县\"\n },\n {\n \"key\": \"340225\",\n \"value\": \"无为县\"\n }]\n },\n {\n \"key\": \"340300\",\n \"value\": \"蚌埠市\",\n \"children\": [{\n \"key\": \"340302\",\n \"value\": \"龙子湖区\"\n },\n {\n \"key\": \"340303\",\n \"value\": \"蚌山区\"\n },\n {\n \"key\": \"340304\",\n \"value\": \"禹会区\"\n },\n {\n \"key\": \"340311\",\n \"value\": \"淮上区\"\n },\n {\n \"key\": \"340321\",\n \"value\": \"怀远县\"\n },\n {\n \"key\": \"340322\",\n \"value\": \"五河县\"\n },\n {\n \"key\": \"340323\",\n \"value\": \"固镇县\"\n }]\n },\n {\n \"key\": \"340400\",\n \"value\": \"淮南市\",\n \"children\": [{\n \"key\": \"340402\",\n \"value\": \"大通区\"\n },\n {\n \"key\": \"340403\",\n \"value\": \"田家庵区\"\n },\n {\n \"key\": \"340404\",\n \"value\": \"谢家集区\"\n },\n {\n \"key\": \"340405\",\n \"value\": \"八公山区\"\n },\n {\n \"key\": \"340406\",\n \"value\": \"潘集区\"\n },\n {\n \"key\": \"340421\",\n \"value\": \"凤台县\"\n },\n {\n \"key\": \"340422\",\n \"value\": \"寿县\"\n }]\n },\n {\n \"key\": \"340500\",\n \"value\": \"马鞍山市\",\n \"children\": [{\n \"key\": \"340503\",\n \"value\": \"花山区\"\n },\n {\n \"key\": \"340504\",\n \"value\": \"雨山区\"\n },\n {\n \"key\": \"340506\",\n \"value\": \"博望区\"\n },\n {\n \"key\": \"340521\",\n \"value\": \"当涂县\"\n },\n {\n \"key\": \"340522\",\n \"value\": \"含山县\"\n },\n {\n \"key\": \"340523\",\n \"value\": \"和县\"\n }]\n },\n {\n \"key\": \"340600\",\n \"value\": \"淮北市\",\n \"children\": [{\n \"key\": \"340602\",\n \"value\": \"杜集区\"\n },\n {\n \"key\": \"340603\",\n \"value\": \"相山区\"\n },\n {\n \"key\": \"340604\",\n \"value\": \"烈山区\"\n },\n {\n \"key\": \"340621\",\n \"value\": \"濉溪县\"\n }]\n },\n {\n \"key\": \"340700\",\n \"value\": \"铜陵市\",\n \"children\": [{\n \"key\": \"340705\",\n \"value\": \"铜官区\"\n },\n {\n \"key\": \"340706\",\n \"value\": \"义安区\"\n },\n {\n \"key\": \"340711\",\n \"value\": \"郊区\"\n },\n {\n \"key\": \"340722\",\n \"value\": \"枞阳县\"\n }]\n },\n {\n \"key\": \"340800\",\n \"value\": \"安庆市\",\n \"children\": [{\n \"key\": \"340802\",\n \"value\": \"迎江区\"\n },\n {\n \"key\": \"340803\",\n \"value\": \"大观区\"\n },\n {\n \"key\": \"340811\",\n \"value\": \"宜秀区\"\n },\n {\n \"key\": \"340822\",\n \"value\": \"怀宁县\"\n },\n {\n \"key\": \"340824\",\n \"value\": \"潜山县\"\n },\n {\n \"key\": \"340825\",\n \"value\": \"太湖县\"\n },\n {\n \"key\": \"340826\",\n \"value\": \"宿松县\"\n },\n {\n \"key\": \"340827\",\n \"value\": \"望江县\"\n },\n {\n \"key\": \"340828\",\n \"value\": \"岳西县\"\n },\n {\n \"key\": \"340881\",\n \"value\": \"桐城市\"\n }]\n },\n {\n \"key\": \"341000\",\n \"value\": \"黄山市\",\n \"children\": [{\n \"key\": \"341002\",\n \"value\": \"屯溪区\"\n },\n {\n \"key\": \"341003\",\n \"value\": \"黄山区\"\n },\n {\n \"key\": \"341004\",\n \"value\": \"徽州区\"\n },\n {\n \"key\": \"341021\",\n \"value\": \"歙县\"\n },\n {\n \"key\": \"341022\",\n \"value\": \"休宁县\"\n },\n {\n \"key\": \"341023\",\n \"value\": \"黟县\"\n },\n {\n \"key\": \"341024\",\n \"value\": \"祁门县\"\n }]\n },\n {\n \"key\": \"341100\",\n \"value\": \"滁州市\",\n \"children\": [{\n \"key\": \"341102\",\n \"value\": \"琅琊区\"\n },\n {\n \"key\": \"341103\",\n \"value\": \"南谯区\"\n },\n {\n \"key\": \"341122\",\n \"value\": \"来安县\"\n },\n {\n \"key\": \"341124\",\n \"value\": \"全椒县\"\n },\n {\n \"key\": \"341125\",\n \"value\": \"定远县\"\n },\n {\n \"key\": \"341126\",\n \"value\": \"凤阳县\"\n },\n {\n \"key\": \"341181\",\n \"value\": \"天长市\"\n },\n {\n \"key\": \"341182\",\n \"value\": \"明光市\"\n }]\n },\n {\n \"key\": \"341200\",\n \"value\": \"阜阳市\",\n \"children\": [{\n \"key\": \"341202\",\n \"value\": \"颍州区\"\n },\n {\n \"key\": \"341203\",\n \"value\": \"颍东区\"\n },\n {\n \"key\": \"341204\",\n \"value\": \"颍泉区\"\n },\n {\n \"key\": \"341221\",\n \"value\": \"临泉县\"\n },\n {\n \"key\": \"341222\",\n \"value\": \"太和县\"\n },\n {\n \"key\": \"341225\",\n \"value\": \"阜南县\"\n },\n {\n \"key\": \"341226\",\n \"value\": \"颍上县\"\n },\n {\n \"key\": \"341282\",\n \"value\": \"界首市\"\n }]\n },\n {\n \"key\": \"341300\",\n \"value\": \"宿州市\",\n \"children\": [{\n \"key\": \"341302\",\n \"value\": \"埇桥区\"\n },\n {\n \"key\": \"341321\",\n \"value\": \"砀山县\"\n },\n {\n \"key\": \"341322\",\n \"value\": \"萧县\"\n },\n {\n \"key\": \"341323\",\n \"value\": \"灵璧县\"\n },\n {\n \"key\": \"341324\",\n \"value\": \"泗县\"\n }]\n },\n {\n \"key\": \"341500\",\n \"value\": \"六安市\",\n \"children\": [{\n \"key\": \"341502\",\n \"value\": \"金安区\"\n },\n {\n \"key\": \"341503\",\n \"value\": \"裕安区\"\n },\n {\n \"key\": \"341504\",\n \"value\": \"叶集区\"\n },\n {\n \"key\": \"341522\",\n \"value\": \"霍邱县\"\n },\n {\n \"key\": \"341523\",\n \"value\": \"舒城县\"\n },\n {\n \"key\": \"341524\",\n \"value\": \"金寨县\"\n },\n {\n \"key\": \"341525\",\n \"value\": \"霍山县\"\n }]\n },\n {\n \"key\": \"341600\",\n \"value\": \"亳州市\",\n \"children\": [{\n \"key\": \"341602\",\n \"value\": \"谯城区\"\n },\n {\n \"key\": \"341621\",\n \"value\": \"涡阳县\"\n },\n {\n \"key\": \"341622\",\n \"value\": \"蒙城县\"\n },\n {\n \"key\": \"341623\",\n \"value\": \"利辛县\"\n }]\n },\n {\n \"key\": \"341700\",\n \"value\": \"池州市\",\n \"children\": [{\n \"key\": \"341702\",\n \"value\": \"贵池区\"\n },\n {\n \"key\": \"341721\",\n \"value\": \"东至县\"\n },\n {\n \"key\": \"341722\",\n \"value\": \"石台县\"\n },\n {\n \"key\": \"341723\",\n \"value\": \"青阳县\"\n }]\n },\n {\n \"key\": \"341800\",\n \"value\": \"宣城市\",\n \"children\": [{\n \"key\": \"341802\",\n \"value\": \"宣州区\"\n },\n {\n \"key\": \"341821\",\n \"value\": \"郎溪县\"\n },\n {\n \"key\": \"341822\",\n \"value\": \"广德县\"\n },\n {\n \"key\": \"341823\",\n \"value\": \"泾县\"\n },\n {\n \"key\": \"341824\",\n \"value\": \"绩溪县\"\n },\n {\n \"key\": \"341825\",\n \"value\": \"旌德县\"\n },\n {\n \"key\": \"341881\",\n \"value\": \"宁国市\"\n }]\n }]\n},\n{\n \"key\": \"350000\",\n \"value\": \"福建\",\n \"children\": [{\n \"key\": \"350100\",\n \"value\": \"福州市\",\n \"children\": [{\n \"key\": \"350102\",\n \"value\": \"鼓楼区\"\n },\n {\n \"key\": \"350103\",\n \"value\": \"台江区\"\n },\n {\n \"key\": \"350104\",\n \"value\": \"仓山区\"\n },\n {\n \"key\": \"350105\",\n \"value\": \"马尾区\"\n },\n {\n \"key\": \"350111\",\n \"value\": \"晋安区\"\n },\n {\n \"key\": \"350112\",\n \"value\": \"长乐区\"\n },\n {\n \"key\": \"350121\",\n \"value\": \"闽侯县\"\n },\n {\n \"key\": \"350122\",\n \"value\": \"连江县\"\n },\n {\n \"key\": \"350123\",\n \"value\": \"罗源县\"\n },\n {\n \"key\": \"350124\",\n \"value\": \"闽清县\"\n },\n {\n \"key\": \"350125\",\n \"value\": \"永泰县\"\n },\n {\n \"key\": \"350128\",\n \"value\": \"平潭县\"\n },\n {\n \"key\": \"350181\",\n \"value\": \"福清市\"\n }]\n },\n {\n \"key\": \"350200\",\n \"value\": \"厦门市\",\n \"children\": [{\n \"key\": \"350203\",\n \"value\": \"思明区\"\n },\n {\n \"key\": \"350205\",\n \"value\": \"海沧区\"\n },\n {\n \"key\": \"350206\",\n \"value\": \"湖里区\"\n },\n {\n \"key\": \"350211\",\n \"value\": \"集美区\"\n },\n {\n \"key\": \"350212\",\n \"value\": \"同安区\"\n },\n {\n \"key\": \"350213\",\n \"value\": \"翔安区\"\n }]\n },\n {\n \"key\": \"350300\",\n \"value\": \"莆田市\",\n \"children\": [{\n \"key\": \"350302\",\n \"value\": \"城厢区\"\n },\n {\n \"key\": \"350303\",\n \"value\": \"涵江区\"\n },\n {\n \"key\": \"350304\",\n \"value\": \"荔城区\"\n },\n {\n \"key\": \"350305\",\n \"value\": \"秀屿区\"\n },\n {\n \"key\": \"350322\",\n \"value\": \"仙游县\"\n }]\n },\n {\n \"key\": \"350400\",\n \"value\": \"三明市\",\n \"children\": [{\n \"key\": \"350402\",\n \"value\": \"梅列区\"\n },\n {\n \"key\": \"350403\",\n \"value\": \"三元区\"\n },\n {\n \"key\": \"350421\",\n \"value\": \"明溪县\"\n },\n {\n \"key\": \"350423\",\n \"value\": \"清流县\"\n },\n {\n \"key\": \"350424\",\n \"value\": \"宁化县\"\n },\n {\n \"key\": \"350425\",\n \"value\": \"大田县\"\n },\n {\n \"key\": \"350426\",\n \"value\": \"尤溪县\"\n },\n {\n \"key\": \"350427\",\n \"value\": \"沙县\"\n },\n {\n \"key\": \"350428\",\n \"value\": \"将乐县\"\n },\n {\n \"key\": \"350429\",\n \"value\": \"泰宁县\"\n },\n {\n \"key\": \"350430\",\n \"value\": \"建宁县\"\n },\n {\n \"key\": \"350481\",\n \"value\": \"永安市\"\n }]\n },\n {\n \"key\": \"350500\",\n \"value\": \"泉州市\",\n \"children\": [{\n \"key\": \"350502\",\n \"value\": \"鲤城区\"\n },\n {\n \"key\": \"350503\",\n \"value\": \"丰泽区\"\n },\n {\n \"key\": \"350504\",\n \"value\": \"洛江区\"\n },\n {\n \"key\": \"350505\",\n \"value\": \"泉港区\"\n },\n {\n \"key\": \"350521\",\n \"value\": \"惠安县\"\n },\n {\n \"key\": \"350524\",\n \"value\": \"安溪县\"\n },\n {\n \"key\": \"350525\",\n \"value\": \"永春县\"\n },\n {\n \"key\": \"350526\",\n \"value\": \"德化县\"\n },\n {\n \"key\": \"350527\",\n \"value\": \"金门县\"\n },\n {\n \"key\": \"350581\",\n \"value\": \"石狮市\"\n },\n {\n \"key\": \"350582\",\n \"value\": \"晋江市\"\n },\n {\n \"key\": \"350583\",\n \"value\": \"南安市\"\n }]\n },\n {\n \"key\": \"350600\",\n \"value\": \"漳州市\",\n \"children\": [{\n \"key\": \"350602\",\n \"value\": \"芗城区\"\n },\n {\n \"key\": \"350603\",\n \"value\": \"龙文区\"\n },\n {\n \"key\": \"350622\",\n \"value\": \"云霄县\"\n },\n {\n \"key\": \"350623\",\n \"value\": \"漳浦县\"\n },\n {\n \"key\": \"350624\",\n \"value\": \"诏安县\"\n },\n {\n \"key\": \"350625\",\n \"value\": \"长泰县\"\n },\n {\n \"key\": \"350626\",\n \"value\": \"东山县\"\n },\n {\n \"key\": \"350627\",\n \"value\": \"南靖县\"\n },\n {\n \"key\": \"350628\",\n \"value\": \"平和县\"\n },\n {\n \"key\": \"350629\",\n \"value\": \"华安县\"\n },\n {\n \"key\": \"350681\",\n \"value\": \"龙海市\"\n }]\n },\n {\n \"key\": \"350700\",\n \"value\": \"南平市\",\n \"children\": [{\n \"key\": \"350702\",\n \"value\": \"延平区\"\n },\n {\n \"key\": \"350703\",\n \"value\": \"建阳区\"\n },\n {\n \"key\": \"350721\",\n \"value\": \"顺昌县\"\n },\n {\n \"key\": \"350722\",\n \"value\": \"浦城县\"\n },\n {\n \"key\": \"350723\",\n \"value\": \"光泽县\"\n },\n {\n \"key\": \"350724\",\n \"value\": \"松溪县\"\n },\n {\n \"key\": \"350725\",\n \"value\": \"政和县\"\n },\n {\n \"key\": \"350781\",\n \"value\": \"邵武市\"\n },\n {\n \"key\": \"350782\",\n \"value\": \"武夷山市\"\n },\n {\n \"key\": \"350783\",\n \"value\": \"建瓯市\"\n }]\n },\n {\n \"key\": \"350800\",\n \"value\": \"龙岩市\",\n \"children\": [{\n \"key\": \"350802\",\n \"value\": \"新罗区\"\n },\n {\n \"key\": \"350803\",\n \"value\": \"永定区\"\n },\n {\n \"key\": \"350821\",\n \"value\": \"长汀县\"\n },\n {\n \"key\": \"350823\",\n \"value\": \"上杭县\"\n },\n {\n \"key\": \"350824\",\n \"value\": \"武平县\"\n },\n {\n \"key\": \"350825\",\n \"value\": \"连城县\"\n },\n {\n \"key\": \"350881\",\n \"value\": \"漳平市\"\n }]\n },\n {\n \"key\": \"350900\",\n \"value\": \"宁德市\",\n \"children\": [{\n \"key\": \"350902\",\n \"value\": \"蕉城区\"\n },\n {\n \"key\": \"350921\",\n \"value\": \"霞浦县\"\n },\n {\n \"key\": \"350922\",\n \"value\": \"古田县\"\n },\n {\n \"key\": \"350923\",\n \"value\": \"屏南县\"\n },\n {\n \"key\": \"350924\",\n \"value\": \"寿宁县\"\n },\n {\n \"key\": \"350925\",\n \"value\": \"周宁县\"\n },\n {\n \"key\": \"350926\",\n \"value\": \"柘荣县\"\n },\n {\n \"key\": \"350981\",\n \"value\": \"福安市\"\n },\n {\n \"key\": \"350982\",\n \"value\": \"福鼎市\"\n }]\n }]\n},\n{\n \"key\": \"360000\",\n \"value\": \"江西\",\n \"children\": [{\n \"key\": \"360100\",\n \"value\": \"南昌市\",\n \"children\": [{\n \"key\": \"360102\",\n \"value\": \"东湖区\"\n },\n {\n \"key\": \"360103\",\n \"value\": \"西湖区\"\n },\n {\n \"key\": \"360104\",\n \"value\": \"青云谱区\"\n },\n {\n \"key\": \"360105\",\n \"value\": \"湾里区\"\n },\n {\n \"key\": \"360111\",\n \"value\": \"青山湖区\"\n },\n {\n \"key\": \"360112\",\n \"value\": \"新建区\"\n },\n {\n \"key\": \"360121\",\n \"value\": \"南昌县\"\n },\n {\n \"key\": \"360123\",\n \"value\": \"安义县\"\n },\n {\n \"key\": \"360124\",\n \"value\": \"进贤县\"\n }]\n },\n {\n \"key\": \"360200\",\n \"value\": \"景德镇市\",\n \"children\": [{\n \"key\": \"360202\",\n \"value\": \"昌江区\"\n },\n {\n \"key\": \"360203\",\n \"value\": \"珠山区\"\n },\n {\n \"key\": \"360222\",\n \"value\": \"浮梁县\"\n },\n {\n \"key\": \"360281\",\n \"value\": \"乐平市\"\n }]\n },\n {\n \"key\": \"360300\",\n \"value\": \"萍乡市\",\n \"children\": [{\n \"key\": \"360302\",\n \"value\": \"安源区\"\n },\n {\n \"key\": \"360313\",\n \"value\": \"湘东区\"\n },\n {\n \"key\": \"360321\",\n \"value\": \"莲花县\"\n },\n {\n \"key\": \"360322\",\n \"value\": \"上栗县\"\n },\n {\n \"key\": \"360323\",\n \"value\": \"芦溪县\"\n }]\n },\n {\n \"key\": \"360400\",\n \"value\": \"九江市\",\n \"children\": [{\n \"key\": \"360402\",\n \"value\": \"庐山区\"\n },\n {\n \"key\": \"360403\",\n \"value\": \"浔阳区\"\n },\n {\n \"key\": \"360404\",\n \"value\": \"柴桑区\"\n },\n {\n \"key\": \"360423\",\n \"value\": \"武宁县\"\n },\n {\n \"key\": \"360424\",\n \"value\": \"修水县\"\n },\n {\n \"key\": \"360425\",\n \"value\": \"永修县\"\n },\n {\n \"key\": \"360426\",\n \"value\": \"德安县\"\n },\n {\n \"key\": \"360428\",\n \"value\": \"都昌县\"\n },\n {\n \"key\": \"360429\",\n \"value\": \"湖口县\"\n },\n {\n \"key\": \"360430\",\n \"value\": \"彭泽县\"\n },\n {\n \"key\": \"360481\",\n \"value\": \"瑞昌市\"\n },\n {\n \"key\": \"360482\",\n \"value\": \"共青城市\"\n },\n {\n \"key\": \"360483\",\n \"value\": \"庐山市\"\n }]\n },\n {\n \"key\": \"360500\",\n \"value\": \"新余市\",\n \"children\": [{\n \"key\": \"360502\",\n \"value\": \"渝水区\"\n },\n {\n \"key\": \"360521\",\n \"value\": \"分宜县\"\n }]\n },\n {\n \"key\": \"360600\",\n \"value\": \"鹰潭市\",\n \"children\": [{\n \"key\": \"360602\",\n \"value\": \"月湖区\"\n },\n {\n \"key\": \"360603\",\n \"value\": \"余江区\"\n },\n {\n \"key\": \"360681\",\n \"value\": \"贵溪市\"\n }]\n },\n {\n \"key\": \"360700\",\n \"value\": \"赣州市\",\n \"children\": [{\n \"key\": \"360702\",\n \"value\": \"章贡区\"\n },\n {\n \"key\": \"360703\",\n \"value\": \"南康区\"\n },\n {\n \"key\": \"360704\",\n \"value\": \"赣县区\"\n },\n {\n \"key\": \"360722\",\n \"value\": \"信丰县\"\n },\n {\n \"key\": \"360723\",\n \"value\": \"大余县\"\n },\n {\n \"key\": \"360724\",\n \"value\": \"上犹县\"\n },\n {\n \"key\": \"360725\",\n \"value\": \"崇义县\"\n },\n {\n \"key\": \"360726\",\n \"value\": \"安远县\"\n },\n {\n \"key\": \"360727\",\n \"value\": \"龙南县\"\n },\n {\n \"key\": \"360728\",\n \"value\": \"定南县\"\n },\n {\n \"key\": \"360729\",\n \"value\": \"全南县\"\n },\n {\n \"key\": \"360730\",\n \"value\": \"宁都县\"\n },\n {\n \"key\": \"360731\",\n \"value\": \"于都县\"\n },\n {\n \"key\": \"360732\",\n \"value\": \"兴国县\"\n },\n {\n \"key\": \"360733\",\n \"value\": \"会昌县\"\n },\n {\n \"key\": \"360734\",\n \"value\": \"寻乌县\"\n },\n {\n \"key\": \"360735\",\n \"value\": \"石城县\"\n },\n {\n \"key\": \"360781\",\n \"value\": \"瑞金市\"\n }]\n },\n {\n \"key\": \"360800\",\n \"value\": \"吉安市\",\n \"children\": [{\n \"key\": \"360802\",\n \"value\": \"吉州区\"\n },\n {\n \"key\": \"360803\",\n \"value\": \"青原区\"\n },\n {\n \"key\": \"360821\",\n \"value\": \"吉安县\"\n },\n {\n \"key\": \"360822\",\n \"value\": \"吉水县\"\n },\n {\n \"key\": \"360823\",\n \"value\": \"峡江县\"\n },\n {\n \"key\": \"360824\",\n \"value\": \"新干县\"\n },\n {\n \"key\": \"360825\",\n \"value\": \"永丰县\"\n },\n {\n \"key\": \"360826\",\n \"value\": \"泰和县\"\n },\n {\n \"key\": \"360827\",\n \"value\": \"遂川县\"\n },\n {\n \"key\": \"360828\",\n \"value\": \"万安县\"\n },\n {\n \"key\": \"360829\",\n \"value\": \"安福县\"\n },\n {\n \"key\": \"360830\",\n \"value\": \"永新县\"\n },\n {\n \"key\": \"360881\",\n \"value\": \"井冈山市\"\n }]\n },\n {\n \"key\": \"360900\",\n \"value\": \"宜春市\",\n \"children\": [{\n \"key\": \"360902\",\n \"value\": \"袁州区\"\n },\n {\n \"key\": \"360921\",\n \"value\": \"奉新县\"\n },\n {\n \"key\": \"360922\",\n \"value\": \"万载县\"\n },\n {\n \"key\": \"360923\",\n \"value\": \"上高县\"\n },\n {\n \"key\": \"360924\",\n \"value\": \"宜丰县\"\n },\n {\n \"key\": \"360925\",\n \"value\": \"靖安县\"\n },\n {\n \"key\": \"360926\",\n \"value\": \"铜鼓县\"\n },\n {\n \"key\": \"360981\",\n \"value\": \"丰城市\"\n },\n {\n \"key\": \"360982\",\n \"value\": \"樟树市\"\n },\n {\n \"key\": \"360983\",\n \"value\": \"高安市\"\n }]\n },\n {\n \"key\": \"361000\",\n \"value\": \"抚州市\",\n \"children\": [{\n \"key\": \"361002\",\n \"value\": \"临川区\"\n },\n {\n \"key\": \"361003\",\n \"value\": \"东乡区\"\n },\n {\n \"key\": \"361021\",\n \"value\": \"南城县\"\n },\n {\n \"key\": \"361022\",\n \"value\": \"黎川县\"\n },\n {\n \"key\": \"361023\",\n \"value\": \"南丰县\"\n },\n {\n \"key\": \"361024\",\n \"value\": \"崇仁县\"\n },\n {\n \"key\": \"361025\",\n \"value\": \"乐安县\"\n },\n {\n \"key\": \"361026\",\n \"value\": \"宜黄县\"\n },\n {\n \"key\": \"361027\",\n \"value\": \"金溪县\"\n },\n {\n \"key\": \"361028\",\n \"value\": \"资溪县\"\n },\n {\n \"key\": \"361030\",\n \"value\": \"广昌县\"\n }]\n },\n {\n \"key\": \"361100\",\n \"value\": \"上饶市\",\n \"children\": [{\n \"key\": \"361102\",\n \"value\": \"信州区\"\n },\n {\n \"key\": \"361103\",\n \"value\": \"广丰区\"\n },\n {\n \"key\": \"361121\",\n \"value\": \"上饶县\"\n },\n {\n \"key\": \"361123\",\n \"value\": \"玉山县\"\n },\n {\n \"key\": \"361124\",\n \"value\": \"铅山县\"\n },\n {\n \"key\": \"361125\",\n \"value\": \"横峰县\"\n },\n {\n \"key\": \"361126\",\n \"value\": \"弋阳县\"\n },\n {\n \"key\": \"361127\",\n \"value\": \"余干县\"\n },\n {\n \"key\": \"361128\",\n \"value\": \"鄱阳县\"\n },\n {\n \"key\": \"361129\",\n \"value\": \"万年县\"\n },\n {\n \"key\": \"361130\",\n \"value\": \"婺源县\"\n },\n {\n \"key\": \"361181\",\n \"value\": \"德兴市\"\n }]\n }]\n},\n{\n \"key\": \"370000\",\n \"value\": \"山东\",\n \"children\": [{\n \"key\": \"370100\",\n \"value\": \"济南市\",\n \"children\": [{\n \"key\": \"370102\",\n \"value\": \"历下区\"\n },\n {\n \"key\": \"370103\",\n \"value\": \"市中区\"\n },\n {\n \"key\": \"370104\",\n \"value\": \"槐荫区\"\n },\n {\n \"key\": \"370105\",\n \"value\": \"天桥区\"\n },\n {\n \"key\": \"370112\",\n \"value\": \"历城区\"\n },\n {\n \"key\": \"370113\",\n \"value\": \"长清区\"\n },\n {\n \"key\": \"370114\",\n \"value\": \"章丘区\"\n },\n {\n \"key\": \"370124\",\n \"value\": \"平阴县\"\n },\n {\n \"key\": \"370125\",\n \"value\": \"济阳县\"\n },\n {\n \"key\": \"370126\",\n \"value\": \"商河县\"\n }]\n },\n {\n \"key\": \"370200\",\n \"value\": \"青岛市\",\n \"children\": [{\n \"key\": \"370202\",\n \"value\": \"市南区\"\n },\n {\n \"key\": \"370203\",\n \"value\": \"市北区\"\n },\n {\n \"key\": \"370211\",\n \"value\": \"黄岛区\"\n },\n {\n \"key\": \"370212\",\n \"value\": \"崂山区\"\n },\n {\n \"key\": \"370213\",\n \"value\": \"李沧区\"\n },\n {\n \"key\": \"370214\",\n \"value\": \"城阳区\"\n },\n {\n \"key\": \"370215\",\n \"value\": \"即墨区\"\n },\n {\n \"key\": \"370281\",\n \"value\": \"胶州市\"\n },\n {\n \"key\": \"370283\",\n \"value\": \"平度市\"\n },\n {\n \"key\": \"370285\",\n \"value\": \"莱西市\"\n }]\n },\n {\n \"key\": \"370300\",\n \"value\": \"淄博市\",\n \"children\": [{\n \"key\": \"370302\",\n \"value\": \"淄川区\"\n },\n {\n \"key\": \"370303\",\n \"value\": \"张店区\"\n },\n {\n \"key\": \"370304\",\n \"value\": \"博山区\"\n },\n {\n \"key\": \"370305\",\n \"value\": \"临淄区\"\n },\n {\n \"key\": \"370306\",\n \"value\": \"周村区\"\n },\n {\n \"key\": \"370321\",\n \"value\": \"桓台县\"\n },\n {\n \"key\": \"370322\",\n \"value\": \"高青县\"\n },\n {\n \"key\": \"370323\",\n \"value\": \"沂源县\"\n }]\n },\n {\n \"key\": \"370400\",\n \"value\": \"枣庄市\",\n \"children\": [{\n \"key\": \"370402\",\n \"value\": \"市中区\"\n },\n {\n \"key\": \"370403\",\n \"value\": \"薛城区\"\n },\n {\n \"key\": \"370404\",\n \"value\": \"峄城区\"\n },\n {\n \"key\": \"370405\",\n \"value\": \"台儿庄区\"\n },\n {\n \"key\": \"370406\",\n \"value\": \"山亭区\"\n },\n {\n \"key\": \"370481\",\n \"value\": \"滕州市\"\n }]\n },\n {\n \"key\": \"370500\",\n \"value\": \"东营市\",\n \"children\": [{\n \"key\": \"370502\",\n \"value\": \"东营区\"\n },\n {\n \"key\": \"370503\",\n \"value\": \"河口区\"\n },\n {\n \"key\": \"370505\",\n \"value\": \"垦利区\"\n },\n {\n \"key\": \"370522\",\n \"value\": \"利津县\"\n },\n {\n \"key\": \"370523\",\n \"value\": \"广饶县\"\n }]\n },\n {\n \"key\": \"370600\",\n \"value\": \"烟台市\",\n \"children\": [{\n \"key\": \"370602\",\n \"value\": \"芝罘区\"\n },\n {\n \"key\": \"370611\",\n \"value\": \"福山区\"\n },\n {\n \"key\": \"370612\",\n \"value\": \"牟平区\"\n },\n {\n \"key\": \"370613\",\n \"value\": \"莱山区\"\n },\n {\n \"key\": \"370634\",\n \"value\": \"长岛县\"\n },\n {\n \"key\": \"370681\",\n \"value\": \"龙口市\"\n },\n {\n \"key\": \"370682\",\n \"value\": \"莱阳市\"\n },\n {\n \"key\": \"370683\",\n \"value\": \"莱州市\"\n },\n {\n \"key\": \"370684\",\n \"value\": \"蓬莱市\"\n },\n {\n \"key\": \"370685\",\n \"value\": \"招远市\"\n },\n {\n \"key\": \"370686\",\n \"value\": \"栖霞市\"\n },\n {\n \"key\": \"370687\",\n \"value\": \"海阳市\"\n }]\n },\n {\n \"key\": \"370700\",\n \"value\": \"潍坊市\",\n \"children\": [{\n \"key\": \"370702\",\n \"value\": \"潍城区\"\n },\n {\n \"key\": \"370703\",\n \"value\": \"寒亭区\"\n },\n {\n \"key\": \"370704\",\n \"value\": \"坊子区\"\n },\n {\n \"key\": \"370705\",\n \"value\": \"奎文区\"\n },\n {\n \"key\": \"370724\",\n \"value\": \"临朐县\"\n },\n {\n \"key\": \"370725\",\n \"value\": \"昌乐县\"\n },\n {\n \"key\": \"370781\",\n \"value\": \"青州市\"\n },\n {\n \"key\": \"370782\",\n \"value\": \"诸城市\"\n },\n {\n \"key\": \"370783\",\n \"value\": \"寿光市\"\n },\n {\n \"key\": \"370784\",\n \"value\": \"安丘市\"\n },\n {\n \"key\": \"370785\",\n \"value\": \"高密市\"\n },\n {\n \"key\": \"370786\",\n \"value\": \"昌邑市\"\n }]\n },\n {\n \"key\": \"370800\",\n \"value\": \"济宁市\",\n \"children\": [{\n \"key\": \"370811\",\n \"value\": \"任城区\"\n },\n {\n \"key\": \"370812\",\n \"value\": \"兖州区\"\n },\n {\n \"key\": \"370826\",\n \"value\": \"微山县\"\n },\n {\n \"key\": \"370827\",\n \"value\": \"鱼台县\"\n },\n {\n \"key\": \"370828\",\n \"value\": \"金乡县\"\n },\n {\n \"key\": \"370829\",\n \"value\": \"嘉祥县\"\n },\n {\n \"key\": \"370830\",\n \"value\": \"汶上县\"\n },\n {\n \"key\": \"370831\",\n \"value\": \"泗水县\"\n },\n {\n \"key\": \"370832\",\n \"value\": \"梁山县\"\n },\n {\n \"key\": \"370881\",\n \"value\": \"曲阜市\"\n },\n {\n \"key\": \"370883\",\n \"value\": \"邹城市\"\n }]\n },\n {\n \"key\": \"370900\",\n \"value\": \"泰安市\",\n \"children\": [{\n \"key\": \"370902\",\n \"value\": \"泰山区\"\n },\n {\n \"key\": \"370911\",\n \"value\": \"岱岳区\"\n },\n {\n \"key\": \"370921\",\n \"value\": \"宁阳县\"\n },\n {\n \"key\": \"370923\",\n \"value\": \"东平县\"\n },\n {\n \"key\": \"370982\",\n \"value\": \"新泰市\"\n },\n {\n \"key\": \"370983\",\n \"value\": \"肥城市\"\n }]\n },\n {\n \"key\": \"371000\",\n \"value\": \"威海市\",\n \"children\": [{\n \"key\": \"371002\",\n \"value\": \"环翠区\"\n },\n {\n \"key\": \"371003\",\n \"value\": \"文登区\"\n },\n {\n \"key\": \"371082\",\n \"value\": \"荣成市\"\n },\n {\n \"key\": \"371083\",\n \"value\": \"乳山市\"\n }]\n },\n {\n \"key\": \"371100\",\n \"value\": \"日照市\",\n \"children\": [{\n \"key\": \"371102\",\n \"value\": \"东港区\"\n },\n {\n \"key\": \"371103\",\n \"value\": \"岚山区\"\n },\n {\n \"key\": \"371121\",\n \"value\": \"五莲县\"\n },\n {\n \"key\": \"371122\",\n \"value\": \"莒县\"\n }]\n },\n {\n \"key\": \"371200\",\n \"value\": \"莱芜市\",\n \"children\": [{\n \"key\": \"371202\",\n \"value\": \"莱城区\"\n },\n {\n \"key\": \"371203\",\n \"value\": \"钢城区\"\n }]\n },\n {\n \"key\": \"371300\",\n \"value\": \"临沂市\",\n \"children\": [{\n \"key\": \"371302\",\n \"value\": \"兰山区\"\n },\n {\n \"key\": \"371311\",\n \"value\": \"罗庄区\"\n },\n {\n \"key\": \"371312\",\n \"value\": \"河东区\"\n },\n {\n \"key\": \"371321\",\n \"value\": \"沂南县\"\n },\n {\n \"key\": \"371322\",\n \"value\": \"郯城县\"\n },\n {\n \"key\": \"371323\",\n \"value\": \"沂水县\"\n },\n {\n \"key\": \"371324\",\n \"value\": \"苍山县\"\n },\n {\n \"key\": \"371325\",\n \"value\": \"费县\"\n },\n {\n \"key\": \"371326\",\n \"value\": \"平邑县\"\n },\n {\n \"key\": \"371327\",\n \"value\": \"莒南县\"\n },\n {\n \"key\": \"371328\",\n \"value\": \"蒙阴县\"\n },\n {\n \"key\": \"371329\",\n \"value\": \"临沭县\"\n }]\n },\n {\n \"key\": \"371400\",\n \"value\": \"德州市\",\n \"children\": [{\n \"key\": \"371402\",\n \"value\": \"德城区\"\n },\n {\n \"key\": \"371403\",\n \"value\": \"陵城区\"\n },\n {\n \"key\": \"371422\",\n \"value\": \"宁津县\"\n },\n {\n \"key\": \"371423\",\n \"value\": \"庆云县\"\n },\n {\n \"key\": \"371424\",\n \"value\": \"临邑县\"\n },\n {\n \"key\": \"371425\",\n \"value\": \"齐河县\"\n },\n {\n \"key\": \"371426\",\n \"value\": \"平原县\"\n },\n {\n \"key\": \"371427\",\n \"value\": \"夏津县\"\n },\n {\n \"key\": \"371428\",\n \"value\": \"武城县\"\n },\n {\n \"key\": \"371481\",\n \"value\": \"乐陵市\"\n },\n {\n \"key\": \"371482\",\n \"value\": \"禹城市\"\n }]\n },\n {\n \"key\": \"371500\",\n \"value\": \"聊城市\",\n \"children\": [{\n \"key\": \"371502\",\n \"value\": \"东昌府区\"\n },\n {\n \"key\": \"371521\",\n \"value\": \"阳谷县\"\n },\n {\n \"key\": \"371522\",\n \"value\": \"莘县\"\n },\n {\n \"key\": \"371523\",\n \"value\": \"茌平县\"\n },\n {\n \"key\": \"371524\",\n \"value\": \"东阿县\"\n },\n {\n \"key\": \"371525\",\n \"value\": \"冠县\"\n },\n {\n \"key\": \"371526\",\n \"value\": \"高唐县\"\n },\n {\n \"key\": \"371581\",\n \"value\": \"临清市\"\n }]\n },\n {\n \"key\": \"371600\",\n \"value\": \"滨州市\",\n \"children\": [{\n \"key\": \"371602\",\n \"value\": \"滨城区\"\n },\n {\n \"key\": \"371603\",\n \"value\": \"沾化区\"\n },\n {\n \"key\": \"371621\",\n \"value\": \"惠民县\"\n },\n {\n \"key\": \"371622\",\n \"value\": \"阳信县\"\n },\n {\n \"key\": \"371623\",\n \"value\": \"无棣县\"\n },\n {\n \"key\": \"371625\",\n \"value\": \"博兴县\"\n },\n {\n \"key\": \"371626\",\n \"value\": \"邹平县\"\n }]\n },\n {\n \"key\": \"371700\",\n \"value\": \"菏泽市\",\n \"children\": [{\n \"key\": \"371702\",\n \"value\": \"牡丹区\"\n },\n {\n \"key\": \"371703\",\n \"value\": \"定陶区\"\n },\n {\n \"key\": \"371721\",\n \"value\": \"曹县\"\n },\n {\n \"key\": \"371722\",\n \"value\": \"单县\"\n },\n {\n \"key\": \"371723\",\n \"value\": \"成武县\"\n },\n {\n \"key\": \"371724\",\n \"value\": \"巨野县\"\n },\n {\n \"key\": \"371725\",\n \"value\": \"郓城县\"\n },\n {\n \"key\": \"371726\",\n \"value\": \"鄄城县\"\n },\n {\n \"key\": \"371728\",\n \"value\": \"东明县\"\n }]\n }]\n},\n{\n \"key\": \"410000\",\n \"value\": \"河南\",\n \"children\": [{\n \"key\": \"410100\",\n \"value\": \"郑州市\",\n \"children\": [{\n \"key\": \"410102\",\n \"value\": \"中原区\"\n },\n {\n \"key\": \"410103\",\n \"value\": \"二七区\"\n },\n {\n \"key\": \"410104\",\n \"value\": \"管城回族区\"\n },\n {\n \"key\": \"410105\",\n \"value\": \"金水区\"\n },\n {\n \"key\": \"410106\",\n \"value\": \"上街区\"\n },\n {\n \"key\": \"410108\",\n \"value\": \"惠济区\"\n },\n {\n \"key\": \"410122\",\n \"value\": \"中牟县\"\n },\n {\n \"key\": \"410181\",\n \"value\": \"巩义市\"\n },\n {\n \"key\": \"410182\",\n \"value\": \"荥阳市\"\n },\n {\n \"key\": \"410183\",\n \"value\": \"新密市\"\n },\n {\n \"key\": \"410184\",\n \"value\": \"新郑市\"\n },\n {\n \"key\": \"410185\",\n \"value\": \"登封市\"\n }]\n },\n {\n \"key\": \"410200\",\n \"value\": \"开封市\",\n \"children\": [{\n \"key\": \"410202\",\n \"value\": \"龙亭区\"\n },\n {\n \"key\": \"410203\",\n \"value\": \"顺河回族区\"\n },\n {\n \"key\": \"410204\",\n \"value\": \"鼓楼区\"\n },\n {\n \"key\": \"410205\",\n \"value\": \"禹王台区\"\n },\n {\n \"key\": \"410212\",\n \"value\": \"祥符区\"\n },\n {\n \"key\": \"410221\",\n \"value\": \"杞县\"\n },\n {\n \"key\": \"410222\",\n \"value\": \"通许县\"\n },\n {\n \"key\": \"410223\",\n \"value\": \"尉氏县\"\n },\n {\n \"key\": \"410225\",\n \"value\": \"兰考县\"\n }]\n },\n {\n \"key\": \"410300\",\n \"value\": \"洛阳市\",\n \"children\": [{\n \"key\": \"410302\",\n \"value\": \"老城区\"\n },\n {\n \"key\": \"410303\",\n \"value\": \"西工区\"\n },\n {\n \"key\": \"410304\",\n \"value\": \"瀍河回族区\"\n },\n {\n \"key\": \"410305\",\n \"value\": \"涧西区\"\n },\n {\n \"key\": \"410306\",\n \"value\": \"吉利区\"\n },\n {\n \"key\": \"410311\",\n \"value\": \"洛龙区\"\n },\n {\n \"key\": \"410322\",\n \"value\": \"孟津县\"\n },\n {\n \"key\": \"410323\",\n \"value\": \"新安县\"\n },\n {\n \"key\": \"410324\",\n \"value\": \"栾川县\"\n },\n {\n \"key\": \"410325\",\n \"value\": \"嵩县\"\n },\n {\n \"key\": \"410326\",\n \"value\": \"汝阳县\"\n },\n {\n \"key\": \"410327\",\n \"value\": \"宜阳县\"\n },\n {\n \"key\": \"410328\",\n \"value\": \"洛宁县\"\n },\n {\n \"key\": \"410329\",\n \"value\": \"伊川县\"\n },\n {\n \"key\": \"410381\",\n \"value\": \"偃师市\"\n }]\n },\n {\n \"key\": \"410400\",\n \"value\": \"平顶山市\",\n \"children\": [{\n \"key\": \"410402\",\n \"value\": \"新华区\"\n },\n {\n \"key\": \"410403\",\n \"value\": \"卫东区\"\n },\n {\n \"key\": \"410404\",\n \"value\": \"石龙区\"\n },\n {\n \"key\": \"410411\",\n \"value\": \"湛河区\"\n },\n {\n \"key\": \"410421\",\n \"value\": \"宝丰县\"\n },\n {\n \"key\": \"410422\",\n \"value\": \"叶县\"\n },\n {\n \"key\": \"410423\",\n \"value\": \"鲁山县\"\n },\n {\n \"key\": \"410425\",\n \"value\": \"郏县\"\n },\n {\n \"key\": \"410481\",\n \"value\": \"舞钢市\"\n },\n {\n \"key\": \"410482\",\n \"value\": \"汝州市\"\n }]\n },\n {\n \"key\": \"410500\",\n \"value\": \"安阳市\",\n \"children\": [{\n \"key\": \"410502\",\n \"value\": \"文峰区\"\n },\n {\n \"key\": \"410503\",\n \"value\": \"北关区\"\n },\n {\n \"key\": \"410505\",\n \"value\": \"殷都区\"\n },\n {\n \"key\": \"410506\",\n \"value\": \"龙安区\"\n },\n {\n \"key\": \"410522\",\n \"value\": \"安阳县\"\n },\n {\n \"key\": \"410523\",\n \"value\": \"汤阴县\"\n },\n {\n \"key\": \"410526\",\n \"value\": \"滑县\"\n },\n {\n \"key\": \"410527\",\n \"value\": \"内黄县\"\n },\n {\n \"key\": \"410581\",\n \"value\": \"林州市\"\n }]\n },\n {\n \"key\": \"410600\",\n \"value\": \"鹤壁市\",\n \"children\": [{\n \"key\": \"410602\",\n \"value\": \"鹤山区\"\n },\n {\n \"key\": \"410603\",\n \"value\": \"山城区\"\n },\n {\n \"key\": \"410611\",\n \"value\": \"淇滨区\"\n },\n {\n \"key\": \"410621\",\n \"value\": \"浚县\"\n },\n {\n \"key\": \"410622\",\n \"value\": \"淇县\"\n }]\n },\n {\n \"key\": \"410700\",\n \"value\": \"新乡市\",\n \"children\": [{\n \"key\": \"410702\",\n \"value\": \"红旗区\"\n },\n {\n \"key\": \"410703\",\n \"value\": \"卫滨区\"\n },\n {\n \"key\": \"410704\",\n \"value\": \"凤泉区\"\n },\n {\n \"key\": \"410711\",\n \"value\": \"牧野区\"\n },\n {\n \"key\": \"410721\",\n \"value\": \"新乡县\"\n },\n {\n \"key\": \"410724\",\n \"value\": \"获嘉县\"\n },\n {\n \"key\": \"410725\",\n \"value\": \"原阳县\"\n },\n {\n \"key\": \"410726\",\n \"value\": \"延津县\"\n },\n {\n \"key\": \"410727\",\n \"value\": \"封丘县\"\n },\n {\n \"key\": \"410728\",\n \"value\": \"长垣县\"\n },\n {\n \"key\": \"410781\",\n \"value\": \"卫辉市\"\n },\n {\n \"key\": \"410782\",\n \"value\": \"辉县市\"\n }]\n },\n {\n \"key\": \"410800\",\n \"value\": \"焦作市\",\n \"children\": [{\n \"key\": \"410802\",\n \"value\": \"解放区\"\n },\n {\n \"key\": \"410803\",\n \"value\": \"中站区\"\n },\n {\n \"key\": \"410804\",\n \"value\": \"马村区\"\n },\n {\n \"key\": \"410811\",\n \"value\": \"山阳区\"\n },\n {\n \"key\": \"410821\",\n \"value\": \"修武县\"\n },\n {\n \"key\": \"410822\",\n \"value\": \"博爱县\"\n },\n {\n \"key\": \"410823\",\n \"value\": \"武陟县\"\n },\n {\n \"key\": \"410825\",\n \"value\": \"温县\"\n },\n {\n \"key\": \"410882\",\n \"value\": \"沁阳市\"\n },\n {\n \"key\": \"410883\",\n \"value\": \"孟州市\"\n }]\n },\n {\n \"key\": \"410900\",\n \"value\": \"濮阳市\",\n \"children\": [{\n \"key\": \"410902\",\n \"value\": \"华龙区\"\n },\n {\n \"key\": \"410922\",\n \"value\": \"清丰县\"\n },\n {\n \"key\": \"410923\",\n \"value\": \"南乐县\"\n },\n {\n \"key\": \"410926\",\n \"value\": \"范县\"\n },\n {\n \"key\": \"410927\",\n \"value\": \"台前县\"\n },\n {\n \"key\": \"410928\",\n \"value\": \"濮阳县\"\n }]\n },\n {\n \"key\": \"411000\",\n \"value\": \"许昌市\",\n \"children\": [{\n \"key\": \"411002\",\n \"value\": \"魏都区\"\n },\n {\n \"key\": \"411003\",\n \"value\": \"建安区\"\n },\n {\n \"key\": \"411024\",\n \"value\": \"鄢陵县\"\n },\n {\n \"key\": \"411025\",\n \"value\": \"襄城县\"\n },\n {\n \"key\": \"411081\",\n \"value\": \"禹州市\"\n },\n {\n \"key\": \"411082\",\n \"value\": \"长葛市\"\n }]\n },\n {\n \"key\": \"411100\",\n \"value\": \"漯河市\",\n \"children\": [{\n \"key\": \"411102\",\n \"value\": \"源汇区\"\n },\n {\n \"key\": \"411103\",\n \"value\": \"郾城区\"\n },\n {\n \"key\": \"411104\",\n \"value\": \"召陵区\"\n },\n {\n \"key\": \"411121\",\n \"value\": \"舞阳县\"\n },\n {\n \"key\": \"411122\",\n \"value\": \"临颍县\"\n }]\n },\n {\n \"key\": \"411200\",\n \"value\": \"三门峡市\",\n \"children\": [{\n \"key\": \"411202\",\n \"value\": \"湖滨区\"\n },\n {\n \"key\": \"411203\",\n \"value\": \"陕州区\"\n },\n {\n \"key\": \"411221\",\n \"value\": \"渑池县\"\n },\n {\n \"key\": \"411224\",\n \"value\": \"卢氏县\"\n },\n {\n \"key\": \"411281\",\n \"value\": \"义马市\"\n },\n {\n \"key\": \"411282\",\n \"value\": \"灵宝市\"\n }]\n },\n {\n \"key\": \"411300\",\n \"value\": \"南阳市\",\n \"children\": [{\n \"key\": \"411302\",\n \"value\": \"宛城区\"\n },\n {\n \"key\": \"411303\",\n \"value\": \"卧龙区\"\n },\n {\n \"key\": \"411321\",\n \"value\": \"南召县\"\n },\n {\n \"key\": \"411322\",\n \"value\": \"方城县\"\n },\n {\n \"key\": \"411323\",\n \"value\": \"西峡县\"\n },\n {\n \"key\": \"411324\",\n \"value\": \"镇平县\"\n },\n {\n \"key\": \"411325\",\n \"value\": \"内乡县\"\n },\n {\n \"key\": \"411326\",\n \"value\": \"淅川县\"\n },\n {\n \"key\": \"411327\",\n \"value\": \"社旗县\"\n },\n {\n \"key\": \"411328\",\n \"value\": \"唐河县\"\n },\n {\n \"key\": \"411329\",\n \"value\": \"新野县\"\n },\n {\n \"key\": \"411330\",\n \"value\": \"桐柏县\"\n },\n {\n \"key\": \"411381\",\n \"value\": \"邓州市\"\n }]\n },\n {\n \"key\": \"411400\",\n \"value\": \"商丘市\",\n \"children\": [{\n \"key\": \"411402\",\n \"value\": \"梁园区\"\n },\n {\n \"key\": \"411403\",\n \"value\": \"睢阳区\"\n },\n {\n \"key\": \"411421\",\n \"value\": \"民权县\"\n },\n {\n \"key\": \"411422\",\n \"value\": \"睢县\"\n },\n {\n \"key\": \"411423\",\n \"value\": \"宁陵县\"\n },\n {\n \"key\": \"411424\",\n \"value\": \"柘城县\"\n },\n {\n \"key\": \"411425\",\n \"value\": \"虞城县\"\n },\n {\n \"key\": \"411426\",\n \"value\": \"夏邑县\"\n },\n {\n \"key\": \"411481\",\n \"value\": \"永城市\"\n }]\n },\n {\n \"key\": \"411500\",\n \"value\": \"信阳市\",\n \"children\": [{\n \"key\": \"411502\",\n \"value\": \"浉河区\"\n },\n {\n \"key\": \"411503\",\n \"value\": \"平桥区\"\n },\n {\n \"key\": \"411521\",\n \"value\": \"罗山县\"\n },\n {\n \"key\": \"411522\",\n \"value\": \"光山县\"\n },\n {\n \"key\": \"411523\",\n \"value\": \"新县\"\n },\n {\n \"key\": \"411524\",\n \"value\": \"商城县\"\n },\n {\n \"key\": \"411525\",\n \"value\": \"固始县\"\n },\n {\n \"key\": \"411526\",\n \"value\": \"潢川县\"\n },\n {\n \"key\": \"411527\",\n \"value\": \"淮滨县\"\n },\n {\n \"key\": \"411528\",\n \"value\": \"息县\"\n }]\n },\n {\n \"key\": \"411600\",\n \"value\": \"周口市\",\n \"children\": [{\n \"key\": \"411602\",\n \"value\": \"川汇区\"\n },\n {\n \"key\": \"411621\",\n \"value\": \"扶沟县\"\n },\n {\n \"key\": \"411622\",\n \"value\": \"西华县\"\n },\n {\n \"key\": \"411623\",\n \"value\": \"商水县\"\n },\n {\n \"key\": \"411624\",\n \"value\": \"沈丘县\"\n },\n {\n \"key\": \"411625\",\n \"value\": \"郸城县\"\n },\n {\n \"key\": \"411626\",\n \"value\": \"淮阳县\"\n },\n {\n \"key\": \"411627\",\n \"value\": \"太康县\"\n },\n {\n \"key\": \"411628\",\n \"value\": \"鹿邑县\"\n },\n {\n \"key\": \"411681\",\n \"value\": \"项城市\"\n }]\n },\n {\n \"key\": \"411700\",\n \"value\": \"驻马店市\",\n \"children\": [{\n \"key\": \"411702\",\n \"value\": \"驿城区\"\n },\n {\n \"key\": \"411721\",\n \"value\": \"西平县\"\n },\n {\n \"key\": \"411722\",\n \"value\": \"上蔡县\"\n },\n {\n \"key\": \"411723\",\n \"value\": \"平舆县\"\n },\n {\n \"key\": \"411724\",\n \"value\": \"正阳县\"\n },\n {\n \"key\": \"411725\",\n \"value\": \"确山县\"\n },\n {\n \"key\": \"411726\",\n \"value\": \"泌阳县\"\n },\n {\n \"key\": \"411727\",\n \"value\": \"汝南县\"\n },\n {\n \"key\": \"411728\",\n \"value\": \"遂平县\"\n },\n {\n \"key\": \"411729\",\n \"value\": \"新蔡县\"\n }]\n },\n {\n \"key\": \"419001\",\n \"value\": \"济源市\"\n }]\n},\n{\n \"key\": \"420000\",\n \"value\": \"湖北\",\n \"children\": [{\n \"key\": \"420100\",\n \"value\": \"武汉市\",\n \"children\": [{\n \"key\": \"420102\",\n \"value\": \"江岸区\"\n },\n {\n \"key\": \"420103\",\n \"value\": \"江汉区\"\n },\n {\n \"key\": \"420104\",\n \"value\": \"硚口区\"\n },\n {\n \"key\": \"420105\",\n \"value\": \"汉阳区\"\n },\n {\n \"key\": \"420106\",\n \"value\": \"武昌区\"\n },\n {\n \"key\": \"420107\",\n \"value\": \"青山区\"\n },\n {\n \"key\": \"420111\",\n \"value\": \"洪山区\"\n },\n {\n \"key\": \"420112\",\n \"value\": \"东西湖区\"\n },\n {\n \"key\": \"420113\",\n \"value\": \"汉南区\"\n },\n {\n \"key\": \"420114\",\n \"value\": \"蔡甸区\"\n },\n {\n \"key\": \"420115\",\n \"value\": \"江夏区\"\n },\n {\n \"key\": \"420116\",\n \"value\": \"黄陂区\"\n },\n {\n \"key\": \"420117\",\n \"value\": \"新洲区\"\n }]\n },\n {\n \"key\": \"420200\",\n \"value\": \"黄石市\",\n \"children\": [{\n \"key\": \"420202\",\n \"value\": \"黄石港区\"\n },\n {\n \"key\": \"420203\",\n \"value\": \"西塞山区\"\n },\n {\n \"key\": \"420204\",\n \"value\": \"下陆区\"\n },\n {\n \"key\": \"420205\",\n \"value\": \"铁山区\"\n },\n {\n \"key\": \"420222\",\n \"value\": \"阳新县\"\n },\n {\n \"key\": \"420281\",\n \"value\": \"大冶市\"\n }]\n },\n {\n \"key\": \"420300\",\n \"value\": \"十堰市\",\n \"children\": [{\n \"key\": \"420302\",\n \"value\": \"茅箭区\"\n },\n {\n \"key\": \"420303\",\n \"value\": \"张湾区\"\n },\n {\n \"key\": \"420304\",\n \"value\": \"郧阳区\"\n },\n {\n \"key\": \"420322\",\n \"value\": \"郧西县\"\n },\n {\n \"key\": \"420323\",\n \"value\": \"竹山县\"\n },\n {\n \"key\": \"420324\",\n \"value\": \"竹溪县\"\n },\n {\n \"key\": \"420325\",\n \"value\": \"房县\"\n },\n {\n \"key\": \"420381\",\n \"value\": \"丹江口市\"\n }]\n },\n {\n \"key\": \"420500\",\n \"value\": \"宜昌市\",\n \"children\": [{\n \"key\": \"420502\",\n \"value\": \"西陵区\"\n },\n {\n \"key\": \"420503\",\n \"value\": \"伍家岗区\"\n },\n {\n \"key\": \"420504\",\n \"value\": \"点军区\"\n },\n {\n \"key\": \"420505\",\n \"value\": \"猇亭区\"\n },\n {\n \"key\": \"420506\",\n \"value\": \"夷陵区\"\n },\n {\n \"key\": \"420525\",\n \"value\": \"远安县\"\n },\n {\n \"key\": \"420526\",\n \"value\": \"兴山县\"\n },\n {\n \"key\": \"420527\",\n \"value\": \"秭归县\"\n },\n {\n \"key\": \"420528\",\n \"value\": \"长阳土家族自治县\"\n },\n {\n \"key\": \"420529\",\n \"value\": \"五峰土家族自治县\"\n },\n {\n \"key\": \"420581\",\n \"value\": \"宜都市\"\n },\n {\n \"key\": \"420582\",\n \"value\": \"当阳市\"\n },\n {\n \"key\": \"420583\",\n \"value\": \"枝江市\"\n }]\n },\n {\n \"key\": \"420600\",\n \"value\": \"襄阳市\",\n \"children\": [{\n \"key\": \"420602\",\n \"value\": \"襄城区\"\n },\n {\n \"key\": \"420606\",\n \"value\": \"樊城区\"\n },\n {\n \"key\": \"420607\",\n \"value\": \"襄州区\"\n },\n {\n \"key\": \"420624\",\n \"value\": \"南漳县\"\n },\n {\n \"key\": \"420625\",\n \"value\": \"谷城县\"\n },\n {\n \"key\": \"420626\",\n \"value\": \"保康县\"\n },\n {\n \"key\": \"420682\",\n \"value\": \"老河口市\"\n },\n {\n \"key\": \"420683\",\n \"value\": \"枣阳市\"\n },\n {\n \"key\": \"420684\",\n \"value\": \"宜城市\"\n }]\n },\n {\n \"key\": \"420700\",\n \"value\": \"鄂州市\",\n \"children\": [{\n \"key\": \"420702\",\n \"value\": \"梁子湖区\"\n },\n {\n \"key\": \"420703\",\n \"value\": \"华容区\"\n },\n {\n \"key\": \"420704\",\n \"value\": \"鄂城区\"\n }]\n },\n {\n \"key\": \"420800\",\n \"value\": \"荆门市\",\n \"children\": [{\n \"key\": \"420802\",\n \"value\": \"东宝区\"\n },\n {\n \"key\": \"420804\",\n \"value\": \"掇刀区\"\n },\n {\n \"key\": \"420822\",\n \"value\": \"沙洋县\"\n },\n {\n \"key\": \"420881\",\n \"value\": \"钟祥市\"\n },\n {\n \"key\": \"420882\",\n \"value\": \"京山市\"\n }]\n },\n {\n \"key\": \"420900\",\n \"value\": \"孝感市\",\n \"children\": [{\n \"key\": \"420902\",\n \"value\": \"孝南区\"\n },\n {\n \"key\": \"420921\",\n \"value\": \"孝昌县\"\n },\n {\n \"key\": \"420922\",\n \"value\": \"大悟县\"\n },\n {\n \"key\": \"420923\",\n \"value\": \"云梦县\"\n },\n {\n \"key\": \"420981\",\n \"value\": \"应城市\"\n },\n {\n \"key\": \"420982\",\n \"value\": \"安陆市\"\n },\n {\n \"key\": \"420984\",\n \"value\": \"汉川市\"\n }]\n },\n {\n \"key\": \"421000\",\n \"value\": \"荆州市\",\n \"children\": [{\n \"key\": \"421002\",\n \"value\": \"沙市区\"\n },\n {\n \"key\": \"421003\",\n \"value\": \"荆州区\"\n },\n {\n \"key\": \"421022\",\n \"value\": \"公安县\"\n },\n {\n \"key\": \"421023\",\n \"value\": \"监利县\"\n },\n {\n \"key\": \"421024\",\n \"value\": \"江陵县\"\n },\n {\n \"key\": \"421081\",\n \"value\": \"石首市\"\n },\n {\n \"key\": \"421083\",\n \"value\": \"洪湖市\"\n },\n {\n \"key\": \"421087\",\n \"value\": \"松滋市\"\n }]\n },\n {\n \"key\": \"421100\",\n \"value\": \"黄冈市\",\n \"children\": [{\n \"key\": \"421102\",\n \"value\": \"黄州区\"\n },\n {\n \"key\": \"421121\",\n \"value\": \"团风县\"\n },\n {\n \"key\": \"421122\",\n \"value\": \"红安县\"\n },\n {\n \"key\": \"421123\",\n \"value\": \"罗田县\"\n },\n {\n \"key\": \"421124\",\n \"value\": \"英山县\"\n },\n {\n \"key\": \"421125\",\n \"value\": \"浠水县\"\n },\n {\n \"key\": \"421126\",\n \"value\": \"蕲春县\"\n },\n {\n \"key\": \"421127\",\n \"value\": \"黄梅县\"\n },\n {\n \"key\": \"421181\",\n \"value\": \"麻城市\"\n },\n {\n \"key\": \"421182\",\n \"value\": \"武穴市\"\n }]\n },\n {\n \"key\": \"421200\",\n \"value\": \"咸宁市\",\n \"children\": [{\n \"key\": \"421202\",\n \"value\": \"咸安区\"\n },\n {\n \"key\": \"421221\",\n \"value\": \"嘉鱼县\"\n },\n {\n \"key\": \"421222\",\n \"value\": \"通城县\"\n },\n {\n \"key\": \"421223\",\n \"value\": \"崇阳县\"\n },\n {\n \"key\": \"421224\",\n \"value\": \"通山县\"\n },\n {\n \"key\": \"421281\",\n \"value\": \"赤壁市\"\n }]\n },\n {\n \"key\": \"421300\",\n \"value\": \"随州市\",\n \"children\": [{\n \"key\": \"421303\",\n \"value\": \"曾都区\"\n },\n {\n \"key\": \"421321\",\n \"value\": \"随县\"\n },\n {\n \"key\": \"421381\",\n \"value\": \"广水市\"\n }]\n },\n {\n \"key\": \"422800\",\n \"value\": \"恩施土家族苗族自治州\",\n \"children\": [{\n \"key\": \"422801\",\n \"value\": \"恩施市\"\n },\n {\n \"key\": \"422802\",\n \"value\": \"利川市\"\n },\n {\n \"key\": \"422822\",\n \"value\": \"建始县\"\n },\n {\n \"key\": \"422823\",\n \"value\": \"巴东县\"\n },\n {\n \"key\": \"422825\",\n \"value\": \"宣恩县\"\n },\n {\n \"key\": \"422826\",\n \"value\": \"咸丰县\"\n },\n {\n \"key\": \"422827\",\n \"value\": \"来凤县\"\n },\n {\n \"key\": \"422828\",\n \"value\": \"鹤峰县\"\n }]\n },\n {\n \"key\": \"429004\",\n \"value\": \"仙桃市\"\n },\n {\n \"key\": \"429005\",\n \"value\": \"潜江市\"\n },\n {\n \"key\": \"429006\",\n \"value\": \"天门市\"\n },\n {\n \"key\": \"429021\",\n \"value\": \"神农架林区\"\n }]\n},\n{\n \"key\": \"430000\",\n \"value\": \"湖南\",\n \"children\": [{\n \"key\": \"430100\",\n \"value\": \"长沙市\",\n \"children\": [{\n \"key\": \"430102\",\n \"value\": \"芙蓉区\"\n },\n {\n \"key\": \"430103\",\n \"value\": \"天心区\"\n },\n {\n \"key\": \"430104\",\n \"value\": \"岳麓区\"\n },\n {\n \"key\": \"430105\",\n \"value\": \"开福区\"\n },\n {\n \"key\": \"430111\",\n \"value\": \"雨花区\"\n },\n {\n \"key\": \"430112\",\n \"value\": \"望城区\"\n },\n {\n \"key\": \"430121\",\n \"value\": \"长沙县\"\n },\n {\n \"key\": \"430181\",\n \"value\": \"浏阳市\"\n },\n {\n \"key\": \"430182\",\n \"value\": \"宁乡市\"\n }]\n },\n {\n \"key\": \"430200\",\n \"value\": \"株洲市\",\n \"children\": [{\n \"key\": \"430202\",\n \"value\": \"荷塘区\"\n },\n {\n \"key\": \"430203\",\n \"value\": \"芦淞区\"\n },\n {\n \"key\": \"430204\",\n \"value\": \"石峰区\"\n },\n {\n \"key\": \"430211\",\n \"value\": \"天元区\"\n },\n {\n \"key\": \"430212\",\n \"value\": \"渌口区\"\n },\n {\n \"key\": \"430223\",\n \"value\": \"攸县\"\n },\n {\n \"key\": \"430224\",\n \"value\": \"茶陵县\"\n },\n {\n \"key\": \"430225\",\n \"value\": \"炎陵县\"\n },\n {\n \"key\": \"430281\",\n \"value\": \"醴陵市\"\n }]\n },\n {\n \"key\": \"430300\",\n \"value\": \"湘潭市\",\n \"children\": [{\n \"key\": \"430302\",\n \"value\": \"雨湖区\"\n },\n {\n \"key\": \"430304\",\n \"value\": \"岳塘区\"\n },\n {\n \"key\": \"430321\",\n \"value\": \"湘潭县\"\n },\n {\n \"key\": \"430381\",\n \"value\": \"湘乡市\"\n },\n {\n \"key\": \"430382\",\n \"value\": \"韶山市\"\n }]\n },\n {\n \"key\": \"430400\",\n \"value\": \"衡阳市\",\n \"children\": [{\n \"key\": \"430405\",\n \"value\": \"珠晖区\"\n },\n {\n \"key\": \"430406\",\n \"value\": \"雁峰区\"\n },\n {\n \"key\": \"430407\",\n \"value\": \"石鼓区\"\n },\n {\n \"key\": \"430408\",\n \"value\": \"蒸湘区\"\n },\n {\n \"key\": \"430412\",\n \"value\": \"南岳区\"\n },\n {\n \"key\": \"430421\",\n \"value\": \"衡阳县\"\n },\n {\n \"key\": \"430422\",\n \"value\": \"衡南县\"\n },\n {\n \"key\": \"430423\",\n \"value\": \"衡山县\"\n },\n {\n \"key\": \"430424\",\n \"value\": \"衡东县\"\n },\n {\n \"key\": \"430426\",\n \"value\": \"祁东县\"\n },\n {\n \"key\": \"430481\",\n \"value\": \"耒阳市\"\n },\n {\n \"key\": \"430482\",\n \"value\": \"常宁市\"\n }]\n },\n {\n \"key\": \"430500\",\n \"value\": \"邵阳市\",\n \"children\": [{\n \"key\": \"430502\",\n \"value\": \"双清区\"\n },\n {\n \"key\": \"430503\",\n \"value\": \"大祥区\"\n },\n {\n \"key\": \"430511\",\n \"value\": \"北塔区\"\n },\n {\n \"key\": \"430521\",\n \"value\": \"邵东县\"\n },\n {\n \"key\": \"430522\",\n \"value\": \"新邵县\"\n },\n {\n \"key\": \"430523\",\n \"value\": \"邵阳县\"\n },\n {\n \"key\": \"430524\",\n \"value\": \"隆回县\"\n },\n {\n \"key\": \"430525\",\n \"value\": \"洞口县\"\n },\n {\n \"key\": \"430527\",\n \"value\": \"绥宁县\"\n },\n {\n \"key\": \"430528\",\n \"value\": \"新宁县\"\n },\n {\n \"key\": \"430529\",\n \"value\": \"城步苗族自治县\"\n },\n {\n \"key\": \"430581\",\n \"value\": \"武冈市\"\n }]\n },\n {\n \"key\": \"430600\",\n \"value\": \"岳阳市\",\n \"children\": [{\n \"key\": \"430602\",\n \"value\": \"岳阳楼区\"\n },\n {\n \"key\": \"430603\",\n \"value\": \"云溪区\"\n },\n {\n \"key\": \"430611\",\n \"value\": \"君山区\"\n },\n {\n \"key\": \"430621\",\n \"value\": \"岳阳县\"\n },\n {\n \"key\": \"430623\",\n \"value\": \"华容县\"\n },\n {\n \"key\": \"430624\",\n \"value\": \"湘阴县\"\n },\n {\n \"key\": \"430626\",\n \"value\": \"平江县\"\n },\n {\n \"key\": \"430681\",\n \"value\": \"汨罗市\"\n },\n {\n \"key\": \"430682\",\n \"value\": \"临湘市\"\n }]\n },\n {\n \"key\": \"430700\",\n \"value\": \"常德市\",\n \"children\": [{\n \"key\": \"430702\",\n \"value\": \"武陵区\"\n },\n {\n \"key\": \"430703\",\n \"value\": \"鼎城区\"\n },\n {\n \"key\": \"430721\",\n \"value\": \"安乡县\"\n },\n {\n \"key\": \"430722\",\n \"value\": \"汉寿县\"\n },\n {\n \"key\": \"430723\",\n \"value\": \"澧县\"\n },\n {\n \"key\": \"430724\",\n \"value\": \"临澧县\"\n },\n {\n \"key\": \"430725\",\n \"value\": \"桃源县\"\n },\n {\n \"key\": \"430726\",\n \"value\": \"石门县\"\n },\n {\n \"key\": \"430781\",\n \"value\": \"津市市\"\n }]\n },\n {\n \"key\": \"430800\",\n \"value\": \"张家界市\",\n \"children\": [{\n \"key\": \"430802\",\n \"value\": \"永定区\"\n },\n {\n \"key\": \"430811\",\n \"value\": \"武陵源区\"\n },\n {\n \"key\": \"430821\",\n \"value\": \"慈利县\"\n },\n {\n \"key\": \"430822\",\n \"value\": \"桑植县\"\n }]\n },\n {\n \"key\": \"430900\",\n \"value\": \"益阳市\",\n \"children\": [{\n \"key\": \"430902\",\n \"value\": \"资阳区\"\n },\n {\n \"key\": \"430903\",\n \"value\": \"赫山区\"\n },\n {\n \"key\": \"430921\",\n \"value\": \"南县\"\n },\n {\n \"key\": \"430922\",\n \"value\": \"桃江县\"\n },\n {\n \"key\": \"430923\",\n \"value\": \"安化县\"\n },\n {\n \"key\": \"430981\",\n \"value\": \"沅江市\"\n }]\n },\n {\n \"key\": \"431000\",\n \"value\": \"郴州市\",\n \"children\": [{\n \"key\": \"431002\",\n \"value\": \"北湖区\"\n },\n {\n \"key\": \"431003\",\n \"value\": \"苏仙区\"\n },\n {\n \"key\": \"431021\",\n \"value\": \"桂阳县\"\n },\n {\n \"key\": \"431022\",\n \"value\": \"宜章县\"\n },\n {\n \"key\": \"431023\",\n \"value\": \"永兴县\"\n },\n {\n \"key\": \"431024\",\n \"value\": \"嘉禾县\"\n },\n {\n \"key\": \"431025\",\n \"value\": \"临武县\"\n },\n {\n \"key\": \"431026\",\n \"value\": \"汝城县\"\n },\n {\n \"key\": \"431027\",\n \"value\": \"桂东县\"\n },\n {\n \"key\": \"431028\",\n \"value\": \"安仁县\"\n },\n {\n \"key\": \"431081\",\n \"value\": \"资兴市\"\n }]\n },\n {\n \"key\": \"431100\",\n \"value\": \"永州市\",\n \"children\": [{\n \"key\": \"431102\",\n \"value\": \"零陵区\"\n },\n {\n \"key\": \"431103\",\n \"value\": \"冷水滩区\"\n },\n {\n \"key\": \"431121\",\n \"value\": \"祁阳县\"\n },\n {\n \"key\": \"431122\",\n \"value\": \"东安县\"\n },\n {\n \"key\": \"431123\",\n \"value\": \"双牌县\"\n },\n {\n \"key\": \"431124\",\n \"value\": \"道县\"\n },\n {\n \"key\": \"431125\",\n \"value\": \"江永县\"\n },\n {\n \"key\": \"431126\",\n \"value\": \"宁远县\"\n },\n {\n \"key\": \"431127\",\n \"value\": \"蓝山县\"\n },\n {\n \"key\": \"431128\",\n \"value\": \"新田县\"\n },\n {\n \"key\": \"431129\",\n \"value\": \"江华瑶族自治县\"\n }]\n },\n {\n \"key\": \"431200\",\n \"value\": \"怀化市\",\n \"children\": [{\n \"key\": \"431202\",\n \"value\": \"鹤城区\"\n },\n {\n \"key\": \"431221\",\n \"value\": \"中方县\"\n },\n {\n \"key\": \"431222\",\n \"value\": \"沅陵县\"\n },\n {\n \"key\": \"431223\",\n \"value\": \"辰溪县\"\n },\n {\n \"key\": \"431224\",\n \"value\": \"溆浦县\"\n },\n {\n \"key\": \"431225\",\n \"value\": \"会同县\"\n },\n {\n \"key\": \"431226\",\n \"value\": \"麻阳苗族自治县\"\n },\n {\n \"key\": \"431227\",\n \"value\": \"新晃侗族自治县\"\n },\n {\n \"key\": \"431228\",\n \"value\": \"芷江侗族自治县\"\n },\n {\n \"key\": \"431229\",\n \"value\": \"靖州苗族侗族自治县\"\n },\n {\n \"key\": \"431230\",\n \"value\": \"通道侗族自治县\"\n },\n {\n \"key\": \"431281\",\n \"value\": \"洪江市\"\n }]\n },\n {\n \"key\": \"431300\",\n \"value\": \"娄底市\",\n \"children\": [{\n \"key\": \"431302\",\n \"value\": \"娄星区\"\n },\n {\n \"key\": \"431321\",\n \"value\": \"双峰县\"\n },\n {\n \"key\": \"431322\",\n \"value\": \"新化县\"\n },\n {\n \"key\": \"431381\",\n \"value\": \"冷水江市\"\n },\n {\n \"key\": \"431382\",\n \"value\": \"涟源市\"\n }]\n },\n {\n \"key\": \"433100\",\n \"value\": \"湘西土家族苗族自治州\",\n \"children\": [{\n \"key\": \"433101\",\n \"value\": \"吉首市\"\n },\n {\n \"key\": \"433122\",\n \"value\": \"泸溪县\"\n },\n {\n \"key\": \"433123\",\n \"value\": \"凤凰县\"\n },\n {\n \"key\": \"433124\",\n \"value\": \"花垣县\"\n },\n {\n \"key\": \"433125\",\n \"value\": \"保靖县\"\n },\n {\n \"key\": \"433126\",\n \"value\": \"古丈县\"\n },\n {\n \"key\": \"433127\",\n \"value\": \"永顺县\"\n },\n {\n \"key\": \"433130\",\n \"value\": \"龙山县\"\n }]\n }]\n},\n{\n \"key\": \"440000\",\n \"value\": \"广东\",\n \"children\": [{\n \"key\": \"440100\",\n \"value\": \"广州市\",\n \"children\": [{\n \"key\": \"440103\",\n \"value\": \"荔湾区\"\n },\n {\n \"key\": \"440104\",\n \"value\": \"越秀区\"\n },\n {\n \"key\": \"440105\",\n \"value\": \"海珠区\"\n },\n {\n \"key\": \"440106\",\n \"value\": \"天河区\"\n },\n {\n \"key\": \"440111\",\n \"value\": \"白云区\"\n },\n {\n \"key\": \"440112\",\n \"value\": \"黄埔区\"\n },\n {\n \"key\": \"440113\",\n \"value\": \"番禺区\"\n },\n {\n \"key\": \"440114\",\n \"value\": \"花都区\"\n },\n {\n \"key\": \"440115\",\n \"value\": \"南沙区\"\n },\n {\n \"key\": \"440117\",\n \"value\": \"从化区\"\n },\n {\n \"key\": \"440118\",\n \"value\": \"增城区\"\n }]\n },\n {\n \"key\": \"440200\",\n \"value\": \"韶关市\",\n \"children\": [{\n \"key\": \"440203\",\n \"value\": \"武江区\"\n },\n {\n \"key\": \"440204\",\n \"value\": \"浈江区\"\n },\n {\n \"key\": \"440205\",\n \"value\": \"曲江区\"\n },\n {\n \"key\": \"440222\",\n \"value\": \"始兴县\"\n },\n {\n \"key\": \"440224\",\n \"value\": \"仁化县\"\n },\n {\n \"key\": \"440229\",\n \"value\": \"翁源县\"\n },\n {\n \"key\": \"440232\",\n \"value\": \"乳源瑶族自治县\"\n },\n {\n \"key\": \"440233\",\n \"value\": \"新丰县\"\n },\n {\n \"key\": \"440281\",\n \"value\": \"乐昌市\"\n },\n {\n \"key\": \"440282\",\n \"value\": \"南雄市\"\n }]\n },\n {\n \"key\": \"440300\",\n \"value\": \"深圳市\",\n \"children\": [{\n \"key\": \"440303\",\n \"value\": \"罗湖区\"\n },\n {\n \"key\": \"440304\",\n \"value\": \"福田区\"\n },\n {\n \"key\": \"440305\",\n \"value\": \"南山区\"\n },\n {\n \"key\": \"440306\",\n \"value\": \"宝安区\"\n },\n {\n \"key\": \"440307\",\n \"value\": \"龙岗区\"\n },\n {\n \"key\": \"440308\",\n \"value\": \"盐田区\"\n },\n {\n \"key\": \"440309\",\n \"value\": \"龙华区\"\n },\n {\n \"key\": \"440310\",\n \"value\": \"坪山区\"\n },\n {\n \"key\": \"440311\",\n \"value\": \"光明区\"\n }]\n },\n {\n \"key\": \"440400\",\n \"value\": \"珠海市\",\n \"children\": [{\n \"key\": \"440402\",\n \"value\": \"香洲区\"\n },\n {\n \"key\": \"440403\",\n \"value\": \"斗门区\"\n },\n {\n \"key\": \"440404\",\n \"value\": \"金湾区\"\n }]\n },\n {\n \"key\": \"440500\",\n \"value\": \"汕头市\",\n \"children\": [{\n \"key\": \"440507\",\n \"value\": \"龙湖区\"\n },\n {\n \"key\": \"440511\",\n \"value\": \"金平区\"\n },\n {\n \"key\": \"440512\",\n \"value\": \"濠江区\"\n },\n {\n \"key\": \"440513\",\n \"value\": \"潮阳区\"\n },\n {\n \"key\": \"440514\",\n \"value\": \"潮南区\"\n },\n {\n \"key\": \"440515\",\n \"value\": \"澄海区\"\n },\n {\n \"key\": \"440523\",\n \"value\": \"南澳县\"\n }]\n },\n {\n \"key\": \"440600\",\n \"value\": \"佛山市\",\n \"children\": [{\n \"key\": \"440604\",\n \"value\": \"禅城区\"\n },\n {\n \"key\": \"440605\",\n \"value\": \"南海区\"\n },\n {\n \"key\": \"440606\",\n \"value\": \"顺德区\"\n },\n {\n \"key\": \"440607\",\n \"value\": \"三水区\"\n },\n {\n \"key\": \"440608\",\n \"value\": \"高明区\"\n }]\n },\n {\n \"key\": \"440700\",\n \"value\": \"江门市\",\n \"children\": [{\n \"key\": \"440703\",\n \"value\": \"蓬江区\"\n },\n {\n \"key\": \"440704\",\n \"value\": \"江海区\"\n },\n {\n \"key\": \"440705\",\n \"value\": \"新会区\"\n },\n {\n \"key\": \"440781\",\n \"value\": \"台山市\"\n },\n {\n \"key\": \"440783\",\n \"value\": \"开平市\"\n },\n {\n \"key\": \"440784\",\n \"value\": \"鹤山市\"\n },\n {\n \"key\": \"440785\",\n \"value\": \"恩平市\"\n }]\n },\n {\n \"key\": \"440800\",\n \"value\": \"湛江市\",\n \"children\": [{\n \"key\": \"440802\",\n \"value\": \"赤坎区\"\n },\n {\n \"key\": \"440803\",\n \"value\": \"霞山区\"\n },\n {\n \"key\": \"440804\",\n \"value\": \"坡头区\"\n },\n {\n \"key\": \"440811\",\n \"value\": \"麻章区\"\n },\n {\n \"key\": \"440823\",\n \"value\": \"遂溪县\"\n },\n {\n \"key\": \"440825\",\n \"value\": \"徐闻县\"\n },\n {\n \"key\": \"440881\",\n \"value\": \"廉江市\"\n },\n {\n \"key\": \"440882\",\n \"value\": \"雷州市\"\n },\n {\n \"key\": \"440883\",\n \"value\": \"吴川市\"\n }]\n },\n {\n \"key\": \"440900\",\n \"value\": \"茂名市\",\n \"children\": [{\n \"key\": \"440902\",\n \"value\": \"茂南区\"\n },\n {\n \"key\": \"440904\",\n \"value\": \"电白区\"\n },\n {\n \"key\": \"440981\",\n \"value\": \"高州市\"\n },\n {\n \"key\": \"440982\",\n \"value\": \"化州市\"\n },\n {\n \"key\": \"440983\",\n \"value\": \"信宜市\"\n }]\n },\n {\n \"key\": \"441200\",\n \"value\": \"肇庆市\",\n \"children\": [{\n \"key\": \"441202\",\n \"value\": \"端州区\"\n },\n {\n \"key\": \"441203\",\n \"value\": \"鼎湖区\"\n },\n {\n \"key\": \"441204\",\n \"value\": \"高要区\"\n },\n {\n \"key\": \"441223\",\n \"value\": \"广宁县\"\n },\n {\n \"key\": \"441224\",\n \"value\": \"怀集县\"\n },\n {\n \"key\": \"441225\",\n \"value\": \"封开县\"\n },\n {\n \"key\": \"441226\",\n \"value\": \"德庆县\"\n },\n {\n \"key\": \"441284\",\n \"value\": \"四会市\"\n }]\n },\n {\n \"key\": \"441300\",\n \"value\": \"惠州市\",\n \"children\": [{\n \"key\": \"441302\",\n \"value\": \"惠城区\"\n },\n {\n \"key\": \"441303\",\n \"value\": \"惠阳区\"\n },\n {\n \"key\": \"441322\",\n \"value\": \"博罗县\"\n },\n {\n \"key\": \"441323\",\n \"value\": \"惠东县\"\n },\n {\n \"key\": \"441324\",\n \"value\": \"龙门县\"\n }]\n },\n {\n \"key\": \"441400\",\n \"value\": \"梅州市\",\n \"children\": [{\n \"key\": \"441402\",\n \"value\": \"梅江区\"\n },\n {\n \"key\": \"441403\",\n \"value\": \"梅县区\"\n },\n {\n \"key\": \"441422\",\n \"value\": \"大埔县\"\n },\n {\n \"key\": \"441423\",\n \"value\": \"丰顺县\"\n },\n {\n \"key\": \"441424\",\n \"value\": \"五华县\"\n },\n {\n \"key\": \"441426\",\n \"value\": \"平远县\"\n },\n {\n \"key\": \"441427\",\n \"value\": \"蕉岭县\"\n },\n {\n \"key\": \"441481\",\n \"value\": \"兴宁市\"\n }]\n },\n {\n \"key\": \"441500\",\n \"value\": \"汕尾市\",\n \"children\": [{\n \"key\": \"441502\",\n \"value\": \"城区\"\n },\n {\n \"key\": \"441521\",\n \"value\": \"海丰县\"\n },\n {\n \"key\": \"441523\",\n \"value\": \"陆河县\"\n },\n {\n \"key\": \"441581\",\n \"value\": \"陆丰市\"\n }]\n },\n {\n \"key\": \"441600\",\n \"value\": \"河源市\",\n \"children\": [{\n \"key\": \"441602\",\n \"value\": \"源城区\"\n },\n {\n \"key\": \"441621\",\n \"value\": \"紫金县\"\n },\n {\n \"key\": \"441622\",\n \"value\": \"龙川县\"\n },\n {\n \"key\": \"441623\",\n \"value\": \"连平县\"\n },\n {\n \"key\": \"441624\",\n \"value\": \"和平县\"\n },\n {\n \"key\": \"441625\",\n \"value\": \"东源县\"\n }]\n },\n {\n \"key\": \"441700\",\n \"value\": \"阳江市\",\n \"children\": [{\n \"key\": \"441702\",\n \"value\": \"江城区\"\n },\n {\n \"key\": \"441704\",\n \"value\": \"阳东区\"\n },\n {\n \"key\": \"441721\",\n \"value\": \"阳西县\"\n },\n {\n \"key\": \"441781\",\n \"value\": \"阳春市\"\n }]\n },\n {\n \"key\": \"441800\",\n \"value\": \"清远市\",\n \"children\": [{\n \"key\": \"441802\",\n \"value\": \"清城区\"\n },\n {\n \"key\": \"441803\",\n \"value\": \"清新区\"\n },\n {\n \"key\": \"441821\",\n \"value\": \"佛冈县\"\n },\n {\n \"key\": \"441823\",\n \"value\": \"阳山县\"\n },\n {\n \"key\": \"441825\",\n \"value\": \"连山壮族瑶族自治县\"\n },\n {\n \"key\": \"441826\",\n \"value\": \"连南瑶族自治县\"\n },\n {\n \"key\": \"441881\",\n \"value\": \"英德市\"\n },\n {\n \"key\": \"441882\",\n \"value\": \"连州市\"\n }]\n },\n {\n \"key\": \"441900\",\n \"value\": \"东莞市\"\n },\n {\n \"key\": \"442000\",\n \"value\": \"中山市\"\n },\n {\n \"key\": \"445100\",\n \"value\": \"潮州市\",\n \"children\": [{\n \"key\": \"445102\",\n \"value\": \"湘桥区\"\n },\n {\n \"key\": \"445103\",\n \"value\": \"潮安区\"\n },\n {\n \"key\": \"445122\",\n \"value\": \"饶平县\"\n }]\n },\n {\n \"key\": \"445200\",\n \"value\": \"揭阳市\",\n \"children\": [{\n \"key\": \"445202\",\n \"value\": \"榕城区\"\n },\n {\n \"key\": \"445203\",\n \"value\": \"揭东区\"\n },\n {\n \"key\": \"445222\",\n \"value\": \"揭西县\"\n },\n {\n \"key\": \"445224\",\n \"value\": \"惠来县\"\n },\n {\n \"key\": \"445281\",\n \"value\": \"普宁市\"\n }]\n },\n {\n \"key\": \"445300\",\n \"value\": \"云浮市\",\n \"children\": [{\n \"key\": \"445302\",\n \"value\": \"云城区\"\n },\n {\n \"key\": \"445303\",\n \"value\": \"云安区\"\n },\n {\n \"key\": \"445321\",\n \"value\": \"新兴县\"\n },\n {\n \"key\": \"445322\",\n \"value\": \"郁南县\"\n },\n {\n \"key\": \"445381\",\n \"value\": \"罗定市\"\n }]\n }]\n},\n{\n \"key\": \"450000\",\n \"value\": \"广西\",\n \"children\": [{\n \"key\": \"450100\",\n \"value\": \"南宁市\",\n \"children\": [{\n \"key\": \"450102\",\n \"value\": \"兴宁区\"\n },\n {\n \"key\": \"450103\",\n \"value\": \"青秀区\"\n },\n {\n \"key\": \"450105\",\n \"value\": \"江南区\"\n },\n {\n \"key\": \"450107\",\n \"value\": \"西乡塘区\"\n },\n {\n \"key\": \"450108\",\n \"value\": \"良庆区\"\n },\n {\n \"key\": \"450109\",\n \"value\": \"邕宁区\"\n },\n {\n \"key\": \"450110\",\n \"value\": \"武鸣区\"\n },\n {\n \"key\": \"450123\",\n \"value\": \"隆安县\"\n },\n {\n \"key\": \"450124\",\n \"value\": \"马山县\"\n },\n {\n \"key\": \"450125\",\n \"value\": \"上林县\"\n },\n {\n \"key\": \"450126\",\n \"value\": \"宾阳县\"\n },\n {\n \"key\": \"450127\",\n \"value\": \"横县\"\n }]\n },\n {\n \"key\": \"450200\",\n \"value\": \"柳州市\",\n \"children\": [{\n \"key\": \"450202\",\n \"value\": \"城中区\"\n },\n {\n \"key\": \"450203\",\n \"value\": \"鱼峰区\"\n },\n {\n \"key\": \"450204\",\n \"value\": \"柳南区\"\n },\n {\n \"key\": \"450205\",\n \"value\": \"柳北区\"\n },\n {\n \"key\": \"450206\",\n \"value\": \"柳江区\"\n },\n {\n \"key\": \"450222\",\n \"value\": \"柳城县\"\n },\n {\n \"key\": \"450223\",\n \"value\": \"鹿寨县\"\n },\n {\n \"key\": \"450224\",\n \"value\": \"融安县\"\n },\n {\n \"key\": \"450225\",\n \"value\": \"融水苗族自治县\"\n },\n {\n \"key\": \"450226\",\n \"value\": \"三江侗族自治县\"\n }]\n },\n {\n \"key\": \"450300\",\n \"value\": \"桂林市\",\n \"children\": [{\n \"key\": \"450302\",\n \"value\": \"秀峰区\"\n },\n {\n \"key\": \"450303\",\n \"value\": \"叠彩区\"\n },\n {\n \"key\": \"450304\",\n \"value\": \"象山区\"\n },\n {\n \"key\": \"450305\",\n \"value\": \"七星区\"\n },\n {\n \"key\": \"450311\",\n \"value\": \"雁山区\"\n },\n {\n \"key\": \"450312\",\n \"value\": \"临桂区\"\n },\n {\n \"key\": \"450321\",\n \"value\": \"阳朔县\"\n },\n {\n \"key\": \"450323\",\n \"value\": \"灵川县\"\n },\n {\n \"key\": \"450324\",\n \"value\": \"全州县\"\n },\n {\n \"key\": \"450325\",\n \"value\": \"兴安县\"\n },\n {\n \"key\": \"450326\",\n \"value\": \"永福县\"\n },\n {\n \"key\": \"450327\",\n \"value\": \"灌阳县\"\n },\n {\n \"key\": \"450328\",\n \"value\": \"龙胜各族自治县\"\n },\n {\n \"key\": \"450329\",\n \"value\": \"资源县\"\n },\n {\n \"key\": \"450330\",\n \"value\": \"平乐县\"\n },\n {\n \"key\": \"450332\",\n \"value\": \"恭城瑶族自治县\"\n },\n {\n \"key\": \"450381\",\n \"value\": \"荔浦市\"\n }]\n },\n {\n \"key\": \"450400\",\n \"value\": \"梧州市\",\n \"children\": [{\n \"key\": \"450403\",\n \"value\": \"万秀区\"\n },\n {\n \"key\": \"450405\",\n \"value\": \"长洲区\"\n },\n {\n \"key\": \"450406\",\n \"value\": \"龙圩区\"\n },\n {\n \"key\": \"450421\",\n \"value\": \"苍梧县\"\n },\n {\n \"key\": \"450422\",\n \"value\": \"藤县\"\n },\n {\n \"key\": \"450423\",\n \"value\": \"蒙山县\"\n },\n {\n \"key\": \"450481\",\n \"value\": \"岑溪市\"\n }]\n },\n {\n \"key\": \"450500\",\n \"value\": \"北海市\",\n \"children\": [{\n \"key\": \"450502\",\n \"value\": \"海城区\"\n },\n {\n \"key\": \"450503\",\n \"value\": \"银海区\"\n },\n {\n \"key\": \"450512\",\n \"value\": \"铁山港区\"\n },\n {\n \"key\": \"450521\",\n \"value\": \"合浦县\"\n }]\n },\n {\n \"key\": \"450600\",\n \"value\": \"防城港市\",\n \"children\": [{\n \"key\": \"450602\",\n \"value\": \"港口区\"\n },\n {\n \"key\": \"450603\",\n \"value\": \"防城区\"\n },\n {\n \"key\": \"450621\",\n \"value\": \"上思县\"\n },\n {\n \"key\": \"450681\",\n \"value\": \"东兴市\"\n }]\n },\n {\n \"key\": \"450700\",\n \"value\": \"钦州市\",\n \"children\": [{\n \"key\": \"450702\",\n \"value\": \"钦南区\"\n },\n {\n \"key\": \"450703\",\n \"value\": \"钦北区\"\n },\n {\n \"key\": \"450721\",\n \"value\": \"灵山县\"\n },\n {\n \"key\": \"450722\",\n \"value\": \"浦北县\"\n }]\n },\n {\n \"key\": \"450800\",\n \"value\": \"贵港市\",\n \"children\": [{\n \"key\": \"450802\",\n \"value\": \"港北区\"\n },\n {\n \"key\": \"450803\",\n \"value\": \"港南区\"\n },\n {\n \"key\": \"450804\",\n \"value\": \"覃塘区\"\n },\n {\n \"key\": \"450821\",\n \"value\": \"平南县\"\n },\n {\n \"key\": \"450881\",\n \"value\": \"桂平市\"\n }]\n },\n {\n \"key\": \"450900\",\n \"value\": \"玉林市\",\n \"children\": [{\n \"key\": \"450902\",\n \"value\": \"玉州区\"\n },\n {\n \"key\": \"450903\",\n \"value\": \"福绵区\"\n },\n {\n \"key\": \"450921\",\n \"value\": \"容县\"\n },\n {\n \"key\": \"450922\",\n \"value\": \"陆川县\"\n },\n {\n \"key\": \"450923\",\n \"value\": \"博白县\"\n },\n {\n \"key\": \"450924\",\n \"value\": \"兴业县\"\n },\n {\n \"key\": \"450981\",\n \"value\": \"北流市\"\n }]\n },\n {\n \"key\": \"451000\",\n \"value\": \"百色市\",\n \"children\": [{\n \"key\": \"451002\",\n \"value\": \"右江区\"\n },\n {\n \"key\": \"451021\",\n \"value\": \"田阳县\"\n },\n {\n \"key\": \"451022\",\n \"value\": \"田东县\"\n },\n {\n \"key\": \"451023\",\n \"value\": \"平果县\"\n },\n {\n \"key\": \"451024\",\n \"value\": \"德保县\"\n },\n {\n \"key\": \"451026\",\n \"value\": \"那坡县\"\n },\n {\n \"key\": \"451027\",\n \"value\": \"凌云县\"\n },\n {\n \"key\": \"451028\",\n \"value\": \"乐业县\"\n },\n {\n \"key\": \"451029\",\n \"value\": \"田林县\"\n },\n {\n \"key\": \"451030\",\n \"value\": \"西林县\"\n },\n {\n \"key\": \"451031\",\n \"value\": \"隆林各族自治县\"\n },\n {\n \"key\": \"451081\",\n \"value\": \"靖西市\"\n }]\n },\n {\n \"key\": \"451100\",\n \"value\": \"贺州市\",\n \"children\": [{\n \"key\": \"451102\",\n \"value\": \"八步区\"\n },\n {\n \"key\": \"451103\",\n \"value\": \"平桂区\"\n },\n {\n \"key\": \"451121\",\n \"value\": \"昭平县\"\n },\n {\n \"key\": \"451122\",\n \"value\": \"钟山县\"\n },\n {\n \"key\": \"451123\",\n \"value\": \"富川瑶族自治县\"\n }]\n },\n {\n \"key\": \"451200\",\n \"value\": \"河池市\",\n \"children\": [{\n \"key\": \"451202\",\n \"value\": \"金城江区\"\n },\n {\n \"key\": \"451203\",\n \"value\": \"宜州区\"\n },\n {\n \"key\": \"451221\",\n \"value\": \"南丹县\"\n },\n {\n \"key\": \"451222\",\n \"value\": \"天峨县\"\n },\n {\n \"key\": \"451223\",\n \"value\": \"凤山县\"\n },\n {\n \"key\": \"451224\",\n \"value\": \"东兰县\"\n },\n {\n \"key\": \"451225\",\n \"value\": \"罗城仫佬族自治县\"\n },\n {\n \"key\": \"451226\",\n \"value\": \"环江毛南族自治县\"\n },\n {\n \"key\": \"451227\",\n \"value\": \"巴马瑶族自治县\"\n },\n {\n \"key\": \"451228\",\n \"value\": \"都安瑶族自治县\"\n },\n {\n \"key\": \"451229\",\n \"value\": \"大化瑶族自治县\"\n }]\n },\n {\n \"key\": \"451300\",\n \"value\": \"来宾市\",\n \"children\": [{\n \"key\": \"451302\",\n \"value\": \"兴宾区\"\n },\n {\n \"key\": \"451321\",\n \"value\": \"忻城县\"\n },\n {\n \"key\": \"451322\",\n \"value\": \"象州县\"\n },\n {\n \"key\": \"451323\",\n \"value\": \"武宣县\"\n },\n {\n \"key\": \"451324\",\n \"value\": \"金秀瑶族自治县\"\n },\n {\n \"key\": \"451381\",\n \"value\": \"合山市\"\n }]\n },\n {\n \"key\": \"451400\",\n \"value\": \"崇左市\",\n \"children\": [{\n \"key\": \"451402\",\n \"value\": \"江州区\"\n },\n {\n \"key\": \"451421\",\n \"value\": \"扶绥县\"\n },\n {\n \"key\": \"451422\",\n \"value\": \"宁明县\"\n },\n {\n \"key\": \"451423\",\n \"value\": \"龙州县\"\n },\n {\n \"key\": \"451424\",\n \"value\": \"大新县\"\n },\n {\n \"key\": \"451425\",\n \"value\": \"天等县\"\n },\n {\n \"key\": \"451481\",\n \"value\": \"凭祥市\"\n }]\n }]\n},\n{\n \"key\": \"460000\",\n \"value\": \"海南\",\n \"children\": [{\n \"key\": \"460100\",\n \"value\": \"海口市\",\n \"children\": [{\n \"key\": \"460105\",\n \"value\": \"秀英区\"\n },\n {\n \"key\": \"460106\",\n \"value\": \"龙华区\"\n },\n {\n \"key\": \"460107\",\n \"value\": \"琼山区\"\n },\n {\n \"key\": \"460108\",\n \"value\": \"美兰区\"\n }]\n },\n {\n \"key\": \"460200\",\n \"value\": \"三亚市\",\n \"children\": [{\n \"key\": \"460202\",\n \"value\": \"海棠湾镇\"\n },\n {\n \"key\": \"460203\",\n \"value\": \"吉阳区\"\n },\n {\n \"key\": \"460204\",\n \"value\": \"凤凰镇\"\n },\n {\n \"key\": \"460205\",\n \"value\": \"崖州区\"\n }]\n },\n {\n \"key\": \"460300\",\n \"value\": \"三沙市\"\n },\n {\n \"key\": \"460400\",\n \"value\": \"儋州市\"\n },\n {\n \"key\": \"469001\",\n \"value\": \"五指山市\"\n },\n {\n \"key\": \"469002\",\n \"value\": \"琼海市\"\n },\n {\n \"key\": \"469005\",\n \"value\": \"文昌市\"\n },\n {\n \"key\": \"469006\",\n \"value\": \"万宁市\"\n },\n {\n \"key\": \"469007\",\n \"value\": \"东方市\"\n },\n {\n \"key\": \"469021\",\n \"value\": \"定安县\"\n },\n {\n \"key\": \"469022\",\n \"value\": \"屯昌县\"\n },\n {\n \"key\": \"469023\",\n \"value\": \"澄迈县\"\n },\n {\n \"key\": \"469024\",\n \"value\": \"临高县\"\n },\n {\n \"key\": \"469025\",\n \"value\": \"白沙黎族自治县\"\n },\n {\n \"key\": \"469026\",\n \"value\": \"昌江黎族自治县\"\n },\n {\n \"key\": \"469027\",\n \"value\": \"乐东黎族自治县\"\n },\n {\n \"key\": \"469028\",\n \"value\": \"陵水黎族自治县\"\n },\n {\n \"key\": \"469029\",\n \"value\": \"保亭黎族苗族自治县\"\n },\n {\n \"key\": \"469030\",\n \"value\": \"琼中黎族苗族自治县\"\n }]\n},\n{\n \"key\": \"500000\",\n \"value\": \"重庆\",\n \"children\": [{\n \"key\": \"500101\",\n \"value\": \"万州区\"\n },\n {\n \"key\": \"500102\",\n \"value\": \"涪陵区\"\n },\n {\n \"key\": \"500103\",\n \"value\": \"渝中区\"\n },\n {\n \"key\": \"500104\",\n \"value\": \"大渡口区\"\n },\n {\n \"key\": \"500105\",\n \"value\": \"江北区\"\n },\n {\n \"key\": \"500106\",\n \"value\": \"沙坪坝区\"\n },\n {\n \"key\": \"500107\",\n \"value\": \"九龙坡区\"\n },\n {\n \"key\": \"500108\",\n \"value\": \"南岸区\"\n },\n {\n \"key\": \"500109\",\n \"value\": \"北碚区\"\n },\n {\n \"key\": \"500110\",\n \"value\": \"綦江区\"\n },\n {\n \"key\": \"500111\",\n \"value\": \"大足区\"\n },\n {\n \"key\": \"500112\",\n \"value\": \"渝北区\"\n },\n {\n \"key\": \"500113\",\n \"value\": \"巴南区\"\n },\n {\n \"key\": \"500114\",\n \"value\": \"黔江区\"\n },\n {\n \"key\": \"500115\",\n \"value\": \"长寿区\"\n },\n {\n \"key\": \"500116\",\n \"value\": \"江津区\"\n },\n {\n \"key\": \"500117\",\n \"value\": \"合川区\"\n },\n {\n \"key\": \"500118\",\n \"value\": \"永川区\"\n },\n {\n \"key\": \"500119\",\n \"value\": \"南川区\"\n },\n {\n \"key\": \"500120\",\n \"value\": \"璧山区\"\n },\n {\n \"key\": \"500151\",\n \"value\": \"铜梁区\"\n },\n {\n \"key\": \"500152\",\n \"value\": \"潼南区\"\n },\n {\n \"key\": \"500153\",\n \"value\": \"荣昌区\"\n },\n {\n \"key\": \"500154\",\n \"value\": \"开州区\"\n },\n {\n \"key\": \"500155\",\n \"value\": \"梁平区\"\n },\n {\n \"key\": \"500156\",\n \"value\": \"武隆区\"\n },\n {\n \"key\": \"500229\",\n \"value\": \"城口县\"\n },\n {\n \"key\": \"500230\",\n \"value\": \"丰都县\"\n },\n {\n \"key\": \"500231\",\n \"value\": \"垫江县\"\n },\n {\n \"key\": \"500233\",\n \"value\": \"忠县\"\n },\n {\n \"key\": \"500235\",\n \"value\": \"云阳县\"\n },\n {\n \"key\": \"500236\",\n \"value\": \"奉节县\"\n },\n {\n \"key\": \"500237\",\n \"value\": \"巫山县\"\n },\n {\n \"key\": \"500238\",\n \"value\": \"巫溪县\"\n },\n {\n \"key\": \"500240\",\n \"value\": \"石柱土家族自治县\"\n },\n {\n \"key\": \"500241\",\n \"value\": \"秀山土家族苗族自治县\"\n },\n {\n \"key\": \"500242\",\n \"value\": \"酉阳土家族苗族自治县\"\n },\n {\n \"key\": \"500243\",\n \"value\": \"彭水苗族土家族自治县\"\n }]\n},\n{\n \"key\": \"510000\",\n \"value\": \"四川\",\n \"children\": [{\n \"key\": \"510100\",\n \"value\": \"成都市\",\n \"children\": [{\n \"key\": \"510104\",\n \"value\": \"锦江区\"\n },\n {\n \"key\": \"510105\",\n \"value\": \"青羊区\"\n },\n {\n \"key\": \"510106\",\n \"value\": \"金牛区\"\n },\n {\n \"key\": \"510107\",\n \"value\": \"武侯区\"\n },\n {\n \"key\": \"510108\",\n \"value\": \"成华区\"\n },\n {\n \"key\": \"510112\",\n \"value\": \"龙泉驿区\"\n },\n {\n \"key\": \"510113\",\n \"value\": \"青白江区\"\n },\n {\n \"key\": \"510114\",\n \"value\": \"新都区\"\n },\n {\n \"key\": \"510115\",\n \"value\": \"温江区\"\n },\n {\n \"key\": \"510116\",\n \"value\": \"双流区\"\n },\n {\n \"key\": \"510117\",\n \"value\": \"郫都区\"\n },\n {\n \"key\": \"510121\",\n \"value\": \"金堂县\"\n },\n {\n \"key\": \"510129\",\n \"value\": \"大邑县\"\n },\n {\n \"key\": \"510131\",\n \"value\": \"蒲江县\"\n },\n {\n \"key\": \"510132\",\n \"value\": \"新津县\"\n },\n {\n \"key\": \"510181\",\n \"value\": \"都江堰市\"\n },\n {\n \"key\": \"510182\",\n \"value\": \"彭州市\"\n },\n {\n \"key\": \"510183\",\n \"value\": \"邛崃市\"\n },\n {\n \"key\": \"510184\",\n \"value\": \"崇州市\"\n },\n {\n \"key\": \"510185\",\n \"value\": \"简阳市\"\n }]\n },\n {\n \"key\": \"510300\",\n \"value\": \"自贡市\",\n \"children\": [{\n \"key\": \"510302\",\n \"value\": \"自流井区\"\n },\n {\n \"key\": \"510303\",\n \"value\": \"贡井区\"\n },\n {\n \"key\": \"510304\",\n \"value\": \"大安区\"\n },\n {\n \"key\": \"510311\",\n \"value\": \"沿滩区\"\n },\n {\n \"key\": \"510321\",\n \"value\": \"荣县\"\n },\n {\n \"key\": \"510322\",\n \"value\": \"富顺县\"\n }]\n },\n {\n \"key\": \"510400\",\n \"value\": \"攀枝花市\",\n \"children\": [{\n \"key\": \"510402\",\n \"value\": \"东区\"\n },\n {\n \"key\": \"510403\",\n \"value\": \"西区\"\n },\n {\n \"key\": \"510411\",\n \"value\": \"仁和区\"\n },\n {\n \"key\": \"510421\",\n \"value\": \"米易县\"\n },\n {\n \"key\": \"510422\",\n \"value\": \"盐边县\"\n }]\n },\n {\n \"key\": \"510500\",\n \"value\": \"泸州市\",\n \"children\": [{\n \"key\": \"510502\",\n \"value\": \"江阳区\"\n },\n {\n \"key\": \"510503\",\n \"value\": \"纳溪区\"\n },\n {\n \"key\": \"510504\",\n \"value\": \"龙马潭区\"\n },\n {\n \"key\": \"510521\",\n \"value\": \"泸县\"\n },\n {\n \"key\": \"510522\",\n \"value\": \"合江县\"\n },\n {\n \"key\": \"510524\",\n \"value\": \"叙永县\"\n },\n {\n \"key\": \"510525\",\n \"value\": \"古蔺县\"\n }]\n },\n {\n \"key\": \"510600\",\n \"value\": \"德阳市\",\n \"children\": [{\n \"key\": \"510603\",\n \"value\": \"旌阳区\"\n },\n {\n \"key\": \"510604\",\n \"value\": \"罗江区\"\n },\n {\n \"key\": \"510623\",\n \"value\": \"中江县\"\n },\n {\n \"key\": \"510681\",\n \"value\": \"广汉市\"\n },\n {\n \"key\": \"510682\",\n \"value\": \"什邡市\"\n },\n {\n \"key\": \"510683\",\n \"value\": \"绵竹市\"\n }]\n },\n {\n \"key\": \"510700\",\n \"value\": \"绵阳市\",\n \"children\": [{\n \"key\": \"510703\",\n \"value\": \"涪城区\"\n },\n {\n \"key\": \"510704\",\n \"value\": \"游仙区\"\n },\n {\n \"key\": \"510705\",\n \"value\": \"安州区\"\n },\n {\n \"key\": \"510722\",\n \"value\": \"三台县\"\n },\n {\n \"key\": \"510723\",\n \"value\": \"盐亭县\"\n },\n {\n \"key\": \"510725\",\n \"value\": \"梓潼县\"\n },\n {\n \"key\": \"510726\",\n \"value\": \"北川羌族自治县\"\n },\n {\n \"key\": \"510727\",\n \"value\": \"平武县\"\n },\n {\n \"key\": \"510781\",\n \"value\": \"江油市\"\n }]\n },\n {\n \"key\": \"510800\",\n \"value\": \"广元市\",\n \"children\": [{\n \"key\": \"510802\",\n \"value\": \"利州区\"\n },\n {\n \"key\": \"510811\",\n \"value\": \"元坝区\"\n },\n {\n \"key\": \"510812\",\n \"value\": \"朝天区\"\n },\n {\n \"key\": \"510821\",\n \"value\": \"旺苍县\"\n },\n {\n \"key\": \"510822\",\n \"value\": \"青川县\"\n },\n {\n \"key\": \"510823\",\n \"value\": \"剑阁县\"\n },\n {\n \"key\": \"510824\",\n \"value\": \"苍溪县\"\n }]\n },\n {\n \"key\": \"510900\",\n \"value\": \"遂宁市\",\n \"children\": [{\n \"key\": \"510903\",\n \"value\": \"船山区\"\n },\n {\n \"key\": \"510904\",\n \"value\": \"安居区\"\n },\n {\n \"key\": \"510921\",\n \"value\": \"蓬溪县\"\n },\n {\n \"key\": \"510922\",\n \"value\": \"射洪县\"\n },\n {\n \"key\": \"510923\",\n \"value\": \"大英县\"\n }]\n },\n {\n \"key\": \"511000\",\n \"value\": \"内江市\",\n \"children\": [{\n \"key\": \"511002\",\n \"value\": \"市中区\"\n },\n {\n \"key\": \"511011\",\n \"value\": \"东兴区\"\n },\n {\n \"key\": \"511024\",\n \"value\": \"威远县\"\n },\n {\n \"key\": \"511025\",\n \"value\": \"资中县\"\n },\n {\n \"key\": \"511083\",\n \"value\": \"隆昌市\"\n }]\n },\n {\n \"key\": \"511100\",\n \"value\": \"乐山市\",\n \"children\": [{\n \"key\": \"511102\",\n \"value\": \"市中区\"\n },\n {\n \"key\": \"511111\",\n \"value\": \"沙湾区\"\n },\n {\n \"key\": \"511112\",\n \"value\": \"五通桥区\"\n },\n {\n \"key\": \"511113\",\n \"value\": \"金口河区\"\n },\n {\n \"key\": \"511123\",\n \"value\": \"犍为县\"\n },\n {\n \"key\": \"511124\",\n \"value\": \"井研县\"\n },\n {\n \"key\": \"511126\",\n \"value\": \"夹江县\"\n },\n {\n \"key\": \"511129\",\n \"value\": \"沐川县\"\n },\n {\n \"key\": \"511132\",\n \"value\": \"峨边彝族自治县\"\n },\n {\n \"key\": \"511133\",\n \"value\": \"马边彝族自治县\"\n },\n {\n \"key\": \"511181\",\n \"value\": \"峨眉山市\"\n }]\n },\n {\n \"key\": \"511300\",\n \"value\": \"南充市\",\n \"children\": [{\n \"key\": \"511302\",\n \"value\": \"顺庆区\"\n },\n {\n \"key\": \"511303\",\n \"value\": \"高坪区\"\n },\n {\n \"key\": \"511304\",\n \"value\": \"嘉陵区\"\n },\n {\n \"key\": \"511321\",\n \"value\": \"南部县\"\n },\n {\n \"key\": \"511322\",\n \"value\": \"营山县\"\n },\n {\n \"key\": \"511323\",\n \"value\": \"蓬安县\"\n },\n {\n \"key\": \"511324\",\n \"value\": \"仪陇县\"\n },\n {\n \"key\": \"511325\",\n \"value\": \"西充县\"\n },\n {\n \"key\": \"511381\",\n \"value\": \"阆中市\"\n }]\n },\n {\n \"key\": \"511400\",\n \"value\": \"眉山市\",\n \"children\": [{\n \"key\": \"511402\",\n \"value\": \"东坡区\"\n },\n {\n \"key\": \"511403\",\n \"value\": \"彭山区\"\n },\n {\n \"key\": \"511421\",\n \"value\": \"仁寿县\"\n },\n {\n \"key\": \"511423\",\n \"value\": \"洪雅县\"\n },\n {\n \"key\": \"511424\",\n \"value\": \"丹棱县\"\n },\n {\n \"key\": \"511425\",\n \"value\": \"青神县\"\n }]\n },\n {\n \"key\": \"511500\",\n \"value\": \"宜宾市\",\n \"children\": [{\n \"key\": \"511502\",\n \"value\": \"翠屏区\"\n },\n {\n \"key\": \"511503\",\n \"value\": \"南溪区\"\n },\n {\n \"key\": \"511521\",\n \"value\": \"宜宾县\"\n },\n {\n \"key\": \"511523\",\n \"value\": \"江安县\"\n },\n {\n \"key\": \"511524\",\n \"value\": \"长宁县\"\n },\n {\n \"key\": \"511525\",\n \"value\": \"高县\"\n },\n {\n \"key\": \"511526\",\n \"value\": \"珙县\"\n },\n {\n \"key\": \"511527\",\n \"value\": \"筠连县\"\n },\n {\n \"key\": \"511528\",\n \"value\": \"兴文县\"\n },\n {\n \"key\": \"511529\",\n \"value\": \"屏山县\"\n }]\n },\n {\n \"key\": \"511600\",\n \"value\": \"广安市\",\n \"children\": [{\n \"key\": \"511602\",\n \"value\": \"广安区\"\n },\n {\n \"key\": \"511603\",\n \"value\": \"前锋区\"\n },\n {\n \"key\": \"511621\",\n \"value\": \"岳池县\"\n },\n {\n \"key\": \"511622\",\n \"value\": \"武胜县\"\n },\n {\n \"key\": \"511623\",\n \"value\": \"邻水县\"\n },\n {\n \"key\": \"511681\",\n \"value\": \"华蓥市\"\n }]\n },\n {\n \"key\": \"511700\",\n \"value\": \"达州市\",\n \"children\": [{\n \"key\": \"511702\",\n \"value\": \"通川区\"\n },\n {\n \"key\": \"511703\",\n \"value\": \"达川区\"\n },\n {\n \"key\": \"511722\",\n \"value\": \"宣汉县\"\n },\n {\n \"key\": \"511723\",\n \"value\": \"开江县\"\n },\n {\n \"key\": \"511724\",\n \"value\": \"大竹县\"\n },\n {\n \"key\": \"511725\",\n \"value\": \"渠县\"\n },\n {\n \"key\": \"511781\",\n \"value\": \"万源市\"\n }]\n },\n {\n \"key\": \"511800\",\n \"value\": \"雅安市\",\n \"children\": [{\n \"key\": \"511802\",\n \"value\": \"雨城区\"\n },\n {\n \"key\": \"511803\",\n \"value\": \"名山区\"\n },\n {\n \"key\": \"511822\",\n \"value\": \"荥经县\"\n },\n {\n \"key\": \"511823\",\n \"value\": \"汉源县\"\n },\n {\n \"key\": \"511824\",\n \"value\": \"石棉县\"\n },\n {\n \"key\": \"511825\",\n \"value\": \"天全县\"\n },\n {\n \"key\": \"511826\",\n \"value\": \"芦山县\"\n },\n {\n \"key\": \"511827\",\n \"value\": \"宝兴县\"\n }]\n },\n {\n \"key\": \"511900\",\n \"value\": \"巴中市\",\n \"children\": [{\n \"key\": \"511902\",\n \"value\": \"巴州区\"\n },\n {\n \"key\": \"511903\",\n \"value\": \"恩阳区\"\n },\n {\n \"key\": \"511921\",\n \"value\": \"通江县\"\n },\n {\n \"key\": \"511922\",\n \"value\": \"南江县\"\n },\n {\n \"key\": \"511923\",\n \"value\": \"平昌县\"\n }]\n },\n {\n \"key\": \"512000\",\n \"value\": \"资阳市\",\n \"children\": [{\n \"key\": \"512002\",\n \"value\": \"雁江区\"\n },\n {\n \"key\": \"512021\",\n \"value\": \"安岳县\"\n },\n {\n \"key\": \"512022\",\n \"value\": \"乐至县\"\n }]\n },\n {\n \"key\": \"513200\",\n \"value\": \"阿坝藏族羌族自治州\",\n \"children\": [{\n \"key\": \"513201\",\n \"value\": \"马尔康市\"\n },\n {\n \"key\": \"513221\",\n \"value\": \"汶川县\"\n },\n {\n \"key\": \"513222\",\n \"value\": \"理县\"\n },\n {\n \"key\": \"513223\",\n \"value\": \"茂县\"\n },\n {\n \"key\": \"513224\",\n \"value\": \"松潘县\"\n },\n {\n \"key\": \"513225\",\n \"value\": \"九寨沟县\"\n },\n {\n \"key\": \"513226\",\n \"value\": \"金川县\"\n },\n {\n \"key\": \"513227\",\n \"value\": \"小金县\"\n },\n {\n \"key\": \"513228\",\n \"value\": \"黑水县\"\n },\n {\n \"key\": \"513230\",\n \"value\": \"壤塘县\"\n },\n {\n \"key\": \"513231\",\n \"value\": \"阿坝县\"\n },\n {\n \"key\": \"513232\",\n \"value\": \"若尔盖县\"\n },\n {\n \"key\": \"513233\",\n \"value\": \"红原县\"\n }]\n },\n {\n \"key\": \"513300\",\n \"value\": \"甘孜藏族自治州\",\n \"children\": [{\n \"key\": \"513301\",\n \"value\": \"康定市\"\n },\n {\n \"key\": \"513322\",\n \"value\": \"泸定县\"\n },\n {\n \"key\": \"513323\",\n \"value\": \"丹巴县\"\n },\n {\n \"key\": \"513324\",\n \"value\": \"九龙县\"\n },\n {\n \"key\": \"513325\",\n \"value\": \"雅江县\"\n },\n {\n \"key\": \"513326\",\n \"value\": \"道孚县\"\n },\n {\n \"key\": \"513327\",\n \"value\": \"炉霍县\"\n },\n {\n \"key\": \"513328\",\n \"value\": \"甘孜县\"\n },\n {\n \"key\": \"513329\",\n \"value\": \"新龙县\"\n },\n {\n \"key\": \"513330\",\n \"value\": \"德格县\"\n },\n {\n \"key\": \"513331\",\n \"value\": \"白玉县\"\n },\n {\n \"key\": \"513332\",\n \"value\": \"石渠县\"\n },\n {\n \"key\": \"513333\",\n \"value\": \"色达县\"\n },\n {\n \"key\": \"513334\",\n \"value\": \"理塘县\"\n },\n {\n \"key\": \"513335\",\n \"value\": \"巴塘县\"\n },\n {\n \"key\": \"513336\",\n \"value\": \"乡城县\"\n },\n {\n \"key\": \"513337\",\n \"value\": \"稻城县\"\n },\n {\n \"key\": \"513338\",\n \"value\": \"得荣县\"\n }]\n },\n {\n \"key\": \"513400\",\n \"value\": \"凉山彝族自治州\",\n \"children\": [{\n \"key\": \"513401\",\n \"value\": \"西昌市\"\n },\n {\n \"key\": \"513422\",\n \"value\": \"木里藏族自治县\"\n },\n {\n \"key\": \"513423\",\n \"value\": \"盐源县\"\n },\n {\n \"key\": \"513424\",\n \"value\": \"德昌县\"\n },\n {\n \"key\": \"513425\",\n \"value\": \"会理县\"\n },\n {\n \"key\": \"513426\",\n \"value\": \"会东县\"\n },\n {\n \"key\": \"513427\",\n \"value\": \"宁南县\"\n },\n {\n \"key\": \"513428\",\n \"value\": \"普格县\"\n },\n {\n \"key\": \"513429\",\n \"value\": \"布拖县\"\n },\n {\n \"key\": \"513430\",\n \"value\": \"金阳县\"\n },\n {\n \"key\": \"513431\",\n \"value\": \"昭觉县\"\n },\n {\n \"key\": \"513432\",\n \"value\": \"喜德县\"\n },\n {\n \"key\": \"513433\",\n \"value\": \"冕宁县\"\n },\n {\n \"key\": \"513434\",\n \"value\": \"越西县\"\n },\n {\n \"key\": \"513435\",\n \"value\": \"甘洛县\"\n },\n {\n \"key\": \"513436\",\n \"value\": \"美姑县\"\n },\n {\n \"key\": \"513437\",\n \"value\": \"雷波县\"\n }]\n }]\n},\n{\n \"key\": \"520000\",\n \"value\": \"贵州\",\n \"children\": [{\n \"key\": \"520100\",\n \"value\": \"贵阳市\",\n \"children\": [{\n \"key\": \"520102\",\n \"value\": \"南明区\"\n },\n {\n \"key\": \"520103\",\n \"value\": \"云岩区\"\n },\n {\n \"key\": \"520111\",\n \"value\": \"花溪区\"\n },\n {\n \"key\": \"520112\",\n \"value\": \"乌当区\"\n },\n {\n \"key\": \"520113\",\n \"value\": \"白云区\"\n },\n {\n \"key\": \"520115\",\n \"value\": \"观山湖区\"\n },\n {\n \"key\": \"520121\",\n \"value\": \"开阳县\"\n },\n {\n \"key\": \"520122\",\n \"value\": \"息烽县\"\n },\n {\n \"key\": \"520123\",\n \"value\": \"修文县\"\n },\n {\n \"key\": \"520181\",\n \"value\": \"清镇市\"\n }]\n },\n {\n \"key\": \"520200\",\n \"value\": \"六盘水市\",\n \"children\": [{\n \"key\": \"520201\",\n \"value\": \"钟山区\"\n },\n {\n \"key\": \"520203\",\n \"value\": \"六枝特区\"\n },\n {\n \"key\": \"520221\",\n \"value\": \"水城县\"\n },\n {\n \"key\": \"520281\",\n \"value\": \"盘州市\"\n }]\n },\n {\n \"key\": \"520300\",\n \"value\": \"遵义市\",\n \"children\": [{\n \"key\": \"520302\",\n \"value\": \"红花岗区\"\n },\n {\n \"key\": \"520303\",\n \"value\": \"汇川区\"\n },\n {\n \"key\": \"520304\",\n \"value\": \"播州区\"\n },\n {\n \"key\": \"520322\",\n \"value\": \"桐梓县\"\n },\n {\n \"key\": \"520323\",\n \"value\": \"绥阳县\"\n },\n {\n \"key\": \"520324\",\n \"value\": \"正安县\"\n },\n {\n \"key\": \"520325\",\n \"value\": \"道真仡佬族苗族自治县\"\n },\n {\n \"key\": \"520326\",\n \"value\": \"务川仡佬族苗族自治县\"\n },\n {\n \"key\": \"520327\",\n \"value\": \"凤冈县\"\n },\n {\n \"key\": \"520328\",\n \"value\": \"湄潭县\"\n },\n {\n \"key\": \"520329\",\n \"value\": \"余庆县\"\n },\n {\n \"key\": \"520330\",\n \"value\": \"习水县\"\n },\n {\n \"key\": \"520381\",\n \"value\": \"赤水市\"\n },\n {\n \"key\": \"520382\",\n \"value\": \"仁怀市\"\n }]\n },\n {\n \"key\": \"520400\",\n \"value\": \"安顺市\",\n \"children\": [{\n \"key\": \"520402\",\n \"value\": \"西秀区\"\n },\n {\n \"key\": \"520403\",\n \"value\": \"平坝区\"\n },\n {\n \"key\": \"520422\",\n \"value\": \"普定县\"\n },\n {\n \"key\": \"520423\",\n \"value\": \"镇宁布依族苗族自治县\"\n },\n {\n \"key\": \"520424\",\n \"value\": \"关岭布依族苗族自治县\"\n },\n {\n \"key\": \"520425\",\n \"value\": \"紫云苗族布依族自治县\"\n }]\n },\n {\n \"key\": \"520500\",\n \"value\": \"毕节市\",\n \"children\": [{\n \"key\": \"520502\",\n \"value\": \"七星关区\"\n },\n {\n \"key\": \"520521\",\n \"value\": \"大方县\"\n },\n {\n \"key\": \"520522\",\n \"value\": \"黔西县\"\n },\n {\n \"key\": \"520523\",\n \"value\": \"金沙县\"\n },\n {\n \"key\": \"520524\",\n \"value\": \"织金县\"\n },\n {\n \"key\": \"520525\",\n \"value\": \"纳雍县\"\n },\n {\n \"key\": \"520526\",\n \"value\": \"威宁彝族回族苗族自治县\"\n },\n {\n \"key\": \"520527\",\n \"value\": \"赫章县\"\n }]\n },\n {\n \"key\": \"520600\",\n \"value\": \"铜仁市\",\n \"children\": [{\n \"key\": \"520602\",\n \"value\": \"碧江区\"\n },\n {\n \"key\": \"520603\",\n \"value\": \"万山区\"\n },\n {\n \"key\": \"520621\",\n \"value\": \"江口县\"\n },\n {\n \"key\": \"520622\",\n \"value\": \"玉屏侗族自治县\"\n },\n {\n \"key\": \"520623\",\n \"value\": \"石阡县\"\n },\n {\n \"key\": \"520624\",\n \"value\": \"思南县\"\n },\n {\n \"key\": \"520625\",\n \"value\": \"印江土家族苗族自治县\"\n },\n {\n \"key\": \"520626\",\n \"value\": \"德江县\"\n },\n {\n \"key\": \"520627\",\n \"value\": \"沿河土家族自治县\"\n },\n {\n \"key\": \"520628\",\n \"value\": \"松桃苗族自治县\"\n }]\n },\n {\n \"key\": \"522300\",\n \"value\": \"黔西南布依族苗族自治州\",\n \"children\": [{\n \"key\": \"522301\",\n \"value\": \"兴义市\"\n },\n {\n \"key\": \"522322\",\n \"value\": \"兴仁县\"\n },\n {\n \"key\": \"522323\",\n \"value\": \"普安县\"\n },\n {\n \"key\": \"522324\",\n \"value\": \"晴隆县\"\n },\n {\n \"key\": \"522325\",\n \"value\": \"贞丰县\"\n },\n {\n \"key\": \"522326\",\n \"value\": \"望谟县\"\n },\n {\n \"key\": \"522327\",\n \"value\": \"册亨县\"\n },\n {\n \"key\": \"522328\",\n \"value\": \"安龙县\"\n }]\n },\n {\n \"key\": \"522600\",\n \"value\": \"黔东南苗族侗族自治州\",\n \"children\": [{\n \"key\": \"522601\",\n \"value\": \"凯里市\"\n },\n {\n \"key\": \"522622\",\n \"value\": \"黄平县\"\n },\n {\n \"key\": \"522623\",\n \"value\": \"施秉县\"\n },\n {\n \"key\": \"522624\",\n \"value\": \"三穗县\"\n },\n {\n \"key\": \"522625\",\n \"value\": \"镇远县\"\n },\n {\n \"key\": \"522626\",\n \"value\": \"岑巩县\"\n },\n {\n \"key\": \"522627\",\n \"value\": \"天柱县\"\n },\n {\n \"key\": \"522628\",\n \"value\": \"锦屏县\"\n },\n {\n \"key\": \"522629\",\n \"value\": \"剑河县\"\n },\n {\n \"key\": \"522630\",\n \"value\": \"台江县\"\n },\n {\n \"key\": \"522631\",\n \"value\": \"黎平县\"\n },\n {\n \"key\": \"522632\",\n \"value\": \"榕江县\"\n },\n {\n \"key\": \"522633\",\n \"value\": \"从江县\"\n },\n {\n \"key\": \"522634\",\n \"value\": \"雷山县\"\n },\n {\n \"key\": \"522635\",\n \"value\": \"麻江县\"\n },\n {\n \"key\": \"522636\",\n \"value\": \"丹寨县\"\n }]\n },\n {\n \"key\": \"522700\",\n \"value\": \"黔南布依族苗族自治州\",\n \"children\": [{\n \"key\": \"522701\",\n \"value\": \"都匀市\"\n },\n {\n \"key\": \"522702\",\n \"value\": \"福泉市\"\n },\n {\n \"key\": \"522722\",\n \"value\": \"荔波县\"\n },\n {\n \"key\": \"522723\",\n \"value\": \"贵定县\"\n },\n {\n \"key\": \"522725\",\n \"value\": \"瓮安县\"\n },\n {\n \"key\": \"522726\",\n \"value\": \"独山县\"\n },\n {\n \"key\": \"522727\",\n \"value\": \"平塘县\"\n },\n {\n \"key\": \"522728\",\n \"value\": \"罗甸县\"\n },\n {\n \"key\": \"522729\",\n \"value\": \"长顺县\"\n },\n {\n \"key\": \"522730\",\n \"value\": \"龙里县\"\n },\n {\n \"key\": \"522731\",\n \"value\": \"惠水县\"\n },\n {\n \"key\": \"522732\",\n \"value\": \"三都水族自治县\"\n }]\n }]\n},\n{\n \"key\": \"530000\",\n \"value\": \"云南\",\n \"children\": [{\n \"key\": \"530100\",\n \"value\": \"昆明市\",\n \"children\": [{\n \"key\": \"530102\",\n \"value\": \"五华区\"\n },\n {\n \"key\": \"530103\",\n \"value\": \"盘龙区\"\n },\n {\n \"key\": \"530111\",\n \"value\": \"官渡区\"\n },\n {\n \"key\": \"530112\",\n \"value\": \"西山区\"\n },\n {\n \"key\": \"530113\",\n \"value\": \"东川区\"\n },\n {\n \"key\": \"530114\",\n \"value\": \"呈贡区\"\n },\n {\n \"key\": \"530115\",\n \"value\": \"晋宁区\"\n },\n {\n \"key\": \"530124\",\n \"value\": \"富民县\"\n },\n {\n \"key\": \"530125\",\n \"value\": \"宜良县\"\n },\n {\n \"key\": \"530126\",\n \"value\": \"石林彝族自治县\"\n },\n {\n \"key\": \"530127\",\n \"value\": \"嵩明县\"\n },\n {\n \"key\": \"530128\",\n \"value\": \"禄劝彝族苗族自治县\"\n },\n {\n \"key\": \"530129\",\n \"value\": \"寻甸回族彝族自治县\"\n },\n {\n \"key\": \"530181\",\n \"value\": \"安宁市\"\n }]\n },\n {\n \"key\": \"530300\",\n \"value\": \"曲靖市\",\n \"children\": [{\n \"key\": \"530302\",\n \"value\": \"麒麟区\"\n },\n {\n \"key\": \"530303\",\n \"value\": \"沾益区\"\n },\n {\n \"key\": \"530304\",\n \"value\": \"马龙区\"\n },\n {\n \"key\": \"530322\",\n \"value\": \"陆良县\"\n },\n {\n \"key\": \"530323\",\n \"value\": \"师宗县\"\n },\n {\n \"key\": \"530324\",\n \"value\": \"罗平县\"\n },\n {\n \"key\": \"530325\",\n \"value\": \"富源县\"\n },\n {\n \"key\": \"530326\",\n \"value\": \"会泽县\"\n },\n {\n \"key\": \"530381\",\n \"value\": \"宣威市\"\n }]\n },\n {\n \"key\": \"530400\",\n \"value\": \"玉溪市\",\n \"children\": [{\n \"key\": \"530402\",\n \"value\": \"红塔区\"\n },\n {\n \"key\": \"530403\",\n \"value\": \"江川区\"\n },\n {\n \"key\": \"530422\",\n \"value\": \"澄江县\"\n },\n {\n \"key\": \"530423\",\n \"value\": \"通海县\"\n },\n {\n \"key\": \"530424\",\n \"value\": \"华宁县\"\n },\n {\n \"key\": \"530425\",\n \"value\": \"易门县\"\n },\n {\n \"key\": \"530426\",\n \"value\": \"峨山彝族自治县\"\n },\n {\n \"key\": \"530427\",\n \"value\": \"新平彝族傣族自治县\"\n },\n {\n \"key\": \"530428\",\n \"value\": \"元江哈尼族彝族傣族自治县\"\n }]\n },\n {\n \"key\": \"530500\",\n \"value\": \"保山市\",\n \"children\": [{\n \"key\": \"530502\",\n \"value\": \"隆阳区\"\n },\n {\n \"key\": \"530521\",\n \"value\": \"施甸县\"\n },\n {\n \"key\": \"530523\",\n \"value\": \"龙陵县\"\n },\n {\n \"key\": \"530524\",\n \"value\": \"昌宁县\"\n },\n {\n \"key\": \"530581\",\n \"value\": \"腾冲市\"\n }]\n },\n {\n \"key\": \"530600\",\n \"value\": \"昭通市\",\n \"children\": [{\n \"key\": \"530602\",\n \"value\": \"昭阳区\"\n },\n {\n \"key\": \"530621\",\n \"value\": \"鲁甸县\"\n },\n {\n \"key\": \"530622\",\n \"value\": \"巧家县\"\n },\n {\n \"key\": \"530623\",\n \"value\": \"盐津县\"\n },\n {\n \"key\": \"530624\",\n \"value\": \"大关县\"\n },\n {\n \"key\": \"530625\",\n \"value\": \"永善县\"\n },\n {\n \"key\": \"530626\",\n \"value\": \"绥江县\"\n },\n {\n \"key\": \"530627\",\n \"value\": \"镇雄县\"\n },\n {\n \"key\": \"530628\",\n \"value\": \"彝良县\"\n },\n {\n \"key\": \"530629\",\n \"value\": \"威信县\"\n },\n {\n \"key\": \"530681\",\n \"value\": \"水富市\"\n }]\n },\n {\n \"key\": \"530700\",\n \"value\": \"丽江市\",\n \"children\": [{\n \"key\": \"530702\",\n \"value\": \"古城区\"\n },\n {\n \"key\": \"530721\",\n \"value\": \"玉龙纳西族自治县\"\n },\n {\n \"key\": \"530722\",\n \"value\": \"永胜县\"\n },\n {\n \"key\": \"530723\",\n \"value\": \"华坪县\"\n },\n {\n \"key\": \"530724\",\n \"value\": \"宁蒗彝族自治县\"\n }]\n },\n {\n \"key\": \"530800\",\n \"value\": \"普洱市\",\n \"children\": [{\n \"key\": \"530802\",\n \"value\": \"思茅区\"\n },\n {\n \"key\": \"530821\",\n \"value\": \"宁洱哈尼族彝族自治县\"\n },\n {\n \"key\": \"530822\",\n \"value\": \"墨江哈尼族自治县\"\n },\n {\n \"key\": \"530823\",\n \"value\": \"景东彝族自治县\"\n },\n {\n \"key\": \"530824\",\n \"value\": \"景谷傣族彝族自治县\"\n },\n {\n \"key\": \"530825\",\n \"value\": \"镇沅彝族哈尼族拉祜族自治县\"\n },\n {\n \"key\": \"530826\",\n \"value\": \"江城哈尼族彝族自治县\"\n },\n {\n \"key\": \"530827\",\n \"value\": \"孟连傣族拉祜族佤族自治县\"\n },\n {\n \"key\": \"530828\",\n \"value\": \"澜沧拉祜族自治县\"\n },\n {\n \"key\": \"530829\",\n \"value\": \"西盟佤族自治县\"\n }]\n },\n {\n \"key\": \"530900\",\n \"value\": \"临沧市\",\n \"children\": [{\n \"key\": \"530902\",\n \"value\": \"临翔区\"\n },\n {\n \"key\": \"530921\",\n \"value\": \"凤庆县\"\n },\n {\n \"key\": \"530922\",\n \"value\": \"云县\"\n },\n {\n \"key\": \"530923\",\n \"value\": \"永德县\"\n },\n {\n \"key\": \"530924\",\n \"value\": \"镇康县\"\n },\n {\n \"key\": \"530925\",\n \"value\": \"双江拉祜族佤族布朗族傣族自治县\"\n },\n {\n \"key\": \"530926\",\n \"value\": \"耿马傣族佤族自治县\"\n },\n {\n \"key\": \"530927\",\n \"value\": \"沧源佤族自治县\"\n }]\n },\n {\n \"key\": \"532300\",\n \"value\": \"楚雄彝族自治州\",\n \"children\": [{\n \"key\": \"532301\",\n \"value\": \"楚雄市\"\n },\n {\n \"key\": \"532322\",\n \"value\": \"双柏县\"\n },\n {\n \"key\": \"532323\",\n \"value\": \"牟定县\"\n },\n {\n \"key\": \"532324\",\n \"value\": \"南华县\"\n },\n {\n \"key\": \"532325\",\n \"value\": \"姚安县\"\n },\n {\n \"key\": \"532326\",\n \"value\": \"大姚县\"\n },\n {\n \"key\": \"532327\",\n \"value\": \"永仁县\"\n },\n {\n \"key\": \"532328\",\n \"value\": \"元谋县\"\n },\n {\n \"key\": \"532329\",\n \"value\": \"武定县\"\n },\n {\n \"key\": \"532331\",\n \"value\": \"禄丰县\"\n }]\n },\n {\n \"key\": \"532500\",\n \"value\": \"红河哈尼族彝族自治州\",\n \"children\": [{\n \"key\": \"532501\",\n \"value\": \"个旧市\"\n },\n {\n \"key\": \"532502\",\n \"value\": \"开远市\"\n },\n {\n \"key\": \"532503\",\n \"value\": \"蒙自市\"\n },\n {\n \"key\": \"532504\",\n \"value\": \"弥勒市\"\n },\n {\n \"key\": \"532523\",\n \"value\": \"屏边苗族自治县\"\n },\n {\n \"key\": \"532524\",\n \"value\": \"建水县\"\n },\n {\n \"key\": \"532525\",\n \"value\": \"石屏县\"\n },\n {\n \"key\": \"532527\",\n \"value\": \"泸西县\"\n },\n {\n \"key\": \"532528\",\n \"value\": \"元阳县\"\n },\n {\n \"key\": \"532529\",\n \"value\": \"红河县\"\n },\n {\n \"key\": \"532530\",\n \"value\": \"金平苗族瑶族傣族自治县\"\n },\n {\n \"key\": \"532531\",\n \"value\": \"绿春县\"\n },\n {\n \"key\": \"532532\",\n \"value\": \"河口瑶族自治县\"\n }]\n },\n {\n \"key\": \"532600\",\n \"value\": \"文山壮族苗族自治州\",\n \"children\": [{\n \"key\": \"532601\",\n \"value\": \"文山市\"\n },\n {\n \"key\": \"532622\",\n \"value\": \"砚山县\"\n },\n {\n \"key\": \"532623\",\n \"value\": \"西畴县\"\n },\n {\n \"key\": \"532624\",\n \"value\": \"麻栗坡县\"\n },\n {\n \"key\": \"532625\",\n \"value\": \"马关县\"\n },\n {\n \"key\": \"532626\",\n \"value\": \"丘北县\"\n },\n {\n \"key\": \"532627\",\n \"value\": \"广南县\"\n },\n {\n \"key\": \"532628\",\n \"value\": \"富宁县\"\n }]\n },\n {\n \"key\": \"532800\",\n \"value\": \"西双版纳傣族自治州\",\n \"children\": [{\n \"key\": \"532801\",\n \"value\": \"景洪市\"\n },\n {\n \"key\": \"532822\",\n \"value\": \"勐海县\"\n },\n {\n \"key\": \"532823\",\n \"value\": \"勐腊县\"\n }]\n },\n {\n \"key\": \"532900\",\n \"value\": \"大理白族自治州\",\n \"children\": [{\n \"key\": \"532901\",\n \"value\": \"大理市\"\n },\n {\n \"key\": \"532922\",\n \"value\": \"漾濞彝族自治县\"\n },\n {\n \"key\": \"532923\",\n \"value\": \"祥云县\"\n },\n {\n \"key\": \"532924\",\n \"value\": \"宾川县\"\n },\n {\n \"key\": \"532925\",\n \"value\": \"弥渡县\"\n },\n {\n \"key\": \"532926\",\n \"value\": \"南涧彝族自治县\"\n },\n {\n \"key\": \"532927\",\n \"value\": \"巍山彝族回族自治县\"\n },\n {\n \"key\": \"532928\",\n \"value\": \"永平县\"\n },\n {\n \"key\": \"532929\",\n \"value\": \"云龙县\"\n },\n {\n \"key\": \"532930\",\n \"value\": \"洱源县\"\n },\n {\n \"key\": \"532931\",\n \"value\": \"剑川县\"\n },\n {\n \"key\": \"532932\",\n \"value\": \"鹤庆县\"\n }]\n },\n {\n \"key\": \"533100\",\n \"value\": \"德宏傣族景颇族自治州\",\n \"children\": [{\n \"key\": \"533102\",\n \"value\": \"瑞丽市\"\n },\n {\n \"key\": \"533103\",\n \"value\": \"芒市\"\n },\n {\n \"key\": \"533122\",\n \"value\": \"梁河县\"\n },\n {\n \"key\": \"533123\",\n \"value\": \"盈江县\"\n },\n {\n \"key\": \"533124\",\n \"value\": \"陇川县\"\n }]\n },\n {\n \"key\": \"533300\",\n \"value\": \"怒江傈僳族自治州\",\n \"children\": [{\n \"key\": \"533301\",\n \"value\": \"泸水市\"\n },\n {\n \"key\": \"533323\",\n \"value\": \"福贡县\"\n },\n {\n \"key\": \"533324\",\n \"value\": \"贡山独龙族怒族自治县\"\n },\n {\n \"key\": \"533325\",\n \"value\": \"兰坪白族普米族自治县\"\n }]\n },\n {\n \"key\": \"533400\",\n \"value\": \"迪庆藏族自治州\",\n \"children\": [{\n \"key\": \"533401\",\n \"value\": \"香格里拉市\"\n },\n {\n \"key\": \"533422\",\n \"value\": \"德钦县\"\n },\n {\n \"key\": \"533423\",\n \"value\": \"维西傈僳族自治县\"\n }]\n }]\n},\n{\n \"key\": \"540000\",\n \"value\": \"西藏\",\n \"children\": [{\n \"key\": \"540100\",\n \"value\": \"拉萨市\",\n \"children\": [{\n \"key\": \"540102\",\n \"value\": \"城关区\"\n },\n {\n \"key\": \"540103\",\n \"value\": \"堆龙德庆区\"\n },\n {\n \"key\": \"540104\",\n \"value\": \"达孜区\"\n },\n {\n \"key\": \"540121\",\n \"value\": \"林周县\"\n },\n {\n \"key\": \"540122\",\n \"value\": \"当雄县\"\n },\n {\n \"key\": \"540123\",\n \"value\": \"尼木县\"\n },\n {\n \"key\": \"540124\",\n \"value\": \"曲水县\"\n },\n {\n \"key\": \"540127\",\n \"value\": \"墨竹工卡县\"\n }]\n },\n {\n \"key\": \"540200\",\n \"value\": \"日喀则市\",\n \"children\": [{\n \"key\": \"540202\",\n \"value\": \"桑珠孜区\"\n },\n {\n \"key\": \"540221\",\n \"value\": \"南木林县\"\n },\n {\n \"key\": \"540222\",\n \"value\": \"江孜县\"\n },\n {\n \"key\": \"540223\",\n \"value\": \"定日县\"\n },\n {\n \"key\": \"540224\",\n \"value\": \"萨迦县\"\n },\n {\n \"key\": \"540225\",\n \"value\": \"拉孜县\"\n },\n {\n \"key\": \"540226\",\n \"value\": \"昂仁县\"\n },\n {\n \"key\": \"540227\",\n \"value\": \"谢通门县\"\n },\n {\n \"key\": \"540228\",\n \"value\": \"白朗县\"\n },\n {\n \"key\": \"540229\",\n \"value\": \"仁布县\"\n },\n {\n \"key\": \"540230\",\n \"value\": \"康马县\"\n },\n {\n \"key\": \"540231\",\n \"value\": \"定结县\"\n },\n {\n \"key\": \"540232\",\n \"value\": \"仲巴县\"\n },\n {\n \"key\": \"540233\",\n \"value\": \"亚东县\"\n },\n {\n \"key\": \"540234\",\n \"value\": \"吉隆县\"\n },\n {\n \"key\": \"540235\",\n \"value\": \"聂拉木县\"\n },\n {\n \"key\": \"540236\",\n \"value\": \"萨嘎县\"\n },\n {\n \"key\": \"540237\",\n \"value\": \"岗巴县\"\n }]\n },\n {\n \"key\": \"540300\",\n \"value\": \"昌都市\",\n \"children\": [{\n \"key\": \"540302\",\n \"value\": \"卡若区\"\n },\n {\n \"key\": \"540321\",\n \"value\": \"江达县\"\n },\n {\n \"key\": \"540322\",\n \"value\": \"贡觉县\"\n },\n {\n \"key\": \"540323\",\n \"value\": \"类乌齐县\"\n },\n {\n \"key\": \"540324\",\n \"value\": \"丁青县\"\n },\n {\n \"key\": \"540325\",\n \"value\": \"察雅县\"\n },\n {\n \"key\": \"540326\",\n \"value\": \"八宿县\"\n },\n {\n \"key\": \"540327\",\n \"value\": \"左贡县\"\n },\n {\n \"key\": \"540328\",\n \"value\": \"芒康县\"\n },\n {\n \"key\": \"540329\",\n \"value\": \"洛隆县\"\n },\n {\n \"key\": \"540330\",\n \"value\": \"边坝县\"\n }]\n },\n {\n \"key\": \"540400\",\n \"value\": \"林芝市\",\n \"children\": [{\n \"key\": \"540402\",\n \"value\": \"巴宜区\"\n },\n {\n \"key\": \"540421\",\n \"value\": \"工布江达县\"\n },\n {\n \"key\": \"540422\",\n \"value\": \"米林县\"\n },\n {\n \"key\": \"540423\",\n \"value\": \"墨脱县\"\n },\n {\n \"key\": \"540424\",\n \"value\": \"波密县\"\n },\n {\n \"key\": \"540425\",\n \"value\": \"察隅县\"\n },\n {\n \"key\": \"540426\",\n \"value\": \"朗县\"\n }]\n },\n {\n \"key\": \"540500\",\n \"value\": \"山南市\",\n \"children\": [{\n \"key\": \"540502\",\n \"value\": \"乃东县\"\n },\n {\n \"key\": \"540521\",\n \"value\": \"扎囊县\"\n },\n {\n \"key\": \"540522\",\n \"value\": \"贡嘎县\"\n },\n {\n \"key\": \"540523\",\n \"value\": \"桑日县\"\n },\n {\n \"key\": \"540524\",\n \"value\": \"琼结县\"\n },\n {\n \"key\": \"540525\",\n \"value\": \"曲松县\"\n },\n {\n \"key\": \"540526\",\n \"value\": \"措美县\"\n },\n {\n \"key\": \"540527\",\n \"value\": \"洛扎县\"\n },\n {\n \"key\": \"540528\",\n \"value\": \"加查县\"\n },\n {\n \"key\": \"540529\",\n \"value\": \"隆子县\"\n },\n {\n \"key\": \"540530\",\n \"value\": \"错那县\"\n },\n {\n \"key\": \"540531\",\n \"value\": \"浪卡子县\"\n }]\n },\n {\n \"key\": \"540600\",\n \"value\": \"那曲市\",\n \"children\": [{\n \"key\": \"540602\",\n \"value\": \"色尼区\"\n },\n {\n \"key\": \"540621\",\n \"value\": \"嘉黎县\"\n },\n {\n \"key\": \"540622\",\n \"value\": \"比如县\"\n },\n {\n \"key\": \"540623\",\n \"value\": \"聂荣县\"\n },\n {\n \"key\": \"540624\",\n \"value\": \"安多县\"\n },\n {\n \"key\": \"540625\",\n \"value\": \"申扎县\"\n },\n {\n \"key\": \"540626\",\n \"value\": \"索县\"\n },\n {\n \"key\": \"540627\",\n \"value\": \"班戈县\"\n },\n {\n \"key\": \"540628\",\n \"value\": \"巴青县\"\n },\n {\n \"key\": \"540629\",\n \"value\": \"尼玛县\"\n },\n {\n \"key\": \"540630\",\n \"value\": \"双湖县\"\n }]\n },\n {\n \"key\": \"542500\",\n \"value\": \"阿里地区\",\n \"children\": [{\n \"key\": \"542521\",\n \"value\": \"普兰县\"\n },\n {\n \"key\": \"542522\",\n \"value\": \"札达县\"\n },\n {\n \"key\": \"542523\",\n \"value\": \"噶尔县\"\n },\n {\n \"key\": \"542524\",\n \"value\": \"日土县\"\n },\n {\n \"key\": \"542525\",\n \"value\": \"革吉县\"\n },\n {\n \"key\": \"542526\",\n \"value\": \"改则县\"\n },\n {\n \"key\": \"542527\",\n \"value\": \"措勤县\"\n }]\n }]\n},\n{\n \"key\": \"610000\",\n \"value\": \"陕西\",\n \"children\": [{\n \"key\": \"610100\",\n \"value\": \"西安市\",\n \"children\": [{\n \"key\": \"610102\",\n \"value\": \"新城区\"\n },\n {\n \"key\": \"610103\",\n \"value\": \"碑林区\"\n },\n {\n \"key\": \"610104\",\n \"value\": \"莲湖区\"\n },\n {\n \"key\": \"610111\",\n \"value\": \"灞桥区\"\n },\n {\n \"key\": \"610112\",\n \"value\": \"未央区\"\n },\n {\n \"key\": \"610113\",\n \"value\": \"雁塔区\"\n },\n {\n \"key\": \"610114\",\n \"value\": \"阎良区\"\n },\n {\n \"key\": \"610115\",\n \"value\": \"临潼区\"\n },\n {\n \"key\": \"610116\",\n \"value\": \"长安区\"\n },\n {\n \"key\": \"610117\",\n \"value\": \"高陵区\"\n },\n {\n \"key\": \"610118\",\n \"value\": \"鄠邑区\"\n },\n {\n \"key\": \"610122\",\n \"value\": \"蓝田县\"\n },\n {\n \"key\": \"610124\",\n \"value\": \"周至县\"\n }]\n },\n {\n \"key\": \"610200\",\n \"value\": \"铜川市\",\n \"children\": [{\n \"key\": \"610202\",\n \"value\": \"王益区\"\n },\n {\n \"key\": \"610203\",\n \"value\": \"印台区\"\n },\n {\n \"key\": \"610204\",\n \"value\": \"耀州区\"\n },\n {\n \"key\": \"610222\",\n \"value\": \"宜君县\"\n }]\n },\n {\n \"key\": \"610300\",\n \"value\": \"宝鸡市\",\n \"children\": [{\n \"key\": \"610302\",\n \"value\": \"渭滨区\"\n },\n {\n \"key\": \"610303\",\n \"value\": \"金台区\"\n },\n {\n \"key\": \"610304\",\n \"value\": \"陈仓区\"\n },\n {\n \"key\": \"610322\",\n \"value\": \"凤翔县\"\n },\n {\n \"key\": \"610323\",\n \"value\": \"岐山县\"\n },\n {\n \"key\": \"610324\",\n \"value\": \"扶风县\"\n },\n {\n \"key\": \"610326\",\n \"value\": \"眉县\"\n },\n {\n \"key\": \"610327\",\n \"value\": \"陇县\"\n },\n {\n \"key\": \"610328\",\n \"value\": \"千阳县\"\n },\n {\n \"key\": \"610329\",\n \"value\": \"麟游县\"\n },\n {\n \"key\": \"610330\",\n \"value\": \"凤县\"\n },\n {\n \"key\": \"610331\",\n \"value\": \"太白县\"\n }]\n },\n {\n \"key\": \"610400\",\n \"value\": \"咸阳市\",\n \"children\": [{\n \"key\": \"610402\",\n \"value\": \"秦都区\"\n },\n {\n \"key\": \"610403\",\n \"value\": \"杨陵区\"\n },\n {\n \"key\": \"610404\",\n \"value\": \"渭城区\"\n },\n {\n \"key\": \"610422\",\n \"value\": \"三原县\"\n },\n {\n \"key\": \"610423\",\n \"value\": \"泾阳县\"\n },\n {\n \"key\": \"610424\",\n \"value\": \"乾县\"\n },\n {\n \"key\": \"610425\",\n \"value\": \"礼泉县\"\n },\n {\n \"key\": \"610426\",\n \"value\": \"永寿县\"\n },\n {\n \"key\": \"610428\",\n \"value\": \"长武县\"\n },\n {\n \"key\": \"610429\",\n \"value\": \"旬邑县\"\n },\n {\n \"key\": \"610430\",\n \"value\": \"淳化县\"\n },\n {\n \"key\": \"610431\",\n \"value\": \"武功县\"\n },\n {\n \"key\": \"610481\",\n \"value\": \"兴平市\"\n },\n {\n \"key\": \"610482\",\n \"value\": \"彬州市\"\n }]\n },\n {\n \"key\": \"610500\",\n \"value\": \"渭南市\",\n \"children\": [{\n \"key\": \"610502\",\n \"value\": \"临渭区\"\n },\n {\n \"key\": \"610503\",\n \"value\": \"华州区\"\n },\n {\n \"key\": \"610522\",\n \"value\": \"潼关县\"\n },\n {\n \"key\": \"610523\",\n \"value\": \"大荔县\"\n },\n {\n \"key\": \"610524\",\n \"value\": \"合阳县\"\n },\n {\n \"key\": \"610525\",\n \"value\": \"澄城县\"\n },\n {\n \"key\": \"610526\",\n \"value\": \"蒲城县\"\n },\n {\n \"key\": \"610527\",\n \"value\": \"白水县\"\n },\n {\n \"key\": \"610528\",\n \"value\": \"富平县\"\n },\n {\n \"key\": \"610581\",\n \"value\": \"韩城市\"\n },\n {\n \"key\": \"610582\",\n \"value\": \"华阴市\"\n }]\n },\n {\n \"key\": \"610600\",\n \"value\": \"延安市\",\n \"children\": [{\n \"key\": \"610602\",\n \"value\": \"宝塔区\"\n },\n {\n \"key\": \"610603\",\n \"value\": \"安塞区\"\n },\n {\n \"key\": \"610621\",\n \"value\": \"延长县\"\n },\n {\n \"key\": \"610622\",\n \"value\": \"延川县\"\n },\n {\n \"key\": \"610623\",\n \"value\": \"子长县\"\n },\n {\n \"key\": \"610625\",\n \"value\": \"志丹县\"\n },\n {\n \"key\": \"610626\",\n \"value\": \"吴起县\"\n },\n {\n \"key\": \"610627\",\n \"value\": \"甘泉县\"\n },\n {\n \"key\": \"610628\",\n \"value\": \"富县\"\n },\n {\n \"key\": \"610629\",\n \"value\": \"洛川县\"\n },\n {\n \"key\": \"610630\",\n \"value\": \"宜川县\"\n },\n {\n \"key\": \"610631\",\n \"value\": \"黄龙县\"\n },\n {\n \"key\": \"610632\",\n \"value\": \"黄陵县\"\n }]\n },\n {\n \"key\": \"610700\",\n \"value\": \"汉中市\",\n \"children\": [{\n \"key\": \"610702\",\n \"value\": \"汉台区\"\n },\n {\n \"key\": \"610703\",\n \"value\": \"南郑区\"\n },\n {\n \"key\": \"610722\",\n \"value\": \"城固县\"\n },\n {\n \"key\": \"610723\",\n \"value\": \"洋县\"\n },\n {\n \"key\": \"610724\",\n \"value\": \"西乡县\"\n },\n {\n \"key\": \"610725\",\n \"value\": \"勉县\"\n },\n {\n \"key\": \"610726\",\n \"value\": \"宁强县\"\n },\n {\n \"key\": \"610727\",\n \"value\": \"略阳县\"\n },\n {\n \"key\": \"610728\",\n \"value\": \"镇巴县\"\n },\n {\n \"key\": \"610729\",\n \"value\": \"留坝县\"\n },\n {\n \"key\": \"610730\",\n \"value\": \"佛坪县\"\n }]\n },\n {\n \"key\": \"610800\",\n \"value\": \"榆林市\",\n \"children\": [{\n \"key\": \"610802\",\n \"value\": \"榆阳区\"\n },\n {\n \"key\": \"610803\",\n \"value\": \"横山区\"\n },\n {\n \"key\": \"610822\",\n \"value\": \"府谷县\"\n },\n {\n \"key\": \"610824\",\n \"value\": \"靖边县\"\n },\n {\n \"key\": \"610825\",\n \"value\": \"定边县\"\n },\n {\n \"key\": \"610826\",\n \"value\": \"绥德县\"\n },\n {\n \"key\": \"610827\",\n \"value\": \"米脂县\"\n },\n {\n \"key\": \"610828\",\n \"value\": \"佳县\"\n },\n {\n \"key\": \"610829\",\n \"value\": \"吴堡县\"\n },\n {\n \"key\": \"610830\",\n \"value\": \"清涧县\"\n },\n {\n \"key\": \"610831\",\n \"value\": \"子洲县\"\n },\n {\n \"key\": \"610881\",\n \"value\": \"神木市\"\n }]\n },\n {\n \"key\": \"610900\",\n \"value\": \"安康市\",\n \"children\": [{\n \"key\": \"610902\",\n \"value\": \"汉滨区\"\n },\n {\n \"key\": \"610921\",\n \"value\": \"汉阴县\"\n },\n {\n \"key\": \"610922\",\n \"value\": \"石泉县\"\n },\n {\n \"key\": \"610923\",\n \"value\": \"宁陕县\"\n },\n {\n \"key\": \"610924\",\n \"value\": \"紫阳县\"\n },\n {\n \"key\": \"610925\",\n \"value\": \"岚皋县\"\n },\n {\n \"key\": \"610926\",\n \"value\": \"平利县\"\n },\n {\n \"key\": \"610927\",\n \"value\": \"镇坪县\"\n },\n {\n \"key\": \"610928\",\n \"value\": \"旬阳县\"\n },\n {\n \"key\": \"610929\",\n \"value\": \"白河县\"\n }]\n },\n {\n \"key\": \"611000\",\n \"value\": \"商洛市\",\n \"children\": [{\n \"key\": \"611002\",\n \"value\": \"商州区\"\n },\n {\n \"key\": \"611021\",\n \"value\": \"洛南县\"\n },\n {\n \"key\": \"611022\",\n \"value\": \"丹凤县\"\n },\n {\n \"key\": \"611023\",\n \"value\": \"商南县\"\n },\n {\n \"key\": \"611024\",\n \"value\": \"山阳县\"\n },\n {\n \"key\": \"611025\",\n \"value\": \"镇安县\"\n },\n {\n \"key\": \"611026\",\n \"value\": \"柞水县\"\n }]\n }]\n},\n{\n \"key\": \"620000\",\n \"value\": \"甘肃\",\n \"children\": [{\n \"key\": \"620100\",\n \"value\": \"兰州市\",\n \"children\": [{\n \"key\": \"620102\",\n \"value\": \"城关区\"\n },\n {\n \"key\": \"620103\",\n \"value\": \"七里河区\"\n },\n {\n \"key\": \"620104\",\n \"value\": \"西固区\"\n },\n {\n \"key\": \"620105\",\n \"value\": \"安宁区\"\n },\n {\n \"key\": \"620111\",\n \"value\": \"红古区\"\n },\n {\n \"key\": \"620121\",\n \"value\": \"永登县\"\n },\n {\n \"key\": \"620122\",\n \"value\": \"皋兰县\"\n },\n {\n \"key\": \"620123\",\n \"value\": \"榆中县\"\n }]\n },\n {\n \"key\": \"620200\",\n \"value\": \"嘉峪关市\",\n \"children\": [{\n \"key\": \"620201\",\n \"value\": \"峪泉镇\"\n },\n {\n \"key\": \"620202\",\n \"value\": \"文殊镇\"\n },\n {\n \"key\": \"620203\",\n \"value\": \"新城镇\"\n }]\n },\n {\n \"key\": \"620300\",\n \"value\": \"金昌市\",\n \"children\": [{\n \"key\": \"620302\",\n \"value\": \"金川区\"\n },\n {\n \"key\": \"620321\",\n \"value\": \"永昌县\"\n }]\n },\n {\n \"key\": \"620400\",\n \"value\": \"白银市\",\n \"children\": [{\n \"key\": \"620402\",\n \"value\": \"白银区\"\n },\n {\n \"key\": \"620403\",\n \"value\": \"平川区\"\n },\n {\n \"key\": \"620421\",\n \"value\": \"靖远县\"\n },\n {\n \"key\": \"620422\",\n \"value\": \"会宁县\"\n },\n {\n \"key\": \"620423\",\n \"value\": \"景泰县\"\n }]\n },\n {\n \"key\": \"620500\",\n \"value\": \"天水市\",\n \"children\": [{\n \"key\": \"620502\",\n \"value\": \"秦州区\"\n },\n {\n \"key\": \"620503\",\n \"value\": \"麦积区\"\n },\n {\n \"key\": \"620521\",\n \"value\": \"清水县\"\n },\n {\n \"key\": \"620522\",\n \"value\": \"秦安县\"\n },\n {\n \"key\": \"620523\",\n \"value\": \"甘谷县\"\n },\n {\n \"key\": \"620524\",\n \"value\": \"武山县\"\n },\n {\n \"key\": \"620525\",\n \"value\": \"张家川回族自治县\"\n }]\n },\n {\n \"key\": \"620600\",\n \"value\": \"武威市\",\n \"children\": [{\n \"key\": \"620602\",\n \"value\": \"凉州区\"\n },\n {\n \"key\": \"620621\",\n \"value\": \"民勤县\"\n },\n {\n \"key\": \"620622\",\n \"value\": \"古浪县\"\n },\n {\n \"key\": \"620623\",\n \"value\": \"天祝藏族自治县\"\n }]\n },\n {\n \"key\": \"620700\",\n \"value\": \"张掖市\",\n \"children\": [{\n \"key\": \"620702\",\n \"value\": \"甘州区\"\n },\n {\n \"key\": \"620721\",\n \"value\": \"肃南裕固族自治县\"\n },\n {\n \"key\": \"620722\",\n \"value\": \"民乐县\"\n },\n {\n \"key\": \"620723\",\n \"value\": \"临泽县\"\n },\n {\n \"key\": \"620724\",\n \"value\": \"高台县\"\n },\n {\n \"key\": \"620725\",\n \"value\": \"山丹县\"\n }]\n },\n {\n \"key\": \"620800\",\n \"value\": \"平凉市\",\n \"children\": [{\n \"key\": \"620802\",\n \"value\": \"崆峒区\"\n },\n {\n \"key\": \"620821\",\n \"value\": \"泾川县\"\n },\n {\n \"key\": \"620822\",\n \"value\": \"灵台县\"\n },\n {\n \"key\": \"620823\",\n \"value\": \"崇信县\"\n },\n {\n \"key\": \"620825\",\n \"value\": \"庄浪县\"\n },\n {\n \"key\": \"620826\",\n \"value\": \"静宁县\"\n },\n {\n \"key\": \"620881\",\n \"value\": \"华亭市\"\n }]\n },\n {\n \"key\": \"620900\",\n \"value\": \"酒泉市\",\n \"children\": [{\n \"key\": \"620902\",\n \"value\": \"肃州区\"\n },\n {\n \"key\": \"620921\",\n \"value\": \"金塔县\"\n },\n {\n \"key\": \"620922\",\n \"value\": \"瓜州县\"\n },\n {\n \"key\": \"620923\",\n \"value\": \"肃北蒙古族自治县\"\n },\n {\n \"key\": \"620924\",\n \"value\": \"阿克塞哈萨克族自治县\"\n },\n {\n \"key\": \"620981\",\n \"value\": \"玉门市\"\n },\n {\n \"key\": \"620982\",\n \"value\": \"敦煌市\"\n }]\n },\n {\n \"key\": \"621000\",\n \"value\": \"庆阳市\",\n \"children\": [{\n \"key\": \"621002\",\n \"value\": \"西峰区\"\n },\n {\n \"key\": \"621021\",\n \"value\": \"庆城县\"\n },\n {\n \"key\": \"621022\",\n \"value\": \"环县\"\n },\n {\n \"key\": \"621023\",\n \"value\": \"华池县\"\n },\n {\n \"key\": \"621024\",\n \"value\": \"合水县\"\n },\n {\n \"key\": \"621025\",\n \"value\": \"正宁县\"\n },\n {\n \"key\": \"621026\",\n \"value\": \"宁县\"\n },\n {\n \"key\": \"621027\",\n \"value\": \"镇原县\"\n }]\n },\n {\n \"key\": \"621100\",\n \"value\": \"定西市\",\n \"children\": [{\n \"key\": \"621102\",\n \"value\": \"安定区\"\n },\n {\n \"key\": \"621121\",\n \"value\": \"通渭县\"\n },\n {\n \"key\": \"621122\",\n \"value\": \"陇西县\"\n },\n {\n \"key\": \"621123\",\n \"value\": \"渭源县\"\n },\n {\n \"key\": \"621124\",\n \"value\": \"临洮县\"\n },\n {\n \"key\": \"621125\",\n \"value\": \"漳县\"\n },\n {\n \"key\": \"621126\",\n \"value\": \"岷县\"\n }]\n },\n {\n \"key\": \"621200\",\n \"value\": \"陇南市\",\n \"children\": [{\n \"key\": \"621202\",\n \"value\": \"武都区\"\n },\n {\n \"key\": \"621221\",\n \"value\": \"成县\"\n },\n {\n \"key\": \"621222\",\n \"value\": \"文县\"\n },\n {\n \"key\": \"621223\",\n \"value\": \"宕昌县\"\n },\n {\n \"key\": \"621224\",\n \"value\": \"康县\"\n },\n {\n \"key\": \"621225\",\n \"value\": \"西和县\"\n },\n {\n \"key\": \"621226\",\n \"value\": \"礼县\"\n },\n {\n \"key\": \"621227\",\n \"value\": \"徽县\"\n },\n {\n \"key\": \"621228\",\n \"value\": \"两当县\"\n }]\n },\n {\n \"key\": \"622900\",\n \"value\": \"临夏回族自治州\",\n \"children\": [{\n \"key\": \"622901\",\n \"value\": \"临夏市\"\n },\n {\n \"key\": \"622921\",\n \"value\": \"临夏县\"\n },\n {\n \"key\": \"622922\",\n \"value\": \"康乐县\"\n },\n {\n \"key\": \"622923\",\n \"value\": \"永靖县\"\n },\n {\n \"key\": \"622924\",\n \"value\": \"广河县\"\n },\n {\n \"key\": \"622925\",\n \"value\": \"和政县\"\n },\n {\n \"key\": \"622926\",\n \"value\": \"东乡族自治县\"\n },\n {\n \"key\": \"622927\",\n \"value\": \"积石山保安族东乡族撒拉族自治县\"\n }]\n },\n {\n \"key\": \"623000\",\n \"value\": \"甘南藏族自治州\",\n \"children\": [{\n \"key\": \"623001\",\n \"value\": \"合作市\"\n },\n {\n \"key\": \"623021\",\n \"value\": \"临潭县\"\n },\n {\n \"key\": \"623022\",\n \"value\": \"卓尼县\"\n },\n {\n \"key\": \"623023\",\n \"value\": \"舟曲县\"\n },\n {\n \"key\": \"623024\",\n \"value\": \"迭部县\"\n },\n {\n \"key\": \"623025\",\n \"value\": \"玛曲县\"\n },\n {\n \"key\": \"623026\",\n \"value\": \"碌曲县\"\n },\n {\n \"key\": \"623027\",\n \"value\": \"夏河县\"\n }]\n }]\n},\n{\n \"key\": \"630000\",\n \"value\": \"青海\",\n \"children\": [{\n \"key\": \"630100\",\n \"value\": \"西宁市\",\n \"children\": [{\n \"key\": \"630102\",\n \"value\": \"城东区\"\n },\n {\n \"key\": \"630103\",\n \"value\": \"城中区\"\n },\n {\n \"key\": \"630104\",\n \"value\": \"城西区\"\n },\n {\n \"key\": \"630105\",\n \"value\": \"城北区\"\n },\n {\n \"key\": \"630121\",\n \"value\": \"大通回族土族自治县\"\n },\n {\n \"key\": \"630122\",\n \"value\": \"湟中县\"\n },\n {\n \"key\": \"630123\",\n \"value\": \"湟源县\"\n }]\n },\n {\n \"key\": \"630200\",\n \"value\": \"海东市\",\n \"children\": [{\n \"key\": \"630202\",\n \"value\": \"乐都区\"\n },\n {\n \"key\": \"630203\",\n \"value\": \"平安区\"\n },\n {\n \"key\": \"630222\",\n \"value\": \"民和回族土族自治县\"\n },\n {\n \"key\": \"630223\",\n \"value\": \"互助土族自治县\"\n },\n {\n \"key\": \"630224\",\n \"value\": \"化隆回族自治县\"\n },\n {\n \"key\": \"630225\",\n \"value\": \"循化撒拉族自治县\"\n }]\n },\n {\n \"key\": \"632200\",\n \"value\": \"海北藏族自治州\",\n \"children\": [{\n \"key\": \"632221\",\n \"value\": \"门源回族自治县\"\n },\n {\n \"key\": \"632222\",\n \"value\": \"祁连县\"\n },\n {\n \"key\": \"632223\",\n \"value\": \"海晏县\"\n },\n {\n \"key\": \"632224\",\n \"value\": \"刚察县\"\n }]\n },\n {\n \"key\": \"632300\",\n \"value\": \"黄南藏族自治州\",\n \"children\": [{\n \"key\": \"632321\",\n \"value\": \"同仁县\"\n },\n {\n \"key\": \"632322\",\n \"value\": \"尖扎县\"\n },\n {\n \"key\": \"632323\",\n \"value\": \"泽库县\"\n },\n {\n \"key\": \"632324\",\n \"value\": \"河南蒙古族自治县\"\n }]\n },\n {\n \"key\": \"632500\",\n \"value\": \"海南藏族自治州\",\n \"children\": [{\n \"key\": \"632521\",\n \"value\": \"共和县\"\n },\n {\n \"key\": \"632522\",\n \"value\": \"同德县\"\n },\n {\n \"key\": \"632523\",\n \"value\": \"贵德县\"\n },\n {\n \"key\": \"632524\",\n \"value\": \"兴海县\"\n },\n {\n \"key\": \"632525\",\n \"value\": \"贵南县\"\n }]\n },\n {\n \"key\": \"632600\",\n \"value\": \"果洛藏族自治州\",\n \"children\": [{\n \"key\": \"632621\",\n \"value\": \"玛沁县\"\n },\n {\n \"key\": \"632622\",\n \"value\": \"班玛县\"\n },\n {\n \"key\": \"632623\",\n \"value\": \"甘德县\"\n },\n {\n \"key\": \"632624\",\n \"value\": \"达日县\"\n },\n {\n \"key\": \"632625\",\n \"value\": \"久治县\"\n },\n {\n \"key\": \"632626\",\n \"value\": \"玛多县\"\n }]\n },\n {\n \"key\": \"632700\",\n \"value\": \"玉树藏族自治州\",\n \"children\": [{\n \"key\": \"632701\",\n \"value\": \"玉树市\"\n },\n {\n \"key\": \"632722\",\n \"value\": \"杂多县\"\n },\n {\n \"key\": \"632723\",\n \"value\": \"称多县\"\n },\n {\n \"key\": \"632724\",\n \"value\": \"治多县\"\n },\n {\n \"key\": \"632725\",\n \"value\": \"囊谦县\"\n },\n {\n \"key\": \"632726\",\n \"value\": \"曲麻莱县\"\n }]\n },\n {\n \"key\": \"632800\",\n \"value\": \"海西蒙古族藏族自治州\",\n \"children\": [{\n \"key\": \"632801\",\n \"value\": \"格尔木市\"\n },\n {\n \"key\": \"632802\",\n \"value\": \"德令哈市\"\n },\n {\n \"key\": \"632803\",\n \"value\": \"茫崖市\"\n },\n {\n \"key\": \"632821\",\n \"value\": \"乌兰县\"\n },\n {\n \"key\": \"632822\",\n \"value\": \"都兰县\"\n },\n {\n \"key\": \"632823\",\n \"value\": \"天峻县\"\n }]\n }]\n},\n{\n \"key\": \"640000\",\n \"value\": \"宁夏\",\n \"children\": [{\n \"key\": \"640100\",\n \"value\": \"银川市\",\n \"children\": [{\n \"key\": \"640104\",\n \"value\": \"兴庆区\"\n },\n {\n \"key\": \"640105\",\n \"value\": \"西夏区\"\n },\n {\n \"key\": \"640106\",\n \"value\": \"金凤区\"\n },\n {\n \"key\": \"640121\",\n \"value\": \"永宁县\"\n },\n {\n \"key\": \"640122\",\n \"value\": \"贺兰县\"\n },\n {\n \"key\": \"640181\",\n \"value\": \"灵武市\"\n }]\n },\n {\n \"key\": \"640200\",\n \"value\": \"石嘴山市\",\n \"children\": [{\n \"key\": \"640202\",\n \"value\": \"大武口区\"\n },\n {\n \"key\": \"640205\",\n \"value\": \"惠农区\"\n },\n {\n \"key\": \"640221\",\n \"value\": \"平罗县\"\n }]\n },\n {\n \"key\": \"640300\",\n \"value\": \"吴忠市\",\n \"children\": [{\n \"key\": \"640302\",\n \"value\": \"利通区\"\n },\n {\n \"key\": \"640303\",\n \"value\": \"红寺堡区\"\n },\n {\n \"key\": \"640323\",\n \"value\": \"盐池县\"\n },\n {\n \"key\": \"640324\",\n \"value\": \"同心县\"\n },\n {\n \"key\": \"640381\",\n \"value\": \"青铜峡市\"\n }]\n },\n {\n \"key\": \"640400\",\n \"value\": \"固原市\",\n \"children\": [{\n \"key\": \"640402\",\n \"value\": \"原州区\"\n },\n {\n \"key\": \"640422\",\n \"value\": \"西吉县\"\n },\n {\n \"key\": \"640423\",\n \"value\": \"隆德县\"\n },\n {\n \"key\": \"640424\",\n \"value\": \"泾源县\"\n },\n {\n \"key\": \"640425\",\n \"value\": \"彭阳县\"\n }]\n },\n {\n \"key\": \"640500\",\n \"value\": \"中卫市\",\n \"children\": [{\n \"key\": \"640502\",\n \"value\": \"沙坡头区\"\n },\n {\n \"key\": \"640521\",\n \"value\": \"中宁县\"\n },\n {\n \"key\": \"640522\",\n \"value\": \"海原县\"\n }]\n }]\n},\n{\n \"key\": \"650000\",\n \"value\": \"新疆\",\n \"children\": [{\n \"key\": \"650100\",\n \"value\": \"乌鲁木齐市\",\n \"children\": [{\n \"key\": \"650102\",\n \"value\": \"天山区\"\n },\n {\n \"key\": \"650103\",\n \"value\": \"沙依巴克区\"\n },\n {\n \"key\": \"650104\",\n \"value\": \"新市区\"\n },\n {\n \"key\": \"650105\",\n \"value\": \"水磨沟区\"\n },\n {\n \"key\": \"650106\",\n \"value\": \"头屯河区\"\n },\n {\n \"key\": \"650107\",\n \"value\": \"达坂城区\"\n },\n {\n \"key\": \"650109\",\n \"value\": \"米东区\"\n },\n {\n \"key\": \"650121\",\n \"value\": \"乌鲁木齐县\"\n }]\n },\n {\n \"key\": \"650200\",\n \"value\": \"克拉玛依市\",\n \"children\": [{\n \"key\": \"650202\",\n \"value\": \"独山子区\"\n },\n {\n \"key\": \"650203\",\n \"value\": \"克拉玛依区\"\n },\n {\n \"key\": \"650204\",\n \"value\": \"白碱滩区\"\n },\n {\n \"key\": \"650205\",\n \"value\": \"乌尔禾区\"\n }]\n },\n {\n \"key\": \"650400\",\n \"value\": \"吐鲁番市\",\n \"children\": [{\n \"key\": \"650402\",\n \"value\": \"高昌区\"\n },\n {\n \"key\": \"650421\",\n \"value\": \"鄯善县\"\n },\n {\n \"key\": \"650422\",\n \"value\": \"托克逊县\"\n }]\n },\n {\n \"key\": \"650500\",\n \"value\": \"哈密市\",\n \"children\": [{\n \"key\": \"650502\",\n \"value\": \"伊州区\"\n },\n {\n \"key\": \"650521\",\n \"value\": \"巴里坤哈萨克自治县\"\n },\n {\n \"key\": \"650522\",\n \"value\": \"伊吾县\"\n }]\n },\n {\n \"key\": \"652300\",\n \"value\": \"昌吉回族自治州\",\n \"children\": [{\n \"key\": \"652301\",\n \"value\": \"昌吉市\"\n },\n {\n \"key\": \"652302\",\n \"value\": \"阜康市\"\n },\n {\n \"key\": \"652323\",\n \"value\": \"呼图壁县\"\n },\n {\n \"key\": \"652324\",\n \"value\": \"玛纳斯县\"\n },\n {\n \"key\": \"652325\",\n \"value\": \"奇台县\"\n },\n {\n \"key\": \"652327\",\n \"value\": \"吉木萨尔县\"\n },\n {\n \"key\": \"652328\",\n \"value\": \"木垒哈萨克自治县\"\n }]\n },\n {\n \"key\": \"652700\",\n \"value\": \"博尔塔拉蒙古自治州\",\n \"children\": [{\n \"key\": \"652701\",\n \"value\": \"博乐市\"\n },\n {\n \"key\": \"652702\",\n \"value\": \"阿拉山口市\"\n },\n {\n \"key\": \"652722\",\n \"value\": \"精河县\"\n },\n {\n \"key\": \"652723\",\n \"value\": \"温泉县\"\n }]\n },\n {\n \"key\": \"652800\",\n \"value\": \"巴音郭楞蒙古自治州\",\n \"children\": [{\n \"key\": \"652801\",\n \"value\": \"库尔勒市\"\n },\n {\n \"key\": \"652822\",\n \"value\": \"轮台县\"\n },\n {\n \"key\": \"652823\",\n \"value\": \"尉犁县\"\n },\n {\n \"key\": \"652824\",\n \"value\": \"若羌县\"\n },\n {\n \"key\": \"652825\",\n \"value\": \"且末县\"\n },\n {\n \"key\": \"652826\",\n \"value\": \"焉耆回族自治县\"\n },\n {\n \"key\": \"652827\",\n \"value\": \"和静县\"\n },\n {\n \"key\": \"652828\",\n \"value\": \"和硕县\"\n },\n {\n \"key\": \"652829\",\n \"value\": \"博湖县\"\n }]\n },\n {\n \"key\": \"652900\",\n \"value\": \"阿克苏地区\",\n \"children\": [{\n \"key\": \"652901\",\n \"value\": \"阿克苏市\"\n },\n {\n \"key\": \"652922\",\n \"value\": \"温宿县\"\n },\n {\n \"key\": \"652923\",\n \"value\": \"库车县\"\n },\n {\n \"key\": \"652924\",\n \"value\": \"沙雅县\"\n },\n {\n \"key\": \"652925\",\n \"value\": \"新和县\"\n },\n {\n \"key\": \"652926\",\n \"value\": \"拜城县\"\n },\n {\n \"key\": \"652927\",\n \"value\": \"乌什县\"\n },\n {\n \"key\": \"652928\",\n \"value\": \"阿瓦提县\"\n },\n {\n \"key\": \"652929\",\n \"value\": \"柯坪县\"\n }]\n },\n {\n \"key\": \"653000\",\n \"value\": \"克孜勒苏柯尔克孜自治州\",\n \"children\": [{\n \"key\": \"653001\",\n \"value\": \"阿图什市\"\n },\n {\n \"key\": \"653022\",\n \"value\": \"阿克陶县\"\n },\n {\n \"key\": \"653023\",\n \"value\": \"阿合奇县\"\n },\n {\n \"key\": \"653024\",\n \"value\": \"乌恰县\"\n }]\n },\n {\n \"key\": \"653100\",\n \"value\": \"喀什地区\",\n \"children\": [{\n \"key\": \"653101\",\n \"value\": \"喀什市\"\n },\n {\n \"key\": \"653121\",\n \"value\": \"疏附县\"\n },\n {\n \"key\": \"653122\",\n \"value\": \"疏勒县\"\n },\n {\n \"key\": \"653123\",\n \"value\": \"英吉沙县\"\n },\n {\n \"key\": \"653124\",\n \"value\": \"泽普县\"\n },\n {\n \"key\": \"653125\",\n \"value\": \"莎车县\"\n },\n {\n \"key\": \"653126\",\n \"value\": \"叶城县\"\n },\n {\n \"key\": \"653127\",\n \"value\": \"麦盖提县\"\n },\n {\n \"key\": \"653128\",\n \"value\": \"岳普湖县\"\n },\n {\n \"key\": \"653129\",\n \"value\": \"伽师县\"\n },\n {\n \"key\": \"653130\",\n \"value\": \"巴楚县\"\n },\n {\n \"key\": \"653131\",\n \"value\": \"塔什库尔干塔吉克自治县\"\n }]\n },\n {\n \"key\": \"653200\",\n \"value\": \"和田地区\",\n \"children\": [{\n \"key\": \"653201\",\n \"value\": \"和田市\"\n },\n {\n \"key\": \"653221\",\n \"value\": \"和田县\"\n },\n {\n \"key\": \"653222\",\n \"value\": \"墨玉县\"\n },\n {\n \"key\": \"653223\",\n \"value\": \"皮山县\"\n },\n {\n \"key\": \"653224\",\n \"value\": \"洛浦县\"\n },\n {\n \"key\": \"653225\",\n \"value\": \"策勒县\"\n },\n {\n \"key\": \"653226\",\n \"value\": \"于田县\"\n },\n {\n \"key\": \"653227\",\n \"value\": \"民丰县\"\n }]\n },\n {\n \"key\": \"654000\",\n \"value\": \"伊犁哈萨克自治州\",\n \"children\": [{\n \"key\": \"654002\",\n \"value\": \"伊宁市\"\n },\n {\n \"key\": \"654003\",\n \"value\": \"奎屯市\"\n },\n {\n \"key\": \"654004\",\n \"value\": \"霍尔果斯市\"\n },\n {\n \"key\": \"654021\",\n \"value\": \"伊宁县\"\n },\n {\n \"key\": \"654022\",\n \"value\": \"察布查尔锡伯自治县\"\n },\n {\n \"key\": \"654023\",\n \"value\": \"霍城县\"\n },\n {\n \"key\": \"654024\",\n \"value\": \"巩留县\"\n },\n {\n \"key\": \"654025\",\n \"value\": \"新源县\"\n },\n {\n \"key\": \"654026\",\n \"value\": \"昭苏县\"\n },\n {\n \"key\": \"654027\",\n \"value\": \"特克斯县\"\n },\n {\n \"key\": \"654028\",\n \"value\": \"尼勒克县\"\n }]\n },\n {\n \"key\": \"654200\",\n \"value\": \"塔城地区\",\n \"children\": [{\n \"key\": \"654201\",\n \"value\": \"塔城市\"\n },\n {\n \"key\": \"654202\",\n \"value\": \"乌苏市\"\n },\n {\n \"key\": \"654221\",\n \"value\": \"额敏县\"\n },\n {\n \"key\": \"654223\",\n \"value\": \"沙湾县\"\n },\n {\n \"key\": \"654224\",\n \"value\": \"托里县\"\n },\n {\n \"key\": \"654225\",\n \"value\": \"裕民县\"\n },\n {\n \"key\": \"654226\",\n \"value\": \"和布克赛尔蒙古自治县\"\n }]\n },\n {\n \"key\": \"654300\",\n \"value\": \"阿勒泰地区\",\n \"children\": [{\n \"key\": \"654301\",\n \"value\": \"阿勒泰市\"\n },\n {\n \"key\": \"654321\",\n \"value\": \"布尔津县\"\n },\n {\n \"key\": \"654322\",\n \"value\": \"富蕴县\"\n },\n {\n \"key\": \"654323\",\n \"value\": \"福海县\"\n },\n {\n \"key\": \"654324\",\n \"value\": \"哈巴河县\"\n },\n {\n \"key\": \"654325\",\n \"value\": \"青河县\"\n },\n {\n \"key\": \"654326\",\n \"value\": \"吉木乃县\"\n }]\n },\n {\n \"key\": \"659001\",\n \"value\": \"石河子市\"\n },\n {\n \"key\": \"659002\",\n \"value\": \"阿拉尔市\"\n },\n {\n \"key\": \"659003\",\n \"value\": \"图木舒克市\"\n },\n {\n \"key\": \"659004\",\n \"value\": \"五家渠市\"\n },\n {\n \"key\": \"659005\",\n \"value\": \"北屯市\"\n },\n {\n \"key\": \"659006\",\n \"value\": \"铁门关市\"\n },\n {\n \"key\": \"659007\",\n \"value\": \"双河市\"\n },\n {\n \"key\": \"659008\",\n \"value\": \"可克达拉市\"\n },\n {\n \"key\": \"659009\",\n \"value\": \"昆玉市\"\n }]\n},\n{\n \"key\": \"710000\",\n \"value\": \"台湾\",\n \"children\": [{\n \"key\": \"710100\",\n \"value\": \"台北市\",\n \"children\": [{\n \"key\": \"710101\",\n \"value\": \"中正区\"\n },\n {\n \"key\": \"710102\",\n \"value\": \"大同区\"\n },\n {\n \"key\": \"710103\",\n \"value\": \"中山区\"\n },\n {\n \"key\": \"710104\",\n \"value\": \"松山区\"\n },\n {\n \"key\": \"710105\",\n \"value\": \"大安区\"\n },\n {\n \"key\": \"710106\",\n \"value\": \"万华区\"\n },\n {\n \"key\": \"710107\",\n \"value\": \"信义区\"\n },\n {\n \"key\": \"710108\",\n \"value\": \"士林区\"\n },\n {\n \"key\": \"710109\",\n \"value\": \"北投区\"\n },\n {\n \"key\": \"710110\",\n \"value\": \"内湖区\"\n },\n {\n \"key\": \"710111\",\n \"value\": \"南港区\"\n },\n {\n \"key\": \"710112\",\n \"value\": \"文山区\"\n }]\n },\n {\n \"key\": \"710200\",\n \"value\": \"基隆市\",\n \"children\": [{\n \"key\": \"710201\",\n \"value\": \"仁爱区\"\n },\n {\n \"key\": \"710202\",\n \"value\": \"信义区\"\n },\n {\n \"key\": \"710203\",\n \"value\": \"中正区\"\n },\n {\n \"key\": \"710204\",\n \"value\": \"中山区\"\n },\n {\n \"key\": \"710205\",\n \"value\": \"安乐区\"\n },\n {\n \"key\": \"710206\",\n \"value\": \"暖暖区\"\n },\n {\n \"key\": \"710207\",\n \"value\": \"七堵区\"\n }]\n },\n {\n \"key\": \"710300\",\n \"value\": \"新北市\",\n \"children\": [{\n \"key\": \"710301\",\n \"value\": \"万里区\"\n },\n {\n \"key\": \"710302\",\n \"value\": \"金山区\"\n },\n {\n \"key\": \"710303\",\n \"value\": \"板桥区\"\n },\n {\n \"key\": \"710304\",\n \"value\": \"汐止区\"\n },\n {\n \"key\": \"710305\",\n \"value\": \"深坑区\"\n },\n {\n \"key\": \"710306\",\n \"value\": \"石碇区\"\n },\n {\n \"key\": \"710307\",\n \"value\": \"瑞芳区\"\n },\n {\n \"key\": \"710308\",\n \"value\": \"平溪区\"\n },\n {\n \"key\": \"710309\",\n \"value\": \"双溪区\"\n },\n {\n \"key\": \"710310\",\n \"value\": \"贡寮区\"\n },\n {\n \"key\": \"710311\",\n \"value\": \"新店区\"\n },\n {\n \"key\": \"710312\",\n \"value\": \"坪林区\"\n },\n {\n \"key\": \"710313\",\n \"value\": \"乌来区\"\n },\n {\n \"key\": \"710314\",\n \"value\": \"永和区\"\n },\n {\n \"key\": \"710315\",\n \"value\": \"中和区\"\n },\n {\n \"key\": \"710316\",\n \"value\": \"土城区\"\n },\n {\n \"key\": \"710317\",\n \"value\": \"三峡区\"\n },\n {\n \"key\": \"710318\",\n \"value\": \"树林区\"\n },\n {\n \"key\": \"710319\",\n \"value\": \"莺歌区\"\n },\n {\n \"key\": \"710320\",\n \"value\": \"三重区\"\n },\n {\n \"key\": \"710321\",\n \"value\": \"新庄区\"\n },\n {\n \"key\": \"710322\",\n \"value\": \"泰山区\"\n },\n {\n \"key\": \"710323\",\n \"value\": \"林口区\"\n },\n {\n \"key\": \"710324\",\n \"value\": \"芦洲区\"\n },\n {\n \"key\": \"710325\",\n \"value\": \"五股区\"\n },\n {\n \"key\": \"710326\",\n \"value\": \"八里区\"\n },\n {\n \"key\": \"710327\",\n \"value\": \"淡水区\"\n },\n {\n \"key\": \"710328\",\n \"value\": \"三芝区\"\n },\n {\n \"key\": \"710329\",\n \"value\": \"石门区\"\n }]\n },\n {\n \"key\": \"710400\",\n \"value\": \"连江县\",\n \"children\": [{\n \"key\": \"710401\",\n \"value\": \"南竿乡\"\n },\n {\n \"key\": \"710402\",\n \"value\": \"北竿乡\"\n },\n {\n \"key\": \"710403\",\n \"value\": \"莒光乡\"\n },\n {\n \"key\": \"710404\",\n \"value\": \"东引乡\"\n }]\n },\n {\n \"key\": \"710500\",\n \"value\": \"宜兰县\",\n \"children\": [{\n \"key\": \"710501\",\n \"value\": \"宜兰市\"\n },\n {\n \"key\": \"710502\",\n \"value\": \"壮围乡\"\n },\n {\n \"key\": \"710503\",\n \"value\": \"头城镇\"\n },\n {\n \"key\": \"710504\",\n \"value\": \"礁溪乡\"\n },\n {\n \"key\": \"710505\",\n \"value\": \"员山乡\"\n },\n {\n \"key\": \"710506\",\n \"value\": \"罗东镇\"\n },\n {\n \"key\": \"710507\",\n \"value\": \"三星乡\"\n },\n {\n \"key\": \"710508\",\n \"value\": \"大同乡\"\n },\n {\n \"key\": \"710509\",\n \"value\": \"五结乡\"\n },\n {\n \"key\": \"710510\",\n \"value\": \"冬山乡\"\n },\n {\n \"key\": \"710511\",\n \"value\": \"苏澳镇\"\n },\n {\n \"key\": \"710512\",\n \"value\": \"南澳乡\"\n },\n {\n \"key\": \"710513\",\n \"value\": \"钓鱼台\"\n }]\n },\n {\n \"key\": \"710600\",\n \"value\": \"新竹市\",\n \"children\": [{\n \"key\": \"710601\",\n \"value\": \"东区\"\n },\n {\n \"key\": \"710602\",\n \"value\": \"北区\"\n },\n {\n \"key\": \"710603\",\n \"value\": \"香山区\"\n }]\n },\n {\n \"key\": \"710700\",\n \"value\": \"新竹县\",\n \"children\": [{\n \"key\": \"710701\",\n \"value\": \"宝山乡\"\n },\n {\n \"key\": \"710702\",\n \"value\": \"竹北市\"\n },\n {\n \"key\": \"710703\",\n \"value\": \"湖口乡\"\n },\n {\n \"key\": \"710704\",\n \"value\": \"新丰乡\"\n },\n {\n \"key\": \"710705\",\n \"value\": \"新埔镇\"\n },\n {\n \"key\": \"710706\",\n \"value\": \"关西镇\"\n },\n {\n \"key\": \"710707\",\n \"value\": \"芎林乡\"\n },\n {\n \"key\": \"710708\",\n \"value\": \"竹东镇\"\n },\n {\n \"key\": \"710709\",\n \"value\": \"五峰乡\"\n },\n {\n \"key\": \"710710\",\n \"value\": \"横山乡\"\n },\n {\n \"key\": \"710711\",\n \"value\": \"尖石乡\"\n },\n {\n \"key\": \"710712\",\n \"value\": \"北埔乡\"\n },\n {\n \"key\": \"710713\",\n \"value\": \"峨眉乡\"\n }]\n },\n {\n \"key\": \"710800\",\n \"value\": \"桃园市\",\n \"children\": [{\n \"key\": \"710801\",\n \"value\": \"中坜区\"\n },\n {\n \"key\": \"710802\",\n \"value\": \"平镇区\"\n },\n {\n \"key\": \"710803\",\n \"value\": \"龙潭区\"\n },\n {\n \"key\": \"710804\",\n \"value\": \"杨梅区\"\n },\n {\n \"key\": \"710805\",\n \"value\": \"新屋区\"\n },\n {\n \"key\": \"710806\",\n \"value\": \"观音区\"\n },\n {\n \"key\": \"710807\",\n \"value\": \"桃园区\"\n },\n {\n \"key\": \"710808\",\n \"value\": \"龟山区\"\n },\n {\n \"key\": \"710809\",\n \"value\": \"八德区\"\n },\n {\n \"key\": \"710810\",\n \"value\": \"大溪区\"\n },\n {\n \"key\": \"710811\",\n \"value\": \"复兴区\"\n },\n {\n \"key\": \"710812\",\n \"value\": \"大园区\"\n },\n {\n \"key\": \"710813\",\n \"value\": \"芦竹区\"\n }]\n },\n {\n \"key\": \"710900\",\n \"value\": \"苗栗县\",\n \"children\": [{\n \"key\": \"710901\",\n \"value\": \"竹南镇\"\n },\n {\n \"key\": \"710902\",\n \"value\": \"头份镇\"\n },\n {\n \"key\": \"710903\",\n \"value\": \"三湾乡\"\n },\n {\n \"key\": \"710904\",\n \"value\": \"南庄乡\"\n },\n {\n \"key\": \"710905\",\n \"value\": \"狮潭乡\"\n },\n {\n \"key\": \"710906\",\n \"value\": \"后龙镇\"\n },\n {\n \"key\": \"710907\",\n \"value\": \"通霄镇\"\n },\n {\n \"key\": \"710908\",\n \"value\": \"苑里镇\"\n },\n {\n \"key\": \"710909\",\n \"value\": \"苗栗市\"\n },\n {\n \"key\": \"710910\",\n \"value\": \"造桥乡\"\n },\n {\n \"key\": \"710911\",\n \"value\": \"头屋乡\"\n },\n {\n \"key\": \"710912\",\n \"value\": \"公馆乡\"\n },\n {\n \"key\": \"710913\",\n \"value\": \"大湖乡\"\n },\n {\n \"key\": \"710914\",\n \"value\": \"泰安乡\"\n },\n {\n \"key\": \"710915\",\n \"value\": \"铜锣乡\"\n },\n {\n \"key\": \"710916\",\n \"value\": \"三义乡\"\n },\n {\n \"key\": \"710917\",\n \"value\": \"西湖乡\"\n },\n {\n \"key\": \"710918\",\n \"value\": \"卓兰镇\"\n }]\n },\n {\n \"key\": \"711000\",\n \"value\": \"台中市\",\n \"children\": [{\n \"key\": \"711001\",\n \"value\": \"中区\"\n },\n {\n \"key\": \"711002\",\n \"value\": \"东区\"\n },\n {\n \"key\": \"711003\",\n \"value\": \"南区\"\n },\n {\n \"key\": \"711004\",\n \"value\": \"西区\"\n },\n {\n \"key\": \"711005\",\n \"value\": \"北区\"\n },\n {\n \"key\": \"711006\",\n \"value\": \"北屯区\"\n },\n {\n \"key\": \"711007\",\n \"value\": \"西屯区\"\n },\n {\n \"key\": \"711008\",\n \"value\": \"南屯区\"\n },\n {\n \"key\": \"711009\",\n \"value\": \"太平区\"\n },\n {\n \"key\": \"711010\",\n \"value\": \"大理区\"\n },\n {\n \"key\": \"711011\",\n \"value\": \"雾峰区\"\n },\n {\n \"key\": \"711012\",\n \"value\": \"乌日区\"\n },\n {\n \"key\": \"711013\",\n \"value\": \"丰原区\"\n },\n {\n \"key\": \"711014\",\n \"value\": \"后里区\"\n },\n {\n \"key\": \"711015\",\n \"value\": \"石冈区\"\n },\n {\n \"key\": \"711016\",\n \"value\": \"东势区\"\n },\n {\n \"key\": \"711017\",\n \"value\": \"和平区\"\n },\n {\n \"key\": \"711018\",\n \"value\": \"新小区\"\n },\n {\n \"key\": \"711019\",\n \"value\": \"潭子区\"\n },\n {\n \"key\": \"711020\",\n \"value\": \"大雅区\"\n },\n {\n \"key\": \"711021\",\n \"value\": \"神冈区\"\n },\n {\n \"key\": \"711022\",\n \"value\": \"大肚区\"\n },\n {\n \"key\": \"711023\",\n \"value\": \"沙鹿区\"\n },\n {\n \"key\": \"711024\",\n \"value\": \"龙井区\"\n },\n {\n \"key\": \"711025\",\n \"value\": \"梧栖区\"\n },\n {\n \"key\": \"711026\",\n \"value\": \"清水区\"\n },\n {\n \"key\": \"711027\",\n \"value\": \"大甲区\"\n },\n {\n \"key\": \"711028\",\n \"value\": \"外埔区\"\n },\n {\n \"key\": \"711029\",\n \"value\": \"大安区\"\n }]\n },\n {\n \"key\": \"711100\",\n \"value\": \"彰化县\",\n \"children\": [{\n \"key\": \"711101\",\n \"value\": \"彰化市\"\n },\n {\n \"key\": \"711102\",\n \"value\": \"芬园乡\"\n },\n {\n \"key\": \"711103\",\n \"value\": \"花坛乡\"\n },\n {\n \"key\": \"711104\",\n \"value\": \"秀水乡\"\n },\n {\n \"key\": \"711105\",\n \"value\": \"鹿港镇\"\n },\n {\n \"key\": \"711106\",\n \"value\": \"福兴乡\"\n },\n {\n \"key\": \"711107\",\n \"value\": \"线西乡\"\n },\n {\n \"key\": \"711108\",\n \"value\": \"和美镇\"\n },\n {\n \"key\": \"711109\",\n \"value\": \"伸港乡\"\n },\n {\n \"key\": \"711110\",\n \"value\": \"员林镇\"\n },\n {\n \"key\": \"711111\",\n \"value\": \"社头乡\"\n },\n {\n \"key\": \"711112\",\n \"value\": \"永靖乡\"\n },\n {\n \"key\": \"711113\",\n \"value\": \"埔心乡\"\n },\n {\n \"key\": \"711114\",\n \"value\": \"溪湖镇\"\n },\n {\n \"key\": \"711115\",\n \"value\": \"大村乡\"\n },\n {\n \"key\": \"711116\",\n \"value\": \"埔盐乡\"\n },\n {\n \"key\": \"711117\",\n \"value\": \"田中镇\"\n },\n {\n \"key\": \"711118\",\n \"value\": \"北斗镇\"\n },\n {\n \"key\": \"711119\",\n \"value\": \"田尾乡\"\n },\n {\n \"key\": \"711120\",\n \"value\": \"埤头乡\"\n },\n {\n \"key\": \"711121\",\n \"value\": \"溪州乡\"\n },\n {\n \"key\": \"711122\",\n \"value\": \"竹塘乡\"\n },\n {\n \"key\": \"711123\",\n \"value\": \"二林镇\"\n },\n {\n \"key\": \"711124\",\n \"value\": \"大城乡\"\n },\n {\n \"key\": \"711125\",\n \"value\": \"芳苑乡\"\n },\n {\n \"key\": \"711126\",\n \"value\": \"二水乡\"\n }]\n },\n {\n \"key\": \"711200\",\n \"value\": \"南投县\",\n \"children\": [{\n \"key\": \"711201\",\n \"value\": \"南投市\"\n },\n {\n \"key\": \"711202\",\n \"value\": \"中寮乡\"\n },\n {\n \"key\": \"711203\",\n \"value\": \"草屯镇\"\n },\n {\n \"key\": \"711204\",\n \"value\": \"国姓乡\"\n },\n {\n \"key\": \"711205\",\n \"value\": \"埔里镇\"\n },\n {\n \"key\": \"711206\",\n \"value\": \"仁爱乡\"\n },\n {\n \"key\": \"711207\",\n \"value\": \"名间乡\"\n },\n {\n \"key\": \"711208\",\n \"value\": \"集集镇\"\n },\n {\n \"key\": \"711209\",\n \"value\": \"水里乡\"\n },\n {\n \"key\": \"711210\",\n \"value\": \"鱼池乡\"\n },\n {\n \"key\": \"711211\",\n \"value\": \"信义乡\"\n },\n {\n \"key\": \"711212\",\n \"value\": \"竹山镇\"\n },\n {\n \"key\": \"711213\",\n \"value\": \"鹿谷乡\"\n }]\n },\n {\n \"key\": \"711300\",\n \"value\": \"嘉义市\",\n \"children\": [{\n \"key\": \"711301\",\n \"value\": \"西区\"\n },\n {\n \"key\": \"711302\",\n \"value\": \"东区\"\n }]\n },\n {\n \"key\": \"711400\",\n \"value\": \"嘉义县\",\n \"children\": [{\n \"key\": \"711401\",\n \"value\": \"番路乡\"\n },\n {\n \"key\": \"711402\",\n \"value\": \"梅山乡\"\n },\n {\n \"key\": \"711403\",\n \"value\": \"竹崎乡\"\n },\n {\n \"key\": \"711404\",\n \"value\": \"阿里山乡\"\n },\n {\n \"key\": \"711405\",\n \"value\": \"中埔乡\"\n },\n {\n \"key\": \"711406\",\n \"value\": \"大埔乡\"\n },\n {\n \"key\": \"711407\",\n \"value\": \"水上乡\"\n },\n {\n \"key\": \"711408\",\n \"value\": \"鹿草乡\"\n },\n {\n \"key\": \"711409\",\n \"value\": \"太保市\"\n },\n {\n \"key\": \"711410\",\n \"value\": \"朴子市\"\n },\n {\n \"key\": \"711411\",\n \"value\": \"东石乡\"\n },\n {\n \"key\": \"711412\",\n \"value\": \"六脚乡\"\n },\n {\n \"key\": \"711413\",\n \"value\": \"新港乡\"\n },\n {\n \"key\": \"711414\",\n \"value\": \"民雄乡\"\n },\n {\n \"key\": \"711415\",\n \"value\": \"大林镇\"\n },\n {\n \"key\": \"711416\",\n \"value\": \"溪口乡\"\n },\n {\n \"key\": \"711417\",\n \"value\": \"义竹乡\"\n },\n {\n \"key\": \"711418\",\n \"value\": \"布袋镇\"\n }]\n },\n {\n \"key\": \"711500\",\n \"value\": \"云林县\",\n \"children\": [{\n \"key\": \"711501\",\n \"value\": \"斗南镇\"\n },\n {\n \"key\": \"711502\",\n \"value\": \"大埤乡\"\n },\n {\n \"key\": \"711503\",\n \"value\": \"虎尾镇\"\n },\n {\n \"key\": \"711504\",\n \"value\": \"土库镇\"\n },\n {\n \"key\": \"711505\",\n \"value\": \"褒忠乡\"\n },\n {\n \"key\": \"711506\",\n \"value\": \"东势乡\"\n },\n {\n \"key\": \"711507\",\n \"value\": \"台西乡\"\n },\n {\n \"key\": \"711508\",\n \"value\": \"仑背乡\"\n },\n {\n \"key\": \"711509\",\n \"value\": \"麦寮乡\"\n },\n {\n \"key\": \"711510\",\n \"value\": \"斗六市\"\n },\n {\n \"key\": \"711511\",\n \"value\": \"林内乡\"\n },\n {\n \"key\": \"711512\",\n \"value\": \"古坑乡\"\n },\n {\n \"key\": \"711513\",\n \"value\": \"莿桐乡\"\n },\n {\n \"key\": \"711514\",\n \"value\": \"西螺镇\"\n },\n {\n \"key\": \"711515\",\n \"value\": \"二仑乡\"\n },\n {\n \"key\": \"711516\",\n \"value\": \"北港镇\"\n },\n {\n \"key\": \"711517\",\n \"value\": \"水林乡\"\n },\n {\n \"key\": \"711518\",\n \"value\": \"口湖乡\"\n },\n {\n \"key\": \"711519\",\n \"value\": \"四湖乡\"\n },\n {\n \"key\": \"711520\",\n \"value\": \"元长乡\"\n }]\n },\n {\n \"key\": \"711600\",\n \"value\": \"台南市\",\n \"children\": [{\n \"key\": \"711601\",\n \"value\": \"中西区\"\n },\n {\n \"key\": \"711602\",\n \"value\": \"东区\"\n },\n {\n \"key\": \"711603\",\n \"value\": \"南区\"\n },\n {\n \"key\": \"711604\",\n \"value\": \"北区\"\n },\n {\n \"key\": \"711605\",\n \"value\": \"安平区\"\n },\n {\n \"key\": \"711606\",\n \"value\": \"安南区\"\n },\n {\n \"key\": \"711607\",\n \"value\": \"永康区\"\n },\n {\n \"key\": \"711608\",\n \"value\": \"归仁区\"\n },\n {\n \"key\": \"711609\",\n \"value\": \"新化区\"\n },\n {\n \"key\": \"711610\",\n \"value\": \"左镇区\"\n },\n {\n \"key\": \"711611\",\n \"value\": \"玉井区\"\n },\n {\n \"key\": \"711612\",\n \"value\": \"楠西区\"\n },\n {\n \"key\": \"711613\",\n \"value\": \"南化区\"\n },\n {\n \"key\": \"711614\",\n \"value\": \"仁德区\"\n },\n {\n \"key\": \"711615\",\n \"value\": \"关庙区\"\n },\n {\n \"key\": \"711616\",\n \"value\": \"龙崎区\"\n },\n {\n \"key\": \"711617\",\n \"value\": \"官田区\"\n },\n {\n \"key\": \"711618\",\n \"value\": \"麻豆区\"\n },\n {\n \"key\": \"711619\",\n \"value\": \"佳里区\"\n },\n {\n \"key\": \"711620\",\n \"value\": \"西港区\"\n },\n {\n \"key\": \"711621\",\n \"value\": \"七股区\"\n },\n {\n \"key\": \"711622\",\n \"value\": \"将军区\"\n },\n {\n \"key\": \"711623\",\n \"value\": \"学甲区\"\n },\n {\n \"key\": \"711624\",\n \"value\": \"北门区\"\n },\n {\n \"key\": \"711625\",\n \"value\": \"新营区\"\n },\n {\n \"key\": \"711626\",\n \"value\": \"后壁区\"\n },\n {\n \"key\": \"711627\",\n \"value\": \"白河区\"\n },\n {\n \"key\": \"711628\",\n \"value\": \"东山区\"\n },\n {\n \"key\": \"711629\",\n \"value\": \"六甲区\"\n },\n {\n \"key\": \"711630\",\n \"value\": \"下营区\"\n },\n {\n \"key\": \"711631\",\n \"value\": \"柳营区\"\n },\n {\n \"key\": \"711632\",\n \"value\": \"盐水区\"\n },\n {\n \"key\": \"711633\",\n \"value\": \"善化区\"\n },\n {\n \"key\": \"711634\",\n \"value\": \"新市区\"\n },\n {\n \"key\": \"711635\",\n \"value\": \"大内区\"\n },\n {\n \"key\": \"711636\",\n \"value\": \"山上区\"\n },\n {\n \"key\": \"711637\",\n \"value\": \"安定区\"\n }]\n },\n {\n \"key\": \"711700\",\n \"value\": \"高雄市\",\n \"children\": [{\n \"key\": \"711701\",\n \"value\": \"新兴区\"\n },\n {\n \"key\": \"711702\",\n \"value\": \"前金区\"\n },\n {\n \"key\": \"711703\",\n \"value\": \"苓雅区\"\n },\n {\n \"key\": \"711704\",\n \"value\": \"盐埕区\"\n },\n {\n \"key\": \"711705\",\n \"value\": \"鼓山区\"\n },\n {\n \"key\": \"711706\",\n \"value\": \"旗津区\"\n },\n {\n \"key\": \"711707\",\n \"value\": \"前镇区\"\n },\n {\n \"key\": \"711708\",\n \"value\": \"三民区\"\n },\n {\n \"key\": \"711709\",\n \"value\": \"楠梓区\"\n },\n {\n \"key\": \"711710\",\n \"value\": \"小港区\"\n },\n {\n \"key\": \"711711\",\n \"value\": \"左营区\"\n },\n {\n \"key\": \"711712\",\n \"value\": \"仁武区\"\n },\n {\n \"key\": \"711713\",\n \"value\": \"大小区\"\n },\n {\n \"key\": \"711714\",\n \"value\": \"东沙群岛\"\n },\n {\n \"key\": \"711715\",\n \"value\": \"南沙群岛\"\n },\n {\n \"key\": \"711716\",\n \"value\": \"冈山区\"\n },\n {\n \"key\": \"711717\",\n \"value\": \"路竹区\"\n },\n {\n \"key\": \"711718\",\n \"value\": \"阿莲区\"\n },\n {\n \"key\": \"711719\",\n \"value\": \"田寮区\"\n },\n {\n \"key\": \"711720\",\n \"value\": \"燕巢区\"\n },\n {\n \"key\": \"711721\",\n \"value\": \"桥头区\"\n },\n {\n \"key\": \"711722\",\n \"value\": \"梓官区\"\n },\n {\n \"key\": \"711723\",\n \"value\": \"弥陀区\"\n },\n {\n \"key\": \"711724\",\n \"value\": \"永安区\"\n },\n {\n \"key\": \"711725\",\n \"value\": \"湖内区\"\n },\n {\n \"key\": \"711726\",\n \"value\": \"凤山区\"\n },\n {\n \"key\": \"711727\",\n \"value\": \"大寮区\"\n },\n {\n \"key\": \"711728\",\n \"value\": \"林园区\"\n },\n {\n \"key\": \"711729\",\n \"value\": \"鸟松区\"\n },\n {\n \"key\": \"711730\",\n \"value\": \"大树区\"\n },\n {\n \"key\": \"711731\",\n \"value\": \"旗山区\"\n },\n {\n \"key\": \"711732\",\n \"value\": \"美浓区\"\n },\n {\n \"key\": \"711733\",\n \"value\": \"六龟区\"\n },\n {\n \"key\": \"711734\",\n \"value\": \"内门区\"\n },\n {\n \"key\": \"711735\",\n \"value\": \"杉林区\"\n },\n {\n \"key\": \"711736\",\n \"value\": \"甲仙区\"\n },\n {\n \"key\": \"711737\",\n \"value\": \"桃源区\"\n },\n {\n \"key\": \"711738\",\n \"value\": \"那玛夏区\"\n },\n {\n \"key\": \"711739\",\n \"value\": \"茂林区\"\n },\n {\n \"key\": \"711740\",\n \"value\": \"茄萣区\"\n }]\n },\n {\n \"key\": \"711800\",\n \"value\": \"南海岛\",\n \"children\": [{\n \"key\": \"711801\",\n \"value\": \"东沙群岛\"\n },\n {\n \"key\": \"711802\",\n \"value\": \"南沙群岛\"\n }]\n },\n {\n \"key\": \"711900\",\n \"value\": \"澎湖县\",\n \"children\": [{\n \"key\": \"711901\",\n \"value\": \"马公市\"\n },\n {\n \"key\": \"711902\",\n \"value\": \"西屿乡\"\n },\n {\n \"key\": \"711903\",\n \"value\": \"望安乡\"\n },\n {\n \"key\": \"711904\",\n \"value\": \"七美乡\"\n },\n {\n \"key\": \"711905\",\n \"value\": \"白沙乡\"\n },\n {\n \"key\": \"711906\",\n \"value\": \"湖西乡\"\n }]\n },\n {\n \"key\": \"712000\",\n \"value\": \"金门县\",\n \"children\": [{\n \"key\": \"712001\",\n \"value\": \"金沙镇\"\n },\n {\n \"key\": \"712002\",\n \"value\": \"金湖镇\"\n },\n {\n \"key\": \"712003\",\n \"value\": \"金宁乡\"\n },\n {\n \"key\": \"712004\",\n \"value\": \"金城镇\"\n },\n {\n \"key\": \"712005\",\n \"value\": \"烈屿乡\"\n },\n {\n \"key\": \"712006\",\n \"value\": \"乌坵乡\"\n }]\n },\n {\n \"key\": \"712100\",\n \"value\": \"屏东县\",\n \"children\": [{\n \"key\": \"712101\",\n \"value\": \"屏东市\"\n },\n {\n \"key\": \"712102\",\n \"value\": \"三地门乡\"\n },\n {\n \"key\": \"712103\",\n \"value\": \"雾台乡\"\n },\n {\n \"key\": \"712104\",\n \"value\": \"玛家乡\"\n },\n {\n \"key\": \"712105\",\n \"value\": \"九如乡\"\n },\n {\n \"key\": \"712106\",\n \"value\": \"里港乡\"\n },\n {\n \"key\": \"712107\",\n \"value\": \"高树乡\"\n },\n {\n \"key\": \"712108\",\n \"value\": \"盐埔乡\"\n },\n {\n \"key\": \"712109\",\n \"value\": \"长治乡\"\n },\n {\n \"key\": \"712110\",\n \"value\": \"麟洛乡\"\n },\n {\n \"key\": \"712111\",\n \"value\": \"竹田乡\"\n },\n {\n \"key\": \"712112\",\n \"value\": \"内埔乡\"\n },\n {\n \"key\": \"712113\",\n \"value\": \"万丹乡\"\n },\n {\n \"key\": \"712114\",\n \"value\": \"潮州镇\"\n },\n {\n \"key\": \"712115\",\n \"value\": \"泰武乡\"\n },\n {\n \"key\": \"712116\",\n \"value\": \"来义乡\"\n },\n {\n \"key\": \"712117\",\n \"value\": \"万峦乡\"\n },\n {\n \"key\": \"712118\",\n \"value\": \"崁顶乡\"\n },\n {\n \"key\": \"712119\",\n \"value\": \"新埤乡\"\n },\n {\n \"key\": \"712120\",\n \"value\": \"南州乡\"\n },\n {\n \"key\": \"712121\",\n \"value\": \"林边乡\"\n },\n {\n \"key\": \"712122\",\n \"value\": \"东港镇\"\n },\n {\n \"key\": \"712123\",\n \"value\": \"琉球乡\"\n },\n {\n \"key\": \"712124\",\n \"value\": \"佳冬乡\"\n },\n {\n \"key\": \"712125\",\n \"value\": \"新园乡\"\n },\n {\n \"key\": \"712126\",\n \"value\": \"枋寮乡\"\n },\n {\n \"key\": \"712127\",\n \"value\": \"枋山乡\"\n },\n {\n \"key\": \"712128\",\n \"value\": \"春日乡\"\n },\n {\n \"key\": \"712129\",\n \"value\": \"狮子乡\"\n },\n {\n \"key\": \"712130\",\n \"value\": \"车城乡\"\n },\n {\n \"key\": \"712131\",\n \"value\": \"牡丹乡\"\n },\n {\n \"key\": \"712132\",\n \"value\": \"恒春镇\"\n },\n {\n \"key\": \"712133\",\n \"value\": \"满州乡\"\n }]\n },\n {\n \"key\": \"712200\",\n \"value\": \"台东县\",\n \"children\": [{\n \"key\": \"712201\",\n \"value\": \"台东市\"\n },\n {\n \"key\": \"712202\",\n \"value\": \"绿岛乡\"\n },\n {\n \"key\": \"712203\",\n \"value\": \"兰屿乡\"\n },\n {\n \"key\": \"712204\",\n \"value\": \"延平乡\"\n },\n {\n \"key\": \"712205\",\n \"value\": \"卑南乡\"\n },\n {\n \"key\": \"712206\",\n \"value\": \"鹿野乡\"\n },\n {\n \"key\": \"712207\",\n \"value\": \"关山镇\"\n },\n {\n \"key\": \"712208\",\n \"value\": \"海端乡\"\n },\n {\n \"key\": \"712209\",\n \"value\": \"池上乡\"\n },\n {\n \"key\": \"712210\",\n \"value\": \"东河乡\"\n },\n {\n \"key\": \"712211\",\n \"value\": \"成功镇\"\n },\n {\n \"key\": \"712212\",\n \"value\": \"长滨乡\"\n },\n {\n \"key\": \"712213\",\n \"value\": \"太麻里乡\"\n },\n {\n \"key\": \"712214\",\n \"value\": \"金峰乡\"\n },\n {\n \"key\": \"712215\",\n \"value\": \"大武乡\"\n },\n {\n \"key\": \"712216\",\n \"value\": \"达仁乡\"\n }]\n },\n {\n \"key\": \"712300\",\n \"value\": \"花莲县\",\n \"children\": [{\n \"key\": \"712301\",\n \"value\": \"花莲市\"\n },\n {\n \"key\": \"712302\",\n \"value\": \"新城乡\"\n },\n {\n \"key\": \"712303\",\n \"value\": \"秀林乡\"\n },\n {\n \"key\": \"712304\",\n \"value\": \"吉安乡\"\n },\n {\n \"key\": \"712305\",\n \"value\": \"寿丰乡\"\n },\n {\n \"key\": \"712306\",\n \"value\": \"凤林镇\"\n },\n {\n \"key\": \"712307\",\n \"value\": \"光复乡\"\n },\n {\n \"key\": \"712308\",\n \"value\": \"丰滨乡\"\n },\n {\n \"key\": \"712309\",\n \"value\": \"瑞穗乡\"\n },\n {\n \"key\": \"712310\",\n \"value\": \"万荣乡\"\n },\n {\n \"key\": \"712311\",\n \"value\": \"玉里镇\"\n },\n {\n \"key\": \"712312\",\n \"value\": \"卓溪乡\"\n },\n {\n \"key\": \"712313\",\n \"value\": \"富里乡\"\n }]\n }]\n},\n{\n \"key\": \"810000\",\n \"value\": \"香港\",\n \"children\": [{\n \"key\": \"810101\",\n \"value\": \"中西区\"\n },\n {\n \"key\": \"810102\",\n \"value\": \"湾仔区\"\n },\n {\n \"key\": \"810103\",\n \"value\": \"东区\"\n },\n {\n \"key\": \"810104\",\n \"value\": \"南区\"\n },\n {\n \"key\": \"810105\",\n \"value\": \"油尖旺区\"\n },\n {\n \"key\": \"810106\",\n \"value\": \"深水埗区\"\n },\n {\n \"key\": \"810107\",\n \"value\": \"九龙城区\"\n },\n {\n \"key\": \"810108\",\n \"value\": \"黄大仙区\"\n },\n {\n \"key\": \"810109\",\n \"value\": \"观塘区\"\n },\n {\n \"key\": \"810110\",\n \"value\": \"北区\"\n },\n {\n \"key\": \"810111\",\n \"value\": \"大埔区\"\n },\n {\n \"key\": \"810112\",\n \"value\": \"沙田区\"\n },\n {\n \"key\": \"810113\",\n \"value\": \"西贡区\"\n },\n {\n \"key\": \"810114\",\n \"value\": \"荃湾区\"\n },\n {\n \"key\": \"810115\",\n \"value\": \"屯门区\"\n },\n {\n \"key\": \"810116\",\n \"value\": \"元朗区\"\n },\n {\n \"key\": \"810117\",\n \"value\": \"葵青区\"\n },\n {\n \"key\": \"810118\",\n \"value\": \"离岛区\"\n }]\n},\n{\n \"key\": \"820000\",\n \"value\": \"澳门\",\n \"children\": [{\n \"key\": \"820101\",\n \"value\": \"花地玛堂区\"\n },\n {\n \"key\": \"820102\",\n \"value\": \"圣安多尼堂区\"\n },\n {\n \"key\": \"820103\",\n \"value\": \"大堂区\"\n },\n {\n \"key\": \"820104\",\n \"value\": \"望德堂区\"\n },\n {\n \"key\": \"820105\",\n \"value\": \"风顺堂区\"\n },\n {\n \"key\": \"820106\",\n \"value\": \"嘉模堂区\"\n },\n {\n \"key\": \"820107\",\n \"value\": \"圣方济各堂区\"\n },\n {\n \"key\": \"820108\",\n \"value\": \"路氹城\"\n }]\n}]\n\nexport default citys\n","// Picker 滚动选择器\nvar Picker = function (params) {\n if (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n /* ------------------------\n Model\n ------------------------ */\n var defaults = {\n dataKeyPropertyName: 'key',\n dataValuePropertyName: 'value',\n\n overflowContainer: document.body,\n overflowContainerActiveClass: 'overflow-hidden',\n\n mask: null,\n\n maskClass: 'mask',\n maskActiveClass: 'active',\n maskFeatureClass: 'picker-mask',\n\n pickerClass: 'picker',\n pickerActiveClass: 'active',\n\n headerClass: 'picker-header',\n headerSubmitClass: 'picker-submit',\n headerSubmitText: window._seeds_lang['finish'] || '完成',\n headerCancelClass: 'picker-cancel',\n headerCancelText: window._seeds_lang['cancel'] || '取消',\n\n wrapperClass: 'picker-wrapper',\n\n slotboxClass: 'picker-slotbox',\n slotClass: 'picker-slot',\n\n layerClass: 'picker-layer',\n layerFrameClass: 'picker-layer-frame',\n layerFrameHTML: '<div class=picker-layer-frame></div>',\n\n lockClass: 'lock',\n\n cellHeight: 44,\n bounceRange: 44, // 弹性值\n\n /* callbacks\n onInit:function (Picker)\n onClickCancel:function (Picker)\n onClickSubmit:function (Picker)\n onClickMask:functioin (Picker)\n onScrollStart:function (Picker)\n onScroll:function (Picker)\n onScrollEnd:function (Picker)\n onTransitionEnd:function (Picker)// 动画结束后回调\n onShowed(Picker)// 显示动画结束后回调\n onHid(Picker)// 隐藏动画结束后回调\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // Picker\n var s = this\n\n // Params\n s.params = params\n // Dom元素\n s.overflowContainer = typeof s.params.overflowContainer === 'string' ? document.querySelector(s.params.overflowContainer) : s.params.overflowContainer\n if (!s.overflowContainer) {\n console.log('SeedsUI Error:未找到Picker的overflowContainer元素,请检查传入参数是否正确')\n return\n }\n s.picker = null\n s.mask = null\n s.header = null\n s.wrapper = null\n s.slotbox = null\n s.layer = null\n s.headerSubmit = null\n s.headerCancel = null\n\n // 选中项\n s.activeOptions = []\n // 新建Picker\n s.createPicker = function () {\n var picker = document.createElement('div')\n picker.setAttribute('class', s.params.pickerClass)\n return picker\n }\n\n // 新建Header\n s.createHeader = function () {\n var header = document.createElement('div')\n header.setAttribute('class', s.params.headerClass)\n return header\n }\n\n // 新建Header按钮\n s.createHeaderSubmit = function () {\n var headerSubmit = document.createElement('a')\n headerSubmit.setAttribute('class', s.params.headerSubmitClass)\n headerSubmit.innerHTML = s.params.headerSubmitText\n return headerSubmit\n }\n s.createHeaderCancel = function () {\n var headerCancel = document.createElement('a')\n headerCancel.setAttribute('class', s.params.headerCancelClass)\n headerCancel.innerHTML = s.params.headerCancelText\n return headerCancel\n }\n\n // 新建Wrapper\n s.createWrapper = function () {\n var wrapper = document.createElement('div')\n wrapper.setAttribute('class', s.params.wrapperClass)\n return wrapper\n }\n\n // 新建Slotbox\n s.createSlotbox = function () {\n var slotbox = document.createElement('div')\n slotbox.setAttribute('class', s.params.slotboxClass)\n return slotbox\n }\n\n // 新建Layer\n s.createLayer = function () {\n var layer = document.createElement('div')\n layer.setAttribute('class', s.params.layerClass)\n layer.innerHTML = s.params.layerFrameHTML\n return layer\n }\n\n // 新建Mask\n s.createMask = function () {\n var mask = document.createElement('div')\n mask.setAttribute('class', s.params.maskClass + ' ' + s.params.maskFeatureClass)\n return mask\n }\n\n // 创建DOM\n s.create = function () {\n if (s.params.mask) s.mask = typeof s.params.mask === 'string' ? document.querySelector(s.params.mask) : s.params.mask\n\n if (s.mask) {\n s.picker = s.mask.querySelector('.' + s.params.pickerClass)\n s.header = s.mask.querySelector('.' + s.params.headerClass)\n s.headerSubmit = s.mask.querySelector('.' + s.params.headerSubmitClass)\n s.headerCancel = s.mask.querySelector('.' + s.params.headerCancelClass)\n s.wrapper = s.mask.querySelector('.' + s.params.wrapperClass)\n s.slotbox = s.mask.querySelector('.' + s.params.slotboxClass)\n s.layer = s.mask.querySelector('.' + s.params.layerClass)\n } else {\n s.mask = s.createMask()\n s.picker = s.createPicker()\n s.header = s.createHeader()\n s.headerSubmit = s.createHeaderSubmit()\n s.headerCancel = s.createHeaderCancel()\n s.wrapper = s.createWrapper()\n s.slotbox = s.createSlotbox()\n s.layer = s.createLayer()\n\n s.header.appendChild(s.headerCancel)\n s.header.appendChild(s.headerSubmit)\n\n s.wrapper.appendChild(s.layer)\n s.wrapper.appendChild(s.slotbox)\n\n s.picker.appendChild(s.header)\n s.picker.appendChild(s.wrapper)\n\n s.mask.appendChild(s.picker)\n s.overflowContainer.appendChild(s.mask)\n }\n // 兼容安卓部分机型touch事件不工作的问题\n var andriodExp = navigator.userAgent.toLowerCase().match(/android\\s*(\\d*\\.*\\d*)/)\n if (andriodExp && andriodExp[1]) {\n if (andriodExp[1] < '5.0') s.mask.setAttribute('onTouchStart', '')\n }\n }\n s.create()\n /* ------------------------\n Method\n ------------------------ */\n // 添加一列\n s.addSlot = function (values, defaultKey, classes) {\n if (!classes) classes = ''\n // 设置属性\n var slot = document.createElement('ul')\n slot.setAttribute('class', s.params.slotClass + ' ' + classes)\n slot.values = values\n slot.defaultKey = defaultKey\n if (classes.indexOf(s.params.lockClass) >= 0) slot.isLock = true\n else slot.isLock = false\n\n // 添加到集合里\n s.slotbox.appendChild(slot)\n\n // 渲染\n slot.index = s.slotbox.children.length - 1\n s.renderSlot(slot)\n }\n // 替换一列\n s.replaceSlot = function (index, values, defaultKey, classes, fn) {\n if (!classes) classes = ''\n // 设置属性\n var slot = s.slotbox.children[index]\n slot.setAttribute('class', s.params.slotClass + ' ' + classes)\n slot.values = values\n slot.defaultKey = defaultKey\n if (classes.indexOf(s.params.lockClass) >= 0) slot.isLock = true\n else slot.isLock = false\n\n if (classes.indexOf(s.params.lockClass) >= 0) s.slotbox.children[index].isLock = true\n else s.slotbox.children[index].isLock = false\n // 渲染\n s.renderSlot(slot)\n // 回调\n if (fn) fn(s)\n }\n\n s.renderSlot = function (slot) { // 渲染一列\n var index = slot.index\n var values = slot.values\n slot.innerHTML = ''\n // 渲染\n var li = ''\n var defaultIndex = 0\n for (var i = 0; i < values.length; i++) {\n // 获得defaultIndex\n if (slot.defaultKey && slot.defaultKey == values[i][s.params.dataKeyPropertyName]) { // eslint-disable-line\n defaultIndex = i\n }\n\n // 把li添加到槽中\n li += '<li>' + values[i][s.params.dataValuePropertyName] + '</li>'\n }\n slot.innerHTML = li\n // 选中项\n s.activeOptions[index] = slot.values[defaultIndex]\n // 设置一槽的属性\n /*\n slot.values\n slot.defaultKey\n slot.index\n */\n slot.defaultPosY = -defaultIndex * s.params.cellHeight\n slot.posY = -defaultIndex * s.params.cellHeight\n slot.minPosY = 0\n slot.maxPosY = -(slot.values.length - 1) * s.params.cellHeight\n slot.minBouncePosY = s.params.bounceRange\n slot.maxBouncePosY = slot.maxPosY - s.params.bounceRange\n\n slot.style.webkitTransform = 'translate(0px,' + slot.posY + 'px)'\n }\n s.isHid = true\n // 隐藏\n s.hide = function () {\n s.isHid = true\n s.mask.classList.remove(s.params.maskActiveClass)\n s.picker.classList.remove(s.params.pickerActiveClass)\n // 显示滚动条\n if (s.overflowContainer) s.overflowContainer.classList.remove(s.params.overflowContainerActiveClass)\n }\n s.show = function () { // 显示\n s.isHid = false\n s.mask.classList.add(s.params.maskActiveClass)\n s.picker.classList.add(s.params.pickerActiveClass)\n // 禁用滚动条\n if (s.overflowContainer) s.overflowContainer.classList.add(s.params.overflowContainerActiveClass)\n }\n s.clearSlots = function () { // 清除\n // 清空数据\n s.slotbox.innerHTML = ''\n }\n s.destroy = function () { // 销毁\n s.overflowContainer.removeChild(s.mask)\n }\n // 计算惯性时间与坐标,返回距离和时间\n s.calcInertance = function (opts) {\n // 摩擦力\n var friction = 0.002\n // 滑动距离\n var opRange = opts.range\n // 滑动时长\n var opDuration = opts.duration\n\n // 使用公式算出duration(新时长)\n var duration = (2 * opRange / opDuration) / friction\n // 使用公式算出offset(新距离)\n var range = -(friction / 2) * (duration * duration)\n if (opRange < 0) { // 如果拖动间距为负值,则为向下拖动\n duration = -duration\n range = -range\n }\n /* console.log('滑动距离:' + opRange)\n console.log('滑动时长:' + opDuration)\n console.log('新时长:' + duration)\n console.log('新距离:' + range) */\n // 使用距离计算新的位置\n var value = opts.current + range\n\n // 矫正位置与时长\n if (value > opts.min) { // 最上面\n // Math.abs(Math.round(value)) - Math.abs(Math.round(opts.min))\n duration = 300\n value = opts.min\n } else if (value < opts.max) { // 最下面\n duration = 300\n value = opts.max\n } else { // 在中间\n var remainder = value % s.params.cellHeight\n if (remainder !== 0) {\n // 算出比例\n var divided = Math.round(value / s.params.cellHeight)\n // 对准位置\n value = s.params.cellHeight * divided\n }\n }\n\n // 更新选中项\n s.updateActiveOptions(s.activeSlot, value)\n\n // 返回值\n return {\n duration: Math.round(duration),\n value: Math.round(value)\n }\n }\n // 更新列表激活状态\n s.updateActiveOptions = function (slot, posY) {\n var index = -Math.round((posY - s.params.cellHeight * 2) / s.params.cellHeight) - 2\n // 添加到激活项\n var activeOption = slot.values[index]\n s.activeOptions[slot.index] = activeOption\n }\n /* ------------------------\n Events\n ------------------------ */\n s.isSupportTouch = 'ontouchstart' in window\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n // touch兼容pc事件\n if (s.isSupportTouch) {\n s.slotbox[action]('touchstart', s.onTouchStart, false)\n s.slotbox[action]('touchmove', s.onTouchMove, false)\n s.slotbox[action]('touchend', s.onTouchEnd, false)\n s.slotbox[action]('touchcancel', s.onTouchEnd, false)\n } else {\n s.slotbox[action]('mousedown', s.onTouchStart, false)\n s.slotbox[action]('mousemove', s.onTouchMove, false)\n s.slotbox[action]('mouseup', s.onTouchEnd, false)\n }\n // 选择器事件\n s.picker[action]('webkitTransitionEnd', s.onTransitionEnd, false)\n // 遮罩\n s.mask[action]('click', s.onClick, false)\n }\n s.detach = function (event) {\n s.events(true)\n }\n s.attach = function (event) {\n s.events()\n }\n\n s.onClick = function (e) {\n s.event = e\n // 点击容器\n if (s.params.onClick) {\n s.params.onClick(s)\n }\n if (e.target.classList.contains(s.params.maskClass)) { // 点击遮罩\n s.onClickMask(s)\n } else if (e.target.classList.contains(s.params.headerSubmitClass)) { // 点击确定按钮\n s.onClickSubmit(s)\n } else if (e.target.classList.contains(s.params.headerCancelClass)) { // 点击确定按钮\n s.onClickCancel(s)\n }\n }\n\n // Mask\n s.onClickMask = function (s) {\n if (s.params.onClickMask) s.params.onClickMask(s)\n else s.hide()\n }\n\n // Submit|Cancel\n s.onClickSubmit = function (s) {\n if (s.params.onClickSubmit) s.params.onClickSubmit(s)\n else s.hide()\n }\n s.onClickCancel = function (s) {\n if (s.params.onClickCancel) s.params.onClickCancel(s)\n else s.hide()\n }\n\n s.touches = {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n endX: 0,\n endY: 0,\n startTimeStamp: 0,\n duration: 0,\n diffX: 0,\n diffY: 0,\n posY: 0,\n currentPosY: 0,\n direction: null\n }\n s.startMouseMove = false\n // 触摸事件\n s.onTouchStart = function (e) {\n s.startMouseMove = true\n s.touches.startX = e.clientX || e.touches[0].clientX\n s.touches.startY = e.clientY || e.touches[0].clientY\n // 寻找当前点击的槽\n s.activeSlot = e.target\n\n // 锁定的槽将不工作\n if (s.activeSlot.isLock) return\n\n // 获得位置\n s.touches.posY = s.activeSlot.posY\n\n // 清除动画\n s.activeSlot.style.webkitTransitionDuration = 0\n\n // 记录点击时间\n s.touches.startTimeStamp = e.timeStamp\n // Callback\n if (s.params.onScrollStart) s.params.onScrollStart(s)\n }\n s.onTouchMove = function (e) {\n if (!s.startMouseMove) return\n e.preventDefault()\n // 锁定的槽将不工作\n if (s.activeSlot.isLock) return\n\n s.touches.currentY = e.clientY || e.touches[0].clientY\n s.touches.diffY = s.touches.startY - s.touches.currentY\n s.touches.currentPosY = s.touches.posY - s.touches.diffY\n if (s.touches.currentPosY > s.activeSlot.minBouncePosY) {\n s.touches.currentPosY = s.activeSlot.minBouncePosY\n } else if (s.touches.currentPosY < s.activeSlot.maxBouncePosY) {\n s.touches.currentPosY = s.activeSlot.maxBouncePosY\n }\n s.activeSlot.style.webkitTransform = 'translate(0px,' + s.touches.currentPosY + 'px)'\n\n // Callback\n if (s.params.onScroll) s.params.onScroll(s)\n }\n s.onTouchEnd = function (e) {\n s.startMouseMove = false\n // 锁定的槽将不工作\n if (s.activeSlot.isLock) return\n\n s.touches.endX = e.clientX || e.changedTouches[0].clientX\n s.touches.endY = e.clientY || e.changedTouches[0].clientY\n s.touches.diffX = s.touches.startX - s.touches.endX\n s.touches.diffY = s.touches.startY - s.touches.endY\n // 判断是否是tap\n if (Math.abs(s.touches.diffX) < 6 && Math.abs(s.touches.diffY) < 6) {\n return\n }\n\n // 计算拖动时间\n s.touches.duration = e.timeStamp - s.touches.startTimeStamp\n\n // 惯性值计算\n var inertance = s.calcInertance({\n range: s.touches.diffY,\n duration: s.touches.duration,\n current: s.touches.currentPosY,\n min: s.activeSlot.minPosY,\n max: s.activeSlot.maxPosY\n })\n // 滚动到指定位置\n s.activeSlot.style.webkitTransitionDuration = inertance.duration + 'ms'\n s.activeSlot.posY = inertance.value\n s.activeSlot.style.webkitTransform = 'translate(0px,' + inertance.value + 'px)'\n\n // Callback onScrollEnd\n if (s.params.onScrollEnd) s.params.onScrollEnd(s)\n }\n\n s.onTransitionEnd = function (e) {\n var target = e.target\n if (e.propertyName !== 'transform' || target !== s.picker) {\n return\n }\n // 容器显隐\n if (target.classList.contains(s.params.pickerClass)) {\n if (s.params.onTransitionEnd) s.params.onTransitionEnd(s)\n if (s.isHid) {\n if (s.params.onHid) s.params.onHid(s)\n } else {\n if (s.params.onShowed) s.params.onShowed(s)\n }\n }\n }\n\n s.init = function () {\n if (s.params.onInit) s.params.onInit(s)\n s.attach()\n }\n s.init()\n return s\n}\n\nexport default Picker\n","import Picker from './../Picker/instance.js'\nvar PickerCity = function (params) {\n // 参数改写\n var onCityClickSubmit = params.onClickSubmit\n var onCityScrollEnd = params.onScrollEnd\n params.onClickSubmit = undefined\n params.onScrollEnd = undefined\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n dataKeyPropertyName: 'key',\n dataValuePropertyName: 'value',\n dataChildPropertyName: 'children',\n\n split: '-',\n \n viewType: 'district',\n data: null,\n\n defaultProvinceKey: '',\n defaultCityKey: '',\n defaultDistrictKey: '',\n\n defaultProvince: '北京市',\n defaultCity: '东城区',\n defaultDistrict: '',\n\n provinceClass: 'text-center',\n cityClass: 'text-center',\n districtClass: 'text-center',\n\n onClickSubmit: function (e) {\n e.activeText = getActiveText(e.activeOptions)\n setActiveKeys(e.activeOptions)\n if (onCityClickSubmit) onCityClickSubmit(e)\n },\n onScrollEnd: function (e) {\n // var activeOption = e.activeSlot.values[e.activeSlot.activeIndex]\n var activeOption = e.activeOptions[e.activeSlot.index]\n if (e.activeSlot.index === 0) { // 滚动省\n var city = replaceCity(activeOption[s.params.dataKeyPropertyName]) // 修改第二项\n replaceDistrict(city[0][s.params.dataKeyPropertyName]) // 修改第三项\n } else if (e.activeSlot.index === 1) { // 滚动市\n replaceDistrict(activeOption[s.params.dataKeyPropertyName]) // 修改第三项\n }\n // 回调\n if (onCityScrollEnd) onCityScrollEnd(e)\n }\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined || params[def] === null) {\n params[def] = defaults[def]\n }\n }\n var s = new Picker(params)\n \n // DefaultValue\n s.params.defaultValues = [{\n [s.params.dataKeyPropertyName]: '',\n [s.params.dataValuePropertyName]: '----'\n }]\n\n // Data\n if (!s.params.data) return\n \n // 省、市、区数据\n s.province = null\n s.city = null\n s.district = null\n // 省、市、区选中的key\n s.activeProvinceKey = null\n s.activeCityKey = null\n s.activeDistrictKey = null\n\n // 设置默认值\n s.setActiveProvinceKey = function (key) {\n s.activeProvinceKey = ('' + key).replace(/(^\\s*)|(\\s*$)/, '')\n }\n s.setActiveCityKey = function (key) {\n s.activeCityKey = ('' + key).replace(/(^\\s*)|(\\s*$)/, '')\n }\n s.setActiveDistrictKey = function (key) {\n s.activeDistrictKey = ('' + key).replace(/(^\\s*)|(\\s*$)/, '')\n }\n\n /* --------------------\n Method\n -------------------- */\n // 设置数据\n s.setData = function (data, dataProperty) {\n if (data) s.params.data = data\n if (dataProperty && dataProperty.dataKeyPropertyName) s.params.dataKeyPropertyName = dataProperty.dataKeyPropertyName\n if (dataProperty && dataProperty.dataValuePropertyName) s.params.dataValuePropertyName = dataProperty.dataValuePropertyName\n if (dataProperty && dataProperty.dataChildPropertyName) s.params.dataChildPropertyName = dataProperty.dataChildPropertyName\n }\n // 根据省市区名获得keys,返回:['320000','320100','320105'],参数:['江苏省','南京市','建邺区']\n s.getKeysByValues = function(values) {\n var keys = []\n for (var i = 0, province; province = s.params.data[i++];) { // eslint-disable-line\n // 获得省, 兼容简称模式: 例如\"江苏省\"和\"江苏\"也能匹配成功\n if (values[0] && (province[s.params.dataValuePropertyName].indexOf(values[0]) > -1 || values[0].indexOf(province[s.params.dataValuePropertyName]) > -1)) {\n keys.push(province[s.params.dataKeyPropertyName])\n for (var j = 0, city; city = province[s.params.dataChildPropertyName][j++];) { // eslint-disable-line\n // 获得市\n if (values[1] && (city[s.params.dataValuePropertyName].indexOf(values[1]) > -1 || values[1].indexOf(city[s.params.dataValuePropertyName]) > -1)) {\n keys.push(city[s.params.dataKeyPropertyName])\n if (values[2]) {\n for (var k = 0, district; district = city[s.params.dataChildPropertyName][k++];) { // eslint-disable-line\n // 获得区\n if (values[2] && (district[s.params.dataValuePropertyName].indexOf(values[2]) > -1 || values[2].indexOf(district[s.params.dataValuePropertyName]) > -1)) {\n keys.push(district[s.params.dataKeyPropertyName])\n return keys\n }\n }\n } else {\n return keys\n }\n }\n }\n }\n }\n // 如果省市区不对,则返回第一个省第一个市\n return [s.params.data[0][s.params.dataKeyPropertyName], s.params.data[0][s.params.dataChildPropertyName][0][s.params.dataKeyPropertyName]]\n }\n // 根据省市区名获得keys,返回:['江苏省','南京市','建邺区'],参数:['320000','320100','320105']\n s.getValuesByKeys = function (keys) {\n var values = []\n for (var i = 0, province; province = s.params.data[i++];) { // eslint-disable-line\n // 获得省, 兼容简称模式: 例如\"江苏省\"和\"江苏\"也能匹配成功\n if (keys[0] && province[s.params.dataKeyPropertyName] === keys[0]) {\n values.push(province[s.params.dataValuePropertyName])\n for (var j = 0, city; city = province[s.params.dataChildPropertyName][j++];) { // eslint-disable-line\n // 获得市\n if (keys[1] && city[s.params.dataKeyPropertyName] === keys[1]) {\n values.push(city[s.params.dataValuePropertyName])\n if (keys[2]) {\n for (var k = 0, district; district = city[s.params.dataChildPropertyName][k++];) { // eslint-disable-line\n // 获得区\n if (keys[2] && district[s.params.dataKeyPropertyName] === keys[2]) {\n values.push(district[s.params.dataValuePropertyName])\n return values\n }\n }\n } else {\n return values\n }\n }\n }\n }\n }\n // 如果省市区不对,则返回第一个省第一个市\n return [s.params.data[0][s.params.dataValuePropertyName], s.params.data[0][s.params.dataChildPropertyName][0][s.params.dataValuePropertyName]]\n }\n // 获取value,根据key\n s.getValueByKey = function (key) {\n for (var i = 0, province; province = s.params.data[i++];) { // eslint-disable-line\n // 获得省, 兼容简称模式: 例如\"江苏省\"和\"江苏\"也能匹配成功\n if (province[s.params.dataKeyPropertyName] === key) return province[s.params.dataValuePropertyName]\n for (var j = 0, city; city = province[s.params.dataChildPropertyName][j++];) { // eslint-disable-line\n // 获得市\n if (city[s.params.dataKeyPropertyName] === key) return city[s.params.dataValuePropertyName]\n for (var k = 0, district; district = city[s.params.dataChildPropertyName][k++];) { // eslint-disable-line\n // 获得区\n if (district[s.params.dataKeyPropertyName] === key) return district[s.params.dataValuePropertyName]\n }\n }\n }\n }\n // 设置选中的省市区,参数:['江苏省','南京市','建邺区']\n s.setDefaultValues = function (argActiveValues) {\n var activeValues = argActiveValues || ''\n // 设置选中的key\n var keys = s.getKeysByValues(activeValues)\n if (keys && keys[0]) s.setActiveProvinceKey(keys[0])\n if (keys && keys[1]) s.setActiveCityKey(keys[1])\n if (keys && keys[2]) s.setActiveDistrictKey(keys[2])\n }\n // 设置选中的省市区编码,参数:['320000','320100','320105']\n s.setDefaultKeys = function (argActiveKeys) {\n if (!Array.isArray(argActiveKeys) || argActiveKeys.length < 2) {\n return\n }\n // 设置选中的key\n var keys = argActiveKeys\n if (keys && keys[0]) s.setActiveProvinceKey(keys[0])\n if (keys && keys[1]) s.setActiveCityKey(keys[1])\n if (keys && keys[2]) s.setActiveDistrictKey(keys[2])\n }\n \n // 获得选中的文字\n function getActiveText (activeOptions) {\n var activeValues = activeOptions.map(function (n, i, a) {\n return n[s.params.dataValuePropertyName]\n })\n var activeText = ''\n if (activeValues[0]) activeText += activeValues[0]\n if (activeValues[1]) activeText += s.params.split + activeValues[1]\n if (activeValues[2] && activeValues[2] !== s.params.defaultValues[0][s.params.dataValuePropertyName]) activeText += s.params.split + activeValues[2]\n return activeText\n }\n // 设置选中的keys\n function setActiveKeys (activeOptions) {\n var activeKeys = activeOptions.map(function (n, i, a) {\n return n[s.params.dataKeyPropertyName]\n })\n if (activeKeys[0]) s.setActiveProvinceKey(activeKeys[0])\n if (activeKeys[1]) s.setActiveCityKey(activeKeys[1])\n if (activeKeys[2]) s.setActiveDistrictKey(activeKeys[2])\n }\n\n // 获得第一层\n function getPureArray (array) {\n var arr = []\n /* eslint-disable */\n for (var i = 0, opt; opt = array[i++];) {\n arr.push({\n [s.params.dataKeyPropertyName]: opt[s.params.dataKeyPropertyName],\n [s.params.dataValuePropertyName]: opt[s.params.dataValuePropertyName]\n })\n }\n /* eslint-enable */\n return arr\n }\n\n // 根据key获得children\n function getChildrenByKey (key) {\n // 如果没有传key,表示获得第一层\n if (!key) return getPureArray(s.params.data)\n // 如果传key,则找到对应key的子级\n /* eslint-disable */\n for (var i = 0, province; province = s.params.data[i++];) {\n if (province[s.params.dataKeyPropertyName] == key) return getPureArray(province[s.params.dataChildPropertyName])\n for (var j = 0, city; city = province[s.params.dataChildPropertyName][j++];) {\n if (!city[s.params.dataChildPropertyName]) break\n if (city[s.params.dataKeyPropertyName] == key) return getPureArray(city[s.params.dataChildPropertyName])\n }\n }\n /* eslint-enable */\n return null\n }\n /* ----------------\n Init\n ---------------- */\n /* // 替换省\n function replaceProvince (activeKey) {\n var provinces = getChildrenByKey()\n s.replaceSlot(0, provinces, activeKey || provinces[0][s.params.dataKeyPropertyName], s.params.cityClass)\n return provinces\n } */\n // 替换市\n function replaceCity (key, activeKey) {\n var citys = getChildrenByKey(key)\n s.replaceSlot(1, citys, activeKey || citys[0][s.params.dataKeyPropertyName], s.params.cityClass)\n return citys\n }\n // 替换区\n function replaceDistrict (key, activeKey) {\n if (s.params.viewType !== 'district') return\n var districts = getChildrenByKey(key)\n if (districts && districts.length && districts.length > 0) {\n s.replaceSlot(2, districts, activeKey || districts[0][s.params.dataKeyPropertyName], s.params.districtClass)\n } else {\n s.replaceSlot(2, s.params.defaultValues, s.params.defaultValues[s.params.dataKeyPropertyName], s.params.districtClass)\n }\n }\n // 添加省\n function addProvince () {\n s.province = getChildrenByKey()\n if (!s.activeProvinceKey) {\n s.setActiveProvinceKey(s.province[0][s.params.dataKeyPropertyName])\n }\n s.addSlot(s.province, s.activeProvinceKey, s.params.provinceClass)\n }\n // 添加市\n function addCity () {\n s.city = getChildrenByKey(s.activeProvinceKey)\n // code有误\n if (!s.city) {\n console.warn('SeedsUI PickerCity: 上级省code' + s.activeProvinceKey + '下级不存在,将默认选中第一个城市')\n s.setActiveProvinceKey(s.province[0][s.params.dataKeyPropertyName])\n s.city = getChildrenByKey(s.activeProvinceKey)\n s.setActiveCityKey(s.city[0][s.params.dataKeyPropertyName])\n }\n if (!s.activeCityKey) {\n s.setActiveCityKey(s.city[0][s.params.dataKeyPropertyName])\n }\n s.addSlot(s.city, s.activeCityKey, s.params.cityClass)\n }\n // 添加区\n function addDistrict () {\n if (s.params.viewType !== 'district') return\n s.district = getChildrenByKey(s.activeCityKey)\n // code有误\n if (!s.district) {\n console.warn('SeedsUI PickerCity: 上级市code' + s.activeCityKey + '下级不存在,将默认选中第一个区县或置空')\n s.setActiveCityKey(s.city[0][s.params.dataKeyPropertyName])\n s.district = getChildrenByKey(s.city[0][s.params.dataKeyPropertyName])\n if (s.district) s.setActiveDistrictKey(s.district[0][s.params.dataKeyPropertyName])\n }\n if (!s.activeDistrictKey && s.district) {\n s.setActiveDistrictKey(s.district[0][s.params.dataKeyPropertyName])\n }\n if (s.district) {\n s.addSlot(s.district, s.activeDistrictKey, s.params.districtClass)\n } else {\n s.addSlot(s.params.defaultValues, '', s.params.districtClass)\n }\n }\n \n function initSlots () {\n // 渲染\n addProvince()\n addCity()\n addDistrict()\n }\n s.update = function () {\n s.clearSlots()\n initSlots()\n }\n // 设置默认选中项\n if (s.params.defaultProvinceKey && s.params.defaultCityKey) {\n s.setDefaultKeys([s.params.defaultProvinceKey, s.params.defaultCityKey, s.params.defaultDistrictKey])\n } else {\n s.setDefaultValues([s.params.defaultProvince, s.params.defaultCity, s.params.defaultDistrict])\n }\n // 添加省市区\n initSlots()\n return s\n}\n\nexport default PickerCity\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\nimport data from './instance.data.js';\nimport Instance from './instance.js';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class PickerCity extends Component {\n static propTypes = {\n data: PropTypes.array,\n dataKeyPropertyName: PropTypes.string,\n dataValuePropertyName: PropTypes.string,\n dataChildPropertyName: PropTypes.string,\n\n portal: PropTypes.object,\n split: PropTypes.string,\n type: PropTypes.string, // district | city\n\n maskClassName: PropTypes.string,\n maskStyle: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n\n value: PropTypes.string,\n valueForKey: PropTypes.string,\n show: PropTypes.bool,\n onClickMask: PropTypes.func,\n onClickCancel: PropTypes.func,\n onClickSubmit: PropTypes.func\n }\n static defaultProps = {\n data: null,\n dataKeyPropertyName: 'key',\n dataValuePropertyName: 'value',\n dataChildPropertyName: 'children',\n\n split: '-',\n type: 'district'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n this.initInstance()\n }\n shouldComponentUpdate = (nextProps) => {\n if (nextProps.show === this.props.show) return false;\n return true;\n }\n componentDidUpdate = (prevProps) => {\n if (this.instance) {\n if (this.props.show) {\n if (this.props.data) {\n this.instance.setData(this.props.data, {\n dataChildPropertyName: this.props.dataChildPropertyName,\n dataKeyPropertyName: this.props.dataKeyPropertyName,\n dataValuePropertyName: this.props.dataValuePropertyName\n });\n }\n this.setDefault();\n this.instance.show();\n }\n else this.instance.hide()\n }\n }\n setDefault = () => {\n const {valueForKey, split} = this.props;\n if (valueForKey && valueForKey.split(split).length > 1 && valueForKey.split(split).some(key => {return !isNaN(key)})) {\n this.instance.setDefaultKeys(valueForKey.split(split));\n } else {\n const defaultValues = this.getDefaultValues();\n this.instance.setDefaultValues(defaultValues);\n }\n this.instance.update();\n }\n getDefaultValues = () => {\n // 默认值\n var defaultValue = this.props.value;\n var defaultValues = [];\n if (defaultValue) {\n defaultValues = defaultValue.split(this.props.split).map((item) => {\n return item.trim();\n });\n }\n return defaultValues;\n }\n getDefaultKeys = () => {\n const {valueForKey, split} = this.props;\n if (valueForKey && valueForKey.split(split).length > 1) {\n return valueForKey.split(split);\n }\n return ['', '', ''];\n }\n initInstance = () => {\n var defaultValues = this.getDefaultValues();\n var defaultKeys = this.getDefaultKeys();\n // render数据\n const instance = new Instance({\n data: this.props.data || data,\n dataKeyPropertyName: this.props.dataKeyPropertyName,\n dataValuePropertyName: this.props.dataValuePropertyName,\n dataChildPropertyName: this.props.dataChildPropertyName,\n \n mask: this.$el,\n split: this.props.split,\n viewType: this.props.type,\n defaultProvinceKey: defaultKeys[0] || '',\n defaultCityKey: defaultKeys[1] || '',\n defaultDistrictKey: defaultKeys[2] || '',\n defaultProvince: defaultValues[0] || '',\n defaultCity: defaultValues[1] || '',\n defaultDistrict: defaultValues[2] || '',\n onClickMask: (e) => {\n if (this.props.onClickMask) this.props.onClickMask(e)\n },\n onClickCancel: (e) => {\n // e.hide()\n if (this.props.onClickCancel) this.props.onClickCancel(e);\n },\n onClickSubmit: (e) => {\n // e.hide()\n if (this.props.onClickSubmit) this.props.onClickSubmit(e);\n },\n onHid: (e) => {\n }\n });\n if (this.props.show && instance) {\n setTimeout(function(){\n instance.show();\n },10);\n }\n this.instance = instance;\n }\n render() {\n const {maskClassName, maskStyle, className, style} = this.props;\n return createPortal(\n <div className={`mask picker-mask${maskClassName ? ' ' + maskClassName : ''}`} style={maskStyle} ref={(el) => {this.$el = el}}>\n <div className={`picker${className ? ' ' + className : ''}`} style={style}>\n <div className=\"picker-header\">\n <a className=\"picker-cancel\">{window._seeds_lang['cancel'] || '取消'}</a>\n <a className=\"picker-submit\">{window._seeds_lang['finish'] || '完成'}</a>\n </div>\n <div className=\"picker-wrapper\">\n <div className=\"picker-layer\">\n <div className=\"picker-layer-frame\"></div>\n </div>\n <div className=\"picker-slotbox\"></div>\n </div>\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import PickerCity from './PickerCity.js';\n\nexport default PickerCity;","import InputCity from './InputCity.js';\n\nexport default InputCity;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport InputText from './../InputText';\nimport PickerCity from './../PickerCity';\n\nexport default class InputCity extends Component {\n static propTypes = {\n data: PropTypes.array,\n dataKeyPropertyName: PropTypes.string,\n dataValuePropertyName: PropTypes.string,\n dataChildPropertyName: PropTypes.string,\n\n valueBindProp: PropTypes.bool,\n valueForKey: PropTypes.string,\n split: PropTypes.string,\n type: PropTypes.string, // 'district' | 'city'\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n\n // Picker\n pickerStyle: PropTypes.object,\n pickerClassName: PropTypes.string,\n pickerMaskStyle: PropTypes.object,\n pickerMaskClassName: PropTypes.string,\n // 自定义Picker事件\n pickerShow: PropTypes.bool,\n onClickSubmit: PropTypes.func,\n onClickCancel: PropTypes.func,\n onClickMask: PropTypes.func\n }\n static defaultProps = {\n split: '-',\n type: 'district'\n }\n constructor(props) {\n super(props);\n this.state = {\n show: false\n };\n }\n static defaultProps = {\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n onClick = (value, args) => {\n if (this.props.onClick) this.props.onClick(value, args);\n this.setState({\n show: !this.state.show\n });\n }\n onClickSubmit = (e) => {\n if (!this.$input) this.$input = this.refs.$ComponentInputText.$input;\n if (this.props.onClickSubmit) {\n this.props.onClickSubmit(e);\n return;\n }\n const value = e.activeText;\n const options = e.activeOptions;\n // 赋值\n if (!this.props.valueBindProp) this.$input.value = value;\n this.setState({\n show: !this.state.show\n });\n if (this.props.onChange) {\n this.props.onChange(value, options, this.props.args);\n }\n }\n onClickCancel = (e) => {\n if (this.props.onClickCancel) {\n this.props.onClickCancel(e);\n return;\n }\n this.setState({\n show: !this.state.show\n });\n }\n onClickMask = (e) => {\n if (this.props.onClickMask) {\n this.props.onClickMask(e);\n return;\n }\n this.setState({\n show: !this.state.show\n });\n }\n render() {\n const {\n data, dataKeyPropertyName, dataValuePropertyName, dataChildPropertyName,\n valueForKey, split, type, onClick, onChange,\n pickerStyle, pickerClassName, pickerMaskStyle, pickerMaskClassName, pickerShow, onClickSubmit, onClickCancel, onClickMask, // 自定义Picker事件\n ...others\n } = this.props;\n return [\n <InputText key=\"input\" ref=\"$ComponentInputText\" {...others} type=\"text\" readOnly onClick={this.onClick}/>,\n <PickerCity\n data={data}\n dataChildPropertyName={dataChildPropertyName}\n dataKeyPropertyName={dataKeyPropertyName}\n dataValuePropertyName={dataValuePropertyName}\n valueForKey={valueForKey}\n split={split}\n type={type}\n value={this.$input ? this.$input.value : this.props.value} key=\"pickercity\"\n show={pickerShow === undefined ? this.state.show : pickerShow}\n style={pickerStyle} className={pickerClassName}\n maskStyle={pickerMaskStyle} maskClassName={pickerMaskClassName}\n onClickSubmit={this.onClickSubmit} onClickCancel={this.onClickCancel} onClickMask={this.onClickMask}\n />\n ];\n }\n}\n","import InputColor from './InputColor.js';\n\nexport default InputColor;\n","import React, { Component } from 'react';\nimport InputText from './../InputText';\n\nexport default class InputColor extends Component {\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n render() {\n return <InputText ref=\"$ComponentInputText\" {...this.props} type=\"color\"/>;\n }\n}\n","import Picker from './../Picker/instance.js';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nvar PickerDate = function (params) {\n // 参数改写\n var onDateClickSubmit = params.onClickSubmit\n var onDateScrollEnd = params.onScrollEnd\n params.onClickSubmit = undefined\n params.onScrollEnd = undefined\n var nowDate = new Date()\n /* ----------------\n Model\n ---------------- */\n var defaults = {\n split: '-',\n \n viewType: 'date', // 'date','month','time','datetime'\n isSimpleYear: false,\n\n yearClass: 'text-center',\n monthClass: 'text-center',\n dayClass: 'text-center',\n hourClass: 'text-center',\n minuteClass: 'text-center',\n\n yearsData: null,\n monthsData: null,\n daysData: null,\n hoursData: null,\n minutesData: null,\n\n defaultYear: '',\n defaultMonth: '',\n defaultDay: '',\n defaultHour: '',\n defaultMinute: '',\n\n minYear: nowDate.getFullYear() - 10, // 1950\n maxYear: nowDate.getFullYear() + 10, // 2050\n\n yyUnit: window._seeds_lang['unit_year'] || '年',\n MMUnit: window._seeds_lang['unit_month'] || '月',\n ddUnit: window._seeds_lang['unit_date'] || '日',\n hhUnit: window._seeds_lang['unit_hour'] || '时',\n mmUnit: window._seeds_lang['unit_minute'] || '分',\n\n onClickSubmit: function (e) {\n e.activeText = getActiveText(e.activeOptions)\n var activeKeys = e.activeOptions.map(function (n, i, a) {\n return n['key']\n })\n s.setDefaultsByKeys(activeKeys)\n if (onDateClickSubmit) onDateClickSubmit(e)\n },\n onScrollEnd: function (e) {\n // 根据月份算日\n if ((e.params.viewType === 'date' || e.params.viewType === 'datetime') && (e.activeSlot.index === 0 || e.activeSlot.index === 1)) {\n var year = e.activeOptions[0]['key']\n var month = e.activeOptions[1]['key']\n var defaultDay = e.activeOptions[2]['key']\n updateDays(year, month, defaultDay) // 更新总天数\n }\n // 回调\n if (onDateScrollEnd) onDateScrollEnd(e)\n }\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = new Picker(params)\n\n function trim (str) {\n return str.replace(/(^\\s*)|(\\s*$)/g, '')\n }\n // 设置默认值\n s.setDefaultYear = function (yearKey) {\n s.params.defaultYear = trim('' + yearKey)\n }\n s.setDefaultMonth = function (monthKey) {\n s.params.defaultMonth = trim('' + monthKey)\n }\n s.setDefaultDay = function (dayKey) {\n s.params.defaultDay = trim('' + dayKey)\n }\n s.setDefaultHour = function (hourKey) {\n s.params.defaultHour = trim('' + hourKey)\n }\n s.setDefaultMinute = function (minuteKey) {\n s.params.defaultMinute = trim('' + minuteKey)\n }\n\n // 默认时间\n s.updateDetault = function () {\n nowDate = new Date()\n // 默认值\n if (!s.params.defaultYear) {\n var yyyy = nowDate.getFullYear()\n var _yyyy = '' + yyyy\n s.setDefaultYear(_yyyy)\n }\n if (!s.params.defaultMonth) {\n var MM = nowDate.getMonth() + 1\n var _MM = MM.toString().length === 1 ? '0' + MM : MM\n s.setDefaultMonth(_MM)\n }\n if (!s.params.defaultDay) {\n var dd = nowDate.getDate()\n var _dd = dd.toString().length === 1 ? '0' + dd : dd\n s.setDefaultDay(_dd)\n }\n if (!s.params.defaultHour) {\n var hh = nowDate.getHours()\n var _hh = hh.toString().length === 1 ? '0' + hh : hh\n s.setDefaultHour(_hh)\n }\n if (!s.params.defaultMinute) {\n var mm = nowDate.getMinutes()\n var _mm = mm.toString().length === 1 ? '0' + mm : mm\n s.setDefaultMinute(_mm)\n }\n }\n s.updateDetault()\n\n // 年\n s.years = []\n if (s.params.yearsData) {\n s.years = s.params.yearsData\n } else {\n for (var yyyy = s.params.minYear; yyyy <= s.params.maxYear; yyyy++) {\n s.years.push({\n 'key': '' + yyyy,\n 'value': s.params.isSimpleYear ? yyyy.toString().substring(2, 4) + s.params.yyUnit : yyyy + s.params.yyUnit\n })\n }\n }\n // 月\n s.months = []\n if (s.params.monthsData) {\n s.months = s.params.monthsData\n } else {\n for (var MM = 1; MM <= 12; MM++) {\n var _MM = MM.toString().length === 1 ? '0' + MM : MM\n s.months.push({\n 'key': '' + _MM,\n 'value': _MM + s.params.MMUnit\n })\n }\n }\n // 日\n s.days = []\n var currentMaxday = new Date(nowDate.getFullYear(), nowDate.getMonth() + 1, 0).getDate()\n if (s.params.daysData) {\n s.days = Object.clone(s.params.daysData)\n } else {\n for (var dd = 1; dd <= currentMaxday; dd++) {\n var _dd = dd.toString().length === 1 ? '0' + dd : dd\n s.days.push({\n 'key': '' + _dd,\n 'value': _dd + s.params.ddUnit\n })\n }\n }\n\n function updateDaysForDefault (year, month) {\n var lastDay = '' + new Date(year, month, 0).getDate()\n var currentLastDay = s.days[s.days.length - 1]['key']\n if (lastDay === currentLastDay) return\n if (lastDay > currentLastDay) {\n for (var i = 1 + parseInt(currentLastDay, 10); i <= lastDay; i++) {\n s.days.push({\n 'key': '' + i,\n 'value': '' + i + s.params.ddUnit\n })\n }\n } else if (lastDay < currentLastDay) {\n var spliceCount = currentLastDay - lastDay\n s.days.splice(s.days.length - spliceCount, spliceCount)\n }\n }\n function updateDaysForCustom (year, month) {\n var lastDay = '' + new Date(year, month, 0).getDate()\n var currentLastDay = s.days[s.days.length - 1]['key']\n var customData = s.params.daysData\n if (lastDay === currentLastDay) return\n if (lastDay > currentLastDay) {\n customData.forEach(function (n) {\n if (n['key'] <= lastDay && n['key'] > currentLastDay) s.days.push(n)\n })\n } else if (lastDay < currentLastDay) {\n for (var j = currentLastDay; j > lastDay; j--) {\n s.days.forEach(function (n) { // eslint-disable-line\n if (n['key'] === '' + j) s.days.pop()\n })\n }\n }\n }\n function updateDays (year, month, defaultDay) {\n if (s.params.daysData) {\n updateDaysForCustom(year, month)\n } else {\n updateDaysForDefault(year, month)\n }\n var defaultKey = defaultDay\n if (s.days.length < defaultDay) defaultKey = s.days[s.days.length - 1]['key']\n s.replaceSlot(2, s.days, defaultKey, s.params.dayClass) // 修改第三项\n }\n\n // 时\n s.hours = []\n if (s.params.hoursData) {\n s.hours = s.params.hoursData\n } else {\n for (var hh = 0; hh <= 23; hh++) {\n var _hh = hh.toString().length === 1 ? '0' + hh : hh\n s.hours.push({\n 'key': '' + _hh,\n 'value': _hh + s.params.hhUnit\n })\n }\n }\n\n // 分\n s.minutes = []\n if (s.params.minutesData) {\n s.minutes = s.params.minutesData\n } else {\n for (var mm = 0; mm <= 59; mm++) {\n var _mm = mm.toString().length === 1 ? '0' + mm : mm\n s.minutes.push({\n 'key': '' + _mm,\n 'value': _mm + s.params.mmUnit\n })\n }\n }\n\n /* ----------------\n Method\n ---------------- */\n function getActiveText (activeData) {\n var activeKeys = activeData.map(function (n, i, a) {\n return n['key']\n })\n if (s.params.viewType === 'date') return activeKeys[0] + s.params.split + activeKeys[1] + s.params.split + activeKeys[2]\n else if (s.params.viewType === 'datetime') return activeKeys[0] + s.params.split + activeKeys[1] + s.params.split + activeKeys[2] + ' ' + activeKeys[3] + ':' + activeKeys[4]\n else if (s.params.viewType === 'time') return activeKeys[0] + ':' + activeKeys[1]\n else if (s.params.viewType === 'month') return activeKeys[0] + s.params.split + activeKeys[1]\n }\n s.setDefaultsByKeys = function (activeKeys) {\n if (s.params.viewType === 'date' || s.params.viewType === 'datetime' || s.params.viewType === 'month') {\n if (activeKeys[0]) s.setDefaultYear(activeKeys[0])\n if (activeKeys[1]) s.setDefaultMonth(activeKeys[1])\n if (activeKeys[2]) s.setDefaultDay(activeKeys[2])\n if (activeKeys[3]) s.setDefaultHour(activeKeys[3])\n if (activeKeys[4]) s.setDefaultMinute(activeKeys[4])\n } else if (s.params.viewType === 'time') {\n if (activeKeys[0]) s.setDefaultHour(activeKeys[0])\n if (activeKeys[1]) s.setDefaultMinute(activeKeys[1])\n }\n }\n s.setDefaults = function (activeData) {\n if (activeData.year) s.setDefaultYear(activeData.year)\n if (activeData.month) s.setDefaultMonth(activeData.month)\n if (activeData.day) s.setDefaultDay(activeData.day)\n if (activeData.hour) s.setDefaultHour(activeData.hour)\n if (activeData.minute) s.setDefaultMinute(activeData.minute)\n }\n /* ----------------\n Init\n ---------------- */\n\n // 添加数据\n function addMonthSlot () {\n s.addSlot(s.years, s.params.defaultYear, s.params.yearClass)\n s.addSlot(s.months, s.params.defaultMonth, s.params.monthClass)\n }\n\n function addDateSlot () {\n addMonthSlot()\n s.addSlot(s.days, s.params.defaultDay, s.params.dayClass)\n }\n\n function addTimeSlot () {\n s.addSlot(s.hours, s.params.defaultHour, s.params.hourClass)\n s.addSlot(s.minutes, s.params.defaultMinute, s.params.minuteClass)\n }\n\n function addDateTime () {\n addDateSlot()\n addTimeSlot()\n }\n\n function initSlots () {\n switch (s.params.viewType) {\n case 'date':\n addDateSlot()\n break\n case 'month':\n addMonthSlot()\n break\n case 'time':\n addTimeSlot()\n break\n case 'datetime':\n addDateTime()\n break\n default:\n console.log('SeedsUI Error: initSlots失败')\n }\n }\n s.update = function () {\n s.clearSlots()\n initSlots()\n }\n initSlots()\n return s\n}\n\nexport default PickerDate\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\nimport Instance from './instance.js';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class PickerDate extends Component {\n static propTypes = {\n portal: PropTypes.object,\n split: PropTypes.string,\n type: PropTypes.string, // 'date','month','time','datetime'\n\n maskClassName: PropTypes.string,\n maskStyle: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n\n data: PropTypes.object, // {year: [], month: [], day: [], hour: [], minute: []}\n value: PropTypes.string, // 例: 2018-02-26\n valueForKey: PropTypes.string,\n \n show: PropTypes.bool,\n onClickMask: PropTypes.func,\n onClickCancel: PropTypes.func,\n onClickSubmit: PropTypes.func,\n onError: PropTypes.func\n }\n static defaultProps = {\n split: '-',\n type: 'date'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n this.initInstance()\n }\n shouldComponentUpdate = (nextProps) => {\n if (nextProps.show === this.props.show) return false;\n return true;\n }\n componentDidUpdate = () => {\n if (this.instance) {\n if (this.props.show) {\n this.setDefault();\n this.instance.show();\n }\n else this.instance.hide()\n }\n }\n setDefault = () => {\n const def = this.getDefault();\n this.instance.setDefaults(def);\n this.instance.update();\n }\n getDefault = () => {\n const {split, type, onError} = this.props;\n var defaultValue = this.props.valueForKey || this.props.value;\n var now = new Date();\n var nowYear = now.getFullYear();\n var nowMonth = now.getMonth() + 1;\n var nowDate = now.getDate();\n var nowHour = now.getHours();\n var nowMinute = now.getMinutes();\n var defaultYear = nowYear;\n var defaultMonth = nowMonth < 10 ? '0' + nowMonth : nowMonth;\n var defaultDay = nowDate < 10 ? '0' + nowDate : nowDate;\n var defaultHour = nowHour < 10 ? '0' + nowHour : nowHour;\n var defaultMinute = nowMinute < 10 ? '0' + nowMinute : nowMinute;\n // 默认值\n if (type === 'date') {\n // 如果不是合法的日期格式\n if (!defaultValue || !new RegExp(`^[0-9]{4}${split || '-'}[0-9]{2}${split || '-'}[0-9]{2}$`).test(defaultValue)) {\n if (onError) onError(`${window._seeds_lang['hint_invalid_date'] || '无效的日期格式'}`);\n } else {\n let dateValues = defaultValue.split(this.props.split)\n defaultYear = dateValues[0]\n defaultMonth = dateValues[1]\n defaultDay = dateValues[2] || '01'\n }\n } else if (type === 'month') {\n // 如果不是合法的日期格式\n if (!defaultValue || !new RegExp(`^[0-9]{4}${split || '-'}[0-9]{2}$`).test(defaultValue)) {\n if (onError) onError(`${window._seeds_lang['hint_invalid_date'] || '无效的日期格式'}, YYYY-MM-DD`);\n } else {\n let monthValues = defaultValue.split(this.props.split)\n defaultYear = monthValues[0]\n defaultMonth = monthValues[1]\n }\n } else if (type === 'datetime') {\n // 如果不是合法的日期格式\n if (!defaultValue || !new RegExp(`^[0-9]{4}${split || '-'}[0-9]{2}${split || '-'}[0-9]{2}\\\\s[0-9]{2}:[0-9]{2}(:[0-9]{2})?$`).test(defaultValue)) {\n if (onError) onError(`${window._seeds_lang['hint_invalid_date'] || '无效的日期格式'}, YYYY-MM-DD hh:mm`);\n } else {\n let values = defaultValue.split(' ')\n let dateValues = values[0].split(this.props.split)\n let timeValues = values[1].split(':')\n defaultYear = dateValues[0]\n defaultMonth = dateValues[1]\n defaultDay = dateValues[2]\n defaultHour = timeValues[0]\n defaultMinute = timeValues[1]\n }\n } else if (type === 'time') {\n // 如果不是合法的日期格式\n if (!defaultValue || !new RegExp(`^[0-9]{2}:[0-9]{2}(:[0-9]{2})?$`).test(defaultValue)) {\n if (onError) onError(`${window._seeds_lang['hint_invalid_date'] || '无效的日期格式'}, hh:mm`);\n } else {\n let timeValues = defaultValue.split(':')\n defaultHour = timeValues[0]\n defaultMinute = timeValues[1]\n }\n }\n return {\n year: defaultYear,\n month: defaultMonth,\n day: defaultDay,\n hour: defaultHour,\n minute: defaultMinute,\n }\n }\n getData = () => {\n // 自定义数据\n var yearsData = null\n var monthsData = null\n var daysData = null\n var hoursData = null\n var minutesData = null\n if (this.props.data) {\n if (this.props.data.year) {\n yearsData = this.props.data.year.map((n) => {\n return {\n 'key': '' + n,\n 'value': '' + n + (window._seeds_lang['unit_year'] || '年')\n }\n })\n }\n if (this.props.data.month) {\n monthsData = this.props.data.month.map((n) => {\n return {\n 'key': '' + n,\n 'value': '' + n + (window._seeds_lang['unit_month'] || '月')\n }\n })\n }\n if (this.props.data.day) {\n daysData = this.props.data.day.map((n) => {\n return {\n 'key': '' + n,\n 'value': '' + n + (window._seeds_lang['unit_date'] || '日')\n }\n })\n }\n if (this.props.data.hour) {\n hoursData = this.props.data.hour.map((n) => {\n return {\n 'key': '' + n,\n 'value': '' + n + (window._seeds_lang['unit_hour'] || '时')\n }\n })\n }\n if (this.props.data.minute) {\n minutesData = this.props.data.minute.map((n) => {\n return {\n 'key': '' + n,\n 'value': '' + n + (window._seeds_lang['unit_minute'] || '分')\n }\n })\n }\n }\n return {\n yearsData: yearsData,\n monthsData: monthsData,\n daysData: daysData,\n hoursData: hoursData,\n minutesData: minutesData,\n }\n }\n initInstance = () => {\n var data = this.getData();\n var def = this.getDefault();\n // render数据\n const instance = new Instance({\n mask: this.$el,\n split: this.props.split,\n viewType: this.props.type,\n yearsData: data.yearsData,\n monthsData: data.monthsData,\n daysData: data.daysData,\n hoursData: data.hoursData,\n minutesData: data.minutesData,\n defaultYear: def.year,\n defaultMonth: def.month,\n defaultDay: def.day,\n defaultHour: def.hour,\n defaultMinute: def.minute,\n onClickMask: (e) => {\n if (this.props.onClickMask) this.props.onClickMask(e)\n },\n onClickCancel: (e) => {\n // e.hide()\n if (this.props.onClickCancel) this.props.onClickCancel(e);\n },\n onClickSubmit: (e) => {\n // e.hide()\n if (this.props.onClickSubmit) this.props.onClickSubmit(e);\n },\n onHid: (e) => {\n }\n })\n if (this.props.show && instance) {\n setTimeout(function(){\n instance.show();\n },10);\n }\n this.instance = instance;\n }\n render() {\n const {maskClassName, maskStyle, className, style} = this.props;\n return createPortal(\n <div className={`mask picker-mask${maskClassName ? ' ' + maskClassName : ''}`} style={maskStyle} ref={(el) => {this.$el = el}}>\n <div className={`picker${className ? ' ' + className : ''}`} style={style}>\n <div className=\"picker-header\">\n <a className=\"picker-cancel\">{window._seeds_lang['cancel'] || '取消'}</a>\n <a className=\"picker-submit\">{window._seeds_lang['finish'] || '完成'}</a>\n </div>\n <div className=\"picker-wrapper\">\n <div className=\"picker-layer\">\n <div className=\"picker-layer-frame\"></div>\n </div>\n <div className=\"picker-slotbox\"></div>\n </div>\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import PickerDate from './PickerDate.js';\n\nexport default PickerDate;","// require PrototypeDate.js\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport InputText from './../InputText';\nimport PickerDate from './../PickerDate';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class InputDate extends Component {\n static propTypes = {\n valueBindProp: PropTypes.bool,\n valueForKey: PropTypes.string,\n split: PropTypes.string,\n type: PropTypes.string, // 'date | month | time | datetime'\n min: PropTypes.string, // YYYY-MM-DD\n max: PropTypes.string, // YYYY-MM-DD\n\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n\n // Picker\n pickerStyle: PropTypes.object,\n pickerClassName: PropTypes.string,\n pickerMaskStyle: PropTypes.object,\n pickerMaskClassName: PropTypes.string,\n // 自定义Picker事件\n pickerShow: PropTypes.bool,\n onClickSubmit: PropTypes.func,\n onClickCancel: PropTypes.func,\n onClickMask: PropTypes.func\n }\n static defaultProps = {\n split: '-',\n type: 'date'\n }\n constructor(props) {\n super(props);\n this.state = {\n show: false\n };\n }\n componentDidMount () {\n this.$input = this.refs.$ComponentInputText.$input;\n }\n onClick = (value, args) => {\n if (this.props.onClick) this.props.onClick(value, args);\n this.setState({\n show: !this.state.show\n });\n }\n onClickSubmit = (e) => {\n if (!this.$input) this.$input = this.refs.$ComponentInputText.$input;\n if (this.props.onClickSubmit) {\n this.props.onClickSubmit(e);\n return;\n }\n const value = this.correctDate(e.activeText);\n if (!value) return;\n const options = e.activeOptions;\n // 赋值\n if (!this.props.valueBindProp) this.$input.value = value;\n this.setState({\n show: !this.state.show\n });\n if (this.props.onChange) {\n this.props.onChange(value, options, this.props.args);\n }\n }\n onClickCancel = (e) => {\n if (this.props.onClickCancel) {\n this.props.onClickCancel(e);\n return;\n }\n this.setState({\n show: !this.state.show\n });\n }\n onClickMask = (e) => {\n if (this.props.onClickMask) {\n this.props.onClickMask(e);\n return;\n }\n this.setState({\n show: !this.state.show\n });\n }\n // 日期纠正\n correctDate = (value) => {\n let text = value;\n const {type, min, max, onError} = this.props;\n const selectDate = text.toDate();\n const current = this.$input.value;\n const error = this.props.error;\n if (min && (/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(min) || /^[0-9]{2}:[0-9]{2}$/.test(min))) {\n if (type === 'date' && selectDate.compareDate(min.toDate()) === -1) {\n if (onError) {\n onError({msg: (window._seeds_lang['hint_cannot_be_less_than'] || '不能小于') + min, select: text, min: min, current: current, ...error});\n return false;\n }\n text = min;\n } else if (type === 'month' && selectDate.compareMonth(min.toDate()) === -1) {\n if (onError) {\n onError({msg: (window._seeds_lang['hint_cannot_be_less_than'] || '不能小于') + min, select: text, min: min, current: current, ...error});\n return false;\n }\n text = min;\n } else if (type === 'time' && selectDate.compareTime(min.toDate()) === -1) {\n if (onError) {\n onError({msg: (window._seeds_lang['hint_cannot_be_less_than'] || '不能小于') + min, select: text, min: min, current: current, ...error});\n return false;\n }\n text = min;\n } else if (type === 'datetime' && selectDate.compareDateTime(min.toDate()) === -1) {\n if (onError) {\n onError({msg: (window._seeds_lang['hint_cannot_be_less_than'] || '不能小于') + min, select: text, min: min, current: current, ...error});\n return false;\n }\n text = min;\n }\n }\n if (max && (/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(max) || /^[0-9]{2}:[0-9]{2}$/.test(max))) {\n if (type === 'date' && selectDate.compareDate(max.toDate()) === 1) {\n if (onError) {\n onError({msg: (window._seeds_lang['hint_cannot_be_greater_than'] || '不能大于') + max, select: text, max: max, current: current, ...error});\n return false;\n }\n text = max;\n } else if (type === 'month' && selectDate.compareMonth(max.toDate()) === 1) {\n if (onError) {\n onError({msg: (window._seeds_lang['hint_cannot_be_greater_than'] || '不能大于') + max, select: text, max: max, current: current, ...error});\n return false;\n }\n text = max;\n } else if (type === 'time' && selectDate.compareTime(max.toDate()) === 1) {\n if (onError) {\n onError({msg: (window._seeds_lang['hint_cannot_be_greater_than'] || '不能大于') + max, select: text, max: max, current: current, ...error});\n return false;\n }\n text = max;\n } else if (type === 'datetime' && selectDate.compareDateTime(max.toDate()) === 1) {\n if (onError) {\n onError({msg: (window._seeds_lang['hint_cannot_be_greater_than'] || '不能大于') + max, select: text, max: max, current: current, ...error});\n return false;\n }\n text = max;\n }\n }\n return text;\n }\n render() {\n const {\n valueForKey, split, min, max, type, onClick, onChange, onError,\n pickerStyle, pickerClassName, pickerMaskStyle, pickerMaskClassName, pickerShow, onClickSubmit, onClickCancel, onClickMask, // 自定义Picker事件\n ...others\n } = this.props;\n return [\n <InputText key=\"input\" ref=\"$ComponentInputText\" {...others} type=\"text\" readOnly onClick={this.onClick}/>,\n <PickerDate\n valueForKey={valueForKey}\n split={split}\n type={type}\n value={this.$input ? this.$input.value : this.props.value} key=\"pickerdate\"\n show={pickerShow === undefined ? this.state.show : pickerShow}\n style={pickerStyle} className={pickerClassName}\n maskStyle={pickerMaskStyle} maskClassName={pickerMaskClassName}\n onClickSubmit={this.onClickSubmit} onClickCancel={this.onClickCancel} onClickMask={this.onClickMask}\n />\n ];\n }\n}\n","import InputDate from './InputDate.js';\n\nexport default InputDate;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport InputText from './../InputText';\nimport Bridge from './../Bridge';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class InputLocation extends Component {\n static propTypes = {\n valueBindProp: PropTypes.bool,\n locationingText: PropTypes.string,\n onClick: PropTypes.func,\n onChange: PropTypes.func\n }\n static defaultProps = {\n locationingText: window._seeds_lang['location'] || '定位中...'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n onClick = (value, args) => {\n const {valueBindProp, locationingText, onChange, onClick} = this.props;\n if (onClick) onClick(value, args);\n if (this.$input.value === locationingText) return;\n // 定位中...\n if (!valueBindProp) {\n this.$input.value = locationingText;\n }\n Bridge.getLocation({\n type: 'gcj02',\n success: (data) => {\n // 客户端中不需要再getAddress\n if (data.address) {\n // 赋值\n if (!valueBindProp) this.$input.value = data.address;\n if (onChange) onChange(data.address, data, args);\n return;\n }\n Bridge.getAddress({ // 只支持gcj02\n latitude: data.latitude,\n longitude: data.longitude,\n success: (addrs) => {\n // 赋值\n if (!valueBindProp) this.$input.value = addrs.address;\n if (onChange) onChange(addrs.address, data, args);\n },\n fail: (res) => {\n // 赋值\n if (!valueBindProp) this.$input.value = '';\n if (onChange) onChange('', data, args)\n // 提示获取地址失败\n Bridge.showToast(res.errMsg, {mask: false});\n }\n });\n },\n fail: (res) => {\n // 赋值\n if (!valueBindProp) this.$input.value = '';\n if (onChange) onChange('', null, args)\n // 提示定位失败\n Bridge.showToast(res.errMsg, {mask: false});\n }\n });\n }\n render() {\n const {locationingText, onChange, onClick, ...others} = this.props;\n return <InputText ref=\"$ComponentInputText\" {...others} readOnly onClick={this.onClick}/>;\n }\n}\n","import InputLocation from './InputLocation.js';\n\nexport default InputLocation;\n","import InputNumber from './InputNumber.js';\n\nexport default InputNumber;\n","import React, { Component } from 'react';\nimport InputText from './../InputText';\n\nexport default class InputNumber extends Component {\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n render() {\n return <InputText ref=\"$ComponentInputText\" {...this.props} type=\"number\"/>;\n }\n}\n","import InputPassword from './InputPassword.js';\n\nexport default InputPassword;\n","import React, { Component } from 'react';\nimport InputText from './../InputText';\n\nexport default class InputPassword extends Component {\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n render() {\n return <InputText ref=\"$ComponentInputText\" {...this.props} type=\"password\"/>;\n }\n}\n","import InputTel from './InputTel.js';\n\nexport default InputTel;\n","import React, { Component } from 'react';\nimport InputText from './../InputText';\n\nexport default class InputTel extends Component {\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n render() {\n return <InputText ref=\"$ComponentInputText\" {...this.props} type=\"tel\"/>;\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\nimport Instance from './instance.js';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class Picker extends Component {\n static propTypes = {\n portal: PropTypes.object,\n list: PropTypes.array, // [{key: '', value: ''}]\n\n maskClassName: PropTypes.string,\n maskStyle: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n\n slotClassName: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n valueForKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n show: PropTypes.bool,\n onClickMask: PropTypes.func,\n onClickCancel: PropTypes.func,\n onClickSubmit: PropTypes.func,\n }\n static defaultProps = {\n slotClassName: 'text-center'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n this.initInstance()\n }\n shouldComponentUpdate = (nextProps) => {\n if (nextProps.show === this.props.show) return false;\n return true;\n }\n componentDidUpdate = () => {\n if (this.instance) {\n if (this.props.show) {\n this.setDefault();\n this.instance.show();\n }\n else this.instance.hide()\n } else {\n if (this.props.list.length > 0) {\n this.initInstance();\n }\n }\n }\n setDefault = () => {\n const {valueForKey, list} = this.props;\n let key = valueForKey || '';\n if (!key) {\n const defaultOpt = this.getDefaults();\n if (defaultOpt && defaultOpt.key) key = defaultOpt.key;\n }\n this.instance.clearSlots();\n this.instance.addSlot(list, key || '', this.props.slotClassName); // 添加列,参数:数据,默认key,样式(lock样式为锁定列)\n }\n getDefaults = () => {\n const {list, valueForKey, value} = this.props;\n if (!valueForKey && !value) {\n if (list && list[0]) return list[0];\n return [{key: '', value: ''}];\n }\n const values = list.filter((item) => {\n if (valueForKey) {\n if (valueForKey === item.key) return true\n } else if (value) {\n if (item.value === value) return true\n }\n return false\n });\n return values[0];\n }\n initInstance = () => {\n const {list} = this.props;\n if (!list || list.length === 0 || this.instance) return;\n // render数据\n const instance = new Instance({\n mask: this.$el,\n onClickMask: (e) => {\n if (this.props.onClickMask) this.props.onClickMask(e)\n },\n onClickCancel: (e) => {\n // e.hide()\n if (this.props.onClickCancel) this.props.onClickCancel(e);\n },\n onClickSubmit: (e) => {\n // e.hide()\n if (this.props.onClickSubmit) this.props.onClickSubmit(e);\n },\n onHid: (e) => {\n }\n });\n // 默认项\n const defaultOpt = this.getDefaults();\n let key = '';\n if (defaultOpt && defaultOpt.key) key = defaultOpt.key;\n instance.addSlot(list, key, this.props.slotClassName);\n if (this.props.show && instance) {\n instance.show()\n }\n this.instance = instance;\n }\n render() {\n const {maskClassName, maskStyle, className, style} = this.props;\n return createPortal(\n <div className={`mask picker-mask${maskClassName ? ' ' + maskClassName : ''}`} style={maskStyle} ref={(el) => {this.$el = el}}>\n <div className={`picker${className ? ' ' + className : ''}`} style={style}>\n <div className=\"picker-header\">\n <a className=\"picker-cancel\">{window._seeds_lang['cancel'] || '取消'}</a>\n <a className=\"picker-submit\">{window._seeds_lang['finish'] || '完成'}</a>\n </div>\n <div className=\"picker-wrapper\">\n <div className=\"picker-layer\">\n <div className=\"picker-layer-frame\"></div>\n </div>\n <div className=\"picker-slotbox\"></div>\n </div>\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import Picker from './Picker.js';\n\nexport default Picker;","import InputPicker from './InputPicker.js';\n\nexport default InputPicker;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport InputText from './../InputText';\nimport Picker from './../Picker';\n\nexport default class InputPicker extends Component {\n static propTypes = {\n valueBindProp: PropTypes.bool,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n valueForKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n list: PropTypes.array, // [{key: '', value: ''}]\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n\n // Picker\n pickerStyle: PropTypes.object,\n pickerClassName: PropTypes.string,\n pickerMaskStyle: PropTypes.object,\n pickerMaskClassName: PropTypes.string,\n // 自定义Picker事件\n pickerShow: PropTypes.bool,\n onClickSubmit: PropTypes.func,\n onClickCancel: PropTypes.func,\n onClickMask: PropTypes.func\n }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n this.state = {\n show: false\n };\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n onClick = (value, args) => {\n if (this.props.onClick) this.props.onClick(value, args);\n this.setState({\n show: !this.state.show\n });\n }\n onClickSubmit = (e) => {\n if (!this.$input) this.$input = this.refs.$ComponentInputText.$input;\n if (this.props.onClickSubmit) {\n this.props.onClickSubmit(e);\n return;\n }\n const value = e.activeOptions[0].value;\n // 赋值\n if (!this.props.valueBindProp) this.$input.value = value;\n this.setState({\n show: !this.state.show\n });\n if (this.props.onChange) {\n this.props.onChange(value, e.activeOptions[0], this.props.args);\n }\n }\n onClickCancel = (e) => {\n if (this.props.onClickCancel) {\n this.props.onClickCancel(e);\n return;\n }\n this.setState({\n show: !this.state.show\n });\n }\n onClickMask = (e) => {\n if (this.props.onClickMask) {\n this.props.onClickMask(e);\n return;\n }\n this.setState({\n show: !this.state.show\n });\n }\n render() {\n const {\n valueForKey, list, onClick, onChange,\n pickerStyle, pickerClassName, pickerMaskStyle, pickerMaskClassName, pickerShow, onClickSubmit, onClickCancel, onClickMask, // 自定义Picker事件\n ...others\n } = this.props;\n return [\n <InputText key=\"input\" ref=\"$ComponentInputText\" {...others} readOnly onClick={this.onClick}/>,\n <Picker\n list={list} valueForKey={valueForKey} value={this.$input ? this.$input.value : this.props.value} key=\"picker\"\n show={pickerShow === undefined ? this.state.show : pickerShow}\n style={pickerStyle} className={pickerClassName}\n maskStyle={pickerMaskStyle} maskClassName={pickerMaskClassName}\n onClickSubmit={this.onClickSubmit} onClickCancel={this.onClickCancel} onClickMask={this.onClickMask}\n />\n ];\n }\n}\n","// InputRange 范围框\nvar InputRange = function (container, params) {\n\t/* -----------------------\n Model\n\t----------------------- */\n\tvar defaults = {\n\t\ttooltipClass: 'range-tooltip',\n\t\tinputClass: 'range-input'\n\t\t/*\n\t\tCallbacks:\n\t\tonChange:function(s)\n\t\t*/\n\t}\n\tparams = params || {}\n\tfor (var def in defaults) {\n\t\tif (params[def] === undefined) {\n\t\t\tparams[def] = defaults[def]\n\t\t}\n\t}\n\tvar s = this\n\ts.params = params\n\n\t// Container\n\ts.container = typeof container === 'string' ? document.querySelector(container) : container\n\tif (!s.container) {\n\t\tconsole.log('SeedsUI Error:未找到InputRange的DOM对象,请检查传入参数是否正确')\n\t\treturn\n\t}\n\n\t// Tooltip\n\ts.tooltip = s.container.querySelector('.' + s.params.tooltipClass)\n\tif (!s.container) {\n\t\tconsole.log('SeedsUI Error:未找到InputRange的tooltip,请检查传入参数是否正确')\n\t\treturn\n\t}\n\n\t// Input\n\ts.input = s.container.querySelector('.' + s.params.inputClass)\n\tif (!s.input) {\n\t\tconsole.log('SeedsUI Error:未找到InputRange的input,请检查传入参数是否正确')\n\t\treturn\n\t}\n\n\t/* -----------------------\n\tTouch Events\n\t----------------------- */\n\ts.events = function (detach) {\n\t\tvar touchTarget = s.container\n var action = detach ? 'removeEventListener' : 'addEventListener'\n\t\ttouchTarget[action]('touchstart', s.onTouchStart, false)\n\t\ttouchTarget[action]('mousedown', s.onTouchStart, false)\n\t\ttouchTarget[action]('touchmove', s.onTouchMove, false)\n\t\ttouchTarget[action]('touchend', s.onTouchEnd, false)\n\t\ttouchTarget[action]('mouseup', s.onTouchEnd, false)\n\t\ttouchTarget[action]('touchcancel', s.onTouchEnd, false)\n\t\ttouchTarget[action]('click', s.onClick, false)\n\t\ts.input[action]('input', s.onInput, false)\n\t}\n\t// attach、dettach事件\n\ts.attach = function () {\n\t\ts.events()\n\t}\n\ts.detach = function () {\n\t\ts.events(true)\n\t}\n\t// s.attach()\n\t/* -----------------------\n\tTouch Handler\n\t----------------------- */\n\ts.onTouchStart = function (e) {\n\t\te.stopPropagation()\n\t}\n\ts.onTouchMove = function (e) {\n\t\te.stopPropagation()\n\t}\n\ts.onTouchEnd = function (e) {\n\t\te.stopPropagation()\n\t\ts.hideToolTip()\n\t\ts.target = s.input\n\t\tif (s.params.onChange && !s.input.disabled) s.params.onChange(s)\n\t}\n\ts.onClick = function () {\n\t\tif (s.input.disabled) {\n\t\t\ts.showToolTip(s.tooltip, s.input)\n\t\t\tsetTimeout(() => {\n\t\t\t\ts.hideToolTip()\n\t\t\t}, 300)\n\t\t}\n\t}\n\ts.onInput = function () {\n\t\ts.showToolTip(s.tooltip, s.input)\n\t}\n\t/* -----------------------\n\tMethod\n\t----------------------- */\n\ts.showToolTip = function (tooltip, input) {\n\t\t//当前值所占百分比\n\t\tvar percent = ((input.value - input.min) / (input.max - input.min)).toFixed(2)\n\n\t\t//距左的位置\n\t\tvar dragRange = input.clientWidth * percent\n\t\tvar offsetLeft = input.offsetLeft + dragRange - 10\n\t\t//var currentOffsetLeft=offsetLeft-input.parentNode.offsetLeft\n\n\t\t//滑块内部的实际位置\n\t\tvar currentBallLeft = 28 * percent\n\n\t\t//当前值的位置-滑块的位置=小球正中间的位置\n\t\tvar left = offsetLeft - currentBallLeft\n\t\ttooltip.innerHTML = input.value\n\t\ttooltip.style.visibility = 'visible';\n tooltip.style.left = left + 'px';\n\t}\n\ts.hideToolTip = function () {\n\t\ts.tooltip.style.visibility = 'hidden'\n\t}\n\t/* -----------------------\n\tInit\n\t----------------------- */\n s.update = function () {\n if (s.container) {\n s.detach()\n }\n s.attach()\n }\n s.update()\n}\n\nexport default InputRange\n","import InputRange from './InputRange.js';\n\nexport default InputRange;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance';\n\nexport default class InputRange extends Component {\n static propTypes = {\n args: PropTypes.any,\n style: PropTypes.object,\n className: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n min: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n max: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n step: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n disabled: PropTypes.bool,\n onChange: PropTypes.func\n }\n static defaultProps = {\n value: '0',\n min: '0',\n max: '100',\n step: '1'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n const instance = new Instance(this.$el);\n this.instance = instance;\n }\n onChange = (e) => {\n if (this.props.onChange) {\n this.props.onChange(this.$input.value, Object.getArgs(e, this.props.args));\n }\n }\n render() {\n const {disabled, style, className, value, min, max, step} = this.props;\n return (\n <div ref={el => {this.$el = el;}} className={`range${className ? ' ' + className : ''}`} style={style}>\n <input disabled={disabled} ref={el => {this.$input = el;}} type=\"range\" className=\"range-input\" min={min} max={max} step={step} defaultValue={value}/>\n <div ref={el => {this.$tooltip = el;}} className=\"range-tooltip\">{value}</div>\n </div>\n );\n }\n}\n","// require PrototypeString.js\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class InputSafe extends Component {\n static propTypes = {\n value: PropTypes.string,\n\n style: PropTypes.object,\n className: PropTypes.string\n }\n static defaultProps = {\n value: ''\n }\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n }\n render() {\n const {value, style, className} = this.props;\n var lvl = value.safeLvl();\n return <ul className={`input-safe lvl${lvl}${className ? ' ' + className : ''}`} style={style}> \n <li> \n <div className=\"input-safe-progress\"></div>\n <span className=\"input-safe-caption\">{window._seeds_lang['low'] || '弱'}</span>\n </li> \n <li> \n <div className=\"input-safe-progress\"></div>\n <span className=\"input-safe-caption\">{window._seeds_lang['medium'] || '中'}</span>\n </li> \n <li> \n <div className=\"input-safe-progress\"></div>\n <span className=\"input-safe-caption\">{window._seeds_lang['strong'] || '强'}</span>\n </li> \n </ul>;\n }\n}\n","import InputSafe from './InputSafe.js';\n\nexport default InputSafe;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class SelectPicker extends Component {\n static propTypes = {\n portal: PropTypes.object,\n multiple: PropTypes.bool, // 是否允许多选\n list: PropTypes.array, // [key: 'xx', value: 'xx']\n split: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n valueForKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n \n maskClassName: PropTypes.string,\n maskStyle: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n\n slotClassName: PropTypes.string,\n show: PropTypes.bool,\n onClickMask: PropTypes.func,\n onClickCancel: PropTypes.func,\n onClickSubmit: PropTypes.func,\n }\n static defaultProps = {\n split: ',',\n slotClassName: 'text-center'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n }\n componentDidUpdate = (prevProps) => {\n if (this.$el && this.props.show !== prevProps.show) {\n const selectedKeys = Object.values(this.getSelected() || []) || [];\n [].slice.call(this.$el.querySelectorAll('.selectpicker-option')).forEach((n, i) => {\n if (selectedKeys.indexOf(this.props.list[i].key) !== -1) {\n n.classList.add('active');\n } else {\n n.classList.remove('active');\n }\n })\n }\n }\n getSelected = () => {\n const selected = this.props.valueForKey || this.props.value;\n const selectedName = this.props.valueForKey ? 'key' : 'value';\n if (selected) {\n const options = selected.split(this.props.split || ',').map((value) => {\n for (var i = 0, li; li = this.props.list[i++];) { // eslint-disable-line\n if (li[selectedName] === value) {\n return li.key;\n }\n }\n return '';\n });\n return options;\n } else {\n return [];\n }\n }\n onClick = (e) => {\n if (e.target.classList.contains('picker-mask')) { // 点击遮罩\n if (this.props.onClickMask) this.props.onClickMask(e)\n } else if (e.target.classList.contains('selectpicker-option')) { // 点击项\n if (this.props.onClickOption) this.props.onClickOption(e)\n const index = e.target.getAttribute('data-index');\n if (!this.props.multiple && this.props.onClickSubmit) {\n this.props.onClickSubmit([this.props.list[index]], Number(index));\n } else {\n e.target.classList.toggle('active');\n }\n } else if (e.target.classList.contains('picker-submit')) { // 点击确定按钮\n var selected = [];\n [].slice.call(this.$el.querySelectorAll('.selectpicker-option.active')).forEach((n) => {\n const index = n.getAttribute('data-index');\n selected.push(this.props.list[index])\n })\n if (this.props.onClickSubmit) this.props.onClickSubmit(selected);\n } else if (e.target.classList.contains('picker-cancel')) { // 点击取消按钮\n if (this.props.onClickCancel) this.props.onClickCancel(e);\n }\n }\n render() {\n const {\n show,\n list, multiple,\n maskClassName, maskStyle,\n className, style\n } = this.props;\n return createPortal(\n <div className={`mask picker-mask${maskClassName ? ' ' + maskClassName : ''}${show ? ' active' : ''}`} style={maskStyle} ref={(el) => {this.$el = el}} onClick={this.onClick}>\n <div className={`selectpicker${className ? ' ' + className : ''}${show ? ' active' : ''}`} style={style}>\n <div className=\"picker-header\">\n <a className=\"picker-cancel\">{window._seeds_lang['cancel'] || '取消'}</a>\n <a className={`picker-submit${multiple ? '' : ' disabled'}`}>{window._seeds_lang['finish'] || '完成'}</a>\n </div>\n <div className=\"selectpicker-wrapper\">\n {list && list.length && list.map((item, index) => {\n return <div key={index} className={`selectpicker-option`} data-index={index}>\n <p className=\"selectpicker-option-caption\">{item.value}</p>\n <i className=\"selectpicker-option-icon\"></i>\n </div>\n })}\n </div>\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import SelectPicker from './SelectPicker.js';\n\nexport default SelectPicker;\n","import InputSelect from './InputSelect.js';\n\nexport default InputSelect;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport InputText from './../InputText';\nimport SelectPicker from './../SelectPicker';\n\nexport default class InputSelect extends Component {\n static propTypes = {\n valueBindProp: PropTypes.bool,\n valueForKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n split: PropTypes.string,\n list: PropTypes.array, // [{key: '', value: ''}]\n multiple: PropTypes.bool,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n\n // Picker\n pickerStyle: PropTypes.object,\n pickerClassName: PropTypes.string,\n pickerMaskStyle: PropTypes.object,\n pickerMaskClassName: PropTypes.string,\n // 自定义Picker事件\n pickerShow: PropTypes.bool,\n onClickSubmit: PropTypes.func,\n onClickCancel: PropTypes.func,\n onClickMask: PropTypes.func\n }\n static defaultProps = {\n split: ','\n }\n constructor(props) {\n super(props);\n this.state = {\n show: false\n };\n }\n componentDidMount () {\n this.$el = this.refs.$ComponentInputText.$el;\n this.$input = this.refs.$ComponentInputText.$input;\n }\n getValue = (options) => {\n if (!this.props.multiple) return options[0].value;\n const value = options.map((item) => {\n return item.value;\n });\n return value.join(this.props.split || ',');\n }\n getOptions = (options) => {\n return this.props.multiple ? options : options[0]\n }\n onClick = (value, args) => {\n if (this.props.onClick) this.props.onClick(value, args);\n this.setState({\n show: !this.state.show\n });\n }\n onClickSubmit = (selected) => {\n if (!this.$input) this.$input = this.refs.$ComponentInputText.$input;\n if (this.props.onClickSubmit) {\n this.props.onClickSubmit(selected);\n return;\n }\n const value = this.getValue(selected);\n // 赋值\n if (!this.props.valueBindProp) this.$input.value = value;\n this.setState({\n show: !this.state.show\n });\n if (this.props.onChange) {\n this.props.onChange(value, selected, this.props.args);\n }\n }\n onClickCancel = (e) => {\n if (this.props.onClickCancel) {\n this.props.onClickCancel(e);\n return;\n }\n this.setState({\n show: !this.state.show\n });\n }\n onClickMask = (e) => {\n if (this.props.onClickMask) {\n this.props.onClickMask(e);\n return;\n }\n this.setState({\n show: !this.state.show\n });\n }\n render() {\n const {\n valueForKey, split, list, multiple, onClick, onChange,\n pickerStyle, pickerClassName, pickerMaskStyle, pickerMaskClassName, pickerShow, onClickSubmit, onClickCancel, onClickMask, // 自定义Picker事件\n ...others\n } = this.props;\n return [\n <InputText key=\"input\" ref=\"$ComponentInputText\" {...others} readOnly onClick={this.onClick}/>,\n <SelectPicker\n list={list} valueForKey={valueForKey} value={this.$input ? this.$input.value : this.props.value} key=\"picker\"\n split={split}\n show={pickerShow === undefined ? this.state.show : pickerShow}\n multiple={multiple}\n maskStyle={pickerMaskStyle} maskClassName={pickerMaskClassName}\n style={pickerStyle} className={pickerClassName}\n onClickSubmit={this.onClickSubmit} onClickCancel={this.onClickCancel} onClickMask={this.onClickMask}\n />\n ];\n }\n}\n","import Star from './Star.js';\n\nexport default Star;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Star extends Component {\n static propTypes = {\n args: PropTypes.any,\n className: PropTypes.string,\n onClick: PropTypes.func\n };\n static defaultProps = {\n args: null\n }\n constructor(props) {\n super(props);\n }\n onClick = (e) => {\n if (this.props.onClick) {\n this.props.onClick(Object.getArgs(e, this.props.args));\n }\n }\n render() {\n const {args, className, onClick, ...others} = this.props;\n return (\n <i className={`star${className ? ' ' + className : ''}`} {...others} onClick={this.onClick}/>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Star from './../Star';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class InputStar extends Component {\n static propTypes = {\n args: PropTypes.any,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n onChange: PropTypes.func,\n className: PropTypes.string,\n style: PropTypes.object,\n }\n static defaultProps = {\n args: null,\n value: 0,\n min: 0,\n max: 5\n }\n constructor(props) {\n super(props);\n }\n onChange (e, argNum) {\n const {min, onChange, onError} = this.props;\n let num = argNum;\n if (num < min) {\n if (onError) {\n onError(`${window._seeds_lang['hint_cannot_be_less_than'] || '不能小于'}${min}${window._seeds_lang['star'] || '颗星'}`);\n } else {\n num = min;\n }\n }\n if (onChange) onChange(num, Object.getArgs(e, this.props.args));\n }\n render() {\n const {max, min, value, className, style} = this.props;\n const stars = [];\n for (var i = 1; i <= max; i++) {\n stars.push(i);\n }\n let current = value\n if (current < min) current = min\n return (\n <div className={`input-star${className ? ' ' + className : ''}`} style={style}>\n {stars.map((index) => (\n <Star onClick={(e) => {this.onChange(e, index);}} key={index} className={index <= current ? 'active' : ''}/>\n ))}\n </div>\n );\n }\n}\n","import InputStar from './InputStar.js';\n\nexport default InputStar;\n","import Legend from './Legend.js';\n\nexport default Legend;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Legend extends Component {\n static propTypes = {\n className: PropTypes.string,\n children: PropTypes.node\n }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n\n render() {\n const {className, children, ...others} = this.props;\n return (\n <div className={`legend${className ? ' ' + className : ''}`} {...others}>\n <div className=\"legend-caption\">\n {children}\n </div>\n </div>\n );\n }\n}\n","// ListPull 列表滑动菜单\nvar ListPull = function (container, params) {\n\t/* -----------------------\n\tModel\n\t----------------------- */\n\tvar defaults = {\n\t\tleftClass: 'list-pull-left',\n\t\trightClass: 'list-pull-right',\n\t\thandlerClass: 'list-pull-handler',\n\t\tactiveClass: 'active',\n\t\tthreshold: 20,\n\t\tduration: 150\n\t\t/*\n\t\tCallbacks:\n\t\tonClick:function(s)\n\n\t\tonPull:function(s)\n\t\tonShowedLeft:function(s)\n\t\tonShowedRight:function(s)\n\t\t*/\n\t}\n\tparams = params || {}\n\tfor (var def in defaults) {\n\t\tif (params[def] === undefined) {\n\t\t\tparams[def] = defaults[def]\n\t\t}\n\t}\n\tvar s = this\n\t// Params\n\ts.params = params\n\t// Container\n\ts.container = typeof container === 'string' ? document.querySelector(container) : container\n\tif (!s.container) {\n console.log('SeedsUI Error:未找到ListPull的DOM对象,请检查传入参数是否正确')\n return\n }\n\t/* -----------------------\n\tMethod\n\t----------------------- */\n\ts.hide = function (target) {\n\t\tif (!target) {\n\t\t\tvar actives = s.container.querySelectorAll('.' + s.params.activeClass)\n\t\t\tif (actives.length > 0) target = actives[0]\n\t\t}\n\t\tif (target) {\n\t\t\ttarget.style.webkitTransitionDuration = s.params.duration + 'ms'\n\t\t\ttarget.style.webkitTransform = 'translate3d(0px,0px,0px)'\n\t\t\ttarget.classList.remove(s.params.activeClass)\n\t\t}\n\t}\n\ts.show = function (target, direction) {\n\t\ttarget.style.webkitTransitionDuration = s.params.duration + 'ms'\n\t\tvar x = direction === 'right' ? -s.rightClientWidth : s.leftClientWidth\n\t\ttarget.style.webkitTransform = 'translate3d(' + x + 'px,0px,0px)'\n\t\ttarget.classList.add(s.params.activeClass)\n\t\t// Callback onShowedLeft | onShowedRight\n\t\ts.target = target\n\t\tif (s.params.onShowedLeft || s.params.onShowedRight) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (direction === 'left' && s.params.onShowedLeft) s.params.onShowedLeft(s)\n\t\t\t\tif (direction === 'right' && s.params.onShowedRight) s.params.onShowedRight(s)\n\t\t\t}, s.params.duration)\n\t\t}\n\t}\n\t/* -----------------------\n\tTouch Events\n\t----------------------- */\n\ts.events = function (detach) {\n\t\tvar touchTarget = s.container\n\t\tvar action = detach ? 'removeEventListener' : 'addEventListener'\n\t\ttouchTarget[action]('touchstart', s.onTouchStart, false)\n\t\ttouchTarget[action]('touchmove', s.onTouchMove, false)\n\t\ttouchTarget[action]('touchend', s.onTouchEnd, false)\n\t\ttouchTarget[action]('touchcancel', s.onTouchEnd, false)\n\t}\n\ts.attach = function (event) {\n\t\ts.events()\n\t}\n\ts.detach = function (event) {\n\t\ts.events(true)\n\t}\n\t/* -----------------------\n\tTouch Handler\n\t----------------------- */\n\t// Touch信息\n\ts.touches = {\n\t\tdirection: 0,\n\t\tvertical: 0,\n\t\thorizontal: 0,\n\t\tstartX: 0,\n\t\tstartY: 0,\n\t\tcurrentX: 0,\n\t\tcurrentY: 0,\n\t\tendX: 0,\n\t\tendY: 0,\n\t\tdiffX: 0,\n\t\tdiffY: 0\n\t}\n\t// 索引\n\ts.activeIndex = 0\n\n\ts.onTouchStart = function (e) {\n\t\te.stopPropagation()\n\t\t// 清空滑动方向\n\t\ts.touches.direction = 0\n\t\ts.touches.vertical = 0\n\t\ts.touches.horizontal = 0\n\t\t// 记录点击坐标\n\t\ts.touches.startX = e.touches[0].clientX\n\t\ts.touches.startY = e.touches[0].clientY\n\t\ts.leftClientWidth = 0\n\t\ts.rightClientWidth = 0\n\t\t// 如果点击时有展开的列表项,则先收缩\n\t\tvar actives = s.container.querySelectorAll('.' + s.params.activeClass)\n\t\tif (actives.length > 0) {\n\t\t\ts.hide(actives[0])\n\t\t} else if (e.target.classList.contains(s.params.handlerClass)) { // 拉动对象\n\t\t\tvar left = e.target.parentNode.querySelector('.' + s.params.leftClass)\n\t\t\tvar right = e.target.parentNode.querySelector('.' + s.params.rightClass)\n\t\t\ts.leftClientWidth = left ? left.clientWidth : 0\n\t\t\ts.rightClientWidth = right ? right.clientWidth : 0\n\t\t}\n\t}\n\ts.onTouchMove = function (e) {\n\t\te.stopPropagation()\n\t\tif (!s.leftClientWidth && !s.rightClientWidth) return\n\t\ts.touches.currentX = e.touches[0].clientX\n\t\ts.touches.currentY = e.touches[0].clientY\n\t\ts.touches.diffX = s.touches.currentX - s.touches.startX\n\t\ts.touches.diffY = s.touches.currentY - s.touches.startY\n\n\t\t// 设置滑动方向\n\t\tif (s.touches.direction === 0) {// 设置滑动方向(-1上下 | 1左右)\n\t\t\ts.touches.direction = Math.abs(s.touches.diffX) > Math.abs(s.touches.diffY) ? 1 : -1\n\t\t}\n\t\tif (s.touches.direction === -1) {// 设置垂直方向(-1上 | 1下)\n\t\t\ts.touches.vertical = s.touches.diffY < 0 ? 1 : -1\n\t\t}\n\t\tif (s.touches.direction === 1) {// 设置左右方向(-1左 | 1右)\n\t\t\ts.touches.horizontal = s.touches.diffX < 0 ? 1 : -1\n\t\t}\n\n\t\t// 如果是上下滑动则不工作\n\t\tif (s.touches.vertical !== 0) {\n\t\t\treturn\n\t\t}\n\n\t\tif (s.touches.diffX < -s.rightClientWidth) s.touches.diffX = -s.rightClientWidth\n\t\tif (s.touches.diffX > s.leftClientWidth) s.touches.diffX = s.leftClientWidth\n\t\t\n\t\t// Callback onPull\n\t\tif (s.params.onPull) s.params.onPull(s)\n\n\t\t// 滑动\n\t\te.target.style.webkitTransform = 'translate3d(' + s.touches.diffX + 'px,0px,0px)'\n\t}\n\ts.onTouchEnd = function (e) {\n\t\te.stopPropagation()\n\t\tif (s.touches.direction === -1) { // 上下滑动阻止工作\n\t\t\treturn\n\t\t}\n\t\ts.touches.endX = e.clientX || e.changedTouches[0].clientX\n\t\ts.touches.endY = e.clientY || e.changedTouches[0].clientY\n\t\tif (Math.abs(s.touches.startX - s.touches.endX) < 6 && Math.abs(s.touches.startY - s.touches.endY) < 6) { // 点击\n\t\t\ts.target = e.target\n\t\t\ts.hide(e.target)\n\t\t\t// 在展开状态下(s.leftClientWidth || s.rightClientWidth),如果点击主容器handler将无效\n\t\t\tif (!e.target.classList.contains(s.params.handlerClass) || s.leftClientWidth || s.rightClientWidth) {\n\t\t\t\t// Callback onClick\n\t\t\t\tif (s.params.onClick) s.params.onClick(s)\n\t\t\t}\n\t\t} else if (s.leftClientWidth || s.rightClientWidth) { // 滑动\n\t\t\tif (Math.abs(s.touches.diffX) > s.params.threshold) {\n\t\t\t\ts.show(e.target, s.touches.diffX > 0 ? 'left' : 'right')\n\t\t\t} else {\n\t\t\t\ts.hide(e.target)\n\t\t\t}\n\t\t}\n\t}\n\t// Init\n\ts.init = function () {\n\t\ts.attach()\n\t}\n\ts.init()\n}\n\nexport default ListPull\n","import ListPull from './ListPull.js';\n\nexport default ListPull;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance';\nimport Button from './../Button';\n\nexport default class ListPull extends Component {\n static propTypes = {\n list: PropTypes.array, // [{container: node, lButtons: [{value: '按钮文字', className: 'warn', style: object}], rButtons: 同lButtons}]\n style: PropTypes.object,\n className: PropTypes.string,\n onClick: PropTypes.func,\n onShowedLeft: PropTypes.func,\n onShowedRight: PropTypes.func\n }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n componentDidMount() {\n var instance = new Instance(this.$el, {\n onClick: (e) => {\n const index = e.target.getAttribute('data-index');\n const item = this.props.list[index];\n let btn = null;\n const i = e.target.getAttribute('data-i');\n const direction = e.target.getAttribute('data-direction');\n if (i && direction) {\n if (direction === 'left') {\n btn = item.lButtons[i];\n } else {\n btn = item.rButtons[i];\n }\n }\n if (this.props.onClick) this.props.onClick(item, index, btn)\n },\n onShowedLeft: this.props.onShowedLeft,\n onShowedRight: this.props.onShowedRight\n });\n this.instance = instance;\n }\n render() {\n const { list, style, className } = this.props;\n return (\n <ul ref={el => { this.$el = el; }} className={`list-pull${className ? ' ' + className : ''}`} style={style}>\n {list.map((item, index) => {\n return <li key={`button${index}`} data-index={`${index}`} className=\"border-b list-pull-li\">\n {item.lButtons && item.lButtons.length && <div className=\"list-pull-left\">\n {item.lButtons.map((button, i) => {\n return <Button key={`button${i}`} data-index={`${index}`} data-i={`${i}`} data-direction=\"left\" className={`list-pull-button${button.className ? ' ' + button.className : ''}`} style={button.style}>{button.value}</Button>\n })}\n </div>}\n <div className=\"list-pull-handler\" data-index={`${index}`}>\n {item.container}\n </div>\n {item.rButtons && item.rButtons.length && <div className=\"list-pull-right\">\n {item.rButtons.map((button, i) => {\n return <Button key={`button${i}`} data-index={`${index}`} data-i={`${i}`} data-direction=\"right\" className={`list-pull-button${button.className ? ' ' + button.className : ''}`} style={button.style}>{button.value}</Button>\n })}\n </div>}\n </li>\n })}\n </ul>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nexport default class Loading extends Component {\n static propTypes = {\n portal: PropTypes.object, // 传送至DOM\n type: PropTypes.string, // floating | filling | custom\n \n maskStyle: PropTypes.object,\n maskClassName: PropTypes.string,\n maskBefore: PropTypes.node,\n\n style: PropTypes.object,\n\n iconClassName: PropTypes.string,\n iconSrc: PropTypes.string,\n caption: PropTypes.string\n }\n static defaultProps = {\n caption: window._seeds_lang['loading'] || '正在加载...',\n type: 'floating'\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n render() {\n const {\n type,\n maskStyle, maskClassName, maskBefore,\n style,\n iconClassName, iconSrc, caption } = this.props;\n let content = <div>加载中...</div>;\n if (type === 'custom') { // 自定义样式\n content = (<div className=\"loading-custom\" style={style}>\n {(iconClassName || iconSrc) && <span style={iconSrc ? {backgroundImage: `url(${iconSrc})`} : {}} className={`loading-custom-icon${iconClassName ? ' ' + iconClassName : ''}`}></span>}\n {caption && <p className=\"loading-custom-caption\">{caption}</p>}\n </div>);\n } else if(type === 'filling') { // 填料环\n content = (<div className=\"loading-filling active\" style={style}>\n <div className=\"loading-filling-icon\"></div>\n </div>);\n } else if (type === 'floating') { // 流光\n content = (<div className=\"loading-floating animated\" style={style}>\n <div className=\"loading-floating-icon\">\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n <div className=\"loading-floating-blade\"></div>\n </div>\n <div className=\"loading-floating-caption\">{caption}</div>\n </div>);\n }\n if (this.props.portal) {\n return createPortal(\n <div className={'loading-mask mask active' + (maskClassName ? ' ' + maskClassName : '')} style={maskStyle}>\n {maskBefore}\n {content}\n </div>,\n this.props.portal\n )\n }\n return (\n <div ref={el => {this.$el = el;}} className={'loading-mask mask active' + (maskClassName ? ' ' + maskClassName : '')} style={maskStyle}>\n {maskBefore}\n {content}\n </div>\n );\n }\n}\n","import Loading from './Loading.js';\n\nexport default Loading;\n","var LotteryWheel = function (container, params) {\n /* ----------------------\n Model\n ---------------------- */\n var defaults = {\n // 间隔\n spacing: 0,\n // 数据\n data: [], // [{text: '', icon: '', font: '', fontTop...同数据默认值}]\n // 数据默认值\n fontFamily: 'Arial',\n fontSize: 13,\n fontTop: 28,\n fontFillStyle: '#ef694f',\n\n bgFillStyle: '#ffdf7d',\n bgStrokeStyle: '#fa8b6e',\n bgLineWidth: 1,\n\n iconWidth: 42,\n iconHeight: 42,\n iconTop: 42,\n\n around: 6, // 转6圈\n // 创建外层容器\n wrapperClass: 'lotterywheel-wrapper',\n // 保存\n suffix: 'image/png',\n quality: 0.92\n\n /* callbacks\n onTransitionEnd:function (LotteryWheel) // 动画结束后回调\n onPlayAnimationEnd:function (LotteryWheel) // 播放动画结束后回调\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n // Canvas\n s.canvas = typeof container === 'string' ? document.querySelector(container) : container\n if (!s.canvas) {\n console.log('SeedsUI Error : Lottery container不存在,请检查页面中是否有此元素')\n return\n }\n s.width = s.canvas.width || 300\n s.height = s.canvas.height || 300\n // Wrapper, 包裹canvas, 用于在canvas同级创建文字和图片\n s.wrapper = null\n s.createWrapper = function () {\n s.wrapper = document.createElement('div')\n s.wrapper.setAttribute('class', s.params.wrapperClass + ' animated')\n s.wrapper.style.width = s.width + 'px'\n s.wrapper.style.height = s.height + 'px'\n s.canvas.parentNode.replaceChild(s.wrapper, s.canvas)\n s.wrapper.appendChild(s.canvas)\n }\n s.create = function () {\n s.createWrapper()\n }\n s.create()\n s.ctx = s.canvas.getContext('2d')\n /* ----------------------\n Method\n ---------------------- */\n // 清除\n s.clear = function () {\n s.ctx.clearRect(0, 0, s.width, s.height)\n }\n // 获取设备缩放比率\n s.getPixelRatio = function () {\n var context = s.ctx\n var backingStore = context.backingStorePixelRatio ||\n context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio || 1\n return (window.devicePixelRatio || 1) / backingStore\n }\n // 封装扇形函数, 参数: x坐标、y坐标、半径、起始角、结束角、是否逆时针\n s.sector = function (x, y, radius, sAngle, eAngle, counterclockwise) {\n // 开始一条新路径\n s.ctx.beginPath()\n // 起始点移动到圆心\n s.ctx.moveTo(x, y)\n // 绘制圆弧\n s.ctx.arc(x, y, radius, sAngle, eAngle, counterclockwise)\n // 闭合路径\n s.ctx.closePath()\n }\n s.slotDeg = 0 // 一槽的度数\n s.rad = 0 // 一度的弧度\n s.slotRad = 0 // 一槽的弧度\n // 更新一槽的弧度\n s.updateAngle = function () {\n s.slotDeg = 360 / s.params.data.length // 一槽的度数\n s.rad = Math.PI / 180 // 一度的弧度\n s.slotRad = s.rad * s.slotDeg // 一槽的弧度\n }\n // 绘制背景-单个扇形\n s.drawCanvas = function (item, index) {\n var ratio = s.getPixelRatio()\n // 计算圆的半径与位置\n var xy = Math.min(s.width || 300, s.height || 300) / 2\n var r = xy - (s.params.spacing || 0)\n // 设置背景样式\n s.ctx.strokeStyle = item.bgStrokeStyle || s.params.bgStrokeStyle\n s.ctx.fillStyle = item.bgFillStyle || s.params.bgFillStyle\n s.ctx.lineWidth = item.bgLineWidth || s.params.bgLineWidth\n\n // 计算开始和结束角, 使开始位置从正上方开始\n var startAngel = s.rad * (-90) - (s.slotRad / 2)\n var endAngel = startAngel + s.slotRad\n\n // 设置中心点与旋转弧度, 旋转完再绘\n s.ctx.translate(xy, xy)\n if (index === 0) s.ctx.rotate(s.slotRad / 2)\n if (index !== 0) s.ctx.rotate(s.slotRad)\n s.ctx.translate(-xy, -xy)\n\n // 绘制前, 保存状态, 防止绘制污染\n // s.ctx.save()\n\n // 绘背景\n s.sector(xy, xy, r, startAngel, endAngel)\n s.ctx.stroke()\n s.ctx.fill()\n\n // 绘文字\n var fontSize = (item.fontSize || s.params.fontSize) * ratio\n var fontFamily = item.fontFamily || s.params.fontFamily\n var fontTop = (item.fontTop || s.params.fontTop) * ratio\n s.ctx.font = fontSize + 'px ' + fontFamily\n s.ctx.textAlign = 'center'\n s.ctx.textBaseline = 'middle'\n s.ctx.fillStyle = item.fontFillStyle || s.params.fontFillStyle\n s.ctx.fillText(item.text || '', xy, fontTop)\n\n // 绘图片\n var img = s.imgs[index];\n if (img.getAttribute('data-complete') === '1') {\n var imgTop = (item.iconTop || s.params.iconTop) * ratio\n var imgWidth = (item.iconWidth || s.params.iconWidth) * ratio\n var imgHeight = (item.iconHeight || s.params.iconHeight) * ratio\n s.ctx.drawImage(img, xy - (imgWidth / 2), imgTop, imgWidth, imgHeight); \n }\n\n // 还原绘前状态\n // s.ctx.restore()\n }\n // 防止失真, 在高分屏上, 所以要放大2倍绘制, 再缩小2倍\n s.update = function () {\n // 放大2倍\n var ratio = s.getPixelRatio()\n s.width = s.width * ratio\n s.height = s.height * ratio\n s.canvas.width = s.width\n s.canvas.height = s.height\n s.ctx.width = s.width\n s.ctx.height = s.height\n // 缩小2倍\n s.canvas.style.WebkitTransform = 'scale(' + 1 / ratio + ')'\n s.canvas.style.WebkitTransformOrigin = 'left top'\n // 更新一槽的弧度\n s.updateAngle()\n }\n s.update()\n /* ----------------------\n Imgs, 先用img标签加载图片, 加载完成后再绘制canvas, 目的是为了解决跨域的问题\n ---------------------- */\n // 绘制图片, 解决canvas跨域的问题\n s.imgs = []\n s.initImgs = function () {\n if (!s.params.data || !s.params.data.length) return\n s.imgs = []\n for (var i = 0; i < s.params.data.length; i++) {\n var item = s.params.data[i]\n var img = document.createElement('img')\n img.src = item.icon\n img.style.display = 'none'\n document.body.appendChild(img)\n img.addEventListener('load', s.onIconLoad, false)\n img.addEventListener('error', s.onIconError, false)\n s.imgs.push(img)\n }\n }\n // 全部加载完成后, 再绘制图片\n s.imgsCompleteDraw = function () {\n var complete = s.imgs.filter(function (img) {\n return img.getAttribute('data-complete')\n })\n if (complete.length === s.imgs.length) {\n console.log('图片加载完成, 开始绘制')\n s.draw()\n }\n }\n s.onIconLoad = function (e) {\n e.target.setAttribute('data-complete', '1')\n // 全部加载完成后, 再绘制图片\n s.imgsCompleteDraw()\n }\n s.onIconError = function (e) {\n e.target.setAttribute('data-complete', '-1')\n // 全部加载完成后, 再绘制图片\n s.imgsCompleteDraw()\n }\n /* ----------------------\n Events\n ---------------------- */\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n if (s.wrapper) s.wrapper[action]('webkitTransitionEnd', s.onTransitionEnd, false)\n }\n s.detach = function (event) {\n s.events(true)\n }\n s.attach = function (event) {\n s.events()\n }\n s.onTransitionEnd = function (e) {\n s.event = e\n // 动画转动完成回调\n if (s.params.onTransitionEnd) s.params.onTransitionEnd(s)\n // 转盘部分转动完成回调\n var target = e.target\n if (target.classList.contains(s.params.wrapperClass)) {\n s.playing = false\n if (s.params.onPlayAnimationEnd) s.params.onPlayAnimationEnd(s)\n }\n }\n /* ----------------------\n Main\n ---------------------- */\n // 绘制canvas\n s.draw = function () {\n if (!s.params.data || !s.params.data.length) return\n s.reset()\n s.clear()\n // 保存初始状态\n s.ctx.save()\n for (var i = 0; i < s.params.data.length; i++) {\n s.drawCanvas(s.params.data[i], i)\n }\n }\n // 复位\n s.reset = function () {\n // 更新一槽的弧度\n s.updateAngle()\n // 去除动画, 旋转角度复位\n s.wrapper.classList.remove('animated')\n s.wrapper.style.WebkitTransform = 'rotate(0deg)'\n // 还原初始状态\n if (s.ctx) s.ctx.restore()\n }\n // 转动转盘\n s.playing = false\n s.play = function (count, onPlayAnimationEnd) {\n if (s.playing) return\n s.playing = true\n if (!s.params.data || !s.params.data.length) return\n var baseRotate = (s.params.around || 6) * 360 // 转固定几圈, 并指向奖品的正中间\n var rotate = (count + 1) * s.slotDeg - (s.slotDeg / 2)\n\n s.wrapper.classList.add('animated')\n s.wrapper.style.WebkitTransform = 'rotate(' + (baseRotate - rotate) + 'deg)'\n\n // Callback\n if (onPlayAnimationEnd) s.params.onPlayAnimationEnd = onPlayAnimationEnd\n }\n // 主函数\n s.init = function () {\n s.initImgs()\n s.attach()\n }\n\n s.init()\n}\n\nexport default LotteryWheel\n","import LotteryWheel from './LotteryWheel.js';\n\nexport default LotteryWheel;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class LotteryWheel extends Component {\n static propTypes = {\n // 数据源\n data: PropTypes.array, // [{text: '', icon: '', font: '', fontTop...同数据默认值}]\n // 数据默认值\n fontFamily: PropTypes.string,\n fontSize: PropTypes.number,\n fontTop: PropTypes.number,\n fontFillStyle: PropTypes.string,\n\n bgFillStyle: PropTypes.string,\n bgStrokeStyle: PropTypes.string,\n bgLineWidth: PropTypes.number,\n\n iconWidth: PropTypes.number,\n iconHeight: PropTypes.number,\n iconTop: PropTypes.number,\n\n around: PropTypes.number, // 转动圈数, 默认转6圈\n // 不能使用style制定宽高,canvas用style的width|height会导致绘图位置不正确\n width: PropTypes.number, // 宽度\n height: PropTypes.number, // 高度\n style: PropTypes.object,\n className: PropTypes.string,\n // 间隔\n spacing: PropTypes.number,\n // 保存\n suffix: PropTypes.string,\n quality: PropTypes.number,\n }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate (prevProps) {\n if (JSON.stringify(prevProps.data) !== JSON.stringify(this.props.data)) {\n this.instance.params.data = this.props.data;\n this.instance.init();\n }\n }\n componentDidMount () {\n if (this.instance) return;\n var instance = new Instance(this.$el, {\n // 间隔\n spacing: this.props.spacing,\n // 数据\n data: this.props.data,\n // 数据默认值\n font: this.props.font,\n fontTop: this.props.fontTop,\n fontFillStyle: this.props.fontFillStyle,\n\n bgFillStyle: this.props.bgFillStyle,\n bgStrokeStyle: this.props.bgStrokeStyle,\n bgLineWidth: this.props.bgLineWidth,\n\n iconWidth: this.props.iconWidth,\n iconHeight: this.props.iconHeight,\n iconTop: this.props.iconTop,\n\n around: this.props.around,\n // 保存\n suffix: this.props.suffix,\n quality: this.props.quality\n });\n this.instance = instance;\n }\n render() {\n const {width, height, className, style} = this.props;\n return (\n <canvas ref={el => {this.$el = el;}} width={width} height={height} className={className} style={style}>\n Canvas抽奖轮盘\n </canvas>\n );\n }\n}\n","import BaiduMap from './BaiduMap'\n\nvar MapUtil = BaiduMap\n\nexport default MapUtil\n","// BaiduMap 百度地图使用库\r\nvar BaiduMap = function (id, params) {\r\n if (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\r\n if (!document.querySelector('#' + id)) {\r\n console.log('SeedsUI Error:未找到BaiduMap的DOM对象,请检查id是否存在')\r\n return\r\n }\r\n /* --------------------\r\n Model\r\n -------------------- */\r\n var defaults = {\r\n styleOptions: {\r\n strokeColor: '#0C8EFF', //边线颜色\r\n strokeWeight: 1, //边线的宽度,以像素为单位\r\n strokeOpacity: 0.8, //边线透明度,取值范围0 - 1\r\n strokeStyle: 'solid', //边线的样式,solid或dashed\r\n fillColor: '#0C8EFF', //填充颜色。当参数为空时,圆形将没有填充效果\r\n fillOpacity: 0.6 //填充的透明度,取值范围0 - 1\r\n },\r\n labelStyleOptions: {\r\n color : 'red',\r\n fontSize : '12px',\r\n height : '20px',\r\n lineHeight : '20px',\r\n fontFamily: '微软雅黑'\r\n }\r\n /* callback\r\n onSubmit:function(selected)\r\n */\r\n }\r\n params = params || {}\r\n for (var def in defaults) {\r\n if (params[def] === undefined) {\r\n params[def] = defaults[def]\r\n }\r\n }\r\n\r\n // BaiduMap\r\n var s = this\r\n\r\n // Params\r\n s.params = params\r\n \r\n s.map = null\r\n s.drawingManager = null\r\n const {\r\n BMap, BMapLib,\r\n BMAP_ANCHOR_BOTTOM_LEFT, BMAP_ANCHOR_BOTTOM_RIGHT, BMAP_ANCHOR_TOP_RIGHT,\r\n BMAP_DRAWING_POLYGON, BMAP_NAVIGATION_CONTROL_ZOOM\r\n } = window\r\n\r\n // 渲染地图\r\n s.createMap = function () {\r\n s.map = new BMap.Map('map')\r\n s.map.centerAndZoom(new BMap.Point(116.404, 39.915), 12) // 初始化地图,设置中心点坐标和地图级别\r\n s.map.setCurrentCity('北京') // 设置地图显示的城市 此项是必须设置的\r\n s.map.enableScrollWheelZoom(true) //开启鼠标滚轮缩放\r\n }\r\n s.createMap()\r\n\r\n // 创建鼠标绘制管理类\r\n s.createDrawingManager = function () {\r\n s.drawingManager = new BMapLib.DrawingManager(s.map, {\r\n isOpen: false, // 是否开启绘制模式\r\n drawingToolOptions: {\r\n anchor: BMAP_ANCHOR_TOP_RIGHT, // 位置\r\n offset: new BMap.Size(5, 5), // 偏离值\r\n },\r\n circleOptions: s.params.styleOptions, // 圆的样式\r\n polylineOptions: s.params.styleOptions, // 线的样式\r\n polygonOptions: s.params.styleOptions, // 多边形的样式\r\n rectangleOptions: s.params.styleOptions // 矩形的样式\r\n })\r\n }\r\n s.createDrawingManager()\r\n\r\n /* --------------------\r\n 多边形算法工具类\r\n -------------------- */\r\n \r\n /* --------------------\r\n Method\r\n -------------------- */\r\n // 格式化points, 将[[lng, lat], [lng, lat]]转为[{lng: '', lat: ''}]\r\n s.formatPoints = function (points) {\r\n if (!points || !Array.isArray(points)) return []\r\n if (JSON.stringify(points).indexOf('lng') !== -1) return points\r\n if (!Array.isArray(points[0]) || !points[0][0] || !points[0][1]) return []\r\n return points.map(function (point) {\r\n var lng = point[0]\r\n var lat = point[1]\r\n if (point[0] < point[1]) {\r\n lng = point[1]\r\n lat = point[0]\r\n }\r\n return {\r\n lng,lat\r\n }\r\n })\r\n }\r\n // 显示放大缩小控件\r\n s.showScale = function () {\r\n s.map.addControl(new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT}))\r\n }\r\n // 显示标尺控件\r\n s.showNavigation = function () {\r\n s.map.addControl(new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT, type: BMAP_NAVIGATION_CONTROL_ZOOM}))\r\n }\r\n // 启用手动绘制\r\n // 设置当前的绘制模式,参数DrawingType,为5个可选常量: \r\n // BMAP_DRAWING_MARKER 画点 \r\n // BMAP_DRAWING_CIRCLE 画圆 \r\n // BMAP_DRAWING_POLYLINE 画线 \r\n // BMAP_DRAWING_POLYGON 画多边形 \r\n // BMAP_DRAWING_RECTANGLE 画矩形\r\n // circlecomplete(overlay) {Circle} 绘制圆完成后,派发的事件接口\r\n // markercomplete(overlay) {Marker} 绘制点完成后,派发的事件接口\r\n // overlaycomplete(e) {Event Object} 鼠标绘制完成后,派发总事件的接口\r\n // polygoncomplete(overlay) {Polygon} 绘制多边形完成后,派发的事件接口\r\n // polylinecomplete(overlay) {Polyline} 绘制线完成后,派发的事件接口\r\n // rectanglecomplete(overlay) {Polygon} 绘制矩形完成后,派发的事件接口\r\n s.enableManualDraw = function (type) {\r\n if (s.drawingManager) {\r\n s.drawingManager.open()\r\n s.drawingManager.setDrawingMode(type || BMAP_DRAWING_POLYGON) // 默认多边形\r\n }\r\n }\r\n // 自动切换到有覆盖物的视图\r\n s.autoViewport = function () {\r\n var overlays = s.map.getOverlays()\r\n var points = []\r\n for(var i = 0; i < overlays.length; i++) {\r\n var overlay = overlays[i];\r\n if(overlay instanceof BMap.Polygon) {\r\n points = points.concat(overlay.getPath())\r\n }\r\n }\r\n s.map.setViewport(points)\r\n }\r\n // 点转多边形points:[[lng, lat], [lng, lat]]\r\n s.pointsToPolygon = function (argPoints) {\r\n var points = s.formatPoints(argPoints);\r\n var ps = []\r\n for (var point of points) {\r\n ps.push(new BMap.Point(point.lng, point.lat))\r\n }\r\n return new BMap.Polygon(ps)\r\n }\r\n // 点转多边形points:[[ [lng, lat], [lng, lat] ], [ [lng, lat], [lng, lat] ]]\r\n s.pointsToPolygons = function (argPointss) {\r\n let polygons = []\r\n for (let i = 0; i < argPointss.length; i++) {\r\n let polygon = s.pointsToPolygon(argPointss[i])\r\n polygons.push(polygon)\r\n }\r\n return polygons\r\n }\r\n // 绘制省市区域\r\n s.drawBoundary = function (options = {}) { // {area: '江苏省南京市建邺区', styleOptions: {}, onSuccess: func(), onError: func()}\r\n var boundary = new BMap.Boundary()\r\n if (!options.area) {\r\n console.warn(`${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}area, ${window._seeds_lang['hint_for_example_address'] || '例如“江苏省南京市建邺区”'}`)\r\n options.onError && options.onError({\r\n errMsg: `${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}area, ${window._seeds_lang['hint_for_example_address'] || '例如“江苏省南京市建邺区”'}`\r\n })\r\n return\r\n }\r\n boundary.get(options.area, function (res) { // 获取行政区域\r\n var count = res.boundaries.length // 行政区域的点有多少个\r\n if (count === 0) {\r\n console.warn(`${window._seeds_lang['hint_pass_in_correct_parameters'] || '请传入正确的参数'}area`)\r\n options.onError && options.onError({\r\n errMsg: `${window._seeds_lang['hint_pass_in_correct_parameters'] || '请传入正确的参数'}area`\r\n })\r\n return\r\n }\r\n var polygons = []\r\n var polygonsPath = []\r\n for (var i = 0; i < count; i++) {\r\n polygons[i] = new BMap.Polygon(res.boundaries[i], options.styleOptions || s.params.styleOptions)\r\n s.map.addOverlay(polygons[i]) // 添加覆盖物\r\n polygonsPath = polygonsPath.concat(polygons[i].getPath())\r\n }\r\n // s.map.setViewport(pointArray) //调整视野\r\n options.onSuccess && options.onSuccess({...res, polygons, polygonsPath})\r\n })\r\n return boundary\r\n }\r\n // 绘制多边形\r\n s.drawPolygon = function (options = {}){ // {polygon: Object, points: [], styleOptions: {}}\r\n var polygon = null\r\n if (options.polygon && Object.keys(options.polygon) && Object.keys(options.polygon).length) {\r\n polygon = options.polygon\r\n if (!options.styleOptions) options.styleOptions = {}\r\n // 设置多边型的边线颜色,参数为合法的CSS颜色值\r\n polygon.setStrokeColor(options.styleOptions.strokeColor || s.params.styleOptions.strokeColor)\r\n // 设置多边形边线的宽度,取值为大于等于1的整数\r\n polygon.setStrokeWeight(options.styleOptions.strokeWeight || s.params.styleOptions.strokeWeight)\r\n // 设置圆形的边线透明度,取值范围0 - 1\r\n polygon.setStrokeOpacity(options.styleOptions.strokeOpacity || s.params.styleOptions.strokeOpacity)\r\n // 设置圆形边线样式为实线或虚线,取值solid或dashed\r\n polygon.setStrokeStyle(options.styleOptions.strokeStyle || s.params.styleOptions.strokeStyle)\r\n // 设置矢量图标的填充颜色。支持颜色常量字符串、十六进制、RGB、RGBA等格式\r\n polygon.setFillColor(options.styleOptions.fillColor || s.params.styleOptions.fillColor)\r\n // 设置矢量图标填充透明度,opacity范围0~1\r\n polygon.setFillOpacity(options.styleOptions.fillOpacity || s.params.styleOptions.fillOpacity)\r\n } else if (Array.isArray(options.points) && options.points.length) {\r\n polygon = new BMap.Polygon(s.formatPoints(options.points), options.styleOptions || s.params.styleOptions)\r\n }\r\n if (polygon) {\r\n s.map.addOverlay(polygon) // 添加覆盖物\r\n options.onSuccess && options.onSuccess(polygon)\r\n } else {\r\n console.warn(`drawPolygon: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}{polygon: {}}${window._seeds_lang['or'] || '或者'}{points: []}`)\r\n options.onError && options.onError({\r\n errMsg: `drawPolygon: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}{polygon: {}}${window._seeds_lang['or'] || '或者'}{points: []}`\r\n })\r\n }\r\n return polygon\r\n }\r\n // 绘制多边形\r\n s.drawPolygons = function (options = []){ // [{polygon: Object, points: [], styleOptions: {}}]\r\n let polygons = []\r\n for (let option of options) {\r\n polygons.push(s.drawPolygon(option))\r\n }\r\n return polygons\r\n }\r\n // 绘制Label\r\n s.drawLabel = function (options = {}){ // {point: {}, styleOptions: {}}\r\n if (!options.point) {\r\n console.warn(`drawLabel: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}{point: }`)\r\n options.onError && options.onError({\r\n errMsg: `drawLabel: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}{point: }`\r\n })\r\n return\r\n }\r\n var opts = {\r\n position: options.point, // 指定文本标注所在的地理位置\r\n offset: new BMap.Size(0, 0) // 设置文本偏移量\r\n }\r\n var label = new BMap.Label(JSON.stringify(options.point), opts) // 创建文本标注对象\r\n label.setStyle(options.styleOptions || s.params.labelStyleOptions);\r\n s.map.addOverlay(label)\r\n options.onSuccess && options.onSuccess(label)\r\n return label\r\n }\r\n // 绘制标记\r\n s.drawMarker = function (options = {}){ // {point: {lng: ,lat: }, styleOptions: {}}\r\n if (!options.point) {\r\n console.warn(`drawMarker: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}{point: }`)\r\n options.onError && options.onError({\r\n errMsg: `drawMarker: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}{point: }`\r\n })\r\n return\r\n }\r\n if (!options.point.lng || !options.point.lat) {\r\n console.warn(`drawMarker: ${window._seeds_lang['hint_pass_in_correct_parameters'] || '请传入正确的参数'}{point: {lng: ,lat: }}`)\r\n options.onError && options.onError({\r\n errMsg: `drawMarker: ${window._seeds_lang['hint_pass_in_correct_parameters'] || '请传入正确的参数'}{point: {lng: ,lat: }}`\r\n })\r\n return\r\n }\r\n var point = new BMap.Point(options.point.lng, options.point.lat)\r\n var marker = new BMap.Marker(point,\r\n {\r\n icon: new BMap.Icon(\r\n options.icon || 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAwCAMAAABHcohdAAAAOVBMVEUAAAAMjv8Njv8NkP8Nj/8MkP8Nkf8gn/8Nj/8Njv8Mj/8Mj/8Mjv+ZmZn////n8/+Nyv8hj+8vkeUvlTkDAAAADHRSTlMA5oyFdlM8CPPZv6h2+xS8AAAAs0lEQVQ4y+2TWw6EIAxFaQUEvDOo+1/sIFEjKDSZb89vD7TpQ12wHLxzPrBVD4yacEJ6rOOGUECmjA+4MVzjEx6YqvedPwwSc4xzbZi9ftri30Rt0JgFjUTchIgKnQVqC5T7BxQpCraeMnAWeYOTENAhJMH3BJ8E1xOcLMgp5CK5J3BuVAe7t7oF7cNqoo9xN6DxWJgGRlo5aWmltZcORz69O5bXBVhWtqrFJ6PUK7zCv8IP6rMmSWrDD8kAAAAASUVORK5CYII=',\r\n new BMap.Size(16,24),\r\n {\r\n imageSize: new BMap.Size(16, 24) // 设置偏移量\r\n }\r\n )\r\n },\r\n {\r\n offset: new BMap.Size(8, 12)\r\n }\r\n )\r\n s.map.addOverlay(marker)\r\n options.onSuccess && options.onSuccess(marker)\r\n return marker\r\n }\r\n // 添加右键菜单\r\n s.addContextMenu = function (overlay, options = {}){ // options: {menus: [{text: '', handler: func()}]}\r\n if (!overlay) {\r\n console.warn(`addContextMenu: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}overlay`)\r\n options.onError && options.onError({\r\n errMsg: `addContextMenu: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}overlay`\r\n })\r\n return\r\n }\r\n if (!options.menus || !Array.isArray(options.menus) || !options.menus[0] || !options.menus[0].text) {\r\n console.warn(`addContextMenu: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}{menus: [{text: \"\", handler: func()}]}`)\r\n options.onError && options.onError({\r\n errMsg: `addContextMenu: ${window._seeds_lang['hint_pass_in_parameters'] || '请传入参数'}{menus: [{text: \"\", handler: func()}]}`\r\n })\r\n return\r\n }\r\n var markerMenu = new BMap.ContextMenu()\r\n for (let [index, opt] of options.menus.entries()) {\r\n markerMenu.addItem(new BMap.MenuItem(opt.text || (window._seeds_lang['menu'] || '菜单'), function () {\r\n opt.handler(opt, index)\r\n }))\r\n }\r\n overlay.addContextMenu(markerMenu)\r\n return markerMenu\r\n }\r\n}\r\n\r\nexport default BaiduMap\r\n","import Mark from './Mark.js';\n\nexport default Mark;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Mark extends Component {\n static propTypes = {\n className: PropTypes.string, // 'info | success | cancel | warn | disable | primary | hint'\n children: PropTypes.node,\n }\n static defaultProps = {\n className: 'info'\n }\n constructor(props) {\n super(props);\n }\n\n render() {\n const {className, children, ...others} = this.props;\n return (\n children ? <span ref={el => {this.$el = el;}} className={`mark${className ? ' ' + className : ''}`} {...others}>{children}</span> : null\n );\n }\n}\n","// Marquee 滚动框\nvar Marquee = function (container, params) {\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n start: 0,\n end: 300,\n step: 50,\n duration: 300,\n delay: 2000,\n direction: 'top', // top | bottom | left | right\n loop: false,\n duplicateClass: 'duplicate'\n /*\n Callbacks:\n onSlideChange:function(Marquee)\n onSlideChangeEnd:function(Marquee)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n // Container\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n // 定时器\n s.interval = null\n // 循环\n s.updateLoop = function () {\n var dups = [].slice.call(s.container.querySelectorAll('.' + s.params.duplicateClass))\n dups.forEach(function (item) {\n s.container.removeChild(item)\n })\n if (s.params.loop) {\n var beforeDupContainer = s.container.cloneNode(true)\n var afterDupContainer = s.container.cloneNode(true)\n beforeDupContainer.classList.add(s.params.duplicateClass)\n afterDupContainer.classList.add(s.params.duplicateClass)\n s.container.insertBefore(beforeDupContainer, s.container.firstElementChild)\n s.container.appendChild(afterDupContainer)\n }\n }\n // 设置开始位置\n s.setStart = function (start) {\n s.params.start = start\n }\n // 设置结束位置\n s.setEnd = function (end) {\n s.params.end = end\n }\n /* --------------------\n Method\n -------------------- */\n // 设置动画时长\n s.setDuration = function (duration) {\n s.container.style.webkitTransitionDuration = duration + 'ms'\n }\n // 设置移动位置\n s.setPosition = function (pos) {\n switch (s.params.direction) {\n case 'top':\n s.container.style.webkitTransform = 'translate(0px, ' + pos + 'px)'\n break;\n default:\n s.container.style.webkitTransform = 'translate(0px, ' + pos + 'px)'\n }\n }\n // 初始化位置变量\n s.start = 0\n s.end = 0\n s.move = 0\n s.update = function() {\n s.start = s.params.start\n s.end = s.params.end\n var range = s.params.end - s.params.start\n if (s.params.loop) {\n s.updateLoop()\n s.start = s.params.end + s.params.step\n s.end = s.start + range\n }\n s.setDuration(0)\n // 设置起始位置\n s.setPosition(-s.start)\n // 设置动画时长\n setTimeout(function () {\n s.setDuration(s.params.duration)\n }, 10)\n // 设置起始位置\n s.move = s.start\n // 初始化播放\n if (s.interval) window.clearInterval(s.interval)\n }\n s.update()\n // 播放\n s.play = function () {\n if (s.interval) window.clearInterval(s.interval)\n s.interval = window.setInterval(function() {\n s.move += s.params.step\n if (s.params.loop) {\n if (s.move >= s.end + s.params.step) {\n // 回到复制相同处\n var initPos = s.start - s.params.step\n s.setDuration(0)\n s.setPosition(-initPos)\n // 再移动一格\n s.move = initPos + s.params.step\n setTimeout(function () {\n s.setDuration(s.params.duration)\n s.setPosition(-s.move)\n }, 10)\n } else {\n s.setPosition(-s.move)\n }\n } else {\n s.setPosition(-s.move)\n if (s.move >= s.end) {\n window.clearInterval(s.interval)\n }\n }\n }, s.params.delay);\n }\n s.pause = function () {\n window.clearInterval(s.interval)\n }\n}\n\nexport default Marquee\n","import Marquee from './Marquee.js';\n\nexport default Marquee;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class Marquee extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n list: PropTypes.array, // [{key: 'xx', value: ''}]\n\n contentStyle: PropTypes.object,\n contentClassName: PropTypes.string,\n\n step: PropTypes.number,\n duration: PropTypes.number,\n delay: PropTypes.number,\n direction: PropTypes.string, // top | bottom | left | right\n loop: PropTypes.bool,\n onClick: PropTypes.func\n }\n static defaultProps = {\n step: 50,\n duration: 300,\n delay: 2000,\n direction: 'top',\n loop: true\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate = (prevProps) => {\n if (!this.props.list.equals(prevProps.list)) {\n this.update();\n }\n }\n componentDidMount = () => {\n if (this.instance || this.props.list.length === 0) return;\n this.init();\n }\n update = () => {\n this.instance.setStart(0);\n this.instance.setEnd(this.props.step * (this.props.list.length - 1));\n this.instance.update();\n this.instance.play();\n }\n init = () => {\n const {list, step, duration, delay, direction, loop} = this.props;\n const instance = new Instance(this.$el, {\n start: 0,\n end: step * (list.length - 1),\n step,\n duration,\n delay,\n direction,\n loop\n });\n instance.play();\n this.instance = instance;\n }\n onClick = (item, index) => {\n if (this.props.onClick) this.props.onClick(item, index);\n }\n render() {\n const {\n className, style, list,\n contentClassName, contentStyle,\n step\n } = this.props;\n return (\n <ul ref={el => {this.$el = el;}} className={`marquee${className ? ' ' + className : ''}`} style={style}>\n {list && list.map((item, index) => {\n return <li className={`marquee-li${contentClassName ? ' ' + contentClassName : ''}`} style={Object.assign({height: step + 'px'}, contentStyle)} key={index} onClick={() => {this.onClick(item, index)}}>{item.value}</li>\n })}\n </ul>\n );\n }\n}\n","// 左侧菜单\nvar MenuTree = function (container, params) {\n /* ------------------\n Model\n ------------------ */\n var defaults = {\n // DATA\n data: null,\n tagClass: 'menutree-tag',\n activeClass: 'active',\n extendClass: 'extend',\n\n selectedId: '', // 默认选中项的id\n // collapseResetChildren: true, // 收缩时, 重置子节点\n /*\n callbacks\n onClick:function(item, isActived, isExtend) // 点击项的数据,是否是选中状态,是否是展开状态\n */\n }\n /* 参数data: [{\n id: '',\n name: '',\n active: false,\n children\n }] */\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // MenuTree\n var s = this\n\n // Params\n s.params = params\n // Container\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n if (!s.container) {\n console.log('SeedsUI Error:未找到MenuTree的DOM对象,请检查传入参数是否正确')\n return\n }\n s.initData = function (list, ulContainer) {\n for (var i = 0, option; option = list[i++];) { // eslint-disable-line\n var li = document.createElement('li')\n var html = '<div data-index=\"' + i + '\" data-id=\"' + option.id + '\" class=\"' + s.params.tagClass + (option.id === s.params.selectedId ? ' active' : '') + '\">' +\n '<p class=\"menutree-tag-font\">' + option.name + '</p>' +\n (option.children && option.children.length > 0 ? '<i class=\"menutree-more\"></i>' : '') +\n '</div>'\n li.innerHTML = html\n ulContainer.appendChild(li)\n if (option.children && option.children.length > 0) {\n var ul = document.createElement('ul')\n li.appendChild(ul)\n s.initData(option.children, ul)\n }\n }\n }\n s.container.innerHTML = ''\n\n /* ------------------\n Method\n ------------------ */\n // 设置选中项\n s.setSelectedId = function (id) {\n s.params.selectedId = id\n }\n // 重新设置数据\n s.setData = function (data) {\n s.params.data = data\n s.container.innerHTML = ''\n if (!data || !data.length) {\n return\n }\n \n s.initData(data, s.container)\n s.updateActive()\n }\n // 添加数据\n s.addData = function (data, childNode) {\n s.initData(data, childNode)\n }\n // 如果子节点有选中的话, 父节点也要选中并且展开\n s.updateActive = function () {\n var actives = s.container.querySelectorAll('.' + s.params.activeClass)\n if (actives.length === 1 && actives[0].parentNode && actives[0].parentNode.parentNode && actives[0].parentNode.parentNode.previousElementSibling) {\n var tag = actives[0].parentNode.parentNode.previousElementSibling\n s.setActive(tag)\n }\n }\n s.setActive = function (target) {\n target.classList.add(s.params.activeClass)\n target.classList.add(s.params.extendClass)\n if (target.parentNode && target.parentNode.parentNode && target.parentNode.parentNode.previousElementSibling) {\n var tag = target.parentNode.parentNode.previousElementSibling\n s.setActive(tag)\n }\n }\n\n /* ------------------\n Events\n ------------------ */\n // 绑定事件\n s.isSupportTouch = 'ontouchstart' in window\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n // touch兼容pc事件\n if (s.isSupportTouch) {\n s.container[action]('touchstart', s.onTouchStart, false)\n s.container[action]('touchend', s.onTouchEnd, false)\n } else {\n s.container[action]('click', s.onClick, false)\n }\n }\n // attach、dettach事件\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n /* ------------------\n Event Handler\n ------------------ */\n // Tap\n s.touches = {\n startX: 0,\n startY: 0,\n endX: 0,\n endY: 0,\n diffX: 0,\n diffY: 0,\n }\n s.onTouchStart = function (e) {\n s.touches.startX = e.touches[0].clientX\n s.touches.startY = e.touches[0].clientY\n }\n s.onTouchEnd = function (e) {\n s.touches.endX = e.changedTouches[0].clientX\n s.touches.endY = e.changedTouches[0].clientY\n s.touches.diffX = s.touches.startX - s.touches.endX\n s.touches.diffY = s.touches.startY - s.touches.endY\n // 单击事件\n if (Math.abs(s.touches.diffX) < 6 && Math.abs(s.touches.diffY) < 6) {\n s.onClick(e)\n }\n }\n // 点击树\n s.onClick = function (e) {\n var target = e.target\n s.target = target\n s.targetLine = target\n if (!target.classList.contains(s.params.tagClass)) return\n // isActived\n var isActived = target.classList.contains(s.params.activeClass)\n // isExtend\n var isExtend = target.classList.contains(s.params.extendClass)\n // item\n const id = target.getAttribute('data-id');\n let item = s.params.data.getDeepTreeNode(id);\n // 如果已经展开,则收缩\n if (isExtend) {\n target.classList.remove(s.params.extendClass)\n // 收缩时, 重置子节点\n // if (s.params.collapseResetChildren) {\n // var tags = target.nextElementSibling.querySelectorAll('.' + s.params.tagClass)\n // for (var i = 0, subtag; subtag = tags[i++];) { // eslint-disable-line\n // subtag.classList.remove(s.params.extendClass)\n // subtag.classList.remove(s.params.activeClass)\n // }\n // }\n } else {\n // 移除同级所有的选中项与展开项\n var container = target.parentNode.parentNode\n var actives = container.querySelectorAll('.' + s.params.activeClass)\n for (var i = 0, tag; tag = actives[i++];) { // eslint-disable-line\n // var tag = li.querySelector('.' + s.params.tagClass)\n if (tag) {\n tag.classList.remove(s.params.extendClass)\n tag.classList.remove(s.params.activeClass)\n }\n }\n // 添加当前节点为选中项和展开项\n target.classList.add(s.params.extendClass)\n target.classList.add(s.params.activeClass)\n }\n\n if (s.params.onClick) s.params.onClick(s, item, isActived, isExtend)\n }\n // 主函数\n s.init = function () {\n if (s.params.data && s.params.data.length) {\n if (s.params.data && s.params.data.length) s.initData(s.params.data, s.container)\n s.updateActive()\n }\n s.attach()\n }\n s.init()\n}\n\nexport default MenuTree\n","import MenuTree from './MenuTree.js';\n\nexport default MenuTree;\n","// require PrototypeArray.js\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class MenuTree extends Component {\n static propTypes = {\n className: PropTypes.string,\n selectedId: PropTypes.string, // 默认选中项的id\n onClick: PropTypes.func,\n\n list: PropTypes.array\n }\n /* list: [{\n id: '',\n caption: '',\n active: false,\n children\n }] */\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate = (prevProps) => {\n if (JSON.stringify(prevProps.list) !== JSON.stringify(this.props.list)) {\n if (this.props.list && this.props.list.length) {\n this.instance.setSelectedId(this.props.selectedId)\n var list = Object.clone(this.props.list);\n if (JSON.stringify(list).indexOf('\"children\"') === -1) {\n list = list.deepTree()\n }\n this.instance.setData(list)\n } else {\n this.instance.setData([])\n }\n }\n }\n componentDidMount = () => {\n if (this.instance) return;\n var list = Object.clone(this.props.list);\n if (JSON.stringify(list).indexOf('\"children\"') === -1) {\n list = list.deepTree()\n }\n const instance = new Instance(this.$el, {\n data: list,\n selectedId: this.props.selectedId,\n onClick: this.onClick // (item, isActive, isExtend: true展开 | false收缩)\n });\n this.instance = instance;\n }\n onClick = (s, item, isActived, isExtend) => {\n // childrenCount\n var childrenCount = item.children && item.children.length ? item.children.length : 0;\n\n if (this.props.onClick) this.props.onClick(s, item, isActived, isExtend, childrenCount);\n }\n render() {\n const {className, selectedId, onClick, list, ...others} = this.props;\n return (\n <ul ref={el => {this.$el = el;}} className={`menutree${className ? ' ' + className : ''}`} {...others}>\n </ul>\n );\n }\n}\n","import NumBox from './NumBox.js';\n\nexport default NumBox;\n","// require PrototypeMath.js, 用于解决加减法精度丢失的问题\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class NumBox extends Component {\n static propTypes = {\n args: PropTypes.any,\n // 容器\n style: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n // 加减号\n plusStyle: PropTypes.object,\n plusClassName: PropTypes.string,\n minusStyle: PropTypes.object,\n minusClassName: PropTypes.string,\n // 文本框\n inputStyle: PropTypes.object,\n inputClassName: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n digits: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number\n ]),\n max: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n min: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n placeholder: PropTypes.string,\n name: PropTypes.string,\n maxLength: PropTypes.string,\n readOnly: PropTypes.bool,\n required: PropTypes.bool,\n // 自动获取焦点\n autoFocus: PropTypes.bool,\n autoSelect: PropTypes.bool,\n // 左右图标\n licon: PropTypes.node,\n onClickLicon: PropTypes.func,\n ricon: PropTypes.node,\n onClickRicon: PropTypes.func,\n // 清除按键\n clear: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n clearClassName: PropTypes.string,\n clearStyle: PropTypes.object,\n // events\n onClick: PropTypes.func,\n onClickMinus: PropTypes.func,\n onClickPlus: PropTypes.func,\n onClickInput: PropTypes.func,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onError: PropTypes.func,\n }\n static defaultProps = {\n maxLength: '16',\n clearClassName: 'ricon close-icon-clear size18'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount () {\n if (this.props.autoFocus) {\n this.autoFocus();\n }\n }\n // 失去焦点\n onBlur = (e) => {\n const {readOnly, disabled, required, min, onChange, onBlur} = this.props;\n if (readOnly || disabled) {\n return;\n }\n // 失去焦点时只校验非空、最小值\n const value = Math.Calc.correctNumber(this.props.value, {required, min});\n if (onChange && '' + value !== '' + this.props.value) onChange(value, Object.getArgs(e, this.props.args));\n if (onBlur) onBlur(value, Object.getArgs(e, this.props.args));\n };\n // 获取焦点\n onFocus = (e) => {\n const {readOnly, disabled, onFocus} = this.props;\n if (readOnly || disabled) {\n e.target.blur();\n return;\n }\n if (onFocus) onFocus(this.props.value, Object.getArgs(e, this.props.args));\n };\n // 点击加减号清除时获取焦点\n autoFocus = () => {\n if (this.props.disabled || this.props.readOnly || !this.$input) return;\n this.$input.focus();\n if (this.props.autoSelect) this.$input.select();\n // 修复兼容ios12的bug, 与全局的回弹并不冲突, 这里主要解决点击加减号时获取焦点, 不回弹的问题\n var iosExp = navigator.userAgent.toLowerCase().match(/cpu iphone os (.*?) like mac os/)\n if (iosExp && iosExp[1] && iosExp[1] > '12') {\n // 兼容输入法把页面顶上去, 不回弹的问题\n if (window.inputToggleTimeout) {\n window.clearTimeout(window.inputToggleTimeout);\n }\n if (!this.$input.getAttribute('ios-bug-blur')) {\n this.$input.setAttribute('ios-bug-blur', '1');\n this.$input.addEventListener('blur', () => {\n window.inputToggleTimeout = window.setTimeout(() => {\n document.getElementById('root').scrollIntoView();\n }, 100);\n }, false);\n }\n }\n }\n // 点击文本框, 逢0清空\n onClickInput = (e) => {\n var value = e.target.value;\n if (value - 0 === 0) {\n e.target.value = '';\n }\n if (this.props.onClickInput) this.props.onClickInput(value, Object.getArgs(e, this.props.args));\n }\n // 修改值\n onChange = (e) => {\n if (e.target.validity.badInput) {\n e.target.value = '';\n }\n // 输入时只校验最大值、小数点、最大长度、返回错误\n const {max, digits, maxLength, onError} = this.props;\n var value = Math.Calc.correctNumber(e.target.value, {max, digits, maxLength, onError});\n if (this.props.onChange) this.props.onChange(value, Object.getArgs(e, this.props.args));\n };\n // 点击减\n onClickMinus = (e) => {\n let value = Math.Calc.correctNumber(Math.Calc.subtract(this.$input.value, 1), this.props);\n // Callback\n if (this.props.onChange) this.props.onChange(value, Object.getArgs(e, this.props.args));\n if (this.props.onClickMinus) this.props.onClickMinus(value, Object.getArgs(e, this.props.args));\n this.autoFocus();\n };\n // 点击加\n onClickPlus = (e) => {\n let value = Math.Calc.correctNumber(Math.Calc.add(this.$input.value, 1), this.props);\n // Callback\n if (this.props.onChange) this.props.onChange(value, Object.getArgs(e, this.props.args));\n if (this.props.onClickPlus) this.props.onClickPlus(value, Object.getArgs(e, this.props.args));\n this.autoFocus();\n };\n // 点击容器\n onClick = (e) => {\n e.stopPropagation();\n const {\n clear, onClick, onClickLicon, onClickRicon\n } = this.props;\n if (this.props.disabled) return;\n var target = e.target;\n if (clear && target.classList.contains('clearicon')) {\n this.onClear(e);\n }\n if (onClickLicon && target.classList.contains('licon')) {\n onClickLicon(this.$input.value, Object.getArgs(e, this.props.args));\n return;\n }\n if (onClickRicon && target.classList.contains('ricon')) {\n onClickLicon(this.$input.value, Object.getArgs(e, this.props.args));\n return;\n }\n if (target.classList.contains('numbox-input')) {\n this.onClickInput(e);\n return;\n }\n if (target.classList.contains('numbox-button-plus-flag')) {\n this.onClickPlus(e);\n return;\n }\n if (target.classList.contains('numbox-button-minus-flag')) {\n this.onClickMinus(e);\n return;\n }\n if (onClick) onClick(this.$input.value, Object.getArgs(e, this.props.args));\n }\n // 点击清除\n onClear = (e) => {\n this.autoFocus();\n // 赋值\n if (this.props.clear && typeof this.props.clear === 'function') this.props.clear('', Object.getArgs(e, this.props.args));\n if (this.props.onChange) {\n this.props.onChange('', Object.getArgs(e, this.props.args));\n }\n e.stopPropagation();\n }\n // render\n getInputDOM = () => {\n const {\n args,\n style, className, disabled, onClick,\n plusStyle, plusClassName, minusStyle, minusClassName, onClickMinus, onClickPlus,\n licon, onClickLicon,\n ricon, onClickRicon,\n clear, clearClassName, clearStyle,\n inputStyle, inputClassName, value, placeholder, maxLength, readOnly, onClickInput, onChange, onError, onBlur, onFocus,\n digits, max, min,\n autoFocus, autoSelect,\n ...others\n } = this.props;\n return <input\n ref={(el) => {this.$input = el;}}\n type=\"number\"\n value={value}\n min={min}\n max={max}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder}\n onChange={this.onChange}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n className={`numbox-input${inputClassName ? ' ' + inputClassName : ''}`}\n style={inputStyle}\n {...others}\n />;\n }\n render() {\n const {\n min, max, value, style, className, disabled,\n plusStyle, plusClassName, minusStyle, minusClassName,\n licon,\n ricon,\n clear, clearClassName, clearStyle,\n } = this.props;\n return (\n <div ref={el => {this.$el = el;}} disabled={(min >= max) || disabled} style={style} className={`numbox${className ? ' ' + className : ''}`} onClick={this.onClick}>\n <input\n ref={(el) => {this.$minus = el;}}\n type=\"button\"\n className={`numbox-button numbox-button-minus-flag${plusClassName ? ' ' + plusClassName : ''}`}\n style={plusStyle}\n value=\"-\"\n disabled={!isNaN(min) ? min - value >= 0 : false}\n />\n {licon && licon}\n {this.getInputDOM()}\n {clear && value && <i className={`icon clearicon${clearClassName ? ' ' + clearClassName : ''}`} style={clearStyle} onClick={this.onClear}></i>}\n {ricon && ricon}\n <input\n ref={(el) => {this.$plus = el;}}\n type=\"button\"\n className={`numbox-button numbox-button-plus-flag${minusClassName ? ' ' + minusClassName : ''}`}\n style={minusStyle} value=\"+\"\n disabled={!isNaN(max) ? max - value <= 0 : false}\n />\n </div>\n );\n }\n}\n","import NumBoxPop from './NumBoxPop.js';\n\nexport default NumBoxPop;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Alert from './../Alert';\nimport NumBox from './../NumBox';\n\nexport default class NumBoxPop extends Component {\n static propTypes = {\n args: PropTypes.any,\n // 容器\n caption: PropTypes.string,\n // 文本框\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n // events\n onClickCancel: PropTypes.func,\n onClickSubmit: PropTypes.func,\n }\n static defaultProps = {\n caption: '修改购买数量'\n }\n constructor(props) {\n super(props);\n this.state = {\n value: props.value || '1'\n }\n }\n onChange = (value) => {\n this.setState({\n value: value\n });\n }\n onClickSubmit = (args) => {\n if (this.props.onClickSubmit) this.props.onClickSubmit(this.state.value, args);\n }\n onClickCancel = (args) => {\n const {value} = this.props;\n this.setState({\n value: value\n });\n if (this.props.onClickCancel) this.props.onClickCancel(value, args);\n }\n render() {\n const {\n args,\n caption,\n value,\n onClickCancel, onClickSubmit,\n ...others\n } = this.props;\n return (\n <Alert args={args} ref={el => {this.$el = el;}} duration={0} caption={caption} show onClickSubmit={this.onClickSubmit} onClickCancel={this.onClickCancel}>\n <NumBox\n ref={(el) => {this.$numbox = el}}\n value={this.state.value}\n style={{margin: '0 auto'}}\n className=\"flex xl\"\n onChange={this.onChange}\n autoFocus\n autoSelect\n {...others}\n />\n </Alert>\n );\n }\n}\n","import NumBoxPopPointer from './NumBoxPopPointer.js';\n\nexport default NumBoxPopPointer;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport NumBox from './../NumBox';\nimport NumBoxPop from './../NumBoxPop';\n\nexport default class NumBoxPopPointer extends Component {\n static propTypes = {\n args: PropTypes.any,\n containerClassName: PropTypes.string,\n containerStyle: PropTypes.object,\n // numbox\n className: PropTypes.string,\n style: PropTypes.object,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n digits: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number\n ]),\n min: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n max: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n disabled: PropTypes.bool,\n // unit\n unitClassName: PropTypes.string,\n unitStyle: PropTypes.object,\n unit: PropTypes.string,\n // events\n onChange: PropTypes.func\n };\n\n static defaultProps = {\n className: 'sm',\n unitStyle: {\n fontSize: '13px',\n marginLeft: '8px'\n }\n };\n\n constructor(props) {\n super(props);\n this.state = {\n show: false\n };\n }\n onClickCancel = () => {\n this.setState({show: false});\n }\n onClickPlus = (value, args) => {\n if (this.props.onChange) this.props.onChange(value, args);\n }\n onClickMinus = (value, args) => {\n if (this.props.onChange) this.props.onChange(value, args);\n }\n onClickSubmit = (value, args) => {\n // Callback\n if (this.props.onChange) this.props.onChange(value, args);\n // 隐藏\n this.setState({\n show: false\n });\n }\n onClickNumBox = () => {\n this.setState({\n show: true\n });\n }\n render() {\n const {\n args,\n containerClassName, containerStyle,\n className, style, value, disabled, min, max, digits,\n unitClassName, unitStyle, unit,\n onChange,\n ...others\n } = this.props;\n const {show} = this.state;\n return (\n <div style={Object.assign({position: 'relative'}, containerStyle)} className={containerClassName}>\n <NumBox\n args={args}\n className={className}\n style={style}\n value={value}\n disabled={disabled}\n readOnly\n min={min}\n max={max}\n digits={digits}\n onClickInput={this.onClickNumBox}\n onClickPlus={this.onClickPlus}\n onClickMinus={this.onClickMinus}\n />\n <span style={unitStyle} className={unitClassName}>{unit || ''}</span>\n {show && <NumBoxPop\n args={args}\n value={value}\n min={min}\n max={max}\n digits={digits}\n onClickCancel={this.onClickCancel}\n onClickSubmit={this.onClickSubmit}\n {...others}\n />}\n </div>\n );\n }\n}\n","import OnOff from './OnOff.js';\n\nexport default OnOff;\n","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\n\nexport default class OnOff extends Component {\n static propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n readOnly: PropTypes.bool,\n checked: PropTypes.bool,\n onCaption: PropTypes.string,\n offCaption: PropTypes.string,\n onClick: PropTypes.func\n }\n static defaultProps = {\n onCaption: '',\n offCaption: ''\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n onClick = () => {\n const {readOnly, checked, onClick} = this.props;\n if (readOnly) return;\n if (onClick) {\n if (checked) onClick(true);\n else onClick(false);\n }\n }\n render() {\n const {\n className, style, checked, onCaption, offCaption,\n readOnly, onClick, ...others\n } = this.props;\n return (\n <div className={`onoff${className ? ' ' + className : ''}${onCaption && offCaption ? '' : ' notext'}${checked ? ' active' : ''}`} style={style} data-on={onCaption} data-off={offCaption} onClick={this.onClick} {...others}>\n <div className=\"onoff-handle\"></div>\n </div>\n );\n }\n}\n","import Page from './Page.js';\n\nexport default Page;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Page extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n animation: PropTypes.string,\n children: PropTypes.node\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n componentDidMount () {\n }\n render() {\n const {animation, style, className, children, ...others} = this.props;\n return (\n <section ref={(el) => {this.$el = el}} className={'page' + (className ? ' ' + className : '')} data-animation={animation} style={style} {...others}>\n {children}\n </section>\n );\n }\n}\n","// PagePull 侧边栏\nvar PagePull = function (container, params) {\n /* ------------------------\n Model\n ------------------------ */\n var defaults = {\n mainClass: 'page',\n maskClass: 'mask',\n leftClass: 'page-side-left',\n rightClass: 'page-side-right',\n transition: 'push', // push | reveal\n\n threshold: 20,\n duration: 150,\n \n isClickMaskHide: true,\n drag: false,\n /*\n Callbacks:\n\t\tonShowedLeft:function(s)\n\t\tonShowedRight:function(s)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n // Container\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n if (!s.container) {\n console.log('SeedsUI Error:未找到Aside的DOM对象,请检查传入参数是否正确')\n return\n }\n // Main\n s.main = s.container.querySelector('.' + s.params.mainClass)\n // Mask\n s.mask = s.container.querySelector('.' + s.params.maskClass)\n if (!s.container || !s.mask) {\n console.log('SeedsUI Error:未找到Aside的Page,请检查传入参数是否正确')\n return\n }\n // Left 左侧栏\n s.left = s.container.querySelector('.' + s.params.leftClass)\n // Right 右侧栏\n s.right = s.container.querySelector('.' + s.params.rightClass)\n if (!s.left && !s.right) {\n return\n }\n s.target = null\n /* ------------------------\n Method\n ------------------------ */\n s.showMask = function () {\n s.mask.style.visibility = 'visible'\n s.mask.style.opacity = '1'\n }\n s.hideMask = function () {\n s.mask.style.visibility = 'hidden'\n s.mask.style.opacity = '0'\n }\n s.show = function (direction) {\n var target = s.target\n target.style.webkitTransitionDuration = s.params.duration + 'ms'\n var x = direction === 'right' ? -s.rightClientWidth : s.leftClientWidth\n s.touches.posX = x\n\t\ttarget.style.webkitTransform = 'translateX(' + x + 'px)'\n\t\t// Callback onShowedLeft | onShowedRight\n\t\ts.target = target\n\t\tif (s.params.onShowedLeft || s.params.onShowedRight) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (direction === 'left' && s.params.onShowedLeft) s.params.onShowedLeft(s)\n\t\t\t\tif (direction === 'right' && s.params.onShowedRight) s.params.onShowedRight(s)\n\t\t\t}, s.params.duration)\n\t\t}\n }\n s.hide = function () {\n var target = s.target\n target.style.webkitTransitionDuration = s.params.duration + 'ms'\n target.style.webkitTransform = 'translateX(0px)'\n s.touches.posX = 0\n s.hideMask()\n }\n /* -----------------------\n\tTouch Events\n\t----------------------- */\n s.events = function (detach) {\n var touchTarget = s.target\n var action = detach ? 'removeEventListener' : 'addEventListener'\n if (s.params.drag) {\n touchTarget[action]('touchstart', s.onTouchStart, false)\n touchTarget[action]('touchmove', s.onTouchMove, false)\n touchTarget[action]('touchend', s.onTouchEnd, false)\n touchTarget[action]('touchcancel', s.onTouchEnd, false)\n }\n // clickMask\n s.mask[action]('click', s.onClickMask, false)\n }\n // attach、dettach事件\n s.attach = function () {\n s.events()\n }\n s.detach = function () {\n s.events(true)\n }\n /* -----------------------\n\tTouch Handler\n\t----------------------- */\n // Touch信息\n s.touches = {\n direction: 0,\n\t\tvertical: 0,\n\t\thorizontal: 0,\n\t\tstartX: 0,\n\t\tstartY: 0,\n\t\tcurrentX: 0,\n\t\tcurrentY: 0,\n\t\tendX: 0,\n\t\tendY: 0,\n\t\tdiffX: 0,\n diffY: 0,\n posX: 0\n }\n s.onTouchStart = function (e) {\n e.stopPropagation()\n // 清空滑动方向\n\t\ts.touches.direction = 0\n\t\ts.touches.vertical = 0\n s.touches.horizontal = 0\n // 记录点击坐标\n s.touches.startX = e.touches[0].clientX\n\t\ts.touches.startY = e.touches[0].clientY\n\t\ts.leftClientWidth = s.left ? s.left.clientWidth : 0\n s.rightClientWidth = s.right ? s.right.clientWidth : 0\n e.currentTarget.style.webkitTransitionDuration = '0ms'\n }\n s.onTouchMove = function (e) {\n e.stopPropagation()\n if (!s.leftClientWidth && !s.rightClientWidth) return\n\t\ts.touches.currentX = e.touches[0].clientX\n\t\ts.touches.currentY = e.touches[0].clientY\n\t\ts.touches.diffX = s.touches.currentX - s.touches.startX\n\t\ts.touches.diffY = s.touches.currentY - s.touches.startY\n\n\t\t// 设置滑动方向\n\t\tif (s.touches.direction === 0) {// 设置滑动方向(-1上下 | 1左右)\n\t\t\ts.touches.direction = Math.abs(s.touches.diffX) > Math.abs(s.touches.diffY) ? 1 : -1\n\t\t}\n\t\tif (s.touches.direction === -1) {// 设置垂直方向(-1上 | 1下)\n\t\t\ts.touches.vertical = s.touches.diffY < 0 ? 1 : -1\n\t\t}\n\t\tif (s.touches.direction === 1) {// 设置左右方向(-1左 | 1右)\n\t\t\ts.touches.horizontal = s.touches.diffX < 0 ? 1 : -1\n\t\t}\n\n\t\t// 如果是上下滑动则不工作\n\t\tif (s.touches.vertical !== 0) {\n\t\t\treturn\n }\n \n // 左滑\n if ((s.touches.diffX + s.touches.posX) < -s.rightClientWidth) s.touches.diffX = -s.rightClientWidth - s.touches.posX\n // 右滑\n\t\tif ((s.touches.diffX + s.touches.posX) > s.leftClientWidth) s.touches.diffX = s.leftClientWidth - s.touches.posX\n\n // 滑动\n s.showMask()\n\t\te.currentTarget.style.webkitTransform = 'translateX(' + (s.touches.diffX + s.touches.posX) + 'px)'\n }\n s.onTouchEnd = function (e) {\n e.stopPropagation()\n if (s.touches.direction === -1) { // 上下滑动阻止工作\n\t\t\treturn\n\t\t}\n s.touches.endX = e.clientX || e.changedTouches[0].clientX\n s.touches.endY = e.clientY || e.changedTouches[0].clientY\n\t\tif (Math.abs(s.touches.startX - s.touches.endX) < 6 && Math.abs(s.touches.startY - s.touches.endY) < 6) { // 点击\n\t\t\ts.hide()\n } else if (s.leftClientWidth || s.rightClientWidth) { // 滑动\n var direction = s.touches.diffX > 0 ? 'left' : 'right' // 应当显示哪一边,实际left为向右滑动,right反之\n if (Math.abs(s.touches.diffX) > s.params.threshold) {\n // 如果左侧展开,并且向左滑动,则隐藏\n if (s.touches.posX > 0 && direction === 'right') {\n s.hide()\n // 如果右侧展开,并且向右滑动,则隐藏\n } else if (s.touches.posX < 0 && direction === 'left') {\n s.hide()\n } else {\n s.show(direction)\n }\n\t\t\t} else {\n if (s.touches.posX !== 0) {\n s.show(s.touches.posX > 0 ? 'left' : 'right')\n } else {\n s.hide()\n }\n\t\t\t}\n\t\t}\n }\n s.onClickMask = function (e) {\n s.target = e.target\n if (s.params.onClickMask) s.params.onClickMask(s)\n if (s.params.isClickMaskHide) {\n s.hide()\n }\n e.stopPropagation()\n }\n /* -----------------------\n\tInit\n\t----------------------- */\n s.update = function () {\n if (s.target) {\n s.detach()\n }\n if (this.params.transition === 'reveal') {\n s.target = s.main\n } else {\n s.target = s.container\n }\n s.attach()\n }\n s.update()\n}\n\nexport default PagePull\n","import PagePull from './PagePull';\n\nexport default PagePull;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Page from './../Page';\nimport Instance from './instance.js';\n\nexport default class PagePull extends Component {\n static propTypes = {\n // Page\n children: PropTypes.node,\n // Side 侧边栏\n drag: PropTypes.bool,\n lSide: PropTypes.node, // 左侧边栏\n lSideStyle: PropTypes.object,\n lSideClassName: PropTypes.string,\n rSide: PropTypes.node, // 右侧边栏\n rSideStyle: PropTypes.object,\n rSideClassName: PropTypes.string,\n transition: PropTypes.string, // 过渡动画, push | reveal\n onShowedLeft: PropTypes.func,\n onShowedRight: PropTypes.func\n };\n\n static defaultProps = {\n drag: true,\n transition: 'push'\n }\n\n constructor(props, context) {\n super(props, context);\n }\n componentDidMount = () => {\n const instance = new Instance(this.$el, {\n drag: true,\n transition: this.props.transition || 'push',\n onShowedLeft: this.props.onShowedLeft,\n onShowedRight: this.props.onShowedRight\n });\n this.instance = instance;\n }\n render() {\n const {\n lSide, lSideStyle, lSideClassName,\n rSide, rSideStyle, rSideClassName,\n drag,\n children,\n transition,\n ...others\n } = this.props;\n return (\n <div className=\"page-pull\" ref={el => {this.$el = el;}}> \n {/* 主体部分 */}\n <Page {...others}>\n {children}\n <div className=\"mask\"></div>\n </Page>\n {/* 左侧边栏 */}\n {lSide && <aside className={`page-side-left${lSideClassName ? ' ' + lSideClassName : ''}`} style={lSideStyle} data-transition={transition} ref={el => {this.$lSide = el;}}> \n {lSide}\n </aside>}\n {/* 右侧边栏 */}\n {rSide && <aside className={`page-side-right${rSideClassName ? ' ' + rSideClassName : ''}`} style={rSideStyle} data-transition={transition} ref={el => {this.$rSide = el;}}>\n {rSide}\n </aside>}\n </div>\n );\n }\n}\n","// PDFView pdf文件预览\nvar PDFView = function (container, params) {\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n containerClass: 'pdf-container',\n wrapperClass: 'pdf-wrapper',\n pageClass: 'pdf-page',\n canvasClass: 'pdf-page-canvas',\n imgClass: 'pdf-page-img',\n loadClass: 'pdf-page-load',\n loadHTML: '加载中',\n errorClass: 'pdf-page-error',\n errorHTML: '文件加载失败',\n hideClass: 'hide',\n\n pictures: '', // 图片地址\n src: '', // pdf地址\n cMapUrl: '',\n // options: null, // getDocument选项: cMapUrl: '/demo/cmaps/', cMapPacked: true(废弃)\n\n pageAttr: 'data-page', // 图片页数, 从0开始\n completeAttr: 'data-complete', // 完成加载, data-complete=0代表加载错误, =1代码加载正确\n /*\n callbacks\n onInit:function(PDFView)\n onPageLoad:function(PDFView)\n onLoad:function(PDFView)\n onLoadError:function(error)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // Slider\n var s = this\n\n // Params\n s.params = params\n\n // Container\n s.container = (typeof container === 'string' && container !== '') ? document.querySelector(container) : container\n if (!s.container) {\n console.warn('SeedsUI Error:未找到Container,请检查传入参数是否正确')\n return\n }\n\n // Wrapper\n s.wrapper = null\n \n // 创建DOM\n s.create = function () {\n s.container.innerHTML = ''\n\n s.wrapper = document.createElement('div')\n s.wrapper.setAttribute('class', s.params.wrapperClass)\n\n s.container.appendChild(s.wrapper)\n }\n // 更新params\n s.updateParams = function (params = {}) {\n for (var param in params) {\n s.params[param] = params[param]\n }\n }\n // 更新DOM\n s.update = function (params) {\n if (!s.container) return\n\n s.wrapper = s.container.querySelector('.' + s.params.wrapperClass) || null\n\n if (!s.wrapper) {\n s.create()\n }\n\n // 重新加载\n if (s.init) {\n s.wrapper.innerHTML = ''\n s.updateParams(params)\n s.init()\n }\n }\n s.update()\n /* --------------------\n Methods\n -------------------- */\n // 互斥显示一页中的指定元素: canvas、img、load、error\n s.showPageElement = function (pageDOM, elementName) {\n var elements = {}\n // 隐藏canvas\n elements.canvas = pageDOM.querySelector('.' + s.params.canvasClass)\n elements.canvas.classList.add(s.params.hideClass)\n // 隐藏img\n elements.img = pageDOM.querySelector('.' + s.params.imgClass)\n elements.img.classList.add(s.params.hideClass)\n // 隐藏load\n elements.load = pageDOM.querySelector('.' + s.params.loadClass)\n elements.load.classList.add(s.params.hideClass)\n elements.load.innerHTML = s.params.loadHTML\n // 隐藏error\n elements.error = pageDOM.querySelector('.' + s.params.errorClass)\n elements.error.classList.add(s.params.hideClass)\n elements.error.innerHTML = s.params.errorHTML\n // 显示指定的元素\n if (elements[elementName]) elements[elementName].classList.remove(s.params.hideClass)\n }\n // 创建一页\n s.createPage = function () {\n // page容器\n var page = document.createElement('div')\n page.setAttribute('class', s.params.pageClass)\n // canvas用于渲染pdf单页, 并生成img\n var canvas = document.createElement('canvas')\n canvas.setAttribute('class', s.params.canvasClass)\n page.appendChild(canvas);\n // img\n var img = document.createElement('img')\n img.setAttribute('class', s.params.imgClass)\n page.appendChild(img)\n // load\n var load = document.createElement('div')\n load.setAttribute('class', s.params.loadClass)\n load.innerHTML = s.params.loadHTML\n page.appendChild(load)\n // error\n var error = document.createElement('div')\n error.setAttribute('class', s.params.errorClass + ' ' + s.params.hideClass)\n error.innerHTML = s.params.errorHTML\n page.appendChild(error)\n \n // 添加到容器\n if (s.wrapper) s.wrapper.appendChild(page)\n\n return page\n }\n\n // canvas转成图片\n s.canvasToPng = function (canvas) {\n var dataURL = canvas.toDataURL('image/png', 1.0);\n return dataURL\n }\n // 加载\n s.load = function () {\n if (!s.wrapper) {\n console.warn('SeedsUI Warn: wrapper为空')\n return\n }\n if (s.params.pictures && s.params.pictures.length) { // Img加载\n s.loadImg()\n } else if (s.params.src) { // PDF加载\n s.loadPDF()\n }\n }\n // base64编码转成流(废弃)\n // s.convertBase64ToBinary = function (base64) {\n // var raw = window.atob(base64) // 这个方法在ie内核下无法正常解析。\n // var rawLength = raw.length\n // // 转换成pdf.js能直接解析的Uint8Array类型\n // var array = new Uint8Array(new ArrayBuffer(rawLength))\n // for (var i = 0; i < rawLength; i++) {\n // array[i] = raw.charCodeAt(i) & 0xff\n // }\n // return array\n // }\n // 加载PDF的库\n s.loadPDF = function () {\n try {\n var scriptPdf = document.createElement('script')\n scriptPdf.type = 'text/javascript'\n scriptPdf.src = '//res.waiqin365.com/d/seedsui/pdfview/pdf.min.js'\n var scriptPdfWork = document.createElement('script')\n scriptPdfWork.type = 'text/javascript'\n scriptPdfWork.src = '//res.waiqin365.com/d/seedsui/pdfview/pdf.worker.min.js'\n document.body.appendChild(scriptPdf)\n document.body.appendChild(scriptPdfWork)\n var loadCount = 0\n scriptPdf.onload = function () {\n if (!loadCount) loadCount = 1\n else loadCount++\n if (loadCount === 2) {\n s.initPDF()\n }\n }\n scriptPdfWork.onload = function () {\n if (!loadCount) loadCount = 1\n else loadCount++\n if (loadCount === 2) {\n s.initPDF()\n }\n }\n } catch (error) {\n console.log(error)\n var pageDOM = s.createPage()\n s.showPageElement(pageDOM, 'error')\n }\n }\n // 初始化pdf文件\n s.initPDF = function () {\n // 设置cMapUrl, 解决中文不显示的问题\n if (s.params.cMapUrl) {\n PDFJS.cMapUrl = s.params.cMapUrl\n PDFJS.cMapPacked = true\n }\n // 先判断来源是url还是data(废弃)\n // var args = ''\n // if (s.params.options) {\n // var source = {}\n // if (s.params.src.indexOf('data:application/pdf;base64,') !== -1) {\n // var data = s.params.src.replace('data:application/pdf;base64,', '')\n // data = s.convertBase64ToBinary(data)\n // source = {data: data}\n // } else {\n // source = {url: s.params.src}\n // }\n // args = {...source, ...s.params.options}\n // } else {\n // args = s.params.src\n // }\n // console.log(args)\n // PDFJS.getDocument(args)\n PDFJS.getDocument(s.params.src).then(function (pdf) {\n s.renderPDF(pdf)\n }).catch(function (error) {\n console.log(error)\n var pageDOM = s.createPage()\n s.showPageElement(pageDOM, 'error')\n })\n }\n // 加载图片\n s.loadImg = function () {\n var pictures = s.params.pictures\n if (!pictures || !pictures.length) return\n if (!pictures || !pictures.length) {\n s.params.onLoadError()\n return\n }\n s.total = pictures.length\n s.completeCount = 0\n for (var [i, picture] of pictures.entries()) {\n // 创建页\n var pageDOM = s.createPage()\n var img = pageDOM.querySelector('img')\n // 设置图片路径\n img.src = picture\n img.setAttribute(s.params.pageAttr, i)\n img.addEventListener('load', s.onLoad, false)\n img.addEventListener('error', s.onError, false)\n }\n }\n // 渲染PDF\n s.renderPDF = function (pdf) {\n s.completeCount = 0\n if (!s.wrapper) return\n\n s.total = pdf.numPages // 总页数\n for (let i = 1; i <= s.total; i++) {\n pdf.getPage(i).then((page) => {\n let viewport = page.getViewport(1)\n // 创建页\n let pageDOM = s.createPage()\n let canvas = pageDOM.querySelector('canvas')\n let img = pageDOM.querySelector('img')\n\n let context = canvas.getContext('2d')\n canvas.height = viewport.height\n canvas.width = viewport.width\n let renderContext = {\n canvasContext: context,\n viewport: viewport\n }\n let renderTask = page.render(renderContext)\n renderTask.promise.then(() => {\n let pngbase64 = s.canvasToPng(canvas)\n img.src = pngbase64\n img.setAttribute(s.params.pageAttr, i - 1)\n img.addEventListener('load', s.onLoad, false)\n img.addEventListener('error', s.onError, false)\n })\n })\n }\n }\n // 加载完成或失败事件\n s.total = 0 // 总页数\n s.completeCount = 0 // 完成页数\n s.onLoad = function (e, isError) {\n var target = e.target\n var index = target.getAttribute(s.params.pageAttr)\n // 显示此页Error层\n if (isError) {\n console.log('第' + index + '页加载失败')\n target.setAttribute(s.params.completeAttr, '0') // 0为加载失败\n s.showPageElement(target.parentNode, 'error')\n } else {\n console.log('第' + index + '页加载完成')\n target.setAttribute(s.params.completeAttr, '1') // 1为加载成功\n s.showPageElement(target.parentNode, 'img')\n }\n s.event = e\n // Callback onPageLoad\n if (s.params.onPageLoad) s.params.onPageLoad(s)\n // 全部加载完成回调\n s.completeCount++\n if (s.completeCount === s.total) {\n // Callback onLoad\n if (s.params.onLoad) s.params.onLoad(s)\n }\n }\n // 加载失败事件\n s.onError = function (e) {\n s.onLoad(e, true)\n }\n /* --------------------\n Init\n -------------------- */\n // 主函数\n s.init = function () {\n s.load()\n // Callback onInit\n if (s.params.onInit) s.params.onInit(s)\n }\n // 执行主函数\n s.init()\n // Return slider instance\n return s\n}\n\nexport default PDFView\n","/*!\n * better-normal-scroll v1.15.2\n * (c) 2016-2019 ustbhuangyi\n * Released under the MIT License.\n */\n// As of V8 6.6, depending on the size of the array, this is anywhere\n// between 1.5-10x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++) {\n list[index] = list[index + 1];\n }\n\n list.pop();\n}\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction eventMixin(BScroll) {\n BScroll.prototype.on = function (type, fn) {\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n if (!this._events[type]) {\n this._events[type] = [];\n }\n\n this._events[type].push([fn, context]);\n };\n\n BScroll.prototype.once = function (type, fn) {\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this;\n\n function magic() {\n this.off(type, magic);\n\n fn.apply(context, arguments);\n }\n // To expose the corresponding function method in order to execute the off method\n magic.fn = fn;\n\n this.on(type, magic);\n };\n\n BScroll.prototype.off = function (type, fn) {\n var _events = this._events[type];\n if (!_events) {\n return;\n }\n\n var count = _events.length;\n while (count--) {\n if (_events[count][0] === fn || _events[count][0] && _events[count][0].fn === fn) {\n spliceOne(_events, count);\n }\n }\n };\n\n BScroll.prototype.trigger = function (type) {\n var events = this._events[type];\n if (!events) {\n return;\n }\n\n var len = events.length;\n var eventsCopy = [].concat(toConsumableArray(events));\n for (var i = 0; i < len; i++) {\n var event = eventsCopy[i];\n\n var _event = slicedToArray(event, 2),\n fn = _event[0],\n context = _event[1];\n\n if (fn) {\n fn.apply(context, [].slice.call(arguments, 1));\n }\n }\n };\n}\n\n// ssr support\nvar inBrowser = typeof window !== 'undefined';\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\n return window.performance && window.performance.now ? window.performance.now() + window.performance.timing.navigationStart : +new Date();\n}\n\nfunction extend(target) {\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < rest.length; i++) {\n var source = rest[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target;\n}\n\nfunction isUndef(v) {\n return v === undefined || v === null;\n}\n\nfunction getDistance(x, y) {\n return Math.sqrt(x * x + y * y);\n}\n\nvar elementStyle = inBrowser && document.createElement('div').style;\n\nvar vendor = function () {\n if (!inBrowser) {\n return false;\n }\n // first pick up standard to fix #743\n var transformNames = {\n standard: 'transform',\n webkit: 'webkitTransform',\n Moz: 'MozTransform',\n O: 'OTransform',\n ms: 'msTransform'\n };\n\n for (var key in transformNames) {\n if (elementStyle[transformNames[key]] !== undefined) {\n return key;\n }\n }\n\n return false;\n}();\n\nfunction prefixStyle(style) {\n if (vendor === false) {\n return false;\n }\n\n if (vendor === 'standard') {\n if (style === 'transitionEnd') {\n return 'transitionend';\n }\n return style;\n }\n\n return vendor + style.charAt(0).toUpperCase() + style.substr(1);\n}\n\nfunction addEvent(el, type, fn, capture) {\n el.addEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction removeEvent(el, type, fn, capture) {\n el.removeEventListener(type, fn, { passive: false, capture: !!capture });\n}\n\nfunction offset(el) {\n var left = 0;\n var top = 0;\n\n while (el) {\n left -= el.offsetLeft;\n top -= el.offsetTop;\n el = el.offsetParent;\n }\n\n return {\n left: left,\n top: top\n };\n}\n\nfunction offsetToBody(el) {\n var rect = el.getBoundingClientRect();\n\n return {\n left: -(rect.left + window.pageXOffset),\n top: -(rect.top + window.pageYOffset)\n };\n}\n\nvar cssVendor = vendor && vendor !== 'standard' ? '-' + vendor.toLowerCase() + '-' : '';\n\nvar transform = prefixStyle('transform');\nvar transition = prefixStyle('transition');\n\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\n// fix issue #361\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\nvar hasTransform = transform !== false;\nvar hasTransition = inBrowser && transition in elementStyle;\n\nvar style = {\n transform: transform,\n transition: transition,\n transitionTimingFunction: prefixStyle('transitionTimingFunction'),\n transitionDuration: prefixStyle('transitionDuration'),\n transitionDelay: prefixStyle('transitionDelay'),\n transformOrigin: prefixStyle('transformOrigin'),\n transitionEnd: prefixStyle('transitionEnd')\n};\n\nvar TOUCH_EVENT = 1;\nvar MOUSE_EVENT = 2;\n\nvar eventType = {\n touchstart: TOUCH_EVENT,\n touchmove: TOUCH_EVENT,\n touchend: TOUCH_EVENT,\n\n mousedown: MOUSE_EVENT,\n mousemove: MOUSE_EVENT,\n mouseup: MOUSE_EVENT\n};\n\nfunction getRect(el) {\n if (el instanceof window.SVGElement) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n width: rect.width,\n height: rect.height\n };\n } else {\n return {\n top: el.offsetTop,\n left: el.offsetLeft,\n width: el.offsetWidth,\n height: el.offsetHeight\n };\n }\n}\n\nfunction preventDefaultException(el, exceptions) {\n for (var i in exceptions) {\n if (exceptions[i].test(el[i])) {\n return true;\n }\n }\n return false;\n}\n\nfunction tap(e, eventName) {\n var ev = document.createEvent('Event');\n ev.initEvent(eventName, true, true);\n ev.pageX = e.pageX;\n ev.pageY = e.pageY;\n e.target.dispatchEvent(ev);\n}\n\nfunction click(e) {\n var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n\n var eventSource = void 0;\n if (e.type === 'mouseup' || e.type === 'mousecancel') {\n eventSource = e;\n } else if (e.type === 'touchend' || e.type === 'touchcancel') {\n eventSource = e.changedTouches[0];\n }\n var posSrc = {};\n if (eventSource) {\n posSrc.screenX = eventSource.screenX || 0;\n posSrc.screenY = eventSource.screenY || 0;\n posSrc.clientX = eventSource.clientX || 0;\n posSrc.clientY = eventSource.clientY || 0;\n }\n var ev = void 0;\n var bubbles = true;\n var cancelable = true;\n if (typeof MouseEvent !== 'undefined') {\n try {\n ev = new MouseEvent(event, extend({\n bubbles: bubbles,\n cancelable: cancelable\n }, posSrc));\n } catch (e) {\n createEvent();\n }\n } else {\n createEvent();\n }\n\n function createEvent() {\n ev = document.createEvent('Event');\n ev.initEvent(event, bubbles, cancelable);\n extend(ev, posSrc);\n }\n\n // forwardedTouchEvent set to true in case of the conflict with fastclick\n ev.forwardedTouchEvent = true;\n ev._constructed = true;\n e.target.dispatchEvent(ev);\n}\n\nfunction dblclick(e) {\n click(e, 'dblclick');\n}\n\nfunction prepend(el, target) {\n if (target.firstChild) {\n before(el, target.firstChild);\n } else {\n target.appendChild(el);\n }\n}\n\nfunction before(el, target) {\n target.parentNode.insertBefore(el, target);\n}\n\nfunction removeChild(el, child) {\n el.removeChild(child);\n}\n\nvar DEFAULT_OPTIONS = {\n startX: 0,\n startY: 0,\n scrollX: false,\n scrollY: true,\n freeScroll: false,\n directionLockThreshold: 5,\n eventPassthrough: '',\n click: false,\n tap: false,\n /**\n * support any side\n * bounce: {\n * top: true,\n * bottom: true,\n * left: true,\n * right: true\n * }\n */\n bounce: true,\n bounceTime: 800,\n momentum: true,\n momentumLimitTime: 300,\n momentumLimitDistance: 15,\n swipeTime: 2500,\n swipeBounceTime: 500,\n deceleration: 0.0015,\n flickLimitTime: 200,\n flickLimitDistance: 100,\n resizePolling: 60,\n probeType: 0,\n preventDefault: true,\n preventDefaultException: {\n tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|AUDIO)$/\n },\n HWCompositing: true,\n useTransition: true,\n useTransform: true,\n bindToWrapper: false,\n disableMouse: hasTouch,\n disableTouch: !hasTouch,\n observeDOM: true,\n autoBlur: true,\n /**\n * for picker\n * wheel: {\n * selectedIndex: 0,\n * rotate: 25,\n * adjustTime: 400\n * wheelWrapperClass: 'wheel-scroll',\n * wheelItemClass: 'wheel-item'\n * }\n */\n wheel: false,\n /**\n * for slide\n * snap: {\n * loop: false,\n * el: domEl,\n * threshold: 0.1,\n * stepX: 100,\n * stepY: 100,\n * speed: 400,\n * easing: {\n * style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n * fn: function (t) {\n * return t * (2 - t)\n * }\n * }\n * listenFlick: true\n * }\n */\n snap: false,\n /**\n * for scrollbar\n * scrollbar: {\n * fade: true,\n * interactive: false\n * }\n */\n scrollbar: false,\n /**\n * for pull down and refresh\n * pullDownRefresh: {\n * threshold: 50,\n * stop: 20\n * }\n */\n pullDownRefresh: false,\n /**\n * for pull up and load\n * pullUpLoad: {\n * threshold: 50\n * }\n */\n pullUpLoad: false,\n /**\n * for mouse wheel\n * mouseWheel: {\n * speed: 20,\n * invert: false,\n * easeTime: 300\n * }\n */\n mouseWheel: false,\n stopPropagation: false,\n /**\n * for zoom\n * zoom: {\n * start: 1,\n * min: 1,\n * max: 4\n * }\n */\n zoom: false,\n /**\n * for infinity\n * infinity: {\n * render(item, div) {\n * },\n * createTombstone() {\n * },\n * fetch(count) {\n * }\n * }\n */\n infinity: false,\n /**\n * for double click\n * dblclick: {\n * delay: 300\n * }\n */\n dblclick: false\n};\n\nfunction initMixin(BScroll) {\n BScroll.prototype._init = function (options) {\n this._handleOptions(options);\n\n // init private custom events\n this._events = {};\n\n this.x = 0;\n this.y = 0;\n this.directionX = 0;\n this.directionY = 0;\n\n this.setScale(1);\n\n this._addDOMEvents();\n\n this._initExtFeatures();\n\n this._watchTransition();\n\n if (this.options.observeDOM) {\n this._initDOMObserver();\n }\n\n if (this.options.autoBlur) {\n this._handleAutoBlur();\n }\n\n this.refresh();\n\n if (!this.options.snap) {\n this.scrollTo(this.options.startX, this.options.startY);\n }\n\n this.enable();\n };\n\n BScroll.prototype.setScale = function (scale) {\n this.lastScale = isUndef(this.scale) ? scale : this.scale;\n this.scale = scale;\n };\n\n BScroll.prototype._handleOptions = function (options) {\n this.options = extend({}, DEFAULT_OPTIONS, options);\n\n this.translateZ = this.options.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\n\n this.options.useTransition = this.options.useTransition && hasTransition;\n this.options.useTransform = this.options.useTransform && hasTransform;\n\n this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault;\n\n // If you want eventPassthrough I have to lock one of the axes\n this.options.scrollX = this.options.eventPassthrough === 'horizontal' ? false : this.options.scrollX;\n this.options.scrollY = this.options.eventPassthrough === 'vertical' ? false : this.options.scrollY;\n\n // With eventPassthrough we also need lockDirection mechanism\n this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough;\n this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold;\n\n if (this.options.tap === true) {\n this.options.tap = 'tap';\n }\n };\n\n BScroll.prototype._addDOMEvents = function () {\n var eventOperation = addEvent;\n this._handleDOMEvents(eventOperation);\n };\n\n BScroll.prototype._removeDOMEvents = function () {\n var eventOperation = removeEvent;\n this._handleDOMEvents(eventOperation);\n };\n\n BScroll.prototype._handleDOMEvents = function (eventOperation) {\n var target = this.options.bindToWrapper ? this.wrapper : window;\n eventOperation(window, 'orientationchange', this);\n eventOperation(window, 'resize', this);\n\n if (this.options.click) {\n eventOperation(this.wrapper, 'click', this, true);\n }\n\n if (!this.options.disableMouse) {\n eventOperation(this.wrapper, 'mousedown', this);\n eventOperation(target, 'mousemove', this);\n eventOperation(target, 'mousecancel', this);\n eventOperation(target, 'mouseup', this);\n }\n\n if (hasTouch && !this.options.disableTouch) {\n eventOperation(this.wrapper, 'touchstart', this);\n eventOperation(target, 'touchmove', this);\n eventOperation(target, 'touchcancel', this);\n eventOperation(target, 'touchend', this);\n }\n\n eventOperation(this.scroller, style.transitionEnd, this);\n };\n\n BScroll.prototype._initExtFeatures = function () {\n if (this.options.snap) {\n this._initSnap();\n }\n if (this.options.scrollbar) {\n this._initScrollbar();\n }\n if (this.options.pullUpLoad) {\n this._initPullUp();\n }\n if (this.options.pullDownRefresh) {\n this._initPullDown();\n }\n if (this.options.wheel) {\n this._initWheel();\n }\n if (this.options.mouseWheel) {\n this._initMouseWheel();\n }\n if (this.options.zoom) {\n this._initZoom();\n }\n if (this.options.infinity) {\n this._initInfinite();\n }\n };\n\n BScroll.prototype._watchTransition = function () {\n if (typeof Object.defineProperty !== 'function') {\n return;\n }\n var me = this;\n var isInTransition = false;\n var key = this.options.useTransition ? 'isInTransition' : 'isAnimating';\n Object.defineProperty(this, key, {\n get: function get() {\n return isInTransition;\n },\n set: function set(newVal) {\n isInTransition = newVal;\n // fix issue #359\n var el = me.scroller.children.length ? me.scroller.children : [me.scroller];\n var pointerEvents = isInTransition && !me.pulling ? 'none' : 'auto';\n for (var i = 0; i < el.length; i++) {\n el[i].style.pointerEvents = pointerEvents;\n }\n }\n });\n };\n\n BScroll.prototype._handleAutoBlur = function () {\n this.on('scrollStart', function () {\n var activeElement = document.activeElement;\n if (activeElement && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {\n activeElement.blur();\n }\n });\n };\n\n BScroll.prototype._initDOMObserver = function () {\n var _this = this;\n\n if (typeof MutationObserver !== 'undefined') {\n var timer = void 0;\n var observer = new MutationObserver(function (mutations) {\n // don't do any refresh during the transition, or outside of the boundaries\n if (_this._shouldNotRefresh()) {\n return;\n }\n var immediateRefresh = false;\n var deferredRefresh = false;\n for (var i = 0; i < mutations.length; i++) {\n var mutation = mutations[i];\n if (mutation.type !== 'attributes') {\n immediateRefresh = true;\n break;\n } else {\n if (mutation.target !== _this.scroller) {\n deferredRefresh = true;\n break;\n }\n }\n }\n if (immediateRefresh) {\n _this.refresh();\n } else if (deferredRefresh) {\n // attributes changes too often\n clearTimeout(timer);\n timer = setTimeout(function () {\n if (!_this._shouldNotRefresh()) {\n _this.refresh();\n }\n }, 60);\n }\n });\n var config = {\n attributes: true,\n childList: true,\n subtree: true\n };\n observer.observe(this.scroller, config);\n\n this.on('destroy', function () {\n observer.disconnect();\n });\n } else {\n this._checkDOMUpdate();\n }\n };\n\n BScroll.prototype._shouldNotRefresh = function () {\n var outsideBoundaries = this.x > this.minScrollX || this.x < this.maxScrollX || this.y > this.minScrollY || this.y < this.maxScrollY;\n\n return this.isInTransition || this.stopFromTransition || outsideBoundaries;\n };\n\n BScroll.prototype._checkDOMUpdate = function () {\n var scrollerRect = getRect(this.scroller);\n var oldWidth = scrollerRect.width;\n var oldHeight = scrollerRect.height;\n\n function check() {\n if (this.destroyed) {\n return;\n }\n scrollerRect = getRect(this.scroller);\n var newWidth = scrollerRect.width;\n var newHeight = scrollerRect.height;\n\n if (oldWidth !== newWidth || oldHeight !== newHeight) {\n this.refresh();\n }\n oldWidth = newWidth;\n oldHeight = newHeight;\n\n next.call(this);\n }\n\n function next() {\n var _this2 = this;\n\n setTimeout(function () {\n check.call(_this2);\n }, 1000);\n }\n\n next.call(this);\n };\n\n BScroll.prototype.handleEvent = function (e) {\n switch (e.type) {\n case 'touchstart':\n case 'mousedown':\n this._start(e);\n if (this.options.zoom && e.touches && e.touches.length > 1) {\n this._zoomStart(e);\n }\n break;\n case 'touchmove':\n case 'mousemove':\n if (this.options.zoom && e.touches && e.touches.length > 1) {\n this._zoom(e);\n } else {\n this._move(e);\n }\n break;\n case 'touchend':\n case 'mouseup':\n case 'touchcancel':\n case 'mousecancel':\n if (this.scaled) {\n this._zoomEnd(e);\n } else {\n this._end(e);\n }\n break;\n case 'orientationchange':\n case 'resize':\n this._resize();\n break;\n case 'transitionend':\n case 'webkitTransitionEnd':\n case 'oTransitionEnd':\n case 'MSTransitionEnd':\n this._transitionEnd(e);\n break;\n case 'click':\n if (this.enabled && !e._constructed) {\n if (!preventDefaultException(e.target, this.options.preventDefaultException)) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n break;\n case 'wheel':\n case 'DOMMouseScroll':\n case 'mousewheel':\n this._onMouseWheel(e);\n break;\n }\n };\n\n BScroll.prototype.refresh = function () {\n var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\n var wrapperRect = getRect(this.wrapper);\n this.wrapperWidth = wrapperRect.width;\n this.wrapperHeight = wrapperRect.height;\n\n var scrollerRect = getRect(this.scroller);\n this.scrollerWidth = Math.round(scrollerRect.width * this.scale);\n this.scrollerHeight = Math.round(scrollerRect.height * this.scale);\n\n this.relativeX = scrollerRect.left;\n this.relativeY = scrollerRect.top;\n\n if (isWrapperStatic) {\n this.relativeX -= wrapperRect.left;\n this.relativeY -= wrapperRect.top;\n }\n\n this.minScrollX = 0;\n this.minScrollY = 0;\n\n var wheel = this.options.wheel;\n if (wheel) {\n this.items = this.scroller.children;\n // check whether there are all disable items or not when refresh\n this._checkWheelAllDisabled();\n this.options.itemHeight = this.itemHeight = this.items.length ? this.scrollerHeight / this.items.length : 0;\n if (this.selectedIndex === undefined) {\n this.selectedIndex = wheel.selectedIndex || 0;\n }\n this.options.startY = -this.selectedIndex * this.itemHeight;\n\n this.maxScrollX = 0;\n this.maxScrollY = -this.itemHeight * (this.items.length - 1);\n } else {\n this.maxScrollX = this.wrapperWidth - this.scrollerWidth;\n if (!this.options.infinity) {\n this.maxScrollY = this.wrapperHeight - this.scrollerHeight;\n }\n if (this.maxScrollX < 0) {\n this.maxScrollX -= this.relativeX;\n this.minScrollX = -this.relativeX;\n } else if (this.scale > 1) {\n this.maxScrollX = this.maxScrollX / 2 - this.relativeX;\n this.minScrollX = this.maxScrollX;\n }\n if (this.maxScrollY < 0) {\n this.maxScrollY -= this.relativeY;\n this.minScrollY = -this.relativeY;\n } else if (this.scale > 1) {\n this.maxScrollY = this.maxScrollY / 2 - this.relativeY;\n this.minScrollY = this.maxScrollY;\n }\n }\n\n this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < this.minScrollX;\n this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < this.minScrollY;\n\n if (!this.hasHorizontalScroll) {\n this.maxScrollX = this.minScrollX;\n this.scrollerWidth = this.wrapperWidth;\n }\n\n if (!this.hasVerticalScroll) {\n this.maxScrollY = this.minScrollY;\n this.scrollerHeight = this.wrapperHeight;\n }\n\n this.endTime = 0;\n this.directionX = 0;\n this.directionY = 0;\n this.wrapperOffset = offset(this.wrapper);\n\n this.trigger('refresh');\n\n !this.scaled && this.resetPosition();\n };\n\n BScroll.prototype.enable = function () {\n this.enabled = true;\n };\n\n BScroll.prototype.disable = function () {\n this.enabled = false;\n };\n}\n\nvar ease = {\n // easeOutQuint\n swipe: {\n style: 'cubic-bezier(0.23, 1, 0.32, 1)',\n fn: function fn(t) {\n return 1 + --t * t * t * t * t;\n }\n },\n // easeOutQuard\n swipeBounce: {\n style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n fn: function fn(t) {\n return t * (2 - t);\n }\n },\n // easeOutQuart\n bounce: {\n style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n fn: function fn(t) {\n return 1 - --t * t * t * t;\n }\n }\n};\n\nfunction momentum(current, start, time, lowerMargin, upperMargin, wrapperSize, options, scroll) {\n var distance = current - start;\n var speed = Math.abs(distance) / time;\n\n var deceleration = options.deceleration,\n itemHeight = options.itemHeight,\n swipeBounceTime = options.swipeBounceTime,\n wheel = options.wheel,\n swipeTime = options.swipeTime;\n\n var duration = swipeTime;\n var rate = wheel ? 4 : 15;\n\n var destination = current + speed / deceleration * (distance < 0 ? -1 : 1);\n\n if (wheel && itemHeight) {\n destination = scroll._findNearestValidWheel(destination).y;\n }\n\n if (destination < lowerMargin) {\n destination = wrapperSize ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - wrapperSize / rate * speed) : lowerMargin;\n duration = swipeBounceTime;\n } else if (destination > upperMargin) {\n destination = wrapperSize ? Math.min(upperMargin + wrapperSize / 4, upperMargin + wrapperSize / rate * speed) : upperMargin;\n duration = swipeBounceTime;\n }\n\n return {\n destination: Math.round(destination),\n duration: duration\n };\n}\n\nvar DEFAULT_INTERVAL = 100 / 60;\n\nfunction noop() {}\n\nvar requestAnimationFrame = function () {\n if (!inBrowser) {\n /* istanbul ignore if */\n return noop;\n }\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||\n // if all else fails, use setTimeout\n function (callback) {\n return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\n };\n}();\n\nvar cancelAnimationFrame = function () {\n if (!inBrowser) {\n /* istanbul ignore if */\n return noop;\n }\n return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || function (id) {\n window.clearTimeout(id);\n };\n}();\n\nvar DIRECTION_UP = 1;\nvar DIRECTION_DOWN = -1;\nvar DIRECTION_LEFT = 1;\nvar DIRECTION_RIGHT = -1;\n\nvar PROBE_DEBOUNCE = 1;\n\nvar PROBE_REALTIME = 3;\n\nfunction warn(msg) {\n console.error('[BScroll warn]: ' + msg);\n}\n\nfunction assert(condition, msg) {\n if (!condition) {\n throw new Error('[BScroll] ' + msg);\n }\n}\n\nfunction coreMixin(BScroll) {\n BScroll.prototype._start = function (e) {\n var _eventType = eventType[e.type];\n if (_eventType !== TOUCH_EVENT) {\n if (e.button !== 0) {\n return;\n }\n }\n if (!this.enabled || this.destroyed || this.initiated && this.initiated !== _eventType) {\n return;\n }\n this.initiated = _eventType;\n\n if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n e.preventDefault();\n }\n if (this.options.stopPropagation) {\n e.stopPropagation();\n }\n\n this.moved = false;\n this.distX = 0;\n this.distY = 0;\n this.directionX = 0;\n this.directionY = 0;\n this.movingDirectionX = 0;\n this.movingDirectionY = 0;\n this.directionLocked = 0;\n\n this._transitionTime();\n this.startTime = getNow();\n\n if (this.options.wheel) {\n this.target = e.target;\n }\n\n this.stop();\n\n var point = e.touches ? e.touches[0] : e;\n\n this.startX = this.x;\n this.startY = this.y;\n this.absStartX = this.x;\n this.absStartY = this.y;\n this.pointX = point.pageX;\n this.pointY = point.pageY;\n\n this.trigger('beforeScrollStart');\n };\n\n BScroll.prototype._move = function (e) {\n if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n return;\n }\n\n if (this.options.preventDefault) {\n e.preventDefault();\n }\n if (this.options.stopPropagation) {\n e.stopPropagation();\n }\n\n var point = e.touches ? e.touches[0] : e;\n var deltaX = point.pageX - this.pointX;\n var deltaY = point.pageY - this.pointY;\n\n this.pointX = point.pageX;\n this.pointY = point.pageY;\n\n this.distX += deltaX;\n this.distY += deltaY;\n\n var absDistX = Math.abs(this.distX);\n var absDistY = Math.abs(this.distY);\n\n var timestamp = getNow();\n\n // We need to move at least momentumLimitDistance pixels for the scrolling to initiate\n if (timestamp - this.endTime > this.options.momentumLimitTime && !this.moved && absDistY < this.options.momentumLimitDistance && absDistX < this.options.momentumLimitDistance) {\n return;\n }\n\n // If you are scrolling in one direction lock the other\n if (!this.directionLocked && !this.options.freeScroll) {\n if (absDistX > absDistY + this.options.directionLockThreshold) {\n this.directionLocked = 'h'; // lock horizontally\n } else if (absDistY >= absDistX + this.options.directionLockThreshold) {\n this.directionLocked = 'v'; // lock vertically\n } else {\n this.directionLocked = 'n'; // no lock\n }\n }\n\n if (this.directionLocked === 'h') {\n if (this.options.eventPassthrough === 'vertical') {\n e.preventDefault();\n } else if (this.options.eventPassthrough === 'horizontal') {\n this.initiated = false;\n return;\n }\n deltaY = 0;\n } else if (this.directionLocked === 'v') {\n if (this.options.eventPassthrough === 'horizontal') {\n e.preventDefault();\n } else if (this.options.eventPassthrough === 'vertical') {\n this.initiated = false;\n return;\n }\n deltaX = 0;\n }\n\n deltaX = this.hasHorizontalScroll ? deltaX : 0;\n deltaY = this.hasVerticalScroll ? deltaY : 0;\n this.movingDirectionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n this.movingDirectionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n var newX = this.x + deltaX;\n var newY = this.y + deltaY;\n\n var top = false;\n var bottom = false;\n var left = false;\n var right = false;\n // Slow down or stop if outside of the boundaries\n var bounce = this.options.bounce;\n if (bounce !== false) {\n top = bounce.top === undefined ? true : bounce.top;\n bottom = bounce.bottom === undefined ? true : bounce.bottom;\n left = bounce.left === undefined ? true : bounce.left;\n right = bounce.right === undefined ? true : bounce.right;\n }\n if (newX > this.minScrollX || newX < this.maxScrollX) {\n if (newX > this.minScrollX && left || newX < this.maxScrollX && right) {\n newX = this.x + deltaX / 3;\n } else {\n newX = newX > this.minScrollX ? this.minScrollX : this.maxScrollX;\n }\n }\n if (newY > this.minScrollY || newY < this.maxScrollY) {\n if (newY > this.minScrollY && top || newY < this.maxScrollY && bottom) {\n newY = this.y + deltaY / 3;\n } else {\n newY = newY > this.minScrollY ? this.minScrollY : this.maxScrollY;\n }\n }\n\n if (!this.moved) {\n this.moved = true;\n this.trigger('scrollStart');\n }\n\n this._translate(newX, newY);\n\n if (timestamp - this.startTime > this.options.momentumLimitTime) {\n this.startTime = timestamp;\n this.startX = this.x;\n this.startY = this.y;\n\n if (this.options.probeType === PROBE_DEBOUNCE) {\n this.trigger('scroll', {\n x: this.x,\n y: this.y\n });\n }\n }\n\n if (this.options.probeType > PROBE_DEBOUNCE) {\n this.trigger('scroll', {\n x: this.x,\n y: this.y\n });\n }\n\n var scrollLeft = document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;\n var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;\n\n var pX = this.pointX - scrollLeft;\n var pY = this.pointY - scrollTop;\n\n if (pX > document.documentElement.clientWidth - this.options.momentumLimitDistance || pX < this.options.momentumLimitDistance || pY < this.options.momentumLimitDistance || pY > document.documentElement.clientHeight - this.options.momentumLimitDistance) {\n this._end(e);\n }\n };\n\n BScroll.prototype._end = function (e) {\n if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n return;\n }\n this.initiated = false;\n\n if (this.options.preventDefault && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n e.preventDefault();\n }\n if (this.options.stopPropagation) {\n e.stopPropagation();\n }\n\n this.trigger('touchEnd', {\n x: this.x,\n y: this.y\n });\n\n this.isInTransition = false;\n\n // ensures that the last position is rounded\n var newX = Math.round(this.x);\n var newY = Math.round(this.y);\n\n var deltaX = newX - this.absStartX;\n var deltaY = newY - this.absStartY;\n this.directionX = deltaX > 0 ? DIRECTION_RIGHT : deltaX < 0 ? DIRECTION_LEFT : 0;\n this.directionY = deltaY > 0 ? DIRECTION_DOWN : deltaY < 0 ? DIRECTION_UP : 0;\n\n // if configure pull down refresh, check it first\n if (this.options.pullDownRefresh && this._checkPullDown()) {\n return;\n }\n\n // check if it is a click operation\n if (this._checkClick(e)) {\n this.trigger('scrollCancel');\n return;\n }\n\n // reset if we are outside of the boundaries\n if (this.resetPosition(this.options.bounceTime, ease.bounce)) {\n return;\n }\n\n this._translate(newX, newY);\n\n this.endTime = getNow();\n var duration = this.endTime - this.startTime;\n var absDistX = Math.abs(newX - this.startX);\n var absDistY = Math.abs(newY - this.startY);\n\n // flick\n if (this._events.flick && duration < this.options.flickLimitTime && absDistX < this.options.flickLimitDistance && absDistY < this.options.flickLimitDistance) {\n this.trigger('flick');\n return;\n }\n\n var time = 0;\n // start momentum animation if needed\n if (this.options.momentum && duration < this.options.momentumLimitTime && (absDistY > this.options.momentumLimitDistance || absDistX > this.options.momentumLimitDistance)) {\n var top = false;\n var bottom = false;\n var left = false;\n var right = false;\n var bounce = this.options.bounce;\n if (bounce !== false) {\n top = bounce.top === undefined ? true : bounce.top;\n bottom = bounce.bottom === undefined ? true : bounce.bottom;\n left = bounce.left === undefined ? true : bounce.left;\n right = bounce.right === undefined ? true : bounce.right;\n }\n var wrapperWidth = this.directionX === DIRECTION_RIGHT && left || this.directionX === DIRECTION_LEFT && right ? this.wrapperWidth : 0;\n var wrapperHeight = this.directionY === DIRECTION_DOWN && top || this.directionY === DIRECTION_UP && bottom ? this.wrapperHeight : 0;\n var momentumX = this.hasHorizontalScroll ? momentum(this.x, this.startX, duration, this.maxScrollX, this.minScrollX, wrapperWidth, this.options, this) : { destination: newX, duration: 0 };\n var momentumY = this.hasVerticalScroll ? momentum(this.y, this.startY, duration, this.maxScrollY, this.minScrollY, wrapperHeight, this.options, this) : { destination: newY, duration: 0 };\n newX = momentumX.destination;\n newY = momentumY.destination;\n time = Math.max(momentumX.duration, momentumY.duration);\n this.isInTransition = true;\n } else {\n if (this.options.wheel) {\n newY = this._findNearestValidWheel(newY).y;\n time = this.options.wheel.adjustTime || 400;\n }\n }\n\n var easing = ease.swipe;\n if (this.options.snap) {\n var snap = this._nearestSnap(newX, newY);\n this.currentPage = snap;\n time = this.options.snapSpeed || Math.max(Math.max(Math.min(Math.abs(newX - snap.x), 1000), Math.min(Math.abs(newY - snap.y), 1000)), 300);\n newX = snap.x;\n newY = snap.y;\n\n this.directionX = 0;\n this.directionY = 0;\n easing = this.options.snap.easing || ease.bounce;\n }\n\n if (newX !== this.x || newY !== this.y) {\n // change easing function when scroller goes out of the boundaries\n if (newX > this.minScrollX || newX < this.maxScrollX || newY > this.minScrollY || newY < this.maxScrollY) {\n easing = ease.swipeBounce;\n }\n this.scrollTo(newX, newY, time, easing);\n return;\n }\n\n if (this.options.wheel) {\n this.selectedIndex = this._findNearestValidWheel(this.y).index;\n }\n\n this.trigger('scrollEnd', {\n x: this.x,\n y: this.y\n });\n };\n\n BScroll.prototype._checkClick = function (e) {\n // when in the process of pulling down, it should not prevent click\n var preventClick = this.stopFromTransition && !this.pulling;\n this.stopFromTransition = false;\n\n // we scrolled less than 15 pixels\n if (!this.moved) {\n if (this.options.wheel) {\n if (this.target && this.target.className === this.options.wheel.wheelWrapperClass) {\n var index = this._findNearestValidWheel(this.y).index;\n var _offset = Math.round((this.pointY + offsetToBody(this.wrapper).top - this.wrapperHeight / 2) / this.itemHeight);\n this.target = this.items[index + _offset];\n }\n var top = offset(this.target).top;\n var left = offset(this.target).left;\n top -= this.wrapperOffset.top;\n top -= Math.round(this.target.offsetHeight / 2 - this.wrapper.offsetHeight / 2) || 0;\n left -= this.wrapperOffset.left;\n left -= Math.round(this.target.offsetWidth / 2 - this.wrapper.offsetWidth / 2) || 0;\n\n top = this._findNearestValidWheel(top).y;\n this.scrollTo(left, top, this.options.wheel.adjustTime || 400, ease.swipe);\n return true;\n } else {\n if (!preventClick) {\n var _dblclick = this.options.dblclick;\n var dblclickTrigged = false;\n if (_dblclick && this.lastClickTime) {\n var _dblclick$delay = _dblclick.delay,\n delay = _dblclick$delay === undefined ? 300 : _dblclick$delay;\n\n if (getNow() - this.lastClickTime < delay) {\n dblclickTrigged = true;\n dblclick(e);\n }\n }\n if (this.options.tap) {\n tap(e, this.options.tap);\n }\n\n if (this.options.click && !preventDefaultException(e.target, this.options.preventDefaultException)) {\n click(e);\n }\n this.lastClickTime = dblclickTrigged ? null : getNow();\n return true;\n }\n return false;\n }\n }\n return false;\n };\n\n BScroll.prototype._resize = function () {\n var _this = this;\n\n if (!this.enabled) {\n return;\n }\n // fix a scroll problem under Android condition\n if (isAndroid) {\n this.wrapper.scrollTop = 0;\n }\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(function () {\n _this.refresh();\n }, this.options.resizePolling);\n };\n\n BScroll.prototype._startProbe = function () {\n cancelAnimationFrame(this.probeTimer);\n this.probeTimer = requestAnimationFrame(probe);\n\n var me = this;\n\n function probe() {\n var pos = me.getComputedPosition();\n me.trigger('scroll', pos);\n if (!me.isInTransition) {\n me.trigger('scrollEnd', pos);\n return;\n }\n me.probeTimer = requestAnimationFrame(probe);\n }\n };\n\n BScroll.prototype._transitionTime = function () {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n this.scrollerStyle[style.transitionDuration] = time + 'ms';\n\n if (this.options.wheel) {\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].style[style.transitionDuration] = time + 'ms';\n }\n }\n\n if (this.indicators) {\n for (var _i = 0; _i < this.indicators.length; _i++) {\n this.indicators[_i].transitionTime(time);\n }\n }\n };\n\n BScroll.prototype._transitionTimingFunction = function (easing) {\n this.scrollerStyle[style.transitionTimingFunction] = easing;\n\n if (this.options.wheel) {\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].style[style.transitionTimingFunction] = easing;\n }\n }\n\n if (this.indicators) {\n for (var _i2 = 0; _i2 < this.indicators.length; _i2++) {\n this.indicators[_i2].transitionTimingFunction(easing);\n }\n }\n };\n\n BScroll.prototype._transitionEnd = function (e) {\n if (e.target !== this.scroller || !this.isInTransition) {\n return;\n }\n\n this._transitionTime();\n var needReset = !this.pulling || this.movingDirectionY === DIRECTION_UP;\n if (needReset && !this.resetPosition(this.options.bounceTime, ease.bounce)) {\n this.isInTransition = false;\n if (this.options.probeType !== PROBE_REALTIME) {\n this.trigger('scrollEnd', {\n x: this.x,\n y: this.y\n });\n }\n }\n };\n\n BScroll.prototype._translate = function (x, y, scale) {\n assert(!isUndef(x) && !isUndef(y), 'Translate x or y is null or undefined.');\n if (isUndef(scale)) {\n scale = this.scale;\n }\n if (this.options.useTransform) {\n this.scrollerStyle[style.transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')' + this.translateZ;\n } else {\n x = Math.round(x);\n y = Math.round(y);\n this.scrollerStyle.left = x + 'px';\n this.scrollerStyle.top = y + 'px';\n }\n\n if (this.options.wheel) {\n var _options$wheel$rotate = this.options.wheel.rotate,\n rotate = _options$wheel$rotate === undefined ? 25 : _options$wheel$rotate;\n\n for (var i = 0; i < this.items.length; i++) {\n var deg = rotate * (y / this.itemHeight + i);\n this.items[i].style[style.transform] = 'rotateX(' + deg + 'deg)';\n }\n }\n\n this.x = x;\n this.y = y;\n this.setScale(scale);\n\n if (this.indicators) {\n for (var _i3 = 0; _i3 < this.indicators.length; _i3++) {\n this.indicators[_i3].updatePosition();\n }\n }\n };\n\n BScroll.prototype._animate = function (destX, destY, duration, easingFn) {\n var me = this;\n var startX = this.x;\n var startY = this.y;\n var startScale = this.lastScale;\n var destScale = this.scale;\n var startTime = getNow();\n var destTime = startTime + duration;\n\n function step() {\n var now = getNow();\n\n if (now >= destTime) {\n me.isAnimating = false;\n me._translate(destX, destY, destScale);\n\n me.trigger('scroll', {\n x: me.x,\n y: me.y\n });\n\n if (!me.pulling && !me.resetPosition(me.options.bounceTime)) {\n me.trigger('scrollEnd', {\n x: me.x,\n y: me.y\n });\n }\n return;\n }\n now = (now - startTime) / duration;\n var easing = easingFn(now);\n var newX = (destX - startX) * easing + startX;\n var newY = (destY - startY) * easing + startY;\n var newScale = (destScale - startScale) * easing + startScale;\n\n me._translate(newX, newY, newScale);\n\n if (me.isAnimating) {\n me.animateTimer = requestAnimationFrame(step);\n }\n\n if (me.options.probeType === PROBE_REALTIME) {\n me.trigger('scroll', {\n x: me.x,\n y: me.y\n });\n }\n }\n\n this.isAnimating = true;\n cancelAnimationFrame(this.animateTimer);\n step();\n };\n\n BScroll.prototype.scrollBy = function (x, y) {\n var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n\n x = this.x + x;\n y = this.y + y;\n\n this.scrollTo(x, y, time, easing);\n };\n\n BScroll.prototype.scrollTo = function (x, y) {\n var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var easing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ease.bounce;\n var isSilent = arguments[4];\n\n if (this.options.wheel) {\n y = this._findNearestValidWheel(y).y;\n }\n if (x === this.x && y === this.y) {\n return;\n }\n this.isInTransition = this.options.useTransition && time > 0 && (this.x !== x || this.y !== y);\n\n if (!time || this.options.useTransition) {\n this._transitionTimingFunction(easing.style);\n this._transitionTime(time);\n this._translate(x, y);\n\n if (time && this.options.probeType === PROBE_REALTIME) {\n this._startProbe();\n }\n if (!time && !isSilent) {\n // don't trigger resetPosition when zoom feature is open, fix #748\n if (this.options.zoom) return;\n this.trigger('scroll', {\n x: x,\n y: y\n });\n // force reflow to put everything in position\n this._reflow = document.body.offsetHeight;\n if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\n this.trigger('scrollEnd', {\n x: x,\n y: y\n });\n }\n }\n\n if (this.options.wheel) {\n this.selectedIndex = this._findNearestValidWheel(y).index;\n }\n } else {\n this._animate(x, y, time, easing.fn);\n }\n };\n\n BScroll.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\n if (!el) {\n return;\n }\n el = el.nodeType ? el : this.scroller.querySelector(el);\n\n if (this.options.wheel && !el.classList.contains(this.options.wheel.wheelItemClass)) {\n return;\n }\n\n var pos = offset(el);\n pos.left -= this.wrapperOffset.left;\n pos.top -= this.wrapperOffset.top;\n\n // if offsetX/Y are true we center the element to the screen\n if (offsetX === true) {\n offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2);\n }\n if (offsetY === true) {\n offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2);\n }\n\n pos.left -= offsetX || 0;\n pos.top -= offsetY || 0;\n pos.left = pos.left > this.minScrollX ? this.minScrollX : pos.left < this.maxScrollX ? this.maxScrollX : pos.left;\n pos.top = pos.top > this.minScrollY ? this.minScrollY : pos.top < this.maxScrollY ? this.maxScrollY : pos.top;\n\n if (this.options.wheel) {\n pos.top = this._findNearestValidWheel(pos.top).y;\n }\n\n this.scrollTo(pos.left, pos.top, time, easing);\n };\n\n BScroll.prototype.resetPosition = function () {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var easeing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ease.bounce;\n\n var x = this.x;\n var roundX = Math.round(x);\n if (!this.hasHorizontalScroll || roundX > this.minScrollX) {\n x = this.minScrollX;\n } else if (roundX < this.maxScrollX) {\n x = this.maxScrollX;\n }\n\n var y = this.y;\n var roundY = Math.round(y);\n if (!this.hasVerticalScroll || roundY > this.minScrollY) {\n y = this.minScrollY;\n } else if (roundY < this.maxScrollY) {\n y = this.maxScrollY;\n }\n\n if (x === this.x && y === this.y) {\n return false;\n }\n\n this.scrollTo(x, y, time, easeing);\n\n return true;\n };\n\n BScroll.prototype.getComputedPosition = function () {\n var matrix = window.getComputedStyle(this.scroller, null);\n var x = void 0;\n var y = void 0;\n\n if (this.options.useTransform) {\n matrix = matrix[style.transform].split(')')[0].split(', ');\n x = +(matrix[12] || matrix[4]);\n y = +(matrix[13] || matrix[5]);\n } else {\n x = +matrix.left.replace(/[^-\\d.]/g, '');\n y = +matrix.top.replace(/[^-\\d.]/g, '');\n }\n\n return {\n x: x,\n y: y\n };\n };\n\n BScroll.prototype.stop = function () {\n if (this.options.useTransition && this.isInTransition) {\n this.isInTransition = false;\n cancelAnimationFrame(this.probeTimer);\n var pos = this.getComputedPosition();\n this._translate(pos.x, pos.y);\n if (this.options.wheel) {\n this.target = this.items[this._findNearestValidWheel(pos.y).index];\n } else {\n this.trigger('scrollEnd', {\n x: this.x,\n y: this.y\n });\n }\n this.stopFromTransition = true;\n } else if (!this.options.useTransition && this.isAnimating) {\n this.isAnimating = false;\n cancelAnimationFrame(this.animateTimer);\n this.trigger('scrollEnd', {\n x: this.x,\n y: this.y\n });\n this.stopFromTransition = true;\n }\n };\n\n BScroll.prototype.destroy = function () {\n this.destroyed = true;\n this.trigger('destroy');\n if (this.options.useTransition) {\n cancelAnimationFrame(this.probeTimer);\n } else {\n cancelAnimationFrame(this.animateTimer);\n }\n this._removeDOMEvents();\n // remove custom events\n this._events = {};\n };\n}\n\nfunction snapMixin(BScroll) {\n BScroll.prototype._initSnap = function () {\n var _this = this;\n\n this.currentPage = {};\n var snap = this.options.snap;\n\n if (snap.loop) {\n var children = this.scroller.children;\n if (children.length > 1) {\n prepend(children[children.length - 1].cloneNode(true), this.scroller);\n this.scroller.appendChild(children[1].cloneNode(true));\n } else {\n // Loop does not make any sense if there is only one child.\n snap.loop = false;\n }\n }\n\n var el = snap.el;\n if (typeof el === 'string') {\n el = this.scroller.querySelectorAll(el);\n }\n\n this.on('refresh', function () {\n _this.pages = [];\n\n if (!_this.wrapperWidth || !_this.wrapperHeight || !_this.scrollerWidth || !_this.scrollerHeight) {\n return;\n }\n\n var stepX = snap.stepX || _this.wrapperWidth;\n var stepY = snap.stepY || _this.wrapperHeight;\n\n var x = 0;\n var y = void 0;\n var cx = void 0;\n var cy = void 0;\n var i = 0;\n var l = void 0;\n var m = 0;\n var n = void 0;\n var rect = void 0;\n if (!el) {\n cx = Math.round(stepX / 2);\n cy = Math.round(stepY / 2);\n\n while (x > -_this.scrollerWidth) {\n _this.pages[i] = [];\n l = 0;\n y = 0;\n\n while (y > -_this.scrollerHeight) {\n _this.pages[i][l] = {\n x: Math.max(x, _this.maxScrollX),\n y: Math.max(y, _this.maxScrollY),\n width: stepX,\n height: stepY,\n cx: x - cx,\n cy: y - cy\n };\n\n y -= stepY;\n l++;\n }\n\n x -= stepX;\n i++;\n }\n } else {\n l = el.length;\n n = -1;\n\n for (; i < l; i++) {\n rect = getRect(el[i]);\n if (i === 0 || rect.left <= getRect(el[i - 1]).left) {\n m = 0;\n n++;\n }\n\n if (!_this.pages[m]) {\n _this.pages[m] = [];\n }\n\n x = Math.max(-rect.left, _this.maxScrollX);\n y = Math.max(-rect.top, _this.maxScrollY);\n cx = x - Math.round(rect.width / 2);\n cy = y - Math.round(rect.height / 2);\n\n _this.pages[m][n] = {\n x: x,\n y: y,\n width: rect.width,\n height: rect.height,\n cx: cx,\n cy: cy\n };\n\n if (x > _this.maxScrollX) {\n m++;\n }\n }\n }\n\n _this._checkSnapLoop();\n\n var initPageX = snap._loopX ? 1 : 0;\n var initPageY = snap._loopY ? 1 : 0;\n _this._goToPage(_this.currentPage.pageX || initPageX, _this.currentPage.pageY || initPageY, 0, undefined, true);\n\n // Update snap threshold if needed.\n var snapThreshold = snap.threshold;\n if (snapThreshold % 1 === 0) {\n _this.snapThresholdX = snapThreshold;\n _this.snapThresholdY = snapThreshold;\n } else {\n _this.snapThresholdX = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].width * snapThreshold);\n _this.snapThresholdY = Math.round(_this.pages[_this.currentPage.pageX][_this.currentPage.pageY].height * snapThreshold);\n }\n });\n\n this.on('scrollEnd', function () {\n if (snap.loop) {\n if (snap._loopX) {\n if (_this.currentPage.pageX === 0) {\n _this._goToPage(_this.pages.length - 2, _this.currentPage.pageY, 0, undefined, true);\n }\n if (_this.currentPage.pageX === _this.pages.length - 1) {\n _this._goToPage(1, _this.currentPage.pageY, 0, undefined, true);\n }\n } else {\n if (_this.currentPage.pageY === 0) {\n _this._goToPage(_this.currentPage.pageX, _this.pages[0].length - 2, 0, undefined, true);\n }\n if (_this.currentPage.pageY === _this.pages[0].length - 1) {\n _this._goToPage(_this.currentPage.pageX, 1, 0, undefined, true);\n }\n }\n }\n });\n\n if (snap.listenFlick !== false) {\n this.on('flick', function () {\n var time = snap.speed || Math.max(Math.max(Math.min(Math.abs(_this.x - _this.startX), 1000), Math.min(Math.abs(_this.y - _this.startY), 1000)), 300);\n\n _this._goToPage(_this.currentPage.pageX + _this.directionX, _this.currentPage.pageY + _this.directionY, time);\n });\n }\n\n this.on('destroy', function () {\n if (snap.loop) {\n var _children = _this.scroller.children;\n if (_children.length > 2) {\n removeChild(_this.scroller, _children[_children.length - 1]);\n removeChild(_this.scroller, _children[0]);\n }\n }\n });\n };\n\n BScroll.prototype._checkSnapLoop = function () {\n var snap = this.options.snap;\n\n if (!snap.loop || !this.pages || !this.pages.length) {\n return;\n }\n\n if (this.pages.length > 1) {\n snap._loopX = true;\n }\n if (this.pages[0] && this.pages[0].length > 1) {\n snap._loopY = true;\n }\n if (snap._loopX && snap._loopY) {\n warn('Loop does not support two direction at the same time.');\n }\n };\n\n BScroll.prototype._nearestSnap = function (x, y) {\n if (!this.pages.length) {\n return { x: 0, y: 0, pageX: 0, pageY: 0 };\n }\n\n var i = 0;\n // Check if we exceeded the snap threshold\n if (Math.abs(x - this.absStartX) <= this.snapThresholdX && Math.abs(y - this.absStartY) <= this.snapThresholdY) {\n return this.currentPage;\n }\n\n if (x > this.minScrollX) {\n x = this.minScrollX;\n } else if (x < this.maxScrollX) {\n x = this.maxScrollX;\n }\n\n if (y > this.minScrollY) {\n y = this.minScrollY;\n } else if (y < this.maxScrollY) {\n y = this.maxScrollY;\n }\n\n var l = this.pages.length;\n for (; i < l; i++) {\n if (x >= this.pages[i][0].cx) {\n x = this.pages[i][0].x;\n break;\n }\n }\n\n l = this.pages[i].length;\n\n var m = 0;\n for (; m < l; m++) {\n if (y >= this.pages[0][m].cy) {\n y = this.pages[0][m].y;\n break;\n }\n }\n\n if (i === this.currentPage.pageX) {\n i += this.directionX;\n\n if (i < 0) {\n i = 0;\n } else if (i >= this.pages.length) {\n i = this.pages.length - 1;\n }\n\n x = this.pages[i][0].x;\n }\n\n if (m === this.currentPage.pageY) {\n m += this.directionY;\n\n if (m < 0) {\n m = 0;\n } else if (m >= this.pages[0].length) {\n m = this.pages[0].length - 1;\n }\n\n y = this.pages[0][m].y;\n }\n\n return {\n x: x,\n y: y,\n pageX: i,\n pageY: m\n };\n };\n\n BScroll.prototype._goToPage = function (x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var time = arguments[2];\n var easing = arguments[3];\n var isSilent = arguments[4];\n\n var snap = this.options.snap;\n\n if (!snap || !this.pages || !this.pages.length) {\n return;\n }\n\n easing = easing || snap.easing || ease.bounce;\n\n if (x >= this.pages.length) {\n x = this.pages.length - 1;\n } else if (x < 0) {\n x = 0;\n }\n\n if (!this.pages[x]) {\n return;\n }\n\n if (y >= this.pages[x].length) {\n y = this.pages[x].length - 1;\n } else if (y < 0) {\n y = 0;\n }\n\n var posX = this.pages[x][y].x;\n var posY = this.pages[x][y].y;\n\n time = time === undefined ? snap.speed || Math.max(Math.max(Math.min(Math.abs(posX - this.x), 1000), Math.min(Math.abs(posY - this.y), 1000)), 300) : time;\n\n this.currentPage = {\n x: posX,\n y: posY,\n pageX: x,\n pageY: y\n };\n this.scrollTo(posX, posY, time, easing, isSilent);\n };\n\n BScroll.prototype.goToPage = function (x, y, time, easing) {\n var snap = this.options.snap;\n if (!snap || !this.pages || !this.pages.length) {\n return;\n }\n\n if (snap.loop) {\n var len = void 0;\n if (snap._loopX) {\n len = this.pages.length - 2;\n if (x >= len) {\n x = len - 1;\n } else if (x < 0) {\n x = 0;\n }\n x += 1;\n } else {\n len = this.pages[0].length - 2;\n if (y >= len) {\n y = len - 1;\n } else if (y < 0) {\n y = 0;\n }\n y += 1;\n }\n }\n this._goToPage(x, y, time, easing);\n };\n\n BScroll.prototype.next = function (time, easing) {\n var snap = this.options.snap;\n if (!snap) {\n return;\n }\n\n var x = this.currentPage.pageX;\n var y = this.currentPage.pageY;\n\n x++;\n if (x >= this.pages.length && this.hasVerticalScroll) {\n x = 0;\n y++;\n }\n\n this._goToPage(x, y, time, easing);\n };\n\n BScroll.prototype.prev = function (time, easing) {\n var snap = this.options.snap;\n if (!snap) {\n return;\n }\n\n var x = this.currentPage.pageX;\n var y = this.currentPage.pageY;\n\n x--;\n if (x < 0 && this.hasVerticalScroll) {\n x = 0;\n y--;\n }\n\n this._goToPage(x, y, time, easing);\n };\n\n BScroll.prototype.getCurrentPage = function () {\n var snap = this.options.snap;\n if (!snap) {\n return null;\n }\n\n if (snap.loop) {\n var currentPage = void 0;\n if (snap._loopX) {\n currentPage = extend({}, this.currentPage, {\n pageX: this.currentPage.pageX - 1\n });\n } else {\n currentPage = extend({}, this.currentPage, {\n pageY: this.currentPage.pageY - 1\n });\n }\n return currentPage;\n }\n return this.currentPage;\n };\n}\n\nfunction wheelMixin(BScroll) {\n BScroll.prototype.wheelTo = function () {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (this.options.wheel) {\n var y = -index * this.itemHeight;\n this.scrollTo(0, y);\n }\n };\n\n BScroll.prototype.getSelectedIndex = function () {\n return this.options.wheel && this.selectedIndex;\n };\n\n BScroll.prototype._initWheel = function () {\n var wheel = this.options.wheel;\n if (!wheel.wheelWrapperClass) {\n wheel.wheelWrapperClass = 'wheel-scroll';\n }\n if (!wheel.wheelItemClass) {\n wheel.wheelItemClass = 'wheel-item';\n }\n if (!wheel.wheelDisabledItemClass) {\n wheel.wheelDisabledItemClass = 'wheel-disabled-item';\n }\n if (wheel.selectedIndex === undefined) {\n wheel.selectedIndex = 0;\n }\n };\n\n BScroll.prototype._findNearestValidWheel = function (y) {\n y = y > 0 ? 0 : y < this.maxScrollY ? this.maxScrollY : y;\n var wheel = this.options.wheel;\n var currentIndex = Math.abs(Math.round(-y / this.itemHeight));\n var cacheIndex = currentIndex;\n var items = this.items;\n // Impersonation web native select\n // first, check whether there is a enable item whose index is smaller than currentIndex\n // then, check whether there is a enable item whose index is bigger than currentIndex\n // otherwise, there are all disabled items, just keep currentIndex unchange\n while (currentIndex >= 0) {\n if (items[currentIndex].className.indexOf(wheel.wheelDisabledItemClass) === -1) {\n break;\n }\n currentIndex--;\n }\n\n if (currentIndex < 0) {\n currentIndex = cacheIndex;\n while (currentIndex <= items.length - 1) {\n if (items[currentIndex].className.indexOf(wheel.wheelDisabledItemClass) === -1) {\n break;\n }\n currentIndex++;\n }\n }\n\n // keep it unchange when all the items are disabled\n if (currentIndex === items.length) {\n currentIndex = cacheIndex;\n }\n // when all the items are disabled, this.selectedIndex should always be -1\n return {\n index: this.wheelItemsAllDisabled ? -1 : currentIndex,\n y: -currentIndex * this.itemHeight\n };\n };\n\n BScroll.prototype._checkWheelAllDisabled = function () {\n var wheel = this.options.wheel;\n var items = this.items;\n this.wheelItemsAllDisabled = true;\n for (var i = 0; i < items.length; i++) {\n if (items[i].className.indexOf(wheel.wheelDisabledItemClass) === -1) {\n this.wheelItemsAllDisabled = false;\n break;\n }\n }\n };\n}\n\nvar INDICATOR_MIN_LEN = 8;\n\nfunction scrollbarMixin(BScroll) {\n BScroll.prototype._initScrollbar = function () {\n var _this = this;\n\n var _options$scrollbar = this.options.scrollbar,\n _options$scrollbar$fa = _options$scrollbar.fade,\n fade = _options$scrollbar$fa === undefined ? true : _options$scrollbar$fa,\n _options$scrollbar$in = _options$scrollbar.interactive,\n interactive = _options$scrollbar$in === undefined ? false : _options$scrollbar$in;\n\n this.indicators = [];\n var indicator = void 0;\n\n if (this.options.scrollX) {\n indicator = {\n el: createScrollbar('horizontal'),\n direction: 'horizontal',\n fade: fade,\n interactive: interactive\n };\n this._insertScrollBar(indicator.el);\n\n this.indicators.push(new Indicator(this, indicator));\n }\n\n if (this.options.scrollY) {\n indicator = {\n el: createScrollbar('vertical'),\n direction: 'vertical',\n fade: fade,\n interactive: interactive\n };\n this._insertScrollBar(indicator.el);\n this.indicators.push(new Indicator(this, indicator));\n }\n\n this.on('refresh', function () {\n for (var i = 0; i < _this.indicators.length; i++) {\n _this.indicators[i].refresh();\n }\n });\n\n if (fade) {\n this.on('scrollEnd', function () {\n for (var i = 0; i < _this.indicators.length; i++) {\n _this.indicators[i].fade();\n }\n });\n\n this.on('scrollCancel', function () {\n for (var i = 0; i < _this.indicators.length; i++) {\n _this.indicators[i].fade();\n }\n });\n\n this.on('scrollStart', function () {\n for (var i = 0; i < _this.indicators.length; i++) {\n _this.indicators[i].fade(true);\n }\n });\n\n this.on('beforeScrollStart', function () {\n for (var i = 0; i < _this.indicators.length; i++) {\n _this.indicators[i].fade(true, true);\n }\n });\n }\n\n this.on('destroy', function () {\n _this._removeScrollBars();\n });\n };\n\n BScroll.prototype._insertScrollBar = function (scrollbar) {\n this.wrapper.appendChild(scrollbar);\n };\n\n BScroll.prototype._removeScrollBars = function () {\n for (var i = 0; i < this.indicators.length; i++) {\n this.indicators[i].destroy();\n }\n };\n}\n\nfunction createScrollbar(direction) {\n var scrollbar = document.createElement('div');\n var indicator = document.createElement('div');\n\n scrollbar.style.cssText = 'position:absolute;z-index:9999;pointerEvents:none';\n indicator.style.cssText = 'box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px;';\n\n indicator.className = 'bscroll-indicator';\n\n if (direction === 'horizontal') {\n scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0';\n indicator.style.height = '100%';\n scrollbar.className = 'bscroll-horizontal-scrollbar';\n } else {\n scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px';\n indicator.style.width = '100%';\n scrollbar.className = 'bscroll-vertical-scrollbar';\n }\n\n scrollbar.style.cssText += ';overflow:hidden';\n scrollbar.appendChild(indicator);\n\n return scrollbar;\n}\n\nfunction Indicator(scroller, options) {\n this.wrapper = options.el;\n this.wrapperStyle = this.wrapper.style;\n this.indicator = this.wrapper.children[0];\n this.indicatorStyle = this.indicator.style;\n this.scroller = scroller;\n this.direction = options.direction;\n if (options.fade) {\n this.visible = 0;\n this.wrapperStyle.opacity = '0';\n } else {\n this.visible = 1;\n }\n\n this.sizeRatioX = 1;\n this.sizeRatioY = 1;\n this.maxPosX = 0;\n this.maxPosY = 0;\n this.x = 0;\n this.y = 0;\n\n if (options.interactive) {\n this._addDOMEvents();\n }\n}\n\nIndicator.prototype.handleEvent = function (e) {\n switch (e.type) {\n case 'touchstart':\n case 'mousedown':\n this._start(e);\n break;\n case 'touchmove':\n case 'mousemove':\n this._move(e);\n break;\n case 'touchend':\n case 'mouseup':\n case 'touchcancel':\n case 'mousecancel':\n this._end(e);\n break;\n }\n};\n\nIndicator.prototype.refresh = function () {\n if (this._shouldShow()) {\n this.transitionTime();\n this._calculate();\n this.updatePosition();\n }\n};\n\nIndicator.prototype.fade = function (visible, hold) {\n var _this2 = this;\n\n if (hold && !this.visible) {\n return;\n }\n\n var time = visible ? 250 : 500;\n\n visible = visible ? '1' : '0';\n\n this.wrapperStyle[style.transitionDuration] = time + 'ms';\n\n clearTimeout(this.fadeTimeout);\n this.fadeTimeout = setTimeout(function () {\n _this2.wrapperStyle.opacity = visible;\n _this2.visible = +visible;\n }, 0);\n};\n\nIndicator.prototype.updatePosition = function () {\n if (this.direction === 'vertical') {\n var y = Math.round(this.sizeRatioY * this.scroller.y);\n\n if (y < 0) {\n this.transitionTime(500);\n var height = Math.max(this.indicatorHeight + y * 3, INDICATOR_MIN_LEN);\n this.indicatorStyle.height = height + 'px';\n y = 0;\n } else if (y > this.maxPosY) {\n this.transitionTime(500);\n var _height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, INDICATOR_MIN_LEN);\n this.indicatorStyle.height = _height + 'px';\n y = this.maxPosY + this.indicatorHeight - _height;\n } else {\n this.indicatorStyle.height = this.indicatorHeight + 'px';\n }\n this.y = y;\n\n if (this.scroller.options.useTransform) {\n this.indicatorStyle[style.transform] = 'translateY(' + y + 'px)' + this.scroller.translateZ;\n } else {\n this.indicatorStyle.top = y + 'px';\n }\n } else {\n var x = Math.round(this.sizeRatioX * this.scroller.x);\n\n if (x < 0) {\n this.transitionTime(500);\n var width = Math.max(this.indicatorWidth + x * 3, INDICATOR_MIN_LEN);\n this.indicatorStyle.width = width + 'px';\n x = 0;\n } else if (x > this.maxPosX) {\n this.transitionTime(500);\n var _width = Math.max(this.indicatorWidth - (x - this.maxPosX) * 3, INDICATOR_MIN_LEN);\n this.indicatorStyle.width = _width + 'px';\n x = this.maxPosX + this.indicatorWidth - _width;\n } else {\n this.indicatorStyle.width = this.indicatorWidth + 'px';\n }\n\n this.x = x;\n\n if (this.scroller.options.useTransform) {\n this.indicatorStyle[style.transform] = 'translateX(' + x + 'px)' + this.scroller.translateZ;\n } else {\n this.indicatorStyle.left = x + 'px';\n }\n }\n};\n\nIndicator.prototype.transitionTime = function () {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n this.indicatorStyle[style.transitionDuration] = time + 'ms';\n};\n\nIndicator.prototype.transitionTimingFunction = function (easing) {\n this.indicatorStyle[style.transitionTimingFunction] = easing;\n};\n\nIndicator.prototype.destroy = function () {\n this._removeDOMEvents();\n this.wrapper.parentNode.removeChild(this.wrapper);\n};\n\nIndicator.prototype._start = function (e) {\n var point = e.touches ? e.touches[0] : e;\n\n e.preventDefault();\n e.stopPropagation();\n\n this.transitionTime();\n\n this.initiated = true;\n this.moved = false;\n this.lastPointX = point.pageX;\n this.lastPointY = point.pageY;\n\n this.startTime = getNow();\n\n this._handleMoveEvents(addEvent);\n this.scroller.trigger('beforeScrollStart');\n};\n\nIndicator.prototype._move = function (e) {\n var point = e.touches ? e.touches[0] : e;\n\n e.preventDefault();\n e.stopPropagation();\n\n if (!this.moved) {\n this.scroller.trigger('scrollStart');\n }\n\n this.moved = true;\n\n var deltaX = point.pageX - this.lastPointX;\n this.lastPointX = point.pageX;\n\n var deltaY = point.pageY - this.lastPointY;\n this.lastPointY = point.pageY;\n\n var newX = this.x + deltaX;\n var newY = this.y + deltaY;\n\n this._pos(newX, newY);\n};\n\nIndicator.prototype._end = function (e) {\n if (!this.initiated) {\n return;\n }\n this.initiated = false;\n\n e.preventDefault();\n e.stopPropagation();\n\n this._handleMoveEvents(removeEvent);\n\n var snapOption = this.scroller.options.snap;\n if (snapOption) {\n var speed = snapOption.speed,\n _snapOption$easing = snapOption.easing,\n easing = _snapOption$easing === undefined ? ease.bounce : _snapOption$easing;\n\n var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y);\n\n var time = speed || Math.max(Math.max(Math.min(Math.abs(this.scroller.x - snap.x), 1000), Math.min(Math.abs(this.scroller.y - snap.y), 1000)), 300);\n\n if (this.scroller.x !== snap.x || this.scroller.y !== snap.y) {\n this.scroller.directionX = 0;\n this.scroller.directionY = 0;\n this.scroller.currentPage = snap;\n this.scroller.scrollTo(snap.x, snap.y, time, easing);\n }\n }\n\n if (this.moved) {\n this.scroller.trigger('scrollEnd', {\n x: this.scroller.x,\n y: this.scroller.y\n });\n }\n};\n\nIndicator.prototype._pos = function (x, y) {\n if (x < 0) {\n x = 0;\n } else if (x > this.maxPosX) {\n x = this.maxPosX;\n }\n\n if (y < 0) {\n y = 0;\n } else if (y > this.maxPosY) {\n y = this.maxPosY;\n }\n\n x = Math.round(x / this.sizeRatioX);\n y = Math.round(y / this.sizeRatioY);\n\n this.scroller.scrollTo(x, y);\n this.scroller.trigger('scroll', {\n x: this.scroller.x,\n y: this.scroller.y\n });\n};\n\nIndicator.prototype._shouldShow = function () {\n if (this.direction === 'vertical' && this.scroller.hasVerticalScroll || this.direction === 'horizontal' && this.scroller.hasHorizontalScroll) {\n this.wrapper.style.display = '';\n return true;\n }\n this.wrapper.style.display = 'none';\n return false;\n};\n\nIndicator.prototype._calculate = function () {\n if (this.direction === 'vertical') {\n var wrapperHeight = this.wrapper.clientHeight;\n this.indicatorHeight = Math.max(Math.round(wrapperHeight * wrapperHeight / (this.scroller.scrollerHeight || wrapperHeight || 1)), INDICATOR_MIN_LEN);\n this.indicatorStyle.height = this.indicatorHeight + 'px';\n\n this.maxPosY = wrapperHeight - this.indicatorHeight;\n\n this.sizeRatioY = this.maxPosY / this.scroller.maxScrollY;\n } else {\n var wrapperWidth = this.wrapper.clientWidth;\n this.indicatorWidth = Math.max(Math.round(wrapperWidth * wrapperWidth / (this.scroller.scrollerWidth || wrapperWidth || 1)), INDICATOR_MIN_LEN);\n this.indicatorStyle.width = this.indicatorWidth + 'px';\n\n this.maxPosX = wrapperWidth - this.indicatorWidth;\n\n this.sizeRatioX = this.maxPosX / this.scroller.maxScrollX;\n }\n};\n\nIndicator.prototype._addDOMEvents = function () {\n var eventOperation = addEvent;\n this._handleDOMEvents(eventOperation);\n};\n\nIndicator.prototype._removeDOMEvents = function () {\n var eventOperation = removeEvent;\n this._handleDOMEvents(eventOperation);\n this._handleMoveEvents(eventOperation);\n};\n\nIndicator.prototype._handleMoveEvents = function (eventOperation) {\n if (!this.scroller.options.disableTouch) {\n eventOperation(window, 'touchmove', this);\n }\n if (!this.scroller.options.disableMouse) {\n eventOperation(window, 'mousemove', this);\n }\n};\n\nIndicator.prototype._handleDOMEvents = function (eventOperation) {\n if (!this.scroller.options.disableTouch) {\n eventOperation(this.indicator, 'touchstart', this);\n eventOperation(window, 'touchend', this);\n }\n if (!this.scroller.options.disableMouse) {\n eventOperation(this.indicator, 'mousedown', this);\n eventOperation(window, 'mouseup', this);\n }\n};\n\nfunction pullDownMixin(BScroll) {\n BScroll.prototype._initPullDown = function () {\n // must watch scroll in real time\n this.options.probeType = PROBE_REALTIME;\n };\n\n BScroll.prototype._checkPullDown = function () {\n var _options$pullDownRefr = this.options.pullDownRefresh,\n _options$pullDownRefr2 = _options$pullDownRefr.threshold,\n threshold = _options$pullDownRefr2 === undefined ? 90 : _options$pullDownRefr2,\n _options$pullDownRefr3 = _options$pullDownRefr.stop,\n stop = _options$pullDownRefr3 === undefined ? 40 : _options$pullDownRefr3;\n\n // check if a real pull down action\n\n if (this.directionY !== DIRECTION_DOWN || this.y < threshold) {\n return false;\n }\n\n if (!this.pulling) {\n this.pulling = true;\n this.trigger('pullingDown');\n }\n this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n\n return this.pulling;\n };\n\n BScroll.prototype.finishPullDown = function () {\n this.pulling = false;\n this.resetPosition(this.options.bounceTime, ease.bounce);\n };\n\n BScroll.prototype.openPullDown = function () {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.options.pullDownRefresh = config;\n this._initPullDown();\n };\n\n BScroll.prototype.closePullDown = function () {\n this.options.pullDownRefresh = false;\n };\n\n BScroll.prototype.autoPullDownRefresh = function () {\n var _options$pullDownRefr4 = this.options.pullDownRefresh,\n _options$pullDownRefr5 = _options$pullDownRefr4.threshold,\n threshold = _options$pullDownRefr5 === undefined ? 90 : _options$pullDownRefr5,\n _options$pullDownRefr6 = _options$pullDownRefr4.stop,\n stop = _options$pullDownRefr6 === undefined ? 40 : _options$pullDownRefr6;\n\n\n if (this.pulling) {\n return;\n }\n this.pulling = true;\n\n this.scrollTo(this.x, threshold);\n this.trigger('pullingDown');\n this.scrollTo(this.x, stop, this.options.bounceTime, ease.bounce);\n };\n}\n\nfunction pullUpMixin(BScroll) {\n BScroll.prototype._initPullUp = function () {\n // must watch scroll in real time\n this.options.probeType = PROBE_REALTIME;\n\n this.pullupWatching = false;\n this._watchPullUp();\n };\n\n BScroll.prototype._watchPullUp = function () {\n if (this.pullupWatching) {\n return;\n }\n this.pullupWatching = true;\n this.on('scroll', this._checkToEnd);\n };\n\n BScroll.prototype._checkToEnd = function (pos) {\n var _this = this;\n\n var _options$pullUpLoad$t = this.options.pullUpLoad.threshold,\n threshold = _options$pullUpLoad$t === undefined ? 0 : _options$pullUpLoad$t;\n\n if (this.movingDirectionY === DIRECTION_UP && pos.y <= this.maxScrollY + threshold) {\n // reset pullupWatching status after scroll end.\n this.once('scrollEnd', function () {\n _this.pullupWatching = false;\n });\n this.trigger('pullingUp');\n this.off('scroll', this._checkToEnd);\n }\n };\n\n BScroll.prototype.finishPullUp = function () {\n var _this2 = this;\n\n if (this.pullupWatching) {\n this.once('scrollEnd', function () {\n _this2._watchPullUp();\n });\n } else {\n this._watchPullUp();\n }\n };\n\n BScroll.prototype.openPullUp = function () {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.options.pullUpLoad = config;\n this._initPullUp();\n };\n\n BScroll.prototype.closePullUp = function () {\n this.options.pullUpLoad = false;\n if (!this.pullupWatching) {\n return;\n }\n this.pullupWatching = false;\n this.off('scroll', this._checkToEnd);\n };\n}\n\nfunction mouseWheelMixin(BScroll) {\n BScroll.prototype._initMouseWheel = function () {\n var _this = this;\n\n this._handleMouseWheelEvent(addEvent);\n\n this.on('destroy', function () {\n clearTimeout(_this.mouseWheelTimer);\n clearTimeout(_this.mouseWheelEndTimer);\n _this._handleMouseWheelEvent(removeEvent);\n });\n\n this.firstWheelOpreation = true;\n };\n\n BScroll.prototype._handleMouseWheelEvent = function (eventOperation) {\n eventOperation(this.wrapper, 'wheel', this);\n eventOperation(this.wrapper, 'mousewheel', this);\n eventOperation(this.wrapper, 'DOMMouseScroll', this);\n };\n\n BScroll.prototype._onMouseWheel = function (e) {\n var _this2 = this;\n\n if (!this.enabled) {\n return;\n }\n e.preventDefault();\n\n if (this.options.stopPropagation) {\n e.stopPropagation();\n }\n\n if (this.firstWheelOpreation) {\n this.trigger('scrollStart');\n }\n this.firstWheelOpreation = false;\n\n var _options$mouseWheel = this.options.mouseWheel,\n _options$mouseWheel$s = _options$mouseWheel.speed,\n speed = _options$mouseWheel$s === undefined ? 20 : _options$mouseWheel$s,\n _options$mouseWheel$i = _options$mouseWheel.invert,\n invert = _options$mouseWheel$i === undefined ? false : _options$mouseWheel$i,\n _options$mouseWheel$e = _options$mouseWheel.easeTime,\n easeTime = _options$mouseWheel$e === undefined ? 300 : _options$mouseWheel$e;\n\n\n clearTimeout(this.mouseWheelTimer);\n this.mouseWheelTimer = setTimeout(function () {\n if (!_this2.options.snap && !easeTime) {\n _this2.trigger('scrollEnd', {\n x: _this2.x,\n y: _this2.y\n });\n }\n _this2.firstWheelOpreation = true;\n }, 400);\n\n var wheelDeltaX = void 0;\n var wheelDeltaY = void 0;\n\n switch (true) {\n case 'deltaX' in e:\n if (e.deltaMode === 1) {\n wheelDeltaX = -e.deltaX * speed;\n wheelDeltaY = -e.deltaY * speed;\n } else {\n wheelDeltaX = -e.deltaX;\n wheelDeltaY = -e.deltaY;\n }\n break;\n case 'wheelDeltaX' in e:\n wheelDeltaX = e.wheelDeltaX / 120 * speed;\n wheelDeltaY = e.wheelDeltaY / 120 * speed;\n break;\n case 'wheelDelta' in e:\n wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * speed;\n break;\n case 'detail' in e:\n wheelDeltaX = wheelDeltaY = -e.detail / 3 * speed;\n break;\n default:\n return;\n }\n\n var direction = invert ? -1 : 1;\n wheelDeltaX *= direction;\n wheelDeltaY *= direction;\n\n if (!this.hasVerticalScroll) {\n wheelDeltaX = wheelDeltaY;\n wheelDeltaY = 0;\n }\n\n var newX = void 0;\n var newY = void 0;\n if (this.options.snap) {\n newX = this.currentPage.pageX;\n newY = this.currentPage.pageY;\n\n if (wheelDeltaX > 0) {\n newX--;\n } else if (wheelDeltaX < 0) {\n newX++;\n }\n\n if (wheelDeltaY > 0) {\n newY--;\n } else if (wheelDeltaY < 0) {\n newY++;\n }\n\n this._goToPage(newX, newY);\n return;\n }\n\n newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0);\n newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0);\n\n this.movingDirectionX = this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0;\n this.movingDirectionY = this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0;\n\n if (newX > this.minScrollX) {\n newX = this.minScrollX;\n } else if (newX < this.maxScrollX) {\n newX = this.maxScrollX;\n }\n\n if (newY > this.minScrollY) {\n newY = this.minScrollY;\n } else if (newY < this.maxScrollY) {\n newY = this.maxScrollY;\n }\n\n var needTriggerEnd = this.y === newY;\n this.scrollTo(newX, newY, easeTime, ease.swipe);\n this.trigger('scroll', {\n x: this.x,\n y: this.y\n });\n clearTimeout(this.mouseWheelEndTimer);\n if (needTriggerEnd) {\n this.mouseWheelEndTimer = setTimeout(function () {\n _this2.trigger('scrollEnd', {\n x: _this2.x,\n y: _this2.y\n });\n }, easeTime);\n }\n };\n}\n\nfunction zoomMixin(BScroll) {\n BScroll.prototype._initZoom = function () {\n var _options$zoom = this.options.zoom,\n _options$zoom$start = _options$zoom.start,\n start = _options$zoom$start === undefined ? 1 : _options$zoom$start,\n _options$zoom$min = _options$zoom.min,\n min = _options$zoom$min === undefined ? 1 : _options$zoom$min,\n _options$zoom$max = _options$zoom.max,\n max = _options$zoom$max === undefined ? 4 : _options$zoom$max;\n\n this.scale = Math.min(Math.max(start, min), max);\n this.setScale(this.scale);\n this.scrollerStyle[style.transformOrigin] = '0 0';\n };\n\n BScroll.prototype._zoomTo = function (scale, originX, originY, startScale) {\n this.scaled = true;\n\n var lastScale = scale / (startScale || this.scale);\n this.setScale(scale);\n\n this.refresh();\n\n var newX = Math.round(this.startX - (originX - this.relativeX) * (lastScale - 1));\n var newY = Math.round(this.startY - (originY - this.relativeY) * (lastScale - 1));\n\n if (newX > this.minScrollX) {\n newX = this.minScrollX;\n } else if (newX < this.maxScrollX) {\n newX = this.maxScrollX;\n }\n\n if (newY > this.minScrollY) {\n newY = this.minScrollY;\n } else if (newY < this.maxScrollY) {\n newY = this.maxScrollY;\n }\n\n if (this.x !== newX || this.y !== newY) {\n this.scrollTo(newX, newY, this.options.bounceTime);\n }\n\n this.scaled = false;\n };\n\n BScroll.prototype.zoomTo = function (scale, x, y) {\n var _offsetToBody = offsetToBody(this.wrapper),\n left = _offsetToBody.left,\n top = _offsetToBody.top;\n\n var originX = x + left - this.x;\n var originY = y + top - this.y;\n this._zoomTo(scale, originX, originY);\n };\n\n BScroll.prototype._zoomStart = function (e) {\n var firstFinger = e.touches[0];\n var secondFinger = e.touches[1];\n var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n\n this.startDistance = getDistance(deltaX, deltaY);\n this.startScale = this.scale;\n\n var _offsetToBody2 = offsetToBody(this.wrapper),\n left = _offsetToBody2.left,\n top = _offsetToBody2.top;\n\n this.originX = Math.abs(firstFinger.pageX + secondFinger.pageX) / 2 + left - this.x;\n this.originY = Math.abs(firstFinger.pageY + secondFinger.pageY) / 2 + top - this.y;\n\n this.trigger('zoomStart');\n };\n\n BScroll.prototype._zoom = function (e) {\n if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n return;\n }\n\n if (this.options.preventDefault) {\n e.preventDefault();\n }\n\n if (this.options.stopPropagation) {\n e.stopPropagation();\n }\n\n var firstFinger = e.touches[0];\n var secondFinger = e.touches[1];\n var deltaX = Math.abs(firstFinger.pageX - secondFinger.pageX);\n var deltaY = Math.abs(firstFinger.pageY - secondFinger.pageY);\n var distance = getDistance(deltaX, deltaY);\n var scale = distance / this.startDistance * this.startScale;\n\n this.scaled = true;\n\n var _options$zoom2 = this.options.zoom,\n _options$zoom2$min = _options$zoom2.min,\n min = _options$zoom2$min === undefined ? 1 : _options$zoom2$min,\n _options$zoom2$max = _options$zoom2.max,\n max = _options$zoom2$max === undefined ? 4 : _options$zoom2$max;\n\n\n if (scale < min) {\n scale = 0.5 * min * Math.pow(2.0, scale / min);\n } else if (scale > max) {\n scale = 2.0 * max * Math.pow(0.5, max / scale);\n }\n\n var lastScale = scale / this.startScale;\n\n var x = this.startX - (this.originX - this.relativeX) * (lastScale - 1);\n var y = this.startY - (this.originY - this.relativeY) * (lastScale - 1);\n\n this.setScale(scale);\n\n this.scrollTo(x, y, 0);\n };\n\n BScroll.prototype._zoomEnd = function (e) {\n if (!this.enabled || this.destroyed || eventType[e.type] !== this.initiated) {\n return;\n }\n\n if (this.options.preventDefault) {\n e.preventDefault();\n }\n\n if (this.options.stopPropagation) {\n e.stopPropagation();\n }\n\n this.isInTransition = false;\n this.isAnimating = false;\n this.initiated = 0;\n\n var _options$zoom3 = this.options.zoom,\n _options$zoom3$min = _options$zoom3.min,\n min = _options$zoom3$min === undefined ? 1 : _options$zoom3$min,\n _options$zoom3$max = _options$zoom3.max,\n max = _options$zoom3$max === undefined ? 4 : _options$zoom3$max;\n\n\n var scale = this.scale > max ? max : this.scale < min ? min : this.scale;\n\n this._zoomTo(scale, this.originX, this.originY, this.startScale);\n\n this.trigger('zoomEnd');\n };\n}\n\n// import { ease } from '../util/ease'\n\n// Number of items to instantiate beyond current view in the scroll direction.\nvar RUNWAY_ITEMS = 30;\n\n// Number of items to instantiate beyond current view in the opposite direction.\nvar RUNWAY_ITEMS_OPPOSITE = 10;\n\n// The animation interval (in ms) for fading in content from tombstones.\nvar ANIMATION_DURATION_MS = 200;\n\n// The number of pixels of default additional length to allow scrolling to.\nvar DEFAULT_SCROLL_RUNWAY = 2000;\n\nfunction infiniteMixin(BScroll) {\n BScroll.prototype._initInfinite = function () {\n this.options.probeType = 3;\n this.maxScrollY = -DEFAULT_SCROLL_RUNWAY;\n this.infiniteScroller = new InfiniteScroller(this, this.options.infinity);\n };\n}\n\nfunction isTombstoneNode(node) {\n if (node && node.classList) {\n return node.classList.contains('tombstone');\n }\n}\n\nfunction InfiniteScroller(scroller, options) {\n var _this = this;\n\n this.options = options;\n assert(typeof this.options.createTombstone === 'function', 'Infinite scroll need createTombstone Function to create tombstone');\n\n assert(typeof this.options.fetch === 'function', 'Infinite scroll need fetch Function to fetch new data.');\n\n assert(typeof this.options.render === 'function', 'Infinite scroll need render Function to render each item.');\n\n this.firstAttachedItem = 0;\n this.lastAttachedItem = 0;\n\n this.anchorScrollTop = 0;\n this.anchorItem = {\n index: 0,\n offset: 0\n };\n this.tombstoneHeight = 0;\n this.tombstoneWidth = 0;\n this.tombstones = [];\n this.tombstonesAnimationHandlers = [];\n\n this.items = [];\n this.loadedItems = 0;\n this.requestInProgress = false;\n this.hasMore = true;\n\n this.scroller = scroller;\n this.wrapperEl = this.scroller.wrapper;\n this.scrollerEl = this.scroller.scroller;\n\n this.scroller.on('resize', function () {\n _this.onResize();\n });\n this.scroller.on('destroy', function () {\n _this.destroy();\n });\n\n // wait scroll core init\n this._onResizeHandler = setTimeout(function () {\n _this.onResize();\n\n // must wait tombstoneHeight has size\n _this.scroller.on('scroll', function () {\n _this.onScroll();\n });\n });\n}\n\nInfiniteScroller.prototype.destroy = function () {\n var _this2 = this;\n\n // In extreme scene, destroy is triggered before _onResizeHandler\n clearTimeout(this._onResizeHandler);\n this.tombstonesAnimationHandlers.forEach(function (handler) {\n clearTimeout(handler);\n });\n this.tombstonesAnimationHandlers = null;\n this.items.forEach(function (item) {\n if (item.node) {\n _this2.scrollerEl.removeChild(item.node);\n item.node = null;\n }\n });\n this.scroller.infiniteScroller = null;\n this.scroller = null;\n this.wrapperEl = null;\n this.scrollerEl = null;\n this.items = null;\n this.tombstones = null;\n};\n\nInfiniteScroller.prototype.onScroll = function () {\n var scrollTop = -this.scroller.y;\n var delta = scrollTop - this.anchorScrollTop;\n if (scrollTop === 0) {\n this.anchorItem = {\n index: 0,\n offset: 0\n };\n } else {\n this.anchorItem = this._calculateAnchoredItem(this.anchorItem, delta);\n }\n\n this.anchorScrollTop = scrollTop;\n var lastScreenItem = this._calculateAnchoredItem(this.anchorItem, this.scroller.wrapperHeight);\n\n var start = this.anchorItem.index;\n var end = lastScreenItem.index;\n if (delta < 0) {\n start -= RUNWAY_ITEMS;\n end += RUNWAY_ITEMS_OPPOSITE;\n } else {\n start -= RUNWAY_ITEMS_OPPOSITE;\n end += RUNWAY_ITEMS;\n }\n this.fill(start, end);\n this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.onResize = function () {\n var tombstone = this.options.createTombstone();\n tombstone.style.position = 'absolute';\n this.scrollerEl.appendChild(tombstone);\n tombstone.style.display = '';\n this.tombstoneHeight = tombstone.offsetHeight;\n this.tombstoneWidth = tombstone.offsetWidth;\n this.scrollerEl.removeChild(tombstone);\n\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].height = this.items[i].width = 0;\n }\n\n this.onScroll();\n};\n\nInfiniteScroller.prototype.fill = function (start, end) {\n this.firstAttachedItem = Math.max(0, start);\n if (!this.hasMore) {\n end = Math.min(end, this.items.length);\n }\n this.lastAttachedItem = end;\n this.attachContent();\n};\n\nInfiniteScroller.prototype.maybeRequestContent = function () {\n var _this3 = this;\n\n if (this.requestInProgress || !this.hasMore) {\n return;\n }\n var itemsNeeded = this.lastAttachedItem - this.loadedItems;\n if (itemsNeeded <= 0) {\n return;\n }\n this.requestInProgress = true;\n this.options.fetch(itemsNeeded).then(function (items) {\n _this3.requestInProgress = false;\n if (items) {\n _this3.addContent(items);\n } else {\n _this3.hasMore = false;\n var tombstoneLen = _this3._removeTombstones();\n var curPos = 0;\n if (_this3.anchorItem.index <= _this3.items.length) {\n curPos = _this3._fixScrollPosition();\n _this3._setupAnimations({}, curPos);\n _this3.scroller.resetPosition(_this3.scroller.options.bounceTime);\n } else {\n _this3.anchorItem.index -= tombstoneLen;\n curPos = _this3._fixScrollPosition();\n _this3._setupAnimations({}, curPos);\n _this3.scroller.stop();\n _this3.scroller.resetPosition();\n _this3.onScroll();\n }\n }\n });\n};\n\nInfiniteScroller.prototype.addContent = function (items) {\n for (var i = 0; i < items.length; i++) {\n if (this.items.length <= this.loadedItems) {\n this._addItem();\n }\n this.items[this.loadedItems++].data = items[i];\n }\n this.attachContent();\n this.maybeRequestContent();\n};\n\nInfiniteScroller.prototype.attachContent = function () {\n var unusedNodes = this._collectUnusedNodes();\n var tombstoneAnimations = this._createDOMNodes(unusedNodes);\n this._cleanupUnusedNodes(unusedNodes);\n this._cacheNodeSize();\n var curPos = this._fixScrollPosition();\n this._setupAnimations(tombstoneAnimations, curPos);\n};\n\nInfiniteScroller.prototype.resetMore = function () {\n this.hasMore = true;\n};\n\nInfiniteScroller.prototype._removeTombstones = function () {\n var markIndex = void 0;\n var tombstoneLen = 0;\n var itemLen = this.items.length;\n for (var i = 0; i < itemLen; i++) {\n var currentNode = this.items[i].node;\n var currentData = this.items[i].data;\n if ((!currentNode || isTombstoneNode(currentNode)) && !currentData) {\n // 0 should be excluded\n if (markIndex === void 0) {\n markIndex = i;\n }\n if (currentNode) {\n this.scrollerEl.removeChild(currentNode);\n }\n }\n }\n tombstoneLen = itemLen - markIndex;\n this.items.splice(markIndex);\n this.lastAttachedItem = Math.min(this.lastAttachedItem, this.items.length);\n return tombstoneLen;\n};\n\nInfiniteScroller.prototype._collectUnusedNodes = function () {\n var unusedNodes = [];\n for (var i = 0; i < this.items.length; i++) {\n // Skip the items which should be visible.\n if (i === this.firstAttachedItem) {\n i = this.lastAttachedItem - 1;\n continue;\n }\n var currentNode = this.items[i].node;\n if (currentNode) {\n if (isTombstoneNode(currentNode)) {\n // Cache tombstones for reuse\n this.tombstones.push(currentNode);\n this.tombstones[this.tombstones.length - 1].style.display = 'none';\n } else {\n unusedNodes.push(currentNode);\n }\n }\n this.items[i].node = null;\n }\n return unusedNodes;\n};\n\nInfiniteScroller.prototype._createDOMNodes = function (unusedNodes) {\n var tombstoneAnimations = {};\n for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n while (this.items.length <= i) {\n this._addItem();\n }\n var currentNode = this.items[i].node;\n var currentData = this.items[i].data;\n if (currentNode) {\n if (isTombstoneNode(currentNode) && currentData) {\n currentNode.style.zIndex = 1;\n tombstoneAnimations[i] = [currentNode, this.items[i].top - this.anchorScrollTop];\n this.items[i].node = null;\n } else {\n continue;\n }\n }\n var node = currentData ? this.options.render(currentData, unusedNodes.pop()) : this._getTombStone();\n node.style.position = 'absolute';\n this.items[i].top = -1;\n this.scrollerEl.appendChild(node);\n this.items[i].node = node;\n }\n return tombstoneAnimations;\n};\n\nInfiniteScroller.prototype._cleanupUnusedNodes = function (unusedNodes) {\n while (unusedNodes.length) {\n this.scrollerEl.removeChild(unusedNodes.pop());\n }\n};\n\nInfiniteScroller.prototype._cacheNodeSize = function () {\n for (var i = this.firstAttachedItem; i < this.lastAttachedItem; i++) {\n var item = this.items[i];\n // Only cache the height if we have the real contents, not a placeholder.\n if (item.data && !item.height) {\n var isTombstone = isTombstoneNode(item.node);\n item.height = isTombstone ? this.tombstoneHeight : item.node.offsetHeight;\n item.width = isTombstone ? this.tombstoneWidth : item.node.offsetWidth;\n }\n }\n};\n\nInfiniteScroller.prototype._fixScrollPosition = function () {\n this.anchorScrollTop = 0;\n for (var _i = 0; _i < this.anchorItem.index; _i++) {\n this.anchorScrollTop += this.items[_i].height || this.tombstoneHeight;\n }\n this.anchorScrollTop += this.anchorItem.offset;\n\n // Position all nodes.\n var curPos = this.anchorScrollTop - this.anchorItem.offset;\n var i = this.anchorItem.index;\n while (i > this.firstAttachedItem) {\n curPos -= this.items[i - 1].height || this.tombstoneHeight;\n i--;\n }\n\n return curPos;\n};\n\nInfiniteScroller.prototype._setupAnimations = function (tombstoneAnimations, curPos) {\n var _this4 = this;\n\n for (var i in tombstoneAnimations) {\n var animation = tombstoneAnimations[i];\n this.items[i].node.style[style.transform] = 'translateY(' + (this.anchorScrollTop + animation[1]) + 'px) scale(' + this.tombstoneWidth / this.items[i].width + ', ' + this.tombstoneHeight / this.items[i].height + ')';\n // Call offsetTop on the nodes to be animated to force them to apply current transforms.\n /* eslint-disable no-unused-expressions */\n this.items[i].node.offsetTop;\n animation[0].offsetTop;\n this.items[i].node.style[style.transition] = cssVendor + 'transform ' + ANIMATION_DURATION_MS + 'ms';\n }\n\n for (var _i2 = this.firstAttachedItem; _i2 < this.lastAttachedItem; _i2++) {\n var _animation = tombstoneAnimations[_i2];\n if (_animation) {\n var tombstoneNode = _animation[0];\n tombstoneNode.style[style.transition] = cssVendor + 'transform ' + ANIMATION_DURATION_MS + 'ms, opacity ' + ANIMATION_DURATION_MS + 'ms';\n tombstoneNode.style[style.transform] = 'translateY(' + curPos + 'px) scale(' + this.items[_i2].width / this.tombstoneWidth + ', ' + this.items[_i2].height / this.tombstoneHeight + ')';\n tombstoneNode.style.opacity = 0;\n }\n if (curPos !== this.items[_i2].top) {\n if (!_animation) {\n this.items[_i2].node.style[style.transition] = '';\n }\n this.items[_i2].node.style[style.transform] = 'translateY(' + curPos + 'px)';\n }\n this.items[_i2].top = curPos;\n curPos += this.items[_i2].height || this.tombstoneHeight;\n }\n\n this.scroller.maxScrollY = -(curPos - this.scroller.wrapperHeight + (this.hasMore ? DEFAULT_SCROLL_RUNWAY : 0));\n\n var tombstoneAnimationsHandler = setTimeout(function () {\n for (var _i3 in tombstoneAnimations) {\n var _animation2 = tombstoneAnimations[_i3];\n _animation2[0].style.display = 'none';\n // Tombstone can be recycled now.\n _this4.tombstones.push(_animation2[0]);\n }\n }, ANIMATION_DURATION_MS);\n\n this.tombstonesAnimationHandlers.push(tombstoneAnimationsHandler);\n};\n\nInfiniteScroller.prototype._getTombStone = function () {\n var tombstone = this.tombstones.pop();\n if (tombstone) {\n tombstone.style.display = '';\n tombstone.style.opacity = 1;\n tombstone.style[style.transform] = '';\n tombstone.style[style.transition] = '';\n return tombstone;\n }\n return this.options.createTombstone();\n};\n\nInfiniteScroller.prototype._addItem = function () {\n this.items.push({\n data: null,\n node: null,\n height: 0,\n width: 0,\n top: 0\n });\n};\n\nInfiniteScroller.prototype._calculateAnchoredItem = function (initialAnchor, delta) {\n if (delta === 0) {\n return initialAnchor;\n }\n var i = initialAnchor.index;\n var tombstones = 0;\n\n delta += initialAnchor.offset;\n if (delta < 0) {\n while (delta < 0 && i > 0 && this.items[i - 1].height) {\n delta += this.items[i - 1].height;\n i--;\n }\n tombstones = Math.max(-i, Math.ceil(Math.min(delta, 0) / this.tombstoneHeight));\n } else {\n while (delta > 0 && i < this.items.length && this.items[i].height && this.items[i].height < delta) {\n delta -= this.items[i].height;\n i++;\n }\n if (i >= this.items.length || !this.items[i].height) {\n tombstones = Math.floor(Math.max(delta, 0) / this.tombstoneHeight);\n }\n }\n i += tombstones;\n delta -= tombstones * this.tombstoneHeight;\n\n return {\n index: i,\n offset: delta\n };\n};\n\nfunction BScroll(el, options) {\n this.wrapper = typeof el === 'string' ? document.querySelector(el) : el;\n if (!this.wrapper) {\n warn('Can not resolve the wrapper DOM.');\n }\n this.scroller = this.wrapper.children[0];\n if (!this.scroller) {\n warn('The wrapper need at least one child element to be scroller.');\n }\n // cache style for better performance\n this.scrollerStyle = this.scroller.style;\n\n this._init(options);\n}\n\ninitMixin(BScroll);\ncoreMixin(BScroll);\neventMixin(BScroll);\nsnapMixin(BScroll);\nwheelMixin(BScroll);\nscrollbarMixin(BScroll);\npullDownMixin(BScroll);\npullUpMixin(BScroll);\nmouseWheelMixin(BScroll);\nzoomMixin(BScroll);\ninfiniteMixin(BScroll);\n\nBScroll.Version = '1.15.2';\n\nexport default BScroll;\n","import PDFView from './PDFView';\n\nexport default PDFView;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\nimport BScroll from 'better-scroll';\n\nexport default class PDFView extends Component {\n static propTypes = {\n pictures: PropTypes.array, // 图片地址\n src: PropTypes.string, // pdf地址或data:application/pdf;base64,开头的base64pdf流文件\n errorHTML: PropTypes.string, // 加载错误时显示的信息\n loadHTML: PropTypes.string, // 加载时显示的信息\n // options: PropTypes.object // getDocument选项: cMapUrl: '/demo/cmaps/', cMapPacked: true(废弃)\n cMapUrl: PropTypes.string\n }\n static defaultProps = {\n loadHTML: '加载中',\n errorHTML: '文件加载失败'\n }\n constructor(props) {\n super(props);\n }\n instance = () => {\n const {\n src,\n pictures,\n errorHTML,\n loadHTML,\n // options(废弃)\n cMapUrl\n } = this.props;\n if (!src && !pictures) return\n let bscroll = null;\n const instance = new Instance(this.$el, {\n src,\n pictures,\n errorHTML,\n loadHTML,\n // options, // (废弃)\n cMapUrl,\n onLoad: () => {\n bscroll = new BScroll('.pdf-container', {\n scrollX: true,\n zoom: {\n start: 1,\n min: 1,\n max: 4\n }\n });\n }\n });\n this.bscroll = bscroll;\n this.instance = instance;\n }\n componentDidUpdate (prevProps) {\n const {\n src,\n pictures,\n errorHTML,\n loadHTML,\n // options // (废弃)\n cMapUrl\n } = this.props;\n if ((src && src !== prevProps.src) || (pictures && pictures !== prevProps.pictures)) {\n if (!this.instance) {\n this.instance()\n } else {\n this.instance.update({\n src,\n pictures,\n errorHTML,\n loadHTML,\n // options // (废弃)\n cMapUrl\n })\n }\n }\n }\n componentDidMount () {\n this.instance()\n }\n render() {\n const {\n src,\n pictures,\n errorHTML,\n loadHTML,\n // options, // (废弃)\n cMapUrl,\n ...others\n } = this.props;\n if (!src && !pictures) {\n return null;\n }\n return (\n <div className=\"pdf-container\" {...others} ref={(el) => {this.$el = el}}>\n <div className=\"pdf-wrapper\"></div>\n </div>\n );\n }\n}\n","import Peg from './Peg.js';\n\nexport default Peg;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Peg extends Component {\n static propTypes = {\n className: PropTypes.string\n }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n render() {\n const {className, ...others} = this.props;\n return (\n <i ref={el => {this.$el = el;}} className={`peg${className ? ' ' + className: ''}`} {...others}></i>\n );\n }\n}\n","import Player from './Player.js';\n\nexport default Player;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Device from '../Device';\nimport FullScreen from '../FullScreen';\nimport MediaUtil from '../MediaUtil';\n\nexport default class Player extends Component {\n static propTypes = {\n args: PropTypes.any,\n style: PropTypes.object,\n className: PropTypes.string,\n children: PropTypes.node,\n\n src: PropTypes.string,\n onClick: PropTypes.func\n }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n componentDidMount() {\n var video = this.$video;\n FullScreen.addHandler(video, (e) => {\n if (FullScreen.isFull(video)) {\n video.play();\n } else {\n video.pause();\n }\n });\n }\n onClick = (e) => {\n if (this.props.onClick) {\n this.props.onClick(Object.getArgs(e, this.props.args));\n } else {\n var target = e.currentTarget.querySelector('video');\n FullScreen.enter(target);\n\n setTimeout(() => {\n target.play();\n }, 500);\n }\n e.stopPropagation();\n }\n getType = () => {\n const {src} = this.props;\n return MediaUtil.sourceType(src);\n }\n render() {\n const {args, children, style, className, src, onClick, ...others} = this.props;\n // Andriod\n if (Device.os === 'andriod' || onClick) {\n return (\n <div ref={(el) => {this.$el = el}} className={'player-thumbnail' + (className ? ' ' + className : '')} style={style} onClick={this.onClick}>\n {!onClick && <video ref={(el) => {this.$video = el}} {...others}>\n <source src={src} type={this.getType()} />\n 您的浏览器不支持 video 标签。\n </video>}\n {this.props.poster && <div style={{backgroundImage: `url(${this.props.poster})`}} className=\"player-thumbnail-poster\"/>}\n <div className=\"player-thumbnail-button\"></div>\n {children}\n </div>\n )\n }\n // Ios\n return (\n <div ref={(el) => {this.$el = el}} className={'player-thumbnail' + (className ? ' ' + className : '')} style={style}>\n <video controls ref={(el) => {this.$video = el}} {...others}>\n <source src={src} type={this.getType()} />\n 您的浏览器不支持 video 标签。\n </video>\n {children}\n </div>\n );\n }\n}\n","import Popover from './Popover.js';\n\nexport default Popover;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\n\nexport default class Popover extends Component {\n static propTypes = {\n args: PropTypes.any,\n portal: PropTypes.object,\n show: PropTypes.bool,\n\n animation: PropTypes.string, // slideLeft | slideRight | slideUp | slideDown | zoom | fade\n isClickMaskHide: PropTypes.bool,\n\n maskClassName: PropTypes.string,\n maskStyle: PropTypes.object,\n onClickMask: PropTypes.func,\n\n className: PropTypes.string,\n style: PropTypes.object,\n\n children: PropTypes.node\n }\n static defaultProps = {\n isClickMaskHide: true,\n animation: 'zoom'\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n }\n onClickMask = (e) => {\n if (this.props.onClickMask) this.props.onClickMask(Object.getArgs(e, this.props.args));\n e.stopPropagation();\n }\n render() {\n const {\n show,\n maskClassName, maskStyle,\n className, style, animation,\n children,\n } = this.props;\n return createPortal(\n <div ref={el => {this.$el = el;}} className={`mask popover-mask${maskClassName ? ' ' + maskClassName : ''}${show ? ' active' : ''}`} style={maskStyle} onClick={this.onClickMask}>\n <div style={style} className={`popover${className ? ' ' + className : ''}${show ? ' active' : ''}`} data-animation={animation}>\n {children && children}\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import Preview from './Preview.js';\n\nexport default Preview;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\nimport Instance from './instance.js';\n\nexport default class Preview extends Component {\n static propTypes = {\n portal: PropTypes.object,\n show: PropTypes.bool,\n showHeader: PropTypes.bool,\n \n src: PropTypes.string,\n layerHTML: PropTypes.string,\n\n onClickBack: PropTypes.func\n }\n static defaultProps = {\n show: false,\n showHeader: false\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate (prevProps) {\n if (!this.instance) return false;\n if (this.props.src !== prevProps.src || this.props.layerHTML !== prevProps.layerHTML) {\n this.instance.setSrc(this.props.src)\n this.instance.setLayerHTML(this.props.layerHTML)\n this.instance.update()\n }\n if (this.props.show !== prevProps.show) {\n if (this.props.show) this.instance.show()\n else this.instance.hide()\n }\n }\n componentDidMount () {\n if (this.instance) return;\n var instance = new Instance({\n mask: this.$el,\n showHeader: this.props.showHeader,\n src: this.props.src,\n layerHTML: this.props.layerHTML,\n onClickBack: this.props.onClickBack,\n onClick: this.props.onClickBack\n });\n this.instance = instance;\n }\n render() {\n const {\n portal,\n show,\n src, layerHTML,\n onClickBack,\n ...others\n } = this.props;\n if (!src) {\n return null;\n }\n return createPortal(\n <div ref={(el) => {this.$el = el}} className={`preview-mask`} {...others}>\n <div className={`preview-header`}>\n <div className={`preview-header-back`}></div>\n </div>\n <div className={`preview-container`}></div>\n </div>,\n portal || document.getElementById('root')\n );\n }\n}\n","import Progress from './Progress.js';\n\nexport default Progress;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Counter from './../Counter';\n\nexport default class Progress extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n\n barStyle: PropTypes.object,\n barClassName: PropTypes.string,\n\n captionClassName: PropTypes.string,\n captionStyle: PropTypes.object,\n\n percentage: PropTypes.number,\n max: PropTypes.number,\n min: PropTypes.number,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n showPercentage: PropTypes.bool,\n\n children: PropTypes.node\n }\n static defaultProps = {\n showPercentage: true,\n max: 100,\n min: 0,\n value: 0\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n }\n render() {\n const {\n style, className,\n barStyle, barClassName,\n captionStyle, captionClassName,\n percentage, max, min, value, showPercentage,\n children,\n ...others\n } = this.props;\n\n // 计算百分比\n let barPercentage = 0;\n let textPercentage = 0;\n if (!isNaN(percentage)) {\n barPercentage = textPercentage = percentage;\n } else if (!isNaN(max) && !isNaN(value)) {\n barPercentage = textPercentage = (value / (max - min)) * 100;\n }\n if (barPercentage > 100) {\n barPercentage = 100;\n } else if (barPercentage < 0) {\n barPercentage = 0;\n }\n return <div className={`progress${className ? ' ' + className : ''}`} style={style} {...others}>\n <span ref={(el) => {this.$bar = el;}} className={`progress-bar${barClassName ? ' ' + barClassName : ''}`} style={Object.assign({}, barStyle, {width: barPercentage + '%'})}>\n {showPercentage && <Counter duration={1000} to={textPercentage} from={0} suffix={'%'} className={`progress-caption${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle}/>}\n {!showPercentage && <Counter duration={1000} to={Number(value)} from={min} suffix={'/' + max} className={`progress-caption${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle}/>}\n </span>\n {children}\n </div>;\n }\n}\n","import Radio from './Radio.js';\n\nexport default Radio;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Radio extends Component {\n static propTypes = {\n args: PropTypes.any,\n style: PropTypes.object,\n className: PropTypes.string,\n onClick: PropTypes.func,\n\n name: PropTypes.string,\n value: PropTypes.string,\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n\n caption: PropTypes.string,\n captionClassName: PropTypes.string,\n captionStyle: PropTypes.object\n }\n static defaultProps = {\n args: null,\n value: '',\n checked: false\n }\n constructor(props) {\n super(props);\n }\n onClick = (e) => {\n if (this.props.disabled) return;\n if (this.props.onClick) {\n this.props.onClick(this.$input.checked, Object.getArgs(e, this.props.args));\n }\n }\n render() {\n const {style, className,\n name, value, checked,\n caption, captionClassName, captionStyle} = this.props;\n return (<div className={`radio-box${className ? ' ' + className : ''}`} onClick={this.onClick} style={style}>\n <input readOnly={true} checked={checked} type=\"radio\" className=\"radio events-none\" name={name} value={value} ref={(el) => {this.$input = el}}/>\n {caption && <span className={`radio-caption${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle}>{caption}</span>}\n </div>);\n }\n}\n","import SearchBoard from './SearchBoard.js';\n\nexport default SearchBoard;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport DB from './../DB';\n\nexport default class SearchBoard extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n dbKey: PropTypes.string, // 存储到db中的key\n show: PropTypes.bool,\n showValidTags: PropTypes.bool, // 如果没有历史记录是否隐藏面板\n onClick: PropTypes.func,\n onClear: PropTypes.func,\n expandCaption: PropTypes.string, // 扩展标题\n expandTags: PropTypes.array, // 扩展标签, 格式: {value: 'xx'}\n onClickExpand: PropTypes.func,\n children: PropTypes.node\n }\n static defaultProps = {\n show: true,\n showValidTags: true,\n className: 'border-b',\n dbKey: 'app_search_history'\n }\n constructor(props, context) {\n super(props, context);\n // 初始化标签\n this.state = {\n tags: DB.getStore(this.props.dbKey) || []\n }\n }\n // 清空历史记录\n onClear = () => {\n DB.removeStore(this.props.dbKey);\n this.setState({\n tags: []\n });\n if (this.props.onClear) this.props.onClear();\n }\n // 新增历史记录\n add = (item) => {\n if (!item.value) return;\n var tags = DB.getStore(this.props.dbKey) || [];\n // 删除重复项\n for (var i in tags) {\n if (tags[i].value === item.value) {\n tags.splice(i, 1);\n break;\n }\n }\n // 添加到第一项\n tags.unshift(item);\n DB.setStore(this.props.dbKey, tags);\n this.setState({\n tags: tags\n });\n }\n render() {\n const {tags} = this.state;\n const {style, className, show, expandCaption, expandTags, onClick, onClickExpand, children} = this.props;\n let isHide = false;\n if (this.props.showValidTags && tags.length === 0) {\n isHide = true;\n }\n let DOM = null;\n if (!isHide) {\n DOM = (<div className={`searchboard ${className ? ' ' + className : ''}${show ? '' : ' hide'}`} style={style}>\n {/* 历史标签 */}\n {tags.length > 0\n && <div className=\"searchboard-caption\">\n <div className=\"searchboard-caption-title\">搜索历史</div>\n <div className=\"searchboard-caption-ricon\" onClick={this.onClear}>\n <i className=\"searchboard-icon-trash\"></i>\n <span>清除</span>\n </div>\n </div>}\n {tags.map((item, index) => <div className=\"searchboard-tag\" onClick={() => {if (onClick) onClick(item, index)}} key={index}>{item.value}</div>)}\n {/* 其它标签 */}\n {expandCaption && <div className=\"searchboard-caption\">\n <div className=\"searchboard-caption-title\">{expandCaption}</div>\n </div>}\n {expandTags && expandTags.map((item, index) => <div className=\"searchboard-tag\" onClick={() => {if (onClickExpand) onClickExpand(item, index);}} key={index}>{item.value}</div>)}\n {/* 自定义 */}\n {children}\n </div>);\n }\n return DOM;\n }\n}\n","import Stencil from './Stencil.js';\n\nexport default Stencil;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\n\nexport default class Stencil extends Component {\n static propTypes = {\n className: PropTypes.string,\n style: PropTypes.object\n }\n static defaultProps = {\n className: 'stencil-list'\n }\n constructor(props) {\n super(props);\n }\n render() {\n const {className, ...others} = this.props;\n return createPortal(\n <div ref={el => {this.$el = el;}} className={`stencil${className ? ' ' + className : ''}`} {...others}>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","import Sticker from './Sticker.js';\n\nexport default Sticker;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Peg extends Component {\n static propTypes = {\n type: PropTypes.string, // line\n iconClassName: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n children: PropTypes.node\n }\n static defaultProps = {\n className: 'top right'\n }\n constructor(props) {\n super(props);\n }\n render() {\n const {type, iconClassName, className, style, children} = this.props;\n let newClassName = '';\n switch (type) {\n case 'line':\n newClassName = 'sticker-line';\n break;\n default:\n newClassName = 'sticker';\n }\n return (\n <span ref={el => {this.$el = el;}} className={`${newClassName}${iconClassName ? ' sticker-icon' : ''}${className ? ' ' + className: ''}`} style={style}>\n {iconClassName && <span class={`size12 ${iconClassName}`}></span>}\n {children && <span>{children}</span>}\n </span>\n );\n }\n}\n","import Ticket from './Ticket.js';\n\nexport default Ticket;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Ticket extends Component {\n static propTypes = {\n className: PropTypes.string,\n legendStyle: PropTypes.object,\n legendClassName: PropTypes.string,\n legend: PropTypes.node,\n containerStyle: PropTypes.object,\n containerClassName: PropTypes.string,\n children: PropTypes.node\n }\n constructor(props) {\n super(props);\n }\n\n render() {\n const {\n className,\n legend, legendStyle, legendClassName,\n children, containerStyle, containerClassName,\n ...others\n } = this.props;\n return (\n <div className={'ticket' + (className ? ' ' + className : '')} {...others}>\n <div className={'ticket-legend' + (legendClassName ? ' ' + legendClassName : '')} style={legendStyle}>\n {legend}\n </div>\n <div className={'ticket-container' + (containerClassName ? ' ' + containerClassName : '')} style={containerStyle}>\n {children}\n </div>\n </div>\n );\n }\n}\n","import Timeline from './Timeline.js';\n\nexport default Timeline;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Dot from './../Dot';\n\nexport default class Timeline extends Component {\n static propTypes = {\n list: PropTypes.array, // [{content: node,icon: node(默认Dot), active: bool, children: node}]\n className: PropTypes.string,\n style: PropTypes.object,\n\n lineParams: PropTypes.object,\n\n badgeParams: PropTypes.object,\n\n dotParams: PropTypes.object\n }\n static defaultProps = {\n lineParams: {},\n badgeParams: {},\n dotParams: {\n className: ''\n }\n }\n constructor(props) {\n super(props);\n }\n render() {\n const {\n list, className, style,\n lineParams,\n badgeParams,\n dotParams,\n ...others\n } = this.props;\n if (!list) return null;\n const listDOM = list.map((item, index) => {\n return (\n <div key={index} className={'timeline-case' + (item.active ? ' active' : '')}>\n <div {...badgeParams} className={`timeline-badge${badgeParams.className ? ' ' + badgeParams.className : ''}`}>\n {item.icon || <Dot {...dotParams} className={item.active ? 'active ' + dotParams.className : dotParams.className}/>}\n </div>\n {item.content}\n {item.children}\n </div>\n );\n });\n return (\n <div className={`timeline${className ? ' ' + className : ''}`} style={style} {...others}>\n <span {...lineParams} className={`timeline-line${lineParams.className ? ' ' + lineParams.className : ''}`}></span>\n {listDOM}\n </div>\n );\n }\n}\n","// Timepart 时间段\nvar Timepart = function (container, params) {\n /* -----------------------\n Model\n ----------------------- */\n var defaults = {\n rowClass: 'timepart-row',\n progressClass: 'timepart-progress',\n progressLegendClass: 'progress-legend',\n dataProgressAttr: 'data',\n partClass: 'timepart-part',\n partStartClass: 'timepart-startTime',\n partEndClass: 'timepart-endTime',\n\n colCount: 6, // 一行6格\n partMinute: 30, // 一格的30分钟\n startTime: '7:00',\n endTime: '22:00',\n\n colAttr: 'data-col',\n\n isEnableActive: true // 是否启用点击选中\n\n /*\n Callbacks:\n onContain:function(Timepart) // 包含\n onCross:function(Timepart) // 相交\n onClick:function(Timepart)\n onClickPart: function (Timepart) // 点击Part\n onClickProgress:function(Timepart) // 点击Progress\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n // Params\n s.params = params\n // Container\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n // 设置Container的data-col\n s.container.setAttribute(s.params.colAttr, s.params.colCount)\n\n if (!s.container) {\n console.log('SeedsUI Error:未找到Timepart的DOM对象,请检查传入参数是否正确')\n return\n }\n // 点击次数\n s.clickCount = 0\n\n var partMilliSecond = s.params.partMinute * 60 * 1000\n // 行\n s.rows = []\n s.rowsCount = 0\n var rowMilliSecond = partMilliSecond * s.params.colCount\n\n // 字符串转换成Date对象,参数格式如8:00\n s.parseDate = function (timeStr) {\n var date = new Date()\n var hour = timeStr.split(':')[0]\n var minute = timeStr.split(':')[1]\n date.setYear(0)\n date.setMonth(0, 0)\n date.setHours(hour)\n date.setMinutes(minute)\n date.setSeconds(0, 0)\n return date\n }\n\n // 总格数\n s.partsCount = 0\n s.updateParsCount = function () {\n var startTime = s.parseDate(s.params.startTime)\n var endTime = s.parseDate(s.params.endTime)\n s.partsCount = (endTime.getTime() - startTime.getTime()) / partMilliSecond\n if (Math.ceil(s.partsCount) !== s.partsCount) { // 是否是整数\n s.partsCount = 0\n console.log('SeedsUI Error:时间区间参数partMinute不正确,不能整除')\n return\n }\n return s.partsCount\n }\n // 总行数\n s.updateRowsCount = function () {\n if (s.partsCount === 0) s.updateParsCount()\n s.rowsCount = Math.ceil(s.partsCount / s.params.colCount)\n return s.rowsCount\n }\n // 创建时间段\n s.createParts = function () {\n // 总行数s.rowsCount\n s.updateRowsCount()\n // 总时长\n var allStartTime = s.parseDate(s.params.startTime)\n var allEndTime = s.parseDate(s.params.endTime)\n // 总格数\n s.parts = []\n // 总行数\n s.rows = []\n // 创建行\n for (var i = 0; i < s.rowsCount; i++) {\n var rowStartTime = allStartTime.getTime() + (rowMilliSecond * i)\n var rowEndTime = rowStartTime + rowMilliSecond\n if (rowEndTime > allEndTime.getTime()) rowEndTime = allEndTime.getTime()\n\n var row = document.createElement('div')\n row.setAttribute('class', s.params.rowClass)\n row.startTime = new Date(rowStartTime)\n row.endTime = new Date(rowEndTime)\n\n s.rows.push(row)\n s.container.appendChild(row)\n\n // 创建列\n for (var j = 0; j < s.params.colCount; j++) {\n var partStartTime = rowStartTime + (partMilliSecond * j)\n var partEndTime = partStartTime + partMilliSecond\n if (partStartTime > allEndTime.getTime() || partEndTime > allEndTime.getTime()) return\n\n var part = document.createElement('label')\n part.setAttribute('class', s.params.partClass)\n part.startTime = new Date(partStartTime)\n part.endTime = new Date(partEndTime)\n\n var startHour = part.startTime.getHours() < 10 ? '0' + part.startTime.getHours() : part.startTime.getHours()\n var startMinute = part.startTime.getMinutes() < 10 ? '0' + part.startTime.getMinutes() : part.startTime.getMinutes()\n var endHour = part.endTime.getHours() < 10 ? '0' + part.endTime.getHours() : part.endTime.getHours()\n var endMinute = part.endTime.getMinutes() < 10 ? '0' + part.endTime.getMinutes() : part.endTime.getMinutes()\n part.innerHTML = '<span class=' + s.params.partStartClass + '>' + startHour + ':' + startMinute + '</span>' +\n '<span class=' + s.params.partEndClass + '>' + endHour + ':' + endMinute + '</span>'\n s.parts.push(part)\n row.appendChild(part)\n }\n }\n }\n s.createParts()\n\n /* -----------------------\n Method\n ----------------------- */\n s.update = function () {\n // 清空容器\n s.container.innerHTML = ''\n // 重新绘制时间段\n s.createParts()\n }\n // 获取选中的时间段\n s.getTimes = function () {\n var progress = s.container.querySelectorAll('.' + s.params.progressLegendClass)\n var times = []\n for (var i = 0, el; el = progress[i++];) { // eslint-disable-line\n times.push({\n className: el.className.replace(' ' + s.params.progressLegendClass, '').replace(s.params.progressClass + ' ', ''),\n startTime: el.startTime,\n endTime: el.endTime,\n data: el.getAttribute(s.params.dataProgressAttr) || ''\n })\n }\n return times\n }\n // 获得进度条的开始行数、结束行数、开始位置、结束位置、开始段数、结束段数\n s.getTimesRange = function (startTime, endTime) {\n var allStartTime = s.parseDate(s.params.startTime)\n // 开始结束位置总比例\n var startRatio = ((startTime.getTime() - allStartTime.getTime()) / rowMilliSecond).toString()\n var endRatio = ((endTime.getTime() - allStartTime.getTime()) / rowMilliSecond).toString()\n /*\n *行数:开始结束位置行数\n */\n var startRow = Math.floor(startRatio)\n var endRow = Math.floor(endRatio)\n /*\n *左右:开始结束行左右值\n */\n var left = Math.round(startRatio.replace(/\\d+\\./, '0.') * 100)\n var right = Math.round(100 - endRatio.replace(/\\d+\\./, '0.') * 100)\n\n /*\n *段数:开始结束段数字\n */\n var startNum = Math.floor(startRatio * s.params.colCount)\n var endNum = Math.floor(endRatio * s.params.colCount) - 1// 半格的情况,则此格为正常状态,所以-1\n /*\n *整比例\n */\n // 结束比例为整数时得减1\n if (endRatio % 1 === 0) {\n endRow--\n right = 0\n }\n // 结束时间是一格的倍数得减1\n /*\n if(endTime.getMinutes()%s.params.partMinute===0){\n endNum++\n }\n */\n // 如果开始位置在最左边,则左边间距为0\n if (startRatio % 1 === 0) {\n left = 0\n }\n\n return {\n startRatio: startRatio,\n endRatio: endRatio,\n\n startRow: startRow,\n endRow: endRow,\n\n left: left,\n right: right,\n\n startNum: startNum,\n endNum: endNum\n }\n }\n s.hasProgress = function (startTime, endTime) {\n var progress = s.container.querySelectorAll('.' + s.params.progressClass)\n for (var i = 0, pro; pro = progress[i++];) { // eslint-disable-line\n // 相交\n if ((startTime > pro.startTime && startTime < pro.endTime) || (endTime > pro.startTime && endTime < pro.endTime)) {\n s.target = pro\n if (s.params.onCross) s.params.onCross(s)\n return true\n }\n // 包含\n if ((pro.startTime > startTime && pro.startTime < endTime) || (pro.endTime > startTime && pro.endTime < endTime)) {\n s.target = pro\n if (s.params.onContain) s.params.onContain(s)\n return true\n }\n }\n return false\n }\n // 进度条id\n var progressId = 0\n // 设置进度条\n s.addProgress = function (argStartTime, argEndTime, className, data, cover) {\n var allStartTime = s.parseDate(s.params.startTime)\n var allEndTime = s.parseDate(s.params.endTime)\n var startTime = Object.prototype.toString.call(argStartTime) === '[object Date]' ? argStartTime : s.parseDate(argStartTime || s.params.startTime)\n var endTime = Object.prototype.toString.call(argEndTime) === '[object Date]' ? argEndTime : s.parseDate(argEndTime || s.params.endTime)\n startTime.setYear(0)\n startTime.setMonth(0, 0)\n startTime.setSeconds(0, 0)\n\n endTime.setYear(0)\n endTime.setMonth(0, 0)\n endTime.setSeconds(0, 0)\n\n // 时间范围限制\n if (startTime.getTime() < allStartTime.getTime()) {\n startTime = allStartTime\n } else if (startTime.getTime() > allEndTime.getTime()) {\n startTime = allEndTime\n }\n if (endTime.getTime() < allStartTime.getTime()) {\n endTime = allStartTime\n } else if (endTime.getTime() > allEndTime.getTime()) {\n endTime = allEndTime\n }\n // 如果开启冲突监听,并且存在冲突,则停止进度条绘制\n if (!cover && s.hasProgress(startTime, endTime)) return false\n\n var range = s.getTimesRange(startTime, endTime)\n\n // 设置parts的class\n /*\n for(var i = range.startNum; i <= range.endNum; i++){\n s.parts[i].setAttribute('class', s.params.partClass + ' ' + className)\n }\n */\n\n // 设置progress的left和right\n progressId++\n for (var j = range.startRow; j <= range.endRow; j++) {\n var progress = document.createElement('div')\n // 设置class\n progress.setAttribute('class', s.params.progressClass + ' ' + className)\n\n // 设置style\n progress.style.display = 'block'\n progress.style.left = 0\n progress.style.right = 0\n\n // 设置data\n if (data) progress.setAttribute(s.params.dataProgressAttr, data)\n\n // 设置id\n progress.setAttribute('data-id', progressId)\n\n // 设置时间\n progress.startTime = startTime\n progress.endTime = endTime\n\n if (j === range.startRow) {\n progress.style.left = range.left + '%'\n progress.classList.add(s.params.progressLegendClass)\n // progress.setAttribute('data-starttime', startTime)\n // progress.setAttribute('data-endtime', endTime)\n }\n if (j === range.endRow) {\n progress.style.right = range.right + '%'\n }\n\n s.rows[j].appendChild(progress)\n }\n return true\n }\n\n // 删除进度条\n s.removeProgress = function (className) {\n // 清空parts\n for (var i = 0, part; part = s.parts[i++];) { // eslint-disable-line\n part.classList.remove(className)\n }\n // 清空progress\n var activeProgress = s.container.querySelectorAll('.' + s.params.progressClass + '.' + className)\n Array.prototype.slice.call(activeProgress).forEach(function (n, i) {\n n.parentNode.removeChild(n)\n })\n }\n // 时间排序\n s.sortTimes = function () {\n var args = [].slice.call(arguments)\n return args.sort(function (x, y) {\n if (x < y) return -1\n if (x > y) return 1\n return 0\n })\n }\n // 根据段获得时间\n s.getTimesByParts = function (part1, part2) {\n var times = s.sortTimes(part1.startTime, part1.endTime, part2.startTime, part2.endTime)\n return {\n startTime: times[0],\n endTime: times[times.length - 1]\n }\n }\n /* -----------------------\n Events\n ----------------------- */\n s.events = function (detach) {\n var target = s.container\n var action = detach ? 'removeEventListener' : 'addEventListener'\n target[action]('click', s.onClickContainer, false)\n }\n // attach、dettach事件\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n /* -----------------------\n Events Handler\n ----------------------- */\n s.onClickContainer = function (e) {\n s.target = e.target\n // Callback onClick\n if (s.params.onClick) s.params.onClick(s)\n // Callback onClickPart\n if (e.target.classList.contains(s.params.partClass)) {\n if (s.params.onClickPart) s.params.onClickPart(s)\n }\n // Callback onClickProgress\n if (e.target.classList.contains(s.params.progressClass)) {\n if (s.params.onClickProgress) s.params.onClickProgress(s)\n }\n }\n /* -----------------------\n Init\n ----------------------- */\n s.init = function () {\n s.attach()\n }\n s.init()\n}\n\nexport default Timepart\n","import Timepart from './Timepart.js';\n\nexport default Timepart;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class Timepart extends Component {\n static propTypes = {\n multiple: PropTypes.bool, // 是否支持多选\n className: PropTypes.string,\n style: PropTypes.object,\n\n startTime: PropTypes.string,\n endTime: PropTypes.string,\n times: PropTypes.array, // [{className: string, startTime: 'hh:ss', endTime: 'hh:ss', data: string, cover: bool}]\n\n onChange: PropTypes.func, // onChange(times)\n onError: PropTypes.func\n }\n static defaultProps = {\n startTime: '07:00',\n endTime: '22:00'\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate (prevProps) {\n if (this.props.times && prevProps.times.length !== this.props.times.length) {\n this.update();\n }\n }\n componentDidMount () {\n var clickCount = 0;\n var instance = new Instance(this.$el, {\n startTime: this.props.startTime,\n endTime: this.props.endTime,\n onClickPart: (s) => {\n if (s.target.classList.contains('active')) {\n s.target.classList.remove('active');\n clickCount = 0;\n // onChange\n this.onChange();\n return;\n }\n // 如果不允许多选,发现有已选中的先清除\n if (!this.props.multiple) {\n if (s.container.querySelectorAll('.progress-legend.active').length) {\n s.removeProgress('active');\n clickCount = 0;\n // onChange\n this.onChange();\n return;\n }\n }\n // 选中\n clickCount++;\n if (clickCount === 1) { // 如果点击了一次\n this.part1 = s.target;\n this.part1.classList.add('active');\n // onChange\n this.onChange();\n } else if (clickCount === 2) { // 如果点击了两次\n this.part1.classList.remove('active');\n this.part2 = s.target;\n var times = s.getTimesByParts(this.part1, this.part2);\n s.addProgress(times.startTime, times.endTime, 'active');\n clickCount = 0;\n // onChange\n this.onChange();\n }\n },\n onContain: (e) => {\n clickCount = 0;\n if (this.props.onError) this.props.onError({msg: '已包含其它时间段'});\n },\n onCross: (e) => {\n if (this.props.onError) this.props.onError({msg: '与其它时间段相交'});\n },\n onClickProgress: (s) => {\n if (s.target.classList.contains('active')) {\n // 根据data-id删除\n const id = s.target.getAttribute('data-id');\n [].slice.call(s.container.querySelectorAll(`.timepart-progress[data-id=\"${id}\"]`)).forEach((el) => {\n el.parentNode.removeChild(el);\n });\n // onChange\n this.onChange();\n }\n },\n onClickWhite: (s) => {\n }\n });\n this.instance = instance;\n this.update();\n }\n update = () => {\n if (!this.props.times) return;\n for (let i = 0, time; time = this.props.times[i++];) { // eslint-disable-line\n if (time.className && time.startTime && time.endTime) {\n this.instance.addProgress(time.startTime, time.endTime, time.className, time.data || null, time.cover || false);\n }\n }\n // onChange\n this.onChange();\n }\n onChange = () => {\n const times = this.instance.getTimes();\n const part = this.instance.container.querySelector('.timepart-part.active');\n if (part) {\n times.push({\n className: part.className.replace('timepart-part ', ''),\n startTime: part.startTime,\n endTime: part.endTime,\n data: part.getAttribute('data') || ''\n })\n }\n if (this.props.onChange) this.props.onChange(times);\n }\n render() {\n const {className, style} = this.props;\n return (\n <div ref={el => {this.$el = el;}} className={`timepart${className ? ' ' + className: ''}`} style={style}>\n </div>\n );\n }\n}\n","import Titlebar from './Titlebar.js';\n\nexport default Titlebar;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Device from './../Device';\nimport Bridge from './../Bridge';\n\nexport default class Titlebar extends Component {\n static propTypes = {\n className: PropTypes.string,\n \n showUrlTitle: PropTypes.bool, // 标题是否显示url中的titlebar\n caption: PropTypes.node,\n // 以下三个属性, 只有caption为string类型或者显示地址栏标题时才有用\n captionClassName: PropTypes.string,\n captionStyle: PropTypes.object,\n onClickCaption: PropTypes.func,\n\n lButtons: PropTypes.array, // [{className: string, style: object, iconClassName: string, icon: node, caption: string}]\n rButtons: PropTypes.array,\n backClassName: PropTypes.string,\n backStyle: PropTypes.object,\n backIcon: PropTypes.node,\n backIconClassName: PropTypes.string,\n backIconStyle: PropTypes.object,\n backCaption: PropTypes.string,\n onClickBack: PropTypes.func,\n children: PropTypes.node\n }\n static defaultProps = {\n showUrlTitle: true,\n lButtons: ['$back'],\n className: 'border-b',\n backIconClassName: 'shape-arrow-left'\n }\n constructor(props) {\n super(props);\n this.state = {}\n }\n onClickBack = () => {\n const {onClickBack} = this.props;\n // 如果有onClickBack的props,则优先执行props的方法\n if (onClickBack) {\n onClickBack();\n return;\n }\n // 否则走默认的返回\n Bridge.back();\n }\n getButtonsDOM = (arr) => {\n return arr.map((item, index) => {\n if (item === '$back') {\n item = {\n className: this.props.backClassName || null,\n style: this.props.backStyle || null,\n icon: this.props.backIcon || null,\n iconClassName: this.props.backIconClassName || null,\n iconStyle: this.props.backIconStyle || {},\n caption: this.props.backCaption || null,\n onClick: this.onClickBack\n };\n }\n return (\n <a key={index} disabled={item.disabled} onClick={(e) => {if (item.onClick) item.onClick(Object.getArgs(e, item.args));}} className={`titlebar-button button${item.className ? ' ' + item.className : ' bar'}`} style={item.style}>\n {(item.iconSrc || item.iconClassName) && <span className={`icon${item.iconClassName ? ' ' + item.iconClassName : ''}`} style={Object.assign(item.iconSrc ? {backgroundImage: `url(${item.iconSrc})`} : {}, item.iconStyle)}></span>}\n {item.icon && item.icon}\n {item.caption && <span>{item.caption}</span>}\n </a>\n );\n });\n }\n render() {\n let {\n className,\n showUrlTitle,\n caption, captionClassName, captionStyle, children, onClickCaption,\n lButtons, rButtons, backIconClassName, backIconStyle, backClassName, backStyle, backCaption, onClickBack, ...others\n } = this.props;\n let lButtonsDOM = null;\n if (Array.isArray(lButtons)) {\n lButtonsDOM = this.getButtonsDOM(lButtons);\n }\n let rButtonsDOM = null;\n if (Array.isArray(rButtons)) {\n rButtonsDOM = this.getButtonsDOM(rButtons);\n }\n // 设置显示标题\n let title = Device.getUrlParameter('titlebar', location.search);\n if (showUrlTitle && title) {\n caption = <h1 className={`titlebar-caption nowrap text-center${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle} onClick={onClickCaption}>{decodeURIComponent(decodeURIComponent(title))}</h1>;\n } else if (typeof caption === 'string') {\n caption = <h1 className={`titlebar-caption nowrap text-center${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle} onClick={onClickCaption}>{caption}</h1>\n }\n return (\n <div className={`titlebar${className ? ' ' + className : ''}`} {...others}>\n <div className=\"titlebar-left\">\n {lButtonsDOM}\n </div>\n {caption}\n {children}\n <div className=\"titlebar-right\">\n {rButtonsDOM}\n </div>\n </div>\n );\n }\n}\n","import Toast from './Toast.js';\n\nexport default Toast;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {createPortal} from 'react-dom';\n\nexport default class Toast extends Component {\n static propTypes = {\n portal: PropTypes.object,\n \n show: PropTypes.bool,\n\n duration: PropTypes.number,\n\n maskClassName: PropTypes.string,\n maskStyle: PropTypes.object,\n\n className: PropTypes.string,\n style: PropTypes.object,\n\n caption: PropTypes.node,\n captionStyle: PropTypes.object,\n captionClassName: PropTypes.string,\n\n icon: PropTypes.node\n }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n componentDidMount = () => {\n }\n render() {\n const {\n portal,\n show,\n duration,\n maskClassName, maskStyle,\n className, style,\n icon,\n caption, captionStyle, captionClassName,\n ...others\n } = this.props;\n return createPortal(\n <div ref={(el) => {this.$el = el}} className={`mask toast-mask${maskClassName ? ' ' + maskClassName : ''}${show ? ' active' : ''}`} style={Object.assign(duration !== undefined ? {WebkitTransitionDuration: duration + 'ms'} : {}, maskStyle)} {...others}>\n <div className={`toast${className ? ' ' + className : ''}${show ? ' active' : ''}`} style={Object.assign(duration !== undefined ? {WebkitTransitionDuration: duration + 'ms'} : {}, style)}>\n <div className=\"toast-wrapper\">\n {icon}\n {caption && <span className={`toast-caption${captionClassName ? ' ' + captionClassName : ''}`} style={captionStyle}>{caption}</span>}\n </div>\n </div>\n </div>,\n this.props.portal || document.getElementById('root')\n );\n }\n}\n","// Tree 树结构 (require PrototypeArray.js)\nvar Tree = function (container, params) {\n function getElementByParent (parent, selector) {\n return (typeof selector === 'string' && selector !== '') ? parent.querySelector(selector) : selector\n }\n /* ------------------\n Model\n ------------------ */\n var defaults = {\n // DATA\n data: null, // [{id: '', name: '', parentid: ''}]\n // DOM\n multiple: true, // 是否需要多选\n checkbox: false, // 是否可选\n bar: null,\n barOptionClass: 'tree-bar-button',\n barButtonDelClass: 'tree-bar-button-del',\n\n extendClass: 'extend',\n activeClass: 'active',\n\n treeClass: 'tree',\n lineClass: 'tree-line', // 行\n titleClass: 'tree-title', // 标题\n arrowClass: 'tree-icon-arrow',\n iconClass: 'tree-icon', // 左侧图标\n\n buttonAddHTML: '',\n buttonAddClass: 'tree-button-add',\n buttonAddSrc: '',\n buttonDelHTML: '',\n buttonDelClass: 'tree-button-del',\n buttonDelSrc: '',\n\n idAttr: 'data-id',\n parentidAttr: 'data-parentid',\n nameAttr: 'data-name',\n\n /*\n callbacks\n onClick:function(Tree)\n onClickLastChild:function(Tree)\n onClickAdd: function(option)\n onClickDel: function(option)\n onData:function(option)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // Tree\n var s = this\n\n // Params\n s.params = params\n\n // Container\n s.container = getElementByParent(document, container)\n if (!s.container) {\n console.log('SeedsUI Error:未找到Tree的DOM对象,请检查传入参数是否正确')\n return\n }\n\n // Bar\n s.updateBar = function () {\n if (s.params.bar) {\n s.bar = getElementByParent(document, s.params.bar)\n if (!s.bar) {\n console.log('SeedsUI Error:未找到Bar的DOM对象,请检查传入参数是否正确')\n return\n }\n }\n }\n s.updateBar()\n s.setBar = function (bar) {\n s.params.bar = bar\n }\n\n // Selected\n s.selected = {}\n var _data = s.params.data\n s.buildOption = function (option) {\n // 拷贝option,方便传入回调中而不影响原option\n var copyOption = Object.create(option)\n // line的data-xxx属性html\n var lineDataHTML = ''\n for (var n in option) {\n lineDataHTML += 'data-' + n + '=\"' + option[n] + '\" '\n }\n\n // tree-icon和tree-title的html\n copyOption.html = '<div class=\"' + s.params.iconClass + '\">' +\n '<i class=\"' + s.params.arrowClass + '\"></i>' +\n '</div>' +\n '<div class=\"' + s.params.titleClass + '\">' + option.name + '</div>'\n // Callback onData\n if (s.params.onData) s.params.onData(copyOption)\n\n var li = document.createElement('li')\n\n // tree-btnadd\n var btnHTML = ''\n var addBtnHTML = ''\n var delBtnHTML = ''\n if (s.params.checkbox) {\n // if (!s.selected[option.id]) {\n // 添加按钮\n if (s.params.buttonAddHTML) {\n addBtnHTML = s.params.buttonAddHTML\n } else if (s.params.buttonAddSrc) {\n addBtnHTML = '<span class=\"' + s.params.buttonAddClass + '\" style=\"background-image:url(' + s.params.buttonAddSrc + ')\"></span>'\n } else {\n addBtnHTML = '<span class=\"' + s.params.buttonAddClass + '\"></span>'\n }\n // 删除按钮\n if (s.params.buttonDelHTML) {\n delBtnHTML = s.params.buttonDelHTML\n } else if (s.params.buttonDelSrc) {\n delBtnHTML = '<span class=\"' + s.params.buttonDelClass + '\" style=\"background-image:url(' + s.params.buttonDelSrc + ')\"></span>'\n } else {\n delBtnHTML = '<span class=\"' + s.params.buttonDelClass + '\"></span>'\n }\n // 如果html没有添加和删除样式,则默认增加添加和删除样式,用于后续的点击操作识别\n if (addBtnHTML && !addBtnHTML.hasClass(s.params.buttonAddClass)) addBtnHTML.addClass(s.params.buttonAddClass)\n if (delBtnHTML && !delBtnHTML.hasClass(s.params.buttonDelClass)) delBtnHTML.addClass(s.params.buttonDelClass)\n // 合成html\n btnHTML = addBtnHTML + delBtnHTML;\n // }\n }\n\n // 父级和当前都被选中,则移除当前选中项\n if (s.isSelected(option.id, option.parentid) === 2) {\n s.removeSelected(option.id)\n }\n\n // 生成完整的html\n var html = '<div class=\"' + s.params.lineClass + '\" ' + lineDataHTML + '>' + copyOption.html + btnHTML + '</div>'\n if (s.selected[option.id]) {\n html = '<div class=\"' + s.params.lineClass + ' ' + s.params.activeClass + '\" ' + lineDataHTML + '>' + copyOption.html + btnHTML + '</div>'\n }\n li.innerHTML = html\n \n return li\n }\n s.initData = function (id, ulContainer) { // 指定的部门id,根节点为-1\n var children = _data.getFlattenTreeChildren(id)\n if (children && children.length) { // 子节点\n for (var i = 0, option; option = children[i++];) { // eslint-disable-line\n var li = s.buildOption(option)\n // 在li项里再增加一个ul用于承载子节点\n var ul = document.createElement('ul')\n li.appendChild(ul)\n // 把li项放入容器\n ulContainer.appendChild(li)\n s.initData(option.id, ul)\n }\n }\n }\n s.update = function () {\n s.container.innerHTML = ''\n if (!s.params.data || !s.params.data.length) {\n console.log('SeedsUI Warn:未找到Tree的Data数据,可在初始化时传入data参数,或者通过setData方法设置数据')\n return\n }\n if (!s.params.data[0].id || !s.params.data[0].parentid || !s.params.data[0].name) {\n console.log('SeedsUI Error:Tree的Data数据格式不正确,请检查data参数是否有id、name、parentid属性')\n return\n }\n s.updateBar()\n s.initData(-1, s.container) // 根节点\n // var trees = _data.getFlattenTreeRoots()\n // console.log(trees)\n // for (var i = 0, tree; tree = trees[i++];) { // eslint-disable-line\n // s.initData(tree.id, s.container)\n // }\n }\n // s.update()\n /* ------------------\n Method\n ------------------ */\n s.setData = function (data) {\n _data = s.params.data = data\n }\n // 添加数据\n s.addData = function (data, id, childNode) {\n _data = data\n s.initData(id, childNode)\n }\n // 获得数据\n s.getDataByTarget = function (target) {\n var opts = {}\n for (var i = 0, att; att = target.attributes[i++];) { // eslint-disable-line\n if (att.nodeName.indexOf('data-') !== -1) {\n opts[att.nodeName.substring(5)] = att.nodeValue\n }\n }\n return opts\n }\n // 获得所有父节点\n s.getParentOptions = function (parentid) {\n var parentOptions = []\n var currentId = parentid\n while (currentId !== '-1') { // 提取所有父级节点\n for (var i = 0, opt; opt = s.params.data[i++];) { // eslint-disable-line\n if (opt.id === currentId) {\n parentOptions.push(opt)\n currentId = opt.parentid\n break;\n }\n }\n }\n return parentOptions\n }\n // 当前被选中返回1,父级被选中返回-1,当前和父级都被选中返回2,没有被选中返回0\n s.isSelected = function (id, parentid) {\n var currentFlag = false\n var parentFlag = false\n // 判断当前和父级是否被选中\n if (s.selected[id]) {\n currentFlag = true\n }\n if (s.selected[parentid]) {\n parentFlag = true\n }\n\n // 判断树中是否存在此节点,比较id和parentid\n var hasNode = false\n if (!s.params.data || !s.params.data.length) return 0\n for (var i = 0, opt; opt = s.params.data[i++];) { // eslint-disable-line\n if (opt.id === id && opt.parentid === parentid) {\n hasNode = true\n break\n }\n }\n if (!hasNode) return 0\n\n // 向上查询是否已添加到选中项,一直查到顶级\n var parentNodes = s.getParentOptions(parentid)\n for (var i = 0, opt; opt = parentNodes[i++];) { // eslint-disable-line\n if (s.selected[opt.id]) {\n parentFlag = true\n break\n }\n }\n\n if (currentFlag && parentFlag) return 2\n if (currentFlag) return 1\n if (parentFlag) return -1\n return 0\n }\n\n // Json是否为空\n s.isEmptyJson = function (json) {\n var temp = ''\n for (var j in json) {\n temp += j\n }\n if (temp === '') return true\n return false\n }\n // 创建选中项\n s.createBarOption = function (id, name, parentid) {\n var div = document.createElement('span')\n div.setAttribute('class', s.params.barOptionClass)\n div.setAttribute(s.params.idAttr, id)\n if (parentid) div.setAttribute(s.params.parentidAttr, parentid)\n div.setAttribute(s.params.nameAttr, name)\n\n var label = document.createElement('label')\n label.innerHTML = name\n\n var del = document.createElement('a')\n del.classList.add(s.params.barButtonDelClass)\n\n div.appendChild(label)\n div.appendChild(del)\n return div\n }\n // 删除选中项\n s.removeSelected = function (id) {\n if (s.selected[id]) {\n // 删除数组\n delete s.selected[id]\n // 删除bar上元素\n if (s.bar) s.bar.removeChild(s.bar.querySelector('[' + s.params.idAttr + '=\"' + id + '\"]'))\n // 清空树上的选中状态\n var node = s.container.querySelector('[' + s.params.idAttr + '=\"' + id + '\"]')\n if (node) node.classList.remove(s.params.activeClass)\n }\n }\n s.removeAllSelected = function () {\n for (var id in s.selected) {\n s.removeSelected(id)\n }\n if (s.bar) s.hideBar()\n }\n s.collapseAll = function () {\n var elements = s.container.querySelectorAll('.' + s.params.extendClass)\n for (var i = 0, el; el = elements[i++];) { // eslint-disable-line\n el.classList.remove(s.params.extendClass)\n }\n }\n s.extendAll = function () {\n var elements = s.container.querySelectorAll('.' + s.params.lineClass)\n for (var i = 0, el; el = elements[i++];) { // eslint-disable-line\n el.classList.add(s.params.extendClass)\n }\n }\n s.addSelected = function (opts) {\n if (!opts.id || !opts.name || !opts.parentid) {\n console.log('SeedsUI Error:id、name、parentid三个参数不正确')\n return\n }\n if (s.selected[opts.id]) {\n console.log('SeedsUI Info:您要选中的节点已经选中')\n return\n }\n \n if (s.isSelected(opts.id, opts.parentid)) {\n console.log('SeedsUI Info:您要选中的节点已经选中')\n return\n }\n\n // 如果禁止多选, 则只先移除所有选中\n if (!s.params.multiple) s.removeAllSelected()\n\n // bar上添加选中\n if (s.bar) {\n var barOption = s.createBarOption(opts.id, opts.name, opts.parentid)\n s.bar.appendChild(barOption)\n s.showBar()\n }\n\n // tree中激活选中\n var treeOption = s.container.querySelector('[' + s.params.idAttr + '=\"' + opts.id + '\"]')\n if (treeOption) treeOption.classList.add(s.params.activeClass)\n\n // s.selected中添加选中\n s.selected[opts.id] = opts\n }\n // 显示选中项\n s.showBar = function () {\n s.bar.classList.add(s.params.activeClass)\n }\n // 隐藏选中项\n s.hideBar = function () {\n s.bar.classList.remove(s.params.activeClass)\n }\n\n s.reset = function () {\n s.removeAllSelected()\n s.collapseAll()\n }\n /* ------------------\n Events\n ------------------ */\n // 绑定事件\n s.isSupportTouch = 'ontouchstart' in window\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n // 点击树,touch兼容pc事件\n if (s.isSupportTouch) {\n s.container[action]('touchstart', s.onTouchStart, false)\n s.container[action]('touchend', s.onTouchEnd, false)\n } else {\n s.container[action]('click', s.onClickTree, false)\n }\n \n // 点击选中容器\n if (s.bar) {\n s.bar[action]('click', s.onClickBar, false)\n }\n }\n // attach、dettach事件\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n /* ------------------\n Event Handler\n ------------------ */\n // Tap\n s.touches = {\n startX: 0,\n startY: 0,\n endX: 0,\n endY: 0,\n diffX: 0,\n diffY: 0,\n }\n s.onTouchStart = function (e) {\n s.touches.startX = e.touches[0].clientX\n s.touches.startY = e.touches[0].clientY\n }\n s.onTouchEnd = function (e) {\n s.touches.endX = e.changedTouches[0].clientX\n s.touches.endY = e.changedTouches[0].clientY\n s.touches.diffX = s.touches.startX - s.touches.endX\n s.touches.diffY = s.touches.startY - s.touches.endY\n // 单击事件\n if (Math.abs(s.touches.diffX) < 6 && Math.abs(s.touches.diffY) < 6) {\n s.onClickTree(e)\n }\n }\n // 点击树\n s.onClickTree = function (e) {\n // 点击树\n s.targetLi = null\n s.targetLine = null\n s.target = e.target\n\n if (s.target.classList.contains(s.params.lineClass)) { // 点击二级\n s.targetLine = s.target\n s.targetLi = s.target.parentNode\n } else if (s.target.classList.contains(s.params.iconClass) ||\n s.target.classList.contains(s.params.titleClass)) { // 点击三级\n s.targetLine = s.target.parentNode\n s.targetLi = s.target.parentNode.parentNode\n }\n if (s.target.classList.contains(s.params.buttonAddClass)) { // 点击添加\n s.onClickBtnAdd(e)\n } else if (s.target.classList.contains(s.params.buttonDelClass)) { // 点击删除\n s.onClickBtnDel(e)\n } else if (s.targetLine) { // 点击其它元素,但s.targetLine存在的情况下\n // 展开与收缩\n s.targetLine.classList.toggle(s.params.extendClass)\n var lines = s.targetLine.nextElementSibling.querySelectorAll('li > .' + s.params.lineClass)\n /* eslint-disable */\n for (var i = 0, line; line = lines[i++];) {\n if (s.selected[line.getAttribute(s.params.idAttr)]) {\n line.classList.add(s.params.activeClass)\n }\n }\n /* eslint-enable */\n\n // Callback onClickLastChild(点击底层)\n if ((!s.targetLine.nextElementSibling || !s.targetLine.nextElementSibling.hasChildNodes()) && s.params.onClickLastChild) s.params.onClickLastChild(s)\n // Callback onClick\n if (s.params.onClick) s.params.onClick(s)\n } else {\n // Callback onClick\n if (s.params.onClick) s.params.onClick(s)\n }\n e.stopPropagation()\n }\n // 点击添加按钮\n s.onClickBtnAdd = function (e) {\n var elLine = e.target.parentNode\n // 删除子级\n var elLines = elLine.parentNode.querySelectorAll('.' + s.params.lineClass)\n /* eslint-disable */\n for (var i = 0, el; el = elLines[i++];) {\n var elId = el.getAttribute(s.params.idAttr)\n s.removeSelected(elId)\n }\n /* eslint-enable */\n // 显示此级\n elLine.classList.add(s.params.activeClass)\n /*\n var id=elLine.getAttribute(s.params.idAttr)\n var name=elLine.getAttribute(s.params.nameAttr)\n var parentid=elLine.getAttribute(s.params.parentidAttr)\n */\n var opts = s.getDataByTarget(elLine)\n // 添加到s.selected\n s.addSelected(opts)\n // Callback onClickAdd\n if (s.params.onClickAdd) s.params.onClickAdd(opts, s)\n }\n // 点击bar\n s.onClickBar = function (e) {\n if (e.target.classList.contains(s.params.barButtonDelClass)) {\n s.onClickBtnDel(e)\n }\n }\n // 点击删除按钮\n s.onClickBtnDel = function (e) {\n s.option = e.target.parentNode\n s.target = e.target\n // 选中选中项\n var id = s.option.getAttribute(s.params.idAttr)\n var opts = s.selected[id]\n s.removeSelected(id)\n // 如果为空,则隐藏选中容器\n if (s.isEmptyJson(s.selected)) {\n if (s.bar) s.hideBar()\n }\n // Callback onClickDel\n if (s.params.onClickDel) s.params.onClickDel(opts, s)\n }\n\n // 主函数\n s.init = function () {\n s.attach()\n }\n s.init()\n}\n\nexport default Tree\n","import Tree from './Tree.js';\n\nexport default Tree;\n","// require PrototypeArray.js\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\n\nexport default class Tree extends Component {\n static propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n treeStyle: PropTypes.object,\n treeClassName: PropTypes.string,\n \n multiple: PropTypes.bool, // 是否需要多选\n checkbox: PropTypes.bool, // 是否可选\n bar: PropTypes.oneOfType([ // 选中栏\n PropTypes.string,\n PropTypes.node\n ]),\n selected: PropTypes.array, // [{id: '', name: '', parentid: ''}]\n list: PropTypes.array, // [{id: '', name: '', parentid: ''}]\n\n buttonAddHTML: PropTypes.string,\n buttonAddClassName: PropTypes.string,\n buttonAddSrc: PropTypes.string,\n onClickAdd: PropTypes.func,\n\n buttonDelHTML: PropTypes.string,\n buttonDelClassName: PropTypes.string,\n buttonDelSrc: PropTypes.string,\n onClickDel: PropTypes.func,\n\n onClickLastChild: PropTypes.func,\n\n onClick: PropTypes.func,\n onData: PropTypes.func\n }\n static defaultProps = {\n multiple: true,\n list: []\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate = (prevProps) => {\n if (JSON.stringify(prevProps.list) !== JSON.stringify(this.props.list)) {\n if (this.props.list && this.props.list.length) {\n const {selected} = this.props;\n var list = Object.clone(this.props.list);\n if (JSON.stringify(list).indexOf('\"children\"') !== -1) {\n list = list.flattenTree()\n }\n // 设置已选中\n if(Array.isArray(selected) && selected.length) {\n for (var opt of selected) {\n this.instance.addSelected(opt)\n }\n }\n // 开始渲染\n this.instance.setData(list);\n this.instance.update();\n } else {\n this.instance.setData([]);\n this.instance.update();\n }\n }\n }\n componentDidMount = () => {\n if (this.instance) return;\n const {\n multiple, checkbox, bar,\n buttonAddHTML, buttonAddClassName, buttonAddSrc, onClickAdd,\n buttonDelHTML, buttonDelClassName, buttonDelSrc, onClickDel,\n onClickLastChild,\n onData\n } = this.props;\n // 更新数据\n var list = Object.clone(this.props.list);\n if (JSON.stringify(list).indexOf('\"children\"') !== -1) {\n list = list.flattenTree()\n }\n const instance = new Instance(this.$tree, {\n data: list,\n multiple,\n checkbox,\n bar,\n buttonAddHTML,\n buttonAddClassName,\n buttonAddSrc,\n onClickAdd,\n buttonDelHTML,\n buttonDelClassName,\n buttonDelSrc,\n onClickDel,\n onClickLastChild, // 没有子节点\n onClick: this.onClick,\n onData: onData\n });\n this.instance = instance;\n // 设置已选中\n const {selected} = this.props;\n if(Array.isArray(selected) && selected.length) {\n for (var opt of selected) {\n this.instance.addSelected(opt)\n }\n }\n this.instance.update();\n }\n onClick = (s) => {\n const {selected} = this.props;\n var list = Object.clone(this.props.list);\n if (JSON.stringify(list).indexOf('\"children\"') !== -1) {\n list = list.flattenTree()\n }\n // item\n const id = s.targetLine.getAttribute('data-id');\n let item = list.getFlattenTreeNode(id);\n // isActived\n let isActived = selected ? selected.filter((option) => {\n if (option.id === id) return true;\n return false;\n }) : null;\n if (isActived && isActived.length > 0) {\n isActived = true;\n } else {\n isActived = false;\n }\n // childrenCount\n let childrenCount = 0;\n const ul = s.targetLine.nextElementSibling;\n if (ul && ul.tagName === 'UL') {\n childrenCount = ul.children.length;\n }\n // isExtend\n const isExtend = s.targetLine.classList.contains('extend');\n \n \n if (this.props.onClick) this.props.onClick(s, item, isActived, isExtend, childrenCount);\n }\n render() {\n const {style, className, treeStyle, treeClassName} = this.props;\n return (\n <div ref={(el) => {this.$el = el}} className={`tree-box${className ? ' ' + className : ''}`} style={style}>\n <ul ref={(el) => {this.$tree = el}} className={`tree${treeClassName ? ' ' + treeClassName : ''}`} style={treeStyle}></ul>\n </div>\n );\n }\n}\n","// Ajax\nvar Ajax = {\n xhr: function (config) {\n var xhr = new window.XMLHttpRequest()\n var url = config.url\n var data = config.data || {}\n var success = config.success\n var error = config.error\n var params = Object.params(data)\n var type = config.type || 'GET'\n var contentType = config.contentType\n var token = config.token\n var extra = config.extra\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n var res = JSON.parse(xhr.responseText)\n success(res, extra)\n } else {\n error && error()\n }\n }\n }\n // 鉴权\n if (token) xhr.setRequestHeader('Authorization', token)\n // post | get\n if (type === 'POST') {\n xhr.open(type, url, true)\n xhr.setRequestHeader('Content-type', contentType || 'application/json')\n if (contentType === 'application/x-www-form-urlencoded; charset=UTF-8') {\n xhr.send(params)\n } else {\n xhr.send(JSON.stringify(data))\n }\n } else {\n if (url.indexOf('?') === -1) {\n url += '?' + params\n } else {\n url += '&' + params\n }\n xhr.open(type, url, true)\n xhr.send(null)\n }\n },\n fetchData: function (url, config) {\n // config = req, type, contentType, token\n // 显示loading\n // ob.$emit('ajaxLoading', true)\n return new Promise(function (resolve, reject) {\n Ajax.xhr({\n url: url,\n data: config.req || {},\n type: config.type || null,\n contentType: config.contentType || null,\n token: config.token || null,\n success: function (data) {\n if (data.code === '1') {\n resolve(data)\n } else {\n reject(data)\n }\n // 关闭loading\n // ob.$emit('ajaxLoading', false)\n },\n error: function (err) {\n reject(err)\n // 关闭loading\n // ob.$emit('ajaxLoading', false)\n }\n })\n })\n }\n}\n\nexport default Ajax\n","import Ajax from './Ajax.js';\n\nexport default Ajax;\n","import Animate from './Animate.js';\n\nexport default Animate;\n","// Animate\nvar Animate = {\n // requestAnimationFrame兼容\n requestAF: window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n function (handler) { return window.setTimeout(handler, 1000 / 60) },\n // requestAnimationFrame兼容\n cancelAF: window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n window.mozCancelAnimationFrame ||\n window.oCancelAnimationFrame ||\n window.msCancelAnimationFrame ||\n function (handler) { return window.clearTimeout(handler) },\n // 动画执行一次后销毁\n one: function (el, aniname) {\n var animExpr = new RegExp('\\\\s{0,}' + aniname, 'g')\n if (el.className.match(animExpr)) {\n el.className = el.className.replace(animExpr, '')\n }\n el.className += ' ' + aniname\n if (!el.hasEndEvent) {\n el.addEventListener('webkitAnimationEnd', function (e) {\n el.className = el.className.replace(animExpr, '')\n }, false)\n el.hasEndEvent = true\n }\n },\n fps: function (callback, duration) {\n var fps = 0\n var interval = setInterval(function () {\n fps++\n }, 1)\n setTimeout(function () {\n if (callback) {\n callback(fps)\n }\n clearInterval(interval)\n }, duration || 1000)\n }\n // requestAnimationFrame帧率测试\n /* fps: function (callback, duration) {\n var fps = 0\n function fpstest (timestamp) {\n fps++\n var requestAF = requestAnimationFrame(fpstest)\n console.log(timestamp)\n if (timestamp >= (duration || 1000)) {\n if (callback) {\n callback(fps)\n }\n cancelAnimationFrame(requestAF)\n }\n }\n requestAnimationFrame(fpstest)\n } */\n};\n\nexport default Animate\n","// require (PrototypeObject.js)\nimport axios from 'axios'\n\n// axios 默认配置\n// axios.defaults.timeout = 5000\naxios.defaults.headers.post['Content-Type'] = 'application/jsoncharset=UTF-8'\n\n// 构建get请求参数, get请求需要把url和data拼接起来\nfunction buildGetUrl (url, params) {\n if (!params || Object.isEmptyObject(params)) {\n return url\n }\n if (typeof params === 'string') {\n return url + '?' + params\n }\n if (Object.type(params) === 'json') {\n return url + '?' + Object.params(params)\n }\n return url\n}\n\n// 封装成Api类\nconst Api = {\n onError: function (error) {\n console.warn(error)\n },\n setBaseURL: function (baseURL) {\n axios.defaults.baseURL = baseURL\n },\n request: function (url, params = {}) {\n // 设置method\n var method = params.method === 'get' ? 'get' : 'post'\n // 设置头\n var head = params.head || {}\n // 设置options\n var options = params.options || {}\n // 设置data\n var data = params.data || {}\n return axios({\n url: method === 'get' ? buildGetUrl(url, data) : url,\n method: method,\n headers: {\n ...head\n },\n data: method === 'get' ? null : data,\n ...options\n })\n },\n post: function (url, params = {}) {\n return this.request(url, Object.assign({}, params, {method: 'post'}))\n },\n get: function (url, params) {\n return this.request(url, Object.assign({}, params ,{method: 'get'}))\n },\n all: function (requests) { // requests: [{url: '', params: {}}]\n const methods = requests.map((request) => {\n return this.request(request.url, request.params)\n })\n return axios.all(methods)\n }\n}\n\n// 响应拦截器\naxios.interceptors.response.use(response => {\n let result = response.data || response\n if (typeof result === 'string') {\n try {\n return JSON.parse(result)\n } catch (error) {\n console.log('result转换JSON失败' + error)\n return result\n }\n }\n return result\n}, error => {\n if (Api.onError) Api.onError(error)\n return Promise.reject(error)\n})\n\nexport default Api\n","import ApiAxios from './ApiAxios.js';\n\nexport default ApiAxios;\n","/**\n * Created by kenkozheng on 2015/7/16.\n * 利用backbone的路由语法,建立极简,适用于手机浏览器的路由\n * 增加了*号路由,等于backbone的defaultAction\n */\n\n// 路由监听示例\n// BackboneRoute.init({\n// 'module1': function(){\n// console.log(1);\n// },\n// 'module2/:name/:age': function(){\n// console.log(2, arguments);\n// },\n// 'module3(/:name)(/:age)': function(){\n// console.log('3', arguments);\n// },\n// '*': function(){\n// console.log(404);\n// }\n// });\n\n/* eslint-disable */\n(function (root) {\n\n var Route = root.BackboneRoute = {\n init: function (map) {\n var defaultAction = map['*'];\n if (defaultAction) {\n Route.defaultAction = defaultAction;\n delete map['*'];\n }\n Route.routes = map;\n init();\n onchange();\n },\n routes: {},\n defaultAction: null\n };\n\n function onchange(onChangeEvent) {\n var newURL = onChangeEvent && onChangeEvent.newURL || window.location.hash;\n var url = newURL.replace(/.*#/, '');\n var found = false;\n for (var path in Route.routes) {\n var reg = getRegExp(path);\n var result = reg.exec(url);\n if (result && result[0] && result[0] != '') {\n var handler = Route.routes[path];\n handler && handler.apply(null, result.slice(1));\n found = true;\n }\n }\n if (!found && Route.defaultAction) {\n Route.defaultAction();\n }\n }\n\n /**\n * 引自backbone,非常牛逼的正则\n * @param route\n * @returns {RegExp}\n */\n function getRegExp(route) {\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n route = route.replace(escapeRegExp, '\\\\$&')\n .replace(optionalParam, '(?:$1)?')\n .replace(namedParam, function (match, optional) {\n return optional ? match : '([^/?]+)';\n })\n .replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n }\n\n /**\n * 这段判断,引用于director:https://github.com/flatiron/director\n */\n function init() {\n if ('onhashchange' in window && (document.documentMode === undefined\n || document.documentMode > 7)) {\n // At least for now HTML5 history is available for 'modern' browsers only\n if (window.history === true) {\n // There is an old bug in Chrome that causes onpopstate to fire even\n // upon initial page load. Since the handler is run manually in init(),\n // this would cause Chrome to run it twise. Currently the only\n // workaround seems to be to set the handler after the initial page load\n // http://code.google.com/p/chromium/issues/detail?id=63040\n setTimeout(function () {\n window.onpopstate = onchange;\n }, 500);\n }\n else {\n window.onhashchange = onchange;\n }\n window.mode = 'modern';\n } else {\n throw new Error('sorry, your browser doesn\\'t support route');\n }\n }\n\n})(window);\n/* eslint-enable */\nexport default window.BackboneRoute;","import BackboneRoute from './BackboneRoute.js';\n\nexport default BackboneRoute;\n","// CanvasUtil canvas操作\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nvar CanvasUtil = {\n cropImg: function (opts = {}) {\n // 参数校验\n var errMsg = ''\n if (isNaN(opts.x)) {\n errMsg = 'SeedsUI Error:CanvasUtil.cropImg裁切方法x参数不正确'\n console.warn(errMsg)\n return errMsg\n }\n if (isNaN(opts.y)) {\n errMsg = `SeedsUI Error:CanvasUtil.cropImg,${window._seeds_lang['method'] || '方法'}y${window._seeds_lang['wrong_parameter'] || '参数不正确'}`\n console.warn(errMsg)\n return errMsg\n }\n if (isNaN(opts.width)) {\n errMsg = `SeedsUI Error:CanvasUtil.cropImg,${window._seeds_lang['method'] || '方法'}width${window._seeds_lang['wrong_parameter'] || '参数不正确'}`\n console.warn(errMsg)\n return errMsg\n }\n if (isNaN(opts.height)) {\n errMsg = `SeedsUI Error:CanvasUtil.cropImg,${window._seeds_lang['method'] || '方法'}width${window._seeds_lang['wrong_parameter'] || '参数不正确'}`\n console.warn(errMsg)\n return errMsg\n }\n var suffix = opts.suffix || 'image/png'\n var quality = opts.quality || 0.92\n // 开始裁切\n var canvas = document.getElementById('imgcrop_canvas')\n if (!canvas) {\n canvas = document.createElement('canvas')\n canvas.setAttribute('id', 'imgcrop_canvas')\n document.body.appendChild(canvas)\n }\n var ctx = canvas.getContext('2d')\n canvas.width = opts.width;\n canvas.height = opts.height;\n var img = new Image()\n img.src = opts.src\n img.crossOrigin = 'Anonymous'\n img.addEventListener('load', function () {\n ctx.drawImage(img, opts.x, opts.y, opts.width, opts.height, 0, 0, opts.width, opts.height)\n // 成功回调\n try {\n if (opts.onSuccess) opts.onSuccess(canvas.toDataURL(suffix, quality))\n } catch (error) {\n if (opts.onError) opts.onError(error)\n }\n }, false)\n }\n}\n\nexport default CanvasUtil\n","import CanvasUtil from './CanvasUtil.js';\n\nexport default CanvasUtil;\n","// Clipboard 剪贴板\n\nif (!window._seeds_lang) window._seeds_lang = {} // 国际化数据\n\nvar Clipboard = {\n // 选择元素的内容\n selectContent: function (element) {\n // 首先创建一个范围\n var rangeToSelect = document.createRange();\n rangeToSelect.selectNodeContents(element);\n\n // 选择内容\n var selection = window.getSelection();\n selection.removeAllRanges();\n selection.addRange(rangeToSelect);\n },\n // 为execCommand方法创建一个临时元素\n createElementForExecCommand: function (textToClipboard) {\n var forExecElement = document.createElement('div');\n // 放置在可见区域之外\n forExecElement.style.position = 'absolute';\n forExecElement.style.left = '-10000px';\n forExecElement.style.top = '-10000px';\n // 将必要的文本写入元素并追加到文档中\n forExecElement.textContent = textToClipboard;\n document.body.appendChild(forExecElement);\n // contentEditable模式对于Firefox中的execCommand方法是必需的\n forExecElement.contentEditable = true;\n\n return forExecElement;\n },\n // 复制到剪贴板\n copy: function (input, params = {}) {\n var textToClipboard = input;\n \n var success = true;\n if (window.clipboardData) { // Internet Explorer\n window.clipboardData.setData('Text', textToClipboard);\n } else {\n // 为execCommand方法创建一个临时元素\n var forExecElement = this.createElementForExecCommand(textToClipboard);\n \n // 选择元素的内容 ('copy'方法的execCommand在选择上起作用)\n this.selectContent(forExecElement);\n \n // UniversalXPConnect是Firefox中剪贴板访问所必需的\n try {\n if (window.netscape && window.netscape.security) {\n window.netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');\n }\n // 将选定内容复制到剪贴板\n // 适用于Firefox和Safari 5之前的版本\n success = document.execCommand('copy', false, null);\n } catch(e) {\n success = false;\n }\n \n // 删除临时元素\n document.body.removeChild(forExecElement);\n }\n \n if (success) {\n if (params && params.onSuccess) params.onSuccess(params.successMsg || (window._seeds_lang['copied_to_the_clipboard'] || '复制到剪贴板成功'))\n } else {\n if (params && params.onError) params.onError(params.errorMsg || (window._seeds_lang['unable_to_access_clipboard'] || '当前设备不允许访问剪贴板'))\n }\n }\n}\n\nexport default Clipboard\n","import Clipboard from './Clipboard.js';\n\nexport default Clipboard;\n","/**\n* @overview\n* @param {Point} 格式:[latitude, longitude]\n* @param {Polygon} 格式:[[latitude, longitude], [latitude, longitude]]\n* @param {Line} 格式:[latitude1, longitude1, latitude2, longitude2]\n* @param {Line<Array>} 格式:[[latitude1, longitude1, latitude2, longitude2]]\n*/\n\nvar GeoUtil = {};\n(function () {\n /**\n * 多边形转线\n * @param {Polygon} polygon 多边形\n * @param {Boolean} isRegular 是否要求是一个标准的多边形, 如果传true, 则返回集合会加上首尾互连\n * @return {Line<Array>}\n */\n GeoUtil.polygonToLines = function (polygon, isRegular) {\n var lines = []\n // 取出所有相邻的线\n for (var i = 0; i < polygon.length - 1; i++) {\n lines.push([\n polygon[i][0], polygon[i][1],\n polygon[i + 1][0], polygon[i + 1][1]\n ])\n }\n // 再将首尾互连, 防止出现一个不规则的多边形, 例如五角星\n if (isRegular) {\n lines.push([\n polygon[polygon.length - 1][0], polygon[polygon.length - 1][1],\n polygon[0][0], polygon[0][1]\n ])\n }\n return lines\n }\n\n /**\n * 判断点是否在多边形里\n * @param {Point} point 点\n * @param {Polygon} polygon 多边形\n * @return {Boolean}\n */\n GeoUtil.pointInsidePolygon = function (point, polygon) {\n var x = point[0], y = point[1]\n\n var inside = false\n for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n var xi = polygon[i][0], yi = polygon[i][1]\n var xj = polygon[j][0], yj = polygon[j][1]\n\n var intersect = ((yi > y) !== (yj > y))\n && (x < (xj - xi) * (y - yi) / (yj - yi) + xi)\n if (intersect) inside = !inside\n }\n\n return inside\n }\n /**\n * 判断两条线是否相交\n * @param {Line} line0 线\n * @param {Line} line1 对比线\n * @return {Boolean}\n */\n GeoUtil.lineIntersectLine = function (line0, line1) {\n var [a,b,c,d] = line0\n var [p,q,r,s] = line1\n var det, gamma, lambda;\n det = (c - a) * (s - q) - (r - p) * (d - b);\n if (det === 0) {\n return false;\n } else {\n lambda = ((s - q) * (r - a) + (p - r) * (s - b)) / det;\n gamma = ((b - d) * (r - a) + (c - a) * (s - b)) / det;\n return (0 < lambda && lambda < 1) && (0 < gamma && gamma < 1);\n }\n }\n /**\n * 判断多边形是否在多边形里\n * @param {Polygon} py0 多边形\n * @param {Polygon} py1 多边形\n * @return {Boolean}\n */\n GeoUtil.polygonInsidePolygon = function (py0, py1) {\n // 判断一个多边形的一个点是否位于另一个多边形多边形内\n var i;\n var inside = 0;\n for (i = 0; i < py0.length; i += 1) {\n if (GeoUtil.pointInsidePolygon(py0[i], py1)) {\n inside++;\n }\n }\n if (inside === py0.length) return true\n\n inside = 0;\n for (i = 0; i < py1.length; i += 1) {\n if (GeoUtil.pointInsidePolygon(py1[i], py0)) {\n inside++;\n }\n }\n if (inside === py0.length) return true\n\n return false\n }\n\n /**\n * 是否是不合法的经纬度\n * @param {Point} point 含经纬度点\n * @return {Boolean}\n */\n GeoUtil.isPoint = function (point) {\n var precision = 2e-10\n if ((Math.abs(point[0]) < precision) && ((Math.abs(point[1]) < precision))) {\n return false\n } else {\n return true\n }\n }\n\n /**\n * 是否是相同的点\n * @param {Point} p0\n * @param {Point} p1\n * @return {Boolean}\n */\n GeoUtil.equalPoint = function (p0, p1) {\n var precision = 2e-8\n if ((Math.abs(p0[0] - p1[0]) < precision) && ((Math.abs(p0[1] - p1[1]) < precision))) {\n return true\n } else {\n return false\n }\n }\n\n /**\n * 获取两个坐标间的中心点\n * @param {Point} p0\n * @param {Point} p1\n * @return {Point}\n */\n GeoUtil.getMiddlePoint = function (p0, p1) {\n return [(p0[0] + p0[1]) / 2, (p1[0] + p1[1]) / 2]\n }\n\n /**\n * 判断是否是一个标准的多边形, 具体为多边形, 且不允许交叉, 或者五角星等不规则的多边形\n * @param {Polygon} polygon\n * @returns {Boolean}\n */\n GeoUtil.isPolygon = function (polygon) {\n var lines = GeoUtil.polygonToLines(polygon, true)\n for (var i = 0; i < lines.length; i++) {\n for (var j = i + 1; j < lines.length; j++) {\n if (GeoUtil.lineIntersectLine(lines[i], lines[j])) return true\n }\n }\n return false\n }\n\n /**\n * 判断点是否在线上\n * @param {Line} line\n * @param {Point} point\n * @return {Boolean}\n */\n GeoUtil.pointOnLine = function (point, line) {\n // 首先判断该点是否在该线段的外包矩形内\n if (point[1] >= Math.min(line[1], line[3]) && point[1] <= Math.max(line[1], line[3]) && point[0] >= Math.min(line[0], line[2]) && point[0] <= Math.max(line[0], line[2])) {\n // 判断点是否在直线上公式\n var precision = (line[1] - point[1]) * (line[2] - point[0]) - (line[3] - point[1]) * (line[0] - point[0])\n if (precision < 2e-10 && precision > -2e-10) { // 实质判断是否接近0\n return true\n }\n }\n return false\n }\n /**\n * 获得两个点之间的距离\n * @param {Point} p0\n * @param {Point} p1\n * @return {Number} 错误返回-1\n */\n GeoUtil.getDistance = function (p0, p1) {\n if (!p0[0] || !p0[1] || !p1[0] || !p1[1]) {\n return -1\n }\n var lat1 = p0[0]\n var lng1 = p0[1]\n var lat2 = p1[0]\n var lng2 = p1[1]\n var radLat1 = lat1 * Math.PI / 180.0\n var radLat2 = lat2 * Math.PI / 180.0\n var a = radLat1 - radLat2\n var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0\n var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)))\n s = s * 6378.137 // EARTH_RADIUS;\n s = Math.round(s * 10000) / 10000\n return s\n }\n /**\n * 多边形坐标点按逆时针排序, 从右上角开始到右下角结束\n * @param {Polygon} points\n * @return {Polygon} 错误返回-1\n * 参考:https://cs.stackexchange.com/questions/52606/sort-a-list-of-points-to-form-a-non-self-intersecting-polygon\n */\n GeoUtil.sortPoints = function (points) {\n points = points.splice(0)\n var p0 = {}\n p0[1] = Math.min.apply(null, points.map(p => p[1]))\n p0[0] = Math.max.apply(null, points.filter(p => p[1] == p0[1]).map(p => p[0]))\n points.sort((a, b) => angleCompare(p0, a, b))\n return points\n }\n function angleCompare(p0, a, b) {\n var left = isLeft(p0, a, b)\n if (left == 0) return distCompare(p0, a, b)\n return left\n }\n\n function isLeft(p0, a, b) {\n return (a[0] - p0[0]) * (b[1] - p0[1]) - (b[0] - p0[0]) * (a[1] - p0[1])\n }\n\n function distCompare(p0, a, b) {\n var distA = (p0[0] - a[0]) * (p0[0] - a[0]) + (p0[1] - a[1]) * (p0[1] - a[1])\n var distB = (p0[0] - b[0]) * (p0[0] - b[0]) + (p0[1] - b[1]) * (p0[1] - b[1])\n return distA - distB\n }\n})();\n\nexport default GeoUtil\n","import GeoUtil from './GeoUtil.js';\n\nexport default GeoUtil;\n","// Vott (require GeoUtil)\nimport GeoUtil from '../GeoUtil'\n\nvar Vott = function (container, params) {\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n readOnly: false, // 是否只读\n data: null, // 渲染形状: [{polygon: [[x,y]], css: '', class: ''}]\n src: '',\n\n loadingClass: 'vott-loading',\n errorClass: 'vott-error',\n activeClass: 'active',\n\n containerClass: 'vott-container',\n\n svgClass: 'vott-svg',\n\n shapeClass: 'vott-shape',\n shapeActiveClass: 'active',\n shapeAttributes: {},\n // 编辑圆圈\n bulletClass: 'vott-shape-bullet',\n bulletActiveClass: 'active',\n\n xMinYMinClass: 'xMinYMin', // 左上\n xMinYMidClass: 'xMinYMid', // 左中\n xMinYMaxClass: 'xMinYMax', // 左下\n\n xMidYMinClass: 'xMidYMin', // 中上\n xMidYMaxClass: 'xMidYMax', // 中下\n\n xMaxYMinClass: 'xMaxYMin', // 右上\n xMaxYMidClass: 'xMaxYMid', // 右中\n xMaxYMaxClass: 'xMaxYMax', // 右下\n\n isScale: true // 缩放类型: true等比例缩放, false自由缩放, 对应元素属性data-scale-type 1和0\n /*\n callbacks\n onClick:function(s)\n onSuccess:function(s)\n onError:function(s)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // Vott\n var s = this\n\n // Params\n s.params = params\n // 更改params\n s.setParams = function (params) {\n for (var n in params) {\n s.params[n] = params[n]\n }\n }\n // 设置只读\n s.setReadOnly = function (readOnly) {\n s.params.readOnly = readOnly\n if (readOnly) {\n s.detach()\n } else {\n s.attach()\n }\n }\n // Container\n s.container = (typeof container === 'string' && container !== '') ? document.querySelector(container) : container\n if (!s.container) {\n console.warn('SeedsUI Error:未找到Container,请检查传入参数是否正确')\n return\n }\n\n // 更新svg属性\n s.updateSvg = function (svg, attr) {\n if (!attr) return\n for (var key in attr) {\n switch (key) {\n case 'xlink:href': // 文本路径添加属性特有\n svg.setAttributeNS('http://www.w3.org/1999/xlink', key, attr[key])\n break\n default:\n svg.setAttribute(key, attr[key])\n }\n }\n return svg\n }\n // 创建svg相关元素 \n s.createSvg = function (tag, attr) {\n if (!document.createElementNS) return // 防止IE8报错 \n var svg = document.createElementNS('http://www.w3.org/2000/svg', tag)\n s.updateSvg(svg, attr)\n return svg\n }\n\n // Svg\n s.svg = s.container.querySelector('.' + s.params.svgClass) || s.createSvg('svg', {\n 'class': s.params.svgClass,\n // 'viewBox': '0,0,' + s.container.clientWidth + ',' + s.container.clientHeight // 视窗大小决定里层的像素, 类似rem, 设置此值让svg内值同px相同\n preserveAspectRatio: 'none' // 长宽比, none为拉伸到和svg画布相同尺寸, 设置此值让svg内值同px相同\n })\n\n // Loading\n s.loadingContainer = s.container.querySelector('.' + s.params.loadingClass) || null\n\n // Error\n s.errorContainer = s.container.querySelector('.' + s.params.errorClass) || null\n\n // Bullets, 缩放圆圈\n s.bullets = null\n\n /* --------------------\n Methods\n -------------------- */\n // 绘制多边形\n s.draw = function (data) {\n if (!data || !data.length) return\n for (let item of data) {\n let {polygon, id, className, style, ...others} = item\n if (polygon.length !== 4) continue\n\n polygon = polygon.map(function (points) {\n return points.map(function (point) {\n return point * s.scale\n })\n })\n s.createShape(s.svg, 'polygon', {\n 'points': polygon.join(','),\n 'data-scale-type': s.params.isScale ? '1' : '0',\n 'id': id || '',\n 'class': s.params.shapeClass + (className ? ' ' + className : ''),\n 'style': style || '',\n 'data-params': JSON.stringify({...others})\n })\n }\n }\n // 图片加载完成或者错误\n s.onLoad = function (e) {\n var target = e.target\n // 显隐\n if (s.loadingContainer) s.loadingContainer.classList.remove(s.params.activeClass)\n if (s.errorContainer) s.errorContainer.classList.remove(s.params.activeClass)\n s.svg.classList.add(s.params.activeClass)\n // 计算宽高\n s.scale = 1\n if (target.width > target.height) { // 宽图计算\n s.scale = s.container.clientWidth / target.width\n } else { // 长图计算\n s.scale = s.container.clientHeight / target.height\n }\n var width = target.width * s.scale\n var height = target.height * s.scale\n s.svg.setAttribute('style', `width:${width};height:${height}`)\n // 设置背景图\n s.svg.style.backgroundImage = `url(${s.params.src})`\n // 渲染多边形\n s.draw(s.params.data)\n // Callback\n if (s.params.onSuccess) s.params.onSuccess(s)\n // 增加事件\n if (!s.params.readOnly) {\n s.detach()\n s.attach()\n }\n }\n s.onError = function () {\n // 显隐\n if (s.loadingContainer) s.loadingContainer.classList.remove(s.params.activeClass)\n if (s.errorContainer) s.errorContainer.classList.add(s.params.activeClass)\n s.svg.classList.remove(s.params.activeClass)\n // Callback\n if (s.params.onError) s.params.onError(s)\n }\n // 更新DOM\n s.update = function () {\n if (!s.params.src || !s.container) return\n // 更新容器\n s.svg.innerHTML = ''\n // 更新缩放圆圈\n var xMinYMin = s.svg.querySelector('.' + s.params.xMinYMinClass) // 左上\n var xMinYMid = s.svg.querySelector('.' + s.params.xMinYMidClass) // 左中\n var xMinYMax = s.svg.querySelector('.' + s.params.xMinYMaxClass) // 左下\n\n var xMidYMin = s.svg.querySelector('.' + s.params.xMidYMinClass) // 中上\n var xMidYMax = s.svg.querySelector('.' + s.params.xMidYMaxClass) // 中下\n\n var xMaxYMin = s.svg.querySelector('.' + s.params.xMaxYMinClass) // 右上\n var xMaxYMid = s.svg.querySelector('.' + s.params.xMaxYMidClass) // 右中\n var xMaxYMax = s.svg.querySelector('.' + s.params.xMaxYMaxClass) // 右下\n\n if (xMinYMin && xMinYMid && xMinYMax && xMidYMin && xMidYMax && xMaxYMin && xMaxYMid && xMaxYMax) {\n s.bullets = {\n xMinYMin: xMinYMin, // 左上\n xMinYMid: xMinYMid, // 左中\n xMinYMax: xMinYMax, // 左下\n\n xMidYMin: xMidYMin, // 中上\n xMidYMax: xMidYMax, // 中下\n\n xMaxYMin: xMaxYMin, // 右上\n xMaxYMid: xMaxYMid, // 右中\n xMaxYMax: xMaxYMax // 右下\n }\n }\n\n // 创建图片\n var img = new Image()\n img.src = s.params.src\n img.addEventListener('load', s.onLoad, false)\n img.addEventListener('error', s.onError, false)\n }\n\n // 创建形状\n s.createShape = function (svg, shapeName, attr) {\n if (!attr || !svg) return\n // 创建形状\n var shape = s.createSvg(shapeName || 'polygon', attr)\n svg.shape = shape\n svg.appendChild(shape)\n\n return svg\n }\n // 选中形状\n s.activeShape = function (target, isActive) {\n if (isActive === false) {\n target.classList.remove(s.params.shapeActiveClass)\n s.touches.target = null\n s.hideBullets()\n } else {\n target.classList.add(s.params.shapeActiveClass)\n }\n }\n // 移除形状\n s.removeShape = function (target) {\n target.parentNode.removeChild(target)\n s.touches.target = null\n s.hideBullets()\n }\n // 创建圆形\n s.createCircle = function (svg, attr) {\n var shape = s.createSvg('circle', attr)\n svg.shape = shape\n svg.appendChild(shape)\n\n return svg\n }\n // 拖动形状大小\n s.scaleShape = function (target, currentX, currentY, type) {\n if (target.getAttribute('data-scale-type') === '0') {\n console.log('自由缩放');\n return;\n }\n\n if (type === 'new') {\n type = 'xMaxYMax'\n }\n // 4个坐标\n var polygon = s.sortPoints(target.getAttribute('points'))\n // 坐标字符串\n var points = ''\n\n // 等比缩放, 并构建四个点\n if (type === 'xMinYMin') { // 左上\n let fixedX = polygon[3][0]\n let fixedY = polygon[3][1]\n points =\n fixedX + ',' + currentY + ',' +\n currentX + ',' + currentY + ',' +\n currentX + ',' + fixedY + ',' +\n fixedX + ',' + fixedY\n } else if (type === 'xMinYMid') { // 左中\n let fixedX1 = polygon[0][0]\n let fixedY1 = polygon[0][1]\n let fixedX2 = polygon[3][0]\n let fixedY2 = polygon[3][1]\n points =\n fixedX1 + ',' + fixedY1 + ',' +\n currentX + ',' + fixedY1 + ',' +\n currentX + ',' + fixedY2 + ',' +\n fixedX2 + ',' + fixedY2\n } else if (type === 'xMinYMax') { // 左下\n let fixedX = polygon[0][0]\n let fixedY = polygon[0][1]\n points =\n fixedX + ',' + fixedY + ',' +\n currentX + ',' + fixedY + ',' +\n currentX + ',' + currentY + ',' +\n fixedX + ',' + currentY\n } else if (type === 'xMidYMin') { // 中上\n let fixedX1 = polygon[2][0]\n let fixedY1 = polygon[2][1]\n let fixedX2 = polygon[3][0]\n let fixedY2 = polygon[3][1]\n points =\n fixedX2 + ',' + currentY + ',' +\n fixedX1 + ',' + currentY + ',' +\n fixedX1 + ',' + fixedY1 + ',' +\n fixedX2 + ',' + fixedY2\n } else if (type === 'xMidYMax') { // 中下\n let fixedX1 = polygon[0][0]\n let fixedY1 = polygon[0][1]\n let fixedX2 = polygon[1][0]\n let fixedY2 = polygon[1][1]\n points =\n fixedX1 + ',' + fixedY1 + ',' +\n fixedX2 + ',' + fixedY2 + ',' +\n fixedX2 + ',' + currentY + ',' +\n fixedX1 + ',' + currentY\n } else if (type === 'xMaxYMin') { // 右上\n let fixedX = polygon[2][0]\n let fixedY = polygon[2][1]\n points =\n currentX + ',' + currentY + ',' +\n fixedX + ',' + currentY + ',' +\n fixedX + ',' + fixedY + ',' +\n currentX + ',' + fixedY\n } else if (type === 'xMaxYMid') { // 右中\n let fixedX1 = polygon[1][0]\n let fixedY1 = polygon[1][1]\n let fixedX2 = polygon[2][0]\n let fixedY2 = polygon[2][1]\n points =\n currentX + ',' + fixedY1 + ',' +\n fixedX1 + ',' + fixedY1 + ',' +\n fixedX2 + ',' + fixedY2 + ',' +\n currentX + ',' + fixedY2\n } else if (type === 'xMaxYMax') { // 右下\n let fixedX = polygon[1][0]\n let fixedY = polygon[1][1]\n points =\n currentX + ',' + fixedY + ',' +\n fixedX + ',' + fixedY + ',' +\n fixedX + ',' + currentY + ',' +\n currentX + ',' + currentY\n }\n\n s.updateSvg(target, {\n 'points': points\n })\n }\n // 显示缩放控件\n s.showBullets = function () {\n if (!s.bullets) return\n for (var bulletName in s.bullets) {\n s.bullets[bulletName].classList.add(s.params.bulletActiveClass)\n }\n s.bulletsShow = true\n }\n // 隐藏缩放控件\n s.hideBullets = function () {\n if (!s.bullets) return\n for (var bulletName in s.bullets) {\n s.bullets[bulletName].classList.remove(s.params.bulletActiveClass)\n }\n s.bulletsShow = false\n }\n // 移动形状\n s.moveShape = function (target, x, y, diffX, diffY) {\n // 构建points\n var points = target.getAttribute('points').split(',')\n // 获取左上角的点\n var startX = Number(points[2] || 0)\n var startY = Number(points[3] || 0)\n // 获取右下角的点\n var endX = Number(points[6] || 0)\n var endY = Number(points[7] || 0)\n // 获取宽高\n var width = Math.abs(endX - startX || 0)\n var height = Math.abs(endY - startY || 0)\n\n // 计算8个点的位置\n points = [\n (x + width) + diffX, y + diffY, // 右上\n x + diffX, y + diffY, // 左上\n x + diffX, (y + height) + diffY, // 左下\n (x + width) + diffX, (y + height) + diffY, // 右下\n ]\n \n s.updateSvg(target, {\n 'points': points.join(',')\n })\n }\n // 编辑形状\n s.editShape = function (target) {\n if (target.getAttribute('data-scale-type') === '0') {\n console.log('自由缩放')\n return\n }\n // 从右上角开始到右下角结束\n var points = target.getAttribute('points').split(',')\n\n // 获取左上角的点\n var startX = Number(points[2] || 0)\n var startY = Number(points[3] || 0)\n // 获取右下角的点\n var endX = Number(points[6] || 0)\n var endY = Number(points[7] || 0)\n\n var width = Math.abs(endX - startX || 0)\n var height = Math.abs(endY - startY || 0)\n\n // 计算8个点的位置\n points = {\n xMinYMin: [startX, startY], // 左上\n xMinYMid: [startX, startY + height / 2], // 左中\n xMinYMax: [startX, startY + height], // 左下\n\n xMidYMin: [startX + width / 2, startY], // 中上\n xMidYMax: [startX + width / 2, startY + height], // 中下\n\n xMaxYMin: [startX + width, startY], // 右上\n xMaxYMid: [startX + width, startY + height / 2], // 右中\n xMaxYMax: [startX + width, startY + height] // 右下\n }\n \n var hasBullets = !!s.bullets\n for (var pointName in points) {\n var point = points[pointName]\n if (!hasBullets) { // 如果没有缩放小圆圈, 则构建\n var svg = s.createCircle(s.svg, {\n 'cx': point[0],\n 'cy': point[1],\n 'r': 5,\n 'class': s.params.bulletClass + ' ' + s.params[pointName + 'Class']\n })\n if (!s.bullets) s.bullets = {}\n s.bullets[pointName] = svg.shape\n } else { // 如果已经有缩放者saler, 则更新\n s.updateSvg(s.bullets[pointName], {\n 'cx': point[0],\n 'cy': point[1],\n })\n // 移动位置到最下面\n s.svg.appendChild(s.bullets[pointName])\n }\n }\n s.showBullets()\n }\n // 点转成多边形[[x,y]]\n s.toPolygon = function (points) {\n if (!points) return\n var polygon = []\n var page = 0\n points.split(',').forEach(function (point, i) {\n // debugger\n if (i !== 0 && i % 2 === 0) {\n page++\n }\n if (!polygon[page]) polygon[page] = []\n polygon[page].push(point)\n })\n return polygon\n }\n // 多边形坐标点按逆时针排序, 从右上角开始到右下角结束\n s.sortPoints = function (points) {\n var polygon = s.toPolygon(points)\n var sorts = GeoUtil.sortPoints(polygon)\n return sorts\n }\n // 获取选中\n s.getSelected = function () {\n var shapes = s.svg.querySelectorAll('.' + s.params.shapeClass)\n var selected = []\n for (var shape of shapes) {\n // 还原比例\n var polygon = s.toPolygon(shape.getAttribute('points')).map(function (points) {\n return points.map(function (point) {\n return point / s.scale\n })\n })\n var params = shape.getAttribute('data-params') ? JSON.parse(shape.getAttribute('data-params')) : {}\n selected.push({\n polygon: polygon,\n className: shape.getAttribute('style') || '',\n class: shape.getAttribute('class') || '',\n id: shape.id || '',\n ...params\n })\n }\n return selected\n }\n /* --------------------\n Touch Events\n -------------------- */\n // 是否支持触摸事件\n s.isSupportTouch = 'ontouchstart' in window\n s.events = function (detach) {\n var touchTarget = s.svg\n var action = detach ? 'removeEventListener' : 'addEventListener'\n // touch兼容pc事件\n if (s.isSupportTouch) {\n touchTarget[action]('touchstart', s.onTouchStart, false)\n touchTarget[action]('touchmove', s.onTouchMove, false)\n touchTarget[action]('touchend', s.onTouchEnd, false)\n touchTarget[action]('touchcancel', s.onTouchEnd, false)\n } else {\n touchTarget[action]('mousedown', s.onTouchStart, false)\n touchTarget[action]('mousemove', s.onTouchMove, false)\n touchTarget[action]('mouseup', s.onTouchEnd, false)\n }\n // 按Delete键删除形状\n document[action]('keydown', s.onKeyDown, false)\n // 双击删除形状\n touchTarget[action]('dblclick', s.onDblClick, false)\n // 用于touch事件时只能取绝对位置\n s.stageInfo = touchTarget.getBoundingClientRect()\n }\n // attach、dettach事件\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n function preventDefault (e) {\n e.preventDefault()\n }\n // Touch信息\n s.touches = {\n target: null, // 操作的对象\n type: 'new', // 类型: 新增形状 'new', 已有形状 'move'\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n endX: 0,\n endY: 0,\n diffX: 0,\n diffY: 0\n }\n s.onTouchStart = function (e) {\n s.container.addEventListener('touchmove', preventDefault, false)\n s.touches.startX = s.isSupportTouch ? e.touches[0].clientX - s.stageInfo.left : e.offsetX\n s.touches.startY = s.isSupportTouch ? e.touches[0].clientY - s.stageInfo.top : e.offsetY\n\n // 允许拖动\n s.moveEnd = false\n\n // 判断方向\n if (e.target.classList.contains(s.params.bulletClass)) { // 点击右下角, 放大缩小\n if (e.target.classList.contains(s.params.xMinYMinClass)) s.touches.type = 'xMinYMin' // 左上\n else if (e.target.classList.contains(s.params.xMinYMidClass)) s.touches.type = 'xMinYMid' // 左中\n else if (e.target.classList.contains(s.params.xMinYMaxClass)) s.touches.type = 'xMinYMax' // 左下\n else if (e.target.classList.contains(s.params.xMidYMinClass)) s.touches.type = 'xMidYMin' // 中上\n else if (e.target.classList.contains(s.params.xMidYMaxClass)) s.touches.type = 'xMidYMax' // 中下\n else if (e.target.classList.contains(s.params.xMaxYMinClass)) s.touches.type = 'xMaxYMin' // 右上\n else if (e.target.classList.contains(s.params.xMaxYMidClass)) s.touches.type = 'xMaxYMid' // 右中\n else if (e.target.classList.contains(s.params.xMaxYMaxClass)) s.touches.type = 'xMaxYMax' // 右下\n else s.touches.type = 'xMaxYMax' // 右下\n\n // 新增时, 左上角的点为固定点\n var points = s.toPolygon(s.touches.target.getAttribute('points'))\n s.touches.startX = points[1][0]\n s.touches.startY = points[1][1]\n } else if (e.target.classList.contains(s.params.shapeClass)) { // 点击形状, 则移动\n // 先取消选中形状\n if (s.touches.target) s.activeShape(s.touches.target, false)\n // 选中形状\n s.touches.target = e.target\n s.activeShape(s.touches.target)\n // 选中类型\n s.touches.type = 'move'\n } else if (e.target.classList.contains(s.params.svgClass)) { // 点击svg容器, 新增形状\n // 先取消选中形状\n if (s.touches.target) s.activeShape(s.touches.target, false)\n // 选中形状\n let {polygon, id, className, style, ...others} = s.params.shapeAttributes\n s.svg = s.createShape(s.svg, 'polygon', { \n 'points': s.touches.startX + ',' + s.touches.startY + ',' +\n (s.touches.startX + 1) + ',' + s.touches.startY + ',' +\n (s.touches.startX + 1) + ',' + (s.touches.startY + 1) + ',' +\n s.touches.startX + ',' + (s.touches.startY + 1),\n 'data-scale-type': s.params.isScale ? '1' : '0',\n 'id': id || '',\n 'class': s.params.shapeClass + (className ? ' ' + className : ''),\n 'style': style || '',\n 'data-params': JSON.stringify({...others})\n })\n s.touches.target = s.svg.shape\n s.container.appendChild(s.svg)\n s.activeShape(s.touches.target)\n // 选中类型\n s.touches.type = 'new'\n } else {\n // 取消选中形状\n if (s.touches.target) s.activeShape(s.touches.target, false)\n }\n }\n s.onTouchMove = function (e) {\n if (s.moveEnd || !s.touches.target) return\n s.touches.currentX = s.isSupportTouch ? e.touches[0].clientX - s.stageInfo.left : e.offsetX\n s.touches.currentY = s.isSupportTouch ? e.touches[0].clientY - s.stageInfo.top : e.offsetY\n s.touches.diffX = s.touches.startX - s.touches.currentX\n s.touches.diffY = s.touches.startY - s.touches.currentY\n // 隐藏缩放控件\n if (s.bulletsShow) s.hideBullets()\n if (s.touches.type === 'move') { // 已有形状拖动位置\n // 记录的鼠标位置距离左上角的位置\n if (!s.touches.moveDiffX || !s.touches.moveDiffY) {\n var points = s.touches.target.getAttribute('points').split(',')\n s.touches.moveDiffX = Number(points[2] || 0) - s.touches.currentX\n s.touches.moveDiffY = Number(points[3] || 0) - s.touches.currentY\n }\n s.moveShape(s.touches.target, s.touches.currentX, s.touches.currentY, s.touches.moveDiffX, s.touches.moveDiffY)\n } else { // 新增或者拖动右下角形状改大小\n s.scaleShape(s.touches.target, s.touches.currentX, s.touches.currentY, s.touches.type)\n }\n }\n s.onTouchEnd = function (e) {\n if (s.params.stopPropagation) e.stopPropagation() // 此属性与FastClick冲突\n s.touches.endX = s.isSupportTouch ? e.changedTouches[0].clientX - s.stageInfo.left : e.offsetX\n s.touches.endY = s.isSupportTouch ? e.changedTouches[0].clientY - s.stageInfo.top : e.offsetY\n\n // 清空记录的移动位置\n if (s.touches.moveDiffX) s.touches.moveDiffX = null\n if (s.touches.moveDiffY) s.touches.moveDiffY = null\n\n\n // 矫正多边形点坐标, 使其坐标位置从左上角顺时针开始\n if (s.touches.target) {\n var points = s.sortPoints(s.touches.target.getAttribute('points')).join(',')\n s.touches.target.setAttribute('points', points)\n }\n\n // 如果点击新增的形状, 则删除此形状\n var bbox = s.touches.target.getBBox()\n if (s.touches.type === 'new' && (bbox.height < 10 || bbox.width < 10)) {\n s.touches.target.parentNode.removeChild(s.touches.target)\n s.touches.target = null\n // 单击事件\n if (Math.abs(s.touches.startX - s.touches.endX) < 6 && Math.abs(s.touches.startY - s.touches.endY) < 6) {\n s.event = e\n if (s.params.onClick) s.params.onClick(s)\n }\n } else { // 拖动\n s.editShape(s.touches.target)\n }\n\n s.moveEnd = true\n }\n // 双击删除此形状\n s.onDblClick = function (e) {\n if (e.target.classList.contains(s.params.shapeClass) && e.target.classList.contains(s.params.shapeActiveClass)) {\n s.removeShape(e.target)\n }\n }\n // 按Delete键删除此形状\n s.onKeyDown = function (e) {\n if (!s.touches.target) return\n if (e.keyCode === 8) {\n s.removeShape(s.touches.target)\n }\n }\n /* --------------------\n Init\n -------------------- */\n // 主函数\n s.init = function () {\n s.update()\n }\n // 执行主函数\n s.init()\n return s\n}\n\nexport default Vott\n","import Vott from './Vott';\n\nexport default Vott;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Instance from './instance.js';\nimport BridgeBrowser from './../Bridge/bridgeBrowser';\n\nexport default class Vott extends Component {\n static propTypes = {\n data: PropTypes.array, // 渲染形状: [{polygon: [[x,y]], css: '', class: ''}]\n readOnly: PropTypes.bool, // 是否只读\n src: PropTypes.string,\n params: PropTypes.object, // 设置实例化参数\n preview: PropTypes.bool // 是否支持单击预览, readOnly为true时才生效\n }\n // data = {\n // polygon: [ // 逆时针\n // [x2, y1], // 右上\n // [x1, y1], // 左上\n // [x1, y2], // 左下\n // [x2, y2], // 右下\n // ],\n // style: '',\n // className: '',\n // id: '',\n // ...\n // }\n // params = {\n // shapeAttributes: '形状属性'\n // }\n static defaultProps = {\n }\n constructor(props) {\n super(props);\n }\n componentDidUpdate (prevProps) {\n if (this.instance) {\n if (prevProps.params !== this.props.params) {\n this.instance.setParams(this.props.params);\n }\n if (prevProps.readOnly !== this.props.readOnly) {\n this.instance.setReadOnly(this.props.readOnly);\n }\n if (prevProps.src !== this.props.src) {\n this.instance.setParams({src: this.props.src});\n this.load = 0\n this.instance.update();\n }\n if (prevProps.data !== this.props.data) {\n this.instance.setParams({data: this.props.data});\n this.load = 0\n this.instance.update();\n }\n }\n }\n componentDidMount () {\n this.instance()\n }\n instance = () => {\n const {data, readOnly, src, params, preview, ...others} = this.props;\n const instance = new Instance(this.$el, {\n readOnly: readOnly,\n data: data,\n src: src,\n onSuccess: this.onLoad,\n ...params\n });\n this.instance = instance;\n }\n onLoad = () => {\n this.load = 1\n }\n onClick = () => {\n this.preview()\n }\n preview = () => {\n if (!this.props.readOnly || !this.props.preview || !this.load) return\n var svg = this.instance.svg;\n var previewHTML = `<div class=\"preview-layer\">${svg.outerHTML}</div>`;\n BridgeBrowser.previewImage({urls: [this.props.src], layerHTML: previewHTML, onSuccess: (s) => {\n var layer = s.container.querySelector('.preview-layer');\n svg = s.container.querySelector('.vott-svg');\n svg.style.backgroundImage = 'initial';\n var width = svg.style.width.replace('px', '');\n var height = svg.style.height.replace('px', '');\n // 计算宽高\n var scale = 1\n if (width > height) { // 宽图计算\n scale = layer.clientWidth / width;\n } else { // 长图计算\n scale = layer.clientHeight / height;\n }\n svg.style.WebkitTransform = `scale(${scale}) translate(-50%,-50%)`\n svg.style.WebkitTransformOrigin = `0 0`\n }});\n }\n render() {\n const {data, readOnly, src, params, preview, ...others} = this.props;\n return (\n <div className=\"vott-container\" {...others} ref={(el) => {this.$el = el}}>\n <svg className=\"vott-svg\" preserveAspectRatio=\"none\" onClick={this.onClick}></svg>\n <div className={`vott-loading active`}>\n <div className={`vott-loading-icon`}></div>\n </div>\n <div className={`vott-error`}>\n <div className={`vott-error-icon`}></div>\n <div className={`vott-error-caption`}>{window._seeds_lang['hint_image_failed_to_load'] || '图片加载失败'}</div>\n </div>\n </div>\n );\n }\n}\n","import EditUtil from './EditUtil.js';\n\nexport default EditUtil;\n","// EditUtil 富文本编辑框\nvar EditUtil = {\n // 获取选区\n selection: function () {\n return document.getSelection()\n },\n // 获取文本框光标位置\n getTxtCusorPos: function (txt) {\n var cusorPos = -1\n // 非ie\n if (txt.selectionStart) {// 非IE浏览器\n cusorPos = txt.selectionStart\n return cusorPos\n }\n // 讨厌的ie\n if (document.selection && document.selection.createRange) {\n var range = document.selection.createRange()\n range.moveStart('character', -txt.value.length)\n cusorPos = range.text.length\n return cusorPos\n }\n },\n // 获取光标位置\n getDivCusorPos: function () {\n var cusorPos = 0// 光标位置\n // 非ie\n if (window.getSelection) {\n var selection = window.getSelection()\n // console.log(selection.anchorNode) // 选中区域的“起点”\n // console.log(selection.focusNode) // 选中区域的“结束点”\n // console.log(selection.focusOffset) // “结束点”的偏移量\n // console.log(selection.isCollapsed) // 判断是否有选中区域\n // console.log(selection.rangeCount) // 一般一个页面只有一个range,也有可能是多个range(使用Ctrl健进行多选)\n\n // “起点”的偏移量\n cusorPos = selection.anchorOffset\n return cusorPos\n }\n // 讨厌的ie\n if (document.selection && document.selection.createRange) {\n var range = document.selection.createRange()\n var srcele = range.parentElement()\n var copy = document.body.createTextRange()\n copy.moveToElementText(srcele)\n for (cusorPos = 0; copy.compareEndPoints('StartToStart', range) < 0; cusorPos++) {\n copy.moveStart('character', 1)\n }\n return cusorPos\n }\n },\n // 只支持高级浏览器\n selectionPos: function (classname) {\n var selection = window.getSelection()\n var cursorOffset = 0\n document.onselectionchange = function (e) {\n if (e.target.activeElement.className === classname) {\n cursorOffset = selection.anchorOffset\n }\n }\n return cursorOffset\n },\n /* --------------------------\n 确定命令是否已经激活\n @method isenable\n @param commandName (命令名称,如:backcolor)\n @return boolean\n -------------------------- */\n isenable: function (commandName) {\n return document.queryCommandEnabled(commandName)\n },\n backgroundcolor: function (color) {\n document.execCommand('backcolor', false, color)\n },\n bold: function () {\n document.execCommand('bold', false, null)\n },\n italic: function () {\n document.execCommand('italic', false, null)\n },\n underline: function () {\n document.execCommand('underline', false, null)\n },\n copy: function () {\n document.execCommand('copy', false, null)\n },\n selectall: function () {\n document.execCommand('selectall', false, null)\n },\n cut: function () {\n document.execCommand('cut', false, null)\n },\n paste: function () {\n document.execCommand('paste', false, null)\n },\n del: function () {\n document.execCommand('delete', false, null)\n },\n link: function (url) {\n document.execCommand('createlink', false, url)\n },\n unlink: function () {\n document.execCommand('unlink', false, null)\n },\n fontname: function (fontName) {\n document.execCommand('fontname', false, fontName)\n },\n fontsize: function (fontSize) {\n if (fontSize) {\n document.execCommand('fontsize', false, fontSize)\n return\n }\n return document.queryCommandValue('fontsize')\n },\n fontcolor: function (fontColor) {\n document.execCommand('forecolor', false, fontColor)\n },\n format: function (tag) {\n document.execCommand('formatblock', false, tag)\n },\n unformat: function () {\n document.execCommand('removeformat', false, null)\n },\n indent: function () {\n document.execCommand('indent', false, null)\n },\n outdent: function () {\n document.execCommand('outdent', false, null)\n },\n hr: function () {\n document.execCommand('inserthorzizontalrule', false, null)\n },\n img: function (url) {\n document.execCommand('insertimage', false, url)\n },\n ol: function () {\n document.execCommand('insertorderedlist', false, null)\n },\n ul: function () {\n document.execCommand('insertunorderedlist', false, null)\n },\n p: function () {\n document.execCommand('insertparagraph', false, null)\n },\n center: function () {\n document.execCommand('justifycenter', false, null)\n },\n left: function () {\n document.execCommand('justifyleft', false, null)\n },\n right: function () {\n document.execCommand('justifyright', false, null)\n },\n // 设置光标位置\n setCaretPosition: function (elem, caretPos) {\n if (elem !== null) {\n if (elem.createTextRange) {\n var range = elem.createTextRange()\n range.move('character', caretPos)\n range.select()\n } else {\n if (elem.selectionStart) {\n elem.focus()\n elem.setSelectionRange(caretPos, caretPos)\n } else {\n elem.focus()\n }\n }\n }\n },\n isEnter: function () {\n // 监听键盘输入\n window.addEventListener('keydown', function (e) {\n var keynum = e.which || e.keyCode\n if (keynum === '13') {\n return true\n }\n return false\n }, false)\n }\n}\n\nexport default EditUtil\n","import EventUtil from './EventUtil.js';\n\nexport default EventUtil;\n","// EventUtil 事件函数\nvar EventUtil = (function () {\n /**\n * 多次点击事件\n * @param {DOM} element 目标元素\n * @param {String} type 事件名称, 此处固定为'countclick'\n * @param {Function} handler 句柄, handler({code(1成功0失败): '1'或'0', count(点击次数): Number, ...e})\n * @param {Boolean} isDetach 是否移除绑定事件\n * @param {Object} params 定义配置, 配置为: {count(点击次数): Number, timeout(超时时长): Number}\n */\n var _countClickEventHandler = function (e) {\n // 解析参数\n var target = e.currentTarget\n // 次数自增\n target.prevCount += 1\n e.count = target.prevCount\n e.code = '0'\n\n // 当第一次点击时记录时间\n if (target.prevCount === 1) {\n target.prevTime = new Date().getTime()\n }\n\n // 当次数满足条件时\n if (target.prevCount >= target.count) {\n // 如果时间也满足条件, 则通过\n if (new Date().getTime() - target.prevTime <= target.timeout) {\n e.code = '1'\n }\n target.prevCount = 0\n }\n\n target.handler(e)\n }\n var _countClickEvent = function (element, type, handler, isDetach, params) {\n // 构建参数\n element.prevCount = 0\n element.prevTime = new Date().getTime()\n element.count = params && params.count ? params.count : 10 // 点击多少次触发\n element.timeout = params && params.timeout ? params.timeout : 5000 // 点击间隔秒数\n element.handler = handler\n // 添加或移除事件\n function attach () {\n element.addEventListener('click', _countClickEventHandler, false)\n }\n function detach () {\n element.removeEventListener('click', _countClickEventHandler, false)\n }\n if (isDetach) {\n detach()\n } else {\n attach()\n }\n }\n /**\n * 触摸事件\n * @param {DOM} element 目标元素\n * @param {String} type 事件名称, 此函数处理tap | swipeleft | swiperight | swipedown | swipeup事件\n * @param {Function} handler 句柄, handler(e)\n * @param {Boolean} isDetach 是否移除绑定事件, 此为一函数对多type, 所以不允许移除事件, 只能移除句柄\n */\n var _touchEvent = function (element, type, handler, isDetach) {\n var params = {\n threshold: 0\n }\n /* ------------------------\n Model\n ------------------------ */\n var touches = {\n direction: 0,\n vertical: 0,\n horizontal: 0,\n startX: 0,\n startY: 0,\n endX: 0,\n endY: 0,\n diffX: 0,\n diffY: 0\n }\n /* ------------------------\n Touch Handler\n ------------------------ */\n var onTouchStart = function (e) {\n touches.startX = e.touches[0].clientX\n touches.startY = e.touches[0].clientY\n }\n var onTouchEnd = function (e) {\n var eventName = ''\n touches.endX = e.changedTouches[0].clientX\n touches.endY = e.changedTouches[0].clientY\n touches.diffX = touches.startX - touches.endX\n touches.diffY = touches.startY - touches.endY\n // 单击事件\n if (Math.abs(touches.diffX) < 6 && Math.abs(touches.diffY) < 6) {\n eventName = 'tap'\n }\n\n // 设置方向\n if (touches.direction === 0) { // 设置滑动方向(-1上下 | 1左右)\n touches.direction = Math.abs(touches.diffX) > Math.abs(touches.diffY) ? 1 : -1\n }\n if (touches.direction === -1) { // 设置垂直方向(-1上 | 1下)\n touches.vertical = touches.diffY < 0 ? 1 : -1\n }\n if (touches.direction === 1) { // 设置左右方向(-1左 | 1右)\n touches.horizontal = touches.diffX < 0 ? 1 : -1\n }\n\n // swipeleft | swiperight | swipedown | swipeup 事件\n if (touches.vertical === -1) { // 上\n if (Math.abs(touches.diffY) > params.threshold) {\n eventName = 'swipeup'\n }\n } else if (touches.vertical === 1) { // 下\n if (Math.abs(touches.diffY) > params.threshold) {\n eventName = 'swipedown'\n }\n } else if (touches.horizontal === -1) { // 左\n if (Math.abs(touches.diffY) > params.threshold) {\n eventName = 'swipeleft'\n }\n } else if (touches.horizontal === 1) { // 右\n if (Math.abs(touches.diffY) > params.threshold) {\n eventName = 'swiperight'\n }\n }\n // 清空方向\n touches.direction = 0\n touches.vertical = 0\n touches.horizontal = 0\n // 执行函数\n for (var n in element.touchEvents) {\n if (eventName === n) element.touchEvents[n](e)\n }\n }\n /* ------------------------\n Touch Events\n ------------------------ */\n // 绑定事件\n var attach = function () {\n if (Object.keys(element.touchEvents || {}).length === 0) {\n element.touchEvents = {}\n element['addEventListener']('touchstart', onTouchStart, false)\n element['addEventListener']('touchend', onTouchEnd, false)\n }\n element.touchEvents[type] = handler\n }\n // 移除事件\n var detach = function () {\n if (element.touchEvents) delete element.touchEvents[type]\n if (Object.keys(element.touchEvents || {}).length === 0) {\n element['removeEventListener']('touchstart', onTouchStart, false)\n element['removeEventListener']('touchend', onTouchEnd, false)\n }\n }\n // 添加或移除事件\n if (isDetach) {\n detach()\n } else {\n attach()\n }\n }\n /**\n * 摇动事件\n * @param {DOM} element 无\n * @param {String} type 事件名称, 此函数处理shake事件\n * @param {Function} handler 句柄, handler(e)\n * @param {Boolean} isDetach 是否移除绑定事件\n */\n var _shake_handler = null\n var _shake_threshold = 3000 // 晃动速度\n var _shake_lastUpdate = 0 // 设置最后更新时间, 用于对比\n var _shake_curShakeX = 0\n var _shake_curShakeY = 0\n var _shake_curShakeZ = 0\n var _shake_lastShakeX = 0\n var _shake_lastShakeY = 0\n var _shake_lastShakeZ = 0\n var _shakeEventHandler = function (e) {\n var acceleration = e.accelerationIncludingGravity // 获得重力加速\n var curTime = new Date().getTime()// 获得当前时间戳\n if ((curTime - _shake_lastUpdate) > 100) {\n var diffTime = curTime - _shake_lastUpdate // 时间差\n _shake_lastUpdate = curTime\n _shake_curShakeX = acceleration.x // x轴加速度\n _shake_curShakeY = acceleration.y // y轴加速度\n _shake_curShakeZ = acceleration.z // z轴加速度\n var speed = Math.abs(_shake_curShakeX + _shake_curShakeY + _shake_curShakeZ - _shake_lastShakeX - _shake_lastShakeY - _shake_lastShakeZ) / diffTime * 10000\n if (speed > _shake_threshold) {\n e.speed = speed\n if (_shake_handler) _shake_handler(e)\n }\n _shake_lastShakeX = _shake_curShakeX\n _shake_lastShakeY = _shake_curShakeY\n _shake_lastShakeZ = _shake_curShakeZ\n }\n }\n var _shakeEvent = function (element, type, handler, isDetach) {\n _shake_handler = handler\n function attach () {\n window.addEventListener('devicemotion', _shakeEventHandler, false)\n }\n function detach () {\n window.removeEventListener('devicemotion', _shakeEventHandler, false);\n }\n // 添加或移除事件\n if (isDetach) {\n detach()\n } else {\n attach()\n }\n }\n /**\n * 返回\n */\n return {\n addHandler: function (element, type, handler, params) { // params用于多次点击时控制次数与时长\n // 自定义事件 countclick\n if (type === 'countclick') {\n _countClickEvent(element, 'countclick', handler, false, params) // params: {count: 10, timeout: 5000}\n return\n }\n // touch兼容PC事件\n var isSupportTouch = 'ontouchstart' in window\n if (!isSupportTouch) {\n if (type === 'touchstart') type = 'mousedown'\n if (type === 'touchmove') type = 'mousemove'\n if (type === 'touchend') type = 'mouseup'\n if (type === 'touchcancel') type = 'mouseup'\n if (type === 'tap') type = 'click'\n } else {\n // 自定义事件 tap | swipeleft | swiperight | swipedown | swipeup\n if (type === 'tap' || type === 'swipeleft' || type === 'swiperight' || type === 'swipedown' || type === 'swipeup') {\n _touchEvent(element, type, handler)\n return\n }\n }\n // 重力感应事件\n if (type === 'shake') {\n if (window.DeviceMotionEvent) {\n _shakeEvent(element, 'shake', handler)\n } else {\n console.warn('此设备不支持重力感应')\n }\n return\n }\n // 系统事件\n if (element.addEventListener) {\n element.addEventListener(type, handler, false)\n } else if (element.attachEvent) {\n element.attachEvent('on' + type, handler)\n } else {\n element['on' + type] = handler\n }\n },\n removeHandler: function (element, type, handler) {\n // 自定义事件 countclick\n if (type === 'countclick') {\n _countClickEvent(element, 'countclick', null, true)\n return\n }\n // touch兼容PC事件\n var isSupportTouch = 'ontouchstart' in window\n if (!isSupportTouch) {\n if (type === 'touchstart') type = 'mousedown'\n if (type === 'touchmove') type = 'mousemove'\n if (type === 'touchend') type = 'mouseup'\n if (type === 'touchcancel') type = 'mouseup'\n if (type === 'tap') type = 'click'\n } else {\n // 自定义事件 tap | swipeleft | swiperight | swipedown | swipeup\n if (type === 'tap' || type === 'swipeleft' || type === 'swiperight' || type === 'swipedown' || type === 'swipeup') {\n _touchEvent(element, type, handler, true)\n return\n }\n }\n // 重力感应事件\n if (type === 'shake') {\n if (window.DeviceMotionEvent) {\n _shakeEvent(element, 'shake', handler, true)\n } else {\n console.warn('此设备不支持重力感应')\n }\n return\n }\n // 系统事件\n if (element.removeEventListener) {\n element.removeEventListener(type, handler, false)\n } else if (element.detachEvent) {\n element.detachEvent('on' + type, handler)\n } else {\n element['on' + type] = null\n }\n },\n preventDefault: function (e) {\n if (e.preventDefault) {\n e.preventDefault()\n } else {\n e.returnValue = false\n }\n },\n stopPropagation: function (e) {\n if (e.stopPropagation) {\n e.stopPropagation()\n } else {\n e.cancelBubble = true\n }\n },\n event: function (e) {\n return e || window.e\n },\n type: function (e) {\n return e.type\n },\n target: function (e) {\n return e.target || e.srcElement\n }\n }\n})()\n\nexport default EventUtil\n","import FastClick from './FastClick.js';\n\nexport default FastClick;\n","import Form from './Form.js';\n\nexport default Form;\n","// Form 表单元素控制提交\nvar Form = function (container, params) {\n /* --------------------\n Model\n -------------------- */\n var defaults = {\n ignoreClass: null // 过滤表单元素\n /* callback\n onSubmit:function(selected)\n */\n }\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n // Form\n var s = this\n // Params\n s.params = params\n // Container\n s.container = typeof container === 'string' ? document.querySelector(container) : container\n if (!s.container) {\n console.log('SeedsUI Error:未找到Form表单的DOM对象,请检查传入参数是否正确')\n return\n }\n // 表单元素\n s.fields = []\n s.update = function () {\n s.fields = []\n // 获取有效的表单元素\n for (var i = 0; i < s.container.elements.length; i++) {\n var field = s.container.elements[i]\n // 过滤没有name的表单元素\n if (!field.type || !field.name) {\n continue\n }\n // 过滤button、reset、submit\n if (field.type === 'button' || field.type === 'reset' || field.type === 'submit') {\n continue\n }\n // 过滤未选中的checkbox和radio\n if (field.type === 'radio' || field.type === 'checkbox') {\n if (!field.checked) {\n continue\n }\n }\n if (s.params.ignoreClass && field.classList.contains(s.params.ignoreClass)) {\n continue\n }\n // push到数组里\n s.fields.push(field)\n }\n }\n s.update()\n\n /* --------------------\n Method\n -------------------- */\n // 设置fields对象\n s.setFields = function (fields) {\n s.fields = fields\n }\n // 添加fields对象\n s.pushField = function (field) {\n s.fields.push(field)\n }\n\n s.selected = {}\n s.selectedString = []\n // 添加已填值\n s.addSelected = function (field) {\n // 字符串格式\n s.selectedString.push(field.name + '=' + field.value)\n // Json格式\n if (s.selected[field.name]) {\n s.selected[field.name].push(field.value)\n } else {\n s.selected[field.name] = []\n s.selected[field.name].push(field.value)\n }\n }\n // 表单Json化\n s.serializeJson = function () {\n var field = null\n for (var i = 0; i < s.fields.length; i++) {\n field = s.fields[i]\n // 如果是多选框,则每个值单独一个条目\n if (field.type === 'select-one' || field.type === 'select-multiple') {\n for (var j = 0; j < field.options.length; j++) {\n var option = field.options[j]\n if (option.selected) {\n s.addSelected(field)\n }\n }\n } else {\n s.addSelected(field)\n }\n }\n return s.selected\n }\n // 表单序列化\n s.serialize = function () {\n // 获得字符串\n return s.selectedString.join('&')\n }\n // callback表单提交\n if (s.params.onSubmit) {\n this.container.addEventListener('submit', function (e) {\n s.params.onSubmit(e, s.selected)\n }, false)\n }\n}\n\nexport default Form\n","import History from './History.js';\n\nexport default History;\n","// History 单页模式\nvar History = function (params) {\n /* ------------------------\n Model\n ------------------------ */\n var defaults = {\n enableStorage: true,\n historyKey: 'my_history',\n useHash: true\n /* callbacks\n onInit:function(History)// 初始化\n onBack:function(History)// 返回\n onForward:function(History)// 前进\n */\n }\n\n params = params || {}\n for (var def in defaults) {\n if (params[def] === undefined) {\n params[def] = defaults[def]\n }\n }\n var s = this\n s.params = params\n\n s.list = []\n s.discardList = []\n s.currentHash = ''\n s.prevHash = ''\n\n // 保存到storage中\n var storage = window.sessionStorage\n var storageHistory = storage.getItem(s.params.historyKey)\n if (s.params.enableStorage && storageHistory) s.list = storageHistory.split(',')\n\n /* ------------------------\n Method\n ------------------------ */\n s.saveList = function () {\n if (s.params.enableStorage) storage.setItem(s.params.historyKey, s.list)\n }\n s.clearList = function () {\n s.list = []\n storage.removeItem(s.params.historyKey)\n }\n\n s.add = function (hash, enableHistory) {\n s.list.push(hash)\n // 历史记录保存到本地数据库中\n s.saveList()\n // 是否添加到历史记录\n if (enableHistory) {\n try {\n window.history.pushState({\n href: hash\n }, document.title, hash)\n } catch (err) {\n console.log('SeedsUI Error:添加history失败')\n }\n }\n }\n s.replace = function (hash, enableHistory) {\n s.prevHash = s.list.pop()\n s.list.push(hash)\n // 历史记录保存到本地数据库中\n s.saveList()\n // 是否添加到历史记录\n if (enableHistory) {\n try {\n window.history.replaceState({\n href: hash\n }, document.title, hash)\n } catch (err) {\n console.log('SeedsUI Error:替换history失败')\n }\n }\n }\n\n s.remove = function (hash) {\n s.list = s.list.filter(function (n) {\n return n !== hash\n })\n // 历史记录保存到本地数据库中\n s.saveList()\n }\n\n /* ------------------------\n Control\n ------------------------ */\n s.events = function (detach) {\n var action = detach ? 'removeEventListener' : 'addEventListener'\n // hash值监听\n window[action]('popstate', s.onPopstate, false)\n // window[action]('hashchange',s.onPopstate,false)\n }\n s.attach = function (event) {\n s.events()\n }\n s.detach = function (event) {\n s.events(true)\n }\n s.onPopstate = function (e) {\n // console.log('location: ' + document.location + ', state: ' + JSON.stringify(e.state))\n s.currentHash = s.params.useHash ? location.hash : location.href\n // 返回到根部\n if (s.params.useHash && location.hash === '') {\n s.onBack()\n // console.log('根部——当前hash:'+s.currentHash+'关闭页面:'+s.prevHash)\n return\n }\n\n // 再次进入当前hash,则不工作\n if (s.list.indexOf(s.currentHash) >= 0 && s.list[s.list.length - 1] === s.currentHash) {\n return\n }\n\n // 前进与后退\n if (s.list.indexOf(s.currentHash) === -1) { // 前进\n s.onForward()\n // Callback onForward\n if (s.params.onForward) s.params.onForward(s)\n\n // console.log('前进——当前hash:'+s.currentHash+'上个页面:'+s.prevHash)\n } else { // 后退\n s.onBack()\n // console.log('后退——当前hash:'+s.currentHash+'关闭页面:'+s.prevHash)\n }\n }\n s.onBack = function () {\n s.prevHash = s.list.pop()\n // 如果返回二级及以上,如history.go(-2)\n if (s.currentHash !== s.list[s.list.length - 1]) {\n s.discardList = []\n var discardLen = s.list.length - 1 - s.list.indexOf(s.currentHash)\n for (var i = 0; i < discardLen; i++) {\n s.discardList.push(s.list.pop())\n }\n } else {\n s.discardList = []\n }\n // Callback onBack\n if (s.params.onBack) s.params.onBack(s)\n // 历史记录保存到本地数据库中\n s.saveList()\n }\n s.onForward = function () {\n s.prevHash = s.list[s.list.length - 1] || ''\n s.list.push(s.currentHash)\n // 历史记录保存到本地数据库中\n s.saveList()\n }\n s.onInit = function () {\n // Callback onInit\n if (s.params.onInit) s.params.onInit(s)\n // 添加事件绑定\n s.attach()\n }\n s.init = function () {\n s.onInit()\n }\n s.init()\n}\n\nexport default History\n","import PubSub from './PubSub.js';\n\nexport default PubSub;\n","// PubSub 订阅发布\nvar PubSub = (function () {\n var _listen\n var _trigger\n var _remove\n var _default = 'default'\n var namespaceCache = {}\n var _create\n var each = function (arr, fn) {\n var ret\n for (var i = 0; i < arr.length; i++) {\n var n = arr[i]\n ret = fn.call(n, i, n)\n }\n return ret\n }\n\n _listen = function (key, fn, cache) {\n if (!cache[key]) {\n cache[key] = []\n }\n cache[key].push(fn)\n }\n _remove = function (key, cache, fn) {\n if (!cache[key]) {\n return\n }\n if (fn) {\n for (var i = cache[key].length; i >= 0; i--) {\n if (cache[key] === fn) {\n cache[key].splice(i, 1)\n } else {\n cache[key] = []\n }\n }\n } else {\n cache[key] = []\n }\n }\n _trigger = function () {\n var cache = [].shift.call(arguments)\n var key = [].shift.call(arguments)\n var args = arguments\n var stack = cache[key]\n if (!stack || !stack.length) {\n return\n }\n return each(stack, function () {\n return this.apply(this, args)\n })\n }\n _create = function (ns) {\n var namespace = ns || _default\n var cache = {}\n var offlineStack = [] // 离线事件\n var ret = {\n listen: function (key, fn, last) {\n _listen(key, fn, cache)\n if (offlineStack === null) {\n return\n }\n if (last === 'last') {\n offlineStack.length && offlineStack.pop()()\n } else {\n each(offlineStack, function () {\n this()\n })\n }\n offlineStack = null\n },\n one: function (key, fn, last) {\n _remove(key, cache)\n this.listen(key, fn, last)\n },\n remove: function (key, fn) {\n _remove(key, cache, fn)\n },\n trigger: function () {\n var _self = this;\n [].unshift.call(arguments, cache)\n var args = arguments\n var fn = function () {\n return _trigger.apply(_self, args)\n }\n if (offlineStack) {\n return offlineStack.push(fn)\n }\n return fn()\n }\n }\n if (Object.prototype.toString.call(namespace).indexOf('object HTML') === 1 && namespace.getAttribute('id')) {\n namespace = namespace.getAttribute('id')\n }\n var result = namespace ? (namespaceCache[namespace] ? namespaceCache[namespace] : namespaceCache[namespace] = ret) : ret\n return result\n }\n return {\n create: _create,\n one: function (key, fn, last) {\n var event = this.create()\n event.one(key, fn, last)\n },\n remove: function (key, fn) {\n var event = this.create()\n event.remove(key, fn)\n },\n listen: function (key, fn, last) {\n var event = this.create()\n event.listen(key, fn, last)\n },\n trigger: function () {\n var event = this.create()\n event.trigger.apply(this, arguments)\n }\n }\n})()\n\nexport default PubSub\n/* *******************订阅发布******************* */\n/*\n<a class=\"button lg\" id=\"ID-BtnLogin\">登录</a>\n// 按钮\nvar btnLogin=document.getElementById('ID-BtnLogin');\n// 订阅\nPubSub.create('nsLogin').listen('login',userHandler);\nPubSub.create('nsLogin').listen('login',shopHandler);\nPubSub.create('nsLogin').listen('login',orderHandler);\n// 句柄\nfunction userHandler(e){\n console.log('初始化用户信息')\n}\nfunction shopHandler(e){\n console.log('初始化购物车')\n}\nfunction orderHandler(e){\n console.log('初始化单据')\n}\n// 发布\nbtnLogin.addEventListener('click',function(e){\n PubSub.create('nsLogin').trigger('login',e);\n},false);\n*/\n","import ValidateID from './ValidateID.js';\n\nexport default ValidateID;\n","// ValidateID\nvar ValidateID = (function () {\n var GB2260 = {'110000': '北京市', '110100': '北京市市辖区', '110101': '北京市东城区', '110102': '北京市西城区', '110103': '北京市崇文区', '110104': '北京市宣武区', '110105': '北京市朝阳区', '110106': '北京市丰台区', '110107': '北京市石景山区', '110108': '北京市海淀区', '110109': '北京市门头沟区', '110111': '北京市房山区', '110112': '北京市通州区', '110113': '北京市顺义区', '110200': '北京市县', '110221': '北京市昌平县', '110224': '北京市大兴县', '110226': '北京市平谷县', '110227': '北京市怀柔县', '110228': '北京市密云县', '110229': '北京市延庆县', '120000': '天津市', '120100': '天津市市辖区', '120101': '天津市和平区', '120102': '天津市河东区', '120103': '天津市河西区', '120104': '天津市南开区', '120105': '天津市河北区', '120106': '天津市红桥区', '120107': '天津市塘沽区', '120108': '天津市汉沽区', '120109': '天津市大港区', '120110': '天津市东丽区', '120111': '天津市西青区', '120112': '天津市津南区', '120113': '天津市北辰区', '120200': '天津市县', '120221': '天津市宁河县', '120222': '天津市武清县', '120223': '天津市静海县', '120224': '天津市宝坻县', '120225': '天津市蓟县', '130000': '河北省', '130100': '河北省石家庄市', '130101': '河北省石家庄市市辖区', '130102': '河北省石家庄市长安区', '130103': '河北省石家庄市桥东区', '130104': '河北省石家庄市桥西区', '130105': '河北省石家庄市新华区', '130106': '河北省石家庄市郊区', '130107': '河北省石家庄市井陉矿区', '130121': '河北省石家庄市井陉县', '130123': '河北省石家庄市正定县', '130124': '河北省石家庄市栾城县', '130125': '河北省石家庄市行唐县', '130126': '河北省石家庄市灵寿县', '130127': '河北省石家庄市高邑县', '130128': '河北省石家庄市深泽县', '130129': '河北省石家庄市赞皇县', '130130': '河北省石家庄市无极县', '130131': '河北省石家庄市平山县', '130132': '河北省石家庄市元氏县', '130133': '河北省石家庄市赵县', '130181': '河北省石家庄市辛集市', '130182': '河北省石家庄市藁城市', '130183': '河北省石家庄市晋州市', '130184': '河北省石家庄市新乐市', '130185': '河北省石家庄市鹿泉市', '130200': '河北省唐山市', '130201': '河北省唐山市市辖区', '130202': '河北省唐山市路南区', '130203': '河北省唐山市路北区', '130204': '河北省唐山市古冶区', '130205': '河北省唐山市开平区', '130206': '河北省唐山市新区', '130221': '河北省唐山市丰润县', '130223': '河北省唐山市滦县', '130224': '河北省唐山市滦南县', '130225': '河北省唐山市乐亭县', '130227': '河北省唐山市迁西县', '130229': '河北省唐山市玉田县', '130230': '河北省唐山市唐海县', '130281': '河北省唐山市遵化市', '130282': '河北省唐山市丰南市', '130283': '河北省唐山市迁安市', '130300': '河北省秦皇岛市秦皇岛市', '130301': '河北省秦皇岛市市辖区', '130302': '河北省秦皇岛市海港区', '130303': '河北省秦皇岛市山海关区', '130304': '河北省秦皇岛市北戴河区', '130321': '河北省秦皇岛市青龙满族自治县', '130322': '河北省秦皇岛市昌黎县', '130323': '河北省秦皇岛市抚宁县', '130324': '河北省秦皇岛市卢龙县', '130400': '河北省邯郸市邯郸市', '130401': '河北省邯郸市市辖区', '130402': '河北省邯郸市邯山区', '130403': '河北省邯郸市丛台区', '130404': '河北省邯郸市复兴区', '130406': '河北省邯郸市峰峰矿区', '130421': '河北省邯郸市邯郸县', '130423': '河北省邯郸市临漳县', '130424': '河北省邯郸市成安县', '130425': '河北省邯郸市大名县', '130426': '河北省邯郸市涉县', '130427': '河北省邯郸市磁县', '130428': '河北省邯郸市肥乡县', '130429': '河北省邯郸市永年县', '130430': '河北省邯郸市邱县', '130431': '河北省邯郸市鸡泽县', '130432': '河北省邯郸市广平县', '130433': '河北省邯郸市馆陶县', '130434': '河北省邯郸市魏县', '130435': '河北省邯郸市曲周县', '130481': '河北省邯郸市武安市', '130500': '河北省邢台市', '130501': '河北省邢台市市辖区', '130502': '河北省邢台市桥东区', '130503': '河北省邢台市桥西区', '130521': '河北省邢台市邢台县', '130522': '河北省邢台市临城县', '130523': '河北省邢台市内丘县', '130524': '河北省邢台市柏乡县', '130525': '河北省邢台市隆尧县', '130526': '河北省邢台市任县', '130527': '河北省邢台市南和县', '130528': '河北省邢台市宁晋县', '130529': '河北省邢台市巨鹿县', '130530': '河北省邢台市新河县', '130531': '河北省邢台市广宗县', '130532': '河北省邢台市平乡县', '130533': '河北省邢台市威县', '130534': '河北省邢台市清河县', '130535': '河北省邢台市临西县', '130581': '河北省邢台市南宫市', '130582': '河北省邢台市沙河市', '130600': '河北省保定市', '130601': '河北省保定市市辖区', '130602': '河北省保定市新市区', '130603': '河北省保定市北市区', '130604': '河北省保定市南市区', '130621': '河北省保定市满城县', '130622': '河北省保定市清苑县', '130623': '河北省保定市涞水县', '130624': '河北省保定市阜平县', '130625': '河北省保定市徐水县', '130626': '河北省保定市定兴县', '130627': '河北省保定市唐县', '130628': '河北省保定市高阳县', '130629': '河北省保定市容城县', '130630': '河北省保定市涞源县', '130631': '河北省保定市望都县', '130632': '河北省保定市安新县', '130633': '河北省保定市易县', '130634': '河北省保定市曲阳县', '130635': '河北省保定市蠡县', '130636': '河北省保定市顺平县', '130637': '河北省保定市博野县', '130638': '河北省保定市雄县', '130681': '河北省保定市涿州市', '130682': '河北省保定市定州市', '130683': '河北省保定市安国市', '130684': '河北省保定市高碑店市', '130700': '河北省张家口市', '130701': '河北省张家口市市辖区', '130702': '河北省张家口市桥东区', '130703': '河北省张家口市桥西区', '130705': '河北省张家口市宣化区', '130706': '河北省张家口市下花园区', '130721': '河北省张家口市宣化县', '130722': '河北省张家口市张北县', '130723': '河北省张家口市康保县', '130724': '河北省张家口市沽源县', '130725': '河北省张家口市尚义县', '130726': '河北省张家口市蔚县', '130727': '河北省张家口市阳原县', '130728': '河北省张家口市怀安县', '130729': '河北省张家口市万全县', '130730': '河北省张家口市怀来县', '130731': '河北省张家口市涿鹿县', '130732': '河北省张家口市赤城县', '130733': '河北省张家口市崇礼县', '130800': '河北省承德市', '130801': '河北省承德市市辖区', '130802': '河北省承德市双桥区', '130803': '河北省承德市双滦区', '130804': '河北省承德市鹰手营子矿区', '130821': '河北省承德市承德县', '130822': '河北省承德市兴隆县', '130823': '河北省承德市平泉县', '130824': '河北省承德市滦平县', '130825': '河北省承德市隆化县', '130826': '河北省承德市丰宁满族自治县', '130827': '河北省承德市宽城满族自治县', '130828': '河北省承德市围场满族蒙古族自治县', '130900': '河北省沧州市', '130901': '河北省沧州市市辖区', '130902': '河北省沧州市新华区', '130903': '河北省沧州市运河区', '130921': '河北省沧州市沧县', '130922': '河北省沧州市青县', '130923': '河北省沧州市东光县', '130924': '河北省沧州市海兴县', '130925': '河北省沧州市盐山县', '130926': '河北省沧州市肃宁县', '130927': '河北省沧州市南皮县', '130928': '河北省沧州市吴桥县', '130929': '河北省沧州市献县', '130930': '河北省沧州市孟村回族自治县', '130981': '河北省沧州市泊头市', '130982': '河北省沧州市任丘市', '130983': '河北省沧州市黄骅市', '130984': '河北省沧州市河间市', '131000': '河北省廊坊市', '131001': '河北省廊坊市市辖区', '131002': '河北省廊坊市安次区', '131022': '河北省廊坊市固安县', '131023': '河北省廊坊市永清县', '131024': '河北省廊坊市香河县', '131025': '河北省廊坊市大城县', '131026': '河北省廊坊市文安县', '131028': '河北省廊坊市大厂回族自治县', '131081': '河北省廊坊市霸州市', '131082': '河北省廊坊市三河市', '131100': '河北省衡水市', '131101': '河北省衡水市市辖区', '131102': '河北省衡水市桃城区', '131121': '河北省衡水市枣强县', '131122': '河北省衡水市武邑县', '131123': '河北省衡水市武强县', '131124': '河北省衡水市饶阳县', '131125': '河北省衡水市安平县', '131126': '河北省衡水市故城县', '131127': '河北省衡水市景县', '131128': '河北省衡水市阜城县', '131181': '河北省衡水市冀州市', '131182': '河北省衡水市深州市', '140000': '山西省', '140100': '山西省太原市', '140101': '山西省太原市市辖区', '140105': '山西省太原市小店区', '140106': '山西省太原市迎泽区', '140107': '山西省太原市杏花岭区', '140108': '山西省太原市尖草坪区', '140109': '山西省太原市万柏林区', '140110': '山西省太原市晋源区', '140121': '山西省太原市清徐县', '140122': '山西省太原市阳曲县', '140123': '山西省太原市娄烦县', '140181': '山西省太原市古交市', '140200': '山西省大同市', '140201': '山西省大同市市辖区', '140202': '山西省大同市城区', '140203': '山西省大同市矿区', '140211': '山西省大同市南郊区', '140212': '山西省大同市新荣区', '140221': '山西省大同市阳高县', '140222': '山西省大同市天镇县', '140223': '山西省大同市广灵县', '140224': '山西省大同市灵丘县', '140225': '山西省大同市浑源县', '140226': '山西省大同市左云县', '140227': '山西省大同市大同县', '140300': '山西省阳泉市', '140301': '山西省阳泉市市辖区', '140302': '山西省阳泉市城区', '140303': '山西省阳泉市矿区', '140311': '山西省阳泉市郊区', '140321': '山西省阳泉市平定县', '140322': '山西省阳泉市盂县', '140400': '山西省长治市', '140401': '山西省长治市市辖区', '140402': '山西省长治市城区', '140411': '山西省长治市郊区', '140421': '山西省长治市长治县', '140423': '山西省长治市襄垣县', '140424': '山西省长治市屯留县', '140425': '山西省长治市平顺县', '140426': '山西省长治市黎城县', '140427': '山西省长治市壶关县', '140428': '山西省长治市长子县', '140429': '山西省长治市武乡县', '140430': '山西省长治市沁县', '140431': '山西省长治市沁源县', '140481': '山西省长治市潞城市', '140500': '山西省晋城市', '140501': '山西省晋城市市辖区', '140502': '山西省晋城市城区', '140521': '山西省晋城市沁水县', '140522': '山西省晋城市阳城县', '140524': '山西省晋城市陵川县', '140525': '山西省晋城市泽州县', '140581': '山西省晋城市高平市', '140600': '山西省晋城市朔州市', '140601': '山西省晋城市市辖区', '140602': '山西省晋城市朔城区', '140603': '山西省晋城市平鲁区', '140621': '山西省晋城市山阴县', '140622': '山西省晋城市应县', '140623': '山西省晋城市右玉县', '140624': '山西省晋城市怀仁县', '142200': '山西省忻州地区', '142201': '山西省忻州地区忻州市', '142202': '山西省忻州地区原平市', '142222': '山西省忻州地区定襄县', '142223': '山西省忻州地区五台县', '142225': '山西省忻州地区代县', '142226': '山西省忻州地区繁峙县', '142227': '山西省忻州地区宁武县', '142228': '山西省忻州地区静乐县', '142229': '山西省忻州地区神池县', '142230': '山西省忻州地区五寨县', '142231': '山西省忻州地区岢岚县', '142232': '山西省忻州地区河曲县', '142233': '山西省忻州地区保德县', '142234': '山西省忻州地区偏关县', '142300': '山西省忻州地区吕梁地区', '142301': '山西省忻州地区孝义市', '142302': '山西省忻州地区离石市', '142303': '山西省忻州地区汾阳市', '142322': '山西省忻州地区文水县', '142323': '山西省忻州地区交城县', '142325': '山西省忻州地区兴县', '142326': '山西省忻州地区临县', '142327': '山西省忻州地区柳林县', '142328': '山西省忻州地区石楼县', '142329': '山西省忻州地区岚县', '142330': '山西省忻州地区方山县', '142332': '山西省忻州地区中阳县', '142333': '山西省忻州地区交口县', '142400': '山西省晋中地区', '142401': '山西省晋中地区榆次市', '142402': '山西省晋中地区介休市', '142421': '山西省晋中地区榆社县', '142422': '山西省晋中地区左权县', '142423': '山西省晋中地区和顺县', '142424': '山西省晋中地区昔阳县', '142427': '山西省晋中地区寿阳县', '142429': '山西省晋中地区太谷县', '142430': '山西省晋中地区祁县', '142431': '山西省晋中地区平遥县', '142433': '山西省晋中地区灵石县', '142600': '山西省临汾地区', '142601': '山西省临汾地区临汾市', '142602': '山西省临汾地区侯马市', '142603': '山西省临汾地区霍州市', '142621': '山西省临汾地区曲沃县', '142622': '山西省临汾地区翼城县', '142623': '山西省临汾地区襄汾县', '142625': '山西省临汾地区洪洞县', '142627': '山西省临汾地区古县', '142628': '山西省临汾地区安泽县', '142629': '山西省临汾地区浮山县', '142630': '山西省临汾地区吉县', '142631': '山西省临汾地区乡宁县', '142632': '山西省临汾地区蒲县', '142633': '山西省临汾地区大宁县', '142634': '山西省临汾地区永和县', '142635': '山西省临汾地区隰县', '142636': '山西省临汾地区汾西县', '142700': '山西省运城地区', '142701': '山西省运城地区运城市', '142702': '山西省运城地区永济市', '142703': '山西省运城地区河津市', '142723': '山西省运城地区芮城县', '142724': '山西省运城地区临猗县', '142725': '山西省运城地区万荣县', '142726': '山西省运城地区新绛县', '142727': '山西省运城地区稷山县', '142729': '山西省运城地区闻喜县', '142730': '山西省运城地区夏县', '142731': '山西省运城地区绛县', '142732': '山西省运城地区平陆县', '142733': '山西省运城地区垣曲县', '150000': '内蒙古自治区', '150100': '内蒙古自治区呼和浩特市', '150101': '内蒙古自治区呼和浩特市市辖区', '150102': '内蒙古自治区呼和浩特市新城区', '150103': '内蒙古自治区呼和浩特市回民区', '150104': '内蒙古自治区呼和浩特市玉泉区', '150105': '内蒙古自治区呼和浩特市郊区', '150121': '内蒙古自治区呼和浩特市土默特左旗', '150122': '内蒙古自治区呼和浩特市托克托县', '150123': '内蒙古自治区呼和浩特市和林格尔县', '150124': '内蒙古自治区呼和浩特市清水河县', '150125': '内蒙古自治区呼和浩特市武川县', '150200': '内蒙古自治区包头市', '150201': '内蒙古自治区包头市市辖区', '150202': '内蒙古自治区包头市东河区', '150203': '内蒙古自治区包头市昆都伦区', '150204': '内蒙古自治区包头市青山区', '150205': '内蒙古自治区包头市石拐矿区', '150206': '内蒙古自治区包头市白云矿区', '150207': '内蒙古自治区包头市郊区', '150221': '内蒙古自治区包头市土默特右旗', '150222': '内蒙古自治区包头市固阳县', '150223': '内蒙古自治区包头市达尔罕茂明安联合旗', '150300': '内蒙古自治区乌海市', '150301': '内蒙古自治区乌海市市辖区', '150302': '内蒙古自治区乌海市海勃湾区', '150303': '内蒙古自治区乌海市海南区', '150304': '内蒙古自治区乌海市乌达区', '150400': '内蒙古自治区赤峰市', '150401': '内蒙古自治区赤峰市市辖区', '150402': '内蒙古自治区赤峰市红山区', '150403': '内蒙古自治区赤峰市元宝山区', '150404': '内蒙古自治区赤峰市松山区', '150421': '内蒙古自治区赤峰市阿鲁科尔沁旗', '150422': '内蒙古自治区赤峰市巴林左旗', '150423': '内蒙古自治区赤峰市巴林右旗', '150424': '内蒙古自治区赤峰市林西县', '150425': '内蒙古自治区赤峰市克什克腾旗', '150426': '内蒙古自治区赤峰市翁牛特旗', '150428': '内蒙古自治区赤峰市喀喇沁旗', '150429': '内蒙古自治区赤峰市宁城县', '150430': '内蒙古自治区赤峰市敖汉旗', '152100': '内蒙古自治区呼伦贝尔盟', '152101': '内蒙古自治区呼伦贝尔盟海拉尔市', '152102': '内蒙古自治区呼伦贝尔盟满洲里市', '152103': '内蒙古自治区呼伦贝尔盟扎兰屯市', '152104': '内蒙古自治区呼伦贝尔盟牙克石市', '152105': '内蒙古自治区呼伦贝尔盟根河市', '152106': '内蒙古自治区呼伦贝尔盟额尔古纳市', '152122': '内蒙古自治区呼伦贝尔盟阿荣旗', '152123': '内蒙古自治区呼伦贝尔盟莫力达瓦达斡尔族自治旗', '152127': '内蒙古自治区呼伦贝尔盟鄂伦春自治旗', '152128': '内蒙古自治区呼伦贝尔盟鄂温克族自治旗', '152129': '内蒙古自治区呼伦贝尔盟新巴尔虎右旗', '152130': '内蒙古自治区呼伦贝尔盟新巴尔虎左旗', '152131': '内蒙古自治区呼伦贝尔盟陈巴尔虎旗', '152200': '内蒙古自治区兴安盟', '152201': '内蒙古自治区兴安盟乌兰浩特市', '152202': '内蒙古自治区兴安盟阿尔山市', '152221': '内蒙古自治区兴安盟科尔沁右翼前旗', '152222': '内蒙古自治区兴安盟科尔沁右翼中旗', '152223': '内蒙古自治区兴安盟扎赉特旗', '152224': '内蒙古自治区兴安盟突泉县', '152300': '内蒙古自治区哲里木盟', '152301': '内蒙古自治区哲里木盟通辽市', '152302': '内蒙古自治区哲里木盟霍林郭勒市', '152322': '内蒙古自治区哲里木盟科尔沁左翼中旗', '152323': '内蒙古自治区哲里木盟科尔沁左翼后旗', '152324': '内蒙古自治区哲里木盟开鲁县', '152325': '内蒙古自治区哲里木盟库伦旗', '152326': '内蒙古自治区哲里木盟奈曼旗', '152327': '内蒙古自治区哲里木盟扎鲁特旗', '152500': '内蒙古自治区锡林郭勒盟', '152501': '内蒙古自治区锡林郭勒盟二连浩特市', '152502': '内蒙古自治区锡林郭勒盟锡林浩特市', '152522': '内蒙古自治区锡林郭勒盟阿巴嘎旗', '152523': '内蒙古自治区锡林郭勒盟苏尼特左旗', '152524': '内蒙古自治区锡林郭勒盟苏尼特右旗', '152525': '内蒙古自治区锡林郭勒盟东乌珠穆沁旗', '152526': '内蒙古自治区锡林郭勒盟西乌珠穆沁旗', '152527': '内蒙古自治区锡林郭勒盟太仆寺旗', '152528': '内蒙古自治区锡林郭勒盟镶黄旗', '152529': '内蒙古自治区锡林郭勒盟正镶白旗', '152530': '内蒙古自治区锡林郭勒盟正蓝旗', '152531': '内蒙古自治区锡林郭勒盟多伦县', '152600': '内蒙古自治区乌兰察布盟', '152601': '内蒙古自治区乌兰察布盟集宁市', '152602': '内蒙古自治区乌兰察布盟丰镇市', '152624': '内蒙古自治区乌兰察布盟卓资县', '152625': '内蒙古自治区乌兰察布盟化德县', '152626': '内蒙古自治区乌兰察布盟商都县', '152627': '内蒙古自治区乌兰察布盟兴和县', '152629': '内蒙古自治区乌兰察布盟凉城县', '152630': '内蒙古自治区乌兰察布盟察哈尔右翼前旗', '152631': '内蒙古自治区乌兰察布盟察哈尔右翼中旗', '152632': '内蒙古自治区乌兰察布盟察哈尔右翼后旗', '152634': '内蒙古自治区乌兰察布盟四子王旗', '152700': '内蒙古自治区伊克昭盟', '152701': '内蒙古自治区伊克昭盟东胜市', '152722': '内蒙古自治区伊克昭盟达拉特旗', '152723': '内蒙古自治区伊克昭盟准格尔旗', '152724': '内蒙古自治区伊克昭盟鄂托克前旗', '152725': '内蒙古自治区伊克昭盟鄂托克旗', '152726': '内蒙古自治区伊克昭盟杭锦旗', '152727': '内蒙古自治区伊克昭盟乌审旗', '152728': '内蒙古自治区伊克昭盟伊金霍洛旗', '152800': '内蒙古自治区巴彦淖尔盟', '152801': '内蒙古自治区巴彦淖尔盟临河市', '152822': '内蒙古自治区巴彦淖尔盟五原县', '152823': '内蒙古自治区巴彦淖尔盟磴口县', '152824': '内蒙古自治区巴彦淖尔盟乌拉特前旗', '152825': '内蒙古自治区巴彦淖尔盟乌拉特中旗', '152826': '内蒙古自治区巴彦淖尔盟乌拉特后旗', '152827': '内蒙古自治区巴彦淖尔盟杭锦后旗', '152900': '内蒙古自治区阿拉善盟', '152921': '内蒙古自治区阿拉善盟阿拉善左旗', '152922': '内蒙古自治区阿拉善盟阿拉善右旗', '152923': '内蒙古自治区阿拉善盟额济纳旗', '210000': '辽宁省', '210100': '辽宁省沈阳市', '210101': '辽宁省沈阳市市辖区', '210102': '辽宁省沈阳市和平区', '210103': '辽宁省沈阳市沈河区', '210104': '辽宁省沈阳市大东区', '210105': '辽宁省沈阳市皇姑区', '210106': '辽宁省沈阳市铁西区', '210111': '辽宁省沈阳市苏家屯区', '210112': '辽宁省沈阳市东陵区', '210113': '辽宁省沈阳市新城子区', '210114': '辽宁省沈阳市于洪区', '210122': '辽宁省沈阳市辽中县', '210123': '辽宁省沈阳市康平县', '210124': '辽宁省沈阳市法库县', '210181': '辽宁省沈阳市新民市', '210200': '辽宁省大连市', '210201': '辽宁省大连市市辖区', '210202': '辽宁省大连市中山区', '210203': '辽宁省大连市西岗区', '210204': '辽宁省大连市沙河口区', '210211': '辽宁省大连市甘井子区', '210212': '辽宁省大连市旅顺口区', '210213': '辽宁省大连市金州区', '210224': '辽宁省大连市长海县', '210281': '辽宁省大连市瓦房店市', '210282': '辽宁省大连市普兰店市', '210283': '辽宁省大连市庄河市', '210300': '辽宁省鞍山市', '210301': '辽宁省鞍山市市辖区', '210302': '辽宁省鞍山市铁东区', '210303': '辽宁省鞍山市铁西区', '210304': '辽宁省鞍山市立山区', '210311': '辽宁省鞍山市千山区', '210321': '辽宁省鞍山市台安县', '210323': '辽宁省鞍山市岫岩满族自治县', '210381': '辽宁省鞍山市海城市', '210400': '辽宁省抚顺市', '210401': '辽宁省抚顺市市辖区', '210402': '辽宁省抚顺市新抚区', '210403': '辽宁省抚顺市露天区', '210404': '辽宁省抚顺市望花区', '210411': '辽宁省抚顺市顺城区', '210421': '辽宁省抚顺市抚顺县', '210422': '辽宁省抚顺市新宾满族自治县', '210423': '辽宁省抚顺市清原满族自治县', '210500': '辽宁省本溪市', '210501': '辽宁省本溪市市辖区', '210502': '辽宁省本溪市平山区', '210503': '辽宁省本溪市溪湖区', '210504': '辽宁省本溪市明山区', '210505': '辽宁省本溪市南芬区', '210521': '辽宁省本溪市本溪满族自治县', '210522': '辽宁省本溪市桓仁满族自治县', '210600': '辽宁省丹东市', '210601': '辽宁省丹东市市辖区', '210602': '辽宁省丹东市元宝区', '210603': '辽宁省丹东市振兴区', '210604': '辽宁省丹东市振安区', '210624': '辽宁省丹东市宽甸满族自治县', '210681': '辽宁省丹东市东港市', '210682': '辽宁省丹东市凤城市', '210700': '辽宁省锦州市', '210701': '辽宁省锦州市市辖区', '210702': '辽宁省锦州市古塔区', '210703': '辽宁省锦州市凌河区', '210711': '辽宁省锦州市太和区', '210726': '辽宁省锦州市黑山县', '210727': '辽宁省锦州市义县', '210781': '辽宁省锦州市凌海市', '210782': '辽宁省锦州市北宁市', '210800': '辽宁省营口市', '210801': '辽宁省营口市市辖区', '210802': '辽宁省营口市站前区', '210803': '辽宁省营口市西市区', '210804': '辽宁省营口市鲅鱼圈区', '210811': '辽宁省营口市老边区', '210881': '辽宁省营口市盖州市', '210882': '辽宁省营口市大石桥市', '210900': '辽宁省阜新市', '210901': '辽宁省阜新市市辖区', '210902': '辽宁省阜新市海州区', '210903': '辽宁省阜新市新邱区', '210904': '辽宁省阜新市太平区', '210905': '辽宁省阜新市清河门区', '210911': '辽宁省阜新市细河区', '210921': '辽宁省阜新市阜新蒙古族自治县', '210922': '辽宁省阜新市彰武县', '211000': '辽宁省辽阳市', '211001': '辽宁省辽阳市市辖区', '211002': '辽宁省辽阳市白塔区', '211003': '辽宁省辽阳市文圣区', '211004': '辽宁省辽阳市宏伟区', '211005': '辽宁省辽阳市弓长岭区', '211011': '辽宁省辽阳市太子河区', '211021': '辽宁省辽阳市辽阳县', '211081': '辽宁省辽阳市灯塔市', '211100': '辽宁省盘锦市', '211101': '辽宁省盘锦市市辖区', '211102': '辽宁省盘锦市双台子区', '211103': '辽宁省盘锦市兴隆台区', '211121': '辽宁省盘锦市大洼县', '211122': '辽宁省盘锦市盘山县', '211200': '辽宁省铁岭市', '211201': '辽宁省铁岭市市辖区', '211202': '辽宁省铁岭市银州区', '211204': '辽宁省铁岭市清河区', '211221': '辽宁省铁岭市铁岭县', '211223': '辽宁省铁岭市西丰县', '211224': '辽宁省铁岭市昌图县', '211281': '辽宁省铁岭市铁法市', '211282': '辽宁省铁岭市开原市', '211300': '辽宁省朝阳市', '211301': '辽宁省朝阳市市辖区', '211302': '辽宁省朝阳市双塔区', '211303': '辽宁省朝阳市龙城区', '211321': '辽宁省朝阳市朝阳县', '211322': '辽宁省朝阳市建平县', '211324': '辽宁省朝阳市喀喇沁左翼蒙古族自治县', '211381': '辽宁省朝阳市北票市', '211382': '辽宁省朝阳市凌源市', '211400': '辽宁省葫芦岛市', '211401': '辽宁省葫芦岛市市辖区', '211402': '辽宁省葫芦岛市连山区', '211403': '辽宁省葫芦岛市龙港区', '211404': '辽宁省葫芦岛市南票区', '211421': '辽宁省葫芦岛市绥中县', '211422': '辽宁省葫芦岛市建昌县', '211481': '辽宁省葫芦岛市兴城市', '220000': '吉林省', '220100': '吉林省长春市', '220101': '吉林省长春市市辖区', '220102': '吉林省长春市南关区', '220103': '吉林省长春市宽城区', '220104': '吉林省长春市朝阳区', '220105': '吉林省长春市二道区', '220106': '吉林省长春市绿园区', '220112': '吉林省长春市双阳区', '220122': '吉林省长春市农安县', '220181': '吉林省长春市九台市', '220182': '吉林省长春市榆树市', '220183': '吉林省长春市德惠市', '220200': '吉林省吉林市', '220201': '吉林省吉林市市辖区', '220202': '吉林省吉林市昌邑区', '220203': '吉林省吉林市龙潭区', '220204': '吉林省吉林市船营区', '220211': '吉林省吉林市丰满区', '220221': '吉林省吉林市永吉县', '220281': '吉林省吉林市蛟河市', '220282': '吉林省吉林市桦甸市', '220283': '吉林省吉林市舒兰市', '220284': '吉林省吉林市磐石市', '220300': '吉林省四平市', '220301': '吉林省四平市市辖区', '220302': '吉林省四平市铁西区', '220303': '吉林省四平市铁东区', '220322': '吉林省四平市梨树县', '220323': '吉林省四平市伊通满族自治县', '220381': '吉林省四平市公主岭市', '220382': '吉林省四平市双辽市', '220400': '吉林省辽源市', '220401': '吉林省辽源市市辖区', '220402': '吉林省辽源市龙山区', '220403': '吉林省辽源市西安区', '220421': '吉林省辽源市东丰县', '220422': '吉林省辽源市东辽县', '220500': '吉林省通化市', '220501': '吉林省通化市市辖区', '220502': '吉林省通化市东昌区', '220503': '吉林省通化市二道江区', '220521': '吉林省通化市通化县', '220523': '吉林省通化市辉南县', '220524': '吉林省通化市柳河县', '220581': '吉林省通化市梅河口市', '220582': '吉林省通化市集安市', '220600': '吉林省白山市', '220601': '吉林省白山市市辖区', '220602': '吉林省白山市八道江区', '220621': '吉林省白山市抚松县', '220622': '吉林省白山市靖宇县', '220623': '吉林省白山市长白朝鲜族自治县', '220625': '吉林省白山市江源县', '220681': '吉林省白山市临江市', '220700': '吉林省松原市', '220701': '吉林省松原市市辖区', '220702': '吉林省松原市宁江区', '220721': '吉林省松原市前郭尔罗斯蒙古族自治县', '220722': '吉林省松原市长岭县', '220723': '吉林省松原市乾安县', '220724': '吉林省松原市扶余县', '220800': '吉林省白城市', '220801': '吉林省白城市市辖区', '220802': '吉林省白城市洮北区', '220821': '吉林省白城市镇赉县', '220822': '吉林省白城市通榆县', '220881': '吉林省白城市洮南市', '220882': '吉林省白城市大安市', '222400': '吉林省延边朝鲜族自治州', '222401': '吉林省延边朝鲜族自治州延吉市', '222402': '吉林省延边朝鲜族自治州图们市', '222403': '吉林省延边朝鲜族自治州敦化市', '222404': '吉林省延边朝鲜族自治州珲春市', '222405': '吉林省延边朝鲜族自治州龙井市', '222406': '吉林省延边朝鲜族自治州和龙市', '222424': '吉林省延边朝鲜族自治州汪清县', '222426': '吉林省延边朝鲜族自治州安图县', '230000': '黑龙江省', '230100': '黑龙江省哈尔滨市', '230101': '黑龙江省哈尔滨市市辖区', '230102': '黑龙江省哈尔滨市道里区', '230103': '黑龙江省哈尔滨市南岗区', '230104': '黑龙江省哈尔滨市道外区', '230105': '黑龙江省哈尔滨市太平区', '230106': '黑龙江省哈尔滨市香坊区', '230107': '黑龙江省哈尔滨市动力区', '230108': '黑龙江省哈尔滨市平房区', '230121': '黑龙江省哈尔滨市呼兰县', '230123': '黑龙江省哈尔滨市依兰县', '230124': '黑龙江省哈尔滨市方正县', '230125': '黑龙江省哈尔滨市宾县', '230126': '黑龙江省哈尔滨市巴彦县', '230127': '黑龙江省哈尔滨市木兰县', '230128': '黑龙江省哈尔滨市通河县', '230129': '黑龙江省哈尔滨市延寿县', '230181': '黑龙江省哈尔滨市阿城市', '230182': '黑龙江省哈尔滨市双城市', '230183': '黑龙江省哈尔滨市尚志市', '230184': '黑龙江省哈尔滨市五常市', '230200': '黑龙江省齐齐哈尔市', '230201': '黑龙江省齐齐哈尔市市辖区', '230202': '黑龙江省齐齐哈尔市龙沙区', '230203': '黑龙江省齐齐哈尔市建华区', '230204': '黑龙江省齐齐哈尔市铁锋区', '230205': '黑龙江省齐齐哈尔市昂昂溪区', '230206': '黑龙江省齐齐哈尔市富拉尔基区', '230207': '黑龙江省齐齐哈尔市碾子山区', '230208': '黑龙江省齐齐哈尔市梅里斯达斡尔族区', '230221': '黑龙江省齐齐哈尔市龙江县', '230223': '黑龙江省齐齐哈尔市依安县', '230224': '黑龙江省齐齐哈尔市泰来县', '230225': '黑龙江省齐齐哈尔市甘南县', '230227': '黑龙江省齐齐哈尔市富裕县', '230229': '黑龙江省齐齐哈尔市克山县', '230230': '黑龙江省齐齐哈尔市克东县', '230231': '黑龙江省齐齐哈尔市拜泉县', '230281': '黑龙江省齐齐哈尔市讷河市', '230300': '黑龙江省鸡西市', '230301': '黑龙江省鸡西市市辖区', '230302': '黑龙江省鸡西市鸡冠区', '230303': '黑龙江省鸡西市恒山区', '230304': '黑龙江省鸡西市滴道区', '230305': '黑龙江省鸡西市梨树区', '230306': '黑龙江省鸡西市城子河区', '230307': '黑龙江省鸡西市麻山区', '230321': '黑龙江省鸡西市鸡东县', '230381': '黑龙江省鸡西市虎林市', '230382': '黑龙江省鸡西市密山市', '230400': '黑龙江省鹤岗市', '230401': '黑龙江省鹤岗市市辖区', '230402': '黑龙江省鹤岗市向阳区', '230403': '黑龙江省鹤岗市工农区', '230404': '黑龙江省鹤岗市南山区', '230405': '黑龙江省鹤岗市兴安区', '230406': '黑龙江省鹤岗市东山区', '230407': '黑龙江省鹤岗市兴山区', '230421': '黑龙江省鹤岗市萝北县', '230422': '黑龙江省鹤岗市绥滨县', '230500': '黑龙江省双鸭山市', '230501': '黑龙江省双鸭山市市辖区', '230502': '黑龙江省双鸭山市尖山区', '230503': '黑龙江省双鸭山市岭东区', '230505': '黑龙江省双鸭山市四方台区', '230506': '黑龙江省双鸭山市宝山区', '230521': '黑龙江省双鸭山市集贤县', '230522': '黑龙江省双鸭山市友谊县', '230523': '黑龙江省双鸭山市宝清县', '230524': '黑龙江省双鸭山市饶河县', '230600': '黑龙江省大庆市', '230601': '黑龙江省大庆市市辖区', '230602': '黑龙江省大庆市萨尔图区', '230603': '黑龙江省大庆市龙凤区', '230604': '黑龙江省大庆市让胡路区', '230605': '黑龙江省大庆市红岗区', '230606': '黑龙江省大庆市大同区', '230621': '黑龙江省大庆市肇州县', '230622': '黑龙江省大庆市肇源县', '230623': '黑龙江省大庆市林甸县', '230624': '黑龙江省大庆市杜尔伯特蒙古族自治县', '230700': '黑龙江省伊春市', '230701': '黑龙江省伊春市市辖区', '230702': '黑龙江省伊春市伊春区', '230703': '黑龙江省伊春市南岔区', '230704': '黑龙江省伊春市友好区', '230705': '黑龙江省伊春市西林区', '230706': '黑龙江省伊春市翠峦区', '230707': '黑龙江省伊春市新青区', '230708': '黑龙江省伊春市美溪区', '230709': '黑龙江省伊春市金山屯区', '230710': '黑龙江省伊春市五营区', '230711': '黑龙江省伊春市乌马河区', '230712': '黑龙江省伊春市汤旺河区', '230713': '黑龙江省伊春市带岭区', '230714': '黑龙江省伊春市乌伊岭区', '230715': '黑龙江省伊春市红星区', '230716': '黑龙江省伊春市上甘岭区', '230722': '黑龙江省伊春市嘉荫县', '230781': '黑龙江省伊春市铁力市', '230800': '黑龙江省佳木斯市', '230801': '黑龙江省佳木斯市市辖区', '230802': '黑龙江省佳木斯市永红区', '230803': '黑龙江省佳木斯市向阳区', '230804': '黑龙江省佳木斯市前进区', '230805': '黑龙江省佳木斯市东风区', '230811': '黑龙江省佳木斯市郊区', '230822': '黑龙江省佳木斯市桦南县', '230826': '黑龙江省佳木斯市桦川县', '230828': '黑龙江省佳木斯市汤原县', '230833': '黑龙江省佳木斯市抚远县', '230881': '黑龙江省佳木斯市同江市', '230882': '黑龙江省佳木斯市富锦市', '230900': '黑龙江省七台河市', '230901': '黑龙江省七台河市市辖区', '230902': '黑龙江省七台河市新兴区', '230903': '黑龙江省七台河市桃山区', '230904': '黑龙江省七台河市茄子河区', '230921': '黑龙江省七台河市勃利县', '231000': '黑龙江省牡丹江市', '231001': '黑龙江省牡丹江市市辖区', '231002': '黑龙江省牡丹江市东安区', '231003': '黑龙江省牡丹江市阳明区', '231004': '黑龙江省牡丹江市爱民区', '231005': '黑龙江省牡丹江市西安区', '231024': '黑龙江省牡丹江市东宁县', '231025': '黑龙江省牡丹江市林口县', '231081': '黑龙江省牡丹江市绥芬河市', '231083': '黑龙江省牡丹江市海林市', '231084': '黑龙江省牡丹江市宁安市', '231085': '黑龙江省牡丹江市穆棱市', '231100': '黑龙江省黑河市', '231101': '黑龙江省黑河市市辖区', '231102': '黑龙江省黑河市爱辉区', '231121': '黑龙江省黑河市嫩江县', '231123': '黑龙江省黑河市逊克县', '231124': '黑龙江省黑河市孙吴县', '231181': '黑龙江省黑河市北安市', '231182': '黑龙江省黑河市五大连池市', '232300': '黑龙江省绥化地区', '232301': '黑龙江省绥化地区绥化市', '232302': '黑龙江省绥化地区安达市', '232303': '黑龙江省绥化地区肇东市', '232304': '黑龙江省绥化地区海伦市', '232324': '黑龙江省绥化地区望奎县', '232325': '黑龙江省绥化地区兰西县', '232326': '黑龙江省绥化地区青冈县', '232330': '黑龙江省绥化地区庆安县', '232331': '黑龙江省绥化地区明水县', '232332': '黑龙江省绥化地区绥棱县', '232700': '黑龙江省大兴安岭地区', '232721': '黑龙江省大兴安岭地区呼玛县', '232722': '黑龙江省大兴安岭地区塔河县', '232723': '黑龙江省大兴安岭地区漠河县', '310000': '上海市', '310100': '上海市市辖区', '310101': '上海市黄浦区', '310102': '上海市南市区', '310103': '上海市卢湾区', '310104': '上海市徐汇区', '310105': '上海市长宁区', '310106': '上海市静安区', '310107': '上海市普陀区', '310108': '上海市闸北区', '310109': '上海市虹口区', '310110': '上海市杨浦区', '310112': '上海市闵行区', '310113': '上海市宝山区', '310114': '上海市嘉定区', '310115': '上海市浦东新区', '310116': '上海市金山区', '310117': '上海市松江区', '310200': '上海市县', '310225': '上海市南汇县', '310226': '上海市奉贤县', '310229': '上海市青浦县', '310230': '上海市崇明县', '320000': '江苏省', '320100': '江苏省南京市', '320101': '江苏省南京市市辖区', '320102': '江苏省南京市玄武区', '320103': '江苏省南京市白下区', '320104': '江苏省南京市秦淮区', '320105': '江苏省南京市建邺区', '320106': '江苏省南京市鼓楼区', '320107': '江苏省南京市下关区', '320111': '江苏省南京市浦口区', '320112': '江苏省南京市大厂区', '320113': '江苏省南京市栖霞区', '320114': '江苏省南京市雨花台区', '320121': '江苏省南京市江宁县', '320122': '江苏省南京市江浦县', '320123': '江苏省南京市六合县', '320124': '江苏省南京市溧水县', '320125': '江苏省南京市高淳县', '320200': '江苏省无锡市', '320201': '江苏省无锡市市辖区', '320202': '江苏省无锡市崇安区', '320203': '江苏省无锡市南长区', '320204': '江苏省无锡市北塘区', '320211': '江苏省无锡市郊区', '320281': '江苏省无锡市江阴市', '320282': '江苏省无锡市宜兴市', '320283': '江苏省无锡市锡山市', '320300': '江苏省徐州市', '320301': '江苏省徐州市市辖区', '320302': '江苏省徐州市鼓楼区', '320303': '江苏省徐州市云龙区', '320304': '江苏省徐州市九里区', '320305': '江苏省徐州市贾汪区', '320311': '江苏省徐州市泉山区', '320321': '江苏省徐州市丰县', '320322': '江苏省徐州市沛县', '320323': '江苏省徐州市铜山县', '320324': '江苏省徐州市睢宁县', '320381': '江苏省徐州市新沂市', '320382': '江苏省徐州市邳州市', '320400': '江苏省常州市', '320401': '江苏省常州市市辖区', '320402': '江苏省常州市天宁区', '320404': '江苏省常州市钟楼区', '320405': '江苏省常州市戚墅堰区', '320411': '江苏省常州市郊区', '320481': '江苏省常州市溧阳市', '320482': '江苏省常州市金坛市', '320483': '江苏省常州市武进市', '320500': '江苏省苏州市', '320501': '江苏省苏州市市辖区', '320502': '江苏省苏州市沧浪区', '320503': '江苏省苏州市平江区', '320504': '江苏省苏州市金阊区', '320511': '江苏省苏州市郊区', '320581': '江苏省苏州市常熟市', '320582': '江苏省苏州市张家港市', '320583': '江苏省苏州市昆山市', '320584': '江苏省苏州市吴江市', '320585': '江苏省苏州市太仓市', '320586': '江苏省苏州市吴县市', '320600': '江苏省南通市', '320601': '江苏省南通市市辖区', '320602': '江苏省南通市崇川区', '320611': '江苏省南通市港闸区', '320621': '江苏省南通市海安县', '320623': '江苏省南通市如东县', '320681': '江苏省南通市启东市', '320682': '江苏省南通市如皋市', '320683': '江苏省南通市通州市', '320684': '江苏省南通市海门市', '320700': '江苏省连云港市', '320701': '江苏省连云港市市辖区', '320703': '江苏省连云港市连云区', '320704': '江苏省连云港市云台区', '320705': '江苏省连云港市新浦区', '320706': '江苏省连云港市海州区', '320721': '江苏省连云港市赣榆县', '320722': '江苏省连云港市东海县', '320723': '江苏省连云港市灌云县', '320724': '江苏省连云港市灌南县', '320800': '江苏省淮阴市', '320801': '江苏省淮阴市市辖区', '320802': '江苏省淮阴市清河区', '320811': '江苏省淮阴市清浦区', '320821': '江苏省淮阴市淮阴县', '320826': '江苏省淮阴市涟水县', '320829': '江苏省淮阴市洪泽县', '320830': '江苏省淮阴市盱眙县', '320831': '江苏省淮阴市金湖县', '320882': '江苏省淮阴市淮安市', '320900': '江苏省盐城市', '320901': '江苏省盐城市市辖区', '320902': '江苏省盐城市城区', '320921': '江苏省盐城市响水县', '320922': '江苏省盐城市滨海县', '320923': '江苏省盐城市阜宁县', '320924': '江苏省盐城市射阳县', '320925': '江苏省盐城市建湖县', '320928': '江苏省盐城市盐都县', '320981': '江苏省盐城市东台市', '320982': '江苏省盐城市大丰市', '321000': '江苏省扬州市', '321001': '江苏省扬州市市辖区', '321002': '江苏省扬州市广陵区', '321011': '江苏省扬州市郊区', '321023': '江苏省扬州市宝应县', '321027': '江苏省扬州市邗江县', '321081': '江苏省扬州市仪征市', '321084': '江苏省扬州市高邮市', '321088': '江苏省扬州市江都市', '321100': '江苏省镇江市', '321101': '江苏省镇江市市辖区', '321102': '江苏省镇江市京口区', '321111': '江苏省镇江市润州区', '321121': '江苏省镇江市丹徒县', '321181': '江苏省镇江市丹阳市', '321182': '江苏省镇江市扬中市', '321183': '江苏省镇江市句容市', '321200': '江苏省泰州市', '321201': '江苏省泰州市市辖区', '321202': '江苏省泰州市海陵区', '321203': '江苏省泰州市高港区', '321281': '江苏省泰州市兴化市', '321282': '江苏省泰州市靖江市', '321283': '江苏省泰州市泰兴市', '321284': '江苏省泰州市姜堰市', '321300': '江苏省宿迁市', '321301': '江苏省宿迁市市辖区', '321302': '江苏省宿迁市宿城区', '321321': '江苏省宿迁市宿豫县', '321322': '江苏省宿迁市沭阳县', '321323': '江苏省宿迁市泗阳县', '321324': '江苏省宿迁市泗洪县', '330000': '浙江省', '330100': '浙江省杭州市', '330101': '浙江省杭州市市辖区', '330102': '浙江省杭州市上城区', '330103': '浙江省杭州市下城区', '330104': '浙江省杭州市江干区', '330105': '浙江省杭州市拱墅区', '330106': '浙江省杭州市西湖区', '330108': '浙江省杭州市滨江区', '330122': '浙江省杭州市桐庐县', '330127': '浙江省杭州市淳安县', '330181': '浙江省杭州市萧山市', '330182': '浙江省杭州市建德市', '330183': '浙江省杭州市富阳市', '330184': '浙江省杭州市余杭市', '330185': '浙江省杭州市临安市', '330200': '浙江省宁波市', '330201': '浙江省宁波市市辖区', '330203': '浙江省宁波市海曙区', '330204': '浙江省宁波市江东区', '330205': '浙江省宁波市江北区', '330206': '浙江省宁波市北仑区', '330211': '浙江省宁波市镇海区', '330225': '浙江省宁波市象山县', '330226': '浙江省宁波市宁海县', '330227': '浙江省宁波市鄞县', '330281': '浙江省宁波市余姚市', '330282': '浙江省宁波市慈溪市', '330283': '浙江省宁波市奉化市', '330300': '浙江省温州市', '330301': '浙江省温州市市辖区', '330302': '浙江省温州市鹿城区', '330303': '浙江省温州市龙湾区', '330304': '浙江省温州市瓯海区', '330322': '浙江省温州市洞头县', '330324': '浙江省温州市永嘉县', '330326': '浙江省温州市平阳县', '330327': '浙江省温州市苍南县', '330328': '浙江省温州市文成县', '330329': '浙江省温州市泰顺县', '330381': '浙江省温州市瑞安市', '330382': '浙江省温州市乐清市', '330400': '浙江省嘉兴市', '330401': '浙江省嘉兴市市辖区', '330402': '浙江省嘉兴市秀城区', '330411': '浙江省嘉兴市郊区', '330421': '浙江省嘉兴市嘉善县', '330424': '浙江省嘉兴市海盐县', '330481': '浙江省嘉兴市海宁市', '330482': '浙江省嘉兴市平湖市', '330483': '浙江省嘉兴市桐乡市', '330500': '浙江省湖州市', '330501': '浙江省湖州市市辖区', '330521': '浙江省湖州市德清县', '330522': '浙江省湖州市长兴县', '330523': '浙江省湖州市安吉县', '330600': '浙江省绍兴市', '330601': '浙江省绍兴市市辖区', '330602': '浙江省绍兴市越城区', '330621': '浙江省绍兴市绍兴县', '330624': '浙江省绍兴市新昌县', '330681': '浙江省绍兴市诸暨市', '330682': '浙江省绍兴市上虞市', '330683': '浙江省绍兴市嵊州市', '330700': '浙江省金华市', '330701': '浙江省金华市市辖区', '330702': '浙江省金华市婺城区', '330721': '浙江省金华市金华县', '330723': '浙江省金华市武义县', '330726': '浙江省金华市浦江县', '330727': '浙江省金华市磐安县', '330781': '浙江省金华市兰溪市', '330782': '浙江省金华市义乌市', '330783': '浙江省金华市东阳市', '330784': '浙江省金华市永康市', '330800': '浙江省衢州市', '330801': '浙江省衢州市市辖区', '330802': '浙江省衢州市柯城区', '330821': '浙江省衢州市衢县', '330822': '浙江省衢州市常山县', '330824': '浙江省衢州市开化县', '330825': '浙江省衢州市龙游县', '330881': '浙江省衢州市江山市', '330900': '浙江省舟山市', '330901': '浙江省舟山市市辖区', '330902': '浙江省舟山市定海区', '330903': '浙江省舟山市普陀区', '330921': '浙江省舟山市岱山县', '330922': '浙江省舟山市嵊泗县', '331000': '浙江省台州市', '331001': '浙江省台州市市辖区', '331002': '浙江省台州市椒江区', '331003': '浙江省台州市黄岩区', '331004': '浙江省台州市路桥区', '331021': '浙江省台州市玉环县', '331022': '浙江省台州市三门县', '331023': '浙江省台州市天台县', '331024': '浙江省台州市仙居县', '331081': '浙江省台州市温岭市', '331082': '浙江省台州市临海市', '332500': '浙江省丽水地区', '332501': '浙江省丽水地区丽水市', '332502': '浙江省丽水地区龙泉市', '332522': '浙江省丽水地区青田县', '332523': '浙江省丽水地区云和县', '332525': '浙江省丽水地区庆元县', '332526': '浙江省丽水地区缙云县', '332527': '浙江省丽水地区遂昌县', '332528': '浙江省丽水地区松阳县', '332529': '浙江省丽水地区景宁畲族自治县', '340000': '安徽省', '340100': '安徽省合肥市', '340101': '安徽省合肥市市辖区', '340102': '安徽省合肥市东市区', '340103': '安徽省合肥市中市区', '340104': '安徽省合肥市西市区', '340111': '安徽省合肥市郊区', '340121': '安徽省合肥市长丰县', '340122': '安徽省合肥市肥东县', '340123': '安徽省合肥市肥西县', '340200': '安徽省芜湖市', '340201': '安徽省芜湖市市辖区', '340202': '安徽省芜湖市镜湖区', '340203': '安徽省芜湖市马塘区', '340204': '安徽省芜湖市新芜区', '340207': '安徽省芜湖市鸠江区', '340221': '安徽省芜湖市芜湖县', '340222': '安徽省芜湖市繁昌县', '340223': '安徽省芜湖市南陵县', '340300': '安徽省蚌埠市', '340301': '安徽省蚌埠市市辖区', '340302': '安徽省蚌埠市东市区', '340303': '安徽省蚌埠市中市区', '340304': '安徽省蚌埠市西市区', '340311': '安徽省蚌埠市郊区', '340321': '安徽省蚌埠市怀远县', '340322': '安徽省蚌埠市五河县', '340323': '安徽省蚌埠市固镇县', '340400': '安徽省淮南市', '340401': '安徽省淮南市市辖区', '340402': '安徽省淮南市大通区', '340403': '安徽省淮南市田家庵区', '340404': '安徽省淮南市谢家集区', '340405': '安徽省淮南市八公山区', '340406': '安徽省淮南市潘集区', '340421': '安徽省淮南市凤台县', '340500': '安徽省马鞍山市', '340501': '安徽省马鞍山市市辖区', '340502': '安徽省马鞍山市金家庄区', '340503': '安徽省马鞍山市花山区', '340504': '安徽省马鞍山市雨山区', '340505': '安徽省马鞍山市向山区', '340521': '安徽省马鞍山市当涂县', '340600': '安徽省淮北市', '340601': '安徽省淮北市市辖区', '340602': '安徽省淮北市杜集区', '340603': '安徽省淮北市相山区', '340604': '安徽省淮北市烈山区', '340621': '安徽省淮北市濉溪县', '340700': '安徽省铜陵市', '340701': '安徽省铜陵市市辖区', '340702': '安徽省铜陵市铜官山区', '340703': '安徽省铜陵市狮子山区', '340711': '安徽省铜陵市郊区', '340721': '安徽省铜陵市铜陵县', '340800': '安徽省安庆市', '340801': '安徽省安庆市市辖区', '340802': '安徽省安庆市迎江区', '340803': '安徽省安庆市大观区', '340811': '安徽省安庆市郊区', '340822': '安徽省安庆市怀宁县', '340823': '安徽省安庆市枞阳县', '340824': '安徽省安庆市潜山县', '340825': '安徽省安庆市太湖县', '340826': '安徽省安庆市宿松县', '340827': '安徽省安庆市望江县', '340828': '安徽省安庆市岳西县', '340881': '安徽省安庆市桐城市', '341000': '安徽省黄山市', '341001': '安徽省黄山市市辖区', '341002': '安徽省黄山市屯溪区', '341003': '安徽省黄山市黄山区', '341004': '安徽省黄山市徽州区', '341021': '安徽省黄山市歙县', '341022': '安徽省黄山市休宁县', '341023': '安徽省黄山市黟县', '341024': '安徽省黄山市祁门县', '341100': '安徽省滁州市', '341101': '安徽省滁州市市辖区', '341102': '安徽省滁州市琅琊区', '341103': '安徽省滁州市南谯区', '341122': '安徽省滁州市来安县', '341124': '安徽省滁州市全椒县', '341125': '安徽省滁州市定远县', '341126': '安徽省滁州市凤阳县', '341181': '安徽省滁州市天长市', '341182': '安徽省滁州市明光市', '341200': '安徽省阜阳市', '341201': '安徽省阜阳市市辖区', '341202': '安徽省阜阳市颍州区', '341203': '安徽省阜阳市颍东区', '341204': '安徽省阜阳市颍泉区', '341221': '安徽省阜阳市临泉县', '341222': '安徽省阜阳市太和县', '341223': '安徽省阜阳市涡阳县', '341224': '安徽省阜阳市蒙城县', '341225': '安徽省阜阳市阜南县', '341226': '安徽省阜阳市颍上县', '341227': '安徽省阜阳市利辛县', '341281': '安徽省阜阳市亳州市', '341282': '安徽省阜阳市界首市', '341300': '安徽省宿州市', '341301': '安徽省宿州市市辖区', '341302': '安徽省宿州市甬桥区', '341321': '安徽省宿州市砀山县', '341322': '安徽省宿州市萧县', '341323': '安徽省宿州市灵璧县', '341324': '安徽省宿州市泗县', '342400': '安徽省六安地区', '342401': '安徽省六安地区六安市', '342422': '安徽省六安地区寿县', '342423': '安徽省六安地区霍邱县', '342425': '安徽省六安地区舒城县', '342426': '安徽省六安地区金寨县', '342427': '安徽省六安地区霍山县', '342500': '安徽省宣城地区', '342501': '安徽省宣城地区宣州市', '342502': '安徽省宣城地区宁国市', '342522': '安徽省宣城地区郎溪县', '342523': '安徽省宣城地区广德县', '342529': '安徽省宣城地区泾县', '342530': '安徽省宣城地区旌德县', '342531': '安徽省宣城地区绩溪县', '342600': '安徽省巢湖地区', '342601': '安徽省巢湖地区巢湖市', '342622': '安徽省巢湖地区庐江县', '342623': '安徽省巢湖地区无为县', '342625': '安徽省巢湖地区含山县', '342626': '安徽省巢湖地区和县', '342900': '安徽省池州地区', '342901': '安徽省池州地区贵池市', '342921': '安徽省池州地区东至县', '342922': '安徽省池州地区石台县', '342923': '安徽省池州地区青阳县', '350000': '福建省', '350100': '福建省福州市', '350101': '福建省福州市市辖区', '350102': '福建省福州市鼓楼区', '350103': '福建省福州市台江区', '350104': '福建省福州市仓山区', '350105': '福建省福州市马尾区', '350111': '福建省福州市晋安区', '350121': '福建省福州市闽侯县', '350122': '福建省福州市连江县', '350123': '福建省福州市罗源县', '350124': '福建省福州市闽清县', '350125': '福建省福州市永泰县', '350128': '福建省福州市平潭县', '350181': '福建省福州市福清市', '350182': '福建省福州市长乐市', '350200': '福建省厦门市', '350201': '福建省厦门市市辖区', '350202': '福建省厦门市鼓浪屿区', '350203': '福建省厦门市思明区', '350204': '福建省厦门市开元区', '350205': '福建省厦门市杏林区', '350206': '福建省厦门市湖里区', '350211': '福建省厦门市集美区', '350212': '福建省厦门市同安区', '350300': '福建省莆田市', '350301': '福建省莆田市市辖区', '350302': '福建省莆田市城厢区', '350303': '福建省莆田市涵江区', '350321': '福建省莆田市莆田县', '350322': '福建省莆田市仙游县', '350400': '福建省三明市', '350401': '福建省三明市市辖区', '350402': '福建省三明市梅列区', '350403': '福建省三明市三元区', '350421': '福建省三明市明溪县', '350423': '福建省三明市清流县', '350424': '福建省三明市宁化县', '350425': '福建省三明市大田县', '350426': '福建省三明市尤溪县', '350427': '福建省三明市沙县', '350428': '福建省三明市将乐县', '350429': '福建省三明市泰宁县', '350430': '福建省三明市建宁县', '350481': '福建省三明市永安市', '350500': '福建省泉州市', '350501': '福建省泉州市市辖区', '350502': '福建省泉州市鲤城区', '350503': '福建省泉州市丰泽区', '350504': '福建省泉州市洛江区', '350521': '福建省泉州市惠安县', '350524': '福建省泉州市安溪县', '350525': '福建省泉州市永春县', '350526': '福建省泉州市德化县', '350527': '福建省泉州市金门县', '350581': '福建省泉州市石狮市', '350582': '福建省泉州市晋江市', '350583': '福建省泉州市南安市', '350600': '福建省漳州市', '350601': '福建省漳州市市辖区', '350602': '福建省漳州市芗城区', '350603': '福建省漳州市龙文区', '350622': '福建省漳州市云霄县', '350623': '福建省漳州市漳浦县', '350624': '福建省漳州市诏安县', '350625': '福建省漳州市长泰县', '350626': '福建省漳州市东山县', '350627': '福建省漳州市南靖县', '350628': '福建省漳州市平和县', '350629': '福建省漳州市华安县', '350681': '福建省漳州市龙海市', '350700': '福建省南平市', '350701': '福建省南平市市辖区', '350702': '福建省南平市延平区', '350721': '福建省南平市顺昌县', '350722': '福建省南平市浦城县', '350723': '福建省南平市光泽县', '350724': '福建省南平市松溪县', '350725': '福建省南平市政和县', '350781': '福建省南平市邵武市', '350782': '福建省南平市武夷山市', '350783': '福建省南平市建瓯市', '350784': '福建省南平市建阳市', '350800': '福建省龙岩市', '350801': '福建省龙岩市市辖区', '350802': '福建省龙岩市新罗区', '350821': '福建省龙岩市长汀县', '350822': '福建省龙岩市永定县', '350823': '福建省龙岩市上杭县', '350824': '福建省龙岩市武平县', '350825': '福建省龙岩市连城县', '350881': '福建省龙岩市漳平市', '352200': '福建省宁德地区', '352201': '福建省宁德地区宁德市', '352202': '福建省宁德地区福安市', '352203': '福建省宁德地区福鼎市', '352225': '福建省宁德地区霞浦县', '352227': '福建省宁德地区古田县', '352228': '福建省宁德地区屏南县', '352229': '福建省宁德地区寿宁县', '352230': '福建省宁德地区周宁县', '352231': '福建省宁德地区柘荣县', '360000': '江西省', '360100': '江西省南昌市', '360101': '江西省南昌市市辖区', '360102': '江西省南昌市东湖区', '360103': '江西省南昌市西湖区', '360104': '江西省南昌市青云谱区', '360105': '江西省南昌市湾里区', '360111': '江西省南昌市郊区', '360121': '江西省南昌市南昌县', '360122': '江西省南昌市新建县', '360123': '江西省南昌市安义县', '360124': '江西省南昌市进贤县', '360200': '江西省景德镇市', '360201': '江西省景德镇市市辖区', '360202': '江西省景德镇市昌江区', '360203': '江西省景德镇市珠山区', '360222': '江西省景德镇市浮梁县', '360281': '江西省景德镇市乐平市', '360300': '江西省萍乡市', '360301': '江西省萍乡市市辖区', '360302': '江西省萍乡市安源区', '360313': '江西省萍乡市湘东区', '360321': '江西省萍乡市莲花县', '360322': '江西省萍乡市上栗县', '360323': '江西省萍乡市芦溪县', '360400': '江西省九江市', '360401': '江西省九江市市辖区', '360402': '江西省九江市庐山区', '360403': '江西省九江市浔阳区', '360421': '江西省九江市九江县', '360423': '江西省九江市武宁县', '360424': '江西省九江市修水县', '360425': '江西省九江市永修县', '360426': '江西省九江市德安县', '360427': '江西省九江市星子县', '360428': '江西省九江市都昌县', '360429': '江西省九江市湖口县', '360430': '江西省九江市彭泽县', '360481': '江西省九江市瑞昌市', '360500': '江西省新余市', '360501': '江西省新余市市辖区', '360502': '江西省新余市渝水区', '360521': '江西省新余市分宜县', '360600': '江西省鹰潭市', '360601': '江西省鹰潭市市辖区', '360602': '江西省鹰潭市月湖区', '360622': '江西省鹰潭市余江县', '360681': '江西省鹰潭市贵溪市', '360700': '江西省赣州市', '360701': '江西省赣州市市辖区', '360702': '江西省赣州市章贡区', '360721': '江西省赣州市赣县', '360722': '江西省赣州市信丰县', '360723': '江西省赣州市大余县', '360724': '江西省赣州市上犹县', '360725': '江西省赣州市崇义县', '360726': '江西省赣州市安远县', '360727': '江西省赣州市龙南县', '360728': '江西省赣州市定南县', '360729': '江西省赣州市全南县', '360730': '江西省赣州市宁都县', '360731': '江西省赣州市于都县', '360732': '江西省赣州市兴国县', '360733': '江西省赣州市会昌县', '360734': '江西省赣州市寻乌县', '360735': '江西省赣州市石城县', '360781': '江西省赣州市瑞金市', '360782': '江西省赣州市南康市', '362200': '江西省宜春地区', '362201': '江西省宜春地区宜春市', '362202': '江西省宜春地区丰城市', '362203': '江西省宜春地区樟树市', '362204': '江西省宜春地区高安市', '362226': '江西省宜春地区奉新县', '362227': '江西省宜春地区万载县', '362228': '江西省宜春地区上高县', '362229': '江西省宜春地区宜丰县', '362232': '江西省宜春地区靖安县', '362233': '江西省宜春地区铜鼓县', '362300': '江西省上饶地区', '362301': '江西省上饶地区上饶市', '362302': '江西省上饶地区德兴市', '362321': '江西省上饶地区上饶县', '362322': '江西省上饶地区广丰县', '362323': '江西省上饶地区玉山县', '362324': '江西省上饶地区铅山县', '362325': '江西省上饶地区横峰县', '362326': '江西省上饶地区弋阳县', '362329': '江西省上饶地区余干县', '362330': '江西省上饶地区波阳县', '362331': '江西省上饶地区万年县', '362334': '江西省上饶地区婺源县', '362400': '江西省吉安地区', '362401': '江西省吉安地区吉安市', '362402': '江西省吉安地区井冈山市', '362421': '江西省吉安地区吉安县', '362422': '江西省吉安地区吉水县', '362423': '江西省吉安地区峡江县', '362424': '江西省吉安地区新干县', '362425': '江西省吉安地区永丰县', '362426': '江西省吉安地区泰和县', '362427': '江西省吉安地区遂川县', '362428': '江西省吉安地区万安县', '362429': '江西省吉安地区安福县', '362430': '江西省吉安地区永新县', '362432': '江西省吉安地区宁冈县', '362500': '江西省抚州地区', '362502': '江西省抚州地区临川市', '362522': '江西省抚州地区南城县', '362523': '江西省抚州地区黎川县', '362524': '江西省抚州地区南丰县', '362525': '江西省抚州地区崇仁县', '362526': '江西省抚州地区乐安县', '362527': '江西省抚州地区宜黄县', '362528': '江西省抚州地区金溪县', '362529': '江西省抚州地区资溪县', '362531': '江西省抚州地区东乡县', '362532': '江西省抚州地区广昌县', '370000': '山东省', '370100': '山东省济南市', '370101': '山东省济南市市辖区', '370102': '山东省济南市历下区', '370103': '山东省济南市市中区', '370104': '山东省济南市槐荫区', '370105': '山东省济南市天桥区', '370112': '山东省济南市历城区', '370123': '山东省济南市长清县', '370124': '山东省济南市平阴县', '370125': '山东省济南市济阳县', '370126': '山东省济南市商河县', '370181': '山东省济南市章丘市', '370200': '山东省青岛市', '370201': '山东省青岛市市辖区', '370202': '山东省青岛市市南区', '370203': '山东省青岛市市北区', '370205': '山东省青岛市四方区', '370211': '山东省青岛市黄岛区', '370212': '山东省青岛市崂山区', '370213': '山东省青岛市李沧区', '370214': '山东省青岛市城阳区', '370281': '山东省青岛市胶州市', '370282': '山东省青岛市即墨市', '370283': '山东省青岛市平度市', '370284': '山东省青岛市胶南市', '370285': '山东省青岛市莱西市', '370300': '山东省淄博市', '370301': '山东省淄博市市辖区', '370302': '山东省淄博市淄川区', '370303': '山东省淄博市张店区', '370304': '山东省淄博市博山区', '370305': '山东省淄博市临淄区', '370306': '山东省淄博市周村区', '370321': '山东省淄博市桓台县', '370322': '山东省淄博市高青县', '370323': '山东省淄博市沂源县', '370400': '山东省枣庄市', '370401': '山东省枣庄市市辖区', '370402': '山东省枣庄市市中区', '370403': '山东省枣庄市薛城区', '370404': '山东省枣庄市峄城区', '370405': '山东省枣庄市台儿庄区', '370406': '山东省枣庄市山亭区', '370481': '山东省枣庄市滕州市', '370500': '山东省东营市', '370501': '山东省东营市市辖区', '370502': '山东省东营市东营区', '370503': '山东省东营市河口区', '370521': '山东省东营市垦利县', '370522': '山东省东营市利津县', '370523': '山东省东营市广饶县', '370600': '山东省烟台市', '370601': '山东省烟台市市辖区', '370602': '山东省烟台市芝罘区', '370611': '山东省烟台市福山区', '370612': '山东省烟台市牟平区', '370613': '山东省烟台市莱山区', '370634': '山东省烟台市长岛县', '370681': '山东省烟台市龙口市', '370682': '山东省烟台市莱阳市', '370683': '山东省烟台市莱州市', '370684': '山东省烟台市蓬莱市', '370685': '山东省烟台市招远市', '370686': '山东省烟台市栖霞市', '370687': '山东省烟台市海阳市', '370700': '山东省潍坊市', '370701': '山东省潍坊市市辖区', '370702': '山东省潍坊市潍城区', '370703': '山东省潍坊市寒亭区', '370704': '山东省潍坊市坊子区', '370705': '山东省潍坊市奎文区', '370724': '山东省潍坊市临朐县', '370725': '山东省潍坊市昌乐县', '370781': '山东省潍坊市青州市', '370782': '山东省潍坊市诸城市', '370783': '山东省潍坊市寿光市', '370784': '山东省潍坊市安丘市', '370785': '山东省潍坊市高密市', '370786': '山东省潍坊市昌邑市', '370800': '山东省济宁市', '370801': '山东省济宁市市辖区', '370802': '山东省济宁市市中区', '370811': '山东省济宁市任城区', '370826': '山东省济宁市微山县', '370827': '山东省济宁市鱼台县', '370828': '山东省济宁市金乡县', '370829': '山东省济宁市嘉祥县', '370830': '山东省济宁市汶上县', '370831': '山东省济宁市泗水县', '370832': '山东省济宁市梁山县', '370881': '山东省济宁市曲阜市', '370882': '山东省济宁市兖州市', '370883': '山东省济宁市邹城市', '370900': '山东省泰安市', '370901': '山东省泰安市市辖区', '370902': '山东省泰安市泰山区', '370911': '山东省泰安市郊区', '370921': '山东省泰安市宁阳县', '370923': '山东省泰安市东平县', '370982': '山东省泰安市新泰市', '370983': '山东省泰安市肥城市', '371000': '山东省威海市', '371001': '山东省威海市市辖区', '371002': '山东省威海市环翠区', '371081': '山东省威海市文登市', '371082': '山东省威海市荣成市', '371083': '山东省威海市乳山市', '371100': '山东省日照市', '371101': '山东省日照市市辖区', '371102': '山东省日照市东港区', '371121': '山东省日照市五莲县', '371122': '山东省日照市莒县', '371200': '山东省莱芜市', '371201': '山东省莱芜市市辖区', '371202': '山东省莱芜市莱城区', '371203': '山东省莱芜市钢城区', '371300': '山东省临沂市', '371301': '山东省临沂市市辖区', '371302': '山东省临沂市兰山区', '371311': '山东省临沂市罗庄区', '371312': '山东省临沂市河东区', '371321': '山东省临沂市沂南县', '371322': '山东省临沂市郯城县', '371323': '山东省临沂市沂水县', '371324': '山东省临沂市苍山县', '371325': '山东省临沂市费县', '371326': '山东省临沂市平邑县', '371327': '山东省临沂市莒南县', '371328': '山东省临沂市蒙阴县', '371329': '山东省临沂市临沭县', '371400': '山东省德州市', '371401': '山东省德州市市辖区', '371402': '山东省德州市德城区', '371421': '山东省德州市陵县', '371422': '山东省德州市宁津县', '371423': '山东省德州市庆云县', '371424': '山东省德州市临邑县', '371425': '山东省德州市齐河县', '371426': '山东省德州市平原县', '371427': '山东省德州市夏津县', '371428': '山东省德州市武城县', '371481': '山东省德州市乐陵市', '371482': '山东省德州市禹城市', '371500': '山东省聊城市', '371501': '山东省聊城市市辖区', '371502': '山东省聊城市东昌府区', '371521': '山东省聊城市阳谷县', '371522': '山东省聊城市莘县', '371523': '山东省聊城市茌平县', '371524': '山东省聊城市东阿县', '371525': '山东省聊城市冠县', '371526': '山东省聊城市高唐县', '371581': '山东省聊城市临清市', '372300': '山东省滨州地区', '372301': '山东省滨州地区滨州市', '372321': '山东省滨州地区惠民县', '372323': '山东省滨州地区阳信县', '372324': '山东省滨州地区无棣县', '372325': '山东省滨州地区沾化县', '372328': '山东省滨州地区博兴县', '372330': '山东省滨州地区邹平县', '372900': '山东省菏泽地区', '372901': '山东省菏泽地区菏泽市', '372922': '山东省菏泽地区曹县', '372923': '山东省菏泽地区定陶县', '372924': '山东省菏泽地区成武县', '372925': '山东省菏泽地区单县', '372926': '山东省菏泽地区巨野县', '372928': '山东省菏泽地区郓城县', '372929': '山东省菏泽地区鄄城县', '372930': '山东省菏泽地区东明县', '410000': '河南省', '410100': '河南省郑州市', '410101': '河南省郑州市市辖区', '410102': '河南省郑州市中原区', '410103': '河南省郑州市二七区', '410104': '河南省郑州市管城回族区', '410105': '河南省郑州市金水区', '410106': '河南省郑州市上街区', '410108': '河南省郑州市邙山区', '410122': '河南省郑州市中牟县', '410181': '河南省郑州市巩义市', '410182': '河南省郑州市荥阳市', '410183': '河南省郑州市新密市', '410184': '河南省郑州市新郑市', '410185': '河南省郑州市登封市', '410200': '河南省开封市', '410201': '河南省开封市市辖区', '410202': '河南省开封市龙亭区', '410203': '河南省开封市顺河回族区', '410204': '河南省开封市鼓楼区', '410205': '河南省开封市南关区', '410211': '河南省开封市郊区', '410221': '河南省开封市杞县', '410222': '河南省开封市通许县', '410223': '河南省开封市尉氏县', '410224': '河南省开封市开封县', '410225': '河南省开封市兰考县', '410300': '河南省洛阳市', '410301': '河南省洛阳市市辖区', '410302': '河南省洛阳市老城区', '410303': '河南省洛阳市西工区', '410304': '河南省洛阳市廛河回族区', '410305': '河南省洛阳市涧西区', '410306': '河南省洛阳市吉利区', '410311': '河南省洛阳市郊区', '410322': '河南省洛阳市孟津县', '410323': '河南省洛阳市新安县', '410324': '河南省洛阳市栾川县', '410325': '河南省洛阳市嵩县', '410326': '河南省洛阳市汝阳县', '410327': '河南省洛阳市宜阳县', '410328': '河南省洛阳市洛宁县', '410329': '河南省洛阳市伊川县', '410381': '河南省洛阳市偃师市', '410400': '河南省平顶山市', '410401': '河南省平顶山市市辖区', '410402': '河南省平顶山市新华区', '410403': '河南省平顶山市卫东区', '410404': '河南省平顶山市石龙区', '410411': '河南省平顶山市湛河区', '410421': '河南省平顶山市宝丰县', '410422': '河南省平顶山市叶县', '410423': '河南省平顶山市鲁山县', '410425': '河南省平顶山市郏县', '410481': '河南省平顶山市舞钢市', '410482': '河南省平顶山市汝州市', '410500': '河南省安阳市', '410501': '河南省安阳市市辖区', '410502': '河南省安阳市文峰区', '410503': '河南省安阳市北关区', '410504': '河南省安阳市铁西区', '410511': '河南省安阳市郊区', '410522': '河南省安阳市安阳县', '410523': '河南省安阳市汤阴县', '410526': '河南省安阳市滑县', '410527': '河南省安阳市内黄县', '410581': '河南省安阳市林州市', '410600': '河南省鹤壁市', '410601': '河南省鹤壁市市辖区', '410602': '河南省鹤壁市鹤山区', '410603': '河南省鹤壁市山城区', '410611': '河南省鹤壁市郊区', '410621': '河南省鹤壁市浚县', '410622': '河南省鹤壁市淇县', '410700': '河南省新乡市', '410701': '河南省新乡市市辖区', '410702': '河南省新乡市红旗区', '410703': '河南省新乡市新华区', '410704': '河南省新乡市北站区', '410711': '河南省新乡市郊区', '410721': '河南省新乡市新乡县', '410724': '河南省新乡市获嘉县', '410725': '河南省新乡市原阳县', '410726': '河南省新乡市延津县', '410727': '河南省新乡市封丘县', '410728': '河南省新乡市长垣县', '410781': '河南省新乡市卫辉市', '410782': '河南省新乡市辉县市', '410800': '河南省焦作市', '410801': '河南省焦作市市辖区', '410802': '河南省焦作市解放区', '410803': '河南省焦作市中站区', '410804': '河南省焦作市马村区', '410811': '河南省焦作市山阳区', '410821': '河南省焦作市修武县', '410822': '河南省焦作市博爱县', '410823': '河南省焦作市武陟县', '410825': '河南省焦作市温县', '410881': '河南省焦作市济源市', '410882': '河南省焦作市沁阳市', '410883': '河南省焦作市孟州市', '410900': '河南省濮阳市', '410901': '河南省濮阳市市辖区', '410902': '河南省濮阳市市区', '410922': '河南省濮阳市清丰县', '410923': '河南省濮阳市南乐县', '410926': '河南省濮阳市范县', '410927': '河南省濮阳市台前县', '410928': '河南省濮阳市濮阳县', '411000': '河南省许昌市', '411001': '河南省许昌市市辖区', '411002': '河南省许昌市魏都区', '411023': '河南省许昌市许昌县', '411024': '河南省许昌市鄢陵县', '411025': '河南省许昌市襄城县', '411081': '河南省许昌市禹州市', '411082': '河南省许昌市长葛市', '411100': '河南省漯河市', '411101': '河南省漯河市市辖区', '411102': '河南省漯河市源汇区', '411121': '河南省漯河市舞阳县', '411122': '河南省漯河市临颍县', '411123': '河南省漯河市郾城县', '411200': '河南省三门峡市', '411201': '河南省三门峡市市辖区', '411202': '河南省三门峡市湖滨区', '411221': '河南省三门峡市渑池县', '411222': '河南省三门峡市陕县', '411224': '河南省三门峡市卢氏县', '411281': '河南省三门峡市义马市', '411282': '河南省三门峡市灵宝市', '411300': '河南省南阳市', '411301': '河南省南阳市市辖区', '411302': '河南省南阳市宛城区', '411303': '河南省南阳市卧龙区', '411321': '河南省南阳市南召县', '411322': '河南省南阳市方城县', '411323': '河南省南阳市西峡县', '411324': '河南省南阳市镇平县', '411325': '河南省南阳市内乡县', '411326': '河南省南阳市淅川县', '411327': '河南省南阳市社旗县', '411328': '河南省南阳市唐河县', '411329': '河南省南阳市新野县', '411330': '河南省南阳市桐柏县', '411381': '河南省南阳市邓州市', '411400': '河南省商丘市', '411401': '河南省商丘市市辖区', '411402': '河南省商丘市梁园区', '411403': '河南省商丘市睢阳区', '411421': '河南省商丘市民权县', '411422': '河南省商丘市睢县', '411423': '河南省商丘市宁陵县', '411424': '河南省商丘市柘城县', '411425': '河南省商丘市虞城县', '411426': '河南省商丘市夏邑县', '411481': '河南省商丘市永城市', '411500': '河南省信阳市', '411501': '河南省信阳市市辖区', '411502': '河南省信阳市师河区', '411503': '河南省信阳市平桥区', '411521': '河南省信阳市罗山县', '411522': '河南省信阳市光山县', '411523': '河南省信阳市新县', '411524': '河南省信阳市商城县', '411525': '河南省信阳市固始县', '411526': '河南省信阳市潢川县', '411527': '河南省信阳市淮滨县', '411528': '河南省信阳市息县', '412700': '河南省周口地区', '412701': '河南省周口地区周口市', '412702': '河南省周口地区项城市', '412721': '河南省周口地区扶沟县', '412722': '河南省周口地区西华县', '412723': '河南省周口地区商水县', '412724': '河南省周口地区太康县', '412725': '河南省周口地区鹿邑县', '412726': '河南省周口地区郸城县', '412727': '河南省周口地区淮阳县', '412728': '河南省周口地区沈丘县', '412800': '河南省驻马店地区', '412801': '河南省驻马店地区驻马店市', '412821': '河南省驻马店地区确山县', '412822': '河南省驻马店地区泌阳县', '412823': '河南省驻马店地区遂平县', '412824': '河南省驻马店地区西平县', '412825': '河南省驻马店地区上蔡县', '412826': '河南省驻马店地区汝南县', '412827': '河南省驻马店地区平舆县', '412828': '河南省驻马店地区新蔡县', '412829': '河南省驻马店地区正阳县', '420000': '湖北省', '420100': '湖北省武汉市', '420101': '湖北省武汉市市辖区', '420102': '湖北省武汉市江岸区', '420103': '湖北省武汉市江汉区', '420104': '湖北省武汉市乔口区', '420105': '湖北省武汉市汉阳区', '420106': '湖北省武汉市武昌区', '420107': '湖北省武汉市青山区', '420111': '湖北省武汉市洪山区', '420112': '湖北省武汉市东西湖区', '420113': '湖北省武汉市汉南区', '420114': '湖北省武汉市蔡甸区', '420115': '湖北省武汉市江夏区', '420116': '湖北省武汉市黄陂区', '420117': '湖北省武汉市新洲区', '420200': '湖北省黄石市', '420201': '湖北省黄石市市辖区', '420202': '湖北省黄石市黄石港区', '420203': '湖北省黄石市石灰窑区', '420204': '湖北省黄石市下陆区', '420205': '湖北省黄石市铁山区', '420222': '湖北省黄石市阳新县', '420281': '湖北省黄石市大冶市', '420300': '湖北省十堰市', '420301': '湖北省十堰市市辖区', '420302': '湖北省十堰市茅箭区', '420303': '湖北省十堰市张湾区', '420321': '湖北省十堰市郧县', '420322': '湖北省十堰市郧西县', '420323': '湖北省十堰市竹山县', '420324': '湖北省十堰市竹溪县', '420325': '湖北省十堰市房县', '420381': '湖北省十堰市丹江口市', '420500': '湖北省宜昌市', '420501': '湖北省宜昌市市辖区', '420502': '湖北省宜昌市西陵区', '420503': '湖北省宜昌市伍家岗区', '420504': '湖北省宜昌市点军区', '420505': '湖北省宜昌市虎亭区', '420521': '湖北省宜昌市宜昌县', '420525': '湖北省宜昌市远安县', '420526': '湖北省宜昌市兴山县', '420527': '湖北省宜昌市秭归县', '420528': '湖北省宜昌市长阳土家族自治县', '420529': '湖北省宜昌市五峰土家族自治县', '420581': '湖北省宜昌市宜都市', '420582': '湖北省宜昌市当阳市', '420583': '湖北省宜昌市枝江市', '420600': '湖北省襄樊市', '420601': '湖北省襄樊市市辖区', '420602': '湖北省襄樊市襄城区', '420606': '湖北省襄樊市樊城区', '420621': '湖北省襄樊市襄阳县', '420624': '湖北省襄樊市南漳县', '420625': '湖北省襄樊市谷城县', '420626': '湖北省襄樊市保康县', '420682': '湖北省襄樊市老河口市', '420683': '湖北省襄樊市枣阳市', '420684': '湖北省襄樊市宜城市', '420700': '湖北省鄂州市', '420701': '湖北省鄂州市市辖区', '420702': '湖北省鄂州市梁子湖区', '420703': '湖北省鄂州市华容区', '420704': '湖北省鄂州市鄂城区', '420800': '湖北省荆门市', '420801': '湖北省荆门市市辖区', '420802': '湖北省荆门市东宝区', '420821': '湖北省荆门市京山县', '420822': '湖北省荆门市沙洋县', '420881': '湖北省荆门市钟祥市', '420900': '湖北省孝感市', '420901': '湖北省孝感市市辖区', '420902': '湖北省孝感市孝南区', '420921': '湖北省孝感市孝昌县', '420922': '湖北省孝感市大悟县', '420923': '湖北省孝感市云梦县', '420981': '湖北省孝感市应城市', '420982': '湖北省孝感市安陆市', '420983': '湖北省孝感市广水市', '420984': '湖北省孝感市汉川市', '421000': '湖北省荆州市', '421001': '湖北省荆州市市辖区', '421002': '湖北省荆州市沙市区', '421003': '湖北省荆州市荆州区', '421022': '湖北省荆州市公安县', '421023': '湖北省荆州市监利县', '421024': '湖北省荆州市江陵县', '421081': '湖北省荆州市石首市', '421083': '湖北省荆州市洪湖市', '421087': '湖北省荆州市松滋市', '421100': '湖北省黄冈市', '421101': '湖北省黄冈市市辖区', '421102': '湖北省黄冈市黄州区', '421121': '湖北省黄冈市团风县', '421122': '湖北省黄冈市红安县', '421123': '湖北省黄冈市罗田县', '421124': '湖北省黄冈市英山县', '421125': '湖北省黄冈市浠水县', '421126': '湖北省黄冈市蕲春县', '421127': '湖北省黄冈市黄梅县', '421181': '湖北省黄冈市麻城市', '421182': '湖北省黄冈市武穴市', '421200': '湖北省咸宁市', '421201': '湖北省咸宁市市辖区', '421202': '湖北省咸宁市咸安区', '421221': '湖北省咸宁市嘉鱼县', '421222': '湖北省咸宁市通城县', '421223': '湖北省咸宁市崇阳县', '421224': '湖北省咸宁市通山县', '422800': '湖北省施土家族苗族自治州', '422801': '湖北省恩施土家族苗族自治州恩施县', '422802': '湖北省恩施土家族苗族自治州利川市', '422822': '湖北省恩施土家族苗族自治州建始县', '422823': '湖北省恩施土家族苗族自治州巴东县', '422825': '湖北省恩施土家族苗族自治州宣恩县', '422826': '湖北省恩施土家族苗族自治州咸丰县', '422827': '湖北省恩施土家族苗族自治州来凤县', '422828': '湖北省恩施土家族苗族自治州鹤峰县', '429000': '湖北省省直辖县级行政单位', '429001': '湖北省随州市', '429004': '湖北省仙桃市', '429005': '湖北省潜江市', '429006': '湖北省天门市', '429021': '湖北省神农架林区', '430000': '湖南省', '430100': '湖南省长沙市', '430101': '湖南省长沙市市辖区', '430102': '湖南省长沙市芙蓉区', '430103': '湖南省长沙市天心区', '430104': '湖南省长沙市岳麓区', '430105': '湖南省长沙市开福区', '430111': '湖南省长沙市雨花区', '430121': '湖南省长沙市长沙县', '430122': '湖南省长沙市望城县', '430124': '湖南省长沙市宁乡县', '430181': '湖南省长沙市浏阳市', '430200': '湖南省株洲市', '430201': '湖南省株洲市市辖区', '430202': '湖南省株洲市荷塘区', '430203': '湖南省株洲市芦淞区', '430204': '湖南省株洲市石峰区', '430211': '湖南省株洲市天元区', '430221': '湖南省株洲市株洲县', '430223': '湖南省株洲市攸县', '430224': '湖南省株洲市茶陵县', '430225': '湖南省株洲市炎陵县', '430281': '湖南省株洲市醴陵市', '430300': '湖南省湘潭市', '430301': '湖南省湘潭市市辖区', '430302': '湖南省湘潭市雨湖区', '430304': '湖南省湘潭市岳塘区', '430321': '湖南省湘潭市湘潭县', '430381': '湖南省湘潭市湘乡市', '430382': '湖南省湘潭市韶山市', '430400': '湖南省衡阳市', '430401': '湖南省衡阳市市辖区', '430402': '湖南省衡阳市江东区', '430403': '湖南省衡阳市城南区', '430404': '湖南省衡阳市城北区', '430411': '湖南省衡阳市郊区', '430412': '湖南省衡阳市南岳区', '430421': '湖南省衡阳市衡阳县', '430422': '湖南省衡阳市衡南县', '430423': '湖南省衡阳市衡山县', '430424': '湖南省衡阳市衡东县', '430426': '湖南省衡阳市祁东县', '430481': '湖南省衡阳市耒阳市', '430482': '湖南省衡阳市常宁市', '430500': '湖南省邵阳市', '430501': '湖南省邵阳市市辖区', '430502': '湖南省邵阳市双清区', '430503': '湖南省邵阳市大祥区', '430511': '湖南省邵阳市北塔区', '430521': '湖南省邵阳市邵东县', '430522': '湖南省邵阳市新邵县', '430523': '湖南省邵阳市邵阳县', '430524': '湖南省邵阳市隆回县', '430525': '湖南省邵阳市洞口县', '430527': '湖南省邵阳市绥宁县', '430528': '湖南省邵阳市新宁县', '430529': '湖南省邵阳市城步苗族自治县', '430581': '湖南省邵阳市武冈市', '430600': '湖南省岳阳市', '430601': '湖南省岳阳市市辖区', '430602': '湖南省岳阳市岳阳楼区', '430603': '湖南省岳阳市云溪区', '430611': '湖南省岳阳市君山区', '430621': '湖南省岳阳市岳阳县', '430623': '湖南省岳阳市华容县', '430624': '湖南省岳阳市湘阴县', '430626': '湖南省岳阳市平江县', '430681': '湖南省岳阳市汨罗市', '430682': '湖南省岳阳市临湘市', '430700': '湖南省常德市', '430701': '湖南省常德市市辖区', '430702': '湖南省常德市武陵区', '430703': '湖南省常德市鼎城区', '430721': '湖南省常德市安乡县', '430722': '湖南省常德市汉寿县', '430723': '湖南省常德市澧县', '430724': '湖南省常德市临澧县', '430725': '湖南省常德市桃源县', '430726': '湖南省常德市石门县', '430781': '湖南省常德市津市市', '430800': '湖南省张家界市', '430801': '湖南省张家界市市辖区', '430802': '湖南省张家界市永定区', '430811': '湖南省张家界市武陵源区', '430821': '湖南省张家界市慈利县', '430822': '湖南省张家界市桑植县', '430900': '湖南省益阳市', '430901': '湖南省益阳市市辖区', '430902': '湖南省益阳市资阳区', '430903': '湖南省益阳市赫山区', '430921': '湖南省益阳市南县', '430922': '湖南省益阳市桃江县', '430923': '湖南省益阳市安化县', '430981': '湖南省益阳市沅江市', '431000': '湖南省郴州市', '431001': '湖南省郴州市市辖区', '431002': '湖南省郴州市北湖区', '431003': '湖南省郴州市苏仙区', '431021': '湖南省郴州市桂阳县', '431022': '湖南省郴州市宜章县', '431023': '湖南省郴州市永兴县', '431024': '湖南省郴州市嘉禾县', '431025': '湖南省郴州市临武县', '431026': '湖南省郴州市汝城县', '431027': '湖南省郴州市桂东县', '431028': '湖南省郴州市安仁县', '431081': '湖南省郴州市资兴市', '431100': '湖南省永州市', '431101': '湖南省永州市市辖区', '431102': '湖南省永州市芝山区', '431103': '湖南省永州市冷水滩区', '431121': '湖南省永州市祁阳县', '431122': '湖南省永州市东安县', '431123': '湖南省永州市双牌县', '431124': '湖南省永州市道县', '431125': '湖南省永州市江永县', '431126': '湖南省永州市宁远县', '431127': '湖南省永州市蓝山县', '431128': '湖南省永州市新田县', '431129': '湖南省永州市江华瑶族自治县', '431200': '湖南省怀化市', '431201': '湖南省怀化市市辖区', '431202': '湖南省怀化市鹤城区', '431221': '湖南省怀化市中方县', '431222': '湖南省怀化市沅陵县', '431223': '湖南省怀化市辰溪县', '431224': '湖南省怀化市溆浦县', '431225': '湖南省怀化市会同县', '431226': '湖南省怀化市麻阳苗族自治县', '431227': '湖南省怀化市新晃侗族自治县', '431228': '湖南省怀化市芷江侗族自治县', '431229': '湖南省怀化市靖州苗族侗族自治县', '431230': '湖南省怀化市通道侗族自治县', '431281': '湖南省怀化市洪江市', '432500': '湖南省娄底地区', '432501': '湖南省娄底地区娄底市', '432502': '湖南省娄底地区冷水江市', '432503': '湖南省娄底地区涟源市', '432522': '湖南省娄底地区双峰县', '432524': '湖南省娄底地区新化县', '433000': '湖南省怀化市', '433001': '湖南省怀化市', '433100': '湖南省湘西土家族苗族自治州', '433101': '湖南省湘西土家族苗族自治州吉首市', '433122': '湖南省湘西土家族苗族自治州泸溪县', '433123': '湖南省湘西土家族苗族自治州凤凰县', '433124': '湖南省湘西土家族苗族自治州花垣县', '433125': '湖南省湘西土家族苗族自治州保靖县', '433126': '湖南省湘西土家族苗族自治州古丈县', '433127': '湖南省湘西土家族苗族自治州永顺县', '433130': '湖南省湘西土家族苗族自治州龙山县', '440000': '广东省', '440100': '广东省广州市', '440101': '广东省广州市市辖区', '440102': '广东省广州市东山区', '440103': '广东省广州市荔湾区', '440104': '广东省广州市越秀区', '440105': '广东省广州市海珠区', '440106': '广东省广州市天河区', '440107': '广东省广州市芳村区', '440111': '广东省广州市白云区', '440112': '广东省广州市黄埔区', '440181': '广东省广州市番禺市', '440182': '广东省广州市花都市', '440183': '广东省广州市增城市', '440184': '广东省广州市从化市', '440200': '广东省韶关市', '440201': '广东省韶关市市辖区', '440202': '广东省韶关市北江区', '440203': '广东省韶关市武江区', '440204': '广东省韶关市浈江区', '440221': '广东省韶关市曲江县', '440222': '广东省韶关市始兴县', '440224': '广东省韶关市仁化县', '440229': '广东省韶关市翁源县', '440232': '广东省韶关市乳源瑶族自治县', '440233': '广东省韶关市新丰县', '440281': '广东省韶关市乐昌市', '440282': '广东省韶关市南雄市', '440300': '广东省深圳市', '440301': '广东省深圳市市辖区', '440303': '广东省深圳市罗湖区', '440304': '广东省深圳市福田区', '440305': '广东省深圳市南山区', '440306': '广东省深圳市宝安区', '440307': '广东省深圳市龙岗区', '440308': '广东省深圳市盐田区', '440400': '广东省珠海市', '440401': '广东省珠海市市辖区', '440402': '广东省珠海市香洲区', '440421': '广东省珠海市斗门县', '440500': '广东省汕头市', '440501': '广东省汕头市市辖区', '440506': '广东省汕头市达濠区', '440507': '广东省汕头市龙湖区', '440508': '广东省汕头市金园区', '440509': '广东省汕头市升平区', '440510': '广东省汕头市河浦区', '440523': '广东省汕头市南澳县', '440582': '广东省汕头市潮阳市', '440583': '广东省汕头市澄海市', '440600': '广东省佛山市', '440601': '广东省佛山市市辖区', '440602': '广东省佛山市城区', '440603': '广东省佛山市石湾区', '440681': '广东省佛山市顺德市', '440682': '广东省佛山市南海市', '440683': '广东省佛山市三水市', '440684': '广东省佛山市高明市', '440700': '广东省江门市', '440701': '广东省江门市市辖区', '440703': '广东省江门市蓬江区', '440704': '广东省江门市江海区', '440781': '广东省江门市台山市', '440782': '广东省江门市新会市', '440783': '广东省江门市开平市', '440784': '广东省江门市鹤山市', '440785': '广东省江门市恩平市', '440800': '广东省湛江市', '440801': '广东省湛江市市辖区', '440802': '广东省湛江市赤坎区', '440803': '广东省湛江市霞山区', '440804': '广东省湛江市坡头区', '440811': '广东省湛江市麻章区', '440823': '广东省湛江市遂溪县', '440825': '广东省湛江市徐闻县', '440881': '广东省湛江市廉江市', '440882': '广东省湛江市雷州市', '440883': '广东省湛江市吴川市', '440900': '广东省茂名市', '440901': '广东省茂名市市辖区', '440902': '广东省茂名市茂南区', '440923': '广东省茂名市电白县', '440981': '广东省茂名市高州市', '440982': '广东省茂名市化州市', '440983': '广东省茂名市信宜市', '441200': '广东省肇庆市', '441201': '广东省肇庆市市辖区', '441202': '广东省肇庆市端州区', '441203': '广东省肇庆市鼎湖区', '441223': '广东省肇庆市广宁县', '441224': '广东省肇庆市怀集县', '441225': '广东省肇庆市封开县', '441226': '广东省肇庆市德庆县', '441283': '广东省肇庆市高要市', '441284': '广东省肇庆市四会市', '441300': '广东省惠州市', '441301': '广东省惠州市市辖区', '441302': '广东省惠州市惠城区', '441322': '广东省惠州市博罗县', '441323': '广东省惠州市惠东县', '441324': '广东省惠州市龙门县', '441381': '广东省惠州市惠阳市', '441400': '广东省梅州市', '441401': '广东省梅州市市辖区', '441402': '广东省梅州市梅江区', '441421': '广东省梅州市梅县', '441422': '广东省梅州市大埔县', '441423': '广东省梅州市丰顺县', '441424': '广东省梅州市五华县', '441426': '广东省梅州市平远县', '441427': '广东省梅州市蕉岭县', '441481': '广东省梅州市兴宁市', '441500': '广东省汕尾市', '441501': '广东省汕尾市市辖区', '441502': '广东省汕尾市城区', '441521': '广东省汕尾市海丰县', '441523': '广东省汕尾市陆河县', '441581': '广东省汕尾市陆丰市', '441600': '广东省河源市', '441601': '广东省河源市市辖区', '441602': '广东省河源市源城区', '441621': '广东省河源市紫金县', '441622': '广东省河源市龙川县', '441623': '广东省河源市连平县', '441624': '广东省河源市和平县', '441625': '广东省河源市东源县', '441700': '广东省阳江市', '441701': '广东省阳江市市辖区', '441702': '广东省阳江市江城区', '441721': '广东省阳江市阳西县', '441723': '广东省阳江市阳东县', '441781': '广东省阳江市阳春市', '441800': '广东省清远市', '441801': '广东省清远市市辖区', '441802': '广东省清远市清城区', '441821': '广东省清远市佛冈县', '441823': '广东省清远市阳山县', '441825': '广东省清远市连山壮族瑶族自治县', '441826': '广东省清远市连南瑶族自治县', '441827': '广东省清远市清新县', '441881': '广东省清远市英德市', '441882': '广东省清远市连州市', '441900': '广东省东莞市', '441901': '广东省东莞市市辖区', '442000': '广东省中山市', '442001': '广东省中山市市辖区', '445100': '广东省潮州市', '445101': '广东省潮州市市辖区', '445102': '广东省潮州市湘桥区', '445121': '广东省潮州市潮安县', '445122': '广东省潮州市饶平县', '445200': '广东省揭阳市', '445201': '广东省揭阳市市辖区', '445202': '广东省揭阳市榕城区', '445221': '广东省揭阳市揭东县', '445222': '广东省揭阳市揭西县', '445224': '广东省揭阳市惠来县', '445281': '广东省揭阳市普宁市', '445300': '广东省云浮市', '445301': '广东省云浮市市辖区', '445302': '广东省云浮市云城区', '445321': '广东省云浮市新兴县', '445322': '广东省云浮市郁南县', '445323': '广东省云浮市云安县', '445381': '广东省云浮市罗定市', '450000': '广西壮族自治区', '450100': '广西壮族自治区南宁市', '450101': '广西壮族自治区南宁市市辖区', '450102': '广西壮族自治区南宁市兴宁区', '450103': '广西壮族自治区南宁市新城区', '450104': '广西壮族自治区南宁市城北区', '450105': '广西壮族自治区南宁市江南区', '450106': '广西壮族自治区南宁市永新区', '450111': '广西壮族自治区南宁市市郊区', '450121': '广西壮族自治区南宁市邕宁县', '450122': '广西壮族自治区南宁市武鸣县', '450200': '广西壮族自治区柳州市', '450201': '广西壮族自治区柳州市市辖区', '450202': '广西壮族自治区柳州市城中区', '450203': '广西壮族自治区柳州市鱼峰区', '450204': '广西壮族自治区柳州市柳南区', '450205': '广西壮族自治区柳州市柳北区', '450211': '广西壮族自治区柳州市市郊区', '450221': '广西壮族自治区柳州市柳江县', '450222': '广西壮族自治区柳州市柳城县', '450300': '广西壮族自治区桂林市', '450301': '广西壮族自治区桂林市市辖区', '450302': '广西壮族自治区桂林市秀峰区', '450303': '广西壮族自治区桂林市叠彩区', '450304': '广西壮族自治区桂林市象山区', '450305': '广西壮族自治区桂林市七星区', '450311': '广西壮族自治区桂林市雁山区', '450321': '广西壮族自治区桂林市阳朔县', '450322': '广西壮族自治区桂林市临桂县', '450323': '广西壮族自治区桂林市灵川县', '450324': '广西壮族自治区桂林市全州县', '450325': '广西壮族自治区桂林市兴安县', '450326': '广西壮族自治区桂林市永福县', '450327': '广西壮族自治区桂林市灌阳县', '450328': '广西壮族自治区桂林市龙胜各族自治县', '450329': '广西壮族自治区桂林市资源县', '450330': '广西壮族自治区桂林市平乐县', '450331': '广西壮族自治区桂林市荔浦县', '450332': '广西壮族自治区桂林市恭城瑶族自治县', '450400': '广西壮族自治区梧州市', '450401': '广西壮族自治区梧州市市辖区', '450403': '广西壮族自治区梧州市万秀区', '450404': '广西壮族自治区梧州市蝶山区', '450411': '广西壮族自治区梧州市市郊区', '450421': '广西壮族自治区梧州市苍梧县', '450422': '广西壮族自治区梧州市藤县', '450423': '广西壮族自治区梧州市蒙山县', '450481': '广西壮族自治区梧州市岑溪市', '450500': '广西壮族自治区北海市', '450501': '广西壮族自治区北海市市辖区', '450502': '广西壮族自治区北海市海城区', '450503': '广西壮族自治区北海市银海区', '450512': '广西壮族自治区北海市铁山港区', '450521': '广西壮族自治区北海市合浦县', '450600': '广西壮族自治区防城港市', '450601': '广西壮族自治区防城港市市辖区', '450602': '广西壮族自治区防城港市港口区', '450603': '广西壮族自治区防城港市防城区', '450621': '广西壮族自治区防城港市上思县', '450681': '广西壮族自治区防城港市东兴市', '450700': '广西壮族自治区钦州市', '450701': '广西壮族自治区钦州市市辖区', '450702': '广西壮族自治区钦州市钦南区', '450703': '广西壮族自治区钦州市钦北区', '450721': '广西壮族自治区钦州市灵山县', '450722': '广西壮族自治区钦州市浦北县', '450800': '广西壮族自治区贵港市', '450801': '广西壮族自治区贵港市市辖区', '450802': '广西壮族自治区贵港市港北区', '450803': '广西壮族自治区贵港市港南区', '450821': '广西壮族自治区贵港市平南县', '450881': '广西壮族自治区贵港市桂平市', '450900': '广西壮族自治区玉林市', '450901': '广西壮族自治区玉林市市辖区', '450902': '广西壮族自治区玉林市玉州区', '450921': '广西壮族自治区玉林市容县', '450922': '广西壮族自治区玉林市陆川县', '450923': '广西壮族自治区玉林市博白县', '450924': '广西壮族自治区玉林市兴业县', '450981': '广西壮族自治区玉林市北流市', '452100': '广西壮族自治区南宁地区', '452101': '广西壮族自治区南宁地区凭祥市', '452122': '广西壮族自治区南宁地区横县', '452123': '广西壮族自治区南宁地区宾阳县', '452124': '广西壮族自治区南宁地区上林县', '452126': '广西壮族自治区南宁地区隆安县', '452127': '广西壮族自治区南宁地区马山县', '452128': '广西壮族自治区南宁地区扶绥县', '452129': '广西壮族自治区南宁地区崇左县', '452130': '广西壮族自治区南宁地区大新县', '452131': '广西壮族自治区南宁地区天等县', '452132': '广西壮族自治区南宁地区宁明县', '452133': '广西壮族自治区南宁地区龙州县', '452200': '广西壮族自治区柳州地区', '452201': '广西壮族自治区柳州地区合山市', '452223': '广西壮族自治区柳州地区鹿寨县', '452224': '广西壮族自治区柳州地区象州县', '452225': '广西壮族自治区柳州地区武宣县', '452226': '广西壮族自治区柳州地区来宾县', '452227': '广西壮族自治区柳州地区融安县', '452228': '广西壮族自治区柳州地区三江侗族自治县', '452229': '广西壮族自治区柳州地区融水苗族自治县', '452230': '广西壮族自治区柳州地区金秀瑶族自治县', '452231': '广西壮族自治区柳州地区忻城县', '452400': '广西壮族自治区贺州地区', '452402': '广西壮族自治区贺州地区贺州市', '452424': '广西壮族自治区贺州地区昭平县', '452427': '广西壮族自治区贺州地区钟山县', '452428': '广西壮族自治区贺州地区富川瑶族自治县', '452600': '广西壮族自治区百色地区', '452601': '广西壮族自治区百色地区百色市', '452622': '广西壮族自治区百色地区田阳县', '452623': '广西壮族自治区百色地区田东县', '452624': '广西壮族自治区百色地区平果县', '452625': '广西壮族自治区百色地区德保县', '452626': '广西壮族自治区百色地区靖西县', '452627': '广西壮族自治区百色地区那坡县', '452628': '广西壮族自治区百色地区凌云县', '452629': '广西壮族自治区百色地区乐业县', '452630': '广西壮族自治区百色地区田林县', '452631': '广西壮族自治区百色地区隆林各族自治县', '452632': '广西壮族自治区百色地区西林县', '452700': '广西壮族自治区河池地区', '452701': '广西壮族自治区河池地区河池市', '452702': '广西壮族自治区河池地区宜州市', '452723': '广西壮族自治区河池地区罗城仫佬族自治县', '452724': '广西壮族自治区河池地区环江毛南族自治县', '452725': '广西壮族自治区河池地区南丹县', '452726': '广西壮族自治区河池地区天峨县', '452727': '广西壮族自治区河池地区凤山县', '452728': '广西壮族自治区河池地区东兰县', '452729': '广西壮族自治区河池地区巴马瑶族自治县', '452730': '广西壮族自治区河池地区都安瑶族自治县', '452731': '广西壮族自治区河池地区大化瑶族自治县', '460000': '海南省', '460001': '海南省三亚市通什市', '460002': '海南省三亚市琼海市', '460003': '海南省三亚市儋州市', '460004': '海南省三亚市琼山市', '460005': '海南省三亚市文昌市', '460006': '海南省三亚市万宁市', '460007': '海南省三亚市东方市', '460025': '海南省三亚市定安县', '460026': '海南省三亚市屯昌县', '460027': '海南省三亚市澄迈县', '460028': '海南省三亚市临高县', '460030': '海南省三亚市白沙黎族自治县', '460031': '海南省三亚市昌江黎族自治县', '460033': '海南省三亚市乐东黎族自治县', '460034': '海南省三亚市陵水黎族自治县', '460035': '海南省三亚市保亭黎族苗族自治县', '460036': '海南省三亚市琼中黎族苗族自治县', '460037': '海南省西沙群岛', '460038': '海南省南沙群岛', '460039': '海南省中沙群岛的岛礁及其海域', '460100': '海南省海口市', '460101': '海南省海口市市辖区', '460102': '海南省海口市振东区', '460103': '海南省海口市新华区', '460104': '海南省海口市秀英区', '460200': '海南省三亚市', '460201': '海南省三亚市市辖区', '500000': '重庆市', '500100': '重庆市市辖区', '500101': '重庆市万州区', '500102': '重庆市涪陵区', '500103': '重庆市渝中区', '500104': '重庆市大渡口区', '500105': '重庆市江北区', '500106': '重庆市沙坪坝区', '500107': '重庆市九龙坡区', '500108': '重庆市南岸区', '500109': '重庆市北碚区', '500110': '重庆市万盛区', '500111': '重庆市双桥区', '500112': '重庆市渝北区', '500113': '重庆市巴南区', '500200': '重庆市县', '500221': '重庆市长寿县', '500222': '重庆市綦江县', '500223': '重庆市潼南县', '500224': '重庆市铜梁县', '500225': '重庆市大足县', '500226': '重庆市荣昌县', '500227': '重庆市璧山县', '500228': '重庆市梁平县', '500229': '重庆市城口县', '500230': '重庆市丰都县', '500231': '重庆市垫江县', '500232': '重庆市武隆县', '500233': '重庆市忠县', '500234': '重庆市开县', '500235': '重庆市云阳县', '500236': '重庆市奉节县', '500237': '重庆市巫山县', '500238': '重庆市巫溪县', '500239': '重庆市黔江土家族苗族自治县', '500240': '重庆市石柱土家族自治县', '500241': '重庆市秀山土家族苗族自治县', '500242': '重庆市酉阳土家族苗族自治县', '500243': '重庆市彭水苗族土家族自治县', '500300': '重庆市(市)', '500381': '重庆市江津市', '500382': '重庆市合川市', '500383': '重庆市永川市', '500384': '重庆市南川市', '510000': '四川省', '510100': '四川省成都市', '510101': '四川省成都市市辖区', '510104': '四川省成都市锦江区', '510105': '四川省成都市青羊区', '510106': '四川省成都市金牛区', '510107': '四川省成都市武侯区', '510108': '四川省成都市成华区', '510112': '四川省成都市龙泉驿区', '510113': '四川省成都市青白江区', '510121': '四川省成都市金堂县', '510122': '四川省成都市双流县', '510123': '四川省成都市温江县', '510124': '四川省成都市郫县', '510125': '四川省成都市新都县', '510129': '四川省成都市大邑县', '510131': '四川省成都市蒲江县', '510132': '四川省成都市新津县', '510181': '四川省成都市都江堰市', '510182': '四川省成都市彭州市', '510183': '四川省成都市邛崃市', '510184': '四川省成都市崇州市', '510300': '四川省自贡市', '510301': '四川省自贡市市辖区', '510302': '四川省自贡市自流井区', '510303': '四川省自贡市贡井区', '510304': '四川省自贡市大安区', '510311': '四川省自贡市沿滩区', '510321': '四川省自贡市荣县', '510322': '四川省自贡市富顺县', '510400': '四川省攀枝花市', '510401': '四川省攀枝花市市辖区', '510402': '四川省攀枝花市东区', '510403': '四川省攀枝花市西区', '510411': '四川省攀枝花市仁和区', '510421': '四川省攀枝花市米易县', '510422': '四川省攀枝花市盐边县', '510500': '四川省泸州市', '510501': '四川省泸州市市辖区', '510502': '四川省泸州市江阳区', '510503': '四川省泸州市纳溪区', '510504': '四川省泸州市龙马潭区', '510521': '四川省泸州市泸县', '510522': '四川省泸州市合江县', '510524': '四川省泸州市叙永县', '510525': '四川省泸州市古蔺县', '510600': '四川省德阳市', '510601': '四川省德阳市市辖区', '510603': '四川省德阳市旌阳区', '510623': '四川省德阳市中江县', '510626': '四川省德阳市罗江县', '510681': '四川省德阳市广汉市', '510682': '四川省德阳市什邡市', '510683': '四川省德阳市绵竹市', '510700': '四川省绵阳市', '510701': '四川省绵阳市市辖区', '510703': '四川省绵阳市涪城区', '510704': '四川省绵阳市游仙区', '510722': '四川省绵阳市三台县', '510723': '四川省绵阳市盐亭县', '510724': '四川省绵阳市安县', '510725': '四川省绵阳市梓潼县', '510726': '四川省绵阳市北川县', '510727': '四川省绵阳市平武县', '510781': '四川省绵阳市江油市', '510800': '四川省广元市', '510801': '四川省广元市市辖区', '510802': '四川省广元市市中区', '510811': '四川省广元市元坝区', '510812': '四川省广元市朝天区', '510821': '四川省广元市旺苍县', '510822': '四川省广元市青川县', '510823': '四川省广元市剑阁县', '510824': '四川省广元市苍溪县', '510900': '四川省遂宁市', '510901': '四川省遂宁市市辖区', '510902': '四川省遂宁市市中区', '510921': '四川省遂宁市蓬溪县', '510922': '四川省遂宁市射洪县', '510923': '四川省遂宁市大英县', '511000': '四川省内江市', '511001': '四川省内江市市辖区', '511002': '四川省内江市市中区', '511011': '四川省内江市东兴区', '511024': '四川省内江市威远县', '511025': '四川省内江市资中县', '511028': '四川省内江市隆昌县', '511100': '四川省乐山市', '511101': '四川省乐山市市辖区', '511102': '四川省乐山市市中区', '511111': '四川省乐山市沙湾区', '511112': '四川省乐山市五通桥区', '511113': '四川省乐山市金口河区', '511123': '四川省乐山市犍为县', '511124': '四川省乐山市井研县', '511126': '四川省乐山市夹江县', '511129': '四川省乐山市沐川县', '511132': '四川省乐山市峨边彝族自治县', '511133': '四川省乐山市马边彝族自治县', '511181': '四川省乐山市峨眉山市', '511300': '四川省南充市', '511301': '四川省南充市市辖区', '511302': '四川省南充市顺庆区', '511303': '四川省南充市高坪区', '511304': '四川省南充市嘉陵区', '511321': '四川省南充市南部县', '511322': '四川省南充市营山县', '511323': '四川省南充市蓬安县', '511324': '四川省南充市仪陇县', '511325': '四川省南充市西充县', '511381': '四川省南充市阆中市', '511500': '四川省宜宾市', '511501': '四川省宜宾市市辖区', '511502': '四川省宜宾市翠屏区', '511521': '四川省宜宾市宜宾县', '511522': '四川省宜宾市南溪县', '511523': '四川省宜宾市江安县', '511524': '四川省宜宾市长宁县', '511525': '四川省宜宾市高县', '511526': '四川省宜宾市珙县', '511527': '四川省宜宾市筠连县', '511528': '四川省宜宾市兴文县', '511529': '四川省宜宾市屏山县', '511600': '四川省广安市', '511601': '四川省广安市市辖区', '511602': '四川省广安市广安区', '511621': '四川省广安市岳池县', '511622': '四川省广安市武胜县', '511623': '四川省广安市邻水县', '511681': '四川省广安市华蓥市', '513000': '四川省达川地区', '513001': '四川省达川地区达川市', '513002': '四川省达川地区万源市', '513021': '四川省达川地区达县', '513022': '四川省达川地区宣汉县', '513023': '四川省达川地区开江县', '513029': '四川省达川地区大竹县', '513030': '四川省达川地区渠县', '513100': '四川省雅安地区', '513101': '四川省雅安地区雅安市', '513122': '四川省雅安地区名山县', '513123': '四川省雅安地区荥经县', '513124': '四川省雅安地区汉源县', '513125': '四川省雅安地区石棉县', '513126': '四川省雅安地区天全县', '513127': '四川省雅安地区芦山县', '513128': '四川省雅安地区宝兴县', '513200': '四川省阿坝藏族羌族自治州', '513221': '四川省阿坝藏族羌族自治州汶川县', '513222': '四川省阿坝藏族羌族自治州理县', '513223': '四川省阿坝藏族羌族自治州茂县', '513224': '四川省阿坝藏族羌族自治州松潘县', '513225': '四川省阿坝藏族羌族自治州九寨沟县', '513226': '四川省阿坝藏族羌族自治州金川县', '513227': '四川省阿坝藏族羌族自治州小金县', '513228': '四川省阿坝藏族羌族自治州黑水县', '513229': '四川省阿坝藏族羌族自治州马尔康县', '513230': '四川省阿坝藏族羌族自治州壤塘县', '513231': '四川省阿坝藏族羌族自治州阿坝县', '513232': '四川省阿坝藏族羌族自治州若尔盖县', '513233': '四川省阿坝藏族羌族自治州红原县', '513300': '四川省甘孜藏族自治州', '513321': '四川省甘孜藏族自治州康定县', '513322': '四川省甘孜藏族自治州泸定县', '513323': '四川省甘孜藏族自治州丹巴县', '513324': '四川省甘孜藏族自治州九龙县', '513325': '四川省甘孜藏族自治州雅江县', '513326': '四川省甘孜藏族自治州道孚县', '513327': '四川省甘孜藏族自治州炉霍县', '513328': '四川省甘孜藏族自治州甘孜县', '513329': '四川省甘孜藏族自治州新龙县', '513330': '四川省甘孜藏族自治州德格县', '513331': '四川省甘孜藏族自治州白玉县', '513332': '四川省甘孜藏族自治州石渠县', '513333': '四川省甘孜藏族自治州色达县', '513334': '四川省甘孜藏族自治州理塘县', '513335': '四川省甘孜藏族自治州巴塘县', '513336': '四川省甘孜藏族自治州乡城县', '513337': '四川省甘孜藏族自治州稻城县', '513338': '四川省甘孜藏族自治州得荣县', '513400': '四川省凉山彝族自治州', '513401': '四川省凉山彝族自治州西昌市', '513422': '四川省凉山彝族自治州木里藏族自治县', '513423': '四川省凉山彝族自治州盐源县', '513424': '四川省凉山彝族自治州德昌县', '513425': '四川省凉山彝族自治州会理县', '513426': '四川省凉山彝族自治州会东县', '513427': '四川省凉山彝族自治州宁南县', '513428': '四川省凉山彝族自治州普格县', '513429': '四川省凉山彝族自治州布拖县', '513430': '四川省凉山彝族自治州金阳县', '513431': '四川省凉山彝族自治州昭觉县', '513432': '四川省凉山彝族自治州喜德县', '513433': '四川省凉山彝族自治州冕宁县', '513434': '四川省凉山彝族自治州越西县', '513435': '四川省凉山彝族自治州甘洛县', '513436': '四川省凉山彝族自治州美姑县', '513437': '四川省凉山彝族自治州雷波县', '513700': '四川省巴中地区', '513701': '四川省巴中地区巴中市', '513721': '四川省巴中地区通江县', '513722': '四川省巴中地区南江县', '513723': '四川省巴中地区平昌县', '513800': '四川省眉山地区', '513821': '四川省眉山地区眉山县', '513822': '四川省眉山地区仁寿县', '513823': '四川省眉山地区彭山县', '513824': '四川省眉山地区洪雅县', '513825': '四川省眉山地区丹棱县', '513826': '四川省眉山地区青神县', '513900': '四川省眉山地区资阳地区', '513901': '四川省眉山地区资阳市', '513902': '四川省眉山地区简阳市', '513921': '四川省眉山地区安岳县', '513922': '四川省眉山地区乐至县', '520000': '贵州省', '520100': '贵州省贵阳市', '520101': '贵州省贵阳市市辖区', '520102': '贵州省贵阳市南明区', '520103': '贵州省贵阳市云岩区', '520111': '贵州省贵阳市花溪区', '520112': '贵州省贵阳市乌当区', '520113': '贵州省贵阳市白云区', '520121': '贵州省贵阳市开阳县', '520122': '贵州省贵阳市息烽县', '520123': '贵州省贵阳市修文县', '520181': '贵州省贵阳市清镇市', '520200': '贵州省六盘水市', '520201': '贵州省六盘水市钟山区', '520202': '贵州省六盘水市盘县特区', '520203': '贵州省六盘水市六枝特区', '520221': '贵州省六盘水市水城县', '520300': '贵州省遵义市', '520301': '贵州省遵义市市辖区', '520302': '贵州省遵义市红花岗区', '520321': '贵州省遵义市遵义县', '520322': '贵州省遵义市桐梓县', '520323': '贵州省遵义市绥阳县', '520324': '贵州省遵义市正安县', '520325': '贵州省遵义市道真仡佬族苗族自治县', '520326': '贵州省遵义市务川仡佬族苗族自治县', '520327': '贵州省遵义市凤冈县', '520328': '贵州省遵义市湄潭县', '520329': '贵州省遵义市余庆县', '520330': '贵州省遵义市习水县', '520381': '贵州省遵义市赤水市', '520382': '贵州省遵义市仁怀市', '522200': '贵州省铜仁地区', '522201': '贵州省铜仁地区铜仁市', '522222': '贵州省铜仁地区江口县', '522223': '贵州省铜仁地区玉屏侗族自治县', '522224': '贵州省铜仁地区石阡县', '522225': '贵州省铜仁地区思南县', '522226': '贵州省铜仁地区印江土家族苗族自治县', '522227': '贵州省铜仁地区德江县', '522228': '贵州省铜仁地区沿河土家族自治县', '522229': '贵州省铜仁地区松桃苗族自治县', '522230': '贵州省铜仁地区万山特区', '522300': '贵州省黔西南布依族苗族自治州', '522301': '贵州省黔西南布依族苗族自治州兴义市', '522322': '贵州省黔西南布依族苗族自治州兴仁县', '522323': '贵州省黔西南布依族苗族自治州普安县', '522324': '贵州省黔西南布依族苗族自治州晴隆县', '522325': '贵州省黔西南布依族苗族自治州贞丰县', '522326': '贵州省黔西南布依族苗族自治州望谟县', '522327': '贵州省黔西南布依族苗族自治州册亨县', '522328': '贵州省黔西南布依族苗族自治州安龙县', '522400': '贵州省毕节地区', '522401': '贵州省毕节地区毕节市', '522422': '贵州省毕节地区大方县', '522423': '贵州省毕节地区黔西县', '522424': '贵州省毕节地区金沙县', '522425': '贵州省毕节地区织金县', '522426': '贵州省毕节地区纳雍县', '522427': '贵州省毕节地区威宁彝族回族苗族自治县', '522428': '贵州省毕节地区赫章县', '522500': '贵州省安顺地区', '522501': '贵州省安顺地区安顺市', '522526': '贵州省安顺地区平坝县', '522527': '贵州省安顺地区普定县', '522528': '贵州省安顺地区关岭布依族苗族自治县', '522529': '贵州省安顺地区镇宁布依族苗族自治县', '522530': '贵州省安顺地区紫云苗族布依族自治县', '522600': '贵州省黔东南苗族侗族自治州', '522601': '贵州省黔东南苗族侗族自治州凯里市', '522622': '贵州省黔东南苗族侗族自治州黄平县', '522623': '贵州省黔东南苗族侗族自治州施秉县', '522624': '贵州省黔东南苗族侗族自治州三穗县', '522625': '贵州省黔东南苗族侗族自治州镇远县', '522626': '贵州省黔东南苗族侗族自治州岑巩县', '522627': '贵州省黔东南苗族侗族自治州天柱县', '522628': '贵州省黔东南苗族侗族自治州锦屏县', '522629': '贵州省黔东南苗族侗族自治州剑河县', '522630': '贵州省黔东南苗族侗族自治州台江县', '522631': '贵州省黔东南苗族侗族自治州黎平县', '522632': '贵州省黔东南苗族侗族自治州榕江县', '522633': '贵州省黔东南苗族侗族自治州从江县', '522634': '贵州省黔东南苗族侗族自治州雷山县', '522635': '贵州省黔东南苗族侗族自治州麻江县', '522636': '贵州省黔东南苗族侗族自治州丹寨县', '522700': '贵州省黔南布依族苗族自治州', '522701': '贵州省黔南布依族苗族自治州都匀市', '522702': '贵州省黔南布依族苗族自治州福泉市', '522722': '贵州省黔南布依族苗族自治州荔波县', '522723': '贵州省黔南布依族苗族自治州贵定县', '522725': '贵州省黔南布依族苗族自治州瓮安县', '522726': '贵州省黔南布依族苗族自治州独山县', '522727': '贵州省黔南布依族苗族自治州平塘县', '522728': '贵州省黔南布依族苗族自治州罗甸县', '522729': '贵州省黔南布依族苗族自治州长顺县', '522730': '贵州省黔南布依族苗族自治州龙里县', '522731': '贵州省黔南布依族苗族自治州惠水县', '522732': '贵州省黔南布依族苗族自治州三都水族自治县', '530000': '云南省', '530100': '云南省昆明市', '530101': '云南省昆明市市辖区', '530102': '云南省昆明市五华区', '530103': '云南省昆明市盘龙区', '530111': '云南省昆明市官渡区', '530112': '云南省昆明市西山区', '530113': '云南省昆明市东川区', '530121': '云南省昆明市呈贡县', '530122': '云南省昆明市晋宁县', '530124': '云南省昆明市富民县', '530125': '云南省昆明市宜良县', '530126': '云南省昆明市石林彝族自治县', '530127': '云南省昆明市嵩明县', '530128': '云南省昆明市禄劝彝族苗族自治县', '530129': '云南省昆明市寻甸回族彝族自治县', '530181': '云南省昆明市安宁市', '530300': '云南省曲靖市', '530301': '云南省曲靖市市辖区', '530302': '云南省曲靖市麒麟区', '530321': '云南省曲靖市马龙县', '530322': '云南省曲靖市陆良县', '530323': '云南省曲靖市师宗县', '530324': '云南省曲靖市罗平县', '530325': '云南省曲靖市富源县', '530326': '云南省曲靖市会泽县', '530328': '云南省曲靖市沾益县', '530381': '云南省曲靖市宣威市', '530400': '云南省玉溪市', '530401': '云南省玉溪市市辖区', '530402': '云南省玉溪市红塔区', '530421': '云南省玉溪市江川县', '530422': '云南省玉溪市澄江县', '530423': '云南省玉溪市通海县', '530424': '云南省玉溪市华宁县', '530425': '云南省玉溪市易门县', '530426': '云南省玉溪市峨山彝族自治县', '530427': '云南省玉溪市新平彝族傣族自治县', '530428': '云南省玉溪市元江哈尼族彝族傣族自治县', '532100': '云南省昭通地区', '532101': '云南省昭通地区昭通市', '532122': '云南省昭通地区鲁甸县', '532123': '云南省昭通地区巧家县', '532124': '云南省昭通地区盐津县', '532125': '云南省昭通地区大关县', '532126': '云南省昭通地区永善县', '532127': '云南省昭通地区绥江县', '532128': '云南省昭通地区镇雄县', '532129': '云南省昭通地区彝良县', '532130': '云南省昭通地区威信县', '532131': '云南省昭通地区水富县', '532300': '云南省楚雄彝族自治州', '532301': '云南省楚雄彝族自治州楚雄市', '532322': '云南省楚雄彝族自治州双柏县', '532323': '云南省楚雄彝族自治州牟定县', '532324': '云南省楚雄彝族自治州南华县', '532325': '云南省楚雄彝族自治州姚安县', '532326': '云南省楚雄彝族自治州大姚县', '532327': '云南省楚雄彝族自治州永仁县', '532328': '云南省楚雄彝族自治州元谋县', '532329': '云南省楚雄彝族自治州武定县', '532331': '云南省楚雄彝族自治州禄丰县', '532500': '云南省红河哈尼族彝族自治州', '532501': '云南省红河哈尼族彝族自治州个旧市', '532502': '云南省红河哈尼族彝族自治州开远市', '532522': '云南省红河哈尼族彝族自治州蒙自县', '532523': '云南省红河哈尼族彝族自治州屏边苗族自治县', '532524': '云南省红河哈尼族彝族自治州建水县', '532525': '云南省红河哈尼族彝族自治州石屏县', '532526': '云南省红河哈尼族彝族自治州弥勒县', '532527': '云南省红河哈尼族彝族自治州泸西县', '532528': '云南省红河哈尼族彝族自治州元阳县', '532529': '云南省红河哈尼族彝族自治州红河县', '532530': '云南省红河哈尼族彝族自治州金平苗族瑶族傣族自治县', '532531': '云南省红河哈尼族彝族自治州绿春县', '532532': '云南省红河哈尼族彝族自治州河口瑶族自治县', '532600': '云南省文山壮族苗族自治州', '532621': '云南省文山壮族苗族自治州文山县', '532622': '云南省文山壮族苗族自治州砚山县', '532623': '云南省文山壮族苗族自治州西畴县', '532624': '云南省文山壮族苗族自治州麻栗坡县', '532625': '云南省文山壮族苗族自治州马关县', '532626': '云南省文山壮族苗族自治州丘北县', '532627': '云南省文山壮族苗族自治州广南县', '532628': '云南省文山壮族苗族自治州富宁县', '532700': '云南省思茅地区', '532701': '云南省思茅地区思茅市', '532722': '云南省思茅地区普洱哈尼族彝族自治县', '532723': '云南省思茅地区墨江哈尼族自治县', '532724': '云南省思茅地区景东彝族自治县', '532725': '云南省思茅地区景谷傣族彝族自治县', '532726': '云南省思茅地区镇沅彝族哈尼族拉祜族自治县', '532727': '云南省思茅地区江城哈尼族彝族自治县', '532728': '云南省思茅地区孟连傣族拉祜族佤族自治县', '532729': '云南省思茅地区澜沧拉祜族自治县', '532730': '云南省思茅地区西盟佤族自治县', '532800': '云南省西双版纳傣族自治州', '532801': '云南省西双版纳傣族自治州景洪市', '532822': '云南省西双版纳傣族自治州勐海县', '532823': '云南省西双版纳傣族自治州勐腊县', '532900': '云南省大理白族自治州', '532901': '云南省大理白族自治州大理市', '532922': '云南省大理白族自治州漾濞彝族自治县', '532923': '云南省大理白族自治州祥云县', '532924': '云南省大理白族自治州宾川县', '532925': '云南省大理白族自治州弥渡县', '532926': '云南省大理白族自治州南涧彝族自治县', '532927': '云南省大理白族自治州巍山彝族回族自治县', '532928': '云南省大理白族自治州永平县', '532929': '云南省大理白族自治州云龙县', '532930': '云南省大理白族自治州洱源县', '532931': '云南省大理白族自治州剑川县', '532932': '云南省大理白族自治州鹤庆县', '533000': '云南省保山地区', '533001': '云南省保山地区保山市', '533022': '云南省保山地区施甸县', '533023': '云南省保山地区腾冲县', '533024': '云南省保山地区龙陵县', '533025': '云南省保山地区昌宁县', '533100': '云南省德宏傣族景颇族自治州', '533101': '云南省德宏傣族景颇族自治州畹町市', '533102': '云南省德宏傣族景颇族自治州瑞丽市', '533103': '云南省德宏傣族景颇族自治州潞西市', '533122': '云南省德宏傣族景颇族自治州梁河县', '533123': '云南省德宏傣族景颇族自治州盈江县', '533124': '云南省德宏傣族景颇族自治州陇川县', '533200': '云南省丽江地区', '533221': '云南省丽江地区丽江纳西族自治县', '533222': '云南省丽江地区永胜县', '533223': '云南省丽江地区华坪县', '533224': '云南省丽江地区宁蒗彝族自治县', '533300': '云南省怒江傈僳族自治州', '533321': '云南省怒江傈僳族自治州泸水县', '533323': '云南省怒江傈僳族自治州福贡县', '533324': '云南省怒江傈僳族自治州贡山独龙族怒族自治县', '533325': '云南省怒江傈僳族自治州兰坪白族普米族自治县', '533400': '云南省迪庆藏族自治州', '533421': '云南省迪庆藏族自治州中甸县', '533422': '云南省迪庆藏族自治州德钦县', '533423': '云南省迪庆藏族自治州维西傈僳族自治县', '533500': '云南省临沧地区', '533521': '云南省临沧地区临沧县', '533522': '云南省临沧地区凤庆县', '533523': '云南省临沧地区云县', '533524': '云南省临沧地区永德县', '533525': '云南省临沧地区镇康县', '533526': '云南省临沧地区双江拉祜族佤族布朗族傣族自治县', '533527': '云南省临沧地区耿马傣族佤族自治县', '533528': '云南省临沧地区沧源佤族自治县', '540000': '西藏自治区', '540100': '西藏自治区拉萨市', '540101': '西藏自治区拉萨市市辖区', '540102': '西藏自治区拉萨市城关区', '540121': '西藏自治区拉萨市林周县', '540122': '西藏自治区拉萨市当雄县', '540123': '西藏自治区拉萨市尼木县', '540124': '西藏自治区拉萨市曲水县', '540125': '西藏自治区拉萨市堆龙德庆县', '540126': '西藏自治区拉萨市达孜县', '540127': '西藏自治区拉萨市墨竹工卡县', '542100': '西藏自治区昌都地区', '542121': '西藏自治区昌都地区昌都县', '542122': '西藏自治区昌都地区江达县', '542123': '西藏自治区昌都地区贡觉县', '542124': '西藏自治区昌都地区类乌齐县', '542125': '西藏自治区昌都地区丁青县', '542126': '西藏自治区昌都地区察雅县', '542127': '西藏自治区昌都地区八宿县', '542128': '西藏自治区昌都地区左贡县', '542129': '西藏自治区昌都地区芒康县', '542132': '西藏自治区昌都地区洛隆县', '542133': '西藏自治区昌都地区边坝县', '542134': '西藏自治区昌都地区盐井县', '542135': '西藏自治区昌都地区碧土县', '542136': '西藏自治区昌都地区妥坝县', '542137': '西藏自治区昌都地区生达县', '542200': '西藏自治区山南地区', '542221': '西藏自治区山南地区乃东县', '542222': '西藏自治区山南地区扎囊县', '542223': '西藏自治区山南地区贡嘎县', '542224': '西藏自治区山南地区桑日县', '542225': '西藏自治区山南地区琼结县', '542226': '西藏自治区山南地区曲松县', '542227': '西藏自治区山南地区措美县', '542228': '西藏自治区山南地区洛扎县', '542229': '西藏自治区山南地区加查县', '542231': '西藏自治区山南地区隆子县', '542232': '西藏自治区山南地区错那县', '542233': '西藏自治区山南地区浪卡子县', '542300': '西藏自治区日喀则地区', '542301': '西藏自治区日喀则地区日喀则市', '542322': '西藏自治区日喀则地区南木林县', '542323': '西藏自治区日喀则地区江孜县', '542324': '西藏自治区日喀则地区定日县', '542325': '西藏自治区日喀则地区萨迦县', '542326': '西藏自治区日喀则地区拉孜县', '542327': '西藏自治区日喀则地区昂仁县', '542328': '西藏自治区日喀则地区谢通门县', '542329': '西藏自治区日喀则地区白朗县', '542330': '西藏自治区日喀则地区仁布县', '542331': '西藏自治区日喀则地区康马县', '542332': '西藏自治区日喀则地区定结县', '542333': '西藏自治区日喀则地区仲巴县', '542334': '西藏自治区日喀则地区亚东县', '542335': '西藏自治区日喀则地区吉隆县', '542336': '西藏自治区日喀则地区聂拉木县', '542337': '西藏自治区日喀则地区萨嘎县', '542338': '西藏自治区日喀则地区岗巴县', '542400': '西藏自治区那曲地区', '542421': '西藏自治区那曲地区那曲县', '542422': '西藏自治区那曲地区嘉黎县', '542423': '西藏自治区那曲地区比如县', '542424': '西藏自治区那曲地区聂荣县', '542425': '西藏自治区那曲地区安多县', '542426': '西藏自治区那曲地区申扎县', '542427': '西藏自治区那曲地区索县', '542428': '西藏自治区那曲地区班戈县', '542429': '西藏自治区那曲地区巴青县', '542430': '西藏自治区那曲地区尼玛县', '542500': '西藏自治区阿里地区', '542521': '西藏自治区阿里地区普兰县', '542522': '西藏自治区阿里地区札达县', '542523': '西藏自治区阿里地区噶尔县', '542524': '西藏自治区阿里地区日土县', '542525': '西藏自治区阿里地区革吉县', '542526': '西藏自治区阿里地区改则县', '542527': '西藏自治区阿里地区措勤县', '542528': '西藏自治区阿里地区隆格尔县', '542600': '西藏自治区林芝地区', '542621': '西藏自治区林芝地区林芝县', '542622': '西藏自治区林芝地区工布江达县', '542623': '西藏自治区林芝地区米林县', '542624': '西藏自治区林芝地区墨脱县', '542625': '西藏自治区林芝地区波密县', '542626': '西藏自治区林芝地区察隅县', '542627': '西藏自治区林芝地区朗县', '610000': '陕西省', '610100': '陕西省西安市', '610101': '陕西省西安市市辖区', '610102': '陕西省西安市新城区', '610103': '陕西省西安市碑林区', '610104': '陕西省西安市莲湖区', '610111': '陕西省西安市灞桥区', '610112': '陕西省西安市未央区', '610113': '陕西省西安市雁塔区', '610114': '陕西省西安市阎良区', '610115': '陕西省西安市临潼区', '610121': '陕西省西安市长安县', '610122': '陕西省西安市蓝田县', '610124': '陕西省西安市周至县', '610125': '陕西省西安市户县', '610126': '陕西省西安市高陵县', '610200': '陕西省铜川市', '610201': '陕西省铜川市市辖区', '610202': '陕西省铜川市城区', '610203': '陕西省铜川市郊区', '610221': '陕西省铜川市耀县', '610222': '陕西省铜川市宜君县', '610300': '陕西省宝鸡市', '610301': '陕西省宝鸡市市辖区', '610302': '陕西省宝鸡市渭滨区', '610303': '陕西省宝鸡市金台区', '610321': '陕西省宝鸡市宝鸡县', '610322': '陕西省宝鸡市凤翔县', '610323': '陕西省宝鸡市岐山县', '610324': '陕西省宝鸡市扶风县', '610326': '陕西省宝鸡市眉县', '610327': '陕西省宝鸡市陇县', '610328': '陕西省宝鸡市千阳县', '610329': '陕西省宝鸡市麟游县', '610330': '陕西省宝鸡市凤县', '610331': '陕西省宝鸡市太白县', '610400': '陕西省咸阳市', '610401': '陕西省咸阳市市辖区', '610402': '陕西省咸阳市秦都区', '610403': '陕西省咸阳市杨陵区', '610404': '陕西省咸阳市渭城区', '610422': '陕西省咸阳市三原县', '610423': '陕西省咸阳市泾阳县', '610424': '陕西省咸阳市乾县', '610425': '陕西省咸阳市礼泉县', '610426': '陕西省咸阳市永寿县', '610427': '陕西省咸阳市彬县', '610428': '陕西省咸阳市长武县', '610429': '陕西省咸阳市旬邑县', '610430': '陕西省咸阳市淳化县', '610431': '陕西省咸阳市武功县', '610481': '陕西省咸阳市兴平市', '610500': '陕西省渭南市', '610501': '陕西省渭南市市辖区', '610502': '陕西省渭南市临渭区', '610521': '陕西省渭南市华县', '610522': '陕西省渭南市潼关县', '610523': '陕西省渭南市大荔县', '610524': '陕西省渭南市合阳县', '610525': '陕西省渭南市澄城县', '610526': '陕西省渭南市蒲城县', '610527': '陕西省渭南市白水县', '610528': '陕西省渭南市富平县', '610581': '陕西省渭南市韩城市', '610582': '陕西省渭南市华阴市', '610600': '陕西省延安市', '610601': '陕西省延安市市辖区', '610602': '陕西省延安市宝塔区', '610621': '陕西省延安市延长县', '610622': '陕西省延安市延川县', '610623': '陕西省延安市子长县', '610624': '陕西省延安市安塞县', '610625': '陕西省延安市志丹县', '610626': '陕西省延安市吴旗县', '610627': '陕西省延安市甘泉县', '610628': '陕西省延安市富县', '610629': '陕西省延安市洛川县', '610630': '陕西省延安市宜川县', '610631': '陕西省延安市黄龙县', '610632': '陕西省延安市黄陵县', '610700': '陕西省汉中市', '610701': '陕西省汉中市市辖区', '610702': '陕西省汉中市汉台区', '610721': '陕西省汉中市南郑县', '610722': '陕西省汉中市城固县', '610723': '陕西省汉中市洋县', '610724': '陕西省汉中市西乡县', '610725': '陕西省汉中市勉县', '610726': '陕西省汉中市宁强县', '610727': '陕西省汉中市略阳县', '610728': '陕西省汉中市镇巴县', '610729': '陕西省汉中市留坝县', '610730': '陕西省汉中市佛坪县', '612400': '陕西省安康地区', '612401': '陕西省安康地区安康市', '612422': '陕西省安康地区汉阴县', '612423': '陕西省安康地区石泉县', '612424': '陕西省安康地区宁陕县', '612425': '陕西省安康地区紫阳县', '612426': '陕西省安康地区岚皋县', '612427': '陕西省安康地区平利县', '612428': '陕西省安康地区镇坪县', '612429': '陕西省安康地区旬阳县', '612430': '陕西省安康地区白河县', '612500': '陕西省商洛地区', '612501': '陕西省商洛地区商州市', '612522': '陕西省商洛地区洛南县', '612523': '陕西省商洛地区丹凤县', '612524': '陕西省商洛地区商南县', '612525': '陕西省商洛地区山阳县', '612526': '陕西省商洛地区镇安县', '612527': '陕西省商洛地区柞水县', '612700': '陕西省榆林地区', '612701': '陕西省榆林地区榆林市', '612722': '陕西省榆林地区神木县', '612723': '陕西省榆林地区府谷县', '612724': '陕西省榆林地区横山县', '612725': '陕西省榆林地区靖边县', '612726': '陕西省榆林地区定边县', '612727': '陕西省榆林地区绥德县', '612728': '陕西省榆林地区米脂县', '612729': '陕西省榆林地区佳县', '612730': '陕西省榆林地区吴堡县', '612731': '陕西省榆林地区清涧县', '612732': '陕西省榆林地区子洲县', '620000': '甘肃省', '620100': '甘肃省兰州市', '620101': '甘肃省兰州市市辖区', '620102': '甘肃省兰州市城关区', '620103': '甘肃省兰州市七里河区', '620104': '甘肃省兰州市西固区', '620105': '甘肃省兰州市安宁区', '620111': '甘肃省兰州市红古区', '620121': '甘肃省兰州市永登县', '620122': '甘肃省兰州市皋兰县', '620123': '甘肃省兰州市榆中县', '620200': '甘肃省嘉峪关市', '620201': '甘肃省嘉峪关市市辖区', '620300': '甘肃省嘉峪关市金昌市', '620301': '甘肃省嘉峪关市市辖区', '620302': '甘肃省嘉峪关市金川区', '620321': '甘肃省嘉峪关市永昌县', '620400': '甘肃省白银市', '620401': '甘肃省白银市市辖区', '620402': '甘肃省白银市白银区', '620403': '甘肃省白银市平川区', '620421': '甘肃省白银市靖远县', '620422': '甘肃省白银市会宁县', '620423': '甘肃省白银市景泰县', '620500': '甘肃省天水市', '620501': '甘肃省天水市市辖区', '620502': '甘肃省天水市秦城区', '620503': '甘肃省天水市北道区', '620521': '甘肃省天水市清水县', '620522': '甘肃省天水市秦安县', '620523': '甘肃省天水市甘谷县', '620524': '甘肃省天水市武山县', '620525': '甘肃省天水市张家川回族自治县', '622100': '甘肃省酒泉地区', '622101': '甘肃省酒泉地区玉门市', '622102': '甘肃省酒泉地区酒泉市', '622103': '甘肃省酒泉地区敦煌市', '622123': '甘肃省酒泉地区金塔县', '622124': '甘肃省酒泉地区肃北蒙古族自治县', '622125': '甘肃省酒泉地区阿克塞哈萨克族自治县', '622126': '甘肃省酒泉地区安西县', '622200': '甘肃省张掖地区', '622201': '甘肃省张掖地区张掖市', '622222': '甘肃省张掖地区肃南裕固族自治县', '622223': '甘肃省张掖地区民乐县', '622224': '甘肃省张掖地区临泽县', '622225': '甘肃省张掖地区高台县', '622226': '甘肃省张掖地区山丹县', '622300': '甘肃省武威地区', '622301': '甘肃省武威地区武威市', '622322': '甘肃省武威地区民勤县', '622323': '甘肃省武威地区古浪县', '622326': '甘肃省武威地区天祝藏族自治县', '622400': '甘肃省定西地区', '622421': '甘肃省定西地区定西县', '622424': '甘肃省定西地区通渭县', '622425': '甘肃省定西地区陇西县', '622426': '甘肃省定西地区渭源县', '622427': '甘肃省定西地区临洮县', '622428': '甘肃省定西地区漳县', '622429': '甘肃省定西地区岷县', '622600': '甘肃省陇南地区', '622621': '甘肃省陇南地区武都县', '622623': '甘肃省陇南地区宕昌县', '622624': '甘肃省陇南地区成县', '622625': '甘肃省陇南地区康县', '622626': '甘肃省陇南地区文县', '622627': '甘肃省陇南地区西和县', '622628': '甘肃省陇南地区礼县', '622629': '甘肃省陇南地区两当县', '622630': '甘肃省陇南地区徽县', '622700': '甘肃省平凉地区', '622701': '甘肃省平凉地区平凉市', '622722': '甘肃省平凉地区泾川县', '622723': '甘肃省平凉地区灵台县', '622724': '甘肃省平凉地区崇信县', '622725': '甘肃省平凉地区华亭县', '622726': '甘肃省平凉地区庄浪县', '622727': '甘肃省平凉地区静宁县', '622800': '甘肃省庆阳地区', '622801': '甘肃省庆阳地区西峰市', '622821': '甘肃省庆阳地区庆阳县', '622822': '甘肃省庆阳地区环县', '622823': '甘肃省庆阳地区华池县', '622824': '甘肃省庆阳地区合水县', '622825': '甘肃省庆阳地区正宁县', '622826': '甘肃省庆阳地区宁县', '622827': '甘肃省庆阳地区镇原县', '622900': '甘肃省临夏回族自治州', '622901': '甘肃省临夏回族自治州临夏市', '622921': '甘肃省临夏回族自治州临夏县', '622922': '甘肃省临夏回族自治州康乐县', '622923': '甘肃省临夏回族自治州永靖县', '622924': '甘肃省临夏回族自治州广河县', '622925': '甘肃省临夏回族自治州和政县', '622926': '甘肃省临夏回族自治州东乡族自治县', '622927': '甘肃省临夏回族自治州积石山保安族东乡族撒拉族自治县', '623000': '甘肃省甘南藏族自治州', '623001': '甘肃省甘南藏族自治州合作市', '623021': '甘肃省甘南藏族自治州临潭县', '623022': '甘肃省甘南藏族自治州卓尼县', '623023': '甘肃省甘南藏族自治州舟曲县', '623024': '甘肃省甘南藏族自治州迭部县', '623025': '甘肃省甘南藏族自治州玛曲县', '623026': '甘肃省甘南藏族自治州碌曲县', '623027': '甘肃省甘南藏族自治州夏河县', '630000': '青海省', '630100': '青海省西宁市', '630101': '青海省西宁市市辖区', '630102': '青海省西宁市城东区', '630103': '青海省西宁市城中区', '630104': '青海省西宁市城西区', '630105': '青海省西宁市城北区', '630121': '青海省西宁市大通回族土族自治县', '632100': '青海省海东地区', '632121': '青海省海东地区平安县', '632122': '青海省海东地区民和回族土族自治县', '632123': '青海省海东地区乐都县', '632124': '青海省海东地区湟中县', '632125': '青海省海东地区湟源县', '632126': '青海省海东地区互助土族自治县', '632127': '青海省海东地区化隆回族自治县', '632128': '青海省海东地区循化撒拉族自治县', '632200': '青海省海北藏族自治州', '632221': '青海省海北藏族自治州门源回族自治县', '632222': '青海省海北藏族自治州祁连县', '632223': '青海省海北藏族自治州海晏县', '632224': '青海省海北藏族自治州刚察县', '632300': '青海省黄南藏族自治州', '632321': '青海省黄南藏族自治州同仁县', '632322': '青海省黄南藏族自治州尖扎县', '632323': '青海省黄南藏族自治州泽库县', '632324': '青海省黄南藏族自治州河南蒙古族自治县', '632500': '青海省海南藏族自治州', '632521': '青海省海南藏族自治州共和县', '632522': '青海省海南藏族自治州同德县', '632523': '青海省海南藏族自治州贵德县', '632524': '青海省海南藏族自治州兴海县', '632525': '青海省海南藏族自治州贵南县', '632600': '青海省果洛藏族自治州', '632621': '青海省果洛藏族自治州玛沁县', '632622': '青海省果洛藏族自治州班玛县', '632623': '青海省果洛藏族自治州甘德县', '632624': '青海省果洛藏族自治州达日县', '632625': '青海省果洛藏族自治州久治县', '632626': '青海省果洛藏族自治州玛多县', '632700': '青海省玉树藏族自治州', '632721': '青海省玉树藏族自治州玉树县', '632722': '青海省玉树藏族自治州杂多县', '632723': '青海省玉树藏族自治州称多县', '632724': '青海省玉树藏族自治州治多县', '632725': '青海省玉树藏族自治州囊谦县', '632726': '青海省玉树藏族自治州曲麻莱县', '632800': '青海省海西蒙古族藏族自治州', '632801': '青海省海西蒙古族藏族自治州格尔木市', '632802': '青海省海西蒙古族藏族自治州德令哈市', '632821': '青海省海西蒙古族藏族自治州乌兰县', '632822': '青海省海西蒙古族藏族自治州都兰县', '632823': '青海省海西蒙古族藏族自治州天峻县', '640000': '宁夏回族自治区', '640100': '宁夏回族自治区银川市', '640101': '宁夏回族自治区银川市市辖区', '640102': '宁夏回族自治区银川市城区', '640103': '宁夏回族自治区银川市新城区', '640111': '宁夏回族自治区银川市郊区', '640121': '宁夏回族自治区银川市永宁县', '640122': '宁夏回族自治区银川市贺兰县', '640200': '宁夏回族自治区石嘴山市', '640201': '宁夏回族自治区石嘴山市市辖区', '640202': '宁夏回族自治区石嘴山市大武口区', '640203': '宁夏回族自治区石嘴山市石嘴山区', '640204': '宁夏回族自治区石嘴山市石炭井区', '640221': '宁夏回族自治区石嘴山市平罗县', '640222': '宁夏回族自治区石嘴山市陶乐县', '640223': '宁夏回族自治区石嘴山市惠农县', '640300': '宁夏回族自治区吴忠市', '640301': '宁夏回族自治区吴忠市市辖区', '640302': '宁夏回族自治区吴忠市利通区', '640321': '宁夏回族自治区吴忠市中卫县', '640322': '宁夏回族自治区吴忠市中宁县', '640323': '宁夏回族自治区吴忠市盐池县', '640324': '宁夏回族自治区吴忠市同心县', '640381': '宁夏回族自治区吴忠市青铜峡市', '640382': '宁夏回族自治区吴忠市灵武市', '642200': '宁夏回族自治区固原地区', '642221': '宁夏回族自治区固原地区固原县', '642222': '宁夏回族自治区固原地区海原县', '642223': '宁夏回族自治区固原地区西吉县', '642224': '宁夏回族自治区固原地区隆德县', '642225': '宁夏回族自治区固原地区泾源县', '642226': '宁夏回族自治区固原地区彭阳县', '650000': '新疆维吾尔自治区', '650100': '新疆维吾尔族自治区乌鲁木齐市', '650101': '新疆维吾尔族自治区乌鲁木齐市市辖区', '650102': '新疆维吾尔族自治区乌鲁木齐市天山区', '650103': '新疆维吾尔族自治区乌鲁木齐市沙依巴克区', '650104': '新疆维吾尔族自治区乌鲁木齐市新市区', '650105': '新疆维吾尔族自治区乌鲁木齐市水磨沟区', '650106': '新疆维吾尔族自治区乌鲁木齐市头屯河区', '650107': '新疆维吾尔族自治区乌鲁木齐市南山矿区', '650108': '新疆维吾尔族自治区乌鲁木齐市东山区', '650121': '新疆维吾尔族自治区乌鲁木齐市乌鲁木齐县', '650200': '新疆维吾尔族自治区克拉玛依市', '650201': '新疆维吾尔族自治区克拉玛依市市辖区', '650202': '新疆维吾尔族自治区克拉玛依市独山子区', '650203': '新疆维吾尔族自治区克拉玛依市克拉玛依区', '650204': '新疆维吾尔族自治区克拉玛依市白碱滩区', '650205': '新疆维吾尔族自治区克拉玛依市乌尔禾区', '652100': '新疆维吾尔族自治区吐鲁番地区', '652101': '新疆维吾尔族自治区吐鲁番地区吐鲁番市', '652122': '新疆维吾尔族自治区吐鲁番地区鄯善县', '652123': '新疆维吾尔族自治区吐鲁番地区托克逊县', '652200': '新疆维吾尔族自治区哈密地区', '652201': '新疆维吾尔族自治区哈密地区哈密市', '652222': '新疆维吾尔族自治区哈密地区巴里坤哈萨克自治县', '652223': '新疆维吾尔族自治区哈密地区伊吾县', '652300': '新疆维吾尔族自治区昌吉回族自治州', '652301': '新疆维吾尔族自治区昌吉回族自治州昌吉市', '652302': '新疆维吾尔族自治区昌吉回族自治州阜康市', '652303': '新疆维吾尔族自治区昌吉回族自治州米泉市', '652323': '新疆维吾尔族自治区昌吉回族自治州呼图壁县', '652324': '新疆维吾尔族自治区昌吉回族自治州玛纳斯县', '652325': '新疆维吾尔族自治区昌吉回族自治州奇台县', '652327': '新疆维吾尔族自治区昌吉回族自治州吉木萨尔县', '652328': '新疆维吾尔族自治区昌吉回族自治州木垒哈萨克自治县', '652700': '新疆维吾尔族自治区博尔塔拉蒙古自治州', '652701': '新疆维吾尔族自治区博尔塔拉蒙古自治州博乐市', '652722': '新疆维吾尔族自治区博尔塔拉蒙古自治州精河县', '652723': '新疆维吾尔族自治区博尔塔拉蒙古自治州温泉县', '652800': '新疆维吾尔族自治区巴音郭楞蒙古自治州', '652801': '新疆维吾尔族自治区巴音郭楞蒙古自治州库尔勒市', '652822': '新疆维吾尔族自治区巴音郭楞蒙古自治州轮台县', '652823': '新疆维吾尔族自治区巴音郭楞蒙古自治州尉犁县', '652824': '新疆维吾尔族自治区巴音郭楞蒙古自治州若羌县', '652825': '新疆维吾尔族自治区巴音郭楞蒙古自治州且末县', '652826': '新疆维吾尔族自治区巴音郭楞蒙古自治州焉耆回族自治县', '652827': '新疆维吾尔族自治区巴音郭楞蒙古自治州和静县', '652828': '新疆维吾尔族自治区巴音郭楞蒙古自治州和硕县', '652829': '新疆维吾尔族自治区巴音郭楞蒙古自治州博湖县', '652900': '新疆维吾尔族自治区阿克苏地区', '652901': '新疆维吾尔族自治区阿克苏地区阿克苏市', '652922': '新疆维吾尔族自治区阿克苏地区温宿县', '652923': '新疆维吾尔族自治区阿克苏地区库车县', '652924': '新疆维吾尔族自治区阿克苏地区沙雅县', '652925': '新疆维吾尔族自治区阿克苏地区新和县', '652926': '新疆维吾尔族自治区阿克苏地区拜城县', '652927': '新疆维吾尔族自治区阿克苏地区乌什县', '652928': '新疆维吾尔族自治区阿克苏地区阿瓦提县', '652929': '新疆维吾尔族自治区阿克苏地区柯坪县', '653000': '新疆维吾尔族自治区克孜勒苏柯尔克孜自治州', '653001': '新疆维吾尔族自治区克孜勒苏柯尔克孜自治州阿图什市', '653022': '新疆维吾尔族自治区克孜勒苏柯尔克孜自治州阿克陶县', '653023': '新疆维吾尔族自治区克孜勒苏柯尔克孜自治州阿合奇县', '653024': '新疆维吾尔族自治区克孜勒苏柯尔克孜自治州乌恰县', '653100': '新疆维吾尔族自治区喀什地区', '653101': '新疆维吾尔族自治区喀什地区喀什市', '653121': '新疆维吾尔族自治区喀什地区疏附县', '653122': '新疆维吾尔族自治区喀什地区疏勒县', '653123': '新疆维吾尔族自治区喀什地区英吉沙县', '653124': '新疆维吾尔族自治区喀什地区泽普县', '653125': '新疆维吾尔族自治区喀什地区莎车县', '653126': '新疆维吾尔族自治区喀什地区叶城县', '653127': '新疆维吾尔族自治区喀什地区麦盖提县', '653128': '新疆维吾尔族自治区喀什地区岳普湖县', '653129': '新疆维吾尔族自治区喀什地区伽师县', '653130': '新疆维吾尔族自治区喀什地区巴楚县', '653131': '新疆维吾尔族自治区喀什地区塔什库尔干塔吉克自治县', '653200': '新疆维吾尔族自治区和田地区', '653201': '新疆维吾尔族自治区和田地区和田市', '653221': '新疆维吾尔族自治区和田地区和田县', '653222': '新疆维吾尔族自治区和田地区墨玉县', '653223': '新疆维吾尔族自治区和田地区皮山县', '653224': '新疆维吾尔族自治区和田地区洛浦县', '653225': '新疆维吾尔族自治区和田地区策勒县', '653226': '新疆维吾尔族自治区和田地区于田县', '653227': '新疆维吾尔族自治区和田地区民丰县', '654000': '新疆维吾尔族自治区伊犁哈萨克自治州', '654001': '新疆维吾尔族自治区伊犁哈萨克自治州奎屯市', '654100': '新疆维吾尔族自治区伊犁哈萨克自治州伊犁地区', '654101': '新疆维吾尔族自治区伊犁哈萨克自治州伊宁市', '654121': '新疆维吾尔族自治区伊犁哈萨克自治州伊宁县', '654122': '新疆自治区伊犁哈萨克自治州察布查尔锡伯自治县', '654123': '新疆维吾尔族自治区伊犁哈萨克自治州霍城县', '654124': '新疆维吾尔族自治区伊犁哈萨克自治州巩留县', '654125': '新疆维吾尔族自治区伊犁哈萨克自治州新源县', '654126': '新疆维吾尔族自治区伊犁哈萨克自治州昭苏县', '654127': '新疆维吾尔族自治区伊犁哈萨克自治州特克斯县', '654128': '新疆维吾尔族自治区伊犁哈萨克自治州尼勒克县', '654200': '新疆维吾尔族自治区塔城地区', '654201': '新疆维吾尔族自治区塔城地区塔城市', '654202': '新疆维吾尔族自治区塔城地区乌苏市', '654221': '新疆维吾尔族自治区塔城地区额敏县', '654223': '新疆维吾尔族自治区塔城地区沙湾县', '654224': '新疆维吾尔族自治区塔城地区托里县', '654225': '新疆维吾尔族自治区塔城地区裕民县', '654226': '新疆维吾尔族自治区塔城地区和布克赛尔蒙古自治县', '654300': '新疆维吾尔族自治区阿勒泰地区', '654301': '新疆维吾尔族自治区阿勒泰地区阿勒泰市', '654321': '新疆维吾尔族自治区阿勒泰地区布尔津县', '654322': '新疆维吾尔族自治区阿勒泰地区富蕴县', '654323': '新疆维吾尔族自治区阿勒泰地区福海县', '654324': '新疆维吾尔族自治区阿勒泰地区哈巴河县', '654325': '新疆维吾尔族自治区阿勒泰地区青河县', '654326': '新疆维吾尔族自治区阿勒泰地区吉木乃县', '659000': '新疆维吾尔族自治区直辖县级行政单位', '659001': '新疆维吾尔族自治区石河子市'}\n /* --------------------\n 身份证类库\n -------------------- */\n var ValidateIDUtil = {\n checkArg: function (id) {\n var argType = (typeof id)\n switch (argType) {\n case 'number':\n // long number not allowed\n id = id.toString()\n if (id.length > 15) {\n this.error('长数字存在精度问题,请使用字符串传值!')\n return false\n }\n break\n case 'string':\n break\n default:\n return false\n }\n id = id.toUpperCase()\n var code = null\n if (id.length === 18) {\n // 18位\n code = {\n body: id.slice(0, 17),\n checkBit: id.slice(-1),\n type: 18\n }\n } else if (id.length === 15) {\n // 15位\n code = {\n body: id,\n type: 15\n }\n } else {\n return false\n }\n return code\n },\n // 地址码检查\n checkAddr: function (addr, GB2260) {\n var addrInfo = this.getAddrInfo(addr, GB2260)\n return (addrInfo === false ? 0 : true)\n },\n // 取得地址码信息\n getAddrInfo: function (addr, GB2260) {\n GB2260 = GB2260 || null\n // 查询GB/T2260,没有引入GB2260时略过\n if (GB2260 === null) {\n return addr\n }\n if (!GB2260.hasOwnProperty(addr)) {\n // 考虑标准不全的情况,搜索不到时向上搜索\n var tmpAddr\n tmpAddr = addr.slice(0, 4) + '00'\n if (!GB2260.hasOwnProperty(tmpAddr)) {\n tmpAddr = addr.slice(0, 2) + '0000'\n if (!GB2260.hasOwnProperty(tmpAddr)) {\n return false\n } else {\n return GB2260[tmpAddr] + '未知地区'\n }\n } else {\n return GB2260[tmpAddr] + '未知地区'\n }\n } else {\n return GB2260[addr]\n }\n },\n // 生日码检查\n checkBirth: function (birth) {\n /* eslint-disable */\n var year\n /* eslint-enable */\n var month\n var day\n if (birth.length === 8) {\n year = parseInt(birth.slice(0, 4), 10)\n month = parseInt(birth.slice(4, 6), 10)\n day = parseInt(birth.slice(-2), 10)\n } else if (birth.length === 6) {\n year = parseInt('19' + birth.slice(0, 2), 10)\n month = parseInt(birth.slice(2, 4), 10)\n day = parseInt(birth.slice(-2), 10)\n } else {\n return false\n }\n // TODO 是否需要判断年份\n /*\n if(year < 1800) return false\n */\n // TODO 按月份检测\n if (month > 12 || month === 0 || day > 31 || day === 0) {\n return false\n }\n return true\n },\n // 顺序码检查\n checkOrder: function (order) {\n // 暂无需检测\n\n return true\n },\n // 加权\n weight: function (t) {\n return Math.pow(2, t - 1) % 11\n },\n // 随机整数\n rand: function (max, min) {\n min = min || 1\n return Math.round(Math.random() * (max - min)) + min\n },\n // 数字补位\n str_pad: function (str, len, chr, right) {\n str = str.toString()\n len = len || 2\n chr = chr || '0'\n right = right || false\n if (str.length >= len) {\n return str\n } else {\n for (var i = 0, j = len - str.length; i < j; i++) {\n if (right) {\n str = str + chr\n } else {\n str = chr + str\n }\n }\n return str\n }\n },\n // 抛错\n error: function (msg) {\n var e = new Error()\n e.message = 'ValidateID: ' + msg\n throw e\n }\n }\n /* --------------------\n 身份证操作\n -------------------- */\n var validator = function () {\n var s = this\n this.cache = {}\n // 号码是否合法\n s.isValid = function (id) {\n var code = ValidateIDUtil.checkArg(id)\n if (code === false) {\n return false\n }\n // 查询cache\n if (this.cache.hasOwnProperty(id) && typeof this.cache[id].valid !== 'undefined') {\n return this.cache[id].valid\n } else {\n if (!this.cache.hasOwnProperty(id)) {\n this.cache[id] = {}\n }\n }\n\n var addr = code.body.slice(0, 6)\n var birth = (code.type === 18 ? code.body.slice(6, 14) : code.body\n .slice(6, 12))\n var order = code.body.slice(-3)\n\n if (!(ValidateIDUtil.checkAddr(addr, GB2260) && ValidateIDUtil.checkBirth(birth) && ValidateIDUtil.checkOrder(order))) {\n this.cache[id].valid = false\n return false\n }\n\n // 15位不含校验码,到此已结束\n if (code.type === 15) {\n this.cache[id].valid = true\n return true\n }\n\n /* 校验位部分 */\n\n // 位置加权\n var posWeight = []\n for (var i = 18; i > 1; i--) {\n var wei = ValidateIDUtil.weight(i)\n posWeight[i] = wei\n }\n\n // 累加body部分与位置加权的积\n var bodySum = 0\n var bodyArr = code.body.split('')\n for (var j = 0; j < bodyArr.length; j++) {\n bodySum += (parseInt(bodyArr[j], 10) * posWeight[18 - j])\n }\n\n // 得出校验码\n var checkBit = 12 - (bodySum % 11)\n if (checkBit === 10) {\n checkBit = 'X'\n } else if (checkBit > 10) {\n checkBit = checkBit % 11\n }\n checkBit = (typeof checkBit === 'number' ? checkBit.toString() : checkBit)\n\n // 检查校验码\n if (checkBit !== code.checkBit) {\n this.cache[id].valid = false\n return false\n } else {\n this.cache[id].valid = true\n return true\n }\n }\n\n // 分析详细信息\n s.getInfo = function (id) {\n // 号码必须有效\n if (this.isValid(id) === false) {\n return false\n }\n // TODO 复用此部分\n var code = ValidateIDUtil.checkArg(id)\n\n // 查询cache\n // 到此时通过isValid已经有了cache记录\n if (typeof this.cache[id].info !== 'undefined') {\n return this.cache[id].info\n }\n\n var addr = code.body.slice(0, 6)\n var birth = (code.type === 18 ? code.body.slice(6, 14) : code.body\n .slice(6, 12))\n var order = code.body.slice(-3)\n\n var info = {}\n info.addrCode = addr\n if (GB2260 !== null) {\n info.addr = ValidateIDUtil.getAddrInfo(addr, GB2260)\n }\n info.birth = (code.type === 18 ? (([birth.slice(0, 4), birth.slice(4, 6), birth.slice(-2)]).join('-')) : ([\n '19' + birth.slice(0, 2), birth.slice(2, 4),\n birth.slice(-2)]).join('-'))\n info.sex = (order % 2 === 0 ? 0 : 1)\n info.length = code.type\n if (code.type === 18) {\n info.checkBit = code.checkBit\n }\n // 记录cache\n this.cache[id].info = info\n return info\n }\n // 仿造一个号\n s.makeID = function (isFifteen) {\n // 地址码\n var addr = null\n if (GB2260 !== null) {\n var loopCnt = 0\n while (addr === null) {\n // 防止死循环\n if (loopCnt > 10) {\n addr = 110101\n break\n }\n var prov = ValidateIDUtil.str_pad(ValidateIDUtil.rand(50), 2, '0')\n var city = ValidateIDUtil.str_pad(ValidateIDUtil.rand(20), 2, '0')\n var area = ValidateIDUtil.str_pad(ValidateIDUtil.rand(20), 2, '0')\n var addrTest = [prov, city, area].join('')\n if (GB2260[addrTest]) {\n addr = addrTest\n break\n }\n }\n } else {\n addr = 110101\n }\n\n // 出生年\n var yr = ValidateIDUtil.str_pad(ValidateIDUtil.rand(99, 50), 2, '0')\n var mo = ValidateIDUtil.str_pad(ValidateIDUtil.rand(12, 1), 2, '0')\n var da = ValidateIDUtil.str_pad(ValidateIDUtil.rand(28, 1), 2, '0')\n if (isFifteen) {\n return addr + yr + mo + da + ValidateIDUtil.str_pad(ValidateIDUtil.rand(999, 1), 3, '1')\n }\n\n yr = '19' + yr\n var body = addr + yr + mo + da + ValidateIDUtil.str_pad(ValidateIDUtil.rand(999, 1), 3, '1')\n\n // 位置加权\n var posWeight = []\n for (var i = 18; i > 1; i--) {\n var wei = ValidateIDUtil.weight(i)\n posWeight[i] = wei\n }\n\n // 累加body部分与位置加权的积\n var bodySum = 0\n var bodyArr = body.split('')\n for (var j = 0; j < bodyArr.length; j++) {\n bodySum += (parseInt(bodyArr[j], 10) * posWeight[18 - j])\n }\n\n // 得出校验码\n var checkBit = 12 - (bodySum % 11)\n if (checkBit === 10) {\n checkBit = 'X'\n } else if (checkBit > 10) {\n checkBit = checkBit % 11\n }\n checkBit = (typeof checkBit === 'number' ? checkBit.toString() : checkBit)\n return (body + checkBit)\n }\n }\n return validator\n})()\n\nexport default ValidateID","import Validator from './Validator.js';\n\nexport default Validator;\n","// require PrototypeObject.js\nvar Validator = function () {\n /* ------------------------\n 正则\n ------------------------ */\n var Patts = {\n required: /.+/,\n number: /^[+-]?(0|([1-9][0-9]*))(\\.[0-9]+)?$/, // 数字\n decimal: /^[+-]?(0|([1-9][0-9]*))(\\.[0-9]+)$/, // 小数\n digits: /\\.[0-9]*/, // 精度\n integer: /^(0|([+-]?[1-9][0-9]*))$/, // 整数\n positive: /^(0|([1-9][0-9]*))(\\.[0-9]+)?$/, // 正数\n negative: /^-(0|([1-9][0-9]*))(\\.[0-9]+)?$/, // 负数\n positiveInteger: /^[1-9][0-9]*$/, // 正整数\n negativeInteger: /^-[1-9][0-9]*$/, // 负整数\n username: /^[\\w]+$/, // 用户名\n password: /^[0-9_a-zA-Z-~!@#$]*$/, // 密码\n mail: /^(\\w+@\\w+\\.[\\.\\w]+)$/, // eslint-disable-line\n phone: /^([0-9]{11})$/, // 手机\n chinese: /^[\\u4E00-\\u9FA5]*$/, // 中文\n specialchar: /^[。~!@#$%\\^\\+\\*&\\\\\\/\\?\\|:\\.<>{}()';=\"]*$/ // eslint-disable-line\n }\n /* ------------------------\n 验证策略类\n ------------------------ */\n var Rules = {\n // 为空\n required: function (value, errorMsg) {\n if (!Patts.required.test(value)) {\n return errorMsg\n }\n },\n // 数字\n number: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.number.test(value)) {\n return errorMsg\n }\n },\n // 小数\n decimal: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.decimal.test(value)) {\n return errorMsg\n }\n },\n // 小数位数\n maxDigits: function (value, max, errorMsg) {\n var match = value.match(Patts.digits)\n if (match && match[0] && match[0].length - 1 > max) {\n return errorMsg\n }\n },\n // 整数\n integer: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.integer.test(value)) {\n return errorMsg\n }\n },\n // 正数\n positive: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.positive.test(value)) {\n return errorMsg\n }\n },\n // 负数\n negative: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.negative.test(value)) {\n return errorMsg\n }\n },\n // 正整数\n positiveInteger: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.positiveInteger.test(value)) {\n return errorMsg\n }\n },\n // 负整数\n negativeInteger: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.negativeInteger.test(value)) {\n return errorMsg\n }\n },\n username: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.username.test(value)) {\n return errorMsg\n }\n },\n password: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.password.test(value)) {\n return errorMsg\n }\n },\n mail: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.mail.test(value)) {\n return errorMsg\n }\n },\n phone: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.phone.test(value)) {\n return errorMsg\n }\n },\n chinese: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.chinese.test(value)) {\n return errorMsg\n }\n },\n // 特殊字符\n specialchar: function (value, errorMsg) {\n if (value.length !== 0 && !Patts.specialchar.test(value)) {\n return errorMsg\n }\n },\n minNumber: function (value, min, errorMsg) {\n if (value.length !== 0 && value * 1 < min * 1) {\n return errorMsg\n }\n },\n maxNumber: function (value, max, errorMsg) {\n if (value.length !== 0 && value * 1 > max * 1) {\n return errorMsg\n }\n },\n minLength: function (value, length, errorMsg) {\n if (value.length !== 0 && value.length < length) {\n return errorMsg\n }\n },\n maxLength: function (value, length, errorMsg) {\n if (value.length !== 0 && value.length > length) {\n return errorMsg\n }\n },\n compare: function (value1, value2, errorMsg) {\n if (value1 !== value2) {\n return errorMsg\n }\n },\n // 密码安全等级\n safeLvl: function (value, lvl, errorMsg) {\n var valLvl = Object.passwordLvl(value)\n if (value.length !== 0 && valLvl < lvl) {\n return errorMsg\n }\n }\n }\n /* ------------------------\n Validator类\n ------------------------ */\n var s = this\n s.caches = []\n s.add = function (field, strategies) {\n /* eslint-disable */\n for (var i = 0, strategy; strategy = strategies[i++];) {\n (function (strategy) {\n var ruleArray = strategy.rule.split(\":\")\n var errorMsg = strategy.errorMsg\n\n s.caches.push(function () {\n var ruleName = ruleArray.shift()\n ruleArray.unshift(field instanceof Object ? field.value : field)\n ruleArray.push(errorMsg) // 此时ruleArray的值为 ruleValue,fieldValue,errorMsg\n var ruleErrorMsg = Rules[ruleName].apply(null, ruleArray)\n if (ruleErrorMsg) return { field: field, msg: ruleErrorMsg }\n })\n })(strategy)\n }\n /* eslint-enable */\n }\n s.start = function () {\n /* eslint-disable */\n for (var i = 0, valiFn; valiFn = s.caches[i++];) {\n var error = valiFn()\n if (error) return error\n }\n /* eslint-enable */\n }\n}\n\nexport default Validator\n","import './seedsui.less';\n\nimport './PrototypeArray.js';\nimport './PrototypeMath.js';\nimport './PrototypeObject.js';\nimport './PrototypeString.js';\nimport './PrototypeNumber.js';\nimport './PrototypeDate.js';\nimport './PrototypePinyin.js'; // 不常用\n\nexport { default as Actionsheet } from './Actionsheet';\nexport { default as Alert } from './Alert';\nexport { default as Badge } from './Badge';\nexport { default as BiClock } from './BiClock'; // 不常用\nexport { default as BiDoughnut } from './BiDoughnut'; // 不常用\nexport { default as BiGauge } from './BiGauge'; // 不常用\nexport { default as Bridge } from './Bridge';\nexport { default as Button } from './Button';\nexport { default as Calendar } from './Calendar'; // 不常用\nexport { default as Card } from './Card';\nexport { default as Carrousel } from './Carrousel';\nexport { default as Chat } from './Chat';\nexport { default as Checkbox } from './Checkbox';\nexport { default as Container } from './Container';\nexport { default as Counter } from './Counter'; // 不常用\nexport { default as Dialog } from './Dialog';\nexport { default as Dot } from './Dot';\nexport { default as Dragrefresh } from './Dragrefresh';\nexport { default as Dropdown } from './Dropdown';\nexport { default as Emoji } from './Emoji'; // 不常用\nexport { default as Footer } from './Footer';\nexport { default as Group } from './Group';\nexport { default as Handsign } from './Handsign'; // 不常用\nexport { default as Header } from './Header';\nexport { default as ImgMark } from './ImgMark';\nexport { default as IndexBar } from './IndexBar';\nexport { default as InputArea } from './InputArea';\nexport { default as InputCity } from './InputCity';\nexport { default as InputColor } from './InputColor'; // 不常用\nexport { default as InputDate } from './InputDate';\nexport { default as InputLocation } from './InputLocation';\nexport { default as InputNumber } from './InputNumber';\nexport { default as InputPassword } from './InputPassword';\nexport { default as InputTel } from './InputTel';\nexport { default as InputPicker } from './InputPicker';\nexport { default as InputPre } from './InputPre';\nexport { default as InputRange } from './InputRange'; // 不常用\nexport { default as InputSafe } from './InputSafe'; // 不常用\nexport { default as InputSelect } from './InputSelect';\nexport { default as InputStar } from './InputStar';\nexport { default as InputText } from './InputText';\n// export { default as Jcrop } from './Jcrop'; // 不常用,裁切功能,需要引入jcrop插件\nexport { default as Legend } from './Legend';\nexport { default as ListPull } from './ListPull'; // 不常用\nexport { default as Loading } from './Loading';\nexport { default as LotteryWheel } from './LotteryWheel'; // 不常用\nexport { default as MapUtil } from './MapUtil'; // 不常用\nexport { default as Mark } from './Mark';\nexport { default as Marquee } from './Marquee';\nexport { default as MenuTiled } from './MenuTiled';\nexport { default as MenuTree } from './MenuTree';\nexport { default as Notice } from './Notice';\nexport { default as NumBox } from './NumBox';\nexport { default as NumBoxPop } from './NumBoxPop';\nexport { default as NumBoxPopPointer } from './NumBoxPopPointer';\nexport { default as OnOff } from './OnOff';\nexport { default as Page } from './Page';\nexport { default as PagePull } from './PagePull'; // 不常用\nexport { default as PDFView } from './PDFView'; // 不常用\nexport { default as Peg } from './Peg'; // 不常用\nexport { default as Picker } from './Picker';\nexport { default as PickerCity } from './PickerCity';\nexport { default as PickerDate } from './PickerDate';\nexport { default as Player } from './Player';\nexport { default as Popover } from './Popover';\nexport { default as Preview } from './Preview'; // 不常用\nexport { default as Progress } from './Progress';\nexport { default as Radio } from './Radio';\nexport { default as SearchBoard } from './SearchBoard';\nexport { default as SelectPicker } from './SelectPicker';\nexport { default as Star } from './Star';\nexport { default as Stencil } from './Stencil'; // 不常用\nexport { default as Sticker } from './Sticker'; // 不常用\nexport { default as Tabbar } from './Tabbar';\nexport { default as Ticket } from './Ticket'; // 不常用\nexport { default as Timeline } from './Timeline'; // 不常用\nexport { default as Timepart } from './Timepart'; // 不常用\nexport { default as Titlebar } from './Titlebar';\nexport { default as Toast } from './Toast';\nexport { default as Tree } from './Tree'; // 不常用\n\n// utils\nexport { default as Ajax } from './Ajax'; // 不常用\nexport { default as Animate } from './Animate'; // 不常用\nexport { default as ApiAxios } from './ApiAxios';\n// export { default as ApiSuperagent } from './ApiSuperagent'; // 与Axios同类型,推荐使用Axios\nexport { default as BackboneRoute } from './BackboneRoute'; // 不常用\nexport { default as CanvasUtil } from './CanvasUtil'; // 不常用\nexport { default as Clipboard } from './Clipboard';\nexport { default as Vott } from './Vott'; // 不常用\nexport { default as DB } from './DB';\nexport { default as Device } from './Device';\nexport { default as EditUtil } from './EditUtil'; // 不常用\nexport { default as EventUtil } from './EventUtil'; // 不常用\nexport { default as FastClick } from './FastClick';\nexport { default as Form } from './Form'; // 不常用\nexport { default as FullScreen } from './FullScreen'; // 不常用\nexport { default as GeoUtil } from './GeoUtil'; // 不常用\nexport { default as History } from './History'; // 不常用\nexport { default as ImgLazy } from './ImgLazy';\nexport { default as jsonp } from './jsonp'; // 不常用\nexport { default as MediaUtil } from './MediaUtil'; // 不常用\nexport { default as PubSub } from './PubSub'; // 不常用\nexport { default as ValidateID } from './ValidateID'; // 不常用\nexport { default as Validator } from './Validator'; // 不常用"],"sourceRoot":""}
\No newline at end of file