summaryrefslogtreecommitdiff
path: root/vendor/github.com/yuin/goldmark/util
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/yuin/goldmark/util')
-rw-r--r--vendor/github.com/yuin/goldmark/util/html5entities.gen.go9
-rw-r--r--vendor/github.com/yuin/goldmark/util/html5entities.go47
-rw-r--r--vendor/github.com/yuin/goldmark/util/unicode_case_folding.gen.go6
-rw-r--r--vendor/github.com/yuin/goldmark/util/unicode_case_folding.go17
-rw-r--r--vendor/github.com/yuin/goldmark/util/util.go1044
-rw-r--r--vendor/github.com/yuin/goldmark/util/util_cjk.go469
-rw-r--r--vendor/github.com/yuin/goldmark/util/util_safe.go14
-rw-r--r--vendor/github.com/yuin/goldmark/util/util_unsafe_go120.go24
-rw-r--r--vendor/github.com/yuin/goldmark/util/util_unsafe_go121.go18
9 files changed, 0 insertions, 1648 deletions
diff --git a/vendor/github.com/yuin/goldmark/util/html5entities.gen.go b/vendor/github.com/yuin/goldmark/util/html5entities.gen.go
deleted file mode 100644
index 631a59a8a..000000000
--- a/vendor/github.com/yuin/goldmark/util/html5entities.gen.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// Code generated by _tools; DO NOT EDIT.
-package util
-const _html5entitiesLength = 2124
-const _html5entitiesName string = "AEligAMPAacuteAcircAcyAfrAgraveAlphaAmacrAndAogonAopfApplyFunctionAringAscrAssignAtildeAumlBackslashBarvBarwedBcyBecauseBernoullisBetaBfrBopfBreveBscrBumpeqCHcyCOPYCacuteCapCapitalDifferentialDCayleysCcaronCcedilCcircCconintCdotCedillaCenterDotCfrChiCircleDotCircleMinusCirclePlusCircleTimesClockwiseContourIntegralCloseCurlyDoubleQuoteCloseCurlyQuoteColonColoneCongruentConintContourIntegralCopfCoproductCounterClockwiseContourIntegralCrossCscrCupCupCapDDDDotrahdDJcyDScyDZcyDaggerDarrDashvDcaronDcyDelDeltaDfrDiacriticalAcuteDiacriticalDotDiacriticalDoubleAcuteDiacriticalGraveDiacriticalTildeDiamondDifferentialDDopfDotDotDotDotEqualDoubleContourIntegralDoubleDotDoubleDownArrowDoubleLeftArrowDoubleLeftRightArrowDoubleLeftTeeDoubleLongLeftArrowDoubleLongLeftRightArrowDoubleLongRightArrowDoubleRightArrowDoubleRightTeeDoubleUpArrowDoubleUpDownArrowDoubleVerticalBarDownArrowDownArrowBarDownArrowUpArrowDownBreveDownLeftRightVectorDownLeftTeeVectorDownLeftVectorDownLeftVectorBarDownRightTeeVectorDownRightVectorDownRightVectorBarDownTeeDownTeeArrowDownarrowDscrDstrokENGETHEacuteEcaronEcircEcyEdotEfrEgraveElementEmacrEmptySmallSquareEmptyVerySmallSquareEogonEopfEpsilonEqualEqualTildeEquilibriumEscrEsimEtaEumlExistsExponentialEFcyFfrFilledSmallSquareFilledVerySmallSquareFopfForAllFouriertrfFscrGJcyGTGammaGammadGbreveGcedilGcircGcyGdotGfrGgGopfGreaterEqualGreaterEqualLessGreaterFullEqualGreaterGreaterGreaterLessGreaterSlantEqualGreaterTildeGscrGtHARDcyHacekHatHcircHfrHilbertSpaceHopfHorizontalLineHscrHstrokHumpDownHumpHumpEqualIEcyIJligIOcyIacuteIcircIcyIdotIfrIgraveImImacrImaginaryIImpliesIntIntegralIntersectionInvisibleCommaInvisibleTimesIogonIopfIotaIscrItildeIukcyIumlJcircJcyJfrJopfJscrJsercyJukcyKHcyKJcyKappaKcedilKcyKfrKopfKscrLJcyLTLacuteLambdaLangLaplacetrfLarrLcaronLcedilLcyLeftAngleBracketLeftArrowLeftArrowBarLeftArrowRightArrowLeftCeilingLeftDoubleBracketLeftDownTeeVectorLeftDownVectorLeftDownVectorBarLeftFloorLeftRightArrowLeftRightVectorLeftTeeLeftTeeArrowLeftTeeVectorLeftTriangleLeftTriangleBarLeftTriangleEqualLeftUpDownVectorLeftUpTeeVectorLeftUpVectorLeftUpVectorBarLeftVectorLeftVectorBarLeftarrowLeftrightarrowLessEqualGreaterLessFullEqualLessGreaterLessLessLessSlantEqualLessTildeLfrLlLleftarrowLmidotLongLeftArrowLongLeftRightArrowLongRightArrowLongleftarrowLongleftrightarrowLongrightarrowLopfLowerLeftArrowLowerRightArrowLscrLshLstrokLtMapMcyMediumSpaceMellintrfMfrMinusPlusMopfMscrMuNJcyNacuteNcaronNcedilNcyNegativeMediumSpaceNegativeThickSpaceNegativeThinSpaceNegativeVeryThinSpaceNestedGreaterGreaterNestedLessLessNewLineNfrNoBreakNonBreakingSpaceNopfNotNotCongruentNotCupCapNotDoubleVerticalBarNotElementNotEqualNotEqualTildeNotExistsNotGreaterNotGreaterEqualNotGreaterFullEqualNotGreaterGreaterNotGreaterLessNotGreaterSlantEqualNotGreaterTildeNotHumpDownHumpNotHumpEqualNotLeftTriangleNotLeftTriangleBarNotLeftTriangleEqualNotLessNotLessEqualNotLessGreaterNotLessLessNotLessSlantEqualNotLessTildeNotNestedGreaterGreaterNotNestedLessLessNotPrecedesNotPrecedesEqualNotPrecedesSlantEqualNotReverseElementNotRightTriangleNotRightTriangleBarNotRightTriangleEqualNotSquareSubsetNotSquareSubsetEqualNotSquareSupersetNotSquareSupersetEqualNotSubsetNotSubsetEqualNotSucceedsNotSucceedsEqualNotSucceedsSlantEqualNotSucceedsTildeNotSupersetNotSupersetEqualNotTildeNotTildeEqualNotTildeFullEqualNotTildeTildeNotVerticalBarNscrNtildeNuOEligOacuteOcircOcyOdblacOfrOgraveOmacrOmegaOmicronOopfOpenCurlyDoubleQuoteOpenCurlyQuoteOrOscrOslashOtildeOtimesOumlOverBarOverBraceOverBracketOverParenthesisPartialDPcyPfrPhiPiPlusMinusPoincareplanePopfPrPrecedesPrecedesEqualPrecedesSlantEqualPrecedesTildePrimeProductProportionProportionalPscrPsiQUOTQfrQopfQscrRBarrREGRacuteRangRarrRarrtlRcaronRcedilRcyReReverseElementReverseEquilibriumReverseUpEquilibriumRfrRhoRightAngleBracketRightArrowRightArrowBarRightArrowLeftArrowRightCeilingRightDoubleBracketRightDownTeeVectorRightDownVectorRightDownVectorBarRightFloorRightTeeRightTeeArrowRightTeeVectorRightTriangleRightTriangleBarRightTriangleEqualRightUpDownVectorRightUpTeeVectorRightUpVectorRightUpVectorBarRightVectorRightVectorBarRightarrowRopfRoundImpliesRrightarrowRscrRshRuleDelayedSHCHcySHcySOFTcySacuteScScaronScedilScircScySfrShortDownArrowShortLeftArrowShortRightArrowShortUpArrowSigmaSmallCircleSopfSqrtSquareSquareIntersectionSquareSubsetSquareSubsetEqualSquareSupersetSquareSupersetEqualSquareUnionSscrStarSubSubsetSubsetEqualSucceedsSucceedsEqualSucceedsSlantEqualSucceedsTildeSuchThatSumSupSupersetSupersetEqualSupsetTHORNTRADETSHcyTScyTabTauTcaronTcedilTcyTfrThereforeThetaThickSpaceThinSpaceTildeTildeEqualTildeFullEqualTildeTildeTopfTripleDotTscrTstrokUacuteUarrUarrocirUbrcyUbreveUcircUcyUdblacUfrUgraveUmacrUnderBarUnderBraceUnderBracketUnderParenthesisUnionUnionPlusUogonUopfUpArrowUpArrowBarUpArrowDownArrowUpDownArrowUpEquilibriumUpTeeUpTeeArrowUparrowUpdownarrowUpperLeftArrowUpperRightArrowUpsiUpsilonUringUscrUtildeUumlVDashVbarVcyVdashVdashlVeeVerbarVertVerticalBarVerticalLineVerticalSeparatorVerticalTildeVeryThinSpaceVfrVopfVscrVvdashWcircWedgeWfrWopfWscrXfrXiXopfXscrYAcyYIcyYUcyYacuteYcircYcyYfrYopfYscrYumlZHcyZacuteZcaronZcyZdotZeroWidthSpaceZetaZfrZopfZscraacuteabreveacacEacdacircacuteacyaeligafafragravealefsymalephalphaamacramalgampandandandanddandslopeandvangangeangleangmsdangmsdaaangmsdabangmsdacangmsdadangmsdaeangmsdafangmsdagangmsdahangrtangrtvbangrtvbdangsphangstangzarraogonaopfapapEapacirapeapidaposapproxapproxeqaringascrastasympasympeqatildeaumlawconintawintbNotbackcongbackepsilonbackprimebacksimbacksimeqbarveebarwedbarwedgebbrkbbrktbrkbcongbcybdquobecausbecausebemptyvbepsibernoubetabethbetweenbfrbigcapbigcircbigcupbigodotbigoplusbigotimesbigsqcupbigstarbigtriangledownbigtriangleupbiguplusbigveebigwedgebkarowblacklozengeblacksquareblacktriangleblacktriangledownblacktriangleleftblacktrianglerightblankblk12blk14blk34blockbnebnequivbnotbopfbotbottombowtieboxDLboxDRboxDlboxDrboxHboxHDboxHUboxHdboxHuboxULboxURboxUlboxUrboxVboxVHboxVLboxVRboxVhboxVlboxVrboxboxboxdLboxdRboxdlboxdrboxhboxhDboxhUboxhdboxhuboxminusboxplusboxtimesboxuLboxuRboxulboxurboxvboxvHboxvLboxvRboxvhboxvlboxvrbprimebrevebrvbarbscrbsemibsimbsimebsolbsolbbsolhsubbullbulletbumpbumpEbumpebumpeqcacutecapcapandcapbrcupcapcapcapcupcapdotcapscaretcaronccapsccaronccedilccircccupsccupssmcdotcedilcemptyvcentcenterdotcfrchcycheckcheckmarkchicircirEcirccirceqcirclearrowleftcirclearrowrightcircledRcircledScircledastcircledcirccircleddashcirecirfnintcirmidcirscirclubsclubsuitcoloncolonecoloneqcommacommatcompcompfncomplementcomplexescongcongdotconintcopfcoprodcopycopysrcrarrcrosscscrcsubcsubecsupcsupectdotcudarrlcudarrrcueprcuesccularrcularrpcupcupbrcapcupcapcupcupcupdotcuporcupscurarrcurarrmcurlyeqpreccurlyeqsucccurlyveecurlywedgecurrencurvearrowleftcurvearrowrightcuveecuwedcwconintcwintcylctydArrdHardaggerdalethdarrdashdashvdbkarowdblacdcarondcyddddaggerddarrddotseqdegdeltademptyvdfishtdfrdharldharrdiamdiamonddiamondsuitdiamsdiedigammadisindivdividedivideontimesdivonxdjcydlcorndlcropdollardopfdotdoteqdoteqdotdotminusdotplusdotsquaredoublebarwedgedownarrowdowndownarrowsdownharpoonleftdownharpoonrightdrbkarowdrcorndrcropdscrdscydsoldstrokdtdotdtridtrifduarrduhardwangledzcydzigrarreDDoteDoteacuteeasterecaronecirecircecolonecyedoteeefDotefregegraveegsegsdotelelintersellelselsdotemacremptyemptysetemptyvemspemsp13emsp14engenspeogoneopfepareparsleplusepsiepsilonepsiveqcirceqcoloneqsimeqslantgtreqslantlessequalsequestequivequivDDeqvparslerDoterarrescresdotesimetaetheumleuroexclexistexpectationexponentialefallingdotseqfcyfemaleffiligffligfflligffrfiligfjligflatflligfltnsfnoffopfforallforkforkvfpartintfrac12frac13frac14frac15frac16frac18frac23frac25frac34frac35frac38frac45frac56frac58frac78fraslfrownfscrgEgElgacutegammagammadgapgbrevegcircgcygdotgegelgeqgeqqgeqslantgesgesccgesdotgesdotogesdotolgeslgeslesgfrggggggimelgjcyglglEglagljgnEgnapgnapproxgnegneqgneqqgnsimgopfgravegscrgsimgsimegsimlgtgtccgtcirgtdotgtlPargtquestgtrapproxgtrarrgtrdotgtreqlessgtreqqlessgtrlessgtrsimgvertneqqgvnEhArrhairsphalfhamilthardcyharrharrcirharrwhbarhcircheartsheartsuithellipherconhfrhksearowhkswarowhoarrhomththookleftarrowhookrightarrowhopfhorbarhscrhslashhstrokhybullhypheniacuteicicircicyiecyiexcliffifrigraveiiiiiintiiintiinfiniiotaijligimacrimageimaglineimagpartimathimofimpedinincareinfininfintieinodotintintcalintegersintercalintlarhkintprodiocyiogoniopfiotaiprodiquestiscrisinisinEisindotisinsisinsvisinvititildeiukcyiumljcircjcyjfrjmathjopfjscrjsercyjukcykappakappavkcedilkcykfrkgreenkhcykjcykopfkscrlAarrlArrlAtaillBarrlElEglHarlacutelaemptyvlagranlambdalanglangdlanglelaplaquolarrlarrblarrbfslarrfslarrhklarrlplarrpllarrsimlarrtllatlataillatelateslbarrlbbrklbracelbracklbrkelbrksldlbrkslulcaronlcedillceillcublcyldcaldquoldquorldrdharldrusharldshleleftarrowleftarrowtailleftharpoondownleftharpoonupleftleftarrowsleftrightarrowleftrightarrowsleftrightharpoonsleftrightsquigarrowleftthreetimeslegleqleqqleqslantleslescclesdotlesdotolesdotorlesglesgeslessapproxlessdotlesseqgtrlesseqqgtrlessgtrlesssimlfishtlfloorlfrlglgElhardlharulharullhblkljcyllllarrllcornerllhardlltrilmidotlmoustlmoustachelnElnaplnapproxlnelneqlneqqlnsimloangloarrlobrklongleftarrowlongleftrightarrowlongmapstolongrightarrowlooparrowleftlooparrowrightloparlopflopluslotimeslowastlowbarlozlozengelozflparlparltlrarrlrcornerlrharlrhardlrmlrtrilsaquolscrlshlsimlsimelsimglsqblsquolsquorlstrokltltccltcirltdotlthreeltimesltlarrltquestltrParltriltrieltriflurdsharluruharlvertneqqlvnEmDDotmacrmalemaltmaltesemapmapstomapstodownmapstoleftmapstoupmarkermcommamcymdashmeasuredanglemfrmhomicromidmidastmidcirmiddotminusminusbminusdminusdumlcpmldrmnplusmodelsmopfmpmscrmstposmumultimapmumapnGgnGtnGtvnLeftarrownLeftrightarrownLlnLtnLtvnRightarrownVDashnVdashnablanacutenangnapnapEnapidnaposnapproxnaturnaturalnaturalsnbspnbumpnbumpencapncaronncedilncongncongdotncupncyndashneneArrnearhknearrnearrownedotnequivnesearnesimnexistnexistsnfrngEngengeqngeqqngeqslantngesngsimngtngtrnhArrnharrnhparninisnisdnivnjcynlArrnlEnlarrnldrnlenleftarrownleftrightarrownleqnleqqnleqslantnlesnlessnlsimnltnltrinltrienmidnopfnotnotinnotinEnotindotnotinvanotinvbnotinvcnotninotnivanotnivbnotnivcnparnparallelnparslnpartnpolintnprnprcuenprenprecnpreceqnrArrnrarrnrarrcnrarrwnrightarrownrtrinrtrienscnsccuenscenscrnshortmidnshortparallelnsimnsimensimeqnsmidnsparnsqsubensqsupensubnsubEnsubensubsetnsubseteqnsubseteqqnsuccnsucceqnsupnsupEnsupensupsetnsupseteqnsupseteqqntglntildentlgntriangleleftntrianglelefteqntrianglerightntrianglerighteqnunumnumeronumspnvDashnvHarrnvapnvdashnvgenvgtnvinfinnvlArrnvlenvltnvltrienvrArrnvrtrienvsimnwArrnwarhknwarrnwarrownwnearoSoacuteoastocirocircocyodashodblacodivodotodsoldoeligofcirofrogonograveogtohbarohmointolarrolcirolcrossolineoltomacromegaomicronomidominusoopfoparoperpoplusororarrordorderorderofordfordmorigoforororslopeorvoscroslashosolotildeotimesotimesasoumlovbarparparaparallelparsimparslpartpcypercntperiodpermilperppertenkpfrphiphivphmmatphonepipitchforkpivplanckplanckhplankvplusplusacirplusbpluscirplusdoplusdupluseplusmnplussimplustwopmpointintpopfpoundprprEprapprcuepreprecprecapproxpreccurlyeqpreceqprecnapproxprecneqqprecnsimprecsimprimeprimesprnEprnapprnsimprodprofalarproflineprofsurfpropproptoprsimprurelpscrpsipuncspqfrqintqopfqprimeqscrquaternionsquatintquestquesteqquotrAarrrArrrAtailrBarrrHarraceracuteradicraemptyvrangrangdrangerangleraquorarrrarraprarrbrarrbfsrarrcrarrfsrarrhkrarrlprarrplrarrsimrarrtlrarrwratailratiorationalsrbarrrbbrkrbracerbrackrbrkerbrksldrbrkslurcaronrcedilrceilrcubrcyrdcardldharrdquordquorrdshrealrealinerealpartrealsrectregrfishtrfloorrfrrhardrharurharulrhorhovrightarrowrightarrowtailrightharpoondownrightharpoonuprightleftarrowsrightleftharpoonsrightrightarrowsrightsquigarrowrightthreetimesringrisingdotseqrlarrrlharrlmrmoustrmoustachernmidroangroarrrobrkroparropfroplusrotimesrparrpargtrppolintrrarrrsaquorscrrshrsqbrsquorsquorrthreertimesrtrirtriertrifrtriltriruluharrxsacutesbquoscscEscapscaronsccuescescedilscircscnEscnapscnsimscpolintscsimscysdotsdotbsdoteseArrsearhksearrsearrowsectsemiseswarsetminussetmnsextsfrsfrownsharpshchcyshcyshortmidshortparallelshysigmasigmafsigmavsimsimdotsimesimeqsimgsimgEsimlsimlEsimnesimplussimrarrslarrsmallsetminussmashpsmeparslsmidsmilesmtsmtesmtessoftcysolsolbsolbarsopfspadesspadesuitsparsqcapsqcapssqcupsqcupssqsubsqsubesqsubsetsqsubseteqsqsupsqsupesqsupsetsqsupseteqsqusquaresquarfsqufsrarrsscrssetmnssmilesstarfstarstarfstraightepsilonstraightphistrnssubsubEsubdotsubesubedotsubmultsubnEsubnesubplussubrarrsubsetsubseteqsubseteqqsubsetneqsubsetneqqsubsimsubsubsubsupsuccsuccapproxsucccurlyeqsucceqsuccnapproxsuccneqqsuccnsimsuccsimsumsungsupsup1sup2sup3supEsupdotsupdsubsupesupedotsuphsolsuphsubsuplarrsupmultsupnEsupnesupplussupsetsupseteqsupseteqqsupsetneqsupsetneqqsupsimsupsubsupsupswArrswarhkswarrswarrowswnwarszligtargettautbrktcarontcediltcytdottelrectfrthere4thereforethetathetasymthetavthickapproxthicksimthinspthkapthksimthorntildetimestimesbtimesbartimesdtinttoeatoptopbottopcirtopftopforktosatprimetradetriangletriangledowntrianglelefttrianglelefteqtriangleqtrianglerighttrianglerighteqtridottrietriminustriplustrisbtritimetrpeziumtscrtscytshcytstroktwixttwoheadleftarrowtwoheadrightarrowuArruHaruacuteuarrubrcyubreveucircucyudarrudblacudharufishtufrugraveuharluharruhblkulcornulcornerulcropultriumacrumluogonuopfuparrowupdownarrowupharpoonleftupharpoonrightuplusupsiupsihupsilonupuparrowsurcornurcornerurcropuringurtriuscrutdotutildeutriutrifuuarruumluwanglevArrvBarvBarvvDashvangrtvarepsilonvarkappavarnothingvarphivarpivarproptovarrvarrhovarsigmavarsubsetneqvarsubsetneqqvarsupsetneqvarsupsetneqqvarthetavartriangleleftvartrianglerightvcyvdashveeveebarveeeqvellipverbarvertvfrvltrivnsubvnsupvopfvpropvrtrivscrvsubnEvsubnevsupnEvsupnevzigzagwcircwedbarwedgewedgeqweierpwfrwopfwpwrwreathwscrxcapxcircxcupxdtrixfrxhArrxharrxixlArrxlarrxmapxnisxodotxopfxoplusxotimexrArrxrarrxscrxsqcupxuplusxutrixveexwedgeyacuteyacyycircycyyenyfryicyyopfyscryucyyumlzacutezcaronzcyzdotzeetrfzetazfrzhcyzigrarrzopfzscrzwjzwnj"
-const _html5entitiesNameIndex = "\x05\x03\x06\x05\x03\x03\x06\x05\x05\x03\x05\x04\x0d\x05\x04\x06\x06\x04\x09\x04\x06\x03\x07\x0a\x04\x03\x04\x05\x04\x06\x04\x04\x06\x03\x14\x07\x06\x06\x05\x07\x04\x07\x09\x03\x03\x09\x0b\x0a\x0b\x18\x15\x0f\x05\x06\x09\x06\x0f\x04\x09\x1f\x05\x04\x03\x06\x02\x08\x04\x04\x04\x06\x04\x05\x06\x03\x03\x05\x03\x10\x0e\x16\x10\x10\x07\x0d\x04\x03\x06\x08\x15\x09\x0f\x0f\x14\x0d\x13\x18\x14\x10\x0e\x0d\x11\x11\x09\x0c\x10\x09\x13\x11\x0e\x11\x12\x0f\x12\x07\x0c\x09\x04\x06\x03\x03\x06\x06\x05\x03\x04\x03\x06\x07\x05\x10\x14\x05\x04\x07\x05\x0a\x0b\x04\x04\x03\x04\x06\x0c\x03\x03\x11\x15\x04\x06\x0a\x04\x04\x02\x05\x06\x06\x06\x05\x03\x04\x03\x02\x04\x0c\x10\x10\x0e\x0b\x11\x0c\x04\x02\x06\x05\x03\x05\x03\x0c\x04\x0e\x04\x06\x0c\x09\x04\x05\x04\x06\x05\x03\x04\x03\x06\x02\x05\x0a\x07\x03\x08\x0c\x0e\x0e\x05\x04\x04\x04\x06\x05\x04\x05\x03\x03\x04\x04\x06\x05\x04\x04\x05\x06\x03\x03\x04\x04\x04\x02\x06\x06\x04\x0a\x04\x06\x06\x03\x10\x09\x0c\x13\x0b\x11\x11\x0e\x11\x09\x0e\x0f\x07\x0c\x0d\x0c\x0f\x11\x10\x0f\x0c\x0f\x0a\x0d\x09\x0e\x10\x0d\x0b\x08\x0e\x09\x03\x02\x0a\x06\x0d\x12\x0e\x0d\x12\x0e\x04\x0e\x0f\x04\x03\x06\x02\x03\x03\x0b\x09\x03\x09\x04\x04\x02\x04\x06\x06\x06\x03\x13\x12\x11\x15\x14\x0e\x07\x03\x07\x10\x04\x03\x0c\x09\x14\x0a\x08\x0d\x09\x0a\x0f\x13\x11\x0e\x14\x0f\x0f\x0c\x0f\x12\x14\x07\x0c\x0e\x0b\x11\x0c\x17\x11\x0b\x10\x15\x11\x10\x13\x15\x0f\x14\x11\x16\x09\x0e\x0b\x10\x15\x10\x0b\x10\x08\x0d\x11\x0d\x0e\x04\x06\x02\x05\x06\x05\x03\x06\x03\x06\x05\x05\x07\x04\x14\x0e\x02\x04\x06\x06\x06\x04\x07\x09\x0b\x0f\x08\x03\x03\x03\x02\x09\x0d\x04\x02\x08\x0d\x12\x0d\x05\x07\x0a\x0c\x04\x03\x04\x03\x04\x04\x05\x03\x06\x04\x04\x06\x06\x06\x03\x02\x0e\x12\x14\x03\x03\x11\x0a\x0d\x13\x0c\x12\x12\x0f\x12\x0a\x08\x0d\x0e\x0d\x10\x12\x11\x10\x0d\x10\x0b\x0e\x0a\x04\x0c\x0b\x04\x03\x0b\x06\x04\x06\x06\x02\x06\x06\x05\x03\x03\x0e\x0e\x0f\x0c\x05\x0b\x04\x04\x06\x12\x0c\x11\x0e\x13\x0b\x04\x04\x03\x06\x0b\x08\x0d\x12\x0d\x08\x03\x03\x08\x0d\x06\x05\x05\x05\x04\x03\x03\x06\x06\x03\x03\x09\x05\x0a\x09\x05\x0a\x0e\x0a\x04\x09\x04\x06\x06\x04\x08\x05\x06\x05\x03\x06\x03\x06\x05\x08\x0a\x0c\x10\x05\x09\x05\x04\x07\x0a\x10\x0b\x0d\x05\x0a\x07\x0b\x0e\x0f\x04\x07\x05\x04\x06\x04\x05\x04\x03\x05\x06\x03\x06\x04\x0b\x0c\x11\x0d\x0d\x03\x04\x04\x06\x05\x05\x03\x04\x04\x03\x02\x04\x04\x04\x04\x04\x06\x05\x03\x03\x04\x04\x04\x04\x06\x06\x03\x04\x0e\x04\x03\x04\x04\x06\x06\x02\x03\x03\x05\x05\x03\x05\x02\x03\x06\x07\x05\x05\x05\x05\x03\x03\x06\x04\x08\x04\x03\x04\x05\x06\x08\x08\x08\x08\x08\x08\x08\x08\x05\x07\x08\x06\x05\x07\x05\x04\x02\x03\x06\x03\x04\x04\x06\x08\x05\x04\x03\x05\x07\x06\x04\x08\x05\x04\x08\x0b\x09\x07\x09\x06\x06\x08\x04\x08\x05\x03\x05\x06\x07\x07\x05\x06\x04\x04\x07\x03\x06\x07\x06\x07\x08\x09\x08\x07\x0f\x0d\x08\x06\x08\x06\x0c\x0b\x0d\x11\x11\x12\x05\x05\x05\x05\x05\x03\x07\x04\x04\x03\x06\x06\x05\x05\x05\x05\x04\x05\x05\x05\x05\x05\x05\x05\x05\x04\x05\x05\x05\x05\x05\x05\x06\x05\x05\x05\x05\x04\x05\x05\x05\x05\x08\x07\x08\x05\x05\x05\x05\x04\x05\x05\x05\x05\x05\x05\x06\x05\x06\x04\x05\x04\x05\x04\x05\x08\x04\x06\x04\x05\x05\x06\x06\x03\x06\x08\x06\x06\x06\x04\x05\x05\x05\x06\x06\x05\x05\x07\x04\x05\x07\x04\x09\x03\x04\x05\x09\x03\x03\x04\x04\x06\x0f\x10\x08\x08\x0a\x0b\x0b\x04\x08\x06\x07\x05\x08\x05\x06\x07\x05\x06\x04\x06\x0a\x09\x04\x07\x06\x04\x06\x04\x06\x05\x05\x04\x04\x05\x04\x05\x05\x07\x07\x05\x05\x06\x07\x03\x08\x06\x06\x06\x05\x04\x06\x07\x0b\x0b\x08\x0a\x06\x0e\x0f\x05\x05\x08\x05\x06\x04\x04\x06\x06\x04\x04\x05\x07\x05\x06\x03\x02\x07\x05\x07\x03\x05\x07\x06\x03\x05\x05\x04\x07\x0b\x05\x03\x07\x05\x03\x06\x0d\x06\x04\x06\x06\x06\x04\x03\x05\x08\x08\x07\x09\x0e\x09\x0e\x0f\x10\x08\x06\x06\x04\x04\x04\x06\x05\x04\x05\x05\x05\x07\x04\x08\x05\x04\x06\x06\x06\x04\x05\x06\x03\x04\x02\x05\x03\x02\x06\x03\x06\x02\x08\x03\x03\x06\x05\x05\x08\x06\x04\x06\x06\x03\x04\x05\x04\x04\x06\x05\x04\x07\x05\x06\x07\x05\x0a\x0b\x06\x06\x05\x07\x08\x05\x05\x04\x05\x04\x03\x03\x04\x04\x04\x05\x0b\x0c\x0d\x03\x06\x06\x05\x06\x03\x05\x05\x04\x05\x05\x04\x04\x06\x04\x05\x08\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x05\x05\x04\x02\x03\x06\x05\x06\x03\x06\x05\x03\x04\x02\x03\x03\x04\x08\x03\x05\x06\x07\x08\x04\x06\x03\x02\x03\x05\x04\x02\x03\x03\x03\x03\x04\x08\x03\x04\x05\x05\x04\x05\x04\x04\x05\x05\x02\x04\x05\x05\x06\x07\x09\x06\x06\x09\x0a\x07\x06\x09\x04\x04\x06\x04\x06\x06\x04\x07\x05\x04\x05\x06\x09\x06\x06\x03\x08\x08\x05\x06\x0d\x0e\x04\x06\x04\x06\x06\x06\x06\x06\x02\x05\x03\x04\x05\x03\x03\x06\x02\x06\x05\x06\x05\x05\x05\x05\x08\x08\x05\x04\x05\x02\x06\x05\x08\x06\x03\x06\x08\x08\x08\x07\x04\x05\x04\x04\x05\x06\x04\x04\x05\x07\x05\x06\x05\x02\x06\x05\x04\x05\x03\x03\x05\x04\x04\x06\x05\x05\x06\x06\x03\x03\x06\x04\x04\x04\x04\x05\x04\x06\x05\x02\x03\x04\x06\x08\x06\x06\x04\x05\x06\x03\x05\x04\x05\x07\x06\x06\x06\x06\x07\x06\x03\x06\x04\x05\x05\x05\x06\x06\x05\x07\x07\x06\x06\x05\x04\x03\x04\x05\x06\x07\x08\x04\x02\x09\x0d\x0f\x0d\x0e\x0e\x0f\x11\x13\x0e\x03\x03\x04\x08\x03\x05\x06\x07\x08\x04\x06\x0a\x07\x09\x0a\x07\x07\x06\x06\x03\x02\x03\x05\x05\x06\x05\x04\x02\x05\x08\x06\x05\x06\x06\x0a\x03\x04\x08\x03\x04\x05\x05\x05\x05\x05\x0d\x12\x0a\x0e\x0d\x0e\x05\x04\x06\x07\x06\x06\x03\x07\x04\x04\x06\x05\x08\x05\x06\x03\x05\x06\x04\x03\x04\x05\x05\x04\x05\x06\x06\x02\x04\x05\x05\x06\x06\x06\x07\x06\x04\x05\x05\x08\x07\x09\x04\x05\x04\x04\x04\x07\x03\x06\x0a\x0a\x08\x06\x06\x03\x05\x0d\x03\x03\x05\x03\x06\x06\x06\x05\x06\x06\x07\x04\x04\x06\x06\x04\x02\x04\x06\x02\x08\x05\x03\x03\x04\x0a\x0f\x03\x03\x04\x0b\x06\x06\x05\x06\x04\x03\x04\x05\x05\x07\x05\x07\x08\x04\x05\x06\x04\x06\x06\x05\x08\x04\x03\x05\x02\x05\x06\x05\x07\x05\x06\x06\x05\x06\x07\x03\x03\x03\x04\x05\x09\x04\x05\x03\x04\x05\x05\x05\x02\x03\x04\x03\x04\x05\x03\x05\x04\x03\x0a\x0f\x04\x05\x09\x04\x05\x05\x03\x05\x06\x04\x04\x03\x05\x06\x08\x07\x07\x07\x05\x07\x07\x07\x04\x09\x06\x05\x07\x03\x06\x04\x05\x07\x05\x05\x06\x06\x0b\x05\x06\x03\x06\x04\x04\x09\x0e\x04\x05\x06\x05\x05\x07\x07\x04\x05\x05\x07\x09\x0a\x05\x07\x04\x05\x05\x07\x09\x0a\x04\x06\x04\x0d\x0f\x0e\x10\x02\x03\x06\x05\x06\x06\x04\x06\x04\x04\x07\x06\x04\x04\x07\x06\x07\x05\x05\x06\x05\x07\x06\x02\x06\x04\x04\x05\x03\x05\x06\x04\x04\x06\x05\x05\x03\x04\x06\x03\x05\x03\x04\x05\x05\x07\x05\x03\x05\x05\x07\x04\x06\x04\x04\x05\x05\x02\x05\x03\x05\x07\x04\x04\x06\x04\x07\x03\x04\x06\x04\x06\x06\x08\x04\x05\x03\x04\x08\x06\x05\x04\x03\x06\x06\x06\x04\x07\x03\x03\x04\x06\x05\x02\x09\x03\x06\x07\x06\x04\x08\x05\x07\x06\x06\x05\x06\x07\x07\x02\x08\x04\x05\x02\x03\x04\x05\x03\x04\x0a\x0b\x06\x0b\x08\x08\x07\x05\x06\x04\x05\x06\x04\x08\x08\x08\x04\x06\x05\x06\x04\x03\x06\x03\x04\x04\x06\x04\x0b\x07\x05\x07\x04\x05\x04\x06\x05\x04\x04\x06\x05\x08\x04\x05\x05\x06\x05\x04\x06\x05\x07\x05\x06\x06\x06\x06\x07\x06\x05\x06\x05\x09\x05\x05\x06\x06\x05\x07\x07\x06\x06\x05\x04\x03\x04\x07\x05\x06\x04\x04\x07\x08\x05\x04\x03\x06\x06\x03\x05\x05\x06\x03\x04\x0a\x0e\x10\x0e\x0f\x11\x10\x0f\x0f\x04\x0c\x05\x05\x03\x06\x0a\x05\x05\x05\x05\x05\x04\x06\x07\x04\x06\x08\x05\x06\x04\x03\x04\x05\x06\x06\x06\x04\x05\x05\x08\x07\x02\x06\x05\x02\x03\x04\x06\x05\x03\x06\x05\x04\x05\x06\x08\x05\x03\x04\x05\x05\x05\x06\x05\x07\x04\x04\x06\x08\x05\x04\x03\x06\x05\x06\x04\x08\x0d\x03\x05\x06\x06\x03\x06\x04\x05\x04\x05\x04\x05\x05\x07\x07\x05\x0d\x06\x08\x04\x05\x03\x04\x05\x06\x03\x04\x06\x04\x06\x09\x04\x05\x06\x05\x06\x05\x06\x08\x0a\x05\x06\x08\x0a\x03\x06\x06\x04\x05\x04\x06\x06\x06\x04\x05\x0f\x0b\x05\x03\x04\x06\x04\x07\x07\x05\x05\x07\x07\x06\x08\x09\x09\x0a\x06\x06\x06\x04\x0a\x0b\x06\x0b\x08\x08\x07\x03\x04\x03\x04\x04\x04\x04\x06\x07\x04\x07\x07\x07\x07\x07\x05\x05\x07\x06\x08\x09\x09\x0a\x06\x06\x06\x05\x06\x05\x07\x06\x05\x06\x03\x04\x06\x06\x03\x04\x06\x03\x06\x09\x05\x08\x06\x0b\x08\x06\x05\x06\x05\x05\x05\x06\x08\x06\x04\x04\x03\x06\x06\x04\x07\x04\x06\x05\x08\x0c\x0c\x0e\x09\x0d\x0f\x06\x04\x08\x07\x05\x07\x08\x04\x04\x05\x06\x05\x10\x11\x04\x04\x06\x04\x05\x06\x05\x03\x05\x06\x05\x06\x03\x06\x05\x05\x05\x06\x08\x06\x05\x05\x03\x05\x04\x07\x0b\x0d\x0e\x05\x04\x05\x07\x0a\x06\x08\x06\x05\x05\x04\x05\x06\x04\x05\x05\x04\x07\x04\x04\x05\x05\x06\x0a\x08\x0a\x06\x05\x09\x04\x06\x08\x0c\x0d\x0c\x0d\x08\x0f\x10\x03\x05\x03\x06\x05\x06\x06\x04\x03\x05\x05\x05\x04\x05\x05\x04\x06\x06\x06\x06\x07\x05\x06\x05\x06\x06\x03\x04\x02\x02\x06\x04\x04\x05\x04\x05\x03\x05\x05\x02\x05\x05\x04\x04\x05\x04\x06\x06\x05\x05\x04\x06\x06\x05\x04\x06\x06\x04\x05\x03\x03\x03\x04\x04\x04\x04\x04\x06\x06\x03\x04\x06\x04\x03\x04\x07\x04\x04\x03\x04"
-var _html5entitiesCodePoints = [...]int{198, 38, 193, 194, 1040, 120068, 192, 913, 256, 10835, 260, 120120, 8289, 197, 119964, 8788, 195, 196, 8726, 10983, 8966, 1041, 8757, 8492, 914, 120069, 120121, 728, 8492, 8782, 1063, 169, 262, 8914, 8517, 8493, 268, 199, 264, 8752, 266, 184, 183, 8493, 935, 8857, 8854, 8853, 8855, 8754, 8221, 8217, 8759, 10868, 8801, 8751, 8750, 8450, 8720, 8755, 10799, 119966, 8915, 8781, 8517, 10513, 1026, 1029, 1039, 8225, 8609, 10980, 270, 1044, 8711, 916, 120071, 180, 729, 733, 96, 732, 8900, 8518, 120123, 168, 8412, 8784, 8751, 168, 8659, 8656, 8660, 10980, 10232, 10234, 10233, 8658, 8872, 8657, 8661, 8741, 8595, 10515, 8693, 785, 10576, 10590, 8637, 10582, 10591, 8641, 10583, 8868, 8615, 8659, 119967, 272, 330, 208, 201, 282, 202, 1069, 278, 120072, 200, 8712, 274, 9723, 9643, 280, 120124, 917, 10869, 8770, 8652, 8496, 10867, 919, 203, 8707, 8519, 1060, 120073, 9724, 9642, 120125, 8704, 8497, 8497, 1027, 62, 915, 988, 286, 290, 284, 1043, 288, 120074, 8921, 120126, 8805, 8923, 8807, 10914, 8823, 10878, 8819, 119970, 8811, 1066, 711, 94, 292, 8460, 8459, 8461, 9472, 8459, 294, 8782, 8783, 1045, 306, 1025, 205, 206, 1048, 304, 8465, 204, 8465, 298, 8520, 8658, 8748, 8747, 8898, 8291, 8290, 302, 120128, 921, 8464, 296, 1030, 207, 308, 1049, 120077, 120129, 119973, 1032, 1028, 1061, 1036, 922, 310, 1050, 120078, 120130, 119974, 1033, 60, 313, 923, 10218, 8466, 8606, 317, 315, 1051, 10216, 8592, 8676, 8646, 8968, 10214, 10593, 8643, 10585, 8970, 8596, 10574, 8867, 8612, 10586, 8882, 10703, 8884, 10577, 10592, 8639, 10584, 8636, 10578, 8656, 8660, 8922, 8806, 8822, 10913, 10877, 8818, 120079, 8920, 8666, 319, 10229, 10231, 10230, 10232, 10234, 10233, 120131, 8601, 8600, 8466, 8624, 321, 8810, 10501, 1052, 8287, 8499, 120080, 8723, 120132, 8499, 924, 1034, 323, 327, 325, 1053, 8203, 8203, 8203, 8203, 8811, 8810, 10, 120081, 8288, 160, 8469, 10988, 8802, 8813, 8742, 8713, 8800, 877, 24, 8708, 8815, 8817, 880, 24, 881, 24, 8825, 1087, 24, 8821, 878, 24, 878, 24, 8938, 1070, 24, 8940, 8814, 8816, 8824, 881, 24, 1087, 24, 8820, 1091, 24, 1091, 24, 8832, 1092, 24, 8928, 8716, 8939, 1070, 24, 8941, 884, 24, 8930, 884, 24, 8931, 883, 402, 8840, 8833, 1092, 24, 8929, 883, 24, 883, 402, 8841, 8769, 8772, 8775, 8777, 8740, 119977, 209, 925, 338, 211, 212, 1054, 336, 120082, 210, 332, 937, 927, 120134, 8220, 8216, 10836, 119978, 216, 213, 10807, 214, 8254, 9182, 9140, 9180, 8706, 1055, 120083, 934, 928, 177, 8460, 8473, 10939, 8826, 10927, 8828, 8830, 8243, 8719, 8759, 8733, 119979, 936, 34, 120084, 8474, 119980, 10512, 174, 340, 10219, 8608, 10518, 344, 342, 1056, 8476, 8715, 8651, 10607, 8476, 929, 10217, 8594, 8677, 8644, 8969, 10215, 10589, 8642, 10581, 8971, 8866, 8614, 10587, 8883, 10704, 8885, 10575, 10588, 8638, 10580, 8640, 10579, 8658, 8477, 10608, 8667, 8475, 8625, 10740, 1065, 1064, 1068, 346, 10940, 352, 350, 348, 1057, 120086, 8595, 8592, 8594, 8593, 931, 8728, 120138, 8730, 9633, 8851, 8847, 8849, 8848, 8850, 8852, 119982, 8902, 8912, 8912, 8838, 8827, 10928, 8829, 8831, 8715, 8721, 8913, 8835, 8839, 8913, 222, 8482, 1035, 1062, 9, 932, 356, 354, 1058, 120087, 8756, 920, 828, 202, 8201, 8764, 8771, 8773, 8776, 120139, 8411, 119983, 358, 218, 8607, 10569, 1038, 364, 219, 1059, 368, 120088, 217, 362, 95, 9183, 9141, 9181, 8899, 8846, 370, 120140, 8593, 10514, 8645, 8597, 10606, 8869, 8613, 8657, 8661, 8598, 8599, 978, 933, 366, 119984, 360, 220, 8875, 10987, 1042, 8873, 10982, 8897, 8214, 8214, 8739, 124, 10072, 8768, 8202, 120089, 120141, 119985, 8874, 372, 8896, 120090, 120142, 119986, 120091, 926, 120143, 119987, 1071, 1031, 1070, 221, 374, 1067, 120092, 120144, 119988, 376, 1046, 377, 381, 1047, 379, 8203, 918, 8488, 8484, 119989, 225, 259, 8766, 876, 19, 8767, 226, 180, 1072, 230, 8289, 120094, 224, 8501, 8501, 945, 257, 10815, 38, 8743, 10837, 10844, 10840, 10842, 8736, 10660, 8736, 8737, 10664, 10665, 10666, 10667, 10668, 10669, 10670, 10671, 8735, 8894, 10653, 8738, 197, 9084, 261, 120146, 8776, 10864, 10863, 8778, 8779, 39, 8776, 8778, 229, 119990, 42, 8776, 8781, 227, 228, 8755, 10769, 10989, 8780, 1014, 8245, 8765, 8909, 8893, 8965, 8965, 9141, 9142, 8780, 1073, 8222, 8757, 8757, 10672, 1014, 8492, 946, 8502, 8812, 120095, 8898, 9711, 8899, 10752, 10753, 10754, 10758, 9733, 9661, 9651, 10756, 8897, 8896, 10509, 10731, 9642, 9652, 9662, 9666, 9656, 9251, 9618, 9617, 9619, 9608, 6, 421, 880, 421, 8976, 120147, 8869, 8869, 8904, 9559, 9556, 9558, 9555, 9552, 9574, 9577, 9572, 9575, 9565, 9562, 9564, 9561, 9553, 9580, 9571, 9568, 9579, 9570, 9567, 10697, 9557, 9554, 9488, 9484, 9472, 9573, 9576, 9516, 9524, 8863, 8862, 8864, 9563, 9560, 9496, 9492, 9474, 9578, 9569, 9566, 9532, 9508, 9500, 8245, 728, 166, 119991, 8271, 8765, 8909, 92, 10693, 10184, 8226, 8226, 8782, 10926, 8783, 8783, 263, 8745, 10820, 10825, 10827, 10823, 10816, 874, 5024, 8257, 711, 10829, 269, 231, 265, 10828, 10832, 267, 184, 10674, 162, 183, 120096, 1095, 10003, 10003, 967, 9675, 10691, 710, 8791, 8634, 8635, 174, 9416, 8859, 8858, 8861, 8791, 10768, 10991, 10690, 9827, 9827, 58, 8788, 8788, 44, 64, 8705, 8728, 8705, 8450, 8773, 10861, 8750, 120148, 8720, 169, 8471, 8629, 10007, 119992, 10959, 10961, 10960, 10962, 8943, 10552, 10549, 8926, 8927, 8630, 10557, 8746, 10824, 10822, 10826, 8845, 10821, 874, 5024, 8631, 10556, 8926, 8927, 8910, 8911, 164, 8630, 8631, 8910, 8911, 8754, 8753, 9005, 8659, 10597, 8224, 8504, 8595, 8208, 8867, 10511, 733, 271, 1076, 8518, 8225, 8650, 10871, 176, 948, 10673, 10623, 120097, 8643, 8642, 8900, 8900, 9830, 9830, 168, 989, 8946, 247, 247, 8903, 8903, 1106, 8990, 8973, 36, 120149, 729, 8784, 8785, 8760, 8724, 8865, 8966, 8595, 8650, 8643, 8642, 10512, 8991, 8972, 119993, 1109, 10742, 273, 8945, 9663, 9662, 8693, 10607, 10662, 1119, 10239, 10871, 8785, 233, 10862, 283, 8790, 234, 8789, 1101, 279, 8519, 8786, 120098, 10906, 232, 10902, 10904, 10905, 9191, 8467, 10901, 10903, 275, 8709, 8709, 8709, 8195, 8196, 8197, 331, 8194, 281, 120150, 8917, 10723, 10865, 949, 949, 1013, 8790, 8789, 8770, 10902, 10901, 61, 8799, 8801, 10872, 10725, 8787, 10609, 8495, 8784, 8770, 951, 240, 235, 8364, 33, 8707, 8496, 8519, 8786, 1092, 9792, 64259, 64256, 64260, 120099, 64257, 10, 06, 9837, 64258, 9649, 402, 120151, 8704, 8916, 10969, 10765, 189, 8531, 188, 8533, 8537, 8539, 8532, 8534, 190, 8535, 8540, 8536, 8538, 8541, 8542, 8260, 8994, 119995, 8807, 10892, 501, 947, 989, 10886, 287, 285, 1075, 289, 8805, 8923, 8805, 8807, 10878, 10878, 10921, 10880, 10882, 10884, 892, 5024, 10900, 120100, 8811, 8921, 8503, 1107, 8823, 10898, 10917, 10916, 8809, 10890, 10890, 10888, 10888, 8809, 8935, 120152, 96, 8458, 8819, 10894, 10896, 62, 10919, 10874, 8919, 10645, 10876, 10886, 10616, 8919, 8923, 10892, 8823, 8819, 880, 5024, 880, 5024, 8660, 8202, 189, 8459, 1098, 8596, 10568, 8621, 8463, 293, 9829, 9829, 8230, 8889, 120101, 10533, 10534, 8703, 8763, 8617, 8618, 120153, 8213, 119997, 8463, 295, 8259, 8208, 237, 8291, 238, 1080, 1077, 161, 8660, 120102, 236, 8520, 10764, 8749, 10716, 8489, 307, 299, 8465, 8464, 8465, 305, 8887, 437, 8712, 8453, 8734, 10717, 305, 8747, 8890, 8484, 8890, 10775, 10812, 1105, 303, 120154, 953, 10812, 191, 119998, 8712, 8953, 8949, 8948, 8947, 8712, 8290, 297, 1110, 239, 309, 1081, 120103, 567, 120155, 119999, 1112, 1108, 954, 1008, 311, 1082, 120104, 312, 1093, 1116, 120156, 120000, 8666, 8656, 10523, 10510, 8806, 10891, 10594, 314, 10676, 8466, 955, 10216, 10641, 10216, 10885, 171, 8592, 8676, 10527, 10525, 8617, 8619, 10553, 10611, 8610, 10923, 10521, 10925, 1092, 5024, 10508, 10098, 123, 91, 10635, 10639, 10637, 318, 316, 8968, 123, 1083, 10550, 8220, 8222, 10599, 10571, 8626, 8804, 8592, 8610, 8637, 8636, 8647, 8596, 8646, 8651, 8621, 8907, 8922, 8804, 8806, 10877, 10877, 10920, 10879, 10881, 10883, 892, 5024, 10899, 10885, 8918, 8922, 10891, 8822, 8818, 10620, 8970, 120105, 8822, 10897, 8637, 8636, 10602, 9604, 1113, 8810, 8647, 8990, 10603, 9722, 320, 9136, 9136, 8808, 10889, 10889, 10887, 10887, 8808, 8934, 10220, 8701, 10214, 10229, 10231, 10236, 10230, 8619, 8620, 10629, 120157, 10797, 10804, 8727, 95, 9674, 9674, 10731, 40, 10643, 8646, 8991, 8651, 10605, 8206, 8895, 8249, 120001, 8624, 8818, 10893, 10895, 91, 8216, 8218, 322, 60, 10918, 10873, 8918, 8907, 8905, 10614, 10875, 10646, 9667, 8884, 9666, 10570, 10598, 880, 5024, 880, 5024, 8762, 175, 9794, 10016, 10016, 8614, 8614, 8615, 8612, 8613, 9646, 10793, 1084, 8212, 8737, 120106, 8487, 181, 8739, 42, 10992, 183, 8722, 8863, 8760, 10794, 10971, 8230, 8723, 8871, 120158, 8723, 120002, 8766, 956, 8888, 8888, 892, 24, 881, 402, 881, 24, 8653, 8654, 892, 24, 881, 402, 881, 24, 8655, 8879, 8878, 8711, 324, 873, 402, 8777, 1086, 24, 877, 24, 329, 8777, 9838, 9838, 8469, 160, 878, 24, 878, 24, 10819, 328, 326, 8775, 1086, 24, 10818, 1085, 8211, 8800, 8663, 10532, 8599, 8599, 878, 24, 8802, 10536, 877, 24, 8708, 8708, 120107, 880, 24, 8817, 8817, 880, 24, 1087, 24, 1087, 24, 8821, 8815, 8815, 8654, 8622, 10994, 8715, 8956, 8954, 8715, 1114, 8653, 880, 24, 8602, 8229, 8816, 8602, 8622, 8816, 880, 24, 1087, 24, 1087, 24, 8814, 8820, 8814, 8938, 8940, 8740, 120159, 172, 8713, 895, 24, 894, 24, 8713, 8951, 8950, 8716, 8716, 8958, 8957, 8742, 8742, 1100, 421, 870, 24, 10772, 8832, 8928, 1092, 24, 8832, 1092, 24, 8655, 8603, 1054, 24, 860, 24, 8603, 8939, 8941, 8833, 8929, 1092, 24, 120003, 8740, 8742, 8769, 8772, 8772, 8740, 8742, 8930, 8931, 8836, 1094, 24, 8840, 883, 402, 8840, 1094, 24, 8833, 1092, 24, 8837, 1095, 24, 8841, 883, 402, 8841, 1095, 24, 8825, 241, 8824, 8938, 8940, 8939, 8941, 957, 35, 8470, 8199, 8877, 10500, 878, 402, 8876, 880, 402, 6, 402, 10718, 10498, 880, 402, 6, 402, 888, 402, 10499, 888, 402, 876, 402, 8662, 10531, 8598, 8598, 10535, 9416, 243, 8859, 8858, 244, 1086, 8861, 337, 10808, 8857, 10684, 339, 10687, 120108, 731, 242, 10689, 10677, 937, 8750, 8634, 10686, 10683, 8254, 10688, 333, 969, 959, 10678, 8854, 120160, 10679, 10681, 8853, 8744, 8635, 10845, 8500, 8500, 170, 186, 8886, 10838, 10839, 10843, 8500, 248, 8856, 245, 8855, 10806, 246, 9021, 8741, 182, 8741, 10995, 11005, 8706, 1087, 37, 46, 8240, 8869, 8241, 120109, 966, 981, 8499, 9742, 960, 8916, 982, 8463, 8462, 8463, 43, 10787, 8862, 10786, 8724, 10789, 10866, 177, 10790, 10791, 177, 10773, 120161, 163, 8826, 10931, 10935, 8828, 10927, 8826, 10935, 8828, 10927, 10937, 10933, 8936, 8830, 8242, 8473, 10933, 10937, 8936, 8719, 9006, 8978, 8979, 8733, 8733, 8830, 8880, 120005, 968, 8200, 120110, 10764, 120162, 8279, 120006, 8461, 10774, 63, 8799, 34, 8667, 8658, 10524, 10511, 10596, 876, 17, 341, 8730, 10675, 10217, 10642, 10661, 10217, 187, 8594, 10613, 8677, 10528, 10547, 10526, 8618, 8620, 10565, 10612, 8611, 8605, 10522, 8758, 8474, 10509, 10099, 125, 93, 10636, 10638, 10640, 345, 343, 8969, 125, 1088, 10551, 10601, 8221, 8221, 8627, 8476, 8475, 8476, 8477, 9645, 174, 10621, 8971, 120111, 8641, 8640, 10604, 961, 1009, 8594, 8611, 8641, 8640, 8644, 8652, 8649, 8605, 8908, 730, 8787, 8644, 8652, 8207, 9137, 9137, 10990, 10221, 8702, 10215, 10630, 120163, 10798, 10805, 41, 10644, 10770, 8649, 8250, 120007, 8625, 93, 8217, 8217, 8908, 8906, 9657, 8885, 9656, 10702, 10600, 8478, 347, 8218, 8827, 10932, 10936, 353, 8829, 10928, 351, 349, 10934, 10938, 8937, 10771, 8831, 1089, 8901, 8865, 10854, 8664, 10533, 8600, 8600, 167, 59, 10537, 8726, 8726, 10038, 120112, 8994, 9839, 1097, 1096, 8739, 8741, 173, 963, 962, 962, 8764, 10858, 8771, 8771, 10910, 10912, 10909, 10911, 8774, 10788, 10610, 8592, 8726, 10803, 10724, 8739, 8995, 10922, 10924, 1092, 5024, 1100, 47, 10692, 9023, 120164, 9824, 9824, 8741, 8851, 885, 5024, 8852, 885, 5024, 8847, 8849, 8847, 8849, 8848, 8850, 8848, 8850, 9633, 9633, 9642, 9642, 8594, 120008, 8726, 8995, 8902, 9734, 9733, 1013, 981, 175, 8834, 10949, 10941, 8838, 10947, 10945, 10955, 8842, 10943, 10617, 8834, 8838, 10949, 8842, 10955, 10951, 10965, 10963, 8827, 10936, 8829, 10928, 10938, 10934, 8937, 8831, 8721, 9834, 8835, 185, 178, 179, 10950, 10942, 10968, 8839, 10948, 10185, 10967, 10619, 10946, 10956, 8843, 10944, 8835, 8839, 10950, 8843, 10956, 10952, 10964, 10966, 8665, 10534, 8601, 8601, 10538, 223, 8982, 964, 9140, 357, 355, 1090, 8411, 8981, 120113, 8756, 8756, 952, 977, 977, 8776, 8764, 8201, 8776, 8764, 254, 732, 215, 8864, 10801, 10800, 8749, 10536, 8868, 9014, 10993, 120165, 10970, 10537, 8244, 8482, 9653, 9663, 9667, 8884, 8796, 9657, 8885, 9708, 8796, 10810, 10809, 10701, 10811, 9186, 120009, 1094, 1115, 359, 8812, 8606, 8608, 8657, 10595, 250, 8593, 1118, 365, 251, 1091, 8645, 369, 10606, 10622, 120114, 249, 8639, 8638, 9600, 8988, 8988, 8975, 9720, 363, 168, 371, 120166, 8593, 8597, 8639, 8638, 8846, 965, 978, 965, 8648, 8989, 8989, 8974, 367, 9721, 120010, 8944, 361, 9653, 9652, 8648, 252, 10663, 8661, 10984, 10985, 8872, 10652, 1013, 1008, 8709, 981, 982, 8733, 8597, 1009, 962, 884, 5024, 1095, 5024, 884, 5024, 1095, 5024, 977, 8882, 8883, 1074, 8866, 8744, 8891, 8794, 8942, 124, 124, 120115, 8882, 883, 402, 883, 402, 120167, 8733, 8883, 120011, 1095, 5024, 884, 5024, 1095, 5024, 884, 5024, 10650, 373, 10847, 8743, 8793, 8472, 120116, 120168, 8472, 8768, 8768, 120012, 8898, 9711, 8899, 9661, 120117, 10234, 10231, 958, 10232, 10229, 10236, 8955, 10752, 120169, 10753, 10754, 10233, 10230, 120013, 10758, 10756, 9651, 8897, 8896, 253, 1103, 375, 1099, 165, 120118, 1111, 120170, 120014, 1102, 255, 378, 382, 1079, 380, 8488, 950, 120119, 1078, 8669, 120171, 120015, 8205, 8204}
-var _html5entitiesCodePointsIndex = "\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x02\x02\x01\x02\x01\x02\x02\x01\x02\x01\x01\x01\x01\x02\x02\x01\x02\x02\x01\x02\x01\x01\x01\x02\x01\x02\x01\x02\x01\x02\x01\x01\x02\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x01\x01\x02\x02\x02\x01\x01\x01\x01\x01\x02\x01\x02\x02\x01\x01\x01\x01\x01\x01\x02\x02\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x02\x01\x01\x01\x02\x01\x01\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x01\x01\x02\x01\x02\x01\x01\x02\x02\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x02\x01\x01\x02\x02\x02\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"
-var _html5entitiesCharacters = [...]byte{0xc3, 0x86, 0x26, 0xc3, 0x81, 0xc3, 0x82, 0xd0, 0x90, 0xf0, 0x9d, 0x94, 0x84, 0xc3, 0x80, 0xce, 0x91, 0xc4, 0x80, 0xe2, 0xa9, 0x93, 0xc4, 0x84, 0xf0, 0x9d, 0x94, 0xb8, 0xe2, 0x81, 0xa1, 0xc3, 0x85, 0xf0, 0x9d, 0x92, 0x9c, 0xe2, 0x89, 0x94, 0xc3, 0x83, 0xc3, 0x84, 0xe2, 0x88, 0x96, 0xe2, 0xab, 0xa7, 0xe2, 0x8c, 0x86, 0xd0, 0x91, 0xe2, 0x88, 0xb5, 0xe2, 0x84, 0xac, 0xce, 0x92, 0xf0, 0x9d, 0x94, 0x85, 0xf0, 0x9d, 0x94, 0xb9, 0xcb, 0x98, 0xe2, 0x84, 0xac, 0xe2, 0x89, 0x8e, 0xd0, 0xa7, 0xc2, 0xa9, 0xc4, 0x86, 0xe2, 0x8b, 0x92, 0xe2, 0x85, 0x85, 0xe2, 0x84, 0xad, 0xc4, 0x8c, 0xc3, 0x87, 0xc4, 0x88, 0xe2, 0x88, 0xb0, 0xc4, 0x8a, 0xc2, 0xb8, 0xc2, 0xb7, 0xe2, 0x84, 0xad, 0xce, 0xa7, 0xe2, 0x8a, 0x99, 0xe2, 0x8a, 0x96, 0xe2, 0x8a, 0x95, 0xe2, 0x8a, 0x97, 0xe2, 0x88, 0xb2, 0xe2, 0x80, 0x9d, 0xe2, 0x80, 0x99, 0xe2, 0x88, 0xb7, 0xe2, 0xa9, 0xb4, 0xe2, 0x89, 0xa1, 0xe2, 0x88, 0xaf, 0xe2, 0x88, 0xae, 0xe2, 0x84, 0x82, 0xe2, 0x88, 0x90, 0xe2, 0x88, 0xb3, 0xe2, 0xa8, 0xaf, 0xf0, 0x9d, 0x92, 0x9e, 0xe2, 0x8b, 0x93, 0xe2, 0x89, 0x8d, 0xe2, 0x85, 0x85, 0xe2, 0xa4, 0x91, 0xd0, 0x82, 0xd0, 0x85, 0xd0, 0x8f, 0xe2, 0x80, 0xa1, 0xe2, 0x86, 0xa1, 0xe2, 0xab, 0xa4, 0xc4, 0x8e, 0xd0, 0x94, 0xe2, 0x88, 0x87, 0xce, 0x94, 0xf0, 0x9d, 0x94, 0x87, 0xc2, 0xb4, 0xcb, 0x99, 0xcb, 0x9d, 0x60, 0xcb, 0x9c, 0xe2, 0x8b, 0x84, 0xe2, 0x85, 0x86, 0xf0, 0x9d, 0x94, 0xbb, 0xc2, 0xa8, 0xe2, 0x83, 0x9c, 0xe2, 0x89, 0x90, 0xe2, 0x88, 0xaf, 0xc2, 0xa8, 0xe2, 0x87, 0x93, 0xe2, 0x87, 0x90, 0xe2, 0x87, 0x94, 0xe2, 0xab, 0xa4, 0xe2, 0x9f, 0xb8, 0xe2, 0x9f, 0xba, 0xe2, 0x9f, 0xb9, 0xe2, 0x87, 0x92, 0xe2, 0x8a, 0xa8, 0xe2, 0x87, 0x91, 0xe2, 0x87, 0x95, 0xe2, 0x88, 0xa5, 0xe2, 0x86, 0x93, 0xe2, 0xa4, 0x93, 0xe2, 0x87, 0xb5, 0xcc, 0x91, 0xe2, 0xa5, 0x90, 0xe2, 0xa5, 0x9e, 0xe2, 0x86, 0xbd, 0xe2, 0xa5, 0x96, 0xe2, 0xa5, 0x9f, 0xe2, 0x87, 0x81, 0xe2, 0xa5, 0x97, 0xe2, 0x8a, 0xa4, 0xe2, 0x86, 0xa7, 0xe2, 0x87, 0x93, 0xf0, 0x9d, 0x92, 0x9f, 0xc4, 0x90, 0xc5, 0x8a, 0xc3, 0x90, 0xc3, 0x89, 0xc4, 0x9a, 0xc3, 0x8a, 0xd0, 0xad, 0xc4, 0x96, 0xf0, 0x9d, 0x94, 0x88, 0xc3, 0x88, 0xe2, 0x88, 0x88, 0xc4, 0x92, 0xe2, 0x97, 0xbb, 0xe2, 0x96, 0xab, 0xc4, 0x98, 0xf0, 0x9d, 0x94, 0xbc, 0xce, 0x95, 0xe2, 0xa9, 0xb5, 0xe2, 0x89, 0x82, 0xe2, 0x87, 0x8c, 0xe2, 0x84, 0xb0, 0xe2, 0xa9, 0xb3, 0xce, 0x97, 0xc3, 0x8b, 0xe2, 0x88, 0x83, 0xe2, 0x85, 0x87, 0xd0, 0xa4, 0xf0, 0x9d, 0x94, 0x89, 0xe2, 0x97, 0xbc, 0xe2, 0x96, 0xaa, 0xf0, 0x9d, 0x94, 0xbd, 0xe2, 0x88, 0x80, 0xe2, 0x84, 0xb1, 0xe2, 0x84, 0xb1, 0xd0, 0x83, 0x3e, 0xce, 0x93, 0xcf, 0x9c, 0xc4, 0x9e, 0xc4, 0xa2, 0xc4, 0x9c, 0xd0, 0x93, 0xc4, 0xa0, 0xf0, 0x9d, 0x94, 0x8a, 0xe2, 0x8b, 0x99, 0xf0, 0x9d, 0x94, 0xbe, 0xe2, 0x89, 0xa5, 0xe2, 0x8b, 0x9b, 0xe2, 0x89, 0xa7, 0xe2, 0xaa, 0xa2, 0xe2, 0x89, 0xb7, 0xe2, 0xa9, 0xbe, 0xe2, 0x89, 0xb3, 0xf0, 0x9d, 0x92, 0xa2, 0xe2, 0x89, 0xab, 0xd0, 0xaa, 0xcb, 0x87, 0x5e, 0xc4, 0xa4, 0xe2, 0x84, 0x8c, 0xe2, 0x84, 0x8b, 0xe2, 0x84, 0x8d, 0xe2, 0x94, 0x80, 0xe2, 0x84, 0x8b, 0xc4, 0xa6, 0xe2, 0x89, 0x8e, 0xe2, 0x89, 0x8f, 0xd0, 0x95, 0xc4, 0xb2, 0xd0, 0x81, 0xc3, 0x8d, 0xc3, 0x8e, 0xd0, 0x98, 0xc4, 0xb0, 0xe2, 0x84, 0x91, 0xc3, 0x8c, 0xe2, 0x84, 0x91, 0xc4, 0xaa, 0xe2, 0x85, 0x88, 0xe2, 0x87, 0x92, 0xe2, 0x88, 0xac, 0xe2, 0x88, 0xab, 0xe2, 0x8b, 0x82, 0xe2, 0x81, 0xa3, 0xe2, 0x81, 0xa2, 0xc4, 0xae, 0xf0, 0x9d, 0x95, 0x80, 0xce, 0x99, 0xe2, 0x84, 0x90, 0xc4, 0xa8, 0xd0, 0x86, 0xc3, 0x8f, 0xc4, 0xb4, 0xd0, 0x99, 0xf0, 0x9d, 0x94, 0x8d, 0xf0, 0x9d, 0x95, 0x81, 0xf0, 0x9d, 0x92, 0xa5, 0xd0, 0x88, 0xd0, 0x84, 0xd0, 0xa5, 0xd0, 0x8c, 0xce, 0x9a, 0xc4, 0xb6, 0xd0, 0x9a, 0xf0, 0x9d, 0x94, 0x8e, 0xf0, 0x9d, 0x95, 0x82, 0xf0, 0x9d, 0x92, 0xa6, 0xd0, 0x89, 0x3c, 0xc4, 0xb9, 0xce, 0x9b, 0xe2, 0x9f, 0xaa, 0xe2, 0x84, 0x92, 0xe2, 0x86, 0x9e, 0xc4, 0xbd, 0xc4, 0xbb, 0xd0, 0x9b, 0xe2, 0x9f, 0xa8, 0xe2, 0x86, 0x90, 0xe2, 0x87, 0xa4, 0xe2, 0x87, 0x86, 0xe2, 0x8c, 0x88, 0xe2, 0x9f, 0xa6, 0xe2, 0xa5, 0xa1, 0xe2, 0x87, 0x83, 0xe2, 0xa5, 0x99, 0xe2, 0x8c, 0x8a, 0xe2, 0x86, 0x94, 0xe2, 0xa5, 0x8e, 0xe2, 0x8a, 0xa3, 0xe2, 0x86, 0xa4, 0xe2, 0xa5, 0x9a, 0xe2, 0x8a, 0xb2, 0xe2, 0xa7, 0x8f, 0xe2, 0x8a, 0xb4, 0xe2, 0xa5, 0x91, 0xe2, 0xa5, 0xa0, 0xe2, 0x86, 0xbf, 0xe2, 0xa5, 0x98, 0xe2, 0x86, 0xbc, 0xe2, 0xa5, 0x92, 0xe2, 0x87, 0x90, 0xe2, 0x87, 0x94, 0xe2, 0x8b, 0x9a, 0xe2, 0x89, 0xa6, 0xe2, 0x89, 0xb6, 0xe2, 0xaa, 0xa1, 0xe2, 0xa9, 0xbd, 0xe2, 0x89, 0xb2, 0xf0, 0x9d, 0x94, 0x8f, 0xe2, 0x8b, 0x98, 0xe2, 0x87, 0x9a, 0xc4, 0xbf, 0xe2, 0x9f, 0xb5, 0xe2, 0x9f, 0xb7, 0xe2, 0x9f, 0xb6, 0xe2, 0x9f, 0xb8, 0xe2, 0x9f, 0xba, 0xe2, 0x9f, 0xb9, 0xf0, 0x9d, 0x95, 0x83, 0xe2, 0x86, 0x99, 0xe2, 0x86, 0x98, 0xe2, 0x84, 0x92, 0xe2, 0x86, 0xb0, 0xc5, 0x81, 0xe2, 0x89, 0xaa, 0xe2, 0xa4, 0x85, 0xd0, 0x9c, 0xe2, 0x81, 0x9f, 0xe2, 0x84, 0xb3, 0xf0, 0x9d, 0x94, 0x90, 0xe2, 0x88, 0x93, 0xf0, 0x9d, 0x95, 0x84, 0xe2, 0x84, 0xb3, 0xce, 0x9c, 0xd0, 0x8a, 0xc5, 0x83, 0xc5, 0x87, 0xc5, 0x85, 0xd0, 0x9d, 0xe2, 0x80, 0x8b, 0xe2, 0x80, 0x8b, 0xe2, 0x80, 0x8b, 0xe2, 0x80, 0x8b, 0xe2, 0x89, 0xab, 0xe2, 0x89, 0xaa, 0xa, 0xf0, 0x9d, 0x94, 0x91, 0xe2, 0x81, 0xa0, 0xc2, 0xa0, 0xe2, 0x84, 0x95, 0xe2, 0xab, 0xac, 0xe2, 0x89, 0xa2, 0xe2, 0x89, 0xad, 0xe2, 0x88, 0xa6, 0xe2, 0x88, 0x89, 0xe2, 0x89, 0xa0, 0xe2, 0x89, 0x82, 0xcc, 0xb8, 0xe2, 0x88, 0x84, 0xe2, 0x89, 0xaf, 0xe2, 0x89, 0xb1, 0xe2, 0x89, 0xa7, 0xcc, 0xb8, 0xe2, 0x89, 0xab, 0xcc, 0xb8, 0xe2, 0x89, 0xb9, 0xe2, 0xa9, 0xbe, 0xcc, 0xb8, 0xe2, 0x89, 0xb5, 0xe2, 0x89, 0x8e, 0xcc, 0xb8, 0xe2, 0x89, 0x8f, 0xcc, 0xb8, 0xe2, 0x8b, 0xaa, 0xe2, 0xa7, 0x8f, 0xcc, 0xb8, 0xe2, 0x8b, 0xac, 0xe2, 0x89, 0xae, 0xe2, 0x89, 0xb0, 0xe2, 0x89, 0xb8, 0xe2, 0x89, 0xaa, 0xcc, 0xb8, 0xe2, 0xa9, 0xbd, 0xcc, 0xb8, 0xe2, 0x89, 0xb4, 0xe2, 0xaa, 0xa2, 0xcc, 0xb8, 0xe2, 0xaa, 0xa1, 0xcc, 0xb8, 0xe2, 0x8a, 0x80, 0xe2, 0xaa, 0xaf, 0xcc, 0xb8, 0xe2, 0x8b, 0xa0, 0xe2, 0x88, 0x8c, 0xe2, 0x8b, 0xab, 0xe2, 0xa7, 0x90, 0xcc, 0xb8, 0xe2, 0x8b, 0xad, 0xe2, 0x8a, 0x8f, 0xcc, 0xb8, 0xe2, 0x8b, 0xa2, 0xe2, 0x8a, 0x90, 0xcc, 0xb8, 0xe2, 0x8b, 0xa3, 0xe2, 0x8a, 0x82, 0xe2, 0x83, 0x92, 0xe2, 0x8a, 0x88, 0xe2, 0x8a, 0x81, 0xe2, 0xaa, 0xb0, 0xcc, 0xb8, 0xe2, 0x8b, 0xa1, 0xe2, 0x89, 0xbf, 0xcc, 0xb8, 0xe2, 0x8a, 0x83, 0xe2, 0x83, 0x92, 0xe2, 0x8a, 0x89, 0xe2, 0x89, 0x81, 0xe2, 0x89, 0x84, 0xe2, 0x89, 0x87, 0xe2, 0x89, 0x89, 0xe2, 0x88, 0xa4, 0xf0, 0x9d, 0x92, 0xa9, 0xc3, 0x91, 0xce, 0x9d, 0xc5, 0x92, 0xc3, 0x93, 0xc3, 0x94, 0xd0, 0x9e, 0xc5, 0x90, 0xf0, 0x9d, 0x94, 0x92, 0xc3, 0x92, 0xc5, 0x8c, 0xce, 0xa9, 0xce, 0x9f, 0xf0, 0x9d, 0x95, 0x86, 0xe2, 0x80, 0x9c, 0xe2, 0x80, 0x98, 0xe2, 0xa9, 0x94, 0xf0, 0x9d, 0x92, 0xaa, 0xc3, 0x98, 0xc3, 0x95, 0xe2, 0xa8, 0xb7, 0xc3, 0x96, 0xe2, 0x80, 0xbe, 0xe2, 0x8f, 0x9e, 0xe2, 0x8e, 0xb4, 0xe2, 0x8f, 0x9c, 0xe2, 0x88, 0x82, 0xd0, 0x9f, 0xf0, 0x9d, 0x94, 0x93, 0xce, 0xa6, 0xce, 0xa0, 0xc2, 0xb1, 0xe2, 0x84, 0x8c, 0xe2, 0x84, 0x99, 0xe2, 0xaa, 0xbb, 0xe2, 0x89, 0xba, 0xe2, 0xaa, 0xaf, 0xe2, 0x89, 0xbc, 0xe2, 0x89, 0xbe, 0xe2, 0x80, 0xb3, 0xe2, 0x88, 0x8f, 0xe2, 0x88, 0xb7, 0xe2, 0x88, 0x9d, 0xf0, 0x9d, 0x92, 0xab, 0xce, 0xa8, 0x22, 0xf0, 0x9d, 0x94, 0x94, 0xe2, 0x84, 0x9a, 0xf0, 0x9d, 0x92, 0xac, 0xe2, 0xa4, 0x90, 0xc2, 0xae, 0xc5, 0x94, 0xe2, 0x9f, 0xab, 0xe2, 0x86, 0xa0, 0xe2, 0xa4, 0x96, 0xc5, 0x98, 0xc5, 0x96, 0xd0, 0xa0, 0xe2, 0x84, 0x9c, 0xe2, 0x88, 0x8b, 0xe2, 0x87, 0x8b, 0xe2, 0xa5, 0xaf, 0xe2, 0x84, 0x9c, 0xce, 0xa1, 0xe2, 0x9f, 0xa9, 0xe2, 0x86, 0x92, 0xe2, 0x87, 0xa5, 0xe2, 0x87, 0x84, 0xe2, 0x8c, 0x89, 0xe2, 0x9f, 0xa7, 0xe2, 0xa5, 0x9d, 0xe2, 0x87, 0x82, 0xe2, 0xa5, 0x95, 0xe2, 0x8c, 0x8b, 0xe2, 0x8a, 0xa2, 0xe2, 0x86, 0xa6, 0xe2, 0xa5, 0x9b, 0xe2, 0x8a, 0xb3, 0xe2, 0xa7, 0x90, 0xe2, 0x8a, 0xb5, 0xe2, 0xa5, 0x8f, 0xe2, 0xa5, 0x9c, 0xe2, 0x86, 0xbe, 0xe2, 0xa5, 0x94, 0xe2, 0x87, 0x80, 0xe2, 0xa5, 0x93, 0xe2, 0x87, 0x92, 0xe2, 0x84, 0x9d, 0xe2, 0xa5, 0xb0, 0xe2, 0x87, 0x9b, 0xe2, 0x84, 0x9b, 0xe2, 0x86, 0xb1, 0xe2, 0xa7, 0xb4, 0xd0, 0xa9, 0xd0, 0xa8, 0xd0, 0xac, 0xc5, 0x9a, 0xe2, 0xaa, 0xbc, 0xc5, 0xa0, 0xc5, 0x9e, 0xc5, 0x9c, 0xd0, 0xa1, 0xf0, 0x9d, 0x94, 0x96, 0xe2, 0x86, 0x93, 0xe2, 0x86, 0x90, 0xe2, 0x86, 0x92, 0xe2, 0x86, 0x91, 0xce, 0xa3, 0xe2, 0x88, 0x98, 0xf0, 0x9d, 0x95, 0x8a, 0xe2, 0x88, 0x9a, 0xe2, 0x96, 0xa1, 0xe2, 0x8a, 0x93, 0xe2, 0x8a, 0x8f, 0xe2, 0x8a, 0x91, 0xe2, 0x8a, 0x90, 0xe2, 0x8a, 0x92, 0xe2, 0x8a, 0x94, 0xf0, 0x9d, 0x92, 0xae, 0xe2, 0x8b, 0x86, 0xe2, 0x8b, 0x90, 0xe2, 0x8b, 0x90, 0xe2, 0x8a, 0x86, 0xe2, 0x89, 0xbb, 0xe2, 0xaa, 0xb0, 0xe2, 0x89, 0xbd, 0xe2, 0x89, 0xbf, 0xe2, 0x88, 0x8b, 0xe2, 0x88, 0x91, 0xe2, 0x8b, 0x91, 0xe2, 0x8a, 0x83, 0xe2, 0x8a, 0x87, 0xe2, 0x8b, 0x91, 0xc3, 0x9e, 0xe2, 0x84, 0xa2, 0xd0, 0x8b, 0xd0, 0xa6, 0x9, 0xce, 0xa4, 0xc5, 0xa4, 0xc5, 0xa2, 0xd0, 0xa2, 0xf0, 0x9d, 0x94, 0x97, 0xe2, 0x88, 0xb4, 0xce, 0x98, 0xe2, 0x81, 0x9f, 0xe2, 0x80, 0x8a, 0xe2, 0x80, 0x89, 0xe2, 0x88, 0xbc, 0xe2, 0x89, 0x83, 0xe2, 0x89, 0x85, 0xe2, 0x89, 0x88, 0xf0, 0x9d, 0x95, 0x8b, 0xe2, 0x83, 0x9b, 0xf0, 0x9d, 0x92, 0xaf, 0xc5, 0xa6, 0xc3, 0x9a, 0xe2, 0x86, 0x9f, 0xe2, 0xa5, 0x89, 0xd0, 0x8e, 0xc5, 0xac, 0xc3, 0x9b, 0xd0, 0xa3, 0xc5, 0xb0, 0xf0, 0x9d, 0x94, 0x98, 0xc3, 0x99, 0xc5, 0xaa, 0x5f, 0xe2, 0x8f, 0x9f, 0xe2, 0x8e, 0xb5, 0xe2, 0x8f, 0x9d, 0xe2, 0x8b, 0x83, 0xe2, 0x8a, 0x8e, 0xc5, 0xb2, 0xf0, 0x9d, 0x95, 0x8c, 0xe2, 0x86, 0x91, 0xe2, 0xa4, 0x92, 0xe2, 0x87, 0x85, 0xe2, 0x86, 0x95, 0xe2, 0xa5, 0xae, 0xe2, 0x8a, 0xa5, 0xe2, 0x86, 0xa5, 0xe2, 0x87, 0x91, 0xe2, 0x87, 0x95, 0xe2, 0x86, 0x96, 0xe2, 0x86, 0x97, 0xcf, 0x92, 0xce, 0xa5, 0xc5, 0xae, 0xf0, 0x9d, 0x92, 0xb0, 0xc5, 0xa8, 0xc3, 0x9c, 0xe2, 0x8a, 0xab, 0xe2, 0xab, 0xab, 0xd0, 0x92, 0xe2, 0x8a, 0xa9, 0xe2, 0xab, 0xa6, 0xe2, 0x8b, 0x81, 0xe2, 0x80, 0x96, 0xe2, 0x80, 0x96, 0xe2, 0x88, 0xa3, 0x7c, 0xe2, 0x9d, 0x98, 0xe2, 0x89, 0x80, 0xe2, 0x80, 0x8a, 0xf0, 0x9d, 0x94, 0x99, 0xf0, 0x9d, 0x95, 0x8d, 0xf0, 0x9d, 0x92, 0xb1, 0xe2, 0x8a, 0xaa, 0xc5, 0xb4, 0xe2, 0x8b, 0x80, 0xf0, 0x9d, 0x94, 0x9a, 0xf0, 0x9d, 0x95, 0x8e, 0xf0, 0x9d, 0x92, 0xb2, 0xf0, 0x9d, 0x94, 0x9b, 0xce, 0x9e, 0xf0, 0x9d, 0x95, 0x8f, 0xf0, 0x9d, 0x92, 0xb3, 0xd0, 0xaf, 0xd0, 0x87, 0xd0, 0xae, 0xc3, 0x9d, 0xc5, 0xb6, 0xd0, 0xab, 0xf0, 0x9d, 0x94, 0x9c, 0xf0, 0x9d, 0x95, 0x90, 0xf0, 0x9d, 0x92, 0xb4, 0xc5, 0xb8, 0xd0, 0x96, 0xc5, 0xb9, 0xc5, 0xbd, 0xd0, 0x97, 0xc5, 0xbb, 0xe2, 0x80, 0x8b, 0xce, 0x96, 0xe2, 0x84, 0xa8, 0xe2, 0x84, 0xa4, 0xf0, 0x9d, 0x92, 0xb5, 0xc3, 0xa1, 0xc4, 0x83, 0xe2, 0x88, 0xbe, 0xe2, 0x88, 0xbe, 0xcc, 0xb3, 0xe2, 0x88, 0xbf, 0xc3, 0xa2, 0xc2, 0xb4, 0xd0, 0xb0, 0xc3, 0xa6, 0xe2, 0x81, 0xa1, 0xf0, 0x9d, 0x94, 0x9e, 0xc3, 0xa0, 0xe2, 0x84, 0xb5, 0xe2, 0x84, 0xb5, 0xce, 0xb1, 0xc4, 0x81, 0xe2, 0xa8, 0xbf, 0x26, 0xe2, 0x88, 0xa7, 0xe2, 0xa9, 0x95, 0xe2, 0xa9, 0x9c, 0xe2, 0xa9, 0x98, 0xe2, 0xa9, 0x9a, 0xe2, 0x88, 0xa0, 0xe2, 0xa6, 0xa4, 0xe2, 0x88, 0xa0, 0xe2, 0x88, 0xa1, 0xe2, 0xa6, 0xa8, 0xe2, 0xa6, 0xa9, 0xe2, 0xa6, 0xaa, 0xe2, 0xa6, 0xab, 0xe2, 0xa6, 0xac, 0xe2, 0xa6, 0xad, 0xe2, 0xa6, 0xae, 0xe2, 0xa6, 0xaf, 0xe2, 0x88, 0x9f, 0xe2, 0x8a, 0xbe, 0xe2, 0xa6, 0x9d, 0xe2, 0x88, 0xa2, 0xc3, 0x85, 0xe2, 0x8d, 0xbc, 0xc4, 0x85, 0xf0, 0x9d, 0x95, 0x92, 0xe2, 0x89, 0x88, 0xe2, 0xa9, 0xb0, 0xe2, 0xa9, 0xaf, 0xe2, 0x89, 0x8a, 0xe2, 0x89, 0x8b, 0x27, 0xe2, 0x89, 0x88, 0xe2, 0x89, 0x8a, 0xc3, 0xa5, 0xf0, 0x9d, 0x92, 0xb6, 0x2a, 0xe2, 0x89, 0x88, 0xe2, 0x89, 0x8d, 0xc3, 0xa3, 0xc3, 0xa4, 0xe2, 0x88, 0xb3, 0xe2, 0xa8, 0x91, 0xe2, 0xab, 0xad, 0xe2, 0x89, 0x8c, 0xcf, 0xb6, 0xe2, 0x80, 0xb5, 0xe2, 0x88, 0xbd, 0xe2, 0x8b, 0x8d, 0xe2, 0x8a, 0xbd, 0xe2, 0x8c, 0x85, 0xe2, 0x8c, 0x85, 0xe2, 0x8e, 0xb5, 0xe2, 0x8e, 0xb6, 0xe2, 0x89, 0x8c, 0xd0, 0xb1, 0xe2, 0x80, 0x9e, 0xe2, 0x88, 0xb5, 0xe2, 0x88, 0xb5, 0xe2, 0xa6, 0xb0, 0xcf, 0xb6, 0xe2, 0x84, 0xac, 0xce, 0xb2, 0xe2, 0x84, 0xb6, 0xe2, 0x89, 0xac, 0xf0, 0x9d, 0x94, 0x9f, 0xe2, 0x8b, 0x82, 0xe2, 0x97, 0xaf, 0xe2, 0x8b, 0x83, 0xe2, 0xa8, 0x80, 0xe2, 0xa8, 0x81, 0xe2, 0xa8, 0x82, 0xe2, 0xa8, 0x86, 0xe2, 0x98, 0x85, 0xe2, 0x96, 0xbd, 0xe2, 0x96, 0xb3, 0xe2, 0xa8, 0x84, 0xe2, 0x8b, 0x81, 0xe2, 0x8b, 0x80, 0xe2, 0xa4, 0x8d, 0xe2, 0xa7, 0xab, 0xe2, 0x96, 0xaa, 0xe2, 0x96, 0xb4, 0xe2, 0x96, 0xbe, 0xe2, 0x97, 0x82, 0xe2, 0x96, 0xb8, 0xe2, 0x90, 0xa3, 0xe2, 0x96, 0x92, 0xe2, 0x96, 0x91, 0xe2, 0x96, 0x93, 0xe2, 0x96, 0x88, 0x3d, 0xe2, 0x83, 0xa5, 0xe2, 0x89, 0xa1, 0xe2, 0x83, 0xa5, 0xe2, 0x8c, 0x90, 0xf0, 0x9d, 0x95, 0x93, 0xe2, 0x8a, 0xa5, 0xe2, 0x8a, 0xa5, 0xe2, 0x8b, 0x88, 0xe2, 0x95, 0x97, 0xe2, 0x95, 0x94, 0xe2, 0x95, 0x96, 0xe2, 0x95, 0x93, 0xe2, 0x95, 0x90, 0xe2, 0x95, 0xa6, 0xe2, 0x95, 0xa9, 0xe2, 0x95, 0xa4, 0xe2, 0x95, 0xa7, 0xe2, 0x95, 0x9d, 0xe2, 0x95, 0x9a, 0xe2, 0x95, 0x9c, 0xe2, 0x95, 0x99, 0xe2, 0x95, 0x91, 0xe2, 0x95, 0xac, 0xe2, 0x95, 0xa3, 0xe2, 0x95, 0xa0, 0xe2, 0x95, 0xab, 0xe2, 0x95, 0xa2, 0xe2, 0x95, 0x9f, 0xe2, 0xa7, 0x89, 0xe2, 0x95, 0x95, 0xe2, 0x95, 0x92, 0xe2, 0x94, 0x90, 0xe2, 0x94, 0x8c, 0xe2, 0x94, 0x80, 0xe2, 0x95, 0xa5, 0xe2, 0x95, 0xa8, 0xe2, 0x94, 0xac, 0xe2, 0x94, 0xb4, 0xe2, 0x8a, 0x9f, 0xe2, 0x8a, 0x9e, 0xe2, 0x8a, 0xa0, 0xe2, 0x95, 0x9b, 0xe2, 0x95, 0x98, 0xe2, 0x94, 0x98, 0xe2, 0x94, 0x94, 0xe2, 0x94, 0x82, 0xe2, 0x95, 0xaa, 0xe2, 0x95, 0xa1, 0xe2, 0x95, 0x9e, 0xe2, 0x94, 0xbc, 0xe2, 0x94, 0xa4, 0xe2, 0x94, 0x9c, 0xe2, 0x80, 0xb5, 0xcb, 0x98, 0xc2, 0xa6, 0xf0, 0x9d, 0x92, 0xb7, 0xe2, 0x81, 0x8f, 0xe2, 0x88, 0xbd, 0xe2, 0x8b, 0x8d, 0x5c, 0xe2, 0xa7, 0x85, 0xe2, 0x9f, 0x88, 0xe2, 0x80, 0xa2, 0xe2, 0x80, 0xa2, 0xe2, 0x89, 0x8e, 0xe2, 0xaa, 0xae, 0xe2, 0x89, 0x8f, 0xe2, 0x89, 0x8f, 0xc4, 0x87, 0xe2, 0x88, 0xa9, 0xe2, 0xa9, 0x84, 0xe2, 0xa9, 0x89, 0xe2, 0xa9, 0x8b, 0xe2, 0xa9, 0x87, 0xe2, 0xa9, 0x80, 0xe2, 0x88, 0xa9, 0xef, 0xb8, 0x80, 0xe2, 0x81, 0x81, 0xcb, 0x87, 0xe2, 0xa9, 0x8d, 0xc4, 0x8d, 0xc3, 0xa7, 0xc4, 0x89, 0xe2, 0xa9, 0x8c, 0xe2, 0xa9, 0x90, 0xc4, 0x8b, 0xc2, 0xb8, 0xe2, 0xa6, 0xb2, 0xc2, 0xa2, 0xc2, 0xb7, 0xf0, 0x9d, 0x94, 0xa0, 0xd1, 0x87, 0xe2, 0x9c, 0x93, 0xe2, 0x9c, 0x93, 0xcf, 0x87, 0xe2, 0x97, 0x8b, 0xe2, 0xa7, 0x83, 0xcb, 0x86, 0xe2, 0x89, 0x97, 0xe2, 0x86, 0xba, 0xe2, 0x86, 0xbb, 0xc2, 0xae, 0xe2, 0x93, 0x88, 0xe2, 0x8a, 0x9b, 0xe2, 0x8a, 0x9a, 0xe2, 0x8a, 0x9d, 0xe2, 0x89, 0x97, 0xe2, 0xa8, 0x90, 0xe2, 0xab, 0xaf, 0xe2, 0xa7, 0x82, 0xe2, 0x99, 0xa3, 0xe2, 0x99, 0xa3, 0x3a, 0xe2, 0x89, 0x94, 0xe2, 0x89, 0x94, 0x2c, 0x40, 0xe2, 0x88, 0x81, 0xe2, 0x88, 0x98, 0xe2, 0x88, 0x81, 0xe2, 0x84, 0x82, 0xe2, 0x89, 0x85, 0xe2, 0xa9, 0xad, 0xe2, 0x88, 0xae, 0xf0, 0x9d, 0x95, 0x94, 0xe2, 0x88, 0x90, 0xc2, 0xa9, 0xe2, 0x84, 0x97, 0xe2, 0x86, 0xb5, 0xe2, 0x9c, 0x97, 0xf0, 0x9d, 0x92, 0xb8, 0xe2, 0xab, 0x8f, 0xe2, 0xab, 0x91, 0xe2, 0xab, 0x90, 0xe2, 0xab, 0x92, 0xe2, 0x8b, 0xaf, 0xe2, 0xa4, 0xb8, 0xe2, 0xa4, 0xb5, 0xe2, 0x8b, 0x9e, 0xe2, 0x8b, 0x9f, 0xe2, 0x86, 0xb6, 0xe2, 0xa4, 0xbd, 0xe2, 0x88, 0xaa, 0xe2, 0xa9, 0x88, 0xe2, 0xa9, 0x86, 0xe2, 0xa9, 0x8a, 0xe2, 0x8a, 0x8d, 0xe2, 0xa9, 0x85, 0xe2, 0x88, 0xaa, 0xef, 0xb8, 0x80, 0xe2, 0x86, 0xb7, 0xe2, 0xa4, 0xbc, 0xe2, 0x8b, 0x9e, 0xe2, 0x8b, 0x9f, 0xe2, 0x8b, 0x8e, 0xe2, 0x8b, 0x8f, 0xc2, 0xa4, 0xe2, 0x86, 0xb6, 0xe2, 0x86, 0xb7, 0xe2, 0x8b, 0x8e, 0xe2, 0x8b, 0x8f, 0xe2, 0x88, 0xb2, 0xe2, 0x88, 0xb1, 0xe2, 0x8c, 0xad, 0xe2, 0x87, 0x93, 0xe2, 0xa5, 0xa5, 0xe2, 0x80, 0xa0, 0xe2, 0x84, 0xb8, 0xe2, 0x86, 0x93, 0xe2, 0x80, 0x90, 0xe2, 0x8a, 0xa3, 0xe2, 0xa4, 0x8f, 0xcb, 0x9d, 0xc4, 0x8f, 0xd0, 0xb4, 0xe2, 0x85, 0x86, 0xe2, 0x80, 0xa1, 0xe2, 0x87, 0x8a, 0xe2, 0xa9, 0xb7, 0xc2, 0xb0, 0xce, 0xb4, 0xe2, 0xa6, 0xb1, 0xe2, 0xa5, 0xbf, 0xf0, 0x9d, 0x94, 0xa1, 0xe2, 0x87, 0x83, 0xe2, 0x87, 0x82, 0xe2, 0x8b, 0x84, 0xe2, 0x8b, 0x84, 0xe2, 0x99, 0xa6, 0xe2, 0x99, 0xa6, 0xc2, 0xa8, 0xcf, 0x9d, 0xe2, 0x8b, 0xb2, 0xc3, 0xb7, 0xc3, 0xb7, 0xe2, 0x8b, 0x87, 0xe2, 0x8b, 0x87, 0xd1, 0x92, 0xe2, 0x8c, 0x9e, 0xe2, 0x8c, 0x8d, 0x24, 0xf0, 0x9d, 0x95, 0x95, 0xcb, 0x99, 0xe2, 0x89, 0x90, 0xe2, 0x89, 0x91, 0xe2, 0x88, 0xb8, 0xe2, 0x88, 0x94, 0xe2, 0x8a, 0xa1, 0xe2, 0x8c, 0x86, 0xe2, 0x86, 0x93, 0xe2, 0x87, 0x8a, 0xe2, 0x87, 0x83, 0xe2, 0x87, 0x82, 0xe2, 0xa4, 0x90, 0xe2, 0x8c, 0x9f, 0xe2, 0x8c, 0x8c, 0xf0, 0x9d, 0x92, 0xb9, 0xd1, 0x95, 0xe2, 0xa7, 0xb6, 0xc4, 0x91, 0xe2, 0x8b, 0xb1, 0xe2, 0x96, 0xbf, 0xe2, 0x96, 0xbe, 0xe2, 0x87, 0xb5, 0xe2, 0xa5, 0xaf, 0xe2, 0xa6, 0xa6, 0xd1, 0x9f, 0xe2, 0x9f, 0xbf, 0xe2, 0xa9, 0xb7, 0xe2, 0x89, 0x91, 0xc3, 0xa9, 0xe2, 0xa9, 0xae, 0xc4, 0x9b, 0xe2, 0x89, 0x96, 0xc3, 0xaa, 0xe2, 0x89, 0x95, 0xd1, 0x8d, 0xc4, 0x97, 0xe2, 0x85, 0x87, 0xe2, 0x89, 0x92, 0xf0, 0x9d, 0x94, 0xa2, 0xe2, 0xaa, 0x9a, 0xc3, 0xa8, 0xe2, 0xaa, 0x96, 0xe2, 0xaa, 0x98, 0xe2, 0xaa, 0x99, 0xe2, 0x8f, 0xa7, 0xe2, 0x84, 0x93, 0xe2, 0xaa, 0x95, 0xe2, 0xaa, 0x97, 0xc4, 0x93, 0xe2, 0x88, 0x85, 0xe2, 0x88, 0x85, 0xe2, 0x88, 0x85, 0xe2, 0x80, 0x83, 0xe2, 0x80, 0x84, 0xe2, 0x80, 0x85, 0xc5, 0x8b, 0xe2, 0x80, 0x82, 0xc4, 0x99, 0xf0, 0x9d, 0x95, 0x96, 0xe2, 0x8b, 0x95, 0xe2, 0xa7, 0xa3, 0xe2, 0xa9, 0xb1, 0xce, 0xb5, 0xce, 0xb5, 0xcf, 0xb5, 0xe2, 0x89, 0x96, 0xe2, 0x89, 0x95, 0xe2, 0x89, 0x82, 0xe2, 0xaa, 0x96, 0xe2, 0xaa, 0x95, 0x3d, 0xe2, 0x89, 0x9f, 0xe2, 0x89, 0xa1, 0xe2, 0xa9, 0xb8, 0xe2, 0xa7, 0xa5, 0xe2, 0x89, 0x93, 0xe2, 0xa5, 0xb1, 0xe2, 0x84, 0xaf, 0xe2, 0x89, 0x90, 0xe2, 0x89, 0x82, 0xce, 0xb7, 0xc3, 0xb0, 0xc3, 0xab, 0xe2, 0x82, 0xac, 0x21, 0xe2, 0x88, 0x83, 0xe2, 0x84, 0xb0, 0xe2, 0x85, 0x87, 0xe2, 0x89, 0x92, 0xd1, 0x84, 0xe2, 0x99, 0x80, 0xef, 0xac, 0x83, 0xef, 0xac, 0x80, 0xef, 0xac, 0x84, 0xf0, 0x9d, 0x94, 0xa3, 0xef, 0xac, 0x81, 0x66, 0x6a, 0xe2, 0x99, 0xad, 0xef, 0xac, 0x82, 0xe2, 0x96, 0xb1, 0xc6, 0x92, 0xf0, 0x9d, 0x95, 0x97, 0xe2, 0x88, 0x80, 0xe2, 0x8b, 0x94, 0xe2, 0xab, 0x99, 0xe2, 0xa8, 0x8d, 0xc2, 0xbd, 0xe2, 0x85, 0x93, 0xc2, 0xbc, 0xe2, 0x85, 0x95, 0xe2, 0x85, 0x99, 0xe2, 0x85, 0x9b, 0xe2, 0x85, 0x94, 0xe2, 0x85, 0x96, 0xc2, 0xbe, 0xe2, 0x85, 0x97, 0xe2, 0x85, 0x9c, 0xe2, 0x85, 0x98, 0xe2, 0x85, 0x9a, 0xe2, 0x85, 0x9d, 0xe2, 0x85, 0x9e, 0xe2, 0x81, 0x84, 0xe2, 0x8c, 0xa2, 0xf0, 0x9d, 0x92, 0xbb, 0xe2, 0x89, 0xa7, 0xe2, 0xaa, 0x8c, 0xc7, 0xb5, 0xce, 0xb3, 0xcf, 0x9d, 0xe2, 0xaa, 0x86, 0xc4, 0x9f, 0xc4, 0x9d, 0xd0, 0xb3, 0xc4, 0xa1, 0xe2, 0x89, 0xa5, 0xe2, 0x8b, 0x9b, 0xe2, 0x89, 0xa5, 0xe2, 0x89, 0xa7, 0xe2, 0xa9, 0xbe, 0xe2, 0xa9, 0xbe, 0xe2, 0xaa, 0xa9, 0xe2, 0xaa, 0x80, 0xe2, 0xaa, 0x82, 0xe2, 0xaa, 0x84, 0xe2, 0x8b, 0x9b, 0xef, 0xb8, 0x80, 0xe2, 0xaa, 0x94, 0xf0, 0x9d, 0x94, 0xa4, 0xe2, 0x89, 0xab, 0xe2, 0x8b, 0x99, 0xe2, 0x84, 0xb7, 0xd1, 0x93, 0xe2, 0x89, 0xb7, 0xe2, 0xaa, 0x92, 0xe2, 0xaa, 0xa5, 0xe2, 0xaa, 0xa4, 0xe2, 0x89, 0xa9, 0xe2, 0xaa, 0x8a, 0xe2, 0xaa, 0x8a, 0xe2, 0xaa, 0x88, 0xe2, 0xaa, 0x88, 0xe2, 0x89, 0xa9, 0xe2, 0x8b, 0xa7, 0xf0, 0x9d, 0x95, 0x98, 0x60, 0xe2, 0x84, 0x8a, 0xe2, 0x89, 0xb3, 0xe2, 0xaa, 0x8e, 0xe2, 0xaa, 0x90, 0x3e, 0xe2, 0xaa, 0xa7, 0xe2, 0xa9, 0xba, 0xe2, 0x8b, 0x97, 0xe2, 0xa6, 0x95, 0xe2, 0xa9, 0xbc, 0xe2, 0xaa, 0x86, 0xe2, 0xa5, 0xb8, 0xe2, 0x8b, 0x97, 0xe2, 0x8b, 0x9b, 0xe2, 0xaa, 0x8c, 0xe2, 0x89, 0xb7, 0xe2, 0x89, 0xb3, 0xe2, 0x89, 0xa9, 0xef, 0xb8, 0x80, 0xe2, 0x89, 0xa9, 0xef, 0xb8, 0x80, 0xe2, 0x87, 0x94, 0xe2, 0x80, 0x8a, 0xc2, 0xbd, 0xe2, 0x84, 0x8b, 0xd1, 0x8a, 0xe2, 0x86, 0x94, 0xe2, 0xa5, 0x88, 0xe2, 0x86, 0xad, 0xe2, 0x84, 0x8f, 0xc4, 0xa5, 0xe2, 0x99, 0xa5, 0xe2, 0x99, 0xa5, 0xe2, 0x80, 0xa6, 0xe2, 0x8a, 0xb9, 0xf0, 0x9d, 0x94, 0xa5, 0xe2, 0xa4, 0xa5, 0xe2, 0xa4, 0xa6, 0xe2, 0x87, 0xbf, 0xe2, 0x88, 0xbb, 0xe2, 0x86, 0xa9, 0xe2, 0x86, 0xaa, 0xf0, 0x9d, 0x95, 0x99, 0xe2, 0x80, 0x95, 0xf0, 0x9d, 0x92, 0xbd, 0xe2, 0x84, 0x8f, 0xc4, 0xa7, 0xe2, 0x81, 0x83, 0xe2, 0x80, 0x90, 0xc3, 0xad, 0xe2, 0x81, 0xa3, 0xc3, 0xae, 0xd0, 0xb8, 0xd0, 0xb5, 0xc2, 0xa1, 0xe2, 0x87, 0x94, 0xf0, 0x9d, 0x94, 0xa6, 0xc3, 0xac, 0xe2, 0x85, 0x88, 0xe2, 0xa8, 0x8c, 0xe2, 0x88, 0xad, 0xe2, 0xa7, 0x9c, 0xe2, 0x84, 0xa9, 0xc4, 0xb3, 0xc4, 0xab, 0xe2, 0x84, 0x91, 0xe2, 0x84, 0x90, 0xe2, 0x84, 0x91, 0xc4, 0xb1, 0xe2, 0x8a, 0xb7, 0xc6, 0xb5, 0xe2, 0x88, 0x88, 0xe2, 0x84, 0x85, 0xe2, 0x88, 0x9e, 0xe2, 0xa7, 0x9d, 0xc4, 0xb1, 0xe2, 0x88, 0xab, 0xe2, 0x8a, 0xba, 0xe2, 0x84, 0xa4, 0xe2, 0x8a, 0xba, 0xe2, 0xa8, 0x97, 0xe2, 0xa8, 0xbc, 0xd1, 0x91, 0xc4, 0xaf, 0xf0, 0x9d, 0x95, 0x9a, 0xce, 0xb9, 0xe2, 0xa8, 0xbc, 0xc2, 0xbf, 0xf0, 0x9d, 0x92, 0xbe, 0xe2, 0x88, 0x88, 0xe2, 0x8b, 0xb9, 0xe2, 0x8b, 0xb5, 0xe2, 0x8b, 0xb4, 0xe2, 0x8b, 0xb3, 0xe2, 0x88, 0x88, 0xe2, 0x81, 0xa2, 0xc4, 0xa9, 0xd1, 0x96, 0xc3, 0xaf, 0xc4, 0xb5, 0xd0, 0xb9, 0xf0, 0x9d, 0x94, 0xa7, 0xc8, 0xb7, 0xf0, 0x9d, 0x95, 0x9b, 0xf0, 0x9d, 0x92, 0xbf, 0xd1, 0x98, 0xd1, 0x94, 0xce, 0xba, 0xcf, 0xb0, 0xc4, 0xb7, 0xd0, 0xba, 0xf0, 0x9d, 0x94, 0xa8, 0xc4, 0xb8, 0xd1, 0x85, 0xd1, 0x9c, 0xf0, 0x9d, 0x95, 0x9c, 0xf0, 0x9d, 0x93, 0x80, 0xe2, 0x87, 0x9a, 0xe2, 0x87, 0x90, 0xe2, 0xa4, 0x9b, 0xe2, 0xa4, 0x8e, 0xe2, 0x89, 0xa6, 0xe2, 0xaa, 0x8b, 0xe2, 0xa5, 0xa2, 0xc4, 0xba, 0xe2, 0xa6, 0xb4, 0xe2, 0x84, 0x92, 0xce, 0xbb, 0xe2, 0x9f, 0xa8, 0xe2, 0xa6, 0x91, 0xe2, 0x9f, 0xa8, 0xe2, 0xaa, 0x85, 0xc2, 0xab, 0xe2, 0x86, 0x90, 0xe2, 0x87, 0xa4, 0xe2, 0xa4, 0x9f, 0xe2, 0xa4, 0x9d, 0xe2, 0x86, 0xa9, 0xe2, 0x86, 0xab, 0xe2, 0xa4, 0xb9, 0xe2, 0xa5, 0xb3, 0xe2, 0x86, 0xa2, 0xe2, 0xaa, 0xab, 0xe2, 0xa4, 0x99, 0xe2, 0xaa, 0xad, 0xe2, 0xaa, 0xad, 0xef, 0xb8, 0x80, 0xe2, 0xa4, 0x8c, 0xe2, 0x9d, 0xb2, 0x7b, 0x5b, 0xe2, 0xa6, 0x8b, 0xe2, 0xa6, 0x8f, 0xe2, 0xa6, 0x8d, 0xc4, 0xbe, 0xc4, 0xbc, 0xe2, 0x8c, 0x88, 0x7b, 0xd0, 0xbb, 0xe2, 0xa4, 0xb6, 0xe2, 0x80, 0x9c, 0xe2, 0x80, 0x9e, 0xe2, 0xa5, 0xa7, 0xe2, 0xa5, 0x8b, 0xe2, 0x86, 0xb2, 0xe2, 0x89, 0xa4, 0xe2, 0x86, 0x90, 0xe2, 0x86, 0xa2, 0xe2, 0x86, 0xbd, 0xe2, 0x86, 0xbc, 0xe2, 0x87, 0x87, 0xe2, 0x86, 0x94, 0xe2, 0x87, 0x86, 0xe2, 0x87, 0x8b, 0xe2, 0x86, 0xad, 0xe2, 0x8b, 0x8b, 0xe2, 0x8b, 0x9a, 0xe2, 0x89, 0xa4, 0xe2, 0x89, 0xa6, 0xe2, 0xa9, 0xbd, 0xe2, 0xa9, 0xbd, 0xe2, 0xaa, 0xa8, 0xe2, 0xa9, 0xbf, 0xe2, 0xaa, 0x81, 0xe2, 0xaa, 0x83, 0xe2, 0x8b, 0x9a, 0xef, 0xb8, 0x80, 0xe2, 0xaa, 0x93, 0xe2, 0xaa, 0x85, 0xe2, 0x8b, 0x96, 0xe2, 0x8b, 0x9a, 0xe2, 0xaa, 0x8b, 0xe2, 0x89, 0xb6, 0xe2, 0x89, 0xb2, 0xe2, 0xa5, 0xbc, 0xe2, 0x8c, 0x8a, 0xf0, 0x9d, 0x94, 0xa9, 0xe2, 0x89, 0xb6, 0xe2, 0xaa, 0x91, 0xe2, 0x86, 0xbd, 0xe2, 0x86, 0xbc, 0xe2, 0xa5, 0xaa, 0xe2, 0x96, 0x84, 0xd1, 0x99, 0xe2, 0x89, 0xaa, 0xe2, 0x87, 0x87, 0xe2, 0x8c, 0x9e, 0xe2, 0xa5, 0xab, 0xe2, 0x97, 0xba, 0xc5, 0x80, 0xe2, 0x8e, 0xb0, 0xe2, 0x8e, 0xb0, 0xe2, 0x89, 0xa8, 0xe2, 0xaa, 0x89, 0xe2, 0xaa, 0x89, 0xe2, 0xaa, 0x87, 0xe2, 0xaa, 0x87, 0xe2, 0x89, 0xa8, 0xe2, 0x8b, 0xa6, 0xe2, 0x9f, 0xac, 0xe2, 0x87, 0xbd, 0xe2, 0x9f, 0xa6, 0xe2, 0x9f, 0xb5, 0xe2, 0x9f, 0xb7, 0xe2, 0x9f, 0xbc, 0xe2, 0x9f, 0xb6, 0xe2, 0x86, 0xab, 0xe2, 0x86, 0xac, 0xe2, 0xa6, 0x85, 0xf0, 0x9d, 0x95, 0x9d, 0xe2, 0xa8, 0xad, 0xe2, 0xa8, 0xb4, 0xe2, 0x88, 0x97, 0x5f, 0xe2, 0x97, 0x8a, 0xe2, 0x97, 0x8a, 0xe2, 0xa7, 0xab, 0x28, 0xe2, 0xa6, 0x93, 0xe2, 0x87, 0x86, 0xe2, 0x8c, 0x9f, 0xe2, 0x87, 0x8b, 0xe2, 0xa5, 0xad, 0xe2, 0x80, 0x8e, 0xe2, 0x8a, 0xbf, 0xe2, 0x80, 0xb9, 0xf0, 0x9d, 0x93, 0x81, 0xe2, 0x86, 0xb0, 0xe2, 0x89, 0xb2, 0xe2, 0xaa, 0x8d, 0xe2, 0xaa, 0x8f, 0x5b, 0xe2, 0x80, 0x98, 0xe2, 0x80, 0x9a, 0xc5, 0x82, 0x3c, 0xe2, 0xaa, 0xa6, 0xe2, 0xa9, 0xb9, 0xe2, 0x8b, 0x96, 0xe2, 0x8b, 0x8b, 0xe2, 0x8b, 0x89, 0xe2, 0xa5, 0xb6, 0xe2, 0xa9, 0xbb, 0xe2, 0xa6, 0x96, 0xe2, 0x97, 0x83, 0xe2, 0x8a, 0xb4, 0xe2, 0x97, 0x82, 0xe2, 0xa5, 0x8a, 0xe2, 0xa5, 0xa6, 0xe2, 0x89, 0xa8, 0xef, 0xb8, 0x80, 0xe2, 0x89, 0xa8, 0xef, 0xb8, 0x80, 0xe2, 0x88, 0xba, 0xc2, 0xaf, 0xe2, 0x99, 0x82, 0xe2, 0x9c, 0xa0, 0xe2, 0x9c, 0xa0, 0xe2, 0x86, 0xa6, 0xe2, 0x86, 0xa6, 0xe2, 0x86, 0xa7, 0xe2, 0x86, 0xa4, 0xe2, 0x86, 0xa5, 0xe2, 0x96, 0xae, 0xe2, 0xa8, 0xa9, 0xd0, 0xbc, 0xe2, 0x80, 0x94, 0xe2, 0x88, 0xa1, 0xf0, 0x9d, 0x94, 0xaa, 0xe2, 0x84, 0xa7, 0xc2, 0xb5, 0xe2, 0x88, 0xa3, 0x2a, 0xe2, 0xab, 0xb0, 0xc2, 0xb7, 0xe2, 0x88, 0x92, 0xe2, 0x8a, 0x9f, 0xe2, 0x88, 0xb8, 0xe2, 0xa8, 0xaa, 0xe2, 0xab, 0x9b, 0xe2, 0x80, 0xa6, 0xe2, 0x88, 0x93, 0xe2, 0x8a, 0xa7, 0xf0, 0x9d, 0x95, 0x9e, 0xe2, 0x88, 0x93, 0xf0, 0x9d, 0x93, 0x82, 0xe2, 0x88, 0xbe, 0xce, 0xbc, 0xe2, 0x8a, 0xb8, 0xe2, 0x8a, 0xb8, 0xe2, 0x8b, 0x99, 0xcc, 0xb8, 0xe2, 0x89, 0xab, 0xe2, 0x83, 0x92, 0xe2, 0x89, 0xab, 0xcc, 0xb8, 0xe2, 0x87, 0x8d, 0xe2, 0x87, 0x8e, 0xe2, 0x8b, 0x98, 0xcc, 0xb8, 0xe2, 0x89, 0xaa, 0xe2, 0x83, 0x92, 0xe2, 0x89, 0xaa, 0xcc, 0xb8, 0xe2, 0x87, 0x8f, 0xe2, 0x8a, 0xaf, 0xe2, 0x8a, 0xae, 0xe2, 0x88, 0x87, 0xc5, 0x84, 0xe2, 0x88, 0xa0, 0xe2, 0x83, 0x92, 0xe2, 0x89, 0x89, 0xe2, 0xa9, 0xb0, 0xcc, 0xb8, 0xe2, 0x89, 0x8b, 0xcc, 0xb8, 0xc5, 0x89, 0xe2, 0x89, 0x89, 0xe2, 0x99, 0xae, 0xe2, 0x99, 0xae, 0xe2, 0x84, 0x95, 0xc2, 0xa0, 0xe2, 0x89, 0x8e, 0xcc, 0xb8, 0xe2, 0x89, 0x8f, 0xcc, 0xb8, 0xe2, 0xa9, 0x83, 0xc5, 0x88, 0xc5, 0x86, 0xe2, 0x89, 0x87, 0xe2, 0xa9, 0xad, 0xcc, 0xb8, 0xe2, 0xa9, 0x82, 0xd0, 0xbd, 0xe2, 0x80, 0x93, 0xe2, 0x89, 0xa0, 0xe2, 0x87, 0x97, 0xe2, 0xa4, 0xa4, 0xe2, 0x86, 0x97, 0xe2, 0x86, 0x97, 0xe2, 0x89, 0x90, 0xcc, 0xb8, 0xe2, 0x89, 0xa2, 0xe2, 0xa4, 0xa8, 0xe2, 0x89, 0x82, 0xcc, 0xb8, 0xe2, 0x88, 0x84, 0xe2, 0x88, 0x84, 0xf0, 0x9d, 0x94, 0xab, 0xe2, 0x89, 0xa7, 0xcc, 0xb8, 0xe2, 0x89, 0xb1, 0xe2, 0x89, 0xb1, 0xe2, 0x89, 0xa7, 0xcc, 0xb8, 0xe2, 0xa9, 0xbe, 0xcc, 0xb8, 0xe2, 0xa9, 0xbe, 0xcc, 0xb8, 0xe2, 0x89, 0xb5, 0xe2, 0x89, 0xaf, 0xe2, 0x89, 0xaf, 0xe2, 0x87, 0x8e, 0xe2, 0x86, 0xae, 0xe2, 0xab, 0xb2, 0xe2, 0x88, 0x8b, 0xe2, 0x8b, 0xbc, 0xe2, 0x8b, 0xba, 0xe2, 0x88, 0x8b, 0xd1, 0x9a, 0xe2, 0x87, 0x8d, 0xe2, 0x89, 0xa6, 0xcc, 0xb8, 0xe2, 0x86, 0x9a, 0xe2, 0x80, 0xa5, 0xe2, 0x89, 0xb0, 0xe2, 0x86, 0x9a, 0xe2, 0x86, 0xae, 0xe2, 0x89, 0xb0, 0xe2, 0x89, 0xa6, 0xcc, 0xb8, 0xe2, 0xa9, 0xbd, 0xcc, 0xb8, 0xe2, 0xa9, 0xbd, 0xcc, 0xb8, 0xe2, 0x89, 0xae, 0xe2, 0x89, 0xb4, 0xe2, 0x89, 0xae, 0xe2, 0x8b, 0xaa, 0xe2, 0x8b, 0xac, 0xe2, 0x88, 0xa4, 0xf0, 0x9d, 0x95, 0x9f, 0xc2, 0xac, 0xe2, 0x88, 0x89, 0xe2, 0x8b, 0xb9, 0xcc, 0xb8, 0xe2, 0x8b, 0xb5, 0xcc, 0xb8, 0xe2, 0x88, 0x89, 0xe2, 0x8b, 0xb7, 0xe2, 0x8b, 0xb6, 0xe2, 0x88, 0x8c, 0xe2, 0x88, 0x8c, 0xe2, 0x8b, 0xbe, 0xe2, 0x8b, 0xbd, 0xe2, 0x88, 0xa6, 0xe2, 0x88, 0xa6, 0xe2, 0xab, 0xbd, 0xe2, 0x83, 0xa5, 0xe2, 0x88, 0x82, 0xcc, 0xb8, 0xe2, 0xa8, 0x94, 0xe2, 0x8a, 0x80, 0xe2, 0x8b, 0xa0, 0xe2, 0xaa, 0xaf, 0xcc, 0xb8, 0xe2, 0x8a, 0x80, 0xe2, 0xaa, 0xaf, 0xcc, 0xb8, 0xe2, 0x87, 0x8f, 0xe2, 0x86, 0x9b, 0xe2, 0xa4, 0xb3, 0xcc, 0xb8, 0xe2, 0x86, 0x9d, 0xcc, 0xb8, 0xe2, 0x86, 0x9b, 0xe2, 0x8b, 0xab, 0xe2, 0x8b, 0xad, 0xe2, 0x8a, 0x81, 0xe2, 0x8b, 0xa1, 0xe2, 0xaa, 0xb0, 0xcc, 0xb8, 0xf0, 0x9d, 0x93, 0x83, 0xe2, 0x88, 0xa4, 0xe2, 0x88, 0xa6, 0xe2, 0x89, 0x81, 0xe2, 0x89, 0x84, 0xe2, 0x89, 0x84, 0xe2, 0x88, 0xa4, 0xe2, 0x88, 0xa6, 0xe2, 0x8b, 0xa2, 0xe2, 0x8b, 0xa3, 0xe2, 0x8a, 0x84, 0xe2, 0xab, 0x85, 0xcc, 0xb8, 0xe2, 0x8a, 0x88, 0xe2, 0x8a, 0x82, 0xe2, 0x83, 0x92, 0xe2, 0x8a, 0x88, 0xe2, 0xab, 0x85, 0xcc, 0xb8, 0xe2, 0x8a, 0x81, 0xe2, 0xaa, 0xb0, 0xcc, 0xb8, 0xe2, 0x8a, 0x85, 0xe2, 0xab, 0x86, 0xcc, 0xb8, 0xe2, 0x8a, 0x89, 0xe2, 0x8a, 0x83, 0xe2, 0x83, 0x92, 0xe2, 0x8a, 0x89, 0xe2, 0xab, 0x86, 0xcc, 0xb8, 0xe2, 0x89, 0xb9, 0xc3, 0xb1, 0xe2, 0x89, 0xb8, 0xe2, 0x8b, 0xaa, 0xe2, 0x8b, 0xac, 0xe2, 0x8b, 0xab, 0xe2, 0x8b, 0xad, 0xce, 0xbd, 0x23, 0xe2, 0x84, 0x96, 0xe2, 0x80, 0x87, 0xe2, 0x8a, 0xad, 0xe2, 0xa4, 0x84, 0xe2, 0x89, 0x8d, 0xe2, 0x83, 0x92, 0xe2, 0x8a, 0xac, 0xe2, 0x89, 0xa5, 0xe2, 0x83, 0x92, 0x3e, 0xe2, 0x83, 0x92, 0xe2, 0xa7, 0x9e, 0xe2, 0xa4, 0x82, 0xe2, 0x89, 0xa4, 0xe2, 0x83, 0x92, 0x3c, 0xe2, 0x83, 0x92, 0xe2, 0x8a, 0xb4, 0xe2, 0x83, 0x92, 0xe2, 0xa4, 0x83, 0xe2, 0x8a, 0xb5, 0xe2, 0x83, 0x92, 0xe2, 0x88, 0xbc, 0xe2, 0x83, 0x92, 0xe2, 0x87, 0x96, 0xe2, 0xa4, 0xa3, 0xe2, 0x86, 0x96, 0xe2, 0x86, 0x96, 0xe2, 0xa4, 0xa7, 0xe2, 0x93, 0x88, 0xc3, 0xb3, 0xe2, 0x8a, 0x9b, 0xe2, 0x8a, 0x9a, 0xc3, 0xb4, 0xd0, 0xbe, 0xe2, 0x8a, 0x9d, 0xc5, 0x91, 0xe2, 0xa8, 0xb8, 0xe2, 0x8a, 0x99, 0xe2, 0xa6, 0xbc, 0xc5, 0x93, 0xe2, 0xa6, 0xbf, 0xf0, 0x9d, 0x94, 0xac, 0xcb, 0x9b, 0xc3, 0xb2, 0xe2, 0xa7, 0x81, 0xe2, 0xa6, 0xb5, 0xce, 0xa9, 0xe2, 0x88, 0xae, 0xe2, 0x86, 0xba, 0xe2, 0xa6, 0xbe, 0xe2, 0xa6, 0xbb, 0xe2, 0x80, 0xbe, 0xe2, 0xa7, 0x80, 0xc5, 0x8d, 0xcf, 0x89, 0xce, 0xbf, 0xe2, 0xa6, 0xb6, 0xe2, 0x8a, 0x96, 0xf0, 0x9d, 0x95, 0xa0, 0xe2, 0xa6, 0xb7, 0xe2, 0xa6, 0xb9, 0xe2, 0x8a, 0x95, 0xe2, 0x88, 0xa8, 0xe2, 0x86, 0xbb, 0xe2, 0xa9, 0x9d, 0xe2, 0x84, 0xb4, 0xe2, 0x84, 0xb4, 0xc2, 0xaa, 0xc2, 0xba, 0xe2, 0x8a, 0xb6, 0xe2, 0xa9, 0x96, 0xe2, 0xa9, 0x97, 0xe2, 0xa9, 0x9b, 0xe2, 0x84, 0xb4, 0xc3, 0xb8, 0xe2, 0x8a, 0x98, 0xc3, 0xb5, 0xe2, 0x8a, 0x97, 0xe2, 0xa8, 0xb6, 0xc3, 0xb6, 0xe2, 0x8c, 0xbd, 0xe2, 0x88, 0xa5, 0xc2, 0xb6, 0xe2, 0x88, 0xa5, 0xe2, 0xab, 0xb3, 0xe2, 0xab, 0xbd, 0xe2, 0x88, 0x82, 0xd0, 0xbf, 0x25, 0x2e, 0xe2, 0x80, 0xb0, 0xe2, 0x8a, 0xa5, 0xe2, 0x80, 0xb1, 0xf0, 0x9d, 0x94, 0xad, 0xcf, 0x86, 0xcf, 0x95, 0xe2, 0x84, 0xb3, 0xe2, 0x98, 0x8e, 0xcf, 0x80, 0xe2, 0x8b, 0x94, 0xcf, 0x96, 0xe2, 0x84, 0x8f, 0xe2, 0x84, 0x8e, 0xe2, 0x84, 0x8f, 0x2b, 0xe2, 0xa8, 0xa3, 0xe2, 0x8a, 0x9e, 0xe2, 0xa8, 0xa2, 0xe2, 0x88, 0x94, 0xe2, 0xa8, 0xa5, 0xe2, 0xa9, 0xb2, 0xc2, 0xb1, 0xe2, 0xa8, 0xa6, 0xe2, 0xa8, 0xa7, 0xc2, 0xb1, 0xe2, 0xa8, 0x95, 0xf0, 0x9d, 0x95, 0xa1, 0xc2, 0xa3, 0xe2, 0x89, 0xba, 0xe2, 0xaa, 0xb3, 0xe2, 0xaa, 0xb7, 0xe2, 0x89, 0xbc, 0xe2, 0xaa, 0xaf, 0xe2, 0x89, 0xba, 0xe2, 0xaa, 0xb7, 0xe2, 0x89, 0xbc, 0xe2, 0xaa, 0xaf, 0xe2, 0xaa, 0xb9, 0xe2, 0xaa, 0xb5, 0xe2, 0x8b, 0xa8, 0xe2, 0x89, 0xbe, 0xe2, 0x80, 0xb2, 0xe2, 0x84, 0x99, 0xe2, 0xaa, 0xb5, 0xe2, 0xaa, 0xb9, 0xe2, 0x8b, 0xa8, 0xe2, 0x88, 0x8f, 0xe2, 0x8c, 0xae, 0xe2, 0x8c, 0x92, 0xe2, 0x8c, 0x93, 0xe2, 0x88, 0x9d, 0xe2, 0x88, 0x9d, 0xe2, 0x89, 0xbe, 0xe2, 0x8a, 0xb0, 0xf0, 0x9d, 0x93, 0x85, 0xcf, 0x88, 0xe2, 0x80, 0x88, 0xf0, 0x9d, 0x94, 0xae, 0xe2, 0xa8, 0x8c, 0xf0, 0x9d, 0x95, 0xa2, 0xe2, 0x81, 0x97, 0xf0, 0x9d, 0x93, 0x86, 0xe2, 0x84, 0x8d, 0xe2, 0xa8, 0x96, 0x3f, 0xe2, 0x89, 0x9f, 0x22, 0xe2, 0x87, 0x9b, 0xe2, 0x87, 0x92, 0xe2, 0xa4, 0x9c, 0xe2, 0xa4, 0x8f, 0xe2, 0xa5, 0xa4, 0xe2, 0x88, 0xbd, 0xcc, 0xb1, 0xc5, 0x95, 0xe2, 0x88, 0x9a, 0xe2, 0xa6, 0xb3, 0xe2, 0x9f, 0xa9, 0xe2, 0xa6, 0x92, 0xe2, 0xa6, 0xa5, 0xe2, 0x9f, 0xa9, 0xc2, 0xbb, 0xe2, 0x86, 0x92, 0xe2, 0xa5, 0xb5, 0xe2, 0x87, 0xa5, 0xe2, 0xa4, 0xa0, 0xe2, 0xa4, 0xb3, 0xe2, 0xa4, 0x9e, 0xe2, 0x86, 0xaa, 0xe2, 0x86, 0xac, 0xe2, 0xa5, 0x85, 0xe2, 0xa5, 0xb4, 0xe2, 0x86, 0xa3, 0xe2, 0x86, 0x9d, 0xe2, 0xa4, 0x9a, 0xe2, 0x88, 0xb6, 0xe2, 0x84, 0x9a, 0xe2, 0xa4, 0x8d, 0xe2, 0x9d, 0xb3, 0x7d, 0x5d, 0xe2, 0xa6, 0x8c, 0xe2, 0xa6, 0x8e, 0xe2, 0xa6, 0x90, 0xc5, 0x99, 0xc5, 0x97, 0xe2, 0x8c, 0x89, 0x7d, 0xd1, 0x80, 0xe2, 0xa4, 0xb7, 0xe2, 0xa5, 0xa9, 0xe2, 0x80, 0x9d, 0xe2, 0x80, 0x9d, 0xe2, 0x86, 0xb3, 0xe2, 0x84, 0x9c, 0xe2, 0x84, 0x9b, 0xe2, 0x84, 0x9c, 0xe2, 0x84, 0x9d, 0xe2, 0x96, 0xad, 0xc2, 0xae, 0xe2, 0xa5, 0xbd, 0xe2, 0x8c, 0x8b, 0xf0, 0x9d, 0x94, 0xaf, 0xe2, 0x87, 0x81, 0xe2, 0x87, 0x80, 0xe2, 0xa5, 0xac, 0xcf, 0x81, 0xcf, 0xb1, 0xe2, 0x86, 0x92, 0xe2, 0x86, 0xa3, 0xe2, 0x87, 0x81, 0xe2, 0x87, 0x80, 0xe2, 0x87, 0x84, 0xe2, 0x87, 0x8c, 0xe2, 0x87, 0x89, 0xe2, 0x86, 0x9d, 0xe2, 0x8b, 0x8c, 0xcb, 0x9a, 0xe2, 0x89, 0x93, 0xe2, 0x87, 0x84, 0xe2, 0x87, 0x8c, 0xe2, 0x80, 0x8f, 0xe2, 0x8e, 0xb1, 0xe2, 0x8e, 0xb1, 0xe2, 0xab, 0xae, 0xe2, 0x9f, 0xad, 0xe2, 0x87, 0xbe, 0xe2, 0x9f, 0xa7, 0xe2, 0xa6, 0x86, 0xf0, 0x9d, 0x95, 0xa3, 0xe2, 0xa8, 0xae, 0xe2, 0xa8, 0xb5, 0x29, 0xe2, 0xa6, 0x94, 0xe2, 0xa8, 0x92, 0xe2, 0x87, 0x89, 0xe2, 0x80, 0xba, 0xf0, 0x9d, 0x93, 0x87, 0xe2, 0x86, 0xb1, 0x5d, 0xe2, 0x80, 0x99, 0xe2, 0x80, 0x99, 0xe2, 0x8b, 0x8c, 0xe2, 0x8b, 0x8a, 0xe2, 0x96, 0xb9, 0xe2, 0x8a, 0xb5, 0xe2, 0x96, 0xb8, 0xe2, 0xa7, 0x8e, 0xe2, 0xa5, 0xa8, 0xe2, 0x84, 0x9e, 0xc5, 0x9b, 0xe2, 0x80, 0x9a, 0xe2, 0x89, 0xbb, 0xe2, 0xaa, 0xb4, 0xe2, 0xaa, 0xb8, 0xc5, 0xa1, 0xe2, 0x89, 0xbd, 0xe2, 0xaa, 0xb0, 0xc5, 0x9f, 0xc5, 0x9d, 0xe2, 0xaa, 0xb6, 0xe2, 0xaa, 0xba, 0xe2, 0x8b, 0xa9, 0xe2, 0xa8, 0x93, 0xe2, 0x89, 0xbf, 0xd1, 0x81, 0xe2, 0x8b, 0x85, 0xe2, 0x8a, 0xa1, 0xe2, 0xa9, 0xa6, 0xe2, 0x87, 0x98, 0xe2, 0xa4, 0xa5, 0xe2, 0x86, 0x98, 0xe2, 0x86, 0x98, 0xc2, 0xa7, 0x3b, 0xe2, 0xa4, 0xa9, 0xe2, 0x88, 0x96, 0xe2, 0x88, 0x96, 0xe2, 0x9c, 0xb6, 0xf0, 0x9d, 0x94, 0xb0, 0xe2, 0x8c, 0xa2, 0xe2, 0x99, 0xaf, 0xd1, 0x89, 0xd1, 0x88, 0xe2, 0x88, 0xa3, 0xe2, 0x88, 0xa5, 0xc2, 0xad, 0xcf, 0x83, 0xcf, 0x82, 0xcf, 0x82, 0xe2, 0x88, 0xbc, 0xe2, 0xa9, 0xaa, 0xe2, 0x89, 0x83, 0xe2, 0x89, 0x83, 0xe2, 0xaa, 0x9e, 0xe2, 0xaa, 0xa0, 0xe2, 0xaa, 0x9d, 0xe2, 0xaa, 0x9f, 0xe2, 0x89, 0x86, 0xe2, 0xa8, 0xa4, 0xe2, 0xa5, 0xb2, 0xe2, 0x86, 0x90, 0xe2, 0x88, 0x96, 0xe2, 0xa8, 0xb3, 0xe2, 0xa7, 0xa4, 0xe2, 0x88, 0xa3, 0xe2, 0x8c, 0xa3, 0xe2, 0xaa, 0xaa, 0xe2, 0xaa, 0xac, 0xe2, 0xaa, 0xac, 0xef, 0xb8, 0x80, 0xd1, 0x8c, 0x2f, 0xe2, 0xa7, 0x84, 0xe2, 0x8c, 0xbf, 0xf0, 0x9d, 0x95, 0xa4, 0xe2, 0x99, 0xa0, 0xe2, 0x99, 0xa0, 0xe2, 0x88, 0xa5, 0xe2, 0x8a, 0x93, 0xe2, 0x8a, 0x93, 0xef, 0xb8, 0x80, 0xe2, 0x8a, 0x94, 0xe2, 0x8a, 0x94, 0xef, 0xb8, 0x80, 0xe2, 0x8a, 0x8f, 0xe2, 0x8a, 0x91, 0xe2, 0x8a, 0x8f, 0xe2, 0x8a, 0x91, 0xe2, 0x8a, 0x90, 0xe2, 0x8a, 0x92, 0xe2, 0x8a, 0x90, 0xe2, 0x8a, 0x92, 0xe2, 0x96, 0xa1, 0xe2, 0x96, 0xa1, 0xe2, 0x96, 0xaa, 0xe2, 0x96, 0xaa, 0xe2, 0x86, 0x92, 0xf0, 0x9d, 0x93, 0x88, 0xe2, 0x88, 0x96, 0xe2, 0x8c, 0xa3, 0xe2, 0x8b, 0x86, 0xe2, 0x98, 0x86, 0xe2, 0x98, 0x85, 0xcf, 0xb5, 0xcf, 0x95, 0xc2, 0xaf, 0xe2, 0x8a, 0x82, 0xe2, 0xab, 0x85, 0xe2, 0xaa, 0xbd, 0xe2, 0x8a, 0x86, 0xe2, 0xab, 0x83, 0xe2, 0xab, 0x81, 0xe2, 0xab, 0x8b, 0xe2, 0x8a, 0x8a, 0xe2, 0xaa, 0xbf, 0xe2, 0xa5, 0xb9, 0xe2, 0x8a, 0x82, 0xe2, 0x8a, 0x86, 0xe2, 0xab, 0x85, 0xe2, 0x8a, 0x8a, 0xe2, 0xab, 0x8b, 0xe2, 0xab, 0x87, 0xe2, 0xab, 0x95, 0xe2, 0xab, 0x93, 0xe2, 0x89, 0xbb, 0xe2, 0xaa, 0xb8, 0xe2, 0x89, 0xbd, 0xe2, 0xaa, 0xb0, 0xe2, 0xaa, 0xba, 0xe2, 0xaa, 0xb6, 0xe2, 0x8b, 0xa9, 0xe2, 0x89, 0xbf, 0xe2, 0x88, 0x91, 0xe2, 0x99, 0xaa, 0xe2, 0x8a, 0x83, 0xc2, 0xb9, 0xc2, 0xb2, 0xc2, 0xb3, 0xe2, 0xab, 0x86, 0xe2, 0xaa, 0xbe, 0xe2, 0xab, 0x98, 0xe2, 0x8a, 0x87, 0xe2, 0xab, 0x84, 0xe2, 0x9f, 0x89, 0xe2, 0xab, 0x97, 0xe2, 0xa5, 0xbb, 0xe2, 0xab, 0x82, 0xe2, 0xab, 0x8c, 0xe2, 0x8a, 0x8b, 0xe2, 0xab, 0x80, 0xe2, 0x8a, 0x83, 0xe2, 0x8a, 0x87, 0xe2, 0xab, 0x86, 0xe2, 0x8a, 0x8b, 0xe2, 0xab, 0x8c, 0xe2, 0xab, 0x88, 0xe2, 0xab, 0x94, 0xe2, 0xab, 0x96, 0xe2, 0x87, 0x99, 0xe2, 0xa4, 0xa6, 0xe2, 0x86, 0x99, 0xe2, 0x86, 0x99, 0xe2, 0xa4, 0xaa, 0xc3, 0x9f, 0xe2, 0x8c, 0x96, 0xcf, 0x84, 0xe2, 0x8e, 0xb4, 0xc5, 0xa5, 0xc5, 0xa3, 0xd1, 0x82, 0xe2, 0x83, 0x9b, 0xe2, 0x8c, 0x95, 0xf0, 0x9d, 0x94, 0xb1, 0xe2, 0x88, 0xb4, 0xe2, 0x88, 0xb4, 0xce, 0xb8, 0xcf, 0x91, 0xcf, 0x91, 0xe2, 0x89, 0x88, 0xe2, 0x88, 0xbc, 0xe2, 0x80, 0x89, 0xe2, 0x89, 0x88, 0xe2, 0x88, 0xbc, 0xc3, 0xbe, 0xcb, 0x9c, 0xc3, 0x97, 0xe2, 0x8a, 0xa0, 0xe2, 0xa8, 0xb1, 0xe2, 0xa8, 0xb0, 0xe2, 0x88, 0xad, 0xe2, 0xa4, 0xa8, 0xe2, 0x8a, 0xa4, 0xe2, 0x8c, 0xb6, 0xe2, 0xab, 0xb1, 0xf0, 0x9d, 0x95, 0xa5, 0xe2, 0xab, 0x9a, 0xe2, 0xa4, 0xa9, 0xe2, 0x80, 0xb4, 0xe2, 0x84, 0xa2, 0xe2, 0x96, 0xb5, 0xe2, 0x96, 0xbf, 0xe2, 0x97, 0x83, 0xe2, 0x8a, 0xb4, 0xe2, 0x89, 0x9c, 0xe2, 0x96, 0xb9, 0xe2, 0x8a, 0xb5, 0xe2, 0x97, 0xac, 0xe2, 0x89, 0x9c, 0xe2, 0xa8, 0xba, 0xe2, 0xa8, 0xb9, 0xe2, 0xa7, 0x8d, 0xe2, 0xa8, 0xbb, 0xe2, 0x8f, 0xa2, 0xf0, 0x9d, 0x93, 0x89, 0xd1, 0x86, 0xd1, 0x9b, 0xc5, 0xa7, 0xe2, 0x89, 0xac, 0xe2, 0x86, 0x9e, 0xe2, 0x86, 0xa0, 0xe2, 0x87, 0x91, 0xe2, 0xa5, 0xa3, 0xc3, 0xba, 0xe2, 0x86, 0x91, 0xd1, 0x9e, 0xc5, 0xad, 0xc3, 0xbb, 0xd1, 0x83, 0xe2, 0x87, 0x85, 0xc5, 0xb1, 0xe2, 0xa5, 0xae, 0xe2, 0xa5, 0xbe, 0xf0, 0x9d, 0x94, 0xb2, 0xc3, 0xb9, 0xe2, 0x86, 0xbf, 0xe2, 0x86, 0xbe, 0xe2, 0x96, 0x80, 0xe2, 0x8c, 0x9c, 0xe2, 0x8c, 0x9c, 0xe2, 0x8c, 0x8f, 0xe2, 0x97, 0xb8, 0xc5, 0xab, 0xc2, 0xa8, 0xc5, 0xb3, 0xf0, 0x9d, 0x95, 0xa6, 0xe2, 0x86, 0x91, 0xe2, 0x86, 0x95, 0xe2, 0x86, 0xbf, 0xe2, 0x86, 0xbe, 0xe2, 0x8a, 0x8e, 0xcf, 0x85, 0xcf, 0x92, 0xcf, 0x85, 0xe2, 0x87, 0x88, 0xe2, 0x8c, 0x9d, 0xe2, 0x8c, 0x9d, 0xe2, 0x8c, 0x8e, 0xc5, 0xaf, 0xe2, 0x97, 0xb9, 0xf0, 0x9d, 0x93, 0x8a, 0xe2, 0x8b, 0xb0, 0xc5, 0xa9, 0xe2, 0x96, 0xb5, 0xe2, 0x96, 0xb4, 0xe2, 0x87, 0x88, 0xc3, 0xbc, 0xe2, 0xa6, 0xa7, 0xe2, 0x87, 0x95, 0xe2, 0xab, 0xa8, 0xe2, 0xab, 0xa9, 0xe2, 0x8a, 0xa8, 0xe2, 0xa6, 0x9c, 0xcf, 0xb5, 0xcf, 0xb0, 0xe2, 0x88, 0x85, 0xcf, 0x95, 0xcf, 0x96, 0xe2, 0x88, 0x9d, 0xe2, 0x86, 0x95, 0xcf, 0xb1, 0xcf, 0x82, 0xe2, 0x8a, 0x8a, 0xef, 0xb8, 0x80, 0xe2, 0xab, 0x8b, 0xef, 0xb8, 0x80, 0xe2, 0x8a, 0x8b, 0xef, 0xb8, 0x80, 0xe2, 0xab, 0x8c, 0xef, 0xb8, 0x80, 0xcf, 0x91, 0xe2, 0x8a, 0xb2, 0xe2, 0x8a, 0xb3, 0xd0, 0xb2, 0xe2, 0x8a, 0xa2, 0xe2, 0x88, 0xa8, 0xe2, 0x8a, 0xbb, 0xe2, 0x89, 0x9a, 0xe2, 0x8b, 0xae, 0x7c, 0x7c, 0xf0, 0x9d, 0x94, 0xb3, 0xe2, 0x8a, 0xb2, 0xe2, 0x8a, 0x82, 0xe2, 0x83, 0x92, 0xe2, 0x8a, 0x83, 0xe2, 0x83, 0x92, 0xf0, 0x9d, 0x95, 0xa7, 0xe2, 0x88, 0x9d, 0xe2, 0x8a, 0xb3, 0xf0, 0x9d, 0x93, 0x8b, 0xe2, 0xab, 0x8b, 0xef, 0xb8, 0x80, 0xe2, 0x8a, 0x8a, 0xef, 0xb8, 0x80, 0xe2, 0xab, 0x8c, 0xef, 0xb8, 0x80, 0xe2, 0x8a, 0x8b, 0xef, 0xb8, 0x80, 0xe2, 0xa6, 0x9a, 0xc5, 0xb5, 0xe2, 0xa9, 0x9f, 0xe2, 0x88, 0xa7, 0xe2, 0x89, 0x99, 0xe2, 0x84, 0x98, 0xf0, 0x9d, 0x94, 0xb4, 0xf0, 0x9d, 0x95, 0xa8, 0xe2, 0x84, 0x98, 0xe2, 0x89, 0x80, 0xe2, 0x89, 0x80, 0xf0, 0x9d, 0x93, 0x8c, 0xe2, 0x8b, 0x82, 0xe2, 0x97, 0xaf, 0xe2, 0x8b, 0x83, 0xe2, 0x96, 0xbd, 0xf0, 0x9d, 0x94, 0xb5, 0xe2, 0x9f, 0xba, 0xe2, 0x9f, 0xb7, 0xce, 0xbe, 0xe2, 0x9f, 0xb8, 0xe2, 0x9f, 0xb5, 0xe2, 0x9f, 0xbc, 0xe2, 0x8b, 0xbb, 0xe2, 0xa8, 0x80, 0xf0, 0x9d, 0x95, 0xa9, 0xe2, 0xa8, 0x81, 0xe2, 0xa8, 0x82, 0xe2, 0x9f, 0xb9, 0xe2, 0x9f, 0xb6, 0xf0, 0x9d, 0x93, 0x8d, 0xe2, 0xa8, 0x86, 0xe2, 0xa8, 0x84, 0xe2, 0x96, 0xb3, 0xe2, 0x8b, 0x81, 0xe2, 0x8b, 0x80, 0xc3, 0xbd, 0xd1, 0x8f, 0xc5, 0xb7, 0xd1, 0x8b, 0xc2, 0xa5, 0xf0, 0x9d, 0x94, 0xb6, 0xd1, 0x97, 0xf0, 0x9d, 0x95, 0xaa, 0xf0, 0x9d, 0x93, 0x8e, 0xd1, 0x8e, 0xc3, 0xbf, 0xc5, 0xba, 0xc5, 0xbe, 0xd0, 0xb7, 0xc5, 0xbc, 0xe2, 0x84, 0xa8, 0xce, 0xb6, 0xf0, 0x9d, 0x94, 0xb7, 0xd0, 0xb6, 0xe2, 0x87, 0x9d, 0xf0, 0x9d, 0x95, 0xab, 0xf0, 0x9d, 0x93, 0x8f, 0xe2, 0x80, 0x8d, 0xe2, 0x80, 0x8c}
-var _html5entitiesCharactersIndex = "\x02\x01\x02\x02\x02\x04\x02\x02\x02\x03\x02\x04\x03\x02\x04\x03\x02\x02\x03\x03\x03\x02\x03\x03\x02\x04\x04\x02\x03\x03\x02\x02\x02\x03\x03\x03\x02\x02\x02\x03\x02\x02\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x02\x02\x03\x02\x04\x02\x02\x02\x01\x02\x03\x03\x04\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x02\x02\x02\x02\x02\x02\x02\x02\x04\x02\x03\x02\x03\x03\x02\x04\x02\x03\x03\x03\x03\x03\x02\x02\x03\x03\x02\x04\x03\x03\x04\x03\x03\x03\x02\x01\x02\x02\x02\x02\x02\x02\x02\x04\x03\x04\x03\x03\x03\x03\x03\x03\x03\x04\x03\x02\x02\x01\x02\x03\x03\x03\x03\x03\x02\x03\x03\x02\x02\x02\x02\x02\x02\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x02\x04\x02\x03\x02\x02\x02\x02\x02\x04\x04\x04\x02\x02\x02\x02\x02\x02\x02\x04\x04\x04\x02\x01\x02\x02\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x02\x03\x03\x03\x03\x03\x03\x04\x03\x03\x03\x03\x02\x03\x03\x02\x03\x03\x04\x03\x04\x03\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x01\x04\x03\x02\x03\x03\x03\x03\x03\x03\x03\x05\x03\x03\x03\x05\x05\x03\x05\x03\x05\x05\x03\x05\x03\x03\x03\x03\x05\x05\x03\x05\x05\x03\x05\x03\x03\x03\x05\x03\x05\x03\x05\x03\x06\x03\x03\x05\x03\x05\x06\x03\x03\x03\x03\x03\x03\x04\x02\x02\x02\x02\x02\x02\x02\x04\x02\x02\x02\x02\x04\x03\x03\x03\x04\x02\x02\x03\x02\x03\x03\x03\x03\x03\x02\x04\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x02\x01\x04\x03\x04\x03\x02\x02\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x03\x02\x02\x02\x02\x04\x03\x03\x03\x03\x02\x03\x04\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x02\x02\x01\x02\x02\x02\x02\x04\x03\x02\x06\x03\x03\x03\x03\x03\x04\x03\x04\x02\x02\x03\x03\x02\x02\x02\x02\x02\x04\x02\x02\x01\x03\x03\x03\x03\x03\x02\x04\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x04\x02\x02\x03\x03\x02\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x04\x04\x04\x03\x02\x03\x04\x04\x04\x04\x02\x04\x04\x02\x02\x02\x02\x02\x02\x04\x04\x04\x02\x02\x02\x02\x02\x02\x03\x02\x03\x03\x04\x02\x02\x03\x05\x03\x02\x02\x02\x02\x03\x04\x02\x03\x03\x02\x02\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x02\x04\x03\x03\x03\x03\x03\x01\x03\x03\x02\x04\x01\x03\x03\x02\x02\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x02\x03\x02\x03\x03\x04\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x06\x03\x04\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x04\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x06\x03\x02\x03\x02\x02\x02\x03\x03\x02\x02\x03\x02\x02\x04\x02\x03\x03\x02\x03\x03\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x04\x03\x02\x03\x03\x03\x04\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x06\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x02\x02\x03\x03\x04\x03\x03\x03\x03\x03\x03\x02\x02\x03\x02\x02\x03\x03\x02\x03\x03\x01\x04\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x02\x03\x02\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x02\x03\x02\x03\x02\x03\x02\x02\x03\x03\x04\x03\x02\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x02\x03\x02\x04\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x01\x03\x03\x03\x03\x02\x03\x03\x03\x03\x04\x03\x02\x03\x03\x03\x02\x04\x03\x03\x03\x03\x02\x03\x02\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x02\x02\x02\x03\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x06\x03\x04\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x01\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x06\x06\x03\x03\x02\x03\x02\x03\x03\x03\x03\x02\x03\x03\x03\x03\x04\x03\x03\x03\x03\x03\x03\x04\x03\x04\x03\x02\x03\x03\x02\x03\x02\x02\x02\x02\x03\x04\x02\x03\x03\x03\x03\x03\x02\x02\x03\x03\x03\x02\x03\x02\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x02\x02\x04\x02\x03\x02\x04\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x04\x02\x04\x04\x02\x02\x02\x02\x02\x02\x04\x02\x02\x02\x04\x04\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x02\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x06\x03\x03\x01\x01\x03\x03\x03\x02\x02\x03\x01\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x06\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x03\x03\x01\x03\x03\x02\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x06\x06\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x04\x03\x02\x03\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x04\x03\x02\x03\x03\x05\x06\x05\x03\x03\x05\x06\x05\x03\x03\x03\x03\x02\x06\x03\x05\x05\x02\x03\x03\x03\x03\x02\x05\x05\x03\x02\x02\x03\x05\x03\x02\x03\x03\x03\x03\x03\x03\x05\x03\x03\x05\x03\x03\x04\x05\x03\x03\x05\x05\x05\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x05\x03\x03\x03\x03\x03\x03\x05\x05\x05\x03\x03\x03\x03\x03\x03\x04\x02\x03\x05\x05\x03\x03\x03\x03\x03\x03\x03\x03\x03\x06\x05\x03\x03\x03\x05\x03\x05\x03\x03\x05\x05\x03\x03\x03\x03\x03\x05\x04\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x05\x03\x06\x03\x05\x03\x05\x03\x05\x03\x06\x03\x05\x03\x02\x03\x03\x03\x03\x03\x02\x01\x03\x03\x03\x03\x06\x03\x06\x04\x03\x03\x06\x04\x06\x03\x06\x06\x03\x03\x03\x03\x03\x03\x02\x03\x03\x02\x02\x03\x02\x03\x03\x03\x02\x03\x04\x02\x02\x03\x03\x02\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x04\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x02\x03\x02\x03\x03\x02\x03\x03\x02\x03\x03\x03\x03\x02\x01\x01\x03\x03\x03\x04\x02\x02\x03\x03\x02\x03\x02\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x02\x03\x03\x02\x03\x04\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x02\x03\x04\x03\x04\x03\x04\x03\x03\x01\x03\x01\x03\x03\x03\x03\x03\x05\x02\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x02\x02\x03\x01\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x04\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x01\x03\x03\x03\x03\x04\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x02\x03\x03\x02\x02\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x02\x01\x03\x03\x03\x03\x04\x03\x03\x02\x02\x03\x03\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x06\x02\x01\x03\x03\x04\x03\x03\x03\x03\x06\x03\x06\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x02\x03\x02\x02\x02\x03\x03\x04\x03\x03\x02\x02\x02\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x04\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x04\x02\x02\x02\x03\x03\x03\x03\x03\x02\x03\x02\x02\x02\x02\x03\x02\x03\x03\x04\x02\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x04\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x02\x03\x04\x03\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x02\x02\x03\x02\x02\x03\x03\x02\x02\x06\x06\x06\x06\x02\x03\x03\x02\x03\x03\x03\x03\x03\x01\x01\x04\x03\x06\x06\x04\x03\x03\x04\x06\x06\x06\x06\x03\x02\x03\x03\x03\x03\x04\x04\x03\x03\x03\x04\x03\x03\x03\x03\x04\x03\x03\x02\x03\x03\x03\x03\x03\x04\x03\x03\x03\x03\x04\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x04\x02\x04\x04\x02\x02\x02\x02\x02\x02\x03\x02\x04\x02\x03\x04\x04\x03\x03"
diff --git a/vendor/github.com/yuin/goldmark/util/html5entities.go b/vendor/github.com/yuin/goldmark/util/html5entities.go
deleted file mode 100644
index ece2504c6..000000000
--- a/vendor/github.com/yuin/goldmark/util/html5entities.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package util
-
-import (
- "sync"
-)
-
-//go:generate go run ../_tools emb-structs -i ../_tools/html5entities.json -o ./html5entities.gen.go
-
-var _html5entitiesOnce sync.Once
-var _html5entitiesMap map[string]*HTML5Entity
-
-func buildHTML5Entities() {
- _html5entitiesOnce.Do(func() {
- entities := make([]HTML5Entity, _html5entitiesLength)
- _html5entitiesMap = make(map[string]*HTML5Entity, _html5entitiesLength)
-
- cName := 0
- cCharacters := 0
- for i := 0; i < _html5entitiesLength; i++ {
- tName := cName + int(_html5entitiesNameIndex[i])
- tCharacters := cCharacters + int(_html5entitiesCharactersIndex[i])
-
- name := _html5entitiesName[cName:tName]
- e := &entities[i]
- e.Name = name
- e.Characters = _html5entitiesCharacters[cCharacters:tCharacters]
- _html5entitiesMap[name] = e
-
- cName = tName
- cCharacters = tCharacters
- }
- })
-}
-
-// HTML5Entity struct represents HTML5 entitites.
-type HTML5Entity struct {
- Name string
- Characters []byte
-}
-
-// LookUpHTML5EntityByName returns (an HTML5Entity, true) if an entity named
-// given name is found, otherwise (nil, false).
-func LookUpHTML5EntityByName(name string) (*HTML5Entity, bool) {
- buildHTML5Entities()
- v, ok := _html5entitiesMap[name]
- return v, ok
-}
diff --git a/vendor/github.com/yuin/goldmark/util/unicode_case_folding.gen.go b/vendor/github.com/yuin/goldmark/util/unicode_case_folding.gen.go
deleted file mode 100644
index eb91fb2d4..000000000
--- a/vendor/github.com/yuin/goldmark/util/unicode_case_folding.gen.go
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by _tools; DO NOT EDIT.
-package util
-const _unicodeCaseFoldingLength = 1530
-var _unicodeCaseFoldingFrom = [...]rune{0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0xb5, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10a, 0x10c, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11a, 0x11c, 0x11e, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12a, 0x12c, 0x12e, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13b, 0x13d, 0x13f, 0x141, 0x143, 0x145, 0x147, 0x149, 0x14a, 0x14c, 0x14e, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15a, 0x15c, 0x15e, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16a, 0x16c, 0x16e, 0x170, 0x172, 0x174, 0x176, 0x178, 0x179, 0x17b, 0x17d, 0x17f, 0x181, 0x182, 0x184, 0x186, 0x187, 0x189, 0x18a, 0x18b, 0x18e, 0x18f, 0x190, 0x191, 0x193, 0x194, 0x196, 0x197, 0x198, 0x19c, 0x19d, 0x19f, 0x1a0, 0x1a2, 0x1a4, 0x1a6, 0x1a7, 0x1a9, 0x1ac, 0x1ae, 0x1af, 0x1b1, 0x1b2, 0x1b3, 0x1b5, 0x1b7, 0x1b8, 0x1bc, 0x1c4, 0x1c5, 0x1c7, 0x1c8, 0x1ca, 0x1cb, 0x1cd, 0x1cf, 0x1d1, 0x1d3, 0x1d5, 0x1d7, 0x1d9, 0x1db, 0x1de, 0x1e0, 0x1e2, 0x1e4, 0x1e6, 0x1e8, 0x1ea, 0x1ec, 0x1ee, 0x1f0, 0x1f1, 0x1f2, 0x1f4, 0x1f6, 0x1f7, 0x1f8, 0x1fa, 0x1fc, 0x1fe, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20a, 0x20c, 0x20e, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21a, 0x21c, 0x21e, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22a, 0x22c, 0x22e, 0x230, 0x232, 0x23a, 0x23b, 0x23d, 0x23e, 0x241, 0x243, 0x244, 0x245, 0x246, 0x248, 0x24a, 0x24c, 0x24e, 0x345, 0x370, 0x372, 0x376, 0x37f, 0x386, 0x388, 0x389, 0x38a, 0x38c, 0x38e, 0x38f, 0x390, 0x391, 0x392, 0x393, 0x394, 0x395, 0x396, 0x397, 0x398, 0x399, 0x39a, 0x39b, 0x39c, 0x39d, 0x39e, 0x39f, 0x3a0, 0x3a1, 0x3a3, 0x3a4, 0x3a5, 0x3a6, 0x3a7, 0x3a8, 0x3a9, 0x3aa, 0x3ab, 0x3b0, 0x3c2, 0x3cf, 0x3d0, 0x3d1, 0x3d5, 0x3d6, 0x3d8, 0x3da, 0x3dc, 0x3de, 0x3e0, 0x3e2, 0x3e4, 0x3e6, 0x3e8, 0x3ea, 0x3ec, 0x3ee, 0x3f0, 0x3f1, 0x3f4, 0x3f5, 0x3f7, 0x3f9, 0x3fa, 0x3fd, 0x3fe, 0x3ff, 0x400, 0x401, 0x402, 0x403, 0x404, 0x405, 0x406, 0x407, 0x408, 0x409, 0x40a, 0x40b, 0x40c, 0x40d, 0x40e, 0x40f, 0x410, 0x411, 0x412, 0x413, 0x414, 0x415, 0x416, 0x417, 0x418, 0x419, 0x41a, 0x41b, 0x41c, 0x41d, 0x41e, 0x41f, 0x420, 0x421, 0x422, 0x423, 0x424, 0x425, 0x426, 0x427, 0x428, 0x429, 0x42a, 0x42b, 0x42c, 0x42d, 0x42e, 0x42f, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46a, 0x46c, 0x46e, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47a, 0x47c, 0x47e, 0x480, 0x48a, 0x48c, 0x48e, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49a, 0x49c, 0x49e, 0x4a0, 0x4a2, 0x4a4, 0x4a6, 0x4a8, 0x4aa, 0x4ac, 0x4ae, 0x4b0, 0x4b2, 0x4b4, 0x4b6, 0x4b8, 0x4ba, 0x4bc, 0x4be, 0x4c0, 0x4c1, 0x4c3, 0x4c5, 0x4c7, 0x4c9, 0x4cb, 0x4cd, 0x4d0, 0x4d2, 0x4d4, 0x4d6, 0x4d8, 0x4da, 0x4dc, 0x4de, 0x4e0, 0x4e2, 0x4e4, 0x4e6, 0x4e8, 0x4ea, 0x4ec, 0x4ee, 0x4f0, 0x4f2, 0x4f4, 0x4f6, 0x4f8, 0x4fa, 0x4fc, 0x4fe, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50a, 0x50c, 0x50e, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51a, 0x51c, 0x51e, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52a, 0x52c, 0x52e, 0x531, 0x532, 0x533, 0x534, 0x535, 0x536, 0x537, 0x538, 0x539, 0x53a, 0x53b, 0x53c, 0x53d, 0x53e, 0x53f, 0x540, 0x541, 0x542, 0x543, 0x544, 0x545, 0x546, 0x547, 0x548, 0x549, 0x54a, 0x54b, 0x54c, 0x54d, 0x54e, 0x54f, 0x550, 0x551, 0x552, 0x553, 0x554, 0x555, 0x556, 0x587, 0x10a0, 0x10a1, 0x10a2, 0x10a3, 0x10a4, 0x10a5, 0x10a6, 0x10a7, 0x10a8, 0x10a9, 0x10aa, 0x10ab, 0x10ac, 0x10ad, 0x10ae, 0x10af, 0x10b0, 0x10b1, 0x10b2, 0x10b3, 0x10b4, 0x10b5, 0x10b6, 0x10b7, 0x10b8, 0x10b9, 0x10ba, 0x10bb, 0x10bc, 0x10bd, 0x10be, 0x10bf, 0x10c0, 0x10c1, 0x10c2, 0x10c3, 0x10c4, 0x10c5, 0x10c7, 0x10cd, 0x13f8, 0x13f9, 0x13fa, 0x13fb, 0x13fc, 0x13fd, 0x1c80, 0x1c81, 0x1c82, 0x1c83, 0x1c84, 0x1c85, 0x1c86, 0x1c87, 0x1c88, 0x1c90, 0x1c91, 0x1c92, 0x1c93, 0x1c94, 0x1c95, 0x1c96, 0x1c97, 0x1c98, 0x1c99, 0x1c9a, 0x1c9b, 0x1c9c, 0x1c9d, 0x1c9e, 0x1c9f, 0x1ca0, 0x1ca1, 0x1ca2, 0x1ca3, 0x1ca4, 0x1ca5, 0x1ca6, 0x1ca7, 0x1ca8, 0x1ca9, 0x1caa, 0x1cab, 0x1cac, 0x1cad, 0x1cae, 0x1caf, 0x1cb0, 0x1cb1, 0x1cb2, 0x1cb3, 0x1cb4, 0x1cb5, 0x1cb6, 0x1cb7, 0x1cb8, 0x1cb9, 0x1cba, 0x1cbd, 0x1cbe, 0x1cbf, 0x1e00, 0x1e02, 0x1e04, 0x1e06, 0x1e08, 0x1e0a, 0x1e0c, 0x1e0e, 0x1e10, 0x1e12, 0x1e14, 0x1e16, 0x1e18, 0x1e1a, 0x1e1c, 0x1e1e, 0x1e20, 0x1e22, 0x1e24, 0x1e26, 0x1e28, 0x1e2a, 0x1e2c, 0x1e2e, 0x1e30, 0x1e32, 0x1e34, 0x1e36, 0x1e38, 0x1e3a, 0x1e3c, 0x1e3e, 0x1e40, 0x1e42, 0x1e44, 0x1e46, 0x1e48, 0x1e4a, 0x1e4c, 0x1e4e, 0x1e50, 0x1e52, 0x1e54, 0x1e56, 0x1e58, 0x1e5a, 0x1e5c, 0x1e5e, 0x1e60, 0x1e62, 0x1e64, 0x1e66, 0x1e68, 0x1e6a, 0x1e6c, 0x1e6e, 0x1e70, 0x1e72, 0x1e74, 0x1e76, 0x1e78, 0x1e7a, 0x1e7c, 0x1e7e, 0x1e80, 0x1e82, 0x1e84, 0x1e86, 0x1e88, 0x1e8a, 0x1e8c, 0x1e8e, 0x1e90, 0x1e92, 0x1e94, 0x1e96, 0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1e9b, 0x1e9e, 0x1ea0, 0x1ea2, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eaa, 0x1eac, 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4, 0x1eb6, 0x1eb8, 0x1eba, 0x1ebc, 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ec8, 0x1eca, 0x1ecc, 0x1ece, 0x1ed0, 0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8, 0x1eda, 0x1edc, 0x1ede, 0x1ee0, 0x1ee2, 0x1ee4, 0x1ee6, 0x1ee8, 0x1eea, 0x1eec, 0x1eee, 0x1ef0, 0x1ef2, 0x1ef4, 0x1ef6, 0x1ef8, 0x1efa, 0x1efc, 0x1efe, 0x1f08, 0x1f09, 0x1f0a, 0x1f0b, 0x1f0c, 0x1f0d, 0x1f0e, 0x1f0f, 0x1f18, 0x1f19, 0x1f1a, 0x1f1b, 0x1f1c, 0x1f1d, 0x1f28, 0x1f29, 0x1f2a, 0x1f2b, 0x1f2c, 0x1f2d, 0x1f2e, 0x1f2f, 0x1f38, 0x1f39, 0x1f3a, 0x1f3b, 0x1f3c, 0x1f3d, 0x1f3e, 0x1f3f, 0x1f48, 0x1f49, 0x1f4a, 0x1f4b, 0x1f4c, 0x1f4d, 0x1f50, 0x1f52, 0x1f54, 0x1f56, 0x1f59, 0x1f5b, 0x1f5d, 0x1f5f, 0x1f68, 0x1f69, 0x1f6a, 0x1f6b, 0x1f6c, 0x1f6d, 0x1f6e, 0x1f6f, 0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86, 0x1f87, 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e, 0x1f8f, 0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96, 0x1f97, 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e, 0x1f9f, 0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6, 0x1fa7, 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae, 0x1faf, 0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fb8, 0x1fb9, 0x1fba, 0x1fbb, 0x1fbc, 0x1fbe, 0x1fc2, 0x1fc3, 0x1fc4, 0x1fc6, 0x1fc7, 0x1fc8, 0x1fc9, 0x1fca, 0x1fcb, 0x1fcc, 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7, 0x1fd8, 0x1fd9, 0x1fda, 0x1fdb, 0x1fe2, 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1fe8, 0x1fe9, 0x1fea, 0x1feb, 0x1fec, 0x1ff2, 0x1ff3, 0x1ff4, 0x1ff6, 0x1ff7, 0x1ff8, 0x1ff9, 0x1ffa, 0x1ffb, 0x1ffc, 0x2126, 0x212a, 0x212b, 0x2132, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216a, 0x216b, 0x216c, 0x216d, 0x216e, 0x216f, 0x2183, 0x24b6, 0x24b7, 0x24b8, 0x24b9, 0x24ba, 0x24bb, 0x24bc, 0x24bd, 0x24be, 0x24bf, 0x24c0, 0x24c1, 0x24c2, 0x24c3, 0x24c4, 0x24c5, 0x24c6, 0x24c7, 0x24c8, 0x24c9, 0x24ca, 0x24cb, 0x24cc, 0x24cd, 0x24ce, 0x24cf, 0x2c00, 0x2c01, 0x2c02, 0x2c03, 0x2c04, 0x2c05, 0x2c06, 0x2c07, 0x2c08, 0x2c09, 0x2c0a, 0x2c0b, 0x2c0c, 0x2c0d, 0x2c0e, 0x2c0f, 0x2c10, 0x2c11, 0x2c12, 0x2c13, 0x2c14, 0x2c15, 0x2c16, 0x2c17, 0x2c18, 0x2c19, 0x2c1a, 0x2c1b, 0x2c1c, 0x2c1d, 0x2c1e, 0x2c1f, 0x2c20, 0x2c21, 0x2c22, 0x2c23, 0x2c24, 0x2c25, 0x2c26, 0x2c27, 0x2c28, 0x2c29, 0x2c2a, 0x2c2b, 0x2c2c, 0x2c2d, 0x2c2e, 0x2c2f, 0x2c60, 0x2c62, 0x2c63, 0x2c64, 0x2c67, 0x2c69, 0x2c6b, 0x2c6d, 0x2c6e, 0x2c6f, 0x2c70, 0x2c72, 0x2c75, 0x2c7e, 0x2c7f, 0x2c80, 0x2c82, 0x2c84, 0x2c86, 0x2c88, 0x2c8a, 0x2c8c, 0x2c8e, 0x2c90, 0x2c92, 0x2c94, 0x2c96, 0x2c98, 0x2c9a, 0x2c9c, 0x2c9e, 0x2ca0, 0x2ca2, 0x2ca4, 0x2ca6, 0x2ca8, 0x2caa, 0x2cac, 0x2cae, 0x2cb0, 0x2cb2, 0x2cb4, 0x2cb6, 0x2cb8, 0x2cba, 0x2cbc, 0x2cbe, 0x2cc0, 0x2cc2, 0x2cc4, 0x2cc6, 0x2cc8, 0x2cca, 0x2ccc, 0x2cce, 0x2cd0, 0x2cd2, 0x2cd4, 0x2cd6, 0x2cd8, 0x2cda, 0x2cdc, 0x2cde, 0x2ce0, 0x2ce2, 0x2ceb, 0x2ced, 0x2cf2, 0xa640, 0xa642, 0xa644, 0xa646, 0xa648, 0xa64a, 0xa64c, 0xa64e, 0xa650, 0xa652, 0xa654, 0xa656, 0xa658, 0xa65a, 0xa65c, 0xa65e, 0xa660, 0xa662, 0xa664, 0xa666, 0xa668, 0xa66a, 0xa66c, 0xa680, 0xa682, 0xa684, 0xa686, 0xa688, 0xa68a, 0xa68c, 0xa68e, 0xa690, 0xa692, 0xa694, 0xa696, 0xa698, 0xa69a, 0xa722, 0xa724, 0xa726, 0xa728, 0xa72a, 0xa72c, 0xa72e, 0xa732, 0xa734, 0xa736, 0xa738, 0xa73a, 0xa73c, 0xa73e, 0xa740, 0xa742, 0xa744, 0xa746, 0xa748, 0xa74a, 0xa74c, 0xa74e, 0xa750, 0xa752, 0xa754, 0xa756, 0xa758, 0xa75a, 0xa75c, 0xa75e, 0xa760, 0xa762, 0xa764, 0xa766, 0xa768, 0xa76a, 0xa76c, 0xa76e, 0xa779, 0xa77b, 0xa77d, 0xa77e, 0xa780, 0xa782, 0xa784, 0xa786, 0xa78b, 0xa78d, 0xa790, 0xa792, 0xa796, 0xa798, 0xa79a, 0xa79c, 0xa79e, 0xa7a0, 0xa7a2, 0xa7a4, 0xa7a6, 0xa7a8, 0xa7aa, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7b0, 0xa7b1, 0xa7b2, 0xa7b3, 0xa7b4, 0xa7b6, 0xa7b8, 0xa7ba, 0xa7bc, 0xa7be, 0xa7c0, 0xa7c2, 0xa7c4, 0xa7c5, 0xa7c6, 0xa7c7, 0xa7c9, 0xa7d0, 0xa7d6, 0xa7d8, 0xa7f5, 0xab70, 0xab71, 0xab72, 0xab73, 0xab74, 0xab75, 0xab76, 0xab77, 0xab78, 0xab79, 0xab7a, 0xab7b, 0xab7c, 0xab7d, 0xab7e, 0xab7f, 0xab80, 0xab81, 0xab82, 0xab83, 0xab84, 0xab85, 0xab86, 0xab87, 0xab88, 0xab89, 0xab8a, 0xab8b, 0xab8c, 0xab8d, 0xab8e, 0xab8f, 0xab90, 0xab91, 0xab92, 0xab93, 0xab94, 0xab95, 0xab96, 0xab97, 0xab98, 0xab99, 0xab9a, 0xab9b, 0xab9c, 0xab9d, 0xab9e, 0xab9f, 0xaba0, 0xaba1, 0xaba2, 0xaba3, 0xaba4, 0xaba5, 0xaba6, 0xaba7, 0xaba8, 0xaba9, 0xabaa, 0xabab, 0xabac, 0xabad, 0xabae, 0xabaf, 0xabb0, 0xabb1, 0xabb2, 0xabb3, 0xabb4, 0xabb5, 0xabb6, 0xabb7, 0xabb8, 0xabb9, 0xabba, 0xabbb, 0xabbc, 0xabbd, 0xabbe, 0xabbf, 0xfb00, 0xfb01, 0xfb02, 0xfb03, 0xfb04, 0xfb05, 0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38, 0xff39, 0xff3a, 0x10400, 0x10401, 0x10402, 0x10403, 0x10404, 0x10405, 0x10406, 0x10407, 0x10408, 0x10409, 0x1040a, 0x1040b, 0x1040c, 0x1040d, 0x1040e, 0x1040f, 0x10410, 0x10411, 0x10412, 0x10413, 0x10414, 0x10415, 0x10416, 0x10417, 0x10418, 0x10419, 0x1041a, 0x1041b, 0x1041c, 0x1041d, 0x1041e, 0x1041f, 0x10420, 0x10421, 0x10422, 0x10423, 0x10424, 0x10425, 0x10426, 0x10427, 0x104b0, 0x104b1, 0x104b2, 0x104b3, 0x104b4, 0x104b5, 0x104b6, 0x104b7, 0x104b8, 0x104b9, 0x104ba, 0x104bb, 0x104bc, 0x104bd, 0x104be, 0x104bf, 0x104c0, 0x104c1, 0x104c2, 0x104c3, 0x104c4, 0x104c5, 0x104c6, 0x104c7, 0x104c8, 0x104c9, 0x104ca, 0x104cb, 0x104cc, 0x104cd, 0x104ce, 0x104cf, 0x104d0, 0x104d1, 0x104d2, 0x104d3, 0x10570, 0x10571, 0x10572, 0x10573, 0x10574, 0x10575, 0x10576, 0x10577, 0x10578, 0x10579, 0x1057a, 0x1057c, 0x1057d, 0x1057e, 0x1057f, 0x10580, 0x10581, 0x10582, 0x10583, 0x10584, 0x10585, 0x10586, 0x10587, 0x10588, 0x10589, 0x1058a, 0x1058c, 0x1058d, 0x1058e, 0x1058f, 0x10590, 0x10591, 0x10592, 0x10594, 0x10595, 0x10c80, 0x10c81, 0x10c82, 0x10c83, 0x10c84, 0x10c85, 0x10c86, 0x10c87, 0x10c88, 0x10c89, 0x10c8a, 0x10c8b, 0x10c8c, 0x10c8d, 0x10c8e, 0x10c8f, 0x10c90, 0x10c91, 0x10c92, 0x10c93, 0x10c94, 0x10c95, 0x10c96, 0x10c97, 0x10c98, 0x10c99, 0x10c9a, 0x10c9b, 0x10c9c, 0x10c9d, 0x10c9e, 0x10c9f, 0x10ca0, 0x10ca1, 0x10ca2, 0x10ca3, 0x10ca4, 0x10ca5, 0x10ca6, 0x10ca7, 0x10ca8, 0x10ca9, 0x10caa, 0x10cab, 0x10cac, 0x10cad, 0x10cae, 0x10caf, 0x10cb0, 0x10cb1, 0x10cb2, 0x118a0, 0x118a1, 0x118a2, 0x118a3, 0x118a4, 0x118a5, 0x118a6, 0x118a7, 0x118a8, 0x118a9, 0x118aa, 0x118ab, 0x118ac, 0x118ad, 0x118ae, 0x118af, 0x118b0, 0x118b1, 0x118b2, 0x118b3, 0x118b4, 0x118b5, 0x118b6, 0x118b7, 0x118b8, 0x118b9, 0x118ba, 0x118bb, 0x118bc, 0x118bd, 0x118be, 0x118bf, 0x16e40, 0x16e41, 0x16e42, 0x16e43, 0x16e44, 0x16e45, 0x16e46, 0x16e47, 0x16e48, 0x16e49, 0x16e4a, 0x16e4b, 0x16e4c, 0x16e4d, 0x16e4e, 0x16e4f, 0x16e50, 0x16e51, 0x16e52, 0x16e53, 0x16e54, 0x16e55, 0x16e56, 0x16e57, 0x16e58, 0x16e59, 0x16e5a, 0x16e5b, 0x16e5c, 0x16e5d, 0x16e5e, 0x16e5f, 0x1e900, 0x1e901, 0x1e902, 0x1e903, 0x1e904, 0x1e905, 0x1e906, 0x1e907, 0x1e908, 0x1e909, 0x1e90a, 0x1e90b, 0x1e90c, 0x1e90d, 0x1e90e, 0x1e90f, 0x1e910, 0x1e911, 0x1e912, 0x1e913, 0x1e914, 0x1e915, 0x1e916, 0x1e917, 0x1e918, 0x1e919, 0x1e91a, 0x1e91b, 0x1e91c, 0x1e91d, 0x1e91e, 0x1e91f, 0x1e920, 0x1e921}
-var _unicodeCaseFoldingTo = [...]rune{97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 956, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 248, 249, 250, 251, 252, 253, 254, 115, 115, 257, 259, 261, 263, 265, 267, 269, 271, 273, 275, 277, 279, 281, 283, 285, 287, 289, 291, 293, 295, 297, 299, 301, 303, 105, 775, 307, 309, 311, 314, 316, 318, 320, 322, 324, 326, 328, 700, 110, 331, 333, 335, 337, 339, 341, 343, 345, 347, 349, 351, 353, 355, 357, 359, 361, 363, 365, 367, 369, 371, 373, 375, 255, 378, 380, 382, 115, 595, 387, 389, 596, 392, 598, 599, 396, 477, 601, 603, 402, 608, 611, 617, 616, 409, 623, 626, 629, 417, 419, 421, 640, 424, 643, 429, 648, 432, 650, 651, 436, 438, 658, 441, 445, 454, 454, 457, 457, 460, 460, 462, 464, 466, 468, 470, 472, 474, 476, 479, 481, 483, 485, 487, 489, 491, 493, 495, 106, 780, 499, 499, 501, 405, 447, 505, 507, 509, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529, 531, 533, 535, 537, 539, 541, 543, 414, 547, 549, 551, 553, 555, 557, 559, 561, 563, 11365, 572, 410, 11366, 578, 384, 649, 652, 583, 585, 587, 589, 591, 953, 881, 883, 887, 1011, 940, 941, 942, 943, 972, 973, 974, 953, 776, 769, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 963, 964, 965, 966, 967, 968, 969, 970, 971, 965, 776, 769, 963, 983, 946, 952, 966, 960, 985, 987, 989, 991, 993, 995, 997, 999, 1001, 1003, 1005, 1007, 954, 961, 952, 949, 1016, 1010, 1019, 891, 892, 893, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1121, 1123, 1125, 1127, 1129, 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1163, 1165, 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1185, 1187, 1189, 1191, 1193, 1195, 1197, 1199, 1201, 1203, 1205, 1207, 1209, 1211, 1213, 1215, 1231, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1233, 1235, 1237, 1239, 1241, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 1263, 1265, 1267, 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1283, 1285, 1287, 1289, 1291, 1293, 1295, 1297, 1299, 1301, 1303, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1323, 1325, 1327, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1381, 1410, 11520, 11521, 11522, 11523, 11524, 11525, 11526, 11527, 11528, 11529, 11530, 11531, 11532, 11533, 11534, 11535, 11536, 11537, 11538, 11539, 11540, 11541, 11542, 11543, 11544, 11545, 11546, 11547, 11548, 11549, 11550, 11551, 11552, 11553, 11554, 11555, 11556, 11557, 11559, 11565, 5104, 5105, 5106, 5107, 5108, 5109, 1074, 1076, 1086, 1089, 1090, 1090, 1098, 1123, 42571, 4304, 4305, 4306, 4307, 4308, 4309, 4310, 4311, 4312, 4313, 4314, 4315, 4316, 4317, 4318, 4319, 4320, 4321, 4322, 4323, 4324, 4325, 4326, 4327, 4328, 4329, 4330, 4331, 4332, 4333, 4334, 4335, 4336, 4337, 4338, 4339, 4340, 4341, 4342, 4343, 4344, 4345, 4346, 4349, 4350, 4351, 7681, 7683, 7685, 7687, 7689, 7691, 7693, 7695, 7697, 7699, 7701, 7703, 7705, 7707, 7709, 7711, 7713, 7715, 7717, 7719, 7721, 7723, 7725, 7727, 7729, 7731, 7733, 7735, 7737, 7739, 7741, 7743, 7745, 7747, 7749, 7751, 7753, 7755, 7757, 7759, 7761, 7763, 7765, 7767, 7769, 7771, 7773, 7775, 7777, 7779, 7781, 7783, 7785, 7787, 7789, 7791, 7793, 7795, 7797, 7799, 7801, 7803, 7805, 7807, 7809, 7811, 7813, 7815, 7817, 7819, 7821, 7823, 7825, 7827, 7829, 104, 817, 116, 776, 119, 778, 121, 778, 97, 702, 7777, 115, 115, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 7861, 7863, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881, 7883, 7885, 7887, 7889, 7891, 7893, 7895, 7897, 7899, 7901, 7903, 7905, 7907, 7909, 7911, 7913, 7915, 7917, 7919, 7921, 7923, 7925, 7927, 7929, 7931, 7933, 7935, 7936, 7937, 7938, 7939, 7940, 7941, 7942, 7943, 7952, 7953, 7954, 7955, 7956, 7957, 7968, 7969, 7970, 7971, 7972, 7973, 7974, 7975, 7984, 7985, 7986, 7987, 7988, 7989, 7990, 7991, 8000, 8001, 8002, 8003, 8004, 8005, 965, 787, 965, 787, 768, 965, 787, 769, 965, 787, 834, 8017, 8019, 8021, 8023, 8032, 8033, 8034, 8035, 8036, 8037, 8038, 8039, 7936, 953, 7937, 953, 7938, 953, 7939, 953, 7940, 953, 7941, 953, 7942, 953, 7943, 953, 7936, 953, 7937, 953, 7938, 953, 7939, 953, 7940, 953, 7941, 953, 7942, 953, 7943, 953, 7968, 953, 7969, 953, 7970, 953, 7971, 953, 7972, 953, 7973, 953, 7974, 953, 7975, 953, 7968, 953, 7969, 953, 7970, 953, 7971, 953, 7972, 953, 7973, 953, 7974, 953, 7975, 953, 8032, 953, 8033, 953, 8034, 953, 8035, 953, 8036, 953, 8037, 953, 8038, 953, 8039, 953, 8032, 953, 8033, 953, 8034, 953, 8035, 953, 8036, 953, 8037, 953, 8038, 953, 8039, 953, 8048, 953, 945, 953, 940, 953, 945, 834, 945, 834, 953, 8112, 8113, 8048, 8049, 945, 953, 953, 8052, 953, 951, 953, 942, 953, 951, 834, 951, 834, 953, 8050, 8051, 8052, 8053, 951, 953, 953, 776, 768, 953, 776, 769, 953, 834, 953, 776, 834, 8144, 8145, 8054, 8055, 965, 776, 768, 965, 776, 769, 961, 787, 965, 834, 965, 776, 834, 8160, 8161, 8058, 8059, 8165, 8060, 953, 969, 953, 974, 953, 969, 834, 969, 834, 953, 8056, 8057, 8060, 8061, 969, 953, 969, 107, 229, 8526, 8560, 8561, 8562, 8563, 8564, 8565, 8566, 8567, 8568, 8569, 8570, 8571, 8572, 8573, 8574, 8575, 8580, 9424, 9425, 9426, 9427, 9428, 9429, 9430, 9431, 9432, 9433, 9434, 9435, 9436, 9437, 9438, 9439, 9440, 9441, 9442, 9443, 9444, 9445, 9446, 9447, 9448, 9449, 11312, 11313, 11314, 11315, 11316, 11317, 11318, 11319, 11320, 11321, 11322, 11323, 11324, 11325, 11326, 11327, 11328, 11329, 11330, 11331, 11332, 11333, 11334, 11335, 11336, 11337, 11338, 11339, 11340, 11341, 11342, 11343, 11344, 11345, 11346, 11347, 11348, 11349, 11350, 11351, 11352, 11353, 11354, 11355, 11356, 11357, 11358, 11359, 11361, 619, 7549, 637, 11368, 11370, 11372, 593, 625, 592, 594, 11379, 11382, 575, 576, 11393, 11395, 11397, 11399, 11401, 11403, 11405, 11407, 11409, 11411, 11413, 11415, 11417, 11419, 11421, 11423, 11425, 11427, 11429, 11431, 11433, 11435, 11437, 11439, 11441, 11443, 11445, 11447, 11449, 11451, 11453, 11455, 11457, 11459, 11461, 11463, 11465, 11467, 11469, 11471, 11473, 11475, 11477, 11479, 11481, 11483, 11485, 11487, 11489, 11491, 11500, 11502, 11507, 42561, 42563, 42565, 42567, 42569, 42571, 42573, 42575, 42577, 42579, 42581, 42583, 42585, 42587, 42589, 42591, 42593, 42595, 42597, 42599, 42601, 42603, 42605, 42625, 42627, 42629, 42631, 42633, 42635, 42637, 42639, 42641, 42643, 42645, 42647, 42649, 42651, 42787, 42789, 42791, 42793, 42795, 42797, 42799, 42803, 42805, 42807, 42809, 42811, 42813, 42815, 42817, 42819, 42821, 42823, 42825, 42827, 42829, 42831, 42833, 42835, 42837, 42839, 42841, 42843, 42845, 42847, 42849, 42851, 42853, 42855, 42857, 42859, 42861, 42863, 42874, 42876, 7545, 42879, 42881, 42883, 42885, 42887, 42892, 613, 42897, 42899, 42903, 42905, 42907, 42909, 42911, 42913, 42915, 42917, 42919, 42921, 614, 604, 609, 620, 618, 670, 647, 669, 43859, 42933, 42935, 42937, 42939, 42941, 42943, 42945, 42947, 42900, 642, 7566, 42952, 42954, 42961, 42967, 42969, 42998, 5024, 5025, 5026, 5027, 5028, 5029, 5030, 5031, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5041, 5042, 5043, 5044, 5045, 5046, 5047, 5048, 5049, 5050, 5051, 5052, 5053, 5054, 5055, 5056, 5057, 5058, 5059, 5060, 5061, 5062, 5063, 5064, 5065, 5066, 5067, 5068, 5069, 5070, 5071, 5072, 5073, 5074, 5075, 5076, 5077, 5078, 5079, 5080, 5081, 5082, 5083, 5084, 5085, 5086, 5087, 5088, 5089, 5090, 5091, 5092, 5093, 5094, 5095, 5096, 5097, 5098, 5099, 5100, 5101, 5102, 5103, 102, 102, 102, 105, 102, 108, 102, 102, 105, 102, 102, 108, 115, 116, 115, 116, 1396, 1398, 1396, 1381, 1396, 1387, 1406, 1398, 1396, 1389, 65345, 65346, 65347, 65348, 65349, 65350, 65351, 65352, 65353, 65354, 65355, 65356, 65357, 65358, 65359, 65360, 65361, 65362, 65363, 65364, 65365, 65366, 65367, 65368, 65369, 65370, 66600, 66601, 66602, 66603, 66604, 66605, 66606, 66607, 66608, 66609, 66610, 66611, 66612, 66613, 66614, 66615, 66616, 66617, 66618, 66619, 66620, 66621, 66622, 66623, 66624, 66625, 66626, 66627, 66628, 66629, 66630, 66631, 66632, 66633, 66634, 66635, 66636, 66637, 66638, 66639, 66776, 66777, 66778, 66779, 66780, 66781, 66782, 66783, 66784, 66785, 66786, 66787, 66788, 66789, 66790, 66791, 66792, 66793, 66794, 66795, 66796, 66797, 66798, 66799, 66800, 66801, 66802, 66803, 66804, 66805, 66806, 66807, 66808, 66809, 66810, 66811, 66967, 66968, 66969, 66970, 66971, 66972, 66973, 66974, 66975, 66976, 66977, 66979, 66980, 66981, 66982, 66983, 66984, 66985, 66986, 66987, 66988, 66989, 66990, 66991, 66992, 66993, 66995, 66996, 66997, 66998, 66999, 67000, 67001, 67003, 67004, 68800, 68801, 68802, 68803, 68804, 68805, 68806, 68807, 68808, 68809, 68810, 68811, 68812, 68813, 68814, 68815, 68816, 68817, 68818, 68819, 68820, 68821, 68822, 68823, 68824, 68825, 68826, 68827, 68828, 68829, 68830, 68831, 68832, 68833, 68834, 68835, 68836, 68837, 68838, 68839, 68840, 68841, 68842, 68843, 68844, 68845, 68846, 68847, 68848, 68849, 68850, 71872, 71873, 71874, 71875, 71876, 71877, 71878, 71879, 71880, 71881, 71882, 71883, 71884, 71885, 71886, 71887, 71888, 71889, 71890, 71891, 71892, 71893, 71894, 71895, 71896, 71897, 71898, 71899, 71900, 71901, 71902, 71903, 93792, 93793, 93794, 93795, 93796, 93797, 93798, 93799, 93800, 93801, 93802, 93803, 93804, 93805, 93806, 93807, 93808, 93809, 93810, 93811, 93812, 93813, 93814, 93815, 93816, 93817, 93818, 93819, 93820, 93821, 93822, 93823, 125218, 125219, 125220, 125221, 125222, 125223, 125224, 125225, 125226, 125227, 125228, 125229, 125230, 125231, 125232, 125233, 125234, 125235, 125236, 125237, 125238, 125239, 125240, 125241, 125242, 125243, 125244, 125245, 125246, 125247, 125248, 125249, 125250, 125251}
-var _unicodeCaseFoldingToIndex = "\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x01\x01\x01\x01\x02\x01\x02\x02\x02\x02\x03\x01\x01\x01\x01\x02\x03\x03\x02\x03\x01\x01\x01\x01\x03\x03\x02\x02\x03\x01\x01\x01\x01\x01\x02\x02\x02\x02\x03\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x03\x03\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"
diff --git a/vendor/github.com/yuin/goldmark/util/unicode_case_folding.go b/vendor/github.com/yuin/goldmark/util/unicode_case_folding.go
deleted file mode 100644
index 938ed0ba6..000000000
--- a/vendor/github.com/yuin/goldmark/util/unicode_case_folding.go
+++ /dev/null
@@ -1,17 +0,0 @@
-package util
-
-//go:generate go run ../_tools unicode-case-folding-map -o ../_tools/unicode-case-folding-map.json
-//go:generate go run ../_tools emb-structs -i ../_tools/unicode-case-folding-map.json -o ./unicode_case_folding.gen.go
-
-var unicodeCaseFoldings map[rune][]rune
-
-func init() {
- unicodeCaseFoldings = make(map[rune][]rune, _unicodeCaseFoldingLength)
- cTo := 0
- for i := 0; i < _unicodeCaseFoldingLength; i++ {
- tTo := cTo + int(_unicodeCaseFoldingToIndex[i])
- to := _unicodeCaseFoldingTo[cTo:tTo]
- unicodeCaseFoldings[_unicodeCaseFoldingFrom[i]] = to
- cTo = tTo
- }
-}
diff --git a/vendor/github.com/yuin/goldmark/util/util.go b/vendor/github.com/yuin/goldmark/util/util.go
deleted file mode 100644
index c074d725c..000000000
--- a/vendor/github.com/yuin/goldmark/util/util.go
+++ /dev/null
@@ -1,1044 +0,0 @@
-// Package util provides utility functions for the goldmark.
-package util
-
-import (
- "bytes"
- "io"
- "net/url"
- "regexp"
- "sort"
- "strconv"
- "unicode"
- "unicode/utf8"
-)
-
-// A CopyOnWriteBuffer is a byte buffer that copies buffer when
-// it need to be changed.
-type CopyOnWriteBuffer struct {
- buffer []byte
- copied bool
-}
-
-// NewCopyOnWriteBuffer returns a new CopyOnWriteBuffer.
-func NewCopyOnWriteBuffer(buffer []byte) CopyOnWriteBuffer {
- return CopyOnWriteBuffer{
- buffer: buffer,
- copied: false,
- }
-}
-
-// Write writes given bytes to the buffer.
-// Write allocate new buffer and clears it at the first time.
-func (b *CopyOnWriteBuffer) Write(value []byte) {
- if !b.copied {
- b.buffer = make([]byte, 0, len(b.buffer)+20)
- b.copied = true
- }
- b.buffer = append(b.buffer, value...)
-}
-
-// WriteString writes given string to the buffer.
-// WriteString allocate new buffer and clears it at the first time.
-func (b *CopyOnWriteBuffer) WriteString(value string) {
- b.Write(StringToReadOnlyBytes(value))
-}
-
-// Append appends given bytes to the buffer.
-// Append copy buffer at the first time.
-func (b *CopyOnWriteBuffer) Append(value []byte) {
- if !b.copied {
- tmp := make([]byte, len(b.buffer), len(b.buffer)+20)
- copy(tmp, b.buffer)
- b.buffer = tmp
- b.copied = true
- }
- b.buffer = append(b.buffer, value...)
-}
-
-// AppendString appends given string to the buffer.
-// AppendString copy buffer at the first time.
-func (b *CopyOnWriteBuffer) AppendString(value string) {
- b.Append(StringToReadOnlyBytes(value))
-}
-
-// WriteByte writes the given byte to the buffer.
-// WriteByte allocate new buffer and clears it at the first time.
-func (b *CopyOnWriteBuffer) WriteByte(c byte) error {
- if !b.copied {
- b.buffer = make([]byte, 0, len(b.buffer)+20)
- b.copied = true
- }
- b.buffer = append(b.buffer, c)
- return nil
-}
-
-// AppendByte appends given bytes to the buffer.
-// AppendByte copy buffer at the first time.
-func (b *CopyOnWriteBuffer) AppendByte(c byte) {
- if !b.copied {
- tmp := make([]byte, len(b.buffer), len(b.buffer)+20)
- copy(tmp, b.buffer)
- b.buffer = tmp
- b.copied = true
- }
- b.buffer = append(b.buffer, c)
-}
-
-// Bytes returns bytes of this buffer.
-func (b *CopyOnWriteBuffer) Bytes() []byte {
- return b.buffer
-}
-
-// IsCopied returns true if buffer has been copied, otherwise false.
-func (b *CopyOnWriteBuffer) IsCopied() bool {
- return b.copied
-}
-
-// IsEscapedPunctuation returns true if character at a given index i
-// is an escaped punctuation, otherwise false.
-func IsEscapedPunctuation(source []byte, i int) bool {
- return source[i] == '\\' && i < len(source)-1 && IsPunct(source[i+1])
-}
-
-// ReadWhile read the given source while pred is true.
-func ReadWhile(source []byte, index [2]int, pred func(byte) bool) (int, bool) {
- j := index[0]
- ok := false
- for ; j < index[1]; j++ {
- c1 := source[j]
- if pred(c1) {
- ok = true
- continue
- }
- break
- }
- return j, ok
-}
-
-// IsBlank returns true if the given string is all space characters.
-func IsBlank(bs []byte) bool {
- for _, b := range bs {
- if !IsSpace(b) {
- return false
- }
- }
- return true
-}
-
-// VisualizeSpaces visualize invisible space characters.
-func VisualizeSpaces(bs []byte) []byte {
- bs = bytes.Replace(bs, []byte(" "), []byte("[SPACE]"), -1)
- bs = bytes.Replace(bs, []byte("\t"), []byte("[TAB]"), -1)
- bs = bytes.Replace(bs, []byte("\n"), []byte("[NEWLINE]\n"), -1)
- bs = bytes.Replace(bs, []byte("\r"), []byte("[CR]"), -1)
- bs = bytes.Replace(bs, []byte("\v"), []byte("[VTAB]"), -1)
- bs = bytes.Replace(bs, []byte("\x00"), []byte("[NUL]"), -1)
- bs = bytes.Replace(bs, []byte("\ufffd"), []byte("[U+FFFD]"), -1)
- return bs
-}
-
-// TabWidth calculates actual width of a tab at the given position.
-func TabWidth(currentPos int) int {
- return 4 - currentPos%4
-}
-
-// IndentPosition searches an indent position with the given width for the given line.
-// If the line contains tab characters, paddings may be not zero.
-// currentPos==0 and width==2:
-//
-// position: 0 1
-// [TAB]aaaa
-// width: 1234 5678
-//
-// width=2 is in the tab character. In this case, IndentPosition returns
-// (pos=1, padding=2).
-func IndentPosition(bs []byte, currentPos, width int) (pos, padding int) {
- return IndentPositionPadding(bs, currentPos, 0, width)
-}
-
-// IndentPositionPadding searches an indent position with the given width for the given line.
-// This function is mostly same as IndentPosition except this function
-// takes account into additional paddings.
-func IndentPositionPadding(bs []byte, currentPos, paddingv, width int) (pos, padding int) {
- if width == 0 {
- return 0, paddingv
- }
- w := 0
- i := 0
- l := len(bs)
- p := paddingv
- for ; i < l; i++ {
- if p > 0 {
- p--
- w++
- continue
- }
- if bs[i] == '\t' && w < width {
- w += TabWidth(currentPos + w)
- } else if bs[i] == ' ' && w < width {
- w++
- } else {
- break
- }
- }
- if w >= width {
- return i - paddingv, w - width
- }
- return -1, -1
-}
-
-// DedentPosition dedents lines by the given width.
-//
-// Deprecated: This function has bugs. Use util.IndentPositionPadding and util.FirstNonSpacePosition.
-func DedentPosition(bs []byte, currentPos, width int) (pos, padding int) {
- if width == 0 {
- return 0, 0
- }
- w := 0
- l := len(bs)
- i := 0
- for ; i < l; i++ {
- if bs[i] == '\t' {
- w += TabWidth(currentPos + w)
- } else if bs[i] == ' ' {
- w++
- } else {
- break
- }
- }
- if w >= width {
- return i, w - width
- }
- return i, 0
-}
-
-// DedentPositionPadding dedents lines by the given width.
-// This function is mostly same as DedentPosition except this function
-// takes account into additional paddings.
-//
-// Deprecated: This function has bugs. Use util.IndentPositionPadding and util.FirstNonSpacePosition.
-func DedentPositionPadding(bs []byte, currentPos, paddingv, width int) (pos, padding int) {
- if width == 0 {
- return 0, paddingv
- }
-
- w := 0
- i := 0
- l := len(bs)
- for ; i < l; i++ {
- if bs[i] == '\t' {
- w += TabWidth(currentPos + w)
- } else if bs[i] == ' ' {
- w++
- } else {
- break
- }
- }
- if w >= width {
- return i - paddingv, w - width
- }
- return i - paddingv, 0
-}
-
-// IndentWidth calculate an indent width for the given line.
-func IndentWidth(bs []byte, currentPos int) (width, pos int) {
- l := len(bs)
- for i := 0; i < l; i++ {
- b := bs[i]
- if b == ' ' {
- width++
- pos++
- } else if b == '\t' {
- width += TabWidth(currentPos + width)
- pos++
- } else {
- break
- }
- }
- return
-}
-
-// FirstNonSpacePosition returns a position line that is a first nonspace
-// character.
-func FirstNonSpacePosition(bs []byte) int {
- i := 0
- for ; i < len(bs); i++ {
- c := bs[i]
- if c == ' ' || c == '\t' {
- continue
- }
- if c == '\n' {
- return -1
- }
- return i
- }
- return -1
-}
-
-// FindClosure returns a position that closes the given opener.
-// If codeSpan is set true, it ignores characters in code spans.
-// If allowNesting is set true, closures correspond to nested opener will be
-// ignored.
-//
-// Deprecated: This function can not handle newlines. Many elements
-// can be existed over multiple lines(e.g. link labels).
-// Use text.Reader.FindClosure.
-func FindClosure(bs []byte, opener, closure byte, codeSpan, allowNesting bool) int {
- i := 0
- opened := 1
- codeSpanOpener := 0
- for i < len(bs) {
- c := bs[i]
- if codeSpan && codeSpanOpener != 0 && c == '`' {
- codeSpanCloser := 0
- for ; i < len(bs); i++ {
- if bs[i] == '`' {
- codeSpanCloser++
- } else {
- i--
- break
- }
- }
- if codeSpanCloser == codeSpanOpener {
- codeSpanOpener = 0
- }
- } else if codeSpanOpener == 0 && c == '\\' && i < len(bs)-1 && IsPunct(bs[i+1]) {
- i += 2
- continue
- } else if codeSpan && codeSpanOpener == 0 && c == '`' {
- for ; i < len(bs); i++ {
- if bs[i] == '`' {
- codeSpanOpener++
- } else {
- i--
- break
- }
- }
- } else if (codeSpan && codeSpanOpener == 0) || !codeSpan {
- if c == closure {
- opened--
- if opened == 0 {
- return i
- }
- } else if c == opener {
- if !allowNesting {
- return -1
- }
- opened++
- }
- }
- i++
- }
- return -1
-}
-
-// TrimLeft trims characters in the given s from head of the source.
-// bytes.TrimLeft offers same functionalities, but bytes.TrimLeft
-// allocates new buffer for the result.
-func TrimLeft(source, b []byte) []byte {
- i := 0
- for ; i < len(source); i++ {
- c := source[i]
- found := false
- for j := 0; j < len(b); j++ {
- if c == b[j] {
- found = true
- break
- }
- }
- if !found {
- break
- }
- }
- return source[i:]
-}
-
-// TrimRight trims characters in the given s from tail of the source.
-func TrimRight(source, b []byte) []byte {
- i := len(source) - 1
- for ; i >= 0; i-- {
- c := source[i]
- found := false
- for j := 0; j < len(b); j++ {
- if c == b[j] {
- found = true
- break
- }
- }
- if !found {
- break
- }
- }
- return source[:i+1]
-}
-
-// TrimLeftLength returns a length of leading specified characters.
-func TrimLeftLength(source, s []byte) int {
- return len(source) - len(TrimLeft(source, s))
-}
-
-// TrimRightLength returns a length of trailing specified characters.
-func TrimRightLength(source, s []byte) int {
- return len(source) - len(TrimRight(source, s))
-}
-
-// TrimLeftSpaceLength returns a length of leading space characters.
-func TrimLeftSpaceLength(source []byte) int {
- i := 0
- for ; i < len(source); i++ {
- if !IsSpace(source[i]) {
- break
- }
- }
- return i
-}
-
-// TrimRightSpaceLength returns a length of trailing space characters.
-func TrimRightSpaceLength(source []byte) int {
- l := len(source)
- i := l - 1
- for ; i >= 0; i-- {
- if !IsSpace(source[i]) {
- break
- }
- }
- if i < 0 {
- return l
- }
- return l - 1 - i
-}
-
-// TrimLeftSpace returns a subslice of the given string by slicing off all leading
-// space characters.
-func TrimLeftSpace(source []byte) []byte {
- return TrimLeft(source, spaces)
-}
-
-// TrimRightSpace returns a subslice of the given string by slicing off all trailing
-// space characters.
-func TrimRightSpace(source []byte) []byte {
- return TrimRight(source, spaces)
-}
-
-// DoFullUnicodeCaseFolding performs full unicode case folding to given bytes.
-func DoFullUnicodeCaseFolding(v []byte) []byte {
- var rbuf []byte
- cob := NewCopyOnWriteBuffer(v)
- n := 0
- for i := 0; i < len(v); i++ {
- c := v[i]
- if c < 0xb5 {
- if c >= 0x41 && c <= 0x5a {
- // A-Z to a-z
- cob.Write(v[n:i])
- _ = cob.WriteByte(c + 32)
- n = i + 1
- }
- continue
- }
-
- if !utf8.RuneStart(c) {
- continue
- }
- r, length := utf8.DecodeRune(v[i:])
- if r == utf8.RuneError {
- continue
- }
- folded, ok := unicodeCaseFoldings[r]
- if !ok {
- continue
- }
-
- cob.Write(v[n:i])
- if rbuf == nil {
- rbuf = make([]byte, 4)
- }
- for _, f := range folded {
- l := utf8.EncodeRune(rbuf, f)
- cob.Write(rbuf[:l])
- }
- i += length - 1
- n = i + 1
- }
- if cob.IsCopied() {
- cob.Write(v[n:])
- }
- return cob.Bytes()
-}
-
-// ReplaceSpaces replaces sequence of spaces with the given repl.
-func ReplaceSpaces(source []byte, repl byte) []byte {
- var ret []byte
- start := -1
- for i, c := range source {
- iss := IsSpace(c)
- if start < 0 && iss {
- start = i
- continue
- } else if start >= 0 && iss {
- continue
- } else if start >= 0 {
- if ret == nil {
- ret = make([]byte, 0, len(source))
- ret = append(ret, source[:start]...)
- }
- ret = append(ret, repl)
- start = -1
- }
- if ret != nil {
- ret = append(ret, c)
- }
- }
- if start >= 0 && ret != nil {
- ret = append(ret, repl)
- }
- if ret == nil {
- return source
- }
- return ret
-}
-
-// ToRune decode given bytes start at pos and returns a rune.
-func ToRune(source []byte, pos int) rune {
- i := pos
- for ; i >= 0; i-- {
- if utf8.RuneStart(source[i]) {
- break
- }
- }
- r, _ := utf8.DecodeRune(source[i:])
- return r
-}
-
-// ToValidRune returns 0xFFFD if the given rune is invalid, otherwise v.
-func ToValidRune(v rune) rune {
- if v == 0 || !utf8.ValidRune(v) {
- return rune(0xFFFD)
- }
- return v
-}
-
-// ToLinkReference converts given bytes into a valid link reference string.
-// ToLinkReference performs unicode case folding, trims leading and trailing spaces, converts into lower
-// case and replace spaces with a single space character.
-func ToLinkReference(v []byte) string {
- v = TrimLeftSpace(v)
- v = TrimRightSpace(v)
- v = DoFullUnicodeCaseFolding(v)
- return string(ReplaceSpaces(v, ' '))
-}
-
-var htmlQuote = []byte("&quot;")
-var htmlAmp = []byte("&amp;")
-var htmlLess = []byte("&lt;")
-var htmlGreater = []byte("&gt;")
-
-var htmlEscapeTable = [256]*[]byte{nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, &htmlQuote, nil, nil, nil, &htmlAmp, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, &htmlLess, nil, &htmlGreater, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil} //nolint:golint,lll
-
-// EscapeHTMLByte returns HTML escaped bytes if the given byte should be escaped,
-// otherwise nil.
-func EscapeHTMLByte(b byte) []byte {
- v := htmlEscapeTable[b]
- if v != nil {
- return *v
- }
- return nil
-}
-
-// EscapeHTML escapes characters that should be escaped in HTML text.
-func EscapeHTML(v []byte) []byte {
- cob := NewCopyOnWriteBuffer(v)
- n := 0
- for i := 0; i < len(v); i++ {
- c := v[i]
- escaped := htmlEscapeTable[c]
- if escaped != nil {
- cob.Write(v[n:i])
- cob.Write(*escaped)
- n = i + 1
- }
- }
- if cob.IsCopied() {
- cob.Write(v[n:])
- }
- return cob.Bytes()
-}
-
-// UnescapePunctuations unescapes blackslash escaped punctuations.
-func UnescapePunctuations(source []byte) []byte {
- cob := NewCopyOnWriteBuffer(source)
- limit := len(source)
- n := 0
- for i := 0; i < limit; {
- c := source[i]
- if i < limit-1 && c == '\\' && IsPunct(source[i+1]) {
- cob.Write(source[n:i])
- _ = cob.WriteByte(source[i+1])
- i += 2
- n = i
- continue
- }
- i++
- }
- if cob.IsCopied() {
- cob.Write(source[n:])
- }
- return cob.Bytes()
-}
-
-// ResolveNumericReferences resolve numeric references like '&#1234;" .
-func ResolveNumericReferences(source []byte) []byte {
- cob := NewCopyOnWriteBuffer(source)
- buf := make([]byte, 6)
- limit := len(source)
- var ok bool
- n := 0
- for i := 0; i < limit; i++ {
- if source[i] == '&' {
- pos := i
- next := i + 1
- if next < limit && source[next] == '#' {
- nnext := next + 1
- if nnext < limit {
- nc := source[nnext]
- // code point like #x22;
- if nnext < limit && nc == 'x' || nc == 'X' {
- start := nnext + 1
- i, ok = ReadWhile(source, [2]int{start, limit}, IsHexDecimal)
- if ok && i < limit && source[i] == ';' {
- v, _ := strconv.ParseUint(BytesToReadOnlyString(source[start:i]), 16, 32)
- cob.Write(source[n:pos])
- n = i + 1
- runeSize := utf8.EncodeRune(buf, ToValidRune(rune(v)))
- cob.Write(buf[:runeSize])
- continue
- }
- // code point like #1234;
- } else if nc >= '0' && nc <= '9' {
- start := nnext
- i, ok = ReadWhile(source, [2]int{start, limit}, IsNumeric)
- if ok && i < limit && i-start < 8 && source[i] == ';' {
- v, _ := strconv.ParseUint(BytesToReadOnlyString(source[start:i]), 0, 32)
- cob.Write(source[n:pos])
- n = i + 1
- runeSize := utf8.EncodeRune(buf, ToValidRune(rune(v)))
- cob.Write(buf[:runeSize])
- continue
- }
- }
- }
- }
- i = next - 1
- }
- }
- if cob.IsCopied() {
- cob.Write(source[n:])
- }
- return cob.Bytes()
-}
-
-// ResolveEntityNames resolve entity references like '&ouml;" .
-func ResolveEntityNames(source []byte) []byte {
- cob := NewCopyOnWriteBuffer(source)
- limit := len(source)
- var ok bool
- n := 0
- for i := 0; i < limit; i++ {
- if source[i] == '&' {
- pos := i
- next := i + 1
- if !(next < limit && source[next] == '#') {
- start := next
- i, ok = ReadWhile(source, [2]int{start, limit}, IsAlphaNumeric)
- if ok && i < limit && source[i] == ';' {
- name := BytesToReadOnlyString(source[start:i])
- entity, ok := LookUpHTML5EntityByName(name)
- if ok {
- cob.Write(source[n:pos])
- n = i + 1
- cob.Write(entity.Characters)
- continue
- }
- }
- }
- i = next - 1
- }
- }
- if cob.IsCopied() {
- cob.Write(source[n:])
- }
- return cob.Bytes()
-}
-
-var htmlSpace = []byte("%20")
-
-// URLEscape escape the given URL.
-// If resolveReference is set true:
-// 1. unescape punctuations
-// 2. resolve numeric references
-// 3. resolve entity references
-//
-// URL encoded values (%xx) are kept as is.
-func URLEscape(v []byte, resolveReference bool) []byte {
- if resolveReference {
- v = UnescapePunctuations(v)
- v = ResolveNumericReferences(v)
- v = ResolveEntityNames(v)
- }
- cob := NewCopyOnWriteBuffer(v)
- limit := len(v)
- n := 0
-
- for i := 0; i < limit; {
- c := v[i]
- if urlEscapeTable[c] == 1 {
- i++
- continue
- }
- if c == '%' && i+2 < limit && IsHexDecimal(v[i+1]) && IsHexDecimal(v[i+1]) {
- i += 3
- continue
- }
- u8len := utf8lenTable[c]
- if u8len == 99 { // invalid utf8 leading byte, skip it
- i++
- continue
- }
- if c == ' ' {
- cob.Write(v[n:i])
- cob.Write(htmlSpace)
- i++
- n = i
- continue
- }
- if int(u8len) > len(v) {
- u8len = int8(len(v) - 1)
- }
- if u8len == 0 {
- i++
- n = i
- continue
- }
- cob.Write(v[n:i])
- stop := i + int(u8len)
- if stop > len(v) {
- i++
- n = i
- continue
- }
- cob.Write(StringToReadOnlyBytes(url.QueryEscape(string(v[i:stop]))))
- i += int(u8len)
- n = i
- }
- if cob.IsCopied() && n < limit {
- cob.Write(v[n:])
- }
- return cob.Bytes()
-}
-
-// FindURLIndex returns a stop index value if the given bytes seem an URL.
-// This function is equivalent to [A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]* .
-func FindURLIndex(b []byte) int {
- i := 0
- if !(len(b) > 0 && urlTable[b[i]]&7 == 7) {
- return -1
- }
- i++
- for ; i < len(b); i++ {
- c := b[i]
- if urlTable[c]&4 != 4 {
- break
- }
- }
- if i == 1 || i > 33 || i >= len(b) {
- return -1
- }
- if b[i] != ':' {
- return -1
- }
- i++
- for ; i < len(b); i++ {
- c := b[i]
- if urlTable[c]&1 != 1 {
- break
- }
- }
- return i
-}
-
-var emailDomainRegexp = regexp.MustCompile(`^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*`) //nolint:golint,lll
-
-// FindEmailIndex returns a stop index value if the given bytes seem an email address.
-func FindEmailIndex(b []byte) int {
- // TODO: eliminate regexps
- i := 0
- for ; i < len(b); i++ {
- c := b[i]
- if emailTable[c]&1 != 1 {
- break
- }
- }
- if i == 0 {
- return -1
- }
- if i >= len(b) || b[i] != '@' {
- return -1
- }
- i++
- if i >= len(b) {
- return -1
- }
- match := emailDomainRegexp.FindSubmatchIndex(b[i:])
- if match == nil {
- return -1
- }
- return i + match[1]
-}
-
-var spaces = []byte(" \t\n\x0b\x0c\x0d")
-
-var spaceTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} //nolint:golint,lll
-
-var punctTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} //nolint:golint,lll
-
-// a-zA-Z0-9, ;/?:@&=+$,-_.!~*'()#
-
-var urlEscapeTable = [256]int8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} //nolint:golint,lll
-
-var utf8lenTable = [256]int8{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 99, 99, 99, 99, 99, 99, 99, 99} //nolint:golint,lll
-
-var urlTable = [256]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 5, 5, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 0, 1, 0, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} //nolint:golint,lll
-
-var emailTable = [256]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} //nolint:golint,lll
-
-// UTF8Len returns a byte length of the utf-8 character.
-func UTF8Len(b byte) int8 {
- return utf8lenTable[b]
-}
-
-// IsPunct returns true if the given character is a punctuation, otherwise false.
-func IsPunct(c byte) bool {
- return punctTable[c] == 1
-}
-
-// IsPunctRune returns true if the given rune is a punctuation, otherwise false.
-func IsPunctRune(r rune) bool {
- return unicode.IsSymbol(r) || unicode.IsPunct(r)
-}
-
-// IsSpace returns true if the given character is a space, otherwise false.
-func IsSpace(c byte) bool {
- return spaceTable[c] == 1
-}
-
-// IsSpaceRune returns true if the given rune is a space, otherwise false.
-func IsSpaceRune(r rune) bool {
- return int32(r) <= 256 && IsSpace(byte(r)) || unicode.IsSpace(r)
-}
-
-// IsNumeric returns true if the given character is a numeric, otherwise false.
-func IsNumeric(c byte) bool {
- return c >= '0' && c <= '9'
-}
-
-// IsHexDecimal returns true if the given character is a hexdecimal, otherwise false.
-func IsHexDecimal(c byte) bool {
- return c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F'
-}
-
-// IsAlphaNumeric returns true if the given character is a alphabet or a numeric, otherwise false.
-func IsAlphaNumeric(c byte) bool {
- return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9'
-}
-
-// A BufWriter is a subset of the bufio.Writer .
-type BufWriter interface {
- io.Writer
- Available() int
- Buffered() int
- Flush() error
- WriteByte(c byte) error
- WriteRune(r rune) (size int, err error)
- WriteString(s string) (int, error)
-}
-
-// A PrioritizedValue struct holds pair of an arbitrary value and a priority.
-type PrioritizedValue struct {
- // Value is an arbitrary value that you want to prioritize.
- Value interface{}
- // Priority is a priority of the value.
- Priority int
-}
-
-// PrioritizedSlice is a slice of the PrioritizedValues.
-type PrioritizedSlice []PrioritizedValue
-
-// Sort sorts the PrioritizedSlice in ascending order.
-func (s PrioritizedSlice) Sort() {
- sort.Slice(s, func(i, j int) bool {
- return s[i].Priority < s[j].Priority
- })
-}
-
-// Remove removes the given value from this slice.
-func (s PrioritizedSlice) Remove(v interface{}) PrioritizedSlice {
- i := 0
- found := false
- for ; i < len(s); i++ {
- if s[i].Value == v {
- found = true
- break
- }
- }
- if !found {
- return s
- }
- return append(s[:i], s[i+1:]...)
-}
-
-// Prioritized returns a new PrioritizedValue.
-func Prioritized(v interface{}, priority int) PrioritizedValue {
- return PrioritizedValue{v, priority}
-}
-
-func bytesHash(b []byte) uint64 {
- var hash uint64 = 5381
- for _, c := range b {
- hash = ((hash << 5) + hash) + uint64(c)
- }
- return hash
-}
-
-// BytesFilter is a efficient data structure for checking whether bytes exist or not.
-// BytesFilter is thread-safe.
-type BytesFilter interface {
- // Add adds given bytes to this set.
- Add([]byte)
-
- // Contains return true if this set contains given bytes, otherwise false.
- Contains([]byte) bool
-
- // Extend copies this filter and adds given bytes to new filter.
- Extend(...[]byte) BytesFilter
-
- // ExtendString copies this filter and adds given bytes to new filter.
- // Given string must be separated by a comma.
- ExtendString(string) BytesFilter
-}
-
-type bytesFilter struct {
- chars [256]uint8
- threshold int
- slots [][][]byte
-}
-
-// NewBytesFilter returns a new BytesFilter.
-func NewBytesFilter(elements ...[]byte) BytesFilter {
- s := &bytesFilter{
- threshold: 3,
- slots: make([][][]byte, 64),
- }
- for _, element := range elements {
- s.Add(element)
- }
- return s
-}
-
-// NewBytesFilterString returns a new BytesFilter.
-// Given string must be separated by a comma.
-func NewBytesFilterString(elements string) BytesFilter {
- s := &bytesFilter{
- threshold: 3,
- slots: make([][][]byte, 64),
- }
- start := 0
- for i := 0; i < len(elements); i++ {
- if elements[i] == ',' {
- s.Add(StringToReadOnlyBytes(elements[start:i]))
- start = i + 1
- }
- }
- if start < len(elements) {
- s.Add(StringToReadOnlyBytes(elements[start:]))
- }
- return s
-
-}
-
-func (s *bytesFilter) Add(b []byte) {
- l := len(b)
- m := s.threshold
- if l < s.threshold {
- m = l
- }
- for i := 0; i < m; i++ {
- s.chars[b[i]] |= 1 << uint8(i)
- }
- h := bytesHash(b) % uint64(len(s.slots))
- slot := s.slots[h]
- if slot == nil {
- slot = [][]byte{}
- }
- s.slots[h] = append(slot, b)
-}
-
-func (s *bytesFilter) Extend(bs ...[]byte) BytesFilter {
- newFilter := NewBytesFilter().(*bytesFilter)
- newFilter.chars = s.chars
- newFilter.threshold = s.threshold
- for k, v := range s.slots {
- newSlot := make([][]byte, len(v))
- copy(newSlot, v)
- newFilter.slots[k] = v
- }
- for _, b := range bs {
- newFilter.Add(b)
- }
- return newFilter
-}
-
-func (s *bytesFilter) ExtendString(elements string) BytesFilter {
- newFilter := NewBytesFilter().(*bytesFilter)
- newFilter.chars = s.chars
- newFilter.threshold = s.threshold
- for k, v := range s.slots {
- newSlot := make([][]byte, len(v))
- copy(newSlot, v)
- newFilter.slots[k] = v
- }
- start := 0
- for i := 0; i < len(elements); i++ {
- if elements[i] == ',' {
- newFilter.Add(StringToReadOnlyBytes(elements[start:i]))
- start = i + 1
- }
- }
- if start < len(elements) {
- newFilter.Add(StringToReadOnlyBytes(elements[start:]))
- }
- return newFilter
-}
-
-func (s *bytesFilter) Contains(b []byte) bool {
- l := len(b)
- m := s.threshold
- if l < s.threshold {
- m = l
- }
- for i := 0; i < m; i++ {
- if (s.chars[b[i]] & (1 << uint8(i))) == 0 {
- return false
- }
- }
- h := bytesHash(b) % uint64(len(s.slots))
- slot := s.slots[h]
- if len(slot) == 0 {
- return false
- }
- for _, element := range slot {
- if bytes.Equal(element, b) {
- return true
- }
- }
- return false
-}
diff --git a/vendor/github.com/yuin/goldmark/util/util_cjk.go b/vendor/github.com/yuin/goldmark/util/util_cjk.go
deleted file mode 100644
index d7581070a..000000000
--- a/vendor/github.com/yuin/goldmark/util/util_cjk.go
+++ /dev/null
@@ -1,469 +0,0 @@
-package util
-
-import "unicode"
-
-var cjkRadicalsSupplement = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x2E80, 0x2EFF, 1},
- },
-}
-
-var kangxiRadicals = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x2F00, 0x2FDF, 1},
- },
-}
-
-var ideographicDescriptionCharacters = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x2FF0, 0x2FFF, 1},
- },
-}
-
-var cjkSymbolsAndPunctuation = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x3000, 0x303F, 1},
- },
-}
-
-var hiragana = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x3040, 0x309F, 1},
- },
-}
-
-var katakana = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x30A0, 0x30FF, 1},
- },
-}
-
-var kanbun = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x3130, 0x318F, 1},
- {0x3190, 0x319F, 1},
- },
-}
-
-var cjkStrokes = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x31C0, 0x31EF, 1},
- },
-}
-
-var katakanaPhoneticExtensions = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x31F0, 0x31FF, 1},
- },
-}
-
-var cjkCompatibility = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x3300, 0x33FF, 1},
- },
-}
-
-var cjkUnifiedIdeographsExtensionA = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x3400, 0x4DBF, 1},
- },
-}
-
-var cjkUnifiedIdeographs = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0x4E00, 0x9FFF, 1},
- },
-}
-
-var yiSyllables = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0xA000, 0xA48F, 1},
- },
-}
-
-var yiRadicals = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0xA490, 0xA4CF, 1},
- },
-}
-
-var cjkCompatibilityIdeographs = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0xF900, 0xFAFF, 1},
- },
-}
-
-var verticalForms = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0xFE10, 0xFE1F, 1},
- },
-}
-
-var cjkCompatibilityForms = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0xFE30, 0xFE4F, 1},
- },
-}
-
-var smallFormVariants = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0xFE50, 0xFE6F, 1},
- },
-}
-
-var halfwidthAndFullwidthForms = &unicode.RangeTable{
- R16: []unicode.Range16{
- {0xFF00, 0xFFEF, 1},
- },
-}
-
-var kanaSupplement = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x1B000, 0x1B0FF, 1},
- },
-}
-
-var kanaExtendedA = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x1B100, 0x1B12F, 1},
- },
-}
-
-var smallKanaExtension = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x1B130, 0x1B16F, 1},
- },
-}
-
-var cjkUnifiedIdeographsExtensionB = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x20000, 0x2A6DF, 1},
- },
-}
-
-var cjkUnifiedIdeographsExtensionC = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x2A700, 0x2B73F, 1},
- },
-}
-
-var cjkUnifiedIdeographsExtensionD = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x2B740, 0x2B81F, 1},
- },
-}
-
-var cjkUnifiedIdeographsExtensionE = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x2B820, 0x2CEAF, 1},
- },
-}
-
-var cjkUnifiedIdeographsExtensionF = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x2CEB0, 0x2EBEF, 1},
- },
-}
-
-var cjkCompatibilityIdeographsSupplement = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x2F800, 0x2FA1F, 1},
- },
-}
-
-var cjkUnifiedIdeographsExtensionG = &unicode.RangeTable{
- R32: []unicode.Range32{
- {0x30000, 0x3134F, 1},
- },
-}
-
-// IsEastAsianWideRune returns trhe if the given rune is an east asian wide character, otherwise false.
-func IsEastAsianWideRune(r rune) bool {
- return unicode.Is(unicode.Hiragana, r) ||
- unicode.Is(unicode.Katakana, r) ||
- unicode.Is(unicode.Han, r) ||
- unicode.Is(unicode.Lm, r) ||
- unicode.Is(unicode.Hangul, r) ||
- unicode.Is(cjkSymbolsAndPunctuation, r)
-}
-
-// IsSpaceDiscardingUnicodeRune returns true if the given rune is space-discarding unicode character, otherwise false.
-// See https://www.w3.org/TR/2020/WD-css-text-3-20200429/#space-discard-set
-func IsSpaceDiscardingUnicodeRune(r rune) bool {
- return unicode.Is(cjkRadicalsSupplement, r) ||
- unicode.Is(kangxiRadicals, r) ||
- unicode.Is(ideographicDescriptionCharacters, r) ||
- unicode.Is(cjkSymbolsAndPunctuation, r) ||
- unicode.Is(hiragana, r) ||
- unicode.Is(katakana, r) ||
- unicode.Is(kanbun, r) ||
- unicode.Is(cjkStrokes, r) ||
- unicode.Is(katakanaPhoneticExtensions, r) ||
- unicode.Is(cjkCompatibility, r) ||
- unicode.Is(cjkUnifiedIdeographsExtensionA, r) ||
- unicode.Is(cjkUnifiedIdeographs, r) ||
- unicode.Is(yiSyllables, r) ||
- unicode.Is(yiRadicals, r) ||
- unicode.Is(cjkCompatibilityIdeographs, r) ||
- unicode.Is(verticalForms, r) ||
- unicode.Is(cjkCompatibilityForms, r) ||
- unicode.Is(smallFormVariants, r) ||
- unicode.Is(halfwidthAndFullwidthForms, r) ||
- unicode.Is(kanaSupplement, r) ||
- unicode.Is(kanaExtendedA, r) ||
- unicode.Is(smallKanaExtension, r) ||
- unicode.Is(cjkUnifiedIdeographsExtensionB, r) ||
- unicode.Is(cjkUnifiedIdeographsExtensionC, r) ||
- unicode.Is(cjkUnifiedIdeographsExtensionD, r) ||
- unicode.Is(cjkUnifiedIdeographsExtensionE, r) ||
- unicode.Is(cjkUnifiedIdeographsExtensionF, r) ||
- unicode.Is(cjkCompatibilityIdeographsSupplement, r) ||
- unicode.Is(cjkUnifiedIdeographsExtensionG, r)
-}
-
-// EastAsianWidth returns the east asian width of the given rune.
-// See https://www.unicode.org/reports/tr11/tr11-36.html
-func EastAsianWidth(r rune) string {
- switch {
- case r == 0x3000,
- (0xFF01 <= r && r <= 0xFF60),
- (0xFFE0 <= r && r <= 0xFFE6):
- return "F"
-
- case r == 0x20A9,
- (0xFF61 <= r && r <= 0xFFBE),
- (0xFFC2 <= r && r <= 0xFFC7),
- (0xFFCA <= r && r <= 0xFFCF),
- (0xFFD2 <= r && r <= 0xFFD7),
- (0xFFDA <= r && r <= 0xFFDC),
- (0xFFE8 <= r && r <= 0xFFEE):
- return "H"
-
- case (0x1100 <= r && r <= 0x115F),
- (0x11A3 <= r && r <= 0x11A7),
- (0x11FA <= r && r <= 0x11FF),
- (0x2329 <= r && r <= 0x232A),
- (0x2E80 <= r && r <= 0x2E99),
- (0x2E9B <= r && r <= 0x2EF3),
- (0x2F00 <= r && r <= 0x2FD5),
- (0x2FF0 <= r && r <= 0x2FFB),
- (0x3001 <= r && r <= 0x303E),
- (0x3041 <= r && r <= 0x3096),
- (0x3099 <= r && r <= 0x30FF),
- (0x3105 <= r && r <= 0x312D),
- (0x3131 <= r && r <= 0x318E),
- (0x3190 <= r && r <= 0x31BA),
- (0x31C0 <= r && r <= 0x31E3),
- (0x31F0 <= r && r <= 0x321E),
- (0x3220 <= r && r <= 0x3247),
- (0x3250 <= r && r <= 0x32FE),
- (0x3300 <= r && r <= 0x4DBF),
- (0x4E00 <= r && r <= 0xA48C),
- (0xA490 <= r && r <= 0xA4C6),
- (0xA960 <= r && r <= 0xA97C),
- (0xAC00 <= r && r <= 0xD7A3),
- (0xD7B0 <= r && r <= 0xD7C6),
- (0xD7CB <= r && r <= 0xD7FB),
- (0xF900 <= r && r <= 0xFAFF),
- (0xFE10 <= r && r <= 0xFE19),
- (0xFE30 <= r && r <= 0xFE52),
- (0xFE54 <= r && r <= 0xFE66),
- (0xFE68 <= r && r <= 0xFE6B),
- (0x1B000 <= r && r <= 0x1B001),
- (0x1F200 <= r && r <= 0x1F202),
- (0x1F210 <= r && r <= 0x1F23A),
- (0x1F240 <= r && r <= 0x1F248),
- (0x1F250 <= r && r <= 0x1F251),
- (0x20000 <= r && r <= 0x2F73F),
- (0x2B740 <= r && r <= 0x2FFFD),
- (0x30000 <= r && r <= 0x3FFFD):
- return "W"
-
- case (0x0020 <= r && r <= 0x007E),
- (0x00A2 <= r && r <= 0x00A3),
- (0x00A5 <= r && r <= 0x00A6),
- r == 0x00AC,
- r == 0x00AF,
- (0x27E6 <= r && r <= 0x27ED),
- (0x2985 <= r && r <= 0x2986):
- return "Na"
-
- case (0x00A1 == r),
- (0x00A4 == r),
- (0x00A7 <= r && r <= 0x00A8),
- (0x00AA == r),
- (0x00AD <= r && r <= 0x00AE),
- (0x00B0 <= r && r <= 0x00B4),
- (0x00B6 <= r && r <= 0x00BA),
- (0x00BC <= r && r <= 0x00BF),
- (0x00C6 == r),
- (0x00D0 == r),
- (0x00D7 <= r && r <= 0x00D8),
- (0x00DE <= r && r <= 0x00E1),
- (0x00E6 == r),
- (0x00E8 <= r && r <= 0x00EA),
- (0x00EC <= r && r <= 0x00ED),
- (0x00F0 == r),
- (0x00F2 <= r && r <= 0x00F3),
- (0x00F7 <= r && r <= 0x00FA),
- (0x00FC == r),
- (0x00FE == r),
- (0x0101 == r),
- (0x0111 == r),
- (0x0113 == r),
- (0x011B == r),
- (0x0126 <= r && r <= 0x0127),
- (0x012B == r),
- (0x0131 <= r && r <= 0x0133),
- (0x0138 == r),
- (0x013F <= r && r <= 0x0142),
- (0x0144 == r),
- (0x0148 <= r && r <= 0x014B),
- (0x014D == r),
- (0x0152 <= r && r <= 0x0153),
- (0x0166 <= r && r <= 0x0167),
- (0x016B == r),
- (0x01CE == r),
- (0x01D0 == r),
- (0x01D2 == r),
- (0x01D4 == r),
- (0x01D6 == r),
- (0x01D8 == r),
- (0x01DA == r),
- (0x01DC == r),
- (0x0251 == r),
- (0x0261 == r),
- (0x02C4 == r),
- (0x02C7 == r),
- (0x02C9 <= r && r <= 0x02CB),
- (0x02CD == r),
- (0x02D0 == r),
- (0x02D8 <= r && r <= 0x02DB),
- (0x02DD == r),
- (0x02DF == r),
- (0x0300 <= r && r <= 0x036F),
- (0x0391 <= r && r <= 0x03A1),
- (0x03A3 <= r && r <= 0x03A9),
- (0x03B1 <= r && r <= 0x03C1),
- (0x03C3 <= r && r <= 0x03C9),
- (0x0401 == r),
- (0x0410 <= r && r <= 0x044F),
- (0x0451 == r),
- (0x2010 == r),
- (0x2013 <= r && r <= 0x2016),
- (0x2018 <= r && r <= 0x2019),
- (0x201C <= r && r <= 0x201D),
- (0x2020 <= r && r <= 0x2022),
- (0x2024 <= r && r <= 0x2027),
- (0x2030 == r),
- (0x2032 <= r && r <= 0x2033),
- (0x2035 == r),
- (0x203B == r),
- (0x203E == r),
- (0x2074 == r),
- (0x207F == r),
- (0x2081 <= r && r <= 0x2084),
- (0x20AC == r),
- (0x2103 == r),
- (0x2105 == r),
- (0x2109 == r),
- (0x2113 == r),
- (0x2116 == r),
- (0x2121 <= r && r <= 0x2122),
- (0x2126 == r),
- (0x212B == r),
- (0x2153 <= r && r <= 0x2154),
- (0x215B <= r && r <= 0x215E),
- (0x2160 <= r && r <= 0x216B),
- (0x2170 <= r && r <= 0x2179),
- (0x2189 == r),
- (0x2190 <= r && r <= 0x2199),
- (0x21B8 <= r && r <= 0x21B9),
- (0x21D2 == r),
- (0x21D4 == r),
- (0x21E7 == r),
- (0x2200 == r),
- (0x2202 <= r && r <= 0x2203),
- (0x2207 <= r && r <= 0x2208),
- (0x220B == r),
- (0x220F == r),
- (0x2211 == r),
- (0x2215 == r),
- (0x221A == r),
- (0x221D <= r && r <= 0x2220),
- (0x2223 == r),
- (0x2225 == r),
- (0x2227 <= r && r <= 0x222C),
- (0x222E == r),
- (0x2234 <= r && r <= 0x2237),
- (0x223C <= r && r <= 0x223D),
- (0x2248 == r),
- (0x224C == r),
- (0x2252 == r),
- (0x2260 <= r && r <= 0x2261),
- (0x2264 <= r && r <= 0x2267),
- (0x226A <= r && r <= 0x226B),
- (0x226E <= r && r <= 0x226F),
- (0x2282 <= r && r <= 0x2283),
- (0x2286 <= r && r <= 0x2287),
- (0x2295 == r),
- (0x2299 == r),
- (0x22A5 == r),
- (0x22BF == r),
- (0x2312 == r),
- (0x2460 <= r && r <= 0x24E9),
- (0x24EB <= r && r <= 0x254B),
- (0x2550 <= r && r <= 0x2573),
- (0x2580 <= r && r <= 0x258F),
- (0x2592 <= r && r <= 0x2595),
- (0x25A0 <= r && r <= 0x25A1),
- (0x25A3 <= r && r <= 0x25A9),
- (0x25B2 <= r && r <= 0x25B3),
- (0x25B6 <= r && r <= 0x25B7),
- (0x25BC <= r && r <= 0x25BD),
- (0x25C0 <= r && r <= 0x25C1),
- (0x25C6 <= r && r <= 0x25C8),
- (0x25CB == r),
- (0x25CE <= r && r <= 0x25D1),
- (0x25E2 <= r && r <= 0x25E5),
- (0x25EF == r),
- (0x2605 <= r && r <= 0x2606),
- (0x2609 == r),
- (0x260E <= r && r <= 0x260F),
- (0x2614 <= r && r <= 0x2615),
- (0x261C == r),
- (0x261E == r),
- (0x2640 == r),
- (0x2642 == r),
- (0x2660 <= r && r <= 0x2661),
- (0x2663 <= r && r <= 0x2665),
- (0x2667 <= r && r <= 0x266A),
- (0x266C <= r && r <= 0x266D),
- (0x266F == r),
- (0x269E <= r && r <= 0x269F),
- (0x26BE <= r && r <= 0x26BF),
- (0x26C4 <= r && r <= 0x26CD),
- (0x26CF <= r && r <= 0x26E1),
- (0x26E3 == r),
- (0x26E8 <= r && r <= 0x26FF),
- (0x273D == r),
- (0x2757 == r),
- (0x2776 <= r && r <= 0x277F),
- (0x2B55 <= r && r <= 0x2B59),
- (0x3248 <= r && r <= 0x324F),
- (0xE000 <= r && r <= 0xF8FF),
- (0xFE00 <= r && r <= 0xFE0F),
- (0xFFFD == r),
- (0x1F100 <= r && r <= 0x1F10A),
- (0x1F110 <= r && r <= 0x1F12D),
- (0x1F130 <= r && r <= 0x1F169),
- (0x1F170 <= r && r <= 0x1F19A),
- (0xE0100 <= r && r <= 0xE01EF),
- (0xF0000 <= r && r <= 0xFFFFD),
- (0x100000 <= r && r <= 0x10FFFD):
- return "A"
-
- default:
- return "N"
- }
-}
diff --git a/vendor/github.com/yuin/goldmark/util/util_safe.go b/vendor/github.com/yuin/goldmark/util/util_safe.go
deleted file mode 100644
index 2f6a3feee..000000000
--- a/vendor/github.com/yuin/goldmark/util/util_safe.go
+++ /dev/null
@@ -1,14 +0,0 @@
-//go:build appengine || js
-// +build appengine js
-
-package util
-
-// BytesToReadOnlyString returns a string converted from given bytes.
-func BytesToReadOnlyString(b []byte) string {
- return string(b)
-}
-
-// StringToReadOnlyBytes returns bytes converted from given string.
-func StringToReadOnlyBytes(s string) []byte {
- return []byte(s)
-}
diff --git a/vendor/github.com/yuin/goldmark/util/util_unsafe_go120.go b/vendor/github.com/yuin/goldmark/util/util_unsafe_go120.go
deleted file mode 100644
index d6be534ed..000000000
--- a/vendor/github.com/yuin/goldmark/util/util_unsafe_go120.go
+++ /dev/null
@@ -1,24 +0,0 @@
-//go:build !appengine && !js && !go1.21
-// +build !appengine,!js,!go1.21
-
-package util
-
-import (
- "reflect"
- "unsafe"
-)
-
-// BytesToReadOnlyString returns a string converted from given bytes.
-func BytesToReadOnlyString(b []byte) string {
- return *(*string)(unsafe.Pointer(&b))
-}
-
-// StringToReadOnlyBytes returns bytes converted from given string.
-func StringToReadOnlyBytes(s string) (bs []byte) {
- sh := (*reflect.StringHeader)(unsafe.Pointer(&s))
- bh := (*reflect.SliceHeader)(unsafe.Pointer(&bs))
- bh.Data = sh.Data
- bh.Cap = sh.Len
- bh.Len = sh.Len
- return
-}
diff --git a/vendor/github.com/yuin/goldmark/util/util_unsafe_go121.go b/vendor/github.com/yuin/goldmark/util/util_unsafe_go121.go
deleted file mode 100644
index 50c7fce34..000000000
--- a/vendor/github.com/yuin/goldmark/util/util_unsafe_go121.go
+++ /dev/null
@@ -1,18 +0,0 @@
-//go:build !appengine && !js && go1.21
-// +build !appengine,!js,go1.21
-
-package util
-
-import (
- "unsafe"
-)
-
-// BytesToReadOnlyString returns a string converted from given bytes.
-func BytesToReadOnlyString(b []byte) string {
- return unsafe.String(unsafe.SliceData(b), len(b))
-}
-
-// StringToReadOnlyBytes returns bytes converted from given string.
-func StringToReadOnlyBytes(s string) []byte {
- return unsafe.Slice(unsafe.StringData(s), len(s))
-}