@shixinde/vuepress-theme-init
Version:
1 lines • 1.29 MB
JavaScript
const V=Object.entries,et=Object.fromEntries,st="ENTRIES",L="KEYS",T="VALUES",_="";class D{set;_type;_path;constructor(t,s){const n=t._tree,o=Array.from(n.keys());this.set=t,this._type=s,this._path=o.length>0?[{node:n,keys:o}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:s}=E(this._path);if(E(s)===_)return{done:!1,value:this.result()};const n=t.get(E(s));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=E(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>E(t)).filter(t=>t!==_).join("")}value(){return E(this._path).node.get(_)}result(){switch(this._type){case T:return this.value();case L:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const E=e=>e[e.length-1],nt=(e,t,s)=>{const n=new Map;if(t===void 0)return n;const o=t.length+1,u=o+s,i=new Uint8Array(u*o).fill(s+1);for(let r=0;r<o;++r)i[r]=r;for(let r=1;r<u;++r)i[r*o]=r;return R(e,t,s,n,i,1,o,""),n},R=(e,t,s,n,o,u,i,r)=>{const d=u*i;t:for(const c of e.keys())if(c===_){const a=o[d-1];a<=s&&n.set(r,[e.get(c),a])}else{let a=u;for(let h=0;h<c.length;++h,++a){const g=c[h],m=i*a,p=m-i;let l=o[m];const f=Math.max(0,a-s-1),y=Math.min(i-1,a+s);for(let F=f;F<y;++F){const v=g!==t[F],z=o[p+F]+ +v,A=o[p+F+1]+1,w=o[m+F]+1,j=o[m+F+1]=Math.min(z,A,w);j<l&&(l=j)}if(l>s)continue t}R(e.get(c),t,s,n,o,a,i,r+c)}};class C{_tree;_prefix;_size=void 0;constructor(t=new Map,s=""){this._tree=t,this._prefix=s}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[s,n]=x(this._tree,t.slice(this._prefix.length));if(s===void 0){const[o,u]=O(n);for(const i of o.keys())if(i!==_&&i.startsWith(u)){const r=new Map;return r.set(i.slice(u.length),o.get(i)),new C(r,t)}}return new C(s,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,ot(this._tree,t)}entries(){return new D(this,st)}forEach(t){for(const[s,n]of this)t(s,n,this)}fuzzyGet(t,s){return nt(this._tree,t,s)}get(t){const s=k(this._tree,t);return s!==void 0?s.get(_):void 0}has(t){const s=k(this._tree,t);return s!==void 0&&s.has(_)}keys(){return new D(this,L)}set(t,s){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,I(this._tree,t).set(_,s),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=I(this._tree,t);return n.set(_,s(n.get(_))),this}fetch(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=I(this._tree,t);let o=n.get(_);return o===void 0&&n.set(_,o=s()),o}values(){return new D(this,T)}[Symbol.iterator](){return this.entries()}static from(t){const s=new C;for(const[n,o]of t)s.set(n,o);return s}static fromObject(t){return C.from(Object.entries(t))}}const x=(e,t,s=[])=>{if(t.length===0||e==null)return[e,s];for(const n of e.keys())if(n!==_&&t.startsWith(n))return s.push([e,n]),x(e.get(n),t.slice(n.length),s);return s.push([e,t]),x(void 0,"",s)},k=(e,t)=>{if(t.length===0||e==null)return e;for(const s of e.keys())if(s!==_&&t.startsWith(s))return k(e.get(s),t.slice(s.length))},I=(e,t)=>{const s=t.length;t:for(let n=0;e&&n<s;){for(const u of e.keys())if(u!==_&&t[n]===u[0]){const i=Math.min(s-n,u.length);let r=1;for(;r<i&&t[n+r]===u[r];)++r;const d=e.get(u);if(r===u.length)e=d;else{const c=new Map;c.set(u.slice(r),d),e.set(t.slice(n,n+r),c),e.delete(u),e=c}n+=r;continue t}const o=new Map;return e.set(t.slice(n),o),o}return e},ot=(e,t)=>{const[s,n]=x(e,t);if(s!==void 0){if(s.delete(_),s.size===0)W(n);else if(s.size===1){const[o,u]=s.entries().next().value;q(n,o,u)}}},W=e=>{if(e.length===0)return;const[t,s]=O(e);if(t.delete(s),t.size===0)W(e.slice(0,-1));else if(t.size===1){const[n,o]=t.entries().next().value;n!==_&&q(e.slice(0,-1),n,o)}},q=(e,t,s)=>{if(e.length===0)return;const[n,o]=O(e);n.set(o+t,s),n.delete(o)},O=e=>e[e.length-1],ut=(e,t)=>{const s=e._idToShortId.get(t);if(s!=null)return e._storedFields.get(s)},it=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u,M="or",$="and",rt="and_not",ct=(e,t)=>{e.includes(t)||e.push(t)},N=(e,t)=>{for(const s of t)e.includes(s)||e.push(s)},P=({score:e},{score:t})=>t-e,lt=()=>new Map,b=e=>{const t=new Map;for(const s of Object.keys(e))t.set(parseInt(s,10),e[s]);return t},G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,ht={[M]:(e,t)=>{for(const s of t.keys()){const n=e.get(s);if(n==null)e.set(s,t.get(s));else{const{score:o,terms:u,match:i}=t.get(s);n.score=n.score+o,n.match=Object.assign(n.match,i),N(n.terms,u)}}return e},[$]:(e,t)=>{const s=new Map;for(const n of t.keys()){const o=e.get(n);if(o==null)continue;const{score:u,terms:i,match:r}=t.get(n);N(o.terms,i),s.set(n,{score:o.score+u,terms:o.terms,match:Object.assign(o.match,r)})}return s},[rt]:(e,t)=>{for(const s of t.keys())e.delete(s);return e}},dt=(e,t,s,n,o,u)=>{const{k:i,b:r,d}=u;return Math.log(1+(s-t+.5)/(t+.5))*(d+e*(i+1)/(e+i*(1-r+r*n/o)))},at=e=>(t,s,n)=>{const o=typeof e.fuzzy=="function"?e.fuzzy(t,s,n):e.fuzzy||!1,u=typeof e.prefix=="function"?e.prefix(t,s,n):e.prefix===!0;return{term:t,fuzzy:o,prefix:u}},H=(e,t,s,n)=>{for(const o of Object.keys(e._fieldIds))if(e._fieldIds[o]===s){e._options.logger("warn",`SlimSearch: document with ID ${e._documentIds.get(t)} has changed before removal: term "${n}" was not present in field "${o}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}},ft=(e,t,s,n)=>{if(!e._index.has(n)){H(e,s,t,n);return}const o=e._index.fetch(n,lt),u=o.get(t);u==null||u.get(s)==null?H(e,s,t,n):u.get(s)<=1?u.size<=1?o.delete(t):u.delete(s):u.set(s,u.get(s)-1),e._index.get(n).size===0&&e._index.delete(n)},gt={k:1.2,b:.7,d:.5},mt={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(it),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof console?.[e]=="function"&&console[e](t)},autoVacuum:!0},J={combineWith:M,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:gt},pt={combineWith:$,prefix:(e,t,s)=>t===s.length-1},Ft={batchSize:1e3,batchWait:10},U={minDirtFactor:.1,minDirtCount:20},_t={...Ft,...U},K=Symbol("*"),yt=(e,t)=>{const s=new Map,n={...e._options.searchOptions,...t};for(const[o,u]of e._documentIds){const i=n.boostDocument?n.boostDocument(u,"",e._storedFields.get(o)):1;s.set(o,{score:i,terms:[],match:{}})}return s},X=(e,t=M)=>{if(e.length===0)return new Map;const s=t.toLowerCase(),n=ht[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map},S=(e,t,s,n,o,u,i,r,d=new Map)=>{if(o==null)return d;for(const c of Object.keys(u)){const a=u[c],h=e._fieldIds[c],g=o.get(h);if(g==null)continue;let m=g.size;const p=e._avgFieldLength[h];for(const l of g.keys()){if(!e._documentIds.has(l)){ft(e,h,l,s),m-=1;continue}const f=i?i(e._documentIds.get(l),s,e._storedFields.get(l)):1;if(!f)continue;const y=g.get(l),F=e._fieldLength.get(l)[h],v=dt(y,m,e._documentCount,F,p,r),z=n*a*f*v,A=d.get(l);if(A){A.score+=z,ct(A.terms,t);const w=G(A.match,s);w?w.push(c):A.match[s]=[c]}else d.set(l,{score:z,terms:[t],match:{[s]:[c]}})}}return d},At=(e,t,s)=>{const n={...e._options.searchOptions,...s},o=(n.fields||e._options.fields).reduce((l,f)=>({...l,[f]:G(n.boost,f)||1}),{}),{boostDocument:u,weights:i,maxFuzzy:r,bm25:d}=n,{fuzzy:c,prefix:a}={...J.weights,...i},h=e._index.get(t.term),g=S(e,t.term,t.term,1,h,o,u,d);let m,p;if(t.prefix&&(m=e._index.atPrefix(t.term)),t.fuzzy){const l=t.fuzzy===!0?.2:t.fuzzy,f=l<1?Math.min(r,Math.round(t.term.length*l)):l;f&&(p=e._index.fuzzyGet(t.term,f))}if(m)for(const[l,f]of m){const y=l.length-t.term.length;if(!y)continue;p?.delete(l);const F=a*l.length/(l.length+.3*y);S(e,t.term,l,F,f,o,u,d,g)}if(p)for(const l of p.keys()){const[f,y]=p.get(l);if(!y)continue;const F=c*l.length/(l.length+y);S(e,t.term,l,F,f,o,u,d,g)}return g},Y=(e,t,s={})=>{if(t===K)return yt(e,s);if(typeof t!="string"){const a={...s,...t,queries:void 0},h=t.queries.map(g=>Y(e,g,a));return X(h,a.combineWith)}const{tokenize:n,processTerm:o,searchOptions:u}=e._options,i={tokenize:n,processTerm:o,...u,...s},{tokenize:r,processTerm:d}=i,c=r(t).flatMap(a=>d(a)).filter(a=>!!a).map(at(i)).map(a=>At(e,a,i));return X(c,i.combineWith)},Q=(e,t,s={})=>{const n=Y(e,t,s),o=[];for(const[u,{score:i,terms:r,match:d}]of n){const c=r.length||1,a={id:e._documentIds.get(u),score:i*c,terms:Object.keys(d),queryTerms:r,match:d};Object.assign(a,e._storedFields.get(u)),(s.filter==null||s.filter(a))&&o.push(a)}return t===K&&s.boostDocument==null&&e._options.searchOptions.boostDocument==null||o.sort(P),o},Ct=(e,t,s={})=>{s={...e._options.autoSuggestOptions,...s};const n=new Map;for(const{score:u,terms:i}of Q(e,t,s)){const r=i.join(" "),d=n.get(r);d!=null?(d.score+=u,d.count+=1):n.set(r,{score:u,terms:i,count:1})}const o=[];for(const[u,{score:i,terms:r,count:d}]of n)o.push({suggestion:u,terms:r,score:i/d});return o.sort(P),o};class Et{_options;_index;_documentCount;_documentIds;_idToShortId;_fieldIds;_fieldLength;_avgFieldLength;_nextId;_storedFields;_dirtCount;_currentVacuum;_enqueuedVacuum;_enqueuedVacuumConditions;constructor(t){if(t?.fields==null)throw new Error('SlimSearch: option "fields" must be provided');const s=t.autoVacuum==null||t.autoVacuum===!0?_t:t.autoVacuum;this._options={...mt,...t,autoVacuum:s,searchOptions:{...J,...t.searchOptions||{}},autoSuggestOptions:{...pt,...t.autoSuggestOptions||{}}},this._index=new C,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=U,this.addFields(this._options.fields)}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}get documentCount(){return this._documentCount}get termCount(){return this._index.size}toJSON(){const t=[];for(const[s,n]of this._index){const o={};for(const[u,i]of n)o[u]=Object.fromEntries(i);t.push([s,o])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}addFields(t){for(let s=0;s<t.length;s++)this._fieldIds[t[s]]=s}}const zt=({index:e,documentCount:t,nextId:s,documentIds:n,fieldIds:o,fieldLength:u,averageFieldLength:i,storedFields:r,dirtCount:d,serializationVersion:c},a)=>{if(c!==1&&c!==2)throw new Error("SlimSearch: cannot deserialize an index created with an incompatible version");const h=new Et(a);h._documentCount=t,h._nextId=s,h._documentIds=b(n),h._idToShortId=new Map,h._fieldIds=o,h._fieldLength=b(u),h._avgFieldLength=i,h._storedFields=b(r),h._dirtCount=d||0,h._index=new C;for(const[g,m]of h._documentIds)h._idToShortId.set(m,g);for(const[g,m]of e){const p=new Map;for(const l of Object.keys(m)){let f=m[l];c===1&&(f=f.ds),p.set(parseInt(l,10),b(f))}h._index.set(g,p)}return h},B=(e,t)=>{const s=e.toLowerCase(),n=t.toLowerCase(),o=[];let u=0,i=0;const r=(c,a=!1)=>{let h="";i===0?h=c.length>20?`… ${c.slice(-20)}`:c:a?h=c.length+i>100?`${c.slice(0,100-i)}… `:c:h=c.length>20?`${c.slice(0,20)} … ${c.slice(-20)}`:c,h&&o.push(h),i+=h.length,a||(o.push(["mark",t]),i+=t.length,i>=100&&o.push(" …"))};let d=s.indexOf(n,u);if(d===-1)return null;for(;d>=0;){const c=d+n.length;if(r(e.slice(u,d)),u=c,i>100)break;d=s.indexOf(n,u)}return i<100&&r(e.slice(u),!0),o},wt=(e,t)=>t.contents.reduce((s,[,n])=>s+n,0)-e.contents.reduce((s,[,n])=>s+n,0),xt=(e,t)=>Math.max(...t.contents.map(([,s])=>s))-Math.max(...e.contents.map(([,s])=>s)),Z=(e,t,s={})=>{const n={};return Q(t,e,{boost:{h:2,t:1,c:4},prefix:!0,...s}).forEach(o=>{const{id:u,terms:i,score:r}=o,d=u.includes("@"),c=u.includes("#"),[a,h]=u.split(/[#@]/),g=Number(a),m=i.sort((l,f)=>l.length-f.length).filter((l,f)=>i.slice(f+1).every(y=>!y.includes(l))),{contents:p}=n[g]??={title:"",contents:[]};if(d)p.push([{type:"customField",id:g,index:h,display:m.map(l=>o.c.map(f=>B(f,l))).flat().filter(l=>l!==null)},r]);else{const l=m.map(f=>B(o.h,f)).filter(f=>f!==null);if(l.length&&p.push([{type:c?"heading":"title",id:g,...c&&{anchor:h},display:l},r]),"t"in o)for(const f of o.t){const y=m.map(F=>B(f,F)).filter(F=>F!==null);y.length&&p.push([{type:"text",id:g,...c&&{anchor:h},display:y},r])}}}),V(n).sort(([,o],[,u])=>"max"==="total"?wt(o,u):xt(o,u)).map(([o,{title:u,contents:i}])=>{if(!u){const r=ut(t,o);r&&(u=r.h)}return{title:u,contents:i.map(([r])=>r)}})},tt=(e,t,s={})=>{const n=Ct(t,e,{fuzzy:.2,maxFuzzy:3,...s}).map(({suggestion:o})=>o);return e.includes(" ")?n:n.filter(o=>!o.includes(" "))},bt=et(V(JSON.parse("{\"/\":{\"documentCount\":981,\"nextId\":981,\"documentIds\":{\"0\":\"0\",\"1\":\"0#其他开源项目\",\"2\":\"0#作者\",\"3\":\"1\",\"4\":\"1#数据驱动视图-相当于-ref-reactive\",\"5\":\"1#获取dom-元素-ref\",\"6\":\"1#发布评论功能\",\"7\":\"1#发请求\",\"8\":\"1#监听-useeffect-函数-三个状态\",\"9\":\"1#hooks-注意事项\",\"10\":\"1#路由穿参\",\"11\":\"1#路由嵌套-二级路由\",\"12\":\"1#穿梭组件-穿梭到body\",\"13\":\"1#类中的构造期-是否需要添加super\",\"14\":\"1#类式组件\",\"15\":\"1#函数式组件-props-基础使用\",\"16\":\"1#生命周期\",\"17\":\"1#新的生命周期钩子\",\"18\":\"1#路由的严格匹配\",\"19\":\"1#强制刷新组件-forceupdate\",\"20\":\"1#保存一个旧值\",\"21\":\"1#forwardref-和-useimperativehandle-相当于-vue中的defineexport\",\"22\":\"1#终止fetch请求-使用useeffect-清理函数-abortcontroller\",\"23\":\"1#ts-typeof-自动获取类型-不用使用any了\",\"24\":\"1#usestate-useeffect-usereducer\",\"25\":\"1#react-memo-缓存变化-只有props-发生变化才会重新渲染\",\"26\":\"1#usememo函数的返回值是一个计算好的值-而不是函数\",\"27\":\"1#zustand-相当于-pinia\",\"28\":\"1#zustand-中间件网址https-zustand-nodejs-cn-docs-middlewares-persist\",\"29\":\"1#zustand-immer-案例-代码片段\",\"30\":\"1#zustand-useshallow-避免重复渲染问题\",\"31\":\"1#zustand-持久化存储\",\"32\":\"1#性能优化-独立监听某一个-避免hooks-持续调用\",\"33\":\"1#tailwind-封装到独立的文件中\",\"34\":\"1#将-usesearchparams-转换为对象-并附上类型\",\"35\":\"1#mobx-react-函数式组件\",\"36\":\"1#mobx-类组件\",\"37\":\"2\",\"38\":\"3\",\"39\":\"3#_1-前言\",\"40\":\"3#_2-正文\",\"41\":\"3#_2-1安装流程\",\"42\":\"3#_2-1-1ide内部安装\",\"43\":\"3#_2-1-2手动下载安装\",\"44\":\"3#⚠️-避坑指南\",\"45\":\"3#_2-2使用教程\",\"46\":\"3#_2-2-1连接数据库\",\"47\":\"3#_2-2-2查看数据库-表\",\"48\":\"3#_2-2-3查询数据\",\"49\":\"3#_2-2-4修改表结构\",\"50\":\"3#_2-2-5生成代码\",\"51\":\"3#_2-2-6常见故障排除\",\"52\":\"3#_3-小结\",\"53\":\"4\",\"54\":\"4#_4-项目组织规范\",\"55\":\"4#_4-1-通用的项目组织规范\",\"56\":\"5\",\"57\":\"6\",\"58\":\"8\",\"59\":\"8#发起一个get请求\",\"60\":\"8#发起一个post请求\",\"61\":\"9\",\"62\":\"9#一、选择合适的镜像\",\"63\":\"9#二、使用镜像站点-国内源\",\"64\":\"9#正则读取\",\"65\":\"10\",\"66\":\"10#分页调用\",\"67\":\"10#整体代码\",\"68\":\"11\",\"69\":\"11#java-插件\",\"70\":\"11#变量定义\",\"71\":\"11#数组\",\"72\":\"11#动态创建数组\",\"73\":\"11#二维数组定义-遍历\",\"74\":\"11#动态创建二维数组\",\"75\":\"11#二维数组求【自写案例】\",\"76\":\"11#方法重载\",\"77\":\"11#类-的定义-和引用\",\"78\":\"11#构造函数【空参构造-带参构造】\",\"79\":\"11#集合arraylist的创建和增删改查\",\"80\":\"11#停止虚拟机运行-退出虚拟机\",\"81\":\"11#快捷跳出外部循环-break-name\",\"82\":\"11#静态只能调用静态\",\"83\":\"11#静态方法只能调用静态方法-不能调用非静态方法和非静态变量\",\"84\":\"11#非静态方法可以调用所有方法和变量\",\"85\":\"11#main-方法里面的-args-怎么接收参数\",\"86\":\"11#继承\",\"87\":\"11#继承调用父类的变量-super-关键字代表父类的意思\",\"88\":\"11#方法重写\",\"89\":\"11#static-和-private-里面的方法不能被重写-override\",\"90\":\"11#调用-带参数-构造函数\",\"91\":\"11#继承中构造方法的访问特点是什么\",\"92\":\"11#继承之-this-空参构造-转-有参构造\",\"93\":\"11#多态\",\"94\":\"11#创建多态、多态注意事项\",\"95\":\"11#判断当前子类是不是该类型-instanceof-关键字\",\"96\":\"11#判断类型在-jdk14-后增加了新的简便方法\",\"97\":\"12\",\"98\":\"12#java注解\",\"99\":\"13\",\"100\":\"13#_1-1-环境准备\",\"101\":\"13#_1-2-快速开始\",\"102\":\"13#_1-2-1引入依赖\",\"103\":\"13#_1-2-2-定义mapper\",\"104\":\"13#_1-2-3-测试\",\"105\":\"13#_1-3-常见注解\",\"106\":\"13#_1-3-1-tablename\",\"107\":\"13#_1-3-2-tableid\",\"108\":\"13#_1-3-3-tablefield\",\"109\":\"13#_1-4-常见配置\",\"110\":\"13#_2-1-条件构造器\",\"111\":\"13#_2-1-1-querywrapper\",\"112\":\"13#_2-1-2-updatewrapper\",\"113\":\"13#_2-1-3-lambdaquerywrapper\",\"114\":\"13#_2-2-自定义sql\",\"115\":\"13#_2-2-1-基本用法\",\"116\":\"13#_2-2-2-多表关联\",\"117\":\"13#_2-3-service接口\",\"118\":\"13#_2-3-1-crud\",\"119\":\"13#_2-3-2-基本用法\",\"120\":\"13#_2-3-3-lambda\",\"121\":\"13#_2-3-4-批量新增\",\"122\":\"13#_3-1-代码生成\",\"123\":\"13#_3-1-1-安装插件\",\"124\":\"13#_3-1-2-使用\",\"125\":\"13#_3-2-静态工具\",\"126\":\"13#_3-3-逻辑删除\",\"127\":\"13#_3-3-通用枚举\",\"128\":\"13#_3-3-1-定义枚举\",\"129\":\"13#_3-3-2-配置枚举处理器\",\"130\":\"13#_3-3-3-测试\",\"131\":\"13#_3-4-json类型处理器\",\"132\":\"13#_3-4-1-定义实体\",\"133\":\"13#_3-4-2-使用类型处理器\",\"134\":\"13#_3-5-配置加密-选学\",\"135\":\"13#_3-5-1-生成-秘钥\",\"136\":\"13#_3-5-2-修改配置\",\"137\":\"13#_3-5-3-测试\",\"138\":\"13#_4-1-分页插件\",\"139\":\"13#_4-1-1-配置分页插件\",\"140\":\"13#_4-1-2-分页-api\",\"141\":\"13#_4-2-通用分页实体\",\"142\":\"13#_4-2-1-实体\",\"143\":\"13#_4-2-2-开发接口\",\"144\":\"13#_4-2-3-改造pagequery实体\",\"145\":\"13#_4-2-4-改造pagedto实体\",\"146\":\"14\",\"147\":\"14#通用语法及分类\",\"148\":\"14#ddl-数据定义语言\",\"149\":\"14#数据库操作\",\"150\":\"14#注意事项\",\"151\":\"14#表操作\",\"152\":\"14#dml-数据操作语言\",\"153\":\"14#添加数据\",\"154\":\"14#注意事项-1\",\"155\":\"14#更新和删除数据\",\"156\":\"14#dql-数据查询语言\",\"157\":\"14#基础查询\",\"158\":\"14#条件查询\",\"159\":\"14#聚合查询-聚合函数\",\"160\":\"14#分组查询\",\"161\":\"14#注意事项-2\",\"162\":\"14#排序查询\",\"163\":\"14#注意事项-3\",\"164\":\"14#分页查询\",\"165\":\"14#注意事项-4\",\"166\":\"14#dql执行顺序\",\"167\":\"14#dcl\",\"168\":\"14#管理用户\",\"169\":\"14#注意事项-5\",\"170\":\"14#权限控制\",\"171\":\"14#注意事项-6\",\"172\":\"14#函数\",\"173\":\"14#字符串函数\",\"174\":\"14#数值函数\",\"175\":\"14#日期函数\",\"176\":\"14#流程函数\",\"177\":\"14#约束\",\"178\":\"14#常用约束\",\"179\":\"14#外键约束\",\"180\":\"14#删除-更新行为\",\"181\":\"14#多表查询\",\"182\":\"14#多表关系\",\"183\":\"14#一对多\",\"184\":\"14#多对多\",\"185\":\"14#一对一\",\"186\":\"14#查询\",\"187\":\"14#内连接查询\",\"188\":\"14#外连接查询\",\"189\":\"14#自连接查询\",\"190\":\"14#联合查询-union-union-all\",\"191\":\"14#注意事项-7\",\"192\":\"14#子查询\",\"193\":\"14#标量子查询\",\"194\":\"14#列子查询\",\"195\":\"14#行子查询\",\"196\":\"14#表子查询\",\"197\":\"14#事务\",\"198\":\"14#四大特性acid\",\"199\":\"14#并发事务\",\"200\":\"14#存储引擎\",\"201\":\"14#innodb\",\"202\":\"14#myisam\",\"203\":\"14#memory\",\"204\":\"14#存储引擎特点\",\"205\":\"14#存储引擎的选择\",\"206\":\"14#性能分析\",\"207\":\"14#查看执行频次\",\"208\":\"14#慢查询日志\",\"209\":\"14#profile\",\"210\":\"14#explain\",\"211\":\"14#索引\",\"212\":\"14#索引结构\",\"213\":\"14#b-tree\",\"214\":\"14#b-tree-1\",\"215\":\"14#hash\",\"216\":\"14#面试题\",\"217\":\"14#索引分类\",\"218\":\"14#思考题\",\"219\":\"14#语法\",\"220\":\"14#使用规则\",\"221\":\"14#最左前缀法则\",\"222\":\"14#索引失效情况\",\"223\":\"14#sql-提示\",\"224\":\"14#覆盖索引-回表查询\",\"225\":\"14#前缀索引\",\"226\":\"14#单列索引-联合索引\",\"227\":\"14#注意事项-8\",\"228\":\"14#设计原则\",\"229\":\"14#sql-优化\",\"230\":\"14#插入数据\",\"231\":\"14#主键优化\",\"232\":\"14#order-by优化\",\"233\":\"14#group-by优化\",\"234\":\"14#limit优化\",\"235\":\"14#count优化\",\"236\":\"14#update优化-避免行锁升级为表锁\",\"237\":\"14#整型\",\"238\":\"14#浮点型\",\"239\":\"14#日期和时间\",\"240\":\"14#字符串\",\"241\":\"14#二进制类型\",\"242\":\"15\",\"243\":\"15#模糊查询\",\"244\":\"15#控制台打印sql\",\"245\":\"16\",\"246\":\"16#第一个get和post-请求\",\"247\":\"16#简单数据类型和复杂数据类型-接收数据\",\"248\":\"16#集合或者数组接收数据\",\"249\":\"16#路径参数\",\"250\":\"16#日期参数\",\"251\":\"16#jwt-令牌-token\",\"252\":\"16#自己封装版本\",\"253\":\"16#filter-路径拦截\",\"254\":\"16#md5加密\",\"255\":\"16#后端解决接口跨域问题-crossorigin\",\"256\":\"16#解决跨域问题-全部接口\",\"257\":\"16#mybatis-控制台打印sql\",\"258\":\"16#后端解决-long-id丢失精度问题\",\"259\":\"16#新版-pagehelper-分页参数为0时不能查询全部\",\"260\":\"17\",\"261\":\"17#ptg-一键生成javabean\",\"262\":\"18\",\"263\":\"18#j快速生成定义名加方法-ctrl-alt-v\",\"264\":\"18#快速生成构造函数的变量-alt-fn-insert\",\"265\":\"18#定义方法后提示参数-ctrl-p\",\"266\":\"18#变量名批量修改-shift-f6\",\"267\":\"18#字符串-fori-遍历-字符串-forr-反向遍历\",\"268\":\"18#将1行代码快速分割成两行-alt-enter\",\"269\":\"18#报错代码-按快捷键-alt-enter-快速生成错误解决方案\",\"270\":\"18#快读生成方法片段-ctrl-alt-m\",\"271\":\"19\",\"272\":\"19#图片转base64\",\"273\":\"20\",\"274\":\"20#创建表\",\"275\":\"20#显示当前数据库中的表\",\"276\":\"20#显示表结构\",\"277\":\"20#代码片段\",\"278\":\"20#管理用户\",\"279\":\"20#查询用户\",\"280\":\"20#创建用户\",\"281\":\"20#自查询\",\"282\":\"20#合并-两个表查询后合并为新表\",\"283\":\"20#distinct-去除重复项-去重\",\"284\":\"20#事务-四大特性-基本操作-隔离级别\",\"285\":\"20#四大特性acid\",\"286\":\"20#事务的基本操作\",\"287\":\"20#索引\",\"288\":\"21\",\"289\":\"21#首先在-pom-xml-文件中导入包\",\"290\":\"21#如果是低版本的-springboot-框架-使用这个\",\"291\":\"21#就可以在serviceimpl-实现类中使用了\",\"292\":\"22\",\"293\":\"22#pom-连接数据库和mybatis-plus\",\"294\":\"23\",\"295\":\"23#_1-react脚手架\",\"296\":\"23#_2-创建项目并启动\",\"297\":\"23#_3-使用脚手架开发的项目的特点\",\"298\":\"23#_4-组件化编写项目的流程\",\"299\":\"23#_1-拆分组件\",\"300\":\"23#_2-确定组件的state和props\",\"301\":\"23#_3-编写静态组件\",\"302\":\"23#_4-实现动态组件\",\"303\":\"23#_1-react应用中的ajax请求\",\"304\":\"23#_2-拆分组件\",\"305\":\"23#_3-编写组件\",\"306\":\"23#_1-方式一-通过props传递\",\"307\":\"23#_2-方式二-使用消息订阅-subscribe-发布-publish-机制-自定义事件机制\",\"308\":\"23#_3-事件监听理解\",\"309\":\"24\",\"310\":\"24#_1-spa应用\",\"311\":\"24#_2-路由\",\"312\":\"24#_3-关于url中的\",\"313\":\"24#_1-react-router中的相关组件\",\"314\":\"24#_2-router-路由器组件\",\"315\":\"24#_3-route-路由组件\",\"316\":\"24#_4-indexroute-默认路由\",\"317\":\"24#_5-hashhistory\",\"318\":\"24#_6-link-路由链接\",\"319\":\"24#_1-下载\",\"320\":\"24#_2-定义各个路由组件\",\"321\":\"24#_3-index-js-注册路由-渲染路由器标签\",\"322\":\"24#_3-主页面-index-html\",\"323\":\"24#_1-repo-js-repos组件下的分路由组件\",\"324\":\"24#_2-repos-js\",\"325\":\"24#_3-index-js-配置路由\",\"326\":\"24#_1-navlink-js\",\"327\":\"24#_2-repos-js-1\",\"328\":\"25\",\"329\":\"25#_1-material-ui-国外\",\"330\":\"25#_2-ant-design-国内蚂蚁金服\",\"331\":\"25#_1-使用create-react-app搭建react开发环境\",\"332\":\"25#_2-搭建antd的基本开发环境\",\"333\":\"25#_3-实现按需加载-组件js-组件css\",\"334\":\"26\",\"335\":\"27\",\"336\":\"27#初始化包\",\"337\":\"27#项目中一般使用-purecomponent-而不是用-component\",\"338\":\"27#调用接口-配置代理\",\"339\":\"27#方法一、只能配置一个-3000-5000端口数据\",\"340\":\"27#组件沟通-消息订阅与发布\",\"341\":\"27#search-组件订阅消息-pubsub-publish-订阅名字-订阅数据\",\"342\":\"27#list-组件-接收消息\",\"343\":\"27#路由-调用组件-动态样式\",\"344\":\"27#路由-多标签截至-switch\",\"345\":\"27#解决样式丢失\",\"346\":\"27#_1-更改引入样式表的\",\"347\":\"27#_2-更改当前路径\",\"348\":\"27#_3-更改路由模式-地址从-history路由-转为-hash路由\",\"349\":\"27#路由重定向\",\"350\":\"27#二级路由-一定不要严格匹配\",\"351\":\"27#父组件\",\"352\":\"27#路由传递参数\",\"353\":\"27#路由带参数传值-params参数\",\"354\":\"27#路由带参数传值-search参数\",\"355\":\"27#路由带参数传值-state参数\",\"356\":\"27#缺点-如果浏览器清除浏览器历史记录以后-有可能空置\",\"357\":\"27#编程式导航\",\"358\":\"27#类式组件-history-api\",\"359\":\"27#函数式组件-navigate-跳转路由\",\"360\":\"27#函数式组件调用路由\",\"361\":\"27#传统写法\",\"362\":\"27#外部调用的写法\",\"363\":\"27#调用子集路由\",\"364\":\"27#使用-outlet-组件进行占位-站在哪里-组件就先是在哪里\",\"365\":\"27#to两中写法-about-news-或者-news\",\"366\":\"27#一般组件想使用-路由组件的api参数-withrouter\",\"367\":\"27#redux-基本使用\",\"368\":\"27#类式组件\",\"369\":\"27#精简版-102集异步\",\"370\":\"27#_1-去除count组件自身的状态\",\"371\":\"27#_2-src下建立\",\"372\":\"27#_3-store-js\",\"373\":\"27#_4-count-reducer-js\",\"374\":\"27#_5-在index-js中监测store中状态的改变-一旦发生改变重新渲染\",\"375\":\"27#类式组件-完整版\",\"376\":\"27#类式组件-合并父子组件-简写形式\",\"377\":\"27#函数式组件\",\"378\":\"27#外侧如果不想包一个标签-可以直接使用-fragment-或者使用\",\"379\":\"27#错误边界\",\"380\":\"27#理解\",\"381\":\"27#特点\",\"382\":\"27#使用方式\",\"383\":\"27#组件通信方式总结\",\"384\":\"27#方式\",\"385\":\"27#组件间的关系\",\"386\":\"27#function过程传参\",\"387\":\"27#params-传参\",\"388\":\"27#search-传参\",\"389\":\"27#设置-为src目录\",\"390\":\"27#输入-不能自动识别路径\",\"391\":\"27#hook\",\"392\":\"27#uselocation-可以查看路由表信息\",\"393\":\"27#设置-为src目录-1\",\"394\":\"27#输入-不能自动识别路径-1\",\"395\":\"27#路由配置流程-带懒加载\",\"396\":\"27#router-js\",\"397\":\"27#在main里面创建路由模式\",\"398\":\"27#app-tsx\",\"399\":\"28\",\"400\":\"28#设置-为src目录\",\"401\":\"28#输入-不能自动识别路径\",\"402\":\"28#路由配置流程-带懒加载\",\"403\":\"28#router-js\",\"404\":\"28#在main里面创建路由模式\",\"405\":\"28#app-tsx\",\"406\":\"29\",\"407\":\"29#_1-setstate\",\"408\":\"29#setstate更新状态的2种写法\",\"409\":\"29#_2-lazyload\",\"410\":\"29#路由组件的lazyload\",\"411\":\"29#_3-hooks\",\"412\":\"29#_1-react-hook-hooks是什么\",\"413\":\"29#_2-三个常用的hook\",\"414\":\"29#_3-state-hook\",\"415\":\"29#_4-effect-hook\",\"416\":\"29#_5-ref-hook\",\"417\":\"29#_4-fragment\",\"418\":\"29#使用\",\"419\":\"29#作用\",\"420\":\"29#理解\",\"421\":\"29#使用-1\",\"422\":\"29#注意\",\"423\":\"29#component的2个问题\",\"424\":\"29#效率高的做法\",\"425\":\"29#原因\",\"426\":\"29#解决\",\"427\":\"29#如何向组件内部动态传入带内容的结构-标签\",\"428\":\"29#children-props\",\"429\":\"29#render-props\",\"430\":\"29#理解-1\",\"431\":\"29#特点\",\"432\":\"29#使用方式\",\"433\":\"29#_9-组件通信方式总结\",\"434\":\"29#方式\",\"435\":\"29#组件间的关系\",\"436\":\"30\",\"437\":\"30#_1-求和案例-redux精简版\",\"438\":\"30#_2-求和案例-redux完整版\",\"439\":\"30#_3-求和案例-redux异步action版\",\"440\":\"30#_4-求和案例-react-redux基本使用\",\"441\":\"30#_5-求和案例-react-redux优化\",\"442\":\"30#_6-求和案例-react-redux数据共享版\",\"443\":\"30#_7-求和案例-react-redux开发者工具的使用\",\"444\":\"30#_8-求和案例-react-redux最终版\",\"445\":\"31\",\"446\":\"31#hello-vuepress-1\",\"447\":\"31#hello-vuepress-2\",\"448\":\"31#hello-vuepress-3\",\"449\":\"31#hello-vuepress-4\",\"450\":\"32\",\"451\":\"32#_1-解决图标不显示的问题\",\"452\":\"33\",\"453\":\"33#input输入限制只能输入大写字母-数字-汉字等\",\"454\":\"33#代码式显示-dialog-弹框\",\"455\":\"33#代码式显示-dialog-输入框\",\"456\":\"34\",\"457\":\"34#小程序触底刷新下一页\",\"458\":\"34#usereachbottom\",\"459\":\"35\",\"460\":\"35#vue2-element-ui-上传\",\"461\":\"35#vxe-table-合并相同数据项-合并单元格\",\"462\":\"35#随机生成验证码\",\"463\":\"35#identify-vue组件-主要用于定义参数和方法\",\"464\":\"35#codetest-vue-在页面进行使用\",\"465\":\"36\",\"466\":\"36#防止多次点击-做节流处理\",\"467\":\"37\",\"468\":\"37#关闭eslint-使用\",\"469\":\"37#请求调用-接口\",\"470\":\"37#本地存储-获取和添加\",\"471\":\"37#路由传参的三种基本方式\",\"472\":\"37#自定义指令用法实例\",\"473\":\"37#本节主要解决异常图片情况\",\"474\":\"37#自定义指令\",\"475\":\"37#在main-js完成自定义指令全局注册\",\"476\":\"37#vue声明一个全局的对象\",\"477\":\"37#进度条插件\",\"478\":\"37#路由的meta属性\",\"479\":\"37#路由传参\",\"480\":\"37#如何指定-parms-参数可传可不传\",\"481\":\"37#节流和防抖\",\"482\":\"37#vue-中使用字典\",\"483\":\"37#vue导出excel\",\"484\":\"37#vue-右键菜单\",\"485\":\"37#路由跳转页面不重新执行created\",\"486\":\"37#通过锚点跳转到位置-不影响路由\",\"487\":\"37#video-取消显示-画中画-倍速-和-下载按钮\",\"488\":\"37#文字转语音朗读\",\"489\":\"37#vue-router-解决路由重复点击报错\",\"490\":\"37#防止按钮重复点击\",\"491\":\"37#input输入限制只能输入大写字母-数字-汉字等\",\"492\":\"37#websocket\",\"493\":\"37#flex-shrink-0\",\"494\":\"37#处理路由加载失败的问题\",\"495\":\"38\",\"496\":\"38#toraw-和-markraw-取消响应式\",\"497\":\"38#provide-和-inject\",\"498\":\"38#watch监听函数\",\"499\":\"38#路由跳转\",\"500\":\"38#值存入缓存\",\"501\":\"38#ts报错-绑定元素-id-隐式具有-any-类型\",\"502\":\"38#ts报错-类型-never-上不存在属性-name\",\"503\":\"38#ts报错-类型-any-的参数不能赋给类型-never-的参数\",\"504\":\"38#勾起整个页面刷新\",\"505\":\"38#使用命令跳转链接-本窗口、新窗口\",\"506\":\"38#setup-语法-script-中写name\",\"507\":\"38#props-中使用枚举-props-中强调是否必传\",\"508\":\"38#防止按钮重复点击\",\"509\":\"38#封装一个console-log-样式\",\"510\":\"38#移动排序-上移-下移\",\"511\":\"39\",\"512\":\"39#_1-获取单行中的一个字段值\",\"513\":\"39#_2-获取单行中的-index-当前行的下标值\",\"514\":\"39#_3-消息提示框\",\"515\":\"39#_4-自定义表单校验\",\"516\":\"39#确认密码\",\"517\":\"39#验证手机号\",\"518\":\"39#_5-全局配置dialog点击遮罩层不关闭对话框\",\"519\":\"39#图片-点击可以放大预览\",\"520\":\"39#表格设置表头居中\",\"521\":\"39#图片嵌套在表格中放大预览-背后层级出现问题\",\"522\":\"39#编程式弹层-elmessagebox-confirm\",\"523\":\"40\",\"524\":\"40#使用管理员命令提示符打开路径\",\"525\":\"40#切换源\",\"526\":\"40#pnpm-i\",\"527\":\"41\",\"528\":\"41#使用手册\",\"529\":\"41#vitejs-plugin-vue-jsx-插件\",\"530\":\"41#第一步-安装插件\",\"531\":\"41#第二步-在vite-config-ts中进行引入插件和注册插件\",\"532\":\"41#vue-babel-plugin-jsx-插件\",\"533\":\"41#第一步-安装插件-1\",\"534\":\"41#第二步-创建一个文件-babel-config-js-并且导出\",\"535\":\"41#第三步\",\"536\":\"41#使用-jsx-写页面\",\"537\":\"41#jsx-调用页面组件\",\"538\":\"41#重要-通过一个页面-tsx-文件-完成整个页面的绘制并且实现方法形式调用\",\"539\":\"41#插槽的使用\",\"540\":\"41#props使用\",\"541\":\"41#方法使用\",\"542\":\"42\",\"543\":\"42#前言\",\"544\":\"42#安装jsx库\",\"545\":\"42#基本语法对照-sfc\",\"546\":\"42#definecomponent-和-setup\",\"547\":\"42#v-if\",\"548\":\"42#v-bind\",\"549\":\"42#v-for\",\"550\":\"42#自定义指令\",\"551\":\"42#插槽\",\"552\":\"42#props\",\"553\":\"42#emit\",\"554\":\"42#事件监听\",\"555\":\"42#属性-事件继承\",\"556\":\"42#其他命令\",\"557\":\"42#组件引用\",\"558\":\"42#对外暴露属性和方法\",\"559\":\"42#样式修改\",\"560\":\"42#总结\",\"561\":\"43\",\"562\":\"43#官网-uni-app官网\",\"563\":\"43#环境安装\",\"564\":\"43#创建uni-app\",\"565\":\"44\",\"566\":\"44#开启-css-路径追踪\",\"567\":\"44#vite-base-config-ts-配置\",\"568\":\"44#vite-config-ts-配置\",\"569\":\"44#编写插件已学配置\",\"570\":\"44#vite-打包-gzip压缩-vite-plugin-compression\",\"571\":\"44#vite-cdn-加速\",\"572\":\"45\",\"573\":\"45#插件生命周期钩子文档\",\"574\":\"45#手写插件\",\"575\":\"45#编写插件已学配置\",\"576\":\"46\",\"577\":\"46#下载blob文件流\",\"578\":\"46#前端下载后台返回的文件流-诸如以下\",\"579\":\"46#下载xml文件\",\"580\":\"46#下载excel\",\"581\":\"46#或者使用这种方式\",\"582\":\"46#导出pdf\",\"583\":\"47\",\"584\":\"47#安装\",\"585\":\"47#usedebouncefn-防抖\",\"586\":\"47#usefullscreen-全屏\",\"587\":\"47#useclipboard-剪切板功能\",\"588\":\"47#usecolormode-切换主题颜色\",\"589\":\"47#usewindowsize-响应式获取窗口尺寸\",\"590\":\"47#onclickoutside-检测区域之外的的点击事件\",\"591\":\"47#usestorage-自动同步到-localstorage\",\"592\":\"48\",\"593\":\"48#动态添加输入框并获取焦点\",\"594\":\"49\",\"595\":\"49#使用\",\"596\":\"49#组件代码\",\"597\":\"50\",\"598\":\"50#拖拽-插件-vuedraggable\",\"599\":\"50#vconsole-手机上调试代码\",\"600\":\"50#animate-css-css3-动画库\",\"601\":\"50#mescroll-js-下拉刷新和上拉加载\",\"602\":\"50#chart-js-javascript-图表库\",\"603\":\"50#day-js\",\"604\":\"50#qs-url-参数转换\",\"605\":\"50#js-cookie\",\"606\":\"51\",\"607\":\"51#vxetable-保存选中状态\",\"608\":\"51#字典回显的时候调用组件返回值\",\"609\":\"51#下拉组合框加-树形组件\",\"610\":\"51#vxe-table-表格添加全选按钮\",\"611\":\"51#array转tree-全局方法\",\"612\":\"51#跳转路由并传值\",\"613\":\"51#图片变成-base64\",\"614\":\"51#分页\",\"615\":\"51#上传\",\"616\":\"51#查看\",\"617\":\"51#下载\",\"618\":\"51#防止按钮重复点击\",\"619\":\"51#input输入限制只能输入大写字母-数字-汉字等\",\"620\":\"52\",\"621\":\"52#_1-2-安装和快速使用\",\"622\":\"52#第一步-安装\",\"623\":\"52#第二步-main-js引入\",\"624\":\"52#第三步-在组件中写入\",\"625\":\"52#第四步-本地路径问题\",\"626\":\"52#_2-1-分辨率切换\",\"627\":\"52#_2-2-不通浏览器播放不同文件\",\"628\":\"52#_2-3-底部控制栏\",\"629\":\"52#_2-4-自动播放\",\"630\":\"52#_2-5-视频播放控制\",\"631\":\"52#_3-1-基本事件\",\"632\":\"52#_3-2-播放错误\",\"633\":\"52#_4-1-快速开始\",\"634\":\"53\",\"635\":\"53#省略号-单行\",\"636\":\"53#省略号-两行\",\"637\":\"53#超过元素宽高省略\",\"638\":\"53#单行-多行-省略号-scss\",\"639\":\"54\",\"640\":\"54#柱状体-文字太长-导值底部文字不显示-省略号做法\",\"641\":\"55\",\"642\":\"55#插件安装-vue-tsc-pnpm-lint-fix\",\"643\":\"55#插件安装-pnpm-gitcz\",\"644\":\"55#步骤-1-下载依赖\",\"645\":\"55#步骤-2-修改-package-json-添加-config-指定使用的适配器\",\"646\":\"55#步骤3-创建-commitlint-config-cjs-文件\",\"647\":\"55#袁果锅生态\",\"648\":\"55#扩展-格式化工具\",\"649\":\"55#插件安装-pnpm-gitcz-1\",\"650\":\"55#推送-dist-文件夹到子分支-gh-pages\",\"651\":\"55#当本地登陆了一个账号-但是要拉取另一个账号的git地址\",\"652\":\"55#git-新建源\",\"653\":\"55#指定上游分支-git-branch-u-origin-master\",\"654\":\"55#git-branch-set-upstream-to-origin-master-master\",\"655\":\"55#git-push-d2dmaster-master-d2c-master\",\"656\":\"55#临时禁用凭据-可以重新切换账号\",\"657\":\"55#临时禁用凭据助手-只对当前仓库生效\",\"658\":\"55#清除-credential-helper-store-存储的凭据\",\"659\":\"55#清除-macos-钥匙串中存储的-git-凭据\",\"660\":\"55#然后输入你的-git-服务器地址\",\"661\":\"55#按两次回车确认\",\"662\":\"56\",\"663\":\"56#marquee-跑马灯元素\",\"664\":\"57\",\"665\":\"57#初始化定义\",\"666\":\"57#ts-js-转换\",\"667\":\"57#eg-tsc-hello-ts\",\"668\":\"57#简化转换步骤\",\"669\":\"57#typescript-基础类型\",\"670\":\"57#类型注解-let-age-number-18\",\"671\":\"57#变量加类型\",\"672\":\"57#函数加类型-function-const\",\"673\":\"57#function-方式\",\"674\":\"57#const-方式\",\"675\":\"57#类型别名-type-定义\",\"676\":\"57#数组对象使用类型别名-type-定义\",\"677\":\"57#只有接口可以使用两个方法来定义\",\"678\":\"57#对象接口别名-interface-定义\",\"679\":\"57#对象接口使用-类型别名-type-定义\",\"680\":\"57#接口继承-extends\",\"681\":\"57#让用户可以自己选择值-字面量类型\",\"682\":\"57#类型上下文-typeof-的两个作用\",\"683\":\"57#class类-构造函数\",\"684\":\"57#class类-实例方法\",\"685\":\"57#class类-继承\",\"686\":\"57#接口继承\",\"687\":\"57#class类-可见性修饰符\",\"688\":\"57#public-公共的-默认\",\"689\":\"57#private-私有的\",\"690\":\"57#protected-受保护的\",\"691\":\"57#readonly-只读修饰符\",\"692\":\"58\",\"693\":\"58#request-js\",\"694\":\"59\",\"695\":\"59#_1-js数组操作\",\"696\":\"59#【删】\",\"697\":\"59#【map】方法遍历数组\",\"698\":\"59#_1、数组的属性\",\"699\":\"59#_2、数组的方法\",\"700\":\"59#数值对象\",\"701\":\"59#_2-过滤扩展名\",\"702\":\"59#_3-object-转换为-json-数据-json-stringify-obj对象数组\",\"703\":\"59#json-stringify-this-sign-time\",\"704\":\"59#json-parse-json-stringify-obj对象数组\",\"705\":\"59#vue-ob-observer\",\"706\":\"59#_3-2-数组传值使用json解析出现错误\",\"707\":\"59#_4-强制刷新视图层-this-forceupdate\",\"708\":\"59#_5-四舍五入为指定小数位数-tofixed\",\"709\":\"59#定义和用法\",\"710\":\"59#语法\",\"711\":\"59#_6-对象转数组-object-keys\",\"712\":\"59#_7-校验是否有违禁词\",\"713\":\"59#_8-生成随机数\",\"714\":\"59#_9-去除字符串左右空格\",\"715\":\"59#_10-对象数组取异\",\"716\":\"59#promise-延迟\",\"717\":\"59#强制跳出-foreach循环-throw-new-error-error\",\"718\":\"59#this-nexttick-放到服务器环境不能使用了-本地环境可以-setimmediate-res\",\"719\":\"59#复制剪贴板\",\"720\":\"60\",\"721\":\"60#上传包-如何上传自己的npm包-npm上传-csdn博客\",\"722\":\"60#淘宝镜像-切换至淘宝镜像\",\"723\":\"60#恢复官方镜像源\",\"724\":\"61\",\"725\":\"61#转移包\",\"726\":\"62\",\"727\":\"62#parse\",\"728\":\"62#校验-email\",\"729\":\"62#数组类型\",\"730\":\"63\",\"731\":\"63#_1-买一个环境-可以得到一个环境id\",\"732\":\"63#_2-在app-vue-里面写\",\"733\":\"63#_3-在页面中调用\",\"734\":\"63#小程序路径转电脑端-临时路径\",\"735\":\"64\",\"736\":\"64#获取地理位置信息\",\"737\":\"65\",\"738\":\"65#向上一个页面传递值\",\"739\":\"65#获取下个页面传递过来的值\",\"740\":\"65#分享\",\"741\":\"65#键盘被抬起后-输入框位置适配\",\"742\":\"66\",\"743\":\"67\",\"744\":\"67#nginx-启动和关闭\",\"745\":\"68\",\"746\":\"68#windows部署-linux部署\",\"747\":\"68#华为云-阿里云-百度云等等\",\"748\":\"68#打开iis-全名-internet-information-services-iis-管理器\",\"749\":\"68#添加网站\",\"750\":\"68#点击启动遇到第一个报错-【万维网发布服务-w3svc-已停止】\",\"751\":\"68#遇到第二个报错-【万维网发布服务-w3svc-已停止】\",\"752\":\"68#管理员身份打开-cmd\",\"753\":\"68#执行命令\",\"754\":\"68#配置一下\",\"755\":\"68#windows-扩展\",\"756\":\"68#公网ip\",\"757\":\"68#端口号-http默认端口号80-https默认端口号443\",\"758\":\"68#前端部署-直接将打包后的的文件\",\"759\":\"68#在服务器下载linux\",\"760\":\"68#配置nginx\",\"761\":\"68#代码放到服务器\",\"762\":\"68#服务器上搭建java环境\",\"763\":\"68#java-jar-jar包-6969\",\"764\":\"69\",\"765\":\"69#使用postcss-px2rem适配已经做成功1920-1080适配为rem\",\"766\":\"70\",\"767\":\"70#路由守卫\",\"768\":\"70#设置请求拦截器和访问拦截器\",\"769\":\"70#获取token\",\"770\":\"70#将token保存到cookies-中和vuex中\",\"771\":\"71\",\"772\":\"71#好看的网站配色\",\"773\":\"71#弹框所用-rgba-3-22-52-0-5-淡蓝黑\",\"774\":\"72\",\"775\":\"72#解决开发环境的跨域问题\",\"776\":\"73\",\"777\":\"73#pom-配置\",\"778\":\"73#官网链接\",\"779\":\"73#sse-长链接-单向数据传输-后端-前端\",\"780\":\"73#websorket-双向数据传输\",\"781\":\"73#ai-格式化输出\",\"782\":\"73#切换大模型教程\",\"783\":\"74\",\"784\":\"75\",\"785\":\"75#简易电影选座-vue\",\"786\":\"76\",\"787\":\"76#vue架构\",\"788\":\"77\",\"789\":\"78\",\"790\":\"78#es6中-展开运算符\",\"791\":\"78#默认全部导入方法\",\"792\":\"78#对象转数组-object-keys\",\"793\":\"78#解构赋值-重命名\",\"794\":\"79\",\"795\":\"79#_1-git-init-初始化文档\",\"796\":\"79#_2-git-add-添加到暂存区\",\"797\":\"79#_3-git-commit-m-first-commit-提交并写名字\",\"798\":\"79#_4-git-remote-add-origin-https-gitee-com-xxx-地址\",\"799\":\"79#_5-git-push-u-origin-master-合并主分支\",\"800\":\"79#_1-git-add-添加到暂存区\",\"801\":\"79#_2-git-commit-m-first-commit-提交并写名字\",\"802\":\"79#_3-git-push-提交\",\"803\":\"79#git-remote-v-查看当前git-指向哪里\",\"804\":\"79#git-status-查看暂存区状态\",\"805\":\"79#git-log-查看版本日志\",\"806\":\"79#git-remote-v-查看本地仓库的远程仓库地址\",\"807\":\"79#git-remote-remove-origin-取消与远程仓库的连接\",\"808\":\"79#在不慎多次提交后出现-master-rebase-1-2\",\"809\":\"79#git-cz-【-git-commit-的提交命令的加强版】\",\"810\":\"80\",\"811\":\"80#方法一\",\"812\":\"80#方法二-通过时间戳的方法\",\"813\":\"81\",\"814\":\"81#_1-使用系统默认的导航栏样式\",\"815\":\"81#_2-pages-json-中-将级联文件夹指定到本文件夹中\",\"816\":\"81#_3-uni-app-路由跳转\",\"817\":\"81#_4-textarea框怎么设置输入字数和显示用户所输入的字数\",\"818\":\"81#_5-查看更多-收起-不单单可以使用显示隐藏来做还可以使用overflow-hidden\",\"819\":\"81#_6-对于uni-app来说-设置整屏的背景\",\"820\":\"81#_7-带参数跳转路由\",\"821\":\"81#_8-uni-app-方法之呼叫电话\",\"822\":\"81#_9-路由跳转\",\"823\":\"81#_10-验证方法是否出错-或者错误在哪里\",\"824\":\"81#_11-跳转到微信客服\",\"825\":\"81#_12-清除缓存\",\"826\":\"81#_13-修改上一个页面的值\",\"827\":\"81#_14-生命周期\",\"828\":\"81#_15-富文本转为文本-富文本解析\",\"829\":\"81#方法一-rich-text\",\"830\":\"81#方法二-使用-hubildx-插件-可定制\",\"831\":\"81#_16-所有的wx-方法-都可以直接写成-uni-方法\",\"832\":\"81#_17-获取上一个页面的方法-或者值\",\"833\":\"81#_18-图片没加载的时候有提示-图片加载完成隐藏\",\"834\":\"81#_19-防止事件冒泡-tap-stop\",\"835\":\"81#使用代码-实现弹框功能\",\"836\":\"82\",\"837\":\"82#最新uniapp登录逻辑\",\"838\":\"82#调用接口\",\"839\":\"82#uni-getuserprofile-object-获取用户信息\",\"840\":\"82#将内容复制到剪贴板\",\"841\":\"82#将图片保存到本地\",\"842\":\"82#长按图片可以保存-收藏-发送给朋友\",\"843\":\"82#长按保存图片\",\"844\":\"82#将服务器文件保存到本地-有转发、浮窗、选择其他应用打开、收藏、保存到手机\",\"845\":\"82#上传文件\",\"846\":\"82#拍照并上传图片\",\"847\":\"82#值存入缓存\",\"848\":\"82#获取缓存中的-token-值\",\"849\":\"82#地理位置-api-不能使用\",\"850\":\"82#获取地理位置\",\"851\":\"82#获取地区-地址-经纬度-等信息【调用腾讯地图-选择地点】\",\"852\":\"82#获取经纬度【获取的是当前位置】\",\"853\":\"82#根据经纬度解析出对应的地理位置\",\"854\":\"82#打开分享图片弹窗-可以将图片发送给朋友、收藏或下载\",\"855\":\"82#分享一个-类似于推文的\",\"856\":\"82#调用相机或本机相册的api\",\"857\":\"82#消息提示框\",\"858\":\"82#弹出框-uni-ui\",\"859\":\"82#弹出框-代码式\",\"860\":\"82#动态修改-uniapp-的导航栏标题\",\"861\":\"82#是否下拉刷新\",\"862\":\"82#添加右上角的发送给朋友\",\"863\":\"82#长按震动\",\"864\":\"82#图片点击放大\",\"865\":\"83\",\"866\":\"83#图片可以生成海报的插件\",\"867\":\"83#头像上传裁切剪切组件\",\"868\":\"83#下拉列表框组件\",\"869\":\"83#组合框组件-e-select-dcloud-插件市场\",\"870\":\"83#表情-emoji-表情库-dcloud-插件市场\",\"871\":\"83#省市区三级联动-省、市、区、街道-四级联动-三级联动-dcloud-插件市场\",\"872\":\"83#图表库-蚂蚁图表-antv-f2-dcloud-插件市场\",\"873\":\"84\",\"874\":\"84#概念\",\"875\":\"84#npm-i-vuex-save\",\"876\":\"84#引入vuex并访问存储在vuex中的数据\",\"877\":\"84#访问state-中的数据\",\"878\":\"84#mutations改变state-中的数据\",\"879\":\"84#原始方法调用\",\"880\":\"84#辅助函数\",\"881\":\"84#action和-mutations-模块化存储调用mapstate、dispatch\",\"882\":\"85\",\"883\":\"85#判断数组字符串是否全等\",\"884\":\"85#_1-时间戳转化为yyyy-mm-dd-hh-mm-ss\",\"885\":\"85#_2-生成六位随机整数\",\"886\":\"85#_3-使用正则判断\",\"887\":\"85#手机号格式正不正确\",\"888\":\"85#身份证号正不正确\",\"889\":\"85#_4-js去除数组对象中的重复对象\",\"890\":\"85#_1、根据数组对象中的id作比较-id相同的去掉。这种方法只会保留-id-第一个出现的数组\",\"891\":\"85#_2、数组对象完全相同的去除\",\"892\":\"85#_5-对象数组去重【现锋】\",\"893\":\"85#_6-对象数组中的-根据单一对象值来去重【现锋】\",\"894\":\"85#_7-用于多个字符串-变成用逗号分割的多个字符串\",\"895\":\"85#_8-数组转为-逗号-分割的-的字符串\",\"896\":\"86\",\"897\":\"86#_1-js数组操作\",\"898\":\"86#【删】\",\"899\":\"86#【map】方法遍历数组\",\"900\":\"86#_2-正则\",\"901\":\"86#_3-object-转换为-json-数据-json-stringify-obj对象数组\",\"902\":\"86#json-stringify-this-sign-time\",\"903\":\"86#json-parse-json-stringify-obj对象数组\",\"904\":\"86#_4-强制刷新视图层-this-forceupdate\",\"905\":\"87\",\"906\":\"87#toast消息提示\",\"907\":\"87#页面加载\",\"908\":\"88\",\"909\":\"88#_1-创建uni-app\",\"910\":\"88#_2-下载vant组件\",\"911\":\"88#_3-引用vant组件\",\"912\":\"88#_3-1-首先在app-vue文件内添加\",\"913\":\"88#_3-2-在pages-json文件内添加组件引用\",\"914\":\"88#_4-使用组件\",\"915\":\"88#_5-重新编译【一定要重新编译】\",\"916\":\"89\",\"917\":\"90\",\"918\":\"90#修改头像和昵称\",\"919\":\"91\",\"920\":\"91#_1-利用-style写多个多元表达式\",\"921\":\"91#商品列表的单选和全选的实现-多选框\",\"922\":\"92\",\"923\":\"92#_1-单选按钮组件封装\",\"924\":\"92#_2-多选按钮组件封装\",\"925\":\"92#_3-时间组件封装\",\"926\":\"92#_4-获取验证码\",\"927\":\"93\",\"928\":\"93#后台数据库字段创建\",\"929\":\"93#渲染列表由用户决定有多少个的情况\",\"930\":\"93#拍照图片上传到小程序中\",\"931\":\"93#保存图片到相册逻辑\",\"932\":\"93#uni-downloadfile-object\",\"933\":\"93#uni-saveimagetophotosalbum-object\",\"934\":\"93#组合框-下拉框-三级联动-等等等等\",\"935\":\"93#嵌套格式全部使用这种格式书写\",\"936\":\"93#登录逻辑\",\"937\":\"93#上移、下移逻辑\",\"938\":\"94\",\"939\":\"94#调用接口\",\"940\":\"94#_1-调用接口的方法\",\"941\":\"94#_2-跳转页面时传值\",\"942\":\"95\",\"943\":\"96\",\"944\":\"97\",\"945\":\"97#main-js全局注册\",\"946\":\"97#页面引用\",\"947\":\"97#data-参数\",\"948\":\"97#组件代码\",\"949\":\"97#scrool-to-js\",\"950\":\"98\",\"951\":\"98#父组件\",\"952\":\"98#子组件\",\"953\":\"99\",\"954\":\"100\",\"955\":\"100#git-代码管理\",\"956\":\"100#提交的类型\",\"957\":\"100#提交格式\",\"958\":\"100#git-分支\",\"959\":\"100#commit-信息\",\"960\":\"100#开发提交步骤\",\"961\":\"101\",\"962\":\"101#样式相关\",\"963\":\"101#typescript-逻辑相关\",\"964\":\"101#分支命名规范\",\"965\":\"102\",\"966\":\"102#项目组织规范\",\"967\":\"102#通用的项目组织规范\",\"968\":\"103\",\"969\":\"103#tip\",\"970\":\"103#格式化工具-pnpm-lint\",\"971\":\"103#格式化规范\",\"972\":\"103#提交规范工具-pnpm-gitcz\",\"973\":\"103#安装-commitlint-工具和规则集-【使用袁果锅生态可省略此步骤】\",\"974\":\"103#项目根目录新建文件-commitlint-config-cjs\",\"975\":\"103#安装-husky-用于git-拦截\",\"976\":\"103#增加国内镜像\",\"977\":\"103#以下为全文件配置-成功可忽略\",\"978\":\"103#项目根目录-editorconfig\",\"979\":\"103#生成日志\",\"980\":\"104\"},\"fieldIds\":{\"h\":0,\"t\":1,\"c\":2},\"fieldLength\":{\"0\":[1,8],\"1\":[1,16],\"2\":[1,6],\"3\":[1],\"4\":[5],\"5\":[3],\"6\":[1],\"7\":[1],\"8\":[4],\"9\":[2],\"10\":[1],\"11\":[2],\"12\":[2,8],\"13\":[2,12],\"14\":[1],\"15\":[3],\"16\":[1],\"17\":[1],\"18\":[1],\"19\":[2],\"20\":[1],\"21\":[5],\"22\":[4],\"23\":[4],\"24\":[3,10],\"25\":[5],\"26\":[2],\"27\":[3,38],\"28\":[8],\"29\":[5,29],\"30\":[3,34],\"31\":[2,39],\"32\":[4,43],\"33\":[2],\"34\":[4,35],\"35\":[3],\"36\":[2],\"37\":[3,145],\"38\":[3,20],\"39\":[2,64],\"40\":[2],\"41\":[2],\"42\":[3,60],\"43\":[3,41],\"44\":[1,43],\"45\":[2],\"46\":[2,45],\"47\":[2,36],\"48\":[2,63],\"49\":[2,41],\"50\":[2,51],\"51\":[2,48],\"52\":[2,33],\"53\":[1],\"54\":[2,7],\"55\":[3,167],\"56\":[1,106],\"57\":[1],\"58\":[1],\"59\":[1,45],\"60\":[1,20],\"61\":[2],\"62\":[2,27],\"63\":[4,21],\"64\":[1,41],\"65\":[2],\"66\":[1,20],\"67\":[1,56],\"68\":[2],\"69\":[2,4],\"70\":[1,14],\"71\":[1,11],\"72\":[1,42],\"73\":[2,30],\"74\":[1,37],\"75\":[3,41],\"76\":[1,32],\"77\":[3,32],\"78\":[4,33],\"79\":[1,59],\"80\":[2,4],\"81\":[4,52],\"82\":[1],\"83\":[3],\"84\":[2],\"85\":[4],\"86\":[1,20],\"87\":[2,27],\"88\":[1],\"89\":[4,13],\"90\":[3],\"91\":[2,49],\"92\":[5,32],\"93\":[1],\"94\":[2,47],\"95\":[3,30],\"96\":[3,21],\"97\":[2],\"98\":[1,73],\"99\":[2,37],\"100\":[1,50],\"101\":[1,4],\"102\":[1,43],\"103\":[1,29],\"104\":[1,141],\"105\":[3,21],\"106\":[3,51],\"107\":[1,78],\"108\":[1,110],\"109\":[1,87],\"110\":[3,17],\"111\":[1,53],\"112\":[1,44],\"113\":[4,53],\"114\":[2,18],\"115\":[1,63],\"116\":[1,87],\"117\":[3,20],\"118\":[4,52],\"119\":[1,266],\"120\":[3,159],\"121\":[4,208],\"122\":[1,14],\"123\":[1,3],\"124\":[1,16],\"125\":[1,144],\"126\":[2,89],\"127\":[1,12],\"128\":[1,39],\"129\":[1,16],\"130\":[1,23],\"131\":[1,25],\"132\":[1,22],\"133\":[1,13],\"134\":[1,6],\"135\":[1,47],\"136\":[1,35],\"137\":[1,31],\"138\":[1,6],\"139\":[1,35],\"140\":[1,53],\"141\":[1,58],\"142\":[1,80],\"143\":[1,96],\"144\":[1,66],\"145\":[1,132],\"146\":[1],\"147\":[1,16],\"148\":[3,1],\"149\":[1,22],\"150\":[1,3],\"151\":[1,62],\"152\":[3],\"153\":[1,12],\"154\":[1,2],\"155\":[1,21],\"156\":[3,17],\"157\":[1,23],\"158\":[1,84],\"159\":[3,28],\"160\":[1,48],\"161\":[1,8],\"162\":[1,25],\"163\":[1,3],\"164\":[1,16],\"165\":[1,14],\"166\":[1,8],\"167\":[1],\"168\":[1,38],\"169\":[1,2],\"170\":[1,40],\"171\":[1,5],\"172\":[1,4],\"173\":[1,49],\"174\":[1,17],\"175\":[1,31],\"176\":[1,52],\"177\":[1,36],\"178\":[1,46],\"179\":[1,32],\"180\":[2,42],\"181\":[1],\"182\":[1,4],\"183\":[1,8],\"184\":[1,9],\"185\":[1,14],\"186\":[1,15],\"187\":[1,35],\"188\":[1,40],\"189\":[1,32],\"190\":[3,11],\"191\":[1,6],\"192\":[1,26],\"193\":[1,29],\"194\":[1,41],\"195\":[1,21],\"196\":[1,34],\"197\":[1,51],\"198\":[1,17],\"199\":[1,52],\"200\":[1,22],\"201\":[1,45],\"202\":[1,18],\"203\":[1,14],\"204\":[1,27],\"205\":[1,29],\"206\":[1],\"207\":[1,19],\"208\":[1,34],\"209\":[1,28],\"210\":[1,76],\"211\":[1,26],\"212\":[1,37],\"213\":[2,38],\"214\":[1,27],\"215\":[1,31],\"216\":[1,22],\"217\":[1,48],\"218\":[1,58],\"219\":[1,44],\"220\":[1],\"221\":[1,15],\"222\":[1,39],\"223\":[2,27],\"224\":[2,56],\"225\":[1,46],\"226\":[2,24],\"227\":[1,3],\"228\":[1,35],\"229\":[2],\"230\":[1,43],\"231\":[1,57],\"232\":[2,59],\"233\":[2,15],\"234\":[1,40],\"235\":[1,64],\"236\":[3,22],\"237\":[1,28],\"238\":[1,18],\"239\":[1,38],\"240\":[1,48],\"241\":[1,269],\"242\":[2],\"243\":[1,10],\"244\":[1,15],\"245\":[1],\"246\":[2,58],\"247\":[2,25],\"248\":[1,35],\"249\":[1,20],\"250\":[1,23],\"251\":[3,53],\"252\":[1,124],\"253\":[2,36],\"254\":[1,9],\"255\":[2,35],\"256\":[3,60],\"257\":[2,18],\"258\":[3,9],\"259\":[3,43],\"260\":[2],\"261\":[3],\"262\":[2],\"263\":[6,26],\"264\":[3,21],\"265\":[3],\"266\":[5],\"267\":[5],\"268\":[3,8],\"269\":[4],\"270\":[3,6],\"271\":[2],\"272\":[1,50],\"273\":[1],\"274\":[1,19],\"275\":[1,3],\"276\":[1,3],\"277\":[1,25],\"278\":[1],\"279\":[1,6],\"280\":[1,73],\"281\":[1,16],\"282\":[2,17],\"283\":[3],\"284\":[4],\"285\":[1,17],\"286\":[1,101],\"287\":[1,19],\"288\":[2],\"289\":[4,19],\"290\":[4,16],\"291\":[2,229],\"292\":[1],\"293\":[3,73],\"294\":[1],\"295\":[2,21],\"296\":[2,9],\"297\":[2,9],\"298\":[2,7],\"299\":[3,9],\"300\":[3,19],\"301\":[2,3],\"302\":[2,11],\"303\":[2,11],\"304\":[2,16],\"305\":[2,8],\"306\":[3,13],\"307\":[8,24],\"308\":[2,75],\"309\":[2,4],\"310\":[2,14],\"311\":[2,43],\"312\":[3,43],\"313\":[4,15],\"314\":[3,10],\"315\":[3,12],\"316\":[3,3],\"317\":[2,6],\"318\":[3,7],\"319\":[2,6],\"320\":[2,48],\"321\":[5,33],\"322\":[4,7],\"323\":[4,18],\"324\":[3,74],\"325\":[4,12],\"326\":[3,17],\"327\":[3,9],\"328\":[2],\"329\":[5,10],\"330\":[5,7],\"331\":[4,11],\"332\":[2,43],\"333\":[5,68],\"334\":[1,73],\"335\":[2],\"336\":[1,17],\"337\":[4],\"338\":[2],\"339\":[3,79],\"340\":[2,6],\"341\":[7,7],\"342\":[4,19],\"343\":[3,43],\"344\":[3,31],\"345\":[1],\"346\":[2,12],\"347\":[2,11],\"348\":[6],\"349\":[1,30],\"350\":[2],\"351\":[1,53],\"352\":[1,43],\"353\":[2,24],\"354\":[2,30],\"355\":[2],\"356\":[3,17],\"357\":[1],\"358\":[3,33],\"359\":[2,32],\"360\":[1],\"361\":[1,50],\"362\":[1,45],\"363\":[1,34],\"364\":[4],\"365\":[2,31],\"366\":[3,26],\"367\":[2],\"368\":[1],\"369\":[2],\"370\":[3],\"371\":[3,6],\"372\":[4,8],\"373\":[5,23],\"374\":[5,115],\"375\":[2,116],\"376\":[3,60],\"377\":[1,64],\"378\":[4,22],\"379\":[1],\"380\":[2,3],\"381\":[2,3],\"382\":[2,19],\"383\":[1],\"384\":[2,17],\"385\":[1,12],\"386\":[1],\"387\":[2],\"388\":[2,15],\"389\":[2,22],\"390\":[2,9],\"391\":[1],\"392\":[2,16],\"393\":[2,22],\"394\":[2,9],\"395\":[3],\"396\":[2,27],\"397\":[1,39],\"398\":[2,38],\"399\":[1],\"400\":[2,22],\"401\":[2,9],\"402\":[3],\"403\":[2,27],\"404\":[1,39],\"405\":[2,38],\"406\":[1],\"407\":[2],\"408\":[1,33],\"409\":[2],\"410\":[1,31],\"411\":[2],\"412\":[5,13],\"413\":[2,12],\"414\":[3,33],\"415\":[3,32],\"416\":[3,17],\"417\":[2],\"418\":[1,4],\"419\":[1,4],\"420\":[1,6],\"421\":[1,38],\"422\":[1,5],\"423\":[1,7],\"424\":[1,2],\"425\":[1,2],\"426\":[1,21],\"427\":[3,14],\"428\":[2,13],\"429\":[2,19],\"430\":[2,3],\"431\":[2,3],\"432\":[2,19],\"433\":[2],\"434\":[2,17],\"435\":[1,12],\"436\":[2],\"437\":[3,42],\"438\":[3,10],\"439\":[3,25],\"440\":[4,29],\"441\":[4,37],\"442\":[4,18],\"443\":[4,19],\"444\":[4,8],\"445\":[2],\"446\":[2],\"447\":[2],\"448\":[2],\"449\":[2,12],\"450\":[4],\"451\":[2,23],\"452\":[4],\"453\":[3,38],\"454\":[3,11],\"455\":[3,52],\"456\":[1],\"457\":[1],\"458\":[1,13],\"459\":[2],\"460\":[3,55],\"461\":[4,69],\"462\":[1,19],\"463\":[4,134],\"464\":[4,63],\"465\":[2],\"466\":[2,30],\"467\":[2],\"468\":[2,11],\"469\":[2,88],\"470\":[2,13],\"471\":[1,59],\"472\":[1],\"473\":[1,2],\"474\":[1,30],\"475\":[1,50],\"476\":[1,38],\"477\":[1,11],\"478\":[1,14],\"479\":[1,37],\"480\":[2,13],\"481\":[1,17],\"482\":[2,74],\"483\":[1,7],\"484\":[2,34],\"485\":[1,9],\"486\":[2,59],\"487\":[6,25],\"488\":[1,24],\"489\":[3,15],\"490\":[1,27],\"491\":[3,38],\"492\":[1,10],\"493\":[4,15],\"494\":[1,23],\"495\":[2,7],\"496\":[5,18],\"497\":[4,15],\"498\":[1,19],\"499\":[1,40],\"500\":[1,35],\"501\":[1,9],\"502\":[1,9],\"503\":[1,7],\"504\":[1,6],\"505\":[4,12],\"506\":[4,45],\"507\":[4,23],\"508\":[1,45],\"509\":[3,131],\"510\":[3,25],\"511\":[2],\"512\":[2,36],\"513\":[4,35],\"514\":[2,10],\"515\":[2],\"516\":[2,40],\"517\":[2,26],\"518\":[2,38],\"519\":[2,17],\"520\":[1,13],\"521\":[2,40],\"522\":[3,31],\"523\":[1],\"524\":[1],\"525\":[1,8],\"526\":[2],\"527\":[1],\"528\":[1],\"529\":[5],\"530\":[2,7],\"531\":[4,15],\"532\":[6],\"533\":[2,6],\"534\":[6,9],\"535\":[2],\"536\":[3,70],\"537\":[2,93],\"538\":[6,103],\"539\":[1,5],\"540\":[1,25],\"541\":[1,19],\"542\":[1],\"543\":[1,10],\"544\":[1,23],\"545\":[1],\"546\":[1,61],\"547\":[1,26],\"548\":[1,22],\"549\":[1,23],\"550\":[1,16],\"551\":[1,70],\"552\":[1,29],\"553\":[1,25],\"554\":[1,49],\"555\":[1,40],\"556\":[1,4],\"557\":[1,14],\"558\":[1,14],\"559\":[1,125],\"560\":[1,7],\"561\":[3],\"562\":[1],\"563\":[1,7],\"564\":[2,25],\"565\":[1],\"566\":[3,22],\"567\":[5,65],\"568\":[4,54],\"569\":[1],\"570\":[4,8],\"571\":[3],\"572\":[1],\"573\":[1,5],\"574\":[1,43],\"575\":[1],\"576\":[2],\"577\":[1],\"578\":[3,34],\"579\":[1,39],\"580\":[1,36],\"581\":[1,32],\"582\":[1,37],\"583\":[3],\"584\":[1,5],\"585\":[3,39],\"586\":[3,25],\"587\":[3,36],\"588\":[3,42],\"589\":[3,20],\"590\":[2,45],\"591\":[3,31],\"592\":[2],\"593\":[1,52],\"594\":[1],\"595\":[1,14],\"596\":[1,205],\"597\":[1],\"598\":[3,55],\"599\":[2,21],\"600\":[4,21],\"601\":[3,102],\"602\":[4,75],\"603\":[2,31],\"604\":[3,21],\"605\":[2,21],\"606\":[1],\"607\":[2,37],\"608\":[1,18],\"609\":[2,17],\"610\":[3,11],\"611\":[2,36],\"612\":[1,14],\"613\":[2,79],\"614\":[1,21],\"615\":[1,57],\"616\":[1,51],\"617\":[1,19],\"618\":[1,25],\"619\":[3,38],\"620\":[1,17],\"621\":[3],\"622\":[2,13