| /******************************************************************************* |
| * Copyright (c) 2007, 2015 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.text.tests; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertNotNull; |
| import static org.junit.Assert.assertTrue; |
| |
| import java.util.ArrayList; |
| import java.util.Iterator; |
| import java.util.Random; |
| |
| import org.junit.After; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| import org.eclipse.jface.text.Document; |
| import org.eclipse.jface.text.Position; |
| import org.eclipse.jface.text.source.Annotation; |
| import org.eclipse.jface.text.source.AnnotationModel; |
| import org.eclipse.jface.text.source.IAnnotationModel; |
| |
| /** |
| * @since 3.4 |
| */ |
| public class AnnotationModelStressTest { |
| |
| private static final String RANDOM_CONTENT= "UENTXRXNMRXSTNVZFACSMTQYVGOLEPGRXRH\n" + |
| "BCQCYH\n" + |
| "ZSJRPJZIVPLESNNZXJKZXKATUOPEB\n" + |
| "JDEGL\n" + |
| "PDGYPBQCHJCVBSKGBUMPBW\n" + |
| "NTUQFUTBSMMHAJBLDCIQSOMICATQRXDFHZBEHFPXNBQFXPCEBCHGUDEQUHQVWMVVROVCBOOPTUZFNSXZRXJLOJDTWYFYQHDVRKRYMITTMZFQRZNUQLNO\n" + |
| "HK\n" + |
| "QWHWVOKYKICEJKTDGALDXXNVBHVV\n" + |
| "QSHTSCUMBHWNNQLWSMKPWBYSLLPKNQGIQHIBNJJNQWZUDGNZNVCHYVIOQHQHKTUGCIARWSHTIGEZEHBHCIYSWXAUXWA\n" + |
| "JNGWEXGZACWDR\n" + |
| "ISVJN\n" + |
| "ZVIIXXFPFKOCSLESKVPAAPMQCSYOW\n" + |
| "TWPRIZUB\n" + |
| "MJMSRIMRLFAWUIDDX\n" + |
| "AYBHEVT\n" + |
| "DGWQBPQNVXUXEDCSIUIER\n" + |
| "WN\n" + |
| "JMXZFQUPSUOCTKLVOVHYUKKUBD\n" + |
| "X\n" + |
| "XVSLLHYFKIQTCXT\n" + |
| "KXTCYLQT\n" + |
| "DICOZRNMKGSSKJOODWFM\n" + |
| "OK\n" + |
| "QLGNOCOGGWFZQEZQOLHNCFCWYB\n" + |
| "JVWXRLOCYQRLAKTJOKVMHGUXCUT\n" + |
| "GZPWSPSSHXUF\n" + |
| "QORHKHPQUABXGQ\n" + |
| "CKUVQSZKHHRJWBTHLTB\n" + |
| "PMHB\n" + |
| "ARTDOBRPCC\n" + |
| "PK\n" + |
| "ADSASNKVKLVKDMHKDPLRFTXZLRKRE\n" + |
| "XEFSKKEKFGFHPXIHUXJKLCDTMXKJEVLRGQDNLFAMQBMZEANXHJNTAJTBYNYRXB\n" + |
| "LD\n" + |
| "SDPCIHNNNWBFEPBSZZVUJOUTUV\n" + |
| "HCAMQPJEHUOREIWUUIZHGRO\n" + |
| "NHLEZHZFIXRKFUCEATXXYRIGBYCMGIWETUUPQZ\n" + |
| "ZMWHXIFDRIZMKNQREA\n" + |
| "OCDP\n" + |
| "DYIPMHPXNH\n" + |
| "VJT\n" + |
| "RAUMTNTGEWKMPAHUKODZWMAHEVNGBHZMCRTTWSFQLTQPUFWITLLNMRKOE\n" + |
| "QWEDMVURBUPADIWNURQSVJVUCFYRVFQXARBBII\n" + |
| "CQSWJPFYDCTIDQPPB\n" + |
| "WCGGBTOULQUVUSDZYXWSLQZRZIWRJNPLSEXNIIMLGYMPSJKH\n" + |
| "IRCIHTCLGFRXHTFSMMQKWXEUIOAJMTHHEJZMJNZALAOL\n" + |
| "SDMOHBM\n" + |
| "BPFIXVUUHZJRQJXYTQJRDBNEVUDFO\n" + |
| "OSHWGOJCJEP\n" + |
| "KNAQLY\n" + |
| "ALVVYJ\n" + |
| "DOQQOOINMJAXGNZSBGHWJFOLZCHLRAIBMKVSY\n" + |
| "Z\n" + |
| "QTURPOEVPEXLJK\n" + |
| "WWAMWCOTAQUWCRRLFHDBOXIQSLWYYEDCEQLRDI\n" + |
| "JKZCPJ\n" + |
| "QVEIMJ\n" + |
| "CGBCQ\n" + |
| "DRDBKDG\n" + |
| "RUCHORL\n" + |
| "FFFZFJMOJ\n" + |
| "ZEIYFBKEFTOWJNDMKVVAUNKGIOUUHWONLUUJYWWWGWELKIUKTQ\n" + |
| "VT\n" + |
| "JYZGKQBFAOD\n" + |
| "DKSRELAUDWBZEZTDBBERCE\n" + |
| "FXLUAZSHBYUHRPCMWGPMWQIK\n" + |
| "NLADPOOKGASDQCHNGJQTORSTHROVMMENNJIVSW\n" + |
| "JGC\n" + |
| "L\n" + |
| "IM\n" + |
| "LLNUZP\n" + |
| "TIZY\n" + |
| "WXWGFHUKZGKSRSMETXGRDUUJCVNRZHPPJDPLOJOWMPHCGDDVYJTTZM\n" + |
| "KLBRTASATBDHZJ\n" + |
| "PM\n" + |
| "XZJSQCQWQ\n" + |
| "CIMEAWMSA\n" + |
| "UFWGVFSOUQFTNEEK\n" + |
| "LOQNFKKYKFTEIAQASFKUGYGRQHKKOWXPNOADPSWNQ\n" + |
| "QNYBKVOZGELUDWPBTWLSYVKZKIZGPD\n" + |
| "UCHJZERGLRPTLL\n" + |
| "KHYJZIOPAOFYTD\n" + |
| "ENWCEJP\n" + |
| "ZEHX\n" + |
| "HHOEHNATJ\n" + |
| "PYVTYHQMEBWOPNZTBXFKMZDZHGGAMIYMDEAL\n" + |
| "GQPNBRCMVEPQOCPDJKGHCJCYT\n" + |
| "SCHHWPBYZIHTXPKQRHWQUUWSNYWBBR\n" + |
| "RNFDOIUIEPRECATKQNHBZSRPGAEAJRUCNOJQTOPAXQYQAFMYHLXQLRUZTRRLWWHSF\n" + |
| "DPOPZOKBUXHFBLWYWTVVNDOZSGWCJCHZHGDXEJL\n" + |
| "CQDBKUKBNJEVG\n" + |
| "NQRGMKYUPKJABAWKVDLTVZWXFMLFPBJQQIHGXYPKIOTHOCOTVZHRDVTTLRGNYVTWXSIXAJSXXQVCG\n" + |
| "UD\n" + |
| "LKFCQCMIHOJOKPQYNOTPCFSGYNXPO\n" + |
| "BIMWQKREVNZBRKKKURHMUOGQM\n" + |
| "RZCJAVUU\n" + |
| "SBWWLPVOXVKEVMWVZQBMMHFDLCOUIXQPFUFGVQBTRRZJVN\n" + |
| "PYESJMBMUUPYEEGC\n" + |
| "NSYDUSFZ\n" + |
| "USJFOGTZRNUEZOYGCLRUDSECWMIYTADDHX\n" + |
| "SUYHOPWJUTFSSSMJ\n" + |
| "YYYTEZUSOTREIUCRFVVEQWJEUKYWJHGTXDLZQKWWQW\n" + |
| "NAV\n" + |
| "DVSEDJTGPAMMBFMEORNRKBBTBWJZRLJTJHG\n" + |
| "EY\n" + |
| "GMBLDOJZJJAOUCVNTYTOTKABC\n" + |
| "SVJQGGPUUJPVWQRJNWRWRDQMLTMKUTY\n" + |
| "X\n" + |
| "VTSUUTJRXQBIQINHANYGPWITDFAADJLTTHYBGAAPAUPKOQOCVDEYQLLMSWUIGJZBXCUHOJVAKRPHWWL\n" + |
| "Z\n" + |
| "ODXKPZTGZMXGEUSVWENBEPJTBZUHUZH\n" + |
| "EVYQRFJLMDVWWNZJCUGDZFVTKITEBVAHWBCSB\n" + |
| "NJDEYTKJGGBTKGHPJRISCJMHEMFBREBVRJVRPYLTQMMGLGGAQEMGBDL\n" + |
| "HVYS\n" + |
| "HLTENGQNYNOAIIILYSTDU\n" + |
| "VJIAGMFGVYL\n" + |
| "GAEWZNUPWNHIPBW\n" + |
| "QI\n" + |
| "MYJNARDHOWLXFEKD\n" + |
| "TZCGYVDRILNLZZJERKM\n" + |
| "GJCE\n" + |
| "EIJOJI\n" + |
| "ZAPZXBZLMKGA\n" + |
| "TKMVEATQIXCULZVZWPZEVVTE\n" + |
| "HVFBCDSCZCTYSFRIS\n" + |
| "LP\n" + |
| "RDNLFQOSOLTKNEBXQR\n" + |
| "AGRUUNFKYAHDUWZGTXZVUOZZAVZLQHKWULTHDRVMBAIIXAGOTMOEGKABHEEE\n" + |
| "DASOMFXI\n" + |
| "LVGDQZYIJGNYPZ\n" + |
| "POSFUWVZTIORFUJBGIREOMSOTFH\n" + |
| "QQGROZACVVZJDDCWBKKHGREYHKNNBYSKLKGJQIOFBCHOOBOQRCPN\n" + |
| "O\n" + |
| "XTAKMHUKVCYSCDFQ\n" + |
| "BTX\n" + |
| "AKTKCGLSPHAGYSGQMSPUO\n" + |
| "QNINNDCNBQC\n" + |
| "LBVK\n" + |
| "NYOOQEVTDFVDIV\n" + |
| "UXEVRZVAKWSOBXUC\n" + |
| "I\n" + |
| "DRGEOLAPRINXIDSREXGEFBRYVZJZ\n" + |
| "LUIZFHPYKOCNWKYFCSFAKWZ\n" + |
| "S\n" + |
| "HGVDCPXJLGQF\n" + |
| "BNT\n" + |
| "CGQBSJJNJB\n" + |
| "BVSEXHP\n" + |
| "GBRFRXGWGBHPQE\n" + |
| "JRPCXFXUDOAVDAOLNSNEWBXFXTMSLDTFUEBZHWMYRREDYGRHHJUQMWSM\n" + |
| "JGCFDKZSHRDBIMFPHMDAMHQUYTIIOMUVFELPSRWGRLIDGITQCCIR\n" + |
| "SARLPTMOBYOAUSGHMUVUKPUMOXFMDZQABAWKPFINLVJWYGCXIIF\n" + |
| "UJAYAVBIINRMRL\n" + |
| "ANK\n" + |
| "CMUMPO\n" + |
| "OQOHRKXEABJNHDPTYRVCZFJOJGJRVUCP\n" + |
| "WDZAUHWITGTMVBV\n" + |
| "CHFTCDEKZPORUVODFPEACIXOVXEFEPNUUKHALPLRGNJVIMALFEHQCPPTUPCUCQONZ\n" + |
| "XOLIAKJPYEGOPXEAQXNESNRKG\n" + |
| "ALA\n" + |
| "XOL\n" + |
| "XLMSCLJCFLYIJOOLJFHNXSYEKWXGFXS\n" + |
| "ZWKGKPMDDPLOGSPBHIYIDKITXUEGVOEJJIUXOUILLKUU\n" + |
| "XHQHGQYBBXMEINHXYEDEBUKVIWIYFHZRFRJXJOCYIZLC\n" + |
| "G\n" + |
| "CNDBWBB\n" + |
| "FWAWQSMH\n" + |
| "OSVILVFGJG\n" + |
| "LOMYIYB\n" + |
| "KLTUGTH\n" + |
| "EBMBVCRSGUDXYICFJPDWVQLH\n" + |
| "EYIECTYLOEASNNKGFQNHLPAOMUVIAVUADKNLTIEEQPS\n" + |
| "ZUKOGOEMRSOCAWKCDYWDXIZN\n" + |
| "GNVXBJDE\n" + |
| "ZLCYEVHLPMISUSENKKWX\n" + |
| "XNQWAVJWERXHIAOIRMUUQANGOJYWVVIZZEXLYNBTQXVGWHAFBDSZWYCMJJDUDPZLPUTFJFWDIES\n" + |
| "TVQZYMGSGBSPQUBMKHPBUAHVCXAZGCYHZBNSTIQGGPZICWGLKQAJXHVRRVDYUBYBXHVJASHZSYFBDQ\n" + |
| "JZ\n" + |
| "IPJOXVDQBWQUCEILGTGZLZYSEQWRGYNFECOGUKKMXMGQHDWPYDAPCS\n" + |
| "YNNMHHTHEPUUCPJXHBSDMCIHUOYIMDRWRTKXRSHE\n" + |
| "TCIEORBXJ\n" + |
| "BSD\n" + |
| "FJMJOVJM\n" + |
| "UGZYSX\n" + |
| "QDFVFLTG\n" + |
| "FDSYPULGCEPKPMCIEXUCICQCNRQOGVARBUWEUWRCTYBSGN\n" + |
| "VSINAZSNBJQAUWRMBXTJEUSGGX\n" + |
| "ZWSKYV\n" + |
| "UJDKMBSBQWYVUCIOXMJGXAUGJJVOCOYYFJCVXMM\n" + |
| "HQGQEHNEZF\n" + |
| "XIAMMPQUJYEMJQQRMOEVMSFQUYSMFCEKWAP\n" + |
| "NHDRSLPJTOT\n" + |
| "HNVXNWAYLJEPAOXYWGZZQVZRBAKHDEZU\n" + |
| "SMRA\n" + |
| "XXLSVZRYFBYNQIPVNHEGGDJATETLPODWQUPBIHEZEGWERNZ\n" + |
| "VEKXAUFWHHBHUTCSOGN\n" + |
| "ZVLWIAJWBWNV\n" + |
| "MKKKPCJHIZNMWVRFP\n" + |
| "H\n" + |
| "NYIZ\n" + |
| "FPGFLLPPZDLNEMIQOYMAYIGWT\n" + |
| "KOPPLHRFCGNXMFYCURFTPB\n" + |
| "ILBTPBP\n" + |
| "QJGML\n" + |
| "MRVOOFWP\n" + |
| "FFWOQGRAMETJGSZXL\n" + |
| "DAXJRNBWDOCMKMMTOUECYPZZDJFQSQVDROXMNPEWTQMRVYVAPBILTQHRTRFIMJYKREKTOVSGKKTLBGLBFRZZSRWCZZYZZLKAUBZJZV\n" + |
| "ABAUW\n" + |
| "BYWB\n" + |
| "FEGGFIZNDCLPCKOXWHVWWFQZJ\n" + |
| "XUZCXCOSHLNAYWZFHJWJKLPVIFBHKWLRLOXNJGNLLMFMCNRJYFAZPHDRG\n" + |
| "ADHUTFBIGJZGVEPGOPAATLWNH\n" + |
| "ITITCTYTEIBQQVFJHWYXWB\n" + |
| "YNPBFTUALLVUWUU\n" + |
| "QLSGH\n" + |
| "UGDTYR\n" + |
| "MHPTGDCVIMRUZAGG\n" + |
| "AM\n" + |
| "DCATIWDPIESPRODZDCAQAZUEOEDLN\n" + |
| "CBWEOLVJGTZTHGFRXOGKUFNSNJNWIJKASZVWLUOLMTESX\n" + |
| "EMCRYRPQWKLH\n" + |
| "FKZ\n" + |
| "VRZFHXYSTNFFTXEEPYXMVBNABSPHBEUOKOFDZDSWHXXUYHIAUDCJGJBOTISGV\n" + |
| "AXLTF\n" + |
| "R\n" + |
| "D\n" + |
| "RUDRUBAESELWFSURPACIFIAEJJWSZCPKEDUCVMHYMUEFXMS\n" + |
| "BKQGWCXUNWRAIXWVFEBKOUQJPTBIIKQJFMZORPOKTXVYRZGBWKDNKMQFJXDFWXG\n" + |
| "PNUURGXNFHQFXVE\n" + |
| "BNOLPYUIZALSWHEBRX\n" + |
| "YAORLAHSWKEVIFKFSSWILM\n" + |
| "JCCRLTGWWOQ\n" + |
| "XHTFDAGAINXYFXAJEDRS\n" + |
| "O\n" + |
| "UKJMSHVNOFT\n" + |
| "WUWZVWFG\n" + |
| "FCIMJNG\n" + |
| "AHAERLEHTFJPW\n" + |
| "FNXRCQ\n" + |
| "JEF\n" + |
| "VSRDKGIXTKLCCATHUTJMZURMOSYAETJZQUQFKYDGZJKEBERWJDFNONJBIHXGIMYEQENGGLZXAFKCNJGZBCPHIULHPTY\n" + |
| "XBBGFAKBVHCXUBJZPKENODDGMJSLZRUPKUPCSTRRDYURGUSSTT\n" + |
| "HYRGZYXDOGQKFRFAMLTZSEAAZXSOGDTRICMVUNXWHGZOHMBQ\n" + |
| "FBIZFVDKE\n" + |
| "NRBQKIDPADW\n" + |
| "HGQBDHEVZQTYTVVASKLSWOYJLCE\n" + |
| "SDETOTELNDTZOUVYFNIEEFOWRHZEWMASAKXASIRBSWOSHMVBMUGCUZQJYUFPOYVFSTSWZRYMBCWERIDONUBFXDOZIGBBSNAHJX\n" + |
| "UQWRQLNYXFXHDADOXECPXSYWFBYEBVHWMNBPMRVMRQDBTITZEEQEQNUEELYQDKOVSAIKQFMAHUWN\n" + |
| "OWZOQJNFGC\n" + |
| "WDNNZXTVWRZOEMNI\n" + |
| "KCBDTI\n" + |
| "APOJIMEFJ\n" + |
| "PNUMBQQMXHDAC\n" + |
| "ZCWQCMCQS\n" + |
| "QNMCBMAEYICXXK\n" + |
| "RKSTMZCRQAVHYLYLAIOTW\n" + |
| "DRZRP\n" + |
| "FCNHUCM\n" + |
| "GCAPBEPSDTJDBIUMGKCABZGCOVPUX\n" + |
| "CLKFNHFTLVGQDVB\n" + |
| "HQW\n" + |
| "OBIXQUITWUXRGLNOXVFNXHQCNQYIZ\n" + |
| "SHIBOGKOY\n" + |
| "BRQKHNEM\n" + |
| "FBAHZSWSBYTCJDEZJFUNS\n" + |
| "XKABNJVYZQHJBJEKIGAREDBTETKXJRRZRLPXXNFNBDH\n" + |
| "N\n" + |
| "NUEHERNOV\n" + |
| "MYQKXWKLIXVUTXGAHXACEHJRTIRFUMYBGJVIYWMYNCAATHYJQMLTIDVOODMZXAQ\n" + |
| "IURPSBLEMZUDL\n" + |
| "OAFRTCPR\n" + |
| "PMTJYMEZRFPJFRSXJEZD\n" + |
| "TAHXGL\n" + |
| "MTWUWXKPQHNJAMSOMCWQDPPBF\n" + |
| "EFZJZSOHLYDMACNMBJVWLUK\n" + |
| "EVSBDKVLLBG\n" + |
| "PGHJQQMAMCGYEFTJNI\n" + |
| "SKELHFQTGQXWKNSTFIODLWWHXHDUWTEUWHGYEKKWUNTPGZIG\n" + |
| "GAVQRELOVJLPDZRIMU\n" + |
| "JCIEEERMQZ\n" + |
| "MEPVMTCMZYUUXLKQMLUXHYESBXAGASLGZXDUVI\n" + |
| "XNXIYHRGILCXYBRDNNZENREWDHWRXOFQXLZKDUYCZEGC\n" + |
| "KLVUZVFAQLUDVXN\n" + |
| "RBROVXLUNJKN\n" + |
| "EXPTEOAQ\n" + |
| "KXDRYHDOMJXRGVEJYFHETWMELGNSZNKQ\n" + |
| "UKIFTXGUOWFJIYYU\n" + |
| "WYPFFWPUQRFLECYJYTUUHLXHRBCINYXFSNQQOPX\n" + |
| "OFYHXVQFTDEAHHMLRLYTPUEQ\n" + |
| "VVCZQUOABHWWLCWFTWKTXARWCZQKMR\n" + |
| "GUGRCMNUFNCVGPDCWF\n" + |
| "SBIGRUMNMDWDEZWICTBECBSGLBEPAOKCEQSPA\n" + |
| "MUNTHXQUKTDVSLAANSYXHVJXUQBORNJGZQY\n" + |
| "IXECGCYTXUAHCVBHNUAVVVDTBRGXGCZDXZXAPMEDD\n" + |
| "GGZ\n" + |
| "YYBDXEPG\n" + |
| "VKPOIRMDLPWXVYNKALQGDVHFFLIVYRFNVYJTBZUDH\n" + |
| "NZLZULXZQCGR\n" + |
| "CUM\n" + |
| "UTS\n" + |
| "EPYRMEH\n" + |
| "JVDSALRVZ\n" + |
| "UNI\n" + |
| "BWTIXCCS\n" + |
| "IMTIWBOCUAFKGARFHWQXFA\n" + |
| "QZGMYBKZINLADVSTYQNKPIEBUTGTLBRQ\n" + |
| "THHRMODKDMGFZJYS\n" + |
| "PNMHCPTAAUJ\n" + |
| "YAO\n" + |
| "ODUHPUZWHBDGQSUPHRVDWRFKZBMZJSCEDVMWXWNAD\n" + |
| "JSBWOJVVDMXCVDQQCJZMEKHETMCVVI\n" + |
| "ROHTSGDIQSHGCFEGWVQXXINJKSKDKOCUVVZWKJCUHIO\n" + |
| "BLQVP\n" + |
| "LAUMVLNSFXTGFRS\n" + |
| "VJIV\n" + |
| "PWU\n" + |
| "GCAXGYZNLN\n" + |
| "BZFQKORNIFTDYMYUMYIFPWR\n" + |
| "BTUPGQTWXNFMWDGGNZUSPAMFVASGLBCYQITUDBRD\n" + |
| "SYNMB\n" + |
| "QAFRCADBDUJJWDPSXOKZZQTCLVPSQSBZVTTZRXDXSJRXBOAHODIYOYLCQEOAQDT\n" + |
| "JGPOEHNGWGISNZFWFOITSUNEUBJV\n" + |
| "BZNNMLZTLVCJZZXZSLQGACLNRHTQO\n" + |
| "TCDNYYLBCEVRXDLNGNNBNMLR\n" + |
| "D\n" + |
| "NZXSOCPFGRAWKZOQCGJQYTL\n" + |
| "GTOLLNGHGJYRMCTSOUGONHUUTHPPTAU\n" + |
| "TWJW\n" + |
| "SNZRMIREGZSCKCBM\n" + |
| "XQKVMY\n" + |
| "VNETEMMRQSBRPAJDQCYWUKQDMIBENK\n" + |
| "HECALWUGVJPCDHYBNEOJQECBUOHTBNRWFZSHULZVZFDZANUJRUDWZRZGPLPTPQVMXUSSSFKBI\n" + |
| "CDZYXUMWXLUIQBGKNVNXMHBOIS\n" + |
| "NKPFXTL\n" + |
| "FEMMVHUAQHJUGCHSWCCMQTQPSMTG\n" + |
| "B\n" + |
| "UBWQZCSQPOAQOJGSLDATZKZDX\n" + |
| "N\n" + |
| "QXRSUQBYAHDYWXSHKWQNRXBFCSBPPBQTDZAPCKHSOARXV\n" + |
| "NX\n" + |
| "LLHWVVCWQHHWHFFCPQGSDHJQFGUEIPTJDJ\n" + |
| "XSQPLBPWJJUSDEORJMLPFTRVQQWVPRWLHZAMIWGIKFHOEVCGN\n" + |
| "ABZAB\n" + |
| "CIF\n" + |
| "YEYWGZEEOFNUU\n" + |
| "HKKAIWVAIZAHUKJWTGTLGX\n" + |
| "LSJ\n" + |
| "SZNBOHVRUUNNNOQZQBKDRXXEKPCFAVKMEEN\n" + |
| "DGFTKMTFFYS\n" + |
| "RYPFU\n" + |
| "V\n" + |
| "TCJBFMXWYLFXFWVSSIHVANRMSOUZTJJQWRZ\n" + |
| "NPKZGKPZJMIQ\n" + |
| "DIEC\n" + |
| "ERLGSJBIT\n" + |
| "SZCXZNYSMRTAMEPAOPVXQENTXOKUAESZFEWPVFCVZKDWQTCHHOZX\n" + |
| "WGZPBDYZOZSHFNIIYRESYHBNUDVBUJKDANGAKG\n" + |
| "LF\n" + |
| "NWVESANGTA\n" + |
| "NRNOPGRAIDSNQRGNHMC\n" + |
| "EFD\n" + |
| "CYWAZCDALXTPQWZTURESLFYQBFBXYIROKRNLFYNGRRRBLDVDPFEMATQU\n" + |
| "N\n" + |
| "UXZDIMTAADLIL\n" + |
| "MW\n" + |
| "KGEEPHWZHCMESGWGDFWYYJZAJL\n" + |
| "JMZ\n" + |
| "QWXOVHFUSUBVMORKZEAR\n" + |
| "TMLEJIWNCAIRHYN\n" + |
| "ILFSRUKGUNBFDECQKORVRSKEHADJPXBOFUKQ\n" + |
| "XMXWAFPJHQJBOVYIOGYOCXXXELDKXKTEMQNRUSQUBXRQBBTBAJGFKBOJENN\n" + |
| "NPLJIFIHZLJTLGVMAFQRRVHOWUAARWAU\n" + |
| "CSQMHXTMMMGUFQWJEHRQXCYVSHKWYZXFDOYBGETKGEOROWSCUOXS\n" + |
| "JASNM\n" + |
| "UJOVWRLOID\n" + |
| "PITSSCBMIFHFZBFBEYVOAK\n" + |
| "YEEEYHDE\n" + |
| "WSPKNGNZNYPPYYTK\n" + |
| "LMNHUQZRXWVGZHV\n" + |
| "OOCGYPLGJPFAOKWXTESIDZXKQUBCWK\n" + |
| "CVRQW\n" + |
| "S\n" + |
| "FGKKJL\n" + |
| "QWHTTHVZQGTYOBZEUXOHTXSYSCOOZJQAPWDEQEALZTLNZK\n" + |
| "RVMLXFWYWTH\n" + |
| "LCOOOP\n" + |
| "AXOHOGTA\n" + |
| "IIOSCPFXMWHFQMKFNANVRGAMPTFIJCZBNTANHLHCJGISOVWYOC\n" + |
| "NA\n" + |
| "ZPCKGOYYYYMLQTUCHRQTUNECDTLGHSSSRZFMCZICSLJAXPRQFC\n" + |
| "EULMGJMKZTHCBNISDBEAXRYOBAODBCBVYOXKDRSVHMHSVSDEWEVWWPSIUPMYGJKXDMNADUMZMOMNWOTJ\n" + |
| "FXBWSHXWNUOHBDTPQSCKVCPJN\n" + |
| "EZBRQQICQZSYESO\n" + |
| "F\n" + |
| "LHNW\n" + |
| "RZPUTPTEEPITYWVHBTOWGYZL\n" + |
| "NKNBTQDEUEIMSGG\n" + |
| "BWDSOJYVYCLTVBTTRVY\n" + |
| "UMDKJHCHNGUMTFFQIAOMTFXJMJEJUJSORORTKTHTFPYWHSOXXSKEWHOXULBQQQDRLSQNN\n" + |
| "R\n" + |
| "ATHC\n" + |
| "EOVJPDROSNRNMWGWMVUUTBVXTNOSPWVFTHIHVMKZWSHIX\n" + |
| "HDBGFFW\n" + |
| "IBRFSJYTMEZJMULJTGITLSTITGTLYCKJVTSXMMOZ\n" + |
| "CKGRVGQFBWBEMDTMNUDENL\n" + |
| "IUL\n" + |
| "HKOYCXYKLIQDAIMU\n" + |
| "UZDFWIXUWIB\n" + |
| "UZOKBHXLNVGJBBIXFOAHADJDNGPNSRCJT\n" + |
| "G\n" + |
| "ADS\n" + |
| "JHHAINBCVAAOTOODRJHNIHBSM\n" + |
| "SQXXAFQQUEJABJYKGDZKPRTYBIWLJQREJPVCPFCS\n" + |
| "GRJWNYPXZKIFWYOHCCXXFJIRQAWDLLDPGFZZTO\n" + |
| "XSKSCESBMBYMWHBTNVYVPOUUVOFWCDAUKMWBIPZS\n" + |
| "RBJ\n" + |
| "JKQNGDNRCUNXSPHHHAZVLJGWQFUGEDQSCWAAJLBNLCS\n" + |
| "RFSIJTEYLV\n" + |
| "QWWCPTYNRGEKAGCFXRGAYLYOHRCRD\n" + |
| "YDPGYZF\n" + |
| "HDDRLGRRDDWMCNR\n" + |
| "DQ\n" + |
| "SF\n" + |
| "FLOFGHQFSIR\n" + |
| "OEWOFZQZ\n" + |
| "KQMUIHLNAMPEVCMEUKYASKOXWEQCJBLWKQMYFVBAMYCNZLRDCYKALCTARWQUFWOJKXYZM\n" + |
| "RLCWZXUHKBDWZZIM\n" + |
| "N\n" + |
| "ADMVJ\n" + |
| "EJWG\n" + |
| "BA\n" + |
| "UMYCUTOSGLEKXQZDQNNUGQLWHMYGLSL\n" + |
| "ZEHAWKMBTMIRFLNLGXHAYMYJRZOCGWGPASQPOMBLSVSKUJZHDVVCL\n" + |
| "PMAJOJUFEFFTYFSHNMDIQDQG\n" + |
| "HRXLBAIECHSAAQLLMGBJF\n" + |
| "PSMVIEGUPEYENLBHBJLEUGEKE\n" + |
| "XMPWWPYLQG\n" + |
| "BJMUXGEBNIYJKUVREVBVRLWI\n" + |
| "PSHAHWUEMXSLAHHENDKANMQZBLKGMKZMBUOVOGTEFMHUIT\n" + |
| "CLCH\n" + |
| "XBL\n" + |
| "SZRZRKVUACBYNYMYKCPRDABOMVTH\n" + |
| "JECJQSUFZBRJCPXUGMKFRXSCT\n" + |
| "KZXLYZVXZWVZQLMKAXIFWNQODERRKNZDTZFPPA\n" + |
| "FMIXQCHBOOQPOQRSVUZEJQQFXQWYFLTUSBHPTUTTOFDYHLXVSOVTABLXIJWJCHZASUSQIIVHBXCJKKCYMJOMJMFRDEHW\n" + |
| "T\n" + |
| "IHHMQQAJYSYRSGKA\n" + |
| "UKMRWKCRFRGVPOYHRCHDWPNKJLBVVCCIPYKOVAA\n" + |
| "QZPFLHKQWNVCNVDYZA\n" + |
| "XGAMXNDJITANAWDC\n" + |
| "FRMOU\n" + |
| "ECFNMRCVCISCOR\n" + |
| "FDVREMMIZGLV\n" + |
| "WTHKAXBYL\n" + |
| "OVSHPRONNCZBESLKGV\n" + |
| "UNSSNPBKGX\n" + |
| "TUUVTNLTRKL\n" + |
| "ARTYPHRWI\n" + |
| "CDR\n" + |
| "CKL\n" + |
| "IVKGDBLCYYDRRLXYFM\n" + |
| "KILMYNCYPDYZCLCJG\n" + |
| "ZB\n" + |
| "VIWZE\n" + |
| "ZBKHXGRVTVRBKHIORDBBAAEHB\n" + |
| "DVPTQCICEWAZU\n" + |
| "ZFMVHMXINPHSGPQOTPMJYYUHNWANTLWPZOXJQGJ\n" + |
| "FSDFPLRVDZ\n" + |
| "AIH\n" + |
| "FZOALCZOCTX\n" + |
| "EBHQDKST\n" + |
| "EM\n" + |
| "GOLMARGNZMQTYETJBUIH\n" + |
| "BMU\n" + |
| "RZ\n" + |
| "UOCNOYRMX\n" + |
| "VLXVMEZNPYWU\n" + |
| "ZESRONJUWOEMLRY\n" + |
| "N\n" + |
| "OJBTFZXKSIXWSTQBFWAROGSKWOLRRFNNGECLEOFSXUEBQLMKIIGKFPHTFYZUJTVTHPZVJJF\n" + |
| "WVWGJICHMHRKGYMMQSQBEBWFNMC\n" + |
| "BWYNAFZSKLGDUOYHLWST\n" + |
| "IJXPHHKMNNXOU\n" + |
| "ZAYRDWKZPNHYLIP\n" + |
| "STEKYFRJCTT\n" + |
| "QIXDZNRSHKTAOBAH\n" + |
| "HCRIBCYAHPDREZTKPLYZOOWZHWYBQZJOSUOWDYKDESRH\n" + |
| "WIVO\n" + |
| "YNWMB\n" + |
| "LRNGED\n" + |
| "HTWJQCZHLNIJYOHYEO\n" + |
| "A\n" + |
| "ZIGDANAWN\n" + |
| "PTSLAUXIXIAC\n" + |
| "SYTOKKHHCFYGHBRPQLKEOTLQQRQZVVX\n" + |
| "DQZYUPODVV\n" + |
| "SBXGGDDAGENOVMJQZANQZ\n" + |
| "VCKFZIIPZFPQKQDGLLC\n" + |
| "ANBZSMZINCRORBLELLXKIWFKDNSBYQCV\n" + |
| "VWBGCGXWQVWOC\n" + |
| "YNJM\n" + |
| "JZLSNKWGDWDLAPSPBSLIMSTIQIEXFOGYVPSZDTAGBLVNILPJVSM\n" + |
| "HHYLCVQRFOBJCUSOWVOFJIDAVWQIRHYIHGUIFFZQWKHPTAOUQFMTIPTLSBHEPJRZDERRGNJJJYINNHAFMYGHGWSVGRXNVKLXIGV\n" + |
| "BEBXZXRVMNFTEF\n" + |
| "XXOKDENGQGH\n" + |
| "L\n" + |
| "BVM\n" + |
| "VYNGZYQPUP\n" + |
| "TW\n" + |
| "AM\n" + |
| "HBFSAR\n" + |
| "HTADVEFTMXEYDDATGFRQTDQEIGHGDYVUJYP\n" + |
| "WF\n" + |
| "XVQAHNLMSYBOPHOHKTJK\n" + |
| "GDSCQHOFGAHLNIM\n" + |
| "FTZOLNKDPVEOZIVCFJFZOJLMGIIOWFDEWIAQRT\n" + |
| "NZOFRHWDTMEDJKQMNTWNTOHOITKDJ\n" + |
| "XTZQKGKLPSJWDCJZTBVQKSRWOBGVMMWBGYVGJXLKOGQAEJQBMQFBHDHQTOIOHLCOAAODGOAZQZK\n" + |
| "QZYBJEARPTWICQTVPXWUFEPHIMRWFCLAZNSO\n" + |
| "JWJXGJIZPDNWQNBDJQUVAIUURFHWTMKCAVKGHZHQH\n" + |
| "BLRUZFGVP\n" + |
| "TTCLTJNLGEBMQCW\n" + |
| "EOBPYCAWBOFMORPOWCNJMQSWNFRGRLRIBHP\n" + |
| "VLAMFNYJOMJF\n" + |
| "AQLAPTZJBOR\n" + |
| "R\n" + |
| "PV\n" + |
| "OMJPI\n" + |
| "XSQDYAWOWHVITUASFCXUREPAJTDTVPRY\n" + |
| "XMIYJXHRVCDDFR\n" + |
| "KOLVLDHBERNMTGSBHTAELVGFJFQQMTEHPDHWTFZTAXXRRDIU\n" + |
| "AWVP\n" + |
| "HGSZDJIFKDFTSU\n" + |
| "JI\n" + |
| "QAOCUMYFWUJJNTW\n" + |
| "VSRQBJUQQDFZIRKTJVBFI\n" + |
| "VTJVYPGADE\n" + |
| "WROBCQAMISFJLTPDIFJLBMGFHVTPRIDPUSNR\n" + |
| "RTJOXQJXBZXKQDPAAC\n" + |
| "TTPCFEMYJYFNCWU\n" + |
| "LPTWNTAEKKEYUFHLUUO\n" + |
| "NNSHUEUOUZYFSYMKGPSSRNLTIRWVXYYOGSJXIQLBPAFESTN\n" + |
| "SVJDEGFMWEBNLIMNCHOYIZUBBLDMICVDFYAQFEU\n" + |
| "K\n" + |
| "QZQLS\n" + |
| "ACQFKU\n" + |
| "PHM\n" + |
| "TVNDJOYYI\n" + |
| "OKICUJERAYIJOCMNLXMRZDBKXUJWAGDNXSNSSV\n" + |
| "TZWNGNHFWOELEGAU\n" + |
| "VDVVABKAVPZQVLEO\n" + |
| "SNNLM\n" + |
| "TVKKJAYDSKVNXALBFJCFJFNPEBBRCQFMZQJFDIJCXPDENCBDZEELUCTPLQL\n" + |
| "XEBG\n" + |
| "ZUPRHHHXLDX\n" + |
| "XDOXJXMMELSEBRPOWFGXWYTPOUAQWDHCIWAXVHCMTQS\n" + |
| "AUUZGJOJOSE\n" + |
| "OVQOIFRV\n" + |
| "JXSUKCTYKUTN\n" + |
| "LLCZP\n" + |
| "KNITGEARCUZIXBAVJSYJBC\n" + |
| "NFL\n" + |
| "ERWJSZHNMAXDCM\n" + |
| "YPFWBXMSP\n" + |
| "IPEYWIIFGJLGXZZM\n" + |
| "YXVWZAC\n" + |
| "UM\n" + |
| "IVWUDYZT\n" + |
| "YNYWQEDF\n" + |
| "QBTGBES\n" + |
| "IFLRJBVILGUAV\n" + |
| "VHENAQLCDKIBPORJJKLAFLDTAPG\n" + |
| "PJQHCRZYFDXVSRLJTGFHVFISKGUULKNZOMOKJWFCSVBVRPKTLH\n" + |
| "QX\n" + |
| "OVDCUILFECRMAGVAZCGZWLAT\n" + |
| "SEP\n" + |
| "OUFQN\n" + |
| "NLJANQJNNFFUFMWJWCPTGN\n" + |
| "IMVLDDEKP\n" + |
| "CTBNZFLSZVXMFPFQE\n" + |
| "FHRNBURCB\n" + |
| "PDLLMZDC\n" + |
| "VWRPPDJDWPKRNV\n" + |
| "UWPHABG\n" + |
| "LZHCBMBIO\n" + |
| "GNBRLZNZSWNB\n" + |
| "GNZACPJPWLLU\n" + |
| "EALARWIQYBLUYPWSFGEZIDAKNRWRKKEFITBRHUMDEVSYLMVIUYTBAQAJRBTQHXEPAMOLXO\n" + |
| "TXJAAINXDZA\n" + |
| "TEIVEAO\n" + |
| "HIBCAX\n" + |
| "Q\n" + |
| "ALCTNSNWMRGEVADUHUDVTARJGWD\n" + |
| "AHICDFJYTJELDBDYRQJNBWHNJBDUWUYYT\n" + |
| "WLFJJBLSAOBPGQJBTXTXZAYWJGS\n" + |
| "BIUALEOHDNWFRLFIRCQL\n" + |
| "ZTUOEOTZRLFFRZZIKBYOKD\n" + |
| "TXICJHKASBWPVPTDTILNCGNYG\n" + |
| "DFK\n" + |
| "VHN\n" + |
| "YDGRUJAAMLUC\n" + |
| "HRFZPNEOABIREGQXISBCZCIMYECEHSPSAJALA\n" + |
| "BGFGJSJCJBLMAZKBRTZTVUPWCRSXEJBGEZTOQCYMOJWOEVEDLXTATZL\n" + |
| "DLBQNE\n" + |
| "JAHZMEKJLOBCFEBJKGPUIWVIK\n" + |
| "LBEBAUBMRV\n" + |
| "VPVUVMBQRD\n" + |
| "QMZLSRHMITTHAFYXMBWMZXLNLDWJKHOSLTHFKFXUIDNRNSOWAVLNPXUVNKNDIXOXNDGBKIYS\n" + |
| "ZBMLJHFQEAXCDPQDSUFVSBDCLXNTUALHKOPTKYZTAMEEKUJEQCSIJWIWCUAWZIUFELBCJEKNBOERQYKJUOHDNLDEB\n" + |
| "LCLFUTZCFBBLGNULWQQYJVFBNMOZI\n" + |
| "EBHGAI\n" + |
| "JPIDOTMQSHYT\n" + |
| "BCHG\n" + |
| "WWADZILYMYJMQQKEYEHVMJOWXPNS\n" + |
| "YJSCWWNVTWYODOSXNQBEGMCHYUOHFZLTMEEIYTKI\n" + |
| "XNXINKKXFSENMAX\n" + |
| "GNJHLZKF\n" + |
| "BIGAVOWATBSMVCZPRGVQCNWQNLCDQWOTMDKYCBUFCXULYJMPGL\n" + |
| "TQTTXYFLCXQMHOIXPUZBSVKIVKM\n" + |
| "LATJPOJXFSXTQYU\n" + |
| "NWPZRLZQFEKPCJVKWYUEGTQJPUYOPMZJQLCLR\n" + |
| "XGZ\n" + |
| "WBRZOJUNGXQN\n" + |
| "OAGQRFWSOIYFSJOMXDMVKMCNXPHADBPVGYNNEJMTJBTGRTCFVHEFP\n" + |
| "FJFJYZQWQMNYOKYBYBKIYVXAESBLXAEMCNLGAGDOVNRXZWNH\n" + |
| "JCUCQHLCD\n" + |
| "NQOBRAUR\n" + |
| "RYWNHAFCFQINQ\n" + |
| "UTRJIHZLSITQXYVMQY\n" + |
| "DQYBEHOYJDZJHARZFDGXECNUMPRVXBNNW\n" + |
| "TPYLXBAKXKJYSPOCBDMWDFNLDJZSTMOAG\n" + |
| "AHQFQDZGUIDHOLWQYZLJRIVBWGQ\n" + |
| "BWDQM\n" + |
| "ZCUC\n" + |
| "OGSAKIHTDUBQXFEXECLF\n" + |
| "QJAEHVDCQQANUKEHDRQILQWEAVWXOGZCEERDYN\n" + |
| "C\n" + |
| "KDGYXTSAB\n" + |
| "ZXTMAMRJWWCYOUSNXLBSA\n" + |
| "ZWDOBHUHXWA\n" + |
| "VKXDJFCJBPYJNPFFYBZAPWYMSESZBUJLUUAQDQKCVALSJSCHHCSGCHI\n" + |
| "CNAMVEPS\n" + |
| "SDFPBWJEAZDQQRTQRDUAMKIBULZFMNKUNDYLJ\n" + |
| "P\n" + |
| "VEEW\n" + |
| "VTGWVGIBNUTJOEGB\n" + |
| "YWWLAJ\n" + |
| "RWNRBFJDRX\n" + |
| "MYFN\n" + |
| "FTPFVOYEQHR\n" + |
| "RAG\n" + |
| "TO\n" + |
| "LQOVTAHNBABJAQKNBCHHX\n" + |
| "SZZBZITFBIIZEYDBSYIKYJUEVBSMCWHRKTMILXYQYYCYWPGJSPMBPCJNDLAOBBPHCWVHAFXSUJSKFFDUNWYPAN\n" + |
| "RHDPHLRFVEMMYFIZWYICJQZKHZX\n" + |
| "YFZUKLPITEFZACKCDDPIOCUFSTEVRD\n" + |
| "LTITPNSIAJEHUJYEJSVJGBT\n" + |
| "SLPWQUKNQGYBVIGUMB\n" + |
| "LRLONFQHZGTHYYVWZQLVUSQTFUWHJNASPFNGVBJKPR\n" + |
| "LEMAFKWZFZWJMFVPPIUEZUDLHLJSXHTNGDRIROVO\n" + |
| "DI\n" + |
| "FLHSSPRUFZR\n" + |
| "IIRQTODXIGMBRAQSQSMIVDHBAPZKCYPFQDSTXKYYN\n" + |
| "SFNEGBGBEXAT\n" + |
| "XCVRFNDBNXQRMVDSZIGPOHGMBA\n" + |
| "EEOESCLGWWCWHJWBUYSODZUAYATN\n" + |
| "JOIK\n" + |
| "HFQWTNZGPARTFRPCY\n" + |
| "MWINOFYNEHLFXCAGTGNYTBRN\n" + |
| "LYLXABDDWDAIMKRMIHI\n" + |
| "DLQOUXODWNDRSENRYVOOICP\n" + |
| "TC\n" + |
| "QMI\n" + |
| "MHXHEHZZBKUO\n" + |
| "DPXBI\n" + |
| "EUVFZVUGRNEMNSBHHHFAQTIUPOXLKVMG\n" + |
| "WASCSLAFIONIWATAXTFYRZWUKPHDLRFIOI\n" + |
| "XUNEHA\n" + |
| "QZPITHNO\n" + |
| "QDPVEM\n" + |
| "ZRB\n" + |
| "ZG\n" + |
| "NEUOXP\n" + |
| "XTSWDUSDFNOXSUSYX\n" + |
| "EJQISYECXPGEERICEPWRU\n" + |
| "WAGNEPWHUIJJHQMUAGNHMYOIKQBHOHS\n" + |
| "T\n" + |
| "RMZYBBXQZPNQMHXBCXKJBNVFDTTPGJPJBRLFVUMMCSKWRJSGPCVREOPWGSTERWVUXZSHODQIHOOAYTSUJFRGURDFNCXEZCBLUOJBTGRPMTCLMQBI\n" + |
| "PDRTQBKJEXMBHOOSWCF\n" + |
| "RMMEEVMZCKGIXAERGXBRXPPLBLKWYW\n" + |
| "FBEXNARCGNLS\n" + |
| "FW\n" + |
| "TQQCUJJZZLCDSLUQETEYFQBWWZWTE\n" + |
| "ENRJUD\n" + |
| "NJLQSEEFBTDJRYDXKIXGVOBQUSL\n" + |
| "MEONVFJEFKTUDZKPNGFZZJGVCHVEB\n" + |
| "VFXYEWSBYQJTWFAICT\n" + |
| "EOBGFVSOGHJBH\n" + |
| "MQQSMWQK\n" + |
| "HLOKZCDPNVTIWLEPBNJEEANPLELTAPNHBTJQ\n" + |
| "XLFWHOI\n" + |
| "IZFLTKXAYYWSELSY\n" + |
| "LRNAEGMLUCVEMBQPL\n" + |
| "CNORPULYJAOTZYKFQNQMDTSCRGXQZYGDTPOHSQVSILKRAIFOXKEZRDZQNRU\n" + |
| "GSFTXYVTIIYTSWGLG\n" + |
| "HEHKDSWSDZAQGXULRWXYWIVJQGXCOIIJGBWENWGMWWOTTFYOJNRGZ\n" + |
| "ZOOBEOHYH\n" + |
| "FTAKEZVVHYOIMGNKNHJNIWDOPQA\n" + |
| "SJR\n" + |
| "FUPPUXXEIUJXNAONEEGNRHNXYWHKRGFYMSFYGBMABZYRZZHZPOXNJXA\n" + |
| "UQMYPJYXNOZDEHFSTZDWZVWSX\n" + |
| "JZVGWUOYUPPFZ\n" + |
| "HHCAOCAIWXM\n" + |
| "RZXWLBFWPWNSITSPWJNBTIATOKHXKYUCBRQCGNRMMKBCCXIUGNZCCHJ\n" + |
| "UFA\n" + |
| "HCSSETIDVGLDEKRROPMZZYHG\n" + |
| "JVAJG\n" + |
| "HOHZZONMSTEIDMDYJM\n" + |
| "WH\n" + |
| "UEBAFWOQMRHQDFDFXZYWWPWAEMTRVPYWGDAGMESTWREMEJRCTSVBALLVYQTJRDDQF\n" + |
| "GJOIO\n" + |
| "PNYNOXAJUNBBBCTFYPPJXUXMMF\n" + |
| "WUQMSLARIKYCCLZNXDJ\n" + |
| "YB\n" + |
| "DBEQUHQZWSB\n" + |
| "OK\n" + |
| "UNZNCPEFNBQKYHV\n" + |
| "NXKYSEECJQ\n" + |
| "JNXAQHK\n" + |
| "GWHNZCLROTCKQRRCFCRGZILFEUPLOQOXVGHYCDFZKHSXKTPZPJOGUUEF\n" + |
| "KXVZBQKUIVUQEICJDXWDSOGWCMEI\n" + |
| "WXYJINVRMSYMTMBWWI\n" + |
| "HZIMQCZWGMXTZGLJA\n" + |
| "EBDFFBORWLOWJVWXKGVNAYIQKOTHHTBVRFL\n" + |
| "OMQNHKXNM\n" + |
| "UFYXYXZEUSEDGURXM\n" + |
| "BTNLUSOCITXZHYGOCLCNEDBPAKDTKEYGTBNGCLSHFEIGAEOTNDW\n" + |
| "G\n" + |
| "Q\n" + |
| "XTBOXZQTCF\n" + |
| "MXROBAKZWHCKXLKREOMEGMANJNQGSRQ\n" + |
| "LOZICPRWXEXBGTZTUUOKHRTHMYQEAWTBLNTVSWWFZTGZZNTIGVZDCOLOFFTUI\n" + |
| "QSZPKXZSUORWIHBYBNPKCBDWWIEEMEEVXHQJKWLMURAMYLSVWEOBQTYZSWQQAXVCWAZNLDZKQYCAEMYTJ\n" + |
| "HYDESOOQKJEEUAUZKYIKY\n" + |
| "QLKMLZCLWXNWDMKDKQTGWOJHXVFQ\n" + |
| "HWAQHABXRWTVLLVQRTJLQTGRFTYVDSNULWJAKYVQMGSPKLRCFCQKJEZRHULCCKYOXVLLGOKEHBZEWMGHENENIIPBFSBKKADOIPMEYKKEMSDOHSTQYUATDFTVBMROJKE\n" + |
| "PJXDFFVNJACVMYDXTAPGDBQMDIYNM\n" + |
| "WVWS\n" + |
| "PAHNGCPTSKEBGGJDTTVFPAF\n" + |
| "NLFQ\n" + |
| "SUUKTALIRDTNXENTNPXBPWYUYASERZUF\n" + |
| "QEXQTQTVDBRMMLVYBOKWZZJZXYBIRHVW\n" + |
| "CBOHLDGPGJH\n" + |
| "IF\n" + |
| "ABAYULLMFHXQCZIGLTOLAPKYE\n" + |
| "NFPDMAGHASUWEMPPSHZLXJLCLHVVGIQVRZHUPPMDOQKCVADBLYKROIWJCHFIZ\n" + |
| "MITGUGZ\n" + |
| "GIQLWTMDNMXCVBRIHXSUTSQOBATHXTBBU\n" + |
| "VAQBCUSZWNRYQO\n" + |
| "HDAEQAAK\n" + |
| "FEXODZIBJSXU\n" + |
| "ZVO\n" + |
| "U\n" + |
| "W\n" + |
| "VRCDPAEIWKFCSTYGDCTGQSBZ\n" + |
| "IJWMRIQCQVRRHGBTFDDDO\n" + |
| "MX\n" + |
| "XVLHBXJSOUAWMYO\n" + |
| "YUNSCRZUATVH\n" + |
| "JXWIXQIXHFGTKTQBGQTDZXFMWMAHWNWMUPXBDM\n" + |
| "JFZHLOSOSULNFAWQTBWBQERADCVOEAGCHQJLEUNA\n" + |
| "MIH\n" + |
| "GYMRRDVPIOMUPTQLBCIZJIVTELVNIRUDVFPPRRUGOVGAMMIWBDYNM\n" + |
| "PMU\n" + |
| "V\n" + |
| "ILTRVOM\n" + |
| "PFORJR\n" + |
| "WPURWTO\n" + |
| "PJLEKIUPXO\n" + |
| "VQWUC\n" + |
| "IMZKVJKWCACHVDXWMGAXPSRFDV\n" + |
| "EYQKXTRDGAJULGRYWXUSSIZR\n" + |
| "DSNWYPDISGMEYNNYGLOAEMCULBNVZMQUPFERYI\n" + |
| "YGBCADMALTINTHAXIXMWJ\n" + |
| "LBJNDX\n" + |
| "XTZUVAQCBXWARVKOLMICEITJNHYPHDCTJTHEZEJMXFCWJCRPQINJCGVJJEVMR\n" + |
| "JAYMBCJPXAYHQFFMFLELY\n" + |
| "DMPXURXNVHGFGZSUKUYDLCA\n" + |
| "EQG\n" + |
| "VDIXHLWHYWPZHUTIHKIVWEWDSWPJZZQHPHADMKQKOCNYUDV\n" + |
| "QHXZP\n" + |
| "VGNJCYVUUACVPDID\n" + |
| "LLGGLK\n" + |
| "KGHB\n" + |
| "KSASSTBZEVPNNVETBFWEQORBNVSCZVMIVAEACOLBCFFNBRKKVUCHUEQDWR\n" + |
| "IHHXG\n" + |
| "UGDELBR\n" + |
| "ILXCLBZBEQZH\n" + |
| "Y\n" + |
| "DCMZIUADUCCWHKOOVKXIACYWBTSWWCYDWINHTL\n" + |
| "QEHP\n" + |
| "GTBWOYSAAMJKFBYJPA\n" + |
| "LIIXTRTREGONTV\n" + |
| "GYFBQZUMZMXHXT\n" + |
| "BIGF\n" + |
| "QIUTFDUOSIQOVRBPNGSYDHNQ\n" + |
| "EIWCYCAINPZMGMTSIYAHVMPBSYXDNHWGRKGRASGDTXUJBTGQIG\n" + |
| "FUCYJLLRMVQSQMNOGDKVCPRXDVJQFPLVXP\n" + |
| "S\n" + |
| "I\n" + |
| "GRAHBJDNFZQTZIEXTNMFUUBJRIMU\n" + |
| "A\n" + |
| "IXHDGGRBQQ\n" + |
| "C\n" + |
| "Z\n" + |
| "DHHHFTLGSFVEBKIAQXBFBHBE\n" + |
| "VKVL\n" + |
| "MQYIQHTBUKCYWEZBHUTARRYFLAPGVQJKQIJLNIGWRGASQCRZQUZVRFXK\n" + |
| "ITISVHLZZKTO\n" + |
| "BQQN\n" + |
| "USQ\n" + |
| "KDCW\n" + |
| "VJHK\n" + |
| "JFQLTLQABHYZGPRRMTAKKKGVZUKKQZXZCHHTXPBKH\n" + |
| "IOW\n" + |
| "ZRSYJU\n" + |
| "QLCULISYLZQHWINZE\n" + |
| "TPWJAHTIMQHG\n" + |
| "FMWQGS\n" + |
| "J\n" + |
| "CKVPOWIBUGPVSIJBAMMMWUSJXXROLIXWUFFFOGDOBFYNYZEZSKSWLDZFYIYHFVQNXSTDQ\n" + |
| "GCVDFNM\n" + |
| "ZL\n" + |
| "XPXILYGXIDCFPSIMNVQMWTKFV\n" + |
| "MHS\n" + |
| "JWCAIKLHFDVVPDPR\n" + |
| "VIGQFTOEFOOTL\n" + |
| "RTH\n" + |
| "VABHIEEBDS\n" + |
| "NYXBVNVRRXNJ\n" + |
| "HAEUONDNTVVTHLYXLIANJUUHBEYWUOZTXHAVL\n" + |
| "KGIUROHFINGHDONUOOSVYTSJUIREYKKVDWKU\n" + |
| "ODFHVAHQEIFLZHGXCWRWGBVOH\n" + |
| "LS\n" + |
| "XZWYXCBUUERNVJBNKQZOCVIICJCZZSD\n" + |
| "CLMFS\n" + |
| "NWBKXLZONKC\n" + |
| "UEWHNBXSALZSSGPPBGBZWSHHGUCPSNDTLMFR\n" + |
| "THVKU\n" + |
| "PBBIDK\n" + |
| "KHADIIN\n" + |
| "HOPOLBAG\n" + |
| "SRZXQZ\n" + |
| "PPKZHAMLTBHWVXEQCCZBWAQYJCGPPFGAIRAANSMGQP\n" + |
| "NYEHHNHPIEEFBLGHMYHFDSCUW\n" + |
| "CHWGMZFWRPMVVXDLMFQOPYTCREUCXA\n" + |
| "BVUCGFBQSBQNELFAYLGAHEPBXPSFKUHTNYQGEMWBLIIKKJHHYEXMDLTKJMRWHCOQHADGNEYAASLGXQUWEZ\n" + |
| "EXBYSMMKVCPVDGLQOPLDPMEJEEPBLLJNRIQC\n" + |
| "LEVZAA\n" + |
| "GDKTECIRKOYPYPEUTGKUFEVDTFRDAANHIFBUHSMJS\n" + |
| "UIGZGPXOJUHVRXAKWQJIMGWQCXWKSGJVVKB\n" + |
| "ONINVJQWQLPHHC\n" + |
| "P\n" + |
| "XSAXFKRSK\n" + |
| "EBCB\n" + |
| "UW\n" + |
| "MNVVOWWUKKZBGFBTNWNXB\n" + |
| "LMISOCHFPVQNBRX\n" + |
| "QBOQHOYCXJYSAACTVFNWRTAJHHUUESJOXNCSSYUAP\n" + |
| "MHDDAZPYJRGRGPS\n" + |
| "KUABSL\n" + |
| "AYFLFBEXAOMN\n" + |
| "GGFHTEL\n" + |
| "UICDHJUNUZNAMVS\n" + |
| "JIOUIMY\n" + |
| "ZDTLHZAJ\n" + |
| "O\n" + |
| "EHZBFMOMHTRPWCSJACPOEWDHFORXEXXAQRXSRFMBCGOEDGFJIGBQZOUNW\n" + |
| "WFZXVOTIR\n" + |
| "M\n" + |
| "AIZDPVMMAIBPXUDZQMMMWGOKIQNFSXJZWFRNRFMMORHIBLEXKU\n" + |
| "JGJGEDNFBNSEAPZLHPTPJARVLAVSCWEWUIFIGKZNNXNVZBTFMYPT\n" + |
| "ICSLQKLOTFXWTHIQZICSERWNKT\n" + |
| "CUHGNGFXEXUVINDRFENIDZQSXSQCONLWNIPYPBWDHCSHTONERHJFLBFZPJPDJDIDEAWTXWDKUYLDJSVTIHUP\n" + |
| "WALMCBK\n" + |
| "YQSFQ\n" + |
| "DLRKGMHEGTMGFZQNGJQTBEPFTFKEKXUSOTFVTWWDJBKVWYSUURQOVFYCBBWCQYSGXZMNURXCMMDEWYPKNF\n" + |
| "TJTZSEUBVDXKJPVSRXSUJBAKSSPGQUUOGKSRYBNUTSFCZSADKMCPMUWU\n" + |
| "WWUTG\n" + |
| "KQTCYIGBG\n" + |
| "DERFWFFDNHVXHBHCRRXAFKKEJBVIOYZVLBKIYQDHTIMUFFVBPNCFVVZV\n" + |
| "EDMOZYZOUIDFAVVTQJ\n" + |
| "OFRUPXVBOKMCJUKZWVRFCWIGD\n" + |
| "BMNTUPH\n" + |
| "ELQMGMQIAQYOTWFYZWFKVYWJAIHFRMVEBCZSEUSTZIYHSOQH\n" + |
| "YUWTDRZATJNES\n" + |
| "WCNKVBREYOAHIZVTJALMSZTUKGWNWNFQVLXWCGN\n" + |
| "DKBI\n" + |
| "PNKMFRXEYGDFRPSYCULYNNBHZZAQNWWUOIY\n" + |
| "WAJIDZZQYDPVMLDPOKRJTWFOALN\n" + |
| "LPQCNYAMRVZC\n" + |
| "DPZLHPNNFGTUOIDPUJM\n" + |
| "HFKUAWMYCQQJD\n" + |
| "XCBQLYE\n" + |
| "INCGXMJ\n" + |
| "LSNZNSBJFQEAIO\n" + |
| "VYMTYEINVDNUKZXXWTU\n" + |
| "NVTWMURC\n" + |
| "OZZRRODQNFYZ\n" + |
| "UALSWKOIHHZGMI\n" + |
| "PSNBLQZGNZAXYAGXCKFGZJQDPORLPNCPKS\n" + |
| "WUPXRHSAZNWTJDDGNLESSOD\n" + |
| "NFFWMGVLWREACY\n" + |
| "YUDTTHWSGYEWWVDZIUFMGVYDLQUQWLWJNNLH\n" + |
| "NEAMGEJZUE\n" + |
| "OTIILKF\n" + |
| "KY\n" + |
| "KWKTKGWYDLE\n" + |
| "FYESHIOCAKQ\n" + |
| "IAAJ\n" + |
| "BRZLWZ\n" + |
| "PAQZTDQECDPWZZSSZFAYZBWGYIDPYOQR\n" + |
| "FQAWT\n" + |
| "URPTGIMYDMGBYBVLZUGJPYPWTVRJVFHOXJAXBEKSEXLNTIBTPLPPLANV\n" + |
| "ZEQDGUJSCMNDDDJYVUYKJHVSGGSPXLWUZRTIOITQUEJXKJMWVHSEVNLLVW\n" + |
| "COXMGQLXEVBMK\n" + |
| "YTNLCCOAV\n" + |
| "NXEGH\n" + |
| "FRAFQRA\n" + |
| "GVPCSPY\n" + |
| "QGKHMJKILOA\n" + |
| "TKMMRDMLQKIIGCXJISTZ\n" + |
| "GUOLCJZCDCKIBDSQF\n" + |
| "OTSTASNITZPBLWGOTZMKNZHPIFMHPM\n" + |
| "XLYBGARCKEGKVOQQDMHKTGAFIWFVWVKFHWFTBQBWSBATG\n" + |
| "RRWBGOALIKDYILODGWTQQOVXQTCRZTJXMBXDICRMRDRSWIHVCLZKMUYUVQXGFLPSGRORGNYQ\n" + |
| "WQKIEJBO\n" + |
| "TTEXXVXLNGUKMCKYZOMWRIJJGJULUDHCMVMMCISEFPXFMLCPTFRVZUOQTGFWINKZSJK\n" + |
| "JR\n" + |
| "QCFKDZMWAKHPGJSLZDMUEGMMQQME\n" + |
| "RGXHCG\n" + |
| "PMVNARGBQRIDASCECGTLC\n" + |
| "RPEL\n" + |
| "ZGYLLLZFCASEVIVCNYJQEAVXYZKA\n" + |
| "J\n" + |
| "QPMFLMRHKQ\n" + |
| "KRSMZXOVVPSVNAIGKPWRZOPBYNLAIJBAFCGOUFTKPFJZAHCPDXOESBJBDEZP\n" + |
| "XAOVPWLJJHIJOQABB\n" + |
| "HJRQRECZYIJBBTDSUSTIDKKU\n" + |
| "ZSPX\n" + |
| "IMKFZYEW\n" + |
| "KMLV\n" + |
| "PPHUPYMEFZRFQFTUPMAIJQYJEWVFOARH\n" + |
| "RMBY\n" + |
| "WBLOWHHZSPRTBCLWSYIHJULVSX\n" + |
| "LTLFGS\n" + |
| "WPLPFAXAKNBHRBVQVZJKHCMVTFZMDLJQSVFUWSBJQMFMHYGCGYNFIUBMAGLEQZ\n" + |
| "JCAZMNLUHJJO\n" + |
| "T\n" + |
| "AUPHLHQXVRT\n" + |
| "TUDELJLONPVW\n" + |
| "QLCIETGUJK\n" + |
| "CLJCKCAF\n" + |
| "ZPVAVJFHPHUVDFUDSO\n" + |
| "MFRFNCOXREU\n" + |
| "OYRHJNR\n" + |
| "D\n" + |
| "AGQOQCOMCZW\n" + |
| "BXZSQRBJNOJXLGGSCPMWTDQELGHCDQKJZDMNZYSDDDUOVTPPQVZZNANWD\n" + |
| "AMHF\n" + |
| "QQ\n" + |
| "CDERFKM\n" + |
| "UVHQVYNTACROYTSWCBOCDGXJXBZCWHFCC\n" + |
| "HWKELNWUEEHZXST\n" + |
| "XZXDSLOEA\n" + |
| "DZV\n" + |
| "RJTXRZTSVTNGHONDUFXTEPHDQPKBKYNYQGWLPZXO\n" + |
| "ZCLHQZVPAQSUJKZMKCQXVZLHMDUJ\n" + |
| "LEERGXFGQSSXKJXAAZGQONFBQABN\n" + |
| "XUUCARSWMTARXDWWGZWGI\n" + |
| "KYXFZINSNOKRCYVQHMMU\n" + |
| "MKXYVIDRFNGDSAFSHMSEHFLV\n" + |
| "IHYONIEGRBZGJVFGTGURITMMQLNUZQ\n" + |
| "EBNVYCTJWWHQJMVMNEQBTLFPGJEAKDGOXTQECMKF\n" + |
| "EANLUJMOPNXVO\n" + |
| "SAVS\n" + |
| "ECMOABEQRPLLAXOWUFOLHTPWEVXOJPAYA\n" + |
| "BZDPWVMHHZXOKTNESLUDPQLEOTGDBFZLMYTAMYUOTVBUQJVRHQSMG\n" + |
| "ECQPKBXVRSSVKUCMN\n" + |
| "BINKMQWRPAJGWFHQUFBHDPTCV\n" + |
| "CZBSPTHWICUIYBGJNFRZGNYYNSXDQYDROBSFHJRJYXERVYQEX\n" + |
| "BVCOYDQIICGTVPZXRAIR\n" + |
| "JPXVKZHRDIQJTFH\n" + |
| "WUYLJXNIQIMJPUIOOOAVOMJ\n" + |
| "VTRPDYUXBYCTZY\n" + |
| "XBW\n" + |
| "KMFEPXDJRSZRARZKCFCNZKDRNMKIMKVDQBVTSFFUBPTSAVYMKJSOGEFR"; |
| |
| private static final AnnotationData[] RANDOM_ANNOTATIONS= new AnnotationData[] { new AnnotationData(507, 230, 1), new AnnotationData(11323, 55, 0), new AnnotationData(12543, 96, 0), |
| new AnnotationData(9964, 112, 2), new AnnotationData(579, 137, 1), new AnnotationData(15508, 198, 2), new AnnotationData(3356, 93, 1), new AnnotationData(5225, 6, 2), |
| new AnnotationData(11802, 284, 2), new AnnotationData(7848, 21, 2), new AnnotationData(10495, 145, 1), new AnnotationData(1535, 292, 0), new AnnotationData(12764, 271, 0), |
| new AnnotationData(15459, 123, 0), new AnnotationData(16169, 257, 2), new AnnotationData(13281, 341, 1), new AnnotationData(19166, 120, 1), new AnnotationData(9609, 233, 1), |
| new AnnotationData(3722, 340, 0), new AnnotationData(19716, 275, 1), new AnnotationData(13248, 250, 0), new AnnotationData(6448, 211, 2), new AnnotationData(8842, 148, 1), |
| new AnnotationData(11547, 196, 2), new AnnotationData(18927, 170, 0), new AnnotationData(8090, 297, 1), new AnnotationData(13277, 35, 0), new AnnotationData(19728, 273, 2), |
| new AnnotationData(1588, 66, 0), new AnnotationData(18918, 229, 0), new AnnotationData(9612, 77, 0), new AnnotationData(18190, 76, 1), new AnnotationData(10394, 172, 2), |
| new AnnotationData(12487, 231, 2), new AnnotationData(10682, 54, 2), new AnnotationData(3282, 301, 2), new AnnotationData(12463, 60, 1), new AnnotationData(4559, 1, 1), |
| new AnnotationData(6410, 220, 2), new AnnotationData(8130, 204, 2), new AnnotationData(18661, 254, 0), new AnnotationData(2642, 96, 1), new AnnotationData(13073, 278, 2), |
| new AnnotationData(19146, 4, 2), new AnnotationData(2522, 85, 2), new AnnotationData(12263, 125, 2), new AnnotationData(2604, 302, 1), new AnnotationData(7486, 47, 2), |
| new AnnotationData(1145, 228, 1), new AnnotationData(17901, 71, 2), new AnnotationData(4136, 138, 0), new AnnotationData(19645, 78, 1), new AnnotationData(6926, 291, 2), |
| new AnnotationData(16744, 182, 0), new AnnotationData(15026, 190, 2), new AnnotationData(3117, 149, 0), new AnnotationData(4617, 256, 1), new AnnotationData(14922, 322, 2), |
| new AnnotationData(19220, 256, 0), new AnnotationData(13670, 30, 1), new AnnotationData(12068, 238, 0), new AnnotationData(5376, 268, 1), new AnnotationData(5979, 180, 1), |
| new AnnotationData(7452, 138, 2), new AnnotationData(1470, 227, 0), new AnnotationData(14450, 76, 1), new AnnotationData(13798, 338, 2), new AnnotationData(8151, 301, 2), |
| new AnnotationData(12707, 183, 1), new AnnotationData(9916, 291, 2), new AnnotationData(9158, 69, 1), new AnnotationData(11105, 220, 1), new AnnotationData(16739, 179, 0), |
| new AnnotationData(11748, 0, 1), new AnnotationData(5507, 173, 2), new AnnotationData(3268, 52, 1), new AnnotationData(11149, 322, 1), new AnnotationData(757, 63, 1), |
| new AnnotationData(6172, 261, 2), new AnnotationData(8939, 122, 0), new AnnotationData(11583, 276, 0), new AnnotationData(4199, 7, 1), new AnnotationData(4116, 67, 1), |
| new AnnotationData(4743, 198, 1), new AnnotationData(13967, 262, 1), new AnnotationData(8108, 204, 2), new AnnotationData(8661, 100, 2), new AnnotationData(2235, 136, 2), |
| new AnnotationData(9681, 67, 0), new AnnotationData(15860, 207, 0), new AnnotationData(2866, 285, 2), new AnnotationData(1394, 243, 0), new AnnotationData(13853, 272, 0), |
| new AnnotationData(18326, 240, 2), new AnnotationData(3562, 272, 2), new AnnotationData(16451, 45, 1), new AnnotationData(12428, 25, 0), new AnnotationData(18576, 347, 0), |
| new AnnotationData(10099, 311, 1), new AnnotationData(10561, 318, 0), new AnnotationData(17486, 184, 2), new AnnotationData(18452, 111, 2), new AnnotationData(17302, 197, 0), |
| new AnnotationData(11999, 11, 2), new AnnotationData(16035, 125, 2), new AnnotationData(5473, 7, 0), new AnnotationData(2245, 33, 1), new AnnotationData(17191, 281, 2), |
| new AnnotationData(7895, 244, 1), new AnnotationData(7730, 20, 0), new AnnotationData(14552, 308, 2), new AnnotationData(4749, 343, 1), new AnnotationData(7267, 78, 1), |
| new AnnotationData(11701, 129, 0), new AnnotationData(5887, 101, 1), new AnnotationData(4906, 63, 0), new AnnotationData(20054, 54, 0), new AnnotationData(18436, 64, 2), |
| new AnnotationData(18117, 192, 1), new AnnotationData(18539, 251, 2), new AnnotationData(4710, 135, 2), new AnnotationData(13974, 330, 2), new AnnotationData(17034, 10, 0), |
| new AnnotationData(4382, 296, 0), new AnnotationData(11551, 271, 2), new AnnotationData(16006, 119, 0), new AnnotationData(15193, 308, 0), new AnnotationData(16057, 82, 1), |
| new AnnotationData(4085, 40, 2), new AnnotationData(20603, 96, 0), new AnnotationData(4603, 216, 2), new AnnotationData(6648, 62, 2), new AnnotationData(13682, 157, 1), |
| new AnnotationData(460, 268, 2), new AnnotationData(10741, 118, 0), new AnnotationData(14373, 130, 1), new AnnotationData(4450, 46, 1), new AnnotationData(7694, 27, 1), |
| new AnnotationData(20185, 79, 0), new AnnotationData(8849, 234, 0), new AnnotationData(13354, 302, 1), new AnnotationData(9838, 141, 0), new AnnotationData(13007, 202, 0), |
| new AnnotationData(5011, 194, 0), new AnnotationData(1612, 282, 0), new AnnotationData(14987, 232, 2), new AnnotationData(8592, 145, 2), new AnnotationData(11226, 89, 0), |
| new AnnotationData(4175, 105, 2), new AnnotationData(20119, 278, 2), new AnnotationData(10674, 96, 1), new AnnotationData(19096, 70, 0), new AnnotationData(10820, 260, 0), |
| new AnnotationData(1490, 33, 2), new AnnotationData(9710, 246, 0), new AnnotationData(4774, 262, 1), new AnnotationData(9509, 184, 2), new AnnotationData(9580, 94, 0), |
| new AnnotationData(10250, 274, 1), new AnnotationData(11795, 72, 2), new AnnotationData(9086, 124, 2), new AnnotationData(3144, 256, 1), new AnnotationData(3078, 3, 0), |
| new AnnotationData(16129, 4, 0), new AnnotationData(13782, 2, 1), new AnnotationData(14056, 267, 1), new AnnotationData(15460, 32, 0), new AnnotationData(16158, 271, 1), |
| new AnnotationData(14797, 202, 2), new AnnotationData(7654, 108, 2), new AnnotationData(17232, 11, 1), new AnnotationData(5936, 69, 2), new AnnotationData(12156, 224, 2), |
| new AnnotationData(9376, 243, 1), new AnnotationData(10375, 155, 1), new AnnotationData(7524, 270, 1), new AnnotationData(19415, 86, 0), new AnnotationData(15004, 0, 1), |
| new AnnotationData(3241, 44, 0), new AnnotationData(5870, 147, 1), new AnnotationData(11908, 84, 1), new AnnotationData(10962, 135, 0), new AnnotationData(16480, 232, 2), |
| new AnnotationData(9087, 256, 1), new AnnotationData(9177, 29, 1), new AnnotationData(1361, 232, 0), new AnnotationData(18433, 128, 0), new AnnotationData(13207, 183, 1), |
| new AnnotationData(6067, 236, 1), new AnnotationData(9325, 33, 1), new AnnotationData(15416, 326, 1), new AnnotationData(7642, 69, 1), new AnnotationData(15250, 67, 0), |
| new AnnotationData(4193, 191, 0), new AnnotationData(6492, 143, 1), new AnnotationData(5780, 325, 1), new AnnotationData(1004, 254, 2), new AnnotationData(9125, 278, 0), |
| new AnnotationData(775, 170, 1), new AnnotationData(394, 174, 2), new AnnotationData(4758, 245, 0), new AnnotationData(1512, 59, 0), new AnnotationData(16855, 237, 0), |
| new AnnotationData(2427, 291, 2), new AnnotationData(8298, 126, 1), new AnnotationData(1359, 112, 2), new AnnotationData(19885, 164, 2), new AnnotationData(15405, 121, 0), |
| new AnnotationData(19041, 269, 2), new AnnotationData(1549, 27, 2), new AnnotationData(14797, 95, 2), new AnnotationData(4266, 315, 2), new AnnotationData(12285, 250, 0), |
| new AnnotationData(7023, 322, 0), new AnnotationData(34, 54, 1), new AnnotationData(16318, 183, 0), new AnnotationData(11181, 112, 0), new AnnotationData(12135, 9, 2), |
| new AnnotationData(3483, 191, 2), new AnnotationData(7828, 233, 2), new AnnotationData(14974, 44, 1), new AnnotationData(6178, 142, 0), new AnnotationData(13803, 217, 1), |
| new AnnotationData(4305, 53, 1), new AnnotationData(19931, 322, 1), new AnnotationData(18458, 125, 2), new AnnotationData(2383, 87, 1), new AnnotationData(11321, 139, 0), |
| new AnnotationData(18220, 141, 1), new AnnotationData(8807, 43, 1), new AnnotationData(9557, 281, 1), new AnnotationData(3605, 38, 2), new AnnotationData(17498, 37, 0), |
| new AnnotationData(10975, 218, 1), new AnnotationData(2965, 10, 2), new AnnotationData(18540, 16, 1), new AnnotationData(6038, 329, 1), new AnnotationData(6993, 90, 0), |
| new AnnotationData(6764, 259, 0), new AnnotationData(6006, 271, 0), new AnnotationData(11150, 21, 2), new AnnotationData(4290, 2, 2), new AnnotationData(14409, 70, 0), |
| new AnnotationData(16235, 115, 0), new AnnotationData(11806, 73, 2), new AnnotationData(12756, 196, 1), new AnnotationData(13812, 298, 0), new AnnotationData(13988, 3, 1), |
| new AnnotationData(3563, 340, 2), new AnnotationData(8846, 91, 0), new AnnotationData(12761, 223, 0), new AnnotationData(18922, 74, 1), new AnnotationData(10392, 239, 1), |
| new AnnotationData(10022, 259, 0), new AnnotationData(12405, 106, 0), new AnnotationData(14903, 156, 1), new AnnotationData(7025, 100, 0), new AnnotationData(6695, 91, 1), |
| new AnnotationData(16475, 160, 2), new AnnotationData(3385, 58, 1), new AnnotationData(14617, 298, 2), new AnnotationData(3306, 277, 2), new AnnotationData(19950, 114, 1), |
| new AnnotationData(19146, 155, 2), new AnnotationData(11723, 270, 1), new AnnotationData(1399, 289, 0), new AnnotationData(13509, 326, 2), new AnnotationData(9680, 130, 1), |
| new AnnotationData(18714, 213, 2), new AnnotationData(15486, 91, 1), new AnnotationData(14865, 302, 2), new AnnotationData(18573, 225, 1), new AnnotationData(20630, 66, 2), |
| new AnnotationData(20088, 265, 2), new AnnotationData(16020, 321, 2), new AnnotationData(20154, 124, 2), new AnnotationData(7117, 42, 1), new AnnotationData(9014, 199, 2), |
| new AnnotationData(6123, 249, 2), new AnnotationData(6344, 323, 1), new AnnotationData(15013, 206, 2), new AnnotationData(1807, 275, 1), new AnnotationData(57, 86, 1), |
| new AnnotationData(17569, 323, 0), new AnnotationData(15800, 255, 1), new AnnotationData(4574, 284, 1), new AnnotationData(12061, 236, 1), new AnnotationData(15026, 342, 0), |
| new AnnotationData(13539, 25, 0), new AnnotationData(6193, 313, 1), new AnnotationData(5976, 170, 1), new AnnotationData(2498, 95, 0), new AnnotationData(9585, 258, 1), |
| new AnnotationData(17557, 23, 0), new AnnotationData(1055, 116, 2), new AnnotationData(9305, 307, 1), new AnnotationData(3352, 185, 0), new AnnotationData(506, 143, 1), |
| new AnnotationData(11455, 226, 1), new AnnotationData(903, 196, 2), new AnnotationData(7310, 84, 0), new AnnotationData(9677, 126, 2), new AnnotationData(12557, 167, 2), |
| new AnnotationData(15338, 27, 1), new AnnotationData(15884, 215, 1), new AnnotationData(7942, 340, 2), new AnnotationData(19590, 251, 2), new AnnotationData(3370, 174, 1), |
| new AnnotationData(14622, 315, 0), new AnnotationData(4790, 265, 1), new AnnotationData(16442, 61, 1), new AnnotationData(10425, 279, 1), new AnnotationData(5193, 219, 1), |
| new AnnotationData(5952, 152, 1), new AnnotationData(2685, 272, 0), new AnnotationData(8373, 33, 2), new AnnotationData(5624, 102, 0), new AnnotationData(17427, 221, 2), |
| new AnnotationData(17151, 331, 2), new AnnotationData(10206, 41, 0), new AnnotationData(17622, 232, 0), new AnnotationData(6605, 131, 1), new AnnotationData(14329, 146, 0), |
| new AnnotationData(11144, 80, 2), new AnnotationData(9455, 103, 0), new AnnotationData(18051, 163, 0), new AnnotationData(5087, 328, 2), new AnnotationData(18506, 116, 1), |
| new AnnotationData(12746, 192, 2), new AnnotationData(13550, 17, 1), new AnnotationData(11022, 39, 1), new AnnotationData(10260, 181, 0), new AnnotationData(18305, 244, 2), |
| new AnnotationData(13407, 348, 0), new AnnotationData(6499, 194, 0), new AnnotationData(11320, 164, 1), new AnnotationData(2114, 135, 1), new AnnotationData(5810, 49, 0), |
| new AnnotationData(18224, 331, 2), new AnnotationData(16850, 172, 1), new AnnotationData(9429, 128, 1), new AnnotationData(8544, 322, 1), new AnnotationData(20207, 54, 2), |
| new AnnotationData(238, 235, 0), new AnnotationData(18490, 242, 2), new AnnotationData(16299, 268, 1), new AnnotationData(3114, 169, 2), new AnnotationData(12041, 150, 2), |
| new AnnotationData(8067, 66, 1), new AnnotationData(16573, 319, 0), new AnnotationData(11436, 81, 0), new AnnotationData(2366, 141, 1), new AnnotationData(10587, 202, 0), |
| new AnnotationData(4877, 125, 2), new AnnotationData(1337, 13, 1), new AnnotationData(10858, 120, 1), new AnnotationData(18017, 194, 1), new AnnotationData(1679, 17, 1), |
| new AnnotationData(10894, 24, 2), new AnnotationData(2270, 178, 1), new AnnotationData(20328, 328, 0), new AnnotationData(12282, 129, 1), new AnnotationData(2674, 168, 2), |
| new AnnotationData(20408, 134, 2), new AnnotationData(9761, 223, 1), new AnnotationData(12424, 212, 2), new AnnotationData(706, 341, 0), new AnnotationData(137, 30, 0), |
| new AnnotationData(11207, 31, 2), new AnnotationData(20090, 289, 1), new AnnotationData(6950, 100, 0), new AnnotationData(5093, 75, 2), new AnnotationData(12545, 236, 2), |
| new AnnotationData(15886, 43, 1), new AnnotationData(18070, 49, 1), new AnnotationData(20155, 11, 1), new AnnotationData(7477, 19, 2), new AnnotationData(610, 69, 1), |
| new AnnotationData(14056, 148, 1), new AnnotationData(476, 217, 2), new AnnotationData(14189, 143, 1), new AnnotationData(3222, 145, 0), new AnnotationData(8499, 325, 1), |
| new AnnotationData(7854, 170, 1), new AnnotationData(15178, 252, 1), new AnnotationData(11936, 318, 0), new AnnotationData(12138, 209, 2), new AnnotationData(10594, 128, 1), |
| new AnnotationData(15703, 223, 1), new AnnotationData(12733, 274, 2), new AnnotationData(20437, 156, 1), new AnnotationData(7673, 317, 1), new AnnotationData(1282, 136, 2), |
| new AnnotationData(20538, 108, 0), new AnnotationData(19384, 218, 2), new AnnotationData(7701, 72, 1), new AnnotationData(8225, 38, 0), new AnnotationData(15373, 170, 1), |
| new AnnotationData(177, 155, 0), new AnnotationData(17321, 261, 0), new AnnotationData(13051, 261, 2), new AnnotationData(16184, 203, 2), new AnnotationData(7109, 200, 0), |
| new AnnotationData(625, 326, 2), new AnnotationData(12610, 126, 1), new AnnotationData(4659, 223, 1), new AnnotationData(1032, 168, 0), new AnnotationData(18393, 145, 2), |
| new AnnotationData(14825, 107, 2), new AnnotationData(4093, 289, 1), new AnnotationData(140, 150, 0), new AnnotationData(6426, 99, 1), new AnnotationData(3685, 186, 0), |
| new AnnotationData(5423, 121, 0), new AnnotationData(1399, 140, 2), new AnnotationData(20619, 190, 2), new AnnotationData(8850, 232, 0), new AnnotationData(6516, 170, 1), |
| new AnnotationData(11227, 133, 1), new AnnotationData(13300, 25, 0), new AnnotationData(14280, 337, 1), new AnnotationData(6748, 142, 1), new AnnotationData(1768, 114, 0), |
| new AnnotationData(8514, 322, 2), new AnnotationData(3284, 212, 1), new AnnotationData(9113, 326, 1), new AnnotationData(4408, 343, 2), new AnnotationData(17098, 187, 1), |
| new AnnotationData(793, 179, 0), new AnnotationData(6599, 296, 0), new AnnotationData(9524, 65, 2), new AnnotationData(12288, 336, 0), new AnnotationData(18500, 48, 0), |
| new AnnotationData(3819, 264, 0), new AnnotationData(3567, 35, 2), new AnnotationData(20119, 121, 1), new AnnotationData(20082, 308, 1), new AnnotationData(2130, 124, 0), |
| new AnnotationData(8278, 271, 0), new AnnotationData(2307, 8, 0), new AnnotationData(8676, 312, 1), new AnnotationData(15894, 312, 2), new AnnotationData(12017, 194, 1), |
| new AnnotationData(1938, 202, 2), new AnnotationData(9054, 340, 0), new AnnotationData(4472, 179, 0), new AnnotationData(15253, 70, 0), new AnnotationData(184, 173, 1), |
| new AnnotationData(11870, 337, 1), new AnnotationData(479, 293, 1), new AnnotationData(5927, 104, 2), new AnnotationData(8316, 237, 1), new AnnotationData(6787, 46, 1), |
| new AnnotationData(14727, 68, 2), new AnnotationData(2547, 134, 1), new AnnotationData(9609, 79, 0), new AnnotationData(8500, 117, 1), new AnnotationData(8768, 4, 2), |
| new AnnotationData(9365, 68, 1), new AnnotationData(2377, 129, 0), new AnnotationData(19153, 147, 2), new AnnotationData(2739, 104, 0), new AnnotationData(11088, 237, 2), |
| new AnnotationData(731, 96, 2), new AnnotationData(14406, 334, 0), new AnnotationData(4525, 109, 1), new AnnotationData(20213, 202, 0), new AnnotationData(16889, 40, 0), |
| new AnnotationData(16698, 275, 2), new AnnotationData(14688, 193, 2), new AnnotationData(5702, 41, 0), new AnnotationData(7150, 192, 2), new AnnotationData(19368, 333, 2), |
| new AnnotationData(18078, 17, 2), new AnnotationData(11240, 67, 2), new AnnotationData(4559, 110, 1), new AnnotationData(16377, 177, 1), new AnnotationData(20203, 122, 1), |
| new AnnotationData(18778, 261, 1), new AnnotationData(1570, 152, 2), new AnnotationData(16818, 57, 0), new AnnotationData(7301, 335, 1), new AnnotationData(9455, 196, 0), |
| new AnnotationData(7679, 166, 0), new AnnotationData(262, 165, 2), new AnnotationData(7004, 0, 2), new AnnotationData(14291, 281, 2), new AnnotationData(7351, 98, 0), |
| new AnnotationData(15261, 324, 2), new AnnotationData(19187, 225, 0), new AnnotationData(8944, 123, 0), new AnnotationData(14867, 214, 1), new AnnotationData(4996, 218, 2), |
| new AnnotationData(15585, 182, 2), new AnnotationData(8042, 23, 0), new AnnotationData(10712, 80, 2), new AnnotationData(9166, 287, 1), new AnnotationData(7388, 114, 1), |
| new AnnotationData(5745, 274, 0), new AnnotationData(2159, 61, 2), new AnnotationData(252, 213, 1), new AnnotationData(3289, 119, 2), new AnnotationData(17838, 30, 1), |
| new AnnotationData(19984, 332, 2), new AnnotationData(12651, 231, 0), new AnnotationData(19455, 172, 1), new AnnotationData(14104, 87, 1), new AnnotationData(13722, 106, 1), |
| new AnnotationData(2758, 131, 1), new AnnotationData(9092, 260, 0), new AnnotationData(15945, 294, 2), new AnnotationData(10977, 60, 1), new AnnotationData(7236, 331, 0), |
| new AnnotationData(4000, 129, 0), new AnnotationData(11, 15, 2), new AnnotationData(13010, 33, 2), new AnnotationData(17772, 98, 1), new AnnotationData(17987, 184, 0), |
| new AnnotationData(18725, 18, 2), new AnnotationData(17933, 239, 2), new AnnotationData(15105, 282, 2), new AnnotationData(2921, 141, 1), new AnnotationData(16003, 344, 2), |
| new AnnotationData(10027, 268, 1), new AnnotationData(17635, 50, 1), new AnnotationData(8332, 348, 0), new AnnotationData(8682, 84, 0), new AnnotationData(5491, 323, 0), |
| new AnnotationData(12156, 39, 1), new AnnotationData(16020, 258, 2), new AnnotationData(12387, 285, 0), new AnnotationData(2672, 172, 2), new AnnotationData(832, 314, 0), |
| new AnnotationData(10665, 296, 2), new AnnotationData(2989, 35, 0), new AnnotationData(15566, 76, 1), new AnnotationData(6284, 319, 2), new AnnotationData(13509, 127, 0), |
| new AnnotationData(10872, 190, 2), new AnnotationData(5336, 98, 1), new AnnotationData(12384, 183, 0), new AnnotationData(9889, 199, 1), new AnnotationData(165, 55, 1), |
| new AnnotationData(3083, 260, 0), new AnnotationData(15205, 72, 0), new AnnotationData(2223, 220, 0), new AnnotationData(16808, 3, 1), new AnnotationData(17064, 7, 1), |
| new AnnotationData(12484, 297, 2), new AnnotationData(13585, 171, 0), new AnnotationData(19371, 296, 1), new AnnotationData(13535, 162, 0), new AnnotationData(20129, 86, 1), |
| new AnnotationData(8253, 337, 1), new AnnotationData(17790, 43, 1), new AnnotationData(6749, 23, 0), new AnnotationData(17260, 187, 2), new AnnotationData(6963, 100, 1), |
| new AnnotationData(8443, 179, 1), new AnnotationData(2420, 221, 2), new AnnotationData(6445, 52, 1), new AnnotationData(19790, 13, 2), new AnnotationData(7262, 17, 1), |
| new AnnotationData(17724, 260, 2), new AnnotationData(15153, 222, 2), new AnnotationData(16029, 268, 0), new AnnotationData(1328, 85, 2), new AnnotationData(18142, 270, 2), |
| new AnnotationData(3654, 338, 0), new AnnotationData(5491, 75, 2), new AnnotationData(4952, 169, 2), new AnnotationData(17864, 186, 1), new AnnotationData(12239, 281, 1), |
| new AnnotationData(4033, 21, 1), new AnnotationData(5345, 35, 1), new AnnotationData(4237, 4, 0), new AnnotationData(2799, 143, 1), new AnnotationData(897, 341, 0), |
| new AnnotationData(17410, 200, 2), new AnnotationData(6657, 203, 0), new AnnotationData(14231, 106, 1), new AnnotationData(11190, 113, 1), new AnnotationData(12474, 280, 2), |
| new AnnotationData(17703, 58, 0), new AnnotationData(19309, 287, 2), new AnnotationData(18632, 52, 2), new AnnotationData(12928, 269, 2), new AnnotationData(12541, 10, 1), |
| new AnnotationData(5523, 114, 1), new AnnotationData(14980, 100, 0), new AnnotationData(10902, 120, 1), new AnnotationData(13145, 36, 1), new AnnotationData(20469, 147, 1), |
| new AnnotationData(2583, 160, 1), new AnnotationData(9702, 198, 1), new AnnotationData(8753, 96, 1), new AnnotationData(2854, 4, 0), new AnnotationData(3881, 185, 1), |
| new AnnotationData(17561, 181, 1), new AnnotationData(16071, 263, 1), new AnnotationData(14216, 31, 1), new AnnotationData(16287, 220, 1), new AnnotationData(1460, 305, 1), |
| new AnnotationData(11832, 135, 2), new AnnotationData(11757, 182, 1), new AnnotationData(15532, 174, 1), new AnnotationData(5245, 235, 1), new AnnotationData(20545, 165, 1), |
| new AnnotationData(12962, 97, 2), new AnnotationData(8406, 162, 0), new AnnotationData(17415, 204, 1), new AnnotationData(19411, 32, 2), new AnnotationData(8409, 152, 2), |
| new AnnotationData(13917, 333, 2), new AnnotationData(3441, 118, 2), new AnnotationData(14431, 217, 0), new AnnotationData(17039, 70, 1), new AnnotationData(11456, 168, 0), |
| new AnnotationData(17733, 291, 2), new AnnotationData(6774, 93, 2), new AnnotationData(13728, 189, 2), new AnnotationData(11746, 152, 0), new AnnotationData(3552, 54, 1), |
| new AnnotationData(17976, 183, 2), new AnnotationData(16536, 277, 2), new AnnotationData(4854, 73, 1), new AnnotationData(8640, 202, 0), new AnnotationData(11940, 330, 1), |
| new AnnotationData(17635, 289, 2), new AnnotationData(17542, 67, 0), new AnnotationData(9819, 27, 1), new AnnotationData(2256, 62, 2), new AnnotationData(5791, 215, 2), |
| new AnnotationData(14661, 29, 1), new AnnotationData(20548, 226, 1), new AnnotationData(13791, 106, 2), new AnnotationData(18771, 250, 1), new AnnotationData(11892, 131, 2), |
| new AnnotationData(16370, 164, 2), new AnnotationData(2820, 334, 2), new AnnotationData(5557, 114, 1), new AnnotationData(10162, 316, 2), new AnnotationData(4821, 26, 1), |
| new AnnotationData(4286, 185, 2), new AnnotationData(6799, 312, 2), new AnnotationData(17571, 319, 2), new AnnotationData(5922, 34, 2), new AnnotationData(15501, 17, 1), |
| new AnnotationData(6924, 320, 0), new AnnotationData(2706, 290, 1), new AnnotationData(4766, 345, 0), new AnnotationData(4641, 316, 1), new AnnotationData(17764, 236, 1), |
| new AnnotationData(7691, 12, 2), new AnnotationData(15270, 255, 1), new AnnotationData(19553, 203, 2), new AnnotationData(13605, 276, 1), new AnnotationData(20040, 206, 0), |
| new AnnotationData(16374, 248, 1), new AnnotationData(16599, 338, 2), new AnnotationData(17547, 13, 2), new AnnotationData(11015, 71, 1), new AnnotationData(1132, 15, 2), |
| new AnnotationData(8657, 328, 1), new AnnotationData(1405, 132, 0), new AnnotationData(12750, 116, 1), new AnnotationData(10263, 59, 1), new AnnotationData(9896, 252, 0), |
| new AnnotationData(20152, 256, 2), new AnnotationData(14356, 30, 1), new AnnotationData(9432, 250, 1), new AnnotationData(15794, 148, 0), new AnnotationData(9463, 40, 2), |
| new AnnotationData(648, 122, 0), new AnnotationData(12017, 27, 0), new AnnotationData(16437, 254, 2), new AnnotationData(2731, 321, 0), new AnnotationData(20421, 233, 1), |
| new AnnotationData(14631, 339, 2), new AnnotationData(8526, 11, 1), new AnnotationData(14868, 218, 2), new AnnotationData(9156, 74, 0), new AnnotationData(12710, 223, 0), |
| new AnnotationData(19298, 113, 0), new AnnotationData(13193, 87, 0), new AnnotationData(14232, 26, 0), new AnnotationData(2634, 52, 1), new AnnotationData(20401, 159, 0), |
| new AnnotationData(16666, 321, 1), new AnnotationData(10593, 261, 1), new AnnotationData(11861, 342, 1), new AnnotationData(17073, 194, 0), new AnnotationData(8159, 150, 0), |
| new AnnotationData(11131, 68, 1), new AnnotationData(7210, 135, 0), new AnnotationData(17912, 308, 2), new AnnotationData(18945, 244, 0), new AnnotationData(10681, 283, 1), |
| new AnnotationData(19913, 264, 2), new AnnotationData(17155, 260, 1), new AnnotationData(19260, 71, 2), new AnnotationData(3142, 137, 2), new AnnotationData(18468, 92, 1), |
| new AnnotationData(10397, 136, 2), new AnnotationData(10234, 218, 1), new AnnotationData(16817, 168, 2), new AnnotationData(17704, 3, 2), new AnnotationData(18710, 121, 2), |
| new AnnotationData(11879, 251, 0), new AnnotationData(15850, 325, 1), new AnnotationData(12972, 99, 1), new AnnotationData(9761, 42, 2), new AnnotationData(16226, 226, 1), |
| new AnnotationData(18423, 108, 1), new AnnotationData(11876, 160, 1), new AnnotationData(13820, 333, 2), new AnnotationData(14249, 297, 1), new AnnotationData(1297, 42, 1), |
| new AnnotationData(1747, 63, 0), new AnnotationData(14431, 18, 2), new AnnotationData(18157, 328, 1), new AnnotationData(11831, 197, 0), new AnnotationData(5009, 168, 1), |
| new AnnotationData(12542, 104, 1), new AnnotationData(13070, 316, 1), new AnnotationData(13173, 37, 1), new AnnotationData(13744, 136, 2), new AnnotationData(14964, 347, 0), |
| new AnnotationData(14231, 25, 0), new AnnotationData(11613, 55, 0), new AnnotationData(5279, 11, 1), new AnnotationData(15427, 332, 1), new AnnotationData(16100, 65, 1), |
| new AnnotationData(15250, 42, 2), new AnnotationData(5283, 197, 0), new AnnotationData(8046, 12, 0), new AnnotationData(484, 72, 1), new AnnotationData(18099, 163, 2), |
| new AnnotationData(15932, 51, 1), new AnnotationData(8315, 1, 2), new AnnotationData(19176, 233, 1), new AnnotationData(3104, 266, 1), new AnnotationData(19768, 244, 0), |
| new AnnotationData(5312, 308, 2), new AnnotationData(3354, 80, 1), new AnnotationData(7899, 278, 0), new AnnotationData(18072, 307, 2), new AnnotationData(18679, 170, 1), |
| new AnnotationData(9683, 11, 1), new AnnotationData(17851, 266, 0), new AnnotationData(12749, 115, 0), new AnnotationData(8662, 102, 1), new AnnotationData(19788, 246, 0), |
| new AnnotationData(16452, 184, 2), new AnnotationData(36, 103, 2), new AnnotationData(9297, 112, 1), new AnnotationData(7466, 63, 1), new AnnotationData(20640, 92, 2), |
| new AnnotationData(14706, 109, 0), new AnnotationData(18678, 185, 0), new AnnotationData(2621, 269, 1), new AnnotationData(11278, 195, 0), new AnnotationData(13695, 85, 1), |
| new AnnotationData(9969, 261, 2), new AnnotationData(16161, 184, 1), new AnnotationData(980, 252, 0), new AnnotationData(16875, 245, 0), new AnnotationData(9517, 125, 2), |
| new AnnotationData(3280, 232, 0), new AnnotationData(8474, 66, 2), new AnnotationData(4239, 217, 2), new AnnotationData(17830, 264, 1), new AnnotationData(13829, 215, 2), |
| new AnnotationData(9003, 36, 1), new AnnotationData(8964, 26, 0), new AnnotationData(18972, 39, 0), new AnnotationData(66, 234, 1), new AnnotationData(5314, 345, 0), |
| new AnnotationData(12207, 84, 0), new AnnotationData(6232, 4, 1), new AnnotationData(2422, 39, 0), new AnnotationData(17112, 15, 1), new AnnotationData(19809, 315, 1), |
| new AnnotationData(7343, 312, 2), new AnnotationData(6224, 134, 2), new AnnotationData(16788, 113, 1), new AnnotationData(9654, 334, 1), new AnnotationData(19611, 260, 1), |
| new AnnotationData(16241, 56, 1), new AnnotationData(8140, 267, 0), new AnnotationData(16417, 142, 0), new AnnotationData(16331, 194, 0), new AnnotationData(20352, 44, 2), |
| new AnnotationData(6477, 116, 1), new AnnotationData(11115, 228, 1), new AnnotationData(9387, 200, 2), new AnnotationData(18207, 141, 2), new AnnotationData(17578, 349, 0), |
| new AnnotationData(11019, 217, 1), new AnnotationData(9321, 317, 1) }; |
| |
| private static final class AnnotationData { |
| public final int offset; |
| public final int length; |
| public int annotationNumber; |
| |
| public Annotation annotation; |
| public Position position; |
| |
| public AnnotationData(int offset, int length, int annotationNumber) { |
| this.offset= offset; |
| this.length= length; |
| this.annotationNumber= annotationNumber; |
| } |
| } |
| |
| private Document fDocument; |
| private AnnotationModel fAnnotationModel; |
| private AnnotationModel fInnerModel1; |
| private AnnotationModel fInnerModel2; |
| |
| @Before |
| public void setUp() throws Exception { |
| fDocument= new Document(RANDOM_CONTENT); |
| |
| fAnnotationModel= new AnnotationModel(); |
| |
| fInnerModel1= new AnnotationModel(); |
| fAnnotationModel.addAnnotationModel("model1", fInnerModel1); |
| |
| fInnerModel2= new AnnotationModel(); |
| fAnnotationModel.addAnnotationModel("model2", fInnerModel2); |
| |
| fAnnotationModel.connect(fDocument); |
| } |
| |
| @After |
| public void tearDown() throws Exception { |
| fAnnotationModel.disconnect(fDocument); |
| |
| fDocument= null; |
| fAnnotationModel= null; |
| fInnerModel1= null; |
| fInnerModel2= null; |
| } |
| |
| private IAnnotationModel getModel(int number) { |
| switch (number) { |
| case 0: |
| return fAnnotationModel; |
| case 1: |
| return fInnerModel1; |
| case 2: |
| return fInnerModel2; |
| default: |
| break; |
| } |
| return null; |
| } |
| |
| private void assertRemove(ArrayList<AnnotationData> added) { |
| AnnotationData first= added.remove(0); |
| IAnnotationModel model= getModel(first.annotationNumber); |
| assertTrue(model.getPosition(first.annotation) == first.position); |
| |
| model.removeAnnotation(first.annotation); |
| assertTrue(model.getPosition(first.annotation) == null); |
| } |
| |
| private void assertAdd(AnnotationData data, ArrayList<AnnotationData> added) { |
| Annotation annotation= new Annotation(false); |
| Position position= new Position(data.offset, data.length); |
| IAnnotationModel model= getModel(data.annotationNumber); |
| |
| model.addAnnotation(annotation, position); |
| assertTrue(model.getPosition(annotation) == position); |
| |
| data.annotation= annotation; |
| data.position= position; |
| |
| added.add(data); |
| } |
| |
| private void assertExist(ArrayList<AnnotationData> added) { |
| for (int i= 0, size= added.size(); i < size; i++) { |
| AnnotationData data= added.get(i); |
| IAnnotationModel model= getModel(data.annotationNumber); |
| assertTrue(model.getPosition(data.annotation) == data.position); |
| } |
| |
| ArrayList<Annotation> annotations= getAllAnnotations(); |
| assertEquals(added.size(), annotations.size()); |
| |
| for (int i= 0, size= annotations.size(); i < size; i++) { |
| Annotation annotation= annotations.get(i); |
| |
| AnnotationData data= getAnnotationData(added, annotation); |
| assertNotNull(data); |
| |
| assertTrue(fAnnotationModel.getPosition(annotation) == data.position); |
| } |
| } |
| |
| private void assertExistNew(ArrayList<AnnotationData> added) { |
| for (int i= 0, size= added.size(); i < size; i++) { |
| AnnotationData data= added.get(i); |
| IAnnotationModel model= getModel(data.annotationNumber); |
| assertTrue(model.getPosition(data.annotation) == data.position); |
| } |
| |
| ArrayList<Annotation> annotations= getAllAnnotationsNew(); |
| assertEquals(added.size(), annotations.size()); |
| |
| for (int i= 0, size= annotations.size(); i < size; i++) { |
| Annotation annotation= annotations.get(i); |
| |
| AnnotationData data= getAnnotationData(added, annotation); |
| assertNotNull(data); |
| |
| assertTrue(fAnnotationModel.getPosition(annotation) == data.position); |
| } |
| } |
| |
| private AnnotationData getAnnotationData(ArrayList<AnnotationData> datas, Annotation annotation) { |
| for (int i= 0, size= datas.size(); i < size; i++) { |
| AnnotationData data= datas.get(i); |
| if (data.annotation == annotation) |
| return data; |
| } |
| return null; |
| } |
| |
| private ArrayList<Annotation> getAllAnnotations() { |
| ArrayList<Annotation> result= new ArrayList<>(); |
| |
| Iterator<Annotation> iterator= fAnnotationModel.getAnnotationIterator(); |
| while (iterator.hasNext()) { |
| result.add(iterator.next()); |
| } |
| |
| return result; |
| } |
| |
| private ArrayList<Annotation> getAllAnnotationsNew() { |
| ArrayList<Annotation> result= new ArrayList<>(); |
| |
| Iterator<Annotation> iterator= fAnnotationModel.getAnnotationIterator(0, fDocument.getLength(), true, true); |
| while (iterator.hasNext()) { |
| result.add(iterator.next()); |
| } |
| |
| return result; |
| } |
| |
| @Test |
| public void testStressTestPlainOld() throws Exception { |
| ArrayList<AnnotationData> added= new ArrayList<>(); |
| int i= 0; |
| while (i < 20) { |
| AnnotationData data= RANDOM_ANNOTATIONS[i]; |
| assertAdd(data, added); |
| |
| assertExist(added); |
| |
| i++; |
| } |
| |
| while (i < RANDOM_ANNOTATIONS.length) { |
| |
| assertRemove(added); |
| |
| AnnotationData data= RANDOM_ANNOTATIONS[i]; |
| assertAdd(data, added); |
| |
| assertExist(added); |
| |
| i++; |
| } |
| |
| while (added.size() > 0) { |
| assertRemove(added); |
| assertExist(added); |
| } |
| } |
| |
| @Test |
| public void testStressTestPlainNew() throws Exception { |
| ArrayList<AnnotationData> added= new ArrayList<>(); |
| int i= 0; |
| while (i < 20) { |
| AnnotationData data= RANDOM_ANNOTATIONS[i]; |
| assertAdd(data, added); |
| |
| assertExistNew(added); |
| |
| i++; |
| } |
| |
| while (i < RANDOM_ANNOTATIONS.length) { |
| |
| assertRemove(added); |
| |
| AnnotationData data= RANDOM_ANNOTATIONS[i]; |
| assertAdd(data, added); |
| |
| assertExistNew(added); |
| |
| i++; |
| } |
| |
| while (added.size() > 0) { |
| assertRemove(added); |
| assertExistNew(added); |
| } |
| } |
| |
| @Test |
| public void testStressTestMoveOld() throws Exception { |
| ArrayList<AnnotationData> added= new ArrayList<>(); |
| int i= 0; |
| while (i < 20) { |
| AnnotationData data= RANDOM_ANNOTATIONS[i]; |
| assertAdd(data, added); |
| |
| assertExist(added); |
| |
| i++; |
| } |
| |
| Random ran= new Random(4711); |
| |
| while (i < RANDOM_ANNOTATIONS.length) { |
| |
| assertRemove(added); |
| |
| fDocument.replace(ran.nextInt(fDocument.getLength() - 1), 0, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); |
| |
| AnnotationData data= RANDOM_ANNOTATIONS[i]; |
| assertAdd(data, added); |
| |
| assertExist(added); |
| |
| i++; |
| } |
| |
| while (added.size() > 0) { |
| assertRemove(added); |
| assertExist(added); |
| } |
| } |
| |
| @Test |
| public void testStressTestMoveNew() throws Exception { |
| ArrayList<AnnotationData> added= new ArrayList<>(); |
| int i= 0; |
| while (i < 20) { |
| AnnotationData data= RANDOM_ANNOTATIONS[i]; |
| assertAdd(data, added); |
| |
| assertExistNew(added); |
| |
| i++; |
| } |
| |
| Random ran= new Random(4711); |
| |
| while (i < RANDOM_ANNOTATIONS.length) { |
| |
| assertRemove(added); |
| |
| fDocument.replace(ran.nextInt(fDocument.getLength() - 1), 0, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); |
| |
| AnnotationData data= RANDOM_ANNOTATIONS[i]; |
| assertAdd(data, added); |
| |
| assertExistNew(added); |
| |
| i++; |
| } |
| |
| while (added.size() > 0) { |
| assertRemove(added); |
| assertExist(added); |
| } |
| } |
| |
| } |