From 0b587b0d348acf2fd7d09e56c7f0d7d1ccfd7226 Mon Sep 17 00:00:00 2001 From: spencer kelly Date: Tue, 22 Aug 2023 11:35:59 -0400 Subject: [PATCH 01/32] fix for #1027 --- scratch.js | 12 +++++++++--- src/2-two/postTagger/model/dates/date.js | 2 ++ src/2-two/preTagger/tagSet/misc.js | 6 +++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/scratch.js b/scratch.js index dedd0b294..dfbdaf499 100644 --- a/scratch.js +++ b/scratch.js @@ -3,9 +3,17 @@ import nlp from './src/three.js' // import plg from './plugins/dates/src/plugin.js' // nlp.plugin(plg) - nlp.verbose('tagger') +nlp.extend({ + mutate: world => { + world.methods.one.tokenize.isSentence = (str, abbrevs) => { + return + } + }, +}) let arr = [ + '12 a.m.', + 'H.R. 49', 'for January 2022', // 'I left the window open for fresh air.', 'The bridge is built on stable foundations.', @@ -331,5 +339,3 @@ console.log(doc.verbs().conjugate()) // console.log(nlp.parseMatch('[#Month] [#Value] [#Year?]')) // let m = doc.match('[#Month] [#Value] [#Year]?') // console.log(m.groups()) - - diff --git a/src/2-two/postTagger/model/dates/date.js b/src/2-two/postTagger/model/dates/date.js index 168df33c7..d26ddd36f 100644 --- a/src/2-two/postTagger/model/dates/date.js +++ b/src/2-two/postTagger/model/dates/date.js @@ -30,4 +30,6 @@ export default [ { match: `#Adverb [(march|may)]`, group: 0, tag: 'Verb', reason: 'quickly-march' }, //march quickly { match: `[(march|may)] #Adverb`, group: 0, tag: 'Verb', reason: 'march-quickly' }, + //12 am + { match: `#Value (am|pm)`, tag: 'Time', reason: '2-am' }, ] diff --git a/src/2-two/preTagger/tagSet/misc.js b/src/2-two/preTagger/tagSet/misc.js index f554ed0b6..c9d64d0ac 100644 --- a/src/2-two/preTagger/tagSet/misc.js +++ b/src/2-two/preTagger/tagSet/misc.js @@ -59,7 +59,7 @@ export default { not: ['HashTag', 'Verb', 'Adjective', 'Value', 'AtMention'], }, Acronym: { - not: ['Plural', 'RomanNumeral', 'Pronoun'], + not: ['Plural', 'RomanNumeral', 'Pronoun', 'Date'], }, Negative: { not: ['Noun', 'Adjective', 'Value', 'Expression'], @@ -73,8 +73,8 @@ export default { }, // 'co-wrote' Prefix: { - not: ['Abbreviation', 'Acronym', 'ProperNoun'] + not: ['Abbreviation', 'Acronym', 'ProperNoun'], }, // hard-nosed, bone-headed - Hyphenated: {} + Hyphenated: {}, } From 9f78f6d16f2b18ec083a45ba0375b93728dcc9ce Mon Sep 17 00:00:00 2001 From: spencer kelly Date: Thu, 24 Aug 2023 13:29:43 -0400 Subject: [PATCH 02/32] more root tests --- tests/two/match/root-match.test.js | 185 +++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 tests/two/match/root-match.test.js diff --git a/tests/two/match/root-match.test.js b/tests/two/match/root-match.test.js new file mode 100644 index 000000000..e76d81a47 --- /dev/null +++ b/tests/two/match/root-match.test.js @@ -0,0 +1,185 @@ +import test from 'tape' +import nlp from '../_lib.js' +const here = '[two/root-match] ' + +test('root-verb', function (t) { + let arr = [ + ['She dances gracefully.', '{dance}'], + ['They have been studying for hours.', '{study}'], + ['The cat slept on the sofa.', '{sleep}'], + ['I will visit my grandparents next week.', '{visit}'], + ["You shouldn't drive so fast.", '{drive}'], + ['Birds were chirping in the morning.', '{chirp}'], + ['The children often play in the park.', '{play}'], + ['We might go to the cinema tonight.', '{go}'], + ["He doesn't understand the question.", '{understand}'], + ['They ran quickly to catch the bus.', '{run}'], + ['She has painted her room blue.', '{paint}'], + ['You are listening to the radio.', '{listen}'], + ["They'll bake a cake for the party.", '{bake}'], + ["I haven't seen this movie yet.", '{see}'], + ['The dog barks loudly at strangers.', '{bark}'], + ['We were swimming in the ocean.', '{swim}'], + ['She will write a book one day.', '{write}'], + // ['They have traveled around the world.', '{travel}'], + ['The teacher is explaining the lesson.', '{explain}'], + ['He tried to open the door.', '{try}'], + ['He climbs the mountain every year.', '{climb}'], + ['They had forgotten their passports at home.', '{forget}'], + ['I will be cooking dinner when you arrive.', '{cook}'], + ['You sing beautifully.', '{sing}'], + ['She had been reading for two hours.', '{read}'], + ['We enjoy watching movies on weekends.', '{enjoy}'], + ['The sun rises in the east.', '{rise}'], + ['They will have completed the project by then.', '{complete}'], + ['He is wearing a new shirt.', '{wear}'], + ['I dream of traveling to Paris.', '{dream}'], + ["The baby cries when she's hungry.", '{cry}'], + ['They used to live in New York.', '{live}'], + ['The gardener is planting new flowers.', '{plant}'], + ['She will have been working there for five years.', '{work}'], + ['The boys threw the ball in the yard.', '{throw}'], + ["I was wondering if you'd like to join us.", '{wonder}'], + ['Birds fly south for the winter.', '{fly}'], + ['They have bought a new car.', '{buy}'], + ['She is considering studying abroad.', '{consider}'], + ['You have grown since I last saw you.', '{grow}'], + ['The chef prepares delicious meals.', '{prepare}'], + ['She had hoped to see him again.', '{hope}'], + ["I've been waiting for this moment.", '{wait}'], + ['The tree sheds its leaves in autumn.', '{shed}'], + ['He will give a speech at the conference.', '{give}'], + ['She knits in her free time.', '{knit}'], + ['They laughed at the joke.', '{laugh}'], + ['You should eat healthy foods.', '{eat}'], + ["I've always loved the rain.", '{love}'], + ['The artist is drawing a portrait.', '{draw}'], + ['They had sung in the choir.', '{sing}'], + ["The door won't open.", '{open}'], + ['The cat hunts at night.', '{hunt}'], + ['She has been wanting to see that movie.', '{want}'], + ['We had driven all night.', '{drive}'], + ["I'll bring snacks to the party.", '{bring}'], + ['The students are learning about history.', '{learn}'], + ["You shouldn't lie to your friends.", '{lie}'], + ['He builds models as a hobby.', '{build}'], + ['They were watching the sunset.', '{watch}'], + ['The horse gallops across the field.', '{gallop}'], + ['I usually drink tea in the morning.', '{drink}'], + ['The river flows through the city.', '{flow}'], + ['She has always admired her sister.', '{admire}'], + ['I was running when I tripped.', '{run}'], + ['You are going to love this show.', '{love}'], + ['She hides her diary under the bed.', '{hide}'], + ["They've always believed in kindness.", '{believe}'], + ["I'll be taking the train tomorrow.", '{take}'], + ["You've changed a lot over the years.", '{change}'], + + ['The wind blows strongly at night.', '{blow}'], + ['She always smiles when she sees him.', '{smile}'], + ["I'll be joining the club next week.", '{join}'], + ["They've been practicing for the competition.", '{practice}'], + ['The fish swims swiftly in the stream.', '{swim}'], + ['I have decided to take the job.', '{decide}'], + ['You were listening to music all night.', '{listen}'], + ['He often dreams about flying.', '{dream}'], + ['She will be performing on stage.', '{perform}'], + ['The children usually skip rope during recess.', '{skip}'], + ["I've missed the bus again.", '{miss}'], + ['The sun sets beautifully over the horizon.', '{set}'], + ['She was crying over the sad movie.', '{cry}'], + ['The students often discuss their projects.', '{discuss}'], + // ["I'll be traveling to Spain next month.", '{travel}'], + ['The bird often perches on that branch.', '{perch}'], + ["You've been working really hard lately.", '{work}'], + ['The phone rings incessantly.', '{ring}'], + ['She was always teasing her younger brother.', '{tease}'], + ["I've baked cookies for the party.", '{bake}'], + ['He is going to propose tonight.', '{propose}'], + ["They've been thinking about moving out.", '{think}'], + ['I was playing video games last night.', '{play}'], + ['The dog always chases the postman.', '{chase}'], + ['The flowers bloom in spring.', '{bloom}'], + ['He will have written three books by next year.', '{write}'], + ['She has never tasted such delicious ice cream.', '{taste}'], + ["I'm often hiking in the mountains.", '{hike}'], + ['The baby was crawling towards the toy.', '{crawl}'], + ['They always celebrate their anniversary.', '{celebrate}'], + ['The mechanic fixes cars.', '{fix}'], + ['I will have finished my work by then.', '{finish}'], + ['She sings in the shower every morning.', '{sing}'], + ['The tree has grown so tall over the years.', '{grow}'], + ['You were always encouraging me.', '{encourage}'], + ["I'm planning a trip to the beach.", '{plan}'], + ['They have never understood the concept.', '{understand}'], + ['She collects stamps from different countries.', '{collect}'], + ['You were laughing so hard at that joke.', '{laugh}'], + ['The kids love playing in the snow.', '{play}'], + ["She'll be attending the workshop next week.", '{attend}'], + ["I've often wondered about the universe.", '{wonder}'], + ['They dive into the pool every summer.', '{dive}'], + ['The cat always scratches the furniture.', '{scratch}'], + ["He'll be dancing at the event.", '{dance}'], + ["You've inspired many people.", '{inspire}'], + ["She's always cherished those memories.", '{cherish}'], + ['The rain pours heavily in the monsoon.', '{pour}'], + ["They've always admired her courage.", '{admire}'], + ["I've been waiting here for hours.", '{wait}'], + ['He often jogs in the park.', '{jog}'], + // ['The horse galloped across the meadow.', '{gallop}'], + ["She's been knitting a scarf.", '{knit}'], + ['You always brighten my day.', '{brighten}'], + ['They will have invested a lot by then.', '{invest}'], + ['The snake slithered across the ground.', '{slither}'], + ['She adores her pet cat.', '{adore}'], + ['I was cleaning my room when you called.', '{clean}'], + ['Birds chirp every morning.', '{chirp}'], + ['I will be flying to London next week.', '{fly}'], + ["You've amazed everyone with your talent.", '{amaze}'], + ['They were shopping all day.', '{shop}'], + ["He's been researching this topic for months.", '{research}'], + ['I always cherish our time together.', '{cherish}'], + ['The teacher enlightens students with knowledge.', '{enlighten}'], + ['She will be cooking for the party.', '{cook}'], + ['The river meanders through the valley.', '{meander}'], + ["I've been humming that song all day.", '{hum}'], + ['You often inspire those around you.', '{inspire}'], + ['The deer grazed in the meadow.', '{graze}'], + ["I've booked a table for tonight.", '{book}'], + ['They will be celebrating their victory.', '{celebrate}'], + ['The clock ticks every second.', '{tick}'], + ['She was watching her favorite show.', '{watch}'], + ['I often swim in the lake.', '{swim}'], + ['The stars shimmer in the night sky.', '{shimmer}'], + ['You have been teaching for a decade.', '{teach}'], + ['The wind whispered through the trees.', '{whisper}'], + ["He'll be painting the wall tomorrow.", '{paint}'], + ['They always applaud after the performance.', '{applaud}'], + ["I've danced since I was five.", '{dance}'], + ['The bird soared high in the sky.', '{soar}'], + ["She's been collecting coins for years.", '{collect}'], + ['I always rely on my instincts.', '{rely}'], + ['The sun blazes in the summer.', '{blaze}'], + ['He always whistles while working.', '{whistle}'], + ["They've been hiking up the mountain.", '{hike}'], + ['I was sketching the landscape.', '{sketch}'], + ['The dog wags its tail when happy.', '{wag}'], + ['You should always respect your elders.', '{respect}'], + ['The leaves rustle in the wind.', '{rustle}'], + ["I've been daydreaming a lot lately.", '{daydream}'], + ['They will be camping this weekend.', '{camp}'], + ['The baby giggles when tickled.', '{giggle}'], + ["He's been composing music since college.", '{compose}'], + ['The bee buzzes around the flowers.', '{buzz}'], + ['She will be translating the document.', '{translate}'], + ['They were clapping for the winner.', '{clap}'], + ["I often marvel at nature's beauty.", '{marvel}'], + ] + + arr.forEach(a => { + let [str, m] = a + let doc = nlp(str) + t.equal(doc.has(m), true, here + str) + }) + t.end() +}) From dc80b319768ba27ec15e1eee08aef6b8fc740601 Mon Sep 17 00:00:00 2001 From: spencer kelly Date: Thu, 24 Aug 2023 14:38:52 -0400 Subject: [PATCH 03/32] more named-entities from jareds list --- data/lexicon/nouns/organizations.js | 22 +++++++ data/lexicon/people/people.js | 74 ++++++++++++++++++++++ src/2-two/preTagger/model/lexicon/_data.js | 6 +- tmp-NER.js | 50 +++++++++++++++ 4 files changed, 149 insertions(+), 3 deletions(-) create mode 100644 tmp-NER.js diff --git a/data/lexicon/nouns/organizations.js b/data/lexicon/nouns/organizations.js index 09b72a5a7..7315fe142 100644 --- a/data/lexicon/nouns/organizations.js +++ b/data/lexicon/nouns/organizations.js @@ -327,4 +327,26 @@ export default [ 'eurosceptics', 'brexiteers', + 'audi', + 'bacardi', + 'cadillac', + 'coco chanel', + 'fc barcelona', + 'fifa', + 'halliburton', + 'ikea', + 'klm', + 'lexus', + // 'mcgill university', + 'michelin', + 'nivea', + 'pepsi', + 'philips', + 'premier league', + 'real madrid', + 'roman empire', + 'scientology', + 'smirnoff', + 'wikileaks', + 'wikipedia', ] diff --git a/data/lexicon/people/people.js b/data/lexicon/people/people.js index b6b5c62c8..a8138216b 100644 --- a/data/lexicon/people/people.js +++ b/data/lexicon/people/people.js @@ -119,4 +119,78 @@ export default [ 'reilly', 'warren', 'woode', + + 'al capone', + 'al pacino', + 'archimedes', + 'aung san suu kyi', + 'avril lavigne', + 'ayn rand', + 'benazir bhutto', + 'bill gates', + 'bing crosby', + 'captain beefheart', + 'chopin', + 'christian bale', + 'conan', + 'cthulhu', + 'dalai lama', + 'darth vader', + 'demi lovato', + 'diego maradona', + 'dmitry medvedev', + 'doctor who', + 'ebenezer scrooge', + 'emile zatopek', + 'emmeline pankhurst', + 'exxon mobil', + 'florence nightingale', + 'frédéric chopin', + 'haile selassie', + 'harrison ford', + 'he man', + 'henry ford', + 'humphrey bogart', + 'iron man', + 'jrr tolkien', + 'jfk', + 'jack the ripper', + 'jawaharlal nehru', + 'jay-z', + 'jimi hendrix', + 'kid cudi', + 'lech walesa', + 'macaulay culkin', + 'mata hari', + 'maya angelou', + 'merlin', + 'micky ward', + 'napoleon', + 'pocahontas', + 'rachmaninoff', + 'raisa gorbachev', + 'ringo starr', + 'robin hood', + 'santa claus', + 'sergei rachmaninoff', + 'sherlock holmes', + 'shia labeouf', + 'sigmund freud', + 'silvio berlusconi', + 'snoop dogg', + 'snow white', + 'spider-man', + 'spiderman', + 'superman', + 'thor', + 'tupac shakur', + 'usain bolt', + 'vin diesel', + 'virginia woolf', + 'walt disney', + 'will ferrell', + 'wiz khalifa', + 'wright brothers', + 'yoko onen', + 'yoko ono', ] diff --git a/src/2-two/preTagger/model/lexicon/_data.js b/src/2-two/preTagger/model/lexicon/_data.js index 16e0ca05b..91edbd67a 100644 --- a/src/2-two/preTagger/model/lexicon/_data.js +++ b/src/2-two/preTagger/model/lexicon/_data.js @@ -17,7 +17,8 @@ export default { "Imperative": "true¦bewa0come he0;re", "Plural|Verb": "true¦leaves", "Demonym": "true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an", - "Organization": "true¦0:4D;a3Gb2Yc2Ed26e22f1Xg1Ph1Ki1Hj1Fk1Dl18m0Wn0Jo0Gp09qu08r01sTtGuBv8w3xiaomi,y1;amaha,m13ou1w13;gov,tu2Z;a3e1orld trade organizati2S;lls fargo,st1;fie28inghou2I;l1rner br3I;gree37l street journ29m17;an halOeriz2Nisa,o1;dafo2Ol1;kswagMvo;b4kip,n2ps,s1;a tod2Yps;es3Ai1;lev33ted natio30;er,s; mobi2Qaco beQd bNeAgi frida9h3im horto2Ymz,o1witt31;shi3Xy1;ota,s r 00;e 1in lizzy;b3carpen37daily ma31guess w2holli0rolling st1Rs1w2;mashing pumpki2Tuprem0;ho;ea1lack eyed pe3Lyrds;ch bo1tl0;ys;l2n3Ds1xas instrumen1J;co,la m15;efoni0Cus;a7e4ieme2Lnp,o2pice gir5quare04ta1ubaru;rbucks,to2R;ny,undgard1;en;a2x pisto1;ls;g1Nrs;few2Ainsbury2QlesforYmsu22;.e.m.,adiohead,b6e3oyal 1yana30;b1dutch she4;ank;aders dige1Gd 1max,vl1R;bu1c1Zhot chili peppe2Nlobst2C;ll;c,s;ant30izno2I;a5bs,e3fiz28hilip morrCi2r1;emier2Audenti16;nk floyd,zza hut;psi2Btro1uge0A;br2Vchina,n2V;lant2Nn1yp12; 2ason20da2I;ld navy,pec,range juli2xf1;am;us;aAb9e6fl,h5i4o1sa,vid3wa;k2tre dame,vart1;is;ia;ke,ntendo,ss0L;l,s;c,st1Htflix,w1; 1sweek;kids on the block,york09;a,c;nd1Vs2t1;ional aca2Io,we0Q;a,cYd0O;aBcdonaldAe7i5lb,o3tv,y1;spa1;ce;b1Mnsanto,ody blu0t1;ley crue,or0O;crosoft,t1;as,subisM;dica2rcedes benz,talli1;ca;id,re;'s,s;c's milk,tt14z1Z;'ore08a3e1g,ittle caesa1K;novo,x1;is,mark; 1bour party;pres0Bz boy;atv,fc,kk,m1od1J;art;iffy lu0Moy divisi0Gpmorgan1sa;! cha07;bm,hop,n1tv;g,te1;l,rpol;asbro,ewlett pack1Ri3o1sbc,yundai;me dep1n1L;ot;tac1zbollah;hi;eneral 6hq,ithub,l5mb,o2reen d0Lu1;cci,ns n ros0;ldman sachs,o1;dye1g0E;ar;axo smith kli03encoV;electr0Km1;oto0W;a4bi,da,edex,i2leetwood mac,o1rito l0D;rd,xcX;at,nancial1restoY; tim0;cebook,nnie mae;b08sa,u3xxon1; m1m1;ob0H;!rosceptics;aiml0Be6isney,o4u1;nkin donu2po0Xran dur1;an;ts;j,w j1;on0;a,f lepp0Zll,peche mode,r spiegZstiny's chi1;ld;aIbc,hEiCloudflaBnn,o3r1;aigsli5eedence clearwater reviv1ossra06;al;ca c7inba6l4m1o0Bst06;ca2p1;aq;st;dplPg1;ate;se;ola;re;a,sco1tigroup;! systems;ev2i1;ck fil-a,na daily;r1y;on;dbury,pital o1rl's jr;ne;aEbc,eBf9l5mw,ni,o1p,rexiteeU;ei3mbardiIston 1;glo1pizza;be;ng;o2ue c1;roV;ckbuster video,omingda1;le; g1g1;oodriL;cht2e ge0rkshire hathaw1;ay;el;idu,nana republ3s1xt5y5;f,kin robbi1;ns;ic;bYcTdidSerosmith,iRlKmEnheuser-busDol,pple9r6s3utodesk,v2y1;er;is,on;hland1sociated F; o1;il;by4g2m1;co;os; compu2bee1;'s;te1;rs;ch;c,d,erican3t1;!r1;ak; ex1;pre1;ss; 5catel2ta1;ir;!-lu1;ce1;nt;jazeera,qae1;da;g,rbnb;as;/dc,a3er,tivision1;! blizz1;ard;demy of scienc0;es;ba", + "Organization": "true¦0:4Q;1:3Y;a3Ub3Cc2Pd2He2Ff29g21h1Vi1Rj1Pk1Nl1Im14n0Ro0Op0Equ0Dr04sVtIuDvAw4xiaomi,y2;amaha,m1Dou2w1D;gov,tu3D;a5e3iki2orld trade organizati34;leaTped0Q;lls fargo,st2;fie2Iinghou2S;l2rner br3V;gree3Kl street journ2Jm1G;an halQeriz2Yisa,o2;dafo2Zl2;kswagOvo;b5kip,n3ps,s2;a tod3Bps;es3Ni2;lev3Gted natio3D;er,s; mobi33aco beTd bQeBgi fridaAh4im horto3Bmz,o2witt3E;shi4Ay2;ota,s r 07;e 2in lizzy;b4carpen3Kdaily ma1guess w3holli0rolling st21s2w3;mashing pumpki36uprem0;ho;ea2lack eyed pe3Yyrds;ch bo2tl0;ys;l3n3Qs2xas instrumen1T;co,la m1G;efoni0Lus;a9cientology,e6ieme2Ymirnoff,np,o4pice gir7quare0Bta2ubaru;rbuc2to1;ks;ny,undgard2;en;a3x pisto2;ls;g1Wrs;few2Minsbury32lesfor04msu2E;.e.m.,adiohead,b9e5o2yana3C;man empi1Xyal 2;b2dutch she5;ank;a4d 2max,vl20;bu2c2Ahot chili peppe2Ylobst2N;ll;ders dige1Ll madrid;c,s;ant3Aizno2S;a9bs,e6fiz2Ihilip5i4r2;emier 2udenti1D;leagUo1;nk floyd,zza hut; morrCs;psi3tro2uge0F;br33chi0Un33;!co;lant2Un2yp16; 3ason27da2P;ld navy,pec,range juli3xf2;am;us;aBbAe7fl,h6i5o2sa,vid4wa;k3tre dame,vart2;is;ia;ke,ntendo,ss0Pv00;l,s;c,st1Otflix,w2; 2sweek;kids on the block,york0E;a,c;nd22s3t2;ional aca2Po,we0U;a,c03d0S;aEcdonaldDeAi7lb,o4tv,y2;spa2;ce;b1nsanto,ody blu0t2;ley cr2or0T;ue;c3t2;as,subisP;helin,rosoft;dica3rcedes benz,talli2;ca;id,re;'s,s;c's milk,tt19z24;'ore0Aa4e2g,ittle caesa1P;novo,x2;is,mark,us; 2bour party;pres0Dz boy;atv,fc,kk,lm,m2od1O;art;iffy lu0Roy divisi0Jpmorgan2sa;! cha09;bm,hop,k4n2tv;g,te2;l,rpol;ea;a6ewlett pack1Vi4o2sbc,yundai;me dep2n1P;ot;tac2zbollah;hi;lliburt08sbro;eneral 7hq,ithub,l6mb,o3reen d0Ou2;cci,ns n ros0;ldman sachs,o2;dye2g0H;ar;axo smith kli04encoW;electr0Nm2;oto0Z;a6bi,c barcelo5da,edex,i3leetwood m03o2rito l0G;rd,xcY;at,fa,nancial2restoZ; tim0;na;cebook,nnie mae;b0Asa,u2xxonmob1;!rosceptics;aiml0Fe7isney,o5u2;nkin donu3po11ran dur2;an;ts;j,w j2;on0;a,f lepp13ll,peche mode,r spieg03stiny's chi2;ld;aKbc,hGiEloudflaDnn,o4r2;aigsli6eedence clearwater reviv2ossra1;al;c8inba7l5m2o0Fst0A;ca3p2;aq;st;dplTg2;ate;se;a c2o chanR;ola;re;a,sco2tigroup;! systems;ev3i2;ck fil-a,na daily;r2y;on;d3pital o2rl's jr;ne;bury,ill2;ac;aFbc,eCfAl6mw,ni,o2p,rexiteeV;ei4mbardiJston 2;glo2pizza;be;ng;o3ue c2;roW;ckbuster video,omingda2;le; g2g2;oodriM;cht3e ge0rkshire hathaw2;ay;el;cardi,idu,nana republ4s2xt6y6;f,kin robbi2;ns;ic;bZcUdidTerosmith,iSlLmFnheuser-busEol,ppleAr7s5u4v3y2;er;is,on;di,todesk;hland o1sociated F;il;by5g3m2;co;os; compu3bee2;'s;te2;rs;ch;c,d,erican4t2;!r2;ak; ex2;pre2;ss; 6catel3ta2;ir;!-lu2;ce2;nt;jazeera,qae2;da;g,rbnb;as;/dc,a4er,tivision2;! blizz2;ard;demy of scienc0;es;ba", + "Person": "true¦a1Xb1Nc1Ad11e0Uf0Tg0Sh0Ki0Jj0Gk0Cl0Am02nZoYpVrMsEtAusain bolt,v7w2xzibit,y0;anHoko on0;en,o;a2ednesday adams,i0oode,right brothers;ll0z khalifa; ferre0A.i.am;lt disn1Fr0;hol,r0A;a1i0oltai01;n dies0Mrginia wo0W;lentino rossi,n goE;a2h1i0upac shakur,yra banks;ger woods,mbal1M;eresa may,or;tum,ylor;a5carlett johanss0Zergei racFh4i2lobodan milosevic,no1ocr1Cpider0uperm08;-m07m07;op dogg,w whi18;gmund freud,lvio berlusco0nbad;ni;akespeaPerlock holm1Iia labeouf;ddam hussa0Wnt0;a cla0Rigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;bin hood,d stew0Wnald0thko;in0Bo;han0Ongo starr,valdo;ese witherspo0LilCmbrandt;c0ffi,isa gorbach09y roma1A;hmaninoff;a1e15ip13la0Yo0uff daddy;cahont0Ae;lm11ris hilt0G;prah winfr0Mra;a1e0iles cra15ostradam0D; yo,l4ttZ;pole0Cs;a4e3i1o0ubarW;by,lie5net,rriss0H;cky waMranda ju0tt romn0G;ly;rl0AssiaA;c0ta hari,ya angelou;aulay culk08klemo0;re;ady gaga,e0ibera0I;bron jam0Qch walesa,e;anye weKe1i0obe bryant;d cudi,efer sutherl0K;ats,nda0sha;ll;a1effersXfk,imi hendrix,k rowling,rr tolki0;en;ck the ripp0Gime,waharlal nehru,y-z;nez,ron m3;a3e1itl0Eu0;lk hog1mphrey bog00; m0nry 3;an;ile selassBlle berry,rrison0;! 0;fo0;rd;astLotye;lorence nightinga07rédéric chopN;benezer scrooge,ff5m1nya,xxon mobil,zeki0;el;eril lagasse,i1meline pankhur0;st;le zatop0nem;ek;ie;a6e4i2mitry medved1octor w0rake;ho;ev;ck w0ego maradoB;olf;g0mi lovaNnzel washingt7;as;l0nGrth vadQ;ai lMt4;a7h4lint3o0thulhu;n0olio;an,fuci0;us;on;aucJop1ristian baLy0;na;in;ptain beefhe3r0;dinal wols1son0;! palmE;ey;art;a7e4i2oGro0;ck,n0;te;ll g0ng crosby;atA;ck,nazir bhut1yon0;ce;to;nksy,rack ob0;ama;l 5r2shton kutch1ung san suu kyi,vril lavig7yn r0;and;er;chimed1istot0;le;es;capo1paci0;no;ne", "Possessive": "true¦its,my,our0thy;!s", "Noun|Verb": "true¦0:9U;1:A8;2:94;3:A1;4:9P;5:A0;6:9I;7:8L;8:7J;9:A6;A:91;B:8V;C:8B;a9Mb8Oc7Gd6Pe6Ef5Qg5Gh54i4Wj4Tk4Ql4Em40n3Vo3Sp2Squ2Rr21s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Die66;aOeMhJiHoErD;ap,e9Mink2;nd0rDuB;kDry,sh5Fth;!shop;ck,nDpe,re,sh;!d,g;e84iD;p,sD;k,p0t2;aDed,lco8U;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5DiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l4A;pDr7;da5gra6Clo68;aReQhrPiOoMrGuEwiDy5X;n,st;nDrn;e,n7M;aGeFiEoDu6y;t,ub2;bu5ck4Igg0m,p;at,k,nd;ck,de,in,nsDp,v7H;f0i8P;ll,ne,p,r4Wss,t92uD;ch,r;ck,de,e,le,me,p,re;e5Uow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ns5x;k,ly;a0Sc0Ne0Kh0Fi0Dk0Bl09m08n06o05pXquaCtKuFwD;ea86iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2U;lDo6Q;e6Ny;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a83eEiDo5Nugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e54inDu3;g,k2;ns89t;a5Oit;ll,n,r85te;ed,ll;m,n,rk;b,uB;aDee1Tow;ke,p;a5He4Di2o51;eep,iDou4;ce,p,t;ateboa7HiD;!p;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se", "Actor": "true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7nt0sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt", @@ -43,14 +44,13 @@ export default { "City": "true¦0:77;1:64;2:6J;3:6M;4:5V;a6Bb56c4Ld4Be47f3Zg3Kh3Ci33j2Yk2Hl25m1Nn1Do1Ap0Xq0Vr0Os05tRuQvLwDxiBy9z5;a7h5i4Puri4R;a5e5ongsh0;ng3K;greb,nzib5J;ang2e5okoha3Vunfu;katerin3Krev0;a5n0R;m5Kn;arsBeAi6roclBu5;h0xi,zh5S;c7n5;d5nipeg,terth4;hoek,s1N;hi62kl3D;l66xford;aw;a8e6i5ladivost5Polgogr6O;en3lni6V;ni24r5;n2o3saill4Q;lenc4Zncouv3Vr3ughn;lan bat1Erumqi,trecht;aFbilisi,eEheDiBo9r7u5;l23n66r5;in,ku;i5ondh65;es54poli;kyo,m32ron1Rulo5;n,uS;an5jua3l2Wmisoa6Era3;j4Wshui; hag65ssaloni2K;gucigal28hr0l av1W;briz,i6llinn,mpe59ng5rtu,shk2U;i3Hsh0;an,chu1n0p2Hyu0;aEeDh8kopje,owe1It7u5;ra5zh50;ba0It;aten is58ockholm,rasbou6Auttga2Y;an8e6i5;jiazhua1llo1m60y0;f53n5;ya1zh4K;gh3Nt4T;att48o1Yv47;cramen18int ClBn5o paulo,ppo3Urajevo; 7aa,t5;a 5o domin3H;a3fe,m1O;antonBdie3Ffrancisco,j5ped3Qsalvad0L;o5u0;se;em,t lake ci5Iz28;lou5Bpeters27;aAe9i7o5;me,sar5t5C;io;ga,o5yadh;! de janei3H;cife,ims,nn3Lykjavik;b4Uip4lei2Knc2Rwalpindi;ingdao,u5;ez2i0R;aFeEhDiCo9r7u6yong5;ya1;eb5Bya1;a5etor3O;g54to;rt5zn0; 5la4Eo;au prin0Nelizabe26sa04;ls3Rrae5Ctts28;iladelph3Inom pe1Coenix;ki1r23tah tik3G;dua,lerZnaji,r4Qt5;na,r34;ak46des0Lm1Or6s5ttawa;a3Xlo;an,d07;a7ew5ing2Hovosibir1Lyc; 5cast38;del26orlea46taip16;g8iro4Yn5pl2Yshv35v0;ch6ji1t5;es,o1;a1o1;a6o5p4;ya;no,sa0Y;aFeCi9o6u5;mb2Cni28sc40;gadishu,nt6s5;c15ul;evideo,pelli1Tre31;ami,l6n16s5;kolc,sissauga;an,waukee;cca,d5lbour2Omph43ndo1Essi3;an,ell5i3;in,ín;cau,drAkass2Tl9n8r5shh4B;aca6ib5rakesh,se2M;or;i1Ty;a4FchFdal10i48;mo;id;aDeAi8o6u5vSy2;anMckn0Pdhia3;n5s angel27;d2g bea1O;brev2Ce3Mma5nz,sb2verpo29;!ss28; ma3Ai5;c5pzig;est17; p6g5ho2Xn0Dusan25;os;az,la34;aHharFiClaipeBo9rak0Eu7y5;iv,o5;to;ala lump4n5;mi1sh0;hi0Ilka2Ypavog4si5wlo2;ce;da;ev,n5rkuk;gst2sha5;sa;k5toum;iv;bIdu3llakuric0Rmpa3Gn6ohsiu1ra5un1Jwaguc0R;c0Qj;d5o,p4;ah1Uy;a7e6i5ohannesW;l1Wn0;dd37rusalem;ip4k5;ar2I;bad0mph1PnBrkutVs8taYz5̇zm7;m6tapala5;pa;ir;fah0l6tanb5;ul;am2Zi2H;che2d5;ianap2Mo20;aAe7o5yder2W; chi mi5ms,nolulu;nh;f6lsin5rakli2;ki;ei;ifa,lifax,mCn5rb1Dva3;g8nov01oi;aFdanEenDhCiPlasgBo9raz,u5;a5jr23;dal6ng5yaquil;zh1J;aja2Oupe;ld coa1Bthen5;bu2S;ow;ent;e0Uoa;sk;lw7n5za;dhi5gt1E;nag0U;ay;aisal29es,o8r6ukuya5;ma;ankfu5esno;rt;rt5sh0; wor6ale5;za;th;d5indhov0Pl paso;in5mont2;bur5;gh;aBe8ha0Xisp4o7resd0Lu5;b5esseldorf,nkirk,rb0shanbe;ai,l0I;ha,nggu0rtmu13;hradSl6nv5troit;er;hi;donghIe6k09l5masc1Zr es sala1KugavpiY;i0lU;gu,je2;aJebu,hAleve0Vo5raio02uriti1Q;lo7n6penhag0Ar5;do1Ok;akKst0V;gUm5;bo;aBen8i6ongqi1ristchur5;ch;ang m7ca5ttago1;go;g6n5;ai;du,zho1;ng5ttogr14;ch8sha,zh07;gliari,i9lga8mayenJn6pe town,r5tanO;acCdiff;ber1Ac5;un;ry;ro;aWeNhKirmingh0WoJr9u5;chareTdapeTenos air7r5s0tu0;g5sa;as;es;a9is6usse5;ls;ba6t5;ol;ne;sil8tisla7zzav5;il5;le;va;ia;goZst2;op6ubaneshw5;ar;al;iCl9ng8r5;g6l5n;in;en;aluru,hazi;fa6grade,o horizon5;te;st;ji1rut;ghd0BkFn9ot8r7s6yan n4;ur;el,r07;celo3i,ranquil09;ou;du1g6ja lu5;ka;alo6k5;ok;re;ng;ers5u;field;a05b02cc01ddis aba00gartaZhmedXizawl,lSmPnHqa00rEsBt7uck5;la5;nd;he7l5;an5;ta;ns;h5unci2;dod,gab5;at;li5;ngt2;on;a8c5kaOtwerp;hora6o3;na;ge;h7p5;ol5;is;eim;aravati,m0s5;terd5;am; 7buquerq6eppo,giers,ma5;ty;ue;basrah al qadim5mawsil al jadid5;ah;ab5;ad;la;ba;ra;idj0u dha5;bi;an;lbo6rh5;us;rg", "Region": "true¦0:2N;1:2T;2:2K;a2Qb2Dc1Zd1Ues1Tf1Rg1Lh1Hi1Cj18k13l10m0Pn07o05pZqWrTsKtFuCv9w5y3zacatec2U;akut0o0Du3;cat2k07;a4est 3isconsin,yomi1M;bengal,vi6;rwick2Bshington3;! dc;er4i3;rgin0;acruz,mont;dmurt0t3;ah,tar3; 2La0X;a5e4laxca1Rripu1Xu3;scaDva;langa1nnessee,x2F;bas0Vm3smNtar25;aulip2Dil nadu;a8i6o4taf11u3ylh1F;ffYrr04s1A;me1Cno1Quth 3;cVdU;ber0c3kkim,naloa;hu2ily;n4skatchew2xo3;ny; luis potosi,ta catari1;a3hode9;j3ngp07;asth2shahi;ingh25u3;e3intana roo;bec,en5reta0R;ara7e5rince edward3unjab; i3;sl0B;i,nnsylv3rnambu0B;an0;!na;axa0Ydisha,h3klaho20ntar3reg6ss0Bx0G;io;aJeDo5u3;evo le3nav0W;on;r3tt17va scot0;f8mandy,th3; 3ampton16;c5d4yo3;rk14;ako1N;aroli1;olk;bras1Mva0Cw3; 4foundland3;! and labrador;brunswick,hamp0Xjers4mexiSyork3;! state;ey;galOyarit;a9eghala0Mi5o3;nta1r3;dov0elos;ch5dlanCn4ss3zor11;issippi,ouri;as geraOneso18;ig2oac2;dhy12harasht0Gine,ni4r3ssachusetts;anhao,i el,ylF;p3toba;ur;anca0Ie3incoln0IouisH;e3iR;ds;a5e4h3omi;aka06ul1;ntucky,ra01;bardino,lmyk0ns0Qr3;achay,el0nata0X;alis5har3iangxi;kh3;and;co;daho,llino6n3owa;d4gush3;et0;ia1;is;a5ert4i3un2;dalFm0D;fordZ;mpYrya1waii;ansu,eorg0lou7oa,u3;an4erre3izhou,jarat;ro;ajuato,gdo3;ng;cesterS;lori3uji2;da;sex;ageTe6o4uran3;go;rs3;et;lawaLrbyK;aEeaDh8o3rimea ,umbr0;ahui6l5nnectic4rsi3ventry;ca;ut;i02orado;la;e4hattisgarh,i3uvash0;apQhuahua;chn4rke3;ss0;ya;ra;lFm3;bridge6peche;a8ihar,r7u3;ck3ryat0;ingham3;shi3;re;emen,itish columb0;h0ja cal7lk6s3v6;hkorto3que;st2;an;ar0;iforn0;ia;dygea,guascalientes,lAndhr8r4ss3;am;izo1kans4un3;achal 6;as;na;a 3;pradesh;a5ber4t3;ai;ta;ba4s3;ka;ma", "Country": "true¦0:39;1:2M;a2Xb2Ec22d1Ye1Sf1Mg1Ch1Ai14j12k0Zl0Um0Gn05om3DpZqat1KrXsKtCu6v4wal3yemTz2;a25imbabwe;es,lis and futu2Y;a2enezue32ietnam;nuatu,tican city;.5gTkraiZnited 3ruXs2zbeE;a,sr;arab emirat0Kkingdom,states2;! of am2Y;k.,s.2; 28a.;a7haBimor-les0Bo6rinidad4u2;nis0rk2valu;ey,me2Ys and caic1U; and 2-2;toba1K;go,kel0Znga;iw2Wji2nz2S;ki2U;aCcotl1eBi8lov7o5pa2Cri lanka,u4w2yr0;az2ed9itzerl1;il1;d2Rriname;lomon1Wmal0uth 2;afr2JkLsud2P;ak0en0;erra leoEn2;gapo1Xt maart2;en;negKrb0ychellY;int 2moa,n marino,udi arab0;hele25luc0mart20;epublic of ir0Dom2Duss0w2;an26;a3eHhilippinTitcairn1Lo2uerto riM;l1rtugE;ki2Cl3nama,pua new0Ura2;gu6;au,esti2;ne;aAe8i6or2;folk1Hth3w2;ay; k2ern mariana1C;or0N;caragua,ger2ue;!ia;p2ther19w zeal1;al;mib0u2;ru;a6exi5icro0Ao2yanm05;ldova,n2roc4zamb9;a3gol0t2;enegro,serrat;co;c9dagasc00l6r4urit3yot2;te;an0i15;shall0Wtin2;ique;a3div2i,ta;es;wi,ys0;ao,ed01;a5e4i2uxembourg;b2echtenste11thu1F;er0ya;ban0Hsotho;os,tv0;azakh1Ee3iriba03o2uwait,yrgyz1E;rWsovo;eling0Jnya;a2erF;ma15p1B;c6nd5r3s2taly,vory coast;le of m19rael;a2el1;n,q;ia,oI;el1;aiSon2ungary;dur0Mg kong;aAermany,ha0Pibralt9re7u2;a5ern4inea2ya0O;!-biss2;au;sey;deloupe,m,tema0P;e2na0M;ce,nl1;ar;bTmb0;a6i5r2;ance,ench 2;guia0Dpoly2;nes0;ji,nl1;lklandTroeT;ast tim6cu5gypt,l salv5ngl1quatorial3ritr4st2thiop0;on0; guin2;ea;ad2;or;enmark,jibou4ominica3r con2;go;!n B;ti;aAentral african 9h7o4roat0u3yprQzech2; 8ia;ba,racao;c3lo2morPngo-brazzaville,okFsta r03te d'ivoiK;mb0;osD;i2ristmasF;le,na;republic;m2naTpe verde,yman9;bod0ero2;on;aFeChut00o8r4u2;lgar0r2;kina faso,ma,undi;azil,itish 2unei;virgin2; is2;lands;liv0nai4snia and herzegoviGtswaGuvet2; isl1;and;re;l2n7rmuF;ar2gium,ize;us;h3ngladesh,rbad2;os;am3ra2;in;as;fghaFlCmAn5r3ustr2zerbaijH;al0ia;genti2men0uba;na;dorra,g4t2;arct6igua and barbu2;da;o2uil2;la;er2;ica;b2ger0;an0;ia;ni2;st2;an", - "Place": "true¦a00bYcUdTeSfRgMhLiJjfk,kHlFmDnBorAp8r7s6t3u2vostok,wake isCy0;a0yz;kutGngtze;laanbaatar,pT;ahiti,h0;amWe 0;bronx,hamptons;akhalIeine,fo,oho,under5yd;ed sea,io grande;acifWek,h0itcairn;l,x;ange county,d,inoco;ew eng0ile;land;a0co,ekong,idIuc;gadSlibu,nhattS;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianLochina;arlem,kg,nd,ovd;a3odavari,re0;at 0enwich;brita0lakC;in;ngAy village;co,ra;urope,verglad8;anube,en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;driadic,frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s", + "Place": "true¦a00bYcUdTeSfRgMhLiJkHlFmDnBorAp8r7s6t3u2vostok,wake isCy0;a0yz;kutGngtze;laanbaatar,pT;ahiti,h0;amWe 0;bronx,hamptons;akhalIeine,fo,oho,under5yd;ed sea,io grande;acifWek,h0itcairn;l,x;ange county,d,inoco;ew eng0ile;land;a0co,ekong,idIuc;gadSlibu,nhattS;a0gw,hr;s,x;osrae,rasnoyar0ul;sk;ax,cn,nd0st;ianLochina;arlem,kg,nd,ovd;a3odavari,re0;at 0enwich;brita0lakC;in;ngAy village;co,ra;urope,verglad8;anube,en,fw,own2xb;dg,gk,h0lt;a1ina0uuk;town;morro,tham;cn,e0kk,rooklyn;l air,verly hills;driadic,frica,m7n2r3sia,tl1zor0;es;!ant2;adyr,tar0;ct0;ic0; oce0;an;ericas,s", "WeekDay": "true¦fri2mon2s1t0wednesd3;hurs1ues1;aturd1und1;!d0;ay0;!s", "Month": "true¦dec0february,july,nov0octo1sept0;em0;ber", "Date": "true¦ago,on4som4t1week0yesterd5; end,ends;mr1o0;d2morrow;!w;ed0;ay", "Duration": "true¦centurAd8h7m5q4se3w1y0;ear8r8;eek0k7;!end,s;ason,c5;tr,uarter;i0onth3;llisecond2nute2;our1r1;ay0ecade0;!s;ies,y", "FemaleName": "true¦0:IS;1:IW;2:I5;3:I4;4:IM;5:I9;6:JD;7:GQ;8:J9;9:J5;A:HD;B:HN;C:IE;D:J2;E:II;F:H2;G:C4;H:HP;aGIbFDcDJdCSeBIfB0gAAh9Qi9Dj8Ck7Cl5Wm46n3Ko3Gp34qu33r2Bs16t0Fu0Dv03wWxiUyPzI;aMeJineb,oIsof2;e3Rf2la,ra;h3iLlJna,ynI;ab,ep;da,ma;da,h3iIra;nab;aLeKi0GolB3uJvI;etAonDH;i0na;le0sen2;el,gm3Gn,rGAs8T;aoIme0nyi;m5YyAA;aNendDRhiD8iI;dele9lKnI;if45niIo0;e,f44;a,helmi0lIma;a,ow;ka0nB;aOeLiIusa5;ck82kJlAole7viI;anGenIQ;ky,toriBE;da,lA5rIs0;a,nIoniGV;a,iFH;leInesGV;nI7rI;i1y;g9rIxGW;su5te;aZeVhSiOoMrJuIy3;i,la;acIPiIu0L;c2na,sI;hGta;nIr0H;iGya;aKffaEGnIs6;a,gtiI;ng;!nFHra;aJeIomasi0;a,l9Lo87res1;l2ndolwethu;g9Co85rJssI;!a,ie;eIi,ri8;sa,za;bPlNmLnJrIs6tia0wa0;a60yn;iIya;a,ka,s6;arGe3iIm75ra;!ka;a,iI;a,t6;at6it6;a0Gcarlett,e0ChYiUkye,neza0oStOuJyI;bI2lvi1;ha,mayI5ni7sJzI;an3KetAie,y;anIi8;!a,e,nI;aCe;aKeI;fIl5DphI;an4;cHQr5;b2fiA3m0MnIphi1;d3ia,ja,ya;er3lKmon1nJobh8MtI;a,i;dy;lEHv2;aNeJirIo0risEZy5;a,lDD;ba,e0i5lKrI;iIr6Gyl;!d8Efa;ia,lDP;hd,iNki3nKrJu0w0yI;la,ma,na;i,le9on,ron;aJda,ia,nIon;a,on;!ya;k6mI;!aa;lKrJtaye7YvI;da,inj;e0ife;en1i0ma;anA0bMd3Kh1PiBkLlKmJnd3rIs6vannaC;aCi0;ant6i3;lDEma,ome;ee0in8Ou3;in1ri0;a05e00hYiVoIuthDC;bTcSghRl8GnQsKwJxI;anAUie,y;an,e0;aJeIie,lD; merBIann8ll1marD6t7;!lInn1;iIyn;e,nI;a,dG;da,i,na;ayy8B;hel63io;bDFer7yn;a,cJkImas,nGta,ya;ki,o;helHki;ea,iannG7oI;da,n1L;an0bKemGgi0iJnIta,y0;a86ee;han81na;a,eI;cE5kaC;bi0chJe,i0mo0nIquEFy0;di,ia;aEDelIiB;!e,le;een4ia0;aOeNhLipaluk,oKrIute67;iIudenCL;scil3LyamvaB;lly,rt2;ilome0oebe,ylI;is,lis;ggy,nelope,r5t3;ige,m0UnLo5rvaDBtJulI;a,etAin1;ricIt4T;a,e,ia;do3i07;ctav2dJfCUis6lIphCUumBYyunbileg;a,ga,iv2;eIvA9;l2tA;aXeViNoJurIy5;!ay,ul;a,eKor,rJuI;f,r;aCeEma;ll1mi;aOcMhariBJkLlaKna,sIta,vi;anIha;ur;!y;a,iDNki;hoHk9SolI;a,eDE;!mh;hir,lIna,risFsreE;!a,lBO;asuMdLh2i6Cl5nKomi8rgEJtIzanin zah3;aIhal4;li1s6;cy,etA;e9iEP;nngu30;a0Ackenz4e02iNoKrignayani,uriD8yI;a,rI;a,lOna,tH;bi0i3llBDnI;a,iI;ca,ka,qCY;a,cUkaTlOmi,nMrJtzi,yI;ar;aJiam,lI;anEI;!l,nB;dy,eIh,n4;nhHrva;aLdKiCKlI;iIy;cent,e;red;!gros;!e5;ae5hI;ae5el40;ag5EgOi,lLrI;edi77iJjem,on,yI;em,l;em,sF;an4iIliF;nIsC9;a,da;!an,han;b0DcANd0Be,g09ha,i08ja,l06n04rMsoum5YtLuJv80x9FyIz4;bell,ra,soB4;de,rI;a,eE;h8Cild1t4;a,cYgUiLjor4l7Qn4s6tKwa,yI;!aIbe6Uja9lA9;m,nBC;a,ha,in1;!aKbC6eJja,lDna,sIt62;!a,ol,sa;!l1H;! Kh,mJnI;!a,e,n1;!awit,i;aliACcJeduarBfern5EjIlui5W;o6Dul2;ecil2la3;arKeJie,oIr46ueriA;!t;!ry;et44i39;el4Vi75y;dIon,ue5;akran7y;ak,en,iIlo3Q;a,ka,nB;a,re,s4te;daIg4;!l3C;alDd4elIge,isD6on0;ei9in1yn;el,le;a0Oe0DiZoRuMyI;d2la,nI;!a,dJeBCnIsCG;!a,eBB;a,sCE;aCRcKel0QiFlJna,pIz;e,i7;a,u,wa;iIy;a0Te,ja,l2LnB;is,l1TrKttJuIvel4;el5is1;e,ie;aLeJi8na,rI;a84i8;lIn1t7;ei;!in1;aTbb98dSepa,lNnKsJv2zI;!a,be5KetAz4;a,etA;!a,dI;a,sIy;ay,ey,i,y;a,iKja,lI;iIy;a9We;!aI;!nG;ia,ya;!nI;!a,ne;aQda,e0iOjZla,nNoLsKtIx4y5;iIt4;c2t2;e2NlCB;la,nIra;a,ie,o3;a,or1;a,gh,laI;!ni;!h,nI;a,d3e,n5O;cPdon93iOkes6mi96na,rNtKurJvIxmi,y5;ern1in2;a,e53ie,yn;as6iJoI;nya,ya;fa,s6;a,isF;a,la;ey,ie,y;a05e00hYiPlAFoOrKyI;lIra;a,ee,ie;istIy6B;a,en,iJyI;!na;!e,n58;nul,ri,urtnAV;aPerOlAUmKrIzzy;a,stI;en,in;!berlJmernI;aq;eIi,y;e,y;a,stE;!na,ra;aIei3ongordzol;dij1w5;el7MiLjsi,lKnJrI;a,i,ri;d3na,za;ey,i,lB8s4y;ra,s6;bi7cAEdiat7EeAXiSlRmQnyakuma1BrOss6HtLvi7yI;!e,lI;a,eI;e,i8H;a6BeJhIi4MlDri0y;ar69er69ie,leErAXy;!lyn8Cri0;a,en,iIl5Qoli0yn;!ma,nGsF;a5il1;ei8Ai,l4;a,tl6I;a09eZiWoOuI;anMdLliIst61;a8DeIsF;!n9tI;!a,te;e5Hi3Iy;a,i7;!anOcelDdNelHhan7NleMni,sJva0yI;a,ce;eIie;fIlDph5S;a,in1;en,n1;i8y;!a,e,n40;lIng;!i1DlI;!i1C;anOle0nLrKsI;i88sI;!e,i87;i,ri;!a,elHif2AnI;a,etAiIy;!e,f28;a,e89iJnI;a,e88iI;e,n1;cNda,mi,nJque4UsminGvie3y9zI;min8;a8eJiI;ce,e,n1s;!lIsFt0G;e,le;inJk4lDquelI;in1yn;da,ta;da,lSmQnPo0rOsJvaIzaro;!a0lu,na;aKiJlaIob7Z;!n9H;do3;belIdo3;!a,e,l37;a72en1i0ma;di3es,gr6Tji;a9elBogI;en1;a,e9iIo0se;a0na;aTePiKoIusFyacin29;da,ll4rten21snI;a,i9K;lJmaI;ri;aJdIlaJ;a,egard;ry;ath1AiKlJnriet7rmi9sI;sa,t19;en2Qga,mi;di;bi2Bil8ClOnNrKsJtIwa,yl8C;i5Nt4;n5Tti;iImo4Xri4Y;etI;!te;aCnaC;a,ey,l4;a03eXiSlQoOrLunKwI;enIyne1O;!dolD;ay,el;acieJetIiselB;a,chE;!la;ld19ogooI;sh;adys,enIor2yn2G;a,da,na;aLgi,lJna,ov84selIta;a,e,le;da,liI;an;!n0;mMnKorgJrI;ald3Ni,m3Atru86;etAi4S;a,eIna;s25vieve;ma;bJle,mIrnet,yH;al5Ji5;i5BrielI;a,l1;aUeRiQlorPoz2rI;anKeJiI;da,eB;da,ja;!cI;esJiIoi0N;n1s5X;!ca;a,enc2;en,o0;lJn0rnI;anB;ec2ic2;jr,n7rLtIy8;emJiIma,ouma7;ha,ma,n;eh;ah,iBrah,za0;cr4Ld0Oe0Ni0Mk7l05mXn4WrUsOtNuMvI;aKelJiI;!e,ta;inGyn;!ngel2S;geni1ni43;h5Qta;mMperanLtI;eJhIrel5;er;l2Zr8;za;a,eralB;iIma,nest2Jyn;cIka,n;a,ka;a,eNiKmI;aIie,y;!li9;lIn1;ee,iIy;a,e,ja;lIrald;da,y;aXeViOlNma,no3oLsKvI;a,iI;na,ra;a,ie;iIuiI;se;a,en,ie,y;a0c2da,f,nNsKzaI;!betIve7;e,h;aIe,ka;!beI;th;!a,or;anor,nG;!a;!in1na;leEs6;vi;eJiIna,wi0;e,th;l,n;aZeNh2iMjeneLoI;lor5Qminiq4Gn3DrItt4;a,eEis,la,othIthy;ea,y;ba;an0AnaCon9ya;anRbQde,ePiNlKmetr2nIsir5H;a,iI;ce,se;a,iJla,orIphi9;es,is;a,l6A;dIrdI;re;!d59na;!b2ForaCraC;a,d3nI;!a,e;hl2i0l0HmOnMphn1rJvi1WyI;le,na;a,by,cJia,lI;a,en1;ey,ie;a,etAiI;!ca,el1Bka,z;arIia;is;a0Se0Oh05i03lVoKristJynI;di,th2;al,i0;lQnNrJurI;tn1E;aKd2MiIn2Mri9;!nI;a,e,n1;!l4;cepci57n4sI;tanIuelo;ce,za;eIleE;en,tA;aKeoJotI;il4Z;!pat3;ir8rKudI;etAiI;a,ne;a,e,iI;ce,s00;a3er3ndI;i,y;aSeOloe,rI;isKyI;stI;al;sy,tI;a1Qen,iIy;an1e,n1;deKlseJrI;!i8yl;a,y;li9;nNrI;isLlJmI;ai9;a,eIotA;n1tA;!sa;d3elHtI;al,elH;cJlI;esAi42;el2ilI;e,ia,y;itlZlYmilXndWrOsMtIy5;aKeKhIri0;erIleErDy;in1;ri0;a32sI;a31ie;a,iOlMmeKolJrI;ie,ol;!e,in1yn;lIn;!a,la;a,eIie,o7y;ne,y;na,sF;a0Hi0H;a,e,l1;is7l4;in,yn;a0Ie02iZlXoUrI;andi8eRiKoJyI;an0nn;nwDoke;an3CdgMg0XtI;n2WtI;!aJnI;ey,i,y;ny;etI;!t8;an0e,nI;da,na;bbi8glarJlo06nI;i7n4;ka;ancIythe;a,he;an18lja0nIsm3I;i7tI;ou;aVcky,linUni7rQssPtKulaCvI;!erlI;ey,y;hKsy,tI;e,iIy8;e,na;!anI;ie,y;!ie;nIt6yl;adJiI;ce;etAi9;ay,da;!triI;ce,z;rbKyaI;rmI;aa;a3o3ra;a2Sb2Md23g1Zi1Qj5l16m0Xn0Aoi,r05sVtUuQvPwa,yJzI;ra,u0;aLes6gKlJseI;!l;in;un;!nI;a,na;a,i2I;drKgus1RrJsteI;ja;el2;a,ey,i,y;aahua,he0;hJi2Gja,mi7s2DtrI;id;aNlJraqIt21;at;eJi8yI;!n;e,iIy;gh;!nI;ti;iKleJo6pi7;ta;en,n1tA;aIelH;!n1J;a01dje5eZgViTjRnKohito,toIya;inetAnI;el5ia;!aLeJiImK;e,ka;!mItA;ar4;!belJliFmV;sa;!l1;a,eliI;ca;ka,sIta;a,sa;elIie;a,iI;a,ca,n1qI;ue;!tA;te;!bJmIstasiNya;ar2;el;aMberLeliKiIy;e,l2naI;!ta;a,ja;!ly;hHiJl2nB;da;a,ra;le;aXba,eQiNlLthKyI;a,c2sI;a,on,sa;ea;iIys0O;e,s0N;a,cJn1sIza;a,e,ha,on,sa;e,ia,ja;c2is6jaLksaLna,sKxI;aIia;!nd3;ia,saI;nd3;ra;ia;i0nJyI;ah,na;a,is,naCoud;la;c6da,leEmOnMsI;haClI;inIyZ;g,n;!h;a,o,slI;ey;ee;en;at6g4nJusI;ti0;es;ie;aXdiUelNrI;eKiI;anNenI;a,e,ne;an0;na;!aMeLiJyI;nn;a,n1;a,e;!ne;!iI;de;e,lDsI;on;yn;!lI;i9yn;ne;aLbJiIrM;!gaL;ey,i8y;!e;gaI;il;dLliyKradhJs6;ha;ya;ah;a,ya", "FirstName": "true¦aLblair,cHdevGgabrieFhinaEjCk9l8m4quinn,re3s0;h0umit;ay,e0iloh;a,lby;g6ne;a1el0ina,org5;!okuh9;naia,r0;ion,lo;ashawn,uca;asCe1ir0rE;an;lsAnyat2rry;am0ess6ie,ude;ie,m5;ta;le;an,on;as2h0;arl0eyenne;ie;ey,sidy;lex2ndr1ubr0;ey;a,ea;is", - "Person": "true¦a0Ob0Hc08d05e02g01hZinez,jYkVlSmMnKoJpHr9s7t4v2w0xzibit,yanni;ar0ednesday adams,ill.i.am,oode;hol,rO;a0oltaiO;lentino rossi,n go7;a1heresa may,i0yra banks;ger woods,mbaQ;tum,ylor;a0carlett johanss03hakespeaJinbad,lobodan milosevic,ocratM;ddam hussain,ntigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;d stewart,nald0thko;inho,o;hanYvaldo;ese witherspoVil9mbrandt;ffi,y roma03;a0e08ip07lato,oe,uff daddy;lm06ris hiltS;prah winfrWra;as,e0iles crane,ostradamP; yo,l3ttI;acklemo4essia3i1o0ubarek;by,lie3net,rrissS;randa ju0tt romnR;ly;en;re;ady gaga,e0iberaT;bron jam0e;es;anye west,e1iefer suther0obe bryant;land;ats,ndall,sha;aime,effersCk rowling;a0itlPulk hogan;lle berry,rrisA;ast9otye;ff1m0nya,zekiel;eril lagasse,inem;ie;a1e0ick wolf,rake;gas,nzel washingt4;lt3nB;ar5h3lint2o0;nfuci0olio;us;on;aucCy0;na;dinal wols1son0;! palm9;ey;a5e3o2ro0;ck,n0;te;no;ck,yon0;ce;nksy,rack obama;ristot1shton kutch0;er;le", "LastName": "true¦0:9G;1:9W;2:9Y;3:9O;4:9I;5:8L;6:9L;7:A1;8:9F;9:8A;A:78;B:6G;C:6K;a9Vb8Nc7Ld6Ye6Tf6Fg5Wh59i55j4Qk45l3Nm2Sn2Fo27p1Oquispe,r18s0Ft05vVwOxNyGzD;aytsAEhD;aDou,u;ng,o;aGeun81iDoshiAAun;!lD;diDmaz;rim,z;maDng;da,guc98mo6VsDzaA;aAhiA8;iao,u;aHeGiEoDright,u;jc8Tng;lDmm0nkl0sniewsA;liA2s2;b0iss,lt0;a5Tgn0lDtanabe;k0sh;aHeGiEoDukB;lk5roby5;dBllalDnogr2Zr10ss0val37;ba,obos;lasEsel7P;lGn dFrg8FsEzD;qu7;ily9Pqu7silj9P;en b35ijk,yk;enzue96verde;aLeix1KhHi3j6ka3IoGrFsui,uD;om50rD;c3n0un1;an,embl8UynisA;dor96lst31m4rr9th;at5Ni7NoD;mErD;are70laci65;ps2s0Z;hirBkah8Enaka;a01chXeUhQiNmKoItFuEvDzabo;en8Bobod34;ar7bot4lliv3zuA;aEein0oD;i68j3Myan8W;l6rm0;kol5lovy5re6Rsa,to,uD;ng,sa;iDy60;rn5tD;!h;l5ZmEnDrbu;at8gh;mo6Eo6K;aFeDimizu;hu,vchD;en7Duk;la,r17;gu8infeld,mDoh,pulve8Trra4S;jDyD;on5;evi6Giltz,miDneid0roed0ulz,warz;dEtD;!z;!t;ar42h6ito,lFnDr4saAto,v4;ch7d0AtDz;a4Pe,os;as,ihBm3Zo0Q;aOeNiKoGuEyD;a67oo,u;bio,iz,sD;so,u;bEc7Bdrigue57g03j73mDosevelt,ssi,ta7Nux,w3Z;a4Ce0O;ertsDins2;!on;bei0LcEes,vDzzo;as,e8;ci,hards2;ag3es,it0ut0y9;dFmEnDsmu7Zv5F;tan1;ir7os;ic,u;aSeLhJiGoErDut6;asad,if60ochazk1V;lishc23pDrti63u55we67;e2Tov48;cEe09nD;as,to;as61hl0;aDillips;k,m,n5L;de3AetIna,rGtD;ersErovDtersC;!a,ic;en,on;eDic,ry,ss2;i8ra,tz,z;ers;h71k,rk0tEvD;ic,l3T;el,t2O;bJconnor,g2ClGnei5QrEzD;demir,turk;ella3MtDwe5O;ega,iz;iDof6GsC;vDyn1E;ei8;aPri1;aLeJguy1iFoDune44ym3;rodahl,vDwak;ak3Uik5otn57;eEkolDlsCx2;ic,ov6X;ls1miD;!n1;ils2mD;co42ec;gy,kaEray3varD;ro;jiDmu8shiD;ma;aWcUeQiPoIuD;lGnFrDssoli5T;atDpTr68;i,ov4;oz,te4C;d0l0;h3lInr13o0GrEsDza0Y;er,s;aFeEiDoz5r3Ete4C;!n6F;au,i8no,t4N;!l9;i2Rl0;crac5Ohhail5kke3Qll0;hmeFij0j2FlEn2Xrci0ssiDyer19;!er;n0Io;dBti;cartDlaughl6;hy;dMe6Egnu5Fi0jer35kLmJnci5ArFtEyD;er,r;ei,ic,su1O;iEkBqu9roqu6tinD;ez,s;a55c,nD;!o;a53mD;ad5;e5Pin1;rig4Ps1;aSeMiIoGuEyD;!nch;k4nDo;d,gu;mbarDpe2Svr4;di;!nDu,yana1T;coln,dD;bDholm;erg;bed5UfeGhtFitn0kaEn6rDw2H;oy;!j;in1on1;bvDvD;re;iDmmy,rsCu,voie;ne,t12;aTennedy,h3iSlQnez48oJrGuEvar3woD;k,n;cerDmar59znets5;a,o2H;aDem0i31yeziu;sni3RvD;ch3W;bay4Grh0Ksk0UvaFwalDzl5;czDsA;yk;cFlD;!cDen3S;huk;!ev4ic,s;e6uiveD;rt;eff0l4mu8nnun1;hn,llFminsArEstra33to,ur,yDzl5;a,s0;j0HlsC;oe;aMenLha2Qim0RoEuD;ng,r4;e2KhFnErge2Ku2OvD;anB;es,ss2;anEnsD;en,on,t2;nesDsC;en,s1;ki27s1;cGkob3RnsDrv06;en,sD;enDon;!s;ks2obs1;brahimBglesi3Ake4Ll0DnoZoneFshikEto,vanoD;u,v4A;awa;scu;aPeIitchcock,jaltal6oFrist46uD;!aDb0gh9ynh;m3ng;a24dz4fEjga2Tk,rDx3B;ak0Yvat;er,fm3B;iGmingw3NnErD;nand7re8;dDriks1;ers2;kkiEnD;on1;la,n1;dz4g1lvoLmJnsCqIrr0SsFuEyD;as36es;g1ng;anEhiD;mo0Q;i,ov08;ue;alaD;in1;rs1;aNeorgMheorghe,iKjonJoGrEuDw2;o,staf2Utierr7zm3;ayDg4iffitVub0;li1H;lub3Rme0JnEodD;e,m3;calv9zale0H;aj,i;bs2l,mDordaL;en7;iev3A;gnJlGmaFnd2Mo,rDs2Muthi0;cDza;ia;ge;eaElD;agh0i,o;no;e,on;ab0erLiHjeldsted,lor9oFriedm3uD;cDent9ji3E;hs;ntaDrt6urni0;na;lipEsD;ch0;ovD;!ic;hatBnanFrD;arDei8;a,i;deS;ov4;dGinste6riksCsDva0D;cob2YpDtra2W;inoza,osiL;en,s2;er,is2wards;aUeMiKjurhuJoHrisco0ZuEvorakD;!oQ;arte,boEmitru,rDt2U;and,ic;is;g3he0Imingu7n2Ord1AtD;to;us;aDmitr29ssanayake;s,z; GbnaFlEmirDrvis1Lvi,w3;!ov4;gado,ic;th;bo0groot,jo04lEsilDvri9;va;a cruz,e2uD;ca;hl,mcevsAnEt2EviD;d5es,s;ieDku1S;ls1;ki;a06e01hOiobNlarkMoFrD;ivDuz;elli;h1lHntGoFrDs26x;byn,reD;a,ia;ke,p0;i,rer0N;em3liD;ns;!e;anu;aLeIiu,oGriDuJwe;stD;eDiaD;ns1;i,ng,uFwDy;!dhury;!n,onEuD;ng;!g;kEnDpm3tterjee,v7;!d,g;ma,raboD;rty;bGl08ng4rD;eghetEnD;a,y;ti;an,ota0L;cer9lder2mpbeIrFstDvadi07;iDro;llo;doEt0uDvalho;so;so,zo;ll;es;a08eWhTiRlNoGrFyD;rne,tyD;qi;ank5iem,ooks,yant;gdan5nFruya,su,uchEyHziD;c,n5;ard;darDik;enD;ko;ov;aEondD;al;nco,zD;ev4;ancRshwD;as;a01oDuiy3;umDwmD;ik;ckNethov1gu,ktLnJrD;gGisFnD;ascoDds1;ni;ha;er,mD;ann;gtDit7nett;ss2;asD;hi;er,ham;b4ch,ez,hMiley,kk0nHrDu0;bEnDua;es,i0;ieDosa;ri;dDik;a8yopadhyD;ay;ra;er;k,ng;ic;cosZdYguilXkhtXlSnJrGsl3tchis2yD;aEd6;in;la;aEsl3;an;ujo,ya;dFgelD;ovD;!a;ersGov,reD;aDjL;ss1;en;en,on,s2;on;eksejGiyGmeiFvD;ar7es;ez;da;ev;ar;ams;ta", "Honorific": "true¦director1field marsh2lieutenant1rear0sergeant major,vice0; admir1; gener0;al", "Adj|Gerund": "true¦0:3H;1:3J;2:33;3:2Z;4:37;5:35;6:3E;7:31;8:38;9:2J;a35b2Vc2Dd1Te1If17g11h0Yi0Rjud9l0Nm0Gnu0Fo0Ap04rYsKtEuBvAw18yiel3;ar6e08;nBpA;l1Rs0B;fol3n21sett2;aEeDhrBi4ouc7rAwis0;e0Bif2oub2us0yi1;ea1SiA;l2vi1;l2mp0rr1J;nt1Xxi1;aMcreec7enten2PhLkyrocke0lo1Tmi2oJpHtDuBweA;e1Sl2;pp2CrA;gi1pri5roun3;aBea8iAri2Jun25;mula0r4;gge4rA;t2vi1;ark2eAraw2;e3llb2H;aAot7;ki1ri1;i1Xoc2B;dYtisf6;aEeBive0oAus7;a4l2;assu4defi1Tfres7ig1Tjuve0QlaImai1Ts0vAwar3;ea2italiAol1I;si1zi1;gi1ll6mb2vi1;a6eDier25lun9rAun2E;eBoA;mi5vo21;ce3s5vai2;n3rpleA;xi1;ffCpWutBverAwi1;arc7lap12p0Pri3whel8;goi1l6st1L;en3sA;et0;m2Lrtu4;aEeDiCoBuAyst0L;mb2;t1Lvi1;s5tiga0;an1Tl0n3smeri28;dAtu4;de17;aCeaBiAo0W;fesa0Vmi0vi1;di1ni1;c1Hg9s0;llumiZmFnArri0T;cDfurGsCtBviA;go25ti1;e1Qimi23oxica0rig0X;pi4ul0;orpo22r0M;po5;arrowi1eaBorr03umilA;ia0;li1rtwar8;lErA;atiCip0BoBuelA;i1li1;undbrea13wi1;f6ng;a4ea8;aIetc7it0lEoCrBulfA;il2;ee1JighZust1P;rAun3;ebo3thco8;aCoA;a0wA;e4i1;mi1tte4;di1sciA;na0;lectrJmHnExA;aCci0hBis0pA;an3lo3;aOila1D;c0spe1C;ab2cBdu4ergi15ga9live06ric7s04tA;hral2i0L;han0oura9;barras5er9pA;owe4;if6;aSeIiBrA;if0;sAzz6;aEgDhearCsen0tA;rAur13;ac0es5;teU;us0;ppoin0r8;biliIcFfiRgra3ligh0mDpres5sCvA;asHeloA;pi1;erE;an3eaNorA;ali0L;a6eiBliLrA;ea5;vi1;ta0;ma9ri1s7un0zz2;aPhMlo5oAripp2ut0;mGnArrespon3;cerEfDspi4tAvinU;inBrA;as0ibu0ol2;ui1;lic0u5;ni1;fDmCpA;eAromi5;l2ti1;an3;or0;aAil2;llen9n9r8;gi1;l8ptAri1;iva0;aff2eGin3lFoDrBuA;d3st2;eathtaAui5;ki1;gg2i2o8ri1unA;ci1;in3;co8wiA;lAtc7;de4;bsorVcOgonMlJmHnno6ppea2rFsA;pi4su4toA;nBun3;di1;is7;hi1;res0;li1;aFu5;si1;ar8lu4;ri1;mi1;iAzi1;zi1;cAhi1;eleDomA;moBpan6;yi1;da0;ra0;ti1;bi1;ng", diff --git a/tmp-NER.js b/tmp-NER.js new file mode 100644 index 000000000..72de90319 --- /dev/null +++ b/tmp-NER.js @@ -0,0 +1,50 @@ +/* eslint-disable no-console, no-unused-vars */ +import combineRanges from './src/1-one/tokenize/methods/02-terms/03-ranges.js' +import nlp from './src/three.js' +// import plg from './plugins/dates/src/plugin.js' +// nlp.plugin(plg) + +// nlp.verbose('tagger') +let arr = [ + 'at&t', + 'amazon.com', + 'apple inc.', + 'audi', + 'bacardi', + 'cadillac', + 'coco chanel', + 'fc barcelona', + 'fifa', + 'firefox', + 'halliburton', + 'ikea', + 'ivy league', + 'klm', + 'lexus', + 'manchester united', + 'mcgill university', + 'mercedes-benz', + 'michelin', + 'nivea', + 'pepsi', + 'philips', + 'premier league', + 'real madrid', + 'roman empire', + 'scientology', + 'smirnoff', + 'wikileaks', + 'wikipedia', +] +let count = 0 +let missing = [] +arr.forEach(str => { + let doc = nlp(str) + if (!doc.organizations().found) { + console.log(str) + count += 1 + missing.push(str) + } +}) +console.log(count, arr.length) +console.log(JSON.stringify(missing, null, 2)) From daf8a4d3703230853a899d7f5b4b7bbb40f40a3a Mon Sep 17 00:00:00 2001 From: spencer kelly Date: Thu, 24 Aug 2023 14:54:41 -0400 Subject: [PATCH 04/32] tests passing --- data/lexicon/people/people.js | 4 ++-- src/2-two/preTagger/model/lexicon/_data.js | 2 +- tmp-NER.js | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/data/lexicon/people/people.js b/data/lexicon/people/people.js index a8138216b..2e4ae2ec6 100644 --- a/data/lexicon/people/people.js +++ b/data/lexicon/people/people.js @@ -156,7 +156,7 @@ export default [ 'jfk', 'jack the ripper', 'jawaharlal nehru', - 'jay-z', + 'jay z', 'jimi hendrix', 'kid cudi', 'lech walesa', @@ -188,7 +188,7 @@ export default [ 'vin diesel', 'virginia woolf', 'walt disney', - 'will ferrell', + // 'will ferrell', 'wiz khalifa', 'wright brothers', 'yoko onen', diff --git a/src/2-two/preTagger/model/lexicon/_data.js b/src/2-two/preTagger/model/lexicon/_data.js index 91edbd67a..0b604c52d 100644 --- a/src/2-two/preTagger/model/lexicon/_data.js +++ b/src/2-two/preTagger/model/lexicon/_data.js @@ -18,7 +18,7 @@ export default { "Plural|Verb": "true¦leaves", "Demonym": "true¦0:15;1:12;a0Vb0Oc0Dd0Ce08f07g04h02iYjVkTlPmLnIomHpEqatari,rCs7t5u4v3welAz2;am0Gimbabwe0;enezuel0ietnam0I;gAkrai1;aiwTex0hai,rinida0Ju2;ni0Prkmen;a5cotti4e3ingapoOlovak,oma0Spaniard,udRw2y0W;ede,iss;negal0Cr09;sh;mo0uT;o5us0Jw2;and0;a2eru0Fhilippi0Nortugu07uerto r0S;kist3lesti1na2raguay0;ma1;ani;ami00i2orweP;caragu0geri2;an,en;a3ex0Lo2;ngo0Drocc0;cedo1la2;gasy,y07;a4eb9i2;b2thua1;e0Cy0;o,t01;azakh,eny0o2uwaiI;re0;a2orda1;ma0Ap2;anO;celandic,nd4r2sraeli,ta01vo05;a2iB;ni0qi;i0oneU;aiAin2ondur0unO;di;amEe2hanai0reek,uatemal0;or2rm0;gi0;ilipino,ren8;cuadoVgyp4mira3ngli2sto1thiopi0urope0;shm0;ti;ti0;aPominUut3;a9h6o4roat3ub0ze2;ch;!i0;lom2ngol5;bi0;a6i2;le0n2;ese;lifor1m2na3;bo2eroo1;di0;angladeshi,el6o4r3ul2;gaE;azi9it;li2s1;vi0;aru2gi0;si0;fAl7merBngol0r5si0us2;sie,tr2;a2i0;li0;genti2me1;ne;ba1ge2;ri0;ni0;gh0r2;ic0;an", "Organization": "true¦0:4Q;1:3Y;a3Ub3Cc2Pd2He2Ff29g21h1Vi1Rj1Pk1Nl1Im14n0Ro0Op0Equ0Dr04sVtIuDvAw4xiaomi,y2;amaha,m1Dou2w1D;gov,tu3D;a5e3iki2orld trade organizati34;leaTped0Q;lls fargo,st2;fie2Iinghou2S;l2rner br3V;gree3Kl street journ2Jm1G;an halQeriz2Yisa,o2;dafo2Zl2;kswagOvo;b5kip,n3ps,s2;a tod3Bps;es3Ni2;lev3Gted natio3D;er,s; mobi33aco beTd bQeBgi fridaAh4im horto3Bmz,o2witt3E;shi4Ay2;ota,s r 07;e 2in lizzy;b4carpen3Kdaily ma1guess w3holli0rolling st21s2w3;mashing pumpki36uprem0;ho;ea2lack eyed pe3Yyrds;ch bo2tl0;ys;l3n3Qs2xas instrumen1T;co,la m1G;efoni0Lus;a9cientology,e6ieme2Ymirnoff,np,o4pice gir7quare0Bta2ubaru;rbuc2to1;ks;ny,undgard2;en;a3x pisto2;ls;g1Wrs;few2Minsbury32lesfor04msu2E;.e.m.,adiohead,b9e5o2yana3C;man empi1Xyal 2;b2dutch she5;ank;a4d 2max,vl20;bu2c2Ahot chili peppe2Ylobst2N;ll;ders dige1Ll madrid;c,s;ant3Aizno2S;a9bs,e6fiz2Ihilip5i4r2;emier 2udenti1D;leagUo1;nk floyd,zza hut; morrCs;psi3tro2uge0F;br33chi0Un33;!co;lant2Un2yp16; 3ason27da2P;ld navy,pec,range juli3xf2;am;us;aBbAe7fl,h6i5o2sa,vid4wa;k3tre dame,vart2;is;ia;ke,ntendo,ss0Pv00;l,s;c,st1Otflix,w2; 2sweek;kids on the block,york0E;a,c;nd22s3t2;ional aca2Po,we0U;a,c03d0S;aEcdonaldDeAi7lb,o4tv,y2;spa2;ce;b1nsanto,ody blu0t2;ley cr2or0T;ue;c3t2;as,subisP;helin,rosoft;dica3rcedes benz,talli2;ca;id,re;'s,s;c's milk,tt19z24;'ore0Aa4e2g,ittle caesa1P;novo,x2;is,mark,us; 2bour party;pres0Dz boy;atv,fc,kk,lm,m2od1O;art;iffy lu0Roy divisi0Jpmorgan2sa;! cha09;bm,hop,k4n2tv;g,te2;l,rpol;ea;a6ewlett pack1Vi4o2sbc,yundai;me dep2n1P;ot;tac2zbollah;hi;lliburt08sbro;eneral 7hq,ithub,l6mb,o3reen d0Ou2;cci,ns n ros0;ldman sachs,o2;dye2g0H;ar;axo smith kli04encoW;electr0Nm2;oto0Z;a6bi,c barcelo5da,edex,i3leetwood m03o2rito l0G;rd,xcY;at,fa,nancial2restoZ; tim0;na;cebook,nnie mae;b0Asa,u2xxonmob1;!rosceptics;aiml0Fe7isney,o5u2;nkin donu3po11ran dur2;an;ts;j,w j2;on0;a,f lepp13ll,peche mode,r spieg03stiny's chi2;ld;aKbc,hGiEloudflaDnn,o4r2;aigsli6eedence clearwater reviv2ossra1;al;c8inba7l5m2o0Fst0A;ca3p2;aq;st;dplTg2;ate;se;a c2o chanR;ola;re;a,sco2tigroup;! systems;ev3i2;ck fil-a,na daily;r2y;on;d3pital o2rl's jr;ne;bury,ill2;ac;aFbc,eCfAl6mw,ni,o2p,rexiteeV;ei4mbardiJston 2;glo2pizza;be;ng;o3ue c2;roW;ckbuster video,omingda2;le; g2g2;oodriM;cht3e ge0rkshire hathaw2;ay;el;cardi,idu,nana republ4s2xt6y6;f,kin robbi2;ns;ic;bZcUdidTerosmith,iSlLmFnheuser-busEol,ppleAr7s5u4v3y2;er;is,on;di,todesk;hland o1sociated F;il;by5g3m2;co;os; compu3bee2;'s;te2;rs;ch;c,d,erican4t2;!r2;ak; ex2;pre2;ss; 6catel3ta2;ir;!-lu2;ce2;nt;jazeera,qae2;da;g,rbnb;as;/dc,a4er,tivision2;! blizz2;ard;demy of scienc0;es;ba", - "Person": "true¦a1Xb1Nc1Ad11e0Uf0Tg0Sh0Ki0Jj0Gk0Cl0Am02nZoYpVrMsEtAusain bolt,v7w2xzibit,y0;anHoko on0;en,o;a2ednesday adams,i0oode,right brothers;ll0z khalifa; ferre0A.i.am;lt disn1Fr0;hol,r0A;a1i0oltai01;n dies0Mrginia wo0W;lentino rossi,n goE;a2h1i0upac shakur,yra banks;ger woods,mbal1M;eresa may,or;tum,ylor;a5carlett johanss0Zergei racFh4i2lobodan milosevic,no1ocr1Cpider0uperm08;-m07m07;op dogg,w whi18;gmund freud,lvio berlusco0nbad;ni;akespeaPerlock holm1Iia labeouf;ddam hussa0Wnt0;a cla0Rigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;bin hood,d stew0Wnald0thko;in0Bo;han0Ongo starr,valdo;ese witherspo0LilCmbrandt;c0ffi,isa gorbach09y roma1A;hmaninoff;a1e15ip13la0Yo0uff daddy;cahont0Ae;lm11ris hilt0G;prah winfr0Mra;a1e0iles cra15ostradam0D; yo,l4ttZ;pole0Cs;a4e3i1o0ubarW;by,lie5net,rriss0H;cky waMranda ju0tt romn0G;ly;rl0AssiaA;c0ta hari,ya angelou;aulay culk08klemo0;re;ady gaga,e0ibera0I;bron jam0Qch walesa,e;anye weKe1i0obe bryant;d cudi,efer sutherl0K;ats,nda0sha;ll;a1effersXfk,imi hendrix,k rowling,rr tolki0;en;ck the ripp0Gime,waharlal nehru,y-z;nez,ron m3;a3e1itl0Eu0;lk hog1mphrey bog00; m0nry 3;an;ile selassBlle berry,rrison0;! 0;fo0;rd;astLotye;lorence nightinga07rédéric chopN;benezer scrooge,ff5m1nya,xxon mobil,zeki0;el;eril lagasse,i1meline pankhur0;st;le zatop0nem;ek;ie;a6e4i2mitry medved1octor w0rake;ho;ev;ck w0ego maradoB;olf;g0mi lovaNnzel washingt7;as;l0nGrth vadQ;ai lMt4;a7h4lint3o0thulhu;n0olio;an,fuci0;us;on;aucJop1ristian baLy0;na;in;ptain beefhe3r0;dinal wols1son0;! palmE;ey;art;a7e4i2oGro0;ck,n0;te;ll g0ng crosby;atA;ck,nazir bhut1yon0;ce;to;nksy,rack ob0;ama;l 5r2shton kutch1ung san suu kyi,vril lavig7yn r0;and;er;chimed1istot0;le;es;capo1paci0;no;ne", + "Person": "true¦a1Vb1Lc18d0Ze0Sf0Rg0Qh0Ii0Hj0Ek0Bl09m01nYoXpUrLsDt9usain bolt,v6w2xzibit,y0;anGoko on0;en,o;a1ednesday adams,i0oode,right brothers;ll.i.am,z khalifa;lt disn1Er0;hol,r09;a1i0oltai01;n dies0Lrginia wo0V;lentino rossi,n goE;a2h1i0upac shakur,yra banks;ger woods,mbal1L;eresa may,or;tum,ylor;a5carlett johanss0Yergei racFh4i2lobodan milosevic,no1ocr1Bpider0uperm07;-m06m06;op dogg,w whi17;gmund freud,lvio berlusco0nbad;ni;akespeaPerlock holm1Hia labeouf;ddam hussa0Vnt0;a cla0Qigold;a6e5i4o2u0za;mi,n dmc,paul,sh limbau0;gh;bin hood,d stew0Vnald0thko;in0Ao;han0Nngo starr,valdo;ese witherspo0KilCmbrandt;c0ffi,isa gorbach08y roma19;hmaninoff;a1e14ip12la0Xo0uff daddy;cahont09e;lm10ris hilt0F;prah winfr0Lra;a1e0iles cra14ostradam0C; yo,l4ttY;pole0Bs;a4e3i1o0ubarV;by,lie5net,rriss0G;cky waLranda ju0tt romn0F;ly;rl09ssia9;c0ta hari,ya angelou;aulay culk07klemo0;re;ady gaga,e0ibera0H;bron jam0Pch walesa,e;anye weJe1i0obe bryant;d cudi,efer sutherl0J;ats,ndall,sha;a1effersXfk,imi hendrix,k rowling,rr tolki0;en;ck the ripp0Gime,waharlal nehru,y z;nez,ron m3;a3e1itl0Eu0;lk hog1mphrey bog00; m0nry 3;an;ile selassBlle berry,rrison0;! 0;fo0;rd;astLotye;lorence nightinga07rédéric chopN;benezer scrooge,ff5m1nya,xxon mobil,zeki0;el;eril lagasse,i1meline pankhur0;st;le zatop0nem;ek;ie;a6e4i2mitry medved1octor w0rake;ho;ev;ck w0ego maradoB;olf;g0mi lovaNnzel washingt7;as;l0nGrth vadQ;ai lMt4;a7h4lint3o0thulhu;n0olio;an,fuci0;us;on;aucJop1ristian baLy0;na;in;ptain beefhe3r0;dinal wols1son0;! palmE;ey;art;a7e4i2oGro0;ck,n0;te;ll g0ng crosby;atA;ck,nazir bhut1yon0;ce;to;nksy,rack ob0;ama;l 5r2shton kutch1ung san suu kyi,vril lavig7yn r0;and;er;chimed1istot0;le;es;capo1paci0;no;ne", "Possessive": "true¦its,my,our0thy;!s", "Noun|Verb": "true¦0:9U;1:A8;2:94;3:A1;4:9P;5:A0;6:9I;7:8L;8:7J;9:A6;A:91;B:8V;C:8B;a9Mb8Oc7Gd6Pe6Ef5Qg5Gh54i4Wj4Tk4Ql4Em40n3Vo3Sp2Squ2Rr21s0Jt02u00vVwGyFzD;ip,oD;ne,om;awn,e6Die66;aOeMhJiHoErD;ap,e9Mink2;nd0rDuB;kDry,sh5Fth;!shop;ck,nDpe,re,sh;!d,g;e84iD;p,sD;k,p0t2;aDed,lco8U;r,th0;it,lk,rEsDt4ve,x;h,te;!ehou1ra9;aGen5DiFoD;iDmAte,w;ce,d;be,ew,sA;cuum,l4A;pDr7;da5gra6Clo68;aReQhrPiOoMrGuEwiDy5X;n,st;nDrn;e,n7M;aGeFiEoDu6y;t,ub2;bu5ck4Igg0m,p;at,k,nd;ck,de,in,nsDp,v7H;f0i8P;ll,ne,p,r4Wss,t92uD;ch,r;ck,de,e,le,me,p,re;e5Uow,u6;ar,e,ll,mp0st,xt;g,lDng2rg7Ns5x;k,ly;a0Sc0Ne0Kh0Fi0Dk0Bl09m08n06o05pXquaCtKuFwD;ea86iD;ng,pe,t4;bGit,m,ppErD;fa3ge,pri1v2U;lDo6Q;e6Ny;!je8;aMeLiKoHrEuDy2;dy,ff,mb2;a83eEiDo5Nugg2;ke,ng;am,ss,t4;ckEop,p,rD;e,m;ing,pi2;ck,nk,t4;er,m,p;ck,ff,ge,in,ke,lEmp,nd,p2rDte,y;!e,t;k,l;aJeIiHlGoFrDur,y;ay,e54inDu3;g,k2;ns89t;a5Oit;ll,n,r85te;ed,ll;m,n,rk;b,uB;aDee1Tow;ke,p;a5He4Di2o51;eep,iDou4;ce,p,t;ateboa7HiD;!p;de,gnDl2Unk,p,ze;!al;aGeFiEoDuff2;ck,p,re,w;ft,p,v0;d,i3Wlt0;ck,de,pe,re,ve;aEed,nDrv1It;se,t2M;l,r4t;aGhedu2oCrD;aEeDibb2o3X;en,w;pe,t4;le,n,r2L;cDfegua70il,mp2;k,rifi3;aZeHhy6JiGoEuD;b,in,le,n,s5V;a6ck,ll,oDpe,u5;f,t;de,ng,ot,p,s1V;aTcSdo,el,fQgPje8lOmMnLo17pJque6sFturn,vDwa6T;eDi26;al,r1;er72oFpe8tEuD;lt,me;!a53;l6Zrt;air,eaDly,o51;l,t;dezvo2Xt;aDedy;ke,rk;ea1i4E;a6Gist0r5L;act6Wer1Uo6ZuD;nd,se;a36o6D;ch,s6E;c1Cge,iEke,lly,nDp1Vt1V;ge,k,t;n,se;es69iv0;a04e00hYiXlToNrEsy4uD;mp,n4rcha1sh;aKeIiHoDu4M;be,ceFdu3fi2grDje8mi1p,te6;amDe6U;!me;ed,ss;ce,de,nt;sDy;er6As;cti3i1;iHlFoEp,re,sDuBw0;e,i5Wt;l,p;iDl;ce,sh;nt,s5T;aEce,e30uD;g,mp,n7;ce,nDy;!t;ck,le,n16pe,tNvot;a1oD;ne,tograph;ak,eFnErDt;fu53mA;!c30;!l,r;ckJiInHrFsEtDu1y;ch,e9;s,te;k,tD;!y;!ic;nt,r,se;!a7;bje8ff0il,oErDutli3Over49;bAd0ie9;ze;a4PeFoDur1;d,tD;e,i3;ed,gle8tD;!work;aMeKiIoEuD;rd0;ck,d3Pld,nEp,uDve;nt,th;it5CkD;ey;lk,n49rr5AsDx;s,ta29;asuCn4SrDss;ge,it;il,nFp,rk3UsEtD;ch,t0;h,k,t0;da5n0oeuvC;aLeJiHoEuD;mp,st;aEbby,ck,g,oDve;k,t;d,n;cDft,mAnHst;en1k;aDc0Ne4vJ;ch,d,k,p,se;bEcDnd,p,t4un4;e,k;el,o2T;eEiDno4D;ck,d,ll,ss;el,y;aEo1NuD;i3mp;m,zz;mpJnEr45ssD;ue;c1Qdex,fluGha2k,se2GteDvoi3;nt,rD;e6fa3viD;ew;en3;a8le29;aJeHiGoEuD;g,nt;l39no2Cok,pDr1u1;!e;ghli1Eke,nt,re,t;aDd7lp;d,t;ck,mGndFrEsh,tDu9;ch,e;bo3Wm,ne4Dve6;!le;!m0;aLear,ift,lJossIrFuD;arDe49lp,n;antee,d;aEiDouBumb2;ll,nd,p;de,sp;ip;oDue;ss,w;g,in,me,ng,s,te,ze;aZeWiRlNoJrFuD;ck,el,nDss,zz;c38d;aEoDy;st,wn;cDgme,me,nchi1;tuC;cFg,il,ld,rD;ce,e29mDwa31;!at;us;aFe0Vip,oDy;at,ck,od,wD;!er;g,ke,me,re,sh,vo1E;eGgFlEnDre,sh,t,x;an3i0Q;e,m,t0;ht,uC;ld;aEeDn3;d,l;r,tuC;ce,il,ll,rm,vo2W;cho,d7ffe8nMsKxFyeD;!baD;ll;cGerci1hFpDtra8;eriDo0W;en3me9;au6ibA;el,han7u1;caDtima5;pe;count0d,vy;a01eSiMoJrEuDye;b,el,mp,pli2X;aGeFiEoD;ne,p;ft,ll,nk,p,ve;am,ss;ft,g,in;cEd7ubt,wnloD;ad;k,u0E;ge6p,sFt4vD;e,iDor3;de;char7gui1h,liEpD;at4lay,u5;ke;al,bKcJfeIlGmaBposAsEtaD;il;e07iD;gn,re;ay,ega5iD;ght;at,ct;li04rea1;a5ut;b,ma7n3rDte;e,t;a0Eent0Dh06irc2l03oKrFuD;be,e,rDt;b,e,l,ve;aGeFoEuDy;sh;p,ss,wd;dAep;ck,ft,sh;at,de,in,lTmMnFordina5py,re,st,uDv0;gh,nDp2rt;s01t;ceHdu8fli8glomeIsFtDveN;a8rD;a6ol;e9tru8;ct;ntDrn;ra5;bHfoGmFpD;leDouBromi1;me9;aBe9it,u5;rt;at,iD;ne;lap1oD;r,ur;aEiDoud,ub;ck,p;im,w;aEeDip;at,ck,er;iGllen7nErD;ge,m,t;ge,nD;el;n,r;er,re;ke,ll,mp,noe,pGrXsFtEuDve;se,ti0I;alog,ch;h,t;!tuC;re;a03eZiXlToPrHuEyD;pa11;bb2ck2dgEff0mp,rDst,zz;den,n;et;anJeHiFoadEuD;i1sh;ca6;be,d7;ge;aDed;ch,k;ch,d;aFg,mb,nEoDrd0tt2x,ycott;k,st,t;d,e;rd,st;aFeBiDoYur;nk,tz;nd;me;as,d,ke,nd,opsy,tD;!ch,e;aFef,lt,nDt;d,efA;it;r,t;ck,il,lan3nIrFsEtt2;le;e,h;!gDk;aDe;in;!d,g,k;bu1c05dZge,iYlVnTppQrLsIttGucEwaD;rd;tiD;on;aDempt;ck;k,sD;i6ocia5;st;chFmD;!oD;ur;!iD;ve;eEroa4;ch;al;chDg0sw0;or;aEt0;er;rm;d,m,r;dreHvD;an3oD;ca5;te;ce;ss;cDe,he,t;eFoD;rd,u9;nt;nt,ss;se", "Actor": "true¦0:7C;1:7H;2:6B;3:7G;4:7P;5:7L;6:72;a6Pb64c4Xd4De43f3Tg3Ch31i2Vj2Rkin2Ql2Lm27n20o1Tp0Wqu0Ur0KsRtKuIvFw9yo7;gi,ut7;h,ub0;aBeAi9o8r7;estl0it0;m2rk0;fe,nn0t2Cza2I;atherm2ld0;ge earn0it0nder0rri1;eter8i7oyG;ll5Sp,s41;an,ina2V;n7s0;c6Wder04;aoisea24eAherapi5iktok0o9r7ut1yco6;a7endseMo45;d0mp,nscri0Cvel0;ddl0u1H;a0Rchn8en7na4st0;ag0;i3Qo0E;aiYcVeShQiNki0mu27oKpHquaGtCu8wee7;p0theart;lt2per8r7;f0ge6viv1;h7inten0Jst5Kvis1;ero,um2;a9ep8r7;ang0eam0;bro2Oc2Pfa2Omo2Osi21;ff0tesm2;tt0;ec8ir2Eo7;kesp5Bu0N;ia5Lt3;l8me6Cn,rcere7ul;r,ss;di0oi5;n8s7;sy,t0;g0n0;am2ephe1Jow7;girl,m2r2R;cretJnior cit3Hr7;gea4v7;a4it1;hol4Zi8reen7ulpt1;wr2D;e02on;l1nt;aFeAo9u7;l0nn7;er up,ingF;g42le mod41of0;a51c9fug2Rpo34searRv7;ere4Wolution7;ary;e7luZru23;ptio3V;bbi,dic5Xpp0;arter7e31;back;aZeXhTiSlPoLr9sycho8u7;nk,p34;logi5;aHeEiCo7;dAfess1g8ph49s7;pe2Mtitu53;en7ramm0;it1y;igy,uc0;est4Pme mini0Vnce7s3G;!ss;a8si7;de4;ch0;ctiti3Bnk0Q;dca0Pet,li7pula52rnst44;c2Ktic7;al scie7i2;nti5;a7umb0;nn0y7;er,ma4Nwright;lgrim,one0;a9iloso8otogra8ra7ysi1X;se;ph0;ntom,rmaci5;r7ssi1V;form0s6;i3Gl,nel40r9st1tr7wn;i7on;arXot;ent4Yi44tn0;ccupa4ffCp9r8ut7;ca5l0C;ac4Kganiz0ig2Hph2;er3t7;i1Lomet7;ri5;ic0spring;aCeAie4Zo8u7;n,rser3L;b7mad,vi4X;le2Xo4F;i7mesis,phew;ce,ghb1;nny,rr3t20;aFeEiBo8u7yst21;m9si18;der3gul,m8n7th0;arEk;!my;ni8s7;f03s0Kt0;on,st0;chan1Tnt1rcha4;giAk0n9rtyr,t7y1;e,riar7;ch;ag0iac;ci2stra3K;a8e2Cieutena4o7;rd,s0v0;bor0d8ndlo7ss,urea3Hwy0ym2;rd;!y;!s2A;anitor ,e9o8u7;ggl0;gg0urna2W;st0;c6dol,llu3Wmmigra4n7;-lAc1Sfa4habi44nov3s8ve7;nt1stig3;pe0Pt7;a1Hig3ru0O;aw;airGeCistoBo9u7ygie1M;man7nt0sba2J;!ita9;bo,st7usekO;age,e3R;ri2;ir,r7;m8o7;!ine;it;dress0sty2E;aMeJhostHirl28ladi3oDrand8u7;e5ru;cAdaugTfa9m8pa7s6;!re4;a,o7;th0;hi1D;al8d7lf0;!de3C;ie,k7te28;eep0;!wr7;it0;isha,n7;i7tl06;us;mbl0rden0;aFella,iBo8r7;eela2Pie1R;e,re7ster pare4;be1Jm2r7st0;unn0;an31g9lmm19nanci0r7tt0;e7st la2J; marsh2Qfig7m2;ht0;rm0th0;conoFdElectriDm9n8x7;amin0cellency,i2B;emy,trepreneur,vironmenta1K;c9p7;er1loye7;e,r;ee;ci2;it1;mi5;aLeCi9ork,ri8u7we03;de,tche2I;ft0vK;ct3eti8plom2Ire7va;ct1;ci2ti2;aEcor3fencDi0JnBputAs8tectNvel7;op0;ce1He7ign0;rt0;ee,y;iz7;en;em2;c6l0;dAnc0redev9ught7;er7;! ;il;!dy;a06e04fo,hXitizenWlToCrAu7;r3stomer7;! representat7;ive;e3it7;ic;-work0lJmGnAord9rpor1Nu7wboy;n7ri0sin ;ciUte1R;in3;fidantBgressTsAt7;e0Lr7;ibut1o7;ll0;tab14ul1P;!e;edi2m7pos0rade;a0FeRissi7;on0;leag9on8um7;ni5;el;ue;e7own;an0r7;ic,k;!s;aAe8i7um;ld;erle7f;ad0;ir8nce7plGract0;ll1;m2wJ;lebri7o;ty;dCptBr7shi0;e8pe7;nt0;r,t7;ak0;ain;et;aNeMiKlogg0oFrCu7;dd0Gild0rglAsiness7;m2p8w7;om2;ers6;ar;i8o7;!k0th0;cklay0de,gadi0;hemi2oge9y7;!frie7;nd;ym2;an;cyc7sS;li5;atbox0ings;by,nk0r7;b0on8te7;nd0;!e08;c05dXge4nRpMrIsGtBu8yatull7;ah;nt8t7;h1oH;!ie;h9t7;e7orney;nda4;ie5le7;te;sis01tron7;aut,om0;chbis9isto8tis7;an,t;crV;hop;ostAp7;ari7rentiT;ti6;on;le;aAcest1im3nou9y7;bo7;dy;nc0;ly5rc7;hi5;mi9v7;entur0is1;er;ni8r7;al;str3;at1;or;counCquaintanBrobAt7;ivi5or,re7;ss;st;at;ce;ta4;nt", diff --git a/tmp-NER.js b/tmp-NER.js index 72de90319..83b5bf08a 100644 --- a/tmp-NER.js +++ b/tmp-NER.js @@ -18,7 +18,6 @@ let arr = [ 'firefox', 'halliburton', 'ikea', - 'ivy league', 'klm', 'lexus', 'manchester united', From dfcf98f132fbf857dc1d02036dcff418fef285e1 Mon Sep 17 00:00:00 2001 From: spencer kelly Date: Tue, 5 Sep 2023 19:07:53 -0400 Subject: [PATCH 05/32] move university-of-place match --- scratch.js | 1 + src/2-two/postTagger/model/nouns/places.js | 2 -- src/2-two/postTagger/model/orgs/organizations.js | 3 ++- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scratch.js b/scratch.js index dfbdaf499..11db4dda8 100644 --- a/scratch.js +++ b/scratch.js @@ -12,6 +12,7 @@ nlp.extend({ }, }) let arr = [ + 'University of Germany', '12 a.m.', 'H.R. 49', 'for January 2022', diff --git a/src/2-two/postTagger/model/nouns/places.js b/src/2-two/postTagger/model/nouns/places.js index ad900b626..015258f43 100644 --- a/src/2-two/postTagger/model/nouns/places.js +++ b/src/2-two/postTagger/model/nouns/places.js @@ -16,8 +16,6 @@ export default [ { match: '(district|region|province|municipality|territory|burough|state) of #ProperNoun', tag: 'Region', reason: 'district-of-Foo' }, // in Foo California { match: 'in [#ProperNoun] #Place', group: 0, tag: 'Place', reason: 'propernoun-place' }, - //University of Foo - { match: 'university of #Place', tag: 'Organization', reason: 'university-of-Foo' }, // Address { match: '#Value #Noun (st|street|rd|road|crescent|cr|way|tr|terrace|avenue|ave)', tag: 'Address', reason: 'address-st' }, ] diff --git a/src/2-two/postTagger/model/orgs/organizations.js b/src/2-two/postTagger/model/orgs/organizations.js index 68d7d2521..f1e1089dd 100644 --- a/src/2-two/postTagger/model/orgs/organizations.js +++ b/src/2-two/postTagger/model/orgs/organizations.js @@ -27,7 +27,8 @@ export default [ // { match: `${orgMap} (stock|mergantile)+ exchange`, tag: 'Organization', reason: 'stock-exchange' }, // // foo news service // { match: `${orgMap} (daily|evening|local)+ news service?`, tag: 'Organization', reason: 'foo-news' }, - + //University of Foo + { match: 'university of #Place', tag: 'Organization', reason: 'university-of-Foo' }, //John & Joe's { match: '#Noun (&|n) #Noun', tag: 'Organization', reason: 'Noun-&-Noun' }, // teachers union of Ontario From 5b85d193a4856d3fdeb3b40590f199b9f7604e44 Mon Sep 17 00:00:00 2001 From: Jared Van Valkengoed <86180097+MarketingPip@users.noreply.github.com> Date: Thu, 14 Sep 2023 22:27:44 -0400 Subject: [PATCH 06/32] Added US national monuments :wrench: --- data/lexicon/places/places.js | 155 ++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/data/lexicon/places/places.js b/data/lexicon/places/places.js index 70d1b7a0f..61ff0734c 100644 --- a/data/lexicon/places/places.js +++ b/data/lexicon/places/places.js @@ -102,4 +102,159 @@ export default [ 'chuuk', 'kosrae', 'sakhalin', + + // list of US national monuments + 'admiralty island', + 'african burial ground', + 'agate fossil beds', + 'agua fria', + 'aleutian islands world war ii', + 'alibates flint quarries', + 'aniakchak', + 'avi kwa ame', + 'aztec ruins', + 'bandelier', + 'basin and range', + 'bears ears', + 'belmont-paul women's equality', + 'browns canyon', + 'cabrillo', + 'camp hale — continental divide', + 'camp nelson', + 'canyon de chelly', + 'canyons of the ancients', + 'cape krusenstern', + 'capulin volcano', + 'carrizo plain', + 'casa grande ruins', + 'cascade–siskiyou', + 'castillo de san marcos', + 'castle clinton', + 'castle mountains', + 'castner range', + 'cedar breaks', + 'césar e. chávez', + 'charles young buffalo soldiers', + 'chimney rock', + 'chiricahua', + 'craters of the moon', + 'devils postpile', + 'devils tower', + 'dinosaur', + 'effigy mounds', + 'el malpais', + 'el morro', + 'emmett till and mamie till-mobley', + 'florissant fossil beds', + 'fort frederica', + 'fort matanzas', + 'fort mchenry', + 'fort monroe', + 'fort pulaski', + 'fort stanwix', + 'fort union', + 'fossil butte', + 'freedom riders', + 'george washington birthplace', + 'george washington carver', + 'giant sequoia', + 'gila cliff dwellings', + 'gold butte', + 'governors island', + 'grand canyon–parashant', + 'grand portage', + 'grand staircase–escalante', + 'hagerman fossil beds', + 'hanford reach', + 'harriet tubman underground railroad', + 'hohokam pima', + 'hovenweep', + 'ironwood forest', + 'jewel cave', + 'john day fossil beds', + 'jurassic', + 'kasha-katuwe tent rocks', + 'katahdin woods and waters', + 'lava beds', + 'little bighorn battlefield', + 'marianas trench marine', + 'medgar and myrlie evers home', + 'military working dog teams', + 'mill springs battlefield', + 'misty fjords', + 'mojave trails', + 'montezuma castle', + 'muir woods', + 'natural bridges', + 'navajo', + 'newberry volcanic', + 'northeast canyons and seamounts marine', + 'organ mountains–desert peaks', + 'organ pipe cactus', + 'pacific remote islands marine', + 'papahānaumokuākea marine', + 'petroglyph', + 'pipe spring', + 'pipestone', + 'pompeys pillar', + 'poverty point', + 'prehistoric trackways', + 'president lincoln and soldiers’ home', + 'rainbow bridge', + 'rose atoll marine', + 'russell cave', + 'saint francis dam disaster', + 'salinas pueblo missions', + 'san gabriel mountains', + 'sand to snow', + 'santa rosa and san jacinto mountains', + 'scotts bluff', + 'sonoran desert', + 'statue of liberty', + 'stonewall', + 'sunset crater volcano', + 'timpanogos cave', + 'tonto', + 'tule lake', + 'tule springs fossil beds', + 'tuzigoot', + 'vermilion cliffs', + 'virgin islands coral reef', + 'waco mammoth', + 'walnut canyon', + 'wupatki', + 'yucca house', + 'forbidden city', + 'lincoln memorial', + 'colosseum', + 'parthenon', + 'eiffel tower', + 'taj mahal', + 'peterhof palace', + 'łazienki palace', + 'vietnam veterans memorial', + 'world war ii memorial', + 'independence national historical park', + 'sagrada família', + 'statue of liberty national monument', + 'teotihuacán', + 'mysore palace', + 'tsarskoe selo state museum-reserve', + 'pompeii', + 'wilanów palace', + 'schönbrunn palace', + 'kazan kremlin', + 'alhambra', + 'chichén itzá', + 'topkapı palace', + 'chapultepec castle', + 'statue of unity', + 'battle of stalingrad', + 'tulum', + 'auschwitz-birkenau memorial and museum', + 'wawel castle', + 'arc de triomphe', + 'neuschwanstein', + 'machu picchu', + 'castillo san felipe del morro', ] From cd8b202723d5c8829cd463bf4962ac225ce2baee Mon Sep 17 00:00:00 2001 From: spencer kelly Date: Sun, 8 Oct 2023 10:55:10 -0400 Subject: [PATCH 07/32] dates@3.4.2rc --- plugins/dates/builds/compromise-dates.cjs | 7 +++++-- plugins/dates/builds/compromise-dates.min.js | 2 +- plugins/dates/builds/compromise-dates.mjs | 2 +- plugins/dates/package-lock.json | 4 ++-- plugins/dates/package.json | 2 +- plugins/dates/src/_version.js | 2 +- 6 files changed, 11 insertions(+), 8 deletions(-) diff --git a/plugins/dates/builds/compromise-dates.cjs b/plugins/dates/builds/compromise-dates.cjs index ca0e4cc78..0fc830349 100644 --- a/plugins/dates/builds/compromise-dates.cjs +++ b/plugins/dates/builds/compromise-dates.cjs @@ -2955,6 +2955,7 @@ var methods$5 = methods$4; // javascript setX methods like setDate() can't be used because of the local bias + //these methods wrap around them. const validate = (n) => { //handle number as a string @@ -4588,6 +4589,8 @@ var doSection = parseSection; // some opinionated-but-common-sense timezone abbreviations + // these timezone abbreviations are wholly made-up by me, Spencer Kelly, with no expertise in geography + // generated humbly from https://github.com/spencermountain/spacetime-informal const america$1 = 'America/'; const asia$1 = 'Asia/'; @@ -8674,13 +8677,13 @@ // @4pm [/^@[1-9]+(am|pm)$/, 'Time', '@5pm'], // 03/02 - [/^[0-9]{2}\/[0-9]{2}/, 'Date', '03/02'], + [/^[0-9]{2}\/[0-9]{2}$/, 'Date', '03/02'], // iso-time // [/^[0-9]{4}[:-][0-9]{2}[:-][0-9]{2}T[0-9]/i, 'Time', 'iso-time-tag'] ]; - var version = '3.4.1'; + var version = '3.4.2'; // import matches from './compute/matches.js' diff --git a/plugins/dates/builds/compromise-dates.min.js b/plugins/dates/builds/compromise-dates.min.js index c2476e46f..e6216c4b1 100644 --- a/plugins/dates/builds/compromise-dates.min.js +++ b/plugins/dates/builds/compromise-dates.min.js @@ -1 +1 @@ -var e,t;e=this,t=function(){var e=function(e){let t=null;return e.has("^(between|within) #Date")?e:(e.has("#Month")&&(t=e.match("[#Month #Value] and? #Month",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),t=e.match("[#Value #Month] and? #Value #Month",0),t.found&&(e=e.splitAfter(t)),t=e.match("^[#Month] and? #Month #Ordinal?$",0),t.found&&(e=e.splitAfter(t)),t=e.match("[#Month #Value] #Month",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t))),e.has("#WeekDay")&&(t=e.match("^[#WeekDay] and? #WeekDay$",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),t=e.match("#WeekDay #WeekDay and? #WeekDay"),t.found&&(e=e.splitOn("#WeekDay")),t=e.match("[#WeekDay] (and|or|this|next)? #WeekDay",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter("#WeekDay"))),t=e.match("(this|next) #Duration [(today|tomorrow|yesterday)]",0),t.found&&(e=e.splitBefore(t)),t=e.match("[(today|tomorrow|yesterday)] #Value #Month",0),t.found&&(e=e.splitAfter(t)),t=e.match("[(today|tomorrow|yesterday)] (today|tomorrow|yesterday|#WeekDay)",0).ifNo("@hasDash$"),t.found&&(e=e.splitAfter(t)),e=e.not("^and"))},t=function(t){let a=t.match("#Date+");a=a.filter(e=>{let t=e.has("^#Duration+$")||e.has("^#Value #Duration+$");return!(!0!==t||!e.has("(#FinancialQuarter|quarter)"))||!1===t});let n=a.match("[#Cardinal #Duration (in|on|this|next|during|for)] #Date",0);return n.found&&(a=a.not(n)),n=a.match("[#Cardinal #Duration] #WeekDay",0),n.found&&(a=a.not(n)),n=a.match("#Date [for #Value #Duration]$",0),n.found&&(a=a.not(n)),n=a.match("[#Cardinal #Duration] #Date",0),n.found&&!a.has("#Cardinal #Duration] (ago|from|before|after|back)")&&(a=a.not(n)),n=a.match("for #Cardinal #Duration"),n.found&&(a=a.not(n)),a=a.notIf("^one (#WeekDay|#Month)$"),a=e(a),a=a.notIf("(#Money|#Percentage)"),a=a.notIf("^per #Duration"),a};const a={second:!0,minute:!0,hour:!0,day:!0,week:!0,weekend:!0,month:!0,season:!0,quarter:!0,year:!0},n={wk:"week",min:"minute",sec:"second",weekend:"week"},r=function(e){let t=e.match("#Duration").text("normal");return t=t.replace(/s$/,""),n.hasOwnProperty(t)&&(t=n[t]),t};var i=function(e){let t={},n=e.none(),i=e.match("#DateShift+");if(!1===i.found)return{res:t,m:n};if(i.match("#Cardinal #Duration").forEach(e=>{let n=e.match("#Cardinal").numbers().get()[0];if(n&&"number"==typeof n){let i=r(e);!0===a[i]&&(t[i]=n)}}),!0===i.has("(before|ago|hence|back)$")&&Object.keys(t).forEach(e=>t[e]*=-1),n=i.match("#Cardinal #Duration"),i=i.not(n),n=i.match("[#Duration] [(after|before)]"),n.found){let e=n.groups("unit").text("reduced"),a=n.groups("dir").text("reduced");"after"===a?t[e]=1:"before"===a&&(t[e]=-1)}if(n=i.match("half (a|an) [#Duration]",0),n.found){let e=r(n);t[e]=.5}return n=e.match("#DateShift+"),{result:t,m:n}};const o={minute:!0};var s=function(e){let t=e.match("[#Value] [#Duration+] (of|in)");if(t.found){let e=t.groups(),a=e.num.numbers().get()[0],n=e.unit.text("reduced"),r={unit:n,num:Number(a)||0};return o[n]||(r.num-=1),{result:r,m:t}}if(t=e.match("[(first|initial|last|final)] [#Duration+] (of|in)"),t.found){let e=t.groups(),a=e.dir.text("reduced"),n=e.unit.text("reduced");return"initial"===a&&(a="first"),"final"===a&&(a="last"),{result:{unit:n,dir:a},m:t}}return{result:null,m:e.none()}};const u=(e,t,a)=>{const[n,r]=e.split("/"),[i,o]=r.split(":");return Date.UTC(a,n-1,i,o)-36e5*t};var d=(e,t,a,n,r)=>{const i=new Date(e).getUTCFullYear(),o=u(t,r,i),s=u(a,n,i);return e>=o&&e{let t=e.timezones[e.tz];if(void 0===t)return console.warn("Warning: couldn't find timezone "+e.tz),0;if(void 0===t.dst)return t.offset;let a=t.offset,n=t.offset+1;"n"===t.hem&&(n=a-1);let r=t.dst.split("->");return!0===d(e.epoch,r[0],r[1],a,n)?a:n},m={"9|s":"2/dili,2/jayapura","9|n":"2/chita,2/khandyga,2/pyongyang,2/seoul,2/tokyo,11/palau,japan,rok","9.5|s|04/03:03->10/02:02":"4/adelaide,4/broken_hill,4/south,4/yancowinna","9.5|s":"4/darwin,4/north","8|s|03/08:01->10/04:00":"12/casey","8|s":"2/kuala_lumpur,2/makassar,2/singapore,4/perth,2/ujung_pandang,4/west,singapore","8|n":"2/brunei,2/choibalsan,2/hong_kong,2/irkutsk,2/kuching,2/macau,2/manila,2/shanghai,2/taipei,2/ulaanbaatar,2/chongqing,2/chungking,2/harbin,2/macao,2/ulan_bator,hongkong,prc,roc","8.75|s":"4/eucla","7|s":"12/davis,2/jakarta,9/christmas","7|n":"2/bangkok,2/barnaul,2/hovd,2/krasnoyarsk,2/novokuznetsk,2/novosibirsk,2/phnom_penh,2/pontianak,2/ho_chi_minh,2/tomsk,2/vientiane,2/saigon","6|s":"12/vostok","6|n":"2/almaty,2/bishkek,2/dhaka,2/omsk,2/qyzylorda,2/qostanay,2/thimphu,2/urumqi,9/chagos,2/dacca,2/kashgar,2/thimbu","6.5|n":"2/yangon,9/cocos,2/rangoon","5|s":"12/mawson,9/kerguelen","5|n":"2/aqtau,2/aqtobe,2/ashgabat,2/atyrau,2/dushanbe,2/karachi,2/oral,2/samarkand,2/tashkent,2/yekaterinburg,9/maldives,2/ashkhabad","5.75|n":"2/katmandu,2/kathmandu","5.5|n":"2/kolkata,2/colombo,2/calcutta","4|s":"9/reunion","4|n":"2/baku,2/dubai,2/muscat,2/tbilisi,2/yerevan,8/astrakhan,8/samara,8/saratov,8/ulyanovsk,8/volgograd,2/volgograd,9/mahe,9/mauritius","4.5|n|03/22:00->09/21:24":"2/tehran,iran","4.5|n":"2/kabul","3|s":"12/syowa,9/antananarivo","3|n|03/27:03->10/30:04":"2/famagusta,2/nicosia,8/athens,8/bucharest,8/helsinki,8/kiev,8/mariehamn,8/riga,8/sofia,8/tallinn,8/uzhgorod,8/vilnius,8/zaporozhye,8/nicosia","3|n|03/27:02->10/30:03":"8/chisinau,8/tiraspol","3|n|03/27:00->10/29:24":"2/beirut","3|n|03/27:00->10/28:01":"2/gaza,2/hebron","3|n|03/25:02->10/30:02":"2/jerusalem,2/tel_aviv,israel","3|n|03/25:00->10/27:24":"2/damascus","3|n|02/25:00->10/28:01":"2/amman","3|n":"0/addis_ababa,0/asmara,0/asmera,0/dar_es_salaam,0/djibouti,0/juba,0/kampala,0/mogadishu,0/nairobi,2/aden,2/baghdad,2/bahrain,2/kuwait,2/qatar,2/riyadh,8/istanbul,8/kirov,8/minsk,8/moscow,8/simferopol,9/comoro,9/mayotte,2/istanbul,turkey,w-su","2|s|03/27:02->10/30:02":"12/troll","2|s":"0/gaborone,0/harare,0/johannesburg,0/lubumbashi,0/lusaka,0/maputo,0/maseru,0/mbabane","2|n|03/27:02->10/30:03":"0/ceuta,arctic/longyearbyen,8/amsterdam,8/andorra,8/belgrade,8/berlin,8/bratislava,8/brussels,8/budapest,8/busingen,8/copenhagen,8/gibraltar,8/ljubljana,8/luxembourg,8/madrid,8/malta,8/monaco,8/oslo,8/paris,8/podgorica,8/prague,8/rome,8/san_marino,8/sarajevo,8/skopje,8/stockholm,8/tirane,8/vaduz,8/vatican,8/vienna,8/warsaw,8/zagreb,8/zurich,3/jan_mayen,poland","2|n":"0/blantyre,0/bujumbura,0/cairo,0/khartoum,0/kigali,0/tripoli,8/kaliningrad,egypt,libya","1|s":"0/brazzaville,0/kinshasa,0/luanda,0/windhoek","1|n|03/27:03->05/08:02":"0/casablanca,0/el_aaiun","1|n|03/27:01->10/30:02":"3/canary,3/faroe,3/madeira,8/dublin,8/guernsey,8/isle_of_man,8/jersey,8/lisbon,8/london,3/faeroe,eire,8/belfast,gb-eire,gb,portugal","1|n":"0/algiers,0/bangui,0/douala,0/lagos,0/libreville,0/malabo,0/ndjamena,0/niamey,0/porto-novo,0/tunis","14|n":"11/kiritimati","13|s|04/04:04->09/26:03":"11/apia","13|s|01/15:02->11/05:03":"11/tongatapu","13|n":"11/enderbury,11/fakaofo","12|s|04/03:03->09/25:02":"12/mcmurdo,11/auckland,12/south_pole,nz","12|s|01/17:03->11/14:02":"11/fiji","12|n":"2/anadyr,2/kamchatka,2/srednekolymsk,11/funafuti,11/kwajalein,11/majuro,11/nauru,11/tarawa,11/wake,11/wallis,kwajalein","12.75|s|04/03:03->04/03:02":"11/chatham,nz-chat","11|s|04/03:03->10/02:02":"12/macquarie","11|s":"11/bougainville","11|n":"2/magadan,2/sakhalin,11/efate,11/guadalcanal,11/kosrae,11/noumea,11/pohnpei,11/ponape","11.5|n|04/03:03->10/02:02":"11/norfolk","10|s|04/03:03->10/02:02":"4/currie,4/hobart,4/melbourne,4/sydney,4/act,4/canberra,4/nsw,4/tasmania,4/victoria","10|s":"12/dumontdurville,4/brisbane,4/lindeman,11/port_moresby,4/queensland","10|n":"2/ust-nera,2/vladivostok,2/yakutsk,11/guam,11/saipan,11/chuuk,11/truk,11/yap","10.5|s|04/03:01->10/02:02":"4/lord_howe,4/lhi","0|n|03/27:00->10/30:01":"1/scoresbysund,3/azores","0|n":"0/abidjan,0/accra,0/bamako,0/banjul,0/bissau,0/conakry,0/dakar,0/freetown,0/lome,0/monrovia,0/nouakchott,0/ouagadougou,0/sao_tome,1/danmarkshavn,3/reykjavik,3/st_helena,13/gmt,13/utc,0/timbuktu,13/greenwich,13/uct,13/universal,13/zulu,gmt-0,gmt+0,gmt0,greenwich,iceland,uct,universal,utc,zulu","-9|n|03/13:02->11/06:02":"1/adak,1/atka,us/aleutian","-9|n":"11/gambier","-9.5|n":"11/marquesas","-8|n|03/13:02->11/06:02":"1/anchorage,1/juneau,1/metlakatla,1/nome,1/sitka,1/yakutat,us/alaska","-8|n":"11/pitcairn","-7|n|03/13:02->11/06:02":"1/los_angeles,1/santa_isabel,1/tijuana,1/vancouver,1/ensenada,6/pacific,10/bajanorte,us/pacific-new,us/pacific","-7|n|03/08:02->11/01:01":"1/dawson,1/whitehorse,6/yukon","-7|n":"1/creston,1/dawson_creek,1/fort_nelson,1/hermosillo,1/phoenix,us/arizona","-6|s|04/02:22->09/03:22":"11/easter,7/easterisland","-6|n|04/03:02->10/30:02":"1/chihuahua,1/mazatlan,10/bajasur","-6|n|03/13:02->11/06:02":"1/boise,1/cambridge_bay,1/denver,1/edmonton,1/inuvik,1/ojinaga,1/yellowknife,1/shiprock,6/mountain,navajo,us/mountain","-6|n":"1/belize,1/costa_rica,1/el_salvador,1/guatemala,1/managua,1/regina,1/swift_current,1/tegucigalpa,11/galapagos,6/east-saskatchewan,6/saskatchewan","-5|s":"1/lima,1/rio_branco,1/porto_acre,5/acre","-5|n|04/03:02->10/30:02":"1/bahia_banderas,1/merida,1/mexico_city,1/monterrey,10/general","-5|n|03/13:02->11/06:02":"1/chicago,1/matamoros,1/menominee,1/rainy_river,1/rankin_inlet,1/resolute,1/winnipeg,1/indiana/knox,1/indiana/tell_city,1/north_dakota/beulah,1/north_dakota/center,1/north_dakota/new_salem,1/knox_in,6/central,us/central,us/indiana-starke","-5|n|03/12:03->11/05:01":"1/north_dakota","-5|n":"1/bogota,1/cancun,1/cayman,1/coral_harbour,1/eirunepe,1/guayaquil,1/jamaica,1/panama,1/atikokan,jamaica","-4|s|05/13:23->08/13:01":"12/palmer","-4|s|04/02:24->09/04:00":"1/santiago,7/continental","-4|s|03/26:24->10/02:00":"1/asuncion","-4|s|02/16:24->11/03:00":"1/campo_grande,1/cuiaba","-4|s":"1/la_paz,1/manaus,5/west","-4|n|03/13:02->11/06:02":"1/detroit,1/grand_turk,1/indianapolis,1/iqaluit,1/louisville,1/montreal,1/nassau,1/new_york,1/nipigon,1/pangnirtung,1/port-au-prince,1/thunder_bay,1/toronto,1/indiana/marengo,1/indiana/petersburg,1/indiana/vevay,1/indiana/vincennes,1/indiana/winamac,1/kentucky/monticello,1/fort_wayne,1/indiana/indianapolis,1/kentucky/louisville,6/eastern,us/east-indiana,us/eastern,us/michigan","-4|n|03/13:00->11/06:01":"1/havana,cuba","-4|n|03/12:03->11/05:01":"1/indiana,1/kentucky","-4|n":"1/anguilla,1/antigua,1/aruba,1/barbados,1/blanc-sablon,1/boa_vista,1/caracas,1/curacao,1/dominica,1/grenada,1/guadeloupe,1/guyana,1/kralendijk,1/lower_princes,1/marigot,1/martinique,1/montserrat,1/port_of_spain,1/porto_velho,1/puerto_rico,1/santo_domingo,1/st_barthelemy,1/st_kitts,1/st_lucia,1/st_thomas,1/st_vincent,1/tortola,1/virgin","-3|s":"1/argentina,1/buenos_aires,1/catamarca,1/cordoba,1/fortaleza,1/jujuy,1/mendoza,1/montevideo,1/punta_arenas,1/sao_paulo,12/rothera,3/stanley,1/argentina/la_rioja,1/argentina/rio_gallegos,1/argentina/salta,1/argentina/san_juan,1/argentina/san_luis,1/argentina/tucuman,1/argentina/ushuaia,1/argentina/comodrivadavia,1/argentina/buenos_aires,1/argentina/catamarca,1/argentina/cordoba,1/argentina/jujuy,1/argentina/mendoza,1/argentina/rosario,1/rosario,5/east","-3|n|03/13:02->11/06:02":"1/glace_bay,1/goose_bay,1/halifax,1/moncton,1/thule,3/bermuda,6/atlantic","-3|n":"1/araguaina,1/bahia,1/belem,1/cayenne,1/maceio,1/paramaribo,1/recife,1/santarem","-2|n|03/26:22->10/29:23":"1/nuuk,1/godthab","-2|n|03/13:02->11/06:02":"1/miquelon","-2|n":"1/noronha,3/south_georgia,5/denoronha","-2.5|n|03/13:02->11/06:02":"1/st_johns,6/newfoundland","-1|n":"3/cape_verde","-11|n":"11/midway,11/niue,11/pago_pago,11/samoa,us/samoa","-10|n":"11/honolulu,11/johnston,11/rarotonga,11/tahiti,us/hawaii"},h=["africa","america","asia","atlantic","australia","brazil","canada","chile","europe","indian","mexico","pacific","antarctica","etc"];let c={};Object.keys(m).forEach(e=>{let t=e.split("|"),a={offset:Number(t[0]),hem:t[1]};t[2]&&(a.dst=t[2]),m[e].split(",").forEach(e=>{e=e.replace(/(^[0-9]+)\//,(e,t)=>(t=Number(t),h[t]+"/")),c[e]=a})}),c.utc={offset:0,hem:"n"};for(let e=-14;e<=14;e+=.5){let t=e;t>0&&(t="+"+t);let a="etc/gmt"+t;c[a]={offset:-1*e,hem:"n"},a="utc/gmt"+t,c[a]={offset:-1*e,hem:"n"}}var f=c;const y=/(\-?[0-9]+)h(rs)?/i,p=/(\-?[0-9]+)/,g=/utc([\-+]?[0-9]+)/i,w=/gmt([\-+]?[0-9]+)/i,b=function(e){return(e=Number(e))>=-13&&e<=13?"etc/gmt"+(e=((e*=-1)>0?"+":"")+e):null};var k=function(e){let t=e.match(y);if(null!==t)return b(t[1]);if(t=e.match(g),null!==t)return b(t[1]);if(t=e.match(w),null!==t){let e=-1*Number(t[1]);return b(e)}return t=e.match(p),null!==t?b(t[1]):null};const D=(()=>{let e=(()=>{if("undefined"==typeof Intl||void 0===Intl.DateTimeFormat)return null;let e=Intl.DateTimeFormat();if(void 0===e||void 0===e.resolvedOptions)return null;let t=e.resolvedOptions().timeZone;return t?t.toLowerCase():null})();return null===e?"utc":e})(),v=Object.keys(f).reduce((e,t)=>{let a=t.split("/")[1]||"";return a=a.replace(/_/g," "),e[a]=t,e},{});var A=(e,t)=>{if(!e)return D;"string"!=typeof e&&console.error("Timezone must be a string - recieved: '",e,"'\n");let a=e.trim();if(a=a.toLowerCase(),!0===t.hasOwnProperty(a))return a;if(a=(e=>(e=(e=(e=(e=(e=e.replace(/ time/g,"")).replace(/ (standard|daylight|summer)/g,"")).replace(/\b(east|west|north|south)ern/g,"$1")).replace(/\b(africa|america|australia)n/g,"$1")).replace(/\beuropean/g,"europe")).replace(/\islands/g,"island"))(a),!0===t.hasOwnProperty(a))return a;if(!0===v.hasOwnProperty(a))return v[a];if(!0===/[0-9]/.test(a)){let e=k(a);if(e)return e}throw new Error("Spacetime: Cannot find timezone named: '"+e+"'. Please enter an IANA timezone id.")};function x(e){return e%4==0&&e%100!=0||e%400==0}function O(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.valueOf())}function M(e){return"[object Object]"===Object.prototype.toString.call(e)}function _(e,t=2){return(e+="").length>=t?e:new Array(t-e.length+1).join("0")+e}function j(e){let t=e%10,a=e%100;return 1===t&&11!==a?e+"st":2===t&&12!==a?e+"nd":3===t&&13!==a?e+"rd":e+"th"}function $(e){return e=(e=String(e)).replace(/([0-9])(st|nd|rd|th)$/i,"$1"),parseInt(e,10)}function T(e=""){return"day"===(e=(e=(e=(e=e.toLowerCase().trim()).replace(/ies$/,"y")).replace(/s$/,"")).replace(/-/g,""))||"days"===e?"date":"min"===e||"mins"===e?"minute":e}function z(e){return"number"==typeof e?e:O(e)?e.getTime():e.epoch?e.epoch:null}function E(e,t){return!1===M(e)?t.clone().set(e):e}function V(e,t=""){const a=e>0?"+":"-",n=Math.abs(e);return`${a}${_(parseInt(""+n,10))}${t}${_(n%1*60)}`}const q={year:(new Date).getFullYear(),month:0,date:1};var S={parseArray:(e,t,a)=>{if(0===t.length)return e;let n=["year","month","date","hour","minute","second","millisecond"];for(let r=0;r{if(0===Object.keys(t).length)return e;t=Object.assign({},q,a,t);let n=Object.keys(t);for(let r=0;r0&&t<25e8&&!1===e.silent&&(console.warn(" - Warning: You are setting the date to January 1970."),console.warn(" - did input seconds instead of milliseconds?")),e.epoch=t,e}};const C=function(e){return e.epoch=Date.now(),Object.keys(e._today||{}).forEach(t=>{"function"==typeof e[t]&&(e=e[t](e._today[t]))}),e},N={now:e=>C(e),today:e=>C(e),tonight:e=>e=(e=C(e)).hour(18),tomorrow:e=>e=(e=(e=C(e)).add(1,"day")).startOf("day"),yesterday:e=>e=(e=(e=C(e)).subtract(1,"day")).startOf("day"),christmas:e=>{let t=C(e).year();return e=e.set([t,11,25,18,0,0])},"new years":e=>{let t=C(e).year();return e=e.set([t,11,31,18,0,0])}};N["new years eve"]=N["new years"];var P=N,Y=function(e){return e=(e=(e=(e=e.replace(/\b(mon|tues?|wed|wednes|thur?s?|fri|sat|satur|sun)(day)?\b/i,"")).replace(/([0-9])(th|rd|st|nd)/,"$1")).replace(/,/g,"")).replace(/ +/g," ").trim()};let H={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5};H.date=H.day,H.month=25488e5,H.week=6048e5,H.year=3154e7,Object.keys(H).forEach(e=>{H[e+"s"]=H[e]});var B=H;const L=(e,t,a,n,r)=>{let i=e.d[a]();if(i===t)return;let o=null===r?null:e.d[r](),s=e.epoch,u=t-i;e.epoch+=B[n]*u,"day"===n&&Math.abs(u)>28&&t<28&&(e.epoch+=B.hour),null!==r&&o!==e.d[r]()&&(e.epoch=s);const d=B[n]/2;for(;e.d[a]()t;)e.epoch-=d;null!==r&&o!==e.d[r]()&&(e.epoch=s)},I={year:{valid:e=>e>-4e3&&e<4e3,walkTo:(e,t)=>L(e,t,"getFullYear","year",null)},month:{valid:e=>e>=0&&e<=11,walkTo:(e,t)=>{let a=e.d,n=a.getMonth(),r=e.epoch,i=a.getFullYear();if(n===t)return;let o=t-n;for(e.epoch+=B.day*(28*o),i!==e.d.getFullYear()&&(e.epoch=r);e.d.getMonth()t;)e.epoch-=B.day}},date:{valid:e=>e>0&&e<=31,walkTo:(e,t)=>L(e,t,"getDate","day","getMonth")},hour:{valid:e=>e>=0&&e<24,walkTo:(e,t)=>L(e,t,"getHours","hour","getDate")},minute:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>L(e,t,"getMinutes","minute","getHours")},second:{valid:e=>e>=0&&e<60,walkTo:(e,t)=>{e.epoch=e.seconds(t).epoch}},millisecond:{valid:e=>e>=0&&e<1e3,walkTo:(e,t)=>{e.epoch=e.milliseconds(t).epoch}}};var W=(e,t)=>{let a=Object.keys(I),n=e.clone();for(let r=0;r{if(!t)return e;let a=0;if(/^[\+-]?[0-9]{2}:[0-9]{2}$/.test(t)&&(!0===/:00/.test(t)&&(t=t.replace(/:00/,"")),!0===/:30/.test(t)&&(t=t.replace(/:30/,".5"))),/^[\+-]?[0-9]{4}$/.test(t)&&(t=t.replace(/30$/,".5")),a=parseFloat(t),Math.abs(a)>100&&(a/=100),0===a||"Z"===t||"z"===t)return e.tz="etc/gmt",e;a*=-1,a>=0&&(a="+"+a);let n="etc/gmt"+a;return e.timezones[n]&&(e.tz=n),e},U=(e,t="")=>{let a=(t=t.replace(/^\s+/,"").toLowerCase()).match(/([0-9]{1,2}):([0-9]{1,2}):?([0-9]{1,2})?[:\.]?([0-9]{1,4})?/);if(null!==a){let n=Number(a[1]);if(n<0||n>24)return e.startOf("day");let r=Number(a[2]);if(a[2].length<2||r<0||r>59)return e.startOf("day");e=(e=(e=(e=e.hour(n)).minute(r)).seconds(a[3]||0)).millisecond(function(e=""){return(e=String(e)).length>3?e=e.substr(0,3):1===e.length?e+="00":2===e.length&&(e+="0"),Number(e)||0}(a[4]));let i=t.match(/[\b0-9] ?(am|pm)\b/);return null!==i&&i[1]&&(e=e.ampm(i[1])),e}if(a=t.match(/([0-9]+) ?(am|pm)/),null!==a&&a[1]){let t=Number(a[1]);return t>12||t<1?e.startOf("day"):e=(e=(e=e.hour(a[1]||0)).ampm(a[2])).startOf("hour")}return e=e.startOf("day")};let Z=R();const X=e=>{if(!0!==F.hasOwnProperty(e.month))return!1;if(1===e.month)return!!(x(e.year)&&e.date<=29)||e.date<=28;let t=F[e.month]||0;return e.date<=t},ee=(e="",t)=>{if(e=e.trim(),!0===/^'[0-9][0-9]$/.test(e)){let t=Number(e.replace(/'/,""));return t>50?1900+t:2e3+t}let a=parseInt(e,10);return!a&&t&&(a=t.year),a=a||(new Date).getFullYear(),a},te=function(e){return"sept"===(e=e.toLowerCase().trim())?Z.sep:Z[e]};var ae=[].concat([{reg:/^(\-?0?0?[0-9]{3,4})-([0-9]{1,2})-([0-9]{1,2})[T| ]([0-9.:]+)(Z|[0-9\-\+:]+)?$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:t[3]};return!1===X(a)?(e.epoch=null,e):(G(e,t[5]),W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{4})[\-\/\. ]([0-9]{1,2})[\-\/\. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:parseInt(t[3],10)};return a.month>=12&&(a.date=parseInt(t[2],10),a.month=parseInt(t[3],10)-1),!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{4})[\-\/\. ]([a-z]+)[\-\/\. ]([0-9]{1,2})( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:ee(t[1],e._today),month:te(t[2]),date:$(t[3]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}}],[{reg:/^([0-9]{1,2})[\-\/.]([0-9]{1,2})[\-\/.]?([0-9]{4})?( [0-9]{1,2}:[0-9]{2}:?[0-9]{0,2}? ?(am|pm|gmt))?$/i,parse:(e,t)=>{let a=parseInt(t[1],10)-1,n=parseInt(t[2],10);(e.british||a>=12)&&(n=parseInt(t[1],10),a=parseInt(t[2],10)-1);let r={date:n,month:a,year:ee(t[3],e._today)||(new Date).getFullYear()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e,t[4]))}},{reg:/^([a-z]+)[\-\/\. ]([0-9]{1,2})[\-\/\. ]?([0-9]{4}|'[0-9]{2})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2})( [0-9]{4})?( ([0-9:]+( ?am| ?pm| ?gmt)?))?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{1,2})( [0-9:]+)?( \+[0-9]{4})?( [0-9]{4})?$/i,parse:(e,t)=>{let a={year:ee(t[5],e._today),month:te(t[1]),date:$(t[2]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[3]))}}],[{reg:/^([0-9]{1,2})[\-\/]([a-z]+)[\-\/]?([0-9]{4})?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[2]),date:$(t[1]||"")};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([0-9]{1,2})( [a-z]+)( [0-9]{4}| '[0-9]{2})? ?([0-9]{1,2}:[0-9]{2}:?[0-9]{0,2}? ?(am|pm|gmt))?$/i,parse:(e,t)=>{let a={year:ee(t[3],e._today),month:te(t[2]),date:$(t[1])};return a.month&&!1!==X(a)?(W(e,a),e=U(e,t[4])):(e.epoch=null,e)}},{reg:/^([0-9]{1,2})[\. -/]([a-z]+)[\. -/]([0-9]{4})?( [0-9]{1,2}(:[0-9]{0,2})?(:[0-9]{0,3})? ?(am|pm)?)?$/i,parse:(e,t)=>{let a={date:Number(t[1]),month:te(t[2]),year:Number(t[3])};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=e.startOf("day"),e=U(e,t[4]))}}],[{reg:/^([0-9]{4})[\-\/]([0-9]{2})$/i,parse:(e,t)=>{let a={year:t[1],month:parseInt(t[2],10)-1,date:1};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^([a-z]+) ([0-9]{4})$/i,parse:(e,t)=>{let a={year:ee(t[2],e._today),month:te(t[1]),date:e._today.date||1};return!1===X(a)?(e.epoch=null,e):(W(e,a),e=U(e,t[4]))}},{reg:/^(q[0-9])( of)?( [0-9]{4})?/i,parse:(e,t)=>{let a=t[1]||"";e=e.quarter(a);let n=t[3]||"";return n&&(n=n.trim(),e=e.year(n)),e}},{reg:/^(spring|summer|winter|fall|autumn)( of)?( [0-9]{4})?/i,parse:(e,t)=>{let a=t[1]||"";e=e.season(a);let n=t[3]||"";return n&&(n=n.trim(),e=e.year(n)),e}},{reg:/^[0-9,]+ ?b\.?c\.?$/i,parse:(e,t)=>{let a=t[0]||"";a=a.replace(/^([0-9,]+) ?b\.?c\.?$/i,"-$1");let n=new Date,r={year:parseInt(a.trim(),10),month:n.getMonth(),date:n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}},{reg:/^[0-9,]+ ?(a\.?d\.?|c\.?e\.?)$/i,parse:(e,t)=>{let a=t[0]||"";a=a.replace(/,/g,"");let n=new Date,r={year:parseInt(a.trim(),10),month:n.getMonth(),date:n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}},{reg:/^[0-9]{4}( ?a\.?d\.?)?$/i,parse:(e,t)=>{let a=e._today;a.month&&!a.date&&(a.date=1);let n=new Date,r={year:ee(t[0],a),month:a.month||n.getMonth(),date:a.date||n.getDate()};return!1===X(r)?(e.epoch=null,e):(W(e,r),e=U(e))}}]),ne=function(e,t,a){for(let n=0;n{let a=e._today||se;if("number"==typeof t)return oe(e,t);if(e.epoch=Date.now(),e._today&&M(e._today)&&Object.keys(e._today).length>0){let t=ie(e,a,se);t.isValid()&&(e.epoch=t.epoch)}return null==t||""===t?e:!0===O(t)?(e.epoch=t.getTime(),e):!0===function(e){return"[object Array]"===Object.prototype.toString.call(e)}(t)?e=re(e,t,a):!0===M(t)?t.epoch?(e.epoch=t.epoch,e.tz=t.tz,e):e=ie(e,t,a):"string"!=typeof t?e:(t=Y(t),!0===P.hasOwnProperty(t)?e=P[t](e):ne(e,t))};let de=["sun","mon","tue","wed","thu","fri","sat"],le=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function me(){return de}function he(){return le}const ce={mo:1,tu:2,we:3,th:4,fr:5,sa:6,su:7,tues:2,weds:3,wedn:3,thur:4,thurs:4};let fe=!0;var ye=e=>{let t=e.timezone().current.offset;return t?V(t,":"):"Z"};const pe=e=>fe?function(e){return e?e[0].toUpperCase()+e.substr(1):""}(e):e,ge={day:e=>pe(e.dayName()),"day-short":e=>pe(me()[e.day()]),"day-number":e=>e.day(),"day-ordinal":e=>j(e.day()),"day-pad":e=>_(e.day()),date:e=>e.date(),"date-ordinal":e=>j(e.date()),"date-pad":e=>_(e.date()),month:e=>pe(e.monthName()),"month-short":e=>pe(Q()[e.month()]),"month-number":e=>e.month(),"month-ordinal":e=>j(e.month()),"month-pad":e=>_(e.month()),"iso-month":e=>_(e.month()+1),year:e=>{let t=e.year();return t>0?t:(t=Math.abs(t),t+" BC")},"year-short":e=>{let t=e.year();return t>0?"'"+String(e.year()).substr(2,4):(t=Math.abs(t),t+" BC")},"iso-year":e=>{let t=e.year(),a=t<0,n=_(Math.abs(t),4);return a&&(n=_(n,6),n="-"+n),n},time:e=>e.time(),"time-24":e=>`${e.hour24()}:${_(e.minute())}`,hour:e=>e.hour12(),"hour-pad":e=>_(e.hour12()),"hour-24":e=>e.hour24(),"hour-24-pad":e=>_(e.hour24()),minute:e=>e.minute(),"minute-pad":e=>_(e.minute()),second:e=>e.second(),"second-pad":e=>_(e.second()),millisecond:e=>e.millisecond(),"millisecond-pad":e=>_(e.millisecond(),3),ampm:e=>e.ampm(),quarter:e=>"Q"+e.quarter(),season:e=>e.season(),era:e=>e.era(),json:e=>e.json(),timezone:e=>e.timezone().name,offset:e=>ye(e),numeric:e=>`${e.year()}/${_(e.month()+1)}/${_(e.date())}`,"numeric-us":e=>`${_(e.month()+1)}/${_(e.date())}/${e.year()}`,"numeric-uk":e=>`${_(e.date())}/${_(e.month()+1)}/${e.year()}`,"mm/dd":e=>`${_(e.month()+1)}/${_(e.date())}`,iso:e=>`${e.format("iso-year")}-${_(e.month()+1)}-${_(e.date())}T${_(e.h24())}:${_(e.minute())}:${_(e.second())}.${_(e.millisecond(),3)}${ye(e)}`,"iso-short":e=>{let t=_(e.month()+1),a=_(e.date());var n;return`${(n=e.year())>=0?_(n,4):"-"+_(n=Math.abs(n),4)}-${t}-${a}`},"iso-utc":e=>new Date(e.epoch).toISOString(),nice:e=>`${Q()[e.month()]} ${j(e.date())}, ${e.time()}`,"nice-24":e=>`${Q()[e.month()]} ${j(e.date())}, ${e.hour24()}:${_(e.minute())}`,"nice-year":e=>`${Q()[e.month()]} ${j(e.date())}, ${e.year()}`,"nice-day":e=>`${me()[e.day()]} ${pe(Q()[e.month()])} ${j(e.date())}`,"nice-full":e=>`${e.dayName()} ${pe(e.monthName())} ${j(e.date())}, ${e.time()}`,"nice-full-24":e=>`${e.dayName()} ${pe(e.monthName())} ${j(e.date())}, ${e.hour24()}:${_(e.minute())}`},we={"day-name":"day","month-name":"month","iso 8601":"iso","time-h24":"time-24","time-12":"time","time-h12":"time",tz:"timezone","day-num":"day-number","month-num":"month-number","month-iso":"iso-month","year-iso":"iso-year","nice-short":"nice","nice-short-24":"nice-24",mdy:"numeric-us",dmy:"numeric-uk",ymd:"numeric","yyyy/mm/dd":"numeric","mm/dd/yyyy":"numeric-us","dd/mm/yyyy":"numeric-us","little-endian":"numeric-uk","big-endian":"numeric","day-nice":"nice-day"};Object.keys(we).forEach(e=>ge[e]=ge[we[e]]);var be=(e,t="")=>{if(!0!==e.isValid())return"";if(ge.hasOwnProperty(t)){let a=ge[t](e)||"";return"json"!==t&&(a=String(a),"ampm"!==t&&(a=pe(a))),a}if(-1!==t.indexOf("{")){let a=/\{(.+?)\}/g;return t=t.replace(a,(t,a)=>{if(a=a.toLowerCase().trim(),ge.hasOwnProperty(a)){let t=String(ge[a](e));return"ampm"!==a?pe(t):t}return""})}return e.format("iso-short")};const ke={G:e=>e.era(),GG:e=>e.era(),GGG:e=>e.era(),GGGG:e=>"AD"===e.era()?"Anno Domini":"Before Christ",y:e=>e.year(),yy:e=>_(Number(String(e.year()).substr(2,4))),yyy:e=>e.year(),yyyy:e=>e.year(),yyyyy:e=>"0"+e.year(),Q:e=>e.quarter(),QQ:e=>e.quarter(),QQQ:e=>e.quarter(),QQQQ:e=>e.quarter(),M:e=>e.month()+1,MM:e=>_(e.month()+1),MMM:e=>e.format("month-short"),MMMM:e=>e.format("month"),w:e=>e.week(),ww:e=>_(e.week()),d:e=>e.date(),dd:e=>_(e.date()),D:e=>e.dayOfYear(),DD:e=>_(e.dayOfYear()),DDD:e=>_(e.dayOfYear(),3),E:e=>e.format("day-short"),EE:e=>e.format("day-short"),EEE:e=>e.format("day-short"),EEEE:e=>e.format("day"),EEEEE:e=>e.format("day")[0],e:e=>e.day(),ee:e=>e.day(),eee:e=>e.format("day-short"),eeee:e=>e.format("day"),eeeee:e=>e.format("day")[0],a:e=>e.ampm().toUpperCase(),aa:e=>e.ampm().toUpperCase(),aaa:e=>e.ampm().toUpperCase(),aaaa:e=>e.ampm().toUpperCase(),h:e=>e.h12(),hh:e=>_(e.h12()),H:e=>e.hour(),HH:e=>_(e.hour()),m:e=>e.minute(),mm:e=>_(e.minute()),s:e=>e.second(),ss:e=>_(e.second()),SSS:e=>_(e.millisecond(),3),A:e=>e.epoch-e.startOf("day").epoch,z:e=>e.timezone().name,zz:e=>e.timezone().name,zzz:e=>e.timezone().name,zzzz:e=>e.timezone().name,Z:e=>V(e.timezone().current.offset),ZZ:e=>V(e.timezone().current.offset),ZZZ:e=>V(e.timezone().current.offset),ZZZZ:e=>V(e.timezone().current.offset,":")},De=(e,t,a)=>{let n=e,r=t;for(let i=0;i{let a=t.split("");return a=function(e){for(let t=0;te)}(a),a=function(e){for(let t=0;te)).map(e=>("''"===e&&(e="'"),e))}(a),a.reduce((t,a)=>(void 0!==ke[a]?t+=ke[a](e)||"":(/^'.{1,}'$/.test(a)&&(a=a.replace(/'/g,"")),t+=a),t),"")};const Ae=["year","season","quarter","month","week","day","quarterHour","hour","minute"],xe=function(e,t){let a=e.clone().startOf(t),n=e.clone().endOf(t).epoch-a.epoch,r=(e.epoch-a.epoch)/n;return parseFloat(r.toFixed(2))};var Oe=(e,t)=>{if(t)return t=T(t),xe(e,t);let a={};return Ae.forEach(t=>{a[t]=xe(e,t)}),a},Me=(e,t)=>{let a=e.progress();return"quarterhour"===(t=T(t))&&(t="quarterHour"),void 0!==a[t]?(a[t]>.5&&(e=e.add(1,t)),e=e.startOf(t)):!1===e.silent&&console.warn("no known unit '"+t+"'"),e};const _e=(e,t,a)=>{let n=0;for(e=e.clone();e.isBefore(t);)e=e.add(1,a),n+=1;return e.isAfter(t,a)&&(n-=1),n};var je=(e,t,a)=>e.isBefore(t)?_e(e,t,a):-1*_e(t,e,a),$e=function(e,t){let a=t.epoch-e.epoch,n={milliseconds:a,seconds:parseInt(a/1e3,10)};n.minutes=parseInt(n.seconds/60,10),n.hours=parseInt(n.minutes/60,10);let r=e.clone();return n.years=((e,t)=>{let a=t.year()-e.year();return(e=e.year(t.year())).isAfter(t)&&(a-=1),a})(r,t),r=e.add(n.years,"year"),n.months=12*n.years,r=e.add(n.months,"month"),n.months+=je(r,t,"month"),n.weeks=52*n.years,r=e.add(n.weeks,"week"),n.weeks+=je(r,t,"week"),n.days=7*n.weeks,r=e.add(n.days,"day"),n.days+=je(r,t,"day"),n},Te=function(e,t,a){t=E(t,e);let n=!1;if(e.isAfter(t)){let a=e;e=t,t=a,n=!0}let r=$e(e,t);return n&&(r=function(e){return Object.keys(e).forEach(t=>{e[t]*=-1}),e}(r)),a?(a=T(a),!0!==/s$/.test(a)&&(a+="s"),"dates"===a&&(a="days"),r[a]):r};const ze=e=>Math.abs(e)||0;var Ee=function(e){let t="P";return t+=ze(e.years)+"Y",t+=ze(e.months)+"M",t+=ze(e.days)+"DT",t+=ze(e.hours)+"H",t+=ze(e.minutes)+"M",t+=ze(e.seconds)+"S",t};const Ve={months:{almost:10,over:4},days:{almost:25,over:10},hours:{almost:20,over:8},minutes:{almost:50,over:20},seconds:{almost:50,over:20}};function qe(e,t){return 1===e&&(t=t.slice(0,-1)),e+" "+t}var Se=function(e){let t=null,a=null,n=[],r=[];return Object.keys(e).forEach((i,o,s)=>{const u=Math.abs(e[i]);if(0===u)return;n.push(u+i[0]);const d=qe(u,i);if(r.push(d),!t){if(t=a=d,o>4)return;const n=s[o+1],r=Math.abs(e[n]);r>Ve[n].almost?(t=qe(u+1,i),a="almost "+t):r>Ve[n].over&&(a="over "+d)}}),{qualified:a,rounded:t,abbreviated:n,englishValues:r}},Ce=(e,t)=>{const a=function(e,t){const a=e.isBefore(t),n=a?t:e;let r=a?e:t;r=r.clone();const i={years:0,months:0,days:0,hours:0,minutes:0,seconds:0};return Object.keys(i).forEach(e=>{if(r.isSame(n,e))return;let t=r.diff(n,e);r=r.add(t,e),i[e]=t}),a&&Object.keys(i).forEach(e=>{0!==i[e]&&(i[e]*=-1)}),i}(e,t=E(t,e));if(!0===Object.keys(a).every(e=>!a[e]))return{diff:a,rounded:"now",qualified:"now",precise:"now",abbreviated:[],iso:"P0Y0M0DT0H0M0S",direction:"present"};let n,r="future",{rounded:i,qualified:o,englishValues:s,abbreviated:u}=Se(a);n=s.splice(0,2).join(", "),!0===e.isAfter(t)?(i+=" ago",o+=" ago",n+=" ago",r="past"):(i="in "+i,o="in "+o,n="in "+n);let d=Ee(a);return{diff:a,rounded:i,qualified:o,precise:n,abbreviated:u,iso:d,direction:r}},Ne={north:[["spring",2,1],["summer",5,1],["fall",8,1],["autumn",8,1],["winter",11,1]],south:[["fall",2,1],["autumn",2,1],["winter",5,1],["spring",8,1],["summer",11,1]]},Pe=[null,[0,1],[3,1],[6,1],[9,1]];const Ye={minute:e=>(W(e,{second:0,millisecond:0}),e),quarterhour:e=>{let t=e.minutes();return e=t>=45?e.minutes(45):t>=30?e.minutes(30):t>=15?e.minutes(15):e.minutes(0),W(e,{second:0,millisecond:0}),e},hour:e=>(W(e,{minute:0,second:0,millisecond:0}),e),day:e=>(W(e,{hour:0,minute:0,second:0,millisecond:0}),e),week:e=>{let t=e.clone();return(e=e.day(e._weekStart)).isAfter(t)&&(e=e.subtract(1,"week")),W(e,{hour:0,minute:0,second:0,millisecond:0}),e},month:e=>(W(e,{date:1,hour:0,minute:0,second:0,millisecond:0}),e),quarter:e=>{let t=e.quarter();return Pe[t]&&W(e,{month:Pe[t][0],date:Pe[t][1],hour:0,minute:0,second:0,millisecond:0}),e},season:e=>{let t=e.season(),a="north";"South"===e.hemisphere()&&(a="south");for(let n=0;n(W(e,{month:0,date:1,hour:0,minute:0,second:0,millisecond:0}),e),decade:e=>{let t=(e=e.startOf("year")).year(),a=10*parseInt(t/10,10);return e=e.year(a)},century:e=>{let t=(e=e.startOf("year")).year(),a=100*parseInt(t/100,10);return e=e.year(a)}};Ye.date=Ye.day;var He=function(e,t,a){if(!t||!a)return[];if(t=T(t),a=e.clone().set(a),e.isAfter(a)){let t=e;e=a,a=t}let n=e.clone();!function(e){return!!me().find(t=>t===e)||!!he().find(t=>t===e)}(t)?n.startOf(t).isBefore(e)&&(n=n.next(t)):(n=n.next(t),t="week");let r=[];for(;n.isBefore(a);)r.push(n),n=n.add(1,t);return r},Be=e=>{let t=e.timezones,a=e.tz;if(!1===t.hasOwnProperty(a)&&(a=A(e.tz,t)),null===a)return!1===e.silent&&console.warn("Warn: could not find given or local timezone - '"+e.tz+"'"),{current:{epochShift:0}};let n=t[a],r={name:(i=a,i=(i=(i=i[0].toUpperCase()+i.substr(1)).replace(/\/gmt/,"/GMT")).replace(/[\/_]([a-z])/gi,e=>e.toUpperCase())),hasDst:Boolean(n.dst),default_offset:n.offset,hemisphere:"s"===n.hem?"South":"North",current:{}};var i,o;if(r.hasDst){let e=(o=n.dst)?o.split("->"):[];r.change={start:e[0],back:e[1]}}let s=n.offset,u=s;return!0===r.hasDst&&(u="North"===r.hemisphere?s-1:n.offset+1),!1===r.hasDst?(r.current.offset=s,r.current.isDST=!1):!0===d(e.epoch,r.change.start,r.change.back,s,u)?(r.current.offset=s,r.current.isDST="North"===r.hemisphere):(r.current.offset=u,r.current.isDST="South"===r.hemisphere),r};const Le=["century","decade","year","month","date","day","hour","minute","second","millisecond"],Ie={set:function(e,t){let a=this.clone();return a=ue(a,e),t&&(this.tz=A(t)),a},timezone:function(){return Be(this)},isDST:function(){return Be(this).current.isDST},hasDST:function(){return Be(this).hasDst},offset:function(){return 60*Be(this).current.offset},hemisphere:function(){return Be(this).hemisphere},format:function(e){return be(this,e)},unixFmt:function(e){return ve(this,e)},startOf:function(e){return((e,t)=>{let a=e.clone();return t=T(t),Ye[t]?Ye[t](a):"summer"===t||"winter"===t?(a=a.season(t),Ye.season(a)):a})(this,e)},endOf:function(e){return((e,t)=>{let a=e.clone();return t=T(t),Ye[t]?(a=Ye[t](a),a=a.add(1,t),a=a.subtract(1,"millisecond"),a):a})(this,e)},leapYear:function(){return x(this.year())},progress:function(e){return Oe(this,e)},nearest:function(e){return Me(this,e)},diff:function(e,t){return Te(this,e,t)},since:function(e){return e||(e=this.clone().set()),Ce(this,e)},next:function(e){return this.add(1,e).startOf(e)},last:function(e){return this.subtract(1,e).startOf(e)},isValid:function(){return!(!this.epoch&&0!==this.epoch||isNaN(this.d.getTime()))},goto:function(e){let t=this.clone();return t.tz=A(e,t.timezones),t},every:function(e,t){if("object"==typeof e&&"string"==typeof t){let a=t;t=e,e=a}return He(this,e,t)},isAwake:function(){let e=this.hour();return!(e<8||e>22)},isAsleep:function(){return!this.isAwake()},daysInMonth:function(){switch(this.month()){case 0:return 31;case 1:return this.leapYear()?29:28;case 2:return 31;case 3:return 30;case 4:return 31;case 5:return 30;case 6:case 7:return 31;case 8:return 30;case 9:return 31;case 10:return 30;case 11:return 31;default:throw new Error("Invalid Month state.")}},log:function(){return console.log(""),console.log(be(this,"nice-short")),this},logYear:function(){return console.log(""),console.log(be(this,"full-short")),this},json:function(){return Le.reduce((e,t)=>(e[t]=this[t](),e),{})},debug:function(){let e=this.timezone(),t=this.format("MM")+" "+this.format("date-ordinal")+" "+this.year();return t+="\n - "+this.format("time"),console.log("\n\n",t+"\n - "+e.name+" ("+e.current.offset+")"),this},from:function(e){return(e=this.clone().set(e)).since(this)},fromNow:function(){return this.clone().set(Date.now()).since(this)},weekStart:function(e){if("number"==typeof e)return this._weekStart=e,this;if("string"==typeof e){e=e.toLowerCase().trim();let t=me().indexOf(e);-1===t&&(t=he().indexOf(e)),-1===t&&(t=1),this._weekStart=t}else console.warn("Spacetime Error: Cannot understand .weekStart() input:",e);return this}};Ie.inDST=Ie.isDST,Ie.round=Ie.nearest,Ie.each=Ie.every;var We=Ie;const Fe=e=>("string"==typeof e&&(e=parseInt(e,10)),e),Je=["year","month","date","hour","minute","second","millisecond"],Ke=(e,t,a)=>{let n=Je.indexOf(a),r=Je.slice(n,Je.length);for(let a=0;a=24?t=24:t<0&&(t=0);let n=e.clone(),r=e.hour()-t,i=r*B.hour;return e.epoch-=i,e.date()!==n.date()&&(e=n.clone(),r>1&&(r-=1),r<1&&(r+=1),i=r*B.hour,e.epoch-=i),W(e,{hour:t}),Ke(e,n,"minute"),(e=Qe(e,n,a,"day")).epoch},Ue=function(e,t){return"string"==typeof t&&/^'[0-9]{2}$/.test(t)&&(t=t.replace(/'/,"").trim(),t=(t=Number(t))>30?1900+t:2e3+t),t=Fe(t),W(e,{year:t}),e.epoch};let Ze="am",Xe="pm";var et={millisecond:function(e){if(void 0!==e){let t=this.clone();return t.epoch=function(e,t){t=Fe(t);let a=e.millisecond()-t;return e.epoch-a}(t,e),t}return this.d.getMilliseconds()},second:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){t=Fe(t);let n=e.clone(),r=(e.second()-t)*B.second;return e.epoch=e.epoch-r,(e=Qe(e,n,a,"minute")).epoch}(a,e,t),a}return this.d.getSeconds()},minute:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=Re(a,e,t),a}return this.d.getMinutes()},hour:function(e,t){let a=this.d;if(void 0!==e){let a=this.clone();return a.epoch=Ge(a,e,t),a}return a.getHours()},hourFloat:function(e,t){if(void 0!==e){let a=this.clone(),n=e%1;n*=60;let r=parseInt(e,10);return a.epoch=Ge(a,r,t),a.epoch=Re(a,n,t),a}let a=this.d,n=a.getHours(),r=a.getMinutes();return r/=60,n+r},hour12:function(e,t){let a=this.d;if(void 0!==e){let a=this.clone(),n=(e=""+e).match(/^([0-9]+)(am|pm)$/);if(n){let e=parseInt(n[1],10);"pm"===n[2]&&(e+=12),a.epoch=Ge(a,e,t)}return a}let n=a.getHours();return n>12&&(n-=12),0===n&&(n=12),n},time:function(e,t){if(void 0!==e){let a=this.clone();return e=e.toLowerCase().trim(),a.epoch=function(e,t,a){let n=t.match(/([0-9]{1,2})[:h]([0-9]{1,2})(:[0-9]{1,2})? ?(am|pm)?/);if(!n){if(n=t.match(/([0-9]{1,2}) ?(am|pm)/),!n)return e.epoch;n.splice(2,0,"0"),n.splice(3,0,"")}let r=!1,i=parseInt(n[1],10),o=parseInt(n[2],10);o>=60&&(o=59),i>12&&(r=!0),!1===r&&("am"===n[4]&&12===i&&(i=0),"pm"===n[4]&&i<12&&(i+=12)),n[3]=n[3]||"",n[3]=n[3].replace(/:/,"");let s=parseInt(n[3],10)||0,u=e.clone();return e=(e=(e=(e=e.hour(i)).minute(o)).second(s)).millisecond(0),(e=Qe(e,u,a,"day")).epoch}(a,e,t),a}return`${this.h12()}:${_(this.minute())}${this.ampm()}`},ampm:function(e,t){let a=Ze,n=this.hour();if(n>=12&&(a=Xe),"string"!=typeof e)return a;let r=this.clone();return e=e.toLowerCase().trim(),n>=12&&"am"===e?(n-=12,r.hour(n,t)):n<12&&"pm"===e?(n+=12,r.hour(n,t)):r},dayTime:function(e,t){if(void 0!==e){const a={morning:"7:00am",breakfast:"7:00am",noon:"12:00am",lunch:"12:00pm",afternoon:"2:00pm",evening:"6:00pm",dinner:"6:00pm",night:"11:00pm",midnight:"23:59pm"};let n=this.clone();return e=(e=e||"").toLowerCase(),!0===a.hasOwnProperty(e)&&(n=n.time(a[e],t)),n}let a=this.hour();return a<6?"night":a<12?"morning":a<17?"afternoon":a<22?"evening":"night"},iso:function(e){return void 0!==e?this.set(e):this.format("iso")}},tt={date:function(e,t){if(void 0!==e){let a=this.clone();return(e=parseInt(e,10))&&(a.epoch=function(e,t,a){if((t=Fe(t))>28){let a=e.month(),n=F[a];1===a&&29===t&&x(e.year())&&(n=29),t>n&&(t=n)}t<=0&&(t=1);let n=e.clone();return W(e,{date:t}),(e=Qe(e,n,a,"month")).epoch}(a,e,t)),a}return this.d.getDate()},day:function(e,t){if(void 0===e)return this.d.getDay();let a=this.clone(),n=e;"string"==typeof e&&(e=e.toLowerCase(),ce.hasOwnProperty(e)?n=ce[e]:(n=me().indexOf(e),-1===n&&(n=he().indexOf(e))));let r=this.d.getDay()-n;!0===t&&r>0&&(r-=7),!1===t&&r<0&&(r+=7);let i=this.subtract(r,"days");return W(i,{hour:a.hour(),minute:a.minute(),second:a.second()}),i},dayName:function(e,t){if(void 0===e)return he()[this.day()];let a=this.clone();return a=a.day(e,t),a}};const at=e=>e=(e=(e=e.minute(0)).second(0)).millisecond(1);var nt={dayOfYear:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){t=Fe(t);let n=e.clone();return(t-=1)<=0?t=0:t>=365&&(t=364),e=(e=e.startOf("year")).add(t,"day"),Ke(e,n,"hour"),(e=Qe(e,n,a,"year")).epoch}(a,e,t),a}let a,n=0,r=this.d.getMonth();for(let e=1;e<=r;e++)a=new Date,a.setDate(1),a.setFullYear(this.d.getFullYear()),a.setHours(1),a.setMinutes(1),a.setMonth(e),a.setHours(-2),n+=a.getDate();return n+this.d.getDate()},week:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){let n=e.clone();return t=Fe(t),"december"===(e=(e=(e=e.month(0)).date(1)).day("monday")).monthName()&&e.date()>=28&&(e=e.add(1,"week")),t-=1,e=e.add(t,"weeks"),(e=Qe(e,n,a,"year")).epoch}(this,e,t),a=at(a),a}let a=this.clone();a=a.month(0),a=a.date(1),a=at(a),a=a.day("monday"),"december"===a.monthName()&&a.date()>=28&&(a=a.add(1,"week"));let n=1;1===a.date()&&(n=0),a=a.minus(1,"second");const r=this.epoch;if(a.epoch>r)return 1;let i=0,o=4*this.month();for(a.epoch+=B.week*o,i+=o;i<=52;i++){if(a.epoch>r)return i+n;a=a.add(1,"week")}return 52},month:function(e,t){if(void 0!==e){let a=this.clone();return a.epoch=function(e,t,a){"string"==typeof t&&("sept"===t&&(t="sep"),t=R()[t.toLowerCase()]),(t=Fe(t))>=12&&(t=11),t<=0&&(t=0);let n=e.date();n>F[t]&&(n=F[t]);let r=e.clone();return W(e,{month:t,d:n}),(e=Qe(e,r,a,"year")).epoch}(a,e,t),a}return this.d.getMonth()},monthName:function(e,t){if(void 0!==e){let a=this.clone();return a=a.month(e,t),a}return K[this.month()]},quarter:function(e,t){if(void 0!==e&&("string"==typeof e&&(e=e.replace(/^q/i,""),e=parseInt(e,10)),Pe[e])){let a=this.clone(),n=Pe[e][0];return a=a.month(n,t),a=a.date(1,t),a=a.startOf("day"),a}let a=this.d.getMonth();for(let e=1;e=Ne[a][e][1]&&n0&&(t.epoch=Ue(t,-1*a)),"ad"===e&&a<0&&(t.epoch=Ue(t,-1*a)),t}return this.d.getFullYear()<0?"BC":"AD"},decade:function(e){if(void 0!==e){if(!(e=(e=(e=String(e)).replace(/([0-9])'?s$/,"$1")).replace(/([0-9])(th|rd|st|nd)/,"$1")))return console.warn("Spacetime: Invalid decade input"),this;2===e.length&&/[0-9][0-9]/.test(e)&&(e="19"+e);let t=Number(e);return isNaN(t)?this:(t=10*Math.floor(t/10),this.year(t))}return this.startOf("decade").year()},century:function(e){if(void 0!==e){"string"==typeof e&&(e=(e=(e=e.replace(/([0-9])(th|rd|st|nd)/,"$1")).replace(/([0-9]+) ?(b\.?c\.?|a\.?d\.?)/i,(e,t,a)=>(a.match(/b\.?c\.?/i)&&(t="-"+t),t))).replace(/c$/,""));let t=Number(e);return isNaN(e)?(console.warn("Spacetime: Invalid century input"),this):(0===t&&(t=1),t=t>=0?100*(t-1):100*(t+1),this.year(t))}let t=this.startOf("century").year();return t=Math.floor(t/100),t<0?t-1:t+1},millenium:function(e){if(void 0!==e){if("string"==typeof e&&(e=e.replace(/([0-9])(th|rd|st|nd)/,"$1"),e=Number(e),isNaN(e)))return console.warn("Spacetime: Invalid millenium input"),this;e>0&&(e-=1);let t=1e3*e;return 0===t&&(t=1),this.year(t)}let t=Math.floor(this.year()/1e3);return t>=0&&(t+=1),t}};const rt=Object.assign({},et,tt,nt);rt.milliseconds=rt.millisecond,rt.seconds=rt.second,rt.minutes=rt.minute,rt.hours=rt.hour,rt.hour24=rt.hour,rt.h12=rt.hour12,rt.h24=rt.hour24,rt.days=rt.day;var it=e=>{Object.keys(rt).forEach(t=>{e.prototype[t]=rt[t]})};const ot=function(e,t){return 1===e&&x(t)?29:F[e]},st=(e,t)=>{if(e.month>0){let a=parseInt(e.month/12,10);e.year=t.year()+a,e.month=e.month%12}else if(e.month<0){let a=Math.abs(e.month),n=parseInt(a/12,10);a%12!=0&&(n+=1),e.year=t.year()-n,e.month=e.month%12,e.month=e.month+12,12===e.month&&(e.month=0)}return e},ut=(e,t,a)=>{let n=t.year(),r=t.month(),i=ot(r,n);for(;a>i;)a-=i,r+=1,r>=12&&(r-=12,n+=1),i=ot(r,n);return e.month=r,e.date=a,e},dt=(e,t,a)=>{e.year=t.year(),e.month=t.month();let n=t.date();for(e.date=n-Math.abs(a);e.date<1;){e.month-=1,e.month<0&&(e.month=11,e.year-=1);let t=ot(e.month,e.year);e.date+=t}return e},lt=["millisecond","second","minute","hour","date","month"];let mt={second:lt.slice(0,1),minute:lt.slice(0,2),quarterhour:lt.slice(0,2),hour:lt.slice(0,3),date:lt.slice(0,4),month:lt.slice(0,4),quarter:lt.slice(0,4),season:lt.slice(0,4),year:lt,decade:lt,century:lt};mt.week=mt.hour,mt.season=mt.date,mt.quarter=mt.date;const ht={year:!0,quarter:!0,season:!0,month:!0,week:!0,date:!0},ct={month:!0,quarter:!0,season:!0,year:!0};var ft=e=>{e.prototype.add=function(e,t){let a=this.clone();if(!t||0===e)return a;let n=this.clone();if("millisecond"===(t=T(t)))return a.epoch+=e,a;"fortnight"===t&&(e*=2,t="week"),B[t]?a.epoch+=B[t]*e:"week"===t||"weekend"===t?a.epoch+=B.day*(7*e):"quarter"===t||"season"===t?a.epoch+=B.month*(3*e):"quarterhour"===t&&(a.epoch+=15*B.minute*e);let r={};if(mt[t]&&mt[t].forEach(e=>{r[e]=n[e]()}),ht[t]){const e=n.timezone().current.offset-a.timezone().current.offset;a.epoch+=3600*e*1e3}if("month"===t&&(r.month=n.month()+e,r=st(r,n)),"week"===t){let t=n.date()+7*e;t<=28&&t>1&&(r.date=t)}if("weekend"===t&&"saturday"!==a.dayName())a=a.day("saturday",!0);else if("date"===t){if(e<0)r=dt(r,n,e);else{let t=n.date()+e;r=ut(r,n,t)}0!==e&&n.isSame(a,"day")&&(r.date=n.date()+e)}else if("quarter"===t){if(r.month=n.month()+3*e,r.year=n.year(),r.month<0){let e=Math.floor(r.month/12),t=r.month+12*Math.abs(e);r.month=t,r.year+=e}else if(r.month>=12){let e=Math.floor(r.month/12);r.month=r.month%12,r.year+=e}r.date=n.date()}else if("year"===t){let t=n.year()+e,r=a.year();if(rt){let t=Math.floor(e/4)||1;a.epoch+=B.day*t}}else"decade"===t?r.year=a.year()+10:"century"===t&&(r.year=a.year()+100);if(ct[t]){let e=F[r.month];r.date=n.date(),r.date>e&&(r.date=e)}return Object.keys(r).length>1&&W(a,r),a},e.prototype.subtract=function(e,t){return this.clone().add(-1*e,t)},e.prototype.minus=e.prototype.subtract,e.prototype.plus=e.prototype.add};const yt={millisecond:e=>e.epoch,second:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second()].join("-"),minute:e=>[e.year(),e.month(),e.date(),e.hour(),e.minute()].join("-"),hour:e=>[e.year(),e.month(),e.date(),e.hour()].join("-"),day:e=>[e.year(),e.month(),e.date()].join("-"),week:e=>[e.year(),e.week()].join("-"),month:e=>[e.year(),e.month()].join("-"),quarter:e=>[e.year(),e.quarter()].join("-"),year:e=>e.year()};yt.date=yt.day;var pt=e=>{e.prototype.isSame=function(t,a,n=!0){let r=this;if(!a)return null;if("string"==typeof t&&"object"==typeof a){let e=t;t=a,a=e}return"string"!=typeof t&&"number"!=typeof t||(t=new e(t,this.timezone.name)),a=a.replace(/s$/,""),!0===n&&r.tz!==t.tz&&((t=t.clone()).tz=r.tz),yt[a]?yt[a](r)===yt[a](t):null}},gt=e=>{const t={isAfter:function(e){let t=z(e=E(e,this));return null===t?null:this.epoch>t},isBefore:function(e){let t=z(e=E(e,this));return null===t?null:this.epoch{e.prototype[a]=t[a]})},wt=e=>{const t={i18n:e=>{var t,a,n;M(e.days)&&(t=e.days,de=t.short||de,le=t.long||le),M(e.months)&&function(e){J=e.short||J,K=e.long||K}(e.months),n=e.useTitleCase,"[object Boolean]"===Object.prototype.toString.call(n)&&(a=e.useTitleCase,fe=a),M(e.ampm)&&function(e){Ze=e.am||Ze,Xe=e.pm||Xe}(e.ampm)}};Object.keys(t).forEach(a=>{e.prototype[a]=t[a]})};let bt=f;const kt=function(e,t,a={}){this.epoch=null,this.tz=A(t,bt),this.silent=void 0===a.silent||a.silent,this.british=a.dmy||a.british,this._weekStart=1,void 0!==a.weekStart&&(this._weekStart=a.weekStart),this._today={},void 0!==a.today&&(this._today=a.today),Object.defineProperty(this,"d",{get:function(){let e=l(this),t=(new Date(this.epoch).getTimezoneOffset()||0)+60*e;t=60*t*1e3;let a=this.epoch+t;return new Date(a)}}),Object.defineProperty(this,"timezones",{get:()=>bt,set:e=>(bt=e,e)});let n=ue(this,e);this.epoch=n.epoch};Object.keys(We).forEach(e=>{kt.prototype[e]=We[e]}),kt.prototype.clone=function(){return new kt(this.epoch,this.tz,{silent:this.silent,weekStart:this._weekStart,today:this._today,parsers:this.parsers})},kt.prototype.toLocalDate=function(){return this.toNativeDate()},kt.prototype.toNativeDate=function(){return new Date(this.epoch)},it(kt),ft(kt),pt(kt),gt(kt),wt(kt);var Dt=kt,vt=(e,t)=>{let a=new Dt(null),n=new Dt(null);a=a.time(e),n=t?n.time(t):a.add(59,"minutes");let r=a.hour(),i=n.hour();return Object.keys(a.timezones).filter(e=>{if(-1===e.indexOf("/"))return!1;let t=new Dt(null,e),o=t.hour();return o>=r&&o<=i&&!(o===r&&t.minute()n.minute())})};const At=(e,t,a)=>new Dt(e,t,a),xt=function(e){let t=e._today||{};return Object.keys(t).forEach(a=>{e=e[a](t[a])}),e};At.now=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a},At.today=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.startOf("day")},At.tomorrow=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.add(1,"day").startOf("day")},At.yesterday=(e,t)=>{let a=new Dt((new Date).getTime(),e,t);return a=xt(a),a.subtract(1,"day").startOf("day")},At.extend=function(e={}){return Object.keys(e).forEach(t=>{Dt.prototype[t]=e[t]}),this},At.timezones=function(){return(new Dt).timezones},At.max=function(e,t){let a=new Dt(null,e,t);return a.epoch=864e13,a},At.min=function(e,t){let a=new Dt(null,e,t);return a.epoch=-864e13,a},At.whereIts=vt,At.version="7.1.4",At.plugin=At.extend;var Ot=At;const Mt={daybreak:"7:00am",breakfast:"8:00am",morning:"9:00am",noon:"12:00pm",midday:"12:00pm",afternoon:"2:00pm",lunchtime:"12:00pm",evening:"6:00pm",dinnertime:"6:00pm",night:"8:00pm",eod:"10:00pm",midnight:"12:00am",am:"9:00am",pm:"5:00pm","early day":"8:00am","late at night":"11:00pm"},_t={quarter:15,half:30},jt=function(e){let t=e.time("6:00am");return e.isBefore(t)?e.ampm("pm"):e};var $t=function(e,t){let a=e.match("(at|by|for|before|this|after)? #Time+");a=a.not("^(at|by|for|before|this|after)"),a=a.not("sharp"),a=a.not("on the dot");let n=Ot.now(t.timezone),r=n.clone(),i=a.not("in the").text("reduced");if(i=i.replace(/^@/,""),Mt.hasOwnProperty(i))return{result:Mt[i],m:a};let o=a.match("^#Cardinal oclock (am|pm)?");if(o.found&&(n=n.hour(o.text("reduced")),n=n.startOf("hour"),n.isValid()&&!n.isEqual(r))){let e=o.match("(am|pm)");return n=e.found?n.ampm(e.text("reduced")):jt(n),{result:n.time(),m:o}}if(o=a.match("(half|quarter|25|20|15|10|5) (past|after|to) #Cardinal"),o.found&&(n=function(e,t){let a=e.match("#Cardinal$"),n=e.not(a).match("(half|quarter|25|20|15|10|5)");a=a.text("reduced");let r=n.text("reduced");_t.hasOwnProperty(r)&&(r=_t[r]);let i=e.has("to");return t=(t=t.hour(a)).startOf("hour"),a<6&&(t=t.ampm("pm")),i?t.subtract(r,"minutes"):t.add(r,"minutes")}(o,n),n.isValid()&&!n.isEqual(r)))return n=jt(n),{result:n.time(),m:o};if(o=a.match("[(half|quarter|25|20|15|10|5)] (past|after)"),o.found){let e=o.groups("min").text("reduced"),a=Ot(t.today);if(_t.hasOwnProperty(e)&&(e=_t[e]),a=a.next("hour").startOf("hour").minute(e),a.isValid()&&!a.isEqual(r))return{result:a.time(),m:o}}if(o=a.match("[(half|quarter|25|20|15|10|5)] to"),o.found){let e=o.groups("min").text("reduced"),a=Ot(t.today);if(_t.hasOwnProperty(e)&&(e=_t[e]),a=a.next("hour").startOf("hour").minus(e,"minutes"),a.isValid()&&!a.isEqual(r))return{result:a.time(),m:o}}if(o=a.match("[