⌈⌋ ⎇ branch:  Bitrhythm


Hex Artifact Content

Artifact 9f128ae0016d74b0d6f4d26a66046f82cdb312d5b0a90a8edacb5edd29cbb31d:


0000: 2f 2a 0a 20 2a 20 6c 61 6e 67 75 61 67 65 5f 64  /*. * language_d
0010: 61 74 61 2e 6a 73 0a 20 2a 20 7e 7e 7e 7e 7e 7e  ata.js. * ~~~~~~
0020: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 20 2a 0a 20 2a  ~~~~~~~~~~. *. *
0030: 20 54 68 69 73 20 73 63 72 69 70 74 20 63 6f 6e   This script con
0040: 74 61 69 6e 73 20 74 68 65 20 6c 61 6e 67 75 61  tains the langua
0050: 67 65 2d 73 70 65 63 69 66 69 63 20 64 61 74 61  ge-specific data
0060: 20 75 73 65 64 20 62 79 20 73 65 61 72 63 68 74   used by searcht
0070: 6f 6f 6c 73 2e 6a 73 2c 0a 20 2a 20 6e 61 6d 65  ools.js,. * name
0080: 6c 79 20 74 68 65 20 6c 69 73 74 20 6f 66 20 73  ly the list of s
0090: 74 6f 70 77 6f 72 64 73 2c 20 73 74 65 6d 6d 65  topwords, stemme
00a0: 72 2c 20 73 63 6f 72 65 72 20 61 6e 64 20 73 70  r, scorer and sp
00b0: 6c 69 74 74 65 72 2e 0a 20 2a 0a 20 2a 20 3a 63  litter.. *. * :c
00c0: 6f 70 79 72 69 67 68 74 3a 20 43 6f 70 79 72 69  opyright: Copyri
00d0: 67 68 74 20 32 30 30 37 2d 32 30 32 31 20 62 79  ght 2007-2021 by
00e0: 20 74 68 65 20 53 70 68 69 6e 78 20 74 65 61 6d   the Sphinx team
00f0: 2c 20 73 65 65 20 41 55 54 48 4f 52 53 2e 0a 20  , see AUTHORS.. 
0100: 2a 20 3a 6c 69 63 65 6e 73 65 3a 20 42 53 44 2c  * :license: BSD,
0110: 20 73 65 65 20 4c 49 43 45 4e 53 45 20 66 6f 72   see LICENSE for
0120: 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 2f   details.. *. */
0130: 0a 0a 76 61 72 20 73 74 6f 70 77 6f 72 64 73 20  ..var stopwords 
0140: 3d 20 5b 22 61 22 2c 22 61 6e 64 22 2c 22 61 72  = ["a","and","ar
0150: 65 22 2c 22 61 73 22 2c 22 61 74 22 2c 22 62 65  e","as","at","be
0160: 22 2c 22 62 75 74 22 2c 22 62 79 22 2c 22 66 6f  ","but","by","fo
0170: 72 22 2c 22 69 66 22 2c 22 69 6e 22 2c 22 69 6e  r","if","in","in
0180: 74 6f 22 2c 22 69 73 22 2c 22 69 74 22 2c 22 6e  to","is","it","n
0190: 65 61 72 22 2c 22 6e 6f 22 2c 22 6e 6f 74 22 2c  ear","no","not",
01a0: 22 6f 66 22 2c 22 6f 6e 22 2c 22 6f 72 22 2c 22  "of","on","or","
01b0: 73 75 63 68 22 2c 22 74 68 61 74 22 2c 22 74 68  such","that","th
01c0: 65 22 2c 22 74 68 65 69 72 22 2c 22 74 68 65 6e  e","their","then
01d0: 22 2c 22 74 68 65 72 65 22 2c 22 74 68 65 73 65  ","there","these
01e0: 22 2c 22 74 68 65 79 22 2c 22 74 68 69 73 22 2c  ","they","this",
01f0: 22 74 6f 22 2c 22 77 61 73 22 2c 22 77 69 6c 6c  "to","was","will
0200: 22 2c 22 77 69 74 68 22 5d 3b 0a 0a 0a 2f 2a 20  ","with"];.../* 
0210: 4e 6f 6e 2d 6d 69 6e 69 66 69 65 64 20 76 65 72  Non-minified ver
0220: 73 69 6f 6e 20 69 73 20 63 6f 70 69 65 64 20 61  sion is copied a
0230: 73 20 61 20 73 65 70 61 72 61 74 65 20 4a 53 20  s a separate JS 
0240: 66 69 6c 65 2c 20 69 73 20 61 76 61 69 6c 61 62  file, is availab
0250: 6c 65 20 2a 2f 0a 0a 2f 2a 2a 0a 20 2a 20 50 6f  le */../**. * Po
0260: 72 74 65 72 20 53 74 65 6d 6d 65 72 0a 20 2a 2f  rter Stemmer. */
0270: 0a 76 61 72 20 53 74 65 6d 6d 65 72 20 3d 20 66  .var Stemmer = f
0280: 75 6e 63 74 69 6f 6e 28 29 20 7b 0a 0a 20 20 76  unction() {..  v
0290: 61 72 20 73 74 65 70 32 6c 69 73 74 20 3d 20 7b  ar step2list = {
02a0: 0a 20 20 20 20 61 74 69 6f 6e 61 6c 3a 20 27 61  .    ational: 'a
02b0: 74 65 27 2c 0a 20 20 20 20 74 69 6f 6e 61 6c 3a  te',.    tional:
02c0: 20 27 74 69 6f 6e 27 2c 0a 20 20 20 20 65 6e 63   'tion',.    enc
02d0: 69 3a 20 27 65 6e 63 65 27 2c 0a 20 20 20 20 61  i: 'ence',.    a
02e0: 6e 63 69 3a 20 27 61 6e 63 65 27 2c 0a 20 20 20  nci: 'ance',.   
02f0: 20 69 7a 65 72 3a 20 27 69 7a 65 27 2c 0a 20 20   izer: 'ize',.  
0300: 20 20 62 6c 69 3a 20 27 62 6c 65 27 2c 0a 20 20    bli: 'ble',.  
0310: 20 20 61 6c 6c 69 3a 20 27 61 6c 27 2c 0a 20 20    alli: 'al',.  
0320: 20 20 65 6e 74 6c 69 3a 20 27 65 6e 74 27 2c 0a    entli: 'ent',.
0330: 20 20 20 20 65 6c 69 3a 20 27 65 27 2c 0a 20 20      eli: 'e',.  
0340: 20 20 6f 75 73 6c 69 3a 20 27 6f 75 73 27 2c 0a    ousli: 'ous',.
0350: 20 20 20 20 69 7a 61 74 69 6f 6e 3a 20 27 69 7a      ization: 'iz
0360: 65 27 2c 0a 20 20 20 20 61 74 69 6f 6e 3a 20 27  e',.    ation: '
0370: 61 74 65 27 2c 0a 20 20 20 20 61 74 6f 72 3a 20  ate',.    ator: 
0380: 27 61 74 65 27 2c 0a 20 20 20 20 61 6c 69 73 6d  'ate',.    alism
0390: 3a 20 27 61 6c 27 2c 0a 20 20 20 20 69 76 65 6e  : 'al',.    iven
03a0: 65 73 73 3a 20 27 69 76 65 27 2c 0a 20 20 20 20  ess: 'ive',.    
03b0: 66 75 6c 6e 65 73 73 3a 20 27 66 75 6c 27 2c 0a  fulness: 'ful',.
03c0: 20 20 20 20 6f 75 73 6e 65 73 73 3a 20 27 6f 75      ousness: 'ou
03d0: 73 27 2c 0a 20 20 20 20 61 6c 69 74 69 3a 20 27  s',.    aliti: '
03e0: 61 6c 27 2c 0a 20 20 20 20 69 76 69 74 69 3a 20  al',.    iviti: 
03f0: 27 69 76 65 27 2c 0a 20 20 20 20 62 69 6c 69 74  'ive',.    bilit
0400: 69 3a 20 27 62 6c 65 27 2c 0a 20 20 20 20 6c 6f  i: 'ble',.    lo
0410: 67 69 3a 20 27 6c 6f 67 27 0a 20 20 7d 3b 0a 0a  gi: 'log'.  };..
0420: 20 20 76 61 72 20 73 74 65 70 33 6c 69 73 74 20    var step3list 
0430: 3d 20 7b 0a 20 20 20 20 69 63 61 74 65 3a 20 27  = {.    icate: '
0440: 69 63 27 2c 0a 20 20 20 20 61 74 69 76 65 3a 20  ic',.    ative: 
0450: 27 27 2c 0a 20 20 20 20 61 6c 69 7a 65 3a 20 27  '',.    alize: '
0460: 61 6c 27 2c 0a 20 20 20 20 69 63 69 74 69 3a 20  al',.    iciti: 
0470: 27 69 63 27 2c 0a 20 20 20 20 69 63 61 6c 3a 20  'ic',.    ical: 
0480: 27 69 63 27 2c 0a 20 20 20 20 66 75 6c 3a 20 27  'ic',.    ful: '
0490: 27 2c 0a 20 20 20 20 6e 65 73 73 3a 20 27 27 0a  ',.    ness: ''.
04a0: 20 20 7d 3b 0a 0a 20 20 76 61 72 20 63 20 3d 20    };..  var c = 
04b0: 22 5b 5e 61 65 69 6f 75 5d 22 3b 20 20 20 20 20  "[^aeiou]";     
04c0: 20 20 20 20 20 2f 2f 20 63 6f 6e 73 6f 6e 61 6e       // consonan
04d0: 74 0a 20 20 76 61 72 20 76 20 3d 20 22 5b 61 65  t.  var v = "[ae
04e0: 69 6f 75 79 5d 22 3b 20 20 20 20 20 20 20 20 20  iouy]";         
04f0: 20 2f 2f 20 76 6f 77 65 6c 0a 20 20 76 61 72 20   // vowel.  var 
0500: 43 20 3d 20 63 20 2b 20 22 5b 5e 61 65 69 6f 75  C = c + "[^aeiou
0510: 79 5d 2a 22 3b 20 20 20 20 2f 2f 20 63 6f 6e 73  y]*";    // cons
0520: 6f 6e 61 6e 74 20 73 65 71 75 65 6e 63 65 0a 20  onant sequence. 
0530: 20 76 61 72 20 56 20 3d 20 76 20 2b 20 22 5b 61   var V = v + "[a
0540: 65 69 6f 75 5d 2a 22 3b 20 20 20 20 20 20 2f 2f  eiou]*";      //
0550: 20 76 6f 77 65 6c 20 73 65 71 75 65 6e 63 65 0a   vowel sequence.
0560: 0a 20 20 76 61 72 20 6d 67 72 30 20 3d 20 22 5e  .  var mgr0 = "^
0570: 28 22 20 2b 20 43 20 2b 20 22 29 3f 22 20 2b 20  (" + C + ")?" + 
0580: 56 20 2b 20 43 3b 20 20 20 20 20 20 20 20 20 20  V + C;          
0590: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 5b              // [
05a0: 43 5d 56 43 2e 2e 2e 20 69 73 20 6d 3e 30 0a 20  C]VC... is m>0. 
05b0: 20 76 61 72 20 6d 65 71 31 20 3d 20 22 5e 28 22   var meq1 = "^("
05c0: 20 2b 20 43 20 2b 20 22 29 3f 22 20 2b 20 56 20   + C + ")?" + V 
05d0: 2b 20 43 20 2b 20 22 28 22 20 2b 20 56 20 2b 20  + C + "(" + V + 
05e0: 22 29 3f 24 22 3b 20 20 20 20 2f 2f 20 5b 43 5d  ")?$";    // [C]
05f0: 56 43 5b 56 5d 20 69 73 20 6d 3d 31 0a 20 20 76  VC[V] is m=1.  v
0600: 61 72 20 6d 67 72 31 20 3d 20 22 5e 28 22 20 2b  ar mgr1 = "^(" +
0610: 20 43 20 2b 20 22 29 3f 22 20 2b 20 56 20 2b 20   C + ")?" + V + 
0620: 43 20 2b 20 56 20 2b 20 43 3b 20 20 20 20 20 20  C + V + C;      
0630: 20 20 20 20 20 20 20 20 2f 2f 20 5b 43 5d 56 43          // [C]VC
0640: 56 43 2e 2e 2e 20 69 73 20 6d 3e 31 0a 20 20 76  VC... is m>1.  v
0650: 61 72 20 73 5f 76 20 20 20 3d 20 22 5e 28 22 20  ar s_v   = "^(" 
0660: 2b 20 43 20 2b 20 22 29 3f 22 20 2b 20 76 3b 20  + C + ")?" + v; 
0670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0680: 20 20 20 20 20 20 20 20 2f 2f 20 76 6f 77 65 6c          // vowel
0690: 20 69 6e 20 73 74 65 6d 0a 0a 20 20 74 68 69 73   in stem..  this
06a0: 2e 73 74 65 6d 57 6f 72 64 20 3d 20 66 75 6e 63  .stemWord = func
06b0: 74 69 6f 6e 20 28 77 29 20 7b 0a 20 20 20 20 76  tion (w) {.    v
06c0: 61 72 20 73 74 65 6d 3b 0a 20 20 20 20 76 61 72  ar stem;.    var
06d0: 20 73 75 66 66 69 78 3b 0a 20 20 20 20 76 61 72   suffix;.    var
06e0: 20 66 69 72 73 74 63 68 3b 0a 20 20 20 20 76 61   firstch;.    va
06f0: 72 20 6f 72 69 67 77 6f 72 64 20 3d 20 77 3b 0a  r origword = w;.
0700: 0a 20 20 20 20 69 66 20 28 77 2e 6c 65 6e 67 74  .    if (w.lengt
0710: 68 20 3c 20 33 29 0a 20 20 20 20 20 20 72 65 74  h < 3).      ret
0720: 75 72 6e 20 77 3b 0a 0a 20 20 20 20 76 61 72 20  urn w;..    var 
0730: 72 65 3b 0a 20 20 20 20 76 61 72 20 72 65 32 3b  re;.    var re2;
0740: 0a 20 20 20 20 76 61 72 20 72 65 33 3b 0a 20 20  .    var re3;.  
0750: 20 20 76 61 72 20 72 65 34 3b 0a 0a 20 20 20 20    var re4;..    
0760: 66 69 72 73 74 63 68 20 3d 20 77 2e 73 75 62 73  firstch = w.subs
0770: 74 72 28 30 2c 31 29 3b 0a 20 20 20 20 69 66 20  tr(0,1);.    if 
0780: 28 66 69 72 73 74 63 68 20 3d 3d 20 22 79 22 29  (firstch == "y")
0790: 0a 20 20 20 20 20 20 77 20 3d 20 66 69 72 73 74  .      w = first
07a0: 63 68 2e 74 6f 55 70 70 65 72 43 61 73 65 28 29  ch.toUpperCase()
07b0: 20 2b 20 77 2e 73 75 62 73 74 72 28 31 29 3b 0a   + w.substr(1);.
07c0: 0a 20 20 20 20 2f 2f 20 53 74 65 70 20 31 61 0a  .    // Step 1a.
07d0: 20 20 20 20 72 65 20 3d 20 2f 5e 28 2e 2b 3f 29      re = /^(.+?)
07e0: 28 73 73 7c 69 29 65 73 24 2f 3b 0a 20 20 20 20  (ss|i)es$/;.    
07f0: 72 65 32 20 3d 20 2f 5e 28 2e 2b 3f 29 28 5b 5e  re2 = /^(.+?)([^
0800: 73 5d 29 73 24 2f 3b 0a 0a 20 20 20 20 69 66 20  s])s$/;..    if 
0810: 28 72 65 2e 74 65 73 74 28 77 29 29 0a 20 20 20  (re.test(w)).   
0820: 20 20 20 77 20 3d 20 77 2e 72 65 70 6c 61 63 65     w = w.replace
0830: 28 72 65 2c 22 24 31 24 32 22 29 3b 0a 20 20 20  (re,"$1$2");.   
0840: 20 65 6c 73 65 20 69 66 20 28 72 65 32 2e 74 65   else if (re2.te
0850: 73 74 28 77 29 29 0a 20 20 20 20 20 20 77 20 3d  st(w)).      w =
0860: 20 77 2e 72 65 70 6c 61 63 65 28 72 65 32 2c 22   w.replace(re2,"
0870: 24 31 24 32 22 29 3b 0a 0a 20 20 20 20 2f 2f 20  $1$2");..    // 
0880: 53 74 65 70 20 31 62 0a 20 20 20 20 72 65 20 3d  Step 1b.    re =
0890: 20 2f 5e 28 2e 2b 3f 29 65 65 64 24 2f 3b 0a 20   /^(.+?)eed$/;. 
08a0: 20 20 20 72 65 32 20 3d 20 2f 5e 28 2e 2b 3f 29     re2 = /^(.+?)
08b0: 28 65 64 7c 69 6e 67 29 24 2f 3b 0a 20 20 20 20  (ed|ing)$/;.    
08c0: 69 66 20 28 72 65 2e 74 65 73 74 28 77 29 29 20  if (re.test(w)) 
08d0: 7b 0a 20 20 20 20 20 20 76 61 72 20 66 70 20 3d  {.      var fp =
08e0: 20 72 65 2e 65 78 65 63 28 77 29 3b 0a 20 20 20   re.exec(w);.   
08f0: 20 20 20 72 65 20 3d 20 6e 65 77 20 52 65 67 45     re = new RegE
0900: 78 70 28 6d 67 72 30 29 3b 0a 20 20 20 20 20 20  xp(mgr0);.      
0910: 69 66 20 28 72 65 2e 74 65 73 74 28 66 70 5b 31  if (re.test(fp[1
0920: 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65  ])) {.        re
0930: 20 3d 20 2f 2e 24 2f 3b 0a 20 20 20 20 20 20 20   = /.$/;.       
0940: 20 77 20 3d 20 77 2e 72 65 70 6c 61 63 65 28 72   w = w.replace(r
0950: 65 2c 22 22 29 3b 0a 20 20 20 20 20 20 7d 0a 20  e,"");.      }. 
0960: 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 69 66     }.    else if
0970: 20 28 72 65 32 2e 74 65 73 74 28 77 29 29 20 7b   (re2.test(w)) {
0980: 0a 20 20 20 20 20 20 76 61 72 20 66 70 20 3d 20  .      var fp = 
0990: 72 65 32 2e 65 78 65 63 28 77 29 3b 0a 20 20 20  re2.exec(w);.   
09a0: 20 20 20 73 74 65 6d 20 3d 20 66 70 5b 31 5d 3b     stem = fp[1];
09b0: 0a 20 20 20 20 20 20 72 65 32 20 3d 20 6e 65 77  .      re2 = new
09c0: 20 52 65 67 45 78 70 28 73 5f 76 29 3b 0a 20 20   RegExp(s_v);.  
09d0: 20 20 20 20 69 66 20 28 72 65 32 2e 74 65 73 74      if (re2.test
09e0: 28 73 74 65 6d 29 29 20 7b 0a 20 20 20 20 20 20  (stem)) {.      
09f0: 20 20 77 20 3d 20 73 74 65 6d 3b 0a 20 20 20 20    w = stem;.    
0a00: 20 20 20 20 72 65 32 20 3d 20 2f 28 61 74 7c 62      re2 = /(at|b
0a10: 6c 7c 69 7a 29 24 2f 3b 0a 20 20 20 20 20 20 20  l|iz)$/;.       
0a20: 20 72 65 33 20 3d 20 6e 65 77 20 52 65 67 45 78   re3 = new RegEx
0a30: 70 28 22 28 5b 5e 61 65 69 6f 75 79 6c 73 7a 5d  p("([^aeiouylsz]
0a40: 29 5c 5c 31 24 22 29 3b 0a 20 20 20 20 20 20 20  )\\1$");.       
0a50: 20 72 65 34 20 3d 20 6e 65 77 20 52 65 67 45 78   re4 = new RegEx
0a60: 70 28 22 5e 22 20 2b 20 43 20 2b 20 76 20 2b 20  p("^" + C + v + 
0a70: 22 5b 5e 61 65 69 6f 75 77 78 79 5d 24 22 29 3b  "[^aeiouwxy]$");
0a80: 0a 20 20 20 20 20 20 20 20 69 66 20 28 72 65 32  .        if (re2
0a90: 2e 74 65 73 74 28 77 29 29 0a 20 20 20 20 20 20  .test(w)).      
0aa0: 20 20 20 20 77 20 3d 20 77 20 2b 20 22 65 22 3b      w = w + "e";
0ab0: 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66  .        else if
0ac0: 20 28 72 65 33 2e 74 65 73 74 28 77 29 29 20 7b   (re3.test(w)) {
0ad0: 0a 20 20 20 20 20 20 20 20 20 20 72 65 20 3d 20  .          re = 
0ae0: 2f 2e 24 2f 3b 0a 20 20 20 20 20 20 20 20 20 20  /.$/;.          
0af0: 77 20 3d 20 77 2e 72 65 70 6c 61 63 65 28 72 65  w = w.replace(re
0b00: 2c 22 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a  ,"");.        }.
0b10: 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20          else if 
0b20: 28 72 65 34 2e 74 65 73 74 28 77 29 29 0a 20 20  (re4.test(w)).  
0b30: 20 20 20 20 20 20 20 20 77 20 3d 20 77 20 2b 20          w = w + 
0b40: 22 65 22 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20  "e";.      }.   
0b50: 20 7d 0a 0a 20 20 20 20 2f 2f 20 53 74 65 70 20   }..    // Step 
0b60: 31 63 0a 20 20 20 20 72 65 20 3d 20 2f 5e 28 2e  1c.    re = /^(.
0b70: 2b 3f 29 79 24 2f 3b 0a 20 20 20 20 69 66 20 28  +?)y$/;.    if (
0b80: 72 65 2e 74 65 73 74 28 77 29 29 20 7b 0a 20 20  re.test(w)) {.  
0b90: 20 20 20 20 76 61 72 20 66 70 20 3d 20 72 65 2e      var fp = re.
0ba0: 65 78 65 63 28 77 29 3b 0a 20 20 20 20 20 20 73  exec(w);.      s
0bb0: 74 65 6d 20 3d 20 66 70 5b 31 5d 3b 0a 20 20 20  tem = fp[1];.   
0bc0: 20 20 20 72 65 20 3d 20 6e 65 77 20 52 65 67 45     re = new RegE
0bd0: 78 70 28 73 5f 76 29 3b 0a 20 20 20 20 20 20 69  xp(s_v);.      i
0be0: 66 20 28 72 65 2e 74 65 73 74 28 73 74 65 6d 29  f (re.test(stem)
0bf0: 29 0a 20 20 20 20 20 20 20 20 77 20 3d 20 73 74  ).        w = st
0c00: 65 6d 20 2b 20 22 69 22 3b 0a 20 20 20 20 7d 0a  em + "i";.    }.
0c10: 0a 20 20 20 20 2f 2f 20 53 74 65 70 20 32 0a 20  .    // Step 2. 
0c20: 20 20 20 72 65 20 3d 20 2f 5e 28 2e 2b 3f 29 28     re = /^(.+?)(
0c30: 61 74 69 6f 6e 61 6c 7c 74 69 6f 6e 61 6c 7c 65  ational|tional|e
0c40: 6e 63 69 7c 61 6e 63 69 7c 69 7a 65 72 7c 62 6c  nci|anci|izer|bl
0c50: 69 7c 61 6c 6c 69 7c 65 6e 74 6c 69 7c 65 6c 69  i|alli|entli|eli
0c60: 7c 6f 75 73 6c 69 7c 69 7a 61 74 69 6f 6e 7c 61  |ousli|ization|a
0c70: 74 69 6f 6e 7c 61 74 6f 72 7c 61 6c 69 73 6d 7c  tion|ator|alism|
0c80: 69 76 65 6e 65 73 73 7c 66 75 6c 6e 65 73 73 7c  iveness|fulness|
0c90: 6f 75 73 6e 65 73 73 7c 61 6c 69 74 69 7c 69 76  ousness|aliti|iv
0ca0: 69 74 69 7c 62 69 6c 69 74 69 7c 6c 6f 67 69 29  iti|biliti|logi)
0cb0: 24 2f 3b 0a 20 20 20 20 69 66 20 28 72 65 2e 74  $/;.    if (re.t
0cc0: 65 73 74 28 77 29 29 20 7b 0a 20 20 20 20 20 20  est(w)) {.      
0cd0: 76 61 72 20 66 70 20 3d 20 72 65 2e 65 78 65 63  var fp = re.exec
0ce0: 28 77 29 3b 0a 20 20 20 20 20 20 73 74 65 6d 20  (w);.      stem 
0cf0: 3d 20 66 70 5b 31 5d 3b 0a 20 20 20 20 20 20 73  = fp[1];.      s
0d00: 75 66 66 69 78 20 3d 20 66 70 5b 32 5d 3b 0a 20  uffix = fp[2];. 
0d10: 20 20 20 20 20 72 65 20 3d 20 6e 65 77 20 52 65       re = new Re
0d20: 67 45 78 70 28 6d 67 72 30 29 3b 0a 20 20 20 20  gExp(mgr0);.    
0d30: 20 20 69 66 20 28 72 65 2e 74 65 73 74 28 73 74    if (re.test(st
0d40: 65 6d 29 29 0a 20 20 20 20 20 20 20 20 77 20 3d  em)).        w =
0d50: 20 73 74 65 6d 20 2b 20 73 74 65 70 32 6c 69 73   stem + step2lis
0d60: 74 5b 73 75 66 66 69 78 5d 3b 0a 20 20 20 20 7d  t[suffix];.    }
0d70: 0a 0a 20 20 20 20 2f 2f 20 53 74 65 70 20 33 0a  ..    // Step 3.
0d80: 20 20 20 20 72 65 20 3d 20 2f 5e 28 2e 2b 3f 29      re = /^(.+?)
0d90: 28 69 63 61 74 65 7c 61 74 69 76 65 7c 61 6c 69  (icate|ative|ali
0da0: 7a 65 7c 69 63 69 74 69 7c 69 63 61 6c 7c 66 75  ze|iciti|ical|fu
0db0: 6c 7c 6e 65 73 73 29 24 2f 3b 0a 20 20 20 20 69  l|ness)$/;.    i
0dc0: 66 20 28 72 65 2e 74 65 73 74 28 77 29 29 20 7b  f (re.test(w)) {
0dd0: 0a 20 20 20 20 20 20 76 61 72 20 66 70 20 3d 20  .      var fp = 
0de0: 72 65 2e 65 78 65 63 28 77 29 3b 0a 20 20 20 20  re.exec(w);.    
0df0: 20 20 73 74 65 6d 20 3d 20 66 70 5b 31 5d 3b 0a    stem = fp[1];.
0e00: 20 20 20 20 20 20 73 75 66 66 69 78 20 3d 20 66        suffix = f
0e10: 70 5b 32 5d 3b 0a 20 20 20 20 20 20 72 65 20 3d  p[2];.      re =
0e20: 20 6e 65 77 20 52 65 67 45 78 70 28 6d 67 72 30   new RegExp(mgr0
0e30: 29 3b 0a 20 20 20 20 20 20 69 66 20 28 72 65 2e  );.      if (re.
0e40: 74 65 73 74 28 73 74 65 6d 29 29 0a 20 20 20 20  test(stem)).    
0e50: 20 20 20 20 77 20 3d 20 73 74 65 6d 20 2b 20 73      w = stem + s
0e60: 74 65 70 33 6c 69 73 74 5b 73 75 66 66 69 78 5d  tep3list[suffix]
0e70: 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20  ;.    }..    // 
0e80: 53 74 65 70 20 34 0a 20 20 20 20 72 65 20 3d 20  Step 4.    re = 
0e90: 2f 5e 28 2e 2b 3f 29 28 61 6c 7c 61 6e 63 65 7c  /^(.+?)(al|ance|
0ea0: 65 6e 63 65 7c 65 72 7c 69 63 7c 61 62 6c 65 7c  ence|er|ic|able|
0eb0: 69 62 6c 65 7c 61 6e 74 7c 65 6d 65 6e 74 7c 6d  ible|ant|ement|m
0ec0: 65 6e 74 7c 65 6e 74 7c 6f 75 7c 69 73 6d 7c 61  ent|ent|ou|ism|a
0ed0: 74 65 7c 69 74 69 7c 6f 75 73 7c 69 76 65 7c 69  te|iti|ous|ive|i
0ee0: 7a 65 29 24 2f 3b 0a 20 20 20 20 72 65 32 20 3d  ze)$/;.    re2 =
0ef0: 20 2f 5e 28 2e 2b 3f 29 28 73 7c 74 29 28 69 6f   /^(.+?)(s|t)(io
0f00: 6e 29 24 2f 3b 0a 20 20 20 20 69 66 20 28 72 65  n)$/;.    if (re
0f10: 2e 74 65 73 74 28 77 29 29 20 7b 0a 20 20 20 20  .test(w)) {.    
0f20: 20 20 76 61 72 20 66 70 20 3d 20 72 65 2e 65 78    var fp = re.ex
0f30: 65 63 28 77 29 3b 0a 20 20 20 20 20 20 73 74 65  ec(w);.      ste
0f40: 6d 20 3d 20 66 70 5b 31 5d 3b 0a 20 20 20 20 20  m = fp[1];.     
0f50: 20 72 65 20 3d 20 6e 65 77 20 52 65 67 45 78 70   re = new RegExp
0f60: 28 6d 67 72 31 29 3b 0a 20 20 20 20 20 20 69 66  (mgr1);.      if
0f70: 20 28 72 65 2e 74 65 73 74 28 73 74 65 6d 29 29   (re.test(stem))
0f80: 0a 20 20 20 20 20 20 20 20 77 20 3d 20 73 74 65  .        w = ste
0f90: 6d 3b 0a 20 20 20 20 7d 0a 20 20 20 20 65 6c 73  m;.    }.    els
0fa0: 65 20 69 66 20 28 72 65 32 2e 74 65 73 74 28 77  e if (re2.test(w
0fb0: 29 29 20 7b 0a 20 20 20 20 20 20 76 61 72 20 66  )) {.      var f
0fc0: 70 20 3d 20 72 65 32 2e 65 78 65 63 28 77 29 3b  p = re2.exec(w);
0fd0: 0a 20 20 20 20 20 20 73 74 65 6d 20 3d 20 66 70  .      stem = fp
0fe0: 5b 31 5d 20 2b 20 66 70 5b 32 5d 3b 0a 20 20 20  [1] + fp[2];.   
0ff0: 20 20 20 72 65 32 20 3d 20 6e 65 77 20 52 65 67     re2 = new Reg
1000: 45 78 70 28 6d 67 72 31 29 3b 0a 20 20 20 20 20  Exp(mgr1);.     
1010: 20 69 66 20 28 72 65 32 2e 74 65 73 74 28 73 74   if (re2.test(st
1020: 65 6d 29 29 0a 20 20 20 20 20 20 20 20 77 20 3d  em)).        w =
1030: 20 73 74 65 6d 3b 0a 20 20 20 20 7d 0a 0a 20 20   stem;.    }..  
1040: 20 20 2f 2f 20 53 74 65 70 20 35 0a 20 20 20 20    // Step 5.    
1050: 72 65 20 3d 20 2f 5e 28 2e 2b 3f 29 65 24 2f 3b  re = /^(.+?)e$/;
1060: 0a 20 20 20 20 69 66 20 28 72 65 2e 74 65 73 74  .    if (re.test
1070: 28 77 29 29 20 7b 0a 20 20 20 20 20 20 76 61 72  (w)) {.      var
1080: 20 66 70 20 3d 20 72 65 2e 65 78 65 63 28 77 29   fp = re.exec(w)
1090: 3b 0a 20 20 20 20 20 20 73 74 65 6d 20 3d 20 66  ;.      stem = f
10a0: 70 5b 31 5d 3b 0a 20 20 20 20 20 20 72 65 20 3d  p[1];.      re =
10b0: 20 6e 65 77 20 52 65 67 45 78 70 28 6d 67 72 31   new RegExp(mgr1
10c0: 29 3b 0a 20 20 20 20 20 20 72 65 32 20 3d 20 6e  );.      re2 = n
10d0: 65 77 20 52 65 67 45 78 70 28 6d 65 71 31 29 3b  ew RegExp(meq1);
10e0: 0a 20 20 20 20 20 20 72 65 33 20 3d 20 6e 65 77  .      re3 = new
10f0: 20 52 65 67 45 78 70 28 22 5e 22 20 2b 20 43 20   RegExp("^" + C 
1100: 2b 20 76 20 2b 20 22 5b 5e 61 65 69 6f 75 77 78  + v + "[^aeiouwx
1110: 79 5d 24 22 29 3b 0a 20 20 20 20 20 20 69 66 20  y]$");.      if 
1120: 28 72 65 2e 74 65 73 74 28 73 74 65 6d 29 20 7c  (re.test(stem) |
1130: 7c 20 28 72 65 32 2e 74 65 73 74 28 73 74 65 6d  | (re2.test(stem
1140: 29 20 26 26 20 21 28 72 65 33 2e 74 65 73 74 28  ) && !(re3.test(
1150: 73 74 65 6d 29 29 29 29 0a 20 20 20 20 20 20 20  stem)))).       
1160: 20 77 20 3d 20 73 74 65 6d 3b 0a 20 20 20 20 7d   w = stem;.    }
1170: 0a 20 20 20 20 72 65 20 3d 20 2f 6c 6c 24 2f 3b  .    re = /ll$/;
1180: 0a 20 20 20 20 72 65 32 20 3d 20 6e 65 77 20 52  .    re2 = new R
1190: 65 67 45 78 70 28 6d 67 72 31 29 3b 0a 20 20 20  egExp(mgr1);.   
11a0: 20 69 66 20 28 72 65 2e 74 65 73 74 28 77 29 20   if (re.test(w) 
11b0: 26 26 20 72 65 32 2e 74 65 73 74 28 77 29 29 20  && re2.test(w)) 
11c0: 7b 0a 20 20 20 20 20 20 72 65 20 3d 20 2f 2e 24  {.      re = /.$
11d0: 2f 3b 0a 20 20 20 20 20 20 77 20 3d 20 77 2e 72  /;.      w = w.r
11e0: 65 70 6c 61 63 65 28 72 65 2c 22 22 29 3b 0a 20  eplace(re,"");. 
11f0: 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 61 6e 64     }..    // and
1200: 20 74 75 72 6e 20 69 6e 69 74 69 61 6c 20 59 20   turn initial Y 
1210: 62 61 63 6b 20 74 6f 20 79 0a 20 20 20 20 69 66  back to y.    if
1220: 20 28 66 69 72 73 74 63 68 20 3d 3d 20 22 79 22   (firstch == "y"
1230: 29 0a 20 20 20 20 20 20 77 20 3d 20 66 69 72 73  ).      w = firs
1240: 74 63 68 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28  tch.toLowerCase(
1250: 29 20 2b 20 77 2e 73 75 62 73 74 72 28 31 29 3b  ) + w.substr(1);
1260: 0a 20 20 20 20 72 65 74 75 72 6e 20 77 3b 0a 20  .    return w;. 
1270: 20 7d 0a 7d 0a 0a 0a 0a 0a 76 61 72 20 73 70 6c   }.}.....var spl
1280: 69 74 43 68 61 72 73 20 3d 20 28 66 75 6e 63 74  itChars = (funct
1290: 69 6f 6e 28 29 20 7b 0a 20 20 20 20 76 61 72 20  ion() {.    var 
12a0: 72 65 73 75 6c 74 20 3d 20 7b 7d 3b 0a 20 20 20  result = {};.   
12b0: 20 76 61 72 20 73 69 6e 67 6c 65 73 20 3d 20 5b   var singles = [
12c0: 39 36 2c 20 31 38 30 2c 20 31 38 37 2c 20 31 39  96, 180, 187, 19
12d0: 31 2c 20 32 31 35 2c 20 32 34 37 2c 20 37 34 39  1, 215, 247, 749
12e0: 2c 20 38 38 35 2c 20 39 30 33 2c 20 39 30 37 2c  , 885, 903, 907,
12f0: 20 39 30 39 2c 20 39 33 30 2c 20 31 30 31 34 2c   909, 930, 1014,
1300: 20 31 36 34 38 2c 0a 20 20 20 20 20 20 20 20 20   1648,.         
1310: 31 37 34 38 2c 20 31 38 30 39 2c 20 32 34 31 36  1748, 1809, 2416
1320: 2c 20 32 34 37 33 2c 20 32 34 38 31 2c 20 32 35  , 2473, 2481, 25
1330: 32 36 2c 20 32 36 30 31 2c 20 32 36 30 39 2c 20  26, 2601, 2609, 
1340: 32 36 31 32 2c 20 32 36 31 35 2c 20 32 36 35 33  2612, 2615, 2653
1350: 2c 20 32 37 30 32 2c 0a 20 20 20 20 20 20 20 20  , 2702,.        
1360: 20 32 37 30 36 2c 20 32 37 32 39 2c 20 32 37 33   2706, 2729, 273
1370: 37 2c 20 32 37 34 30 2c 20 32 38 35 37 2c 20 32  7, 2740, 2857, 2
1380: 38 36 35 2c 20 32 38 36 38 2c 20 32 39 31 30 2c  865, 2868, 2910,
1390: 20 32 39 32 38 2c 20 32 39 34 38 2c 20 32 39 36   2928, 2948, 296
13a0: 31 2c 20 32 39 37 31 2c 0a 20 20 20 20 20 20 20  1, 2971,.       
13b0: 20 20 32 39 37 33 2c 20 33 30 38 35 2c 20 33 30    2973, 3085, 30
13c0: 38 39 2c 20 33 31 31 33 2c 20 33 31 32 34 2c 20  89, 3113, 3124, 
13d0: 33 32 31 33 2c 20 33 32 31 37 2c 20 33 32 34 31  3213, 3217, 3241
13e0: 2c 20 33 32 35 32 2c 20 33 32 39 35 2c 20 33 33  , 3252, 3295, 33
13f0: 34 31 2c 20 33 33 34 35 2c 0a 20 20 20 20 20 20  41, 3345,.      
1400: 20 20 20 33 33 36 39 2c 20 33 35 30 36 2c 20 33     3369, 3506, 3
1410: 35 31 36 2c 20 33 36 33 33 2c 20 33 37 31 35 2c  516, 3633, 3715,
1420: 20 33 37 32 31 2c 20 33 37 33 36 2c 20 33 37 34   3721, 3736, 374
1430: 34 2c 20 33 37 34 38 2c 20 33 37 35 30 2c 20 33  4, 3748, 3750, 3
1440: 37 35 36 2c 20 33 37 36 31 2c 0a 20 20 20 20 20  756, 3761,.     
1450: 20 20 20 20 33 37 38 31 2c 20 33 39 31 32 2c 20      3781, 3912, 
1460: 34 32 33 39 2c 20 34 33 34 37 2c 20 34 36 38 31  4239, 4347, 4681
1470: 2c 20 34 36 39 35 2c 20 34 36 39 37 2c 20 34 37  , 4695, 4697, 47
1480: 34 35 2c 20 34 37 38 35 2c 20 34 37 39 39 2c 20  45, 4785, 4799, 
1490: 34 38 30 31 2c 20 34 38 32 33 2c 0a 20 20 20 20  4801, 4823,.    
14a0: 20 20 20 20 20 34 38 38 31 2c 20 35 37 36 30 2c       4881, 5760,
14b0: 20 35 39 30 31 2c 20 35 39 39 37 2c 20 36 33 31   5901, 5997, 631
14c0: 33 2c 20 37 34 30 35 2c 20 38 30 32 34 2c 20 38  3, 7405, 8024, 8
14d0: 30 32 36 2c 20 38 30 32 38 2c 20 38 30 33 30 2c  026, 8028, 8030,
14e0: 20 38 31 31 37 2c 20 38 31 32 35 2c 0a 20 20 20   8117, 8125,.   
14f0: 20 20 20 20 20 20 38 31 33 33 2c 20 38 31 38 31        8133, 8181
1500: 2c 20 38 34 36 38 2c 20 38 34 38 35 2c 20 38 34  , 8468, 8485, 84
1510: 38 37 2c 20 38 34 38 39 2c 20 38 34 39 34 2c 20  87, 8489, 8494, 
1520: 38 35 32 37 2c 20 31 31 33 31 31 2c 20 31 31 33  8527, 11311, 113
1530: 35 39 2c 20 31 31 36 38 37 2c 20 31 31 36 39 35  59, 11687, 11695
1540: 2c 0a 20 20 20 20 20 20 20 20 20 31 31 37 30 33  ,.         11703
1550: 2c 20 31 31 37 31 31 2c 20 31 31 37 31 39 2c 20  , 11711, 11719, 
1560: 31 31 37 32 37 2c 20 31 31 37 33 35 2c 20 31 32  11727, 11735, 12
1570: 34 34 38 2c 20 31 32 35 33 39 2c 20 34 33 30 31  448, 12539, 4301
1580: 30 2c 20 34 33 30 31 34 2c 20 34 33 30 31 39 2c  0, 43014, 43019,
1590: 20 34 33 35 38 37 2c 0a 20 20 20 20 20 20 20 20   43587,.        
15a0: 20 34 33 36 39 36 2c 20 34 33 37 31 33 2c 20 36   43696, 43713, 6
15b0: 34 32 38 36 2c 20 36 34 32 39 37 2c 20 36 34 33  4286, 64297, 643
15c0: 31 31 2c 20 36 34 33 31 37 2c 20 36 34 33 31 39  11, 64317, 64319
15d0: 2c 20 36 34 33 32 32 2c 20 36 34 33 32 35 2c 20  , 64322, 64325, 
15e0: 36 35 31 34 31 5d 3b 0a 20 20 20 20 76 61 72 20  65141];.    var 
15f0: 69 2c 20 6a 2c 20 73 74 61 72 74 2c 20 65 6e 64  i, j, start, end
1600: 3b 0a 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30  ;.    for (i = 0
1610: 3b 20 69 20 3c 20 73 69 6e 67 6c 65 73 2e 6c 65  ; i < singles.le
1620: 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 20 20 20  ngth; i++) {.   
1630: 20 20 20 20 20 72 65 73 75 6c 74 5b 73 69 6e 67       result[sing
1640: 6c 65 73 5b 69 5d 5d 20 3d 20 74 72 75 65 3b 0a  les[i]] = true;.
1650: 20 20 20 20 7d 0a 20 20 20 20 76 61 72 20 72 61      }.    var ra
1660: 6e 67 65 73 20 3d 20 5b 5b 30 2c 20 34 37 5d 2c  nges = [[0, 47],
1670: 20 5b 35 38 2c 20 36 34 5d 2c 20 5b 39 31 2c 20   [58, 64], [91, 
1680: 39 34 5d 2c 20 5b 31 32 33 2c 20 31 36 39 5d 2c  94], [123, 169],
1690: 20 5b 31 37 31 2c 20 31 37 37 5d 2c 20 5b 31 38   [171, 177], [18
16a0: 32 2c 20 31 38 34 5d 2c 20 5b 37 30 36 2c 20 37  2, 184], [706, 7
16b0: 30 39 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 37  09],.         [7
16c0: 32 32 2c 20 37 33 35 5d 2c 20 5b 37 34 31 2c 20  22, 735], [741, 
16d0: 37 34 37 5d 2c 20 5b 37 35 31 2c 20 38 37 39 5d  747], [751, 879]
16e0: 2c 20 5b 38 38 38 2c 20 38 38 39 5d 2c 20 5b 38  , [888, 889], [8
16f0: 39 34 2c 20 39 30 31 5d 2c 20 5b 31 31 35 34 2c  94, 901], [1154,
1700: 20 31 31 36 31 5d 2c 0a 20 20 20 20 20 20 20 20   1161],.        
1710: 20 5b 31 33 31 38 2c 20 31 33 32 38 5d 2c 20 5b   [1318, 1328], [
1720: 31 33 36 37 2c 20 31 33 36 38 5d 2c 20 5b 31 33  1367, 1368], [13
1730: 37 30 2c 20 31 33 37 36 5d 2c 20 5b 31 34 31 36  70, 1376], [1416
1740: 2c 20 31 34 38 37 5d 2c 20 5b 31 35 31 35 2c 20  , 1487], [1515, 
1750: 31 35 31 39 5d 2c 20 5b 31 35 32 33 2c 20 31 35  1519], [1523, 15
1760: 36 38 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 31  68],.         [1
1770: 36 31 31 2c 20 31 36 33 31 5d 2c 20 5b 31 36 34  611, 1631], [164
1780: 32 2c 20 31 36 34 35 5d 2c 20 5b 31 37 35 30 2c  2, 1645], [1750,
1790: 20 31 37 36 34 5d 2c 20 5b 31 37 36 37 2c 20 31   1764], [1767, 1
17a0: 37 37 33 5d 2c 20 5b 31 37 38 39 2c 20 31 37 39  773], [1789, 179
17b0: 30 5d 2c 20 5b 31 37 39 32 2c 20 31 38 30 37 5d  0], [1792, 1807]
17c0: 2c 0a 20 20 20 20 20 20 20 20 20 5b 31 38 34 30  ,.         [1840
17d0: 2c 20 31 38 36 38 5d 2c 20 5b 31 39 35 38 2c 20  , 1868], [1958, 
17e0: 31 39 36 38 5d 2c 20 5b 31 39 37 30 2c 20 31 39  1968], [1970, 19
17f0: 38 33 5d 2c 20 5b 32 30 32 37 2c 20 32 30 33 35  83], [2027, 2035
1800: 5d 2c 20 5b 32 30 33 38 2c 20 32 30 34 31 5d 2c  ], [2038, 2041],
1810: 20 5b 32 30 34 33 2c 20 32 30 34 37 5d 2c 0a 20   [2043, 2047],. 
1820: 20 20 20 20 20 20 20 20 5b 32 30 37 30 2c 20 32          [2070, 2
1830: 30 37 33 5d 2c 20 5b 32 30 37 35 2c 20 32 30 38  073], [2075, 208
1840: 33 5d 2c 20 5b 32 30 38 35 2c 20 32 30 38 37 5d  3], [2085, 2087]
1850: 2c 20 5b 32 30 38 39 2c 20 32 33 30 37 5d 2c 20  , [2089, 2307], 
1860: 5b 32 33 36 32 2c 20 32 33 36 34 5d 2c 20 5b 32  [2362, 2364], [2
1870: 33 36 36 2c 20 32 33 38 33 5d 2c 0a 20 20 20 20  366, 2383],.    
1880: 20 20 20 20 20 5b 32 33 38 35 2c 20 32 33 39 31       [2385, 2391
1890: 5d 2c 20 5b 32 34 30 32 2c 20 32 34 30 35 5d 2c  ], [2402, 2405],
18a0: 20 5b 32 34 31 39 2c 20 32 34 32 34 5d 2c 20 5b   [2419, 2424], [
18b0: 32 34 33 32 2c 20 32 34 33 36 5d 2c 20 5b 32 34  2432, 2436], [24
18c0: 34 35 2c 20 32 34 34 36 5d 2c 20 5b 32 34 34 39  45, 2446], [2449
18d0: 2c 20 32 34 35 30 5d 2c 0a 20 20 20 20 20 20 20  , 2450],.       
18e0: 20 20 5b 32 34 38 33 2c 20 32 34 38 35 5d 2c 20    [2483, 2485], 
18f0: 5b 32 34 39 30 2c 20 32 34 39 32 5d 2c 20 5b 32  [2490, 2492], [2
1900: 34 39 34 2c 20 32 35 30 39 5d 2c 20 5b 32 35 31  494, 2509], [251
1910: 31 2c 20 32 35 32 33 5d 2c 20 5b 32 35 33 30 2c  1, 2523], [2530,
1920: 20 32 35 33 33 5d 2c 20 5b 32 35 34 36 2c 20 32   2533], [2546, 2
1930: 35 34 37 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b  547],.         [
1940: 32 35 35 34 2c 20 32 35 36 34 5d 2c 20 5b 32 35  2554, 2564], [25
1950: 37 31 2c 20 32 35 37 34 5d 2c 20 5b 32 35 37 37  71, 2574], [2577
1960: 2c 20 32 35 37 38 5d 2c 20 5b 32 36 31 38 2c 20  , 2578], [2618, 
1970: 32 36 34 38 5d 2c 20 5b 32 36 35 35 2c 20 32 36  2648], [2655, 26
1980: 36 31 5d 2c 20 5b 32 36 37 32 2c 20 32 36 37 33  61], [2672, 2673
1990: 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 32 36 37  ],.         [267
19a0: 37 2c 20 32 36 39 32 5d 2c 20 5b 32 37 34 36 2c  7, 2692], [2746,
19b0: 20 32 37 34 38 5d 2c 20 5b 32 37 35 30 2c 20 32   2748], [2750, 2
19c0: 37 36 37 5d 2c 20 5b 32 37 36 39 2c 20 32 37 38  767], [2769, 278
19d0: 33 5d 2c 20 5b 32 37 38 36 2c 20 32 37 38 39 5d  3], [2786, 2789]
19e0: 2c 20 5b 32 38 30 30 2c 20 32 38 32 30 5d 2c 0a  , [2800, 2820],.
19f0: 20 20 20 20 20 20 20 20 20 5b 32 38 32 39 2c 20           [2829, 
1a00: 32 38 33 30 5d 2c 20 5b 32 38 33 33 2c 20 32 38  2830], [2833, 28
1a10: 33 34 5d 2c 20 5b 32 38 37 34 2c 20 32 38 37 36  34], [2874, 2876
1a20: 5d 2c 20 5b 32 38 37 38 2c 20 32 39 30 37 5d 2c  ], [2878, 2907],
1a30: 20 5b 32 39 31 34 2c 20 32 39 31 37 5d 2c 20 5b   [2914, 2917], [
1a40: 32 39 33 30 2c 20 32 39 34 36 5d 2c 0a 20 20 20  2930, 2946],.   
1a50: 20 20 20 20 20 20 5b 32 39 35 35 2c 20 32 39 35        [2955, 295
1a60: 37 5d 2c 20 5b 32 39 36 36 2c 20 32 39 36 38 5d  7], [2966, 2968]
1a70: 2c 20 5b 32 39 37 36 2c 20 32 39 37 38 5d 2c 20  , [2976, 2978], 
1a80: 5b 32 39 38 31 2c 20 32 39 38 33 5d 2c 20 5b 32  [2981, 2983], [2
1a90: 39 38 37 2c 20 32 39 38 39 5d 2c 20 5b 33 30 30  987, 2989], [300
1aa0: 32 2c 20 33 30 32 33 5d 2c 0a 20 20 20 20 20 20  2, 3023],.      
1ab0: 20 20 20 5b 33 30 32 35 2c 20 33 30 34 35 5d 2c     [3025, 3045],
1ac0: 20 5b 33 30 35 39 2c 20 33 30 37 36 5d 2c 20 5b   [3059, 3076], [
1ad0: 33 31 33 30 2c 20 33 31 33 32 5d 2c 20 5b 33 31  3130, 3132], [31
1ae0: 33 34 2c 20 33 31 35 39 5d 2c 20 5b 33 31 36 32  34, 3159], [3162
1af0: 2c 20 33 31 36 37 5d 2c 20 5b 33 31 37 30 2c 20  , 3167], [3170, 
1b00: 33 31 37 33 5d 2c 0a 20 20 20 20 20 20 20 20 20  3173],.         
1b10: 5b 33 31 38 34 2c 20 33 31 39 31 5d 2c 20 5b 33  [3184, 3191], [3
1b20: 31 39 39 2c 20 33 32 30 34 5d 2c 20 5b 33 32 35  199, 3204], [325
1b30: 38 2c 20 33 32 36 30 5d 2c 20 5b 33 32 36 32 2c  8, 3260], [3262,
1b40: 20 33 32 39 33 5d 2c 20 5b 33 32 39 38 2c 20 33   3293], [3298, 3
1b50: 33 30 31 5d 2c 20 5b 33 33 31 32 2c 20 33 33 33  301], [3312, 333
1b60: 32 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 33 33  2],.         [33
1b70: 38 36 2c 20 33 33 38 38 5d 2c 20 5b 33 33 39 30  86, 3388], [3390
1b80: 2c 20 33 34 32 33 5d 2c 20 5b 33 34 32 36 2c 20  , 3423], [3426, 
1b90: 33 34 32 39 5d 2c 20 5b 33 34 34 36 2c 20 33 34  3429], [3446, 34
1ba0: 34 39 5d 2c 20 5b 33 34 35 36 2c 20 33 34 36 30  49], [3456, 3460
1bb0: 5d 2c 20 5b 33 34 37 39 2c 20 33 34 38 31 5d 2c  ], [3479, 3481],
1bc0: 0a 20 20 20 20 20 20 20 20 20 5b 33 35 31 38 2c  .         [3518,
1bd0: 20 33 35 31 39 5d 2c 20 5b 33 35 32 37 2c 20 33   3519], [3527, 3
1be0: 35 38 34 5d 2c 20 5b 33 36 33 36 2c 20 33 36 34  584], [3636, 364
1bf0: 37 5d 2c 20 5b 33 36 35 35 2c 20 33 36 36 33 5d  7], [3655, 3663]
1c00: 2c 20 5b 33 36 37 34 2c 20 33 37 31 32 5d 2c 20  , [3674, 3712], 
1c10: 5b 33 37 31 37 2c 20 33 37 31 38 5d 2c 0a 20 20  [3717, 3718],.  
1c20: 20 20 20 20 20 20 20 5b 33 37 32 33 2c 20 33 37         [3723, 37
1c30: 32 34 5d 2c 20 5b 33 37 32 36 2c 20 33 37 33 31  24], [3726, 3731
1c40: 5d 2c 20 5b 33 37 35 32 2c 20 33 37 35 33 5d 2c  ], [3752, 3753],
1c50: 20 5b 33 37 36 34 2c 20 33 37 37 32 5d 2c 20 5b   [3764, 3772], [
1c60: 33 37 37 34 2c 20 33 37 37 35 5d 2c 20 5b 33 37  3774, 3775], [37
1c70: 38 33 2c 20 33 37 39 31 5d 2c 0a 20 20 20 20 20  83, 3791],.     
1c80: 20 20 20 20 5b 33 38 30 32 2c 20 33 38 30 33 5d      [3802, 3803]
1c90: 2c 20 5b 33 38 30 36 2c 20 33 38 33 39 5d 2c 20  , [3806, 3839], 
1ca0: 5b 33 38 34 31 2c 20 33 38 37 31 5d 2c 20 5b 33  [3841, 3871], [3
1cb0: 38 39 32 2c 20 33 39 30 33 5d 2c 20 5b 33 39 34  892, 3903], [394
1cc0: 39 2c 20 33 39 37 35 5d 2c 20 5b 33 39 38 30 2c  9, 3975], [3980,
1cd0: 20 34 30 39 35 5d 2c 0a 20 20 20 20 20 20 20 20   4095],.        
1ce0: 20 5b 34 31 33 39 2c 20 34 31 35 38 5d 2c 20 5b   [4139, 4158], [
1cf0: 34 31 37 30 2c 20 34 31 37 35 5d 2c 20 5b 34 31  4170, 4175], [41
1d00: 38 32 2c 20 34 31 38 35 5d 2c 20 5b 34 31 39 30  82, 4185], [4190
1d10: 2c 20 34 31 39 32 5d 2c 20 5b 34 31 39 34 2c 20  , 4192], [4194, 
1d20: 34 31 39 36 5d 2c 20 5b 34 31 39 39 2c 20 34 32  4196], [4199, 42
1d30: 30 35 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 34  05],.         [4
1d40: 32 30 39 2c 20 34 32 31 32 5d 2c 20 5b 34 32 32  209, 4212], [422
1d50: 36 2c 20 34 32 33 37 5d 2c 20 5b 34 32 35 30 2c  6, 4237], [4250,
1d60: 20 34 32 35 35 5d 2c 20 5b 34 32 39 34 2c 20 34   4255], [4294, 4
1d70: 33 30 33 5d 2c 20 5b 34 33 34 39 2c 20 34 33 35  303], [4349, 435
1d80: 31 5d 2c 20 5b 34 36 38 36 2c 20 34 36 38 37 5d  1], [4686, 4687]
1d90: 2c 0a 20 20 20 20 20 20 20 20 20 5b 34 37 30 32  ,.         [4702
1da0: 2c 20 34 37 30 33 5d 2c 20 5b 34 37 35 30 2c 20  , 4703], [4750, 
1db0: 34 37 35 31 5d 2c 20 5b 34 37 39 30 2c 20 34 37  4751], [4790, 47
1dc0: 39 31 5d 2c 20 5b 34 38 30 36 2c 20 34 38 30 37  91], [4806, 4807
1dd0: 5d 2c 20 5b 34 38 38 36 2c 20 34 38 38 37 5d 2c  ], [4886, 4887],
1de0: 20 5b 34 39 35 35 2c 20 34 39 36 38 5d 2c 0a 20   [4955, 4968],. 
1df0: 20 20 20 20 20 20 20 20 5b 34 39 38 39 2c 20 34          [4989, 4
1e00: 39 39 31 5d 2c 20 5b 35 30 30 38 2c 20 35 30 32  991], [5008, 502
1e10: 33 5d 2c 20 5b 35 31 30 39 2c 20 35 31 32 30 5d  3], [5109, 5120]
1e20: 2c 20 5b 35 37 34 31 2c 20 35 37 34 32 5d 2c 20  , [5741, 5742], 
1e30: 5b 35 37 38 37 2c 20 35 37 39 31 5d 2c 20 5b 35  [5787, 5791], [5
1e40: 38 36 37 2c 20 35 38 36 39 5d 2c 0a 20 20 20 20  867, 5869],.    
1e50: 20 20 20 20 20 5b 35 38 37 33 2c 20 35 38 38 37       [5873, 5887
1e60: 5d 2c 20 5b 35 39 30 36 2c 20 35 39 31 39 5d 2c  ], [5906, 5919],
1e70: 20 5b 35 39 33 38 2c 20 35 39 35 31 5d 2c 20 5b   [5938, 5951], [
1e80: 35 39 37 30 2c 20 35 39 38 33 5d 2c 20 5b 36 30  5970, 5983], [60
1e90: 30 31 2c 20 36 30 31 35 5d 2c 20 5b 36 30 36 38  01, 6015], [6068
1ea0: 2c 20 36 31 30 32 5d 2c 0a 20 20 20 20 20 20 20  , 6102],.       
1eb0: 20 20 5b 36 31 30 34 2c 20 36 31 30 37 5d 2c 20    [6104, 6107], 
1ec0: 5b 36 31 30 39 2c 20 36 31 31 31 5d 2c 20 5b 36  [6109, 6111], [6
1ed0: 31 32 32 2c 20 36 31 32 37 5d 2c 20 5b 36 31 33  122, 6127], [613
1ee0: 38 2c 20 36 31 35 39 5d 2c 20 5b 36 31 37 30 2c  8, 6159], [6170,
1ef0: 20 36 31 37 35 5d 2c 20 5b 36 32 36 34 2c 20 36   6175], [6264, 6
1f00: 32 37 31 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b  271],.         [
1f10: 36 33 31 35 2c 20 36 33 31 39 5d 2c 20 5b 36 33  6315, 6319], [63
1f20: 39 30 2c 20 36 33 39 39 5d 2c 20 5b 36 34 32 39  90, 6399], [6429
1f30: 2c 20 36 34 36 39 5d 2c 20 5b 36 35 31 30 2c 20  , 6469], [6510, 
1f40: 36 35 31 31 5d 2c 20 5b 36 35 31 37 2c 20 36 35  6511], [6517, 65
1f50: 32 37 5d 2c 20 5b 36 35 37 32 2c 20 36 35 39 32  27], [6572, 6592
1f60: 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 36 36 30  ],.         [660
1f70: 30 2c 20 36 36 30 37 5d 2c 20 5b 36 36 31 39 2c  0, 6607], [6619,
1f80: 20 36 36 35 35 5d 2c 20 5b 36 36 37 39 2c 20 36   6655], [6679, 6
1f90: 36 38 37 5d 2c 20 5b 36 37 34 31 2c 20 36 37 38  687], [6741, 678
1fa0: 33 5d 2c 20 5b 36 37 39 34 2c 20 36 37 39 39 5d  3], [6794, 6799]
1fb0: 2c 20 5b 36 38 31 30 2c 20 36 38 32 32 5d 2c 0a  , [6810, 6822],.
1fc0: 20 20 20 20 20 20 20 20 20 5b 36 38 32 34 2c 20           [6824, 
1fd0: 36 39 31 36 5d 2c 20 5b 36 39 36 34 2c 20 36 39  6916], [6964, 69
1fe0: 38 30 5d 2c 20 5b 36 39 38 38 2c 20 36 39 39 31  80], [6988, 6991
1ff0: 5d 2c 20 5b 37 30 30 32 2c 20 37 30 34 32 5d 2c  ], [7002, 7042],
2000: 20 5b 37 30 37 33 2c 20 37 30 38 35 5d 2c 20 5b   [7073, 7085], [
2010: 37 30 39 38 2c 20 37 31 36 37 5d 2c 0a 20 20 20  7098, 7167],.   
2020: 20 20 20 20 20 20 5b 37 32 30 34 2c 20 37 32 33        [7204, 723
2030: 31 5d 2c 20 5b 37 32 34 32 2c 20 37 32 34 34 5d  1], [7242, 7244]
2040: 2c 20 5b 37 32 39 34 2c 20 37 34 30 30 5d 2c 20  , [7294, 7400], 
2050: 5b 37 34 31 30 2c 20 37 34 32 33 5d 2c 20 5b 37  [7410, 7423], [7
2060: 36 31 36 2c 20 37 36 37 39 5d 2c 20 5b 37 39 35  616, 7679], [795
2070: 38 2c 20 37 39 35 39 5d 2c 0a 20 20 20 20 20 20  8, 7959],.      
2080: 20 20 20 5b 37 39 36 36 2c 20 37 39 36 37 5d 2c     [7966, 7967],
2090: 20 5b 38 30 30 36 2c 20 38 30 30 37 5d 2c 20 5b   [8006, 8007], [
20a0: 38 30 31 34 2c 20 38 30 31 35 5d 2c 20 5b 38 30  8014, 8015], [80
20b0: 36 32 2c 20 38 30 36 33 5d 2c 20 5b 38 31 32 37  62, 8063], [8127
20c0: 2c 20 38 31 32 39 5d 2c 20 5b 38 31 34 31 2c 20  , 8129], [8141, 
20d0: 38 31 34 33 5d 2c 0a 20 20 20 20 20 20 20 20 20  8143],.         
20e0: 5b 38 31 34 38 2c 20 38 31 34 39 5d 2c 20 5b 38  [8148, 8149], [8
20f0: 31 35 36 2c 20 38 31 35 39 5d 2c 20 5b 38 31 37  156, 8159], [817
2100: 33 2c 20 38 31 37 37 5d 2c 20 5b 38 31 38 39 2c  3, 8177], [8189,
2110: 20 38 33 30 33 5d 2c 20 5b 38 33 30 36 2c 20 38   8303], [8306, 8
2120: 33 30 37 5d 2c 20 5b 38 33 31 34 2c 20 38 33 31  307], [8314, 831
2130: 38 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 38 33  8],.         [83
2140: 33 30 2c 20 38 33 33 35 5d 2c 20 5b 38 33 34 31  30, 8335], [8341
2150: 2c 20 38 34 34 39 5d 2c 20 5b 38 34 35 31 2c 20  , 8449], [8451, 
2160: 38 34 35 34 5d 2c 20 5b 38 34 35 36 2c 20 38 34  8454], [8456, 84
2170: 35 37 5d 2c 20 5b 38 34 37 30 2c 20 38 34 37 32  57], [8470, 8472
2180: 5d 2c 20 5b 38 34 37 38 2c 20 38 34 38 33 5d 2c  ], [8478, 8483],
2190: 0a 20 20 20 20 20 20 20 20 20 5b 38 35 30 36 2c  .         [8506,
21a0: 20 38 35 30 37 5d 2c 20 5b 38 35 31 32 2c 20 38   8507], [8512, 8
21b0: 35 31 36 5d 2c 20 5b 38 35 32 32 2c 20 38 35 32  516], [8522, 852
21c0: 35 5d 2c 20 5b 38 35 38 36 2c 20 39 33 31 31 5d  5], [8586, 9311]
21d0: 2c 20 5b 39 33 37 32 2c 20 39 34 34 39 5d 2c 20  , [9372, 9449], 
21e0: 5b 39 34 37 32 2c 20 31 30 31 30 31 5d 2c 0a 20  [9472, 10101],. 
21f0: 20 20 20 20 20 20 20 20 5b 31 30 31 33 32 2c 20          [10132, 
2200: 31 31 32 36 33 5d 2c 20 5b 31 31 34 39 33 2c 20  11263], [11493, 
2210: 31 31 34 39 38 5d 2c 20 5b 31 31 35 30 33 2c 20  11498], [11503, 
2220: 31 31 35 31 36 5d 2c 20 5b 31 31 35 31 38 2c 20  11516], [11518, 
2230: 31 31 35 31 39 5d 2c 20 5b 31 31 35 35 38 2c 20  11519], [11558, 
2240: 31 31 35 36 37 5d 2c 0a 20 20 20 20 20 20 20 20  11567],.        
2250: 20 5b 31 31 36 32 32 2c 20 31 31 36 33 30 5d 2c   [11622, 11630],
2260: 20 5b 31 31 36 33 32 2c 20 31 31 36 34 37 5d 2c   [11632, 11647],
2270: 20 5b 31 31 36 37 31 2c 20 31 31 36 37 39 5d 2c   [11671, 11679],
2280: 20 5b 31 31 37 34 33 2c 20 31 31 38 32 32 5d 2c   [11743, 11822],
2290: 20 5b 31 31 38 32 34 2c 20 31 32 32 39 32 5d 2c   [11824, 12292],
22a0: 0a 20 20 20 20 20 20 20 20 20 5b 31 32 32 39 36  .         [12296
22b0: 2c 20 31 32 33 32 30 5d 2c 20 5b 31 32 33 33 30  , 12320], [12330
22c0: 2c 20 31 32 33 33 36 5d 2c 20 5b 31 32 33 34 32  , 12336], [12342
22d0: 2c 20 31 32 33 34 33 5d 2c 20 5b 31 32 33 34 39  , 12343], [12349
22e0: 2c 20 31 32 33 35 32 5d 2c 20 5b 31 32 34 33 39  , 12352], [12439
22f0: 2c 20 31 32 34 34 34 5d 2c 0a 20 20 20 20 20 20  , 12444],.      
2300: 20 20 20 5b 31 32 35 34 34 2c 20 31 32 35 34 38     [12544, 12548
2310: 5d 2c 20 5b 31 32 35 39 30 2c 20 31 32 35 39 32  ], [12590, 12592
2320: 5d 2c 20 5b 31 32 36 38 37 2c 20 31 32 36 38 39  ], [12687, 12689
2330: 5d 2c 20 5b 31 32 36 39 34 2c 20 31 32 37 30 33  ], [12694, 12703
2340: 5d 2c 20 5b 31 32 37 32 38 2c 20 31 32 37 38 33  ], [12728, 12783
2350: 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 31 32 38  ],.         [128
2360: 30 30 2c 20 31 32 38 33 31 5d 2c 20 5b 31 32 38  00, 12831], [128
2370: 34 32 2c 20 31 32 38 38 30 5d 2c 20 5b 31 32 38  42, 12880], [128
2380: 39 36 2c 20 31 32 39 32 37 5d 2c 20 5b 31 32 39  96, 12927], [129
2390: 33 38 2c 20 31 32 39 37 36 5d 2c 20 5b 31 32 39  38, 12976], [129
23a0: 39 32 2c 20 31 33 33 31 31 5d 2c 0a 20 20 20 20  92, 13311],.    
23b0: 20 20 20 20 20 5b 31 39 38 39 34 2c 20 31 39 39       [19894, 199
23c0: 36 37 5d 2c 20 5b 34 30 39 30 38 2c 20 34 30 39  67], [40908, 409
23d0: 35 39 5d 2c 20 5b 34 32 31 32 35 2c 20 34 32 31  59], [42125, 421
23e0: 39 31 5d 2c 20 5b 34 32 32 33 38 2c 20 34 32 32  91], [42238, 422
23f0: 33 39 5d 2c 20 5b 34 32 35 30 39 2c 20 34 32 35  39], [42509, 425
2400: 31 31 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 34  11],.         [4
2410: 32 35 34 30 2c 20 34 32 35 35 39 5d 2c 20 5b 34  2540, 42559], [4
2420: 32 35 39 32 2c 20 34 32 35 39 33 5d 2c 20 5b 34  2592, 42593], [4
2430: 32 36 30 37 2c 20 34 32 36 32 32 5d 2c 20 5b 34  2607, 42622], [4
2440: 32 36 34 38 2c 20 34 32 36 35 35 5d 2c 20 5b 34  2648, 42655], [4
2450: 32 37 33 36 2c 20 34 32 37 37 34 5d 2c 0a 20 20  2736, 42774],.  
2460: 20 20 20 20 20 20 20 5b 34 32 37 38 34 2c 20 34         [42784, 4
2470: 32 37 38 35 5d 2c 20 5b 34 32 38 38 39 2c 20 34  2785], [42889, 4
2480: 32 38 39 30 5d 2c 20 5b 34 32 38 39 33 2c 20 34  2890], [42893, 4
2490: 33 30 30 32 5d 2c 20 5b 34 33 30 34 33 2c 20 34  3002], [43043, 4
24a0: 33 30 35 35 5d 2c 20 5b 34 33 30 36 32 2c 20 34  3055], [43062, 4
24b0: 33 30 37 31 5d 2c 0a 20 20 20 20 20 20 20 20 20  3071],.         
24c0: 5b 34 33 31 32 34 2c 20 34 33 31 33 37 5d 2c 20  [43124, 43137], 
24d0: 5b 34 33 31 38 38 2c 20 34 33 32 31 35 5d 2c 20  [43188, 43215], 
24e0: 5b 34 33 32 32 36 2c 20 34 33 32 34 39 5d 2c 20  [43226, 43249], 
24f0: 5b 34 33 32 35 36 2c 20 34 33 32 35 38 5d 2c 20  [43256, 43258], 
2500: 5b 34 33 32 36 30 2c 20 34 33 32 36 33 5d 2c 0a  [43260, 43263],.
2510: 20 20 20 20 20 20 20 20 20 5b 34 33 33 30 32 2c           [43302,
2520: 20 34 33 33 31 31 5d 2c 20 5b 34 33 33 33 35 2c   43311], [43335,
2530: 20 34 33 33 35 39 5d 2c 20 5b 34 33 33 38 39 2c   43359], [43389,
2540: 20 34 33 33 39 35 5d 2c 20 5b 34 33 34 34 33 2c   43395], [43443,
2550: 20 34 33 34 37 30 5d 2c 20 5b 34 33 34 38 32 2c   43470], [43482,
2560: 20 34 33 35 31 39 5d 2c 0a 20 20 20 20 20 20 20   43519],.       
2570: 20 20 5b 34 33 35 36 31 2c 20 34 33 35 38 33 5d    [43561, 43583]
2580: 2c 20 5b 34 33 35 39 36 2c 20 34 33 35 39 39 5d  , [43596, 43599]
2590: 2c 20 5b 34 33 36 31 30 2c 20 34 33 36 31 35 5d  , [43610, 43615]
25a0: 2c 20 5b 34 33 36 33 39 2c 20 34 33 36 34 31 5d  , [43639, 43641]
25b0: 2c 20 5b 34 33 36 34 33 2c 20 34 33 36 34 37 5d  , [43643, 43647]
25c0: 2c 0a 20 20 20 20 20 20 20 20 20 5b 34 33 36 39  ,.         [4369
25d0: 38 2c 20 34 33 37 30 30 5d 2c 20 5b 34 33 37 30  8, 43700], [4370
25e0: 33 2c 20 34 33 37 30 34 5d 2c 20 5b 34 33 37 31  3, 43704], [4371
25f0: 30 2c 20 34 33 37 31 31 5d 2c 20 5b 34 33 37 31  0, 43711], [4371
2600: 35 2c 20 34 33 37 33 38 5d 2c 20 5b 34 33 37 34  5, 43738], [4374
2610: 32 2c 20 34 33 39 36 37 5d 2c 0a 20 20 20 20 20  2, 43967],.     
2620: 20 20 20 20 5b 34 34 30 30 33 2c 20 34 34 30 31      [44003, 4401
2630: 35 5d 2c 20 5b 34 34 30 32 36 2c 20 34 34 30 33  5], [44026, 4403
2640: 31 5d 2c 20 5b 35 35 32 30 34 2c 20 35 35 32 31  1], [55204, 5521
2650: 35 5d 2c 20 5b 35 35 32 33 39 2c 20 35 35 32 34  5], [55239, 5524
2660: 32 5d 2c 20 5b 35 35 32 39 32 2c 20 35 35 32 39  2], [55292, 5529
2670: 35 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b 35 37  5],.         [57
2680: 33 34 34 2c 20 36 33 37 34 33 5d 2c 20 5b 36 34  344, 63743], [64
2690: 30 34 36 2c 20 36 34 30 34 37 5d 2c 20 5b 36 34  046, 64047], [64
26a0: 31 31 30 2c 20 36 34 31 31 31 5d 2c 20 5b 36 34  110, 64111], [64
26b0: 32 31 38 2c 20 36 34 32 35 35 5d 2c 20 5b 36 34  218, 64255], [64
26c0: 32 36 33 2c 20 36 34 32 37 34 5d 2c 0a 20 20 20  263, 64274],.   
26d0: 20 20 20 20 20 20 5b 36 34 32 38 30 2c 20 36 34        [64280, 64
26e0: 32 38 34 5d 2c 20 5b 36 34 34 33 34 2c 20 36 34  284], [64434, 64
26f0: 34 36 36 5d 2c 20 5b 36 34 38 33 30 2c 20 36 34  466], [64830, 64
2700: 38 34 37 5d 2c 20 5b 36 34 39 31 32 2c 20 36 34  847], [64912, 64
2710: 39 31 33 5d 2c 20 5b 36 34 39 36 38 2c 20 36 35  913], [64968, 65
2720: 30 30 37 5d 2c 0a 20 20 20 20 20 20 20 20 20 5b  007],.         [
2730: 36 35 30 32 30 2c 20 36 35 31 33 35 5d 2c 20 5b  65020, 65135], [
2740: 36 35 32 37 37 2c 20 36 35 32 39 35 5d 2c 20 5b  65277, 65295], [
2750: 36 35 33 30 36 2c 20 36 35 33 31 32 5d 2c 20 5b  65306, 65312], [
2760: 36 35 33 33 39 2c 20 36 35 33 34 34 5d 2c 20 5b  65339, 65344], [
2770: 36 35 33 37 31 2c 20 36 35 33 38 31 5d 2c 0a 20  65371, 65381],. 
2780: 20 20 20 20 20 20 20 20 5b 36 35 34 37 31 2c 20          [65471, 
2790: 36 35 34 37 33 5d 2c 20 5b 36 35 34 38 30 2c 20  65473], [65480, 
27a0: 36 35 34 38 31 5d 2c 20 5b 36 35 34 38 38 2c 20  65481], [65488, 
27b0: 36 35 34 38 39 5d 2c 20 5b 36 35 34 39 36 2c 20  65489], [65496, 
27c0: 36 35 34 39 37 5d 5d 3b 0a 20 20 20 20 66 6f 72  65497]];.    for
27d0: 20 28 69 20 3d 20 30 3b 20 69 20 3c 20 72 61 6e   (i = 0; i < ran
27e0: 67 65 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29  ges.length; i++)
27f0: 20 7b 0a 20 20 20 20 20 20 20 20 73 74 61 72 74   {.        start
2800: 20 3d 20 72 61 6e 67 65 73 5b 69 5d 5b 30 5d 3b   = ranges[i][0];
2810: 0a 20 20 20 20 20 20 20 20 65 6e 64 20 3d 20 72  .        end = r
2820: 61 6e 67 65 73 5b 69 5d 5b 31 5d 3b 0a 20 20 20  anges[i][1];.   
2830: 20 20 20 20 20 66 6f 72 20 28 6a 20 3d 20 73 74       for (j = st
2840: 61 72 74 3b 20 6a 20 3c 3d 20 65 6e 64 3b 20 6a  art; j <= end; j
2850: 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20  ++) {.          
2860: 20 20 72 65 73 75 6c 74 5b 6a 5d 20 3d 20 74 72    result[j] = tr
2870: 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20  ue;.        }.  
2880: 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 72    }.    return r
2890: 65 73 75 6c 74 3b 0a 7d 29 28 29 3b 0a 0a 66 75  esult;.})();..fu
28a0: 6e 63 74 69 6f 6e 20 73 70 6c 69 74 51 75 65 72  nction splitQuer
28b0: 79 28 71 75 65 72 79 29 20 7b 0a 20 20 20 20 76  y(query) {.    v
28c0: 61 72 20 72 65 73 75 6c 74 20 3d 20 5b 5d 3b 0a  ar result = [];.
28d0: 20 20 20 20 76 61 72 20 73 74 61 72 74 20 3d 20      var start = 
28e0: 2d 31 3b 0a 20 20 20 20 66 6f 72 20 28 76 61 72  -1;.    for (var
28f0: 20 69 20 3d 20 30 3b 20 69 20 3c 20 71 75 65 72   i = 0; i < quer
2900: 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b  y.length; i++) {
2910: 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 70 6c  .        if (spl
2920: 69 74 43 68 61 72 73 5b 71 75 65 72 79 2e 63 68  itChars[query.ch
2930: 61 72 43 6f 64 65 41 74 28 69 29 5d 29 20 7b 0a  arCodeAt(i)]) {.
2940: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
2950: 73 74 61 72 74 20 21 3d 3d 20 2d 31 29 20 7b 0a  start !== -1) {.
2960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2970: 72 65 73 75 6c 74 2e 70 75 73 68 28 71 75 65 72  result.push(quer
2980: 79 2e 73 6c 69 63 65 28 73 74 61 72 74 2c 20 69  y.slice(start, i
2990: 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ));.            
29a0: 20 20 20 20 73 74 61 72 74 20 3d 20 2d 31 3b 0a      start = -1;.
29b0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20              }.  
29c0: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20        } else if 
29d0: 28 73 74 61 72 74 20 3d 3d 3d 20 2d 31 29 20 7b  (start === -1) {
29e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61  .            sta
29f0: 72 74 20 3d 20 69 3b 0a 20 20 20 20 20 20 20 20  rt = i;.        
2a00: 7d 0a 20 20 20 20 7d 0a 20 20 20 20 69 66 20 28  }.    }.    if (
2a10: 73 74 61 72 74 20 21 3d 3d 20 2d 31 29 20 7b 0a  start !== -1) {.
2a20: 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 2e 70          result.p
2a30: 75 73 68 28 71 75 65 72 79 2e 73 6c 69 63 65 28  ush(query.slice(
2a40: 73 74 61 72 74 29 29 3b 0a 20 20 20 20 7d 0a 20  start));.    }. 
2a50: 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74     return result
2a60: 3b 0a 7d 0a 0a 0a                                ;.}...