updated 合称bug修复
bug修复及单元测试
This commit is contained in:
1 parent
318e79bbae
commit
ea679adcb6
7 files changed
+56
-35
No files matched your search
Vendored
+2
-2
@@ -8,6 +8,6 @@
|
||||
* Released under the MIT License
|
||||
* https://github.com/mumuy/relationship
|
||||
*
|
||||
* Created on: 2023-01-03
|
||||
* Created on: 2023-01-04
|
||||
*/
|
||||
!function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>I});const x=[{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(\S+?)(什么|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(谁|什么|什么亲戚|啥亲戚|什么人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什么|啥)(意思|关系|亲戚关系|辈分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(谁|什么|什么亲戚|啥亲戚|什么人|什么辈分|啥辈分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];const d=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],m=[{exp:/^从表/,arr:["从父姑表","从父舅表","从父姨表","从母姑表","从母舅表","从母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻内外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^亲家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太远鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太远鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄来晜仍云耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孙/,arr:["$1侄$2孙"]},{exp:/^([姨姑])([曾玄外]*)孙/,arr:["$1甥$2孙"]},{exp:/([孙甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孙外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/祖$/,arr:["祖父"]},{exp:/嫂$/,arr:["兄妇"]},{exp:/女儿$/,arr:["女"]}],b={晜:"兄",哥:"兄",姐:"姊",侄:"姪",婿:"壻",祖父:"王父",祖母:"王母",弟媳:"弟妇",嫂:"兄妇",孙女婿:"孙婿",甥女婿:"甥婿",侄女婿:"侄Line truncated
|
||||
!function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>I});const x=[{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(\S+?)(什么|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(谁|什么|什么亲戚|啥亲戚|什么人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什么|啥)(意思|关系|亲戚关系|辈分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(谁|什么|什么亲戚|啥亲戚|什么人|什么辈分|啥辈分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];const d=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],m=[{exp:/^从表/,arr:["从父姑表","从父舅表","从父姨表","从母姑表","从母舅表","从母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻内外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^亲家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太远鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太远鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄来晜仍云耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孙/,arr:["$1侄$2孙"]},{exp:/^([姨姑])([曾玄外]*)孙/,arr:["$1甥$2孙"]},{exp:/([孙甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孙外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/祖$/,arr:["祖父"]},{exp:/嫂$/,arr:["兄妇"]},{exp:/女儿$/,arr:["女"]}],b={晜:"兄",哥:"兄",姐:"姊",侄:"姪",婿:"壻",祖父:"王父",祖母:"王母",弟媳:"弟妇",嫂:"兄妇",孙女婿:"孙婿",甥女婿:"甥婿",侄女婿:"侄Line truncated
|
||||
Vendored
+2
-2
@@ -8,6 +8,6 @@
|
||||
* Released under the MIT License
|
||||
* https://github.com/mumuy/relationship
|
||||
*
|
||||
* Created on: 2023-01-03
|
||||
* Created on: 2023-01-04
|
||||
*/
|
||||
!function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>I});const x=[{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(\S+?)(什麼|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(誰|什麼|什麼親戚|啥親戚|什麼人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(應該|得)?管(\S+?)叫(什麼|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|與)(\S+?)(之間)?是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)對於(\S+?)是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什麼|啥)(意思|關系|親戚關系|輩分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(什麼|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(誰|什麼|什麼親戚|啥親戚|什麼人|什麼輩分|啥輩分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];const d=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],m=[{exp:/^從表/,arr:["從父姑表","從父舅表","從父姨表","從母姑表","從母舅表","從母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻內外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^親家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太遠鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太遠鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄來晜仍雲耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孫/,arr:["$1侄$2孫"]},{exp:/^([姨姑])([曾玄外]*)孫/,arr:["$1甥$2孫"]},{exp:/([孫甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孫外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/祖$/,arr:["祖父"]},{exp:/嫂$/,arr:["兄婦"]},{exp:/女兒$/,arr:["女"]}],b={晜:"兄",哥:"兄",姐:"姊",侄:"姪",婿:"壻",祖父:"王父",祖母:"王母",弟媳:"弟婦",嫂:"兄婦",孫女婿:"孫婿",甥女婿:"甥婿",侄女婿:"侄Line truncated
|
||||
!function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>I});const x=[{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(\S+?)(什麼|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(誰|什麼|什麼親戚|啥親戚|什麼人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(應該|得)?管(\S+?)叫(什麼|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|與)(\S+?)(之間)?是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)對於(\S+?)是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什麼|啥)(意思|關系|親戚關系|輩分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(什麼|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(誰|什麼|什麼親戚|啥親戚|什麼人|什麼輩分|啥輩分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];const d=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],m=[{exp:/^從表/,arr:["從父姑表","從父舅表","從父姨表","從母姑表","從母舅表","從母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻內外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^親家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太遠鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太遠鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄來晜仍雲耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孫/,arr:["$1侄$2孫"]},{exp:/^([姨姑])([曾玄外]*)孫/,arr:["$1甥$2孫"]},{exp:/([孫甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孫外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/祖$/,arr:["祖父"]},{exp:/嫂$/,arr:["兄婦"]},{exp:/女兒$/,arr:["女"]}],b={晜:"兄",哥:"兄",姐:"姊",侄:"姪",婿:"壻",祖父:"王父",祖母:"王母",弟媳:"弟婦",嫂:"兄婦",孫女婿:"孫婿",甥女婿:"甥婿",侄女婿:"侄Line truncated
|
||||
@@ -17,10 +17,13 @@ export default {
|
||||
'h,m#s,w':['婆媳'],
|
||||
'[f|m],[f|m]#[s|d],[s|d]':['祖孙'],
|
||||
'f,xb#xb,[s|d]':['叔侄'],
|
||||
'f,xb,w#xb,[s|d]':['婶侄'],
|
||||
'f,[xs|xs,h]#xb,[s|d]':['姑侄'],
|
||||
'm,[xb|xb,w]#xs,[s|d]':['舅甥'],
|
||||
'm,[xs|xs,h]#xs,[s|d]':['姨甥'],
|
||||
'f,xb,w#h,xb,[s|d]':['婶侄'],
|
||||
'f,xs#xb,[s|d]':['姑侄'],
|
||||
'f,xs,h#w,xb,[s|d]':['姑侄'],
|
||||
'm,xb#xs,[s|d]':['舅甥'],
|
||||
'm,xb,w#h,xs,[s|d]':['舅甥'],
|
||||
'm,xs#xs,[s|d]':['姨甥'],
|
||||
'm,xs,h#w,xs,[s|d]':['姨甥'],
|
||||
'f,xb,s&o#f,xb,s&l':['堂兄弟'],
|
||||
'f,xb,s&o#f,xb,d&l':['堂兄妹'],
|
||||
'f,xb,d&o#f,xb,s&l':['堂姐弟'],
|
||||
|
||||
+40
-22
@@ -2,46 +2,64 @@
|
||||
var test = require('tape');
|
||||
var relationship = require('..');
|
||||
|
||||
test('relationship.js show to be tested', function (t) {
|
||||
// console.log('[test]',relationship({text:'舅妈',target:'二舅',type:'pair'}));
|
||||
// console.log('[test]',relationship({text:'姑姑',target:'叔叔',optimal:true}));
|
||||
|
||||
t.deepEqual(relationship({text:'儿子的爸爸的妈妈',sex:1}),['妈妈']);
|
||||
test('[call]', function (t) {
|
||||
t.deepEqual(relationship({text:'爸爸的哥哥的弟弟的儿子'}),['堂哥','堂弟','哥哥','弟弟','自己']);
|
||||
t.deepEqual(relationship({text:'爸爸的妹妹的女儿的老公'}),['姑表姐夫','姑表妹夫']);
|
||||
t.deepEqual(relationship({text:'表姐的哥哥',sex:1}),['姑表哥','舅表哥']);
|
||||
t.deepEqual(relationship({text:'表姐的妹妹',sex:1}),['姑表姐','姑表妹','舅表姐','舅表妹']);
|
||||
t.deepEqual(relationship({text:'弟弟的表哥',sex:1}),['姑表哥','姑表弟','舅表哥','舅表弟']);
|
||||
t.deepEqual(relationship({text:'姐姐的老公的姐姐的老公'}),['姊妹姻姊妹壻']);
|
||||
t.deepEqual(relationship({text:'哥哥的弟弟的爸爸的儿子',sex:1}),['哥哥','弟弟','自己']);
|
||||
t.deepEqual(relationship({text:'爱人',sex:1}),['老婆']);
|
||||
t.deepEqual(relationship({text:'爱人的爱人',sex:1}),['自己']);
|
||||
t.deepEqual(relationship({text:'老婆的爱人',sex:1}),['自己']);
|
||||
t.deepEqual(relationship({text:'老婆的老公',sex:1}),['自己']);
|
||||
t.deepEqual(relationship({text:'老婆的外孙的姥爷',sex:1}),['自己']);
|
||||
t.deepEqual(relationship({text:'表姐的哥哥',sex:1}),['姑表哥','舅表哥']);
|
||||
t.deepEqual(relationship({text:'表姐的妹妹',sex:1}),['姑表姐','姑表妹','舅表姐','舅表妹']);
|
||||
t.deepEqual(relationship({text:'弟弟的表哥',sex:1}),['姑表哥','姑表弟','舅表哥','舅表弟']);
|
||||
t.deepEqual(relationship({text:'老公的老婆的儿子的爸爸',sex:0}),['老公']);
|
||||
t.deepEqual(relationship({text:'哥哥的弟弟的爸爸的儿子',sex:1}),['哥哥','弟弟','自己']);
|
||||
t.deepEqual(relationship({text:'爸爸的舅舅',sex:0,reverse:true}),['甥孙女']);
|
||||
t.deepEqual(relationship({text:'舅爷爷',type:'chain'}),['爸爸的妈妈的兄弟']);
|
||||
t.deepEqual(relationship({text:'堂兄弟的孩子',sex:1}),['堂侄','堂侄女']);
|
||||
t.deepEqual(relationship({text:'儿子的爸爸的妈妈',sex:1}),['妈妈']);
|
||||
t.deepEqual(relationship({text:'岳母的配偶的孩子的爸爸'}),['岳父']);
|
||||
t.end();
|
||||
});
|
||||
test('[target]', function (t) {
|
||||
t.deepEqual(relationship({text:'我',target:'爸爸'}),['儿子','女儿']);
|
||||
t.deepEqual(relationship({text:'老公的父母',target:'孩子'}),['爷爷','奶奶']);
|
||||
t.deepEqual(relationship({text:'爱人',target:'娘家侄子'}),['姑丈']);
|
||||
t.end();
|
||||
});
|
||||
test('[reverse]', function (t) {
|
||||
t.deepEqual(relationship({text:'爸爸的舅舅',sex:0,reverse:true}),['甥孙女']);
|
||||
t.deepEqual(relationship({text:'岳母',target:'女儿',reverse:true}),['外孙女']);
|
||||
t.deepEqual(relationship({text:'姑妈',target:'舅妈',reverse:true}),['兄弟眷兄弟妇']);
|
||||
t.deepEqual(relationship({text:'舅妈',target:'女儿',reverse:true}),['姑甥孙女','姑甥外孙女']);
|
||||
t.deepEqual(relationship({text:'老公的父母',target:'孩子'}),['爷爷','奶奶']);
|
||||
t.deepEqual(relationship({text:'爸爸的哥哥的弟弟的儿子'}),['堂哥','堂弟','哥哥','弟弟','自己']);
|
||||
t.deepEqual(relationship({text:'外婆',target:'女婿',reverse:true}),['外曾孙女婿','外曾外孙女婿']);
|
||||
t.deepEqual(relationship({text:'我',target:'爸爸'}),['儿子','女儿']);
|
||||
t.deepEqual(relationship({text:'爱人',target:'娘家侄子'}),['姑丈']);
|
||||
t.deepEqual(relationship({text:'岳母的配偶的孩子的爸爸'}),['岳父']);
|
||||
t.deepEqual(relationship({text:'姐姐的老公的姐姐的老公'}),['姊妹姻姊妹壻']);
|
||||
t.end();
|
||||
});
|
||||
test('[type:chain]', function (t) {
|
||||
t.deepEqual(relationship({text:'舅爷爷',type:'chain'}),['爸爸的妈妈的兄弟']);
|
||||
t.deepEqual(relationship({text:'妻儿',type:'chain'}),['老婆','儿子','女儿']);
|
||||
t.deepEqual(relationship({text:'父母',target:'老公',type:'chain'}),['老婆的爸爸','老婆的妈妈']);
|
||||
t.end();
|
||||
});
|
||||
test('[type:pair]', function (t) {
|
||||
t.deepEqual(relationship({text:'舅妈',target:'哥哥',type:'pair'}),['舅甥']);
|
||||
t.deepEqual(relationship({text:'舅妈',target:'外婆',type:'pair'}),['婆媳']);
|
||||
t.deepEqual(relationship({text:'舅妈',target:'二舅',type:'pair'}),['叔嫂','夫妻']);
|
||||
t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair'}),['叔侄','父子']);
|
||||
t.end();
|
||||
});
|
||||
test('[age]', function (t) {
|
||||
t.deepEqual(relationship({text:'妈妈的二哥'}),['二舅']);
|
||||
t.deepEqual(relationship({text:'爸爸的二哥'}),['二伯']);
|
||||
t.deepEqual(relationship({text:'二舅妈',target:'二舅',type:'pair'}),['夫妻']);
|
||||
t.deepEqual(relationship({text:'二舅妈',target:'大舅',type:'pair'}),['叔嫂']);
|
||||
t.deepEqual(relationship({text:'舅妈',target:'二舅',type:'pair'}),['叔嫂','夫妻']);
|
||||
t.deepEqual(relationship({text:'二舅妈',target:'三舅'}),['二嫂']);
|
||||
t.deepEqual(relationship({text:'爸爸的二爸'}),['二爷爷']);
|
||||
t.deepEqual(relationship({text:'姑姑',target:'叔叔',optimal:true}),['姐姐','妹妹']);
|
||||
t.deepEqual(relationship({text:'大舅',target:'二舅的儿子'}),['伯父']);
|
||||
t.deepEqual(relationship({text:'堂哥',target:'叔叔',type:'pair'}),['叔侄','父子']);
|
||||
t.deepEqual(relationship({text:'爸爸的妹妹的女儿的老公'}),['姑表姐夫','姑表妹夫']);
|
||||
t.deepEqual(relationship({text:'二舅妈',target:'二舅',type:'pair'}),['夫妻']);
|
||||
t.deepEqual(relationship({text:'二舅妈',target:'大舅',type:'pair'}),['叔嫂']);
|
||||
t.end();
|
||||
});
|
||||
test('[expression]', function (t) {
|
||||
t.deepEqual(relationship('外婆和奶奶之间是什么关系?'),['儿女亲家']);
|
||||
t.deepEqual(relationship('妈妈应该如何称呼姑姑'),['姑子']);
|
||||
t.deepEqual(relationship('姑奶奶是什么关系'),['爸爸的爸爸的姐妹']);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerpolicy&&(i.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?i.credentials="include":r.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function _s(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r<s.length;r++)n[s[r]]=!0;return t?r=>!!n[r.toLowerCase()]:r=>!!n[r]}const Ji="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Zi=_s(Ji);function Nr(e){return!!e||e===""}function bs(e){if(H(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=de(s)?eo(s):bs(s);if(r)for(const i in r)t[i]=r[i]}return t}else{if(de(e))return e;if(ae(e))return e}}const Gi=/;(?![^(]*\))/g,Xi=/:(.+)/;function eo(e){const t={};return e.split(Gi).forEach(n=>{if(n){const s=n.split(Xi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Rn(e){let t="";if(de(e))t=e;else if(H(e))for(let n=0;n<e.length;n++){const s=Rn(e[n]);s&&(t+=s+" ")}else if(ae(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Pt=e=>de(e)?e:e==null?"":H(e)||ae(e)&&(e.toString===$r||!j(e.toString))?JSON.stringify(e,Lr,2):String(e),Lr=(e,t)=>t&&t.__v_isRef?Lr(e,t.value):Ot(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:Br(t)?{[`Set(${t.size})`]:[...t.values()]}:ae(t)&&!H(t)&&!jr(t)?String(t):t,X={},Tt=[],Le=()=>{},to=()=>!1,no=/^on[^a-z]/,In=e=>no.test(e),vs=e=>e.startsWith("onUpdate:"),be=Object.assign,ys=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},so=Object.prototype.hasOwnProperty,z=(e,t)=>so.call(e,t),H=Array.isArray,Ot=e=>Pn(e)==="[object Map]",Br=e=>Pn(e)==="[object Set]",j=e=>typeof e=="function",de=e=>typeof e=="string",xs=e=>typeof e=="symbol",ae=e=>e!==null&&typeof e=="object",Hr=e=>ae(e)&&j(e.then)&&j(e.catch),$r=Object.prototype.toString,Pn=e=>$r.call(e),ro=e=>Pn(e).slice(8,-1),jr=e=>Pn(e)==="[object Object]",Cs=e=>de(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hn=_s(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Tn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},io=/-(\w)/g,ze=Tn(e=>e.replace(io,(t,n)=>n?n.toUpperCase():"")),oo=/\B([A-Z])/g,Nt=Tn(e=>e.replace(oo,"-$1").toLowerCase()),On=Tn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Kn=Tn(e=>e?`on${On(e)}`:""),Qt=(e,t)=>!Object.is(e,t),pn=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},yn=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Jn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Ks;const lo=()=>Ks||(Ks=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let De;class co{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&De&&(this.parent=De,this.index=(De.scopes||(De.scopes=[])).push(this)-1)}run(t){if(this.active){const n=De;try{return De=this,t()}finally{De=n}}}on(){De=this}off(){De=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.active=!1}}}function uo(e,t=De){t&&t.active&&t.effects.push(e)}const ws=e=>{const t=new Set(e);return t.w=0,t.n=0,t},Ur=e=>(e.w&it)>0,Dr=e=>(e.n&it)>0,ao=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=it},fo=e=>{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s<t.length;s++){const r=t[s];Ur(r)&&!Dr(r)?r.delete(e):t[n++]=r,r.w&=~it,r.n&=~it}t.length=n}},Zn=new WeakMap;let Ut=0,it=1;const Gn=30;let Fe;const pt=Symbol(""),Xn=Symbol("");class Es{constructor(t,n=null,s){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,uo(this,s)}run(){if(!this.active)return this.fn();let t=Fe,n=nt;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=Fe,Fe=this,nt=!0,it=1<<++Ut,Ut<=Gn?ao(this):zs(this),this.fn()}finally{Ut<=Gn&&fo(this),it=1<<--Ut,Fe=this.parent,nt=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){Fe===this?this.deferStop=!0:this.active&&(zs(this),this.onStop&&this.onStop(),this.active=!1)}}function zs(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let nt=!0;const Kr=[];function Lt(){Kr.push(nt),nt=!1}function Bt(){const e=Kr.pop();nt=e===void 0?!0:e}function Ae(e,t,n){if(nt&&Fe){let s=Zn.get(e);s||Zn.set(e,s=new Map);letLine truncated
|
||||
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerpolicy&&(i.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?i.credentials="include":r.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function _s(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r<s.length;r++)n[s[r]]=!0;return t?r=>!!n[r.toLowerCase()]:r=>!!n[r]}const Ji="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Zi=_s(Ji);function Nr(e){return!!e||e===""}function bs(e){if(H(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=de(s)?eo(s):bs(s);if(r)for(const i in r)t[i]=r[i]}return t}else{if(de(e))return e;if(ae(e))return e}}const Gi=/;(?![^(]*\))/g,Xi=/:(.+)/;function eo(e){const t={};return e.split(Gi).forEach(n=>{if(n){const s=n.split(Xi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Rn(e){let t="";if(de(e))t=e;else if(H(e))for(let n=0;n<e.length;n++){const s=Rn(e[n]);s&&(t+=s+" ")}else if(ae(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Pt=e=>de(e)?e:e==null?"":H(e)||ae(e)&&(e.toString===$r||!j(e.toString))?JSON.stringify(e,Lr,2):String(e),Lr=(e,t)=>t&&t.__v_isRef?Lr(e,t.value):Ot(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:Br(t)?{[`Set(${t.size})`]:[...t.values()]}:ae(t)&&!H(t)&&!jr(t)?String(t):t,X={},Tt=[],Le=()=>{},to=()=>!1,no=/^on[^a-z]/,In=e=>no.test(e),vs=e=>e.startsWith("onUpdate:"),be=Object.assign,ys=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},so=Object.prototype.hasOwnProperty,z=(e,t)=>so.call(e,t),H=Array.isArray,Ot=e=>Pn(e)==="[object Map]",Br=e=>Pn(e)==="[object Set]",j=e=>typeof e=="function",de=e=>typeof e=="string",xs=e=>typeof e=="symbol",ae=e=>e!==null&&typeof e=="object",Hr=e=>ae(e)&&j(e.then)&&j(e.catch),$r=Object.prototype.toString,Pn=e=>$r.call(e),ro=e=>Pn(e).slice(8,-1),jr=e=>Pn(e)==="[object Object]",ws=e=>de(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hn=_s(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Tn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},io=/-(\w)/g,ze=Tn(e=>e.replace(io,(t,n)=>n?n.toUpperCase():"")),oo=/\B([A-Z])/g,Nt=Tn(e=>e.replace(oo,"-$1").toLowerCase()),On=Tn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Kn=Tn(e=>e?`on${On(e)}`:""),Qt=(e,t)=>!Object.is(e,t),pn=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},yn=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Jn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Ks;const lo=()=>Ks||(Ks=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let De;class co{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&De&&(this.parent=De,this.index=(De.scopes||(De.scopes=[])).push(this)-1)}run(t){if(this.active){const n=De;try{return De=this,t()}finally{De=n}}}on(){De=this}off(){De=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.active=!1}}}function uo(e,t=De){t&&t.active&&t.effects.push(e)}const Cs=e=>{const t=new Set(e);return t.w=0,t.n=0,t},Ur=e=>(e.w&it)>0,Dr=e=>(e.n&it)>0,ao=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=it},fo=e=>{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s<t.length;s++){const r=t[s];Ur(r)&&!Dr(r)?r.delete(e):t[n++]=r,r.w&=~it,r.n&=~it}t.length=n}},Zn=new WeakMap;let Ut=0,it=1;const Gn=30;let Fe;const pt=Symbol(""),Xn=Symbol("");class Es{constructor(t,n=null,s){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,uo(this,s)}run(){if(!this.active)return this.fn();let t=Fe,n=nt;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=Fe,Fe=this,nt=!0,it=1<<++Ut,Ut<=Gn?ao(this):zs(this),this.fn()}finally{Ut<=Gn&&fo(this),it=1<<--Ut,Fe=this.parent,nt=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){Fe===this?this.deferStop=!0:this.active&&(zs(this),this.onStop&&this.onStop(),this.active=!1)}}function zs(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let nt=!0;const Kr=[];function Lt(){Kr.push(nt),nt=!1}function Bt(){const e=Kr.pop();nt=e===void 0?!0:e}function Ae(e,t,n){if(nt&&Fe){let s=Zn.get(e);s||Zn.set(e,s=new Map);letLine truncated
|
||||
* vue-router v4.1.4
|
||||
* (c) 2022 Eduardo San Martin Morote
|
||||
* @license MIT
|
||||
*/const It=typeof window<"u";function xc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Y=Object.assign;function Wn(e,t){const n={};for(const s in t){const r=t[s];n[s]=He(r)?r.map(e):e(r)}return n}const Vt=()=>{},He=Array.isArray,Cc=/\/$/,wc=e=>e.replace(Cc,"");function Qn(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return l<c&&l>=0&&(c=-1),c>-1&&(s=t.slice(0,c),i=t.slice(c+1,l>-1?l:t.length),r=e(i)),l>-1&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=Ic(s!=null?s:t,n),{fullPath:s+(i&&"?")+i+o,path:s,query:r,hash:o}}function Ec(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function vr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ac(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Mt(t.matched[s],n.matched[r])&&Bi(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Mt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Bi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Rc(e[n],t[n]))return!1;return!0}function Rc(e,t){return He(e)?yr(e,t):He(t)?yr(t,e):e===t}function yr(e,t){return He(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Ic(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/");let r=n.length-1,i,o;for(i=0;i<s.length;i++)if(o=s[i],o!==".")if(o==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(i-(i===s.length?1:0)).join("/")}var nn;(function(e){e.pop="pop",e.push="push"})(nn||(nn={}));var Wt;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Wt||(Wt={}));function Pc(e){if(!e)if(It){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),wc(e)}const Tc=/^[^#]+#/;function Oc(e,t){return e.replace(Tc,"#")+t}function kc(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const jn=()=>({left:window.pageXOffset,top:window.pageYOffset});function Sc(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=kc(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function xr(e,t){return(history.state?history.state.position-t:-1)+e}const ps=new Map;function Mc(e,t){ps.set(e,t)}function Fc(e){const t=ps.get(e);return ps.delete(e),t}let Nc=()=>location.protocol+"//"+location.host;function Hi(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let l=r.includes(e.slice(i))?e.slice(i).length:1,c=r.slice(l);return c[0]!=="/"&&(c="/"+c),vr(c,"")}return vr(n,e)+s+r}function Lc(e,t,n,s){let r=[],i=[],o=null;const l=({state:p})=>{const y=Hi(e,location),I=n.value,M=t.value;let T=0;if(p){if(n.value=y,t.value=p,o&&o===I){o=null;return}T=M?p.position-M.position:0}else s(y);r.forEach(P=>{P(n.value,I,{delta:T,type:nn.pop,direction:T?T>0?Wt.forward:Wt.back:Wt.unknown})})};function c(){o=n.value}function f(p){r.push(p);const y=()=>{const I=r.indexOf(p);I>-1&&r.splice(I,1)};return i.push(y),y}function a(){const{history:p}=window;!p.state||p.replaceState(Y({},p.state,{scroll:jn()}),"")}function h(){for(const p of i)p();i=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",a)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",a),{pauseListeners:c,listen:f,destroy:h}}function Cr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?jn():null}}function Bc(e){const{history:t,location:n}=window,s={value:Hi(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,f,a){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Nc()+e+c;try{t[a?"replaceState":"pushState"](f,"",p),r.value=f}catch(y){console.error(y),n[a?"replace":"assign"](p)}}function o(c,f){const a=Y({},t.state,Cr(r.value.back,c,r.value.forward,!0),f,{position:r.value.position});i(c,a,!0),s.value=c}function l(c,f){const a=Y({},r.value,t.state,{forward:c,scroll:jn()});i(a.current,a,!0);const h=Y({},Cr(s.value,c,null),{position:a.position+1},f);i(c,h,!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Hc(e){e=Pc(e);const t=Bc(e),n=Lc(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=Y({location:"",base:e,go:s,createHref:Oc.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function $c(e){return e=lLine truncated
|
||||
*/const It=typeof window<"u";function xc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Y=Object.assign;function Wn(e,t){const n={};for(const s in t){const r=t[s];n[s]=He(r)?r.map(e):e(r)}return n}const Vt=()=>{},He=Array.isArray,wc=/\/$/,Cc=e=>e.replace(wc,"");function Qn(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return l<c&&l>=0&&(c=-1),c>-1&&(s=t.slice(0,c),i=t.slice(c+1,l>-1?l:t.length),r=e(i)),l>-1&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=Ic(s!=null?s:t,n),{fullPath:s+(i&&"?")+i+o,path:s,query:r,hash:o}}function Ec(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function vr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ac(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Mt(t.matched[s],n.matched[r])&&Bi(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Mt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Bi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Rc(e[n],t[n]))return!1;return!0}function Rc(e,t){return He(e)?yr(e,t):He(t)?yr(t,e):e===t}function yr(e,t){return He(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Ic(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/");let r=n.length-1,i,o;for(i=0;i<s.length;i++)if(o=s[i],o!==".")if(o==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(i-(i===s.length?1:0)).join("/")}var nn;(function(e){e.pop="pop",e.push="push"})(nn||(nn={}));var Wt;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Wt||(Wt={}));function Pc(e){if(!e)if(It){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Cc(e)}const Tc=/^[^#]+#/;function Oc(e,t){return e.replace(Tc,"#")+t}function kc(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const jn=()=>({left:window.pageXOffset,top:window.pageYOffset});function Sc(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=kc(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function xr(e,t){return(history.state?history.state.position-t:-1)+e}const ps=new Map;function Mc(e,t){ps.set(e,t)}function Fc(e){const t=ps.get(e);return ps.delete(e),t}let Nc=()=>location.protocol+"//"+location.host;function Hi(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let l=r.includes(e.slice(i))?e.slice(i).length:1,c=r.slice(l);return c[0]!=="/"&&(c="/"+c),vr(c,"")}return vr(n,e)+s+r}function Lc(e,t,n,s){let r=[],i=[],o=null;const l=({state:p})=>{const y=Hi(e,location),I=n.value,M=t.value;let T=0;if(p){if(n.value=y,t.value=p,o&&o===I){o=null;return}T=M?p.position-M.position:0}else s(y);r.forEach(P=>{P(n.value,I,{delta:T,type:nn.pop,direction:T?T>0?Wt.forward:Wt.back:Wt.unknown})})};function c(){o=n.value}function f(p){r.push(p);const y=()=>{const I=r.indexOf(p);I>-1&&r.splice(I,1)};return i.push(y),y}function a(){const{history:p}=window;!p.state||p.replaceState(Y({},p.state,{scroll:jn()}),"")}function h(){for(const p of i)p();i=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",a)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",a),{pauseListeners:c,listen:f,destroy:h}}function wr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?jn():null}}function Bc(e){const{history:t,location:n}=window,s={value:Hi(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,f,a){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Nc()+e+c;try{t[a?"replaceState":"pushState"](f,"",p),r.value=f}catch(y){console.error(y),n[a?"replace":"assign"](p)}}function o(c,f){const a=Y({},t.state,wr(r.value.back,c,r.value.forward,!0),f,{position:r.value.position});i(c,a,!0),s.value=c}function l(c,f){const a=Y({},r.value,t.state,{forward:c,scroll:jn()});i(a.current,a,!0);const h=Y({},wr(s.value,c,null),{position:a.position+1},f);i(c,h,!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Hc(e){e=Pc(e);const t=Bc(e),n=Lc(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=Y({location:"",base:e,go:s,createHref:Oc.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function $c(e){return e=lLine truncated
|
||||
@@ -1 +1 @@
|
||||
footer[data-v-ca1f780f]{position:absolute;left:0;bottom:0;z-index:99;width:100%}nav[data-v-ca1f780f]{height:.52rem;background:#444;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:row;justify-content:space-between;align-items:stretch}nav a[data-v-ca1f780f]{flex:1;line-height:.18rem;text-align:center}nav a[data-v-ca1f780f]:hover{background:rgba(255,255,255,.025)}nav a span[data-v-ca1f780f]{display:block;height:.18rem;padding:.3rem 0 .04rem;color:#aaa}nav a span.icon-default[data-v-ca1f780f]{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANkAAADICAMAAABS6rR6AAAAgVBMVEUAAAC+vr6/v7+9vb3Dw8O/v7++vr6/v7++vr6/v7/AwMC/v7/AwMC/v7+/v7/BwcG/v7+/v7++vr6/v7+/v7+/v7/AwMC/v7+/v7+/v7+/v7/Dw8O/v7+/v7+/v7+/v7+/v7/AwMC/v7+/v7+/v7+/v7+/v7+/v7++vr6/v7+/v7/Ganu7AAAAKnRSTlMAwEAfJnjN37lkXrkPtfEk3Z4z6LCUG03VioAJ93DIqaQvaVM6z1gXhUKDfia4AAAD2ElEQVR42u3daXOiQBDG8QfHY1U8WATxjleO/v4fcKs2GwMMcXCHmLar/69TwZ9NAeoUQNM0TdM0TdO+sUknGQUM2i2OKzRYPyM+raMJGurUI2YlaKRn4lewgn+/iWMzeBey2xXf68O3hHg2DuHXhLi2gF+vxLUx/JoS297g04r41oFPJn8wYlGvodP1nrFsBJ9+M5b9UpnKbkxlKlOZylRmp7J7yybBpTlYNL3IhpBVfmayUtnjpbLHS2WPl8oer9tk8+gcE4PG2awfNidbbVioPlonaUOyNrvfx9bzRmSnMfFr04AsZLUnXjr5y4bEsjj0lc2JaYs6ssf83e+lhuzhFkT87eAnWxLbhn6yHbEt9pMN6VLUYtAgR/OTdelSBwya5GSpKFk7JzMqU9lNqUxlKlOZyuxUpjKVqUxldipTmcpUpjI7lalMZSpTmZ3KVKYylbllg9mZerNBeO32IUG87iatq8vWsnU83KQeMmu9vqds3qP3xgNUF0b0r+0e1bUya6mH58z8ZRv6LKoeWM+5HOxAn3VDHrIB5VvCLpxSrvXeuVYoYLE3hmMqZGC1oEJdWK1iKjTgcARZUrHIftnuhW4HKpZxmFnPeYeHI5VauFfkpQxmRuVarqlSgHIxlXr+eVnLLUuo1NT99nR+fm80btkrlcrcM9v8/MxApewt9qnUqGI7peYMzmczKtZDuYl7IAsqtWIwswGR61S9dS4n3VOxHYejPs7WyBxHmVfYPVGhNguZGdNn473zbB6golVGuZ6ZfIrZ93Iw50VztEJVL8HnPzmy+RQTfswk+voi/Wn9vrE3fNWx++5KUjQke/KQXZovl8tBiGu9HTrz639hjp3+CVZO2SLIt6aPFg//bcGIquuLlYVSZUNIlbWlyhIIlWUrobK4DZmycwqRsmkfkCeLt8kJECKzUpnKKlKZylSmMpXZqUxlKlOZyuxUpjKVqUxldnxlW8ayFD6N6FIv+LryRqLgm9rmZPAqolq1f+BedDG8OvyPbEb3aASvXm6UuWFsHtw2ojpN6sIYPbetXW9md4fRBr4tbpvZju5TF/6d68zs3rCxgX9pVmNm94a10EThrK7sie5TNkFD/Z65ZPeEbY9osLCf7K5c6EyqrleCb2iWbFJ8dyaHaF8mxu7pMb4ySbCSLJIDK8okwZDmICPrXsGPXH5mkiYGGKkwGKkwGKkwGKkwGKkwGKkwGKkwGKmwCtkAMjJSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTD0DJmlQiemaZqmaZqmaVL7A6eYqDWdXgS9AAAAAElFTkSuQmCC) center .05rem no-repeat;background-size:.24rem .24rem}nav a.link-active span.icon-default[data-v-ca1f780f]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANkAAADICAMAAABS6rR6AAAAeFBMVEUAAADndT3ndDznczrrcjzndT7mdT3mdT7odT7odT3ndjzndj7ndT3sdD7ndT3mczzvczrndj3ndT3ndT3ndj3ndT3ndj3odTz1czfndj3odTzndj3ndT3ndj3ndT3mdj3odj3qdTvndT3ndjzpdjzndjzscjzndj79W2RxAAAAJ3RSTlMAwEAfJt7NuXhkXbXxGp4zD4GwlPfVi2EJcE/m4cippFUv6mk6ShP4oPzuAAADuUlEQVR42u3da3KqQBCG4Q8G0UQgKOBd4y32/nd4fuRE5JKMyRDSdvW7AKjHoWAKRoCmaZqmaZqm/WLBKBt7DNrN9gt02FNBfMqTAB113hCzMnTSM/HLW8C9l5wYNoVzKbtD8b0nuJYRz6IUbgXEtRncmhDXIrg1ILb5cGlBfBvBJXN7MmLRoKPL9YGxbAyXXhjLhipT2TdTmcpUpjKVNVNZ37LAu/YGFt3KZKWyx0tlj5fKHi+VPV4qe+8tCY/EoKiYztPuZIvlmhiVZ3FHsoDdnft81YnsHBG/lh3ILqyOxGtnd9mQWLZOXWUrYtrsHtljPveL3WQvxLbTHbKHfAhNQzfZjti2dpMN6VriM+iZytxkIV0bgUEBlcViZUZlKvtWKlOZylSmsmYqU5nKVKayZipTmcpUprJmKlOZylSmsmYqU5nKVGaXzachDabPKT7NjLxjHmb+l8vWinw9XMaMZKuPjUVztJcm9L/tAe35Bf1vxka2pLIEbQUbupa/oa0TlYUpD9mcbpugWTqgm/KDda2Qx0KWRlTJoNGMKoVotDhSpTkH2YSqJfYXAJxbjsVqBQfZhqpF9lVpM/uKvJiBjOr5tlElD/XWVGv/9zLfLsuo1sD+84z+XmZ+MGYF6h2p1vLvZaBazT0+Ua1xy35qrRjIplRtg3rGPiAzqrVgIJsT2S7VW+uJ70DVdhzO+ggtQwb4VjteqVLAQmYiKosO1qu5h5YWBd20ZzG7Ag6bG5h10pws0NbFKzey4jLXR/oxJsnnk/TX/H1nPj5rH767shgdyV4dZNdWk8nE8i8j/zR6u+CrzH70dEY9u2zm3ZaXs7iHv1swpvbmYmUXqbIhpMoCqbIMQmXFQqjsGECmLIwhUjaYA/Jk6212BoTIGqlMZS2pTGUqU5nKmqlMZSpTmcqaqUxlKlOZyprxlW0Zy2K4NKZrA+/z6jtJvF9qS2VwKqG7Cv7gXXRHOHX6iWxKfTSGU/E3ZXYYmw+3je+T9Q+LLr18ty3oHUZLuDb7nmxH/RTCvfAeWd+wyMC9uLhD1jfMRxel03tlr9RPRYCOerHZgj5h2z06LJ1nuy8mOkHbfMX7habZMsZvZ25l1xFj9/UYV5kkWE2WyIFVZZJglcnymKqd8MgZKpM0YoCRCoORCoORCoORCoORCoORCoORCoORCmuRPUNGRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMhvaQWSx0xDRN0zRN0zRNav8A8QpAseEBWfoAAAAASUVORK5CYII=);color:#e7763e}nav a span.icon-chain[data-v-ca1f780f]{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAZlBMVEUAAACrq6uqqqqqqqqqqqqpqamqqqqqqqqrq6uqqqqpqamqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrq6uqqqqqqqqqqqqqqqqqqqqsrKyqqqqqqqqqqqqqqqqqqqqqqqqpqamqqqpW/g4KAAAAIXRSTlMAbMKW4z3M7H4eXWMJhfRGqlUqJHa3sdwxF6ONTRHWnTaYq3YRAAAJGUlEQVR42uyb6c6jIBSGD+4LbqC1tnY593+Tk0wyowz1FD9oQic+f9u0wtlfEA4ODg4ODg4ODg4ODvZxE7G8wXczh0mEv6nHoHrCd1JcUlSJwgK+ji7AVwQdfBVxi1u0MXwPFVJc4Vt4IM0AX8E04jsiCf4Town+p2KBZvheIvMUzQjAa3iiP3HIYnYdIvyHEHwmRIU0m/lfnysHVGDgL2dUCCUoFIq97h6HiWqQ5k2FycBXVIPk8IIrLqTeVhPFINNG1f+CeOeRQShP95VJOHhJY+T/My542tOv/D/hREvpvW+tmkVqEpRL8Y/AR4TafxiZ5Awe0uFfeqBgngfJ6vkkUEjP25Rlvq2BpsY/VOAhD+MYXurNAzzktCRfoFl6xxN4yGC+EL9liMW1RqAZ/Xat/ybYmamyMH0i/cZFFg5txRoOthT4lxIoerWVseem6OVtmTsTtOhktJK3Y3AA04UNATakygOaLLj+lOxfV7kbyfdkVG+wdTU76IydfZDQUVIq37LkppnDRSKZ1rbdci5Z40L+UZ05s2xS6H7rjuisQZFI01htED1cJeofWXEbP6b5V7gi0r1rTnHFw0GXSnPPHWjYumQqQzVFCuuJVKVONBNVFolLFbEXq5yzVPsTKwIl2/ad/O3dmaPNCjXrZp0A0WWJdpDIwYpS8dJpUdcSN4cXA5pR5w4NUij+rLine truncated
|
||||
footer[data-v-ca1f780f]{position:absolute;left:0;bottom:0;z-index:99;width:100%}nav[data-v-ca1f780f]{height:.52rem;background:#444;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:row;justify-content:space-between;align-items:stretch}nav a[data-v-ca1f780f]{flex:1;line-height:.18rem;text-align:center}nav a[data-v-ca1f780f]:hover{background:rgba(255,255,255,.025)}nav a span[data-v-ca1f780f]{display:block;height:.18rem;padding:.3rem 0 .04rem;color:#aaa}nav a span.icon-default[data-v-ca1f780f]{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANkAAADICAMAAABS6rR6AAAAgVBMVEUAAAC+vr6/v7+9vb3Dw8O/v7++vr6/v7++vr6/v7/AwMC/v7/AwMC/v7+/v7/BwcG/v7+/v7++vr6/v7+/v7+/v7/AwMC/v7+/v7+/v7+/v7/Dw8O/v7+/v7+/v7+/v7+/v7/AwMC/v7+/v7+/v7+/v7+/v7+/v7++vr6/v7+/v7/Ganu7AAAAKnRSTlMAwEAfJnjN37lkXrkPtfEk3Z4z6LCUG03VioAJ93DIqaQvaVM6z1gXhUKDfia4AAAD2ElEQVR42u3daXOiQBDG8QfHY1U8WATxjleO/v4fcKs2GwMMcXCHmLar/69TwZ9NAeoUQNM0TdM0TdO+sUknGQUM2i2OKzRYPyM+raMJGurUI2YlaKRn4lewgn+/iWMzeBey2xXf68O3hHg2DuHXhLi2gF+vxLUx/JoS297g04r41oFPJn8wYlGvodP1nrFsBJ9+M5b9UpnKbkxlKlOZylRmp7J7yybBpTlYNL3IhpBVfmayUtnjpbLHS2WPl8oer9tk8+gcE4PG2awfNidbbVioPlonaUOyNrvfx9bzRmSnMfFr04AsZLUnXjr5y4bEsjj0lc2JaYs6ssf83e+lhuzhFkT87eAnWxLbhn6yHbEt9pMN6VLUYtAgR/OTdelSBwya5GSpKFk7JzMqU9lNqUxlKlOZyuxUpjKVqUxldipTmcpUpjI7lalMZSpTmZ3KVKYylbllg9mZerNBeO32IUG87iatq8vWsnU83KQeMmu9vqds3qP3xgNUF0b0r+0e1bUya6mH58z8ZRv6LKoeWM+5HOxAn3VDHrIB5VvCLpxSrvXeuVYoYLE3hmMqZGC1oEJdWK1iKjTgcARZUrHIftnuhW4HKpZxmFnPeYeHI5VauFfkpQxmRuVarqlSgHIxlXr+eVnLLUuo1NT99nR+fm80btkrlcrcM9v8/MxApewt9qnUqGI7peYMzmczKtZDuYl7IAsqtWIwswGR61S9dS4n3VOxHYejPs7WyBxHmVfYPVGhNguZGdNn473zbB6golVGuZ6ZfIrZ93Iw50VztEJVL8HnPzmy+RQTfswk+voi/Wn9vrE3fNWx++5KUjQke/KQXZovl8tBiGu9HTrz639hjp3+CVZO2SLIt6aPFg//bcGIquuLlYVSZUNIlbWlyhIIlWUrobK4DZmycwqRsmkfkCeLt8kJECKzUpnKKlKZylSmMpXZqUxlKlOZyuxUpjKVqUxldnxlW8ayFD6N6FIv+LryRqLgm9rmZPAqolq1f+BedDG8OvyPbEb3aASvXm6UuWFsHtw2ojpN6sIYPbetXW9md4fRBr4tbpvZju5TF/6d68zs3rCxgX9pVmNm94a10EThrK7sie5TNkFD/Z65ZPeEbY9osLCf7K5c6EyqrleCb2iWbFJ8dyaHaF8mxu7pMb4ySbCSLJIDK8okwZDmICPrXsGPXH5mkiYGGKkwGKkwGKkwGKkwGKkwGKkwGKkwGKmwCtkAMjJSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTBSYTD0DJmlQiemaZqmaZqmaVL7A6eYqDWdXgS9AAAAAElFTkSuQmCC) center .05rem no-repeat;background-size:.24rem .24rem}nav a.link-active span.icon-default[data-v-ca1f780f]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANkAAADICAMAAABS6rR6AAAAeFBMVEUAAADndT3ndDznczrrcjzndT7mdT3mdT7odT7odT3ndjzndj7ndT3sdD7ndT3mczzvczrndj3ndT3ndT3ndj3ndT3ndj3odTz1czfndj3odTzndj3ndT3ndj3ndT3mdj3odj3qdTvndT3ndjzpdjzndjzscjzndj79W2RxAAAAJ3RSTlMAwEAfJt7NuXhkXbXxGp4zD4GwlPfVi2EJcE/m4cippFUv6mk6ShP4oPzuAAADuUlEQVR42u3da3KqQBCG4Q8G0UQgKOBd4y32/nd4fuRE5JKMyRDSdvW7AKjHoWAKRoCmaZqmaZqm/WLBKBt7DNrN9gt02FNBfMqTAB113hCzMnTSM/HLW8C9l5wYNoVzKbtD8b0nuJYRz6IUbgXEtRncmhDXIrg1ILb5cGlBfBvBJXN7MmLRoKPL9YGxbAyXXhjLhipT2TdTmcpUpjKVNVNZ37LAu/YGFt3KZKWyx0tlj5fKHi+VPV4qe+8tCY/EoKiYztPuZIvlmhiVZ3FHsoDdnft81YnsHBG/lh3ILqyOxGtnd9mQWLZOXWUrYtrsHtljPveL3WQvxLbTHbKHfAhNQzfZjti2dpMN6VriM+iZytxkIV0bgUEBlcViZUZlKvtWKlOZylSmsmYqU5nKVKayZipTmcpUprJmKlOZylSmsmYqU5nKVGaXzachDabPKT7NjLxjHmb+l8vWinw9XMaMZKuPjUVztJcm9L/tAe35Bf1vxka2pLIEbQUbupa/oa0TlYUpD9mcbpugWTqgm/KDda2Qx0KWRlTJoNGMKoVotDhSpTkH2YSqJfYXAJxbjsVqBQfZhqpF9lVpM/uKvJiBjOr5tlElD/XWVGv/9zLfLsuo1sD+84z+XmZ+MGYF6h2p1vLvZaBazT0+Ua1xy35qrRjIplRtg3rGPiAzqrVgIJsT2S7VW+uJ70DVdhzO+ggtQwb4VjteqVLAQmYiKosO1qu5h5YWBd20ZzG7Ag6bG5h10pws0NbFKzey4jLXR/oxJsnnk/TX/H1nPj5rH767shgdyV4dZNdWk8nE8i8j/zR6u+CrzH70dEY9u2zm3ZaXs7iHv1swpvbmYmUXqbIhpMoCqbIMQmXFQqjsGECmLIwhUjaYA/Jk6212BoTIGqlMZS2pTGUqU5nKmqlMZSpTmcqaqUxlKlOZyprxlW0Zy2K4NKZrA+/z6jtJvF9qS2VwKqG7Cv7gXXRHOHX6iWxKfTSGU/E3ZXYYmw+3je+T9Q+LLr18ty3oHUZLuDb7nmxH/RTCvfAeWd+wyMC9uLhD1jfMRxel03tlr9RPRYCOerHZgj5h2z06LJ1nuy8mOkHbfMX7habZMsZvZ25l1xFj9/UYV5kkWE2WyIFVZZJglcnymKqd8MgZKpM0YoCRCoORCoORCoORCoORCoORCoORCoORCmuRPUNGRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMRioMhvaQWSx0xDRN0zRN0zRNav8A8QpAseEBWfoAAAAASUVORK5CYII=);color:#e7763e}nav a span.icon-chain[data-v-ca1f780f]{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAZlBMVEUAAACrq6uqqqqqqqqqqqqpqamqqqqqqqqrq6uqqqqpqamqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrq6uqqqqqqqqqqqqqqqqqqqqsrKyqqqqqqqqqqqqqqqqqqqqqqqqpqamqqqpW/g4KAAAAIXRSTlMAbMKW4z3M7H4eXWMJhfRGqlUqJHa3sdwxF6ONTRHWnTaYq3YRAAAJGUlEQVR42uyb6c6jIBSGD+4LbqC1tnY593+Tk0wyowz1FD9oQic+f9u0wtlfEA4ODg4ODg4ODg4ODvZxE7G8wXczh0mEv6nHoHrCd1JcUlSJwgK+ji7AVwQdfBVxi1u0MXwPFVJc4Vt4IM0AX8E04jsiCf4Town+p2KBZvheIvMUzQjAa3iiP3HIYnYdIvyHEHwmRIU0m/lfnysHVGDgL2dUCCUoFIq97h6HiWqQ5k2FycBXVIPk8IIrLqTeVhPFINNG1f+CeOeRQShP95VJOHhJY+T/My542tOv/D/hREvpvW+tmkVqEpRL8Y/AR4TafxiZ5Awe0uFfeqBgngfJ6vkkUEjP25Rlvq2BpsY/VOAhD+MYXurNAzzktCRfoFl6xxN4yGC+EL9liMW1RqAZ/Xat/ybYmamyMH0i/cZFFg5txRoOthT4lxIoerWVseem6OVtmTsTtOhktJK3Y3AA04UNATakygOaLLj+lOxfV7kbyfdkVG+wdTU76IydfZDQUVIq37LkppnDRSKZ1rbdci5Z40L+UZ05s2xS6H7rjuisQZFI01htED1cJeofWXEbP6b5V7gi0r1rTnHFw0GXSnPPHWjYumQqQzVFCuuJVKVONBNVFolLFbEXq5yzVPsTKwIl2/ad/O3dmaPNCjXrZp0A0WWJdpDIwYpS8dJpUdcSN4cXA5pR5w4NUij+rLine truncated
|
||||
+2
-2
@@ -16,8 +16,8 @@
|
||||
<title>亲戚计算器手机版 亲戚称呼计算器APP</title>
|
||||
<meta name="keywords" content="家庭称谓,亲戚称呼,亲戚称谓,亲戚叫法,亲戚关系计算器,亲戚计算器,称呼计算器,親戚關係稱呼,亲戚关系大全,叫什么,什么关系">
|
||||
<meta name="description" content="中国亲戚关系计算器手机版,走亲访友,逢年过节必备神器。它避免了叫错、不会叫亲戚的尴尬,人人必备家庭教育工具。">
|
||||
<script type="module" crossorigin src="./assets/index.05002aa2.js"></script>
|
||||
<link rel="stylesheet" href="./assets/index.e63eeab7.css">
|
||||
<script type="module" crossorigin src="./assets/index.431d846b.js"></script>
|
||||
<link rel="stylesheet" href="./assets/index.c15be9be.css">
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
|
||||
Reference in new issue
Block a user