22.js 644 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330
  1. (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[22],{
  2. /***/ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/index.vue?vue&type=script&setup=true&lang=ts":
  3. /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  4. !*** D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--14-0!D:/web_src/4dkankan_v4/node_modules/babel-loader/lib!D:/web_src/4dkankan_v4/node_modules/ts-loader??ref--14-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/index.vue?vue&type=script&setup=true&lang=ts ***!
  5. \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  6. /*! exports provided: default */
  7. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8. "use strict";
  9. __webpack_require__.r(__webpack_exports__);
  10. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "../../node_modules/vue/dist/vue.runtime.esm-bundler.js");
  11. /* harmony import */ var _mddoc_index_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mddoc/index.vue */ "./src/app/program/views/help/mddoc/index.vue");
  12. /* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(vue__WEBPACK_IMPORTED_MODULE_0__["defineComponent"])({
  13. __name: 'index',
  14. setup: function (__props, _a) {
  15. var expose = _a.expose;
  16. expose();
  17. var __returned__ = {
  18. Mddoc: _mddoc_index_vue__WEBPACK_IMPORTED_MODULE_1__["default"]
  19. };
  20. Object.defineProperty(__returned__, '__isScriptSetup', {
  21. enumerable: false,
  22. value: true
  23. });
  24. return __returned__;
  25. }
  26. }));
  27. /***/ }),
  28. /***/ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/index.vue?vue&type=script&setup=true&lang=ts":
  29. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30. !*** D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--14-0!D:/web_src/4dkankan_v4/node_modules/babel-loader/lib!D:/web_src/4dkankan_v4/node_modules/ts-loader??ref--14-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/index.vue?vue&type=script&setup=true&lang=ts ***!
  31. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32. /*! exports provided: default */
  33. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34. "use strict";
  35. __webpack_require__.r(__webpack_exports__);
  36. /* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ "../../node_modules/core-js/modules/es.error.cause.js");
  37. /* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);
  38. /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ "../../node_modules/core-js/modules/es.array.push.js");
  39. /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);
  40. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "../../node_modules/vue/dist/vue.runtime.esm-bundler.js");
  41. /* harmony import */ var _view_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./view.vue */ "./src/app/program/views/help/mddoc/view.vue");
  42. /* harmony import */ var _slide_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slide.vue */ "./src/app/program/views/help/mddoc/slide.vue");
  43. /* harmony import */ var _request_url__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/request/url */ "./src/request/url.ts");
  44. /* harmony import */ var _app_program_hook_axios__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/app/program/hook/axios */ "./src/app/program/hook/axios.ts");
  45. /* harmony import */ var _app_program_store_status__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/app/program/store/status */ "./src/app/program/store/status.ts");
  46. var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
  47. function adopt(value) {
  48. return value instanceof P ? value : new P(function (resolve) {
  49. resolve(value);
  50. });
  51. }
  52. return new (P || (P = Promise))(function (resolve, reject) {
  53. function fulfilled(value) {
  54. try {
  55. step(generator.next(value));
  56. } catch (e) {
  57. reject(e);
  58. }
  59. }
  60. function rejected(value) {
  61. try {
  62. step(generator["throw"](value));
  63. } catch (e) {
  64. reject(e);
  65. }
  66. }
  67. function step(result) {
  68. result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
  69. }
  70. step((generator = generator.apply(thisArg, _arguments || [])).next());
  71. });
  72. };
  73. var __generator = undefined && undefined.__generator || function (thisArg, body) {
  74. var _ = {
  75. label: 0,
  76. sent: function () {
  77. if (t[0] & 1) throw t[1];
  78. return t[1];
  79. },
  80. trys: [],
  81. ops: []
  82. },
  83. f,
  84. y,
  85. t,
  86. g;
  87. return g = {
  88. next: verb(0),
  89. "throw": verb(1),
  90. "return": verb(2)
  91. }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
  92. return this;
  93. }), g;
  94. function verb(n) {
  95. return function (v) {
  96. return step([n, v]);
  97. };
  98. }
  99. function step(op) {
  100. if (f) throw new TypeError("Generator is already executing.");
  101. while (g && (g = 0, op[0] && (_ = 0)), _) try {
  102. if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
  103. if (y = 0, t) op = [op[0] & 2, t.value];
  104. switch (op[0]) {
  105. case 0:
  106. case 1:
  107. t = op;
  108. break;
  109. case 4:
  110. _.label++;
  111. return {
  112. value: op[1],
  113. done: false
  114. };
  115. case 5:
  116. _.label++;
  117. y = op[1];
  118. op = [0];
  119. continue;
  120. case 7:
  121. op = _.ops.pop();
  122. _.trys.pop();
  123. continue;
  124. default:
  125. if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
  126. _ = 0;
  127. continue;
  128. }
  129. if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
  130. _.label = op[1];
  131. break;
  132. }
  133. if (op[0] === 6 && _.label < t[1]) {
  134. _.label = t[1];
  135. t = op;
  136. break;
  137. }
  138. if (t && _.label < t[2]) {
  139. _.label = t[2];
  140. _.ops.push(op);
  141. break;
  142. }
  143. if (t[2]) _.ops.pop();
  144. _.trys.pop();
  145. continue;
  146. }
  147. op = body.call(thisArg, _);
  148. } catch (e) {
  149. op = [6, e];
  150. y = 0;
  151. } finally {
  152. f = t = 0;
  153. }
  154. if (op[0] & 5) throw op[1];
  155. return {
  156. value: op[0] ? op[1] : void 0,
  157. done: true
  158. };
  159. }
  160. };
  161. /* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(vue__WEBPACK_IMPORTED_MODULE_2__["defineComponent"])({
  162. __name: 'index',
  163. setup: function (__props, _a) {
  164. var _this = this;
  165. var expose = _a.expose;
  166. expose();
  167. var name = Object(vue__WEBPACK_IMPORTED_MODULE_2__["ref"])('');
  168. var seekDefaultItem = function (tree, name) {
  169. for (var _i = 0, tree_1 = tree; _i < tree_1.length; _i++) {
  170. var item = tree_1[_i];
  171. if (item.type === 'md' && (!name || item.name === name)) {
  172. return item;
  173. } else if (item.type === 'dir') {
  174. var seekItem = seekDefaultItem(item.child, name);
  175. if (seekItem) {
  176. return seekItem;
  177. }
  178. }
  179. }
  180. };
  181. var hideChange = function (item) {
  182. console.log(item);
  183. item.dir.hideChild = item.hide;
  184. };
  185. var autoShowDir = function (tree, active) {
  186. for (var _i = 0, tree_2 = tree; _i < tree_2.length; _i++) {
  187. var item = tree_2[_i];
  188. if (item.type === 'dir') {
  189. if (autoShowDir(item.child, active)) {
  190. item.hideChild = false;
  191. return true;
  192. }
  193. } else if (item === active) {
  194. return true;
  195. }
  196. }
  197. return false;
  198. };
  199. var selectHandle = function (item) {
  200. name.value = item.name;
  201. // router.push({ name: 'help', params: { name: item.name } })
  202. };
  203. var trees = Object(vue__WEBPACK_IMPORTED_MODULE_2__["ref"])([]);
  204. var mdContent = Object(vue__WEBPACK_IMPORTED_MODULE_2__["ref"])('');
  205. var selectItem = Object(vue__WEBPACK_IMPORTED_MODULE_2__["ref"])(null);
  206. var baseURI = Object(vue__WEBPACK_IMPORTED_MODULE_2__["ref"])('');
  207. Object(vue__WEBPACK_IMPORTED_MODULE_2__["watchEffect"])(function () {
  208. return autoShowDir(trees.value, selectItem.value);
  209. });
  210. Object(vue__WEBPACK_IMPORTED_MODULE_2__["watchEffect"])(function () {
  211. selectItem.value = seekDefaultItem(trees.value, name.value);
  212. });
  213. Object(vue__WEBPACK_IMPORTED_MODULE_2__["watch"])(selectItem, function (treeMD) {
  214. return __awaiter(_this, void 0, void 0, function () {
  215. var res;
  216. return __generator(this, function (_a) {
  217. switch (_a.label) {
  218. case 0:
  219. if (!treeMD || treeMD.type === 'dir') return [2 /*return*/];
  220. if (!!treeMD.content) return [3 /*break*/, 2];
  221. return [4 /*yield*/, Object(_app_program_hook_axios__WEBPACK_IMPORTED_MODULE_6__["axios"])({
  222. baseURL: baseURI.value,
  223. url: "md/" + treeMD.md
  224. })];
  225. case 1:
  226. res = _a.sent();
  227. Object(vue__WEBPACK_IMPORTED_MODULE_2__["toRaw"])(treeMD).content = res.data.replace(/src\//g, baseURI.value + "/md/src/").replace(/ss\//g, baseURI.value + "/md/ss/");
  228. _a.label = 2;
  229. case 2:
  230. mdContent.value = treeMD.content;
  231. window.scroll(0, 0);
  232. return [2 /*return*/];
  233. }
  234. });
  235. });
  236. }, {
  237. immediate: true
  238. });
  239. var initWidth = Object(vue__WEBPACK_IMPORTED_MODULE_2__["ref"])(null);
  240. var scrollTop = Object(vue__WEBPACK_IMPORTED_MODULE_2__["ref"])(null);
  241. var slideVM = Object(vue__WEBPACK_IMPORTED_MODULE_2__["ref"])();
  242. var handle;
  243. Object(vue__WEBPACK_IMPORTED_MODULE_2__["onMounted"])(function () {
  244. var $slide = slideVM.value;
  245. var $parent = $slide;
  246. var top = -50;
  247. while ($parent && $parent !== document.documentElement) {
  248. top += $parent.offsetTop;
  249. $parent = $parent.offsetParent;
  250. }
  251. handle = function () {
  252. var y = window.scrollY;
  253. if (y > top) {
  254. var maxHeight = document.documentElement.offsetHeight - 360 - $slide.offsetHeight - document.documentElement.clientHeight;
  255. var atop = y - top + 50;
  256. if (atop < maxHeight) {
  257. scrollTop.value = atop;
  258. } else {
  259. scrollTop.value = maxHeight;
  260. }
  261. initWidth.value = slideVM.value.offsetWidth;
  262. } else {
  263. initWidth.value = null;
  264. }
  265. };
  266. window.addEventListener('scroll', handle);
  267. handle();
  268. });
  269. Object(vue__WEBPACK_IMPORTED_MODULE_2__["onBeforeUnmount"])(function () {
  270. window.removeEventListener('scroll', handle);
  271. });
  272. Object(vue__WEBPACK_IMPORTED_MODULE_2__["watchEffect"])(function () {
  273. return __awaiter(_this, void 0, void 0, function () {
  274. var data, res;
  275. return __generator(this, function (_a) {
  276. switch (_a.label) {
  277. case 0:
  278. if (!(_app_program_store_status__WEBPACK_IMPORTED_MODULE_7__["javaState"].value === _app_program_store_status__WEBPACK_IMPORTED_MODULE_7__["stateEnum"].success)) return [3 /*break*/, 3];
  279. return [4 /*yield*/, Object(_app_program_hook_axios__WEBPACK_IMPORTED_MODULE_6__["analysis"])(_app_program_hook_axios__WEBPACK_IMPORTED_MODULE_6__["axios"].post(_request_url__WEBPACK_IMPORTED_MODULE_5__["getAppConfig"]))];
  280. case 1:
  281. data = _a.sent();
  282. baseURI.value = data.url;
  283. return [4 /*yield*/, Object(_app_program_hook_axios__WEBPACK_IMPORTED_MODULE_6__["axios"])({
  284. baseURL: baseURI.value,
  285. url: 'md/md.json'
  286. })];
  287. case 2:
  288. res = _a.sent();
  289. trees.value = res.data;
  290. _a.label = 3;
  291. case 3:
  292. return [2 /*return*/];
  293. }
  294. });
  295. });
  296. });
  297. var __returned__ = {
  298. name: name,
  299. seekDefaultItem: seekDefaultItem,
  300. hideChange: hideChange,
  301. autoShowDir: autoShowDir,
  302. selectHandle: selectHandle,
  303. trees: trees,
  304. mdContent: mdContent,
  305. selectItem: selectItem,
  306. baseURI: baseURI,
  307. initWidth: initWidth,
  308. scrollTop: scrollTop,
  309. slideVM: slideVM,
  310. handle: handle,
  311. MdView: _view_vue__WEBPACK_IMPORTED_MODULE_3__["default"],
  312. MdSlide: _slide_vue__WEBPACK_IMPORTED_MODULE_4__["default"]
  313. };
  314. Object.defineProperty(__returned__, '__isScriptSetup', {
  315. enumerable: false,
  316. value: true
  317. });
  318. return __returned__;
  319. }
  320. }));
  321. /***/ }),
  322. /***/ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/slide.vue?vue&type=script&lang=ts&setup=true&name=md-tree":
  323. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  324. !*** D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--14-0!D:/web_src/4dkankan_v4/node_modules/babel-loader/lib!D:/web_src/4dkankan_v4/node_modules/ts-loader??ref--14-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/slide.vue?vue&type=script&lang=ts&setup=true&name=md-tree ***!
  325. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  326. /*! exports provided: default */
  327. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  328. "use strict";
  329. __webpack_require__.r(__webpack_exports__);
  330. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "../../node_modules/vue/dist/vue.runtime.esm-bundler.js");
  331. /* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(vue__WEBPACK_IMPORTED_MODULE_0__["defineComponent"])({
  332. __name: 'slide',
  333. props: {
  334. tree: {
  335. type: null,
  336. required: true
  337. },
  338. active: {
  339. type: null,
  340. required: true
  341. }
  342. },
  343. emits: ["select", "hideChange"],
  344. setup: function (__props, _a) {
  345. var expose = _a.expose,
  346. emit = _a.emit;
  347. expose();
  348. var props = __props;
  349. var showDirs = Object(vue__WEBPACK_IMPORTED_MODULE_0__["reactive"])([]);
  350. var clickHandle = function (item) {
  351. if (item.type === 'md') {
  352. emit('select', item);
  353. } else {
  354. emit('hideChange', {
  355. dir: item,
  356. hide: !item.hideChild
  357. });
  358. }
  359. };
  360. var __returned__ = {
  361. props: props,
  362. emit: emit,
  363. showDirs: showDirs,
  364. clickHandle: clickHandle
  365. };
  366. Object.defineProperty(__returned__, '__isScriptSetup', {
  367. enumerable: false,
  368. value: true
  369. });
  370. return __returned__;
  371. }
  372. }));
  373. /***/ }),
  374. /***/ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/view.vue?vue&type=script&lang=ts&setup=true":
  375. /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  376. !*** D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--14-0!D:/web_src/4dkankan_v4/node_modules/babel-loader/lib!D:/web_src/4dkankan_v4/node_modules/ts-loader??ref--14-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/view.vue?vue&type=script&lang=ts&setup=true ***!
  377. \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  378. /*! exports provided: default */
  379. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  380. "use strict";
  381. __webpack_require__.r(__webpack_exports__);
  382. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "../../node_modules/vue/dist/vue.runtime.esm-bundler.js");
  383. /* harmony import */ var markdown_it__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! markdown-it */ "../../node_modules/markdown-it/index.js");
  384. /* harmony import */ var markdown_it__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(markdown_it__WEBPACK_IMPORTED_MODULE_1__);
  385. /* harmony import */ var juejin_markdown_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! juejin-markdown-themes */ "../../node_modules/juejin-markdown-themes/dist/index.js");
  386. /* harmony import */ var juejin_markdown_themes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(juejin_markdown_themes__WEBPACK_IMPORTED_MODULE_2__);
  387. /* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object(vue__WEBPACK_IMPORTED_MODULE_0__["defineComponent"])({
  388. __name: 'view',
  389. props: {
  390. content: {
  391. type: String,
  392. required: true
  393. }
  394. },
  395. setup: function (__props, _a) {
  396. var expose = _a.expose;
  397. expose();
  398. var props = __props;
  399. var md = new markdown_it__WEBPACK_IMPORTED_MODULE_1___default.a({
  400. html: true
  401. });
  402. var $style = document.createElement('style');
  403. document.documentElement.insertBefore($style, document.body);
  404. var themeKeys = Object.keys(juejin_markdown_themes__WEBPACK_IMPORTED_MODULE_2___default.a);
  405. var viewTheme = Object(vue__WEBPACK_IMPORTED_MODULE_0__["ref"])('juejin');
  406. var bodyVM = Object(vue__WEBPACK_IMPORTED_MODULE_0__["ref"])(null);
  407. var body = Object(vue__WEBPACK_IMPORTED_MODULE_0__["computed"])(function () {
  408. if (props.content) {
  409. // Array.from(bodyVM.value.querySelectorAll('a')).forEach(item => {
  410. // const href = item.getAttribute('href');
  411. // if (/^(?:https?)|(?:\/\/)/.test(href)) {
  412. // item.setAttribute('target', '_blank')
  413. // }
  414. // })
  415. return md.render(props.content);
  416. } else {
  417. return '';
  418. }
  419. });
  420. Object(vue__WEBPACK_IMPORTED_MODULE_0__["watchEffect"])(function () {
  421. if (viewTheme.value) {
  422. var styleTxt = themeKeys.includes(viewTheme.value) ? juejin_markdown_themes__WEBPACK_IMPORTED_MODULE_2___default.a[viewTheme.value].style : '';
  423. $style.innerHTML = styleTxt;
  424. }
  425. });
  426. var __returned__ = {
  427. md: md,
  428. $style: $style,
  429. themeKeys: themeKeys,
  430. viewTheme: viewTheme,
  431. bodyVM: bodyVM,
  432. props: props,
  433. body: body
  434. };
  435. Object.defineProperty(__returned__, '__isScriptSetup', {
  436. enumerable: false,
  437. value: true
  438. });
  439. return __returned__;
  440. }
  441. }));
  442. /***/ }),
  443. /***/ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/vue-loader-v16/dist/templateLoader.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/index.vue?vue&type=template&id=7a83fa77&scoped=true&ts=true":
  444. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  445. !*** D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--14-0!D:/web_src/4dkankan_v4/node_modules/babel-loader/lib!D:/web_src/4dkankan_v4/node_modules/ts-loader??ref--14-2!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/templateLoader.js??ref--7!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/index.vue?vue&type=template&id=7a83fa77&scoped=true&ts=true ***!
  446. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  447. /*! exports provided: render */
  448. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  449. "use strict";
  450. __webpack_require__.r(__webpack_exports__);
  451. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  452. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "../../node_modules/vue/dist/vue.runtime.esm-bundler.js");
  453. var _withScopeId = function (n) {
  454. return Object(vue__WEBPACK_IMPORTED_MODULE_0__["pushScopeId"])("data-v-7a83fa77"), n = n(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["popScopeId"])(), n;
  455. };
  456. var _hoisted_1 = {
  457. class: "mardown"
  458. };
  459. function render(_ctx, _cache, $props, $setup, $data, $options) {
  460. return Object(vue__WEBPACK_IMPORTED_MODULE_0__["openBlock"])(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementBlock"])("div", _hoisted_1, [Object(vue__WEBPACK_IMPORTED_MODULE_0__["createVNode"])($setup["Mddoc"])]);
  461. }
  462. /***/ }),
  463. /***/ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/vue-loader-v16/dist/templateLoader.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/index.vue?vue&type=template&id=77e42069&scoped=true&ts=true":
  464. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  465. !*** D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--14-0!D:/web_src/4dkankan_v4/node_modules/babel-loader/lib!D:/web_src/4dkankan_v4/node_modules/ts-loader??ref--14-2!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/templateLoader.js??ref--7!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/index.vue?vue&type=template&id=77e42069&scoped=true&ts=true ***!
  466. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  467. /*! exports provided: render */
  468. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  469. "use strict";
  470. __webpack_require__.r(__webpack_exports__);
  471. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  472. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "../../node_modules/vue/dist/vue.runtime.esm-bundler.js");
  473. var _withScopeId = function (n) {
  474. return Object(vue__WEBPACK_IMPORTED_MODULE_0__["pushScopeId"])("data-v-77e42069"), n = n(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["popScopeId"])(), n;
  475. };
  476. var _hoisted_1 = {
  477. class: "md-view-layer"
  478. };
  479. function render(_ctx, _cache, $props, $setup, $data, $options) {
  480. return Object(vue__WEBPACK_IMPORTED_MODULE_0__["openBlock"])(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementBlock"])("div", _hoisted_1, [Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementVNode"])("div", {
  481. class: Object(vue__WEBPACK_IMPORTED_MODULE_0__["normalizeClass"])(["slide", {
  482. flex: $setup.initWidth
  483. }]),
  484. ref: "slideVM",
  485. style: Object(vue__WEBPACK_IMPORTED_MODULE_0__["normalizeStyle"])($setup.initWidth && "width: ".concat($setup.initWidth, "px;top: ").concat($setup.scrollTop, "px"))
  486. }, [Object(vue__WEBPACK_IMPORTED_MODULE_0__["createVNode"])($setup["MdSlide"], {
  487. tree: $setup.trees,
  488. onSelect: $setup.selectHandle,
  489. active: $setup.selectItem,
  490. onHideChange: $setup.hideChange
  491. }, null, 8 /* PROPS */, ["tree", "active"])], 6 /* CLASS, STYLE */), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createVNode"])($setup["MdView"], {
  492. content: $setup.mdContent,
  493. class: "content",
  494. style: Object(vue__WEBPACK_IMPORTED_MODULE_0__["normalizeStyle"])($setup.initWidth && "margin-left: ".concat($setup.initWidth, "px"))
  495. }, null, 8 /* PROPS */, ["content", "style"])]);
  496. }
  497. /***/ }),
  498. /***/ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/vue-loader-v16/dist/templateLoader.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/slide.vue?vue&type=template&id=788cadc8&scoped=true&ts=true":
  499. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  500. !*** D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--14-0!D:/web_src/4dkankan_v4/node_modules/babel-loader/lib!D:/web_src/4dkankan_v4/node_modules/ts-loader??ref--14-2!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/templateLoader.js??ref--7!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/slide.vue?vue&type=template&id=788cadc8&scoped=true&ts=true ***!
  501. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  502. /*! exports provided: render */
  503. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  504. "use strict";
  505. __webpack_require__.r(__webpack_exports__);
  506. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  507. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "../../node_modules/vue/dist/vue.runtime.esm-bundler.js");
  508. var _withScopeId = function (n) {
  509. return Object(vue__WEBPACK_IMPORTED_MODULE_0__["pushScopeId"])("data-v-788cadc8"), n = n(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["popScopeId"])(), n;
  510. };
  511. var _hoisted_1 = ["onClick"];
  512. function render(_ctx, _cache, $props, $setup, $data, $options) {
  513. var _component_slide = Object(vue__WEBPACK_IMPORTED_MODULE_0__["resolveComponent"])("slide", true);
  514. return Object(vue__WEBPACK_IMPORTED_MODULE_0__["openBlock"])(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementBlock"])("ul", null, [(Object(vue__WEBPACK_IMPORTED_MODULE_0__["openBlock"])(true), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementBlock"])(vue__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(vue__WEBPACK_IMPORTED_MODULE_0__["renderList"])($props.tree, function (item, i) {
  515. return Object(vue__WEBPACK_IMPORTED_MODULE_0__["openBlock"])(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementBlock"])("li", {
  516. key: i,
  517. class: Object(vue__WEBPACK_IMPORTED_MODULE_0__["normalizeClass"])({
  518. option: item.type === 'md'
  519. })
  520. }, [Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementVNode"])("span", {
  521. class: Object(vue__WEBPACK_IMPORTED_MODULE_0__["normalizeClass"])({
  522. title: item.type === 'dir',
  523. active: item === $props.active
  524. }),
  525. onClick: Object(vue__WEBPACK_IMPORTED_MODULE_0__["withModifiers"])(function ($event) {
  526. return $setup.clickHandle(item);
  527. }, ["stop"])
  528. }, [Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementVNode"])("i", {
  529. class: Object(vue__WEBPACK_IMPORTED_MODULE_0__["normalizeClass"])(["iconfont", item.type === 'dir' ? 'icon-folder1' : 'icon-file'])
  530. }, null, 2 /* CLASS */), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createTextVNode"])(" " + Object(vue__WEBPACK_IMPORTED_MODULE_0__["toDisplayString"])(item.name) + " ", 1 /* TEXT */), item.type === 'dir' ? (Object(vue__WEBPACK_IMPORTED_MODULE_0__["openBlock"])(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementBlock"])("i", {
  531. key: 0,
  532. class: Object(vue__WEBPACK_IMPORTED_MODULE_0__["normalizeClass"])(["iconfont status", item.hideChild ? 'icon-xia' : 'icon-shang'])
  533. }, null, 2 /* CLASS */)) : Object(vue__WEBPACK_IMPORTED_MODULE_0__["createCommentVNode"])("v-if", true)], 10 /* CLASS, PROPS */, _hoisted_1), item.type === 'dir' ? Object(vue__WEBPACK_IMPORTED_MODULE_0__["withDirectives"])((Object(vue__WEBPACK_IMPORTED_MODULE_0__["openBlock"])(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createBlock"])(_component_slide, {
  534. key: 0,
  535. tree: item.child,
  536. onSelect: function (item) {
  537. return _ctx.$emit('select', item);
  538. },
  539. onHideChange: function (item) {
  540. return _ctx.$emit('hideChange', item);
  541. },
  542. active: $props.active
  543. }, null, 8 /* PROPS */, ["tree", "onSelect", "onHideChange", "active"])), [[vue__WEBPACK_IMPORTED_MODULE_0__["vShow"], !item.hideChild]]) : Object(vue__WEBPACK_IMPORTED_MODULE_0__["createCommentVNode"])("v-if", true)], 2 /* CLASS */);
  544. }), 128 /* KEYED_FRAGMENT */))]);
  545. }
  546. /***/ }),
  547. /***/ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/vue-loader-v16/dist/templateLoader.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/view.vue?vue&type=template&id=2357d8de&ts=true":
  548. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  549. !*** D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--14-0!D:/web_src/4dkankan_v4/node_modules/babel-loader/lib!D:/web_src/4dkankan_v4/node_modules/ts-loader??ref--14-2!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/templateLoader.js??ref--7!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/view.vue?vue&type=template&id=2357d8de&ts=true ***!
  550. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  551. /*! exports provided: render */
  552. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  553. "use strict";
  554. __webpack_require__.r(__webpack_exports__);
  555. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  556. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "../../node_modules/vue/dist/vue.runtime.esm-bundler.js");
  557. var _hoisted_1 = {
  558. class: "layer"
  559. };
  560. var _hoisted_2 = ["innerHTML"];
  561. function render(_ctx, _cache, $props, $setup, $data, $options) {
  562. return Object(vue__WEBPACK_IMPORTED_MODULE_0__["openBlock"])(), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementBlock"])("div", _hoisted_1, [Object(vue__WEBPACK_IMPORTED_MODULE_0__["createCommentVNode"])(" <select v-model=\"viewTheme\">\r\n <option v-for=\"item in themeKeys\" :key=\"item\">{{item}}</option>\r\n </select> "), Object(vue__WEBPACK_IMPORTED_MODULE_0__["createElementVNode"])("div", {
  563. innerHTML: $setup.body,
  564. ref: "bodyVM",
  565. class: "markdown-body"
  566. }, null, 8 /* PROPS */, _hoisted_2)]);
  567. }
  568. /***/ }),
  569. /***/ "../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css":
  570. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  571. !*** D:/web_src/4dkankan_v4/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/stylePostLoader.js!D:/web_src/4dkankan_v4/node_modules/postcss-loader/src??ref--7-oneOf-1-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css ***!
  572. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  573. /*! no static exports found */
  574. /***/ (function(module, exports, __webpack_require__) {
  575. // Imports
  576. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../../node_modules/css-loader/dist/runtime/api.js");
  577. exports = ___CSS_LOADER_API_IMPORT___(false);
  578. // Module
  579. exports.push([module.i, "\niframe[data-v-7a83fa77] {\r\n width: 100%;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n border: 0;\n}\n.mardown[data-v-7a83fa77] {\r\n background-color: #fff;\r\n width: 100%;\r\n height: 100%;\r\n overflow-y: scroll;\n}\r\n", ""]);
  580. // Exports
  581. module.exports = exports;
  582. /***/ }),
  583. /***/ "../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css":
  584. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  585. !*** D:/web_src/4dkankan_v4/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/stylePostLoader.js!D:/web_src/4dkankan_v4/node_modules/postcss-loader/src??ref--7-oneOf-1-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css ***!
  586. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  587. /*! no static exports found */
  588. /***/ (function(module, exports, __webpack_require__) {
  589. // Imports
  590. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../../node_modules/css-loader/dist/runtime/api.js");
  591. exports = ___CSS_LOADER_API_IMPORT___(false);
  592. // Module
  593. exports.push([module.i, "\n.md-view-layer[data-v-77e42069] {\r\n max-width: 1300px;\r\n margin: 0 auto;\r\n display: flex;\r\n position: relative;\r\n height: 100%;\r\n width: 100%;\n}\n.slide[data-v-77e42069] {\r\n padding: 7px 23px 37px 3px;\r\n background: #fafafa;\r\n flex: none;\r\n min-width: 322px;\r\n align-self: baseline;\n}\n.content[data-v-77e42069] {\r\n padding-left: 80px;\r\n flex: 1;\r\n width: 100%;\n}\n.flex[data-v-77e42069] {\r\n position: absolute;\r\n top: 30px;\r\n left: 0;\n}\r\n", ""]);
  594. // Exports
  595. module.exports = exports;
  596. /***/ }),
  597. /***/ "../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css":
  598. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  599. !*** D:/web_src/4dkankan_v4/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/stylePostLoader.js!D:/web_src/4dkankan_v4/node_modules/postcss-loader/src??ref--7-oneOf-1-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css ***!
  600. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  601. /*! no static exports found */
  602. /***/ (function(module, exports, __webpack_require__) {
  603. // Imports
  604. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../../node_modules/css-loader/dist/runtime/api.js");
  605. exports = ___CSS_LOADER_API_IMPORT___(false);
  606. // Module
  607. exports.push([module.i, "\nul[data-v-788cadc8] {\r\n padding-left: 10px;\n}\nli[data-v-788cadc8] {\r\n font-size: 14px;\r\n padding-top: 30px;\n}\nspan[data-v-788cadc8] {\r\n font-size: 14px;\r\n font-weight: 400;\r\n color: #202020;\r\n line-height: 20px;\r\n display: block;\r\n position: relative;\r\n padding-right: 20px;\r\n cursor: pointer;\r\n z-index: 99;\n}\n.status[data-v-788cadc8] {\r\n position: absolute;\r\n right: 0;\r\n top: 10px;\r\n transform: translateY(-50%);\n}\n.active[data-v-788cadc8] {\r\n color: #15bec8;\n}\n.option[data-v-788cadc8] {\r\n pointer-events: all;\n}\n.title[data-v-788cadc8] {\r\n font-size: 16px;\r\n font-weight: 500;\n}\r\n", ""]);
  608. // Exports
  609. module.exports = exports;
  610. /***/ }),
  611. /***/ "../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css":
  612. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  613. !*** D:/web_src/4dkankan_v4/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/stylePostLoader.js!D:/web_src/4dkankan_v4/node_modules/postcss-loader/src??ref--7-oneOf-1-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css ***!
  614. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  615. /*! no static exports found */
  616. /***/ (function(module, exports, __webpack_require__) {
  617. // Imports
  618. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../../node_modules/css-loader/dist/runtime/api.js");
  619. exports = ___CSS_LOADER_API_IMPORT___(false);
  620. // Module
  621. exports.push([module.i, "\n.markdown-body code {\r\n color: rgba(21, 190, 200, 1) !important;\n}\n.markdown-body a {\r\n color: rgba(21, 190, 200, 1) !important;\n}\r\n", ""]);
  622. // Exports
  623. module.exports = exports;
  624. /***/ }),
  625. /***/ "../../node_modules/juejin-markdown-themes/dist/index.js":
  626. /*!********************************************************************************!*\
  627. !*** D:/web_src/4dkankan_v4/node_modules/juejin-markdown-themes/dist/index.js ***!
  628. \********************************************************************************/
  629. /*! no static exports found */
  630. /***/ (function(module, exports, __webpack_require__) {
  631. (function (global, factory) {
  632. true ? module.exports = factory() :
  633. undefined;
  634. })(this, (function () { 'use strict';
  635. var _virtual_juejinMarkdownThemes = {
  636. "juejin": {
  637. "style": ".markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:16px;overflow-x:hidden;color:#252933}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1{font-size:24px;line-height:38px;margin-bottom:5px}.markdown-body h2{font-size:22px;line-height:34px;padding-bottom:12px;border-bottom:1px solid #ececec}.markdown-body h3{font-size:20px;line-height:28px}.markdown-body h4{font-size:18px;line-height:26px}.markdown-body h5{font-size:17px;line-height:24px}.markdown-body h6{font-size:16px;line-height:24px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #ddd;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;color:#ff502c;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{text-decoration:none;color:#0269c8;border-bottom:1px solid #d1e9ff}.markdown-body a:active,.markdown-body a:hover{color:#275b8c}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #f6f6f6}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fcfcfc}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#666;padding:1px 23px;margin:22px 0;border-left:4px solid #cbcbcb;background-color:#f8f8f8}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  638. "highlight": "juejin"
  639. },
  640. "github": {
  641. "style": ".markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:\" \";display:inline-block;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' aria-hidden='true'%3E%3Cpath fill-rule='evenodd' d='M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z'/%3E%3C/svg%3E\")}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body details{display:block}.markdown-body summary{display:list-item}.markdown-body a{background-color:initial}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{margin:.67em 0}.markdown-body img{border-style:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:initial;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border-bottom:1px solid #dfe2e5}.markdown-body hr:after,.markdown-body hr:before{display:table;content:\"\"}.markdown-body hr:after{clear:both}.markdown-body table{border-spacing:0;border-collapse:collapse}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:0;margin-bottom:0}.markdown-body h1{font-size:32px}.markdown-body h1,.markdown-body h2{font-weight:600}.markdown-body h2{font-size:24px}.markdown-body h3{font-size:20px}.markdown-body h3,.markdown-body h4{font-weight:600}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:14px}.markdown-body h5,.markdown-body h6{font-weight:600}.markdown-body h6{font-size:12px}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{padding-left:0;margin-top:0;margin-bottom:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}.markdown-body .border{border:1px solid #e1e4e8!important}.markdown-body .border-0{border:0!important}.markdown-body .border-bottom{border-bottom:1px solid #e1e4e8!important}.markdown-body .rounded-1{border-radius:3px!important}.markdown-body .bg-white{background-color:#fff!important}.markdown-body .bg-gray-light{background-color:#fafbfc!important}.markdown-body .text-gray-light{color:#6a737d!important}.markdown-body .pl-3,.markdown-body .px-3{padding-left:16px!important}.markdown-body .px-3{padding-right:16px!important}.markdown-body .f6{font-size:12px!important}.markdown-body .lh-condensed{line-height:1.25!important}.markdown-body .text-bold{font-weight:600!important}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{color:#fafbfc;background-color:#b31d28}.markdown-body .pl-c2{color:#fafbfc;background-color:#d73a49}.markdown-body .pl-c2:before{content:\"^M\"}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#22863a}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#005cc5}.markdown-body .pl-mi{font-style:italic;color:#24292e}.markdown-body .pl-mb{font-weight:700;color:#24292e}.markdown-body .pl-md{color:#b31d28;background-color:#ffeef0}.markdown-body .pl-mi1{color:#22863a;background-color:#f0fff4}.markdown-body .pl-mc{color:#e36209;background-color:#ffebda}.markdown-body .pl-mi2{color:#f6f8fa;background-color:#005cc5}.markdown-body .pl-mdr{font-weight:700;color:#6f42c1}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{text-decoration:underline;color:#032f62}.markdown-body .mb-0{margin-bottom:0!important}.markdown-body .my-2{margin-bottom:8px!important;margin-top:8px!important}.markdown-body .pl-0{padding-left:0!important}.markdown-body .py-0{padding-top:0!important;padding-bottom:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .py-2{padding-top:8px!important;padding-bottom:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body .pl-7{padding-left:48px!important}.markdown-body .pl-8{padding-left:64px!important}.markdown-body .pl-9{padding-left:80px!important}.markdown-body .pl-10{padding-left:96px!important}.markdown-body .pl-11{padding-left:112px!important}.markdown-body .pl-12{padding-left:128px!important}.markdown-body hr{border-bottom-color:#eee}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:1px solid #d1d5da;border-radius:3px;box-shadow:inset 0 -1px 0 #d1d5da}.markdown-body:after,.markdown-body:before{display:table;content:\"\"}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eaecef}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#6a737d}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{max-width:100%;box-sizing:initial;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body code{padding:.2em .4em;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}.markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:initial;border:0}.markdown-body .commit-tease-sha{display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:90%;color:#444d56}.markdown-body .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}.markdown-body .blob-wrapper{overflow-x:auto;overflow-y:hidden}.markdown-body .blob-wrapper-embedded{max-height:240px;overflow-y:auto}.markdown-body .blob-num{width:1%;min-width:50px;padding-right:10px;padding-left:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:20px;color:rgba(27,31,35,.3);text-align:right;white-space:nowrap;vertical-align:top;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-body .blob-num:hover{color:rgba(27,31,35,.6)}.markdown-body .blob-num:before{content:attr(data-line-number)}.markdown-body .blob-code{position:relative;padding-right:10px;padding-left:10px;line-height:20px;vertical-align:top}.markdown-body .blob-code-inner{overflow:visible;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;color:#24292e;word-wrap:normal;white-space:pre}.markdown-body .pl-token.active,.markdown-body .pl-token:hover{cursor:pointer;background:#ffea7f}.markdown-body .tab-size[data-tab-size=\"1\"]{-moz-tab-size:1;tab-size:1}.markdown-body .tab-size[data-tab-size=\"2\"]{-moz-tab-size:2;tab-size:2}.markdown-body .tab-size[data-tab-size=\"3\"]{-moz-tab-size:3;tab-size:3}.markdown-body .tab-size[data-tab-size=\"4\"]{-moz-tab-size:4;tab-size:4}.markdown-body .tab-size[data-tab-size=\"5\"]{-moz-tab-size:5;tab-size:5}.markdown-body .tab-size[data-tab-size=\"6\"]{-moz-tab-size:6;tab-size:6}.markdown-body .tab-size[data-tab-size=\"7\"]{-moz-tab-size:7;tab-size:7}.markdown-body .tab-size[data-tab-size=\"8\"]{-moz-tab-size:8;tab-size:8}.markdown-body .tab-size[data-tab-size=\"9\"]{-moz-tab-size:9;tab-size:9}.markdown-body .tab-size[data-tab-size=\"10\"]{-moz-tab-size:10;tab-size:10}.markdown-body .tab-size[data-tab-size=\"11\"]{-moz-tab-size:11;tab-size:11}.markdown-body .tab-size[data-tab-size=\"12\"]{-moz-tab-size:12;tab-size:12}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}",
  642. "highlight": "github"
  643. },
  644. "smartblue": {
  645. "style": ".markdown-body{color:#595959;font-size:15px;font-family:-apple-system,system-ui,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;background-image:linear-gradient(90deg,rgba(60,10,30,.04) 3%,transparent 0),linear-gradient(1turn,rgba(60,10,30,.04) 3%,transparent 0);background-size:20px 20px;background-position:50%}.markdown-body p{color:#595959;font-size:15px;line-height:2;font-weight:400}.markdown-body p+p{margin-top:16px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{padding:30px 0;margin:0;color:#135ce0}.markdown-body h1{position:relative;text-align:center;font-size:22px;margin:50px 0}.markdown-body h1:before{position:absolute;content:\"\";top:-10px;left:50%;width:32px;height:32px;transform:translateX(-50%);background-size:100% 100%;opacity:.36;background-repeat:no-repeat;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af/8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af/8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af/8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af/8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/8Af//////rzEHnAAAAfXRSTlMAD7CCAivatxIDx5EMrP19AXdLEwgLR+6iCR/M0yLRzyFF7JupSXn8cw6v60Q0QeqzKtgeG237HMne850/6Qeq7QaZ+WdydHtj+OM3qENCMRYl1B3K2U7wnlWE/mhlirjkODa9FN/BF7/iNV/2kASNZpX1Wlf03C4stRGxgUPclqoAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEaBzgZ4yeM3AAAAT9JREFUOMvNUldbwkAQvCAqsSBoABE7asSOBRUVVBQNNuy9996789+9cMFAMHnVebmdm+/bmdtbQv4dOFOW2UjPzgFyLfo6nweKfIMOBYWwFtmMPGz2Yj2pJI0JDq3udJW6VVbmKa9I192VQFV1ktXUAl5NB0cd4KpnORqsEO2ZIRpF9gJfE9Dckqq0KuZt7UAH5+8EPF3spjsRpCeQNO/tA/qDwIDA+OCQbBoKA8NOdjMySgcZGVM6jwcgRuUiSs0nlPFNSrEpJfU0jTLD6llqbvKxei7OzvkFNQohi0vAsj81+MoqsCaoPOQFgus/1LyxichW+hS2JWCHZ7VlF9jb187pIAYcHiViHAMnp5mTjJ8B5xeEXF4B1ze/fTh/C0h398DDI9HB07O8ci+vRBdvdGnfP4gBuM8vw7X/G3wDmFhFZEdxzjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDEtMjZUMDc6NTY6MjUrMDE6MDA67pVWAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAxLTI2VDA3OjU2OjI1KzAxOjAwS7Mt6gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAWdEVYdFRpdGxlAGp1ZWppbl9sb2dvIGNvcHlxapmKAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC)}.markdown-body h2{position:relative;font-size:20px;border-left:4px solid;padding:0 0 0 10px;margin:30px 0}.markdown-body h3{font-size:16px}.markdown-body ul{list-style:disc outside;margin-left:2em;margin-top:1em}.markdown-body li{line-height:2;color:#595959}.markdown-body img.loaded{margin:0 auto;display:block}.markdown-body blockquote{background:#fff9f9;margin:2em 0;padding:2px 20px;border-left:4px solid #b2aec5}.markdown-body blockquote p{color:#666;line-height:2}.markdown-body a{color:#036aca;border-bottom:1px solid rgba(3,106,202,.8);font-weight:400;text-decoration:none}.markdown-body em strong,.markdown-body strong{color:#036aca}.markdown-body hr{border-top:1px solid #135ce0}.markdown-body pre{overflow:auto}.markdown-body code,.markdown-body pre{overflow:auto;position:relative;line-height:1.75;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;color:#ff502c;font-size:.87em;padding:.065em .4em}.markdown-body table{border-collapse:collapse;margin:1rem 0;overflow-x:auto}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:.6em 1em}.markdown-body table tr{border-top:1px solid #dfe2e5}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}"
  646. },
  647. "cyanosis": {
  648. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:14px;overflow-x:hidden;color:var(--cyanosis-base-color);transition:color .35s;--cyanosis-base-color:#353535;--cyanosis-title-color:#005bb7;--cyanosis-strong-color:#2196f3;--cyanosis-em-color:#4fc3f7;--cyanosis-del-color:#ccc;--cyanosis-link-color:#3da8f5;--cyanosis-linkh-color:#007fff;--cyanosis-border-color:#bedcff;--cyanosis-border-color-2:#ececec;--cyanosis-bg-color:#fff;--cyanosis-blockquote-color:#8c8c8c;--cyanosis-blockquote-bg-color:#f0fdff;--cyanosis-code-color:#c2185b;--cyanosis-code-bg-color:#fff4f4;--cyanosis-code-pre-color:#f8f8f8;--cyanosis-table-border-color:#c3e0fd;--cyanosis-table-th-color:#dff0ff;--cyanosis-table-tht-color:#005bb7;--cyanosis-table-tr-nc-color:#f7fbff;--cyanosis-table-trh-color:#e0edf7;--cyanosis-slct-title-color:#005bb7;--cyanosis-slct-titlebg-color:rgba(175,207,247,0.25);--cyanosis-slct-text-color:#c80000;--cyanosis-slct-bg-color:rgba(175,207,247,0.25);--cyanosis-slct-del-color:#999;--cyanosis-slct-elbg-color:#e8ebec;--cyanosis-slct-codebg-color:#ffeaeb;--cyanosis-slct-prebg-color:rgba(160,200,255,0.25)}.markdown-body.__dark{--cyanosis-base-color:#cacaca;--cyanosis-title-color:#ddd;--cyanosis-strong-color:#fe9900;--cyanosis-em-color:#ffd28e;--cyanosis-del-color:#ccc;--cyanosis-link-color:#ffb648;--cyanosis-linkh-color:#fe9900;--cyanosis-border-color:#ffe3ba;--cyanosis-border-color-2:#ffcb7b;--cyanosis-bg-color:#2f2f2f;--cyanosis-blockquote-color:#c7c7c7;--cyanosis-blockquote-bg-color:rgba(255,199,116,0.1);--cyanosis-code-color:#000;--cyanosis-code-bg-color:#ffcb7b;--cyanosis-code-pre-color:rgba(255,227,185,0.5);--cyanosis-table-border-color:#fe9900;--cyanosis-table-th-color:#ffb648;--cyanosis-table-tht-color:#000;--cyanosis-table-tr-nc-color:#6d5736;--cyanosis-table-trh-color:#947443;--cyanosis-slct-title-color:#000;--cyanosis-slct-titlebg-color:#fe9900;--cyanosis-slct-text-color:#00c888;--cyanosis-slct-bg-color:rgba(175,207,247,0.25);--cyanosis-slct-del-color:#999;--cyanosis-slct-elbg-color:#000;--cyanosis-slct-codebg-color:#ffcb7b;--cyanosis-slct-prebg-color:rgba(160,200,255,0.25)}.markdown-body h1{padding-bottom:4px;font-size:30px}.markdown-body h1,.markdown-body h2{margin-top:36px;margin-bottom:10px;line-height:1.5;color:var(--cyanosis-title-color);transition:color .35s}.markdown-body h2{position:relative;padding-left:10px;padding-right:10px;padding-bottom:10px;font-size:24px;border-bottom:1px solid var(--cyanosis-border-color-2)}.markdown-body h2:before{content:\"「\";position:absolute;top:-6px;left:-14px}.markdown-body h2:after{content:\"」\";position:relative;top:6px;right:auto}.markdown-body h3{position:relative;padding-bottom:0;margin-top:30px;margin-bottom:10px;font-size:20px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.markdown-body h3:before{content:\"»\";padding-right:6px;color:var(--cyanosis-strong-color)}.markdown-body h4{margin-top:24px;font-size:16px}.markdown-body h4,.markdown-body h5{padding-bottom:0;margin-bottom:10px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.markdown-body h5{margin-top:18px;font-size:14px}.markdown-body h6{padding-bottom:0;margin-top:12px;margin-bottom:10px;font-size:12px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.markdown-body p{line-height:inherit;margin-top:16px;margin-bottom:16px}.markdown-body img{max-width:100%}.markdown-body hr{position:relative;width:98%;height:1px;margin-top:32px;margin-bottom:32px;background-image:linear-gradient(90deg,var(--cyanosis-link-color),rgba(255,0,0,.3),hsla(0,0%,100%,.1),rgba(255,0,0,.3),var(--cyanosis-link-color));border-width:0;overflow:visible}.markdown-body hr:after{content:\"\";position:absolute;margin:auto;left:0;right:0;bottom:0;top:0;display:inline-block;width:60px;height:20px;background-color:var(--cyanosis-bg-color);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAADoklEQVRYR82XTYgcRRTHf2933Q1RjAa9eFO8JHoJ8RQVBQ2iBwXBET0YEUTXNVmNQtTpmeqaWV0XNRq/o4KoECSCEPSg4CF+BYUkIIiCoCJCPIhC/Ihh2Z0nVV27VnZnenumW9i6ddV7//frV69fVQurfMgq56NawFTPAU6QyomqXrw6wIZeyhCPebA5buNR+akKyGoAjd6BshthnYdSjqNcRVuOlIUsD2j0SuA94IwuMHdh5ZUykOUBXfSGbmKI54EtAeYIHSZoy5dl4JxvNYBOKdW1KE8BQ8AkVk6WhasWsAiN0TX9gveXQaPP+Aytpc4u+bMI06JNohsYYYYOR2lJWtS3OKDRfcAtQfgDoI6Vo4UCGb0OmAEuDvZvYmVbEd/igC3dzDz7gQu8sPA9kJDK27mBmjqBeLjTg90PDFOjWawFFQd06kZHEfaj3LAIpTRpSXsZ5E06zEYP9sDimnAApYaV2SLZG/wjMeqAkijwW4xQJ5Gf/ZzRC8OW3hiBTGGlURRswW55Bh/Ssxljrwew8l1PQaM14GngvGDzBUKdDsMeTtgU5o8B92PFlUf3YXUrHa7Fys6lBqcCGnX15YQ2A18FyPd7Crd1A3M8C1wdbH4DD3hWeP6IEXbQkG97ajR1HPFnuPP5jFFq1OWX7hl8WM9l1AO648uNfwLk7tytMeogty+xeQ4rO3r6bdcx1nuwOGsHmaXGtPzae4uzGnLH1kQkvpdZGrHjssBZJrL+pqS05KWc8tgITAPXRzYvYOXe/C2OV43eDcRBDtIhoS2f9wzc0Cv8Wls+zoFzUC5zF0U241h5uZtPfptp6OUM8wbK+cH5GEpCS17P3fJei0Z3+npTxryJ8CPzbKMtn/ZyWbkPGl0PuFPkmkjkcb4h4R2ZLwRq1H0ALmvjkf2HwK1Y+T1PY2XABe/sHJ6MxN5lnoSpnC/UGbsTaI5phK2R7x6s3Ffk5YoDOrWm3onwJHBmEP86bPmBrsGaenNoIdnxCH+gPEhLXi0Cl1VBvyPVLSh7gEuC62yAfOIUqabWEaaiucMIk6RyqJ+Q/QM69V26jjW86Gvov/EaoyT8zRCn+Xq7PVrbx0nuYUaO9wM3WAbjCE1NEUw09Um4UV+2OKfYfu5/S19gsAzGKqm6LE5FrShbdS0ku465DjDwKA/oQht19ejqbaEVuRbiLhuHByYLjtUAZpDutzP7cYdHsPJXWbjyNVgFwQoa1WXwf4Jd9YD/Ap80+yE7+u9aAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-size:auto 100%;background-position-x:center;transition:background-color .5s}.markdown-body code{padding:.065em .4em;font-size:.87em;color:var(--cyanosis-code-color);word-break:break-word;overflow-x:auto;background-color:var(--cyanosis-code-bg-color);border-radius:2px}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{display:block;padding:16px 12px;margin:0;font-size:12px;color:#333;word-break:normal;overflow-x:auto;background:var(--cyanosis-code-pre-color)}.markdown-body pre>code::-webkit-scrollbar{width:4px;height:4px}.markdown-body pre>code::-webkit-scrollbar-track{background-color:var(--cyanosis-border-color)}.markdown-body pre>code::-webkit-scrollbar-thumb{background-color:var(--cyanosis-strong-color);border-radius:10px}.markdown-body a{position:relative;text-decoration:none;color:var(--cyanosis-link-color);border-bottom:1px solid var(--cyanosis-border-color)}.markdown-body a:hover{border-bottom-color:var(--cyanosis-linkh-color)}.markdown-body a:active,.markdown-body a:hover{color:var(--cyanosis-linkh-color)}.markdown-body a:after{position:absolute;content:\"\";top:100%;left:0;width:100%;opacity:0;border-bottom:1px solid var(--cyanosis-border-color);transition:top .3s,opacity .3s;transform:translateZ(0)}.markdown-body a:hover:after{top:0;opacity:1;border-bottom-color:var(--cyanosis-linkh-color)}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid var(--cyanosis-table-border-color);border-spacing:0;border-collapse:collapse}.markdown-body table thead{color:#000;text-align:left;font-size:14px;background:#f6f6f6}.markdown-body table tr:nth-child(2n){background-color:var(--cyanosis-table-tr-nc-color)}.markdown-body table tr:hover{background-color:var(--cyanosis-table-trh-color)}.markdown-body table td,.markdown-body table th{padding:12px 8px;line-height:24px;border:1px solid var(--cyanosis-table-border-color)}.markdown-body table th{color:var(--cyanosis-table-tht-color);background-color:var(--cyanosis-table-th-color)}.markdown-body table td{min-width:120px}.markdown-body blockquote{color:var(--cyanosis-blockquote-color);border-left:4px solid var(--cyanosis-strong-color);background-color:var(--cyanosis-blockquote-bg-color);padding:1px 20px;margin:22px 0;transition:color .35s}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body b,.markdown-body blockquote>b,.markdown-body blockquote>strong,.markdown-body strong{color:var(--cyanosis-strong-color)}.markdown-body em,.markdown-body i{color:var(--cyanosis-em-color)}.markdown-body del{color:var(--cyanosis-del-color)}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:4px}.markdown-body ol li{padding-left:6px}.markdown-body details>summary{outline:none;color:var(--cyanosis-title-color);font-size:20px;font-weight:bolder;border-bottom:1px solid var(--cyanosis-border-color);cursor:pointer}.markdown-body details>p{padding:10px 20px;margin:10px 0 0;color:#666;background-color:var(--cyanosis-blockquote-bg-color);border:2px dashed var(--cyanosis-strong-color)}.markdown-body h1::selection,.markdown-body h2::selection,.markdown-body h3::selection,.markdown-body h4::selection,.markdown-body h5::selection,.markdown-body h6::selection{color:var(--cyanosis-slct-title-color);background-color:var(--cyanosis-slct-titlebg-color)}.markdown-body ol li::selection,.markdown-body p::selection,.markdown-body ul li::selection{color:var(--cyanosis-slct-text-color);background-color:var(--cyanosis-slct-bg-color)}.markdown-body a::selection,.markdown-body b::selection,.markdown-body em::selection,.markdown-body i::selection,.markdown-body strong::selection{background-color:var(--cyanosis-slct-elbg-color)}.markdown-body del::selection{color:var(--cyanosis-slct-del-color);background-color:var(--cyanosis-slct-elbg-color)}.markdown-body table thead th::selection{background-color:transparent}.markdown-body table tbody td::selection{background-color:var(--cyanosis-slct-bg-color)}.markdown-body code::selection{background-color:var(--cyanosis-slct-codebg-color)}.markdown-body pre>code::selection{background-color:var(--cyanosis-slct-prebg-color)}.markdown-body .contains-task-list{padding-left:14px;list-style:none}.markdown-body .contains-task-list input[type=checkbox]{position:relative}.markdown-body .contains-task-list input[type=checkbox]:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;width:inherit;height:inherit;background:#f0f8ff;border:1px solid #add6ff;border-radius:2px;box-sizing:border-box;z-index:1}.markdown-body .contains-task-list input[type=checkbox]:checked:after{content:\"✓\";position:absolute;top:-12px;left:0;right:0;bottom:0;width:0;height:0;color:#f55;font-size:20px;font-weight:700;z-index:2}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  649. "highlight": "atom-one-dark"
  650. },
  651. "channing-cyan": {
  652. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#2b2b2b;font-family:-apple-system,system-ui,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;background-image:linear-gradient(90deg,rgba(159,219,252,.15) 3%,transparent 0),linear-gradient(1turn,rgba(159,219,252,.15) 3%,transparent 0);background-size:20px 20px;background-position:50%}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{padding:30px 0;margin-top:35px;margin-bottom:10px;color:#4dd0e1}.markdown-body h1{font-size:30px;text-align:center;position:relative;width:max-content;margin:0 auto}.markdown-body h1:before{position:absolute;content:\"\";z-index:-1;top:-20px;height:100%;width:100px;left:0;right:0;margin:0 auto;background:url(data:image/png;base64,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) no-repeat 50%;background-size:64px 64px;opacity:.84}.markdown-body h1:after{position:absolute;content:\"\";width:150%;left:-25%;height:50%;bottom:12px;border-radius:50%;background:linear-gradient(transparent 80%,rgba(77,208,225,.8));background-size:400% 200%;opacity:.6;animation:h1Animate 6s linear infinite}@keyframes h1Animate{0%{background-position:100% 100%}50%{background-position:100% 50%}to{background-position:100% 100%}}.markdown-body h2{display:block;border-bottom:4px solid #4dd0e1;position:relative;font-size:24px;padding:12px 32px;margin:30px 0}.markdown-body h2:before{width:24px;height:24px;left:0;top:0;margin:auto;background-size:24px 24px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADGklEQVRYR81X32vTYBQ999s6mFjQgQ+DrbHiVFZYU4cDcQ/6pGhTFVYFEXGi82H+Bz448UnEF1Fx9ccEEcXpZE3d5tP2ooKiTacTHaLNpigMHDgnU9tcSbrWrkwWR0sbyEOSe885ObnfvV8IRT6oyPwoLQHBx+OVM5WJvSyEVAhnBOjt7yU/+/rr6r6l8TMO+F/EN0JQhICqQpD/xaRpcpAc9tS+M+9lBCia/oqBamK+zeDuQogQZaKJk3wcQjxSva7tGQGB2Ke1zIk3DNyMyNL+QpCnMQOaPsDAVuGAp9cjvbYc8Ec/bCYSg0zoiHilk1tHxqsqEsYlML4kjIpT/eurJxRNPweQU5VdrWaOEo1fgKAVbBgXIz73kF3R/ph+ghgdzMYWM29eAWlBJqgZaFlFYtC6nhWpaDqnSGlIlV1WjJ3DloDNgyNLncudqgX//Ucg3LxuStHGuhi8pqKCW3rqV342rwFjRznKm+/LNaN2yC237ThgF2wxcfMLeP6+ncrKzoPoKTGeLQbYbg4TNoC5iZPJY5HGVRdSNZAWYBclD3FzBQzrR8hACAKdzBzKA/4/IYioDQaOskBbpEG6PO8qKKSAEi3CnEb0Pw4oMf0OmKbTDWqh3Lw6EIiNBZi5lxh3wz4puBD5ovqAMvxhHSdFKxE1CQe3m/07TeTX4lcJdAhE+1Sv65Z5P/ByvIGTRowIZ9igbtXnmrOsbTvgj+kHBNMuBu9OdVw8EeU4nC1A0cYmAHZOTRrLhra4Z8ywnSN6vZHAFTA2WnnMfQB3qz73ddsOZM8CACFDIPSgQXqebXEgqgeZcAeEe6pXasm1f8ew3igMtAHWac0Uc/jYdyAaP0xEBwFsmgUPqbJ0NE2UKj4EGcahiOzuyhagaHpnmtgcVgTcCMuua7YdyAHbA3ArQNscVFbb4635aD6fnYaTvxxi9UNP7ddMXaRWVBdAcaLk6bDXPZCNZ9uBXEsDUX1T2Cc9yjig6Z0EHg3LK8/aqf6MwJKchkXfks1+0+JtSq3qLPa23BRR1B+T/6nkfMaW1r9hPt/MLtYfTLEpP+T9FNoAAAAASUVORK5CYII=)}.markdown-body h2:after,.markdown-body h2:before{content:\"\";display:block;position:absolute;bottom:0}.markdown-body h2:after{right:0;width:400px;height:10px;border-top-right-radius:24px;background:linear-gradient(90deg,#fff,#4dd0e1);max-width:50vw}.markdown-body h3{margin:30px 0;font-size:18px;position:relative;padding:4px 32px;width:max-content}.markdown-body h3:before{border-bottom:2px solid #4dd0e1;width:100%;content:\"\";display:block;height:28px;position:absolute;left:0;top:0;bottom:-2px;margin:auto;background-size:28px 28px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR2NkGGDAOMD2M4w6YDQERkNg+ITAppcfY/8zMv3wF+NdTUrZQpUQ2PT6cz8Dw/8CkMWMDIwNvqK8jcQ6gmIHNN19EaXPx1XPyMCghrCUKcpPlGc5MY6gyAE+Fx52MjL8j3cU5a1UYWXtZGBkEAVb+p8hxU+Mby5NHQCxnKEMaskzJ37uFmUetkmMjAzrfUX4woixHBJlZAA0y2EmPPYU4enLkhGeQIqRJDsAh+UgO7duNpD3IcVykkOA2paT5ABaWE60A2hlOdEO8D3/4CMDIyMfWvySFefoaYSoROh74eFXBgYGLiTNVLGc+BC48PAnAwMDG9QBVLOcaAd8P5ox+x/jf5AjGLgYfnwnKqv9/8/PwPO/kFF/MSj0cAKiouD/0bgYoixFU8RovWgJIX1EOYCQIZTIjzpgNARGQ2DAQwAAvHBaIdB7zxsAAAAASUVORK5CYII=);background-repeat:no-repeat;animation:h3AnimationBefore 2s infinite alternate}@keyframes h3AnimationBefore{0%{width:28px}25%{width:100%}50%{width:100%}to{width:100%}}.markdown-body h3:after{content:\"\";display:block;width:28px;height:28px;position:absolute;border:2px solid #4dd0e1;border-radius:50%;right:-15px;top:0;bottom:0;margin:auto;background-size:28px 28px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABRklEQVRYR2NkGGDAOMD2M4w6YDQERkNg+ITAppcfY/8zMv3wF+NdTUrZQpUQ2PT6cz8Dw/8CkMWMDIwNvqK8jcQ6gmIHNN19EaXPx1XPyMCghrCUKcpPlGc5MY6gyAE+Fx52MjL8j3cU5a1UYWXtZGBkEAVb+p8hxU+Mby5NHQCxnKEMaskzJ37uFmUetkmMjAzrfUX4woixHBJlZAA0y2EmPPYU4enLkhGeQIqRJDsAh+UgO7duNpD3IcVykkOA2paT5ABaWE60A2hlOdEO8D3/4CMDIyMfWvySFefoaYSoROh74eFXBgYGLiTNVLGc+BC48PAnAwMDG9QBVLOcaAd8P5ox+x/jf5AjGLgYfnwnKqv9/8/PwPO/kFF/MSj0cAKiouD/0bgYoixFU8RovWgJIX1EOYCQIZTIjzpgNARGQ2DAQwAAvHBaIdB7zxsAAAAASUVORK5CYII=);animation:h3AnimationAfter 2s infinite alternate}@keyframes h3AnimationAfter{0%{transform:rotate(0)}10%{transform:rotate(0)}50%{transform:rotate(-1turn)}to{transform:rotate(-1turn)}}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:15px}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin:22px 0;letter-spacing:2px;font-size:14px;word-spacing:2px}.markdown-body img{max-width:80%;border-radius:6px;display:block;margin:20px auto!important;object-fit:contain;box-shadow:0 0 16px hsla(0,0%,43.1%,.45)}.markdown-body figcaption{display:block;font-size:13px;color:#2b2b2b}.markdown-body figcaption:before{content:\"\";background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVHcExAuPtAuPpAuPtAuPpAuPtAvPxAuPokzOX5AAAAB3RSTlMAkDLqNegkoiUM7wAAAGBJREFUKM9jYBhcgMkBTUDVBE1BeDGqEtXychNUBeXlKEqACsrLQxB8lnCQQClCiWt5OYoSiAIkJVAF5eVBqAqAShTAAs7l5ShKWMwRAmAlSArASpAVgJUkCqIAscESHwCVVjMBK9JnbQAAAABJRU5ErkJggg==);display:inline-block;width:18px;height:18px;background-size:18px;background-repeat:no-repeat;background-position:50%;margin-right:5px;margin-bottom:-5px}.markdown-body hr{border:none;border-top:1px solid #4dd0e1;margin-top:32px;margin-bottom:32px}.markdown-body del{color:#4dd0e1}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:rgba(77,208,225,.08);color:#26c6da;padding:.195em .4em}.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace;overflow:auto;position:relative;line-height:1.75;box-shadow:0 0 8px hsla(0,0%,43.1%,.45);border-radius:4px;margin:16px}.markdown-body pre:before{content:\"\";display:block;height:30px;width:100%;margin-bottom:-7px;background:url(data:image/png;base64,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) 10px 10px no-repeat;background-size:40px}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{color:#4dd0e1;border-bottom:1px solid #4dd0e1;font-weight:400;text-decoration:none;margin:0 4px}.markdown-body a:active,.markdown-body a:hover{background-color:rgba(77,208,225,.1)}.markdown-body strong{color:#26c6da}.markdown-body strong:before{content:\"「\"}.markdown-body strong:after{content:\"」\"}.markdown-body em{font-style:normal;color:#4dd0e1;font-weight:700}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #f6f6f6}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:rgba(77,208,225,.05)}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{margin:2em 0;padding:24px 32px;border-left:4px solid #26c6da;background:rgba(77,208,225,.15);position:relative}.markdown-body blockquote:before{content:\"❝\";top:8px;left:8px;color:#4dd0e1;font-size:30px;line-height:1;font-weight:700;position:absolute;opacity:.7}.markdown-body blockquote:after{content:\"❞\";font-size:30px;position:absolute;right:8px;bottom:0;color:#4dd0e1;opacity:.7}.markdown-body blockquote p{color:#595959;line-height:2}.markdown-body ol,.markdown-body ul{color:#595959;padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  653. },
  654. "fancy": {
  655. "style": ".markdown-body{color:#383838;font-size:15px;line-height:30px;letter-spacing:2px;word-break:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;scroll-behavior:smooth;background-image:linear-gradient(0deg,transparent 24%,rgba(201,195,195,.329) 25%,hsla(0,8%,80.4%,.05) 26%,transparent 27%,transparent 74%,hsla(0,5.2%,81%,.185) 75%,rgba(180,176,176,.05) 76%,transparent 77%,transparent),linear-gradient(90deg,transparent 24%,rgba(204,196,196,.226) 25%,hsla(0,4%,66.1%,.05) 26%,transparent 27%,transparent 74%,hsla(0,5.2%,81%,.185) 75%,rgba(180,176,176,.05) 76%,transparent 77%,transparent);background-color:#fff;background-size:50px 50px;padding-bottom:60px}.markdown-body ::selection{color:#fff;background-color:#a862ea}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:24px 0 12px;color:#a862ea}.markdown-body h1{line-height:2;font-size:1.4em}.markdown-body h1~p:first-of-type:first-letter{color:#a862ea;float:left;font-size:2em;margin-right:.4em;font-weight:bolder}.markdown-body h2{font-size:1.2em}.markdown-body h3{font-size:1.1em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;padding-left:.2em}.markdown-body ol li::marker,.markdown-body ul li::marker{color:#a862ea}.markdown-body ol li.task-list-item,.markdown-body ul li.task-list-item{list-style:none}.markdown-body ol li.task-list-item ol,.markdown-body ol li.task-list-item ul,.markdown-body ul li.task-list-item ol,.markdown-body ul li.task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:10px}.markdown-body a,.markdown-body code,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6,.markdown-body li,.markdown-body p{opacity:.85;vertical-align:baseline;transition:all .1s ease}.markdown-body a:hover,.markdown-body code:hover,.markdown-body h1:hover,.markdown-body h2:hover,.markdown-body h3:hover,.markdown-body h4:hover,.markdown-body h5:hover,.markdown-body h6:hover,.markdown-body li:hover,.markdown-body p:hover{opacity:1}.markdown-body a{display:inline-block;color:#a862ea;cursor:pointer;text-decoration:none;position:relative}.markdown-body a:after{content:\"\";position:absolute;width:98%;height:1px;bottom:0;left:0;transform:scaleX(0);background-color:#a862ea;transform-origin:bottom right;transition:transform .3s ease-in-out}.markdown-body a:hover:after{transform:scaleX(1);transform-origin:bottom left}.markdown-body a:active,.markdown-body a:link{color:#a862ea}.markdown-body img{max-width:100%;user-select:none;margin:1em 0;transition:transform .2s ease 0s;background-color:#f8f5ff;box-shadow:0 0 10px #e7daff}.markdown-body img:hover{opacity:1;box-shadow:0 0 20px #e7daff;transform:translateY(-1px)}.markdown-body blockquote{padding:.5em 1em;margin:12px 0;border-top-left-radius:2px;border-bottom-left-radius:2px;border-left:3px solid #a862ea;background-color:#f8f5ff}.markdown-body blockquote>p{margin:0}.markdown-body .math{font-style:italic;margin:12px 0;padding:.5em 1em;background-color:#f8f5ff}.markdown-body .math>p{margin:0}.markdown-body code{padding:2px .4em;overflow-x:auto;color:#a862ea;font-weight:700;word-break:break-word;font-family:Operator Mono,Consolas,Monaco,Menlo,monospace;background-color:#f8f5ff}.markdown-body pre{margin:2em 0}.markdown-body pre>code{display:block;padding:1.5em;word-break:normal;font-size:.9em;font-style:normal;font-weight:400;font-family:Operator Mono,Consolas,Monaco,Menlo,monospace;line-height:18px;color:#383838;border-radius:2px;scroll-behavior:smooth;box-shadow:0 0 10px #e7daff}.markdown-body pre>code:hover{box-shadow:0 0 20px #e7daff}.markdown-body pre>code::-webkit-scrollbar{height:6px;background-color:#f8f5ff}.markdown-body pre>code::-webkit-scrollbar-thumb{background-color:#e7daff;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.markdown-body hr{margin:2em 0;border-top:1px solid #a862ea}.markdown-body table{width:100%;font-size:12px;max-width:100%;overflow:auto;border-collapse:collapse}.markdown-body thead{color:#a862ea;background:#f8f5ff}.markdown-body td,.markdown-body th{padding:.5em;border:1px solid #e7daff}.markdown-body tr{background-color:#f8f5ff}@media (max-width:720px){.markdown-body{font-size:12px}}"
  656. },
  657. "hydrogen": {
  658. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:16px;color:rgba(46,36,36,.87);overflow-x:hidden}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1{margin-bottom:5px;font-size:30px;font-weight:500}.markdown-body h1:before{content:\"#\";margin-right:10px;color:#1976d2}.markdown-body h2{font-size:28px;font-weight:400;border-left:5px solid #454545;margin-top:20px;padding-left:10px;transition:all .3s ease-in-out}.markdown-body h2:hover{border-color:#1976d2}.markdown-body h3{font-size:24px;font-weight:400;margin-top:15px;padding-bottom:0}.markdown-body h4{font-size:20px;font-weight:500}.markdown-body h5{font-size:16px}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body h2:first-letter,.markdown-body h3:first-letter,.markdown-body p:first-letter{text-transform:capitalize}.markdown-body em{text-emphasis:dot;text-emphasis-position:under}.markdown-body img{display:block;margin:0 auto!important;max-width:100%;border-radius:2px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)!important}.markdown-body hr{position:relative;width:98%;height:1px;border:none;margin-top:32px;margin-bottom:32px;background-image:linear-gradient(90deg,#ddd,#999,#ddd);overflow:visible}.markdown-body hr:after{content:\"\";position:absolute;margin:auto;left:0;right:0;bottom:0;top:0;display:inline-block;width:60px;height:20px;background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAADoklEQVRYR82XTYgcRRTHf2933Q1RjAa9eFO8JHoJ8RQVBQ2iBwXBET0YEUTXNVmNQtTpmeqaWV0XNRq/o4KoECSCEPSg4CF+BYUkIIiCoCJCPIhC/Ihh2Z0nVV27VnZnenumW9i6ddV7//frV69fVQurfMgq56NawFTPAU6QyomqXrw6wIZeyhCPebA5buNR+akKyGoAjd6BshthnYdSjqNcRVuOlIUsD2j0SuA94IwuMHdh5ZUykOUBXfSGbmKI54EtAeYIHSZoy5dl4JxvNYBOKdW1KE8BQ8AkVk6WhasWsAiN0TX9gveXQaPP+Aytpc4u+bMI06JNohsYYYYOR2lJWtS3OKDRfcAtQfgDoI6Vo4UCGb0OmAEuDvZvYmVbEd/igC3dzDz7gQu8sPA9kJDK27mBmjqBeLjTg90PDFOjWawFFQd06kZHEfaj3LAIpTRpSXsZ5E06zEYP9sDimnAApYaV2SLZG/wjMeqAkijwW4xQJ5Gf/ZzRC8OW3hiBTGGlURRswW55Bh/Ssxljrwew8l1PQaM14GngvGDzBUKdDsMeTtgU5o8B92PFlUf3YXUrHa7Fys6lBqcCGnX15YQ2A18FyPd7Crd1A3M8C1wdbH4DD3hWeP6IEXbQkG97ajR1HPFnuPP5jFFq1OWX7hl8WM9l1AO648uNfwLk7tytMeogty+xeQ4rO3r6bdcx1nuwOGsHmaXGtPzae4uzGnLH1kQkvpdZGrHjssBZJrL+pqS05KWc8tgITAPXRzYvYOXe/C2OV43eDcRBDtIhoS2f9wzc0Cv8Wls+zoFzUC5zF0U241h5uZtPfptp6OUM8wbK+cH5GEpCS17P3fJei0Z3+npTxryJ8CPzbKMtn/ZyWbkPGl0PuFPkmkjkcb4h4R2ZLwRq1H0ALmvjkf2HwK1Y+T1PY2XABe/sHJ6MxN5lnoSpnC/UGbsTaI5phK2R7x6s3Ffk5YoDOrWm3onwJHBmEP86bPmBrsGaenNoIdnxCH+gPEhLXi0Cl1VBvyPVLSh7gEuC62yAfOIUqabWEaaiucMIk6RyqJ+Q/QM69V26jjW86Gvov/EaoyT8zRCn+Xq7PVrbx0nuYUaO9wM3WAbjCE1NEUw09Um4UV+2OKfYfu5/S19gsAzGKqm6LE5FrShbdS0ku465DjDwKA/oQht19ejqbaEVuRbiLhuHByYLjtUAZpDutzP7cYdHsPJXWbjyNVgFwQoa1WXwf4Jd9YD/Ap80+yE7+u9aAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-size:auto 100%;background-position-x:center}.markdown-body code{font-weight:900;word-break:break-word;border-radius:2px;overflow-x:auto;font-size:.87em;padding:.065em .4em;background-color:#fbe5e1;color:#c0341d}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;border-radius:0 4px}.markdown-body pre>code{font-weight:400;font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{margin:0 4px;text-decoration:none;color:#027fff;transition:all .3s ease-in-out;padding-bottom:4px;border-bottom:2px solid transparent}.markdown-body a:after{content:\"\";display:inline-block;width:18px;height:18px;margin-left:4px;vertical-align:middle;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMjdGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0iTTkuODE1IDYuNDQ4bDEuOTM2LTEuOTM2YzEuMzM3LTEuMzM2IDMuNTgtMS4yNTkgNS4wMTMuMTczIDEuNDMyIDEuNDMyIDEuNTEgMy42NzYuMTczIDUuMDEzbC0xLjQ1MiAxLjQ1Mi0uOTY4Ljk2OGMtMS4zMzcgMS4zMzYtMy41ODEgMS4yNTktNS4wMTMtLjE3MyIvPjxwYXRoIGQ9Ik0xMS4yNjcgMTUuMzY3bC0xLjkzNiAxLjkzNmMtMS4zMzYgMS4zMzctMy41OCAxLjI2LTUuMDEyLS4xNzMtMS40MzItMS40MzItMS41MS0zLjY3Ni0uMTczLTUuMDEybDEuNDUyLTEuNDUyLjk2OC0uOTY4YzEuMzM2LTEuMzM3IDMuNTgtMS4yNiA1LjAxMi4xNzMiLz48L2c+PC9zdmc+);background-size:cover;background-repeat:no-repeat}.markdown-body a:hover{border-color:#027fff}.markdown-body a:active,.markdown-body a:hover{color:#275b8c}.markdown-body a.footnote-backref:after,.markdown-body a.footnote-ref:after,.markdown-body sup a:after{display:none!important}.markdown-body table{margin:0 auto 10px;font-size:12px;width:auto;max-width:100%;overflow:auto;border:2px solid #c6c6c6}.markdown-body table img{box-shadow:none!important}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fcfcfc}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body del{color:rgba(0,0,0,.6)}.markdown-body blockquote{position:relative;color:#666;padding:5px 23px 1px;margin:22px 0;border-left:4px solid #cbcbcb;background-color:hsla(0,0%,78.4%,.12);transition:all .2s ease-in-out}.markdown-body blockquote:hover{border-color:#1976d2}.markdown-body blockquote:after,.markdown-body blockquote:before{position:absolute;font-size:24px;font-weight:800;line-height:24px;color:#cbcbcb;opacity:.6}.markdown-body blockquote:before{content:\"“\";top:4px;left:6px}.markdown-body blockquote:after{content:\"”\";right:8px;bottom:-8px}.markdown-body blockquote>p,.markdown-body blockquote blockquote{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body details{outline:none;border:none;border-left:4px solid #1976d2;padding-left:10px;margin-left:4px}.markdown-body details summary{cursor:pointer;border:none;outline:none;background:#fff;margin:0 -17px}.markdown-body details summary:hover::-webkit-details-marker{color:#1976d2}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  659. },
  660. "condensed-night-purple": {
  661. "style": "@charset \"UTF-8\";.markdown-body{line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Arial,sans-serif;letter-spacing:2px;background-image:linear-gradient(90deg,rgba(50,0,0,.05) 3%,transparent 0),linear-gradient(1turn,rgba(50,0,0,.05) 3%,transparent 0);background-size:20px 20px;background-position:50%;word-break:break-word;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1{font-size:23px;margin-bottom:5px;font-weight:700;padding-left:10px;border-left:5px solid #773098}.markdown-body h2{font-size:19px;font-weight:700;padding-left:10px;border-left:5px solid #916dd5}.markdown-body h3{font-size:17px;font-weight:700;padding-left:10px;border-left:5px solid #d89cf6}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:15px}.markdown-body h6{font-size:14px;margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{display:block;max-width:100%;margin:1em 0;border-radius:6px;box-shadow:2px 4px 7px #999;user-select:none}.markdown-body hr{border:none;border-top:1px solid #ddd;margin-top:32px;margin-bottom:32px}.markdown-body code{padding:.2em .5em;font-weight:700;font-family:-apple-system-font,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Arial,sans-serif;font-size:1em;color:#916dd5;word-break:break-word;overflow-x:auto;background-color:none;border-radius:2px}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{display:block;font-family:-apple-system-font,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Arial,sans-serif;font-weight:400;font-size:.9em;padding:16px 12px;margin:0;color:#333;word-break:normal;overflow-x:auto;background:#f8f8f8;scroll-behavior:smooth}.markdown-body a{text-decoration:none;color:#916dd5;font-weight:700;border-bottom:1px solid #916dd5}.markdown-body a:active,.markdown-body a:hover{color:#773098}.markdown-body table{display:inline-block!important;font-size:14px;width:auto;max-width:100%;overflow:auto;border:1px solid #916dd5;border-collapse:collapse}.markdown-body thead{background-color:#916dd5;color:#fff;text-align:left}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px;border:1px solid #916dd5}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#666;padding:1px 23px;margin:22px 0;border-left:4px solid #d89cf6;background-color:#f4eeff}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0;line-height:26px}.markdown-body ol,.markdown-body ul{padding-left:28px;list-style-type:circle}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body b,.markdown-body strong{color:#916dd5;font-weight:700}.markdown-body b:before,.markdown-body strong:before{content:\"「\"}.markdown-body b:after,.markdown-body strong:after{content:\"」\"}.markdown-body em,.markdown-body i{color:#916dd5}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  662. "highlight": "github-gist"
  663. },
  664. "greenwillow": {
  665. "style": "@charset \"UTF-8\";.markdown-body{font-family:PingFang SC,Microsoft YaHei,sans-serif;word-break:break-word;font-size:16px;overflow-x:hidden}.markdown-body li,.markdown-body p{font-size:.9em;letter-spacing:2px;color:#333}.markdown-body li code,.markdown-body p code{font-family:PingFang SC,Microsoft YaHei,sans-serif;font-weight:500;background:rgba(119,175,156,.22);border-radius:0;padding:2px 5px;border-left:2px solid #77af9c;color:#6e7783}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{display:table;line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1,.markdown-body h2,.markdown-body h3{background:rgba(119,175,156,.22);color:#6e7783;padding:5px 10px;border:1px solid rgba(119,175,156,.22);transition:all .5s}.markdown-body h1:hover,.markdown-body h2:hover,.markdown-body h3:hover{border:1px solid #77af9c}.markdown-body h1{font-size:1.6em}.markdown-body h2{font-size:1.4em}.markdown-body h3{font-size:1.1em}.markdown-body h4,.markdown-body h5,.markdown-body h6{text-align:center}.markdown-body h4:after,.markdown-body h5:after,.markdown-body h6:after{content:\"/\";color:#77af9c;font-weight:400;margin-left:15px}.markdown-body h4:before,.markdown-body h5:before,.markdown-body h6:before{content:\"/\";color:#77af9c;font-weight:400;margin-right:15px}.markdown-body h4,.markdown-body h5,.markdown-body h6{display:block;color:#77af9c;font-size:400;font-weight:400}.markdown-body hr{margin-top:20px;margin-bottom:20px;border:none;border-top:2px solid #77af9c}.markdown-body blockquote{position:relative;line-height:1.8;font-style:400;text-indent:0;margin:0;padding:10px;border:1px solid #fff;color:#888;background:rgba(119,175,156,.22);transition:border .5s}.markdown-body blockquote:hover{border-style:solid;border-color:#77af9c}.markdown-body blockquote:before{content:\"“\";display:inline;color:#6e7783;font-size:4em;font-family:Arial,serif;line-height:1em}.markdown-body blockquote:after{position:absolute;content:\"Tips\";display:inline;bottom:5px;right:15px;color:#6e7783;font-size:.9em}.markdown-body blockquote p{display:inline}.markdown-body table{border-collapse:collapse;width:auto;min-width:50%;font-size:.8em}.markdown-body table tr th{text-align:center;border:1px solid #77af9c;background:rgba(119,175,156,.22);font-weight:500;padding:5px}.markdown-body table tr td{text-align:center;border:1px solid rgba(119,175,156,.22);padding:5px}.markdown-body pre{font-family:Arial,serif;overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-family:Arial,serif;border-left:2px solid #77af9c;display:block;padding:16px 12px;margin:0;font-size:.9em;color:#6e7783;word-break:normal;overflow-x:auto;background:#f8f8f8}.markdown-body a{color:#77af9c;font-weight:400;background:#fff;border-bottom:none;padding:2px 5px;text-decoration:none;transition:all .5s}.markdown-body a:hover{background:rgba(119,175,156,.22);color:#6e7783}.markdown-body strong{font-weight:700;color:#6e7783}"
  666. },
  667. "v-green": {
  668. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child,.markdown-body h4:first-child,.markdown-body h5:first-child,.markdown-body h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.markdown-body h1:before,.markdown-body h2:before,.markdown-body h3:before,.markdown-body h4:before,.markdown-body h5:before,.markdown-body h6:before{content:\"#\";display:inline-block;color:#3eaf7c;padding-right:.23em}.markdown-body h1{position:relative;font-size:2.5rem;margin-bottom:5px}.markdown-body h1:before{font-size:2.5rem}.markdown-body h2{padding-bottom:.5rem;font-size:2.2rem;border-bottom:1px solid #ececec}.markdown-body h3{font-size:1.5rem;padding-bottom:0}.markdown-body h4{font-size:1.25rem}.markdown-body h5{font-size:1rem}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body strong{color:#3eaf7c}.markdown-body img{max-width:100%;border-radius:2px;display:block;margin:auto;border:3px solid rgba(62,175,124,.2)}.markdown-body hr{border:none;border-top:1px solid #3eaf7c;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;overflow-x:auto;padding:.2rem .5rem;margin:0;color:#3eaf7c;font-weight:700;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;border-radius:6px;border:2px solid #3eaf7c}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{font-weight:500;text-decoration:none;color:#3eaf7c}.markdown-body a:active,.markdown-body a:hover{border-bottom:1.5px solid #3eaf7c}.markdown-body a:before{content:\"⇲\"}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #3eaf7c}.markdown-body thead{background:#3eaf7c;color:#fff;text-align:left}.markdown-body tr:nth-child(2n){background-color:rgba(62,175,124,.2)}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#666;padding:1px 23px;margin:22px 0;border-left:.5rem solid;border-color:#42b983;background-color:#f8f8f8}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body details{outline:none;border:none;border-left:4px solid #3eaf7c;padding-left:10px;margin-left:4px}.markdown-body details summary{cursor:pointer;border:none;outline:none;background:#fff;margin:0 -17px}.markdown-body details summary::-webkit-details-marker{color:#3eaf7c}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body ol li::marker{color:#3eaf7c}.markdown-body ul li{list-style:none}.markdown-body ul li:before{content:\"•\";margin-right:4px;color:#3eaf7c}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  669. },
  670. "vue-pro": {
  671. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:2;font-weight:400;font-size:15px;overflow-x:hidden;color:#333;letter-spacing:1.2px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child,.markdown-body h4:first-child,.markdown-body h5:first-child,.markdown-body h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.markdown-body h1:before,.markdown-body h2:before,.markdown-body h3:before,.markdown-body h4:before,.markdown-body h5:before,.markdown-body h6:before{content:\"#\";display:inline-block;color:#3eaf7c;padding-right:.23em}.markdown-body h1{position:relative;font-size:2.5rem;margin-bottom:5px}.markdown-body h1:before{font-size:2.5rem}.markdown-body h2{padding-bottom:.5rem;font-size:2.2rem;border-bottom:1px solid #ececec}.markdown-body h3{font-size:1.5rem;padding-bottom:0}.markdown-body h4{font-size:1.25rem}.markdown-body h5{font-size:1rem}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body strong{color:#3eaf7c}.markdown-body img{max-width:100%;border-radius:2px;display:block;margin:auto}.markdown-body hr{border:none;border-top:1px solid #3eaf7c;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;overflow-x:auto;padding:.2rem .5rem;margin:0;color:#3eaf7c;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;border:.5rem solid #3eaf7c}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{font-weight:500;text-decoration:none;color:#3eaf7c;margin:0 5px}.markdown-body a:active,.markdown-body a:hover{text-decoration:none;border-bottom:1.5px solid #3eaf7c}.markdown-body a[href^=http]:after{content:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiPjxkZWZzPjxzdHlsZS8+PC9kZWZzPjxwYXRoIGQ9Ik04MzIgMTI4SDY0MHY2NGgxNDYuNzUyTDUyMS4zNzYgNDU3LjM3Nmw0NS4yNDggNDUuMjQ4TDgzMiAyMzcuMjQ4VjM4NGg2NFYxMjh6IiBmaWxsPSIjM2VhZjdjIi8+PHBhdGggZD0iTTc2OCA4MzJIMTkyVjI1NmgzNTJ2LTY0SDE2MGEzMiAzMiAwIDAwLTMyIDMydjY0MGEzMiAzMiAwIDAwMzIgMzJoNjQwYTMyIDMyIDAgMDAzMi0zMlY0ODBoLTY0djM1MnoiIGZpbGw9IiMzZWFmN2MiLz48L3N2Zz4=\");margin-left:2px}.markdown-body a[href^=\"#\"]:before{content:\"#\"}.markdown-body table{display:inline-block!important;font-size:13px;width:auto;max-width:100%;overflow:auto;border:1px solid #3eaf7c;border-collapse:collapse}.markdown-body thead{background:#3eaf7c;color:#fff;text-align:left}.markdown-body tr:nth-child(2n){background-color:rgba(153,255,188,.1)}.markdown-body td,.markdown-body th{padding:4px 8px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#7b7878;padding:1px 23px;border-left:.5rem solid;border-color:#42b983;background-color:rgba(66,184,131,.1);position:relative;margin:14px 8px 0}.markdown-body blockquote:before{display:inline-block;position:absolute;content:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNyAyNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxLjg2MiAxLjg2MikiIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0ibm9uZSI+PGNpcmNsZSBzdHJva2U9IiNGRkYiIHN0cm9rZS13aWR0aD0iMS43MjQiIGZpbGw9IiM0MkI5ODMiIGN4PSIxMS42MzgiIGN5PSIxMS42MzgiIHI9IjExLjYzOCIvPjxwYXRoIGQ9Ik0xNC45NzggNi4yN0E1LjAwNiA1LjAwNiAwIDAwNi42NyA5LjQ2OGE0LjkwMSA0LjkwMSAwIDAwMS43NzMgNC4zNjJjLjMyMy4yNTguNTE0LjY0Ny41MjIgMS4wNnYxLjA2YTIuNjg1IDIuNjg1IDAgMDA1LjM3IDB2LTEuMDA4Yy4wMDItLjM5OC4xNzMtLjc3Ny40Ny0xLjA0MmE1LjAyMyA1LjAyMyAwIDAwLjE3My03LjYzem0tMy4zMzcgMTAuOTY3YTEuMzA0IDEuMzA0IDAgMDEtMS4yODYtMS4yODd2LS4yNzhoMi41NzJ2LjI2MWMwIC43MTMtLjU3MyAxLjI5NC0xLjI4NiAxLjMwNHptMi4yNi00LjQxNWMtLjQ0LjM4My0uNzUuODkzLS44ODcgMS40NmgtMi43NDZhMi44NjggMi44NjggMCAwMC0uOTM4LTEuNTNoLS4wMThhMy40NzYgMy40NzYgMCAwMS0xLjI2OS0zLjE0NSAzLjYxNSAzLjYxNSAwIDAxNy4xOTYuNCAzLjY1IDMuNjUgMCAwMS0xLjMzOCAyLjgxNXoiIGZpbGw9IiNGRkYiLz48L2c+PC9zdmc+\");width:25px;height:25px;left:-16px;top:12px}.markdown-body blockquote>p{margin:10px 0}.markdown-body details{outline:none;border:none;border-left:4px solid #3eaf7c;padding-left:10px;margin-left:4px}.markdown-body details summary{cursor:pointer;border:none;outline:none;background:#fff;margin:0 -17px}.markdown-body details summary::-webkit-details-marker{color:#3eaf7c}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body ol li::marker{color:#3eaf7c}.markdown-body ul li{list-style:none;padding-left:10px}.markdown-body ul li::marker{content:\"•\";color:#3eaf7c}.markdown-body ul li.task-list-item:before{content:\"\";margin-right:0}.markdown-body input[type=checkbox]{vertical-align:text-bottom;box-shadow:inset 0 0 0 10px #fff}.markdown-body input[type=checkbox]:before{content:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxkZWZzPjxzdHlsZS8+PC9kZWZzPjxwYXRoIGQ9Ik04NzcuMDU2IDE0Ni45NDR2NzMwLjExMkgxNDYuOTQ0VjE0Ni45NDRoNzMwLjExMnptMC0xMDQuMjc3SDE0Ni45NDRjLTU3LjYyOCAwLTEwNC4yNzcgNDYuNjQ5LTEwNC4yNzcgMTA0LjI3N3Y3MzAuMTEyYzAgNTcuNjI4IDQ2LjY0OSAxMDQuMjc3IDEwNC4yNzcgMTA0LjI3N2g3MzAuMTEyYzU3LjYyOCAwIDEwNC4yNzctNDYuNjQ5IDEwNC4yNzctMTA0LjI3N1YxNDYuOTQ0YzAtNTcuNjI4LTQ2LjY0OS0xMDQuMjc3LTEwNC4yNzctMTA0LjI3N3oiIGZpbGw9IiMzZWFmN2MiLz48L3N2Zz4=\");position:relative;top:-2px;right:2px}.markdown-body input[type=checkbox]:checked:before{content:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxkZWZzPjxzdHlsZS8+PC9kZWZzPjxwYXRoIGQ9Ik05MTAuMjA4IDBIMTEzLjc2QTExNC4xMTIgMTE0LjExMiAwIDAwLS4wMzIgMTEzLjc5MlY5MTAuMjRjMCA2Mi41OTIgNTEuMiAxMTMuNzkyIDExMy43OTIgMTEzLjc5Mmg3OTYuNDQ4YzYyLjU5MiAwIDExMy43OTItNTEuMiAxMTMuNzkyLTExMy43OTJWMTEzLjc5MkMxMDI0IDUxLjIgOTcyLjggMCA5MTAuMjA4IDB6bS01MTIgNzk2LjQ0OEwxMTMuNzYgNTEybDc5LjY0OC03OS42NDggMjA0LjggMjA0LjhMODMwLjU2IDIwNC44bDc5LjY0OCA3OS42NDgtNTEyIDUxMnoiIGZpbGw9IiMzZWFmN2MiLz48L3N2Zz4=\");position:relative;top:-2px;right:2px}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  672. "highlight": "monokai"
  673. },
  674. "healer-readable": {
  675. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:18px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:40px;margin-bottom:20px;color:#007fff;display:flex;align-items:center}.markdown-body h1:hover:before,.markdown-body h2:hover:before,.markdown-body h3:hover:before,.markdown-body h4:hover:before,.markdown-body h5:hover:before,.markdown-body h6:hover:before{transition:All .4s ease-in-out;transform:rotate(1turn)}.markdown-body h1{font-size:30px;background:linear-gradient(#fff 60%,#c6e3ff 0)}.markdown-body h1:before{content:\"\";display:inline-block;width:32px;height:32px;margin-right:10px;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af/8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af/8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af/8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af/8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/8Af//////rzEHnAAAAfXRSTlMAD7CCAivatxIDx5EMrP19AXdLEwgLR+6iCR/M0yLRzyFF7JupSXn8cw6v60Q0QeqzKtgeG237HMne850/6Qeq7QaZ+WdydHtj+OM3qENCMRYl1B3K2U7wnlWE/mhlirjkODa9FN/BF7/iNV/2kASNZpX1Wlf03C4stRGxgUPclqoAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEaBzgZ4yeM3AAAAT9JREFUOMvNUldbwkAQvCAqsSBoABE7asSOBRUVVBQNNuy9996789+9cMFAMHnVebmdm+/bmdtbQv4dOFOW2UjPzgFyLfo6nweKfIMOBYWwFtmMPGz2Yj2pJI0JDq3udJW6VVbmKa9I192VQFV1ktXUAl5NB0cd4KpnORqsEO2ZIRpF9gJfE9Dckqq0KuZt7UAH5+8EPF3spjsRpCeQNO/tA/qDwIDA+OCQbBoKA8NOdjMySgcZGVM6jwcgRuUiSs0nlPFNSrEpJfU0jTLD6llqbvKxei7OzvkFNQohi0vAsj81+MoqsCaoPOQFgus/1LyxichW+hS2JWCHZ7VlF9jb187pIAYcHiViHAMnp5mTjJ8B5xeEXF4B1ze/fTh/C0h398DDI9HB07O8ci+vRBdvdGnfP4gBuM8vw7X/G3wDmFhFZEdxzjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDEtMjZUMDc6NTY6MjUrMDE6MDA67pVWAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAxLTI2VDA3OjU2OjI1KzAxOjAwS7Mt6gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAWdEVYdFRpdGxlAGp1ZWppbl9sb2dvIGNvcHlxapmKAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC\");background-size:100% 100%}.markdown-body h2{font-size:24px;background:linear-gradient(#fff 60%,#cce3fb 0)}.markdown-body h2:before{content:\"\";display:inline-block;width:24px;height:24px;margin-right:10px;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af/8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af/8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af/8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af/8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/8Af//////rzEHnAAAAfXRSTlMAD7CCAivatxIDx5EMrP19AXdLEwgLR+6iCR/M0yLRzyFF7JupSXn8cw6v60Q0QeqzKtgeG237HMne850/6Qeq7QaZ+WdydHtj+OM3qENCMRYl1B3K2U7wnlWE/mhlirjkODa9FN/BF7/iNV/2kASNZpX1Wlf03C4stRGxgUPclqoAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEaBzgZ4yeM3AAAAT9JREFUOMvNUldbwkAQvCAqsSBoABE7asSOBRUVVBQNNuy9996789+9cMFAMHnVebmdm+/bmdtbQv4dOFOW2UjPzgFyLfo6nweKfIMOBYWwFtmMPGz2Yj2pJI0JDq3udJW6VVbmKa9I192VQFV1ktXUAl5NB0cd4KpnORqsEO2ZIRpF9gJfE9Dckqq0KuZt7UAH5+8EPF3spjsRpCeQNO/tA/qDwIDA+OCQbBoKA8NOdjMySgcZGVM6jwcgRuUiSs0nlPFNSrEpJfU0jTLD6llqbvKxei7OzvkFNQohi0vAsj81+MoqsCaoPOQFgus/1LyxichW+hS2JWCHZ7VlF9jb187pIAYcHiViHAMnp5mTjJ8B5xeEXF4B1ze/fTh/C0h398DDI9HB07O8ci+vRBdvdGnfP4gBuM8vw7X/G3wDmFhFZEdxzjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDEtMjZUMDc6NTY6MjUrMDE6MDA67pVWAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAxLTI2VDA3OjU2OjI1KzAxOjAwS7Mt6gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAWdEVYdFRpdGxlAGp1ZWppbl9sb2dvIGNvcHlxapmKAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC\");background-size:100% 100%}.markdown-body h3{font-size:20px}.markdown-body h3:before{content:\"\";display:inline-block;width:18px;height:18px;margin-right:10px;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af/8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af/8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af/8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af/8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/8Af//////rzEHnAAAAfXRSTlMAD7CCAivatxIDx5EMrP19AXdLEwgLR+6iCR/M0yLRzyFF7JupSXn8cw6v60Q0QeqzKtgeG237HMne850/6Qeq7QaZ+WdydHtj+OM3qENCMRYl1B3K2U7wnlWE/mhlirjkODa9FN/BF7/iNV/2kASNZpX1Wlf03C4stRGxgUPclqoAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEaBzgZ4yeM3AAAAT9JREFUOMvNUldbwkAQvCAqsSBoABE7asSOBRUVVBQNNuy9996789+9cMFAMHnVebmdm+/bmdtbQv4dOFOW2UjPzgFyLfo6nweKfIMOBYWwFtmMPGz2Yj2pJI0JDq3udJW6VVbmKa9I192VQFV1ktXUAl5NB0cd4KpnORqsEO2ZIRpF9gJfE9Dckqq0KuZt7UAH5+8EPF3spjsRpCeQNO/tA/qDwIDA+OCQbBoKA8NOdjMySgcZGVM6jwcgRuUiSs0nlPFNSrEpJfU0jTLD6llqbvKxei7OzvkFNQohi0vAsj81+MoqsCaoPOQFgus/1LyxichW+hS2JWCHZ7VlF9jb187pIAYcHiViHAMnp5mTjJ8B5xeEXF4B1ze/fTh/C0h398DDI9HB07O8ci+vRBdvdGnfP4gBuM8vw7X/G3wDmFhFZEdxzjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDEtMjZUMDc6NTY6MjUrMDE6MDA67pVWAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAxLTI2VDA3OjU2OjI1KzAxOjAwS7Mt6gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAWdEVYdFRpdGxlAGp1ZWppbl9sb2dvIGNvcHlxapmKAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC\");background-size:100% 100%}.markdown-body h4{font-size:18px}.markdown-body h4:before{content:\"\";display:inline-block;width:16px;height:16px;margin-right:10px;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af/8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af/8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af/8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af/8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/8Af//////rzEHnAAAAfXRSTlMAD7CCAivatxIDx5EMrP19AXdLEwgLR+6iCR/M0yLRzyFF7JupSXn8cw6v60Q0QeqzKtgeG237HMne850/6Qeq7QaZ+WdydHtj+OM3qENCMRYl1B3K2U7wnlWE/mhlirjkODa9FN/BF7/iNV/2kASNZpX1Wlf03C4stRGxgUPclqoAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEaBzgZ4yeM3AAAAT9JREFUOMvNUldbwkAQvCAqsSBoABE7asSOBRUVVBQNNuy9996789+9cMFAMHnVebmdm+/bmdtbQv4dOFOW2UjPzgFyLfo6nweKfIMOBYWwFtmMPGz2Yj2pJI0JDq3udJW6VVbmKa9I192VQFV1ktXUAl5NB0cd4KpnORqsEO2ZIRpF9gJfE9Dckqq0KuZt7UAH5+8EPF3spjsRpCeQNO/tA/qDwIDA+OCQbBoKA8NOdjMySgcZGVM6jwcgRuUiSs0nlPFNSrEpJfU0jTLD6llqbvKxei7OzvkFNQohi0vAsj81+MoqsCaoPOQFgus/1LyxichW+hS2JWCHZ7VlF9jb187pIAYcHiViHAMnp5mTjJ8B5xeEXF4B1ze/fTh/C0h398DDI9HB07O8ci+vRBdvdGnfP4gBuM8vw7X/G3wDmFhFZEdxzjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDEtMjZUMDc6NTY6MjUrMDE6MDA67pVWAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAxLTI2VDA3OjU2OjI1KzAxOjAwS7Mt6gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAWdEVYdFRpdGxlAGp1ZWppbl9sb2dvIGNvcHlxapmKAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC\");background-size:100% 100%}.markdown-body h5{font-size:16px}.markdown-body h5:before{content:\"\";display:inline-block;width:15px;height:15px;margin-right:10px;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af/8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af/8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af/8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af/8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/8Af//////rzEHnAAAAfXRSTlMAD7CCAivatxIDx5EMrP19AXdLEwgLR+6iCR/M0yLRzyFF7JupSXn8cw6v60Q0QeqzKtgeG237HMne850/6Qeq7QaZ+WdydHtj+OM3qENCMRYl1B3K2U7wnlWE/mhlirjkODa9FN/BF7/iNV/2kASNZpX1Wlf03C4stRGxgUPclqoAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEaBzgZ4yeM3AAAAT9JREFUOMvNUldbwkAQvCAqsSBoABE7asSOBRUVVBQNNuy9996789+9cMFAMHnVebmdm+/bmdtbQv4dOFOW2UjPzgFyLfo6nweKfIMOBYWwFtmMPGz2Yj2pJI0JDq3udJW6VVbmKa9I192VQFV1ktXUAl5NB0cd4KpnORqsEO2ZIRpF9gJfE9Dckqq0KuZt7UAH5+8EPF3spjsRpCeQNO/tA/qDwIDA+OCQbBoKA8NOdjMySgcZGVM6jwcgRuUiSs0nlPFNSrEpJfU0jTLD6llqbvKxei7OzvkFNQohi0vAsj81+MoqsCaoPOQFgus/1LyxichW+hS2JWCHZ7VlF9jb187pIAYcHiViHAMnp5mTjJ8B5xeEXF4B1ze/fTh/C0h398DDI9HB07O8ci+vRBdvdGnfP4gBuM8vw7X/G3wDmFhFZEdxzjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDEtMjZUMDc6NTY6MjUrMDE6MDA67pVWAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAxLTI2VDA3OjU2OjI1KzAxOjAwS7Mt6gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAWdEVYdFRpdGxlAGp1ZWppbl9sb2dvIGNvcHlxapmKAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC\");background-size:100% 100%}.markdown-body h6{font-size:14px}.markdown-body h6:before{content:\"\";display:inline-block;width:12px;height:12px;margin-right:10px;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af/8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af/8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af/8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af/8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/8Af//////rzEHnAAAAfXRSTlMAD7CCAivatxIDx5EMrP19AXdLEwgLR+6iCR/M0yLRzyFF7JupSXn8cw6v60Q0QeqzKtgeG237HMne850/6Qeq7QaZ+WdydHtj+OM3qENCMRYl1B3K2U7wnlWE/mhlirjkODa9FN/BF7/iNV/2kASNZpX1Wlf03C4stRGxgUPclqoAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEaBzgZ4yeM3AAAAT9JREFUOMvNUldbwkAQvCAqsSBoABE7asSOBRUVVBQNNuy9996789+9cMFAMHnVebmdm+/bmdtbQv4dOFOW2UjPzgFyLfo6nweKfIMOBYWwFtmMPGz2Yj2pJI0JDq3udJW6VVbmKa9I192VQFV1ktXUAl5NB0cd4KpnORqsEO2ZIRpF9gJfE9Dckqq0KuZt7UAH5+8EPF3spjsRpCeQNO/tA/qDwIDA+OCQbBoKA8NOdjMySgcZGVM6jwcgRuUiSs0nlPFNSrEpJfU0jTLD6llqbvKxei7OzvkFNQohi0vAsj81+MoqsCaoPOQFgus/1LyxichW+hS2JWCHZ7VlF9jb187pIAYcHiViHAMnp5mTjJ8B5xeEXF4B1ze/fTh/C0h398DDI9HB07O8ci+vRBdvdGnfP4gBuM8vw7X/G3wDmFhFZEdxzjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDEtMjZUMDc6NTY6MjUrMDE6MDA67pVWAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAxLTI2VDA3OjU2OjI1KzAxOjAwS7Mt6gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAWdEVYdFRpdGxlAGp1ZWppbl9sb2dvIGNvcHlxapmKAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC\");background-size:100% 100%}.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{border-bottom:2px solid #007fff;color:#007fff;padding-right:10px}.markdown-body p{letter-spacing:1px;line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{display:block;max-width:100%;margin:10px auto}.markdown-body hr{border:none;border-top:1px dashed #92c8ff}.markdown-body hr:before{content:\"✂\";display:inline-block;position:relative;top:-12px;left:40px;padding:0 3px;color:#007fff;font-size:18px}.markdown-body hr:after{content:\"按虚线剪开\";position:relative;top:-15px;left:84%;padding:0 3px;color:#007fff;font-size:12px}.markdown-body del{color:#f44}.markdown-body em{color:#007fff;margin:0 2px}.markdown-body strong{color:#007fff;font-weight:bolder}.markdown-body code{word-break:break-word;border-radius:4px;overflow-x:auto;background-color:#e6f3ff;color:#007fff;font-weight:600;font-size:16px;padding:.065em .4em;border:1px solid #007fff}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;box-shadow:0 0 8px hsla(0,0%,43.1%,.45);border-radius:5px;margin:16px}.markdown-body pre:before{content:\"\";display:block;height:30px;width:100%;background:url(data:image/png;base64,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) 10px 10px no-repeat;background-size:40px}.markdown-body pre>code{font-size:18px;font-weight:400;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8;border:none}.markdown-body a{text-decoration:none;color:#007fff;border-bottom:1px solid #007fff}.markdown-body a:before{content:\"¶\";margin-right:5px;font-size:22px}.markdown-body a:after{content:\"↷\";margin-left:2px;font-size:22px;display:none}.markdown-body a:active,.markdown-body a:hover{color:#275b8c;border-bottom:1px solid #275b8c}.markdown-body a:active:after,.markdown-body a:hover:after{display:inline-block}.markdown-body table{display:inline-block!important;font-size:16px;width:auto;max-width:100%;overflow:auto;border:1px solid #a5d3ff}.markdown-body thead{background:#c6e3ff;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#eef7ff}.markdown-body tbody>tr:nth-child(odd){background-color:#f8fcff}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#666;padding:1px 23px;margin:22px 0;border-left:4px solid #007fff;background-color:#eef7ff}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol li::marker,.markdown-body ul li::marker{color:#007fff}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  676. "highlight": "srcery"
  677. },
  678. "mk-cute": {
  679. "style": "@charset \"UTF-8\";@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#36ace1;background-image:linear-gradient(90deg,rgba(217,234,251,.25) 3%,transparent 0),linear-gradient(1turn,rgba(217,234,251,.25) 3%,transparent 0);background-size:20px 20px;background-position:50%}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:#36ace1}.markdown-body h1:before,.markdown-body h2:before,.markdown-body h3:before,.markdown-body h4:before,.markdown-body h5:before,.markdown-body h6:before{content:\"\";display:block;position:absolute;left:0;top:0;bottom:0;margin:auto;background-image:url(data:image/png;base64,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);animation:spin 2s linear 1s infinite}.markdown-body h1{position:relative;font-size:30px;padding:12px 38px;margin:30px 0}.markdown-body h1:before{width:30px;height:30px;background-size:30px 30px}.markdown-body h2{position:relative;font-size:24px;padding:12px 36px;margin:28px 0}.markdown-body h2:before{width:28px;height:28px;background-size:28px 28px}.markdown-body h3{position:relative;font-size:18px;padding:4px 32px;margin:26px 0}.markdown-body h3:before{width:24px;height:24px;background-size:24px 24px}.markdown-body h4{position:relative;padding:4px 28px;font-size:16px;margin:22px 0}.markdown-body h4:before{width:20px;height:20px;background-size:20px 20px}.markdown-body h5{position:relative;padding:4px 26px;font-size:15px;margin:20px 0}.markdown-body h5:before{width:18px;height:18px;background-size:18px 18px}.markdown-body h6{position:relative;padding:4px 22px;font-size:14px;margin:16px 0}.markdown-body h6:before{width:16px;height:16px;background-size:16px 16px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{position:relative;width:98%;height:1px;border:none;margin-top:32px;margin-bottom:32px;background-image:linear-gradient(90deg,#36ace1,#dff0fe,#36ace1);overflow:visible}.markdown-body hr:after{content:\"\";position:absolute;margin:auto;left:0;right:0;bottom:0;top:0;display:inline-block;width:50px;height:24px;background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAEgElEQVRIS72Va0xbZRjH/z2FcimbchEQFDYRCIRAAWFQ2MaCXBwmUxYDLGGEcRFkH9wmk04zG0Bo2dwNIisERANqhjqdEmhd4nRbuwpsXDYWLLoRgeG4Chu9QHvMOQ0dpTAKH3y/tDnv8/5/z/Oc//scBv6nxdgoJ14gVYPEuITHdTdHY12gRIH0T0KljlqwthqUFHGtzAEsxqwLtPvkdc+FeeI3BgMeAMEhdOqR1mM7xswBrgmKE8pfIUhtm7fbZsft/i7wc98MtrUFxmbU6ByYgFwxjtFp5Q+WpF1mCy9wajXoqqD4E91saOf603e+5B7t99xTkyZJEiKJAl2DE9Xio1HvrBS8IuhVwVUP503swdJ9QWAw1izaoDs6pQT/655BMS9yy3KYiUoM/7adu7NmtnQfx5zWm8Q8Ui3gyGcddyU8rv/STRNQouDGP5/mhTubX4dpPv3DMzh1qS9LwuPWr+i63WVyn5QYj/4d/i4bqmbpoQ+auvBlQYghX6PE4wTSOzV5EUYlb5Q4MDqLk9/3cMRF27spDSNQamUnWZ4ebNB+OKNCyYVeFCZ5wZ5tiePN/UiP2YoQL0cUX+iFt4sNUiLdcaVvHJLecQiWnKVE8s5LvxAXRWeYgHLre0hecgAN0sxr0XBZgbJUP6OiLnaM4ivZCBrzOWBZEIY9rY5E8pl2nM0KMzzLq5aPiXmRzgbQm2VyR8KGGK/ICAFB6IusbvsDwhRf+n/jtSHc/nsGgjR9V6/1TyLa1wGU+FtnO1CbHQTHTSzIFJOYJ1jwcGLTccMTcyhp7oW4KFJ/SV4/IScrc55kQj07WNuOn94Lpw8kCm/Qv3W5HLjbWxsyfuNUO1TzWjAJBloKt2FBS+Jz6ShiA12NupBdLWugQcmn28lPMkONNql3U5cTSD9Lq+qEUqPFt++G0aKL687wDAqb+pAU7IKCuK2493AOPQ9UCNpib6T1tkg+RZ9KKJcNn8sJc1vac8o16jklLWLuOiDqwvHUIKPw7vtTON+iCDKkl/Cx9FeSYET5um1mHt6jN0Dz9ftwYjORudNjTdaBmi7kxvvA1d6Gjs0X/Q5Sp3tMEMSHre9HnDEZAPFCWUNVdliGJVPvqEP1Hbh4yPj9LadSY6fu6gPsCX+B3mq7NYLv2od8fj4aoViMNQGFijos/XVMTXGavgUisQIle71hwVx9KFEutLVjw8GORTuxoEbeJS7iPrmQyy/sIj2hQpqYHO7ZGs95nnZS4y8K8Pfqrb58UZ+IlKqbqNgfQm8da+pC9xjLqo8foFkau2qaCeXSyvzXfA9SDrp1bxJ/DU/jSJKXEWdBR2J/9U0UpwXTFZ/+8S76h/71FvO4A8sTeuqQThDKalOiPLN3BbhiYlaNsm964elkCztrC4xMqeDqYIus2JdB3cbS5l4MTag44qJt9GxbF4gKThRKY59lW13+KCUQ1pZMEwHKviKx4pFSqXzxCn/X9Gr2NO+zw+cTiTbxmUyCqH3GlsWg2kRNhOnHmhlrFkIvHTZt1borWvMCmRnwH4usn58STiycAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-size:auto 100%;background-position-x:center}.markdown-body del{color:#36ace1}.markdown-body code{font-family:Menlo,Monaco,Consolas,Courier New,monospace;word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#282c34;color:#4ec9b0;padding:.24em .46em;margin:0 4px}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:12px;border-radius:10px;padding:15px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#4ec9b0;background:#282c34}.markdown-body a{text-decoration:none;color:#409eff;border-bottom:1px solid #409eff}.markdown-body a:active,.markdown-body a:hover{color:#007bff;border-bottom:1px solid #007bff}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #f6f6f6}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fcfcfc}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{position:relative;padding:8px 26px;background-color:rgba(54,172,225,.75);margin:16px 0;border-left:4px solid #409eff;border-radius:5px}.markdown-body blockquote:before{content:\"❝\";top:10px;left:8px;color:#409eff;font-size:20px;line-height:1;font-weight:700;position:absolute;opacity:.7}.markdown-body blockquote:after{content:\"❞\";font-size:20px;position:absolute;right:8px;bottom:0;color:#409eff;opacity:.7}.markdown-body blockquote>p{color:#fff}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  680. },
  681. "jzman": {
  682. "style": ".markdown-body{word-break:break-word;line-height:1.8;font-weight:400;font-size:16px;word-spacing:2px;letter-spacing:2px;overflow-x:hidden;color:#3e3e3e;background-image:linear-gradient(90deg,rgba(50,0,0,.05) 3%,transparent 0),linear-gradient(1turn,rgba(50,0,0,.05) 3%,transparent 0);background-size:20px 20px;background-position:50%}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1{font-size:30px;margin-bottom:5px}.markdown-body h2{padding-bottom:12px;font-size:24px;border-bottom:1px solid #ececec}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4{font-size:1.2em;border-bottom:2px solid #ef7060;word-spacing:0!important;letter-spacing:0!important;font-size:inherit;line-height:inherit;display:block;font-weight:400;background:#ef7060;color:#fff;padding:10px;border-top-right-radius:3px;border-top-left-radius:3px;margin-right:3px}.markdown-body h5{font-size:15px}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #ddd;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;color:#ff502c;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{text-decoration:none;color:#0269c8;border-bottom:1px solid #d1e9ff}.markdown-body a:active,.markdown-body a:hover{color:#275b8c}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #f6f6f6}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fcfcfc}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#666;padding:1px 23px;margin:22px 0;border-left:4px solid #cbcbcb;background-color:#f8f8f8}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  683. "highlight": "monokai"
  684. },
  685. "geek-black": {
  686. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.7;font-weight:400;font-size:16px;overflow-x:hidden;color:#212122}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-bottom:8px;padding-bottom:8px}.markdown-body h1{color:#a0a0a0;font-size:38px;margin-top:32px;padding-top:32px}.markdown-body h2{color:#fff;background-color:#212122;width:fit-content;border-bottom-right-radius:100px;margin-top:47px;margin-bottom:16px;padding:4px 48px 4px 8px;line-height:1.7;font-size:30px;transition:all .3s ease-out}.markdown-body h2:hover{border-bottom-right-radius:50px;transition:all .3s ease-out}.markdown-body h3{font-size:24px;padding-left:8px;margin-top:32px;border-bottom:2px solid #c6c4c4;line-height:1.7}.markdown-body h4{font-size:20px;padding-left:8px;margin-top:32px;border-bottom:1px solid #ddd}.markdown-body h5{font-size:16px;margin-top:24px}.markdown-body h6{margin-top:16px;line-height:1.1}.markdown-body p{font-size:16px;text-align:start;white-space:normal;text-size-adjust:auto;line-height:2;margin-top:16px;margin-bottom:16px}.markdown-body img{max-width:100%;margin:auto;padding-left:8px;padding-right:8px}.markdown-body hr{border:none;border-top:4px double #212122;margin-top:32px;margin-bottom:32px;text-align:center}.markdown-body hr:after{content:\"♥\";display:inline-block;position:relative;top:-15px;padding:0 10px;color:#212122;font-size:18px}.markdown-body code{word-break:break-word;overflow-x:auto;background-color:#f1f1f1;color:#ef7060;font-size:14px;padding:.065em 6px}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace;border-radius:2px}.markdown-body pre{overflow:auto;position:relative;line-height:1.7;box-shadow:0 0 8px hsla(0,0%,43.1%,.45);margin:32px 16px}.markdown-body pre:before{content:\"\";display:block;height:30px;width:100%;background:url(data:image/png;base64,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) 10px 10px no-repeat;background-color:#212122;box-shadow:0 0 8px hsla(0,0%,43.1%,.45);background-size:40px}.markdown-body pre>code{font-size:14px;padding:16px 8px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#fff;background:#272822}.markdown-body pre>code::-webkit-scrollbar{height:10px;background-color:#f5f5f5}.markdown-body pre>code::-webkit-scrollbar-track{box-shadow:inset 0 0 6px rgba(0,0,0,.3);border-radius:3px;background-color:#f5f5f5}.markdown-body pre>code::-webkit-scrollbar-thumb{border-radius:3px;box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#555}.markdown-body a{color:#ef7060;padding:2px;text-decoration:none;border-bottom:.125em solid #ef7060;border-radius:2px;box-shadow:inset 0 -.025em 0 #ef7060;transition:box-shadow .27s cubic-bezier(.77,0,.175,1),color .27s cubic-bezier(.77,0,.175,1)}.markdown-body a:focus,.markdown-body a:hover{outline:none;box-shadow:inset 0 -1.5em 0 #ef7060;color:#fff}.markdown-body a:before{content:\"⇲ \";vertical-align:top;margin-left:2px;font-family:dart!important;font-size:12px;color:inherit;opacity:.7}.markdown-body table{background:#fbfbfb;border-radius:4px;border-collapse:collapse;margin:auto;padding:5px;width:95%;box-shadow:0 5px 10px rgba(0,0,0,.1);animation:float 5s infinite}.markdown-body table th{color:#fff;background:#212122;border-bottom:1px solid #9ea7af;border-right:1px solid #343a45;font-size:18px;padding:16px;text-align:left;vertical-align:middle}.markdown-body table th:first-child{border-top-left-radius:4px}.markdown-body table th:last-child{border-top-right-radius:4px;border-right:none}.markdown-body table tr{border-top:1px solid #c1c3d1;border-bottom:1px solid #c1c3d1;color:#666b85}.markdown-body table tr:hover td{background:#212122;color:#fff;border-top:1px solid #22262e}.markdown-body table tr:first-child{border-top:none}.markdown-body table tr:last-child{border-bottom:none}.markdown-body table tr:nth-child(odd) td{background:#f1f1f1}.markdown-body table tr:nth-child(odd):hover td{background:#212122}.markdown-body table tr:last-child td:first-child{border-bottom-left-radius:4px}.markdown-body table tr:last-child td:last-child{border-bottom-right-radius:4px}.markdown-body table td{background:#fbfbfb;padding:16px;text-align:left;vertical-align:middle;font-size:16px;border-right:1px solid #c1c3d1}.markdown-body table td:last-child{border-right:0}.markdown-body blockquote{color:#777;padding:1px 16px;margin:24px 0;border-left:4px solid #c6c4c4;background-color:#f1f1f1;transition:all .3s ease-out;border-radius:4px}.markdown-body blockquote:hover{border-left-color:#212122;background-color:#212122;color:#fff}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:24px}.markdown-body ol li,.markdown-body ul li{margin-bottom:6px;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body span.math{margin-left:32px;font-size:18px;font-weight:700}@media (max-width:720px){.markdown-body h1{font-size:30.4px}.markdown-body h2{font-size:24px}.markdown-body h3{font-size:19.2px}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:12.8px}}",
  687. "highlight": "monokai"
  688. },
  689. "awesome-green": {
  690. "style": "@charset \"UTF-8\";.markdown-body{position:relative;word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;color:#282d36}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1{font-size:30px;margin-bottom:5px;color:#2f845e}.markdown-body h2{font-size:22px;display:inline-block;font-weight:700;background:#2f845e;color:#fff;padding:6px 8px 0 0;border-top-right-radius:6px;margin-right:2px;box-shadow:6px 3px 0 0 rgba(47,132,194,.2)}.markdown-body h2:before{content:\" \";display:inline-block;width:8px}.markdown-body h2:after{content:\" \";position:absolute;display:block;width:calc(100% - 32px);border-bottom:3px solid #2f845e}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:15px}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%;box-shadow:6px 6px 6px #888}.markdown-body hr{border:none;border-top:1px solid rgba(66,185,131,.15);margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#f6ffed;color:#52c41a;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{position:relative;line-height:1.75}.markdown-body pre>code{font-size:12px;padding:16px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#262626;border:1px solid #2f845e;border-top:8px solid #2f845e;background:linear-gradient(180deg,rgba(66,185,131,.1),transparent)!important}.markdown-body pre>code.hljs[lang]:before{top:8px!important;color:#2f845e!important}.markdown-body pre>code.language-awesome_error{border:1px solid #ff4d4f!important;border-left-width:8px;font-size:14px;font-weight:700;padding:15px 12px 15px 16px;margin:0;word-break:normal;white-space:break-spaces;display:block;overflow-x:auto;color:#ff4d4f!important;background:#fff2f0!important}.markdown-body pre>code.language-awesome_error:before{content:\"!\"!important;position:absolute!important;top:50%!important;left:-9px!important;transform:translateY(-14px)!important;background:#ff4d4f!important;color:#fff!important;border:2px solid #fff!important;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:100%;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:16px}.markdown-body pre>code.language-awesome_warn{border:1px solid #ffc46f!important;border-left-width:8px;font-size:14px;font-weight:700;padding:15px 12px 15px 16px;margin:0;word-break:normal;white-space:break-spaces;display:block;overflow-x:auto;color:#ffc46f!important;background:#fffbe6!important}.markdown-body pre>code.language-awesome_warn:before{content:\"☂\"!important;position:absolute;top:50%!important;left:-9px!important;transform:translateY(-14px)!important;background:#ffc46f!important;color:#fff!important;border:2px solid #fff!important;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:100%;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:16px}.markdown-body pre>code.language-awesome_success{border:1px solid #52c41a!important;border-left-width:8px;font-size:14px;font-weight:700;padding:15px 12px 15px 16px;margin:0;word-break:normal;white-space:break-spaces;display:block;overflow-x:auto;color:#52c41a!important;background:#f6ffed!important}.markdown-body pre>code.language-awesome_success:before{content:\"✓\"!important;position:absolute!important;top:50%!important;left:-9px!important;transform:translateY(-14px)!important;background:#52c41a!important;color:#fff!important;border:2px solid #fff!important;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:100%;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:16px}.markdown-body pre>code.language-awesome_info{border:1px solid #1890ff!important;border-left-width:8px;font-size:14px;font-weight:700;padding:15px 12px 15px 16px;margin:0;word-break:normal;white-space:break-spaces;display:block;overflow-x:auto;color:#1890ff!important;background:#e6f7ff!important}.markdown-body pre>code.language-awesome_info:before{content:\"i\"!important;position:absolute!important;top:50%!important;left:-9px!important;transform:translateY(-14px)!important;background:#1890ff!important;color:#fff!important;border:2px solid #fff!important;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:100%;font-weight:700;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:16px}.markdown-body strong{background-color:inherit;color:#2f845e}.markdown-body em{background-color:inherit;color:#949415}.markdown-body a{text-decoration:none;color:#2f8e54;border-bottom:1px solid #3f9e64}.markdown-body a:active,.markdown-body a:hover{color:#3f9e64}.markdown-body a[class^=footnote]{margin-left:4px}.markdown-body a:before{content:\"➤ \"}.markdown-body table{font-size:12px;width:100%;max-width:100%;overflow:auto;border:2px solid #2f8e54}.markdown-body thead{background:#2f8e54;color:#fff;text-align:left;font-weight:700}.markdown-body tr:nth-child(2n){background-color:rgba(153,255,188,.1)}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:22px}.markdown-body td{min-width:120px}.markdown-body blockquote{padding:1px 22px;margin:22px 0;border-left:6px solid #2f845e;background-color:rgba(66,185,131,.1);border-radius:2px}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li::marker,.markdown-body ul li::marker{color:#2f845e}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px;color:#282d36}.markdown-body del{color:#2f845e}.markdown-body input[type=checkbox]:checked:before{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA/klEQVQ4T72TMU7DQBBF318XdFR06egQEnAXRINEGlqgowoIR8AF4AZOZ4JEGq5AC5EixBU4A55BNrEVHAcSBTHlaubt37/zxZKlcn7n6mDPXJvz8IJ89HzWu8t7C8D2dfsY52ae4apHnLx0ktsCsHXZjiUuFgG40x2eJ/H/AhztB+zDUTpLwWj8jGkzxSHiHaMPrDQC8sMoilKzLAUqiKQjmb+ZuAdW80tmelCHODoNgSfP7AFprTTaRTzsJN1GEyuIZ7uW6TEEHwCtyV/6EVBKJHhfzgC0Xv/iXwEFBF4FG0378bd7sPQq5xK/hSnk6sdlX3mZrKkwLZKBeu8n9XuWEUE7X+YAAAAASUVORK5CYII=);position:relative;top:-1px;left:-1px}.markdown-body .math .katex{font-family:Menlo,Monaco,Consolas,Courier New,monospace;word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#f6ffed;color:#52c41a;font-size:.87em;padding:.065em .4em}@media (max-width:720px){.markdown-body h1{font-size:22px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  691. },
  692. "qklhk-chocolate": {
  693. "style": "@charset \"UTF-8\";.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body{overflow:hidden;line-height:1.75;font-size:15px;background-image:linear-gradient(90deg,rgba(72,42,10,.05) 5%,rgba(72,42,10,0) 0),linear-gradient(1turn,rgba(72,42,10,.05) 5%,rgba(72,42,10,0) 0);background-size:20px 20px;background-position:50%;padding-top:0!important}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-bottom:10px;padding-bottom:5px}.markdown-body h1{position:relative;display:flex;border-bottom:5px solid #6d4e00;line-height:35px;letter-spacing:1px;font-size:25px;padding-left:25px;color:#664900;text-shadow:1px 1px 1px #8a6200;padding-bottom:0}.markdown-body h1:before{content:\"\";display:flex;position:absolute;left:0;top:3px;bottom:0;margin:auto;width:20px;height:20px;background-size:20px 20px;background-image:url(\"data:image/png;base64,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\")}.markdown-body h2{position:relative;padding:0 0 0 20px;font-size:20px;font-weight:700;color:#614500}.markdown-body h2:before{content:\"\";position:absolute;top:3px;bottom:0;left:0;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAQlBMVEVHcEwlRnqtZBj76q4lRnolRnolRnolRnolRnokRnr/gGtrVUeLXDBKTl+hYSHasW7Ik0zs0JG4dCvUdEE0SW+rYxrLQJfjAAAACnRSTlMA////0H/xUaMi5MCoTwAACfVJREFUeNrtnQl3qygUgJ9GXAqosfL//+pgmgXwXmRNJGdu55xO+6rx8+6I8O9fehmGriN93zdN07bVXdpW/ih/SbpuGP6dXbpOXv7z2i3S9ISck2eQOnAhMHG64VQQbmrAaM4B05GmipaGdB+m6BNQPBXzMYtKR3EPbB/RS5eY4g+lIW9WBqnySCvVMrzRpqqs0g9nwVg5p1KYlHEchRT5bftp+y3n6xlQDjAkABtrKULU9f377ev+4/1/NiT+URRiZRhrcZP6WLa/Gq005BORaqXsdYEuHPIP798ZxSyt6d5sVfxJESRCsvB32lfXwhRjnUBGmKXNoJQe04VIASJqRC/9G7yDsyQMiloYz+0pHYghEoPISAGgpDSvHsCoMwmA0mfjSG5UOsqah2RodkljzMkhZZdamiEDB8+Nsbk9T04yGNljDXGOZZ6u0+Tj9DuvbyNJBuPO0ABtLNPlJtfZJ4CNNCWJoY8gddwxNpm9YrHh9DEkBoeMud4Kma8XRZaYpBJOYvg59U9wOsblMvmGrzQe30dyqFZ1dxPfO0FT5BOdw989THVs4q1TFk+iN4PMu7CaLpd4EJOExNaJLE4d0xQKYpJ0cY5Ozcwwu6WOu2cs9TUYxPB4b4fvLRzTUXbT1HH7y0BnB0j6CAehkPFfFzd1TMsi6sU1/P4VM9NiISHBlYnBMR+kad075sXlmMehj1twnfTUqJH4GJfqIKte7S72emPnHbdiYHIB0e6ATjKq1UoTaFh6wBL2csMIVo9fH/v6QRHAgoxrOHQQxG/36tC1ODmGOeBGBRmXalgcdhDQ1xF1vI6a3DF2d4r7G1enOUgNOshlFq7qUCxrca9ldiCam7ilxRbP6JbOYsYtfLFmkcXEgLG1DN/6eroxHjqh5bh+Uw27e1oWVK7pN+AqwzUcq/UYTPw8nWufLFBHN2zcxLRYlmGPs6rA2Wy0uJe/E7TknbHIa1WH1bLA8DAj3JpxET+FCNCWZ5uNT6jxTPZK/1mXoCBeKlGLRT2lP69XN3XdqqCojKX1ZVda6iD2McjeXSHa0I+AHd2InGAJgjRVM6gOBfygDrarRJnho6eQBbrns+HkcNUCWtYClJa66qFgPbqqZEBTCOAgRqxCOhQBWpZeIC6QBq91hEoI5unTjsMsK9DCFigY9WNn19hgVCrELalrTw6WnYMYzjHhQ2/7G2xTx1HvwpzSe4cVi5ORQQwMW9+72FU5L4gGsa6Yu1RcDeIhs64Qs8izt0vGH+n9/IKaIlYpM2UqkYOrwwq5CgBjWpyGtxaonxe4KaJ3hx+7O0HaqVkxLBPj8FmBVmjNevIUFhUuDmMq5NDV9RwyPe/95IvxAhG7ymqxHGE5sZJL2kPLUhUinkXfrnFwGFwXD99djNLSFh/meXEb2B6Oyiwm0I7BC+OlTlOVPk9K8CIYzu5YHwKDTI6XAo5lz3WEqEXwQRKhh5cyLa6D81P4PXBw984as9YaGXHwx4Ba8rmOldUat/BHt9cQ38AaljnBdCJqs60OcXVDJZP//ZwSWtV9FpHNtgg22KuYx/U2tB5Mcp1TYOiphNhiFjgWeJ3DL2OZpuuUisIoUyzZEJ76I+LmyqWdv8LwnEiwMYczihjxeqtBsuFJSTg2oD1ETQx4v6D1VleSZW1xCwvAfVGWpQ069kgrQksAUW2rReYzsboIjSABuDQX0QJwB9cnZVgWVgE31vrklAJnEmVObykgYCk/VGX5OlpuKb5eiovUAvJ2tMstw0kIkNdpiSA91K6XA6K8CVCyr4PePhTo65q3DyX7OpTbSVk1PB62mhJ9HSpSqtKaESxsFRm0tLBVcvTV+vbBrLRK4hC7aitN9B0ZpX6vNMgjGIt5ZdmMv32KrmprD1afsPd4FEhThK0+WfTl3kpd482AGvG3jQdZK1+t8ireDswhofigRb3fxfI/4jj+xkffUX/1ccxxhEP9qyyBEH9Cx9vhf8TB7eiSpBHjZVSa4whQMJC1TqIR6q8RERtjOr2ID0yx3oYi0oAIvZCPz4eG64p3ObuREeOHUIR3MBVJwq9yll5P7KHdiPBOiOoRa/AjXz21J3k04l+i8OjErj4kaXWQiIVO/EvA+KLRAEnUVomtjPd6SvR3RLoeMT54nKFH1EqtkkEGFaQuTlSQrsxhRiOIt51S/Ho8B11+FUlwRaHnU4utEI38/mgSjRJ8PhWEtN6Z6WcncQOU4efjKoh3zfi7/+DfhPrwOZ9a/iYBiVJJxPlei3CqIDTYEqAPFow5/c71fAdVIwmo4n+cTIGbr2n9NULAE5ifcNNS63hvEOFk0wxYnICBBZ0I9xERBVILF0uggNdxuOkR4S6ngvgPmArzHv4KpMKGQFjQ+Rw6q9dC6R6dgZaJF7RVWIH0BTY9h+fz0ohHOyLuy+He/hN4GUR3/RxcBx2f76izarI9CaXmzRmhNQuSfIgJkva5GzN6HJbhQxCNsDGDSh56plmef6sg2eaXPsYBt5W+H6VE6omG6hOS1w4hiTWiThbJ1YO+RSO1vrpMlomf6nhQGz0m7qT6W04XOUHyzhZ4rkG+0hxL66oDW9mnPWyL3TMmssxyQUwr01CHX7b2OvUIaqS48TnMtAoEQTQixJeAlDfSiGmk/l8jpwIpTyFqOfeNIHWBooC036ERtUQp2tm/CKT5jjySbxTlvUVj2yhjvyWDVL3yfKRojXwLSEWUp7q0PBAKPp7m5YGoT3WH7wAZ1BeOywNZv3Gak/LIqriwxbQ5jaTcsEW1eb+FvoWo+zr5V/IUOvNtsapU2zJXSyj0xVB13sPfq0kkZA7dubIIKXIlJ8Cy7u+BN22RVcr+peOuxHdcBbA04FAVmEoEtO5vX55K4KVZS1QJvBBzU1rgUl8JapBNYIowLoZtD9NWRTWKqqe36L48BSz8QPH9epqqIDehlh2UuqocEmrdV7AvhuRoM74m80yeDIEX3ppreNN235FxV58DNjhswn5K8zK21+5ctjut6NmUIoy9tVvitnHr2VDM3ahtW8KQ/Vbsp9GGiWHfk8skyTSFz9/HdxhHe4uR/RxX/mG1SGXwypcDJNmCMfucZ/C1CuCQUbiBUDYbe7tiRkZX8GIat50d+wqR1fdN7ygGzrHrcN4kGFHK02cil5M6INgQVsvnNz77T5PqUFYJJInYmIBplJfP5On4eiOwYfhuCD44oLyYVs43rI1rk3H7usttzq8Qo3j84vavN9mOkAeuq8dHEd9NtCVKX51Oen+MM6IEYvz5StOehKLpIjD+nKU5AQWJpLizdB+1sb5LQvFRxbSJVGHmSdK/0WWaPguEYmcSJ68aWkK6rAw6jwSSCmrTWVHT96R7HwHANEgqybVJL+E2vE2q7Uu91Gr73SbbNUvZDtiOlCeIv4r/AI+0XUwz1lvcAAAAAElFTkSuQmCC\");background-size:100% 100%;background-repeat:no-repeat;width:15px;height:15px;margin:auto}.markdown-body h3{width:100%;text-align:left;margin:20px 10px 0 0;font-size:18px;font-weight:700;display:inline-block;padding-left:10px;padding-bottom:0;border-left:5px solid #8f6600;color:#614500}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:700;color:#a37400}.markdown-body h4{font-size:17px}.markdown-body h5,.markdown-body h6{display:flex;align-items:center}.markdown-body h5:after,.markdown-body h6:after{display:inline-block;border:2px solid #fff6e0;color:rgba(189,134,0,.5);border-radius:50%;text-align:center;margin-left:5px}.markdown-body h5{font-size:14px}.markdown-body h5:after{content:\"5\";width:15px;height:15px;line-height:15px;font-size:13px}.markdown-body h6{font-size:12px}.markdown-body h6:after{content:\"6\";width:13px;height:13px;line-height:13px;font-size:12px}.markdown-body p{color:#412c0c;letter-spacing:1px;font-weight:400;margin-bottom:16px}.markdown-body img{max-width:100%;display:block;margin:auto}.markdown-body hr{border:none;border-top:1px solid #ddd;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{color:#755300;font-weight:400;border-bottom:1px solid #755300;font-weight:bolder;text-decoration:none}.markdown-body table{width:100%!important;margin:0;font-size:12px;width:auto;max-width:100%;overflow:auto;border-collapse:collapse;border-spacing:0}.markdown-body table img{box-shadow:none}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body thead tr th{text-align:center}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px;box-sizing:border-box;border:1px solid rgba(72,42,10,.1)}.markdown-body blockquote{position:relative;text-size-adjust:100%;line-height:25px;font-weight:400;border-radius:10px;font-style:normal;text-align:left;box-sizing:inherit;border:1px solid #ffd87a;background-color:rgba(189,134,0,.5);margin:20px 0;padding:20px}.markdown-body blockquote p{color:#fff6e0;letter-spacing:2px;margin:0}.markdown-body blockquote:after,.markdown-body blockquote:before{position:absolute;color:#cc9100;font-size:34px;font-weight:700}.markdown-body blockquote:before{content:\"❝\";top:8px;left:5px}.markdown-body blockquote:after{content:\"❞\";right:5px;bottom:-5px}.markdown-body strong{color:#c28a00;font-weight:bolder}.markdown-body strong:before{content:\"「\"}.markdown-body strong:after{content:\"」\"}.markdown-body em{color:#c28a00}.markdown-body em strong{font-style:normal;color:#c28a00;background-color:#8a6200}.markdown-body s{color:#c28a00}.markdown-body hr{border-top:1px solid #805b00}.markdown-body code,.markdown-body li code,.markdown-body p code{color:#996d00;background-color:rgba(130,98,0,.3)}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit;color:#858585;font-family:bold;letter-spacing:1px}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body h1::selection,.markdown-body h2::selection,.markdown-body h3::selection,.markdown-body h4::selection,.markdown-body h5::selection,.markdown-body h6::selection,.markdown-body img::selection{color:rgba(189,134,0,.5);background-color:#fff}.markdown-body a::selection,.markdown-body b::selection,.markdown-body del::selection,.markdown-body em::selection,.markdown-body i::selection,.markdown-body strong::selection{background-color:transparent}.markdown-body pre>code::selection{background-color:rgba(189,134,0,.5)}.markdown-body .math .math-inline::selection,.markdown-body blockquote::selection,.markdown-body ol::selection,.markdown-body p::selection,.markdown-body strong::selection,.markdown-body table::selection,.markdown-body ul::selection{background-color:rgba(189,134,0,.5)}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  694. },
  695. "orange": {
  696. "style": ".markdown-body{position:relative;word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1{font-size:30px;margin-bottom:5px}.markdown-body h2{font-size:24px;display:inline-block;font-weight:700;background:#ef7060;color:#fff;padding:6px 8px 0 0;border-top-right-radius:6px;margin-right:2px;box-shadow:6px 3px 0 0 rgba(239,112,96,.2)}.markdown-body h2:before{content:\" \";display:inline-block;width:8px}.markdown-body h2:after{content:\" \";position:absolute;display:block;width:calc(100% - 50px);border-bottom:3px solid #ef7060}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:15px}.markdown-body h6{margin-top:5px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #3e3e3e;margin-top:32px;margin-bottom:32px;height:1px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:rgba(27,31,35,.05);color:#ff502c;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:JetBranins Mono,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;box-shadow:0 0 8px hsla(0,0%,43.1%,.45);border-radius:4px;margin:16px}.markdown-body pre:before{content:\"\";display:block;height:30px;width:100%;margin-bottom:-7px;background:url(data:image/png;base64,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) 10px 10px no-repeat;background-size:40px;background-color:#fdfdfd}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#fdfdfd}.markdown-body a{text-decoration:none;font-weight:700;color:#ef7060;border-bottom:1px solid #ef7060}.markdown-body a:active,.markdown-body a:hover{color:#ef2d26}.markdown-body table tr td,.markdown-body table tr th{border:1px solid #ccc;padding:5px 10px}.markdown-body table{display:block!important;width:auto;max-width:100%;overflow:auto;border-collapse:collapse}.markdown-body thead{background:#f0f0f0;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#f8f8f8}.markdown-body blockquote{margin-inline-start:0;margin-inline-end:0;border-left:3px solid #ef7060;background:#fff9f9;padding:1px 20px;margin-top:20px}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  697. "highlight": "atom-one-light"
  698. },
  699. "scrolls-light": {
  700. "style": ".markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin:30px 0 10px;color:#cca152;position:relative;padding-left:50px;border-bottom:2px solid rgba(209,163,78,.6);padding-bottom:0}.markdown-body h1{font-size:30px}.markdown-body h1:before{content:\"\";width:50px;height:42px;display:block;position:absolute;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAhBAMAAACo1K8bAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFZaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkzCJ1kAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAnUExURUdwTMyhUsqkUMyhUsyiUcyhUsyhUsyhUcyhUsyhUs2hUtytWNWoVX44si8AAAAKdFJOUwD8Bfcge95QncCWSSDAAAABh0lEQVQoz2WSPUvDQBjHjyPSOB7drh2OUOs36NA6pKAFwaEo4tDFIUWxGYLgKw4BEYUuHaQg7XJ0kccsUmrT2qUUQZp8KO/y1hSfIYEf/5eHu0MoGU1+sIbSw5Bypd92S+dWWrd34b15vuOPY4QxuvtYZp0lIVk3Zgjt+5zkh12AvBHnbW85BOjXySPwhc5CYcY0OdDh5dEUqIEj4cN8Dty3a1MqYJS4MaWU5wzVLwMMxqGSNQgA/VFa4gf50yhxSUW+db8ACa2gBxfnABVDFYHCPYrc7TLwCepJM8/ZoVsRwpxdHEozHUXd6idwVzFFM5BFmIhQVQjrNdnCvdd48wblI2VHtsAZioSsTYVwLoXvjMXH1icuNgPhQE+Ot1+xi8HeA3d1Df1f1JPVUOmsYLujBjuSySqSXYt+yTwbJ0pcyIhqTrxkn0BazRLizJosxRBued+z0jPD6VewOXl5utHRGmMNK3k0iTkzxpq2/oIQO6gLprF12kT/R20eyzlcg7iwK0dPsz/ibpdsCHweWwAAAABJRU5ErkJggg==) 0 0 no-repeat;background-size:80%;bottom:-10px;left:-2px}.markdown-body h2{font-size:24px}.markdown-body h2:before{content:\"\";width:50px;height:42px;display:block;position:absolute;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAhBAMAAACo1K8bAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFZaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkzCJ1kAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAnUExURUdwTMyhUsqkUMyhUsyiUcyhUsyhUsyhUcyhUsyhUs2hUtytWNWoVX44si8AAAAKdFJOUwD8Bfcge95QncCWSSDAAAABh0lEQVQoz2WSPUvDQBjHjyPSOB7drh2OUOs36NA6pKAFwaEo4tDFIUWxGYLgKw4BEYUuHaQg7XJ0kccsUmrT2qUUQZp8KO/y1hSfIYEf/5eHu0MoGU1+sIbSw5Bypd92S+dWWrd34b15vuOPY4QxuvtYZp0lIVk3Zgjt+5zkh12AvBHnbW85BOjXySPwhc5CYcY0OdDh5dEUqIEj4cN8Dty3a1MqYJS4MaWU5wzVLwMMxqGSNQgA/VFa4gf50yhxSUW+db8ACa2gBxfnABVDFYHCPYrc7TLwCepJM8/ZoVsRwpxdHEozHUXd6idwVzFFM5BFmIhQVQjrNdnCvdd48wblI2VHtsAZioSsTYVwLoXvjMXH1icuNgPhQE+Ot1+xi8HeA3d1Df1f1JPVUOmsYLujBjuSySqSXYt+yTwbJ0pcyIhqTrxkn0BazRLizJosxRBued+z0jPD6VewOXl5utHRGmMNK3k0iTkzxpq2/oIQO6gLprF12kT/R20eyzlcg7iwK0dPsz/ibpdsCHweWwAAAABJRU5ErkJggg==) 0 0 no-repeat;background-size:70%;bottom:-15px;left:-1px}.markdown-body h3{font-size:18px}.markdown-body h3:before{content:\"\";width:50px;height:42px;display:block;position:absolute;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAhBAMAAACo1K8bAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFZaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkzCJ1kAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAnUExURUdwTMyhUsqkUMyhUsyiUcyhUsyhUsyhUcyhUsyhUs2hUtytWNWoVX44si8AAAAKdFJOUwD8Bfcge95QncCWSSDAAAABh0lEQVQoz2WSPUvDQBjHjyPSOB7drh2OUOs36NA6pKAFwaEo4tDFIUWxGYLgKw4BEYUuHaQg7XJ0kccsUmrT2qUUQZp8KO/y1hSfIYEf/5eHu0MoGU1+sIbSw5Bypd92S+dWWrd34b15vuOPY4QxuvtYZp0lIVk3Zgjt+5zkh12AvBHnbW85BOjXySPwhc5CYcY0OdDh5dEUqIEj4cN8Dty3a1MqYJS4MaWU5wzVLwMMxqGSNQgA/VFa4gf50yhxSUW+db8ACa2gBxfnABVDFYHCPYrc7TLwCepJM8/ZoVsRwpxdHEozHUXd6idwVzFFM5BFmIhQVQjrNdnCvdd48wblI2VHtsAZioSsTYVwLoXvjMXH1icuNgPhQE+Ot1+xi8HeA3d1Df1f1JPVUOmsYLujBjuSySqSXYt+yTwbJ0pcyIhqTrxkn0BazRLizJosxRBued+z0jPD6VewOXl5utHRGmMNK3k0iTkzxpq2/oIQO6gLprF12kT/R20eyzlcg7iwK0dPsz/ibpdsCHweWwAAAABJRU5ErkJggg==) 0 0 no-repeat;background-size:60%;bottom:-19px;left:-2px}.markdown-body h4{font-size:16px;padding-left:0;border-bottom:1px solid rgba(209,163,78,.6)}.markdown-body h5{font-size:15px;padding-left:0}.markdown-body em{color:#cca152}.markdown-body del{text-decoration-color:#cca152;text-decoration-thickness:2px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:80%;margin:6px auto;box-shadow:0 6px 15px #8e8e8e;display:block;margin:20px auto!important;object-fit:contain;border-radius:8px}.markdown-body hr{border:none;border-top:2px solid #e0c9a1;margin-top:32px 0}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background:#f6efde;color:#b69454;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Mono,Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;background:#fef6e1;border-radius:4px;box-shadow:0 0 8px hsla(0,0%,47%,.45)}.markdown-body pre:before{content:\"\";display:block;height:30px;width:100%;margin-bottom:-7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAOCAMAAABaWb9VAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAFZaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CkzCJ1kAAAAJcEhZcwAADsQAAA7EAZUrDhsAAACHUExURUdwTMxCKdc8NvdYT/9hVyLJPABBAGubKNiIOv+/K+ytJBakH9aZG+5QR5VZDOBDPhmtJ8+VGuGjH/CwJR26MR6+NBq0LPW1KBmwKetNRfJUTONHP92fHuSmIeFEPhu3LR29M/BTS+mqIuqsI5qdHyLKPP++Kv9gVf9lW//KLSXXQCTQP//FLMVm5KQAAAAldFJOUwAlPPz7+woBBPu8Mzu+FlRRKmvnweeG+Wqg6mVNXmuc1OCbmjZJWF/9AAABKklEQVQoz3WS6XaCMBCFRzAM++KGsqhtDwES3//5OtmA2uP9A9zwzRoAgBC0QgQrdA68OZsDr229YGHoIEj7Pl0ZOgjKa5lYJ4Rd1vijn3nuD4Qurjmv48o6RFyfbGDnS6DeEXZfk5ZfuBhdPb9I87ECNMh1EFJKIU6agWzaa01NbmLkxznSmmObJBkkUxrERf3i+ftRiZi7ShPCYY64UhTx1AR5CDYoMXkOKEY7GmTcTzeD/FiER68DfSLgSRqEIBoB3P8h3x8RZhBXGJGusJdD6rfCBl0YqvZNkrV9zej2cWlfJWG6fRpyM41qYH+GTPPi2yFLQYC0Qybm5o96lW77kMbcrBKtgeWTsthVamNXFF4I6x0DTPuugsVRFyYpyxzWqNvHJwed8ws7QyP1UwjNjwAAAABJRU5ErkJggg==) 10px 10px no-repeat;background-size:40px}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#fef6e1}.markdown-body a{text-decoration:none;color:#d8ac5a;border-bottom:1px solid #d8ac5a}.markdown-body a:active,.markdown-body a:hover{color:#93753f;border-color:#93753f}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #f4e8c7;border-collapse:collapse}.markdown-body thead{background:rgba(255,227,176,.6588235294);text-align:left;display:table-header-group;border-bottom:1px solid rgba(255,227,176,.6588235294)}.markdown-body tbody{background:rgba(255,247,229,.3882352941)}.markdown-body td,.markdown-body th{padding:7px;line-height:24px;min-width:100px}.markdown-body blockquote{color:#bd954f;padding:1px 23px;margin:22px 0;border-left:4px solid #dcb267;background-color:#fff7e5}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol .task-list-item,.markdown-body ul .task-list-item{list-style:none}.markdown-body ol li{padding-left:6px}.markdown-body::marker{color:#dcb267}.markdown-body .contains-task-list{padding-left:0}.markdown-body .contains-task-list .task-list-item{list-style:none;position:relative}.markdown-body .contains-task-list .task-list-item input[type=checkbox]{position:relative;top:2px}.markdown-body .contains-task-list .task-list-item input[type=checkbox]:before{content:\"\";display:inline-block;height:12px;width:12px;position:absolute;left:-2px;top:-2px;border:2px solid #cda152;border-radius:5px}.markdown-body .contains-task-list .task-list-item input[type=checkbox]:checked{position:relative;top:2px}.markdown-body .contains-task-list .task-list-item input[type=checkbox]:checked:before{border:none;content:\"\";display:inline-block;height:17px;width:17px;position:absolute;left:-2px;top:-2px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAAXNSR0IArs4c6QAAAYhJREFUOBFjYACC0/MDGsDEiyvr/zOCeUwMJxn/A8HZRUEMYBFGJsZ6kFoQYALiAyAGCgDpA+sFijKeWRj4H1kWpIWBW1SDQcm+BCzOAiK/vr7BcO/gDbAAI4hE1waWgRBnmWCGIwkyKFjnwow0BhsJk9QLncvw5dV1oPE9MCEGmBWrgCKhcFEowyR+PSNYwemFAZ4M/xjMkRWYJm5oAPFB/joDpI1BHHQANgGPDxj+//vfCA4IdJ3GcevgQnAFhlHLwYIgSVA0wABcwY3tFQzokiBFGIEP0wmigW5wZAK5FFkQib0a6NUDcEmgb7AGFpIGZOZqoMFhIAFQknEAJpn9yLLEssFOBCp2IFaDkl0xg6C8FbJyB3gowUS5RdQYBORQYpVB1iwVHIIMwJh///AYTCmYRklNIBFmNi4GeYt0BhnjeIa3dw8wSBlEgDUhxw2yCRgGfHp2geHiqiSwUwUVrFAiFVkjjA1LrjgTHEwhFvosMCZM4NEIUoAtWWNoBGZ70/gN22HiAD2uhAzsYNBZAAAAAElFTkSuQmCC) 0 0 no-repeat;background-size:100%}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  701. },
  702. "simplicity-green": {
  703. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.6em;font-weight:400;font-size:15px;overflow-x:hidden;color:#303133;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.6em;margin:1.3em 0}.markdown-body h1{font-size:30px;margin-top:50px;margin-bottom:10px}.markdown-body h2{margin-top:45px;margin-bottom:10px;font-size:26px}.markdown-body h3{margin-top:40px;margin-bottom:10px;font-size:22px}.markdown-body h4{font-size:18px}.markdown-body h5{font-size:16px}.markdown-body h6{font-size:15px;margin-top:5px}.markdown-body p{line-height:inherit;margin-top:1.6em;margin-bottom:1.6em}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #ddd;margin-top:32px;margin-bottom:32px}.markdown-body code{font-family:Menlo,Monaco,Consolas,Courier New,monospace;word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;color:#e96900;font-size:.87em;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-body .markdown-section>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code{font-size:.8rem;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace;overflow:auto;position:relative;line-height:1.75;border-radius:4px}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{text-decoration:none;color:#42b983;line-height:1.2em}.markdown-body a:active,.markdown-body a:hover{color:rgba(66,185,131,.85);border-bottom:1px solid rgba(66,185,131,.6)}.markdown-body table{display:inline-block!important;font-size:12px;max-width:100%;overflow:auto;border:1px solid #f6f6f6;border-collapse:collapse}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fafafa}.markdown-body td,.markdown-body th{padding:12px 6px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:rgba(52,73,94,.95);padding:1px 23px;margin:22px 0;border-left:4px solid #42b983;background-color:rgba(66,185,131,.1)}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  704. },
  705. "arknights": {
  706. "style": ".markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333;position:relative;background-image:linear-gradient(90deg,rgba(217,234,251,.25) 3%,transparent 0),linear-gradient(1turn,rgba(217,234,251,.25) 3%,transparent 0);background-size:20px 20px;background-position:50%}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;padding-left:8px;padding-bottom:0;margin-top:35px;margin-bottom:10px;font-weight:900;font-family:serif;letter-spacing:1px;color:#000}.markdown-body h1:hover,.markdown-body h2:hover,.markdown-body h3:hover,.markdown-body h4:hover,.markdown-body h5:hover,.markdown-body h6:hover{background-color:#fff}.markdown-body h1{font-size:30px;margin-bottom:5px}.markdown-body h2{font-size:24px;position:relative}.markdown-body h2:after{content:\"\";left:0;bottom:0;width:100%;height:1px;position:absolute}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:15px}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{height:1px;border:none;margin-top:32px;margin-bottom:32px;background-size:4px 1px;background-image:linear-gradient(270deg,#37b2ff 0,#37b2ff 25%,transparent 50%)}.markdown-body code{margin:0 4px;word-break:break-word;overflow-x:auto;background-color:#fff7f7;color:#f06;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:-apple-system,system-ui,Menlo,Monaco,Consolas,Courier New;position:relative}.markdown-body pre{margin:15px 8px;border:1px solid #f5f5f7;line-height:1.75}.markdown-body pre:before{top:-4px;left:-4px;border-top:8px solid #feea1e;border-left:8px solid #feea1e}.markdown-body pre:after,.markdown-body pre:before{width:20px;height:20px;content:\"\";z-index:10;position:absolute}.markdown-body pre:after{right:-4px;bottom:-4px;border-right:8px solid #37b2ff;border-bottom:8px solid #37b2ff}.markdown-body pre>code{font-size:12px;padding:15px 12px;overflow-x:auto;margin:0;word-break:normal;display:block;color:#333;background-color:#fff;position:unset!important}.markdown-body pre:nth-child(odd):before{border-top-color:#a7ecad;border-left-color:#a7ecad}.markdown-body pre:nth-child(odd):after{border-right-color:#e699e6;border-bottom-color:#e699e6}.markdown-body a{margin:0 4px;text-decoration:none;color:#37b2ff;transition:.3s;display:inline-block;vertical-align:bottom;position:relative}.markdown-body a:before{content:\"READ MORE +\";bottom:90%;width:120px;max-width:0;color:#fff;background-color:#1fb3ff;position:absolute;white-space:nowrap;transition:.3s;box-sizing:border-box;pointer-events:none;overflow:hidden}.markdown-body a:after{content:\"\";bottom:0;left:0;width:100%;height:1px;border-bottom:1px dashed #37b2ff;position:absolute}.markdown-body a:active:before,.markdown-body a:hover:before{max-width:120px;padding-left:14px}.markdown-body table{width:100%;max-width:100%;font-size:12px;background-color:#fff;overflow:auto;border-collapse:collapse}.markdown-body table tr:hover td,.markdown-body table tr:hover th{border-bottom:1px solid #feea1e}.markdown-body thead{text-align:left}.markdown-body th{font-size:1.2em;border-bottom:1px dashed #eee}.markdown-body tr:nth-child(2n){background-color:hsla(0,0%,87.8%,.1);border-bottom:1px solid #fff}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px;border-bottom:1px dashed #fff}.markdown-body blockquote{color:#666;padding:12px 23px 2px;border:1px solid #37b2ff;background-color:#fff;margin:22px 0;position:relative}.markdown-body blockquote>p{margin:10px 0}.markdown-body blockquote:after{content:\"FROM\";left:0;width:40px;color:#fff;background-color:#37b2ff;text-align:center}.markdown-body blockquote:after,.markdown-body blockquote:before{top:0;line-height:1;padding:2px 0;font-size:12px;font-weight:lighter;position:absolute;pointer-events:none}.markdown-body blockquote:before{content:\"CITATION\";left:44px;color:#37b2ff}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{line-height:2em;margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol li::marker,.markdown-body ul li::marker{color:#37b2ff}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol ol li,.markdown-body ol ul li,.markdown-body ul ol li,.markdown-body ul ul li{border-bottom:none}.markdown-body ol li{padding-left:6px;list-style:decimal-leading-zero}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}.markdown-body input[type=checkbox]{position:relative}.markdown-body input[type=checkbox]:before{top:0;left:0;right:0;bottom:0;content:\"\";width:inherit;height:inherit;background:#f0f8ff;border:1px solid #add6ff;border-radius:2px;box-sizing:border-box;z-index:1;position:absolute}.markdown-body input[type=checkbox]:checked:after{content:\"\";top:10%;left:18%;width:90%;height:40%;border-left:2px solid #37b2ff;border-bottom:2px solid #37b2ff;color:#37b2ff;z-index:2;transform:rotate(-45deg);position:absolute}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  707. "highlight": "atom-one-light"
  708. },
  709. "vuepress": {
  710. "style": ".markdown-body{word-break:break-word;line-height:1.7;font-weight:400;font-size:16px;overflow-x:hidden;color:#2c3e50;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;font-weight:600;margin-top:35px;margin-bottom:8px;padding-bottom:5px}.markdown-body h1 :before,.markdown-body h2 :before,.markdown-body h3 :before,.markdown-body h4 :before,.markdown-body h5 :before,.markdown-body h6 :before{content:\"#\";display:inline-block;color:#3eaf7c;padding-right:.23em}.markdown-body h1{font-size:30px;margin-bottom:5px}.markdown-body h2{padding-bottom:8px;margin-top:50px;font-size:24px;border-bottom:1px solid #eaecef}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:15px}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #eaecef;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;overflow-x:auto;font-weight:400;background-color:rgba(27,31,35,.05);color:#476582;margin:0;font-size:.85em;border-radius:3px;font-size:.87em;padding:.165em .5em}.markdown-body code,.markdown-body pre{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.6;padding:20px 24px;background-color:#282c34;border-radius:6px}.markdown-body pre>code{font-size:14px;padding:0;margin:0;word-break:normal;display:block;overflow-x:auto;color:#fff}.markdown-body a{text-decoration:none;color:#3eaf7c;font-weight:500}.markdown-body a:active,.markdown-body a:hover{color:#42b983;border-bottom:1px solid #42b983}.markdown-body table{display:inline-block!important;font-size:14px;width:auto;max-width:100%;overflow:auto;margin:16px 0;border-collapse:collapse}.markdown-body thead{background:#f6f6f6;background:#3eaf7c;color:#000;color:#fff;text-align:left}.markdown-body tr:nth-child(2n){background-color:#f6f8fa}.markdown-body td,.markdown-body th{border:1px solid #dfe2e5;padding:10px 16px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{font-size:14px;padding:6px 23px;margin:22px 0;border-left:6px solid #42b983;background-color:#f3f5f7;font-weight:400}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body p,.markdown-body ul{line-height:1.7}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  711. "highlight": "base16/tomorrow-night"
  712. },
  713. "Chinese-red": {
  714. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;font-weight:400;line-height:2;font-size:17px;overflow-x:hidden;color:#000}.markdown-body strong{padding:1px;color:#ee3f4d}.markdown-body em{padding:0 2px;color:#f33b1f}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{position:relative;margin-top:30px;margin-bottom:20px;line-height:1.5;font-weight:700}.markdown-body h1{text-align:center;padding-bottom:5px;font-size:32px;color:#ac1f18}.markdown-body h1:after{content:\"\";display:block;margin:4px auto 0;width:100px;height:2px;border-bottom:2px solid #f33b1f}.markdown-body h2{font-size:28px;border-bottom:1px solid #f33b1f}.markdown-body h2:before{content:\"# \"!important;color:#f33b1f}.markdown-body h3{font-size:24px;padding-left:9px;border-left:6px solid #f33b1f}.markdown-body h4{font-size:20px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #bbb;margin:16px 0}.markdown-body code{word-break:break-word;overflow-x:auto;background-color:#f9f1db;color:#ee2746;border-radius:2px;font-size:16px;padding:1px 2px}.markdown-body code,.markdown-body pre{font-family:-apple-system,-apple-system-body,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,PingFang SC,思源黑体 CN,思源黑体,JetBrains Mono,Fira Code,Menlo,Ubuntu Mono,Consolas,sans-serif}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{margin:12px 0!important;border-radius:3px;font-size:15px;padding:16px 12px;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f7f7f7}.markdown-body a{text-decoration:none;color:#1781b5;padding:0 2px;border-bottom:1px solid #1781b5}.markdown-body a:active,.markdown-body a:hover{border-bottom:2px solid #f33b1f;color:#ac1f18}.markdown-body blockquote{color:#3d3d3d;background-color:#fff9f9;padding:6px 16px;margin:16px 0;border-left:3px solid #f07c82}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:6px 0}.markdown-body ol,.markdown-body ul{padding-left:30px}.markdown-body ol li,.markdown-body ul li{margin-bottom:6px}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:6px}.markdown-body ol li{padding-left:6px}.markdown-body ::marker{color:#f33b1f}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}.markdown-body .task-list-item input[type=checkbox]{position:relative}.markdown-body .task-list-item input[type=checkbox]:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border:1px solid #f07c82;border-radius:3px;box-sizing:border-box;z-index:1}.markdown-body .task-list-item input[type=checkbox]:checked:after{content:\"✓\";position:absolute;top:-5px;left:0;right:0;bottom:0;width:0;height:0;color:#f33b1f;font-size:16px;font-weight:700;z-index:2}.markdown-body table{display:inline-block!important;font-size:14px;width:auto;max-width:100%;overflow:auto;border-spacing:0;border-collapse:collapse}.markdown-body table thead{background:#fff9f9;color:#000;text-align:left;font-size:15px}.markdown-body table tr:nth-child(2n){background-color:#fcfcfc}.markdown-body table tr:hover{background-color:#fff9f9}.markdown-body table td,.markdown-body table th{padding:12px 7px;line-height:24px;border:1px solid #f9f1db}.markdown-body table td{min-width:120px}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  715. "highlight": "xcode"
  716. },
  717. "nico": {
  718. "style": "@charset \"UTF-8\";.markdown-body{font-family:-apple-system,system-ui,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial;color:#00325e}.markdown-body ::selection{background-color:#00325e;color:#fff}.markdown-body blockquote{padding:10px 20px;background-color:#fffaf0;box-shadow:0 3px 10px 0 rgba(255,172,194,.24);border:1px solid #f3ca8e;transition:all .2s;margin:1em 0;border-radius:5px}.markdown-body blockquote p{font-size:14px;line-height:25px;color:#795548}.markdown-body blockquote p:last-child{margin:0}.markdown-body blockquote:hover{border-color:#ff9800;background-color:#fff8e0;box-shadow:0 6px 10px -5px rgba(225,173,98,.3803921569)}.markdown-body blockquote code{color:#ff502c}.markdown-body pre{border:1px solid #8cc0f3;box-shadow:0 3px 10px 0 rgba(255,198,198,.28);border-radius:5px;transition:all .2s;overflow-x:auto;white-space:pre-wrap}.markdown-body pre:hover{border-color:#6d9dce}.markdown-body pre>code{padding:10px 20px;color:#00325e;background:#f0f8ff;font-size:12px;line-height:1.6;display:block}.markdown-body code{background:#f6fbff;color:#0b5393;padding:2px 4px;border-radius:4px;font-size:12px}.markdown-body p{font-size:14px;line-height:28px;text-align:justify;margin-bottom:17px;color:#595959}.markdown-body a{color:#00325e;text-decoration:none}.markdown-body a:after{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAQdJREFUKFNt0DtLA0EUBeBzZle0Eks7rcUfEfBRCha7NorYa6NmVJzgyi4smUgKtdZGCJktLMVH4Y8QeztLWyE7VyLEuNFbXj4Oh0P8c8mZm+uJrEN4BJFTeP/MUVe3bnocfALwkOlo1zS7iZAzf6Cx7oXgbaqjxiDEWCcVaGyxQ8pSWo9XhqhoQ/xUFbaKjhe5V+CmR7mnSplEEF6GSmJ+F/d0KHvbCIIJCLc85U6BC5mONgbJNM3uFag++sX7z8O8MzsWBucifMx0dDGE1kmm458KDVukAlnNdDz/exEeW3dNkbfsYC0xtmgDWP6ELLZ0/F6BJu/UoFQN5AkoeUjeJPvx6+i+X5Sjah4tA6gYAAAAAElFTkSuQmCC);margin-left:2px}.markdown-body a:hover{box-shadow:0 1px}.markdown-body table{max-width:100%;border-collapse:collapse;border-spacing:0;box-shadow:0 3px 10px 0 rgba(255,238,172,.24);transition:all .2s}.markdown-body table:hover{box-shadow:0 3px 10px 0 rgba(185,169,103,.24)}.markdown-body table tr th{border:1px solid #8cc0f3;background-color:#f0f8ff;padding:12px 15px}.markdown-body table tr td{border:1px solid rgba(243,202,142,.4);padding:12px 15px}.markdown-body table tbody tr{transition:all .2s}.markdown-body table tbody tr:hover td{border-color:#f3ca8e;background-color:#fff8e0;z-index:1}.markdown-body img{max-width:100%}.markdown-body h1{font-size:20px;margin-top:30px;margin-bottom:10px;padding-left:30px;position:relative}.markdown-body h1>code{font-size:20px}.markdown-body h1:before{content:\"🍺\";display:block;font-size:18px;width:18px;height:18px;left:0;position:absolute}.markdown-body h2{font-size:18px;margin-top:30px;margin-bottom:10px;padding-left:28px;position:relative}.markdown-body h2>code{font-size:18px}.markdown-body h2:before{content:\"🍻\";display:block;font-size:16px;width:16px;height:16px;left:0;position:absolute}.markdown-body h3{font-size:16px;margin-top:30px;margin-bottom:10px;padding-left:26px;position:relative}.markdown-body h3>code{font-size:16px}.markdown-body h3:before{content:\"🥂\";display:block;font-size:14px;width:14px;height:14px;left:0;position:absolute}.markdown-body h4{font-size:14px;margin-top:30px;margin-bottom:10px;padding-left:24px;position:relative}.markdown-body h4>code{font-size:14px}.markdown-body h4:before{content:\"🥃\";display:block;font-size:12px;width:12px;height:12px;left:0;position:absolute}.markdown-body h5{font-size:12px;margin-top:30px;margin-bottom:10px}.markdown-body h5>code{font-size:12px}.markdown-body h6{font-size:10px;margin-top:30px;margin-bottom:10px}.markdown-body h6>code{font-size:10px}.markdown-body h1,.markdown-body h2{color:#ff502c}.markdown-body hr{height:4px;border:none;margin-top:32px;margin-bottom:32px;background-size:4px 1px;background-image:linear-gradient(270deg,#6d9dce,#8cc0f3 25%,transparent 50%)}.markdown-body hr:nth-child(2n){background-image:linear-gradient(270deg,#ff9800,#fff8e0 25%,transparent 50%)}.markdown-body ul{padding-inline-start:20px}.markdown-body ul li{list-style-type:\"🔸\"}.markdown-body ul li li{list-style-type:\"◻️\"}.markdown-body ul li li li{list-style-type:\"▫️\"}.markdown-body ol{padding-inline-start:20px}.markdown-body ol ::marker{color:#ff9800}.markdown-body ol,.markdown-body ul{line-height:2em}.markdown-body li{padding-inline-start:1ch}.markdown-body li.task-list-item{list-style:none;padding-inline-start:0}.markdown-body li input{padding-right:2px}.markdown-body li input[type=checkbox i]{appearance:none}.markdown-body li input:before{content:\"🟩\";display:block;width:13px;height:13px}.markdown-body li input:checked:before{content:\"✅\"}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  719. "highlight": "atelier-sulphurpool-light"
  720. },
  721. "devui-blue": {
  722. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:16px;overflow-x:hidden;color:#252b3a}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px;color:#5e7ce0}.markdown-body h1{font-size:24px;margin-bottom:5px;margin-top:80px;position:relative;text-align:center}.markdown-body h2{font-size:20px;padding-bottom:12px;border-bottom:1px solid #dfe1e6}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4{font-size:16px;margin-top:30px}.markdown-body h5{font-size:14px;margin-top:20px}.markdown-body h6{font-size:14px;margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #dfe1e6;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#ffeeed;color:#c73636;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#252b3a;background:#f8f8f8}.markdown-body a{position:relative;text-decoration:none;color:#5e7ce0;padding-right:18px;padding-bottom:4px}.markdown-body a[href^=http]:after{position:absolute;display:inline-block;width:16px;height:16px;margin-left:2px;margin-top:6px;content:\"\";background:url(\"data:image/png;base64,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\");background-size:100%}.markdown-body a:active,.markdown-body a:hover{border-bottom:2px solid #5e7ce0}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #5e7ce0;border-spacing:0}.markdown-body thead{color:#fff;text-align:left}.markdown-body thead tr{background:#5e7ce0}.markdown-body thead th{border-bottom:1px solid #dfe1e6}.markdown-body tr{background-color:#fff}.markdown-body tr:nth-child(2n){background-color:#f2f5fc}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#252b3a;padding:1px 23px;margin:22px 0;border-left:4px solid #5e7ce0;background-color:#f2f5fc}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{padding-left:10px;margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol li::marker,.markdown-body ul li::marker{color:#5e7ce0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body ul li::marker{content:\"•\";color:#5e7ce0}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}.markdown-body input[type=checkbox]:before{display:inline-block;width:16px;height:16px;content:\"\";background:url(\"data:image/png;base64,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\");background-size:100%;position:relative;right:2px;top:-5px}.markdown-body input[type=checkbox]:checked:before{background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAYAAADjVADoAAAK2GlDQ1BJQ0MgUHJvZmlsZQAASImVlwdUU9kWhs+96Y0WiHRC70gngJTQQxGkg6iEJJBQYkgIKmJnUMGxoCKCZcSKKFhGQMaCWLANAopdJ8igoD4HC6Ki5t3AI8zMW++99fZaJ+dbO/vss/e55671XwAoYWyRKBdWAyBPWCCODQ2gJ6ek0nHPAQRgQAI2wIHNkYiYMTGRALHJ+a/28S4Sjdhte0Wuf///v5oGlyfhAAClIZzBlXDyEG5DxkuOSFwAAOoI4jddUCBScBfCmmKkQIR/V3DWBH9ScMY4o8njMfGxgQjTAcCT2WxxFgBkO8RPL+RkIXnIih4chVyBEOFihH05fDYX4TMI2+XlzVfwIMJWSLwIAApyOoCR8aecWX/Jn6HMz2ZnKXmir3HDBwkkolz2ov/zaP635eVKJ/ewQAaZLw6LVeyHnN/9nPkRShZmzIyeZAF3oiYF86VhCZPMkQSmTjKXHRShXJs7M3KSMwUhLGWeAlb8JPMkwXGTLJ4fq9wrUxzInGS2eHxfIsIyaU6C0s/nsZT5i/jxSZNcKEicOcmSnLiIqZhApV8sjVXWzxOGBkztG6LsPU/yp34FLOXaAn58mLJ39lT9PCFzKqckWVkblxcUPBWToIwXFQQo9xLlxijjebmhSr+kME65tgC5nFNrY5RnmM0Oj5lkIABRgA04dNVJAqCAt7BA0UjgfNEisSCLX0BnIm8bj84Schzs6M6Ozs4AKN7dievwnjb+TkK061O+NYjHr10ul5+e8oUi9/i4KfJYbk35LCsAUNUD4Op+jlRcOOFDK34wyNNTBZpABxgCU2AF7IEzcAfewB8Eg3AQDeJBCpiL1MoHeUAMFoBisAKUgnKwEWwF1WA32AsOgaPgBGgGZ8AFcAXcAF2gFzwCMjAAXoFh8BGMQRCEgygQFdKBjCBzyBZyhhiQLxQMRUKxUAqUDmVBQkgKFUOroHKoAqqG9kB10HHoNHQBugZ1Qw+gPmgIegd9gVEwGdaEDWALeDrMgJlwBBwPz4Gz4Hy4CC6B18NVcC18BG6CL8A34F5YBr+CR1AARULRUMYoexQDFYiKRqWiMlFi1FJUGaoSVYtqQLWiOlC3UTLUa9RnNBZNRdPR9mhvdBg6Ac1B56OXotehq9GH0E3oS+jb6D70MPo7hoLRx9hivDAsTDImC7MAU4qpxBzAnMJcxvRiBjAfsVgsDWuJ9cCGYVOw2djF2HXYndhGbBu2G9uPHcHhcDo4W5wPLhrHxhXgSnHbcUdw53E9uAHcJzwJb4R3xofgU/FC/Ep8Jf4w/hy+B/8CP0ZQI5gTvAjRBC5hEWEDYR+hlXCLMEAYI6oTLYk+xHhiNnEFsYrYQLxMfEx8TyKRTEiepFkkAWk5qYp0jHSV1Ef6TNYg25ADyWlkKXk9+SC5jfyA/J5CoVhQ/CmplALKekod5SLlKeWTClXFQYWlwlVZplKj0qTSo/JGlaBqrspUnatapFqpelL1luprNYKahVqgGlttqVqN2mm1e2oj6lR1J/Vo9Tz1deqH1a+pD2rgNCw0gjW4GiUaezUuavRTUVRTaiCVQ11F3Ue9TB3QxGpaarI0szXLNY9qdmoOa2louWolai3UqtE6qyWjoWgWNBYtl7aBdoJ2l/ZlmsE05jTetLXTGqb1TBvV1tP21+Zpl2k3avdqf9Gh6wTr5Ohs0mnWeaKL1rXRnaW7QHeX7mXd13qaet56HL0yvRN6D/VhfRv9WP3F+nv1b+qPGBgahBqIDLYbXDR4bUgz9DfMNtxieM5wyIhq5GskMNpidN7oJV2LzqTn0qvol+jDxvrGYcZS4z3GncZjJpYmCSYrTRpNnpgSTRmmmaZbTNtNh82MzKLMis3qzR6aE8wZ5nzzbeYd5qMWlhZJFqstmi0GLbUtWZZFlvWWj60oVn5W+Va1VnessdYM6xzrndZdNrCNmw3fpsbmli1s624rsN1p222HsfO0E9rV2t2zJ9sz7Qvt6+37HGgOkQ4rHZod3kw3m546fdP0junfHd0ccx33OT5y0nAKd1rp1Or0ztnGmeNc43zHheIS4rLMpcXlrautK891l+t9N6pblNtqt3a3b+4e7mL3BvchDzOPdI8dHvcYmowYxjrGVU+MZ4DnMs8znp+93L0KvE54/eFt753jfdh7cIblDN6MfTP6fUx82D57fGS+dN903598ZX7Gfmy/Wr9n/qb+XP8D/i+Y1sxs5hHmmwDHAHHAqYDRQK/AJYFtQaig0KCyoM5gjeCE4OrgpyEmIVkh9SHDoW6hi0PbwjBhEWGbwu6xDFgcVh1rONwjfEn4pQhyRFxEdcSzSJtIcWRrFBwVHrU56vFM85nCmc3RIJoVvTn6SYxlTH7ML7Ows2Jm1cx6HusUWxzbEUeNmxd3OO5jfED8hvhHCVYJ0oT2RNXEtMS6xNGkoKSKJFny9OQlyTdSdFMEKS2puNTE1AOpI7ODZ2+dPZDmllaadneO5ZyFc67N1Z2bO/fsPNV57Hkn0zHpSemH07+yo9m17JEMVsaOjGFOIGcb5xXXn7uFO8Tz4VXwXmT6ZFZkDmb5ZG3OGuL78Sv5rwWBgmrB2+yw7N3ZoznROQdz5LlJuY15+Lz0vNNCDWGO8NJ8w/kL53eLbEWlIlm+V/7W/GFxhPiABJLMkbQUaCIi6abUSvqDtK/Qt7Cm8NOCxAUnF6ovFC68uchm0dpFL4pCivYvRi/mLG4vNi5eUdy3hLlkz1JoacbS9mWmy0qWDSwPXX5oBXFFzopfVzqurFj5YVXSqtYSg5LlJf0/hP5QX6pSKi69t9p79e416DWCNZ1rXdZuX/u9jFt2vdyxvLL86zrOuus/Ov1Y9aN8feb6zg3uG3ZtxG4Ubry7yW/ToQr1iqKK/s1Rm5u20LeUbfmwdd7Wa5Wulbu3EbdJt8mqIqtatptt37j9azW/urcmoKZxh/6OtTtGd3J39uzy39Ww22B3+e4vPwl+ur8ndE9TrUVt5V7s3sK9z/cl7uvYz9hfd0D3QPmBbweFB2WHYg9dqvOoqzusf3hDPVwvrR86knak62jQ0ZYG+4Y9jbTG8mPgmPTYy+Ppx++eiDjRfpJxsuFn8593nKKeKmuCmhY1DTfzm2UtKS3dp8NPt7d6t576xeGXg2eMz9Sc1Tq74RzxXMk5+fmi8yNtorbXF7Iu9LfPa390MfninUuzLnVejrh89UrIlYsdzI7zV32unrnmde30dcb15hvuN5puut089avbr6c63Tubbnncauny7GrtntF9rsev58LtoNtX7rDu3Oid2dt9N+Hu/Xtp92T3ufcHH+Q+ePuw8OHYo+WPMY/Lnqg9qXyq/7T2N+vfGmXusrN9QX03n8U9e9TP6X/1u+T3rwMlzynPK18YvagbdB48MxQy1PVy9suBV6JXY69L/6H+jx1vrN78/If/HzeHk4cH3orfyt+te6/z/uAH1w/tIzEjTz/mfRwbLfuk8+nQZ8bnji9JX16MLfiK+1r1zfpb6/eI74/leXK5iC1mj0sBFDLgzEwA3h1EtHEKAFRElxNnT2jrcYMmvgfGCfwnntDf4+YOQAMyKWQR0x+Akwo5i8wqyKyQRPH+AHZxUY5/mSTTxXkiFxlRlphPcvl7AwBwrQB8E8vlYzvl8m/7kGIfANCWP6HpFYZFtHyD3vJRg6LbPe3g7zah9//U499noKjAFfx9/ieoZhkWVvYkwwAAAGxlWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAAAAABAAKgAgAEAAAAAQAAAEKgAwAEAAAAAQAAAEIAAAAAgodoEQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAABMtJREFUeAHtXM2KFDEQzrQKruIu4mEXRFlUVLz4A4K7B99AcO8io0/gwQfxDVzFuwu+gQf34EG8iOAPKAh6EFlBFMSf/qa2uqszlVR6ZtYxM5PDJNVVSer78nU6KrHzpyxuVlwx44AY2O0T8eb9D7f5fMu9fPvdff7y0/36nbdgdhUdd+jgHnf62JxbObvgjh/d60Pu2R35ajx49Mk9frqlBk7Kw8sXF9y1K4t9cCoi7tz/4F68/tYXMIkPzpzY725dP9yA1tsjoIRpIQHogRWYZSmwJ4Reh06nI2Nd7rYEA8zAzqXAxhgq/pc1d9vHKbEX+Dr4JbzypJDc/YxXYi/wifRLeOXpU5q7n/FK7EXsnBBeeRoqd7/EHj1ZhleeiMjdz8pArRKR+0pb+UsCuK0SkftKW/kzeFmrRHCAxWzufsaJOkqExWzufpOI8EpP1jnCJCK80pN1jjCJ4ICwMigidz/jRD3bI7bZUInIfaWt/KUSuK0SEd4jqFvufgYva5UIDrCYzd3POFFHifhfV/7k8lwPw7D5mUSEV3r854ju2pK7ffOIWzk/X+Go803Lr+ooGqoiwkyP9xzRXVt0q9sE3CgJYTLqfNPyE/irpkoEe2um6ck4bSiBSeD8JBl41jY/Hgd1lIiaaeoyLlsjgUGAjEH3DB4DtUpEW2Z3Mj5GAgA8efbVvXpX/200nln5IMYvKhHDrvylcwdc9+pSNdeg46WQsP7wo2s7fpWYaPT926fw9ZiVk4BpywYJkGuvlJs4EuWS0p/HTyHh3kbzH2najM85cR0lgpPiYMtukFB26m1u5Ua+vkFkWP3Zn0KCJDg1Px6f42Wtvhrhdyz8ncanrFKCmGH1wrwDMCrh/uxPIUFTAvdHbeVPsc1fVRE+c7Ud/k6fWt7XHFlYqcqQ5wTRvWpiY4wrIZwfDUL+akDRUBXB/jCzFCH9SHCzTDRUmsro7z+cEvrHwxOZn2ZTL/pVFcEBtRLoiWXfxQ5ehvoHHx4vpIwUEuJKSMvPz5/zQq0qwmIy5m+rjBQSwnsCQYnlgwjfT72av6oifOba2qnKcOXeGVIP0rT3BALTNr8mBWSpRHAgmJSTtLGhDHwj+A9GPCbX2DNiBSRoShg0H8zl5y/njxIhJ0WntralDJmIbO+UEvz85Zwt9wj7HIDB5Ttp7RkyGbRDSqC49vOjX50P9aexmr+qInzmajvtO13H02SpyrCVMNj8dT7/4BwByDXzRIC0LWXEldA/njVfip9GpV9VERxQM0lPhrVDyrCVMJr5/fwZJ+qWewR1lSuNJ21sXxnjVgIhck5VhM/cqG1WBpIAMX4Z9Xz+eP58sFUiOBArLQcZpQ0CNCXt1HzA5OfPOFGrrwYHyKTwbNJsxolaJUJbKeo0mu/4uMeXBHBbJSK88qP5jo97fAYva5UIDgivHEXk7mecqKNEhFeOhsjdbxKR+0pb+UsCuK0qIveVtvJn8LJWieAAi9nc/YwTdZQIi9nc/SYR4ZWenSO2yZvgcwTuRYZKWBnUI3e/xF7gcmio5L4HWPlL7AVuyPol95W28me8EnuBa8J+sZjM3c94JfYCd6VxTXjaCjDLe+K9cwTuSuOa8LQUYPXvh1d3w0HC7JK8kMK0/rcJfwHkVMYgi4xhOgAAAABJRU5ErkJggg==\");background-size:100%}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}"
  723. },
  724. "serene-rose": {
  725. "style": ".markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:16px;overflow-x:hidden;color:#252b3a}.markdown-body ::selection{color:#fff;background-color:#ed7373}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-bottom:.6em;margin-top:1.5em;padding-bottom:4px;color:#ed7373}.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px;padding-bottom:12px;border-bottom:1px solid #dfe1e6}.markdown-body h3{font-size:18px}.markdown-body h4{font-size:16px}.markdown-body h5,.markdown-body h6{font-size:14px}.markdown-body p{line-height:inherit;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{border-top:1px solid #dfe1e6;margin:33px 0}.markdown-body code{word-break:break-word;overflow-x:auto;background-color:rgba(239,198,221,.2666666667);color:#7b164f;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace;border-radius:2px}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre:before{content:\"\";display:block;height:30px;width:100%;margin-bottom:-7px;background:url(\"data:image/png;base64,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\") 10px 10px no-repeat;background-size:40px;background-color:#fdf8f8}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#252b3a;background:#fdf8f8}.markdown-body a{position:relative;text-decoration:underline;text-decoration-color:#ffd4d4;color:#ed7373;padding-right:18px;padding-bottom:4px}.markdown-body a[href^=http]:after{position:absolute;display:inline-block;width:16px;height:16px;margin-left:2px;margin-top:6px;content:\"\";background:url(\"data:image/png;base64,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\");background-size:100%}.markdown-body a:active,.markdown-body a:hover{opacity:.66}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #ed7373;border-spacing:0}.markdown-body thead{color:#fff;text-align:left}.markdown-body thead tr{background:#ed7373}.markdown-body thead th{border-bottom:1px solid #dfe1e6}.markdown-body tr{background-color:#fff}.markdown-body tr:nth-child(2n){background-color:#fdf2f2}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#252b3a;padding:1px 23px;margin:22px 0;border-left:4px solid #ed7373;background-color:#fdf2f2}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{padding-left:10px;margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol li::marker,.markdown-body ul li::marker{color:#ed7373}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}.markdown-body input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:none;width:16px;height:16px;border-radius:2px;background-color:transparent;box-shadow:inset 0 0 0 1px rgba(28,31,35,.3490196078);vertical-align:middle;margin:0;transform:translateY(-2px)}.markdown-body input[type=checkbox]:checked{background-color:#ed7373;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjFlbSIgaGVpZ2h0PSIxZW0iIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE3LjQxMSA3LjMwOGExLjUgMS41IDAgMDEuMjggMi4xMDNsLTYuNSA4LjVhMS41IDEuNSAwIDAxLTIuMzc1LjAxbC0zLjUtNC41YTEuNSAxLjUgMCAxMTIuMzY4LTEuODQybDIuMzA2IDIuOTY1IDUuMzE4LTYuOTU1YTEuNSAxLjUgMCAwMTIuMTAzLS4yOHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=\");box-shadow:inset 0 0 0 1px #ed7373}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  726. "highlight": "atom-one-dark"
  727. },
  728. "z-blue": {
  729. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;color:#3c9dff}.markdown-body h1{font-size:30px;margin-bottom:5px;padding-bottom:8px;text-align:center}.markdown-body h2{font-size:24px;padding-bottom:6px}.markdown-body h2:before{content:\"🍋\"}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h3:before{content:\"🍓\"}.markdown-body h4{font-size:16px}.markdown-body h4:before{content:\"🍑\"}.markdown-body h5{font-size:15px}.markdown-body h5:before{content:\"🍉\"}.markdown-body h6{margin-top:5px}.markdown-body h6:before{content:\"🍒\"}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{display:block;margin:0 auto;max-width:100%;border-radius:4px;padding:1px;border:1px solid #d2e8ff}.markdown-body img:hover{box-shadow:0 1px 3px #5eaeff}.markdown-body hr{height:4px;margin:34px 0;background-size:4px 1px;background-image:linear-gradient(270deg,#5eaeff,#f3f9ff 25%,transparent 50%);border-style:none}.markdown-body code{word-break:break-word;border-radius:3px;overflow-x:auto;background-color:#d2e8ff;color:#3c9dff;font-size:.9em;padding:.1em .5em;margin:0 3px}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace;transition:all .3s}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;border:1px solid #90c7ff;border-radius:4px}.markdown-body pre:hover{box-shadow:0 1px 10px #beddff}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{text-decoration:none;color:#3c9dff;border-bottom:1px solid #90c7ff;transition:all .3s}.markdown-body a:hover{color:#007fff;border-bottom:2px solid #5eaeff}.markdown-body a[href]:not(:empty){padding-right:18px}.markdown-body a[href]:not(:empty):after{display:inline-block;width:16px;height:16px;margin-left:2px;content:\"\";background:url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik0zODQgMTI4YTQ4IDQ4IDAgMDEyLjgxNiA5NS45MkwzODQgMjI0SDI1NmEzMiAzMiAwIDAwLTMxLjkyIDI5LjZMMjI0IDI1NnY1MTJhMzIgMzIgMCAwMDI5LjYgMzEuOTJsMi40LjA4aDUxMmEzMiAzMiAwIDAwMzEuOTItMjkuNmwuMDgtMi40VjY1NmE0OCA0OCAwIDAxOTUuOTItMi44MTZMODk2IDY1NnYxMTJhMTI4IDEyOCAwIDAxLTEyNCAxMjcuOTM2bC00IC4wNjRIMjU2YTEyOCAxMjggMCAwMS0xMjcuOTM2LTEyNGwtLjA2NC00VjI1NmExMjggMTI4IDAgMDExMjQtMTI3LjkzNmw0LS4wNjRoMTI4em0zODQgMGExMjggMTI4IDAgMDExMjcuOTM2IDEyNGwuMDY0IDR2MTYwYTQ4IDQ4IDAgMDEtOTUuOTIgMi44MTZMODAwIDQxNlYyOTEuODcybC0zODIuMDY0IDM4Mi4wOGE0OCA0OCAwIDAxLTcwLjAzMi02NS42bDIuMTYtMi4yODhMNzMyLjA5NiAyMjRINjA4YTQ4IDQ4IDAgMDEtMi44MTYtOTUuOTJMNjA4IDEyOGgxNjB6IiBmaWxsPSIjM2M5ZGZmIiBmaWxsLW9wYWNpdHk9Ii41NiIgZGF0YS1zcG0tYW5jaG9yLWlkPSJhMzEzeC5zZWFyY2hfaW5kZXguMC5pMC41Yzc1M2E4MTgwa2RKWCIgY2xhc3M9InNlbGVjdGVkIi8+PC9zdmc+);background-size:100%}.markdown-body table{margin:0 auto 10px;font-size:12px;width:auto;max-width:100%;overflow:auto;border-collapse:collapse;border:1px solid #3c9dff}.markdown-body thead{text-align:center}.markdown-body thead th{color:#fff;background-color:#5eaeff}.markdown-body tr{text-align:center}.markdown-body tbody tr:hover{background-color:#d2e8ff}.markdown-body tbody tr:hover code{background-color:#90c7ff}.markdown-body tr:nth-child(2n){background-color:#ecf5ff}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li::marker,.markdown-body ul li::marker{color:#5eaeff}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body b,.markdown-body strong{font-weight:900;padding:0 1px;font-size:17px}.markdown-body small{color:#cbcbcb;padding:0 1px;font-size:22px;zoom:.5}.markdown-body em{padding:0 1px}.markdown-body del{padding:0 1px;text-decoration-thickness:2px}.markdown-body blockquote{color:#1a1b1c;padding:1px 20px;margin:22px 0;border-radius:4px;border-left:4px solid rgba(60,157,255,.5);background-color:rgba(190,221,255,.3)}.markdown-body blockquote blockquote{margin:8px 0}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body details{margin:12px 0;padding:4px 10px;border:2px solid #3c9dff;border-radius:8px;background-color:#ecf5ff;transition:all .3s}.markdown-body details summary{cursor:pointer}.markdown-body input[type=checkbox]{position:relative;appearance:none;width:16px;height:16px;border-radius:2px;vertical-align:middle;transform:translateY(-2px);box-sizing:border-box;border:1px solid #beddff}.markdown-body input[type=checkbox]:checked{border:1px solid #5eaeff;background-color:#5eaeff}.markdown-body input[type=checkbox]:checked:before{position:absolute;top:3px;left:1px;width:11px;height:6px;background-color:transparent;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);content:\"\";box-sizing:border-box}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  730. "highlight": "androidstudio"
  731. },
  732. "minimalism": {
  733. "style": ".markdown-body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Helvetica,Arial,sans-serif;word-break:break-word;line-height:1.75;font-weight:200;font-size:16px;overflow-x:hidden;color:#666;letter-spacing:.5px}.markdown-body a{text-decoration:none;color:#0064c8;position:relative}.markdown-body a:after{content:\"\";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:rgba(0,100,200,.7);transform:scale(0);transition:all .4s ease-in-out}.markdown-body a:link:hover:after{transform:scale(1)}.markdown-body code{padding:2px 4px;font-size:.9em;font-family:Menlo,Monaco,Consolas,Courier New,monospace;border-radius:2px;background-color:rgba(0,46,70,.0431);color:#39f}.markdown-body strong{font-weight:400}.markdown-body em{color:#ff6a00}.markdown-body del,.markdown-body s{color:#bbb}.markdown-body small{font-size:.8em;color:#bbb}.markdown-body kbd{margin:0 .1em;padding:5px 8px 3px;border:1px solid #d1d5d9;border-radius:3px;box-shadow:0 1px 0 0 #e3e4e6,inset 0 0 0 2px #fff;background-color:#eee;font-weight:600;font-size:.8em;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;white-space:nowrap;color:#666}.markdown-body kbd:first-child{margin-left:0}.markdown-body kbd:last-child{margin-right:0}.markdown-body img{display:block;border:0;max-width:calc(100% - 20px);min-width:20px;min-height:20px;margin:0 10px;box-shadow:0 2px 8px 2px rgba(0,0,0,.2);transition:all .25s ease-in-out}.markdown-body img:hover{transform:translateY(-4px)}.markdown-body blockquote,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{line-height:inherit;font-size:inherit;color:inherit}.markdown-body blockquote:first-child,.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child,.markdown-body h4:first-child,.markdown-body h5:first-child,.markdown-body h6:first-child,.markdown-body ol:first-child,.markdown-body p:first-child,.markdown-body pre:first-child,.markdown-body table:first-child,.markdown-body ul:first-child{margin-top:0}.markdown-body blockquote:last-child,.markdown-body h1:last-child,.markdown-body h2:last-child,.markdown-body h3:last-child,.markdown-body h4:last-child,.markdown-body h5:last-child,.markdown-body h6:last-child,.markdown-body ol:last-child,.markdown-body p:last-child,.markdown-body pre:last-child,.markdown-body table:last-child,.markdown-body ul:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:1.6em 0 .6em;color:#333;font-weight:400;position:relative}.markdown-body h1:before,.markdown-body h2:before,.markdown-body h3:before,.markdown-body h4:before,.markdown-body h5:before,.markdown-body h6:before{position:absolute;left:-2em}.markdown-body h1{font-size:1.75em}.markdown-body h1:before{content:\"#\"}.markdown-body h1:first-child{margin-top:0}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.35em}.markdown-body h4{font-size:1.2em}.markdown-body h5{font-size:1.1em}.markdown-body h6{font-size:1em}.markdown-body blockquote,.markdown-body ol,.markdown-body pre,.markdown-body table,.markdown-body ul{margin:1em 0}.markdown-body p{margin:.7em 0;word-break:break-word}.markdown-body pre{padding:8px 12px;color:#666;background-color:rgba(0,46,70,.0431);border:1px solid #ebebeb;tab-size:4;white-space:pre-wrap;line-height:1.4}.markdown-body pre code{color:inherit;background-color:transparent;padding:0}.markdown-body ol,.markdown-body ul{margin:1em 0 1em 2em;padding:0;line-height:1.5!important;font-size:inherit;color:inherit}.markdown-body ol:first-child,.markdown-body ul:first-child{margin-top:0}.markdown-body ol:last-child,.markdown-body ul:last-child{margin-bottom:0}.markdown-body ol li,.markdown-body ul li{margin:.5em 0;list-style:inherit}.markdown-body ul{list-style:disc outside}.markdown-body ul ul{list-style-type:circle}.markdown-body ul ul ul{list-style-type:square}.markdown-body ol{list-style:decimal outside}.markdown-body ol ol{list-style-type:lower-alpha}.markdown-body ol ol ol{list-style-type:lower-roman}.markdown-body blockquote{font-size:.9em;padding:8px 20px 8px 15px;color:#666;border-left:5px solid rgba(0,100,200,.7);background-color:rgba(0,100,200,.1)}.markdown-body table{border-collapse:collapse;border-spacing:0;max-width:100%;min-width:50%;word-wrap:break-word;color:inherit}.markdown-body table thead tr{background-color:#f4f6f7}.markdown-body table td,.markdown-body table th{padding:4px 16px;font-size:.95em;text-align:left;color:inherit;border:0;min-width:72px}.markdown-body table td[align=center],.markdown-body table th[align=center]{text-align:center}.markdown-body table td[align=right],.markdown-body table th[align=right]{text-align:right}.markdown-body table th{border-bottom:2px solid #e3e4e6;color:#333;font-weight:400;white-space:nowrap}.markdown-body table td{border-bottom:1px solid #ebebeb}.markdown-body hr{margin:1.5em 0;padding:0;border:0;background:linear-gradient(90deg,rgba(0,46,70,.0431),#ebebeb 50%,rgba(0,46,70,.0431));height:1px}.markdown-body br{content:\"\";display:block}",
  734. "highlight": "atom-one-dark"
  735. },
  736. "koi": {
  737. "style": "404:Not Found",
  738. "highlight": "base16/tomorrow-night"
  739. },
  740. "yu": {
  741. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#5f6368;background-image:linear-gradient(90deg,rgba(240,191,213,.1) 3%,transparent 0),linear-gradient(1turn,rgba(240,191,213,.1) 3%,transparent 0);background-size:20px 20px;background-position:50%;letter-spacing:1px;word-spacing:1px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{position:relative;line-height:1.5;margin-top:35px;margin-bottom:10px;padding-left:50px;padding-bottom:5px;color:#5f6368}.markdown-body h1:before,.markdown-body h2:before,.markdown-body h3:before,.markdown-body h4:before,.markdown-body h5:before,.markdown-body h6:before{position:absolute;left:0;display:block;content:\"\"}.markdown-body h1{font-size:32px;margin-bottom:5px}.markdown-body h1:before{top:0;content:\"🦄\";font-size:32px}.markdown-body h2{padding-bottom:24px;border-bottom:1px solid #ececec}.markdown-body h2:before{top:0;left:8px;content:\"🐳\";font-size:24px}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h3:before{top:-2px;left:8px;content:\"🐄\";font-size:20px}.markdown-body h4{font-size:16px}.markdown-body h4:before{top:-2px;left:8px;content:\"🦥\";font-size:18px}.markdown-body h5{font-size:14px}.markdown-body h5:before{top:-2px;left:9px;content:\"🦩\";font-size:16px}.markdown-body h6{font-size:12px;margin-top:5px}.markdown-body h6:before{top:-1px;left:10px;content:\"🐧\";font-size:14px}.markdown-body p{line-height:1.9;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid rgba(253,121,168,.5);margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;color:#ff502c;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#a6accd;background:#292d3e;border-radius:8px}.markdown-body a{text-decoration:none;color:#fd79a8;border-bottom:1px solid #fd79a8;padding:0 4px}.markdown-body a:active,.markdown-body a:hover{background-color:rgba(253,121,168,.1);color:#ee69a9}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #f6f6f6}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fcfcfc}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body th{color:#fd79a8}.markdown-body th,.markdown-body tr:hover{background:rgba(253,121,168,.1)}.markdown-body td{min-width:120px}.markdown-body blockquote{position:relative;color:#666;padding:23px;margin:22px 0;border-left:4px solid #ee69a9;background-color:rgba(253,121,168,.1)}.markdown-body blockquote:after,.markdown-body blockquote:before{position:absolute;display:block;font-size:27px;color:#fd79a8;opacity:.8}.markdown-body blockquote:before{left:10px;top:0;content:\"❝\"}.markdown-body blockquote:after{right:10px;bottom:0;content:\"❞\"}.markdown-body blockquote>p{margin:10px 0}.markdown-body strong{position:relative;color:#fd79a8}.markdown-body strong:before{content:\"· \"}.markdown-body strong:after{content:\" ·\"}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit;color:#fd79a8}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol li::marker,.markdown-body ul li::marker{color:#ee69a9}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}",
  742. "highlight": "atom-one-dark"
  743. },
  744. "lilsnake": {
  745. "style": "@charset \"UTF-8\";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:16px;overflow-x:hidden;color:#444;background-image:linear-gradient(90deg,rgba(59,59,59,.1) 3%,transparent 0),linear-gradient(1turn,rgba(122,120,121,.1) 3%,transparent 0);background-size:30px 30px;background-position:50%;letter-spacing:1px;word-spacing:1px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{position:relative;margin-top:34px;margin-bottom:16px;font-weight:700;line-height:1.3;cursor:text;color:#444;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body h1{font-size:41px;margin-bottom:34px;line-height:1.5}.markdown-body h1:before{content:\"\"}.markdown-body h2{font-size:30px;padding-left:.4em;border-left:.4em solid #5e5e5e;border-bottom:1px solid #444}.markdown-body h2:after{content:\"🕛\";position:absolute;top:0;right:0;transition:all;animation:rotate 10s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.markdown-body h3{border-left:.4em solid #8d8d8d;font-size:24px;padding-left:.4em}.markdown-body h4{font-size:20px}.markdown-body h5{font-size:16px}.markdown-body h6{font-size:14px}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body table,.markdown-body ul{margin:.8em 0}.markdown-body strong{font-weight:1000;position:relative;color:#444;padding:0 3px}.markdown-body em{font-weight:inherit}.markdown-body a{box-sizing:border-box;color:grey;position:relative}.markdown-body a:before{position:absolute;box-sizing:border-box;content:\"Go ->\";left:0;width:100%;max-width:0;color:#fff;background-color:hsla(0,0%,50.2%,.8);white-space:nowrap;transition:.2s ease;pointer-events:none;overflow:hidden}.markdown-body a:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:grey}.markdown-body a:active:before,.markdown-body a:hover:before{max-width:100%;padding-left:8px;border-radius:5px}.markdown-body hr{position:relative;width:100%;height:1px;border:none;margin-top:36px;margin-bottom:36px;background:linear-gradient(90deg,grey,#f1f1f1,#444,#444,#f1f1f1,grey);overflow:visible}.markdown-body ol,.markdown-body ul{padding-left:32px}.markdown-body ol li,.markdown-body ul li{margin-bottom:6px;list-style:inherit}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol{counter-reset:my-counter}.markdown-body ol>li{padding-left:6px;list-style:none;counter-increment:my-counter;position:relative}.markdown-body ol>li:before{position:absolute;left:-1.5em;content:counter(my-counter);font-weight:700}.markdown-body ol>li:first-child:before{content:\"1️⃣\"}.markdown-body ol>li:nth-child(2):before{content:\"2️⃣\"}.markdown-body ol>li:nth-child(3):before{content:\"3️⃣\"}.markdown-body ol>li:nth-child(4):before{content:\"4️⃣\"}.markdown-body ol>li:nth-child(5):before{content:\"5️⃣\"}.markdown-body ol>li:nth-child(6):before{content:\"6️⃣\"}.markdown-body ol>li:nth-child(7):before{content:\"7️⃣\"}.markdown-body ol>li:nth-child(8):before{content:\"8️⃣\"}.markdown-body ol>li:nth-child(9):before{content:\"9️⃣\"}.markdown-body ol>li:nth-child(10):before{content:\"🔟\"}.markdown-body ul>li{list-style:none;position:relative}.markdown-body ul>li:before{z-index:10;position:absolute;left:-1.57em;content:\"🔹\";margin-right:12px}.markdown-body ul>li input{margin-left:8px!important}.markdown-body blockquote{position:relative;background-color:#d3d3d3;padding:5px 10px;border-left:.2em solid #000;border-radius:3px;transition:all .8s ease}.markdown-body blockquote:hover{opacity:.7}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:rgba(69,69,77,.8);color:#fff;font-size:.87em;padding:.07em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;border-radius:7px;overflow:hidden}.markdown-body pre:before{z-index:10;position:absolute;top:14px;left:14px;width:12px;height:12px;border-radius:50%;background:#fc625d;-webkit-box-shadow:20px 0 #fdbc40,40px 0 #35cd4b;box-shadow:20px 0 #fdbc40,40px 0 #35cd4b;content:\" \"}.markdown-body pre:after{z-index:9;content:\"\";position:absolute;width:100%;height:40px;top:0;background-color:#1a1a1a}.markdown-body pre>code{display:block;font-family:Menlo,Monaco,Consolas,Courier New,monospace;word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#171717;color:#bababa;font-size:14px;padding:40px 20px 20px}.markdown-body del{color:grey}.markdown-body table{margin-bottom:1.25rem;border-collapse:collapse}.markdown-body table td,.markdown-body table th{margin:0;padding:8px;line-height:20px;vertical-align:middle;border:1px solid #ddd}.markdown-body table thead,.markdown-body table tr:nth-child(2n){background-color:#fcfcfc}.markdown-body table thead th,.markdown-body table tr:nth-child(2n) th{font-weight:700;vertical-align:middle;color:#444}.markdown-body table tbody tr td{font-weight:400;color:#444}.markdown-body table tbody tr:hover{background-color:#d3d3d3}.markdown-body table tbody tr:hover td{color:#fff}.markdown-body img{max-width:100%;margin:0 12px}@media (max-width:720px){.markdown-body h1{font-size:32.8px}.markdown-body h2{font-size:24px}.markdown-body h3{font-size:19.2px}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:12.8px}}",
  746. "highlight": "hybrid"
  747. },
  748. "keepnice": {
  749. "style": ".markdown-body{line-height:2.1;font-weight:400;font-size:16px;color:#333;font-family:-apple-system,BlinkMacSystemFont,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;word-break:all;padding-left:0;padding-right:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:2.1;margin-top:64px;margin-bottom:24px;padding:0 32px}.markdown-body h1{font-size:24px;margin-bottom:5px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:16px}.markdown-body p{line-height:inherit;margin-top:32px;margin-bottom:32px;letter-spacing:.5px;padding:0 32px}.markdown-body img{display:block;max-width:100%}.markdown-body hr{border:none;height:.5px;margin-top:32px;margin-bottom:32px;background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.25),transparent)}.markdown-body code{word-break:break-word;border-radius:4px;overflow-x:auto;background-color:#f5f6f9;font-size:14px;padding:6px 8px;margin:0 4px}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;margin:30px 0}.markdown-body pre>code{font-size:13px;padding:32px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background-color:#f5f6f9}.markdown-body a{text-decoration:none;color:#0269c8;border-bottom:1px solid #d1e9ff}.markdown-body a:active,.markdown-body a:hover{color:#275b8c}.markdown-body table{font-size:15px;width:auto;max-width:100%;overflow:auto;border:none;min-width:100%}.markdown-body thead{background:#f6f6f6;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fcfcfc}.markdown-body td,.markdown-body th{font-size:15px;border:1px solid #e8e8e8;border-radius:4px!important;padding:12px;transition:all .5s}.markdown-body td:hover,.markdown-body th:hover{background-color:#f0f0f0;color:#1171ee}.markdown-body blockquote{color:#0a0c10!important;padding:18px 32px;margin:22px 0;border-left:3px solid #0c8;background-color:rgba(0,204,136,.1)!important;border-radius:3px}.markdown-body blockquote:after{display:block;content:\"\"}.markdown-body blockquote>p{margin:10px 0;padding:0;font-size:15px;line-height:2}.markdown-body ol,.markdown-body ul{padding-left:0;margin-left:0;list-style:none}.markdown-body ol li,.markdown-body ul li{font-size:15px;padding:6px 24px;background-color:#f6eeff;border:1px solid #dec6fb;margin:5px;border-radius:4px;transition:all .3s}.markdown-body ol li:hover,.markdown-body ul li:hover{background-color:#ecdffb}.markdown-body ol li:active,.markdown-body ul li:active{background-color:#dec6fb}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{font-size:15px;padding:6px 24px;background-color:#f6eeff;box-shadow:inset 0 0 2px #dec6fb;margin:5px;border-radius:4px}.markdown-body ol li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul{margin-top:0}.markdown-body .contains-task-list{padding-left:0}.markdown-body .task-list-item{list-style:none}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}",
  750. "highlight": "github"
  751. }
  752. };
  753. return _virtual_juejinMarkdownThemes;
  754. }));
  755. /***/ }),
  756. /***/ "../../node_modules/linkify-it/index.js":
  757. /*!***************************************************************!*\
  758. !*** D:/web_src/4dkankan_v4/node_modules/linkify-it/index.js ***!
  759. \***************************************************************/
  760. /*! no static exports found */
  761. /***/ (function(module, exports, __webpack_require__) {
  762. "use strict";
  763. ////////////////////////////////////////////////////////////////////////////////
  764. // Helpers
  765. // Merge objects
  766. //
  767. function assign(obj /*from1, from2, from3, ...*/) {
  768. var sources = Array.prototype.slice.call(arguments, 1);
  769. sources.forEach(function (source) {
  770. if (!source) { return; }
  771. Object.keys(source).forEach(function (key) {
  772. obj[key] = source[key];
  773. });
  774. });
  775. return obj;
  776. }
  777. function _class(obj) { return Object.prototype.toString.call(obj); }
  778. function isString(obj) { return _class(obj) === '[object String]'; }
  779. function isObject(obj) { return _class(obj) === '[object Object]'; }
  780. function isRegExp(obj) { return _class(obj) === '[object RegExp]'; }
  781. function isFunction(obj) { return _class(obj) === '[object Function]'; }
  782. function escapeRE(str) { return str.replace(/[.?*+^$[\]\\(){}|-]/g, '\\$&'); }
  783. ////////////////////////////////////////////////////////////////////////////////
  784. var defaultOptions = {
  785. fuzzyLink: true,
  786. fuzzyEmail: true,
  787. fuzzyIP: false
  788. };
  789. function isOptionsObj(obj) {
  790. return Object.keys(obj || {}).reduce(function (acc, k) {
  791. return acc || defaultOptions.hasOwnProperty(k);
  792. }, false);
  793. }
  794. var defaultSchemas = {
  795. 'http:': {
  796. validate: function (text, pos, self) {
  797. var tail = text.slice(pos);
  798. if (!self.re.http) {
  799. // compile lazily, because "host"-containing variables can change on tlds update.
  800. self.re.http = new RegExp(
  801. '^\\/\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'
  802. );
  803. }
  804. if (self.re.http.test(tail)) {
  805. return tail.match(self.re.http)[0].length;
  806. }
  807. return 0;
  808. }
  809. },
  810. 'https:': 'http:',
  811. 'ftp:': 'http:',
  812. '//': {
  813. validate: function (text, pos, self) {
  814. var tail = text.slice(pos);
  815. if (!self.re.no_http) {
  816. // compile lazily, because "host"-containing variables can change on tlds update.
  817. self.re.no_http = new RegExp(
  818. '^' +
  819. self.re.src_auth +
  820. // Don't allow single-level domains, because of false positives like '//test'
  821. // with code comments
  822. '(?:localhost|(?:(?:' + self.re.src_domain + ')\\.)+' + self.re.src_domain_root + ')' +
  823. self.re.src_port +
  824. self.re.src_host_terminator +
  825. self.re.src_path,
  826. 'i'
  827. );
  828. }
  829. if (self.re.no_http.test(tail)) {
  830. // should not be `://` & `///`, that protects from errors in protocol name
  831. if (pos >= 3 && text[pos - 3] === ':') { return 0; }
  832. if (pos >= 3 && text[pos - 3] === '/') { return 0; }
  833. return tail.match(self.re.no_http)[0].length;
  834. }
  835. return 0;
  836. }
  837. },
  838. 'mailto:': {
  839. validate: function (text, pos, self) {
  840. var tail = text.slice(pos);
  841. if (!self.re.mailto) {
  842. self.re.mailto = new RegExp(
  843. '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'
  844. );
  845. }
  846. if (self.re.mailto.test(tail)) {
  847. return tail.match(self.re.mailto)[0].length;
  848. }
  849. return 0;
  850. }
  851. }
  852. };
  853. /*eslint-disable max-len*/
  854. // RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)
  855. var tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';
  856. // DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead
  857. var tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');
  858. /*eslint-enable max-len*/
  859. ////////////////////////////////////////////////////////////////////////////////
  860. function resetScanCache(self) {
  861. self.__index__ = -1;
  862. self.__text_cache__ = '';
  863. }
  864. function createValidator(re) {
  865. return function (text, pos) {
  866. var tail = text.slice(pos);
  867. if (re.test(tail)) {
  868. return tail.match(re)[0].length;
  869. }
  870. return 0;
  871. };
  872. }
  873. function createNormalizer() {
  874. return function (match, self) {
  875. self.normalize(match);
  876. };
  877. }
  878. // Schemas compiler. Build regexps.
  879. //
  880. function compile(self) {
  881. // Load & clone RE patterns.
  882. var re = self.re = __webpack_require__(/*! ./lib/re */ "../../node_modules/linkify-it/lib/re.js")(self.__opts__);
  883. // Define dynamic patterns
  884. var tlds = self.__tlds__.slice();
  885. self.onCompile();
  886. if (!self.__tlds_replaced__) {
  887. tlds.push(tlds_2ch_src_re);
  888. }
  889. tlds.push(re.src_xn);
  890. re.src_tlds = tlds.join('|');
  891. function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); }
  892. re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');
  893. re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');
  894. re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');
  895. re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');
  896. //
  897. // Compile each schema
  898. //
  899. var aliases = [];
  900. self.__compiled__ = {}; // Reset compiled data
  901. function schemaError(name, val) {
  902. throw new Error('(LinkifyIt) Invalid schema "' + name + '": ' + val);
  903. }
  904. Object.keys(self.__schemas__).forEach(function (name) {
  905. var val = self.__schemas__[name];
  906. // skip disabled methods
  907. if (val === null) { return; }
  908. var compiled = { validate: null, link: null };
  909. self.__compiled__[name] = compiled;
  910. if (isObject(val)) {
  911. if (isRegExp(val.validate)) {
  912. compiled.validate = createValidator(val.validate);
  913. } else if (isFunction(val.validate)) {
  914. compiled.validate = val.validate;
  915. } else {
  916. schemaError(name, val);
  917. }
  918. if (isFunction(val.normalize)) {
  919. compiled.normalize = val.normalize;
  920. } else if (!val.normalize) {
  921. compiled.normalize = createNormalizer();
  922. } else {
  923. schemaError(name, val);
  924. }
  925. return;
  926. }
  927. if (isString(val)) {
  928. aliases.push(name);
  929. return;
  930. }
  931. schemaError(name, val);
  932. });
  933. //
  934. // Compile postponed aliases
  935. //
  936. aliases.forEach(function (alias) {
  937. if (!self.__compiled__[self.__schemas__[alias]]) {
  938. // Silently fail on missed schemas to avoid errons on disable.
  939. // schemaError(alias, self.__schemas__[alias]);
  940. return;
  941. }
  942. self.__compiled__[alias].validate =
  943. self.__compiled__[self.__schemas__[alias]].validate;
  944. self.__compiled__[alias].normalize =
  945. self.__compiled__[self.__schemas__[alias]].normalize;
  946. });
  947. //
  948. // Fake record for guessed links
  949. //
  950. self.__compiled__[''] = { validate: null, normalize: createNormalizer() };
  951. //
  952. // Build schema condition
  953. //
  954. var slist = Object.keys(self.__compiled__)
  955. .filter(function (name) {
  956. // Filter disabled & fake schemas
  957. return name.length > 0 && self.__compiled__[name];
  958. })
  959. .map(escapeRE)
  960. .join('|');
  961. // (?!_) cause 1.5x slowdown
  962. self.re.schema_test = RegExp('(^|(?!_)(?:[><\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i');
  963. self.re.schema_search = RegExp('(^|(?!_)(?:[><\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');
  964. self.re.schema_at_start = RegExp('^' + self.re.schema_search.source, 'i');
  965. self.re.pretest = RegExp(
  966. '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@',
  967. 'i'
  968. );
  969. //
  970. // Cleanup
  971. //
  972. resetScanCache(self);
  973. }
  974. /**
  975. * class Match
  976. *
  977. * Match result. Single element of array, returned by [[LinkifyIt#match]]
  978. **/
  979. function Match(self, shift) {
  980. var start = self.__index__,
  981. end = self.__last_index__,
  982. text = self.__text_cache__.slice(start, end);
  983. /**
  984. * Match#schema -> String
  985. *
  986. * Prefix (protocol) for matched string.
  987. **/
  988. this.schema = self.__schema__.toLowerCase();
  989. /**
  990. * Match#index -> Number
  991. *
  992. * First position of matched string.
  993. **/
  994. this.index = start + shift;
  995. /**
  996. * Match#lastIndex -> Number
  997. *
  998. * Next position after matched string.
  999. **/
  1000. this.lastIndex = end + shift;
  1001. /**
  1002. * Match#raw -> String
  1003. *
  1004. * Matched string.
  1005. **/
  1006. this.raw = text;
  1007. /**
  1008. * Match#text -> String
  1009. *
  1010. * Notmalized text of matched string.
  1011. **/
  1012. this.text = text;
  1013. /**
  1014. * Match#url -> String
  1015. *
  1016. * Normalized url of matched string.
  1017. **/
  1018. this.url = text;
  1019. }
  1020. function createMatch(self, shift) {
  1021. var match = new Match(self, shift);
  1022. self.__compiled__[match.schema].normalize(match, self);
  1023. return match;
  1024. }
  1025. /**
  1026. * class LinkifyIt
  1027. **/
  1028. /**
  1029. * new LinkifyIt(schemas, options)
  1030. * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)
  1031. * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }
  1032. *
  1033. * Creates new linkifier instance with optional additional schemas.
  1034. * Can be called without `new` keyword for convenience.
  1035. *
  1036. * By default understands:
  1037. *
  1038. * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links
  1039. * - "fuzzy" links and emails (example.com, foo@bar.com).
  1040. *
  1041. * `schemas` is an object, where each key/value describes protocol/rule:
  1042. *
  1043. * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`
  1044. * for example). `linkify-it` makes shure that prefix is not preceeded with
  1045. * alphanumeric char and symbols. Only whitespaces and punctuation allowed.
  1046. * - __value__ - rule to check tail after link prefix
  1047. * - _String_ - just alias to existing rule
  1048. * - _Object_
  1049. * - _validate_ - validator function (should return matched length on success),
  1050. * or `RegExp`.
  1051. * - _normalize_ - optional function to normalize text & url of matched result
  1052. * (for example, for @twitter mentions).
  1053. *
  1054. * `options`:
  1055. *
  1056. * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.
  1057. * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts
  1058. * like version numbers. Default `false`.
  1059. * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.
  1060. *
  1061. **/
  1062. function LinkifyIt(schemas, options) {
  1063. if (!(this instanceof LinkifyIt)) {
  1064. return new LinkifyIt(schemas, options);
  1065. }
  1066. if (!options) {
  1067. if (isOptionsObj(schemas)) {
  1068. options = schemas;
  1069. schemas = {};
  1070. }
  1071. }
  1072. this.__opts__ = assign({}, defaultOptions, options);
  1073. // Cache last tested result. Used to skip repeating steps on next `match` call.
  1074. this.__index__ = -1;
  1075. this.__last_index__ = -1; // Next scan position
  1076. this.__schema__ = '';
  1077. this.__text_cache__ = '';
  1078. this.__schemas__ = assign({}, defaultSchemas, schemas);
  1079. this.__compiled__ = {};
  1080. this.__tlds__ = tlds_default;
  1081. this.__tlds_replaced__ = false;
  1082. this.re = {};
  1083. compile(this);
  1084. }
  1085. /** chainable
  1086. * LinkifyIt#add(schema, definition)
  1087. * - schema (String): rule name (fixed pattern prefix)
  1088. * - definition (String|RegExp|Object): schema definition
  1089. *
  1090. * Add new rule definition. See constructor description for details.
  1091. **/
  1092. LinkifyIt.prototype.add = function add(schema, definition) {
  1093. this.__schemas__[schema] = definition;
  1094. compile(this);
  1095. return this;
  1096. };
  1097. /** chainable
  1098. * LinkifyIt#set(options)
  1099. * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }
  1100. *
  1101. * Set recognition options for links without schema.
  1102. **/
  1103. LinkifyIt.prototype.set = function set(options) {
  1104. this.__opts__ = assign(this.__opts__, options);
  1105. return this;
  1106. };
  1107. /**
  1108. * LinkifyIt#test(text) -> Boolean
  1109. *
  1110. * Searches linkifiable pattern and returns `true` on success or `false` on fail.
  1111. **/
  1112. LinkifyIt.prototype.test = function test(text) {
  1113. // Reset scan cache
  1114. this.__text_cache__ = text;
  1115. this.__index__ = -1;
  1116. if (!text.length) { return false; }
  1117. var m, ml, me, len, shift, next, re, tld_pos, at_pos;
  1118. // try to scan for link with schema - that's the most simple rule
  1119. if (this.re.schema_test.test(text)) {
  1120. re = this.re.schema_search;
  1121. re.lastIndex = 0;
  1122. while ((m = re.exec(text)) !== null) {
  1123. len = this.testSchemaAt(text, m[2], re.lastIndex);
  1124. if (len) {
  1125. this.__schema__ = m[2];
  1126. this.__index__ = m.index + m[1].length;
  1127. this.__last_index__ = m.index + m[0].length + len;
  1128. break;
  1129. }
  1130. }
  1131. }
  1132. if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {
  1133. // guess schemaless links
  1134. tld_pos = text.search(this.re.host_fuzzy_test);
  1135. if (tld_pos >= 0) {
  1136. // if tld is located after found link - no need to check fuzzy pattern
  1137. if (this.__index__ < 0 || tld_pos < this.__index__) {
  1138. if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {
  1139. shift = ml.index + ml[1].length;
  1140. if (this.__index__ < 0 || shift < this.__index__) {
  1141. this.__schema__ = '';
  1142. this.__index__ = shift;
  1143. this.__last_index__ = ml.index + ml[0].length;
  1144. }
  1145. }
  1146. }
  1147. }
  1148. }
  1149. if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {
  1150. // guess schemaless emails
  1151. at_pos = text.indexOf('@');
  1152. if (at_pos >= 0) {
  1153. // We can't skip this check, because this cases are possible:
  1154. // 192.168.1.1@gmail.com, my.in@example.com
  1155. if ((me = text.match(this.re.email_fuzzy)) !== null) {
  1156. shift = me.index + me[1].length;
  1157. next = me.index + me[0].length;
  1158. if (this.__index__ < 0 || shift < this.__index__ ||
  1159. (shift === this.__index__ && next > this.__last_index__)) {
  1160. this.__schema__ = 'mailto:';
  1161. this.__index__ = shift;
  1162. this.__last_index__ = next;
  1163. }
  1164. }
  1165. }
  1166. }
  1167. return this.__index__ >= 0;
  1168. };
  1169. /**
  1170. * LinkifyIt#pretest(text) -> Boolean
  1171. *
  1172. * Very quick check, that can give false positives. Returns true if link MAY BE
  1173. * can exists. Can be used for speed optimization, when you need to check that
  1174. * link NOT exists.
  1175. **/
  1176. LinkifyIt.prototype.pretest = function pretest(text) {
  1177. return this.re.pretest.test(text);
  1178. };
  1179. /**
  1180. * LinkifyIt#testSchemaAt(text, name, position) -> Number
  1181. * - text (String): text to scan
  1182. * - name (String): rule (schema) name
  1183. * - position (Number): text offset to check from
  1184. *
  1185. * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly
  1186. * at given position. Returns length of found pattern (0 on fail).
  1187. **/
  1188. LinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {
  1189. // If not supported schema check requested - terminate
  1190. if (!this.__compiled__[schema.toLowerCase()]) {
  1191. return 0;
  1192. }
  1193. return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);
  1194. };
  1195. /**
  1196. * LinkifyIt#match(text) -> Array|null
  1197. *
  1198. * Returns array of found link descriptions or `null` on fail. We strongly
  1199. * recommend to use [[LinkifyIt#test]] first, for best speed.
  1200. *
  1201. * ##### Result match description
  1202. *
  1203. * - __schema__ - link schema, can be empty for fuzzy links, or `//` for
  1204. * protocol-neutral links.
  1205. * - __index__ - offset of matched text
  1206. * - __lastIndex__ - index of next char after mathch end
  1207. * - __raw__ - matched text
  1208. * - __text__ - normalized text
  1209. * - __url__ - link, generated from matched text
  1210. **/
  1211. LinkifyIt.prototype.match = function match(text) {
  1212. var shift = 0, result = [];
  1213. // Try to take previous element from cache, if .test() called before
  1214. if (this.__index__ >= 0 && this.__text_cache__ === text) {
  1215. result.push(createMatch(this, shift));
  1216. shift = this.__last_index__;
  1217. }
  1218. // Cut head if cache was used
  1219. var tail = shift ? text.slice(shift) : text;
  1220. // Scan string until end reached
  1221. while (this.test(tail)) {
  1222. result.push(createMatch(this, shift));
  1223. tail = tail.slice(this.__last_index__);
  1224. shift += this.__last_index__;
  1225. }
  1226. if (result.length) {
  1227. return result;
  1228. }
  1229. return null;
  1230. };
  1231. /**
  1232. * LinkifyIt#matchAtStart(text) -> Match|null
  1233. *
  1234. * Returns fully-formed (not fuzzy) link if it starts at the beginning
  1235. * of the string, and null otherwise.
  1236. **/
  1237. LinkifyIt.prototype.matchAtStart = function matchAtStart(text) {
  1238. // Reset scan cache
  1239. this.__text_cache__ = text;
  1240. this.__index__ = -1;
  1241. if (!text.length) return null;
  1242. var m = this.re.schema_at_start.exec(text);
  1243. if (!m) return null;
  1244. var len = this.testSchemaAt(text, m[2], m[0].length);
  1245. if (!len) return null;
  1246. this.__schema__ = m[2];
  1247. this.__index__ = m.index + m[1].length;
  1248. this.__last_index__ = m.index + m[0].length + len;
  1249. return createMatch(this, 0);
  1250. };
  1251. /** chainable
  1252. * LinkifyIt#tlds(list [, keepOld]) -> this
  1253. * - list (Array): list of tlds
  1254. * - keepOld (Boolean): merge with current list if `true` (`false` by default)
  1255. *
  1256. * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)
  1257. * to avoid false positives. By default this algorythm used:
  1258. *
  1259. * - hostname with any 2-letter root zones are ok.
  1260. * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф
  1261. * are ok.
  1262. * - encoded (`xn--...`) root zones are ok.
  1263. *
  1264. * If list is replaced, then exact match for 2-chars root zones will be checked.
  1265. **/
  1266. LinkifyIt.prototype.tlds = function tlds(list, keepOld) {
  1267. list = Array.isArray(list) ? list : [ list ];
  1268. if (!keepOld) {
  1269. this.__tlds__ = list.slice();
  1270. this.__tlds_replaced__ = true;
  1271. compile(this);
  1272. return this;
  1273. }
  1274. this.__tlds__ = this.__tlds__.concat(list)
  1275. .sort()
  1276. .filter(function (el, idx, arr) {
  1277. return el !== arr[idx - 1];
  1278. })
  1279. .reverse();
  1280. compile(this);
  1281. return this;
  1282. };
  1283. /**
  1284. * LinkifyIt#normalize(match)
  1285. *
  1286. * Default normalizer (if schema does not define it's own).
  1287. **/
  1288. LinkifyIt.prototype.normalize = function normalize(match) {
  1289. // Do minimal possible changes by default. Need to collect feedback prior
  1290. // to move forward https://github.com/markdown-it/linkify-it/issues/1
  1291. if (!match.schema) { match.url = 'http://' + match.url; }
  1292. if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {
  1293. match.url = 'mailto:' + match.url;
  1294. }
  1295. };
  1296. /**
  1297. * LinkifyIt#onCompile()
  1298. *
  1299. * Override to modify basic RegExp-s.
  1300. **/
  1301. LinkifyIt.prototype.onCompile = function onCompile() {
  1302. };
  1303. module.exports = LinkifyIt;
  1304. /***/ }),
  1305. /***/ "../../node_modules/linkify-it/lib/re.js":
  1306. /*!****************************************************************!*\
  1307. !*** D:/web_src/4dkankan_v4/node_modules/linkify-it/lib/re.js ***!
  1308. \****************************************************************/
  1309. /*! no static exports found */
  1310. /***/ (function(module, exports, __webpack_require__) {
  1311. "use strict";
  1312. module.exports = function (opts) {
  1313. var re = {};
  1314. opts = opts || {};
  1315. // Use direct extract instead of `regenerate` to reduse browserified size
  1316. re.src_Any = __webpack_require__(/*! uc.micro/properties/Any/regex */ "../../node_modules/uc.micro/properties/Any/regex.js").source;
  1317. re.src_Cc = __webpack_require__(/*! uc.micro/categories/Cc/regex */ "../../node_modules/uc.micro/categories/Cc/regex.js").source;
  1318. re.src_Z = __webpack_require__(/*! uc.micro/categories/Z/regex */ "../../node_modules/uc.micro/categories/Z/regex.js").source;
  1319. re.src_P = __webpack_require__(/*! uc.micro/categories/P/regex */ "../../node_modules/uc.micro/categories/P/regex.js").source;
  1320. // \p{\Z\P\Cc\CF} (white spaces + control + format + punctuation)
  1321. re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');
  1322. // \p{\Z\Cc} (white spaces + control)
  1323. re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|');
  1324. // Experimental. List of chars, completely prohibited in links
  1325. // because can separate it from other part of text
  1326. var text_separators = '[><\uff5c]';
  1327. // All possible word characters (everything without punctuation, spaces & controls)
  1328. // Defined via punctuation & spaces to save space
  1329. // Should be something like \p{\L\N\S\M} (\w but without `_`)
  1330. re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';
  1331. // The same as abothe but without [0-9]
  1332. // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';
  1333. ////////////////////////////////////////////////////////////////////////////////
  1334. re.src_ip4 =
  1335. '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';
  1336. // Prohibit any of "@/[]()" in user/pass to avoid wrong domain fetch.
  1337. re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\[\\]()]).)+@)?';
  1338. re.src_port =
  1339. '(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?';
  1340. re.src_host_terminator =
  1341. '(?=$|' + text_separators + '|' + re.src_ZPCc + ')' +
  1342. '(?!' + (opts['---'] ? '-(?!--)|' : '-|') + '_|:\\d|\\.-|\\.(?!$|' + re.src_ZPCc + '))';
  1343. re.src_path =
  1344. '(?:' +
  1345. '[/?#]' +
  1346. '(?:' +
  1347. '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\]{}.,"\'?!\\-;]).|' +
  1348. '\\[(?:(?!' + re.src_ZCc + '|\\]).)*\\]|' +
  1349. '\\((?:(?!' + re.src_ZCc + '|[)]).)*\\)|' +
  1350. '\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\}|' +
  1351. '\\"(?:(?!' + re.src_ZCc + '|["]).)+\\"|' +
  1352. "\\'(?:(?!" + re.src_ZCc + "|[']).)+\\'|" +
  1353. "\\'(?=" + re.src_pseudo_letter + '|[-])|' + // allow `I'm_king` if no pair found
  1354. '\\.{2,}[a-zA-Z0-9%/&]|' + // google has many dots in "google search" links (#66, #81).
  1355. // github has ... in commit range links,
  1356. // Restrict to
  1357. // - english
  1358. // - percent-encoded
  1359. // - parts of file path
  1360. // - params separator
  1361. // until more examples found.
  1362. '\\.(?!' + re.src_ZCc + '|[.]|$)|' +
  1363. (opts['---'] ?
  1364. '\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate
  1365. :
  1366. '\\-+|'
  1367. ) +
  1368. ',(?!' + re.src_ZCc + '|$)|' + // allow `,,,` in paths
  1369. ';(?!' + re.src_ZCc + '|$)|' + // allow `;` if not followed by space-like char
  1370. '\\!+(?!' + re.src_ZCc + '|[!]|$)|' + // allow `!!!` in paths, but not at the end
  1371. '\\?(?!' + re.src_ZCc + '|[?]|$)' +
  1372. ')+' +
  1373. '|\\/' +
  1374. ')?';
  1375. // Allow anything in markdown spec, forbid quote (") at the first position
  1376. // because emails enclosed in quotes are far more common
  1377. re.src_email_name =
  1378. '[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*';
  1379. re.src_xn =
  1380. 'xn--[a-z0-9\\-]{1,59}';
  1381. // More to read about domain names
  1382. // http://serverfault.com/questions/638260/
  1383. re.src_domain_root =
  1384. // Allow letters & digits (http://test1)
  1385. '(?:' +
  1386. re.src_xn +
  1387. '|' +
  1388. re.src_pseudo_letter + '{1,63}' +
  1389. ')';
  1390. re.src_domain =
  1391. '(?:' +
  1392. re.src_xn +
  1393. '|' +
  1394. '(?:' + re.src_pseudo_letter + ')' +
  1395. '|' +
  1396. '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' +
  1397. ')';
  1398. re.src_host =
  1399. '(?:' +
  1400. // Don't need IP check, because digits are already allowed in normal domain names
  1401. // src_ip4 +
  1402. // '|' +
  1403. '(?:(?:(?:' + re.src_domain + ')\\.)*' + re.src_domain/*_root*/ + ')' +
  1404. ')';
  1405. re.tpl_host_fuzzy =
  1406. '(?:' +
  1407. re.src_ip4 +
  1408. '|' +
  1409. '(?:(?:(?:' + re.src_domain + ')\\.)+(?:%TLDS%))' +
  1410. ')';
  1411. re.tpl_host_no_ip_fuzzy =
  1412. '(?:(?:(?:' + re.src_domain + ')\\.)+(?:%TLDS%))';
  1413. re.src_host_strict =
  1414. re.src_host + re.src_host_terminator;
  1415. re.tpl_host_fuzzy_strict =
  1416. re.tpl_host_fuzzy + re.src_host_terminator;
  1417. re.src_host_port_strict =
  1418. re.src_host + re.src_port + re.src_host_terminator;
  1419. re.tpl_host_port_fuzzy_strict =
  1420. re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;
  1421. re.tpl_host_port_no_ip_fuzzy_strict =
  1422. re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;
  1423. ////////////////////////////////////////////////////////////////////////////////
  1424. // Main rules
  1425. // Rude test fuzzy links by host, for quick deny
  1426. re.tpl_host_fuzzy_test =
  1427. 'localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';
  1428. re.tpl_email_fuzzy =
  1429. '(^|' + text_separators + '|"|\\(|' + re.src_ZCc + ')' +
  1430. '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';
  1431. re.tpl_link_fuzzy =
  1432. // Fuzzy link can't be prepended with .:/\- and non punctuation.
  1433. // but can start with > (markdown blockquote)
  1434. '(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|' + re.src_ZPCc + '))' +
  1435. '((?![$+<=>^`|\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';
  1436. re.tpl_link_no_ip_fuzzy =
  1437. // Fuzzy link can't be prepended with .:/\- and non punctuation.
  1438. // but can start with > (markdown blockquote)
  1439. '(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|' + re.src_ZPCc + '))' +
  1440. '((?![$+<=>^`|\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';
  1441. return re;
  1442. };
  1443. /***/ }),
  1444. /***/ "../../node_modules/markdown-it/index.js":
  1445. /*!****************************************************************!*\
  1446. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/index.js ***!
  1447. \****************************************************************/
  1448. /*! no static exports found */
  1449. /***/ (function(module, exports, __webpack_require__) {
  1450. "use strict";
  1451. module.exports = __webpack_require__(/*! ./lib/ */ "../../node_modules/markdown-it/lib/index.js");
  1452. /***/ }),
  1453. /***/ "../../node_modules/markdown-it/lib/common/entities.js":
  1454. /*!******************************************************************************!*\
  1455. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/common/entities.js ***!
  1456. \******************************************************************************/
  1457. /*! no static exports found */
  1458. /***/ (function(module, exports, __webpack_require__) {
  1459. "use strict";
  1460. // HTML5 entities map: { name -> utf16string }
  1461. //
  1462. /*eslint quotes:0*/
  1463. module.exports = __webpack_require__(/*! entities/lib/maps/entities.json */ "../../node_modules/markdown-it/node_modules/entities/lib/maps/entities.json");
  1464. /***/ }),
  1465. /***/ "../../node_modules/markdown-it/lib/common/html_blocks.js":
  1466. /*!*********************************************************************************!*\
  1467. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/common/html_blocks.js ***!
  1468. \*********************************************************************************/
  1469. /*! no static exports found */
  1470. /***/ (function(module, exports, __webpack_require__) {
  1471. "use strict";
  1472. // List of valid html blocks names, accorting to commonmark spec
  1473. // http://jgm.github.io/CommonMark/spec.html#html-blocks
  1474. module.exports = [
  1475. 'address',
  1476. 'article',
  1477. 'aside',
  1478. 'base',
  1479. 'basefont',
  1480. 'blockquote',
  1481. 'body',
  1482. 'caption',
  1483. 'center',
  1484. 'col',
  1485. 'colgroup',
  1486. 'dd',
  1487. 'details',
  1488. 'dialog',
  1489. 'dir',
  1490. 'div',
  1491. 'dl',
  1492. 'dt',
  1493. 'fieldset',
  1494. 'figcaption',
  1495. 'figure',
  1496. 'footer',
  1497. 'form',
  1498. 'frame',
  1499. 'frameset',
  1500. 'h1',
  1501. 'h2',
  1502. 'h3',
  1503. 'h4',
  1504. 'h5',
  1505. 'h6',
  1506. 'head',
  1507. 'header',
  1508. 'hr',
  1509. 'html',
  1510. 'iframe',
  1511. 'legend',
  1512. 'li',
  1513. 'link',
  1514. 'main',
  1515. 'menu',
  1516. 'menuitem',
  1517. 'nav',
  1518. 'noframes',
  1519. 'ol',
  1520. 'optgroup',
  1521. 'option',
  1522. 'p',
  1523. 'param',
  1524. 'section',
  1525. 'source',
  1526. 'summary',
  1527. 'table',
  1528. 'tbody',
  1529. 'td',
  1530. 'tfoot',
  1531. 'th',
  1532. 'thead',
  1533. 'title',
  1534. 'tr',
  1535. 'track',
  1536. 'ul'
  1537. ];
  1538. /***/ }),
  1539. /***/ "../../node_modules/markdown-it/lib/common/html_re.js":
  1540. /*!*****************************************************************************!*\
  1541. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/common/html_re.js ***!
  1542. \*****************************************************************************/
  1543. /*! no static exports found */
  1544. /***/ (function(module, exports, __webpack_require__) {
  1545. "use strict";
  1546. // Regexps to match html elements
  1547. var attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';
  1548. var unquoted = '[^"\'=<>`\\x00-\\x20]+';
  1549. var single_quoted = "'[^']*'";
  1550. var double_quoted = '"[^"]*"';
  1551. var attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';
  1552. var attribute = '(?:\\s+' + attr_name + '(?:\\s*=\\s*' + attr_value + ')?)';
  1553. var open_tag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>';
  1554. var close_tag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>';
  1555. var comment = '<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->';
  1556. var processing = '<[?][\\s\\S]*?[?]>';
  1557. var declaration = '<![A-Z]+\\s+[^>]*>';
  1558. var cdata = '<!\\[CDATA\\[[\\s\\S]*?\\]\\]>';
  1559. var HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment +
  1560. '|' + processing + '|' + declaration + '|' + cdata + ')');
  1561. var HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')');
  1562. module.exports.HTML_TAG_RE = HTML_TAG_RE;
  1563. module.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;
  1564. /***/ }),
  1565. /***/ "../../node_modules/markdown-it/lib/common/utils.js":
  1566. /*!***************************************************************************!*\
  1567. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/common/utils.js ***!
  1568. \***************************************************************************/
  1569. /*! no static exports found */
  1570. /***/ (function(module, exports, __webpack_require__) {
  1571. "use strict";
  1572. // Utilities
  1573. //
  1574. function _class(obj) { return Object.prototype.toString.call(obj); }
  1575. function isString(obj) { return _class(obj) === '[object String]'; }
  1576. var _hasOwnProperty = Object.prototype.hasOwnProperty;
  1577. function has(object, key) {
  1578. return _hasOwnProperty.call(object, key);
  1579. }
  1580. // Merge objects
  1581. //
  1582. function assign(obj /*from1, from2, from3, ...*/) {
  1583. var sources = Array.prototype.slice.call(arguments, 1);
  1584. sources.forEach(function (source) {
  1585. if (!source) { return; }
  1586. if (typeof source !== 'object') {
  1587. throw new TypeError(source + 'must be object');
  1588. }
  1589. Object.keys(source).forEach(function (key) {
  1590. obj[key] = source[key];
  1591. });
  1592. });
  1593. return obj;
  1594. }
  1595. // Remove element from array and put another array at those position.
  1596. // Useful for some operations with tokens
  1597. function arrayReplaceAt(src, pos, newElements) {
  1598. return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1));
  1599. }
  1600. ////////////////////////////////////////////////////////////////////////////////
  1601. function isValidEntityCode(c) {
  1602. /*eslint no-bitwise:0*/
  1603. // broken sequence
  1604. if (c >= 0xD800 && c <= 0xDFFF) { return false; }
  1605. // never used
  1606. if (c >= 0xFDD0 && c <= 0xFDEF) { return false; }
  1607. if ((c & 0xFFFF) === 0xFFFF || (c & 0xFFFF) === 0xFFFE) { return false; }
  1608. // control codes
  1609. if (c >= 0x00 && c <= 0x08) { return false; }
  1610. if (c === 0x0B) { return false; }
  1611. if (c >= 0x0E && c <= 0x1F) { return false; }
  1612. if (c >= 0x7F && c <= 0x9F) { return false; }
  1613. // out of range
  1614. if (c > 0x10FFFF) { return false; }
  1615. return true;
  1616. }
  1617. function fromCodePoint(c) {
  1618. /*eslint no-bitwise:0*/
  1619. if (c > 0xffff) {
  1620. c -= 0x10000;
  1621. var surrogate1 = 0xd800 + (c >> 10),
  1622. surrogate2 = 0xdc00 + (c & 0x3ff);
  1623. return String.fromCharCode(surrogate1, surrogate2);
  1624. }
  1625. return String.fromCharCode(c);
  1626. }
  1627. var UNESCAPE_MD_RE = /\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g;
  1628. var ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi;
  1629. var UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source, 'gi');
  1630. var DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;
  1631. var entities = __webpack_require__(/*! ./entities */ "../../node_modules/markdown-it/lib/common/entities.js");
  1632. function replaceEntityPattern(match, name) {
  1633. var code;
  1634. if (has(entities, name)) {
  1635. return entities[name];
  1636. }
  1637. if (name.charCodeAt(0) === 0x23/* # */ && DIGITAL_ENTITY_TEST_RE.test(name)) {
  1638. code = name[1].toLowerCase() === 'x' ?
  1639. parseInt(name.slice(2), 16) : parseInt(name.slice(1), 10);
  1640. if (isValidEntityCode(code)) {
  1641. return fromCodePoint(code);
  1642. }
  1643. }
  1644. return match;
  1645. }
  1646. /*function replaceEntities(str) {
  1647. if (str.indexOf('&') < 0) { return str; }
  1648. return str.replace(ENTITY_RE, replaceEntityPattern);
  1649. }*/
  1650. function unescapeMd(str) {
  1651. if (str.indexOf('\\') < 0) { return str; }
  1652. return str.replace(UNESCAPE_MD_RE, '$1');
  1653. }
  1654. function unescapeAll(str) {
  1655. if (str.indexOf('\\') < 0 && str.indexOf('&') < 0) { return str; }
  1656. return str.replace(UNESCAPE_ALL_RE, function (match, escaped, entity) {
  1657. if (escaped) { return escaped; }
  1658. return replaceEntityPattern(match, entity);
  1659. });
  1660. }
  1661. ////////////////////////////////////////////////////////////////////////////////
  1662. var HTML_ESCAPE_TEST_RE = /[&<>"]/;
  1663. var HTML_ESCAPE_REPLACE_RE = /[&<>"]/g;
  1664. var HTML_REPLACEMENTS = {
  1665. '&': '&amp;',
  1666. '<': '&lt;',
  1667. '>': '&gt;',
  1668. '"': '&quot;'
  1669. };
  1670. function replaceUnsafeChar(ch) {
  1671. return HTML_REPLACEMENTS[ch];
  1672. }
  1673. function escapeHtml(str) {
  1674. if (HTML_ESCAPE_TEST_RE.test(str)) {
  1675. return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar);
  1676. }
  1677. return str;
  1678. }
  1679. ////////////////////////////////////////////////////////////////////////////////
  1680. var REGEXP_ESCAPE_RE = /[.?*+^$[\]\\(){}|-]/g;
  1681. function escapeRE(str) {
  1682. return str.replace(REGEXP_ESCAPE_RE, '\\$&');
  1683. }
  1684. ////////////////////////////////////////////////////////////////////////////////
  1685. function isSpace(code) {
  1686. switch (code) {
  1687. case 0x09:
  1688. case 0x20:
  1689. return true;
  1690. }
  1691. return false;
  1692. }
  1693. // Zs (unicode class) || [\t\f\v\r\n]
  1694. function isWhiteSpace(code) {
  1695. if (code >= 0x2000 && code <= 0x200A) { return true; }
  1696. switch (code) {
  1697. case 0x09: // \t
  1698. case 0x0A: // \n
  1699. case 0x0B: // \v
  1700. case 0x0C: // \f
  1701. case 0x0D: // \r
  1702. case 0x20:
  1703. case 0xA0:
  1704. case 0x1680:
  1705. case 0x202F:
  1706. case 0x205F:
  1707. case 0x3000:
  1708. return true;
  1709. }
  1710. return false;
  1711. }
  1712. ////////////////////////////////////////////////////////////////////////////////
  1713. /*eslint-disable max-len*/
  1714. var UNICODE_PUNCT_RE = __webpack_require__(/*! uc.micro/categories/P/regex */ "../../node_modules/uc.micro/categories/P/regex.js");
  1715. // Currently without astral characters support.
  1716. function isPunctChar(ch) {
  1717. return UNICODE_PUNCT_RE.test(ch);
  1718. }
  1719. // Markdown ASCII punctuation characters.
  1720. //
  1721. // !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, or ~
  1722. // http://spec.commonmark.org/0.15/#ascii-punctuation-character
  1723. //
  1724. // Don't confuse with unicode punctuation !!! It lacks some chars in ascii range.
  1725. //
  1726. function isMdAsciiPunct(ch) {
  1727. switch (ch) {
  1728. case 0x21/* ! */:
  1729. case 0x22/* " */:
  1730. case 0x23/* # */:
  1731. case 0x24/* $ */:
  1732. case 0x25/* % */:
  1733. case 0x26/* & */:
  1734. case 0x27/* ' */:
  1735. case 0x28/* ( */:
  1736. case 0x29/* ) */:
  1737. case 0x2A/* * */:
  1738. case 0x2B/* + */:
  1739. case 0x2C/* , */:
  1740. case 0x2D/* - */:
  1741. case 0x2E/* . */:
  1742. case 0x2F/* / */:
  1743. case 0x3A/* : */:
  1744. case 0x3B/* ; */:
  1745. case 0x3C/* < */:
  1746. case 0x3D/* = */:
  1747. case 0x3E/* > */:
  1748. case 0x3F/* ? */:
  1749. case 0x40/* @ */:
  1750. case 0x5B/* [ */:
  1751. case 0x5C/* \ */:
  1752. case 0x5D/* ] */:
  1753. case 0x5E/* ^ */:
  1754. case 0x5F/* _ */:
  1755. case 0x60/* ` */:
  1756. case 0x7B/* { */:
  1757. case 0x7C/* | */:
  1758. case 0x7D/* } */:
  1759. case 0x7E/* ~ */:
  1760. return true;
  1761. default:
  1762. return false;
  1763. }
  1764. }
  1765. // Hepler to unify [reference labels].
  1766. //
  1767. function normalizeReference(str) {
  1768. // Trim and collapse whitespace
  1769. //
  1770. str = str.trim().replace(/\s+/g, ' ');
  1771. // In node v10 'ẞ'.toLowerCase() === 'Ṿ', which is presumed to be a bug
  1772. // fixed in v12 (couldn't find any details).
  1773. //
  1774. // So treat this one as a special case
  1775. // (remove this when node v10 is no longer supported).
  1776. //
  1777. if ('ẞ'.toLowerCase() === 'Ṿ') {
  1778. str = str.replace(/ẞ/g, 'ß');
  1779. }
  1780. // .toLowerCase().toUpperCase() should get rid of all differences
  1781. // between letter variants.
  1782. //
  1783. // Simple .toLowerCase() doesn't normalize 125 code points correctly,
  1784. // and .toUpperCase doesn't normalize 6 of them (list of exceptions:
  1785. // İ, ϴ, ẞ, Ω, K, Å - those are already uppercased, but have differently
  1786. // uppercased versions).
  1787. //
  1788. // Here's an example showing how it happens. Lets take greek letter omega:
  1789. // uppercase U+0398 (Θ), U+03f4 (ϴ) and lowercase U+03b8 (θ), U+03d1 (ϑ)
  1790. //
  1791. // Unicode entries:
  1792. // 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8;
  1793. // 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398
  1794. // 03D1;GREEK THETA SYMBOL;Ll;0;L;<compat> 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398
  1795. // 03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L;<compat> 0398;;;;N;;;;03B8;
  1796. //
  1797. // Case-insensitive comparison should treat all of them as equivalent.
  1798. //
  1799. // But .toLowerCase() doesn't change ϑ (it's already lowercase),
  1800. // and .toUpperCase() doesn't change ϴ (already uppercase).
  1801. //
  1802. // Applying first lower then upper case normalizes any character:
  1803. // '\u0398\u03f4\u03b8\u03d1'.toLowerCase().toUpperCase() === '\u0398\u0398\u0398\u0398'
  1804. //
  1805. // Note: this is equivalent to unicode case folding; unicode normalization
  1806. // is a different step that is not required here.
  1807. //
  1808. // Final result should be uppercased, because it's later stored in an object
  1809. // (this avoid a conflict with Object.prototype members,
  1810. // most notably, `__proto__`)
  1811. //
  1812. return str.toLowerCase().toUpperCase();
  1813. }
  1814. ////////////////////////////////////////////////////////////////////////////////
  1815. // Re-export libraries commonly used in both markdown-it and its plugins,
  1816. // so plugins won't have to depend on them explicitly, which reduces their
  1817. // bundled size (e.g. a browser build).
  1818. //
  1819. exports.lib = {};
  1820. exports.lib.mdurl = __webpack_require__(/*! mdurl */ "../../node_modules/mdurl/index.js");
  1821. exports.lib.ucmicro = __webpack_require__(/*! uc.micro */ "../../node_modules/uc.micro/index.js");
  1822. exports.assign = assign;
  1823. exports.isString = isString;
  1824. exports.has = has;
  1825. exports.unescapeMd = unescapeMd;
  1826. exports.unescapeAll = unescapeAll;
  1827. exports.isValidEntityCode = isValidEntityCode;
  1828. exports.fromCodePoint = fromCodePoint;
  1829. // exports.replaceEntities = replaceEntities;
  1830. exports.escapeHtml = escapeHtml;
  1831. exports.arrayReplaceAt = arrayReplaceAt;
  1832. exports.isSpace = isSpace;
  1833. exports.isWhiteSpace = isWhiteSpace;
  1834. exports.isMdAsciiPunct = isMdAsciiPunct;
  1835. exports.isPunctChar = isPunctChar;
  1836. exports.escapeRE = escapeRE;
  1837. exports.normalizeReference = normalizeReference;
  1838. /***/ }),
  1839. /***/ "../../node_modules/markdown-it/lib/helpers/index.js":
  1840. /*!****************************************************************************!*\
  1841. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/helpers/index.js ***!
  1842. \****************************************************************************/
  1843. /*! no static exports found */
  1844. /***/ (function(module, exports, __webpack_require__) {
  1845. "use strict";
  1846. // Just a shortcut for bulk export
  1847. exports.parseLinkLabel = __webpack_require__(/*! ./parse_link_label */ "../../node_modules/markdown-it/lib/helpers/parse_link_label.js");
  1848. exports.parseLinkDestination = __webpack_require__(/*! ./parse_link_destination */ "../../node_modules/markdown-it/lib/helpers/parse_link_destination.js");
  1849. exports.parseLinkTitle = __webpack_require__(/*! ./parse_link_title */ "../../node_modules/markdown-it/lib/helpers/parse_link_title.js");
  1850. /***/ }),
  1851. /***/ "../../node_modules/markdown-it/lib/helpers/parse_link_destination.js":
  1852. /*!*********************************************************************************************!*\
  1853. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/helpers/parse_link_destination.js ***!
  1854. \*********************************************************************************************/
  1855. /*! no static exports found */
  1856. /***/ (function(module, exports, __webpack_require__) {
  1857. "use strict";
  1858. // Parse link destination
  1859. //
  1860. var unescapeAll = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").unescapeAll;
  1861. module.exports = function parseLinkDestination(str, start, max) {
  1862. var code, level,
  1863. pos = start,
  1864. result = {
  1865. ok: false,
  1866. pos: 0,
  1867. lines: 0,
  1868. str: ''
  1869. };
  1870. if (str.charCodeAt(pos) === 0x3C /* < */) {
  1871. pos++;
  1872. while (pos < max) {
  1873. code = str.charCodeAt(pos);
  1874. if (code === 0x0A /* \n */) { return result; }
  1875. if (code === 0x3C /* < */) { return result; }
  1876. if (code === 0x3E /* > */) {
  1877. result.pos = pos + 1;
  1878. result.str = unescapeAll(str.slice(start + 1, pos));
  1879. result.ok = true;
  1880. return result;
  1881. }
  1882. if (code === 0x5C /* \ */ && pos + 1 < max) {
  1883. pos += 2;
  1884. continue;
  1885. }
  1886. pos++;
  1887. }
  1888. // no closing '>'
  1889. return result;
  1890. }
  1891. // this should be ... } else { ... branch
  1892. level = 0;
  1893. while (pos < max) {
  1894. code = str.charCodeAt(pos);
  1895. if (code === 0x20) { break; }
  1896. // ascii control characters
  1897. if (code < 0x20 || code === 0x7F) { break; }
  1898. if (code === 0x5C /* \ */ && pos + 1 < max) {
  1899. if (str.charCodeAt(pos + 1) === 0x20) { break; }
  1900. pos += 2;
  1901. continue;
  1902. }
  1903. if (code === 0x28 /* ( */) {
  1904. level++;
  1905. if (level > 32) { return result; }
  1906. }
  1907. if (code === 0x29 /* ) */) {
  1908. if (level === 0) { break; }
  1909. level--;
  1910. }
  1911. pos++;
  1912. }
  1913. if (start === pos) { return result; }
  1914. if (level !== 0) { return result; }
  1915. result.str = unescapeAll(str.slice(start, pos));
  1916. result.pos = pos;
  1917. result.ok = true;
  1918. return result;
  1919. };
  1920. /***/ }),
  1921. /***/ "../../node_modules/markdown-it/lib/helpers/parse_link_label.js":
  1922. /*!***************************************************************************************!*\
  1923. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/helpers/parse_link_label.js ***!
  1924. \***************************************************************************************/
  1925. /*! no static exports found */
  1926. /***/ (function(module, exports, __webpack_require__) {
  1927. "use strict";
  1928. // Parse link label
  1929. //
  1930. // this function assumes that first character ("[") already matches;
  1931. // returns the end of the label
  1932. //
  1933. module.exports = function parseLinkLabel(state, start, disableNested) {
  1934. var level, found, marker, prevPos,
  1935. labelEnd = -1,
  1936. max = state.posMax,
  1937. oldPos = state.pos;
  1938. state.pos = start + 1;
  1939. level = 1;
  1940. while (state.pos < max) {
  1941. marker = state.src.charCodeAt(state.pos);
  1942. if (marker === 0x5D /* ] */) {
  1943. level--;
  1944. if (level === 0) {
  1945. found = true;
  1946. break;
  1947. }
  1948. }
  1949. prevPos = state.pos;
  1950. state.md.inline.skipToken(state);
  1951. if (marker === 0x5B /* [ */) {
  1952. if (prevPos === state.pos - 1) {
  1953. // increase level if we find text `[`, which is not a part of any token
  1954. level++;
  1955. } else if (disableNested) {
  1956. state.pos = oldPos;
  1957. return -1;
  1958. }
  1959. }
  1960. }
  1961. if (found) {
  1962. labelEnd = state.pos;
  1963. }
  1964. // restore old state
  1965. state.pos = oldPos;
  1966. return labelEnd;
  1967. };
  1968. /***/ }),
  1969. /***/ "../../node_modules/markdown-it/lib/helpers/parse_link_title.js":
  1970. /*!***************************************************************************************!*\
  1971. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/helpers/parse_link_title.js ***!
  1972. \***************************************************************************************/
  1973. /*! no static exports found */
  1974. /***/ (function(module, exports, __webpack_require__) {
  1975. "use strict";
  1976. // Parse link title
  1977. //
  1978. var unescapeAll = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").unescapeAll;
  1979. module.exports = function parseLinkTitle(str, start, max) {
  1980. var code,
  1981. marker,
  1982. lines = 0,
  1983. pos = start,
  1984. result = {
  1985. ok: false,
  1986. pos: 0,
  1987. lines: 0,
  1988. str: ''
  1989. };
  1990. if (pos >= max) { return result; }
  1991. marker = str.charCodeAt(pos);
  1992. if (marker !== 0x22 /* " */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) { return result; }
  1993. pos++;
  1994. // if opening marker is "(", switch it to closing marker ")"
  1995. if (marker === 0x28) { marker = 0x29; }
  1996. while (pos < max) {
  1997. code = str.charCodeAt(pos);
  1998. if (code === marker) {
  1999. result.pos = pos + 1;
  2000. result.lines = lines;
  2001. result.str = unescapeAll(str.slice(start + 1, pos));
  2002. result.ok = true;
  2003. return result;
  2004. } else if (code === 0x28 /* ( */ && marker === 0x29 /* ) */) {
  2005. return result;
  2006. } else if (code === 0x0A) {
  2007. lines++;
  2008. } else if (code === 0x5C /* \ */ && pos + 1 < max) {
  2009. pos++;
  2010. if (str.charCodeAt(pos) === 0x0A) {
  2011. lines++;
  2012. }
  2013. }
  2014. pos++;
  2015. }
  2016. return result;
  2017. };
  2018. /***/ }),
  2019. /***/ "../../node_modules/markdown-it/lib/index.js":
  2020. /*!********************************************************************!*\
  2021. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/index.js ***!
  2022. \********************************************************************/
  2023. /*! no static exports found */
  2024. /***/ (function(module, exports, __webpack_require__) {
  2025. "use strict";
  2026. // Main parser class
  2027. var utils = __webpack_require__(/*! ./common/utils */ "../../node_modules/markdown-it/lib/common/utils.js");
  2028. var helpers = __webpack_require__(/*! ./helpers */ "../../node_modules/markdown-it/lib/helpers/index.js");
  2029. var Renderer = __webpack_require__(/*! ./renderer */ "../../node_modules/markdown-it/lib/renderer.js");
  2030. var ParserCore = __webpack_require__(/*! ./parser_core */ "../../node_modules/markdown-it/lib/parser_core.js");
  2031. var ParserBlock = __webpack_require__(/*! ./parser_block */ "../../node_modules/markdown-it/lib/parser_block.js");
  2032. var ParserInline = __webpack_require__(/*! ./parser_inline */ "../../node_modules/markdown-it/lib/parser_inline.js");
  2033. var LinkifyIt = __webpack_require__(/*! linkify-it */ "../../node_modules/linkify-it/index.js");
  2034. var mdurl = __webpack_require__(/*! mdurl */ "../../node_modules/mdurl/index.js");
  2035. var punycode = __webpack_require__(/*! punycode */ "../../node_modules/punycode/punycode.js");
  2036. var config = {
  2037. default: __webpack_require__(/*! ./presets/default */ "../../node_modules/markdown-it/lib/presets/default.js"),
  2038. zero: __webpack_require__(/*! ./presets/zero */ "../../node_modules/markdown-it/lib/presets/zero.js"),
  2039. commonmark: __webpack_require__(/*! ./presets/commonmark */ "../../node_modules/markdown-it/lib/presets/commonmark.js")
  2040. };
  2041. ////////////////////////////////////////////////////////////////////////////////
  2042. //
  2043. // This validator can prohibit more than really needed to prevent XSS. It's a
  2044. // tradeoff to keep code simple and to be secure by default.
  2045. //
  2046. // If you need different setup - override validator method as you wish. Or
  2047. // replace it with dummy function and use external sanitizer.
  2048. //
  2049. var BAD_PROTO_RE = /^(vbscript|javascript|file|data):/;
  2050. var GOOD_DATA_RE = /^data:image\/(gif|png|jpeg|webp);/;
  2051. function validateLink(url) {
  2052. // url should be normalized at this point, and existing entities are decoded
  2053. var str = url.trim().toLowerCase();
  2054. return BAD_PROTO_RE.test(str) ? (GOOD_DATA_RE.test(str) ? true : false) : true;
  2055. }
  2056. ////////////////////////////////////////////////////////////////////////////////
  2057. var RECODE_HOSTNAME_FOR = [ 'http:', 'https:', 'mailto:' ];
  2058. function normalizeLink(url) {
  2059. var parsed = mdurl.parse(url, true);
  2060. if (parsed.hostname) {
  2061. // Encode hostnames in urls like:
  2062. // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`
  2063. //
  2064. // We don't encode unknown schemas, because it's likely that we encode
  2065. // something we shouldn't (e.g. `skype:name` treated as `skype:host`)
  2066. //
  2067. if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {
  2068. try {
  2069. parsed.hostname = punycode.toASCII(parsed.hostname);
  2070. } catch (er) { /**/ }
  2071. }
  2072. }
  2073. return mdurl.encode(mdurl.format(parsed));
  2074. }
  2075. function normalizeLinkText(url) {
  2076. var parsed = mdurl.parse(url, true);
  2077. if (parsed.hostname) {
  2078. // Encode hostnames in urls like:
  2079. // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`
  2080. //
  2081. // We don't encode unknown schemas, because it's likely that we encode
  2082. // something we shouldn't (e.g. `skype:name` treated as `skype:host`)
  2083. //
  2084. if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {
  2085. try {
  2086. parsed.hostname = punycode.toUnicode(parsed.hostname);
  2087. } catch (er) { /**/ }
  2088. }
  2089. }
  2090. // add '%' to exclude list because of https://github.com/markdown-it/markdown-it/issues/720
  2091. return mdurl.decode(mdurl.format(parsed), mdurl.decode.defaultChars + '%');
  2092. }
  2093. /**
  2094. * class MarkdownIt
  2095. *
  2096. * Main parser/renderer class.
  2097. *
  2098. * ##### Usage
  2099. *
  2100. * ```javascript
  2101. * // node.js, "classic" way:
  2102. * var MarkdownIt = require('markdown-it'),
  2103. * md = new MarkdownIt();
  2104. * var result = md.render('# markdown-it rulezz!');
  2105. *
  2106. * // node.js, the same, but with sugar:
  2107. * var md = require('markdown-it')();
  2108. * var result = md.render('# markdown-it rulezz!');
  2109. *
  2110. * // browser without AMD, added to "window" on script load
  2111. * // Note, there are no dash.
  2112. * var md = window.markdownit();
  2113. * var result = md.render('# markdown-it rulezz!');
  2114. * ```
  2115. *
  2116. * Single line rendering, without paragraph wrap:
  2117. *
  2118. * ```javascript
  2119. * var md = require('markdown-it')();
  2120. * var result = md.renderInline('__markdown-it__ rulezz!');
  2121. * ```
  2122. **/
  2123. /**
  2124. * new MarkdownIt([presetName, options])
  2125. * - presetName (String): optional, `commonmark` / `zero`
  2126. * - options (Object)
  2127. *
  2128. * Creates parser instanse with given config. Can be called without `new`.
  2129. *
  2130. * ##### presetName
  2131. *
  2132. * MarkdownIt provides named presets as a convenience to quickly
  2133. * enable/disable active syntax rules and options for common use cases.
  2134. *
  2135. * - ["commonmark"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.js) -
  2136. * configures parser to strict [CommonMark](http://commonmark.org/) mode.
  2137. * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.js) -
  2138. * similar to GFM, used when no preset name given. Enables all available rules,
  2139. * but still without html, typographer & autolinker.
  2140. * - ["zero"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js) -
  2141. * all rules disabled. Useful to quickly setup your config via `.enable()`.
  2142. * For example, when you need only `bold` and `italic` markup and nothing else.
  2143. *
  2144. * ##### options:
  2145. *
  2146. * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful!
  2147. * That's not safe! You may need external sanitizer to protect output from XSS.
  2148. * It's better to extend features via plugins, instead of enabling HTML.
  2149. * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags
  2150. * (`<br />`). This is needed only for full CommonMark compatibility. In real
  2151. * world you will need HTML output.
  2152. * - __breaks__ - `false`. Set `true` to convert `\n` in paragraphs into `<br>`.
  2153. * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks.
  2154. * Can be useful for external highlighters.
  2155. * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links.
  2156. * - __typographer__ - `false`. Set `true` to enable [some language-neutral
  2157. * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) +
  2158. * quotes beautification (smartquotes).
  2159. * - __quotes__ - `“”‘’`, String or Array. Double + single quotes replacement
  2160. * pairs, when typographer enabled and smartquotes on. For example, you can
  2161. * use `'«»„“'` for Russian, `'„“‚‘'` for German, and
  2162. * `['«\xA0', '\xA0»', '‹\xA0', '\xA0›']` for French (including nbsp).
  2163. * - __highlight__ - `null`. Highlighter function for fenced code blocks.
  2164. * Highlighter `function (str, lang)` should return escaped HTML. It can also
  2165. * return empty string if the source was not changed and should be escaped
  2166. * externaly. If result starts with <pre... internal wrapper is skipped.
  2167. *
  2168. * ##### Example
  2169. *
  2170. * ```javascript
  2171. * // commonmark mode
  2172. * var md = require('markdown-it')('commonmark');
  2173. *
  2174. * // default mode
  2175. * var md = require('markdown-it')();
  2176. *
  2177. * // enable everything
  2178. * var md = require('markdown-it')({
  2179. * html: true,
  2180. * linkify: true,
  2181. * typographer: true
  2182. * });
  2183. * ```
  2184. *
  2185. * ##### Syntax highlighting
  2186. *
  2187. * ```js
  2188. * var hljs = require('highlight.js') // https://highlightjs.org/
  2189. *
  2190. * var md = require('markdown-it')({
  2191. * highlight: function (str, lang) {
  2192. * if (lang && hljs.getLanguage(lang)) {
  2193. * try {
  2194. * return hljs.highlight(str, { language: lang, ignoreIllegals: true }).value;
  2195. * } catch (__) {}
  2196. * }
  2197. *
  2198. * return ''; // use external default escaping
  2199. * }
  2200. * });
  2201. * ```
  2202. *
  2203. * Or with full wrapper override (if you need assign class to `<pre>`):
  2204. *
  2205. * ```javascript
  2206. * var hljs = require('highlight.js') // https://highlightjs.org/
  2207. *
  2208. * // Actual default values
  2209. * var md = require('markdown-it')({
  2210. * highlight: function (str, lang) {
  2211. * if (lang && hljs.getLanguage(lang)) {
  2212. * try {
  2213. * return '<pre class="hljs"><code>' +
  2214. * hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +
  2215. * '</code></pre>';
  2216. * } catch (__) {}
  2217. * }
  2218. *
  2219. * return '<pre class="hljs"><code>' + md.utils.escapeHtml(str) + '</code></pre>';
  2220. * }
  2221. * });
  2222. * ```
  2223. *
  2224. **/
  2225. function MarkdownIt(presetName, options) {
  2226. if (!(this instanceof MarkdownIt)) {
  2227. return new MarkdownIt(presetName, options);
  2228. }
  2229. if (!options) {
  2230. if (!utils.isString(presetName)) {
  2231. options = presetName || {};
  2232. presetName = 'default';
  2233. }
  2234. }
  2235. /**
  2236. * MarkdownIt#inline -> ParserInline
  2237. *
  2238. * Instance of [[ParserInline]]. You may need it to add new rules when
  2239. * writing plugins. For simple rules control use [[MarkdownIt.disable]] and
  2240. * [[MarkdownIt.enable]].
  2241. **/
  2242. this.inline = new ParserInline();
  2243. /**
  2244. * MarkdownIt#block -> ParserBlock
  2245. *
  2246. * Instance of [[ParserBlock]]. You may need it to add new rules when
  2247. * writing plugins. For simple rules control use [[MarkdownIt.disable]] and
  2248. * [[MarkdownIt.enable]].
  2249. **/
  2250. this.block = new ParserBlock();
  2251. /**
  2252. * MarkdownIt#core -> Core
  2253. *
  2254. * Instance of [[Core]] chain executor. You may need it to add new rules when
  2255. * writing plugins. For simple rules control use [[MarkdownIt.disable]] and
  2256. * [[MarkdownIt.enable]].
  2257. **/
  2258. this.core = new ParserCore();
  2259. /**
  2260. * MarkdownIt#renderer -> Renderer
  2261. *
  2262. * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering
  2263. * rules for new token types, generated by plugins.
  2264. *
  2265. * ##### Example
  2266. *
  2267. * ```javascript
  2268. * var md = require('markdown-it')();
  2269. *
  2270. * function myToken(tokens, idx, options, env, self) {
  2271. * //...
  2272. * return result;
  2273. * };
  2274. *
  2275. * md.renderer.rules['my_token'] = myToken
  2276. * ```
  2277. *
  2278. * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js).
  2279. **/
  2280. this.renderer = new Renderer();
  2281. /**
  2282. * MarkdownIt#linkify -> LinkifyIt
  2283. *
  2284. * [linkify-it](https://github.com/markdown-it/linkify-it) instance.
  2285. * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js)
  2286. * rule.
  2287. **/
  2288. this.linkify = new LinkifyIt();
  2289. /**
  2290. * MarkdownIt#validateLink(url) -> Boolean
  2291. *
  2292. * Link validation function. CommonMark allows too much in links. By default
  2293. * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas
  2294. * except some embedded image types.
  2295. *
  2296. * You can change this behaviour:
  2297. *
  2298. * ```javascript
  2299. * var md = require('markdown-it')();
  2300. * // enable everything
  2301. * md.validateLink = function () { return true; }
  2302. * ```
  2303. **/
  2304. this.validateLink = validateLink;
  2305. /**
  2306. * MarkdownIt#normalizeLink(url) -> String
  2307. *
  2308. * Function used to encode link url to a machine-readable format,
  2309. * which includes url-encoding, punycode, etc.
  2310. **/
  2311. this.normalizeLink = normalizeLink;
  2312. /**
  2313. * MarkdownIt#normalizeLinkText(url) -> String
  2314. *
  2315. * Function used to decode link url to a human-readable format`
  2316. **/
  2317. this.normalizeLinkText = normalizeLinkText;
  2318. // Expose utils & helpers for easy acces from plugins
  2319. /**
  2320. * MarkdownIt#utils -> utils
  2321. *
  2322. * Assorted utility functions, useful to write plugins. See details
  2323. * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.js).
  2324. **/
  2325. this.utils = utils;
  2326. /**
  2327. * MarkdownIt#helpers -> helpers
  2328. *
  2329. * Link components parser functions, useful to write plugins. See details
  2330. * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers).
  2331. **/
  2332. this.helpers = utils.assign({}, helpers);
  2333. this.options = {};
  2334. this.configure(presetName);
  2335. if (options) { this.set(options); }
  2336. }
  2337. /** chainable
  2338. * MarkdownIt.set(options)
  2339. *
  2340. * Set parser options (in the same format as in constructor). Probably, you
  2341. * will never need it, but you can change options after constructor call.
  2342. *
  2343. * ##### Example
  2344. *
  2345. * ```javascript
  2346. * var md = require('markdown-it')()
  2347. * .set({ html: true, breaks: true })
  2348. * .set({ typographer, true });
  2349. * ```
  2350. *
  2351. * __Note:__ To achieve the best possible performance, don't modify a
  2352. * `markdown-it` instance options on the fly. If you need multiple configurations
  2353. * it's best to create multiple instances and initialize each with separate
  2354. * config.
  2355. **/
  2356. MarkdownIt.prototype.set = function (options) {
  2357. utils.assign(this.options, options);
  2358. return this;
  2359. };
  2360. /** chainable, internal
  2361. * MarkdownIt.configure(presets)
  2362. *
  2363. * Batch load of all options and compenent settings. This is internal method,
  2364. * and you probably will not need it. But if you will - see available presets
  2365. * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets)
  2366. *
  2367. * We strongly recommend to use presets instead of direct config loads. That
  2368. * will give better compatibility with next versions.
  2369. **/
  2370. MarkdownIt.prototype.configure = function (presets) {
  2371. var self = this, presetName;
  2372. if (utils.isString(presets)) {
  2373. presetName = presets;
  2374. presets = config[presetName];
  2375. if (!presets) { throw new Error('Wrong `markdown-it` preset "' + presetName + '", check name'); }
  2376. }
  2377. if (!presets) { throw new Error('Wrong `markdown-it` preset, can\'t be empty'); }
  2378. if (presets.options) { self.set(presets.options); }
  2379. if (presets.components) {
  2380. Object.keys(presets.components).forEach(function (name) {
  2381. if (presets.components[name].rules) {
  2382. self[name].ruler.enableOnly(presets.components[name].rules);
  2383. }
  2384. if (presets.components[name].rules2) {
  2385. self[name].ruler2.enableOnly(presets.components[name].rules2);
  2386. }
  2387. });
  2388. }
  2389. return this;
  2390. };
  2391. /** chainable
  2392. * MarkdownIt.enable(list, ignoreInvalid)
  2393. * - list (String|Array): rule name or list of rule names to enable
  2394. * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.
  2395. *
  2396. * Enable list or rules. It will automatically find appropriate components,
  2397. * containing rules with given names. If rule not found, and `ignoreInvalid`
  2398. * not set - throws exception.
  2399. *
  2400. * ##### Example
  2401. *
  2402. * ```javascript
  2403. * var md = require('markdown-it')()
  2404. * .enable(['sub', 'sup'])
  2405. * .disable('smartquotes');
  2406. * ```
  2407. **/
  2408. MarkdownIt.prototype.enable = function (list, ignoreInvalid) {
  2409. var result = [];
  2410. if (!Array.isArray(list)) { list = [ list ]; }
  2411. [ 'core', 'block', 'inline' ].forEach(function (chain) {
  2412. result = result.concat(this[chain].ruler.enable(list, true));
  2413. }, this);
  2414. result = result.concat(this.inline.ruler2.enable(list, true));
  2415. var missed = list.filter(function (name) { return result.indexOf(name) < 0; });
  2416. if (missed.length && !ignoreInvalid) {
  2417. throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed);
  2418. }
  2419. return this;
  2420. };
  2421. /** chainable
  2422. * MarkdownIt.disable(list, ignoreInvalid)
  2423. * - list (String|Array): rule name or list of rule names to disable.
  2424. * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.
  2425. *
  2426. * The same as [[MarkdownIt.enable]], but turn specified rules off.
  2427. **/
  2428. MarkdownIt.prototype.disable = function (list, ignoreInvalid) {
  2429. var result = [];
  2430. if (!Array.isArray(list)) { list = [ list ]; }
  2431. [ 'core', 'block', 'inline' ].forEach(function (chain) {
  2432. result = result.concat(this[chain].ruler.disable(list, true));
  2433. }, this);
  2434. result = result.concat(this.inline.ruler2.disable(list, true));
  2435. var missed = list.filter(function (name) { return result.indexOf(name) < 0; });
  2436. if (missed.length && !ignoreInvalid) {
  2437. throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed);
  2438. }
  2439. return this;
  2440. };
  2441. /** chainable
  2442. * MarkdownIt.use(plugin, params)
  2443. *
  2444. * Load specified plugin with given params into current parser instance.
  2445. * It's just a sugar to call `plugin(md, params)` with curring.
  2446. *
  2447. * ##### Example
  2448. *
  2449. * ```javascript
  2450. * var iterator = require('markdown-it-for-inline');
  2451. * var md = require('markdown-it')()
  2452. * .use(iterator, 'foo_replace', 'text', function (tokens, idx) {
  2453. * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');
  2454. * });
  2455. * ```
  2456. **/
  2457. MarkdownIt.prototype.use = function (plugin /*, params, ... */) {
  2458. var args = [ this ].concat(Array.prototype.slice.call(arguments, 1));
  2459. plugin.apply(plugin, args);
  2460. return this;
  2461. };
  2462. /** internal
  2463. * MarkdownIt.parse(src, env) -> Array
  2464. * - src (String): source string
  2465. * - env (Object): environment sandbox
  2466. *
  2467. * Parse input string and return list of block tokens (special token type
  2468. * "inline" will contain list of inline tokens). You should not call this
  2469. * method directly, until you write custom renderer (for example, to produce
  2470. * AST).
  2471. *
  2472. * `env` is used to pass data between "distributed" rules and return additional
  2473. * metadata like reference info, needed for the renderer. It also can be used to
  2474. * inject data in specific cases. Usually, you will be ok to pass `{}`,
  2475. * and then pass updated object to renderer.
  2476. **/
  2477. MarkdownIt.prototype.parse = function (src, env) {
  2478. if (typeof src !== 'string') {
  2479. throw new Error('Input data should be a String');
  2480. }
  2481. var state = new this.core.State(src, this, env);
  2482. this.core.process(state);
  2483. return state.tokens;
  2484. };
  2485. /**
  2486. * MarkdownIt.render(src [, env]) -> String
  2487. * - src (String): source string
  2488. * - env (Object): environment sandbox
  2489. *
  2490. * Render markdown string into html. It does all magic for you :).
  2491. *
  2492. * `env` can be used to inject additional metadata (`{}` by default).
  2493. * But you will not need it with high probability. See also comment
  2494. * in [[MarkdownIt.parse]].
  2495. **/
  2496. MarkdownIt.prototype.render = function (src, env) {
  2497. env = env || {};
  2498. return this.renderer.render(this.parse(src, env), this.options, env);
  2499. };
  2500. /** internal
  2501. * MarkdownIt.parseInline(src, env) -> Array
  2502. * - src (String): source string
  2503. * - env (Object): environment sandbox
  2504. *
  2505. * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the
  2506. * block tokens list with the single `inline` element, containing parsed inline
  2507. * tokens in `children` property. Also updates `env` object.
  2508. **/
  2509. MarkdownIt.prototype.parseInline = function (src, env) {
  2510. var state = new this.core.State(src, this, env);
  2511. state.inlineMode = true;
  2512. this.core.process(state);
  2513. return state.tokens;
  2514. };
  2515. /**
  2516. * MarkdownIt.renderInline(src [, env]) -> String
  2517. * - src (String): source string
  2518. * - env (Object): environment sandbox
  2519. *
  2520. * Similar to [[MarkdownIt.render]] but for single paragraph content. Result
  2521. * will NOT be wrapped into `<p>` tags.
  2522. **/
  2523. MarkdownIt.prototype.renderInline = function (src, env) {
  2524. env = env || {};
  2525. return this.renderer.render(this.parseInline(src, env), this.options, env);
  2526. };
  2527. module.exports = MarkdownIt;
  2528. /***/ }),
  2529. /***/ "../../node_modules/markdown-it/lib/parser_block.js":
  2530. /*!***************************************************************************!*\
  2531. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/parser_block.js ***!
  2532. \***************************************************************************/
  2533. /*! no static exports found */
  2534. /***/ (function(module, exports, __webpack_require__) {
  2535. "use strict";
  2536. /** internal
  2537. * class ParserBlock
  2538. *
  2539. * Block-level tokenizer.
  2540. **/
  2541. var Ruler = __webpack_require__(/*! ./ruler */ "../../node_modules/markdown-it/lib/ruler.js");
  2542. var _rules = [
  2543. // First 2 params - rule name & source. Secondary array - list of rules,
  2544. // which can be terminated by this one.
  2545. [ 'table', __webpack_require__(/*! ./rules_block/table */ "../../node_modules/markdown-it/lib/rules_block/table.js"), [ 'paragraph', 'reference' ] ],
  2546. [ 'code', __webpack_require__(/*! ./rules_block/code */ "../../node_modules/markdown-it/lib/rules_block/code.js") ],
  2547. [ 'fence', __webpack_require__(/*! ./rules_block/fence */ "../../node_modules/markdown-it/lib/rules_block/fence.js"), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],
  2548. [ 'blockquote', __webpack_require__(/*! ./rules_block/blockquote */ "../../node_modules/markdown-it/lib/rules_block/blockquote.js"), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],
  2549. [ 'hr', __webpack_require__(/*! ./rules_block/hr */ "../../node_modules/markdown-it/lib/rules_block/hr.js"), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],
  2550. [ 'list', __webpack_require__(/*! ./rules_block/list */ "../../node_modules/markdown-it/lib/rules_block/list.js"), [ 'paragraph', 'reference', 'blockquote' ] ],
  2551. [ 'reference', __webpack_require__(/*! ./rules_block/reference */ "../../node_modules/markdown-it/lib/rules_block/reference.js") ],
  2552. [ 'html_block', __webpack_require__(/*! ./rules_block/html_block */ "../../node_modules/markdown-it/lib/rules_block/html_block.js"), [ 'paragraph', 'reference', 'blockquote' ] ],
  2553. [ 'heading', __webpack_require__(/*! ./rules_block/heading */ "../../node_modules/markdown-it/lib/rules_block/heading.js"), [ 'paragraph', 'reference', 'blockquote' ] ],
  2554. [ 'lheading', __webpack_require__(/*! ./rules_block/lheading */ "../../node_modules/markdown-it/lib/rules_block/lheading.js") ],
  2555. [ 'paragraph', __webpack_require__(/*! ./rules_block/paragraph */ "../../node_modules/markdown-it/lib/rules_block/paragraph.js") ]
  2556. ];
  2557. /**
  2558. * new ParserBlock()
  2559. **/
  2560. function ParserBlock() {
  2561. /**
  2562. * ParserBlock#ruler -> Ruler
  2563. *
  2564. * [[Ruler]] instance. Keep configuration of block rules.
  2565. **/
  2566. this.ruler = new Ruler();
  2567. for (var i = 0; i < _rules.length; i++) {
  2568. this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() });
  2569. }
  2570. }
  2571. // Generate tokens for input range
  2572. //
  2573. ParserBlock.prototype.tokenize = function (state, startLine, endLine) {
  2574. var ok, i, prevLine,
  2575. rules = this.ruler.getRules(''),
  2576. len = rules.length,
  2577. line = startLine,
  2578. hasEmptyLines = false,
  2579. maxNesting = state.md.options.maxNesting;
  2580. while (line < endLine) {
  2581. state.line = line = state.skipEmptyLines(line);
  2582. if (line >= endLine) { break; }
  2583. // Termination condition for nested calls.
  2584. // Nested calls currently used for blockquotes & lists
  2585. if (state.sCount[line] < state.blkIndent) { break; }
  2586. // If nesting level exceeded - skip tail to the end. That's not ordinary
  2587. // situation and we should not care about content.
  2588. if (state.level >= maxNesting) {
  2589. state.line = endLine;
  2590. break;
  2591. }
  2592. // Try all possible rules.
  2593. // On success, rule should:
  2594. //
  2595. // - update `state.line`
  2596. // - update `state.tokens`
  2597. // - return true
  2598. prevLine = state.line;
  2599. for (i = 0; i < len; i++) {
  2600. ok = rules[i](state, line, endLine, false);
  2601. if (ok) {
  2602. if (prevLine >= state.line) {
  2603. throw new Error("block rule didn't increment state.line");
  2604. }
  2605. break;
  2606. }
  2607. }
  2608. // this can only happen if user disables paragraph rule
  2609. if (!ok) throw new Error('none of the block rules matched');
  2610. // set state.tight if we had an empty line before current tag
  2611. // i.e. latest empty line should not count
  2612. state.tight = !hasEmptyLines;
  2613. // paragraph might "eat" one newline after it in nested lists
  2614. if (state.isEmpty(state.line - 1)) {
  2615. hasEmptyLines = true;
  2616. }
  2617. line = state.line;
  2618. if (line < endLine && state.isEmpty(line)) {
  2619. hasEmptyLines = true;
  2620. line++;
  2621. state.line = line;
  2622. }
  2623. }
  2624. };
  2625. /**
  2626. * ParserBlock.parse(str, md, env, outTokens)
  2627. *
  2628. * Process input string and push block tokens into `outTokens`
  2629. **/
  2630. ParserBlock.prototype.parse = function (src, md, env, outTokens) {
  2631. var state;
  2632. if (!src) { return; }
  2633. state = new this.State(src, md, env, outTokens);
  2634. this.tokenize(state, state.line, state.lineMax);
  2635. };
  2636. ParserBlock.prototype.State = __webpack_require__(/*! ./rules_block/state_block */ "../../node_modules/markdown-it/lib/rules_block/state_block.js");
  2637. module.exports = ParserBlock;
  2638. /***/ }),
  2639. /***/ "../../node_modules/markdown-it/lib/parser_core.js":
  2640. /*!**************************************************************************!*\
  2641. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/parser_core.js ***!
  2642. \**************************************************************************/
  2643. /*! no static exports found */
  2644. /***/ (function(module, exports, __webpack_require__) {
  2645. "use strict";
  2646. /** internal
  2647. * class Core
  2648. *
  2649. * Top-level rules executor. Glues block/inline parsers and does intermediate
  2650. * transformations.
  2651. **/
  2652. var Ruler = __webpack_require__(/*! ./ruler */ "../../node_modules/markdown-it/lib/ruler.js");
  2653. var _rules = [
  2654. [ 'normalize', __webpack_require__(/*! ./rules_core/normalize */ "../../node_modules/markdown-it/lib/rules_core/normalize.js") ],
  2655. [ 'block', __webpack_require__(/*! ./rules_core/block */ "../../node_modules/markdown-it/lib/rules_core/block.js") ],
  2656. [ 'inline', __webpack_require__(/*! ./rules_core/inline */ "../../node_modules/markdown-it/lib/rules_core/inline.js") ],
  2657. [ 'linkify', __webpack_require__(/*! ./rules_core/linkify */ "../../node_modules/markdown-it/lib/rules_core/linkify.js") ],
  2658. [ 'replacements', __webpack_require__(/*! ./rules_core/replacements */ "../../node_modules/markdown-it/lib/rules_core/replacements.js") ],
  2659. [ 'smartquotes', __webpack_require__(/*! ./rules_core/smartquotes */ "../../node_modules/markdown-it/lib/rules_core/smartquotes.js") ],
  2660. // `text_join` finds `text_special` tokens (for escape sequences)
  2661. // and joins them with the rest of the text
  2662. [ 'text_join', __webpack_require__(/*! ./rules_core/text_join */ "../../node_modules/markdown-it/lib/rules_core/text_join.js") ]
  2663. ];
  2664. /**
  2665. * new Core()
  2666. **/
  2667. function Core() {
  2668. /**
  2669. * Core#ruler -> Ruler
  2670. *
  2671. * [[Ruler]] instance. Keep configuration of core rules.
  2672. **/
  2673. this.ruler = new Ruler();
  2674. for (var i = 0; i < _rules.length; i++) {
  2675. this.ruler.push(_rules[i][0], _rules[i][1]);
  2676. }
  2677. }
  2678. /**
  2679. * Core.process(state)
  2680. *
  2681. * Executes core chain rules.
  2682. **/
  2683. Core.prototype.process = function (state) {
  2684. var i, l, rules;
  2685. rules = this.ruler.getRules('');
  2686. for (i = 0, l = rules.length; i < l; i++) {
  2687. rules[i](state);
  2688. }
  2689. };
  2690. Core.prototype.State = __webpack_require__(/*! ./rules_core/state_core */ "../../node_modules/markdown-it/lib/rules_core/state_core.js");
  2691. module.exports = Core;
  2692. /***/ }),
  2693. /***/ "../../node_modules/markdown-it/lib/parser_inline.js":
  2694. /*!****************************************************************************!*\
  2695. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/parser_inline.js ***!
  2696. \****************************************************************************/
  2697. /*! no static exports found */
  2698. /***/ (function(module, exports, __webpack_require__) {
  2699. "use strict";
  2700. /** internal
  2701. * class ParserInline
  2702. *
  2703. * Tokenizes paragraph content.
  2704. **/
  2705. var Ruler = __webpack_require__(/*! ./ruler */ "../../node_modules/markdown-it/lib/ruler.js");
  2706. ////////////////////////////////////////////////////////////////////////////////
  2707. // Parser rules
  2708. var _rules = [
  2709. [ 'text', __webpack_require__(/*! ./rules_inline/text */ "../../node_modules/markdown-it/lib/rules_inline/text.js") ],
  2710. [ 'linkify', __webpack_require__(/*! ./rules_inline/linkify */ "../../node_modules/markdown-it/lib/rules_inline/linkify.js") ],
  2711. [ 'newline', __webpack_require__(/*! ./rules_inline/newline */ "../../node_modules/markdown-it/lib/rules_inline/newline.js") ],
  2712. [ 'escape', __webpack_require__(/*! ./rules_inline/escape */ "../../node_modules/markdown-it/lib/rules_inline/escape.js") ],
  2713. [ 'backticks', __webpack_require__(/*! ./rules_inline/backticks */ "../../node_modules/markdown-it/lib/rules_inline/backticks.js") ],
  2714. [ 'strikethrough', __webpack_require__(/*! ./rules_inline/strikethrough */ "../../node_modules/markdown-it/lib/rules_inline/strikethrough.js").tokenize ],
  2715. [ 'emphasis', __webpack_require__(/*! ./rules_inline/emphasis */ "../../node_modules/markdown-it/lib/rules_inline/emphasis.js").tokenize ],
  2716. [ 'link', __webpack_require__(/*! ./rules_inline/link */ "../../node_modules/markdown-it/lib/rules_inline/link.js") ],
  2717. [ 'image', __webpack_require__(/*! ./rules_inline/image */ "../../node_modules/markdown-it/lib/rules_inline/image.js") ],
  2718. [ 'autolink', __webpack_require__(/*! ./rules_inline/autolink */ "../../node_modules/markdown-it/lib/rules_inline/autolink.js") ],
  2719. [ 'html_inline', __webpack_require__(/*! ./rules_inline/html_inline */ "../../node_modules/markdown-it/lib/rules_inline/html_inline.js") ],
  2720. [ 'entity', __webpack_require__(/*! ./rules_inline/entity */ "../../node_modules/markdown-it/lib/rules_inline/entity.js") ]
  2721. ];
  2722. // `rule2` ruleset was created specifically for emphasis/strikethrough
  2723. // post-processing and may be changed in the future.
  2724. //
  2725. // Don't use this for anything except pairs (plugins working with `balance_pairs`).
  2726. //
  2727. var _rules2 = [
  2728. [ 'balance_pairs', __webpack_require__(/*! ./rules_inline/balance_pairs */ "../../node_modules/markdown-it/lib/rules_inline/balance_pairs.js") ],
  2729. [ 'strikethrough', __webpack_require__(/*! ./rules_inline/strikethrough */ "../../node_modules/markdown-it/lib/rules_inline/strikethrough.js").postProcess ],
  2730. [ 'emphasis', __webpack_require__(/*! ./rules_inline/emphasis */ "../../node_modules/markdown-it/lib/rules_inline/emphasis.js").postProcess ],
  2731. // rules for pairs separate '**' into its own text tokens, which may be left unused,
  2732. // rule below merges unused segments back with the rest of the text
  2733. [ 'fragments_join', __webpack_require__(/*! ./rules_inline/fragments_join */ "../../node_modules/markdown-it/lib/rules_inline/fragments_join.js") ]
  2734. ];
  2735. /**
  2736. * new ParserInline()
  2737. **/
  2738. function ParserInline() {
  2739. var i;
  2740. /**
  2741. * ParserInline#ruler -> Ruler
  2742. *
  2743. * [[Ruler]] instance. Keep configuration of inline rules.
  2744. **/
  2745. this.ruler = new Ruler();
  2746. for (i = 0; i < _rules.length; i++) {
  2747. this.ruler.push(_rules[i][0], _rules[i][1]);
  2748. }
  2749. /**
  2750. * ParserInline#ruler2 -> Ruler
  2751. *
  2752. * [[Ruler]] instance. Second ruler used for post-processing
  2753. * (e.g. in emphasis-like rules).
  2754. **/
  2755. this.ruler2 = new Ruler();
  2756. for (i = 0; i < _rules2.length; i++) {
  2757. this.ruler2.push(_rules2[i][0], _rules2[i][1]);
  2758. }
  2759. }
  2760. // Skip single token by running all rules in validation mode;
  2761. // returns `true` if any rule reported success
  2762. //
  2763. ParserInline.prototype.skipToken = function (state) {
  2764. var ok, i, pos = state.pos,
  2765. rules = this.ruler.getRules(''),
  2766. len = rules.length,
  2767. maxNesting = state.md.options.maxNesting,
  2768. cache = state.cache;
  2769. if (typeof cache[pos] !== 'undefined') {
  2770. state.pos = cache[pos];
  2771. return;
  2772. }
  2773. if (state.level < maxNesting) {
  2774. for (i = 0; i < len; i++) {
  2775. // Increment state.level and decrement it later to limit recursion.
  2776. // It's harmless to do here, because no tokens are created. But ideally,
  2777. // we'd need a separate private state variable for this purpose.
  2778. //
  2779. state.level++;
  2780. ok = rules[i](state, true);
  2781. state.level--;
  2782. if (ok) {
  2783. if (pos >= state.pos) { throw new Error("inline rule didn't increment state.pos"); }
  2784. break;
  2785. }
  2786. }
  2787. } else {
  2788. // Too much nesting, just skip until the end of the paragraph.
  2789. //
  2790. // NOTE: this will cause links to behave incorrectly in the following case,
  2791. // when an amount of `[` is exactly equal to `maxNesting + 1`:
  2792. //
  2793. // [[[[[[[[[[[[[[[[[[[[[foo]()
  2794. //
  2795. // TODO: remove this workaround when CM standard will allow nested links
  2796. // (we can replace it by preventing links from being parsed in
  2797. // validation mode)
  2798. //
  2799. state.pos = state.posMax;
  2800. }
  2801. if (!ok) { state.pos++; }
  2802. cache[pos] = state.pos;
  2803. };
  2804. // Generate tokens for input range
  2805. //
  2806. ParserInline.prototype.tokenize = function (state) {
  2807. var ok, i, prevPos,
  2808. rules = this.ruler.getRules(''),
  2809. len = rules.length,
  2810. end = state.posMax,
  2811. maxNesting = state.md.options.maxNesting;
  2812. while (state.pos < end) {
  2813. // Try all possible rules.
  2814. // On success, rule should:
  2815. //
  2816. // - update `state.pos`
  2817. // - update `state.tokens`
  2818. // - return true
  2819. prevPos = state.pos;
  2820. if (state.level < maxNesting) {
  2821. for (i = 0; i < len; i++) {
  2822. ok = rules[i](state, false);
  2823. if (ok) {
  2824. if (prevPos >= state.pos) { throw new Error("inline rule didn't increment state.pos"); }
  2825. break;
  2826. }
  2827. }
  2828. }
  2829. if (ok) {
  2830. if (state.pos >= end) { break; }
  2831. continue;
  2832. }
  2833. state.pending += state.src[state.pos++];
  2834. }
  2835. if (state.pending) {
  2836. state.pushPending();
  2837. }
  2838. };
  2839. /**
  2840. * ParserInline.parse(str, md, env, outTokens)
  2841. *
  2842. * Process input string and push inline tokens into `outTokens`
  2843. **/
  2844. ParserInline.prototype.parse = function (str, md, env, outTokens) {
  2845. var i, rules, len;
  2846. var state = new this.State(str, md, env, outTokens);
  2847. this.tokenize(state);
  2848. rules = this.ruler2.getRules('');
  2849. len = rules.length;
  2850. for (i = 0; i < len; i++) {
  2851. rules[i](state);
  2852. }
  2853. };
  2854. ParserInline.prototype.State = __webpack_require__(/*! ./rules_inline/state_inline */ "../../node_modules/markdown-it/lib/rules_inline/state_inline.js");
  2855. module.exports = ParserInline;
  2856. /***/ }),
  2857. /***/ "../../node_modules/markdown-it/lib/presets/commonmark.js":
  2858. /*!*********************************************************************************!*\
  2859. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/presets/commonmark.js ***!
  2860. \*********************************************************************************/
  2861. /*! no static exports found */
  2862. /***/ (function(module, exports, __webpack_require__) {
  2863. "use strict";
  2864. // Commonmark default options
  2865. module.exports = {
  2866. options: {
  2867. html: true, // Enable HTML tags in source
  2868. xhtmlOut: true, // Use '/' to close single tags (<br />)
  2869. breaks: false, // Convert '\n' in paragraphs into <br>
  2870. langPrefix: 'language-', // CSS language prefix for fenced blocks
  2871. linkify: false, // autoconvert URL-like texts to links
  2872. // Enable some language-neutral replacements + quotes beautification
  2873. typographer: false,
  2874. // Double + single quotes replacement pairs, when typographer enabled,
  2875. // and smartquotes on. Could be either a String or an Array.
  2876. //
  2877. // For example, you can use '«»„“' for Russian, '„“‚‘' for German,
  2878. // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
  2879. quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
  2880. // Highlighter function. Should return escaped HTML,
  2881. // or '' if the source string is not changed and should be escaped externaly.
  2882. // If result starts with <pre... internal wrapper is skipped.
  2883. //
  2884. // function (/*str, lang*/) { return ''; }
  2885. //
  2886. highlight: null,
  2887. maxNesting: 20 // Internal protection, recursion limit
  2888. },
  2889. components: {
  2890. core: {
  2891. rules: [
  2892. 'normalize',
  2893. 'block',
  2894. 'inline',
  2895. 'text_join'
  2896. ]
  2897. },
  2898. block: {
  2899. rules: [
  2900. 'blockquote',
  2901. 'code',
  2902. 'fence',
  2903. 'heading',
  2904. 'hr',
  2905. 'html_block',
  2906. 'lheading',
  2907. 'list',
  2908. 'reference',
  2909. 'paragraph'
  2910. ]
  2911. },
  2912. inline: {
  2913. rules: [
  2914. 'autolink',
  2915. 'backticks',
  2916. 'emphasis',
  2917. 'entity',
  2918. 'escape',
  2919. 'html_inline',
  2920. 'image',
  2921. 'link',
  2922. 'newline',
  2923. 'text'
  2924. ],
  2925. rules2: [
  2926. 'balance_pairs',
  2927. 'emphasis',
  2928. 'fragments_join'
  2929. ]
  2930. }
  2931. }
  2932. };
  2933. /***/ }),
  2934. /***/ "../../node_modules/markdown-it/lib/presets/default.js":
  2935. /*!******************************************************************************!*\
  2936. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/presets/default.js ***!
  2937. \******************************************************************************/
  2938. /*! no static exports found */
  2939. /***/ (function(module, exports, __webpack_require__) {
  2940. "use strict";
  2941. // markdown-it default options
  2942. module.exports = {
  2943. options: {
  2944. html: false, // Enable HTML tags in source
  2945. xhtmlOut: false, // Use '/' to close single tags (<br />)
  2946. breaks: false, // Convert '\n' in paragraphs into <br>
  2947. langPrefix: 'language-', // CSS language prefix for fenced blocks
  2948. linkify: false, // autoconvert URL-like texts to links
  2949. // Enable some language-neutral replacements + quotes beautification
  2950. typographer: false,
  2951. // Double + single quotes replacement pairs, when typographer enabled,
  2952. // and smartquotes on. Could be either a String or an Array.
  2953. //
  2954. // For example, you can use '«»„“' for Russian, '„“‚‘' for German,
  2955. // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
  2956. quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
  2957. // Highlighter function. Should return escaped HTML,
  2958. // or '' if the source string is not changed and should be escaped externaly.
  2959. // If result starts with <pre... internal wrapper is skipped.
  2960. //
  2961. // function (/*str, lang*/) { return ''; }
  2962. //
  2963. highlight: null,
  2964. maxNesting: 100 // Internal protection, recursion limit
  2965. },
  2966. components: {
  2967. core: {},
  2968. block: {},
  2969. inline: {}
  2970. }
  2971. };
  2972. /***/ }),
  2973. /***/ "../../node_modules/markdown-it/lib/presets/zero.js":
  2974. /*!***************************************************************************!*\
  2975. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/presets/zero.js ***!
  2976. \***************************************************************************/
  2977. /*! no static exports found */
  2978. /***/ (function(module, exports, __webpack_require__) {
  2979. "use strict";
  2980. // "Zero" preset, with nothing enabled. Useful for manual configuring of simple
  2981. // modes. For example, to parse bold/italic only.
  2982. module.exports = {
  2983. options: {
  2984. html: false, // Enable HTML tags in source
  2985. xhtmlOut: false, // Use '/' to close single tags (<br />)
  2986. breaks: false, // Convert '\n' in paragraphs into <br>
  2987. langPrefix: 'language-', // CSS language prefix for fenced blocks
  2988. linkify: false, // autoconvert URL-like texts to links
  2989. // Enable some language-neutral replacements + quotes beautification
  2990. typographer: false,
  2991. // Double + single quotes replacement pairs, when typographer enabled,
  2992. // and smartquotes on. Could be either a String or an Array.
  2993. //
  2994. // For example, you can use '«»„“' for Russian, '„“‚‘' for German,
  2995. // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
  2996. quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
  2997. // Highlighter function. Should return escaped HTML,
  2998. // or '' if the source string is not changed and should be escaped externaly.
  2999. // If result starts with <pre... internal wrapper is skipped.
  3000. //
  3001. // function (/*str, lang*/) { return ''; }
  3002. //
  3003. highlight: null,
  3004. maxNesting: 20 // Internal protection, recursion limit
  3005. },
  3006. components: {
  3007. core: {
  3008. rules: [
  3009. 'normalize',
  3010. 'block',
  3011. 'inline',
  3012. 'text_join'
  3013. ]
  3014. },
  3015. block: {
  3016. rules: [
  3017. 'paragraph'
  3018. ]
  3019. },
  3020. inline: {
  3021. rules: [
  3022. 'text'
  3023. ],
  3024. rules2: [
  3025. 'balance_pairs',
  3026. 'fragments_join'
  3027. ]
  3028. }
  3029. }
  3030. };
  3031. /***/ }),
  3032. /***/ "../../node_modules/markdown-it/lib/renderer.js":
  3033. /*!***********************************************************************!*\
  3034. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/renderer.js ***!
  3035. \***********************************************************************/
  3036. /*! no static exports found */
  3037. /***/ (function(module, exports, __webpack_require__) {
  3038. "use strict";
  3039. /**
  3040. * class Renderer
  3041. *
  3042. * Generates HTML from parsed token stream. Each instance has independent
  3043. * copy of rules. Those can be rewritten with ease. Also, you can add new
  3044. * rules if you create plugin and adds new token types.
  3045. **/
  3046. var assign = __webpack_require__(/*! ./common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").assign;
  3047. var unescapeAll = __webpack_require__(/*! ./common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").unescapeAll;
  3048. var escapeHtml = __webpack_require__(/*! ./common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").escapeHtml;
  3049. ////////////////////////////////////////////////////////////////////////////////
  3050. var default_rules = {};
  3051. default_rules.code_inline = function (tokens, idx, options, env, slf) {
  3052. var token = tokens[idx];
  3053. return '<code' + slf.renderAttrs(token) + '>' +
  3054. escapeHtml(token.content) +
  3055. '</code>';
  3056. };
  3057. default_rules.code_block = function (tokens, idx, options, env, slf) {
  3058. var token = tokens[idx];
  3059. return '<pre' + slf.renderAttrs(token) + '><code>' +
  3060. escapeHtml(tokens[idx].content) +
  3061. '</code></pre>\n';
  3062. };
  3063. default_rules.fence = function (tokens, idx, options, env, slf) {
  3064. var token = tokens[idx],
  3065. info = token.info ? unescapeAll(token.info).trim() : '',
  3066. langName = '',
  3067. langAttrs = '',
  3068. highlighted, i, arr, tmpAttrs, tmpToken;
  3069. if (info) {
  3070. arr = info.split(/(\s+)/g);
  3071. langName = arr[0];
  3072. langAttrs = arr.slice(2).join('');
  3073. }
  3074. if (options.highlight) {
  3075. highlighted = options.highlight(token.content, langName, langAttrs) || escapeHtml(token.content);
  3076. } else {
  3077. highlighted = escapeHtml(token.content);
  3078. }
  3079. if (highlighted.indexOf('<pre') === 0) {
  3080. return highlighted + '\n';
  3081. }
  3082. // If language exists, inject class gently, without modifying original token.
  3083. // May be, one day we will add .deepClone() for token and simplify this part, but
  3084. // now we prefer to keep things local.
  3085. if (info) {
  3086. i = token.attrIndex('class');
  3087. tmpAttrs = token.attrs ? token.attrs.slice() : [];
  3088. if (i < 0) {
  3089. tmpAttrs.push([ 'class', options.langPrefix + langName ]);
  3090. } else {
  3091. tmpAttrs[i] = tmpAttrs[i].slice();
  3092. tmpAttrs[i][1] += ' ' + options.langPrefix + langName;
  3093. }
  3094. // Fake token just to render attributes
  3095. tmpToken = {
  3096. attrs: tmpAttrs
  3097. };
  3098. return '<pre><code' + slf.renderAttrs(tmpToken) + '>'
  3099. + highlighted
  3100. + '</code></pre>\n';
  3101. }
  3102. return '<pre><code' + slf.renderAttrs(token) + '>'
  3103. + highlighted
  3104. + '</code></pre>\n';
  3105. };
  3106. default_rules.image = function (tokens, idx, options, env, slf) {
  3107. var token = tokens[idx];
  3108. // "alt" attr MUST be set, even if empty. Because it's mandatory and
  3109. // should be placed on proper position for tests.
  3110. //
  3111. // Replace content with actual value
  3112. token.attrs[token.attrIndex('alt')][1] =
  3113. slf.renderInlineAsText(token.children, options, env);
  3114. return slf.renderToken(tokens, idx, options);
  3115. };
  3116. default_rules.hardbreak = function (tokens, idx, options /*, env */) {
  3117. return options.xhtmlOut ? '<br />\n' : '<br>\n';
  3118. };
  3119. default_rules.softbreak = function (tokens, idx, options /*, env */) {
  3120. return options.breaks ? (options.xhtmlOut ? '<br />\n' : '<br>\n') : '\n';
  3121. };
  3122. default_rules.text = function (tokens, idx /*, options, env */) {
  3123. return escapeHtml(tokens[idx].content);
  3124. };
  3125. default_rules.html_block = function (tokens, idx /*, options, env */) {
  3126. return tokens[idx].content;
  3127. };
  3128. default_rules.html_inline = function (tokens, idx /*, options, env */) {
  3129. return tokens[idx].content;
  3130. };
  3131. /**
  3132. * new Renderer()
  3133. *
  3134. * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults.
  3135. **/
  3136. function Renderer() {
  3137. /**
  3138. * Renderer#rules -> Object
  3139. *
  3140. * Contains render rules for tokens. Can be updated and extended.
  3141. *
  3142. * ##### Example
  3143. *
  3144. * ```javascript
  3145. * var md = require('markdown-it')();
  3146. *
  3147. * md.renderer.rules.strong_open = function () { return '<b>'; };
  3148. * md.renderer.rules.strong_close = function () { return '</b>'; };
  3149. *
  3150. * var result = md.renderInline(...);
  3151. * ```
  3152. *
  3153. * Each rule is called as independent static function with fixed signature:
  3154. *
  3155. * ```javascript
  3156. * function my_token_render(tokens, idx, options, env, renderer) {
  3157. * // ...
  3158. * return renderedHTML;
  3159. * }
  3160. * ```
  3161. *
  3162. * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js)
  3163. * for more details and examples.
  3164. **/
  3165. this.rules = assign({}, default_rules);
  3166. }
  3167. /**
  3168. * Renderer.renderAttrs(token) -> String
  3169. *
  3170. * Render token attributes to string.
  3171. **/
  3172. Renderer.prototype.renderAttrs = function renderAttrs(token) {
  3173. var i, l, result;
  3174. if (!token.attrs) { return ''; }
  3175. result = '';
  3176. for (i = 0, l = token.attrs.length; i < l; i++) {
  3177. result += ' ' + escapeHtml(token.attrs[i][0]) + '="' + escapeHtml(token.attrs[i][1]) + '"';
  3178. }
  3179. return result;
  3180. };
  3181. /**
  3182. * Renderer.renderToken(tokens, idx, options) -> String
  3183. * - tokens (Array): list of tokens
  3184. * - idx (Numbed): token index to render
  3185. * - options (Object): params of parser instance
  3186. *
  3187. * Default token renderer. Can be overriden by custom function
  3188. * in [[Renderer#rules]].
  3189. **/
  3190. Renderer.prototype.renderToken = function renderToken(tokens, idx, options) {
  3191. var nextToken,
  3192. result = '',
  3193. needLf = false,
  3194. token = tokens[idx];
  3195. // Tight list paragraphs
  3196. if (token.hidden) {
  3197. return '';
  3198. }
  3199. // Insert a newline between hidden paragraph and subsequent opening
  3200. // block-level tag.
  3201. //
  3202. // For example, here we should insert a newline before blockquote:
  3203. // - a
  3204. // >
  3205. //
  3206. if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) {
  3207. result += '\n';
  3208. }
  3209. // Add token name, e.g. `<img`
  3210. result += (token.nesting === -1 ? '</' : '<') + token.tag;
  3211. // Encode attributes, e.g. `<img src="foo"`
  3212. result += this.renderAttrs(token);
  3213. // Add a slash for self-closing tags, e.g. `<img src="foo" /`
  3214. if (token.nesting === 0 && options.xhtmlOut) {
  3215. result += ' /';
  3216. }
  3217. // Check if we need to add a newline after this tag
  3218. if (token.block) {
  3219. needLf = true;
  3220. if (token.nesting === 1) {
  3221. if (idx + 1 < tokens.length) {
  3222. nextToken = tokens[idx + 1];
  3223. if (nextToken.type === 'inline' || nextToken.hidden) {
  3224. // Block-level tag containing an inline tag.
  3225. //
  3226. needLf = false;
  3227. } else if (nextToken.nesting === -1 && nextToken.tag === token.tag) {
  3228. // Opening tag + closing tag of the same type. E.g. `<li></li>`.
  3229. //
  3230. needLf = false;
  3231. }
  3232. }
  3233. }
  3234. }
  3235. result += needLf ? '>\n' : '>';
  3236. return result;
  3237. };
  3238. /**
  3239. * Renderer.renderInline(tokens, options, env) -> String
  3240. * - tokens (Array): list on block tokens to render
  3241. * - options (Object): params of parser instance
  3242. * - env (Object): additional data from parsed input (references, for example)
  3243. *
  3244. * The same as [[Renderer.render]], but for single token of `inline` type.
  3245. **/
  3246. Renderer.prototype.renderInline = function (tokens, options, env) {
  3247. var type,
  3248. result = '',
  3249. rules = this.rules;
  3250. for (var i = 0, len = tokens.length; i < len; i++) {
  3251. type = tokens[i].type;
  3252. if (typeof rules[type] !== 'undefined') {
  3253. result += rules[type](tokens, i, options, env, this);
  3254. } else {
  3255. result += this.renderToken(tokens, i, options);
  3256. }
  3257. }
  3258. return result;
  3259. };
  3260. /** internal
  3261. * Renderer.renderInlineAsText(tokens, options, env) -> String
  3262. * - tokens (Array): list on block tokens to render
  3263. * - options (Object): params of parser instance
  3264. * - env (Object): additional data from parsed input (references, for example)
  3265. *
  3266. * Special kludge for image `alt` attributes to conform CommonMark spec.
  3267. * Don't try to use it! Spec requires to show `alt` content with stripped markup,
  3268. * instead of simple escaping.
  3269. **/
  3270. Renderer.prototype.renderInlineAsText = function (tokens, options, env) {
  3271. var result = '';
  3272. for (var i = 0, len = tokens.length; i < len; i++) {
  3273. if (tokens[i].type === 'text') {
  3274. result += tokens[i].content;
  3275. } else if (tokens[i].type === 'image') {
  3276. result += this.renderInlineAsText(tokens[i].children, options, env);
  3277. } else if (tokens[i].type === 'softbreak') {
  3278. result += '\n';
  3279. }
  3280. }
  3281. return result;
  3282. };
  3283. /**
  3284. * Renderer.render(tokens, options, env) -> String
  3285. * - tokens (Array): list on block tokens to render
  3286. * - options (Object): params of parser instance
  3287. * - env (Object): additional data from parsed input (references, for example)
  3288. *
  3289. * Takes token stream and generates HTML. Probably, you will never need to call
  3290. * this method directly.
  3291. **/
  3292. Renderer.prototype.render = function (tokens, options, env) {
  3293. var i, len, type,
  3294. result = '',
  3295. rules = this.rules;
  3296. for (i = 0, len = tokens.length; i < len; i++) {
  3297. type = tokens[i].type;
  3298. if (type === 'inline') {
  3299. result += this.renderInline(tokens[i].children, options, env);
  3300. } else if (typeof rules[type] !== 'undefined') {
  3301. result += rules[type](tokens, i, options, env, this);
  3302. } else {
  3303. result += this.renderToken(tokens, i, options, env);
  3304. }
  3305. }
  3306. return result;
  3307. };
  3308. module.exports = Renderer;
  3309. /***/ }),
  3310. /***/ "../../node_modules/markdown-it/lib/ruler.js":
  3311. /*!********************************************************************!*\
  3312. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/ruler.js ***!
  3313. \********************************************************************/
  3314. /*! no static exports found */
  3315. /***/ (function(module, exports, __webpack_require__) {
  3316. "use strict";
  3317. /**
  3318. * class Ruler
  3319. *
  3320. * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and
  3321. * [[MarkdownIt#inline]] to manage sequences of functions (rules):
  3322. *
  3323. * - keep rules in defined order
  3324. * - assign the name to each rule
  3325. * - enable/disable rules
  3326. * - add/replace rules
  3327. * - allow assign rules to additional named chains (in the same)
  3328. * - cacheing lists of active rules
  3329. *
  3330. * You will not need use this class directly until write plugins. For simple
  3331. * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and
  3332. * [[MarkdownIt.use]].
  3333. **/
  3334. /**
  3335. * new Ruler()
  3336. **/
  3337. function Ruler() {
  3338. // List of added rules. Each element is:
  3339. //
  3340. // {
  3341. // name: XXX,
  3342. // enabled: Boolean,
  3343. // fn: Function(),
  3344. // alt: [ name2, name3 ]
  3345. // }
  3346. //
  3347. this.__rules__ = [];
  3348. // Cached rule chains.
  3349. //
  3350. // First level - chain name, '' for default.
  3351. // Second level - diginal anchor for fast filtering by charcodes.
  3352. //
  3353. this.__cache__ = null;
  3354. }
  3355. ////////////////////////////////////////////////////////////////////////////////
  3356. // Helper methods, should not be used directly
  3357. // Find rule index by name
  3358. //
  3359. Ruler.prototype.__find__ = function (name) {
  3360. for (var i = 0; i < this.__rules__.length; i++) {
  3361. if (this.__rules__[i].name === name) {
  3362. return i;
  3363. }
  3364. }
  3365. return -1;
  3366. };
  3367. // Build rules lookup cache
  3368. //
  3369. Ruler.prototype.__compile__ = function () {
  3370. var self = this;
  3371. var chains = [ '' ];
  3372. // collect unique names
  3373. self.__rules__.forEach(function (rule) {
  3374. if (!rule.enabled) { return; }
  3375. rule.alt.forEach(function (altName) {
  3376. if (chains.indexOf(altName) < 0) {
  3377. chains.push(altName);
  3378. }
  3379. });
  3380. });
  3381. self.__cache__ = {};
  3382. chains.forEach(function (chain) {
  3383. self.__cache__[chain] = [];
  3384. self.__rules__.forEach(function (rule) {
  3385. if (!rule.enabled) { return; }
  3386. if (chain && rule.alt.indexOf(chain) < 0) { return; }
  3387. self.__cache__[chain].push(rule.fn);
  3388. });
  3389. });
  3390. };
  3391. /**
  3392. * Ruler.at(name, fn [, options])
  3393. * - name (String): rule name to replace.
  3394. * - fn (Function): new rule function.
  3395. * - options (Object): new rule options (not mandatory).
  3396. *
  3397. * Replace rule by name with new function & options. Throws error if name not
  3398. * found.
  3399. *
  3400. * ##### Options:
  3401. *
  3402. * - __alt__ - array with names of "alternate" chains.
  3403. *
  3404. * ##### Example
  3405. *
  3406. * Replace existing typographer replacement rule with new one:
  3407. *
  3408. * ```javascript
  3409. * var md = require('markdown-it')();
  3410. *
  3411. * md.core.ruler.at('replacements', function replace(state) {
  3412. * //...
  3413. * });
  3414. * ```
  3415. **/
  3416. Ruler.prototype.at = function (name, fn, options) {
  3417. var index = this.__find__(name);
  3418. var opt = options || {};
  3419. if (index === -1) { throw new Error('Parser rule not found: ' + name); }
  3420. this.__rules__[index].fn = fn;
  3421. this.__rules__[index].alt = opt.alt || [];
  3422. this.__cache__ = null;
  3423. };
  3424. /**
  3425. * Ruler.before(beforeName, ruleName, fn [, options])
  3426. * - beforeName (String): new rule will be added before this one.
  3427. * - ruleName (String): name of added rule.
  3428. * - fn (Function): rule function.
  3429. * - options (Object): rule options (not mandatory).
  3430. *
  3431. * Add new rule to chain before one with given name. See also
  3432. * [[Ruler.after]], [[Ruler.push]].
  3433. *
  3434. * ##### Options:
  3435. *
  3436. * - __alt__ - array with names of "alternate" chains.
  3437. *
  3438. * ##### Example
  3439. *
  3440. * ```javascript
  3441. * var md = require('markdown-it')();
  3442. *
  3443. * md.block.ruler.before('paragraph', 'my_rule', function replace(state) {
  3444. * //...
  3445. * });
  3446. * ```
  3447. **/
  3448. Ruler.prototype.before = function (beforeName, ruleName, fn, options) {
  3449. var index = this.__find__(beforeName);
  3450. var opt = options || {};
  3451. if (index === -1) { throw new Error('Parser rule not found: ' + beforeName); }
  3452. this.__rules__.splice(index, 0, {
  3453. name: ruleName,
  3454. enabled: true,
  3455. fn: fn,
  3456. alt: opt.alt || []
  3457. });
  3458. this.__cache__ = null;
  3459. };
  3460. /**
  3461. * Ruler.after(afterName, ruleName, fn [, options])
  3462. * - afterName (String): new rule will be added after this one.
  3463. * - ruleName (String): name of added rule.
  3464. * - fn (Function): rule function.
  3465. * - options (Object): rule options (not mandatory).
  3466. *
  3467. * Add new rule to chain after one with given name. See also
  3468. * [[Ruler.before]], [[Ruler.push]].
  3469. *
  3470. * ##### Options:
  3471. *
  3472. * - __alt__ - array with names of "alternate" chains.
  3473. *
  3474. * ##### Example
  3475. *
  3476. * ```javascript
  3477. * var md = require('markdown-it')();
  3478. *
  3479. * md.inline.ruler.after('text', 'my_rule', function replace(state) {
  3480. * //...
  3481. * });
  3482. * ```
  3483. **/
  3484. Ruler.prototype.after = function (afterName, ruleName, fn, options) {
  3485. var index = this.__find__(afterName);
  3486. var opt = options || {};
  3487. if (index === -1) { throw new Error('Parser rule not found: ' + afterName); }
  3488. this.__rules__.splice(index + 1, 0, {
  3489. name: ruleName,
  3490. enabled: true,
  3491. fn: fn,
  3492. alt: opt.alt || []
  3493. });
  3494. this.__cache__ = null;
  3495. };
  3496. /**
  3497. * Ruler.push(ruleName, fn [, options])
  3498. * - ruleName (String): name of added rule.
  3499. * - fn (Function): rule function.
  3500. * - options (Object): rule options (not mandatory).
  3501. *
  3502. * Push new rule to the end of chain. See also
  3503. * [[Ruler.before]], [[Ruler.after]].
  3504. *
  3505. * ##### Options:
  3506. *
  3507. * - __alt__ - array with names of "alternate" chains.
  3508. *
  3509. * ##### Example
  3510. *
  3511. * ```javascript
  3512. * var md = require('markdown-it')();
  3513. *
  3514. * md.core.ruler.push('my_rule', function replace(state) {
  3515. * //...
  3516. * });
  3517. * ```
  3518. **/
  3519. Ruler.prototype.push = function (ruleName, fn, options) {
  3520. var opt = options || {};
  3521. this.__rules__.push({
  3522. name: ruleName,
  3523. enabled: true,
  3524. fn: fn,
  3525. alt: opt.alt || []
  3526. });
  3527. this.__cache__ = null;
  3528. };
  3529. /**
  3530. * Ruler.enable(list [, ignoreInvalid]) -> Array
  3531. * - list (String|Array): list of rule names to enable.
  3532. * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.
  3533. *
  3534. * Enable rules with given names. If any rule name not found - throw Error.
  3535. * Errors can be disabled by second param.
  3536. *
  3537. * Returns list of found rule names (if no exception happened).
  3538. *
  3539. * See also [[Ruler.disable]], [[Ruler.enableOnly]].
  3540. **/
  3541. Ruler.prototype.enable = function (list, ignoreInvalid) {
  3542. if (!Array.isArray(list)) { list = [ list ]; }
  3543. var result = [];
  3544. // Search by name and enable
  3545. list.forEach(function (name) {
  3546. var idx = this.__find__(name);
  3547. if (idx < 0) {
  3548. if (ignoreInvalid) { return; }
  3549. throw new Error('Rules manager: invalid rule name ' + name);
  3550. }
  3551. this.__rules__[idx].enabled = true;
  3552. result.push(name);
  3553. }, this);
  3554. this.__cache__ = null;
  3555. return result;
  3556. };
  3557. /**
  3558. * Ruler.enableOnly(list [, ignoreInvalid])
  3559. * - list (String|Array): list of rule names to enable (whitelist).
  3560. * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.
  3561. *
  3562. * Enable rules with given names, and disable everything else. If any rule name
  3563. * not found - throw Error. Errors can be disabled by second param.
  3564. *
  3565. * See also [[Ruler.disable]], [[Ruler.enable]].
  3566. **/
  3567. Ruler.prototype.enableOnly = function (list, ignoreInvalid) {
  3568. if (!Array.isArray(list)) { list = [ list ]; }
  3569. this.__rules__.forEach(function (rule) { rule.enabled = false; });
  3570. this.enable(list, ignoreInvalid);
  3571. };
  3572. /**
  3573. * Ruler.disable(list [, ignoreInvalid]) -> Array
  3574. * - list (String|Array): list of rule names to disable.
  3575. * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.
  3576. *
  3577. * Disable rules with given names. If any rule name not found - throw Error.
  3578. * Errors can be disabled by second param.
  3579. *
  3580. * Returns list of found rule names (if no exception happened).
  3581. *
  3582. * See also [[Ruler.enable]], [[Ruler.enableOnly]].
  3583. **/
  3584. Ruler.prototype.disable = function (list, ignoreInvalid) {
  3585. if (!Array.isArray(list)) { list = [ list ]; }
  3586. var result = [];
  3587. // Search by name and disable
  3588. list.forEach(function (name) {
  3589. var idx = this.__find__(name);
  3590. if (idx < 0) {
  3591. if (ignoreInvalid) { return; }
  3592. throw new Error('Rules manager: invalid rule name ' + name);
  3593. }
  3594. this.__rules__[idx].enabled = false;
  3595. result.push(name);
  3596. }, this);
  3597. this.__cache__ = null;
  3598. return result;
  3599. };
  3600. /**
  3601. * Ruler.getRules(chainName) -> Array
  3602. *
  3603. * Return array of active functions (rules) for given chain name. It analyzes
  3604. * rules configuration, compiles caches if not exists and returns result.
  3605. *
  3606. * Default chain name is `''` (empty string). It can't be skipped. That's
  3607. * done intentionally, to keep signature monomorphic for high speed.
  3608. **/
  3609. Ruler.prototype.getRules = function (chainName) {
  3610. if (this.__cache__ === null) {
  3611. this.__compile__();
  3612. }
  3613. // Chain can be empty, if rules disabled. But we still have to return Array.
  3614. return this.__cache__[chainName] || [];
  3615. };
  3616. module.exports = Ruler;
  3617. /***/ }),
  3618. /***/ "../../node_modules/markdown-it/lib/rules_block/blockquote.js":
  3619. /*!*************************************************************************************!*\
  3620. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/blockquote.js ***!
  3621. \*************************************************************************************/
  3622. /*! no static exports found */
  3623. /***/ (function(module, exports, __webpack_require__) {
  3624. "use strict";
  3625. // Block quotes
  3626. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  3627. module.exports = function blockquote(state, startLine, endLine, silent) {
  3628. var adjustTab,
  3629. ch,
  3630. i,
  3631. initial,
  3632. l,
  3633. lastLineEmpty,
  3634. lines,
  3635. nextLine,
  3636. offset,
  3637. oldBMarks,
  3638. oldBSCount,
  3639. oldIndent,
  3640. oldParentType,
  3641. oldSCount,
  3642. oldTShift,
  3643. spaceAfterMarker,
  3644. terminate,
  3645. terminatorRules,
  3646. token,
  3647. isOutdented,
  3648. oldLineMax = state.lineMax,
  3649. pos = state.bMarks[startLine] + state.tShift[startLine],
  3650. max = state.eMarks[startLine];
  3651. // if it's indented more than 3 spaces, it should be a code block
  3652. if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }
  3653. // check the block quote marker
  3654. if (state.src.charCodeAt(pos) !== 0x3E/* > */) { return false; }
  3655. // we know that it's going to be a valid blockquote,
  3656. // so no point trying to find the end of it in silent mode
  3657. if (silent) { return true; }
  3658. oldBMarks = [];
  3659. oldBSCount = [];
  3660. oldSCount = [];
  3661. oldTShift = [];
  3662. terminatorRules = state.md.block.ruler.getRules('blockquote');
  3663. oldParentType = state.parentType;
  3664. state.parentType = 'blockquote';
  3665. // Search the end of the block
  3666. //
  3667. // Block ends with either:
  3668. // 1. an empty line outside:
  3669. // ```
  3670. // > test
  3671. //
  3672. // ```
  3673. // 2. an empty line inside:
  3674. // ```
  3675. // >
  3676. // test
  3677. // ```
  3678. // 3. another tag:
  3679. // ```
  3680. // > test
  3681. // - - -
  3682. // ```
  3683. for (nextLine = startLine; nextLine < endLine; nextLine++) {
  3684. // check if it's outdented, i.e. it's inside list item and indented
  3685. // less than said list item:
  3686. //
  3687. // ```
  3688. // 1. anything
  3689. // > current blockquote
  3690. // 2. checking this line
  3691. // ```
  3692. isOutdented = state.sCount[nextLine] < state.blkIndent;
  3693. pos = state.bMarks[nextLine] + state.tShift[nextLine];
  3694. max = state.eMarks[nextLine];
  3695. if (pos >= max) {
  3696. // Case 1: line is not inside the blockquote, and this line is empty.
  3697. break;
  3698. }
  3699. if (state.src.charCodeAt(pos++) === 0x3E/* > */ && !isOutdented) {
  3700. // This line is inside the blockquote.
  3701. // set offset past spaces and ">"
  3702. initial = state.sCount[nextLine] + 1;
  3703. // skip one optional space after '>'
  3704. if (state.src.charCodeAt(pos) === 0x20 /* space */) {
  3705. // ' > test '
  3706. // ^ -- position start of line here:
  3707. pos++;
  3708. initial++;
  3709. adjustTab = false;
  3710. spaceAfterMarker = true;
  3711. } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {
  3712. spaceAfterMarker = true;
  3713. if ((state.bsCount[nextLine] + initial) % 4 === 3) {
  3714. // ' >\t test '
  3715. // ^ -- position start of line here (tab has width===1)
  3716. pos++;
  3717. initial++;
  3718. adjustTab = false;
  3719. } else {
  3720. // ' >\t test '
  3721. // ^ -- position start of line here + shift bsCount slightly
  3722. // to make extra space appear
  3723. adjustTab = true;
  3724. }
  3725. } else {
  3726. spaceAfterMarker = false;
  3727. }
  3728. offset = initial;
  3729. oldBMarks.push(state.bMarks[nextLine]);
  3730. state.bMarks[nextLine] = pos;
  3731. while (pos < max) {
  3732. ch = state.src.charCodeAt(pos);
  3733. if (isSpace(ch)) {
  3734. if (ch === 0x09) {
  3735. offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;
  3736. } else {
  3737. offset++;
  3738. }
  3739. } else {
  3740. break;
  3741. }
  3742. pos++;
  3743. }
  3744. lastLineEmpty = pos >= max;
  3745. oldBSCount.push(state.bsCount[nextLine]);
  3746. state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);
  3747. oldSCount.push(state.sCount[nextLine]);
  3748. state.sCount[nextLine] = offset - initial;
  3749. oldTShift.push(state.tShift[nextLine]);
  3750. state.tShift[nextLine] = pos - state.bMarks[nextLine];
  3751. continue;
  3752. }
  3753. // Case 2: line is not inside the blockquote, and the last line was empty.
  3754. if (lastLineEmpty) { break; }
  3755. // Case 3: another tag found.
  3756. terminate = false;
  3757. for (i = 0, l = terminatorRules.length; i < l; i++) {
  3758. if (terminatorRules[i](state, nextLine, endLine, true)) {
  3759. terminate = true;
  3760. break;
  3761. }
  3762. }
  3763. if (terminate) {
  3764. // Quirk to enforce "hard termination mode" for paragraphs;
  3765. // normally if you call `tokenize(state, startLine, nextLine)`,
  3766. // paragraphs will look below nextLine for paragraph continuation,
  3767. // but if blockquote is terminated by another tag, they shouldn't
  3768. state.lineMax = nextLine;
  3769. if (state.blkIndent !== 0) {
  3770. // state.blkIndent was non-zero, we now set it to zero,
  3771. // so we need to re-calculate all offsets to appear as
  3772. // if indent wasn't changed
  3773. oldBMarks.push(state.bMarks[nextLine]);
  3774. oldBSCount.push(state.bsCount[nextLine]);
  3775. oldTShift.push(state.tShift[nextLine]);
  3776. oldSCount.push(state.sCount[nextLine]);
  3777. state.sCount[nextLine] -= state.blkIndent;
  3778. }
  3779. break;
  3780. }
  3781. oldBMarks.push(state.bMarks[nextLine]);
  3782. oldBSCount.push(state.bsCount[nextLine]);
  3783. oldTShift.push(state.tShift[nextLine]);
  3784. oldSCount.push(state.sCount[nextLine]);
  3785. // A negative indentation means that this is a paragraph continuation
  3786. //
  3787. state.sCount[nextLine] = -1;
  3788. }
  3789. oldIndent = state.blkIndent;
  3790. state.blkIndent = 0;
  3791. token = state.push('blockquote_open', 'blockquote', 1);
  3792. token.markup = '>';
  3793. token.map = lines = [ startLine, 0 ];
  3794. state.md.block.tokenize(state, startLine, nextLine);
  3795. token = state.push('blockquote_close', 'blockquote', -1);
  3796. token.markup = '>';
  3797. state.lineMax = oldLineMax;
  3798. state.parentType = oldParentType;
  3799. lines[1] = state.line;
  3800. // Restore original tShift; this might not be necessary since the parser
  3801. // has already been here, but just to make sure we can do that.
  3802. for (i = 0; i < oldTShift.length; i++) {
  3803. state.bMarks[i + startLine] = oldBMarks[i];
  3804. state.tShift[i + startLine] = oldTShift[i];
  3805. state.sCount[i + startLine] = oldSCount[i];
  3806. state.bsCount[i + startLine] = oldBSCount[i];
  3807. }
  3808. state.blkIndent = oldIndent;
  3809. return true;
  3810. };
  3811. /***/ }),
  3812. /***/ "../../node_modules/markdown-it/lib/rules_block/code.js":
  3813. /*!*******************************************************************************!*\
  3814. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/code.js ***!
  3815. \*******************************************************************************/
  3816. /*! no static exports found */
  3817. /***/ (function(module, exports, __webpack_require__) {
  3818. "use strict";
  3819. // Code block (4 spaces padded)
  3820. module.exports = function code(state, startLine, endLine/*, silent*/) {
  3821. var nextLine, last, token;
  3822. if (state.sCount[startLine] - state.blkIndent < 4) { return false; }
  3823. last = nextLine = startLine + 1;
  3824. while (nextLine < endLine) {
  3825. if (state.isEmpty(nextLine)) {
  3826. nextLine++;
  3827. continue;
  3828. }
  3829. if (state.sCount[nextLine] - state.blkIndent >= 4) {
  3830. nextLine++;
  3831. last = nextLine;
  3832. continue;
  3833. }
  3834. break;
  3835. }
  3836. state.line = last;
  3837. token = state.push('code_block', 'code', 0);
  3838. token.content = state.getLines(startLine, last, 4 + state.blkIndent, false) + '\n';
  3839. token.map = [ startLine, state.line ];
  3840. return true;
  3841. };
  3842. /***/ }),
  3843. /***/ "../../node_modules/markdown-it/lib/rules_block/fence.js":
  3844. /*!********************************************************************************!*\
  3845. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/fence.js ***!
  3846. \********************************************************************************/
  3847. /*! no static exports found */
  3848. /***/ (function(module, exports, __webpack_require__) {
  3849. "use strict";
  3850. // fences (``` lang, ~~~ lang)
  3851. module.exports = function fence(state, startLine, endLine, silent) {
  3852. var marker, len, params, nextLine, mem, token, markup,
  3853. haveEndMarker = false,
  3854. pos = state.bMarks[startLine] + state.tShift[startLine],
  3855. max = state.eMarks[startLine];
  3856. // if it's indented more than 3 spaces, it should be a code block
  3857. if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }
  3858. if (pos + 3 > max) { return false; }
  3859. marker = state.src.charCodeAt(pos);
  3860. if (marker !== 0x7E/* ~ */ && marker !== 0x60 /* ` */) {
  3861. return false;
  3862. }
  3863. // scan marker length
  3864. mem = pos;
  3865. pos = state.skipChars(pos, marker);
  3866. len = pos - mem;
  3867. if (len < 3) { return false; }
  3868. markup = state.src.slice(mem, pos);
  3869. params = state.src.slice(pos, max);
  3870. if (marker === 0x60 /* ` */) {
  3871. if (params.indexOf(String.fromCharCode(marker)) >= 0) {
  3872. return false;
  3873. }
  3874. }
  3875. // Since start is found, we can report success here in validation mode
  3876. if (silent) { return true; }
  3877. // search end of block
  3878. nextLine = startLine;
  3879. for (;;) {
  3880. nextLine++;
  3881. if (nextLine >= endLine) {
  3882. // unclosed block should be autoclosed by end of document.
  3883. // also block seems to be autoclosed by end of parent
  3884. break;
  3885. }
  3886. pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];
  3887. max = state.eMarks[nextLine];
  3888. if (pos < max && state.sCount[nextLine] < state.blkIndent) {
  3889. // non-empty line with negative indent should stop the list:
  3890. // - ```
  3891. // test
  3892. break;
  3893. }
  3894. if (state.src.charCodeAt(pos) !== marker) { continue; }
  3895. if (state.sCount[nextLine] - state.blkIndent >= 4) {
  3896. // closing fence should be indented less than 4 spaces
  3897. continue;
  3898. }
  3899. pos = state.skipChars(pos, marker);
  3900. // closing code fence must be at least as long as the opening one
  3901. if (pos - mem < len) { continue; }
  3902. // make sure tail has spaces only
  3903. pos = state.skipSpaces(pos);
  3904. if (pos < max) { continue; }
  3905. haveEndMarker = true;
  3906. // found!
  3907. break;
  3908. }
  3909. // If a fence has heading spaces, they should be removed from its inner block
  3910. len = state.sCount[startLine];
  3911. state.line = nextLine + (haveEndMarker ? 1 : 0);
  3912. token = state.push('fence', 'code', 0);
  3913. token.info = params;
  3914. token.content = state.getLines(startLine + 1, nextLine, len, true);
  3915. token.markup = markup;
  3916. token.map = [ startLine, state.line ];
  3917. return true;
  3918. };
  3919. /***/ }),
  3920. /***/ "../../node_modules/markdown-it/lib/rules_block/heading.js":
  3921. /*!**********************************************************************************!*\
  3922. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/heading.js ***!
  3923. \**********************************************************************************/
  3924. /*! no static exports found */
  3925. /***/ (function(module, exports, __webpack_require__) {
  3926. "use strict";
  3927. // heading (#, ##, ...)
  3928. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  3929. module.exports = function heading(state, startLine, endLine, silent) {
  3930. var ch, level, tmp, token,
  3931. pos = state.bMarks[startLine] + state.tShift[startLine],
  3932. max = state.eMarks[startLine];
  3933. // if it's indented more than 3 spaces, it should be a code block
  3934. if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }
  3935. ch = state.src.charCodeAt(pos);
  3936. if (ch !== 0x23/* # */ || pos >= max) { return false; }
  3937. // count heading level
  3938. level = 1;
  3939. ch = state.src.charCodeAt(++pos);
  3940. while (ch === 0x23/* # */ && pos < max && level <= 6) {
  3941. level++;
  3942. ch = state.src.charCodeAt(++pos);
  3943. }
  3944. if (level > 6 || (pos < max && !isSpace(ch))) { return false; }
  3945. if (silent) { return true; }
  3946. // Let's cut tails like ' ### ' from the end of string
  3947. max = state.skipSpacesBack(max, pos);
  3948. tmp = state.skipCharsBack(max, 0x23, pos); // #
  3949. if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {
  3950. max = tmp;
  3951. }
  3952. state.line = startLine + 1;
  3953. token = state.push('heading_open', 'h' + String(level), 1);
  3954. token.markup = '########'.slice(0, level);
  3955. token.map = [ startLine, state.line ];
  3956. token = state.push('inline', '', 0);
  3957. token.content = state.src.slice(pos, max).trim();
  3958. token.map = [ startLine, state.line ];
  3959. token.children = [];
  3960. token = state.push('heading_close', 'h' + String(level), -1);
  3961. token.markup = '########'.slice(0, level);
  3962. return true;
  3963. };
  3964. /***/ }),
  3965. /***/ "../../node_modules/markdown-it/lib/rules_block/hr.js":
  3966. /*!*****************************************************************************!*\
  3967. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/hr.js ***!
  3968. \*****************************************************************************/
  3969. /*! no static exports found */
  3970. /***/ (function(module, exports, __webpack_require__) {
  3971. "use strict";
  3972. // Horizontal rule
  3973. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  3974. module.exports = function hr(state, startLine, endLine, silent) {
  3975. var marker, cnt, ch, token,
  3976. pos = state.bMarks[startLine] + state.tShift[startLine],
  3977. max = state.eMarks[startLine];
  3978. // if it's indented more than 3 spaces, it should be a code block
  3979. if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }
  3980. marker = state.src.charCodeAt(pos++);
  3981. // Check hr marker
  3982. if (marker !== 0x2A/* * */ &&
  3983. marker !== 0x2D/* - */ &&
  3984. marker !== 0x5F/* _ */) {
  3985. return false;
  3986. }
  3987. // markers can be mixed with spaces, but there should be at least 3 of them
  3988. cnt = 1;
  3989. while (pos < max) {
  3990. ch = state.src.charCodeAt(pos++);
  3991. if (ch !== marker && !isSpace(ch)) { return false; }
  3992. if (ch === marker) { cnt++; }
  3993. }
  3994. if (cnt < 3) { return false; }
  3995. if (silent) { return true; }
  3996. state.line = startLine + 1;
  3997. token = state.push('hr', 'hr', 0);
  3998. token.map = [ startLine, state.line ];
  3999. token.markup = Array(cnt + 1).join(String.fromCharCode(marker));
  4000. return true;
  4001. };
  4002. /***/ }),
  4003. /***/ "../../node_modules/markdown-it/lib/rules_block/html_block.js":
  4004. /*!*************************************************************************************!*\
  4005. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/html_block.js ***!
  4006. \*************************************************************************************/
  4007. /*! no static exports found */
  4008. /***/ (function(module, exports, __webpack_require__) {
  4009. "use strict";
  4010. // HTML block
  4011. var block_names = __webpack_require__(/*! ../common/html_blocks */ "../../node_modules/markdown-it/lib/common/html_blocks.js");
  4012. var HTML_OPEN_CLOSE_TAG_RE = __webpack_require__(/*! ../common/html_re */ "../../node_modules/markdown-it/lib/common/html_re.js").HTML_OPEN_CLOSE_TAG_RE;
  4013. // An array of opening and corresponding closing sequences for html tags,
  4014. // last argument defines whether it can terminate a paragraph or not
  4015. //
  4016. var HTML_SEQUENCES = [
  4017. [ /^<(script|pre|style|textarea)(?=(\s|>|$))/i, /<\/(script|pre|style|textarea)>/i, true ],
  4018. [ /^<!--/, /-->/, true ],
  4019. [ /^<\?/, /\?>/, true ],
  4020. [ /^<![A-Z]/, />/, true ],
  4021. [ /^<!\[CDATA\[/, /\]\]>/, true ],
  4022. [ new RegExp('^</?(' + block_names.join('|') + ')(?=(\\s|/?>|$))', 'i'), /^$/, true ],
  4023. [ new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\s*$'), /^$/, false ]
  4024. ];
  4025. module.exports = function html_block(state, startLine, endLine, silent) {
  4026. var i, nextLine, token, lineText,
  4027. pos = state.bMarks[startLine] + state.tShift[startLine],
  4028. max = state.eMarks[startLine];
  4029. // if it's indented more than 3 spaces, it should be a code block
  4030. if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }
  4031. if (!state.md.options.html) { return false; }
  4032. if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }
  4033. lineText = state.src.slice(pos, max);
  4034. for (i = 0; i < HTML_SEQUENCES.length; i++) {
  4035. if (HTML_SEQUENCES[i][0].test(lineText)) { break; }
  4036. }
  4037. if (i === HTML_SEQUENCES.length) { return false; }
  4038. if (silent) {
  4039. // true if this sequence can be a terminator, false otherwise
  4040. return HTML_SEQUENCES[i][2];
  4041. }
  4042. nextLine = startLine + 1;
  4043. // If we are here - we detected HTML block.
  4044. // Let's roll down till block end.
  4045. if (!HTML_SEQUENCES[i][1].test(lineText)) {
  4046. for (; nextLine < endLine; nextLine++) {
  4047. if (state.sCount[nextLine] < state.blkIndent) { break; }
  4048. pos = state.bMarks[nextLine] + state.tShift[nextLine];
  4049. max = state.eMarks[nextLine];
  4050. lineText = state.src.slice(pos, max);
  4051. if (HTML_SEQUENCES[i][1].test(lineText)) {
  4052. if (lineText.length !== 0) { nextLine++; }
  4053. break;
  4054. }
  4055. }
  4056. }
  4057. state.line = nextLine;
  4058. token = state.push('html_block', '', 0);
  4059. token.map = [ startLine, nextLine ];
  4060. token.content = state.getLines(startLine, nextLine, state.blkIndent, true);
  4061. return true;
  4062. };
  4063. /***/ }),
  4064. /***/ "../../node_modules/markdown-it/lib/rules_block/lheading.js":
  4065. /*!***********************************************************************************!*\
  4066. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/lheading.js ***!
  4067. \***********************************************************************************/
  4068. /*! no static exports found */
  4069. /***/ (function(module, exports, __webpack_require__) {
  4070. "use strict";
  4071. // lheading (---, ===)
  4072. module.exports = function lheading(state, startLine, endLine/*, silent*/) {
  4073. var content, terminate, i, l, token, pos, max, level, marker,
  4074. nextLine = startLine + 1, oldParentType,
  4075. terminatorRules = state.md.block.ruler.getRules('paragraph');
  4076. // if it's indented more than 3 spaces, it should be a code block
  4077. if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }
  4078. oldParentType = state.parentType;
  4079. state.parentType = 'paragraph'; // use paragraph to match terminatorRules
  4080. // jump line-by-line until empty one or EOF
  4081. for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {
  4082. // this would be a code block normally, but after paragraph
  4083. // it's considered a lazy continuation regardless of what's there
  4084. if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }
  4085. //
  4086. // Check for underline in setext header
  4087. //
  4088. if (state.sCount[nextLine] >= state.blkIndent) {
  4089. pos = state.bMarks[nextLine] + state.tShift[nextLine];
  4090. max = state.eMarks[nextLine];
  4091. if (pos < max) {
  4092. marker = state.src.charCodeAt(pos);
  4093. if (marker === 0x2D/* - */ || marker === 0x3D/* = */) {
  4094. pos = state.skipChars(pos, marker);
  4095. pos = state.skipSpaces(pos);
  4096. if (pos >= max) {
  4097. level = (marker === 0x3D/* = */ ? 1 : 2);
  4098. break;
  4099. }
  4100. }
  4101. }
  4102. }
  4103. // quirk for blockquotes, this line should already be checked by that rule
  4104. if (state.sCount[nextLine] < 0) { continue; }
  4105. // Some tags can terminate paragraph without empty line.
  4106. terminate = false;
  4107. for (i = 0, l = terminatorRules.length; i < l; i++) {
  4108. if (terminatorRules[i](state, nextLine, endLine, true)) {
  4109. terminate = true;
  4110. break;
  4111. }
  4112. }
  4113. if (terminate) { break; }
  4114. }
  4115. if (!level) {
  4116. // Didn't find valid underline
  4117. return false;
  4118. }
  4119. content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();
  4120. state.line = nextLine + 1;
  4121. token = state.push('heading_open', 'h' + String(level), 1);
  4122. token.markup = String.fromCharCode(marker);
  4123. token.map = [ startLine, state.line ];
  4124. token = state.push('inline', '', 0);
  4125. token.content = content;
  4126. token.map = [ startLine, state.line - 1 ];
  4127. token.children = [];
  4128. token = state.push('heading_close', 'h' + String(level), -1);
  4129. token.markup = String.fromCharCode(marker);
  4130. state.parentType = oldParentType;
  4131. return true;
  4132. };
  4133. /***/ }),
  4134. /***/ "../../node_modules/markdown-it/lib/rules_block/list.js":
  4135. /*!*******************************************************************************!*\
  4136. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/list.js ***!
  4137. \*******************************************************************************/
  4138. /*! no static exports found */
  4139. /***/ (function(module, exports, __webpack_require__) {
  4140. "use strict";
  4141. // Lists
  4142. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  4143. // Search `[-+*][\n ]`, returns next pos after marker on success
  4144. // or -1 on fail.
  4145. function skipBulletListMarker(state, startLine) {
  4146. var marker, pos, max, ch;
  4147. pos = state.bMarks[startLine] + state.tShift[startLine];
  4148. max = state.eMarks[startLine];
  4149. marker = state.src.charCodeAt(pos++);
  4150. // Check bullet
  4151. if (marker !== 0x2A/* * */ &&
  4152. marker !== 0x2D/* - */ &&
  4153. marker !== 0x2B/* + */) {
  4154. return -1;
  4155. }
  4156. if (pos < max) {
  4157. ch = state.src.charCodeAt(pos);
  4158. if (!isSpace(ch)) {
  4159. // " -test " - is not a list item
  4160. return -1;
  4161. }
  4162. }
  4163. return pos;
  4164. }
  4165. // Search `\d+[.)][\n ]`, returns next pos after marker on success
  4166. // or -1 on fail.
  4167. function skipOrderedListMarker(state, startLine) {
  4168. var ch,
  4169. start = state.bMarks[startLine] + state.tShift[startLine],
  4170. pos = start,
  4171. max = state.eMarks[startLine];
  4172. // List marker should have at least 2 chars (digit + dot)
  4173. if (pos + 1 >= max) { return -1; }
  4174. ch = state.src.charCodeAt(pos++);
  4175. if (ch < 0x30/* 0 */ || ch > 0x39/* 9 */) { return -1; }
  4176. for (;;) {
  4177. // EOL -> fail
  4178. if (pos >= max) { return -1; }
  4179. ch = state.src.charCodeAt(pos++);
  4180. if (ch >= 0x30/* 0 */ && ch <= 0x39/* 9 */) {
  4181. // List marker should have no more than 9 digits
  4182. // (prevents integer overflow in browsers)
  4183. if (pos - start >= 10) { return -1; }
  4184. continue;
  4185. }
  4186. // found valid marker
  4187. if (ch === 0x29/* ) */ || ch === 0x2e/* . */) {
  4188. break;
  4189. }
  4190. return -1;
  4191. }
  4192. if (pos < max) {
  4193. ch = state.src.charCodeAt(pos);
  4194. if (!isSpace(ch)) {
  4195. // " 1.test " - is not a list item
  4196. return -1;
  4197. }
  4198. }
  4199. return pos;
  4200. }
  4201. function markTightParagraphs(state, idx) {
  4202. var i, l,
  4203. level = state.level + 2;
  4204. for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) {
  4205. if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') {
  4206. state.tokens[i + 2].hidden = true;
  4207. state.tokens[i].hidden = true;
  4208. i += 2;
  4209. }
  4210. }
  4211. }
  4212. module.exports = function list(state, startLine, endLine, silent) {
  4213. var ch,
  4214. contentStart,
  4215. i,
  4216. indent,
  4217. indentAfterMarker,
  4218. initial,
  4219. isOrdered,
  4220. itemLines,
  4221. l,
  4222. listLines,
  4223. listTokIdx,
  4224. markerCharCode,
  4225. markerValue,
  4226. max,
  4227. offset,
  4228. oldListIndent,
  4229. oldParentType,
  4230. oldSCount,
  4231. oldTShift,
  4232. oldTight,
  4233. pos,
  4234. posAfterMarker,
  4235. prevEmptyEnd,
  4236. start,
  4237. terminate,
  4238. terminatorRules,
  4239. token,
  4240. nextLine = startLine,
  4241. isTerminatingParagraph = false,
  4242. tight = true;
  4243. // if it's indented more than 3 spaces, it should be a code block
  4244. if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; }
  4245. // Special case:
  4246. // - item 1
  4247. // - item 2
  4248. // - item 3
  4249. // - item 4
  4250. // - this one is a paragraph continuation
  4251. if (state.listIndent >= 0 &&
  4252. state.sCount[nextLine] - state.listIndent >= 4 &&
  4253. state.sCount[nextLine] < state.blkIndent) {
  4254. return false;
  4255. }
  4256. // limit conditions when list can interrupt
  4257. // a paragraph (validation mode only)
  4258. if (silent && state.parentType === 'paragraph') {
  4259. // Next list item should still terminate previous list item;
  4260. //
  4261. // This code can fail if plugins use blkIndent as well as lists,
  4262. // but I hope the spec gets fixed long before that happens.
  4263. //
  4264. if (state.sCount[nextLine] >= state.blkIndent) {
  4265. isTerminatingParagraph = true;
  4266. }
  4267. }
  4268. // Detect list type and position after marker
  4269. if ((posAfterMarker = skipOrderedListMarker(state, nextLine)) >= 0) {
  4270. isOrdered = true;
  4271. start = state.bMarks[nextLine] + state.tShift[nextLine];
  4272. markerValue = Number(state.src.slice(start, posAfterMarker - 1));
  4273. // If we're starting a new ordered list right after
  4274. // a paragraph, it should start with 1.
  4275. if (isTerminatingParagraph && markerValue !== 1) return false;
  4276. } else if ((posAfterMarker = skipBulletListMarker(state, nextLine)) >= 0) {
  4277. isOrdered = false;
  4278. } else {
  4279. return false;
  4280. }
  4281. // If we're starting a new unordered list right after
  4282. // a paragraph, first line should not be empty.
  4283. if (isTerminatingParagraph) {
  4284. if (state.skipSpaces(posAfterMarker) >= state.eMarks[nextLine]) return false;
  4285. }
  4286. // For validation mode we can terminate immediately
  4287. if (silent) { return true; }
  4288. // We should terminate list on style change. Remember first one to compare.
  4289. markerCharCode = state.src.charCodeAt(posAfterMarker - 1);
  4290. // Start list
  4291. listTokIdx = state.tokens.length;
  4292. if (isOrdered) {
  4293. token = state.push('ordered_list_open', 'ol', 1);
  4294. if (markerValue !== 1) {
  4295. token.attrs = [ [ 'start', markerValue ] ];
  4296. }
  4297. } else {
  4298. token = state.push('bullet_list_open', 'ul', 1);
  4299. }
  4300. token.map = listLines = [ nextLine, 0 ];
  4301. token.markup = String.fromCharCode(markerCharCode);
  4302. //
  4303. // Iterate list items
  4304. //
  4305. prevEmptyEnd = false;
  4306. terminatorRules = state.md.block.ruler.getRules('list');
  4307. oldParentType = state.parentType;
  4308. state.parentType = 'list';
  4309. while (nextLine < endLine) {
  4310. pos = posAfterMarker;
  4311. max = state.eMarks[nextLine];
  4312. initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[nextLine] + state.tShift[nextLine]);
  4313. while (pos < max) {
  4314. ch = state.src.charCodeAt(pos);
  4315. if (ch === 0x09) {
  4316. offset += 4 - (offset + state.bsCount[nextLine]) % 4;
  4317. } else if (ch === 0x20) {
  4318. offset++;
  4319. } else {
  4320. break;
  4321. }
  4322. pos++;
  4323. }
  4324. contentStart = pos;
  4325. if (contentStart >= max) {
  4326. // trimming space in "- \n 3" case, indent is 1 here
  4327. indentAfterMarker = 1;
  4328. } else {
  4329. indentAfterMarker = offset - initial;
  4330. }
  4331. // If we have more than 4 spaces, the indent is 1
  4332. // (the rest is just indented code block)
  4333. if (indentAfterMarker > 4) { indentAfterMarker = 1; }
  4334. // " - test"
  4335. // ^^^^^ - calculating total length of this thing
  4336. indent = initial + indentAfterMarker;
  4337. // Run subparser & write tokens
  4338. token = state.push('list_item_open', 'li', 1);
  4339. token.markup = String.fromCharCode(markerCharCode);
  4340. token.map = itemLines = [ nextLine, 0 ];
  4341. if (isOrdered) {
  4342. token.info = state.src.slice(start, posAfterMarker - 1);
  4343. }
  4344. // change current state, then restore it after parser subcall
  4345. oldTight = state.tight;
  4346. oldTShift = state.tShift[nextLine];
  4347. oldSCount = state.sCount[nextLine];
  4348. // - example list
  4349. // ^ listIndent position will be here
  4350. // ^ blkIndent position will be here
  4351. //
  4352. oldListIndent = state.listIndent;
  4353. state.listIndent = state.blkIndent;
  4354. state.blkIndent = indent;
  4355. state.tight = true;
  4356. state.tShift[nextLine] = contentStart - state.bMarks[nextLine];
  4357. state.sCount[nextLine] = offset;
  4358. if (contentStart >= max && state.isEmpty(nextLine + 1)) {
  4359. // workaround for this case
  4360. // (list item is empty, list terminates before "foo"):
  4361. // ~~~~~~~~
  4362. // -
  4363. //
  4364. // foo
  4365. // ~~~~~~~~
  4366. state.line = Math.min(state.line + 2, endLine);
  4367. } else {
  4368. state.md.block.tokenize(state, nextLine, endLine, true);
  4369. }
  4370. // If any of list item is tight, mark list as tight
  4371. if (!state.tight || prevEmptyEnd) {
  4372. tight = false;
  4373. }
  4374. // Item become loose if finish with empty line,
  4375. // but we should filter last element, because it means list finish
  4376. prevEmptyEnd = (state.line - nextLine) > 1 && state.isEmpty(state.line - 1);
  4377. state.blkIndent = state.listIndent;
  4378. state.listIndent = oldListIndent;
  4379. state.tShift[nextLine] = oldTShift;
  4380. state.sCount[nextLine] = oldSCount;
  4381. state.tight = oldTight;
  4382. token = state.push('list_item_close', 'li', -1);
  4383. token.markup = String.fromCharCode(markerCharCode);
  4384. nextLine = state.line;
  4385. itemLines[1] = nextLine;
  4386. if (nextLine >= endLine) { break; }
  4387. //
  4388. // Try to check if list is terminated or continued.
  4389. //
  4390. if (state.sCount[nextLine] < state.blkIndent) { break; }
  4391. // if it's indented more than 3 spaces, it should be a code block
  4392. if (state.sCount[nextLine] - state.blkIndent >= 4) { break; }
  4393. // fail if terminating block found
  4394. terminate = false;
  4395. for (i = 0, l = terminatorRules.length; i < l; i++) {
  4396. if (terminatorRules[i](state, nextLine, endLine, true)) {
  4397. terminate = true;
  4398. break;
  4399. }
  4400. }
  4401. if (terminate) { break; }
  4402. // fail if list has another type
  4403. if (isOrdered) {
  4404. posAfterMarker = skipOrderedListMarker(state, nextLine);
  4405. if (posAfterMarker < 0) { break; }
  4406. start = state.bMarks[nextLine] + state.tShift[nextLine];
  4407. } else {
  4408. posAfterMarker = skipBulletListMarker(state, nextLine);
  4409. if (posAfterMarker < 0) { break; }
  4410. }
  4411. if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) { break; }
  4412. }
  4413. // Finalize list
  4414. if (isOrdered) {
  4415. token = state.push('ordered_list_close', 'ol', -1);
  4416. } else {
  4417. token = state.push('bullet_list_close', 'ul', -1);
  4418. }
  4419. token.markup = String.fromCharCode(markerCharCode);
  4420. listLines[1] = nextLine;
  4421. state.line = nextLine;
  4422. state.parentType = oldParentType;
  4423. // mark paragraphs tight if needed
  4424. if (tight) {
  4425. markTightParagraphs(state, listTokIdx);
  4426. }
  4427. return true;
  4428. };
  4429. /***/ }),
  4430. /***/ "../../node_modules/markdown-it/lib/rules_block/paragraph.js":
  4431. /*!************************************************************************************!*\
  4432. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/paragraph.js ***!
  4433. \************************************************************************************/
  4434. /*! no static exports found */
  4435. /***/ (function(module, exports, __webpack_require__) {
  4436. "use strict";
  4437. // Paragraph
  4438. module.exports = function paragraph(state, startLine, endLine) {
  4439. var content, terminate, i, l, token, oldParentType,
  4440. nextLine = startLine + 1,
  4441. terminatorRules = state.md.block.ruler.getRules('paragraph');
  4442. oldParentType = state.parentType;
  4443. state.parentType = 'paragraph';
  4444. // jump line-by-line until empty one or EOF
  4445. for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {
  4446. // this would be a code block normally, but after paragraph
  4447. // it's considered a lazy continuation regardless of what's there
  4448. if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }
  4449. // quirk for blockquotes, this line should already be checked by that rule
  4450. if (state.sCount[nextLine] < 0) { continue; }
  4451. // Some tags can terminate paragraph without empty line.
  4452. terminate = false;
  4453. for (i = 0, l = terminatorRules.length; i < l; i++) {
  4454. if (terminatorRules[i](state, nextLine, endLine, true)) {
  4455. terminate = true;
  4456. break;
  4457. }
  4458. }
  4459. if (terminate) { break; }
  4460. }
  4461. content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();
  4462. state.line = nextLine;
  4463. token = state.push('paragraph_open', 'p', 1);
  4464. token.map = [ startLine, state.line ];
  4465. token = state.push('inline', '', 0);
  4466. token.content = content;
  4467. token.map = [ startLine, state.line ];
  4468. token.children = [];
  4469. token = state.push('paragraph_close', 'p', -1);
  4470. state.parentType = oldParentType;
  4471. return true;
  4472. };
  4473. /***/ }),
  4474. /***/ "../../node_modules/markdown-it/lib/rules_block/reference.js":
  4475. /*!************************************************************************************!*\
  4476. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/reference.js ***!
  4477. \************************************************************************************/
  4478. /*! no static exports found */
  4479. /***/ (function(module, exports, __webpack_require__) {
  4480. "use strict";
  4481. var normalizeReference = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").normalizeReference;
  4482. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  4483. module.exports = function reference(state, startLine, _endLine, silent) {
  4484. var ch,
  4485. destEndPos,
  4486. destEndLineNo,
  4487. endLine,
  4488. href,
  4489. i,
  4490. l,
  4491. label,
  4492. labelEnd,
  4493. oldParentType,
  4494. res,
  4495. start,
  4496. str,
  4497. terminate,
  4498. terminatorRules,
  4499. title,
  4500. lines = 0,
  4501. pos = state.bMarks[startLine] + state.tShift[startLine],
  4502. max = state.eMarks[startLine],
  4503. nextLine = startLine + 1;
  4504. // if it's indented more than 3 spaces, it should be a code block
  4505. if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }
  4506. if (state.src.charCodeAt(pos) !== 0x5B/* [ */) { return false; }
  4507. // Simple check to quickly interrupt scan on [link](url) at the start of line.
  4508. // Can be useful on practice: https://github.com/markdown-it/markdown-it/issues/54
  4509. while (++pos < max) {
  4510. if (state.src.charCodeAt(pos) === 0x5D /* ] */ &&
  4511. state.src.charCodeAt(pos - 1) !== 0x5C/* \ */) {
  4512. if (pos + 1 === max) { return false; }
  4513. if (state.src.charCodeAt(pos + 1) !== 0x3A/* : */) { return false; }
  4514. break;
  4515. }
  4516. }
  4517. endLine = state.lineMax;
  4518. // jump line-by-line until empty one or EOF
  4519. terminatorRules = state.md.block.ruler.getRules('reference');
  4520. oldParentType = state.parentType;
  4521. state.parentType = 'reference';
  4522. for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {
  4523. // this would be a code block normally, but after paragraph
  4524. // it's considered a lazy continuation regardless of what's there
  4525. if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }
  4526. // quirk for blockquotes, this line should already be checked by that rule
  4527. if (state.sCount[nextLine] < 0) { continue; }
  4528. // Some tags can terminate paragraph without empty line.
  4529. terminate = false;
  4530. for (i = 0, l = terminatorRules.length; i < l; i++) {
  4531. if (terminatorRules[i](state, nextLine, endLine, true)) {
  4532. terminate = true;
  4533. break;
  4534. }
  4535. }
  4536. if (terminate) { break; }
  4537. }
  4538. str = state.getLines(startLine, nextLine, state.blkIndent, false).trim();
  4539. max = str.length;
  4540. for (pos = 1; pos < max; pos++) {
  4541. ch = str.charCodeAt(pos);
  4542. if (ch === 0x5B /* [ */) {
  4543. return false;
  4544. } else if (ch === 0x5D /* ] */) {
  4545. labelEnd = pos;
  4546. break;
  4547. } else if (ch === 0x0A /* \n */) {
  4548. lines++;
  4549. } else if (ch === 0x5C /* \ */) {
  4550. pos++;
  4551. if (pos < max && str.charCodeAt(pos) === 0x0A) {
  4552. lines++;
  4553. }
  4554. }
  4555. }
  4556. if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A/* : */) { return false; }
  4557. // [label]: destination 'title'
  4558. // ^^^ skip optional whitespace here
  4559. for (pos = labelEnd + 2; pos < max; pos++) {
  4560. ch = str.charCodeAt(pos);
  4561. if (ch === 0x0A) {
  4562. lines++;
  4563. } else if (isSpace(ch)) {
  4564. /*eslint no-empty:0*/
  4565. } else {
  4566. break;
  4567. }
  4568. }
  4569. // [label]: destination 'title'
  4570. // ^^^^^^^^^^^ parse this
  4571. res = state.md.helpers.parseLinkDestination(str, pos, max);
  4572. if (!res.ok) { return false; }
  4573. href = state.md.normalizeLink(res.str);
  4574. if (!state.md.validateLink(href)) { return false; }
  4575. pos = res.pos;
  4576. lines += res.lines;
  4577. // save cursor state, we could require to rollback later
  4578. destEndPos = pos;
  4579. destEndLineNo = lines;
  4580. // [label]: destination 'title'
  4581. // ^^^ skipping those spaces
  4582. start = pos;
  4583. for (; pos < max; pos++) {
  4584. ch = str.charCodeAt(pos);
  4585. if (ch === 0x0A) {
  4586. lines++;
  4587. } else if (isSpace(ch)) {
  4588. /*eslint no-empty:0*/
  4589. } else {
  4590. break;
  4591. }
  4592. }
  4593. // [label]: destination 'title'
  4594. // ^^^^^^^ parse this
  4595. res = state.md.helpers.parseLinkTitle(str, pos, max);
  4596. if (pos < max && start !== pos && res.ok) {
  4597. title = res.str;
  4598. pos = res.pos;
  4599. lines += res.lines;
  4600. } else {
  4601. title = '';
  4602. pos = destEndPos;
  4603. lines = destEndLineNo;
  4604. }
  4605. // skip trailing spaces until the rest of the line
  4606. while (pos < max) {
  4607. ch = str.charCodeAt(pos);
  4608. if (!isSpace(ch)) { break; }
  4609. pos++;
  4610. }
  4611. if (pos < max && str.charCodeAt(pos) !== 0x0A) {
  4612. if (title) {
  4613. // garbage at the end of the line after title,
  4614. // but it could still be a valid reference if we roll back
  4615. title = '';
  4616. pos = destEndPos;
  4617. lines = destEndLineNo;
  4618. while (pos < max) {
  4619. ch = str.charCodeAt(pos);
  4620. if (!isSpace(ch)) { break; }
  4621. pos++;
  4622. }
  4623. }
  4624. }
  4625. if (pos < max && str.charCodeAt(pos) !== 0x0A) {
  4626. // garbage at the end of the line
  4627. return false;
  4628. }
  4629. label = normalizeReference(str.slice(1, labelEnd));
  4630. if (!label) {
  4631. // CommonMark 0.20 disallows empty labels
  4632. return false;
  4633. }
  4634. // Reference can not terminate anything. This check is for safety only.
  4635. /*istanbul ignore if*/
  4636. if (silent) { return true; }
  4637. if (typeof state.env.references === 'undefined') {
  4638. state.env.references = {};
  4639. }
  4640. if (typeof state.env.references[label] === 'undefined') {
  4641. state.env.references[label] = { title: title, href: href };
  4642. }
  4643. state.parentType = oldParentType;
  4644. state.line = startLine + lines + 1;
  4645. return true;
  4646. };
  4647. /***/ }),
  4648. /***/ "../../node_modules/markdown-it/lib/rules_block/state_block.js":
  4649. /*!**************************************************************************************!*\
  4650. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/state_block.js ***!
  4651. \**************************************************************************************/
  4652. /*! no static exports found */
  4653. /***/ (function(module, exports, __webpack_require__) {
  4654. "use strict";
  4655. // Parser state class
  4656. var Token = __webpack_require__(/*! ../token */ "../../node_modules/markdown-it/lib/token.js");
  4657. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  4658. function StateBlock(src, md, env, tokens) {
  4659. var ch, s, start, pos, len, indent, offset, indent_found;
  4660. this.src = src;
  4661. // link to parser instance
  4662. this.md = md;
  4663. this.env = env;
  4664. //
  4665. // Internal state vartiables
  4666. //
  4667. this.tokens = tokens;
  4668. this.bMarks = []; // line begin offsets for fast jumps
  4669. this.eMarks = []; // line end offsets for fast jumps
  4670. this.tShift = []; // offsets of the first non-space characters (tabs not expanded)
  4671. this.sCount = []; // indents for each line (tabs expanded)
  4672. // An amount of virtual spaces (tabs expanded) between beginning
  4673. // of each line (bMarks) and real beginning of that line.
  4674. //
  4675. // It exists only as a hack because blockquotes override bMarks
  4676. // losing information in the process.
  4677. //
  4678. // It's used only when expanding tabs, you can think about it as
  4679. // an initial tab length, e.g. bsCount=21 applied to string `\t123`
  4680. // means first tab should be expanded to 4-21%4 === 3 spaces.
  4681. //
  4682. this.bsCount = [];
  4683. // block parser variables
  4684. this.blkIndent = 0; // required block content indent (for example, if we are
  4685. // inside a list, it would be positioned after list marker)
  4686. this.line = 0; // line index in src
  4687. this.lineMax = 0; // lines count
  4688. this.tight = false; // loose/tight mode for lists
  4689. this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)
  4690. this.listIndent = -1; // indent of the current list block (-1 if there isn't any)
  4691. // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference'
  4692. // used in lists to determine if they interrupt a paragraph
  4693. this.parentType = 'root';
  4694. this.level = 0;
  4695. // renderer
  4696. this.result = '';
  4697. // Create caches
  4698. // Generate markers.
  4699. s = this.src;
  4700. indent_found = false;
  4701. for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) {
  4702. ch = s.charCodeAt(pos);
  4703. if (!indent_found) {
  4704. if (isSpace(ch)) {
  4705. indent++;
  4706. if (ch === 0x09) {
  4707. offset += 4 - offset % 4;
  4708. } else {
  4709. offset++;
  4710. }
  4711. continue;
  4712. } else {
  4713. indent_found = true;
  4714. }
  4715. }
  4716. if (ch === 0x0A || pos === len - 1) {
  4717. if (ch !== 0x0A) { pos++; }
  4718. this.bMarks.push(start);
  4719. this.eMarks.push(pos);
  4720. this.tShift.push(indent);
  4721. this.sCount.push(offset);
  4722. this.bsCount.push(0);
  4723. indent_found = false;
  4724. indent = 0;
  4725. offset = 0;
  4726. start = pos + 1;
  4727. }
  4728. }
  4729. // Push fake entry to simplify cache bounds checks
  4730. this.bMarks.push(s.length);
  4731. this.eMarks.push(s.length);
  4732. this.tShift.push(0);
  4733. this.sCount.push(0);
  4734. this.bsCount.push(0);
  4735. this.lineMax = this.bMarks.length - 1; // don't count last fake line
  4736. }
  4737. // Push new token to "stream".
  4738. //
  4739. StateBlock.prototype.push = function (type, tag, nesting) {
  4740. var token = new Token(type, tag, nesting);
  4741. token.block = true;
  4742. if (nesting < 0) this.level--; // closing tag
  4743. token.level = this.level;
  4744. if (nesting > 0) this.level++; // opening tag
  4745. this.tokens.push(token);
  4746. return token;
  4747. };
  4748. StateBlock.prototype.isEmpty = function isEmpty(line) {
  4749. return this.bMarks[line] + this.tShift[line] >= this.eMarks[line];
  4750. };
  4751. StateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) {
  4752. for (var max = this.lineMax; from < max; from++) {
  4753. if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) {
  4754. break;
  4755. }
  4756. }
  4757. return from;
  4758. };
  4759. // Skip spaces from given position.
  4760. StateBlock.prototype.skipSpaces = function skipSpaces(pos) {
  4761. var ch;
  4762. for (var max = this.src.length; pos < max; pos++) {
  4763. ch = this.src.charCodeAt(pos);
  4764. if (!isSpace(ch)) { break; }
  4765. }
  4766. return pos;
  4767. };
  4768. // Skip spaces from given position in reverse.
  4769. StateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) {
  4770. if (pos <= min) { return pos; }
  4771. while (pos > min) {
  4772. if (!isSpace(this.src.charCodeAt(--pos))) { return pos + 1; }
  4773. }
  4774. return pos;
  4775. };
  4776. // Skip char codes from given position
  4777. StateBlock.prototype.skipChars = function skipChars(pos, code) {
  4778. for (var max = this.src.length; pos < max; pos++) {
  4779. if (this.src.charCodeAt(pos) !== code) { break; }
  4780. }
  4781. return pos;
  4782. };
  4783. // Skip char codes reverse from given position - 1
  4784. StateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) {
  4785. if (pos <= min) { return pos; }
  4786. while (pos > min) {
  4787. if (code !== this.src.charCodeAt(--pos)) { return pos + 1; }
  4788. }
  4789. return pos;
  4790. };
  4791. // cut lines range from source.
  4792. StateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) {
  4793. var i, lineIndent, ch, first, last, queue, lineStart,
  4794. line = begin;
  4795. if (begin >= end) {
  4796. return '';
  4797. }
  4798. queue = new Array(end - begin);
  4799. for (i = 0; line < end; line++, i++) {
  4800. lineIndent = 0;
  4801. lineStart = first = this.bMarks[line];
  4802. if (line + 1 < end || keepLastLF) {
  4803. // No need for bounds check because we have fake entry on tail.
  4804. last = this.eMarks[line] + 1;
  4805. } else {
  4806. last = this.eMarks[line];
  4807. }
  4808. while (first < last && lineIndent < indent) {
  4809. ch = this.src.charCodeAt(first);
  4810. if (isSpace(ch)) {
  4811. if (ch === 0x09) {
  4812. lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4;
  4813. } else {
  4814. lineIndent++;
  4815. }
  4816. } else if (first - lineStart < this.tShift[line]) {
  4817. // patched tShift masked characters to look like spaces (blockquotes, list markers)
  4818. lineIndent++;
  4819. } else {
  4820. break;
  4821. }
  4822. first++;
  4823. }
  4824. if (lineIndent > indent) {
  4825. // partially expanding tabs in code blocks, e.g '\t\tfoobar'
  4826. // with indent=2 becomes ' \tfoobar'
  4827. queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last);
  4828. } else {
  4829. queue[i] = this.src.slice(first, last);
  4830. }
  4831. }
  4832. return queue.join('');
  4833. };
  4834. // re-export Token class to use in block rules
  4835. StateBlock.prototype.Token = Token;
  4836. module.exports = StateBlock;
  4837. /***/ }),
  4838. /***/ "../../node_modules/markdown-it/lib/rules_block/table.js":
  4839. /*!********************************************************************************!*\
  4840. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_block/table.js ***!
  4841. \********************************************************************************/
  4842. /*! no static exports found */
  4843. /***/ (function(module, exports, __webpack_require__) {
  4844. "use strict";
  4845. // GFM table, https://github.github.com/gfm/#tables-extension-
  4846. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  4847. function getLine(state, line) {
  4848. var pos = state.bMarks[line] + state.tShift[line],
  4849. max = state.eMarks[line];
  4850. return state.src.slice(pos, max);
  4851. }
  4852. function escapedSplit(str) {
  4853. var result = [],
  4854. pos = 0,
  4855. max = str.length,
  4856. ch,
  4857. isEscaped = false,
  4858. lastPos = 0,
  4859. current = '';
  4860. ch = str.charCodeAt(pos);
  4861. while (pos < max) {
  4862. if (ch === 0x7c/* | */) {
  4863. if (!isEscaped) {
  4864. // pipe separating cells, '|'
  4865. result.push(current + str.substring(lastPos, pos));
  4866. current = '';
  4867. lastPos = pos + 1;
  4868. } else {
  4869. // escaped pipe, '\|'
  4870. current += str.substring(lastPos, pos - 1);
  4871. lastPos = pos;
  4872. }
  4873. }
  4874. isEscaped = (ch === 0x5c/* \ */);
  4875. pos++;
  4876. ch = str.charCodeAt(pos);
  4877. }
  4878. result.push(current + str.substring(lastPos));
  4879. return result;
  4880. }
  4881. module.exports = function table(state, startLine, endLine, silent) {
  4882. var ch, lineText, pos, i, l, nextLine, columns, columnCount, token,
  4883. aligns, t, tableLines, tbodyLines, oldParentType, terminate,
  4884. terminatorRules, firstCh, secondCh;
  4885. // should have at least two lines
  4886. if (startLine + 2 > endLine) { return false; }
  4887. nextLine = startLine + 1;
  4888. if (state.sCount[nextLine] < state.blkIndent) { return false; }
  4889. // if it's indented more than 3 spaces, it should be a code block
  4890. if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; }
  4891. // first character of the second line should be '|', '-', ':',
  4892. // and no other characters are allowed but spaces;
  4893. // basically, this is the equivalent of /^[-:|][-:|\s]*$/ regexp
  4894. pos = state.bMarks[nextLine] + state.tShift[nextLine];
  4895. if (pos >= state.eMarks[nextLine]) { return false; }
  4896. firstCh = state.src.charCodeAt(pos++);
  4897. if (firstCh !== 0x7C/* | */ && firstCh !== 0x2D/* - */ && firstCh !== 0x3A/* : */) { return false; }
  4898. if (pos >= state.eMarks[nextLine]) { return false; }
  4899. secondCh = state.src.charCodeAt(pos++);
  4900. if (secondCh !== 0x7C/* | */ && secondCh !== 0x2D/* - */ && secondCh !== 0x3A/* : */ && !isSpace(secondCh)) {
  4901. return false;
  4902. }
  4903. // if first character is '-', then second character must not be a space
  4904. // (due to parsing ambiguity with list)
  4905. if (firstCh === 0x2D/* - */ && isSpace(secondCh)) { return false; }
  4906. while (pos < state.eMarks[nextLine]) {
  4907. ch = state.src.charCodeAt(pos);
  4908. if (ch !== 0x7C/* | */ && ch !== 0x2D/* - */ && ch !== 0x3A/* : */ && !isSpace(ch)) { return false; }
  4909. pos++;
  4910. }
  4911. lineText = getLine(state, startLine + 1);
  4912. columns = lineText.split('|');
  4913. aligns = [];
  4914. for (i = 0; i < columns.length; i++) {
  4915. t = columns[i].trim();
  4916. if (!t) {
  4917. // allow empty columns before and after table, but not in between columns;
  4918. // e.g. allow ` |---| `, disallow ` ---||--- `
  4919. if (i === 0 || i === columns.length - 1) {
  4920. continue;
  4921. } else {
  4922. return false;
  4923. }
  4924. }
  4925. if (!/^:?-+:?$/.test(t)) { return false; }
  4926. if (t.charCodeAt(t.length - 1) === 0x3A/* : */) {
  4927. aligns.push(t.charCodeAt(0) === 0x3A/* : */ ? 'center' : 'right');
  4928. } else if (t.charCodeAt(0) === 0x3A/* : */) {
  4929. aligns.push('left');
  4930. } else {
  4931. aligns.push('');
  4932. }
  4933. }
  4934. lineText = getLine(state, startLine).trim();
  4935. if (lineText.indexOf('|') === -1) { return false; }
  4936. if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }
  4937. columns = escapedSplit(lineText);
  4938. if (columns.length && columns[0] === '') columns.shift();
  4939. if (columns.length && columns[columns.length - 1] === '') columns.pop();
  4940. // header row will define an amount of columns in the entire table,
  4941. // and align row should be exactly the same (the rest of the rows can differ)
  4942. columnCount = columns.length;
  4943. if (columnCount === 0 || columnCount !== aligns.length) { return false; }
  4944. if (silent) { return true; }
  4945. oldParentType = state.parentType;
  4946. state.parentType = 'table';
  4947. // use 'blockquote' lists for termination because it's
  4948. // the most similar to tables
  4949. terminatorRules = state.md.block.ruler.getRules('blockquote');
  4950. token = state.push('table_open', 'table', 1);
  4951. token.map = tableLines = [ startLine, 0 ];
  4952. token = state.push('thead_open', 'thead', 1);
  4953. token.map = [ startLine, startLine + 1 ];
  4954. token = state.push('tr_open', 'tr', 1);
  4955. token.map = [ startLine, startLine + 1 ];
  4956. for (i = 0; i < columns.length; i++) {
  4957. token = state.push('th_open', 'th', 1);
  4958. if (aligns[i]) {
  4959. token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];
  4960. }
  4961. token = state.push('inline', '', 0);
  4962. token.content = columns[i].trim();
  4963. token.children = [];
  4964. token = state.push('th_close', 'th', -1);
  4965. }
  4966. token = state.push('tr_close', 'tr', -1);
  4967. token = state.push('thead_close', 'thead', -1);
  4968. for (nextLine = startLine + 2; nextLine < endLine; nextLine++) {
  4969. if (state.sCount[nextLine] < state.blkIndent) { break; }
  4970. terminate = false;
  4971. for (i = 0, l = terminatorRules.length; i < l; i++) {
  4972. if (terminatorRules[i](state, nextLine, endLine, true)) {
  4973. terminate = true;
  4974. break;
  4975. }
  4976. }
  4977. if (terminate) { break; }
  4978. lineText = getLine(state, nextLine).trim();
  4979. if (!lineText) { break; }
  4980. if (state.sCount[nextLine] - state.blkIndent >= 4) { break; }
  4981. columns = escapedSplit(lineText);
  4982. if (columns.length && columns[0] === '') columns.shift();
  4983. if (columns.length && columns[columns.length - 1] === '') columns.pop();
  4984. if (nextLine === startLine + 2) {
  4985. token = state.push('tbody_open', 'tbody', 1);
  4986. token.map = tbodyLines = [ startLine + 2, 0 ];
  4987. }
  4988. token = state.push('tr_open', 'tr', 1);
  4989. token.map = [ nextLine, nextLine + 1 ];
  4990. for (i = 0; i < columnCount; i++) {
  4991. token = state.push('td_open', 'td', 1);
  4992. if (aligns[i]) {
  4993. token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];
  4994. }
  4995. token = state.push('inline', '', 0);
  4996. token.content = columns[i] ? columns[i].trim() : '';
  4997. token.children = [];
  4998. token = state.push('td_close', 'td', -1);
  4999. }
  5000. token = state.push('tr_close', 'tr', -1);
  5001. }
  5002. if (tbodyLines) {
  5003. token = state.push('tbody_close', 'tbody', -1);
  5004. tbodyLines[1] = nextLine;
  5005. }
  5006. token = state.push('table_close', 'table', -1);
  5007. tableLines[1] = nextLine;
  5008. state.parentType = oldParentType;
  5009. state.line = nextLine;
  5010. return true;
  5011. };
  5012. /***/ }),
  5013. /***/ "../../node_modules/markdown-it/lib/rules_core/block.js":
  5014. /*!*******************************************************************************!*\
  5015. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_core/block.js ***!
  5016. \*******************************************************************************/
  5017. /*! no static exports found */
  5018. /***/ (function(module, exports, __webpack_require__) {
  5019. "use strict";
  5020. module.exports = function block(state) {
  5021. var token;
  5022. if (state.inlineMode) {
  5023. token = new state.Token('inline', '', 0);
  5024. token.content = state.src;
  5025. token.map = [ 0, 1 ];
  5026. token.children = [];
  5027. state.tokens.push(token);
  5028. } else {
  5029. state.md.block.parse(state.src, state.md, state.env, state.tokens);
  5030. }
  5031. };
  5032. /***/ }),
  5033. /***/ "../../node_modules/markdown-it/lib/rules_core/inline.js":
  5034. /*!********************************************************************************!*\
  5035. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_core/inline.js ***!
  5036. \********************************************************************************/
  5037. /*! no static exports found */
  5038. /***/ (function(module, exports, __webpack_require__) {
  5039. "use strict";
  5040. module.exports = function inline(state) {
  5041. var tokens = state.tokens, tok, i, l;
  5042. // Parse inlines
  5043. for (i = 0, l = tokens.length; i < l; i++) {
  5044. tok = tokens[i];
  5045. if (tok.type === 'inline') {
  5046. state.md.inline.parse(tok.content, state.md, state.env, tok.children);
  5047. }
  5048. }
  5049. };
  5050. /***/ }),
  5051. /***/ "../../node_modules/markdown-it/lib/rules_core/linkify.js":
  5052. /*!*********************************************************************************!*\
  5053. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_core/linkify.js ***!
  5054. \*********************************************************************************/
  5055. /*! no static exports found */
  5056. /***/ (function(module, exports, __webpack_require__) {
  5057. "use strict";
  5058. // Replace link-like texts with link nodes.
  5059. //
  5060. // Currently restricted by `md.validateLink()` to http/https/ftp
  5061. //
  5062. var arrayReplaceAt = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").arrayReplaceAt;
  5063. function isLinkOpen(str) {
  5064. return /^<a[>\s]/i.test(str);
  5065. }
  5066. function isLinkClose(str) {
  5067. return /^<\/a\s*>/i.test(str);
  5068. }
  5069. module.exports = function linkify(state) {
  5070. var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos,
  5071. level, htmlLinkLevel, url, fullUrl, urlText,
  5072. blockTokens = state.tokens,
  5073. links;
  5074. if (!state.md.options.linkify) { return; }
  5075. for (j = 0, l = blockTokens.length; j < l; j++) {
  5076. if (blockTokens[j].type !== 'inline' ||
  5077. !state.md.linkify.pretest(blockTokens[j].content)) {
  5078. continue;
  5079. }
  5080. tokens = blockTokens[j].children;
  5081. htmlLinkLevel = 0;
  5082. // We scan from the end, to keep position when new tags added.
  5083. // Use reversed logic in links start/end match
  5084. for (i = tokens.length - 1; i >= 0; i--) {
  5085. currentToken = tokens[i];
  5086. // Skip content of markdown links
  5087. if (currentToken.type === 'link_close') {
  5088. i--;
  5089. while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') {
  5090. i--;
  5091. }
  5092. continue;
  5093. }
  5094. // Skip content of html tag links
  5095. if (currentToken.type === 'html_inline') {
  5096. if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) {
  5097. htmlLinkLevel--;
  5098. }
  5099. if (isLinkClose(currentToken.content)) {
  5100. htmlLinkLevel++;
  5101. }
  5102. }
  5103. if (htmlLinkLevel > 0) { continue; }
  5104. if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) {
  5105. text = currentToken.content;
  5106. links = state.md.linkify.match(text);
  5107. // Now split string to nodes
  5108. nodes = [];
  5109. level = currentToken.level;
  5110. lastPos = 0;
  5111. // forbid escape sequence at the start of the string,
  5112. // this avoids http\://example.com/ from being linkified as
  5113. // http:<a href="//example.com/">//example.com/</a>
  5114. if (links.length > 0 &&
  5115. links[0].index === 0 &&
  5116. i > 0 &&
  5117. tokens[i - 1].type === 'text_special') {
  5118. links = links.slice(1);
  5119. }
  5120. for (ln = 0; ln < links.length; ln++) {
  5121. url = links[ln].url;
  5122. fullUrl = state.md.normalizeLink(url);
  5123. if (!state.md.validateLink(fullUrl)) { continue; }
  5124. urlText = links[ln].text;
  5125. // Linkifier might send raw hostnames like "example.com", where url
  5126. // starts with domain name. So we prepend http:// in those cases,
  5127. // and remove it afterwards.
  5128. //
  5129. if (!links[ln].schema) {
  5130. urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\/\//, '');
  5131. } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) {
  5132. urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, '');
  5133. } else {
  5134. urlText = state.md.normalizeLinkText(urlText);
  5135. }
  5136. pos = links[ln].index;
  5137. if (pos > lastPos) {
  5138. token = new state.Token('text', '', 0);
  5139. token.content = text.slice(lastPos, pos);
  5140. token.level = level;
  5141. nodes.push(token);
  5142. }
  5143. token = new state.Token('link_open', 'a', 1);
  5144. token.attrs = [ [ 'href', fullUrl ] ];
  5145. token.level = level++;
  5146. token.markup = 'linkify';
  5147. token.info = 'auto';
  5148. nodes.push(token);
  5149. token = new state.Token('text', '', 0);
  5150. token.content = urlText;
  5151. token.level = level;
  5152. nodes.push(token);
  5153. token = new state.Token('link_close', 'a', -1);
  5154. token.level = --level;
  5155. token.markup = 'linkify';
  5156. token.info = 'auto';
  5157. nodes.push(token);
  5158. lastPos = links[ln].lastIndex;
  5159. }
  5160. if (lastPos < text.length) {
  5161. token = new state.Token('text', '', 0);
  5162. token.content = text.slice(lastPos);
  5163. token.level = level;
  5164. nodes.push(token);
  5165. }
  5166. // replace current node
  5167. blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);
  5168. }
  5169. }
  5170. }
  5171. };
  5172. /***/ }),
  5173. /***/ "../../node_modules/markdown-it/lib/rules_core/normalize.js":
  5174. /*!***********************************************************************************!*\
  5175. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_core/normalize.js ***!
  5176. \***********************************************************************************/
  5177. /*! no static exports found */
  5178. /***/ (function(module, exports, __webpack_require__) {
  5179. "use strict";
  5180. // Normalize input string
  5181. // https://spec.commonmark.org/0.29/#line-ending
  5182. var NEWLINES_RE = /\r\n?|\n/g;
  5183. var NULL_RE = /\0/g;
  5184. module.exports = function normalize(state) {
  5185. var str;
  5186. // Normalize newlines
  5187. str = state.src.replace(NEWLINES_RE, '\n');
  5188. // Replace NULL characters
  5189. str = str.replace(NULL_RE, '\uFFFD');
  5190. state.src = str;
  5191. };
  5192. /***/ }),
  5193. /***/ "../../node_modules/markdown-it/lib/rules_core/replacements.js":
  5194. /*!**************************************************************************************!*\
  5195. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_core/replacements.js ***!
  5196. \**************************************************************************************/
  5197. /*! no static exports found */
  5198. /***/ (function(module, exports, __webpack_require__) {
  5199. "use strict";
  5200. // Simple typographic replacements
  5201. //
  5202. // (c) (C) → ©
  5203. // (tm) (TM) → ™
  5204. // (r) (R) → ®
  5205. // +- → ±
  5206. // ... → … (also ?.... → ?.., !.... → !..)
  5207. // ???????? → ???, !!!!! → !!!, `,,` → `,`
  5208. // -- → &ndash;, --- → &mdash;
  5209. //
  5210. // TODO:
  5211. // - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾
  5212. // - multiplications 2 x 4 -> 2 × 4
  5213. var RARE_RE = /\+-|\.\.|\?\?\?\?|!!!!|,,|--/;
  5214. // Workaround for phantomjs - need regex without /g flag,
  5215. // or root check will fail every second time
  5216. var SCOPED_ABBR_TEST_RE = /\((c|tm|r)\)/i;
  5217. var SCOPED_ABBR_RE = /\((c|tm|r)\)/ig;
  5218. var SCOPED_ABBR = {
  5219. c: '©',
  5220. r: '®',
  5221. tm: '™'
  5222. };
  5223. function replaceFn(match, name) {
  5224. return SCOPED_ABBR[name.toLowerCase()];
  5225. }
  5226. function replace_scoped(inlineTokens) {
  5227. var i, token, inside_autolink = 0;
  5228. for (i = inlineTokens.length - 1; i >= 0; i--) {
  5229. token = inlineTokens[i];
  5230. if (token.type === 'text' && !inside_autolink) {
  5231. token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn);
  5232. }
  5233. if (token.type === 'link_open' && token.info === 'auto') {
  5234. inside_autolink--;
  5235. }
  5236. if (token.type === 'link_close' && token.info === 'auto') {
  5237. inside_autolink++;
  5238. }
  5239. }
  5240. }
  5241. function replace_rare(inlineTokens) {
  5242. var i, token, inside_autolink = 0;
  5243. for (i = inlineTokens.length - 1; i >= 0; i--) {
  5244. token = inlineTokens[i];
  5245. if (token.type === 'text' && !inside_autolink) {
  5246. if (RARE_RE.test(token.content)) {
  5247. token.content = token.content
  5248. .replace(/\+-/g, '±')
  5249. // .., ..., ....... -> …
  5250. // but ?..... & !..... -> ?.. & !..
  5251. .replace(/\.{2,}/g, '…').replace(/([?!])…/g, '$1..')
  5252. .replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',')
  5253. // em-dash
  5254. .replace(/(^|[^-])---(?=[^-]|$)/mg, '$1\u2014')
  5255. // en-dash
  5256. .replace(/(^|\s)--(?=\s|$)/mg, '$1\u2013')
  5257. .replace(/(^|[^-\s])--(?=[^-\s]|$)/mg, '$1\u2013');
  5258. }
  5259. }
  5260. if (token.type === 'link_open' && token.info === 'auto') {
  5261. inside_autolink--;
  5262. }
  5263. if (token.type === 'link_close' && token.info === 'auto') {
  5264. inside_autolink++;
  5265. }
  5266. }
  5267. }
  5268. module.exports = function replace(state) {
  5269. var blkIdx;
  5270. if (!state.md.options.typographer) { return; }
  5271. for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {
  5272. if (state.tokens[blkIdx].type !== 'inline') { continue; }
  5273. if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) {
  5274. replace_scoped(state.tokens[blkIdx].children);
  5275. }
  5276. if (RARE_RE.test(state.tokens[blkIdx].content)) {
  5277. replace_rare(state.tokens[blkIdx].children);
  5278. }
  5279. }
  5280. };
  5281. /***/ }),
  5282. /***/ "../../node_modules/markdown-it/lib/rules_core/smartquotes.js":
  5283. /*!*************************************************************************************!*\
  5284. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_core/smartquotes.js ***!
  5285. \*************************************************************************************/
  5286. /*! no static exports found */
  5287. /***/ (function(module, exports, __webpack_require__) {
  5288. "use strict";
  5289. // Convert straight quotation marks to typographic ones
  5290. //
  5291. var isWhiteSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isWhiteSpace;
  5292. var isPunctChar = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isPunctChar;
  5293. var isMdAsciiPunct = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isMdAsciiPunct;
  5294. var QUOTE_TEST_RE = /['"]/;
  5295. var QUOTE_RE = /['"]/g;
  5296. var APOSTROPHE = '\u2019'; /* ’ */
  5297. function replaceAt(str, index, ch) {
  5298. return str.slice(0, index) + ch + str.slice(index + 1);
  5299. }
  5300. function process_inlines(tokens, state) {
  5301. var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar,
  5302. isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace,
  5303. canOpen, canClose, j, isSingle, stack, openQuote, closeQuote;
  5304. stack = [];
  5305. for (i = 0; i < tokens.length; i++) {
  5306. token = tokens[i];
  5307. thisLevel = tokens[i].level;
  5308. for (j = stack.length - 1; j >= 0; j--) {
  5309. if (stack[j].level <= thisLevel) { break; }
  5310. }
  5311. stack.length = j + 1;
  5312. if (token.type !== 'text') { continue; }
  5313. text = token.content;
  5314. pos = 0;
  5315. max = text.length;
  5316. /*eslint no-labels:0,block-scoped-var:0*/
  5317. OUTER:
  5318. while (pos < max) {
  5319. QUOTE_RE.lastIndex = pos;
  5320. t = QUOTE_RE.exec(text);
  5321. if (!t) { break; }
  5322. canOpen = canClose = true;
  5323. pos = t.index + 1;
  5324. isSingle = (t[0] === "'");
  5325. // Find previous character,
  5326. // default to space if it's the beginning of the line
  5327. //
  5328. lastChar = 0x20;
  5329. if (t.index - 1 >= 0) {
  5330. lastChar = text.charCodeAt(t.index - 1);
  5331. } else {
  5332. for (j = i - 1; j >= 0; j--) {
  5333. if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20
  5334. if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline'
  5335. lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1);
  5336. break;
  5337. }
  5338. }
  5339. // Find next character,
  5340. // default to space if it's the end of the line
  5341. //
  5342. nextChar = 0x20;
  5343. if (pos < max) {
  5344. nextChar = text.charCodeAt(pos);
  5345. } else {
  5346. for (j = i + 1; j < tokens.length; j++) {
  5347. if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20
  5348. if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline'
  5349. nextChar = tokens[j].content.charCodeAt(0);
  5350. break;
  5351. }
  5352. }
  5353. isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));
  5354. isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));
  5355. isLastWhiteSpace = isWhiteSpace(lastChar);
  5356. isNextWhiteSpace = isWhiteSpace(nextChar);
  5357. if (isNextWhiteSpace) {
  5358. canOpen = false;
  5359. } else if (isNextPunctChar) {
  5360. if (!(isLastWhiteSpace || isLastPunctChar)) {
  5361. canOpen = false;
  5362. }
  5363. }
  5364. if (isLastWhiteSpace) {
  5365. canClose = false;
  5366. } else if (isLastPunctChar) {
  5367. if (!(isNextWhiteSpace || isNextPunctChar)) {
  5368. canClose = false;
  5369. }
  5370. }
  5371. if (nextChar === 0x22 /* " */ && t[0] === '"') {
  5372. if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) {
  5373. // special case: 1"" - count first quote as an inch
  5374. canClose = canOpen = false;
  5375. }
  5376. }
  5377. if (canOpen && canClose) {
  5378. // Replace quotes in the middle of punctuation sequence, but not
  5379. // in the middle of the words, i.e.:
  5380. //
  5381. // 1. foo " bar " baz - not replaced
  5382. // 2. foo-"-bar-"-baz - replaced
  5383. // 3. foo"bar"baz - not replaced
  5384. //
  5385. canOpen = isLastPunctChar;
  5386. canClose = isNextPunctChar;
  5387. }
  5388. if (!canOpen && !canClose) {
  5389. // middle of word
  5390. if (isSingle) {
  5391. token.content = replaceAt(token.content, t.index, APOSTROPHE);
  5392. }
  5393. continue;
  5394. }
  5395. if (canClose) {
  5396. // this could be a closing quote, rewind the stack to get a match
  5397. for (j = stack.length - 1; j >= 0; j--) {
  5398. item = stack[j];
  5399. if (stack[j].level < thisLevel) { break; }
  5400. if (item.single === isSingle && stack[j].level === thisLevel) {
  5401. item = stack[j];
  5402. if (isSingle) {
  5403. openQuote = state.md.options.quotes[2];
  5404. closeQuote = state.md.options.quotes[3];
  5405. } else {
  5406. openQuote = state.md.options.quotes[0];
  5407. closeQuote = state.md.options.quotes[1];
  5408. }
  5409. // replace token.content *before* tokens[item.token].content,
  5410. // because, if they are pointing at the same token, replaceAt
  5411. // could mess up indices when quote length != 1
  5412. token.content = replaceAt(token.content, t.index, closeQuote);
  5413. tokens[item.token].content = replaceAt(
  5414. tokens[item.token].content, item.pos, openQuote);
  5415. pos += closeQuote.length - 1;
  5416. if (item.token === i) { pos += openQuote.length - 1; }
  5417. text = token.content;
  5418. max = text.length;
  5419. stack.length = j;
  5420. continue OUTER;
  5421. }
  5422. }
  5423. }
  5424. if (canOpen) {
  5425. stack.push({
  5426. token: i,
  5427. pos: t.index,
  5428. single: isSingle,
  5429. level: thisLevel
  5430. });
  5431. } else if (canClose && isSingle) {
  5432. token.content = replaceAt(token.content, t.index, APOSTROPHE);
  5433. }
  5434. }
  5435. }
  5436. }
  5437. module.exports = function smartquotes(state) {
  5438. /*eslint max-depth:0*/
  5439. var blkIdx;
  5440. if (!state.md.options.typographer) { return; }
  5441. for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {
  5442. if (state.tokens[blkIdx].type !== 'inline' ||
  5443. !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) {
  5444. continue;
  5445. }
  5446. process_inlines(state.tokens[blkIdx].children, state);
  5447. }
  5448. };
  5449. /***/ }),
  5450. /***/ "../../node_modules/markdown-it/lib/rules_core/state_core.js":
  5451. /*!************************************************************************************!*\
  5452. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_core/state_core.js ***!
  5453. \************************************************************************************/
  5454. /*! no static exports found */
  5455. /***/ (function(module, exports, __webpack_require__) {
  5456. "use strict";
  5457. // Core state object
  5458. //
  5459. var Token = __webpack_require__(/*! ../token */ "../../node_modules/markdown-it/lib/token.js");
  5460. function StateCore(src, md, env) {
  5461. this.src = src;
  5462. this.env = env;
  5463. this.tokens = [];
  5464. this.inlineMode = false;
  5465. this.md = md; // link to parser instance
  5466. }
  5467. // re-export Token class to use in core rules
  5468. StateCore.prototype.Token = Token;
  5469. module.exports = StateCore;
  5470. /***/ }),
  5471. /***/ "../../node_modules/markdown-it/lib/rules_core/text_join.js":
  5472. /*!***********************************************************************************!*\
  5473. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_core/text_join.js ***!
  5474. \***********************************************************************************/
  5475. /*! no static exports found */
  5476. /***/ (function(module, exports, __webpack_require__) {
  5477. "use strict";
  5478. // Join raw text tokens with the rest of the text
  5479. //
  5480. // This is set as a separate rule to provide an opportunity for plugins
  5481. // to run text replacements after text join, but before escape join.
  5482. //
  5483. // For example, `\:)` shouldn't be replaced with an emoji.
  5484. //
  5485. module.exports = function text_join(state) {
  5486. var j, l, tokens, curr, max, last,
  5487. blockTokens = state.tokens;
  5488. for (j = 0, l = blockTokens.length; j < l; j++) {
  5489. if (blockTokens[j].type !== 'inline') continue;
  5490. tokens = blockTokens[j].children;
  5491. max = tokens.length;
  5492. for (curr = 0; curr < max; curr++) {
  5493. if (tokens[curr].type === 'text_special') {
  5494. tokens[curr].type = 'text';
  5495. }
  5496. }
  5497. for (curr = last = 0; curr < max; curr++) {
  5498. if (tokens[curr].type === 'text' &&
  5499. curr + 1 < max &&
  5500. tokens[curr + 1].type === 'text') {
  5501. // collapse two adjacent text nodes
  5502. tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;
  5503. } else {
  5504. if (curr !== last) { tokens[last] = tokens[curr]; }
  5505. last++;
  5506. }
  5507. }
  5508. if (curr !== last) {
  5509. tokens.length = last;
  5510. }
  5511. }
  5512. };
  5513. /***/ }),
  5514. /***/ "../../node_modules/markdown-it/lib/rules_inline/autolink.js":
  5515. /*!************************************************************************************!*\
  5516. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/autolink.js ***!
  5517. \************************************************************************************/
  5518. /*! no static exports found */
  5519. /***/ (function(module, exports, __webpack_require__) {
  5520. "use strict";
  5521. // Process autolinks '<protocol:...>'
  5522. /*eslint max-len:0*/
  5523. var EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[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])?)*)$/;
  5524. var AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/;
  5525. module.exports = function autolink(state, silent) {
  5526. var url, fullUrl, token, ch, start, max,
  5527. pos = state.pos;
  5528. if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }
  5529. start = state.pos;
  5530. max = state.posMax;
  5531. for (;;) {
  5532. if (++pos >= max) return false;
  5533. ch = state.src.charCodeAt(pos);
  5534. if (ch === 0x3C /* < */) return false;
  5535. if (ch === 0x3E /* > */) break;
  5536. }
  5537. url = state.src.slice(start + 1, pos);
  5538. if (AUTOLINK_RE.test(url)) {
  5539. fullUrl = state.md.normalizeLink(url);
  5540. if (!state.md.validateLink(fullUrl)) { return false; }
  5541. if (!silent) {
  5542. token = state.push('link_open', 'a', 1);
  5543. token.attrs = [ [ 'href', fullUrl ] ];
  5544. token.markup = 'autolink';
  5545. token.info = 'auto';
  5546. token = state.push('text', '', 0);
  5547. token.content = state.md.normalizeLinkText(url);
  5548. token = state.push('link_close', 'a', -1);
  5549. token.markup = 'autolink';
  5550. token.info = 'auto';
  5551. }
  5552. state.pos += url.length + 2;
  5553. return true;
  5554. }
  5555. if (EMAIL_RE.test(url)) {
  5556. fullUrl = state.md.normalizeLink('mailto:' + url);
  5557. if (!state.md.validateLink(fullUrl)) { return false; }
  5558. if (!silent) {
  5559. token = state.push('link_open', 'a', 1);
  5560. token.attrs = [ [ 'href', fullUrl ] ];
  5561. token.markup = 'autolink';
  5562. token.info = 'auto';
  5563. token = state.push('text', '', 0);
  5564. token.content = state.md.normalizeLinkText(url);
  5565. token = state.push('link_close', 'a', -1);
  5566. token.markup = 'autolink';
  5567. token.info = 'auto';
  5568. }
  5569. state.pos += url.length + 2;
  5570. return true;
  5571. }
  5572. return false;
  5573. };
  5574. /***/ }),
  5575. /***/ "../../node_modules/markdown-it/lib/rules_inline/backticks.js":
  5576. /*!*************************************************************************************!*\
  5577. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/backticks.js ***!
  5578. \*************************************************************************************/
  5579. /*! no static exports found */
  5580. /***/ (function(module, exports, __webpack_require__) {
  5581. "use strict";
  5582. // Parse backticks
  5583. module.exports = function backtick(state, silent) {
  5584. var start, max, marker, token, matchStart, matchEnd, openerLength, closerLength,
  5585. pos = state.pos,
  5586. ch = state.src.charCodeAt(pos);
  5587. if (ch !== 0x60/* ` */) { return false; }
  5588. start = pos;
  5589. pos++;
  5590. max = state.posMax;
  5591. // scan marker length
  5592. while (pos < max && state.src.charCodeAt(pos) === 0x60/* ` */) { pos++; }
  5593. marker = state.src.slice(start, pos);
  5594. openerLength = marker.length;
  5595. if (state.backticksScanned && (state.backticks[openerLength] || 0) <= start) {
  5596. if (!silent) state.pending += marker;
  5597. state.pos += openerLength;
  5598. return true;
  5599. }
  5600. matchEnd = pos;
  5601. // Nothing found in the cache, scan until the end of the line (or until marker is found)
  5602. while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {
  5603. matchEnd = matchStart + 1;
  5604. // scan marker length
  5605. while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60/* ` */) { matchEnd++; }
  5606. closerLength = matchEnd - matchStart;
  5607. if (closerLength === openerLength) {
  5608. // Found matching closer length.
  5609. if (!silent) {
  5610. token = state.push('code_inline', 'code', 0);
  5611. token.markup = marker;
  5612. token.content = state.src.slice(pos, matchStart)
  5613. .replace(/\n/g, ' ')
  5614. .replace(/^ (.+) $/, '$1');
  5615. }
  5616. state.pos = matchEnd;
  5617. return true;
  5618. }
  5619. // Some different length found, put it in cache as upper limit of where closer can be found
  5620. state.backticks[closerLength] = matchStart;
  5621. }
  5622. // Scanned through the end, didn't find anything
  5623. state.backticksScanned = true;
  5624. if (!silent) state.pending += marker;
  5625. state.pos += openerLength;
  5626. return true;
  5627. };
  5628. /***/ }),
  5629. /***/ "../../node_modules/markdown-it/lib/rules_inline/balance_pairs.js":
  5630. /*!*****************************************************************************************!*\
  5631. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/balance_pairs.js ***!
  5632. \*****************************************************************************************/
  5633. /*! no static exports found */
  5634. /***/ (function(module, exports, __webpack_require__) {
  5635. "use strict";
  5636. // For each opening emphasis-like marker find a matching closing one
  5637. //
  5638. function processDelimiters(delimiters) {
  5639. var closerIdx, openerIdx, closer, opener, minOpenerIdx, newMinOpenerIdx,
  5640. isOddMatch, lastJump,
  5641. openersBottom = {},
  5642. max = delimiters.length;
  5643. if (!max) return;
  5644. // headerIdx is the first delimiter of the current (where closer is) delimiter run
  5645. var headerIdx = 0;
  5646. var lastTokenIdx = -2; // needs any value lower than -1
  5647. var jumps = [];
  5648. for (closerIdx = 0; closerIdx < max; closerIdx++) {
  5649. closer = delimiters[closerIdx];
  5650. jumps.push(0);
  5651. // markers belong to same delimiter run if:
  5652. // - they have adjacent tokens
  5653. // - AND markers are the same
  5654. //
  5655. if (delimiters[headerIdx].marker !== closer.marker || lastTokenIdx !== closer.token - 1) {
  5656. headerIdx = closerIdx;
  5657. }
  5658. lastTokenIdx = closer.token;
  5659. // Length is only used for emphasis-specific "rule of 3",
  5660. // if it's not defined (in strikethrough or 3rd party plugins),
  5661. // we can default it to 0 to disable those checks.
  5662. //
  5663. closer.length = closer.length || 0;
  5664. if (!closer.close) continue;
  5665. // Previously calculated lower bounds (previous fails)
  5666. // for each marker, each delimiter length modulo 3,
  5667. // and for whether this closer can be an opener;
  5668. // https://github.com/commonmark/cmark/commit/34250e12ccebdc6372b8b49c44fab57c72443460
  5669. if (!openersBottom.hasOwnProperty(closer.marker)) {
  5670. openersBottom[closer.marker] = [ -1, -1, -1, -1, -1, -1 ];
  5671. }
  5672. minOpenerIdx = openersBottom[closer.marker][(closer.open ? 3 : 0) + (closer.length % 3)];
  5673. openerIdx = headerIdx - jumps[headerIdx] - 1;
  5674. newMinOpenerIdx = openerIdx;
  5675. for (; openerIdx > minOpenerIdx; openerIdx -= jumps[openerIdx] + 1) {
  5676. opener = delimiters[openerIdx];
  5677. if (opener.marker !== closer.marker) continue;
  5678. if (opener.open && opener.end < 0) {
  5679. isOddMatch = false;
  5680. // from spec:
  5681. //
  5682. // If one of the delimiters can both open and close emphasis, then the
  5683. // sum of the lengths of the delimiter runs containing the opening and
  5684. // closing delimiters must not be a multiple of 3 unless both lengths
  5685. // are multiples of 3.
  5686. //
  5687. if (opener.close || closer.open) {
  5688. if ((opener.length + closer.length) % 3 === 0) {
  5689. if (opener.length % 3 !== 0 || closer.length % 3 !== 0) {
  5690. isOddMatch = true;
  5691. }
  5692. }
  5693. }
  5694. if (!isOddMatch) {
  5695. // If previous delimiter cannot be an opener, we can safely skip
  5696. // the entire sequence in future checks. This is required to make
  5697. // sure algorithm has linear complexity (see *_*_*_*_*_... case).
  5698. //
  5699. lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ?
  5700. jumps[openerIdx - 1] + 1 :
  5701. 0;
  5702. jumps[closerIdx] = closerIdx - openerIdx + lastJump;
  5703. jumps[openerIdx] = lastJump;
  5704. closer.open = false;
  5705. opener.end = closerIdx;
  5706. opener.close = false;
  5707. newMinOpenerIdx = -1;
  5708. // treat next token as start of run,
  5709. // it optimizes skips in **<...>**a**<...>** pathological case
  5710. lastTokenIdx = -2;
  5711. break;
  5712. }
  5713. }
  5714. }
  5715. if (newMinOpenerIdx !== -1) {
  5716. // If match for this delimiter run failed, we want to set lower bound for
  5717. // future lookups. This is required to make sure algorithm has linear
  5718. // complexity.
  5719. //
  5720. // See details here:
  5721. // https://github.com/commonmark/cmark/issues/178#issuecomment-270417442
  5722. //
  5723. openersBottom[closer.marker][(closer.open ? 3 : 0) + ((closer.length || 0) % 3)] = newMinOpenerIdx;
  5724. }
  5725. }
  5726. }
  5727. module.exports = function link_pairs(state) {
  5728. var curr,
  5729. tokens_meta = state.tokens_meta,
  5730. max = state.tokens_meta.length;
  5731. processDelimiters(state.delimiters);
  5732. for (curr = 0; curr < max; curr++) {
  5733. if (tokens_meta[curr] && tokens_meta[curr].delimiters) {
  5734. processDelimiters(tokens_meta[curr].delimiters);
  5735. }
  5736. }
  5737. };
  5738. /***/ }),
  5739. /***/ "../../node_modules/markdown-it/lib/rules_inline/emphasis.js":
  5740. /*!************************************************************************************!*\
  5741. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/emphasis.js ***!
  5742. \************************************************************************************/
  5743. /*! no static exports found */
  5744. /***/ (function(module, exports, __webpack_require__) {
  5745. "use strict";
  5746. // Process *this* and _that_
  5747. //
  5748. // Insert each marker as a separate text token, and add it to delimiter list
  5749. //
  5750. module.exports.tokenize = function emphasis(state, silent) {
  5751. var i, scanned, token,
  5752. start = state.pos,
  5753. marker = state.src.charCodeAt(start);
  5754. if (silent) { return false; }
  5755. if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) { return false; }
  5756. scanned = state.scanDelims(state.pos, marker === 0x2A);
  5757. for (i = 0; i < scanned.length; i++) {
  5758. token = state.push('text', '', 0);
  5759. token.content = String.fromCharCode(marker);
  5760. state.delimiters.push({
  5761. // Char code of the starting marker (number).
  5762. //
  5763. marker: marker,
  5764. // Total length of these series of delimiters.
  5765. //
  5766. length: scanned.length,
  5767. // A position of the token this delimiter corresponds to.
  5768. //
  5769. token: state.tokens.length - 1,
  5770. // If this delimiter is matched as a valid opener, `end` will be
  5771. // equal to its position, otherwise it's `-1`.
  5772. //
  5773. end: -1,
  5774. // Boolean flags that determine if this delimiter could open or close
  5775. // an emphasis.
  5776. //
  5777. open: scanned.can_open,
  5778. close: scanned.can_close
  5779. });
  5780. }
  5781. state.pos += scanned.length;
  5782. return true;
  5783. };
  5784. function postProcess(state, delimiters) {
  5785. var i,
  5786. startDelim,
  5787. endDelim,
  5788. token,
  5789. ch,
  5790. isStrong,
  5791. max = delimiters.length;
  5792. for (i = max - 1; i >= 0; i--) {
  5793. startDelim = delimiters[i];
  5794. if (startDelim.marker !== 0x5F/* _ */ && startDelim.marker !== 0x2A/* * */) {
  5795. continue;
  5796. }
  5797. // Process only opening markers
  5798. if (startDelim.end === -1) {
  5799. continue;
  5800. }
  5801. endDelim = delimiters[startDelim.end];
  5802. // If the previous delimiter has the same marker and is adjacent to this one,
  5803. // merge those into one strong delimiter.
  5804. //
  5805. // `<em><em>whatever</em></em>` -> `<strong>whatever</strong>`
  5806. //
  5807. isStrong = i > 0 &&
  5808. delimiters[i - 1].end === startDelim.end + 1 &&
  5809. // check that first two markers match and adjacent
  5810. delimiters[i - 1].marker === startDelim.marker &&
  5811. delimiters[i - 1].token === startDelim.token - 1 &&
  5812. // check that last two markers are adjacent (we can safely assume they match)
  5813. delimiters[startDelim.end + 1].token === endDelim.token + 1;
  5814. ch = String.fromCharCode(startDelim.marker);
  5815. token = state.tokens[startDelim.token];
  5816. token.type = isStrong ? 'strong_open' : 'em_open';
  5817. token.tag = isStrong ? 'strong' : 'em';
  5818. token.nesting = 1;
  5819. token.markup = isStrong ? ch + ch : ch;
  5820. token.content = '';
  5821. token = state.tokens[endDelim.token];
  5822. token.type = isStrong ? 'strong_close' : 'em_close';
  5823. token.tag = isStrong ? 'strong' : 'em';
  5824. token.nesting = -1;
  5825. token.markup = isStrong ? ch + ch : ch;
  5826. token.content = '';
  5827. if (isStrong) {
  5828. state.tokens[delimiters[i - 1].token].content = '';
  5829. state.tokens[delimiters[startDelim.end + 1].token].content = '';
  5830. i--;
  5831. }
  5832. }
  5833. }
  5834. // Walk through delimiter list and replace text tokens with tags
  5835. //
  5836. module.exports.postProcess = function emphasis(state) {
  5837. var curr,
  5838. tokens_meta = state.tokens_meta,
  5839. max = state.tokens_meta.length;
  5840. postProcess(state, state.delimiters);
  5841. for (curr = 0; curr < max; curr++) {
  5842. if (tokens_meta[curr] && tokens_meta[curr].delimiters) {
  5843. postProcess(state, tokens_meta[curr].delimiters);
  5844. }
  5845. }
  5846. };
  5847. /***/ }),
  5848. /***/ "../../node_modules/markdown-it/lib/rules_inline/entity.js":
  5849. /*!**********************************************************************************!*\
  5850. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/entity.js ***!
  5851. \**********************************************************************************/
  5852. /*! no static exports found */
  5853. /***/ (function(module, exports, __webpack_require__) {
  5854. "use strict";
  5855. // Process html entity - &#123;, &#xAF;, &quot;, ...
  5856. var entities = __webpack_require__(/*! ../common/entities */ "../../node_modules/markdown-it/lib/common/entities.js");
  5857. var has = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").has;
  5858. var isValidEntityCode = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isValidEntityCode;
  5859. var fromCodePoint = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").fromCodePoint;
  5860. var DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;
  5861. var NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;
  5862. module.exports = function entity(state, silent) {
  5863. var ch, code, match, token, pos = state.pos, max = state.posMax;
  5864. if (state.src.charCodeAt(pos) !== 0x26/* & */) return false;
  5865. if (pos + 1 >= max) return false;
  5866. ch = state.src.charCodeAt(pos + 1);
  5867. if (ch === 0x23 /* # */) {
  5868. match = state.src.slice(pos).match(DIGITAL_RE);
  5869. if (match) {
  5870. if (!silent) {
  5871. code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);
  5872. token = state.push('text_special', '', 0);
  5873. token.content = isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD);
  5874. token.markup = match[0];
  5875. token.info = 'entity';
  5876. }
  5877. state.pos += match[0].length;
  5878. return true;
  5879. }
  5880. } else {
  5881. match = state.src.slice(pos).match(NAMED_RE);
  5882. if (match) {
  5883. if (has(entities, match[1])) {
  5884. if (!silent) {
  5885. token = state.push('text_special', '', 0);
  5886. token.content = entities[match[1]];
  5887. token.markup = match[0];
  5888. token.info = 'entity';
  5889. }
  5890. state.pos += match[0].length;
  5891. return true;
  5892. }
  5893. }
  5894. }
  5895. return false;
  5896. };
  5897. /***/ }),
  5898. /***/ "../../node_modules/markdown-it/lib/rules_inline/escape.js":
  5899. /*!**********************************************************************************!*\
  5900. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/escape.js ***!
  5901. \**********************************************************************************/
  5902. /*! no static exports found */
  5903. /***/ (function(module, exports, __webpack_require__) {
  5904. "use strict";
  5905. // Process escaped chars and hardbreaks
  5906. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  5907. var ESCAPED = [];
  5908. for (var i = 0; i < 256; i++) { ESCAPED.push(0); }
  5909. '\\!"#$%&\'()*+,./:;<=>?@[]^_`{|}~-'
  5910. .split('').forEach(function (ch) { ESCAPED[ch.charCodeAt(0)] = 1; });
  5911. module.exports = function escape(state, silent) {
  5912. var ch1, ch2, origStr, escapedStr, token, pos = state.pos, max = state.posMax;
  5913. if (state.src.charCodeAt(pos) !== 0x5C/* \ */) return false;
  5914. pos++;
  5915. // '\' at the end of the inline block
  5916. if (pos >= max) return false;
  5917. ch1 = state.src.charCodeAt(pos);
  5918. if (ch1 === 0x0A) {
  5919. if (!silent) {
  5920. state.push('hardbreak', 'br', 0);
  5921. }
  5922. pos++;
  5923. // skip leading whitespaces from next line
  5924. while (pos < max) {
  5925. ch1 = state.src.charCodeAt(pos);
  5926. if (!isSpace(ch1)) break;
  5927. pos++;
  5928. }
  5929. state.pos = pos;
  5930. return true;
  5931. }
  5932. escapedStr = state.src[pos];
  5933. if (ch1 >= 0xD800 && ch1 <= 0xDBFF && pos + 1 < max) {
  5934. ch2 = state.src.charCodeAt(pos + 1);
  5935. if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {
  5936. escapedStr += state.src[pos + 1];
  5937. pos++;
  5938. }
  5939. }
  5940. origStr = '\\' + escapedStr;
  5941. if (!silent) {
  5942. token = state.push('text_special', '', 0);
  5943. if (ch1 < 256 && ESCAPED[ch1] !== 0) {
  5944. token.content = escapedStr;
  5945. } else {
  5946. token.content = origStr;
  5947. }
  5948. token.markup = origStr;
  5949. token.info = 'escape';
  5950. }
  5951. state.pos = pos + 1;
  5952. return true;
  5953. };
  5954. /***/ }),
  5955. /***/ "../../node_modules/markdown-it/lib/rules_inline/fragments_join.js":
  5956. /*!******************************************************************************************!*\
  5957. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/fragments_join.js ***!
  5958. \******************************************************************************************/
  5959. /*! no static exports found */
  5960. /***/ (function(module, exports, __webpack_require__) {
  5961. "use strict";
  5962. // Clean up tokens after emphasis and strikethrough postprocessing:
  5963. // merge adjacent text nodes into one and re-calculate all token levels
  5964. //
  5965. // This is necessary because initially emphasis delimiter markers (*, _, ~)
  5966. // are treated as their own separate text tokens. Then emphasis rule either
  5967. // leaves them as text (needed to merge with adjacent text) or turns them
  5968. // into opening/closing tags (which messes up levels inside).
  5969. //
  5970. module.exports = function fragments_join(state) {
  5971. var curr, last,
  5972. level = 0,
  5973. tokens = state.tokens,
  5974. max = state.tokens.length;
  5975. for (curr = last = 0; curr < max; curr++) {
  5976. // re-calculate levels after emphasis/strikethrough turns some text nodes
  5977. // into opening/closing tags
  5978. if (tokens[curr].nesting < 0) level--; // closing tag
  5979. tokens[curr].level = level;
  5980. if (tokens[curr].nesting > 0) level++; // opening tag
  5981. if (tokens[curr].type === 'text' &&
  5982. curr + 1 < max &&
  5983. tokens[curr + 1].type === 'text') {
  5984. // collapse two adjacent text nodes
  5985. tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;
  5986. } else {
  5987. if (curr !== last) { tokens[last] = tokens[curr]; }
  5988. last++;
  5989. }
  5990. }
  5991. if (curr !== last) {
  5992. tokens.length = last;
  5993. }
  5994. };
  5995. /***/ }),
  5996. /***/ "../../node_modules/markdown-it/lib/rules_inline/html_inline.js":
  5997. /*!***************************************************************************************!*\
  5998. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/html_inline.js ***!
  5999. \***************************************************************************************/
  6000. /*! no static exports found */
  6001. /***/ (function(module, exports, __webpack_require__) {
  6002. "use strict";
  6003. // Process html tags
  6004. var HTML_TAG_RE = __webpack_require__(/*! ../common/html_re */ "../../node_modules/markdown-it/lib/common/html_re.js").HTML_TAG_RE;
  6005. function isLinkOpen(str) {
  6006. return /^<a[>\s]/i.test(str);
  6007. }
  6008. function isLinkClose(str) {
  6009. return /^<\/a\s*>/i.test(str);
  6010. }
  6011. function isLetter(ch) {
  6012. /*eslint no-bitwise:0*/
  6013. var lc = ch | 0x20; // to lower case
  6014. return (lc >= 0x61/* a */) && (lc <= 0x7a/* z */);
  6015. }
  6016. module.exports = function html_inline(state, silent) {
  6017. var ch, match, max, token,
  6018. pos = state.pos;
  6019. if (!state.md.options.html) { return false; }
  6020. // Check start
  6021. max = state.posMax;
  6022. if (state.src.charCodeAt(pos) !== 0x3C/* < */ ||
  6023. pos + 2 >= max) {
  6024. return false;
  6025. }
  6026. // Quick fail on second char
  6027. ch = state.src.charCodeAt(pos + 1);
  6028. if (ch !== 0x21/* ! */ &&
  6029. ch !== 0x3F/* ? */ &&
  6030. ch !== 0x2F/* / */ &&
  6031. !isLetter(ch)) {
  6032. return false;
  6033. }
  6034. match = state.src.slice(pos).match(HTML_TAG_RE);
  6035. if (!match) { return false; }
  6036. if (!silent) {
  6037. token = state.push('html_inline', '', 0);
  6038. token.content = match[0];
  6039. if (isLinkOpen(token.content)) state.linkLevel++;
  6040. if (isLinkClose(token.content)) state.linkLevel--;
  6041. }
  6042. state.pos += match[0].length;
  6043. return true;
  6044. };
  6045. /***/ }),
  6046. /***/ "../../node_modules/markdown-it/lib/rules_inline/image.js":
  6047. /*!*********************************************************************************!*\
  6048. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/image.js ***!
  6049. \*********************************************************************************/
  6050. /*! no static exports found */
  6051. /***/ (function(module, exports, __webpack_require__) {
  6052. "use strict";
  6053. // Process ![image](<src> "title")
  6054. var normalizeReference = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").normalizeReference;
  6055. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  6056. module.exports = function image(state, silent) {
  6057. var attrs,
  6058. code,
  6059. content,
  6060. label,
  6061. labelEnd,
  6062. labelStart,
  6063. pos,
  6064. ref,
  6065. res,
  6066. title,
  6067. token,
  6068. tokens,
  6069. start,
  6070. href = '',
  6071. oldPos = state.pos,
  6072. max = state.posMax;
  6073. if (state.src.charCodeAt(state.pos) !== 0x21/* ! */) { return false; }
  6074. if (state.src.charCodeAt(state.pos + 1) !== 0x5B/* [ */) { return false; }
  6075. labelStart = state.pos + 2;
  6076. labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false);
  6077. // parser failed to find ']', so it's not a valid link
  6078. if (labelEnd < 0) { return false; }
  6079. pos = labelEnd + 1;
  6080. if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {
  6081. //
  6082. // Inline link
  6083. //
  6084. // [link]( <href> "title" )
  6085. // ^^ skipping these spaces
  6086. pos++;
  6087. for (; pos < max; pos++) {
  6088. code = state.src.charCodeAt(pos);
  6089. if (!isSpace(code) && code !== 0x0A) { break; }
  6090. }
  6091. if (pos >= max) { return false; }
  6092. // [link]( <href> "title" )
  6093. // ^^^^^^ parsing link destination
  6094. start = pos;
  6095. res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);
  6096. if (res.ok) {
  6097. href = state.md.normalizeLink(res.str);
  6098. if (state.md.validateLink(href)) {
  6099. pos = res.pos;
  6100. } else {
  6101. href = '';
  6102. }
  6103. }
  6104. // [link]( <href> "title" )
  6105. // ^^ skipping these spaces
  6106. start = pos;
  6107. for (; pos < max; pos++) {
  6108. code = state.src.charCodeAt(pos);
  6109. if (!isSpace(code) && code !== 0x0A) { break; }
  6110. }
  6111. // [link]( <href> "title" )
  6112. // ^^^^^^^ parsing link title
  6113. res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);
  6114. if (pos < max && start !== pos && res.ok) {
  6115. title = res.str;
  6116. pos = res.pos;
  6117. // [link]( <href> "title" )
  6118. // ^^ skipping these spaces
  6119. for (; pos < max; pos++) {
  6120. code = state.src.charCodeAt(pos);
  6121. if (!isSpace(code) && code !== 0x0A) { break; }
  6122. }
  6123. } else {
  6124. title = '';
  6125. }
  6126. if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {
  6127. state.pos = oldPos;
  6128. return false;
  6129. }
  6130. pos++;
  6131. } else {
  6132. //
  6133. // Link reference
  6134. //
  6135. if (typeof state.env.references === 'undefined') { return false; }
  6136. if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {
  6137. start = pos + 1;
  6138. pos = state.md.helpers.parseLinkLabel(state, pos);
  6139. if (pos >= 0) {
  6140. label = state.src.slice(start, pos++);
  6141. } else {
  6142. pos = labelEnd + 1;
  6143. }
  6144. } else {
  6145. pos = labelEnd + 1;
  6146. }
  6147. // covers label === '' and label === undefined
  6148. // (collapsed reference link and shortcut reference link respectively)
  6149. if (!label) { label = state.src.slice(labelStart, labelEnd); }
  6150. ref = state.env.references[normalizeReference(label)];
  6151. if (!ref) {
  6152. state.pos = oldPos;
  6153. return false;
  6154. }
  6155. href = ref.href;
  6156. title = ref.title;
  6157. }
  6158. //
  6159. // We found the end of the link, and know for a fact it's a valid link;
  6160. // so all that's left to do is to call tokenizer.
  6161. //
  6162. if (!silent) {
  6163. content = state.src.slice(labelStart, labelEnd);
  6164. state.md.inline.parse(
  6165. content,
  6166. state.md,
  6167. state.env,
  6168. tokens = []
  6169. );
  6170. token = state.push('image', 'img', 0);
  6171. token.attrs = attrs = [ [ 'src', href ], [ 'alt', '' ] ];
  6172. token.children = tokens;
  6173. token.content = content;
  6174. if (title) {
  6175. attrs.push([ 'title', title ]);
  6176. }
  6177. }
  6178. state.pos = pos;
  6179. state.posMax = max;
  6180. return true;
  6181. };
  6182. /***/ }),
  6183. /***/ "../../node_modules/markdown-it/lib/rules_inline/link.js":
  6184. /*!********************************************************************************!*\
  6185. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/link.js ***!
  6186. \********************************************************************************/
  6187. /*! no static exports found */
  6188. /***/ (function(module, exports, __webpack_require__) {
  6189. "use strict";
  6190. // Process [link](<to> "stuff")
  6191. var normalizeReference = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").normalizeReference;
  6192. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  6193. module.exports = function link(state, silent) {
  6194. var attrs,
  6195. code,
  6196. label,
  6197. labelEnd,
  6198. labelStart,
  6199. pos,
  6200. res,
  6201. ref,
  6202. token,
  6203. href = '',
  6204. title = '',
  6205. oldPos = state.pos,
  6206. max = state.posMax,
  6207. start = state.pos,
  6208. parseReference = true;
  6209. if (state.src.charCodeAt(state.pos) !== 0x5B/* [ */) { return false; }
  6210. labelStart = state.pos + 1;
  6211. labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true);
  6212. // parser failed to find ']', so it's not a valid link
  6213. if (labelEnd < 0) { return false; }
  6214. pos = labelEnd + 1;
  6215. if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {
  6216. //
  6217. // Inline link
  6218. //
  6219. // might have found a valid shortcut link, disable reference parsing
  6220. parseReference = false;
  6221. // [link]( <href> "title" )
  6222. // ^^ skipping these spaces
  6223. pos++;
  6224. for (; pos < max; pos++) {
  6225. code = state.src.charCodeAt(pos);
  6226. if (!isSpace(code) && code !== 0x0A) { break; }
  6227. }
  6228. if (pos >= max) { return false; }
  6229. // [link]( <href> "title" )
  6230. // ^^^^^^ parsing link destination
  6231. start = pos;
  6232. res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);
  6233. if (res.ok) {
  6234. href = state.md.normalizeLink(res.str);
  6235. if (state.md.validateLink(href)) {
  6236. pos = res.pos;
  6237. } else {
  6238. href = '';
  6239. }
  6240. // [link]( <href> "title" )
  6241. // ^^ skipping these spaces
  6242. start = pos;
  6243. for (; pos < max; pos++) {
  6244. code = state.src.charCodeAt(pos);
  6245. if (!isSpace(code) && code !== 0x0A) { break; }
  6246. }
  6247. // [link]( <href> "title" )
  6248. // ^^^^^^^ parsing link title
  6249. res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);
  6250. if (pos < max && start !== pos && res.ok) {
  6251. title = res.str;
  6252. pos = res.pos;
  6253. // [link]( <href> "title" )
  6254. // ^^ skipping these spaces
  6255. for (; pos < max; pos++) {
  6256. code = state.src.charCodeAt(pos);
  6257. if (!isSpace(code) && code !== 0x0A) { break; }
  6258. }
  6259. }
  6260. }
  6261. if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {
  6262. // parsing a valid shortcut link failed, fallback to reference
  6263. parseReference = true;
  6264. }
  6265. pos++;
  6266. }
  6267. if (parseReference) {
  6268. //
  6269. // Link reference
  6270. //
  6271. if (typeof state.env.references === 'undefined') { return false; }
  6272. if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {
  6273. start = pos + 1;
  6274. pos = state.md.helpers.parseLinkLabel(state, pos);
  6275. if (pos >= 0) {
  6276. label = state.src.slice(start, pos++);
  6277. } else {
  6278. pos = labelEnd + 1;
  6279. }
  6280. } else {
  6281. pos = labelEnd + 1;
  6282. }
  6283. // covers label === '' and label === undefined
  6284. // (collapsed reference link and shortcut reference link respectively)
  6285. if (!label) { label = state.src.slice(labelStart, labelEnd); }
  6286. ref = state.env.references[normalizeReference(label)];
  6287. if (!ref) {
  6288. state.pos = oldPos;
  6289. return false;
  6290. }
  6291. href = ref.href;
  6292. title = ref.title;
  6293. }
  6294. //
  6295. // We found the end of the link, and know for a fact it's a valid link;
  6296. // so all that's left to do is to call tokenizer.
  6297. //
  6298. if (!silent) {
  6299. state.pos = labelStart;
  6300. state.posMax = labelEnd;
  6301. token = state.push('link_open', 'a', 1);
  6302. token.attrs = attrs = [ [ 'href', href ] ];
  6303. if (title) {
  6304. attrs.push([ 'title', title ]);
  6305. }
  6306. state.linkLevel++;
  6307. state.md.inline.tokenize(state);
  6308. state.linkLevel--;
  6309. token = state.push('link_close', 'a', -1);
  6310. }
  6311. state.pos = pos;
  6312. state.posMax = max;
  6313. return true;
  6314. };
  6315. /***/ }),
  6316. /***/ "../../node_modules/markdown-it/lib/rules_inline/linkify.js":
  6317. /*!***********************************************************************************!*\
  6318. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/linkify.js ***!
  6319. \***********************************************************************************/
  6320. /*! no static exports found */
  6321. /***/ (function(module, exports, __webpack_require__) {
  6322. "use strict";
  6323. // Process links like https://example.org/
  6324. // RFC3986: scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
  6325. var SCHEME_RE = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;
  6326. module.exports = function linkify(state, silent) {
  6327. var pos, max, match, proto, link, url, fullUrl, token;
  6328. if (!state.md.options.linkify) return false;
  6329. if (state.linkLevel > 0) return false;
  6330. pos = state.pos;
  6331. max = state.posMax;
  6332. if (pos + 3 > max) return false;
  6333. if (state.src.charCodeAt(pos) !== 0x3A/* : */) return false;
  6334. if (state.src.charCodeAt(pos + 1) !== 0x2F/* / */) return false;
  6335. if (state.src.charCodeAt(pos + 2) !== 0x2F/* / */) return false;
  6336. match = state.pending.match(SCHEME_RE);
  6337. if (!match) return false;
  6338. proto = match[1];
  6339. link = state.md.linkify.matchAtStart(state.src.slice(pos - proto.length));
  6340. if (!link) return false;
  6341. url = link.url;
  6342. // invalid link, but still detected by linkify somehow;
  6343. // need to check to prevent infinite loop below
  6344. if (url.length <= proto.length) return false;
  6345. // disallow '*' at the end of the link (conflicts with emphasis)
  6346. url = url.replace(/\*+$/, '');
  6347. fullUrl = state.md.normalizeLink(url);
  6348. if (!state.md.validateLink(fullUrl)) return false;
  6349. if (!silent) {
  6350. state.pending = state.pending.slice(0, -proto.length);
  6351. token = state.push('link_open', 'a', 1);
  6352. token.attrs = [ [ 'href', fullUrl ] ];
  6353. token.markup = 'linkify';
  6354. token.info = 'auto';
  6355. token = state.push('text', '', 0);
  6356. token.content = state.md.normalizeLinkText(url);
  6357. token = state.push('link_close', 'a', -1);
  6358. token.markup = 'linkify';
  6359. token.info = 'auto';
  6360. }
  6361. state.pos += url.length - proto.length;
  6362. return true;
  6363. };
  6364. /***/ }),
  6365. /***/ "../../node_modules/markdown-it/lib/rules_inline/newline.js":
  6366. /*!***********************************************************************************!*\
  6367. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/newline.js ***!
  6368. \***********************************************************************************/
  6369. /*! no static exports found */
  6370. /***/ (function(module, exports, __webpack_require__) {
  6371. "use strict";
  6372. // Proceess '\n'
  6373. var isSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isSpace;
  6374. module.exports = function newline(state, silent) {
  6375. var pmax, max, ws, pos = state.pos;
  6376. if (state.src.charCodeAt(pos) !== 0x0A/* \n */) { return false; }
  6377. pmax = state.pending.length - 1;
  6378. max = state.posMax;
  6379. // ' \n' -> hardbreak
  6380. // Lookup in pending chars is bad practice! Don't copy to other rules!
  6381. // Pending string is stored in concat mode, indexed lookups will cause
  6382. // convertion to flat mode.
  6383. if (!silent) {
  6384. if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) {
  6385. if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) {
  6386. // Find whitespaces tail of pending chars.
  6387. ws = pmax - 1;
  6388. while (ws >= 1 && state.pending.charCodeAt(ws - 1) === 0x20) ws--;
  6389. state.pending = state.pending.slice(0, ws);
  6390. state.push('hardbreak', 'br', 0);
  6391. } else {
  6392. state.pending = state.pending.slice(0, -1);
  6393. state.push('softbreak', 'br', 0);
  6394. }
  6395. } else {
  6396. state.push('softbreak', 'br', 0);
  6397. }
  6398. }
  6399. pos++;
  6400. // skip heading spaces for next line
  6401. while (pos < max && isSpace(state.src.charCodeAt(pos))) { pos++; }
  6402. state.pos = pos;
  6403. return true;
  6404. };
  6405. /***/ }),
  6406. /***/ "../../node_modules/markdown-it/lib/rules_inline/state_inline.js":
  6407. /*!****************************************************************************************!*\
  6408. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/state_inline.js ***!
  6409. \****************************************************************************************/
  6410. /*! no static exports found */
  6411. /***/ (function(module, exports, __webpack_require__) {
  6412. "use strict";
  6413. // Inline parser state
  6414. var Token = __webpack_require__(/*! ../token */ "../../node_modules/markdown-it/lib/token.js");
  6415. var isWhiteSpace = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isWhiteSpace;
  6416. var isPunctChar = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isPunctChar;
  6417. var isMdAsciiPunct = __webpack_require__(/*! ../common/utils */ "../../node_modules/markdown-it/lib/common/utils.js").isMdAsciiPunct;
  6418. function StateInline(src, md, env, outTokens) {
  6419. this.src = src;
  6420. this.env = env;
  6421. this.md = md;
  6422. this.tokens = outTokens;
  6423. this.tokens_meta = Array(outTokens.length);
  6424. this.pos = 0;
  6425. this.posMax = this.src.length;
  6426. this.level = 0;
  6427. this.pending = '';
  6428. this.pendingLevel = 0;
  6429. // Stores { start: end } pairs. Useful for backtrack
  6430. // optimization of pairs parse (emphasis, strikes).
  6431. this.cache = {};
  6432. // List of emphasis-like delimiters for current tag
  6433. this.delimiters = [];
  6434. // Stack of delimiter lists for upper level tags
  6435. this._prev_delimiters = [];
  6436. // backtick length => last seen position
  6437. this.backticks = {};
  6438. this.backticksScanned = false;
  6439. // Counter used to disable inline linkify-it execution
  6440. // inside <a> and markdown links
  6441. this.linkLevel = 0;
  6442. }
  6443. // Flush pending text
  6444. //
  6445. StateInline.prototype.pushPending = function () {
  6446. var token = new Token('text', '', 0);
  6447. token.content = this.pending;
  6448. token.level = this.pendingLevel;
  6449. this.tokens.push(token);
  6450. this.pending = '';
  6451. return token;
  6452. };
  6453. // Push new token to "stream".
  6454. // If pending text exists - flush it as text token
  6455. //
  6456. StateInline.prototype.push = function (type, tag, nesting) {
  6457. if (this.pending) {
  6458. this.pushPending();
  6459. }
  6460. var token = new Token(type, tag, nesting);
  6461. var token_meta = null;
  6462. if (nesting < 0) {
  6463. // closing tag
  6464. this.level--;
  6465. this.delimiters = this._prev_delimiters.pop();
  6466. }
  6467. token.level = this.level;
  6468. if (nesting > 0) {
  6469. // opening tag
  6470. this.level++;
  6471. this._prev_delimiters.push(this.delimiters);
  6472. this.delimiters = [];
  6473. token_meta = { delimiters: this.delimiters };
  6474. }
  6475. this.pendingLevel = this.level;
  6476. this.tokens.push(token);
  6477. this.tokens_meta.push(token_meta);
  6478. return token;
  6479. };
  6480. // Scan a sequence of emphasis-like markers, and determine whether
  6481. // it can start an emphasis sequence or end an emphasis sequence.
  6482. //
  6483. // - start - position to scan from (it should point at a valid marker);
  6484. // - canSplitWord - determine if these markers can be found inside a word
  6485. //
  6486. StateInline.prototype.scanDelims = function (start, canSplitWord) {
  6487. var pos = start, lastChar, nextChar, count, can_open, can_close,
  6488. isLastWhiteSpace, isLastPunctChar,
  6489. isNextWhiteSpace, isNextPunctChar,
  6490. left_flanking = true,
  6491. right_flanking = true,
  6492. max = this.posMax,
  6493. marker = this.src.charCodeAt(start);
  6494. // treat beginning of the line as a whitespace
  6495. lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20;
  6496. while (pos < max && this.src.charCodeAt(pos) === marker) { pos++; }
  6497. count = pos - start;
  6498. // treat end of the line as a whitespace
  6499. nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20;
  6500. isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));
  6501. isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));
  6502. isLastWhiteSpace = isWhiteSpace(lastChar);
  6503. isNextWhiteSpace = isWhiteSpace(nextChar);
  6504. if (isNextWhiteSpace) {
  6505. left_flanking = false;
  6506. } else if (isNextPunctChar) {
  6507. if (!(isLastWhiteSpace || isLastPunctChar)) {
  6508. left_flanking = false;
  6509. }
  6510. }
  6511. if (isLastWhiteSpace) {
  6512. right_flanking = false;
  6513. } else if (isLastPunctChar) {
  6514. if (!(isNextWhiteSpace || isNextPunctChar)) {
  6515. right_flanking = false;
  6516. }
  6517. }
  6518. if (!canSplitWord) {
  6519. can_open = left_flanking && (!right_flanking || isLastPunctChar);
  6520. can_close = right_flanking && (!left_flanking || isNextPunctChar);
  6521. } else {
  6522. can_open = left_flanking;
  6523. can_close = right_flanking;
  6524. }
  6525. return {
  6526. can_open: can_open,
  6527. can_close: can_close,
  6528. length: count
  6529. };
  6530. };
  6531. // re-export Token class to use in block rules
  6532. StateInline.prototype.Token = Token;
  6533. module.exports = StateInline;
  6534. /***/ }),
  6535. /***/ "../../node_modules/markdown-it/lib/rules_inline/strikethrough.js":
  6536. /*!*****************************************************************************************!*\
  6537. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/strikethrough.js ***!
  6538. \*****************************************************************************************/
  6539. /*! no static exports found */
  6540. /***/ (function(module, exports, __webpack_require__) {
  6541. "use strict";
  6542. // ~~strike through~~
  6543. //
  6544. // Insert each marker as a separate text token, and add it to delimiter list
  6545. //
  6546. module.exports.tokenize = function strikethrough(state, silent) {
  6547. var i, scanned, token, len, ch,
  6548. start = state.pos,
  6549. marker = state.src.charCodeAt(start);
  6550. if (silent) { return false; }
  6551. if (marker !== 0x7E/* ~ */) { return false; }
  6552. scanned = state.scanDelims(state.pos, true);
  6553. len = scanned.length;
  6554. ch = String.fromCharCode(marker);
  6555. if (len < 2) { return false; }
  6556. if (len % 2) {
  6557. token = state.push('text', '', 0);
  6558. token.content = ch;
  6559. len--;
  6560. }
  6561. for (i = 0; i < len; i += 2) {
  6562. token = state.push('text', '', 0);
  6563. token.content = ch + ch;
  6564. state.delimiters.push({
  6565. marker: marker,
  6566. length: 0, // disable "rule of 3" length checks meant for emphasis
  6567. token: state.tokens.length - 1,
  6568. end: -1,
  6569. open: scanned.can_open,
  6570. close: scanned.can_close
  6571. });
  6572. }
  6573. state.pos += scanned.length;
  6574. return true;
  6575. };
  6576. function postProcess(state, delimiters) {
  6577. var i, j,
  6578. startDelim,
  6579. endDelim,
  6580. token,
  6581. loneMarkers = [],
  6582. max = delimiters.length;
  6583. for (i = 0; i < max; i++) {
  6584. startDelim = delimiters[i];
  6585. if (startDelim.marker !== 0x7E/* ~ */) {
  6586. continue;
  6587. }
  6588. if (startDelim.end === -1) {
  6589. continue;
  6590. }
  6591. endDelim = delimiters[startDelim.end];
  6592. token = state.tokens[startDelim.token];
  6593. token.type = 's_open';
  6594. token.tag = 's';
  6595. token.nesting = 1;
  6596. token.markup = '~~';
  6597. token.content = '';
  6598. token = state.tokens[endDelim.token];
  6599. token.type = 's_close';
  6600. token.tag = 's';
  6601. token.nesting = -1;
  6602. token.markup = '~~';
  6603. token.content = '';
  6604. if (state.tokens[endDelim.token - 1].type === 'text' &&
  6605. state.tokens[endDelim.token - 1].content === '~') {
  6606. loneMarkers.push(endDelim.token - 1);
  6607. }
  6608. }
  6609. // If a marker sequence has an odd number of characters, it's splitted
  6610. // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the
  6611. // start of the sequence.
  6612. //
  6613. // So, we have to move all those markers after subsequent s_close tags.
  6614. //
  6615. while (loneMarkers.length) {
  6616. i = loneMarkers.pop();
  6617. j = i + 1;
  6618. while (j < state.tokens.length && state.tokens[j].type === 's_close') {
  6619. j++;
  6620. }
  6621. j--;
  6622. if (i !== j) {
  6623. token = state.tokens[j];
  6624. state.tokens[j] = state.tokens[i];
  6625. state.tokens[i] = token;
  6626. }
  6627. }
  6628. }
  6629. // Walk through delimiter list and replace text tokens with tags
  6630. //
  6631. module.exports.postProcess = function strikethrough(state) {
  6632. var curr,
  6633. tokens_meta = state.tokens_meta,
  6634. max = state.tokens_meta.length;
  6635. postProcess(state, state.delimiters);
  6636. for (curr = 0; curr < max; curr++) {
  6637. if (tokens_meta[curr] && tokens_meta[curr].delimiters) {
  6638. postProcess(state, tokens_meta[curr].delimiters);
  6639. }
  6640. }
  6641. };
  6642. /***/ }),
  6643. /***/ "../../node_modules/markdown-it/lib/rules_inline/text.js":
  6644. /*!********************************************************************************!*\
  6645. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/rules_inline/text.js ***!
  6646. \********************************************************************************/
  6647. /*! no static exports found */
  6648. /***/ (function(module, exports, __webpack_require__) {
  6649. "use strict";
  6650. // Skip text characters for text token, place those to pending buffer
  6651. // and increment current pos
  6652. // Rule to skip pure text
  6653. // '{}$%@~+=:' reserved for extentions
  6654. // !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, or ~
  6655. // !!!! Don't confuse with "Markdown ASCII Punctuation" chars
  6656. // http://spec.commonmark.org/0.15/#ascii-punctuation-character
  6657. function isTerminatorChar(ch) {
  6658. switch (ch) {
  6659. case 0x0A/* \n */:
  6660. case 0x21/* ! */:
  6661. case 0x23/* # */:
  6662. case 0x24/* $ */:
  6663. case 0x25/* % */:
  6664. case 0x26/* & */:
  6665. case 0x2A/* * */:
  6666. case 0x2B/* + */:
  6667. case 0x2D/* - */:
  6668. case 0x3A/* : */:
  6669. case 0x3C/* < */:
  6670. case 0x3D/* = */:
  6671. case 0x3E/* > */:
  6672. case 0x40/* @ */:
  6673. case 0x5B/* [ */:
  6674. case 0x5C/* \ */:
  6675. case 0x5D/* ] */:
  6676. case 0x5E/* ^ */:
  6677. case 0x5F/* _ */:
  6678. case 0x60/* ` */:
  6679. case 0x7B/* { */:
  6680. case 0x7D/* } */:
  6681. case 0x7E/* ~ */:
  6682. return true;
  6683. default:
  6684. return false;
  6685. }
  6686. }
  6687. module.exports = function text(state, silent) {
  6688. var pos = state.pos;
  6689. while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {
  6690. pos++;
  6691. }
  6692. if (pos === state.pos) { return false; }
  6693. if (!silent) { state.pending += state.src.slice(state.pos, pos); }
  6694. state.pos = pos;
  6695. return true;
  6696. };
  6697. // Alternative implementation, for memory.
  6698. //
  6699. // It costs 10% of performance, but allows extend terminators list, if place it
  6700. // to `ParcerInline` property. Probably, will switch to it sometime, such
  6701. // flexibility required.
  6702. /*
  6703. var TERMINATOR_RE = /[\n!#$%&*+\-:<=>@[\\\]^_`{}~]/;
  6704. module.exports = function text(state, silent) {
  6705. var pos = state.pos,
  6706. idx = state.src.slice(pos).search(TERMINATOR_RE);
  6707. // first char is terminator -> empty text
  6708. if (idx === 0) { return false; }
  6709. // no terminator -> text till end of string
  6710. if (idx < 0) {
  6711. if (!silent) { state.pending += state.src.slice(pos); }
  6712. state.pos = state.src.length;
  6713. return true;
  6714. }
  6715. if (!silent) { state.pending += state.src.slice(pos, pos + idx); }
  6716. state.pos += idx;
  6717. return true;
  6718. };*/
  6719. /***/ }),
  6720. /***/ "../../node_modules/markdown-it/lib/token.js":
  6721. /*!********************************************************************!*\
  6722. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/lib/token.js ***!
  6723. \********************************************************************/
  6724. /*! no static exports found */
  6725. /***/ (function(module, exports, __webpack_require__) {
  6726. "use strict";
  6727. // Token class
  6728. /**
  6729. * class Token
  6730. **/
  6731. /**
  6732. * new Token(type, tag, nesting)
  6733. *
  6734. * Create new token and fill passed properties.
  6735. **/
  6736. function Token(type, tag, nesting) {
  6737. /**
  6738. * Token#type -> String
  6739. *
  6740. * Type of the token (string, e.g. "paragraph_open")
  6741. **/
  6742. this.type = type;
  6743. /**
  6744. * Token#tag -> String
  6745. *
  6746. * html tag name, e.g. "p"
  6747. **/
  6748. this.tag = tag;
  6749. /**
  6750. * Token#attrs -> Array
  6751. *
  6752. * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`
  6753. **/
  6754. this.attrs = null;
  6755. /**
  6756. * Token#map -> Array
  6757. *
  6758. * Source map info. Format: `[ line_begin, line_end ]`
  6759. **/
  6760. this.map = null;
  6761. /**
  6762. * Token#nesting -> Number
  6763. *
  6764. * Level change (number in {-1, 0, 1} set), where:
  6765. *
  6766. * - `1` means the tag is opening
  6767. * - `0` means the tag is self-closing
  6768. * - `-1` means the tag is closing
  6769. **/
  6770. this.nesting = nesting;
  6771. /**
  6772. * Token#level -> Number
  6773. *
  6774. * nesting level, the same as `state.level`
  6775. **/
  6776. this.level = 0;
  6777. /**
  6778. * Token#children -> Array
  6779. *
  6780. * An array of child nodes (inline and img tokens)
  6781. **/
  6782. this.children = null;
  6783. /**
  6784. * Token#content -> String
  6785. *
  6786. * In a case of self-closing tag (code, html, fence, etc.),
  6787. * it has contents of this tag.
  6788. **/
  6789. this.content = '';
  6790. /**
  6791. * Token#markup -> String
  6792. *
  6793. * '*' or '_' for emphasis, fence string for fence, etc.
  6794. **/
  6795. this.markup = '';
  6796. /**
  6797. * Token#info -> String
  6798. *
  6799. * Additional information:
  6800. *
  6801. * - Info string for "fence" tokens
  6802. * - The value "auto" for autolink "link_open" and "link_close" tokens
  6803. * - The string value of the item marker for ordered-list "list_item_open" tokens
  6804. **/
  6805. this.info = '';
  6806. /**
  6807. * Token#meta -> Object
  6808. *
  6809. * A place for plugins to store an arbitrary data
  6810. **/
  6811. this.meta = null;
  6812. /**
  6813. * Token#block -> Boolean
  6814. *
  6815. * True for block-level tokens, false for inline tokens.
  6816. * Used in renderer to calculate line breaks
  6817. **/
  6818. this.block = false;
  6819. /**
  6820. * Token#hidden -> Boolean
  6821. *
  6822. * If it's true, ignore this element when rendering. Used for tight lists
  6823. * to hide paragraphs.
  6824. **/
  6825. this.hidden = false;
  6826. }
  6827. /**
  6828. * Token.attrIndex(name) -> Number
  6829. *
  6830. * Search attribute index by name.
  6831. **/
  6832. Token.prototype.attrIndex = function attrIndex(name) {
  6833. var attrs, i, len;
  6834. if (!this.attrs) { return -1; }
  6835. attrs = this.attrs;
  6836. for (i = 0, len = attrs.length; i < len; i++) {
  6837. if (attrs[i][0] === name) { return i; }
  6838. }
  6839. return -1;
  6840. };
  6841. /**
  6842. * Token.attrPush(attrData)
  6843. *
  6844. * Add `[ name, value ]` attribute to list. Init attrs if necessary
  6845. **/
  6846. Token.prototype.attrPush = function attrPush(attrData) {
  6847. if (this.attrs) {
  6848. this.attrs.push(attrData);
  6849. } else {
  6850. this.attrs = [ attrData ];
  6851. }
  6852. };
  6853. /**
  6854. * Token.attrSet(name, value)
  6855. *
  6856. * Set `name` attribute to `value`. Override old value if exists.
  6857. **/
  6858. Token.prototype.attrSet = function attrSet(name, value) {
  6859. var idx = this.attrIndex(name),
  6860. attrData = [ name, value ];
  6861. if (idx < 0) {
  6862. this.attrPush(attrData);
  6863. } else {
  6864. this.attrs[idx] = attrData;
  6865. }
  6866. };
  6867. /**
  6868. * Token.attrGet(name)
  6869. *
  6870. * Get the value of attribute `name`, or null if it does not exist.
  6871. **/
  6872. Token.prototype.attrGet = function attrGet(name) {
  6873. var idx = this.attrIndex(name), value = null;
  6874. if (idx >= 0) {
  6875. value = this.attrs[idx][1];
  6876. }
  6877. return value;
  6878. };
  6879. /**
  6880. * Token.attrJoin(name, value)
  6881. *
  6882. * Join value to existing attribute via space. Or create new attribute if not
  6883. * exists. Useful to operate with token classes.
  6884. **/
  6885. Token.prototype.attrJoin = function attrJoin(name, value) {
  6886. var idx = this.attrIndex(name);
  6887. if (idx < 0) {
  6888. this.attrPush([ name, value ]);
  6889. } else {
  6890. this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value;
  6891. }
  6892. };
  6893. module.exports = Token;
  6894. /***/ }),
  6895. /***/ "../../node_modules/markdown-it/node_modules/entities/lib/maps/entities.json":
  6896. /*!****************************************************************************************************!*\
  6897. !*** D:/web_src/4dkankan_v4/node_modules/markdown-it/node_modules/entities/lib/maps/entities.json ***!
  6898. \****************************************************************************************************/
  6899. /*! exports provided: Aacute, aacute, Abreve, abreve, ac, acd, acE, Acirc, acirc, acute, Acy, acy, AElig, aelig, af, Afr, afr, Agrave, agrave, alefsym, aleph, Alpha, alpha, Amacr, amacr, amalg, amp, AMP, andand, And, and, andd, andslope, andv, ang, ange, angle, angmsdaa, angmsdab, angmsdac, angmsdad, angmsdae, angmsdaf, angmsdag, angmsdah, angmsd, angrt, angrtvb, angrtvbd, angsph, angst, angzarr, Aogon, aogon, Aopf, aopf, apacir, ap, apE, ape, apid, apos, ApplyFunction, approx, approxeq, Aring, aring, Ascr, ascr, Assign, ast, asymp, asympeq, Atilde, atilde, Auml, auml, awconint, awint, backcong, backepsilon, backprime, backsim, backsimeq, Backslash, Barv, barvee, barwed, Barwed, barwedge, bbrk, bbrktbrk, bcong, Bcy, bcy, bdquo, becaus, because, Because, bemptyv, bepsi, bernou, Bernoullis, Beta, beta, beth, between, Bfr, bfr, bigcap, bigcirc, bigcup, bigodot, bigoplus, bigotimes, bigsqcup, bigstar, bigtriangledown, bigtriangleup, biguplus, bigvee, bigwedge, bkarow, blacklozenge, blacksquare, blacktriangle, blacktriangledown, blacktriangleleft, blacktriangleright, blank, blk12, blk14, blk34, block, bne, bnequiv, bNot, bnot, Bopf, bopf, bot, bottom, bowtie, boxbox, boxdl, boxdL, boxDl, boxDL, boxdr, boxdR, boxDr, boxDR, boxh, boxH, boxhd, boxHd, boxhD, boxHD, boxhu, boxHu, boxhU, boxHU, boxminus, boxplus, boxtimes, boxul, boxuL, boxUl, boxUL, boxur, boxuR, boxUr, boxUR, boxv, boxV, boxvh, boxvH, boxVh, boxVH, boxvl, boxvL, boxVl, boxVL, boxvr, boxvR, boxVr, boxVR, bprime, breve, Breve, brvbar, bscr, Bscr, bsemi, bsim, bsime, bsolb, bsol, bsolhsub, bull, bullet, bump, bumpE, bumpe, Bumpeq, bumpeq, Cacute, cacute, capand, capbrcup, capcap, cap, Cap, capcup, capdot, CapitalDifferentialD, caps, caret, caron, Cayleys, ccaps, Ccaron, ccaron, Ccedil, ccedil, Ccirc, ccirc, Cconint, ccups, ccupssm, Cdot, cdot, cedil, Cedilla, cemptyv, cent, centerdot, CenterDot, cfr, Cfr, CHcy, chcy, check, checkmark, Chi, chi, circ, circeq, circlearrowleft, circlearrowright, circledast, circledcirc, circleddash, CircleDot, circledR, circledS, CircleMinus, CirclePlus, CircleTimes, cir, cirE, cire, cirfnint, cirmid, cirscir, ClockwiseContourIntegral, CloseCurlyDoubleQuote, CloseCurlyQuote, clubs, clubsuit, colon, Colon, Colone, colone, coloneq, comma, commat, comp, compfn, complement, complexes, cong, congdot, Congruent, conint, Conint, ContourIntegral, copf, Copf, coprod, Coproduct, copy, COPY, copysr, CounterClockwiseContourIntegral, crarr, cross, Cross, Cscr, cscr, csub, csube, csup, csupe, ctdot, cudarrl, cudarrr, cuepr, cuesc, cularr, cularrp, cupbrcap, cupcap, CupCap, cup, Cup, cupcup, cupdot, cupor, cups, curarr, curarrm, curlyeqprec, curlyeqsucc, curlyvee, curlywedge, curren, curvearrowleft, curvearrowright, cuvee, cuwed, cwconint, cwint, cylcty, dagger, Dagger, daleth, darr, Darr, dArr, dash, Dashv, dashv, dbkarow, dblac, Dcaron, dcaron, Dcy, dcy, ddagger, ddarr, DD, dd, DDotrahd, ddotseq, deg, Del, Delta, delta, demptyv, dfisht, Dfr, dfr, dHar, dharl, dharr, DiacriticalAcute, DiacriticalDot, DiacriticalDoubleAcute, DiacriticalGrave, DiacriticalTilde, diam, diamond, Diamond, diamondsuit, diams, die, DifferentialD, digamma, disin, div, divide, divideontimes, divonx, DJcy, djcy, dlcorn, dlcrop, dollar, Dopf, dopf, Dot, dot, DotDot, doteq, doteqdot, DotEqual, dotminus, dotplus, dotsquare, doublebarwedge, DoubleContourIntegral, DoubleDot, DoubleDownArrow, DoubleLeftArrow, DoubleLeftRightArrow, DoubleLeftTee, DoubleLongLeftArrow, DoubleLongLeftRightArrow, DoubleLongRightArrow, DoubleRightArrow, DoubleRightTee, DoubleUpArrow, DoubleUpDownArrow, DoubleVerticalBar, DownArrowBar, downarrow, DownArrow, Downarrow, DownArrowUpArrow, DownBreve, downdownarrows, downharpoonleft, downharpoonright, DownLeftRightVector, DownLeftTeeVector, DownLeftVectorBar, DownLeftVector, DownRightTeeVector, DownRightVectorBar, DownRightVector, DownTeeArrow, DownTee, drbkarow, drcorn, drcrop, Dscr, dscr, DScy, dscy, dsol, Dstrok, dstrok, dtdot, dtri, dtrif, duarr, duhar, dwangle, DZcy, dzcy, dzigrarr, Eacute, eacute, easter, Ecaron, ecaron, Ecirc, ecirc, ecir, ecolon, Ecy, ecy, eDDot, Edot, edot, eDot, ee, efDot, Efr, efr, eg, Egrave, egrave, egs, egsdot, el, Element, elinters, ell, els, elsdot, Emacr, emacr, empty, emptyset, EmptySmallSquare, emptyv, EmptyVerySmallSquare, emsp13, emsp14, emsp, ENG, eng, ensp, Eogon, eogon, Eopf, eopf, epar, eparsl, eplus, epsi, Epsilon, epsilon, epsiv, eqcirc, eqcolon, eqsim, eqslantgtr, eqslantless, Equal, equals, EqualTilde, equest, Equilibrium, equiv, equivDD, eqvparsl, erarr, erDot, escr, Escr, esdot, Esim, esim, Eta, eta, ETH, eth, Euml, euml, euro, excl, exist, Exists, expectation, exponentiale, ExponentialE, fallingdotseq, Fcy, fcy, female, ffilig, fflig, ffllig, Ffr, ffr, filig, FilledSmallSquare, FilledVerySmallSquare, fjlig, flat, fllig, fltns, fnof, Fopf, fopf, forall, ForAll, fork, forkv, Fouriertrf, fpartint, frac12, frac13, frac14, frac15, frac16, frac18, frac23, frac25, frac34, frac35, frac38, frac45, frac56, frac58, frac78, frasl, frown, fscr, Fscr, gacute, Gamma, gamma, Gammad, gammad, gap, Gbreve, gbreve, Gcedil, Gcirc, gcirc, Gcy, gcy, Gdot, gdot, ge, gE, gEl, gel, geq, geqq, geqslant, gescc, ges, gesdot, gesdoto, gesdotol, gesl, gesles, Gfr, gfr, gg, Gg, ggg, gimel, GJcy, gjcy, gla, gl, glE, glj, gnap, gnapprox, gne, gnE, gneq, gneqq, gnsim, Gopf, gopf, grave, GreaterEqual, GreaterEqualLess, GreaterFullEqual, GreaterGreater, GreaterLess, GreaterSlantEqual, GreaterTilde, Gscr, gscr, gsim, gsime, gsiml, gtcc, gtcir, gt, GT, Gt, gtdot, gtlPar, gtquest, gtrapprox, gtrarr, gtrdot, gtreqless, gtreqqless, gtrless, gtrsim, gvertneqq, gvnE, Hacek, hairsp, half, hamilt, HARDcy, hardcy, harrcir, harr, hArr, harrw, Hat, hbar, Hcirc, hcirc, hearts, heartsuit, hellip, hercon, hfr, Hfr, HilbertSpace, hksearow, hkswarow, hoarr, homtht, hookleftarrow, hookrightarrow, hopf, Hopf, horbar, HorizontalLine, hscr, Hscr, hslash, Hstrok, hstrok, HumpDownHump, HumpEqual, hybull, hyphen, Iacute, iacute, ic, Icirc, icirc, Icy, icy, Idot, IEcy, iecy, iexcl, iff, ifr, Ifr, Igrave, igrave, ii, iiiint, iiint, iinfin, iiota, IJlig, ijlig, Imacr, imacr, image, ImaginaryI, imagline, imagpart, imath, Im, imof, imped, Implies, incare, in, infin, infintie, inodot, intcal, int, Int, integers, Integral, intercal, Intersection, intlarhk, intprod, InvisibleComma, InvisibleTimes, IOcy, iocy, Iogon, iogon, Iopf, iopf, Iota, iota, iprod, iquest, iscr, Iscr, isin, isindot, isinE, isins, isinsv, isinv, it, Itilde, itilde, Iukcy, iukcy, Iuml, iuml, Jcirc, jcirc, Jcy, jcy, Jfr, jfr, jmath, Jopf, jopf, Jscr, jscr, Jsercy, jsercy, Jukcy, jukcy, Kappa, kappa, kappav, Kcedil, kcedil, Kcy, kcy, Kfr, kfr, kgreen, KHcy, khcy, KJcy, kjcy, Kopf, kopf, Kscr, kscr, lAarr, Lacute, lacute, laemptyv, lagran, Lambda, lambda, lang, Lang, langd, langle, lap, Laplacetrf, laquo, larrb, larrbfs, larr, Larr, lArr, larrfs, larrhk, larrlp, larrpl, larrsim, larrtl, latail, lAtail, lat, late, lates, lbarr, lBarr, lbbrk, lbrace, lbrack, lbrke, lbrksld, lbrkslu, Lcaron, lcaron, Lcedil, lcedil, lceil, lcub, Lcy, lcy, ldca, ldquo, ldquor, ldrdhar, ldrushar, ldsh, le, lE, LeftAngleBracket, LeftArrowBar, leftarrow, LeftArrow, Leftarrow, LeftArrowRightArrow, leftarrowtail, LeftCeiling, LeftDoubleBracket, LeftDownTeeVector, LeftDownVectorBar, LeftDownVector, LeftFloor, leftharpoondown, leftharpoonup, leftleftarrows, leftrightarrow, LeftRightArrow, Leftrightarrow, leftrightarrows, leftrightharpoons, leftrightsquigarrow, LeftRightVector, LeftTeeArrow, LeftTee, LeftTeeVector, leftthreetimes, LeftTriangleBar, LeftTriangle, LeftTriangleEqual, LeftUpDownVector, LeftUpTeeVector, LeftUpVectorBar, LeftUpVector, LeftVectorBar, LeftVector, lEg, leg, leq, leqq, leqslant, lescc, les, lesdot, lesdoto, lesdotor, lesg, lesges, lessapprox, lessdot, lesseqgtr, lesseqqgtr, LessEqualGreater, LessFullEqual, LessGreater, lessgtr, LessLess, lesssim, LessSlantEqual, LessTilde, lfisht, lfloor, Lfr, lfr, lg, lgE, lHar, lhard, lharu, lharul, lhblk, LJcy, ljcy, llarr, ll, Ll, llcorner, Lleftarrow, llhard, lltri, Lmidot, lmidot, lmoustache, lmoust, lnap, lnapprox, lne, lnE, lneq, lneqq, lnsim, loang, loarr, lobrk, longleftarrow, LongLeftArrow, Longleftarrow, longleftrightarrow, LongLeftRightArrow, Longleftrightarrow, longmapsto, longrightarrow, LongRightArrow, Longrightarrow, looparrowleft, looparrowright, lopar, Lopf, lopf, loplus, lotimes, lowast, lowbar, LowerLeftArrow, LowerRightArrow, loz, lozenge, lozf, lpar, lparlt, lrarr, lrcorner, lrhar, lrhard, lrm, lrtri, lsaquo, lscr, Lscr, lsh, Lsh, lsim, lsime, lsimg, lsqb, lsquo, lsquor, Lstrok, lstrok, ltcc, ltcir, lt, LT, Lt, ltdot, lthree, ltimes, ltlarr, ltquest, ltri, ltrie, ltrif, ltrPar, lurdshar, luruhar, lvertneqq, lvnE, macr, male, malt, maltese, Map, map, mapsto, mapstodown, mapstoleft, mapstoup, marker, mcomma, Mcy, mcy, mdash, mDDot, measuredangle, MediumSpace, Mellintrf, Mfr, mfr, mho, micro, midast, midcir, mid, middot, minusb, minus, minusd, minusdu, MinusPlus, mlcp, mldr, mnplus, models, Mopf, mopf, mp, mscr, Mscr, mstpos, Mu, mu, multimap, mumap, nabla, Nacute, nacute, nang, nap, napE, napid, napos, napprox, natural, naturals, natur, nbsp, nbump, nbumpe, ncap, Ncaron, ncaron, Ncedil, ncedil, ncong, ncongdot, ncup, Ncy, ncy, ndash, nearhk, nearr, neArr, nearrow, ne, nedot, NegativeMediumSpace, NegativeThickSpace, NegativeThinSpace, NegativeVeryThinSpace, nequiv, nesear, nesim, NestedGreaterGreater, NestedLessLess, NewLine, nexist, nexists, Nfr, nfr, ngE, nge, ngeq, ngeqq, ngeqslant, nges, nGg, ngsim, nGt, ngt, ngtr, nGtv, nharr, nhArr, nhpar, ni, nis, nisd, niv, NJcy, njcy, nlarr, nlArr, nldr, nlE, nle, nleftarrow, nLeftarrow, nleftrightarrow, nLeftrightarrow, nleq, nleqq, nleqslant, nles, nless, nLl, nlsim, nLt, nlt, nltri, nltrie, nLtv, nmid, NoBreak, NonBreakingSpace, nopf, Nopf, Not, not, NotCongruent, NotCupCap, NotDoubleVerticalBar, NotElement, NotEqual, NotEqualTilde, NotExists, NotGreater, NotGreaterEqual, NotGreaterFullEqual, NotGreaterGreater, NotGreaterLess, NotGreaterSlantEqual, NotGreaterTilde, NotHumpDownHump, NotHumpEqual, notin, notindot, notinE, notinva, notinvb, notinvc, NotLeftTriangleBar, NotLeftTriangle, NotLeftTriangleEqual, NotLess, NotLessEqual, NotLessGreater, NotLessLess, NotLessSlantEqual, NotLessTilde, NotNestedGreaterGreater, NotNestedLessLess, notni, notniva, notnivb, notnivc, NotPrecedes, NotPrecedesEqual, NotPrecedesSlantEqual, NotReverseElement, NotRightTriangleBar, NotRightTriangle, NotRightTriangleEqual, NotSquareSubset, NotSquareSubsetEqual, NotSquareSuperset, NotSquareSupersetEqual, NotSubset, NotSubsetEqual, NotSucceeds, NotSucceedsEqual, NotSucceedsSlantEqual, NotSucceedsTilde, NotSuperset, NotSupersetEqual, NotTilde, NotTildeEqual, NotTildeFullEqual, NotTildeTilde, NotVerticalBar, nparallel, npar, nparsl, npart, npolint, npr, nprcue, nprec, npreceq, npre, nrarrc, nrarr, nrArr, nrarrw, nrightarrow, nRightarrow, nrtri, nrtrie, nsc, nsccue, nsce, Nscr, nscr, nshortmid, nshortparallel, nsim, nsime, nsimeq, nsmid, nspar, nsqsube, nsqsupe, nsub, nsubE, nsube, nsubset, nsubseteq, nsubseteqq, nsucc, nsucceq, nsup, nsupE, nsupe, nsupset, nsupseteq, nsupseteqq, ntgl, Ntilde, ntilde, ntlg, ntriangleleft, ntrianglelefteq, ntriangleright, ntrianglerighteq, Nu, nu, num, numero, numsp, nvap, nvdash, nvDash, nVdash, nVDash, nvge, nvgt, nvHarr, nvinfin, nvlArr, nvle, nvlt, nvltrie, nvrArr, nvrtrie, nvsim, nwarhk, nwarr, nwArr, nwarrow, nwnear, Oacute, oacute, oast, Ocirc, ocirc, ocir, Ocy, ocy, odash, Odblac, odblac, odiv, odot, odsold, OElig, oelig, ofcir, Ofr, ofr, ogon, Ograve, ograve, ogt, ohbar, ohm, oint, olarr, olcir, olcross, oline, olt, Omacr, omacr, Omega, omega, Omicron, omicron, omid, ominus, Oopf, oopf, opar, OpenCurlyDoubleQuote, OpenCurlyQuote, operp, oplus, orarr, Or, or, ord, order, orderof, ordf, ordm, origof, oror, orslope, orv, oS, Oscr, oscr, Oslash, oslash, osol, Otilde, otilde, otimesas, Otimes, otimes, Ouml, ouml, ovbar, OverBar, OverBrace, OverBracket, OverParenthesis, para, parallel, par, parsim, parsl, part, PartialD, Pcy, pcy, percnt, period, permil, perp, pertenk, Pfr, pfr, Phi, phi, phiv, phmmat, phone, Pi, pi, pitchfork, piv, planck, planckh, plankv, plusacir, plusb, pluscir, plus, plusdo, plusdu, pluse, PlusMinus, plusmn, plussim, plustwo, pm, Poincareplane, pointint, popf, Popf, pound, prap, Pr, pr, prcue, precapprox, prec, preccurlyeq, Precedes, PrecedesEqual, PrecedesSlantEqual, PrecedesTilde, preceq, precnapprox, precneqq, precnsim, pre, prE, precsim, prime, Prime, primes, prnap, prnE, prnsim, prod, Product, profalar, profline, profsurf, prop, Proportional, Proportion, propto, prsim, prurel, Pscr, pscr, Psi, psi, puncsp, Qfr, qfr, qint, qopf, Qopf, qprime, Qscr, qscr, quaternions, quatint, quest, questeq, quot, QUOT, rAarr, race, Racute, racute, radic, raemptyv, rang, Rang, rangd, range, rangle, raquo, rarrap, rarrb, rarrbfs, rarrc, rarr, Rarr, rArr, rarrfs, rarrhk, rarrlp, rarrpl, rarrsim, Rarrtl, rarrtl, rarrw, ratail, rAtail, ratio, rationals, rbarr, rBarr, RBarr, rbbrk, rbrace, rbrack, rbrke, rbrksld, rbrkslu, Rcaron, rcaron, Rcedil, rcedil, rceil, rcub, Rcy, rcy, rdca, rdldhar, rdquo, rdquor, rdsh, real, realine, realpart, reals, Re, rect, reg, REG, ReverseElement, ReverseEquilibrium, ReverseUpEquilibrium, rfisht, rfloor, rfr, Rfr, rHar, rhard, rharu, rharul, Rho, rho, rhov, RightAngleBracket, RightArrowBar, rightarrow, RightArrow, Rightarrow, RightArrowLeftArrow, rightarrowtail, RightCeiling, RightDoubleBracket, RightDownTeeVector, RightDownVectorBar, RightDownVector, RightFloor, rightharpoondown, rightharpoonup, rightleftarrows, rightleftharpoons, rightrightarrows, rightsquigarrow, RightTeeArrow, RightTee, RightTeeVector, rightthreetimes, RightTriangleBar, RightTriangle, RightTriangleEqual, RightUpDownVector, RightUpTeeVector, RightUpVectorBar, RightUpVector, RightVectorBar, RightVector, ring, risingdotseq, rlarr, rlhar, rlm, rmoustache, rmoust, rnmid, roang, roarr, robrk, ropar, ropf, Ropf, roplus, rotimes, RoundImplies, rpar, rpargt, rppolint, rrarr, Rrightarrow, rsaquo, rscr, Rscr, rsh, Rsh, rsqb, rsquo, rsquor, rthree, rtimes, rtri, rtrie, rtrif, rtriltri, RuleDelayed, ruluhar, rx, Sacute, sacute, sbquo, scap, Scaron, scaron, Sc, sc, sccue, sce, scE, Scedil, scedil, Scirc, scirc, scnap, scnE, scnsim, scpolint, scsim, Scy, scy, sdotb, sdot, sdote, searhk, searr, seArr, searrow, sect, semi, seswar, setminus, setmn, sext, Sfr, sfr, sfrown, sharp, SHCHcy, shchcy, SHcy, shcy, ShortDownArrow, ShortLeftArrow, shortmid, shortparallel, ShortRightArrow, ShortUpArrow, shy, Sigma, sigma, sigmaf, sigmav, sim, simdot, sime, simeq, simg, simgE, siml, simlE, simne, simplus, simrarr, slarr, SmallCircle, smallsetminus, smashp, smeparsl, smid, smile, smt, smte, smtes, SOFTcy, softcy, solbar, solb, sol, Sopf, sopf, spades, spadesuit, spar, sqcap, sqcaps, sqcup, sqcups, Sqrt, sqsub, sqsube, sqsubset, sqsubseteq, sqsup, sqsupe, sqsupset, sqsupseteq, square, Square, SquareIntersection, SquareSubset, SquareSubsetEqual, SquareSuperset, SquareSupersetEqual, SquareUnion, squarf, squ, squf, srarr, Sscr, sscr, ssetmn, ssmile, sstarf, Star, star, starf, straightepsilon, straightphi, strns, sub, Sub, subdot, subE, sube, subedot, submult, subnE, subne, subplus, subrarr, subset, Subset, subseteq, subseteqq, SubsetEqual, subsetneq, subsetneqq, subsim, subsub, subsup, succapprox, succ, succcurlyeq, Succeeds, SucceedsEqual, SucceedsSlantEqual, SucceedsTilde, succeq, succnapprox, succneqq, succnsim, succsim, SuchThat, sum, Sum, sung, sup1, sup2, sup3, sup, Sup, supdot, supdsub, supE, supe, supedot, Superset, SupersetEqual, suphsol, suphsub, suplarr, supmult, supnE, supne, supplus, supset, Supset, supseteq, supseteqq, supsetneq, supsetneqq, supsim, supsub, supsup, swarhk, swarr, swArr, swarrow, swnwar, szlig, Tab, target, Tau, tau, tbrk, Tcaron, tcaron, Tcedil, tcedil, Tcy, tcy, tdot, telrec, Tfr, tfr, there4, therefore, Therefore, Theta, theta, thetasym, thetav, thickapprox, thicksim, ThickSpace, ThinSpace, thinsp, thkap, thksim, THORN, thorn, tilde, Tilde, TildeEqual, TildeFullEqual, TildeTilde, timesbar, timesb, times, timesd, tint, toea, topbot, topcir, top, Topf, topf, topfork, tosa, tprime, trade, TRADE, triangle, triangledown, triangleleft, trianglelefteq, triangleq, triangleright, trianglerighteq, tridot, trie, triminus, TripleDot, triplus, trisb, tritime, trpezium, Tscr, tscr, TScy, tscy, TSHcy, tshcy, Tstrok, tstrok, twixt, twoheadleftarrow, twoheadrightarrow, Uacute, uacute, uarr, Uarr, uArr, Uarrocir, Ubrcy, ubrcy, Ubreve, ubreve, Ucirc, ucirc, Ucy, ucy, udarr, Udblac, udblac, udhar, ufisht, Ufr, ufr, Ugrave, ugrave, uHar, uharl, uharr, uhblk, ulcorn, ulcorner, ulcrop, ultri, Umacr, umacr, uml, UnderBar, UnderBrace, UnderBracket, UnderParenthesis, Union, UnionPlus, Uogon, uogon, Uopf, uopf, UpArrowBar, uparrow, UpArrow, Uparrow, UpArrowDownArrow, updownarrow, UpDownArrow, Updownarrow, UpEquilibrium, upharpoonleft, upharpoonright, uplus, UpperLeftArrow, UpperRightArrow, upsi, Upsi, upsih, Upsilon, upsilon, UpTeeArrow, UpTee, upuparrows, urcorn, urcorner, urcrop, Uring, uring, urtri, Uscr, uscr, utdot, Utilde, utilde, utri, utrif, uuarr, Uuml, uuml, uwangle, vangrt, varepsilon, varkappa, varnothing, varphi, varpi, varpropto, varr, vArr, varrho, varsigma, varsubsetneq, varsubsetneqq, varsupsetneq, varsupsetneqq, vartheta, vartriangleleft, vartriangleright, vBar, Vbar, vBarv, Vcy, vcy, vdash, vDash, Vdash, VDash, Vdashl, veebar, vee, Vee, veeeq, vellip, verbar, Verbar, vert, Vert, VerticalBar, VerticalLine, VerticalSeparator, VerticalTilde, VeryThinSpace, Vfr, vfr, vltri, vnsub, vnsup, Vopf, vopf, vprop, vrtri, Vscr, vscr, vsubnE, vsubne, vsupnE, vsupne, Vvdash, vzigzag, Wcirc, wcirc, wedbar, wedge, Wedge, wedgeq, weierp, Wfr, wfr, Wopf, wopf, wp, wr, wreath, Wscr, wscr, xcap, xcirc, xcup, xdtri, Xfr, xfr, xharr, xhArr, Xi, xi, xlarr, xlArr, xmap, xnis, xodot, Xopf, xopf, xoplus, xotime, xrarr, xrArr, Xscr, xscr, xsqcup, xuplus, xutri, xvee, xwedge, Yacute, yacute, YAcy, yacy, Ycirc, ycirc, Ycy, ycy, yen, Yfr, yfr, YIcy, yicy, Yopf, yopf, Yscr, yscr, YUcy, yucy, yuml, Yuml, Zacute, zacute, Zcaron, zcaron, Zcy, zcy, Zdot, zdot, zeetrf, ZeroWidthSpace, Zeta, zeta, zfr, Zfr, ZHcy, zhcy, zigrarr, zopf, Zopf, Zscr, zscr, zwj, zwnj, default */
  6900. /***/ (function(module) {
  6901. module.exports = JSON.parse("{\"Aacute\":\"Á\",\"aacute\":\"á\",\"Abreve\":\"Ă\",\"abreve\":\"ă\",\"ac\":\"∾\",\"acd\":\"∿\",\"acE\":\"∾̳\",\"Acirc\":\"Â\",\"acirc\":\"â\",\"acute\":\"´\",\"Acy\":\"А\",\"acy\":\"а\",\"AElig\":\"Æ\",\"aelig\":\"æ\",\"af\":\"⁡\",\"Afr\":\"𝔄\",\"afr\":\"𝔞\",\"Agrave\":\"À\",\"agrave\":\"à\",\"alefsym\":\"ℵ\",\"aleph\":\"ℵ\",\"Alpha\":\"Α\",\"alpha\":\"α\",\"Amacr\":\"Ā\",\"amacr\":\"ā\",\"amalg\":\"⨿\",\"amp\":\"&\",\"AMP\":\"&\",\"andand\":\"⩕\",\"And\":\"⩓\",\"and\":\"∧\",\"andd\":\"⩜\",\"andslope\":\"⩘\",\"andv\":\"⩚\",\"ang\":\"∠\",\"ange\":\"⦤\",\"angle\":\"∠\",\"angmsdaa\":\"⦨\",\"angmsdab\":\"⦩\",\"angmsdac\":\"⦪\",\"angmsdad\":\"⦫\",\"angmsdae\":\"⦬\",\"angmsdaf\":\"⦭\",\"angmsdag\":\"⦮\",\"angmsdah\":\"⦯\",\"angmsd\":\"∡\",\"angrt\":\"∟\",\"angrtvb\":\"⊾\",\"angrtvbd\":\"⦝\",\"angsph\":\"∢\",\"angst\":\"Å\",\"angzarr\":\"⍼\",\"Aogon\":\"Ą\",\"aogon\":\"ą\",\"Aopf\":\"𝔸\",\"aopf\":\"𝕒\",\"apacir\":\"⩯\",\"ap\":\"≈\",\"apE\":\"⩰\",\"ape\":\"≊\",\"apid\":\"≋\",\"apos\":\"'\",\"ApplyFunction\":\"⁡\",\"approx\":\"≈\",\"approxeq\":\"≊\",\"Aring\":\"Å\",\"aring\":\"å\",\"Ascr\":\"𝒜\",\"ascr\":\"𝒶\",\"Assign\":\"≔\",\"ast\":\"*\",\"asymp\":\"≈\",\"asympeq\":\"≍\",\"Atilde\":\"Ã\",\"atilde\":\"ã\",\"Auml\":\"Ä\",\"auml\":\"ä\",\"awconint\":\"∳\",\"awint\":\"⨑\",\"backcong\":\"≌\",\"backepsilon\":\"϶\",\"backprime\":\"‵\",\"backsim\":\"∽\",\"backsimeq\":\"⋍\",\"Backslash\":\"∖\",\"Barv\":\"⫧\",\"barvee\":\"⊽\",\"barwed\":\"⌅\",\"Barwed\":\"⌆\",\"barwedge\":\"⌅\",\"bbrk\":\"⎵\",\"bbrktbrk\":\"⎶\",\"bcong\":\"≌\",\"Bcy\":\"Б\",\"bcy\":\"б\",\"bdquo\":\"„\",\"becaus\":\"∵\",\"because\":\"∵\",\"Because\":\"∵\",\"bemptyv\":\"⦰\",\"bepsi\":\"϶\",\"bernou\":\"ℬ\",\"Bernoullis\":\"ℬ\",\"Beta\":\"Β\",\"beta\":\"β\",\"beth\":\"ℶ\",\"between\":\"≬\",\"Bfr\":\"𝔅\",\"bfr\":\"𝔟\",\"bigcap\":\"⋂\",\"bigcirc\":\"◯\",\"bigcup\":\"⋃\",\"bigodot\":\"⨀\",\"bigoplus\":\"⨁\",\"bigotimes\":\"⨂\",\"bigsqcup\":\"⨆\",\"bigstar\":\"★\",\"bigtriangledown\":\"▽\",\"bigtriangleup\":\"△\",\"biguplus\":\"⨄\",\"bigvee\":\"⋁\",\"bigwedge\":\"⋀\",\"bkarow\":\"⤍\",\"blacklozenge\":\"⧫\",\"blacksquare\":\"▪\",\"blacktriangle\":\"▴\",\"blacktriangledown\":\"▾\",\"blacktriangleleft\":\"◂\",\"blacktriangleright\":\"▸\",\"blank\":\"␣\",\"blk12\":\"▒\",\"blk14\":\"░\",\"blk34\":\"▓\",\"block\":\"█\",\"bne\":\"=⃥\",\"bnequiv\":\"≡⃥\",\"bNot\":\"⫭\",\"bnot\":\"⌐\",\"Bopf\":\"𝔹\",\"bopf\":\"𝕓\",\"bot\":\"⊥\",\"bottom\":\"⊥\",\"bowtie\":\"⋈\",\"boxbox\":\"⧉\",\"boxdl\":\"┐\",\"boxdL\":\"╕\",\"boxDl\":\"╖\",\"boxDL\":\"╗\",\"boxdr\":\"┌\",\"boxdR\":\"╒\",\"boxDr\":\"╓\",\"boxDR\":\"╔\",\"boxh\":\"─\",\"boxH\":\"═\",\"boxhd\":\"┬\",\"boxHd\":\"╤\",\"boxhD\":\"╥\",\"boxHD\":\"╦\",\"boxhu\":\"┴\",\"boxHu\":\"╧\",\"boxhU\":\"╨\",\"boxHU\":\"╩\",\"boxminus\":\"⊟\",\"boxplus\":\"⊞\",\"boxtimes\":\"⊠\",\"boxul\":\"┘\",\"boxuL\":\"╛\",\"boxUl\":\"╜\",\"boxUL\":\"╝\",\"boxur\":\"└\",\"boxuR\":\"╘\",\"boxUr\":\"╙\",\"boxUR\":\"╚\",\"boxv\":\"│\",\"boxV\":\"║\",\"boxvh\":\"┼\",\"boxvH\":\"╪\",\"boxVh\":\"╫\",\"boxVH\":\"╬\",\"boxvl\":\"┤\",\"boxvL\":\"╡\",\"boxVl\":\"╢\",\"boxVL\":\"╣\",\"boxvr\":\"├\",\"boxvR\":\"╞\",\"boxVr\":\"╟\",\"boxVR\":\"╠\",\"bprime\":\"‵\",\"breve\":\"˘\",\"Breve\":\"˘\",\"brvbar\":\"¦\",\"bscr\":\"𝒷\",\"Bscr\":\"ℬ\",\"bsemi\":\"⁏\",\"bsim\":\"∽\",\"bsime\":\"⋍\",\"bsolb\":\"⧅\",\"bsol\":\"\\\\\",\"bsolhsub\":\"⟈\",\"bull\":\"•\",\"bullet\":\"•\",\"bump\":\"≎\",\"bumpE\":\"⪮\",\"bumpe\":\"≏\",\"Bumpeq\":\"≎\",\"bumpeq\":\"≏\",\"Cacute\":\"Ć\",\"cacute\":\"ć\",\"capand\":\"⩄\",\"capbrcup\":\"⩉\",\"capcap\":\"⩋\",\"cap\":\"∩\",\"Cap\":\"⋒\",\"capcup\":\"⩇\",\"capdot\":\"⩀\",\"CapitalDifferentialD\":\"ⅅ\",\"caps\":\"∩︀\",\"caret\":\"⁁\",\"caron\":\"ˇ\",\"Cayleys\":\"ℭ\",\"ccaps\":\"⩍\",\"Ccaron\":\"Č\",\"ccaron\":\"č\",\"Ccedil\":\"Ç\",\"ccedil\":\"ç\",\"Ccirc\":\"Ĉ\",\"ccirc\":\"ĉ\",\"Cconint\":\"∰\",\"ccups\":\"⩌\",\"ccupssm\":\"⩐\",\"Cdot\":\"Ċ\",\"cdot\":\"ċ\",\"cedil\":\"¸\",\"Cedilla\":\"¸\",\"cemptyv\":\"⦲\",\"cent\":\"¢\",\"centerdot\":\"·\",\"CenterDot\":\"·\",\"cfr\":\"𝔠\",\"Cfr\":\"ℭ\",\"CHcy\":\"Ч\",\"chcy\":\"ч\",\"check\":\"✓\",\"checkmark\":\"✓\",\"Chi\":\"Χ\",\"chi\":\"χ\",\"circ\":\"ˆ\",\"circeq\":\"≗\",\"circlearrowleft\":\"↺\",\"circlearrowright\":\"↻\",\"circledast\":\"⊛\",\"circledcirc\":\"⊚\",\"circleddash\":\"⊝\",\"CircleDot\":\"⊙\",\"circledR\":\"®\",\"circledS\":\"Ⓢ\",\"CircleMinus\":\"⊖\",\"CirclePlus\":\"⊕\",\"CircleTimes\":\"⊗\",\"cir\":\"○\",\"cirE\":\"⧃\",\"cire\":\"≗\",\"cirfnint\":\"⨐\",\"cirmid\":\"⫯\",\"cirscir\":\"⧂\",\"ClockwiseContourIntegral\":\"∲\",\"CloseCurlyDoubleQuote\":\"”\",\"CloseCurlyQuote\":\"’\",\"clubs\":\"♣\",\"clubsuit\":\"♣\",\"colon\":\":\",\"Colon\":\"∷\",\"Colone\":\"⩴\",\"colone\":\"≔\",\"coloneq\":\"≔\",\"comma\":\",\",\"commat\":\"@\",\"comp\":\"∁\",\"compfn\":\"∘\",\"complement\":\"∁\",\"complexes\":\"ℂ\",\"cong\":\"≅\",\"congdot\":\"⩭\",\"Congruent\":\"≡\",\"conint\":\"∮\",\"Conint\":\"∯\",\"ContourIntegral\":\"∮\",\"copf\":\"𝕔\",\"Copf\":\"ℂ\",\"coprod\":\"∐\",\"Coproduct\":\"∐\",\"copy\":\"©\",\"COPY\":\"©\",\"copysr\":\"℗\",\"CounterClockwiseContourIntegral\":\"∳\",\"crarr\":\"↵\",\"cross\":\"✗\",\"Cross\":\"⨯\",\"Cscr\":\"𝒞\",\"cscr\":\"𝒸\",\"csub\":\"⫏\",\"csube\":\"⫑\",\"csup\":\"⫐\",\"csupe\":\"⫒\",\"ctdot\":\"⋯\",\"cudarrl\":\"⤸\",\"cudarrr\":\"⤵\",\"cuepr\":\"⋞\",\"cuesc\":\"⋟\",\"cularr\":\"↶\",\"cularrp\":\"⤽\",\"cupbrcap\":\"⩈\",\"cupcap\":\"⩆\",\"CupCap\":\"≍\",\"cup\":\"∪\",\"Cup\":\"⋓\",\"cupcup\":\"⩊\",\"cupdot\":\"⊍\",\"cupor\":\"⩅\",\"cups\":\"∪︀\",\"curarr\":\"↷\",\"curarrm\":\"⤼\",\"curlyeqprec\":\"⋞\",\"curlyeqsucc\":\"⋟\",\"curlyvee\":\"⋎\",\"curlywedge\":\"⋏\",\"curren\":\"¤\",\"curvearrowleft\":\"↶\",\"curvearrowright\":\"↷\",\"cuvee\":\"⋎\",\"cuwed\":\"⋏\",\"cwconint\":\"∲\",\"cwint\":\"∱\",\"cylcty\":\"⌭\",\"dagger\":\"†\",\"Dagger\":\"‡\",\"daleth\":\"ℸ\",\"darr\":\"↓\",\"Darr\":\"↡\",\"dArr\":\"⇓\",\"dash\":\"‐\",\"Dashv\":\"⫤\",\"dashv\":\"⊣\",\"dbkarow\":\"⤏\",\"dblac\":\"˝\",\"Dcaron\":\"Ď\",\"dcaron\":\"ď\",\"Dcy\":\"Д\",\"dcy\":\"д\",\"ddagger\":\"‡\",\"ddarr\":\"⇊\",\"DD\":\"ⅅ\",\"dd\":\"ⅆ\",\"DDotrahd\":\"⤑\",\"ddotseq\":\"⩷\",\"deg\":\"°\",\"Del\":\"∇\",\"Delta\":\"Δ\",\"delta\":\"δ\",\"demptyv\":\"⦱\",\"dfisht\":\"⥿\",\"Dfr\":\"𝔇\",\"dfr\":\"𝔡\",\"dHar\":\"⥥\",\"dharl\":\"⇃\",\"dharr\":\"⇂\",\"DiacriticalAcute\":\"´\",\"DiacriticalDot\":\"˙\",\"DiacriticalDoubleAcute\":\"˝\",\"DiacriticalGrave\":\"`\",\"DiacriticalTilde\":\"˜\",\"diam\":\"⋄\",\"diamond\":\"⋄\",\"Diamond\":\"⋄\",\"diamondsuit\":\"♦\",\"diams\":\"♦\",\"die\":\"¨\",\"DifferentialD\":\"ⅆ\",\"digamma\":\"ϝ\",\"disin\":\"⋲\",\"div\":\"÷\",\"divide\":\"÷\",\"divideontimes\":\"⋇\",\"divonx\":\"⋇\",\"DJcy\":\"Ђ\",\"djcy\":\"ђ\",\"dlcorn\":\"⌞\",\"dlcrop\":\"⌍\",\"dollar\":\"$\",\"Dopf\":\"𝔻\",\"dopf\":\"𝕕\",\"Dot\":\"¨\",\"dot\":\"˙\",\"DotDot\":\"⃜\",\"doteq\":\"≐\",\"doteqdot\":\"≑\",\"DotEqual\":\"≐\",\"dotminus\":\"∸\",\"dotplus\":\"∔\",\"dotsquare\":\"⊡\",\"doublebarwedge\":\"⌆\",\"DoubleContourIntegral\":\"∯\",\"DoubleDot\":\"¨\",\"DoubleDownArrow\":\"⇓\",\"DoubleLeftArrow\":\"⇐\",\"DoubleLeftRightArrow\":\"⇔\",\"DoubleLeftTee\":\"⫤\",\"DoubleLongLeftArrow\":\"⟸\",\"DoubleLongLeftRightArrow\":\"⟺\",\"DoubleLongRightArrow\":\"⟹\",\"DoubleRightArrow\":\"⇒\",\"DoubleRightTee\":\"⊨\",\"DoubleUpArrow\":\"⇑\",\"DoubleUpDownArrow\":\"⇕\",\"DoubleVerticalBar\":\"∥\",\"DownArrowBar\":\"⤓\",\"downarrow\":\"↓\",\"DownArrow\":\"↓\",\"Downarrow\":\"⇓\",\"DownArrowUpArrow\":\"⇵\",\"DownBreve\":\"̑\",\"downdownarrows\":\"⇊\",\"downharpoonleft\":\"⇃\",\"downharpoonright\":\"⇂\",\"DownLeftRightVector\":\"⥐\",\"DownLeftTeeVector\":\"⥞\",\"DownLeftVectorBar\":\"⥖\",\"DownLeftVector\":\"↽\",\"DownRightTeeVector\":\"⥟\",\"DownRightVectorBar\":\"⥗\",\"DownRightVector\":\"⇁\",\"DownTeeArrow\":\"↧\",\"DownTee\":\"⊤\",\"drbkarow\":\"⤐\",\"drcorn\":\"⌟\",\"drcrop\":\"⌌\",\"Dscr\":\"𝒟\",\"dscr\":\"𝒹\",\"DScy\":\"Ѕ\",\"dscy\":\"ѕ\",\"dsol\":\"⧶\",\"Dstrok\":\"Đ\",\"dstrok\":\"đ\",\"dtdot\":\"⋱\",\"dtri\":\"▿\",\"dtrif\":\"▾\",\"duarr\":\"⇵\",\"duhar\":\"⥯\",\"dwangle\":\"⦦\",\"DZcy\":\"Џ\",\"dzcy\":\"џ\",\"dzigrarr\":\"⟿\",\"Eacute\":\"É\",\"eacute\":\"é\",\"easter\":\"⩮\",\"Ecaron\":\"Ě\",\"ecaron\":\"ě\",\"Ecirc\":\"Ê\",\"ecirc\":\"ê\",\"ecir\":\"≖\",\"ecolon\":\"≕\",\"Ecy\":\"Э\",\"ecy\":\"э\",\"eDDot\":\"⩷\",\"Edot\":\"Ė\",\"edot\":\"ė\",\"eDot\":\"≑\",\"ee\":\"ⅇ\",\"efDot\":\"≒\",\"Efr\":\"𝔈\",\"efr\":\"𝔢\",\"eg\":\"⪚\",\"Egrave\":\"È\",\"egrave\":\"è\",\"egs\":\"⪖\",\"egsdot\":\"⪘\",\"el\":\"⪙\",\"Element\":\"∈\",\"elinters\":\"⏧\",\"ell\":\"ℓ\",\"els\":\"⪕\",\"elsdot\":\"⪗\",\"Emacr\":\"Ē\",\"emacr\":\"ē\",\"empty\":\"∅\",\"emptyset\":\"∅\",\"EmptySmallSquare\":\"◻\",\"emptyv\":\"∅\",\"EmptyVerySmallSquare\":\"▫\",\"emsp13\":\" \",\"emsp14\":\" \",\"emsp\":\" \",\"ENG\":\"Ŋ\",\"eng\":\"ŋ\",\"ensp\":\" \",\"Eogon\":\"Ę\",\"eogon\":\"ę\",\"Eopf\":\"𝔼\",\"eopf\":\"𝕖\",\"epar\":\"⋕\",\"eparsl\":\"⧣\",\"eplus\":\"⩱\",\"epsi\":\"ε\",\"Epsilon\":\"Ε\",\"epsilon\":\"ε\",\"epsiv\":\"ϵ\",\"eqcirc\":\"≖\",\"eqcolon\":\"≕\",\"eqsim\":\"≂\",\"eqslantgtr\":\"⪖\",\"eqslantless\":\"⪕\",\"Equal\":\"⩵\",\"equals\":\"=\",\"EqualTilde\":\"≂\",\"equest\":\"≟\",\"Equilibrium\":\"⇌\",\"equiv\":\"≡\",\"equivDD\":\"⩸\",\"eqvparsl\":\"⧥\",\"erarr\":\"⥱\",\"erDot\":\"≓\",\"escr\":\"ℯ\",\"Escr\":\"ℰ\",\"esdot\":\"≐\",\"Esim\":\"⩳\",\"esim\":\"≂\",\"Eta\":\"Η\",\"eta\":\"η\",\"ETH\":\"Ð\",\"eth\":\"ð\",\"Euml\":\"Ë\",\"euml\":\"ë\",\"euro\":\"€\",\"excl\":\"!\",\"exist\":\"∃\",\"Exists\":\"∃\",\"expectation\":\"ℰ\",\"exponentiale\":\"ⅇ\",\"ExponentialE\":\"ⅇ\",\"fallingdotseq\":\"≒\",\"Fcy\":\"Ф\",\"fcy\":\"ф\",\"female\":\"♀\",\"ffilig\":\"ffi\",\"fflig\":\"ff\",\"ffllig\":\"ffl\",\"Ffr\":\"𝔉\",\"ffr\":\"𝔣\",\"filig\":\"fi\",\"FilledSmallSquare\":\"◼\",\"FilledVerySmallSquare\":\"▪\",\"fjlig\":\"fj\",\"flat\":\"♭\",\"fllig\":\"fl\",\"fltns\":\"▱\",\"fnof\":\"ƒ\",\"Fopf\":\"𝔽\",\"fopf\":\"𝕗\",\"forall\":\"∀\",\"ForAll\":\"∀\",\"fork\":\"⋔\",\"forkv\":\"⫙\",\"Fouriertrf\":\"ℱ\",\"fpartint\":\"⨍\",\"frac12\":\"½\",\"frac13\":\"⅓\",\"frac14\":\"¼\",\"frac15\":\"⅕\",\"frac16\":\"⅙\",\"frac18\":\"⅛\",\"frac23\":\"⅔\",\"frac25\":\"⅖\",\"frac34\":\"¾\",\"frac35\":\"⅗\",\"frac38\":\"⅜\",\"frac45\":\"⅘\",\"frac56\":\"⅚\",\"frac58\":\"⅝\",\"frac78\":\"⅞\",\"frasl\":\"⁄\",\"frown\":\"⌢\",\"fscr\":\"𝒻\",\"Fscr\":\"ℱ\",\"gacute\":\"ǵ\",\"Gamma\":\"Γ\",\"gamma\":\"γ\",\"Gammad\":\"Ϝ\",\"gammad\":\"ϝ\",\"gap\":\"⪆\",\"Gbreve\":\"Ğ\",\"gbreve\":\"ğ\",\"Gcedil\":\"Ģ\",\"Gcirc\":\"Ĝ\",\"gcirc\":\"ĝ\",\"Gcy\":\"Г\",\"gcy\":\"г\",\"Gdot\":\"Ġ\",\"gdot\":\"ġ\",\"ge\":\"≥\",\"gE\":\"≧\",\"gEl\":\"⪌\",\"gel\":\"⋛\",\"geq\":\"≥\",\"geqq\":\"≧\",\"geqslant\":\"⩾\",\"gescc\":\"⪩\",\"ges\":\"⩾\",\"gesdot\":\"⪀\",\"gesdoto\":\"⪂\",\"gesdotol\":\"⪄\",\"gesl\":\"⋛︀\",\"gesles\":\"⪔\",\"Gfr\":\"𝔊\",\"gfr\":\"𝔤\",\"gg\":\"≫\",\"Gg\":\"⋙\",\"ggg\":\"⋙\",\"gimel\":\"ℷ\",\"GJcy\":\"Ѓ\",\"gjcy\":\"ѓ\",\"gla\":\"⪥\",\"gl\":\"≷\",\"glE\":\"⪒\",\"glj\":\"⪤\",\"gnap\":\"⪊\",\"gnapprox\":\"⪊\",\"gne\":\"⪈\",\"gnE\":\"≩\",\"gneq\":\"⪈\",\"gneqq\":\"≩\",\"gnsim\":\"⋧\",\"Gopf\":\"𝔾\",\"gopf\":\"𝕘\",\"grave\":\"`\",\"GreaterEqual\":\"≥\",\"GreaterEqualLess\":\"⋛\",\"GreaterFullEqual\":\"≧\",\"GreaterGreater\":\"⪢\",\"GreaterLess\":\"≷\",\"GreaterSlantEqual\":\"⩾\",\"GreaterTilde\":\"≳\",\"Gscr\":\"𝒢\",\"gscr\":\"ℊ\",\"gsim\":\"≳\",\"gsime\":\"⪎\",\"gsiml\":\"⪐\",\"gtcc\":\"⪧\",\"gtcir\":\"⩺\",\"gt\":\">\",\"GT\":\">\",\"Gt\":\"≫\",\"gtdot\":\"⋗\",\"gtlPar\":\"⦕\",\"gtquest\":\"⩼\",\"gtrapprox\":\"⪆\",\"gtrarr\":\"⥸\",\"gtrdot\":\"⋗\",\"gtreqless\":\"⋛\",\"gtreqqless\":\"⪌\",\"gtrless\":\"≷\",\"gtrsim\":\"≳\",\"gvertneqq\":\"≩︀\",\"gvnE\":\"≩︀\",\"Hacek\":\"ˇ\",\"hairsp\":\" \",\"half\":\"½\",\"hamilt\":\"ℋ\",\"HARDcy\":\"Ъ\",\"hardcy\":\"ъ\",\"harrcir\":\"⥈\",\"harr\":\"↔\",\"hArr\":\"⇔\",\"harrw\":\"↭\",\"Hat\":\"^\",\"hbar\":\"ℏ\",\"Hcirc\":\"Ĥ\",\"hcirc\":\"ĥ\",\"hearts\":\"♥\",\"heartsuit\":\"♥\",\"hellip\":\"…\",\"hercon\":\"⊹\",\"hfr\":\"𝔥\",\"Hfr\":\"ℌ\",\"HilbertSpace\":\"ℋ\",\"hksearow\":\"⤥\",\"hkswarow\":\"⤦\",\"hoarr\":\"⇿\",\"homtht\":\"∻\",\"hookleftarrow\":\"↩\",\"hookrightarrow\":\"↪\",\"hopf\":\"𝕙\",\"Hopf\":\"ℍ\",\"horbar\":\"―\",\"HorizontalLine\":\"─\",\"hscr\":\"𝒽\",\"Hscr\":\"ℋ\",\"hslash\":\"ℏ\",\"Hstrok\":\"Ħ\",\"hstrok\":\"ħ\",\"HumpDownHump\":\"≎\",\"HumpEqual\":\"≏\",\"hybull\":\"⁃\",\"hyphen\":\"‐\",\"Iacute\":\"Í\",\"iacute\":\"í\",\"ic\":\"⁣\",\"Icirc\":\"Î\",\"icirc\":\"î\",\"Icy\":\"И\",\"icy\":\"и\",\"Idot\":\"İ\",\"IEcy\":\"Е\",\"iecy\":\"е\",\"iexcl\":\"¡\",\"iff\":\"⇔\",\"ifr\":\"𝔦\",\"Ifr\":\"ℑ\",\"Igrave\":\"Ì\",\"igrave\":\"ì\",\"ii\":\"ⅈ\",\"iiiint\":\"⨌\",\"iiint\":\"∭\",\"iinfin\":\"⧜\",\"iiota\":\"℩\",\"IJlig\":\"IJ\",\"ijlig\":\"ij\",\"Imacr\":\"Ī\",\"imacr\":\"ī\",\"image\":\"ℑ\",\"ImaginaryI\":\"ⅈ\",\"imagline\":\"ℐ\",\"imagpart\":\"ℑ\",\"imath\":\"ı\",\"Im\":\"ℑ\",\"imof\":\"⊷\",\"imped\":\"Ƶ\",\"Implies\":\"⇒\",\"incare\":\"℅\",\"in\":\"∈\",\"infin\":\"∞\",\"infintie\":\"⧝\",\"inodot\":\"ı\",\"intcal\":\"⊺\",\"int\":\"∫\",\"Int\":\"∬\",\"integers\":\"ℤ\",\"Integral\":\"∫\",\"intercal\":\"⊺\",\"Intersection\":\"⋂\",\"intlarhk\":\"⨗\",\"intprod\":\"⨼\",\"InvisibleComma\":\"⁣\",\"InvisibleTimes\":\"⁢\",\"IOcy\":\"Ё\",\"iocy\":\"ё\",\"Iogon\":\"Į\",\"iogon\":\"į\",\"Iopf\":\"𝕀\",\"iopf\":\"𝕚\",\"Iota\":\"Ι\",\"iota\":\"ι\",\"iprod\":\"⨼\",\"iquest\":\"¿\",\"iscr\":\"𝒾\",\"Iscr\":\"ℐ\",\"isin\":\"∈\",\"isindot\":\"⋵\",\"isinE\":\"⋹\",\"isins\":\"⋴\",\"isinsv\":\"⋳\",\"isinv\":\"∈\",\"it\":\"⁢\",\"Itilde\":\"Ĩ\",\"itilde\":\"ĩ\",\"Iukcy\":\"І\",\"iukcy\":\"і\",\"Iuml\":\"Ï\",\"iuml\":\"ï\",\"Jcirc\":\"Ĵ\",\"jcirc\":\"ĵ\",\"Jcy\":\"Й\",\"jcy\":\"й\",\"Jfr\":\"𝔍\",\"jfr\":\"𝔧\",\"jmath\":\"ȷ\",\"Jopf\":\"𝕁\",\"jopf\":\"𝕛\",\"Jscr\":\"𝒥\",\"jscr\":\"𝒿\",\"Jsercy\":\"Ј\",\"jsercy\":\"ј\",\"Jukcy\":\"Є\",\"jukcy\":\"є\",\"Kappa\":\"Κ\",\"kappa\":\"κ\",\"kappav\":\"ϰ\",\"Kcedil\":\"Ķ\",\"kcedil\":\"ķ\",\"Kcy\":\"К\",\"kcy\":\"к\",\"Kfr\":\"𝔎\",\"kfr\":\"𝔨\",\"kgreen\":\"ĸ\",\"KHcy\":\"Х\",\"khcy\":\"х\",\"KJcy\":\"Ќ\",\"kjcy\":\"ќ\",\"Kopf\":\"𝕂\",\"kopf\":\"𝕜\",\"Kscr\":\"𝒦\",\"kscr\":\"𝓀\",\"lAarr\":\"⇚\",\"Lacute\":\"Ĺ\",\"lacute\":\"ĺ\",\"laemptyv\":\"⦴\",\"lagran\":\"ℒ\",\"Lambda\":\"Λ\",\"lambda\":\"λ\",\"lang\":\"⟨\",\"Lang\":\"⟪\",\"langd\":\"⦑\",\"langle\":\"⟨\",\"lap\":\"⪅\",\"Laplacetrf\":\"ℒ\",\"laquo\":\"«\",\"larrb\":\"⇤\",\"larrbfs\":\"⤟\",\"larr\":\"←\",\"Larr\":\"↞\",\"lArr\":\"⇐\",\"larrfs\":\"⤝\",\"larrhk\":\"↩\",\"larrlp\":\"↫\",\"larrpl\":\"⤹\",\"larrsim\":\"⥳\",\"larrtl\":\"↢\",\"latail\":\"⤙\",\"lAtail\":\"⤛\",\"lat\":\"⪫\",\"late\":\"⪭\",\"lates\":\"⪭︀\",\"lbarr\":\"⤌\",\"lBarr\":\"⤎\",\"lbbrk\":\"❲\",\"lbrace\":\"{\",\"lbrack\":\"[\",\"lbrke\":\"⦋\",\"lbrksld\":\"⦏\",\"lbrkslu\":\"⦍\",\"Lcaron\":\"Ľ\",\"lcaron\":\"ľ\",\"Lcedil\":\"Ļ\",\"lcedil\":\"ļ\",\"lceil\":\"⌈\",\"lcub\":\"{\",\"Lcy\":\"Л\",\"lcy\":\"л\",\"ldca\":\"⤶\",\"ldquo\":\"“\",\"ldquor\":\"„\",\"ldrdhar\":\"⥧\",\"ldrushar\":\"⥋\",\"ldsh\":\"↲\",\"le\":\"≤\",\"lE\":\"≦\",\"LeftAngleBracket\":\"⟨\",\"LeftArrowBar\":\"⇤\",\"leftarrow\":\"←\",\"LeftArrow\":\"←\",\"Leftarrow\":\"⇐\",\"LeftArrowRightArrow\":\"⇆\",\"leftarrowtail\":\"↢\",\"LeftCeiling\":\"⌈\",\"LeftDoubleBracket\":\"⟦\",\"LeftDownTeeVector\":\"⥡\",\"LeftDownVectorBar\":\"⥙\",\"LeftDownVector\":\"⇃\",\"LeftFloor\":\"⌊\",\"leftharpoondown\":\"↽\",\"leftharpoonup\":\"↼\",\"leftleftarrows\":\"⇇\",\"leftrightarrow\":\"↔\",\"LeftRightArrow\":\"↔\",\"Leftrightarrow\":\"⇔\",\"leftrightarrows\":\"⇆\",\"leftrightharpoons\":\"⇋\",\"leftrightsquigarrow\":\"↭\",\"LeftRightVector\":\"⥎\",\"LeftTeeArrow\":\"↤\",\"LeftTee\":\"⊣\",\"LeftTeeVector\":\"⥚\",\"leftthreetimes\":\"⋋\",\"LeftTriangleBar\":\"⧏\",\"LeftTriangle\":\"⊲\",\"LeftTriangleEqual\":\"⊴\",\"LeftUpDownVector\":\"⥑\",\"LeftUpTeeVector\":\"⥠\",\"LeftUpVectorBar\":\"⥘\",\"LeftUpVector\":\"↿\",\"LeftVectorBar\":\"⥒\",\"LeftVector\":\"↼\",\"lEg\":\"⪋\",\"leg\":\"⋚\",\"leq\":\"≤\",\"leqq\":\"≦\",\"leqslant\":\"⩽\",\"lescc\":\"⪨\",\"les\":\"⩽\",\"lesdot\":\"⩿\",\"lesdoto\":\"⪁\",\"lesdotor\":\"⪃\",\"lesg\":\"⋚︀\",\"lesges\":\"⪓\",\"lessapprox\":\"⪅\",\"lessdot\":\"⋖\",\"lesseqgtr\":\"⋚\",\"lesseqqgtr\":\"⪋\",\"LessEqualGreater\":\"⋚\",\"LessFullEqual\":\"≦\",\"LessGreater\":\"≶\",\"lessgtr\":\"≶\",\"LessLess\":\"⪡\",\"lesssim\":\"≲\",\"LessSlantEqual\":\"⩽\",\"LessTilde\":\"≲\",\"lfisht\":\"⥼\",\"lfloor\":\"⌊\",\"Lfr\":\"𝔏\",\"lfr\":\"𝔩\",\"lg\":\"≶\",\"lgE\":\"⪑\",\"lHar\":\"⥢\",\"lhard\":\"↽\",\"lharu\":\"↼\",\"lharul\":\"⥪\",\"lhblk\":\"▄\",\"LJcy\":\"Љ\",\"ljcy\":\"љ\",\"llarr\":\"⇇\",\"ll\":\"≪\",\"Ll\":\"⋘\",\"llcorner\":\"⌞\",\"Lleftarrow\":\"⇚\",\"llhard\":\"⥫\",\"lltri\":\"◺\",\"Lmidot\":\"Ŀ\",\"lmidot\":\"ŀ\",\"lmoustache\":\"⎰\",\"lmoust\":\"⎰\",\"lnap\":\"⪉\",\"lnapprox\":\"⪉\",\"lne\":\"⪇\",\"lnE\":\"≨\",\"lneq\":\"⪇\",\"lneqq\":\"≨\",\"lnsim\":\"⋦\",\"loang\":\"⟬\",\"loarr\":\"⇽\",\"lobrk\":\"⟦\",\"longleftarrow\":\"⟵\",\"LongLeftArrow\":\"⟵\",\"Longleftarrow\":\"⟸\",\"longleftrightarrow\":\"⟷\",\"LongLeftRightArrow\":\"⟷\",\"Longleftrightarrow\":\"⟺\",\"longmapsto\":\"⟼\",\"longrightarrow\":\"⟶\",\"LongRightArrow\":\"⟶\",\"Longrightarrow\":\"⟹\",\"looparrowleft\":\"↫\",\"looparrowright\":\"↬\",\"lopar\":\"⦅\",\"Lopf\":\"𝕃\",\"lopf\":\"𝕝\",\"loplus\":\"⨭\",\"lotimes\":\"⨴\",\"lowast\":\"∗\",\"lowbar\":\"_\",\"LowerLeftArrow\":\"↙\",\"LowerRightArrow\":\"↘\",\"loz\":\"◊\",\"lozenge\":\"◊\",\"lozf\":\"⧫\",\"lpar\":\"(\",\"lparlt\":\"⦓\",\"lrarr\":\"⇆\",\"lrcorner\":\"⌟\",\"lrhar\":\"⇋\",\"lrhard\":\"⥭\",\"lrm\":\"‎\",\"lrtri\":\"⊿\",\"lsaquo\":\"‹\",\"lscr\":\"𝓁\",\"Lscr\":\"ℒ\",\"lsh\":\"↰\",\"Lsh\":\"↰\",\"lsim\":\"≲\",\"lsime\":\"⪍\",\"lsimg\":\"⪏\",\"lsqb\":\"[\",\"lsquo\":\"‘\",\"lsquor\":\"‚\",\"Lstrok\":\"Ł\",\"lstrok\":\"ł\",\"ltcc\":\"⪦\",\"ltcir\":\"⩹\",\"lt\":\"<\",\"LT\":\"<\",\"Lt\":\"≪\",\"ltdot\":\"⋖\",\"lthree\":\"⋋\",\"ltimes\":\"⋉\",\"ltlarr\":\"⥶\",\"ltquest\":\"⩻\",\"ltri\":\"◃\",\"ltrie\":\"⊴\",\"ltrif\":\"◂\",\"ltrPar\":\"⦖\",\"lurdshar\":\"⥊\",\"luruhar\":\"⥦\",\"lvertneqq\":\"≨︀\",\"lvnE\":\"≨︀\",\"macr\":\"¯\",\"male\":\"♂\",\"malt\":\"✠\",\"maltese\":\"✠\",\"Map\":\"⤅\",\"map\":\"↦\",\"mapsto\":\"↦\",\"mapstodown\":\"↧\",\"mapstoleft\":\"↤\",\"mapstoup\":\"↥\",\"marker\":\"▮\",\"mcomma\":\"⨩\",\"Mcy\":\"М\",\"mcy\":\"м\",\"mdash\":\"—\",\"mDDot\":\"∺\",\"measuredangle\":\"∡\",\"MediumSpace\":\" \",\"Mellintrf\":\"ℳ\",\"Mfr\":\"𝔐\",\"mfr\":\"𝔪\",\"mho\":\"℧\",\"micro\":\"µ\",\"midast\":\"*\",\"midcir\":\"⫰\",\"mid\":\"∣\",\"middot\":\"·\",\"minusb\":\"⊟\",\"minus\":\"−\",\"minusd\":\"∸\",\"minusdu\":\"⨪\",\"MinusPlus\":\"∓\",\"mlcp\":\"⫛\",\"mldr\":\"…\",\"mnplus\":\"∓\",\"models\":\"⊧\",\"Mopf\":\"𝕄\",\"mopf\":\"𝕞\",\"mp\":\"∓\",\"mscr\":\"𝓂\",\"Mscr\":\"ℳ\",\"mstpos\":\"∾\",\"Mu\":\"Μ\",\"mu\":\"μ\",\"multimap\":\"⊸\",\"mumap\":\"⊸\",\"nabla\":\"∇\",\"Nacute\":\"Ń\",\"nacute\":\"ń\",\"nang\":\"∠⃒\",\"nap\":\"≉\",\"napE\":\"⩰̸\",\"napid\":\"≋̸\",\"napos\":\"ʼn\",\"napprox\":\"≉\",\"natural\":\"♮\",\"naturals\":\"ℕ\",\"natur\":\"♮\",\"nbsp\":\" \",\"nbump\":\"≎̸\",\"nbumpe\":\"≏̸\",\"ncap\":\"⩃\",\"Ncaron\":\"Ň\",\"ncaron\":\"ň\",\"Ncedil\":\"Ņ\",\"ncedil\":\"ņ\",\"ncong\":\"≇\",\"ncongdot\":\"⩭̸\",\"ncup\":\"⩂\",\"Ncy\":\"Н\",\"ncy\":\"н\",\"ndash\":\"–\",\"nearhk\":\"⤤\",\"nearr\":\"↗\",\"neArr\":\"⇗\",\"nearrow\":\"↗\",\"ne\":\"≠\",\"nedot\":\"≐̸\",\"NegativeMediumSpace\":\"​\",\"NegativeThickSpace\":\"​\",\"NegativeThinSpace\":\"​\",\"NegativeVeryThinSpace\":\"​\",\"nequiv\":\"≢\",\"nesear\":\"⤨\",\"nesim\":\"≂̸\",\"NestedGreaterGreater\":\"≫\",\"NestedLessLess\":\"≪\",\"NewLine\":\"\\n\",\"nexist\":\"∄\",\"nexists\":\"∄\",\"Nfr\":\"𝔑\",\"nfr\":\"𝔫\",\"ngE\":\"≧̸\",\"nge\":\"≱\",\"ngeq\":\"≱\",\"ngeqq\":\"≧̸\",\"ngeqslant\":\"⩾̸\",\"nges\":\"⩾̸\",\"nGg\":\"⋙̸\",\"ngsim\":\"≵\",\"nGt\":\"≫⃒\",\"ngt\":\"≯\",\"ngtr\":\"≯\",\"nGtv\":\"≫̸\",\"nharr\":\"↮\",\"nhArr\":\"⇎\",\"nhpar\":\"⫲\",\"ni\":\"∋\",\"nis\":\"⋼\",\"nisd\":\"⋺\",\"niv\":\"∋\",\"NJcy\":\"Њ\",\"njcy\":\"њ\",\"nlarr\":\"↚\",\"nlArr\":\"⇍\",\"nldr\":\"‥\",\"nlE\":\"≦̸\",\"nle\":\"≰\",\"nleftarrow\":\"↚\",\"nLeftarrow\":\"⇍\",\"nleftrightarrow\":\"↮\",\"nLeftrightarrow\":\"⇎\",\"nleq\":\"≰\",\"nleqq\":\"≦̸\",\"nleqslant\":\"⩽̸\",\"nles\":\"⩽̸\",\"nless\":\"≮\",\"nLl\":\"⋘̸\",\"nlsim\":\"≴\",\"nLt\":\"≪⃒\",\"nlt\":\"≮\",\"nltri\":\"⋪\",\"nltrie\":\"⋬\",\"nLtv\":\"≪̸\",\"nmid\":\"∤\",\"NoBreak\":\"⁠\",\"NonBreakingSpace\":\" \",\"nopf\":\"𝕟\",\"Nopf\":\"ℕ\",\"Not\":\"⫬\",\"not\":\"¬\",\"NotCongruent\":\"≢\",\"NotCupCap\":\"≭\",\"NotDoubleVerticalBar\":\"∦\",\"NotElement\":\"∉\",\"NotEqual\":\"≠\",\"NotEqualTilde\":\"≂̸\",\"NotExists\":\"∄\",\"NotGreater\":\"≯\",\"NotGreaterEqual\":\"≱\",\"NotGreaterFullEqual\":\"≧̸\",\"NotGreaterGreater\":\"≫̸\",\"NotGreaterLess\":\"≹\",\"NotGreaterSlantEqual\":\"⩾̸\",\"NotGreaterTilde\":\"≵\",\"NotHumpDownHump\":\"≎̸\",\"NotHumpEqual\":\"≏̸\",\"notin\":\"∉\",\"notindot\":\"⋵̸\",\"notinE\":\"⋹̸\",\"notinva\":\"∉\",\"notinvb\":\"⋷\",\"notinvc\":\"⋶\",\"NotLeftTriangleBar\":\"⧏̸\",\"NotLeftTriangle\":\"⋪\",\"NotLeftTriangleEqual\":\"⋬\",\"NotLess\":\"≮\",\"NotLessEqual\":\"≰\",\"NotLessGreater\":\"≸\",\"NotLessLess\":\"≪̸\",\"NotLessSlantEqual\":\"⩽̸\",\"NotLessTilde\":\"≴\",\"NotNestedGreaterGreater\":\"⪢̸\",\"NotNestedLessLess\":\"⪡̸\",\"notni\":\"∌\",\"notniva\":\"∌\",\"notnivb\":\"⋾\",\"notnivc\":\"⋽\",\"NotPrecedes\":\"⊀\",\"NotPrecedesEqual\":\"⪯̸\",\"NotPrecedesSlantEqual\":\"⋠\",\"NotReverseElement\":\"∌\",\"NotRightTriangleBar\":\"⧐̸\",\"NotRightTriangle\":\"⋫\",\"NotRightTriangleEqual\":\"⋭\",\"NotSquareSubset\":\"⊏̸\",\"NotSquareSubsetEqual\":\"⋢\",\"NotSquareSuperset\":\"⊐̸\",\"NotSquareSupersetEqual\":\"⋣\",\"NotSubset\":\"⊂⃒\",\"NotSubsetEqual\":\"⊈\",\"NotSucceeds\":\"⊁\",\"NotSucceedsEqual\":\"⪰̸\",\"NotSucceedsSlantEqual\":\"⋡\",\"NotSucceedsTilde\":\"≿̸\",\"NotSuperset\":\"⊃⃒\",\"NotSupersetEqual\":\"⊉\",\"NotTilde\":\"≁\",\"NotTildeEqual\":\"≄\",\"NotTildeFullEqual\":\"≇\",\"NotTildeTilde\":\"≉\",\"NotVerticalBar\":\"∤\",\"nparallel\":\"∦\",\"npar\":\"∦\",\"nparsl\":\"⫽⃥\",\"npart\":\"∂̸\",\"npolint\":\"⨔\",\"npr\":\"⊀\",\"nprcue\":\"⋠\",\"nprec\":\"⊀\",\"npreceq\":\"⪯̸\",\"npre\":\"⪯̸\",\"nrarrc\":\"⤳̸\",\"nrarr\":\"↛\",\"nrArr\":\"⇏\",\"nrarrw\":\"↝̸\",\"nrightarrow\":\"↛\",\"nRightarrow\":\"⇏\",\"nrtri\":\"⋫\",\"nrtrie\":\"⋭\",\"nsc\":\"⊁\",\"nsccue\":\"⋡\",\"nsce\":\"⪰̸\",\"Nscr\":\"𝒩\",\"nscr\":\"𝓃\",\"nshortmid\":\"∤\",\"nshortparallel\":\"∦\",\"nsim\":\"≁\",\"nsime\":\"≄\",\"nsimeq\":\"≄\",\"nsmid\":\"∤\",\"nspar\":\"∦\",\"nsqsube\":\"⋢\",\"nsqsupe\":\"⋣\",\"nsub\":\"⊄\",\"nsubE\":\"⫅̸\",\"nsube\":\"⊈\",\"nsubset\":\"⊂⃒\",\"nsubseteq\":\"⊈\",\"nsubseteqq\":\"⫅̸\",\"nsucc\":\"⊁\",\"nsucceq\":\"⪰̸\",\"nsup\":\"⊅\",\"nsupE\":\"⫆̸\",\"nsupe\":\"⊉\",\"nsupset\":\"⊃⃒\",\"nsupseteq\":\"⊉\",\"nsupseteqq\":\"⫆̸\",\"ntgl\":\"≹\",\"Ntilde\":\"Ñ\",\"ntilde\":\"ñ\",\"ntlg\":\"≸\",\"ntriangleleft\":\"⋪\",\"ntrianglelefteq\":\"⋬\",\"ntriangleright\":\"⋫\",\"ntrianglerighteq\":\"⋭\",\"Nu\":\"Ν\",\"nu\":\"ν\",\"num\":\"#\",\"numero\":\"№\",\"numsp\":\" \",\"nvap\":\"≍⃒\",\"nvdash\":\"⊬\",\"nvDash\":\"⊭\",\"nVdash\":\"⊮\",\"nVDash\":\"⊯\",\"nvge\":\"≥⃒\",\"nvgt\":\">⃒\",\"nvHarr\":\"⤄\",\"nvinfin\":\"⧞\",\"nvlArr\":\"⤂\",\"nvle\":\"≤⃒\",\"nvlt\":\"<⃒\",\"nvltrie\":\"⊴⃒\",\"nvrArr\":\"⤃\",\"nvrtrie\":\"⊵⃒\",\"nvsim\":\"∼⃒\",\"nwarhk\":\"⤣\",\"nwarr\":\"↖\",\"nwArr\":\"⇖\",\"nwarrow\":\"↖\",\"nwnear\":\"⤧\",\"Oacute\":\"Ó\",\"oacute\":\"ó\",\"oast\":\"⊛\",\"Ocirc\":\"Ô\",\"ocirc\":\"ô\",\"ocir\":\"⊚\",\"Ocy\":\"О\",\"ocy\":\"о\",\"odash\":\"⊝\",\"Odblac\":\"Ő\",\"odblac\":\"ő\",\"odiv\":\"⨸\",\"odot\":\"⊙\",\"odsold\":\"⦼\",\"OElig\":\"Œ\",\"oelig\":\"œ\",\"ofcir\":\"⦿\",\"Ofr\":\"𝔒\",\"ofr\":\"𝔬\",\"ogon\":\"˛\",\"Ograve\":\"Ò\",\"ograve\":\"ò\",\"ogt\":\"⧁\",\"ohbar\":\"⦵\",\"ohm\":\"Ω\",\"oint\":\"∮\",\"olarr\":\"↺\",\"olcir\":\"⦾\",\"olcross\":\"⦻\",\"oline\":\"‾\",\"olt\":\"⧀\",\"Omacr\":\"Ō\",\"omacr\":\"ō\",\"Omega\":\"Ω\",\"omega\":\"ω\",\"Omicron\":\"Ο\",\"omicron\":\"ο\",\"omid\":\"⦶\",\"ominus\":\"⊖\",\"Oopf\":\"𝕆\",\"oopf\":\"𝕠\",\"opar\":\"⦷\",\"OpenCurlyDoubleQuote\":\"“\",\"OpenCurlyQuote\":\"‘\",\"operp\":\"⦹\",\"oplus\":\"⊕\",\"orarr\":\"↻\",\"Or\":\"⩔\",\"or\":\"∨\",\"ord\":\"⩝\",\"order\":\"ℴ\",\"orderof\":\"ℴ\",\"ordf\":\"ª\",\"ordm\":\"º\",\"origof\":\"⊶\",\"oror\":\"⩖\",\"orslope\":\"⩗\",\"orv\":\"⩛\",\"oS\":\"Ⓢ\",\"Oscr\":\"𝒪\",\"oscr\":\"ℴ\",\"Oslash\":\"Ø\",\"oslash\":\"ø\",\"osol\":\"⊘\",\"Otilde\":\"Õ\",\"otilde\":\"õ\",\"otimesas\":\"⨶\",\"Otimes\":\"⨷\",\"otimes\":\"⊗\",\"Ouml\":\"Ö\",\"ouml\":\"ö\",\"ovbar\":\"⌽\",\"OverBar\":\"‾\",\"OverBrace\":\"⏞\",\"OverBracket\":\"⎴\",\"OverParenthesis\":\"⏜\",\"para\":\"¶\",\"parallel\":\"∥\",\"par\":\"∥\",\"parsim\":\"⫳\",\"parsl\":\"⫽\",\"part\":\"∂\",\"PartialD\":\"∂\",\"Pcy\":\"П\",\"pcy\":\"п\",\"percnt\":\"%\",\"period\":\".\",\"permil\":\"‰\",\"perp\":\"⊥\",\"pertenk\":\"‱\",\"Pfr\":\"𝔓\",\"pfr\":\"𝔭\",\"Phi\":\"Φ\",\"phi\":\"φ\",\"phiv\":\"ϕ\",\"phmmat\":\"ℳ\",\"phone\":\"☎\",\"Pi\":\"Π\",\"pi\":\"π\",\"pitchfork\":\"⋔\",\"piv\":\"ϖ\",\"planck\":\"ℏ\",\"planckh\":\"ℎ\",\"plankv\":\"ℏ\",\"plusacir\":\"⨣\",\"plusb\":\"⊞\",\"pluscir\":\"⨢\",\"plus\":\"+\",\"plusdo\":\"∔\",\"plusdu\":\"⨥\",\"pluse\":\"⩲\",\"PlusMinus\":\"±\",\"plusmn\":\"±\",\"plussim\":\"⨦\",\"plustwo\":\"⨧\",\"pm\":\"±\",\"Poincareplane\":\"ℌ\",\"pointint\":\"⨕\",\"popf\":\"𝕡\",\"Popf\":\"ℙ\",\"pound\":\"£\",\"prap\":\"⪷\",\"Pr\":\"⪻\",\"pr\":\"≺\",\"prcue\":\"≼\",\"precapprox\":\"⪷\",\"prec\":\"≺\",\"preccurlyeq\":\"≼\",\"Precedes\":\"≺\",\"PrecedesEqual\":\"⪯\",\"PrecedesSlantEqual\":\"≼\",\"PrecedesTilde\":\"≾\",\"preceq\":\"⪯\",\"precnapprox\":\"⪹\",\"precneqq\":\"⪵\",\"precnsim\":\"⋨\",\"pre\":\"⪯\",\"prE\":\"⪳\",\"precsim\":\"≾\",\"prime\":\"′\",\"Prime\":\"″\",\"primes\":\"ℙ\",\"prnap\":\"⪹\",\"prnE\":\"⪵\",\"prnsim\":\"⋨\",\"prod\":\"∏\",\"Product\":\"∏\",\"profalar\":\"⌮\",\"profline\":\"⌒\",\"profsurf\":\"⌓\",\"prop\":\"∝\",\"Proportional\":\"∝\",\"Proportion\":\"∷\",\"propto\":\"∝\",\"prsim\":\"≾\",\"prurel\":\"⊰\",\"Pscr\":\"𝒫\",\"pscr\":\"𝓅\",\"Psi\":\"Ψ\",\"psi\":\"ψ\",\"puncsp\":\" \",\"Qfr\":\"𝔔\",\"qfr\":\"𝔮\",\"qint\":\"⨌\",\"qopf\":\"𝕢\",\"Qopf\":\"ℚ\",\"qprime\":\"⁗\",\"Qscr\":\"𝒬\",\"qscr\":\"𝓆\",\"quaternions\":\"ℍ\",\"quatint\":\"⨖\",\"quest\":\"?\",\"questeq\":\"≟\",\"quot\":\"\\\"\",\"QUOT\":\"\\\"\",\"rAarr\":\"⇛\",\"race\":\"∽̱\",\"Racute\":\"Ŕ\",\"racute\":\"ŕ\",\"radic\":\"√\",\"raemptyv\":\"⦳\",\"rang\":\"⟩\",\"Rang\":\"⟫\",\"rangd\":\"⦒\",\"range\":\"⦥\",\"rangle\":\"⟩\",\"raquo\":\"»\",\"rarrap\":\"⥵\",\"rarrb\":\"⇥\",\"rarrbfs\":\"⤠\",\"rarrc\":\"⤳\",\"rarr\":\"→\",\"Rarr\":\"↠\",\"rArr\":\"⇒\",\"rarrfs\":\"⤞\",\"rarrhk\":\"↪\",\"rarrlp\":\"↬\",\"rarrpl\":\"⥅\",\"rarrsim\":\"⥴\",\"Rarrtl\":\"⤖\",\"rarrtl\":\"↣\",\"rarrw\":\"↝\",\"ratail\":\"⤚\",\"rAtail\":\"⤜\",\"ratio\":\"∶\",\"rationals\":\"ℚ\",\"rbarr\":\"⤍\",\"rBarr\":\"⤏\",\"RBarr\":\"⤐\",\"rbbrk\":\"❳\",\"rbrace\":\"}\",\"rbrack\":\"]\",\"rbrke\":\"⦌\",\"rbrksld\":\"⦎\",\"rbrkslu\":\"⦐\",\"Rcaron\":\"Ř\",\"rcaron\":\"ř\",\"Rcedil\":\"Ŗ\",\"rcedil\":\"ŗ\",\"rceil\":\"⌉\",\"rcub\":\"}\",\"Rcy\":\"Р\",\"rcy\":\"р\",\"rdca\":\"⤷\",\"rdldhar\":\"⥩\",\"rdquo\":\"”\",\"rdquor\":\"”\",\"rdsh\":\"↳\",\"real\":\"ℜ\",\"realine\":\"ℛ\",\"realpart\":\"ℜ\",\"reals\":\"ℝ\",\"Re\":\"ℜ\",\"rect\":\"▭\",\"reg\":\"®\",\"REG\":\"®\",\"ReverseElement\":\"∋\",\"ReverseEquilibrium\":\"⇋\",\"ReverseUpEquilibrium\":\"⥯\",\"rfisht\":\"⥽\",\"rfloor\":\"⌋\",\"rfr\":\"𝔯\",\"Rfr\":\"ℜ\",\"rHar\":\"⥤\",\"rhard\":\"⇁\",\"rharu\":\"⇀\",\"rharul\":\"⥬\",\"Rho\":\"Ρ\",\"rho\":\"ρ\",\"rhov\":\"ϱ\",\"RightAngleBracket\":\"⟩\",\"RightArrowBar\":\"⇥\",\"rightarrow\":\"→\",\"RightArrow\":\"→\",\"Rightarrow\":\"⇒\",\"RightArrowLeftArrow\":\"⇄\",\"rightarrowtail\":\"↣\",\"RightCeiling\":\"⌉\",\"RightDoubleBracket\":\"⟧\",\"RightDownTeeVector\":\"⥝\",\"RightDownVectorBar\":\"⥕\",\"RightDownVector\":\"⇂\",\"RightFloor\":\"⌋\",\"rightharpoondown\":\"⇁\",\"rightharpoonup\":\"⇀\",\"rightleftarrows\":\"⇄\",\"rightleftharpoons\":\"⇌\",\"rightrightarrows\":\"⇉\",\"rightsquigarrow\":\"↝\",\"RightTeeArrow\":\"↦\",\"RightTee\":\"⊢\",\"RightTeeVector\":\"⥛\",\"rightthreetimes\":\"⋌\",\"RightTriangleBar\":\"⧐\",\"RightTriangle\":\"⊳\",\"RightTriangleEqual\":\"⊵\",\"RightUpDownVector\":\"⥏\",\"RightUpTeeVector\":\"⥜\",\"RightUpVectorBar\":\"⥔\",\"RightUpVector\":\"↾\",\"RightVectorBar\":\"⥓\",\"RightVector\":\"⇀\",\"ring\":\"˚\",\"risingdotseq\":\"≓\",\"rlarr\":\"⇄\",\"rlhar\":\"⇌\",\"rlm\":\"‏\",\"rmoustache\":\"⎱\",\"rmoust\":\"⎱\",\"rnmid\":\"⫮\",\"roang\":\"⟭\",\"roarr\":\"⇾\",\"robrk\":\"⟧\",\"ropar\":\"⦆\",\"ropf\":\"𝕣\",\"Ropf\":\"ℝ\",\"roplus\":\"⨮\",\"rotimes\":\"⨵\",\"RoundImplies\":\"⥰\",\"rpar\":\")\",\"rpargt\":\"⦔\",\"rppolint\":\"⨒\",\"rrarr\":\"⇉\",\"Rrightarrow\":\"⇛\",\"rsaquo\":\"›\",\"rscr\":\"𝓇\",\"Rscr\":\"ℛ\",\"rsh\":\"↱\",\"Rsh\":\"↱\",\"rsqb\":\"]\",\"rsquo\":\"’\",\"rsquor\":\"’\",\"rthree\":\"⋌\",\"rtimes\":\"⋊\",\"rtri\":\"▹\",\"rtrie\":\"⊵\",\"rtrif\":\"▸\",\"rtriltri\":\"⧎\",\"RuleDelayed\":\"⧴\",\"ruluhar\":\"⥨\",\"rx\":\"℞\",\"Sacute\":\"Ś\",\"sacute\":\"ś\",\"sbquo\":\"‚\",\"scap\":\"⪸\",\"Scaron\":\"Š\",\"scaron\":\"š\",\"Sc\":\"⪼\",\"sc\":\"≻\",\"sccue\":\"≽\",\"sce\":\"⪰\",\"scE\":\"⪴\",\"Scedil\":\"Ş\",\"scedil\":\"ş\",\"Scirc\":\"Ŝ\",\"scirc\":\"ŝ\",\"scnap\":\"⪺\",\"scnE\":\"⪶\",\"scnsim\":\"⋩\",\"scpolint\":\"⨓\",\"scsim\":\"≿\",\"Scy\":\"С\",\"scy\":\"с\",\"sdotb\":\"⊡\",\"sdot\":\"⋅\",\"sdote\":\"⩦\",\"searhk\":\"⤥\",\"searr\":\"↘\",\"seArr\":\"⇘\",\"searrow\":\"↘\",\"sect\":\"§\",\"semi\":\";\",\"seswar\":\"⤩\",\"setminus\":\"∖\",\"setmn\":\"∖\",\"sext\":\"✶\",\"Sfr\":\"𝔖\",\"sfr\":\"𝔰\",\"sfrown\":\"⌢\",\"sharp\":\"♯\",\"SHCHcy\":\"Щ\",\"shchcy\":\"щ\",\"SHcy\":\"Ш\",\"shcy\":\"ш\",\"ShortDownArrow\":\"↓\",\"ShortLeftArrow\":\"←\",\"shortmid\":\"∣\",\"shortparallel\":\"∥\",\"ShortRightArrow\":\"→\",\"ShortUpArrow\":\"↑\",\"shy\":\"­\",\"Sigma\":\"Σ\",\"sigma\":\"σ\",\"sigmaf\":\"ς\",\"sigmav\":\"ς\",\"sim\":\"∼\",\"simdot\":\"⩪\",\"sime\":\"≃\",\"simeq\":\"≃\",\"simg\":\"⪞\",\"simgE\":\"⪠\",\"siml\":\"⪝\",\"simlE\":\"⪟\",\"simne\":\"≆\",\"simplus\":\"⨤\",\"simrarr\":\"⥲\",\"slarr\":\"←\",\"SmallCircle\":\"∘\",\"smallsetminus\":\"∖\",\"smashp\":\"⨳\",\"smeparsl\":\"⧤\",\"smid\":\"∣\",\"smile\":\"⌣\",\"smt\":\"⪪\",\"smte\":\"⪬\",\"smtes\":\"⪬︀\",\"SOFTcy\":\"Ь\",\"softcy\":\"ь\",\"solbar\":\"⌿\",\"solb\":\"⧄\",\"sol\":\"/\",\"Sopf\":\"𝕊\",\"sopf\":\"𝕤\",\"spades\":\"♠\",\"spadesuit\":\"♠\",\"spar\":\"∥\",\"sqcap\":\"⊓\",\"sqcaps\":\"⊓︀\",\"sqcup\":\"⊔\",\"sqcups\":\"⊔︀\",\"Sqrt\":\"√\",\"sqsub\":\"⊏\",\"sqsube\":\"⊑\",\"sqsubset\":\"⊏\",\"sqsubseteq\":\"⊑\",\"sqsup\":\"⊐\",\"sqsupe\":\"⊒\",\"sqsupset\":\"⊐\",\"sqsupseteq\":\"⊒\",\"square\":\"□\",\"Square\":\"□\",\"SquareIntersection\":\"⊓\",\"SquareSubset\":\"⊏\",\"SquareSubsetEqual\":\"⊑\",\"SquareSuperset\":\"⊐\",\"SquareSupersetEqual\":\"⊒\",\"SquareUnion\":\"⊔\",\"squarf\":\"▪\",\"squ\":\"□\",\"squf\":\"▪\",\"srarr\":\"→\",\"Sscr\":\"𝒮\",\"sscr\":\"𝓈\",\"ssetmn\":\"∖\",\"ssmile\":\"⌣\",\"sstarf\":\"⋆\",\"Star\":\"⋆\",\"star\":\"☆\",\"starf\":\"★\",\"straightepsilon\":\"ϵ\",\"straightphi\":\"ϕ\",\"strns\":\"¯\",\"sub\":\"⊂\",\"Sub\":\"⋐\",\"subdot\":\"⪽\",\"subE\":\"⫅\",\"sube\":\"⊆\",\"subedot\":\"⫃\",\"submult\":\"⫁\",\"subnE\":\"⫋\",\"subne\":\"⊊\",\"subplus\":\"⪿\",\"subrarr\":\"⥹\",\"subset\":\"⊂\",\"Subset\":\"⋐\",\"subseteq\":\"⊆\",\"subseteqq\":\"⫅\",\"SubsetEqual\":\"⊆\",\"subsetneq\":\"⊊\",\"subsetneqq\":\"⫋\",\"subsim\":\"⫇\",\"subsub\":\"⫕\",\"subsup\":\"⫓\",\"succapprox\":\"⪸\",\"succ\":\"≻\",\"succcurlyeq\":\"≽\",\"Succeeds\":\"≻\",\"SucceedsEqual\":\"⪰\",\"SucceedsSlantEqual\":\"≽\",\"SucceedsTilde\":\"≿\",\"succeq\":\"⪰\",\"succnapprox\":\"⪺\",\"succneqq\":\"⪶\",\"succnsim\":\"⋩\",\"succsim\":\"≿\",\"SuchThat\":\"∋\",\"sum\":\"∑\",\"Sum\":\"∑\",\"sung\":\"♪\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"sup\":\"⊃\",\"Sup\":\"⋑\",\"supdot\":\"⪾\",\"supdsub\":\"⫘\",\"supE\":\"⫆\",\"supe\":\"⊇\",\"supedot\":\"⫄\",\"Superset\":\"⊃\",\"SupersetEqual\":\"⊇\",\"suphsol\":\"⟉\",\"suphsub\":\"⫗\",\"suplarr\":\"⥻\",\"supmult\":\"⫂\",\"supnE\":\"⫌\",\"supne\":\"⊋\",\"supplus\":\"⫀\",\"supset\":\"⊃\",\"Supset\":\"⋑\",\"supseteq\":\"⊇\",\"supseteqq\":\"⫆\",\"supsetneq\":\"⊋\",\"supsetneqq\":\"⫌\",\"supsim\":\"⫈\",\"supsub\":\"⫔\",\"supsup\":\"⫖\",\"swarhk\":\"⤦\",\"swarr\":\"↙\",\"swArr\":\"⇙\",\"swarrow\":\"↙\",\"swnwar\":\"⤪\",\"szlig\":\"ß\",\"Tab\":\"\\t\",\"target\":\"⌖\",\"Tau\":\"Τ\",\"tau\":\"τ\",\"tbrk\":\"⎴\",\"Tcaron\":\"Ť\",\"tcaron\":\"ť\",\"Tcedil\":\"Ţ\",\"tcedil\":\"ţ\",\"Tcy\":\"Т\",\"tcy\":\"т\",\"tdot\":\"⃛\",\"telrec\":\"⌕\",\"Tfr\":\"𝔗\",\"tfr\":\"𝔱\",\"there4\":\"∴\",\"therefore\":\"∴\",\"Therefore\":\"∴\",\"Theta\":\"Θ\",\"theta\":\"θ\",\"thetasym\":\"ϑ\",\"thetav\":\"ϑ\",\"thickapprox\":\"≈\",\"thicksim\":\"∼\",\"ThickSpace\":\"  \",\"ThinSpace\":\" \",\"thinsp\":\" \",\"thkap\":\"≈\",\"thksim\":\"∼\",\"THORN\":\"Þ\",\"thorn\":\"þ\",\"tilde\":\"˜\",\"Tilde\":\"∼\",\"TildeEqual\":\"≃\",\"TildeFullEqual\":\"≅\",\"TildeTilde\":\"≈\",\"timesbar\":\"⨱\",\"timesb\":\"⊠\",\"times\":\"×\",\"timesd\":\"⨰\",\"tint\":\"∭\",\"toea\":\"⤨\",\"topbot\":\"⌶\",\"topcir\":\"⫱\",\"top\":\"⊤\",\"Topf\":\"𝕋\",\"topf\":\"𝕥\",\"topfork\":\"⫚\",\"tosa\":\"⤩\",\"tprime\":\"‴\",\"trade\":\"™\",\"TRADE\":\"™\",\"triangle\":\"▵\",\"triangledown\":\"▿\",\"triangleleft\":\"◃\",\"trianglelefteq\":\"⊴\",\"triangleq\":\"≜\",\"triangleright\":\"▹\",\"trianglerighteq\":\"⊵\",\"tridot\":\"◬\",\"trie\":\"≜\",\"triminus\":\"⨺\",\"TripleDot\":\"⃛\",\"triplus\":\"⨹\",\"trisb\":\"⧍\",\"tritime\":\"⨻\",\"trpezium\":\"⏢\",\"Tscr\":\"𝒯\",\"tscr\":\"𝓉\",\"TScy\":\"Ц\",\"tscy\":\"ц\",\"TSHcy\":\"Ћ\",\"tshcy\":\"ћ\",\"Tstrok\":\"Ŧ\",\"tstrok\":\"ŧ\",\"twixt\":\"≬\",\"twoheadleftarrow\":\"↞\",\"twoheadrightarrow\":\"↠\",\"Uacute\":\"Ú\",\"uacute\":\"ú\",\"uarr\":\"↑\",\"Uarr\":\"↟\",\"uArr\":\"⇑\",\"Uarrocir\":\"⥉\",\"Ubrcy\":\"Ў\",\"ubrcy\":\"ў\",\"Ubreve\":\"Ŭ\",\"ubreve\":\"ŭ\",\"Ucirc\":\"Û\",\"ucirc\":\"û\",\"Ucy\":\"У\",\"ucy\":\"у\",\"udarr\":\"⇅\",\"Udblac\":\"Ű\",\"udblac\":\"ű\",\"udhar\":\"⥮\",\"ufisht\":\"⥾\",\"Ufr\":\"𝔘\",\"ufr\":\"𝔲\",\"Ugrave\":\"Ù\",\"ugrave\":\"ù\",\"uHar\":\"⥣\",\"uharl\":\"↿\",\"uharr\":\"↾\",\"uhblk\":\"▀\",\"ulcorn\":\"⌜\",\"ulcorner\":\"⌜\",\"ulcrop\":\"⌏\",\"ultri\":\"◸\",\"Umacr\":\"Ū\",\"umacr\":\"ū\",\"uml\":\"¨\",\"UnderBar\":\"_\",\"UnderBrace\":\"⏟\",\"UnderBracket\":\"⎵\",\"UnderParenthesis\":\"⏝\",\"Union\":\"⋃\",\"UnionPlus\":\"⊎\",\"Uogon\":\"Ų\",\"uogon\":\"ų\",\"Uopf\":\"𝕌\",\"uopf\":\"𝕦\",\"UpArrowBar\":\"⤒\",\"uparrow\":\"↑\",\"UpArrow\":\"↑\",\"Uparrow\":\"⇑\",\"UpArrowDownArrow\":\"⇅\",\"updownarrow\":\"↕\",\"UpDownArrow\":\"↕\",\"Updownarrow\":\"⇕\",\"UpEquilibrium\":\"⥮\",\"upharpoonleft\":\"↿\",\"upharpoonright\":\"↾\",\"uplus\":\"⊎\",\"UpperLeftArrow\":\"↖\",\"UpperRightArrow\":\"↗\",\"upsi\":\"υ\",\"Upsi\":\"ϒ\",\"upsih\":\"ϒ\",\"Upsilon\":\"Υ\",\"upsilon\":\"υ\",\"UpTeeArrow\":\"↥\",\"UpTee\":\"⊥\",\"upuparrows\":\"⇈\",\"urcorn\":\"⌝\",\"urcorner\":\"⌝\",\"urcrop\":\"⌎\",\"Uring\":\"Ů\",\"uring\":\"ů\",\"urtri\":\"◹\",\"Uscr\":\"𝒰\",\"uscr\":\"𝓊\",\"utdot\":\"⋰\",\"Utilde\":\"Ũ\",\"utilde\":\"ũ\",\"utri\":\"▵\",\"utrif\":\"▴\",\"uuarr\":\"⇈\",\"Uuml\":\"Ü\",\"uuml\":\"ü\",\"uwangle\":\"⦧\",\"vangrt\":\"⦜\",\"varepsilon\":\"ϵ\",\"varkappa\":\"ϰ\",\"varnothing\":\"∅\",\"varphi\":\"ϕ\",\"varpi\":\"ϖ\",\"varpropto\":\"∝\",\"varr\":\"↕\",\"vArr\":\"⇕\",\"varrho\":\"ϱ\",\"varsigma\":\"ς\",\"varsubsetneq\":\"⊊︀\",\"varsubsetneqq\":\"⫋︀\",\"varsupsetneq\":\"⊋︀\",\"varsupsetneqq\":\"⫌︀\",\"vartheta\":\"ϑ\",\"vartriangleleft\":\"⊲\",\"vartriangleright\":\"⊳\",\"vBar\":\"⫨\",\"Vbar\":\"⫫\",\"vBarv\":\"⫩\",\"Vcy\":\"В\",\"vcy\":\"в\",\"vdash\":\"⊢\",\"vDash\":\"⊨\",\"Vdash\":\"⊩\",\"VDash\":\"⊫\",\"Vdashl\":\"⫦\",\"veebar\":\"⊻\",\"vee\":\"∨\",\"Vee\":\"⋁\",\"veeeq\":\"≚\",\"vellip\":\"⋮\",\"verbar\":\"|\",\"Verbar\":\"‖\",\"vert\":\"|\",\"Vert\":\"‖\",\"VerticalBar\":\"∣\",\"VerticalLine\":\"|\",\"VerticalSeparator\":\"❘\",\"VerticalTilde\":\"≀\",\"VeryThinSpace\":\" \",\"Vfr\":\"𝔙\",\"vfr\":\"𝔳\",\"vltri\":\"⊲\",\"vnsub\":\"⊂⃒\",\"vnsup\":\"⊃⃒\",\"Vopf\":\"𝕍\",\"vopf\":\"𝕧\",\"vprop\":\"∝\",\"vrtri\":\"⊳\",\"Vscr\":\"𝒱\",\"vscr\":\"𝓋\",\"vsubnE\":\"⫋︀\",\"vsubne\":\"⊊︀\",\"vsupnE\":\"⫌︀\",\"vsupne\":\"⊋︀\",\"Vvdash\":\"⊪\",\"vzigzag\":\"⦚\",\"Wcirc\":\"Ŵ\",\"wcirc\":\"ŵ\",\"wedbar\":\"⩟\",\"wedge\":\"∧\",\"Wedge\":\"⋀\",\"wedgeq\":\"≙\",\"weierp\":\"℘\",\"Wfr\":\"𝔚\",\"wfr\":\"𝔴\",\"Wopf\":\"𝕎\",\"wopf\":\"𝕨\",\"wp\":\"℘\",\"wr\":\"≀\",\"wreath\":\"≀\",\"Wscr\":\"𝒲\",\"wscr\":\"𝓌\",\"xcap\":\"⋂\",\"xcirc\":\"◯\",\"xcup\":\"⋃\",\"xdtri\":\"▽\",\"Xfr\":\"𝔛\",\"xfr\":\"𝔵\",\"xharr\":\"⟷\",\"xhArr\":\"⟺\",\"Xi\":\"Ξ\",\"xi\":\"ξ\",\"xlarr\":\"⟵\",\"xlArr\":\"⟸\",\"xmap\":\"⟼\",\"xnis\":\"⋻\",\"xodot\":\"⨀\",\"Xopf\":\"𝕏\",\"xopf\":\"𝕩\",\"xoplus\":\"⨁\",\"xotime\":\"⨂\",\"xrarr\":\"⟶\",\"xrArr\":\"⟹\",\"Xscr\":\"𝒳\",\"xscr\":\"𝓍\",\"xsqcup\":\"⨆\",\"xuplus\":\"⨄\",\"xutri\":\"△\",\"xvee\":\"⋁\",\"xwedge\":\"⋀\",\"Yacute\":\"Ý\",\"yacute\":\"ý\",\"YAcy\":\"Я\",\"yacy\":\"я\",\"Ycirc\":\"Ŷ\",\"ycirc\":\"ŷ\",\"Ycy\":\"Ы\",\"ycy\":\"ы\",\"yen\":\"¥\",\"Yfr\":\"𝔜\",\"yfr\":\"𝔶\",\"YIcy\":\"Ї\",\"yicy\":\"ї\",\"Yopf\":\"𝕐\",\"yopf\":\"𝕪\",\"Yscr\":\"𝒴\",\"yscr\":\"𝓎\",\"YUcy\":\"Ю\",\"yucy\":\"ю\",\"yuml\":\"ÿ\",\"Yuml\":\"Ÿ\",\"Zacute\":\"Ź\",\"zacute\":\"ź\",\"Zcaron\":\"Ž\",\"zcaron\":\"ž\",\"Zcy\":\"З\",\"zcy\":\"з\",\"Zdot\":\"Ż\",\"zdot\":\"ż\",\"zeetrf\":\"ℨ\",\"ZeroWidthSpace\":\"​\",\"Zeta\":\"Ζ\",\"zeta\":\"ζ\",\"zfr\":\"𝔷\",\"Zfr\":\"ℨ\",\"ZHcy\":\"Ж\",\"zhcy\":\"ж\",\"zigrarr\":\"⇝\",\"zopf\":\"𝕫\",\"Zopf\":\"ℤ\",\"Zscr\":\"𝒵\",\"zscr\":\"𝓏\",\"zwj\":\"‍\",\"zwnj\":\"‌\"}");
  6902. /***/ }),
  6903. /***/ "../../node_modules/mdurl/decode.js":
  6904. /*!***********************************************************!*\
  6905. !*** D:/web_src/4dkankan_v4/node_modules/mdurl/decode.js ***!
  6906. \***********************************************************/
  6907. /*! no static exports found */
  6908. /***/ (function(module, exports, __webpack_require__) {
  6909. "use strict";
  6910. /* eslint-disable no-bitwise */
  6911. var decodeCache = {};
  6912. function getDecodeCache(exclude) {
  6913. var i, ch, cache = decodeCache[exclude];
  6914. if (cache) { return cache; }
  6915. cache = decodeCache[exclude] = [];
  6916. for (i = 0; i < 128; i++) {
  6917. ch = String.fromCharCode(i);
  6918. cache.push(ch);
  6919. }
  6920. for (i = 0; i < exclude.length; i++) {
  6921. ch = exclude.charCodeAt(i);
  6922. cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);
  6923. }
  6924. return cache;
  6925. }
  6926. // Decode percent-encoded string.
  6927. //
  6928. function decode(string, exclude) {
  6929. var cache;
  6930. if (typeof exclude !== 'string') {
  6931. exclude = decode.defaultChars;
  6932. }
  6933. cache = getDecodeCache(exclude);
  6934. return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {
  6935. var i, l, b1, b2, b3, b4, chr,
  6936. result = '';
  6937. for (i = 0, l = seq.length; i < l; i += 3) {
  6938. b1 = parseInt(seq.slice(i + 1, i + 3), 16);
  6939. if (b1 < 0x80) {
  6940. result += cache[b1];
  6941. continue;
  6942. }
  6943. if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) {
  6944. // 110xxxxx 10xxxxxx
  6945. b2 = parseInt(seq.slice(i + 4, i + 6), 16);
  6946. if ((b2 & 0xC0) === 0x80) {
  6947. chr = ((b1 << 6) & 0x7C0) | (b2 & 0x3F);
  6948. if (chr < 0x80) {
  6949. result += '\ufffd\ufffd';
  6950. } else {
  6951. result += String.fromCharCode(chr);
  6952. }
  6953. i += 3;
  6954. continue;
  6955. }
  6956. }
  6957. if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) {
  6958. // 1110xxxx 10xxxxxx 10xxxxxx
  6959. b2 = parseInt(seq.slice(i + 4, i + 6), 16);
  6960. b3 = parseInt(seq.slice(i + 7, i + 9), 16);
  6961. if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {
  6962. chr = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F);
  6963. if (chr < 0x800 || (chr >= 0xD800 && chr <= 0xDFFF)) {
  6964. result += '\ufffd\ufffd\ufffd';
  6965. } else {
  6966. result += String.fromCharCode(chr);
  6967. }
  6968. i += 6;
  6969. continue;
  6970. }
  6971. }
  6972. if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) {
  6973. // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx
  6974. b2 = parseInt(seq.slice(i + 4, i + 6), 16);
  6975. b3 = parseInt(seq.slice(i + 7, i + 9), 16);
  6976. b4 = parseInt(seq.slice(i + 10, i + 12), 16);
  6977. if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {
  6978. chr = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F);
  6979. if (chr < 0x10000 || chr > 0x10FFFF) {
  6980. result += '\ufffd\ufffd\ufffd\ufffd';
  6981. } else {
  6982. chr -= 0x10000;
  6983. result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF));
  6984. }
  6985. i += 9;
  6986. continue;
  6987. }
  6988. }
  6989. result += '\ufffd';
  6990. }
  6991. return result;
  6992. });
  6993. }
  6994. decode.defaultChars = ';/?:@&=+$,#';
  6995. decode.componentChars = '';
  6996. module.exports = decode;
  6997. /***/ }),
  6998. /***/ "../../node_modules/mdurl/encode.js":
  6999. /*!***********************************************************!*\
  7000. !*** D:/web_src/4dkankan_v4/node_modules/mdurl/encode.js ***!
  7001. \***********************************************************/
  7002. /*! no static exports found */
  7003. /***/ (function(module, exports, __webpack_require__) {
  7004. "use strict";
  7005. var encodeCache = {};
  7006. // Create a lookup array where anything but characters in `chars` string
  7007. // and alphanumeric chars is percent-encoded.
  7008. //
  7009. function getEncodeCache(exclude) {
  7010. var i, ch, cache = encodeCache[exclude];
  7011. if (cache) { return cache; }
  7012. cache = encodeCache[exclude] = [];
  7013. for (i = 0; i < 128; i++) {
  7014. ch = String.fromCharCode(i);
  7015. if (/^[0-9a-z]$/i.test(ch)) {
  7016. // always allow unencoded alphanumeric characters
  7017. cache.push(ch);
  7018. } else {
  7019. cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));
  7020. }
  7021. }
  7022. for (i = 0; i < exclude.length; i++) {
  7023. cache[exclude.charCodeAt(i)] = exclude[i];
  7024. }
  7025. return cache;
  7026. }
  7027. // Encode unsafe characters with percent-encoding, skipping already
  7028. // encoded sequences.
  7029. //
  7030. // - string - string to encode
  7031. // - exclude - list of characters to ignore (in addition to a-zA-Z0-9)
  7032. // - keepEscaped - don't encode '%' in a correct escape sequence (default: true)
  7033. //
  7034. function encode(string, exclude, keepEscaped) {
  7035. var i, l, code, nextCode, cache,
  7036. result = '';
  7037. if (typeof exclude !== 'string') {
  7038. // encode(string, keepEscaped)
  7039. keepEscaped = exclude;
  7040. exclude = encode.defaultChars;
  7041. }
  7042. if (typeof keepEscaped === 'undefined') {
  7043. keepEscaped = true;
  7044. }
  7045. cache = getEncodeCache(exclude);
  7046. for (i = 0, l = string.length; i < l; i++) {
  7047. code = string.charCodeAt(i);
  7048. if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {
  7049. if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {
  7050. result += string.slice(i, i + 3);
  7051. i += 2;
  7052. continue;
  7053. }
  7054. }
  7055. if (code < 128) {
  7056. result += cache[code];
  7057. continue;
  7058. }
  7059. if (code >= 0xD800 && code <= 0xDFFF) {
  7060. if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {
  7061. nextCode = string.charCodeAt(i + 1);
  7062. if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {
  7063. result += encodeURIComponent(string[i] + string[i + 1]);
  7064. i++;
  7065. continue;
  7066. }
  7067. }
  7068. result += '%EF%BF%BD';
  7069. continue;
  7070. }
  7071. result += encodeURIComponent(string[i]);
  7072. }
  7073. return result;
  7074. }
  7075. encode.defaultChars = ";/?:@&=+$,-_.!~*'()#";
  7076. encode.componentChars = "-_.!~*'()";
  7077. module.exports = encode;
  7078. /***/ }),
  7079. /***/ "../../node_modules/mdurl/format.js":
  7080. /*!***********************************************************!*\
  7081. !*** D:/web_src/4dkankan_v4/node_modules/mdurl/format.js ***!
  7082. \***********************************************************/
  7083. /*! no static exports found */
  7084. /***/ (function(module, exports, __webpack_require__) {
  7085. "use strict";
  7086. module.exports = function format(url) {
  7087. var result = '';
  7088. result += url.protocol || '';
  7089. result += url.slashes ? '//' : '';
  7090. result += url.auth ? url.auth + '@' : '';
  7091. if (url.hostname && url.hostname.indexOf(':') !== -1) {
  7092. // ipv6 address
  7093. result += '[' + url.hostname + ']';
  7094. } else {
  7095. result += url.hostname || '';
  7096. }
  7097. result += url.port ? ':' + url.port : '';
  7098. result += url.pathname || '';
  7099. result += url.search || '';
  7100. result += url.hash || '';
  7101. return result;
  7102. };
  7103. /***/ }),
  7104. /***/ "../../node_modules/mdurl/index.js":
  7105. /*!**********************************************************!*\
  7106. !*** D:/web_src/4dkankan_v4/node_modules/mdurl/index.js ***!
  7107. \**********************************************************/
  7108. /*! no static exports found */
  7109. /***/ (function(module, exports, __webpack_require__) {
  7110. "use strict";
  7111. module.exports.encode = __webpack_require__(/*! ./encode */ "../../node_modules/mdurl/encode.js");
  7112. module.exports.decode = __webpack_require__(/*! ./decode */ "../../node_modules/mdurl/decode.js");
  7113. module.exports.format = __webpack_require__(/*! ./format */ "../../node_modules/mdurl/format.js");
  7114. module.exports.parse = __webpack_require__(/*! ./parse */ "../../node_modules/mdurl/parse.js");
  7115. /***/ }),
  7116. /***/ "../../node_modules/mdurl/parse.js":
  7117. /*!**********************************************************!*\
  7118. !*** D:/web_src/4dkankan_v4/node_modules/mdurl/parse.js ***!
  7119. \**********************************************************/
  7120. /*! no static exports found */
  7121. /***/ (function(module, exports, __webpack_require__) {
  7122. "use strict";
  7123. // Copyright Joyent, Inc. and other Node contributors.
  7124. //
  7125. // Permission is hereby granted, free of charge, to any person obtaining a
  7126. // copy of this software and associated documentation files (the
  7127. // "Software"), to deal in the Software without restriction, including
  7128. // without limitation the rights to use, copy, modify, merge, publish,
  7129. // distribute, sublicense, and/or sell copies of the Software, and to permit
  7130. // persons to whom the Software is furnished to do so, subject to the
  7131. // following conditions:
  7132. //
  7133. // The above copyright notice and this permission notice shall be included
  7134. // in all copies or substantial portions of the Software.
  7135. //
  7136. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  7137. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  7138. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  7139. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  7140. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  7141. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  7142. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  7143. //
  7144. // Changes from joyent/node:
  7145. //
  7146. // 1. No leading slash in paths,
  7147. // e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/`
  7148. //
  7149. // 2. Backslashes are not replaced with slashes,
  7150. // so `http:\\example.org\` is treated like a relative path
  7151. //
  7152. // 3. Trailing colon is treated like a part of the path,
  7153. // i.e. in `http://example.org:foo` pathname is `:foo`
  7154. //
  7155. // 4. Nothing is URL-encoded in the resulting object,
  7156. // (in joyent/node some chars in auth and paths are encoded)
  7157. //
  7158. // 5. `url.parse()` does not have `parseQueryString` argument
  7159. //
  7160. // 6. Removed extraneous result properties: `host`, `path`, `query`, etc.,
  7161. // which can be constructed using other parts of the url.
  7162. //
  7163. function Url() {
  7164. this.protocol = null;
  7165. this.slashes = null;
  7166. this.auth = null;
  7167. this.port = null;
  7168. this.hostname = null;
  7169. this.hash = null;
  7170. this.search = null;
  7171. this.pathname = null;
  7172. }
  7173. // Reference: RFC 3986, RFC 1808, RFC 2396
  7174. // define these here so at least they only have to be
  7175. // compiled once on the first module load.
  7176. var protocolPattern = /^([a-z0-9.+-]+:)/i,
  7177. portPattern = /:[0-9]*$/,
  7178. // Special case for a simple path URL
  7179. simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
  7180. // RFC 2396: characters reserved for delimiting URLs.
  7181. // We actually just auto-escape these.
  7182. delims = [ '<', '>', '"', '`', ' ', '\r', '\n', '\t' ],
  7183. // RFC 2396: characters not allowed for various reasons.
  7184. unwise = [ '{', '}', '|', '\\', '^', '`' ].concat(delims),
  7185. // Allowed by RFCs, but cause of XSS attacks. Always escape these.
  7186. autoEscape = [ '\'' ].concat(unwise),
  7187. // Characters that are never ever allowed in a hostname.
  7188. // Note that any invalid chars are also handled, but these
  7189. // are the ones that are *expected* to be seen, so we fast-path
  7190. // them.
  7191. nonHostChars = [ '%', '/', '?', ';', '#' ].concat(autoEscape),
  7192. hostEndingChars = [ '/', '?', '#' ],
  7193. hostnameMaxLen = 255,
  7194. hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,
  7195. hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
  7196. // protocols that can allow "unsafe" and "unwise" chars.
  7197. /* eslint-disable no-script-url */
  7198. // protocols that never have a hostname.
  7199. hostlessProtocol = {
  7200. 'javascript': true,
  7201. 'javascript:': true
  7202. },
  7203. // protocols that always contain a // bit.
  7204. slashedProtocol = {
  7205. 'http': true,
  7206. 'https': true,
  7207. 'ftp': true,
  7208. 'gopher': true,
  7209. 'file': true,
  7210. 'http:': true,
  7211. 'https:': true,
  7212. 'ftp:': true,
  7213. 'gopher:': true,
  7214. 'file:': true
  7215. };
  7216. /* eslint-enable no-script-url */
  7217. function urlParse(url, slashesDenoteHost) {
  7218. if (url && url instanceof Url) { return url; }
  7219. var u = new Url();
  7220. u.parse(url, slashesDenoteHost);
  7221. return u;
  7222. }
  7223. Url.prototype.parse = function(url, slashesDenoteHost) {
  7224. var i, l, lowerProto, hec, slashes,
  7225. rest = url;
  7226. // trim before proceeding.
  7227. // This is to support parse stuff like " http://foo.com \n"
  7228. rest = rest.trim();
  7229. if (!slashesDenoteHost && url.split('#').length === 1) {
  7230. // Try fast path regexp
  7231. var simplePath = simplePathPattern.exec(rest);
  7232. if (simplePath) {
  7233. this.pathname = simplePath[1];
  7234. if (simplePath[2]) {
  7235. this.search = simplePath[2];
  7236. }
  7237. return this;
  7238. }
  7239. }
  7240. var proto = protocolPattern.exec(rest);
  7241. if (proto) {
  7242. proto = proto[0];
  7243. lowerProto = proto.toLowerCase();
  7244. this.protocol = proto;
  7245. rest = rest.substr(proto.length);
  7246. }
  7247. // figure out if it's got a host
  7248. // user@server is *always* interpreted as a hostname, and url
  7249. // resolution will treat //foo/bar as host=foo,path=bar because that's
  7250. // how the browser resolves relative URLs.
  7251. if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) {
  7252. slashes = rest.substr(0, 2) === '//';
  7253. if (slashes && !(proto && hostlessProtocol[proto])) {
  7254. rest = rest.substr(2);
  7255. this.slashes = true;
  7256. }
  7257. }
  7258. if (!hostlessProtocol[proto] &&
  7259. (slashes || (proto && !slashedProtocol[proto]))) {
  7260. // there's a hostname.
  7261. // the first instance of /, ?, ;, or # ends the host.
  7262. //
  7263. // If there is an @ in the hostname, then non-host chars *are* allowed
  7264. // to the left of the last @ sign, unless some host-ending character
  7265. // comes *before* the @-sign.
  7266. // URLs are obnoxious.
  7267. //
  7268. // ex:
  7269. // http://a@b@c/ => user:a@b host:c
  7270. // http://a@b?@c => user:a host:c path:/?@c
  7271. // v0.12 TODO(isaacs): This is not quite how Chrome does things.
  7272. // Review our test case against browsers more comprehensively.
  7273. // find the first instance of any hostEndingChars
  7274. var hostEnd = -1;
  7275. for (i = 0; i < hostEndingChars.length; i++) {
  7276. hec = rest.indexOf(hostEndingChars[i]);
  7277. if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {
  7278. hostEnd = hec;
  7279. }
  7280. }
  7281. // at this point, either we have an explicit point where the
  7282. // auth portion cannot go past, or the last @ char is the decider.
  7283. var auth, atSign;
  7284. if (hostEnd === -1) {
  7285. // atSign can be anywhere.
  7286. atSign = rest.lastIndexOf('@');
  7287. } else {
  7288. // atSign must be in auth portion.
  7289. // http://a@b/c@d => host:b auth:a path:/c@d
  7290. atSign = rest.lastIndexOf('@', hostEnd);
  7291. }
  7292. // Now we have a portion which is definitely the auth.
  7293. // Pull that off.
  7294. if (atSign !== -1) {
  7295. auth = rest.slice(0, atSign);
  7296. rest = rest.slice(atSign + 1);
  7297. this.auth = auth;
  7298. }
  7299. // the host is the remaining to the left of the first non-host char
  7300. hostEnd = -1;
  7301. for (i = 0; i < nonHostChars.length; i++) {
  7302. hec = rest.indexOf(nonHostChars[i]);
  7303. if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {
  7304. hostEnd = hec;
  7305. }
  7306. }
  7307. // if we still have not hit it, then the entire thing is a host.
  7308. if (hostEnd === -1) {
  7309. hostEnd = rest.length;
  7310. }
  7311. if (rest[hostEnd - 1] === ':') { hostEnd--; }
  7312. var host = rest.slice(0, hostEnd);
  7313. rest = rest.slice(hostEnd);
  7314. // pull out port.
  7315. this.parseHost(host);
  7316. // we've indicated that there is a hostname,
  7317. // so even if it's empty, it has to be present.
  7318. this.hostname = this.hostname || '';
  7319. // if hostname begins with [ and ends with ]
  7320. // assume that it's an IPv6 address.
  7321. var ipv6Hostname = this.hostname[0] === '[' &&
  7322. this.hostname[this.hostname.length - 1] === ']';
  7323. // validate a little.
  7324. if (!ipv6Hostname) {
  7325. var hostparts = this.hostname.split(/\./);
  7326. for (i = 0, l = hostparts.length; i < l; i++) {
  7327. var part = hostparts[i];
  7328. if (!part) { continue; }
  7329. if (!part.match(hostnamePartPattern)) {
  7330. var newpart = '';
  7331. for (var j = 0, k = part.length; j < k; j++) {
  7332. if (part.charCodeAt(j) > 127) {
  7333. // we replace non-ASCII char with a temporary placeholder
  7334. // we need this to make sure size of hostname is not
  7335. // broken by replacing non-ASCII by nothing
  7336. newpart += 'x';
  7337. } else {
  7338. newpart += part[j];
  7339. }
  7340. }
  7341. // we test again with ASCII char only
  7342. if (!newpart.match(hostnamePartPattern)) {
  7343. var validParts = hostparts.slice(0, i);
  7344. var notHost = hostparts.slice(i + 1);
  7345. var bit = part.match(hostnamePartStart);
  7346. if (bit) {
  7347. validParts.push(bit[1]);
  7348. notHost.unshift(bit[2]);
  7349. }
  7350. if (notHost.length) {
  7351. rest = notHost.join('.') + rest;
  7352. }
  7353. this.hostname = validParts.join('.');
  7354. break;
  7355. }
  7356. }
  7357. }
  7358. }
  7359. if (this.hostname.length > hostnameMaxLen) {
  7360. this.hostname = '';
  7361. }
  7362. // strip [ and ] from the hostname
  7363. // the host field still retains them, though
  7364. if (ipv6Hostname) {
  7365. this.hostname = this.hostname.substr(1, this.hostname.length - 2);
  7366. }
  7367. }
  7368. // chop off from the tail first.
  7369. var hash = rest.indexOf('#');
  7370. if (hash !== -1) {
  7371. // got a fragment string.
  7372. this.hash = rest.substr(hash);
  7373. rest = rest.slice(0, hash);
  7374. }
  7375. var qm = rest.indexOf('?');
  7376. if (qm !== -1) {
  7377. this.search = rest.substr(qm);
  7378. rest = rest.slice(0, qm);
  7379. }
  7380. if (rest) { this.pathname = rest; }
  7381. if (slashedProtocol[lowerProto] &&
  7382. this.hostname && !this.pathname) {
  7383. this.pathname = '';
  7384. }
  7385. return this;
  7386. };
  7387. Url.prototype.parseHost = function(host) {
  7388. var port = portPattern.exec(host);
  7389. if (port) {
  7390. port = port[0];
  7391. if (port !== ':') {
  7392. this.port = port.substr(1);
  7393. }
  7394. host = host.substr(0, host.length - port.length);
  7395. }
  7396. if (host) { this.hostname = host; }
  7397. };
  7398. module.exports = urlParse;
  7399. /***/ }),
  7400. /***/ "../../node_modules/punycode/punycode.js":
  7401. /*!****************************************************************!*\
  7402. !*** D:/web_src/4dkankan_v4/node_modules/punycode/punycode.js ***!
  7403. \****************************************************************/
  7404. /*! no static exports found */
  7405. /***/ (function(module, exports, __webpack_require__) {
  7406. /* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */
  7407. ;(function(root) {
  7408. /** Detect free variables */
  7409. var freeExports = true && exports &&
  7410. !exports.nodeType && exports;
  7411. var freeModule = true && module &&
  7412. !module.nodeType && module;
  7413. var freeGlobal = typeof global == 'object' && global;
  7414. if (
  7415. freeGlobal.global === freeGlobal ||
  7416. freeGlobal.window === freeGlobal ||
  7417. freeGlobal.self === freeGlobal
  7418. ) {
  7419. root = freeGlobal;
  7420. }
  7421. /**
  7422. * The `punycode` object.
  7423. * @name punycode
  7424. * @type Object
  7425. */
  7426. var punycode,
  7427. /** Highest positive signed 32-bit float value */
  7428. maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
  7429. /** Bootstring parameters */
  7430. base = 36,
  7431. tMin = 1,
  7432. tMax = 26,
  7433. skew = 38,
  7434. damp = 700,
  7435. initialBias = 72,
  7436. initialN = 128, // 0x80
  7437. delimiter = '-', // '\x2D'
  7438. /** Regular expressions */
  7439. regexPunycode = /^xn--/,
  7440. regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
  7441. regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
  7442. /** Error messages */
  7443. errors = {
  7444. 'overflow': 'Overflow: input needs wider integers to process',
  7445. 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
  7446. 'invalid-input': 'Invalid input'
  7447. },
  7448. /** Convenience shortcuts */
  7449. baseMinusTMin = base - tMin,
  7450. floor = Math.floor,
  7451. stringFromCharCode = String.fromCharCode,
  7452. /** Temporary variable */
  7453. key;
  7454. /*--------------------------------------------------------------------------*/
  7455. /**
  7456. * A generic error utility function.
  7457. * @private
  7458. * @param {String} type The error type.
  7459. * @returns {Error} Throws a `RangeError` with the applicable error message.
  7460. */
  7461. function error(type) {
  7462. throw new RangeError(errors[type]);
  7463. }
  7464. /**
  7465. * A generic `Array#map` utility function.
  7466. * @private
  7467. * @param {Array} array The array to iterate over.
  7468. * @param {Function} callback The function that gets called for every array
  7469. * item.
  7470. * @returns {Array} A new array of values returned by the callback function.
  7471. */
  7472. function map(array, fn) {
  7473. var length = array.length;
  7474. var result = [];
  7475. while (length--) {
  7476. result[length] = fn(array[length]);
  7477. }
  7478. return result;
  7479. }
  7480. /**
  7481. * A simple `Array#map`-like wrapper to work with domain name strings or email
  7482. * addresses.
  7483. * @private
  7484. * @param {String} domain The domain name or email address.
  7485. * @param {Function} callback The function that gets called for every
  7486. * character.
  7487. * @returns {Array} A new string of characters returned by the callback
  7488. * function.
  7489. */
  7490. function mapDomain(string, fn) {
  7491. var parts = string.split('@');
  7492. var result = '';
  7493. if (parts.length > 1) {
  7494. // In email addresses, only the domain name should be punycoded. Leave
  7495. // the local part (i.e. everything up to `@`) intact.
  7496. result = parts[0] + '@';
  7497. string = parts[1];
  7498. }
  7499. // Avoid `split(regex)` for IE8 compatibility. See #17.
  7500. string = string.replace(regexSeparators, '\x2E');
  7501. var labels = string.split('.');
  7502. var encoded = map(labels, fn).join('.');
  7503. return result + encoded;
  7504. }
  7505. /**
  7506. * Creates an array containing the numeric code points of each Unicode
  7507. * character in the string. While JavaScript uses UCS-2 internally,
  7508. * this function will convert a pair of surrogate halves (each of which
  7509. * UCS-2 exposes as separate characters) into a single code point,
  7510. * matching UTF-16.
  7511. * @see `punycode.ucs2.encode`
  7512. * @see <https://mathiasbynens.be/notes/javascript-encoding>
  7513. * @memberOf punycode.ucs2
  7514. * @name decode
  7515. * @param {String} string The Unicode input string (UCS-2).
  7516. * @returns {Array} The new array of code points.
  7517. */
  7518. function ucs2decode(string) {
  7519. var output = [],
  7520. counter = 0,
  7521. length = string.length,
  7522. value,
  7523. extra;
  7524. while (counter < length) {
  7525. value = string.charCodeAt(counter++);
  7526. if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
  7527. // high surrogate, and there is a next character
  7528. extra = string.charCodeAt(counter++);
  7529. if ((extra & 0xFC00) == 0xDC00) { // low surrogate
  7530. output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
  7531. } else {
  7532. // unmatched surrogate; only append this code unit, in case the next
  7533. // code unit is the high surrogate of a surrogate pair
  7534. output.push(value);
  7535. counter--;
  7536. }
  7537. } else {
  7538. output.push(value);
  7539. }
  7540. }
  7541. return output;
  7542. }
  7543. /**
  7544. * Creates a string based on an array of numeric code points.
  7545. * @see `punycode.ucs2.decode`
  7546. * @memberOf punycode.ucs2
  7547. * @name encode
  7548. * @param {Array} codePoints The array of numeric code points.
  7549. * @returns {String} The new Unicode string (UCS-2).
  7550. */
  7551. function ucs2encode(array) {
  7552. return map(array, function(value) {
  7553. var output = '';
  7554. if (value > 0xFFFF) {
  7555. value -= 0x10000;
  7556. output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
  7557. value = 0xDC00 | value & 0x3FF;
  7558. }
  7559. output += stringFromCharCode(value);
  7560. return output;
  7561. }).join('');
  7562. }
  7563. /**
  7564. * Converts a basic code point into a digit/integer.
  7565. * @see `digitToBasic()`
  7566. * @private
  7567. * @param {Number} codePoint The basic numeric code point value.
  7568. * @returns {Number} The numeric value of a basic code point (for use in
  7569. * representing integers) in the range `0` to `base - 1`, or `base` if
  7570. * the code point does not represent a value.
  7571. */
  7572. function basicToDigit(codePoint) {
  7573. if (codePoint - 48 < 10) {
  7574. return codePoint - 22;
  7575. }
  7576. if (codePoint - 65 < 26) {
  7577. return codePoint - 65;
  7578. }
  7579. if (codePoint - 97 < 26) {
  7580. return codePoint - 97;
  7581. }
  7582. return base;
  7583. }
  7584. /**
  7585. * Converts a digit/integer into a basic code point.
  7586. * @see `basicToDigit()`
  7587. * @private
  7588. * @param {Number} digit The numeric value of a basic code point.
  7589. * @returns {Number} The basic code point whose value (when used for
  7590. * representing integers) is `digit`, which needs to be in the range
  7591. * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
  7592. * used; else, the lowercase form is used. The behavior is undefined
  7593. * if `flag` is non-zero and `digit` has no uppercase form.
  7594. */
  7595. function digitToBasic(digit, flag) {
  7596. // 0..25 map to ASCII a..z or A..Z
  7597. // 26..35 map to ASCII 0..9
  7598. return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
  7599. }
  7600. /**
  7601. * Bias adaptation function as per section 3.4 of RFC 3492.
  7602. * https://tools.ietf.org/html/rfc3492#section-3.4
  7603. * @private
  7604. */
  7605. function adapt(delta, numPoints, firstTime) {
  7606. var k = 0;
  7607. delta = firstTime ? floor(delta / damp) : delta >> 1;
  7608. delta += floor(delta / numPoints);
  7609. for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
  7610. delta = floor(delta / baseMinusTMin);
  7611. }
  7612. return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
  7613. }
  7614. /**
  7615. * Converts a Punycode string of ASCII-only symbols to a string of Unicode
  7616. * symbols.
  7617. * @memberOf punycode
  7618. * @param {String} input The Punycode string of ASCII-only symbols.
  7619. * @returns {String} The resulting string of Unicode symbols.
  7620. */
  7621. function decode(input) {
  7622. // Don't use UCS-2
  7623. var output = [],
  7624. inputLength = input.length,
  7625. out,
  7626. i = 0,
  7627. n = initialN,
  7628. bias = initialBias,
  7629. basic,
  7630. j,
  7631. index,
  7632. oldi,
  7633. w,
  7634. k,
  7635. digit,
  7636. t,
  7637. /** Cached calculation results */
  7638. baseMinusT;
  7639. // Handle the basic code points: let `basic` be the number of input code
  7640. // points before the last delimiter, or `0` if there is none, then copy
  7641. // the first basic code points to the output.
  7642. basic = input.lastIndexOf(delimiter);
  7643. if (basic < 0) {
  7644. basic = 0;
  7645. }
  7646. for (j = 0; j < basic; ++j) {
  7647. // if it's not a basic code point
  7648. if (input.charCodeAt(j) >= 0x80) {
  7649. error('not-basic');
  7650. }
  7651. output.push(input.charCodeAt(j));
  7652. }
  7653. // Main decoding loop: start just after the last delimiter if any basic code
  7654. // points were copied; start at the beginning otherwise.
  7655. for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
  7656. // `index` is the index of the next character to be consumed.
  7657. // Decode a generalized variable-length integer into `delta`,
  7658. // which gets added to `i`. The overflow checking is easier
  7659. // if we increase `i` as we go, then subtract off its starting
  7660. // value at the end to obtain `delta`.
  7661. for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
  7662. if (index >= inputLength) {
  7663. error('invalid-input');
  7664. }
  7665. digit = basicToDigit(input.charCodeAt(index++));
  7666. if (digit >= base || digit > floor((maxInt - i) / w)) {
  7667. error('overflow');
  7668. }
  7669. i += digit * w;
  7670. t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
  7671. if (digit < t) {
  7672. break;
  7673. }
  7674. baseMinusT = base - t;
  7675. if (w > floor(maxInt / baseMinusT)) {
  7676. error('overflow');
  7677. }
  7678. w *= baseMinusT;
  7679. }
  7680. out = output.length + 1;
  7681. bias = adapt(i - oldi, out, oldi == 0);
  7682. // `i` was supposed to wrap around from `out` to `0`,
  7683. // incrementing `n` each time, so we'll fix that now:
  7684. if (floor(i / out) > maxInt - n) {
  7685. error('overflow');
  7686. }
  7687. n += floor(i / out);
  7688. i %= out;
  7689. // Insert `n` at position `i` of the output
  7690. output.splice(i++, 0, n);
  7691. }
  7692. return ucs2encode(output);
  7693. }
  7694. /**
  7695. * Converts a string of Unicode symbols (e.g. a domain name label) to a
  7696. * Punycode string of ASCII-only symbols.
  7697. * @memberOf punycode
  7698. * @param {String} input The string of Unicode symbols.
  7699. * @returns {String} The resulting Punycode string of ASCII-only symbols.
  7700. */
  7701. function encode(input) {
  7702. var n,
  7703. delta,
  7704. handledCPCount,
  7705. basicLength,
  7706. bias,
  7707. j,
  7708. m,
  7709. q,
  7710. k,
  7711. t,
  7712. currentValue,
  7713. output = [],
  7714. /** `inputLength` will hold the number of code points in `input`. */
  7715. inputLength,
  7716. /** Cached calculation results */
  7717. handledCPCountPlusOne,
  7718. baseMinusT,
  7719. qMinusT;
  7720. // Convert the input in UCS-2 to Unicode
  7721. input = ucs2decode(input);
  7722. // Cache the length
  7723. inputLength = input.length;
  7724. // Initialize the state
  7725. n = initialN;
  7726. delta = 0;
  7727. bias = initialBias;
  7728. // Handle the basic code points
  7729. for (j = 0; j < inputLength; ++j) {
  7730. currentValue = input[j];
  7731. if (currentValue < 0x80) {
  7732. output.push(stringFromCharCode(currentValue));
  7733. }
  7734. }
  7735. handledCPCount = basicLength = output.length;
  7736. // `handledCPCount` is the number of code points that have been handled;
  7737. // `basicLength` is the number of basic code points.
  7738. // Finish the basic string - if it is not empty - with a delimiter
  7739. if (basicLength) {
  7740. output.push(delimiter);
  7741. }
  7742. // Main encoding loop:
  7743. while (handledCPCount < inputLength) {
  7744. // All non-basic code points < n have been handled already. Find the next
  7745. // larger one:
  7746. for (m = maxInt, j = 0; j < inputLength; ++j) {
  7747. currentValue = input[j];
  7748. if (currentValue >= n && currentValue < m) {
  7749. m = currentValue;
  7750. }
  7751. }
  7752. // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
  7753. // but guard against overflow
  7754. handledCPCountPlusOne = handledCPCount + 1;
  7755. if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
  7756. error('overflow');
  7757. }
  7758. delta += (m - n) * handledCPCountPlusOne;
  7759. n = m;
  7760. for (j = 0; j < inputLength; ++j) {
  7761. currentValue = input[j];
  7762. if (currentValue < n && ++delta > maxInt) {
  7763. error('overflow');
  7764. }
  7765. if (currentValue == n) {
  7766. // Represent delta as a generalized variable-length integer
  7767. for (q = delta, k = base; /* no condition */; k += base) {
  7768. t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
  7769. if (q < t) {
  7770. break;
  7771. }
  7772. qMinusT = q - t;
  7773. baseMinusT = base - t;
  7774. output.push(
  7775. stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
  7776. );
  7777. q = floor(qMinusT / baseMinusT);
  7778. }
  7779. output.push(stringFromCharCode(digitToBasic(q, 0)));
  7780. bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
  7781. delta = 0;
  7782. ++handledCPCount;
  7783. }
  7784. }
  7785. ++delta;
  7786. ++n;
  7787. }
  7788. return output.join('');
  7789. }
  7790. /**
  7791. * Converts a Punycode string representing a domain name or an email address
  7792. * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
  7793. * it doesn't matter if you call it on a string that has already been
  7794. * converted to Unicode.
  7795. * @memberOf punycode
  7796. * @param {String} input The Punycoded domain name or email address to
  7797. * convert to Unicode.
  7798. * @returns {String} The Unicode representation of the given Punycode
  7799. * string.
  7800. */
  7801. function toUnicode(input) {
  7802. return mapDomain(input, function(string) {
  7803. return regexPunycode.test(string)
  7804. ? decode(string.slice(4).toLowerCase())
  7805. : string;
  7806. });
  7807. }
  7808. /**
  7809. * Converts a Unicode string representing a domain name or an email address to
  7810. * Punycode. Only the non-ASCII parts of the domain name will be converted,
  7811. * i.e. it doesn't matter if you call it with a domain that's already in
  7812. * ASCII.
  7813. * @memberOf punycode
  7814. * @param {String} input The domain name or email address to convert, as a
  7815. * Unicode string.
  7816. * @returns {String} The Punycode representation of the given domain name or
  7817. * email address.
  7818. */
  7819. function toASCII(input) {
  7820. return mapDomain(input, function(string) {
  7821. return regexNonASCII.test(string)
  7822. ? 'xn--' + encode(string)
  7823. : string;
  7824. });
  7825. }
  7826. /*--------------------------------------------------------------------------*/
  7827. /** Define the public API */
  7828. punycode = {
  7829. /**
  7830. * A string representing the current Punycode.js version number.
  7831. * @memberOf punycode
  7832. * @type String
  7833. */
  7834. 'version': '1.4.1',
  7835. /**
  7836. * An object of methods to convert from JavaScript's internal character
  7837. * representation (UCS-2) to Unicode code points, and back.
  7838. * @see <https://mathiasbynens.be/notes/javascript-encoding>
  7839. * @memberOf punycode
  7840. * @type Object
  7841. */
  7842. 'ucs2': {
  7843. 'decode': ucs2decode,
  7844. 'encode': ucs2encode
  7845. },
  7846. 'decode': decode,
  7847. 'encode': encode,
  7848. 'toASCII': toASCII,
  7849. 'toUnicode': toUnicode
  7850. };
  7851. /** Expose `punycode` */
  7852. // Some AMD build optimizers, like r.js, check for specific condition patterns
  7853. // like the following:
  7854. if (
  7855. true
  7856. ) {
  7857. !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {
  7858. return punycode;
  7859. }).call(exports, __webpack_require__, exports, module),
  7860. __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  7861. } else {}
  7862. }(this));
  7863. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "../../node_modules/webpack/buildin/module.js")(module), __webpack_require__(/*! ./../webpack/buildin/global.js */ "../../node_modules/webpack/buildin/global.js")))
  7864. /***/ }),
  7865. /***/ "../../node_modules/uc.micro/categories/Cc/regex.js":
  7866. /*!***************************************************************************!*\
  7867. !*** D:/web_src/4dkankan_v4/node_modules/uc.micro/categories/Cc/regex.js ***!
  7868. \***************************************************************************/
  7869. /*! no static exports found */
  7870. /***/ (function(module, exports) {
  7871. module.exports=/[\0-\x1F\x7F-\x9F]/
  7872. /***/ }),
  7873. /***/ "../../node_modules/uc.micro/categories/Cf/regex.js":
  7874. /*!***************************************************************************!*\
  7875. !*** D:/web_src/4dkankan_v4/node_modules/uc.micro/categories/Cf/regex.js ***!
  7876. \***************************************************************************/
  7877. /*! no static exports found */
  7878. /***/ (function(module, exports) {
  7879. module.exports=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/
  7880. /***/ }),
  7881. /***/ "../../node_modules/uc.micro/categories/P/regex.js":
  7882. /*!**************************************************************************!*\
  7883. !*** D:/web_src/4dkankan_v4/node_modules/uc.micro/categories/P/regex.js ***!
  7884. \**************************************************************************/
  7885. /*! no static exports found */
  7886. /***/ (function(module, exports) {
  7887. module.exports=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/
  7888. /***/ }),
  7889. /***/ "../../node_modules/uc.micro/categories/Z/regex.js":
  7890. /*!**************************************************************************!*\
  7891. !*** D:/web_src/4dkankan_v4/node_modules/uc.micro/categories/Z/regex.js ***!
  7892. \**************************************************************************/
  7893. /*! no static exports found */
  7894. /***/ (function(module, exports) {
  7895. module.exports=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/
  7896. /***/ }),
  7897. /***/ "../../node_modules/uc.micro/index.js":
  7898. /*!*************************************************************!*\
  7899. !*** D:/web_src/4dkankan_v4/node_modules/uc.micro/index.js ***!
  7900. \*************************************************************/
  7901. /*! no static exports found */
  7902. /***/ (function(module, exports, __webpack_require__) {
  7903. "use strict";
  7904. exports.Any = __webpack_require__(/*! ./properties/Any/regex */ "../../node_modules/uc.micro/properties/Any/regex.js");
  7905. exports.Cc = __webpack_require__(/*! ./categories/Cc/regex */ "../../node_modules/uc.micro/categories/Cc/regex.js");
  7906. exports.Cf = __webpack_require__(/*! ./categories/Cf/regex */ "../../node_modules/uc.micro/categories/Cf/regex.js");
  7907. exports.P = __webpack_require__(/*! ./categories/P/regex */ "../../node_modules/uc.micro/categories/P/regex.js");
  7908. exports.Z = __webpack_require__(/*! ./categories/Z/regex */ "../../node_modules/uc.micro/categories/Z/regex.js");
  7909. /***/ }),
  7910. /***/ "../../node_modules/uc.micro/properties/Any/regex.js":
  7911. /*!****************************************************************************!*\
  7912. !*** D:/web_src/4dkankan_v4/node_modules/uc.micro/properties/Any/regex.js ***!
  7913. \****************************************************************************/
  7914. /*! no static exports found */
  7915. /***/ (function(module, exports) {
  7916. module.exports=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/
  7917. /***/ }),
  7918. /***/ "../../node_modules/vue-style-loader/index.js?!../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css":
  7919. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  7920. !*** D:/web_src/4dkankan_v4/node_modules/vue-style-loader??ref--7-oneOf-1-0!D:/web_src/4dkankan_v4/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/stylePostLoader.js!D:/web_src/4dkankan_v4/node_modules/postcss-loader/src??ref--7-oneOf-1-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css ***!
  7921. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  7922. /*! no static exports found */
  7923. /***/ (function(module, exports, __webpack_require__) {
  7924. // style-loader: Adds some css to the DOM by adding a <style> tag
  7925. // load the styles
  7926. var content = __webpack_require__(/*! !../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css */ "../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css");
  7927. if(content.__esModule) content = content.default;
  7928. if(typeof content === 'string') content = [[module.i, content, '']];
  7929. if(content.locals) module.exports = content.locals;
  7930. // add the styles to the DOM
  7931. var add = __webpack_require__(/*! ../../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "../../node_modules/vue-style-loader/lib/addStylesClient.js").default
  7932. var update = add("1fde4b58", content, false, {"sourceMap":false,"shadowMode":false});
  7933. // Hot Module Replacement
  7934. if(false) {}
  7935. /***/ }),
  7936. /***/ "../../node_modules/vue-style-loader/index.js?!../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css":
  7937. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  7938. !*** D:/web_src/4dkankan_v4/node_modules/vue-style-loader??ref--7-oneOf-1-0!D:/web_src/4dkankan_v4/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/stylePostLoader.js!D:/web_src/4dkankan_v4/node_modules/postcss-loader/src??ref--7-oneOf-1-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css ***!
  7939. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  7940. /*! no static exports found */
  7941. /***/ (function(module, exports, __webpack_require__) {
  7942. // style-loader: Adds some css to the DOM by adding a <style> tag
  7943. // load the styles
  7944. var content = __webpack_require__(/*! !../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css */ "../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css");
  7945. if(content.__esModule) content = content.default;
  7946. if(typeof content === 'string') content = [[module.i, content, '']];
  7947. if(content.locals) module.exports = content.locals;
  7948. // add the styles to the DOM
  7949. var add = __webpack_require__(/*! ../../../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "../../node_modules/vue-style-loader/lib/addStylesClient.js").default
  7950. var update = add("569b660f", content, false, {"sourceMap":false,"shadowMode":false});
  7951. // Hot Module Replacement
  7952. if(false) {}
  7953. /***/ }),
  7954. /***/ "../../node_modules/vue-style-loader/index.js?!../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css":
  7955. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  7956. !*** D:/web_src/4dkankan_v4/node_modules/vue-style-loader??ref--7-oneOf-1-0!D:/web_src/4dkankan_v4/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/stylePostLoader.js!D:/web_src/4dkankan_v4/node_modules/postcss-loader/src??ref--7-oneOf-1-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css ***!
  7957. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  7958. /*! no static exports found */
  7959. /***/ (function(module, exports, __webpack_require__) {
  7960. // style-loader: Adds some css to the DOM by adding a <style> tag
  7961. // load the styles
  7962. var content = __webpack_require__(/*! !../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css */ "../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css");
  7963. if(content.__esModule) content = content.default;
  7964. if(typeof content === 'string') content = [[module.i, content, '']];
  7965. if(content.locals) module.exports = content.locals;
  7966. // add the styles to the DOM
  7967. var add = __webpack_require__(/*! ../../../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "../../node_modules/vue-style-loader/lib/addStylesClient.js").default
  7968. var update = add("444a8643", content, false, {"sourceMap":false,"shadowMode":false});
  7969. // Hot Module Replacement
  7970. if(false) {}
  7971. /***/ }),
  7972. /***/ "../../node_modules/vue-style-loader/index.js?!../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css":
  7973. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  7974. !*** D:/web_src/4dkankan_v4/node_modules/vue-style-loader??ref--7-oneOf-1-0!D:/web_src/4dkankan_v4/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/stylePostLoader.js!D:/web_src/4dkankan_v4/node_modules/postcss-loader/src??ref--7-oneOf-1-2!D:/web_src/4dkankan_v4/node_modules/cache-loader/dist/cjs.js??ref--1-0!D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist??ref--1-1!./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css ***!
  7975. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  7976. /*! no static exports found */
  7977. /***/ (function(module, exports, __webpack_require__) {
  7978. // style-loader: Adds some css to the DOM by adding a <style> tag
  7979. // load the styles
  7980. var content = __webpack_require__(/*! !../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./view.vue?vue&type=style&index=0&id=2357d8de&lang=css */ "../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css");
  7981. if(content.__esModule) content = content.default;
  7982. if(typeof content === 'string') content = [[module.i, content, '']];
  7983. if(content.locals) module.exports = content.locals;
  7984. // add the styles to the DOM
  7985. var add = __webpack_require__(/*! ../../../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js */ "../../node_modules/vue-style-loader/lib/addStylesClient.js").default
  7986. var update = add("ae1ab7c8", content, false, {"sourceMap":false,"shadowMode":false});
  7987. // Hot Module Replacement
  7988. if(false) {}
  7989. /***/ }),
  7990. /***/ "../../node_modules/webpack/buildin/module.js":
  7991. /*!***********************************!*\
  7992. !*** (webpack)/buildin/module.js ***!
  7993. \***********************************/
  7994. /*! no static exports found */
  7995. /***/ (function(module, exports) {
  7996. module.exports = function(module) {
  7997. if (!module.webpackPolyfill) {
  7998. module.deprecate = function() {};
  7999. module.paths = [];
  8000. // module.parent = undefined by default
  8001. if (!module.children) module.children = [];
  8002. Object.defineProperty(module, "loaded", {
  8003. enumerable: true,
  8004. get: function() {
  8005. return module.l;
  8006. }
  8007. });
  8008. Object.defineProperty(module, "id", {
  8009. enumerable: true,
  8010. get: function() {
  8011. return module.i;
  8012. }
  8013. });
  8014. module.webpackPolyfill = 1;
  8015. }
  8016. return module;
  8017. };
  8018. /***/ }),
  8019. /***/ "./src/app/program/views/help/index.vue":
  8020. /*!**********************************************!*\
  8021. !*** ./src/app/program/views/help/index.vue ***!
  8022. \**********************************************/
  8023. /*! exports provided: default */
  8024. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8025. "use strict";
  8026. __webpack_require__.r(__webpack_exports__);
  8027. /* harmony import */ var _index_vue_vue_type_template_id_7a83fa77_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=7a83fa77&scoped=true&ts=true */ "./src/app/program/views/help/index.vue?vue&type=template&id=7a83fa77&scoped=true&ts=true");
  8028. /* harmony import */ var _index_vue_vue_type_script_setup_true_lang_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&setup=true&lang=ts */ "./src/app/program/views/help/index.vue?vue&type=script&setup=true&lang=ts");
  8029. /* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_7a83fa77_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css */ "./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css");
  8030. /* harmony import */ var D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/exportHelper.js */ "../../node_modules/vue-loader-v16/dist/exportHelper.js");
  8031. /* harmony import */ var D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__);
  8032. const __exports__ = /*#__PURE__*/D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3___default()(_index_vue_vue_type_script_setup_true_lang_ts__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_index_vue_vue_type_template_id_7a83fa77_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__["render"]],['__scopeId',"data-v-7a83fa77"],['__file',"src/app/program/views/help/index.vue"]])
  8033. /* hot reload */
  8034. if (false) {}
  8035. /* harmony default export */ __webpack_exports__["default"] = (__exports__);
  8036. /***/ }),
  8037. /***/ "./src/app/program/views/help/index.vue?vue&type=script&setup=true&lang=ts":
  8038. /*!*********************************************************************************!*\
  8039. !*** ./src/app/program/views/help/index.vue?vue&type=script&setup=true&lang=ts ***!
  8040. \*********************************************************************************/
  8041. /*! exports provided: default */
  8042. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8043. "use strict";
  8044. __webpack_require__.r(__webpack_exports__);
  8045. /* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_script_setup_true_lang_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/babel-loader/lib!../../../../../../../node_modules/ts-loader??ref--14-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./index.vue?vue&type=script&setup=true&lang=ts */ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/index.vue?vue&type=script&setup=true&lang=ts");
  8046. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_script_setup_true_lang_ts__WEBPACK_IMPORTED_MODULE_0__["default"]; });
  8047. /* empty/unused harmony star reexport */
  8048. /***/ }),
  8049. /***/ "./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css":
  8050. /*!******************************************************************************************************!*\
  8051. !*** ./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css ***!
  8052. \******************************************************************************************************/
  8053. /*! no static exports found */
  8054. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8055. "use strict";
  8056. __webpack_require__.r(__webpack_exports__);
  8057. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_7a83fa77_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/vue-style-loader??ref--7-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css */ "../../node_modules/vue-style-loader/index.js?!../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/index.vue?vue&type=style&index=0&id=7a83fa77&scoped=true&lang=css");
  8058. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_7a83fa77_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_7a83fa77_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
  8059. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_7a83fa77_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_7a83fa77_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  8060. /***/ }),
  8061. /***/ "./src/app/program/views/help/index.vue?vue&type=template&id=7a83fa77&scoped=true&ts=true":
  8062. /*!************************************************************************************************!*\
  8063. !*** ./src/app/program/views/help/index.vue?vue&type=template&id=7a83fa77&scoped=true&ts=true ***!
  8064. \************************************************************************************************/
  8065. /*! exports provided: render */
  8066. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8067. "use strict";
  8068. __webpack_require__.r(__webpack_exports__);
  8069. /* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_vue_loader_v16_dist_templateLoader_js_ref_7_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_template_id_7a83fa77_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/babel-loader/lib!../../../../../../../node_modules/ts-loader??ref--14-2!../../../../../../../node_modules/vue-loader-v16/dist/templateLoader.js??ref--7!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./index.vue?vue&type=template&id=7a83fa77&scoped=true&ts=true */ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/vue-loader-v16/dist/templateLoader.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/index.vue?vue&type=template&id=7a83fa77&scoped=true&ts=true");
  8070. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_vue_loader_v16_dist_templateLoader_js_ref_7_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_template_id_7a83fa77_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  8071. /***/ }),
  8072. /***/ "./src/app/program/views/help/mddoc/index.vue":
  8073. /*!****************************************************!*\
  8074. !*** ./src/app/program/views/help/mddoc/index.vue ***!
  8075. \****************************************************/
  8076. /*! exports provided: default */
  8077. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8078. "use strict";
  8079. __webpack_require__.r(__webpack_exports__);
  8080. /* harmony import */ var _index_vue_vue_type_template_id_77e42069_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=77e42069&scoped=true&ts=true */ "./src/app/program/views/help/mddoc/index.vue?vue&type=template&id=77e42069&scoped=true&ts=true");
  8081. /* harmony import */ var _index_vue_vue_type_script_setup_true_lang_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&setup=true&lang=ts */ "./src/app/program/views/help/mddoc/index.vue?vue&type=script&setup=true&lang=ts");
  8082. /* empty/unused harmony star reexport *//* harmony import */ var _index_vue_vue_type_style_index_0_id_77e42069_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css */ "./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css");
  8083. /* harmony import */ var D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/exportHelper.js */ "../../node_modules/vue-loader-v16/dist/exportHelper.js");
  8084. /* harmony import */ var D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__);
  8085. const __exports__ = /*#__PURE__*/D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3___default()(_index_vue_vue_type_script_setup_true_lang_ts__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_index_vue_vue_type_template_id_77e42069_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__["render"]],['__scopeId',"data-v-77e42069"],['__file',"src/app/program/views/help/mddoc/index.vue"]])
  8086. /* hot reload */
  8087. if (false) {}
  8088. /* harmony default export */ __webpack_exports__["default"] = (__exports__);
  8089. /***/ }),
  8090. /***/ "./src/app/program/views/help/mddoc/index.vue?vue&type=script&setup=true&lang=ts":
  8091. /*!***************************************************************************************!*\
  8092. !*** ./src/app/program/views/help/mddoc/index.vue?vue&type=script&setup=true&lang=ts ***!
  8093. \***************************************************************************************/
  8094. /*! exports provided: default */
  8095. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8096. "use strict";
  8097. __webpack_require__.r(__webpack_exports__);
  8098. /* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_script_setup_true_lang_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../../node_modules/babel-loader/lib!../../../../../../../../node_modules/ts-loader??ref--14-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./index.vue?vue&type=script&setup=true&lang=ts */ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/index.vue?vue&type=script&setup=true&lang=ts");
  8099. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_script_setup_true_lang_ts__WEBPACK_IMPORTED_MODULE_0__["default"]; });
  8100. /* empty/unused harmony star reexport */
  8101. /***/ }),
  8102. /***/ "./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css":
  8103. /*!************************************************************************************************************!*\
  8104. !*** ./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css ***!
  8105. \************************************************************************************************************/
  8106. /*! no static exports found */
  8107. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8108. "use strict";
  8109. __webpack_require__.r(__webpack_exports__);
  8110. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_77e42069_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/vue-style-loader??ref--7-oneOf-1-0!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css */ "../../node_modules/vue-style-loader/index.js?!../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/index.vue?vue&type=style&index=0&id=77e42069&scoped=true&lang=css");
  8111. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_77e42069_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_77e42069_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
  8112. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_77e42069_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_style_index_0_id_77e42069_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  8113. /***/ }),
  8114. /***/ "./src/app/program/views/help/mddoc/index.vue?vue&type=template&id=77e42069&scoped=true&ts=true":
  8115. /*!******************************************************************************************************!*\
  8116. !*** ./src/app/program/views/help/mddoc/index.vue?vue&type=template&id=77e42069&scoped=true&ts=true ***!
  8117. \******************************************************************************************************/
  8118. /*! exports provided: render */
  8119. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8120. "use strict";
  8121. __webpack_require__.r(__webpack_exports__);
  8122. /* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_vue_loader_v16_dist_templateLoader_js_ref_7_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_template_id_77e42069_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../../node_modules/babel-loader/lib!../../../../../../../../node_modules/ts-loader??ref--14-2!../../../../../../../../node_modules/vue-loader-v16/dist/templateLoader.js??ref--7!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./index.vue?vue&type=template&id=77e42069&scoped=true&ts=true */ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/vue-loader-v16/dist/templateLoader.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/index.vue?vue&type=template&id=77e42069&scoped=true&ts=true");
  8123. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_vue_loader_v16_dist_templateLoader_js_ref_7_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_index_vue_vue_type_template_id_77e42069_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  8124. /***/ }),
  8125. /***/ "./src/app/program/views/help/mddoc/slide.vue":
  8126. /*!****************************************************!*\
  8127. !*** ./src/app/program/views/help/mddoc/slide.vue ***!
  8128. \****************************************************/
  8129. /*! exports provided: default */
  8130. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8131. "use strict";
  8132. __webpack_require__.r(__webpack_exports__);
  8133. /* harmony import */ var _slide_vue_vue_type_template_id_788cadc8_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slide.vue?vue&type=template&id=788cadc8&scoped=true&ts=true */ "./src/app/program/views/help/mddoc/slide.vue?vue&type=template&id=788cadc8&scoped=true&ts=true");
  8134. /* harmony import */ var _slide_vue_vue_type_script_lang_ts_setup_true_name_md_tree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slide.vue?vue&type=script&lang=ts&setup=true&name=md-tree */ "./src/app/program/views/help/mddoc/slide.vue?vue&type=script&lang=ts&setup=true&name=md-tree");
  8135. /* empty/unused harmony star reexport *//* harmony import */ var _slide_vue_vue_type_style_index_0_id_788cadc8_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css */ "./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css");
  8136. /* harmony import */ var D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/exportHelper.js */ "../../node_modules/vue-loader-v16/dist/exportHelper.js");
  8137. /* harmony import */ var D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__);
  8138. const __exports__ = /*#__PURE__*/D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3___default()(_slide_vue_vue_type_script_lang_ts_setup_true_name_md_tree__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_slide_vue_vue_type_template_id_788cadc8_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__["render"]],['__scopeId',"data-v-788cadc8"],['__file',"src/app/program/views/help/mddoc/slide.vue"]])
  8139. /* hot reload */
  8140. if (false) {}
  8141. /* harmony default export */ __webpack_exports__["default"] = (__exports__);
  8142. /***/ }),
  8143. /***/ "./src/app/program/views/help/mddoc/slide.vue?vue&type=script&lang=ts&setup=true&name=md-tree":
  8144. /*!****************************************************************************************************!*\
  8145. !*** ./src/app/program/views/help/mddoc/slide.vue?vue&type=script&lang=ts&setup=true&name=md-tree ***!
  8146. \****************************************************************************************************/
  8147. /*! exports provided: default */
  8148. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8149. "use strict";
  8150. __webpack_require__.r(__webpack_exports__);
  8151. /* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_script_lang_ts_setup_true_name_md_tree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../../node_modules/babel-loader/lib!../../../../../../../../node_modules/ts-loader??ref--14-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./slide.vue?vue&type=script&lang=ts&setup=true&name=md-tree */ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/slide.vue?vue&type=script&lang=ts&setup=true&name=md-tree");
  8152. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_script_lang_ts_setup_true_name_md_tree__WEBPACK_IMPORTED_MODULE_0__["default"]; });
  8153. /* empty/unused harmony star reexport */
  8154. /***/ }),
  8155. /***/ "./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css":
  8156. /*!************************************************************************************************************!*\
  8157. !*** ./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css ***!
  8158. \************************************************************************************************************/
  8159. /*! no static exports found */
  8160. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8161. "use strict";
  8162. __webpack_require__.r(__webpack_exports__);
  8163. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_style_index_0_id_788cadc8_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/vue-style-loader??ref--7-oneOf-1-0!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css */ "../../node_modules/vue-style-loader/index.js?!../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/slide.vue?vue&type=style&index=0&id=788cadc8&scoped=true&lang=css");
  8164. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_style_index_0_id_788cadc8_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_style_index_0_id_788cadc8_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
  8165. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_style_index_0_id_788cadc8_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_style_index_0_id_788cadc8_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  8166. /***/ }),
  8167. /***/ "./src/app/program/views/help/mddoc/slide.vue?vue&type=template&id=788cadc8&scoped=true&ts=true":
  8168. /*!******************************************************************************************************!*\
  8169. !*** ./src/app/program/views/help/mddoc/slide.vue?vue&type=template&id=788cadc8&scoped=true&ts=true ***!
  8170. \******************************************************************************************************/
  8171. /*! exports provided: render */
  8172. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8173. "use strict";
  8174. __webpack_require__.r(__webpack_exports__);
  8175. /* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_vue_loader_v16_dist_templateLoader_js_ref_7_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_template_id_788cadc8_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../../node_modules/babel-loader/lib!../../../../../../../../node_modules/ts-loader??ref--14-2!../../../../../../../../node_modules/vue-loader-v16/dist/templateLoader.js??ref--7!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./slide.vue?vue&type=template&id=788cadc8&scoped=true&ts=true */ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/vue-loader-v16/dist/templateLoader.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/slide.vue?vue&type=template&id=788cadc8&scoped=true&ts=true");
  8176. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_vue_loader_v16_dist_templateLoader_js_ref_7_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_slide_vue_vue_type_template_id_788cadc8_scoped_true_ts_true__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  8177. /***/ }),
  8178. /***/ "./src/app/program/views/help/mddoc/view.vue":
  8179. /*!***************************************************!*\
  8180. !*** ./src/app/program/views/help/mddoc/view.vue ***!
  8181. \***************************************************/
  8182. /*! exports provided: default */
  8183. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8184. "use strict";
  8185. __webpack_require__.r(__webpack_exports__);
  8186. /* harmony import */ var _view_vue_vue_type_template_id_2357d8de_ts_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./view.vue?vue&type=template&id=2357d8de&ts=true */ "./src/app/program/views/help/mddoc/view.vue?vue&type=template&id=2357d8de&ts=true");
  8187. /* harmony import */ var _view_vue_vue_type_script_lang_ts_setup_true__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./view.vue?vue&type=script&lang=ts&setup=true */ "./src/app/program/views/help/mddoc/view.vue?vue&type=script&lang=ts&setup=true");
  8188. /* empty/unused harmony star reexport *//* harmony import */ var _view_vue_vue_type_style_index_0_id_2357d8de_lang_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./view.vue?vue&type=style&index=0&id=2357d8de&lang=css */ "./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css");
  8189. /* harmony import */ var D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! D:/web_src/4dkankan_v4/node_modules/vue-loader-v16/dist/exportHelper.js */ "../../node_modules/vue-loader-v16/dist/exportHelper.js");
  8190. /* harmony import */ var D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3__);
  8191. const __exports__ = /*#__PURE__*/D_web_src_4dkankan_v4_node_modules_vue_loader_v16_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_3___default()(_view_vue_vue_type_script_lang_ts_setup_true__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_view_vue_vue_type_template_id_2357d8de_ts_true__WEBPACK_IMPORTED_MODULE_0__["render"]],['__file',"src/app/program/views/help/mddoc/view.vue"]])
  8192. /* hot reload */
  8193. if (false) {}
  8194. /* harmony default export */ __webpack_exports__["default"] = (__exports__);
  8195. /***/ }),
  8196. /***/ "./src/app/program/views/help/mddoc/view.vue?vue&type=script&lang=ts&setup=true":
  8197. /*!**************************************************************************************!*\
  8198. !*** ./src/app/program/views/help/mddoc/view.vue?vue&type=script&lang=ts&setup=true ***!
  8199. \**************************************************************************************/
  8200. /*! exports provided: default */
  8201. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8202. "use strict";
  8203. __webpack_require__.r(__webpack_exports__);
  8204. /* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_script_lang_ts_setup_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../../node_modules/babel-loader/lib!../../../../../../../../node_modules/ts-loader??ref--14-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./view.vue?vue&type=script&lang=ts&setup=true */ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/view.vue?vue&type=script&lang=ts&setup=true");
  8205. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_script_lang_ts_setup_true__WEBPACK_IMPORTED_MODULE_0__["default"]; });
  8206. /* empty/unused harmony star reexport */
  8207. /***/ }),
  8208. /***/ "./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css":
  8209. /*!***********************************************************************************************!*\
  8210. !*** ./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css ***!
  8211. \***********************************************************************************************/
  8212. /*! no static exports found */
  8213. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8214. "use strict";
  8215. __webpack_require__.r(__webpack_exports__);
  8216. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_style_index_0_id_2357d8de_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/vue-style-loader??ref--7-oneOf-1-0!../../../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../../../../node_modules/postcss-loader/src??ref--7-oneOf-1-2!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./view.vue?vue&type=style&index=0&id=2357d8de&lang=css */ "../../node_modules/vue-style-loader/index.js?!../../node_modules/css-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/view.vue?vue&type=style&index=0&id=2357d8de&lang=css");
  8217. /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_style_index_0_id_2357d8de_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_style_index_0_id_2357d8de_lang_css__WEBPACK_IMPORTED_MODULE_0__);
  8218. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_style_index_0_id_2357d8de_lang_css__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_style_index_0_id_2357d8de_lang_css__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  8219. /***/ }),
  8220. /***/ "./src/app/program/views/help/mddoc/view.vue?vue&type=template&id=2357d8de&ts=true":
  8221. /*!*****************************************************************************************!*\
  8222. !*** ./src/app/program/views/help/mddoc/view.vue?vue&type=template&id=2357d8de&ts=true ***!
  8223. \*****************************************************************************************/
  8224. /*! exports provided: render */
  8225. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8226. "use strict";
  8227. __webpack_require__.r(__webpack_exports__);
  8228. /* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_vue_loader_v16_dist_templateLoader_js_ref_7_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_template_id_2357d8de_ts_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../../node_modules/babel-loader/lib!../../../../../../../../node_modules/ts-loader??ref--14-2!../../../../../../../../node_modules/vue-loader-v16/dist/templateLoader.js??ref--7!../../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../../../node_modules/vue-loader-v16/dist??ref--1-1!./view.vue?vue&type=template&id=2357d8de&ts=true */ "../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js?!../../node_modules/vue-loader-v16/dist/templateLoader.js?!../../node_modules/cache-loader/dist/cjs.js?!../../node_modules/vue-loader-v16/dist/index.js?!./src/app/program/views/help/mddoc/view.vue?vue&type=template&id=2357d8de&ts=true");
  8229. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_cache_loader_dist_cjs_js_ref_14_0_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_14_2_node_modules_vue_loader_v16_dist_templateLoader_js_ref_7_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_view_vue_vue_type_template_id_2357d8de_ts_true__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  8230. /***/ })
  8231. }]);
  8232. //# sourceMappingURL=22.js.map